DE2758160A1 - Mikroprozessoranordnung und zugehoerige verzweigungssteueranordnung - Google Patents

Mikroprozessoranordnung und zugehoerige verzweigungssteueranordnung

Info

Publication number
DE2758160A1
DE2758160A1 DE19772758160 DE2758160A DE2758160A1 DE 2758160 A1 DE2758160 A1 DE 2758160A1 DE 19772758160 DE19772758160 DE 19772758160 DE 2758160 A DE2758160 A DE 2758160A DE 2758160 A1 DE2758160 A1 DE 2758160A1
Authority
DE
Germany
Prior art keywords
command
instruction
memory
branch
word
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.)
Granted
Application number
DE19772758160
Other languages
English (en)
Other versions
DE2758160C2 (de
Inventor
George Lawrence Brantingham
Stephen J Easley
Graham S Tubbs
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/767,086 external-priority patent/US4100606A/en
Priority claimed from US05/767,084 external-priority patent/US4112495A/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to DE2760416A priority Critical patent/DE2760416C2/de
Publication of DE2758160A1 publication Critical patent/DE2758160A1/de
Application granted granted Critical
Publication of DE2758160C2 publication Critical patent/DE2758160C2/de
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/20Dynamic coding, i.e. by key scanning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/125Discriminating pulses
    • H03K5/1252Suppression or limitation of noise or interference

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Executing Machine-Instructions (AREA)
  • Calculators And Similar Devices (AREA)
  • Microcomputers (AREA)

Description

  • Mikroprozessoranordnung und zugehörige
  • Verzweigung igungssteueranordnung Elektronische Rechner, bei denen alle elektronischen Hauptfunktionen auf einem einzigen integriertenHalbleiterchip vereinigt sind, sind in den folgenden USA-Patentschriften beschrieben: 3 919 532, 3 934 233, 3 931 507 und 3 988 604.
  • Die in diesen Patentschriften erläuterten Grundsätze ermöglichten eine starke Reduzierung der Kosten kleiner Rechner.
  • Weitere Anstrengungen zur Reduzierung der Kosten solcher Rechner führten zur Entwicklung eines Rechner-Chips der von einer minimalen Fläche des Halbleiter-Chips Gebrauch macht lxnd der die Operationen der Addition, der Subtraktion, der Multiplikation, der Division, der Quadrierung, der Quadratwurzelbildung, der Prozentbildung und der Speicherung durchführen konnte. Der hier zu beschreibende Chip kann in einem Taschen - oder Tischrechner eingesetzt werden, der solche Operationen durchführen kann; er kann als sehr kleiner Halbleiterchip ausgeführt werden.
  • Die Erfindung bezieht sich auf eine Verzweigungsdecodieranordnung für einen Mikroprozessor und insbesondere auf eine Verzweigungsdecodieranordnung für einen elektronischen Rechner. Es wird ein vollständiger elektronischer Rechner beschrieben, bei dem die Verzweigungsdecodieranordnung nach der Erfindung angewendet wird. Der hier zu beschreibende elektronische Rechner ist ein seriell arbeitender, wortorganisierter Rechner; die Erfindung ist jedoch nicht auf einen solchen Rechner beschränkt, sondern sie kann auch allgemein bei Mikroprozessoren angewendet werden.
  • Bisher war es beispielsweise nach der USA'Patentschrift 3 931 507 bekannt, eine einzige Befehlsverzweigungsoperation anzuwenden, bei der die ganze Verzweigungsadresse als Teil des Verzweigungsbefehlsworts enthalten ist. In diesem Fall muß das Befehlswort länger als die Verzweigungsadresse sein, was, aus noch zu erläuternden Gründen, zu einer unwirtschaftlichen Ausnutzung der Siliziumfläche des Chips führen kann. Auch die Anwendung einer relativen Adressierung beispielsweise nach der USA-Patentschrift 3 919 532 war bekannt; in diesem Fall kann eine Verzweigung jedoch nur in einem Abschnitt des Festspeichers durch Ausführung eines Verzweigungsbefehls erzielt werden. Ferner war es beispielsweise aus der USA-Patentschrift 3 988 604 bekannt, einen Programmzähler und ein Seitenadressenregister zum Adressieren eines Festspeichers anzuwenden,wobei die Adresse imProgrammzähler von einem Verzwe igungsbe fehl gesondert wird, während das Seitenadressenregister für den Festspeicher von einem getrennten Befehl geändert wurde.
  • Dieses Verfahren führt jedoch zu einer komplizierten Verzweigungsdecodierlogik.
  • Es hat sich gezeigt, daß die Anbringung der Verzweigungsadresse im Verzweigungsbefehl zu einer unwirtschaftlichen Ausnutzung der Siliziumfläche bei der Verwirklichung des Mikroprozessors oder des Rechners führen kann, weil das Befehlswort zwei oder mehr Bits länger als die Befehlswortadresse sein muß. Es sei beispielsweise ein Festspeicher betrachtet, der 512 Befehlswörter speichern kann, die einen Programmzähler mitneun Bitpositionen benutzen. Da zur Identifizierung eines Befehls als Verzweigungsbefehl und zur Ermöglichung bedingter Verzweigungen gewöhnlich zwei oder drei zusätzliche Bits notwendig sind, muß das ausgegebene Befehlswort dann beispielsweise zehn oder elf Bits aufweisen.
  • In relativ einfachen Rechnern ist Jedoch ein Befehlswort mit elf oder zwölf Bits länger als ein Befehlswort , das zum Decodieren der Gruppe möglicher Befehle notwerldig ist. Im beschriebenen Rechner hat beispielsweise das Adressenregister eine Länge von neun Bits, und das Befehlswort hat ebenfalls eine Länge von neun Bits, wobei dennoch die gesamte Gruppe von Befehlen decodierbar ist. Die Verzweignngsanordnungen, die in den USA-Patent8chriften 3 919 532 oder 3 988 604 beschrieben sind, könnten zwar mit einemRechner des hier zu beschreibenden Chips benutzt werden, doch haben diese Verzweigungsanordnungen gewisse Nachteile, die für den Fachmann ohne weiteres erkennbar sind. Beispielsweise erschweren sie das Vorsehen längerer Verzweigungen zu irgendwelchen Plätzen im Befehlsspeicher des Mikroprozessors. Außerdem können die bekannten Anordnungen zwar bedingte Verzweigungen durchführen, doch besteht die geprüfte Bedingung lediglich aus dem Zustand eines einzigen vorgewählten Flipflops.
  • Mit Hilfe der Erfindung soll daher eine Verzweigungssteueranordnung geschaffen werden, die eine wirksamere Ausnutzung der Siliziumfläche des Chips im Befehlsspeicher ermöglicht.Die zu schaffende Verzweigungssteueranordnung soll die Durchführung bedingter Verzweigungen abhängig vom Zustand eines aus mehreren Flipflops ausgewählten Flipflops gestatten0 Die zu schaffende Verzweigungssteuerlogik soll für einen Mikroprozessor oder einen elektronischen Rechner geeignet sein. Mit Hilfe der Erfindung soll ferner ein elektronischer Rechner mit einer in zwei Zyklen arbeitenden Verzweigungsanordnung geschaffen werden0 Mit Hilfe der anschliessend zu beschreibenden Erfindung wird dies erreicht In einer bevorzugten Ausführungsform wird eine Verzweigungssteueranordnung auf einem Halbleiterchip als Teil eines elektronischen Rechners geschaffen. Die Verzweigungssteueranordnung enthält eine Verzweigungslogik zum Decodieren eines aus dem Befehlsspeicher der Anordnung während eines gegebenen Zeitzyklus ausgegebenen Verzweigungsbefehls und.eine Schaltung zum Andern des Inhalts des Programmzählers, der den Befehlsspeicher entsprechend dem Befehl adressiert, der aus dem Befehlsspeicher während eines unmittelbar auf den gegebenen Zeitsteuerzyklus folgenden Zeitsteuerzyklus ausgegeben wird. Außerdem reagiert die Verzweigungssteueranordnung vorzugsweise auf mehrere Bits .m Verzweigungsbefehl in der Weise, daß die Ausführung der Verzweigung bedingt durch den Stand eines ausgewählten Kennzeichen-Flipflops durchgeführt wird, wobei das Kennzeichen-Flipflop entsprechend der Decodierung der zuvor erwEhnten mehreren Bits ausgewählt wird. Ferner ist in einer bevorzugten Ausführungsform die Anzahl der Bits in dem aus dem Befehlsspeicher ausgegebenen Befehlswort gleich der Anzahl der Bits im Programmzähler, die zur Adressierung des Befehlsspeichers benutzt werden.
  • Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigen: Fig.1 eine Darstellung eines elektronischen Taschenrechners, der die Erfindung enthalten kann, Fig.2 ein Funktionsschaltbild eines aus einem Chip bestehenden Rechners nach der Erfindung, Fig.3 ein Funktionsblockschaltbild eines aus einem Chip aufgebauten Rechners nach der Erfindung, Fig.4a und 4b Zeitsteuersignale, die vom Taktgenerator im Rechner erzeugt werden, wobei die Zeitsteuersignale in repräsentativer Form dargestellt sind, Fig.5a und 5b die Form der in den Datenspeicherregistern des Rechners gespeicherten Datenwörter , die Maskencodegruppen die in den Befehiswörtern im Festspeicher benutzt werden, sowie die Beziehung zwischen den Maskencodegruppen und den Datenwörtern.
  • Fig.6a bis 6h die Form der verschiedenen Befehlswörter, die in der Tabelle 1 beschrieben sind, Fig.7a und 7b eine aus Segmenten aufgebaute Anzeige sowie eine Möglichkeit zum Verbinden des Rechners mit dieser Anzeige, Fig.8a und 8b ein Logikschaltbild des Programmzählers der Anordnung, Fig.9 ein Logikschaltbild des Abschnitts des Befehlswortdecodierers für die Decodierung von Rückkehrbefehlen, von VollzugSbefehlen, von Abrufbefehlen und von Verzweigungsbefehlen, Fig.10 ein Logikschaltbild des Abschnitts des Befehlswortdecodierers zum Decodieren von Kennzeichenbefehlen, Fig.11 ein Logikschaltbild des Naskengeneratorabschnitts des Befehlswortdecodierers, Fig.12 ein Logikschaltbild des Abschnitts des Befehlswortdecodierers zum Decodieren der meisten Registeroperationsbefehle und einher Rechenbefehle, Fig.13 ein genaues Blockschaltbild der Register Arbis D und N, der Registereingabesteuerschaltung, des Rechenwerke und der Rechenwerk-Eingabesteuereinheit, Fig.14 ein Logikschaltungsdiagramm der bei der Ausführung des Datenspeichers des Rechners benutzten Register, Fig15 ein Logikschaltbild der Registerei ngabeeinheit, Fig.16 ein Logikschaltbild der Eingabesteuereinheit des Eingangs A des Rechenwerks, Fig.17 ein Logikschaltbild der Steuereinheit des Eingangs B des Rechenwerks, Fig.18 ein Logikschaltbild des Rechenwerks, Fig.19 ein Logikschaltbild der Befehlsregister-Steuereinheit, die Steuersignale für den Programmzähler erzeugt, Fig.20 ein Logikschaltbild eines Abschnitts der Verzweigungslogik des Rechners, der Bedingungscode-Flipflops des Verzweigungs-Flipflops, des Abruf -Flipflops und des Befehlsregisters, Fig.21 ein Logikschaltbild des Übertrag-Flipflops und eines Abschnitts der Verzweigungslogik des Rechners, Fig.22 und 23 Logikschaltbilder der Kennzeichen-Flipflops des Rechners, Fig. 24 ein Logikschaltbild der Tastenfeldpuffer, Fig.25 ein Logikschaltbild der programmierten Verkntipfungsmatrix des Tastenfeldes, Fig. 26 ein Logikschaltbild der Tastenfeld-Flipflops und der Entpr ell ogik, Fig. 27 ein Logikschaltbild des Tastenflipflops und der Programmzähler-Eingabelogik, Fig. 28, 29 Logikschaltbilder des Anzeigesystems des Rechners, Fig. 30 ein schematisches elektrisches Schaltbild einer Addierschaltung gemäß einem Teil der Erfindung, Fig.31 eine Wahrheitstabelle für die Addierschaltung von Fig.30, Fig. 32 ein vollständigeres elektrisches Schaltbild der Addierschaltung nach Fig. 30 und Fig. 33 ein Spannungs-Zeit-Diagramm von Signalen, die in der Schaltung von Fig.22 auftreten.
  • In Fig.1 ist ein elektronischer Taschenrechner dargestellt, bei dem die Merkmale der hier zu beschreibenden Erfindung angewendet werden können. Der Rechner 1 enthält ein Tastenfeld 2 und eine Anzeige 3. Re Anzeige ist in einem Ausführungsbeispiel achtstellig, und sie besteht aus einem Feld aus Leuchtdioden, einer Fluoreszenzröhre, Flussigkristall-Bauelementen oder anderen Anzeigevorrichtungen. Jede der Zeichen in der Anzeige wird vorzugsweise als ein herkömmliches segmentiertes Zeichen ausgeführt, wobei vorzugsweise fur jedes Zeichen sieben Segmente sowie ein zusätzliches Element neben jedem Zeichen zur Anzeige eines Dezimalpunkts vorgesehen sind. Das Tastenfeld 2 enthält vorzugsweise eine Gruppe von Zifferntasten (O bis 9) eine Dezimalpunkttaste (*) sowie mehrere Funktionstasten mit einer Additionstaste (+) , einer Subtraktionstaste (-), einer Divisionstaste (+ ), einer Multiplikationstaste (x), einer Quadratwurzeltaste (# ), einer Ldschtaste (C) und einer Quadratwurzeltaste (x2). Außerdem können Tasten für Speicherfunktionen, beispielsweise eine Abspeichertaste (M) und eine Speicher abruftaste (MR) vorgesehen sein.
  • Fig.2 ist ein Funktionsblockschaltbild eines auf einem Chip verwirklichten Rechners nach der Erfindung. Der hier dargestellte einzige Chip 10 ist in einem Gehäuse mit 28 Anschlußstiften untergebracht. Es sind natUrlich Verfahren bekannt, mit deren Anwendung die Anzahl der Anschlußstifte reduziert werden kann, indem beispielsweise die Leitungen zum Abtasten der Anzeige und die Leitungen zum Abtasten des Tastenfeldes kombiniert werden können, wie in der USA-Patentschrift 3 884 816 erläutert ist. Es hat sich Jedoch gezeigt, daß die Schaltungsplatte, an der der Rechner-Chip befestigt ist, vereinfacht werden kann, wenn das darauf angebrachte Leiterbahniuster keine überkreuzungspunkte aufweist. Falls überkreuzungspunkte benötigt werden, dann muß die Schaltungaplatte mit Uberbrilokungsdrähten, einer zweifach geführten Verdrahtung oder mit einer Verdrahtung in mehreren Ebenen ausgestattet werden, was die Herstellung der Schaltungsplatte schwieriger macht. Wie in Fig.2 zu erkennen ist, wird durch Verwendung eines Gehäuses mit 28 Anschlußstiften für drnChip 10 die Notwendigkeit solcher Uberkreuzungspu nkte vermieden.
  • Das Tastenfeld 2 kann unter Vermeidung von überkreuzungtpunkten in der in der USA-Patentschrift 3 911 234 angegebenen Weise ausgeführt sein.
  • In Fig. 3 ist ein Funktionsblockschaltbild eines aus einem Chip aufgebauten Rechners nach der Erfindung dargestellt, das die verschiedenen Schaltungen auf dem Chip 10 angibt.
  • Eine genaue Beschre~bung der vers:ch*denen Schaltungseinheiten erfolgt anschliessend unter Bezugnahme auf die Figuren 8 bis 29, doch sei hier eine allgemeine Funktionsbeschreibung des Grund systems im Zusammenhang mit Fig. 3 angegeben. Es sei bemerkt, daß bei dem Blockschaltbild von Fig.3 eine durch eine einzige Linie dargestellte Verbindung mehrere tatsächliche Lei terverbi ndungen rep räsentieren kann; zur Vereinfachung und Erleichterung der Darstellung kann eine einzige Leitung mehrere unterschiedliche Funktionen repräsentieren. Besonders breite Leitungen, beispielsweise die Leitung zwischen dem Fest-Speicher 30 und dem Befehlsregister 33, werden dazu benutzt, paralleb DatenUbertragungswege anzugeben, wie sie bei dem hier zu beschreibenden Ausführungsbeispiel der Erfindung angewendet werden. Die Register A bis D, M und das Rechenwerk 40 des Rechners arbeiten zwar seriell, doch ist zu erkennen, daß viele Merkmale dieses Rechners nicht auf die Anwendung paralleler oder serieller Daten-Ubertragungswege beschränkt sind.
  • Die erfindungsgemäße Rechenanordnung enthält einen Befehlswortspeicher, vorzugsweise einen als Festspeicher 30 ausgeführten Befehlswortspeicher. Der Festspeicher 30 reagiert auf eine aus neun Bits bestehende Adresse (PCO-PC8) , die in einem Programmzähler 31 gespeichert ist, und er erzeugt abgängig davon ein aus neun Bits bestehendes Befehlswort (R0-R8), das einem Befehlswortdecodierer 34 und einem Befehiswortregister 33 zugeführt wird. Der Programmzähler 31 schaltet normalerweise in einer pseudowahlfreien Weise weiter und adressiert den Festspeicher 30. Das in das Befehlsregister 33 geladene Befehlswort <1o bis I8) entspricht dem aus dem Festspeicher 30 ausgegebenen Befehlswort (Ro bis R8) mit der Ausnahme, daß Befehlswörter, die Verzweigungs-, Abruf-, Rückkehr- oder Vollzugs-Befehlen entsprechen, nicht in das Befehlsregister 33 geladen werden.
  • Anstelle des Empfangs eines Verzweigungs-, Abruf-, Rückkehr-oder Vollzugs-Befehls wird auf Grund der Wirkung der Befehlsregister-,Steuer/Verzweigungs-Logik 35 ein Nichtoperationsbefehl (NO-OP) darin geladen. Wie zu erkennen ist, arbeiten diejenigen Abschnitte des Befehlswortdecodierers 34, die Verzweigungs-, Abruf-, Vollzugs- oder Rückkehr-Befehle decodieren abhängig von dem Befehlswort Ro bis R8 aus dem Festspeicher 30, während andere Abschnitte des Befehlswortdecodierers 34 abhängig vom Befehlswort 1o bis 18 aus dem Befehlswortregister 33 arbeiten. Außerdem ist das Befehiswort, das auf einen der Adresse des Verzweigungsspeicherplatzes folgenden Verzfeigungs- oder Abrufbefehl folgt, auch daran gehindert, in das Befehlsregister 33 zu gelangen, wenn das Verzweigungs-Flipflop 36(latch) gesetzt ist.
  • Das Verzweigungsadressen-Befehlswort, das auf einen Verzweigungsbefehl folgt, wird als Verzweigungsadresse in den Programmzähler 31 geladen, wenn (1) der Verzweigungsbefehl ein unbedingter Verzweigungsbefehl ist oder (2) der Verzweigungsbefehl ein bedingter Verzweigungsbefehl ist und die Bedingung erfüllt wurde. Die Befehlsregiter-Steuer/Verzweigungs-Logik 35 prüft den Zustand eines aw ten Kennzeichen-Flipflops 38, eines Übertrag-Flipflops 37, und eines "Erst"-Flipflops 2600 (Fig. 26) oder eine Kombination ausgewählter Tastenteld-Flipflops 39, wenn ein bedingter Verzweigungsbefehl auftritt.
  • Im Abschnitt A der Tabelle 1 sind die verschiedenen Ver zweigungsbe fehle angegeben, wobei die verschiedenen Kennzeichen und Flipflops genannt sind, die die Bedingung einer Verzweigung bilden kannen. Da die Befehlswörter vorzugsweise neunstellig sind, wird der Verzweigungsadressenbefehl direkt in den Programmzähler 31 eingegeben, wenn eine Verzweigung oder einAbruf ausgeführt wird.
  • Das Verzweigungs-Flipflop wird durch Decodieren eines Verzweigungs-Befehls oder eines Abruf-Befehls gesetzt (siehe die Abschnitte A und B der Tabelle 1), und es wird dazu benutzt, die Verzweigungsadresse daran zu hindern, in das Befehlsregister 33 geladen zu werden oder von den Abschnitten des Befehlswortdecodierers 34 decodiert zu werden, die auf das Befehlswort Ro bis R8 ansprechen. Ein Abruf-Befehl ist insofern ein spezieller Typ eines unbedingten Yerzweigungsbefehls, als das nächste Befehlswort als die in den Programmzähler 31 geladene Verzweigungsadresse benutzt wird; zusätzlich wird Jedoch die Adresse, zu der der Prograamzähler 31 normalerweise weitergeschaltet worden wäre, in Unterprogrammregister 32 abgespeichert. Bei. Auftreten eines Rückkehr-Befehls wird der Inhalt des Unterprogrammregisters 32 in den Programazähler 31 unter der Steuerung durch die Befehlsregister-Steuer/Verzweigungslogik 35 geladen.
  • Der Vollzug-Befehl ist ein wichtiges Merkmal der hier zu beschreibenden Rechneranordnung; er verhindert das Fortschalten der im Programmzähler 31 gespeicherten Adresse.
  • Ferner wird der Vollzugs-Befehl nicht in das Befehlsregister 33 geladen, sondern der Inhalt des Befehlsregisters 33 wird automatisch mit einem Nichtoperations-Befehl(#O-OP) auf Null gestellt. Die Tastenflipflops 39, die eine Tastenspeichervorrichtung zum Speichern einer aus fünf Bits bestehenden Codegruppe bilden, werden aus einer programmierbaren Verknüpfungsmatrix 42(PLA) flir das Tastenfeld geladen, das Eingangssignale von der Tastenfeldabtasteinheit 42 ueber Puffer 43 und das Tastenfeld 2 decodiert, wodurch wiederum Tasteneingaben am Tastenfeld 2 decodiert werden.
  • Die Tastenflipfiops 39 speichern eine Codegruppe, die die zuletzt am Tastenfeld 2 gedrückte Taste repräsentiert.
  • Die Entprell-Logik 34 ist vorgesehen, damit eine hardwaremässige Entprellung von Tastenbetätigungen am Tastenfeld 2 erzielt wird. Die Ausgangssignale der Tastenfeldflipflops 39 können über eine Programmzähler-Eingabelogik 45 unter der Steuerung durch die Befehl sregister-Steuer/Verzweigungs Logik 35 in den Programmzähler 31 oder über einen Serienumsetzer 46 in das Rechenwerk eingegeben werden, wenn ein Befehl zur Übertragung des Inhalts des Tastenfeldflipflops zum Register A (Abschnitt G, Tabelle 1) decodiert worden ist.
  • Ein Abschnitt des im Befehlsregister 33 gespeicherten Befehlsworts wird über den Serienumsetzer 47 in die Steuereinheit 48 für den Eingang B des Rechenwerks 40 zur Erzielung ausgewählter arithmetischer Operationen mit Konstante geladen (siehe Abschnitt C, Tabelle 1).
  • Ein Datenspeicher wird von den Schieberegistern A bis D und M gebildet, die dazu benutzt werden, zehnstellige Datenwörter mit dem in Fig.5A dargestellten Format zu speichern. Für die Durchführung von Additions-oder Subtraktionsoperationen können nur die Inhalte der Register A und B in das Rechenwerk 40 (über die Eingabe steuereinheit 49 für den Eingang A und die Eingabe steuereinheit 48 für den Eingang B) eingegeben werden. Die Verbindungen der Register tV und M mit dem Eingabesteuerwerk 49 werden dazu benutzt, Daten mit dem Register A auszutauschen, wobei diese Austauschvorgänge über das Rechenwerk 4o durchgeführt werden, das dabei jedoch die Daten nicht verändert.
  • Di Registereingabeeinheiten 50A bis 50D und 50M werden dazu benutzt, Rückfuhrungswege sowie Datenübertragungs/ Austauschwege zu erzeugen. Die Eingabeeinheit 50A empfängt vorzugsweise die Ausgangssignale des Rechenwerks 40, so daß dac Register A vorzugsweise das einzige Register ist, aus dem das Ausgangssignal des Rechenwerks 40 direkt geliefert werden kann Im bevorzugten Ausführungsbeispiel des Rechners können auf diese Weise nur die Inhalte der Register A und B direkt in das Rechenwerk 40 zur Durchführung von arithmetischen Opekationen eingegeben werden und die Ergebnisse der arithmetischen Operationen können nur direkt zum Register A zurückgegeben werden. Die Inhalte der weiteren Register C, D und M können nur bearbeitet werden, wenn die Inhalte der Register A oder B in die Register A oder B eingegeben sind. Der Inhalt des Registers C kann in das Register A eingegeben werden oder der Inhalt des Registers A kann in das Register C eingegeben werden; die Inhalte der Register A und C können auch ausgetauscht werden. In der gleichen Weise kann der Inhalt des Registers 3 in das Register C oder D eingegeben werden, und die Inhalte dieser beiden Register können vertauscht werden. Auah der Inhalt des Registers M kann in das Register A eingegeben oder mit dessen Inhalt vertauscht werden. Diese Elnschränkungen bezüglich der Eingabe der Inhalte der. Register A bis D und M in das Rechenwerk oder der Vorgänge zur Übertragung von Daten zwischen denRegisterntragen zwar dazu bei, die Anzahl der zur DurchfUhrung von arithmetischen Operationen benötigten Befehle zu erhöhen, doch hat sich gezeigt, daß dur (1) Einschränkungen der Hardware-Verbindung zwischen den verschiedenen Registern und dem Rechenwerk und (2) Einschränkungen der Anzahl der verschiedenen Befehlstypen, die dann decodiert werden müssen,mehr an Siliziumfläche auf dem Chip gespart werden kann, als für das Vorsehen eigener Befehle im Festspeicher 30 zusätzlich benötigt wird. Diese besonderen Befehle treten beispielsweiæ auf, da vor dem Bearbeiten des Inhalts des Registers D im Rechenwerk der Inhalt des Registers D zunächst in das Register B eingegeben oder mit dessen Inhalt getauscht werden muß, wodurch ein zusätzlicher Registerbefehl vor einem arithmetischen Befehl eingefügt werden muß.
  • Bei einem Rechner, der jedoch hauptsächlich einfache arithietische Funktionen ausführt, führt dieses Verfahren zu Einsparungen der Siliziumfläche, die zur Verwirklichung des Rechner-Chips benötigt wird.
  • Der Inhalt des Registers wird über die Anzeigelogik 52, die den Inhalt des Registers A zur Erregung entsprechender Segmente der Anzeige 3 decodiert, zu dieser Anzeige 3 ausgegeben.
  • Die Zeitsteueruna der Rechneranordnuna In den Figuren 4a und 4b sind die Zeitsteuersignale dargestellt, die von dem auf den Chip 10 angebrachten Taktgenerator 51 erzeugt werden. Der Oszillator dieses Taktgenerators schwingt vorzugsweise mit einer Frequenz im Bereich von 150 bis 333 kHz mit einer Nennfrequenz von 200 kHz. Wie in Fig.4a dargestellt ist, sind zwei Haupttaktphasen (#1 und p2) und zwei Vorladetaktphasen (p) und «4) vorgesehen. Die Taktphase #3 hat während der ersten Hälfte der Taktphase ~: einen niedrigen Wert, und sie dient für diese als Vorladetaktphase. Die Taktphase #4 hat während der ersten Hälfte der Taktphase p2 einen niedrigen Wert, und sie dient für diese als Vorladetaktphase. Die Bit-Zeitsignale BTO bis BT3 bilden Jeweils eine Zeitperiode, die gleich den Takt phasen #1 tnd #2 ist, was gleich der Zeitperiode zum Takten eines Datenbits in den Rechner ist. Vier Bit- Zeitsignale BTO bis BT3 bilden die Zeitperiode, die zum Takten einer Datenstelle (4 Bit) erforderlich ist; sie bilden somit eine Stellenzeitperiode. Die Stellenzeitsignale DTO bis DT9, von denen jedes eine Zeitperiode zum Takten einer Stelle (entweder ii BCD-Code oder im Hexadezimal.Code) in den Rechner bildet, bilden zusammen die Zeitperiode zum Eintakten aller zehn Stellen der Datenwörter. Vorstellen-Zeitsignale DTOE bisDr9E entsprechen den Stellenzeitsignalen DTO bis DT9, jedoch werden sie um zwei Bit Zeitporleden früher erzeugt.
  • 10 Stellenzeitperioden (DTO bis DT9) sind ein Befthlszyklus Bit einer Periodendauer von 640 po bei der Nenntaktfrequenz von 200 kHz. Aufeinanderfolgende Befehlszyklen werden als Zustandszeitperioden A bis G und P (STA bis STG und STP) bezeichnet, da die Segmente A bis G und P in der Anzeige im Verlauf der während der Anzeigeoperation auftretenden Zustandszeitperioden A bis G und P wiederholt eingeschaltet werden. Beta-Zeitperioden BO bis ß3 entsprechen den Bitzeitperioden BTO bis BT3, jedoch sind sie negiert und um die Periodendauer von drei Vorladetaktzyklen p3 verkürzt.
  • Bei dem hier zu beschreibenden Rechner wird von einer mit Viertaktphasen arbeitenden MOS-Logik Gebrauch gemacht, bei der der Bedarf für die meisten Energieversorgungsleitungen auf dem Chip beseitigt wird, während es jedoch erforderlich ist, die Vorladezeiten zum Eliminierenmöglicher Zeitbedingungszustände sorgfältig auszuwählen Für getaktete digitale Verkntipfungsglieder, die in Serie geschaltet sind, sollte die Schaltspannung invertierend sein, und ein mit der Taktphase #3 vorgeladenes Verknüpfungsglied sollte ein mit der Taktphase #4 vcrgeladenes Verknüpfungsglied ansteuern, während umgekehrt ein mit der Taktphase #4 vorgeladenes Verknüpfungsglied ein mit der Taktphase #3 vorgeladenes Verknüpfungsglied ansteuern sollte .Verkknüpfungsglieder mit der gleichen Vorladephase können jedoch in Serie geschaltet werden, wenn ein statischer Negator dazwischengefügt ist. Bei der Darstellung der Logikschaltbilder des Chips 10 sind die getakteten Verknüpfungsglieder jeweils mit der Zahl 3 oder der Zahl 4 angegeben, damit die Vorladetaktphase (#3 oder p4) angezeigt wird, mit der das bestimmte Verknüpfungsglied eingeschaltet wird. Statische Verknüpfungsglieder sind mit dem Buchstaben rIS, angegeben. Die Ausgangssignale der Verkrtlpfungsglieder sind mit einem Index versehen, der anzeigt mit welcherTaktphase (#3 oder ~4) das Signal eingeschaltet wurde. Während zur Einsparung der Siliziumfläche auf dem Chip und zur Reduzierung des Energieverbrauchs diese Vorladelogik angewendet wird, hängen die Merkmale des beschriebenen Rechners nicht von der Anwendung einer solchen Logik ab.
  • Unter Berücksichtigung der oben erwähnten Vereinbarungen zeigen die Bitzeitsignale BT03, BTl3 usw. an, daß das Bitzeitsignal den angegebenen Wert »1" oder "O" hat, und daß das Signal von einer Verknilpfungsschaltung erzeugt wurde, die mit der Vorladetaktphase #3 eingeschaltet wurde.
  • In den genauen Logikschaltbildern der Figuren 8 bis 29 sind auch einige Zeitsteuersignale enthalten, die zuvor nicht bechrieben wurden; beispielsweise das Zeitateuersignal 923, das das Ziffernzeitsignal 9 und das Bitzeitsignal 2 aus einer mit der Vorladetaktphase p3 eingeschalteten Verknüpfungsschaltung anzeigt. Die gleiche Vereinbarung wird auch bei anderen Zeitsteuersignalen mit drei Ziffern angewendet.
  • Der Befehlssatz Die Tabelle 1 gibt die Befehle an, die zur Steuerung des Betriebs des Rechners im Festspeicher 30 programmiert sind.
  • Ein Satz von Befehlswörtern, die im Festspeicher 30 zur Ausführung dieses Rechners speicherbar sind, sind in der Tabelle II angegeben. Es ist zu erkennen, daß die Tabelle 1 zur Beschreibung verschiedener Befehlsworttypen in die Abschnitte A bis G unterteilt ist. Jeder Befehlsworttyp bezieht sich auf einen in den Figuren 6a bis 6h angegebenen Typ, in denen das jeweilige Format des Befehlstyps dargestellt ist.
  • Verzweigungsbefehle im Abschnitt A zeigen an, ob die Verzweigung unter einer Bedingung erfolgt; falls eine bedingte Verzweigung vorliegt, wird angegeben, welches Kennzeichen oder weiches Flipflop die Verzweigungsbedingung angibt.
  • Das Statusbit 5 wird benutzt, um anzuzeigen, ob bedingte Verzweigungen abhängig davon auszuführen sind, ob das ausgewählte Kennzeichen oder Flipflop gesetzt oder rückgesetzt worden ist. Das unmittelbar auf einen Verzweigungsbefehl oder einen Abrufbefehl folgende Befehlswort gibt die Adresse an, die in den Befehlszähler 31 einzugeben ist.
  • is sei bemerkt, daß ein Befehlswort eine Länge von neun Bits hat und daß die Länge des Programmzählers ebenfalls neun Bitsbeträgt. Üblicherweise war die Verzweigungsadresse ein Teil des Verzweigungsbefehls, was typischerweise Zwangsläufig dazu führte, daß das Befehlswort länger als die in denProgrammzähler 31 geladene Adresse war. Es hat sirh jedoch gezeigt, daß die Siliziumfläche dez Chips wirksamer ausgenutzt werden kann, wenn das Befehiswort auf die gleiche Länge wie die Programmzähleradresse gekürzt wird. Dies kann dadurch erreicht werden, daß eine Verzweigung mit der Dauer von zwei Befehlszyklen angewendet wird, wobei das erste Befehlswort ein Verzweigungsbefehl ist, während das zweite Befehlswort eine Verzweigungsadresse ist. Dies ist ein wichtiges Merkmal des hier zu beschreibenden Rechners, das zur Reduzierung der Siliziumfläche beiträgt, die zur Verwirklichung des Rechnerchips benutzt wird.
  • Die Formate der Unterprogramm- und Vollzugs-Befehle, deren Funktionen zuvor beschrieben-worden sind, sind im Abschnitt B der Tabelle 1 angegeben.
  • Die arithmetischen Befehle des Abschnitts C der Tabelle 1 sind auf Operationen unter Einbeziehung des Registers A und eine Konstante oder auf Operationen unter Einbeziehung des Registers A und des Registers B beschränkt. Wie zuvor erörtert wurde,besteht ein wichtiges Merkmal der Erfindung darin, die gesamte, zur Verwirklichung eines elektronischen Rechners benötigte Siliziumfläche auf dem Chip zu reduzieren.
  • Die Masken, die fUr die arithmetischen Befehle erzeugt werden können, sind in Fig.5b angegeben. Die Abschnitte D bis G der Tabelle 1 enthalten die Befehle zur Durchführung von Verschiebevorgängen des Inhalts des Registers A, zum Austausch von Inhalten der verschiedenen Register untereinander, zum Setzen und zum Rücksetzen ausgewählter Kennzeichen und zum Eingeben der Inhalte der Tastenflipflops 39 in das Register A.
  • Das Datenwortformat und die zugehörige Maske In Fig.5a ist das Format der in den Registern A bis D und M gespeicherten Datenwörter dargestellt. Wie zuvor erwähnt wurde, besteht jedes Datenwort aus zehn Stellen in serieller Form, und jede Stelle besteht aus vier seriellen Bits. Ein vollständiges Datenwort enthält also 4y (iOx4) Bits. Mit dem Stellenzeitsignal DTO werden die Datenwörter in den Registern A bis D und M gespeichert, wie in Fig.5a dargestellt ist. Das bedeutet, daß die niedrigstwertige Stelle Do in dem Abschnitt der Register A bis D und M abgespeichert wird, der zur Eingabe in die Eingabesteuereinheit 49 oder in die Eingabe steuere inheit 48 oder zumZurückführen über die Eingabelogikeinheiten SOB bis 50D und SOM bereit ist, je nachdem, was gerade erforderlich ist. Die höchstwertige Stelle D9 speichert eine hexadezimale Codegruppe, die die Position des Dezimalpunkts anzeigt. Die nächsthöchstwertige Stelle D8 enthält die Überlaufstelle für überträgt außerhalb des normalen achtstelligen Feldes. Die Stellenpositrnnen D7 bis Do enthalten acht Stellen der binär codierten Dezimaldaten.
  • In Fig.5b sind Maskencodegruppen dargestellt, die in die arithmetischen Befehlawörter im Festspeicher 30 eingefügt werden können.Der Satz der Befehlswörter, der von Masken, codegruppen Gebrauch macht, ist im Abschnitt C der Tabelle 1 angegeben. Die vom Befehlsdecodierer 34 erzeugten Masken zeigen der B-Eingab.steuereinheit 48 an, (1) welche Stellen des zeflitelligen Datenworts zur Addition oder zur Subtraktion von entsprechenden Stellen des Inhalts des Registers A aus dem Register B in das Rechenwerk 40 durchzugeben sind, oder (2) welche Stellenden Inhalts des Registers A zum Ausgangssignal des Serienumsetzers 47 während einer Konstanten- Addition addiert werden sollen.Wie in Fig.5bzu erkennen ist, sind fünf Masken mit den Codegruppen 000 bis 011 und 111 vorgesehen, und sie sind jeweils einem unterhalb der Darstellung eines zehnstelligen Datenworts angegebenen Rechteck zugeordnet. Den von dem Rechteck, das einer bestimmten Maske zugeordnet ist, umschlossenan Stellen wird von der Maskendecodierlogik im fehlswortdecodierer 34 erlaubt, einer arithmetischen Operation zum Rechenwerk 4o zu gelangen.
  • Wie im Zusammenhang mit der genauen Erörterung der Maskenlogik zu erkennen sein wird, haben die Maskencodegruppen zur Folge, daß die B-Eingabesteuereinheit 48 in zeitlich gesteuerter Beziehung mit den Daten arbeitet, die vom Register A über die A-Eingabesteuereinheit 49 in das Rechenwerk gelangen.
  • Wie aus Fig. Sb zu erkennen ist, sind drei mögliche Maskencodegruppen vorgesehen, die nicht definiert sind , nämlich die Codegruppen 1001 101 und 110. Die Maskencodegruppe 110 erzeugt eine Maske für dleniedrlgstwertige Stelle, jedoch kann sie nur zusammen mit einer Operation zur Eingabe des Standes eines Tastenflipflops in das Register A benutzt werden (siehe Abschnitt G der Tabelle 1). Die Maskencodegruppen 101 und 110 erzeugen überhaupt keine Maske durch die B-Eingabesteuereinheit 48, sondern sie sind für die Decodierung der Gruppe von Kennzeichenoperationsbefehlen, bzw. von Registeroperationsbefehlen reserviert.
  • Die Anzeige In Fige7a sind die zehn Dezimalziffern O bis 9 dargestellt, die mit einer 7-Segment-Anzeige zusammen mit einem als Dezimalpunkt benutzten achten Segment gemäß Fig.7b angezeigt werden können. Nach Fig.7b sind die Zeichensegmente mit den Buchstaben A bis G und der Dezimalpunkt mit P angegeben. Für jede Zeichenstelle ist eine gemeinsame Katode 9 für die in in Fig.7b dargestellten acht Segmente vorgesehen. Die acht Segmente A bis G und P für jede Zeichenstelle sind über entsprechende Leiter SA bis sG und SP miteinander verbunden.
  • Der Chip 10 macht von einer Segmentabtastung Gebrauch, wie sie in der USA-Patentanmeldung SN 565 489 vom 7.April 1975 beschrieben ist. Dabei werden die Segmente nacheinander abgetastet, und die Stellenkatoden werden wahlweise im Zusammenhang mit der Abtastung der Segmentelektroden zur Bildung der Ziffern O biß 9 und eines Dezimalpunkts abgetastet. Die Anwendung dieses Segmentabtastverfahrens erübrigt sich die Verwendung der bisher eingesetzten Anzeigetreiberschaltungen. Der Chip 10 kann auf diese Weise direkt mit der Anzeige 11 verbunden werden, wenn die Anzeige aus einem Feld aus Leuchtdioden besteht.
  • Beschreibung der Logikschaltbilder Die verschiedenen Teile der Anordnung von Fig.3 werden nun im Zusammenhang mit den Figuren 8 bis 12 und 14 bis 29 beschrieben, in denen die Einzelheiten der auf dem Chip 10 zur Bildung der im Blockschaltbild von Fig.3 angegebenen 5 chaltungseinheiten benutzten Logikschaltungen angegeben sind.In der folgenden Beschreibung wird auf Signale Bezug genommen, die an vielen Stellen auf dem Chip 10 zur Verfügung stehen. Es sei daran erinnert, daß der digitale Signalwert ~0" einer negativen Spannung, nämlich der Spannung VDD, entspricht, während der digitale Signalwert ~1" der Spannung mit dem Wert OV, d.h. der Spannung Vss, entspricht. Ferner sei daran erinnert, daß die in denFiguren wiedergegebenen P-Kanal-MOS-Transistoren leitend sind, wenn an ihren Gate-Elektroden der digitale Signalwert "O", d .h. eine negative Spannung, anliegt. Wenn ein digitales Signal, auf das Bezug genommen wird, keinen Querstrich über dem Signalnamen hat, <1ann ist das Signal als ~wahr" zu interpretieren; das bedeutet, daß der Binärwert ~1" die Anwesenheit des Signals (VsS) anzeigt, während der Binärwert "O" das Fehlen des Signals (VDD) anzeigt. Signalnamen, über denen ein Querstrich angebracht ist, geben eine ~falsche" Logik an; das bedeutet, daß der Binärwert "O" (VDD) die Anwesenheit des Signals angibt, während der Binärwert ~1" (Vss) anzeigt, daß das Signal nicht vorhanden ist. Ferner sei daran erinnert, daß die Zahl 3 in einem getakteten Verknüpfungsglied anzeigt, daß als Vorladephase die Taktphase #3 benutzt wird, während die Zahl 4 im getakteten Verknüpfungsglied anzeigt, daß als Vorladephase die Taktphase #4 benutzt wird. Der Buchstabe 5 im Verknüpfungsglied zeigt an,daß dieses Verknüpfungsglied statisch betätigt wird.
  • In den folgenden Zeichnungen werden drei- oder vierstellige Zahlen zur Bezeichnung der dargestellten digitalen Schaltungselemente benutztç Die erste Stelle der dreistelligen Zahl und die ersten zwei Stellen einer vierstelligen Zahl geben die spezielle Figur an, in der das Schaltungselement dargestellt ist und in deren Zusammenhang es beschrieben wird.
  • Für solche mit Zahlen versehenen Bauelemente wird in der folgenden Beschreibung nicht besonders auf die Figur Bezug genommen, in der das Bauelement dargestellt ist.
  • Der Programmzähler In den Figuren 8a und 8b ist ein Logikschaltbild des Programmzählers 31 dargestellt. Der Programmzähler 31 enthält ein neunstufiges Schieberegister mit den Stufen 800 bis 808, die jeweils mehrere UND-Glieder (800a bis 800e) enthalten, deren Ausgang an ein mit der Vorladetaktphase #3 getaktetes NOR-Glied angeschlossen sind. Der Ausgang des NOR-Glieds ist mit einem Negator mit einer Vorladung durch die Taktphase p4 angeschlonsen. Eines der UND-Glieder (beispielsweise das UND-Glied 800a) arbeitet abhängig vom Ausgangssignal des Negators und abhängig von einem " HOLS'-Steuersignale Das UND-Glied 800b arbeitet abhanig vom Steuersignal "KTPC" (Tastenfeldflip£lop zum Programmzähler) und abhängig von einem Ausgangssignal des T tenfeldfli flops in diesem Fall des Tastenfeldflipflops KL16. Das UND-Glied 800c arbeitet abhängig vom Ausgangssignal der Rückkopplungslogik 809 und von einem Steuersignal INCPC VProgrammzähler Fortschalten). Das UND-Glied 800d arbeitet abhängig vom Ausgangssignal des Festspeichers 30 und vom Steuersignal RTPC (Festspeicher zum Programmzähler). Schließlich arbeitet das UND-Glied 800e abhängig vom Ausgangssignal eines Unterprogrammregisters 32 und von einem Steuersignal SRTPC (Unterprogramm zum Programmzähler ). Jedes der UND-Glieder in den anderen Stufen 801 bis SOb stimmt mit den zuvor beschriebenen UND-Gliedern überein mit der Ausnahme)(1) daß das Eingangssignal des der Fortschaltung dienenden UND-Glieds (beispielsweise 801c vom Ausgang der vorangehenden Stufe abgeleitet wird , und (2) daß nur ausge ahlte Stufenausgangssignale vom Tastenfeldflipflop empfangen. Aus diesem Grund sind zum UND-Glied 800b äquivalente UND-Glieder nicht in allen Stufen vorgesehen. Die Rückkopplungslogik 809 arbeitet abhängig vom Ausgangssignal der Stufen 804 und 808, und sie ergibt eine Antivalenzfunktion; somit erfolgt jedes Yortschalten der Adresse im Programmzähler in einer pseudcwahlfreien Art und Weise. In der Tabelle II sind die Befehlswörter in logischer Reihenfolge angegeben, so daß die pseudowahlfreie Zählung, die vom Programmzahler 31 erzeugt wird, dargestellt wird. Für den Fachmann ist erkennbar, daß der Programmzähler 31, der neun Stufen enthält, in pseudobeliebiger Art und Weise durch 511 der 512 möglichen Zustände zählt.Das "He9lD" -Signal wird dazu benutzt, die gerade im Programmzähler 31 enthaltene Adresse festzuhalten, während das Signal INCPC zu einer pseudobeliebigen FortschaXng der Zahl im Programmzähler führt.
  • Wenn an keiner drr Leitungen HOLZ, KTPC, INCPC, RTPC oder SRTPC ein Signal vorhanden ist, wird in den Programmzähler 31 automatisch der Wert ~1" geladen. Die Ausgangssignale der verschiedenen Programmzählerstufen PCO bis PC8 werden dem Festspeicher 30 und einem Eingang des Unterprogrammregisters 32 zugeführt.
  • Das Unterprogrammregister 32 bildet einen 9-Bit-Adressenspeicher mitFlipilçschalturv 810 bis 818. Jede Flipflopschaltung des Unterprogrammregisters arbeitet abhängig vom Ausgangssignal des Programmzählers 31 in der Weise, daß der Inhalt der Eltfbpschalturgabhängig von einem NPSCR-Signal geladen wird und daß die darin gespeicherte Adresse abhängig von einem NPSCR-Signal festgehalten wird.
  • Der BefeDlsspeicher Der Befehlsspeicher ist vorzugsweise als ein 51 2-Bit-Festspeicher 30 ausgeführt. Der Festspeicher 30, der in diesem Rechner benutzt wird, ist im einzelnen nicht dargestellt; er reagiert auf die vom ProgrammzKhler 31 gelieferte Adresse (PCO bis PC8) und er ist vorzugsweise ein solcher Festspeicher, wie er in der USA-Patentschrift 3 934 233 beschrieben ist. Die Verwendung eines solchen Festspeichers ermöglicht eine beträchtliche Reduzierung seiner Abmessungen im Vergleich zu bisher benutzten Festspeichern, bei denen für fünf oder mehr P-Diffusionen eine Masseleitung benutzt wurde. Der Festspeicher 30 kann mit Befehlswörtern zur Verwirklichung eines elektronischen Rechners programmiert werden.
  • Der Befehlswortdecodierer In Fig.9 ist ein Teil der Decodierlogik dargestellt, die zum Decodieren der Rückkehr-, Vollzugs-, Abruf-und Verzweigungsbefehle(RETURN , DONE, CALL, BRANCH) benutzt wird, Das NAND-Glied 900 ist so angeordnet, daß es den Rückkehr-Befehl decodiert, während das NAND-Glied 501 den Vollzugs-Befehl decodiert. Das NAND-Glied 902 decodiert den Abruf-Befehl, und das NAND-Glied 903 decodiert Verzweigungs-Befehle. Die NAND-Glieder 900 bis 903 reagieren also auf das Befehiswort aus dem Festspeicher 30 und auf das Signal #. Das Signal ; wird von der Verzweigungsflipflopschaltung 20 geliefert, und es zeigt an, daß die auf einen Verzweigungs-Befehl folgende Adresse anschliessend aus dem Festspeicher ausgegeben wird; das Signal m macht also die NAND-Glieder 900 bis 903 unwirksam, so daß sie die Verzweigungsadresse nicht decodieren. Die NAND-Glieder 900 bis 903 arbeiten abhängig vom Befehlswort aus dem Festspeicher 30, und nicht abhängig vomBofehlswort im Befehlsregister 33 (das kein Verzweigungs-, Abruf-, Rückkehr- oder Vollzugsbefehl sein kann). Die NAND-Glieder 900 bis 903 bilden also einen Befehlsdecodierer zum Decodieren der Befehiswörter aus demFestspeicher 30.
  • In Fig.10 sind mehrere NAND-Glieder 1000 bis 1008 dargestellt, die decodieren, welches Kennzeichen-Flipflop 38 durch eine Kennzeichenoperation adressiert ist. Da die NAND-Glieder 1000 bis 1008 nhhängig von Befehiswörtern aus dem R?fehlsregister 33 arbeiten, das nicht mit einem Verzweigungs-Befehl oder einem Verzweigungsadressen-Befehl geladen wird, brauchen sie die Bits 1o oder 11 eines Befehlsworts nicht decodieren.
  • Außerdem reagieren die NAND-Glieder 1000 bis 1004 und 1007 nicht auf das Bit I5, das eine Setz- oder Rücksetz-! lnktion anzeigt, da die Kennzeichenflipflops 2200 bis 2205 auf das Bit 15 reagieren.
  • Der Befehlsdecodierer 34 enthält einen Maskengenerator zur Steuerung der über die B-Eingabesteuereinheit 48 in das Rechenwerk 40 eingegebenen Stellen, wie oben beschrieben wurde. Die UND-Glieder 1100 bis 1104 decodieren in den aus dem Befehlsregister 33 ausgegebenen arithmetischen Befehlswörtern die Masken für die niedrigstwertige Stelle (LSD), für die höchstwertige Stelle (MSD), für den Uberlauf (OVF), für den Dezimalpunkt (DPT) und für die Mantisse (MANT).
  • Die verschiedenen arithmetischen Befehle sind im Abschnitt C der Tabelle 1 angegeben, und die verschiedenen Masken sind in Fig.5b angegeben. Das UND-Glied 1100 arbeitet nicht nur abhängig von den Bits des Befehlsworts, die eine LSD-Maske bilden, sondern auch abhängig vom Ausgangssignal eines ODER-Glieds 1105. Das ODER-Glied 1105 arbeitet abhängig von den Bits 15 bis I8 des Befehlsmnsrts, und es macht die LSD-Maske ungültig, wenn ein Nichtoperationsbefehl auftritt. Ein Nichtoperationsbefehl ist als arithmetische Operation definiert, bei der die Konstante o zum Register A addiert wird (Abschnitt C der Tabelle 1); diese Addition wird jedoch nicht ausgeführt, sondern die Datenwörter laufen lediglich um. Die LSD-Maske wird in diesem Zeitpunkt ungültig gemacht, so daß die Addition nicht ausgeführt wird. Die Durchführung der Addition würde natürlich d Zahl im Register A nicht verändern;jedoch könnte auf Grund der Addition das geändert werden, was zuvor in das Übertragflipflop 37 als Ergebnis rrüherer arithmetischer Operationen geladen worden ist. Damit also ein Nichtoperationsbefehl ein wahrer Nichtoperationsbefehl ist, darf das Übertragflipflop 37nicht geändert werden.
  • Folglich wird die LSD-Maske für diesen speziellen Befehl nicht erzeugt, was der Grund für die Decodierung der 15 bis I6-Bits im ODER-Glied 1105 ist. Die Ausgangssignale der NAND-Glieder 1100 bis 1104 werden einem NOR-Glied 1106 zugeführt, dessen Ausgangssignal über Ubertragungsglieder geliefert wird, die von den Signalen ßO und ß3 gesteuert werden. Das Ausgangssignal des vom Signal ß3 gesteuerten Übertragungsglieds wird drei Negatoren 1107 bis 1109 zugeführt, damit die Signale MASK34, #, MASK34, MASKE3 und MASKE4 erzeugt werden.Die erste Zahl gibt dabei die Bitzeitperiode anzug di zweite Zahl zeigt die Vorladezeitperiode des speziellen Maskensignals an. Die UND-Glieder 1100 bis 1104 arbeiten abhängig von den Signalen DTOE, DT7E, DT8E, DT9E und m zur Erzeugung der entsprechenden Maske an der entsprechenden Stellenzeitperiode gemäß dem in Fig.5b angegebenen Maskenschema.
  • In Fig.12 ist der Abschnitt des Befehlswortdecodierers 34 dargestellt,der zum Decodieren der meisten Registeroperationsbefehle (Abschnitt E, Tabelle 1) und einiger arithmetischer Befehle (Abschnitt C, Tabelle 1) benutzt wird. Die NAND-Glieder 1200 bis 1204 decodieren das Befehlswort im Befehlsregister 33, und sie erzeugen die Signale BD, BC, AB, CA bzw. MA. Das Signal BD gibt an, daß entweder ein Übertragungsbefehl zum Übertragen des Inhalts des Registers B in das Register D (B+D) oder ein Austauschbefehl zum Austauschen der Inhalte dieser Register (B/D) decodiert worden ist. Die gleiche Vereinbarung gilt auch für die Signale BC,AB, CA und MA. Wie zu erkennen ist,gibt das Bit I5 an, ob an der Eingabelogik SOB und der Eingabelogik SOM zu den Registern B und D und am Eingang des Rechenwerks 40 an der A-Eingabesteuereinheit 49 eine Austausch- oder Übertragungsoperation decodiert worden ist. Das zusammengesetzte Verknüpfungsglied 1205 erzeugt das Signal AC, indem entweder ein Übertragungsbefehl AsC oder ein Austauschbefehl C/A, jedoch kein Übertragungsbefehl C oA decodiert worden ist.
  • Das zusammengesetzte Verknüpfungsglied 1209 decodiert das Bit A/~ in zwei Typen arithmetischer Befehle, nämlich imBefehl AjB oder im Befehl A+K. Das zusammengesetzte Verknüpfungsglied 1206 decodiert das Signal #. Wenn das Signal = den Wert"1" hat, wird das Ausgangssignal des Registers A nicht durch die A-Eingabesteuereinheit 49 übertragen, was im Verlauf von Verschiebevperationen oder im Verlauf von Registeroperationen unter Beteiligung des Registers A erfolgt, die andere Operationen als die Übertragungsbefehle A+B und A+C sind. Unter allen anderen Bedingungen wird das Ausgangssignal des Registers A an die A-Eingabesteuereinheit 49 angelegt, so daß der normale Datenrückführungsweg für das Register A Uber die A-Eingabesteuereinheit 49 zum Rechenwerk 40 und über die Eingabe logik 50A wieder zurück zum Register A führt. Wenn der Inhalt des Registers A lediglich umläuft, werden natürlich keine Daten über die B-Eingabesteuereinheit 48 übertragen, da ein Maskensignal fehlt.
  • Das NAND-Glied 1207 decodiert den Befehl zur Übertragung des Inhalts des Tastenflipflops zum Register A (siehe Abschnitt X, Tabelle 1), und es erzeugt abhängig davon das Signal M4. Das NAND-Glied 1208 decodiert im Verlauf arithmetischer Operationen unter Beteiligung der Register A und B die Mantissenmaske MANT zur Erzeugung eines BCD-Signals, das dem RPchonwerk 40 signalisiert, eine automaische BGD-Korrektur durchzuführen. Wie zu erkennen ist, arbeitet das Rechenwerk bei anderen Betriebsbedingungen automatisch hexadezimal.
  • Die obige Erörterung des Befehlswortdecodierers 34 berücksichtigte die meisten Decodierungen der in der Tabelle 1 angegebenen Boîehlswörtern. Wie zuvor angegeben wurde, sind ausgewählte Bits mancher Befehlswörter nicht im Befehlswortdecodierer 34, sondern örtlich decodiert worden. Die Decodierung dieser bestimmten Abschnitte der Befehlswörter wird anschliessend im Zusammenhang mit den Bauelementen erläutert, die diese Bits der Befehlswörter decodieren.
  • Wie zu erkennen ist, arbeiten dieAbschnitte des Befehlswortdecodlorerst die zur Steuerung der Kennzeichenlogik (Fig.10), des Msskengenerators (Fig.11) und der Registeroperationen (Fig.12) benutzt werden, abhängig vom Befehlswort im Befehlsregister 33, so daß diese Decodierer keine Verzwelgungs-, Verzweigungsadressen-, Abruf-, Rückkehr- oder Vollzugs-Befehle decodieren müssen, die nicht in das Befehlsregister 33 geladen werden. Der Nichtoperationsbefehl, der dann in das Befehlsregister 33 geladen ist, ermöglicht lediglich den Urnlnuf der Daten in den Registern A bis D und M. Die zuvor beschriebenen Decodiererabschnitte bilden somit den Befehlswortdecodierer zum Decodieren des aus dem Befehlsregister 33 ausgegebenen Befehlsworts-Die Datenregister, die RegistereingabelogSk und die Rechenwerk-Eingabesteuereinheit.
  • In Fig.13 ist ein genaueres Blockschaltbild der Register A bis D und M mit ihren Eingabelogikeinheiten 50A bis 50D und SOM sowie des Rechenwerks 40 und der A-und B-Eingabesteuereinheiten 49 bzw. 50 dargestellt. In den Blöcken für die A-Eingabesteuereinheit 49, die B-Eingabesteuereinheit 48 und für die Eingabelogikeinheiten 50A bis 50D und SOM sind Bezeichnungen für die Datensteuersignale angegeben, die zur Freigabe der dargestellten flatenübertragungswege decodiert werden.Das Format der in Fig.13 angegebenen Signalnamen stimmt mit den von den Decodierern in Fig.12 decodierten Steuersignalen mit der Ausnahme überein, daß dann, wenn das Bit 15 bei der Decodierung einen Austauschbefehl (B/D) und keinen Übertragungsbefehl (beispielsweise B eD)anzeigt, die Zahl 5 an den Steuersignalnamen angefügt worden ist (beispielsweise BD5). Die einzigen in Fig.13 dargestellten Steuersignale, die zuvor noch nicht erwähnt wurden, sind die Steuersignale A+B und A+K, die später im Zusammenhang mit Fig.17 noch erläutert werden.
  • Der Datenspeicher des Rechners wird von den Registern A bis D und M gebildet, die in Fig.14 dargestellt sind. Die Register B bis D und M haben eineKapazität von 39,5 Bits zur Speicherung eines Datenworts mit zehn Dezimalstellen.
  • Da 3~.5 Bits anstelle von 40 Bits vorgesehen sind, sind die Ausgangssignale im Vergleich zu den Eingangssignalen invertiert. Der Hauptabschnitt des A-Registers 1400 hat eine Speicherkapazität von 31,5 Bits.Der Ausgang A- des Schieberegisters 140(5 ist mit einem 4-Bit-Schieberegister 1401 verbunden. Der Ausgang -des Schieberegisters 1401 ist mit einem weiteren 4-Bit-Schieberegister 1402 verbunden, dessen Ausgang mit 5 bezeichnet ist. Der normale Datenweg aus dem Register A für einen Datenumlauf, für arithmetische Operationen und für Datenübertragungs- und Datenaustauschoperationen ist der Ausgang des Schieberegisters 1401. Die Ausgänge = und iW werden für Schiebeoperationen benutzt. Außerdem wird der Ausgang 5 als Umlaufweg für das Register A benutzt, wenn der Ausgang des Rechenwerks 40 unterbrochen ist, wenn das Bit A/~ in den arithmetischen Befehl;swörtern den Binärwert ~1" hat (siehe Abschnitt C, Tabelle 1).
  • Wie aus der Registereingabelogik 50A zu erkennen ist, sind die Verknüpfungsglieder 1500 und 1501 so angeordnet, daß sie normalerweise das Ausgangssignal des Rechenwerks 40 (ADDEROUT) in das Register A übertragen, und daß sie das Signal am Ausgang F des Registers A zum Eingang des Registers A abtragen, wenn das Signal A/~ aus dem zusammengesetzten Verknüpfungsglied 1209 den Wert ~1" hat.
  • Die Registereingabelogik SOB arbeitet abhängig von dem durch den Negator 1502 negierten Signal AB am ODER-Glied 1503 zur Übertragung des Inhalts des Registers A zum Eingang des Registers B. Außerdem arbeitet sie abhängig von den Signalen BC und BD sowie vom Bit I5 des Befehlsworts an den NAND-Gliedern 1504 und 1505, deren Ausgänge mit ODER-Gliedern 1506 und 1507 verbunden sind, so daß die Ausgangssignale aus den Registern C bzw. D abhängig von einer Registeraustauschoperation n/c oder B/D eingegeben werden. Ferner werden die Ausgangssignale des Negators 1502 und der NAND-Glieder 1504 und 1505 als Eingangssignale einem NAND-Glied 1508 zugeführt, dessen Ausgang an ein ODER-Glied 1509 angeschlossen ist, das auch auf das Ausgangssignal des Registers B anspricht. Das N/\ND-Glied 1508 und das ODER-Glied 1509 erlauben daher, daß der Inhalt des Registers 3 zirkuliert, wenn keine der anderen Austausch-oder Ubertragungsoperaionen (AlB, A tB, B/C oder Ps/D) angezeigt wird. Die Ausgangssignale der ODER-Glieder 1503, 1509, 1506 und 1507 werden einem NAND-Glied 1510 zugeführt, dessen Ausgangssignal dem Register B als Eingangssignal zugeführt wird.
  • Die Registereingabelogik 50C enthält einen Negator 1517 zum Negier~n des Signals AC und einen Negator 1511 zum Negieren des Signals BC, wobei die negierten Signale dann ODER-Gliedern 1512 und 1513 zugeführt werden, die auch auf das Ausgangssignal des Registers A bzw. des Registers 13 ansprechen. Die Ausgangssignale der Negatoren 1517 und 1511 werden auch einem NAND-Glied 1514 zugeführt, das die Umlauffunktion in der gleichen Weise wie das NAND-Glied 1508 in der Ret istereingabelogik SOB ergibt.
  • Das Ausgangssignal des NAND-Glinds 1514 wird zusammen mit dem Ausgangssignal des Registers C einem ODER-Glied 1515 zugeführt. Die Ausgangssignale der ODER-Glieder 1512, 1513 und 1515 werden als Eingangssignale einem NAND-C;lied 1516 zugeführt, dessin Ausgang mit dem Eingang des Registers C verbunden ist.
  • Die Registereingabelogik 50D arbeitet abhängig vom Signal BD in der Weise, daß der Inhalt des Registers 13 eingegeben wird oder daß der Inhalt des Registers D zirkuliert, wie durch das zusammengesetzte Verknüpfungsglied 1518 angezeigt wird.
  • Die Registereingabeiogik 50M arbeitet abhängig vom Signal FIA und vom Bit 15 in der Weise, daß der Inhalt des Registers A in das Register M eingegeben wird, wenn eine Austauschoperation M/A decodiert worden ist, und daß der Inhalt des Registers M umläuft, wenn das zusammengsetzte Verknfipfungsglied 1519 keine Austauschoperation angezeigt hat.
  • Die Eingabesteuerung für den Eingang A des Rechenwerks 40, also die A-Eingabesteuereinheit 49, ist in Fig.16 dargestellt. Die A-Eingabesteuereinheit enthält vier ODER-Glieder 1600 bis 1603, deren Ausgänge mit einem NAND-Glied 1604 verbunden sind, dessen Ausgang wiederum mit dem Eingang A des Rechenwerks 40 verbunden ist. Der normale Datenweg verläuft über das ODER-Glied 1600 zur Eingabe des Inhalts des Registers A in das Rechenwerk 40 abhängig von einem Signal ÃX aus dem zusammengesetzten Verknüpfungsglied 1206. Die ODER-Glieder 1601 bis 1603 werden zur Eingabe der Inhalte der Register B, C und M in das Rechenwerk 40 bei einer Austauschoperation A/B, bei der Decodierung des Signals CA bzw. bei der Decodierung des Signals MA freigegeben.
  • Die B-Eingabesteuereinheit 48 ist in Fig.17 dargestellt.
  • Die Verknüpfungsglieder 1700 verbinden die Ausgänge #, n und = des Registers A während Links-und Rechtsverschiebeoperationen mit dem Eingang B des Rechenwerks 40.
  • Das Signal 13 aus dem Befehlsregister 33 wird decodiert, damit angezeigt wird, ob eine Schiebeoperation eine Rechtsverschiebung oder eine Linksverschiebung sein soll. Wie zu erkennen ist, sind die Verknüpfungsglieder 1700 durch Festverdrahtung so geschaltet, daß sie Schiebeoperationen unter einer Mantissenmaske MANT durchführen. Das bedeutet, daß die Dezimalpunktstelle, die an DT9E empfangen wird, automatisch vom Ausgang A geliefert wird, während der Ausgang 77 für eine Linksverschiebung und der Ausgang I für eine Rechtsverschiebung benutzt werden. Die Verknüpfungsglieder 1700 reagieren auch auf das Signal MAsK34. Wie aus dem Abschnitt D der Tabelle 1 und aus Fig.6s zu erkennen ist, erzeugt das die Feststellung der Verschiebung steuernde Bit 13 auch eine LSD-Maske, während einer Linlwerschiebungsoperation, während ein Rechtsverschiebungssignal auch eine OVF-Maske erzeugt. Anstelle der Verwendung des Signals MA5K34 zur Anzeige der Stellen, die in das Rechenwerk eingegeben werden dürfen, wird das Signal MA5K34 an den Verknüpfungsgliedern 1700 jedoch für die Anzeige benutzt, welche Stellen nicht in die Addiereinheit eingegeben werden dürfen, was bedeutet, daß die erste Stelle ( LSD MASK) während einer Linksverschiebungsoperation nicht in die Addiereinheit eingegeben werden darf, wodurch diese Stelle automatisch auf den Wert "O" gesetzt wird. In der gleichen Weise wird während einer Rechtsverschiebung die höchstwertige Stelle durch diese Anwendung des Signals MA5K34 die höchstwertige Stelle auf den Wert "O" gesetzt.
  • Die Verknüpfungsglieder 1701 dienen der Eingabe des Inhalts des Registers B in den Eingang B der Addiereinheit, wenn durch das aus dem Festspeicher 30 ausgegebene Befehiswort eine arithmetische Operation angezeigt wird, bei der keine Konstante beteiligt ist. Die Verknüpfungsglieder 1701 decodieren also arithmetische Operationen des Typs A+Bo Der Negator 1703 wird dazu benutzt, zuerst das Ausgan£ssignal fl des Registers B im Verlauf von Subtraktionsoperationen zu negieren, wenn das Bit 15 den Wert ~1" hat.
  • Die Verknüpfungsglieder 1702 werden bei einer arithmetischen Operation, bei der eine Konstante beteiligt ist, dazu benutzt, eine über den Serienumsetzer 47 in serielle Form gebrachte Konstante aus den Bits 16 bis 18 des Befehlsworts zu laden, wenn das Signal M4 den Wert "O" hat, oder eine Konstante über den Serienumsetzer 46 aus den Tastenfeldflipflops zu laden. Die Verknüpfungaglieder 1702 decadieren also arithemtische Operationen des Typs A+K.
  • Das Rechenwerk Das Rechenwerk 4o ist in Fig.18dargestellt. Dieses Rechenwerk 40 ist ein serielles Rechenwerk mit den Eingängen A und B; ihm ist eine Verzögerung von 3,5 Bits zugeordnet.
  • Die Verknüpfungsglieder 1802 und 1806 sind verhältnislose Volladdierereinheiten, bei denen von in Serie geschalteten Antivalenz-Gliedern mit kreuzweise gekoppelten MOS-Bauelementen Gebrauch gemacht wird. Das Verknüpfungsglied 1802 erzeugt ein Summenausgangßsignal aus drei Eingangssignalen (A, B und Übertrag) mit einer Verzögerung um ein halbes Bit. Das Übertrag-Bit CARRY kann von einer von drei Quellen kommen, die mitdem Verknüpfungsglied 1803 verbunden sind.
  • Eine der Quellen ist das beim Verknüpfungsglied 1812 erzeugte Signal CIE, das dazu benutzt wird, ein Übertragsignal CARRY am Anfang eines Signals MASK einzugeben, wenn eine Subtraktionsoperation ausgeführt wird. In diesem Zeitpunkt wird ein CARRY-Bit entsprechend der vom Rechenwerk 40 ausgeführten Subtraktion im Zweierkomplement benötigt.
  • Am Verknüpfungsglied 1812 liegen die Signale MASKE4 und MASK04, die durch den Maskengenerator (Fig.11) um unterschiedliche Beträge verzögert werden, so daß das NAND-Glied 1812 tatsächlich ein Vorderflankendetektor ist.
  • Das dem NAND-Glied 1812 zugeführte Zeitsteuersignal 934 wird '"7U benutzt, ein Übertiagsignal CARRY zu blockieren und zum nächstenBefehlszyklus weiterzugeben. Das Verknüpfungsglied 1813 arbeitet abhängig von den Bits 15 und r und es erzeugt bei Operationen des Typs A-B ein Subtraktionssignal SUBTRACT. Ein zweites Verfahren zur Erzeugung des Übertragsignals CARRY ist der hexadezimale übertrag (HC),der von den Verknüpfungsgliedern 1811 erzeugt wird, die als Eingangssignale das vorherige Übertragsignal CARRY mit einer Verzögerung um 1 Bit und die Addierereingangssignale A und B empfangen. Das von den Verknüpfungsglieflern 1811 erzeugte Ubertrn<ignal CARRY wird ebenfalls mit dem Signal §3Zi durch Verknu#pfilngsglieder 1800 exakt am Ende desBefehlszyklus blockiert, damit es daran gehindert wird, bei Beginn eines nächsten Befehlszyklus in Erscheinung zu treten. Das letzte Verfahren zur Erzeugung eines Übertfagsignals CARRY ist das Verfahren mit BCD-Korrektur. Wenn das Ergebnis einer BCD-Korrektur unterzogen werden muß, und wenn eine Additonsoperation vorliegt, dann wird ein Übertragsignal CARRY im Verlauf einer B(D-Korrektur während einer Subtraktionskorrektur zwangsweise herbeigeführt. Die Verknüpfungsglieder 1810 bestimmen durch Abtasten jeder von der Addiereinheit 1802 ausgegebenen Stelle, ob eine BCD-Korrektur erforderlich ist oder nicht. Dies erfolgt dadurch, daß die von dem am Ausgang der Addiereinheit 1802 angeschlossenen Schieberegister 1801 abgegebenen Ausgangssignale CX, ,;( und SUM abgetastet werden.
  • Die Signale SUM, CX und BX bestimmen, ob das ausgegebene Ergebnis größer als die Dezimalzahl 9 ist. Das Bit 15 des Befehlsworts gelangt ebenfalls in die Verkntipfungsglieder 1810, damit bestimmt wird, ob für eine SubtraktiorPoperation oder eine Additionsoperation die Korrektur durchgeführt werden soll. Wenn eine Additionsoperation angezeigt wird, ist die Korrekturbedingung CORRECT entweder ein hexadezimaler Übertrag HC oder eine Summe mit einem Wert, der größer als 9 ist. Wenn eine Subtraktionsoperation angezeigt wird, was der Fall ist, wenn das Bit 15 den Wert ~1" hat, ist die Bedingung für die Erzeugung eines Übertragsignals CARRY das Fehlen eines hexadezimalen übertrag (U). Das Verknüpfungsglied 1809, das die Korrekturbedingung CORRECT erzeugt, arbeitet abhängig vom Ausgangssignal des Verknüpfungsglieds 1810, vom BCD-Signal aus dem Ver knüpfungsglied 1208, von Maskierungssignalen und von Zeitsteuersignalen, damit bestimmt wird, ob ein Korrektursignal ausgesendet werden soll oder nicht. Das Verknüpfungsglied 1603 gibt ein die BCD-Korrektur während des Überlaufs sperrendes Zeitsteuersignal und die stets hexadezimal bearbeiteten Deeimalpunktstellen ab.
  • Das Verknüpfungsglied 1807 liefert den Korrekturfaktor +6 oder +10, wenn in der zweiten Addiereinheit 1806 eine BCD-Korrektur durchgeführt wird. Falls eine Atiditionsoperation angezeigt wird, das Bit 15 also den Wert "0" hat, dann wird der Korrekturfaktor 6 addiert. Wenn jedoch das Bit 15 zur Anzeige einer Subtraktionoperation den Wert ~1" hat, dann wird in der Addiereinheit 1806 der Korrekturfaktor +10 addiert. Die Addiereinheit 1806 arbeitet abhängig vom Ausgangssignal des Schieberegisters 1801, vom Korrekturfaktor +6 oder +10 aus den Verknüpfungsgliedern 1807 oder van vorherigen Ubertragsignal aus den Vrrknüpfunge gliedern 1808.
  • Die Befehlsrep!ister-Steuer/VerzweiFun;s-Logik.
  • Die Befehlsregister-Steuer/Verzweigungs-Logik ist in den Figuren 19, 20 und 21 dargestellt. Das Verzwetgungsflipflop 36, das von den Verknüpfungsgliedern 2000 gebildet wird, wird abhängig von einem am NOR-Glied 2020 empfangenen Verzweigungs oder Abruf-Befehl für die Dauer eines Befehlszyklus gesetzt. Die Ausgangssignale BL und z desVerzweigungsflipflops 36 zeigen an, daß das nächste aus dem Festspeicher 30 ausgegebene Befehiswort ein Adressenwort ist, das als Adresse und nicht als Befehl decodiert werden soll.
  • Die Signale RTPC, INCF#, HOLD, SRTPC und KTPC, die bei der Steuerung des Programmzählers 31 benutzt werden und vorher im Zusammenhang mit den Figuren 8a und 8b erläutert wurden, werden von den Verknüpfungstliedern 1900 bis 1904 erzeugt.
  • Es sei nun ein Verzweigungsbefehl betrachtet, der zur Erzeugung des Signals RTPC führt, wenn (1) die angezeigte Bedingung erfüllt ist, oder(2) eine unbedingte Verzweigung vorliegt; das Verknüpfungsglied 2001 decodiert in diesem Fall die Gruppe der Verzweigungsbefehle (einshhließlich der Abruf-, Rückkehr- und Vollzugsbefehle - wobei die Bits Ro und R1 des Befehlsworts den Wert ~1" haben). Das Verknüpfungsglied 2001 erlaubt, daß eine Gruppe von Bedingungscode-Flipflops 2002 bis 2007 mit den Bits R8 und R2 bis R6 des Befehlsworts geladen wird, wenn eine Verzweigungsoperation angezeigt wird. Das Flipflop 2002 wird mit dem Statusbit Rs geladen, während die Flipflops 2003 bis 2007 mit den fünf Bits geladen werden, die entweder anzeigen, welche Bedingung geprüft werden soll, oder anzeigen, daß die Verzweigung unbedingt erfolgen soll (siehe Abschnitt A, Tabelle 1). Die in die Flipflops 2003 bis 2007 geladene, aus fünf Bits bestehende Bedingungscodegruppe COND wird für die Bestimmung benutzt, welches der möglichen Kennzeichen oder Flipflops nach Abschnitt A der Tabelle 1 beispielsweise mit dem in das Flipflop 2002 geladenen Statusbit verglichen werden soll. Das zusammengesetzte Verknüpfungsglied 2100 decodiert für das Statusvergleichs-Verknüpfungsglied 1905 (1) das Kennzeichenflipflop 38 oder die Flipflops 37, 39 oder 2600 oder (2) kein Kennzeichen oder Flipflop, wenn eine unbedingte Verzweigung oder ein unbedingter Abruf angezeigt wird. Das als Antivalenz-Glied arbeitende Verknüpfungsglied 1905 vergleicht den Inhalt des Statusbits im Flipflop 2002 mit dem Ausgangssignal des zusammengesetzten Verknüpfungsglieds 2100, und es erzeugt das Signal SES, das den Signalwert "1 n hat, wenn entweder eine unbedingte Verzweigung oder ein unbedingter Aufruf decodiert worden ist, oder wenn eine bedingte Verzweigung decodiert worden ist und der Zustand des Statusbits R8 mit dem Zustand des angezeigten Flipflops oder Kennzeichens übereinstimmt.
  • Das Verknüpfungsglied 1900 erzeugt also das Signal RTPC, wenn sowohl das Signal = als auch das Signal 1t anzeigen, daß die zuvor genannten Bedingungen eingetreten sind. Andrerseits erzeugt das Verknüpfungsglied 1901 das Signal INCPC, wenn die oben erwähnten Bedingungen nicht eingetreten sind und kein Rückkehr-oddr Vollzugs-Befehl decodiert wird.
  • Kennzeichen und FliPflops Das Übertrag£1ipflop 37 wird von Verknüpfungsgliedern 2101 gebildet, die abhängig vom hexadezimalen Ubertragsignal Z aus dem Rechenwerk 40 und vom Ausgangssignal des NOR-Glieds 2102 arbeiten. Das NOR-Glied 2102 arbeitet abhängig von den Maskensignalen f4A5K34 und MASKE3, wobei das zuletzt genannte Maskensignal oft auch vom Negator 2103 negiert wird. Das NOR-Glied 2102 ist als Hinterflankendetektor geschaltet, so daß das Übertragflipflop 37 immer dann gesetzt wird, wenn ein hexadezimales Übertragsignal außerhalb der Maske während einer arithmetischen Operation angezeigt wird.
  • Die Kennzeichen für ~aktuelle Eingabe" (LE), "schwebend" (PEND), "Abspeicherung" (STO), "Überlauf" (LOCK), "Dezimalpunkt" (DPT) und ~Eingabe" (EN) werden in den Flipflops 2200 bis 2205 gespeichert. Diese Kennzeichenflipflops 38 reagieren auf das Bit I5 und auf Kennzeichenflipflop-Freigabesignale aus den Verknüpfungsgliedern 1000, 1001, 1004, 1002, 1003 und 1007 in der Weise , daß sie gesetzt oder rückgesetzt werdende Die Betriebskennzeichen 38 werden in den Flipflops 2300 und 2301 abgespeichert, die auf die Kennzeichenflipflop-Freigabesigna]e F5 und F6 so ansprechen, (1) daß ~beide Flipflops 2300 und 2301 als Reaktion auf das Decodieren eines Kennzeichens "(+)-Operation Rücksetzen am Verknüpfungsglied 1005 rückgesetzt werden, und (2) daß das Flipflop 2300 bei der Decodierung eines Kennzeichens "(x)-Operation Rücksetzen" am NAND-Glied 1006 rückgesetzt wird. Ferner sprechen die Flipflops 2300 und 2301 auf die Decodierung eines Signals "Betriebskennzeiehen laden" aus dem NAND-Glied 1008 so an, daß sie mit den Bits KL4 und KL6 aus den Tastenflipflops 2603 und 2604 geladen werden.
  • Das "Erst"-Flipflop 2600, dessen Inhalt dazu benutzt werden kann, die Bedingung für einen Verzweigungsbefehl anzugeben, ist in der Entprell- und PUC-Logik 44 enthalten. Eine Funktion des ~Erst"-Flipflops 2600 wird anschliessend im Zusammenhang mit der Entprell- undPUC-Logik 44 beschrieben.
  • Das Befehlsregister L)as Befehlsregister besteht aus einer Folge von neun Flipflops 2008 bis 2016. Diese Flipflops werden von einem Freigabesignal aus dem NOR-Glied 2018 im Zeitpunkt des Signais 914 freigegeben , wenn nicht (1) das Verzweigungsflipflop 2000 gesetzt ist und anzeigt, daß das Befehlswort eine Adresse ist oder (2) das Ausgangssignal des NOR-Glieds 2001 den Wert ~1" hat und die Ausgabe eines Verzweigungs-, Abruf-, Vollzugs- oder Rückkehrbefehls anzeigt. Wie oben erwähnt wurde ~wird das Befehlsregister 33 nicht mit einem Verzweigungsbefehl oder einem Verzweigungsa lressenbefehl geladen, so daß es nicht notwendig ist, daß die abhängig von der im Befehlsregister 33 enthaltenen Adresse arbeitenden Decodierer bei solchen Befehlen abgeschaltet werden.
  • In den Flipflops 2008 bis 2016 läuft das hier gespeicherte Befehlwort normalerweise mit den Vorladezyklen der Taktphasen~3 und #4 der NOR-Glieder und der Negatoren in dem Flipflop zyklisch um, und jedes Flipflop wird Init dem vom Negator 2019 empfangenen Zeitsteuersirnal 914 automatisch auf den Wert "O" gestellt, wenn nicht in neues Befehlswort unter der Steuerung durch das Verknüpfungsglied 2018 geladen wird. Wenn also ein Verzweigungs-, Abruf-, Vollzugs oder Rückkehrbefehl oder ein Verzweigungsadressenbefehl decodiert wird, wird das Befehlsregister 33 automatisch mit dem Wert ~000000000" als Befehlswort geladen, das als Nichtoperationsbefehl behandelt wird.
  • Wie zu erkennen ist, arbeiten das NOR-Glied 2018, das Verzweigungsflipflop 2000 und die NAND-Glieder 902 und 903 so zusammen, daß eine Befehlswort-Decodierlogik entsteht, die auf wenigstens einen Abschnitt jedes ausgegebenen Befehlsworts unter Erzeugung des Freigabesignals anspricht, das steuert, ob das Befehlsregister 33 mit dem ausgegebenen Befehlswort geladen wird oder nicht. Die zum Decodieren des ausgegebenen Befehlsworts verwendeten Decodierer arbeiten entweder abhängig von dem Befehlswort direkt aus dem Festspeicher 30 oder abhängig von dem Befehlswort im Register 33, wie oben im Zusammenhang mit der Befehlswortdecodierlogik beschrieben wurde.
  • Programmierte Verknüpfungsmatrix des Tastenfeldes, TastenfeldfliPfloPs und Eingabelogik Die Tastenfeld-Abtasteinheit 42 tastet das Tastenfeld 2 (Fig¢2) mit den Zustandszeitsignalen STA bis STF ab, die auf dem Chip vom Taktgenerator erzeugt werden. Die Perioden dieser Zustandszeitsignale sind ruvor im Zusammenhang mit den Figuren 4a und 4b erläutert worden.
  • Wenn eine Taste gedrückt wird, werden die Zustandszeitsignale STA bis STF abhängig davon, welche Taste gedrückt ist, an eine der vier K-Leitungen Kl bis K4 angelegt. Die von den K-Leitungen kommenden Eingangssignale zum Chip 10 (Fig.2) werden mit Hilfe von zwei Negatoren 2400 und 2401 gepuffert, und sie werden dann der programmierten Verknüpfungsmatrix 41 (KB PLA) des Tastenfeldes zugefiihrt (Fig.25).Nach Fig.25 arbeitet die Verknüpfungsmatrix 41 abhängig von den gepufferten Tastenfeldausgangssignalen von den Negatoren 2400 und 2401 und abhängig von den Zustandszeitsignalen STA bis STF aus dem Taktgenerator, so daß decodiert wird, welche der Tasten gedrückt worden ist. Die programmierte Verknüpfungsmatrix 41 gibt über ein Übertragungsglied 2500 auch ein Signal KYRD ab, das anzeigt, daß eine Taste gedrückt worden ist. Die Verknüpfungsmatrix 41 gibt an den LeitungenKLI1, KLI2, KLI4, KLI8 und KL116 eine aus fünf Bits bestehende Codegruppe ab, die anzeigt, welche der Tasten gedrückt worden ist. In der Tabelle II sind die 5-Bit-Codegruppen angegeben, die von der Verknüpfungsmatrix 41 als Reaktion auf das Niederdrücken von Tasten abgegeben werden. Die 5-Bit-Code gruppen werden beim Ablesen von links nach rechts in Flipflops 2605 bis 2601 gespeichert. Die speziell gewählten 5-Bit-Codegruppen sind ebenso wie die vom Chip ausgeführten arithmetischen Funktionen natürlich nur eine Frage des gewählten Aufbaus.
  • Die von der programmierten Verknüpfungsmatrix 41 abgegebenen 5-Bit-Codegruppen werden zu dem von den fünf Flipflops 2601 bis 2605 gebildeten TastenspeicherflipGlops 39 übertragen.
  • Das Signal KYP<D gilt als Eingangssignal eines NAND-Glieds 2607, das zur Zeit des Signals 803 ein Signal KEYIN abgeben kann Das Signal KEYIN wird an das Verknüpfungsglied 1904 angelegt, damit der Inhalt der Tastenspeicherflipflops 39 zwangsweise in den Programmzähler 31 eingegeben wird, wenn das Signal KTPC erzeugt ist. Nach dem Empfang des Signals KYRD werden die Tastenflipflops 2601 bis 2605 aus der Verknüpfungsmatrix 41 geladen, und ihr Inhalt wird in den Programmzähler 41 geladen, wie oben im Zusammenhang mit den Figuren 8a und 8b erlautert wurde.
  • Wenn die Tastenflipflops dazu benutzt werden, die Programmzähleradresse zu liefern, wird der Inhalt der fünf Tastenflipflops 2601 bis 2605 in ausgewählte Bitspeicherplätze im Programmzähler 31 geladen, wie oben im Zusammenhang mit den Figuren Sa und Sb erläutert wurde. Wenn die 5-Bit-Codegruppe in den Tastenflipflops 2601 bis 2605 an der Stelle des KL116-Flipflops 2605 ein Bit mit dem Wert llO" enthält, dann wird die Programmzähleradresse direkt aus allen fünf Tastenflipflops 2601 bis 2605 abgeleitet. Wenn jedoch in das KLI16-Flipflop ein Bit mit dem Wert 1t geladen ist, das vorzugsweise das Niederdrücken einer Zifferntaste oder der Dezimalpunkttaste anzeigt, wird nur der Inhalt dieses Flipflops, also des Tastenflipflops 2605, durch die Wirkung der Verknüpfungsglieder 2700 bis 2703- in den Programmzähler geladen, die den parallelen Datenübertragungsweg zwischen den Tastenflipflops 2601 bis 2604 und dem Programmzähler 31 unwirksam machen.
  • Auf Grund dieses Merkmals des Rechners können 7ahlen in das Register A eingegeben werden, indem eine Verzweigung zu einem einzigen Speicherplatz im Festspeicher 30 durchgeführt wird und indem dort Befehle zum direkten Laden der Inhalte der Tastenflipflops in das Register A aufgefunden werden. Der zum Übertragen der Inhalte der Tastenflipflops in das Register A benutzte Befehl ist im Abschnitt G der Tabelle 1 angegeben.
  • Die EntDrellogik Nach Empfang des Signals KYRD für ~Taste bereit" wird ein Flipflop 2608 gesetzt, das die Verimüpfungsglieder 2607 und 2609 gegen den Empfang eines weiteren Signals ~Taste bereit" sperrt. Das Flipflop 2608 sperrt das Laden derTastenflipflops 2601 bis 2605 ( und somit des Programmzählers 31), bis es wieder rückgesetzt wird. Das Flipflop 2608 wird vom Signal CLI# aus dem Entprellflipflop 2606 nur dann rückgesetzt, wenn (1) der Vollzugs-Befehl am Ende der Befehlsgruppe decodiert worden ist, die durch den Programmzähler auf Veranlassung durch den gerade vorliegenden Inhalt der Tastenflipflops 2601 bis 2605 durchlaufen worden ist, und wenn (2) das Tastenfeld während der nächsten Periode mit den Zustandszeitsignalen STA bis STG kein Signal KYRD erkennt. Wenn diese zwei Bedingungen erfüllt sind, erlaubt das Entprellflipflop 2606 das Rücksetzen des KYRD-Flipflops 2608, das seinerseits den Verknüpfungsgliedern 2607 und 2609 erlaubt, ein weiteres KYRD-SSgnal zum Laden der Tastenflipflop 2601 bis 2605 und, abhängig davon, des Programmzählers 31 zu empfangen.
  • Das Entprell-Flipflop 2606 Spricht zwar auf das Decodieren eines Vollzugs-Befehls an, der sich am Ende einer Gruppe von Befehlen zur Durchführung der von der gedrückten Taste angezeigten Operation des Rechners befindet, doch hängt ein erfolgteiches Arbeiten der Entprell-Logik nicht davon ab, daß sich der Befehl, auf den das Entprell-Flipflop 2606 anspricht, exakt am Ende der Befehlsgruppe befindet. Der Befehl, auf den das Entprell-Flipflop 2606 anspricht, sollte sich jedoch vorzugsweise in der Nähe des Endes der Befehlsgruppe befinden; im hier beschriebenen Ausführungsbeispiel liegt er am Ende der Befehlsgruppe.
  • Ein ~Erst" -Flipflop 2600 wird zusammen mit einem in den Festspeicher 30 geladenen Verzweigungsbefehl dazu benutzt, einer von der Software gebildeten Gruppe von Befehlen zur Einschaltlöschung zu gestatten, den Inhalt des Speicherregisters M nur beim erstmaligen Drücken der Löschtaste (c) auf den Wert #O" zu stellen. Das ~Erst"-Flipflop 2600 wird dann ge-ofzt, wenn das Entprell-Flipflopp26O6 das KYRD-Flipflop 2608 zum erstenmal rücksetzt. Die Löschtaste wird anfänglich gedrückt , wenn der Rechner eingeschaltet wird, da der Rechner vorzugsweise von einem Versorgungsenergie-Flipflop Gebrauch macht, wie es in der USA-Patentanmeldung SN 695 886 vom 14.Juni 1976 beschrieben ist.
  • Die Löschtaste ist also gleich der Einschalttaste, und nur das erste Niederdrücken der Löschtaste bewirkt das Nullstellen des Inhalts des Registers M, wenn die Befehlsgruppe zur Einschaltlöschung einen entsprechendenGebrauch von einer Verzweigungsbedingung gemäß dem #Land des ~Erst"-Flipflops 2600 macht.
  • Ein Finschaltlöschsignal PUC wird beim Einschalten des Rechners vorzugsweise von einem Taktgenerator 51 erzeugt, bis die von diesem Taktgenerator 51 erzeugten Taktphasen die richtigen Spannungswerte erreicht haben.
  • Die Anzeigelogik Die Anzeigelogik 52 ist in Fig.28 dargestellt. Ein NAND-Glied 2800 arbeitet abhängig vom Ausgangssignal des Registers A und abhängig vom Inhalt des Sperrkennzeichen-Flipflops 2203.
  • Es sei daran erinnert, daß das Sperrkennzeichen-Flipflop 2203 ein Kennzeichen speichert, das einen Überlaufzustand anzeigt, und inittels des NAND-Glieds 2800 wird die vom Sperrkennzeichen angezeigte Fehlerbedingung automatisch an der Anzeige erzeugt.
  • Die Anzeigeanordnung macht von dem Segmentabtastverfahren gemäß der USA-Patentanmeldung SN 565 489 vom 7.April 1975 Gebrauch; die Segmente der Anzeige werden also im Zeitpunkt der Zustandszeitsignale STA bis STG und STP sequentiell erregt, während die Signale an den Stellenleitungen codiert sind. Die Decodierungsfunktion wird mittels des Stellendecodierers 2801 erzielt, der abhängig vom Ausgangssignal des NAND-Glieds 2800 nach der Serien-Parallel-Umsetzung in eine nichtinvertierte und eine invertierte Logik mittels eines Schieberegisters 2602 arbeitet. Der Decodierer 2801 arbeitet ferner abhängig von den Zustandszeitsignalen STA bis STG und STP sowie abhängig von einem mit Hilfe der Verknüpfungaglieder 2803 erzeugten Freigabesignal.
  • Die acht Ausgangssigiiale SPO bis SP7 des Decodierers 2801 werden einem achtstufigen Ausgangsregister aus den Stufen 2900 bis 2907 zugeführt. Das Ausgangsregister mit den Stufen 2900 bis 2907 enthält auch Ausgangspuffer 2900A bis 2907A zur Ansteuerung der Stellenleitungen Dl bis D8 (Fig.2 und Flg.5b).
  • Die Addiereinheit In Fig.30 ist eine Addierschaltung nach der Erfindung dargestellt, die einen A-Eingang 110, einen B-Eingang 111 und einen als, Übertrageingang dienenden C-Eingang 112 aufweist. Die Eingänge 110 und 111 sind über die Source-Drain-Strecken von Transistoren 113 und 114 mit einem Zwischenschaì~ungspunkt115 verbunden. Der A-Eingang 110 ist mit der Gate-Elektrode des Transistors 114 verbunden, und der B-Eingang 111 ist mit der Gate-Elektrode des Transistors 114 verbunden. Der Zwischenschaltungspunkt 115 wird vom Transistor 116 vorgeladen, dessen Drain-Elektrode mit der -Vdd-Versorgungsspannungsklemme (üblicherweise mit etwa -9V) rbunden ist, während seine Gate-Elektrode mit einer Vorladetaktquelle ~pc verbunden ist. Der Zwischenschaltungspunkt 115 und der Übertrageingang 112 sind an eine weitere Schaltung angesch' ossen, wie sie soeben beschrieben wurde. Der Zwischenschaltungspunkt 115 und der Eingang 112 sind also über die Source-Drain-Strecken von zwei Transistoren 120 uril 121 mit einem Ausgangsschaltungspunkt 122 verbunden. Der Zwischenschaltungspunkt 115 ist mit der Gate-Elektrodedes Transistors 121 verbunden, und der Eingang 112 ist mit der Gate-Elektrode des Tiansistors 120 verbunden. Der Ausgangsschaltungspunkt 122 wird aus der -Vdd-Versorgungsquelle über einen Transistor 123 vorgeladen, an dessell Gate-Elektrode das Taktsignal #c angelegt st.
  • Für den Betrieb der Schaltung von Fig.30 gilt die in Fig.31 angegebene Wahrheitstabelle.Es sei angenommen, daß d## Transistoren P-Kanal-Transistoren sind, daß die Spannung -Vdd dem digitalen Signalwert "O" entspricht und daß die Spannung Vss (Masse) dem digitalen Signalwert ~1" entspricht. Wenn der A-Eingang 110 und derB-Eingang 111 an der Spannung -Vdd liegen, sind die beiden Transistoren 113 und 114 wegen der ihren Gate-Elektroden zuge tee Spannung -Vdd eingeschaltet, und derZwischenschaltungspunkt 115 bleibt auf dem Spannungswert -Vdd. Da am Zwischenschaltungspunkt 115 und am C-Eingang 112 die Spannung -Vdd liegt, sind die Transistoren 120 und 121 eingeschaltet, und der Ausgangsschaltungspunkt 122 bleibt auf dem Spannungswert -Vdd, so daß die Ausgabebedingung für die Eingabebedingung 0-0-0 erfüllt ist. Wenn am A-F,ingang jedoch der Signalwert ~1" (also die Spannung Vss) anliegt, während an allen anderen Eingängen der Signalwert "O" liegt, wird der Transistor 113 eingeschaltet gehalten, während der Transistor 114 gesperrt ist. Der Zwischenschaltungspunkt 115 entlädt sich über den Transistor 113 zu dem an Masse liegenden A-Eingang 110. Iti der gleichen Weise wird der transistor 120 von der Spannung -Vdd am C-Eingang 112 eingeschaltet, und der Transistor 121 wird gesperrt, wenn sich der Schaltungspunkt 115 entlädt.
  • Der Ausgangsschaltungspunkt 122 entlädt sich also über die Transistoren 120 und 113 zu dem an Masse liegenden A-Eingang, wodurch die Ausgangsbedingung für die Eingangsbedingung 1-0-0 erfüllt wird. Die gleiche Bedingung ist für die Eingangsbedingung 0-1-0 vorhanden, wenn der B-Eingang 111 an Masse liegt; der Schaltungspunkt115 entlädt sich über den Transistor 114 nach Masse, und der Ausgangsschaltungspunkt 122 entlädt sich über die Transistoren 120 und 114. Weiin am C-Eingang der Signalwert ~1" anliegt und wenn an den Eingängen A und B der Signalwert "O" anliegt, liegt am Zwischenschaltungspunkt 115 der Spannungswert -Vdd , der den Transistor 121 eingeschaltet hält, so daß sich der Ausgangsschaltungspunkt 122 zu dem an Masse liegenden C-Eingang entlädt. Wenn an den Eingängen A und B der Signalwert ~1" liegt und wenn am Eingang C der Signalwert "O" anliegt, werden die beiden Transistoren 113 und 114 mit ihren an der Spannung Vss liegenden Cate-lSlektroden gesperrt gehalten, und der Vorgeladene Schaltungspunkt 115 bleibt nuf die Spannung -Vdå aufgeladen. Der Transistor 121 wird vom Schaltungspunkt 115 eingeschaltet gehalten, und der Transistor 120 ist gesperrt; der Schaltungspunkt 122 wird zum Eingang C, der an der Spannung Vss liegt, entladen, so daß das Ausgan;r'ssignal den Wert ~1" hat. Wenn am Eingang A der Signalwert ~1" liegt, am Eingang B der Signalwert "0" liegt, und am Eingang C der Signalwert "1" liegt, entlädt sich der Zwischenschaltungspunkt 115 zum Eingang #, so daß in die zweite Hälfte der Schaltung der Signalwert ~1" eingegeben wird, worauf sich der Pusgangsschaltungspunkt 122 nicht über die Transistoren 120 und 121 entlädt, da ihre beiden Gate-Elektroden an Masse liegen, was zur Abgabe eines Ausgangssignals mit dem Wert "o n führt. Wenn am Eingang A der Signalwert "O" liegt, am Eingang B der Signalwert "1" liegt und am Eingang C derSignalaxert "1" liegt, ntlädt sich der Ausgangsschaltungspunkt 122 ebenfalls nicht über die Transisioren 120 und 121, so daß sich am Ausgang einSignal mit dem Wert "O" ergibt. Die als einzige übrigbleibende Bedingung, daß an allen Eingängen A, B und C der Signalwert ~1" liegt, hat zur Folge, daß am Zwischenschaltungspunkt 115 der Signalwert "O" auftritt, da sich dieser Schaltungspunkt nicht über einen der Transistoren 113 oder 114 entlädt, was zum Einschalten des Transistors 121 führt, so daß sich der Ausgangsschaltungspunkt 122 über den Transistor 121 zum Eingang C nach Masse entlädt; es ergibt sich daher die Eingabe des Signalswerts "1" . Die logischen Bedingungen für einen Volladdierer sind auf diese Weise erfüllt.
  • Die in Fig.30 dargestellte Schaltung enthält einen Transistor 116, der einganges schmales Bauelement ist, dessen Verhältnis von Kanalbreite zu Kanallänge wesentlich kleiner als das entsprechende Verhältnis der Transistoren 113 und 114 ist. Dies ist notwendig, damit bei der Bedingung A= 1, B=O (oder B=1, A-0) ,bei er sich der Zwischenschaltungspunkt 115 entladen muß und der zweiten Hälfte dei Schaltung einen digitalen Signalwert unter der Schwellenspannung Vt zufÜhren muß, die Transistoren 116 und 113 nicht als Spannungsteiler wirken und einen falschen åagitalen Signalwert oder eine hohe Spannung am Schaltungspunkt 115 erzeugen. Wenn die Spannung am Schaltungspunkt 115 zu hoch ist, könnte der Transistor 121 eingeschaltet werden,so daß sich der Ausgang schaltungspunkt 122 entladen könnte, was die fehlerhafte Eingabe des Signalwerts ~0" erzeugen könnte.
  • Aus diesem Grund ist daß Verhältnis von Kanilbreite zu Kanallänge des Transistors 116 klein gemacht, damit sein Spannungsabfall im Vergleich zu den Transistoren 113 und 114 größer ist. Tatsächlich muß sich der Schaltungspunkt 115 nicht auf einen vollen digitalen Signalpegel aufladen; er muß lediglich geringfügig über der Schwellenspannung Vt liegen, so daß der Transistor 116 so klein sein kann, daß sich der Schaltungspunkt 115 nicht vollständig vollädt.
  • Die Eingänge A, B und C sollten statisch und nicht dynamisch sein, wie es für die Erzeugung eines Entladewegs erforderlich ist. Der Ausgang kann auch geschaltet sein, damit der Ausgangspegel festgehalten wird, während die Eingangssignale der Addiereinheit den nächstenPegel einstellen. Eine diese Funktionen enthaltende Schaltung ist in Fig.32 dargestellt.
  • Statische Eingänge werden mit Hilfe von Negatoren geschaffen, die Vcrarmung8lastelemente 125 und freibertransistoren 126 enthalten, so daß fortlaufend nach tasse führende Wege durch die Treibertransiatoren vorhanden sind, solange die Eingangssignale Ã, B oder C anliegen. Die Gate-Elektroden der Vorlade-Transistoren 116 und 123 sind mit ihren Drain-Elektroden und mit der fp-Ouelle 118 verbunden, und sie weisen keinen eigenen vdd-Anschluß auf. Der Ausgangsschalturyrspunkt 122 ist über einen Transistor 127 mit einer Eingabeleitung 128 verbunden; an derGate-Elektrode des Transistors 127 liegt ein Ausgabe takt signal ~O. Die Zeitsteuerung des Vorladetaktsignals ~p und des Ausgabetaktsignals ~O ist in Fig.33 dargestellt. Das Au;¢ angssignal an der Leltutlg 128 ist von einem Zeitpunkt kurz nach dem Übergang des Taktsignals pp auf Masse bis zu dem Zeitpunkt gültig, an dem das Taktsignal ~p wieder negativ wird, auch wenn sich die Signale an den Eingängen A, B und C ändern können. Zur Erzeugung des Übertrag-Ausgangssignals wird eine eigene Schaltung verwendet, falls dies erforderlich ist.
  • Die Erfindung ist hier im Zusammenhang mit einem speziellen Ausführungsbeispiel beschrieben worden, doch ist für den Fachmann erkennbar, daß im Rahmen der Erfindung ohne weiteres Abwandlungen und Änderungen möglich sind.
  • Beispielsweise hängen die Anzahl der Bits in einem Daten- oder einem Befehlswort, der Nennwert der Taktfrequenz, die Logikpegel und auch andere Gesichtspunkte des beschriebenen Rechners offensichtlich nur von der speziell gewählten Ausgestaltung ab.
  • Tabelle I A. Verzweigungsbefehle (Fig.6a) Bedingungs -Codegruppe 00000 Verzweigung unbedingt (S=0) 00001 " bei LE-Kennzeichen 00011 n bei PEND-Kennzeichen 00101 n bei LOCK-Kennzeichen 00110 " bei DPT-Kennzeichen 00111 ubei STO-Kennzeichen 01001 " bei EN-Kennzeichen 01011 " bei CARRY-Flipflop 10000 " bei "0"-Taste (Tastenflipflops) 10001 " bei "."-Taste (Kennzeichenflipflops) 10100 " bei Xw + Operation (OP-Kennzeichen) 10101 " bei "-"-Operation (OP-Kennzeichen) 10110 " bei "s"-Operation (OP-Kennzeichen) 11000 " bei X-, "+"-Taste (Tastenflipflo)s) 11001 " bei "-n-Taste (TasteMlipflops) 11010 " bei "e."-Taste (Tastenflipflops) 11110 " bei ~Erst"-Flipflop S O Verzweigung bei STATUS = O 1 Verzweigung bei STATUS = 1 B. Unterprogramm und Vollzugs-Befehle (Fig. 6b) Bedingungs -Codegruppe 01010 Vollzug(DONE) 11100 Abruf (CALL) 11101 Rückkehr (RETURN) C. Arithmetische Befehle I. Register A plus Konstante (A+K) (Fig.6c) 1 Ergebnis ignoriert, Inhalt des Register A läuft um O Ergebnis in das Register A M Maske- siehe Fig.5b K 4-Bit-Konstante II. Operationen mit den Registern A und B (A+B)(Fig.6d) M Maske - Siehe Fig.5b ° A+B 1 A-B A/# 0 Ergebnisse in das Register A 1 Ergebnisse unbeachtet, Inhalt des Register A läuft um D. Schiebebefehle (Fig.6e) LIR O Inhalt des Registers A innerhalb der Mantissenmaske MANT nach links verschieben 1 Inhalt des Registers A innerhalb der Tlantissenmaske MANT nach rechts verschieben E. Registerbefehle (Fig.6f) T/X 0 Übertragungsoperation (AxM bedeutet, daß der Inhalt des Registers A in das Register M eingegeben wird und auch im Register A umläuft) 1 Austauschoperation (A/M bedeutet, daß die Inhalte der Register A und M ausgetauscht werden) R 000 AB 001 A#C (nur T/X = O) 010 C#A 100 101 B#D 011 M A 110 0 A (Register A löschen; nur T/X = O) F. Kennzeichenbefehle (Fig.6g) S/R O Kennzeichen setzen 1 Kennzeichen rücksetzen F 000 LE-Kennzeichen (F0) 001 PEND-Kennzeichen (Fl) 010 LOCK-Kennzeichen (F2) 011 DPT-Kennzeichen (F3) 100 STO-Kennzeichen (F4) 101 Rücksetzen"+"-Betriebskennzeichen (F6) 110 RücksetzenS?Betriebskenn7ichen (Nur S/R = 1) (F7) 110 Laden"+"-und "x"-Betriebskennzeichen aus KB-Flipflops (nur S/R = O) 111 EN-Kennzeichen (F8) G. Tastenfli#floo zum Register A (Fig.6h) Die Inhalte der Tastenflipflops werden unter der LSD-Maske in das Register A geladen.
  • Tabelle II 5-Bit Tasten- Taste codegruppen 10000 0 10001 1 10010 2 10011 3 10100 4 10101 5 10110 6 10111 7 11000 8 11001 9 11111 00011 + 00111 01011 x 01111 00010 00110 01010 (zeigt nachfolgende 00001 M Speicheroperation an) 01110 c/oN (Austausch zwischen 00101 REV Register B und Anzeige) 01001 01101 MR (Speicherabruf) 01100 OFF Leerse ite

Claims (35)

  1. P a t e n t a n 5 D r ti c h e ä e-zweiSungss eueranordnung für eine elektronische f4ikroprozessoranordnung mib einem Datenspeicher zum Speichern numerischer Daten, einem Rechenwerk zur Durchführung von Rechenoperationen an Daten, die in dem Speicher gespeichert sind, einem Befehlsspeicher zum Speichern von Befehlen, einem Programmzähler zum, Adressieren des Befehlsspeichers und einen Befehlswortdecodierer zum Deccdieren von aus dem Befehlsspeicher ausgegebenen Befehlen und zur Steuerung der Anordnung einschließlich des Steuerns der Datenübertragung vom Datenspeicher in das Rechenwerk in Abhängigkeit von diesen Befehlen, gekennzeichnet durch (a) einen Verzweigungsdecodierer in dem Befehlswortdecodierer zum Decodieren eines aus dem Befehlsspeicher während eines gegebenen Zeitsteuerzyklus ausgegebenen Verzweigungsbefehls und (b)eine Vorrichtung zum Ändern des Inhalts des Programmzählers mit einem Befehl, der während eines weiteren Zeitsteuerzyklus unmittelbar im Anschluß an den gegebenen Zeitsteuerzyklus in Abhängigkeit davon, daß der Verzweigungsdecodierer während des gegebenen Zeitsteuerzyklus einen Verzweigungsbefehl decodiert, aus dem Befehlsspeicher ausgegeben wird.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die aus dem Befehlsspeicher ausgegebenen Befehle Jeweils aus einem mehrere Bits enthaltenden Wort bestehen, daß mehrere Kennzeichen-Flipflops vorgesehen sind, die in ausgewählter Weise entsprechend aus dem Befehlsspeicher ausgegebenen Befehlen gesetzt und rückgesetzt werden können, daß der Verzweigungsdecodierer abhängig von ausgewählten Bits eines Verzweigungsbefehls arbeitet, wobei diese ausgewählten Bits anzeigen, ob eine Verzweigung bedingt oder nichtbedingt durchzufUhren ist und, im Falle einer bedingten Verzweigung anzeigen, welches der Kennzeichen-Flipflops durch seinen Stand die Verzweigungsbedingung angibt, daß eine Vergleichsucrrichtung vorgesehen ist, die die Änirungsvorrichtung freigibt, wenn der Verzweigungsdecodierer einen nichtbedingten Verzweigungsbefehl decodiert hat und die Anderungsvorrichtung freigibt, wenn der Verzweigungsdecodierer einen Verzweigungsbefehl decodiert hat, der durch den Zustand des ausgewählten Kennzeichen-Flipflops bedingt ist und das auggew~ahlte Kennzeichen-Flipflop sich in einem vorgewählten Zustand befindet, und daß die Änderungsvorrichtung bei Freigabe durch die Vergleichsvorrichtung so auf diese Vergleichsvorrichtung anspricht, daß der Inhalt des programmzählers mit einem aus dem Befehlsspeicher während dez weiteren Zeitsteuerzyklus ausgegebenen Befehl geändert wird.
  3. 3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß ~er Programmzähler eine Anzahl von Bitpositionen aufweist, und daß die Anzahl der Bitpositionen des Programmzählers gleich der Anzahl der Bits des aus mehreren Bits bestehenden Worts ist.
  4. 4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Änderungsvorrichtung den Inhalt des Programmzählers dadurch ändert, daß der während des weiteren Zeitsteuerzyklus aus dem Befehlsspeicher ausgegebene Befehl in den Programmzähler eingegeben wird,wodurch der weitere Befehl, der während des weiteren Zeitsteuerzyklus aus dem Befehlsspeicher ausgegeben wird, ein Verzweigungsadressenbefehl ist.
  5. 5. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Änderungsvorrichtung den Inhalt des Programmzählers dadurch ändert, daß der während des weiteren Zeitsteuerzyklus aus dem Befehlsspeicher ausgegebene Befehl in den Programmzähler eingegeben wird, wodurch der weitere Befehl, der während des weiteren Zeitsteuerzyklus aus dem Befehlsspeicher ausgegeben wird, ein Verzweigungsadressenbefehl ist.
  6. 6. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die vom Befehlsspeicher ausgegebenen Befehle jeweils von einem aus mehreren Bits zusammengesetzten Wort gebildet sind, daß der Programmzähler eine Anzahl von Bitpositionen aufweist, und daß die Anzahl der Bitpositionen des Programmzählers gleich der Anzahl der Bits in dem ausmehreren Bits zusammengesetztenwort ist.
  7. 7. Verfahren zur Durchführung von Verzweigungsoperationen in einer elektronischen Mikroprozessoranordnung mit einem Datenspeicher zum Speichern numerischer Daten, einem Rechenwerk zur Durchftihrung arithmetischer Operationen an Daten, die in dem Datenspeicher gespeichert sind, einem Befehlsspeicher zum Speichern von Befehlen, einem Programmzähler zur Adressierung des Befehlsspeichers und einem Befehlswortdecodierer zum Decodieren des von dem Befehlsspeicher ausgegebenen Befehlsworts und zum Steuern der Anordnung einschlieelich des Rechenwerks abhängig von diesem Befehl, dadurch gekennzeichnet (a) daß aus dem Befehlsspeicher ein Verzweigungsbefehl gelesen und dann decodiert wird, (b) daß der Ausgang des Befehlsspeichers mit dem Programmzähler verbunden wird und (c) daß der auf den Verzweigungsbefehl folgende Befehl aus dem Befehlswortspeicher gelesen und in den Programmzähler eingegeben wird.
  8. 8 Verfahren nach Anspruch 7, wobei die Anordnung mehrere Kennzeichen-Flipflops enthält, die abhängig von den im Befehlsspeicher gespeicherten Befehlen gesetzt und rückgesetzt werden können, dadurch gekennzeichnet, (a) daß die Einstellung ausgewählter Bits des Verzweigungsbefehls und die Einstellung eines ausgewählten Kennzeichen-Flipflops geprüft werden, wobei die Auswahl des geprüften Kennzeichen-Flipflops entsprechend der Einstellung der ausgewählten Bits erfolgt, und (b) daß der auf den Verzweigungsbefehl folgende Befehl nur dann in den Programmzahler eingegeben wird, wenn eine bestimmte Einstellung des ausgewähltenKennzeichen-Flipflops vorliegt.
  9. 9.Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß ein weiteres ausgewähltes Bit des Verzweigungsbefehls geprüft wird und daß die Einstellung des weiteren ausgewählten Bits die bestimmte Einstellung ist.
  10. 10. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß der Programmzähler einmal während jedes Befehlszyklus der Mikropr° zessoranordnung eine Adresse zu dem Befehlsspeicher ausgibt, daß der Verzweigungsbefehl während eines gegebenen Befehlszyklus gelesen wird, daß der während des auf das Lesen des Verzweigungsbefehls folgenden Befehlszyklus gelesene Befehl ein Verzweigungsadressenbefehl ist und daß die Adresse des Befehls, der im Verlauf des Befehlszyklus im Anschluß an das Lesen des Verzweigungsadressenbefehls gelesen wird, von dem Verzweigungaadressenbefehl gebildet wird.
  11. 11. Elektronische Mikroprozessoranordnung gekennzeichnet durch (a) einenDatenspeicher zum Speichern numerischer Daten, (b) ein Rechenwerk zur Durchführung arithmetischer Operationen an den im Datenspeicher gespeicherten numerischen Daten, (c) einen Befehlsspeicher zum Speichern mehrerer Befehlswörter, die das Arbeiten der Anordnung einschließlich der Ubertragung von Daten aus dem Datenspeicher in das Rechenwerk steuern, (d) einen Programmzähler zum Adressieren des Befehlsspeichers, (e) einen ersten Decodierer, der abhängig von wenigstens einem Abschnitt jedes aus dem Befehlsspeicher ausgegebenen Befehlswortsein Freigabesignal für ein ausgewähltes Begeh wort erzeugt, (f) ein Befehlswortregister zum Zwischenspeichern des vom Befehlsspeicher bei der Freigabe durch die erste Decodiervorrichtung ausgegebenen Befehlsworts, (g) eine zweite Decodiervorrichtung zum Decodieren des ausgewählten Befehlsworts, das in das Befehlswortregister geladen ist, und (h) eine dritte Decodiervorrichtung zum Decodieren der vom Befehlsspeicher ausgegebenen Befehlswörter.
  12. 12. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß der Befehlsspeicher ein Festspeicher ist und daß die ausgewählten Befehlswörter solche Befehlswörter enthalten, die die Übertragung von Daten aus dem Datenspeicher in das Rechenwerk steuern, während sie keine solchen Befehlswörter enthalten, die die Übertragung eines Eefehlsworts in den Programmzähler steuern.
  13. 13. Anordnung nach Anspruch 12, dadurch gekennzeichnet, daß das Freigabesignal von der ersten Decodiervorrichtung für alle Befehlswörter mit Ausnahme von Verzweigungs-, Verzweigungsadressen -, Abruf-, RUckkehr- und Vollzugs-Befehlswörtern erzeugt wird.
  14. 14. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß das Befehiswortregister in jeder Bitposition mit einem Bit mit dem Wert "O" geladen wird, wenn keine Freigabe durch die erste Decodiervorrichtung vorliegt.
  15. 15. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß das Befehlswortregister automatisch einen Nichtoperatlonsbefehl speichert, wenn keine Freigabe durch die erste Decodiervorrichtung vorliegt, wobei der Nichtoperationebefehl von der zweiten Decodiervorrichtung decodiert wird, damit das Festhalten der im Datenspeicher gespeicherten Daten erlaubt wird.
  16. 16. Anordnung nach Anspruch 15, dadurch gekennzeichnet, daß die zweite Decodiervorrichtung Befehlswörter decodiert, die die DatenUbertragung aus dem Datenspeicher in das Rechenwerk und das Arbeiten des Rechenwerks steuern, und daß die dritte Decodiervorrichtung Befehlswörter decodiert, die die Ubertragung eines Befehlsworts aus dem Befehlsspeicher in den Programmzähler steuern.
  17. 17. Anordnung nach Anspruch 16, dadurch gekennzeichnet, daß der Datenspeicher mehrere Schieberegister enthält, daß die numerischen Daten seriell in das Rechenwerk eingegeben werden, und daß eine Maskierungsvorrichtung vorgesehen ist, die abhängig von der zweiten Decodiervorrichtung ausgewählte Datenbits, die in wenigstens einem der Register gespeichert sind, zu dem Rechenwerk überträgt.
  18. 18. Anordnung nach Anspruch 17, gekennzeichnet durch eine Verzweigungssteueranordnung, die abhängig von der dritten Decodiervorrichtung eine von einem Befehlawort abhängige Adresse in den Programmzähler eingibt.
  19. 19. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß das Befehlswortregister von einer Gruppe von Flipflope gebildet ist,die rückgesetzt sind.
  20. 20. Verfahren zur Erzeugung von Steuersignalen zum Steuern des Betriebs einer elektronischen Mikroprozessoranordnung mit einem Befehlsspeicher zum Speichern mehrerer Befehlswörter, die die zu erzeugenden Steuersignale anzeigen, dadurch gekennzeichnet (a) daß aus dem Befehlsspeicher ein Befehiswort ausgegeben wird, (b) daß wenigstens ein Abschnitt des aus dem Befehlsspeicher ausgegebenen Worts decodiert wird, und ein Freigabesignal für ausgewählte Befehiswörter aus dem Befehlsspeicher erzeugt wird, (c) daß das aus dem Befehlsspeicher ausgegebene Befehlswort nur bei Erzeugung desFreigabesignals in einem Befehlsregister zwischengespeichert wird, (d) daß die in das Befehlswortregister geladenen ausge -wählten Befehlswörter decodiert werden und daß abhängig davon ein Steuersignal erzeugt wird, und (e) daß die vom Befehlsspeicher ausgegebenen Befehlswörter decodiert werden und abhängig davon Steuersignale erzeugt werden.
  21. 21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß in das Befehlsregister ein Nichtoperationsbefehl geladen wird, wenn das Freigabesignal nicht erzeugt ist.
  22. 22. Verfahren nach Anspruch 21, wobei die Mikroprozessoranordnung einen Datenspeicher zum Speichern numerischer Daten und ein Rechenwerk zur Durchführung arithmetischer Operationen an den im Datenspeicher gespeicherten numerischen Daten enthält, dadurch gekennzeichnet, daß die abhängig von der Decodierung ausgewählter Befehlswörter im Befehlsregister erzeugten Steuersignale Datenübertragungsoperationen in den Datenspeicher sowie vom Rechenwerk durchgeflihrte arithmetische Operationen steuern.
  23. 23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß die abhängig vom Decodieren des aus dem Befehlsspeicher ausgegebenen Befehlsworts erzeugten Steuersignale das Laden wenigstens eines Abschnitts des aus dem Befehlsspeichers ausgegebenen Befehlsworts in einen Programmzähler zur Adressierung des Befehlsspeichers laden, wodurch Verzweigungsoperationen in der elektronischen Mikroprozessoranordnung gesteuert werden.
  24. 24. Anordnung zum Entprollen von Tasten in einer elektronischen Mikroprozessoranordnung mit einem Datenspeicher zum Speichern numerischer Daten, einem Rechenwerk zur DurchfUhrung arithmetischer Operationen an den im Datenspeicher gespeicherten Daten, einem Programmzähler, einem Befehlsspeicher zum Speichern mehrerer Befehiswörter zur Steuerung des Betriebs der Mikroprozessoranordnung und zur Steuerung der Übertragung von Daten aus dem Datenspeicher in das Rechenwerk, wobei einmal während jedes Befehlszyklus der Mikroprozessoranordnung entsprechend einer Befehiswortadresse in dem Programmzähler eines der Befehiswörter ausgegeben wird und mit einer Tastenfeld-Abtastvorrichtung zum Koppeln der Mikroprozessoranordnung mit einem Tastenfeld, gekennzeichnet durch (a) eine Vorrichtung zum Laden einer Befehiswort-Startadresse in den Programmzähler, die entsprechend dem Abtasten des Niederdrückens einer Taste des Tastenfelds durch die Tastenfeld-Abtastvorrichtung erzeugt wird und die erste Adresse einer Gruppe von Befehiswörtern ist, die die Mikroprozessoranordnung zur Durchführung der durch die niedergedrückte Taste angezeigten Funktion ist, und (b) eine Vorrichtung zum Sperren der Startadressen-Ladevorrichtung nach dem Feststellen des Niederdrückens einer Taste durch die Tastenfeld-Abtastvorrichtung bis (i) das letzte Befehlswort der Gruppe von Befehlswörtern ausgegeben ist, und (11> kein weiteres Niederdrücken einer Taste von der Abtastvorrichtung während einer ausgewählten Zeitperiode mit der Dauer mehrerer Befehlszyklen festgestellt wird.
  25. 25. Anordnung nach Anspruch 24, dadurch gekennzeichnet, daß die Startadressen-Ladevorrichtung folgende Baueinheiten enthält: (a) eine Tastenspeichervorrichtung zum Speichern eines aus mehreren Bits zusamengesetzten Worts, das abhängig vom NiederdrUcken der Taste von der Tastenfeld-Abtastvorrichtung erzeugt wird, und (b) eine programmzähler-Eingabevorrichtung zum Eingeben wenigstens eines Abschnitts des aus mehreren Bits zusammengesetzten Worts in den Befehiszähler, wodurch der Befehiszähler mit der Befehlswort-Startadresse geladen wird.
  26. 26. Anordnung nach Anspruch 25, dadurch gekennzeichnet, daß das letzte Befehlswort der Gruppe von Befehlawörtern ein Vollzugsbefehl ist, der den Programmzäialer fUr einen Zählvorgang sperrt.
  27. 27. Anordnung nach Anspruch 26, dadurch gekennzeichnet, daß die Sperrvorrichtung ein Flipflop mit einem Setzzustand und einem RUCksetZZU8tandenthält das gesetzt ist, wenn die Abtastvorrichtung das Niederdrücken einer Taste feststellt, und das rUckgesetzt ist, wenn der Vollzugs-Befehl aus dem Befehlsspeicher ausgegeben ist und die Abtastvorrichtung kein NiederdrUcken einer Taste für die Dauer mehrerer Befehlszyklen feststellt, wobei im gesetzten Zustand des Flipflops ein Signal zum Sperren der Ladevorrichtung erzeugt wird.
  28. 28. Anordnung nach Anspruch 27, dadurch gekennzeichnet, daß das Flipflop von einem Entprell-Flipflop rückgesetzt wird, das einen Setzzustand und einen RücksetzzustaS aufweist, wobei sein 5 tzzustand eingegeben wird, wenn die Abtastvorrichtung das Niederdrücken einer Taste feststellt, während sein Rücksetzzustand eingegeben wird, wenn die Abtastvorrichtung kein Niederdrücken einer Taste für die Dauer mehrerer Befehlszyklen nach dem Ausgeben eines Vollzugs-Befehls aus dem Befehlsspeicher feststellt.
  29. 29. Verfahren zum Entprellen gedrückter Tasten eines an eine elektronische Mikroprozessoranordnung angeschlossenen Tastenfeldes mit einem flefehlsspeicher zum Speichern mehrerer Befehlswörter, die den Betrieb der Mikroprozessoranordnung steuern, wobei die Befehlswörter aus dem Befehlsspeicher einmal pro nefell]s.5yklus der Mikroprozessoranordnung ausgegeben werden, dadurch gekennzeichnet (a) daß niedergedrückte Tasten am Tastenfeld abgetastet werden, (b) daß ein Speicher mit einer aus mehreren Bits gebildeten Codegruppe geladen wird, die die am Tastenfeld niedergedrückte Taste anzeigt, (c) daß der flefehlsspeicher entsprechend der in dem Speicher gespeicherten Codegruppe adressiert wird, (d) daß eine Gruppe von Befehlawörtern zum Steuern der Mikro prozessoranordnung für die Durchführung der Operation gelesen wird, die durch die niedergedrückte Taste angezeigt wird, (e) daß das Lesen eines bestimmten Befehlsworts abgetastet wird, wobei dieses bestimmte Befehlswort aus dem Befehlsspeicher gegen Ende der Gruppe von Befehiswörtern geleser wird, und (f) daß das Adressieren des Befehlsspeichers abhängig von einem weiteren Niederdrücken einer Taste am Tastenfeld gesperrt wird, wenn der bestimmte Befehl nicht aus dem Befehlsspeicher ausgelesen worden ist und wenn kein weiteres Niederdru~cken einer Taste fUr die Dauer mehrerer Befehlszyklen danach festgestellt worden ist.
  30. 30. Verfahren nach Anspruch 29, dadurch gekennzeichnet, daß das bestimmte Befehlswort am Ende der Gruppe von Befehl8-wörtern liegt.
  31. 31. Volladdierer-Schaltungsanordnung mit einem ersten Eingang, einem zweiten Eingang und mit einem Übertrageingang, gekennzeichnet durch ein erstes Paar kreuzweise gekoppelter MOS-Tran8istoren, das den ersten Eingang und den zweiten Eingang mit einem Zwischenschaltungspunkt verbindet, ein zweites Paar kreuzweise gekoppelter MOS-Transistoren, das den Zwischenschaltungspunkt und den Ubertrageingang mit einem Ausgangsschaltungspunkt verbindet und eine Vorrichtung zum Vorladen des Zwischenschaltungspunkts und des Ausgangsschaltungspunkts.
  32. 32. Anordnung nach Anspruch 31, dadurch gekennzeichnet, daß die Source-Draln-Strecken der kreuzweise gekoppelten MOPS~ Transistoren des ersten Paars einzeln von dem ersten und dem zweiten Eingang zu dem Zwischenschaltungspunkt führen und daß ihre Gate-Elektroden einzeln jeweils an den anderen der eingänge angeschlossen sind.
  33. 33. Anordnung nach Anspruch 32, dadurch gekennzeichnet, daß die Source-Drain-Strecken der kreuzweise gekoppelten Transistoren des zweiten Paars jeweils einzeln von dem Zwischenschaltungspunkt und dem Übertrageingang zum Ausgangsschaltungspunkt fUhren und daß ihre Gate-Elektroden einzeln zum Zwischenschaltungspunkt und zum Übertrageingang führen.
  34. 34. Anordnung nach Anspruch 33, dadurch gekennzeichnet, daß die Vorladevorrichtung eigene MOS-Transistoren mit getakteten Gate-Elektroden aufweist.
  35. 35. Anordnung nach Anspruch 34, dadurch gekennzeichnet, daß der MOS-Transistor zum Vorladen des Zwischenschaltungspunkts ein Verhältnis von Kanaibreite zu Kanallänge aufweist, das klein im Vergleich zum entsprechenden Verhältnis der kreuzweise gekoppelten MOS-Transistoren des ersten Paars ist.
DE19772758160 1976-12-27 1977-12-27 Mikroprozessoranordnung und zugehoerige verzweigungssteueranordnung Granted DE2758160A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2760416A DE2760416C2 (de) 1976-12-27 1977-12-27 Verzweigungssteueranordnung für eine elektronische Datenverarbeitungsanordnung

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US75779176A 1976-12-27 1976-12-27
US76699877A 1977-02-09 1977-02-09
US05/767,086 US4100606A (en) 1977-02-09 1977-02-09 Key debounce system for electronic calculator or microprocessor
US05/767,084 US4112495A (en) 1977-02-09 1977-02-09 Electronic calculator or microprocessor having a selectively loadable instruction register

Publications (2)

Publication Number Publication Date
DE2758160A1 true DE2758160A1 (de) 1978-07-20
DE2758160C2 DE2758160C2 (de) 1987-08-13

Family

ID=27505681

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19772758160 Granted DE2758160A1 (de) 1976-12-27 1977-12-27 Mikroprozessoranordnung und zugehoerige verzweigungssteueranordnung
DE2760415A Expired - Lifetime DE2760415C2 (de) 1976-12-27 1977-12-27

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE2760415A Expired - Lifetime DE2760415C2 (de) 1976-12-27 1977-12-27

Country Status (2)

Country Link
JP (1) JPS5383544A (de)
DE (2) DE2758160A1 (de)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3911234A (en) 1973-07-05 1975-10-07 Amp Inc Keyboard type switch assembly having fixed and movable contacts disposed on foldable flexible printed circuit board
US3919532A (en) 1973-09-13 1975-11-11 Texas Instruments Inc Calculator system having an exchange data memory register
US3931507A (en) 1974-11-26 1976-01-06 Texas Instruments Incorporated Power-up clear in an electronic digital calculator
US3934233A (en) 1973-09-24 1976-01-20 Texas Instruments Incorporated Read-only-memory for electronic calculator
US3988604A (en) 1974-11-19 1976-10-26 Raymond Jr Joseph H Electronic calculator or digital processor chip having multiple function arithmetic unit output
DE2516370A1 (de) * 1975-04-15 1976-10-28 Nixdorf Computer Ag Verfahren und schaltungsanordnung zur ermittlung der betaetigung der tasten eines tastenfeldes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3911234A (en) 1973-07-05 1975-10-07 Amp Inc Keyboard type switch assembly having fixed and movable contacts disposed on foldable flexible printed circuit board
US3919532A (en) 1973-09-13 1975-11-11 Texas Instruments Inc Calculator system having an exchange data memory register
US3934233A (en) 1973-09-24 1976-01-20 Texas Instruments Incorporated Read-only-memory for electronic calculator
US3988604A (en) 1974-11-19 1976-10-26 Raymond Jr Joseph H Electronic calculator or digital processor chip having multiple function arithmetic unit output
US3931507A (en) 1974-11-26 1976-01-06 Texas Instruments Incorporated Power-up clear in an electronic digital calculator
DE2516370A1 (de) * 1975-04-15 1976-10-28 Nixdorf Computer Ag Verfahren und schaltungsanordnung zur ermittlung der betaetigung der tasten eines tastenfeldes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
US-Firmenschrift der Fa. Advanced Micro Devices "A Microprogrammed 16-Bit Computer", Sept. 1976, S. 1-26
US-Firmenschrift J. Mick, J. Brick "Microprogramming Handbook" Advanced Micro Devices, Nov. 1976, S. 1/1-1/5
US-Z: Control & Instrumentation, November 1972, Heft 10, S. 41-43

Also Published As

Publication number Publication date
JPS6218938B2 (de) 1987-04-25
DE2758160C2 (de) 1987-08-13
DE2760415C2 (de) 1991-10-17
JPS5383544A (en) 1978-07-24

Similar Documents

Publication Publication Date Title
DE2755273C2 (de)
DE2716369C2 (de)
DE2907181C2 (de) Prozessor mit einem Befehlssatz-Modifizierregister
DE2357003C2 (de) Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE1549523B2 (de) Datenverarbeitungsanlage
DE2219918A1 (de) Programmierbares Steuergerät
DE2019444A1 (de) Datenverarbeitungsanlage
DE3854212T2 (de) Signalgenerator für die Umlaufadressierung.
DE1965364A1 (de) Datenverarbeitungseinrichtung
DE1935944B2 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE2364865A1 (de) Erweitertes speicheradressenbildungssystem eines digitalen rechnersystems
DE2801853A1 (de) Integrierte digitale datenverarbeitungseinrichtung
DE1799012C3 (de) Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschritten in einem elektronischen Rechner
DE2440390C3 (de)
DE2758160A1 (de) Mikroprozessoranordnung und zugehoerige verzweigungssteueranordnung
DE2265696C2 (de) Rechenanordnung
DE2760416C2 (de) Verzweigungssteueranordnung für eine elektronische Datenverarbeitungsanordnung
DE3177305T2 (de) Modulares E/A-System.
DE1806464A1 (de) Adressengenerator fuer einen Digitalrechner
DE1549446A1 (de) Digitalrechner
DE2615080A1 (de) Anordnung und verfahren zum anzeigen von zeichen
DE2551852C2 (de)
EP0065037B1 (de) Schaltungsanordnung für eine aus gleichartigen Halbleiterbausteinen aufgebaute logische Verknüpfungsanordnung
DE2362245A1 (de) Rechenanordnung

Legal Events

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

Representative=s name: PRINZ, E., DIPL.-ING. LEISER, G., DIPL.-ING., PAT.

8125 Change of the main classification

Ipc: G06F 9/26

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2760415

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2760415

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2760416

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2760416

AH Division in

Ref country code: DE

Ref document number: 2760416

Format of ref document f/p: P

Ref country code: DE

Ref document number: 2760415

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
AH Division in

Ref country code: DE

Ref document number: 2760415

Format of ref document f/p: P

AH Division in

Ref country code: DE

Ref document number: 2760416

Format of ref document f/p: P