DE2502005A1 - Verfahren zur zuordnung von adressen in datenverarbeitungseinrichtungen - Google Patents

Verfahren zur zuordnung von adressen in datenverarbeitungseinrichtungen

Info

Publication number
DE2502005A1
DE2502005A1 DE19752502005 DE2502005A DE2502005A1 DE 2502005 A1 DE2502005 A1 DE 2502005A1 DE 19752502005 DE19752502005 DE 19752502005 DE 2502005 A DE2502005 A DE 2502005A DE 2502005 A1 DE2502005 A1 DE 2502005A1
Authority
DE
Germany
Prior art keywords
address
memory
command
words
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
DE19752502005
Other languages
English (en)
Other versions
DE2502005C2 (de
Inventor
Lorenz Dipl Phys Hanewinkel
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.)
Nixdorf Computer AG
Original Assignee
Nixdorf Computer AG
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 Nixdorf Computer AG filed Critical Nixdorf Computer AG
Priority to DE19752502005 priority Critical patent/DE2502005C2/de
Priority to JP292176A priority patent/JPS5732815B2/ja
Priority to GB196376A priority patent/GB1520981A/en
Publication of DE2502005A1 publication Critical patent/DE2502005A1/de
Priority to US05/844,885 priority patent/US4162519A/en
Application granted granted Critical
Publication of DE2502005C2 publication Critical patent/DE2502005C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format

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)

Description

