DE10107102A1 - Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor - Google Patents

Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor

Info

Publication number
DE10107102A1
DE10107102A1 DE10107102A DE10107102A DE10107102A1 DE 10107102 A1 DE10107102 A1 DE 10107102A1 DE 10107102 A DE10107102 A DE 10107102A DE 10107102 A DE10107102 A DE 10107102A DE 10107102 A1 DE10107102 A1 DE 10107102A1
Authority
DE
Germany
Prior art keywords
instruction word
instruction
word
program
register
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
DE10107102A
Other languages
English (en)
Other versions
DE10107102B4 (de
Inventor
Gerhard Fettweis
Matthias Weis
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.)
Callahan Cellular LLC
Original Assignee
Systemonic 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 Systemonic AG filed Critical Systemonic AG
Priority to DE10107102A priority Critical patent/DE10107102B4/de
Priority to JP2002032394A priority patent/JP4494701B2/ja
Priority to GB0203098A priority patent/GB2375197B/en
Priority to FR0201754A priority patent/FR2824154B1/fr
Priority to US10/075,916 priority patent/US7069418B2/en
Publication of DE10107102A1 publication Critical patent/DE10107102A1/de
Application granted granted Critical
Publication of DE10107102B4 publication Critical patent/DE10107102B4/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G21/00Preparing, conveying, or working-up building materials or building elements in situ; Other devices or measures for constructional work
    • E04G21/02Conveying or working-up concrete or similar masses able to be heaped or cast
    • E04G21/04Devices for both conveying and distributing
    • E04G21/0418Devices for both conveying and distributing with distribution hose
    • E04G21/0436Devices for both conveying and distributing with distribution hose on a mobile support, e.g. truck
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G21/00Preparing, conveying, or working-up building materials or building elements in situ; Other devices or measures for constructional work
    • E04G21/02Conveying or working-up concrete or similar masses able to be heaped or cast
    • E04G21/04Devices for both conveying and distributing
    • E04G21/0418Devices for both conveying and distributing with distribution hose
    • E04G21/0445Devices for both conveying and distributing with distribution hose with booms
    • E04G21/0463Devices for both conveying and distributing with distribution hose with booms with boom control mechanisms, e.g. to automate concrete distribution
    • 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
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren und eine Anordnung zur Instruktionswortengenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor, wobei die Instruktionsworte aus mehreren Instruktionswortteilen bestehen. Hierbei werden in einem Programmablauf, durch ein Programmwort gesteuert, aus einer durch eine Lesezeilennummer bestimmten Zeile eines zeilenweise beschreibbaren Instruktionswortspeichers ein Instruktionswort entnommen, mittels Substitutionen eines Instruktionswortteiles durch das Informationsteil des jeweiligen Programmwortes verändert und in eine durch eine Schreibzeilennummer bestimmte Zeile des Instruktionswortspeichers zurückgeschrieben. Anschließend wird ein auf diese Weise erzeugtes und programmgemäß abzuarbeitendes Instruktionswort zur Ansteuerung der Funktionseinheiten an den Prozessor ausgegeben. DOLLAR A Erfindungsgemäß wird eine Verringerung der Verarbeitungsbreite und eine Erhöhung der Arbeitsgeschwindigkeit erreicht, indem die Schreib- und Lesezeilennummer durch entsprechende Register erzeugt werden und/oder möglichst viele abzuarbeitende Instruktionsworten aufeinanderfolgend im Instruktionswortspeicher zusammengestellt und bearbeitet werden, so daß sie in Blöcken zusammengefaßt werden. Dadurch kann die Verarbeitungsbreite bei der Programmwortverarbeitung in dem Teil, welcher Steuerinformationen trägt, verringert werden.

Description

