NO843892L - Styrelager for databehandlingsenhet - Google Patents
Styrelager for databehandlingsenhetInfo
- Publication number
- NO843892L NO843892L NO843892A NO843892A NO843892L NO 843892 L NO843892 L NO 843892L NO 843892 A NO843892 A NO 843892A NO 843892 A NO843892 A NO 843892A NO 843892 L NO843892 L NO 843892L
- Authority
- NO
- Norway
- Prior art keywords
- microcode
- rank
- microinstruction
- decoded
- control
- 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/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Communication Control (AREA)
Description
Foreliggende oppfinnelse angår databehandling og styre-lagerarkitektur for sentrale behandlingsenheter. Nærmere bestemt gjelder oppfinnelsen utformingen av styrelager-delen av en sentral databehandlingsenhet (CPU) i en rør-ledningsutførelse.
Mikrokodet utførelse av styreenheten i en prosessor er tidligere kjent teknikk. En sådan utførelse har de fordeler at den gir en mer sammensatt styringsmønster som samtidig er smidigere enn vilkårlig styrelogikk.
Den regelmessige oppbygning av et styrelager som anvendes
for å lagre mikrokode har også de erkjente fordeler å tillate at kretsplanlegningen finner sted ennå før mikro-kodemønsteret er påbegynt, og å ta opp mindre fysisk plass enn vilkårlig logikk med samme kapasitet.
Ved en mikrokodeutførelse dekodes en makroinstruksjon for å frembringe en adresse til inngangen for en styrelager-hukommelse som inneholder den mikrokode som anvendes for å iverksette mikroinstruksjonene i CPU-maskinvaren. På-følgende adresser til styrelageret kan komme fra en av mange kilder som kan omfatte den neste adresse i sekven-sen, returadresse-stakklager, eller det mikrokode-forgreningsfelt som frembringer forgreninger innenfor mikrokoden.
Et horisontalt styrelager, hvilket vil si et lager som har fullstendig dekodede felter, kan anvendes for å drive utførelseenheten med lite eller intet mellomkoblet logisk utstyr. Den åpenbare ulempe ved et horisontalt styrelager er imidlertid at det må ha en bredde som er nøy-aktig lik den totale bredde av det bit-felt som anvendes for å drive de arbeidende kretser i en CPU. I tillegg gjentas ofte horisontale mikroinstruksjoner (eller store deler av horisontale mikroinstruksjoners bit-felter) en eller flere ganger i et styrelager. Begge disse ulemper har en tendens til å frembringe et styrelager av temmelig stort omfang. Et stort styrelager utgjør i seg selv et tidsstyringsproblem på grunn av den kapasitive belastning på adresseinngangslinjene til hukommelseinnretningene.
Et vertikalt styrelager, hvilket vil si et sådant lager som gir sterkt kodede felter, vil ha muligheter for å overvinne disse problemer da det vil ha en tendens til nedsatt omfang av styrelageret. Utbyttet av dette er dessverre ikke utelukkende fordelaktig da vertikal mikrokode er kodet i høy grad og således krever en betraktelig mengde logisk utstyr for dekoding av mikroinstruksjonene. Den har også en tendens til å fordre flere mikrosykler
for å emulere en gitt makroinstruksjon.
En delvis løsning av dette dilemma har vært å benytte en krysning av horisontalt og vertikalt styrelager, eller et styrelager i to nivåer. Ved et sådant arrangement iverk-setter en sekvens av mikroinstruksjoner en makroinstruksjon. Hver mikroinstruksjon er en sådan instruksjon av smal vertikal type og som virker som en peker til en mikroinstruksjon av horisontal type og som er ganske bred samt kan utøve direkte dekodet styring. Ved dette arrangement behøver bare en eneste kopi av mikroinstruksjonen av horisontal type å lagres, da den vertikale peker alltid kan angi den samme horisontale mikroinstruksjon uten hensyn til hvor mange ganger tilgang til denne er nødvendig.
En ulempe ved denne løsning er at hukommelsetilgang tar tid og også at tilgangene til de to styrelagre må finne sted i rekkefølge. Komplisert tidsstyringteknikk, slik som foruthentning av instruksjon, tilgangsoverlapping og flerordstilgang anvendes for å kompensere dette forhold.
I mange anvendelser er det kjent rørledningsoppbygning av mikroinstruksjonssekvenser som anvendes for å iverksette makroinstruksjoner, hvilket vil si at visse bit-felter av mikrokode anvendes forut i tid for andre sådanne felter etterhvert som de virkninger som frembringes av mikro-instruks jonenes utførelse forplanter seg gjennom maskinvaren i en prosessor. Uttrykt på enkel måte kan det sies at en del av makroinstruksjonen utføres før de øvrige deler og derfor må være tilgjengelig tidligere i tid.
Rørledningsoppbygning av instruksjoner øker instruksjons-gjennomgangen i et system, da under enhver tidsperiode hvor den tidligere del av instruksjonen utføres, også den senere del av en tidligere instruksjon er under utførel-se. Det er således ønskelig å utnytte rørledningsopp-bygning for å bringe den potensielle instruksjonsgjennom-gang i en prosessor til maksimalt nivå.
Det er også ønskelig å utnytte et rørledningsskjerna i forbindelse med et styrelager, hvilket gir maksimal smidighet ved lavest mulig omkostninger med hensyn til lagerplass i ytterligere maskinvare og komplisert ut-førelse av styringsfunksjonen.
Det er derfor et formål for foreliggende oppfinnelse å frembringe et rørledningsoppbygget styrelager for CPU-mikrosekvensering.
Det er et ytterligere formål for foreliggende oppfinnelse å frembringe et rørledningsoppbygget styrelager for CPU-mikrosekvensering og som nedsetter omfanget av det nød-vendige hukommelseutstyr.
Det er enda et ytterligere formål for foreliggende oppfinnelse å frembringe et rørledningsoppbygget styrelager i flere nivåer og som er istand til å nedsette styrelagerets adresselasting for å oppnå øket hastighetsevne.
Det er videre et ytterligere formål for foreliggende oppfinnelse å frembringe et styrelager i to nivåer og som er istand til med fordel å utnytte rørledningsoppbygget mikroinstruksjon til å nedsette antall deler uten at systemets driftsmuligheter nedsettes.
Disse og andre formål for foreliggende oppfinnelse vil bli klarere forstått av fagfolk på området ut i fra følg-ende beskrivelse, den vedføyde tegning og de etterfølg-ende patentkrav.
Mikroinstruksjoner dekodes og anvendes for å frembringe den første adresse for et vertikalt styrelager som har to bit-felter i sin utgang. Det ene bitfelt omfatter en del av et direkte dekodet mikrokodefelt og anvendes for å dirigere å utføre funksjoner av en første rang i en sentral behandlingsenhet.
Det annen bitfelt omfatter en sterkt kodet peker til en horisontal styrelager-adresse. Utgangen fra det horisontale styrelager er et bitfelt som kan være fullstendig dekodet samt anvendes som den gjenværende del av mikro-kodefeltet for å dirigere å utføre funksjoner av en annen grad i en sentral behandlingsenhet. En del av det bit-felt som utgjør utgangen fra det horisontale styrelager kan utnyttes for å drive funksjoner av lavere rang og kan være kodet eller dekodet.
Foreliggende oppfinnelsegjenstand vil nå bli nærmere beskrevet under henvisning til den vedføyde tegning, hvorpå: Fig. 1 er et blokkskjema av et styrelager i henhold til en utførelse av foreliggende oppfinnelse. Fig. 2 er en tabell som viser forplantningen av fire instruksjoner gjennom styrelagerets rørledningsarkitektur i f ig. 1.
Forståelsen av foreliggende oppfinnelse lettes ved gjennomlesning av samtidig løpende US patentansøkning nr. 537.429, som herved tas inn i foreliggende beskrivelse som referanse.
Det skal nå henvises til fig. 1, hvor det skjematisk er vist en avbildning av en mikroinstruksjonsbit-felt 10 med en første del 12 av rang 1 og en annen del 14 av rang 2. Betegnelsene rang 1 og rang 2 er en hensiktsmessig måte å betegne funksjoner som kan finne sted til forskjellige tider i en rørlednings oppbygget CPU, idet funksjonene av rang 1 utføres før funksjonene av rang 2.
Mikroinstruksjonens bitfelt 10 frembringes på følgende måte: Et styrelager-adresseregister (CSAR) 16, inneholder adressen for en mikroinstruksjon. Denne adresse tilføres det vertikale styrelager (VCS) 18 over ledere 20. Fagfolk på området vil erkjenne at lederne 20 alter-nativt kunne drives fra endre kilder ved siden av CSAR 16. Et retur-stakklager, neste makroinstruksjonsvektor eller forgreningsfelter fra mikrokoden kunne f.eks. drive lederne 20 i tillegg til CSAR 16 ved hjelp av en multi-plekser eller lignende maskinvare.
VCS 18 er en hukommelseinnretning eller et antall sådanne innretninger. Adresseområdet for VCS 18 er naturligvis avhengig av antallet adressebit på lederne 20 og fast-legges vanligvis ut i fra størrelsen av det instruksjons-sett som skal utformes i mikrokode. Antallet bit på utgangssiden av VCS 18 vil likeledes være avhengig av omfanget av mikroinstruksjonens bitfelt 10 og vil variere fra anvendelse til anvendelse, liksom størrelsene, for-matene og driftskapasitetene av de øvrige elementer av foreliggende oppfinnelsegjenstand, uten at oppfinnelsens ramme overskrides. Utelukkende for anskuelighetens skyld antas det med hensyn til foreliggende utførelseeksempel at bredden av CSAR 16 vil være 13 bit, hvilket gir en VCS 18 med en kapasitet på 8K (8192 bit). Atter for å anskueliggjøre utførelsen antas det at utgangen 22 for VCS 18 vil være 34 bit bred.
Utgangen 22 fra VCS 18 er anbragt i registeret 24 av rang 1. Utgangen fra dette register 24 av rang 1 er oppdelt i to deler. Den første del omfatter mikroinstruksjonens bitfelt 12 av rang 1 og som er fullstendig eller nesten fullstendig dekodet, alt avhengig av arkitekturen av den spesielle CPU som den skal anvendes sammen med. I den utførelse som er vist i fig. 1, er mikroinstruksjonens bitfelt av rang 1 22 bit bred, skjønt fagfolk på området uten videre vil erkjenne at omfanget av dette felt naturligvis er avhengig av vedkommende spesielle anvendelse. Den annen del av utgangen fra registeret 24 av rang 1 er kodet adresse på lederne 26 som anvendes som tilgang til det horisontale styrelager (HCS) 28. Utelukkende for anskuelighetens skyld antas det at lederne 26 overfører en 12 bits adresse, hvilket gjør HCS 28 til en 4K hukommelse (4096 bit).
Bredden av HCS 28 er avhengig av vedkommende spesielle anvendelse, men med hensyn til foreliggende utførelse-eksempel kan den antas å være 71 bit bred på lederne 30, hvilket innebærer at disse 71 bit overføres til registeret 22 av rang 2, hvor de avsperres. Utgangen fra registeret 30 av rang 2 utgjør mikroinstruksjonens bit-felt 14 av rang 2. Registerne 16, 24 og 32 drives av systemets klokke 34.
Før man kommer inn på tidsbetraktninger ved iverksetning av denne utførelse i henhold til oppfinnelsen, skal det bemerkes at VCS 18 og HCS 28 kan fremstilles ut i fra direkte hukommelse (RAM), lesehukommelse (ROM) eller slettbart leselager (EPROM eller EAROM).
Vurderingen og følgende av valg av en av disse hukommel- setyper er et spørsmål om konstruksjonsvalg utenfor rammen av foreliggende oppfinnelse, men innenfor den kunnskap som fagfolk på området vanligvis har.
Det skal nå henvises til fig. 2, idet tidsbetraktninger med hensyn til styrelagerets utførelse i henhold til foreliggende oppfinnelse best kan forstås ut i fra denne figur. Fig. 2 er egentlig en tabell som viser hvorledes 4 instruksjoner forplanter seg gjennom styrelageret i henhold til foreliggende oppfinnelse.
CSAR 16 registeret 24 av rang 1 og som er kalt R1REG i fig. 2, samt registeret 32 av rang 2 og som er kalt R2REG i fig. 2, antas å låse data ved den stigende kant av systemets klokkepulser fra 34 i fig. 1. Disse klokkepulser er vist skjematisk ved 40.
Som det vil fremgå av fig. 2, er ved stigekanten 42 en mikroinstruksjon A tilgjengelig i CSAR 16, og etter dens tilgangstidsforsinkelse vil utgangen fra VCS 18 være tilgjengelig på inngangssiden av registeret 24 av rang 1, samt også tilgjengelig på utgangen fra registeret 24 etter stigekanten 44. Etter stigekanten 44 er mikrokode-bitfeltet for mikroinstruksjon A tilgjengelig for ut-førelse, mens mikroinstruksjon B har blitt klokket inn i instruksjonsregisteret 16, og etter tilgangsforsinkelsen for HCS 28 vil innholdet av mikrokoden av rang 2 for mikroinstruksjon A være klar på inngangssiden av registeret av rang 2 som avventer klokkepulsen 46.
Som følge av klokkepulsen 46, vil hvert ledd i rørled-ningen bli forskjøvet en posisjon videre, hvilket vil si at mikroinstruksjon C trenger inn i CSAR 16, mikrokode-bitfeltet av rang 1 for mikroinstruksjon B er klar på utgangssiden av registeret 24, mens mikrokode-bitfeltet av rang 2 er i beredskap på utgangssiden av registeret 32 av denne rang.
Påfølgende klokkepulser 48, 50 og 52 bidrar til å for-skyve disse ledd i rekkefølge nedover langs rørledningen, hvorved mikrokodefeltene for mikroinstruksjon A skyves ut av rørledningen samtidig som mikroinstruksjon D trenger inn i denne.
Skjønt den foretrukket utførelse av oppfinnelsen er blitt beskrevet med rørledning av rang 1 og 2, vil fagfolk på området lett erkjenne at en utførelse med større antall rangtrinn kan konstrueres uten at oppfinnelsens ramme overskrider. I sådanne tilfeller kan en del av bitfeltet av rang 2 gjøre tjeneste som en kodet adresse til et annet horisontal styrelager, således at en tredje rang legges til, og så videre.
Som tidligere nevnt er størrelsene av mikro-bitfeltene utelukkende avhengig av de foreliggende fordringer til vedkommende CPU-arkitektur som drives ved styrelageret i henhold til foreliggende oppfinnelse. I tillegg vil fagfolk på området også erkjenne at vanlige paritetsbit kan legges til hukommelseelementene i henhold til foreliggende oppfinnelse, men er utelatt i denne beskrivelse for ikke å gjøre fremstillingen altfor komplisert.
Eksperter på foreliggende område vil også vite at de forskjellige registre og hukommelseelementer som nettopp er beskrevet, kan fremstilles ut i fra hvilken som helst logikkfamilie, f.eks. TTL, ECL, CMOS og det valg som treffes vil være bestemt ut i fra driftsbetraktninger, slik som hastighet, kompakthet og drivevne. Likeledes kan registertypene, f.eks. skiftregistere, D-multivibra-torer eller låselagre, velges vilkårlig uten at derfor oppfinnelsens ramme overskrides.
Claims (1)
1. Styrelager for lagring av mikrokode for utførelse av et sett mikroinstruksjoner i en rørledningsoppbygget sentral behandlingsenhet i et databehandlingssystem, karakterisert ved at styrelageret omfatter :
et vertikalparti med et antall lagringssteder som adresseres over et sett inganger, idet hver av lagrings-stedene inneholder en dekodet første rangs mikrokode samt en kodet vektor til en dekodet annen rangs mikrokode for en bestemt instruksjon i nevnte sett av mikroinstruksjoner, mens nevnte kodede vektor og nevnte første gangs mikrokode opptrer på forskjellige sett utgangsledninger i samsvar med foreliggende informasjon på nevnte sett innganger, og
et horisontalparti med et antall lagringssteder som også adresseres over et sett innganger, idet nevnte innganger tilføres nevnte kodede vektor på et sett utgangsledere fra nevnte vertikalparti, mens horisontalpartiet tilføres nevnte dekodede annen rangs mikrokode over et sett utgangsledere .
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US53742983A | 1983-09-29 | 1983-09-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| NO843892L true NO843892L (no) | 1985-04-01 |
Family
ID=24142603
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| NO843892A NO843892L (no) | 1983-09-29 | 1984-09-28 | Styrelager for databehandlingsenhet |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0136182A3 (no) |
| JP (1) | JPS60144828A (no) |
| AU (1) | AU3359584A (no) |
| NO (1) | NO843892L (no) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB8401807D0 (en) * | 1984-01-24 | 1984-02-29 | Int Computers Ltd | Pipelined data processing apparatus |
| ES2058714T3 (es) * | 1987-06-23 | 1994-11-01 | Nycomed Innovation Ab | Mejoras introducidas en formacion de imagenes por resonancia magnetica. |
| US8954714B2 (en) * | 2010-02-01 | 2015-02-10 | Altera Corporation | Processor with cycle offsets and delay lines to allow scheduling of instructions through time |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4179736A (en) * | 1977-11-22 | 1979-12-18 | Honeywell Information Systems Inc. | Microprogrammed computer control unit capable of efficiently executing a large repertoire of instructions for a high performance data processing unit |
| US4330823A (en) * | 1978-12-06 | 1982-05-18 | Data General Corporation | High speed compact digital computer system with segmentally stored microinstructions |
-
1984
- 1984-09-27 AU AU33595/84A patent/AU3359584A/en not_active Abandoned
- 1984-09-28 EP EP84306609A patent/EP0136182A3/en not_active Withdrawn
- 1984-09-28 JP JP59203895A patent/JPS60144828A/ja active Pending
- 1984-09-28 NO NO843892A patent/NO843892L/no unknown
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60144828A (ja) | 1985-07-31 |
| EP0136182A3 (en) | 1986-03-19 |
| EP0136182A2 (en) | 1985-04-03 |
| AU3359584A (en) | 1985-04-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4370709A (en) | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases | |
| US3760369A (en) | Distributed microprogram control in an information handling system | |
| US4546431A (en) | Multiple control stores in a pipelined microcontroller for handling jump and return subroutines | |
| US5099417A (en) | Data processing device with improved direct memory access | |
| US4912636A (en) | Data processing device with multiple on chip memory buses | |
| US3991404A (en) | Apparatus for carrying out macroinstructions in a microprogrammed computer | |
| US5129075A (en) | Data processor with on-chip logical addressing and off-chip physical addressing | |
| JPS5935056B2 (ja) | デ−タ処理装置 | |
| NO843893L (no) | Hjelpelager for databehandlingsenhet | |
| JPH02206837A (ja) | パイプライン方式のコンピューターシステムにおける色々な個数の潜在的メモリーアクセス矛盾を解決する方法及び装置 | |
| GB2038049A (en) | Floating point processor having concurrent exponent/mantissa operation | |
| JPH0578050B2 (no) | ||
| US4124893A (en) | Microword address branching bit arrangement | |
| EP0066084B1 (en) | Microinstruction substitution mechanism in a control store | |
| NO141105B (no) | Databehandlingssystem som har en hoeyhastighets bufferlager - enhet for overfoering av data mellom et hovedlager og en sentral behandlingsenhet | |
| US4348724A (en) | Address pairing apparatus for a control store of a data processing system | |
| US4586127A (en) | Multiple control stores for a pipelined microcontroller | |
| NO168497B (no) | Sentral behandlingsenhet i databehandlingssystemer med "pipeline"-arkitektur. | |
| GB2133595A (en) | Vector processor | |
| US4551798A (en) | Multiple control stores in a pipelined microcontroller for handling nester subroutines | |
| NO843894L (no) | Anordning for mikrokodeforgrening i en databehandlingsenhet | |
| NO843892L (no) | Styrelager for databehandlingsenhet | |
| US4360869A (en) | Control store organization for a data processing system | |
| US3728686A (en) | Computer memory with improved next word accessing | |
| KR20010033300A (ko) | 분기 예측의 형태를 분류하기위해 복귀 선택 비트들을이용하는 분기 예측 |