DE2938570A1 - Schaltungsanordnung fuer einen mikrocomputer - Google Patents

Schaltungsanordnung fuer einen mikrocomputer

Info

Publication number
DE2938570A1
DE2938570A1 DE19792938570 DE2938570A DE2938570A1 DE 2938570 A1 DE2938570 A1 DE 2938570A1 DE 19792938570 DE19792938570 DE 19792938570 DE 2938570 A DE2938570 A DE 2938570A DE 2938570 A1 DE2938570 A1 DE 2938570A1
Authority
DE
Germany
Prior art keywords
memory
programming language
language
program
read
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.)
Withdrawn
Application number
DE19792938570
Other languages
English (en)
Inventor
Manfred Dipl.-Ing. 8551 Heroldsbach Schlang
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.)
Siemens AG
Original Assignee
Siemens 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 Siemens AG filed Critical Siemens AG
Priority to DE19792938570 priority Critical patent/DE2938570A1/de
Priority to EP80105471A priority patent/EP0025952B1/de
Priority to AT80105471T priority patent/ATE10981T1/de
Priority to DE8080105471T priority patent/DE3069871D1/de
Priority to JP13275080A priority patent/JPS5654551A/ja
Publication of DE2938570A1 publication Critical patent/DE2938570A1/de
Withdrawn 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/3017Runtime instruction translation, e.g. macros
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D15/00Control, e.g. regulation, of pumps, pumping installations or systems
    • F04D15/0066Control, e.g. regulation, of pumps, pumping installations or systems by changing the speed, e.g. of the driving engine
    • 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/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Devices For Executing Special Programs (AREA)
  • Executing Machine-Instructions (AREA)