KARI4-HEINZ SCHAUMBIJRG
PATE N TAN W AtT
800O MÜNCHEN 8O
JIAFEHKIRCEERSTH. TKiEPON (Ο8Θ) Θ81Θ7Θ TELEX Ο22Ο1Θ
Nixdorf Computer AG
4790 Paderborn
Fürstenweg 1N5 1175 D
20. Januar 1975
Verfahren zur Zuordnung von Adressen in Datenverarbeitungseinrichtungen
Die Erfindung betrifft ein Verfahren zur Zuordnung von Adressen in Datenverarbeitungseinrichtungen abhängig von einer Steuerung durch Befehle, bei dem jedes Befehlswort die Ausgabe eines Adreßworts in Paralleldarstellung aus einem Speicherabsehnitt bewirkt.
Ein Verfahren dieser Art wird dazu angewendet, beim nacheinander erfolgenden Abrufen der Befehle eines gespeicherten Programms abhängig von dem jeweiligen Befehl ein Adreßwort zu bilden, mit dem als Steuerkriterium verschiedenste Punktionen ausgelöst werden können. Solche Funktionen sind beispielsweise Betriebsschritte in datenverarbeitenden Einrichtungen, in Datenein- und -ausgabegeräten oder auch in Fertigungsmaschinen oder Werkzeugmaschinen.
— 2 —
609830/0470
Eine Einrichtung zur Durchführung eines derartigen Verfahrens, die in der Fachsprache auch als "Mikroprozessor" bezeichnet wird, enthält meist ein Rechenwerk, ein Steuerwerk, sowie einen Speicher, der gegebenenfalls auch durch äußere zusätzliche Speichereinrichtungen ergänzt werden kann.
Im Zuge moderner Fertigungstechnik und der Entwicklung der integrierten Schaltungstechnik wird es erforderlich, die Zuordnung von Adressen abhängig von Befehlen mit Einrichtungen durchzuführen, die in integrierter Technik aufgebaut sind. Dies bedeutet, daß die Funktionseinheiten solcher Einrichtungen auf einem sehr kleinen Schaltungsträger, also auf äußerst geringem Raum unterzubringen sind, wobei aber eine relativ hohe Zahl von Anschlüssen anzubringen ist. Wenn aber die Größe des Schaltungsträgers durch den integrierten Aufbau begrenzt ist, tritt das zusätzliche Problem auf, die zahlreichen Ein- und Ausgabefunktionen, die bei der Zuordnung von Adressen abhängig von Befehlen auftreten, im Gegensatz zu bisherigen Möglichkeiten mit einer kleineren Zahl von Anschlüssen zu verwirkliehen bzw. hierzu mit einer relativ kleinen maximalen Zahl von Anschlüssen auszukommen. Zusätzlich besteht die Forderung, eine derartige in integrierter Technik aufgebaute Einrichtung mit der bisher möglichen Freizügigkeit zusammen mit verschiedensten anderen Einrichtungen verwenden zu können, d. h. es sollen mit dieser Einrichtung Befehle üblicher Art verarbeitet und Adreßworte üblicher Art ausgegeben werden können.
Die Adreßworte haben in den meisten Fällen eine relativ große Länge, da mit ihnen insbesondere bei großen datenverarbeitenden Einrichtungen über eine Vielzahl von Adressen entsprechend viele Speicherplätze anzusteuern sind. Eine Möglichkeit, lange Adreßworte mit begrenztem Aufwand darzustellen, besteht nun beispielsweise darin, zunächst einzelne Teile des Adreßwortes zu erzeugen und sie dann nacheinander in ein externes Register einzuspeichern, wodurch diese Wortteile gewissermaßen zusammengesetzt und dann gleichzeitig in einem Schritt ausgegeben werden können. Zu dieser Art der Darstellung des gesamten Adreß-
609830/0470
Wortes sind jedoch vor der Ausgabe mehrere Schritte er-, forderlich, so daß die Zuordnung einer Adresse abhängig von einem Befehl "bei diesem bekannten Verfahren in mehreren Stufen ablaufen muß 'und daher ein hoher Zeitaufwand entsteht. Außerdem ist ein zusätzliches externes Register mit einer der Länge der Adreßworte entsprechenden Steilenzahl erforderlich. Dies ist jedoch ein Nachteil, der die Zuordnung von Adreßworten abhängig von Befehlen zu stark verteuert und verkompliziert, so daß diese Lösung wegen ihrer zusätzlichen Schwierigkeiten ausscheidet.
Es ist ferner möglich, zur Einsparung von Anschlüssen an einer der Adressen darstellenden bzw. zuordnenden Einrichtung bestimmte Anschlußklemmen für eine Eingabe- und eine Ausgabefunktion doppelt auszunutzen. Mit dieser Doppelfunktion von Anschlüssen sind jedoch beachtliche Nachteile verbunden, die insbesondere bei der Fertigungsprüfung auftreten. Außerdem entsteht ein erheblicher schaltungstechnischer Aufwand, denn die doppelt ausgenutzten Anschlußklemmen müssen gegeneinander entkoppelt sein. Für eine derartige Entkopplung ist eine hohe Anzahl von Schaltelementen, beispielsweise von Dioden oder Transistoren erforderlich. Die Fertigungsprüfung muß nacheinander für die beiden möglichen Funktionen durchgeführt werden, wodurch ein erhöhter Zeitaufwand, bei der Herstellung verursacht wird.
Die Aufgabe der Erfindung besteht darin, ein Verfahren anzugeben, durch das die Zuordnung bzw. Bildung möglichst langer Adreßworte mit einer begrenzten Zahl von Anschlüssen an der verwendeten Einrichtung unter geringetmögliehern Zeit- und Sehaltungsaufwand möglich ist. .
Ein Verfahren der eingangs genannten Art ist zur Lösung dieser Aufgabe erfindungsgemäß derart ausgebildet, daß Befehlsworte mit konstanter Wortlänge, jedoch mit variablem Öpera-
_ '4 - -609830/0470
tionsteil und entsprechend variablem Adreßteil verwendet werden, wobei die Länge des Adreßteils umgekehrt proportional der Häufigkeit der Ansteuerung von mit der jeweiligen Adresse zu erreichenden Speicherabschnitten bemessen ist, und daß innerhalb des die Speicherabschnitte umfassenden Speicherraums bestimmten, mittels der in ihnen gespeicherten Adreßworte auszulösenden Operationen bestimmte Speicherabschnitte zugeordnet sind.
Die Erfind.ung beruht auf der Erkenntnis, daß innerhalb eines Speichers ein Großteil der gespeicherten Informationen relativ wenigen immer wiederkehrenden unterschiedlichen Operationen zu unterziehen ist. Andererseits müssen mit einem relativ sehr kleinen Teil der gespeicherten Informationen relativ viele regelmäßig wiederkehrende Operationen durchgeführt werden. Daraus läßt sich die Gesetzmäßigkeit ableiten, daß eine große Zahl von Operationen und eine kleine Zahl von Speicheradressen und einer großen Zahl von Operationen zu verknüpfen ist. Die genannte große Anzahl der Speicheradressen kann durch Adreßteile der Befehlsworte gekennzeichnet werden, die eine dieser großen Zahl entsprechende Länge haben. Der verbleibende Operationsteil kann dann kürzer sein als der Adreßteil und reicht trotzdem für die damit verbundenen wenigen Operationen zur Kennzeichnung aus. Andererseits ist für die genannte geringe Anzahl anzusteuernder Speieherabschnitte ein kürzer bemessener Adreßteil und. ein länger bemessener Operationsteil der Befehlsworte zulässig. Durch diese bessere Ausnutzung der Befehlswortlänge ist es möglich, für den hier angestrebten Zweck kürzere Befehlsworte als bisher zu verwenden und dazu die Zahl erforderlicher Anschlüsse zu verringern.
Innerhalb der Befehlsworte konstanter Wortlänge variiert die Aufteilung zwischen den Längen des Operationsteils und des Adreßteils. Die Gesamtlänge der Befehlsworte läßt sich außer-
SQ9830/0470
dem dadurch noch verringern bzw. besser ausnutzen, daß nicht bei allen Befehlen immer Ansteueradressen erforderlich sind. Es ist nämlich gemäß d.em weiteren Merkmal der1 Erfindung eine Organisation des verfügbaren Speicherraumes derart vorgesehen, daß bestimmte Speicherabschnitte ganz bestimmten immer wiederkehrenden Operationen zugeordnet werden, die durch Ansteuerung mit den auszugebenden Adreßworten in der zu steuernden Einrichtung oder auch in dem Mikroprozessor selbst durchzuführen sind. Es i-st deshalb nicht erforderlich, derartig fest zugeordnete Speicherabschnitte besonders zu adressieren, um sie aufzufinden. Lediglich die Angabe der jeweils durchzuführenden Operation im noch verbleibenden Operationsteil des Befehlswortes genügt, um den dieser Operation fest zugeordneten Speicherabschnitt zu erreichen.
Es steht also durch die beschriebene Zuordnung eine Vielzahl von Adressen ständig zur Verfügung, mit denen keinerlei zusätzliche Transportoperationen oder sonstige Funktionen durchzuführen sind, um sie zu aktivieren. Sie bedürfen ihrerseits keiner besonderen Ansteueradresse, weil diese durch den Typ der jeweiligen Operation genau festgelegt ist.
Das Verfahren nach der Erfindung ermöglicht es, mit relativ kurzen Befehlsworten lange Adreßworte auszugeben bzw. zuzuordnen. Diese Ausgabe erfolgt in einem einzigen Arbeitstakt, so daß eine nach der Erfindung arbeitende Einrichtung auch hinsichtlich ihrer Arbeitsgeschwindigkeit alle Anforderungen zugeordneter Einrichtungen erfüllen kann. Es war bisher bei der Zuordnung von Adreßworten abhängig von Befehlsworten üblich, beispielsweise Adreßworte mit einer Länge von 16 Bit auszugeben und hierzu Befehlsworte mit einer Länge von 16 Bit zu empfangen. Ein Verfahren nach der Erfindung ermöglicht eine Reduzierung der Länge der Befehlsworte auf die Hälfte, d. h. es ermöglicht die Ausgabe von 16 Bit langen Adreßworten
- 6 -609830/0470
abhängig von Befehlsworten, die nur eine Länge von 8 Bit haben. Es ist dabei nicht erforderlich, beispielsweise eine 16 Bit lange Adresse dadurch zu bilden, daß zwei Teilworte mit einer Länge von 8 Bit erzeugt und diese durch Zwischenspeicherung zu einer 16 Bit langen Adresse zusammengesetzt werden, die dann in einem weiteren Arheitsschritt ausgegeben werden muß.
Ein wesentlicher Vorteil des Verfahrens nach der Erfindung besteht darin, daß Befehlsworte verwendet werden können, deren Länge der Länge der allgemein verwendeten Datenworte entspricht. Gleichzeitig ist es aber möglich, den vollen zur Verfügung stehenden Adressenbereich der zu steuernden Einrichtungen zu nutzen.
Eine Einrichtung zur Durchführung des erfindungsgemäßen Verfahrens läßt sich infolge der verkürzten Befehlsworte und der verringerten Zahl von Anschlüssen in integrierter Technik aufbauen und erfüllt alle Anforderungen der mit den ausgegebenen Adreßworten anzusteuernden Einrichtungen.
Ebenso lassen sich die Vorteile der Erfind.ung jedoch auch für solche Einrichtungen nutzen, die nicht in integrierter Technik aufgebaut sind, da auch bei diesen eine wesentliche räumliche Verringerung infolge einer geringeren Anzahl benötigter Anschlüsse möglich ist.
Schließlich besteht ein Vorteil der Erfindung darin, daß infolge der kürzeren Befehlswortlänge zur Speicherung ^eines Programms, das bekanntlich aus einer Aufeinanderfolge einzelner gespeicherter Befehle besteht, ein entsprechend geringerer Speicheraufwand verursacht wird, so daß ζ. B. auch ein integriert aufgebauter Programmspeicher verwendet werd.en kann.
- 7 609830/0470
— τ —
Eine Weiterbildung des Verfahrens nach der Erfindung zeichnet sich dadurch aus, daß die Bemessung der Länge des Adreßteils entsprechend der Zahl der Speicherabschnitte erfolgt, die für den Jeweiligen Befehl erreichbar sein müssen. Sämtliche Speieherabschnitte müssen mindestens durch organisatorische Befehle erreichbar sein, also beispielsweise durch Lagebefehle oder Lesebefehle. Zweckmäßig müssen sämtliche Speicherabschnitte auch zur indirekten Adressierung bei Sprungbefehlen verfügbar sein. Indirekte Sprungadressen sind beispielsweise Kelleradressen im Programmablauf. Ein' relativ sehr kleiner Teil der verfügbaren Speicherabschnitte ist aber sämtlichen möglichen Operationen zugänglich zu machen, also beispielsweise zusätzlich den logischen Verknüpfungen, ' den Addiervorgängen usw. Wenn nun alle Speicherabschnitte durch die eine Befehlsart erreicht werden müssen,· weniger Speicherabschnitte aber durch die andere Befehlsart, so kann die Länge des Jeweiligen Adreßteils im Sinne der erfindungsgemäßen Variation so bemessen werden, daß bei binärer Codierung der Adressen der Adreßteil immer genau die Länge hat, die zur Kennzeichnung der mit ihm zu erreichenden Zahl von Speieherabschnitten erforderlich ist. Durch diese Art der Bemessung der Befehlsworte bzw. ihrer Adreßteile ist bei der beschriebenen Art der Organisation des zur Verfügung stehenden Speicherraums gleichzeitig eine weitere Verkürzung der Befehlsworte möglich.
Das Verfahren kann in der zuvor beschriebenen Weiterbildung derart ausgeführt werden, daß der längstmögliche Adreßteil für organisatorische Befehle verwendet wird. Dies hat seinen Grund darin, daß die organisatorischen Befehle, beispielsweise Transportbefehle usw., auf Jeden Speicherabschnitt bzw. dessen Inhalt anwendbar sein müssen und deshalb zweckmäßig diese organisatorischen Befehle durch möglichst- lange Adreßteile gebildet werden. Dies ist möglich, weil die Zahl unter-
609830/047 0
schiedlicher organisatorischer Operationen ohnehin nicht mehr groß ist.
Eine weitere Ausbildung des Erfindungsgedankens besteht darin, daß mindestens einer der den auszulösenden Operationen zugeordneten Speicherabschnitte durch Befehle ohne Adreßteil angesteuert wird. Diese Weiterbildung beruht auf der Erkenntnis, daß eine große Anzahl von Befehlen auftritt, die sich z. B. auf die Manipulation des Speicherinhalts des sogenannten Akkumulators beziehen, der Speicherinhalt des Akkumulators aber hinsichtlich seiner Adresse bereits durch seinen allgemein bekannten Anwendungszweck ausreichend gekennzeichnet ist, so daß bei einer mit dem Inhalt des Akkumulators durchzuführenden Operation eine besondere Adressenangabe überflüssig ist. Ferner gibt es Operationen, bei denen bestimmte Worte zur indirekten Adressierung des Speicherraums benutzt werden. Es kann hierbei durch den Operationsteil jeweils ein Speicherabschnitt bestimmt werden, dessen Inhalt zur Adressierung des Speicherinhalts eines anderen Speicherabschnitts dienen kann, der innerhalb des hier vorgesehenen Speicherraums, jedoch auch innerhalb eines externen Speichers angeordnet sein kann. Es kann also durch ein adressenloses Befehlswort, dessen Operationsteil gleichzeitig den aufzufindenden Speicherabschnitt kennzeichnet, ein Speicherinhalt erreicht werden, der zur Adressierung eines Operanden ausgenutzt werden kann. Diese indirekte Adressierung ist an sich bereits bekannt, jedoch immer in der Art, daß ein Adreßteil vorhanden sein muß, um den jeweiligen Speicherabschnitt, der die zweite Adresse enthält, zu erreichen. Der Operationsteil der Befehlsworte bei der hier betrachteten Weiterbildung der Erfindung gibt hingegen zwei Größen an, nämlich einmal die durchzuführende Operation, zum anderen gleichseitig auch die Lage des mit ihr anzusteuernden Speicherabsehnitts. Darin besteht eine Doppelfunktion des Operationsteils der Befehlsworte. Hier-
. 9 808830/CU7O
bei ist es möglich, für die jeweilige Operation gerade den binären Code zu wählen, der auch den zu erreichenden Speicherabschnitt kennzeichnet. Hierin liegt eine weitere Möglichkeit, eine Einrichtung zur Darstellung bzw. Zuordnung von Adressen mit verkürzten Befehlsworten anzusteuern und Eingangsanschlüsse einzusparen.
Mindestens einer der durch adressenlose Befehle ansteuerbaren Speicherabschnitte kann als Adreßregister verwendet werden.
Eine besondere Ausführungsform der Erfindung besteht darin, daß innerhalb des jeweiligen Befehlswortes eine Kennzeichnung einer Einzelstelle des jeweils angesteuerten Speicherabschnitts erfolgt. Eine derartige Einzelkennzeichnung eines Bits in einem Datenwort erfolgte bisher dadurch, daß man durch entsprechende Adressierung das gesamte Wort ansteuerte, ausspeicherte und. dann gewissermaßen das gesuchte Bit ausblendete. Hierzu waren mehrere Arbeitsschritte sowie ein erhöhter schaltungs.fcechni scher Aufwand erforderlich. Das Wort wird, bei einem solchen Vorgang in den Akkumulator eingespeichert, zuvor muß der Akkumulator zunächst geleert werden, danach erfolgt dann die Ausblendung des jeweils gewünschten Bits. Danach kann wiederum die Auswertung seines Speicherinhalts erfolgen, abhängig von der weitere Maßnahmen durchzuführen sind. Bei der zuvor beschriebenen Weiterbildung der Erfindung ist es hingegen möglich, den Akkumulator im Zusammenhang mit der Beeinflussung eines Einzelbits nicht zu belasten, sondern direkt in einem einzigen Schritt die entsprechende Stelle zu adressieren und. hierzu den verkürzten Adreßteil zu verwenden, wobei auch eine Hilfsadressierung des Datenblocks erfolgt, in dem das zu beeinflussende Bit enthalten ist. Dieser Vorgang kann auch auf eine Vielzahl von Einzelbits angewendet werden.
Hierzu können verschiedene Arten von Befehlen ausgenutzt werden. Dies sind in erster Linie solche Befehle, die für eine
- 10 609830/0470
-IQ-
Einzeladressierung einer Einzelstelle sinnvoll sind. Die erhaltene Einzelinformation kann in eine Merkerzelle gesetzt werden, ferner kann aber auch eine direkte Steuerung zugeordneter Einrichtungen mit dieser Einzelinformation erfolgen. Besonders zweckmäßig ist eine solche Verfahrensart bei Einzelbitein- und -Ausgaben für Steuerfunktionen, z. B. in Steuerungsanlagen, für das Abfragen oder Abtasten von Meßwerten usw.
Trotz der kurzen Befehlswortlänge kann also nicht nur eine große Anzahl unterschiedlicher Adressen dargestellt werden, sondern es ist auch eine direkte Ansteuerung einzelner Bits von Speicherinhalten möglich.
Das Verfahren nach der Erfindung kann in der vorher beschriebenen Ausführungsform derart weiter ausgebildet sein, daß die gekennzeichnete Einzelstelle unabhängig von den anderen Stellen ihres Speicherabschnitts geändert wird.
Eine weitere Ausführungsform zeichnet sich dadurch aus, daß mindestens einer der den auszulösenden Operationen zugeordneten Speicherabschnitte durch Sprungbefehle ansteuerbar ist und als Quelle für eine Speicherseitenadresse verwendet wird. Bei einem Sprungbefehl bewegt man sich normalerweise in einem nahen Aktionsraum. Aus diesem Grunde wird zweckmäßig die Adresse des direkten Sprungbefehls nur mit einem Datenwort angegeben. Wenn aber d,er Bereich, der durch dieses Datenwort gekennzeichnet werden kann, überschritten wird, so muß die jeweilige Speicherseite gewechselt bzw. neu adressiert werden. Die Information über diese neue Seite wird zweckmäßig in einem der Speicherabschnitte gespeichert und bei jedem durchzuführenden Sprungbefehl automatisch angesprochen. Mit kurzen Befehlsworten kann also bei Sprungbefehlen die Speicherseite adressiert werden, die d.urch den Sprung erreicht werden soll. Zum Erreichen einer Speicherseite reicht eine kurze Adresse aus. Soll der
- 11 609830/0470
Bereich dieser Speicherseite überschritten werden, so muß in einem Zusatzbefehl eine neue Adresse gebildet werden. Die Seitenadresse wird im innersten Speicherbereich ständig vorrätig gehalten. Dieser innerste Speicherbereich ist durch sämtliche Modifikationsbefehle leicht veränderbar. Die Seitenadresse wird bei adreßloser Steuerung bei Jedem Sprungbefehl immer wieder dem Befehlszählregister zugeführt.-Durch die Programmierung ist der Seitenwechsel vorzusehen. Bei Operationen innerhalb der Speicherseite geschieht dabei aber nichts., es wird bei jedem Sprungbefehl dieselbe Information überschrieben. Das Auffinden der Speicherzelle in einer'Speicherseite erfolgt dann durch einen weiteren Befehl, so daß für diesen Sprungbefehl die gesamte Befehlswortlänge nicht 8, sondern 16 Bit beträgt. Die Speicherseite selbst wird aber automatisch immer aus dem für die Speicherung ihrer Adresse fest vorgegebenen Speicherabschnitt hinzugesetzt. Bei einem erforderlichen Seitenwechsel, der auch als Umblättern bezeichnet,wird, muß in diesem Speicherabschnitt 1 addiert werden, wonach der entsprechende Sprung durchgeführt werden kann. Beim nächsten Sprungbefehl wird dann automatisch der so veränderte Inhalt des Speicherabschnitts mit der neuen Speicherseitenadresse übertragen. Ferner ist es möglich, die Seitenadresse nicht nur durch eine 1-Addition, sondern durch einen völlig neuen Ladebefehl vollständig zu ändern. Es sind für diesen Vorgang keine besonderen externen Seitenregister erforderlich, sondern auch diese Funktion kann mit den Speicherabschnitten des internen Speichers deB Mikroprozessors durchgeführt werden.
Die Speicherseitenadressen sind zweckmäßig im innersten Bereich des Speicherraums enthalten und. stets zugriffsbereit. Dieser Speicherbereich kann durch praktisch alle Operationen manipuliert werden« Dies erfolgt ohne zusätzliche Übertragungsbefehle oder Beanspruchung des Akkumulators. Insbesondere bei der integrierten Fertigungstechnik können die hierzu vorgesehenen Speicherzellen durch einen Block besonders einfach verwirklicht werden.
- 12 -
609830/0470
Ein Ausführungsbeispiel eines Verfahrens nach der Erfindung wird, im folgenden anhand einer in der Figur dargestellten Anordnung zur Durchführung des Verfahrens beschrieben.
In der Figur ist das: Blockbild, einer Einrichtung dargestellt, die im folgenden auch als Mikroprozessor bezeichnet wird. Diese Einrichtung gestattet die Zuordnung von Adressen abhängig von ihr zugeführten Befehlsworten. Die Befehlsworte werden im dargestellten Ausführungsbeispiel als achtstellige binäre Worte über acht Eingangsleitungen auf eine Eingangsschaltung 10 geführt, die zugeordneten Ad.reßworte werden von einer Ausgangsschaltung 4j3 mit einer Länge von 16 Bits über 16 Ausgangsleitungen abgegeben.
Im folgenden wird zunächst der Aufbau dieser Einrichtung beschrieben. Die Eingangsschaltung 10 liefert die ihr zugeführten Befehlsworte nach einer geeigneten Aufbereitung über 8 Ausgangsleitungen auf ein UND-Glied. 11, welches das jeweilige Befehlswort abhängig von einem Steuersignal 15-1 über 8 Ausgangsleitungen in ein Befehlsregister 1J> einspeichert, welches entsprechend der Länge des Befehlswortes achtstellig ausgeführt ist "ittnd. beispielsweise aus einzelnen Flip-Flops FO - F7 aufgebaut sein kann. Die Ausgänge der einzelnen Stellen des Befehlsregisters IJ> sind mit einem Zuordner 14 verbunden, der abhängig vom Inhalt des jeweiligen Befehlswortes an seinen Ausgängen 15 und 17 Steuersignale und an seinen Ausgängen 16 Adreßworte abgibt. Die Adreßworte werden auf einen Adressenmultiplexer l8 geführt, dessen Betrieb durch die an den Ausgängen 17 d.es Zuordners 14 abgegebenen Steuersignale gesteuert werden kann. Die Steuersignale 15 dienen zur Steuerung der in der Figur dargestellten Einrichtung in noch zu beschreibender Weise. Ein weiterer Eingang des Zuordners 14 ist über eine Eingangsleitung 33 mit einer Schaltung yi verbunden, die ein Zustandsignal abgibt,
609830/0470 ^ "
welches einen noch zu beschreibenden Zweck erfüllt.
Der Adressenmultiplexer 18 ist über seine Ausgangsleitung mit einem Adressendecod.ierer 20 verbunden, welcher die ihm zugeführten 5-stelligen Adreßworte decodiert und abhängig von der jeweils decodierten Adresse einen Speicher 21 ansteuert, der im dargestellten Ausführungsbeispiel aus Speicherabschnitten SO - S32 besteht, die jeweils 8-stellig ausgeführt sind. Dem Eingang dieses Speichers werden über eine Leitung 32 und ein UND-Glied 44 abhängig von Steuersignalen 15-2, die einem der Ausgänge 15 des Zuordners l4 entnommen werden, 8-stellige Informationsworte zugeführt, die beispielsweise Operationsergebnisse oder Hilfsadressen sein können.
Diese Informationsworte werden durch eine im linken Teil der Figur dargestellte Anordnung von Registern und Multiplexern erzeugt. Diese Anordnung kann als Rechenwerk bezeichnet werden.
Dem Speicher 21 und. dem vorgenannten Rechenwerk ist jeweils ein Multiplexer 24 bzw. 25 nachgeschaltet, der über eine Leitung 20 mit den 8-stelligen Befehlsworten gespeist wird, die von der Eingangsschaltung 10 geliefert werden. Jeder Multiplexer 24 bzw. 25 wird durch Steuersignale 15-3 bzw. 15-4 gesteuert, die einem der Ausgänge 15 des Zuordners 14 entnommen sind. Der Multiplexer 24 speist über seine Sfach-Ausgangsleitung ~5>K ein Befehlszählregister 39 und ein Seitenadreßregister 38. Diese beiden Register sind jeweils 8-stellig ausgeführt und können beispielsweise aus 8 Zähl-Plip-Plops YO - Y7 bzw. XO - X7 aufgebaut sein. Die Ausgangssignale des Multiplexers 24 werden diesen beiden Registern 39 und 38 über jeweils ein UND-Glied 37 bzw. 36 zugeführt, welches wiederum durch Steuersignale I5-8 bzw. 15-9 aufgesteuert wird.
- 14 609830/0470
Das Befehlszahlregister ist über einen Zähleingang außerdem mit einem UND-Glied 42 verbunden, welches durch die Steuersignale 15-12 aufgesteuert wird und ein +1-Zählsignal auf das Befehlszahlregister 39 schaltet.
Die beiden Register 38 und 39 geben ihren jeweils gespeicherten Inhalt jeweils an einen Multiplexer 40 bzw. 4l ab, dem ferner die Signale der bereits beschriebener Leitungen 32 und. 34 zugeführt werden. Diese beiden Multiplexer 40 und 4l werden durch Steuersignale 15-10 und 15-11 gesteuert. An ihren Ausgängen treten jeweils 8-stellige Adressenteilworte auf, die der Ausgangsschaltung 43 zugeführt werden und von dieser als ein zusammengesetztes ΐβ-stelliges Adressenwort abgegeben werden können.
Das bereits genannte Rechenwerk besteht aus einer arithmetischlogischen Einheit 27, einem Akkumulatorregister 29, 3 Multiplexern 25, 28 und 30 sowie der bereits beschriebenen Schaltung 31 zur Abgabe eines Zustandssignals. Ferner ist ein Decodierer 35 vorgesehen, der das Zustandssignal decodiert und entsprechend, ein 8-stelliges Signal an den Multiplexer 28 liefert. Der Multiplexer 25 liefert die Ausgangssignale für die bereits beschriebene Leitung 32 und wird außer durch die Signale der Leitung 26 mit 8-stelligen Worten angesteuert, die d.em Akkumulatorregister 29 entnommen werden. Dieses Register wird. d.urch den Multiplexer 28 angesteuert, welcher ihm die 8-stelligen Worte zuführt, die als Operationsergebnisse in der arithmetischt-logischen Einheit 27 erzeugt werden. Diese Einheit 27 und der Multiplexer 28 werden durch die Signale der Leitung 34 beaufschlagt, welche aus dem Multiplexer 24 abgegeben werden. Der arithmetisch-logischen Einheit 27 werden ferner die 8-stelligen Signale der Leitung 32 zugeführt. Die arithmetisch-logische Einheit 27 kann ferner bestimmte Testsignale oder auch Überlaufsignale an den MuIti-
- 15 609830/0470
plexer J>0 abgeben, der durch Steuersignale 15-6 gesteuert wird. Dieser Multiplexer "30 wird ferner durch die auf der Leitung 32 anstehenden 8-stelligen Informationsworte beaufschlagt und gibt an seinem Ausgang ein Signal ab, welches ; die Schaltung J>1 derart steuert, daß sie das bereits beschriebene Zustandssignal abgeben kann. Die Punktion dieses Zustandssignals wird im folgenden noch näher erläutert.
Der Decodierer 35 kann das genannte Zustandssignal unter Steuerung durch Steuersignale 15-7 so decodieren* daß eine seiner acht Ausgangsleitungen aktiviert wird, und dieses Signal an der entsprechend aktivierten Stelle über den Multiplexer 28, der durch Steuersignale 15-5 gesteuert wird, dem Akkumulatorregister 29 zuführen kann.
Im folgenden werden nun mehrere mögliche Betriebsarten der in der Figur dargestellten Einrichtung beschrieben, bei denen es sich jeweils um die Zuordnung einer Adresse abhängig von einem zugeführten Befehlswort handelt.
Die in der Figur dargestellte Einrichtung ermöglicht die sukzessive lineare Abarbeitung von Befehlsworten über das Befehlszählregister 39 und das Seitenadreßregister 38, wie dies für Recheneinrichtungen in der Datenverarbeitungstechnik bekannt ist. Deshalb wird diese normale Abarbeitung von Befehlen im folgenden nicht näher erläutert, sondern es werden nur diejenigen Fälle betrachtet, für die die Erfindung in besonders vorteilhafter und neuartiger Weise die Lösung der eingangs aufgezeigten Problemstellung ermöglicht. Aus der folgenden Erläuterung dieser Fälle wird dem Fachmann dann auch der Funktionsablauf für die normale Abarbeitung von Befehlen ersichtlich.
Zunächst ist für alle im folgenden zu beschreibenden Betriebsfälle von Wichtigkeit, daß der Adressenmultiplexer l8 abhängig
■ - 16 6 0 9 8 3 0/0 4 7 0
von dem Operationstyp des in dem Zuordner 14 entschlüsselten Befehls eine Adresse abgibt, die in dem Adressendecodierer decodiert wird und die Ansteuerung eines ganz bestimmten Speicherabschnitts SO - S32 ermöglicht. Es handelt sich hier um die erfindungsgemäße Zuordnung bestimmter Speicherabschnitte zu bestimmten regelmäßig wiederkehrenden Operationsarten. Der Inhalt des jeweils auf diese Weise angesteuerten Speicherabschnitts des Speichers 21 wird dann über den Multiplexer 24, das UND-Glied 37, das Befehlszählregister 39 und den Multiplexer 4l der Ausgangsschaltung 43 bzw. deren Ausgangsleitungen zugeführt. Es ist aber auch möglich, daß abhängig von noch zu beschreibenden Bedingungen der Inhalt des jeweils angesteuerten Speicherabschnitts des Speichers 21 vom Multiplexer 24 über seine Ausgangsleitungen 34 und das UND-Glied 36 dem Seitenadressenregister 38 zugeführt wird, welches seinerseits den in ihm gespeicherten Inhalt über den Multiplexer 40 an die Ausgangsschaltung 43 abgibt. Ferner ist es aber auch möglich, die Ausgangssignale des Multiplexers 24 über seine Ausgangsleitung y\ direkt auf beide Multiplexer 40 und 41 zu leiten und wahlweise über diese jeweils ein 8-stelliges Wort an die Ausgangsschaltung 43 abzugeben.
1. Ausführung eines Sprungbefehls
Ein Sprungbefehl in Form eines 8-stelligen Befehlswortes wird der Eingangsschaltung 10 zugeführt und über das UND-Glied 11 in das Befehlsregister 13 eingespeichert. Der auf diesen Sprungbefehl folgende Befehl wird im nächsten Schritt über die Eingangsschaltung 10 und die Leitung 26 sowie den Multiplexer 24 und das UND-Glied 37 in das Befehlszählregister 39 eingespeichert. Die Erzeugung der für diesen Sprungbefehl maßgebenden Seitenadresse erfolgt nun nach dem Verfahren der Erfindung derart, daß der Sprungbefehl in dem Zuordner 14 die Bildung einer Ansteueradresse für einen Speicherabschnitt des Speiehers 21 erseugt, die über die Ausgangsleitung 19 des Ad.resser^i-.iitiplexers 18
H -"■ δ! Sj 3 jj / ft J. - f, - J. / -
sowie den Adressendecodierer 20 eine Ausspeicherung des Inhalts eines ganz bestimmten Speicherabschnitts SO aus dem Speicher 21 bewirkt, wobei dieser Speicherabschnitt erfindungsgemäß einer ganz bestimmten Operationsart zugeordnet sein kann. Diese Ausspeicherung erfolgt über den Multiplexer 24, gesteuert durch das UND-Glied J>6 in das Seitenadreßregister 38. Die beiden Register 38 und 39 enthalten somit jeweils eine Teiladresse, die über die beiden Multiplexer 40 und. 4l in der Ausgangsschaltung 43 zu einem l6-stelligen Adreßwort zusammengesetzt werden kann, welches das durch den Sprungbefehl zu erreichende Ziel adressiert.
- - Es sei darauf hingewiesen, daß die Seitenadresse dieses Sprungbefehls abhängig von dem Operationsteil des Befehlswortes automatisch erzeugt worden ist.
2. Ausführung eines Eingabebefehls
Ein derartiger Befehl kann gemäß der Erfindung ein Befehl ohne Adreßteil sein. Er wird über die Eingangsschaltung 10 in das Befehlsregister YJ> eingegeben und bewirkt dann in dem Zuordner 14 durch den nur mit einem Operationsteil gegebenen Informationsinhalt die Erzeugung einer Adresse, die über den Adressenmultiplexer l8 und den Adressendecodierer 20 die Ansteuerung eines Speicherabschnitts des Speichers 21, der bevorzugt für Eingabeadressen dieser entsprechenden Befehlsart fest zugeordnet ist. Aus diesem Speicherabschnitt wird die vorhandene Information ausgespeichert und über den Multiplexer 24 und das UND-Glied J>6 durch dessen Aufsteuerung in das Seitenadreßregister 38 eingegeben. In einer weiteren Taktphase wird mittels des Zuordners 14 und des Adressenmultiplexers l8 eine weitere Adresse gebildet, die über den Adressendecodierer 20 die Ausspeicherung des Inhalts desjenigen Speicherabschnitts bewirkt, der dem zuvor angesteuerten Speicherabschnitt unmittelbar benachbart ist. Der In-
- 18 609830/0470
halt dieses Speicherbefehls ist eine Teiladresse, die über den Multiplexer 24 und. dessen Ausgangsleitung 34 sowie den Multiplexer 41 in die Ausgangsschaltung 43 eingegeben wird. Gleichzeitig wird, die Seitenadresse aus dem Seitenadreßregister 38 über den Multiplexer 40 in die Ausgangsschaltung 43 eingegeben, so daß beide Teiladressen zusammengesetzt ein l6-stelliges Adreßwort- ergeben, welches zur Steuerung einer Dateneingabe auf hier nicht dargestelltem Wege in die in der Figur gezeigte Einrichtung benutzt werden kann. Eine solche Dateneingabe kann beispielsweise über die Eingangsschaltung 10 und deren Ausgangsleitung 26 sowie den Multiplexer 25 in. die arithmetisch-logische Einheit 27 erfolgen, so daß d.ort mit den eingegebenen Daten Operationen durchgeführt werden können, deren Ergebnisse über den Multiplexer 28 in das Akkumulatorregister 29 eingegeben werden können und somit dort abgespeichert sind.
An dieser Stelle ist eine Erläuterung der bereits genannten Kennzeichnung von Einzelbits zweckmäßig. Es ist beispielsweise denkbar, daß die zuvor beschriebene Eingabe von Daten über die Eingangsschaltung 10 und den Multiplexer 25 infolge eines besonderen Kriteriums des sie hervorrufenden Befehls auf den Multiplexer 30 erfolgt. Dieser wird durch einen Teil des entsprechenden Befehls über" den Zuordner 14 und die Steuersignale 15-6 so betrieben, daß eine ganz bestimmte Stelle des eingegebenen Datenworts der Schaltung 3I zur Abgabe eines Zustandssignals zugeführt und in ihr abgespeichert wird. Diese Schaltung 31 kann dann ein Signal abgeben, welches eine Aussage darüber ermöglicht, in welchem Zustand die bestimmte, auf diese Weise angesteuerte Stelle des eingegebenen Datenwortes ist. Ein derartiges Zustandssignal kann beispielsweise dazu verwendet werden, den nächstfolgenden Befehl durch entsprechende Ansteuerung des Zuordners 14 über die Leitung 33 konditioniert auszuführen.
- 19 6 09830/0470
3. Ausführung von Ausgabebefehlen
Ausgabebefehle dienen beispielsweise dazu, aus einer Einrichtung der in der Figur dargestellten Art ein Informationswort auszugeben, welches aus einem Operationsergebnis und einer Adresse besteht, die diejenige Stelle bezeichnet, zu der das Operationsergebnis zu transportieren ist. Hierzu wird ein Ausgabebefehl über die Eingangsschaltung 10 in das Befehlsregister 13 eingegeben und bewirkt über den Zuordner 14 die* Bildung einer Adresse, die über den Adressenmultiplexer 18 und den Adressendecodlerer 20 die Ansteuerung eines Speicherabschnitts des Speichers 21 bewirkt, der bevorzugt . zur Bereithaltung von Ausgabespeicheradress.en bestimmt ist, wie dies durch die Erfindung vorgesehen ist. Der Inhalt, dieses Speicherabschnitts wird über den Multiplexer 24 und· seine Ausgangsleitungen ~$\ sowie den Multiplexer 41 in die Ausgangsschaltung 45 übertragen und bildet dort den Adreßteil des auszugebenden Gesamtwortes. Der Informationsteil dieses Wortes wird, gesteuert durch den im Zuordner 14 ausgewerteten Befehl, aus dem Akkumulatorregister 29 über den Multiplexer 25, der hierzu durch die Steuersignale 15-4 gesteuert wird, in den Multiplexer 40 und von diesem aus in die Ausgangsschaltung 43 eingegeben. Somit ist ein Gesamtwort gebildet, welches aus den zu transportierenden Informationen und der zugehörigen Transportadresse besteht. ·
Im Zusammenhang mit der Ausgabe von Informationsworten aus dem Akkumulatorregister 29 sieht die Erfindung die Möglichkeit vor, daß eine ganz bestimmte Stelle des auszugebenden Informationswortes vor der Ausspeicherung aus dem Akkumulatorregister 29 modifiziert werden kann. Da die Schaltung 31 zur Kennzeichnung des Zustandes einer ganz bestimmten Stelle eines Datenwortes vorgesehen ist, ist es möglich, entsprechend dem von dieser Schaltung 31 abgegebenen Ausgangssignal an der Leitung 33 ein Kriterium mittels des Decodierers 35*
-■20
609830/0470
gesteuert durch Steuersignale 15-7* zu bilden, welches den Multiplexer 28 für die jeweils zu beeinflussende bestimmte Stelle des im Akkumulatorregister 29 vorhandenen Informationswortes ansteuert. Das von dem Decodierer 35 gelieferte Kriterium gibt eine Aussage darüber ab, welche Stelle des gespeicherten Informationswortes modifiziert werden muß bzw. abhängig von dem jeweiligen Speicherinhalt der Schaltung 31 zu setzen oder zu löschen ist.
Die für die vorbeschriebenen Punktionen wesentlichen Steuersignale 15-6 und 15-7 für den Multiplexer 30 und den Decodierer 35 können aus wenigen Stellen des in dem Befehlsregister 13 vorhandenen Befehlswortes abgeleitet werden.-Paßt man diese wenigen Stellen des Befehlswortes als Adreßteil auf, so ist unmittelbar ersichtlich, wie für diesen Fall der Ausführung eines Ausgabebefehls beispielsweise Befehlsworte verwendet werden können, die einen sehr großen Operationsteil und einen sehr kleinen Adreßteil aufweisen.
4. Ausführung indirekter Sprungbefehle
Indirekte Sprungbefehle sind solche Befehle, die insbesondere zur Rückführung des Programmablaufs aus Unterprogrammschleifen dienen. Da hierbei gegebenenfalls eine Vielzahl von Adressen verwendet wird, muß ein indirekter Sprungbefehl einen größtmöglichen Adreßteil aufweisen, damit durch ihn die erforderliche große Anzahl von Adressen gekennzeichnet werden kann. Der indirekte Sprungbefehl, der in das Befehlsregister 13 eingegeben wird, bewirkt mit seinem Adreßteil in dem Zuordner 14 die Bildung einer Ansteueradresse für den Speicher 21. Diese wirkt, wie vorstehend bereits beschrieben, über den Adressendecodierer 20 auf einen der Speicherabschnitte ein, deren Anzahl bzw. Erreichbarkeit, wie beschrieben, durch den Adressenumfang bestimmt ist. Der so angesteuerte Speicher-
- 21 609830/0470
abschnitt enthält eine Seitenadresse, die in bereits beschriebener Weise in das Seitenadreßregister 38 eingegeben wird. Der auf diesen Speicherabschnitt unmittelbar folgende Speieherabschnitt wird im nächsten Arbeitstakt angesteuert, so daß sein Inhalt über den Multiplexer 24 und das UND-Glied 37 in das Befehlszählregister 39 eingegeben werden kann und dort als Relativadresse der adressierten Seite zur Verfügung steht. Über die Multiplexer 40 und 4l erfolgt die Eingabe dieser beiden Teiladressen in die Ausgangsschaltung 43, so daß dort das Adreßwort für den im Programmablauf nächstfolgenden Befehl verfügbar ist.
Vorstehend wurden solche Betriebsfälle beschrieben, in denen abhängig von einem zugeführten Befehlswort von der Ausgangsschaltung 43 Adreßworte abgegeben werden können. Es ist jedoch bei einer Einrichtung der hier betrachteten Art auch erforderlich, den Inhalt der einzelnen Abschnitte des Speichers 21 zu manipulieren. Um auch dies mit einer begrenzten Länge der zugeführten Befehlsworte zu ermöglichen, wird hier gleichfalls von dem Prinzip der Erfindung Gebrauch gemacht, die Adreßteile bzw. die Operationsteile der Befehlsworte hinsichtlich ihrer Länge zu variieren bzw. adreßteillose Befehlsworte zu verwenden. Im folgenden soll nun besehrieben Werden, in welcher Weise adreßteillose Befehlsworte zur Bildung von Hilfsadressen verwendet werden können, die eine derartige Manipulation des Speicherinhalts ermöglichen.
Zunächst ist daraufhinzuweisen, daß einer der Speicherabschnitte des Speichers 21, im dargestellten Ausführungsbeispiel der Speicherabschnitt SO, an den Stellen 0-4 eine Verbindung 23 zum Adressenmultiplexer l8 aufweist, über die der Adressenmultiplexer l8 angesteuert werden kann. Der Inhalt der Stellen 0-4 des Speicherabschnitts SO kann also dauernd über die fünfadrige Verbindung 23 auf den Adressenmultiplexer l8 einwirken und zu einer Adressenbildung in dieser Schaltung ausgenutzt werden. Wenn ein adreßteilloser Befehl in das Befehls-
609830/0470
- 22 -
register 1J> eingespeichert wird, so wird, das Fehlen des Adreßteils durch den Zuordner 14 erkamnt und dort unmittelbar die Auswertung derjenigen Informationen veranlaßt, die über die Verbindung 2.J1 zur Verfügung stehen. Hierzu dient eine besondere Gruppe von Steuersignalen, die über den Ausgang 17 des Zuordners 14 auf den Adressenmultiplexer l8 einwirken. Durch Auswertung des Inhalts der Speicherstellen 0-4 über die Verbindung 23 wird also in dem Adressenmultiplexer unmittelbar eine Hilfsadresse erzeugt, mit der über den Adressendecodierer 20 einer der Abschnitte des Speichers 21 angesteuert werden kann. Der Inhalt des angesteuerten Speicherabschnitts kann dann über den Multiplexer 24 und die Leitung ^4 der arithmetisch-logischen Einheit 27 oder dem Multiplexer 28 bzw. dem Akkumulatorregister 29 zugeführt werden, so daß auf diese Weise eine Manipulation dieses Speicherinhalts in dem Rechenwerk erfolgen kann. Die Rückspeicherung nach erfolgter Manipulation geschieht dann über den Multiplexer 25 und seine Ausgangsleitung J>2 sowie das UND-Glied 44 in den Speicher 21.
Das vorstehend, erläuterte Ausführungsbeispiel der Erfindung läßt erkennen, daß es durch die Erfindung möglich ist, für verschiedenste Betriebsfälle mit kuresen Befehlsworten lange und umfassende Adreßworte darzustellen bzw. zuzuordnen. Dies erfolgt mit einem Aufwand, der den Aufwand, bisheriger Einrichtungen dieser Art nicht überschreitet und gegebenenfalls sogar verringert ist. Es sind keine externen Schaltkreise für die Zwischenspeicherung von Adressen erforderlich, da eine vollständige l6-stellige Adresse in der Ausgangsschaltung abgegeben wird. Außerdem erfolgt die Darstellung des jeweiligen Adreßwortes in höchstens zwei Schritten, was einen erheblichen Zeitgewinn gegenüber den eingangs dargestellten und bisher durchgeführten Verfahren mit sich bringt. Infolge der Zuordnung der Inhalte der einzelnen Speicherabschnitte zu ganz bestimmten Operationsarten, die eine wesentliche
- 23 -
609830/0470
Verkürzung der zu verwendenden Befehlsworte mit sich bringt, wird auch der funktionelle Aufwand herabgesetzt, denn die Inhalte der Speicherabschnitte müssen keinem umständlichen Umweg über das Rechenwerk ausgesetzt werden, um sie zur jeweiligen Ausgabe bereitzustellen. Es ist.hingegen möglich, diese Speicherinhalte gewissermaßen durch Nachvollziehen, der nach der Erfindung vorgesehenen festen Zuordnung direkt zu erreichen und zur Ausgabe bereitzustellen. Dabei bietet sieh der wesentliche Vorteil, daß die Speicherinhalte im Gegensatz zu solchen Verfahren, bei denen sie in.einzelnen zusätzlichen Registern abgespeichert sind, beliebig mittels des Rechenwerkes manipuliert werden können. Dieses Manipulieren wird deshalb möglich, weil die Speicherinhalte voll adressierbar sind,, was bei einer Einspeicherung in externe Einzelregister nicht der Fall ist.
Speicherelemente können durch Anwendung der integrierten Technik und spezieller Schaltkreistechniken sehr kompakt aufgebaut werden. Da als einziges Speiehermedium für die bei dem erfindungsgemäßen Verfahren zu verarbeitenden Informationen ein adressierbarer Speicher verwendet wird, ist es möglich, auch hinsichtlich des Speicheraufwandes sehr kompakte Anordnungen zu schaffen,: die einen wesentlich geringeren Raumbedarf als Registeranordnungen verursachen.
Die gemäß der Erfindung vorgesehene Abfrage beliebiger Stellen eines Datenwortes erfolgt ohne Veränderung des Inhalts des Akkumulatorregisters 29. Dadurch bietet sich die Möglichkeit, beispielsweise eine Überwachung von Peripheriezuständen ohne Unterbrechung des jeweiligen Programmablaufs durchzuführen, indem das von der Schaltung J>1 gelieferte Kriterium durch Steuerung des Zuordners 14 unmittelbar zur Steuerung eines konditionieren Sprungbefehls ausgenutzt wird.
- 24 609830/04 70
Einige der Steuersignale 15 können auch an besondere Ausgänge des Mikroprozessors geführt sein und dienen dann beispielsweise dazu, extern Befehlsgruppen in Verbindung mit besoüeren Einheiten abzuwickeln, z.B. mit Befehlsspeichern, Datenspeichern sowie Ein- und Ausgabeeinheiten.
Ein nach der Erfindung arbeitender praktisch aufgebauter Mikroprozessor kann integriert auf einem Schaltungsträger angeordnet sein und beansprucht dabei 30 % weniger Raum als entsprechende bisherige integriert aufgebaute Anordnungen. Gleichzeitig kann aber die ungefähr doppelte Arbeitsgeschwindigkeit erreicht werden. Außerdem wird extern z.B. für die Abspeicherung von Befehlen gleichfalls weniger Platz beanspruchte
Schließlich kann ein derartiger Mikroprozessor wesentlich besser als bisherige Anordnungen geprüft werden. Dies ist insbesondere darauf zurückzuführen, daß keine besonderen Register für Sonderfunktionen vorgesehen sind, derartige Register können nämlich nur mit komplizierten Routinen indirekt geprüft werden.
£ rt C1 9 1J f>
^ \j 4 4 ts ^

