182896. lajstromszámú szabadalom • Illesztőegység nagysebességű, bitsoros hozzáférésű perifériák és digitális számítógépek ki-, beviteli csatornáinak összekapcsolására
1 182 896 2 diszk címet az újonnan érkezettel, és amennyiben változás történt, akkor ezt kimenetén jelezze. Ez a jelzés teszi lehetővé a diszk szinkronizáló hálózat elindítását, amelynek az a feladata, hogy összeszinkronizálja az illesztőegységet az aktuális diszkkel. A perifériák közvetlen vezérlését a következő egységek bonyolítják le. A soros adatátvitel lebonyolítását egy számlálólánc segíti. Ez a számlálólánc a következő számlálókból van felépítve; Byte-számláló, szektorszámláló és sávszámláló. Az egész számlálólánc tulajdonképpen a diszk felől jövő ütemező órajelet számlálja. A byte-számláló megint csak két részből áll. Az első rész kimenőjelet ad minden egyes beérkezett byte után, a második rész kimenőjelet szolgáltat minden egyes átvitt szektor után. Ezen második rész generálja még azokat a kimenő jeleket, amelyek ahhoz szükségesek, hogy minden egyes szektorban a szektor végén a két paritásbyte-ot fel lehessen ími a diszkre, illetve azokat onnan vissza lehessen olvasni. A szektor és a sávszámláló soros számláló bemeneteken kívül rendelkezik még párhuzamos információs bemenetekkel is. Ezen bemenetek a kimenő adatpuffer kimenetére csatlakoznak. „Pozicionálás” parancs esetén a kimenő pufferben levő adatot, azaz sáv-, illetve szektorcímet ilymódon lehet beírni mindig a megfelelő számlálóba. Az előbb említett számlálólánc természetesen csak adatátvitel alatt működik. A szektorszámláló kimenete a szektor cím komparátor, egyik bemenetére csatlakozik, ezen komparátor másik bemenete a vezérlő szektor számláló kimenete. A vezérlő szektor számlálónak az a feladata, ahogy az éppen hozzárendelt diszk szektorjeleit állandóan számolja, és ilymódon kimenete állandóan jelezze, hogy éppen melyik szektor tartózkodik a fejek alatt. Ez a számláló csak a diszk-váltás szinkronizálás ideje alatt áll. A szektor cím komparátor kimenete a szektor cím hiba detektor bemenetére csatlakozik. Ennek a detektornak két kimenőjele van: az egyik azt jelzi, hogy a keresett szektor most éppen a fejek alatt tartózkodik, a másik, a hiba kimenete pedig érzékelés (sense) informá ciót jelent, azaz a keresett szektor egy teljes sáv alatt sem volt található. A sávszámláló párhuzamos információs kimenete egyrészt a sávcím démultiplexe rre, másrészt a zónavédelem detektorra csatlakozik. A sávcím demulti plexer az aktuális sávcímet az éppen kiválasztott diszk fejkiválasztó logikájához juttatja. A zónavédelem detektor másik bemenetét a „védett zóna multiplexer” kimenete adja. A „védett zóna multiplexer” az éppen kiválasztott diszkről jövő „védett zóna” információt szolgáltatja. A zónavédelem detektor kimenete két „érzékelés” (sense) információt jelentő hibajelző flip-flop bemenetét is jelenti. Ezen két flip-flop közül az egyik azt figyeli, hogy folyamatos írás közben tiltott zónába értünk-e, míg a másik azt, hogy a csatorna által kijelölt sáv és szektorcím nem esik-e valamelyik védett zónába. Amennyiben ezek után egy kezdeti kiválasztásban „írás” parancs érkezik az illesztőegységhez, ezen második flip-flop azonnal bebillen és ilymódon lehetetlenné teszi, hogy a tiltott adatátvitel elkezdődhessen. A sávszámláló soros kimenete a „diszk vége” detektorra csatlakozik. Ezen detektor is tulajdonképpen hibajelző flip-flop, amelynek az a feladata, hogy jelezze: az éppen kiválasztott diszken már nincs több hely adatátvitel céljára. Ez a hiba többféle módon állhat elő. Egyrészt elképzelhető folyamatos írás, vagy i folyamatos olvasás közben, másrészt, ha az előzőekben megkezdett írás vagy olvasás éppen a diszk végéig tart, és ezek után a csatorna egy újabb parancs keretében, 5 10 15 20 25 30 35 40 45 50 55 60 65 „pozicionálás” parancs nélkül kíván adatávitelt kezdeményezni. Ezért a „diszk vége” detektornak két kimenete van. Az egyik csak a diszk végének az elérését jelzi, a másik pedig a hibajelző (sense) flip-flop kimenet. Amennyiben a megkezdett írás vagy olvasás éppen a diszk végénél fejeződik be, és ezek után újabb „írás” vagy „olvasás” parancs érkezik, akkor a hibajelző flip-flop is be fog billenni. Amennyiben „pozicionálás” parancs érkezik, a diszk végét jelző kimenet is letörlődik. Az írás és olvasás esetét is meg kell különböztetni. írás esetén ugyanis a csatorna - tekintettel arra, hogy egy adattal mindig előbbre tart - még idejében tudja jelezni az adatátvitel végét, azaz a diszk vége előtti leállás detektálható a fizikai diszkvég elérése előtt. Olvasás esetében azonban pont fordított a helyzet, a csatorna mindig egy adattal késik az illesztőegységhez képest. Ezért olvasás esetén csak akkor szabad a hibajelző flip-flopot bebillenteni, ha a diszk vége utáni első olvasott byte is adatátviteli byte volt. Ennek tényét az „első olvasott byte kész” logika jelzi. Az első olvasott byte itt mindig a szektoron belüli első olvasott byte-ot jelenti. Az „első olvasott byte” logika kimenete egyrészt a „diszk vége” detektorhoz csatlakozik, másrészt pedig törli a byte-számlálókat. Az adatátvitel lebonyolítása a következő módon történik. A csatomaoldali aszinkron adatátvitelt vezérlő egység információja alapján az „írás”, illetve „olvasás” üzemmódot kijelölő logika, bebillenti a megfelelő vezérlőjeleket a diszk számára. írás esetén a csatornától jövő byte először a már említett kimenő adatpufferbe kerül. Innen a kimenő byte multiplexeren keresztül párhuzamosan beíródik a párhuzamos-soros átalakítást végző shift-regiszterbe. A shift-regiszterből az információt a diszk ütemező órajele tolja ki. Az adatátvitel alatt a szektorok páros, illetve páratlan számú byte-jaiban található logikai egyeseket egy úgynevezett „páros paritásszámláló” és egy úgynevezett „páratlan paritásszámláló” számlálja. Amikor a byte-számláló jelzi, hogy elértük a szektor végét, akkor egymás után ezeknek a számlálóknak a tartalma íródik be párhuzamosan a shift-regiszterbe és íródik fel a diszkre. A számlálókat és a kimenő byte multiplexert a paritásvezérlő egység irányítja. Olvasás esetén a shift-regiszter soros bemenetére érkezik a diszkről a bitsoros információ. Minden nyolcadik bit után a párhuzamos információ a shift-regiszter párhuzamos kimenetéről bekerül a bemenő adatbyte pufferbe. A shift-regisztert és a bemenő adatbyte puffert a shift-regiszter vezérlő logika irányítja. A bemenő byte multiplexer kimenete csatlakozik a paritáskomparátor bemenetére. A paritáskomparátor másik bemenetére a kimenő byte multiplexer csatlakozik. Ilymódon lehetséges az, hogy olvasás esetén a szektor két utolsó byte-jának, azaz a,két paritás byte-nak beolvasásakor a kimenő byte multiplexert úgy vezéreljük, hogy a megfelelő paritás byte számlálók kimenete kerüljön a paritáskomparátor másik bemenetére. A paritáskomparátor kimenete a „paritáshiba a diszken” detektorra csatlakozik. Ez a detektor azt jelzi, hogy a felírt paritás byte nem egyezik meg a szektor visszaolvasásakor generált paritás byte-tal. A bemenő byte puffer kimenete csatlakozik még a már említett fő bemenő multiplexer egyik információs bemenetére is. Ilymódon válik lehetővé, hogy az információ bejusson a megfelelő csatornára. A bemenő byte puffer kimenete harmadrészt viszont az adatbyte kijelző multiplexerre csatlakozik. Ezen multiplexer másik bemenetére a kimenő adatbyte puffer van kötve. Erre azért van szükség, hogy mindig az 3