Description

  • Schaltungsanordnung für einen Mikrocomputer
  • Die Erfindung betrifft eine Schaltungsanordnung für einen Mikrocomputer mit einem Speicher zur Aufnahme eines implementierten Befehlsatzes in einer untergeordneten, insbesondere maschinenorientierten Programmiersprache und einem Anwenderprogrammspeicher zur Aufnahme der Anweisungen eines Anwenderprogramms in einer übergeordneten, insbesondere problemorientierten Programmiersprache, sowie einem Interpretierer zur Übersetzung der Anweisungen der übergeordneten Programmiersprache in Befehlsfolgen der untergeordneten Programmiersprache, und ferner einem Programmzähler für die Befehle des Anwenderprogramms.
  • Bei Mikrocomputern mit implementierten Befehlssätzen werden bei der Verwendung von übergeordneten, insbesondere problemorientierten Programmiersprachen, z.B. FORTRAN, und untergeordneten, insbesondere maschinenorientierten Programmiersprachen, z.B. ASSEMBLER, die einzelnen Befehle der übergeordneten Programmiersprache durch eine Folge von Befehlen der untergeordneten Programmiersprache interpretiert. Jede Interpretation erfordert eine Mehrfachprogrammverzweigung, wobei in der Regel die Anzahl der Zweige der Anzahl der Befehle im Befehlsvorrat der untergeordneten Programmiersprache entspricht.
  • Derartige Mehrfachprogrammverzweigungen werden bisher ausschließlich durch Software verwirklicht. Hierbei wird ein Programmteil in der untergeordneten Programmiersprache geschrieben, das bei der Interpretation jedes Befehls der übergeordneten Programmiersprache zuerst durchlaufen wird und die Anfangsadresse des gerade zu interpretierenden Befehls in den Programmzähler lädt. Ist ein derartiges indirektes Laden des Programmzählers nicht möglich, so wird eine Mehrfachprogrammverzweigung durch eine Folge von Einfachverzweigungen nachgebildet, was einen großen Zeitaufwand bei der Abarbeitung des Anwenderprogramms durch den Mikroprozessor erfordert. Die Abarbeitung einer Mehrfachverzweigung, die ausschließlich durch Software verwirklicht wird, benötigt somit einen erheblichen Teil der Bearbeitungszeit des Zweiges selbst.
  • Bei der schnellen Steuerung technischer Abläufe durch einen Mikroprozessor mit implementiertem Befehlssatz wird durch derartige Mehrfachprogrammverzweigungen die Ablaufsteuerung unerwünscht verlangsamt. Dies kann zur Ineffizienz einer der Maschinensprache übergeordneten Sprache führen, bzw. führt allgemein bei einer hierarchischen Ordnung mehrerer Programmiersprachen zu steigender Ineffizienz in Richtung der höchsten Sprache.
  • Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungsanordnung für einen Mikroprozessor mit implementiertem Befehlssatz anzugeben, die eine schnellere Realisierung einer Mehrfachprogrammverzweigung bei der Interpretation einer übergeordneten Programmiersprache durch eine untergeordnete Programmiersprache ermöglicht.
  • Erfindungsgemäß wird diese Aufgabe gelöst durch einen Festwertspeicher zur Aufnahme der Adressen für den Interpretierer und einn direkt übernehmenden Speicher, wobei die Eingänge des Festwertspeichers an diejenigen Leitungen des Datenbus angeschlossen sind, die mit dem Operationscode der übergeordneten Programmiersprache belegt sind, und die Ausgänge des Festwertspeichers mit den Dateneingängen des direkt übernehmenden Speichers verbunden sind, der von einem Adressdecoder mit Ladesteuersignalen und Lesesteuersignalen gesteuert wird.
  • Bei der erfindungsgemäßen Schaltungsanordnung wird die Schaltung des Mikrocomputers durch einen Festwertspeicher und ein direkt übernehmendes Register ergänzt.
  • Die Funktion dieser ergänzten Schaltungsanordnung besteht darin, daß ein Sprungbefehl in der untergeordneten Programmiersprache, der eine Ladung des Programmzählers mit konstanter Adresse beinhaltet, derart modifiziert wird, daß die Speicherzelle, die die Sprungadresse enthalten soll, mit der jeweils gewünschten Sprungadresse, die der Anfangsadresse des zu interpretierenden Befehls der übergeordneten Programmsprache entspricht, überschrieben wird, bevor die Sprungadresse in den Programmzähler geladen wird. Dieser Vorgang wird durch sehr wenige Befehle der untergeordneten Programmiersprache gesteuert. Der entsprechende Programmteil zur Steuerung enthält einen Befehl, der das Kriterium für die Verzweigung im Befehlscode der übergeordneten Sprache auf den Datenbus des Mirkocomputers ausgibt und aus dem modifizierten Sprungbefehl, der eine Mehrfachverzweigung durch einen unbedingten Sprungbefehl bewirkt.
  • Die Erfindung wird anhand der in der Zeichnung dargestellten Ausführungsbeispiele im einzelnen beschrieben, wobei zur besseren Übersicht nur die zum Verständnis der Erfindung notwendigen Elemente und Verbindungen eines Mikrocomputers schematisch dargestellt sind. Es zeigen: FIG 1 eine schematische Darstellung eines ersten Ausführungsbeispieles der Erfindung, FIG 2 eine schematische Darstellung eines weiteren Ausführungsbeispieles der Erfindung.
  • FIG 1 zeigt den Schaitungsaufbau eines Mikrocomputers.
  • An die Bus struktur 1 des Mikrocomputers sind angeschlossen ein Mikroprozessor 2 mit einem Programmzähler 3 für die in der übergeordneten Programmiersprache geschrietenen Anweisungen eines Anwenderprogramms, ein Anwenderprogrammspeicher 4, der die Anweisungen des Anwenderprogramms enthält und ein Interpretorspeicher 5, der das Interpretationsprogramm enthält. Der Interpretorspeicher 5 ist in eine Anzahl von Speicherbereiche eingeteilt. In jedem dieser Speicherbereiche ist eine Befehlsfolge in der untergeordneten, insbesondere maschinenorientierten Programmiersprache eingeschrieben, die eine Anweisung in der übergeordneten Programmiersprache interpretiert. Am Ende eines jeden Speicherbereichs des Interpretorspeichers 5 ist ein Rücksprungbefehl programmiert. Der Interpretorspeicher 5 enthält weiterhin einen Speicherbereich, in dem die Befehle für den Interpretoreinsprung und für das Befehlsholen gespeichert sind. In einem letzten Speicherbereich schließlich ist ein unbedigter Sprungbefehl gespeichert.
  • Der dargestellte Mikrocomputer enthält weiterhin die erfindungsgemäßen Elemente, nämlich einen Festwertspeicher 7, insbesondere ein PROM, einen direkt übernehmenden Speicher 8 und einen Adressdecoder 6. Die Eingänge des Festwertspeichers 7 sind an den Datenbus angeschlossen, der eine der Wortbreite der untergeordneten Programmiersprache entsprechende Anzahl n von Leitungen aufweist. Die Anzahl der Adressen des Festwert- speichers entspricht der Operationscodelänge OC der übergeordneten Programmiersprache. Für die Anzahl c der eingangsseitigen Adressleitungen des Festwertspeichers 7 gilt die Beziehung (1): OC = 2C (1) Der Festwertspeicher 7 enthält eine Anzahl von adressierbaren Speicherplätzen, in denen die Einsprungadressen für den Interpretorspeicher 5 fest gespeichert sind. Die Anzahl der Ausgänge des Festwertspeichers 7 entspricht der Adressbreite AB für das Interpretationsprogramm, die dem Logarithmus der Basis 2 der Länge des Interpretationsprogramms in Anzahl der Speicherworte entspricht. Die Ausgänge des Festwertspeichers 7 sind mit einer ersten Anzahl AB von Eingängen des direkt übernehmenden Speichers 8 verbunden. Der direkt übernehmende Speicher 8 ist vorzugsweise als D-Register in TTL-Technik mit tristate-Ausgängen ausgebildet. Eine weitere Anzahl Eingänge AG des D-Registers 8 sind mit den höherwertigen Bits für die Anfangsadresse des Interpretationsprogramms im Adressbereich und den restlichen Bits des JUMP-Code der Anzahl k verbunden. Es gilt für die Eingänge AG die Beziehung (2): AG = n-AB+k (2) Das D-Register 8 wird vom Adressdecoder 6 gesteuert, der eingangsseitig an den Steuerbus und den Adressbus n-k in der Busstruktur angeschlossen ist. Der Adressdecoder 6 erzeugt ein Ladesteuersignal für den entsprechenden Eingang G des D-Registers 8, das bei der Adresse j-l aktiviert wird, sowie ein Lesesteuersignal für den entsprechenden Eingang OE des D-Registers 8, das bei der Adresse j aktiviert wird. Die Adressen j-l und j sind die Adressen des modifizierbaren JUMP-Befehls, die neben der Schaltungsdarstellung angegeben sind. Dabei entspricht die Wortbreite n entweder 0 oder n. Weiterhin ento spricht nO+k der Länge des JUMP-Operationscodes und n-k der Länge der JUMP-Adresse, die wiederum der Größe des Adressbereichs entspricht.
  • Die Aktivierung der erfindungsgemäßen Schaltungsergänzung eines Mikrocomputers erfolgt durch einen Programmteil, der aus einem Befehl besteht, der das Kriterium für die Verzweigung im Befehlscode der übergeordneten Programmiersprache auf den Datenbus des Mikroprozessorsystems ausgibt, und aus dem unbedingten Sprungbefehl, der die Mehrfachverzweigung bewirkt. Durch diesen Programmteil wird der Sprungbefehl in der untergeordneten Programmiersprache, der eine Programmzählerladung mit konstanter Adresse bewikt, über den Festwertspeicher 7 und das D-Register 8 derart modifiziert, daß die Speicherzelle, die die Sprungadresse enthalten soll, mit der Anfangsadresse des zu interpretierenden Befehls als neuer Sprungadresse überschrieben wird, bevor sie in den Programmzähler geladen wird. Damit ergibt sich folgender Funktionsablauf bei einer Abarbeitung eines Befehls der übergeordneten Programmiersprache: Der Befehl in der übergeordneten Programmiersprache wird in den Mikroprozessor geladen. Der Mikroprozessor läuft auf die Adresse j-1 und führt einen Sprungbefehl (JUMP) aus. Dabei schaltet der Programmzähler des Mikroprozessors automatisch auf die Adresse j. Bei der Adresse j steht die vom Festwertspeicher 7 interpretierte Einsprungadresse für den Prozessor im D-Register 8 bereit.
  • Damit wird der Programmzähler 3 des Mikroprozessors 2 auf den Anfang des entsprechenden Interpretationszweiges im Interpretorspeicher 5 gestellt. Der Befehl in der übergeordneten Programmiersprache kann somit ohne zusätzliche Zeitverzögerung interpretiert werden.
  • FIG 2 zeigt eine ähnlich aufgebaute Anordnung, bei der jedoch im Gegensatz zu FIG 1 zwei Festwertspeichern 8a und 8b vorgesehen sind. Bei dieser Ausführungsform besteht die Sprungadresse aus zwei aufeinanderfolgenden Speicherworten, die jeweils in einem der beiden Festwertspeicher 8a, 8b fest eingespeichert sind. Beide D-Register 8a und 8b werden an ihren Eingängen G von einem Ladesteuersignal bei der Adresse j-1 aktiviert und übernehmen dabei die an ihren Dateneingängen anstehenden Informationen. Die Dateneingänge AG1 des D-Registers 8a entsprechen den restlichen JUMP-Code Bits k. Die weiteren Dateneingänge n-AG1 des Festwertspeichers 8a sind mit einem Teil der Ausgänge AB des Festwertspeichers 7 verbunden. Die Dateneingänge AG2 des D-Registers 8b sind mit den höherwertigen Bits für die Anfangsadresse des Interpretationsprogramms im Adressbereich belegt. Es gilt die Beziehung (3): AG2 - 2n-AB-k. (3) Ausgangsseitig sind die beiden D-Register 8a und 8b mit dem Datenbus verbunden, wobei n wiederum der Wortbreite der untergeordneten Programmiersprache entspricht.
  • Der Adressdecoder 6', der eingangsseitig wiederum mit dem Steuerbus und dem Adressbus 2n-k verbunden ist, erzeugt ein Lesesteuersignal für den entsprechenden Eingang OE1 des D-Registers 8a, das bei der Adresse j aktiviert wird, sowie ein Lesesteuersignal für den entsprechenden Eingang OE2 des D-Registers 8b, das bei der Adresse j+1 aktiviert wird.
  • Die Eingangsbeschaltung der beiden D-Register 8a und 8b kann alternativ auch so vorgenommen werden, daß die Dateneingänge AG1 des D-Registers 8a mit den restlichen JUMP-Code Bits und höherwertigen Bits für die Anfangs- adresse des Interpretationsprogramms im Adressbereich belegt sind und die Dateneingänge AG2 des D-Registers 8b mit AK belegt sind.
  • Neben der Schaltungsdarstellung der FIG 2 sind die Speicheradressen j-1, j, j+1 des modifizierbaren JUMP-Befehls veranschaulicht. Die Wortbreite nO entspricht entweder 0 oder der Wortbreite n der untergeordneten Programmiersprache. n +k entspricht der Länge 0 des JUMP-Operationscodes. 2n-k entspricht der Länge der JUMP-Adresse und damit der Größe des Adressbereichs.
  • 1 Patentanspruch 2 Figuren

