NL8900608A - Programmeerbare verwerkingsinrichting voor integratie op grote schaal. - Google Patents
Programmeerbare verwerkingsinrichting voor integratie op grote schaal. Download PDFInfo
- Publication number
- NL8900608A NL8900608A NL8900608A NL8900608A NL8900608A NL 8900608 A NL8900608 A NL 8900608A NL 8900608 A NL8900608 A NL 8900608A NL 8900608 A NL8900608 A NL 8900608A NL 8900608 A NL8900608 A NL 8900608A
- Authority
- NL
- Netherlands
- Prior art keywords
- register
- output
- instruction
- bit
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7832—Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
-
- 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/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- 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/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Advance Control (AREA)
Description
^ I
28??ó/JF/ih -1-
Afsplitsing van Nederlandse octrooiaanvrage 7315163 op basis van de niet-eenheidsbeschikking d.d. 3 februari 1989.
5 Korte aanduiding: Programmeerbare verwerkingsinrichting voor integratie op grote schaal.
De uitvinding heeft betrekking op een digitale computer en meer in het bijzonder op een mikro-programmeerbaar digitaal 10 bouwblok geëigend voor LSI (large scale integration) outillage en geschikt om een variëteit van diverse funkties te verschaffen voor multi-verwerkende systemen van het modulaire type.
Verschillende vormen van systeemarchitektuur zijn gecreëerd om de mogelijkheden van informatie verwerkende systemen te ver-15 groten. Multi-verwerkende systemen zijn ontworpen met een veelvoud van ver-werkingsorganen en ingang/uitgang (I/O, input/output) stuurorganen, welke ieder toegang hebben tot een of meer geheugenmodutes via een aaneen-koppelend schakelsysteem. Dergelijke multi-verwerkende systemen kunnen aangepast zijn om gelijktijdig verschillende programma's uit te voeren 20 of gelijktijdig gedeelten van een programma uit te voeren, wanneer ieder verwerkingsorgaan een verwerkingsorgaan is voor algemene doeleinden. In andere multi-verwerkende systemen kan ieder verwerkingsorgaan een verwerkingsorgaan voor speciale doeleinden zijn, geëigend om een bepaalde funktie uit te voeren zoals matrixvermenigvuldiging en omkering, enz.
25 Om mee te gaan met de trend in multi-verwerkende systemen werd volgens de bekende stand van de techniek een variëteit van computer-verwerkingssystemen ontwikkeld, reikende van de zeer kleine tot de zeer grote, welke ieder in staat zijn niet alleen zakelijke en wetenschappelijke toepassingen uit te voeren, maar ook de besturing van 30 datatransmissie, datavergaring en dergelijke. In situaties waarin’computerproblemen op grote schaal aanwezig waren, vele honderden of duizenden onderlinge stappen vereisende, werd de nadruk gelegd op zowel snelheid van uitvoering en het aantal van databits dat kon worden behandeld in een gegeven cyclus van instruktie-uitvoering. Voor deze situaties 35 werd een systeem ontworpen om grote data breedte te behandelen en ook vele van de algorithmische processen die moeten worden uitgevoerd met 8900608 .0—=*= T f -2- 28286/J F/i h deze gegevens. Om grotere snelheid van instruktie-uitvoering te bereiken werden deze systemen direkt geoutilleerd in bedrade schakeling. In de eerste plaats echter door deze consideraties was de grote schaal of wetenschappelijke computer een buitengewoon dure en ingewikkelde machine.
5 Aan de nandere kant werd voor dat segment van de informatie verwerkende gemeenschap welke een meer goedkope computer vroeg, een computersysteem ontwikkeld met de kostenfaktor op de achtergrond, tegengesteld aan de snelheid van instruktie-uitvoering. Als resultaat waren de ontworpen schakelingen en systemen relatief eenvoudig en de verschillende 10 algorithmen werden aangebracht door de programmeur. Bovendien was·;in vergelijking met de grotere en meer potentiële verwerkingssystemen de tijd vereist voor de uitvoering van het programma relatief langzaam, niet alleen omdat het minder dure systeem iedere aparte stap van het programma moest uitvoeren, maar ook omdat het systeem ontworpen was om data of in-15 formatie te behandelen van relatief kleine breedte, teneinde de schakelingen van het systeem goed in stand te houden. Als konsekwentie moesten de ontwerpers van beide typen systemen twee verschillende wiskundige-logische eenheden ontwerpen en fabriceren voor de aparte systemen, met als resultaat het verlies van het economisch voordeel dat gevonden had 20 kunnen worden met massapróduktie van slechts een type ontwerp.
De bovengenoemde ontwerpbeschouwingen zijn ook inherent in multi-verwerkende systemen, welke van voldoende grootte zijn om te vereisen dat de besturing van ingangs- uitgangsoperaties gelijktijdig plaatsvinden met de besturing van berekenings- en andere logische operaties. 25 Dergelijke aparte ingangs- uitgangsbesturingseenheden kunnen gelijken op, en zijn zelfs weleens, digitale computers op zichzelf voor algemene doeleinden, compleet met een wiskundige eenheid en, in veLe situaties, zelfs een plaatselijke opslagcapaciteit. Desondanks was de funktie en, derhalve, het ontwerp van de ingangs- uitgangsbesturingseenheid nog steeds verschil-30 lend van die van het verwerkingsorgaan voor algemene doeleinden, waarmee het was verbonden.
Een ander nadeel in verband staande met mult-ver-werkende systemen van verschillend ontwerp is de programmeringsonverenig-baarheid tussen de verschillende systemen, In dergelijke situaties waarbij 35 programma's worden opgenomen in schakelingen in grotere en meer vermogende systemen, was slechts één instruktie vereist om te worden uitgevoerd voor 8900608 28286/JF/ih -3- » ï een programma. In een kleiner systeem echter was een veelvoud van dergelijke instrukties vereêst om te worden ingebracht om hetzelfde programma uit te voeren. Dit gebrek aan programmaverenigbaarheid was zelfs meer acuut tussen systemen uitgewerkt door verschillende "hardware" bedrijven, aangezien 5 verschillende ontwerpers versehiLlende instruktievormen gebruikten, welke verschilden in lengte en eveneens verschillende veldafmetingen toepasten binnen de instructievorm.
Om dergelijke verschillen in de "machietalen" op te heffen werd een variëteit van diverse programmeringstalen ontwikkeld, waar-10 onder Fortran, Cobol en Algol de meest algemene zijn. Programma's geschreven in dergelijke programmeringstalen van hoog niveau kunnen worden gecodeerd en toegepast in verschillende computersystemen; dergelijke programma's moeten echter eerst worden vertaald in de machinetaal van het bepaalde systeem. Deze vertaling werd uitgevoerd door een uitvoeringspro-15 gramma, soms een compileerprogramma genoemd, en indien een dergelijk uit-voeringsprogramma niet werd verschaft voor een bepaalde programmeringstaal, dan was de computergebruiker verplicht zijn programma te herschrijven in een taal waarvoor zijn systeem een compileerprogramma wel heeft.
Als resultaat zijn verschillende typen van systeem-20 architektuur ontworpen om zowel de schakeling of "hardware" onverenigbaarheid als de programmer!ngs- of "software" onverenigbaarheid zoals boven beschreven te verminderen. Hoewel een graad van vermindering plaats heeft gevonden binnen bepaalde produktlijnen, hebben pogingen tot het verminderen van de onverenigbaarheid tussen de verschillende programmeringstalen in 25 essentie alleen geléid tot de ceeatie van nog meer programmeringstalen.
Bepaalde architectonische technieken welke werden toegepast volgens de bekende stand van de techniek omvatten het ontwerp van modulaire verwerkingseenheden en opslageenheden waarin de mogelijkheden van het systeem kunnen worden vergroot door de toevoeging van addi-30 tionele verwerkingseenheden, terwijl de opslagcapaciteit van het systeem kan worden vergroot door toevoeging van opslageenheden. Andere technieken omvatten het ontwerpen van datawegbreedten voor verschillende organen van een produktlijn, welke veelvouden zijn van een of ander basiseenheidsegment, en ook het aanpassen van de instruktievorm voor de produktlijn om veel-35 vouden te zijn van dat basissegment.
Een bepaald architectonisch concept dat meer flexi- 89 00 6 0 8Qm> * i 28286/JF/ih -4- biliteit toelaat in computerontwerp en ook in computerprogrammering was het concept van mikroprogramma's of mikro-instrukties. Oorspronkelijk werd een mikro-instruktie beschouwd als slechts een stel stuurbits toegepast binnen een makro-instruktievorm. Dergelijke stuurbits werden toe-5 gepast om een collectieve maatregel te verschaffen gedurende de uitvoering van een vermenigvuldiginstruktie of verschuivingsinstruktie en dergelijke. Geleidelijk aan, terwijl het mikroprogrammeringsconcept: vergrootte, specificeerde de makro-instruktie het uit te voeren bepaalde programma, zoals de toevoeging van twee operands. De uitvoering van de makro-in-10 struktie werd dan tot stand gebracht via een opeenvolging van uitvoeringen van mikro-instrukties, waarvan ieder de bepaalde te stellen poort specificeerde op de verschillende volgordetijden. Aangezien een veelvoud van makro-instrukties konden worden aangebracht door een eindig stel mikro-instrukties, was het duidelijk dat deze zelfde mikro-instrukties konden 15 worden opgeslagen in een apart geheugen om te worden geadresseerd in een bepaalde volgorde bij de uitvoering van verschillende makro-instrukties.
Het werd verder onderkend dat verschillende volgorden van mikro-instrukties konden worden opgeborgen in ieder geheugen. Zodoende kon een grote variëteit van volgorden van mikro-instrukties worden gecreëerd om een grote 20 variëteit van programma's uit te voeren en wanneer een gegeven computersysteem was ontworpen om bepaalde programma's uit te voeren, konden alleen de vereiste volgorden van mikro-instructies, welke opgeslagen waren, worden opgeroepen voor het uitvoeren van deze bepaalde programma's.
Het concept van mikro-instrukties of mikroprogram-25 ma's werd toen een van sabinstruktiestellen, welke waren gemaskeerd of verborgen voor de programmeur, zodoende, het schrijven van bepaalde programma's vereenvoudigende door het verminderen van een aantal van aparte specifieke stappen, welke moesten worden ingeroepen door de programmeur. Verder staat het concept van mikroprogrammering toe, dat de computeront-30 werper een minder kostbaar computersysteem ontwerpt, dat een grotere variëteit van programma's verschaft aan de computergebruiker zonder de vereiste dat aparte funkties worden ingebracht in met de hand bedrade schakelingen.
Mikroprogrammering kan dan in het algemeen worden 35 beschouwd als een techniek voor het ontwerpen en outilleren van de stuur-funktie van een digitaal computersysteem als voLgorden van stuursignalen, 89 0 0 6 0 8*S___ ï s -5- 28286/JF/ih welke zijn georganiseerd op een woordbasis en opgeslagen in een geheugen.
Volgens de bekende stand van de techniek was de conventionele stuureenheid ontworpen met toepassing van flip-flops (bijvoorbeeld registers en tellers) en poorten op een relatief onregelmatige ad hoe wijze. In tegenstelling 5 hiermede wordt de stuureenheid van een mikroprogrammeerbaar verwerkingsor-gaan geoutilleerd met gebruikmaking van goed gestruktureerde geheugenelemen-ten, waardoor een middel wordt verkregen voor goed georganiseerde en flexibele besturing. Opgemerkt dient te worden, dat indien een geheugeneenheid veranderbaar is, mikroprogrammering de módifikatie van een systeemarchitec-10 tuur zoals waargenomen in het machinetaèlniveau, mogelijk maakt. Zodoende kan dezetfde "hardware" worden gemaakt om te verschijnen als een variëteit van systeemstrukturen, waardoor optimale verwijzingsmogelijkheden voor ' iedere uit te voeren taak worden verkregen. Deze mogelijkheid om het mikro-programmageheugen te wijzigen wordt dynamische mikroprogrammering genoemd, 15 zoals te vergelijken met statische mikroprogrammering welke alleen-leesge-heugens (read only memories (ROM)) gebruikt.
Met de komst van dynamisch veranderbare besturings-opslagmogeljikheden en andere mikroprogrammeringstechnieken, werden mikro-programmeringseenheden ontworpen met instruktie-uitvoeringsmogelijkheden, 20 welke kunnen worden gewijzigd om verschillende problemen of taakvereisten onder te brengen. Deze mikroprogrammeerbare eenheden overbruggen de kloof tussen grotere schaal en kèeinere afmeting computers ten opzichte van ver-werkingsmogelijkheden in termen van kostprijs, en elimineren feitelijk zowel de schakeling, of hardware, onverenigbaarheden als de programme-25 rings-, of software, onverenigbaarheden boven beschreven. Voor multi-verwerkingstoepassingen worden de ingangs-uitgangsbesturingen die vereist zijn geïncorporeerd als deel van de verwerkingstaak van de mikroprogrammeerbare eenheid.
Een bepaalde programmeerbare eenheid met de funktio-30 nele karakteristieken boven beschreven ie bekend uit de Faber et al octrooiaanvrage, USSN 825.569, ingediend 19 mei 1969, en toegewezen aan de gevolmachtigde van de onderhavige aanvrage. De daarin beschreven programmeerbare eenheid is modulair van struktuur en onder de besturing van veeLvoudige niveaus van subinstruktie repertoires van mikro-instruktie-35 repertoires. Alleen de instruktiedefinities van het laagste subinstruktie-niveau zijn vast door bedradingsschakeling, terwijl de definities van 89 0 0 6 0 8 q -r ï < 28286/J F/ih -6- hoger niveau subinstrukties kunnen worden gewijzigd en verschiLLende rijen van mikro-instrukties kunnen worden uitgewisseld in overeenstemming met de vereisten van ieder programma dat op dat moment wordt uitgevoerd.
Zodoende kan een dergelijke programmeerbare eenheid 5 gedurende de ene tijd worden gebruikt voor besturing van ingangs-uitgangs-informatie-overdrachten, gedurende een andere tijd om een programma uit te voeren geschreven in een bepaald hoog niveau programmeertaal, en gedurende nog een andere tijd om een programma uit te voeren geschreven in weer een andere programmeringstaal. Door de flexibiliteit van dergelijke mikro-10 programmeerbare eenheden kunnen twee of meer eenheden worden aangebracht om de mogelijkheden van het multi-verwerkende systeem te vergroten zonder oog voor consideratie van bepaalde funkties zoals ingangs-uitgangsbestu-ring en dergelijke.
Een bijzondere eigenschap van het systeem zoals -be-15 schreven in de bovengenoemde Faber et al octrooiaanvrage is dat de respek-tieve mikro-instrukties worden vertolkt of gecodeerd door een nog hoger niveau van subinstrukties, zodat de betekenis van bepaalde mikro-instruk-ties kan worden gewijzigd voor verschillende toepassingen. Een betekenisvol en specifiek voordeel dat ontstaat met een systeem van dit type is 20 dat mikro-instrukties kunnen worden uitgevoerd op een overlappende wijze, zodat bepaalde typen mikro-instrukties voorwaardelijk van aard kunnen zijn, waarbij de uitvoering ervan kan worden vertraagd afhankelijk van de beproeving van de respektieve omstandigheden en alternatieve mikro-instruk-ties kunnen worden opgebracht afhankelijk van de uitkomst van dergelijke 25 beproevingen. Het Faber et al systeem maakt dan aftakking binnen het mikroprogramma mogelijk. Zoals in andere mikroprogrammasystemen wordt een makro-instruktie uitgevoerd door de uitvoering van een rij van mikro-instrukties, welke ieder enige informatie-overdracht specificeren van een register naar het andere, een logische operatie of dergelijke.
30 In het bovengenoemde Faber et al toepassings- systeem, wordt iedere mikro-instruktie op zijn beurt geoutilleerd door een repertoire van stuursignalen om de respektieve poorten te stellen zoals vereist voor de overdracht van informatie. Deze stuursignalen worden gekozen uit een stuurgeheugen en kunnen zodoende dynamisch te wijzigen 35 zijn, afhankelijk van het type stuurgeheugen. De mikro-instrukties specificeren dan geheugen en inrichtingoperaties, (ingangs-uitgangsbesturing), 89 0 0 S08Q”®™* -7- f ï 28286/JF/ih
Logische operaties met dataverschuivingen, en kunnen ook Letterlijke informatie bevatten (data, sprongadressen, verschuivingshoeveelheden) vereist voor de uitvoering van andere mikro-instrukties.
Hoewel het systeem beschreven in de bovengenoemde 5 Faber et al octrooiaanvrage een aanzienlijke vooruitgang in de techniek vertegenwoordigt, bestaat er nog steeds een behoefte aan een goedkoop en kompakt mikroprogrammeerbaar verwerkingsorgaan, geëigend om eenvoudige "werkfunkties" uit te voeren, welke kunnen reiken van een calculator, een eenvoudige bestuurder (bijvoorbeeld, remote teller, teletype multi-10 plexor card, to printer, enz.), tot feitelijk ieder klein intelligent eindstation (bijvoorbeeld key to tape/disk, point of sale, enz.). Een inherente strukturele eigenschap van het systeem beschreven in de bovengenoemde Faber et al octrooiaanvrage is dat iedere mikro-instruktie, anders dan een welke een letterlijk type toewijzing specificeert, de logische 15 eenheid bindt, ongeacht of een logische operatie vereist is of niet. Deze eigenschap is primair te danken aan de overlappende aard van de instruk-tie-uitvoering. Zodoende zal een eenvoudige werkfunktie zoals een inrichting of geheugenbestuurder, welke een minimum aan Logische operaties omvat, de logische eenheid van het systeem binden voor de gehele informatie-over-20 drachtoperatie. In termen van efficiëncy en kosten is de programmeerbare eenheid zoals beschreven in de bovengenoemde Faber et al aanvrage weinig geschikt om dit type van eenvoudige werkfunktie uit te voeren.
Het is daarom een primaire doelstelling van de uitvinding om een eenvoudige, kompakte en goedkope mikroprogrammeerbare 25 eenheid te verschaffen voor het uitvoeren van basisfunkties, welke karakteristiek zijn voor de huidige multi-verwerkingssystemen.
De mikroprogrammeerbare eenheid volgens de uitvinding is bijzonder geschikt als een eenvoudige hardware grenslaag, omvattende handbediende grenslagen, zoals een toetsenbord of badge reader 30 to tape, disk, datacom, enz. In bekende ontwerpen hebben deze grenslagen de vorm van stuurorganen met een speciaal doel (bijvoorbeeld kaartlees-bestuurders, magnetische bandaflezers enz.), welke de vereiste aandrijvers, niveau-omvormers en buffers omvatten. Ieder van deze stuurorganen vereist een aparte en komplete ontwerpcyclus voor zijn outillage omvattende logisch 35 ontwerp, packaging, procurement, toepassing en ontstoring, gevolgd door spaar- en onderhoudsprocedures.
89 0 0 6 0 8 Q— ï i -8- 28286/JF/ih
Het is dan nog een doelstelling van de uitvinding om een verbeterd, mikroprogrammeerbaar, besturend inbouwblok voor algemene doeleinden te verschaffen, waarvan de funktie ongedefinieerd is, tenzij toegepast voor een bepaalde funktie.
5 Het besturende inbouwblok wordt uniek gemaakt voor een grenslaag door de funktie te mikroprogrammeren over een minimale hardware grenslaag. Programmeerbare logische stuurorganen voeren rangschikkende operaties uit door (1) het aftasten van ingangen zoals relaiskontakten, begrenzingsschakëlaars, aansluitkleminrichtingen, drukknoppen, elektronen-10 buizen, enz.; (2) het vergelijken van de ingangen met de condities gespecificeerd in het programma; en (3) door het zenden van informatie, het bekrachtigen of ontkrachtigen van de uitgangen in overeenstemming met de geprogrammeerde instrukties.
Daarom is het nog een andere doelstelling van de 15 uitvinding om een verbeterd mikroprogrammeerbaar stuurorgaan te verschaffen, dat de fabrikagekosten aanzienlijk vermindert door een sterk verkorte ontwerpcyclus, door massaproduktie van identieke bouwblokken voor een variëteit van stuurorgaantoepassingen, door gemak van informatievoorziening, door verkleinde reserve-onderdefceninventaris, en door sterk 20 verminderde kosten op het gebied van onderhoud en training.
Een typerende werkfunktie waartoe de mikroprogram-meerbare eenheid volgens de uitvinding is gericht kan worden uitgevoerd door ongeveer 500-1000 logische poorten. Met de huidige halfgeleider-techniek, in het bijzonder metaaloxidehalfgeleider (MOS) techniek, is de 25 ingewikkeldheid van de mikroprogrammeerbare eenheid volgens de uitvinding wel binnen de stand van de techniek van het enkelvoudige plaatje.
Daarom is het nog een andere doelstelling van de uitvinding om een programmeerbaar verwerkingsorgaan te verschaffen, dat ontworpen is om te worden geoutilleerd op een enkelvoudig halfgeleider-30 plaatje.
In het verleden was een belangrijk bezwaar van grote schaal integratie van iedere konventionele schakeling het grote aantal uitwendige verbindingen vereist voor informatie-overdracht en besturing.
35 Het is daarom nog een doelstelling van de uit vinding om een mikroprogrammeerbaar verwerkingsorgaan te verschaffen, δ 9 0 0 6 0 8 28286/JF/ih -9-
f S
dat ontworpen is om met behulp van LSI-darge scale integration) techniek te worden geoutilleerd binnen een multi-pin pakket bevattende een alleen-lees-mikroprogrammageheugen als een enkelvoudig monolithisch plaatje.
Nog een doelstelling van de uitvinding is het ver-5 schaffen van een mikroprogrammeerbare man-machinegrenslaag welke een verbeterde werkomgeving mogelijk maakt en relatief eenvoudige on-line pro-gramma-ontstoring, analyse en diagnose vergemakkelijkt.
Een verdere doelstelling van de uitvinding is het verschaffen van een mikroprogrammeerbare verwerkingseenheid met toepas-10 sing van een uitwendig lees-schrijf mikroprogrammageheugen voor het verkrijgen van een optimaal bitpatroon voor een specifieke werkfunktie voor het opwekken van een ROM-patroon masker, dat gebruikt wordt in verband met het invariënte logische gedeelte van de programmeerbare eenheid om een module te worden, afgestemd op de specifieke werkfunktie.
15 Een bijkomende doelsteLling van de uitvinding is het verschaffen van een verbeterd, van machinetaal onafhankelijk, mikroprogram-meerbaa r i nformat i eve rwerki ngsorgaan.
Een nog verdere doelstelling van de uitvinding is het verschaffen van een modulair multi-verwerkend systeem met toepassing 20 van meerdere mikroprogrammeerbare eenheden, ieder aangepast via een mikro-programma tot een unieke "werkfunktie'1.
Nog een andere doelsteLling van de uitvinding is het verschaffen van een mikroprogrammeerbaar besturingsorgaan dat een inherent gemak van aangrenzing heeft met gastheercomputers, lokaal of op 25 afstand.
Andere verdere doelstellingen van de uitvinding zullen de vakman duidelijk worden na het bestuderen van de volgende beschrijving en aanhangige konklusies.
De onderhavige uitvinding is gericht op een onaf-30 hankelijk woorddeelserieverwerkingsorgaan met toepassing van een softma-chine-architectuur door mikroprogrammerende techniek. Specifieke schakelingen voor het uitvoeren van aparte instrukties van een instruktiereper-toire zijn gehouden op een eenvoudig en minimaal niveau, waardoor komplete outillage van geheugen-, logische, stuur- en adresseerfunkties mogelijk 35 werden met grote-schaal-integratietechniek. Heer in het bijzonder wordt een instruktierepertoire op het mikroprogrammaniveau verschaft voor het 89 0 0 6 0 8 O"-"™·" f i -10- 28286/J F/i h besturen van de specifieke schakelingen van het verwerkingsorgaan bij het uitvoeren van basiscomputeroperaties. De specifieke schakeling vertegenwoordigt essentieel minimaal toegewezen logica of hardware welke wordt toegewezen aan een specifieke taak door stuursignalen afkomstig uit 5 het instruktierepertoire. Logische, stuur- en adresseerfunkties worden uitgevoerd door schakelingen welke alleen poorten, registers, bekrachtigers en verbandhoudende logica bevatten, welke nodig zijn om de basisoperaties, computerinstrukties te outilleren. Het geheel in fnikroprogramma richten van werkfunkties reduceert het aantal vereiste uitwendige verbindingen.
10 De uitvinding zal nader worden uiteengezet in de nu volgende beschrijving van uitvoeringsvoorbeelden volgens de uitvinding aan de hand van de bijgaande figuren.
Fig. 1 toont een vereenvoudigd blokschema dat de informatie en stuursignaalstroming voor de programmeerbare eenheid volgens 15 de uitvinding aangeeft.
Fig. 2 toont een meer gedetailleerd blokschema, dat de informatie en stuursignaalstroming voor het verwerkingsorgaan volgens de uitvinding aangeeft.
Fig. 3 toont de instruktievorm voor een letterlijke 20 toewijzingsinstruktie uitgevoerd door de programmeerbare eenheid volgens de uitvinding.
Fig. 4 toont de instruktievorm voor een konditie-testinstruktie, welke kan worden uitgevoerd door de programmeerbare eenheid volgens de uitvinding.
i 25 Fig. 5 toont een kaart van dè verschillende kom mando's voor het adresseren van het mikroprogrammageheugen van de programmeerbare eenheid volgens de uitvinding.
Fig. 6 toont de instruktievorm voor een instruktie van het logische type, welke kan worden uitgevoerd door de programmeer-30 bare eenheid volgens de uitvinding.
Fig. 7 toont de instruktievorm voor een instruktie van het uitwendige type, welke kan worden uitgevoerd door de programmeerbare eenheid volgens de uitvinding.
Fig. 8 toont een logisch schema van een konditiere-35 gister toegepast in de programmeerbare eenheid volgens de uitvinding.
Fig. 9 toont een logisch schema voor een serie 89 0 0 61)8 0—» t 1 -11- 28286/JF/ih opteller toegepast in de programmeerbare eenheid volgens de uitvinding.
Fig. 10 toont een logisch schema voor een hexadeci-male teller toegepast in de programmeerbare eenheid volgens de uitvinding.
Fig. 11 toont een logisch schema voor een zestien-5 lijn tot acht-lijn multiplexer toegepast in de programmeerbare eenheid volgens de uitvinding.
Fig. 12 toont een logisch schema van een acht-bit-recirculatieverschuivingsregister toegepast in de programmeerbare eenheid volgens de uitvinding.
10 Fig. 13 toont een logisch schema voor eencdata- selector toegepast in de programmeerbare eenheid volgens de uitvinding.
Fig. 14 toont een temperingskaart van de verschillende klokimpulsen toegevoerd aan en opgewekt door de programmeerbare eenheid volgens de uitvinding.
15 Fig. 15 toont een temperingskaart voor verschillende klokbesturingsimpulsen in verband staande met de hexadecimale teller volgens de uitvinding.
Fig. 16 toont een logisch schema voor een vier-lijn tot een-lijn multiplexer toegepast in de programmeerbare eenheid volgens 20 de uitvinding.
Fig. 17 toont een waarheidstabel voor de vier-lijn tot een-lijn multiplexer van fig. 16.
Fig. 18 toont een logisch schema voor een parallel-geladen acht-bit schuifregister toegepast in de programmeerbare eenheid 25 volgens de uitvinding.
Fig. 19 toont een logisch schema voor een binaire tot een-van-vier-lijn decodeerders toegepast in de programmeerbare eenheid volgens de uitvinding.
Fig. 20 toont een waarheidstabel voor de binaire 30 tot een-van-vier-lijn decodeerders van fig. 19.
Fig. 21 toont een waarheidstabel voor het konditie- register.
Fig. 22 toont een logisch schema voor een acht-in-gangs-data-selector-multiplexer toegepast in de programmeerbare eenheid 35 van de uitvinding.
Fig. 23 toont een waarheidstabel voor de data-selec- 89 00 608 0—— -12- i t 28286/JF/ih tor -multiplexer van fig. 22.
Fig, 24 toont een logisch schema voor een binaire tot een-van-drie-lijn decodeerders toegepast in de programmeerbare eenheid volgens de uitvinding.
5 Fig. 25 is een waarheidstabel voor de binaire tot een-van-drie-lijn decodeerders van fig. 23.
Fig. 26 omvat de figuren 26a en 26b, welke tezamen in zij-aan-zij-verband een logisch schema verschaffen voor een synchrone acht-bit-optelIer toegepast in de programmeerbare eenheid volgens de 10 uitvinding.
Fig. 27 toont een temperingskaart van verschillende klokstuurimpulsen opgewekt door de programmeerbare eenheid volgens de uitvinding.
Fig. 28 omvat de figuren 28a en 28b, welke tezamen 15 in zij-aan-zij-verband een logisch schema zijn voor een acht-bit parallel-in parallel-out register toegepast in de programmeerbare eenheid volgens de uitvinding.
Fig. 29 is een logisch schema voor een parallel-in serie-out acht-bit verschuivingsregister toegepast in de programmeerbare 20 eenheid volgens de uitvinding.
Fig. 30 omvat de figuren 30a-30n, welke tezamen in samengesteld verband een logisch blokschema zijn van een voorkeursuitvoeringsvorm volgens de uitvinding.
Fig. 31 toont een logisch schema voor een twaalf-25 bit parallel-in parallel-out instruktieregister toegepast in de programmeerbare eenheid volgens de uitvinding.
De programmeerbare verwerkingseenheid 10 (fig. 1) van de onderhavige uitvinding omvat vijf funktionele delen, namelijk, de logische eenheid 12 (LU) welke de verschuivings- en de wiskundige en 30 logische funkties uitvoert, die vereist zijn, evenals het verschaffen van een stel van "scratch pad" registers; een mikroprogrammageheugen 14 (MPM) dat mikroprogrammavolgordes verschaft, waarvan sommige woorden letterlijkheden hebben en andere specifieke besturingen hebben, gespecificeerd door de mikroprogrammeur; een geheugenbesturingseenheid 16 (MCU), welke 35 de registers voor het mikroprogrammageheugen-adresseren verschaft; een stuureenheid 18 (CU), welke tempering en konditionele besturing, opvolger (volgende instruktie) bepaling en instruktiedecodering verschaft, en een 89 0 0 6 0 8 t * -13- 28286/JF/ih· uitwendige grenslaag 20 (EXI). De programmeerbare eenheid 10, hoewel in serie geoutilleerd, doet zich voor als een parallel verwerkende eenheid voor de meest funktionele operaties. De funktionele eenheden zullen eerst in het algemeen worden beschreven en daarna gedetailleerd.
5 In de voorkeursuitvoeringsvorm omvat de logische eenheid 12 drie-acht-bit hercirculerende verschuivingsregisters 22, 24 en 26, respektievelijk genoemd register Al, A2 en A3, een 8-bit hercirculerings-verschuivingsregister 28, het B-register genoemd, een serie-opteller 30, en verband houdende poorten (zie fig. 2). De A-registers 22, 24, 26 en 28 10 zijn hercirculerende verschuivingsregisters zodat informatie kan worden overgedragen aan de optelIer 30 zonder de inhoud van de respektieve ingangs-A-registers te wijzigen. Deze bijzondere eigenschap is ideaal geschikt voor MOS dynamische logische outillage.
Alle A-registers 22, 24 en 26 zijn funktioneel iden-15 tiek. Zij slaan tijde Lijk informatie op binnen de programmeerbare eenheid 10 en kunnen worden geladen met de afgifte van de optelIer 30 via een selektiepoortnet 36 (fig. 2), dat de ingang bepaalt naar de respektieve A-registers. Een selektiepoortnet 40 maakt het mogelijk dat de inhoud van ieder van A-registers 22, 24 of 26 wordt gebruikt als een ingang, genoemd 20 de X-ingang 70 naar de optelIer 30.
Het B-register 28 is de primaire grenslaag vanuit het hoofdgeheugen van het multi-verwerkende systeem (aangegeven als DATA IN in fig. 1) via uitwendige grenslaag 20i Het B-register 28 dient ook als een tweede, of Y-, ingang 72 naar de optel Ier 30 en verzamelt bepaalde 25 zijeffekten van wiskundige operaties. Het B-register 28 kan worden geladen via een selektiepoortnet 38 met het uitgangssignaal van de opteller 30 via selektiepoort 36; met uitwendig verschafte DATA IN via de uitwendige grenslaag 20, of met de WARE inhoud van B-register zelf. Bovendien worden letterlijke waarden, welke gedecodeerd zijn uit bepaalde mikro-instrukties 30 opgeslagen in het mikroprogrammageheugen 14, direkt gevoed naar het B-register 28 uit een mikro-instruktiedecodeerder 46. De uitgang van het B-register 28 heeft een waar-vals poortnet 42, dat dient om de ware inhoud van het B-register 28 te verschaffen als een Y-ingang 72 naar opteller 30 of em hef-EEN-complement van de inhoud van het B-register 28 te ver-35 schaffen aan de Y-ingang.
De opteller 30 van de logische eenheid 12 is een 8 9 0 0 6 0 8 ϊ ΐ -14- 28286/J F/i h konventionele serie-opteller van bekende aard. Daarom zullen de details van deze operatie hier niet worden ingevoegd,, maar zullen later zorgvuldig worden besproken wanneer de specifieke schakeling wordt beschreven.
De uitgang van opteller 30 kan als een bestemming hebben hetzij een 5 alternatief mikroprogramma telregister (AMPCR) 32, of een uitgangslijn 34 haar de uitwendige registers (aangegeven als DATA OUT in fig. 2), buiten de A-registers 22, 24, 26 en het B-register 28. Het AMPCR-register 32 is ook een herciroulerend verschuivingsregister en kan dienen als een Y-ingang 72 voor opteller 30 via een selektiepoortnet 42.
10 De geheugenstuureenheid (MCU) 16 omvat twee 8-bit registers, dat wil zeggen, een mikroprogrammatelregister (MPCR) 44 en het vervangende mikroprogrammatelregister (AMPCR) 32. Het MPCR-register 44 is een 8-bit teller welke kan worden vermeerderd met een of twee en gebruikt wordt om de volgende instruktie te kiezen uit het mikroprogrammageheugen 14. 15 Het AMPCR-register 32 bevat het sprong- of terugkeeradres voor programma-sprongen en subprogrammaterugkeren binnen de mikroprogramma's. Het adres in het AMPCR-register 32 is geeoonlijk een minder dan de positie waarnaar moet worden teruggekeerd. Dit register 32 kan worden geladen uit hetcMPCR-register 44, de uitgang van opteller 30 via het selektiepoortnet 36, of 20 met letterlijke waarden gedecodeerd uit bepaalde mikro-instrukties opgeslagen in het mikroprogrammageheugen 14.
De programmeerbare verwerkingseenheid 10 van de onderhavige uitvinding vereist een bron van mikroprogramma-instrukties om de operatie van de verwerkingseenheid te bepalen. In de voorkaarsuit-25 voeringsvonm wordt deze bron verschaft door het mikroprogrammageheugen 14. Geheugen 14 kan een alleen-lees-geheugen (read-only-memory, ROM) zijn, dat het programma bevat, dat de funktie van de verwerkingseenheid bepaalt. Alternatief kan het mikroprogrammageheugen 14 een willekeurig toegankelijk geheugen (random-access memory, RAM) zijn. In ieder geval karakteriseert 30 het programma opgeslagen door het geheugen 14 de verwerkingseenheid 10 om specifieke taken op een optimale wijze uit te voeren.
De ontwerp-gedachtengang van de verwerkingseenheid 10 gaat er van uit dat er geen specifiek instruktierepertoire moet worden gebruikt, maar meer een repertoire van registerwegen en stuurvolgorden, 35 dat kan worden gebruikt om funkties optimaal te synthetizeren voor de uit te voeren taak. Een ROM outillage van het mikroprogrammageheugen 14 is 8 9 0 0 6 0 8 0_ t ί 28286/J F/ih -15- is gewenst voor een specifieke toepassing met een relatief groot aantal eenheden, aangezien de kosten van het maskeren van een ROM voor een gegeven bitpatroon op een MOS LSI monolithisch plaatje voor de verschillende toepassingen klein zijn, in het bijzonder wanneer overgeslagen over vele 5 kopieën.
Alternatief kan de verwerkingseenheid 10, gekon-strueerd met toepassing van een Lees-schrijf mikroprogrammageheugen, worden gebruikt voor experimentele doeleinden of wanneer de funktie van de verwerkingseenheid 10 mocht zijn veranderd. In deze lees-schrijfwijze van 10 werking kunnen de programma's welke de verwerkingseenheid 10 zullen karakteriseren voor eencbepaalde toepassing worden ingevoegd, getest en gewijzigd totdat de vereiste niveaus van uitvoering bereikt zijn. Op dat punt zal het gewenste bitpatroon worden toegepast om het geëigende ROM patroommasker op te wekken, dat wordt gebruikt in verband met het inva-15 riante logische gedeelte, dat Later zal worden beschreven, van de verwerkingseenheid 10 om een module of bouwblok te worden afgestemd op de specifieke toepassing.
Op dit moment zal, ter diskussie, alleen een ROM geheugen worden beschouwd. In de voorkeursuitvoeringsvorm is het mikro-20 programmageheugen 14 samengesteld uit 256 woorden, ieder 12 bit in lengte.
Het geheugen 14 bevat slechts executabele instrukties en kan niet worden veranderd onder programmabesturing. Iedere mikro-instruktie, welke het mikroprogramma omvat opgeslagen in het mikropebgrammageheugen 14 is 12 bit Lang en wordt gedecodeerd door een decodeerder 46, welke een deel vs 25 van stuureenheid 18. De 12 bits van iedere instruktie worden gedecodeerd in een van vier typen, namelijk: 1) letterlijk, 2) konditie, 3) logisch en 4) uitwendig. Een meer nauwkeurige diskussie van deze vier instruktie-typen zal later gedetailleerd worden gegeven.
Stuureenheid 18 omvat de mikro-instruktiedeco-30 deerder 46, een opvolgende (of volgende instruktie) bepalende logica 48, een konditieselektielogica 50, en een konditieregister 52. De opvèlging-bepalende logica 48, de konditieselektielogica 50 en het konditieregister 52 wordèn geaktiveerd door het uitgangssignaal van de mikro-instruktie-decodeerder 46. Bovendien voedt de opteller 30 vier konditiebits aan het 35 konditieregister 52, namelijk de minst betekenende ware bit (LST, least significant bit true) konditie 74 (fig. 4), de meest betekenende ware bit 89 00 6 0 8q — ï i -16- 28286/JF/ih (most significant bit true, MST) konditie 76, de opteLLer overvloeibit (adder overflow bit, AOV) 78, en een indikatorbit (ABT) 80, indien alle bits van de optelleruitgaBg waar zijn (1‘s). De opvolger bepalende logica 48 bepaalt of de inhoud van het MPCR-register 44 gebruikt wordt, vermeerderd 5 met een of twee, of het gebruik van de inhoud van het AMPCR-register 32 voor het adresseren van de volgende instruktie opgeslagen in het mikroprogramma-geheugen 14.
Het konditieregister 52, i.a., slaat drie terugstel-bare lokale konditiebits 82, 84 en 86 (LC1 bit 82, LC2 bit 84 en LC3 bit 10 86) op, en kiest een van 8 konditiebits (de vieroptelkonditiebits, MST bit 76, LST bit 74, AOV bit 78 en ABT bit 80;^een uitwendige konditiebit EXT 88, en de drie lokale konditiebits LC1, LC2 en LC3 opgestagen in het konditieregister 52).
Een 8-bit overdrachtweg 56 van decodeerder 46 naar 15 het AMPCR-register 32 bestaat voor de overdracht van 8-bit letterlijke waarden, welke werden gedecodeerd uit de mikro-instrukties opgeslagen in het mikroprogrammageheugen 14. Een overeenkomstige 8-bit overdrachtweg 54 gaat van de decodeerder 46 naar het B-register 28 voor de overdracht van 8-bit letterlijke waarden. Voor bepaalde instrukties wordt een 4-bit uit-20 wendige stuurweg 90 gecodeerd en gezonden naar de uitwendige grenslaag 20. Deze vier bits, welke later weer gedetailleerd zullen worden beschreven, informeren de uitwendige grenslaag 20 hoe informatie te gebruiken, te vinden en te ontvangen via de grenslaag door de uitwendige omgeving te informeren welk type van instruktie de programmeerbare eenheid 10 bezig is uit 25 te voeren op ieder gegeven moment. Stuureenheid 16 verschaft eveneens tempering voor de operatie van de programmeerbare eenheid 10 via tempeergenerator 58.
De uitwendige grenslaag 20 verbindt de programmeerbare eenheid 10 met uitwendige elementen die in verband staan met een 30 multi-verwerkend systeem. Deze verbinding wordt gesynchroniseerd door een inwendig opgewekte kloktreinimpuls, besbhikbaar om te helpen bij het uitvoeren van 8-bit serie-overdrachten in en uit de programmeerbare eenheid 10. Een uitwendige asynchrone ingang EXT (zie fig. 2) naar konditieregister 52 is beschikbaar voor signalering uit de uitwendige omgeving in de vorm 35 van de EXT konditiebit 88, terwijl de vier uitwendige stuurlijnen 90, eerder besproken, worden gebruikt om de toepassing van de uitwendige regis-
89 0 0 6 0 8 rN
f JBBSBKSS3B» -17- i * 28286/JF/ih ters te besturen.
Nadat nu de hoofd—funktioneLe komponenten van de programmeerbare eenheid 10 in het algemeen zijn beschreven, zullen de vier typen van mikro-instrukties met de korresponderende bitpatronen 5 gedetailleerd worden beschreven. Het begrijpen van deze mikro-instructies zal behulpzaam zijn bij de gedetailleerde diskussie van de specifieke schakeling van de programmeerbare eenheid 10.
Zoals eerder besproken zijn in de voorkeursuitvoeringsvorm alle mikro-instrukties opgeslagen in het mikroprogramma 14, 10 12-bit in breedte. Het eerste type mikro-instruktie is de letterlijke toe-wijzingsinstruktie 64 (fig. 3). Bits 1-8 van een letterlijke toewijzings-instruktie 64 omvatten een waarde of konstante, en het ontvangende regisr ter wordt impliciet gespecificeerd door de kommandobits van de instruktie welke bits 9-12 omvatten van de letterlijke toewijzingsinstruktie 64.
15 Letterlijke waarden kunnen alleen worden geladen in het B-register 28
(literal to B instruction 64b) of met AMPCR-register 32 (literal to AMPCR
instruction 64a) via hun respektieve 8-bit overdrachtwegen 54, 56.
Indien bits 11 en 12 van een letterlijke toewij-zingsinstruktie 64 beide nullen zijn, wordt een LITERAL TO AMPCR-instruktie 20 64a uitgevoerd, en de overdrachtbestemming is het AMPCR-register 32 via overdrachtweg 56. Indien bits 9—12 respektievetijk zijn 1011, dan wordt een LITERAL TO B-instruktie 64b uitgevoerd, en de overdrachtbestemming is het B-register 28 via overdrachtweg 54. Een variatie met de LITERAL TO AMPCR-instruktie 64a is een GO T0 LITERAL-instruktie 64c. Deze instruktie 25 wordt uitgevoerd indien bit 11 van de instruktie een EEN is en bit 12 een NUL is. Wanneer deze instruktie wordt uitgevoerd, wordt de letterlijke waarde gespecificeerd door de instruktie geladen in het AMPCR-register 32 via overdrachtweg 56, EN in toevoeging, veroorzaakt te worden geladen uit het AMPCR-register 32 in het MPCR-regis'ter 44 via een overdrachtweg 92.
30 De funktie van een GO TO LITERAL-instruktie 64c is^het laden van sprong-adressen, gespecificeerd door het mikroprogramma opgeslagen in het mikro-programmageheugen 14, in het MPCR-register 44. Voor een LITERAL TO AMPCR-instruktie 64a en een GO T0 LITERAL-instruktie 64c, worden de bits 9 en 10 van deze instruktie niet inwendig gebruikt door de programmeerbare 35 eenheid 10.
Wanneer een LITERAL TO B-instruktie 64b wordt uit-
8-9 0 0 6 0 8 Q
-18- » t.
28286/JF/ih gevoerd, worden de gespecificeerde ingangsfaits gekomplementeerd in het proces van het laden van de letter in het B-register 28. Dit is niet het geval voor een LITERAL TO AMPCR-instruktie 64a; in welk geval de ingangs-bits ongewijzigd worden ingebracht als zij worden ontvangen uit de mikro-5 instruktiedecodeerder 46.
Het tweede type mikroprogramma-instruktie is de konditietestinstruktie 66 (fig. 4). Een konditie-instruktie omvat vijf velden, namelijk het konditieveld 94; het stelveld 100; het ware opvol-gerveld 96; het valse opvolgerveld 98; en het kommandokodeveld. Deze in-10 struktie voert een test uit op een van acht kondities gespecificeerd door het konditieveld 94, dat bits 1-3 omvat van de konditietestinstruktie 66. Indien de test van een konditie gespecificeerd door het konditieveld 94 succesvol of waar is, dan bepaalt de ware opvolger aangewezen door het ware opvolgerveld 96, dat de bits 6 en 7 van de konditietestinstruktie 66 15 omvat, het adres van de volgende instruktie. Indien de konditietest niet succesvol of vals in, dan bepalen de valse opvolgerbits gedefinieerd door het valse opvolgerveld 98, dat de bits 8 en 9 van een konditietestinstruktie 66 omvat, het adres van de volgende instruktie. Indien de konditie, welke gekozen is om te worden getest, waar is, dan wordt naast de 20 ware opvolgerselektie, een stelveld 100, bepaald door bits 4 en 5 van een konditietestinstruktie 66, gechecked om te bepalen of een van de drie plaat-selijke konditiebits LC1, LC2, LC3 gesteld moeten worden. Bits 10-12 bepalen de kommandokode en zijn altijd alle ENEN voor een konditie-instruktie 66.
, 25 Zoals eerder besproken is het konditieregister 52 een stel van acht testbare konditiebits, welke worden gebruikt voor een of een kombinatie van de vólgende doeleinden: voorwaardelijke of onvoorwaardelijke overdracht van besturing, het stellen en/of terugstellen van plaatselijke konditiebits. De acht kondities bestaan uit de vier optel-30 kondities (LST bit 74, MST bit 76, A0V bit 78 en ABT bit 80), de uitwendige attentie niveau bit EXT 88 en de drie lokale konditiebits (LC1 bit 82, LC2 bit 84, LC3 bit 86).
De LST konditie wordt gesteld indien de minst betekenende of eerste bit buiten de optellen 30 een binaire 1 is en 35 teruggesteld indien een 0. De MST konditie wordt gesteld indien de meest betekenende laatste bit of achtste bit een binaire 1 is en teruggesteld 89 00 60 8^ 28286/J F/i h -19- indien een 0. Indien alle bits uit de opteller binaire 1 zijn, wordt de ABT konditie gesteld en anders teraggesteld. De AOT konditie geeft aan dat een overvloeiing heeft plaatsgehad in een opteloperatie.
De Lokale konditiebits 82, 84, 86 (LC1, LC2, LC3) 5 worden teruggesteld bij het testen, en het stelveld 100 wordt toegepast om een lokale konditie te stellen. Opgemerkt wordt dat het nodig is om een ware konditie te testen teneinde in staat te zijn een lokale konditie te stellen. De uitwendige konditiebit EXT 88 wordt volledig bestuurd door de uitwendige grenslaag 20 en is gewoonlijk het resultaat van de OR-ing 10 van de interrupties voor verschillende inrichtingen gepoort door de respektieve inrichtingadressen, of kan als alternatief worden gebruikt voor temperingsdoeleinden. De vier optelkondities CLST, MST, ABT, A0V) geven het resultaat aan van de laatste logische eenheidinstruktie, welke later zal worden besproken. Deze konditiebits 74, 76, 78 en 80 worden 15 niet teruggesteld bij het testen en worden aangehouden tot de uitvoering van een andere instruktie van het logische type.
Een samenvatting van het stellen en terugstellen van de kondities is aangegeven in tabel 1.
t 89 0 0 6 0 8 -20- ' 1 28286/JF/ih _TABEL 1._
Stellen en terugstellen van kondities.
123 Konditie 4 5 Stellen Terugstellen 5 100 LC1 0 0 Stel LC1 terugstellen door testen 101 LC2 0 1 Stel LC2 terugstellen door testen 110 LC3 1 0 Stel LC3 terugstellen door testen 111 EXT 1 1 Een niveau uit uitwen- terugstellen door dige inrichtingen - be- uitwendige aktie.
-IQ stuurd door uitwendige grenslagen (gewoonlijk de OR van onderbrekingen uit verscheidene inrichtingen) ^ 0 10 LST 1 1 Eerste bit uit optel Ier *) (minst betekenende ware bit - bit 1 = 1) 000 MST 1 1 Laatste bit uit opteller *) (meest betekenende ware 2q bit -bit 8=1) 011 ABT 1 1 Alle ware bits uit op- *) teller (bits 1-8 zijn alle een) 001 A0V 1 1 Opteller overvloeiing · *) 25 waar (Dit is werkelijk de draagbit voor de se-rie-opteller; wanneer acht bits van informatie in serie zijn opge- 30 teld, wordt de over- vloeibit vertegenwoordigd.) *) Alleen gewijzigd door logische eenheidinstrukties.
89 0 0 6 0 8 q i * -21- 28286/JF/ih
Een Letterlijke toewijzingsinstruktie 64 welke de lading van het B-register 28 of van het AMPCR-register 32 kan specificeren, kan de waarde van een ingangssignaal naar de opteller 30 veranderen, maar dit zal de waarde van enige van de konditiebits verschaft door de uitgang 5 van de opteller 30 niet veranderen. Bovendien kunnen verscheidene logische eenheidsoperaties gewoonlijk zijeffekten hebben op bepaalde opteloperaties, zoals meer gedetailleerd zal worden uitgelegd in verband met een logische eenheidinstruktie.
De eerste lokale konditie (LCD wordt gebruikt voor 10 tijdelijke opslag van Boolean-kondities binnen de programmeerbare eenheid 10 en zijn status wordt aangegeven door de LC1 bit 82. Deze wordt plaatse-lijk gesteld door de programmeerbare eenheid 10 en plaatselijk teruggesteld door het testen. De tweede niveaukonditie (LC2) evenals de derde lokale konditie (LC3) zijn gelijk in funktie en werking met de eerste 15 lokale konditie (LCD.
Om het testen van de MST konditiebit 76 te specificeren worden de eerste drie bits van een konditietestinstruktie 66 bepaald als nullen (000). Indien slechts de derde bit van de eerste drie bits van een konditietestinstruktie 66 en EEN is (001) dan wordt de A0V 20 konditiebit 78 getest, terwijl indien slechts de tweede bit van de eerste drie bits van een konditietestinstruktie 66 een EEN is (010) wordt de LST konditiebit 74 getest. Indien slechts de eerste bit van de eerste drie bits van een konditietestinstruktie 66 een nul is, (011), dan wordt de ABT konditiebit 80 getest. Indien slechts de eerste bit van de eerste drie i 25 bits van een konditietestinstruktie 66 een EEN is (100), dan wordt de LC1 konditiebit 82 getest, terwijl indien slechts de tweede bit van de eerste drie bits van de konditietestinstruktie 66 een nul is (101), dan wordt de LC2 konditiebit 84 getest. Indien slechts de derde bit van de eerste drie bits van de konditietestinstruktie 66 een nul is (110), dan wordt de LC3 30 konditiebit 86 getest. De uitwendige EXT bit 88 wordt getest indien alle drie eerste bits van de konditietestinstruktie 66 ENEN zijn (111).
Hetzij de ware opvolger bepaald door bits 6 en 7 van een konditietestinstruktie 66, of de valse opvolger bepaald door bits 8 en 9 van de konditietestinstruktie 66, moeten uitdrukkelijk geselekteerd 35 worden om een adres te bepalen van de volgende instruktie, die moet worden uitgevoerd. Voor onvoorwaardelijke opvolgers moet dezelfde opvélger 8900608 0_ ' i -22- 28286/JF/ih worden gekozen in respektievelijk zowel de ware als valse opvolgervelden 96 en 98. De vier keuzen voor iedere opvolger zijn: 1) de STAP opvolger 102 welke stapt naar de volgende instruktie in volgorde zoals bepaald door de inhoud van het MPCR-register 44 vermeerderd met 1; 2) de OVERSPRONG 5 (SKIP) opvolger 104, welke overspringt naar de tweede volgende instruktie in volgorde zoals bepaald door de inhoud van het MPCR-register 44 vermeerderd met 2; 3) de SPAAR (SAVE) opvolger 106, welke het lopend adaes» in het MPCR-register 44 vermeerderd met 1 stapt en spaart in het AMPCR-register 32; en 4) de SPRONG (JUMP) opvolger 108, welke besturing van de 10 bepaling van het adres van de volgende instruktie overdraagt aan het adres opgeslagen in het AMPCR-register 32.
Alle andere typen van mikro-instruktie hebben een impliciete opvolger van STAP zoals boven beschreven.
Om de werking van een opvolgerkommando bij het adres-15 seren van het mikroprogrammageheugen 14 samen te vatten, een STAP opvolger kommando 102 zal als het volgende instruktie-adres de inhoud van het MPCR-register 44 vermeerderd met 1 aanwijzen en dit nieuwe adres zal nu de inhoud zijn van het MPCR-register 44 (fig. 5). Het OVERSPRONG (SKIP) opvolger kommando 104 bepaalt als het volgende adres de inhoud van het 20 MPCR-register 44 vermeerderd met 2 en de nieuwe inhoud van het MPCR-register 44 zal dit nieuwe instruktie-adres zijn. Het SPAAR opvolger kommando 106 zal als het volgende instruktie-adres aanwijzen de inhoud van het MPCR-register 44 vermeerderd met 1, en de nieuwe inhoud van het MPCR-register 44 zal ook het adres van de nieuwe instruktie zijn. Boven-I 25 dien wordt de inhoud van het AMPCR-register 32 veranderd naar het adres van de nieuwe instruktie (MPCR +1). Het SPRONG opvolgerkommando 108 bepaalt als het volgende instruktie-adres de inhoud van het AMPCR-register 32 en veroorzaakt dat de inhoud van het MPCR-register 44 wordt veranderd naar het adres van de nieuwe instruktie. Merk op, dat alleen een SPAAR 30 opvolgerkommando 106 de inhoud van het AMPCR-register 32 verandert.
Het derde type mikro-instruktie, dat wordt gedecodeerd door mikro-instruktiedecodeerder 46, is een logische eenheid instruktie 58, welke de X en Y operand ingangen voor de opteller 30 specificeert, en de wiskundige of logische operatie en de bepalingsspecifikatie 35 voor de opteller 30.
Een logische instruktie omvat vier velden, namelijk,
ft Q Ω Ω fi fl ft Q
ί * -23- 28286/JF/ih het X operand ingangsveld 110, het operatie en Υ-operand ingangsveld 112, het destinatieveld 114 en het kommandokodeveld 116.
Het X-operand ingangsveld 110, dat bit 1 en 2 van een logische eenheidinstruktie 68 omvat, specificeert de X-ingang 70 van 5 de optelIer 30. De X-operand kan hetzij een nul (0) zijn of de uitgang van een van de drie A-registers 22, 24 of 26. De operatie uit te voeren door de opteller 30 en de Y-operand ingang 72 (de ware inhoud van het B-regis-ter 28 of de inhoud van het AMPCR-register 32) naar de opteller 30 zijn gespecificeerd als deel van het operatieveld 112, dat omvat bit 3, 4, 5 10 en 6 van een logische eenheidinstruktie 68. Het operatieveld kan zowel de wiskundige als logische operaties specificeren op het AMPCR-register 32 evenals het B-register 28. De bestemmingen van de uitgang van de opteller 30 worden gespecificeerd door het bestemmingsveld 114, dat de bits 7-10 omvat van een logische eenheidinstruktie 68. De elfde en twaalf-15 de bit van een logische eenheidinstruktie 68 bepalen het kommandoveld 116 voor een logische eenheidinstruktie. De elfde bit van de logische eenheidinstruktie 68 is altijd een nul en de twaalfde bit altijd een EEN.
De vier mogelijke X-ingangen 70 voor opteller 30 gespecificeerd door het X-ingangsveld 110 van de Logische eenheidinstruk-20 tie 68 zijn: 1) een NUL aangegeven door NULLEN in de eerste en tweede bits (00); 2) de inhoud van het Al-register 22 aangegeven door een NUL in de eerste bit en een EEN in de tweede bit (01); 3) de inhoud van het A2-register 24 aangegeven door een EEN in de eerste bit en een NUL in de tweede bit (10); en 4) inhoud van het A3-register 26 aangegeven door een EEN i 25 in zowel de eerste als tweede bit (11). Dit wordt samengevat in tabel 2.
___TABEL 2.__
Achttallige Kode Bit 1 Bit 2 X-ingang naar opteller 30 0 0 0 0 1 0 1 Al 2 10 A2 3 1 1 A3 35 _|____ 89 00 6 0 8 A--, ( i 28286/J F/i h -24-
In de voorkeursuitvoeringsvorm zijn 16 mogelijke typen van operaties welke kunnen worden uitgevoerd door de optel Ier 30 en de logische eenheid 12, waarvan 12 operaties betrekking hebben op de uitgang van het B-register 28 als de Y-operand ingang 72 voor opteller 5 30 (zie fig. 6). De overige vier operaties gebruiken de uitgang van het AMPCR-register 32 als de Y-kiesingang 72 voor opteller 30.
De typen van operatie bepaald door het operatie-veld 112 omvatten zowel wiskundige als logische funkties. De standaardoperaties X+YenX+Y+1 worden uitgevoerd door de logische eenheid 10 12 evenals de standaard logische funkties (dat wil zeggen: AND, NAND, OR en NOR). Ook verschillende niet-standaard logische funkties zijn mogelijk. De volgende diskussie zal gericht zijn op een korte beschrijving van deze funkties, terwijl e'en meer grondig begrip kan worden verkregen bij verwijzing naar de gedetailleerde beschrijving van de specifieke 15 schakelingen.
Een wiskundige operatie welke de sommatie van de X operand ingang 70 voor opteller 30 plus de uitgang naar het B-register 28 plus de kwantiteit 1 specificeert, wordt bepaald door bit 3-6 van eBn logische eenheidinstruktie 68, zijnde alle nullen: (0000). De operatie 20 gespecificeerd door een operatieveld 112 met het bitpatroon 0001 is de sommatie van de X-operand ingang 70 naar opteller 30 plus de uitgang van het B-register 28;rEen operafeievetd:1t2 mêt een bitpatroon van 0010 specificeert de sommatie van de X-operand ingang 70 naar opteller 30 plus de uitgang van het AMPCR-register 32 plus de kwantiteit 1. Een ope-) 25 ratieveld 112 met het bitpatroon 0011 specificeert een vierde wiskundige operatie, zijnde 70 de som van de X-ingang plus de uitgang van het AMPCR-register 32.
Een bitpatroon van 0100 in het operatieveld 112 bepaalt een komparator logische funktie en wordt mnemonikaal uitgedrukt 30 als X EQV B. Deze logische operatie specificeert dat de uitgang van het B-register 28 vergeleken wordt met de X-ingang 70 naar de opteller 30.
De Booleaanse uitdrukking voor de logische operatie is bepaald als (XB v XB).
Een exclusieve 0R logische funktie, waarbij de ge-35 specificeerde X-ingang 70 en de uitgang van het B-register 28 wordt toegepast, wordt gespecificeerd door een operatieveld 112 met bitpatroon 0101.
89 0 0 6 0 8 Λ
Ife-J «.i wW—«Hf
ΐ X
28286/J F/i h -25-
Deze Logische operatie heeft een mnemonische uitdrukking van X XOR B en een Booleaanse uitdrukking van (XËF v TB).
Bij een achttallige kodevolgorde voor het bitpa-troon van het operatieveld 112 wordt een wiskundige operatie welke het 5 verschil in de inhoud van het B-register 28 en de X-ingang 70 naar de opteller 30 specificeert, bepaald door een operatieveld 112 met een achttallige kode van 6 (0110). Deze wiskundige operatie wordt mnemonisch uitgedrukt als-X - B en wordt uitgevoerd door de Booleaanse logische uitdrukking (X + B + 1)v 10 De laatste wiskundige operatie welke kan worden gespecificeerd door het operatieveld 112 van de voorkeursuitvoeringsvorm wordt bepaald door een bitpatroon van 0111 (achttallige kode 7). Dé wiskundige operatie gespecificeerd door dit bitpatroon voor het operatieveld 112 is het verschil tussen de X-ingang 70 naar opteller 30 en de inhoud 15 van het B-register 28 verminderd met de hoeveelheid 1. De mnemonische uitdrukking X - B - 1 voor deze wiskundige operatie wordt uitgevoerd door de Booleaanse logische uitdrukking (X + B).
De resterende acht operaties, namelijk 9-16, welke kunnen worden gespecificeerd door het operatieveld 112 van een logische 20 eenheidkonstruktie 68 zijn alle funkties van het logische type. De eerste bitpositie van het operatieveld 112, dat wil zeggen de derde bit van een logische eenheidinstruktie 68, voor deze acht operaties is altijd een EEN.
Een logische operatie welke mnemonisch wordt uitgedrukt als X NOR B wordt gespecificeerd door een operatieveld 112 met ( 25 een bitpatroon van 1000 voor respektievetijk bits 3-6 van een logische eenheidinstruktie 68. De Booteaanse uitdrukking voor deze logische opera·? tie is (X v B).
De tiende operatie welke kan worden bepaald door het operatieveld 112 van een logische eenheidinstruktie 68 is de logische 30 operatie mnemonisch uitgedrukt als X NAN B. Deze logische operatie wordt gespecificeerd door een operatieveld 112 met een bitpatroon van 1001 (achttallige kode 9). De Booleaanse uitdrukking voor deze logische operatie is (XB).
De elfde en twaalfde operaties worden respektieve-35 tijk gespecificeerd door een operatieveld 112 met bitpatronen van 1010 en 1011. De logische funkties gespecificeerd door deze twee bitpatronen 89 0 0 6 0 8 £)_ 28286/J F/i h -26- zijn identiek met de Logische funkties gespecificeerd voor de negende en tiende operatie zoals boven beschreven, met de uitzondering dat de inhoud van het AMPCR-register 32 gebruikt wordt in plaats van de inhoud van het B-register 28. De mnemonische uitdrukking voor de logische ope-5 ratie gespecificeerd door een bitpatroon van 1010 voor het operatieveld 112 is X NOR Z, waarbij Z de aanduiding voor het AMPCR-register 32 is.
De korresponderende Booleaanse uitdrukking voor deze logische operatie is (X v Z). De mnemonische uitdrukking voor de logische operatie gespecificeerd door een bitpatroon van 1011 voor het operatieveld 112 is 10 X NAN Z, en de korresponderende Booleaanse uitdrukking is (XZ).
Een logische 0R funktie wordt gespecificeerd door een operatieveld 112 met een bitpatroon van 1100 voor bits 3-6 van een logische eenheidinstruktie 68. Dit bitpatroon specificeert dat de X-ingang 70 naar opteller 30 wordt OR'ed met de uitgang van het B-register 15 28. De mnemonische uitdrukking is X OR B, en de korresponderende Boole aanse uitdrukking is (X v B).
De veertiende mogelijke operatie welke kan worden gespecificeerd door een operatieveld 112 is de logische AND funktie en heeft een bitpatroon 1101. De logische funktie gespecificeerd door dit bitpatroon 20 is de AND'ed van de X-ingang 70 naar opteller 30 en de uitgang van het B-register 28. De mnemonische uitdrukking voor deze logische operatie is X AND B, terwijl de Booleaanse uitdrukking is (XB).
De vijftiende mogelijke operatie welke kan worden gespecificeerd door een operatieveld 112 van een logische instruktie 68 is j 25 een variatie van de logische OR-funktie. Een operatieveld 112 met een bitpatroon van 1110 specificeert dat de X-ingang 70 naar opteller 30 wordt OR'ed met het kompliment van de uitgang van het B-register 28.
Deze logische operatie wordt mnenomisch uitgedrukt als X RIM B, en de korresponderende Booleaanse uitdrukking is (X v B).
30 De zestiende en laatste mogelijke operatie welke kan worden gespecificeerd door een operatieveld 112 van de voorkeursuitvoeringsvorm is een variatie van de logische AND operatie. Een bitpatroon van 1111 voor bits 3-6 van een logische eenheidinstruktie 68 specificeert dat de X-ingang 70 naar opteller 30 wordt AND'ed met het 35 omgekeerde van de uitgang van het B-register 28. De mnemonische uitdrukking voor deze logische operatie is X NIM B en de korresponderende Boo- 89 00 6 0 8^,^ '* ~ -27- 28286/JF/ih leaanse uitdrukking is (XB).
Merk uit het bovenstaande op, dat in de derde (X + Z + 1), vierde (X + Z), elfde (X NOR Z) en twaalfde (X NAN Z) logische operaties, de Y-ingang 72 voor de optelIer 30 de uitgang is van 5 het AMPCR-register 32. In alle andere logische operaties is de Y-ingang 72 in de optelIer 30 de uitgang van het B-register 28.
De bestemming van de uitgaeg van optelIer 30 wordt bepaald door het bestemmingsveld 114, dat bits 7-10 van de logische een-heidinstruktie 68 omvat. Zoals eerder besproken kan de uitgang van op-10 teller 30 worden geladen in het B-register 28, het AMPCR-register 32, of de uitgangslijn 34 naar de uitwendige registers. Er zijn zestien mogelijke bestemmingen, welke kunnen worden gedefinieerd door bits 7-10 van de logische eenheidinstruktie 68. Deze bestemmingen omvatten de boven besproken registers en de uitgangslijn, en duiden in sommige situaties een verdere 15 stuurfunktie of uit te voeren operatie aan.
Om het B-register 28 te specificeren als de bestemming van de uitgang van opteller 30 moet het bestemmingsveld 114 in de voorkeursuitvoeringsvorm een bitpatroon hebben van 0000 voor res-pektievelijk bits 7-10 van een logische eenheidinstruktie 68.
20 Het Al-register 22 wordt gespecificeerd als be stemming van de uitgang van opteller 30 indien het bestemmingsveld 114 een bitpatroon heeft van 0001; het A2-register 24 wanneer het bitpatroon 0010 is; en het A3-register 26 wanneer het bitpatroon 0011 is.
Indien het bestemmingsveld 114 van een logische I 25 eenheidinstruktie 68 een bitpatroon heeft van 0100, dan wordt een OUT 0 bestemming gespecificeerd. De OUT bestemming zal later worden beschreven.
Een OUT 1 bestemming wordt gespecificeerd door een bitpatroon van 0101 (achttallige kode 5) voor bits 7-10 van een logische eenheidinstruktie 68 en een OUT 2 bestemming door een bitpatroon 30 van 0110 (achttallige kode 6).
Het AMPCR-register 32 wordt gespecificeerd als de bestemming van de uitgang van opteller 30 door een bestemmingsveld 114 met een bitpatroon van 0111 (achttallige kode 7) voor respektievelijk de bits 7-10 van een logische eenheidinstruktie 68. Deze bestemming wordt 35 ook de OUT 3 bestemming genoemd.
De volgende vier bestemmingen, namelijk 9-12 89 00 60 8 A__ * i 28286/J F/i h -28- (achttallige kode 8-1T), bepaald door het bestemmingsveld 114 van een logische eenheidinstruktie 68 zijn identiek met de boven beschreven eerste vier bestemmingen (B, Al/ A2, A3) met de additionele mnemonische vlag of indikator "BEX" welke betekent een serie-overdracht van de uitwendige data-5 in bron via selektiepoortnet 30 naar het B-register 28 om parallel plaats te hebben met de uitgang van opteller 30 in het andere register gespecificeerd door het bestemmingsveld 114 (dat wil zeggen B, A1, A2, A3).
De resterende vier bestemmingen, namelijk 13-16 (achttallige kode 12-15), gedefinieerd door het bestemmingsveld 114 van 10 een logische eenheidinstruktie 68 zijn ook identiek met de eerste vier bestemmingen zoals boven beschreven (B, A1, A2, A3) met de toevoegings-mnemonische vlag "S" voor SHIFT hetgeen een een-bit rechtse verschuiving aangeeft van het bestemmingsregister eind weg, met de meest betekenende bit gevuld zijnde door de uitgang van de opteller 30.
15 Uit het bovenstaande blijkt dat de uitgang van de opteller 30 kan worden geladen in het B-register 28, de A-registers 22, 24 en 26, en het AMPCR-register 32. Het uitgangssignaal van opteller 30 gaat altijd ongepoort naar de uitwendige grenslaag 20 wanneer een logische type operatie isuitgezocht, maar indien een van de OUT bestemmingen 20 (OUT 0, OUT 1, OUT 2, OUT 3) gekozen wordt als een bestemming, dan wordt een speciale 4-bit kode opgewekt op de uitwendige stuurlijnen 90, om poorten vanuit de opteller 30 naar een specifiek uitwendig register mogelijk te maken. Merk ook op dat indien een van de "BEX" bestemmingen (bestemming 9—12 gespecificeerd door het bestemmingsveld 114 van een lo-25 gische eenheidinstruktie 68) wordt gekozen, een twee-bit BEX kode wordt uitgezonden op de uitwendige stuurlijnen 90, waardoor een 8-bit serie-overdracht uit de uitwendige DATA IN bron naar het B-register 28 plaatsvindt parallel met de uitgang van opteller 30 in het register, gespecificeerd door het bestemmingsveld 114 van de logische eenheidinstruktie 30 68 (dat zijn, A-registers 22, 24 of 26, B-register 28). Indien het bestemmingsregister het B-register 28 is met de traditionele BEX vlag ("B, BEX" - bestemmingsveld 114 met een bitpatroon van 1000), dan wordt een OR van de uitgang van opteller 30 en de uitwendige ingang uitgevoerd. Normaal zal de uitgang van opteller 30 in dit geval worden gesteld 35 om logische nullen over te dragen uit de opteller 30, waarbij een eenvoudige uitwendige lading van het B-register 28 mogelijk wordt.
89 0 0 β08Α I * -29- 28286/JF/ih
Zoals eerder opgemerkt, zullen, indien het AMPCR-register 32 niet wordt gekozen als een bestemmingsregister, de vier operaties (X + Z + 1, X + Z, X NOR Z, X NAN Z), welke het AMPCR-register 32 als de Y-ingang 72 in de opteller 30 gebruiken, "NUL" hebben voor de Y-5 ingang 72. Dit betekent dat de resultaten van die operaties welke het AMPCR-register 32 gebruiken als een Y-ingang 72, alleen terug kunnen worden overgedragen aan het AMPCR-register 32. Door toepassing van deze eigenschap kunnen 0, niet 0, X en niet X worden overgedragen aan ieder bestemmingsregister behalve het AMPCR-register 32.
10 De bestemmingen met de vlag of indikator "S" voor SHIFT (verschuiving) (bestemmingen met achttallige kode vertegenwoordiging van 12-15) maken het mogelijk dat het bestemmingsregister wordt verschoven vanaf het rechte einde met een bit, en de meest betekenende bit wordt geleverd door de uitgang van de opteller 30 werkende op de minst betekenende 15 bit wordt geleverd door de uitgang van de opteller 30 werkende op de minst betekende bit van de X- en Y- gekozen operand. Opgemerkt dient te worden dat de opteloperatie wordt uitgevoerd op alle acht bits van de gekozen in-gangsoperand, en de optelkonditiebits (LST bit 74, MST bit 76, ABT bit 80 en A0V bit 78) dienovereenkomstig worden gesteld.
20 Indien het bijvoorbeeld gewenst is om een rechtse verschuiving (vanaf einde) van een bit van de B-register 28 bestemming uit te voeren, kies dan voor het X-operandveld 110, X = 0, voor de operatie en Y-operand kies veld 112, X + Z, en voor het bestemmingsveld 114, B "S", resulterende in een. logische eenheidinstruktie 68 met een bitpatroon van 25 (00 0011 1100 01).
Of, indien het gewenst is om een rondgaande verschuiving van een bit van de B-register 28 bestemming uit te voeren, kies dan voor het X-operandveld 110, X = 0, voor de operatie en Y-operand 112, X + B, voor het bestemmingsveld 114, B "S"; hetgeen resulteert in een logische 30 eenheidinstruktie 68 met een bitpatroon van (00 0001 1100 01). Het primaire doel van de verschuiving van de bestemming is het verkrijgen van rechtse en rondgaande verschuivingen op de A-registers 22, 24 en 26 en het B-register 28. Alle andere toegestane funkties zijn geldig in de meest betekenende bit van de bestemming.
35 Het is ook interessant op te merken, dat indien het X-operandveld 110 is X = A1, de operatie en het Y-keuzeveld 112 X + B; 8«OO0O8q_.
* l -30- 28286/JF/ih en het bestemmingsveld 114 is A1 "S", de volgende instruktie (01 0001 1101 01) zèl worden uitgevoerd. Bij uitvoering van deze instruktie zat optelling plaatshebben op de bit 8 van zowel het A1-register 22 als het B-register 28 en de resulterende bit wordt geplaatst in bit 1 (de meest 5 betekenende bit) van het Al-register 22. Daarna wordt bit 7 (de minst betekenende bit + 1) van het Al-register 22 toegevoegd aan alle bits van het B-register 28 en de zijeffekten op de optellerkonditiebits (MST bit 76, LST bit 74, AOV bit 78 en ABT bit 80) resulteren overeenkomstig.
Het laatste van belang zijnde zijeffekt van een 10 serie outillage van de optelIer 30 dat zal worden besproken is dat de op-tellerovervloeikonditiebit 78 (AOV) werkelijk de oorspronkelijke en tussen-gelegen draag flip-flop (het AOV konditieregister 294 wordt later beschreven) is voor de serie-op-telLer 30. Als zodanig wordt, wanneer ooit een "+1" operatie wordt ingeroepen, de oorspronkelijke drager gesteld.
15 In feête wordt de oorspeonkelijke drager gesteld steeds wanneer bit 6 van het operatie en Y kiesveld 112 van een logische eenheidinstruktie 68 een nul is. De oorspronkelijke drager flip-flop wordt echter alleen vrijgegeven voor tussentijdse dragers op wiskundige funkties. Op de mnemonische X of B operatie (bepaald door bits 3-6 van een logische eenheidinstruktie 20 68 als 1100), bijvoorbeeld, wordt bit 6 nul, daarom wordt de AOV konditie-bit 78 gesteld en blijft gesteld totdat een volgende logische eenheid operatie dit wijzigt.
Het laatste type instruktie dat het instruktiere-pertoire voor de programmeerbare eenheid 10 omvat, is de uitwendige in-i 25 struktie 118, zie fig. 7. De uitwendige instruktie 118, ook een inrich-tingsinstruktie (device instruction DEV) genoemd, omvat twee velden, namelijk het LITERAL TO DEV veld 120, en de kommandokode voor een uitwendige instruktie 118. Het LITERAL TO DEV veld omvat de eerste 8 bits van de instruktie, welke het LITERAL TO DEV veld 120 omvat, wordt in serie uitge-30 zonden op de DATA OUT lijn 34 (bit 8 eerst). Een uitwendige instruktie 118 wordt ten opzichte van uitwendige en inwendige inrichtingen alleen toegepast tot de mate dat een programmeur en een ontwerper van ingangs-uit-gangsgrenslagen naar deze uitwendige inrichtingen dit juist achten.
Het koderen van de funktie gespecificeerd door de 35 letter tot de inrichting uitwendig tot de programmeerbare eenheid 10, en het ontwerp van de hardware van deze inrichting, moeten parallel worden 89 0 0 6 0 8 JU.___ ! ’ 28286/J F/i h -31- bewerkstelligd teneinde de hardware uitgaven te miniseren en de program-na-efficiëncy te vergroten.
Indien het koderen van de funktie en het ontwerp van de uitwendige grenslaag 20 niet parallel worden uitgevoerd, dan zouden 5 de resultaten waarschijnlijk of een zeer kostbare grenslaag of een buitengewoon inefficiënt programma zijn, of beide.
In de voorkeursuitvoeringsvorm wordt, in het kort gezegd ten aanzien van tempering en stuursignalen voor de programmeerbare eenheid 10, voorzien door een klok welke uitwendig is ten opzichte 10 van de programmeerbare eenheid 10 zelf. Gedurende de uitvoering van iedere instruktie opgeslagen in het mikroprogrammageheugen 14 worden acht klok-impulsen geteld, op welk moment de stuureenheid 18 een laatste impuls (Last pulse, LP) signaal 122 opwekt, en dan wacht op een geheugencyclus kompleet impuls (memory cycle complete, MCC) signaal 126 alvorens de 15 volgende instruktie (zie fig. 14) aan te vangen. De geheugencyclus kompleet impuls 126 is altijd nodig om de uitvoering van een mikro-instruktie in te leiden. De wachttijd tussen instruktie-diiitvoering is voor geheugen-rondgang en instruktiedecodering. Merk echter op dat een MCC impuls 126 ieder moment kan woren ingeleid nadat acht klokimpulsea zijn verlopen 20 na een voorafgaande MCC impuls 126, en nadat voldoende tijd is verlopen voor geheugenrondgang en instruktiedecodering.
De programmeerbare eenbfeid 10 verwekt ook een trein van KLOK UIT (CLOCK OUT, CO) impulsen 124, dat een acht-tel-kloksignaal is, gesynchroniseerd met de klokimpulsen ontvangen uit de uitwendige klok.
I 25 Geen KLOK UIT impulsen 124 worden opgewekt door de programmeerbare eenheid 10 gedurende de periode dat een laatste impuls (LP) signaal 122 wordt opgewekt. De KLOK UIT impulsen 125 en laatste impuls 122 worden verschaft door de stuureenheid 18.
Een stuursignaal is ook noodzakelijk om het MPCR-30 register 44 schoon te maken tot nul adressen. Een uitwendig verschaft CLEAR (CLR) signaal 128 wordt gebruikt om het MPCR-register 44 schoon te maken tot nul adressen. Ten aanzien van informatiewegen in en uit de programmeerbare eenheid 10, wordt informatie gevoed naar het B-register 28 gedurende een BEX-type Logische eenheidinstruktie 68 in serie door' 35 middel van de DATA OUT lijn 34. Deze lijn 34 draagt het uitgangssignaal van de opteller 30 gedurende alle instrukties 68 van het logische type, 8900608q_* *· l -32- 28286/JF/ih en een Letterlijkheid gedurende alle instrukties 118 van het uitwendige type, anderszins is het signaal onbepaald en konstant.
Nu volgt een gedetailleerde beschrijving van de specifieke schakelingen.
5 Positieve klokimpulsen verschaft door een uitwen dig kloksysteem worden via een klok (CLOCK IN, Ci) klem 130 van de programmeerbare eenheid 10 toegevoerd aan een NAND poort 132 roet twee ingangen, zie fig. 30b. De uitgang van NAND poort 132 is verbonden met een tel op klem 146 van een hexadecimale teller 134 welke een 4-bit binaire teller is met 10 vier ingangsklemmen 148, 150, 152 en 154. Eveneens verbonden met de uitgang van NAND poort 132 is een omkeerder 136, waarvan de uitgang wordt toegevoerd aan een klok uit (CLOCK OUT, CO) klem 138 van de programmeerbare eenheid 10. Geheugencyclus kompleet (Memory Cycle Complete, MCC) impulsen 126, welke ook wórden geleverd door de uitwendige klok, zoals aangegeven 15 in fig. 2, worden toegevoerd aan een ingangsklem 140 van de programmeerbare eenheid 10. De ingangsklem 140 is verbonden met een 2-ingang NAND poort 142, waarvan de uitgang verbonden is met een schoonmaakklem 144 van de hexadecimale teller 134.
In de voorkeursuitvoeringsvorm wordt het meest 20 betekenende cijfer van de uitgang van de hexadecimale teller 134 verschaft door klem 148, terwijl het minst betekenende cijfer wordt verschaft door klem 154. Het opvolgende meest betekenende cijfer wordt verschaft door klem 150 en het volgende minst betekenende cijfer wordt verschaft door klem 152. Uitgangsklem 148 van hexadecimale teller 134 wordt toegepast I 25 als de tweede ingang naar de NAND poort 142 en wordt ook via een omkeerder 56 toegevoerd aan de tweede ingang van NAND poort 142 en wordt ook via een omkeerder 56 toegeooerd aan de tweede ingang van NAND poort 132. Door deze opstelling moet, voordat een impuls kan worden toegevoerd aan de schoonmaakklem 144 van hexadecimale teller 134, uitgangsklem 148, welke 30 het meest betekenende cijfer van teller 134 vertegenwoordigt, een hoge zijn. Zodoende moet, voordat een geheugencyclus kompleet impuls (MCC) 126 hexadecimale teller 134 kan schoonmaken, teller 134 tenminste acht klokimpulsen geteld hebben. Bovendien worden door deze opstelling, wanneer teller 134 acht klokimpulsen geteld heeft, verdere klok in (Cl) 35 impulsen geblokkeerd door NAND poort 132 totdat een geheugencyclus kompleet impuls (MCC) 126 weer wordt toegepast. Verder worden klok uit 8900608 ξ -33- 28286/JF/ih CCLOCK OUT, CO) impulsen, welke een spiegelbeeld zijn van klok in (CLOCK IN, Cl) impulsen, geblokkeerd door werking van NAND poort 132 wanneer teller 134 acht klokimputsen geteld heeft.
Een logisch schema voor teller 134 is aangegeven 5 in fig. 10, en een temperingsdiagram van de verschillende klok- en stuur-impulsen verbonden met teller 134 is aangegeven in fig. 15. Merk op dat teller 134 ontworpen is om alleen te worden getrokken bij de stijgende rand van een tel-op impuls (omgedraaide CLOCK IN impulsen) en schoongemaakt bij de stijgende rand van een geheugencyclus kompleet impuls 126.
10 Ter latere diskussie wordt vermeld dat tijd tg bepaald wordt als het punt in de tijd dat samenvalt met de voorkant van een geheugencyclus kompleet impuls 126, terwijl tijd t (n 1) bepaald wordt als een punt in de tijd dat samenvalt met de dalende rand van de positieve gaande CLOCK IN impulsen verschaft door de uitwendige klok.
15 Toepassing van de stijgende rand van een geheugen cyclus kompleet impuls (Memory Cycle Complete, MCC) 126 op het tijdstip tg maakt de hexadecimale teller 134 schoon, waarbij NAND poort 142 wordt geblokkeerd door het veroorzaken van een te laag om te verschijnen op de meest belangrijke cijferklem 148 van de hexadecimale teller 134. Een 20 verlaging op klem 148 staat ook CLOCK IN impulsen toe om te passeren door NAND poort 132 naar de tel-opklem 146 van hexadecimale teller 134 en naar de CLOCK OUT klem (CO) 138 van de programmeerbare eenheid 10 via de omfeeerder 136. Teller 134 begint te tellen op het tijdstip t^, en na bellen tot 8, (tijd tg), wordt een hoge veroorzaakt om te ver-25 schijnen op klem 148, waarbij NAND poort 132 wordt verboden CLOCK IN (Cl) impulsen door te laten naar de programmeerbare eenheid 10.
Eveneens verbonden met de uitgang van de omkeerder 156 is een laatste impuls (LAST PULSE, LP) uitgangsklem 158 van de programmeerbare eenheid 10. Door deze inrichting zal een laatste impuls 122 30 alteen verschijnen aan de LP uitgangsklem 158 bij een telling van acht die wordt bereikt door de teller 134 op het tijdstip tg, zie fig. 15. Het is ook evident dat CLOCK OUT (CO) impulsen zullen verschijnen aan de uitgangsklem T38 van de programmeerbare eenheid 10 totdat de laatste impuls 122 wordt ingeleid door de hexadecimale teller 134. Op het tijdstip tg 35 verbiedt een hoog aan uitgangsklem 148 van de teller 134 verder CLOCK OUT impulsen tot de toepassing van een nieuwe MCC impuls 126. Merk op dat de 89 0 0 6 0 8 Λ .
28286/JF/i.h 1 t -34- toepassing van de stijgende rand van een MCC impuls 126 gelijktijdig de uitgang van teller 134 schoonmaakt en de laatste impuls beëindigt.
Voor het moment een statisch geheugen beschouwende, wordt een 256 woord-12-bit, alleen-lees-geheugen (READ ONLY MEMORY, ROM) 5 160 verschaft om alleen uitvoerbare instrukties op te slaan voor de pro grammeerbare eenheid 10. In de voorkeursuitvoeringsvorm zijn acht stuurlijnen 161 nodig om geheugen 160 te adresseren en de 12 bits van iedere instruktie welke is opgeslagen door geheugen 160 worden verkregen door 12 uitgangsklemmen.
10 Een instruktieregister 500, fig. 31, dat later gedetailleerd besproken zal worden, is aangebracht om te verzekeren dat iedere instruktie opgeslagen in het alleen-lees-geheugen 160 kompleet wordt uitgevoerd voordat een andere instruktie wordt geadresseerd en te voorschijn gebracht voor uitvoering. In het kort gezegd is het instruktie-15 register 500 een 12-bit opslagregister dat de 12-binaire signalen van een geadresseerde instruktie ontvangt uit het alleen-lees-geheugen en deze signalen opslaat totdat een laatste impuls 122 wordt opgewekt. Twaalf data/stuurLijnen 162, 164, 166, 170, 172, 174, 176, 180, 182, 184, 186 zijn respektievelijk verbonden met de uitgang van het instruktieregister 20 500 voor het verschaffen van data/stuursignalen aan het stuur- en logische gedeelte van de programmeerbare eenheid 10. Het MPCR-register 44 heeft acht uitgangsklemmen voor het toevoeren van het adres aan de adresstuurlijnen 161 van het alleen-lees-geheugen 160 en acht data-ingangsklemmen voor het ontvangen van adresinformatie uit het AMPCR-register 32. Bovendien ) 25 heeft het MPCR-register 44 een schoonmaakklem 188, een optelklem 190, en een laadklem 191. Deze klemmen, evenals het MPCR-register 44, zullen later meer in detail besproken worden.
Het AMPCR-register 32 heeft acht uitgangsklemmen voor het toevoeren van sprongadressen aan het MPCR-register 44 en acht in-30 gangsklemmen voor het ontvangen van informatie uit een selektie-orgaan 192.
Selektie-orgaan 192 heeft zestien informatie-in-gangsklemmen en een stuuringangsklem 194 (fig. 11). Acht van de informa-tie-ingangsklemmen van selektie-orgaan 192 zijn verbonden met de eerste 35 acht informatie-stuurlijnen (dat zijn 162-176) terwijl de resterende acht ingangsklemmen voor sei-ektie-orgaan 192 verbonden zijn met de acht uitgangsklemmen 161 van de MPCR 44.
89 0 0 6 0 8 q * ' -35- 28286/JF/ih *
Afhankelijk van het stuursignaal toegevoerd aan de stuurklem 194 van selektie-orgaan 192, laadt dit selektieeorgaan 192 hetzij het AMPCR-register 32 met een letterlijke waarde (de eerste acht bits van een instruktie 64 van het letterlijke type) gedecodeerd uit mikro-instrukties 5 opgeslagen in het alleen-lees-geheugen 160, of met het adres op dat moment opgeslagen in het MPCR-register 44. Daardoor kan het selektie-orgaan 192 kiezen tassen het laden van het AMPCR-register 32 met sprongadressen gedecodeerd uit letterlijke instrukties opgeslagen in het alleen-lees-geheugen 160, of een SAVE opvolgerkommando veroorzaken, dat moet woren uitgevoerd 10 door het laden van de aanwezige adressen opgeslagen in het MPCR-register 44 in het AMPCR-register 32.
Zoals eerder besproken worden de 12 bits van ieder van de mogelijke 256 instrukties opgeslagen in het alleen-lees-geheugen 160 van de voorkeursuitvoeringsvorm gedecodeerd in vier typen van in-15 strukties: letterlijk, voorwaardelijk, logisch en uitwendig (DEV). Acht van de 12 bits kunnen direkt worden overgedragen in^het AMPCR-register 32 selektie-orgaan 192 of in het B-register 128.
Om een logische eenheidinstruktie 68 te decoderen wordt een 2-ingangs NAND poort 196 toegepast voor het onderkennen van de 20 kommandokode 116 van een logische instruktie, zie fig. 30a. Een ingang naar de NAND poort 196 ontvangt altijd bit 12 (data/stuurlijn 186) van iedere instruktie opgeslagen in het alleen-lees-geheugen 160, terwijl de tweede ingang altijd het komplement ontvangt van de binaire representatie van bit 11 (data/stuurlijn 184) van iedere instruktie opgeslagen in het i 25 alleen-lees-geheugen 160. Het komplement van bit 11 wordt verschaft door de uitgang van een omkeerder 198 waarvan de ingang verbonden is met de bit 11 data/stuurlijn 184. Aangezien de kommandokode 116 voor een logische eenheid instruktie altijd 01 is, is het uitgangssignaal van NAND poort 196 altijd laag wanneer een logische instruktie 68 wordt uitge-30 voerd door de mikroprogrammeerbare eenheid 10.
De uitgang van NAND poort 196 wordt toegevoerd als een van de twee ingangen aan een NOR poort 198. De tweede ingang naar NOR poort 198 wordt verschaft door de uitgang van NAND poort 142, welke geheugen cyclus kompleet (MEMORY CYCLE COMPLETE, MCC) impulsen 126 poort om de 35 hexadecimale teller 134 schoon te maken.
Aangezien het uitgangssignaal van NAND poort 142 89 0 0 6 08q 28286/J F/i h -36- 1 é aLLeen laag’is gedurende de tijdsperiode dat een MCC impuls 126 wordt verschaft door de uitwendige klok (daarbij vanzelfsprekend aannemende dat de hexadecimale teller 134 tenminste acht klokimpulsen heeft geteèd na een voorgaande MCC impuls 126), zal het uitgangssignaal van NOR poort 198 5 laag zijn voor alle logische instrukties 68,o behalve gedurende de tijdsperiode van een MCC impuls 126.
Klokimpulsen welke vereist zijn voor de uitvoering van logische instruktie 68 worden verschaft door de uitgang van een 2-ingangs NAND poort 204. De twee ingangen naar de NAND poort 204 zijn 10 respektievelijk de omgedraaide uitgang van NAND poort 196, welke hoog is voor alle klokken gedurende de uitvoering van alle logische instrukties 68, en de uitgang van omkeerder 136, welke CLOCK OUT (CO) impulsen vertegenwoordigt. De uitgang van NAND poort 196 wordt omgedraaid door een omkeerder 206. Zoals evident is uit deze opstelling is het uitgangssignaal 15 van NAND poort 204 hoog voor alle klokken behalve gedurende de uitvoering van een logische instruktie 68 door de programmeerbare eenheid 10. Gedurende de uitvoering van een logische instruktie 68 gelijkt het uitgangssignaal van NAND poort 204 op het uitgangssignaal van NAND poort 132. Echter, zelfs gedurende de uitvoering van een logische instruktie 68 moet het 20 uitgangssignaal van NAND poort 204 overschakelen op hoog gedurende het opwekken van een laatste impuls (LP, LAST PULSE) 122 door de hexadecimale teller 134. Dit is waar aangezien het omgekeerde uitgangssignaal van het meest betekenende cijfer van teller 134 (het uitgangssignaal van ktèm 148) wordt toegepast als een ingangssignaal naar NAND poort 132, welke klok 25 in (CLOCK IN, Cl) impulsen poort voor de verwerkingseenheid 10.
De uitgang van NAND poort 204 wordt toegepast als een klokingang naar ieder van de drie A-registers 22, 24, 26; (zie fig.
30f) als een van de klokingangen naar het B-register 28; (zie fig. 30g) als een ingangssignaal naar de klokingang van een MST konditieregister 30 202; en als een van de ingangen van een twee-ingangs NOR/poort 214. De werking van het MST konditieregister 202 zal worden beschreven-in verband met de schakeling die verband houdt met een konditietestinstruktie 66, terwijl een diskussie van de funktie van NOR poort 214 zal worden beschreven in verband met de schakeling die verband houdt met een kon-35 ditietestinstruktie 66, terwijl een diskussie van de funktie van NOR
poort 214 zal worden uitgesteld totdat het AMPCR-register 32 is beschreven.
69 0 Q6Q8A
k jt! wiwiif -MBS
¥ 1 282S6/J F/i h -37-
Zoals kort besproken is ieder van de A-registers 22, 24, 26 een acht-bit serie schuifregister, zie fig. 30f. Ieder register is voorzien van een twee-ingang multiplex schakeling en kom-plementaire serie-uitgangen Q en GT, zoals aangegeven in fig. 12. Boven-5 dien is ieder A-register voorzien van een informatieselektie-ingangs-klem voor het ontvangen van stuursignalen om te kiezen welke van de twee ingangen naar de A-registers zal worden geaktiveerd. In de voorkeursuitvoeringsvorm wordt de Q uitgang van ieder van de drie A-registers 22, 24, 26 teruggekoppeld als een van de mogelijke twee ingangen naar ieder 10 A-register. De gF uitgangen van ieder van de A-registers 22, 24, 26 worden toegepast als de drie ingangen naar een informatieselektie-v orgaan 208.
Het informatieselektie-orgaan 208 (zie fig. 16), dat een konventionele 2-bit multiplexer is, omvat omkeerders en aandrijvers 15 om binaire decodeerinformatieselektie te verschaffen, waardoor multiplexer uit vier lijnen naar een lijn mogelijk wordt. De funktie van het informatieselektie-orgaan 208 is een of geen van de Q uitgangen van de drie A-registers 22, 24, 26 te kiezen als de X-ingang 70 naar de opteller 30. Informatieselektie-orgaan 208 wordt bestuurd door twee stuurlijnen 210, 20 212, welke respektievelijk verbonden zijn met de informatie-stuurlijnen 162, 164. Deze laatste informatie-stuurlijnen voeren signalen welke res-pektievelijk de binaire representaties zijn van'bits 1 en 2 van iedere mikro-instruktie opgeslagen in het ROM geheugen 160. De ware tabel voor informatieselektie-orgaan 208 is aangegeven in fig. 17. i 25 Zoals eerder besproken kan de Y operand ingang 72 naar opteller 30 worden voorzien uit de uitgang van verschillende bronnen.
Door geëigend poorten kan de inhoud van het B-register 28 en het AMPCR-register 32 dienen als de Y-ingang 72 naar de opteller 30.
In de voorkeursêitvoeringsvorm is het B-register 30 28 een 8-bit parallel-tot-serie informatie-omvormer, welke de informatie naar rechts schuift wanneer geklokt wordt, zie fig. 18. Parallel-in toegang tot iedere trap wordt mogetijk gemaakt door acht aparte direkte informatie-! ngangen welke worden vrijgemaakt door een laag niveau op een schuif-laad-stuuringangsklem van het B-register 28. Het B-register 28 35 beschikt ook over gepoorte klokingangen en komplementaire uitgangen, Q, θ’ uit de uitgang van de achtste trap. Het klokken wordt bewerkstelligd 89 0 0 60 8 0 1 i -38- 28286/JF/ih door een twee—ingangs positieve NOR poort 216, welke het mogelijk maakt dat een klokingang 218 wordt gebruikt met een klokblokkeerfunktie. Het hoog houden van de twee klokingangen verbiedt het klokken, en het laag houden van de klokingang met de schuif-laad-stuuringang hoog maakt de andere 5 klokingang vrij. De klokblokkeeringnang 218 moet alleen naar het hoge niveau worden gewijzigd terwijl de klok hoog is. Parallel laden is verboden zolang de schuif-laad-stuuringang hoog is. Wanneer laag genomen, wordt informatie aan de acht parallelle ingangen direkt geladen in het register onafhankelijk van de toestand van de klok.
10 Analyse van de zestien mogelijke typen van wiskundige en logische funkties welke kunnen worden bepaald door een logische eenheid-^ instruktie 68, zal aantonen dat sommige wiskundige operaties de ware inhoud van het B-register 28 vereisen als tegengesteld zijnde met het komplement met de inhoud van het B-register 28. Om te kiezen tussen de ware uitgang 15 (Q) van het B-register 28 of zijn komplement (Q) wordt een AND-NOR kombi- natie gebruikt, (zien fig. 34). Deze AND-NOR kombinatie, welke is aangegeven in fig. 2, als selektiepoortnet 42, omvat drie AND poorten 220, 222, 224 en een NOR poort 226. AND poorten 222, 224 hebben drie ingangen terwijl AND poort 220 slechts twee ingangen heeft. .
20 De uitgang van ieder van de AND poorten wordt toege past als de ingangen naar de NOR poort 226. AND poort 220 poort het komplement van de uitgang van het B-register 28 met het signaal dat verschijnt op informatie/stuurlijn 170 (bit 5 van iedere instruktie opgeslagen in ROM geheugen 160). Het komplement aan het signaal dat verschijnt op informatie/ ) 25 stuurlijk 170 wordt bereikt door de toepassing van een omkeerder 228. Zo doende is de uitgang van AND poort 220 alleen hoog voor die wiskundige of logische operaties, waarin bit 5 van een logische eenheidinstruktie 68 een binaire nul is. De AND poort 222 poort de ware of Q uitgang van het B-register 28 met de signalen gevoerd door informatie/stuurlijnen 168 (bit 30 4) en 170 (bit 5). Door deze opstelling is de uitgang van de AND poort 222 alleen hoog voor die wiskundige of logische funkties, waarin zowel bit 4 als bit 5 van de logische eenheidinstruktie een binaire een zijn.
De funktie van de AND poort 224 is het selekteren van de serie-uitgang van het AMPCR-register 32 als de Y operand ingang 72 35 in de opteller 30.
Zoals eerder opgemerkt zullen de vier wiskundige/ 89 0 0 6 0 8 «. _ f jtrnmmrrsam
·» V
28286/J F/i h -39- logische operaties, welke het AMPCR-register 32 gebruiken als de Y-ingang 72 in de optelIer 30, "0" hebben voor de Y-ingang 72, indien het AMPCR-register 32 niet is gekozen als het bestemmingsregister. In de voorkeursuitvoeringsvorm kunnen deze operaties gebruik makende van het AMPCR 32 als 5 de Y operand ingang 72 naar opteller 30 alleen worden teruggevoerd naar het AMPCR-register 32. Analyse van een logische eenheidinstruktie 68 zal aantonen, dat het enige bestemmingsveld 114, dat het AMPCR-register 32 specificeert als de bestemming van de uitgang van de opteller 30, een bit-patroon van 0111 (achttallig 7) heeft voor respektievelijk bit 7-10. Zo-10 doende wordt voor het detecteren van het AMPCR-register 32 als een bestemming van de uitgang van de opteller 30 een vier-ingangs NAND poort 232 gebruikt. 0e vier ingangen naar NAND poort 232 zijn respektievelijk: de signalen gedragen door de informatie/stuurlijnen 176 Cbit 8), 180 (bit 9), 182 (bit 10) en het komplement van het signaal gedragen door informatie/ 15 stuurlijn 174 (bit 7). Het komplement van het signaal gedragen door infor-matie/stuurlijn 174 wordt verschaft door een ommkeerder 234. Met deze respektieve ingangen zal NAND poort 232 alleen laag zijn wanneer het AMPCR register 32 wordt gespecificeerd als een bestemming van de resultaten van de uitgang van opteller 30.
20 Om te verzekeren dat de operand Y ingang 72 geheel uit nullen zal bestaan wanneer het AMPCR register 32 gekozen wordt als de Y operand ingang 72 in de opteller 30 maar niet als het bestemmingsregister voor de uitgang van de resultaten van de opteLler 30, wordt een twee-ingangs NOR poort 230 gebruikt in kombinatie met AND poort 224. Een ingang > 25 naar een NOR poort 230 is uit de uitgang van de NAND poort 232, welke het AMPCR register decodeert, als de bestemming van de uitgang van de opteller 30, terwijl de andere ingang naar de NOR poort 230 samen met de serie-uitgang van het AMPCR-register 32 en het signaal op informatie/ stuurlijn 170 zijn de drie respektievelijke ingangen naar de AND poort 224.
30 Zoals duidelijk is uit deze opstelling zal de uitgang van NOR poort 230 positief zijn wanneer het AMPCR register 32 wordt gekozen als het bestemmingsregister voor de uitgang van opteller 30 en als de Y operand ingang 72 voor een wiskundige of logische operatie, zie fig. 34.
Opteller 30 is een digitale opteller ontworpen voor 35 serie en snelle overdracht parallelle overdrachtoperatie, zie fig. 9. De drie ingangen in de opteller 30 zijn de X operand ingang 70, de Y operand 89 00 60 8q ____ * ί -40- 28286/JF/ih ingang 72 en een overdrachtingang 234. De standaarduitgangen van opteller 30 zijn de somuitgang 236 en de uit-overdrachtklem 238.
Om te decoderen of de uitgang van de som uitgangsklem 236 of de ingang van de uit-overdrachtklem 238 of zijn komplement de uit-5 gang moet zijn van de opteller 30, wordt een AND-NOR poortkombinatie toegepast. Een twee-ingangs AND poort 240 wordt toegepast om de uitgang van de somuitgangsklem 236 van de opteller 30 te poorten. Een ingang van de AND poort 240 is het komplement van het signaal dat verschijnt op de informatie/stuurli jn 166 (bit 3), terwijl de andere ingang naar AND poort 10 240 de uitgang is van de somuitgangsklem 236 van de opteller 30. Het komplement van het signaal dat verschijnt op informatie/stuurlijn 166 wordt verschaft door een omkeerder 252.
Een drie-ingangs AND poort 242 wordt toegepast om het komplement van de uitgang van de uit-overdrachtklem 238 van de opteller 15 30 te poorten. Twee van de ingangen naar AND poort 242 zijn respektievelijk het signaal dat verschijnt op de informatie/stuur lijn 166 (bit 4). De derde ingang naar AND poort 242 is het komplement van de uitgang van de uit-overdrachtklem 238 van opteller 30. Het komplement van de uitgang van de uit-overdrachtklem 238 wordt verkregen door een omkeerder 248, 20 terwijl het komplement van het signaal dat verschijnt op de informatie/ stuurlijn 168 wordt verkregen door een omkeerder 250.
De ware uitgang van de uit-overdrachtklem 238 van opteller 30 wordt gepoort door een drie-ingangs AND poort 244. Twee van de ingangen naar AND poort 244 zijn respektievelijk het signaal dat ver-) 25 schijnt op de informatie/stuurlijn 168 (bit 4) en het signaal dat ver schijnt op de informatie/stuurlijn 168 (bit 4) en het signaal dat verschijnt op informatie/stuurlijn 166 (bit 3). De resterende ingang naar AND poort 244 is de uitgang van de uit-overdrachtklem 238 van de opteller 30. De uitgangen van de drie AND-poorten 240, 242 en 244 worden toegepast 30 als ingangen in een drie-ingangs NOR poort 246.
Uit deze AND-NOR kombinatie poort AND poort 240 als de uitgang van de opteller 30 de som van de X en Y operands. Merk op dat de resultaten van de opteller 30 alleen de uitgang van de somuitgangsklem 236 zullen zijn wanneer bit 3 van een logische eenheidinstruktie 35 68 een nul is.
Zoals duidelijk is uit de zestien moge lijke wiskundige 89 00 SO 8 :k —.
IJtwswss* ί *' 282S6/J F/ih -41- en Logische funkties welke kunnen worden gespecificeerd door een Logische eenheidsinstruktie 68, zal de AND poort 240 voor de eerder beschreven eerste acht wiskundige-logische funkties de uitgang van de somuitgangskLem van de optel Ier 30 poorten. De AND poort 242 zal, aLs het resultaat van de uitgang 5 van opteller 30, het komplement van de uitgang van de uit-overdraehtklem 238 poorten voor alle logische eenheidsinstrukties 68, waarin bits 3 en 4 respektievelijk 10 zijn. Heer in het bijzonder poort AND poort 242 als de uitgang van de opteller 30 het uit-overdrachtsignaal voor alle NOR en NAND logische funkties (operaties 9-12), welke kunnen worden uitgevoerd door de 10 programmeerbare eenheid 10.
De AND poort 244 poort als de uitgang van optelIer 30 de uitgang van de uit-overdrachtsklem 238 wanneer bit 3 en 4 van een logische eenheidsinstruktie 68 beide binaire 1 zijn. In de voorkeursuitvoeringsvorm heeft deze situatie alleen plaats voor de resterende vier mogelijke 15 wiskundige/logische funkties (operaties 13-16), welke kunnen worden gespecificeerd door een logische eenheidsinstruktie 68.
Om de bestemming van de uitgang van opteller 30 te bepalen wordt decodeerder 254 gebruikt. Decodeerder 254 zet twee Lijnen van ingangsinformatie om tot een een-van-vier uitgang. Om een blokkeermogelijk-20 heid voor decodeerder 254 te verkrijgen, is een vrijmaakingangsklem aangebracht, zie fig. 19. Een ware tabel voor decodeerder 254 (fig. 20) toont dat het blokkeersignaal in de lage toestand moet zijn om de decodeer-operaties uit te voeren bepaald door de ware tabel. Een analyse van een logische eenheidinstruktie 69 en een terugblik van de diskussie ten aan-> 25 zien van de bestemmingen welke kunnen worden gespecificeerd door een logische eenheidsinstruktie 68 de bestemming van de uitgang van de opteller 30 specificeerden, terwijl bits 7 en 8 van de instruktie modifikaties of additionele verwerking specificeerden ten aanzien van de uitgang van op-teller 30. De twee ingangslijnen naar decodeerder 254 zijn, respektieve-30 lijk, het signaal op de informatie/stuurlijn 180 (bit 9), en het signaal op informatie/stuurlijn 182 (bit 10). Drie van de vier uitgangen van de decodeerder 254 zijn verbonden met de informatiekiesingangsklemmen van het A-register 22, 24 en 26. De vierde uitgangsklem van decodeerder 254 wordt toegepast als een ingang in het selektienet 38 verbonden met het B-register 35 28, zie fig. 2. Dit selektienet zal voor een ogenblik worden beschreven.
Afhankelijk van de stuuringangssignalen naar deco- 89 0 0 6 0 8 q__ * J.
-42- 28286/J F/i h deerder 254 naar de informatiekiesingangsklemmen van de A-registers 22, 24, 26 zal veroorzaken of het geëigende A-register kiest tussen de infor-maite welke hergecirculeerd wordt uit de Q-uitgang van dat register en de geëigende uitgang van de opteller 30, als de geëigende ingang van het A-5 register.
Wanneer een UIT-bestemming gedecodeerd wordt, moet de operatie van de decodeerder 254 worden geblokkeerd. Een twee-ingangs-NOR poort 256 is voor dit doel aangebracht. De twee ingangen naar NOR poort 256 zijn respektievelijk het signaal dat verschijnt op de informatie/stuur-10 lijn 174 (bit 7) en het komplement van het signaal dat verschijnt op in-formatie/stuurlijn 176 (bit 8). Het komplement van het signaal dat verschijnt op informatie/stuurlijn 176 wordt verschaft door een omkeerder 258.
De uitgang van de NOR poort 256 wordt toegepast als het stuursignaal naar de vrijgemaakte ingangsklem van de decodeerder 254. Uit deze opstelling zal 15 een hoge alleen verschijnen op de vrijgemaakte ingangsklem van decodeerder 254 wanneer een uitbestemming of het AMPCR-register 32 wordt gespecificeerd als de bestemming van de uitgang van opteller 30.
Om een bestemming gespecificeerd door het bestemmings-veld 114 van een Logische eenheidsinstruktie 68, welke de additionele ope-20 ratie "S" voor SHIFT inhoudt, te dekoderen, wordt een dekodeerder 258 toegepast. Decodeerder 258 is identiek in werking met decodeerder 254 en verdere details van de struktuur van dekodeerder 258 kunnen worden verkregen door te verwijzen naar de diskussie betrekking hebbende op de operatie van decodeerder 254. De twee ingangen naar dekodeerder 258 zijn respektievelijk het i 25 signaal dat verschijnt op informatie/stuurlijn 180 (bit 9) en het signaal dat verschijnt op informatie/stuurlijn 182 (bit 10). Het komplement van de vier uitgangen van verschuivingsdecodeerder 258 wordt OR'ed met de uitgang van de NAND poort 204 alle klokken gedurende de uitvoering van iedere logische eenheidinstruktie 68. Het komplement van ieder van de vier uit-30 gangen van de schuifdecodeerder 258 wordt verschaft door omkeerders 260.
Zoals eerder besproken maakt een bestemming met de indikator "S" voor SHIFT het mogetijk om het bestemmingsregister (gespecificeerd door bits 9 en 10) van het rechter einde te verschuiven met een bit, waarbij de meest betekenende bit wordt verschaft door de opteller 35 werkende op de minst betekenende bit van de X operand ingang 70 en de Y operand ingang 72. Zodoende is de funktie van verschuivingsdecodeerder 89 0 0 6 0 8 q —» τ Λ -43- 28286/JF/ih 258 het verzekeren dat alleen de eerste bit uit de uitgang van optelIer 30 wordt ingebracht in het bestemmingsregister (gespecificeerd door het bestemmingsdecodeerregister 254)/ waarbij alle andere bits uit de uitgang van opteller 30 worden geblokkeerd voor dat register door het ORing 5 van de klokken naar de A-registers 22, 24 en 26.
In de voorkeursuitvoeringsvorm is de sleutel tot de juiste werking van verschuivingsdecodeerder 258 afhankelijk van het signaal aan de vrijmaakingangsklem van de verschuivingsdecodeerder 258. Dit vrijmaakt-blokkeersignaal wordt verkregen via een poortend net uit de 10 minst betekenende cijferuitgangsklem 154 van hexadecimale teller 134. Het poortende net dat het vrijmaak-blokkeersignaal verschaft voor de verschuivingsdecodeerder 254 omvat een twee-ingangs NAND poort 262 waarvan de uitgang wordt toegepast op een van de ingangen tot een drie-ingangs NAND poort 264. De ingangen naar NAND poort 262 zijn respektievelijk het kom-15 plement van de uitgang van klem 154 van de hexadecimale teller 134, en de uitgang van een twee-ingangs NOR poort 266. De ingangen naar NOR poort 266 zijn respektievelijk de uitgangen van de klemmen 150 en 152 van de hexadecimale teller 134. Naast de uitgang van NAND poort 262 zijn de andere twee uitgangen naar NAND poort 264 respektievelijk het signaal 20 op informatie/stuurlijn 174 (bit 7) en het signaal op informatie/stuur-lijn 186 (bit 12). Het is de uitgang van een NAND poort 264, welke wordt toegepast als de vrijmaak-blokkeeringang naar de verschuivingsdecodeerder 258.
In werking worden, zodra een MCC impuls 126 wordt > 25 toegeverd aan de ingangsklem 140 van de programmeerbare eenheid 10, alle uitgangsktemmen van de hexadecimale teller 134 gesteld op logische nul.
Daardoor worden de uitgang van omkeerder 268 en de NOR poort 266 hoog op het tijdstip tg, resulterende in een laag aan de uitgang van NAND poort 262, welke op zijn beurt een hoog veroorzaakt op de uitgang van NAND poort 30 264, onafhankelijk van de konditie van de signalen op de informatie/stuurli jnen 174 (bit 7) en 186 (bit 12). Zodoende wordt op tijdstip tg de werking van schuifdecodeerder 258 geblokkeerd, en zal geblokkeerd blijven totdat de dalende rand van de eerste klokimpuls (tijd t^) wordt gepoort door NAND poort 132. Wanneer zodoende een bestemmingsregister gevlagd wordt 35 met de "S'* voor schuifoperatie, wordt alleen de eerste klokimpuls uit de NANS poort 204 toegestaan om te worden geklokt naar het geëigende A- of B- 89QQ6GSq * ί -44- 28286/JF/ih register, aangeduid door de bestemmingsdecodeerder 254, aangezien de uitgang van de schuifdecodeerder 258, wanneer vrijgemaakt, alle klokken zal blokkeren naar het aangegeven register.
Zoals kort besproken is het B-register 28 een parallel 5 geladen 8-bit schuifregister omvattende acht trappen welke informatie verschuiven van de ene trap naar een andere aan de rechterzijde, wanneer geklokt. Bovendien heeft het B-register 28 ook serie-ingangsmogelijkheid door voorzien te zijn van een serie ingangsklem, zie fig. 18. De acht ingangen in het B register 28 zijn respektievelijk de signaal op informa-10 tie/stuurlijnen voor bits 1-8. Het normale klokingangssignaal voor B-register 28 komt uit de uitgang van NAND poort 204, terwijl de klokblok-keersignaalingang komt uit de uitgang van de vèrschuivingsdecodeerder 258 via de omkeerder 260.
Selektiepoort 38 (zie fig. 2) omvat drie AND poorten 15 270, 272, 274, waarvan de uitgangen worden toegepast als ingangen naar een NOR poort 276. De uitgang van NOR poort 276 wordt toegepast als de serie-ingang naar het B-register 28. De funktie van AND poort 270 is het in serie poorten van de uitgang van opteller 30 als de ingang naar het B-register 28. Daarom zijn de ingangen naar AND poort 270, de uitgang van 20 de NOR poort 246 en de uitgang van de bestemmingsdecodeerder 254 via een omkeerder 278. Uit deze opstelling zal AND poort 270 alleen signalen poorten uit de uitgang van de opteller 30, wanneer het B-register 28 wordt gespecificeerd als het bestemmingsregister door het bestemmingsveld 114 van een logische eenheidinstruktie 68.
) 25 De funktie van AND poort 272 is het decoderen van een "BEX" operatie. Naast het besturen van de uitgang van de opteller 30 in het register gespecificeerd door het bestemmingsveld 114 (dat is A1, A2, A3, B) specificeert een "BEX" bestemming een serie-overdracht uit een uitwendige bron via een DATA IN klem van de programmeerbare eenheid 10 naar 30 het B-register 28. De data ingang naar AND poort 272 is het signaal toegepast op de DATA IN klem 280 van de programmeerbare eenheid 10, terwijl de stuuringangen naar AND poort 272 de signalen zijn die verschijnen op informatie/stuurlijn 174 (bit 7) en het komplement van het signaal dat verschijnt op de informatie/stuurlijn 176 (bit 8), dat wordt verkregen uit 35 de uitgang van de omkeerder 238. Analyse van een logische eenheidinstruktie 68 zal doen blijken dat AND poort 272 alleen signalen zal poorten wanneer een bestemming van het "BEX" type wordt gespecificeerd door het bestemmings- 8 S 0 0 6 0 8 ζ^****»&" ï * -45- 28286/JF/ih veld 114 van de logische eenheidinstruktie 68.
Wanneer een A-register 22, 24 en 26 niet wordt gekozen als het bestemmingsregister, wordt de Q uitgang van dat register hergecir-culeerd als de data ingang naar dat register. Wanneer het B register 28 niet 5 wordt gekozen als het bestemmingsregister wordt de 0^ uitgang van het B-register 28 terug-hergecirculeerd in het B-register. Deze laatste operatie wordt uitgevoerd door de AND poort 274. De data ingang naar AND poort 274 komt uit de 5 uitgang van het B-register 28, terwijl de stuuringangen naar de RND poort 274 respektievelijk zijn uit de geëigende uitgang van de belt) stemmingsdecodeerder 254 en de uitgang van een twee-ingangs NAND poort 280.
De uitgangen naar NAND poort 280 zijn respektievelijk het signaal dat verschijnt op informatie/stuurlijn 174 (bit 7) en het komplement van het signaal dat verschijnt op de informatie/stuurlijn 176 (bit 8). Uit deze opstelling wordt de Q uitgang van het B-register 28 in serie terug-herge-15 circuleerd in het B-register 28 via AND poort 274, NOR poort 276, steeds wanneer het B-register niet wordt gekozen als een bestemmingsregister, en wanneer het bestemmingsveld 114 van de logische eenheidinstruktie 68 niet een operatie van het "BEX" type specificeert.
Ons nu wendende tot schakelingen die vereist zijn 20 voor het uitvoeren van een konditietestinstruktie 66, blijkt dat een drie-ingangs NAND poort 284 wordt toegepast om de kommandokode voor konditietestinstruktie 66 te decoderen, zie fig. 30h. De drie ingangen naar NAND poort 284 zijn respektievelijk de signalen die verschijnen op de informatie/stuurLijn 182 (bit 10), 184 (bit 11) en 186 (bit 12). Zoals 25 besproken bij de voorkeursuitvoeringsvorm, kan een konditietestinstruktie 66 een van acht konditiebits selekteren voor het testen (die vier optel-konditiebits: MST bit 76, LST 74, A0V bit 78 en ABT bit 80; een uitwendige konditiebit - EXT 88; en de drie lokale konditiebits LC1 82, LC2 84, LC3 86 geslagen in het konditieregister 52).
30 De meest betekenende bit ware (most significant bit true, HST) konditie wordt getest door de programmeerbare eenheid 10 door het onderzoeken van de toestand van een flip-flop 202 van het D-type, zie fig. 8. De D-type flip-flop 202 is het "meest ware bit" (HST) konditieregister en wordt gesteld indien de meest betekenende bit of achtste 35 bit buiten de opteller 30 een binaire 1 is en teruggesteld indien het een binaire 0 is. Zoals bekend in het vak heeft een D-type flip-flop 89 00 6 0 8/v_ f j^KÊtÊÊeBSSMXSn···.
* A.
-46- 28286/JF/ïh een voor-ingestelde ingang, een klokingang, een data-ingang, een schone ingang en komplementaire uitgangen Q en Q. Informatie wordt overgedragen aan de Q uitgang op de positieve rand van een klokingangsimpuLs.
Het MST konditieregister 202 verschaft een 1-bit op-5 slag of geheugen. In werking is de uitgang van het MST konditieregister 202 gelijk aan de ingang vertraagd met een klokimpuls. Een logisch schema voor het MST konditieregister 202 wordt weergegeven in fig. 8. De voor-inste- en schoonmaakingangen van MST register 202, welke de asynchrone ingangen zijn, overheersen alle andere ingangen (bijvoorbeeld klok en signaal), 10 zodanig, dat een binaire 0 op de vooringestelde klem de Q uitgang naar de logische EEN stelt. Omgekeerd wordt de Q uitgang gesteld tot een logische NUL door een nul toegepast op de schoonmaakingang. Deze eigenschap wordt geïllustreerd in de ware tabel voor konditieregister 202 aangegeven in fig.
21.
15 In de voorkeursuitvoeringsvorm is de schoonmaakin- gangsklem van het MST register 202 gebonden aan een potentiaal Vcc.
Signalen voor de vooringestelde ingang naar het MST konditieregister 202 worden verkregen uit de uitgang van de NOR poort 198 via een omkeerder 200. Herinnerende dat de uitgang van NOR poort 198 alleen 20 hoog zal zijn gedurende de tijdsperiode van een MCC impuls 126, wordt de Q uitgang van het MST konditieregister 202 gesteld op een logische EEN gedurende de toepassing van een MCC impuls 126. Opteller 30 uitgangsin-formatie, welke wordt toegepast als het informatie-ingangssignaal voor het MST konditieregister 202, wordt verkregen uit de uitgang van de NOR i 25 poort 246.
Overeenkomstig wordt de minst betekenende bit ware (LEAST SIGNIFICANT BIT TRUE, LST) konditie getest door het onderzoeken van de inhoud van een LST konditieregister 286. Logischerwijze is het LST konditieregister 286 identiek met het MST konditieregister 202. Opteller 30 uitgangsinformatie, welke wordt toegepast als de informatie-ingangen naar hét LST register 286 wordt eveneens verkregen uit de uitgang van NOR poort 246. Zowel de vooringestelde als schoonmaakklemmen van het LST konditieregister 286 zijn echter gebonden aan de potentiaal V .
cc
Het klokingangssignaal voor het LST konditiéregister 35 286 wordt verkregen uit de uitgang van een twee-ingangs NAND poort 288.
Een van de ingangen naar NAND poort 288 wordt verkregen uit de uitgang 89 0 0 6 0 8 r x -47- 28286/JF/ih van de omkeerder 206, welke alleen hoog is wanneer een instruktie van het logische eenheidtype 68 wordt uitgevoerd door de programmeerbare eenheid 10. De andere ingang naar NAND poort 288 wordt verkregen uit de uitgang van een omkeerder 290, waarvan de ingang wordt verkregen uit een 5 drie-ingangs NAND poort 292. De drie ingangen naar NAND poort 292 zijn respektievelijk: de uitgang van de NOR poort 266, de uitgang van de omkeerder 268, en de uitgang van de omkeerder 136. Het deze opstelling van NAND poort 292 en omkeerder 290 is de uitgang van NAND poort 288 alleen ^ laag gedurende de eerste klokimpuls na een HCC impuls 126 (tijd tg - t^).
10 Zodoende ontvangt het LST konditieregister 286 alleen een klokimpuls welke korrespondeert met de eerste klokimpuls na een HCC impuLs 126. De uitgang van het LST konditieregister 286 is gelijk aan het signaal aan de infor-matie-ingangsklem van dat register, vertraagd met een klokimpuls toegepast op de klokingangsklem van het konditieregister 286.
15 Om de alle bits waar (ALL BITS TRUE, ABT) konditie te testen, wordt een paar van de twee ingangs NAND poorten 290, 292 toegepast. De Q uitgang van het MST konditieregister 202 wordt toegepast als een van de ingangen in de eerste NAND poort 290, waarvan de uitgang wordt toegepast als een van de twee ingangen in de tweede NAND poort 288, terwijl 20 de tweede ingang in de NAND poort 290 wordt verkregen uit de uitgang van de NAND poort 292. Als resultaat van deze opstelling, onafhankelijk van het signaal aan de uitgang van NAND poort 290, zal de uitgang van NAND poort 292 hoog zijn gedurende de eerste klokimpuls. Indien al de bits van de uitgang van de optelIer 30 waar zijn (ENEN), moet de uitgang van NAND ) 25 poort 290 laag zijn, daarbij de uitgang van NAND poort 292 forcerende om hoog te zijn voor alle klokken van een gegeven opteloperatie. Zou echter een van de acht bits van de optelleruitgang een lage zijn, dan moet de uitgang van NAND poort 292 laag schakelen en laag blijven tot de uitvoering van het volgende instruktie-adres door het HPCR-register 44.
30 Een opteller overvloei konditie (ADDER OVERFLOW
CONDITION, A0V) wordt getest door een A0V konditieregister 294 te onderzoeken. Het AOV konditieregister 294 is identiek in logica en struktuur met dat van het HST konditieregister 202 en dat van het LST konditieregister 286. De informatie-ingang naar het AOV konditieregister 294 wordt 35 verkregen uit de uit-overdrachtklem 238 van de opteller 30, terwijl klok-ingangssignaten worden verkregen uit de uitgang van een drie-ingangs NAND
8-9 0 0 6 0 β q _ 28286/J F/ih -48- i» t poort 296. De drie ingangen naar ΝΑΝΟ poort 296 zijn respektievelijk de uitgang van de NAND poort 204 via een omkeerder 298; het komplement van het signaal op de informatie/stuurlijn 166 (bit 3), dat wordt verkregen uit de uitgang van de omkeerder 252; en de uitgang van een twee-ingangs NAND 5 poort 300. De twee ingangen naar de NAND poort 300 zijn, respektievelijk, het signaal dat verschijnt op de informatie/stuurlijn 168 (bit 4) en het komplement van het signaal dat verschijnt op informatie/stuurlijn 170 (bit 5), dat wordt verkregen uit de uitgang van de omkeerder 228. De funktie van de NAND poort 300 is het decoderen van de exclusieve OR (X XOR B) en 10 de equivalente (X EQV B) logische funkties door het produceren van een lage aan de ingang van NAND poort 296 wanneer deze twee logische funkties worden gespecificeerd door een logische eenheid instruktie 68.
De funktie van NAND poort 296 is daarom het nauwkeurig decoderen van alle wiskundige operaties door het produceren van een 15 lage aan de klokingangsklem van het AÖV konditieregister 294 voor alle klokken gedurende de uitvoering van een logische eenheidinstruktie 68.
Een signaal voor de vooringestelde ingang naar het AOV konditieregister 294 wordt verkregen uit een twee-ingangs NAND poort 304. Een ingang naar ieder van de NAND poorten 302, 304 is de ingang van de NOR poort 198, 20 welke alleen laag is gedurende de toepassing van een MCC impuls 126, wanneer een Logische instruktie 68 wordt uitgevoerd. De andere ingang naar NAND poort 302 is het signaal dat verschijnt op informatie/stuurli jn 172 (bit 6) terwijl de tweede ingang naar NAND poort 304 het komplement is van het signaal dat verschijnt op de informatie/stuurlijn 172, ) 25 dat wordt verkregen uit de uitgang van een omkeerder 306.
Aangezien de vooringestelde en schoonmaakingangen naar het AOV konditieregister 294 onafhankelijk zijn van het klokingangs-signaal, stelt een lage ingang naar de vooringestelde ingangsklem de Q uitgang van het konditieregister 294 naar logische EEN, terwijl een lage 30 ingang naar de schoonmaakklem de Q uitgang op een logische NUL instelt. Zodoende is de funktie van NAND poort 302 het stellen van de Q uitgang van het AOV konditieregister 294 op een logische EEN op tijd tg voor de volgende wiskundige operaties: X + B, X + Z, X - B - 1. Aan de andere kant is de funktie van NAND poort 304 het stellen van de Q uitgang van het AOV 35 konditieregister 294 op een logische nul op tijd tg voor de volgende wiskundige operaties: X+B+1, X+Z+1, X+B+1. De Q uitgang van 89 0 0 6 0 8 «. —, O—·” > * -49- 28286/JF/ih AOV konditieregister 294 wordt toegepast aLs de ingang naar de inbreng-overdrachtktem 234 van de opteller 30 om de juiste resultaten te bereiken voor een gegeven wiskundige operatie. Merk op dat het AOV konditieregister 294 juist wordt ingesteld wanneer een MCC impuls 126 een instruktie-uit-5 voeringscyclus inleidt.
De drie lokale konditiebits 82, 84, 86 (LC1, LC2, t LC3) worden getest door respektievelij!k te onderzoeken: een LC1 konditieregister 306, een LC2 konditieregister 308, en een LC3 konditieregister 310. De drie lokale konditieregisters 306, 308, 310 zijn logisch identiek 10 met het MST konditieregister 202.
Zoals eerder kort werd besproken, worden de lokale konditiebits teruggesteld wanneer zij getest zijn en het stelveld 100 van een konditietestinstruktie 66 wordt gebruikt om een lokaal konditieregister te stellen. Bovendien is het noodzakelijk om een konditie, welke 15 waar is te testen, teneinde is staat te zijn een Lokaal konditieregister te stellen. Meer bijzonderheden over de werking van het lokale konditieregister zullen volgen na de bespreking hoe de geëigende testkonditie wordt gekozen.
Om te bepalen welke konditiebit getest moet worden, 20 wordt een konditieselektie-orgaan 312 toegepast, zie fig. 22. In antwoord op drie stuursignalen kiest konditieselektieorgaan 312 één van de acht informatiebronnen en verschaft komplementaire uitgangen. De drie stuursignalen zijn respektievelijk het signaal dat verschijnt op de informatie/ stuurlijn 162 (bit 1), het signaal dat verschijnt op informatie/stuurlijn 25 164 (bit 2), en het signaal dat verschijnt op informatie/stuurlijn 166 (bit 3). De acht informatie-ingangen naar het konditieselektie-orgaan 312 zijn de vier optelkonditiebits (LST bit 74, MST bit 76, AOV bit 78 en ABT bit 80), de uitwendige attentieniveaubit (EXT 88) en de drie lokale konditiebits (LC1 bit 82, LC2 bit 84 en LC3 bit 86). De MST bit 76 wordt 30 verkregen uit de Q uitgang van het MST konditieregister 202, terwijl de LST konditiebit 74 wordt verkregen uit de (F uitgang van het AOV konditieregister 294, terwijl de ABT konditiebit 80 wordt verkregen uit de uitgang van NAND poort 292. De EXT bit 88 wordt verkregen uit een uitwendige kon-ditieklem 314 van de programmeerbare eenheid 10, terwijl de drie lokale 35 konditiebits worden verkregen uit de Q uitgangen van respektievelijk de lokale konditieregisters 306, 308, 310.
8900608».__ 28286/JF/ih . -50- * t
De Q uitgang van konditieselektie-orgaan 312 wordt gebruikt als een stuursignaal voor het stellen van het lokale konditie-register 306, 308, 310, terwijl het komplement van de uitgang van konditieselektie-orgaan 312 wordt gebruikt als een besturing voor opvolgende 5 selektie.
Om te bepalen welk lokaal konditieregister 306, 308, 310 moet worden gesteld, wordt een steldecodeerder 314 gebruikt voor het decoderen van bit 4 en 5 van een konditietestinstruktie 66.
Dé struktuur en logica van steldecodeerder 314 is 10 gelijk aan die van bestemmingsdecodeerder 254 en verschuivingsdecodeerder 258, met uitzondering dat de twee ingangsklemmen worden gedecodeerd in slechts drie mogelijke uitgangen. Het logische schema voor steldecodeerder 314 is aangegeven in fig. 24, en een korresponderende waarheidstabel is aangegeven in fig. 25. De twee stuuringangen voor steldecodeerder 314 zijn 15 respektievelijk het signaal dat verschijnt op informatie/stuurlijn 168 (bit 4) en het signaal dat verschijnt op informatie/stuurLijn 170 (bit 5).
De drie uitgangen van steldecodeerder 314 zijn respektievelijk verbonden met de informatie-ingangsklemmen van het LC1 konditieregister 306, het LC konditieregister 308 en het LC konditieregister 310. In de voorkeurs- 20 uitvoeringsvorm zijn de schoonmaakingangen naar ieder van de drie lokale konditieregisters 306, 308 en 310 gebonden aan hun respektieve informatie- ingangsklemmen om te verzekeren dat de Q uitgangen van de registers worden gesteld op een logische Q wanneer een lage ingang wordt toegevoerd door steldecodeerder 314 aan de geëigende informatie-ingangsktem die reageert 25 op signalen welke verschijnen op informatie/stuurlijn 168, 170 (bits 4 en 5). Om bovendien te verzekeren dat signalen die verschijnen aan de onderhavige ingangen naar de drie konditieregisters 306, 308, 310 de werking van de registers niet beïnvloeden, worden de onderhavige ingangen naar ieder konditieregister gebonden aan de potentiaal V .
c c 30 Het vrijmaaksignaal voor steldecodeerder 314 wordt verkregen uit de uitgang van een twee-ingangs NAND poort 316, waarvan de funktie is het vrijmaken van de steldecodeerder 314 om het geëigende lokale konditieregister 306, 308, 310 alleen te stellen wanneer de konditie getest door het konditieselektie-orgaan 312 waar is. De twee ingangen 35 naar NAND poort 316 zijn respektievelijk de Q-uitgang van het konditieselektie-orgaan 312, welke alleen hoog is indien de geteste konditie waar 88 0 0 6 0 8 ,-_ U-— ï * -51- 28286/JF/ih is, en de uitgang van een twee ingangs NOR poort 318.
De funktie van NOR poort 318 is het verschaffen van een hoge niveau signaal alleen gedurende de tweede kloktijd (tijd t^) voor de uitvoering van een konditietestinstruktie 66. De twee ingangen naar 5 NOR poort 318 zijn respektievelijk de uitgang van NAND poort 284, welke alleen laag is wanneer een konditietestinstruktie 66 wordt uitgevoerd, en de uitgang van een drie-ingangs NAND poort 320. De funktie van de NAND poort 320 is het verschaffen van een Laag niveau signaal alleen gedurende de tweede klok wanneer een konditietestinstruktie 66 wordt 10 uitgevoerd door de programmeerbare eenheid 10. De drie ingangen van de NAND poort 320 zijn respektievelijk de uitgang van de NOR poort 266, de uitgang van de minst betekenende cijferklem 154 van de hexadecimale teller 154 en de ingang van de omkeerder 136. Analyse van fig. 27 zal aantonen dat deze drie ingangen naar NAND poort 320 zal veroorzaken dat een lage 15 alleen verschijnt aan de uitgang van NAND poort 320 gedurende de tweede klok, welke plaatsvindt na de toepassing van een MCC impuls 126.
Zoals besproken worden van de acht mogelijke kondities welke kunnen worden getest door de programmeerbare eenheid 10 alleen de drie lokale kondities (LC1, LC2, LC3) teruggesteld bij het testen. Om deze 20 operatie uit te voeren wordt een terugsteldecodeerder 322 toegepast. Terug-steldecodeerder 322 is Struktureel en logisch identiek aan de steldeco-deerder 314. Analyse van een konditietestinstruktie 66 zal aantonen, dat bits 2 en 3 van deze instruktie specificeren welk lokaal konditieregister 306, 308, 310 moet worden getest, terwijl bit 1 van dat type instruktie • 25 specificeert dat een Lokale konditie moet worden getest. Zodoende zijn de twee stuuringangen naar terugsteldecodeerder 322 respektievelijk het signaal dat verschijnt op informatie/stuurlijn 164 (bit 2) en het signaal dat verschijnt op informatie/stuurlijn 166 (bit 3).
Het vrijmaaksignaal voor terugsteldecodeerder 322 30 wordt verkregen uit de uitgang van de twee-ingangs NAND poort 324. De funktie van NAND poort 324 is het vrijmaken van de terugsteldecodeerder 322 alleen wanneer een lokale konditie wordt getest. Daarom zijn de twee ingangen naar NAND poort 324 respektievelijk het signaal dat verschijnt op informatie/stuurlijn 162 (bit 1) en de uitgang van de NOR poort 318, 35 welke alleen hoog is gedurende de tweede klok wanneer een konditietestinstruktie 66 wordt uitgevoerd.
89 00 60 8q * £ -52- 28286/JF/ih
De drie uitgangen van steldecodeerder 322 zijn respek-tievelijk verbonden met de klokingangskLem van de lokale konditieregisters 306, 308, 310. In werking zal terugsteldecodeerder 322 een kloksignaal verschaffen aan het geëigende Lokale konditieregister 306, 308, 310, wanneer 5 een Lokale konditie wordt gekozen om te worden getest door konditietest-instruktie 66.
Ten aanzien van opvolgerselektie wordt een opvolger-selektie-orgaan 324 toegepast. In de voorkeursuitvoeringsvorm omvat het opvolgerselektie-orgaan 324 twee drie-kanaal informatieselektie-organen 10 326, 328, zie fig. 13, met twee gemeenschappelijke stuurlijnen. Ieder van de twee drie-kanaaL informatieseLektie-organen heeft drie informatie-in-gangen en komplementaire uitgangen.
De twee stuursignalen voor het opvolgerseLektie-orgaan 324 zijn respektievelijk het komplement van de uitgang van het konditie-15 selektie-orgaan 312, en de uitgang van de NAND poort 284. De drie infor-matie-uitgangen naar informatieselektie-orgaan 326 zijn respektievelijk het signaal dat verschijnt op informatie/stuurlijk 174 (bit 7), het signaal dat verschijnt op informatie/stuurlijn 180 (bit 9) en het komplement van het signaal dat verschijnt op informatie/stuurlijn 184 (bit 11)k dat wordt 20 verkregen uit de uitgang van de omkeerder 198. De drie informatie-ingangen voor informatieselektie-orgaan 328 zijn respektievelijk het signaal dat verschijnt op informatie/stuurlijn 172 (bit 6), het signaal dat verschijnt op informatie/stuurlijn 176 (bit 8) en het signaal dat verschijnt op informatie/stuurlijn 186 (bit 12).
25 Indien in de voorkeursuitvoeringsvorm de AND poort 284 laag is, en het komplement van de uitgang van konditieselektie-or-gaan 312 hoog is, dan zal de ware (q) uitgang van het drie-kanaal informatieselektie-orgaan 326 het signaal zijn dat verschijnt op informatie/ stuurlijn 176 (bit 8), terwijl de Q uitgang van het andere drie-kanaal 30 informatieselektie-orgaan 328 het signaal zal zijn dat verschijnt op informatie/stuurli jn 180 (bit 9). Indien echter het komplement van de uitgang van konditieselektie-orgaan 312 laag is, terwijl de uitgang van NAND poort 284 laag is, zal de Q uitgang van het drie-kanaal informatieselektie-orgaan 326 het signaal zijn, dat verschijnt op informatie/stuurlijn 172 35 (bit 6), terwijl het signaal dat verschijnt op de Q uitgang van het andere drie-kanaal informatieselektie-orgaan 328 het signaal zal zijn dat ver- 89 0 0 5 0 8 Q—sf r * -53- 28286/JF/ih schijnt op informatie/stuurlijn 174 (bit 7). Zou de uitgang van de NAND poort 284 hoog zijn, dan zal de Q uitgang van het eerste drie-kanaal informatie selektieorgaan 326 het signaal zijn dat verschijnt op informatie/ stuurlijn 186 (bit 12), terwijl het signaal dat verschijnt op de Q uitgang 5 van het andere drie-kanaal informatieselektie-orgaan 328 het komplement zal zijn van het signaal dat verschijnt op informatie/stuurlijn 184 (bit 11) ongeacht de stuursignaaluitgang naar het opvolgerselektie-orgaan 324 uit het konditieselektie-orgaan 312.
Uit deze opstelling verschaft het opvolgerselektie-10 orgaan 324 als zijn uitgang de signalen welke bits 6-9 vertegenwoordigen van iedere konditietestinstruktie welke wordt uitgevoerd door de programmeerbare eenheid 10. Wanneer ooit een konditietestinstruktie niet wordt uitgevoerd door de programmeerbare eenheid 10, verschaft het opvlogerse-lektie-orgaan 234 aan zijn uitgang het signaal dat bits 11 en 12 vertegen-15 woordigt van de instruktie die dan wordt uitgevoerd. Analyse van de mogelijke uitgangen van het opvolgerselektie-orgaan 324 reagerend op de toegepaste stuursignalen, toont aan dat voor iedere konditietestinstruktie 66, uitgevoerd door de programmeerbare eenheid 10, de uitgang van het opvolgerselektie-orgaan 324 een ware opvolger zal bepalen indien de konditie ge-20 kozen door konditieselektie-orgaan 312 waar blijkt, terwijl de uitgang van het opvolgerselektie-orgaan 324 de geëigende valse opvolger zal specificeren, gespecificeerd door een konditietestinstruktie 66, indien de door het konditieselektie-orgaan 312 geteste konditie vals blijkt te zijn.
De ware uitgang van het drie-kanaal informatieselek-25 tie-orgaan 326 van opvolgerselektie-orgaan 324 wordt geleverd als een ingang aan een drie-ingangs NAND poort 330, terwijl zijn komplement wordt toegepast als een ingang naar een drie-ingangs NAND poort 332. De ware uitgang van het drie-kanaal informatieselektie-orgaan 328 wordt toegepast als een ingang naar een drie-ingangs NAND poort 334, terwijl zijn komple-30 ment wordt toegepast als de tweede ingang naar de NAND poorten 330 en 332.
De derde ingang naar beide NAND poorten 330 en 334 komt uit de uitgang van de NOR poort 318, welke alleen hoog is gedurende de tweede klok wanneer een konditietestinstruktie 66 wordt uitgevoerd door de programmeerbare eenheid 10. De derde ingang naar NAND poort 332 komt uit de uitgang van de omkeer-35 der 290, welke alleen hoog is gedurende de eerste klok voor de uitvoering van iedere instruktie verkregen uit geheugen 160.
8.9 0 0 6 0 8q * i -54- 28286/JF/ih
De funktie van de NAND poort 332 is het decoderen van een SPRONG (JUMP) opvolger terwijl de funktie van NAND poort 330 is het decoderen van een OVERSPRONG (SKIP) opvolger. Een spaar (SAVE) opvolger wordt gedecodeerd door NAND poort 334. De uitgang van NAND poort 332 5 wordt toegepast als het laadstuursignaal naar de laadklem 19 van het MPCR register 44, zie fig. 26.
Het MPCR-register 44 is een acht-bit optel Ier omvattende acht meester-slaaf (MASTER-SLAVE) flip-flops. Synchrone operatie wordt verkregen door alle flip-flops van de opteller gelijktijdig te klok-10 ken, zodat de uitgangen van de flip-flops samenvallend met elkaar veranderen wanneer zo geïnstrueerd door de sturende logica. Deze wijze van operatie elimineert de uitgangstelpieken welke normaal zijn verbonden met a-synchrone (ripple-clock) tellers. De uitgangen van de acht meester-slaaf flip-flops van het MPCR-register 44 worden getrokken'door een laag-naar-15 hoog niveau overgang, die verschijnt op de tel-op ingang 190.
Het MPCR-register 44 is geheel programmeerbaar; dat wil zeggen, de uitgangen kunnen vooraf worden ingesteld in iedere toestand door het doen ingaan van de gewenste informatie aan de goede informatie-ingangen terwijl de laadingangsklem 191 laag is. De acht uitgangen van het 20 MPCR-register 44 zullen veranderen om overeen te stemmen met de informatie-ingangen onafhankelijk van de telimpulsen.
Bovendien is een schoonmaakingang aangebracht welke alle acht uitgangen van het MPCR-register 44 forceert naar een laag niveau, wanneer een hoog niveau wordt toegepast op de schoonmaakingangsklem 188 van 25 het MPCR-register 44. De schoonmaakfunktie is onafhankelijk van respektie-velijk de tel- en laadingangen 190 en 192. Het schoonmaaksignaal 128, dat noodzakelijk is om het MPCR-register 44 te stellen op nuladres, is een schoonmaakklem 502 aangebracht voor de programmeerbare eenheid 10. Zodoende kunnen uitwendig aangevoerde schone signalen 128 worden toégepast op het 30 MPCR-register 44 via de schoonmaakklem 502.
Met deze opstelling zal, indien NAND poort 332 een sprongopvolger decodeert uit de uitgang van het opvolgerselektie-orgaan 324, een laag niveau signaal worden toegepast op de laadklem 191 van het MPCR-register 44, alleen gedurende de eerste klokimpuls (tijd t<j), wanneer 35 een konditietestinstruktie 66 wordt uitgevoerd. Op alle andere tijden en voor alle andere instrukties zal de uitgang van NAND poort 332 en, derhalve, 89 0 0 6 0 8q s ? -55- 28286/JF/ih de ingang naar de LaadkLem 191 van het MPCR-register 44 hoog zijn. Zodoende zal wanneer de stuurimpuls naar de laadklem 192 op een laag niveau is, het adres gespecificeerd door het AMPCR-register 32 worden geladen in het MPCR-register 44, onafhankelijk van de stuursignalen toegepast op de tel-5 op klem 190 van het MPCR register 44. Zodoende zal, wanneer een sprong-opvolger wordt gespecificeerd, hetzij als de ware of valse opvolger, het adres gespecificeerd in het AMPCR-register 32 het adres worden van de volgende instruktie die moet worden uitgevoerd door de programmeerbare eenheid 10. Om een oversprongopvolger uit te voeren wordt de uitgang van 10 de NAND poort 330 toegepast als een ingang naar een twee-ingangs NAND poort 336, waarvan de uitgang wordt toegepast op de tel-op klem 190 van MPCR-register 44. De tweede ingang naar NAND poort 336 is uit de uitgang van NAND poort 292, welke alleen laag is gedurende de eerste klok (tijd t^) voor iedere instruktie uitgevoerd door de programmeerbare een-15 heid 10. Zodoende zal de NAND poort 336 een Laag-naar-hoog niveau overdracht verschaffen aan de tel-op klem 190 van het MPCR-register 44 op tijd t^ voor iedere instruktie uitgevoerd door de programmeerbare eenheid 10 en op tijd indien een oversprong opvolger wordt gespecificeerd door een konditietestinstruktie 66.
20 Onafhankelijk van de uitgang van de NAND poort 330 zal de uitgang van de NAND poort 336 hoog zijn op tijd t^ ten gevolge van de tijdsimpulsen gedecodeerd door de NAND poort 292. Zodoende is de funktie van de NAND poort 336 het outilleren van de STAP-opvolgerfunktie, onafhankelijk van het type van konditie, dat wordt uitgevoerd door de program-25 meerbare eenheid 10 door te veroorzaken dat de inhoud van het MPCR-register 44 wordt vermeerderd met 1. Deze STAP-eigenschap zal niet tussenbeid komen bij een SPRONG opvolger, aangezien het stuursignaal voor een SPRONG opvolger wordt toegevoerd aan de laadklem 191, welke alle signalen toegepast op de tel-op klem 190 overheerst.
30 Om een SPAAR opvolger te outilleren wordt de uitgang van de NAND poort 334 toegepast als een ingang naar een twee-ingangs NAND poort 338, waarvan de uitgang wordt toegepast als een laadklem 340 van het AMPCR-register 32, zie fig. 30k. De tweede ingang naar de NAND poort 338 is uit de uitgang van een omkeerder 342, waarvan de ingang wordt verkregen 35 uit de uitgang van een twee-ingangs NOR poort 344.
De funktie van de NOR poort 344 is het decoderen van 89 0 0 6 0 8 mmm^
*- A
-56- 28286/JF/ih een GO TO LITERAL instruktie 64c en een LITERAL TO AMPCR instruktie 64a. Analyse van de kommandokodes voor de verschillende types van instruktie,. welke aantonen dat slechts de bovengenoemde twee instrukties een binaire nul hebben voor bit 12 van hun respektieve instruktie. De informatie- en 5 klokingangen naar de NOR poort 344 zijn daarom respektievelijk het signaal dat verschijnt op de informatie/stuurlijn (bit 12) en de uitgang van de NAND poort 142, welke alleen laag is voor de tijdsduur van een MCC impuls 126.
De uitgang van de NAND poort 338 zal veroorzaken dat 10 het AMPCR-register 32 wordt geladen op tijd tg met de gekozen uitgang van het selektie-orgaan 192 steeds wanneer een GO TO LITERAL instruktie 64c of een LITERAL TO AMPCR instruktie 64a wordt gespecificeerd door een letterlijke instruktie 64. Bovendien zal de uitgang van de NAND poort 338 veroorzaken dat het AMPCR-register 32 wordt geladen op tijd t^ met de 15 uitgang van de verkozen uitgang van het selektie-orgaan 192 steeds wanneer een SAVE opvolger wordt gedecodeerd door het opvolgerselektie-orgaan 324 en de SAVE decodeer NAND poort 334. Op alle andere tijden (bijvoorbeeld t,j en t^-tg) is de uitgang van de NAND poort 338 laag.
In de voorkeursuitvoeringsvorm is het AMPCR-register 20 32 een acht-bit rechts schuifregister dat wordt gebruikt als een parallel-in parallel-uit opslagregister, zie fig. 28. Naast de acht informatie-ingangen en -uitgangen en de laadstuuringang 340, is het AMPCR-register 32 voorzien van een serie-ingangsklem en een klokstuurklem.
Het AMPCR-register 32 omvat acht R_S meester-slaaf 25 flip-flops, acht AND-OR-INVERT poorten, een AND-OR poort 346, en 10 om-keerder-aandrijvers. Onderlinge verbinding van deze funkties verschaft een veelzijdig register, dat een rechts verschuivende operatie zal uitvoeren bij de toepassing van de juiste logische ingang naar een laadstuur-ingangsklem 340.
30 Kloksignalen voor het AMPCR-register 32 worden verschaft door de uitgang van de twee-ingangs NOR poort 214. Zoals besproken is een van de ingangen naar de NOR poort 214 uit de uitgang van de NAND poort 204, welke de klokimpulsen verschaft, noodzakelijk voor het uitvoeren van een logische eenheidinstruktie 68. De andere ingang naar de NOR poort 214 is uit de uit-35 gang van de NAND-poort 232, welke alleen laag is wanneer het AMPCR-register 32 is gespecificeerd als het bestemmingsregister door een logische eenheid- 89 0 0 6 0 8^ M—uia· -* > 28286/JF/ih -57- instruktie 68.
Iedere AND-OR-INVERT poort van het AMPCR-register 32 omvat twee AND poorten, genoemd AND poort 1 en AND poort 2. Wanneer een Logische nul niveau wordt toegepast op de Laadstuuringangsklem 340 van 5 het AMPCR register 32 zijn de nummer 1 AND poorten vrij en de nummer 2 AND poorten geblokkeerd. In deze wijze van operatie is de uitgang van iedere R-S flip-flop gekoppeld met de R-S ingangen van de volgende flipflop en een rechtse verschuivingsoperatie wordt uitgevoerd door het klokken aan de klokingang. Bovendien wordt serie-informatie ingebracht aan de 10 serie-ingang, terwijl de acht paraLlelle ingangen worden geblokkeerd door de nummer 2 AND poorten.
Wanneer een logische EEN niveau wordt toegepast op de laadstuuringang 340 worden de nummer 1 AND poorten geblokkeerd (ontkoppeling van de uitgangen van opeenvolgende R-S ingangen om rechtse 15 verschuiving te voorkomen) en de nummer 2 AND poorten worden vrijgemaakt om informatie toe te laten via de acht parallelle ingangen. Deze wijze van operatie maakt het parallel laden van het AMPCR-register 32 mogelijk.
Het klokken voor het verschuivingsregister wordt uitgedrukt door de AND-OR poort 346, welke het mogelijk maakt dat de klok-20 bron alleen wordt gebruikt voor de naar rechts verschuivende wijze van operatie. Informatie moet aanwezig zijn aan R-S ingangen van de meester-slaaf flip-flops voor het klokken. Overdracht van informatie naar de Q uitgangsklem van de achtste flip-flop van het AMPCR register 32 vindt plaats wanneer de klokkende ingang gaat van een logische EEN naar een ' 25 logische NUL.
Wanneer aldus het AMPCR-register 32 is gespecificeerd als het bestemmingsregister door het bestemmingsveld 114 van een logische eenheidinstruktie 68, zal de serie-uitgang van de opteller 30 worden toegepast op de serie-ingang van het AMPCR-register 32 via de NOR poort 30 246, waarbij het klokken voor deze operatie wordt verschaft door de uitgang van de NOR-poort 214. Anderzijds zullen voor de uitvoering van een spaar (SAVE) of een GO TO LITERAL of LITERAL TQ AMPCR instruktie de acht informatie-ingangen van het AMPCR-register de geëigende uitgang van het selektie-orgaan 192 in parallel ontvangen, in antwoord op de laadstuur-35 signalen verschaft door de NAND poorten 338, 334.
De parallelle ingangen voor het AMPCR-register 32 8900608q _ * fc -58- 28286/J F/i h worden bepaald door het signaal dat verschijnt op de stuurklem 194 van het selektie-orgaan 192. Het stuursignaal voor de stuurklem 194 van selektie-orgaan 192 wordt verkregen uit de uitgang van de NAND poort 284/ welke alleen een laag niveau is wanneer een Logische instruktie 68 5 wordt uitgevoerd door de programmeerbare eenheid 10. Wanneer ooit zodoende een logische instruktie wordt uitgevoerd door de programmeerbare eenheid 10/ zal het selektie-orgaan 192 als de parallelle ingangen voor het AMPCR-register 32 de uitgang van het MPCR-register 44 verschaffen. Voor alle andere instrukties zal de selektor 192 als de ingang naar het MPCR-register 10 44 de signalen verschaffen/ welke respektievelijk verschijnen op informa-tiestuurlijnen 162-176 (bits 1-8).
De schakelingen verband houdende met LITERAL TO AMPCR instruktie 64a en de G0 TO LITERAL instruktie 64c werden besproken in verband met een gedeelte van de schakeling betrekking hebbende op de uit-15 voering van een konditietestinstruktie 66. De schakeling betrekking hebbende op de resterende letterlijke instrukties/ namelijk LITERAL TO B instruktie 64b/ zal nu worden besproken.
Een LITERAL TO B operatie wordt gedecodeerd door een vier-ingangs NAND poort 348/ waarvan de uitgang wordt toegepast als het 20 stuursignaal naar de schuif-laadingangsklem van het B-register 28, zie fig.
17. Twee van de vier ingangen naar de NAND poort 348 zijn respektievelijk de signalen die verschijnen op de informatie-stuurlijnen 182 (bit 9) en 186 (bit 12), zie fig. 30g. De derde ingang naar de NAND poort 348 wordt verkregen uit de uitgang van de omkeerder 290, welke alleen hoog is ge-1 25 durende de periode van de eerste klokimpuls, zie fig. 27. De resterende ingang naar NAND poort 348 is uit de uitgang van een twee-ingangs NOR poort 350.
De funktie van de NOR poort 350 is het decoderen van de resterende twee bits (bits 10 en 11) van de kommandokode voor een 30 LITERAL TO B instruktie 64b. De twee ingangen naar de NOR poort 350 zijn daarom respektievelijk het signaal dat verschijnt op informatie-stuurlijn 182 (bit 10) en het komplement van het signaal dat verschijnt op informa-tie-stuurlijk 184 (bit 11), dat wordt verkregen uit de uitgang van omkeerder 198.
35 Uit deze opstelling zal de NAND poort 348 alleen een laag niveau signaal verschaffen aan de schuif/laadingangsklem van het B- 89 0 0 6 0 ^ ? * 28286/J F/i h -59- register 28 wanneer een LITERAL TO B instruktie 64b wordt gespecificeerd door een lettertijke instruktie 64. Analyse van de operatie van het B-register zal aantonen, dat wanneer een laag niveau signaal wordt toegepast op de schuif/laadklem van dat register, informatie aan de acht paral-5 lelie ingangen van het B-register direkt wordt ingeladen in het register onafhankelijk van de toestand van de toegepaste klokstuurimpulsen.
Wanneer aldus een LITERAL TO B instruktie 64b wordt gespecificeerd wordt het letterlijke waarde gedeelte van de instruktie parallel geladen in het B-register 28 wanneer de NAND poort 348 de juiste kom-10 mandokode decodeert.
Het deze opstelling 2al de uitgang van de NAND poort 352 alleen laag zijn wanneer een DEV type instruktie 118 moet worden uitgevoerd door de programmeerbare eenheid 10. De uitgang van NAND poort 352 wordt toegepast als een ingang in een twee-ingangs NAND poort 356, terwijl 15 het komplement van de uitgang van NAND poort 352 wordt toegepast als een ingang in een twee-ingangs NAND poort 358. Het komplement van de uitgang van NAND poort 352 wordt verschaft door een omkeerder 360, fig. 3Gn.
De andere ingang naar de NAND poort 356 is uit de uitgang van de NOR poort 246, welke de geëigende uitgang van de opteller 20 30 poort, terwijl de tweede ingang van de NAND poort 358 is uit de serie uitgang van een inrichtingregister 362, zie fig. 29. Het inrichtingregis-ter 362 is aangegeven als een buffer 364 in fig. 2. De uitgangen van NAND poorten 356, 358 worden toegepast als ingangen naar een twee ingangs NOR poort 370.
25 Het inrichtingsregister 362 is een 8-bit parallel tot serie verschuivingsregister, dat de informatie naar rechts schuift wanneer het geklokt wordt. De acht ingangen naar het inrichtingsregister 362 zijn respefctievelijk het signaal dat verschijnt op informatie/stuurlijnen 162-176 (de eerste acht bits van iedere instruktie). Een stuursignaal voor 30 het parallel laden van het inrichtingregister 362 wordt verkregen uit de uitgang van de NAND poort 142, welke de MCC impulsen 126 poort naar de tel-op klem 146 van de hexadecimale teller 134. Het klokken voor het inrichtingregister 362 wordt verkregen uit de uitgang van de NAND poort 132, welke KL0K-IN impulsen poort voor de programmeerbare eenheid 10, zie fig.
35 30b.
Wanneer in werking een MCC impuls wordt toegepast op 89 0 0 6 0 8 q _ * i 28286/J F/i h -60- de programmeerbare eenheid 10 op tijd tg wordt het inrichtingregister 362 parallel geladen met de eerste acht bits van de instruktie geadresseerd door MPCR-register 44. Op de tijden t^-tg wordt de inhoud van het inrichtingregister 362 in serie toegepast als een ingang naar de NAND poort 358 5 (bit 8 eerst).
Aangezien de DEV instruktie decodeer NAND poort 352 alleen laag is wanneer een DEV instruktie 118 moet worden uitgevoerd, is de funktie van de NAND poort 358 om het letterlijke waarde gedeelte 120 van een DEV instruktie 118 te poorten naar een DATA OUT klem 368 van de 10 programmeerbare eenheid 10 via de NOR poort 370. Anderzijds zal de NAND poort 356 altijd de geëigende uitgang van de optelIer 30 via de NOR poort 246 poorten naar de DATA-OUT KLEM 368 via de NOR poort 370, behalve wanneer een DEV instruktie wordt gespecificeerd.
De vier-bit uitwendige stuurlijnen 90, welke worden 15 gebruikt om de stroom van informatie te helpen bij het ingaan en uitgaan uit de programmeerbare eenheid 10, worden verkregen door twee van de twaalf informatie/stuurlijnen en respectievelijk de uitgangen van twee NAND poorten 373, 374. De signalen die verschijnen op de informatie/ stuurlijn 180 (bit 9) en 182 (bit 10) worden verkregen uit de uitgangs-20 klemmen 376, 378 van de programmeerbare eenheid 10. De signalen welke verschijnen op de uitwendige stuuringangsklemmen 376, 378 van de programmeerbare eenheid 10 tonen aan de buitenwereld (bijvoorbeeld een perifere inrichting) welk register, OUT 0, OUT 1, OUT 2 of OUT 3, wordt gespecificeerd gedurende een logische eenheidinstruktie 68. Deze twee signalen zijn 25 in feite de negende en tiende bits van het instruktiewoord.
De resterende twee uitwendige stuurbits worden verkregen uit de uitgangen van de respektievelijke NAND poorten 372, 374.
De funktie van de NAND poort 372 is het verschaffen van een uitwendige stuurbit A alleen wanneer een "OUT" bestemming wordt gespecificeerd of 30 een DEV type instruktie 118 wordt uitgevoerd door de programmeerbare eenheid 10. Deze twee uitwendige stuurbits A en B kunnen respektievelijk worden verkregen uit de uitgangsklemmen 376, 378 van de programmeerbare eenheid 10.
In de voorkeuruitvoeringsvorm geven de vier mogelijke 35 kombinaties van de uitwendige stuurbits A en B het volgende aan: 1) Bit A = 0, bit B - 0 geeft aan dat geen uitwendige van betekenis zijnde 89Q 0 6 0 8q _ -61- ί * 28286/JF/ih instruktie wordt uitgevoerd; 2) bit A = 0, bit B = 1 duidt op een "8EX" type instruktie; 3) bit A = 1, bit B = 0 duidt op een "OUT" type instruk-tie; en 4) bit A = 1, bit B = 1 duidt op een DEV type instruktie 118.
Iedere NAND poort 372, 374 heeft twee ingangen, zie 5 fig. 30h. Een ingang in iedere NAND poort 372, 374 is uit de uitgang van de NAND poort 352, welke alleen laag is wanneer een DEV type instruktie 118 wordt uitgevoerd door de programmeerbare eenheid 10. De andere ingang naar NAND poort 372 is uit de uitgang van een twee-ingangs NAND poort 380. De twee ingangen naar de NAND poort 380 zijn respektievelijk de uitgang van 10 de omkeerder 206, welke alleen hoog is wanneer een logisch type instruktie 68 wordt uitgevoerd, en de uitgang van de NOR poort 256, welke al Leen hoog is wanneer een "OUT" bestemming wordt gespecificeerd. Zodoende is de funktie van de NAND poort 380 het verschaffen van een laag niveau signaal als een ingang naar de NAND poort 372 alleen wanneer een "OUT" bestemming wordt 15 gespecificeerd door het bestemmingsveld 114 van een logische eenheidin-struktie 68. Net zijn respektieve ingangen zat de NAND poort 272 alleen een hoog niveau signaal (uitwendige stuurbit A) verschaffen wanneer een DEV type instruktie 118 wordt uitgevoerd of een "OUT" bestemming wordt gespecificeerd.
20 De tweede ingang naar de NAND poort 374 is uit de uit gang van een twee-ingangs NAND poort 382. De twee ingangen naar de NAND poort 383 zijn respektievelijk de uitgang van de omkeerder 206 en de uitgang van een twee-ingangs-NOR poort 384. De twee ingangen naar de NOR-poort 384 zijn respektievelijk het signaal dat verschijnt op de informatie/stuur-25 lijn 176 (bit 8), en het komplement van het signaal dat verschijnt op in-formatie/stuurlijn 174 (bit 7), dat wordt verkregen uit de uitgang van de omkeerder 234.
In werking zal de NOR poort 384 alleen een hoog niveau signaal verschaffen wanneer een "BEX" type bestemming wordt gespecificeerd.
30 Dit hoog niveausignaal zat worden gepoort door de NAND poort 383 om een laag niveau signaal ingang voor de NAND poort 374 te verschaffen. Zodoende zal de NAND poort 374 alleen een hoog niveau signaal (uitwendige stuurbit B) verschaffen aan uitgangsklem 388 van de programmeerbare eenheid 10, wanneer hetzij een "BEX" type bestemming of een DEV type instruktie wordt 35 gespecificeerd.
In antwoord op het instruktie-adres aan de uitgang van 89 00 6 0 8q '* * -62- 28286/J F/i h het MPCR-register 44 zal het geheugen 160 het geëigende twaalf-bit instruktiewoord verschaffen aan de ingang van het instruktieregister 500, zie fig. 30a. Zoals kort besproken, is het instruktieregister 500 een twaalf-bit parallel-in parallel-uit opslagregister, dat informatie 5 overdraagt naar de uitgangspennen wanneer een klokingang voor het register 500 gaat van een hoog niveau naar een laag niveau. De twaalf ingangen naar het instruktieregister 500 zijn uit het geheugen 160, terwijl de twaalf uitgangen van het instruktieregister de informatie/stuursignalen 162-186 verschaffen. Het klokken voor het instruktieregister wordt verschaft door 10 de uitgang van de omkeerder 156 welke laatste impuls signaal 122 verschaft aan de laatste impulsuitgangsklem 158 van de programmeerbare eenheid 10.
Merk op dat analyse van de uitgang van de hexadecimale teller 154 zal aantonen, dat een hoog niveau naar een laag niveau signaal overgang zal plaatsvinden aan de klokstuurklem van het instruktieregister alleen op 15 tijd tg. Zodoende zal een nieuwe instruktie niet worden geladen in het instruktieregister 500 totdat de voorgaande instruktie volledig is uitgevoerd door de programmeerbare eenheid 10. Door het outilleren van werk-funkties in mikroprogramma worden alle vereiste stuur- en informatie-signalen opgeslagen in het geheugen, waarbij onnodige verbindingen met 20 de uitwendige omgeving worden vermeden. In de voorkeursuitvoeringsvorm zijn 12 verbindingen met de uitwendige omgeving aanwezig. Vijf klemmen, namelijk de DATA-IN klem 280, de KL0K-IN klem 130, de MCC klem 140, de MPCR CLEAR klem 502, en de UITWENDIGE KONDITIE-klem 314 zijn aangebracht voor stuur- en kloksignalen naar de programmeerbare eenheid 10, namelijk, 25 de KLOK-UIT klem 138, de LAATSTE IMPULS klem 158, de DATA-UIT klem 368, en de vier uitwendige stuurbitklemmen 376, 378, 386, 388 verschaffen stuur- en informatiesignalen om de uitwendige omgeving te informeren omtrent de status van de programmeerbare eenheid 10. Twee additionele ver-bindingsklemmen zijn vereist voor het verschaffen van de nodige elektrische 30 energie wanneer de programmeerbare eenheid 10 is geoutilleerd met LSI technologie. Deze twee additionele klemmen zijn aangegeven als "spanningen" (voltages) en "aarde" (ground) in fig. 2.
Hoewel een programmeerbaar alleen-lees geheugen werd besproken, kan het mikrogeheugen 14 (fig. 2) ieder geëigend type mikro-35 programmeerbaar geheugen zijn. Wanneer men LSI outillage beschouwt met een ROM-type geheugen kan een lees-schrijf type geheugen eerst worden gebruikt 89 00 6 0 8.q s 'r- 28286/J F/i h -63- om het optimale programma te ontwikkelen voor een gegeven werkfunktie.
Uit dit optimale programma kan een bitpatroon voor een ROM-type geheugen worden opgewekt en opgenomen in het niet variërende logische gedeelte van de verwerkingseenheid, welke dan kan worden geoutilleerd als een 5 enkelvoudig LSI plaatje. Bovendien zullen, aangezien slechts een instruk-tierepertoire omvattende letterlijke, logische, konditie- en DEV type in-strukties werd aangegeven, alle modifikaties door toevoeging of weglating in het instruktierepertoire de basisstruktuur met ontwerpbeschouwingen niet veranderen. Door toepassing van een soft-hardware of soft-machine 10 ontwerp via mikroprogrammeringstechniek kunnen schakelingen eenvoudig worden toegevoegd of weggelaten om de additionele of weg te laten operaties uit te voeren gespecificeerd door de modifikaties. Verder worden additionele geheugencapaciteit evenals instruktiewerklengtemodifikatie vergemakkelijkt door een soft-machine architektuur, aangezien de noodzakelijke mo-15 difikaties voor specifieke schakelingen essentieel modulair van aard zijn.
Uit de voorgaande beschrijving zal worden onderkend dat een verwerkingsorgaan wordt verkregen door de onderhavige uitvinding, dat outillage met LSI technologie mogelijk maakt. Het ontwerp van de programmeerbare eenheid heeft het voordeel, dat alle schakelingen minimaal 20 toegewezen logica vertegenwoordigen, welke worden toegewezen tot een specifieke taak door stuursignalen, welke ontstaan in het mikroprogramma. Indien het mikroprogramma wordt opgeslagen in een ROM-type geheugen, dat integraal is met de beschreven verwerkende eenheid, worden de aantallen van vereiste uitwendige verbindingen aanzienlijk gereduceerd.
; 25 Zodoende zat, aangezien de uitvinding in het bijzon der is aangegeven en beschreven aan de hand van een voorkeursuitvoeringsvorm ervan, het aan de vakmensen duidelijk zijn, dat verschillende wijzigingen in vorm en details kunnen worden aangebracht.
89 0 0 6 0 8 q _
Claims (3)
1. Processor voor de bewerking van gegevens met een meer dere mikro-instrukties bevattend geheugen, waarbij elke mikro-instruktie stuur-5 signalen voor het verschaffen van wegen bevat, die de bewerking van de gegevens in een rekenkundige eenheid van de processor in overeenstemming met een opgeslagen programma moge lijk maken, met het kenmerk, dat in de processor (10) tussen een seriële gegevensingangsbus en een seriële gegevensuitgangsbus (34) een aan het geheugen (14) aangesloten toegangsinrichting 10 (16) voor het aansturen van telkens één van meerdere mikro-instrukties is geschakeld en die aan de tussen de gegevensingangsbus en de gegevensuit-gangsbus geschakelde rekenkundige eenheid (12) parallel de stuursignalen van de uitgelezen mikro-instruktie toevoert, voor de seriële uitvoering van logische bewerkingen van de via de gegevensingangsbus ontvangen bits.
2. Inrichting volgens conclusie 1, met het kenmerk, dat de toegangsinrichting een geheugenstuureenheid (MCU 16) voor het adresseren van een mikro-instruktie alsmede een decodeerinrichting (CU 18) voor het decoderen van een uitgelezen mikro-instruktie bevat, waarbij de geheugen-stuurinrichting door door een inwendige klokgenerator (58) afgegeven pulsen 20 en de decodeerinrichting door enige van de door de klokgenerator (58) afgegeven pulsen worden gestuurd.
3. Inrichting volgens conclusie 1 of 2, met het kenmerk, dat is voorzien in een eerste register (28) voor de opneming van in een deel van een door de adresseerinrichting uitgelezen mikro-instruktie ver-25 vatte en door de decodeerinrichting gedecodeerde gegevens en dat een eerste poortschakeling (36) tussen de gegevensuitgangsbus (34), de rekenkundige eenheid (30) en het eerste register (28) is geschakeld en afhankelijk van uit de decodeerinrichting (18) opgenomen stuursignalen en gedecodeerde gegevens uit het eerste register of de bewerkte gegevens uit de 30 rekenkundige eenheid (30) op de gegevensuitgangsbus (34) geeft. 89 0 0 6 0 8 - O—^
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US30786372 | 1972-11-20 | ||
| US307863A US3878514A (en) | 1972-11-20 | 1972-11-20 | LSI programmable processor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| NL8900608A true NL8900608A (nl) | 1989-06-01 |
Family
ID=23191492
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| NL7315163A NL7315163A (nl) | 1972-11-20 | 1973-11-06 | |
| NL8900608A NL8900608A (nl) | 1972-11-20 | 1989-03-14 | Programmeerbare verwerkingsinrichting voor integratie op grote schaal. |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| NL7315163A NL7315163A (nl) | 1972-11-20 | 1973-11-06 |
Country Status (14)
| Country | Link |
|---|---|
| US (1) | US3878514A (nl) |
| JP (1) | JPS6361691B2 (nl) |
| BE (1) | BE807098A (nl) |
| BR (1) | BR7309060D0 (nl) |
| CA (1) | CA1002200A (nl) |
| DE (1) | DE2357003C2 (nl) |
| DK (1) | DK158685C (nl) |
| FR (1) | FR2217745B1 (nl) |
| GB (1) | GB1429379A (nl) |
| IE (1) | IE40493B1 (nl) |
| IL (1) | IL43641A (nl) |
| IT (1) | IT1002151B (nl) |
| NL (2) | NL7315163A (nl) |
| ZA (1) | ZA738531B (nl) |
Families Citing this family (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5615380A (en) * | 1969-11-24 | 1997-03-25 | Hyatt; Gilbert P. | Integrated circuit computer system having a keyboard input and a sound output |
| US4896260A (en) * | 1970-12-28 | 1990-01-23 | Hyatt Gilbert P | Data processor having integrated circuit memory refresh |
| US4825364A (en) * | 1970-12-28 | 1989-04-25 | Hyatt Gilbert P | Monolithic data processor with memory refresh |
| US4016540A (en) * | 1970-12-28 | 1977-04-05 | Gilbert Peter Hyatt | Apparatus and method for providing interactive audio communication |
| US5410621A (en) * | 1970-12-28 | 1995-04-25 | Hyatt; Gilbert P. | Image processing system having a sampled filter |
| GB1469300A (en) * | 1973-12-22 | 1977-04-06 | Olympia Werke Ag | Circuit arrangement for an integrated data processing system |
| US4149240A (en) * | 1974-03-29 | 1979-04-10 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of data structure operations |
| US4153932A (en) * | 1974-03-29 | 1979-05-08 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
| US4177511A (en) * | 1974-09-04 | 1979-12-04 | Burroughs Corporation | Port select unit for a programmable serial-bit microprocessor |
| US3972025A (en) * | 1974-09-04 | 1976-07-27 | Burroughs Corporation | Expanded memory paging for a programmable microprocessor |
| GB1505535A (en) * | 1974-10-30 | 1978-03-30 | Motorola Inc | Microprocessor system |
| US3988604A (en) * | 1974-11-19 | 1976-10-26 | Raymond Jr Joseph H | Electronic calculator or digital processor chip having multiple function arithmetic unit output |
| US4037090A (en) * | 1974-11-19 | 1977-07-19 | Texas Instruments Incorporated | Multiphase clocking for MOS |
| JPS5193138A (en) * | 1975-02-12 | 1976-08-16 | Johoshorisochini okeru kyotsujohono densohoshiki | |
| US4037202A (en) * | 1975-04-21 | 1977-07-19 | Raytheon Company | Microprogram controlled digital processor having addressable flip/flop section |
| FR2325106A1 (fr) * | 1975-05-29 | 1977-04-15 | Burroughs Corp | Appareil d'acces pour la communication de donnees |
| US3988717A (en) * | 1975-08-06 | 1976-10-26 | Litton Systems, Inc. | General purpose computer or logic chip and system |
| JPS5228243A (en) * | 1975-08-28 | 1977-03-03 | Toshiba Corp | Bit slice-type lsi function multiplexing |
| DE2638125A1 (de) * | 1975-09-04 | 1977-03-17 | Tokyo Shibaura Electric Co | Datenverarbeitungssystem |
| GB1540923A (en) * | 1975-12-01 | 1979-02-21 | Intel Corp | Programmable single chip mos computer |
| US4212076A (en) * | 1976-09-24 | 1980-07-08 | Giddings & Lewis, Inc. | Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former |
| US4167781A (en) * | 1976-10-12 | 1979-09-11 | Fairchild Camera And Instrument Corporation | Microprocessor system having a single central processing unit shared by a plurality of subsystems each having a memory |
| US4367524A (en) * | 1980-02-07 | 1983-01-04 | Intel Corporation | Microinstruction execution unit for use in a microprocessor |
| US4446514A (en) * | 1980-12-17 | 1984-05-01 | Texas Instruments Incorporated | Multiple register digital processor system with shared and independent input and output interface |
| US4384340A (en) * | 1980-12-24 | 1983-05-17 | Honeywell Information Systems Inc. | Data processor having apparatus for controlling the selection of decimal digits of an operand when executing decimal arithmetic instructions |
| US4404629A (en) * | 1981-01-26 | 1983-09-13 | Atari, Inc. | Data processing system with latch for sharing instruction fields |
| US4656579A (en) * | 1981-05-22 | 1987-04-07 | Data General Corporation | Digital data processing system having a uniquely organized memory system and means for storing and accessing information therein |
| US4618925A (en) * | 1981-05-22 | 1986-10-21 | Data General Corporation | Digital data processing system capable of executing a plurality of internal language dialects |
| US4583169A (en) * | 1983-04-29 | 1986-04-15 | The Boeing Company | Method for emulating a Boolean network system |
| US4697250A (en) * | 1983-08-22 | 1987-09-29 | Amdahl Corporation | Flexible computer control unit |
| US5349670A (en) * | 1986-07-23 | 1994-09-20 | Advanced Micro Devices, Inc. | Integrated circuit programmable sequencing element apparatus |
| US5594908A (en) * | 1989-12-27 | 1997-01-14 | Hyatt; Gilbert P. | Computer system having a serial keyboard, a serial display, and a dynamic memory with memory refresh |
| EP0992887B1 (en) * | 1998-10-06 | 2010-03-03 | Texas Instruments Inc. | Memory access using byte qualifiers |
| US7457676B1 (en) | 2000-06-14 | 2008-11-25 | Marvell International Ltd. | Vehicle for recording and reproducing digital data |
| US7315764B1 (en) * | 2000-06-14 | 2008-01-01 | Marvell International Ltd | Integrated circuit, method, and computer program product for recording and reproducing digital data |
| US7577247B1 (en) | 2000-06-14 | 2009-08-18 | Marvell International Ltd. | Apparatus and method for telephone, intercom, and clock |
| US7778736B2 (en) | 2000-06-14 | 2010-08-17 | Marvell International Ltd. | Apparatus, method, and computer program for sprinkler control |
| US7546172B1 (en) * | 2000-06-14 | 2009-06-09 | Marvell International Ltd. | Apparatus, method, and computer program product for recording and reproducing digital data |
| US7298252B1 (en) * | 2000-06-14 | 2007-11-20 | Marvell International Ltd. | Apparatus, method, and computer program for an alarm system |
| US8832670B2 (en) * | 2011-07-01 | 2014-09-09 | Mitsubishi Electric Corporation | Programmable controller and programming tool for communication with legacy equipment |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3302183A (en) * | 1963-11-26 | 1967-01-31 | Burroughs Corp | Micro-program digital computer |
| US3391394A (en) * | 1965-10-22 | 1968-07-02 | Ibm | Microprogram control for a data processing system |
| US3478322A (en) * | 1967-05-23 | 1969-11-11 | Ibm | Data processor employing electronically changeable control storage |
| US3700873A (en) * | 1970-04-06 | 1972-10-24 | Ibm | Structured computer notation and system architecture utilizing same |
| US3745533A (en) * | 1970-05-27 | 1973-07-10 | Hughes Aircraft Co | Digital data storage register modules |
| FR2136845B1 (nl) * | 1971-05-07 | 1973-05-11 | Inf Cie Intern | |
| US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
| US3760369A (en) * | 1972-06-02 | 1973-09-18 | Ibm | Distributed microprogram control in an information handling system |
-
1972
- 1972-11-20 US US307863A patent/US3878514A/en not_active Expired - Lifetime
-
1973
- 1973-07-24 GB GB3517173A patent/GB1429379A/en not_active Expired
- 1973-10-26 CA CA184,369A patent/CA1002200A/en not_active Expired
- 1973-11-06 JP JP48125871A patent/JPS6361691B2/ja not_active Expired
- 1973-11-06 ZA ZA738531A patent/ZA738531B/xx unknown
- 1973-11-06 NL NL7315163A patent/NL7315163A/xx not_active Application Discontinuation
- 1973-11-09 BE BE137553A patent/BE807098A/xx not_active IP Right Cessation
- 1973-11-12 DK DK607773A patent/DK158685C/da active
- 1973-11-15 DE DE2357003A patent/DE2357003C2/de not_active Expired
- 1973-11-16 IL IL43641A patent/IL43641A/en unknown
- 1973-11-16 IT IT31455/73A patent/IT1002151B/it active
- 1973-11-19 IE IE2097/73A patent/IE40493B1/xx unknown
- 1973-11-20 BR BR9060/73A patent/BR7309060D0/pt unknown
- 1973-11-20 FR FR7341322A patent/FR2217745B1/fr not_active Expired
-
1989
- 1989-03-14 NL NL8900608A patent/NL8900608A/nl not_active Application Discontinuation
Also Published As
| Publication number | Publication date |
|---|---|
| NL7315163A (nl) | 1974-05-22 |
| DE2357003A1 (de) | 1974-05-22 |
| DK158685C (da) | 1991-02-25 |
| FR2217745B1 (nl) | 1983-11-04 |
| JPS6361691B2 (nl) | 1988-11-30 |
| IE40493L (en) | 1974-05-20 |
| AU6268773A (en) | 1975-05-22 |
| IT1002151B (it) | 1976-05-20 |
| IL43641A (en) | 1976-04-30 |
| DE2357003C2 (de) | 1984-12-20 |
| IL43641A0 (en) | 1974-03-14 |
| GB1429379A (en) | 1976-03-24 |
| JPS5047534A (nl) | 1975-04-28 |
| FR2217745A1 (nl) | 1974-09-06 |
| BE807098A (fr) | 1974-03-01 |
| ZA738531B (en) | 1974-09-25 |
| US3878514A (en) | 1975-04-15 |
| DK158685B (da) | 1990-07-02 |
| BR7309060D0 (pt) | 1974-08-29 |
| IE40493B1 (en) | 1979-06-20 |
| CA1002200A (en) | 1976-12-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| NL8900608A (nl) | Programmeerbare verwerkingsinrichting voor integratie op grote schaal. | |
| Sutherland | Micropipelines | |
| US4228498A (en) | Multibus processor for increasing execution speed using a pipeline effect | |
| JP3708541B2 (ja) | マイクロプロセサをベースとしたfpga | |
| US3702988A (en) | Digital processor | |
| US4310880A (en) | High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit | |
| US4903228A (en) | Single cycle merge/logic unit | |
| US4443848A (en) | Two-level priority circuit | |
| US4378589A (en) | Undirectional looped bus microcomputer architecture | |
| JPH087083A (ja) | 算術及び論理混合組合せを形成する3入力算術論理装置 | |
| US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
| KR900005282B1 (ko) | 직접 회로 구조 | |
| EP0114191A2 (en) | Microword control system utilizing overlapped programmable logic arrays | |
| CA1148665A (en) | Microcomputer arranged for direct memory access | |
| US3946366A (en) | Addressing technique employing both direct and indirect register addressing | |
| EP0086992B1 (en) | Microword generation mechanism utilizing separate programmable logic arrays | |
| US4429361A (en) | Sequencer means for microprogrammed control unit | |
| US4504904A (en) | Binary logic structure employing programmable logic arrays and useful in microword generation apparatus | |
| JPS6254359A (ja) | コンピユ−タ装置 | |
| US5907693A (en) | Autonomously cycling data processing architecture | |
| EP0164418B1 (en) | Microprogram control system | |
| EP0469543A2 (en) | Multiple interrupt handling circuit | |
| WO2016109571A1 (en) | Devices for time division multiplexing of state machine engine signals | |
| EP0012242A1 (en) | Digital data processor for word and character oriented processing | |
| EP0234187B1 (en) | Programmably controlled shifting mechanism in a programmable unit having variable data path widths |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A1A | A request for search or an international-type search has been filed | ||
| BB | A search report has been drawn up | ||
| BC | A request for examination has been filed | ||
| BV | The patent application has lapsed |