NL8901326A - Gegevensverwerkende apparatuur met selectief vooraf ophalen van instructies. - Google Patents

Gegevensverwerkende apparatuur met selectief vooraf ophalen van instructies. Download PDF

Info

Publication number
NL8901326A
NL8901326A NL8901326A NL8901326A NL8901326A NL 8901326 A NL8901326 A NL 8901326A NL 8901326 A NL8901326 A NL 8901326A NL 8901326 A NL8901326 A NL 8901326A NL 8901326 A NL8901326 A NL 8901326A
Authority
NL
Netherlands
Prior art keywords
address
signal
bus
bit
cycle
Prior art date
Application number
NL8901326A
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 NL8901326A publication Critical patent/NL8901326A/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Debugging And Monitoring (AREA)

Description

j *
International Business Machines Corporation,
Armonk, New York, Verenigde Staten van Amerika.
Gegevensverwerkende apparatuur met selectief vooraf ophalen van instructies.
Beschrijving
Deze uitvinding heeft betrekking op gegevensverwerkende apparatuur met selectief vooraf ophalen van instructies.
Achtergrondsinformatie met betrekking tot de 80386, zijn karakteristieken en zijn gebruik in microcomputersystemen omvattende 5 cachegeheugen-subsystemen zijn beschreven in "Introduction to the 80386", april 1986 en het 80386 Hardware Reference Manual (1986). De karakteristieken en het bedrijfsprestatievermogen van de 82385 zijn beschreven in de publikatie "82385 High Performance 32-Bit Cache Controller" (1987).
Al deze publikaties worden geproduceerd door Intel Corporation.
10 In microcomputersystemen, evengoed als in andere computersystemen, is de snelheid van de verwerkingen een belangrijk criterium dat in de meeste gevallen moet worden afgewogen tegen de kosten van het systeem.
Vele voorzieningen die eerst waren ingevoerd om de verwerkingen in mainframe-computers en minicomputers te versnellen vinden nu hun weg in 15 microcomputersystemen. Deze omvatten cachegeheugen-subsystemen en gepijp-lijnde bewerkingen, waarvan laatstgenoemde vooraf ophalen van instructies vereisen. In oudere systemen hield de term "pijplijnen" een verdere seriële ordening en het begrip "tijdregelen" in, maar in kleinere systemen, zoals boven aangegeven en zoals de term door de vervaardigers wordt 20 gebruikt, wordt er nu aan voldaan door vooraf ophalen van instructies.
In sommige microcomputersystemen (bijv. die welke gebruik maken van de microverwerkingseenheid 80386), zijn gepijplijnde bewerkingen een aantrekkelijke verwerkingsoptie. Voor 80386/82385 microcomputersystemen verschaft de 82385 cache-besturingseenheid een volgende-adres (NA)-signaal 25 waarvan wordt gesuggereerd dat dat moet worden verbonden met een corresponderende invoer op de 80386. Dit maakt het voor de 82385 mogelijk om het NA-signaal naar de 80386 te laten gelden voorafgaande aan het voltooien van een gegeven buscyclus om de 80386 vrij te geven voor uitvoerinformatie (gegevens, adres en/of besturing) voor de volgende 8901326? BC 9.88.005 * 2 'η verwerkingscyclus. De tijdregeling is zo geregeld, samen met verbonden componenten, dat als een cacheverwerking de gegeven verwerking is, informatie voor de gegeven verwerking reeds is geaccepteerd door het cachegeheugen en daarom zal het veranderen van de uitvoerinformatie van 5 de 80386 om te corresponderen met de volgende cyclus zich niet mengen in de verwerking die bezig is te worden voltooid. Dit is ook juist voor situaties waarin een cache-misser-conditie zich heeft voorgedaan die verwijzing vereist niet naar het cachegeheugen maar naar het hoofdgeheugen, daar het benaderen van het hoofdgeheugen plaats vindt via 10 vergrendelde buffers die daar informatie opslaan met betrekking tot de gegeven verwerking.
De 80386 heeft ook het vermogen om te werken met waarnaar wordt verwezen als "dynamic bus sizing" (dynamisch op maat maken van de bus).
De 80386 is in naam een 32-bits machine, d.w.z. dat de breedte van de 15 gegevensbus 32 bits is. De 80386 kan echter werken met 16-bits inrichtingen (inrichtingen welke slechts 16 bits gegevens zullen overbrengen) door te reageren op een BSl6-signaal dat wordt verschaft aan de 80386 om de aanwezigheid van een 16-bits inrichting aan te duiden. Het BS16-signaal is belangrijk voor de 80386 in het geval dat die een 32-bits 20 verwerking heeft uitgevoerd. Natuurlijk kan de 16-bits inrichting niet, in één verwerking, de 32-bits gegevens overbrengen welke de 80386 in staat is te genereren en/of te accepteren. Zodoende is een tweede verwerking (cyclus) noodzakelijk en de 80386 reageert op het BS16-signaal om automatisch de volgende, noodzakelijke, cyclus te genereren.
25 Teneinde voor dit type verwerking succesvol te zijn wanneer de 82385 aanwezig is, is het ook noodzakelijk voor de 82385 om informatie te hebben met betrekking tot de aard van de inrichting die deelneemt aan de verwerking zodat het NA-signaal naar de 80386 niet overhaast wordt gegenereerd. Zoals beschreven in de aangehaalde Intel publicaties, 30 vereist de 82385 inrichtingsinformatie bij het begin van een cyclus in tegenstelling tot de 80386 die inrichtingsinformatie kan accepteren en daarop kan reageren op een wezenlijk later tijdstip in de cyclus.
In sommige microcomputersystemen wordt deze beperking geaccepteerd door het adres van een inrichting te correleren aan zijn afmeting zodanig 35 dat bijv. alle 32-bits inrichtingen in een eerste voorafbepaalde adres- BC 9.88.005 89 01 32 6 * 3 bereik zijn en alle 16-bits inrichtingen in een tweede, verschillende adresbereik zijn. Dan kan door deze techniek de afmeting van een inrichting worden bepaald door zijn adres.
In systemen echter welke de flexibiliteit van het bepalen van de 5 positie van een grote variëteit van inrichtingen vereisen binnen sterk variërende adresbereiken, kan aan deze beperking niet worden voldaan.
Een klasse van zulke systemen zijn die welke gebruik maken van de IBM Micro-Channel (TM)-bus.
In vele systemen, omvattende systemen van het voorgaande type, 10 zal een inrichting, wanneer deze wordt geadresseerd, een aanduiding van zijn afmeting retourneren. Er is echter, daar de 82385 vereist dat informatie over de afmeting van de inrichting beschikbaar is bij het begin van een buscyclus, in systemen waar deze informatie slechts later in de cyclus beschikbaar is, de mogelijkheid van een overhaast NA-15 signaal.
Het is daarom een doelstelling van deze uitvinding om een rangschikking in een microcomputersysteem te verschaffen welke op selectieve wijze het NA-signaal bestuurt zodanig dat het uitsluitend onder geschikte omstandigheden aan de microverwerkingseenheid is gekoppeld. In andere om-20 standigheden wordt het NA-signaal verhinderd de microverwerkingseenheid te bereiken. Het verhinderen van het NA-signaal de microverwerkingseenheid te bereiken verhindert gepijplijnde verwerking, d.w.z. het verhindert de generatie van informatie voor een volgende cyclus voordat de gegeven cyclus is voltooid. Met deze flexibele besturing van het NA-signaal kan 25 het microcomputersysteem nu werken met "dynamic bus sizing", d.w.z. het kan nu werken met inrichtingen van verschillende afmetingen zonder informatie aan het begin van de cyclus betreffende de afmeting van de inrichting waarmee wordt gewerkt.
Cacheerbare inrichtingen, d.w.z. inrichtingen die gegevens gene-30 reren welke kunnen worden gecacheerd, zijn noodzakelijkerwijs 32-bits inrichtingen. Al zulke inrichtingen hebben adressen (specifiek identificatiemiddelen), welke cacheerbaarheid aanduiden. Alle andere inrichtingen, al dan niet 32-bits inrichtingen, hebben adressen welke aangeven dat informatie die zij genereren niet in cachegeheugen zal BC 9.88.005 8901326.' Η 4 worden gevonden. Besturing van het NA-signaal hangt ten dele af van cacheerbaarheid. I.h.b., daar ieder cacheerbare inrichting een 32-bits inrichting is, is er geen kwestie van overhaaste NA-signalen wanneer wordt gewerkt met cacheerbare inrichtingen. Bovendien is het, in het 5 geval van een cachetreffer, zonder twijfel zo dat het NA-signaal geëigend is daar slechts cacheerbare inrichtingen (32-bits inrichtingen) een cachetreffer zullen produceren. Zodoende is een belangrijke voorziening van het toelaten van "dynamic bus sizing" en gepijplijnde bewerkingen het verbieden of belemmeren aan het NA-signaal de 80386 te 10 bereiken in het geval van het laten gelden van een adres voor een niet-cacheerbare inrichting. Indien, gedurende het verloop van een gegeven cyclus (waar het NA-signaal is belemmerd), blijkt dat de inrichting een 32-bits inrichting is, dan wordt de cyclus op normale wijze voltooid (zonder pijplijnen). Aan de andere kant, als gedurende het verloop van 15 de cyclus blijkt dat de inrichting waarmee wordt gewerkt een 16-bits inrichting is (en de cyclus is een 32-bits cyclus), dan genereert de microverwerkingseenheid de aanvullende, noodzakelijke cyclus. Deze operatie is helemaal transparant voor de cachebesturingseenheid, d.w.z. dat die niet deelneemt aan het besturen van de tweede van de twee cycli. 20 Ten slotte, als de inrichting waarmee wordt gewerkt blijkt een 8-bits inrichting te zijn, dan "ziet" de microprocessor een 16-bits inrichting zodanig dat die precies op dezelfde wijze werkt als is beschreven voor het geval dat de inrichting een 16-bits inrichting is. M.a.w., hij "ziet" een 16-bits inrichting zodat, nadat de eerste cyclus is voltooid 25 (gedurende welke cyclus hij op de hoogte wordt gesteld dat hij werkt met een 16-bits inrichting), een tweede cyclus wordt gegenereerd. Andere logica echter, niet slechts transparant voor de cachebesturingseenheid, maar ook transparant voor de microverwerkingseenheid, converteert elk van de. 16-bits cycli van de microverwerkingseenheid in twee 8-bits cycli. Zo-30 doende, in het geval dat een 32-bits cyclus wordt gericht op een 8-bits inrichting, neemt de cachebesturingseenheid geen deel aan de verwerking, de microverwerkingseenheid genereert twee 16-bits cycli, en andere logica werkt op elk van de 16-bits cycli van de microverwerkingseenheid teneinde twee 8-bits cycli te genereren.
35 Zodoende wordt, in overeenstemming met de uitvinding, gegevensver werkende apparatuur verschaft, omvattende: een instructieuitvoeringseenheid van een gegeven bitbreedte, BC 9.88.005 8901 326 t $ 5 asynchrone middelen om een volgende adres te genereren, in staat om, indien vrijgegeven, het adres van de volgende instructie te genereren dat wordt vereist door de instructieuitvoeringseenheid gedurende het uitvoeren van de instructie die op dat moment wordt uitgevoerd, waarbij 5 instructies vooraf kunnen worden opgehaald, middelen om een verbinding te vormen tussen de uitvoeringseenheid en adresseerbare systeemcomponenten van dezelfde en/of kleinere bitbreedten, waarbij de adressen van systeemcomponenten binnen een zeker gespecificeerd bereik van adressen van systeemcomponenten uitsluitend 10 betrekking hebben op componenten van dezelfde bitbreedte als die van de uitvoeringseenheid, middelen om een volgende-adressignaal te genereren als functie van de uitvoering van de instructie die op dat moment wordt uitgevoerd teneinde de middelen om het volgende adres te genereren vrij te geven, en 15 middelen om te verhinderen dat een volgende-adressignaal beschikbaar komt gedurende het uitvoeren van een instructie die betrekking heeft op een adres buiten het gespecificeerde adresbereik.
Een belichaming van de uitvinding zal nu worden beschreven, bij wijze van voorbeeld, en gesteld tegenover voorbeelden uit de stand van de 20 techniek, met verwijzing naar bijgaande tekeningen, waarin: fig. 1 een algeheel drie-dimensionaal aanzicht is van een typisch microcomputersysteem dat deze uitvinding kan belichamen; fig. 2 een gedetailleerd blokdiagram is van een meerderheid van de componenten van een microcomputersysteem dat deze uitvinding belichaamt; 25 fig. 3 een blokdiagram is, meer gedetailleerd dan fig. 2, dat die verbindingen tussen de microverwerkingseenheid en de cachebesturingseen-heid toont zoals aanbevolen door de fabrikant, nuttig voor het begrijpen van waarom zulk een opstelling inconsistent is met "dynamic bus sizing"; fig. 4 een meer gedetailleerd blokdiagram is, gelijksoortig aan 30 fig. 3, maar de toepassing illustrerend van deze uitvinding, welke zowel gepijplijnde instructie-rangschikking als "dynamic bus sizing" toelaat; fig. 5 een verder gedetailleerd blokdiagram is van apparatuur welke conversie van een 16-bits naar een 8-bits cyclus hanteert; fig. 6 en 7 een tijdregeldiagram en een blokdiagram zijn van 35 de vergrendel-DL en zijn besturingssignaal LEDMA (Buffer vrijgeefsignaal van DMA) om te illustreren hoe het synchrone DMA-subsysteem wordt verbonden aan de plaatselijke bus van de CPU (werkend onder een verschil- BC 9.88.005 89 01326 * > 6 lende klok) om mogelijke concurrentie op de systeembus 250 te vermijden.
Fig. 1 toont een typisch microcomputersysteem waarin van deze uitvinding kan worden gebruik gemaakt. Zoals getoond, omvat het microcomputersysteem 10 een aantal componenten welke onderling zijn door-5 verbonden. Meer in het bijzonder, is een systeemeenheid ("SYSTEM UNIT") 30 gekoppeld aan een monitor 20 (zoals een conventioneel video-display) en drijft deze aan. De systeemeenheid 30 is ook gekoppeld aan invoer-inrichtingen zoals een toetsenbord ("KEYBOARD") 40 en een muis ("MOUSE") 50. Een uitvoerinrichting zoals een afdrukeenheid ("PRINTER") 60 kan ook 10 worden verbonden met de systeemeenheid 30. Ten slotte kan de systeemeenheid 30 éën of meer schijvenaandrijvers omvatten, zoals de schijvenaandrijver ("DISK") 70. Zoals hieronder zal worden beschreven, reageert de systeemeenheid 30 op invoerinrichtingen zoals het toetsenbord 40 en de muis 50, en invoer/uitvoer-inrichtingen zoals de schijvenaandrijver 70 15 om signalen te verschaffen om uitvoerinrichtingen aan te drijven, zoals de monitor 20 en de afdrukeenheid 60. Natuurlijk zijn diegenen die geschoold zijn in de techniek zich ervan bewust dat andere en conventionele componenten ook kunnen worden verbonden met de systeemeenheid 30 voor wisselwerking daarmee. In deze opstelling omvat het microcomputer-20 systeem 10 (zoals meer in het bijzonder hieronder zal worden beschreven) een cachegeheugen-subsysteem zodanig dat er een plaatselijke bus van de CPU is welke een verwerkingseenheid, een cachebesturingseenheid en een cachegeheugen welk zelf via een buffer aan een systeembus is gekoppeld onderling verbindt. De systeembus is onderling verbonden 25 met de invoer/uitvoerinrichtingen zoals het toetsenbord 40, muis 50, schijvenaandrijver 70, monitor 20 en afdrukeenheid 60 en heeft er wisselwerking mee. Bovendien kan de systeemeenheid 30 ook een derde bus omvatten waarin is begrepen een Micro-Channel (TM)-architectuur voor onderlinge verbinding tussen de systeembus en andere invoer/ 30 uitvoer-inrichtingen.
Fig. 2 is een blokdiagram van hoog niveau dat de verscheidene componenten illustreert van een typisch microcomputersysteem in overeenstemming met deze uitvinding. Een plaatselijke bus ("CPU LOCAL BUS") 230 van de CPU (omvattende componenten voor gegevens, adres en besturing)
35 voorziet in de verbinding van een microverwerkingseenheid ("MICRO
PROCESSOR") 225 (zoals een 80386), een cachebesturing ("CACHE CONTROL") BC 9.88.005 Λ ^ 8901326? * 7 260 (welke een 82385 cache-besturingseenheid kan omvatten) en een direkt toegankelijk cachegeheugen ("DATA CACHE") 255. Ook is gekoppeld aan de plaatselijke bus 230 van de CPU een buffer 240. De buffer 240 is zelf verbonden met de systeembus ("SYSTEM BUS") 250» welke ook componenten 5 voor adres, gegevens en besturing omvat. De systeembus 250 strekt zich uit tussen de buffer 240 en een verdere buffer 253. De systeembus 250 is ook verbonden met een busbesturings- en tijdregelelement ("BUS CONTROL AND TIMING") 265 en een DMA-besturingseenheid ("DMA CONTROLLER") 325.
Een besturingsbus voor arbitrage ("ARBITRATION CONTROL BUS") 340 koppelt 10 het busbesturings- en tijdregelelement ("BUS CONTROL AND TIMING") 265 en een centraal arbitrage-element ("SUPERVISOR ARBITRATION PT".) 355. Het Het hoofdgeheugen 350 is ook verbonden met de systeembus 250. Het hoofdgeheugen omvat een geheugenbesturingselement ("MEMORY CONTROL") 351, een adres-multiplexer ("ADDR MUX") 352 en een gegevensbuffer ("DATA BUFFER") 15 353. Deze elementen zijn onderling doorverbonden met geheugen 350, omvattende geheugenelementen 361 t/m 364, zoals getoond in fig. 2.
Een verdere buffer 267 is gekoppeld tussen de systeembus 250 en een planaire bus ("PLANAR 1/0 BUS") 270. De planaire bus 270 omvat componenten voor resp. adres, gegevens en besturing. Gekoppeld langs de 20 planaire bus 270 is een verscheidenheid aan i/O-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 toegankelijk geheugen ("CMOS RAM" 285, een RS 232-adapter 290 (gebruikt voor seriële i/O-verwerkingen), een afdrukeenheidsadapter 25 ("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 ("INTR CTLR") 310 en uitleesgeheugen ("ROM") 315.
De buffer 253 (aan ëên zijde gekoppeld met de systeembus 250) is aan 30 de andere zijde gekoppeld met de Micro-Channel (TM)-contactdozen ("3 MICRO CHANNEL SOCKETS") 401 van de Micro-Channel (TM)-bus 320. Bus 320 kan inrichtingen van verscheidene afmetingen ondersteunen, omvattende 32-bits inrichtingen, 16-bits inrichtingen en 8-bits inrichtingen. Een typische geheugeninrichting ("MEMORY") 331 wordt getoond, gekoppeld aan 35 bus 320. Eën van de voordelen van deze bus is de flexibiliteit die aan de gebruiker wordt verschaft om vrij te zijn om naar believen verscheidene BC 9.88.005 89 0132$ * ? 8 inrichtingen in verschillende contactdozen te steken. Het mengen van deze inrichtingen en hun verschijning in verschillende contactdozen verhindert strakke adresseringstoewijzing en is een voorname reden voor de noodzaak van deze uitvinding. Zonder deze uitvinding zou het 80386/82385 micro-5 computersysteem zoals hier beschreven 6f helemaal verhinderd zijn gepijp-lijnde verwerkingen te gebruiken óf, als alternatief, onderworpen zijn aan verkeerde verwerkingen, veroorzaakt door overhaaste of ongeëigende pij plij nverwerkingen.
Fig. 3 toont geselecteerde onderlinge verbindingen tussen de 80386 10 en 82385, ten opzichte van het genereren en het gebruik van het volgende-adres (NA)-signaal, zoals aanbevolen door de fabrikant. Meer in het bijzonder is de verbinding tussen de plaatselijke bus ("CPU LOCAL BUS") 230 van de CPU en de systeembus ("SYSTEM BUS") 250 de buffer 240 waarvan de componenten een besturingsbuffer DL (voor gegevens) en AL (voor adres) 15 omvatten. Zoals getoond in fig. 3, is de gegevenscomponent van de plaatselijke bus van de CPU (CPULBD) één invoer/uitvoer-verbinding voor de DL, aan de kant van de plaatselijke bus van de CPU. Evenzo is de gegevenscomponent SBD van de plaatselijke bus van het systeem 250 de invoer/uitvoer-verbinding naar de DL, aan de kant van de systeembus 250.
20 De buffer DL wordt bestuurd door zijn invoersignalen LDSTB, BT/R en DOE. LDSTB buffert gegevens in DL en DOE geeft de uitvoer van DL vrij. De richting van waar invoer wordt geaccepteerd (plaatselijke bus 230 van de CPU of systeembus 250) en waarheen uitvoer is gericht (systeembus 250 of plaatselijke bus 230 van de CPU) wordt bepaald door BT/R. Evenzo heeft de 25 adrescomponent van de buffer AL een invoer van de adrescomponent van de plaatselijke bus van de CPU (CPULBA) en een uitvoer naar de adrescomponent van de plaatselijke bus 250 van het systeem (SBA). Op soortgelijke wijze wordt de AL-component van de buffer bestuurd door zijn twee besturings-signalen BACP en BAOE, waarbij eerstgenoemde adresinformatie van CPULBA 30 in AL buffert en laatstgenoemde de uitvoer vrijgeeft, d.w.z. naar de systeembus 250. De besturingssignalen LDSTB, DOE, BACP en BAOE worden verschaft door de 82385.
De adrescomponent CPULBA van de plaatselijke bus 230 van de CPU heeft zijn oorsprong in de 80386 en de gegevenscomponent CPULBD van de 35 plaatselijke bus 230 van de CPU heeft zijn oorsprong/eindigt in de 80386.
BC 9.88.005 8901326? 9
De 82385 gebruikt twee aanvullende signalen X16 en NCA bij het genereren van het NA-signaal. Het X16-signaal duidt aan of de inrichting waarmee wordt verwerkt een 16-bits of een 32-bits inrichting is. Eën bron van het signaal X16 is de adresdecodeerder van de plaatselijke bus 5 (LBAD). Bovendien beveelt de fabrikant aan dat het signaal BS16 wordt gekoppeld aan het signaal XI6. Het signaal BS16 is invoer voor de 80386 om aan de 80386 aan te geven of de inrichting waarmee wordt verwerkt 16 of 32 bits in afmeting is. Een bron van het signaal BS16 is een inrichtings-adresdecodeerder, zoals MAD. HAD stelt de adresdecodeerder voor van elke 10 inrichting die is gekoppeld aan de systeembus 250 of elke andere bus die daaraan is gekoppeld zoals de bus 270 of 320. Wanneer een inrichting zoals HAD zijn adres herkent op een busadrescompont zoals MA, retourneert die het signaal BS16» dat hoog of laag is, afhankelijk ervan of de inrichting een 16-bits of een 32-bits inrichting is.
15 Het niet-cacheerbare adres (NCA) is een andere invoer voor de 82385 welke aanduidt of een adres dat geldig is een cacheerbaar adres is. Een cacheerbaar adres is gedefinieerd als een adres voor een inrichting welke compatibel is met het cachesubsysteem en op grond daarvan een 32-bits inrichting is. Dit signaal wordt gegenereerd door de cache-20 adresdecodeerder (CAD) op grond van een invoer van de adrescomponent van de plaatselijke bus 230 van de CPU. De fabrikant suggereert dat een gedeelte van het geheugen opzij kan worden gezet als niet-cacheerbaar door het gebruik van deze invoer voor de 82385.
De aanbevolen architectuur geïllustreerd in fig. 3 voorziet in 25 effektieve gepijplijnde verwerkingen (door gebruik van het NA-signaal) onder één van de volgende omstandigheden: (1) waar alle inrichtingen verbonden aan de systeembus 250 of enige bus die daaraan is gekoppeld 32-bits inrichtingen zijn, of (2) waar de inrichtingen verbonden aan de systeembus 250 of enige bus 30 die daaraan is gekoppeld 32-bits of 16-bits inrichtingen kunnen zijn, zolang als het signaal X16 beschikbaar is bij het begin van iedere buscyclus.
Wanneer het X16-signaal beschikbaar is bij het begin van een gegeven buscyclus, bepaalt de 82385 op basis van die informatie of het NA-signaal geëigend is, en indien het niet geëigend is, wordt het niet gegenereerd.
35 Zodoende wordt in het geval dat de 80386 werkt met een 32-bits inrichting, BC 9.88.005 ^ 89 013267* 10 het NA-signaal normaal gegenereerd voorafgaand aan de voltooiing van een gegeven cyclus om gepijplijnde verwerkingen uit te voeren. Aan de andere kant, als de inrichting een 16-bits inrichting is, dan wordt het NA-signaal niet gegenereerd, toelatend dat de 80386 de tweede noodzakelijke 5 cyclus genereert voor geschikt bedrijf met een 16-bits inrichting.
De architectuur van sommige bus-subsystemen (bijv. de Micro-Channel (TM)-bus) voorziet echter in het mengen van 8-bits en 16-bits en 32-bits inrichtingen. Omdat het signaal BS16 niet wordt geretourneerd tot enige tijd nadat de typische inrichting MAD zijn adres heeft herkend op het 10 bus-subsysteem, wordt het niet vroeg genoeg gegenereerd om door de 82385 in beschouwing te worden genomen bij het bepalen of er een NA moet worden gegenereerd. Dienovereenkomstig maken de bijzondere eigenschappen van 82385 hem incompatibel, in het bijzonder bij het genereren van het NA-signaal, met bus-subsystemen die de flexibiliteit hebben zoals ver-15 toond wordt door de Micro-Channel (TM)-bus.
Fig. 4 is een blokdiagram gelijksoortig aan fig. 3 maar gewijzigd voor gebruik in overeenstemming met deze uitvinding. Voordat de werking van de apparatuur getoond in fig. 4 wordt beschreven, zal een aantal van de verschillen tussen fig. 3 en fig. 4 worden beschreven.
20 Eén belangrijk verschil is dat van de uitvoeren X16 en NA van de 82385 niet langer gebruik wordt gemaakt. Bovendien is een nieuw logisch element CL geplaatst tussen de 82385 en de 80386. Het logische element CL genereert het CPUNA-signaal (het niet gebruikte NA-signaal van de 82385 vervangend). De logische eenheid CL is reaktief op het NCA-25 signaal van de CADR- en BADS-signalen van de 82385. Het BADS (Bus Adres Status)-signaal is een signaal gegenereerd door de 82385 wanneer een geldig adres voor de plaatselijke adresbus beschikbaar is. Deze uitvoer van de 82385 is in drie toestanden wanneer de 82385 niet de besturing heeft over de plaatselijke bus en hij verschaft ook bij afwezigheid 30 daarvan een aanduiding van een cachemisser. Het logische element CL heeft ook een invoer BW/R welke aanduidt of enige systeembuscyclus een leescyclus dan wel een schrijfcyclus is. Zoals zal worden beschreven, wanneer BW/R wordt gebruikt in een belichaming van de uitvinding, is dat een signaal dat niet essentieel is.
8901 326c4 BC 9.88.005 11
De decodeerder CALR ontvangt, bovenop zijn invoeren van de bits A17-A26 en A31 van de CPULBA, programmeerbare cacheerbaarheidsbits (PCB). In een belichaming die werkelijk is geconstrueerd, stelt de eerste van deze drie bits een beslissing voor om het cacheren van ROM-5 ruimte toe te laten. Het tweede bit geeft óf de decodeerder CADR vrij aan uitvoer NCA gebaseerd op de gedecodeerde informatie, óf, als alternatief, verklaart hij alle toegangen niet-cacheerbaar, d.w.z. laat NCA gelden ongeacht het geldende adres op de CPULBA. Ten slotte duidt een derde bit, in één status, aan dat de adresruimte tussen 0 en 10 8 megabytes cacheerbaar is en dat de adresruimte tussen 8 en 16 megabytes niet-cacheerbaar is. In de andere status duidt de bit aan dat de adresruimte in het bereik van 0 tot 16 megabytes allemaal cacheerbaar is.
Indien gewenst, kan het effekt van deze bit worden vermenigvuldigd door eenvoudigweg de status van de eerste 16 megabytes te weerspiegelen via de 15 opvolgende bereiken van 16 megabytes. Natuurlijk is het gebruik van deze bijzondere cacheerbaarheidsindicatoren (of andere indicatoren) niet essentieel voor de uitvinding. Het is echter belangrijk om de CADR zo in te richten dat deze snel zijn invoeren kan decoderen en NCA produceren.
In een belichaming die werkelijk is geconstrueerd, was het tijdregel-20 venster voor de produktie van NCA, vanuit geldig adres op de CPULBA, zeer kort, in de orde van 10 nanoseconden.
Een verder belangrijk verschil tussen fig. 3 en fig. 4 is dat de typische MAD nu niet een enkel BS16-signaal genereert (zoals het geval is in fig. 3), maar twee signalen, CS32 en CS16. Dit stelt de MAD in staat om 25 zichzelf te identificeren als een 32-bits inrichting, een 16-bits inrichting of een 8-bits inrichting. Het signaal CS32 is invoer voor een flip-flop FF welke nu wordt gebruikt om het BSl6-signaal te genereren dat in één conditie is in het geval dat de MAD een 32-bits inrichting is en in een verschillende conditie als de MAD een 8-bits of een 16-bits inrichting is.
30 Indien noch CS32 noch CS16 door de inrichting worden gegenereerd, dan geldt, door het systeem bepaald, dat de inrichting een 8-bits inrichting is.
De logische vergelijkingen waarnaar boven is verwezen zijn onmiddellijk hieronder weergegeven. In dit materiaal hebben de symbolen de 35 volgende betekenissen: 8901326 ° BC 9.88.005 4 12
Symbool Definitie / Negatie := Een geregistreerde term, gelijk aan = Een combinatorische term, gelijk aan
5 & Logische EN
+ Logische OF
Logische vergelijkingen /BT2:=BUSCYC385 & PIPECYC385 & /BADS & CLK & BT2 (1) + BUSCYC385 & /PIPECYC385 & BADS & CLK & NACACHE & BT2 10 + MISSI & /BUSCYC385 & /BADS & /(BW/R) & CLK & NCA & /BREADY + /MISSI & /BREADY & /BUSCYC385 & CLK + /BT2 & BREADY & NACACHE + /CLK & /BT2 /BUSCYC385:“BUSCYC385 & /BADS & CLK (2)
+ BUSCYC385 & /PIPECYC385 & CLK 15 + BUSCYC385 & /BT2 & CLK + /BUSCYC385 & BREADY + /BUSCYC385 & /CLK
/CPUNA:=/MISSl & CLK & CPUNA & /NACACHE (3)
+ /MISSI & CLK & CPUNA & /BREADY & /BUSCYC385 20 + /CPUNA & /CLK
+ /CPUNA & /MISSI & CLK + /CPUNA & CLK & BREADY + /CPUNA & BUSCYC385 & NACACHE & CLK
/MISSI:=MISS1 & BUSCYC385 & CPUNA & /BADS & /(BW/R) & CLK & NCA (4)
25 + MISSI & /BUSCYC385 & /BADS & /(BW/R) & GLK & NCA & /BREADY + /MISSI & /CLK + /MISSI & BREADY
/PIPECYC385:=PIPECYC385 & /BADS & /BUSCYC385 & CLK & /BREADY (5)
+ PIPECYC385 & /MISSI & BT2 & /BUSCYC385 & CLK & /BREADY 30 + /PIPECYC385 & /CLK
8901326,4 BC 9.88.005 13
In de voorafgaande logische vergelijkingen worden de volgende signalen beschreven of er wordt naar verwezen in de aangehaalde Intel publikaties:
BADS
5 BREADY
(BW/R) waarnaar in werkelijkheid is verwezen als BW/R, waarbij de haakjes worden gebruikt om aan te duiden dat de gehele term één signaal is
CLK
10 (W/R) waarnaar in werkelijkheid is verwezen als W/R, waarbij de haakjes worden gebruikt om aan te duiden dat de gehele term één signaal is.
BADS duidt, indien aktief, een geldig adres aan op de systeembus 250. BREADY is een ready-signaal van de systeembus 250 naar de plaatselijke 15 bus 230 van de CPU. BW/R definieert een schrijf- of leesbewerking voor systeembus 250. CLK is een kloksignaal voor de verwerkingseenheid welke in fase is met de verwerkingseenheid 225. (W/R) is het conventionele schrijf- of leessignaal voor de plaatselijke bus 230 van de CPU.
Vergelijkingen (1)-(5) definiëren: 20 BT2 BUSCYC385
CPUNA
MISSI
PIPECYC385 25 in termen van de gedefinieerde signalen, de signalen die zijn be schreven of waarnaar wordt verwezen in de aangehaalde Intel publikaties en NCA en NACACHE. BT2 reflecteert de status van de systeembus 250. De status BT2 is een status gedefinieerd in de aangehaalde Intel publikaties.
30 BUSCYC385 reflecteert ook de status van de systeembus 250. Hij is hoog voor de busstatussen BTI, BT1, BTlP en laag voor de busstatussen BT2, BT2P en BT2I (naar deze busstatussen wordt ook weer verwezen in de BC 9.88.005 8901326" 14 aangehaalde Intel publikaties).
CPUNA is een signaal naar de 80386 dat gepijplijnde verwerkingen toelaat. Dit is het signaal dat het NA-signaal van de 82385 vervangt.
MISSI is aktief bij het definiëren van de eerste cyclus in een 5 dubbele cyclus om een 64-bits leesbewerking naar cacheerbare inrichtingen te hanteren.
PIPECYC385 is aktief gedurende BT1P (wat een busstatus is waarnaar wordt verwezen in de aangehaalde Intel publikaties).
NCA is een signaal gecreëerd door het decoderen van de adrescompo-10 nent op de plaatselijke bus 230 van de CPU om, indien aktief, een niet-cacheerbare toegang te reflecteren. De cacheerbaarheid wordt bepaald door een component van een identificatiemiddel (A31 tot A17) en programmeerbare informatie die definieert welke identificatiemiddelen (indien die er zijn) betrekking hebben op cacheerbare in tegenstelling tot 15 niet-cacheerbare adressen.
NACACHE is een signaal gelijksoortig aan het BNA-signaal. BNA is een door het systeem gegenereerd signaal dat het volgend adres verlangt uit de plaatselijke bus 230 van de CPU, en er wordt naar verwezen in de aangehaalde Intel publikaties. NACACHE verschilt van BNA uitsluitend met 20 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 32K is, zoals aangehaald in de Intel publikaties, zou het NACACHE-signaal waarnaar hier wordt verwezen kunnen worden vervangen door het BNA-signaal.
25 Wanneer wij vergelijking 3 bekijken, worden de set-termen gevonden op de regels 1 en 2. De term op regel 1 duidt een gepijplijnde verwerking aan, /MISSI duidt een 32-bits verwerking aan (zoals zal worden beschreven) en derhalve is CPUNA geëigend. De term op regel 2 is een cyclus die vroeg eindigt zonder pijplijnen, bijv. /BREADY. Met betrekking tot vergelijking 30 4, zijn de termen op de regels 1 en 2 de set-termen. Beide hangen af van NCA.
8901 326 ^ BC 9.88.005 f 15
Fig. 5 is een gedetailleerd blokdiagram van apparatuur verbonden met buffer en decodeerder 267 (geassocieerd met bus 270) en buffer 253 (geassocieerd met een Micro-Channel (TM)-bus 320). Zoals reeds is beschreven, voorziet de apparatuur van fig. 4 in twee 16-bits cycli wanneer 32-bits 5 cycli worden gericht naar 8-bits of 16-bits inrichtingen, en doet dat op een wijze die transparant is voor de 82385. Van de apparatuur van fig. 5 wordt zo gebruik gemaakt dat er voor iedere 16-bits cyclus, gericht naar een 8-bits inrichting, twee 8-bits cycli worden gegenereerd, op een wijze welke transparant is voor de 80386.
10 Meer in het bijzonder omvat de apparatuur besturingslogica CLA, een sorteerder S en een bestuurde koppelaar ALS welke selectief een aantal van de gegevenslijnen met andere van de gegevenslijnen koppelt.
Meer in het bijzonder, zoals getoond in fig. 5, kunnen de lage-orde 8 bits (D0-D7) worden gekoppeld aan het tweede 8-bits segment (D8-D15) 15 onder besturing van het signaal DIR en /G. Verder wordt de richting van het overbrengen (van links naar rechts of omgekeerd) ook bestuurd door DIR.
Meer in het bijzonder worden, in iedere 16-bits cyclus gegenereerd door de 80386, gegevens geplaatst in de lage-orde 16 bits van de 20 gegevensbus. Teneinde een 16-bits cyclus welke wordt gegenereerd door de 80386 te converteren naar twee 8-bits cycli voor de geëigende MAD, dwingt de hardware getoond in fig. 5 de 16-bits bewerking om eruit te zien als twee 8-bits bewerkingen voor de 8-bits inrichting MAD terwijl voor de 80386 de twee 8-bits cycli eruit zien als een enkele 16-bits 25 cyclus.
De besturingslogica CLA voert een decodeerfunctie uit voor de besturing van de conversiecyclus. Hij detecteert wanneer zich een conversie-cyclus moet voordoen en bestuurt de signalen GATE 245 en DIR 245 van de ALS welke de lage-orde acht bits van de gegevensbus verbindt met een 30 tweede 8-bits segment van de gegevensbus. De logische vergelijkingen voor CLA zijn hieronder weergegeven. Wanneer de condities voor de conversiecyclus zijn ontdekt, aktiveert het signaal DATAC0NV de reeks. Het signaal CS16 duidt, indien inaktief, op de aanwezigheid van een 8-bits inrichting en vandaar op de noodzaak voor de conversie. Het signaal CS16 duidt, 35 indien aktief, een 16-bits of 32-bits inrichting aan. Q1 wordt in de BC 9.88.005 *9 01 32 6.' 4 16 reeks gebruikt om het einde van de eerste helft van de conversiecyclus aan te duiden. De signalen DATACONV en Q1 zijn invoer voor de sorteerder S. De sorteerder S voert twee functies uit. Een is om de 80386 op niet-ready te houden totdat de tweede helft van de cyclus is geïnitieerd.
5 ARDYEN wordt gedreven naar een logische 1 om aan de 80386 te signaleren de cyclus niet te beëindigen. De sorteerder stimuleert ook het einde van één 8-bits cyclus en het begin van een tweede. ALTALE zendt via een klokpuls een logische 1 naar de A0 adreslijn en is er de oorzaak van dat de wachttoestandgenerator herstart. CMTLOFF is er de oorzaak van dat het 10 aktieve commandosignaal inaktief wordt en wederom aktief om het einde van één cyclus en het begin van een andere te stimuleren. CONVAO wordt gebruikt als invoer voor de AO-adresbuffer om A0 te forceren naar logische 1 voor de tweede helft van de conversiecyclus.
De voltooide conversiecyclus van 16 bits naar 8 bits is in tijd en 15 functie equivalentmet twee opeenvolgende 8-bits cycli.
De signalen waarnaar boven is verwezen en die in fig. 5 worden getoond zijn als volgt gedefinieerd: MEMCS16 16-bits geheugeninrichtingsselectie (I/0CS16) 16-bits 1/0 inrichtingsselectie. Haakjes worden 20 gebruikt om aan te duiden dat de uitdrukking betrekking heeft op een enkelvoudig signaal AENlj AEN2 Adresvrij geefsignalen van DMA besturingseenheden MEMR, MEMW, IOR, I0W CPU commandosignalen XBHE Hoog vrijgeefsignaal voor bus, geeft aan wanneer 25 gegevens moeten verschijnen in een hoogste-orde 8-bits segment van de gegevensbus.
XAO Lijn van de orde van het minst significante adres.
Q1 Uitvoer van de wachttoestandgenerator (uitvoer van de tweede status).
30 D0-D7 8-bits segment van de laagste orde van de gegevens bus.
D8-D15 Tweede 8-bits segment van de gegevensbus.
ARDYEN Asynchroon ready-vrijgeefsignaal naar 82284.
ADDS wachttoestanden in conversiecyclus om te voor-35 zien in de generatie van twee 8-bits cycli.
BC 9.88.005 8S 01 326 > 17 ALT ALE (aktief hoog) Alternatieve adresbuffer.
Gebruikt om AO via klokpulsen te zetten op een logische 1 en de wachttoestandgenerator te herstarten voor de tweede 8-bits overbrenging 5 CONV.AO (aktief hoog) Conversiecyclus AO.
Verschaft een logische 1 aan de AO adresbuffer zodat AO zal toenemen voor de tweede 8-bits cyclus.
CNTLOFF Besturing uit. Zet het aktieve commandosignaal voor drie klokken uit om het einde van een 8-bits 10 cyclus en het begin van de tweede 8-bits cyclus te stimuleren. CNTLOFF wordt ook gebruikt om de lage-orde gegevensbus naar de CPU (gedurende een lees-cyclus) te vergrendelen bij de eerste 8-bits overbrenging.
15 Logische vergelijkingen /GATE 245:=® MEMCS16 & AENl & AEN2 & /MEMR & /XBHE & XAO (6)
+ MEMCS16 & AENl & AEN2 & /MEMW & /XBHE & XAO + (I/0CS16) & AENl & AEN2 & /I0R & /XBHE & XAO
+ (I/0CS16) & AENl & AEN2 & /I0W & /XBHE & XAO
20 + /AENl & /MEMCS16 & /XBHE & /IOR + /AENl & /MEMCS16 & /XBHE & {MEMR
/DIR245:= /AENl & /MEMR (7)
+ AENl & AEN2 & /XBHE & /MEMW + AENl & AEN2 & /XBHE & /I0W
25 /DATA C0NV:=MEMCS16 & AENl & AEN2 & /MEMR & Q1 & /XBHE & /XAO (8)
+ MEMCS16 & AENl & AEN2 & /MEMW & Q1 & /XBHE & /XAO + (I/0CS16) & AENl & AEN2 & /IOR & Q1 & /XBHE & /XAO
+ (I/0CS16) & AENl & AEN2 & /IOW & Q1 & /XBHE & /XAO
Fig. 7 toont een detail van de signaalbuffer DL, de verbindingen van 30 de invoer/uitvoer van de gegevens tussen de systeembus ("SYS. DATA BUS") 250 en de plaatselijke bus ("CPU LOCAL BUS") 230 van de CPU en ook het besturingssignaal LEDMA. Fig. 6 relateert het signaal LEDMA aan andere signalen op de plaatselijke bus 230 van de CPU (aangeduid in het bovenste BC 9.88.005 8901326 * 18 derde deel van fig. 6 met het bijschrift "82385 LOCAL BUS SIGNALS ‘0)25 MHz"), signalen op de bus 320 voor facultatieve voorzieningen (aangeduid door de verwijzing "MICRO CHANNEL BUS SIGNALS" en signalen op de systeembus 250 (aangeduid in het onderste derde deel door het bij-5 schrift "PS/Z DMA SIGNALS"). Zoals aangeduid in het bovenste derde deel van fig. 6, is de plaatselijke bus 230 van de CPU een synchroon door klokpulsen aangedreven bus (de klokken CPUCLK2 en CPUCLR zijn gerelateerd zoals aangeduid). Het centrale gedeelte (omvattende het belangrijkste gedeelte van fig. 6) toont een enkele cyclus op de plaatselijke bus 230 10 van de CPU. Het begin van de cyclus wordt aangeduid door de meest linkse verticale lijn, en het einde van de cyclus wordt aangeduid door de meest rechtse verticale lijn. Zoals getoond in fig. 6 in het middelste derde deel, worden de commandosignalen SS0* en SS1* aktief (laag) wanneer eenmaal de cyclus is begonnen op de plaatselijke bus 230 van de CPU, voor 15 een cyclus die zich uitstrekt via de systeembus 250 naar de bus 320. Kort daarna wordt een adres gebufferd in de buffer 253 (aangegeven met ADL*). Vervolgens wordt het signaal CMD* ook aktief (laag). Het is dit punt dat de aanvang van de DMA-cyclus op de systeembus 250 en de bus 320 voor facultatieve voorzieningen definieert. Dit is aangeduid door een voort-20 zetting van de derde verticale lijn (vanaf links) die zich uitstrekt in het laagste derde gedeelte van fig. 6. Kort na het begin van de DMA-cyclus, worden de signalen DMAS0 en DMASl aktief (laag). Zoals men kan zien in fig. 6, verandert het signaal DMARDY* vervolgens van status. Bij de volgende overgang in DMARDY* (de omlaaggaande overgang), worden de 25 vereiste gegevens geplaatst op de systeembus 250. Dienovereenkomstig verandert het signaal LEADMA van status (omhooggaande overgang). Dit heeft het effekt van het bufferen van de gegevens op de systeembus 250 in de signaalbuffer DL. Dezelfde overgang die de verandering van status in LEADMA produceert heeft ook een effekt op BREADY* (zoals getoond door de 30 pijl in fig. 6). M.a.w., wanneer eenmaal DMARDY* als laag is bemonsterd, zijn de vereiste gegevens reeds gebufferd in de signaalbuffer DL en het DMA-kanaal heeft de bus 250 vrijgegeven. Zodoende, zoals getoond in fig. 6, leidt de overgang in DMARDY* naar een overgang in BREADY*. Bij de direkt hierop volgende omhooggaande overgang van BT2, kan de CPU-35 cylus veilig beëindigen (en dit is de meest rechtse verticale lijn in fig. 6). Zoals men kan zien in fig. 6, produceert het beëindigen van de CPU-cyclus een verandering in status in CMD* (op de Micro-Channel (TM)-bus 320) en heeft ook het effekt van het vrijgeven van LEDMA, daar bij het BC 9.88.005 8901326 ^ 19 beëindigen van de cyclus de CPU 225 de gegevens van de signaalbuffer DL heeft geaccepteerd.
Het voorgaande illustreert dat voorafgaand aan het beëindigen van de CPU-cyclus, en een vereiste voor het beëindigen van de CPU-cyclus, 5 de voorafgaande beëindiging van de DMA-cyclus is. Dit garandeert dat wanneer de CPU een volgende cyclus initieert (rechts van de meest rechtse verticale lijn in fig. 6), de DMA-cyclus eerder is beëindigd en zo is de bus vrij voor alle gegevens die eventueel daar naartoe zijn gedreven gedurende de DMA-cyclus. Zodoende verschaft de uitvinding een 10 schikking tussen "dynamic bus sizing" (wat de flexibiliteit verschaft die essentieel is voor de Micro Channel (TM)-bus 320) en pijplijnverwerking, op de geëigende tijd, via geselecteerde generatie van CPUNA. Zoals is aangeduid,.hangt CPUNA aan de ene kant af van de detectie van een cacheerbare toegang, waar CPUNA wordt geproduceerd voorafgaande aan de 15 beëindiging van de hangende cyclus, en aan de andere kant, wanneer een niet-cacheerbare toegang wordt gedetecteerd, dan wordt het pijplijnen belemmerd, d.w.z. CPUNA wordt niet geldend gemaakt totdat de systeem-bus 250 aanduidt dat de cyclus is voltooid (BREADY wordt geldend gemaakt).
20 Tegelijkertijd, wordt een schikking gecreëerd tussen het synchrone DMA-mechanisme en de synchrone (echter door een verschillende klok aangedreven) plaatselijke bus van de CPU via de buffer DL. Terwijl de DMA-cyclus wordt geïnitieerd door de plaatselijke bus 230 van de CPU, zal de cyclus op de plaatselijke bus 230 van de CPU niet beëindigen tot na de 25 beëindiging van de DMA-cyclus.
&901326· BC 9.88.005

Claims (7)

1. Gegevensverwerkende apparatuur, omvattende: een instructieuitvoeringseenheid van een gegeven bitbreedte, asynchrone middelen om een volgende adres te genereren, in staat om, indien vrijgegeven, het adres van de volgende instructie te genereren 5 dat wordt vereist door de instructieuitvoeringseenheid gedurende het uitvoeren van de instructie die op dat moment wordt uitgevoerd, waarbij instructies vooraf kunnen worden opgehaald, middelen om een verbinding te vormen tussen de uitvoeringseenheid en adresseerbare systeemcomponenten van dezelfde en/of kleinere bit-10 breedten, waarbij de adressen van systeemcomponenten binnen een zeker gespecificeerd bereik van adressen van systeemcomponenten uitsluitend betrekking hebben op componenten van dezelfde bitbreedte als die van de uitvoeringseenheid, middelen om een volgende-adressignaal te genereren als functie van 15 de uitvoering van de instructie die op dat moment wordt uitgevoerd teneinde de middelen om het volgende adres te genereren vrij te geven, en middelen om te verhinderen dat een volgende-adressignaal beschikbaar komt gedurende het uitvoeren van een instructie die betrekking heeft op een adres buiten het gespecificeerde adresbereik.
2. Apparatuur volgens conclusie 1, waarin de instructieuitvoeringseenheid en de middelen om een adres te genereren twee eenheden binnen een microverwerkingseenheid zijn, waarbij de microverwerkingseenheid is verbonden met een cachegeheugensubsysteemi omvattende een cachebesturings-eenheid en een cachegeheugen met de gegeven bitbreedte, door een plaatse-25 lijke bus met de gegeven bitbreedte die ook een verbinding vormt met een systeembus die is doorverbonden met de adresseerbare systeemcomponenten, waarbij het cachegeheugen-subsysteem gegevens cacheert met betrekking tot uitsluitend die systeemcomponenten binnen het gespecificeerde adresbereik, waarbij de middelen die het volgende-adressignaal genereren zijn verbonden 30 tussen de cachebesturingseenheid en de middelen om adressen te genereren.
3. Apparatuur volgens conclusie 2, waarin de middelen om het volgende-adressignaal te genereren, wanneer iedere aktie van de middelen om te verhinderen afwezig is, worden vrijgegeven door een signaal vanuit de cachebesturingseenheid dat aangeeft dat er geen geldig adres op de plaat- BC 9.88.005 8901326. selijke bus is en door een signaal vanuit het systeem dat aanduidt dat een volgende adres vanuit de plaatselijke bus wordt vereist.
4. Apparatuur volgens conclusie 3, waarin de middelen om te verhinderen een adresdecodeerder omvatten die is verbonden met de adreslijnen 5 van de plaatselijke bus om te bepalen of een adres daarop al dan niet binnen het gespecificeerde bereik ligt en, in reactie op een bepaling dat een adres buiten het bereik ligt, een signaal te genereren om de middelen om het volgende-adressignaal te genereren te blokkeren.
5. Apparatuur volgens conclusie 4, waarin de middelen om te verhin-10 deren ook reactief zijn op een door het systeem gegenereerd signaal dat aanduidt dat het adres dat op de plaatselijke bus is aangeduid niet cacheerbaar is — ofschoon het zelfs binnen het gespecificeerde bereik ligt -- teneinde een signaal te genereren om de middelen om het volgende-adressignaal te genereren te blokkeren.
6. Apparatuur volgens conclusie 5, waarin de microverwerkingseenheid reactief is op een signaal dat aanduidt dat een geadresseerde systeem-component de helft van de bitbreedte heeft van de microverwerkingseenheid om een dubbele uitvoeringscyclus te programmeren, waarbij logica wordt verschaft, reactief op signaaleombinaties die aanduiden dat een geadres-20 seerde systeemcomponent een kwart van de bitbreedte van de microverwerkingseenheid heeft, teneinde transparant voor de microverwerkingseenheid de executiecyclus te herdubbelen.
7. Een werkwijze voor een gegevensverwerkend systeem welk omvat een instructieuitvoeringseenheid van een gegeven bitbreedte, asynchrone 25 middelen om een volgende adres te genereren, in staat om, indien vrijgegeven, het adres van de volgende instructie te genereren dat wordt vereist door de instructieuitvoeringseenheid gedurende het uitvoeren van de instructie die op dat moment wordt uitgevoerd, waarbij instructies vooraf kunnen worden opgehaald, en middelen voor het verbinden van de 30 uitvoeringseenheid met adresseerbare systeemcomponenten met dezelfde en/of kleinere bitbreedte, welke werkwijze omvat: het toewijzen van adressen voor systeemcomponenten binnen een zeker gespecificeerd bereik daarvan uitsluitend aan componenten met dezelfde bitbreedte als die van de uitvoeringseenheid, BC 9.88.005 8901326- s het genereren van een besturingssignaal als uitvoering van een instructie die betrekking heeft op een adres buiten het gespecificeerde adresbereik wordt gedetecteerd, en in reactie op zulk een besturingssignaal het verhinderen van het 5 genereren van een volgende-adressignaal als functie van de uitvoering van de instructie die op dat moment wordt uitgevoerd, teneinde vroegtijdig genereren van het volgende adres en dientengevolge het vooraf ophalen van instructies te verhinderen. 8901326 BC 9.88.005
NL8901326A 1988-05-26 1989-05-26 Gegevensverwerkende apparatuur met selectief vooraf ophalen van instructies. NL8901326A (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US19889488 1988-05-26
US07/198,894 US5125084A (en) 1988-05-26 1988-05-26 Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller

Publications (1)

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

Family

ID=22735315

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8901326A NL8901326A (nl) 1988-05-26 1989-05-26 Gegevensverwerkende apparatuur met selectief vooraf ophalen van instructies.

Country Status (25)

Country Link
US (1) US5125084A (nl)
EP (1) EP0343988B1 (nl)
JP (1) JPH0623960B2 (nl)
KR (1) KR930002321B1 (nl)
CN (1) CN1009589B (nl)
AR (1) AR242671A1 (nl)
AT (1) ATE112869T1 (nl)
AU (1) AU615055B2 (nl)
BE (1) BE1002768A4 (nl)
BR (1) BR8902393A (nl)
CA (1) CA1313274C (nl)
DE (2) DE3914265A1 (nl)
DK (1) DK169492B1 (nl)
ES (1) ES2063818T3 (nl)
FI (1) FI95175C (nl)
FR (1) FR2632090A1 (nl)
GB (2) GB8904921D0 (nl)
HK (1) HK11492A (nl)
IT (1) IT1230207B (nl)
MX (1) MX173139B (nl)
MY (1) MY104738A (nl)
NL (1) NL8901326A (nl)
NO (1) NO174788B (nl)
SE (1) SE8901307L (nl)
SG (1) SG110691G (nl)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2504206B2 (ja) * 1989-07-27 1996-06-05 三菱電機株式会社 バスコントロ―ラ
CA2023998A1 (en) * 1989-11-13 1991-05-14 Thomas F. Lewis Apparatus and method for guaranteeing strobe separation timing
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
JP3215105B2 (ja) * 1990-08-24 2001-10-02 富士通株式会社 メモリアクセス装置
GB9018992D0 (en) * 1990-08-31 1990-10-17 Ncr Co Internal bus for work station interfacing means
US5274763A (en) * 1990-12-28 1993-12-28 Apple Computer, Inc. Data path apparatus for IO adapter
CA2060820C (en) * 1991-04-11 1998-09-15 Mick R. Jacobs Direct memory access for data transfer within an i/o device
GB2256296B (en) * 1991-05-31 1995-01-18 Integrated Device Tech Multiplexed status and diagnostic pins in a microprocessor with on-chip caches
US5228134A (en) * 1991-06-04 1993-07-13 Intel Corporation Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5630163A (en) * 1991-08-09 1997-05-13 Vadem Corporation Computer having a single bus supporting multiple bus architectures operating with different bus parameters
JP2599539B2 (ja) * 1991-10-15 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 直接メモリ・アクセス装置及びルック・アヘッド装置
JP2836321B2 (ja) * 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
US5317712A (en) * 1991-12-19 1994-05-31 Intel Corporation Method and apparatus for testing and configuring the width of portions of a memory
JPH07504773A (ja) * 1992-03-18 1995-05-25 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
US5307475A (en) * 1992-06-29 1994-04-26 The United States Of America As Represented By The Secretary Of The Navy Slave controller utilizing eight least/most significant bits for accessing sixteen bit data words
US5313593A (en) * 1992-09-17 1994-05-17 International Business Machines Corp. Personal computer system with bus noise rejection
JPH0827773B2 (ja) * 1992-10-23 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データ経路を使用可能にする方法、装置およびデータ処理システム
JP3369227B2 (ja) * 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
JP3904244B2 (ja) 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
JPH07210537A (ja) * 1993-12-10 1995-08-11 Advanced Micro Devicds Inc コンピュータシステム
US5835960A (en) * 1994-01-07 1998-11-10 Cirrus Logic, Inc. Apparatus and method for interfacing a peripheral device having a ROM BIOS to a PCI bus
US5548733A (en) * 1994-03-01 1996-08-20 Intel Corporation Method and apparatus for dynamically controlling the current maximum depth of a pipe lined computer bus system
US5784579A (en) * 1994-03-01 1998-07-21 Intel Corporation Method and apparatus for dynamically controlling bus access from a bus agent based on bus pipeline depth
US5842041A (en) * 1994-05-20 1998-11-24 Advanced Micro Devices, Inc. Computer system employing a control signal indicative of whether address is within address space of devices on processor local bus
JP3153078B2 (ja) * 1994-09-09 2001-04-03 日本電気株式会社 データ処理装置
JP2630271B2 (ja) * 1994-09-14 1997-07-16 日本電気株式会社 情報処理装置
US5890216A (en) * 1995-04-21 1999-03-30 International Business Machines Corporation Apparatus and method for decreasing the access time to non-cacheable address space in a computer system
US5758188A (en) * 1995-11-21 1998-05-26 Quantum Corporation Synchronous DMA burst transfer protocol having the peripheral device toggle the strobe signal such that data is latched using both edges of the strobe signal
US6504854B1 (en) 1998-04-10 2003-01-07 International Business Machines Corporation Multiple frequency communications
US6725348B1 (en) * 1999-10-13 2004-04-20 International Business Machines Corporation Data storage device and method for reducing write misses by completing transfer to a dual-port cache before initiating a disk write of the data from the cache
JP3857661B2 (ja) * 2003-03-13 2006-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、及び記録媒体
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US8825962B1 (en) * 2010-04-20 2014-09-02 Facebook, Inc. Push-based cache invalidation notification
CN113514408B (zh) * 2021-06-28 2024-06-11 杭州谱育科技发展有限公司 具有校正功能的臭氧检测装置及方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4016541A (en) * 1972-10-10 1977-04-05 Digital Equipment Corporation Memory unit for connection to central processor unit and interconnecting bus
US4314334A (en) * 1977-08-30 1982-02-02 Xerox Corporation Serial data communication system having simplex/duplex interface
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4315308A (en) * 1978-12-21 1982-02-09 Intel Corporation Interface between a microprocessor chip and peripheral subsystems
US4480307A (en) * 1982-01-04 1984-10-30 Intel Corporation Interface for use between a memory and components of a module switching apparatus
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
US4649476A (en) * 1983-10-31 1987-03-10 Motorola, Inc. Microcomputer having an internal address mapper
JPS6240555A (ja) * 1985-08-16 1987-02-21 Fujitsu Ltd プリフエツチ制御方式
US4853846A (en) * 1986-07-29 1989-08-01 Intel Corporation Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
US4933845A (en) * 1987-09-04 1990-06-12 Digital Equipment Corporation Reconfigurable bus
CA1314104C (en) * 1987-09-28 1993-03-02 Paul R. Culley Executing code from slow rom on high speed computer compatible with slower speed computers
EP0309995B1 (en) * 1987-09-28 1994-11-30 Compaq Computer Corporation System for fast selection of non-cacheable address ranges using programmed array logic

Also Published As

Publication number Publication date
AU3409989A (en) 1989-11-30
FI891787A (fi) 1989-11-27
AR242671A1 (es) 1993-04-30
DE68918754D1 (de) 1994-11-17
EP0343988A3 (en) 1991-01-30
DK169492B1 (da) 1994-11-07
EP0343988B1 (en) 1994-10-12
DE3914265A1 (de) 1989-11-30
FI891787A0 (fi) 1989-04-14
GB2219110A (en) 1989-11-29
JPH02146645A (ja) 1990-06-05
CN1009589B (zh) 1990-09-12
SG110691G (en) 1992-02-14
NO174788B (no) 1994-03-28
SE8901307L (sv) 1989-11-27
NO891584D0 (no) 1989-04-18
DK189489D0 (da) 1989-04-19
DE3914265C2 (nl) 1992-01-09
BR8902393A (pt) 1990-01-16
DE68918754T2 (de) 1995-04-27
SE8901307D0 (sv) 1989-04-11
FI95175B (fi) 1995-09-15
ES2063818T3 (es) 1995-01-16
MX173139B (es) 1994-02-02
GB2219110B (en) 1991-02-20
MY104738A (en) 1994-05-31
IT8920648A0 (it) 1989-05-25
FI95175C (fi) 1995-12-27
FR2632090A1 (fr) 1989-12-01
KR890017604A (ko) 1989-12-16
DK189489A (da) 1989-11-27
BE1002768A4 (fr) 1991-06-04
KR930002321B1 (ko) 1993-03-29
NO174788C (nl) 1994-07-13
NO891584L (no) 1989-11-27
AU615055B2 (en) 1991-09-19
EP0343988A2 (en) 1989-11-29
IT1230207B (it) 1991-10-18
GB8904921D0 (en) 1989-04-12
GB8912018D0 (en) 1989-07-12
HK11492A (en) 1992-02-21
ATE112869T1 (de) 1994-10-15
CA1313274C (en) 1993-01-26
US5125084A (en) 1992-06-23
CN1037976A (zh) 1989-12-13
JPH0623960B2 (ja) 1994-03-30

Similar Documents

Publication Publication Date Title
NL8901326A (nl) Gegevensverwerkende apparatuur met selectief vooraf ophalen van instructies.
US5375248A (en) Method for organizing state machine by selectively grouping status signals as inputs and classifying commands to be executed into performance sensitive and nonsensitive categories
US3898624A (en) Data processing system with variable prefetch and replacement algorithms
US5459839A (en) System and method for managing queue read and write pointers
US4961162A (en) Multiprocessing system for performing floating point arithmetic operations
US5664117A (en) Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US4873629A (en) Instruction processing unit for computer
US5045998A (en) Method and apparatus for selectively posting write cycles using the 82385 cache controller
US6115791A (en) Hierarchical cache system flushing scheme based on monitoring and decoding processor bus cycles for flush/clear sequence control
JPH06348647A (ja) システム・バスと周辺バスの間でのデータ転送を最適化する複数バス情報処理システム用のバス間ブリッジ
EP0803817A1 (en) A computer system having cache prefetching capability based on CPU request types
US4520441A (en) Data processing system
US5379386A (en) Micro channel interface controller
US6401199B1 (en) Method and system for copying data from ROM to RAM upon initialization of a computer system
US5388223A (en) 1-bit token ring arbitration architecture
JPH09179782A (ja) キャッシュ不可能な反復オペレーション命令を有する中央処理装置及びコンピュータ・システム
KR930001584B1 (ko) 마이크로 컴퓨터 시스템
JP2695017B2 (ja) データ転送方式
US5327545A (en) Data processing apparatus for selectively posting write cycles using the 82385 cache controller
US5408622A (en) Apparatus and method for emulation routine control transfer via host jump instruction creation and insertion
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US5418930A (en) Circuit for interfacing asynchronous to synchronous communications
US6330667B1 (en) System for read only memory shadowing circuit for copying a quantity of rom data to the ram prior to initialization of the computer system
WO1999032976A1 (en) Risc processor with concurrent snooping and instruction execution
EP0772829A1 (en) A pipelined microprocessor that makes memory requests to a cache memory and an external memory controller during the same clock cycle

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