Claims (1)

  1. Patentanspruch Schaltungsanordnung für einen Mikrocomputer mit einem Speicher zur Aufnahme eines implementierten Befehlsatzes in einer untergeordneten, insbesondere maschinenorientierten Programmiersprache und einem Anwenderprogrammspeicher zur Aufnahme der Anweisungen eines Anwenderprogramms in einer übergeordneten, insbesondere problemorientierten Programmiersprache, sowie einem Interpretierer zur Ubersetzung der Anweisungen der übergeordneten Programmiersprache in Befehlsfolgen der untergeordneten Programmiersprache, und ferner einem Programmzähler für die Befehle des Anwenderprogramms, g e -k e n n z e i c h n e t durch einen Festwertspeicher (7) zur Aufnahme der Adressen für den Interpretierer (5) und einen direkt übernehmenden Speicher (8; 8a, 8b), wobei die Eingänge des Festwertspeichers (7) an diejenigen Leitungen des Datenbus angeschlossen sind, die mit dem Operationscode der übergeordneten Programmiersprache belegt sind, und die Ausgänge des Festwertspeichers (7) mit den Dateneingängen des direkt übernehmenden Speichers (8; 8a, 8b) verbunden sind, der von einem Adressdecoder (6; 6') mit Ladesteuersignalen (G) und Lesesteuersignalen (OE; OEI, OE2) gesteuert wird.
DE19792938570 1979-09-24 1979-09-24 Schaltungsanordnung fuer einen mikrocomputer Withdrawn DE2938570A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE19792938570 DE2938570A1 (de) 1979-09-24 1979-09-24 Schaltungsanordnung fuer einen mikrocomputer
EP80105471A EP0025952B1 (de) 1979-09-24 1980-09-12 Schaltungsanordnung für einen Mikrocomputer mit Interpretorspeicher
AT80105471T ATE10981T1 (de) 1979-09-24 1980-09-12 Schaltungsanordnung fuer einen mikrocomputer mit interpretorspeicher.
DE8080105471T DE3069871D1 (en) 1979-09-24 1980-09-12 Circuit arrangement for a microcomputer with an interpreter storage
JP13275080A JPS5654551A (en) 1979-09-24 1980-09-24 Microcomputer circuit system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19792938570 DE2938570A1 (de) 1979-09-24 1979-09-24 Schaltungsanordnung fuer einen mikrocomputer

Publications (1)

Publication Number Publication Date
DE2938570A1 true DE2938570A1 (de) 1981-04-23

Family

ID=6081684

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792938570 Withdrawn DE2938570A1 (de) 1979-09-24 1979-09-24 Schaltungsanordnung fuer einen mikrocomputer

Country Status (2)

Country Link
JP (1) JPS5654551A (de)
DE (1) DE2938570A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625052B2 (en) 2011-09-20 2023-04-11 Grundfos Holding A/S Pump unit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625052B2 (en) 2011-09-20 2023-04-11 Grundfos Holding A/S Pump unit
US11966238B2 (en) 2011-09-20 2024-04-23 Grundfos Holding A/S Pump unit

Also Published As

Publication number Publication date
JPS5654551A (en) 1981-05-14

Similar Documents

Publication Publication Date Title
DE2755273C2 (de)
DE2364408C3 (de) Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE1250659B (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2446224A1 (de) Vorrichtung zum steuern des mikroprogramms im operationssystem einer digitalen datenverarbeitungsanlage
DE2813128A1 (de) Mikroprogrammspeicher
DE69732793T2 (de) Acht-bit-mikrokontroller mit risc-architektur
DE2718551C3 (de) Adressenumsetzer
DE2426874A1 (de) Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls
DE2926351A1 (de) Look-ahead-speicheradressen- steuereinrichtung
DE2134816A1 (de) Einrichtung zur adressenuebersetzung
EP0130269B1 (de) Speicherprogrammierbare Steuerung
DE2951040A1 (de) Steuerspeicher in einem steuerabschnitt eines rechners
EP0025952B1 (de) Schaltungsanordnung für einen Mikrocomputer mit Interpretorspeicher
DE2747304C3 (de) Einrichtung zur Mikrobefehlssteuerung
DE2336676B2 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE2938570A1 (de) Schaltungsanordnung fuer einen mikrocomputer
DE3121046A1 (de) Arithmetik-logikeinheit mit bit-manipulation
DE1799012B1 (de) Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschnitten in einem elektronischen Rechner
DE4200285A1 (de) Microcomputer-speicherzugriffverfahren
DE2847479A1 (de) Schablonenfamilien-schnittstelleneinrichtung
DE2942025A1 (de) Schaltungsanordnung fuer einen mikrocomputer
DE3101270A1 (de) Rechnersystem zur kombinierten wortverarbeitung und bitverarbeitung
EP0494329B1 (de) Schaltungsanordnung zur Abbildung des logischen Adressraums einer Prozessoreinheit auf den physikalischen Adressraum eines Speichers

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee