FI78994B - Distribuerad prioritetsnaetslogik foer att moejliggoera att en enhet med laegre prioritet befinner sig i en position foer hoegre prioritet. - Google Patents
Distribuerad prioritetsnaetslogik foer att moejliggoera att en enhet med laegre prioritet befinner sig i en position foer hoegre prioritet. Download PDFInfo
- Publication number
- FI78994B FI78994B FI834657A FI834657A FI78994B FI 78994 B FI78994 B FI 78994B FI 834657 A FI834657 A FI 834657A FI 834657 A FI834657 A FI 834657A FI 78994 B FI78994 B FI 78994B
- Authority
- FI
- Finland
- Prior art keywords
- unit
- signal
- bus
- priority
- bus line
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims description 82
- 230000004044 response Effects 0.000 claims description 61
- 238000012546 transfer Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims 3
- 238000010168 coupling process Methods 0.000 claims 3
- 238000005859 coupling reaction Methods 0.000 claims 3
- 230000002401 inhibitory effect Effects 0.000 claims 2
- 230000000903 blocking effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 33
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 30
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 30
- 230000008859 change Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000012905 input function Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000005764 inhibitory process Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000002498 deadly effect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- -1 WAIT Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/37—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/378—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a parallel poll method
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
1 7 8.9 9 4
Hajautettu prioriteettiverkkoloqiikka alemman prioriteetin yksikön sallimiseksi sijaita korkean prioriteetin asemassa.
- Distribuerad prioritetnätslogik för att möjliggöra att en enhet med lägre prioritet befinner sig i en position för högre prioritet.
Keksinnön tausta Keksinnön alue Tämän keksinnön mukainen laite liittyy yleisesti tietojenkäsittelyjärjestelmiin ja tarkemmin sanottuna prioriteettiverkkoon siirtosyklien antamiseksi yhteisväylälle, joka kytkee useita vksiköitä tällaiseen järjestelmään.
Tekniikan taso Tämän keksinnön mukainen laite on parannus prioriteettilogiik-kaan, jota on selitetty patenttijulkaisussa US 4 096 569 (julkaistu 20.6.1978), joka oli parannus prioriteettilogiikkaan, jota on selitetty patenttijulkaisussa US 4 030 075 (julkaistu 14.6.1977); nämä patentit sisällytetään tähän viittauksella. Näiden patenttien esittämä prioriteettiverkkoon sisältyvä prio-riteettilogiikka on hajautettu kuhunkin yhteisväylään kytket-tyyn yksikköön niin, että se mahdollistaa prioriteetin määrittämisen ja sillä tavalla myöntää väyläsyklin luvan korkeimman prioriteetin kyselevälle yksikölle ilman, että tarvitaan väylä-monitoria esimerkiksi keskusyksikössä, joka voi olla yksi väylään kytketyistä yksiköistä. Kukin tällainen prioriteettilo-oiikka sisältää kolme bistabiilia (kaksi vakaata) elementtiä, joista yksi toimii sisäisen kyselyn osoittimena koskien väylän käyttöä, toinen ilmaisee väylällä, että sisäinen kysely on tehty ja viimeinen on varattu osoittamaan, että väyläsykli on myönnetty tälle yksikölle. Vain yhdellä tällaisen yksikön prio-riteettilogiikalla voi olla ns. histabiili elementtinsä osoit- 2 78994 tantassa, että väyläsykli on myönnetty. Useamman kuin yhden yksikön prioriteettilogiikalla voi olla niiden ns. bistabiili kyselyelementtinsä asetettuna osoittamaan, että ne haluavat väyläsyklejä. Tyypillisesti toiselle yksikölle informaatiota siirtävä yksikkö vastaanottaa vasteen (response). Tällainen vaste voi olla joko signaali, joka osoittaa, että siirretty informaatio on hyväksytty (ACK-signaali), että siirrettyä informaatiota ei ole hyväksytty (NACK-signaali) tai signaali, joka osoittaa, ettei vastaanottava yksikkö ole hyväksynyt informaatiota, mutta että vastaanottavalle yksikölle tulee mahdolliseksi vastaanottaa tämä informaatio mahdollisesti seuraavan väylä-syklin aikana (WAIT-signaali). Edellä mainitussa patentissa US 4 030 075 on osoitettu, että vasteena johonkin näistä signaaleista voidaan ns. bistabiili lupaelementti, joka on asetettu (set) , palauttaa alkutilaansa (reset) niin, että kukin väylän yksikkö voi taas rinnakkaisesti yrittää anoa pääsyä väylälle, välttäen siten tilanteen, jossa yksi yksikkö, jolle oli aikaisemmin myönnetty pääsy väylälle, ei pysty anomaan tätä pääsyä ennen kuin sen vastaanottava yksikkö vastaa osoittaen, että se on vastaanottanut informaation. Edellä mainitussa patentissa US 4 030 075 osoitettiin, että ns. ACK- tai NACK-signaalit aiheuttaisivat ns. bistabiilin kyselyelementin palautumisen alkutilaansa tai nollauksen. Kuitenkin palautettaessa bistabiili ky-selyelementti näin alkutilaansa on tärkeää, että vain se yksikkö, jolla oli bistabiili lupaelementtinsä asetettuna, saa bistabiilin kyselyelementtinsä palautetuksi alkutilaansa. Muutoin tulisi jokainen bistabiileista kyselyelementeistä jokaisessa yksikössä palautetuksi alkutilaansa. Tämä vaatisi sitten, että kullakin näistä yksiköistä, joilla ei ollut bistabiilia lupa-elementtiään asetettuna, olisi ns. bistabiili kyselyelementtinsä jälleen asetettuna. Tällaisen toiminnan välttämiseksi oli välttämätöntä sisällyttää logiikka, jolla yksikkö näin asettaessaan ns. bistabiilin lupaelementtinsä muistaa tällaisen toimenpiteen. Tämä vaatii lisälogiikan järjestelmään ja siis pidettiin toivottavana eliminoida tällainen lisälogiikka vähen 3 78994 täen sillä tavalla tilan ja tehon tarvetta järjestelmässä samalla kun säilytetään prioriteettilogiikka, joka oli hajautettu, luonteeltaan asynkroninen ja pitää yllä järjestelmän vaatiman nopeuden.
Patentin US 4 096 569 tarkoituksena oli lisäksi tarjota parannettu prioriteettilogiikka käytettäväksi tietojenkäsittelyjärjestelmässä, jossa on monia yksiköitä kytkettynä yhteisväylään. Patentissa US 4 096 569 kukin tällainen prioriteettilogiikka sisälsi ensimmäisen bistabiilin elementin sen asynkroniseen osoittamiseen että kyseessä oleva yksikkö on valmis siirtämään informaatiota väylälle, toisen bistabiilin elementin, joka vastaa ensimmäiselle bistabiilille elementille ensimmäisen signaalin synnyttämisestä väylällä osoittaen jokaiselle yksikölle että ko. yksikkö on valmis siirtämään informaatiota väylälle, laitteen, joka vastaa toiselle bistabiilille elementille kussakin yksikössä, jolla on korkeampi prioriteetti kuin ko. yksiköllä sen osoittamiseksi, että ko. yksikkö on korkeimman prioriteetin asemassa ja kolmannen bistabiilin elementin, joka vastaa toisen bistabiilin elementin synnyttämälle ensimmäiselle signaalille ja osoitus siitä, että ei ole mitään korkeamman prioriteetin yksikköä valmiina siirtämään informaatiota väylälle, toisen signaalin synnyttämistä varten väylällä. Edelleen esitettiin laite, joka vastaa väylältä tulevan toisen signaalin vastaanottamiseen poimintasignaalin synnyttämistä varten informaation vastaanottamisen mahdollistamiseksi ko. yksiköltä ja edelleen laite, joka vastaa kuittaukseen, että informaatio on vastaanotettu ko. yksikön kolmannen bistabiilin elementin estämistä varten.
Esitettiin edelleen logiikka, joka reagoi kolmannen bistabiilin elementin estämiseen, joka elementti on tarkoitettu ko. yksikön toisen bistabiilin elementin estämiseen, joka ko. yksikkö on ainoa yksikkö, jonka kolmas bistabiili elementti asetettiin.
4 78994
Hajautettu tie-breaking-verkko tarjoaa toiminnon väyläsyklien myöntämiseksi ja samanaikaisten väylän käyttökyselyjen ratkaisemiseksi. Molemmissa patenteissa US 4 096 569 ja US 4 030 075 prioriteetti myönnetään fyysisen aseman mukaisesti väylällä ja matalin prioriteetti annetaan väylän viimeiselle yksikölle. Logiikka, joka toteuttaa tie-breaking-toiminnon on hajautettu yhtäläisesti kaikkiin väylään kytkettyihin yksikköihin. Tyypillisessä järjestelmässä muistille myönnetään korkein prioriteetti ja keskusyksikölle (CPU) myönnetään matalin prioriteetti, koska sillä on pienin reaaliaikapakko suhteessa muihin yksiköihin, joiden asema määräytyy niiden suorituskykyvaatimusten perusteella.
CPU on kuitenkin yhteisväylän suurin käyttäjä ja järjetelmän suorituskyvyn parantamiseksi on toivottavaa sijoittaa se niin lähelle muistia kuin mahdollista. Tämän keksinnön kohteena on siis esittää parannettu prioriteettilogiikka, joka sallii matalimman prioriteetin yksikön olla sijoitettuna yhteisväylälle sellaiseen asemaan, joka on muu kuin viimeisen yksikön asema.
Keksinnön kohteet Tämän keksinnön kohteena on siis esittää prioriteettilogiikka, joka sallii matalimman prioriteetin yksikön olla yhteisväylälle fyysisesti sijoitettuna asemaan, joka on muu kuin se asema, jossa matalimman prioriteetin yksikkö tavallisesti on.
Tämän keksinnön kohteena on edelleen esittää kustannuksiltaan edullinen prioriteettilogiikka.
Oheisissa patenttivaatimuksissa on keksintö osoitettu yksityiskohdittain. Tämän keksinnön yllämainitut ja muut kohteet ja edut voidaan ymmärtää viittaamalla seuraavaan selitykseen yhdessä piirrosten kanssa.
5 78994
Keksinnön yhteenveto Tämä keksintö esittää parannetun prioriteettilogiikan, joka on tarkoitettu tietojenkäsittelyjärjestelmään, jossa on suuri määrä yksiköitä siirtämässä informaatiota yhteisväylällä kunkin yksikön ollessa kykenevä sekä siirtämään ja vastaanottamaan tai pelkästään joko siirtämään tai vastaanottamaan informaatiota. Tällainen prioriteetilogiikka sisältyy hajautettuun prioriteet-tiverkkoon, jossa prioriteetti normaalisti määräytyy fyysisen aseman mukaan väylällä ja jossa tällainen prioriteettilogiikka sisältyy vähintään yhteen yksiköistä, jotka on kytketty yhteisväylään. Kukin tällainen parannettu prioriteettilogiikka sisältää yhden ensimmäisen bistabiilin elementin sen asynkroniseen osoittamiseen, että kyseessä oleva yksikkö on valmis siirtämään informaatiota väylällä? yhden toisen bistabiilin elementin, joka vastaa ensimmäiselle bistabiilille elementille; laitteen, joka reagoi ensimmäiseen väylältä tulevaan signaaliin, joka osoittaa vähintään yhden väylän yksikön olevan valmis siirtämään informaatiota väylälle; toisen bistabiilin elementin ensimmäisen signaalin synnyttämiseen väylällä, tämän signaalin osoittaessa kullekin yksikölle, että ko. yksikkö on valmis siirtämään informaatiota väylälle ellei mikään toinen yksikkö ole jo osoittamassa, että se on valmis lähettämään informaatiota; laitteen, joka vastaa kunkin sellaisen yksikön toiselle bistabiilille elementille, jolla on korkeampi prioriteetti kuin ko. yksiköllä sen osoittamiseksi, että ko. yksiköllä on korkein prioriteetti ja kolmas bistabiili elementti, joka reagoi ensimmäiseen signaaliin, jonka toinen bistabiili elementti on synnyttänyt, ja osoitus, ettei ole mitään muuta korkeampi priori-teettista yksikköä valmiina siirtämään informaatiota väylälle toisen signaalin synnyttämiseksi väylällä. Edelleen on laite, joka reagoi toisen signaalin vastaanottamiseen väylältä poimin-tasignaalin synnyttämiseksi informaation vastaanottamisen mahdollistamiseksi ko. yksiköltä ja edelleen laite, joka reagoi näin vastaanotetun informaation vastaanottoilmoitukseen ko.
6 78994 yksikön kolmannen bistabiilin elementin estämiseksi. Edelleen esitetään logiikka, joka reagoi kolmannen bistabiilin elementin estämiseen ko. yksikön toisen bistabiilin elementin estämiseksi varauksitta. Edelleen esitetään logiikka, joka reagoi kolmannen bistabiilin elementin estämiseen, joka on tarkoitettu ko. yksikön ensimmäisen bistabiilin elementin estämiseksi, jos vastaanottava yksikkö olisi valmis vastaanottamaan informaatiota väylältä ja mainitun ensimmäisen bistabiilin elementin sallimiseksi jatkaa sen osoittamista, että ko. yksikkö on vielä valmis siirtämään informaatiota väylälle, jos vastaanottava yksikkö ei ollut valmis vastaanottamaan informaatiota väylältä.
Piirrokset Tämän keksinnön mukaisen laitteen rakenne ja toiminta voidaan ymmärtää seuraavan yksityiskohtaisen selityksen avulla yhdessä seuraavien piirrosten kanssa:
Kuvio 1 on keksinnön mukaisen järjestelmän lohkokaavio;
Kuviot 2-6 esittävät keksinnön järjestelmän yhteisväylällä siirrettävien informaatioiden erilaisia muotoja;
Kuvio 7 on keksinnön yhteisväylän toiminnan ajoituskaavio;
Kuvio 8 on tekniikan tason mukaisen prioriteettiverkon logiikka-kaavio; ja
Kuvio 9 on keksinnön mukaisen prioriteettiverkon logiikkakaavio. Edullisen sovellutuksen kuvaus Väyläkysely- ja vastesyklit
Keksinnön mukainen tietojenkäsittelyväylä esittää tiedonväli- 7 78994 tysreitin järjestelmän kahden yksikön välillä. Väylä on suunniteltu asynkroniseksi mahdollistaen väylään kytkettyjen eri nopeuksisten yksikköjen toimimisen tehokkaasti samassa järjestelmässä. Keksinnön mukaisen väylän rakenne sallii tietoliikenteen, joka sisältää muistisiirtoja, keskeytyksiä, tieto-, tilejä käskysiirtoja. Tyypillisen järjestelmän kokonaiskokoonpano on esitetty kuviossa 1. Tällaisen järjestelmän väylä- ja liitäntälogiikan tarkempi kuvaus on löydettävissä patenteista US 3 993 981 (julkaistu 23.11.1976) ja US 4 236 203 (julkaistu 25.11.1980), jotka sisällytetään tähän viittauksella.
Väylä sallii minkä tahansa kahden yksikön kommunikoida keskenään tietyllä hetkellä yhteisen signaalireitin kautta. Mikä tahansa yksikkö, joka haluaa kommunikoida, kyselee väyläsykliä. Kun tuolle väyläsyklille annetaan lupa, tulee tästä yksiköstä pääyksikkö (master), ja se voi osoittaa minkä tahansa järjestelmän toisen yksikön seuraajaksi (slave). Jotkut väylävaihdot vaativat vastesykliä (esim. kertahakuinen muistin luku). Tapauksissa, joissa vastesykliä tarvitaan kyselijä omaksuu pääyksikön (master) roolin, osoittaa, että vastetta tarvitaan ja yksilöi itsensä seuraajaksi. Kun tarvittu informaatio tulee saataville (riippuen seuraajan vastausajasta), omaksuu seuraaja sitten pääyksikön roolin ja aloittaa siirron kyselevälle yksikölle. Tämä päättää kertahakuisen vaihdon, joka tässä tapauksessa on ottanut kaksi väyläsykliä. Näiden kahden väyläsyklin (kyselysyklin ja vastesyklin) väliin jäävä aika voidaan käyttää muuhun järjestelmän liikenteeseen, joka ei liity näihin kahteen yksikköön.
Väyläsignaalit ja ajoitus Pääyksikkö (master) voi osoittaa minkä tahansa toisen väylän yksiköistä seuraajaksi (slave). Se tekee tämän asettamalla seuraajan osoitteen osoitejohtimille. Voi olla esimerkiksi 24 osoitejohdinta, joilla voi olla kumpi tahansa kahdesta tulkin- 8 78994 nasta, jotka riippuvat apuohjausjohtimen tilasta, jota kutsutaan muistiviittaussignaaliksi (BSMREF). Jos muistiviittaus-signaali on binääri NOLLA, kuvion 2 muoto kääntyy osoitejohdin-ten puoleen, näistä 24. johtimen ollessa vähiten merkitsevä bitti. On huomattava, että kuten tässä selvityksessä on käytetty, termejä binääri NOLLA ja binääri YKSI käytetään tässä samassa järjestyksessä kuvaamaan sähköisten signaalien matalia ja korkeita tiloja. Jos muistiviittaussignaali on binääri YKSI, näiden 24 bitin muoto on kuvion 3 mukainen. Varsinaisesti kun muistissa on osoitteita, väylä mahdollistaa 224 tavun suoran osoittamisen muistissa. Kun yksiköt ovat läpikäymässä ohjaus-informaatiota, tietoa tai keskeytyksiä, ne viittaavat toisiinsa osoitteella käyttäen kanavanumeroa. Kanavanumero sallii väylän viitata osoitteella 2^® kanavaan. Yhdessä kanavanumeron kanssa käydään läpi kuusibittinen toimintokoodi, joka määrittelee, mihin mahdollisista lukumäärältään 2® toiminnoista tämä siirto viittaa.
Kun pääyksikkö vaatii väyläsykliä seuraajalta, se osoittaa tämän seuraajalle ohjausjohtimen, nimeltään BSWRITE-, yhdellä tilalla (lukukomento) (toinen tila ei siitä syystä vaadi vastetta so. kirjoituskomentoa). Tässä tapauksessa pääyksikkö määrää oman identiteettinsä seuraajalle kanavanumeron avulla. Tieto-johtimet vastakohtana väyläosoitejohtiraille on koodattu kuvion 4 muodon mukaisesti pääyksikön identiteetin osoittamiseksi, kun tarvitaan vastetta seuraajalta.
Muistiin viittaamaton siirto (non-memory reference transfer) ohjaa vastesyklin kyselijälle. Ohjausjohtimen ilmaistuna tois-puoliväyläsyklinä (BSSHBC-, second-half bus cycle) sallitaan osoittaa, että tämä on odotettu sykli (verrattuna toiselta yksiköltä tulevaan siirtoon, jota ei ole pyydetty). Kun pääyksikkö tarvitsee kaksoishakua seuraajalta, se osoittaa tämän seuraajalle ohjausjohtimen yhdellä tilalla, nimeltään BSDBPL-(toinen tila osoittaa siten, että ei tarvita kaksoishakua, so. kertahaku). Kun seuraaja vastaa pääyksikön kyselyyn, käytetään 9 78994 tämän saman ohjausjohtimen yhtä tilaa, (BSDBPL-) osoittamaan kyselevälle yksikölle, että tämä vastesykli on ensimmäinen vas-tesykli kahdesta vastesyklistä (toinen tila osoittaa, että tämä on kaksoishakutoiminnan viimeinen vastesykli).
Hajautettu keskeytys (tie-breaking)-verkko antaa käyttöön väy-läsyklien myöntämis- ja samanaikaisten väylän käyttökyselyjen ratkaisemistoiminnon. Prioriteetti myönnetään fyysisen aseman mukaan väylällä siten, että korkein prioriteetti annetaan väylän ensimmäiselle yksikölle. Logiikka, joka toteuttaa keskey-tystoiminnon on jaettu kaikkiin väylään kytkettyihin yksikköihin ja se on täysin kuvattu patenttijulkaisussa US 4 030 075 ja sen parannus on esitetty patenttijulkaisussa 4 096 569, jotka molemmat patenttijulkaisut liitetään tähän viittauksella. Tyypillisessä järjestelmässä muistille annetaan korkein prioriteetti ja keskusyksikölle annetaan matalin prioriteetti toisten yksiköiden ollessa asemassa, joka määräytyy niiden suoritusky-kyvaatimusten perusteella. Tekniikan tason mukainen logiikka, joka toteuttaa keskeytys (tie-breaking) toiminnon keskusyksikölle on esitetty kuviossa 8.
Viitaten kuvioon 1, käsillä olevan keksinnön tyypillisen sovellutuksen järjestelmässä on monijohtoinen väylä 200, joka on kytketty muisteihin 1-202 - N-204, ja tällaisella muistilla on korkein prioriteetti, ja keskusyksikköön 206, jolla on matalin prioriteetti. Väylälle voi olla kytkettynä myös tieteellis-aritmeettinen yksikkö 208 ja erilaisia ohjainyksikköjä 210, 212 ja 214. Ohjainyksikkö 210 voi olla kytkettynä ohjaamaan esimerkiksi neljää reikäkorttioheislaitetta 216. Ohjainyksikköä 212 voidaan käyttää modeemilaitteiden kautta tietoliikenteen ohjaukseen, kun taas ohjainta 214 voidaan käyttää ohjaamaan massamuistilaitteita kuten nauhaoheislaitetta 218 tai levyoheis-laitetta 220. Kuten edellä on todettu, mikä tahansa väylään 200 kytketyistä laitteista voi viitata osoitteella muistia tai mitä tahansa muuta väylään kytkettyä yksikköä. Nauha-asema 218 voi 10 78994 siis ohjausyksikön 214 välityksellä viitata osoitteella muistia 202.
Kukin väylään suoraan kytketyistä yksiköistä sisältää keskeytys (tie-breaking-) logiikan, joka on kuvattu ja selostettu patentissa US 4 030 075 ja sen parannetussa muodossa US 4 096 569. Näitä tullaan selostamaan kuvion 8 yhteydessä. Edelleen kuhunkin näistä yksilöistä sisältyy osoitelogiikka. Tyypillisen pe-ruslaiteohjaimen osoitelogiikkaa on myös selostettu patentissa US 4 030 075. Yksiköissä, joita ei ole suoraan kytketty väylään, kuten yksiköissä 216, 218 ja 220 on myös keskeytyslogiik-ka (tie-breaking-logiikka).
Tietyn järjestelmän jokaiselle päätepisteelle on olemassa kana-vanumero, poikkeuksena muistityyppiset tietojenkäsittely-yksiköt, jotka identifioidaan muistiosoitteella. Kullekin sellaiselle laitteelle nimitetään kanavanumero. Kaksisuuntaiset laitteet (full duplex) kuten vuorosuuntaisetkin laitteet (half duplex) käyttävät kahta kanavanumeroa. Vain tulostavat (output) tai vain syöttävät (input) laitteet käyttävät kukin vain yhtä kanavanumeroa. Kanavanumerot ovat helposti vaihdettavia ja sen mukaisesti yhtä tai useampaa heksadesimaalista kiertokytkintä (peukalopyöräkytkintä) voidaan käyttää kullekin väylään kytketylle yksikölle osoittamaan tai asettamaan yksikön osoite.
Siis, kun järjestelmä on kokoonpantu, voidaan tietylle väylään kytketylle yksikölle määrätä kanavanumero siten kuin tuolle tietylle järjestelmälle on sopivaa. Yksiköt, joilla on monia tulo/lähtöportteja (I/O) tarvitsevat yleensä suuren määrän peräkkäisiä kanavanumeroita. Esimerkiksi neliporttinen yksikkö voi käyttää kiertokytkimiä kanavanumeron ylempien 7 bitin määräämiseksi ja se voi käyttää alemman ryhmän 3 bittiä määrittelemään portin numero ja erottamaan tuloportit lähtöporteista. Seuraajan kanavanumero esiintyy osoiteväylällä kaikille ei-muistisiirroille, kuten kuviossa 3. Kukin yksikkö vertaa tuota numeroa omaan sisäisen muistin numeroonsa (sisäisesti muistissa 11 78994 kiertokytkinten avulla). Yksikkö, joka suorittaa vertailun loppuun on tarkalleen sanottuna seuraaja, ja sen täytyy vastata tuohon sykliin. Yleisesti sanottuna, mitään kahta yksittäisen järjestelmän pistettä ei määritellä samalle kanavanumerolle. Kuten kuviossa 3 on esitetty tietty väylä- tai I/O-toiminto voidaan osoittaa, kuten on osoitettu väyläosoitejohtimien biteillä 18-23 ei-muistisiirrolle. Toimintokoodit voivat määrätä tulostus- ja syöttötoiminnot. Kaikki parittomat toimintokoodit määrittelevät tulostussiirtoja (kirjoitus), kun taas kaikki parilliset toimintokoodit määrittelevät syöttösiirtokyselyjä (luku) . Esimerkiksi toimintokoodia 00 (16-kanta) voidaan käyttää osoittamaan kertahakuista muistin lukua ja toimintokoodia 20 voidaan käyttää osoittamaan kaksoishakuista muistinlukuoperaa-tiota. Keskusyksikkö tutkii vähiten merkitsevän bitin, 23, 6-bittisestä toimintokoodialueesta syöttö/tulostus komentoa varten ja käyttää väyläjohdinta suunnan määrittelemiseksi.
On olemassa erilaisia tulostus- ja syöttötoimintoja. Yksi tulostustoiminnoista on komento, jolla esimerkiksi 16 bitin tietomäärä ladataan kanavaan väylältä. Yksityisten tietobittien merkitykset ovat komponenttikohtaisia, mutta tietomäärää käytetään merkitsemään varastoitavaa, lähetettyä, siirrettyä ym. tietoa, riippuen määrätystä komponenttien toiminnanmukaisuudes-ta. Toinen sellainen tulostustoiminto on komento, jolla esimerkiksi 24 bitin määrä ladataan kanavaosoiterekisteriin (ei esitetty). Osoite on muistitavuosoite ja se viittaa alkuasemaan muistissa, jossa kanava alkaa tiedon syötön tai tulostuksen. Lukuisat muut tulostustoiminnot sisältävät tulostuksen alue-komennon, joka määrittelee muistipuskurin koon, joka muistipus-kuri on nimitetty tietyn siirron kanavalle, tulostusohjaus-komennon joka yksityisillä biteillään aiheuttaa tiettyjä vasteita, tulostustehtäväkomentoja, kuten kirjoituskomentoja, tulostus kokoonpanon, joka komento osoittaa toiminnot, kuten päätenopeuden, kortinluku toimintatavan jne., sekä tulostuksen keskeytysohjauksen, joka on komento, joka lataa esimerkiksi 16 12 78994 bitin sanan, jolla on kuviossa 5 osoitettu muoto. Ensimmäiset 10 bittiä osoittavat keskusyksikön kanavanumeron ja bitit 10-15 osoittavat keskeytystason. Keskeytyksessä keskusyksikön kanava-numero palautetaan osoiteväylälle, kun taas keskeytystaso palautetaan tietoväylälle.
Syöttötoimintoihin sisältyy toimintoja, jotka ovat samanlaisia kuin tulostustoiminnot paitsi tapauksessa, jossa syöttötietoa siirretään laitteelta väylälle. Syöttötoiminnot sisältävät siis syöttötieto-, syöttöosoite- ja syöttöaluekomennot kuten myös tehtäväkokoonpanon ja syöttökomennot. Lisäksi niihin sisältyy laitetunnistuskomento, jolla kanava asettaa väylän laitetunnis-tusnumeron. Lisäksi niihin sisältyy kaksi syöttökomentoa, jolla tilasana 1 tai tilasana 2 asetetaan väylälle kanavalta kuten seuraavassa kerrotaan.
Osoitus tilasanasta 1 voi sisältää esimerkiksi sen onko tietty laite toimintavalmis, onko se valmis hyväksymään informaatiota väylältä, onko kyseessä virhetila tai siitä, tarvitaanko palvelua. Tilasana 2 voi sisältää esimerkiksi pariteetin osoituksen, sen onko kyseessä korjaamaton tai korjattu muistivirhe, onko kyseessä sallittu komento tai onko kyseessä olematon laite tai resurssi.
Kuten aikaisemmin on kerrottu, on kullekin erityyppiselle väylään kytketylle yksikölle osoitettu yksilöllinen tunnistusnumero. Tämä numero ilmestyy väylälle vastauksena syöttötoimintoko-mentoon, joka on nimetty syöttölaitetunnistukseksi. Tämä numero asetetaan tietoväylälle kuviossa 6 esitetyssä muodossa. Mukavuussyistä luku on jaettu 13 bittiin, jotka tunnistavat laitteen (bitit 0-12) ja 3 bittiin, jotka tunnistavat tarvittaessa tietyn laitteen toimintatilan.
Yksikkö, joka haluaa keskeyttää pääyksikön kyselee väyläsykliä. Kun tämä väyläsykli myönnetään, yksikkö asettaa keskeytysvekto- 13 78994 rinsa (vektorin avulla päästään suoraan haluttuun palveluohjelmaan keskeytyksessä) väylälle, keskeytysvektorin sisältäessä keskusyksikön kanavanumeron ja keskeytystasonumeron. Yksikkö antaa siis keskeytysvektorissaan pääyksikön kanavanumeron ja sen keskeytystasoluvun. Jos tämä on keskusyksikön kanavanumero, hyväksyy keskusyksikkö keskeytyksen, jos esitetty taso on numeerisesti pienempi kuin vallitseva sisäinen keskusvksikkötaso, ja jos keskusyksikkö ei ole juuri hyväksynyt jotain toista keskeytystä. Hyväksyminen ilmaistaan väylä ACK-signaalilla (BSNAKR-). Jos keskusyksikkö ei voi hyväksyä keskeytystä, palautetaan NACK-signaali (BSNAKR-). Laitteet, jotka vastaanottavat NACK-signaalin (johon joskus viitataan nimellä NACK) yrittävät uudelleen kun uudelleen jatkamisen normaalia keskeytystä osoittava signaali vastaanotetaan keskusyksiköltä (BSRINT-). Keskusyksikkö antaa tämän signaalin, kun se on saanut päätökseen tason vaihdon, ja siten voi kyetä hyväksymään keskeytyksiä uudestaan. Pääyksikön kanavanumero varastoidaan vektoriin käytettäväksi koska useampi kuin yksi kanava voi olla samalla kes-keytystasolla. Keskeytystasolla 0 on erityistä merkitystä, koska se on määritelty merkitsemään, että yksikkö ei tule keskeyttämään. Kuviossa 7 on esitetty väyläajoituskaavio, jota seuraa-vassa selostetaan. Yleisesti ajoitus tapahtuu seuraavasti. Ajoitus koskee kaikkia siirtoja pääyksiköstä seuraajayksikköön, jotka on väylään kytketty. Nopeus, jolla siirto voi tapahtua on riippuvainen järjestelmän kokoonpanosta. So. mitä enemmän väylään kytkettyjä yksikköjä ja mitä pitempi on väylä, niin silloin, etenemisviiveiden takia, sitä pitempi aika kuluu tiedon siirtämiseen väylällä. Toisaalta pienempi määrä yksiköitä väylällä lyhentää vasteaikaa. Niinpä väyläajoitus on todella luonteeltaan asynkroninen. Pääyksikkö, joka toivoo väyläsykliä, tekee väyläkyselyn. Signaali BSREQT- on yhteinen kaikille väylän yksiköille ja jos se on binääriluku NOLLA, osoittaa se, että vähintään yksi yksikkö kyselee varattua sykliä. Kun väyläsyk-lille annetaan lupa, signaali BSDCNN- tulee binääri NOLLAKSI, osoittaen, että tarkemmin kuvioiden 8 ja 9 yhteydessä kuvattu 14 78994 keskeytystoiminto (tie-breaking) on suoritettu loppuun, ja että yksi tietty pääyksikkö kontrolloi väylää. Hetkellä, jolloin signaalista BSDCNN- tulee binääri NOLLA, pääyksikkö määrää väylälle siirrettävän informaation. Kukin väylän yksikkö kehittää sisäisen poiminnan (strobe-poiminta, näytteen otto) signaalista BSDCNN-, Poiminta viivästyy esimerkiksi likimain 60 nanosekun-tia BSDCNN-signaalin binääri NOLLA-tilan vastaanotosta. Kun viive on lopussa seuraajassa, väylän etenemisaikavaihteluista on tullut tehtyä selkoa ja kukin seuraajayksikkö on voinut tunnistaa osoitteensa (muistiosoitteen tai kanavanumeron). Seuraaja voi nyt tehdä osoitteita yhdestä näistä vasteista, joko ACK, NACK tai WAIT-signaali tarkemmin BSACKR-, BSNAKR- tai BSWAIT-signaali. Vaste lähetetään väylälle ja se toimii signaalina pääyksikölle, että seuraaja on tunnistanut kysellyn toiminnan. Ohjausjohdot palaavat sitten binääritilaan YKSI kuvion 7 mukaisessa järjestyksessä. Väyläkättely on siis täysin asynkroninen ja jokainen siirtyminen on vastaanotettu. Yksityisillä yksiköillä voi siksi mennä eripituisia aikoja poiminnan ja ACK jne. välillä siirtymisen riippuessa sisäisestä toimintatilasta. Väylän aikakatkaisutoiminto on olemassa "jumin" (hang-up) estämiseksi, mikä saattaa esiintyä, (hang-up = tila, jossa keskusyksikkö suorittaa kiellettyä operaatiota tai toistaa jatkuvasti samaa rutiinia; suom. huom.) Väylää pitkin siirrettävä informaatio voi sisältää esimerkiksi 50 signaalia tai bittiä, jotka voidaan jakaa osiin seuraavasti: 24 osoitebittiä, 16 tietobittiä, 5 ohiausbittiä ja 5 eheysbit-tiä. Näistä erilaisista signaaleista kerrotaan seuraavassa.
Tekniikan tason mukainen keskeytystoiminto (tie-breaking), jota on yksityiskohtaisemmin kuvattu kuvion 8 yhteydessä, on sellainen, että se ratkaisee samanaikaisia eri yksiköiltä tulevia palvelukyselyjä, ja myöntää väyläjaksoja aseman mukaisen prioriteetti järjestelmän mukaan. Kuten aikaisemmin on esitetty, on muistilla korkein prioriteetti ja keskusyksiköllä on matalin 78994 prioriteetti, näiden ollessa väylän 200 vastakkaisissa päissä. Muut yksiköt ovat väliasemissa, ja niiden prioriteetti nousee suhteessa niiden läheisyyteen väylän muistin puoleisen pään kanssa. Prioriteettilogiikka sisältyy kuhunkin suoraan väylään kytkettyyn yksikköön keskeytystoiminnon (tie-breaking) toteuttamiseksi. Jokaisen tällaisen yksikön prioriteettiverkko sisältää lupakiikun (flip-flop). Millä tahansa ajan hetkellä voi vain yksi tietty lupakiikku olla asetettuna ja tuo yksikkö on määrittelyltään pääyksikkö (master) tuolle tietylle väyläsyk-lille. Mikä tahansa yksikkö voi tehdä käyttäjäkyselyn milloin tahansa asettamalla käyttäjäkiikkunsa. Milloin tahansa voi sen vuoksi olla monta käyttäjäkiikkua asetettuna kunkin edustaessa tulevaa väyläsykliä. Lisäksi kukin väylän yksikkö sisältää ky-selykiikun. Kun kaikkia yksiköitä tarkastellaan yhdessä, kyse-lykiikkuja voidaan tarkastella kyselyrekisterinä. Tämän rekisterin lähdöt juuri syöttävät keskeytys (tie-breaking) verkkoa, joka toimii asettaakseen vain yhden lupakiikun huolimatta siitä, kuinka monta kyselyä on avoimena. Tarkemmin sanottuna, jos ei olisi avoimia kyselyjä, niin silloin mitään kyselykiikkuja ei asetettaisi. Ensimmäiset asetetut kiikut aiheuttaisivat sen kyselykiikun asettamisen. Tämä puolestaan estäisi lyhyen viiveen jälkeen, kuten seuraavassa kuvataan, muita yksiköitä asettamasta kyselykiikkujaan. Tapahtuu siis niin, että kaikista käyttäjäkyselyistä otetaan tilannevedos tietyltä aikajaksolta (viive-periodilta). Tulos on se, että muutamia kyselykiikkuja voi tulla asetetuksi tämän viivejakson aikana riippuen niiden saapumisesta. Jotta kyselykiikut sallisivat lähtöjensä tulla stabiileiksi, kukin yksikkö sisältää sellaisen viiveen, jotta varmistuisi, että stabiloituminen on tapahtunut. Tietty lupa-kiikku asetetaan, jos sen kanssa yhteydessä olevalla yksiköllä on ollut kyselykiikku asetettuna ja viiveaika on kulunut, eikä mikään korkeamman prioriteetin yksikkö halua väyläsykliä. Silloin syntyy poimintasignaali toisen viivejakson jälkeen ja lopulta lupakiikku nollataan (palautetaan alkutilaan), kun pääyksikkö vastaanottaa ACK-, NACK- tai WAIT-signaalin seuraaja- 16 78994 yksiköltä.
Kuten aiemmin on osoitettu, on olemassa kolme mahdollista seuraajan vastetta, ACK-, WAIT- tai NACK-signaalit. Lisäksi on olemassa neljäs tila, jossa ei ole lainkaan vastetta. Tapauksessa, jossa mikään väylän yksikkö ei tunnista siirtoa osoitteena itselleen, ei mitään vastetta tule. Tällöin tapahtuu ai-kakatkaisutoiminto (time out) ja vastaanotetaan NACK-signaali ja sillä tavalla väylä palautetaan normaalitilaan. ACK-signaali syntyy, jos seuraaja kykenee hyväksymään väyläsiirron pääyksiköltä ja haluaa tehdä niin. Seuraaja synnyttää WAIT-vasteen, jos seuraaja on hetkellisesti varattuna, eikä se voi hyväksyä siirtoa sinä hetkenä. WAIT-signaalia vastaanotettaessa yrittää pääyksikkö uudelleen sykliä seuraavalla sille myönnetyllä väy-läsyklillä ja jatkaa tätä kunnes onnistuu. Joitakin seuraajalta tulevan WAIT-vasteen seurauksia kun keskusyksikkö on pääyksikkönä, ovat esimerkiksi seuraavat, kun muisti on seuraaja ja muisti vastaa toiselta yksiköltä tulevaan kyselyyn tai kun oh-jainyksikkö on seuraaja, esimerkiksi, jos ohjain odottaa vastetta muistilta tai jos ohjainyksikkö ei ole vielä käsitellyt edellistä syöttö/tulostus komentoa. Seuraajan osoittama NACK-signaali merkitsee sitä, että se hyväksyy siirron tällä kertaa. NACK-signaalia vastaanotettaessa pääyksikkö ei heti yritä uudelleen, mutta ryhtyy pääyksikön tyypistä riippuviin erityistoimenpiteisiin.
Kuten aikaisemmin on pääpiirteittäin osoitettu, väylällä on pe-rusajoitussignaaleja, jotka toteuttavat kättelytoiminnon. (hand-shaking * kättely, kaksi laitetta siirtävät toisilleen tietoa kyselyn ja kuittauksen periaatteella; suom. huom.) Nämä viisi signaalia, kuten on aikaisemmin kerrottu, ovat väyläkyse-lysignaali (BSREQT-; bus request signal), joka ollessaan binääri NOLLA osoittaa, että yksi tai useampi väylän yksikkö on kysellyt väyläsykliä; tietosykli-nyt-signaali (BSDCNN-; data cycle now signal), joka ollessaan binääri NOLLA osoittaa, että 17 78994 tietty pääyksikkö on tekemässä väyläsykliä ja on asettanut informaatiota väylälle jonkin tietyn seuraajan käytettäväksi; ACK-signaali (BSACKR-), joka on seuraajan synnyttämä signaali pääyksikölle siitä, että seuraaja hyväksyy tämän siirron, tekemällä tämän signaalin binääri NOLLAKSI; NACK-signaali (BSNAKR-) joka on seuraajan pääyksikölle synnyttämä signaali osoittaen pääyksikölle tämän signaalin ollessa binääri NOLLA, että se kieltäytyy vastaanottamasta tätä siirtoa; ja WAIT-signaali (BSWAIT-), joka on seuraajan pääyksikölle synnyttämä signaali osoittaen tämän signaalin ollessa binääri NOLLA, että seuraaja lykkää siirron päätöstä.
Lisäksi ja kuten aikaisemmin on osoitettu, voi olla jopa viisikymmentä informaatiosignaalia, jotka siirretään kunkin väylä-syklin informaatiosisältönä. Nämä signaalit ovat kelpoja (valid) seuraajan käytettäväksi poimintasignaalin etureunalle.
Muiden ohjaussignaalien lisäksi väylällä voi olla väylän nol-laussignaali (BSMCLR-), joka on normaalisti binääri YKSI, ja josta tulee binääri NOLLA, kun yleisnollausnappulaa (master clear button) painetaan, nappula voi olla keskusyksikön huolto-paneelissa. Väylän nollaussignaali voi myös tulla binääri NOLLAKSI esimerkiksi käynnistystilanteessa.
Seuraavassa selitetään yksityiskohtaisesti kuvion 7 ajoitus-diagrammia muistin ja keskusyksikön osoitelogiikkapiirin suhteen.
Viitaten kuvion 7 ajoituskaavioon, jokaisessa väyläsyklissä on kolme tunnistettavissa olevaa osaa, tarkemmin sanottuna, ajanjakso (7-A - 7-C), jonka aikana korkeimman prioriteetin laite voittaa pääsyn väylälle, ajanjakso (7-C - 7-E), jonka aikana pääyksikkö kutsuu seuraajayksikköä ja ajanjakso (7-E - 7-G), jonka aikana seuraaja vastaa. Kun väylä on vapaa, on väyläkyse-lysignaali (BSREQT-) binääri YKSI. Väyläkyselysignaalin laskeva ie 78994 reuna käynnistää hetkellä 7-A prioriteettiverkkosyklin. Järjestelmässä sallitaan asynkroninen viive, jolloin prioriteetti asetetaan (hetkellä 7-B) ja väylän pääkäyttäjäyksikkö valitaan. Seuraava signaali väylällä on BSDCNN- eli tietosykli-nyt-signaali. BSDCNN-signaalin vaihdos binääri NOLLAKSI hetkellä 7-C merkitsee sitä, että väylän käyttö on myönnetty pääyksikölle. Sen jälkeen seuraa väyläoperaation toinen vaihe, mikä merkitsee sitä että pääyksikkö on valittu ja se on nyt vapaa siirtämään informaatiota väylän 200 tieto-, osoite- tai ohjaus-johtimilla seuraajayksikölle, jonka pääyksikkö näin määrittelee.
Seuraajayksikkö valmistaa väyläoperaation kolmannen vaiheen aloittaen poimintasignaalin (strobe) eli BSDCND-signaalin takareunasta. Kuvion 8 viivelinja 25 viivästyttää poimintasignaalia esimerkiksi kuusikymmentä (60) nanosekuntia BSDCNN-signaalin takareunasta. BSDCND-signaalin takareunan ilmestyessä hetkellä 7-D voi seuraajayksikkö nyt testata nähdäkseen onko tämä nyt sen osoite ja pyydetäänkö sitä parhaillaan käynnistämään päätöksentekoyksikkö päättämään, mikä vaste synnytetään. Tämä aiheuttaa tyypillisesti sen, että seuraajayksikkö synnyttää kuit-taussignaalin (BSACKR-) ja erityistapauksissa BSNAKR- tai BSWAIT-signaalin tai ei mitään vastetta (olemattoman seuraajan tapauksessa) synnytetä, kuten seuraavassa selitetään. Kuittaus-signaalin takareuna hetkellä 7-E, kun pääyksikkö on sen vastaanottanut, aiheuttaa pääyksikön BSDCNN-signaalin vaihtumisen binääri YHDEKSI hetkellä 7-F. Poimintasignaali palaa binääriti-laan YKSI hetkellä 7-G, 7-F:n ja 7-G:n välinen aika on viive-linjan 25 aiheuttama viive. Väyläoperaation kolmannessa vaiheessa seuraajayksikkö varastoi tiedot ja osoitteen väylältä ja väyläsykli alkaa sulkeutua. Syklin päättyminen, so. kun BSDCNN-vaihtuu binääri yhdeksi, mahdollistaa toiminnallisesti toisen prioriteettiverkkoratkaisun. Tällä hetkellä voidaan synnyttää väyläkyselysignaali ja jos sitä ei vastaanoteta merkitsee se, että väylä palaa vapaatilaan ja lisäksi BSREQT-signaali vaihtuu 19 78994 binääritilaan YKSI. Jos väyläkyselysignaali on tuolloin esillä, so. binääri NOLLA, se aloittaa asynkronisen prioriteettiverkko-valintaprosessin, minkä jälkeen toinen BSDCNN-signaalin laskeva reuna sallitaan (enable) kuten katkoviivat esittävät hetkinä 7-1 ja 7-J. On huomattava, että tämän prioriteettiratkaisun ei tarvitse odottaa tai tulla Hipaistuksi kuittaussignaalin nousevasta reunasta hetkellä 7-H, mutta voi itseasiassa Hipaistua hetkellä 7-F juuri sen jälkeen, kun väylä on siirtynyt vapaaseen tilaan, jos sen jälkeen yksikkö haluaa väyläjaksoa.
Vaikka prioriteettiverkon ratkaisu voi Hipaistua hetkellä 7-F BSDCNN-signaalin nousevasta reunasta, toisen BSDCNN-signaa-lin takareunan, vasteena kuvion 8 lupakiikun 22 asettamiseen, täytyy odottaa kuittaussignaalin nousevaa reunaa hetkellä 7-H, so. binääri NOLLA EI-TAI-portilta 21 kuviossa 8 täytyy siirtää pois lupakiikun 22 nollaustulosta. BSDCNN-signaalin laskeva reuna hetkellä 7-1 kuvaa tapausta, missä prioriteettiverkkoratkaisu Hipaistaan hetkellä 7-F ja ratkaisu tapahtuu ennen hetkeä 7-H. BSDCNN-signaalin laskeva reuna hetkellä 7-J kuvaa tapausta, jossa kuittaussignaali nollautuu ennen prioriteetti-verkon ratkaisua. BSDCNN-signaalin laskeva reuna hetkellä 7-L kuvaa tapausta, jossa hetkellä 7-F ei ole väyläkyselyä ja prio-riteettiverkkoratkaisu liipaistuu myöhemmästä väyläkysely-signaalista BSREQT- hetkellä 7-K. Tämä prosessi toistuu asynkronisella tavalla.
Seuraavaksi tarkastellaan esimerkin avulla muistihakuoperaatio-ta. Esimerkissä keskusyksikkö tekee muistin hakukyselyn ja kaksi kyselyyn ja vasteeseen liittyvää väyläsykliä tutkitaan. Ensimmäisen väyläsyklin aikana on keskusyksikkö pääyksikkö (master) ja muisti on seuraaja (slave). Tämän ensimmäisen syklin aikana keskusyksikkö kutsuu väylää käyttäen kuvion 8 prio-riteettilogiikkaa ja muistinohjäin vastaa. Toisen väyläsyklin aikana, jossa muistiohjain on pääyksikkö ja keskusyksikkö on seuraaja, muisti kutsuu väylää käyttäen prioriteettiverkkolo-giikkaa ja keskusyksikkö vastaa käyttäen väyläliitäntälogiikkaa 20 7 8 9 9 4 (bus interface logic).
Tekniikan tason mukainen prioriteettiverkkologiikka
Tarkastellaan nyt tekniikan tason mukaista prioriteettiverkko-logiikkaa, joka on esitetty kuviossa 8, ja jossa prioriteetti-verkkosykli on alussa vapaassa tilassa ja väyläkyselysignaali (BSREQT-) linjalla 10 on binääri YKSI. Kun tämä väyläkyselysignaali on binääri YKSI, vastaanottimen 11 (kääntävä vahvistin = vahvistin, jonka antosignaali on vastakkaismerkkinen otto-signaaliin verrattuna, suom. huom.) lähtö on binääri NOLLA. Vastaanottimen 11 lähtö on kytketty JA-portin 12 yhteen tuloon. Portin 12 muut tulot ovat yleisnollaus signaali (MYMCLR- * master clear signal), joka on normaalisti binääri YKSI, ja EI-TAI-portin 26 lähtö, joka myös on normaalisti binääri YKSI. Portin 12 lähtö on siis binääri NOLLA väylän vapaatilan aikana ja vii-velinjan 13 lähtö on siis binääri NOLLA. Viivelinjan 13 tulon ja lähdön oleminen binääri NOLLA sallii EI-TAI-portin 14 (BSBSY-) olla binääri YKSI. Kun yksi väylään kytketyistä yksiköistä haluaa väyläsykliä, se asettaa asynkronisesti käyttäjä-kiikun 15 niin, että sen Q-lähtö (MYASKK+) on binääri 1.
Siis, kun väylä on vapaassa tilassa, ensimmäinen tapahtuma, joka tapahtuu, kun väylä menee varattuun tilaan on se, että käyttäjä asettaa käyttäjäkiikkunsa 15. Keskusyksikön tapauksessa käyttäjäkiikku voidaan asettaa signaalilla MYASKS- sen asetus (S)- tulossa, joka tulee binääri NOLLAKSI. Vaihtoehtoisesti käyttäjäkiikku 15 voitaisiin asettaa kellotussignaalilla (clocking signal) muuttuen binääri NOLLASTA binääri YKSI-tilaan kellotus (C) tulossa (ei ole esitetty kuviossa 8) ja siten kellottaen binääri YHDEN sen tieto (D«data) tulossa (ei esitetty kuviossa 8) käyttäjäkiikussa 15 tämän asettamiseksi. Kun molemmat tulot EI-JA-porttiin 16 ovat binääri YKSI-tilassa, on lähtö siitä syystä binääri NOLLA. Tämä asettaa kyselykiikun 17 niin, että sen Q-lähtö (MYREQT+) on binääri YKSI. Kyselykiikun 17 Q- 21 78994 lähtö tulee siis asynkronisella tavalla binääri YHDEKSI. Tämä operaatio voi satunnaisesti esiintyä muiden väylään kytkettyjen yksiköiden samanlaisissa logiikoissa.
MYREQT+-signaalin binääri YKSI-tila sijoitetaan väylän linjalle 10 ajurin (driver) 18 kautta binääri NOLLANA. Viitaten ajoitus-kaavioon kuviossa 7 BSREQT-signaali menee negatiiviseksi tai binääri NOLLA-tilaan. Mikä tahansa kysely järjestelmälle miltä tahansa eri väylään kytketyn yksikön kyselykiikulta 17 pitää linjan 10 binääri NOLLA-tilassa. Viivelinjaan 13 sisältyy riittävä viive elementtien 14, 16 ja 17 kohtaaman etenemisviiveen kompensoimiseksi. Vaikkakin siis laite asettaa kyselykiikkunsa, niin tämä ei merkitse sitä, ettei korkeamman prioriteetin yksikkö, joka myös kyselee väyläsykliä ota seuraavaa väyläsykliä. Esimerkiksi jos matalamman prioriteetin yksikkö asettaa kysely-kiikkunsa 17, syötetään binääri NOLLA-signaali linjalla 10 takaisin kaikkiin laitteisiin, mukaan lukien korkeimman prioriteetin yksikköön, joka puolestaan synnyttää binääri YKSI-tilan portin 12 lähdössä niin, että syntyy binääri NOLLA-tila EI-TAI-portin 14 lähdössä, siten estäen tällaisen toisen korkeampi-prioriteettisen laitteen kyselykiikun 17 asettamisen, jos ei itseasiassa tätä korkeampiprioriteettisen laitteen käyttäjä-kiikkua 15 ole jo asetettu. Sen jälkeen kun viiveaika, esim.
20 nanosekuntia, on umpeutunut ja tämän korkeamman prioriteetin laitteen viivelinjan 13 lähtö on nyt binääri YKSI-tilassa, niin silloin portin 14 lähtö tulee binääri NOLLA-tilaan niin, että riippumatta siitä, onko tämän korkeamman prioriteetin laitteen käyttäjäkiikku asetettu, portin 16 lähtö tulee binääri YHDEKSI siten estäen kyselykiikun 17 asettamisen. Tällaisen ajan puitteissa on kaikilla laitteilla siis kyselykiikkunsa 17 asetettuna, jos ne itseasiassa kyselevät palvelua, minkä osoituksena niiden käyttäjäkiikku 15 on asetettuna. Sen viiveajan jälkeen, jonka ensiksi väyläsykliä kyselevän laitteen elementti 13 on aikaansaanut, ei laite, jolla ei ole kyselykiikkuaan 17 asetettuna, voi tehdä niin ennen kuin prioriteettisykli on päättynyt.
22 7 8 9 9 4
Korkeamman prioriteetin laite voittaa siis pääsyn väylälle, vaikka sen käyttäjäkiikku on asetettu muutamia nanosekunteja sen jälkeen, kun matalamman prioriteetin laite asettaa kiikkunsa .
Kaikki kyselykiikut 17 väyläsykliä hakeville laitteille ovat siis tulleet asetetuiksi kunkin aikavälin aikana, kuten viive-linjan 13 viivelinjajärjestely osoittaa. Huolimatta siitä, että monet tällaiset väylään kytketyt laitteet voivat saada kysely-kiikkunsa asetetuksi tällaisen aikavälin aikana, voi vain yhdellä tällaisella laitteella olla lupakiikkunsa 22 asetettuna. Laite, jolla on lupakiikku 22 asetettuna, on korkeimman prioriteetin laite, joka hakee väyläsykliä. Kun tällainen väyläsykliä hakeva korkeimman prioriteetin laite on saattanut loppuun operaationsa tällaisen väyläsyklin aikana, hakevat muut yksiköt, joilla on kyselykiikkunsa asetettuna taas seuraavaa väyläsykliä jne. Siis kyselykiikun 17 Q-lähtö, sen lisäksi että se on kytketty ajuriin 18 on kytketty myös EI-JA-portin 19 yhteen tuloon elementin 28 kautta. Elementti 28 ei ole muuta kuin suora kytkentä kunkin yksikön prioriteettilogiikkaan, paitsi että yksikkö (tavallisesti muisti 202), joka on kytketty väylän 200 korkeamman prioriteetin päähän, jossa yksinomaisessa tapauksessa elementti 28 on viive-elementti kuten seuraavassa selitetään. Kiikun 17 <J-lähtö (MYREQT-) on kytketty JA-portin 20 yhteen tuloon. Muut tulot porttiin 19 vastaanotetaan korkeamman prioriteetin laitteista ja tarkemmin esimerkiksi yhdeksältä edeltävältä korkeamman prioriteetin laitteelta. Nämä korkeamman prioriteetin laitteiden vastaanottavat signaalit vastaanotetaan kuvion 8 osoittamalla tavalla kuvion vasemmalta puolelta signaaleina BSAUOK+ - BSIUOK+. Jos yksikin näistä yhdeksästä signaalista on binääri NOLLA, merkitsee tämä sitä, että korkeamman prioriteetin laite on kysellyt väyläsykliä ja niinpä se estää käytössä olevan kyseisen laitteen saamasta lupakiikkuaan asetetuksi ja siten estää sitä saamasta seuraavaa väyläsykliä.
23 7 8 9 9 4
Muut portin 19 vastaanottamat tulot tulevat EI-TAI-portista 26, so. BSDCNB-signaali ja ΕΙ-ΤΆΙ-portin 21 lähdöstä. Lisäksi, käyttäjävalmis-signaali (user ready signal), so. keskusyksikön tapauksessa MCDCHP+ -signaali voidaan vastaanottaa tietyn yksikön muusta logiikasta, jolla tietty yksikkö, vaikkakin se kyselee väyläsykliä, voi viivästyttää sitä vaihtamalla käyttäjäval-mis-signaalin binääri NOLLA-tilaan. So. vaikkakaan yksikkö ei ole valmis väyläsykliin, se voi kysellä sitä ja asettaa käyttä-jävalmis-signaalin binääri NOLLAKSI, siinä ennakko-oletuksessa, että se on valmis hetkellä kun väyläsyklille annetaan lupa. EI-TAI-portin 26 lähtö on normaalisti binääri YKSI, ja jos kaikki muut tulot porttiin 19 ovat binääri YKSI, niin silloin lupa-kiikku 22 tulee asetetuksi. Jos toinen tulo portista 21 on binääri YKSI, niin lupakiikku tulee asetetuksi. Toinen tulo portista 24 on binääri YKSI, kun väylä on vapaassa tilassa. Tulot EI-TAI-porttiin 21 ovat BSACKR+ -signaali, BSWAIT+ -signaali, BSNAKR+ -signaali ja BSMCLR+ -signaali. Jos yksikin näistä signaaleista on binääri YKSI, niin silloin väylä tulee sen mukaisesti varattuun tilaan eikä lupakiikkua 22 voida asettaa.
Jos lupakiikku 22 on asetettu, niin Q-lähtösignaali (MUDCNN+) on binääri YKSI ja se käännetään binääri NOLLA signaaliksi kääntäjällä 23 ja sijoitetaan väylälle signaalilinjalle BSDCNN-. Tämä on näytetty ajoituskaaviossa kuvio 7, missä BCDCNN-signaali menee binääri YKSI-tilasta binääri NOLLA-tilaan. Näin väyläsyklin prioriteettisykli on päättynyt.
Lisäksi jos kyseessä oleva laite tarvitsee palvelua ja se on korkeimman prioriteetin laite, tulevat viivelinjan 13 lähtö ja BSAUOK+ prioriteettilinja binääri YHDEKSI, kuitenkin kiikun 17 (f-lähtö (Q-viiva = Q:n negaatio, suom. huom.) tulee binääri NOLLAKSI siten asettaen JA-portin 20 kautta binääri NOLLAN BSMYOK+ -linjalle osoittaen siten viereiselle alemman prioriteetin laitteelle ja sitä seuraavalle alemman prioriteetin laitteelle, että on olemassa kyselevä korkeamman prioriteetin 2« 78994 laite, joka tulee käyttämään seuraavan väyläsyklin siten estäen kaikkia alemman prioriteetin laitteita käyttämästä seuraavaa väyläsykliä. On huomattava, että korkeamman prioriteetin laitteilta vastaanotetut yhdeksän prioriteettilinjaa siirretään porrastetusti asema kerrallaan signaaleina BSBUOK+ - BSMYOK+. Kyseessä olevan laitteen vastaanottama BSAUOK+ -signaali vastaa siis seuraavassa korkeamman prioriteetin laitteessa vastaanotettua BSBUOK+ -signaalia.
Päätettyään prioriteettisyklin ja aiheutettuaan binääri NOLLA-tilan sijoittamisen BSDCNN- linjalle, signaalin vastaanottaa vastaanotin 24 kaikissa kuvion 8 mukaisissa logiikoissa. Tämä aiheuttaa binääri YKSI-tilan syntymisen vastaanottimen 24 lähdössä ja binääri NOLLAN järjestymisen EI-TAI-portin 26 lähdössä sillä tavalla estäen JA-porttia 12 synnyttämästä binääri YKSI-tilaa. Lisäksi viivelinja 25, joka on esimerkin mukaisesti kestoltaan 60 nanosekuntia, vastaanottaa binääri YKSI-tilan vastaanottimen 24 lähdössä. Viivelinjan 25 lähtö vastaanotetaan myös EI-TAI-portin 25 toiseen tuloon jatkuakseen estämään porttia 12, kun poiminta (strobe) syntyy. Viivelinjaperiodin lopussa, jonka periodin viivelinja 25 on aikaansaanut, synnytetään poimintasignaali (BSDCND+), jonka kääntö (inversio) so. BSDCND-signaali on esitetty ajoituskaaviossa kuviossa 7. Seuraavassa kuvataan poimintasignaalin käyttöä. Siis viivelinjan 25 aikaansaama 60 nanosekunnin periodi mahdollistaa voittavan laitteen, so. korkeimman prioriteetin kyselevän laitteen, käyttää hyväkseen seuraava väyläsykli häiriöttä. Viivelinjan 25 lähdössä synnytettyä poimintaa käyttää mahdollinen seuraaja tahdistavana signaalina.
Jos poimintasignaali on lähetetty, niin silloin se yksiköistä, joka on määritelty seuraajaksi, vastaa yhdellä signaaleista ACK, WAIT tai NACK, joka vastaanotetaan yhdessä portin 21 tulossa.
Jos tyypillisessä tapauksessa esim. ACK vastaanotetaan tai jokin näistä vastesignaaleista, niin tämä palauttaa lupakiikun 22 25 7 8 9 9 4 portin 21 kautta alkutilaansa. Tämä vaste on näytetty ajoitus-kaaviossa kuviossa 7, jossa BSACKR- signaali on näytetty vastaanotetun muistista (save) sillä tavalla aiheuttaen BSDCNN-signaalin vaihtumisen binääri YKSI-tilaan lupakiikun 22 palautuksella alkutilaan. Kiikku 15 palautetaan alkutilaansa EI-TAI-portin 29 kautta, jos lupakiikku 22 on asetettu tai jos väylän nollaussignaali (BSMCLR+) (bus clear signal) vastaanotetaan väylällä. Kiikku 17 palautetaan alkutilaan, jos kokonaisnollaus signaali (MYMCLR- master clear signal) vastaanotetaan.
Kun lupakiikku 22 on asetettuna, niin sen Q-lähtö (MYDCNN-) menee binääri NOLLA-tilaan, minkä jälkeen, kun lupakiikku 22 on palautettu alkutilaansa menee Q-lähtö tilasta binääri NOLLA tilaan binääri YKSI, siten tehokkaasti palauttaen kyselykiikun 17 tilaan NOLLA, kuten seuraavassa selitetään. Kuten voidaan huomata aiemmin mainitusta patentista US 4 030 295, niin kyselykiikun 17 osoitettiin palautuvan alkutilaan joko ACK-, NACK-tai kokonaisnollaussignaalilla (master clear signal). ACK- tai NACK-signaalien suhteen tämä olettaa että laite, jonka kysely-kiikku 17 tullaan palauttamaan alkutilaan, ja että paikallisessa muistissa kuten flip-flopissa oli säilytettynä se tosiasia, että se odotti joko ACK-, NACK- tai WAIT-signaalia. Edelleen kukin yksikkö tarvitsi logiikan, joka voisi huomata, että itseasiassa tällainen ACK- tai NACK-signaali oli vaste seuraajayk-siköltä tälle nimenomaiselle yksikölle. Muutoin NACK- tai ACK-signaali kytkisi palauttamaan alkutilaan kaikki kiikut 17 sillä tavalla vaatien, että kukin tällainen kyselykiikku 17 asetettaisiin uudelleen. Lisäksi logiikka minimoidaan järjestelmässä palauttamalla tämä tietty yksikkö alkutilaansa. Tämä saavutetaan edullisesti yhdistämällä lupakiikun 22 Q-lähtö kyselykiikun 17 kellotuloon. On huomattava, että ACK-, NACK- kuten myös WAIT-signaalia käytetään palauttamaan lupakiikku 22 alkutilaansa mutta itseasiassa vain yksi lupakiikku 22 oli voinut olla asetettuna. Kaikkien lupakiikkujen palauttaminen alkutilaansa ei siis vaikuta järjestelmän toimintaan.
26 7 8 9 9 4
Kiikun 17 kellotulon sallimiseksi, tällaisessa kellotulossa vastaanotetun signaalin täytyy olla vaihdos binääri NOLLA-tilasta binääri YKSI-tilaan. Kun kellotulo on näin tehty kykeneväksi (sallittu), niin signaali D-tulossa, so. BSWAIT+ signaali saa tilansa siten siirretyksi kiikun 17 Q-lähtöön. Lisäksi, jotta kiikku 17 tulisi palautetuksi tehokkaasti alkutilaansa, pitää BSWAIT+ -signaalin olla binääri NOLLA, kun kellotulo siten sallitaan. Koska BSWAIT+ -signaali on normaalisti binääri NOLLA, niin kyselykiikun 17 kellotulon ennenaikainen salliminen saattaa erheellisesti palauttaa tämän kiikun alkutilaansa. Asia on näin, koska seuraajayksiköltä tulevaa vastetta ei voida ennakoida, on huomattava että, seuraaja voi vaihtoehtoisesti antaa joko ACK-, NACK- tai WAIT-signaalin, jossa WAIT-signaalin tapauksessa, ei kyselykiikun 17 palautus alkutilaan ole toivottua. Kellotulo pitäisi siis sallia (enable) vain kun vaste on vastaanotettu seuraajayksiköltä. Muutoin saattaa WAIT-signaali olla binääri YKSI-tilassa siten ennenaikaisesti palauttaen kyselykiikun 17 alkutilaan. On nähtävissä, että normaaliolosuhteissa sen vuoksi, että suora kytkentä Q-lähdöstä kiikun 17 kellotuloon säilyttäisi binääri YKSI-tilan tässä kellotulossa ja että sen mukaisesti, kun lupakiikku 22 asetetaan ja sen jälkeen palautetaan alkutilaan, muutos tilassa sallisi kiikun 17 kellotulon. Tämän tilanteen, so. normaalisti binääri YKSI-tilan kiikun 17 kellotulossa, on todettu viivästävän tämän kiikun asetustoiminnan etenemistä, missä Q-lähtö siitä syystä varsinaisesti toteuttaa asetustilan, so. binääri YKSI-tilan. Tarkemmin sanottuna esim. käyttämällä £lip-flopia, jonka osanumero on SN74S74, jota useat yhtiöt valmistavat, esim. Texas Instruments inc. ja Signeties Corporation, jonka flip-flopin kellotulon ollessa binääri YKSI-tilassa, asetustoiminnon vaikutuksen tajuaminen vie kaksi kertaa pidemmän ajan kuin se veisi, jos kello-tulo on binääri NOLLA-tilassa. Niinpä kuten voidaan nähdä kiikun 22 kellotulon maakytkennästä, tämä varmistaa nopeamman asetustoiminnon tälle lupakiikulle 22 ja on siis kyselykiikulle 17 toivottavaa mahdollistaa tämä logiikan nopeuden lisäys. Tämän 27 78994 takia ja sen tosiasian takia, että kyselykiikku 17 ei tulisi tehokkaasti palautetuksi alkutilaansa ennen kuin seuraajalta tulee vaste, elementit 35 ja 37 on kytketty logiikkaan siten kuin seuraavassa selitetään.
Ennen tätä selitystä on kuitenkin huomattava, että kääntäjän (inverter) ryhtyminen toimenpiteisiin suoraan lupakiikun 22 Q-lähdön ja kyselykiikun 17 kellotulon välissä ei olisi tyydyttävää, vaikkakin tämä tarjoaisi normaalisti binääri NOLLA-tilan kyselykiikun 17 kellotulossa. Tämä tilanne ei olisi tyydyttävä, koska binääri YHDESTÄ - binääri NOLLAAN-muutoksesta kiikun 22 Q-lähdöstä, kun ko. kiikku on asetettuna, tulisi binääri NOLLASTA - binääri YHTEEN-muutos, mikä sallisi ennenaikaisesti kiikun 17 kellotulon, so. ennen kuin tiedetään, mikä seuraajalta tuleva vaste tulee olemaan.
Niinpä tarvitaan kääntäjä 35 kiikun 37 ohella. Kuten kysely-kiikkua 27, ei kiikun 37 kellotuloa sallita ennen kuin tapahtuu muutos binääri NOLLA-tilasta binääri YKSI-tilaan tai toisin sanoen ylöspäinen tilanmuutos. Tämä vastaanotetaan, kuten yllä on selitetty, kun lupakiikku 22 palautetaan alkutilaansa EI-TAI-portin 21 avulla.
Kiikku 37 sisältää kellotulon lisäksi asetustulon (S * set), tietotulon (D data) ja palautustulon (R » reset). Asetustulo estetään tehokkaasti asettamalla tulo binääri YKSI-tilaan MYPLUP+ -signaalin avulla, joka ei ole muuta kuin signaali, joka on vastaanotettu ylösvetovastuksen (pullup resistor) kautta plus napaan. Kiikun 37 D-tulo on myös kytketty MYPLUP+ -signaaliin. Normaalisti EI-TAI-portin 26 lähtö on binääri YKSI ja sen mukaisesti kääntäjän 35 lähtö (BSDCND+) on binääri NOLLA. Nämä tilat muuttuvat kun BSDCNN+ -signaali menee binääri NOLLA-ti-laan ajan 7-C kuluttua, so. aika 7-C plus viiveperiodi, joka liittyy elementteihin 24 ja 26. Siis pian ajan 7-C jälkeen EI-TAI-portin 26 lähtö muuttuu binääri NOLLA-tilaan siten aiheut 28 78994 taen binääri YKSI-tilan kiikun 37 R-tulossa. Huomataan, että muutos binääri YKSI-tilasta binääri NOLLA-tilaan palauttaa kiikun 37 alkutilaansa aiheuttaen binääri NOLLA-tilan kiikun 37 Q-lähdössä (MYREQR+). Binääri YKSI-tila kääntäjän 35 lähdössä jatkuu niin pitkään kuin BSDCNN- signaali on binääri NOLLA ja 60 nanosekuntia sen jälkeen, mikä on vastaava viiveen 25 viive-periodin kanssa. Pian sen jälkeen kun lupakiikku 22 on palautettu alkutilaansa ja ennen kuin BSDCNN- signaali on vaikuttanut EI-TAI-portin lähtöön, sallitaan kiikun 37 kellotulo niin, että binääri YKSI-tila D-tulossa aiheuttaa kiikun 37 Q-lähdön muuttumisen binääri NOLLA-tilasta binääri YKSI-tilaan siten kellottaen (clocking) kiikun 17. Hetkellä, jolloin ei ole enää poimintasignaalia läsnä so. BSDCND+ -signaalia, kuten voidaan nähdä BSDCND- signaalin suhteen ajoituskaaviosta kuvio 7, ja tarkemmin sanottuna, hetkellä 7-G EI-TAI-portin 26 lähtö muuttuu takaisin binääri YKSI-tilaan siten aiheuttaen kääntäjän 35 lähdön muuttumisen binääri YKSI-tilasta binääri NOLLA-tilaan siten palauttaen kiikun 37 alkutilaan. Tämä varmistaa sen, että kiikku 37 tullaan palauttamaan alkutilaansa ennen kiikun 37 kellotulon sallimista. Sen jälkeen binääri NOLLA-tila jatkaa olemistaan kiikun 37 Q-tulosignaalissa MYREQR+, kunnes edellä mainittu operaatio alkaa taas.
Kuten edellä on kerrottu, niin kyselykiikun 17 ja EI-JA-portin 19 välinen liitäntä on riippuvainen yksikön asemasta väylällä 200. Tarkemmin sanottuna elementti 28 tässä liitännässä kiikun 17 ja EI-JA-portin 19 välillä on suora kytkentä kaikilla yksiköillä, joista mikään ei ole korkeimman prioriteetin yksikkö. Yksiköllä, joka on korkeimman prioriteetin yksikkö ja tarkemmin sanottuna, kuvion 1 mukaan, muistilla 202 tämä elementti 28 on viive-elementti, joka on samanlainen viiveen 13 kanssa ja, kuvion mukaisesti, voi sisältää 20 nanosekunnin viiveen. Syy tähän on se, että korkeimman prioriteetin yksiköllä sen EI-JA-portin 19 yhdeksän ylintä tuloa ovat binääri YKSI-signaali. Tämä binääri YKSI-signaali saadaan kullekin tällaiselle yhdeksäl 29 78994 le linjalle niihin kytketyn ylösvetovastuksen (pullup resistor) avulla, jonka toinen pää on kytketty +-jännitelähteeseen samalla tavalla kuin MYPLUP+ -signaali. EI-JA-portin 19 kunkin yhdeksän tulon ollessa binääri YKSI, ja BSDCNB- signaalin ollessa normaalisti binääri YKSI ja edelleen olettamalla että käyttäjävalmis-signaali (user ready signal, MCDCNP+, kuviossa 8) on binääri YKSI-tilassa, niin silloin ilman viive-elementtiä 28 korkeimman prioriteetin yksikön logiikassa tämä korkeimman prioriteetin yksikkö voittaisi aina pääsyn väylälle tulematta alttiiksi viiveen 13 tarjoamalle viiveelle. Siis järjestämällä viive elementtiin 28 tämä estää korkeimman prioriteetin laitetta asettamasta lupakiikkuaan esim. 20 nanosekunnin ajanjakson ajan sen hetken jälkeen, kun se asettaa kvselykiikkunaa 17. Korkeimman prioriteetin yksikössä ja vastaavasti viive-elementin 28 kanssa voi olla suora kytkentä muiden portin 19 tulojen kanssa portin 19 sallimisen välttämiseksi, joka salliminen voi tapahtua hetkellisen pulssin takia, jonka kiikun 17 Q-lähtö on synnyttänyt esim. kilpailutilanteen vuoksi kuvion 8 logiikassa.
Tällä tavalla on korkeimman prioriteetin yksikkö myös este, joka estää pääsyn anomisen väylälle 200 toisen yksikön väyläeyk-lin aikana. Näin tapahtuu sen vuoksi, että signaali BSDCNG- on binääri NOLLA, jos toinen väyläsykli on meneillään. Voidaan nähdä, että tämä korkeimman prioriteetin yksikön prioriteetti-logiikan estäminen voidaan saavuttaa muilla tavoilla. Esimerkiksi, kuten on selitetty aiemmin mainitussa US-patentissa, voidaan viiveen 13 lähtö kytkeä EI-JA-portin 19 toiseen tuloon, missä tapauksessa kunkin yksikön kussakin prioriteettilogiikas-sa tämä korvaisi BSDCNB- signaalin tarpeen portin 19 yhdessä tulossa ja viive-elementin 28 tarpeen korkeimman prioriteetin yksikön prioriteettilogiikassa. Kuitenkin logiikassa, joka vaatii äärimmäistä nopeutta, kuten tässä osoitetaan, komponentti-valinnasta riippuvat kuormitusilmiöt voivat aiheuttaa ongelman. Niinpä tässä selitetyssä tekniikassa viiveeseen 13 sisältyy kaksi elementtikuormitusta vastakohtana kolmelle elementtikuor- 30 78994 mitukselle. Voidaan edelleen nähdä, että tällainen kuormitus-ongelma voitaisiin estää sijoittamalla ajuri tai vahvistava elementti viiveen 13 lähtöön, jonka ajurin lähtö olisi kytkettynä EI-JA-porttiin 19, EI-TAI-porttiin 14 ja JA-porttiin 20, jolloin kuormitusongelmaa ei esiinny. Kuitenkin tällä on prio-riteettilogiikan toimintaa hidastava vaikutus, joka hidastus määräytyy etenemisviiveestä tällaisen ajurielementin lävitse.
WAIT-signaalin syntyminen miltä tahansa ohjaimelta sallii korkeamman prioriteetin laitteen tai ohjaimen keskeyttää väyläsyk-lien peräkkäisen järjestyksen ja käyttää väylää jos se on tarpeellista. Jos ei ole korkeamman prioriteetin yksikköä, joka kyselee palvelua niin tietty pääyksikkö/seuraaja-järjestys säilytetään kunnes pääyksikkö vastaanottaa kuittauksen siten lopettaen odotus (WAIT)-tilanteen. Tämän jälkeen sallitaan toisen käyttäjän käyttää väylää. BSDCNN+ -signaali sallii siis seuraajan synnyttää minkä tahansa kolmesta vasteesta, joko NACK-, WAIT- tai ACK-signaalit. Jokaisen näiden vasteiden lopussa tapahtuu uusi prioriteettiverkkosykli ja tämä tietty laite anoo pääsyä väylälle tai toinen korkeamman prioriteetin laite voittaa pääsyn väylälle. Tässä kohdassa pitäisi ymmärtää, että signaalin tilat väylällä ovat binääritilaltaan käänteisiä verrattuna niihin signaaleihin, jotka on esitetty yksiköiden sisäisinä. Esim. väyläkyselysignaali viitataan väylällä, esim. ajurin 18 ja vastaanottimen 11 välillä kuviossa 8, olevan yhdessä tilassa ja päinvastaisessa tilassa itse ohjaimissa. Edelleen, kuten aiemmin on osoitettu, niin neljäs vaste minkä tahansa väylälle kytketyn ohjaimen välillä on se, ettei ole ollenkaan vastetta. Siis, jos yksi pääyksiköistä kutsuu palvelua muistilta, eikä tätä muistia ole asennettu väylälle, niin aikakatkaisu-elementti, joka on sinänsä tunnettu, synnyttää signaalin tietyn ajanjakson jälkeen kuten esim. 5 mikrosekunnin, siten synnyttäen NACK-signaalin. Sillä hetkellä voi keskusyksikkö ryhtyä toimenpiteisiin, sellaisella kuin keskeytysrutiinilla (interrupt tai trap).
3i 78994
Kuten aikaisemmin on osoitettu, kun informaatiota siirretään muistista, ei muisti voi koskaan vastaanottaa NACK- tai WAIT-signaalia. Näin tapahtuu tämän keksinnön mukaisen laitteen sisäisen prioriteettijärjestyksen takia. Muisti on korkeimman prioriteetin yksikkö. Jos yksikkö on pyytänyt muistia lähettämään informaatiota, niin silloin yksikkö voi odottaa informaatiota jollain ajan hetkellä. Jos yksikkö synnyttää WAIT- tai NACK-signaalin muistille, niin sen vuoksi, että muisti on korkeimman prioriteetin yksikkö, voisi muisti jatkaa yrittämistä anoa pääsyä tietylle ohjaimelle, joka kyseli tiedonsiirtoa ja voisi jäädä "jumiin" väylällä (hang up), so. se voisi, koska muisti on korkeimman prioriteetin yksikkö aiheuttaa sen, että väylä estää tehokkaasti enemmät tiedonsiirrot kunnes tietty ohjain, joka oli aiemmin kysynyt sitä, hyväksyy tiedon. Käytännössä muistinohjaimen prioriteettiverkkologiikka on vähän erilainen kuin kuviossa 8 esitetty. Kuviossa 8 WAIT- tai NACK-vaste muistille johtaa lupakiikun 22 palautukseen alkutilaan BSWAIT+ tai BSNAKR+ -signaalin ansiosta, jotka signaalit esiintyvät El-TAl-portin 21 lähdössä. Tämä johtaa käyttäjäkiikun 15 ja EI-TAI-portin 29 palauttamiseen alkutilaan, mikä johtaa ky-selykiikun 17 palauttamiseen alkutilaan. Muistinohjaimen prio-riteettiverkkologiikassa käyttäjäkiikun 15 Q-lähtö yhdistetään kyselykiikun 17 palautus (R reset) tuloon. Näiden nollausten vaikutus on se, että WAIT- tai NACK-vaste muistille johtaa siihen, että muisi ei enää yritä siirtää tietoa kyselevälle yksikölle ja tieto joutuu itseasiassa hukkaan. Voidaan siis tehdä vain kuittaussignaali vasteena muistin kyselyyn tiedon hyväksymiseksi. Ohjaimen sallitaan kuitenkin synnyttää NACK- tai WAIT-signaali toiselle ohjaimelle tai ohjainsuorittimelle ilman tiedon hukkaamista. Lisäksi on yleisenä sääntönä, että jos yksi ohjain kyselee informaatiota korkeamman prioriteetin ohjaimelta niin kyselevän ohjaimen täytyy olla valmis hyväksymään informaatio ja siis vastata ACK-signaalilla.
Jos laite ei ole valmis, niin silloin syntyy NACK-signaali, 32 78994 muitten ehtojen ollessa täytetty. Syy siihen, miksi NACK-signaali syntyy mielummin kuin WAIT-signaali, on se, että koska tyypillisesti jos ohjain, kuten ohjain 210, on varattu, niin pääte on varattu kauemmin kuin muutaman mikrosekunnin, pikemminkin millisekunteja. Sykliaika menisi hukkaan, jos osoitus pääyksikölle olisi, että pääyksikkö jatkaa yrittämistä. Pikemminkin osoituksen pitäisi olla, että kyselevä yksikkö jatkaa tietojenkäsittelyä mielummin kun tarpeettomasti käyttää väylä-syklejä siten viivyttäen järjestelmän kokonaisvastetta. Kaikki, mitä kyselevän yksikön tarvitsee tehdä on yrittää uudelleen tarkoitettua siten kuin kyselevälle yksikölle sopii.
Muunnettu prioriteettiverkkologiikka
Kuvio 9 esittää keksinnön mukaisen muunnetun prioriteettilogii-kan, joka sallii alemman prioriteetin yksikön ottaa korkean prioriteetin aseman väylällä ja kysellä väyläsykliä, saada aikaan keskeytys (tie-breaking) ja synnyttää tietosykli-nyt-signaali (BSDCNN- data cycle now signal). Kaikilla muilla väylän yksiköillä on samanlainen logiikka kättelytoimintoa (hand shaking function) varten, esim. keskusyksiköllä on kuviossa 8 esitetty prioriteettiverkkologiikka. Kuviossa 9 on esitetty muunnettu prioriteettiverkkologiikka, joka sallii CPU:n (keskusyksikön) pysyä alimman prioriteetin yksikkönä, mutta sijaita fyysisesti väylällä 200 muistin viereisessä asemassa muistilla ollessa väylän korkein prioriteetti. So. käyttämällä kuvion 9 mukaista muunnettua prioriteettilogiikkaa, kuvion 1 keskusyksikkö 206 voisi fyysisesti olla sijoitettuna muistin 204 ja tieteellis-matemaattisen yksikön 208 välissä. Logiikka elementtien ja toimintojen samankaltaisuuden vuoksi kuvioiden 8 ja 9 prioriteettiverkkologiikkojen välillä selvitetään seuraavassa vain niiden välisiä eroavaisuuksia. Kuviossa 9 elementit 11M, 12M, 13M, 14M, 18M, 19M, 20M, 21M, 22M, 23M, 24M, 25M, 26M, 28M ja 35M ovat identtisiä ja toiminnoiltaan samoja kuin vastaavat elementit 11-35 kuviossa 8. Elementit 15M, 33 7 8 9 9 4 16M, 17M ja 37M kuviossa 9 ovat samanlaisia kuvion 8 element·* tien 15-37 kanssa ja seucaavassa kerrotaan vain eroista. Kuvion 8 elementti 29 ei esiinny kuvion 9 muunnetussa prioriteetti-verkkologiikassa ja elementit 40M, 41M ja 42N on lisätty logiikkaan kuviossa 9.
Ennen kuvion 9 logiikan yksityiskohtaista selostusta valaistaan lyhyesti syytä CPU:n, joka on alimman prioriteetin yksikkö väylällä, sijoittamista muistin viereen, joka on korkeimman prioriteetin yksikkö. Muistiyksiköiden täytyy olla korkeimman prioriteetin yksiköitä väylällä niin, että väyläsyklin toisen puoliskon aikana muisti voi kysellä väylää ja voittaa sen ohi minkä tahansa muun väylää kyselevän yksikön ja siis varmistua, että muistilla on mahdollisuus palauttaa tietoa sille yksikölle, joka on tehnyt muistikyselyn. Jos muisti ei olisi korkeimman prioriteetin yksikkö väylällä, sen jälkeen kun ensimmäinen yksikkö on tehnyt muistikyselyn ja ennen kuin muistilla on ollut tilaisuus palauttaa kyselty tieto ensimmäiselle yksikölle väyläsyklin toisen puoliskon aikana, niin toinen yksikkö voisi tehdä muistikyselyn ja huomata että muisti oli varattu. Jos toinen yksikkö olisi prioriteetiltaan korkeampi kuin muisti, niin sen jatkuva väylän kysely estäisi muistia voittamasta väylää ja palauttamasta tietoa ensimmäiselle kyselevälle yksikölle. Tämä tilanne, jossa toinen yksikkö jatkaisi kyselyn tekemistä, jolla olisi korkeampi prioriteetti kuin muistin vastaavalla, johtaisi keskinäiseen lukkiintumiseen (deadly embrace) ja siten estäisi kaikkia muita yksiköitä anomasta pääsyä väylälle. Sen vuoksi täytyy järjestelmä organisoida sellaiseksi, että muisti on korkeimman prioriteetin yksikkö väylällä. Tässä keksinnössä on kysymys siitä, että siinä kuviossa 8 esitetty prioriteettiverkkologiikka muunnetaan kuviossa 9 esitetyksi muunnetuksi prioriteettiverkkologiikaksi, joka sallii CPUjn sijoittamisen fyysisesti muistin viereiseksi väylällä samalla kun CPU säilytetään matalimman prioriteetin yksikkönä väylällä, vaikka sitä ei ole sijoitettu väylän fyysisesti matalan prioriteetin päähän.
34 7 8 9 9 4
Kuten edellä olevasta huomataan puhuttaessa kuviosta 8, jos kuvion 8 prioriteettiverkkoa käytettäisiin CPU:ssa silloin, kun se olisi sijoitettuna fyysisesti muistin viereen väylällä, niin joka kerta kun CPU ja jokin toinen väylälle sijoitettu ei-muistiyksikkö kyselisivät samanaikaisesti väylän käyttöä niin CPU voittaisi väylän, koska CPU on fyysisesti väylällä korkeamman prioriteetin asemassa. Jos CPU ja toinen yksikkö eivät tee samanaikaisesti kyselyä, niin ensimmäinen kyselyn tekevä yksikkö voittaisi väylän ja toinen yksikkö lykkää kyselynsä tekemistä kunnes väylä tulee vapaaksi. Sen vuoksi kuvion 8 pr toriteet-tiverkkologiikka pohjimmiltaan määrää voittajan samanaikaisten kyselyjen välillä. Kyselyt ovat samanaikaisia, kun kaksi tai useampi yksikkö väylällä kukin asettaa kyselykiikkunsa 17 samalla hetkellä tehden siten BSREQT- signaalinsa binääri NOLLAKSI ja synnyttäen väyläsyklin. Kuten huomataan kuvion 8 yhteydessä, jos kaksi tai useampi yksiköistä samanaikaisesti asettaa kyselykiikkunsa 17, niin yksikkö, joka on korkeimman prioriteetin asemassa, voittaa väyläsyklin ja asettaa lupakiikkunsa 22. Ensimmäisen väyläsyklin päättyessä, jonka jakson korkeimman prioriteetin yksikkö samanaikaisesti kyselevistä yksiköistä oli voittanut, on hävinneillä yksiköillä yhä kyselykiikkunsa 17 asetettuna ja toinen väyläsykli pannaan alulle ja tämän väylä-syklin voittaa korkeimman prioriteetin yksikkö, jolla on kyselykiikkunsa asetettuna. Tämä prosessi jatkuu kunnes kaikki yksiköt, joilla on kyselykiikkunsa asetettuna ovat saaneet palvelua ja niiden kyselykiikut ovat palautetut alkutilaansa.
Juuri tätä kuvion 8 prioriteettiverkkologiikan toimintoa on käytetty pohjana prioriteettiverkon muuttamiseksi kuvion 9 muunnetun prioriteettiverkkologiikan aikaansaamiseksi, joka logiikka sallii CPU:n olla sijoitettuna väylällä muistin viereen. Kuten kuviossa 9 on osoitettu, niin kuvion 8 prioriteettiverk-kologiikkaa on muunnettu siten, että CPU ei edes kilpaile väylästä, jos toinen yksikkö kyselee väylää. Siis CPU, joka tulee olemaan alimman prioriteetin yksikkö pysyy poissa väylältä, jos 35 7 8 9 9 4 mikä tahansa toisista yksiköistä, jotka kaikki ovat korkeammalla prioriteetilla, on jo kyselemässä väylän käyttöä. Seuraavak-si on havaittu, että on vain hyvin harvoja kertoja, kun väylää ei ole jo kyselty, jolloin sekä CPU että toinen yksikkö samanaikaisesti tekee väyläkyselyn, ja noissa harvoissa tapauksissa, joissa tällainen tilanne syntyy, on sallittua sallia CPU:n, jonka on oltava matalimman prioriteetin yksikkö, voittaa väylä ohitse minkä tahansa muun yksikön väylällä. Näitä harvoja kertoja, joissa CPU ja toinen korkeamman prioriteetin yksikkö kyselee väylää samanaikaisesti, käsitellään samalla tavalla kuin sitä, jossa CPU kyselee väylää vähän korkeamman prioriteetin yksikköä edellä ja siten voittaa väylän. Tämä johtaa siihen, että CPU voittaa väylän vähän useammin kuin jos se olisi ollut sijoitettuna väylän matalimman prioriteetin päähän.
CPU tekee väyläkyselyjä vain kun CPU on valmis lähettämään tai vastaanottamaan tietoa toiselle yksikölle tai yksiköltä, joka on kytketty väylään. Viitaten jälleen kuvioon 9, kun CPU toivoo pääsyä toiselle väylän yksikölle signaali MYASKS- tulee binääri NOLLAKSI ja asettaa käyttäjäkiikun 15M. Käyttäjäkiikun 15M asettaminen aiheuttaa sen Q-lähdön, signaalin MYASKQ+ tulemisen binääri YHDEKSI. Signaalin MYASKQ+ ollessa binääri YKSI JA-portin 40M yhdessä tulossa, kun signaali MYASKS- palaa binääri YKSI-tilaan, JA-portin 40M lähtö, signaali MYASKK+, tulee binääri YHDEKSI ja osittain sallii EI-JA-portin 16M. Edullisessa suoritusmuodossa on lisätty JA-portti 40M koska siirtonopeus on ulkonaisesti vaihteleva ja vaikuttaa sen ajan pituuteen, jossa signaali MYASKS- on binääri NOLLA-tilassa. Jos signaali MYASKS-pysyy binääri NOLLA-tilassa kauemmin kuin kyselysykli kestää väylällä, niin on olemassa mahdollisuus, että signaali MYASKS-voisi vielä olla binääri NOLLA-tilassa sen jälkeen, kun CPU oli kysellyt väylää, kilpaillut väylästä ja voittanut väylän ja halunnut palauttaa käyttäjäkiikun 15M alkutilaan. Siksi JA-portti 40M estää kyselyn tekemisen ennen kuin signaali MYASKS- palautuu binääri YKSI-tilaan. JA-portti 40M ei olisi välttämätön ja 36 7 8 9 9 4 käyttäjäkiikun 15M Q-lähtö menisi suoraan EI-TAI-porttiin 16M, jos järjestelmä on suunniteltu sellaiseksi, että signaali MYASKS- asettaessaan käyttäjäkiikun 15M olisi binääri NOLLA-tilassa ajan joka on pienempi kuin se aika joka tarvitaan siihen, että käyttäjä voittaa väyläsyklin.
Ensimmäinen merkityksellinen muutos kuvion 8 prioriteettiverk-kologiikan ja kuvion 9 muunnetun prioriteettiverkkologiikan välillä on EI-JA-portissa 16M. EI-JA-portissa 16M on, sen lisäksi, että siinä on kaksi tulosignaalia, jotka ovat kuvion 8 EI-JA-portissa 16, myös kaksi lisätuloa. Nämä kaksi lisätuloa ottavat huomioon muunnetun prioriteettiverkkologiikan sen lisäksi, että ne varmistavat ettei väylä ole varattu ennen kuin käyttäjäkiikku 15M asettaa kyselykiikun 17M, niin ne varmistavat myös, että mikään muu väylän yksikkö ei ole kyselemässä väylän käyttöä. Tarvitaan kaksi signaalia väyläkyselyjen tilan tutkimiseksi. Ensimmäinen signaali on MBREQT-, joka on kääntäjän 4IM lähtö, jonka tulo johtuu signaalista BSREQT- väylältä itseltään sen jälkeen kun se on käännetty vastaanottimella 11M. Signaali MBREQT- tulee siis olemaan binääri YKSI-tilassa ja osittain sallii EI-JA-portin 16M, kun mikään muu yksikkö väylällä ei ole tekemässä väyläkyselyä. Kuitenkin signaali BSREQT-on kelpo (valid) vain osan ajasta ja siten poimintasignaali, joka on signaali BSDCNB-, on myös tulo EI-JA-porttiin 16M niin, että väyläkyselytila tulee tutkituksi vain, kun signaali BSREQT-on kelpo. EI-JA-portti 16M sallii siis käyttäjäkyselyn, joka on asettanut kiikun 15M kyselykiikun 17M asettamiseksi vain kun väylä ei ole varattu ja kun nämä kaksi lisäsignaalia MBREQT- ja BSDCNB- on lisätty sillöin, kun mikään muu väylän yksikkö ei ole tekemässä kyselyä. Siis kun portti 16 sallitaan täysin, kun sillä on neljä binääri YKKÖSTÄ tulossaan, sen lähtö tulee binääri NOLLAKSI ja asettaa kyselykiikun 17M.
Toinen merkityksellinen muutos, joka tehtiin kuvion 8 priori-teettiverkkologiikkaan kuvion 9 muunnetun prioriteettiverkkolo- 3? 78994 giikan aikaansaamiseksi aiheuttaa käyttäjäkiikun 15M palautuksen alkutilaansa. Kuvion 8 prioriteettiverkkologiikassa voidaan käyttäjMkiikku 15 palauttaa alkutilaansa heti kun kyselykiikku 17 on asetettu. Kuvion 8 prioriteettiverkkologiikassa palautetaan käyttäjMkiikku 15 kun lupakiikku on asetettu lupasyklin alussa. Kuvion 8 prioriteettilogiikassa käyttäjäkiikun 15 aikainen palautus ei johtaisi käyttäjäkyselyn hukkaanmenoon tapauksessa, jossa kyselevä yksikkö kilpailisi väylästä ja sille annettaisiin lupa väylälle, so. lupakiikku 22 asetettaisiin mutta kuitenkin vastaava (responding) yksikkö odottaisi. Kuvion 8 prioriteettilogiikassa tämän tapauksen, jossa kyselevä yksikkö voittaa väylän käytön, mutta vastaava yksikkö sitten odottaa sitä, hoitaa BSWAIT+ signaali kyselykiikun 15 tietotulossa (D· data input), jonka kiikun signaali MYREQR+ kellottaa niin, että kyselykiikku 15 tulee taas kerran asetetuksi, kun vastaava yksikkö odottaa kyselevää yksikköä ja kysely tehdään uudelleen vaikkakin käyttäjäkiikku 15 on palautettu alkutilaansa.
Kuitenkin tämä lähestymistapa on epäasianmukainen eikä se1 toimisi kuvion 9 muunnetussa prioriteettiverkkologiikassa. Jos tätä samaa lähestymistapaa käytettäisiin kuvion 9 muunnetussa prioriteettiverkkologiikassa, jossa matala prioriteetti voi ottaa korkean prioriteetin aseman väylällä, tämä johtaisi kysely-kiikun 17M palautukseen alkuasemaansa joka kerta, kun matalan prioriteetin yksikköä korkean prioriteetin välissä odottaisi yksikkö, jonka kanssa se haluaa kommunikoida. Tämä voisi johtaa keskinäiseen lukkiintumiseen (deadly embrace), koska matalan prioriteetin yksiköllä olisi kyselykiikkunsa asetettuna ja siis jatkaisi väylästä kilpailemista ja voittaisi väylän (sille myönnettäisiin lupa) ohi muiden korkeamman prioriteetin yksiköiden jotka ovat matalamman prioriteetin asemissa väylän varrella. Tämä johtaisi lukkiumaan (deadlock - umpikujaan päätynyt tilanne, lukkiuma; suom. huom.), koska nämä korkeamman yksiköt matalamman prioriteetin asemissa eivät kykenisi voittamaan väylää ohi matalan prioriteetin yksikön eikä siis palauttaisi nor- 38 78994 maalitilaan tilaa, joka aiheutti vastaavan yksikön vastaamisen WAIT-signaalilla.
Tämän tapauksen ehkäisemiseksi, jossa kun kerran korkean prioriteetin asemassa olevalta matalan prioriteetin yksiköltä tulevalle kyselylle annettiin lupa olla jäämättä väylälle siltä yksiköltä tulevan WAIT-vasteen ansiosta, jonka kanssa kyselijä yrittää kommunikoida, niin kuvion 9 muunnettu prioriteettilo-giikka palauttaa kyselykiikun 17M alkuasemaansa joka kerta kun kyselevälle yksikölle annetaan lupa väylälle pääsyyn lupakiikun 22M asetuksella. Siis kun lupakiikku 22M asetetaan, niin signaali MYDCNN+ sen Q-lähdössä osittain sallii JA-portin 42M. JA-portti 42M tulee täysin sallituksi, kun signaali BSBSY- EI-TAI-portin 14M lähdössä tulee binääri YHDEKSI aiheuttaen JA-portin 42M lähdön, signaalin MYREQR+, tulemisen binääri YHDEKSI ja kellottaen (clock) binääri NOLLAN kyselykiikun 17M tietotulossa (D data input). Tämä palauttaa kyselykiikun 17M alkutilaansa joka kerta kun kyselevälle yksikölle annetaan lupa väylälle pääsyyn. Edelleen se ei johda kyselykiikun 17M automaattiseen uudelleen asettamiseen, jos vastaava yksikkö vastaa WAIT-vasteella. Sillä että kyselykiikkua 17M ei automaattisesti aseteta uudelleen, sallii kuvion 9 muunnettu prioriteettiverkkolo-giikka matalamman prioriteetin asemissa väylälle sijoitettujen korkeamman prioriteetin yksiköiden kilpailla ja voittaa väylä ja sillä tavalla poistaa tilan joka aiheutti vastaavan yksikön vataamisen WAIT-vasteelle. Olisi huomattava, että kun signaali MYREQR+ kellottaa kyselykiikun 17M, niin EI-JA-portin 16M lähtö tulee binääri YHDEKSI, koska signaali BSDCNB on tullut binääri NOLLAKSI ja estänyt EI-JA-portin 16M.
Tämän tilanteen hoitamiseksi, jossa matalan prioriteetin yksikön ollessa korkean prioriteetin asemassa väylällä se on kilpaillut (kysellyt) ja saanut luvan väylälle ja sitten vastaanottanut WAIT-vasteen vastaavalta yksiköltä, WAIT-signaali BSWAIT+ kellotetaan käyttäjäkiikun 15M tietotuloon (D data 3? 78994 input) kiikun 37M Q-lähdöllä, signaalilla MYASKR+. Kiikku 37M suorittaa saman toiminnon kuvion 9 muunnetussa prioriteettiverkkologiikassa, josta se huolehtii kuvion 8 prioriteettiverkkologiikassa, jossa se antaa kellotuspulssin WAIT-vastesignaa-lin tilan kellottamiseksi, joka signaali on BSWAIT+. Ero on siinä, että kuvion 9 muunnetussa prioriteettilogiikassa WAIT-vastesignaali kellotetaan kyselykiikkuun 15M kun taas kuvion 8 prioriteettiverkossa tämä signaali kellotetaan kyselykiikkuun 17. Kuvion 9 muunnetussa prioriteettiverkkologiikassa tämä WAIT-vastesignaalin kellotus käyttäjäkiikkuun 15M johtaa käyttäjä-kiikun uudelleen asettamiseen (itseasiassa se yksinkertaisesti pysyy asetettuna), jos vastaava yksikkö ei kyennyt hyväksymään kyselyä kyselevältä yksiköltä ja johtaa käyttäjäkiikun 15M palautukseen alkutilaansa, jos vastaava yksikkö kykeni hyväksymään kyselyn ja siis väylää kyselevän yksikön ja vastaavan yksikön välinen siirto päättyy eikä sitä tarvitse yrittää uudelleen.
Kuvion 9 muunnetussa prioriteettiverkkologiikassa juuri tämä kyselykiikun 17M ehdoton palauttaminen alkutilaansa joka kerta kun kyselevä yksikkö voittaa väylän ja asettaa lupakiikkunsa 22M, joka seuraa ehdotonta käyttäjäkiikun 15M asettamista tai palauttamista funktiona kyselevän (vastaavan) yksikön vasteesta (so. riippumatta siitä antaako vastaava yksikkö WAIT-vasteen vai ei) on se asia joka sallii muunnetun prioriteettiverkkolo-giikan välttää keskinäisen lukkiutumisen tilanteen (deadly embrace). So. kun kerran vastaava yksikkö osoittaa, ettei se voi tällä kertaa vastata kyselevälle yksikölle, niin kyselevän yksikön on poistuttava väylältä. Tämä tehdään palauttamalla ky-selykiikku 17M alkutilaansa niin, että sen Q-lähtö, joka on kytketty väylään ajurin 18M kautta ja on sen vuoksi näkyvä kaikille muille väylään kytketyille yksiköille. Kuvion 9 muunntus-sa prioriteettiverkkologiikassa lupakiikku 22M palautetaan alkutilaansa millä tahansa vastaavan yksikön vasteella (ACK, NACK tai WAIT) EI-TAI-portin 21M kautta samalla tavalla kuin lupa- 4 40 78994 kiikku 22 kuvion 8 prioriteettiveckkologiikassa. Siis käyttäen muunnettua prioriteettiverkkologiikkaa, jos käyttäjän kysely-kiikku 17M palautetaan alkutilaansa joka kerta kun kyselevälle yksikölle myönnetään väyläsykli katsomatta vastaavalta yksiköltä tulevaan vasteeseen, ja käyttäjäkiikku 15M jää asetetuksi, jos vastaava yksikkö vastaa WAIT-vasteella ja palautuu alkutilaansa, jos yksikkö vastaa ACK- tai NACK-vasteella. Tämä johtaa kyselevän yksikön poistumiseen väylältä (so. ottaa pois kyselynsä) joka kerta kun kyselevä yksikkö voittaa väyläsyklin ja johtaa käyttäjäkyselyn jäämisen asetettuun tilaan, jos vastaava yksikkö vastaa WAIT-vasteella. Poistumalla väylältä ja kilpailemalla väylästä uudelleen, jos vastaava yksikkö odotti sitä, sallii kyselevä yksikkö, joka on alemman prioriteetin yksikkö, muiden ylemmän prioriteetin yksiköiden, jotka ovat väylällä
V
fyysisesti alemman prioriteetin asemissa, voittaa väylä ja poistaa ehdon, joka aiheutti vastaavan yksikön vastaamisen WAIT-vasteella.
Jos vastaava yksikkö, joka lähetti WAIT-signaalin, odotti kyselevää yksikköä, niin käyttäjäkiikku 15M pysyy asetettuna ja johtaa kyselykiikun 17M palautukseen alkutilaansa, jos mikään muu yksikkö ei ole kyselemässä väylän käyttöä kuten yllä on kuvattu. Kuitenkin tässä tapauksessa, jossa kyselevää yksikköä on juuri odotettu, signaali BSDCNB- EI-JA-porttiin 16M ei tule olemaan binääri YKSI ennen kuin viiveen 25 ajan jälkeen (edullisessa suoritusmuodossa noin 60 nanosekuntia) varmistaen siis, että muilla yksiköillä on tilaisuus kysellä väylää ennen kuin odotettu yksikkö yrittää uudelleen. Kun väylä ei ole ollut varattu, tätä viivettä ei esiinny ja käyttäjäkiikun 15M asettaminen johtaa kyselykiikun 17M välittömään asettamiseen.
Sekä käyttäjäkiikku 15M että kyselykiikku 17M voidaan palauttaa alkutilaansa myös väylän yleisnollauksella (a bus master clear) mikä aiheuttaa signaalin BSMCLR- tulemisen binääri NOLLAKSI niiden palautustuloissa (R * reset input). Tämä on yhdenmukais- « 78994 ta kuvion 8 prioriteettiverkon kanssa, jossa käyttäjäkiikku 15 ja kyselykiikku 17 palautetaan alkutilaansa signaalilla BSMCLR+ (käännettynä EI-TAI-portilla 29) ja signaalilla MYMCLR- tässä järjestyksessä. Porttia, joka vastaisi kuvion 8 EI-TAI-porttia 29 ei ole kuvion 9 muunnetussa prioriteettiverkkologiikassa koska käyttäjäkiikkua 15 ei ehdottomasti palauteta alkutilaansa joka kerta, kun yksikkö voittaa väyläsyklin ja sen vuoksi signaalia MYDCNN+ lupakiikusta 22M ei käytetä myös käyttäjäkiikun 15M palauttamiseen alkutilaansa.
Yllä olevasta selityksestä voidaan arvioida, että signaalit BSREQT- ja BSDCNN- kulkevat rinnakkaisesti kaikkiin yksiköihin väylällä 200 ja juuri näitä signaaleja käytetään määräämään siitä kilpaileeko vai ei yksikkö, joka käyttää muunnettua prio-riteettiverkkologiikkaa yhteisväylän käytöstä. Informaation tila näillä linjoilla ei ole aina kelpoa ja sitä voidaan katsoa tiettyinä hetkinä, kuten poimintaaignaalit määräävät.
Missä tahansa yksittäisessä väyläkyselysyklissä määrätään prioriteetti kaikkien kilpailevien yksiköiden kesken vuorottaisilla yhdeksällä signaalilla BSAUOK+:sta BSIUOK+:oon jotka on ketjutettu (daisy-chained) yksikkö yksiköltä pitkin väylää. Näiden yhdeksän signaalin sarja tekee eri yksiköt väylällä riippuvaiseksi niiden fyysisestä sijainnista väylällä suhteessa sellaiseen prioriteettiin, että kaikista väylästä kilpailevista yksiköistä se yksikkö, joka on lähimpänä väylän korkean prioriteetin fyysistä päätä, voittaa väylän yli kaikkien muiden yksiköiden kohti väylän matalan prioriteetin fyysistä päätä.
Vaikka yllä olevassa selityksessä on pitäydytty tapauksessa, jossa CPU on sijoitettu muistin viereen käytettäessä kuvion 9 mukaista muunnettua prioriteettiverkkologiikkaa, niin muunnettua prioriteettiverkkologiikkaa voisi käyttää mikä tahansa yksikkö, jonka haluttaisiin olevan matalimman prioriteetin yksikkö väylällä. Tuo matalimman prioriteetin yksikkö voitaisiin si- 42 78994 joittaa mihin tahansa fyysiseen asemaan väylän varrella, mukaan luettuna korkeimman prioriteetin fyysinen asema, jos viive 28M otetaan huomioon kuten edellä on kerrottu kuvion 8 viiveen 28 yhteydessä. Syy siihen, että muunnettu prioriteettiverkkolo-giikka sallii matalimman prioriteetin laitteen olla sijoitettuna mihin tahansa fyysiseen asemaan väylällä on se, että muunnos logiikkaan edellyttää, että mikään toinen yksikkö väylällä ei ole tekemässä kyselyä hetkellä, jolloin matalimman prioriteetin yksikkö panee alkuun kyselyn väyläsyklistä.
Vaikka yllä olevassa selityksessä on pitäydytty siihen, että yksi yksikkö väylällä on varustettu muunnetulla prioriteetti-verkkologiikalla, niin itseasiassa on mahdollista, että väylällä on monia yksiköitä, jotka käyttävät muunnettua prioriteetti-verkkologiikkaa. Esimerkiksi järjestelmässä, jossa on monia CPUstä, voi olla toivottavaa ryhmittää kaikki CPUst välittömästi muistin läheisyyteen väylällä. Tässä tapauksessa, jos monet yksiköt käyttävät kuvion 9 muunnettua prioriteettiverkkologiik-kaa, niin kaikki muunnettua prioriteettiverkkologiikkaa käyttävät yksiköt ovat alemmalla prioriteetilla kuin kaikki ne yksiköt jotka käyttävät kuvion 8 muuntamatonta prioriteettiverkkologiikkaa, koska kaikki yksiköt, jotka käyttävät muunnettua prioriteettiverkkologiikkaa katsovat väyläkyselysignaalia ennen kuin ne kilpailevat väylän käytöstä. Tässä tapauksessa, jos useat muunnettua prioriteettilogiikkaa käyttävät yksiköt tekevät samanaikaisia väyläkyselyjä, niin prioriteetti muunnetun prioriteettiverkon yksiköiden kesken määräytyy niiden fyysisen aseman mukaan väylällä, koska kun ne tekevät kyselyn, niin prioriteetti määräytyy signaalien BSAUOK+ - BSIUOK+ ketjuvaiku-tuksella (daisy-chain effect), jotka signaalit ovat tulo EI-JA-porttiin 19M. Siis niiden yksiköiden joukossa, joilla on muunnettu prioriteettiverkkologiikka, sillä yksiköllä, joka on lähinnä väylän korkean prioriteetin fyysistä päätä, on korkein prioriteetti ja yksiköllä, joka on lähinnä väylän matalan prioriteetin fyysistä päätä on matalin prioriteetti ja vällyksi- 43 78994 köillä on välipcioriteetit.
Vaikka edullista suoritusmuotoa on kuvattu ensisijaisesti muodossa, jossa sekoitetaan yksi tai useampia yksiköitä, joilla on kuvion 9 muunnettu prioriteettiverkkologiikka, yksiköiden kanssa, joilla on kuvion 8 muuntamaton prioriteettiverkkologiikka, on yhtä käyttökelpoista jos kaikilla yksiköillä on kuvion 9 muunnettu prioriteettiverkkologiikka paitsi, että tässä tapauksessa palautuu prioriteetin määräytyminen takaisin järjestelmään, jossa kaikkien yksiköiden prioriteetti määräytyy niiden fyysisen aseman mukaan väylällä.
Vaikka keksintöä on kuvattu koskien edullista suoritusmuotoa, on ammattimiehelle selvää, että ylläolevat ja muut muutokset muodossa ja yksityiskohdissa voidaan tehdä poikkeamatta keksinnön hengestä ja puitteista.
Claims (10)
1. Tietojenkäsittelyjärjestelmässä, jossa on kytkettynä monia yksiköitä (202, 204, 208, 210, 212, 214, 206) informaation siirtämiseksi yhteisväylää (200) pitkin kunkin mainitun yksikön ollessa kykenevä informaation siirtämiseen, on hajautettu prio-riteettiverkko, jossa prioriteetti normaalisti määräytyy fyysisen aseman mukaan mainitulla yhteisväylällä (200), mainitun verkon sisältäessä prioriteettilogiikan kussakin mainitussa yksikössä mainitun prioriteettiverkon ollessa, tunnettu siitä, että ainakin yhdessä mainitussa yksikössä on muunnettu prioriteettilogiikka, joka sisältää: Ά. ensimmäisen bistabiilin välineen (15M) asynkronista osoittamista varten, että kyseinen yksikkö on valmis siirtämään informaatiota mainitulla väylällä; B. toisen bistabiilin välineen (17M), joka on reagoiva mainitulle ensimmäiselle bistabiilille välineelle (15M) osoittaen, että mainittu ko. yksikkö on valmis siirtämään informaatiota mainitulla väylällä (200) ensimmäisen signaalin synnyttämiseksi mainitulla väylällä (200) osoittaen kullekin mainituista yksiköistä, että mainittu kyseessä oleva yksikkö on valmis siirtämään informaatiota mainitulla väylällä (200); C. välineet (16M ja 40M), jotka reagoivat mainitun ensimmäisen signaalin poissaoloon väylältä sallimaam mainitun osoituksen mainitulta ensimmäiseltä bistabiililta välineeltä (15M), että mainittu kyseessä oleva yksikkö on valmis lähettämään mainittua väylää (200) informaatiota sen siirtymiseksi mainitulle toiselle bistabiilille välineelle (17M); 45 78994 D. välineen (19M), joka reagoi mainitun ensimmäisen mainitusta toisesta bistabiilista välineestä (17M) tulevan signaalin puuttumiseen kussakin mainitussa yksikössä, jolla on korkeamman prioriteetin fyysinen asema mainitulla väylällä (200) kuin mainitulla ko. yksiköllä sen osoittamiseksi, että mainittu ko. yksikkö on korkeimman prioriteetin yksikkö; E. kolmannen bistabiilin välineen (22M), joka reagoi mainitun toisen bistabiilin välineen (17M) synnyttämään mainittuun ensimmäiseen signaaliin ja osoitukseen, että mikään toinen korkeamman prioriteetin yksikkö ei ole valmis siirtämään informaatiota mainitulla väylällä (200), toisen signaalin synnyttämiseksi mainitulla väylällä; F. välineet (24M, 25M), jotka reagoivat mainitun toisen signaalin vastaanottamiseen mainitulta väylältä (200) poiminta-signaalin synnyttämiseksi informaation vastaanottamisen sallimiseksi mainitulta edustavalta yksiköltä; G. ensimmäisen välineen (21M), joka reagoi siihen kuittaukseen, että mainittu informaatio on vastaanotettu mainitun ko. yksikön mainitun kolmannen bistabiilin välineen (22M) estämiseksi; H. toisen välineen (42M), joka reagoi mainitun kolmannen bistabiilin välineen (22M) estämiseen mainitun edustavan yksikön mainitun toisen bistabiilin välineen ehdottomaksi estämiseksi; ja I. kolmannen välineen (37M), joka reagoi mainitun kolmannen bistabiilin välineen (22M) estämiseen mainitun ensimmäisen bistabiilin välineen (15M) estämiseksi, jos mainittu ko. yksikkö ei vastaanottanut kuittausta, joka osoittaa, että informaation siirtoa mainitulla väylällä (200) olisi yritettävä uudelleen, 46 7 8 9 9 4 ja jolla mainittu yksikkö, jolla on mainittu muunnettu priori-teettilogiikka, on huolimatta fyysisestä asemesta väylällä alemmalla prioriteetilla kuin muut niistä mainituista monista yksiköistä (202, 204, 208, 210, 212, 214, 206) joissa on mainittu prioriteettilogiikka.
2. Patenttivaatimuksen 1 mukainen logiikka, tunnettu siitä, että siinä mainittu kuittaus voi sisältää ensimmäisen kuittaussignaalin, joka osoittaa, että mainittu informaatio on vastaanotettu; toisen kuittaussignaalin joka osoittaa, että mainittua informaatiota ei ole vastaanotettu; tai kolmannen kuittaussignaalin, joka osoittaa, että mainittu informaatio mahdollisesti hyväksyttäisiin, jos se siirrettäisiin uudelleen; ja jossa logiikassa mainttu ensimmäinen estävä väline (21M) reagoi joko mainittuun ensimmäiseen, toiseen tai kolmanteen kuittaussignaaliin; ja joka mainittu logiikka edelleen sisältää välineen (15M), joka on kytketty mainittuun kolmanteen estävään välineeseen (37M) mainitun ensimmäisen bistabiilin välineen (15M) estymisen estämiseksi, jos mainittu ko. yksikkö vastaanottaa mainitun kolmannen kuittaussignaalin.
3. Patenttivaatimuksen 2 mukainen logiikka, tunnettu siitä, että se sisältää välineen (35M), joka reagoi mainittuun poimintasignaaliin mainitun estävän kolmannen välineen (37M) sallimiseksi.
4. Patenttivaatimuksen 2 mukainen logiikka, tunnettu siitä, että mainitussa logiikassa mainittu kolmas estävä väline (37M) on neljäs bistabiili väline ja että mainittu kolmas kuit-taussignaali on kytketty vastaanotettavaksi ensimmäisellä bistabiililla välineellä (15M) vasteena maintun neljännen bistabiilin välineen (37M) toiminnan sallimiselle. 47 7 8 9 9 4
5. Patenttivaatimuksen 1 mukainen logiikka, tunnettu siitä, että se sisältää A. porttivälineen (19M) kytkettynä ilmaisemaan, että ei ole mitään muuta korkeamman prioriteetin yksikköä valmiina siirtämään infofmaatiota väylällä (200)? ja B. kytkennän (28M) mainitun toisen bistabiilin välineen (17M) ja mainitun porttivälineen (19M) mainitun kytkennän sisältäessä (1) suoran yhteyden (28M) prioriteetti logiikassa kussakin mainitussa yksikössä paitsi siinä yksikössä joka on korkeimman prioriteetin asemassa mainitulla väylällä (200), ja (2) viive-elementin (28M) yksikössä, joka on korkeimman prioriteetin fyysisessä asemassa mainitulla väylällä (200) mainitun korkeimman prioriteetin fyysisen aseman omaavan yksikön estämiseksi anomasta pääsyä mainitulle väylälle (200) sillä aikaa, kun toinen mainittu yksikkö siirtää informaatiota mainitulla väylällä (200).
6. Patenttivaatimuksen 1 mukainen logiikka, tunnettu siitä, että se sisältää välineen (21M), joka on kytketty yhteen mainitun kolmannen bistabiilin välineen (22M) kanssa mainitun yksikön estämiseksi käyttämästä mainittua väylää (200) vaikka mainittu yksikkö on korkeimman prioriteetin yksikkö, joka kyselee väylän (200) käyttöä.
7. Patenttivaatimuksen 1 mukainen logiikka, tunnettu siitä, että se lisäksi sisältää välineet (26M, 12M, 13M, 14M) jotka reagoivat mainitun poiminnan poissaoloon mainitun välineen estämiseksi sallimasta mainittua osoitusta mainitulta ensimmäiseltä bistabiililta välineeltä (15M) kunnes mainittu poiminta ilmaantuu. 48 78994
8. Tietojenkäsittelyjärjestelmä, tunnettu siitä, että siinä on prioriteetin määräämisjärjestelmä, joka sisältää A. lukuisia yksiköitä (202, 204, 208, 210, 212, 214, 206), joihin kuuluu muisti (202, 204), tietosuoritin (206) ja vähintään yksi oheislaiteohjain (210, 212, 214) kullakin mainituista laitteista ollessa erilainen prioriteetti ja kunkin mainituista yksiköistä ollessa kykenevä siirtämään informaatiota; B. yhteisväylän (200) kytkettynä kuhunkin mainittuun yksikköön reitin tarjoamiseksi mainitun informaation asynkronista siirtoa varten minkä tahansa kahden mainitun yksikön välillä, mainitulla väylällä ollessa ensimmäinen ja toinen pää, sillä mainituista yksiköistä (202) joka on kytketty lähimmäksi mainittua ensimmäistä päätä ollessa normaalisti korkein prioriteetti, ja sillä mainituista yksiköistä (206), joka on kytketty lähimmäksi mainittua toista päätä ollessa normaalisti matalin prioriteetti, muilla mainituilla yksiköillä (204, 208, 210, 212, 214) ollessa normaalisti prioriteetti, joka on suhteessa niiden läheisyyteen mainittujen ensimmäisen ja toisen pään kanssa; C. prioriteettiverkkologiikan, joka on sisällytetty vähintään yhteen mainituista yksiköistä, jossa prioriteetti määräytyy vain fyysisen aseman perusteella mainitulla väylällä (200) ja D. muunnetun prioriteettiverkon, joka on sisällytetty vähintään yhteen mainituista yksiköistä sisältäen: (1) ensimmäisen välineen (15M) ensimmäisen signaalin asynkronista synnyttämistä varten osoittaen, että kyselevä yksikkö mainituista yksiköistä on valmis siirtämään informaatiota mainitulla väylällä (200) toiselle mainituista yksiköistä, 49 78 994 (2) toisen välineen (17M), joka reagoi mainittuun ensimmäiseen signaaliin osoittaen mainitulla väylällä (200) toisen signaalin synnyttämisellä, että mainittu kyselevä yksikkö on valmis siirtämään informaatiota mainittua väylää (200) toiselle mainituista yksiköistä, (3) kolmannen välineen (19M), joka reagoi mainitulta toiselta välineeltä (17M) tulevaan signaaliin sen ilmaisemiseksi kaikissa yksiköissä, onko mikään yksikkö, joka on fyysisesti korkeammassa prioriteettiasemassa kuin mainittu kyselevä yksikkö, myöskin kyselemässä siirtääkseen informaatiota mainitulla väylällä (200), (4) ensimmäisen logiikkavälineen (19M), joka on kytketty mainittuihin toiseen (17M) ja kolmanteen välineeseen (19M) ilmaisemista varten ja reagoimaan mainittuun toiseen signaaliin kolmannen signaalin synnyttämiseksi jos mikään muu mainittu yksikkö, joka on fyysisesti korkeammassa prioriteettiasemassa, ei myös ole kyselemässä siirtääkseen informaatiota mainitulla väylällä (200) kuten osoitetaan mainitulla kolmannella ilmaisevalla välineellä (19M), (5) neljännen välineen (22M), joka reagoi mainittuun kolmanteen signaaliin neljännen signaalin synnyttämiseksi väylällä ilmaisten, että mainittu kyselevä yksikkö on ainoa mainituista yksiköistä, joka voi sillä hetkellä siirtää informaatiota mainitulla väylällä (200), (6) toisen logiikkavälineen (17M), joka reagoi mainittuun neljänteen minkä tahansa toisen yksikön estävään signaaliin informaation siirtämiseksi mainitulla väylällä sillä aikaa kun kyselevä yksikkö siirtää informaatiota mainittua väylää (200), (7) ensimmäisen logiikaelementin (21M), joka reagoi kuittaukseen, että mainittu informaatio on vastaanotettu mainitun sen yksikön neljännen signaalin synnyttävän välineen (22M) estämiseksi, joka on siirtänyt informaatiota mainitulla väylällä (200), so 78994 (8) kolmannen logiikkaelementin (42M), joka reagoi mainitun signaalin synnyttävän neljännen välineen estämiseen, mainitun yksikön, joka on siirtänyt informaatiota väylällä mainitun toisen osoittavan välineen (17M) ehdotonta estämistä varten, (9) toisen logiikkaelementin (37M), joka reagoi mainitun neljännen signaalin synnyttävän välineen estämiseen mainitun informaatiota väylälle siirtäneen yksikön mainitun ensimmäisen osoittavan välineen (15M) estämiseksi, jos mainittu yksikkö, joka on siirtänyt informaatiota väylällä (200), ei vastaanottanut kuittausta, joka osoittaa, että informaation siirtoa väylällä (200) on yritettävä uudelleen ja jonka avulla mainittu yksikkö, jolla on muunnettu prioriteetti-logiikka on, huolimatta fyysisestä asemasta alemmalla prioriteetilla kuin kaikki muut yksiköt mainituista useista yksiköistä, joilla on mainittu prioriteettilogiikka.
9. Patenttivaatimuksen 8 mukainen logiikka, tunnettu siitä, että logiikassa mainittu kuittaus sisältää joko ensimmäisen kuittaussignaalin, joka osoittaa, että mainittu informaatio on hyväksytty, toisen kuittaussignaalin, joka osoittaa, että mainittua informaatiota ei ole hyväksytty, tai kolmannen kuittaussignaalin, joka osoittaa, että mainittua informaatiota ei ole hyväksytty, mutta että mainittu informaatio mahdollisesti hyväksyttäisiin jos se siirrettäisiin uudelleen, ja jossa mainittu ensimmäinen estävä logiikkaelementti (21M) reagoi joko mainittuun ensimmäiseen, toiseen ja kolmanteen kuittaussignaa-liin ja jossa mainittu logiikka edelleen sisältää välineen (15M), joka on kytketty mainittuun toiseen estävään elementtiin (37M) mainitun ensimmäisen osoittavan välineen (15M) estymisen estämiseksi, jos mainittu kyselevä yksikkö vastaanottaa mainitun kolmannen kuittaussignaalin. 51 78994
10. Tietojenkäsittelyjärjestelmä, jossa on useita yksiköitä (202, 204, 206, 208, 210, 212, 214) kytkettynä siirtämään informaatiota pitkin yhteisväylää (200), jolloin kukin mainituista yksiköistä, kun halutaan siten siirtää informaatiota väylän (202) kautta, kehittää kyselysignaalin, joka johdetaan väylän (200) yhteiseen signaalijohtoon (REQ), jolloin REQ-johdon tietty tila merkitsee sitä, että ainakin yksi yksikkö kysyy pääsyä väylään (200), jolloin hajautettu prioriteetti-verkko varaa prioriteetin pääsyä varten väylään, kun enemmän kuin yksi yksikkö keskenään kilpailevasti synnyttää kyselysignaalin, sen mukaisesti miten kukin yksikkö sijaitsee väylällä (200), sellaisen prioriteettiverkon kuhunkin mainituista yksiköistä liittyvän osan vastaanottaessa signaaleita, jotka edustavat kyselysignaaleita, jotka ovat kehittäneet kaikki ne yksiköt, joille on annettu korkeampi paikkaprioriteetti kuin mainitulla yhdellä yksiköllä, ja kun milloin tahansa jokin siten vastaanotetuista signaaleista merkitsee että vastaava yksikkö on kysynyt pääsyä, mainitulta yhdeltä yksiköltä estetään pääsy väylälle (200), jolloin parannut tietyn yksikön sallimiseksi ottaa mikä tahansa paikka väylällä (200) alhaisimman prioriteetin antamiseksi on tunnettu piiristä (11M, 12M, 13M, 14M, 16, 17M, 40M, 41M), joka on kytketty vastaanottamaan mainitun REQ-johdon signaalin, mainitun piirin reagoidessa mainitun REQ-johdon tilaan, joka merkitsee sitä, että ainakin yksi yksikkö kysyy pääsyä mainittuun väylään, mainitun tietyn yksikön estämiseksi kehittämästä kyselysig-naalia. 52 78994
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45340682 | 1982-12-27 | ||
US06/453,406 US4559595A (en) | 1982-12-27 | 1982-12-27 | Distributed priority network logic for allowing a low priority unit to reside in a high priority position |
Publications (4)
Publication Number | Publication Date |
---|---|
FI834657A0 FI834657A0 (fi) | 1983-12-19 |
FI834657A FI834657A (fi) | 1984-06-28 |
FI78994B true FI78994B (fi) | 1989-06-30 |
FI78994C FI78994C (fi) | 1989-10-10 |
Family
ID=23800450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI834657A FI78994C (fi) | 1982-12-27 | 1983-12-19 | Distribuerad prioritetsnaetslogik foer att moejliggoera att en enhet med laegre prioritet befinner sig i en position foer hoegre prioritet. |
Country Status (9)
Country | Link |
---|---|
US (1) | US4559595A (fi) |
EP (1) | EP0114523B1 (fi) |
JP (1) | JPS59167727A (fi) |
KR (1) | KR900001120B1 (fi) |
AU (1) | AU570656B2 (fi) |
BR (1) | BR8307178A (fi) |
CA (1) | CA1205567A (fi) |
FI (1) | FI78994C (fi) |
YU (1) | YU45583B (fi) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1206331B (it) * | 1983-10-25 | 1989-04-14 | Honeywell Inf Systems | Architettura di sistema di elaborazione dati. |
GB2154400B (en) * | 1984-02-17 | 1987-11-04 | American Telephone & Telegraph | Distributed arbitration circuitry |
US4926419A (en) * | 1985-03-15 | 1990-05-15 | Wang Laboratories, Inc. | Priority apparatus |
US4719622A (en) * | 1985-03-15 | 1988-01-12 | Wang Laboratories, Inc. | System bus means for inter-processor communication |
US4724519A (en) * | 1985-06-28 | 1988-02-09 | Honeywell Information Systems Inc. | Channel number priority assignment apparatus |
JPH0619760B2 (ja) * | 1986-04-23 | 1994-03-16 | 日本電気株式会社 | 情報処理装置 |
US5388228A (en) * | 1987-09-30 | 1995-02-07 | International Business Machines Corp. | Computer system having dynamically programmable linear/fairness priority arbitration scheme |
JPH0786853B2 (ja) * | 1988-02-29 | 1995-09-20 | 株式会社ピーエフユー | バス転送制御方式 |
JPH0276057A (ja) * | 1988-09-13 | 1990-03-15 | Toshiba Corp | I/oリカバリ方式 |
JPH02117242A (ja) * | 1988-10-27 | 1990-05-01 | Toshiba Corp | パケット通信装置のバス制御方式 |
US5077733A (en) * | 1989-02-28 | 1991-12-31 | Wang Laboratories, Inc. | Priority apparatus having programmable node dwell time |
JPH03142504A (ja) * | 1989-10-30 | 1991-06-18 | Toshiba Corp | プログラマブルコントローラ |
US5150466A (en) * | 1990-10-05 | 1992-09-22 | Bull Hn Information Systems Inc. | Flexible distributed bus priority network |
US5241629A (en) * | 1990-10-05 | 1993-08-31 | Bull Hn Information Systems Inc. | Method and apparatus for a high performance round robin distributed bus priority network |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4030075A (en) * | 1975-06-30 | 1977-06-14 | Honeywell Information Systems, Inc. | Data processing system having distributed priority network |
US4096569A (en) * | 1976-12-27 | 1978-06-20 | Honeywell Information Systems Inc. | Data processing system having distributed priority network with logic for deactivating information transfer requests |
US4236203A (en) * | 1978-01-05 | 1980-11-25 | Honeywell Information Systems Inc. | System providing multiple fetch bus cycle operation |
IT1100916B (it) * | 1978-11-06 | 1985-09-28 | Honeywell Inf Systems | Apparato per gestione di richieste di trasferimento dati in sistemi di elaborazione dati |
US4385350A (en) * | 1980-07-16 | 1983-05-24 | Ford Aerospace & Communications Corporation | Multiprocessor system having distributed priority resolution circuitry |
FR2490434B1 (fr) * | 1980-09-12 | 1988-03-18 | Quinquis Jean Paul | Dispositif de resolution des conflits d'acces et d'allocation d'une liaison de type bus interconnectant un ensemble de processeurs non hierarchises |
IT1129371B (it) * | 1980-11-06 | 1986-06-04 | Cselt Centro Studi Lab Telecom | Commutatore di messaggi a struttura distribuita su canale ad accesso casuale per colloquio a messaggi tra unita elaborative |
FR2494010B1 (fr) * | 1980-11-07 | 1986-09-19 | Thomson Csf Mat Tel | Dispositif d'arbitration decentralisee de plusieurs unites de traitement d'un systeme multiprocesseur |
US4494113A (en) * | 1981-03-13 | 1985-01-15 | Hitachi, Ltd. | Method and apparatus for self-control in distributed priority collision |
US4451881A (en) * | 1981-11-03 | 1984-05-29 | International Business Machines Corp. | Data processing system bus for multiple independent users |
US4470112A (en) * | 1982-01-07 | 1984-09-04 | Bell Telephone Laboratories, Incorporated | Circuitry for allocating access to a demand-shared bus |
US4560985B1 (en) * | 1982-05-07 | 1994-04-12 | Digital Equipment Corp | Dual-count, round-robin ditributed arbitration technique for serial buses |
-
1982
- 1982-12-27 US US06/453,406 patent/US4559595A/en not_active Expired - Lifetime
-
1983
- 1983-11-30 AU AU21833/83A patent/AU570656B2/en not_active Ceased
- 1983-11-30 CA CA000442234A patent/CA1205567A/en not_active Expired
- 1983-12-19 FI FI834657A patent/FI78994C/fi not_active IP Right Cessation
- 1983-12-22 EP EP83307916A patent/EP0114523B1/en not_active Expired
- 1983-12-27 YU YU251583A patent/YU45583B/sh unknown
- 1983-12-27 BR BR8307178A patent/BR8307178A/pt not_active IP Right Cessation
- 1983-12-27 KR KR1019830006198A patent/KR900001120B1/ko not_active IP Right Cessation
- 1983-12-27 JP JP58252367A patent/JPS59167727A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
FI834657A0 (fi) | 1983-12-19 |
US4559595A (en) | 1985-12-17 |
EP0114523A2 (en) | 1984-08-01 |
FI78994C (fi) | 1989-10-10 |
BR8307178A (pt) | 1984-08-07 |
CA1205567A (en) | 1986-06-03 |
JPS6237428B2 (fi) | 1987-08-12 |
KR900001120B1 (ko) | 1990-02-27 |
KR840007186A (ko) | 1984-12-05 |
AU2183383A (en) | 1984-07-05 |
YU45583B (sh) | 1992-07-20 |
EP0114523A3 (en) | 1985-05-02 |
FI834657A (fi) | 1984-06-28 |
JPS59167727A (ja) | 1984-09-21 |
YU251583A (en) | 1986-10-31 |
EP0114523B1 (en) | 1989-01-04 |
AU570656B2 (en) | 1988-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4030075A (en) | Data processing system having distributed priority network | |
FI79621C (fi) | Laosfunktionsfoerfarande foer ett gemensamt redskap. | |
US3993981A (en) | Apparatus for processing data transfer requests in a data processing system | |
US4096569A (en) | Data processing system having distributed priority network with logic for deactivating information transfer requests | |
US3997896A (en) | Data processing system providing split bus cycle operation | |
FI78994B (fi) | Distribuerad prioritetsnaetslogik foer att moejliggoera att en enhet med laegre prioritet befinner sig i en position foer hoegre prioritet. | |
US3995258A (en) | Data processing system having a data integrity technique | |
US4000485A (en) | Data processing system providing locked operation of shared resources | |
US4785394A (en) | Fair arbitration technique for a split transaction bus in a multiprocessor computer system | |
KR910001790B1 (ko) | 디지탈 컴퓨터 시스템에서의 통신로 제어 할당용 중재 장치 및 이의 중재 방법 | |
US5257356A (en) | Method of reducing wasted bus bandwidth due to slow responding slaves in a multiprocessor computer system | |
JP2613005B2 (ja) | デバイスのアービトレーション優先レベルを切り換える方法並びに多優先レベルのアービトレーションを行うためのアダプタ及びシステム | |
KR840003370A (ko) | 데이타 처리 시스템의 공통버스 이용검출 논리회로 | |
EP0358716A1 (en) | NODE FOR SUPPORTING INTERRUPTION REQUEST MESSAGES ON A BUS ON HOLD. | |
US7013357B2 (en) | Arbiter having programmable arbitration points for undefined length burst accesses and method | |
US5761449A (en) | Bus system providing dynamic control of pipeline depth for a multi-agent computer | |
CA1123111A (en) | System providing multiple fetch bus cycle operation | |
US5828891A (en) | Multilevel interrupt device | |
US20070067527A1 (en) | Data transfer bus system connecting a plurality of bus masters | |
FI74158B (fi) | Kopplingsanordning foer givande av styrorder i ett mikrocomputersystem. | |
US4245299A (en) | System providing adaptive response in information requesting unit | |
US5150466A (en) | Flexible distributed bus priority network | |
EP1096387A1 (en) | An arbitration unit for a bus | |
GB1595471A (en) | Computer system | |
US6009477A (en) | Bus agent providing dynamic pipeline depth control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM | Patent lapsed | ||
MM | Patent lapsed |
Owner name: HONEYWELL INFORMATION SYSTEMS INC. |