DE2357003C2 - Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage - Google Patents

Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage

Info

Publication number
DE2357003C2
DE2357003C2 DE2357003A DE2357003A DE2357003C2 DE 2357003 C2 DE2357003 C2 DE 2357003C2 DE 2357003 A DE2357003 A DE 2357003A DE 2357003 A DE2357003 A DE 2357003A DE 2357003 C2 DE2357003 C2 DE 2357003C2
Authority
DE
Germany
Prior art keywords
output
input
bit
command
adder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2357003A
Other languages
English (en)
Other versions
DE2357003A1 (de
Inventor
Ulbe Honeybrook Pa. Faber
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of DE2357003A1 publication Critical patent/DE2357003A1/de
Application granted granted Critical
Publication of DE2357003C2 publication Critical patent/DE2357003C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/265Microinstruction selection based on results of processing by address selection on input of storage

Description

Die Erfindung bezieht sich auf einen Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage mit einem
<<5 Mikrobefehlsspeicher, dessen Speicherplätze von einer Mlkrobefehlsspelcher-Steuerelnhelt adressiert werden und
Mikrobefehle über eine Steuereinheit an eine logische Einhell zur Ausführung arithmetischer und logischer Operationen abgeben, wobei die logische Einheit über einen bitseriellen Datenclngangs- und Datenausgangsbus
mil einer externen Schnittstelle verbunden lsi und einen Addierer, mehrere A- und ein B-Rcglstcr sowie
f!—*—"^ ι ι I ι Ii —^
|| Auswahlschaltungen zur Verbindung der Ein- und Ausgänge der jeweiligen Register mit den Ein- und Aus-
% gangen des Addierers enthält.
H Aus der US-PS 34 78 322 ist ein Prozessor bekannt, der eine Steuereinheit mit einem Steuerspeicher enthält,
|| der aus einem externen Speicher oder von Mehrzweckregistern des Prozessors selbst mit Mikrobefehlen geladen
If wird, so daß der Prozessor In der Lage Ist, unabhängig von festen Schaltverbindungen eigene Verknüpfungen
;| der eingegebenen Daten vorzunehmen. Zu diesem Zeck enthält die Steuereinheit einen In Abhängigkeit von
S Systembedingungen gesteuerten Adressengcnerator zum Zuweisen, Auslesen und Ausführen der Mikrobefehle P sowie mehrere Mehrzweckregister und eine arithmetisch-logische Einheit, deren Dateneingänge über ein A- und
U ein B-Reglst?r mit dem A- und B-Datenbus verbunden sind. Über einen Ausgangsbus 1st die arlthmetlsch-logt-
y· sehe Einheit mit den Mehrzweckregistern verbunden, wobei die Registerauswahl mittels der durch den elektro- ">
% nlsch veränderbaren Steuerspeicher ausgeführten Mikrobefehle gesteuert wird. Die Ausgänge sämtlicher Mehr-
\ti zweckreglster können wahlweise über den Α-Bus mit der arithmetisch logischen Einheit verbunden werden,
f/- während die Ausgänge von zwei der Mehrzweckregister zusätzlich über den B-Bus mil der arithmetlsch-Iogi-
\. sehen Einheit verbindbar sind. Bei dem bekannten Prozessor wenden der arithmetisch-logischen Einheit somit
ti Mikrobefehle parallel aus dem Steuerspeicher zur Ausführung logischer Operationen zugeführt und gestatten '5
j£ einen flexiblen und nicht auf einen bestimmten Anwendungszweck eingeschränkten Einsatz des Prozessors.
K Somit kann der Prozessor sowohl zur Steuerung von Ein- und Ausgabedatenübertragungen, zur Ausführung
fr; eines In einer speziellen, höheren Programmlersprache geschriebenen Programms und zur Ausführung eines in
-.'; einer anderen Programmiersprache geschriebenen Programms herangezogen werden.
Wegen der Flexibilität des mikroprogrammierbaren Prozessors können zwei oder mehrere Prr.T.ssoren In einer ".' Mehrprogramm-Datenverarbeüungsaniage eingesetzt werden, ohne daß auf eine spezielle Ein- und Ausgabc-
■ steuerung zurückgriffen werden muß.
- Ein weiterer Vorteil des bekannten Prozessors besteht darin, daß die vom Sieuerspelcher abgegebenen Mikrobefehle einander überlappend ausgeführt werden können, wobei bestimmte Mikrobefehle bedingungsabhängig sein können, so daß deren Ausführung bis zur Prüfung der Jeweiligen Bedingungen verschoben werden kann. Andere Mikrobefehle können In Abhängigkeit von dem Ergebnis der betreffenden Prüfungen abgerufen werden. Darüber hinaus ist eine Verzweigung In dem jeweiligen Mikroprogramm möglich. Die Mikrobefehle geben dann die jeweilige logische Operation einschließlich Datenverschiebungen und darüber hinaus Daten-Sprungadressen sowie Vcrschlebungsbelräge an, die für die Ausführung anderer Mikrobefehle erforderlich sind. Derartige Mikrobefehle binden jedoch die arithmetisch-logische Einhell unabhängig davon, ob eine logische Operation erforder- ·'" Hch Ist oder nicht. Damit bindet eine einfache Arbellsfunktlon, beispielsweise die Steuerung einer Vorrichtung oder des Speichers, die an sich ein Minimum an logischen Operationen umfaßt, die arithmetisch-logische Einhell des Prozessors für die Zeltdauer der gesamten Informationsübertragung.
Neben der universellen Anwendbarkelt des Prozessors ist für seinen wirtschaftlichen Einsatz eine einfache Mikroprogrammlerung des Prozessors sowie ein einfacher Aufbau und eine wirtschaftliche Herstellbarkelt erforderllch. Dazu Ist es erforderlich, den Prozessor so zu organisieren, daß er eine gerlngslmögliche Anzahl von zu externen Schnittstellen führenden Anschlüssen aufweist und dabei so aufgebaut Ist, daß er sich für die Herstellung aus einem hochintegrierten Halblelterchlp eignet.
Aufgabe der vorliegenden Erfindung Ist es, die an sich bekannte Struktur eines mlkroprogrammlerten Prozessors der eingangs genannten Art soweit zu reduzieren, daß sie auf einem hochintegrierten Halblelterplättchen mit einer minimalen Anzahl von externen Anschlüssen bei optimaler Datenverarbeitungsgeschwindigkeit realisierbar Ist.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß die Steuereinheit einen mit dem Ausgang des Mlkrobefehlsspelchers verbundenen Dekodierer zum bitparallelen Empfang der Mikrobefehle, eine Nachfolger-Bestimmungslogik zur Bestimmung des nächsten Mikrobefehls, eine Bcdlngungsauswahlloglk und ein vom Addierer der logischen Einheit abgegebenes Bedlngunrjsblls empfangendes Bedingungsregister enthalt, daß die Mlkrobefehlsspclcher-Steuerelnhelt ein mit dem Adresslereingang des Mlkrobefehlsspeichcrs verbundenes Mlkrobefehlsspelcher-Zählrcglster, das um eine oder zwei Einheiten Inkremenilerbar Ist und den jeweils nächsten Befehl aus dem Mlkrobefchlsspeteher abruft sowie ein über bitparallele Leitungen wechselseitig mit dem Mlkrobcfehlsspelcher-Zählreglster verbundenes Wechsel-Mlkrobefehlsspelcher-Zählreglster enthalt, das 5" elngangsseltlg über eine bitparallele Leitung mit einem ersten Ausgang des Dekodierers zum Empfang von aus Mikrobefehlen abgeleiteten Llteralcn und über eine bltscricllc Leitung mit dem Ausgang einer an den Ausgang des Addierers angeschlossenen ersten Auswahlschaltung verbunden Ist, und die Sprung- sowie Rückkehradressen für Programmsprunge und Unterprogramme enthält,
daß der X-Elngang des Addierers über die erste Auswahlschaltung mit dem Ausgang eines der Α-Register una der Y-Elngang des seriellen Addierers über eine zweite Auswahlschaltung mit dem Ausgang des B-Registers oder des Wechsel-Mlkrobefehlsspelcher-Zählrcglsters verbunden Ist und für einen Teil der durchzuführenden logischen oder arithmetischen Operationen mit dem wahren oder komplementären Inhalt des B-Reglsters und für den verbleibenden Teil der durchzuführenden Operationen mit dem Inhalt des Wechsel-Mlkrobefchlsspelcher-Zahlreglsters als Y-Operanden geladen wird, *"
daß ein bitserieller Eingang des B-Reglstcrs über eine drltt^ Auswahlschaltung sowohl mit dem wahren Ausgang des B-Reglsiers, über die erste Auswahlschaltung mit dem Ausgang des Addierers oder mit dem bitseriellen Dutunclngangsbus des Prozessors verbindbar und ein bitparalleler Eingang des B-Reglsters zum Empfang von Mikrobefehlen mit einem zweiten Ausgang des Dekodierers verbunden Ist,
wobei die In das B-Reglster eingegebenen Daten oder Befehle getaktet zum Ausgang verschoben oder parallel h5 direkt In das B-Reg'.st.cr geladen werden, und daß ein bltserlcller Ausgang des Addierers über den Datenausgangsbus des Prozessors mit der externen Schnittstelle verbunden Ist, wobei die Nachfolger-Bestimmungslogik der Steuereinheil festlegt, ob zur Adressierung des Mikrobefehls-
Speichers der um 1 oder 2 Inkremcntlcric Inhalt des Mlkrohcfchlsspclchcr-Zllhlrcglstcrs oder der Inhalt des Wechsel-Mlkrobefohlsspclchcr-ZHhlrcglstcrs verwendet wird.
Die crflndungsgcmaßc Organisation des Prozessors stellt bei maximalem Datendurchsatz sicher, Call der Prozessor auf einem hochintegrierten llalblcltcrchlp angeordnet werden kann und eine minimale An/ahl nach außen führender Anschlüsse für die Datenübertragung und Steuerung aufweist.
Anhand eines In der Zeichnung dargestellten Ausführung.sbclsplclcs soll der der Erfindung zugrunde liegende Gedanke näher crlilutcrt werden. Es zeigt
Flg. I ein Blockschaltbild mit den einzelnen Elementen des nilkroprogrammlcrbarcn Prozessors; Flg. 2 ein Blockschaltbild der einzelnen Elemente des mlkroprogrammlerbarcn Prozessors und deren Vcrbindung untereinander;
Flg. 3 das Format eines Llicralbefchls; Flg. 4 das Formal eines Bcdlngungs-Prüf-Bcfchls;
Flg. 5 eine Tabelle der verschiedenen Befehle zum Adressieren des Mlkroprogrammspelchcrs; Flg. 6 das Formal eines logischen Befehls; Flg. 7 das Format eines externen Befehls;
Flg. 8 das Schallbild eines Bedingungsregisters des Prozessors; FI g. 9 das Schaltbild eines seriellen Addierers des Prozessors; Flg. 10 ein Schaltbild eines hexadezimalen Zahlers des Prozessors;
Fig. U ein Schaltbild eines sechzchn/acht-Multlplexcrs des Prozessors; Fig. 12 ein Schaltbild eines e-Blt-Umlauf-Schlebereglstcrs des Prozessors; Flg. 13 ein Schaltbild des Dutcnwahlcrs des Prozessors;
Flg. 14 ein zeitliches Diagramm der dem Prozessor zugcfUhrtcn und von Ihm erzeugten Takl-lmpulsc; Flg. 15 ein zeitliches Diagramm verschiedener dem hexadezimalen /.ahler zugeordneter Takt-Stcuerlmpulsc; Flg. 16 ein Schaltbild eines vlcr/elns-Mulllplcxcrs des Prozessors; :^ Flg. 17 eine Wahrheltstabclle des vlcr/clns-Multlplcxers gemäß Flg. 16;
Flg. 18 ein Schaltbild eines parallelen 8-Hlt-Schlebcrcglstcrs des Prozessors; Flg. 19 ein Schaltbild eines clns-aus-vlcr-Dekodlerers der Steuereinheit des Prozessors; Flg. 20 eine Wahrheitstabelle des elns-aus-vler-Dckodlercrs gern üb Flg. 19; Flg. 21 eine Wahrheltslabclle des Bedingungsregisters;
Flg. 22 ein Schaltbild eines Daten-Selektor-Mulllplexcrs mit acht Eingängen; Flg. 23 eine Wahrheitstabelle des Datcn-Sclektor-Multlplexers gemäß Flg. 22; Fig. 24 ein Schaltbild eines binären elns-aus-drel-Dckodlcrcrs des Prozessors; Flg. 25 eine Wahrhcltstabelle des Dekodlcrers gemäß Flg. 24; Flg. 26 ein Schaltbild eines synchronen 8-Blt-ZBhlers des Prozessors;
Flg. 27 ein zeltlicher Ablauf der verschiedenen, vom Prozessor abgegebenen Takt-Stcucrlmpulsc; Flg. 28 ein Schaltbild eines 8-Blt-Parullelrcglsiers;
Flg. 29 ein Schaltbild eines 8-Bll-Schlebcrcgisiers mit puraiicicm Eingang und seriellem Ausgang; Flg. 30 ein detailliertes Schaltbild der einzelnen Einheiten eines bevorzugten AusfOhrungsbelsplels; und Flg. 31 ein Schaltbild eines ^-Bit-Befehlsregisters mit parallelem Ein- und Ausgang.
Der mlkroprogrammlerbarc Prozessor 10 (Flg. 1) besteht aus fünf funktlonelien Teilen, namllch der logischen Einheit 12 (LU), die das Verschieben und die notwendigen arithmetischen und logischen Funktionen ausführt, sowie mehrere schnellere Hllfsreglsier; einem Mlkrobefehlsspelchcr 14 (MPM), der Mlkroprogrammfolgcn liefert, von denen einige Wörter Lltcrale und andere Stcucrlnformatlonen enthalten, die von dem Mlkroprogrammlcrcr angegeben sind; einer Spelchersteuerelnhclt 16 (MCU), die die Register für das Adressleren des Mlkroprogramm-Speichers enthält; einer Steuereinheit 18 (CU), die die zeitliche und bedingungsabhängige Steuerung sowie die Nachfolger-Besilmmung (den nächsten Befehl) und das Befehlsentschlüsseln ausführt; sowie einer äußeren Schnittstelle 20 (EXl). Der Prozessor 10 erscheint, obgleich seriell ausgelegt, für die meisten funktlonelien Operationen als eine parallel ausgelegte Vcrarbcllungselnhelt.
In der bevorzugten Ausführungsform weist die logische Einheit 12 drei e-Blt-Umlauf-Schlebereglstcr 22, 24 5(1 und 26, bezeichnet als Register Al, Al, A3, ferner ein 8-Bit-Umlaur-Schlebereglster 28, bezeichnet als B-Rcglsfi, sowie einen seriellen Addierer 30 und zugehörige Auswahlschaltungen (siehe Flg. 2) auf. Die A-Reglstcr 22, 24, und das B-Reglstcr 28 sind umlaufende Schieberegister, so daß Information In den Addierer 30 ohne Veränderung des Inhaltes der jeweiligen A-Reglster Obertragen werden kann.
Sämtliche A-Reglster 22, 24 und 26 sind funktionell Identisch. Sie speichern Daten und können mit dem Ausgang des Addierers 30 durch Auswahl 36 (Fig. 2) geladen werden, die den Eingang zu dem jeweiligen A-Reglster bestimmen. Eine vierte Auswahlschaltung 40 ermöglicht, daß der Inhalt eines der A-Rcglster 22, 24 oder 26 als ein Eingang verwendet wird, und zwar bezeichnet als der X-F.lngang 70 zum Addierer 30.
Das B-Register 28 Ist die primäre Schnittstelle zu dem Hauptspeicher des Mehrprozessor-Systems (in Flg. 1 als DATEN EIN bezeichnet), die über die externe Schnittstelle 20 führt. Das B-Reglster 28 dient welter als ein w) zweiter oder Y-Elngang 72 für den Addierer 30 und sammelt gewisse Nebenergebnisse arithmetischer Operationen. Das B-Register 28 kann über eine dritte Auswahlschaltung 38 mit dem Ausgang des Addierers 30 über die erste Auswahlschaltung 36 mit von außen angebotenen Daten über die äußere Schnittstelle 20 und die DATEN-EIN-Leltung odeir mit dem wahren Inhalt des B-Reglsters selbst geladen werden. Welter werden literals Werte, die aus bestimmten. In dem Mlkrobefehlsspelchcr 14 gespeicherten Mikrobefehlen her entschlüsselt werden, (o direkt dem B-Reglster 28 aus einem Dekodierer 46 zugeführt. Der Ausgang des B-Reglstcrs 28 besitzt ein Wahr-Falsch-Gatter 42, das dazu dient, den wahren Inhalt des B-Reglsters 28 als einen Y-Elngang 72 dem Addierer 30 zuzuleiten, oder das Elnser-Komplemcnt des Inhalts des Registers B dem Y-Elngang zuzuführen. Der Addierer 30 der lcglschen Einheit 12 Ist ein konventioneller, serieller Addierer. Daher werden die Einzel-
hellen seiner Funktion hler nicht mitgeteilt, sondern welter linien erläutert, wenn die spezielle Schaltung ;
beschrieben wird. Zusätzlich zu den A-Regl.slern 22, 24, 26 und dem B-Rcglstcr 28 kann der Ausgang des Addierers 30 entweder ein Wcchscl-Mlkrobcfchlsspclcher-Zahlreglstcr (AMPCR-Reglstcr) 32 oder eine Ausgangs- ; leitung 34 /\· externen Registern (dargestellt als DATFN AUS In Flg. 2) als Bestimmung haben. Das AMPCR- ί Register 32 lsi ebenfalls ein umlaufendes .Schieberegister und kunn als ein Y-Elngung 72 für den Addierer 30 < Λ über ein Auswahl-Netzwerk 42 dienen. .<
I)Ic Speicher-Steuereinheit (MCU) 16 besteht aus zwei 8-Blt-Rcglsicrn, d. h. einem Mlkrobclehlsspclchcr-Zähl- .i
pulsier (MPCR) 44 und dem Wcchsel-Mlkrobcfehlsspelcher-Zahlrcglsier (AMPCR) 32. Das MPCR-Reglster 44 '.-
ist ein 8-Bli-Zähler, der um eine oder zwei Einheiten wcltergcstcllt werden kann und dafür verwendet wird, den j
nächsten Befehl aus dem Mlkrobefehlsspeleher 14 herauszuholen. Das AMPCR-Reglsicr 32 enthüll die Sprung- Hi : ι oder Rückkehr-Adresse für Programmsprünge und Unierprogramm-RUckkehrschlelfen Innerhalb von Mlkro- j
Programmen. Die Adresse In dem AMPCR-Rcglster 32 Ist gewöhnlich um eine kleiner als die Stelle, an die |§
zurückgekehrt werden soll. Dieses AMPCR-Reglstcr 32 kann aus dem MPCR-Reglsler 44, dem Ausgang des &
Addierers 30 über das Wahlnetzwerk 36 oder mit lltcralcn Werten geladen werden, die aus gewissen Mikrobefeh- M
lcn entschlüsselt werden, die Im Mlkrobefehlsspeleher 14 gespeichert sind. \> «
Der Prozessor 10 benötigt eine Mlkroprogramm-Befchlsquelle, die die Operation der Prozessor-Einheit y
bestimmt. In der bevorzugten Ausführungsform Ist diese Quelle In dem Mlkrobefehlsspeleher 14 gegeben. Der I
Mlkrobefehlsspeleher 14 kann ein Lesespeicher (ROM) sein. Alternativ kann der Mlkrobefehlsspeleher 14 auch £
ein Random-Access-Spclcher (RAM) sein. Jedenfalls Ist das von dem Mlkrobefehlsspeleher 14 gespeicherte 1
Programm charakteristisch für die Verarbeltungsclnhclt 10 Insofern, als letztere dadurch spezielle Aufgaben auf 20 | optimale Welse ausführen kann. |
Bei dem Entwurf des Prozessors 10 wurde angenommen, daß es keinen speziellen Befehlssatz gibt, der benutzt werden soll, sondern daß es anstatt dessen einen Satz von Register-Pfaden und Stcuerfolgcn gibt, der zur optl- |
malen Synthese von Funktionen für auszuführende Aufgaben ausgenutzt werden kann. Eine ROM-Form des |
Mlkrobefchlsspelchers 14 verdient den Vorzug bei einer speziellen Anwendung, an der eine relativ große Anzahl 2> jj von Einhellen beteiligt lsi, well die Kosten der Maskierung eines ROM für eine gegebene BltMge auf einem |
MOS-LSI-Monollthlk-Chlp bei verschiedenen Anwendungsfallen gering sind. Insbesondere wenn sie sich über | Mehrfachkopien amortisieren. | Alternativ kann der Prozessor 10 mit einem Lese-Schrelb-Mlkrobcfehlsspelcher für experlmenilelle Zwecke $
oder dann verwendet werden, wenn die Funktion des Prozessors 10 veränderbar sein soll. In diesem Lese- 30 | Sehrelb-Funktlonsablauf können die den Prozessor 10 charakterisierenden Programme jeweils entsprechend dem $
Anwcndungsfall eingefügt, geprüft und überarbeitet werden, bis der gewünschte Betriebsablauf erreicht ist. (ϊ Dann wird die gewünschte Bitfolge zur Erzeugung einer geeigneten ROM-Folgen-Maske benutzt, die In Verbin- |
dung mit dem noch zu beschreibenden Invarianten logischen Teil des Prozessors 10 verwendet wird, und damit «<
einen Modul oder Aufbaublock ergibt, der auf die spezielle Anwendung abgestimmt Ist. J5 I
Für die hler vorliegende Darlegung wird nur ein ROM-Speicher betrachtet. In der bevorzugten Ausführungs- {
form enthält der Mlkrobefehlsspeleher 14 256 Wörter von je zwölf Bit Länge. Der Speicher 14 enthält nur §
ausführbare Befehle und kann von einem Programm nicht verändert werden. Jeder Mikrobefehl, der Bestandteil J.
des In dem Mlkrobefehlsspeleher 14 gespeicherten Mikroprogramms Ist. Ist zwölf Bit lang und wird von einem |
Dekodierer 46 entschlüsselt, der ein Teil der Steuereinheit 18 Ist. Die zwölf Bit jedes Befehls werden nach einem *o Ij von vier Typen dekodiert: I) literal, 2) bcdlngungsabhBnglg, 3) logisch und 4) extern. Eine gründlichere Erörterung dieser vier Bcfehlstypen wird welter unten noch gegeben.
Die Steuereinheit 18 besteht aus dem Mlkrobefehlsdekodlerer 46, einer NachfolgerbesUmmungs-Loglk 48 zur Bestimmung des nächsten Befehls, einer Bedingungsauswahllogik 50 und einem Bedlngungsreglstcr 52. Die Nachfolgerbcstlmmungs-Loglk 48, die Bedlngungsauswahl-Loglk 50 und das Bedingungsregister 52 werden von 45 dem Ausgang des Mlkrobcfehlsdekodlcrers 46 aktiviert. Außerdem gibt der Addierer 30 vier Bedingungsbits In das Bedlngungsreglstcr 52, nämlich das nledrlgstslclllgc Bit (LST) TRUE-Bedlngung 74 (Flg. 4), das höchststelllge Bit (MST) TRUE-Bedlngung 76, das Addlerer-Überlaufblt (AOV) 78 und ein Anzeigebit (ABT) 80, wenn sämtliche Bits des Addiererausgangs binare Einsen sind (logisch wahr sind). Die Nachfolgerbestlmmungs-Loglk 48 bestimmt, ob der Inhalt des MPCR-Reglsters 44 verwendet werden soll, vergrößert um eine oder zwei Elnhel- 50 ten, oder ob der Inhalt des AMPCR-Reglstcrs 32 zur Adressierung des nächsten In dem Mlkrobefehlsspeleher 14 gespeicherten Befehls benutzt werden soll.
Das Bedingungsregister 52 speichert drei rückstellbare örtliche Bedingungsbit 82, 84, 86 (LC1 Bit 82, LC2 Bit 84 und LC, Bit 86). und wählt eines von acht Bedingungsbits (die vier Addlerer-Bedlngungsblts MST-BIt 76, MST Bit 74, AOV-BIt 78 und ABT-BIi 80; ein externes Bedingungsbit EXT 88; und drei örtliche Bedingungsbits LC1. 55 LCi und LCi. die In dem Bindungsregister 52 gespeichert sind).
Ein 8-Bl«.-Übertragungsweg 56 aus dem Dekodierer 46 zu dem AMPCR-Reglster 32 ermöglicht die Übertragung von 8-Blt-Llteralwerten, die aus In dem Mikrobefehlsspeicher 14 gespeicherten Mikrobefehlen entschlüsselt wurden. Ein ähnlicher 8-Blt-Übertragungsweg 54 ermöglicht die Übertragung von 8-Blt-Llieralwerten von dem Dekodierer 46 zu dem B-Reglster 28. Für gewisse Befehle wird ein vier Bit externer Steuerpfad 90 entschlüsselt ω und der externen Schnittstelle 20 zugesandt. Diese vier Bits, die Im einzelnen noch welter unten beschrieben werden. Informieren die externe Schnittstelle 20, in welcher Welse sie die Daten verwenden, senden und empfangen soll. Indem der äußeren Umgebung mitgeteilt wird, welche Bcfehlsart der Prozessor 10 jeweils gerade ausführt. Die Steuereinheit 18 ermöglicht außerdem die zeltliche Steuerung für den Betrieb des Prozessors 10 durch den Zellgeber-Generator 58. *5
Die externe Schnittstelle 20 verbindet den Prozessor 10 mit den perlpheren Einheiten, die zu einem Multlprozessor-System gehören. Diese Verbindung Ist synchronisiert durch eine Intern erzeugte Taktimpulsreihe, die zur Hilfe bei der Ausführung von 8-Blt-sertellen-Übertragungen In und aus dem Prozessor 10 zur Verfügung steht.
Ein externer asynchroner Eingang EXT (vgl. FIg. 2) In das Bcdlngungsreglster 52 sieht zur Signalisierung aus der externen Umgebung zur Verfügung, und zwar in der Form des EXT-Bodlngungsblls 88, während die vier externen Steucrleltungen 90, die bereits erwähnt wurden, zur Steuerung der Verwendung der externen Register dienen.
Nach dieser allgemeinen Beschreibung der hauptsächlichen funktlonellcn Komponenten des Prozessors 10
werden jetzt dip vier Typen von Mikrobefehlen mil den zugehörigen Bllfolgen Im einzelnen beschrieben. Ein
Verständnis dieser Mikrobefehle wird bei der Ins einzelne gehenden Erörterung der speziellen Schallung des Prozessors 10 .illfrelch sein. Wie bereits Irüher erörtert wurde, haben In der bevorzugten Ausführungsform sämtliche In dem Mlkru-
1(1 befehlsspelcher 14 gespeicherten Mikrobefehle eine Lange von zwölf Bits. Die erste Mlkrobcfchlsart Ist die Llteral-Zuwelsung 64 (Flg. 3). Die Bits 1 bis 8 des Llleral-Zuwelsungs-Befehls 64 umfassen einen Wert oder eine Konstante, und das empfangende Register lsi Implizit durch die Bcfchlsblls des Befehls angegeben, welche die Bits 9 bis 12 des Llteralzuwelsungsbefehls 64 umfassen. Die l.lteral-Wcrtc können nur In das B-Rcglstcr 28 (LITERAL-NACH-B-Bciehl 64/» oder In das AMPCR-Reglster 32 (LITERAL ZU AMPCR-Bcfchl 64«) durch
|s Ihre jeweiligen 8-Bli-Übertragungspfade 54, 56 geladen werden.
Wenn die Bits 11 und 12 eines Lltcral-Zuwelsungsbcfehls 64 beide binäre Nullen sind, wird ein Literal zu AMPCR-Befchl 64o ausgeführt und die Bestimmung der Übertragung Ist das AMPCR-Reglster 32 über den Übertragungsweg 56. Wenn die Bits 9 bis 12 Insgesamt 1011 lauten, dann wird LITERAL nach B-Befchl 64b '«ιιοιβΓίΙ^ρΙ 11 rwt /llr* RacIImmiino tit*r I IKarl rninina let rlt»e O_0ot*let#»r OJI llKar tie*r\ I IKofi raonnoctuAO ^A V*\no Varl_
UÜjqvi u t·· * Mtiu uiw uu^iiiiIiiibüiQ wvi \J' ·> ν * ·■ H^ H ■ I^ (Zr* wiiu «3 iivgiut*! —·» η VVi wvi: wvv·«· «gviiQÜ " "O ·'■· *-»··»■ · *·· I
-" ation des LITERAL-NACH-AMPCR-Bcfehl 64o Ist ein GO-TO-LITERAL-Berehl 64<. Dieser Befehl wird ausgeführt, wenn Bit 11 des Befehls eine binäre Eins und Bit 12 des Befehls eine binäre Null sind. Wenn dieser Befehl ausgeführt wird, wird der von dem Befehl spezifizierte Llteralwert In das AMPCR-Reglster 32 Ober den Übertragungspfad 56 geladen und außerdem wird der Inhalt des AMPCR-Reglsters 32 In das MPCR-Reglster 44 über den Übertragungsweg 92 geladen. Die Funktion eines GO-TO-LITERAL-Bcfehls 64ι· besteht darin, Sprung adressen, die von dem In dem Mikroprogrammspeicher 14 gespeicherten Mikroprogramm spezifiziert werden. In das MPCR-Reglster 44 zu laden. Für einen LITERAL-TO-AMPCR-Bciehl 46a und einen GO-TO-LITERAL-Befehl 64c werden die Bits 9 und 10 dieser Befehle Inlern In dem Prozessor 10 nicht verwendet.
Bei Ausführen eines LITERAL-TO-B-Befehls 646 werden die angegebenen Eingangsbits beim Laden des Literals In das B-Reglstcr 28 komplementiert. Dies gilt nicht Tür einen LITERAL-TO-AMPCER-Befchl 64u. In
-1" diesem Fall werden die Eingangsbits ungcandert, wie sie aus dem Mlkrobcfehlsdckodlerer 46 empfangen wurden, eingesetzt.
Die zweite Mikrobefehlsart lsi der Bcdlngung-Prüf-Befehl 66 (Fig. 4). Ein Bedingungsbefehl besieht aus fünf Feldern, nämlich dem Bedingungs-Feld 94. dem Setz-Feld 100, dem Rlchtlgcn-Nachfolger-Feld 96, dem Falschen-Nachfolger-Feld 98 und dem Befehls-Kode-Feld. Dieser Befehl führt eine Prüfung auf eine von acht
-15 Bedingungen aus, die von dem Bcdlngungs-Feld 94 bezeichnet sind, welche die Bits I bis 3 des Bcdlngungs-Prüf-Befehls 66 umfaßt. Wenn die Prüfung einer Bedingung, die von dem Bcdlngungs-Feld 94 angegeben wurde, positiv verläuft, dann bestimmt der wahre Nachfolger, der von dem die Bits 6 und 7 des Bcdlngungs-Prüf-Befehls 66 umfassenden richtigen Nachfolger-Feld 96 bezeichnet Ist, die Adresse des nächsten Befehls. Wenn der Bedingungstest nicht erfolgreich verläuft, dann bestimmen die Falsche-Nachfolger-Blts, die von dem die
■"' Bits 8 und 9 eines Bcdlngungs-Prüf-Befchls 66 umfassenden Falscher-Nachfolgcr-Feld 98 angegeben sind, die Adresse des nächsten Befehls. Wenn die für die Prüfung ausgewählte Bedingung logisch wahr Ist. da-η wird zusätzlich zu der wahre«· Nachfolgerauswahl ein Sctz-Feld 100, das durch die Bits 4 und S eines Bcdlngungs-Prüf-Befchls 66 definiert Ist, geprüft, um zu bestimmen, ob eines der drei lokalen Bcdlngungsblts /.Ci. LCi. LCs gesetzt werden soll. Die Bits 10 bis 12 definieren den Befehlskode und sind bei einem Bcdlngungs-Prüf-Befehl 66 stets binäre Einsen. Wie bereits erläutert, enthalt das Bcdlngungsreglster 52 einen Satz von acht prülbaren Bedingungsbits, die für einen oder eine Kombination der nachfolgenden Zwecke verwendet werden: Bedingte oder unbedingte Übertragung der Steuerung, und Setzen und/oder Zurücksetzen lokaler Bedingungsbits. Die acht Bedingungen bestehen aus vier Addierer-Bedingungen (LST-Bll 74, MST-BIt 76, AOV-3U 78 und ABT-BIt 8C), dem externen Beachiungspegcl-Blt EXT 88 und den drei örtlichen Bcdlngungsblts (LC1-BIt 82. LG- Bit 84.
»· LC-BIt.
Die LST-Bedlngung wird gesetzt, wenn das nledrlgststclllge oder erste Bit aus dem Addierer 30 eine binäre Eins Ist und wird zurückgesetzt, wenn es eine binäre Null Ist. Die MST-Bedlngung wird gesetzt, wenn das höchststelllge, letzte Bit oder achte Bit eine binäre Eins Ist und wird zurückgesetzt, wenn dies Bit eine Null Ist. Wenn alle Bits aus dem Addierer 30 eine binäre Eins sind, wird die ABT-Bedlngung gesetzt, anderenfalls
" zurückgesetzt. Die AOV-Bedlngung zeigt an, daß bei einer Additionsoperation ein Überlauf aufgetreten Ist.
Die örtlichen Bedingungsbits 82, 84. 86 (LC't. LC1. LC,) werden bei der Prüfung zurückgesetzt und das Selz-FeId 100 dient zum Setzen einer örtlichen Bedingung. Die Prüfung einer wahren Bedingung Ist notwendig, um eine lokale Bedingung setzen zu können. Das externe Bedingungsbit EXT 88 wird von der externen Schnittstelle 20 vollständig gesteuert und Ist üblicherweise das Ergebnis der ODER-Verknüpfung der Unterbrechungen für mehrere Einheiten, die durch die jeweiligen Einheiten-Adressen weitergeleitet werden, oder alternativ zur zeitlichen Steuerung verwendet werden können. Die vier Addierer-Bedingungen (LST, MST, ABT, AOV) zeigen das Ergebnis des letzten Loglk-Elnhcltcn-Befehls an, worauf noch weiter unten eingegangen wird. Diese Bedingungsbits 74, 76, 78 und 80 werden durch das Prüfen nicht zurückgesetzt und bleiben erhalten, bis zur Ausführung eines anderen logischen Befehlstyps.
6i; Eine Übersicht über die Setz- und Zurücfcsetzbedlngungs« zeig! Tabelle!.
Ein Lltcralzuwcisungsbefehl 64. der das Laden des B-Rcglslers 28 oder des AMPCR-Reglsters 32 anzeigen kann, kann den Wert eines Eingangs zu dem Addierer 30 verändern, jedoch wird dies nicht den Wert irgendeines «er Bedingungsbits verändern, die von dem Ausgang des Addierers 30 geliefert werden. Weiter können
mehrere I.oglsche-lilnhell-Operatlonen Nebenwirkungen auf spezielle Addlerer-Operallonen haben, was Im einzelnen noch weller unten Im Zusammenhang mit einem Loglsehe-Iilnhclt-Belehl besehrieben wird.
I)Ie erste ortliche Bedingung (ΙΛΊ) dient /um zeitweiligen Speiehern Uool'schcr Bedingungen Innerhalb des Prozessors 10, und Ihr Status wird durch das !.C1-IiM 82 angezeigt. Ks wird durch den Prozessor 10 gesetzt und durch die Prüfung zurückgesetzt. Die zweite Stufe der Bedingung (/.(',) wie auch die dritte örtliche Bedingung > (/.Ci) sind jeweils In Funktion und Im Ablauf zu der ersten Örtlichen Bedingung (/.Ci).
Dm das Prüfen des MST-Bcdlngungsblls 46 zu spezifizieren, werden die ersten drei Bits eines Bcdlngungs-I'rül-Befchls 66 als binare Nullen bezeichnet ((M)O). Wenn nur das drltie BIl der ersten drei Bits eines Bedlngungs-Prül-Bcfehls 66 eine binare IiIns Ist ((M)I), dann wird das AOV-Bedlngungsblt 78 geprüft, wahrend dann, wenn nur das zwelie BlI der ersten drei BlIs eines Bedlngungs-PrUf-Bclehls 66 eine binäre Eins Ist (010), das in LST-BcdlngungsbU 74 geprüft wird. Wenn nur das erste Bit die ersten drei Bits eines Bedlngungs-Prüf-Belehls 66 eine binare Null Ist (011), dann wird das ABT-Bcdlngungsblt 80 geprüft. Wenn nur das erste Bit der ersten drei Bits eines Bedlngungs-Prüf-Bcfehls 66 eine binäre Eins Ist (100), dann wird das Z-G-Bedlngungsblt 82 geprüft, während dann, wenn nur das zweite Bit der ersten drei Bits des Bcdlngungs-PrUf-Befehls 66 eine binäre Null Ist (ICl), das /.Cj-Bedlngungsblt 84 geprüft wird. Wenn nur das dritte Bit der ersten drei Bits eines Bedingungsbcfehls 66 eine binäre Null Ist (110), dann wird das /.CVBedlngungsblt 86 geprüft. Das externe EXT-BIt 88 wird geprüft, wenn alle ersten drei Bits eines Bedlngungs-Prüf-Bcfehls 66 binäre Einsen sind (111).
Entweder der richtige Nachfolger, der durch die Bits 6 und 7 eines Bcdlngungs-Prüf-Befchls 6C definiert wird, oder der falsche Nachfolger, der durch die Bits 8 und 9 des Bedlnguniis-PrUf-Befchls 66 definiert wird, muß explizit ge-vählt werden, um die Adresse des nächsten, auszuführenden Befehls zu bestimmen. Für unbedingte 2» Nachfolge muß der gleiche Nachfolger sowohl In dem Rlchtlgen-Nachfolger-Fcld 96 wie auch In dem Falschcn-Naehlolger-Feld 98 gewählt werden. Die vier Wahlen für jeden Nachfolger sind: 1) der STEP-Nachfolger 102, der zu dem nächsten Befehl In der Folge welter geht, der durch den um eine Einhell weltergcstellicn Inhalt des MPCR-Reglsters 44 definiert wird; 2) der SKIP-Nachfolgcr 104, der zu dem übernächsten Befehl In der Folge weltersprlngl, der durch den um zwei vergrößerten Inhalt des MPCR-Rcglsters 44 definiert wird; 3) der SAVE-Nachfolger 106, der wellergeht und die laufende Adresse In dem um I erhöhten MPCR-Reglsier 44 In dem AMPCR-Reglsier 32 bewahrt; und 4) der JUMP-Nachfolger 108, der die Steuerung der Bestimmung der Adresse des nächsten Befehls zu der Im dem AMPCR-Reglster 32 gespeicherten Adresse übertrügt.
Alle anderen Mlkrobefchlsartcn besitzen einen Impliziten Nachfolger von der STEP-Art wie beschrieben.
Um die Wirkung des Nactifolgerbefehls beim Adressieren des Mlkrobefehlsspelchers 14 zusammenzufassen, » sei darauf hingewiesen, daß ein STEP-Nachfolgerbefehl 102 den Inhalt des MPCR-Reglsters 44, vergrößert um eine Einheit, als die nächste Befehlsadresse bezeichnen wird und diese neue Adresse wird jetzt der Inhalt des MPCR-Reglsters 44 sein (Flg. 5). Der SKIP-Nachfolgerbefchl 104 bezeichnet als die nächste Befehlsadresse den Inhalt des MPCR-Reglsiers 44, vergrößert um 2, und der neue Inhalt des MPCR-Reglsters 47 wird diese neue Befehlsadresse sein. Der SAVE-Nachrolgerbefehl 106 wird als die nächste Befehlsadresse der Inhalt des MPCR- ■'> Registers, vergrößert um 1, und der neue Inhalt des MPCR-Reglstcrs 44 wird ebenso die Adresse des neuen Befehls sein. Zusatzlich jedoch wird der Inhalt des AMPCR-Reglsters 32 auf dls Adresse des neuen Befehls (MPCR+1) geändert. Der JUMP-Nachfolgerbefehl 108 bezeichnet als die nächste Befehlsadresse den Inhalt des AMPCR-Reglsters 32 und läßt den Inhalt des MPCR-Reglsters 44 In die Adresse dfs neuen Befehls verändern. Man bemerke, daß nur ein SAVE-Nachfolgerbefehl 106 den Inhalt des AMPCR-Reglsters 32 verändert. 4i>
Die dritte von dem Mlkrobefehlsdekodlerer 46 entschlüsselte Mlkrobcfehlsart 1st ein Loglsche-Elnhell-Befehl 68, der die X- und Y-Operanden-Eingänge für den Addierer 30 und die arllhmelische oder logische Operation und die Bezeichnungsangabe für den Addierer 30 angibt. Ein logischer Befehl besteht aus vier Feldern, pSmllch dem X-Operanden-Elngangs-Feld 110, dem Operation- und Y-Operanden-Elngangs-Feld 112, dem Bcstlmu.ungs-FeId 114 und dem Befehlskode-Feld 116.
Das X-Operanden-Elngangs-Feld UO, das aus den Bits 1 und 2 eines Logische-Elnhelien-Bel'ehls 68 besteht, gibt den X-Elngang 70 zu dem Addierer 30 an. Der X-Operand kann entweder eine binäre Null oder der Ausgang eines der drei A-Rcglsier 22, 24, 26 sein. Die von dem Addierer 30 auszuführende Operation und der Y-Operanden-Eingang 72 (der wahre Inhalt des B-Reglsters 28 oder der Inhalt des AMPCR-Reglster 32) für den Addierer 30 werden als Teil des Operatlons-Fcldes 112 bezeichnet, das die Bits 3, 4, 5 und 6 eines Logische- so Elnheltcn-Bcfehls 68 umfaßt. Das Opcratlons-Fcld kann arithmetische und logische Operationen an dem AMPCR-Reglster 32 wie auch an dem B-Reglstcr 28 bezeichnen. Die Bestimmungen des Ausgangs des Addierers 30 werden durch das Bestimmungs-Feld 114 angegeben, das die Bits 7 bis 10 eines Loglsche-Einheiten-Befehls 68 umfaßt. Das elfte und zwölfte Bit eines Loglsche-Elnhelten-Befehls 68 bezeichnet das Befehlskodefeld 116 Tür einen Loglsche-Elnhelten-Befehl. Das elfte Bit eines Loglsche-Elnhelten-Befehls 68 Ist stets eine binäre >s Null und das zwölfte Bit Ist stets eine binäre Eins.
Die vier möglichen X-Elngänge 70 für den Addierer 30 gemäß Angabe durch das X-Eingangs-Feld 110 eines Loglsche-Elnhelten-Befehls 68 sind: 1) eine Null, bezeichnet durch binäre Nullen an den Plätzen des ersten und zweiten Bits (00); 2) der Inhalt des Al-Registers 22, bezeichnet durch eine Null an der ersten Bltsielle und eine binäre Eins an der zweiten Bitstelle (01); 3) der Inhalt des A2-Reglsters 24, bezeichnet als eine binäre Eins an «1 der ersten Bitstelle und eine binäre Null an der zweiten Bitstelle (10); und 4) der Inhalt des A3-Reglsiers 26, bezeichnet durch eine binäre Eins sowohl an der ersten wie an der zweiten Bllsteüe (11). Dies Ist In der Tabelle 2 wiedergegeben.
In der bevorzugten Ausführungsl'orm gibt es 16 mögliche Operatlonsiypen, die von dem Addierer 30 und der Logischen Einheit 12 ausgeführt werden können, wobei zwölf dieser Operationen den Ausgang des B-Reg!sters 2« als den Y-Operanden-Elngang 72 für den Addierer 30 verwenden (vgl. Flg. 6). Die restlichen vier Operationen benutzen den Ausgang des AMPCR-Reglsiers 32 als den Y-Wahlclngang 72 für den Addierer 30.
Die durch das Operatlons-Feld 112 deflnlenen Operationsarten umfassen arithmetische und loelsche Funktlo-
nen. Die Standard-Operationen X + Y und X + Y + 1 werden von der Logischen Einheit 12 so wie logische Siandardfunktlonen (z.B. UND. NAND. ODER und NOR) ausgeführt. Welter sind verschiedene logische Nicht-Standard-Funktionen möglich. Die folgende Beschreibung umfaßt eine kurze Darlegung dieser Funktionen.
Die arithmetische Operation, die die Summe des X-Opcranden-Elngangs 70 für den Addierer 30 plus dem Ausgang des B-Reglsters 28 plus die Einheitsgröße 1 angibt, wird durch die Bits 3 bis 6 eines Logische-Elnhelten-Befehls 68 definiert, deren binare Werte sämtlich Null sind (0000). Diejenige Operation, die von einem Operatlons-Feld 112 mit der Bltfolge 0001 bezeichnet wird. Ist die Summe des X-Operanden-Eingangs 70 zu dem Addierer 30 plus dem Ausgang des B-Reglsters 28. Ein Operationen-Feld 112 mit der Bltfolge OuIO gibt die '» Summe des X-Operanden-Elngangs 70 zum Addierer 30 plus dem Ausgang des AMPCR-Reglsters 32 plus der Größe 1 an. Ein Operations-Feld 112 mit der Bltfolge 0011 gibt eine vierte arithmetische Operation an, die die Summe des X-Elnganges 70 plus dem Ausgang des AMPCR-Reglsters 32 ist.
Eine Bltfolge von 0100 In dem Operations-Feld 112 definiert eine Verglelchsfunktlon und wird mnemonlsch «Is X EQV B ausgedrückt. Diese logische Operation gibt an, daß der Ausgang des B-Reglstcrs 28 mit i-s dem X-Eingang 70Jür den Addierer 30 verglichen wird. Der Bool'sche Ausdruck für die logische Operation Ist definiert als (XV ν XB).
Eine ausschließlich ODER-Funktlon unter Verwendung des X-Elngangs 70 und des Ausgangs des B-Registers 28 wird durch ein Operationsfeld 112 mit der Bltfolge 0101 bezeichnet. Diese Operation hat einen mnemonischen Ausdruck gemäß X XOR B und einen Bool'schen Ausdruck von (X B ν XB).
:n Nachfolgend wird zum Zwecke dieser Beschreibung eine Oktalkodefolge für die Bltfolge des Operatlons-Feldes 1?2, namllch dnc arithmetische Operation, die die Differenz des Inhaltes des B-Rcslsters 28 und des X-Elnganges 70 für den Addierer 30 angibt, durch, ein Opcrallons-Feld 112 angegeben, das einen Oktalkode von 6 (0110) besltzu Diese arithmetische Operation wird mnemonlsch als X-B und als Bool'schcr Ausdruck In der Form (X + B + 1) ausgedrückt.
Die letzte arithmetische Operation, die von dem Operationsfeld 112 bezeichnet wird. Ist durch eine Bltfolge Olli (Oktalkodc 7) definiert. Die dadurch gegebene arithmetische Operation Ist die Differenz zwischen dem X-Eingang 70 für den Addierer 30 und dem Inhalt des B-Reglsters 28, vermindert um die Einheit Eins. Der mnemonlsche Ausdruck Ist X - B - 1, wahrend der zugehörige Bool'sche Ausdruck (X + B) lautet. Die übrigen acht Operationen, namllch 9 bis 16, die von dem Operationsfeld 112 eines Loglsche-Einhcllcn-■""' Befehls 68 angegeben werden können, sind sämtlich logische Funklionsartcn. Die erste Bltstellc des Operationsfeldes 112, d. h. das dritte Bit eines Logische-Elnheltcn-Bcfchls 68, die diese acht Operationen Ist jeweils eine binäre Eins.
Eine logische Operation, die mnenomlsch In der Form X NOR B ausgedrückt werden kann, wird durch ein Operationsfeld 112 mit einer Bllfolge 1000 für die Bits 3 bis 6 eines Loglschc-Elnhcltcn-Bcfehls 68 angegeben. •1S Der Bool'sche Ausdruck für diese logische Operation lautet (X ν B).
Die zehnte Operation, die durch das Operationsfeld 112 eines Loglsche-Elnhcltcn-Bcfchls 68 definiert werden kann. Ist die mnemonlsch ausgedrückte Operation X NAN B. Das zugehörige Operationsfeld 112 hat die Bltfolge 1001 (Oktal 9). Der zugehörige Bool'sche Ausdruck lautet (XB).
Die elften und zwölften Operationen werden durch ein Operations-Fcld 112 bezeichnet, das die Bltfolgc 1010 4(1 bzw. 1011 hat. Die durch diese zwei Bitfolgen angegebenen logischen Funktionen sind identisch zu den logischen Funktionen, die oben für die neunte und zehnte Operation angegeben wurden, mit der Ausnahme jedoch, daß der Inhalt des AMI'CR-Reglsters 32 anstelle des Inhaltes des B-Reglsters 28 verwendet wird. Der mnemonlschc Ausdruck für die logische Operation, angegeben durch eine Bltfolgc von 1010 für das Operationsfeld 112 lautet XNORZ, wobei Z die Bezeichnung für das AMPCR-Reglster 32 Ist. Der entsprechende Bool'sche 4S Ausdruck für diese luglsche Operation lautet (X ν Z). Der mnemonlsche Ausdruck für die logische Operation, die zur Bltfolgc JCHI des Operationsfeldes 112 gehört, lautet XNANZ, wobei der zugehörige Bool'sche Ausdruck lautet (XZ).
Eine logische ODER-Funktlon wird durch ein Operationsfeld 112 angegeben, dessen Bltfolge 1100 für die Bits 3 bis 6 eines Loglsche-Elnhelten-Bcfchls 68 bezeichnet wird. Diese Bltfolgc gibt an, daß der X-Elngang 70 für den Addierer 30 mit dem Ausgang des B-Reglsters 28 zu einer ODER-VcrknUpfung zusammcngcschaltct Ist. Der zugehörige mnemonlsche Ausdruck Ist X OR B und der zugehörige Bool'sche Ausdruck lautet (X ν B).
Die vierzehnte mögliche Operation, die durch ein Operationsfeld 112 angegeben werden kann. Ist die logische UND-Funktlon und besitzt eine Bltfolgc von 1101. Die logische Funktion, die durch diese Bltfolgc bezeichnet Ist, betrifft die UND-Vcrknüpfung des X-Elnganges 70 für den Addierer 30 mit dem Ausgang des ß-Rcglstcrs
^ 28. Der mnemonlsche Ausdruck für diese logische Operation lautet X AND B, wahrend der Bool'sche Ausdruck (XB) lsi.
Die fünfzehnte Operation, die durch ein Operationsfeld 112 eines Loglsehc-Elnhcllcn-Bcfchls 68 bezeichnet
werden kann. Ist eine Variation der logischen ODER-Funktlon. Ein Opcratloncnfcld 112 mit einer Bltfolge von 1110 gibt an, daß der X-Elngang 70 zum Addierer 30 ml! dem Komplement des Ausgangs des B-Reglstcrs 28 zu
w einer ODER-Funktlon verknüpft wird. Diese logische Operation wird mnemonlsch aus X RIM B ausgedrückl.
und der zugehörige Bool'sche Ausdruck luutet (X ν B).
Die sechzehnte und letzte mögliche Operation, die mit einem Operationsfeld 112 ausgeführt werden kann,
stellt eine Variation der logischen UND-Operation dar. Hlne Blltolgc von Uli für die Bits 3 bis 6 eines Logl sche-Elnheltcn-Befehls 68 gibt an, daß der X-Klngang 70 /um Addierer 30 logisch zu einer UND-Funktlon mit
*' dem Inversen des Ausgangs des B-Rcglsters 28 verknüpft lsi. Der mnemonlschc Ausdruck für die logische
Operation lautet X NIM B, wahrend der entsprechende Buol'schc Ausdruck (XB) beträgt.
Bei der dritten (X + Z+ I). vierten (X + /.). elften (X NOR Z) und zwölften (X NAN Z) logischen Operation Ist der Y-Elngang 72 für den Addierer 30 der Ausgang des AMI'CR-Rcglstcrs 32. »el allen anderen logischen
Operationen Ist der Y-Elngang In den Addierer 30 der Ausgang aus dem B-Register 28.
Die Bestimmung (= Ziel der Übertragung) des Ausgangs des Addierers 30 ist durch das Bestimmungsfeld 114 definiert, das die BlU 7 bis 10 des Loglsche-Elnhelten-Befehls 68 umfaßt. Wie bereits erörtert, kann der Ausgang des Addierers 30 in das B-Register 28, das AMPCR-Reglster 32 oder In die Ausgangsleliung 34 zu den externen Registern geladen werden. Es gibt 16 mögliche Ziel-Bestimmungen, die durch die Bits 7 bis IO des s Loglsche-Elnheiten-Befehls 68 definiert werden können. Diese Bestimmungen umfassen die Register und die oben diskutierte Ausgangsieitung und zeigen In einigen Situationen eine weitere Steuerfunktlon oder Operation an, die auszuführen Ist.
Um das B-Register 28 als die Bestimmung des Ausgangs des Addierers 30 anzugeben, muß das Bestimmungsfeld 114 In der bevorzugten Ausführungsform eine Bltfolge von 0000 für die Bits 7 bis 10 des Logische- Einheiten-Befehls 68 haben.
Das Al-Register 22 wird als Bestimmung für den Ausgang des Addierers 30 angegeben, wenn das Bestimmungs-Feld 114 eine Bitfolge von 0001 hat; das A2-Reglster 24 wird als Bestimmung durch die Bltfolge 0010 und das A3-Reglster 26 wird als Bestimmung bezeichnet, wenn die Bltfolge 0011 lautet.
Wenn das Bestimmungsfeld 114 eines Loglsche-Elnheiten-Befehls 68 eine Bttfolge von 0100 aufweist, dann is wird eine OUT-fl-Bestlmmung angegeben. Die OUT-Bestlmmung wird noch weiter unten erläutert.
Eine OUT-I-Bestimmung wird durch eine Bltfoigc von 0101 (Oktal 5) für die Bits 7 bis 10 eines Lolche-Ει nhellen-Befehls 68 und eine OUT-2-Bestlmmung wird durch eine Bltfolge von 0110 (Oktal 6) angegeben.
Das AMPCR-Reglster 32 wird als Bestimmung für den Ausgang des Addierers 30 durch ein Bestimmungs-Feld 114 angegeben, das eine Bitfolge von Olli (Oktal 7) für die Bits 7 bis 10 eines Logische-Einhelten-Befehls 68 besitzt. Diese Bestimmung wird such s!s OUTO-Bestirnrnung niedergeschrieben.
Die nächsten vier Bestimmungen, n&mllch 9 bis 12 (Oktal 8 bis 11), die durch das Bestimmungs-Feld 114 eines Loglsche-Elnhelten-Befehls 68 definiert werden, sind identisch zu den ersten vier oben beschriebenen Bestimmungen (B, Al, A2, A3) mit der zusatzlichen mnemonlschcn Markierung oder mit dem Zeiger »BEX«, der eine serielle Übertragung von der externen DATEN-EIN-Quelle über das Auswahl-Netzwerk 30 In das » B-Reglsler 28 bezeichnet, die parallel mit der Übertragung des Ausgangs des Addierers 30 In das andere, durch das Bestimmungs-Feld 114 angegebene Register (d. h. B, A 1, A 2, A 3) parallel stattfindet.
Die verbleibenden vier Bestimmungen, nämlich 13 bis 16 (Oktal 12 bis 15), die durch das Bestimmungs-Feld 114 eines Logische-Einhelten-Befehls 68 definiert werden, sind ebenso Identisch mit den ersten vier, oben beschriebenen Bestimmungen (B, Al, A2, A3) mit dem zusStzlichcn Markierungszeichen »S« für SHIFT, was w eine Rechts-Verschlcbung des Bestimmungsregistersende um ein Bit anzeigt, wobei das höchststelllge Bit mit dem Ausgang des Addierers 30 aufgefüllt wird.
Aus dem Vorstehenden wird deutlich, daß der Ausgang des Addierers 30 In das B-Reglster 28, In die A-Registci 22, 24, 26 und In das AMPCR-Reglster 32 geladen werden kann. Der Ausgang des Addierers 30 geht stets ohne Zwlschengattcr zu der externen Schnittstelle 20, wenn ein logischer Operationstyp gewählt wird; wenn '5 jedoch eine der OUT-Bestlmmungen (OUT 0, OUT 1, OUT 2, OUT 3) als Bestimmung gewählt wird, dann wird auf den externen Steuerleitungen 90 ein spezieller 4-Blt-Kode erzeugt, um ein Durchgattern von dem Addierer 30 zu einem speziellen externen Register zu ermöglichen. Man bemerke auch, daß dann, wenn eine der »BEX«- Besllmmungcn (Bestimmung 9 bis 12 des Bestimmungsfeldes 114 eines Loglsche-Elnhelten-Befehls 68) ausgewählt Ist, daß dann ein 2-Blt-BEX-Kodc auf die externen Steuerleitungen 90 ausgesandt wird, der eine 8-Blt- <o serielle Übertragung von den externen DATEN-EIN-Quelle In das B-Reglster 28 parallel mit der Übertragung *
des Ausgangs des Addierers 30 In .!as von dem Bestimmungsfeld 114 des Logische-Einhelten-Befehls 68 (d. h. ,
A-Register 22, 24, 26, B-Reglster 28) bezeichnete Register ermöglicht. Wenn das Bestimmungsregister das '
B-Rcglstcr 28 mit der zusatzlichen BEX-Marklerung 1st (»B, BEX«-Bestlmmungs-Feld 114 hat eine Bltfolge 1000), dann wird der Ausgang des Addierers 30 mit dem externen Eingang zu einer ODER-Funktlon verknüpft. Normalerwelse würde der Ausgang des Addierers 30 In diesem Falle binare Nullen von dem Addierer 30 über- |
tragen, wodurch ein einfaches externes Laden des B-Reglstcrs 28 ermöglicht wird. \
Wenn das AMPCR-Rcglster 32 nicht als Bestimmungsregister ausgewählt wird, werden die vier Operationen t,
(X + Z + I, X + Z, X NOR Z, X NAN Z), die das AMPCR-Reglster 32 als den Y-Elngang 72 für den Addierer 30 |
verwenden, binare Nullen als Y-Elngang 72 haben. Das bedeutet, daß die Ergebnisse jener Operationen, die das so *> AMPCR-Reglster 32 als ein Y-Elngang-Reglster 72 verwenden nur In das AMPCR-Reglster 32 zurückübertragen werden können. Durch die Verwendung dieses Merkmals kann 0, nicht 0, X und nicht X In jedes Bestimmungsregister mit Ausnahme des AMPCR-Rcglsters 32 übertragen werden.
Die Bestimmungen mit der Markierung oder dem Zeichen »S« für SHIFT (Bestimmungen mit Oktalzahlen 12 |
bis IS) ermöglichen, daß das Bestlmmungsreglster nach rechts um ein Bit verschoben wird, und daß das höchstsielllgc Bit vom Ausgang des Addierers 30 nachgeliefert wird, der mit dem nledrlgststelllgen Bit der ausgewählten X- und Y-Opcrandcn arbeitet. Die Addierer-Operation wird an allen acht Bits der ausgewählten Eingangs-Operanden ausgerührt und die Addlerer-Bedlngungs-Blts (LST Bit 74, MST Bit 76, ABT Bit 80 und AOV Bit 78) entsprechend gesetzt.
Wenn eine Rechlsverschicbung um ein Bit an dem Inhalt des B-Rcglsiers 28 auszuführen Ist, das das Bestlm- 6n mungsrcglstcr Ist, dann wird für das X-Opcrandenfeld 110, X = 0, für das Operation- und Y-Operandenwahl-FeId 112, X +Z, und für das Bestimmungs-Feld 114, B »S« gewählt, was zu einem Loglsche-Elnhelten-Befehl 68 fuhrt, dessen Bltfolge (00 0011 1100 01) Ist.
Wenn eine Umlaufvcrschlcbung um ein Bit des B-Besilmmungsrcglsiers 28 auszuführen Ist, dann ware zu wählen: für das X-Operandenfcld MO X = 0, für die Operation und den Y-Operanden 112, X + B, für das Bestlm- « mungsfeld 114, B »S«; daraus ergibt sich ein Loglsche-Elnhelien-Befehl 68 mit einer Bltfolge von (00 0001 1100 Oi). Der hauptsachliche Zweck der Verschiebung der Bestimmung liegt darin, eine Verschiebung nach rechts und eine Umlaufverschlebung an dem A-Rcglstcr 22, 24, 26 und an dem B-Rcglster 28 auszuführen.
Alle anderen möglichen Funktionen sind gültig In dem höchststelllgen Bit der Bestimmung.
Wenn das X-Operanden-Feld HO zu X = Al und das Y-Wahl-Feld 112 zu X +B und das Bestimmungs-Feld 114 zu Al »S« gewählt werden, so wird der sich ergebende Befehl (01 0001 MOl 01) ausgeführt. In Ausführung dieses Befehls wird eine Addition an der Bitstelle 8 des Al-Registers 22 und dem B-Reglster 28 ausgeführt, und das sich ergebende Bit wird In die Bitstelle 1 (das höchststelllge Bit) des Al-Registers 22 eingesetzt. Danach wird die Bitstelle 7 (das nledrlgststelllge Bit plus 1) des Al-Registers 22 zu allen Bits des B-Registers 28 addiert und die Seltenwirkungen auf die Addlerer-Bedlngungs-Blts (MST-BIt 76, LST-BIt 74, AOV-BIt 80) ergeben sich entsprechend.
Das Addlerer-Überlauf-Bedlngungsbit 78 (AOV) 1st das Anfangs- und Zwlschen-Übertrag-Fllp-Flop (das
AOV-Bedingungsregister 294, das weiter unten beschrieben wird) für den seriellen Addierer 30. Immer wenn eine >H-1«-Operatlon aufgerufen wird, wird als solches der Anfangsübertrag gesetzt. Tatsachlich wird der Anfangsübertrag dann gesetzt, wenn das Bit 6 des Operationen- und Y-Auswahl-Feldes 112 eines Loglsche-Elnheiten-Befehls 68 eine binare Null Ist. Jedoch wird das Anfangs-Übertrags-Flip-Flop für Zwischenübertrage nur auf arithmetischen Funktionen aktiviert. Beispielsweise Ist be! der mnemonlschen X OR B-Operatlon (defl nlert durch Bits 3 bis 6 eines Loglsche-Elnhellen-Befehls 68 als 1100) die Bitstelle 6 eine binare Null, und daher wird das AOV-Bedingungsbit 78 gesetzt und bleibt gesetzt, bis es von einer nachfolgenden Logischen-Elnhelten-Operatlon geändert wird.
Die letzte Befehlsart, die in dem Befehlssatz für den Prozessor 10 vorhanden 1st, Ist der externe Befehl 118 (vgl. Flg. 7). Der externe Befehl 118, auch Gerfite-Befehl (DEV) genannt, besteht aus zwei Feldern, nämlich
2n dem LlTERAJL-NACH-DEV-FeId 120 und dem Befehlskode für einen externen Befehl 118. Das LITERAL-NACH-DEV-FeId umfaßt die ersten acht Bits des Befehls, wahrend der Befehlskode den restlichen vier Bits des externen Befehls 118 zugewiesen ist. Der Befehlskode für einen externen Befehl 118 Ist In der bevorzugten AusfOhrungsform 0011 für Bitsteilen 8 bis 12. In Ausführung eines externen Befehls 118 werden die ersten acht Bits des Befehls, die das LITERAL-NACH-DEV-FeId 120 ausmachen, seriell aui der DATEN-OUT-Leltung 34 (Bit 8 zuerst) ausgesandt. Ein externer Befehl 118 wird bezüglich der externen Geräte nur In dem Umfang verwendet, der einem Programmierer oder einem Entwicklungsingenieur für F.ln/Ausgabe-Schnlustellen für diese externen Gerate sinnvoll erscheint.
Das Kodieren der Funktion, die von dem Literal zu dem Gerat, das extern bezüglich des Prozessors 10 Ist, bezeichnet wird, und die Entwicklung der Geratehardware sollten parallel ausgeführt werden, um den Hardwaxe-
Aufwand zu minlmallsleren und die Programm-Wirksamkeit zu maxlmallsieren. Wenn das Kodieren der Funktion und die Entwicklung der externen Schnittstelle 20 nicht parallel, d. h. gleichzeitig ausgeführt werden, dann würde das Ergebnis wahrrchclnli-'i entweder eine sehr aufwendige Schnittstelle oder ein extrem unwirtschaftliches Programm sein, schlimmstenfalls würden sich auch beide Nachtelle einstellen. Bezüglich der Zeltgeber- und St? jrsignale für den Prozessor 10 sei In Kürze gesagt, daß In der bevorzugten
Ausführungsform das Takten durch einen Takt geliefert wird, der extern zum Prozessor 10 Ist. Wahrend der Ausführung eines beliebigen In dem Mlkroprogrammspclcher 14 gespeicherten Befehls werden acht Taktimpulse gezahlt, zu welcher Zelt die Steuereinheit 18 ein LETZTER-IMPULS-(LP)-Slgnai 122 erzeugt und dann auf einen Spelcherzyklus-Ende-Impuls (MCC)-Slgnal 126 wartet, ehe der nächste Befehl gestartet wird (vgl. Flg. 14). Der Spelcherzyklus-Ende-Impuls 126 ist stets notwendig, um die Ausführung eines Mikrobefehls einzuleiten. Die Wartezeit zwischen der Befehlsausführung Ist für den Speicherzyklus und die Refchlsdekodle rung vorgesehen. Ein MCC-Impuls 126 kann zu jeder Zelt nach Ablauf von acht Taktimpulsen nach einem vorhergehenden MCC-Impuls 126 eingeleitet werden und nachdem hinreichend viel Zelt für den Speicherzyklus und die Befehlsdekodlerung verstrichen Ist.
Der Prozessor 10 erzeugt weiterhin eine Reihe von TAKT-OUT-(CO)-Impulse 124, die ein mit dem externen
Takt empfangenen Taktimpulsen synchronisiertes acht-zahllges Taktsignal Ist. Vom Prozessor 10 werden keine TAKT-OUT-lmpulse 124 wahrend der Zeltspanne erzeugt, während der ein LETZTER-IMPULS-(LP)-Slgnal 12 erzeugt wird. Die TAKT-OUT-lmpulse 124 und der LETZTER IMPULS 122 werden von der Steuereinheit 18 erzeugt. Ein Steuersignal Ist welter nötig zum Loschen des MPCR-Reglsters 44 auf eine Adresse null. Ein extern geliefertes Löschsignal 128 (CLR) dient zum Loschen des MPCR-Rcgisters 44 auf Null-Adresse. Bezüglich der
Datenwege in und aus dem Prozessor 10 Ist zu sagen, daß Daten dem B-Reglster 28 wahrend eines Logische-Elnhelten-Befehls 68 vom BEX-Typ seriell über den DATEN-EIN-Weg zugeführt werden. Der Ausgang aus dem Prozessor 10 geschieht über die DATEN-AUS-Leltung 34. Diese Leitung 34 führt den Ausgang aus dem Addierer 30 wahrend aller logische Elnhelten-Befehlc 68 und ein Literal wahrend aller externen Befehl 118, während sonst das Signal unbestimmt und konstant Ist.
Beschreibung der Schaltung
Positive Taktimpulse werden von, einem externen Taktsystem über den TAKT EIN (CI)-Anschluß 130 In M) dem Prozessor 10 einem NAND-Gatter 132 mil zwei Eingängen (vgl. Flg. 30b) zugeführt. Der Ausgang des NAND-Gattcrs 132 Ist mit einem Welterzähl-Anschluß 146 eines Hexadezimalzahlers 134 verbunden, der ein Vler-Blt-Blnarzählcr mit den vier Ausgangsunschlussen 148, 150, 152 und 154 Ist. Mit dem Ausgang des NAND-Gatters 132 Ist ein Inverter 136 verbunden, dessen Ausgang auf einen TAKT AUS (CO)-Anschluß 138 dem Prozessor 10 gegeben wird. Die Spelcherzyklus-Ende-lmpulsc (MCC) 126, die ebenfalls durch den externen Takt ''^ zugeführt werden, werden (Flg. 2) einem Eingangsanschluß 140 des Prozessors 10 zugeführt. Der Eingangsanschluß 140 Ist mit einem NAND-Gatter 142 mit zwei Eingängen verbunden, dessen Ausgang mit einem Löschanschluß 144 des Hexadezimalzähler 134 verbunden Ist. In der bevorzugten Ausfuhrungsform wird die höchststelllge Ziffer des Ausgangs des Hexadezimalzähler« 134 Über den Anschluß 148 zugeführt, wahrend die
niedrigslstelilge Ziffer Ober den Anschluß 154 zugeführt wird. Die zweithöchste Ziffer wird über den Anschluß 150 und die zweit niedrigste Ziffer wird über den Anschluß 152 zugeführt. Der Ausgangsanschiuß 148 des Hexadezimalzähler 134 wird als ein zweiter Hingang dem NAND-Gatter 142 eingegeben und gelangt weiterhin Ober einen Inverter !56 auf den zweiten Klngang des NAND-Gallers 132. Von dieser Anordnung muß der Ausgangsanschiuß 148, ehe ein Impuls auf den Löschanschiuß 144 des Hexadezimalzählers 134 gegeben werden kann, huch sein, wobei der Ausgangsanschluß 148 die höchststelligc Ziffer des Zahlers 134 repräsentiert. Ehe somit ein Spelcherzyklus-finde-Impuls (MCC) 126 den Hexadezimalzähler 134 löschen kann, muß der Zähler 134 mindestens acht Taklimpulse abgezählt haben. Weiter ergibt sich aus dieser Anordnung, daß dann, wenn der Zähler 134 acht Taktimpulse abgezählt hat, weitere TAKT-EIN-(CI)-Impulse durch das NAND-Gatter 132 gesperrt werden, bis ein Spelcherzyklus-Ende-Impuls (MCC) 126 wieder erhalten wird. Weiter werden die in TAKT-AUS-Impulse (CO), die ein Spiegelbild der TAKT-EIN-lmpulse (CI) sind, durch die Wirkung des NAND-Galters 132 gesperrt, wenn der Zähler 134 acht Taktimpulse abgezahlt hat.
Flg. 10 zeigt ein Schaltbild für den Zähler 134 und Flg. 15 ein Zeltdiagramm der verschiedenen Takt- und Steuerimpulse Im Zusammenhang mit dem Zähler 134. Der Zahler 134 ist so ausgelegt, daß er nur von der Vorderflanke eines Wellerzähl-Impulses (invertierte TAKT-EIN-lmpulse) getrlggert und der Vorderflanke eines Speicherzyklus-Ende-Impulses 126 gelöscht werden kann. Für die weitere Erörterung werde angenommen, daß die Zelt I0 als der Zellpunkt definiert ist, der mit der Vorderflanke eines Speicherzyklus-Ende-Impulses 126 zusammenfällt, während die Zelt I0 (n < 1) als der Zeitpunkt definiert 1st, der mit der Rückflanke sines positiven, von dem externen Takt gelieferten TAKT-EIN-Impulses zusammenfällt.
Das Aufgeben der Vorderflanke eines Spcleherzyklus-Ende-Impuises (MCC) 126 zum Zeitpunkt r0 löscht den M Hexadezimalzähler 134, wodurch das NAND-Gatter 142 gesperrt wird, Indem an dem Anschluß 148 für die höchststelligc Ziffer des Hexadezlmalzählcs 134 eine niedrige Ausgangsspannung erzeugt wird. Oieses Absinken der Spannung am Anschluß 148 ermöglicht weiterhin, daß TAKT-EIN-lmpulse durch das NAND-Gatter 132 auiden Wellerzählanschluß 146 des Hexadezimalzählers 134 sowie zu dem TAKT-AUS-Anschluß (CG; 138 des Prozessors 10 über den Inverter 136 gelangen. Der Zähler 134 beginnt zum Zeltpunkt h zu zählen, und H beim Zählen bis acht (Zeltpunkt />) erscheint eine hohe Ausgungsspannung am Anschluß 148, wodurch das NAND-Gatter 132 gesperrt wird und keine weiteren TAKT-ElN-Impulse (CI) In die programmierbare Einheit 10 gelangen.
Mit dem Ausgang des Inverters 156 Ist ferner ein LETZTER-IMPULS-Ausgangsanschluß (LP) 158 des Prozessors 10 verbunden. Aus dieser Anordnung ergibt sich, daß ein LETZTER IMPULS 122 an dem LP-Ausgangsanschluß 158 nur dann erscheinen wird, wenn eine Zählung von acht durch den Zahler 134 zum Zeitpunkt /, erreicht wurde (vgl. Flg. 15). Die TAKT-OÜT-Impulse (CO) am Ausgangsanschluß 138 der programmierbaren Einheit erscheinen, bis der letzte Impuls 122 von dem Hexadezimalzähler 134 ausgelöst wurde. Zum Zellpunkt U sperrt eine hohe Spannung an dem Ausgangsanschluß 148 des Zählers 134 die weiteren TAKT-AUS-lrnpulse, bis ein neuer MCC-Impuls 126 erscheint. Das Auftreten der Vorderilanke eines MCC-Impulses M 126 löscht gleichzeitig den Ausgang des Zählers 134.
Bei einem statischen Speicher, etwa eines Lese-Speichers (ROM) 160 von 256 Wörtern zu je zwölf Bit werden nur ausführbare Befehle für den Prozessor 10 gespeichert. In der bevorzugten Ausführungsform sind acht Steucrlcltungen 161 zur Adressierung des Speichers 160 notwendig, und die zwölf Bits jedes in dem Speicher 160 gesp.lchcrten Befehls werden an den zwölf Ausgangsanschlüssen ausgegeben. -*o
Ein noch welter unten Im einzelnen zu beschreibendes Fjfehlsreglstcr 500 (Flg. 31) soll sicherstellen, daß jeder In dem Lesespeicher 160 gespeicherte Befehl vollständig ausgeführt wird, ehe ein weiterer Befehl adressiert und zur Ausführung geholt wird. Das Befehlsregister 500 Ist ein 12-Blt-Spelcherreglster, das die zwölf binären Signale eines adressierten Befehls aus dem Lesespeicher 160 aufnimmt und diese Signale so lange speichert, bis ein letzter Impuls 122 erzeugt Ist. Zwölf Datcn-Steuer-Leltungen 162, 164, 166, 170, 172, 174, 176, 180, 182, 184, 186 sinJ mit dem Ausgang des Befehlsregisters 500 verbunden und liefern Daten-Steucr-Slgnaie zum Steuerung Logikabschnitt des Prozessors 10. Das MPCR-Reglster 44 besitzt acht Ausgangsanschlüsse zur Versorgung der Adressen-Steuer-Leitungen 161 des Lesespclchers 160 mit der Adresse und acht Daten-Eingangsanschlüsse für die Aufnahme einer Adresseninformation aus dem AMPCR-Rcglster 32. Welter besitzt das MPCR-Reglster 44 einen Löschanschiuß 188, einen Wellerzählanschluß 190 und einen Ladeanschluß 191. Diese Anschlüsse wie sn auch das MPCR-Reglster 44 werden noch erläutert.
Das AMPCR-Reglster 32 besitzt acht Ausgangsanschlüsse zur Abgabe der Sprungadresse an das MPCR-Regisicr44 sowie acht Elngangsanschlüssc zur Aufnahme von Daten aus einem Wähler 192.
Der Wähler 192 besitzt sechzehn Daten-Eingangsanschlüsse und einen Slcuerclngangsanschluß 194 (Flg. 11) Acht DatcnelngangsanschlUssc des Wühlers 192 sind mit den ersten acht D^lcn-Slcuer-Leltungen (d. h. 162 bis ^ 167) verbunden, während die restlichen achl Elngangsanschlüssc für den Wähler 192 mit den acht Ausgangsanschlüssen 161 des MPCR-Rep,lsters44 verbunden sind.
In Abhängigkeit von dem auf dem Sieucrslgnalanschluß 194 des Wählers 192 gegebenen Steuersignal lädt der Wähler 192 entweder das AMPCR-Reglsler 32 mit einem Llteralwcrl (den eisten acht Bits eines Befehls 64 vom Lltcraltyp), der aus den In dem Lcscspclchcr 160 gespeicherten Mikrobefehlen entschlüsselt wurde, oder mit der *" gegenwärtig In dem MI'CR-Rcglslcr 44 gespeicherten Adresse. Daher kann der Wähler zwischen dem Laien des AMPCR-Rcglsiers 32 mit der Sprungadresse, die aus den In dem Lcsespelcher 160 gespeicherten LUeralbefehlen entschlüsselt wurde, oder der Ausführung eines SAVE-Nachfolgcbefchls wählen. Indem die In dem MPCR-Rcglslcr 44 gespeicherte gegenwartige Adresse In das AMPCR-Rcglstcr 32 geladen wird.
Wie bereits erwähnt, werden die zwölf BHs jedes der In dem Lcscspclchcr lüO der bevorzugten Ausführungs- 6^ form gespeicherten 256 Befehle dekodiert nach vier Typen von Befehlen: literal, bedingt, logisch, extern (DEV). Acht der zwölf Bits r.önnen direkt In das AMPCR-Rcglsicr 32 über den Wähler 192 oder In üas B-Reglstcr 28 übertragen werden.
I onlsclie-lLlnhcHcn-Uclchl
Zur Dekodlerung eines Loglsche-Elnhellcn-Ücfchls 68 dient ein NAND-Gatter 196 mil /wcl Eingängen, das den Befehlskode 116 eines logischen Befehls feststellt, vgl I Ig .1Oh. Hin Eingang tür das NAND-Gatler 196
s empfängt stels Bit 12 (Daicn-Steuer-Lultung 186) jedes In dem l.cscspclchcr 160 gespeicherten Befehls, während der zweite Eingang stets das Komplement der Blnär-Darslellung des Hits 11 (Diilen-Sicucr-Lcltung 184) jedes In dem Lesespeicher 160 gespeicherten Befehls empfangt. Das Komplement des Bits 11 wird durch den Ausgang eines Inverters 198 geliefert, dessen Eingang mit der Daten-Sleucr-I.cltung 184 des Bits Il verbunden Ist. Da der Befehlskode 116 für einen Loglsche-Elnhcllcn-Bcfchl stets 01 Ist, befindet sich der Ausgang des NAND-
'" Gatters 196 stets auf niedriger Spannung, wenn ein Loglschc-Elnhcltcn-Bclehl 68 von dem Prozessor 10 ausgeführt wird.
Der Ausgang des NAND-Gatlcrs 196 wird als einer von /wel Eingängen einem NOR-Gatter 198 zugeführt. Der zweite Eingang zum NOR-Gatter 198 wird vom Ausgang des NAND-Gattcrs 142 geliefert, das Spclcherzyklus-Ende-Impulsc (MCC) 126 zum Löschen des Hexadezimalzähler* 134 weiterleitet.
1^ Der Ausgang des NAND-Gatters 142 liegt auf niedriger Spannung nur während der Zeitspanne, während der ein MCC-Impuls 126 von dem externen Takt geliefert wird (unter der Annahme natürlich, daß der Hexadezimalzähler 134 mindestens acht Taktimpulse nach dem vorhergehenden MCC-Impuls 126 gezählt hat); der Ausgang des NOR-Gatlcrs 198 wird dann niedrig sein für alle I.oglschc-Elnhelicn-Befchlc 68 mit Ausnahme der 7fiiKn;mnp für Plnrn M(7C-!rP.nu!s 12-6
-'" Taktimpulse, die zur Ausführung des Loglsche-Elnhclicn-Bcfchls 68 benötigt werden, werden von dem Ausgang eines NAND-Galtcrs 204 mit zwei Eingängen geliefert. Die zwei Eingänge für das NAND-Gatter 204 sind der Invertierte Ausgang eines NAND-Gatters 196. der für alle Takilmpulsc während der Ausführung sämtlicher Loglschc-Elnhcltcn-Bcfchlc 68 auf hoher Spannung liegt, b/w. der Ausgang eines Inverters 136, der TAKT-AUS-ICOI-lmpulsc repräsentiert. Der Ausgang des NAND-Gallcrs 196 wird durch einen Inverter 206
:< Invertiert. Aus dieser Anordnung entnimmt man, dall der Ausgang des NANO-Gatlers 204 für alle Taktimpuls auf hoher Spannung liegt, mit Ausnahme während der Ausführung eines Loglschc-Elnhelten-Befehls 68 durch den Prozessor 10. Während der Ausführung eines Loglschc-Elnheltcn-Bcfehls 68 ähnelt der Ausgang eines NAND-Gatlcrs 204 des Ausgang des NAND-Gatlers 132. Jedoch r.v.ß selbst während der Ausführung eines Loglsche-Elnhcltcn-Befchls 68 der Ausgang des NAND-Gallers 204 während der Erzeugung eines letzten Impul ses (LP) 122 durch den Hexadezimalzähler 134 hoch gehen. Dies trifft deshalb zu, well der Invertierte Ausgang der höchstslelllgen /.Hler des Zählers 134 (der Ausgang des Anschlusses 148) als ein Eingang dem NAND-Gatter 132 zugeführt wird, das TAKT-EIN-(CI)-Impulse für den Prozessor 10 weiterleitet.
Der Ausgang des NAND-Gatters 204 wird als ein Takteingang auf jedes der drei A-Rcglstcr 22, 24. 26 (vgl. Flg. 30D gegeben; ferner erscheint er als einer der Takteingänge für das B-Reglstcr 28, als ein Eingang für
-1^ den Takleingang eines MST-Bedlngungsreglsters 202 (Flg. 30g) sowie als ein Eingang für das NOR-Gatter 214.
Die Arbeltswelse des MST-Bedlngungsreglsters 202 wird In Verbindung mil der Schaltung beschrieben, die Im Zusammenhang mit einem Bedlngungsprüfbefchl 66 steht, während eine Diskussion der Funkilon des NOR- Gatters 214 bis zur ausführlichen Beschreibung des AMPCR-Rcglstcrs 32 zurückgestellt wird. Wie bereits kurz erwähnt. Ist jedes der A-Reglster 22, 24, 26 ein serielles acht-Bit-Schlcbcrcglstcr (vgl.
Fig. 3Of)- Zu jedem Register gehören eine Multlplexer-Schaltung mil zwei Eingängen sowie komplementäre serielle Ausgänge Q und Q, wie Flg. 12 zeigt. Weller Ist jedes A-Reglstcr mit einem Datcn-Auswahl-Elngangsanschluß zur Aufnahme von Steuersignalen für die Auswahl des Einganges versehen, der von den Eingängen des A-Reglsters aktiviert werden wird. In der bevorzugten Ausführungsform wird der £)-Ausgang jedes der drei A-Reglsier 22, 24, 26 als einer von zwei möglichen Eingängen auf jedes A-Rcglster zurückgekoppclt. Die Q-
4i Ausgänge jedes der drei A-Reglstcr 22, 24, 26 werden als die drei Eingänge auf einem üatenwählcr 208 gegeben. Der Datenwählcr 208 (Flg. 16) Ist ein konventioneller 2-Blt-Multlplexer und besteht aus Invcrtern und Treibern, so daß sich eine Blnär-Dckodlerung der Datenwahl ergibt, die ein Multlplexcn von vier Leitungen auf eine Leitung ermöglicht. Die Funktion des Datenwählers 208 sieht vor, daß er einen oder keinen der φ-Ausgängc der drei A-Rcglster 22, 24, 26 als den X-Eingang 70 für den Addierer 30 auswählt. Der Datenwahler 208 wird
s" durch zwei Steuerleitungen 210. 212 gesteuert, die mit Daten-Steuer-Leltungen 162, 164 jeweils verbunden sind. Diese letzteren Djicn-Steuer-Leltungen führen Signale, die die Blnär-Darstellung der Bitpositionen 1 und i. irgendeines In dem ROM-Speicher 160 gespeicherten Mikrobefehls darstellen. Die Wahrheltstafel für den Datenwähler 208 zeigt Fig. 17. Wie bereits erörtert, kann der Y-Operanden-Elngang 72 In den Addierer 30 von dem Ausgang mehrerer Quel len geliefert werden. Durch geeignetes Wellerleiten des Inhaltes des B-Reglsters 28 sowie des AMPCR-Reglsters 32 kann der Y-Eingang 72 für den Addierer 30 erhalten werden. In der bevorzugten Ausführungsform ist das B-Regtster 28 ein 8-Bit-Parallel-Seriell-Datenumsetzer, der die Daten nach rechts verschiebt, wenn sie getaktet werden (Fig. 18). Ein paralleler Zugriff zu jeder Stufe Ist über acht einzelne direkte Dateneingänge möglich, die durch eine niedrige Spannung an einem Schlebe-Ladc-Steuercingangsanschluß des B-Reglsters 28 aktiviert
''" werden. Das B-Register 28 zeichnet sich welter durch weltergcleltcte Taktimpulse und Komplementär-Ausgünge Q. Q aus dem Ausgang der achten Stufe aus. Das Takten wird durch ein positives NOR-Gatter 216 mit zwe! Eingängen bewirkt, von denen ein Takteingang 218 Im Sinne einer Taktsperrfunktlon wirkt. Wenn einer der beiden Takteingänge auf hohem Spannungspege! gehalten wird, wird das Takten gesperrt, wohingegen das Nledrlghalten eines Takteinganges mit hohem Verschlebe-Lade-Stcuerelngang den anderen Takteingang aktiviert.
h^ Der Taktsperr-Eingang 218 soüte auf hohe Spannung nur dann gebracht werden, während der Takt hoch liegt. Paralleles Laden wird gesperrt solange wie der Verschlebe-Lade-Steuerelngang hoch Ist. Wenn er auf niedriger Spannung steht, werden die Daten an den acht parallelen Eingangen direkt In das Register eingeladen, und zwar unabhängig von dem Zustand des Taktes.
I)Ic Analyse der sech/chn möglichen Arien ilcr iirlihnicllschen und logischen Funktionen, die von einem Luglschc-Elnhcllcn-Bcfchl 68 definiert werden können, /elgt. dull einige iirllhmetlsehc Operationen den wahren Inhiili des Komplements des Inhalts des H-Keglslers 28 hcnOllgen. Um /wischen dem wahren Ausgang [) des H-Keglslers Γ.Ι oder seinem Komplement Q wühlen zu können, wird eine UND-NOR-Komblnatlon benutzt dig. 34). Diese UND-NOR-Komblnatlon, die In Flg. 2 als Auswahlnetzwerk 42 dargestellt lsi, besteht aus drei :'· -UND-(ialtern 220. 222, 224 sowie einem NOR-Gallcr 226. Die UND-Gatter 222, 224 besitzen drei Eingänge. :
wahrend das UND-Gatter 220 nur zwei Eingänge aufweist. ü',
^Jcr Ausgang jedes der UND-Gatter wird als Eingang für das NOR-Gatter 226 verwendet. Das UND-Gatter S-
220 gibt das Komplement des Ausgangs des B-Reglstcrs 28 mit dem auf der Datcn/Sieuer-Lcltung 170 (Bit 5 a|
jedes In dem ROM-Speicher 160 gespeicherten Befehls) auftretenden Signal weiter. Das Komplement zu dem hi H Signal, das auf der Daien-Sleuer-Leliung 170 erscheint, wird mit Hilfe eines Inverters 228 gewonnen. Somit Ist $
der Ausgang des UND-Gatters 220 nur für solche arithmetische oder logische Operationen auf hoher Spannung. ;|
bei denen Bit 5 eines Loglsche-Elnhelten-Befehls 68 eine binäre Null enthält. Das UND-Gatter 222 gibt den |
wahren oder den (J-Ausgang des B-Reglsters 28 zusammen mit den auf den Daten-Stcuer-Leltungen 168 (Bit 4) |
und 170 (Bit 5) geführten Signalen welter. Aus dieser Anordnung ergibt sich, dall der Ausgang des UND- 15 ' Gatters 222 nur für solche arithmetische oder logische Funktionen auf hoher Spannung Hegt, bei denen sowohl Bit 4 wie Bit 5 des Loglsche-Elnhelten-Befehls eine binäre Eins enthalten.
Die Funktion des UND-Gatters 224 besteht darin, den seriellen Ausgang des AMPCR-Reglsters 32 als den Y-üpciuiuicii-ciiigai'ig 72 für ucil Auuicrer jS aüSs.ünSniCfi.
Wie bereits oben bemerkt wurde, werden dann, wenn das AMPCR-Reglster 32 nicht als Bestimmungsregister ausgewählt wurd, die vier arithmetischen/logischen Operationen, die das AMPCR-Reglster 32 als den Y-Elngang 72 für den Addierer 30 verwenden, eine binäre »Null« für den Y-F.lngang 72 haben. In der bevorzug- j
ten Ausführungsform können diese Operationen, die das AMPCR-Reglster 32 als den Y-Operanden-Eingang 72 für den Addierer 30 verwenden, nur zurück In das AMPCR-Reglster 32 übertragen werden. Die Analyse eines Loglschc-Elnhcitcn-Bcfchls 68 wird deutlich machen, daß das einzige Bcstlmmungsfcld 114. das das AMPCR- -> Register 32 als die Bestimmung des Ausgangs des Addierers 30 angibt, eine Bitfolge von 0111 (Oktal 7) für die Bltstcllen 7 bis 10 enthüll. Um somit das AMPCR-Reglsicr 32 als Bestimmung des Ausgangs des Addlereres 30 zu ermitteln, wird ein NAND-Gatter 232 mit vier Eingängen verwendet. Die vier Eingänge für das NAND-Gatter 232 sind jeweils die Signale, die von den Datcn-Steuer-Lcltungen 176 (Bit 8), 180 (Bit 9), 182 (Bit 10) geführt werden sowie das Komplement des Signals auf der Daten-Stcuer-Leltung 174 (Bit 7). Das Komplement ·*> oes auf der Daten-Stcucr-Lcliung 174 geführten Signals wird von einem Inverter 234 geliefert. Mit diesen jeweiligen Eingängen wird das NAND-Gatter 232 nur dann auf niedriger Spannung Hegen, wenn das AMPCR-Registcr 32 als Bestimmung für das Ergebnis des Ausgangs des Addierer 30 angegeben Ist.
Um sicherzustellen, dall der Y-Operanden-Eingang 72 nur Nullen führt, wenn das AMPCR-Reglster 32 als Y-Operanden-Elngang 72 für den Addierer 30 gewählt wurde, jedoch nicht als Bestimmungsregister für den ■'* Ausgang der Ergebnisse des Addierers 30 gewählt wurde, wird ein NOR-Gatter 230 mit zwei Eingängen In j/<,.«wir,uii*,r, fpü c'nsrf! UNDOut'cr 22~4 verwendet Ein Ein°Hnu für ein NQR-Gä'iT 230 korprt11 von d**!Ti Ausgang des NAND-Gaitcrs 232, das das AMPCR-Reglster 32 als Bestimmung des Ausgangs für den Addierer 31) dekodiert, während der andere Eingang zu dem NOR-Gatter 230 das auf der Daten-Stcuer-Leltung 168 (Bit 4) zugeführtc Signal Ist. Der Ausgang des NOR-Galicrs 230 zusammen mit dem seriellen Ausgang des AMPCR- *'> Registers 32 und dem Signal der Datcn-Steucr-Lcltung 170 bilden die drei Eingänge für das UND-Gatter 224. Wie aus dieser Anordnung hervorgeht, wird der Ausgang des NOR-Gattcrs 230 dann positiv sein, wenn das AMPCR-Reglster 32 als das Bestimmungsregister für den Ausgang des Addierers 30 und als Y-Operanden-Eingang 72 für eine arithmetische oder logische Operation (Flg. 34) gewählt wurde.
Der Addierer 30 Ist ein Volladdlercr, der für eine serielle Addition mit parallelem, überlagertem Übertrag «s ausgelegt Ist (Flg. 9). Die drei Eingänge für den Addierer 30 sind der X-Operanden-Eingang 70, der Y-Operanden-Elngang 72 und der Überlrag-FIngang 234. Die üblichen Ausgänge des Addierers 30 sind der Summenausgang 236 und der Übcriragungsausgang 238.
Um zu entschlüsseln, ob der Ausgang des Summenausgangs 236 oder der Ausgang des Übertragungsausgangs 238 oder sein Komplement der Ausgang des Addierers 30 sein soll, wird eine UND-NOR-Gatter-Komblnatlon w verwendet. Ein UND-Gatter 240 mit zwei Eingängen leite' den Ausgang des Summenausgangs 236 des Addierers 30 weiter. Ein Eingang für das UND-Gatter 240 Ist das Komplement des auf der Daten-Stcuer-Leltung 166 (Bit 3) geführten Signals, während der andere Eingang zu dem UND-Gatter 240 der Ausgang des Summenausgangs 236 des Addierers S3 Ist. Das Komplement des auf der Datcn-Steuer-Leltung 166 geführten Signals wird von einem Inverter 252 geliefert.
Ein UND-Gatter 244 mit drei Eingängen leitet das Komplement des Ausgangs des Übertragsausgangs 238 des Addierers 30 welter. Die zwei Eingänge des UND-Gatters 242 sind das aus der Daten-Steuer-Leltung 166 (Bit 3) geführte Signal bzw. das Komplement des Signals, das auf der Dalen-Sleuer-Leltung 168 (Bit 4) zusteht. Der dritte Eingang für das UND-Gatter 242 Ist das Komplement des Ausgangs des Übertragsausgangs 238 des Addierers 30. Das Komplement des Ausgangs an dem Übertraganschluß 238 wird durch einen Inverter 248 ω gewonnen, wahrend das Komplement des Signals auf der Daten-Steuer-Leltung 168 der inverter 250 liefert.
Der wahre Ausgang des Übertraganschlusses 238 des Addierers 30 wird Ober ein UND-Gatter 244 mit drei Eingängen weitergeleitet. Zwei der Eingänge für das UND-Gatter 244 sind das auf der Daten-Steuer-Leitung 168 (Bit 4) sowie das auf der Daten-Steuer-Leitung 166 (Bit 3) jeweils geführte Signal. Der verbleibende Eingang für das UND-Gaiier 244 Ist der Ausgang an dem übenraganschiuü 238 des Addierers 3G. Die Ausgänge der drei UND-Gatter 240, 242 und 244 werden als Eingänge für ein NOR-Gatter 246 mit drei Eingängen verwendet.
Aus dieser UND-NOR-Komblnation ergibt sich, daß das UND-Gatter 240 als den Ausgang des Addierers 30 die Summe der Operanden X und Y weiterleitet. Man bemerke, dall die Ergebnisse des Addierers 30 der
Ausgang des Summcnanschlusscs 36 nur diinn sind, wenn das Hu 3 eines Loglsche-F.lnncltcn-Bcfehls 68 eine binäre Null enthält.
Wie sich aus den sechzehn möglichen, von einem Loglschc-F.lnhelt-Befchl 68 angebbaren, arithmetischen logischen Funktionen ergibt, wird das UND-Gatter 240 Tür die ersten acht oben beschriebenen arlthmetl- * schen/loglschen Funktionen den Ausgang des Summcnlcrmlnaly des Addierers 3D weiterleiten. Das UND-Gatter 242 wird als Ergebnis des Ausgangs des Addierers 30 das Komplement des Ausgangs am Übertraganschluß 238 bei allen jenen Loglschc-Elnhclten-Delchlcn 68 weiterleiten, bei denen die Bllstcllcn 3 und 4 eine binäre 10 enthalten. Im einzelnen gibt das UND-Gatter 242 als den Ausgang des Addierers 30 das Übertrugsslgnal für alle NOR· und NAND-Funklloncn (Operationen ') bis 12) wclicr, die von dem Prozessor 10 ausgcführt werden können.
Das UND-Gatter 244 gibt als den Ausgang des Addierers 30 den Ausgang des Ubertraganschlusses 238 weller, wenn die Bits 3 und 4 eines Loglsehc-ElnhcUcn-Bcfchls 68 beide je eine binäre Fins führen. In der bevorzugten AusfUhrungslbrm tritt diese Situation nur für die restlichen vier möglichen arithmetischen/logischen Funktionen (Operationen 13 bis Id auf, die von einem I.oglsche-Flnhelten-Ildehl 68 angegeben werden können.
Um die Bestimmung des Ausgangs des Addierers 30 zu ermitteln. Ist ein Dekoder 254 vorgesehen. Der Dekodierer 254 setzt Eingangsdaten auf zwei Leitungen In einen clns-aus-vler-Ausgang um. Um den Dekodierer 254 sperren zu können. Ist ein AktlvlcrelngangsanschluO vorgesehen (Flg. 19) Eine Wahrheltstafcl für den DckodlTsr 2^4 (F!" ^Q^ ze!"1, duö das A.k!!v!crs!"nü! r.icdr!" !!cc" ΓΤί"ί3 «m die durch die Wührhsltsisfe! dsfip.isr-2n ten Dekodieroperationen ausführen zu können. Eine Analyse eines Loglsche-Elnhclten-Befehls 68 und ein Überblick über die Beschreibung der Bestimmungen, die von einem Loglsche-Elnhcllcn-Befchl 68 spezifiziert werden können, zeigt, daß Im Kern die Bits 9 und 10 eines I.oglschc-Elnhelten-Befehls 68 die Bestimmung des Ausgangs des Addierers 30 angeben:, während die Bits 7 und 8 des Befehls Modifikationen oder zusätzliche Maßnahmen an dem Ausgang des Addierers 30 bezeichnen. Die zwei F.lngangsleltungcn für den Dekodlcrcr 254 sind das auf der Daten-Steuer-Leltung !80 (Bit 9) sowie das auf der Daten-Steucr-Leltung 182 (Bit !0) jeweils geführte Signal. Drei der vier Ausgänge des Dekodlercrs 254 sind mit den Datcnauswahl-Eingangsanschtüsscn der A-Reglster 22, 24 und 26 verbunden. Der vierte Ausgangsanschluß des Dekodlercrs 254 liefert einen Eingang In das Auswahlnetzwcrk 38, das dem B-Reglstcr 28 (Hg. 2) zugeordnet Ist. Dieses Auswahlnetzwcrk wird jetzt beschrieben.
■"'" Je nach den Steuereingangssignalen für den Dekodlcrer 254 werden die auf die Datenauswahl-Elngangsan-Schlüsse der A-Reglsier 22, 24 26 gegebenen Steuersignale das richtige A-Rcglster veranlassen, zwischen den aus dem Q-Ausgang jenes Registers umlaufenden Daten und dem richtigen Ausgang des Addierers 30 als richtigen Eingang für das A-Reglstcr zu wählen.
Wenn eine AUS-Bestlmmung entschlüsselt wurde, muß der weitere Betrieb des Dekodlcrers 254 gesperrt
3> werden. Ein NOR-Gatter 256 mit zwei Eingängen Ist hierfür vorgesehen. Die zwei Eingänge für das NOR-Gatter 256 sind das auf der Daien-Steuer-Lcltung 174 (Bit 7) erscheinende Signal bzw. das Komplement des Signals, das auf der Daten-Steuer-Leltung 176 (RIt 8) steh! D-vs Koninlemen: des Signals aus der Dnten-.Steucr-Lcltung 176 wird von einem Inverter 258 geliefert. Der Ausgang der NOR-Gatter 256 wird als das Steuersignal auf den Aktiviereingangsanschluß des Dckodlorers 254 gegeben. Aus dieser Anordnung wird deutlich, daß ein hoher
4I) Spannungswen an dem Aktiviereingangsanschluß des Dekodicrcrs 254 nur erscheinen wird, wenn cine AUS-Bestimmung oder das AMPCR-Rcglster 32 als Bestimmung vom Ausgang des Addierers 30 angegeben w :rde.
Um eine von dem B^jtlmmur.gsfeld 114 eines Loglschc-Elnhellcn-Befchis 68 angegebene Bestimmung zu entschlüsseln, der eine zusätzliche Operation »S« für VERSCHIEBEN enthält. Ist ein Dekodierer 258 vorgesehen. Der Dekodlcrcr 258 arbeitet Identisch wie der Dekodierer 254, und weitere Einzelheiten bezüglich des 4> Dekodierers 258 können aus der Beschreibung des Betrlebsverhaltcns für den Dekodlcrcr 254 gewonnen werden. Die zwei Eingänge für den Dekodlcrcr 258 sind das auf der Daten-Steucr-Lcllung 180 (Bit 9) und das auf der Daten-Steuer-Leltung 182 (Bit 10) jeweils erscheinende Signal. Das Komplement der vier Ausgänge des Verschlebe-Dekodlerers 258 sind In einer ODER-Funktion mit dem Ausgang des Netzgatters 204 verbunden utid als Takiclngängc für die A-Reglsier 22, 24, 26 und das B-Rcglster 28 verwendet. Wie bereits erörtert, liefert >0 der Ausgang des NAND-Gatters 204 ein niedriges Signal für sämtliche Takte wahrend der Ausführung eines Loglsche-Elnhellen-Befehls 68. Das Komplement jedss der vier Ausgange des Verschlcbc-Dekodlcrers 258 wird von lnvertern 260 erzeugt.
Wie ebenfalls bereits erörtert, ermöglicht eine Bestimmung mit dem Zeichen »S« für VERSCHIEBEN, daß
der Inhalt des Bestimmungsregisters (bezeichnet durch die Bitstellen 9 und 10) am rechten Ende um ein Bit
- weggeschoben werden kann, wobei das höchststelllge Bit von dem auf das nledrlgststelllge Bit des X-Operandenclngangs 70 und des Y-Operandeneingangs 72 arbeitenden Addierers geliefert wird. Somit besteht die Funktion des Verschiebe-Dekodlerers 258 darin, sicherzustellen, daß nur das erste Bit aus dem Ausgang des Addierers 30 In das Bestimmungsregister (angegeben durch das Bestimmungsdekodierregister 254) eingefügt wird, während alle anderen Bits des Ausgangs aus dem Addierer 30 für jenes Register verboten werden, indem die
"" Taktimpulse für die A-Reglster 22, 24, 26 nach einer ODER-Funktlon verknüpft werden.
In der bevorzugten Ausführungsform hängt die richtige Operation des Verschlebe-EntschlüBlers 258 ab von dem Signal an dem Aktiviereingangsanschluß des Vcrschlebe-Vcrschlüßlers 258. Dieses Sperr-Signal wird über ein Gatternetzwerk von dem nledrlgststelllgen Ziffernausgangsanschluß 154 des Hexadezimalzählers 134 gewonnen. Das Gatternetzwerk, das das Sperrsignal für den Verschlebe-Dekoder 254 liefert, besteht aus einen NAND-6^ Gatter 262 mit zwei Eingängen, dessen Ausgang an eirisn der Eingänge eines NAND-Gatters 264 mit drei Eingängen gelegt Ist. Die Eingänge fUr das NAND-Gatter 262 sind das Komplement des Ausgangsanschlusscs 154 des Hcxadezimalzählcrs 134 sowie der Ausgang eines NOR-Galters 266 mit z.wcl Eingangen. Die Helden Eingänge des NOR-Gatters 266 sind jeweils die Ausgänge der Anschlüsse 150 und 152 des Hcxadezlmalzählcrs
134 Neben dem Ausgang des NAND-Gutters 262 sind die beiden linderen Eingänge des NAND-Gaitcrs 264 jeweils das Signal auf der Dalcn-Stcucr-Lcllung 174 (Uli 7) und das Signal auf der Daten Steuer-Leitung 186 Hill 12). Ks Ist der Ausgang des NAND-Gultcrs 264, der als der Spcrr-Elngang auf den Vcrschlebc-Dekoder 258 gegeben wird. Im Betrieb wird sobald wie ein fvSC'C'-lmpuls 126 auf den Eingangsanschluß 140 der programmierbaren lilnhcli gegeben wird, jeder Ausgang.san.scliluß des Hexadezimalzähler 134 auf eine binäre Null gesetzt. Daher llcgi der Ausgang eines Inverters 268 und des NOR-Galtcrs 266 Im Zellpunkt ίο auf hoher Spanr.unt, was /u einem niedrigen Ausgang des NAND-Galiers 262 führt, aus seinerseits den Ausgang des NAND-Gatters 264 hoch werden laßt, unabhängig von den Signalen auf den Datcn-Stcucr-Lcltungcn 174 (Bit 7) und 186 'Bit 12;. Somit wird Im Zellpunkt /„ der Beirieb des Versehlcbc-Dckoders 258 gesperrt und bleibt gesperrt, bis die RUckflankc des ersten Taktimpulses (Zellpunkt /,) von dem NAND-Gatter 132 weliergeleltet wird. Wenn somit ein i" Besilmmungsrcglstcr mil dem Zeichen »S« für eine VERSCHIEBF.-Opcratlon versehen wird, wird nur der erste Taktimpuls aus dem NAND-Gatter 204 zum zelllichen Steuern des richtigen A- oder B-Reglstcrs zugelassen, das von dem Bestlmmungsdckodlcrer 254 bezeichnet wurde, da der Aus-gang des Vcrschlebe-Dekoders 258 sämtliche Takilmpulse zu dem Bestlmmungsreglsicr sperren wird.
Wie bereits kurz erläutert, lsi das B-Reglsier 28 ein parallel ladbares, S-Blt-Schlcbcrcglster aus acht Stufen, das ι? Daten von einer Stufe zur anderen nach rechts verschiebt, wenn es getaktet wird. Außerdem zeichnet sich das B-Rcglstcr 28 durch seriellen Eingang dadurch aus, daß ein serieller Eingangsanschluß vorgesehen Ist (Flg. 18). Die aehl Eingänge In das B-Reglstcr 28 sind jeweils die Signale auf den Daien-Stcuer-Leitungen für die Bits 1 bis 8. Das normale Takteingangssignal für das B-Reglsier 28 kommt von dem Ausgang des NAND-Gatters 204. während das Takt-Spcrr-Klngangsslgnal aus dem Ausgang des Verschlebe-Dckoders 258 über den Inverter 260 kommt.
Das Auswahlgalier 38 (I Ig. 2) besieht aus drei UND-Gattern 270, 272, 274, deren Ausgänge auf Eingänge in ein NOR-Gatter 276 gegeben werden. Der Ausgang des NOR-Gatiers 276 wird als der serielle Eingang auf das B-Reglster 28 gegeben. Die Wirkung des UND-Gatters 270 besteht darin, den Ausgang des Addierers 30 seriell als den Eingang In das B-Reglsier 28 weiterzuleben. Daher sind die Eingänge für das UND-Gatter 270, der Ausgang des NÜR-Gallcrs 246 und der Ausgang des Bestimmungsdekoders 245 über einen Inverter 278. Aus dieser Anordnung erkennt man, daß das UND-Galter 270 nur dann Signale aus dem Ausgang des Addierers 30 weiterleitet, wenn das B-Reglster 28 als Bestimmungsregister von dem Bestimmungsfdd 114 eines Loglsche-Elnhellen-Belehls 68 angegeben wird.
Die Funktion des UND-Gatters 272 besteht darin, eine »BEXw-Opcrailon zu entschlüsseln. Zusätzlich zur -"' Wellergabe des Ausgangs des Addierers 30 In das von dem Bestlmmungsfcld 114 angegebene Register (d. h. Al. Λ2, A3, B), bestimmt eine »BEX«-Angabc eine serielle Übertragung aus einer externen Quelle über einen DATEN-EIN-Anschluß der programmierbaren Einheit 10 In das B-Rcglster 28. Der Dateneingang zu dem UND-Gatter 272 Ist das auf den DATEN EIN-Anschluß 280 der programmierbaren Einhell 10 gegebene Signal, während die Steuerelngängc für das UND-Gatter 272 die Signale auf der Daten-Stcuer-Leltung 174 (Bit 7) sowie ^ das Komplement des Signals auf der Daten-Sieucr-Leltung 176 (Bit 8) sind, welch letzteres von dem Ausgang des Inverters 238 gehalten wird. Die Analyse eines Loglsche-Elnhelten-Befehls 68 zeigt, daß das UND-Gatter 272 die Signale nur dann weitergibt, wenn eine »BEXu-Bcstlmmung durch das Bcsilmmungsfeld 114 angegeben wurde.
Wenn ein A-Reglster 22, 24, 26 nicht als ßcstlmmungsreglsicr gewählt wurde, wird der (^-Ausgang jenes ■*" Registers wieder zum Dalcnelngang jenes Registers zugeleitet. Wenn das B-Reglster 28 nicht als Bestimmungsregister gewählt wurde, wird der φ-Ausgang des B-Reglsters 28 wieder In das B-Reglster eingeleitet. Diese letztere Operation wird durch das UND-Gatter 274 ausgeführt. Der Dateneingang zu dem UND-Gatter 274 ki>mmt aus dem (5-Ausgang des B-Rcglsters 28, während die Sleucrelngänge für das UND-Gatter 274 jeweils von dem geeigneten Ausgang des Bestimmungsdekoders 254 und dem Ausgang eines NAND-Gatters 280 mit zwei J5 Eingängen kommen. Die Eingänge für das NAND-Gatter 280 sind jeweils das auf der Daten-Steuer-Leltung 174 (Bit 7) erscheinende Signal und das Komplement des Signals auf der Daten-Steuer-Leltung 176 (Bit 8). Aus dieser Anordnung wird deutlich, daß der 0-Ausgang des B-Reglstcrs 28 seriell zurück In das B-Reglster 28 über das UND-Gatter 274 und das NOR-Gatter 276 gegeben wird, wenn das B-Reglsier nicht als Bestimmungsregister ausgewählt wurde und wenn das Besilmmungsfeld 114 eines Loglsche-Elnhelten-Befehls 68 nicht eine »BEX«-Operatlon angibt.
Bedlngungs-Prüf-Befehl
In der zur Ausführung eines Bedlngungs-Prüf-Befehls 66 benötigten Schaltung Ist zunächst ein NAND-Gatter ^5 284 mit drei Eingangen zu erwähnen, das zum Dekodieren des Befehlskodes eines Bedlngungs-Prüf-Befehls verwendet wird (Fig. 30h). Die drei Eingänge für das NAND-Gatter 284 sind die Signale, die auf den Daten-Steuer-Leltungen 182 (Bit 10), 184 (Bit 11) und 186 (Bit 12) erscheinen. Wie bereits erwähnt, kann ein Bedlngungs-Prüf-Befehl 66 ein von 8 Bedlngungstilts zur Prüfung auswählen (die vier Addierer-Bedingungs-Bits: MST-Blt 76, LST-BIt 74, AOV-Blt 78 und ABT-BIt 80; ein externes Bedlngungsbll EXT 88; und die drei ort- ^ liehen Bedingungsbits LC1 82, LC2 84, LCi 86, die In dem Bedingungsregister 52 gespeichert sind).
Die Bedingung »höchststclllges Bit wahr« (MST) wird von dem Prozessor 10 dadurch geprüft, daß der Zustand eines D-Fllp-Flops 202 geprüft wird (Fig. 8). Das D-Filp-Flop 202 1st das »höchststelllge Bit wahr« (MST) Bedingungsregister und wird gesetzt, wenn das höchslsiellige Bit oder das achte Bit aus dem Addierer eine binäre Eins ist und wird rückgesetzt, wenn das genannte Bit eine binäre Null ist, Wje bekannt besitzt des D-Fllp-Flop einen Voreinstell-Elngang, einen Takl-Elngang, einen Daten-Eingang, einen Lösch-Elngang sowie komplementäre Ausgänge Q und Q. Die Information wird an den (^-Ausgang an der positiven Flanke des Taktelngangs-Impulses weltergeleltet.
Das MST-Bedlngungs-Reglster 202 stellt einen 1-Blt-Spelcher dar. Im Betrieb ist der Ausgang des MST-Bedlngungs-Registcrs 202 gleich dem Eingang, jedoch verzögert um einen Taktimpuls. Ein logisches Diagramm für das MST-Bedlngungsreglster 202 zeigt Flg. 8. Die Vorelnstell- und Lösch-Elngänge des MST-Reglsters 202, die im übrigen asynchrone Eingänge sind, überschreiben alle anderen Einsänge (z. B. den Takt und das Signal), so daß eine binare Null an dem Voreinstcll-AnschluB den (J-Ausgang auf eine binäre Eins setzt. Andererseits wird der Q-Ausgang auf eine binare Null durch die Aufgabe einer binaren Null auf den Löscheingang gesetzt. Dieses Merkmal ist in der Wahrheits-Tafel für das Bedlngungsregist^r 202 gemäß Flg. 21 erläutert. Ir. der bevorzugten Ausführungsform ist der Lösch-Eingang-Anschluß des MST-Reglstcrs 202 auf ein Potential Vrr gelegt.
Die Signale für den Vorelnsiell-Elngang des MST-Bedlngungs-Reglslers 202 werden aus dem Ausgang des ln NOR-Gatiers 198 über einen Inverter 200 erhalten. Man möge sich erinnern, daß der Ausgang der NOR-Gatters 198 nur wahrend der Zeltspanne eines MCC-impuises 126 auf hohem Potential liegt, so daß der (^-Ausgang des MST-Bedingungs-Registers 202 auf eine hlnäre Eins während eines Impulses MCC 126 gesetzt wird. Die Ausgangs-Information des Addierers 30. die als das Dateneingangssignal für das MST-Bedlngungsreglster 202 dient, wird aus dem Ausgang des NOR-Gattcrs 246 erhalten.
In ähnlicher Welse wird die Bedingung »nledrlgstslelllges Bit wahr« (LST) dadurch geprüft, daß der Inhalt eines LST-Bedlngungsregisiers 286 untersucht wird. In logischer Hinsicht Ist das LST-Bedlngungsregister 286 Identisch mit dem MST-Bedlngungsreglster 202. Addierer-Ausgangsinformation, die als Dateneingang für das LST-Register 286 verwendet wird, wird ebenfalls aus dem Ausgang des NOR-Gatters 246 erhalten. Jedoch sind sowohl der Vorelnstell-Elngang und der LOschanschluB des LST-Bedingungsreglsters 286 auf das Potential Vn. 2<) gelegt. Das Takteingangs-Slgnal für das LST-Bcdlngungsreglster 286 wird aus dem Ausgang eines NAND-Gatter» 288 mii zvvc-i F.ingäflgeii erhalten. Einer der Eingänge für das NAND-Gaiicr 288 ergibt sich aus dem Ausgang des Inverters 206. der nur dann auf hohem Potential liegt, wenn ein Loglschcr-Elnhellen-Befehl 68 von dem Prozessor 10 ausgeführt wird. Der andere Eingang für das NAND-Gatter 288 wird aus dem Ausgang eines Inverters 290 gewonnen, dessen Eingang aus dem NAND-Gatter 292 mit drei Eingangen kommt. Die drei - Eingange für das NAND-Gatter 292 sind der Ausgang aus dem NOR-Gatter 266, der Ausgang aus dem Inverter 268 und der Ausgang aus dem Inverter 136. Bei dieser Anordnung des NAND-Gatters 292 und des Inverters 290 1st der Ausgang des NAND-Gatters 288 nur wahrend des ersten Taktimpulses nach einem MCC-Impuls 126 (Zeitpunkt t0 bis /|) niedrig. Somit erhält das LST-Bedingungsrcglster 286 nur einen Taktimpuls, der dem ersten Taktimpuls nach einem MCC-Impuls 126 entspricht. Der Ausgang des LST-Bedingungsrcglsters 286 ist gleich :'" dem Signal an dem Dateneingangsanschluß jenes Registers, jedoch verzögert um einen Taktimpuls, der auf den Takteingangsanschluß des Bedingungsregisters 286 gegeben wird.
Um die Bedingung »alle Bits wahr« (ABT) zu prüfen, sind zwei NAND-Gatter 290 und 292 mit jeweils zwei Eingängen vorgesehen. Der (?-Ausgang des MST-Bedlngungsrcglsters 202 wird als einer der Eingänge auf das erste NAND-Gatter 290 gegeben, dessen Ausgang als einer der zwei Eingänge auf das zweite NAND-Gatter 292 gegeben wird. Der andere Eingang für das NAND-Gatter 292 kommt von dem Ausgang der NAND-Gatters 288, während der zweite Eingang zu dem NAND-Gatter 290 aus dem Ausgang des NAND-Gatters 292 erhalten wird. Diese Anordnung führt zu dem Ergebnis, daß unabhängig von dem Signal am Ausgang des NAND-Gatlcrs 290 der Ausgang des NAND-Gaitcrs 292 während des ersten Taktimpulses auf hohem Spannungsncgc! Hegen wird. Wenn alle Bits des Ausgangs des Addierers 30 wahr sind, d. h. binare Einsen führen, muß der Ausgang des 4" NAND-Gatters 290 auf niedriger Spannung Hegen, wodurch der Ausgang des NAND-Gatlcrs 292 über alle Takle einer gegebenen Addierer-Operation hochllcgl. Sollte jedoch eines der acht Bits des Addicrcrausgangs eine binäre Null zeigen, dann muß der Ausgang des NAND-Galtcrs 292 In den niedrigen Zustand übergehen und niedrig bleiben bis zur Ausführung der nächste Befehls-Adresse durch MPCR-Rcglslcr 44.
Eine »Addlercr-ÜberlaufM-Bedlngung (AOV) wird durch Inspektion eines AOV-Bcdlngungsreglstcrs 294
4<; geprüft. In logischer und struktureller Hinsicht Ist das AOV-Bedlngungsrcglsler 294 Identisch mit dem MST-
Bedlngungsrcglstcr 202 und dem LST-Bcdlngungsrcgistcr 286. Der Daten-Eingang für das AOV-Bcdlngungsregl-
ster 294 wird aus dem Übcrtrags-Ausgangs-Anschluß 238 des Addierers 30 gewonnen, wahrend die Taktcln gangsslgnale aus dem Ausgang eines NAND-Gatters 296 mil drei Eingängen erhalten werden. Die drei Eingänge für das NAND-Gatter 296 sind jeweils der Ausgang des NAND-Gatters 204 über einen Inverter 298, das
Komplement des Signals auf der Daicn-Steuer-Lcltung 166 (Bit 3), das aus dem Ausgang des Inverters 252
erhalten wird und der Ausgang eines NAND-Galters 300 mit zwei Eingängen. Die zwei Eingänge für da;
NAND-Gatter 300 sind jeweils das Signal auf der Datcn-Steuer-Lcltung 168 (Bit 4) und das Komplement de« Signals auf der Datcn-Slcuer-Leltung 170 (Bit S), welch letzteres sich aus dem Ausgang des Inverters 228 ergibt Die Funktion des NAND-Gatters 300 besteht darin, die logischen Funktionen Exklusiv ODER (X XOR B
sowie Äquivalent (X EQV B) dadurch zu entschlüsseln, daß ein niedriger Spannungswert an dem Eingang eic;
NAND-Gatlcrs 296 erzeugt wird, wenn die eine oder andere dieser beiden logischen Funktionen von einen Loglsche-Elnhelien-Befehl 68 spezifiziert wird.
Die Funktion des NAND-Gatters 296 besteht daher darin, streng alle arithmetischen Operationen zu dckodle ren. Indem ein niedriger Spannungspegcl an den Taktclngang-Anschluß des AOV-Bedingungsreglstcrs 294 fü h" alle Takte wahrend der Ausführung eines Loglsche-Elnhcllcn-Befchls 68 zu legen. KIn Signal für den Vorcln stell-Elngang des AOV-Bedlngungsrcglstcrs 294 wird aus dem Ausgang eines NAND-Gatters 302 mit 7wc Eingängen erhalten, während ein Signal für den Lösch-Anschluß des BcdSngungercglstcrs 294 aus einen NAND-Gatter 304 mit zwei Eingängen gewonnen wird. Ein Eingang /u jedem der NAND-Gatter 302, 304 Is der Eingang für das NOR-Gatter 198. der nur während der Aufgabe eines MCC-lmpulscs 126 niedrig Ist, wem '1^ ein Loglscher-Elnhelten-Bclehl 68 ausgeführt wird. Der andere F.lngang für das NAND-Gatter 302 Ist das au der Daten-Steucr-Leltung 172 (Bit 6) auftretende Signal, wahrend der zweite Eingang für das NAND-Gullcr 30-das Komplement des Signals Ist. das uul' t'cr Datcn-Stcucr-Lcltung 172 erscheint, das seinerseits dann von den Ausgang eines Inverters 306 gewonnen wird.
Da die Vorelnsteil- und Löscheingänge für das AOV-Bedlngungsreglster 294 unabhängig von dem Takteingangsslgnal sind, setzt eine niedrige Eingangsspannung an dem Vorelnstellelr.gangsanschluß den ^-Ausgang des Bedingungsregisters 294 auf eine binäre Eins, wahrend ein niedriger Eingang am Löschanschluß den 0-Ausgang auf eine binäre Null setzt. Damit Ist die Funktion des NAND-Gatters 302 darin zu sehen, den (^-Ausgang des AOV-Bedingungsreglsters 294 auf eine logische Eins Im Zeitpunkt /o unter folgenden arithmetischen Bedingungen zu setzen: X + B, X + Z. X - B - 1. Andererseits besteht die Funktion des NAND-Gatters 304 darin, den ^-Ausgang des AOV-Bedlngungsreglsters 294 auf eine binare Null Im Zeltpunkt r0 bei Vorliegen der folgenden mathematischen Bedingungen zu setzen: X + B + 1, X + Z + 1, X + B + 1. Der 0-Ausgang des AOV-Bedlngungsregisiers 294 wird als der Eingang auf den Übertrag-Anschluß 234 des Addierers 30 gegeben, um die richtigen Ergebnisse für eine vorgegebene mathematische Operation zu erhalten. Man bemerke, daß das AOV- m Bedlngungsreglsier 294 In richtiger Welse gesetzt wird, wenn ein MCC-Impuls 126 einen Befehlsausführungszyklus einleitet.
Die drei lokalen Dedlngungsblts 82. 84, 86 (LC,, LC1, LC,) werden durch jeweiliges Prüfen des /.d-Bedingungsreglsiers 306 eines LCYBedlngungsregister 308 und eines LCi-Bedlngungsreglsters 310 getestet. Die drei örtlichen Bedingungsregister 306, 308, 310 sind In logischer Hinsicht Identisch mit dem MST-Bedingungsregisier is 202.
Die lokalen Bedlngungsblls werden beim Testen zurückgesetzt und das Setzfeld 100 eines Bedingun ^Test-Befehls 66 dient dazu, ein lokales Bedingungsregister zu setzen. Welter ist es notwendig, eine Bedingung zu prüfen, weiche wahr ist, um ein lokales Bedingungsregister setzen zu können. Weitere Einzelheiten Im Betrlebsvcrhalten des lokalen Bedingungsregisters folgen Im nachstehenden bei der Erörterung, wie die geeignete Test- i" Bedingung ausgewählt wird.
Um zu bestimmen, welches Bedingungsbit geprüft werden muß, wird ein Bedlngungswählcr 312 verwendet (Flg. 22). In Abhängigkeit von drei Steuersignalen wählt der Bedingungswähler 312 eine aus acht Datenquellen aus und liefert die komplementären Ausgänge. Die drei Steuersignale sind jeweils das an der Dalen-Steuer-Leltung 162 (Bit 1) auftretende Slgn-il, das an der Daicn-Steuerlcltung 164 (Bit 2) auftretende Signal und das an -"■ der Datcn-Steucrleltung 166 (Bit 3) auftretende Signal. Die acht Daten-Eingänge zu dem Bedingungswähler 312 sind die vier Addlercr-Bcdlngungs-Blts (LST-BIl 74, MST-BIl 76, AOV-Bit 78 und ABT-BlI 80), das äußere Aufruf-Bit (EXT 88) und die drei örtlichen Bedlngungsblls (LC-Blt 82, .VLG-Bll 84 und LC1-BiI 86). Das MST-Blt 76 wird aus dem (J-Ausgang des MST-Bedlngungsreglsters 202 gewonnen, wahrend das LST-Bcdlngungs-Bli 74 aus dem Q-Ausgang des LST-Bedlngungsrcglstcrs 286 erhalten wird. Das AOV-Bcdingungs-Bli 78 wird aus M) dem ()-Ausgang des AOV-Bedlngungsreglsicrs 294 abgeleitet, während das ABT-Bcdlngungs-Blt 80 aus dem Ausgang des NAND-GaUers 292 hergeleitet wird. Das EXT-Blt 88 erhält man aus einem externen Bedingungsarschluß 314 des Prozessors 10, während die drei örtlichen Bedingungsbits aus den (^-Ausgängen der örtlichen Bedingungsregister 306, 308, 310 erhallen werden.
Der (^-Ausgang des Bedingungsregisters 312 wird als ein Steuersignal für dus Setzen des lokalen Bedlngungs- -1" registers 306 bzw. 308 bzw. 310 verwendet, wahrend das Komplement des Ausgangs des Bcdlngungswählers 312 als Steuerung für die Adressennachfolgcrwahl benutzt wird.
Um zu bestimmen, welches lokale Bedlngungsreglsier 306, 308, 310 gesetzt werden soll, wird ein Seiz-Dckodlcrer 314 zum Dekodieren der Bits 4 und S eines Bcdlngungs-Tcsl-Bcfchls 66 verwendet.
Die Struktur und Logik des Seiz-Dekodlcrcrs 314 Ist ähnlich derjenigen des Bestlmmungs-Dckodicrcrs 254 *< sowie des Verschlebcdckodlerers 258 mit der Ausnahme, daß die zwei F.lngangsanschlOssc nur auf drei mögliche Ausgange dekodiert werden. l)as logische Diagramm für den Setz-Dckodlerer 314 zeigt Flg. 24 und Flg. 25 enthalt die entsprechende Wahrhclistafcl. Die zwei Stcucrelngängc für den Sctz-Dekodlcrcr 314 sind jeweils das auf der Datcn-Slcuer-Lcllung 168 (Bit 4) auftretende Signal und das auf der Datcn-Stcuer-Lellung 170 (BlI 5) auftretende Signal. Die drei Ausgänge des Seu-Dekodlcrcrs 314 sind jeweils mn den Dateneingangsanschlüssen ·»> des /.C'i-Bcdlngungsregistcrs 306, des /.C-Bedlngungsrcglsters 308 und des {.(."-Bedingungsregisters 310 verbunden. In der bevorzugten Ausführung.sl'orm sind die Loscheingänge für jedes der drei lokalen Bedingungsregister 306, 308 und 310 mit Ihren jeweiligen Datcn-Elngangsanschlüssen verbunden, um sicherzustellen, daß die (^-Ausgänge der Register auf eine Null gesetzt werden, wenn ein niedriger Eingang von dem Sciz-Dekodlerer 314 auf den geeigneten Daicnclngangsanschlul) In Abhängigkell von den Signalen auf den Datcn-Sleuer-Lellun- 5" gen 168, 170 (Bit 4 und 5) geliefert wird. Um weiterhin siehe.zustellen, daß du auf den Voreinstell-Elngängen für die drei Bedingungsregister 306, 308, 310 erscheinenden Signale die Operation der Register nicht beeinflussen, werden die Vorclnslcll-Elngänge jedes Bedingungsregisters auf das Potential V11. gelegt.
Das Aktlvlcrslgnal für den Seizdekodlcrer 314 wird von dem Ausgang eines NAND-Gatters 316 mit zwei Hingängen gewonnen, dessen Funkilon darin besteht, den Setz-Dekodlcrer 314 zum Einstellen des geeigneten ^ lokalen ßcdlngungsrcglstcrs 306, 308, 310 nur dann zu aktivieren, wenn die von dem Bedingungswähler 312 festgestellte Bedingung logisch wahr ist. Die zwei Eingänge zu dem NAND-Galtcr 316 sind der £>-Ausgang des Bedlngungswählers 312, der nur bei wahrer, geprüfter Bedingung hoch liegt, und der Ausgang eines NOR-üattcrs 318 mit zwei Eingängen.
I)Ic Funktion des NÜR-üatlcrs 318 besieht darin, ein Signal von hohem Pegel nur während der zweiten Takt- Wl Zelt (Zelt I2) für die Ausführung eines Bcdlngungslcsthcfehls 66 zu liefern. Die zwei Eingänge für das NOR-(iüttcr sind der Ausgang des NAND-Gatters 284, der nur bei der Ausführung eines Bcdlngungs-Prüf-Befehls 66 niedrig Ist. und der Ausgang eines NAND-Guttcrs 320 mit drei Eingängen. Die Funktion des NAND-Gatters .120 besteht In der Lieferung eines Signals vom niedrigen Pegel nur während der zweiten Takt-Zelt, wenn ein Bedlngungs-Prül'-Bel'ehl 66 von dem Prozessor 10 ausgeführt wird. Die drei Eingänge des NANÜ-Gattcrs 320 <·' sind jeweils der ■\usgang des NOR-Galters 266, der Ausgang des nlcdrlgststelllgcn Zlflernanschlusses 154 des Ilcxa-DczlmalzUlilers 134 und der Ausgang des Inverters 136. F.lnc Analyse der Flg. 27 zeigt, daß diese drei Eingänge für das NAND-Gaticr 3211 ein Signal von niedrigem Pegel an dem Ausgang des NAND-Gatters 320
nur wahrend der zweiten Taktzeil entstehen lassen, die nach Auftreten eines MCC-lmpulses 126 auftrlU.
Wie bereits erörtert, werden von den acht möglichen Bedingungen, die von dem Prozessor 10 geprüft werden können, nur die drei lokalen Bedingungen (Ld, LC1, LCi) bei dem Test zurückgesetzt. Um diese Operation auszuführen, wird ein Rückstell-Dckodlcrer 322 verwendet. Der ROckstell-Dekodlerer 322 Ist strukturell und
^ logisch Identisch zu dem Selz-Dekodierer 314. Eine Analyse eines Bedlngungs-Tcsi-Befehls 66 zeigt, daß die Bits 2 und 3 jenes Befehls angeben, welches lokale Bedlngungsreglster 306, 308, 310 geprüft werden soll, während das Bit 1 dieser Befehlsart angibt, daß eine lokale Bedingung geprüft werden soll. Somit sind die zwei Steuereingange für den Rückstell-Dekodlcrcr 322 das Signal auf der Daten-Steuer-Leltung 164 (Bit 2) sowie das Signal auf der Daten-Steucr-Leltung 166 (Bit 3).
Das Aktivlersignal für den Rückstell-Dekodlerer 322 wird von dem Ausgang des NAND-Gatters 324 mit zwei Eingangen gewonnen. Die Funktion des NAND-Gatters 324 besteht darin, den Rückstcll-Dckodlcrcr 322 nur dann zu aktivieren, wenn eine lokale Bedingung geprüft wird. Die zwei Eingange für das NAND-Gatter 324 sind daher jeweils das auf der Daten-Stcucr-Leltung 162 (Bit I) erscheinende Signal sowie der Ausgang des NOR-Gatters 318, der nur während der zweiten Taktzcll auf hohem Pegel liegt, wenn ein Bedlngungs-Tesl-
Befehl 66 ausgeführt wird.
Die drei Ausgänge des Rückstell-Dckodierers 322 sind jeweils mit dem Taklelngangsanschluß des lokalen Bedingungsregisters 306, 308, 310 verbunden. Im Betrieb wird der Rückstell-Dekodlerer 322 ein Taktsignal an das geeignete lokale Bedingungsregister 306, 308, 310 weiterleiten, wenn eine lokale Bedingung zur Prürung durch den Bedlngungs-Pruf-Befehl 66 ausgewählt wird.
Bezüglich C<_r Nachfolgerwahl wird ein Nachfolgerwähler 324 verwendet. In der bevorzugten Ausführungsforni weist der Nachfolgerwähler 324 rwe! Dalenwählcr 326, 328 iF!g. !3) mit drei Kanälen und zwei gemeinsamen Steuerleltungen auf. Jeder der zwei drclkanallgen Datenwähler besitzt drei Dateneingabe und komplementäre Ausgänge. Die zwei Steuersignale für den Nachfolgcrwähler 324 sind jeweils das Komplement des Ausganges des BedIn-
- gungswählcrs 312 und der Ausgang des NAND-GaSters 284. Die drei Datenelngange für den Datenwähler 326 sind das auf der Daten-Steuer-Lellung 174 (Bit 7) erscheinende Signal, das auf der Dalen-Sleucr-Leltung 180 (Bit 9) erscheinende Signal und das Komplement des auf der Datcn-Steuer-Slgal 184 (Bit II) erscheinenden Signals, das aus dem Ausgang des Inverters 198 abgeleitet wird. Die drei Dateneingänge für den Datcnwähler 328 sind das auf der Daten-Steuer-Lellung 172 (Bit 6) erscheinende Signal, das auf der Datcn-Steuer-Leltung 176 (Bit 8) auftretende Signal sowie das auf der Datcn-Steuer-Lcltung 186 (Bit 12) erscheinende Signal.
Wenn In der Sevorzugten Ausführung der Ausgang des UND-Gatters 284 niedrig liegt und das Komplement des Ausganges des Bedlngungswählcrs 312 hoch liegt, dann Ist der logisch wahre (Q) Ausgang des 3-Kanal-Datenwählers 326 das Signal, das auf der Daten-Steuer-Lcltung 176 (Bit 8) auftritt, während der ^-Ausgang des anderen 3-Kanal-Datcnwähieri 328 das auf der Daten-Stcuer-Lcltung 180 (Bit 9) auftretende Signal sein wird.
Wenn jedoch das Komplement des Ausganges des Bedlngungswählcrs 312 niedrig Ist. wahrend der Ausgang des NAND-Gatters 284 niedrig Ist, wird der ^-Ausgang des 3-Kanal-Datenwählers 326 das auf der Daten-Steuer-Leitung 172 (Bit 6) auftretende Signal sein, wahrend das an dem (^-Ausgang des anderen 3-Kanal-Datenwahlers 228 erscheinende Signal dasjenige auf der Daten-Stcucr-Leltung 174 (Bit 7) sein wird. Sollte der Ausgang des NAND-Gatters 284 hoch Hegen, wird der (^-Ausgang des ersten 3-Kanal-Daienwahlers ?·~Ά das auf der
Daten-Steuer-Lcltung 186 (Bit 12) erscheinende Signal sein, während das an dem (^-Ausgang des anderen
3-Kanal-Datenwählcrs 328 auftretende Signal das Komplement des Signals sein, das auf der Daten-Stcuer-
Leltung 184 (Bit II) auftritt, unabhängig von dem Steuersignal-Ausgang für den Nachfolgerwähler 324 aus
dem Bedlngungswählcr 312.
Aus dieser Anordnung ergibt sich, daß der Nachfolgewählcr 324 als Ausgänge die Signale liefert, die die Bits
6 bis 9 eines Bcdlngungs-Tcslbcfehls repräsentieren, der von dem Prozessor 10 ausgeführt wird. Wenn ein BedlngungsprUfbcfehl von dem Prozessor 10 nicht ausgeführt wird, erzeugt der Nachfolgerwähler 324 an seinen Ausgängen das Signal, das die Bits 11 und 12 des ausgeführten Befehls repräsentiert. Eine Analyse der möglichen Ausgänge des Nachfolgcrwählcrs 324 In Abhängigkeit von den angelegten Steuersignalen zeigt, daß für jeden Bedingungs-Test-Befehl 66, der von dem Prozessor 10 ausgeführt wird, der Ausgang des Nachfolgerwäh lers 324 einen wahren Nachfolger definieren wird, wenn die von dem Bedingungswählcr 312 gewählte Bedin gung sich als wahr erweist, während der Ausgang des Nachfolgcrwählers 324 den geeigneten falschen Nachfolger angegeben wird, der von einem Bedingungs-Test-Befehl 64 angegeben wird, wenn die von dem Bcdlngungswahler 312 geprüfte Bedingung sich als falsch erweist. Der wahre Ausgang des 3-Kanal-Datenwählers 326 des Nachfolgerwahlers 324 wird als ein Eingang auf ein
" NAND-Gatter 330 mit drei Eingängen gegeben, während sein Komplement als ein Eingang auf ein NAND-Gatter 332 mit drei Eingängen weltcrgclcltct wird. Der wahre Ausgang des 3-Kanal-Datcnwahlcrs 328 wird als ein Eingang auf ein NAND-Gatter 334 mit drei Eingängen gegeben, wahrend sein Komplement als der zweite Eingang auf das NAND-Gatter 330 sowie auf das NAND-Gatter 332 gelangt. Der dritte Eingang für beide NAND-Gatter 330 und 334 kommt von dem Ausgang des NOR-Gatters 318, der nur während des /weiten
h" Taktes hoch liegt, wenn ein Bedlngungs-Prüf-Befchl 66 von dem Prozessor 10 ausgeführt wird. Der drille Eingang für das NAND-Gatter 332 kommt von dem Ausgang des Inverters 290, der nur während des ersten Taktes bei der Ausführung Irgendeines aus dem Speicher 160 geholten Befehls hoch Hegt.
Die Funktion des NAND-Gatters 332 besteht darin, einen JUMP-Nachfolgcr /u dekodieren, wahrend die Funktion des NAND-Gatters 330 ein Dekodieren eines SKIP-Nachfolgcrs lsi. Ein SAVE-Nachfolgcr wird durch
M das NAND-Gatter 334 dekodiert. Der Ausgang des NAND-Galtcrs 332 wird als ein Ladc-Stcucr-Gcräl auf den Lade-Anschluß 191 des MPCR-Rcglsters 44 gegeben (Flg. 26).
Das MPCR-Rcglstcr 44 Ist ein 8-Blt-Aufwärtszähler und besteht aus acht Folge-Fllps-Flops. Der synchrone Betrieb wird dadurch erreicht, daß alle Fllp-Flops des Aufwilrts/ählcrs gleichzeitig getaktet werden, so daß die
IK
Ausgänge der Fllp-FIops sich miteinander kolnzldlerend verändern, wenn dies von der Steuerlogik befohlen wird. Diese Betriebsart eliminiert Zählerausgangsspitzen, die normalerweise asynchron. In Taktwellsn arbeitenden Zählern zugeordnet sind. Die Ausgänge der acht Folge-Fllp-Flops des MPCR-Reglsters 44 werden von einer Anstlegsflanke getrlggeri, die an dem Welterzähl-Elngang 190 auftritt.
Das MPCR-Reglster 44 Ist voll programmierbar, das bedeutet, die Ausgänge können auf einem beliebigen Status gesetzt werden. Indem die gewünschten Daten an den richtigen Dateneingängen eingegeben werden, während der Lade-Eingang 191 auf niedriger Spannung liegt. Die acht Ausgänge des MPCR-Reglsters 44 werden sich entsprechend den Daicnclngängen verändern, unabhängig von den Zählimpulsen.
Außerdem Ist ein Löscheingang vorgesehen, der alle acht Ausgänge des MPCR-Reglsters 44 auf einen niedrigen Spannungswert zwingt, wenn eine hohe Spannung an den Löscheingang 188 des MPCR-Registers 44 ange- legt wird. Die Löschfunktion Ist unabhängig von der Zählung und von den Lade-Eingängen 190, 192. Das Löschsigna! 128, das zum Setzen des MPCR-Reglsters 44 auf null Adressen notwendig ist, kommt über einen Löschanschluß 502, der an dem Prozessor 10 vorgesehen Ist. Somit können extern erzeugte Löschsignale 128 auf das MPCR-Reglster 4* Ober den Löschanschluß 502 gegeben werden.
Bei dieser Anordnung wird dann, wenn das NAND-Gatter 332 einen JUMP-Nachfolger vom Ausgang des is Nachfolgerwählers 324 dekodiert, ein Signal mit niedriger Spannung an den Ladeanschluß 191 des MPCR-Reglsters 44 nur während des ersten Taktimpulses (Zeltpunkt /ι) angelegt sein, wenn ein Bedlngungs-Prüf-Befehl 66 ausgeführt wird. Zu allen anderen Zeiten und für alle anderen Befehle wird der Ausgang des NAND-Gatiers 332 und daher der Eingang für den Lade-Anschluß 191 des MPCR-Reglsters 44 hoch liegen. Wenn somit der Steuerimpuls an dem Ladeanschluß 192 auf einem niedrigen Spannjngswert Hegt, wird die von dem AMPCR-Register 32 spezifizierte Adresse In das MPCR-Register 44 geladen werden, und zwar un.-,?hänglg von den Steuersignalen, die an den Weiterzahlanschluß 190 des MPCR-Reglsters 44 angelegt werden. W jnn somit ein JUMP-Nachfolger angegeben wird, und zwar entweder als der wahre oder als der falsche Nachfolger, wird die In dem AMPCR-Reglster 32 angegebene Adresse die Adresse des nächsten, von dem Prozessor 10 auszuführenden Befehls werden.
Zur Ausführung eines SKIP-Nachfolgers wird der Ausgang (J^s NAND-Gatters 330 als ein Eingang auf ein NAND-Gatter 336 mit zwei Eingängen gegeben, dessen Ausgang an den Welterzählanschluß 190 des MPCR-Reglsters 44 gegeben wird. Der zweite Eingang zu dem NAND-Gatter 336 kommt aus dem Ausgang des NAND-Gatters 292, der nur während des erste Taktes (Zeltpunkt i() für jeden von der programmierbaren Einheit ausgeführten Befehls niedrig 1st. Somit wird das NAND-Gatter 336 eine Anstlegflanke an dem Welter- M Zählanschluß 190 des MPCR-Reglsters 44 zum Zeltpunkt 1, für jeden von dem Prozessor 10 ausgeführten Befehl geben und in Zeltpunkt /2, wenn ein SKIP-Nachfolge. von einem Bedingungs-Test-Befehl 66 angegeben wird.
Unabhängig von dem Ausgang des NAND-Gatters 330 liegt der Ausgang des NAND-Gatiers 336 Im Zeltpunkt ti hoch, und zwar aufgrund der Zeltlmpulsc, die von dem NAND-Gatter 292 dekodiert werden. Somit besteht die Funktion des NAND-Galiers 336 darin, die STEP-Nachfolgerfunktlon zu verwirklichen, und zwar ·15 unabhängig von der Art der Bedingung, die von der programmierbaren Einheit ausgeführt wird, indem der Inhalt des MPCR-Reglsters 44 um eine binäre Eins erhöht wird. Dieses STEP-Merkmal stört einen iUMP-Nachfolger nicht, da das Steuersignal für einen JUMP-Nachfolger auf den Lade-Anschluß 191 gegeben wird, der jedes auf den Welterzählanschluß 190 gegebene Signal überschreibt.
Zur Verwirklichung eines SAVE-Nachfolgers wird der Ausgang eines NAND-Gatters 334 als ein Eingang auf ■"> ein NAND-Gatter 338 mit zwei Eingängen gegeben, dessen Ausgang an den Ladeanschluß 340 des AMPCR-Reglsters 32 gelegt wird (Flg. 30k). Der zweite Eingang des NAND-Gatters 338 kommt von dem Ausgang eines Inverters 342, dessen Eingang von dem Ausgang eines NOR-Gatters 344 mit zwei Eingängen abgeleitet wird.
Die Funktion des NOR-Gatters 344 besteht Im Dekodieren eines GO-TO-LITERAL-Befehls 64c und eines LITERAL-TO-AMPCR-Berehls 64a. Die Analyse der Befehlskodes für die verschiedenen Arten von Befehlen. ·»* die von dem Prozessor 10 ausgernhrt werden können, zeigt, daß nur die beiden oben erwähnten Befehle eine binäre Null an der Stelle Bit 12 In Ihren jeweiligen Befehlen enthalten. Die Daten und Takteingänge für das NOR-Gatter 344 sind daher jeweils das auf der Daien-Steuer-Lellung 186 (Bit 12) auftretende Signal sowie der Ausgang des NAND-Gatters 142, der nur während der Dauer eines MCC-Impulses 126 auf niedriger Spannung liegt.
Der Ausgang des NAND-Gatiers 338 wird dafür sorgen, daß dus AMPCÄ-Reglster 32 Im Zeltpunkt I0 mil dem ausgewählten Ausgang des Wählers 192 geladen wird, wenn ein GO-TO-LITERAL-Befehl 64c oder elü LITERAL-TO-AMPCR-Befehl 64a von einem Literalbefehl 64 angegeben wurde. Außerdem wird der Ausgang des NAND-Gatters 338 veranlassen, daß das AMPCR-Reglster 32 Im Zeltpunkt Ii geladen wird, und zwar mit dem Ausgang des ausgewählten Ausgangs des Wählers 192, wenn ein SAVE-Nachfolger von dem Nachfolger- s* wähler und dem SAVE-Dckodler-NAND-Gatter 334 dekodiert wurde. Zu allen anderen Zeltpunkten (z. B. ι, und h bis /,) liegt der Ausgang des NAND-Gatters 338 auf niedrigem Pegel.
In der bevorzugten Ausführungsform Ist das AMPCR-Reglster 32 ein e-Blt-Rechts-Schlebe-Reglster. das außerdem als ein Spelcherreglsier mit parallelem Eingang und parallelem Ausgang verwendet wird (Flg. 28). Abgesehen von den acht Dateneingängen und -Ausgängen und dem Lade-Eingang 340 besitzt das AMPCR- 6" Register 32 einen Scrlenelngangs-Anschluß und einen Takt-Steueranschhifj.
Das A.MPCR-Reglster 32 besteht aus acht RS-Folge-Fllp-Flops, acht AND-OR-INVERTER Gattern, ein AND-OR-Galter 346 und 10 Inverter-Treibern. Die Verbindung dieser Funktionen gibt ein sehr vielfältiges Register, das eine Rcchls-Vcrschlebe-Operutlon bei Empfang eines geeigneten logischen Einganges an seinem Lude-Eingang 340 ausführt. ^
DIc Taktsignale für das AMPCR-Rcglstcr 32 we.den von dem Ausgang des NOR-Gatters 214 mit zwei Eingängen geliefert. Wie bereits erörtert, kommi einer der Eingänge für das NOR-Gatter 214 aus dem Ausgang des NAND-Gatters 204, das die für die Ausführung eines Loglsche-Elnheiten-Befehls 68 notwendigen Takt-
Impulse liefert. Der andere Eingang für das NÜR-Galler 214 kommt von dem Ausgang des NAND-Gatters 231, der nur dann aul' niedrigem Potential liegt, wenn das AMI'CR-Reglstcr 32 als das Bestimmungsregister von einem Loglsche-Elnhclten-Bcfehl 68 bestimmt wird.
Jedes AND-OR-INVERT-Gattcr des AMPCR-Rcglslers 32 besteht aus zwei AND-Gatlern. die als AND-
s Gatter 1 und AND-Gatter 2 bezeichnet sind. Wenn eine binare Null an den Ladeclngang 340 des AMPCR-Rcgl· sters 32 gelegt wird, sind die AND-Gatter I geöffnet und die AND-Gatter 2 gesperrt. Bei dieser Betriebsart wird der Ausgang jedes RS-Fllp-Flop an die RS-Elngängc des nachfolgenden l-Hp-l-'lops angelegt und eine Rechts· Schiebe-Operatlon wird durch Takten an dem Takteingang ausgeführt, Zusätzlich werden serielle Daten am Serien-Eingang eingegeben, wahrend die acht parallelen Eingänge durch die AND-Gatter 2 gesperrt werden.
i" Wenn eine binäre Eins an den Ladcunschluß 340 angelegt wird, werden die AND-Gatter 1 gesperrt (Wegnehmen der Ausgange aufeinanderfolgender RS-Elngilnge, und dadurch Verhinderung der Rcchls-Vcrschlchung) und die AND-Gatter 2 werden durchlässig, so daß ein Oaten-Illngang durch die acht parallelen Eingänge erfolgen kann. Diese Betriebsart erlaubt ein paralleles Laden des AMPCR-Rcglsters 32.
Das Takten für das Schlebc-Rcglstcr wird durch das AND-OR-Gatlcr 346 ausgeführt, das die Verwendung der
1S Taktqucllc nur für die Rechtsvcrschlcbung erlaubt.
An den RS-Elngüngen der Folgc-Fllp-Flop muß die Information vor dem Takten vorhunden sein. Eine Obertragung von Information an den £>-Ausgangsanschluß der acht ΙΊΙρ-Flop des AMPCR-Rcglsters 32 tritt auf, wenn der Takleingang von einer blntlren Eins In eine binare Null übergeht.
Wersrs scm!', das AMPCR-Regls'.sr 32 als das Bcsiimmurigsrcgisicr uon dem Bnsiimmunnnfeld "4 eines LobI-
2(1 sche-Elnhelten-Bcfchls 68 angegeben wird, dann wird der serielle Ausgang des Addierers 30 auf den seriellen Eingang des AMPCR-Reglslers 32 über das NOR-Gatter 246 gegeben, wobei das Takten Tür diesen Bctrlcbsablauf von dem Ausgang des NOR-Gattcrs 214 aus erfolgt. Andererseits werden für die Ausführung eines SAVE-Nachfolgers oder eines GO-TO-LITERAL oder LITERAL-TO-AMPCR-Befchls die acht Datcnclngflngc des AMPCR-Reglsiers 32 parallel den geeigneten Ausgang des Wählers 192 In Abhängigkeit von den Ladc-Slcucr-
-* Signalen empfangen, die von den NAND-Gatlcrn 338, 334 geliefert werden.
Die parallelen Eingänge für das AMPCR-Rcglstcr 32 werden von dem an dem Stcucrap.schluU 194 des Wahlers 192 auftretenden Signal bestimmt. Das Steuersignal für den Sicucranschluß 194 des Wählers 192 wird von dem Ausgang des NAND-Galters 284 erhalten, das nur dann as' niedriger Spannung liegt, wenn ein Loglschc-Elnhelten-Befehl 68 von dem Prozessor 10 ausgeführt wird. Wenn somit ein Loglschc-lilnheltcn-Bcfchl
3i) von dem Prozessor 10 ausgeführt wird, wird der Wähler 192 den Ausgang des MPCR-Rcglstcrs 44 als die parallelen Eingänge Tür das AMPCR-Rcglster 32 liefern. Für alle anderen Befehle wird der Wähle 192 diejenigen Signale als den Eingang für das MPCR-Rcglstcr 44 liefern, die jeweils auf den Dalen-Stcucr-Leltungcn 162 bis 176 (Bit 1 bis 8) erscheinen.
« Llteral-Bcfehl
D!e zu dem LiTERAL-TO-AMPCR-Befchl Ma und den CiO-TO-LITERAL-Befchl 64t- gehörenden Schaltungen wurden bereits Im Zusammenhang mit einem Teil derjenigen Schaltung dargelegt, die zur Ausführung eines Bedlngungs-Tcst-Befehls 66 gehört. Die zu dem verbleibenden Lltcral-Bcfehl, nämlich UTERAL-TO-B-Befchl 646, gehörende Schallung wird jetzt beschrieben.
Eine LITERAL-TO-B-Operailon wird durch ein NAND-Gatter 248 mit vier Eingängen dekodiert, dessen Ausgang als das Steuersignal auf den Schlcbc-l.ade-Elngangs-Anschluß des B-Rcglsters 28 gegeben wird (Flg. 17). Zwei der vier Eingänge für das NAND-Gatter 348 sind jeweils das an den Daten-Stcucr-Lcltungcn 182 (Bit 9) und 186 (Bit 12) erscheinende Signal (Flg. 30g). Der dritte Eingang für das NAND-Gatter 248 wird
■»> von dem Ausgang des Inverters 290 erhalten, der nur während des ersten Taktimpuls«» auf hoher Spannung liegt (Flg. 27). Der restliche Eingang für das NAND-Gatter 348 kommt vom Ausgang eines NOR-Gallcrs .150 mit zwei Eingängen.
Die Funktion des NOR-Gatters 350 besteht darin, die restlichen /wel Bits zu dekodieren, nämlich die Bits 10 und 11 des Befehlskodes für einen LITERAL-TO-B-Befchl 646. Die zwei Eingänge für das NOR-Gatter 350 sind
■"' daher das auf der Datcn-Stcucr-Lcltung 182 (Bit 10) stehende Signal und das Komplement des Signals, das auf der Daten-Sicuer-Lcitung 184 (Bit II) erscheint, das vom Ausgang des Inverters 198 gewonnen wird.
Aus dieser Anordnung ergibt sich, daß das NAND-Gatter 348 nur dann ein Signal von niedrigem Pegel auf den Schlebe-Ladc-Eingangs-Ansehluß des B-Rcgisters 28 geben wird, wenn ein LlTERAL-TO-B-Befehl 64b von einem Lücral-Befehl 64 angegeben wurde. Die Analyse des Betriebsverhaltens des B-Rcglsters zeigt, daß dann,
" wenn ein Signal von niedriger Spannung an den Verschlebc/Lade-Anschluß jenes Registers gegeben wird, die an den acht parallelen Eingängen des B-Reglstcrs stehenden Daten direkt in das Register geladen werden, und zwar unabhängig von dem Zustand der anliegenden Takt-Steuerimpulse.
Wenn somit ein LITERAL-TO-B-Befehl 646 angegeben wird, wird der Llteralwcrt-Abschnltt des Befehls parallel in das B-Rcgister 28 geladen, wenn das NAND-Gatter 348 den richtigen Befehlskode entschlüsselt.
Bei dieser Anordnung wird der Ausgang des NAND-Galters 352 nur dann auf niedriger Spannung liegen, wenn ein DEV-Art-Befehl 118 von der programmierbaren Einheit 10 ausgeführt werden soll. Der Ausgang des NAND-Gatters 252 wird als ein Eingang auf das NAND-Gatter 356 mit zwei Eingangen gegeben, während das Komplement des Ausgangs des NAND-Gatters 352 als ein Eingang auf das NAND-Gatter 358 mil zwei Eingingen gegeben wird. Das Komplement des Ausgangs des NAND-Gatters 352 wird von einem Inverter 360 geliefert
bi (Fig-3On).
Der andere Eingang für das NAND-Gatter 356 wird von dem Ausgang des NOR-Gatters 346 abgeleitet, das den geeigneten Ausgang des Addierers 30 weiterleitet, während der zweite Eingang für das NAND-Gatter 351 von dem seriellen Ausgang eines Vorrlchiungsreglslcrs 362 (Flg. 29) herkommt. Das Vorrichtungsregister 3*2
lsi als ein Puller 364 In Flg. 2 dargestellt. I)Ic Ausgange der NAND-Gatter 356. 358 werden als Eingänge auf ein NOR-Gatter 370 mit zwei Eingängen gegeben.
Das Vorrlchiungsreglster 362 Ist ein 8-Blt-parallcl-ln-Scrlcll-Verschlebcrcglsier, das die Daten nach rechts verschiebt, wenn es getaktet wird. Die acht Eingänge für das Vorrlchiungsreglster 362 sind jeweils das auf den Daten-Stcuer-Leltungen 162 bis 176 auftretende Signal (die ersten acht Bits jedes Befehls). Ein Steuersignal für das parallele Laden des Vorrlchtungs-Reglslcrs 362 wird von dem Ausgang des NAND-Galtcrs 142 erhalten, das die MCC-Impulsc 126 zu dem Wcltcr/ählanschluß 146 des Hexadezimalzähler 134 weiterleitet. Das Tikien für da» Vorrichtungsregister 362 wird von dem Ausgang des NAND-Gatters 132 erhalten, das die TAKT-EIN-Inip-jlse für die programmierbare Einheit 10 weiterleitet (Flg. 30b).
Im Betrieb, wenn ein MCC-lmpuls auf den Prozessor 10 Im Zeitpunkt h gegeben wird, wird das Vorrlch- w tungsreglsler 362 parallel mit den erstr.n acht Bits des Befehls geladen, der von dem MPCR-Register 44 adressiert wurde. Zu den Zeitpunkten h bis l, wird der Inhalt des Vorrlchtungsreglsters 362 seriell als ein Eingang auf das NAND-Gatter 358 gegeben (das Bit 8 zuerst). Da das DEV-Befehls-Dekodler-NAND-Gatter 352 nur dann auf niedrigem Potential liegt, wenn ein DEV-Befehl 118 ausgeführt werden soll, besteht die Funktion des NAND-Galters 358 darin, den Llteralwert-Abschnltt 120 eines DEV-Befehls 118 über das NOR-Gatter 370 auf einen DATEN-AUS-Anschluß 368 des Prozessors 10 weilerzuleiten. Andererseils wird das NAND-Gatter 356 stets den geeigneten Ausgang des Addierers 30 über das NOR-Gatter 346 auf den DATEN-AUS-Anschluß 368 über das NOR-Gatter 370 geben, es sei denn, daß ein DEV-Befehl angegeben wurde.
Externe Stcucrlcltung M
Die 4 Bit externen Steucrlcliungcn 90, die zur Unterstützung des Informationsflusses Im Prozessor 10 hinein und aus Ihm heraus verwendet werden, werden von zwei der zwölf Datcn-Slcuer-Leltungcn und den Ausgängen zweier NAND-Gatter 373, 374 gebildet. Die auf den Daten-Steucr-Lellungcn 180 (Bit 9) und 182 (Bit 10) erscheinenden Signale werden als externe Stcucrausgangs-Slgnalc geliefert, die von den Ausgangsanschlüssen -> 376, 378 des Prozessors 10 erhalten werden können. Die Signale, die auf den externen Slcuerausgangsanschlüssen 376, 378 des Prozessors 10 erscheinen, /eigen der Außenwelt (z. B. einer nerlphcren Vorrichtung) an, welches Register, AUS 0, AUS 1, AUS 2 oder AUS 3 wahrend eines Loglsche-Elnhelten-Befehls 68 spezifiziert wurde. Diese zwei Signale sind tatsachlich das 9. und 10. Bit des Befehlswortes.
Die verbleibenden beiden externen Steuerbus werden von den Ausgängen der NAND-Gatter 372 bzw. 374 3« f hallen. Die Funktion des NAND-Gattcrs 372 besieht darin, ein externes Stcuerbll A nur dann zu liefern, wenn eine »AUS«-Bestlmmung angegeben wurde, oder wenn ein DEV-Art-Bcfehl 118 von der programmierbaren Einheit 10 ausgeführt wird. Diese beiden externen Steuerbus A und B können von Ausgangsanschlüssen 376 bzw. 378 der programmierbaren Einhell erhallen werden.
in der bevorzugten AusfUhrungsform zeigen die vier möglichen Kombinationen der externen Steuerbus A und ■'* H das folgende an: 1) Bit Λ = Null, BIl B = Null zeigt an, daß kein extern wesentlicher Befehl ausgeführt wird; 2) BIl A = Null, Bit B= Eins zeigt einen »3EX«-Art-Bcfehl an; 3) Bit A = Eins, Bit B = Null zeigt einen »OUT«- Arl-Bcfchl an; und 4) Bit A = Eins, Bit B = Eins, zeigt einen DEV-Bcrchl 118 an.
Jedes NAND-Gatler 372, 374 bcsllzl zwei Eingänge (Flg. 30h). Ein Eingang zu jedem NAND-Gatter 372, 374 kommt von dem Ausgang des NAND-Gatiers 352, der nur dann auf niedrigem Potential liegt, wenn ein DEV- w Art-Befehl 118 vom Prozessor 10 ausgeführt wird. Der andere Eingang zu dem NAND-Gatter 372 kommt von dem Ausgang eines NAND-Guttcrs 380 mit zwei Eingangen. Die zwei Eingänge des NAND-Gatters 380 sind jeweils der Ausgang des Inverters 206, der nur dann hoch Hegt, wenn ein Loglsche-Elnhelten-Befehl 68 ausgeführt wird, und dem Ausgang des NOR-Gatlers 256, der nur dann hoch liegt, wenn eine OUT-Bestlmmung angegeben wird. Die Funktion des NAND-Gallcrs 380 besteht demnach darin, ein Signal von niedrigem Span- *s nungswcrt als einen Eingang dem NAND-Gaitcr 372 nur dann zuzuführen, wenn eine OUT-Bestlmmung von dem Bestimmungsfcld 114 eines Loglsche-Elnhelten-Befehls 68 angegeben wird. Mit den jeweiligen Eingängen wird das NAND-Gatter 272 ein Signal von hohem Pegel (externes Steuer-Bit A) nur dann liefern, wenn ein DEV-Art-Befehl 118 ausgeführt wird oder eine OUT-Bestlmmung angegeben Ist.
Der zweite Eingang zu dem NAND-Gatter 374 kommt zu dem Ausgang eines NAND-Gatters 382 mit zwei *n Eingängen. Die zwei Eingänge für das NAND-Gatler 383 sind jeweils der Ausgang des Inverters 206. der Ausgang eines NOR-Gatters 284 mit zwei Eingangen. Die zwei Eingänge für das NOR-Gatter 384 sind jeweils das auf der Daten-Steuer-Leltung 176 (Bit 8) erscheinende Signal und das Komplement des Signals, das auf der Daten-Slcuer-Leltung 174 (Bit 7) erscheint, welches von dem Ausgang des Inverters 234 erhalten wird.
Im Betrieb wird das NOR-Gatter 384 ein Signal von hohem Pegel nur dann liefern, wenn eine BEX-Bestlmmung angegeben wird. Dieses Signal von hohem Pegel wird durch das NAND-Gatter 383 weltergcleltet und gibt ein Eingangssignal von niedrigem Pegel an das NAND-Gatter 374. Somit wird das NAND-Gatler 374 nur dann ein Signal von hohem Pegel (externes Stcuerbll B) am Ausgangsanschluß 388 des Prozessors 10 abliefern, wenn entweder eine BEX-Bestlmmung oder ein DEV-Befehl angegeben sind.
Adressierung
In Abhängigkeit von der Befehlsadresse am Ausgang des MPCR-Reglslers 44 wird der Speicher 160 das geeignete 12 Bit In Befehlswort an den Eingang des Befehlsregisters 500 (Flg. 30a) liefern. Wie bereits kurz erwähnt, ist das Befehlsregister 500 ein zwöIf-Bll-Spolchcrreglslcr mit parallelem Eingang und parallelem Ausgang, das 6^ Informationen an den Ausgang weitergibt, wenn ein Takteingang für das Register 500 von einer hohen Spannung auf eine niedrige Spannung absinkt. Die zwölf Eingänge für das Befehlsregister 500 kommen von dem Speicher 160, während die zwölf Ausgänge des Befehlsregisters die Daten-Steuer-Slgnale für die Leitungen 162
bis 186 liefern. Das Takten für das Befehlsregister wird aus dem Ausgang des Inverters 156 abgeleitet, der letzte Impulsslgnalc 122 an den letzten Impulsausgang-AnschluB 158 des Prozessors 10 weitergibt. Man bemerke, daß die Analyse des Ausgangs des Hexadezimalzähler 154 zeigt, daß eine Flanke von einem hohen Spannungswert auf einen niedrigen Spannungswert am Taklsleuer-Anschluß des Befehlsregisters nur Im Zeitpunkt ι, auftritt. Somit wird ein neuer Befehl In das Befehlsregister 500 nicht geladen werden, bis der vorhergehende Befehl vom Prozessor 10 vollständig ausgeführt wurde.
Eingang und Ausgang
Bei der Verwirklichung von Arbeltsfunktionen Im Mikroprogramm werden alle notwendigen Steuer- und Datensignal in dem Speicher gespeichert, wodurch unnötige Verbindungen mit der Außenwelt vermieden werden. In der bevorzugten Ausführungsform sind zwölf externe Verbindungen vorgesehen. Fünf Anschlösse, nämlich DATEN-ElN-AnschluB 280, TAKT-EIN-Anschluß 13«, MCC-Anschluß 140, der MPCR-LÖSCH-Anschluß 502 und der EXTERNE-BEDINGUNGS-Anschluß 314 sind Tür Steuer- und Taktsignal für den
>' Prozessor 10 vorgesehen. Die Signale an dem TAKT-AUS-AnschluU 138, dem LETZTER-IMPULS-AnsehluU 158, dem DATEN-AUS-Anschluß 368 und den vier externen Steuerblt-Anschlüsscn 376, 378, 486. 38« des Prozessors 10 liefern Steuer- und Datensignale zur Information der Außenwelt über den Status des Prozessors 10. Zwei zusätzliche Verblndungsanschlüsse werden zur Versorgung der notwendigen elektrischen Speisespannung benötigt, -Λ-cr.r, tier Prozessor JS in LSi-Tcchnik ausgeführt wird. Diese beiden zusätzlichen AnschÜSsss
2(1 sind als »SPANNUNGEN« und »MASSE« In Flg. 2 angegeben.
Tabelle 1 Setzen und Zurücksetzen von Bedingungen
1 2 3 Bedingung 4 5 Setzen Zurücksetzen
LC 1 durch Prüfen LC 2 durch Prüfen LC 3 durch Prüicn
Unter Steuerung der externen von außen Schnittstelle von externen Einheiten (i. w. die Unlcr-'' brechungen von mehreren
F.inhciten)
0 10 LST I I Erstes Bit vom Addierer *)
(niedrigstwertiges Bit I = I)
4" 0 0 0 MST 1 I Letztes Bit vom Addierer *)
(höchstwertiges Bit 8 = 1)
0 1 1 ABT I I Alle Bits vom Addierer ·)
(Bits I bis 8) = 1
"5 0 0 1 AOV I I Addierer-Überlauf= 1 *)
(Übertrag-Bit bei Seriell-Addierer; wenn acht Informationsbits addiert wurden, repräsentiert dies das
Überlauf-Bit)
*) Verändert nur bei logische-Kinhcit-Bcfchlcn
Tabelle 2
1 0 0 LCl 0 0
1 0 1 LC 2 0 1
1 1 0 LC 3 1 0
1 1 I EXT I 1
OkUl Bit 1 Bit 2 X Eingang
Code für Addierer
0 0 0 0
1 0 1 A 1
2 I 0 Λ2
3 1 1 A3
Hierzu 35 Blatt Zeichnungen
22

Claims (5)

Palentansprüche:
1. Prozessor Tor eine Mehrprogramm-Datenverarbeitunganlage mit einem Mikrobefehlsspeicher, dessen Speicherplatze von einer Mlkrobefehlsspelcher-Steuerelnhelt adressiert werden und Mikrobefehle Ober eine Steuereinheit an eine logische Einheit zur Ausführung arithmetischer und logischer Operationen abgeben, wobei die logische Einhell Ober einen bitseriellen Dateneingangs- und Datenausgangsbus mit einer externen Schnittstelle verbunden ist und einen Addierer, mehrere A- und ein B-Rcglstcr sowie Auswahlschaltungen zur Verbindung der Ein- und Ausgange der jeweiligen Register mit den Ein- und Ausgängen des Addierers enthalt, dadurch gekennzeichnet,
daß die Steuereinheit (18) einen mit dem Ausgang des Mlkrobefehlsspelchers (14) verbundenen Dekodlercr (46) zum bitparallelen Empfang der Mikrobefehle, eine Nachfolger-Bestimmungslogik (48) zur Bestimmung des nächsten Mikrobefehls, eine Bedingungsauswahllogik (50) und ein vom Addierer (30) der logischen Einheit abgegebenes Bedingungsbits empfangendes Bedingungsregister (52) enthalt,
daß die Mlkrobefehlsspeicher-Steuerelnhcil (16) ein mit 'lern Adresslereingang des Mlkrobefehlsspelchers (14) verbundenes Mlkrobefehlsspelchcr-Zählrcgister (44), das uni eine oder zwei Einheiten Inkrementlerbar ist und den jeweils nächsten Befehl aus dem Mikrobefehlsspeicher (14) abruft sowie ein Ober bitparallele Leitungen (92) wechselseitig mit dem Mlkrobefehlsspelcher-Zählreglster (44) verbundenes Wechsel-Mlkrobefehlsspelcher-Zählrcglsier (32) enthalt, das elngangsseltlg Ober eine bitparallele Leitung (56) mit einem ersten Ausgang des Dekodierers (46) zum Empfang von aus Mikrobefehlen abgeleiteten Lltcralen und Ober eine bitserlelle Leitung r&U dem Ausgang einer an den Ausgang des Addierers (30) angeschlossenen ersten Auswahlschaltung (36) verbunden ist, und die Sprung- sc^'e ROckkehradressen für Programrnsprünge und Unterprogramme enthalt,
daß der X-Elngang des Addierers (30) Ober die erste Auswahlschaltung (40) mit dem Ausgang eines der A-Reglster (22, 24, 26) und der Y-Elngang des seriellen Addierers (30) Ober eine zweite Auswahlschaltung (42) mit dem Ausgang des B-Reglsters (28) oder des Wechsel-Mlkrobefehlsspelcher-Zählreglsters (32) verbunden ist und for einen Teil der durchzuführenden logischen oder arithmetischen Operationen mit dem wahren oder komplementären Inhalt des B-Reglster (28) und for den verbleibenden Teil der durchzuführenden Operationen mit dem Inhalt des Wcchsel-Mlkrobefehlsspclcher-Zahlrcglsters (32) als Y-Operanden geladen wird,
daß ein bitserieller Eingang des B-Rcglstcrs (28) über eine dritte Auswahlschaltung (38) sowohl mit dem wahren Ausgang des B-Reglsters (28), Ober die erste Auswahlschaltung (36) mit dem Ausgang des Addierers (30) oder mit dem blf-^erleller- Dateneingangsbus des Prozessors (10) verbindbar und ein bitparalleler Eingang des B-Reglsters (28) zum Empfang von Mikrobefehlen mit einem zweiten Ausgang des Dekodicrcrs (46) verbunden Ist, wobei die In cf-ts B-Reglster (28) eingegebenen Daten oder Befehle getaktet zum Ausgang verschoben oder parallel direkt In das B-Register (28) geladen werden, und daß ein bit serieller Ausgang des Addierers (30) über den Datenausgangsbus des Prozessors (10) mit der externen Schnittstelle (20) verbunden Ist, wobei die Nachfolger-Bestimmungslogik (48) der Steuereinheit (18) festlegt, ob zur Adressierung des Mlkrobefehlsspelchers (14) der um 1 oder 2 Inkremenilerte Inhalt des Mlkrobefehlsspelcher-Zählreglsters (44) oder der Inhalt des Wechsel-Mikrobefehlsspelchcr-Zahlreglsters (32) verwendet wird.
2. Prozessor nach Anspruch I. dadurch gekennzeichnet, daß der Dekodierer (46) Ober einen vier Bit breiten Steuerpfad (90) Informationen über die von dem Prozessor (10) ausgeführte Befehlsatt an die externe Schnittstelle (20) abgibt.
3. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß das B-Reglstcr (28) aus einem 8-Blt-parallelseriell-Umsctzer mit taktgestcuertcr Rechtsverschiebung der eingegebenen Informationen besteht und komplementäre Ausgange {Q. Q) am Ausgang der achten Umsetzerstufe aufweist.
4. Prozessor nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß das Mlkrobefehlsspelcher-Zählreglster (44) aus einem 8-Bll-Aufwärtszahler mit acht JK-Klppgllcdcrn mit Zwelflankensteuerung besteht, die gleichzeitig getaktet werden und deren Ausgänge sich unabhängig von den Taktimpulsen den Datcnelngangen entsprechend andern, wobei bei Anlegen eines I.Oschlmpul.scs an einen Löscheingang des Mlkrobefehlsspelchcr-Zahlreglslers (44) alle Ausgange einen niedrigen Spannungspcgcl aufweisen.
5. Prozessor nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Wechscl-Mlkrobefehlsspelcher-Zählrcglster (32) aus einem 8-Blt-rechls-Sc',;lcbercglstcr mit acht Datcncln- und Datenausgängen, einem Ladeeingang, einem seriellen Eingang und einem Taktanschluß besteht, das eine Rechtsvcrschlcbung der parallel oder seriell eingegebenen Informationen bei Ansteuerung des Ladcelngangs ausführt und zusätzlich als Spelcherreglstcr mit parallelem Eingang und parallelem Ausgang dient, dessen acht parallele Eingänge bei Eingabe serieller Informationen gesperrt sind, wobei In Abhängigkeit von dem jeweiligen Mikrobefehl der serielle Ausgang des Addierers (30) mit dem seriellen Eingang des Wechscl-Mlkrobcfehlsspelcher-Zählrcglsters (32) oder die acht parallelen Eingänge des Wechscl-Mlkrobcfehlsspelcher-Zählrcglsters (32) mit den acht parallelen Ausgangen des Mlkrobcfehlsspelchcr-ZBhlreglsters (44) verbunden sind.
DE2357003A 1972-11-20 1973-11-15 Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage Expired DE2357003C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US307863A US3878514A (en) 1972-11-20 1972-11-20 LSI programmable processor

Publications (2)

Publication Number Publication Date
DE2357003A1 DE2357003A1 (de) 1974-05-22
DE2357003C2 true DE2357003C2 (de) 1984-12-20

Family

ID=23191492

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2357003A Expired DE2357003C2 (de) 1972-11-20 1973-11-15 Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage

Country Status (14)

Country Link
US (1) US3878514A (de)
JP (1) JPS6361691B2 (de)
BE (1) BE807098A (de)
BR (1) BR7309060D0 (de)
CA (1) CA1002200A (de)
DE (1) DE2357003C2 (de)
DK (1) DK158685C (de)
FR (1) FR2217745B1 (de)
GB (1) GB1429379A (de)
IE (1) IE40493B1 (de)
IL (1) IL43641A (de)
IT (1) IT1002151B (de)
NL (2) NL7315163A (de)
ZA (1) ZA738531B (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896260A (en) * 1970-12-28 1990-01-23 Hyatt Gilbert P Data processor having integrated circuit memory refresh
US5615380A (en) * 1969-11-24 1997-03-25 Hyatt; Gilbert P. Integrated circuit computer system having a keyboard input and a sound output
US4016540A (en) * 1970-12-28 1977-04-05 Gilbert Peter Hyatt Apparatus and method for providing interactive audio communication
US4825364A (en) * 1970-12-28 1989-04-25 Hyatt Gilbert P Monolithic data processor with memory refresh
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
US3972025A (en) * 1974-09-04 1976-07-27 Burroughs Corporation Expanded memory paging for a programmable microprocessor
US4177511A (en) * 1974-09-04 1979-12-04 Burroughs Corporation Port select unit for a programmable serial-bit microprocessor
GB1505535A (en) * 1974-10-30 1978-03-30 Motorola Inc Microprocessor system
US4037090A (en) * 1974-11-19 1977-07-19 Texas Instruments Incorporated Multiphase clocking for MOS
US3988604A (en) * 1974-11-19 1976-10-26 Raymond Jr Joseph H Electronic calculator or digital processor chip having multiple function arithmetic unit output
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
US4618925A (en) * 1981-05-22 1986-10-21 Data General Corporation Digital data processing system capable of executing a plurality of internal language dialects
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
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 (de) * 1998-10-06 2010-03-03 Texas Instruments Inc. Speicherzugriff mit Bytequalifizierer
US7298252B1 (en) * 2000-06-14 2007-11-20 Marvell International Ltd. Apparatus, method, and computer program for an alarm system
US7546172B1 (en) * 2000-06-14 2009-06-09 Marvell International Ltd. Apparatus, method, and computer program product for recording and reproducing digital data
US7778736B2 (en) 2000-06-14 2010-08-17 Marvell International Ltd. Apparatus, method, and computer program for sprinkler control
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
US7457676B1 (en) 2000-06-14 2008-11-25 Marvell International Ltd. Vehicle for recording and reproducing digital data
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)

* Cited by examiner, † Cited by third party
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 (de) * 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

Also Published As

Publication number Publication date
JPS5047534A (de) 1975-04-28
FR2217745A1 (de) 1974-09-06
IT1002151B (it) 1976-05-20
BR7309060D0 (pt) 1974-08-29
IE40493B1 (en) 1979-06-20
NL7315163A (de) 1974-05-22
DK158685B (da) 1990-07-02
BE807098A (fr) 1974-03-01
JPS6361691B2 (de) 1988-11-30
ZA738531B (en) 1974-09-25
US3878514A (en) 1975-04-15
DE2357003A1 (de) 1974-05-22
IL43641A (en) 1976-04-30
NL8900608A (nl) 1989-06-01
IL43641A0 (en) 1974-03-14
CA1002200A (en) 1976-12-21
IE40493L (en) 1974-05-20
DK158685C (da) 1991-02-25
AU6268773A (en) 1975-05-22
GB1429379A (en) 1976-03-24
FR2217745B1 (de) 1983-11-04

Similar Documents

Publication Publication Date Title
DE2357003C2 (de) Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE2540975C2 (de) Datenverarbeitungseinrichtung zur Ausführung mehrerer gleichzeitig ablaufender Prozesse
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2837852C2 (de) Prozessor zum gleichzeitigen Ermitteln und Bereitstellen zweier Adressen von Befehls- und/oder Datenwortregistern eines bereichsweise adressierbaren Hauptspeichers
DE2316296C2 (de) Mikroprogrammierbarer Prozessor
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE1813916B2 (de) Elektronische Datenverarbeitungsanlage
DE2837872A1 (de) Digitalrechner mit ueberlappender betriebsweise unter verwendung einer bedingten steuerung zur minimierung von zeitverlusten
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE2117936A1 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2753062A1 (de) Einrichtung zur durchfuehrung programmierter befehle
DE2364408B2 (de) Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
DE2758830A1 (de) Rechenvorrichtung
DE3638572A1 (de) Vektorprozessor
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE2145709B2 (de)
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen
DE2245284A1 (de) Datenverarbeitungsanlage
DE2835110A1 (de) Schneller echtzeit-rechneremulator
DE2837901A1 (de) Tabellengetriebene entscheidungs- und steuerlogik fuer digitalrechner
DE2747304C3 (de) Einrichtung zur Mikrobefehlssteuerung
DE2952163C2 (de) Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor
DE2242009C2 (de) Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden

Legal Events

Date Code Title Description
OD Request for examination
8128 New person/name/address of the agent

Representative=s name: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING.

8125 Change of the main classification

Ipc: G06F 9/22

D2 Grant after examination
8364 No opposition during term of opposition