Modalitatea în care datele sunt transferate în memorie determină viteza efectivă a combinaţiei controler + disc dur. Sunt folosite patru metode:
- Programmed I/O - Cu aceasta metodă, porturile controlerului au grijă atât de comenzile drive-ului cât şi de transferul de date între controler şi memorie. Se folosesc comenzile IN şi OUT ale limbajului de asamblare. Aceasta înseamnă că fiecare octet este transferat prin intermediul procesorului. La această metodă viteza datelor este limitată de cea a bus-ului PC şi de performanţa procesorului.
- Memory Mapped I/O - Procesorul poate procesa datele provenite dintr-un controler de disc mult mai repede dacă sunt stocate într-o regiune fixă de memorie. Pentru acest scop este folosit în general segmentul localizat deasupra memoriei video RAM. Datele sunt transferate cu ajutorul instrucţiunii de transfer (mov în cazul arhitecturii x86). Este mai rapidă decat metoda precedentă.
- Direct Memory Access (DMA) - Folosind DMA, un dispozitiv poate transfera datele direct în memorie, fără contribuţia procesorului. Pentru a folosi DMA, un program trebuie să îi precizeze controlerului DMA mărimea în octeţi (baiţi) a pachetului de date ce urmează a fi transferat dintr-o locaţie într-alta. Totuşi, controlerul DMA dintr-un PC este inflexibil şi lent. Controlerele DMA operează la viteza (tactul) de 4 MHz, în concluzie sunt extrem de lente.
- Busmaster DMA - Folosind această metodă, controlerul discului dur deconectează procesorul de la bus şi transferă el însuşi datele în memorie.
Комментариев нет:
Отправить комментарий