DK165202B - Central behandlingsenhed med flere dataveje til et databehandlingsanlaeg - Google Patents
Central behandlingsenhed med flere dataveje til et databehandlingsanlaeg Download PDFInfo
- Publication number
- DK165202B DK165202B DK462584A DK462584A DK165202B DK 165202 B DK165202 B DK 165202B DK 462584 A DK462584 A DK 462584A DK 462584 A DK462584 A DK 462584A DK 165202 B DK165202 B DK 165202B
- Authority
- DK
- Denmark
- Prior art keywords
- unit
- arithmetic
- registers
- operands
- logic
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Image Processing (AREA)
- Hardware Redundancy (AREA)
- Control By Computers (AREA)
- Catalysts (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Electrotherapy Devices (AREA)
- Dram (AREA)
- Communication Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Logic Circuits (AREA)
Description
DK 165202B
Opfindelsen angår en central behandlingsenhed (CPU) med flere dataveje til et EDB-anlæg. Den angår specielt organisationen af de forskellige funktionsenheder, der omfatter en CPU, og giver en aritmetik/logik-5 enhed, en såkaldt ALU, og diverse særfunktionsenheder mulighed for at få adgang til dataregistre, alfanumme-riske konstanter og data fra et bufferlager, en såkaldt "memory-cache".
CPU'en i et EDB-anlæg er den del af systemet, hvor 10 der foregår databehandling, logiske og aritmetiske operationer og andre dataændringer. Den fysiske og logiske sammenkobling mellem elementerne i CPU*en, aritmetik/ logik-enheden og forskellige registre og multiplexere i en CPU er det, der betegnes "datavej".
15 De fleste CPU'er af kendt art har en enkel datavej struktur, dvs. de er organiserede på en sådan måde, at strømmen af data gennem CPU*en følger én enkelt vej.
Visse kendte CPU'er har multiple dataveje. Disse CPU'er bruger flere multiport-registre. Imidlertid kræ-20 ver sådanne arrangementer store multiplexere. Hos en CPU med eksempelvis 30 registre må hver multiplexer have 30 indgange for at kunne betjene alle disse registre.
Desuden kan de kendte CPU'er være opstillede i pipeline-konfiguration, det vil tidsmæssigt set sige i 25 mindst to trin, således at udførelsen af én enkelt linie af mikroinstruktioner foregår i flere tempi i datavejen.
En pipeline-struktur giver mulighed for hurtigere datagennemføring i CPU'en ved, at dele af forskellige successive instruktioner udføres simultant. Eksempelvis kan 30 en tidlig placeret eller lavrangeret del af en første instruktion udføres samtidigt med en sent placeret eller højrangeret del af en anden instruktion.
Den for opfinderne kendte datavejimplementering løser opgaven, men udviser dog én eller flere af de føl-35 gende ulemper. CPU'er med multiple dataveje med multiport-registre og multiplexere karakteriseres sædvanlig- 2
DK 165202B
vis ved stort komponentopbud på grund af brugen af brede multiplexere. Brugen af sådanne multiplexere virker begrænsende på CPU’ens cyklustid, idet det almindeligvis gælder, at jo bredere multiplexeren er, desto læn-5 gere skal udvælgelsestidsrummet være.
De kendte CPU'er, der ikke har pipeline-struktur, t er sædvanligvis ikke i stand til at præstere den samme mængde af instruktioner som maskiner, der har denne struktur.
10 En anden egenskab hos kendte CPU'er med multiple dataveje og brede multiplexere er, at de sikrer total smidighed i simultan tilgang til indholdet i mere end to dataregistre. Denne smidighed kan dog oftest vise sig at give en illusorisk præstationsfordel, eftersom den 15 mest anvendte operand statistisk set er den, der resulterer af den foregående operation.
Publikationen: Computer, Bind 14, nr. 9, nov, 1981, A.E. Charlesworth: "An approach to scientific array processing: The architectural design of the AP-20 120B/FPS-164 family", beskriver en CPU-arkitektur som har parallel addition og multiplikation i pipeline-konfiguration, samt lagre og registre, hvorfra operander selektivt føres til, og til hvilke resultater sendes tilbage efter ønske, fra adder og multiplikationsenhed.
25 Derfor og til trods for de kendte forslag til datavejimplementering er der stadig mulighed for forbedring både med hensyn til præstationerne Qg til præstationerne i relation til prisen.
I de fleste kendte systemer er der dele af CPU'en, 30 der ikke kontrolleres, eller alternativt et omfattende, kostbart og redundant hardware til kontrol. Endvidere kræver de kendte CPU'er sædvanligvis flere forbindelser mellem testlogikkredsene og de forskellige funktions-, enheder for at kunne udføre mikroforgrening.
35 I overensstemmelse hermed giver opfindelsen anvis ning på en CPU-datavej struktur, der af hjælper en eller 3
DK 165202B
flere af ulemperne ved den kendte teknik.
Opfindelsen giver endvidere anvisning på en CPU-datavejstruktur med multiple dataveje.
Opfindelsen giver endvidere anvisning på en CPU med 5 flere dataveje med reduktion af portstyring af registre og af brugen af brede multiplexere.
Opfindelsen giver endvidere anvisning på en CPU-datavejstruktur med flere dataveje med mulighed for mere end én operation pr. instruktionscyklus i CPU'en.
10 Med henblik herpå er en CPU-arkitektur til brug i et databehandlingsanlæg, hvor en instruktion bevirker, at operander behandles under udførelse af et mikrokode-ord ifølge opfindelsen ejendommelig ved en aritmetik/ logik-enhed i en første datavej til udførelse af arit-15 metik/logik-operationer på operander, mindst én valgbar funktionsenhed i en anden datavej til udførelse af operationer på operander, simultant med de aritmetik/lo-giske operationer, et antal primære registre til oplagring af operander, der skal behandles af aritmetik/lo-20 gik-enheden og den valgbare funktionsenhed, et antal primære vælge-logikkredse til selektivt at koble et af nævnte primære registre til aritmetik/logik-enheden og til at koble et af nævnte primære registre til nævnte valgbare funktionsenhed, en første bus til tilbageføring 25 af resultater af en operation hos aritmetik/logik-enheden til mindst ét af nævnte primære registre, en anden bus til tilbageføring af resultater af en operation hos nævnte valgbare funktionsenhed til mindst ét af nævnte primære registre, mindst ét sekundært register, der er 30 koblet til mindst ét af nævnte primære registre, til oplagring af operander, der skal behandles af aritmetik/ logik-enheden og den valgbare funktionsenhed, og som selektivt overfører nævnte operander til nævnte primære register, og mindst én anden vælge-logikkreds, der er kob-35 let til mindst ét af nævnte primære registre, for selektivt at koble en af flere datakilder til nævnte primære register 4
DK 165202B
Som det vil fremgå af detaljebeskrivelsen drejer det sig om en CPU med multiple dataveje, hvor datakilderne, som kan være en fil med flere registre, et bufferlager, et register for alfanumeriske konstanter, et 5 register for ALU-uddata eller for særfunktionsdata, er organiserede i to sæt af operandbusser, hvoraf det ene ψ sæt føder en ALU, og det andet føder et sæt af særfunk-tionsenheder, hvis funktioner styres af en mikrokode.
Hver operandbus modtager data fra en multiplexer, · 1q der fødes fra et sub-sæt af de mulige datakilder, indbefattende holderegistre, der opbevarer resultaterne af de foregående operationer i ALU'en og i særfunktionsenhederne .
Medens de kendte opstillinger med multiple data-15 veje sædvanligvis foreslår multiplexering af datakilderne i et enkelt trin under anvendelse af mindst én bred multiplexer, går opfindelsen ud på at anvende to trin i et pipeline-arrangement, hvor et første trin udfører dekodning af registerfilen og af et vilkårligt registers 20 multiplexer, medens et andet trin adresserer hovedmulti-plexere og styrer ALU'en og særfunktionsenhedernes funktion. Styringen af særfunktioner indbefatter udvælgelsen af én af N sær funktionsenheder og definitionen af dens funktion.
25 Særfunktionsarrangementet er et såkaldt "closely coupled"-system, hvor en hjælpedatavej og et sæt på N særfunktionsenheder, der hver er i stand til at udføre flere funktioner, har interface med hoved-ALU-datavejen. Praktisk taget enhver særfunktion kan implementeres, 30 f.eks. en hjælpe-ALU, tilgang til et sæt skrive/slette-registre, en såkaldt "barrel shifter", interface med andre processorer i et multiprocessorsystem gennem en interprocessorbus, interface med hovedlager, afbryderfunktion, aflæsning fra og indlæsning i styrelager, in-35 tervaltimer, I/O-kanal-interface.
Det forhold, at der er multiple dataveje, giver mulighed for afkontrollering af de forskellige CPU-sub- 5
DK 165202B
systemer på helt transparent måde for brugeren. Under visse operationer kan der benyttes ellers ikke-anvendte mikrokoder, der kodes til standsning af CPU'en, når der er uoverensstemmelse mellem to busser.
5 Ud fra de samme udgangsbetragtninger angår opfin delsen også en CPU-arkitektur til brug i et databehandlingsanlæg, hvor en instruktion bevirker, at operander behandles under en instruktionscyklus, ejendommelig ved en aritmetik/logik-enhed i en datavej, et antal valgbare 10 funktionsenheder i en datavej adskilt fra aritmetik/lo-gik-enhedens datavej, til under nævnte instruktionscyklus og i overensstemmelse med den pågældende instruktion at udføre operationer på operander, hvilken instruktion bevirker udvælgelse af en af nævnte funktionsenhe-15 der og definerer dennes funktion og operander, en dekoderenhed i nævnte én valgbar funktionsenhed, til angivelse af at en testbetingelse er blevet opfyldt, og en mikroforgreningskreds, forbundet med mikrosekvenskreds i CPU'en, og indrettet til i afhængighed af dekodeenhe-20 dens udgangssignal at foretage mikroforgrening, når testbetingelsen er opfyldt.
Opfindelsen forklares nærmere i det følgende under henvisning til den skematiske tegning, hvor fig. 1 viser et blokdiagram over CPU'en ifølge op-25 findelsen, fig. 2 et blokdiagram over en hjælpe-ALU, der virker som særfunktionsenhed, fig. 3 et blokdiagram over en kobling med skrive/ slette-registre, der virker som særfunktionsenhed, 30 fig. 4 et blokdiagram over en kobling til frembrin gelse af særfunktionsparitet, og fig. 5 et blokdiagram over sær funktionsmodul ernes kobling til betinget test.
Fig. 1 viser et blokdiagram over den samlede da-35 tavejstruktur. I den foretrukne udførelsesform er der. to grupper, der betjenes, nemlig en aritmetik/logik-en-
DK 165202B
6 hed 10, såkaldt ALU og særfunktionsenheder· 12a ___ 12n.
Uddata fra ALU 10 er tilgængelige på hovedbussen 14, medens uddata fra funktionsenhederne 12 føres én ad gangen ud til en separat hovedbus 16.
5 Dataene til disse to grupper afleveres via henholds vis en J-bus 18 og en K-bus 20; en SJ-bus 26 og en SK-bus 28 gennem tilhørende 4/1-multiplexere 30, 32. Multiplexer-udvælgelsen sker på i og for sig kendt måde ved hjælp af mikrokodefelter. Medens der i den foretruk-10 ne udførelsesform anvendes 4/1-multiplexere, må det for sagkyndige stå klart, at et system med rigere inputsammenkobling kunne anvendes, men dette vil ske på bekostning af mere indviklet hardware med den usikre fordel af en forøget fleksibilitet.
15 De to multiplexere 22 og 30, der føder henholdsvis J-bussen 18 og SJ-bussen 26, modtager data fra et J-register 34, et CD-register 38, et M-register 38 og et SM-register 40. Multiplexerne 24 og 32, der føder K-bussen 20 og SK-bussen 28, modtager data fra M-re-20 gisteret 38, SM-registeret 40, et K-register 42 og et LIT-register 44. Det skal bemærkes, at datavejen er gjort "bredere" ved, at dataregistrene M 38 og SM 40 er fælles for M- og SM-datavej ene i begge sider af ALU’en 10 via J-registeret 34 og K-registeret 42 og såle-25 des over J-bussen 18 og K-bussen 20 samt også i begge sider af særfunktionsenhederne 12a-12n via SJ-multi-plexeren 30, SK-multiplexeren 32 og gennem SJ-bussen 26 og SK-bussen 28.
Der må her gøres opmærksom på funktionerne af de 30 forskellige registre og busser som anvendt i en foretruk-ken udførelsesform for opfindelsen, selv om sagkyndige klart kan se, at dette valg til en vis grad er arbitrært, og at andre funktioner eller prioriteter kan tilordnes de forskellige registre og busser og kombinationer her-35 af, uden at man herved falder uden for opfindelsens ramme.
DK 165202 B
7
Det foregående ALU-resultats data, overført fra ALU 10's udgang over M-bussen 14, holdes i Il-registeret 38. I SM-registeret 40 findes dataene for den foregående særfunktion fra den tilhørende funktions-5 enhed 12a-12n.
J-registeret 34 og K-registeret 42 holder indholdet af et valgt register blandt flere, indbefattende specielt et valgt register fra multipel-registerfilen 46, hvori der kan indlæses fra M-registeret 38. Sagkyn-10 dige kan se, at J- eller K-registrene kan overtage data fra andre registre, såsom programtælle- eller lager-adresseregistre gennem andre multiplexere.
CD-registeret 36 holder indholdet af et adresserbart lager 48, såkaldt CACHE, hvori der indlæses fra 15 SM-registeret 4 0 via linien 49. Det sidste hovedregister i denne række er LIT-registeret 44, der, som betegnelsen antyder, holder en alfanumerisk konstant, skabt af et mikrokodefelt 50.
Registerfilen 46 styres af flere mikrokodefelter, 20 der bestemmer, hvilket register, der eventuelt skal drive J-registeret 34 og K-registeret 42, og i hvilket filregister der skal indlæses fra M-registeret 38. Et peger-register (ikke vist) arbejder sammen med en mikrokode med henblik på udvælgelse af de registre, hvori der skal 25 indlæses, eller hvorfra der skal udlæses. Der kan indlæses i dette register fra M-bussen 14, og det kan in-eller dekrementeres ved hjælp af mikroko4e-felter. Alle de felter, der bruges til indlæsning i filregistrene, har rang 2, og alle de felter, der anvendes til aflæs-30 ning, har rang 1.
Som tidligere nævnt opererer den i fig. 1 viste · datavej struktur fortrinsvis under anvendelse af en pipeline med mikrokode med mindst to rang, som beskrevet i US-A-4,574,344 og EP-A-136 182.
35 I henhold til en foretrukken udførelsesform for op findelsen dekoder en given mikroinstruktions l.rang- 8
DK 165202B
mikrokode-bitfelt mikrokode-adresseringsfunktionerne for multipel-registerfilen 46, multiplexeren 52, der placerer resultaterne af et af et antal forskellige registre på indgangen til J-registeret 34, og multiplexeren 5 54, der udfører den samme funktion for indgangen til K- registeret 42. Multiplexerne 52 og 54 danner port for « sjældnere aktiverede registre, såsom programtæller, la-geradresseregistre eller statusregistre. For sagkyndige må det være klart, at denne struktur giver adgang til 10 mange registre uden at overfylde hovedregistervejene.
En hvilken som helst given instruktions 2.rang-mikrokode-bitfelt dekoder multiplexerne 22, 24, 30, 32 og styrer og definerer funktionen af ALU 10 og sær funktion s enhed erne 12a-12n. Hvad angår særfunktionsenheder-15 ne tjener en del af 2.rang-mikrokode-bitfeltet til både at styre udvælgelsen af en af de n særfunktionsenheder 12a-12n og til at definere dens funktion. For sagkyndige må det stå klart, at den særlige del af det disponible mikrokode-felt, der anvendes, ikke er specificeret, 20 og at vilkårlige bitpositioner af passende rang i mikro-kode-feltet kan benyttes. Samtlige registre taktstyres simultant, undtagen CD-registeret 36, der taktstyres, når mikrokoden beordrer indlæsning fra cache-register et.
Et mikrokode-felt afgiver et spærresignal (ikke vist) 25 til aktivering af CD-r egister et 36. Indlæsningen i visse registre (M, SM, CD og MRF) kan om ønsket spærres under en mikro forgrening, jf. DK ans. nr. 4626/84.
For sagkyndige må det stå klart, at det arrangement af dataveje, der er omtalt i den foregående beskrivelse 30 af en foretrukken udfør elsesf om for opfindelsen, giver - med hensyn til pris og præstationer - en smidighed, der repræsenterer et fornuftigt kompromis mellem hardware-kompleksitet og alsidighed.
Hver sær funktions enhed 12a-12n kan have sin grup-35 pe af opgaver, og for eksempel kan en af disse enheder være en hjælpe ALU, der kan udføre logiske eller aritmetiske funktioner og aflevere resultaterne til SM-bussen.
9
DK 165202B
Fig. 2 viser en udførelsesform for en særfunktions-enhed som en ALU 100/ hvis indgang 102 er forbundet med SJ-bussen 26, og hvis indgang 104 er forbundet med SK-bussen 28, medens udgangen 106 er koblet til 5 en bufferkreds 108. Bufferkredsen 108 overfører ALU-dataene til SM-bussen 16. Da flere særfunktionsenheder knytter sig til SM-bussen, må buf fer kredsen 108 være udformet med midler til at forebygge datakollision, nemlig en Output-Enable-indgang, der drives af en dekode-10 enhed 110. Et mikrokode-felt 112 af rang 2 driver dekodeenheden 110 samt andre lignende dekodeenheder for alle de særfuhktionsenheder, der knytter sig til SM- · bussen 16.
Et andet mikrokode-felt 114 af rang 2 er koblet til 15 ALU'en 100. Dette mikrokode-felt definerer den operation, der skal udføres af ALU'en 100.
Under driften er enhver særfunktionsenhed, såsom ALU'en 100, altid knyttet til SJ- og SK-busserne og er således altid i stand til at opfylde sin funktion. Til 20 enhver tid er der kun én funktion, der har kontrol over SM-bussen. Denne udvælgelse fastlægges af mikrokode-feltet 112 og dekodes af dekoderen 110, hvorved bufferen 108, der driver SM-bussen 16, oplåses.
ALU'en 100 kan have en udgang 116 for ALU = 0 25 til udførelse af en af flere tests. Som tidligere nævnt kan uanvendte mikrokoder i tidligere instruktioner benyttes til skabelse af operationer med den i -fig. 1 viste CPU, hvilket resulterer i, at der placeres størrelser på SJ- og SK-busserne. Hvis disse mikrokode-30 testrutiner udformes således, at de over SJ- og SK-busserne simultant forekommende resultater antages at være ens, kan udgangen 116 på ALU'en 100 bruges som det sidste trin i testen for at bestemme, hvorvidt det af mikrokoden testede hardware fungerer korrekt. Ethvert 35 andet resultat end ALU = 0 på dette tidspunkt i programmet kan anvendes til at standse processoren, når der så- 10
DK 165202B
ledes er uoverensstemmelse mellem SJ-bussen 26 og SK-bussen 28. Dette giver mulighed for at checke den korrekte funktion af forskellige dele af CPU'en, som ikke sikres på anden måde (f.eks. paritetssikring), uden be-5 hov for en større andel af redundante kredse. Afkontrolleringen løber sammen med normal systemoperation uden # indvirkning på præstationerne. Eksempelvis kræver den enkle ADD-makroinstruktion ikke, at der skal anvendes særfunktionsmoduler 12a-12n.
10 ALU'en 10 modtager de operander, der skal adderes, over J-bussen 18 og K-bussen 20. På grund af datavejenes smidighed kan de samme operander tilføres særfunk- . tions-ALU'en 100. I den efterfølgende taktperiode er resultaterne fra hoved-ALU'en og særfunktions-ALU'en 15 tilgængelige i M-registeret 38 og SM-registeret 40. Derefter kan disse resultater over multiplexerne 30 og 32 tilføres indgangene 102 og 104 til særfunktions-ALU ' en. Mikrokode-feltet 114 udfører den check-funktion, der beordrer ALU'en 100 til at udføre en sub-20 traktion og standse CPU'en, hvis resultatet over linien 116 er forskelligt fra nul. På denne måde kan man afkontrollere den korrekte funktion af såvel ALU'en som mange andre af styrevejene.
Et andet eksempel på en sær funktion, der kan imple-25 menteres i CPU'en ifølge opfindelsen, er et skrive ytlette-lager (såkaldt "scratchpad) med multipeladressering. Lageret 120, der kan være et RAM-lager eller andet egnet lager, er forbundet med SJ-bussen 26, SK-bussen 28 og SM-bussen 16. SJ-bussen danner dataindgang til lageret 30 120, SK-bussen bruges til at holde en del af den adresse, der giver adgang til lageret 120. En anden del af den adresse, der benyttes til at få adgang til lageret 120, udledes fra mikrokode-feltet 114.
På samme måde som med ALU'en sørger dekoderen 122 35 for at undersøge mikrokode-feltet 112 og afgøre, om der til aktivering af lageret 120 er et givet bitmøn-
DK 165202 B
11 ster, hvorved lageret forbindes med SM-bussen 16. Til forskel fra dekoderen 110 for ALU'en 100 har dekoderen 122 to udgange, hvoraf den ene, linien 124, afgiver én enkelt bit til oplåsning af lageret 120's ud-5 gang for på i og for sig kendt måde at frakoble lageret 120's udgangsdrivtrin fra SM-bussen 16. Den anden udgang, linien 126, benyttes til at drive*read/write-ind-gangen til lageret 120 og afgøre, om der skal aflæses eller skrives ind i lageret 120.
10 Af det foregående fremgår det således, at mikro- kode-feltet 112 i al almindelighed bruges til dekod ning af udvælgelsen af en given særfunktion og til at føre resultatet heraf til SM-bussen 16. Mikrokode-feltet 114 er nyttigt til udførelse af specielle adresserings-15 funktioner eller funktionsdefinitioner for en hvilken som helst indbygget særfunktionsenhed.
Medens der normalt sendes paritet sammen med de tilhørende data, udsender særfunktionskredsene 12a-12n paritet én taktcyklus senere. Hvis en særfunktionsenhed 20 12a-12n sender paritet i serie med udgangsdataene fra en sær funktionsenhed, vil paritetsfrembringelsen forlænge maskinens cyklustid.
For at forebygge forlængelse af cyklustid sender særfunktionsenhederne 12a-12n paritetsinformation én 25 taktperiode senere end datainformation. Tidspunktet for paritetsfrembringelsen indvirker således ikke på CPU'ens minimale cyklustid.
Paritetsfrembringelsen for særfunktionsenhederne beskrives nu nærmere under henvisning til fig. 4, der 30 viser særfunktionsenhederne 12a-12n med de tilhørende indgange fra SJ-bussen 26 og SK-bussen 28 og de tilhørende udgange til SM-bussen 16. Fig. 4 viser endvidere en SJ-paritetsbus 26a og en SK-paritetsbus 28a til indgangene til de to særfunktionsmoduler samt en 35 SM-paritetsbus 16a, der aktiveres af særfunktionsenhe-derrie 12a-12n. Funktionsenheden 12a - og dette gælder 12
DK 165202B
jo for alle funktionsenheder - omfatter en enhed 202 for paritetsoverføring eller -frembringelse, samt særfunktionsoperationen 200, der for eksempel kan være den i fig. 2 viste ALU 100 eller det i fig. 3 viste skrive/ 5 slette-lager. Afhængigt af arten af den pågældende særfunktionsenhed må pariteten for denne enhed overføres # eller etableres. Hvis denne enhed f.eks. er et skrive/ slette-lager (scratchpad), vil man blot overføre paritet sammen med de data, der skal oplagres i enheden. Hvis · 10 særfunktionsenheden 200 er en ALU, etableres pariteten ud fra ALU-resultatet.
I andre tilfælde, f.eks. når en særfunktionsenhed foretager en tælleoperation, kan der, såfremt man kender input-tilstande og -paritet, anvendes en algoritme til 15 at forudsige, hvad pariteten vil være i resultatet. Det er velkendt, at der findes mange hardware-opstillinger, der kan bruges til at forudberegne pariteten på basis af indførte operander og den udførte operation. Enheden 202 til paritetsoverføring eller -frembringelse kan også 20 indbefatte sådanne former for paritetsforudsigelse.
Den resulterende paritetsbit fra enheden 202 indføres i et SM-paritetsbus-forsinkelsesregister 204 på den første taktimpuls efter frembringelsen af bitten.
Det skal bemærkes, at mikrokode-feltet 112, der 25 som tidligere omtalt benyttes til oplåsning af en given særfunktionsenhed 12a-12n, her driver dekoderen 206.
Denne dekoder svarer funktionsmæssigt tii. dekoderne 110 og 122, jf. fig. 2 og 3, men den indbefatter som her vist en anden funktion, der knytter sig til pariteten..
30 En del af udgangssignalet fra dekoderen 206 styrer SM-bus-outputfunktionen via bufferen 208, der på i og for sig kendt måde som vist også har aflåse-funktion (disable function). Udgangene på dekoderen 206 afgiver også data til et register 210, et såkaldt 11SM parity drive 35 delay register". Udgangen på dette register 210 driver linien til op/aflåsning af udgangsbufferen 212, som af-
DK 165202 B
13 giver udgangssignalet fra SM-forsinkelsesregisteret til SM-paritetsbussen 16a.
For sagkyndige står det klart, at resultatet af særfunktionsoperationen 200 på grund af taktforsinkel- 5 sen i registrene 204 og 210 føres igennem bufferen · 208 til SM-bussen 16 én taktperiode forud for den pa- # ritstsbit, der afgives til SM-paritetsbussen 16a. For imidlertid at opveje dette driver paritetsbussen 16a paritetscheck-kredsen 216. Udgangssignalet fra SM-re-10 gisteret 214 føres til check-kredsen 216, som også modtager paritetsbitten over bussen 16a. Da denne paritetsbit over bussen 16a er blevet forsinket én taktperiode, bevirker SM-registeret 214, at dataene over SM-bussen 16 forsinkes én taktperiode, således at 15 check-kredsen 216 modtager både data og paritetsbit, der tidsmæssigt hører sammen.
Medens man i det foregående generelt har talt om paritet som bestående af én enkelt bit pr. ord/ vil det for sagkyndige stå klart, at der kan anvendes andre de-20 finitioner. Eksempelvis kan der anvendes et antal paritetsbit til at dække forskellige sub-felter i det komplette ord. Man kunne anvende to paritetsbit, den ene for den øvre halvdel, den anden for den nedre halvdel af et ord.
25 Fig. 5 viser et blokdiagram over en kobling, der i særfunktionsenhederne giver CPU-sekvenskredsen mulighed for indkobling af talrige test-konditioner.
Inden for hver sær funktionsenhed 12a-l2n er der som tidligere beskrevet forskellige funktionsenheder, 30 der er i stand til at foretage diverse tests på de parametre, med hvilke de opererer. Hvis særfunktionsenheden eksempelvis er en ALU, kan de forskellige tests, der kan udføres, omfatte opsætning af mentebit, ALU = 0, positive eller negative ALU-resultater.
35 Hver sær funktionsenhed 12 omfatter to multiplexe- re 130 og 132, der ved hjælp af en del af mikrokode- 14
DK 165202B
feltet 114 - som tidligere omtalt under henvisning til fig. 2-4 - foretager valg blandt de forskellige for det pågældende modul tilgængelige test-betingelser. For sagkyndige er det klart, at udvælgelsen af to specifikke 5 tests er arbitrær, og der kunne udvælges et større eller mindte antal tests ved en tilsvarende ændring af antallet af multiplexere, som multiplexerne 130 og 132. Udgangssignalerne fra multiplexerne 130 og 132 overføres til bussen 134 (STESTA-bus) henholdsvis bussen 136 10 (STESTB-bus) via respektive buffere 138 .og 140. På samme måde som vist under henvisning til fig. 2-4 kan· udgangene på bufferne 138 og 140 afspærres, når den sær funktionsenhed 12, som de hører til, hverken aktiverer SM-bussen eller STESTA-bussen 134 eller STESTB-15 bussen 136. Spærreindgangene til bufferne 138 og 140 drives af dekoderen 110, der som tidligere forklaret med hensyn til disse sær funktions enhed er foretager dekodning af mikrokode-feltet 112.
Når en sær funktionsenhed således er blevet valgt, 20 og en test eller et sæt tests er blevet defineret af en del af mikrokode-feltet 114, afgiver multiplexerne 130 og 132 gennem bufferne 138 og 140 testresultaterne til henholdsvis STESTA-bussen 134 og STESTB-bussen 136.
25 Nævnte to busser 134 og 136 fører‘til en se- * kvensforgreningskreds 139, der har til funktion at anvende testresultaterne over nævnte to busser til at udføre en mikroforgrening og til selektivt at inhibere linier af mikrokode, når visse mikroforgreninger er 30 blevet foretaget. Udformningen af og virkemåden for denne mikroforgreningskobling'er beskrevet i DK patentansøgning nr. 4626/84.
Kapaciteten (eller "bredden") af de her anvendte busser kan bestemmes under hensyntagen til de enkelte 35 tilfælde. Opfinderne har anvendt en kapacitet (bredde) på 16 bit + 2 paritetsbit, og den aktuelle kapacitet
Claims (3)
1. CPU-arkitektur til brug i et databehandlings-15 anlæg, hvor en instruktion bevirker, at operander behandles under udførelse af et mikrokodeord, kendetegnet ved - en aritmetik/logik-enhed (10) i en første datavej (18, 20) til udførelse af aritmetik/logik-operatio- 20 ner på operander, - mindst én valgbar funktionsenhed (12a-12n) i en anden datavej (26, 28) til udførelse af operationer på operander, simultant med de aritmetik/logiske operationer, 25. et antal primære registre (34, 36, 38, 40, 42, 44. til oplagring af operander, der skal behandles af aritmetik/logik-enheden (10) og den valgbare funktionsenhed (12a-12n), - et antal primære vælge-logikkredse (22, 24, 30, 30 32) til selektivt at koble et af nævnte primære registre (34, 36, 38, 40, 42, 44) til aritmetik/logik-enheden (10) og til at koble et af nævnte primære registre (34, 36, 38, 40, 42, 44) til nævnte valgbare funktionsenhed (12a-12n), 35. en første bus (14) til tilbageføring af resul tater af en operation hos aritmetik/logik-enheden (10) 16 DK 165202B til mindst ét af nævnte primære registre (34, 36, 38, 40, 42, 44·), - en anden bus (16) til tilbageføring af resultater af en operation hos nævnte valgbare funktionsenhed 5 (12a-12n) til mindst ét af nævnte primære registre (34, 36, 38, 40, 42, 44), - mindst ét sekundært register (46), der er koblet til mindst ét af nævnte primære registre (34, 36, 38, 40, 42, 44), til oplagring af operander, der skal be-10 handles af aritmetik/logik-enheden (10) og den valgbare funktionsenhed (12a-12n), og som selektivt overfører nævnte operander til nævnte primære register (34, 36, 38, 40, 42, 44), og - mindst én anden vælge-logikkreds (52, 54) der 15 er koblet til mindst ét af nævnte primære registre, for selektivt at koble en af flere datakilder til nævnte primære register.
2. CPU-arkitektur ifølge krav 1, kendetegnet ved, at nævnte valgbare funktionsenhed (12a-12n) 20 indbefatter en -aritmetik/logik-enhed (100).
3. CPU-arkitektur til brug i et databehandlingsanlæg, hvor en instruktion bevirker, at operander be-, handles under en instruktionscyklus, kendetegnet ved, 25. en aritmetik/logik-enhed (10) i en datavej (14, 18, 20), - et antal·valgbare funktionsenheder (12a-12n) i en datavej (16, 26, 28) adskilt fra aritmetik/logik-en-hedens (10) datavej, til under nævnte instruktionscyklus 30 og i overensstemmelse med den pågældende instruktion at udføre operationer på operander, hvilken instruktion bevirker udvælgelse af en af nævnte funktionsenheder og definerer dennes funktion og operander, - en dekoderenhed (110) i nævnte én valgbar funk-35 tionsenhed, til angivelse af at en testbetingelse er blevet opfyldt, og DK 165202 B 17 - en mikroforgreningskreds (139), forbundet med mikrosekvenskreds i CPU*en, og indrettet til i afhængighed af dekoderenhedens udgangssignal at foretage mikro-forgrening, når testbetingelsen er opfyldt.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/537,877 US4800486A (en) | 1983-09-29 | 1983-09-29 | Multiple data patch CPU architecture |
| US53787783 | 1983-09-29 |
Publications (4)
| Publication Number | Publication Date |
|---|---|
| DK462584D0 DK462584D0 (da) | 1984-09-27 |
| DK462584A DK462584A (da) | 1985-03-30 |
| DK165202B true DK165202B (da) | 1992-10-19 |
| DK165202C DK165202C (da) | 1993-03-15 |
Family
ID=24144474
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DK462584A DK165202C (da) | 1983-09-29 | 1984-09-27 | Central behandlingsenhed med flere dataveje til et databehandlingsanlaeg |
Country Status (19)
| Country | Link |
|---|---|
| US (1) | US4800486A (da) |
| EP (1) | EP0136179B1 (da) |
| JP (1) | JPH0752386B2 (da) |
| KR (1) | KR920004059B1 (da) |
| AT (1) | ATE58794T1 (da) |
| AU (1) | AU574387B2 (da) |
| BR (1) | BR8404918A (da) |
| CA (1) | CA1215783A (da) |
| DE (1) | DE3483669D1 (da) |
| DK (1) | DK165202C (da) |
| FI (1) | FI85428C (da) |
| HK (1) | HK46191A (da) |
| IE (1) | IE56554B1 (da) |
| IL (1) | IL73106A (da) |
| IN (1) | IN162545B (da) |
| MX (1) | MX157907A (da) |
| NO (1) | NO168497C (da) |
| NZ (1) | NZ209663A (da) |
| ZA (1) | ZA847524B (da) |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB8401807D0 (en) * | 1984-01-24 | 1984-02-29 | Int Computers Ltd | Pipelined data processing apparatus |
| US4891754A (en) * | 1987-07-02 | 1990-01-02 | General Datacomm Inc. | Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner |
| US5032986A (en) * | 1987-07-28 | 1991-07-16 | Texas Instruments Incorporated | Data processing device with parallel circular addressing hardware |
| JPH01255031A (ja) * | 1988-04-05 | 1989-10-11 | Matsushita Electric Ind Co Ltd | 演算処理装置 |
| US5109497A (en) * | 1989-01-27 | 1992-04-28 | Hughes Aircraft Company | Arithmetic element controller for controlling data, control and micro store memories |
| DE69230554T2 (de) * | 1991-07-08 | 2000-07-06 | Seiko Epson Corp., Tokio/Tokyo | Risc-mikroprozessorarchitektur mit schnellem unterbrechungs- und ausnahmemodus |
| ATE200357T1 (de) | 1991-07-08 | 2001-04-15 | Seiko Epson Corp | Risc-prozessor mit dehnbarer architektur |
| US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
| US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
| US5438668A (en) * | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
| US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
| JP3644959B2 (ja) | 1992-09-29 | 2005-05-11 | セイコーエプソン株式会社 | マイクロプロセッサシステム |
| US5648733A (en) * | 1995-11-01 | 1997-07-15 | Lsi Logic Corporation | Scan compatible 3-state bus control |
| US20090070570A1 (en) * | 2007-09-11 | 2009-03-12 | Shubhodeep Roy Choudhury | System and Method for Efficiently Handling Interrupts |
| US7669083B2 (en) * | 2007-09-11 | 2010-02-23 | International Business Machines Corporation | System and method for re-shuffling test case instruction orders for processor design verification and validation |
| US8006221B2 (en) * | 2007-09-11 | 2011-08-23 | International Business Machines Corporation | System and method for testing multiple processor modes for processor design verification and validation |
| US8019566B2 (en) * | 2007-09-11 | 2011-09-13 | International Business Machines Corporation | System and method for efficiently testing cache congruence classes during processor design verification and validation |
| US8099559B2 (en) * | 2007-09-11 | 2012-01-17 | International Business Machines Corporation | System and method for generating fast instruction and data interrupts for processor design verification and validation |
| US7992059B2 (en) | 2007-09-11 | 2011-08-02 | International Business Machines Corporation | System and method for testing a large memory area during processor design verification and validation |
| US7966521B2 (en) * | 2008-07-14 | 2011-06-21 | International Business Machines Corporation | Light weight and high throughput test case generation methodology for testing cache/TLB intervention and diagnostics |
| US9153295B2 (en) * | 2012-10-04 | 2015-10-06 | Texas Instruments Incorporated | Register bank cross path connection method in a multi core processor system |
Family Cites Families (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1426749A (en) * | 1973-06-05 | 1976-03-03 | Burroughs Corp | Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets |
| US3900723A (en) * | 1974-05-28 | 1975-08-19 | Control Data Corp | Apparatus for controlling computer pipelines for arithmetic operations on vectors |
| JPS513743A (da) * | 1974-06-28 | 1976-01-13 | Hitachi Ltd | |
| US4041461A (en) * | 1975-07-25 | 1977-08-09 | International Business Machines Corporation | Signal analyzer system |
| GB1506972A (en) * | 1976-02-06 | 1978-04-12 | Int Computers Ltd | Data processing systems |
| IT1059493B (it) * | 1976-04-22 | 1982-05-31 | Olivetti & Co Spa | Dispositivo per cambiare l ambiente di lavoro di un calcolatore |
| US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
| US4075704A (en) * | 1976-07-02 | 1978-02-21 | Floating Point Systems, Inc. | Floating point data processor for high speech operation |
| US4179734A (en) * | 1976-07-02 | 1979-12-18 | Floating Point Systems, Inc. | Floating point data processor having fast access memory means |
| GB1527289A (en) * | 1976-08-17 | 1978-10-04 | Int Computers Ltd | Data processing systems |
| JPS5847042B2 (ja) * | 1977-03-08 | 1983-10-20 | 株式会社日立製作所 | 異常検知方法 |
| US4101960A (en) * | 1977-03-29 | 1978-07-18 | Burroughs Corporation | Scientific processor |
| FR2413712A1 (fr) * | 1977-12-30 | 1979-07-27 | Ibm France | Microprocesseur specialise pour le calcul de la somme de produits de deux operandes complexes |
| JPS6024985B2 (ja) * | 1978-08-31 | 1985-06-15 | 富士通株式会社 | デ−タ処理方式 |
| US4251885A (en) * | 1979-03-09 | 1981-02-17 | International Business Machines Corporation | Checking programmed controller operation |
| US4253183A (en) * | 1979-05-02 | 1981-02-24 | Ncr Corporation | Method and apparatus for diagnosing faults in a processor having a pipeline architecture |
| US4298935A (en) * | 1979-10-05 | 1981-11-03 | Honeywell Information Systems Inc. | Interface circuit for coupling an automated maintenance system to a CPU |
| US4315313A (en) * | 1979-12-27 | 1982-02-09 | Ncr Corporation | Diagnostic circuitry in a data processor |
| US4392200A (en) * | 1980-01-28 | 1983-07-05 | Digital Equipment Corporation | Cached multiprocessor system with pipeline timing |
| CA1174370A (en) * | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
| US4376976A (en) * | 1980-07-31 | 1983-03-15 | Sperry Corporation | Overlapped macro instruction control system |
| KR860001434B1 (ko) * | 1980-11-21 | 1986-09-24 | 후지쑤 가부시끼가이샤 | 데이타 처리시 스템 |
| US4414669A (en) * | 1981-07-23 | 1983-11-08 | General Electric Company | Self-testing pipeline processors |
| JPS58114274A (ja) * | 1981-12-28 | 1983-07-07 | Hitachi Ltd | デ−タ処理装置 |
| JPS59111569A (ja) * | 1982-12-17 | 1984-06-27 | Hitachi Ltd | ベクトル処理装置 |
| US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
| US4574344A (en) * | 1983-09-29 | 1986-03-04 | Tandem Computers Incorporated | Entry control store for enhanced CPU pipeline performance |
| US4618956A (en) * | 1983-09-29 | 1986-10-21 | Tandem Computers Incorporated | Method of operating enhanced alu test hardware |
-
1983
- 1983-09-29 US US06/537,877 patent/US4800486A/en not_active Expired - Lifetime
-
1984
- 1984-09-24 NZ NZ209663A patent/NZ209663A/xx unknown
- 1984-09-25 ZA ZA847524A patent/ZA847524B/xx unknown
- 1984-09-26 FI FI843781A patent/FI85428C/fi not_active IP Right Cessation
- 1984-09-26 IL IL73106A patent/IL73106A/xx not_active IP Right Cessation
- 1984-09-27 IN IN694/CAL/84A patent/IN162545B/en unknown
- 1984-09-27 DK DK462584A patent/DK165202C/da not_active IP Right Cessation
- 1984-09-27 EP EP84306591A patent/EP0136179B1/en not_active Expired - Lifetime
- 1984-09-27 AU AU33596/84A patent/AU574387B2/en not_active Ceased
- 1984-09-27 AT AT84306591T patent/ATE58794T1/de not_active IP Right Cessation
- 1984-09-27 IE IE2461/84A patent/IE56554B1/en not_active IP Right Cessation
- 1984-09-27 DE DE8484306591T patent/DE3483669D1/de not_active Expired - Lifetime
- 1984-09-28 JP JP59203894A patent/JPH0752386B2/ja not_active Expired - Lifetime
- 1984-09-28 KR KR1019840005995A patent/KR920004059B1/ko not_active Expired
- 1984-09-28 MX MX202897A patent/MX157907A/es unknown
- 1984-09-28 BR BR8404918A patent/BR8404918A/pt not_active IP Right Cessation
- 1984-09-28 CA CA000464281A patent/CA1215783A/en not_active Expired
- 1984-09-28 NO NO843891A patent/NO168497C/no unknown
-
1991
- 1991-06-11 HK HK461/91A patent/HK46191A/en not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| IN162545B (da) | 1988-06-11 |
| ZA847524B (en) | 1985-06-26 |
| DK165202C (da) | 1993-03-15 |
| EP0136179A2 (en) | 1985-04-03 |
| DK462584A (da) | 1985-03-30 |
| DK462584D0 (da) | 1984-09-27 |
| AU574387B2 (en) | 1988-07-07 |
| AU3359684A (en) | 1985-04-04 |
| NO168497C (no) | 1992-02-26 |
| ATE58794T1 (de) | 1990-12-15 |
| CA1215783A (en) | 1986-12-23 |
| IL73106A (en) | 1988-04-29 |
| DE3483669D1 (de) | 1991-01-10 |
| JPS60167028A (ja) | 1985-08-30 |
| MX157907A (es) | 1988-12-20 |
| FI85428B (fi) | 1991-12-31 |
| HK46191A (en) | 1991-06-21 |
| NO168497B (no) | 1991-11-18 |
| BR8404918A (pt) | 1985-08-20 |
| NZ209663A (en) | 1989-01-06 |
| US4800486A (en) | 1989-01-24 |
| IE56554B1 (en) | 1991-09-11 |
| IE842461L (en) | 1985-03-29 |
| EP0136179A3 (en) | 1986-12-30 |
| FI843781L (fi) | 1985-03-30 |
| NO843891L (no) | 1985-04-01 |
| IL73106A0 (en) | 1984-12-31 |
| KR920004059B1 (ko) | 1992-05-23 |
| KR850002906A (ko) | 1985-05-20 |
| JPH0752386B2 (ja) | 1995-06-05 |
| EP0136179B1 (en) | 1990-11-28 |
| FI843781A0 (fi) | 1984-09-26 |
| FI85428C (fi) | 1992-04-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DK165202B (da) | Central behandlingsenhed med flere dataveje til et databehandlingsanlaeg | |
| US4873629A (en) | Instruction processing unit for computer | |
| DK169492B1 (da) | Databehandlingsapparat med selektiv forud indhentning af instruktioner og fremgangsmåde til drift afet sådant databehandlingsapparat | |
| US5872987A (en) | Massively parallel computer including auxiliary vector processor | |
| EP0101596B1 (en) | A data processor with parallel-operating operation units | |
| US4760518A (en) | Bi-directional databus system for supporting superposition of vector and scalar operations in a computer | |
| US5627982A (en) | Apparatus for simultaneously scheduling instructions from plural instruction stream into plural instruction executions units | |
| US4873626A (en) | Parallel processing system with processor array having memory system included in system memory | |
| US5418970A (en) | Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content | |
| EP0024288A2 (en) | Computer system having at least two processors with shared storage | |
| DK158685B (da) | Processor til en mikroprogrammerbar datamat | |
| JPH04299436A (ja) | メモリ回路および機能ユニットのグループを備えた処理装置 | |
| US5165038A (en) | Global registers for a multiprocessor system | |
| US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
| EP0136183A2 (en) | Control store arrangement for enhanced CPU pipeline performance | |
| US7222346B2 (en) | System and method for the management of a multiple-resource architecture | |
| US4085450A (en) | Performance invarient execution unit for non-communicative instructions | |
| US5907693A (en) | Autonomously cycling data processing architecture | |
| US7315935B1 (en) | Apparatus and method for port arbitration in a register file on the basis of functional unit issue slots | |
| TWI894401B (zh) | 用於超標量處理器的指令派送 | |
| JP5285915B2 (ja) | マイクロプロセッサアーキテクチャ | |
| US5161229A (en) | Central processing unit | |
| JPH04503582A (ja) | コンピュータの分散型パイプライン制御装置及び方法 | |
| US10592517B2 (en) | Ranking items | |
| KR19980079722A (ko) | 데이타 처리 시스템 및 무질서 명령을 완성하기 위한 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PBP | Patent lapsed |