Die Erfindung betrifft ein Verfahren zur Erzeugung von In­ struktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor, wobei die Instruktionsworte aus mehreren Instruktionswortteilen bestehen. Jeder Instruktionswortteil steuert je eine Funktionseinheit an. Hierbei erfährt eine aus einer Übersetzung eines Programmcodes stammende Folge von Primäristruktionsworten vor einem Programmablauf eine Fraktio­ nierung in Programmworte. Beim Programmablauf wird, gesteuert durch ein Programmwort, welches einen Informationsteil zu­ mindest von der Breite eines Instruktionswortteiles aufweist, aus einer durch eine Lesezeilennummer bestimmten Zeile eines zeilenweise beschreibbaren Instruktionswortspeichers ein In­ struktionswort entnommen und mittels Substitution eines In­ struktionswortteiles durch den Informationsteil des jeweiligen Programmwortes verändert. Danach wird es in eine durch eine Schreibzeilennummer bestimmte Zeile des Instruktionswortspei­ chers zurückgeschrieben. Nach einer auf diese Weise erfolgten Erzeugung eines dem abzuarbeitenden Primärinstruktionswort entsprechenden Instruktionswortes wird dieses zur Ansteuerung der Funktionseinheiten ausgegeben.
Die Erfindung betrifft weiterhin eine Anordnung zur Durch­ führung des oben genannten Verfahrens.
In der deutschen Patentschrift DE 198 59 389 C1 wird ein Ver- fahren der eingangs genannten Art und eine Anordnung zur An­ steuerung von Funktionseinheiten in einem Prozessor beschrie­ ben.
Bei dieser bekannten Lösung sind in dem Programmwort neben dem Informationsteil zumindest auch die Informationen über die Schreib- und Lesezeilennummer enthalten. Dies bedingt eine Breite der Programmworte, die einerseits mit der damit er­ forderlichen Verarbeitung und Decodierung der Steuerinforma­ tionen Einschränkungen in der Verarbeitungsgeschwindigkeit der aufgabenbezogenen Daten ergeben. Anderseits bedingt die hohe Datenbreite bei der Programmwortverarbeitung einen hohen Hard­ wareaufwand bei der Realisierung des Prozessors.
Aufgabe der Erfindung ist es, die Datenbreite des zu verarbei­ tenden Programmwortes zu veringern, um den Hardwareaufwand und damit die Kosten für die Realisierung des Prozessors nie­ rig zu halten.
Diese Aufgabe wird verfahrenseitig durch die kennzeichnenden Merkmale des Anspruchs 1 und anordnungsseitig durch die kenn­ zeichnenden Merkmale der Ansprüche 8 und 9 mit den entspre­ chenden Merkmalen des Standes der Technik gelöst.
Hierbei wird realisiert, dass die benötigten Lese/Schreib Steuerinformationen durch ein Lese-Zeiger-Register, welches die Lesezeilennummer gespeicher hat, und durch ein Schreib- Zeiger-Register, welches die Schreibzeilennummer gespeichert hat, je Programmwortverarbeitung bereitgestellt werden.
Günstigerweise werden möglichst viele abzuarbeitende Instruk­ tionsworte aufeinanderfolgend im Instruktionswortspeicher zusammengestellt und abgelegt, so daß sie in Blöcken zusammen­ gefaßt werden. So können das Lese-Zeiger-Register und das Schreib-Zeiger-Register mit der Anzahl aufeinanderfolgender Lese- und Schreibzeilennummern in einer Ring-Zählweise einge­ stellt werden. Diese Anzahl wird durch den Inhalt eines Bloc­ klängen-Registers bereitgestellt.
In einer besonderen Ausgestaltung des erfindungsgemäßen Ver­ fahrens wird vorgesehen, dass das Programmwort ein Set-Bit aufweist, durch welches bei gesetztem aktiven Zustand des Set- Bits die Instruktionsworterzeugung ausgesetzt wird und die Registerinhalte des Lese-Zeiger-Registers, und/oder des Schreib-Zeiger-Registers und/oder des Blocklängen-Registers durch den Inhalt des Informationsteiles des Programmwortes gesetzt werden und bei gesetztem inaktiven Zustand des Set- Bits die Erzeugung des Instruktionswortes durchgeführt wird.
Mit dieser Lösung wird realisiert, dass die notwendigen Infor­ mationen für das Lese-Zeiger-Register, das Schreib-Zeiger- Register und das Blocklängen-Register zur Abbarbeitung eines weiteren Blockes von Instruktionsworten erkannt, decodiert und nicht wie ein Programmwort weiterverarbeitet werden. Dadurch können diese Register voreingestellt werden.
Damit kann erreicht werden, dass jeweils die Zeile des In­ struktionswortspeichers für die Erzeugung des dem Primärin­ struktionswort entsprechenden Instruktionswortes durch die Programmwortfolge angesprochen wird, die das Instruktionswort enthält, welches die geringsten Änderungen erfahren muß.
Auch kann ein für die weitere Instruktionswortfolge günstige­ res Schreiben gewählt werden. Wenn beispielsweise mehrere Programmworte für die Erzeugung des dem Primärinstruktions­ wortes entsprechenden Instruktionswortes, d. h. also mehrere Zwischenschritte erforderlich sind, kann es zweckmäßig sein, bei jedem Zwischenschritt aus derselben Zeile zu lesen und wieder in dieselbe zu schreiben. Das Lese-Zeiger-Register und das Schreib-Zeiger-Register werden also angehalten, was durch die Registereinstellungen bestimmt werden kann.
Anschließend kann es zweckmäßig sein, mit einer bestimmten Wiederholrate die Schreibzeilen- und Lesezeilennummern, begin­ nend ab jeweils einer bestimmten Nummer, ab- oder aufwärts­ steigend laufen zu lassen. Auch das kann mit einer erneuten Einstellung bewerkstelligt werden.
In einer ergänzenden Ausgestaltung des erfindungsgemäßen Ver­ fahrens wird vorgesehen, dass mit gesetztem aktiven Zustand des Set-Bits des Programmwortes der Inhalt des Information­ steiles in das Lese-Zeiger-Register, das Schreib-Zeiger-Regi­ ster und Blocklängen-Register einspeichert wird.
Eine vorteilhafte Ausführung des erfindungsgemäßen Verfahrens sieht vor, dass der Instruktionswortspeichers in eine erste Instruktionswortspeicherseite und in eine zweite Instruktions­ wortspeicherseite mit jeweils gleicher Zeilennummerierung aufgeteilt wird und dass für die Synthese des Instruktions­ wortes die aufzurufende Instruktionswortspeicherseite vom Inhalt eines Seitenregisters bestimmt wird.
Bei dieser Ausgestaltung werden die verschiedenen Gruppierun­ gen des Instruktionswortspeichers, die Instruktionswortspei­ cherseiten, durch den Inhalt des Seitenregisters adressiert, wobei in diesen Instruktionswortspeicherseiten die Zeilen­ adressierung mit gleichlaufenden Lese-Register-Zeiger und Schreib-Register-Zeiger vorgenommen wird.
So werden Instruktionsworte in den jeweiligen Instruktions­ wortspeicherseiten blockweise aufgebaut und abgearbeitet, deren Auswahl nur durch die Angabe des mit geringeren Bit­ breite versehenen Seitenspeicherinhaltes und nicht mit der Adressierung der Anfangswerte von Lese-Zeiger und Schreib- Zeiger, bei denen größerere Bitbreiten notwendig sind, vor­ genommen wird.
Die erfindungsgemäße Aufgabe wird auch durch die Merkmale des Anspruchs 5 gelöst. Damit wird es möglich, auch bei einer Gestaltung, bei der die Schreib- und Lesezeilennummern in den Programmworten enthalten ist, eine Verringerung der Breite der Programmworte zu erzielen, da insbesondere bei einer großen Anzahl von Zeilen in dem Instruktionswortspeicher durch eine Seiteneinteilung die Zeilennummern kleiner gehalten und damit die entsprechenden Informationen in dem Programmwort schmaler gehalten werden können.
Eine weitere vorteilhafte Ausführung der erfindungsgemäßen Verfahren sieht vor, dass ein Interruptsignal am Prozessor während einer bearbeiteten ersten Aufgabe auf einer Instruk­ tionswortspeicherseite eine Zwischenspeicherung eines verlas­ senen Bearbeitungsstandes der ersten Aufgabe auf einem Global­ speicher und nachfolgend die Abarbeitung einer zweiten Aufgabe auf der unbearbeiteten ersten Instruktionswortspeicherspei­ cherseite oder der zweiten Instruktionswortspeicherseite unverzüglich auslöst und dass nach Beendigung der zweiten Aufgabe nach Rückspeicherung aus dem Globalspeicher wieder am verlassenen Bearbeitungsstand der ersten Aufgabe anknüpfend diese fortgeführt wird.
Mit dieser erfindungsgemäßen Lösung wird gewährleistet, dass schnell abzuarbeitende Aufgaben höherer Priorität, die der Prozessor ausführen muss, ohne Zeitverzögerung und mit gering­ sten Zwischenspeicher- und Adressieraufwand in die gesamte Abarbeitung der Programmwortverarbeitung vorteilhaft einbezo­ gen wird.
Eine weitere Ausgestaltung der erfindungsgemäßen Verfahren sieht vor, dass eine Prefetch-Einheit den Aufbau des Instruk­ tionswortspeichers steuert und dass die Prefetch-Einheit un­ abhängig vom Bearbeitungsstand der aktuellen Aufgabe ein zu­ sätzliches Instruktionswort in einer unbenutzen Zeile des Instruktionswortspeichers oder in einem zusätzlichen Instruk­ tionswortspeicher bereit stellt, wenn bei der Abarbeitung einer aktuellen Aufgabe kein neues Instruktionswort anfällt.
Diese Lösung gewährleistet, dass bei Abarbeitung der Instruk­ tionsworte Verzögerungen bei der Bereitstellung von neuen Instruktionsworten minimiert werden, indem in Wartezeiten zum Einspeichern eines neuen Instruktionswortes in den Instruk­ tionswortspeicher diese Zeit von der Prefetch-Einheit verwen­ det wird, um ein nachfolgend zur Verarbeitung anstehendes Programmwort zu verarbeiten und ein neu erzeugtes Instruktionswort in einem gesonderten Bereich des Instruktionswort­ speichers zur Instruktionswortverarbeitung bereitzustellen.
Eine Ausgestaltung der erfindungsgemäßen Anordnung sieht vor, dass dem Instruktionswortspeicher eine Generiereinheit zu­ geordnet ist.
Eine weitere Ausgestaltung der erfindungsgemäßen Anordnung sieht vor, dass in der Generiereinheit ein Blocklängen-Regi­ ster, ein Lese-Zeiger-Register und ein Schreib-Zeiger-Register angeordnet sind, wobei dem Lese-Zeiger-Register ein Lese-Zei­ ger-vor/rück-wärts-Zähler und dem Schreib-Zeiger-Register ein Schreib-Zeiger-vor/rückwärts-Zähler zugeordnet sind, deren modulo-Zähleigenschaften mit dem Inhalt des Blockklängen-Regi­ sters korrespondieren.
Die Erfindung soll nachfolgend anhand eines Ausführungsbei­ spieles näher erläutert werden. In der Zeichnung zeigt:
Fig. 1 Funktionsblöcke und Ablauf des Verfahrens
Fig. 2 Blockschaltbild der Generiereinheit
Bei dem in Fig. 1 gezeigten Verfahren zur Instruktionswortge­ nerierung bei der Ansteuerung von Funktionseinheiten 12 an einem Prozessor 13 wird in bekannter Art und Weise aus einem Programmcode 1 mittels einer Übersetzung vor einem Programm­ ablauf eine Folge von Primärinstruktionsworten 2 aus mehreren Instruktionswortteilen 4 erzeugt. Weiterhin wird die Folge von Primärinstruktionsworten 2 in der Programmworterzeugung 8 fraktioniert und als Folge von zugehörigen Programmworten 17 in einem Ablaufspeicher 9 gespeichert.
In einem Programmablauf werden vor der Ausgabe aus dem Ab­ laufspeicher 9 das Programmwort 17 mit dem in ihm enthaltene Set-Bit 21 auf aktiven Zustand geprüft. Wird ein solcher er­ kannt, wird die weitere Programwortverarbeitung in der In­ struktionswortverarbeitung 10 ausgesetzt und der Informationsteil dieses Programmwortes 17 wird für die Belegung des Lese- Zeiger-Registers 18, des Schreib-Zeiger-Registers 19 und des Blocklängenregisters 20 bereitgestellt und in diese Register eingespeichert.
Mit diesen, in den Registerinhalten neu eingeschriebenen In­ formationen wird einerseits mit dem Inhalt des Blocklängen­ registers 20 die modulo-Zählweise des Lese-Zeiger-Registers 18 und des Schreib-Zeiger-Registers 19 eingestellt. Andererseits werden mit den Inhalten des Lese-Zeiger-Registers 18 und des Schreib-Zeiger-Registers 19 die jeweiligen Anfangswerte der bei der nächsten Instruktionswortverarbeitung auszugebenden Lese-Zeiger 35 und Schreib-Zeiger 36 voreingestellt.
Bei der nachfolgenden Instruktionswortverarbeitung in einem Instruktionswortspeicher 24 mit einer durch den Inhalt des Seitenregisters 27 ausgewählten ersten oder zweiten Instruk­ tionswortspeicherseite 6, 7 wird durch den ausgegebenen Lese- Zeiger 35 die aktuelle Lesezeilennummer und durch den ausge­ gebenen Schreib-Zeiger 36 die aktuelle Schreibzeilennummer eines zu verarbeitenden Blockes von Instruktionsworten, wel­ cher mit der durch den Inhalt des Blocklängenregisters 20 bestimmten Blocklänge versehen ist, angegeben. Der Instruk­ tionswortverarbeitungschritt kann programmgemäß durch Lese/Schreib/NOP(No-Operation) Operationen, verbunden mit einem erforderlichen Ausgabevorgang in die Instruktionswort­ ausgabe 11, ausgeführt werden.
Nach einem Instruktionswortverarbeitungschritt werden das Lese-Zeiger-Register 18 und das Schreib-Zeiger-Register 19 um eins weitergeschaltet und es kann ein weiterer Instruktions­ wortverarbeitungschritt erfolgen.
Falls ein Interruptsignal 25 vom Prozessor 13 ausgelöst wird, muß eine damit verbundene Aufgabe mit höherer Priorität un­ verzüglich ausgeführt werden. Alle bisherigen Registerinhalte einschließlich des Seitenregisters werden zwischengespeichert und diese Register werden während des Interruptvorganges neu belegt. Die mit dem Interrupt verbundene Instruktionswortver­ arbeitung wird in einem dafür vorgesehenen Instruktionswort­ speicher 24 ausgeführt. Nach Beendigung des Interruptvorganges werden alle zwischengespeicherten Registerinhalte rückgespei­ chert und die Instruktionswortverarbeitung kann an der durch das Interruptsignal 25 unterbrochenen Stelle programmgemäß fortgeführt werden.
Wird während einer Instruktionswortverarbeitung kein neues Instruktionswort 15 von der Instruktionsworterzeugung 10 zum Einspeichern in den Instruktionswortspeicher 24 angefordert, so wird von der Prefetch-Einheit 28 der Programmwortnachfolger 16 aus dem Ablaufspeicher 9 und das aktuell vom Instruktions­ wortspeicher 24 ausgegebene Instruktionswort 15 eingelesen und das zusätzliche Instruktionswort 29 erzeugt.
Dieses wird in einer freien Zeile des Instruktionswortspei­ chers 24 oder in dem zusätzlichen Instruktionswortspeicher 30 bereitgestellt und wird bei einer im weiteren Verlauf der Instruktionswortverarbeitung erfolgten Anforderung eines neuen Instruktionswortes 15 sofort umgeladen. Auf diese Weise wird die Verzögerung, die bei der Bereitstellung des neuen Instruk­ tionswortes 15 in der Instruktionsworterzeugung 10, bedingt durch die dort anfallende Verarbeitungszeit, vermieden.
Mit einem Speichern des Instruktionswortes 15 in die Instruk­ tionswortausgabe 11 werden die zur Verarbeitung in den ent­ sprechenden Funktionseinheiten 12 des Prozessors 13 erforder­ lichen Funktionen ausgelöst.
In Fig. 2 ist die Generiereinheit 31 ersichtlich, in der das Blocklängenregister 20, das Lese-Zeiger-Register 18 mit dem zugeordneten Lese-Zeiger-vor/rückwärts-Zähler 32 und das Schr­ eib-Zeiger-Register 19 mit dem zugeordneten Schreib-Zeiger- vor/rückwärts-Zähler 33 angeordnet sind.
An den Eingängen des Blocklängenregisters 20, des Lese-Zeiger- Registers 18 und des Schreib-Zeiger-Registers 19 liegt jeweils der Informationsteil-Bus 26 an, welcher die Eingabewerte für die Register bereitstellt. Mittels des ebenfalls an den Ein­ gängen der Register anliegenden Set-Bit-Signales 34 wird der Speichervorgang für die Eingabewerte bewirkt.
Der Ausgang des Blocklängenregisters 20 stellt für den modulo- Zählwert für den Lese-Zeiger-vor/rückwärts-Zähler 32 und den Schreib-Zeiger-Registers 19 bereit. Am Ausgang des Lese- Zeiger-Registers 18 wird der Anfangswert des Lese-Zeigers 35 für die Eingabe in den Lese-Zeiger-vor/rückwärts-Zähler 32 bereitgestellt. Dessen Ausgang legt den aktuellen Wert des Lese-Zeigers 35 an den Eingang des Lese-Zeiger-Registers 18. Dadurch wird über den zweiten Ausgang des Lese-Zeiger-Regi­ sters 18 der Lese-Zeiger 35 bereitgestellt.
Am Ausgang des Schreib-Zeiger-Registers 19 wird der Anfangs­ wert des Schreib-Zeigers 36 für die Eingabe in den Schreib- Zeiger-vor/rückwärts-Zähler 33 bereitgestellt. Dessen Ausgang legt den aktuellen Wert des Schreib-Zeigers 36 an den Eingang des Lese-Zeiger-Registers 19. Dadurch wird über den zweiten Ausgang des Schreib-Zeiger-Registers 19 der Schreib-Zeiger 36 bereitgestellt.
Bezugszeichenliste
1
Programmcode
2
Primärinstruktionswort
3
Instruktionswortspeicher
4
Instruktionswortteil
6
erste Instruktionswortspeicherseite
7
zweite Instruktionswortspeicherseite
8
Programmworterzeugung
9
Ablaufspeicher
10
Instruktionsworterzeugung
11
Instruktionswortausgabe
12
Funktionseinheit
13
Prozessor
15
Instruktionswort
16
Programmwortnachfolger
17
Programmwort
18
Lese-Zeiger-Register
19
Schreib-Zeiger-Register
20
Blocklängen-Register
21
Set-Bit
24
Instruktionswortspeicher
25
Interruptsignal
26
Informationsteil-Bus
27
Seitenregister
28
Prefetch-Einheit
29
zusätzliches Instruktionswort
30
zusätzliches Instruktionswortspeicher
31
Generiereinheit
32
Lese-Zeiger-vor/rückwärts-Zähler
33
Schreib-Zeiger-vor/rückwärts-Zähler
34
Set-Bit-Signal
35
Lese-Zeiger
36
Schreib-Zeiger