Claims (8)

  1. Patentansprüche
    Verfahren zur Zuordnung von Adressen in Datenverarbeitungseinrichtungen abhängig von einer Steuerung durch Befehle, bei dem jedes Befehlswort die Ausgabe eines Adreßworts in Paralleldarstellung aus einem Speieherabschnitt bewirkt, dadurch gekennzeichnet, daß Befehlsworte konstanter Wortlänge, jedoch mit variablem Operationsteil und. entsprechend, variablem Adreßteil verwendet werden, wobei die Länge des Adreßteils umgekehrt proportional der Häufigkeit der Ansteuerung von mit der jeweiligen Adresse zu erreichenden Speicherabschnitten bemessen ist, und. daß innerhalb des die Speicherabschnitte umfassenden Speicherraums bestimmten, mittels der in ihnen gespeicherten Adreßworte auszulösenden Operationen bestimmte Speicherabschnitte zugeordnet sind.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Bemessung der Länge des Adreßteils entsprechend, der Zahl der Speicherabschnitte erfolgt, die für den jeweiligen Befehl erreichbar sein müssen.
  3. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der längstmögliche Adreßteil für organisatorische Befehle vorgesehen ist.
  4. 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß mindestens einer der den auszulösenden Operationen zugeordneten Speicherabschnitte durch Befehle ohne Adreßteil angesteuert wird.
  5. 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß mindestens einer der durch adressenlose Befehlsworte ansteuerbaren Speicherabschnitte als Adreßregister verwendet wird.
    - 25 609830/0470
  6. 6. Verfahren nach Anspruch 4 oder 5* dadurch gekennzeichnet, daß innerhalb des jeweiligen Befehlswortes eine Kennzeichnung einer Einzelstelle des jeweils angesteuerten Speicherabschnitts erfolgt.
  7. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß
    die gekennzeichnete Einzelstelle unabhängig von den anderen Stellen ihres Speicherabschnitts geändert wird.
  8. 8. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß mindestens einer der den auszulösenden Operationen zugeordneten Speicherabschnitte durch Sprungbefehle ansteuerbar ist und als Quelle für eine Speicherseitenadresse verwendet wird.
    609830/0470
