DE3750014T2 - Datenprozessor mit der Fähigkeit, die Verzweigungsadresse sofort zu berechnen in einer Relativadressenverzweigung. - Google Patents

Datenprozessor mit der Fähigkeit, die Verzweigungsadresse sofort zu berechnen in einer Relativadressenverzweigung.

Info

Publication number
DE3750014T2
DE3750014T2 DE3750014T DE3750014T DE3750014T2 DE 3750014 T2 DE3750014 T2 DE 3750014T2 DE 3750014 T DE3750014 T DE 3750014T DE 3750014 T DE3750014 T DE 3750014T DE 3750014 T2 DE3750014 T2 DE 3750014T2
Authority
DE
Germany
Prior art keywords
address
signal
branch
register
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3750014T
Other languages
English (en)
Other versions
DE3750014D1 (de
Inventor
Manabu C O Nec Corporat Kimoto
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE3750014D1 publication Critical patent/DE3750014D1/de
Application granted granted Critical
Publication of DE3750014T2 publication Critical patent/DE3750014T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
    • 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/321Program or instruction counter, e.g. incrementing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Memory System (AREA)

Description

    Hintergrund der Erfindung Feld der Erfindung
  • Die Erfindung betrifft einen Digitalcomputer mit gespeichertem Programm und insbesondere einen Datenprozessor zur Verwendung in kleinen Digitalcomputern wie Mikrocomputern.
  • Beschreibung bekannter Technik
  • Im Allgemeinen sind Digitalcomputer mit gespeichertem Programm in der Lage, notwendige Befehle und Daten aus einem zugeordneten Speicher zu holen und einen notwendigen Betrieb durchzuführen. Heutzutage ist ein Programmzähler als Einrichtung zur Bezeichnung der Adresse von Befehlen, die aus dem Speicher auszulesen sind, weit gebräuchlich. Jedesmal, wenn ein Befehl ausgeführt wird, wird der Programmzähler inkrementiert, um die Adresse eines als nächstes auszuführenden Befehls zu bezeichnen, so daß eine Folge von Befehlen entsprechend den Adressen, die durch den Programmzähler angezeigt werden, ausgelesen werden. Bei diesem Verfahren ist jedoch zur Änderung des Ablaufs aufeinanderfolgender Operationen ein sog. Zweigbefehl erforderlich.
  • Der Zweigbefehl ist in einen Absolutadreß-Zweigbefehl und einen Relativadreß-Zweigbefehl unterteilt. Die meisten klein ausgelegten Mikrocomputer der Anfangsphase arbeiteten mit nur den Absolutadreß-Zweigbefehlen. Ein erster Grund liegt darin, daß die Mikrocomputer der Anfangsphase nur Arbeiten von einigen Kilobytes oder weniger Programmanteil handhaben können, und auf Grund dessen hat die Verwendung des Absolutadressenzweigs nicht viel Schwierigkeiten in der Programmentwicklung verursacht. Ein zweiter Grund liegt darin, daß eine aufwendige Steuerung für die Hardware erforderlich ist, um Relativadresszweige auszuführen.
  • Das Auftreten von Mikrocomputern, die einen Speicherraum von 64 Kilobytes oder mehr aufweisen, erfordert als eine notwendige Minimalbedingung, daß ein Programm im Zuge der Entwicklung im Hinblick auf die Einfachheit der Edition und Modifikation des Programmes verschieblich (relocatable) ist. Um dieser Anforderung zu genügen, sollte der Zweigbefehl der Relativadreß-Zweigbefehl sein.
  • Bislang wurde der Relativadreß-Zweigbefehl durch Berechnung der Zweigadresse unter Verwendung einer arithmetisch und logischen Einheit für Datenverarbeitung ausgeführt und anschließend durch Einstellen der berechneten Zweigadresse am Programmzähler.
  • Bei allgemeinen Mikrocomputern hat jedoch die Adreßinformation für den Speicherzugriff eine größere Bitlänge als die der in dem Mikrocomputer verarbeiteten Daten. Aufgrunddessen kann die arithmetisch und logische Einheit die Bestimmungsadresse des Relativadreßzweiges nicht nur mit einer Operation berechnen. Auf Grund dessen muß eine Anzahl von Operationen durchgeführt werden. Dies ist ein Hinderungsgrund für den Hochgeschwindigkeitsbetrieb des Computers.
  • Eine Betrachtung der Relativadreßzweigbefehle in gebräuchlichen Computerprogrammen vom statistischen Gesichtspunkt zeigt, daß die Zweigbestimmungsadressen in einem begrenzten Bereich nahe der aktuellen Adresse verteilt sind, und es ist ein seltener Fall, daß die Zweigbestimmungsadressen in einem weiten Bereich, der durch den Mikrocomputer zugreifbar ist, verteilt sind. Dies bedeutet für den Fall der Relativadreßzweigbefehle, daß es ausreichend ist, wenn der Mikrocomputer eine Funktion zum Verzweigen zu einer Adresse aufweist, die in einem begrenzten Bereich enthalten ist.
  • In jedem Fall sind eine Anzahl von Operationen für die Berechnung der Zweigbestimmungsadresse noch erforderlich, selbst wenn der Relativadreßzweig das obengenannte Merkmal aufweist. Zur Beschleunigung der Berechnung der Zweigbestimmungsadresse war es somit bei der bekannten Technik erforderlich, eine unabhängige Betriebseinheit nur für die Zweigbestimmungsadreßberechnung vorzusehen, so daß die arithmetisch und logische Einheit für die Datenverarbeitung nicht für die Adreßberechnung verwendet wird.
  • Eine Technik zur Hochgeschwindigkeitsverarbeitung von Relativsprungbefehlen ist in IBM Technical Disclusure Bulletin, Ausgabe 20, Nummer 4, September 1977, Seiten 1284-1285 beschrieben. Bei dieser Technik berechnet der Assembler die niedrigsten vier Bit der Bestimmungsadresse und fügt sie anstatt der tatsächlichen Verschiebung in den Befehl ein, und abhängig von der Sprungrichtung und eines Vergleichs der vier niedrigsten Bits der Bestimmungsadresse mit den niedrigsten vier Bit des Programmzählers werden die verbleibenden zwölf Bit entweder inkrementiert oder dekrementiert. Die Inkrementierung wird durch eine gewöhnliche 16- Bit-Inkrementlogik durchgeführt und die Dekrementierung wird unter Verwendung einer Acht-Bit-ALU und einem zusätzlichen Vier-Bit-Dekrementer durchgeführt.
  • Dementsprechend ist es eine Aufgabe der Erfindung, einen Mikrocomputer zu schaffen, der die oben beschriebenen Nachteile der bekannten vermeidet.
  • Eine weitere Aufgabe der Erfindung liegt in der Schaffung eines Datenprozessors, der in der Lage ist, eine Zweigbestimmungsadresse eines Relativadressenzweiges mit hoher Geschwindigkeit und mit einer einfachen Zusatzschaltung zu berechnen.
  • Diese Aufgaben werden durch einen Datenprozessor gemäß Anspruch 1 gelöst; die abhängigen Ansprüche betreffen weitere Entwicklungen der Erfindung.
  • Die obengenannten und andere Aufgaben, Merkmale und Vorteile der Erfindung werden aus der folgenden Beschreibung der bevorzugten Ausführungsform der Erfindung mit Bezug auf die beigefügten Zeichnungen deutlich.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm einer Ausführungsform des Datenprozessors gemäß der Erfindung;
  • Fig. 2 ist ein Schaltungsdiagramm der Steuerschaltung von Fig. 1; und
  • Fig. 3 zeigt die Struktur der Maschinensprache des Relativadresszweigbefehls, die in der Ausführungsform gemäß Fig. 2 verwendet wird.
  • Beschreibung des bevorzugten Ausführungsbeispiels
  • Bezugnehmend auf Fig. 1 umfaßt ein erfindungsgemäßer Datenprozessor einen Adreßbus 10, der zur Übertragung einer Adreßinformation zum Zugriff auf einen Speicher 12, der mit dem Adreßbus 10 gekoppelt ist, verwendet wird. In diesem Ausführungsbeispiel ist der Adreßbus 10 vom Paralleltyp mit einer Breite von 16 Bit. Der Speicher 12 ist ebenfalls mit einem Datenbus 20 verbunden, der zur Übertragung verschiedener Punkte von Daten innerhalb des Computers verwendet wird. In diesem Ausführungsbeispiel ist der Datenbus 20 vom Paralleltyp mit einer Breite von 8 Bit.
  • Ein Paar Befehlsadreßregister 30 und 31 mit 8 Bit sind mit ihren Ausgängen mit dem Datenbus 20 verbunden. Des weiteren sind ein Paar Inkrementer/Dekrementer 40 und 41 mit 8 Bit mit ihren einen Eingängen mit dem Datenbus 20 und mit ihren anderen Eingängen mit den Ausgängen der Befehlsadreßregister 30 bzw. 31 verbunden. Die Ausgänge der Inkrementer/Dekrementer 40 und 41 sind mit entsprechenden Eingängen eines Paars von Adreßhalteeinrichtungen 50 und 51 mit 8 Bit verbunden. Diese Adresshalteeinrichtungen 50 und 51 sind mit ihren Ausgängen mit den acht niederwertigen Bits bzw. mit den acht höherwertigen Bits des Adreßbusses 10 verbunden und ferner mit den Eingängen der Befehlsregister 30 bzw. 31.
  • Des weiteren umfaßt der dargestellte Datenprozessor eine arithmetisch und logische Einheit (ALU) 60 mit einem Paar von 8-Bit-Eingängen, die mit den Ausgängen eines Paars temporärer Eingangsregister 61 und 62 mit acht Bit verbunden sind, die ihrerseits mit ihren Eingängen mit dem Datenbus 20 verbunden sind. Die ALU 60 hat einen Acht-Bit-Ausgang, der mit dem Eingang eines temporären Ausgangsregisters 63 mit 8 Bit verbunden ist, dessen Ausgang mit dem Datenbus 20 verbunden ist.
  • Das höchstwertige Bit (MSB) 64 des Temporärregisters 61 wird einer Steuerschaltung 70 zugeführt, die ferner ein Übertragsignal 62 von der ALU 60 erhält, ein weiteres Übertragsignal 66 vom Inkrementer/Dekrementer 40 und ein Steuersignal 67, das einen Relativadreßzweigbefehl anzeigt. Die Steuerschaltung 70 kann auf die obengenannten vier Signale antworten zur Erzeugung eines Inkrementsignals 71 oder eines Dekrementsignals 72 für den Inkrementer/Dekrementer 41.
  • Insbesondere speichern die Befehlsadreßregister 30 und 31 die Adresse eines im Speicher 12 gespeicherten und aus dem Speicher 12 zu lesenden Befehls derart, daß das Register 30 die niederwertigen acht Bit der Adresse und das Register 31 die höherwertigen acht Bit derselben Adresse speichern. Andererseits erhalten die temporären Eingangsregister 61 und 62 jeweils über den Datenbus 20 die in die Alu 60 einzugebenden Daten und geben dann die temporär gehaltenen Daten an die Alu 60. Gleichzeitig wird das Signal 64 des höchstwertigen Bits (MSB) der Steuerschaltung 70 vom Temporärregister 61 zugeführt. Beispielsweise addiert die ALU 60 das von den Temporärregistern 61 und 62 zugeführte Datenpaar und gibt ein Datensignal bezüglich des Resultates der Addition durch das Temporär-Ausgangsregister 63 an den Datenbus 20 aus. Gleichzeitig mit der Additionsoperation erzeugt die ALU 60 ein Übertragssignal 65 für die Steuerschaltung 70, falls ein Übertrag aufgetreten ist.
  • Die Inkrementer/Dekrementer 40 und 41 erhalten jeweils die auf den Datenbus 20 ausgegebenen Daten und geben dann die Daten an die Adresshalteeinrichtungen 50 bzw. 51 aus. Wenn desweiteren das Inkrementsignal 71 durch die Steuerschaltung 70 erzeugt wird, inkrementiert der Inkrementer/Dekrementer 41, der die höherwertige Hälfte der Daten erhält, den Inhalt des höherwertigen Befehlsadreßregisters 31, um eine Inkrement-Adreßinformation an die Adreßhalteeinrichtung 51 auszugeben.
  • Wenn durch die Steuerschaltung 70 das Dekrementsignal 72 erzeugt wird, dekrementiert der Inkrementer/Dekrementer 41 den Inhalt des Registers 31, um eine Dekrement-Adreßinformation an die Adreßhalteeinrichtung 51 auszugeben. Diese Adreßhalteeinrichtungen 50 und 51 halten jeweils die Eingangsadreßinformation von 8 Bit und geben dann die gehaltene Adresse an den Adreßbus 10 in Form von 16 Bit aus.
  • Bezugnehmend auf Fig. 2 ist dort ein Schaltungsdiagramm der Steuerschaltung 70 dargestellt. Die dargestellte Steuerschaltung 70 umfaßt eine UND-Schaltung 74 mit drei Eingängen, die so geschaltet ist, daß sie an ihrem ersten Eingang das Steuersignal 67 erhält, das die Relativadreßzweigbefehle angibt, an ihrem zweiten Eingang das Übertragsignal 65, das von der ALU 60 ausgegeben wurde, und an ihrem dritten Eingang über einen Inverter 76 das MSB-Signal 64, das vom Temporäreingangsregister 61 zugeführt wird. Ein Ausgang der UND-Schaltung 74 ist mit einem Eingang einer ODER- Schaltung 73 verbunden, deren anderer Eingang zum Empfang des Übertragsignals 66, das vom Inkrementer/Dekrementer 40 ausgegeben wird, geschaltet ist. Die ODER-Schaltung 73 erzeugt das Inkrementsignal 71, das dem Inkremter/Dekrementer 41 zugeführt wird. Die Steuerschaltung 70 umfaßt ferner eine weitere UND-Schaltung 75 mit drei Eingängen, die das Steuersignal 67 und das MSB-Signal 64 und ferner das Übertragsignal 65 über einen weiteren Inverter 77 erhält. Diese UND-Schaltung 75 erzeugt das Dekrementsignal 72 für den Inkrementer/Dekrementer 41.
  • Bezugnehmend auf Fig. 3 ist dort ein Beispiel einer Maschinensprache der Relativadreßzweigbefehle dargestellt. Der Zweigbefehl umfaßt zwei Bytes, wobei das erste Byte aus einem Operationscode (OPC) besteht. Das zweite Byte bezeichnet eine Zweigrelativadresse, die in ein höchstwertiges Bit (MSB) und andere sieben Bit unterteilt ist und wie folgt definiert ist: wenn das MSB "0" ist, wird befohlen, zu der Adresse zu verzweigen, die durch Addition der aktuellen Adresse mit den unteren sieben Bit des zweiten Byte erhalten wird. Wenn das MSB "1" ist, wird befohlen, zu der Adresse zu verzweigen, die durch Addition des Datums in Komplementform der unteren sieben Bit des zweiten Byte zu der aktuellen Adresse erhalten wird (d. h. durch Subtraktion des Datums der unteren sieben Bit des zweiten Byte von der aktuellen Adresse). Diese Operation für den Zweigbefehl wird unter Steuerung eines Sequenzkontrollers (nicht dargestellt) als Resultat der Dekodierung des Operationskodes, der im ersten Byte enthalten ist, durchgeführt.
  • Im Folgenden wird der Betrieb erläutert. Wenn der Relativadresszweigbefehl erfaßt wird, wird das Steuersignal 67 auf den hohen Pegel "1" gebracht. Des weiteren wird das Datum des zweiten Bytes des Relativadreßbefehls, wie in Fig. 3 dargestellt ist, im Temporäreingangsregister 61 gespeichert, und das niedrigstwertige Byte der Befehlsadresse, die im Befehlsadreßregister 30 enthalten ist, wird über den Datenbus 20 im Temporär-Eingangsregister 62 gespeichert. Das in den Temporärregistern 61 und 62 gespeicherte Datenpaar wird der ALU 60 zugeführt, wo das Paar der Daten addiert wird. Das Resultat der Addition wird an das Temporär-Ausgangsregister 63 ausgegeben und dort gehalten und anschließend über den Datenbus 20 dem niedrigerwertigen Inkrementer/Dekrementer 40 zugeführt. Zu diesem Zeitpunkt führt der Inkrementer/Dekrementer 40 weder den Inkrementvorgang noch den Dekrementvorgang durch, so daß das Ergebnis der Addition der Adreßhalteeinrichtung 50 so wie es ist eingegeben wird. Gleichzeitig mit dieser Operation erzeugt die die Signale 64 und 65 erhaltende Steuerschaltung 70 das Inkrementsignal 71 oder das Dekrementsignal 72 für den höherwertigen Inkrementer/Dekrementer 41. Falls insbesondere das MSB-Signal 64 des Temporär-Eingangsregisters 61 auf "0" ist, wenn das Übertragsignal 65 durch die ALU 60 erzeugt wird, wird das Inkrementsignal 71 erzeugt, da das Steuersignal 67 auf dem hohen Pegel "1" ist. Andererseits, falls das MSB-Signal 64 des Temporär-Eingangsregisters 61 auf "1" ist, wenn das Übertragsignal 65 nicht durch die ALU 60 erzeugt wird, wird das Dekrementsignal 72 erzeugt.
  • Falls das Inkrementsignal 71 dem höherwertigen Inkrementer/Dekrementer 41 eingegeben wird, wird der Inhalt des höherwertigen Befehlsadreßregisters 31 durch den höherwertigen Inkrementer/Dekrementer 41 inkrementiert, so daß das inkrementierte Datum der Adreßhalteeinrichtung 51 ausgegeben wird. Andererseits, wenn das Dekrementsignal 72 dem höherwertigen Inkrementer/Dekrementer 41 eingegeben wird, wird der Inhalt des höherwertigen Befehlsadreßregisters 31 durch den Inkrementer/Dekrementer 41 dekrementiert, und das dekrementierte Datum wird der Adreßhalteeinrichtung 51 ausgegeben. In den anderen Fällen als den oben beschriebenen, da das Ergebnis der durch die ALU 60 durchgeführten Adreßberechnung für die unteren acht Bit der Adresse die oberen acht Bit der Adresse nicht beeinflußt, werden weder das Inkrementsignal 71 noch das Dekrementsignal 72 erzeugt. Insbesondere wird der Inhalt des höherwertigen Befehlsadreßregisters 31 der Adreßhalteeinrichtung 51 ohne Veränderung eingegeben.
  • Wenn somit das MSB-Signal 64 auf "0" ist, wird die absolute Zweigbestimmungsadresse von 16 Bit erhalten durch Addieren des gesamten 16-Bit-Inhalts der Befehlsadreßregister 30 und 31 mit den unteren sieben Bit des zweiten Byte des Relativadreß-Zweigbefehls und dann in den Adreßhalteeinrichtungen 50 und 51 in geteilter Form gehalten. Die Adresse mit insgesamt 16 Bit, die in den Adreßhalteeinrichtungen 50 und 51 gehalten ist, wird dem Adreßbus 10 und somit dem Speicher 12 ausgegeben. Falls des weiteren das MSB-Signal 64 auf "1" ist, wird die absolute Zweigbestimmungsadresse von 16 Bit durch Subtrahieren der unteren sieben Bit des zweiten Byte des Relativadreßbefehls von dem 16-Bit-Inhalt der Befehlsadreß-Register 30 und 31 erhalten und dann in den Adreßhalteeinrichtungen 50 und 51 gehalten, so daß sie zum Adreßbus 10 übertragen werden.
  • Wenn das Steuersignal 67 auf dem unteren Pegel "0" ist, der eine nichtverzweigte Operation anzeigt, werden die UND-Tore 74 und 75 geschlossen, so daß weder das Inkrementsignal noch das Dekrementsignal durch die UND-Tore 74 und 75 erzeugt werden. In diesem Fall erhöht bei jeder Operation, die durch die ALU 60 durchgeführt wird, der niedrigerwertige Inkrementer/Dekrementer 40 den Inhalt des niedrigerwertigen Adreßregisters 30 und gibt das inkrementierte Datum an die Adreßhalteeinrichtung 50. Als Ergebnis der Inkrementierung, falls das Übertragsignal 66 durch den niedrigerwertigen Inkrementer/Dekrementer 40 erzeugt wird, wird das Übertragsignal 66 über eine ODER-Schaltung 73 als das inkrementierte Signal 71 dem höherwertigen Inkrementer/Dekrementer 41 zugeführt. Zu diesem Zeitpunkt inkrementiert dieser Inkrementer/Dekrementer 41 den Inhalt des höherwertigen Befehlsadreßregisters 31 und gibt das inkrementierte Datum der Adreßhalteeinrichtung 51 aus. Sofern das Inkrementsignal 71 nicht eingegeben wird, liefert der Inkrementer/Dekrementer 41 den Inhalt des Registers 31 der Adreßhalteeinrichtung 51 ohne Änderung. Dementsprechend arbeiten die Schaltungen 30, 31, 40, 41, 50 und 51 als Programmzähler mit 16 Bit in einem normalen sequentiellen Programmbetrieb.

Claims (9)

1. Datenprozessor, bei dem eine Speicherzugriffs-Adreßinformation eine größere Bitlänge als die im Prozessor verarbeiteten Daten aufweist, mit einem Adreßbus (10), einem Datenbus (20), einem ersten und einem zweiten Befehlsadreßregister (31, 30), die mit dem Adreßbus (10) und dem Datenbus (20) verbunden sind und für das jeweilige Speichern eines höherwertigen Teils und eines niederwertigen Teils der Adresse eines zu lesenden Befehls verwendet werden, einer arithmetischen und logischen Einheit (60) die mit dem Datenbus (20) verbunden ist und eine Berechnung aufgrund des Inhaltes des zweiten Befehlsadreßregisters und eines Offset, der in einem Relativadreß-Verzweigungsbefehl enthalten ist, durchführen kann, einer Steuerschaltung (70), die mit der arithmetischen und logischen Einheit derart verbunden ist, um ein Inkrementierungssignal (71) oder ein Dekrementierungssignal (72) aufgrund des Ergebnisses der Berechnung durch die arithmetische und logische Einheit zu erzeugen, einem Inkrementer/Dekrementer (41), der über den Datenbus mit dem ersten Befehlsadreßregister (31) verbunden ist und durch das Inkrementsignal (71) und das Dekrementsignal (72) derart gesteuert wird, daß der Inhalt des ersten Befehlsadreßregisters (31) erhöht wird, wenn das Inkrementsignal empfangen wird, und der Inhalt des ersten Befehlsadreßregisters (31) vermindert wird, wenn das Dekrementsignal empfangen wird.
2. Datenprozessor nach Anspruch 1, mit ferner einem Speicher (12), der mit dem Adreßbus gekoppelt ist, so daß erforderliche Informationen von einer Position, die durch die über den Adreßbus übertragene Adresse angegeben wird, ausgelesen werden kann.
3. Datenprozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Datenbus (20) und jedes der ersten und zweiten Befehlsadreßregister (30, 31) N Bits aufweist.
4. Datenprozessor nach Anspruch 3, mit ferner einem zweiten Inkrementer/Dekrementer (40), der mit dem zweiten Befehlsadreßregister (30) verbunden ist, wobei der erste und der zweite Inkrementer/Dekrementer (41, 40) mit ihren Ausgängen mit einer ersten und einer zweiten Adreßhalteeinrichtungen (51, 50) mit N Bits verbunden ist, die ihrerseits mit ihren Ausgängen mit den höherwertigen N Bits und den niedrigerwertigen N Bits des Adreßbusses (10) verbunden sind und die ferner mit dem ersten bzw. dem zweiten Befehlsadreßregister (31, 30) verbunden sind.
5. Datenprozessor nach Anspruch 3, wobei die arithmetische und logische Einheit (60) einen ersten Eingang mit N Bit aufweist, der über ein erstes Temporär-Eingangsregister (60) mit dem Datenbus verbunden ist, so daß er einen N Bit-Teil des Relativadressen-Verzweigungsbefehls erhält, einschließlich des Offsets, und einen N Bit-Eingang, der über ein zweites Temporär-Eingangsregister (62) mit dem Datenbus verbunden ist, so daß er den Inhalt des zweiten Befehlsadressenregisters (30) erhält.
6. Datenprozessor nach Anspruch 5, wobei der N Bit-Teil, der im ersten Temporär-Eingangsregister (61) gehalten wird, das höchstwertige Bit (MSB) umfaßt, das angibt, ob eine Addition oder eine Subtraktion durchgeführt werden soll, um die Verzweigungsbestimmungsadresse aus der Relativ-Verzweigungsadresse zu erhalten, und die anderen (N-1) Bit die relative Verzweigungsadresse angeben, und wobei die Steuerschaltung (70) ein Übertragssignal (65) erhält, das durch die arithmetische und logische Einheit (60) erzeugt wird, und das Signal (64) mit dem höchstwertigen Bit des ersten Temporär-Eingangsregisters, wobei die Steuerschaltung selektiv das Inkrementsignal (71) oder das Dekrementsignal (72) in Abhängigkeit von einer Logikkombination der beiden Eingangssignale erzeugt.
7. Datenprozessor nach Anspruch 6, wobei die Steuerschaltung (70) eine erste UND-Schaltung (74) aufweist, die an ihrem ersten Eingang ein Übertragssignal (65) von der arithmetischen und logischen Schaltung (60) erhält und an ihrem zweiten Eingang über einen Inverter (76) das Signal (64) des höchstwertigen Bits des ersten Temporär-Eingangsregisters (61) erhält zur Erzeugung des Inkrementsignals (71), und eine zweite UND-Schaltung (75), die an ihrem ersten Eingang über einen weiteren Inverter (77) das Übertragssignal (65) von der arithmetischen und logischen Einheit (60) und an ihrem zweiten Eingang das Signal (64) des höchstwertigen Bits des ersten Temporär-Eingangsregisters (61) erhält zum Zweck der Erzeugung des Dekrementsignals (72).
8. Datenprozessor nach Anspruch 7, wobei jede der ersten und zweiten UND-Schaltungen (74, 75) einen dritten Eingang aufweist, der ein Steuersignal (67) erhält, das den Relativadressen-Verzweigungsbefehl angibt.
9. Datenprozessor nach Anspruch 3, wobei die arithmetische und logische Einheit (60) den Inhalt des zweiten Befehlsadreßregisters (30) und den Offset, der in einem Relativadressen-Verzweigungsbefehl enthalten ist, addieren kann, so daß das Additionsresultat an den Adreßbus (10) als die niedrigeren N Bits der Verzweigungs-Bestimmungsadresse ausgegeben wird, und wobei der Inkrementer/Dekrementer (41) das inkrementierte/dekrementierte Signal an den Adreßbus als die höheren N Bits der Verzweigungs-Bestimmungsadresse ausgibt.
DE3750014T 1986-10-29 1987-10-29 Datenprozessor mit der Fähigkeit, die Verzweigungsadresse sofort zu berechnen in einer Relativadressenverzweigung. Expired - Fee Related DE3750014T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61258917A JPH0831033B2 (ja) 1986-10-29 1986-10-29 データ処理装置

Publications (2)

Publication Number Publication Date
DE3750014D1 DE3750014D1 (de) 1994-07-14
DE3750014T2 true DE3750014T2 (de) 1995-01-12

Family

ID=17326823

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3750014T Expired - Fee Related DE3750014T2 (de) 1986-10-29 1987-10-29 Datenprozessor mit der Fähigkeit, die Verzweigungsadresse sofort zu berechnen in einer Relativadressenverzweigung.

Country Status (3)

Country Link
EP (1) EP0265948B1 (de)
JP (1) JPH0831033B2 (de)
DE (1) DE3750014T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4340551A1 (de) * 1993-11-29 1995-06-01 Philips Patentverwaltung Programmspeichererweiterung für einen Mikroprozessor
EP0730220A3 (de) * 1995-03-03 1997-01-08 Hal Computer Systems Inc Verfahren und Vorrichtung zur schnellen Ausführung von Verzweigungsbefehlen
US5958039A (en) * 1997-10-28 1999-09-28 Microchip Technology Incorporated Master-slave latches and post increment/decrement operations
JP4920960B2 (ja) * 2005-11-24 2012-04-18 朝日ウッドテック株式会社 木質床構造および木質床の施工方法
JP2007327290A (ja) * 2006-06-09 2007-12-20 Yuka Sansho Kenzai Kk 床構造の構築方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3774166A (en) * 1963-09-30 1973-11-20 F Vigliante Short-range data processing transfers
JPS5343448A (en) * 1976-10-01 1978-04-19 Hitachi Ltd Lsi sequence control circuit
JPS5563442A (en) * 1978-11-07 1980-05-13 Fujitsu Ltd Address set control system
JPS55103653A (en) * 1979-01-31 1980-08-08 Nec Corp Data processing unit
US4449185A (en) * 1981-11-30 1984-05-15 Rca Corporation Implementation of instruction for a branch which can cross one page boundary
JPS5911451A (ja) * 1982-07-13 1984-01-21 Nec Corp 分岐制御方式
JPS617945A (ja) * 1984-06-22 1986-01-14 Usac Electronics Ind Co Ltd 実効アドレス計算方式

Also Published As

Publication number Publication date
EP0265948A2 (de) 1988-05-04
DE3750014D1 (de) 1994-07-14
JPH0831033B2 (ja) 1996-03-27
EP0265948A3 (en) 1990-05-02
JPS63111535A (ja) 1988-05-16
EP0265948B1 (de) 1994-06-08

Similar Documents

Publication Publication Date Title
DE3687724T2 (de) Digitalprozessorsteuerung.
DE3785897T2 (de) Steuervorrichtung zum vorabruf von befehlen.
DE3751297T2 (de) Schaltung zur Programmsteuerung.
DE69613071T2 (de) Prozessor und Kontrollverfahren zur Ausführung richtiger Saturationsoperation
DE3688802T2 (de) Arithmetische Einheit mit einfachem Überlaufdetektionssystem.
DE3688824T2 (de) Datenverarbeitungssystem.
DE68928677T2 (de) Verfahren und digitaler Computer zur Vorverarbeitung mehrerer Befehle
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE2835095C2 (de) Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren
DE2948285A1 (de) Adressensteuersystem fuer softwaresimulation
DE1549480A1 (de) Datenverarbeitungsanlage
DE3751108T2 (de) Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden.
DE69231237T2 (de) Datenverarbeitungsvorrichtung
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE3856139T2 (de) Mikroprozessor
DE3788290T2 (de) Arithmetische Schaltung, welche Gleitkommaoperationen und Festkommaoperationen ausführen kann.
DE68927652T2 (de) Dividierschaltung für ganze Zahlen, versehen mit einer Überlaufdetektionsschaltung
DE2533737A1 (de) Datenprozessor
DE3852196T2 (de) Gruppenbezogenes Adressierungssystem.
DE3689217T2 (de) Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher.
DE3307194C2 (de)
DE3750014T2 (de) Datenprozessor mit der Fähigkeit, die Verzweigungsadresse sofort zu berechnen in einer Relativadressenverzweigung.
DE3882425T2 (de) Datenübertragungssteuerungsvorrichtung für Direktspeicherzugriff.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee