poniedziałek, 15 listopada 2021 o 13:48:41 UTC-6 jedrek napisał(a):
> Czy jak na jednej tasmie wpiętej do kanału IDE ATA133 są zapięte 2 dyski
> "taśmowe" ATA jako Master i Slave i jest realizowane kopiowanie z jednego
> dysku na drugi to kanał teoretycznie ma przepustowość max tak jakby był to
> kanał ATA66? Bo prędkość kanału dzielone na 2 urządzenia?
Niekoniecznie.
Nie pamietam szczegolow ale jest mozliwe ze podczas komunikacji z jednym
urzadzeniem nie mozna wydawac polecen ani odbierac danych od drugiego.
Co powoduje ze jesli pierwszy dysk czeka na obrot talerza/przesuniecie glowicy,
zczytanie danych, zbuforowanie, rozpoczecie wysylania do hosta to OIDP nie
mozna drugiemu dyskowi powiedziec "naszykuj sie, zara twoja kolej".
> W czasach gdy królowały "taśmowe" kanały IDE na płytach głównych zalecało
> się, że jak chcemy mieć max prędkość na kanale IDE dla dysku, to na jednej
> taśmie może być wpięty tylko jedno urządzenie Master (a Slave nieobsadzone),
> bo inaczej pasmo będzie pochłaniać także pracujące na tym kanale urządzenie
> Slave (bo muszą pracować na przemian) i że dyski jak są dwa na pokładzie, to
> mają wisieć na osobnych kanałach.
Nie do konca tak bylo. Nie bylo roznicy przy podpieciu dysku jako master a
cdromu jako slave i posiadaniu calej wydajnosci dysku jak cdrom nic nie robil.
Dodatkowo nie bylo tez duzych problemow z wydajnoscia jak sie kopiowalo z
cdrom-u na dysk na tej samej tasmie.
Ale jak juz cdrom przyblokowal komunikacje bo dane nie naplywaly to juz w
zaleznosci od sterownika (na linuxie IMHO bylo nieco inaczej niz na windzie)
problem z dostepem do dysku byl obserwowalny.
Bez wczytania sie w dokumentacje ATA albo przecwiczenie tego na zywo bedzie
trudno potwierdzic jak powinno byc.
Tu jest jakas zajawka:
https://en.wikipedia.org/wiki/Parallel_ATA#Serialized,_overlapped,_and_queued_operations
Czyli w sumie zalezy od sprzetu i sterownika.
> Trudno to sprawdzić namacalnie gdy sam dysk ATA nie będąc z tych
> najszybszych, nie uzyskuje sam z siebie prędkości, które by wysycały kanała
> o teoretycznej przepustowości 133MB. Czyli jeżeli stary poczciwy dysk IDE o
> pojemności kilkadziesiąt GB, samodzielnie na kanale miał max osiągi ~30-60MB
> to czy zapinając dwa takie dyski na jednej taśmie będzie już wyczuwalne
> spowolnienie przesyłu względem gdyby oba były wpięte na osobnych kanałach
> (taśmach)?
Raczej nie. Dlatego w tamtych czasach sie temu zbytniej uwagi nie przykladalo.
Jakby dzisiejsze dyski podpiac to moze bylo by ciekawiej.
Od biedy mozna np. hdparm-em -T przetestowac przesyl z cache dysku. Tyle
powinno wystarczyc aby potwierdzic teorie.
> Czy raczej przepustowość magistrali 133MB gwarantuje tutaj zapas
> nawet gdy taśma jest dzielona na 2 urzędzenia? Czy raczej dochodzi tutaj
> jeszcze problem, że jak dane urządzenie IDE wymusi niski numer UDMA na takim
> kanale, np zgłosi jest jako UDMA-3, czyli teoretyczna przepustowość 44,4MB
> to dopiero to jest jeszcze dzielone przez 2 jak są dwa zapięte urządzenia?
> Kanał pracuje z przepływnością jaką wymusza najwolniejsze urządzenie na
> taśmie i z teoretycznej 133 robi się max 44,4MB, które potem trzeba jeszcze
> rozdzielić po połowie na dwa zapisująco/doczytujące dyski na tej samej
> taśmie? Czy raczej kanał sobie pracuje zawsze z możliwą max prędkością
> 133MB, a co najwyżej wolniejsze urządzenie samo z siebie jest ograniczeniem,
> a magistrala w związku z tym zawsze ma zapas pasma, bo wolniejsze urządzenie
> go nie pochłonęło? Czy raczej zmieniają się zegary na taśmie i dane już są
> pchane zawsze wolniej i nigdy sumarycznie nie da się szybciej pchać kanałem
> niż ustali to najwolniejsze urządzenie?
Kanaly pracuja niezaleznie. Czyli mozna miec szybki cdrom na udma66 i jakis
stary dysk bez zadnego dma i kazde bedzie rpacowac tak szybko jak pozwala
aktualny konfig dla danego urzadzenia.
Nie pamietam przypadku kiedy jeden dysk powodowal problemy drugiemu. Pewnie to
mozliwe ale nie spotkalem a troche gratow mi przez rece przeszlo.
Czyli podsumowujac:
W praktyce tasma jest wirtualnie przepinana miedzy master i slave i jak jedno
urzadzenie z niej korzysta to musi wykonac caly rozkaz i zwrocic kontrole do
hosta ktory nastepnie komunikuje sie z drugim urzadzeniem na jego maksymalnej
ustalonej predkosci.
A pojedynczym "pakietem" jest rozkaz przy czym TCQ pozwala na wysylanie
rozkazow, ich szybkie zakonczenie a nastepnie odpytanie przez hosta czy ten
zakolejkowany rozkaz rzeczywiscie juz zostal wykonany i odebranie rezultatu. W
miedy czasie mozna bylo wepchnac jakies zadanie drugiemu dyskowi.
Tyle ze to chyba bylo bardzo niepopularne.
Bo w zastosowaniach domowych tego sie ani nie oczekiwalo ani nie widac bylo w
oferowanych ficzerach a w serwerowych krolowalo scsi.
Ta specyficzna nisza ATA/PATA ktora gdzies tam sie na serwerach uchowala nie
byla zbyt popularna aby mozna bylo stwierdzic czy to pomaga.
A jak pojawilo sie sata i pozniejsi koledzy to juz byly inne czasy i dyski
staly sie nieco madrzejsze. Ale to juz inna historia.
Nie wiem czy pomoglem ale w zastosowaniach domowych raczej nie bylo widac
spowolnien spowodowanych interakcja na tasmie. Dlatego popularne bylo wtedy
albo kopiowanie przez ram (byly do tego wtyczki w total commanderze) albo z
dysku A na dysk B i spowrotem na dysk A bo tak bylo szybciej niz windowsiane
kopiowanie z skakaniem glowicami (obserwowalne chyba az do win7, moze pozniej
tez)
|