Claims (9)

1. Verfahren zur Erzeugung von Instruktionsworten zur An­ steuerung von Funktionseinheiten in einem Prozessor, wobei die Instruktionsworte aus mehreren Instruktionswortteilen bestehen und jeder Instruktionswortteil je eine Funktions­ einheit ansteuert, bei dem vor einem Programmablauf eine aus einer Übersetzung eines Programmcodes stammende Folge von Primäristruktionsworten eine Fraktionierung in Pro­ grammworte erfährt und bei dem beim Programmablauf, durch ein Programmwort, welches einen Informationsteil zumindest von der Breite eines Instruktionswortteiles aufweist, gesteuert, aus einer durch eine Lesezeilennummer bestimmte Zeile eines zeilenweise beschreibbaren Instruktionswort­ speicher ein Instruktionswort entnommen wird, mittels Substitution eines Instruktionswortteiles durch das Infor­ mationsteil des jeweiligen Programmwortes verändert und in eine durch eine Schreibzeilennummer bestimmte Zeile des Instruktionswortspeichers zurückgeschrieben wird und nach einer auf diese Weise erfolgten Erzeugung eines dem ab­ zuarbeitenden Primärinstruktionswort entsprechenden In­ struktionswortes dieses zur Ansteuerung der Funktionsein­ heiten ausgegeben wird, dadurch gekenn­ zeichnet, dass die Lesezeilennummer durch ein Lese- Zeiger-Register (18) und die Schreibzeilennummer durch ein Schreib-Zeiger-Register (19) bereitgestellt wird, wobei je Programmwort (17) eine Lese- und eine Schreibzei­ lennummer ausgegeben wird, und wobei eine Anzahl aufein­ ander folgender Lese- und Schreibzeilennummern durch den Inhalt eines Blocklängen-Registers (20) bestimmt wird.
2. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, dass das Programmwort (17) ein Set-Bit (21) aufweist, durch welches bei gesetztem aktiven Zustand die Instruktionsworterzeugung (10) ausgesetzt wird und die Registerinhalte des Lese-Zeiger-Registers (18), und/o­ der des Schreib-Zeiger-Registers (19) und/oder des Block­ längen-Registers (20) durch den Inhalt des Informations­ teiles des Programmwortes gesetzt werden und bei gesetztem inaktiven Zustand des Set-Bits (21) die Erzeugung des Instruktionswortes (15) durchgeführt wird.
3. Verfahren nach Anspruch 2, dadurch gekenn­ zeichnet, dass bei einem Programmwort (17) mit gesetztem aktiven Zustand des Set-Bits (21) der Inhalt des Informationsteiles in die Lese-Zeiger-Register (18), Schr­ eib-Zeiger-Register (19) und Blocklängen-Register (20) einspeichert wird.
4. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass der Instruktionswort­ speichers (24) in eine erste Instruktionswortspeicherseite (6) und in eine zweite Instruktionswortspeicherseite (7) mit jeweils gleicher Zeilennummerierung aufgeteilt wird und dass für die Synthese des Instruktionswortes (15) die aufzurufende Instruktionswortspeicherseite vom Inhalt eines Seitenregisters (27) bestimmt wird.
5. Verfahren zur Erzeugung von Instruktionsworten zur An­ steuerung von Funktionseinheiten in einem Prozessor, wobei die Instruktionsworte aus mehreren Instruktionswortteilen bestehen und jeder Instruktionswortteil je eine Funktions­ einheit ansteuert, bei dem vor einem Programmablauf eine aus einer Übersetzung eines Programmcodes stammende Folge von Primäristruktionsworten eine Fraktionierung in Pro­ grammworte erfährt und bei dem beim Programmablauf, durch ein Programmwort, welches einen Informationsteil zumindest von der Breite eines Instruktionswortteiles aufweist, gesteuert, aus einer durch eine Lesezeilennummer bestimmte Zeile eines zeilenweise beschreibbaren Instruktionswort­ speicher ein Instruktionswort entnommen wird, mittels Subtitution eines Instruktionswortteiles durch das Infor­ mationsteil des jeweiligen Programmwortes verändert und in eine durch eine Schreibzeilennummer bestimmte Zeile des Instruktionswortspeichers zurückgeschrieben wird und nach einer auf diese Weise erfolgten Erzeugung eines dem ab­ zuarbeitenden Primärinstruktionswort entsprechenden In­ struktionswortes dieses zur Ansteuerung der Funktionsein­ heiten ausgegeben wird, dadurch gekenn­ zeichnet, dass der Instruktionswortspeicher (24) in eine erste Instruktionswortspeicherseite (6) und in eine zweite Instruktionswortspeicherseite (7) aufgeteilt wird und dass für die Synthese des Instruktionswortes (15) die aufzurufende Instruktionswortspeicherseite vom Inhalt eines Seitenregisters (27) bestimmt wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass ein Interruptsignal (25) am Prozessor während einer zu bearbeiteten ersten Aufgabe auf der ersten Instruktionswortspeicherspeicherseite (6) oder der zweiten Instruktionswortspeicherseite (7) eine Zwischenspeicherung eines verlassenen Bearbeitungsstandes der ersten Aufgabe auf einem Globalspeicher und nachfol­ gend die Abarbeitung einer zweiten Aufgabe auf der unbe­ arbeiteten ersten Instruktionswortspeicherspeicherseite (6) oder der zweiten Instruktionswortspeicherseite (7) unverzüglich auslöst und dass nach Beendigung der zweiten Aufgabe nach Rückspeicherung aus dem Globalspeicher wieder am verlassenen Bearbeitungsstand der ersten Aufgabe an­ knüpfend diese fortgeführt wird.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass eine Prefetch-Einheit (28) den Aufbau des Instruktionswortspeichers (24) steuert und dass unabhängig vom Bearbeitungsstand der aktuellen Aufgabe die Prefetch-Einheit (28) ein zusätzliches In­ struktionswort (29) in einer unbenutzen Zeile des Instruk­ tionswortspeichers (24) oder in einem zusätzlichen In­ struktionswortspeichers (30) bereit stellt, wenn bei der Abarbeitung einer aktuellen Aufgabe an der Prefetch-Ein­ heit (28) kein neues Instruktionswort (15) anfällt.
8. Anordnung zur Erzeugung von Instruktionsworten zur An­ steuerung von Funktionseinheiten in einem Prozessor mit Funktionseinheiten, mit einem diesen Funktionseinheiten zugeordneten Instruktionswortspeicher und einem Instruk­ tionswortpuffer zur Speicherung bereits erzeugter Instruk­ tionsworte mit einer Breite, die mindestens gleich der Bitbreite des Instruktionswortes ist, wobei der Instruk­ tionswortpuffer aus einem Speicher mit wahlweisem oder fest programmierten zeilenweisen Zugriff besteht, da­ durch gekennzeichnet, dass dem Instruk­ tionswortspeichers (24) eine Generiereinheit (31) zugeord­ net ist.
9. Anordnung nach Anspruch 8, dadurch gekenn­ zeichnet, dass in der Generiereinheit (31) ein Blocklängen-Registers (20) ein Lese-Zeiger-Register (18) und ein Schreib-Zeiger-Register (19) angeordnet sind, wobei dem Lese-Zeiger-Register (8) ein Lese-Zeiger-vor- /rück-wärts-Zähler (32) und dem Schreib-Zeiger-Register (19) ein Schreib-Zeiger-vor/rückwärts-Zähler (33) zu­ geordnet sind, deren Ring-Zähleigenschaften mit dem Inhalt des Blocklängen-Registers (20) bestimmt werden.
DE10107102A 2001-02-14 2001-02-14 Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor Expired - Fee Related DE10107102B4 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE10107102A DE10107102B4 (de) 2001-02-14 2001-02-14 Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor
JP2002032394A JP4494701B2 (ja) 2001-02-14 2002-02-08 プロセッサ内の機能単位の制御時に命令語を生成する方法
GB0203098A GB2375197B (en) 2001-02-14 2002-02-11 Method and arrangement for instruction word generation in the driving of functional units in a processor
FR0201754A FR2824154B1 (fr) 2001-02-14 2002-02-13 Procede et dispositif pour generer des mots d'instruction pour la commande d'unites fonctionnelles dans un processeur
US10/075,916 US7069418B2 (en) 2001-02-14 2002-02-14 Method and arrangement for instruction word generation in the controlling of functional units in a processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10107102A DE10107102B4 (de) 2001-02-14 2001-02-14 Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor

