DE2551852C2 - - Google Patents

Info

Publication number
DE2551852C2
DE2551852C2 DE19752551852 DE2551852A DE2551852C2 DE 2551852 C2 DE2551852 C2 DE 2551852C2 DE 19752551852 DE19752551852 DE 19752551852 DE 2551852 A DE2551852 A DE 2551852A DE 2551852 C2 DE2551852 C2 DE 2551852C2
Authority
DE
Germany
Prior art keywords
lines
register
output
line
signal
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 - Lifetime
Application number
DE19752551852
Other languages
English (en)
Other versions
DE2551852A1 (de
Inventor
Joseph Herbert Houston Tex. Us Raymond Jun.
Edward R. Bellaire Tex. Us Caudel
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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
Priority claimed from US05/525,236 external-priority patent/US3991305A/en
Priority claimed from US05/525,237 external-priority patent/US3989939A/en
Priority claimed from US05/525,247 external-priority patent/US4021656A/en
Priority claimed from US05/525,250 external-priority patent/US3988604A/en
Priority claimed from US05/525,238 external-priority patent/US4021781A/en
Priority claimed from US05/525,245 external-priority patent/US3955181A/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE2551852A1 publication Critical patent/DE2551852A1/de
Application granted granted Critical
Publication of DE2551852C2 publication Critical patent/DE2551852C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/402Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration individual to each memory cell, i.e. internal refresh
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/08Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using semiconductor devices, e.g. bipolar elements
    • G11C17/10Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using semiconductor devices, e.g. bipolar elements in which contents are determined during manufacturing by a predetermined arrangement of coupling elements, e.g. mask-programmable ROM
    • G11C17/12Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using semiconductor devices, e.g. bipolar elements in which contents are determined during manufacturing by a predetermined arrangement of coupling elements, e.g. mask-programmable ROM using field-effect devices

Description

Die Erfindung bezieht sich auf eine in einem Halbleiter-Chip integrierte elektronische Datenverarbeitungsanordnung nach dem Oberbegriff des Patentanspruchs 1.
Eine Anordnung dieser Art ist aus der DE-OS 22 35 430 bekannt. Diese Anordnung weist zwei Gruppen von Ausgängen 1 bis D11 und SA bis SJ sowie eine Gruppe von Eingängen, nämlich Tastenfeldeingänge mit vier Leitungen KN, KO, KP und KQ auf. Die zwei Gruppen von Ausgängen stehen dabei miteinander in Beziehung, so daß es nicht möglich ist, über eine Gruppe von Ausgängen unabhängig von der anderen Gruppe Signale abzugeben. Eine solche Gruppe einander zugeordneter Ausgänge kann zwar in einer Datenverarbeitungsanordnung nützlich sein, jedoch ist die Anwendung eines Halbleiter-Chips, der diese Art von Ausgängen aufweist, für andere Zwecke eingeschränkt. Die Eingänge KN, KO, KP und KQ der bekannten Anordnung werden einer Abtastprozedur unterzogen, damit jeweils festgestellt wird, ob eine Taste des Tastenfeldes gedrückt ist, und es wird dann außerdem festgestellt, welche Taste gedrückt ist. Diese Gruppe von Eingängen erlaubt keine direkte Dateneingabe in ein Rechenwerk oder in einen Speicher, so daß die Anordnung hinsichtlich ihrer Eingänge Beschränkungen unterworfen ist.
Der Erfindung liegt die Aufgabe zugrunde, eine in einem einzigen Halbleiter-Chip untergebrachte Datenverarbeitungsanordnung zu schaffen, die sich durch eine große Vielseitigkeit hinsichtlich von Eingabe- und Ausgabebedingungen auszeichnet und damit für verschiedene Arten von Rechnern eingesetzt werden kann.
Diese Aufgabe wird gemäß der Erfindung mit den im Kennzeichen des Patentanspruchs 1 angegebenen Merkmalen gelöst.
Bei Anwendung der erfindungsgemäßen Datenverarbeitungsanordnung ist es möglich, die Eingangs- und Ausgangsanschlüsse so zu konfigurieren, daß sie völlig unabhängig voneinander für Datenübertragungszwecke aus der Anordnung heraus und in die Anordnung hinein zur Verfügung stehen. Beispielsweise ist es möglich, in die Datenverarbeitungsanordnung Daten einzugeben, die von einem weiteren Prozessor und nicht von einem Tastenfeld kommen.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigt
Fig. 1 eine perspektivische Ansicht eines kleinen, in der Hand zu haltenden Rechners, in dem die erfindungsgemäße Anordnung angewendet werden kann,
Fig. 2 ein Blockschaltbild der Anordnung des Rechners von Fig. 1,
Fig. 3 ein genaues Blockschaltbild der elektronischen Anordnung nach der Erfindung und insbesondere des digitalen Prozessor-Chips 15 von Fig. 2,
Fig. 4 ein Zeitdiagramm, in dem die in der Anordnung von Fig. 3 angewendeten Taktspannungen über der Zeit aufgetragen sind,
Fig. 5 ein genaues elektrisches Schaltbild des Direktzugriffspeichers 25, des Seitendecodierers 29 des Direktzugriffspeichers und des Schreibsteuerwerks 70 des Direktzugriffspeichers von Fig. 3,
Fig. 6 ein genaues Logikdiagramm des Addierers 50, des Addierereingabewählers 51, des Akkumulators 52 und des Y-Registers 40 des Direktzugriffspeichers von Fig. 3,
Fig. 7 ein genaues Logikdiagramm, des von einem steuerbaren Logikfeld gebildeten Steuerwerks 60 von Fig. 3,
Fig. 8 ein genaues Logikdiagramm der Zustandslogik 66 von Fig. 3,
Fig. 8a ein genaues elektrisches Schaltbild einer zusammengesetzten Verknüpfungsschaltung 66-1 von Fig. 8,
Fig. 9 ein genaues Logikdiagramm des Programmzählers 36 und des Unterprogrammregisters 43 der Anordnung von Fig. 3,
Fig. 10 ein genaues Logikdiagramm des Seitenadreßregisters 46 und des Adreßpuffers 47 von Fig. 3,
Fig. 11 ein genaues Logikdiagramm des Adreßsteuerwerks 48 und der Tastenfeldeingabe 75 der Anordnung von Fig. 3,
Fig. 12 ein genaues Logikdiagramm der CKB-Logik 56 von Fig. 3,
Fig. 12a ein genaues elektrisches Schaltbild einer der zusammengesetzten Verknüpfungsschaltungen 56-8 von Fig. 12,
Fig. 13 ein genaues Logikdiagramm des Seitenadreßregisters 73 für den Direktzugriffspeicher in der Anordnung von Fig. 3,
Fig. 14 ein genaues elektrisches Schaltbild des Festspeichers 24 und des Seitendecodierers für den Festspeicher in der Anordnung von Fig. 3,
Fig. 15 ein genaues elektrisches Schaltbild des für den Festspeicher und den Direktzugriffspeicher vorgesehenen Wortadressendecodierers 27 und des Datenwählers 39 der Anordnung von Fig. 3,
Fig. 16 ein genaues elektrisches Schaltbild des Ausgaberegisters 84 und des Ausgabepuffers 86 der Anordnung von Fig. 3,
Fig. 17 ein genaues elektrisches Schaltbild des Ausgaberegisters 62 und des Ausgabepuffers 65 der Anordnung von Fig. 3,
Fig. 18 ein genaues Logikdiagramm der Einschaltlöschschaltung 82 von Fig. 3,
Fig. 19 ein genaues Logikdiagramm der Rückübertragungsschaltung für den Programmzähler 36 der Anordnung von Fig. 3,
Fig. 20 ein Blockschaltbild des Taktgenerators 80 von Fig. 3,
Fig. 21a bis 21j genaue elektrische Schaltbilder der in den Fig. 5 bis 20 verwendeten Verknüpfungsschaltungen,
Fig. 22 eine Darstellung des in der erfindungsgemäßen Anordnung angewendeten Befehlsworts,
Fig. 23 eine Karnaugh-Tafel der typischerweise in der erfindungsgemäßen Anordnung verwendeten Befehlswörter,
Fig. 24 ein Zeitdiagramm zur Veranschaulichung mehrerer Befehlszyklen beim Betrieb der Anordnung nach den Fig. 1 bis 21,
Fig. 25 eine schematische Darstellung der Zeitsteuerung verschiedener Ereignisse in der Anordnung nach den Fig. 1 bis 21 und
Fig. 26 eine stark vergrößerte Draufsicht auf einen MOS/ LSI-Halbleiter-Chip, der die gesamte Schaltung der Anordnung der Fig. 3 und 5 bis 21 enthält.
Die Gesamtanordnung
Der in Fig. 1 dargestellte kleine elektronische Rechner, bei dem der zu beschreibende digitale Prozessor verwendet werden kann, enthält ein Gehäuse 10 aus gepreßtem Kunststoff oder dergleichen mit einem Tastenfeld 11 und einer Anzeigeeinheit 12. Das Tastenfeld enthält Zifferntasten 0 bis 9, eine Dezimalpunkttaste, mehrere Standardoperationstasten wie +, -, =, ×, ÷, C (Löschen), usw. In einer bevorzugten Ausführungsform ist die Rechenanordnung so ausgelegt, daß sie wissenschaftliche Funktionen ausführt, so daß im Tastenfeld 11 auch Tasten wie EE (Exponenteingabe) , x₂, , yx, sin, cos, tan, log, usw. enthalten sein können. Abhängig von der Programmierung können auch weitere Funktionen enthalten sein. Die Anzeigeeinheit 12 kann beispielsweise 6 bis 12 Ziffernstellen mit 7-Segment- Darstellung aufweisen, und es können der Dezimalpunkt und möglicherweise Kommas sowie auch zwei Stellen auf der rechten Seite für Exponenten oder die wissenschaftliche Zahlendarstellung vorgesehen sein. Die Anzeigeeinheit kann beispielsweise aus Leuchtdioden, einer Gasentladungsplatte oder aus Flüssigkeitsvorrichtungen bestehen. Der Rechner ist eine in sich abgeschlossene Einheit mit einer Stromversorgung in Form einer oder mehrerer Batterien im Gehäuse 10, obgleich auch ein Netzanschlußgerät oder auch ein Batterieladegerät angeschlossen werden kann.
Im wesentlichen alle elektronischen Schaltungen der Rechenanordnung sind in einem in großem Maßstab integrierten Halbleiter- Chip enthalten, der typischerweise in einem Kunststoffgehäuse mit 28 Anschlußstiften eingebaut und im Gehäuse 10 auf einer gedruckten Schaltungsplatte befestigt ist. Die allgemeine Organisation der Rechenanordnung ist im Blockschaltbild von Fig. 2 zu erkennen, in dem das Tastenfeld 11 und die Anzeigeeinheit 12 in ihrer Verbindung mit dem Halbleiter-Chip 15 dargestellt sind. Die Eingabe in den Chip erfolgt über vier K-Leitungen 16, die mit K1, K2, K4 und K8 bezeichnet sind, sowie über eine Löschtaste KC. Die Ausgänge aus dem Chip enthalten 8 Segmentausgänge 17, die an gemeinsame Segmente der Anzeigeeinheit 12 angeschlossen sind. Alle gleichen Segmente in jeder der Ziffernstellen der Anzeigeeinheit sind miteinander verbunden, so daß nur acht Segmentausgänge benötigt werden. Die Ziffernstellen der Anzeigeeinheit 12 werden über Ausgangsleitungen 18 angesteuert, die mit D0 bis D11 bezeichnet sind, wobei zur Erzielung geeigneter Spannungs- und Stromwerte für die bestimmte Anzeigeeinheit Stellentreiber 19 verwendet werden. Abhängig von der Zahl der Stellen der Anzeigeeinheit kann die Anzahl der Ausgangsleitungen 18 irgendeine Anzahl bis zu 13 sein. Wie zu erkennen ist, werden die Anzahl der Ziffernstellen der Anzeigeeinheit 12, die Anzahl der K-Leitungen 16, die für das Tastenfeld benötigt wird, mit oder ohne die Hardware-Löschtaste KC sowie die gewünschte Anzahl von Anschlußstiften des Gehäuses für eine spezielle Ausführung optimiert. Die Ausgangsleitungen 18 sind auch an die Matrix der Tastenschalter angeschlossen, die das Tastenfeld 11 bilden. Unter der Annahme, daß dreizehn Ausgangsleitungen 18 vorhanden sind, enthält die Matrix maximal 13×4 oder 52 Kreuzungspunkte, so daß 52 mögliche Tastenpositionen (einschließlich der Taste KC) vorhanden sind, von denen für eine gegebene Ausführung nicht alle benutzt werden. Bei einem Rechner, der nur die minimale Anzahl von Funktionen ausführen kann, würden bei einem Tastenfeld mit den Tasten "x", ÷", "+", "-", "=", "C", ".", "0-9" nur siebzehn Tasten benötigt. Weitere Eingabe/Ausgabe- Stifte des Chips 15 sind ein Löschtasteneingang KC, der für die Löschfunktion (C) verwendet werden kann, eine Versorgungsspannungsleitung 20 (Vdd), ein Massestift 21 (Vss) sowie zwei Oszillatoreingangs- und -Ausgangsstifte 22 bzw. 23, die die verschiedenen Möglichkeiten des auf dem Chip untergebrachten Oszillators steuern. Üblicherweise sind die Stifte 22 und 23 miteinander verbunden und ein Widerstand ist zwischen die Stifte und die die Spannung Vdd führende Versorgungsspannungsleitung eingeschaltet, damit die Frequenz eines internen Taktgenerators eingestellt wird. Eine größere Genauigkeit ergibt sich durch Anschließen eines Kondensators an Masse. Damit einer der Chips 15 von einem anderen synchronisiert werden kann, sind die Stifte 22 und 23 nicht verbunden, sondern das externe Synchronisierungssignal vom Ausgangsstift 23 des anderen Chips wird an den Eingangsstift 22 des angesteuerten Chips angelegt. Eine typische Taktfrequenz beträgt 500 kHz.
Für eine elfstellige Anzeige kann daher ein Standard-IC- Gehäuse mit 28 Anschlußstiften verwendet werden. Es ist offensichtlich, daß die 44 Tastenschalter, die 11 Stellen und die 8 Segmente pro Stelle eine größere Anzahl von Anschlußstiften erfordern würden, wenn alle Eingabe/Ausgabe- Verbindungen direkt ausgeführt würden, so daß ein Zeitmultiplexbetrieb der Tastenfeld- und Anzeige-Ein/Ausgabe in der in der Patentanmeldung P 22 35 430.9 angegebenen Weise erforderlich ist. Vierundzwanzig Leitungen in den Gruppen 16, 17 und 18 ergeben das Äquivalent von 44+11×8 oder 132 Verbindungen.
Der Chip 15 kann wie ein digitaler Mehrzweckprozessor eine Vielzahl von Funktionen ausführen. Wenn er als Rechner gemäß den Fig. 1 und 2 eingesetzt wird, empfängt er über das Tastenfeld eingegebene Signale an den Leitungen 16, führt Funktionen wie Addition, Subtraktion, Multiplikation, Division, Quadratwurzelbildung usw. mit den eingegebenen Daten entsprechend der Auswahl durch Funktionstasten aus und gibt die Ergebnisse an die Anzeigeeinheit 12 ab. Das zur Durchführung dieser Funktionen notwendige elektronische System ist in einem MOS/LSI-Halbleiter-Chip verwirklicht, der über 8800 MOS-Transistoren auf einem Siliziumplättchen von weniger als 5×5 mm (0,2×0,2 inch) enthält. Der Chip kann in großen Stückzahlen bei Stückkosten von wenigen Dollars hergestellt werden, was einen Rechner mit sehr anspruchsvollen Funktionen ermöglicht, der zu einem Preis im Bereich von 20 bis 30 Dollars verkauft werden kann.
Das Blockschaltbild der Anordnung
Ein Blockschaltbild der auf dem Chip 15 hergestellten Anordnung ist in Fig. 3 dargestellt. Die Anordnung ist um einen Festspeicher 24 (anschließend abgekürzt auch ROM genannt) und einen Direktzugriffspeicher 25 (nachfolgend abgekürzt auch RAM genannt) gruppiert. Der Festspeicher 24 enthält 1024 Befehlswörter zu je 8 Bits. Er wird zum Speichern des Programms verwendet, das die Anordnung betätigt. Der Direktzugriffspeicher 25 enthält 256 Speicherzellen, die softwaremäßig als vier 16-stellige Gruppen mit vier Bits pro Stelle organisiert sind. Im Direktzugriffspeicher 25 werden über das Tastenfeld eingegebene numerische Daten zusammen mit Zwischen- und Endergebnissen von Berechnungen sowie Zustandsinformationen oder Kennzeichen, die Dezimalpunktposition und andere Arbeitsdaten gespeichert. Der Direktzugriffspeicher arbeitet als Arbeitsregister der Rechenanordnung, obgleich er vom Standpunkt der Hardware aus nicht als getrennte Register organisiert ist, wie es der Fall wäre, wenn Schieberegister oder dergleichen für diesen Zweck verwendet würden. Der Direktzugriffspeicher wird von einer Wortadresse an den Leitungen 26 mittels einer kombinierten ROM- und RAM-Wortadressencodierschaltung 27 adressiert, d. h., es wird eine aus 16 Wortleitungen im Direktzugriffspeicher ausgewählt. Eine von vier "Seiten" des Direktzugriffspeichers wird von einem Adressensignal an zwei Leitungen 28 ausgewählt, das an einen RAM-Seitenadressencodierer 29 im Direktzugriffspeicher angelegt wird. Mit einer gegebenen Wortadresse an den Leitungen 26 und einer Seitenadresse an den Leitungen 28 erfolgt ein Zugriff auf vier bestimmte Bits, die an RAM-Eingabe/Ausgabe- Leitungen 30 über die Eingabe/Ausgabe-Schaltung 31 zu den RAM-Leseleitungen 32 ausgegeben werden. Andererseits werden Daten über die Eingabe/Ausgabe-Schaltung 31 und die Leitungen 30 in den Direktzugriffspeicher 25 geschrieben. Die gleichen sechzehn Leitungen 26, die als RAM-Wortadressenleitungen verwendet werden, werden auch zur Erzeugung der Anzeige- und Tastenfeldabtastung über die Leitungen 18 verwendet; zu diesem Zweck durchlaufen die Leitungen 26 den Direktzugriffspeicher 25, und sie sind an Ausgaberegister und an Puffer angeschlossen, wie noch erläutert wird.
Der Festspeicher 24 erzeugt während jedes Befehlszyklus an den ROM-Ausgangsleitungen 33 ein aus acht Bits bestehendes Befehlswort (wobei die Bits des Befehlsworts mit R0 bis R7 bezeichnet sind). Der Befehl wird aus den 8192 Bitspeicherplätzen im Festspeicher ausgewählt, die in 1024 Wörtern zu je acht Bits organisiert sind. Die Wörter sind in sechzehn Gruppen oder Seiten zu je 64 Wörtern unterteilt. Zum Adressieren des Befehls im Festspeicher werden eine 1-aus- 64-RAM-Wortadresse an den Leitungen 34 und eine 1-aus- 16-RAM-Seitenadresse an den Leitungen 35 benötigt. Die ROM-Wortadresse an den Leitungen 34 wird vom gleichen Decodierer 27 erzeugt, der auch zur Erzeugung der RAM- Wortadresse an den Leitungen 26 verwendet wird. Die ROM- Wortadresse ist eine 6-Bit-Adresse und wird in einem Programmzähler 36 erzeugt, der aus einem sechsstufigen Schieberegister besteht, das nach jedem Befehlszyklus aktualisiert werden kann und in das über die Leitungen 37 von den ROM- Ausgangsleitungen 33 zur Durchführung einer Aufruf- oder Verzweigungsoperation eine 6-Bit-Adresse geladen werden kann. Der RAM- und ROM-Wortadressendecodierer 27 empfängt eine codierte 6-Bit-Adresse an den Leitungen 38 aus dem Decodierdatenwähler 39, der zwei Eingänge aufweist. Der Decodierdatenwähler 39 kann eine 4-Bit-Adresse aus dem RAM-Y-Register 40 über die Leitungen 41 oder eine 6-Bit-Adresse aus dem Programmzähler 36 über die Leitungen 42 empfangen. Dem Programmzähler 36 ist ein 6-Bit-Unterprogrammregister 43 so zugeordnet, daß es als Zwischenspeicher für das Rückkehradressenwort im Verlauf von Unterprogrammoperationen dient. Im Register 43 wird über die Leitungen 44 eine 6-Bit-Adresse abgespeichert, wenn ein Aufrufbefehl ausgelöst wird, so daß diese gleiche Adresse über die Leitungen 45 wieder in den Programmzähler 46 zurückgeladen werden kann, wenn das Unterprogramm, das an der Aufrufspeicherstelle beginnt, beendet worden ist; dies bewirkt die Erhaltung der Befehlswörter und macht das Programmieren flexibler. Die ROM-Seitenadresse an den Leitungen 35 wird in einem Seitenadreßregister 46 erzeugt, dem für Unterprogrammzwecke ein Pufferregister 47 zugeordnet ist. Das Register 46 enthält stets die laufende Seitenadresse für den Festspeicher, und es übt einen direkten Zugriff auf den ROM-Seitendecodierer aus. Das Pufferregister 47 ist ein Mehrfunktions-Puffer- und Zwischenspeicherregister, dessen Inhalt die derzeitige ROM-Seitenadresse, eine andere ROM-Seitenadresse oder die Rückkehrseitenadresse während Unterprogrammoperationen sein kann. Der Programmzähler, das Unterprogrammregister und die ROM-Seitenadressierung erfolgen unter der Steuerun durch die Steuerschaltung 48, die über die Leitungen 49 Eingangssignale von den ROM-Ausgangsleitungen 33 empfängt. Die Steuerschaltung 48 bestimmt, ob Verzweigungen und Aufrufe an "Zustands"-Operationen oder Unterprogrammoperationen durchgeführt werden, sie verursacht das Laden eines Befehlsworts in den Programmzähler und oder das Seitenadreßregister, sie steuert die Übertragung von Bits in die Unterprogramm- oder Pufferregister und wieder zurück, sie steuert das Aktualisieren des Programmzählers, usw.
Numerische Daten und andere Informationen werden in der Anordnung von einem Binäraddierer 50 verarbeitet, der ein mit einer vorgeladenen Übertragschaltung ausgestatteter bit- paralleler Addierer ist, der binär arbeitet und eine mit Mitteln der Software erzielte BCD-Korrektur aufweist. Die Eingabe in den Addierer 50 wird von einem Eingabewähler 51 bestimmt, der von mehreren Quellen 4-Bit-Paralleleingaben empfängt und aus diesen auswählt, welche Eingaben an den Addierer angelegt werden. Eine der Alternativen sind die Speicherlese- oder Speicheraufrufleitungen 32 aus dem Direktzugriffspeicher 25. Zwei Register empfangen die Ausgangssignale des Addierers; diese Register sind das RAM-Y-Register 40 und ein Akkumulator 52, wobei jedes dieser Register Ausgangsleitungen aufweist, die getrennt als Eingangsleitungen 53 und 54 an den Eingabewähler 51 angeschlossen sind. Ein vierter Eingang 55 empfängt ein Ausgangssignal von der "Konstanten-Tastenfeld- Bit"-Logik (nachfolgend abgekürzt CKB-Logik genannt) wie noch erläutert wird. Die Addiereingabe wird also aus den folgenden Quellen ausgewählt: Dem Direktzugriffspeicher 25 über Leitungen 32, dem Akkumulator 52 über Leitungen 53, dem RAM-Y-Register 40 über Leitungen 54 und der Konstanten- Tastenfeld-oder Bit-Information aus der CKB-Logik 56 über Leitungen 55. Positive und negative Eingangssignale für den Addierer 50 an den Leitungen 57 und 58 werden vom Eingabewähler 51 erzeugt.
Die Ausgangsdaten des Addierers 50 werden über die Leitungen 59 entweder dem RAM-Y-Register 40 oder dem Akkumulator 52 zugeführt, oder sie werden diesen beiden Einheiten gemeinsam zugeführt. Alle Operationen des Addierers 50 und seines Eingabewählers 51 usw., werden von einem von einem steuerbaren Logikfeld (PLA) gebildeten Datenwegsteuerwerk 60 gesteuert, das abhängig von dem Befehlswort an den Leitungen 33 aus dem Festspeicher arbeitet. Die Steuerausgänge 61 des Steuerwerks 60 sind mit gestrichelten Linien angegeben. Die 4-Bit-Ausgangsdaten des Akkumulators können über Leitungen 53 an einen Akkumulatorausgabepuffer 62 und somit an einen Segmentdecodierer 63 zur Ausgabe aus der Anordnung angelegt werden. Der Segmentdecodierer 63 ist ein programmierbares Logikfeld, wie es in der DE-OS 22 35 430 beschrieben ist; er erzeugt an den Leitungen 64 bis zu 8 Segmentausgangssignale, die an eine Gruppe von 8 Ausgangspuffern 65 angelegt. werden. Die Ausgabeeinheit enthält im Ausgabepuffer 62 einen Speicher, so daß eine Ausgabestelle für mehr als die Dauer eines Maschinenzyklus festgehalten werden kann. Die Ausgabe erfolgt unter der Steuerung durch das Datenwegsteuerwerk 60, das abhängig vom Befehlswort an den Leitungen 33 aus dem Festspeicher arbeitet.
Eine Zustandslogik 66 übt die Funktion der Prüfung auf Übertrag oder Gleichheit am Addierer 50 aus, und sie bestimmt, ob eine Verzweigung oder ein Aufruf stattzufinden hat. Zu diesem Zweck erfolgen Eingaben aus dem Addierer 50 über die Leitungen 67 und aus dem Datenwegsteuerwerk 60 über die Leitungen 61. Die Zustandslogik 66 enthält eine Halteschaltung, die Ausgangssignale an Leitungen 69 zum Akkumulatorausgabepuffer 62 erzeugt. Diese Ausgangssignale können über den Segmentdecodierer 63 in vielfältiger Weise decodiert werden. Sie können zur Anzeige des Dezimalpunkts DPT und zur Auswahl zweistelliger Codegruppen wie 7-Segment- oder BCD-Codegruppen aus dem gleichen programmierbaren Logikfeld verwendet werden. Für den Dezimalpunkt DPT würde an einem Speicherplatz im Direktzugriffspeicher 25 eine BCD-Codegruppe der gewünschten Dezimalpunktstelle gespeichert und im Addierer 50 mit der gerade betätigten D-Leitung 18 verglichen, die im RAM- Y-Register 40 definiert ist; bei Übereinstimmung wird die Zustandshalteschaltung gesetzt und der Dezimalpunkt DPT wird an der Anzeigeeinheit für diese Ziffernstelle angezeigt. Außerdem kann die Zustandshalteschaltung dazu verwendet werden, BDC-Datenausgangssignale an bestimmten Leitungen 17 und Steuerausgangssignale an anderen Leitungen 17 gegeneinander abzugrenzen.
Ein RAM-Schreibsteuerwerk 70 bestimmt, welche Daten wann im Direktzugriffspeicher 25 über das Eingabe/Ausgabe- Steuerwerk 31 und die Leitungen 30 geschrieben oder gespeichert werden. Dieses RAM-Schreibsteuerwerk 70 empfängt Eingangsdaten entweder über die Leitungen 53 vom Akkumulator 52 oder über die Leitungen 55 aus der CKB- Logik 56; es erzeugt Ausgangsdaten an Leitungen 71, die zum RAM-Eingabe/Ausgabe-Steuerwerk 31 führen. Die Auswahl dessen, was in den Direktzugriffspeicher geschrieben wird, erfolgt mittels des Befehlsworts an den Leitungen 33 über das Datenwegsteuerwerk 60 und die Befehlsleitungen 61. Ein wichtiges Merkmal der Anordnung besteht darin, daß Konstante oder Tastenfeldinformationen aus der CKB-Logik 56 ebenso wie Ausgangsdaten des Addierers über den Akkumulator in den Direktzugriffspeicher über das Schreibsteuerwerk 70 geschrieben werden können, und daß ferner die CKB-Logik 56 dazu verwendet werden kann, das Setzen und Rücksetzen von Bits im Direktzugriffspeicher über das Schreibsteuerwerk 70 zu steuern.
Die RAM-Seitenadresse, in die die Daten geschrieben werden, wird von zwei Bits des Befehlsworts an den Leitungen 33 bestimmt, die über die Leitungen 72 einem RAM-Seitenadreßregister 73 und somit den die RAM-Seite auswählenden Leitungen 28 zugeführt werden. Das RAM-Wort oder die Y-Adresse werden natürlich von den Inhalten des RAM-Y- Registers 40, des Datenwählers 39 und des Decodierers 27 ausgewählt.
Die vier Tastenfeldeingangsdaten 16 erscheinen an den Leitungen 75, von denen aus eine Eingabe in die CKB-Logik 56 vorgesehen ist. Im Normalbetrieb gelangt ein Tastenfeldeingangssignal über die CKB-Logik 56 zum Akkumulator 52 oder zum RAM-Y-Register 40, von wo aus es mittels der Software oder der Festspeicherprogrammierung geprüft wird. Bei der Herstellung der Halbleiter-Chips ist ein Prüfbetrieb möglich, bei dem Tastenfeldeingangssignale an den Leitungen 75 direkt in das ROM-Seitenadreßregister 46 eingegeben werden können, wie noch erläutert wird. Ebenso können während der Hardware- Löschung unter Verwendung des KC-Eingangs die Signale an den K-Leitungen in des Seitenadreßregister eingegeben werden; in Fällen, in denen die Anordnung nicht als Rechner eingesetzt wird, kann ein Signal an einer K-Leitung als ein Unterbrechungssignal verwendet werden.
Im Halbleiter-Chip 15 ist auch ein Taktgenerator 80 enthalten, der intern eine Grundtaktfrequenz von etwa 600 kHz oder weniger und aus dieser 5 Taktsignale ϕ1 bis ϕ5 erzeugt, die in der gesamten Anordnung angewendet werden. Eine Einschaltlöschschaltung 82 erzeugt Steuersignale, die den Rechner löschen, wenn die Versorgungsenergie eingeschaltet wird. Dies kann auch über den KC-Eingang mit einem externen Kondensator ergänzt werden.
Die zum Abtasten des Tastenfeldes und der Anzeigeeinheit verwendeten Signale an den Ausgangsleitungen 18 des Chips 15 werden von der RAM-Wortadresse an den Leitungen 26 mittels des Ausgaberegisters 84 erzeugt, das unter der Steuerung durch Signale an den Leitungen 61 geladen wird, wie es von den RAM-Wortleitungen 26 adressiert wird. Die Ausgangsdaten aus dem Ausgaberegister 84 werden über die Leitungen 85 einer Gruppe von Ausgabepuffern 86 zugeführt. Es sind zwar 16 Ausgänge möglich, doch werden in einer typischen Ausführung eines Rechners möglicherweise nur 9 bis 13 als Ausgänge vorgesehen, beispielsweise 8 Ziffernstellen für Mantissen, zwei für Exponenten und zwei für Zeichen wie das Minuszeichen für Mantisse und Exponent.
Es ist wichtig, daß das Ausgaberegister 84 ein Register mit wahlfreiem Zugriff ist, bei dem alle Bits einzeln, unabhängig und gegenseitig ausschließlich adressiert werden können. In der vorliegenden Ausführungsform sind nur 13 Stufen im Register 84 vorgesehen, so daß nur die ersten 13 der 16 Adressenleitungen 26 verwendet werden. Wenn eines der 12 Bits im Register 84 vom Decodierer 27 adressiert wird, kann dieses Bit entsprechend den Steuersignalen an den Leitungen 61 aus dem Datenwegsteuerwerk, d. h. aus dem laufenden Befehlswort, entweder gesetzt oder rückgesetzt werden. Das Bit bleibt gesetzt oder rückgesetzt, bis es wieder speziell adressiert und geändert wird; zwischenzeitlich können ein oder alle anderen Bits in jeder Reihenfolge adressiert und gesetzt oder rückgesetzt werden. Es ist daher möglich, jede Kombination von D-Register-Bits zu setzen oder rückzusetzen, was an den Ausgangsleitungen 18 2¹³ oder 8192 Codekombinationen ergibt. Während des Einschaltens oder einer Hardware-Löschung werden alle Bits im Register 84 unbedingt rückgesetzt.
Wie das Ausgaberegister 84 ist auch das andere Ausgaberegister 62 insofern statisch, als sein Inhalt nach der Eingabe bis zu einer absichtlichen Änderung unverändert bleibt. Das Akku-Pufferregister 62 arbeitet als Ausgangsdatenpuffer, während der Akkumulator 52 und die Zustandslogik 66 zur Bildung der nächsten Ausgangsdaten betätigt werden. Das Ausgaberegister 84 ist ein ebensolcher Puffer zum Ausgeben des Inhalts des Y-Registers 40, doch hat es das zusätzliche Merkmal der vollständig freien Zugänglichkeit. Dem Y-Regiser 40 stehen die folgenden Datenquellen zur Verfügung: Eine im Festspeicher 24 als Teil eines Befehlsworts gespeicherte 4-Bit-Kontante, der Inhalt des Akkumulators 52, der über den Eingabewähler 51 und den Binäraddierer 50 zum Y-Register 40 übertragen wird, und direkt aus dem Direktzugriffspeicher 25 stammende Daten. Wenn einmal Daten im Y-Register 40 abgespeichert sind, können sie durch zusätzliche Befehle wie "Erhöhen" oder "Erniedrigen" bearbeitet werden.
Die Zeitsteuerung
In Fig. 4 ist ein Zeitdiagramm des Verlaufs der im Halbleiter- Chip 15 von Fig. 3 verwendeten Taktspannungen dargestellt. Der grundlegende Maschinenzyklus, der auch als Befehlszyklus bezeichnet wird, ist ein Intervall 90, das aus sechs Teilintervallen 91 bis 96 besteht, von denen jedes die Nenndauer von zwei oder mehr Mikrosekunden hat, so daß der Befehlszyklus 90 die Dauer von 12 Mikrosekunden oder mehr hat. Wie aus dem Diagramm zu erkennen ist, sind die Taktphase ϕ1 für die Dauer der Teilintervalle 92 und 93, die Taktphase ϕ2 für die Dauer der Teilintervalle 95 und 96, die Taktphase ϕ3 für die Dauer der Teilintervalle 93, 94 und 95 und die Taktphase ϕ5 für die Dauer des Teilintervalls 94 vorhanden. Der Grundtakt ϕ, aus dem die Taktphasen ϕ1 bis ϕ5 im Taktgenerator 80 abgeleitet werden, ist als Bezugsgröße dargestellt.
Der Datenspeicher
In Fig. 5 ist der Direktzugriffspeicher 25 mit seinem Eingabe/Ausgabe-Steuerwerk dargestellt. Der Direktzugriffspeicher 25 besteht aus einem Feld aus 256 Zellen 100, von denen jede eine Speicherzelle mit Selbstauffrischung ist. Das Feld ist in einer 16×4×4- Anordnung organisiert, in der 16 Adressenleitungen 26 die RAM-Y-Adressierungsfunktion übernehmen; das bedeutet, daß die 4-Bit-Kennzeichnung, die üblicherweise im RAM-Y- Register 40 enthalten ist, vom Decodierer 27 zur Auswahl einer der 16 Leitungen 26 decodiert wird. Diese Leitungen sind mit 26-0 bis 26-15 bezeichnet, und sie repräsentieren die Signale D0 bis D15. Das Feld des Direktzugriffspeichers 25 enthält auch 16 Daten-Eingabe/Ausgabe-Leitungen 101, die mit 101-1 bis 101-16 bezeichnet sind; diese Leitungen sind in vier Gruppen zu je vier angeordnet, wobei die Leitungen 101-1 bis 101-4 eine Gruppe bilden, usw. Die von zwei Bits gebildete RAM-X-Adresse an den Leitungen 28 wählt aus den vier Leitungen der Leitungsgruppen 101-1 bis 101-4, usw., in jeder Gruppe eine Leitung aus, und sie bewirkt das Verbinden der vier einzeln jeweils aus einer Gruppe ausgewählten Leitungen mit vier Eingabe/ Ausgabe-Leitungen 30-1, 30-2, 30-4 und 30-8, die den 1-, 2-, 4- und 8-Leitungen für eine von vier Bits gebildete BCD-Codegruppe entsprechen. Es sei bemerkt, daß der Einfachheit halber in Fig. 5 nur einige der Speicherzellen 100 und nur einige stellvertretende Adressierungs- und Eingabe/Ausgabe-Leitungen dargestellt sind; die Leitungen für die Taktsignale ϕ1 und ϕ5, die für jede Zelle des Feldes benötigt werden, sind in dieser Figur auch nicht dargestellt.
Der RAM-Seitendecodierer 29 besteht aus vier gleichen Gruppen von Transistoren 102, die die nicht invertierten und die invertierten RAM-X-Adressensignale von den Leitungen 28 empfangen und Übertragungswege so freigeben, daß nur eine der Leitungen 101 in jeder Vierergruppe mit der entsprechenden der Leitungen 30 verbunden wird. Wenn an den Leitungen 28 die Codegruppe "01" anliegt, dann würden die Leitungen 101-1, 101-5, 101-9 und 101-13 mit den Leitungen 30-1, 30-2, 30-4 bzw. 30-8 verbunden. Die Codegruppe "11" würde die Leitungen 101-2, 101-14 usw. auswählen.
Die RAM-Eingabe/Ausgabe-Schaltung 31 ist aus vier Gruppen 31-1 . . . 31-8 zusammengesetzt, von denen jede das Lesen oder Schreiben eines Bits steuert. Jede der Leitungen 30 ist an eine der Schreibleitungen 71 über einen von vier Serientransistoren 103 angeschlossen, die mit dem Taktsignal ϕ3 getaktet werden, so daß Daten die Leitungen 30 zum Schreiben während des bedeutsamen Teilintervalls des Taktsignals ϕ5 erreichen, wenn es an der ausgewählten Leitung 101 vorhanden sein muß. Wie aus Fig. 4 zu erkennen ist, hat das Taktsignal ϕ3 eine längere Dauer als sie für diesen Zweck benötigt wird. Von Transistoren 104, die mit dem Taktsignal ϕ2 getaktet werden, werden die Leitungen 30 an Masse Vss gelegt, so daß zu Beginn jedes Zyklus alle Eingabe/Ausgabe- Leitungen 101 an Masse Vss oder auf den Signalwert "1" liegen. Für die Dauer des Taktsignals ϕ1 werden Daten aus 16 ausgewählten Zellen 100 zu den Leitungen 101 ausgelesen, und die Signale an vier ausgewählten Leitungen 101 werden dann für die Dauer dieses Taktsignals ϕ1 zu den vier Leitungen 30-1 . . . 30-8 gelesen. Zum Lesen gelangen die Daten über Transistoren 105, die vom Taktsignal ϕ4 während der Dauer des Taktsignals ϕ1 getaktet werden, zu den Gate-Elektroden der Transistoren 106. Transistoren 107 bewirken eine Vorladung der Ausgangsleitungen 32-1 bis 32-8 während der Dauer des Taktsignals ϕ2, und die Ausgangsleitungen werden während der nächsten ϕ4 (ϕ1)-Dauer bedingt über die Transistoren 106 entladen. Auf diese Weise erscheinen die ausgewählten Daten in gültiger Form während des ϕ4 (ϕ1)-Teilintervalls 92 an den Lese- oder Aufrufleitungen 32-1 . . . 32-8. Während des Teilintervalls 95 des Taktsignals ϕ4 werden die Gate-Elektroden der Transistoren 106 über die Transistoren 104 und 105 an Masse Vss gelegt, wenn das Taktsignal ϕ2 ebenfalls den Einschaltzustand aufweist.
Die Leitungen 101 werden während der Dauer des Taktsignals ϕ2 in den Teilintervallen 95 und 96 von Transistoren 108 an Masse Vss gelegt, da diese Leitungen vor dem Lesevorgang, der während des Teilintervalls 92 des nächsten Zyklus erfolgt, an Masse Vss liegen müssen. Während des Takgsignals ϕ2 liegen alle Adressenleitungen 26 an Masse Vss; dies wird im Adressendecodierer 27 derart bewirkt, daß eine Adresse oder die Spannung -Vdd nur während des negierten Taktsignals an nur einer der Leitungen 27 vorhanden ist, während die Leitungen 26 zu allen anderen Zeiten an Vss liegen. Zu einem Zeitpunkt kann jeweils nur das Signal an einer Adressenleitung eingeschaltet sein.
Das RAM-Schreibsteuerwerk 70 enthält vier gleiche Schaltungen 70-1 . . . 70-8, von denen in Fig. 5 nur zwei dargestellt sind; sie empfangen Eingangsdaten von Leitungen 53-1, 53-2, 53-4 und 53-8 aus dem Akkumulator 52 sowie vier Daten- oder Steuereingangssignale von Leitungen 55-1, 55-2, 55-4 und 55-8 aus der CKB-Logik 56. Die Transistoren 109 werden von der Spannung an einer Steuerleitung 110 gesteuert, wenn an einer Ausgangsleitung 61-12 des Datenwegsteuerwerks 60 der Befehl "STO" erscheint. Dies kann nur dann gültig sein, wenn das Taktsignal ϕ2 nicht auf dem Spannungswert -Vdd liegt, wie durch eine Verknüpfungsschaltung 111 erreicht wird. Die Transistoren 112 werden von der Spannung an einer Steuerleitung 113 gesteuert, wenn ein CKM-Befehl (ein Befehl zur Übertragung des Inhalts der CKB-Logik zum Speicher) an einer weiteren Ausgangsleitung 61-11 des Steuerwerks 60 erscheint, was ebenfalls nur dann gültig ist, wenn das Taktsignal ϕ2 über die Verknüpfungsschaltung 114 nicht den Spannungswert -Vdd hat. Mit Hilfe der Transistoren 109 und 112 können die Daten an den Akkumulatorausgangsleitungen 53 oder an den Ausgangsleitungen 55 der CKB-Logik in den Speicher eingegeben werden. Die weitere CKB-Funktion ist ebenfalls im Schreibsteuerwerk 70 verwirklicht. Die an den Steuerleitungen 61-17 und 61-18 als Ausgangssignale des Datenwegsteuerwerks 60 erscheindenen Signale und werden an die Gate-Elektroden der Transistoren 115 und 116 angelegt, damit Spannungen mit den Signalwerten "1" bzw. "0" (Vss bzw. Vdd) erzeugt werden. Die in Serie zu den Transistoren 115 und 116 geschalteten Transistoren 117, die von Signalen an den Ausgangsleitungen 55 der CKB- Logik gesteuert werden, ermöglichen das Setzen und das Rücksetzen von Bits. Der Transistor 115 erzeugt an der Eingangsleitung 71 des Direktzugriffsspeichers für das von den CKB-Ausgangsleitungen 55 ausgewählte eine von vier Bits ein Massesignal, also den Signalwert "1", wenn das Signal des Spannungswert -Vdd hat. In gleicher Weise erzeugt der Transistor 116 für das ausgewählte Bit an der Eingangsleitung 71 den Signalwert "0", wenn das Signal den Spannungswert -Vdd hat. Wenn die CKB- Logik im Bit-Modus arbeitet, kann nur an einer der CKB- Ausgangsleitungen 55 der Spannungswert -Vdd liegen, während die anderen Ausgangsleitungen an Masse liegen, so daß die Transistoren 117 für nicht ausgewählte Bits gesperrt werden. Dies ermöglicht das Setzen oder Rücksetzen eines bestimmten Bits im Direktzugriffspeicher 25. Diese Funktion wird im Rechenbetrieb typischerweise zum Setzen und Rücksetzen von Kennzeichen verwendet; eine Ziffernstelle kann für Kennzeichen vorgesehen sein mit jeweils einem Bit als Additionskennzeichen, Subtraktionskennzeichen, Multiplikationskennzeichen und Divisionskennzeichen zur Buchhaltung. Später erfolgt ein Zugriff auf ein bestimmtes Kennzeichenbit durch Maskieren der Addierereingänge mittels der CKB-Logik. Das Prüfen von Kennzeichen erfolgt mit Hilfe der Vergleichsfunktion im Addierer. Dieser Mechanismus vereinfacht den Aufbau insofern, als die gleichen Steuer- und Wählsignale, die in arithmetischen Funktionen verwendet werden, auch bei den Bitprüffunktionen verwendet werden.
Der Addierer
Der Binäraddierer 50 besteht aus einer Gruppe von vier parallelen Addiererstufen 50-1, 50-2, 50-4 und 50-8 mit herkömmlichem Aufbau. Alle vier Stufen sind grundsätzlich gleich. Zwei dieser Stufen sind in Fig. 6 dargestellt. Bei Betrachtung der Stufe 50-1 ist zu erkennen, daß jede Addiererstufe eine erste zusammengesetzte Verknüpfungsschaltung 120, eine zweite zusammengesetzte Verknüpfungsschaltung 121, einen Übertrageingang 122 und einen Übertragausgang 123 enthält. Zur zusammengesetzten Verknüpfungsschaltung 120 führen zwei Eingänge 57-1 und 58-1, die manchmal als negative und positive Eingänge bezeichnet werden; die Verknüpfungsschaltung erzeugt an der Leitung 124 ein Ausgangssignal, das die negierte Antivalenzfunktion, also die Äquivalenzfunktion der Signale an den Eingängen 57-1 und 58-1 darstellt. Ein Übertragausgangssignal wird an der Leitung 123 dadurch erzeugt, daß diese Leitung zuerst vom Taktsignal ϕ1 auf den Signalwert "0" (Spannungswert Vdd) aufgeladen und dann abhängig vom Ausgangssignal einer Verknüpfungsschaltung 125 bedingt entladen wird, wenn das Taktsignal ϕ1 auf Masse Vss geht. Wenn die Signale an beiden Eingängen 57-1 und 58-1 den Signalwert "1" haben, dann ist eine Bedingung für die Erzeugung eines Übertrags erfüllt, so daß das Ausgangssignal der Verknüpfungsschaltung 125 einen Transistor 126 veranlaßt, nach Beendigung des Taktsignals ϕ1 in den leitenden Zustand überzugehen, so daß die Leitung 123 nach Masse Vss oder auf den Signalwert "1" entladen wird. Ein Übertragsignal wird an der zur nächsten Stufe führenden Leitung 123 erzeugt, wenn an beiden Eingängen 57-1 und 58-1 der Signalwert "1" anliegt, wenn eines dieser Eingangssignale den Wert "1" hat und der Eingangsübertrag an der Leitung 122 den Wert "1" hat oder wenn beide Eingangssignale an den Eingängen 57-1 und 58-1 und auch der Eingangsübertrag an der Leitung 122 den Wert "1" haben; in allen anderen Fällen behält das Signal an der Leitung 123 den Wert "0" (Spannungswert -Vdd) nach Beendigung des Taktsignals ϕ1 bei, da weder der Weg über den Transistor 126 oder einen Transistor 127 noch über die nächste Stufe eine Entladung gestattet. Der Eingangsübertrag für das erste Bit kommt von einem Befehl aus dem Steuerwerk 60 über einen Leitung 61-0; die Leitung 122 wird auch mit dem Taktsignal ϕ1 vorgeladen. Das Übertragausgangssignal aus der Stufe 50-8 erscheint an der Leitung 128, und es wird mit dem Taktsignal ϕ3 durchgeschaltet und negiert, so daß es an der zur Zustandslogik 66 führenden Leitung 67-1 ein Signal erzeugt.
Der Addierer 50 ermöglicht eine Vergleichsfunktion, bei der an einer ebenfalls zur Zustandslogik 66 führenden Leitung 67-2 ein Ausgangssignal COMP erzeugt wird. Dieses Signal wird an einer Leitung 239 erzeugt, die vom Taktsignal ϕ1 vorgeladen und dann bei Vorliegen des Taktsignals bedingt entladen wird, wenn irgendwelche der Transistoren 130 von den Signalen an den Ausgangsleitungen . . . 124 der Verknüpfungsschaltungen 120 eingeschaltet werden. Das bedingte Entladen erfolgt, wenn das Signal an der Leitung 124 den Spannungswert -Vdd annimmt, was dann geschieht, wenn die Signale an den Eingangsleitungen 57-1 und 58-1 der zusammengesetzten Verknüpfungsschaltung 120 ungleich sind. Wenn alle Signale an den Eingängen 57 gleich den Signalen an den Eingängen 58 sind, hat das Signal COMP den Wert "1", während es sonst den Wert "0" hat.
Die Ausgangssignale der Addiererstufen 50-1, 50-2 usw. werden an Leitungen 59-1, 59-2, 59-4 und 59-8 erzeugt, die die Ausgangsleitungen der zusammengesetzten Verknüpfungsschaltungen 121 sind. Die Verknüpfungsschaltungen 121 empfangen Eingangssignale von den Ausgängen 124 und Übertrageingangssignale für das Bit an den Leitungen 122 usw. Die Verknüpfungsschaltungen 121 erzeugen eine Äquivalenzfunktion der Signale an den Ausgängen 124 und des Übertrageingangssignals. Während des Taktsignals ϕ1 sind die Signale an den Ausgangsleitungen 59 nicht gültig, da die Übertragschaltung vorgeladen ist. Das Übertragsignal ist nicht gültig, so daß auch die Signale an den Ausgangsleitungen 59 bis nach Beendigung des Taktsignals ϕ1 nicht gültig sind. Das Addiererausgangssignal an der Leitung 59-1 ist abhängig von Steuersignalen AUTA und AUTY an den Leitungen 61-9 und 61-10 aus dem Datenwegsteuerwerk 60 ein Eingangssignal für die Akkumulatorregisterstufe 52-1 oder für die RAM-Y-Registerstufe 40-1. Diese Steuersignale werden durch negierende Verknüpfungsschaltungen 132 übertragen, die auch das Taktsignal ϕ1 empfangen und Signale an Steuerleitungen 133 erzeugen, die nur während des negierten Taktsignals den Spannungswert -Vdd haben können.
Der Addierereingabewähler
Wie Fig. 6 zeigt, enthält der Addierereingabewähler 51 vier gleichartige Gruppen zusammengesetzter Verknüpfungsschaltungen 51-1, 51-2, 51-4 und 51-8, die jeweils aus zusammengesetzten NAND/NOR-Schaltungen 135 und 136 bestehen.
Die Verknüpfungsschaltung 135 empfängt Steuersignale , , und über Eingangsleitungen 61-4, 61-5, 61-7 und 61-8 aus dem Datenwegsteuerwerk 60, die bestimmen, ob das Signal an der Eingangsleitung 57-1 ein unbedingtes "1"-Signal, das Signal MEM1, Signal ACC1 oder das Signal ACC1 ist. Die Daten aus dem Direktzugriffspeicher 25 erscheinen an den Leitungen 32-1, 32-2 usw. von Fig. 5; diese Daten werden mit MEM1, MEM2 usw. bezeichnet. Die mit ACC1 und bezeichneten Ausgangsdaten des Akkumulators 52 erscheinen an den Leitungen 53-1 und 53-1′ in nicht negierter und in negierter Form, so daß entweder die Akkumulatordaten oder deren Komplement die Addierereingangsdaten bilden können.
Die Eingabedaten von der CKB-Logik 56 werden an den CKB1- Leitungen 55-1, den -Leitungen 55-1′ usw. geliefert, die die Verknüpfungsschaltungen 135 und 136 umgehen.
Die von der CKB-Logik kommenden Eingangssignale werden von den Signalen und über die Transistoren 137 und 138 gesteuert. Die Steuersignale und an den Leitungen 61-1 bzw. 61-2 wählen über die Verknüpfungsschaltung 136 entweder das Signal an der Leitung 139 oder das Signal MEM1 an der Leitung 32-1 als das Eingangssignal zur Leitung 58-1 aus.
Die Akkumulator- und RAM-Y-Register
Fig. 6 zeigt auch das vier gleiche Stufen 52-1, 52-2, 52-4 und 52-8 enthaltende Akkumulatorenregister 52 sowie das vier gleiche Stufen 40-1 bis 40-8 enthaltende RAM-Y-Register 40. Jede Stufe dieser Register ist ein herkömmliches einstufiges Schieberegister, dessen Inhalt über die Datenwege 40 zu sich selbst zurückgeführt wird, so daß in das Akkumulatorregister oder in das RAM-Y-Register eingegebene Bits vorhanden bleiben, bis neue Daten eingegeben werden. Jede Stufe besteht aus zwei Negatoren und aus zwei getakteten herkömmlichen Übertragungstransistoren, die mit dem Taktsignal ϕ2 und dann mit dem Taktsignal ϕ1 getaktet werden. Die Auswahl, ob die Addiererausgangsdaten an den Leitungen 59 zum Akkumulatorregister oder zum RAM-Y-Register geleitet werden, erfolgt mittels der Befehle AUTA und AUTY an den Leitungen 61-9 bzw. 61-0, die an den Leitungen 133 Steuersignale für die Transistoren 141 erzeugen. An den Ausgangsleitungen 59 des Addierers 50 sind Datensignale gültig, nachdem das Taktsignal ϕ1 nach Masse Vss übergeht, so daß die Signale an den Leitungen 133 nicht auf den Spannungswert -Vdd übergehen, bis das Taktsignal ϕ1 beendet ist; dies ist die Funktion der Verknüpfungsschaltungen 132.
Die Signale an den Ausgangsleitungen 41-1, 41-2 usw. und 139 des RAM-Y-Registers sind nach Beendigung des Taktsignals ϕ1 gültig. Die nicht negierten Ausgangssignale an den Leitungen 53-1, 53-2 usw. und die negierten Ausgangssignale an den Leitungen 53-1′ usw. aus dem Akkumulator sind, beginnend mit dem Taktsignal ϕ2 gültig.
Das Datenwegsteuerwerk
Das Datenwegsteuerwerk 60 ist im einzelnen in Fig. 7 dargestellt. Dieses Steuerwerk besteht grundsätzlich aus einem programmierbaren Logikfeld.
Das laufende Befehlswort aus dem Festspeicher 24 wird an den ersten Abschnitt 60-1 des Steuerwerks in nicht negierter und in negierter Form angelegt. Dies sind die Daten an den Ausgangsleitungen 33 des Festspeichers entsprechend RO, , R1, usw. Die Ausgangsleitungen 33 usw. sind Metallstreifen. Die mit dem Taktsignal ϕ2 vorgeladenen Negatoren 145 erzeugen die negierten Signale usw. Dreißig Leitungen 146 im ersten Abschnitt 60-1 sind längliche P-Diffusionszonen, die jeweils über ein eigenes Lastelement an die Spannung Vdd angeschlossen sind. Alle Leitungen werden mit dem Taktsignal ϕ1 getaktet. Zwischen benachbarten Leitungen 146 verläuft eine Vss-Leitung, die ebenfalls aus einer P-Diffusionszone besteht. Die Kreise repräsentieren dünne Oxyd-Gate-Bereiche, so daß dort, wo ein Kreis angegeben ist, eine Leitung 146 an Masse Vss liegt, wenn die darüberliegende Metalleitung 33 an der Spannung -Vdd liegt, während sie sonst auf dem Wert der Spannung -Vdd bleibt. Die Codierung des Abschnitts 60-1 des programmierbaren Logikfeldes des Steuerwerks mit Hilfe von Gate- Bereichen ist derart ausgeführt, daß für eine gegebene Befehlscodegruppe an den Leitungen 33 jeweils nur eine Leitung 146 betätigt ist, d. h. an der Spannung -Vdd liegt. Im zweiten Abschnitt 60-2 des programmierbaren Logikfeldes werden die Leitungen 146 zu Metallstreifen 147. Eine weitere Gruppe von 16, aus P-Diffusionszonen bestehenden Leitungen 148 liegt zusammen mit (nicht dargestellten) Vss-Leitungen unter den Metallstreifen 147. Auch hier repräsentieren die Kreise wieder dünne Oxyd-Gate- Bereiche unter den Metallstreifen. Die Codierung ist derart vorgenommen, daß für die eine der dreißig Leitungen 147, die betätigt ist, eine ausgewählte Gruppe von Leitungen 148 mit dem richtigen "1"- oder "0"-Wert betätigt wird. Die dargestellte Codierung gilt für ein Beispiel eines Betriebs als Rechner.
Die beiden Abschnitte 60-1 und 60-2 können bei der Herstellung mit Hilfe einer entsprechenden Maskierung programmiert werden, so daß viele verschiedene Befehlsvorräte möglich sind. Die Leitungen 148 enthalten die gleichen Befehle wie die Leitungen 61-0 bis 61-15.
Es ist zu beachten, daß für jedes Befehlswort, bei dem die Bedingung R0=1 gilt, eine Verzweigung oder ein Aufruf vorgesehen wird, so daß keine der Leitungen 147 betätigt wird, da keines der Elemente in der gesamten von den Leitungen 61 gesteuerten Anordnung betätigt werden soll. Die -Leitung 33 im ersten Abschnitt 60-1 enthält bei jeder Leitung einen Gate-Bereich. Alle Ausgangsleitungen 148 oder 61-0 bis 61-15 des zweiten Abschnitts 60-2 werden mit Hilfe von Transistoren 149, die mit dem Taktsignal ϕ2 getaktet werden, auf den Spannungswert -Vdd vorgeladen. Diese Leitungen 61-0 bis 61-15 sind innerhalb des Abschnitts 60-2 Diffusionszonen, und sie werden dann zum Anschluß an den Addierereingabewähler usw. an anderen Teilen des Chips zu Metallstreifen. Ein dritter Abschnitt 60-3 des Datenwegsteuerwerks 60 ist ein einfacher Decodierer und nicht ein programmierbares Logikfeld. Dieser Decodierer erzeugt Befehle zum Setzen und Rücksetzen von Registerinhalten und von Bits, zum Laden oder Löschen von Segmenten und zum Laden oder Komplementieren von RAM-X-Adressen an den Leitungen 61-16 bis 61-22, die von P-Diffusionszonen gebildet sind. An diese Leitungen sind nicht dargestellte Lastelemente angeschlossen. Entsprechend der Gate-Codierung und dem laufenden Befehlswort werden bestimmte dieser Leitungen ausgewählt.
Die Zustandslogik und die Zustandshalteschaltung
In Fig. 8 ist die Zustandslogik 66 dargestellt, die sich aus einer Verknüpfungsschaltung 66-1 zum Rücksetzen der Zustandsleitung 79 sowie eine Zustandshalteschaltung 66-2 zusammensetzt. Der Zustand wird normalerweise durch einen Signalwert "1" ausgedrückt, so daß die Anordnung normalerweise eine Verzweigung ausführt, wenn die Zustandsleitung 79 nicht auf den Signalwert "0", also auf den Spannungswert -Vdd rückgesetzt ist. Die Halteschaltung ist eine herkömmliche Schaltung mit zwei getakteten Negatoren und einem Rückkopplungsweg. Der Ausgang 69 der Zustandshalteschaltung 66-2 ist an das Ausgaberegister 62 angeschlossen. Die Halteschaltung kann gesetzt oder rückgesetzt sein, das bedeutet, daß das Signal an der Leitung 79 über den Transistor 157 unter der Steuerung durch einen STSL-Befehl an der Leitung 61-15 aus dem Steuerwerk 60 und durch das Taktsignal ϕ1 an den Eingang der Halteschaltung angelegt werden kann. Das Ausgangssignal der zusammengesetzten Verknüpfungsschaltung 66-1, das beginnend mit der ersten Hälfte des Taktsignals ϕ2 gültig ist, wird an den Transistor 157 über die Leitung 79 angelegt, die auch an verschiedene Verknüpfungsschaltungen von Fig. 11 angeschlossen ist. Die zusammengesetzte Verknüpfungsschaltung 66-1 der Zustandslogik ist eine dynamische ODER-Schaltung, die mit dem Taktsignal ϕ3 getaktet wird und in drei Fällen ein Ausgangssignal erzeugt. Einer dieser Fälle ist "Löschen"; wenn die Löschtaste gedrückt wird, erscheint an der Leitung 199 das Signal , und an der Leitung 79 wird ein Zustandssignal erzeugt, das bedeutet, daß diese Leitung für die Dauer eines Befehlszyklus auf dem Spannungwert -Vdd bleibt. Ein weiterer Fall ist das Auftreten des Signals an der Leitung 67-1 aus dem Addierer 50 von Fig. 6; dies bewirkt in Verbindung mit einem C8-Befehl an der Leitung 61-14 aus dem Datenwegsteuerwerk 60 die Erzeugung des Zustandssignals an der Leitung 79. In jedem Fall kann die Zustandshalteschaltung gesetzt werden, wenn das Befehlssignal STSL im gleichen Befehlszyklus erscheint. Somit kann ein Übertragausgangssignal aus dem "8"-Bit des Addierers zur Erzeugung des Zustandssignals an der Leitung 79 und/oder zum Setzen der Zustandshalteschaltung verwendet werden. In gleicher Weise kann ein Ausgangssignal COMP aus dem Addierer 51 an der Leitung 67-2 zur Erzeugung des Zustandssignals verwendet werden, wenn das Befehlssignal NE ebenfalls auf der Leitung 61-13 aus dem Datenfeldsteuerwerk 60 erscheint, so daß dann, wenn der Addierer für den Vergleich von zwei Dateneingangssignalen verwendet wird, das Ergebnis zur Erzeugung des Zustandssignals an der Leitung 79 und/oder zum Setzen der Zustandshalteschaltung verwendet werden kann.
Fig. 8a zeigt die zusammengesetzte Verknüpfungsschaltung 66-1 in Form eines schematischen Schaltbilds und nicht in Form eines Logikdiagramms. Es ist zu erkennen, daß der Ausgang 79 während des Dauer des Taktsignals ϕ3 auf die Spannung -Vdd vorgeladen und abhängig von den Eingangssignalwerten bedingt wieder entladen wird, nachdem das Taktsignal ϕ3 auf den Spannungswert Vss übergeht, während sich das Taktsignal ϕ2 auf dem Spannungswert Vdd befindet.
Erzeugen der ROM-Adresse
Die ROM-Wort- und ROM-Seitenadressen werden auf mehreren alternativen Wegen erzeugt, wobei der Programmzähler 36, das Unterprogrammregister 43, das ROM-Seitenadreßregister 46 und der Puffer 47 sowie die Steuerschaltung 48 und die ROM- Ausgangsdaten selbst an den Leitungen 33 verwendet werden. Diese Baueinheiten werden nun beschrieben.
Der Programmzähler
Nach Fig. 9 enthält jeder Programmzähler 36 acht Stufen 36-0 bis 36-7, von denen jede ein Register mit zwei Negatoren 160 und 161 enthält, deren Takten mit den Taktsignalen ϕ1 und ϕ2 bei einer Vorladung mit dem Taktsignal ϕ3 aus Gründen der Energieeinsparung erfolgt. Im Normalbetrieb der Einheit werden nur sechs Programmzählerstufen, nämlich die Stufen 36-2 bis 36-7 verwendet, die die ROM-Ausgangssignale bis von den Leitungen 33 über die Leitungen 37-2 bis 37-7 empfangen. Die 6-Bit-Adresse an bis wird mit Hilfe von Transistoren 162 in die Stufen 36-2 bis 36-7 durchgeschaltet, wenn das Signal (Verzweigen oder Abrufen) an der von der Steuerschaltung 48 kommenden Leitung 163 erscheint. Dies bedeutet, daß eine erfolgreiche Verzweigungs- oder Aufrufoperation ausgeführt wird, so daß der Teil der Befehlscodegruppe, der die Verzweigungsadresse definiert, über den soeben beschriebenen Weg in den Programmzähler geladen wird.
Die zwei beim regulären Betrieb nicht verwendeten zusätzlichen Stufen 36-0 bis 36-1 des Programmzählers werden zu Testzwecken angewendet. Alle 8 Bits der ROM-Ausgangsdaten an den Leitungen 33, die negiert und als Signale bis erscheinen, können unter der Steuerung des Signals an der Leitung 163 mittels der Transistoren 162 über die Leitungen 37-0 bis 37-7 in alle acht Stufen des Programmzählers geladen werden, damit sie an den Verbindungspunkten 164 erscheinen, von wo aus das 8-Bit-Wort während der nächsten acht Befehlszyklen in serieller Form über einen Anschluß 165 ausgelesen wird.
Alle Stufen 36-2 bis 36-7 können mit Hilfe von Transistoren 166 zur Einschaltlösung auf Null gesetzt werden, die eingeschaltet werden, wenn an der Leitung 167 ein Befehl erscheint, so daß ein Verbindungspunkt 168 in jeder Stufe an die Spannung Vdd gelegt wird. Auf diese Weise wird an den Leitungen 42 eine ROM-Wortadresse mit dem Wert "000000" erzeugt.
Über sechs Leitungen 42-0 bis 42-5 werden die sechs Ausgangssignale der Programmzählerstufen 367-2 bis 36-7, die die Signale PC0 bis PC5 repräsentieren, zum ROM-Adressendecodierer übertragen. Diese Signale werden an den Verbindungspunkten 169 in jeder Stufe erhalten. Es sei bemerkt, daß eine Adresse bis an den Leitungen 33 beim Durchschalten über die Transistoren 162 unmittelbar über die Verbindungspunkte 164, die Negatoren 161 und die Verbindungspunkte 169 ohne Taktverzögerung zu den Leitungen 42-0 bis 42-5 gelangt.
Das Unterprogrammregister
Das Unterprogrammregister 43 von Fig. 9 enthält sechs gleiche Stufen 43-2 bis 43-7 entsprechend den Programmzählerstufen 36-2 bis 36-7. Jede Unterprogrammregisterstufe enthält zwei Negatoren 170 und 171 sowie eine Rückkopplungsschleife 172 mit den von den Taktsignalen ϕ2 und ϕ1 getakteten Schaltungselementen. Ein Bit läuft kontinuierlich um, nachdem es einmal eingegeben worden ist. Wenn an der Leitung 173 aus der Steuerschaltung 48 ein Befehl "CLATCH" erzeugt wird, wird der an den Verbindungspunkten 174 erscheinende Inhalt des Programmzählers 36 in die jeweiligen Stufen des Unterprogrammregisters 43 über Transistoren 145 geladen; dies muß mit dem Taktsignal ϕ2 erfolgen. Normalerweise ist die Steuerleitung 173 stets eingeschaltet, so daß der Inhalt des Programmzählers normalerweise bei jedem Befehlszyklus über die Transistoren 175 in das Unterprogrammregister eingegeben wird. Wenn ein Aufruf CALL ausgeführt wird, lautet der Befehl "nicht laden", so daß die letzte Adresse festgehalten wird. Die auf diese Weise in das Unterprogrammregister geladenen sechs Bits laufen dann auch kontinuierlich einzeln in den Stufen 43-2 bis 43-7 um, bis an der Leitung 176 aus der Steuerschaltung 48 ein Befehl "" erscheint. Dies würde die Transistoren 177 veranlassen, die sechs Bits wieder zu den Verbindungspunkten 164 der Programmzählerstufen 36-2 bis 36-7 zurückzuübertragen und von dort aus unmittelbar über die Negatoren 161 an die Verbindungspunkte 169 und die Ausgangsleitungen 42 anzulegen. Gleichzeitig wird das Befehlssignal CLATCH negativ, so daß die Transistoren 175 danach die Adressenbits in das Unterprogrammregister laden, bis ein weitere Aufrufbetrieb erreicht wird.
Das ROM-Seitenadreßregister und der ROM-Seitenpuffer
Nach Fig. 10 enthält das ROM-Seitenadreßregister 46 vier Stufen 46-1, 46-2, 46-4 und 46-8, von denen jede eine zusammengesetzte Verknüpfungsschaltung 46′ und einen Negator 178 mit einem Rückübertragungsweg 179 sowie mit den Taktsignalen ϕ1 und ϕ2 getakteten Schaltungselementen enthält. Das während des Taktsignals ϕ2 gültige Ausgangssignal des Registers 46 wird über vier Leitungen 35-1, 35-2, 35-4 und 35-8 von den Verbindungspunkten 180 abgegeben, die zum ROM-Seitendecodierer im Festspeicher 24 führen. Bei der Einschaltlöschung können alle Verbindungspunkte 181 mit Hilfe von Transistoren 182, die von dem Befehl an der Leitung 167 gemäß den obigen Ausführungen gesteuert werden, an Masse Vss angelegt werden. Dies erzeugt schließlich an den Leitungen 35 die Seitenadresse "1111". Die Eingabe in die zusammengesetzten Verknüpfungsschaltungen 46′ erfolgt über vier Ausgangsleitungen 183 des Pufferregisters 47, wenn an der Leitung 184 aus der Steuerschaltung 48 ein Befehl C4RX erscheint. Normalerweise befindet sich die Seitenadresse jedoch in einem Umlauf. Das normalerweise auf Masse Vss liegende Befehlssignal hindert das Taktsignal ϕ2 daran, das Signal an der Leitung 185 auf den Spannungswert -Vdd zu schalten.
Das Pufferregister 47 enthält vier Registerstufen 47-1 bis 47-8, die jeweils eine vom Taktsignal ϕ3 vorgeladende zusammengesetzte Verknüpfungsschaltung 47′ und einen Negator 187 mit von den Taktsignalen ϕ1 und ϕ2 getakteten Übertragungsschaltungen und einem Rückübertragungsweg 188 enthält. Wie oben verbindet ein Einschaltlöschbefehl an der Leitung 167 alle Verbindungspunkte 189 über Transistoren 190 mit Masse Vss, damit das Pufferregister gelöscht wird.
Eingangsdaten für die Pufferregisterstufen 47-1 bis 47-8 über die zusammengesetzten Verknüpfungsschaltungen 47′ können von verschiedenen Quellen stammen. Erstens können die ROM-Ausgangssignale , , und an den Leitungen 33 über die Leitungen 78-1 bis 78-8 in das Pufferregister geladen werden, wenn an der Leitung 191 von der Steuerschaltung 48 ein Befehl (ein Befehlswort 0001XXX) erzeugt wird, wobei diese beiden Eingangssignale der Verknüpfungsschaltungen 47′ mit dem Taktsignal ϕ1 durchgeschaltet werden. Zweitens werden die Ausgangsdaten aus dem ROM-Seitenadreßregister 46 an den Leitungen 192 in der Verknüpfungsschaltungen 47′ eingegeben, wenn an den Leitungen 193 ein mit dem Taktsignal ϕ1 durchgeschalteter Befehl aus der Steuerschaltung 48 erscheint; dies geschieht bei einem Aufruf CALL, wenn das Zustandssignal den Wert "1" hat. Drittens kann veranlaßt werden, daß die Inhalte der Pufferregisterstufen über die Schleifen 188 umlaufen, wenn ein Befehl an der Leitung 194 aus der Steuerschaltung 48 erscheint; dies geschieht immer dann, wenn die Befehlssignale und beide den Wert Vss haben, was bedeutet, daß der Inhalt des Pufferregisters 47 normalerweise umläuft, außer wenn eine Adresse von den Leitungen R4 bis R7 geladen wird, oder wenn ein erfolgreicher Aufruf CALL ausgeführt wird. Im Prüfbetrieb kann ein Signal an der Leitung 199 bewirken, daß die Signale an den Tastenfeldeingabeleitungen K1 bis K8 über die Übertragungstransistoren 196 und die Leitungen 192 in die zusammengesetzten Verknüpfungsschaltungen 46′ eingegeben werden; dies wird zu Prüfzwecken oder bei anderen Funktionen als Rechenfunktionen angewendet. Auch der Spannungswert -Vdd an der Löschtastenleitung erzeugt ein Eingangssignal für die Verknüpfungsschaltungen 197, die Teile der zusammengesetzten Verknüpfungsschaltungen 47′ sind, damit jede Steuerung mittels des -Befehls an der Leitung 193 im wesentlichen unwirksam gemacht wird und der Weg, der die Signale an den Ausgangsleitungen 35 über die Leitungen 92 in das Pufferregister lädt, unterbrochen wird; dies ermöglicht eine Hardware-Löschfunktion und andere Möglichkeiten.
Gewöhnlich enthalten die Register 46 und 47 die gleichen Daten, was bedeutet, daß Adressen verwendet werden, die auf der gleichen "Seite" im Festspeicher liegen. Alle Verzweigungen erfolgen zur gleichen Seite. Um jedoch zu einer anderen Seite zu gelangen, d. h. eine lange Verzweigung auszuführen, wird eine neue Seitenadresse von den Leitungen R4 bis R7 in das Pufferregister 47 geladen. Dies hat zur Folge, daß die laufende Adresse im Adreßregister 46 und an den Leitungen 35 vorhanden ist, während die neue Seitenadresse zu der verzweigt werden soll, im Pufferregister 47 enthalten ist. Wenn die Verzweigung wahr ist, oder die Zustandsbedingung erfüllt, wird der Inhalt des Pufferregisters 47 in das Adreßregister 46 und somit zu den Leitungen 35 geladen. Jetzt befinden sich wieder die gleichen Daten in den Registern 46 und 47, so daß die Rechenanordnung wieder darauf eingestellt ist, kurze Verzweigungen auf der neuen Seite auszuführen. Wenn ein Aufruf CALL ausgeführt wird, wird der Inhalt des Pufferregisters 47 in das Adreßregister 46 übertragen und umgekehrt. Wenn der Aufruf auf der gleichen Seite erfolgt, sind die Daten in jedem Register sowieso gleich. Wenn jedoch ein langer Aufruf zu einer anderen Seite erfolgt, dann bewirkt das Pufferregister 47 die Speicherung der Adresse derjenigen Seite, die zur Zeit der Auslösung des Aufrufs vorhanden ist. Wenn eine Rückkehr ausgeführt wird, wird der Inhalt des Pufferregisters 47 in das Adreßregister 46 übertragen, so daß die zwei Register wieder die gleichen Daten enthalten, wobei sich die Rechenanordnung wieder an der Ausgangsadresse befindet und für die Durchführung kurzer Verzweigungen eingestellt ist.
Die Adreßsteuerschaltung
Nach Fig. 11 enthält die Steuerschaltung 48 für die ROM- Adressierungsschaltung mehrere getrennte zusammengesetzte Verknüpfungsschaltungen 48-1, 48-2 usw. zur Erzeugung der verschiedenen Befehle. Die Verknüpfungsschaltung 48-1 erzeugt abhängig von der Anwesenheit der Signale , , und R3 an den Leitungen 33 und von den auf dem Wert Vss befindlichen Signal an der Leitung 199 den Befehl an der Leitung 191. Dies bewirkt das Laden einer neuen Seite aus den Signalen R4 bis R7 an den Leitungen 33 für eine lange Verzweigung oder einen langen Aufruf. Die Verknüpfungsschaltung 48-2 erzeugt abhängig von der Anwesenheit der Signale R0, R1 an den Leitungen 33, vom Signal an der Leitung 199 und von einem Zustandssignal an der Leitung 79 aus der Zustandslogik 66 den Befehl an der Leitung 193; alle diese Signale müssen den Wert Vss haben, damit das Befehlssignal den Spannungswert -Vdd hat. Dies bedeutet, daß an den Leitungen 33 das Befehlswort 11XXXXXX anliegt, und daß das Zustandssignal den Wert "1" hat. Dies ist ein Aufruf CALL. Das Eingangssignal an den Verknüpfungsschaltungen 48-1, 48-2 und 48-3 bewirkt die Sperrung dieser Verknüpfungsschaltungen, wenn die Löschtaste gedrückt wird. Die Verknüpfungsschaltung 48-3 erzeugt abhängig vom Signal an der Leitung 199 den Befehl , und die Befehle und an den Ausgängen der Verknüpfungsschaltungen 48-1 bzw. 48-2 haben den Massewert Vss. Dies besagt den Umlauf des Inhalt des Pufferregisters 47 über die Leitungen 188, was bedeutet, daß die Adresse im Pufferregister erhalten bleibt. Eine Verknüpfungsschaltung 48-4 erzeugt an der Leitung 184 den Befehl C4RX abhängig vom Zustandssignal an der Leitung 79, vom Signal R0 aus den Leitungen 33, vom Signal an der Leitung 176 und einem vom Signal abgeleiteten Signal an einer Leitung 200. Jedesmal wenn ein Rückkehrvorgang ausgeführt wird, sollte der Befehl C4RX des Wert Vss annehmen, damit der Inhalt des Registers 47 über die Leitungen 183 in das Register 46 geladen werden kann. Der Befehl an der Leitung 176 wird von einer Verknüpfungsschaltung 48-5 abhängig von den Signalen , , , , R4, R5, R6, R7 an den Leitungen 33 erzeugt; das bedeutet, daß eine Befehlscodegruppe 00001111 einen Befehl ergibt, der die Adresse im Unterprogrammregister 43 wieder in den Programmzähler 36 und somit zu den zum Decodierwähler 39 führenden Leitungen 42 zurückruft, ebenso wie er das Laden des Registers 47 in das Register 46 bewirkt. Der Befehl CLATCH wird von einer zusammengesetzten Verknüpfungsschaltung 48-6 erzeugt, die abhängig ist von dem Zustandssignal an der Leitung 79, den Signalen R0 und R1 der Leitungen 33, dem Befehl an der Leitung 176, dem Signal an der Leitung 199 und dem Einschaltlöschsignal an der Leitung 167. Eine Funktion des Befehls CLATCH besteht darin, den Datenweg 183 vom Register 47 zum Register 46 zu sperren, wenn ein Aufruf ausgeführt wird. Dies geschieht mit Hilfe der Leitung 200, die zur Verknüpfungsschaltung 48-4 führt, die auch abhängig vom Signal R0 und vom den Massewert Vss aufweisenden Zustandssignal abhängt. Über die Leitung 184 und die Leitung 185 wird der Datenumlaufweg 179 für das Register 46 in den Verknüpfungsschaltungen 46′ freigegeben, während der Datenweg 183 gesperrt wird. Wenn die Signale R0 und das Zustandssignal den Wert "1" haben, bedeutet dies eine erfolgreiche Verzweigung oder einen Aufruf, und diese Signale würden die Übertragungen des Inhalts des Registers 47 zum Register 46 bewirken, jedoch wird dies mittel des Befehls CLATCH verboten. Der Befehl CLATCH liegt normalerweise im Nichtaufrufbetrieb vor, was besagt, daß die Anordnung keinen Aufruf, sondern eine Verzweigung ausgeführt. Wenn die in die Verknüpfungsschaltung 48-6 gelangenden Signale R0, R1 und das Zustandssignal den Wert "1" haben, bedeutet dies einen gültigen Aufruf, so daß die Halteschaltung in den Aufrufbetrieb gesetzt wird. Der Befehl veranlaßt das Verlassen des Aufrufbetriebs und die Rücksetzung der Halteschaltung. Die Signale oder bewirken ebenfalls die Rücksetzung der Halteschaltung. Der Negator und das Schaltungselement zwischen dem Schaltungspunkt 201 und der Leitung 200 bilden zusammen mit der Verknüpfungsschaltung 48-6 eine Rückkopplungsschleife und somit eine Haltefunktion, so daß bei der Erzeugung des Befehls CLATCH dieser Befehl solange vorliegt, bis der Befehl , das Hardware-Löschsignal oder das Einschaltlöschsignal auftreten. Der Befehl an der Leitung 163 wird in der Verknüpfungsschaltung 48-7 erzeugt, die abhängig vom Signal R0 und vom Zustandssignal arbeitet. Die Verknüpfungsschaltung 48-7 hält Ausschau nach einer erfolgreichen Verzweigung oder einem erfolgreichen Aufruf. Die Wortadressenübertragung wird immer ausgeführt, wenn das Signal R0 und das Zustandssignal den Wert "1" haben.
Im Prüfbetrieb haben die Eingangssignale und K2 der Verknüpfungsschaltung 48-7 funktionelle Bedeutung. Normalerweise ist das Signal KC negativ, so daß Signal K2 ausgeschlossen ist. Wenn das Signal KC den Massewert Vss hat, dann kann das Signal K2 den Befehl steuern. Im Prüfbetrieb wird nach dem seriellen Laden einer Adresse an der K1-Leitung ein Befehl erzeugt, wenn das Signal K2 den Massewert hat. Dies bewirkt die zwangsweise Eingabe aller acht ROM-Bits von den Leitungen 33 in den Programmzähler 36 über die Transistoren 162 von Fig. 9, von wo aus die Bits über die Leitung 165 zu Prüfzwecken entnommen werden. Der Befehl wird vom Taktsignal ϕ2 in der Verknüpfungsschaltung 48-7 auf den Massewert gelegt, so daß er nur während des Taktsignals ϕ2 gültig ist.
Die Tastenfeldeingabe
In Fig. 11 sind auch die Tastenfeldeingabeleitungen 75 dargestellt, die von den Eingangsleitungen 16 kommen. Zur Erzielung einer Schwellwert- und Hysteresewirkung sind zwischen die Leitungen 16 und die Leitungen 75 Schmitt- Trigger-Schaltungen 205 eingefügt. Obwohl hier die Bezeichnung "Tastenfeldeingabe" verwendet wird, die als solche für Rechner eingesetzt wird, ist zu erkennen, daß an die Leitungen 16 von irgendeiner beliebigen Quelle BCD oder Binärdaten angelegt werden können, wenn der hier beschriebene Digitalprozessor-Chip für andere Zwecke verwendet wird. Es ist zu beachten, daß "wahre" Daten durch den Wert "1" oder den Massewert Vss ausgedrückt werden, und daß die Signale an den Leitungen 16 und somit an den Leitungen 75 zu anderen Zeiten auf dem Wert "0" oder dem Spannungswert Vdd mit Hilfe von Ableitungslastbauelementen L gehalten werden. Die KC-Leitung 206, die bei der Anwendung als Rechner zur Hardware-Löschung oder für die Löschtaste verwendet wird, ist über einen Negator mit der -Leitung 199 verbunden; wenn die Löschtaste ihre obere Lage einnimmt, hat das Signal den Massewert Vss, also den Wert "1", während bei gedrückter Löschtaste das Signal an der Leitung 206 den Massewert hat und das Signal an der Leitung 199 den Spannungswert -Vdd annimmt. Zur Erzielung einer Verzögerung und zum Glätten oder Entprellen des KC-Eingangssignals kann mit dem Halbleiter- Chip ein externer Kondensator 207 verwendet werden.
Bei Verwendung des Prozessor-Chips als Rechner werden numerische Daten über die Tastenfeldeingänge normalerweise nicht in Form numerischer Daten eingegeben. Das bedeutet, daß bei Drücken der Taste "7" an den K-Leitungen nicht die BCD-Codegruppe für "7", also die Codegruppe 0111 erzeugt wird, sondern daß dafür typischerweise eine Folge von Programmschritten für die Feststellung einer gedrückten Taste angewendet wird, worauf die über die K-Leitung eingegeben Information im Akkumulator 52 gespeichert wird, während die Identität der Leitung 48, die betätigt ist, im Y-Register 40 abgespeichert wird. Diese Daten können dann zur Identifizierung der Taste mittels Software benutzt werden, und es kann eine BCD-Zahl in den Direktzugriffspeicher 25 eingegeben werden, oder es kann eine Operation ausgeführt werden.
Ein Vorteil dieses Eingabesystems besteht darin, daß Zahlen und Operationen auf den K-Leitungen untereinander gemischt werden können und daß die Zahlen nicht in der numerischen Reihenfolge vorliegen müssen. Es könnten auch zwei Tasten gleichzeitig gedrückt werden, und eine kann von der Software ausgeschlossen werden. Außerdem können beispielsweise für die Dezimalpunktstellung feste Schalter mit Tastenschaltern gemischt werden. Bei bisher bekannten Rechenanordnungen besteht keine dieser Möglichkeiten.
Außer im Prüfbetrieb gelangen die Tastenfeldeingaben ausschließlich in die CKB-Logik 56. Von dieser aus können die Tastenfeldeingaben in die Akkumulator- oder RAM-Y- Register geladen werden.
Die Konstanten-Tastenfeld-Bit-Logik (CKB-Logik)
Die in Fig. 12 dargestellte CKB-Logik 56 besteht aus vier gleichen zusammengesetzten Verknüpfungsschaltungen 56-1, 56-2, 56-4 und 56-8, die an den Leitungen 55-1 bis 55-8 die Ausgangssignale bis erzeugen. Die CKB- Ausgangssignale werden dem Addierereingabewähler 51 und dem RAM-Schreibsteuerwerk 70 zugeführt, wie oben erläutert wurde. Jede der vier zusammengesetzten Verknüpfungsschaltungen 56-1 bis 56-8 enthält drei einzelne Verknüpfungsschaltungsgruppen 210, 211 und 212, von denen jede unter bestimmten Bedingungen abhängig vom laufenden Befehlswort an den Leitungen 33 ein CKB-Ausgangssignal erzeugt. Die Verknüpfungsschaltungsgruppe 211 empfängt in jedem Fall an der UND-Schaltung 213 die Signale , , und R4 von den Leitungen 33, und an der UND-Schaltung 214 eines der Signale K1, K2, K4 oder K8 von den Leitungen 75-1 bis 75-8; dies dient dazu, die vom Tastenfeld oder von außen kommenden Daten an die CKB-Leitungen 55 anzulegen, wenn das Befehlswort 00001XXX vorliegt. Die Verknüpfungsschaltungsgruppe 210 bewirkt das Setzen und Rücksetzen von Bits im Direktzugriffspeicher 25; sie empfängt an der UND-Schaltung 216 die Signale , , R2 und R3 von den Leitungen 33, so daß dieser Teil abhängig von einem Befehlswort 0011XXXX arbeitet, während die übrigen Teile der Verknüpfungsschaltungsgruppe 210 abhängig von zwei der Signalen an den Leitungen R6, , R7 oder mittels der ODER-Schaltung 217 arbeiten, so daß nur eine der vier Verknüpfungsschaltungen 56-1 bis 56-8 ein CKB-Ausgangssignal erzeugt. Dies dient der Auswahl eines der vier Bits für eine Bit-Operation. Die Verknüpfungsschaltungsgruppe 212 enthält eine UND- Schaltung 218, die in jedem Fall abhängig von den Signalen , , an den Leitungen 33 arbeitet. Das Ausgangssignal der UND-Schaltung 218 wird mit dem Signal R1 in der Verknüpfungsschaltung 219 in einer ODER-Verknüpfung kombiniert, deren Ausgangssignal zusammen mit dem Signal und einem der Signale R4, R5, R6 oder R7 an die UND-Schaltung 220 angelegt wird. Die Verknüpfungsschaltungsgruppen 212 dienen daher dazu, alle vier Bits, R4, R5, R6 und R7 an die CKB-Ausgänge 55 anzulegen, wenn das Befehlswort 01XXXXXX vorliegt und eines oder mehrere der Signale R2, R3 und R4 den Wert "0" haben. Bei einigen Konstantenoperationen hat das Bit R4, also das erste Bit im Konstantenfeld stets den Wert "1"; dies ist eine notwendige Einschränkung der Konstangen, die in diesem Fall angewendet werden kann. Das Bit R1 ist tatsächlich ein unbeachtetes Bit, wenn die Bits R2 bis R4 den Wert "0" haben, da das Befehlswort 00000XXX ebenfalls das Konstangenfeld R4 bis R7 an die CKB-Ausgangsleitungen 55 anlegt.
In Fig. 12a ist eine der zusammengesetzten Verknüpfungsschaltungen 56, und zwar die Verknüpfungsschaltung 56-8 dargestellt. Die anderen Verknüpfungsschaltungen 56-1, 56-2 und 56-4 sind mit Ausnahme von Änderungen an den R6-, R7- und K-Eingängen nach Fig. 12 ebenso aufgebaut. Mit dem Taktsignal ϕ2 wird die Ausgangsleitung 55-8 über den Transistor 222 auf die Spannung -Vdd aufgeladen, und während des Taktsignals ϕ1 des nächsten Zyklus wird die Ausgangsleitung 55-8 über die Verknüpfungsschaltungsgruppen 210, 211 und 212 und den Transistor 223 bedingt entladen. Es ist zu erkennen, daß bei Vorliegen eines Befehlsworts 0011XXXX an den Leitungen 33 die Verknüpfungsschaltungsgruppe 210 die Steuerfunktion hat, da die Verknüpfungsschaltungsgruppe 212 von den Signalen R1 und , gesperrt wird, während die Verknüpfungsschaltungsgruppe 211 von den Signalen und gesperrt wird. Auf diese Weise wird für das Befehlswort 0011XXXX eine der vier zusammengesetzten CKB-Verknüpfungsschaltungen 56 von den ODER-Schaltungen 217 ausgewählt, die Kombination der Signale R6, , R7 und empfangen. Wenn an den Leitungen 33 das Befehlswort 00001XXX vorhanden ist, dann übt die Verknüpfungsschaltungsgruppe 211 die Steuerfunktion aus, weil die Verknüpfungsschaltungsgruppe 210 von den Signalen R2 und R3 gesperrt wird, während die Verknüpfungsschaltungsgruppe 212 von den Signalen R1 und gesperrt wird, so daß das Signal K8 bestimmt, ob die Leitung 55-8 an Masse gelegt wird. Wenn an den Leitungen 33 das Befehlswort 01XXXXXX anliegt, übt die Verknüpfungsschaltung 212 die Steuerfunktion aus, weil die Verknüpfungsschaltungsgruppen 210 und 211 vom Signal gesperrt werden, so das Signal R7 (oder in den anderen Verknüpfungsschaltungen 56 die Signale R4, R5 oder R6) die Entladung der Leitung 55-8 bestimmt. Die Verknüpfungsschaltungsgruppe 212 übt die Steuerfunktion auch dann aus, wenn das Befehlswort 00000XXX lautet, da die Verknüpfungsschaltungsgruppe 210 von den Signalen R2 und R3 und die Verknüpfungsschaltungsgruppe 211 vom Signal R4 gesperrt werden, während die Verknüpfungsschaltung 219 nicht leitet, weil die Signale , und den Signalwert "1" haben.
Die CKB-Logik 56 hat somit eine dreifache Gesamtfunktion. Erstens kann eine in einem Feld des Befehlswort erscheinende Konstante an die Leitungen 55 angelegt werden. Zweitens können die vom Tastenfeld oder von außen eingegebenen Eingangssignale an den Leitungen 75 an die Leitungen 55 angelegt werden. Drittens kann eine der vier Leitungen 55 beispielsweise zum Adressieren eines der vier Bits einer Stelle im Direktzugriffspeicher 25 ausgewählt werden. Alle diese Funktionen werden vom laufenden Befehlswort gesteuert.
Die RAM-Seitenadresse
In Fig. 13 ist das RAM-Seitenadreßregister 73 dargestellt. Die RAM-Seitenadresse besteht aus den zwei Bits RAX0 und RAX1, die an den Leitungen 28 erscheinen. Das Register besteht aus zwei gleichen Stufen 73-0 und 73-1, von denen jede einen Eingang 225, zwei Negatoren 226 und zwei getrennte Rückführungswege 227 und 228 enthält. Jede Stufe ist somit ein mit den Taktsignalen ϕ1 und ϕ2 getaktetes Umlaufregister. Eine aus zwei Bits gebildete RAM-Seitenadresse kann in die Eingänge 225 geladen werden, wenn die Transistoren 230 von einem Befehl "Lade RAM-X" an der Leitung 61-23 aus dem Steuerwerk 60 eingeschaltet werden. Nachdem sie einmal geladen ist, läuft die Adresse unbegrenzt über den Rückführungsweg 28. Die RAM-X-Adresse im Register wird komplementiert, wenn die Transistoren 231 vom Befehl an der Leitung 61-22 aus dem Steuerwerk 60 durchgeschaltet werden, wenn dieser Befehl den Wert "0" oder -Vdd hat. Dies bewirkt den Datenumlauf über die Rückführungswege 227, und die Adresse wird komplementiert.
Wenn der Befehl den Wert "1" hat, dann laufen die Bits über die Rückführungswege 228 um, und die Adresse bleibt gleich.
Die RAM-Seitenadresse ist in dem 2-Bit-X-Register 73 enthalten, das zur direkten Adressierung des RAM- Seitendecodierers 29 über die Leitungen 28 verwendet wird. Der Inhalt des Registers 73 kann auf zwei Wegen modifiziert werden. Erstens können die Signale und aus dem Festspeicher 24 als Teil des Befehlsworts geladen werden, wie angegeben worden ist. Zweitens kann die im Register 73 gespeicherte Adresse Bit für Bit komplementiert werden. Kein anderer Vorgang einschließlich der Einschaltlöschung und der Hardware-Löschung hat irgendeinen Einfluß auf den Inhalt des X-Registers 73. Änderungen des Inhalts, die im Register 73 stattfinden, sind bis zum nächsten Befehlszyklus nicht gültig.
Der Festspeicher (ROM) und der ROM-Seitenadressendecodierer
In Fig. 14 sind der Festspeicher 24 und der ROM-Seitenadressendecodierer dargestellt. Der Festspeicher besteht aus einem Feld aus X-Leitungen 240, die von länglichen P-Diffusionszonen im Halbleitersubstrat gebildet sind und aus Y-Leitungen 241, die aus Metallstreifen über einer Oxidschicht auf dem Substrat in herkömmlicher Weise gebildet sind. In dem Feld sind 64 Y-Leitungen und 128 X-Leitungen vorgesehen, wobei in Fig. 14 jedoch nur einige dieser Leitungen dargestellt sind. Der Festspeicher ist ein Speicher mit virtueller Masse, so daß daher nur eine Masseleitung 242 für jeweils acht X-Leitungen 240 benötigt wird; innere Masseleitungen werden von benachbarten Gruppen gemeinsam benutzt, so daß tatsächlich nur neun Masseleitungen benötigt werden und nicht 16.
Ein Datenbit wird zwischen benachbarten Leitungen 240 oder zwischen einer Leitung 240 und einer Masseleitung 242 mit Hilfe dünnder Oxidbereich 243 erzeugt, wie in der US-PS 35 41 543 beschrieben ist. Ein Muster der dünnen Oxidbereiche 243 bestimmt die Werte "1" oder "0", die für jedes Datenbit gespeichert sind, ebenso wie diese Bereiche jeweils die Anwesenheit oder die Abwesenheit eines MOS-Transistors festlegen. Der Festspeicher enthält 8192 Datenbit-Speicherplätze oder mögliche Orte für die dünnen Oxidbereiche 243. Die Speicherplätze sind in 1024 Wörtern organisiert, die jeweils acht Bits enthalten. Die acht Bits gelangen an den acht Leitungen 33, von denen in Fig. 14 nur eine dargestellt ist und die den Bits R0 bis R7 des Befehlsworts entsprechen, vom Festspeicher nach außen. Die 1024 Wörter sind in 16 Gruppen oder Seiten zu je 64 Wörtern unterteilt.
Der Seitendecodierer besteht aus 16 von Transistoren 245 gebildeten Feldern 244. Jedes Feld enthält nur 14 Transistoren 245 und einen Transistor 246, was eine große Verbesserung gegenüber Decodieren für bisher bekannte Festspeicher mit virtueller Masse darstellt. Der Decodierer empfängt die von vier Bits gebildete ROM-Seitenadresse an den vier Leitungen 35-1 bis 35-8 aus dem ROM-Seitenadreßregister 46 von Fig. 10. Vier gleiche Eingabe/Vorlade- Schaltungen 247 empfangen die ROM-Seitenadresenbits, die vom Taktsignal ϕ2 über Transistoren 248 eingegeben werden. Negatoren 249 ermöglichen, daß die Bits in nicht negierter Form und in negierter Form vorhanden sind, so daß acht Adressierungsleitungen 250 die gesamte Breite des Festspeichers durch alle 16 Felder 244 durchlaufen. Diese Leitungen 250 erzeugen an den Gate-Elektroden der Transistoren 245 Eingangssignale X1, , X2, , X4 und sowie an den Gate-Elektroden der Transistoren 246 Eingangssignale X8 und . Die ausgewählten Leitungen 250 werden mit dem Taktsignal ϕ2 über Transistoren 251 vorgeladen, wobei eine mitgehende Ladespannung durch geschaltete Kondensatoren 252 vorgesehen ist. Eine Ausgabeschaltung 253 verbindet jedes der Paare der Felder 244 mit einer der Leitungen 33, so daß insgesamt 8 dieser gleich aufgebauten Ausgabeschaltungen 253 vorhanden sind. Benachbarte Felder sind jeweils mit Ausgangsleitungen 254 und 255 versehen, die auch die X-Leitungen 240 im ROM-Feld sind. Das Adressenbit X8, wählt über die Transistoren 246 nur eine dieser Ausgangsleitungen aus. Die ausgewählte Ausgangsleitung wird mit dem Eingang eines Negators 256 verbunden, damit die Ausgangsleitung 33 über den Transistor 257 an Masse gelegt wird, wenn beim Auftreten des Taktsignals ϕ2 die aus den Leitungen 254, 255, ausgewählte Leitung an Masse Vss liegt, oder damit die Ausgangsleitung 33 mit Hilfe des Taktsignals ϕ2 über den Transistor 258 an die Spannung -Vdd gelegt wird, wenn die aus den Leitungen 254, 255 ausgewählte Leitung beim Auftreten des Taktsignals ϕ2 an der Spannung -V liegt. Ein geschalteter Kondensator 259 dient dazu, den Ausgang auf einen hohen Wert mitzuführen. Die Seitenadresse wählt mit Hilfe der Transistoren 245 in jedem Feld 244 eine der acht Leitungen 240 in jeder Achtergruppe aus; die 1-, 2- und 4-Bits, d. h. die Leitungen X1, , X2, , X4 und werden in einem Muster betätigt, bei dem eine X-Leitung 240 mit der Masseleitung 242 und die nächste benachbarte X-Leitung 240 mit der Leitung 254 oder der Leitung 255 verbunden werden. Beispielsweise verbindet eine ROM-Seitenadresse 1010 (an X1, X2, X4, X8) die Leitung 240a über die Transistoren 245a und 245b mit Masse und die Leitung 250b über den Transistor 245c mit der Ausgangsleitung 254, während der Transistor 246 an der Leitung X8 die Leitung 254 mit dem Verbindungspunkt 260 und somit mit dem Ausgang verbindet. Jede dünne Oxidzone 243a zwischen den Leitungen 240a und 240b ist somit für die bestimmte Y-Leitung 241 bestimmend, die vom später noch zu beschreibenden Y-Decodierer 27 ausgewählt ist.
Ein wichtiges Merkmal des Festspeichers ist die Art der Vorladung der Leitungen 240. Alle diese Leitungen 240 werden mit Hilfe von Transistoren 263, die mit dem Taktsignal ϕ1 getaktet werden, an eine gemeinsame Verbindungsleitung 262 angeschlossen. Die gemeinsame Verbindungsleitung 262 ist an die die Versorgungsspannung -Vdd liefernde Klemme 264 über zwei MOS-Transistoren 265 vom Verarmungstyp angeschlossen, so daß sich die Leitung 262 auf die Spannung -(Vdd-2Vt) auflädt, wobei Vt die Schwellenspannung der Transistoren 265 ist. Typischerweise hat die Versorgungsspannung Vdd den Wert 15,0 V, und die Schwellenspannung Vt hat den Wert 2,0 V. Somit laden sich die Leitungen 240 auf eine niedrigere Spannung auf, was bedeutet, daß sie im Vergleich zu ihrem Verhalten bei einer Aufladung auf den Spannungswert Vdd schnell vorgeladen und schnell entladen werden.
Der ROM/RAM-Wortdecodierer
In Fig. 15 ist der Wortdecodierer 27 für den Festspeicher 24 und für den Direktzugriffspeicher 25 zusammen mit dem Datenwähler 39 dargestellt. Der Wortdecodierer 27 empfängt eine zwölfzeilige Adresse (aus 6 Bits und ihren Komplementen) an den Leitungen 38, und er wählt eine aus 64 Ausgangsleitungen 34 für den Festspeicher oder eine aus 16 Leitungen 26 für den Direktzugriffspeicher aus. Die Leitungen 34 sind die Metallstreifen oder Y-Leitungen 241 im Festspeicher. Der Datenwähler empfängt an vier Leitungen 41-1 bis 41-8 aus dem RAM-Y-Register 40 eine aus vier Bits bestehende RAM-Y-Adresse, die von den Transistoren 270 mit dem Taktsignal ϕ2 durchgeschaltet wird. Der Datenwähler empfängt auch die aus sechs Bits bestehenden Daten vom Ausgang 42 des Programmzählers an den Leitungen 42-0 bis 42-5, die mit dem Taktsignal ϕ1 von Transistoren 271 durchgeschaltet werden. Während jedes Befehlszyklus werden mit dem Taktsignal ϕ1 eine ROM-Adresse und mit dem Taktsignal ϕ2 eine RAM- Adresse geliefert. Da die RAM-Y-Adresse nur aus vier Bits (2⁴=16) besteht, während die ROM-Adresse aus sechs Bits (2⁶=64) besteht, sind die zusätzlichen Bits für die RAM-Adresse an den Punkten 272 und 273 an Masse Vss bzw. an die Versorgungsspannung Vdd angelegt. Über Negatoren 274 werden die Daten in nicht negierter und in negierter Form an 12 Leitungen 280, die mit Y0, , Y1, . . . Y6, bezeichnet sind und die die gleichen Leitungen wie die Leitungen 38 sind, an den Decodierer angelegt. Die Leitungen 280 sind Metallstreifen, die zur Bildung eines, einem Festspeicher ähnlichen Feldes über von P-Diffusionszonen gebildeten Leitungen 281 liegen. An ausgewählten Bitpositionen sind unter den Leitungen 280 dünne Oxidbereiche vorgesehen, damit zwischen benachbarten Leitungen 281 MOS-Transistoren entstehen. Eine gegebene 6-Bit-Codegruppe wählt eine der Leitungen 281 aus. Über Transistoren 283 werden mit dem Taktsignal ϕ1 alle Leitungen 281 mit den Gate-Elektroden der Transistoren 282 verbunden.
Geschaltete Kondensatoren 284 dienen der Anhebung der Gate-Spannung der Transistoren 282 auf einen höheren Wert. Die Leitungen 241 liegen an Masse, bis eine dieser Leitungen während des Taktsignals ϕ2 an der Leitung 285 negativ gemacht wird, weil die Gate-Elektrode eines der Transistoren 282 während des Taktsignals ϕ1 negativ gemacht worden ist. Während jedes Befehlszyklus werden die Leitungen 281 vom Taktsignal ϕ4 zweimal aufgeladen. Das Taktsignal ϕ4 wird über Transistoren 287 und 288 von der Leitung 286 an die Leitung 281 angelegt. Während des ersten Abschnitts des Taktsignals ϕ1 werden die Leitungen 281 und die Gate-Elektroden der Transistoren 282 vom Taktsignal ϕ4 negativ aufgeladen, worauf dann während der letzten Hälfte des Taktsignals ϕ1 das Taktsignal ϕ4 den Massewert annimmt, und bis auf eine alle Leitungen 281 und Gate-Elektroden der Transistoren 282 wieder auf Masse entladen werden, was vom Muster der dünnen Oxidbereiche, die die Leitungen 281 miteinander verbinden, sowie davon abhängt, welche der Leitungen 280 negativ ist. Die Transistoren 289 und 290 dienen dazu, Alternativwege zum Entladen der Leitungen 281 auszuwählen. Diese Transistoren 289 und 290 werden von den Signalen an den Leitungen Y6 und geschaltet, so daß während der Taktsignale ϕ1 und ϕ2 einer von ihnen stets eingeschaltet und einer stets abgeschaltet ist. Die Leitungen 281 werden aus dem Taktsignal ϕ4 während des Teilabschnitts 85, also der ersten Hälfte des Taktsignals ϕ2, negativ aufgeladen, worauf dann während der letzten Hälfte des Taktsignals ϕ2 bis auf eine Leitung 281 alle in die Quelle des Taktsignals ϕ4 nach Masse entladen werden.
Die Datenausgabe aus dem Decodierer 27 zu den Leitungen 26 erfolgt beim Taktsignal ϕ2 über die Transistoren 292, über die 16 der 64 Leitungen 281 mit den Gate-Elektroden der Transistoren 295 in den Adressenausgabeschaltungen verbunden sind, von denen 16 gleich aufgebaute Ausführungen vorhanden sind, während nur eine dargestellt ist. Die ausgewählte RAM-Adressenleitung 26 wird während des negierten Taktsignals an der Leitung 301 von den Transistoren 295 auf den Spannungswert -V gebracht. Geschaltete Kondensatoren 302 zur Ladespannungsmitführung gewährleisten einen hohen negativen Spannungswert an der ausgewählten Leitung 26. Die nicht ausgewählten Leitungen 26 werden von der Nullhalteschaltung einschließlich der Transistoren 302, 303 und 304 auf Masse gehalten. Für die Dauer des Taktsignals ϕ2 leitet der Transistor 304, und er macht die Gate-Elektrode 305 negativ, während die Gate-Elektrode 294 für den einen ausgewählten Ausgang aufgeladen ist, so daß der Transistor 302 eingeschaltet wird und alle Leitungen 26 mit der Vss-Leitung 306 verbunden werden. Wenn das Taktsignal ϕ2 nach Masse geht und das negierte Taktsignal negativ wird, wird auch der Verbindungspunkt 307 der ausgewählten Adressenleitung 26 negativ, wodurch der Transitor 303 eingeschaltet und die Gate-Elektrode 305 entladen wird, so daß die ausgewählte Adressenleitung von Masse abgetrennt wird. Die nicht ausgewählten Adressenleitungen bleiben an Masse, da die Gate-Elektrode 305 negativ bleibt und den Transistor 302 eingeschaltet hält. Die Wirkung dieser Ausgabeschaltung 300 besteht darin, daß die Leitungen 26 während des Taktsignals ϕ2 an Masse bleiben, während im Verlauf des negierten Taktsignals alle diese Leitungen mit Ausnahme der ausgewählten Leitung an Masse bleiben, an der die Spannung -Vdd anliegt.
Das D-Ausgaberegister
In Fig. 16 sind das Ausgaberegister 84 und die Ausgabepuffer 86 genau dargestellt. Dieses Register besteht aus 13 gleichen Stufen 310, von denen nur drei dargestelllt sind. Jede Stufe 310 ist eine RAM-Zelle mit Selbstauffrischung, die allgemein der im Direktzugriffspeicher 25 verwendeten Zelle gleicht, jedoch sind zusätzliche Steuervorrichtungen vorgesehen. Die Zelle enthält 5 Transistoren 311, 312, 313, 314 und 315. Die Kapazität des Verbindungspunkts 316 und die Kapazität der Gate-Elektrode 317 des Transistors 311 sind von Bedeutung. Wenn am Verbindungspunkt 316 eine negative Spannung gespeichert ist, dann lädt er die Gate- Elektrode 317 während des Taktsignals ϕ5 über den Transistor 314 auf. Während des Taktsignals ϕ1 schaltet dann die negative Spannung an der Gate-Elektrode 317 den Transistor 311 ein, und auch der Transistor 312 ist eingeschaltet, so daß sich der Verbindungspunkt 316 noch negativer auflädt und die gespeicherte Ladung auffrischt. Wenn der Verbindungspunkt 316 an Masse Vss liegt, wird die Gate- Elektrode 317 während des Taktsignals ϕ5 nicht aufgeladen, und der Transistor 311 wird während des Taktsignals ϕ1 nicht eingeschaltet, so daß der Verbindungspunkt 316 auf Masse Vss bleibt. Die Eingabe in den Verbindungspunkt 316 erfolgt über den Transistor 313, der über eine der Adressenleitungen 26 ein- oder ausgeschaltet wird. Alle Transistoren 313 der 13 Zellen 310 sind an eine Leitung 320 angeschlossen, die während des Taktsignals ϕ2 vom Transistor 321 an Masse gelegt wird. Die Leitungen 61-16 und 61-17 empfangen aus dem Datenwegsteuerwerk 60 die Befehle und , die die Leitung 320 über die Transistoren 322 und 323 an Masse bzw. an Vdd legen. Die Verbindungspunkte 316 werden bei der Einschaltlöschung oder bei Betätigung der Löschtaste über die Befehlsleitung 342, an die das Signal aus der Löschschaltung 82 angelegt wird, auf die Spannung -Vdd gesetzt. Eine negative Spannung an der Leitung 324 schaltet den Transistor 325 durch, so daß an den Verbindungspunkt 316 der Signalwert "0", also die Spannung -Vdd, angelegt wird. Alle Zellen 310 bleiben in diesem "0"-Zustand, bis ein Befehl und das Signal an einer der Leitungen 26 den Spannungswert -V annimmt, was während des Taktsignals auftritt. Während eines Befehlszyklus kann nur eine der Zellen 310 gesetzt werden, da nur eine der RAM-Y-Adressenleitungen 26 negativ wird. Eine einmal auf den Wert "1", also auf den Massewert (Vss) gesetzte Zeile bleibt in diesem Zustand, bis sie durch Adressieren der Zelle über eine Leitung 26 und Betätigen des Befehls adressiert und rückgesetzt wird. Die Stufen 84-0 bis 84-12 können in jeder beliebigen Reihenfolge gesetzt und rückgesetzt werden, und mehrere oder alle können sich gleichzeitig im gesetzten Zustand befinden. Wenn beispielsweise geprüft werden soll, ob eine Taste gedrückt ist, können alle Ausgänge 18 durch Setzen aller Stufe 84 betätigt werden, was einen Befehlszyklus für jede Stufe erfordert, worauf dann die Signale an den K-Leitungen gelesen und geprüft würden. Auch das Unterdrücken vorangehender Nullen kann durch verschiedene Unterprogramme ausgeführt werden, da nicht alle D-Ausgänge betätigt werden müssen; sie können von der höchstwertigen Ziffernstelle zur niedrigstwertigen Ziffernstelle oder umgekehrt von der niedrigstwertigen Ziffernstelle zur höchstwertigen Ziffernstelle betätigt werden.
Die Ausgabepuffer 86 bewirken, daß an die Ausgänge 18 entweder die Spannung Vdd oder Massepotential entsprechend den in den verschiedenen Stufen des Registers 84 gespeicherten Bits angelegt wird. Die dargestellte Schaltung ist geeignet, den vollen Spannungshub zu gewährleisten.
Das Akkumulatorausgaberegister und der Segmentdecodierer
In Fig. 17 sind das Akkumulator- und Zustandsausgaberegister 62 sowie der Segmentdecodierer 63 und der Ausgabepuffer 65 dargestellt. Das Register 62 besteht aus fünf gleichen Umlaufregisterstufen 62-1 usw., von denen jede eine NAND-Schaltung 330, einen Negator 331 und einen Rückführungsweg 332 enthält. Die Stufen werden von den Taktsignalen ϕ3 und ϕ2 über die Leitungen 333 und 334 getaktet. Den Stufen 62-1 bis 62-8 werden Eingangsdaten von den Akkumulatorausgangsleitungen ACC1 bis ACC8 (53-1 bis 53-8) von Fig. 6 zugeführt. Der Zustandspuffer 62-5 erhält Eingangsdaten aus der Ausgangsleitung 69 der Zustandshalteschaltung von Fig. 8. Diese Eingangsdaten werden über Transistoren 335 nach Auftreten eines Befehls an der Leitung 61-20 aus dem Datenwegsteuerwerk 60 geladen. Alle Stufen des Registers 62 können durch einen Befehl an der Leitung 61-21 aus dem Steuerwerk 60 gelöscht werden, der ein Eingangssignal für alle Verknüpfungsschaltungen 330 darstellt. Die Stufen des Registers 62 werden auch von einem Befehl an der Leitung 324 gelöscht, was gleichbedeutend mit dem Laden von Signalen mit dem Wert "0" ist. Nicht negierte und negierte Ausgangssignale aus den Stufen 62-1 bis 62-5 werden über A1-, , A2-, , . . . S-, -Leitungen 336 an zehn Eingänge des ersten Abschnitts 63-1 des von einem programmierbaren Logikfeld gebildeten Segmentdecodierers 63 angelegt, der die Betätigung einer von 20 Leitungen 63-2 in der Art bewirkt, wie sie für programmierbar Logikfelder üblich ist, die zum Codieren eingesetzt werden. Der zweite Abschnitt 63-3 des Segmentdecodierers ist so codiert, daß er eine oder mehrere der Leitungen 64 für eine Eingabe zu den Leitungen 63-2 betätigt. Der Segmentdecodierer 63 kann so codiert sein, daß er die BCD-Information am Akkumulatorausgang in die üblichen 7-Segment-Anzeigeansteuersignale für einen typischen Betrieb in einem Rechner umsetzt; es kann auch die BCD-Information an einer der vier Leitungen 64 oder auch jeder andere gewünschte Code ausgesendet werden. Das Setzen des Dezimalpunkts kann mit Hilfe des Zustandshalteschaltungsausgangs an der Leitung S8 erfolgen. Die acht Ausgabepuffer 65-1 bis 65-8 sind gleich aufgebaut; in Fig. 17 sind nur zwei dargestellt. Diese Puffer bewirken das Anlegen von Masse Vss oder der Spannung -Vdd an die Ausgangsklemmen 17 zur Ansteuerung der Segmente in der Anzeigeeinheit oder einer anderen Anzeigeeinheit wie Datenleitungen oder ein Drucker.
Die Einschaltlöschschaltung
In Fig. 18 ist eine Schaltung zur Erzeugung des Einschaltlöschbefehls an der Leitung 167 der Fig. 9 und 10 und zur Erzeugung des Befehls (Hardware-Löschung oder Einschaltlöschung) an der Leitung 324 von Fig. 17 dargestellt. Eine ODER-Schaltung 338 empfängt das Löschtastensignal über die Leitung 199 und einen Negator. Der Befehl wird von eine Halteschaltung 340 und einem Kondensator 341 erzeugt. Wenn die Versorgungsenergie erstmalig eingeschaltet wird, ist der Kondensator 341 noch nicht aufgeladen, und der Eingang 342 liegt im wesentlichen auf Masse, so daß sich die Halteschaltung 340 im Zustand "1" befindet und an der Leitung 343 ein Ausgangssignal erzeugt, das zur Erzeugung des Befehls an der Leitung 167 und des Befehls an der Leitung 324 führt. Nachdem sich der Kondensator aufgeladen hat, kippt die Halteschaltung 340, und der Befehl schaltet auf Masse, so daß der Rechner in seiner üblichen Betriebsweise arbeiten kann. Die Rückkopplungsschleife 344 gewährleistet, daß sich der Kondensator entlädt oder daß sich die Halteschaltung 340 im richtigen Zustand befindet, wenn die Versorgungsenergie eingeschaltet wird. Wenn ein externer Kondensator benutzt wird, dient das negierte Signal an der Leitung 345 dazu, den Befehl zu verlängern. Der Rest der Schaltung ist zum Prüfen des Halbleiter-Chips vorgesehen. Der Ausgang 165 der letzten Stufe 36-0 des Programmzählers 36 ist an den Transistor 346 angeschlossen, der vom Signal an der Leitung 199 eingeschaltet wird. Der Ausgang des Transistors 346 ist über die Leitung 347 an den Eingang des S8-Ausgabepuffers 65-8 angeschlossen. Somit kann der Inhalt des Programmzählers 36, dann, wenn das Signal negativ ist, über den Puffer 65-8 seriell an einer Klemme 17-8 gelesen werden. Wenn das Signal den Massewert hat, dann ist der Transistor 348 eingeschaltet, und die Leitung 64-8 ist an den S8-Ausgabepuffer für die übliche Betriebsweise angeschlossen.
Die Programmzähler-Rückkopplungsschaltung
In Fig. 19 ist eine Rückkopplungsschaltung für den Programmzähler von Fig. 9 dargestellt. Diese Schaltungsanordnung prüft die sechs einzelnen Ausgänge 42-0 bis 42-5 des Programmzählers 36 und bestimmt, ob ein Signalwert "1" oder "0" in die erste Stufe des Programmzählers über die Leitung 350 eingegeben werden soll. Eine Antivalenz- Schaltung 351 prüft die die Ausgangsleitungen der letzten zwei Stufen des Programmzählers 36 bildenden Leitungen 42-4 und 42-5, und sie erzeugt ein Äquivalenzsignal; wenn die Signale an beiden Leitungen den Wert "0" oder den Wert "1" haben, dann wird zum Eingang 350 ein Signal mit dem Wert "1" zurückgeführt, während dann, wenn unterschiedliche Signalwerte vorliegen, ein Signal mit dem Wert "0" zurückgeführt wird. Dies ermöglicht eine Zählung bis zu 63 in beliebiger Weise, doch muß ein Ausweg aus der Situation vorgesehen werden, in der das den Programmzähler 36 bildende Schieberegister nur Signale mit dem Wert "1" enthält. Wenn nur die Werte "1" enthalten sind, dann würde der zurückübertragene Signalwert ebenfalls der Wert "1" sein, und der Programmzähler würde in dem ausschließlich von den Werten "1" gebildeten Stand bleiben. Um dies zu vermeiden, reagiert die Verknüpfungsschaltung 352 auf 1234 und erzwingt einen Zählerstand 1111, in dem der Zähler verbleiben würde, jedoch reagieren die UND-Schaltungen 353 und 354 zusammen auf 012345, so daß sie ein Signal mit dem Wert "0" als nächstes Rückkopplungssignal erzwingen. Diese Anordnung hat zur Folge, daß das sechsstufige Schieberegister in einer pseudo-beliebigen Weise bis 64 zählt, d. h. in einer eingestellten wiederholenden Reihenfolge, und nicht in der regulären Reihenfolge. Die Verknüpfungsschaltung 355 wird zu Prüfzwecken verwendet; wenn an der Leitung 199 von Fig. 11 das Signal erscheint, ist der übliche Übertragungsweg aus der Verknüpfungsschaltung 351 unterbrochen, und das Eingangssignal K1 an der Leitung 75-1 wird seriell in den Programmzählereingang 350 eingegeben.
Der Taktgenerator
In Fig. 20 ist ein Blockschaltbild des Taktgenerators 80 dargestellt. Der Taktgenerator besteht aus drei herkömmlichen Zählerstufen 360, von denen jede mit den Taktsignalen ϕ und getaktet wird, die aus einem Taktoszillator 361 erhalten werden. Das Taktsignal ϕ, das eine Frequenz von etwa 500 kHz aufweist, kann direkt über einen externen Anschlußstift 22 synchronisiert werden; die externen Anschlußstifte 22 und 23 können auch miteinander verbunden und über einen die Frequenz einstellenden Widerstand 362 an die Spannung -Vdd gelegt sein. Die Frequenz kann durch Verwendung eines kleineren Widerstandes und eines an Masse Vss angeschlossenen Kondensators 363 genauer eingestellt werden. Der Oszillator 361 kann verschiedene Ausführungsformen haben. Zur Erzeugung der sechs Teilintervalle 91 bis 96 von Fig. 1 aus dem Taktsignal ϕ sind die Zählerstufen unter Verwendung einer Rückkopplungsschaltung 364 so geschaltet, daß sie in der üblichen Weise bis sechs zählen. Ein Decodierer 365 bewirkt eine Auswahl aus den drei Ausgängen 366 der Zähler, an denen die sechs bestimmten Zählerstände der Zähler anliegen, damit an den Ausgangsleitungen 367 die Taktsignale , , und erzeugt werden; diese Taktsignale werden dann zur Erzeugung der Taktsignale ϕ1, ϕ2, ϕ3 und ϕ5 an den Ausgängen 368 für die Verwendung im gesamten System negiert. Zur Erzeugung des Taktsignals ϕ4 sind die Ausgänge 367 der Taktsignale und an eine ODER-Schaltung 369 angeschlossen, deren Ausgang zur Erzeugung des Taktsignals mit Hilfe einer Zählerstufe 370 um ein Intervall verzögert wird. Das negierte Taktsignal ergibt an der Leitung 371 das Taktsignal ϕ4.
Einzelheiten der in Blockform dargestellten Verknüpfungsschaltungen
In den Fig. 21a bis 21j sind die in der Anordnung gemäß den Fig. 3 und 5 bis 20 dargestellten Verknüpfungsschaltungen, Negatoren usw. im einzelnen dargestellt. Es sei bemerkt, daß alle Negatoren mit Hilfe von Ionenimplantation hergestellte Negatoren mit Verarmungslast (ion implanted depletion load type) sind, die den Energieverbrauch auf ein Minimum verringern. Die Verknüpfungsschaltungen machen entweder von Verarmungslasten oder von geschalteten Lasten Gebrauch, oder sie sind Verknüpfungsschaltungen mit Vorladung, damit auch hier Energie gespart wird.
Der Befehlsvorrat
Die aus acht Bits bestehenden Befehlswörter im Festspeicher 24, die an den Leitungen 33 ausgelesen werden, haben das in Fig. 22 dargestellte Format; der Block 380 stellt dabei ein acht Bits R0 bis R7 enthaltendes Wort dar. Dieses Wort kann so betrachtet werden, als habe es bestimmte Felder und Teilfelder, die für verschiedene Funktionen unterschiedlich sind. Das Bit R0 bewirkt stets die Unterscheidung zwischen Verzweigung oder Aufruf (Wert "1") und Operation (Wert "0"); dies ist das Feld OP1. Der Befehlsvorrat weist vier Grundformate I, II, III und IV auf; das Feld OP1 erscheint in allen diesen Grundformaten. Das Formal I ist für Verzweigungen oder Aufrufe vorgesehen, und es enthält beim Bit R1 ein Feld CB, das der Unterscheidung zwischen Verzweigungen und Aufrufen dient, sowie in den Bits R2 bis R7 ein Feld W, das eine von sechs Bits gebildete Adresse für den Speicherplatz der Verzweigung oder des Aufrufs ist. Das Format II ist das von Befehlen mit Konstanten aus vier Bits, die im Feld C an den Bit- Stellen R4 bis R7 enthalten sind; das von drei Bits gebildete Feld OP2 an den Bitstellen R1 bis R3 definiert hier die mit der Konstante durchzuführende Operation. Das Format III wird für Bit- und RAM-Seitenoperationen angewendet, wobei das Feld B das Bit oder die Adresse darstellt, während das Feld F die Operation definiert, und das Feld OP3 die Codegruppe 0111 für Bit- oder RAM-Seitenoperationen kennzeichnet. Das Format IV dient arithmetisch oder speziellen Befehlen, die von den Feldern OP3 und A definiert werden.
In Fig. 23 ist eine Karnaugh-Tafel der allgemeinen Klassen der Befehle dargestellt. Ein aus acht Bit bestehendes Befehlswort ermöglicht 2⁸ oder 256 mögliche Kombinationen oder eindeutige Befehle. Ein Viertel dieser Befehle, nämlich die 64 im oberen linken "11"-Quadranten enthaltenen Befehle, repräsentieren 64 mögliche Aufrufoperationen. Ein weiteres Viertel, nämlich die Befehle im "10"-Quadranten, repräsentieren 64 mögliche Verzweigungsoperationen, d. h. daß jeder dieser Befehle eine Verzweigung zu einem von 64 möglichen ROM-Speicherplätzen darstellt. Der untere linke "01"- Quadrant enthält 64 Möglichkeiten für Konstantenoperationen, wobei jeder Unterquadrant dieses Quadranten 16 mögliche Konstante im 4-Bit-Konstantfeld C enthält. Der unten rechts liegende "00"-Quadrant enthält 16 mögliche Seitenadressen für lange Aufrufe oder lange Verzweigungen im Feld C des "0001"-Abschnitts, und er enthält 16 Bit- und RAM-Seitenoperationen im "0011"-Abschnitt. Alle arithmetischen und speziellen Befehle sind in den 32 möglichen Befehlen der "0010"- und "0000"-Abschnitte enthalten.
Eine genaue Beschreibung eines Befehlsvorrats befindet sich in der am Ende angefügten Tabelle. Durch Umprogrammieren des Steuerwerks und des Festspeichers sind weitere Befehlsvorräte möglich. Der in der Tabelle beschriebene Befehlsvorrat eignet sich für Rechenfunktionen.
Es sei bemerkt, daß die mnemonischen Bezeichnungen für die verschiedenen Befehle im Befehlsvorrat mit den meisten Bezeichnungen der Leitungen 147 und 61-16 bis 61-23 des Steuerwerks von Fig. 7 übereinstimmen.
Wie zu erkennen ist, hängen die Arbeitsweise des Programmzählers 36 und des Unterprogrammregisters 43 von der Betriebsart (dem Maschinenstatus) der Anordnung ab. Es sind zwei Zustände möglich, nämlich der Normalzustand und der Aufrufzustand, der einen Eintritt in ein Unterprogramm kennzeichnet. Der Maschinenstatus wird vom Zustand der Aufrufhalteschaltung 201 bestimmt, die von erfolgreichen Befehlen CALL oder RETURN (Aufruf oder Rückkehr) gesteuert wird.
Zu Beginn jedes Befehlszyklus, in dessen Verlauf sich die Anordnung im Normalbetrieb befindet, wird die im Programmzähler 36 vorhandene Wortadresse über die in Fig. 19 dargestellte Schaltung aktualisiert, damit die nächste ROM- Wortadresse erzeugt wird, die dann unbedingt im Unterprogrammregister 43 abgespeichert wird. Nach Ausführung eines erfolgreichen Befehls CALL geht die Anordnung in den Aufrufzustand über, in dem eine weitere Datenübertragung in das Unterprogrammregister 43 verhindert wird. Der Inhalt des Unterprogrammregisters 43 wird nicht an der Wortadresse des Befehls CALL, sondern an der Wortadresse des nächsten folgenden Befehls festgehalten.
Die Ausführung des Befehls "RETURN" führt die Anordnung wieder in ihren normalen Zustand zurück, und der Inhalt des Unterprogrammregisters 43 wird in den Programmzähler 36 zurückübertragen, wodurch eine Rückkehr zur richtigen Wortadresse erfolgt.
Der Programmzähler 36 wird vom Zustand der Anordnung, der durch das Signal CLATCH ausgedrückt wird, beeinflußt. Der Programmzähler erzeugt bei jedem Befehlszyklus die nächste Wortadresse, wenn sein Inhalt nicht durch die Ausführung eines erfolgreichen Befehls CALL oder eines erfolgreichen Befehls BRANCH (Verzweigung) oder RETURN geändert wird.
Der Zustand der Anordnung ändert die Funktion des ROM-Seitenpufferregisters 47. Während des Normalbetriebs dient das Register 47 als Quelle für eine neue Seiteninformation bei der Ausführung eines erfolgreichen Befehls CALL oder BRANCH. Ein erfolgreicher Befehel BRANCH bewirkt bei der Ausführung im Normalbetrieb stets ein Übertragen des Inhalts des Registers 47 in das ROM-Seitenadreßregister 46. Wenn der Inhalt des Registers 47 nicht geändert wird, erfolgen somit alle anschließenden erfolgreichen Verzweigungen innerhalb der gleichen Seite. Verzweigungen dieser Art werden Kurzverzweigungen genannt. Für eine Verzweigung zu einer anderen Seite, also für die Durchführung einer langen Verzweigung, muß der Inhalt des Registers 47 auf die gewünschte Seitenadresse geändert werden, indem ein Befehl zum Laden des ROM-Seitenregisters ausgeführt wird. Die Ausführung einer erfolgreichen Verzweigung bewirkt nicht das Übertragen der neuen Seitenadresse in das Adreßregister 46; sie stellt die Hardware so ein, daß kurze Verzweigungen innerhalb der neuen Seite ausgeführt werden.
Die Datenübertragung vom Pufferregister 47 in das Adreßregister 46 erfolgt in der gleichen Weise wie bei der Ausführung des erfolgreichen Befehls CALL. Lange Aufrufe können durch Ausführen eines Befehls zum Laden des ROM-Seitenregisters vor der Ausführung eines Befehls CALL durchgeführt werden. Das Auslassen des Befehls zum Laden des Seitenregisters würde zu einem kurzen Aufruf führen.
Nach der Ausführung entweder eines langen oder eines kurzen Aufrufs wird der Inhalt des Adreßregisters 46, der die vorherige Aufrufseitenadresse darstellt, in das Pufferregister 47 übertragen. Die Datenübertragung zwischen dem Pufferregister 47 und dem Adreßregister 46 ist gesperrt. Somit wird das Pufferregister dazu verwendet, die gewünschte Seitenadresse nach der Rückkehr aus einem Unterprogramm zu speichern. Wegen dieses Merkmals ist es nicht möglich, lange Verzweigungen auszuführen, während sich die Anordnung im Aufrufbetrieb befindet. Ebenso kann ein Unterprogramm mehr als 64 Befehle (eine volle Seite) enthalten. Es ist jedoch zulässig, die Konstanten im Pufferregister 47 zu ändern, wenn der Abrufbetrieb vorliegt, in dem ein Befehl zum Laden des ROM-Registers ausgeführt wird. Dies würde die Änderung der Rückkehrseitenadresse ermöglichen, wenn ein Unterprogramm verlassen wird. Die Ausführung eines Rückkehrbefehls RETURN bewirkt die Übertragung des Inhalts des Pufferregisters 47 in das Adreßregister 46, das Einstellen der Hardware in einen Zustand zur Durchführung kurzer Verzweigungen und die Rückkehr der Anordnung in den normalen Zustand.
Ein erfolgloser Aufrufbefehl CALL oder Verzweigungsbefehl BRANCH hat weder auf den Zustand der Anordnung noch auf den Inhalt der Register 46 und 47 Einfluß. Die in den zwei Seitenadreßregistern enthaltenen Daten bleiben unverändert. Das bedeutet, daß die Hardware zur Durchführung kurzer Operationen eingestellt wird, wenn ein kurzer Aufrufbefehl CALL oder Verzweigungsbefehl BRANCH durchgeführt werden sollte; wenn ein langer Aufrufbefehl CALL oder Verzweigungsbefehl BRANCH eingeleitet wurde, wird die Hardware zur Durchführung der langen Operation eingestellt. Außerdem ist die Ausführung eines Rückkehrbefehls RETURN in den Normalbetrieb eine "Nicht-Operation" (no-op).
Zur Ergänzung der Befehlssteuerung der ROM-Adressierungslogik ist zusätzlich zur Einschaltlöschschaltung ein externer Eingang zur Schaltungsinitialisierung enthalten. Die Schaltungsinitialisierung setzt den Zustand der Anordnung auf den Normalzustand, setzt die Seitenadressen auf Adressen zur Durchführung kurzer Verzweigungen, setzt die Seitenadresseninhalte auf das Komplement der an die vier K-Leitungen angelegten Daten und überträgt die an der K-Leitung anliegenden Daten in serieller Weise in den Programmzähler 36.
Ohne von außen angelegte Eingangssignale werden der Programmzähler 36 auf das Hexadezimalwert 00 (0) und das Seitenadreßregister 46 auf die Hexadezimaladresse F (15) eingestellt.
Hinsichtlich des Befehlsvorrat ist zu erkennen, daß der Addierer 50 zwei getrennte, gleichzeitig ablaufende Funktionen durchführen kann und drei Ausgangssignale liefert.Die zwei 4-Bit-Signale an den Eingängen 57 und 58 können addiert und miteinander verglichen werden, was ein wahres binäres Summenausgangssignal, ein Übertragausgangssignal der höchstwertigen Ziffernstelle und ein Vergleichssignal liefert, wobei dieses Vergleichssignal anzeigt, ob die zwei Binärzahlen die gleiche Größe haben, d. h. in jedem Bit übereinstimmen. Die die Gleichheit und den Übertrag kennzeichnenden Informationen können zum Einstellen von Abruf- oder Verzweigungsbedingungen verwendet werden. Die gelieferte Summe kann im Akkumulator und/oder im RAM-Y-Register gespeichert werden, oder sie braucht überhaupt nicht verwendet werden.
Zeitsteuerung der Befehlswortausführung
Die Zeitsteuerfolge der Ausführung von Befehlswörtern läßt sich aus der Bezugnahme auf Fig. 24 und 25 erkennen. In Fig. 24 ist eine Reihe von Befehlszyklen A, B, C . . . usw. zusammen mit den Taktsignalen ϕ1, ϕ2, ϕ3, ϕ4 und ϕ5 dargestellt. Es sei angenommen, daß im Befehlszyklus C der Inhalt einer Stelle im Direktzugriffspeicher 25 zum Addierer 50 übertragen und zum Akkumulator 52 abgegeben werden soll. Eine schematische Darstellung dieser Operation ist in Fig. 25 zu erkennen. Die Eingabe in den Addierer 50 wird während des Taktsignals ϕ1 des Befehlszyklus C, der als ϕ1C dargestellt ist, gültig. Das Bit aus dem Direktzugriffspeicher 25 wird bei ϕ4, ϕ1C am Transistor 106 gültig, wobei die Ausgangsleitung 32 mit dem Taktsignal ϕ2B über den Transistor 107 vorgeladen worden ist. Der Befehl an der Leitung 61-5 wird mit dem Taktsignal ϕ2B gültig, wenn die Verknüpfungsschaltung 149 im Datenwegsteuerwerk 60 freigegeben wird. Die Signale an der Leitung 146 des Steuerwerks sind nach Beendigung des Taktsignals ϕ1B gültig. Das Befehlswort an den Leitungen 33 wird während des Taktsignals ϕ2B gültig und erscheint an der Leitung R0 an der Ausgabeschaltung 253. Die Ausgabedecodierung für den Festspeicher an den Transistoren 245 und 246 wird ebenfalls beim Taktsignal ϕ2B über die Transistoren 251, 248 und die Leitung 35-1 wirksam. Im Festspeicher werden die Leitungen 240 beim Taktsignal ϕ1B vorgeladen, und sie enthalten beim Taktsignal ϕ2B gültige Daten. Die Signale an den Y-Leitungen 241 sind zur Zeit des Taktsignals ϕ2B gültig, wobei der Transistor 282 mit dem Taktsignal ϕ1B eingeschaltet worden ist. Die Leitung 281 im Y-Decodierer 27 wurde bei ϕ4 (ϕ1B) vorgeladen, und das an ihr befindliche Signal wurde während des letzten Abschnitts des Taktsignals ϕ1B gültig. Die ROM-Y-Adresse aus dem Programmzähler wurde zur Zeit des Taktsignals ϕ1B über den Transistor 271 eingegeben. Unter der Annahme, daß der Befehl das Ergebnis einer Verzweigung war, wurde der Befehl an der Leitung 163 nach Beendigung des Taktsignals ϕ2A in der Verknüpfungsschaltung 48-7 gültig. Der ROM-Verzweigungsbefehl von den Leitungen 33 wurde mit dem Taktsignal ϕ2A eingegeben, und das Zustandssignal an der Leitung 79 wurde während der letzten Hälfte des Taktsignals ϕ2A gültig, nachdem die Vorladung der Verknüpfungsschaltung 66-1 mit dem Taktsignal ϕ3A endete. Unterdessen gelangt die Verzweigungsadresse von den Leitungen 33 in den Programmzähler, der die beim Taktsignal ϕ2A gültige Verzweigungsadresse vom Ausgang 253 des Festspeichers enthielt.
Bei einem Befehl, wie er oben definiert wurde und im Befehlszyklus C ausgeführt werden soll, sind die Daten somit am Punkt 381 von Fig. 24 gültig, die RAM-Y-Adresse der Daten ist am Punkt 382 gültig, und der ROM-Befehl an den Leitungen 33 ist am Punkt 383 gültig. Die ROM- Y-Adresse dieses Worts gelangt am Punkt 384 in den Decodierer 27. Diese Adresse wird am Punkt 385 gültig. Das Zustandssignal wird für eine Verzweigung zu dieser Adresse am Punkt 386 gültig, und die Verzweigungsadresse war auch an diesem Punkt 386 am Ausgang des Festspeichers gültig.
Der MOS/LSI-Chip
Die gesamte oben beschriebene Anordnung wird in einem einzigen MOS/LSI-Chip hergestellt, der in Fig. 26 stark vergrößert dargestellt ist; in dieser Darstellung sind alle Hauptbestandteile mit den gleichen Bezugszeichen versehen, die im Blockschaltbild von Fig. 3 verwendet sind. Beim Herstellungsverfahren werden P-Kanäle mit Metall-Gate-Elektroden verwendet, und es wird für Verarmungslasten das Ionenimplantationsverfahren angewendet. Der Chip enthält mehr als 28 Anschlußflächen, so daß es möglich ist, ihn in einem Gehäuse mit mehr als 29 Anschlußstiften zu verwenden, wenn mehr Ziffernstellen oder Anzeigestellen genutzt werden sollen. Es ist zu erkennen, daß der Festspeicher, der Direktzugriffspeicher und das Steuerwerk den Hauptteil der Fläche des Chips besetzen. Der Chip hat eine Seitenlänge von etwa 5 mm (200 mils).
Die Funktionen für die Chip-Prüfung
Auf die Möglichkeit, den Chip in einer Prüfbetriebsart zu betreiben, ist bereits hingewiesen worden. Die Betriebsart wird bei der Herstellung gewöhnlich entweder vor oder nach dem Einschließen der Chips im typischen Kunststoffgehäuse mit 28 Anschlußstiften angewendet. Die Chips werden gleichzeitig in Serien von vielleicht 100 Stück gleichzeitig auf einer Siliziumscheibe mit einem Durchmesser von 7,5 cm (3 inches) hergestellt; viele Scheiben werden gleichzeitig bearbeitet. Nachdem alle Herstellungsschritte beendet sind, werden die Scheiben geritzt und in einzelne Chips nach Fig. 26 gebrochen. Die Ausbeute an einwandfreien Elementen bei diesem Vorgang liegt manchmal beträchtlich unter 100%. Es müssen Tests ausgeführt werden, um herauszufinden, welche Scheiben einwandfrei sind, welche Chips auf den Scheiben einwandfrei sind und schließlich welche fertig verpackten Elemente einwandfrei sind, da bei jedem Herstellungsschritt eine Beeinträchtigung auftreten kann. Dieses Testen kann sehr zeitraubend und teuer sein, da, um sicherzugehen, daß jeder einzelne der 8800 Transistoren einschließlich der zugehörigen Verbindungen einwandfrei ist, alle Programme des Rechners ausgeführt werden müssen. Aus diesem Grund ist die Prüfbetriebsart eingefügt worden. Der Vorgang würde darin bestehen, jedes der 1024 Befehlswörter im Festspeicher zu prüfen und dann verschiedene Befehle auszuführen, die für die Prüfung des Rests der Schaltung ausreichend sind.
Die im Prüfbetrieb verfügbaren Operationen sind folgendermaßen gestaltet:
Erstens kann eine ROM-Wortadresse seriell in den Programmzähler 36 über den K1-Anschlußstift 75-1 eingegeben werden, der zur Verknüpfungsschaltung 355 von Fig. 19 und dann über die Leitung 350 zum Programmzähler von Fig. 9 führt. Dies erfolgt unter der Steuerung durch das Signal KC am Eingang 206; wenn das Signal KC den Massewert Vss hat, dann macht das Signal an der Leitung 199 die Rückführungsschaltung über die Verknüpfungsschaltung 351 unwirksam, während es die K1-Eingabe in den Programmzähler freigibt. Somit ist in acht Befehlszyklen, also in 8×2 oder 16 Mikrosekunden eine Wortadresse vorhanden. Jedes Bit wird zur Zeit des Taktsignals ϕ1 geladen, wie es der Fall ist, wenn der Programmzähler neue Daten am Verbindungspunkt 168 annehmen kann.
Zweitens kann eine ROM-Seitenadresse parallel in das ROM- Seitenadreßregister 46 über die K1- bis K8- Leitungen 75, die Transistoren 196, die Leitungen 192 und die Verknüpfungsschaltungen 46′ von Fig. 10 geladen werden. Dieser Weg wird ebenfalls vom Signal freigegeben, das den Spannungswert -Vdd hat, und die Bits werden mit dem Taktsignal ϕ2 geladen. Da die Wortadresse mit dem Taktsignal ϕ1 seriell ankommt, während die Seitenadresse parallel mit dem Taktsignal ϕ2 ankommt, können diese Adressen zeitlich multipliziert werden, so daß zum Laden der beiden Adressen keine zusätzliche Zeit benötigt wird. Unter Beachtung der Tatsache, daß zur Erzeugung einer neuen ROM-Adresse keine vollständig neue 8-Bit-Wortadresse benötigt wird, sondern die Adresse um 1 Bit erhöht werden kann, ist zu erkennen, daß alle 1024 Speicherplätze in einer wesentlich geringeren Zeit als der Zeit von 1024×16 oder 16 000 Mikrosekunden adressiert werden können.
Drittens kann ein 8-Bit-Befehlswort aus dem Festspeicher an der definierten Adresse durch externe Steuerung von den Leitungen 33 in den Programmzähler 36 übertragen werden. Dies wird durch Freigabe der Transistoren 162 zum Laden der Signale bis zu den Verbindungspunkten 164 der Stufen 36-0 bis 36-7 ausgeführt, wie in Fig. 9 zu erkennen ist. Die Transistoren 162 werden vom Befehl an der Leitung 163 gesteuert, der von den Signalen KC und K2 in der Verknüpfungsschaltung 48-7 nach Fig. 11 erzeugt werden kann. Dies geschieht innerhalb eines Befehlszyklus.
Viertens kann der Inhalt des Programmzählers 36 über die Leitung 165 von Fig. 9 und Fig. 18, die Leitung 347 und den Segmentausgabepuffer 65-8 erneut unter der Steuerung durch das Signal an der Leitung 199 seriell ausgeschoben werden. Dies kann einen Schritt, trotzdem aber zur gleichen Zeit, vor dem Laden einer neuen ROM-Wortadresse über die Leitung K1 und die Leitung 350 von Fig. 19 geschehen.
Zum Prüfen einiger oder aller ROM-Speicherplätze werden die eben beschriebenen Schritte 1, 2, 3 und 4 in dieser Reihenfolge ausgeführt. Alle Bits in allen 1024 Speicherplätzen können durch eine in geeigneter Weise ausgelegte Prüfmaschine in weniger als etwa 20 Millisekunden überprüft werden, was wesentliche kürzer als die für einige komplizierte Berechnungen im Normalbetrieb erforderliche Zeit ist. Somit sind umfangreiche Einsparungen in der Prüfzeit möglich.
Eine weitere Prüfprozedur besteht darin, eine Wort- und Seitenadresse entsprechend den ersten und zweiten oben beschriebenen Schritten zu laden und der Anordnung dann zu ermöglichen, eine Folge von Befehlen beginnend an diesem Speicherplatz auszuführen und die Ergebnisse an den Ausgangsanschlüssen 17 oder 18 zu beobachten und/oder die letzte ROM-Ausgabe oder -Adresse aus dem Programmzähler nach einer gewissen Anzahl von Befehlszyklen zu lesen. Dies erlaubt das Prüfen ausgewählter Erhöhungen, die ausreichend sind, den einwandfreien Zustand der Gesamtanordnung zu prüfen. In einer typischen komplizierten Operation gibt es Organisationsprogramme, die möglicherweise in Hunderten von Wiederholugen immer wieder ausgeführt werden, beispielsweise das Normalisieren. Diese Programme müssen nur einmal geprüft werden. Diese Prozedur erlaubt das Überspringen von sich wiederholenden Programmen.
Es ist zu erkennen, daß das Schreiben und das Lesen von ROM-Adressen und von ROM-Inhalten natürlich durch Lesen simulierter Tastenfeldeingaben ausgeführt werden können.
Tabelle der Befehle Aufruf (CALL): 11XXXXXX
Dieser Befehl hängt vom Zustandssignal ab; wenn das Zustandssignal an der Leitung 79 den Wert "0" hat, dann wird der Befehl CALL nicht ausgeführt. Wenn das Zustandssignal den Wert "1" hat, geht die Anordnung in den Aufrufbetrieb über, was durch Setzen der Aufrufhalteschaltung 200 in den Zustand "1" angezeigt wird. Der Inhalt des Programmzählers 36 wird im Unterprogrammregister 43 abgespeichert. Die Seitenadresse wird im Pufferregister 47 gespeichert.
Der Inhalt des Pufferregisters 47 wird als Seitenadresse verwendet. Das W-Feld R2 bis R7 des Befehlsworts wird über die Transistoren 162 in den Programmzähler 36 geladen. Alle im Verlauf des Aufrufbetriebs ausgeführten Befehle üben ihre normale Funktion aus, mit Ausnahme der Befehle CALL und BRNC (Verzweigung); die Ausführung eines Befehls CALL innerhalb des Aufrufbetriebs ist nicht gültig; innerhalb eines Aufrufbetriebs ausgeführte Verzweigungen müssen innerhalb einer Seite erfolgen.
Verzweigung (BRNC): 10XXXXXX
Dieser Befehl hängt vom Zustandssignal ab. Wenn das Zustandssignal den Wert "0" hat, dann wird der Verzweigungsbefehl nicht ausgeführt. Wenn das Zustandssignal den Wert "1" hat, dann wird das W-Feld in den Programmzähler 36 geladen und der Inhalt des Pufferregisters 47 wird die neue Seitenadresse im Register 46, außer wenn der Aufrufbetrieb vorliegt. Der Verzweigungsbefehl kann (wie auch der Aufrufbefehl) auf Grund der Wirkung der Zustandslogik 66 unbedingt sein. Das Zustandssignal hat normalerweise den Wert "1", was die richtige Bedingung für eine erfolgreiche Ausführung einer Verzweigung oder eines Aufrufs ist. Wenn der der Verzweigung oder dem Aufruf unmittelbar vorangehende Befehl das Zustandssignal nicht beeinflußt, dann ist die Operation erfolgreich. Das Zustandssignal ist nur für einen Befehlszyklus gültig. Es ist daher zur Durchführung mehrfacher Prüfungen vor einer Verzweigungsoperation ungültig. Nur der dem Verzweigungsbefehl unmittelbar vorangehende Befehl bestimmt, ob die Verzweigung erfolgreich ist. Das Zustandssignal kehrt nach einem Verzweigungsbefehl immer wieder auf den Wert "1 zurück.
Laden des Y-Register mit einer Konstanten (TRCY): 0100XXXX
Das aus den Bits R4 bis R7 bestehende C-Feld des Befehlsworts wird in das Y-Register 40 übertragen. Dies erfolgt unbedingt, und weder ein Übertragungssignal noch ein Gleichheitssignal gelangen zur Zustandslogik 66.
Vergleichen des Y-Registerinhalts mit einer Konstante (YNEC): 0101XXXX
Der Inhalt des Y-Registers 40 wird mit dem C-Feld des Befehlsworts verglichen. Die Gleichheitsinformation an der Leitung 67 wird in die Zustandslogik 66 eingegeben. Bei Ungleichheit wird die Zustandslogik auf den Wert "1" eingestellt. Dieser Befehl steht nicht unter der Bedingung des Zustandssignals.
Speichern einer Konstante, Erhöhen des Y-Registerinhalts (CMIY): 0110XXXX
Der Inhalt des C-Feldes wird direkt an den von den X- und Y-Registern 73 und 40 adressierten Speicherplatz abgespeichert. Der Inhalt des Y-Registers 40 wird dann um 1 erhöht. Der Befehl steht nicht unter der Bedingung des Zustandssignals, und das Übertragsignal und das Gleichheitssignal werden nicht zur Statuslogik übertragen.
AkkumulatorinhaltKonstante (ALEC): 0111XXXX
Der Inhalt des Akkumulators 52 wird unter Anwendung der Addition im Zweierkomplement vom C-Feld des Befehlsworts subtrahiert. Die sich ergebende Übertraginformation an der Leitung 67 wird in die Zustandslogik 66 eingegeben. Wenn der Inhalt des Akkumulators kleiner oder gleich der Konstante ist, wird die Zustandslogik auf den Wert "1" gesetzt. Der Befehl ist unbedingt.
Laden des Seitenpufferregisters (LDP): 0001XXXX
In das Seitenpufferregister 47 wird die Konstante aus dem C-Feld des Befehlsworts geladen. Dies erfolgt unbedingt, und weder das Übertragssignal noch das Gleichheitssignal werden zur Zustandslogik übertragen.
Setzen eines Bits (SBIT): 001100XX
Der Inhalt des von den X- und Y-Registern 73 und 74 adressierten Speicherplatzes wird ausgewählt. Eines der vier Bits, das vom B-Feld des Befehlsworts ausgewählt wird, wird auf den Wert "1" gesetzt.
Rücksetzen eines Bits (RBIT): II1100XX
Der Inhalt des von den X- und Y-Registern 73 und 40 adressierten Speicherplatzes des Direktzugriffspeichers 25 wird ausgewählt. Eines der vier Bits, das vom B-Feld des Befehlsworts über die CKB-Logik 56 ausgewählt wird, wird auf den Wert "0" rückgesetzt.
Prüfen eines Bits (TBIT): 001110XX
Der Inhalt des von den X- und Y-Registern 73 und 40 adressierten Speicherplatzes wird ausgewählt. Eines der vier Bits, das vom B-Feld des Befehlsworts über die CKB- Logik 56 ausgewählt wird, wird im Addierer 50 geprüft. Der Wert "1" des ausgewählten Bits setzt über den Gleichheitsausgang zur Zustandslogik an der Leitung 67 die Zustandslogik auf den Wert "1".
Laden des X-Registers (LDX): 001111XX
Das X- oder RAM-Seitenadreßregister 73 wird vom B-Feld des Befehlsworts geladen. Dies erfolgt unbedingt, und weder das Übertragssignal noch das Gleichheitssignal gelangen zur Zustandslogik 66.
Speichern und Erhöhen (STIN): 00100000
Der Inhalt des Akkumulators 52 wird an dem von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatz abgespeichert. Nach Beendigung des Speichervorgangs wird der Inhalt des Y-Registers 40 um 1 erhöht. Dies erfolgt unbedingt, und die Zustandslogik wird nicht beeinflußt.
Übertragen des Speicherinhalts zum Akkumulator (TRMA): 00100001
Der Inhalt des von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatzes wird unbedingt zum Akkumulator 52 übertragen. Die Speicherdaten im Direktzugriffspeicher werden nicht verändert. Dies erfolgt unbedingt, und die Übertrag- und Gleichheitssignale gelangen nicht zur Zustandslogik.
Übertragen des Speicherinhalts zum Y-Register (TRMY): 00100010
Der Inhalt des von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatzes wird unbedingt zum Y-Register 40 übertragen. Die Speicherdaten im Direktzugriffspeicher bleiben unverändert.
Übertragen des Y-Registerinhalts zum Akkumulator (TRYA): 00100011
Der Inhalt des Y-Registers 40 wird unbedingt zum Akkumulator 52 übertragen. Der Inhalt des Y-Registers 40 bleibt unverändert.
Übertragen des Akkumulatorinhalts zum Y-Register (TRAY): 00100100
Der Inhalt des Akkumulators 52 wird unbedingt zum Y- Register 40 übertragen. Der Akkumulatorinhalt bleibt unverändert.
Speicherinhalt und Akkumulatorinhalt addieren (AMAA): 00100101
Der Inhalt des Akkumulators 52 und der Inhalt des von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatzes werden addiert, und die resultierende Summ wird im Akkumulator 52 gespeichert. Die resultierende Übertraginformation an der Leitung 67 wird in die Zustandslogik 66 eingegeben. Ein Summenwert, der größer als 15 ist, setzt die Zustandslogik auf den Wert "1". Der Inhalt des Speicherplatzes im Direktzugriffspeicher 25 bleibt unverändert.
Speicherinhalt mit 0 vergleichen (MNEO): 00100110
Der Inhalt des von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatzes wird mit 0 verglichen. Die Gleichheitsinformation an der Leitung 67 wird in die Zustandslogik übertragen. Bei Ungleichheit zwischen dem Speicherinhalt und Null wird die Zustandslogik 66 auf den Wert "1" gesetzt.
Akkumulatorinhalt vom Speicherinhalt subtrahieren (SMAA): 00100111
Der Inhalt des Akkumulators 52 wird vom Inhalt des von den X- und Y-Registern 73 und 40 adressierten RAM- Speicherplatzes unter Anwendung der Addition im Zweierkomplement subtrahiert, wobei die Differenz im Akkumulator 52 gespeichert wird. Die resultierende Übertraginformation wird in die Zustandslogik 66 eingegeben. Die Zustandslogik wird auf den Wert "1" gesetzt, wenn der Akkumulatorinhalt kleiner oder gleich dem Speicherinhalt ist.
Laden des erhöhten Speicherinhalts (INMA): 00101000
Der Inhalt des von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatzes wird um 1 erhöht und im Akkumulator 52 gespeichert. Der ursprüngliche Inhalt des Direktzugriffspeichers bleibt unverändert. Die resultierende Übertraginformation wird über die Leitung 67 in die Zustandslogik 66 eingegeben. Die Zustandslogik wird auf den Wert "1" gesetzt, wenn der Summenwert größer als 15 ist.
Akkumulatorinhalt Speicherinhalt (ALEM): 00101001
Der Inhalt des Akkumulators 52 wird vom Inhalt des von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatzes unter Anwendung der Addition im Zweierkomplement subtrahiert. Die resultierende Übertragungsinformation wird über die Leitung 67 in die Zustandslogik 66 eingegeben. Wenn die Zustandslogik den Wert "1" hat, wird angezeigt, daß der Inhalt des Akkumulators kleiner oder gleich dem Speicherinhalt ist. Die Inhalte des Speichers und des Akkumulators bleiben unverändert.
Laden des erniedrigten Speicherinhalts (DCMA): 00101010
Der Inhalt des von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatzes wird um 1 erniedrigt und in den Akkumulator 52 geladen. Der Speicherinhalt bleibt unverändert. Die resultierende Übertraginformation wird in die Zustandslogik eingegeben. Wenn der Speicherinhalt größer oder gleich dem Wert 1 ist, wird die Zustandslogik auf den Wert "0" gesetzt.
Erhöhen des Y-Registerinhalt (INY): 00101011
Der Inhalt des Y-Registers 40 wird um 1 erhöht. Die resultierende Übertraginformation wird in die Zustandslogik 66 eingegeben. Ein Summenwert von mehr als 15 setzt die Zustandslogik auf den Wert "1".
Erniedrigen des Y-Registerinhalts (DCY): 00101100
Der Inhalt des Y-Registers 40 wird um 1 erniedrigt. Die resultierende Übertraginformation wird in die Zustandslogik 66 eingegeben. Wenn Y größer oder gleich 1 ist, wird die Zustandslogik auf den Wert "1" gesetzt.
Bilden des Zweierkomplements des Akkumulatorinhalts (CIA): 00101101
Der Inhalt des Akkumulators wird unter Anwendung der Addition im Zweierkomplement von 0 subtrahiert. Das Ergebnis wird im Akkumulator 52 gespeichert. Die resultierende Übertraginformation wird in die Zustandslogik 66 eingegeben. Diese Operation ist der Komplementierung und der Erhöhung des Akkumulatorinhalts äquivalent. Wenn der Akkumulatorinhalt 0 ist, wird die Zustandslogik auf den Wert "1" gesetzt.
Austauschen des Speicherinhalts und des Akkumulatorinhalts (EXMA): 00101110
Der Inhalt des von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatzes wird mit dem Inhalt des Akkumulators 52 ausgetauscht. Das bedeutet, daß der Akkumulatorinhalt im Speicher abgespeichert wird, während der Speicherinhalt zum Akkumulator übertragen wird.
Löschen des Akkumulators (CLA): 00101111
Der Inhalt des Akkumulators 52 wird unbedingt auf 0 gesetzt.
Die Konstante 8 zum Akkumulatorinhalt addieren: (A8AA): 00000001
Die Konstante 8, die von den Bits R7 bis R4 des Befehlsworts bestimmt wird, wird zum Inhalt des Akkumulators 52 addiert. Die resultierende Übertraginformation wird in die Zustandslogik 66 eingegeben. Ein Summenwert von mehr als 15 setzt die Zustandslogik auf den Wert "1".
Vergleichen des Y-Registerinhalts mit dem Akkumulatorinhalt (YNEA): 00000010
Der Inhalt des Y-Registers 40 wird mit dem Inhalt des Akkumulators 52 verglichen. Die Gleichheitsinformation wird in die Zustandslogik 66 eingegeben. Bei Ungleichheit zwischen dem Inhalt des Y-Registers und dem Inhalt des Akkumulators wird die Zustandslogik auf den Wert "1" gesetzt. Der Wert der Zustandslogik 66-1 wird auch in die Zustandshalteschaltung 66-62 übertragen.
Speichern des Akkumulatorinhalts (STA): 00000011
Der Inhalt des Akkumulators 52 wird an dem von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatz abgespeichert. Der Akkumulatorinhalt 52 bleibt unverändert.
Speichern des Akkumulatorinhalts und Löschen des Akkumulators (STCLA): 00000100
Der Inhalt des Akkumulators 52 wird an dem von den X- und Y-Registern 73 und 40 adressierten RAM-Speicherplatz abgespeichert. Der Akkumulator 52 wird dann auf 0 rückgesetzt.
Addieren der Konstante 10 zum Akkumulatorinhalt (A10AA): 00000101
Die Konstante 10, die von den Bits R7 und R4 des Befehlsworts bestimmt wird, wird zum Inhalt des Akkumulators 52 addiert.
Addieren der Konstante 6 zum Akkumulatorgewicht (A6AA): 00000110
Die Konstante 6, die von den Bits R7 und R4 des Befehlsworts bestimmt wird, wird zum Inhalt des Akkumulators 52 addiert. Die resultierende Übertraginformation wird in die Zustandslogik 66 eingegeben. Ein Ergebniswert von mehr als 15 setzt die Zustandslogik auf den Wert "1".
Erniedrigen des Akkumulatorinhalts (DCA): 00000111
Der Inhalt des Akkumulators 52 wird um 1 erniedrigt. Die resultierende Übertraginformation wird in die Zustandslogik 66 eingegeben. Wenn der Akkumulatorinhalt größer oder gleich 1 ist, wird die Zustandslogik auf den Wert "1" gesetzt.
Erhöhen des Akkumulatorinhalts (INA): 00001110
Der Inhalt des Akkumulators 52 wird um 1 erhöht.
Komplementieren des X-Registerinhalts (COMX): 00000000
Der Inhalt des X- oder RAM-Seitenadreßregisters 73 wird komplementiert.
Laden externer Eingangsdaten (TRKA): 00001000
Daten an den vier externen K-Eingangsleitungen 75 werden in den Akkumulator 52 übertragen.
Prüfen externer Eingangsdaten (KNEO): 00001001
Daten an den externen K-Eingangsleitungen 75 werden mit 0 verglichen. Die Gleichheitsinformation wird in die Zustandslogik 66 eingegeben. Externe Daten, die nicht den Wert 0 haben, setzen die Zustandslogik auf den Wert "1".
Laden des Ausgaberegisters (LDO): 00001010
Der Inhalt des Akkumulators 52 und der Inhalt der Zustandshalteschaltung 66-2 werden zum Ausgaberegister 62 übertragen. Der Inhalt des Ausgaberegisters 62 wird in ihm selbst decodiert, damit Daten an bis zu 8 Ausgabeleitungen 17 angelegt werden; dieses Register ist ein primäres Register, das zum Ausgeben von Daten aus dem Chip verwendet wird. Der Inhalt des Y-Registers 40 wird auch um 1 erhöht.
Löschen des Ausgaberegisters (CLRO): 00001011
Der Inhalt des Ausgaberegisters 62 wird auf 0 gesetzt.
Rücksetzen der D (Y)-Ausgänge (RSTR): 00001100
Wenn der Inhalt des Y-Registers 40 einen Wert zwischen 0 und einschließlich 12 hat, dann wird einer der D-Ausgänge auf den Wert "0" rückgesetzt. Die Auswahl des D-Ausgangs wird vom decodierten Inhalt des Y-Registers 40 bestimmt. Wenn das Y-Register Werte über 12 enthält, ist der Befehl eine Nicht-Operation für den Benutzer.
Setzen der C (Y)-Ausgänge (SETR): 00001101
Wenn der Inhalt des Y-Registers 40 einen Wert zwischen 0 und einschließlich 12 hat, dann wird einer der D-Ausgänge auf den Wert "1" gesetzt. Die Auswahl des D-Ausgangs wird vom decodierten Inhalt des Y-Registers 40 bestimmt. Für Werte über 12 im Y-Register ist der Befehl eine Nicht- Operation für den Benutzer.
Rückkehr (RETN): 00001111
Nach einem Arbeiten im Aufrufbereich wird der Inhalt des Unterprogrammregisters 43 in den Programmzähler 36 übertragen. Gleichzeitig wird der Inhalt des Pufferregisters 47 in das ROM-Seitenadreßregister 46 übertragen. Diese Operation führt die Gesamtanordnung an die richtige Stelle nach der Ausführung eines Unterprogramms zurück. Wenn ein Rückkehrbefehl nicht im Aufrufbetrieb ausgeführt wird, d. h. wenn ein Unterprogramm ausgeführt wird, ist dies eine Nicht-Operation.

Claims (6)

1. In einem Halbleiter-Chip integrierte elektronische digitale Datenverarbeitungsanordnung mit einem Festspeicher (24) zum Speichern von Befehlswörtern, einer Adressiervorrichtung (27, 36, 46) zum Auswählen von Befehlswörtern im Festspeicher (24), einem Schreib/Lese-Speicher (25) zum Speichern von Daten, einer weiteren Adressiervorrichtung (27, 73, 29, 40) zum Auswählen von Speicherplätzen in dem Schreib/ Lese-Speicher (25) und zum Eingeben oder Ausgeben von Daten, einem Binäraddierer (50) mit Eingängen (57, 58) und einem Ausgang (59), einer Busvorrichtung (41, 42, 53, 34, 35, 26, 28, 54, 55, 33), die mit den Adressiervorrichtungen (27, 36, 46, 73, 29, 40), mit dem Ausgang (59) des Binäraddierers (50) über den Akkumulator (52) und das RAM-Y-Register (40) in Verbindung steht, und einem Datenwegs-Steuerwerk (60), das mit einem mit der Busvorrichtung (33) in Verbindung stehenden Eingang für den Empfang von Befehlswörtern aus dem Festspeicher (24) verbunden ist und Ausgangssteuersignale (61) zur Systemsteuerung an den Binäraddierer (50) und den Schreib/Lese-Speicher (25) abgibt, dadurch gekennzeichnet, daß mehrere getrennte Gruppen von Eingangs- und Ausgangsanschlüssen (16, 17, 18) vorgesehen sind, die zum Eingeben oder zum Ausgeben von Daten jeweils getrennt über zwischengeschaltete Vorrichtungen mit der Busvorrichtung (41, 42, 53, 54, 55, 30, 32, 33, 75) in Verbindung stehen, daß jeder von wenigstens zwei Gruppen ein eigenes Mehr-Bit-Register (65, 86) zugeordnet ist, so daß Daten in dieses eigene Register über die Busvorrichtung unter der Steuerung durch die Ausgangssteuersignale geschrieben werden können, daß die zwei Register (65, 86) an ihren zugehörigen Gruppen von Ausgangsanschlüssen (17, 18) jeweils unabhängig von der anderen Gruppe Ausgangssignale abgeben, und daß wenigstens eine der Gruppen (16) zur Dateneingabe über die Busvorrichtung (41, 42, 53, 30, 71, 75, 54, 55, 33) an den Schreib/Lese-Speicher (25) oder an den Binäraddierer (50) angeschlossen ist.
2. In einem Halbleiter-Chip integrierte elektronische digitale Datenverarbeitungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß an die Busvorrichtung (53) ein Akku-Pufferregister (62) für den Empfang von Daten aus dem Binäraddierer (50) und zur Abgabe an die Ausgangsanschlüsse (17) angeschlossen ist.
3. In einem Halbleiter-Chip integrierte elektronische digitale Datenverarbeitungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß an das Akku-Pufferregister (62) und an die Busvorrichtung (53) ein Akkumulator (52) zum Empfang von Ausgangsdaten aus dem Binäraddierer (50) und zur Abgabe an das Akku-Pufferregister (62) angeschlossen ist.
4. In einem Halbleiter-Chip integrierte elektronische digitale Datenverarbeitungsanordnung nach Anspruch 3, dadurch gekennzeichnet, daß das Akku-Pufferregister (62) mit Hilfe der Busvorrichtung (53) an die Adressiervorrichtungen (29, 40) angeschlossen ist.
5. In einem Halbleiter-Chip integrierte elektronische digitale Datenverarbeitungsanordnung nach Anspruch 4, dadurch gekennzeichnet, daß ein Datenwegsteuerwerk (60) vorgesehen ist, das den Transport der Ausgangsdaten zumindest des Schreib/Lese-Speichers (25) zu dem Akkumulator (52) steuert.
6. In einem Halbleiter-Chip integrierte elektronische digitale Datenverarbeitungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß der Festspeicher (24), der Schreib/Lese- Speicher (25), der Binäraddierer (50), das Akku-Pufferregister (62) und der Akkumulator (52) im 4-Bit-Parallelformat ausgebildet sind, und daß die Ausgangsanschlüsse (17, 18) in einem größeren Format ausgebildet sind.
DE19752551852 1974-11-19 1975-11-19 Elektronische digitale datenverarbeitungsanordnung Granted DE2551852A1 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US52524674A 1974-11-19 1974-11-19
US05/525,236 US3991305A (en) 1974-11-19 1974-11-19 Electronic calculator or digital processor chip with multiple code combinations of display and keyboard scan outputs
US05/525,237 US3989939A (en) 1974-11-19 1974-11-19 Electronic calculator or digital processor chip with combined functions for constant, keyboard and control bit
US05/525,247 US4021656A (en) 1974-11-19 1974-11-19 Data input for electronic calculator or digital processor chip
US05/525,250 US3988604A (en) 1974-11-19 1974-11-19 Electronic calculator or digital processor chip having multiple function arithmetic unit output
US05/525,238 US4021781A (en) 1974-11-19 1974-11-19 Virtual ground read-only-memory for electronic calculator or digital processor
US05/525,245 US3955181A (en) 1974-11-19 1974-11-19 Self-refreshing random access memory cell

Publications (2)

Publication Number Publication Date
DE2551852A1 DE2551852A1 (de) 1976-05-20
DE2551852C2 true DE2551852C2 (de) 1991-06-20

Family

ID=27569826

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752551852 Granted DE2551852A1 (de) 1974-11-19 1975-11-19 Elektronische digitale datenverarbeitungsanordnung

Country Status (4)

Country Link
JP (1) JPS5173856A (de)
DE (1) DE2551852A1 (de)
FR (1) FR2292286A1 (de)
NL (1) NL7513516A (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2401459A1 (fr) * 1977-08-26 1979-03-23 Cii Honeywell Bull Support d'information portatif muni d'un microprocesseur et d'une memoire morte programmable
JPS54106128A (en) * 1978-02-08 1979-08-20 Nec Corp Time-division display unit
JPS58115372A (ja) * 1981-12-29 1983-07-09 Fujitsu Ltd 半導体装置試験回路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UST843614I4 (de) * 1969-07-22
GB1401265A (en) * 1971-07-19 1975-07-16 Texas Instruments Inc Variable function programmed calculator
US3781852A (en) * 1972-11-21 1973-12-25 Bowmar Instrument Corp Calculator display circuit
DK664473A (de) * 1973-09-24 1975-05-12 Texas Instruments Inc

Also Published As

Publication number Publication date
FR2292286A1 (fr) 1976-06-18
NL7513516A (nl) 1976-05-21
DE2551852A1 (de) 1976-05-20
FR2292286B1 (de) 1983-01-21
JPS5173856A (en) 1976-06-26

Similar Documents

Publication Publication Date Title
US4021781A (en) Virtual ground read-only-memory for electronic calculator or digital processor
DE3645221C2 (de)
DE19530100C2 (de) Integrierte Dram-Schaltung mit Reihenkopierschaltung und Verfahren
US4021656A (en) Data input for electronic calculator or digital processor chip
US4037090A (en) Multiphase clocking for MOS
DE2101431B2 (de) Matrixspeicher
DE2905676A1 (de) Integrierte schaltung mit einem einzigen chip
DE1499202A1 (de) Einrichtung zum Adressieren von Speicherbereichen
US3988604A (en) Electronic calculator or digital processor chip having multiple function arithmetic unit output
DE3737958A1 (de) Anordnung zum emulieren eines mikrokontrollers unter verwendung eines muttermikrokontrollers und eines tochtermikrokontrollers, mutter-mikrokontroller bzw. tochtermikrokontroller zur verwendung in einer derartigen anordnung, integrierte schaltung zur verwendung in einem derartigen tochtermikrokontroller und mikrokontroller mit einer derartigen integrierten schaltung
DE2551852C2 (de)
DE3313335C2 (de)
DE10026782A1 (de) Zählerschaltung, Auffrischsteuerungsschaltung und Verfahren zum Auffrischen von Daten
DE1934860A1 (de) Wortorganisierter Assoziativspeicher
DE1799012C3 (de) Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschritten in einem elektronischen Rechner
DE2304681C2 (de) Elektronischer Rechner
DE1774675C3 (de) Elektronisches Rechengerat mit einer Speichermatrix
DE2362238A1 (de) Elektronische datenverarbeitungsanordnung
US4258429A (en) Multiphase clocking for MOS electronic calculator or digital processor chip
US3989939A (en) Electronic calculator or digital processor chip with combined functions for constant, keyboard and control bit
DE1774606B1 (de) Speicheranordnung zur durchfuehrung logischer und arithmetischer grundoperationen
DE2110458B2 (de) Speicheranordnung in einem datenverarbeitenden System
US3991306A (en) Electronic calculator or digital processor chip with separately controllable digit and segment outputs
DE2362237A1 (de) Elektronischer rechner
DE2265696C2 (de) Rechenanordnung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition