DE10065114B4 - Verfahren und Anordnung zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor - Google Patents
Verfahren und Anordnung zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor Download PDFInfo
- Publication number
- DE10065114B4 DE10065114B4 DE10065114A DE10065114A DE10065114B4 DE 10065114 B4 DE10065114 B4 DE 10065114B4 DE 10065114 A DE10065114 A DE 10065114A DE 10065114 A DE10065114 A DE 10065114A DE 10065114 B4 DE10065114 B4 DE 10065114B4
- Authority
- DE
- Germany
- Prior art keywords
- word
- instruction
- complex
- instruction word
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
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)
Abstract
Verfahren
zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten
(12) in einem Prozessor (13), wobei
1.1 in einer Konfigurationsphase bei der Programmübersetzung eine Folge von Primärinstruktionsworten (2) bestehend aus Instruktionswortteilen (4) erzeugt wird, wobei
1.1.1 jedes Instruktionswortteil (4) zur Ansteuerung einer Funktionseinheit (12) bestimmt ist,
1.1.2 die Instruktionswortteile (4) aus einem oder verschiedenen Primärinstruktionsworten (2) der Ausführung eines datenstationären Befehls dienen,
1.2 in der Konfigurationsphase
1.2.1 ein Primärinstruktionswort (2) eine Fraktionierung in Instruktionswortteile (4) erfährt,
1.2.2 als Komplexwort (17) zusammenfassbare Instruktionswortteile (4) aus einem oder verschiedenen Primärinstruktionsworten (2) eine Fraktionierung in eine Komplexwortfolge (18) erfährt,
1.3 in einer Ablaufphase eine Synthese eines Sekundärinstruktionswortes (15), das einem Primärinstruktionswort (2) entspricht, aus den kleineren Wortteilen bestehend aus im Ablaufspeicher abgelegten Instruktionswortteilen (4) und/oder durch Komplexwortzeiger (6) indizierte Komplexwortfolge (18) vorgenommen wird,
1.4 jedes der Instruktionswortteile (4), die der Ausführung des datenstationären Befehles dienen, wird...
1.1 in einer Konfigurationsphase bei der Programmübersetzung eine Folge von Primärinstruktionsworten (2) bestehend aus Instruktionswortteilen (4) erzeugt wird, wobei
1.1.1 jedes Instruktionswortteil (4) zur Ansteuerung einer Funktionseinheit (12) bestimmt ist,
1.1.2 die Instruktionswortteile (4) aus einem oder verschiedenen Primärinstruktionsworten (2) der Ausführung eines datenstationären Befehls dienen,
1.2 in der Konfigurationsphase
1.2.1 ein Primärinstruktionswort (2) eine Fraktionierung in Instruktionswortteile (4) erfährt,
1.2.2 als Komplexwort (17) zusammenfassbare Instruktionswortteile (4) aus einem oder verschiedenen Primärinstruktionsworten (2) eine Fraktionierung in eine Komplexwortfolge (18) erfährt,
1.3 in einer Ablaufphase eine Synthese eines Sekundärinstruktionswortes (15), das einem Primärinstruktionswort (2) entspricht, aus den kleineren Wortteilen bestehend aus im Ablaufspeicher abgelegten Instruktionswortteilen (4) und/oder durch Komplexwortzeiger (6) indizierte Komplexwortfolge (18) vorgenommen wird,
1.4 jedes der Instruktionswortteile (4), die der Ausführung des datenstationären Befehles dienen, wird...
Description
- Die Erfindung betrifft ein Verfahren zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor, bei dem in einer Konfigurationsphase eine aus einer Übersetzung eines Programmcodes stammende Folge von Primärinstruktionsworten erzeugt wird, wobei jedes Primärinstruktionswort aus mehreren Instruktionswortteilen besteht und jedes Instruktionswortteil zur Ansteuerung einer Funktionseinheit bestimmt ist und die Instruktionswortteile aus einem oder verschiedenen Primärinstruktionswörtern der Ausführung eines datenstationären Befehls dienen und wobei jedes Primärinstruktionswort eine Fraktionierung in kleinere Wortteile erfährt und in einer Ablaufphase eine Synthese eines Sekundärinstruktionswortes, das einem Primärinstruktionswort entspricht, aus den kleineren Wortteilen vorgenommen wird. Die Erfindung betrifft ferner eine Anordnung zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor mit Funktionseinheiten, mit einem diesen Funktionseinheiten zugeordneten Instruktionswortspeicher und einem Instruktionswortspeicher zur Speicherung bereits erzeugter Instruktionsworte mit einer Breite, die mindestens gleich der Bitbreite des Sekundärinstruktionswortes ist, wobei der Instruktionswortpuffer aus einem Speicher mit wahlweisem oder fest programmierten zeilenweisen Zugriff besteht.
- In der deutschen Patentschrift
DE 198 59 389 C1 wird ein der artiges Verfahren und eine Anordnung zur Ansteuerung von Funktionseinheiten in einem Prozessor beschrieben. Durch dieses Verfahren und die zugehörige Anordnung wird unter Beibehaltung einer geringen Programmwortbreite die Arbeitsgeschwindigkeit anwendungsspezifisch erhöht. Allerdings hat es sich gezeigt, dass eine weitere Erhöhung der Arbeitsgeschwindigkeit möglich ist. Einige der zu verarbeitenden Befehle sind nämlich datenstationär. Datenstationär bedeutet in diesem Falle, dass einem Befehl keine eindeutige Aussage darüber zu entnehmen ist, auf welchem Wege ein Prozessor den Befehl realisiert, insbesondere wie viele Schritte zur Ausführung des Befehles erforderlich sind. - Beim Stand der Technik sind damit die unterschiedlichen Steuerungen der Operationen in den Datenpfaden der Prozessoren bekannt, die einerseits in datenstationär oder anderseits in zeitstationär codierenden Computer Architekturen angewendet werden und deren zugehörigen Befehle auch als „datenstationäre Befehle" bzw. „zeitstationäre Befehle" bezeichnet werden (PROCEEDINGS OF IEEE, March 1997 „Embedded Software in Real-Time Signal Processing Systems: Design Technologies" Gert Goosens u.a., Seite 439).
- Bei der Ausführung eines datenstationären Befehles werden verschiedene Schritte in mehreren Takte ausgeführt. Jeder dieser Schritte wird durch ein Instruktionswortteil in je einem Instruktionswort einer Folge von Instruktionsworten realisiert, indem jedes Instruktionswortteil eine Funktionseinheit zu einer bestimmten, einen Teilschritt der Befehlsausführung realisierenden Handlung veranlaßt.
- Jedes Instruktionswort muss nach dem Stand der Technik über die Folge von Programmwörtern neu zusammengesetzt werden. Auch bei gleichen Befehlsabläufen ist es erforderlich, den Befehlsteilschritten entsprechende Instruktionswörter zu erzeugen und hierfür die Programmwörter bereitzustellen. Dies ist auch bei gleichen Befehlen erforderlich, d.h. für gleiche Befehlsfolgen sind immer wieder neue, wenn auch gleiche Programmwortfolgen, erforderlich. Hieraus entsteht ein hoher Speicheraufwand und eine längere Verarbeitungszeit.
- Es ist damit Aufgabe der Erfindung, den Speicheraufwand zu verringern und die Arbeitsgeschwindigkeit zu erhöhen.
- Diese Aufgabe wird verfahrensseitig durch die kennzeichnenden Merkmale des Anspruchs 1 und anordnungsseitig durch das kennzeichnende Merkmal des Anspruchs 3 in Verbindung mit den entsprechenden Merkmalen des Standes der Technik gelöst.
- Eine besondere Ausgestaltung des erfindungsgemäßen Verfahrens geht aus Anspruch 2 hervor,
- Insbesondere wird es durch die Erfindung möglich, die Befehlsbearbeitung von den am häufigsten auftretenden Befehlen, die immer mit den gleichen Hardware-Komponenten auf immer den gleichen Wegen ausgeführt werden, mit den entsprechenden Instruktionswortteilen zu beschreiben, die in der Komplexwortfolge gespeichert werden. Tritt ein solcher Befehl auf, kann zur Befehlsrealisierung auf den Inhalt der Komplexworttabelle zurückgegriffen werden. Die besondere Behandlung dieses immer wiederkehrenden Befehls als ganz normaler (variabler) Befehl kann entfallen, weshalb der Programmwortspeicher entlastet und die Arbeitsgeschwindigkeit erhöht werden kann.
- Die Erfindung soll nachfolgend anhand eines Ausführungsbeispieles näher erläutert werden. Die zugehörige Zeichnungsfigur zeigt das Prinzip der erfindungsgemäßen Komplexwortverarbeitung.
- Bei dem in der Zeichnungsfigur dargestellten Verfahren zur Ansteuerung von Funktionseinheiten
12 in einem Prozessor13 wird entsprechend dem Stand der Technik und somit gemäß des deutschen PatentesDE 198 59 389 C1 aus einem Programmcode1 mittels einer Übersetzung in einer Konfigurationsphase eine Folge von Primärinstruktionsworten2 aus mehreren Instruktionswortteilen4 erzeugt. Weiterhin wird die Folge von Primärinstruktionsworten2 in der Programmworterzeugung8 komprimiert und als Folge von zugehörigen Programmworten in einem Ablaufspeicher9 gespeichert. - Ebenfalls innerhalb der Konfigurationsphase werden die Instruktionswortteile
4 , die zur Ausführung eines datenstationären Befehles dienen, in einer Komplexwortfolge18 zusammengefaßt und in einer durch den Komplexwortzeiger6 indizierten Zeile der Komplexworttabelle5 gespeichert. - Bei einer Ablaufphase werden im Ablaufspeicher
9 auftretende Komplexwortzeiger6 erkannt und geben mit ihrem enthaltenen Index die Zeile der Komplexworttabelle5 zum Auslesen an, in der die zugeordnete Komplexwortfolge18 abgelegt wurde. - Die dort abgelegte Komplexwortfolge
18 wird ausgelesen und die in ihr enthaltenen Komplexworte17 werden durch die einzelnen komplexwortinternen Vorgaben in die entsprechend Zeile und Spalte des Sekundärinstruktionswortspeichers7 parallel eingespeichert. - Entsprechend der eingestellten Sekundärinstruktionswort-Speicherabfolge
16 wird einerseits das aktuelle Sekundärinstruktionswort15 in einen Instruktionswortausgabespeichers11 übertragen. Dessen Ausgabe löst die zur Verarbeitung an die entsprechenden Funktionseinheiten12 des Prozessors13 erforderlichen Funktionen aus. - Anderseits wird das aktuelle Sekundärinstruktionswort
15 in einer Sekundärinstruktionsworterzeugung10 zusammen mit einem neuen Programmwort verarbeitet, damit an ihrem Ausgang ein weiteres Sekundärinstruktionswort15 zur Einspeicherung in den Sekundärinstruktionswortspeicher7 bereitstellt wird. -
- 1
- Programmcode
- 2
- Primärinstruktionswort
- 3
- Instruktionswortspeicher
- 4
- Instruktionswortteil
- 5
- Komplexworttabelle
- 6
- Komplexwortzeiger
- 7
- Sekundärinstruktionswortspeicher
- 8
- Programmworterzeugung
- 9
- Ablaufspeicher
- 10
- Sekundärinstruktionsworterzeugung
- 11
- Instruktionswortausgabespeicher
- 12
- Funktionseinheit
- 13
- Prozessor
- 15
- Sekundärinstruktionswort
- 16
- Sekundärinstruktionswort-Speicherabfolge
- 17
- Komplexwort
- 18
- Komplexwortfolge
Claims (3)
- Verfahren zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten (
12 ) in einem Prozessor (13 ), wobei 1.1 in einer Konfigurationsphase bei der Programmübersetzung eine Folge von Primärinstruktionsworten (2 ) bestehend aus Instruktionswortteilen (4 ) erzeugt wird, wobei 1.1.1 jedes Instruktionswortteil (4 ) zur Ansteuerung einer Funktionseinheit (12 ) bestimmt ist, 1.1.2 die Instruktionswortteile (4 ) aus einem oder verschiedenen Primärinstruktionsworten (2 ) der Ausführung eines datenstationären Befehls dienen, 1.2 in der Konfigurationsphase 1.2.1 ein Primärinstruktionswort (2 ) eine Fraktionierung in Instruktionswortteile (4 ) erfährt, 1.2.2 als Komplexwort (17 ) zusammenfassbare Instruktionswortteile (4 ) aus einem oder verschiedenen Primärinstruktionsworten (2 ) eine Fraktionierung in eine Komplexwortfolge (18 ) erfährt, 1.3 in einer Ablaufphase eine Synthese eines Sekundärinstruktionswortes (15 ), das einem Primärinstruktionswort (2 ) entspricht, aus den kleineren Wortteilen bestehend aus im Ablaufspeicher abgelegten Instruktionswortteilen (4 ) und/oder durch Komplexwortzeiger (6 ) indizierte Komplexwortfolge (18 ) vorgenommen wird, 1.4 jedes der Instruktionswortteile (4 ), die der Ausführung des datenstationären Befehles dienen, wird 1.4.1 als Komplexwort (17 ) in einer Komplexwortfolge (18 ) zusammengefaßt und 1.4.2 in einer durch einen Komplexwortzeiger (6 ) indizierten Zeile einer Komplexworttabelle (5 ) gespeichert, 1.5 der auftretende, zugeordnete Komplexwortzeiger (6 ) in einem Ablaufspeicher (9 ) wird bei der Synthese von Sekundärinstruktionsworten (15 ), die eine zur Ausführung des datenstationären Befehles gehörende Folge von Instruktionswortteilen (4 ) zu beinhalten hat, erkannt, 1.6 in der durch den Komplexwortzeiger (6 ) indizierten Zeile der Komplexworttabelle (5 ) wird die dort abgelegte Komplexwortfolge (18 ) ausgelesen, 1.7 die in der ausgelesenen Komplexwortfolge (18 ) enthaltenen Komplexworte (17 ) werden durch die einzelnen komplexwortinternen Vorgaben in die entsprechende Zeile und Spalte des Sekundärinstruktionswortspeichers (7 ) in Abhängigkeit vom aktuellen Sekundärinstruktionswort (15 ) parallel eingespeichert, 1.8 das aktuelle Sekundärinstruktionswort (15 ) entsprechend einer wahlweisen Sekundärinstruktionswort-Speicherabfolge (16 ) 1.8.1 gelangt einerseits mittels einer Instruktionswortausgabe (11 ) zur Verarbeitung an die entsprechende Funktionseinheit (12 ) des Prozessors (13 ) 1.8.2 und wird anderseits in einer Sekundärinstruktionsworterzeugung (10 ) verarbeitet, die an ihrem Ausgang ein weiteres Sekundärinstruktionswort (15 ) zur Einspeicherung in den Sekundärinstruktionswortspeicher (7 ) bereitstellt. - Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine fest programmierte Sekundärinstruktionswort-Speicherabfolge (
16 ) eingestellt wird. - Anordnung zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor mit Funktionseinheiten zur Durchführung des Verfahrens nach Anspruch 1 oder 2, mit einem diesen Funktionseinheiten zugeordneten Instruktionswortspeicher und einem Instruktionswortspeicher zur Speicherung bereits erzeugter Instruktionsworte mit einer Breite, die mindestens gleich der Bitbreite des Sekundärinstruktionswortes ist, wobei der Instruktionswortpuffer als Sekundärinstruktionswortspeicher aus einem Speicher mit wahlweisem oder fest programmierten zeilenweisen Zugriff besteht, dadurch gekennzeichnet, dass dem Sekundärinstruktionswortspeicher (
7 ) in Form eines Matrixregisterfiles eine nur lesbare oder schreib- und lesbare Komplexworttabelle (5 ) zugeordnet ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10065114A DE10065114B4 (de) | 1999-12-30 | 2000-12-28 | Verfahren und Anordnung zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19964028 | 1999-12-30 | ||
DE19964028.9 | 1999-12-30 | ||
DE10065114A DE10065114B4 (de) | 1999-12-30 | 2000-12-28 | Verfahren und Anordnung zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10065114A1 DE10065114A1 (de) | 2001-07-05 |
DE10065114B4 true DE10065114B4 (de) | 2005-02-17 |
Family
ID=7935159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10065114A Expired - Fee Related DE10065114B4 (de) | 1999-12-30 | 2000-12-28 | Verfahren und Anordnung zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor |
Country Status (2)
Country | Link |
---|---|
US (1) | US20030159127A1 (de) |
DE (1) | DE10065114B4 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10136577A1 (de) * | 2001-07-27 | 2003-02-13 | Systemonic Ag | Verfahren zur Abarbeitung eines Programmcodes sowie eine Prozessoranordnung zur Ausführung des Verfahrens |
US10564942B2 (en) * | 2017-11-17 | 2020-02-18 | International Business Machines Corporation | Compiler for a processor comprising primary and non-primary functional units |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
-
2000
- 2000-12-27 US US09/750,733 patent/US20030159127A1/en not_active Abandoned
- 2000-12-28 DE DE10065114A patent/DE10065114B4/de not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
---|---|
US20030159127A1 (en) | 2003-08-21 |
DE10065114A1 (de) | 2001-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1499193C3 (de) | Speicher-Adressierschaltung | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2411963B2 (de) | Datenverarbeitungsanlage | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE69804562T2 (de) | Prozessarchitektur und Verfahren zur Durchführung von verschiedenen Adressierungsarten | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE10065114B4 (de) | Verfahren und Anordnung zur Erzeugung von Instruktionsworten zur Ansteuerung von Funktionseinheiten in einem Prozessor | |
DE2412634C3 (de) | Prozessor für eine Kleinstrechenanlage | |
CH632349A5 (de) | Einrichtung zur mikrobefehlssteuerung. | |
EP1145113B1 (de) | Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors | |
DE1774896C2 (de) | Datenverarbeitungsanlage mit einem Rechenwerk, einem Hauptspeicher und einem Aktivspeicher | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE10107102B4 (de) | Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor | |
DE69815656T2 (de) | Rechnersystem mit einem mehrfach Sprungbefehlzeiger und -Verfahren | |
DE2601379C3 (de) | Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen | |
DE1916377A1 (de) | Verfahren und Anordnung zur Verschiebung von Datenfeldern | |
DE2502005C2 (de) | Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung | |
DE2314070C3 (de) | Verfahren und Schaltungsanordnung zum Erstellen der Einträge eines Kettungslistenspeichers in einem Verfahren und einer Schaltungsanordnung zum Durchfuhren von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage | |
DE1195972B (de) | Anordnung zum Durchfuehren einer Verzweigung bei einer programmgesteuerten Rechenmaschine | |
EP0629944A1 (de) | Datenverarbeitungsmaschine | |
DE10128752A1 (de) | Verfahren zur Ablage von Daten in einen Speicherbaustein | |
DE2451984A1 (de) | Datenverarbeitungssystem | |
DE2835261C2 (de) | Datenverarbeitungseinheit | |
DE2528164A1 (de) | Adressieranordnung fuer eine datenverarbeitungsanlage mit programmspeicher |
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 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110701 |