Publications (2)

Publication Number Publication Date
DE10107102A1 true DE10107102A1 (de) 2002-08-29
DE10107102B4 DE10107102B4 (de) 2004-02-26

Family

ID=7674177

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10107102A Expired - Fee Related DE10107102B4 (de) 2001-02-14 2001-02-14 Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor

Country Status (5)

Country Link
US (1) US7069418B2 (de)
JP (1) JP4494701B2 (de)
DE (1) DE10107102B4 (de)
FR (1) FR2824154B1 (de)
GB (1) GB2375197B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9065793B2 (en) * 2011-02-24 2015-06-23 Cbs Interactive Inc. Rendering web content using pre-caching
CN102561700B (zh) * 2012-01-16 2014-05-21 三一重工股份有限公司 一种机械臂控制***、方法及工程机械
US10453534B2 (en) * 2013-08-07 2019-10-22 Qualcomm Technologies International, Ltd. Patching of programmable memory
US10564942B2 (en) * 2017-11-17 2020-02-18 International Business Machines Corporation Compiler for a processor comprising primary and non-primary functional units

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953747A (en) * 1994-03-30 1999-09-14 Digital Equipment Corporation Apparatus and method for serialized set prediction
DE19859389C1 (de) * 1998-12-22 2000-07-06 Systemonic Ag Verfahren zur Ansteuerung von Funktionseinheiten in einem Prozessor und Prozessoranordnung zur Durchführung des Verfahrens

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5079693A (en) * 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US5267191A (en) * 1989-04-03 1993-11-30 Ncr Corporation FIFO memory system
US5347638A (en) * 1991-04-15 1994-09-13 Seagate Technology, Inc. Method and apparatus for reloading microinstruction code to a SCSI sequencer
JP3461185B2 (ja) * 1993-06-30 2003-10-27 株式会社東芝 ロードモジュールへのソースコード行番号登録方法および装置
US6745265B1 (en) * 2000-03-21 2004-06-01 Agere Systems Inc. Method and apparatus for generating status flags in a memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953747A (en) * 1994-03-30 1999-09-14 Digital Equipment Corporation Apparatus and method for serialized set prediction
DE19859389C1 (de) * 1998-12-22 2000-07-06 Systemonic Ag Verfahren zur Ansteuerung von Funktionseinheiten in einem Prozessor und Prozessoranordnung zur Durchführung des Verfahrens