DE19752502005 1975-01-20 1975-01-20 Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung Expired DE2502005C2 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE19752502005 DE2502005C2 (de) 1975-01-20 1975-01-20 Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung
JP292176A JPS5732815B2 (de) 1975-01-20 1976-01-14
GB196376A GB1520981A (en) 1975-01-20 1976-01-19 Data processing
US05/844,885 US4162519A (en) 1975-01-20 1977-10-25 Data processor with address allocation to operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19752502005 DE2502005C2 (de) 1975-01-20 1975-01-20 Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung

Publications (2)

Publication Number Publication Date
DE2502005A1 true DE2502005A1 (de) 1976-07-22
DE2502005C2 DE2502005C2 (de) 1982-05-13

Family

ID=5936787

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752502005 Expired DE2502005C2 (de) 1975-01-20 1975-01-20 Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung

Country Status (3)

Country Link
JP (1) JPS5732815B2 (de)
DE (1) DE2502005C2 (de)
GB (1) GB1520981A (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978738A (en) 1997-02-13 1999-11-02 Anthony Brown Severe weather detector and alarm

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1101823B (de) * 1956-12-12 1961-03-09 S E A Soc D Electronique Et D Numerisches elektrisches Rechengeraet
DE1774276A1 (de) * 1968-05-15 1971-07-29 Elektronische Rechenmasch Ind Verfahren zur Adressierung von Mikroprogrammspeichern mit Zwei- oder Mehradressmikrobefehlen
DE2135592A1 (de) * 1971-07-16 1973-02-01 Ibm Deutschland Einrichtung zur fehlererkennung und -korrektur in elektronischen datenverarbeitungssystemen

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1101823B (de) * 1956-12-12 1961-03-09 S E A Soc D Electronique Et D Numerisches elektrisches Rechengeraet
DE1774276A1 (de) * 1968-05-15 1971-07-29 Elektronische Rechenmasch Ind Verfahren zur Adressierung von Mikroprogrammspeichern mit Zwei- oder Mehradressmikrobefehlen
DE2135592A1 (de) * 1971-07-16 1973-02-01 Ibm Deutschland Einrichtung zur fehlererkennung und -korrektur in elektronischen datenverarbeitungssystemen

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Datenverarbeitungsanlage 3003, Siemens u. Halske AG, NV BS 107/1, Mai 1963, S. 8 *
Elektronische Rechenanlagen, H. 6, 1974, S. 230-235 *

Also Published As

Publication number Publication date
GB1520981A (en) 1978-08-09
DE2502005C2 (de) 1982-05-13
JPS5732815B2 (de) 1982-07-13
JPS5197341A (de) 1976-08-26

Similar Documents

Publication Publication Date Title
DE2515696C2 (de) Datenverarbeitungssystem
DE2755273C2 (de)
DE1499193C3 (de) Speicher-Adressierschaltung
DE2154106A1 (de) Arbeitsspeicherwerk
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2364408A1 (de) System zur erstellung von schaltungsanordnungen aus hochintegrierten chips
DE2339636C2 (de) Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE1928202B2 (de) Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen
DE2355993A1 (de) Datenverarbeitungseinheit einschliesslich mikroprogramm-steuereinrichtung
DE2062228A1 (de) Datenverarbeitungssystem mit gleich zeitigem Zugriff auf mehrere Speicher stellen
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE2433436A1 (de) Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer
DE1190706B (de) In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine
DE1524898C3 (de) Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter
DE2245284A1 (de) Datenverarbeitungsanlage
DE2235883C3 (de) Datenverarbeitungseinrichtung
CH495584A (de) Datenverarbeitungsanlage
DE2403669A1 (de) Spezialcomputer
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE3101270C2 (de) Rechneranordnung zur Wortverarbeitung mit einer Einrichtung zur Funktionserweiterung
DE2502005A1 (de) Verfahren zur zuordnung von adressen in datenverarbeitungseinrichtungen
DE2343501B2 (de) Steuerschaltung für zumindest eine Rechenanlage mit mehreren für die Durchführung von EuWAusgabe-Programmen bestimmten Registern
DE1296429B (de) Datenbearbeitungsanlage
DE2204680C3 (de) Mikroprogramm-Steuereinrichtung

Legal Events

Date Code Title Description
8125 Change of the main classification

Ipc: G06F 9/34

D2 Grant after examination
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee