SE424114B - Central processorenhet-anordning - Google Patents
Central processorenhet-anordningInfo
- Publication number
- SE424114B SE424114B SE8005989A SE8005989A SE424114B SE 424114 B SE424114 B SE 424114B SE 8005989 A SE8005989 A SE 8005989A SE 8005989 A SE8005989 A SE 8005989A SE 424114 B SE424114 B SE 424114B
- Authority
- SE
- Sweden
- Prior art keywords
- address
- instruction
- operation code
- memory
- register
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
isoos9s9-2 .10 15 å20 25 l 30 35 sno 2 . den centrala processorenheten bestämmer dess uppsättning processor- operationer. e _ Det antal bitar som bildar operationskoden (operationskod-fältet) är en funktion av antalet operationer i nämnda uppsättning.° Det behövs åtminstone N bitar för att definiera upp till ZN enskilda operationer; CPU-konstruktören tilldelar en särskild bitkombination (dÄv.s..operationskod) till varje operation. Styrdelen eller styrsek- 'tionen av CPU detekterar bitkombinationen vid rätt tidpunkt i en sekvens och avger tillämpliga kommandosignaler till erforderliga destinationer i CPU för genomförande av den angivna operationen.
Utöver uppgift om en processoroperation kommer en instruktion normalt även att innehålla annan information, exempelvis.adressen _eller adresserna till minnesplatser där en eller flera i processorn erforderliga operander är lagrade. I vanliga fall kommer de bitar som krävs för operandadressen (operandadresserna), d.v.s. adressfältet, att uppta flertalet av de tillgängliga bitpositionerna i instruktio- nen, så att endast ett begränsat antal bitar är tilldelade för opera- tionskodfältet. När en CPU-konstruktör finner att det antal bitar som är tilldelade för operationskodfältet är otillräckligt för en given. uppsättning processoroperationer har han måst välja mellan att godta en mindre uppsättning processoroperationer eller att förlänga instruk- tionen. " Långa instruktioner är ofördelaktiga vid små databehandlings- system, där minneskapaciteten för lagring av instruktioner är begrän- sad. Dessutom har små system även begränsad ordlängd (så liten som H bitar i vissa system där CPU har formen av en mikroprocessor), och en lång instruktion har den ytterligare nackdelen att man behöver många minneshänvisningar för återvinning, vilket sålunda medför sänkning av den hastighet med vilken CPU-operationerna genomföres. Ur flexibili- *tetssynpunkt och med hänsyn till dels lätthet att programmera och dels driftseffektiviteten är det emellertid önskvärt att ha en stor upp- sättning processoroperationer. Ett problem vid konstruktion av en CPU för små databehandlingssystem är att man bör kunna definiera en stor uppsättning proeessoroperationer.under det att instruktionslängden hålles så liten som möjligt.
Tidigare kända tillvägagångssätt för att bibehålla en liten instruktionslängd har varit inriktade på att reducera adressfältläng- den genom användning av någon typ av förkortad adressering av minnes- platser, exempelvis utökning av adresskoden genom indirekt adressering eller relativ adressering. Problemet hur man skall uppnå ytterligare' 10 15 20 25 30 35 NO -8005989-2 3 minskning av instruktionslängden när ett N-bits opërationskodfält i instruktionen definierar flera än 2" processoroperationer återstår emellertid att lösa.
Problemet löses enligt uppfinningen därigenom att den centrala prooessorenheten dessutom innefattar ett operationskod-utökníngsregis- ter för att lagra ett valt operationskod-utökningsord; och att styr- organet är anordnat att som svar på det kombinerade innehållet i instruktionsregistret och operationskod-utökningsregistret alstra kommandosignaler som motsvarar respektive kombinerade innehåll, varvid innehållet i operationskod-utökningsregistret är anordnat att ändras endast när den centrala processorenhet-anordningen har mottagit en instruktion för att överföra ett nyss valt operationskod-utökningsord till operationskod-utökningsregistreti En central processorenhet-anordning i ett databehandlingssystem för exekvering av ett program innehållande lagrade instruktioner genom en serie instruktionscykler, vilken anordning är arrangerad att ta emot en instruktion under en instruktionsinhämtningsfas av en instruk- tionscykel och att som svar på instruktionen under en dataexekverings- fas av instruktionsoykeln genomföra en processor-operation på lagrade data som är angivna i instruktionen, varvid varje lagrad instruktion innefattar en operationskod-del och en adressdel, och vilken anordning innefattar dels ett instruktionsregister för att ta emot operations- kod-delen av instruktionen under instruktionsinhämtningsfasen av instruktionscykeln och för att lagra operationskoden under hela inst- ruktíonscykeln; och dels ett styrorgan för alstring av kommandosigna- ler motsvarande processor-operationen under instruktionscykelns data- exekveringsfas är enligt uppfinningen kännetecknad av att den dessutom innefattar ett operationskod-utökningsregister för att lagra ett valt operationskod-utökningsord; och att styrorganet är anordnat att som svar på det kombinerade innehållet i instruktionsregistret och opera- tionskod-utökningsregistret alstra kommandosignaler som motsvarar respektive kombinerade innehåll, varvid innehållet i operationskod-ut- ökningsregistret är anordnat att ändras endast när den centrala pro- cessorenhet-anordningen har mottagit en instruktion för att överföra ett nyss valt operationskod-utökningsord till cperationskod-utök- ningsregistret.
'Sålunda kombineras innehållet i operationskod-utökningsregistret, vilket ej behöver ändras för varje instruktionscykel, med den i inst- ruktionsregistret lagrade operationskoden, vilken ändras för varje ny instruktion, för att bilda en effektivt sett längre operationskod. ' m 15 20 -25 g30 l 35 åäö ~ 8005$89-2 . U Man utnyttjar idén med operationskod-utökningsregister på ett s fördelaktigt sätt genom att organisera uppsättningen CPU-operationer i ,generiskagprocessoroperationer och valbara CPU-funktioner som modifie- rar de generiska operationerna. Sålunda definierar operationskodfäl- tet i varje instruktion de generiska operationerna under det-att de valbara funktionerna väljes eller inte väljes av det operationskod-ut- _ ökningsord som är lagrat i operationskod-utökningsregistret.
Ett ändamål med uppfinningen är sålunda att åstadkomma ett CPU-arrangemang som möjliggör en större processoroperationsuppsättning än den som kan definieras av operationskodfältet i en instruktion.
Ett annat ändamål med uppfinningen är.att åstadkomma ett CPU-ar- rangemang som förbättrar flexibilitet och prestanda för ett litet databehandlingssystem med liten ordstorlek och begränsad instruktions- lagringskapacitet» ' Ytterligare ett ändamål med uppfinningen är att åstadkomma ett CPU-arrangemang som gör det möjligt att tillfoga medelst programvara varierbara valbara funktioner utan att ytterligare operationskoder behöver tillfogas. Ännu ett ändamål med uppfinningen är att åstadkomma ett CPU-ar- rangemang för mikroprocessorer vilket är billigt men fyller högt ställda krav på prestanda.
De ovan nämnda och ytterligare ändamål med uppfinningen har uppnåtts i ett flertal i det följande beskrivna utföringsformer av densamma. Det bör dock observeras att det är möjligt att åstadkomma användbara utföringsformer av uppfinningen vilka är anordnade att uppnå färre än samtliga ovannämnda ändamål men vilka trots detta är utförda enligt prineiperna för uppfinningen. Uppfinningens nya sär- drag, sâväl med avseende pà uppbyggnad som arbetssätt, jämte ytterli- gare ändamål och fördelar hos densamma kommer att vara lättare att förstå med hjälp av följande beskrivning i anslutning till ritning- arna. Det bör emellertid i detta sammanhang understrykas att ritning- arna och den till dessa hörande beskrivningen endast har till uppgift att åskådliggöra belysande exempel och ej får uppfattas som begränsan- de för uppfinningen. I ' På ritningarna med fig. 1 - 16 är fig. 1 ett blockschema som visar en tidigare känd CPU. Fig. 2 är ett flödesschema som åskådlig- gör processor-sekvensen under en instruktionscykel. Fig. 3 är ett tillståndsdiagram som åskådliggör den steg-sekvens som följs av den i fig. 1 visade CPU vid utförande av en aritmetisk-logisk operation.
Fig. H är ett blockschema som visar en CPU i vilken operand-längden i' 10 15 20 25 30 35 H0 8005989-2 5 den aritmetisk-logiska enheten (ALU) är ställd'under programstyrning i enlighet med uppfinningen. §ig¿_§ är ett logikdiagram för den “över- föringssiffra in"-administrationskrets som används i den CPU som visas i fig. Ä. Fig. 6 är ett logikdiagram för den "överföringssiffra ut"-multiplexerkrets som används i den i fig. 4 visade CPU. Fig. 7 är ett logikdiagram för den "överföringssiffra ut"-registerkrets som används i den i fig. U visade CPU. Fig. 8 är ett logikdiagram för den ROTERA/SKIFTA HÖGER-administrationskrets som används i den i fig. H visade CPU. Fig. 9 är ett logikdiagram över den ALU-funktionsspärr- krets som används i den i fig. Ä visade CPU. Fig. 10 är ett block- schema som visar en CPU i vilken de valbara funktionerna variabel operandlängd, automatisk laddning och automatisk uppstegning av min- nes-pekarregistret sättes under programstyrning i enlighet med uppfin- ningen. Fig. 11 visar det i CPU enligt fig. 10 använda operations- kod-utökningsregistret. Fig. 12 är ett tillståndsdiagram som visar steg-sekvensen för CPU i fig. 10 vid utförande av en ALU-operation ooh operationen med variabel operandlängd och automatisk uppstegning.
Fig. 13 är ett tillståndsdiagram som visar steg-sekvensen för CPU i fíg. 10 vid adressbildning och vid automatisk laddning. §ig¿_1fl är. ett blockschema som visar en del av en CPU i vilken tilldelningen av adressregister för lagring av antingen minnesadresser eller adresser till perifera organ ställs under programstyrning i enlighet med prin- ciperna för uppfinningen. Fig. 15 är ett blockschema som visar inst- ruktionsregistret, operationskod-utökningsregistret ooh styrorganet i CPU i fig. 1N samt ett logikdiagram för den krets i styrorganet vilken avkodar adressregistertilldelningsfältet. -Fig 16 slutligen är ett blockschema som visar ett gränssnitt-arrangemang för CPU i fig. 1U5 till ett direktaceessminne (RAM) och tre perifera organ.
I fig. 1 visas ett blockschema som är representativt för en tidigare känd enkel CPU av den typ som förekommer i små databehand- lingssystem, exempelvis mínikalkylatorer och mikroproeessorbaserade system. Endast de delar av CPU som är väsentliga för den i det föl- jande lämnade beskrivningen har medtagits i fig. 1. I det i fig. 1 visade arrangemanget används ett enkelt instruktionsregister (IR), 101, som lagrar den aktuella, under utförande varande instruktionen.
Ett program för instruktioner som skall utföras av CPU är lagrat i ett endast för läsning utfört minne (ROM) 102 i form av binära ord, i fortsättningen kallade instruktionsord. I detta exempel innehåller varje instruktionsord åtta bitar. CPU àtervinner ett heltal instruk- tionsora från Ron för att bilda en fullständig instruktion. varje ' 10 15 '20 25 30 -35 H0 80059-89-2 1 61 instruktion består av en operationskod som angër'èn'bóëratión vilken" CPU skall utföra och en adresskod som anger minnesplàtsen för en eller flera operander som skall användas vid den angivna operationen; I den i fig. 1 visade CPU är operanderna lagrade i ett direktaccessmínne (RAM) 103, likaledes i form av binära ord, vilka i det följande kallas operandord. I detta exempel innehåller varje operandord åtta bitar.
En operand bildas med ett från nämnda RAM återvunnet operandord. IR innehåller åtta bitar av en instruktion¿ och av dessa är sex reserve- .rade för operationskoden, under det att de återstående två är reserve- rade för den del av adresskoden som anger adresseringssättet. Fyra adresseringssätt finns att tillgå i CPU i fig. 1, nämligen direkt » adressering, två indirekta adresseringssätt och dírektdata-sättet. En instruktions längd kommer att variera beroende på det använda adresse- ringssättet.
Såsom ett belysande exempel används en 6-bits operationskod för att definiera U8 processoroperationer som representeras av den i Tabell 1 angivna uppsättningen instruktioner.
Tabell 1 CPU-instruktionsuppsättning Instruktion Ogerationskod 1 1 Addera 000000 2 Addera med överf.-siffra 000001 3 Subtrahera 000010 H Subtrahera med överf.-siffra 000011 5 OCH 000100 6 ELLER 000101 7 EXELLER 000110 8 Flytta 000111 9 Jämför och förgrena om lika 001000 10 Jämför och förgrena om ej lika 001001 11 Jämför och förgrena om mindre än 001010 12 Jämför och förgrena om större än/lika 001011 13 Testa och förgrena om noll 001100 10 Testa och förgrena om ej noll _ 001110 15 Minska ett steg, förgrena om ej noll 001110 16 1-ställ -001111 17 0-ställ 010000 18 Öka ett steg 010001 19 Minska ett steg 010010 10 15 20 25 30 35 NO 8005989-2 7 20 Komplementera '010011"'" 21 Rotera vänster 010100 22 notera vänster med överf.-siffra 010101 23 Rotera höger _ 010110 2H Rotera höger med_överf.-siffra 010111 25 vänsnerskift o11ooo 26- Vänsterskift med överf.-siffra 011001 327 Högerskift 011010 28 Högerskift med överf.-siffra 011011 29 _ 1-Ställ bit 011100 ' 30 0-ställ bit 011101 31 Förgrena om bit 1-ställd 011110 32 Förgrena om bit 0-ställd 011111 33 Byt ut 100000 3U Testa med mask och förgrena om noll 100001 35 Testa med mask och förgrena om ej noll 100010 36 Förgrena 100011 37 Hoppa 100100 38 Anropa 100101 39 Återhoppa 100110 H0 Återhoppa vid avbrott 0 100111 H1 Återställ flaggregistret 101000 H2 1-ställ flaggregistret 101001 H3 Till stack 101010 UR Från stack 101011 H5 Byt minnesvisare 101100 46 Ladda stack-visare 101101 H7 Lagra stack-visare 101110 M8 Ingen operation 101111 Programräknaren (PC) 10% innehåller normalt adressen till nästa ord i den instruktion eller konstant som skall återvinnas från ROM.
Programräknaren PC är ett 12-bits register som genomgår en räknesek- vens steg för steg, vilken sekvens anger på varandra följande instruk- tionsord som är lagrade i ROM, utom som svar på en programförflytt- ningsinstruktion (t.ex. instruktionerna 9-15, 31, 32, Ä3-H0, H3 och HH i-Tabell 1) när en ny adress laddas i PC. En 8-bits databuss 105 används för överföring av instruktioner, adresser och operander mellan olika platser i CPU.. Adresser för access till platser i RAM 103 finns lagrade i 12-bit-minnesadress-kvarhållningskretsen (MAL) 106, som tar' 10 15 20 - 25 30 35 'no 8005989-2 8 emot en adress från ett register i en registergrüpp i minnespekaren' (MP), 107. Innehållet i IR detekteras av kontrollorganet 108, vilket alstrar kommandosignaler för processor-operationer och adressmanipula- tioner som.anges av det detekterade innehållet. Kommandosignalerna överföras till olika bestämmelseorter i CPU via styrledningarna 109.
De aritmetiska och logiska operationerna genomföras i den aritme- tisk-logiska enheten (ALU) 110 vilken kan ta emot antingen en eller två operander på sina A- och B-utgångar. En ackumulator (ACC) 113 lagrar en operand för ALU och lagrar dessutom resultatet av ALU-opera- tionen; ALU har även en "överföringssiffra in"-ingång för att ta emot en överföringssiffersignal och en "överföringssiffra ut"-utgång där den av ALU alstrade överföringssiffer-signalen finns tillgänglig.
Ingångs-överföringssiffersignalen alstras av “överföríngssiffra in"- -administrationskretsen 111, som väljer mellan signalen PLUS 1 i fallet ÖKNINGSSTEG-operation, överföringssiffer-signalen vid operatio- 'nen VÄNSTER-ROTATION MED ÖVERFÖRINGSSIFFRA eller den mest signifikanta biten, AC7, i ackumulatorn vid operationen VÄNSTER-ROTATION. Ut- gångs-överföringssiffra-signalen mottages av överföringssiffra-regist- ret (CR) 112, som anger vänsterspill eller högerspill vid ALU-funkt1o- nen. CR kan även laddas, âterställas och delta i operationerna SKIFT och ROTATION.
Ackumulatorn ACC, som har en styrande station ACM och en slavsta- tion ACS, används i detta exempel även såsom en kvarhållningskrets för data som skall utläsas från eller skrivas in i_RAM. En speciell skift/rotation höger-krets (SRR) 11N möjliggör val av SKIFT OCH ROTA- TION HÖGER-operationer i vilka ACC deltar. Operationen SKIFT OCH ROTATION VÄNSTER åstadkommas genom att man adderar operanden till sig själv, och denna operation kräver därför inga speciella kretsar. En ROTATION/SKIFT HÖGER-administrationskrets (BSR) 115 är anordnad för att välja antingen överföringssiffra-utgângssignalen eller den minst signifikanta biten, ACO, i ACC-för att laddas i den mest signifikanta bitpositionen 1 Acc för operationen HÖGERRQTATION MED ÖVERFÖRINGS- _SIFFRA resp. HÖGERROTATION.
Genomförandet av varje instruktion medelst en CPU sker i.en följd av grundläggande steg som bildar instruktionscykeln. Stegsekvensen styrs av-tidgivningssignaler som alstras av klockkretsar vilka ej är visade i fig. 1.- I fig. 2 visas ett flödesschema över i instruktionscykeln ingåen- de steg. Instruktionscykeln är indelad i två faser: en instruktions- inhämtningsfas och en databehandlingsfas. Hänvisningsbeteckningarna ' 10 15 20 25 30 _35 o NO gsoos9s9-2 9 201 t.o.m. 206 anger de grundläggande stegen i varje fas. tionsinhämtningsfasen överföres ett instruktíonsord, vars adress förefinnes i PC, från ROM till IR. Som ovan nämnts har instruktions- ordet ett 6-bits operationskodfält och ett 2-bits adresseringssätt- -fält. Det första steget i databehandlingsfasen är bildandet av adressen eller adresserna till för operationen erforderliga operan- der. Operanderna lagras i RAM eller i interna register i CPU. Först avkodas operationskoden i IR av styrorganet i och för bestämning av huruvida operationen är monadisk eller dyadisk. En monadisk operation är en operation som endast kräver en operand, varför endast en ope- I instruk- randadress alstras. Den enda operand-adress som bildas för en mona- disk operation kallas destinationsadress, eftersom operationens resul- tat automatiskt lagras på den mínnesplats som tidigare upptogs av den En dyadisk operation är en operation som kräver två Den första operandens enda operanden. operander, varför två operandadresser bildas. adress kallas källadressen, under det att den andra operandens adress kallas destinationsadressen, eftersom den dyadiska operationens resul- tat automatiskt kommer att lagras på den plats som tidigare upptogas av den andra operanden. I den i fig. 1 visade CPU är destinations-. adressen generellt sett alltid ACC. Även adresseringssätt-bitarna i IR detekteras av styrorganet. Om direkt adresseríng anges, överföras en adress från en plats i ROM till minnesadress-kvarhállningskretsen MAL. Om däremot endera av de båda indirekta adresseringssätten anges, överföres innehållet i ett angivet minnes-pekar-register i MP till MAL. I det fall att det gäller direkt dataadressering, ingår själva operanden eller operanderna i instruk- tionens adressdel, varför inga operand-adresser alstras.
Efter det att operand-adressen har alstrats och överförts till MAL, kan operanden inhämtas från den plats i RAM som utpekas av MAL.
Det sista steget i databehandlingsfasen är genomförandet av den opera- tion som anges av operationskoden i IR och som i detta exempel är en ALU-funktion. Fullbordandet av ALU-funktionen avslutar instruktione- cykeln. D I fig. 3 återfinnas ett tilletàndsdiagram 300 för den i fig. 1 visade förenklade centrala processorenheten CPU. Hänvisningsnumren 301 t.o.m. 310 anger i detalj stegen i en instruktionscykel för genom- förande av ALU- och dataöverföringsoperationerna. Sådana operationer som ej utföres med data, exempelvis FÖRGRENING, ANROP, ÅTERHOPP etc., är klassificerade såsom Diverse Instruktioner och visas ej. Den dyadiska operationen Addera mellan en första operand som är lagrad på' 10 15 20 25 30 7% H0 8005989-2 io en RAM-plats och som utpekas av ett register ï MP och en7andra operand som redan är lagrad i ACC kan representeras av tillståndssekvensen s1->s2-»sl1-'->s6->s9-»s1o_ Hänvisning göres nu till de tillstånd som representeras av blocken med hänvisningsnumren 301 t.o.m. 310 i fig. 3.' I tillståndet S1 överföras innehållet på den ROM-minnesplats som är adresserad med innehållet i PC till IR. I tillståndet S2 avkodas innehållet i IR av styrorganet.
Om man i detta exempel antar att adresseringssättet är indirekt, kommer i tillståndet SH, 304, innehållet i ett angivet register i MP att överföras till MAL. I tillståndet S6 306, kommer den operand som är lagrad på den av adressen i MAL angivna RAM-minnesplatsen att - överföras till ALU, och en speciell ALU-operation, som anges av opera- tionskoden (d.v.s. Addera) utföres på den ovannämnda operanden och innehållet i ACC, varvid resultatet överföres till den styrande sek- tionen (ACM) i ACC. I tillståndet S9, 309, kan innehållet i ACM, ”allteftersom instruktionen kräver, överföras antingen till slavsektio- 'nen (ACS) i ACC eller till en RAM-plats som anges av MAL.
För adde- ringsoperationen kvarstår resultatet (summan) i ACC. I tillståndet S10, 310, uppstegas PC innan en ny instruktionscykel börjar. 1 Ett exempel på en monadisk operation, STÄLL IN ACKUMULATORN, kan _representeras av tillstândssekvensen S1-vS2-»S7->S9~>S10. _ De steg som representeras av tillstånden S1 och S2 är desamma som ovan beskrivits för den dyadiska operationen. I tillståndet S7, 307, alstrar ALU ett 8-bits ord med enbart "ettor" och överför detta ord till ACM. De steg som representeras av tillstånden S9 och S10 är desamma som ovan beskrivits för den dyadiska operationen.
Ett exempel på en dataöverföringsoperationf FÖRFLYTTNING av en i ROM lagrad konstant till ett register i MP, representeras av till- ståndssekvensen 7 _31 - S2 -u-S3-av S5 -> S10.
De steg som representeras av tillstànden S1 och S2 har redan beskri- vits i anslutning till den dyadiska operationen.
Den i fig. 1 visade CPU-konfigurationen kan modifieras så att den 1 Tabell 1 upptagna. Som i kan exempelvis ALU-sektio- operander lika väl som de innefattar processor-operationer utöver de detalj kommer att beskrivas i det följande neñ ändras så att den ger plats för 4-bits normala 8-bits operanderna med val av operandlängd under styrning från styrorganet. En sådanåmodifiering skulle påverka de aritmetiska och logiska operationer och dataförflyttningsoperationer som representeras '10 15 20 25 30 35 NO 8005989-2 11 av instruktionerna 1 t.o.m. 35 i Tabell 1. Modifieringen ifråga skulle effektivt sett tillfoga trettiofem nya operationer för H-bits operandlängd till de i Tabell 1 upptagna, så att det totala antalet operationer i uppsättningen stiger till åttiotre. Eftersom det 6 bitar omfattande operationskodfältet i den i fig. 1 visade CPU endast tillåter sextiofyra olika koder, måste operationskodfältet utökas för att ge plats för de ytterligare operationerna. På grund av det faktum att ordlängden i denna CPU är 8 bitar, måste man för att undvika gränssnitt-svårigheter utöka IR med multipler av 8 bitar. Om varje instruktion skulle behöva innehålla information beträffande operand- längden, skulle därför instruktionslängden behöva öka med åtta bitar.
Detta skulle medför ett avsevärt utökat behov av ROM-kapacitet för lagring av ett program, och det skulle även medföra att man måste tillfoga en ytterligare ROM-hänvisning till varje instruktionscykel.
Det sålunda utökade behovet av minneskapacitet skulle öka systemkost- naden, och dessutom skulle de ytterligare ROM-hänvisningarna sänka systemets arbetshastighet.
Ett alternativt sätt för programval av operandlängden åstadkommas medelst principerna enligt uppfinningen. Det förhåller sig ju så att man i de flesta program, när en viss operandlängd är vald, kan utföra_ många operationer innan det blir nödvändigt att ändra operandlängden.
Sålunda kan den del av operationskodfältet som anger operandlängden förbli konstant under många instruktionscykler, under det att den del av operationskodfältet som anger de i Tabell 1 angivna operationerna i regel ändras för varje ny instruktionsoykel. Det skulle därför vara onödigt att i varje instruktion ta med den sällan varierande delen av operationskoden, vilken del istället kan lagras i ett speciellt maskinvaruregister. I detta sammanhang kallas detta speciella maskin- varuregister operationskod-utökningsregistret (0ER)- Användning av detta OER för att lagra den del av operationskoden som anger operand- längden innebär att operationskodfältet i varje instruktion endast behöver ange de generiska operationerna, för vilka sex bitar är till- fyllest. Tack vare användning av denna "GER-princip" blir det därför onödigt att öka instruktionslängden.
I enlighet med den ovan beskrivna principen kan OER även ange andra valbara särdrag utöver variabel operandlängd. Vissa av dessa andra särdrag, exempelvis automatisk laddning och automatisk uppsteg- ning av minnes-pekare-register, samt tilldelning av adressregister, kommer ävenledes att beskrivas i detalj i det följande.
När ett flertal valbara särdrag skall anges av operationskod-ut-I 10 15 7 20 25 30 35 40 -8005989-2 12 ökningsf-egisnret (oss) måste de: finnas ett tillräckligt antal bit- positioner i OER för att definiera alla olika kombinationer av valbara särdrag. En grupp bitar som skall lagras i OER kommer i fortsättning- en att kallas operationskod-utökningsord. Innehållet i OER ändras endast vid behov medelst speciella instruktioner (utöver de i Tabell 1 angivna) för att till OER överföra ett nytt operationskod-utökningsord I från minnet samt för att ändra en särskild bit i OER. Varje opera- ptionskod-utökningsord motsvarar en särskild kombination av speciella särdrag som skall användas i programmet. Genom att använda GER- -begreppet för programval av valbara särdrag sparar man sålunda ROM- -kapacitet, och ytterligare ROM-hänvisningar i varje instruktionscykel undvikes. .
Variabel operandlängd I fig. 4 visas ett blockschema som representerar en CPU, N00, i princip liknande den i fig. 1 visade men med modifiering för att möjliggöra ändring av operandlängden från 8 bitar till U bitar. Dessa modifieringar innefattar uppdelning av ALU, ackumulatorn och "skift och rotation höger"-kretsen i två oberoende U-bit-sektioner som kommer att benämnas den "högre" och den "lägre" sektioen.. I fig. H är de , "högre" sektionerna av ALU (ALUH), ackumulatorn (ACCH) samt "Skift- och rotation höger"-kretsen (SRRH) försedda med hänvisningsbeteckning- arna 410, H16 resp. H18. De "lägre" sektionerna av ALU (ALUL), acku- mulatorn (ACCL) och Skift- och höger-rotation-kretsen (SRRL) är för- sedda med hänvisningsbeteckningarna H11, H17 resp. H19. I båda fallen är den "högre" och den_"lägre" sektionen så förbundna med varandra att när operandlängden är 8 bitar den "högre" sektionen arbetar på de mest signifikanta N bitarna av operand-ordet under det att den "lägre" sektionen arbetar på de minst signifikanta bitarna av det 8 bitar långa operandordet. När operand-längden är U bitar, är de "högre" sektionerna av varje uppdelad del passiverad, som om den aktuella instruktionen vore INGEN OPERATION, under det att de "lägre" sektio- nerna arbetar på de N minst signifikanta bitarna av ett operandord.
Kretsen för administrering av överföringssiffra in (CIA), H12, ger normalt en "O" till "överföringssiffra in"-ingången hos ALUL, H11. När den aktuella instruktionen är UFPSTEGNING eller NEDSTEGNING är CIA-utgången en "1"} _CIA-utgången är i överföringssiffer-regist- rets H13 tillstånd när den aktuella instruktionen är ADDERA MED ÖVER- FÖRINGSSIFFRA, SUBTRAHERA eller ROTERA VÄNSTER MED ÖVERFÖRINGSSIFFRA.
För instruktionen ROTERA VÄNSTER är CIA-utgången den mest signifikanta biten (AC7) i ACCH när det är fråga om en 8 bitar lång operand och ' utgången ifråga är den mest signifikanta biten (AC3) av ACCL när det _10 15 20 25 30 35 H0 8005989-2 13 gäller en H bitar lång operand. Ett exempel bå_lo§ikïarrangemang'för CIA visas i fig. 5. _ Multíplexer-kretsen för "överföringssiffra ut" (COMX), H14, avger överföringssíffer-bit-ingången till överföríngssiffer-registret, 413.
A COMX-utgången är antingen ÖVERFÖRINGSSIFFRA UT-utgången från ALUH när det gäller en 8-bits operand eller ÖVERFÖHINGSSIFFRA UT-utgången från ALUL när det gäller en H-bits operand. Ett exempel på logik-arrange- mang för ÖVERFÖRINGSSIFFRA UT-multiplexern visas i fig. 6. Överföringssiffer-registret (CR) A13 är en vippa som kan 1-stäl- las från ett flertal källor beroende på den aktuella instruktionen.
De verksamma ingångarna hos CR för olika instruktioner framgår av nedanstående uppställning. ' Instruktion a Verksam CR-ingång (ALU-operation) MED övsnr.-SIFFRA cs från conx LADDA CR Databuss NOLLSTÄLL CR "o" HÖGERSKIFT MED ÖVERF.-SIFFRA "o" RQTATION HÖGER MED ÖVERF.-SIFFRA Aco.
Ett exempel på överföringssiffer-registrets CR logik-utformning visas i fig. 7.
ROTERA/SKIFTA HÖGER-administrationskretsen (BSR) H20 avger den mest signifikanta biten för ACCH och/eller ACCL vid SKIFT- och ROTA- TION HÖGER-operationer. När det gäller en 8-bits operandlängd avger BSR tillståndet för den minst signifikanta biten (ACO) hos ACCL till den mest signifikanta bitpositionen (AC7) i ACCH via 0T8-utgången.
Dessutom avger RSR tillståndet för den minst signifikanta biten (ACH) i ACCH till den mest signifikanta bitpositionen (AC3) i ACCL via OTH-utgången._ Ingångarna och de verksamma utgångarna nos BSR för olika instruktioner är angivna i nedanstående förteckning: Instruktion Ingångar Verksamma utgångar Högerskift (8 bitar) O, ACU OT8, OTU Högerskift (R bitar) 0 OTN Högervotation (8 bitar) Aco, Aëu' owe, own Högerrotation (N bitar) ACO ' OTH Högerskift/rotation med överf.-siffra (8 bitar) överf.-s., ACH OT8, OTH Högerskift/rotation med överf.-siffra (A bitar) OTH. överf.-s. 10' 15 20 'æ 30 ass RO '-signifikanta 4 bitarna befinner sig i ACCL. *80059 89-2 1N e En anordning för logíkutformning av ROTERÅ/SKÉFTÅ ÉÖ§ÉRÃàdminïstra-n tionskretsen visas i fig. 8. O O - ALU-funktionsspärrkretsen (ALUFI) H15 används för att passivera ALUH när operandlängden är 4 bitar. När operandlängden är 8 bitar kommer ALU-funktionsstyrledningar N22 från styrorganet ÄO8 att styra valet av ALU-funktioner för sàväl_ALUH som ALUL.. Men när operandläng- den är 4 bitar kommer ALUFI att tillföra en styrsignal till ALUH vilken motsvara instruktionen INGEN OPERATION, och ÅLUH låter operan- derna passera igenom oförändrade. Ett exempel på logikutformning för ALU-funktionsspärrkretsen visas i fig. 9.
När 4-bits operandlängd har valts för CPU i fig. 3 behandlas -endast de minst signifikanta 4 bitarna under det att de mest signifi- kanta H bitarna av operandordet ej används.
För att använda de mest signifikanta Ä bitarna av operandordet och därvid fullständigt utnytt- ja RAM-minneskapaoiteten, som är organiserad för att lagra 8-bits ord, måste man införa anordningar för att låta de mest signifikanta och de minst signifikanta Ä bitarna av operandordet byta plats. En dylik växling-kan åstadkommas på ett flertal olika sätt.
Ett sätt att åstadkomma en effektiv växling mellan de mest signi- fikanta och de minst signifikanta B bitarna av ett operandord är att under styrning från en bitposition i OER låta den "högre" och den "lägre" sektionen av ALU byta plats. Om exempelvis en tilldelad bitposition i OER för styrning av ALU-växlingen innehåller en "O" under 4-bits-operationer, skulle ALUFI spärra nLUH under det att ALUL tillåts genomföra operation på de minst signifikanta U bitarna av operandordet. Om den tilldelade bitpositionen däremot innehåller en "1" under H-bits-operationer, skulle ALUFI spärra ALUL medan ALUH tillåts genomföra operation endast på de mest signifikanta H bitarna av operandordet.
De mest signifikanta och de minst signifikanta H bitarna av ett operandord kan omkastas direkt genom införande av en instruktion ROTERA U i förteckningen i Tabell 1. När CPU i fig. U tar emot en 'sådan instruktion överför den ett av instruktionen angivet operandord från RAM till den delade ackumulatorn, där från början de mest signi- fikanta U bitarna av operandordet befinner sig i ACCH och de minst Operandordet roteras _ sedan i den delade ackumulatorn till dess att de tidigare mest signi- ifikanta H bitarna befinner sig i ACCL och de tidigare minst signifi- kanta H bitarna befinner sig i ACCH. Det "roterade" operandordet i den delade ackumulatorn kan antingen användas omedelbart i en ALU-ope- 10 15 20 25 30 35 H0 i innehålla en bitpnsition. 8005989-2 15 ration eller också kan det återföras till RAM." Programmerbart val av operandlängden sker medelst operationskod- utökningsregistret (OER) N21, vilket i detta exempel endast behöver när denna bits binänn tillstànd än "1", är operandlängden för ALU och dataförflyttningsoperationer U bitar, i annat fall är operandlängden 8 bitar. En instruktion LADDA OER till- fogas till förteckningen i Tabell 1, och ROM innehåller två konstan- ter, en "1" och en "O" såsom operationskod-utökningsord. Ehuru endast en bit erfordras för att ange operandlängden, kan OER innehålla ytter- ligare bitpositioner för val av andra valbara egenskaper i enlighet med vad som framgått av det föregående.
En alternativ CPU-konfiguration för att åstadkomma variabel operandlängd och dessutom andra valbara särdrag visas i fig. 10.
Ehuru CPU-arrangemanget i fig. 10 principiellt skiljer sig från det i fig. U visade, används samma operationskod-utökningsregisterprincip för val av de valbara särdragen. Hänvisning göres nu speciellt till fig. 10. Instruktionsregistret, 1001, ROM, 1002, RAM, 1003, databus- sen, 100U och styrorganet, 1005, har samtliga samma uppgifter som sina respektive motsvarande delar i CPU enligt fig. H utom i det att ord- längden i ROM och RAM samt "bredden" av databussen och instruktions- registret samtliga är H-bits istället för 8-bits. Adresskvarhåll- ningsorganet (AL) 1006 är ett 12-bits styr-slav-fasthållningsorgan för att lagra den aktuella adressen för en instruktion eller en operand.
Den 12 bitar omfattande adressaritmetikenheten (AAU) 1007 uppstegar eller nedstegar den aktuella adressen i AL. Det interna registermin- net (IRM) 1008 är en grupp av register som innefattar en program- räknare (PC) 1009, två minnespekarregister BO, 1010, och B1, 1011 samt en stack-pekare 1012. Det temporära registerminnet (TRM), 1013, innehåller två temporära register T0, 101N, och T1, 1015, vilka an- vänds för mellan-adressberäkningar under under adressalstringssteget.
De fyra adressalstringsmetoder som finns tillgängliga i CPU enligt fig. N är även tillgängliga i CPU enligt fig. 10.
Dataadress-bussmultiplexern (DAMUX) 1016 styr överföringen av dann 1 u-b1uS and från non nen RAM till 12-bits-registren 1 RIM non TRM via A-bits-databussen. DAMUX multiplexerar grupperna om U bitar från databussen till en av tre N-bit-sektioner (benämnda högre sek- tion, mellansektion och lägre sektion) hos adressaritmetikbussen 1026. De tre sektionerna av adressaritmetikbussen är kopplade till den högre 4-bit-sektionen, mellan-H-bit-sektionen resp. den lägre 4-bit-sektionen i 12-bit-registren i IRM och THM. En 12-bits adress-' ' 1o 15 20 ' 25 30 ss H0 'grundläggande operandlängden (t.ex. 8, 12 och 16 bitar). *som är tilldelade enligt fig. 11. 8005989-2 16 . buss 1027 överför adresserna från AL till AAU, RAM och ROM.
Den N-bits aritmetiska och logiska enheten (ALU) används för att genomföra samtliga aritmetiska och logiska funktioner.l Operanderna för ALU är lagrade i de H-bits temporära dataregistren TÅ, 1018, och TB, 1019. 2 . 2 .
Till skillnad från CPU i_fig; 4 har CPU i fig. 10 ej någon adres- serber aokumulator. Istället låter man de RAM-platser som utpekas av. minnespekarregistren 1010 och 1011 tjänstgöra såsom ackumulatorer. lDetta möjliggör att CPU har lika många ackumulatorer som RAM-kapaci- teten tillåter.
Den grundläggande operandlängden för ALU i den i fig. 10 visade CPU är U bitar. Dess konfiguration är dock sådan att ALU-operationer kan genomföras på operander vilkas längd är heltalsmultipler av den För operan- der vilkas längd är multipler av den grundläggande operandlängden behandlar ALU 4-bit-segment av operanden med början med det minst signifikanta segmentet och med upprepning av ALU-operationen på de övriga segmenten i signifikansordningsföljd. Ett U-bit-segment brukar kallas "munsbit“ (nibble). Det antal upprepningar av en ALU-operation som erfordras för en viss operandlängd är lika med antalet "munsbítar" i operanden.
I det i fig. 10 åskâdliggjorda exemplet har OER sex bitpositioner -fält innefattande bitarna b0, 1101, och b1, 1102, de fyra valbara operandlängderna N-bits, 8-bits, 12-bits och 16-bits." De resterande U-bit-positionerna i OER används för att ange andra speciella funktio- ner som närmare kommer att beskrivas i det följande. Kodningen av bitarna b0 och b1 samt antalet upprepningar som erfordras för att fullborda en ALU-operation för varje tillstånd framgår av nedanstående förteckning. _ b1, b0 operandlängd ALU-upprepningar 00 ° - 16 bitar 'U o1 2 M bitar 1 10 ' 8 bitar 2 11 . ' , ' -12 bitar 3 Hänvisning göres nu åter till fig. 10. Antalet upprepningar av en ALU-operation som definieras av innehållet i OER styres av 2-bit- -räknaren 1021 och jämföraren 1022, vilken jämför räknarens räkne- Som visas i fig. 1 anger ett 2-bit-' 10 .. 20 25 30 oss 40 8005989-2 17 ställning med räkneställningen för b0-b1. När räknarens räkneställ- 1 ning överensstämmer med bO-b1, upphör upprepningen av ALU-operationen.
Detaljerna av en ALU-operation i CPU enligt fig. 10 är lättare att förstå om man studerar det i fig. 12 visade tillståndsdiagrammet 1200. Av de i fig. 12 visade tillstånden har instruktionsinhämtnings- tillstånden 1201 och adressalstringstillstànden 1202 redan behandlats i anslutning till fig. 2. Efter adressalstringen lagras källadressen för en dyadisk operation i det tillfälliga registret T0. Med opera- tionen av den aktuella instruktionen specificerad såsom antingen monadisk eller dyadisk, befinner sig destinationsadressen i det till- fälliga registret T1. Det bör observeras att det i den i fig. 10a visade CPU alltid krävs en destinationsadress för en dyadisk opera- tion, detta till skillnad från den i rig." I: visade cPu, där ackumuia- torn alltid är underförstådd destination för dyadiska operationer.
I tillståndet ALU1, 1203, överföres innehållet i T0 (källadres- sen) till styrenheten (ALM) hos adresskvarhållningsorganet (1023 i fig. 10). Om den aktuella instruktionen anger en monadisk operation, är nästa tillstånd ALU5, 1207; i annat fall är nästa tillstånd ALU2, 120H. Under övergången från ALU1 till ALU2 överföres innehållet i ALM till slavenheten (ALS) i adresskvarhållningsorganet (120A i fig. 10) och i tillståndet ALU2 överföres den operand som är lagrad på den av ALS utpekade RAM-platsen till det tillfälliga dataregistret TB. I tillståndet ALU3, 1205, framstegas adressen i ALS och överföres till såväl T0 som ALM, och om en annan Valbar funktion, automatisk fram- stegning, vilken kommer att beskrivas i det följande, är aktiverad, överföres dessutom den framstegade adressen till pekare-registret B0.
Om den aktuella instruktionen anger direkt dataadressering för den andra operanden i den dyadiska operationen (d.v.s. om den andra ope- randen återfinnes i den aktuella instruktionens adressfält) är nästa tillstånd ALUM, 1206. I ALUN överföres innehållet i ALS till program- räknaren PC, varvid ROM-adressen för nästa data-konstant eller inst- ruktion återställes. För de övriga adresseringssätten är nästa till- stånd ALU5, 1207, där den i T1 lagrade destinationsadressen överföres till ALM och 2-bit-räknaren framstegas; denna räknare har nollställts vid instruktionscykelns början. Under övergången från tillståndet ALU5 till tillståndet ALU6 överföres innehållet i ALM till ALS. I tillståndet ALU6, 1208, överföres innehållet på den av ALS utpekade RAM-platsen till det tillfälliga dataregistret TA. Nästa tillstånd är ALU7, 1209, där ALS framstegas och dess innehåll överföres till T1 och till B1 om den automatiska framstegningsfunktionen är aktiverad. Den' 10 15 20 125 ri 30 '35 40 _ funktion kan väljas -automatisk laddning ierhållas endast för imonadisk eller dyadisk. ysoosasa-2 18 ALU-operation som anges av den aktuella instruktionen utföres på två operander som tillhandahålles av TA och IP när det gäller en dyadisk ,operation eller på en enda operand, tillhandahållen av TA, när det gäller en monadisk operation. Nästa tillstånd är ALU8, 1210, där resultatet av ALU-operationen (ALU UT) lagras på den RAM-minnesplats som utpekas av ALS. Räknarens räkneställning jämföres sedan med räkneställningen för b0-b1 i OER. Om jämföraren anger att överens- stämmelse föreligger är ALU-operationen slutförd; men om jämföraren anger att överensstämmelse ej föreligger, återgår CPU till tillståndet ALU1, och ALU-operationen upprepas. I Automatisk laddning I En ytterligare av pekare-register valbar funktion hos CPU enligt fíg. 10, vilken under programstyrning med användning av OER, är av pekar-registren BO och B1. .Denna funktion kan direktadresseringssättet, där fullständig operand- adress förefinns i instruktionens adresskod. När automatisk laddning är aktiverad, lagras automatiskt de operandadresser som tillhandahål- les i den aktuella instruktionen i angivna pekare-register vid slutet av instruktionscykeln. Automatisk laddning av BO och B1 styres av . ,tillståndet för bitpositionerna ALO (1105 i fig. 11) resp. AL1 (1106 i fig. 11) i OER, varvid ett "1"-tillstånd aktiverar funktionen automa- tisk laddning. _ Automatisk laddning genomföras under adressalstringssteget i databehandlingsfasen. Ett tillstândsdiagram för adressalstringssteget för CPU i fig. 10 visas i fig. 13. Ett exempel på adressalstring skall nu beskrivas med hänvisning till fig. 13.
Under instruktionsinhämtningsfasen, representerad av blocket med hänvisningsnumret 1301, överföres ett instruktionsord innehållande en operatíonskod och en adresseringssätt-kod från ROM till IR. CPU övergår sedan till det första adressalstringstillståndet AF1, 1302.
Den bana som CPU följer genom adressalstringsstegen beror dels på det adresseringssätt som är angivet av adresseringssätt-koden i IR och dels på huruvida den operation som anges av operationskoden i IR är En D-typ-vippa (DFF) 1025 i CPU enligt fig. 10 håller reda på huruvida den adress som är under alstring för en dyadisk operation är en källadress eller en destinationsadress. Före alstringen av källadressen för en dyadisk operation är DFF återställd (DFF=0), men före alstringen av adressen till den enda operanden i en monadisk operation eller destinationsadressen i en dyadisk operation är DFF 1-ställd (DEF=1). Om det direkta adresseringssättet är angivet ,10 15 20 25 30 35 NO 8005989-2¿ 19 för källadressen, är de mest signifikanta (övre) N bitarna av TO inställda på "enbart ettor", ooh om det direkta adresseringssättet är .angivet för destinationsadressen är de mest signifikanta N bitarna av T1 inställda på "enbart ettor".
CPU går sedan vidare till tillståndet AF2, 1303. Om det angivna adresseringssättet är indirekt adressering, överföres innehållet i BO till T1 om DFF är 1-ställd, under det att innehållet i BO överföres till TO och innehållet i B1 överföres till T1 om DFF är återställd.
CPU går sedan vidare direkt till tillståndet AF6, 1307. Om det angiv- na adresseringssättet är för direkt-data, överföres tillståndet för PC till TO och CPU går vidare direkt till tillståndet AF6. 3 Når det gäller direkt adressering kommer i tillståndet AF2 inne- hållet i PC att överföras till ALM, varvid innehållet i PC är adressen till den ROM-plats som innehåller första "munsbiten" av operand-adres- sen. Under övergången från tillståndet AF2 till tillståndet AF3, 130ä,överföres innehållet i ALM till ALS. I tillståndet AF3 framste- gas ALS och dess innehåll överföres till PC. Om ytterligare en "muns- bit" från ROM erfordras för att slutföra alstringen av adressen kommer den framstegade adressen i ALS även att laddas i ALM. Innehållet på den av ALS utpekade ROM-minnesplatsen överföres sedan till de lägre 'fyra bitarna hos TO, (TOL) om DFF är 1-ställd eller till de lägre fyra bitarna hos T1 (T1L) om DFF är återställd. Under övergången från tillståndet AF3 till tillståndet AFH, 1305, överföras innehållet 1 ALM' till ALS. I tillståndet AFÄ framstegas ALS åter, och dess innehåll överföras till PC. Innehållet på den av ALS utpekade ROM-platsen överföres till de mellersta fyra bitarna i TO (TOM) om DFF är 1-ställd .eller till de mellersta fyra bitarna i T1 (T1M) om DFF är återställd.
Det bör observeras att de övre fyra bitarna av en operandadress vid direktadresseringssättet är "1111".
Om den automatiska laddningsfunktionen ej är aktiverad för någon av BO och B1 så går CPU vidare från tillståndet AFH direkt till till- ståndet AF6. I annat fall är nästa tillstånd AFS, 1306. I tillstån- det AF5 laddas T0:s innehåll i BO om DFF är 1-ställd och om automatisk laddning är aktiverad för BO (d.v.s. ALO=1) eller också laddas T1:s innehåll i B1 om DFF är återställd och automatisk laddning är aktive- rad för B1 (d.v.s. AL1=1).
I tillståndet AF6 överföres den fullbordade operandadreseen i TO till ALM. Om DFF är 1-ställd i tillståndet AF6 fullbordas adressalst- och CPU går vidare till den ALU-funktion som representeras av ringen, om emeiiertid DFF är åuersca11d,' blocket med hänvisningsnumret 1309. 10 1:15 20 a 25 30 35 40 ' 80105989-2 20 vilket anger att adressalstringen för en dyadisk operation är ofull-~ bordad, går CPU först vidare till tillståndet AF7 där DFF 1-ställes och därefter till tillståndet AF1 och upprepning av adressalstrings- stegen för destinationsadressen. ' _ Automatisk framstegning av pekare-register _ En ytterligare valbar funktion hos CPU i fig. 10, vilken funktion kan aktiveras eller passiveras medelst OER, är automatisk framstegning av pekare-registren BO och B1. När denna funktion är aktiverad för ett angivet minnespekare-register, kommer den i detta register lagrade adressen automatiskt att framstegas vid slutet av varje instruktions- cykel för att utpeka minnesplatsen för den första "munsbiten" av nästa operand. Automatisk framstegning av BO och B1 styres av tillståndet för OER-bitpositionerna AIO (1103 i fig. 11) resp. AI1 (110H i fig. 11). Ett "1“-tillstånd aktiverar den automatiska framstegningsfunk- tionen. _ När den är aktiverad sker den automatiska framstegningen av BO och B1 under ALU-funktionssteget för databehandlingsfasen såsom fram- går av tillståndsdiagrammet i fig. 12. Hänvisning göres nu speciellt till fig. 12, Som ovan beskrivits i ansluting till särdraget "varia- bel operandlängd", kommer, när CPU är i tillståndet ALU3, 1205 en i ALS lagrad källadress som pekar på en "munsbit" av en första operand (under antagande av en dyadisk operation) att framstegas för att ' utpeka nästa "munsbit" av samma operand, om ALU-operationen skall upprepas på nästa "munsbit". -Om ALU-operationen har fullbordats för samtliga "munsbitar" av samma operand, utpekar_ALS den första "muns- biten" av en ny första operand. Den framstegade adressen överföres sedan till TO och ALM. Om automatisk framstegning av BO har aktive- rats, (d.v.s. AIO=1), kommer den framstegade adressen även att överfö- ras från ALS till BO. I tillståndet ALU7, 1209, kommer en i ALS lagrad destinationsadress som utpekar en "munsbit" av den andra ope- -randen i den dyadiska operationen att framstegas och överföras till T1. Om automatisk framstegning av B1 har aktiverats (d.v.s. AI1=1) överföres den framstegade adressen även från ALS till B1. ALU-opera- tionen genomföres sedan på motsvarande "munsbitar" av den första och den andra operanden som befinner sig i TA resp. TB. 'Resultatet av ALU-operationen lagras på den minnesplats som tidigare upptogs av motsvarande "munsbit" av den andra operanden.g Om så erfordras uppre- pas ALU-operationen på ytterligare "munsbitar" av den första och den andra operanden. Det bör observeras, att när den automatiska fram- stegningen är aktiverad för ett visst pekare-register, dettas innehåll 10 15 20 25 30 35 H0 8005989-2 21 framstegas för varje upprepning av ALU-operationen, så att pekare-re- gistret vid slutet av instruktionscykeln alltid utpekar den första "munsbiten" av nästa operand.
Tilldelning av adressregister Ytterligare en valbar funktion som kan läggas under programstyr- ning medelst OER är tilldelning av adressregister. Vid vissa CPU-kon- figurationer har RAM och till CPU anslutna perifera organ (t.ex. teletype-tangentbord, kortläsare, skrivare, magnetband-aggregat etc.) ej endast gemensamt adressfält i instruktionen utan de har dessutom gemensamma adresser. Detta innebär att en viss adress kan hänföra sig antingen till en RAM-minnesplats eller till ett perifert organ.
Identifiering av en adress såsom en RAM-minnesplats eller ett perifert organ kan åstadkommas genom att man definierar särskilda RAM-hänvis- nings- och perifer-enhet-hänvisningsinstruktioner (t.ex. LÄS RAM, LÄS PERIFER etc.). För att spara operationskoder kan man dock använda samma instruktion för att ange såväl RAM som perifer enhet. Sålunda skulle instruktionen ange huruvida adressen avser en RAM~minnesplats eller en perifer enhet genom att ange antingen ett adressregister som är speciellt reserverat för att lagra en minnesadress eller ett som är speciellt reserverat för att lagra adressen till en perifer enhet.
Vid tidigare kända CPU vid vilka en uppbyggnad med reserverade adressregister har tillämpats är antalet minnesadressregister och antalet adressregister för perifera enheter fastlagda av CPU-uppbygg- naden. Detta innebär att den som konstruerar CPU bestämmer hur många adressregister av varje typ som skall finnas på basis av den typ av applikationer för vilka ifrågavarande CPU avses användas. Om t.ex.
CPU skall användas i minnesintensiva tillämpningar, skulle den ha flera minnesadressregister och färre adressregister för perifera enheter. En fastlagd tilldelning av adressregister begränsar emeller- tid en CPU's användningsflexibilitet.
“Optimal användningsflexibilitet kan uppnås såväl vid minnesinten- siva som vid periferenhet-intensiva applikationer genom att man anord- nar så att adressregistret blir variabelt under programstyrning. Ett sådant optimalt särdrag, som gör det möjligt att ändra tilldelningen av register upprepade gånger under exekveringen av programmet, är speciellt fördelaktigt för program som är minnesintensiva i vissa delar och periferienhet-intensiva 1 andra.
I fig. 1ü visas ett blockschema som representerar en del av en CPU, 1U00, som tillåter programmerbar tilldelning av ett flertal maskinvaru-adressregister i enlighet med principerna för uppfinning- 10 15 20 25 30 35 _40 8005989-2 22 en. Av en grupp om åtta 12-bits adressregisterv BOV- É7: försedda med hänvisningsnumren 1H01 t.o.m. 1ü08, kan vart och ett tilldelas för att lagra antingen en minnesplatsadress eller adressen till en perifer enhet. Funktionerna för databussen 1H09, programräknaren_1U1O och instruktionsregistret 1411 är väsentligen desamma som ovan beskrivits i anslutning till den i fig. B visade CPU. Operationskod-utöknings- registret (OER) 1H12 lagrar ett operationskod-utökningsord som anger valet av valbara CPU-funktioner, exempelvis de ovan beskrivna, inklu- sive tilldelning av vissa adressregister för lagring av RAM-adresser och andra för lagring av adresser till perifera organ, i enlighet med vad som anges genom tillstånden för tre bitpositioner i GER. Styr- organet 1ü13 är anordnat att samtidigt avkoda innehållet i såväl IR som OER och att effektivt koordinera dessa med varandra samt att alstra kommandosignaler motsvarande den processoroperation som bestäm- mes av de kombinerade innehållen i IR och OER. Adressmultiplexern 1H18 kopplar det i instruktionen angivna adressregistret till 12-bits adress-utgångsbussen 1H17.
När en instruktion anger ett visst adressregister, aktiverar styrorganet den tillämpliga adressregisterval-ledningen 1U15 och adress-MUX-styrningsledningen så att den i detta register lagrade adressen göres tillgänglig på adress-utgångsbussenf Samtidigt avkodar styrorganet innehållet i OER för att bestämma huruvida det angivna adressregistret innehåller en RAM-adress eller en adress till ett perifert organ. Om det innehåller en RAM-adress, aktiveras RAM-val- -styrledningen'1M19; i annat fall aktiveras styrledningen 1ü20 för val av perifert organ. Läs/skriv-styrledningen 1421 avger en signal till RAM, vilken signal anger huruvida data skall utläsas från ett angivet RAM eller inskrivas i detsamma. ' I fig. 15 visas ett Iogikdiagram av de delar av styrorganet 1500 vilka avkodar adressregister-tilldelningsfältet, ARO-AR2, 1 OER. Om instruktionen kräver angivning av ett av adressregistren, BO-B7, kommer instruktionsavkodningssektionen 1503 att åstadkomma att in/ut- -instruktionsaktiveringsledningenj150Ä och adressregistervalledningen 1505 övergår till det 1-ställda tillståndet. I det i fig. 15 visade exemplet är de åtta adressregistren BO-B7 tilldelade två i taget av de tre bitarna (ARO-AR2) i adressregistertilldelningsfältet i GER.
Registren BO och B1 är alltid reserverade för RAM-adresser, under det att registren B2 och B3 är tilldelade för RAM-adresser om biten AR2,' 150ü, är en "O" och är tilldelade för adresser till perifera organ om biten AR2 är en "1". Analogt bestämmer tillståndet för biten AR1 ' 10 15 20 25 30 ' 35 H0 8005989-2 23 tilldelningen av registren BH och B5 och tillståndet för'biten ARG” tilldelningen av registren B6 och B7. Den krets som består av logik- -grindarna G1-G10 (hänvisningsnumren 1506-1515) detekterar tíllstånden för ARO-AR2 och tillstånden för adressregistervalledningarna 1505 för -att bestämma det korrekta tillståndet på RAM-valledningen eller peri- fer-enhet-valledningen beroende på det valda adressregistrets till- delning.
I fig. 16 visas ett exempel på ett in/ut-gränssnitt-arrangemang för CPU i fig. 1H med ett RAM och tre perifera enheter. I detta exempel har det antagits att CPU endast har en in/ut-port, att RAM, .1602, har sin egen interna adressavkodare och att de tre perifera enheterna 1603-1605 samtliga är ingångsorgan som avger data till CPU.
När CPU exekverar en ingângsdata-instruktion med angivning av ett av adressregistren, kommer den adress som är lagrad i det angivna adress- registret att via "adress-ut"-utgången hos CPU göras tillgänglig för perifer-enhet-adressavkodaren (PAD) 1606 och för adress-ingången hos RAM. Då man i detta exempel antar att den adress som tillhandahålles på adress-utgången hänför sig både till perifera enheten 2, 160A, och en plats i RAM, kommer styrorganet i CPU för att välja mellan dessa. alternativ att detektera adressregistertilldelningsfältet (ARO-AR2) i GER för att bestämma huruvida det valda adressregistret har tilldelats RAM eller perifera enheter. Innehållet i OER har laddats under en tidigare instruktion.
Om det valda adressregistret har tilldelats till perifera enhe- ter, passiveras RAM via RAM-val-utgången under det att PAD aktiveras via perifer-enhet-valutgången. PAD aktiverar enheten 2 och och åstad- kommer att perifer-enhet-multiplexern 1607 kopplar enheten 2 till in/ut-porten hos CPU. Om å andra sidan det valda adressregistret vore tilldelat till RAM, skulle PAD passiveras och RAM aktiveras. En från läs/skriv-utgången avgiven läs-signal skulle medföra att RAM överförde innehållet i den adresserade minnespositionen till CPU via inlut- -porten.
Claims (3)
1. D kopplas till minnesorgan (1002, 1003) som har ett flertal adresserbara 'platser för lagring av instruktioner och data, varvid varje instruk- Åtíon har en operationskod-del och en adressdel, varvid nämnda data innefattar operander, varjämte anordningen innefattar instruktionsregisterorgan (1001, 1015, 101Ä) för lagrina av en instruktion; _ instruktionsátervínningsorgan (1008, 1006, 1007, 1020) för att överföra en aktuell instruktion från minnesorganet till instruktione- registerorganet i varje instruktionscykel; ett styrorgan som är anordnat att som svar på operationskod-delen av den aktuella instruktionen alstra styrsignaler motsvarande proces- soroperationer som anges av operatíonskod-delen; dataâtervinningsorgan som är anordnade att som svar på dels 'speciella styrsignaler och dels den aktuella instruktionens adressdel överföra av adressdelen angivna data från minnesorganet till den' centrala processorenheten; k ä n n e t e c k n a d av att data innefattar operander och operationskod-utökningsord; samt att den centrala processorenheten dessutom innefattar: -ett operationskod-utökningsregister (1020) för att ta emot och lagra ett operationskod-utökningsord; varvid styrorganet (1005, 1021, 1022, 1025) är anordnat att som svar på kombinationen av operationskod-delen av den aktuella instruktionen och innehållet i operationskod-utökningsregistret alstra nämnda styrsignaler; varjämte nämnda dataåtervinningsorgan (1008, 1006, 1007, 1026) är anordnade att överföra ett i den aktuella instruktionens adressdel angivet operationskod-utökningsord från minnesorganet till operations- kod-utökningsregistret när.den aktuella instruktionen är en speciell instruktion för överföring av ett nyss valt operationskod-utökningsord till operationskod-utökningsregistret.
2. Anordning enligt kravet 1, k ä nln e t e*c k n a d av att den dessutom innefattar en aritmetisk-logisk enhet (H11) som är anordnad att som svar på valkommandosignaler motsvarande kombinationen av innehållet i operationskod-utökningsordregistret och operationskod- -delen av den aktuella instruktionen från styrorganet ta emot en eller sooseas-2 25 flera operander från minnet och på nämnda operand eller operander genomföra en aritmetisk eller logisk operation som är definierad genom nämnda kombination, varvid den aritmetisk-logiska enheten (H11) är anordnad att kunna anpassas för att ge plats för operander som omfat- tar ett eller flera N-bit-segment, varvid antalet N-bit-segment i en operand är definierat genom det i operationskod-utökningsregistret lagrade operationskod-utökningsordet.
3. Anordning enligt kravet 2, k ä n n e t e c k n a d av dels att operanderna för de aritmetiska och logiska operationerna vardera har 2N-bit-segment och dels att arítmetisk-logiska enheten är anordnad med en övre och en nedre del för att utföra operationer på det mest signi- fikanta N-bitsegmentet resp. det minst signifikanta N-bitsegmentet av varje operand, varvid både den övre och den nedre delen är aktiverade för att behandla båda segmenten av en operand när en första utpekad bitpositíon i operationskod-utökningsregistret uppvisar ett första hinärt tillstånd, och att den övre delen är passiverad och den nedre delen aktiverad för att genomföra operation på endast det minst signi- fikanta segmentet av en operand under det att de mest signifikanta N-bit-segmenten lämnas oförändrade när nämnda första utpekade bitposi- tion uppvisar ett andra binärt tillstånd. H. Anordning enligt kravet 2, k ä n n e t e c k-n a d av att den dessutom innefattar (1) åtminstone en dubbelriktad in/ut-port som är anordnad att kopplas till ett flertal perifera enheter, av vilka var och en har en särskild perifer-enhet-adress, och till en del av minnet, varvid vissa av minnesplatserna 1 denna del av minnet har adresser som även är perifer-enhet-adresser; (2) en adressutgång som är kopplad till adressbussen och är anordnad att kopplas till en med de perifera enheterna förknippad perifer-enhet-adressavkodare, vilken är anordnad att som svar på en adress som avges på adressutgângen välja en perifer enhet som skall kopplas till in/ut-porten och till en minnesadressavkodare vilken är anordnad att som svar på adressen på adressutgången välja en minnes- plats i nämnda del av minnet vilken skall åtkommas av den centrala processorenheten genom in/ut-porten; (3) en första utgång som är anordnad att kopplas till perifer- -adress-avkodaren för att aktivera perifer-adress-avkodaren när den första utgången är i ett första binärt tillstànd och för att passivera perifer-adress-avkodaren när den första utgången är i ett andra binärt tillstånd; ¿soos9s9-2 26 (u) av minnesadressavkodaren för att aktivera nämnda del av minnesadress- en andra utgång som är anordnad att kopplas till nämnda del avkodaren när den andra utgången är i ett första binärt tillstànd och för att passivera nämnda del av minnesadressavkodaren när den andra utgången är i ett andra bínärt tillstånd; _ (5) ett flertal adressregister för lagring av adresser, varvid atminstone ett av adressregistren är anordnat att kunna tilldelas för lagring av antingen en minnesadress motsvarande en minnesplats i nämnda del av minnet eller en perifer-enhet-adress, vilken anordning är k ä n n e t e c k n a d av _ att operationskod-utökningsregistret är anordnat att ange tilldel- ningen för varje tilldelningsbart adressregister när en instruktion, som är under exekvering i den centrala processorenheten, anger överfö- ring av innehållet i ett visst adressregister till adressutgången; att styrorganet är anordnat att som svar på innehållet i opera- tionskod-utökningsregistret alstra ett första binärt tillstånd på den första utgången och ett andra binärt tillstånd på den andra utgången om det ifrågavarande adressregistret är tilldelat för lagring av en perifer-enhet-adress; och att styrorganet är anordnat att avge ett andra binärt till- stånd på den första utgången och ett första bínärt tillstand på den andra utgången om det ifrågavarande adressregistret är tilldelat för lagring av en minnesadress motsvarande en minnesplats i nämnda del av minnet. /I//i Ponn uuAuTY .<...____ .~ø_~ø-_.____.._._.. -_ _
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/974,426 US4293907A (en) | 1978-12-29 | 1978-12-29 | Data processing apparatus having op-code extension register |
Publications (2)
Publication Number | Publication Date |
---|---|
SE8005989L SE8005989L (sv) | 1980-08-27 |
SE424114B true SE424114B (sv) | 1982-06-28 |
Family
ID=25522024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE8005989A SE424114B (sv) | 1978-12-29 | 1980-08-27 | Central processorenhet-anordning |
Country Status (13)
Country | Link |
---|---|
US (1) | US4293907A (sv) |
JP (1) | JPS55501075A (sv) |
AU (1) | AU542875B2 (sv) |
BE (1) | BE880888A (sv) |
CA (1) | CA1123959A (sv) |
CH (1) | CH650600A5 (sv) |
ES (1) | ES487294A1 (sv) |
FR (1) | FR2445555B1 (sv) |
GB (1) | GB2050659B (sv) |
IT (1) | IT1127771B (sv) |
NL (1) | NL7920197A (sv) |
SE (1) | SE424114B (sv) |
WO (1) | WO1980001423A1 (sv) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0052828B1 (en) * | 1980-11-24 | 1989-04-19 | Texas Instruments Incorporated | Microprocessor system |
US4519028A (en) * | 1981-02-17 | 1985-05-21 | Digital Equipment Corporation | CPU with multi-stage mode register for defining CPU operating environment including charging its communications protocol |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US4519031A (en) * | 1982-02-22 | 1985-05-21 | Texas Instruments Incorporated | Microcomputer with accumulator saturation upon overflow |
US4488219A (en) * | 1982-03-18 | 1984-12-11 | International Business Machines Corporation | Extended control word decoding |
US4586130A (en) * | 1983-10-03 | 1986-04-29 | Digital Equipment Corporation | Central processing unit for a digital computer |
US4893235A (en) * | 1983-10-03 | 1990-01-09 | Digital Equipment Corporation | Central processing unit for a digital computer |
US4812971A (en) * | 1983-10-03 | 1989-03-14 | Digital Equipment Corporation | Central processing unit for a digital computer |
DE3500377A1 (de) * | 1984-01-16 | 1985-07-25 | N.V. Philips' Gloeilampenfabrieken, Eindhoven | Verfahren zur bearbeitung maschinencodierter befehlswoerter und datenprozessor durch durchfuehrung des verfahrens |
FR2569285B1 (fr) * | 1984-08-14 | 1989-02-03 | Trt Telecom Radio Electr | Processeur pour effectuer suivant differents modes le traitement de donnees et dispositif de multiplication convenant pour un tel processeur |
DE3577242D1 (de) * | 1984-08-14 | 1990-05-23 | Trt Telecom Radio Electr | Prozessor zur verarbeitung von daten verschiedener darstellungsarten und geeignetes multipliziergeraet fuer einen solchen prozessor. |
JP2565495B2 (ja) * | 1986-08-27 | 1996-12-18 | 株式会社日立製作所 | デ−タ処理システム |
US5218712A (en) * | 1987-07-01 | 1993-06-08 | Digital Equipment Corporation | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption |
JP2845433B2 (ja) * | 1987-09-07 | 1999-01-13 | 日本電気株式会社 | 集積回路装置 |
NL8800071A (nl) * | 1988-01-13 | 1989-08-01 | Philips Nv | Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. |
JPH01297764A (ja) * | 1988-05-25 | 1989-11-30 | Nec Corp | プロセッサ |
US5280620A (en) * | 1988-12-16 | 1994-01-18 | U.S. Philips Corporation | Coupling network for a data processor, including a series connection of a cross-bar switch and an array of silos |
US5249273A (en) * | 1989-01-17 | 1993-09-28 | Fujitsu Limited | Microprocessor having a variable length instruction format |
DE68928980T2 (de) * | 1989-11-17 | 1999-08-19 | Texas Instruments Inc. | Multiprozessor mit Koordinatenschalter zwischen Prozessoren und Speichern |
US5446865A (en) * | 1990-03-13 | 1995-08-29 | At&T Corp. | Processor adapted for sharing memory with more than one type of processor |
DE69327504T2 (de) * | 1992-10-19 | 2000-08-10 | Koninklijke Philips Electronics N.V., Eindhoven | Datenprozessor mit Operationseinheiten, die gemeinsam Gruppen von Registerspeichern benutzen |
US5848289A (en) * | 1992-11-27 | 1998-12-08 | Motorola, Inc. | Extensible central processing unit |
JPH07281890A (ja) * | 1994-04-06 | 1995-10-27 | Mitsubishi Electric Corp | 命令セット及びそのマイクロコンピュータによる実行方法 |
US5890222A (en) * | 1995-01-04 | 1999-03-30 | International Business Machines Corporation | Method and system for addressing registers in a data processing unit in an indirect addressing mode |
FR2731094B1 (fr) * | 1995-02-23 | 1997-04-30 | Dufal Frederic | Procede et dispositif de commande simultanee des etats de controle des unites d'execution d'un processeur programmable |
FR2731095B1 (fr) * | 1995-02-23 | 1997-04-30 | Dufal Frederic | Procede et dispositif de commande simultanee des etats de controle des unites d'execution d'un processeur programmable a architecture du type pipeline, notamment un processeur de traitement d'images |
US6298002B1 (en) * | 1999-12-14 | 2001-10-02 | Intel Corporation | Memory structures having selectively disabled portions for power conservation |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
US6892295B2 (en) | 2000-03-08 | 2005-05-10 | Sun Microsystems, Inc. | Processing architecture having an array bounds check capability |
AU2001249122A1 (en) * | 2000-03-08 | 2001-09-17 | Sun Microsystems, Inc. | Processing architecture having field swapping capability |
US7124160B2 (en) | 2000-03-08 | 2006-10-17 | Sun Microsystems, Inc. | Processing architecture having parallel arithmetic capability |
FR2867874A1 (fr) * | 2004-03-22 | 2005-09-23 | St Microelectronics Sa | Dispositif et procede de gestion d'un jeu d'instructions d'un microprocesseur |
JP5217431B2 (ja) | 2007-12-28 | 2013-06-19 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
GB2589334B (en) | 2019-11-26 | 2022-01-05 | Advanced Risc Mach Ltd | Register-provided-opcode instruction |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE629725A (sv) * | 1962-03-29 | |||
US3292151A (en) * | 1962-06-04 | 1966-12-13 | Ibm | Memory expansion |
US3331056A (en) * | 1964-07-15 | 1967-07-11 | Honeywell Inc | Variable width addressing arrangement |
US3593312A (en) * | 1969-11-14 | 1971-07-13 | Burroughs Corp | Data processor having operand tags to identify as single or double precision |
US3764988A (en) * | 1971-03-01 | 1973-10-09 | Hitachi Ltd | Instruction processing device using advanced control system |
US3781823A (en) * | 1972-07-28 | 1973-12-25 | Bell Telephone Labor Inc | Computer control unit capable of dynamically reinterpreting instructions |
JPS5171648A (sv) * | 1974-12-18 | 1976-06-21 | Panafacom Ltd | |
JPS5245232A (en) * | 1975-10-08 | 1977-04-09 | Hitachi Ltd | Micro program modification circuit |
US4021655A (en) * | 1976-03-30 | 1977-05-03 | International Business Machines Corporation | Oversized data detection hardware for data processors which store data at variable length destinations |
US4117536A (en) * | 1976-12-27 | 1978-09-26 | International Business Machines Corporation | Instruction processing control apparatus |
US4161784A (en) * | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
-
1978
- 1978-12-29 US US05/974,426 patent/US4293907A/en not_active Expired - Lifetime
-
1979
- 1979-12-06 CH CH6635/80A patent/CH650600A5/de not_active IP Right Cessation
- 1979-12-06 JP JP50030579A patent/JPS55501075A/ja active Pending
- 1979-12-06 GB GB8027349A patent/GB2050659B/en not_active Expired
- 1979-12-06 NL NL7920197A patent/NL7920197A/nl unknown
- 1979-12-06 WO PCT/US1979/001045 patent/WO1980001423A1/en unknown
- 1979-12-17 CA CA342,084A patent/CA1123959A/en not_active Expired
- 1979-12-20 AU AU54064/79A patent/AU542875B2/en not_active Ceased
- 1979-12-24 FR FR7931593A patent/FR2445555B1/fr not_active Expired
- 1979-12-27 ES ES487294A patent/ES487294A1/es not_active Expired
- 1979-12-27 BE BE0/198767A patent/BE880888A/fr not_active IP Right Cessation
- 1979-12-28 IT IT28442/79A patent/IT1127771B/it active
-
1980
- 1980-08-27 SE SE8005989A patent/SE424114B/sv not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
ES487294A1 (es) | 1980-08-01 |
WO1980001423A1 (en) | 1980-07-10 |
IT7928442A0 (it) | 1979-12-28 |
US4293907A (en) | 1981-10-06 |
NL7920197A (nl) | 1980-11-28 |
GB2050659B (en) | 1983-05-18 |
GB2050659A (en) | 1981-01-07 |
IT1127771B (it) | 1986-05-21 |
FR2445555A1 (fr) | 1980-07-25 |
CA1123959A (en) | 1982-05-18 |
JPS55501075A (sv) | 1980-12-04 |
CH650600A5 (de) | 1985-07-31 |
AU5406479A (en) | 1980-07-10 |
AU542875B2 (en) | 1985-03-21 |
BE880888A (fr) | 1980-04-16 |
FR2445555B1 (fr) | 1986-07-18 |
SE8005989L (sv) | 1980-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE424114B (sv) | Central processorenhet-anordning | |
US3983539A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
US4258419A (en) | Data processing apparatus providing variable operand width operation | |
US4099229A (en) | Variable architecture digital computer | |
US4558411A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
US3983541A (en) | Polymorphic programmable units employing plural levels of phased sub-instruction sets | |
US4449184A (en) | Extended address, single and multiple bit microprocessor | |
EP0010188B1 (en) | Computer instruction prefetch circuit | |
US3725868A (en) | Small reconfigurable processor for a variety of data processing applications | |
US4524416A (en) | Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system | |
US5073855A (en) | Resource conflict detection method and apparatus included in a pipelined processing unit | |
EP0415461B1 (en) | Central processing unit supporting variable length instructions | |
JP6849274B2 (ja) | 融合された単一のサイクルのインクリメント−比較−ジャンプを実施するための命令及びロジック | |
US5706460A (en) | Variable architecture computer with vector parallel processor and using instructions with variable length fields | |
EP0034180B1 (en) | Special address generation arrangement | |
US4229801A (en) | Floating point processor having concurrent exponent/mantissa operation | |
US5249280A (en) | Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory | |
US4346437A (en) | Microcomputer using a double opcode instruction | |
US4240142A (en) | Data processing apparatus providing autoincrementing of memory pointer registers | |
US4348720A (en) | Microcomputer arranged for direct memory access | |
US4250545A (en) | Data processing apparatus providing autoloading of memory pointer registers | |
US4424563A (en) | Data processor including a multiple word processing method and device | |
US4812971A (en) | Central processing unit for a digital computer | |
EP0206653B1 (en) | Method and means for loading and storing data in a reduced instruction set computer | |
JP2001522082A (ja) | より小さな数の分岐予測および代替ターゲットを用いて近似的により大きな数の分岐予測をすること |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |
Ref document number: 8005989-2 Effective date: 19890301 Format of ref document f/p: F |