W dniu 20.07.2009 20:24, Alojzy Zakalec pisze:
> tak więc polecenia, sumy kontrolne i adresy - i to zjada 35%
> transferu???
> trochę wątpliwe, najwyżej 2% - przecież to tylko dane sterujące, kilka
> rzędów wielkości mniej danych niż te z "pamięci" *masowej* w końcu!
Ale odczytanie jednego bloku o rozmiarze max 64 KiB wymaga
zaprogramowania kilkunastu rejestrów kontrolera IDE i mostka
IDE na płycie głównej. A jak czytasz dane mniejszymi blokami
(na przykład tylko pojedynczymi stronami po 4 KiB), to na
każdą taką stronę musisz na nowo zrealizować programowanie.
Poza tym dysk nie odpowiada danymi od razu, tylko przez kilka
cykli magistrali sprawdza w pamięci cache czy dany blok jest
już dostępny, czy trzeba go sprowadzić z nośnika, i tak dalej.
A jak już odpowie blokiem danych, to przez chwilę znowu ma-
gistrala IDE jest bezczynna w czasie, gdy procedura obsługi
przerwania w systemie operacyjnym przygotowuje kolejną ope-
rację odczytu bloku.
To nie jest bezpośrednio adresowalna pamięć RAM, gdzie wysta-
wiasz adres wiersza i kolumny i po określonym czasie odczytu-
jesz słowo. To rozbudowany interfejs komunikacyjny, a do te-
go host nie wie nigdy w jakim stanie tak naprawdę jest dysk
i czego będzie potrzebował za chwilę.
-- |""""""""""""""""""""""""""""""""""""""""""""""""""""""""""| | Radosław Sokół | http://www.grush.one.pl/ | | | Politechnika Śląska | \................... Microsoft MVP ......................../Received on Mon Jul 20 21:10:04 2009
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Mon 20 Jul 2009 - 21:51:07 MET DST