On Thu, 21 Sep 2006, Radosław Sokół wrote:
> Dopiero w trybie DMA zaczyna być ciekawiej, bo oprogramowanie,
> zanim wyśle kontrolerowi IDE polecenie odczytania danych z
> dysku i blokowego przesłania ich do pamięci, musi zaprogra-
> mować host-adapter, by blok danych umieścił w wybranym miejscu
> pamięci. Sam kontroler tego zrobić nie może, bo ma do dyspo-
> zycji tylko kilka linii adresowych (nawet z multipleksowaniem
> linii danych byłoby tego z 20), a do adresowania pamięci
> potrzeba ich tak z 35 w zasadzie. Więc programuje się host-
> adapter na pośrednictwo i wtedy każe kontrolerowi wykonać
> rozkaz.
Nawet w przypadku DMA zarzadzaniem transmisja nie musi sie zajmowac
sprzet znajdujacy sie na karcie host-adaptera -- to zalezy jedynie od
protokolu zarzadzania magistrala hosta. Np. dla magistrali EISA
transmisja DMA z urzadzeniem ATA (poprzez host-adapter) odbywa sie za
posrednictwem systemowego kontrolera DMA (ktory jest 32-bitowa,
rozbudowana wersja ukladu 8237A) -- jest to tzw. third-party DMA (DMA
realizowane przez trzecia strone). Z kolei magistrala PCI nie przewiduje
third-party DMA, a jedynie bus-master (first-party) DMA, czyli kazde
urzadzenie majace samodzielnie adresowac zasoby systemu musi byc
wyposazone we wlasny kontroler DMA.
W kazdym przypadku sygnaly zadania i potwierdzenia DMA -- DMARQ i DMACK
-- sa nadawane i odbierane, odpowiednio, poprzez samo urzadzenie ATA, zas
host-adapter przekazuje je niezmienione do kontrolera DMA.
Maciej
Received on Thu Sep 21 13:35:10 2006
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Thu 21 Sep 2006 - 13:51:28 MET DST