NL8901282A - Multi-bus microcomputersysteem met bus-arbitrage. - Google Patents

Multi-bus microcomputersysteem met bus-arbitrage. Download PDF

Info

Publication number
NL8901282A
NL8901282A NL8901282A NL8901282A NL8901282A NL 8901282 A NL8901282 A NL 8901282A NL 8901282 A NL8901282 A NL 8901282A NL 8901282 A NL8901282 A NL 8901282A NL 8901282 A NL8901282 A NL 8901282A
Authority
NL
Netherlands
Prior art keywords
bus
arbitration
signal
cpu
phase
Prior art date
Application number
NL8901282A
Other languages
English (en)
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of NL8901282A publication Critical patent/NL8901282A/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/28Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 for polarising
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/54Accessories
    • G03B21/56Projection screens
    • G03B21/60Projection screens characterised by the nature of the surface
    • G03B21/604Polarised screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Optics & Photonics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Description

' >
International Business Machines Corporation,
Armonk, Kew York, Verenigde Staten van Amerika.
Multi-bus microcomputersysteem met bus-arbitrage.
Beschrijving
Deze uitvinding heeft betrekking op bus-arbitrage in een multi-bus microcomputer.
Achtergrondinformatie met betrekking tot de 80386 microverwerkings-eenheid, zijn karakteristieken en zijn gebruik in microcomputersystemen 5 omvattende cachegeheugen-subsystemen zijn beschreven in de publicaties van Intel Corporation "Introduction to the 80386", april 1986 en het 80386 Hardware Reference Manual (1986). De karakteristieken en bedrijf s-prestatievermogen van de 82385 cachebesturingseenheid zijn beschreven in de publicatie van Intel Corporation "82385 High Performance 32-Bit Cache 10 Controller" (1987).
Microcomputersystemen omvattende een cache-subsysteem zijn, uit het oogpunt van de architectuur, beduidend verschillend van microcomputersystemen zonder cache-subsystemen. Microcomputersystemen met een cache-subsysteem werken als dubbel-businrichtingen. Meer in het bijzonder, is 15 er in microcomputersystemen met een cache-subsysteem een eerste bus (waarnaar wordt verwezen als de plaatselijke bus van de CPU) welke de CPU, het cachegeheugen en de cachebesturingseenheid onderling verbindt.
Andere inrichtingen zijn gekoppeld aan een verschillende bus (systeembus).
Zulke andere inrichtingen omvatten bijv. hoofdgeheugen, I/O-inrichtingen 20 en hulpapparatuur. In aanvulling op voorgaande inrichtingen, kan de systeembus ook worden gekoppeld aan de cachebesturing.
Het cache-subsysteem ontheft typisch de systeembus van een grote hoeveelheid geheugenbenaderingen die anders in afwezigheid van het cache-subsysteem zouden worden uitgevoerd door de systeembus. D.w.z., 25 in zover als de CPU informatie kan verkrijgen uit het cachegeheugen, heeft de CPU voor die bijzondere cyclus dan geen toegang nodig tot de systeembus. Dienovereenkomstig kunnen andere inrichtingen, gedurende dezelfde tijdsperiode, de systeembus voor andere bewerkingen gebruiken.
Men verwacht dat dit resulteert in een significante reductie van de BC 9.88.004 89 01 282 2 -- f ♦ systeembuscycli welke werkelijk worden gebruikt door de CPU. Gewoonlijk is de cachebesturing gekoppeld zowel aan de systeembus als aan de plaatselijke bus van de CPU, en één van de functies van de cachebesturing is om toezicht te houden op de arbitragesupervisor waarop in 5 de enkel-bussystemen toezicht was gehouden, door de CPU.
Eén beschikbare cachebesturingseenheid, de 82385, heeft de capaciteit om te werken in meestermode Of in slaafmode. Wanneer de 82385 wordt bedreven in meestermode, en toezicht houdt op de arbitragesupervisor, dan is èr niet langer enig mechanisme voor de CPU om te concurreren om de 10 resource van de systeembus.
Dienovereenkomstig is het een doelstelling van deze uitvinding om een mechanisme te verschaffen waarbij een CPU in een multi-bus micro-computersysteem met een cachebesturingselement dat toezicht houdt op de arbitragesupervisor, de systeembus-resource, verdeeld door het 15 arbitragemeehanisme, kan benaderen.
De arbitragesupervisor reageert op arbitrageverzoeksignalen welke gemeenschappelijk zijn gekoppeld vanuit een veelheid van inrichtingen. Wanneer de arbitragesupervisor herkent dat één of meer inrichtingen om de gemeenschappelijke resource hebben verzocht, signaleert die het begin 20 van een arbitrageperiode door de conditie van een geleider (de ARB/GRANT) welke toegankelijk is voor alle concurrerende inrichtingen te veranderen. Wanneer de concurrerende inrichtingen de conditie van deze geleider veranderd zien zodanig dat die het begin van een arbitrageperiode signaleert, genereren de inrichtingen signalen die corresponderen met hun 25 prioriteitsniveaus en drijven een veelheid van arbitragegeleiders aan die met die signalen aan deze functie zijn gewijd. De verbinding tussen de veelheid van inrichtingen en de arbitragegeleiders is zo geregeld dat de geleiders die prioriteitswaarde van het hoogste priorit.eit.s-circuit dat de arbitragegeleiders aandrijft aannemen, Iedere inrichting 30 kan daarom herkennen, door de prioriteitswaarde op de arbitragegeleiders te vergelijken met zijn eigen prioriteitswaarde, of er enige inrichting van een hogere prioriteit is die concurreert om toegang tot de bus. Bij het beëindigen van een voorafbepaalde arbitrageperiode, verandert de ARB/GRANT/-geleider van toestand. Dit start de verleningsperiode, 35 gedurende welke die concurrerende inrichting waarvan de prioriteitswaarde BC 9.88.004 ' 89 01 282, * •4\ 3 de prioriteitswaarde op de arbitragegeleiders was de besturing aanneemt van de gemeenschappelijke resource om een buscyclus te initiëren.
Bovendien is er nog een andere geleider gewijd aan een PREEMPT-signaal dat kan worden gegenereerd om een inrichting die toegang tot de 5 systeemresource heeft gekregen te dwingen zijn toegang te beëindigen.
Zodoende wordt van een inrichting welke toegang tot de systeemresource heeft ontvangen en die resource gebruikt* wanneer die een geldende beslaglegging herkent, verlangd om een ordelijke beëindiging te initiëren van zijn gebruik van de systeemresource. Wanneer de inrichting waarop zo 10 beslag is gelegd zijn gebruik van de gemeenschappelijke resource beëindigt, begint de arbitragesupervisor een nieuwe arbitrageperiode zoals hieronder is beschreven.
In microcomputersystemen met een cache-subsysteem, zijn de CPU-cycli die de cache benaderen (en zodoende geen toegang tot de systeembus 15 verlangen) cycli van minimumduur of cycli van een nul-wachttöestand.
Wanneer CPU-cycli zich uitstrekken voorbij dit minimum, signaleren zij verlangens van de CPU voor de systeembus. Zodoende signaleren CPU-cycli van langer dan de minimum duur de behoefte van de CPU aan de systeembus, de gemeenschappelijke resource.
20 In overeenstemming met de uitvinding* wordt de CPU voorzien van de middelen öm een PREEMPT-signaal te genereren welke er de oorzaak van zal zijn dat iedere Inrichting die toegang heeft verkregen tot de bus via het arbitragemechanisme die toegang zal beëindigen zoals reeds is beschreven. Zoals zal worden beschreven, wordt de generatie door de 25 CPU van PREEMPT bestuurd door een CPU-cyclus te detecteren van een duur langer dan ëën die vereist is voor een cache-adres.
Het gebruik door de CPU van de systeem-resource is echter zo geregeld dat er zoveel mogelijk tijd wordt behouden. Meer in het bijzonder, wanneer een inrichting die toegang heeft verkregen tot de bus via een arbitrage 30 een beslaglegging herkent en een ordelijke beëindiging van zijn toegang tot de bus initieert, signaleert hij zijn beëindiging van het gebruik van de bus. De arbitrage-supervisor reageert op deze indicatie door een nieuwe arbitrageperiode te genereren. Als de CPU de inrichting was die de beslaglegging om het vrijmaken van de bus te verlangen had gegenereerd, BC 9.88.004 8901282 ,1 > ï 4 zal hij verschillend reageren op het begin van de arbitrageperiode dan enige andere inrichting zal doen die concurreert om toegang tot de bus.
Bij het begin van de arbitrageperiode plaatst elk van de andere inrichtingen die concurreren om toegang tot de bus zijn prioriteitswaarde 5 op de arbitragegeleiders. De CPU komt bij dit proces helemaal niet te pas; bij het begin van de arbitrageperiode begint de CPU werkelijk de bus te gebruiken.
In een belichaming van de uitvinding die werkelijk is geconstrueerd, is de minimum arbitrageperiode 300 nanoseconden. Een buscyclus van een 10 nul-wachttoestand is echter minder dan 300 nanoseconden. Dienovereenkomstig, wanneer de CPU beslag legt en daarbij toegang verkrijgt tot de systeem-bus, kan hij werkelijk een cyclus voltooien gelijktijdig met het arbitrageproces.
Volgens de uitvinding wordt er een multi-busmicrocomputer.systeem 15 verschaft omvattende een verwerkingseenheid en een cache-subsysteem, samen verbonden door een plaatselijke bus van de CPU, een direkt toegankelijk geheugen, een arbitrage-supervisor en een veelheid van andere functionele eenheden samen verbonden door een systeembus, middelen die genoemde plaatselijke bus van de CPU en genoemde systeembus koppelen, 20 waarbij zowel genoemde plaatselijke bus van de CPU en genoemde systeembus een veelheid aan geleiders omvatten welke zijn gewijd aan het arbitreren voor toegang tot genoemde systeembus door tenminste een aantal van genoemde veelheid van andere functionele eenheden, waarbij één van de genoemde veelheid van genoemde geleiders een bêslagleggingssignaal 25 verschaft, en een bron voor een bêslagleggingssignaal met invoeren die reageren op een cyclus van een plaatselijke bus van de CPU die zich uitstrekt voorbij een minimum duur, waarbij genoemde bron voor een bêslagleggingssignaal een uitvoer heeft die is gekoppeld aan genoemde plaatsëlijke bus van de CPU om een bêslagleggingssignaal te laten gelden 30 dat effektief is voor iedere functionele eenheid met toegang tot genoemde systeembus om een duur van genoemde toegang te beperken in reactie op de ontvangst van genoemd bêslagleggingssignaal.
Een belichaming van de uitvinding zal nu worden beschreven, bij wijze voor voorbeeld, met verwijzing naar bijgevoegde tekeningen, waarin: BC 9.88.004 89 01282.’ 5 fig. 1 een algeheel overzicht is van een typisch microcomputer-systeen dat gebruik kan maken van deze uitvinding; fig. 2 een gedetailleerd blokdiagram is van een meerderheid van de componenten van een typisch microcomputersysteem dat gebruik kan maken 5 van deze uitvinding; fig. 3 illustreert hoe de arbitragesupervisor en de CPU zijn verbonden in overeenstemming met een enkel-bus microcomputersysteem; fig. 4 illustreert hoe de arbitragesupervisor, de CPU en de cache-besturing onderling zijn verbonden in overeenstemming met deze uitvinding; 10 fig. 5 illustreert de apparatuur verbonden met de CPU om een PREEMPT- signaal te genereren; fig. 6 illustreert de logica geassocieerd met de CPU om een signaal CPUREQ te genereren dat wordt gebruikt bij het genereren van een PREEMPT-signaal door de CPU; 15 fig. 7 een tijdregeldiagram is dat verscheidene arbitrage- en verleningseycli illustreert, waarvan er één toegang verschaft tot de systeembus via een generieke inrichting en waarvan een ander aan de systeembus toegang verschaft tot de CPU via een PREEMPT-signaal; fig. 8 de verwantschap toont tussen de centrale arbitragesupervisor 20 335 en arbiters 336 die geassocieerd zijn met andere inrichtingen; fig. 9 en fig. 10 bij elkaar genomen een blokdiagram zijn van een arbitragesupervisor 335; fig. 11 is tijdregeldiagram is om de werking van fig. 8 uiteen te zetten.
25 Fig. 1 toont een typisch microcomputersysteem waarin van deze uit vinding kan worden gebruik gemaakt. Zoals getoond, omvat het microcomputersysteem 10 een aantal componenten die onderling zijn doorverbonden. Meer in het bijzonder, is een systeemeenheid ("200 SYSTEM UNIT") 30 gekoppeld aan een monitor 20 (zoals een conventionele video-display) en 30 drijft deze aan. De systeemeenheid 30 is ook gekoppeld aan invoer- inrichtingen zoals het toetsenbord ("KEYBOARD") 40 en een muis ("MOUSE") 50. Een uitvoerinrichting zoals een afdrukeenheid ("PRINTER") 60 kan ook worden verbonden met de systeemeenheid 30. Ten slotte kan de systeemeenheid 30 één of meer schijvenaandrijvers omvatten, zoals de sehijf-35 aandrijver ("DISK") 70. Zoals beneden zal worden beschreven, reageert de systeemeenheid 3Q op invoerinrichtingen zoals het toetsenbord 40 en de muis 50, en op invoer/uitvoer-inrichtingen zoals de schijvenaandrijver 70, BC 9.88.004 ' 8301282.' 9 6 om signalen te verschaffen om uitvoerinrichtingen zoals de monitor 20 en de afdrukeenheid 60 aan te drijven. Natuurlijk zijn zij die geschoold zijn in de techniek zich ervan bewust dat andere en conventionele componenten ook kunnen worden verbonden met de systeemeenheid 30 voor wissel-5 werking hiermee. In overeenstemming met deze uitvinding, omvat het mierocomputersysteem 10 (zoals meer in het bijzonder beneden zal worden beschreven) een cachegeheugen-subsysteem zodanig dat er een plaatselijke bus van een CPU is die onderling verbindt een verwerkingseenheid, een cachebesturing en een cachegeheugen dat zelf via een buffer aan een 10 systeembus is gekoppeld. De systeembus is onderling Verbonden met en heeft wisselwerking met de I/O-inrichtingen zoals het toetsenbord 40, muis 50, schijvenaandrijver 70, monitor 20 en afdrukeenheid 60. Verder kan, in overeenstemming met deze uitvinding, de systeemeenheid 30 ook omvatten een derde bus met inbegrip van een microkanaal (TM)-architectuur 15 voor onderlinge verbinding tussen de systeembus en andere invoer/uitvoer-inrichtingen.
Fig. 2 is een blokdiagram van hoog niveau dat de verscheidene componenten illustreert van een dubbel-bus mierocomputersysteem. Een plaatselijke bus ("CPU LOCAL BUS") 230 van de CPU (omvattende componenten 20 voor gegevens, adres en besturing) voorziet in de verbinding van een microVerwerkingseenheid ("MICRO PROCESSOR") 225 (zoals een 80386), een cachebesturing ("CACHE CONTROL") 260 (welke een 82385 cachebesturings-eenheid kan omvatten) en een direkt toegankelijk cachegeheugen ("64K DATA CACHE") 255. Ook is aan de plaatselijke bus 230 van de CPU gekoppeld een 25 buffer 240. De buffer 240 is zelf verbonden met de systeembus ("SYSTEM BUS") 250, welke ook omvat componenten voor adres, gegevens en besturing. De systeembus 250 strekt zich uit tussen de buffer 240 en een verdere buffer 253.
De systeembus 250 is ook verbonden met een element ("BUS CONTROL AND 30 TIMING") 265 voor busbesturing en tijdregeling en een DMA-besturings-eenheid ("DMA CONTROLLER") 325. Een atbitragebesturingsbus koppelt het element 265 voor busbesturing en tijdregeling en de arbitrage-supervisor ("SUPERVISOR ARBITRATION PT.") 335. Het hoofdgeheugen is ook verbonden met de systeembus 250. Het hoofdgeheugen omvat een geheugenbesturings-35 element ("MEMORY CONTROL") 351, een adresmultiplexer ("ADDR MUX") 352 en een gegevensbuffer ("DATA BUFFER") 353. Deze elementen zijn onderling BC 9.88.004 89 01 282.’ z ί 7 verbonden, met geheugen 370, omvattende de geheugenelementen 361 t/m 364, zoals getoond in fig. 2.
Een verdere buffer 267 is gekoppeld tussen de systeembus 250 en een planaire bus ("PLAN AIR I/O BUS") 270. De planaire bus 270 omvat componen-5 ten voor resp. adres, gegevens en besturing. Gekoppeld langs de planaire bus 270 is een verscheidenheid aan ΐ/0-adapters en andere componenten zoals de display-adapter ("DISPL ADAPT") 275 (welke wordt gebruikt om de monitor 20 aan te drijven), een klok ("CMOS CLK") 280, aanvullend direkt 10 toegankelijk geheugen ("CMOS RAM") 285, een RS 232-adapter 290 (gebruikt voor seriële l/O-bewerkingen), een printer-adapter ("PRINT ADAPT" 295 (welke kan worden gebruikt om de afdrukeenheid 60 aan te drijven), een tijdregelaar ("4 CHAN TIMER") 300, een diskette-adapter 305 (welke samenwerkt met de schijvenaandrijver 70), een interrupt-besturingseenheid 15 ("INTR CTLR") 310 en uitleesgeheugen ("ROM") 315. De buffer 253 verschaft een interface tussen systeembus 250 en een bus voor facultatieve voorzieningen zoals de microkanaal (TM)-bus 320 voorgesteld door de microkanaal (TM)-contactdozen ("3 MICRO-CHANNEL SOCKETS"). Inrichtingen zoals geheugen ("MEMORY") 331 kunnen aan de bus 320 worden gekoppeld.
20 Fig. 8-11 zijn nuttig bij het uiteenzetten van het arbitrage- mechanisme. Onder verwijzing nu naar fig. 8, zal de verwantschap tussen de arbitrage-supervisor ("ARBITRATION SUPERVISOR") 335 en een plaatselijke arbitrage-eenheid ("LOCAL ARBITQR") 336, representatief voor alle plaatselijke arbitrage-eenheden, worden beschreven. In het algemeen, 25 wanneer een inrichting toegang wenst tot de systeembus 250 om gegevens over te brengen, zal een plaatselijke arbitrage-eenheid 336 een verzoek-signaal ontvangen van de bijzondere inrichting waarmee de arbitrage-eenheid verwant is. Het verzoeksignaal wordt geconverteerd naar een /PREEMPT-signaal welk wordt gegenereerd door de plaatselijke arbiter en 30 overgebracht naar de arbitrage-supervisor 335 en elk van de plaatselijke arbiters via de /PREEMPT-lijn van de arbitragebus ("ARBITRATION BUS").
Opgemerkt moet worden bij de specifieke belichaming van deze uitvinding, dat de /PREEMPT-lijnen via een OF-schakeling worden samengevoegd en zo is het irrelevant voor de arbitrage-supervisor 335 welke bijzondere inrieh-35 ting het verzoek genereert. De arbitrage-supervisor 335 genereert het ARB/GRANT/-signaal op een geëigende tijd zoals bepaald door het HLDA- en het +REFRESH-geheugensignaal van een opfris-besturingseenheid (niet BC 9.88.004 89 01 282." * 8 getoond), die goed bekend is aan degenen die geschoold zijn in de techniek, in reactie op een /PREEMPT-signaal vanuit één of meer van de plaatselijke arbiters 336. HLDA is één signaal van het paar HLDA en HRQ (of HOLD) welk in een enkel-bussysteem werd uitgewisseld tussen de 5 arbitrage-supervisor 335 en de CPU. In dubbel-bussystemen zijn deze signalen er tussen de arbitrage-supervisor en de cache-besturingseenheid, getoond bij 260 in fig. 2.
Zodoende, wanneer één van de inrichtingen wenst te concurreren om het gebruik van de systeembus 250, genereert deze een verzoeksignaal 10 naar zijn corresponderende plaatselijke arbiter 336 welke dan een /PREEMPT-signaal genereert over de /PREEMPT-lijn van de arbitragebus. Dan genereert op de geëigende tijd wanneer de bus beschikbaar wordt, zoals bepaald door het HOLD- en het +REFRESH-signaal van de opfrisbesturings-eenheid, de arbitrage-supervisor 336 de +ARB-toestand van het ARB/GRANT/-15 signaal over de arbitragebus naar elk van de locale arbiters 336. In reactie op de +ARB-toestand, drijft elk van de locale arbiters 336 welke toegang wenst tot de systeembus 250 zijn prioriteitsniveau naar de respectieve lijnen ARB0-ARB3 van de arbitragebus. Dan vergelijkt elk van de plaatselijke arbiters die toegang wenst tot de systeembus 250 zijn 20 aangewezen prioriteitsniveau met het prioriteitsniveau op de arbitrage-· bus en neemt die zelf uit de concurrentie om de bus in het geval dat zijn prioriteitsniveau lager is dan dat dat wordt gedreven naar de arbitragebus. Zodoende blijft aan het einde van de arbitrageperiode slechts die ene van de plaatselijke arbiters over die het hoogste prloriteits-25 niveau gedurende die arbitragecyclus heeft in de concurrentie om de bus en krijgt zo besturing over de bus wanneer de GRANT/-toestand is ontvangen van de arbitrage-supervisor 336 over de ARB/GRANT/-lijn.
Onder verwijzing nu naar fig, 9 en 10, wordt daar een meer gedetailleerde beschrijving van de schakeling van de arbitrage-supervisor 336 30 geïllustreerd. De arbitrage-supervisor 336 omvat een tijdregelketen volgens een gemodificeerde Johnson-ring omvattende tellers 31 tot 34 en OF-poort 35, OF-poort 36, NIET-EN-poort 37, omkeerder 38 en OF-poort 39. Aannemende dat de bus begint in een leegloopconditie waarbij de CPU 225 de bus "bezit", maar hem niet gebruikt, zal de circuit-bewerking hierna 35 worden beschreven in'samenhang met het tijdregeldiagram van fig. 11. In hiervoor genoemde conditie, is dan ARB/GRANT/ aktief laag, en de priori- BC 9.88.004 89 01 282.
? * 9 teitsniveaus ARBÖ tot ARB3 van de arbitrage hebben allemaal de waarde 1.
De tijdregelketen volgens de gemodificeerde Johnson-ring wordt opnieuw ingesteld gehouden door het +HLDA-signaal via de OF-poort 36 en de NIET-EN-poort 37. Wanneer een inrichting toegang behoeft tot de bus, wordt het 5 /PREEMPT-signaal geaktiveerd. Zoals getoond in fig, 10, resulteert het aktief worden van het /PREEMPT-signaal in het positief worden van de uitvoer van de poort, voorstellende een PROCESSOR HOLD REQUEST ("+PR0C HRQ")-signaal. De +ARBQ tot +ARB3-signalen en een +GRANT-signaal zijn ook invoer voor de OF-poort van fig. 10 om zeker te stellen dat de CPU 225 niet zal IQ interfereren met bustransfers door andere inrichtingen. Het +PR0C HRQ-signaal resulteert in het deaktiveren van +HLDA, hetgeen erin resulteert dat het signaal voor het opnieuw instellen (uitvoer van OF-poort 36) wordt verwijderd van de tellers 31 tot 34. Het moet duidelijk zijn dat de invoeren -S0, -Sl, -CMD en -BURST inaktief moeten zijn opdat +HLDA de 15 signalen voor het opnieuw instellen kan verwijderen van hiervoor genoemde tellers 31 tot 34, zoals geïllustreerd in fig, 11. Het -SO-signaal stelt de WRITE-cyclus voor, en het -Sl-signaal stelt de READ-cyclus voor. Het -CMD-signaal wordt gegenereerd door de lopende bus-meester gedurende een gespecificeerde tijdsperiode na -SO of -Sl. Gedurende READ-cycli in-20 strueert de -CMD de slaaf-inrichting om de READ-gegevens op de bus te plaatsen en gedurende WRITE-cycli wordt -CMD geaktiveerd voor het. valideren van WRITE-gegevens.
Bij de volgende (20 MHz) klokpuls, nadat +HLDA is gedeaktiveerd, wordt de uitvoer van de teller 31 ingesteld hetgeen er de oorzaak van is 25 dat de uitvoer van OF-poort 39 omhoog gaat (+ARB), aangevende een tijd-regelperiode voor arbitrage. De uitvoer van de OF-poort 39 blijft hoog totdat de uitvoer van teller 33 omlaag gaat enige tijd nadat de uitvoer van teller 34 omhoog is gegaan. Dit stelt een tijdregelpuls van 300 nanoseconden in voor het ARB/GRANT/-signaal. De uitvoer van teller 34 blijft 30 ingesteld totdat de inrichting een buscyclus begint door óf -SO of -Sl te aktiveren. De uitvoer wordt dan opnieuw ingesteld, en de tellers 31 t/m 34 zijn gereed om weer tijdregelen te beginnen bij het einde van de lopende buscyclus. Wanneer geen inrichtingen bus-service verlangen, keert de bus terug naar de leeglooptoestand en de besturing Wordt aan de 35 verwerkingseenheid teruggegeven. HLDA wordt gereaktiveerd en dé bus is nu beschikbaar voor verwerkingen van de verwerkingseenheid.
BC 9.88.004 89 01 282.'" I* tl 10
Fig. 3 toont de onderlinge verbinding tussen een 80386 CPU, zoals de microprocessor 225, en de arbitrage-supervisor 335 in een enkel-bus microcomputersysteem. Het uitvoersignaal ARB/GRANT/ van de supervisor is het signaal dat definieert of het arbitrage-mechanisme in de arbitrage-5 toestand is (gedurende welke inrichtingen die concurreren om toegang tot de systeem-resource hun prioriteitsniveau op de arbitrage-geleiders) plaatsen of in een verleningsfase (waarin de inrichting die toegang verkrijgt tot de gemeenschappelijke resource van die resource gebruik kan maken met uitsluiting van andere inrichtingen die wellicht om toegang 10 hebben geconcurreerd. Een ander invoersignaal naar de arbitrage- supervisor 335 is het PREEMPT-signaal dat reeds is beschreven. Ten slotte bestaat de invoer naar de 335 arbitrage-supervisor voorgesteld door ARB [o-3] uit de arbitrage-geleiders welke, gedurende de arbitrage-fase, worden aangedreven door inrichtingen die met hun eigen prioriteitsniveaus 15 concurreren om toegang. De invoer/uitvoer-verbindingen aan de linkerzijde van de arbitrage-supervisor 335 toont zijn onderlinge verbinding met de 80386, in een typisch enkel-bus microcomputersysteem. De signalen HLDA en HRQ (waarnaar soms wordt verwezen als HOLD) zijn handshaking-mechanismen waarbij de arbitrage-supervisor 335 toegang tot de systeem-20 resource kan verlangen met uitsluiting van de 80386 (HRQ). Wanneer de 80386 bevestigt (HLDA), dan kan de arbitrage-supervisor 335 de toegang tot de resource verdelen. In enkel-bus microcomputersystemen, kan de CPU niet ten behoeve van zichzelf beslag leggen. Dit brengt de ongewenste mogelijkheid met zich mee dat de CPU wordt uitgesloten van de gemeen-25 schappelijke resource door een inrichting die toestemming heeft om stootsgewijs te werken.
Fig. 4 is een blokdiagram dat geselecteerde onderlinge verbindingen toont in een dubbel-bus microcomputersysteem dat gebruik maakt van de 80386 CPU en een 82385 cache-besturingseenheid. De invoer/uitvoer-30 verbindingen aan de rechterzijde van de arbitrage-supervisor 335 van fig. 4 zijn identiek met die in fig. 3 en zullen niet Opnieuw worden beschreven. Het belangrijke punt dat in fig. 4 is geïllustreerd is dat het toezicht van de arbitrage-supervisor 335 nu is geïmplementeerd door de 82385 cachebesturingseenheid, daar dat het element is waarmee de HRQ-35 en HLDA-signalen zijn verbonden. Dan kan, in afwezigheid van enige andere regeling, de 80386 CPU worden uitgesloten van het gebruik van de gemeenschappelijke resource. Deze uitvinding verschaft dat andere mechanisme en BC 9.88.004 89 01282.1 ί 11 doet dat» in hoge mate, zonder van invloed te zijn op andere inrichtingen die toegang hebben tot de gemeenschappelijke resource.
De fig. 5 en 6 illustreren bij elkaar hoe het signaal CPREEMPT, en zijn voorganger CPUREQ, worden gegenereerd.
5 Met verwijzing eerst naar fig. 6, kan de logica daar worden beschouwd als onderdeel van de cache-besturing 260. De logica wordt verschaft om het signaal CPUREQ te genereren welk kan worden beschouwd als een besturingssignaalinvoer naar het besturingsgedeelte van de buffer 240. Het besturingssignaal CPUREQ wordt ontwikkeld uit de 10 invoeren getoond aan de linker zijde en omvattende /BUSCYC 386, READYI, CLK» RESET en /(/M/IO & A31). Laatstgenoemd signaal is het gedecodeerde adres naar de aanvullende verwerkingseenheid. De signalen BUSCYC 386, READYI en /C/M/IO & A31) zijn aktieve lage signalen zodanig dat wanneer bijv. de flip-flop 601 wordt ingesteld (via een hoge invoer aan zijn 15 D-invoerzijde), zijn uitvoer hoog is en het CPUREQ-signaal laag (aktief) is. Bovenop de flip-flop 601, omvat de logica van fig. 6 een OF-poort 602, drie EN-poorten 603-605 en omkeerinrichtingen 606-608.
Essentieel detecteren de invoeren naar de EN-poort 603 een 80386-cyclus welke zich uitstrekt voorbij de nul-wachttoestand en welke niet 20 tegelijkertijd een cyclus is die gewijd is aan de aanvullende verwerkingseenheid. Wanneer de conditie wordt gedetecteerd, wordt de flipflop 601 ingesteld* en kan alleen opnieuw worden ingesteld op kloktijd CLK2 wanneer de conditie is beëindigd. Poorten 604 en 605 worden verschaft om flip-flop 601 opnieuw in te stellen wanneer CLK hoog is en 25 READYI (aktief) laag is. Deze voorwaarde doet zich voor wanneer een CPU-buseyclus is voltooid.
Een cyclus van een plaatselijke bus van de CPU die zich uitstrekt voorbij de nul-wachttoestand (en welke ook niet een aan een aanvullende verwerkingseenheid gewijde cyclus is) is een cyclus welke toegang tot de 30 systeembus wenst. Overeenkomstig wordt de CPUREQ onder die omstandigheden aktief, d.w.z. gaat omlaag. Het effekt van dit signaal wordt getoond in fig. 5.
Fig, 5 toont de logica welke is geassocieerd met de systeembus 250.
BC 9.88.004 8901282 12
Zoals getoond in fig. 5, heeft het besturingselement van de buffer 240 een uitvoer CPUREQ (welke wordt aangedreven door hetzelfde signaal dat in fig. 6 is getoond). De CPUREQ is ëën invoer naar een poort 501 waarvan de uitvoer /CPREEMPT is, in feite.een beslagleggingssignaal, 5 gegenereerd door de 80386. Zoals men kan zien in fig. 5, is het signaal /CPREEMPT gekoppeld aan de PREEMPT-geleider welke één van de invoeren naar de arbitrage-supervisor 335 is (zie fig. 3 of fig. 4). Het signaal /CPREEMPT wordt gegenereerd door de logica getoond in fig. 5 omvattende de poorten 501-5Ö3. Een tweede invoer naar de poort 501 is de 10 uitvoer van poort 503, waarbij één van de invoeren het ARB/GRANT/-signaal is (identiek met de uitvoer van de arbitrage-supervisor 335). De andere invoer is ENCPUPREEMPT. Laatstgenoemde is een uitvoer van de 80386.
Wanneer die inaktief is, zal dit signaal /CPREEMPT verhinderen ooit aktief te zijn. Derhalve kan, wanneer ENCPUPREEMPT inaktief is, de 80386 15 geen beslag leggen. ENCPUPREEMPT kan bestuurd worden door een door een gebruiker in te stellen schakelaar of een geprogrammeerde schakelaar, afhankelijk van de vereisten van andere systeeminrichtingen en/of programmatuur. Onder normale omstandigheden zal ENCPUREEMPT aktief zijn, op deze wijze de 80386 vrijgevend om beslag te leggen. Wanneer 20 de ARB/GRANT/ aangeeft dat het arbitrageproces in de verleningsfase is (en ENCPUREEMPT aktief is), dan zal de uitvoer van poort 503 aktief zijn. Een aktieve uitvoer van de poort 503 tezamen met een aktieve CPUREQ zal de produktie van een aktieve /CPREEMPT vrijgeven. De poort 503 zal het genereren van een aktieve /CPREEMPT verhinderen gedurende de 25 arbitragefase, en alleen een aktieve /CPREEMPT toelaten gedurende de verleningsfase van het arbitrageproces. De poort 502 wordt gebruikt om de toestand van de arbitragegeleiders te besturen en zal het genereren van een aktieve /CPREEMPT verhinderen als alle geleiders (aktief) hoog zijn, aangevend dat andere inrichtingen niet arbitreren voor de bus, 30 d.w.z. dat de CPU de gemeenschappelijke resource bezit.
Dienovereenkomstig, volgens de logica getoond in fig. 5 en fig. 6, kan de CPU voor cycli op de plaatselijke bus van de CPU welke niet aan de aanvullende verwerkingseenheid zijn gewijd, en welke zich uitstrekken voorbij een minimum duur (nul-wachttoestand), beslag leggen, en zal beslag 35 leggen, als het arbitrage-mechanisme in zijn verleningsfase is. Het effekt van deze beslaglegging zal nu worden beschreven in samenhang met fig. 7A-7E.
BC 9.88.004 89 01282 T.
13
Fig. 7A-7E illustreren: 1) gebruik van de systeembus door een inrichting voor stootsgewijs verwerken (a-d), 2) beslaglegging op die inrichting door een typische inrichting via 5 het gebruik van het PREEMPT-signaal (b-h), 3) verwerving van de bus door de CPU via het gebruik van het /CPREEMPT-signaal (k-o), 4) gelijktijdig met het gebruik van de bus door de CPU, arbitrage voor het gebruik van de bus door een andere inrichting (m).
10 Meer in het bijzonder nemen wij ter illustratie aan dat een inrich ting voor Burst-verwerkingswij ze (stootsgewijze verwerkingswijze) besturing heeft verkregen van de systeembus zoals geïllustreerd (a) in fig. 7D. Wanneer een andere inrichting langs de systeembus PREEMPT laat gelden (b), dan voltooit de Burst-inrichting die nu de besturing heeft zijn 15 lopende overbrenging zoals geïllustreerd (c) in fig. 7C. Bij de voltooiing van de lopende overbrenging verwijdert de Burst-inrichting die afstand doet van de besturing over de systeembus zijn Burst-signaal van de Burst-Iijn zoals getoond bij (d) in fig. 7D. Deze Burst-inrichting zal niet deelnemen aan de volgende arbitragecyclus. De arbitrage-super-20 visor 335 plaatst dan de ARB/GRANT/ in de ARB-status (e) in fig. 7A. Dezelfde overgang stelt het begin voor een andere arbitragecyclus en de arbitrage voor de systeembus begint bij (f) in fig. 7B. Nadat het ARB/GRANT/-signaal omlaag is gegaan, wordt de besturing over de systeembus verleend aan de nieuwe inrichting zoals geïllustreerd bij (g) in 25 fig. 7A. De nieuwe inrichting welke besturing over de systeembus heeft verkregen verwijdert dan zijn PREEMPT-signaal in reactie op het GRANT-signaal zoals getoond bij (h) in fig. 7E,
Enige tijd later laat de CPU, in het voorbeeld van fig. 7A-7E en gebaseerd op condities gereflecteerd in de plaatselijke bus 230 van de 30 CPU, /CPREEMPT gelden, hetgeen wordt gereflecteerd in PREEMPT (k) in fig, 7E. Zoals reeds is uiteengezet, zal dit resulteren in het begin van een nieuwe arbitragecyclus zoals geïllustreerd (1) in fig. 7A. De arbitragecyclus, zoals getoond in fig. 7A, strekt zich uit van 1 naar o. Gedurende deze arbitragecyclus maakt de CPU werkelijk gebruik van de 35 systeembus, en bij het begin van die cyclus laat de CPU zijn PREEMPT-signaal los (n) in fig. 7E. Gedurende het gebruik door de CPU van de BC 9.88.004 89 01 282 Γ* > 14 systeembus, arbitreren andere inrichtingen die kunnen concurreren om toegang tot de systeembus voor die resource, te beginnen bij (m) in fig. 7B. Bij het einde van de CPU-cyclus, wanneer die het gebruik van de systeembus (o) heeft voltooid, is een nieuwe arbitrage vol- 5 tooid, zodanig dat onmiddellijk daarna êên of andere verdere inrichting (als er tenminste êên concurreert om toegang tot de systeembus) gebruik kan maken van die resource gedurende de tijdsduur beginnende bij (o) in fig. 7A.
Het /CPREEMPT-signaal is alleen aktief wanneer een buscyclus van 10 de CPU zich uitstrekt voorbij een voorafbepaalde tijdsduur (voorbij een nul-wachttoestand, bijv.)· Gedurende de arbitragefase (ARB/GRANT/ hoog), wordt de cache-besturing 260 van de CPU ontheven van de wachtrij-toestand doordat de supervisor 335 HRQ laat vallen, en wordt toegestaan gedurende éën of meer cycli te lopen.
15 De voltooiing van een cyclus van de CPU, die is toegestaan om de systeembus te gebruiken door gebruikmaking van het beslagleggings-mechanisme, wordt gedetecteerd doordat READYI aktief is met CLK hoog. Ingevolge de logica van fig. 6, wordt onder deze omstandigheden de flip-flop 601 opnieuw ingesteld en CPUREQ wordt inaktief.
20 De logische vergelijkingen waarnaar boven is verwezen worden onmiddellijk hieronder gereproduceerd. In dit materiaal hebben de symbolen de volgende ermee verbonden betekenis:
Symbool_Definitie / Negatie 25 := Een geregistreerde term, gelijk aan - Een combinatorische term, gelijk aan
& Logische EN
+ Logische OF
BC 9.88.004 89 01232.
«5 15
Logische Signalen ARB [θ-Sj Arbitrageverzoeken ARB/GRANT Arbitrageverlening /(/ΜƒΙΟ & A3I) Gedecodeerd adres van de wiskundige aan- 5 vullende verwerkingseenheid /CPREEMPT Zie fig. 5 /CPUREQ Zie fig. 6 ENCPUPREEMPT Programmeerbare bit om het vermogen van de CPU om /CPREEMPT te genereren vrij te geven 10 of te blokkeren PREEMPT Gedefinieerd in de gemeenschappelijk hangende.
toepassingen, gemodificeerd in deze toepassing in zoverre dat die door /CPREEMPT kan worden gegenereerd.
15 Logische vergelijkingen /BREADY385=/BUSCYC385 & /BREADY & MISSI (1) /BT2:=BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2 (2) + BÜSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2 + MISSI & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY 20 + /MISSI & /BREADY & /BUSCYC385 & CLK + /BT2 & BREADY & NACACHE + /CLK & /BT2 /BUEliREND:=WBS & /BUSCYC385 & /BREADY & CLK (3) /BUSCYC385:=BUSCYC385 & /BADS & CLK (4)
25 + BUSCYC385 & /PIPECYC385 & CLK + BUSCYC385 & /BT2 & CLK + /BUSCYC385 & BREADY + /BUSCYC385 & /CLK
BC 9.88.004 89 01 282 ? 16 /BUSCYC386:“BUSCYC386 & /ADS & CLK & /RESET (5) + BUSCYC386 & /PIPECYC386 & CLK & /RESET + /BUSCYC386 & CPUREADY & /RESET .
+ /BUSCYC386 & /CLK & /RESET
5 /CPUNA:=/MISSl & CLK & CPUNA & /NACACHE (6)
+ /MISSI & CLK & CPUNA & /BREADY & /BUSCYC385 + /CPUNA & /CLK + /CPUNA & /MISSI & CLK + /CPUNA & CLK & BREADY 10 + /CPUNA & BÜSCYC385 & NACACHE & CLK
LEAB:=/LEAB & /BUSCYC386 & /CPUREADY & (W/R) & CLK & ADS (7)
+ LEAB & BUFWREND & /CLK + LÈAB & WBS &CLK
/MISS! :=MISS1 & BUSCYC385 & CPUNA & /BADS & /(BW/R) & CLK & NCA (8)
15 + MISSI & BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY + /MISSI & /CLK + /MISSI & BREADY
/PIPECYC385:=PIPECYC385 & /BADS & /BUSCYC385 & CLK & /BREADY (9)
+ PIPECYC385 & /MISSl & BT2 & /BUSCYC385 & CLK & /BREADY 20 + /PÏPECYC385 & /CLK
/PIPECYC386:= (10)
PIPECYC386 & /ADS & CLK & /CPUREADY & /RESET & /BUSCYC386 + /PIPECYC386 & /CLK & /RESET
/CPUREADY=/READYO & /(W/R) (11) 25 + /BRDYEN & /BREADY & MISSI & /BUSCYC385 + /READY0387 + /BREADY385 & (W/R) & /LEAB + /READYO & (W/R) & NCA + /RDY387PAL · 30 In de voorgaande logische vergelijkingen worden de volgende signalen beschreven of er wordt naar verwezen in de aangehaalde Intel publikaties: BC 9.88.004 8901282.
17
ADS
BADS
BRDYEN
BREADY
5 (BW/R) in. werkelijkheid hiernaar verwezen als BW/R, waarbij de haakjes worden gebruikt om aan te geven dat de hele term een signaal is CLK
READYO 10 RESET WBS
(W/R) in werkelijkheid hiernaar verwezen als W/R, waarbij de haakjes worden gebruikt om aan te geven dat de hele term één signaal is.
15 ADS geeft, wanneer het aktief is, een geldig adres aan op de plaat selijke bus 230 van de CPU. BADS geeft, wanneer het aktief is, een geldig adres aan op de systeembus 250. BRDYEN is een uitvoer van 82385 welke voorafgaat aan de READY-signalen. BREADY is een ready-signaal van systeembus 250 naar de plaatselijke bus 230 van de CPU. BW/R definieert een 20 schrijfbewerking of leesbewerking op een systeembus 250. CLK is een klok-signaal voor een verwerkingseenheid dat in fase is met de verwerkingseen-heid 225. READYO is een andere uitvoer van 83285 in de lijn van ready-signalen. RESET moet duidelijk zijn. WBS geeft de conditie aan van de schrijfbuffer. (W/R) is het conventionele schrijf- of leessignaal voor de 25 plaatselijke bus 230 van de CPU. De vergelijkingen (1) - (11) definiëren; BREADY385 BT2
BUFWREND BUSCYC385 30 BUSCYC386 CPUNA LEAB MISSI
PIPECYC385 35 PIPECYC386 CPUREADY
BC 9.88.004 89 01 282 / 18 in termen van de gedefinieerde signalen, waarbij de signalen worden beschreven of waarnaar wordt verwezen in de aangehaalde Intel publicaties en NCA, NACACHE, READY0387, en RDY387PAL.
BREADY385 is een signaal zoals BREADY welke een belichaming is die 5 werkelijk is geconstrueerd is gemodificeerd om een 64K-cache te huisvesten. In het geval van een 32K cache (zoals aanbevolen door de fabrikant), kan BREADY worden gebruikt in plaats van BREADY385.
BT2 geeft de toestand van de systeembus 250 weer. De toestand BT2 is een toestand gedefinieerd in de aangehaalde Intel publicaties.
10 BUFWREND stelt het einde van een gebufferde schrijfcyclus voor.
BUSCYC385 geeft ook de toestand van de systeembus 250 weer. Hij is . hoog voor bustoestanden BTI, BT1, BT1P en laag voor bustoestanden BT2, BT2P en BT2I (dit zijn ook weer bustoestanden waarnaar wordt verwezen in de aangehaalde Intel publicaties),.
15 BUSCYC386 is hoog gedurende de toestanden TI, Tl, TIP, T2I van de plaatselijke bus 230 van de CPU en laag gedurende T2. Hij is ook laag voor T2P behalve als T2I zich eerst voordoet.
CPUNA is een signaal naar de 80386 dat gepijplijnde verwerking toelaat .
20 LEAB is het buffervrij geefsignaal (naar buffer 240 toe) voor geposte schrijfbewerkingen.
MISSI is aktief bij het definiëren van de eerste cyclus in een dubbele cyclus om 64-bits leesbewerkingen naar cacheerbare inrichtingen te behandelen.
25 PIPECYC385 is aktief gedurende BT1P (wat een bustoestand is waarnaar wordt verwezen in de aangehaalde Intel publicaties).
PIPECYC386 is laag gedurende toestand TIP van de plaatselijke bus 230 van de CPU.
BC 9.88.004 89 01282.·' 19 CPUREADY is de ready-invoer naar de 80386.
NCA is een signaal gecreëerd door het decoderen van de adrescomponent op de plaatselijke bus 230 van de CPU om» indien aktief, een niet-cacheerbare benadering weer te geven. De cacheerbaarheid wordt bepaald 5 door een component (A31 tot A17) van een identificatiemiddel en programmeerbare informatie die definieert welke identificatiemiddelen (zo die er zijn) verwijzen naar cacheerbare in tegenstelling tot niet-cacheerbare adressen.
NACACHE is een signaal gelijksoortig aan het signaal BNA. BNA is een 10 door het systeem gegenereerd signaal dat een volgende adres opvraagt uit de plaatselijke bus 230 van de CPU* en er wordt naar verwezen in de aangehaalde Intel publicaties. NACACHE verschilt van BNA uitsluitend met betrekking tot het feit dat BNA wordt gecreëerd voor een 32K cache terwijl NACACHE wordt gecreëerd voor een 64K cache. Zolang als het cache-geheugen 15 32K is, zoals aangehaald in de Intel publicaties, zou het NACACHE-signaal waarnaar hier is verwezen vervangen kunnen worden door het ENA-signaal.
READY0387 is de ready-uitvoer van de 80387 wiskundige aanvullende verwerkingseenheid.
RDY387PAL is een uitvoer van externe logica gebruikt in het geval 20 dat een 80387 wiskundige aanvullende verwerkingseenheid niet is geïnstalleerd, om te verhinderen dat de afwezigheid van de wiskundige aanvullende verwerkingseenheid interfereert met systeembewerkingen.
Zo moet het duidelijk zijn dat door het gebruik van de uitvinding, in een dubbel-bus microcomputersysteem dat gebruik maakt van een 80386 25 verwerkingseenheid en een 82385 cache-besturingseenheid, de verwerkingseenheid voorwaardelijk wordt toegelaten om beslag te leggen voor het gebruik van de systeembus onder gespecificeerde omstandigheden. Meer in het bijzonder kan, voor cycli van de locale bus die zich uitstrekken voorbij een voorafbepaalde duur, de verwerkingseenheid /CPREEMPT laten 30 gelden onder voorwaarde dat er andere gebruikers zijn die concurreren om toegang tot de resource en de beslagleggingsoptie is vrijgegeven (ENCPUPREEMPT). Echter, wanneer de beslaglegging effektief wordt (zoals gesignaleerd naar de verwerkingseenheid door de arbitrage-supervisor), BC 9.88.004 89 01282.
20 dan. doen zich twee gebeurtenissen gelijktijdig voor. De eerste gebeurtenis is dat de verwerkingseenheid de systeembus benadert. Deze benadering zal niet met mogelijke andere busgebruikers interfereren, daar gedurende de periode van de benadering van de verwerkingseenheid andere concurre-5 rende gebruikers in een arbitragefase zijn. Zodoende zullen gelijktijdig met de toegang tot de systeembus door de verwerkingseenheid, andere gebruikers arbitreren voor toegang tot de verleningsfase volgend op het gebruik van de bus door de verwerkingseenheid. Dienovereenkomstig is, door gebruikmaking van de uitvinding, de verwerkingseenheid vrijgegeven 10 om de systeembus te gebruiken zelfs als andere inrichtingen van de gebruikers gelijktijdig concurreren om toegang tot de bus. Door het overlappen van het gebruik van de bus door de verwerkingseenheid en de arbitragefase (welke andere inrichtingen zijn binnengetreden), zijn het nuttig gebruik en de efficiëntie van de bus toegenomen.
i BC 9.88.004
89 01 282 .N

Claims (5)

  1. 2. Een multi-bus microcomputersysteem volgens conclusie 1, omvattende 20 een arbitrage-supervisor met inbegrip van een bron voor een signaal voor een arbitrageverleningssignaal, middelen die reageren op genoemd beslagleggingssignaal om voorbereidingen te treffen voor een arbitragefase, middelen om een arbitragefase te initiëren in reactie op een signaal dat de beëindiging van het gebruik van de bus door een gebruiker van een 25 lopende bus voorstelt, en middelen voor het signaleren van een nieuwe arbitragefase voor genoemde verwerkingseenheid.
  2. 3. Een multi-bus microcomputersysteem volgens conclusie 2, waarin genoemde verwerkingseenheid reageert op genoemd signaleren door genoemde arbitrage-supervisor voorstellende een nieuwe arbitragefase, terwijl 30 genoemd beslagleggingssignaal geldend wordt gemaakt om onraiddellijk toegang te hebben tot genoemde systeembus.
  3. 4. Een multi-bus microcomputersysteem volgens een der voorgaande conclusies, waarin genoemde bron voor een beslagleggingssignaal verder BC 9.88.004 83 012827 reageert op een programmeerbaar signaal om de produktie van genoemd beslagleggingssignaal in ëën toestand van genoemd programmeerbaar signaal toe te laten en de produktie van genoemd beslagleggingssignaal te verhinderen wanneer genoemd programmeerbaar signaal in een verdere 5 toestand is.
  4. 5. Een multi-bus microcomputersysteem volgens een der voorgaande conclusies, verder omvattende een bus voor facultatieve voorzieningen gekoppeld via genoemde systeembus en genoemde middelen voor het koppelen aan genoemde plaatselijke bus van de CPU, waarbij inrichtingen gekoppeld 10 aan genoemde bus voor facultatieve voorzieningen kunnen arbitreren voor toegang tot genoemde systeembus en reactief zijn op genoemd beslagleggingssignaal vanuit genoemde bron voor een beslagleggingssignaal om een toegang tot de bus te beëindigen in reactie op het ontvangen van genoemd beslagleggingssignaal.
  5. 6. Een multi-bus microcomputersysteem volgens conclusie 1, waarin genoemde veelheid van geleiders omvat een geleider voor arbitragever-lening die een arbitrageverleningsignaal voert teneinde een arbitragefase in te stellen voor arbitrage van toegang tussen een veelheid van inrichtingen wanneer genoemd signaal in ëën toestand is en een verleningsfase 20 voor het gebruik van de systeembus door die inrichting genoemde arbitragefase wint, en waarbij genoemde CPU middelen omvat voor toegang tot genoemde systeembus in die arbitragefase onmiddellijk volgend op het laten gelden van genoemd beslagleggingssignaal. BC 9.88.004 83 01282 .·
NL8901282A 1988-05-26 1989-05-23 Multi-bus microcomputersysteem met bus-arbitrage. NL8901282A (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US19889588 1988-05-26
US07/198,895 US5129090A (en) 1988-05-26 1988-05-26 System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration

Publications (1)

Publication Number Publication Date
NL8901282A true NL8901282A (nl) 1989-12-18

Family

ID=22735319

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8901282A NL8901282A (nl) 1988-05-26 1989-05-23 Multi-bus microcomputersysteem met bus-arbitrage.

Country Status (23)

Country Link
US (1) US5129090A (nl)
EP (1) EP0343770B1 (nl)
JP (1) JPH0623970B2 (nl)
CN (1) CN1010808B (nl)
AT (1) ATE123162T1 (nl)
AU (1) AU611287B2 (nl)
BE (1) BE1002405A4 (nl)
BR (1) BR8902388A (nl)
CA (1) CA1317682C (nl)
DE (2) DE68922784T2 (nl)
DK (1) DK189889A (nl)
ES (1) ES2072895T3 (nl)
FI (1) FI96145C (nl)
FR (1) FR2632096B1 (nl)
GB (1) GB2219176A (nl)
HK (1) HK23696A (nl)
IT (1) IT1230191B (nl)
MX (1) MX171578B (nl)
MY (1) MY111733A (nl)
NL (1) NL8901282A (nl)
NO (1) NO176038C (nl)
NZ (1) NZ228785A (nl)
SE (1) SE8901306L (nl)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111424A (en) * 1987-05-01 1992-05-05 Digital Equipment Corporation Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer
US5034883A (en) * 1987-05-01 1991-07-23 Digital Equipment Corporation Lockhead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
FR2642246B1 (fr) * 1988-12-30 1991-04-05 Cit Alcatel Procede de deblocage d'un systeme multiprocesseurs multibus
CA2016348C (en) * 1989-05-10 2002-02-05 Kenichi Asano Multiprocessor type time varying image encoding system and image processor
US5293493A (en) * 1989-10-27 1994-03-08 International Business Machines Corporation Preemption control for central processor with cache
CA2038012A1 (en) * 1990-03-14 1991-09-15 Hideki Shimizu Oxide superconductor lamination and method of manufacturing the same
US5086427A (en) * 1990-04-09 1992-02-04 Unisys Corporation Clocked logic circuitry preventing double driving on shared data bus
JP4733219B2 (ja) * 1990-06-04 2011-07-27 株式会社日立製作所 データ処理装置およびデータ処理方法
AU648309B2 (en) * 1990-06-14 1994-04-21 International Business Machines Corporation Apparatus and method for assembly of direct access storage device with a personal computer
EP0472274A1 (en) * 1990-08-24 1992-02-26 International Business Machines Corporation Data processing apparatus having connectors to receive system components
GB9019022D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station or similar data processing system including interfacing means to microchannel means
GB9018991D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station with timing independant interface units
ATE137038T1 (de) * 1990-08-31 1996-05-15 Advanced Micro Devices Inc Übertragungssteuerungssystem für einen rechner und peripheriegeräte
GB9019001D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station including a direct memory access controller and interfacing means to microchannel means
US5218681A (en) * 1990-08-31 1993-06-08 Advanced Micro Devices, Inc. Apparatus for controlling access to a data bus
DE69123665T2 (de) * 1990-08-31 1997-07-10 Advanced Micro Devices Inc Integrierte digitale Verarbeitungsvorrichtung
GB9018993D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station interfacing means having burst mode capability
JPH04141757A (ja) * 1990-10-03 1992-05-15 Fujitsu Ltd バス制御方式
US5195089A (en) * 1990-12-31 1993-03-16 Sun Microsystems, Inc. Apparatus and method for a synchronous, high speed, packet-switched bus
US5249297A (en) * 1991-04-29 1993-09-28 Hewlett-Packard Company Methods and apparatus for carrying out transactions in a computer system
EP0516323A1 (en) * 1991-05-28 1992-12-02 International Business Machines Corporation Personal computer systems
US5537600A (en) * 1991-05-28 1996-07-16 International Business Machines Corporation Personal computer with alternate system controller
US5392417A (en) * 1991-06-05 1995-02-21 Intel Corporation Processor cycle tracking in a controller for two-way set associative cache
CA2067599A1 (en) * 1991-06-10 1992-12-11 Bruce Alan Smith Personal computer with riser connector for alternate master
US5255373A (en) * 1991-08-07 1993-10-19 Hewlett-Packard Company Decreasing average time to access a computer bus by eliminating arbitration delay when the bus is idle
US5630163A (en) * 1991-08-09 1997-05-13 Vadem Corporation Computer having a single bus supporting multiple bus architectures operating with different bus parameters
US5581731A (en) * 1991-08-30 1996-12-03 King; Edward C. Method and apparatus for managing video data for faster access by selectively caching video data
CA2068010C (en) * 1991-08-30 1996-10-22 Robert Chih-Tsin Eng Alternate master bursting data rate management techniques for use in computer systems having dual bus architecture
US5430860A (en) * 1991-09-17 1995-07-04 International Business Machines Inc. Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence
JPH05210977A (ja) * 1991-10-15 1993-08-20 Internatl Business Mach Corp <Ibm> メモリ・リフレッシュ制御装置
US5301282A (en) * 1991-10-15 1994-04-05 International Business Machines Corp. Controlling bus allocation using arbitration hold
US5371872A (en) * 1991-10-28 1994-12-06 International Business Machines Corporation Method and apparatus for controlling operation of a cache memory during an interrupt
US5237695A (en) * 1991-11-01 1993-08-17 Hewlett-Packard Company Bus contention resolution method for network devices on a computer network having network segments connected by an interconnection medium over an extended distance
US5548762A (en) * 1992-01-30 1996-08-20 Digital Equipment Corporation Implementation efficient interrupt select mechanism
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
US5420985A (en) * 1992-07-28 1995-05-30 Texas Instruments Inc. Bus arbiter system and method utilizing hardware and software which is capable of operation in distributed mode or central mode
US5471585A (en) * 1992-09-17 1995-11-28 International Business Machines Corp. Personal computer system with input/output controller having serial/parallel ports and a feedback line indicating readiness of the ports
JP3057934B2 (ja) * 1992-10-30 2000-07-04 日本電気株式会社 共有バス調停機構
US5699540A (en) * 1992-11-16 1997-12-16 Intel Corporation Pseudo-concurrent access to a cached shared resource
US5500946A (en) * 1992-11-25 1996-03-19 Texas Instruments Incorporated Integrated dual bus controller
CA2116826C (en) * 1993-03-11 1998-11-24 Timothy J. Sullivan Data processing system using a non-multiplexed, asynchronous address/data bus system
US5528765A (en) * 1993-03-15 1996-06-18 R. C. Baker & Associates Ltd. SCSI bus extension system for controlling individual arbitration on interlinked SCSI bus segments
JP3474646B2 (ja) * 1994-09-01 2003-12-08 富士通株式会社 入出力制御装置及び入出力制御方法
KR0155269B1 (ko) * 1995-01-16 1998-11-16 김광호 버스 중재방법 및 그 장치
US5692211A (en) * 1995-09-11 1997-11-25 Advanced Micro Devices, Inc. Computer system and method having a dedicated multimedia engine and including separate command and data paths
US5845097A (en) * 1996-06-03 1998-12-01 Samsung Electronics Co., Ltd. Bus recovery apparatus and method of recovery in a multi-master bus system
US6560712B1 (en) * 1999-11-16 2003-05-06 Motorola, Inc. Bus arbitration in low power system
US6842813B1 (en) 2000-06-12 2005-01-11 Intel Corporation Method and apparatus for single wire signaling of request types in a computer system having a point to point half duplex interconnect
US6877052B1 (en) * 2000-09-29 2005-04-05 Intel Corporation System and method for improved half-duplex bus performance
US7007122B2 (en) * 2002-11-27 2006-02-28 Lsi Logic Corporation Method for pre-emptive arbitration
US7107375B2 (en) * 2003-05-13 2006-09-12 Lsi Logic Corporation Method for improving selection performance by using an arbitration elimination scheme in a SCSI topology
DE602004019990D1 (de) * 2004-08-30 2009-04-23 Magima Digital Information Co Verfahren und system zum datentransfer
DE102008000031B4 (de) * 2008-01-10 2014-07-10 Koenig & Bauer Aktiengesellschaft Verfahren zur Kontrolle einer Anordnung von an Formzylindern einer Druckmaschine angeordneten Druckformen

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4481580A (en) * 1979-11-19 1984-11-06 Sperry Corporation Distributed data transfer control for parallel processor architectures
US4402040A (en) * 1980-09-24 1983-08-30 Raytheon Company Distributed bus arbitration method and apparatus
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
DE3278891D1 (en) * 1981-06-05 1988-09-15 Ibm I/o controller with a dynamically adjustable cache memory
US4451883A (en) * 1981-12-01 1984-05-29 Honeywell Information Systems Inc. Bus sourcing and shifter control of a central processing unit
US4578782A (en) * 1983-08-26 1986-03-25 Motorola, Inc. Asynchronous memory refresh arbitration circuit
US4631660A (en) * 1983-08-30 1986-12-23 Amdahl Corporation Addressing system for an associative cache memory
US4742454A (en) * 1983-08-30 1988-05-03 Amdahl Corporation Apparatus for buffer control bypass
US4701844A (en) * 1984-03-30 1987-10-20 Motorola Computer Systems, Inc. Dual cache for independent prefetch and execution units
JPS61117650A (ja) * 1984-11-13 1986-06-05 Nec Corp バス制御方式
US4941088A (en) * 1985-02-05 1990-07-10 Digital Equipment Corporation Split bus multiprocessing system with data transfer between main memory and caches using interleaving of sub-operations on sub-busses
US4794523A (en) * 1985-09-30 1988-12-27 Manolito Adan Cache memory architecture for microcomputer speed-up board
US4949301A (en) * 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
US4811215A (en) * 1986-12-12 1989-03-07 Intergraph Corporation Instruction execution accelerator for a pipelined digital machine with virtual memory

Also Published As

Publication number Publication date
DK189889D0 (da) 1989-04-19
FI891786A (fi) 1989-11-27
CN1037982A (zh) 1989-12-13
AU3409789A (en) 1989-11-30
EP0343770A2 (en) 1989-11-29
EP0343770B1 (en) 1995-05-24
DE68922784T2 (de) 1995-11-30
US5129090A (en) 1992-07-07
GB8904919D0 (en) 1989-04-12
DE3909948C2 (nl) 1990-05-31
JPH0218657A (ja) 1990-01-22
SE8901306L (sv) 1989-11-27
SE8901306D0 (sv) 1989-04-11
FI891786A0 (fi) 1989-04-14
IT8920626A0 (it) 1989-05-24
FR2632096B1 (fr) 1991-09-20
NO176038C (no) 1995-01-18
MY111733A (en) 2000-12-30
NO176038B (no) 1994-10-10
FI96145B (fi) 1996-01-31
NZ228785A (en) 1991-04-26
BE1002405A4 (fr) 1991-01-29
ATE123162T1 (de) 1995-06-15
GB2219176A (en) 1989-11-29
CA1317682C (en) 1993-05-11
NO891585L (no) 1989-11-27
HK23696A (en) 1996-02-16
AU611287B2 (en) 1991-06-06
FI96145C (fi) 1996-05-10
ES2072895T3 (es) 1995-08-01
NO891585D0 (no) 1989-04-18
EP0343770A3 (en) 1990-11-22
DK189889A (da) 1989-11-27
FR2632096A1 (fr) 1989-12-01
DE68922784D1 (de) 1995-06-29
CN1010808B (zh) 1990-12-12
DE3909948A1 (de) 1989-11-30
IT1230191B (it) 1991-10-18
MX171578B (es) 1993-11-08
JPH0623970B2 (ja) 1994-03-30
BR8902388A (pt) 1990-01-16

Similar Documents

Publication Publication Date Title
NL8901282A (nl) Multi-bus microcomputersysteem met bus-arbitrage.
US5168568A (en) Delaying arbitration of bus access in digital computers
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
KR970000842B1 (ko) 정보 처리 시스템 및 컴퓨터 시스템
EP0450233B1 (en) Bus access for digital computer system
JP2613005B2 (ja) デバイスのアービトレーション優先レベルを切り換える方法並びに多優先レベルのアービトレーションを行うためのアダプタ及びシステム
KR100932359B1 (ko) 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템
US5239631A (en) Cpu bus allocation control
JPH0467224B2 (nl)
EP0539076A1 (en) Controlling bus allocation using arbitration hold
US5377331A (en) Converting a central arbiter to a slave arbiter for interconnected systems
US5649209A (en) Bus coupling information processing system for multiple access to system bus
US5822549A (en) Computer system and bus controller for controlling access to a computer bus
US5455912A (en) High speed/low overhead bus arbitration apparatus and method for arbitrating a system bus
US5931931A (en) Method for bus arbitration in a multiprocessor system
US5241628A (en) Method wherein source arbitrates for bus using arbitration number of destination
KR930001586B1 (ko) 다중 버스 마이크로 컴퓨터 시스템
US6167478A (en) Pipelined arbitration system and method
JPH07182271A (ja) データ処理システムおよびロングワード・アドレスをサイクルする方法
JPS63244161A (ja) Dmaアクセスが可能なコンピユータ・システム
KR100583455B1 (ko) 프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기
Nayak Design strategies for interface of bus architectures
JPH0895929A (ja) マルチプロセッサシステム
JP2000187639A (ja) バス調停装置
NL8901255A (nl) Microcomputersysteem waarin opgenomen een cache-subsysteem onder gebruikmaking van geposte schrijfbewerkingen.

Legal Events

Date Code Title Description
A1A A request for search or an international-type search has been filed
BB A search report has been drawn up
BV The patent application has lapsed