Re: Ułamany pin w złączu IDE na dysku

Autor: Maciej W. Rozycki <macro_at_linux-mips.org>
Data: Thu 21 Sep 2006 - 13:32:23 MET DST
Message-ID: <Pine.LNX.4.64N.0609211201370.12030@blysk.ds.pg.gda.pl>
Content-Type: MULTIPART/MIXED; BOUNDARY="328795856-1262217747-1158838343=:12030"

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