Also Published As

Publication number Publication date
DE10107102B4 (de) 2004-02-26
US7069418B2 (en) 2006-06-27
FR2824154A1 (fr) 2002-10-31
JP4494701B2 (ja) 2010-06-30
GB2375197B (en) 2004-02-11
FR2824154B1 (fr) 2005-09-02
GB2375197A (en) 2002-11-06
JP2002278774A (ja) 2002-09-27
US20020194454A1 (en) 2002-12-19
GB0203098D0 (en) 2002-03-27

Similar Documents

Publication Publication Date Title
DE2350884C2 (de) Adreßumsetzungseinheit
DE2756890C2 (de) Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten
DE2536622A1 (de) Mikroprogrammsteuerung mit flexibler auswahl von steuerworten
DE1549474C3 (de) Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE3148099C2 (de) Anordnung zum Erkennen einer Digitalfolge
DE2854782C2 (de) Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher
DE68925376T2 (de) In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
DE3501903A1 (de) Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE1180171B (de) Zahlenrechner
DE10107102A1 (de) Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor
DE19859389C1 (de) Verfahren zur Ansteuerung von Funktionseinheiten in einem Prozessor und Prozessoranordnung zur Durchführung des Verfahrens
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE1799012B1 (de) Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschnitten in einem elektronischen Rechner
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher
DE3341339C2 (de) Befehlsfolgegenerator
DE2502920A1 (de) Steueranordnung fuer den betrieb eines datenendgeraetes
DE1549422B2 (de) Datenverarbeitungsanlage mit variabel vorwaehlbarer wortlaenge
DE1499284B2 (de) Datenverarbeitungsanlage
DE1549446A1 (de) Digitalrechner
DE2028931A1 (de) Digitale Rechenmaschine mit mehreren Akkumulatorregistern
EP0262636B1 (de) Schaltungsanordnung zum Auswählen und/oder Ausrichten von Dateneinheiten in Datenverarbeitungsanlagen
DE1474090B2 (de) Datenverarbeitungsanlage
DE2451984C2 (de) Datenverarbeitungsanlage
DE1449567C3 (de) Digitales Datenverarbeitungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NXP SEMICONDUCTORS GERMANY GMBH, 22529 HAMBURG, DE

8327 Change in the person/name/address of the patent owner

Owner name: NXP B.V., EINDHOVEN, NL

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE, EUROPEA, DE

R081 Change of applicant/patentee

Owner name: CALLAHAN CELLULAR L.L.C., WILMINGTON, US

Free format text: FORMER OWNER: NXP B.V., EINDHOVEN, NL

Effective date: 20130211

Owner name: CALLAHAN CELLULAR L.L.C., US

Free format text: FORMER OWNER: NXP B.V., EINDHOVEN, NL

Effective date: 20130211

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

Effective date: 20130211

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE, EUROPEA, DE

Effective date: 20130211

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee