DE10131084A1 - Data processing system is structured to perform as a field programmable logic system - Google Patents
Data processing system is structured to perform as a field programmable logic systemInfo
- Publication number
- DE10131084A1 DE10131084A1 DE10131084A DE10131084A DE10131084A1 DE 10131084 A1 DE10131084 A1 DE 10131084A1 DE 10131084 A DE10131084 A DE 10131084A DE 10131084 A DE10131084 A DE 10131084A DE 10131084 A1 DE10131084 A1 DE 10131084A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- stack
- program
- tos
- memory
- 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
Links
- 239000003550 marker Substances 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 2
- 230000009977 dual effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 claims 2
- 238000013500 data storage Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/324—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- 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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Die Erfindung betrifft eine Vorrichtung zur Datenverarbeitung, die einen Programmspeicher, einen Datenspeicher, mindestens zwei Stacks sowie mindestens einen Bus zur Verbindung einzelner Funktionsbaugruppen aufweist. The invention relates to a device for data processing, which has a program memory Data storage, at least two stacks and at least one bus for connecting individual ones Has functional modules.
Vorrichtungen zur Datenverarbeitung sind je nach der vorgesehenen Anwendung in vielfältigen
Ausführungsformen bekannt. Insbesonders existieren auch bereits unterschiedliche
Mikroprozessorarchitekturen, die sich beispielsweise als feldprogrammierbare Logikbausteine (FPGAs) realisieren
lassen. Die derzeit verfügbaren Prozessoren lassen sich prinzipiell nach folgenden
Architekturkonzepten unterteilen:
- - Registerbasiert oder Stackbasiert
- - Von-Neumann oder Harvard-Architektur
- - Register-based or stack-based
- - Von Neumann or Harvard architecture
Bekannt ist beispielsweise die Dual-Stack Harvard-Architektur, die in der DE-PS 42 20 258 erläutert ist. Darüber hinaus sind einige Prozessoren entsprechend der Dual-Stack von-Neumann- Architektur konstruiert, die beispielsweise in den Veröffentlichungen US-PS 5 070 451, US-PS 5 404 555 und US-PS 5 659 703 erläutert sind. The dual-stack Harvard architecture is known, for example, in DE-PS 42 20 258 is explained. In addition, some processors are designed according to the dual stack from Neumann Architecture constructed, for example, in the publications US Pat. No. 5,070,451, U.S. Patent 5,404,555 and U.S. Patent 5,659,703 are discussed.
Typischerweise sehen die Instruktionsstrukturen der überwiegenden Anzahl von Prozessoren die Möglichkeit vor, numerische Werte, sogenannte Literale, als Daten oder Adressen in der Instruktion selbst zu codieren oder unmittelbar sequentiell an die Instruktion anzufügen. Hierdurch wird die Instruktionsstruktur beziehungsweise die Instruktionsbreite abhängig von der Breite der Datenworte. Typically, the instruction structures of the vast number of processors see that Possibility to enter numerical values, so-called literals, as data or addresses in the instruction code it yourself or add it sequentially to the instruction. This will make the Instruction structure or the instruction width depends on the width of the Data words.
Ein weiterer Typ einer Mikroprozessorarchitektur, nämlich die Transputerarchitektur, wird in den US-PS 4 704 678 sowie US-PS 4 724 517 erläutert. Hier werden die für eine vollständige Charakterisierung einer Instruktion erforderlichen Literale nicht der Instruktion angefügt, sondern je nach Größe des Wertes in einem oder mehreren Teilen als eigenständige Literalinstruktionen vorangestellt. Die einzelnen Teile werden in einem speziellen Operandenregister zum Literal akkumuliert und der nachfolgenden Instruktion zur Verfügung gestellt. Dadurch wird nicht nur die Instruktionsbreite unabhängig von der Breite der Datenworte, da mit der Datenwortbreite höchstens die Anzahl der aufeinanderfolgenden Literalinstruktionen zur Darstellung eines bestimmten numerischen Wertes variiert, sondern die sequentielle Folge von Literal- und Operationsinstruktionen kann auch jederzeit unterbrochen werden, da jede dieser Instruktionen in sich abgeschlossen ist. Another type of microprocessor architecture, namely the transputer architecture, is described in US Pat U.S. Patent 4,704,678 and U.S. Patent 4,724,517. Here are those for a complete Characterization of an instruction required literals not attached to the instruction, but each according to the size of the value in one or more parts as separate literal instructions prefixed. The individual parts become literal in a special operand register accumulated and made available to the following instruction. This will not only make the Instruction width regardless of the width of the data words, since with the data word width at most the number of consecutive literal instructions to represent a particular one numerical value varies, but the sequential sequence of literal and Surgical instructions can also be interrupted at any time because each of these instructions is in itself is completed.
Typisch für die derzeit verfügbaren Mikroprozessorarchitekturen ist der Trend, mit minimalem Hardwareaufwand möglichst universelle Eigenschaften bereitzustellen, so daß spezielle Erfordernisse einzelner Programmiersprachen kaum berücksichtigt werden. Generell liegt derzeit ein wesentliches Problem für die Anwender darin, daß bei der Realisierung von Steuersystemen eine erhebliche Abhängigkeit von den am Markt erhältlichen Prozessorbauteilen vorliegt, wodurch das Paradigma der "prozessorunabhängigen Programmierung" durch Hochsprachen befördert wird. Typical of the microprocessor architectures currently available is the trend with minimal To provide hardware as universal properties as possible, so that special The requirements of individual programming languages are hardly taken into account. Generally lies currently a major problem for users in that when implementing control systems there is a significant dependency on the processor components available on the market, whereby the paradigm of "processor-independent programming" is promoted through high-level languages.
Aufgabe der vorliegenden Erfindung ist es, eine Vorrichtung zur Datenverarbeitung der einleitend genannten Art derart zu gestalten, daß ein Prozessorkern mit geringem Logikaufwand bereitgestellt wird, der insbesondere die Programmiersprache Forth (ISO/IEC 15145) vom Instruktionsrepertoire her unterstützt, der in feldprogrammierbare Logikbauelemente (FPGAs) synthetisierbar ist und an die durch die Anwendung vorgegebene Datenwortbreite angepaßt werden kann. The object of the present invention is to introduce a device for data processing mentioned type in such a way that a processor core is provided with little logic who, in particular, the programming language Forth (ISO / IEC 15145) from the instructional repertoire supported here, which can be synthesized in field programmable logic components (FPGAs) and on the data word width specified by the application can be adapted.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß ein "Top-of-Stack"-Register (TOS) zeitlich aufeinanderfolgend sowohl als Akkumulator für Literalinstruktionen, als Speicher für Operanden und als Adressregister für den Datenspeicher genutzt wird, und daß eine jeweilige Nutzungsaktivierung von einer Programmsteuerung vorgegeben ist, die einen jeweiligen Programmcode auswertet, in dem die jeweilige Nutzung des TOS festgelegt ist. This object is achieved in that a "top-of-stack" register (TOS) sequentially both as an accumulator for literal instructions and as a memory for Operands and is used as an address register for the data memory, and that a respective Activation of use is predetermined by a program control, which is a respective Evaluates the program code in which the respective use of the TOS is defined.
Weitere Aufgabe der vorliegenden Erfindung ist es, eine Vorrichtung der einleitend genannten Art derart bereitzustellen, daß zur Unterstützung einer feldprogrammierbaren Synthetisierbarkeit bei geringem Logikaufwand eine optimierte Speicherstruktur bereitgestellt wird. Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß eine Aufteilung der Speicherbereiche derart realisiert ist, daß eine um einen separaten Datenstack erweiterte Harvard-Architektur vorliegt. Another object of the present invention is to provide a device of the type mentioned in the introduction to be provided in such a way that to support field programmable synthesizability an optimized memory structure is provided with little logic effort. This task will solved according to the invention in that a division of the memory areas is realized such that there is a Harvard architecture with a separate data stack.
Durch die vorgeschlagene Prozessorarchitektur wird es zusätzlich zur Bereitstellung einer einfachen Struktur mit geringem Logikaufwand ermöglicht, je nach Anwendungserfordernis unterschiedliche Datenwortbreiten zu realisieren, ohne gleichzeitig eine Veränderung der Instruktionen und deren Breite zu verursachen. Darüber hinaus ist es aufgrund der Instruktionsstruktur (externer, vertikaler Mikrocode) möglich, strukturelle Möglichkeiten zur Parallelverarbeitung zu nutzen. Hierdurch wird auch bei einer relativ geringen Taktrate ein hoher Datendurchsatz erreicht. The proposed processor architecture also makes it easy to provide Structure with low logic effort enables different, depending on the application requirements Realize data word widths without simultaneously changing the instructions and their Causing width. In addition, it is due to the instruction structure (external, more vertical Microcode) possible to use structural possibilities for parallel processing. This will High data throughput is achieved even at a relatively low clock rate.
Durch die Nutzung des TOS sowohl als Operandenregister für unäre und binäre Operationen, zur Akkumulation der Literaleinstruktionen im Programmcode zur Nutzung durch eine Folgeoperation, als auch als Adressregister für einen Zugriff auf Daten im Datenspeicher wird einerseits die Unabhängigkeit der Datenwortbreite von der Instruktionsbreite erreicht und andererseits die Möglichkeit relativer und indizierter Adressierung mit geringem Aufwand erschlossen, da dazu der für binäre Operationen bereits vorhandene Addierer genutzt werden kann. By using the TOS as both an operand register for unary and binary operations, for Accumulation of literal instructions in the program code for use by a subsequent operation, as well as an address register for access to data in the data storage device Independence of the data word width from the instruction width is achieved and on the other hand the Possibility of relative and indexed addressing with little effort because the existing adders can be used for binary operations.
Eine typische Anwendung wird dadurch definiert, daß das vorstehend beschriebene TOS-Register in eine Mikroprozessorarchitektur integriert ist. A typical application is defined in that the TOS register described above is integrated into a microprocessor architecture.
Zur Unterstützung einer Herstellbarkeit in geringen Stückzahlen und der Möglichkeit zu anwendungsspezifischen Modifikationen wird vorgeschlagen, daß vornehmlich eine Realisierung in feldprogrammierbaren Logikbausteinen (Field-Programmable-Gate-Arrays, FPGA) vorliegt. To support a manufacturability in small quantities and the possibility to application-specific modifications it is proposed that primarily a realization in field-programmable logic modules (field programmable gate arrays, FPGA) is present.
Eine universelle Verwendbarkeit wird dadurch unterstützt, daß im Bereich der Programmsteuerung ein Instruktionsformat unabhängig von einer Datenwortbreite realisiert ist. Universal applicability is supported by the fact that in the area of program control an instruction format is implemented independently of a data word width.
Ebenfalls kann eine hohe Nutzungsflexibilität bei einfacher Grundstruktur dadurch bereitgestellt werden, daß eine Dual-Stack Harvard-Architektur vorliegt. This also provides a high degree of flexibility in use with a simple basic structure that there is a dual-stack Harvard architecture.
Eine effektive und zugleich an die Hardwarestruktur angepaßte Programmierbarkeit wird dadurch bereitgestellt, daß die Programmsteuerung zur Abarbeitung von Programmbefehlen als Assembler für die Programmiersprache Forth (ISO/IEC 15145) ausgebildet ist. An effective and at the same time adapted to the hardware structure programmability provided that the program control for processing program instructions as an assembler is trained for the programming language Forth (ISO / IEC 15145).
Zur Unterstützung einer Nutzung des TOS-Registers als Akkumulator für Literale ist vorgesehen, daß jede Instruktion ein entsprechendes Markierungsbit aufweist, das die Literalinstruktionen von den Operationsinstruktionen unterscheidet. To support the use of the TOS register as an accumulator for literals, that each instruction has a corresponding marker bit that the literal instructions of the surgical instructions.
Ein weiterer Nutzungsfreiraum bei der Nutzung des TOS-Registers zur Datenspeicheradressierung kann dadurch bereitgestellt werden, daß ein Autoinkrement/Autodekrement des TOS-Registers in Abhängigkeit von einem jeweiligen Opcode realisiert ist. Another freedom of use when using the TOS register for data storage addressing can be provided by an auto increment / auto decrement of the TOS register in Dependence on a respective opcode is realized.
Zur Ermöglichung einer kompakten Adressierung von Programmverzweigungsoperationen durch Verwendung von Differenzadressen wird vorgeschlagen, daß ein im TOS-Register akkumuliertes, vorzeichenbehaftetes Literal zum Programmzähler addiert wird. To enable compact addressing of program branching operations by Using difference addresses, it is proposed that a accumulated in the TOS register, signed literal is added to the program counter.
Eine Optimierung der Speicherausnutzung kann dadurch unterstützt werden, daß ein Returnstack, der die Rücksprungadressen von Unterprogrammaufrufen aufnimmt, physikalisch einem RAM- Bereich zugeordnet ist, in dem der Datenspeicher definiert ist. An optimization of the memory utilization can be supported by a return stack, which takes the return addresses of subroutine calls, physically a RAM Area is assigned in which the data storage is defined.
Eine Optimierung der Adressraumnutzung kann dadurch unterstützt werden, daß die Adressen von Ein- und Ausgaberegistern in den Adressbereich des Datenspeichers gelegt wird, der vom Returnstack benutzt wird. An optimization of the address space usage can be supported in that the addresses of Input and output registers are placed in the address area of the data memory, which is from the Return stack is used.
Eine relative Adressierung bezüglich des Returnstack-Zeigers gestattet es, lokale Variablen im Bereich des Returnstacks anzulegen. Relative addressing with regard to the return stack pointer allows local variables in the Area of the return stack.
Ein Mechanismus zur Abarbeitung von Programmunterbrechungen gestattet den Einsatz in Anwendungen, in denen verschiedene asynchrone externe Ereignisse in Echtzeit bearbeitet werden müssen. A mechanism for processing program interruptions allows use in Applications in which various asynchronous external events are processed in real time have to.
Ein Mechanismus zum Unterdrücken der Instruktionsabarbeitung bei gleichzeitigem Sprung an eine spezifische Programmadresse gestattet den Einsatz in Anwendungen, in denen auf externe Ereignisse gewartet werden muß, ohne den Prozessor zu blockieren, so daß dieser während der Wartezeit im Mehrprogrammbetrieb (Multitasking) andere Aufgaben erledigen kann. A mechanism to suppress instruction processing while jumping a specific program address permits use in applications in which external Events must be maintained without blocking the processor so that it can be used during the Waiting time in multi-program operation (multitasking) can do other tasks.
In der Zeichnung sind Ausführungsbeispiele der Erfindung schematisch dargestellt. Es zeigen: Exemplary embodiments of the invention are shown schematically in the drawing. Show it:
Fig. 1 eine Grundstruktur der Mikroprozessorarchitekur, Fig. 1 shows a basic structure of the Mikroprozessorarchitekur,
Fig. 2 eine optionale erweiterte Mikroprozessorarchitektur, Fig. 2 is an optional advanced microprocessor architecture,
Fig. 3 Beispiel eines Instruktionssatzes in tabellarischer Form, FIG. 3, an instruction set in tabular form,
Fig. 4 ein Verzeichnis der Befehle zur Durchführung von Verzweigungs-, Unterprogramm-Aufruf und -Rückkehr-Befehlen sowie Unterbrechungen, Fig. 4, a list of commands for performing branching, subroutine calling and Returns commands and interrupts,
Fig. 5 ein Verzeichnis der Befehle der Arithmetik-Logik-Einheit, Fig. 5 a list of the commands of the arithmetic logic unit
Fig. 6 ein Verzeichnis der Befehle zur Durchführung von Datenspeicher- und Registeroperationen, Fig. 6 shows a list of commands for performing data storage and register operations,
Fig. 7 ein Verzeichnis von Statusbits und ihrer Bedeutung, die im Statusregister zusammengefaßt sind, und Fig. 7 is a list of status bits and their meaning, which are summarized in the status register, and
Fig. 8 ein Verzeichnis der Operationen der Programmiersprache Forth, die in einer oder zwei Prozessorinstruktionen ausführbar sind und ihre Kodierung. Fig. 8 a list of the operations of the Forth programming language that can be executed in one or two processor instructions and their coding.
Gemäß der Ausführungsform in Fig. I sind unabhängige Speicherbereiche der Vorrichtung zur Datenverarbeitung aufgeteilt in einen Programmspeicher (1), einen Datenspeicher (2) sowie einen Stackspeicher (3), der im Zusammenwirken mit dem Datenstack-Zeiger DSP (8) einen Stack realisiert. Ein Datenaustausch zwischen Registern und den hier nicht gezeigten anwendungsspezifischen Ein- und Ausgaberegistern erfolgt über einen Bus (4). According to the embodiment in FIG. I, independent memory areas of the device for data processing are divided into a program memory ( 1 ), a data memory ( 2 ) and a stack memory ( 3 ) which, in cooperation with the data stack pointer DSP ( 8 ), realizes a stack. A data exchange between registers and the application-specific input and output registers not shown here takes place via a bus ( 4 ).
Zur Durchführung erforderlicher Rechenoperationen wird eine Arithmethisch-Logische-Einheit ALU (5) verwendet, die ihre Operanden entweder aus den beiden obersten Stackelementen bezieht, die als Register TOS (7) (Top-Of-Stack) und NOS (6) (Next-Of-Stack) ausgeführt sind, oder aus dem obersten Stackelement TOS (7) und einem Teil des Instruktionsregisters INST (9) oder dem Programmzähler PC (14) Der Stack für die Elemente unterhalb des zweiten Elements ist als Realisierung bestehend aus dem Stackspeicher (3) und dem Datenstack-Zeiger DSP (8) gezeigt. An arithmetic-logic unit ALU ( 5 ) is used to carry out the necessary arithmetic operations, which obtains its operands either from the top two stack elements, which are registered as registers TOS ( 7 ) (Top-Of-Stack) and NOS ( 6 ) (Next- Of-Stack) are executed, or from the top stack element TOS ( 7 ) and part of the instruction register INST ( 9 ) or the program counter PC ( 14 ). The stack for the elements below the second element is realized as an implementation from the stack memory ( 3 ) and the data stack pointer DSP ( 8 ).
Zur Unterstützung einer Abarbeitung von Instruktionen werden ein Instruktionsregister INST (9) mit darauffolgendem Instruktionsdekoder (18), das TOS-Register (7) mit seiner Möglichkeit, Literalinstruktionen zu akkumulieren, sowie ein Statusregister STATUS (11) verwendet. To support the processing of instructions, an instruction register INST ( 9 ) with a subsequent instruction decoder ( 18 ), the TOS register ( 7 ) with its possibility of accumulating literal instructions, and a status register STATUS ( 11 ) are used.
Die Ansteuerung des Programmspeichers (1) erfolgt über einen Multiplexer MUX (13), der gemäß der gerade ausgeführten Instruktion die Adresse der Folgeinstruktion bereitstellt. Die Adresse der sequentiellen Folgeinstruktion wird im Programmzähler PC (14) bereitgestellt, der am Ende jedes Taktzyklus mittels eines Inkrementierers (15) mit der um eins erhöhten aktuellen Instruktionsadresse geladen wird. The program memory ( 1 ) is controlled via a multiplexer MUX ( 13 ), which provides the address of the subsequent instruction in accordance with the instruction that has just been executed. The address of the sequential subsequent instruction is provided in the program counter PC ( 14 ), which is loaded at the end of each clock cycle by means of an incrementer ( 15 ) with the current instruction address increased by one.
Bei Programmverzweigungen wird gesteuert durch einen jeweiligen Programmcode bei absoluter Adressierung der Inhalt des TOS-Registers (7) und bei relativer Adressierung die in der ALU (5) gebildete Summe aus dem Inhalt des TOS-Registers (7) und dem Inhalt des Programmzählers PC (14) über den Multiplexer MUX (13) am Programmspeicher (1) angelegt. In the case of program branches, the content of the TOS register ( 7 ) is controlled by a respective program code with absolute addressing and, with relative addressing, the sum formed in the ALU ( 5 ) from the content of the TOS register ( 7 ) and the content of the program counter PC ( 14 ) via the multiplexer MUX ( 13 ) on the program memory ( 1 ).
Bei Unterprogrammaufrufen wird der Inhalt des Programmzählers PC (14) auf dem Returnstack abgelegt bzw. beim Unterprogrammrücksprung vom Returnstack über den Multiplexer MUN (13) an den Programmspeicher (1) gelegt. Der Returnstack ist mittels des Returnstack-Zeigers RSP (12) im Datenspeicher realisiert, wobei der Returnstack-Zeiger RSP (12) auf den beiden Leitungen (100) und (101) gleichzeitig die Adresse sowohl des obersten Elementes des Returnstacks, auf die eine Pop-Operation zugreifen würde, als auch die Adresse des ersten freien Platzes des Returnstacks, auf die eine Push-Operation zugreifen würde, zur Verfügung stellt. Analog ist der Datenstack bestehend aus dem Datenstack-Zeiger DSP (8), dem Stackspeicher (3) sowie den Registern NOS (6) und TOS (7) für die beiden obersten Stackelemente aufgebaut. When subroutine calls are made, the content of the program counter PC ( 14 ) is stored on the return stack or when the subroutine returns from the return stack via the multiplexer MUN ( 13 ) to the program memory ( 1 ). The return stack is implemented in the data memory by means of the return stack pointer RSP ( 12 ), the return stack pointer RSP ( 12 ) on the two lines ( 100 ) and ( 101 ) simultaneously being the address of both the top element of the return stack, to which a pop Operation would also provide the address of the first free space on the return stack, which would be accessed by a push operation. The data stack consists of the data stack pointer DSP ( 8 ), the stack memory ( 3 ) and the registers NOS ( 6 ) and TOS ( 7 ) for the top two stack elements.
Wenn das Bit "IntEnable" im Statusregister STATUS (11) gesetzt ist, so werden Programmunterbrechungen jederzeit dadurch bearbeitet, daß bei Vorliegen einer Unterbrechungsanforderung durch das Signal "externes Ereignis" (107), das durch die Unterbrechungseinheit (10) einsynchronisiert wurde, der gerade laufende Zyklus wende ausgeführt wird, jedoch in Abweichung vom normalen Ablauf über die Leitung (102) die aktuelle Programmspeicheradresse in den Programmzähler PC (14) geladen, eine spezielle Unterbrechungs-Instruktion INTERRUPT über den Festwertspeicher (17) in das Instruktionsregister INST (9) geladen, und das Statusbit "Lit" über den Zustand des TOS-Registers bezüglich der Literalakkumulation im Statusregister STATUS (11) gespeichert wird. Im Folgezyklus wird die aus (17) geladene Unterbrechung-Instruktion ausgeführt, wobei über den Multiplexer MUX (13) die Adresse der Unterbrechung-Behandlungs-Routine ISR aus dem Festwertspeicher (16) am Programmspeicher (1) angelegt, der Inhalt des Programmzählers PC (14) auf dem Returnstack und der Inhalt des Status-Registers STATUS (11) auf dem Datenstack gesichert wird. If the bit "IntEnable" in the status register STATUS ( 11 ) is set, program interruptions are processed at any time in that when there is an interrupt request by the signal "external event" ( 107 ), which was synchronized by the interrupt unit ( 10 ), the current cycle is carried out, but in deviation from the normal sequence via line ( 102 ) the current program memory address is loaded into the program counter PC ( 14 ), a special interrupt instruction INTERRUPT is loaded via the read-only memory ( 17 ) into the instruction register INST ( 9 ) , and the status bit "Lit" about the state of the TOS register with respect to the literal accumulation is stored in the status register STATUS ( 11 ). In the following cycle, the charged one (17) interruption instruction is executed, applied via the multiplexer MUX (13) the address of the interrupt handling routine ISR from the read-only memory (16) in the program memory (1), the contents of the program counter PC ( 14 ) on the return stack and the content of the status register STATUS ( 11 ) is saved on the data stack.
Gleichzeitig mit dem Laden der INTERRUPT-Instruktion in das Instruktionsregister wird auch das Statusbit "IntlnService" (IIS) gesetzt, das anzeigt, daß gerade eine Programmunterbrechung bearbeitet wird. Solange das IIS-Bit gesetzt ist, führen weitere oder andauernde "externe Ereignisse" nicht zu weiteren Programmunterbrechungen. Die Unterbrechungs-Behandlungs- Routine wird mit der Instruktion IRET beendet, die zusätzlich zu einem normalen Unterprogramm- Rücksprung auch noch das Statusregister aus dem Datenstack wiederherstellt. Dadurch wird das IIS-Bit rückgesetzt, so daß Programmunterbrechungen wieder angenommen werden. At the same time that the INTERRUPT instruction is loaded into the instruction register, that too Status bit "IntlnService" (IIS) set, which indicates that there is a program interruption is processed. As long as the IIS bit is set, further or persistent "external ones Events "does not lead to further program interruptions. The interruption treatment Routine ends with the instruction IRET, which in addition to a normal subroutine Return also restores the status register from the data stack. This will make it IIS bit reset so that program interruptions are accepted again.
Eine Synchronisation mit externen Ereignissen wird dadurch ohne Abfrage von Statusinformationen erreicht, daß beim Versuch, auf ein externes Datum zuzugreifen, das noch nicht verfügbar ist, die externe Einheit während des laufenden Zyklus das Signal "nicht bereit" (108) aktiviert. Dadurch wird der Zyklus nicht wie üblich beendet, sondern alle Prozessorregister behalten ihren vorherigen Zustand bei mit Ausnahme des Instruktionsregisters INST (9), in das die PAUSE-Instruktion aus dem Festwertspeicher (23) geladen wird. Im Folgezyklus wird die Adresse der Taskwechsel- Behandlungs-Routine TSR aus dem Festwertspeicher (22) am Programmspeicher (1) angelegt. Vor einem neuerlichen Zugriffsversuch auf das externe Datum, das "nicht bereit" war, muß lediglich die Rücksprung-Adresse auf dem Returnstack um eins dekrementiert werden, bevor die entsprechende Task durch die Instruktion IRET wieder anlaufen kann. Synchronization with external events is achieved without requesting status information in that when an attempt is made to access an external data item that is not yet available, the external unit activates the signal “not ready” ( 108 ) during the current cycle. As a result, the cycle does not end as usual, but all processor registers maintain their previous state with the exception of the instruction register INST ( 9 ), into which the PAUSE instruction is loaded from the read-only memory ( 23 ). In the subsequent cycle, the address of the task change handling routine TSR from the read-only memory ( 22 ) is applied to the program memory ( 1 ). Before attempting to access the external data again, which was "not ready", the return address on the return stack only has to be decremented before the corresponding task can be started again by the IRET instruction.
Aufbauend auf diesen Mechanismus kann auf einfache Weise ein Register blockierender Semaphoren realisiert werden (in Fig. 1 nicht eingezeichnet). War ein bestimmtes Bit des Semaphoren Registers auf '1' gesetzt und versucht ein Prozeß, auf die gleiche Bitposition eine weitere '1' zu schreiben, so wird intern das Signal "nicht bereit" ausgelöst und die Taskwechsel- Behandlungs-Routine TSR angesprungen. Based on this mechanism, a register of blocking semaphores can be implemented in a simple manner (not shown in FIG. 1). If a certain bit of the semaphore register was set to '1' and a process tries to write another '1' to the same bit position, the signal "not ready" is triggered internally and the task change handling routine TSR is started.
Des weiteren kann die PAUSE-Instruktion während der Programmfehlersuche an jeder beliebigen Stelle des Objektcodes zur Unterbrechung des normalen Programmflusses eingefügt werden, um den Debugger aufzurufen. Furthermore, the PAUSE instruction can be at any one during the debugging Place the object code to interrupt the normal program flow to call the debugger.
Zur Realisierung eines Autoinkrements/Autodekrements beim Zugriff auf den Datenspeicher sind das TOS Register (7) und das Instruktionsregister INST (9) an den Addierer der ALU (5) angelegt. Die Summe wird am Ende des Zyklus in TOS (7) gespeichert. Über die Leitung 106 wird aus Gründen der Laufzeiteffizienz jedoch der aktuelle Inhalt des TOS Registers (7) als Adresse am Datenspeicher (2) angelegt, und gleichzeitig wird das Datum über den Bus (4) zwischen dem Datenspeicher (2) und dem NOS-Register (6) transferiert. Durch diese Topologie ergibt sich ein Postinkrement/Postdekrement für den autoinkrementierenden Datenspeicherzugriff. To implement an auto increment / auto decrement when accessing the data memory, the TOS register ( 7 ) and the instruction register INST ( 9 ) are applied to the adder of the ALU ( 5 ). The total is stored in TOS ( 7 ) at the end of the cycle. For reasons of runtime efficiency, however, the current content of the TOS register ( 7 ) is applied as an address to the data memory ( 2 ) via line 106 , and at the same time the date is transmitted via bus ( 4 ) between the data memory ( 2 ) and the NOS register ( 6 ) transferred. This topology results in a post increment / post decrement for auto-incrementing data storage access.
Fig. 2 zeigt eine Ausführungsform, bei der zusätzlich zu der in Fig. 1 dargestellten Ausführungsform zur Realisierung einer "Decrement-und-Branch-Instruktion" mit automatischer Datenrettung bei Unterprogrammaufrufen das oberste Element des Returnstacks als Register TOR (Top-Of- Returnstack) (19) in Zusammenwirken mit einem Dekrementierer (20) ausgeführt ist. Zusätzlich ergibt sich bei Vorhandensein des Dekrementierers (20) die Möglichkeit, bei Aufruf der Taskwechsel-Behandlungs-Routine TSR (23) durch das "nicht bereit"-Signal (108) den Inhalt des Programmzählers PC (14) über den Dekrementierer (20) auf dem Returnstack abzulegen, so daß die Rücksprungadresse dann bereits auf den für das Wiederanlaufen der Task erforderlichen Programmcode verweist. FIG. 2 shows an embodiment in which, in addition to the embodiment shown in FIG. 1 for realizing a "decrement and branch instruction" with automatic data recovery in the case of subroutine calls, the uppermost element of the return stack as register TOR (top-of-return stack) ( 19 ) in cooperation with a decrementer ( 20 ). In addition, if the decrementer ( 20 ) is present, there is the possibility of calling the task change handling routine TSR ( 23 ) by means of the "not ready" signal ( 108 ) to read the contents of the program counter PC ( 14 ) via the decrementer ( 20 ). on the return stack so that the return address then already refers to the program code required to restart the task.
Zur Realisierung einer Adressierung des Datenspeichers relativ zum Returnstack ist die Adresse (100) des Returnstack-Zeigers RSP (12) über die Leitung 103 an den Addierer der ALU (5) geführt, so daß bei Adressierung des Datenspeichers (2) über den Ausgang der ALU (105) auf das Datum auf dem Returnstack zugegriffen wird, dessen Index sich im TOS-Register (7) befindet. To implement addressing of the data memory relative to the return stack, the address ( 100 ) of the return stack pointer RSP ( 12 ) is routed via line 103 to the adder of the ALU ( 5 ), so that when addressing the data memory ( 2 ) via the output of the ALU ( 105 ) accesses the date on the return stack, the index of which is in the TOS register ( 7 ).
Bei dieser Konfiguration ist es sinnvoll, bei der absoluten Adressierung des Datenspeichers (2) mittels des TOS-Registers (7) den Zugriff als Preinkrement/Predekrement-Operation in Abhängigkeit von einem jeweiligen Opcode auszuführen, da die Leitung (105) bereits an den Datenspeicher (2) geführt ist. With this configuration, it makes sense to carry out the access as a pre-increment / predecrement operation depending on a respective opcode when the data memory ( 2 ) is absolutely addressed by means of the TOS register ( 7 ), since the line ( 105 ) is already connected to the data memory ( 2 ) is performed.
Zur Realisierung einer Adressierung des Datenspeichers relativ zu einer quasikonstanten Basisadresse ist das TASK Register (21) vorgesehen, das mittels der Leitung 104 an den Addierer der ALU (5) geführt wird, so daß bei Adressierung des Datenspeichers (2) über die Leitung 105 auf Daten zugegriffen wird, dessen Basis sich im TASK Register (21) und dessen Offset sich im TOS- Register (7) befindet. Damit läßt sich zum Beispiel effizient ein Mehrprogramm-Betrieb (Multitasking) realisieren mit der Möglichkeit, Programme zu schreiben, die wiedereintrittsfähig sind, wobei das TASK Register (21) auf den Informationsblock verweist, der den jeweils aktiven Prozeß und seine tasklokalen Variablen charakterisiert. To implement addressing of the data memory relative to a quasi-constant base address, the TASK register ( 21 ) is provided, which is led to the adder of the ALU ( 5 ) by means of line 104 , so that when addressing the data memory ( 2 ) via line 105 Data is accessed whose base is in the TASK register ( 21 ) and whose offset is in the TOS register ( 7 ). This allows, for example, efficient multi-program operation (multitasking) with the ability to write programs that are re-entry-capable, whereby the TASK register ( 21 ) refers to the information block that characterizes the currently active process and its task-local variables.
Der Prozessor verfügt über drei parallel ansteuerbare Speicherbereiche, nämlich den Programmspeicher (1), der nur gelesen werden kann, den Datenstack (3) in einer Realisierung als RAM und über den Datenspeicher (2), ebenfalls in der Realisierung als RAM, in welchem gleichzeitig der Returnstack untergebracht ist und durch den Returnstack-Zeiger RSP (12) verwaltet wird. Durch diese Speicheraufteilung ist es möglich, z. B. innerhalb eines Taktzyklus ein Datum vom Datenstack im Datenspeicher abzulegen und gleichzeitig die nächste Instruktion aus dem Programmspeicher (1) auszulesen oder z. B. gleichzeitig das Statusregister STATUS (11) auf dem Datenstack abzulegen, einen Unterprogrammaufruf durchzuführen, wobei die Rücksprungadresse auf dem Returnstack abgelegt wird und die erste Instruktion des Unterprogramms aus dem Programmspeicher (1) auszulesen. The processor has three memory areas which can be controlled in parallel, namely the program memory ( 1 ), which can only be read, the data stack ( 3 ) in the form of RAM and the data memory ( 2 ), also in the form of RAM, in which simultaneously the return stack is housed and managed by the return stack pointer RSP ( 12 ). This memory division makes it possible, for. B. within a clock cycle to save a date from the data stack in the data memory and at the same time read the next instruction from the program memory ( 1 ) or z. B. at the same time to store the status register STATUS ( 11 ) on the data stack, to execute a subroutine call, the return address being stored on the return stack and to read the first instruction of the subroutine from the program memory ( 1 ).
Jede Instruktion enthält ein Markierungsbit, das anzeigt, ob es sich um eine auszuführende Instruktion (Operationsinstruktion), oder um einen Teil eines Literals handelt (Literalinstruktion), das einer nachfolgend auszuführenden Instruktion vorausgeht. Mehrere Literalinstruktionen können unmittelbar aufeinanderfolgen und werden im TOS-Register (7) zu größeren Literalen zusammengefügt. Im Statusregister STATUS (11) wird das Markierungsbit jeweils für den Folgezyklus gespeichert, so daß die Semantik der nachfolgenden Instruktion entsprechend bestimmt werden kann. Dadurch wird die Datenwortbreite unabhängig von der Instruktionsbreite, die immer die gleiche Breite hat. Dadurch wird auch erreicht, daß der Prozessor jederzeit ohne besondere Umstände unterbrechbar ist. Each instruction contains a flag bit that indicates whether it is an instruction to be executed (operation instruction) or a part of a literal (literal instruction) that precedes an instruction to be executed subsequently. Several literal instructions can follow one another immediately and are combined into larger literals in the TOS register ( 7 ). The marker bit is stored in the status register STATUS ( 11 ) for the subsequent cycle, so that the semantics of the subsequent instruction can be determined accordingly. This makes the data word width independent of the instruction width, which is always the same width. This also means that the processor can be interrupted at any time without special circumstances.
Die Adresse für die nächste Instruktion aus dem Programmspeicher (1) wird über den Multiplexer
MUX (13) aus einem der folgenden möglichen Quellen bereitgestellt:
- 1. Dem Programmzähler (14), wenn die sequentielle Folgeinstruktion geholt wird.
- 2. Dem Bus (4), über den gemäß eines entsprechenden Opcodes bei einer absoluten Verzweigung oder einem absoluten Unterprogrammaufruf der Inhalt des TOS-Registers (7), bei einer relativen Verzweigung oder einem realtiven Unterprogrammaufruf die Summe des Programmzählers PC (14) und des Inhalts des TOS-Registers (7) oder bei einem Rücksprung von einem Unterprogramm der Returnstack geleitet wird. Wird die relative Adressierung auf die Fälle beschränkt, in denen der Offset im TOS-Register immer aus Literalinstruktionen zusammengesetzt wird, so kann zur Verbesserung des Laufzeitverhaltens die Addition des Programmzählers mit dem in Akkumulation befindlichen Literal im TOS-Register bereits einen Zyklus vor Ausführung des Verzweigungs-Opcodes begonnen werden.
- 3. Der festen Adresse ISR (16) der Unterbrechung-Service-Routine.
- 4. Der festen Adresse TSR (23) der Taskwechsel-Service-Routine.
- 1. The program counter ( 14 ) when the sequential instruction is fetched.
- 2. The bus ( 4 ), according to a corresponding opcode with an absolute branch or an absolute subroutine call, the content of the TOS register ( 7 ), with a relative branching or a realistic subroutine call, the sum of the program counter PC ( 14 ) and the Contents of the TOS register ( 7 ) or in the event of a return from a subroutine the return stack is directed. If the relative addressing is limited to the cases in which the offset in the TOS register is always composed of literal instructions, the program counter can be added to the literal in the TOS register that is in accumulation one cycle before the branch is executed to improve the runtime behavior -Opcodes are started.
- 3. The interrupt service routine's fixed address ISR ( 16 ).
- 4. The fixed address TSR ( 23 ) of the task change service routine.
Mit Ausnahme des Unterbrechungs-Bearbeitungs-Zyklus wird immer mit dem Inkrementierer (15) die um eins erhöhte Adresse vom Ausgang des Multiplexers (13) in den Programmzähler (14) geladen, so daß im Folgezyklus dort die sequentielle Folgeadresse bereitsteht. With the exception of the interrupt processing cycle, the incrementer ( 15 ) always loads the address increased by one from the output of the multiplexer ( 13 ) into the program counter ( 14 ), so that the sequential subsequent address is available there in the subsequent cycle.
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10131084A DE10131084A1 (en) | 2001-06-27 | 2001-06-27 | Data processing system is structured to perform as a field programmable logic system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10131084A DE10131084A1 (en) | 2001-06-27 | 2001-06-27 | Data processing system is structured to perform as a field programmable logic system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10131084A1 true DE10131084A1 (en) | 2003-01-09 |
Family
ID=7689696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10131084A Withdrawn DE10131084A1 (en) | 2001-06-27 | 2001-06-27 | Data processing system is structured to perform as a field programmable logic system |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10131084A1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4258419A (en) * | 1978-12-29 | 1981-03-24 | Bell Telephone Laboratories, Incorporated | Data processing apparatus providing variable operand width operation |
US4704678A (en) * | 1982-11-26 | 1987-11-03 | Inmos Limited | Function set for a microcomputer |
US5070451A (en) * | 1984-11-21 | 1991-12-03 | Harris Corporation | Forth specific language microprocessor |
US5179734A (en) * | 1984-03-02 | 1993-01-12 | Texas Instruments Incorporated | Threaded interpretive data processor |
US5404555A (en) * | 1991-05-17 | 1995-04-04 | Duosi Software Co., Ltd. | Macro instruction set computer architecture |
US5659703A (en) * | 1989-08-03 | 1997-08-19 | Patriot Scientific Corporation | Microprocessor system with hierarchical stack and method of operation |
DE19916695A1 (en) * | 1999-04-14 | 2000-10-19 | Klaus Schleisiek | Microprocessor of dual stack Harvard architecture type which identifies use of the literal register to initiate program actions and is suited to the Forth programming language |
-
2001
- 2001-06-27 DE DE10131084A patent/DE10131084A1/en not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4258419A (en) * | 1978-12-29 | 1981-03-24 | Bell Telephone Laboratories, Incorporated | Data processing apparatus providing variable operand width operation |
US4704678A (en) * | 1982-11-26 | 1987-11-03 | Inmos Limited | Function set for a microcomputer |
US4724517A (en) * | 1982-11-26 | 1988-02-09 | Inmos Limited | Microcomputer with prefixing functions |
US5179734A (en) * | 1984-03-02 | 1993-01-12 | Texas Instruments Incorporated | Threaded interpretive data processor |
US5070451A (en) * | 1984-11-21 | 1991-12-03 | Harris Corporation | Forth specific language microprocessor |
US5659703A (en) * | 1989-08-03 | 1997-08-19 | Patriot Scientific Corporation | Microprocessor system with hierarchical stack and method of operation |
US5404555A (en) * | 1991-05-17 | 1995-04-04 | Duosi Software Co., Ltd. | Macro instruction set computer architecture |
DE19916695A1 (en) * | 1999-04-14 | 2000-10-19 | Klaus Schleisiek | Microprocessor of dual stack Harvard architecture type which identifies use of the literal register to initiate program actions and is suited to the Forth programming language |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69833008T2 (en) | PROCESSOR WITH INSTRUCTION CODING BY MEANS OF A TEMPLATE | |
DE3486399T2 (en) | Central processing unit with the ability to support commands of variable lengths. | |
DE69622663T2 (en) | TWO-STAGE PRE-RECOVERY BUFFER STRUCTURE AND BYPASS METHOD | |
DE69614515T2 (en) | SOFTWARE EMULATION SYSTEM WITH DYNAMIC TRANSLATION OF EMULATED COMMANDS TO INCREASE PROCESSING SPEED | |
DE69530520T2 (en) | Computer program product for using multiple instruction sets | |
DE69131637T2 (en) | Data processing in register in a processor with a reduced instruction set | |
DE3587591T2 (en) | Forth-like language microprocessor. | |
DE60010907T2 (en) | SRAM CONTROL DEVICE FOR PARALLEL PROCESSOR ARCHITECTURE WITH ADDRESS AND COMMAND QUEUE AND ARBITER | |
DE69024068T2 (en) | Method and data processing unit for pipelining register and register change specifiers in the same instruction | |
DE3586603T2 (en) | DATA PROCESSOR FOR INTERPRETING AND COMPILED LANGUAGE. | |
DE3851746T2 (en) | Jump prediction. | |
DE3650602T2 (en) | Data processing system | |
DE2505843A1 (en) | DATA PROCESSING SYSTEM WITH DATA FLOW CONTROLLED SIMULTANEOUS PROCESSING | |
DE2935906C2 (en) | microprocessor | |
DE2357003A1 (en) | PROGRAMMABLE PROCESSOR | |
DE2411963B2 (en) | DATA PROCESSING SYSTEM | |
DE2714805A1 (en) | DATA PROCESSING SYSTEM | |
DE2756762A1 (en) | PROCEDURE AND ARRANGEMENT FOR ACCESS TO ANY BIT FIELDS IN THE MAIN MEMORY OF A DATA PROCESSING SYSTEM | |
DE69524379T2 (en) | PROCESSING SYSTEM WITH ORIENTED BRANCHING TARGET | |
DE68924719T2 (en) | Device and method for executing a subroutine in a data processing system with block switching. | |
DE69616718T4 (en) | DEVICE AND METHOD FOR DETERMINING ADDRESSES OF MISALIGNED DATA | |
DE60009496T2 (en) | MICROPROCESSOR WITH REDUCED CONTEXT SWITCHING VOLTAGE AND METHOD | |
DE69718485T2 (en) | REGISTER ADDRESSING IN A DATA PROCESSING DEVICE | |
DE19848742C2 (en) | Register renaming for a processor that can process instructions outside of the sequential order | |
DE3650006T2 (en) | Method and means for transporting bytes in a computer with a reduced instruction set. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8139 | Disposal/non-payment of the annual fee |