DE19612442A1 - Microprocessor circuit for performing sequences of instructions - Google Patents

Microprocessor circuit for performing sequences of instructions

Info

Publication number
DE19612442A1
DE19612442A1 DE1996112442 DE19612442A DE19612442A1 DE 19612442 A1 DE19612442 A1 DE 19612442A1 DE 1996112442 DE1996112442 DE 1996112442 DE 19612442 A DE19612442 A DE 19612442A DE 19612442 A1 DE19612442 A1 DE 19612442A1
Authority
DE
Germany
Prior art keywords
program
circuit
memory
bus
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE1996112442
Other languages
German (de)
Inventor
Michael Dipl Ing Ludwigs
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE1996112442 priority Critical patent/DE19612442A1/en
Publication of DE19612442A1 publication Critical patent/DE19612442A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • 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, look ahead
    • G06F9/3802Instruction prefetching

Abstract

The microprocessor circuit contains an external data memory (21) coupled to its computer (1) via a databus (8). Data computed or processed by the computer are temporarily stored in the external memory. Instructions to be carried out by the computer are stored in a program memory (5) coupled to the computer by a program bus (9). The program memory is divided into numbered memory banks (SB) of defined capacity of words (PW) characterised by word addresses. A program address bus (6) control circuit has a detection circuit (3) coupled to the program bus to detect instructions for changing access between different memory banks. The detection circuit controls an address coupling circuit (4) with input coupled to the databus and program address bus and output connected to the program address bus expanded to accommodate the memory bank numbers. The address coupling circuit produces a program address positively associated with a word in program memory from a memory bank number for a jump instruction and the word address in the jump instruction.

Description

Die Erfindung bezieht sich auf eine Mikroprozessorschaltung mit einem Rechenwerk zur Ausführung zeitlich aufeinander fol­ gender Anweisungen, einem mit dem Rechenwerk vermittels eines n Bit breiten Datenbusses gekoppelten externen Datenspeicher, in welchen vom Rechenwerk berechnete bzw. verarbeitete Daten zeitweise abgespeichert sind, und einem mit dem Rechenwerk vermittels eines Programmbusses gekoppelten externen Pro­ grammspeicher, in welchem die vom Rechenwerk zeitlich aufein­ ander folgend auszuführenden Anweisungen abgespeichert sind, wobei der Programmspeicher in eine vorbestimmte Anzahl von 2m-n Speicherbänken mit jeweils einer Anzahl von 2n Programm­ wörtern, die durch eine n Bit breite Wortadresse charakteri­ siert sind, unterteilt ist, wobei den Speicherbänken jeweils eine Speicherbanknummer zugeordnet ist.The invention relates to a microprocessor circuit with an arithmetic unit for executing sequential instructions, an external data memory coupled to the arithmetic unit by means of an n-bit data bus, in which data calculated or processed by the arithmetic unit are temporarily stored, and one with the arithmetic unit by means of a program bus coupled external program memory, in which the instructions to be executed sequentially by the arithmetic unit are stored, the program memory in a predetermined number of 2 mn memory banks, each with a number of 2 n program words, by an n-bit word address are characterized, is divided, the memory banks each being assigned a memory bank number.

Bei einem solchen Mikroprozessorsystem, dessen Adreßraum durch Bankumschaltung ("Banking") von 2n Worten auf 2m Worte erweitert ist, besteht die Schwierigkeit, beliebige Pro­ grammsprünge über Speicherbankgrenzen durchzuführen, da über einen n Bit breiten Adreßbus maximal 2n Worte adressierbar sind. Um den gesamten Programmspeicher adressieren zu können, wird ein m Bit breiter erweiterter Programmadressbus benö­ tigt, dessen zusätzliche m-n höherwertigen Adreßbits eine Anzahl von 2m-n Speicherbänken charakterisieren und in einem speziellen Adreßbankregister (ABR) gespeichert werden, wel­ ches im Adreßraum des Prozessors liegt und wie jede andere Speicherstelle beschrieben werden kann. Der Inhalt des Adreß­ bankregisters wird direkt zur Ansteuerung der m-n höherwerti­ gen Adreßbits genutzt. Jeder weite Programmsprung, d. h. ein Programmsprung, der über die Speicherbankgrenzen hinausgeht, besteht aus einem Zugriff auf das Adreßbankregister und dem eigentlichen Sprungbefehl mit der Wortadresse. Die Schwierig­ keit besteht nun darin, daß der Befehl nach Ausführung eines solchen Sprunges nicht erreicht wird, da der Prozessor vorher die Bank wechselt. Anhand eines Beispiels soll die Problema­ tik verdeutlicht werden. Es soll ein Sprung von der Speicher­ bank SB0 und dem Programmwort PW101 nach der Speicherbank SB3 und dem Programmwort PW77 ausgeführt werden. Wie die folgende Tabelle zeigt, wird aber statt dessen ein Sprung von der Speicherbank SB0 und dem Programmwort PW101 nach der Spei­ cherbank SB3 und dem Programmwort PW102 ausgeführt.In such a microprocessor system, the address space is expanded by bank switching ("banking") from 2 n words to 2 m words, there is the difficulty of performing any program jumps across memory bank boundaries, since a maximum of 2 n words can be addressed via an n-bit address bus. In order to be able to address the entire program memory, an m bit-wide extended program address bus is required, the additional mn higher-order address bits characterize a number of 2 mn memory banks and are stored in a special address bank register (ABR), which lies in the address space of the processor and how any other memory location can be written to. The content of the address bank register is used directly to control the higher value address bits. Each long program jump, ie a program jump that goes beyond the memory bank boundaries, consists of access to the address bank register and the actual jump instruction with the word address. The difficulty now is that the command is not reached after executing such a jump, because the processor changes banks beforehand. The problem should be illustrated using an example. There should be a jump from memory bank SB0 and program word PW101 to memory bank SB3 and program word PW77. As the following table shows, however, a jump from memory bank SB0 and program word PW101 to memory bank SB3 and program word PW102 is carried out instead.

Als Folge wird anstelle des gewünschten Befehls XOR fälschli­ cherweise der Befehl AND ausgeführt. Dieses Problem wurde bisher nur softwaremäßig gelöst. Die bekannten Softwarelösun­ gen führen aber zu aufwendigen, unübersichtlichen und unfle­ xiblen, und damit zu langsamen Programmen.As a result, XOR is incorrect instead of the desired command the AND command is executed. This problem was previously only solved by software. The well-known software solution However, conditions lead to complex, confusing and unpleasant xiblen, and therefore slow programs.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine einfache Schaltungsanordnung zur Verfügung zu stellen, mit welcher die Ausführung von Sprunganweisungen zwischen ver­ schiedenen Speicherbänken gelingt.The present invention has for its object a to provide simple circuitry with  which the execution of jump instructions between ver different memory banks succeed.

Diese Aufgabe wird durch eine Mikroprozessorschaltung nach Anspruch 1 gelöst.This task is accomplished by a microprocessor circuit Claim 1 solved.

Erfindungsgemäß ist eine dem Programmadreßbus zugeordnete Steuerschaltung mit einer an den Programmbus gekoppelten Er­ kennungsschaltung vorgesehen, welche eine auf dem Programmbus liegende Sprunganweisung erfaßt, welche einen Befehl für ei­ nen Zugriffswechsel zwischen verschiedenen Speicherbänken aufweist, und mit einer von der Erkennungsschaltung gesteuer­ ten, eingangsseitig an den Datenbus und den Programmadressbus und ausgangsseitig an einen wenigstens um die Anzahl m-n der zur Kennzeichnung der 2m-n Speicherbanknummern notwendigen Bitleitungen erweiterten Programmadreßbus gekoppelten Adreßkopplungsschaltung, welche eine aus der in der Sprun­ ganweisung enthaltenen Speicherbanknummer und der n Bit brei­ ten, in der Sprunganweisung enthaltenen Wortadresse zusammen­ gesetzte, eindeutig einem Wort im Programmspeicher zugeordne­ ten Programmadresse an den Programmspeicher ausgibt. Für ei­ nen Zugriffswechsel zwischen verschiedenen Speicherbänken ist es erforderlich, die in zwei aufeinanderfolgenden Programm­ worten abgelegten Anweisungen für den Wechsel der Speicher­ bank und den Sprung zu einem anderen als dem aktuellen Pro­ grammwort im Programmspeicher folgenden Programmwort, welche folglich zeitlich nacheinander auf dem erweiterten Programm­ adressbus anliegen, gleichzeitig dem Programmspeicher zuzu­ führen. Die Erkennungsschaltung bewirkt zunächst, eine Sprun­ ganweisung zu identifizieren. Da der Maschinenbefehlssatz ei­ ner Mikroprozessorschaltung im allgemeinen verhältnismäßig wenige Sprunganweisungen und Anweisungen, welche eine Sprun­ ganweisung erfordern oder enthalten, umfaßt, lassen sich mit einigen wenigen, an vorbestimmten Bitleitungen des Programm­ busses liegenden, charakteristischen Bits Sprunganweisungen und solche Anweisungen, die Sprunganweisungen erfordern oder enthalten, identifizieren. Die Adreßkopplungsschaltung be­ wirkt hierbei, die eine neue Speicherbanknummer anordnende Anweisung solange zurückzuhalten, bis die der Wortadresse zu­ geordnete Sprunganweisung an den Programmadreßbus angelegt werden kann. Die Adreßkopplungsschaltung führt also eine zeitliche Kopplung der an einem m-n Bit breiten Teil des er­ weiterten Programmadreßbusses anliegenden Speicherbankadres­ se und der an einem n Bit breiten Teil des erweiterten Pro­ grammadreßbusses anliegenden Wortadresse durch, so daß beide gleichzeitig innerhalb der für Adressierungen vorbestimmten Taktzyklen dem Programmspeicher zugeführt werden. Das die Speicherbanknummer und die Wortadresse enthaltende Signal hat die gleiche Wirkung wie eine m Bit breite Wortadresse. Auf diese Weise läßt sich auf relativ einfache schaltungstechni­ sche Weise mit nur einem auf dem erweiterten Programmadreß­ bus anliegenden Signal der adressierbare Speicherbereich ei­ ner mit einem intern n Bit breiten Adreßbus arbeitenden Mi­ kroprozessorschaltung auf mehr als 2n Worte erweitern.According to the invention, a control circuit assigned to the program address bus is provided with a detection circuit coupled to the program bus, which detects a jump instruction located on the program bus, which has a command for an access change between different memory banks, and with one controlled by the detection circuit on the input side Data bus and the program address bus and on the output side to an address coupling circuit coupled to the program address bus which is expanded by at least the number mn of the bit lines required for identifying the 2 mn memory bank numbers and which comprises a word address contained in the jump instruction and the n bit width contained in the jump instruction outputs the set program address, clearly assigned to a word in the program memory, to the program memory. For an access change between different memory banks, it is necessary to store the instructions stored in two successive program words for changing the memory bank and jumping to a program word other than the current program word in the program memory, which consequently follows the address bus one after the other in time concern to feed the program memory at the same time. The detection circuit first causes a jump instruction to be identified. Since the machine instruction set of a microprocessor circuit generally comprises relatively few branch instructions and instructions which require or contain a branch instruction, branch instructions and those instructions which require or contain branch instructions can be obtained with a few characteristic bits lying on predetermined bit lines of the program , identify. The address coupling circuit acts here to hold back the instruction that orders a new memory bank number until the jump instruction assigned to the word address can be applied to the program address bus. The address coupling circuit thus performs a temporal coupling of the memory bank address present at a mn bit wide part of the extended program address bus and the word address present at an n bit wide part of the extended program address bus, so that both are simultaneously supplied to the program memory within the clock cycles predetermined for addressing will. The signal containing the memory bank number and the word address has the same effect as an m bit wide word address. In this way, the addressable memory area of a microprocessor circuit working with an internally n-bit address bus microprocessor circuit can be expanded to more than 2 n words in a relatively simple circuit-technical manner with only one signal present on the extended program address bus.

Bei einer bevorzugten Ausführung der Erfindung kann vorgese­ hen sein, daß die Mikroprozessorschaltung einen digitalen Si­ gnalprozessor mit einer Harvard-Architektur aufweist, bei der die Signalpfade für die Programm- und Datenbusse getrennt ge­ führt sind, und der digitale Signalprozessor über den Pro­ grammbus und den Programmadreßbus mit dem Programmspeicher und über den Datenbus und einen Datenadreßbus mit dem Daten­ speicher gekoppelt ist. Die Verwendung der erfindungsgemäßen Steuerschaltung mit digitalen Signalprozessoren mit einer Harvard-Architektur ermöglichen neben dem erweiterten Adreß­ raum ein gleichzeitiges Ausführen mehrerer Anweisungen.In a preferred embodiment of the invention, it can be performed hen be that the microprocessor circuit a digital Si Signal processor with a Harvard architecture, in which the signal paths for the program and data buses are separated leads, and the digital signal processor via the Pro grammbus and the program address bus with the program memory and over the data bus and a data address bus with the data memory is coupled. The use of the invention Control circuit with digital signal processors with one In addition to the extended address, Harvard architecture enables space to execute several instructions at the same time.

Zu einer einfachen Identifizierung über die Speicherbankgren­ zen hinausgehender Sprunganweisungen kann vorgesehen sein, daß die Erkennungsschaltung eine Vergleichsschaltung zum Ver­ gleich des am Programmbus anliegenden, in einer mit dem Pro­ grammbus gekoppelten ersten Maskenschaltung abgelegten digi­ talen Signales mit einem oder mehreren in einer zweiten Mas­ kenschaltung abgespeicherten digitalen Signalen, welche alle Sprunganweisungen enthaltenden Maschinenanweisungen entspre­ chen, aufweist, und die Vergleichsschaltung im Falle des Vor­ liegens einer Sprunganweisung ein Sprungsignal an die Adreß­ kopplungsschaltung ausgibt. Da der Befehlssatz einer Mikro­ prozessorschaltung relativ wenige Sprunganweisungen umfaßt, lassen sich die die Sprunganweisungen charakterisierenden Bits in der zweiten Maskenschaltung abspeichern, wobei durch einen Vergleich mit den entsprechenden Bits der aktuellen Programmzeile Sprunganweisungen und solche Anweisungen, die Sprunganweisungen erfordern oder enthalten, identifiziert werden.For easy identification via the memory bank size zen jump instructions can be provided, that the detection circuit is a comparison circuit for ver same as that on the program bus, in one with the Pro grambus coupled first mask circuit stored digi tal signals with one or more in a second Mas stored circuit digital signals, all  Machine instructions containing jump instructions correspond Chen, and the comparison circuit in the case of the pre a jump instruction is a jump signal to the address coupling circuit outputs. Since the instruction set of a micro processor circuit comprises relatively few jump instructions, can be used to characterize the jump instructions Store bits in the second mask circuit, whereby by a comparison with the corresponding bits of the current one Program line jump instructions and such instructions that Jump instructions require or contain identified will.

Aus Gründen einer ordnungsgemäßen Anpassung bzw. Synchronisa­ tion kann vorgesehen sein, daß die Erkennungsschaltung eine der Vergleichschaltung nachgeschaltete, vom Taktsignal des Rechenwerkes getaktete Verzögerungsschaltung aufweist. Da­ durch wird das einer Sprunganweisung entsprechende Signal dem Takt der Mikroprozessorschaltung angepaßt.For reasons of proper adjustment or Synchronisa tion can be provided that the detection circuit a the comparison circuit downstream, from the clock signal of Calculator has clocked delay circuit. There is the signal corresponding to a jump instruction Clock of the microprocessor circuit adapted.

Zur Zwischenspeicherung des der Speicherbanknummer entspre­ chenden Signals kann vorgesehen sein, daß die Adreßkopp­ lungsschaltung ein erstes, eingangsseitig mit dem Datenbus gekoppeltes, wenigstens m-n Bit breites Speicherbankregister mit einem ersten Freigabeeingang und ein zweites, eingangs­ seitig mit dem Ausgang des ersten Speicherbankregisters ge­ koppeltes, wenigstens m-n Bit breites Speicherbankregister mit einem zweiten Freigabeeingang aufweist. Die ersten und zweiten Speicherbankregister bilden hierbei einen zweistufi­ gen Registerspeicher, welcher die erforderliche zeitliche Zu­ rückhaltung der den Speicherbanknummern entsprechenden Signa­ le ermöglicht.To temporarily store the memory bank number chenden signal can be provided that the address coupling a first circuit on the input side with the data bus coupled memory bank register at least m-n bits wide with a first release input and a second, input ge with the output of the first memory bank register coupled memory bank register at least m-n bits wide with a second release input. The first and second memory bank registers form a two-stage gen register memory, which the required time retention of the signa corresponding to the memory bank numbers le enables.

Zur Ansteuerung der Adreßkopplungsschaltung kann ferner vor­ gesehen sein, daß die Adreßkopplungsschaltung ein Gatter aufweist, welches über den ersten Eingang mit dem Ausgang der Verzögerungsschaltung gekoppelt ist, und die Adreßkopplungs­ schaltung eine Kippschaltung aufweist, welche über den Rück­ setzeingang mit dem Ausgang der Verzögerungsschaltung, ein­ gangsseitig mit dem ersten Freigabeeingang des ersten Spei­ cherbankregisters und ausgangsseitig mit dem zweiten Eingang des Gatters gekoppelt ist. Dadurch wird die Laufzeit einer Anweisung der Mikroprozessorschaltung überbrückt.To control the address coupling circuit can also before be seen that the address coupling circuit is a gate has, which via the first input with the output of Delay circuit is coupled, and the address coupling circuit has a flip-flop, which on the back  set input with the output of the delay circuit on the aisle side with the first release input of the first memory bank register and on the output side with the second input of the gate is coupled. This will make the term Instruction of the microprocessor circuit bridged.

Zur zeitlichen Abstimmung der Freigabe des ersten und zweiten Speicherbankregisters kann weiterhin vorgesehen sein, daß am ersten Freigabeeingang des ersten Speicherbankregisters und am Eingang der Kippschaltung ein getaktetes Freigabesignal vom Datenadressbus angelegt ist, und der erste Freigabeein­ gang des ersten Speicherbankregisters und der Ausgang des Gatters gekoppelt sind.For timing the release of the first and second Memory bank register can also be provided that on first enable input of the first memory bank register and a clocked enable signal at the input of the trigger circuit from the data address bus, and the first enable gang of the first memory bank register and the output of the Gates are coupled.

Zur Ansteuerung des gesamten Programmspeichers kann vorgese­ hen sein, daß der n Bit breite Programmadressbus und der m-n Bit breite Ausgang des zweiten Speicherbankregisters zu einem m Bit breiten erweiterten Programmadreßbus zusammengeführt ist. Dies ermöglicht eine Erweiterung des Adreßraums von in­ tern mit einem n Bit breiten Programmadreßbus arbeitenden Mikroprozessorschaltungen.To control the entire program memory can be read hen that the n bit wide program address bus and the m-n Bit wide output of the second memory bank register to one m bit extended program address bus merged is. This enables an expansion of the address space from in ters with a n-bit wide program address bus Microprocessor circuits.

Weitere Merkmale, Vorteile und Zweckmäßigkeiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines Ausfüh­ rungsbeispieles anhand einer Figur.Further features, advantages and advantages of the invention result from the following description of an embodiment Example with a figure.

Diese zeigt den schematischen Aufbau eines Ausführungsbei­ spieles der erfindungsgemäßen Mikroprozessorschaltung mit ei­ nem Rechenwerk 2 zur Ausführung zeitlich aufeinander folgen­ der Anweisungen, einem mit dem Rechenwerk 2 vermittels eines n Bit breiten Datenbusses 8 gekoppelten externen Datenspei­ cher 21, in welchen vom Rechenwerk 2 berechnete bzw. verar­ leitete Daten zeitweise abgespeichert sind, und einem mit dem Rechenwerk 2 vermittels eines Programmbusses 9 gekoppelten externen Programmspeicher 5, in welchem die vom Rechenwerk 2 zeitlich aufeinander folgend auszuführenden Anweisungen abge­ speichert sind. Der Programmspeicher 5 ist in eine vorbe­ stimmte Anzahl von 2m-n Speicherbänken SB mit jeweils einer Anzahl von 2n Programmwörtern PW, die durch eine n Bit breite Wortadresse charakterisiert sind, unterteilt, wobei den Spei­ cherbänken SB jeweils eine Speicherbanknummer SBx zugeordnet ist. Es ist eine dem Programmadreßbus 6 zugeordnete Steuer­ schaltung 1 vorgesehen mit einer an den Programmbus 9 gekop­ pelten Erkennungsschaltung 3, welche eine auf dem Programmbus 9 liegende Sprunganweisung erfaßt, welche einen Befehl für einen Zugriffswechsel zwischen verschiedenen Speicherbänken SB aufweist, und mit einer von der Erkennungsschaltung 3 ge­ steuerten, eingangangsseitig an den Datenbus 8 und den Pro­ grammadreßbus 6 und ausgangsseitig an einen wenigstens um die Anzahl m-n der zur Kennzeichnung der 2m-n Speicherbanknum­ mern (SBx) notwendigen Bitleitungen 22 erweiterten Program­ madreßbus 7 gekoppelten Adreßkopplungsschaltung 4, welche eine aus der in der Sprunganweisung enthaltenen Speicherban­ knummer SBx und der n Bit breiten, in der Sprunganweisung enthaltenen Wortadresse zusammengesetzte, eindeutig einem Wort PW im Programmspeicher 5 zugeordneten Programmadresse an den Programmspeicher 5 ausgibt.This shows the schematic structure of an exemplary embodiment of the microprocessor circuit according to the invention with an arithmetic logic unit 2 for executing the instructions one after the other in time, an external data memory 21 coupled to the arithmetic logic unit 2 by means of an n bit wide data bus 8 , in which the computer 2 calculates or processed data are temporarily stored, and an external program memory 5 which is coupled to the arithmetic unit 2 by means of a program bus 9 and in which the instructions to be executed by the arithmetic unit 2 in succession are stored. The program memory 5 is divided into a predetermined number of 2 mn memory banks SB, each with a number of 2 n program words PW, which are characterized by an n-bit word address, the memory banks SB being assigned a memory bank number SBx. There is a control circuit 1 assigned to the program address bus 6 provided with a detection circuit 3 coupled to the program bus 9 , which detects a jump instruction lying on the program bus 9 , which has a command for an access change between different memory banks SB, and with one of the detection circuit 3 ge controlled, on the input side to the data bus 8 and the program address bus 6 and on the output side to an address coupling circuit 4 coupled at least by the number mn of the bit lines 22 necessary for identifying the 2 mn memory bank numbers (SBx) 22 , the program address bus 7 coupled, which comprises a from the in outputs the memory instruction number SBx contained in the jump instruction and the n-bit wide word address contained in the instruction instruction, which outputs a program address which is clearly assigned to a word PW in the program memory 5 to the program memory 5 .

Die Erkennungsschaltung 3 besteht aus einer ersten Masken­ schaltung 12, einer zweiten Maskenschaltung 13, einer Ver­ gleichsschaltung 14 und einer Verzögerungsschaltung 15. Die Vergleichsschaltung 14 ist eingangsseitig mit der ersten und der zweiten Maskenschaltung und ausgangsseitig mit der Verzö­ gerungsschaltung 15 gekoppelt. Die erste Maskenschaltung 12 ist mit dem Programmbus 9 derart gekoppelt, daß wenigstens jene Teile eines Programmwortes in die erste Maskenschaltung 12 geschrieben werden, die zur Identifizierung einer die Speicherbankgrenzen überschreitende Sprunganweisung ausrei­ chen. Die zweite Maskenschaltung 13 stellt einen Festwert­ speicher dar, in welchem jene Teile eines eine Sprunganwei­ sung enthaltende Programmwortes abgelegt sind, die zur Iden­ tifizierung der Sprunganweisungen ausreichen. Ausgangsseitig ist die Vergleichsschaltung 14 mit dem Eingang der Verzöge­ rungsschaltung 15 gekoppelt. Der Takteingang der Verzöge­ rungsschaltung 15 ist mit dem Taktsignal des Rechenwerkes 2 gekoppelt. Der Ausgang der Verzögerungsschaltung 15 ent­ spricht dem Ausgang der Erkennungsschaltung 3, welche mit dem Eingang der Adreßkopplungsschaltung 4 verbunden ist. Die Adreßkopplungsschaltung 4 besteht aus einem UND-Gatter 16, einer Flip-Flop-Schaltung 17, einem ersten Speicherbankregi­ ster 18 und einem zweiten Speicherbankregister 19. Der Ein­ gang der Adreßkopplungsschaltung 4 ist mit dem ersten Ein­ gang des UND-Gatters 16 und dem Rücksetzeingang der Flip- Flop-Schaltung 17 gekoppelt. Am zweiten Eingang 20 des UND-Gatters 16 liegt permanent die logische Eins an. Der dritte Eingang des UND-Gatters 16 ist mit dem Ausgang der Flip-Flop- Schaltung 17 gekoppelt. Am Eingang der Flip-Flop-Schaltung 17 und am ersten Freigabeeingang des ersten Speicherbankregi­ sters 18 liegt gemeinsam ein Freigabesignal 11 an. Der Aus­ gang des UND-Gatters 16 ist mit einem zweiten Freigabeeingang des zweiten Speicherbankregisters 19 gekoppelt. Das erste Speicherbankregister 18 ist eingangsseitig mit dem n Bit breiten Datenbus 8 gekoppelt, und ausgangsseitig mit dem Ein­ gang des zweiten Speicherbankregisters 19 gekoppelt. Der an die m-n Bitleitungen 22 gekoppelte Ausgang des zweiten Spei­ cherbankregisters 19 entspricht dem Ausgang der Adreßkopp­ lungsschaltung 4 und damit dem Ausgang der Steuerschaltung 1. Die an den Ausgang der Steuerschaltung 1 gekoppelten m-n Bit­ leitungen 22 bilden zusammen mit dem n Bit breiten Program­ madressbus 6 den m Bit breiten erweiterten Programmadreßbus 7. Der erweiterte Programmadreßbus 7 koppelt den nicht näher dargestellten, dem Rechenwerk 2 übergeordneten Mikroprozessor mit dem externen Programmspeicher 5. Der Programmspeicher 5 besteht aus 2m-n Speicherbänken, welche aus jeweils 2n Pro­ grammworten aufgebaut sind.The detection circuit 3 consists of a first mask circuit 12 , a second mask circuit 13 , a comparison circuit 14 and a delay circuit 15 . The comparison circuit 14 has its input side coupled to the first and the second mask circuit and the output side of the delay circuit with deferrers 15th The first mask circuit 12 is coupled to the program bus 9 in such a way that at least those parts of a program word are written into the first mask circuit 12 which are sufficient to identify a jump instruction which exceeds the memory bank limits. The second mask circuit 13 represents a fixed value memory, in which those parts of a program word containing a jump instruction are stored which are sufficient for identifying the jump instructions. On the output side, the comparator circuit 14 is connected to the input of the circuit 15 coupled tarry approximately. The clock input of the delay circuit 15 is coupled to the clock signal of the arithmetic unit 2 . The output of the delay circuit 15 corresponds to the output of the detection circuit 3 , which is connected to the input of the address coupling circuit 4 . The address coupling circuit 4 consists of an AND gate 16 , a flip-flop circuit 17 , a first memory bank register 18 and a second memory bank register 19 . The input of the address coupling circuit 4 is coupled to the first input of the AND gate 16 and the reset input of the flip-flop circuit 17 . The logic one is permanently present at the second input 20 of the AND gate 16 . The third input of the AND gate 16 is coupled to the output of the flip-flop circuit 17 . At the input of the flip-flop circuit 17 and at the first enable input of the first memory bank register 18, there is a common enable signal 11 . The output of the AND gate 16 is coupled to a second enable input of the second memory bank register 19 . The first memory bank register 18 is coupled on the input side to the n-bit data bus 8 , and on the output side is coupled to the input of the second memory bank register 19 . The coupled to the mn bit lines 22 output of the second memory bank register 19 corresponds to the output of the address coupling circuit 4 and thus the output of the control circuit 1 . The mn bit lines 22 coupled to the output of the control circuit 1 together with the n bit wide program madressbus 6 form the m bit wide extended program address bus 7 . The expanded program address bus 7 couples the microprocessor (not shown in greater detail) to the arithmetic logic unit 2 and the external program memory 5 . The program memory 5 consists of 2 mn memory banks, which are each composed of 2 n program words.

Das in der Figur dargestellte Ausführungsbeispiel arbeitet wie folgt. Die Verwendung zweier Speicherbankregister 18, 19 ermöglicht, daß die Speicherbank SB gleichzeitig mit der Wor­ tadresse PW innerhalb der Speicherbank SB verändert werden kann. Die folgenden Tabelle verdeutlicht den Ablauf einer Sprunganweisung von der Speicherbank SB0 und der Wortadresse PW101 nach der Speicherbank SB3 und der Wortadresse PW77.The embodiment shown in the figure works as follows. The use of two memory bank registers 18 , 19 enables the memory bank SB to be changed simultaneously with the word address PW within the memory bank SB. The following table illustrates the sequence of a jump instruction from memory bank SB0 and word address PW101 to memory bank SB3 and word address PW77.

In einem ersten Schritt wird die neue Speicherbanknummer SB3 vom Datenbus 8 in das erste Speicherbankregister 18 eingele­ sen. Gleichzeitig wird der Eingang der Flip-Flop-Schaltung 17 auf die logische Eins gesetzt. Der auf dem Programmdatenbus 9 liegende Sprungbefehl wird von der Vergleichsschaltung 14 der Erkennungsschaltung 3 identifiziert. Die Verzögerungsschal­ tung 15 gleicht die unterschiedlichen Laufzeiten der in der Speicherbank 18 stehenden Anweisung und des Sprungbefehls aus. Über das UND-Gatter 16 wird das zweite Speicherbankregi­ ster 19 angesprochen und die neue Speicherbanknummer SB auf die m-n Bitleitungen 22 und damit auf den erweiterten Pro­ grammdatenbus 7 übertragen. Gleichzeitig wird der Eingang der Flip-Flop-Schaltung 17 auf eine logische Null zurückgesetzt. Alle folgenden Sprunganweisungen werden wie Sprunganweisungen innerhalb der aktuellen Speicherbank SB interpretiert. Zufäl­ lige Daten auf dem Programmdatenbus 9 können den beschriebe­ nen Ablauf nicht stören. Erst ein erneuter Zugriff auf das erste Speicherbankregister 18 versetzt die Steuerschaltung 1 wieder in den aktiven Zustand.In a first step, the new memory bank number SB3 from data bus 8 is inserted into first memory bank register 18 . At the same time, the input of the flip-flop circuit 17 is set to logic one. The jump instruction lying on the program data bus 9 is identified by the comparison circuit 14 of the detection circuit 3 . The delay circuit 15 compensates for the different runtimes of the instruction in the memory bank 18 and the jump instruction. The second memory bank register 19 is addressed via the AND gate 16 and the new memory bank number SB is transmitted to the mn bit lines 22 and thus to the extended program data bus 7 . At the same time, the input of the flip-flop circuit 17 is reset to a logic zero. All subsequent jump instructions are interpreted like jump instructions within the current memory bank SB. Random data on the program data bus 9 cannot interfere with the process described. Only when the first memory bank register 18 is accessed again does the control circuit 1 return to the active state.

Um einen einwandfreien Ablauf zu gewährleisten, sollte die Sprunganweisung unmittelbar dem Befehl zum Schreiben der neu­ en Speicherbanknummer Sbx in das erste Speicherbankregister 18 folgen, was der an sich üblichen Reihenfolge des Program­ mes entspricht.In order to ensure that the process runs smoothly, the jump instruction should immediately follow the command for writing the new memory bank number Sbx into the first memory bank register 18 , which corresponds to the sequence of the program which is usual per se.

Sollten Interrupt-Signale vorliegen, die zwischen den beiden Anweisungen den sinnvollen Ablauf beenden, können vor der Sprunganweisung und dem Befehl zum Schreiben der neuen Spei­ cherbanknummer Sbx in das erste Speicherbankregister 18 alle Interrupt-Signale abgeschaltet werden, bzw. die nicht mas­ kierbaren Interrupts können mit einer Schaltung, welche durch den Ausgang der Flip-Flop-Schaltung 17 gesteuert ist, ge­ sperrt werden.If there are interrupt signals that terminate the sensible sequence between the two instructions, all interrupt signals can be switched off before the jump instruction and the command for writing the new memory bank number Sbx into the first memory bank register 18 , or the non-maskable interrupts can with a circuit which is controlled by the output of the flip-flop circuit 17 , ge blocked.

Durch den Einsatz der erfindungsgemäßen Schaltung kann die Problematik bei Speicherbankgrenzen überschreitenden Sprun­ ganweisungen zufriedenstellend gelöst werden, ohne den zu­ sätzlichen Programmieraufwand wesentlich zu erhöhen.By using the circuit according to the invention, the Problems with Sprun across memory bank boundaries Instructions can be satisfactorily resolved without having to significantly increase the additional programming effort.

Claims (10)

1. Mikroprozessorschaltung mit einem Rechenwerk (2) zur Aus­ führung zeitlich aufeinander folgender Anweisungen, einem mit dem Rechenwerk (2) vermittels eines n Bit breiten Datenbusses (8) gekoppelten externen Datenspeicher (21), in welchen vom Rechenwerk (2) berechnete bzw. verarbeitete Daten zeitweise abgespeichert sind, und einem mit dem Rechenwerk (2) vermit­ tels eines Programmbusses (9) gekoppelten externen Programm­ speicher (5), in welchem die vom Rechenwerk (2) zeitlich auf­ einander folgend auszuführenden Anweisungen abgespeichert sind, wobei der Programmspeicher (5) in eine vorbestimmte An­ zahl von 2m-n Speicherbänken (SB) mit jeweils einer Anzahl von 2n Programmwörtern (PW), die durch eine n Bit breite Wor­ tadresse charakterisiert sind, unterteilt ist, wobei den Speicherbänken (SB) jeweils eine Speicherbanknummer (SBx) zu­ geordnet ist, gekennzeichnet durch eine dem Programmadreßbus (6) zugeordnete Steuerschaltung (1) mit einer an den Programmbus (9) gekoppelten Erkennungs­ schaltung (3), welche eine auf dem Programmbus (9) liegende Sprunganweisung erfaßt, die einen Befehl für einen Zugriffs­ wechsel zwischen verschiedenen Speicherbänken (SB) aufweist, und mit einer von der Erkennungsschaltung (3) gesteuerten, eingangangsseitig an den Datenbus (8) und den Programmadreß­ bus (6) und ausgangsseitig an einen wenigstens um die Anzahl m-n der zur Kennzeichnung der 2m-n Speicherbanknummern (SBx) notwendigen Bitleitungen (22) erweiterten Programmadreßbus (7) gekoppelten Adreßkopplungsschaltung (4), welche eine aus der in der Sprunganweisung enthaltenen Speicherbanknummer (SBx) und der n Bit breiten, in der Sprunganweisung enthalte­ nen Wortadresse zusammengesetzte, eindeutig einem Wort (PW) im Programmspeicher (5) zugeordneten Programmadresse an den Programmspeicher (5) ausgibt.1. Microprocessor circuit with an arithmetic unit ( 2 ) for executing sequential instructions, an external data memory ( 21 ) coupled to the arithmetic unit ( 2 ) by means of an n-bit data bus ( 8 ), in which the computer ( 2 ) calculates or calculates processed data is temporarily stored, and a Transfer on means of the arithmetic unit (2) of a program bus (9) coupled to external program memory (5) in which are stored by the arithmetic unit (2) on time successively executed instructions, wherein the program memory ( 5 ) is divided into a predetermined number of 2 mn memory banks (SB), each with a number of 2 n program words (PW), which are characterized by an n-bit word address, the memory banks (SB) each having a memory bank number ( SBx) is assigned, characterized by a control circuit ( 1 ) assigned to the program address bus ( 6 ) with a control circuit connected to the program bus ( 9 ) coupled detection circuit ( 3 ), which detects a jump instruction lying on the program bus ( 9 ), which has a command for an access change between different memory banks (SB), and with one of the detection circuit ( 3 ) controlled, the input side to the data bus (8) and the Programmadreß bus (6) and on the output side extended to a least mn to the number of necessary for the identification of 2 mn memory bank numbers (SBx) bit lines (22) Programmadreßbus (7) coupled Adreßkopplungsschaltung (4) which is one of the outputs the bank bank number (SBx) contained in the jump instruction and the n-bit wide word address contained in the jump instruction, which uniquely assigns a word (PW) in the program memory ( 5 ) to the program memory ( 5 ). 2. Mikroprozessorschaltung nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Mikroprozessorschaltung einen digitalen Si­ gnalprozessor mit einer Harvard-Architektur aufweist, bei der die Signalpfade für die Programm- (9) und Datenbusse (8) ge­ trennt geführt sind, und der digitale Signalprozessor über den Programmbus (9) und den Programmadreßbus (6) mit dem Programmspeicher (5) und über den Datenbus (8) und einen Da­ tenadressbus mit dem Datenspeicher (21) gekoppelt ist.2. Microprocessor circuit according to claim 1, characterized in that the microprocessor circuit has a digital Si signal processor with a Harvard architecture, in which the signal paths for the program ( 9 ) and data buses ( 8 ) are separated, and the digital signal processor via the program bus ( 9 ) and the program address bus ( 6 ) with the program memory ( 5 ) and via the data bus ( 8 ) and a data address bus with the data memory ( 21 ) is coupled. 3. Mikroprozessorschaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Erkennungsschaltung (3) eine Ver­ gleichsschaltung (14) zum Vergleichen des am Programmbus (9) anliegenden, in einer mit dem Programmbus (9) gekoppelten er­ sten Maskenschaltung (12) abgelegten digitalen Signales mit einem oder mehreren in einer zweiten Maskenschaltung (12) ab­ gespeicherten digitalen Signalen, welche alle Sprunganweisun­ gen enthaltenden Maschinenanweisungen entsprechen, aufweist, und daß die Vergleichsschaltung im Falle des Vorliegendes ei­ ner Sprunganweisung ein Sprungsignal an die Adreßkopplungs­ schaltung (4) ausgibt.3. Microprocessor circuit according to claim 1 or 2, characterized in that the detection circuit ( 3 ) is a comparison circuit ( 14 ) for comparing the applied to the program bus ( 9 ), in a coupled to the program bus ( 9 ) he most mask circuit ( 12 ) filed digital signals with one or more stored in a second mask circuit ( 12 ) from digital signals, which correspond to all jump instructions including machine instructions, and that the comparison circuit in the presence of a jump instruction outputs a jump signal to the address coupling circuit ( 4 ). 4. Mikroprozessorschaltung nach Anspruch 3, dadurch gekenn­ zeichnet, daß die Erkennungsschaltung (3) eine der Ver­ gleichsschaltung (14) nachgeschaltete, vom Taktsignal des Re­ chenwerkes (2) getaktete Verzögerungsschaltung (15) aufweist.4. Microprocessor circuit according to claim 3, characterized in that the detection circuit ( 3 ) one of the Ver comparison circuit ( 14 ) connected downstream from the clock signal of Re computing ( 2 ) clocked delay circuit ( 15 ). 5. Mikroprozessorschaltung nach Anspruch 1 bis 4, dadurch ge­ kennzeichnet, daß die Adreßkopplungsschaltung (4) ein er­ stes, eingangsseitig mit dem Datenbus (8) gekoppeltes, wenig­ stens m-n Bit breites Speicherbankregister (18) mit einem er­ sten Freigabeeingang und ein zweites, eingangsseitig mit dem Ausgang des ersten Speicherbankregisters (18) gekoppeltes, wenigstens m-n Bit breites Speicherbankregister (19) mit ei­ nem zweiten Freigabeeingang aufweist.5. Microprocessor circuit according to claim 1 to 4, characterized in that the address coupling circuit ( 4 ) he stes, on the input side to the data bus ( 8 ) coupled, at least mn bit wide memory bank register ( 18 ) with a first enable input and a second, has at least mn-bit wide memory bank register ( 19 ) coupled to the output of the first memory bank register ( 18 ) and having a second enable input. 6. Mikroprozessorschaltung nach Anspruch 1 bis 5, dadurch ge­ kennzeichnet, daß die Adreßkopplungsschaltung (4) ein Gatter (16) aufweist, welches über den ersten Eingang mit dem Aus­ gang der Verzögerungsschaltung (15) gekoppelt ist. 6. Microprocessor circuit according to claim 1 to 5, characterized in that the address coupling circuit ( 4 ) has a gate ( 16 ) which is coupled via the first input to the output of the delay circuit ( 15 ). 7. Mikroprozessorschaltung nach Anspruch 1 bis 6, dadurch ge­ kennzeichnet, daß die Adreßkopplungsschaltung (4) eine Kipp­ schaltung (17) aufweist, welche über den Rücksetzeingang mit dem Ausgang der Verzögerungsschaltung (15), eingangsseitig mit dem ersten Freigabeeingang des ersten Speicherbankregi­ sters (18) und ausgangsseitig mit dem zweiten Eingang des Gatters (16) gekoppelt ist.7. Microprocessor circuit according to claim 1 to 6, characterized in that the address coupling circuit ( 4 ) has a flip-flop circuit ( 17 ) which on the reset side with the output of the delay circuit ( 15 ), on the input side with the first release input of the first memory bank register ( 18 ) and the output side is coupled to the second input of the gate ( 16 ). 8. Mikroprozessorschaltung nach Anspruch 1 bis 7, dadurch ge­ kennzeichnet, daß am ersten Freigabeeingang des ersten Spei­ cherbankregisters (18) und am Eingang der Kippschaltung (17) ein getaktetes Freigabesignal vom Datenadreßbus angelegt ist.8. Microprocessor circuit according to claim 1 to 7, characterized in that at the first release input of the first SpeI cherbankregisters ( 18 ) and at the input of the flip-flop ( 17 ) a clocked release signal from the data address bus is applied. 9. Mikroprozessorschaltung nach Anspruch 1 bis 8, dadurch ge­ kennzeichnet, daß der erste Freigabeeingang des ersten Spei­ cherbankregisters (18) und der Ausgang des Gatters (16) ge­ koppelt sind.9. Microprocessor circuit according to claim 1 to 8, characterized in that the first enable input of the first SpeI cherbankregisters ( 18 ) and the output of the gate ( 16 ) are coupled ge. 10. Mikroprozessorschaltung nach Anspruch 1 bis 9, dadurch gekennzeichnet, daß der n Bit breite Programmadreßbus (6) und der m-n Bit breite Ausgang (22) des zweiten Speicherbank­ registers (19) zum m Bit breiten erweiterten Programmadreß­ bus (7) zusammengeführt ist.10. Microprocessor circuit according to claim 1 to 9, characterized in that the n bit wide program address bus ( 6 ) and the mn bit wide output ( 22 ) of the second memory bank register ( 19 ) is merged to the m bit wide extended program address bus ( 7 ).
DE1996112442 1996-03-28 1996-03-28 Microprocessor circuit for performing sequences of instructions Withdrawn DE19612442A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1996112442 DE19612442A1 (en) 1996-03-28 1996-03-28 Microprocessor circuit for performing sequences of instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1996112442 DE19612442A1 (en) 1996-03-28 1996-03-28 Microprocessor circuit for performing sequences of instructions

Publications (1)

Publication Number Publication Date
DE19612442A1 true DE19612442A1 (en) 1997-02-27

Family

ID=7789785

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1996112442 Withdrawn DE19612442A1 (en) 1996-03-28 1996-03-28 Microprocessor circuit for performing sequences of instructions

Country Status (1)

Country Link
DE (1) DE19612442A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0116455A2 (en) * 1983-02-10 1984-08-22 Activision, Inc. Method and means for memory bank selection in a microprocessing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0116455A2 (en) * 1983-02-10 1984-08-22 Activision, Inc. Method and means for memory bank selection in a microprocessing system

Similar Documents

Publication Publication Date Title
DE2744531C2 (en) Arrangement for the selection of interrupt programs in a data processing system
DE2907181A1 (en) COMMAND SET MODIFYING REGISTER FOR A DATA PROCESSOR
DE1499722B1 (en) DEVICE FOR THE MODIFICATION OF INFORMATION WORDS
EP0011685A1 (en) Programmable memory protection arrangement for microprocessors and circuitry with such an arrangement
DE2630323B2 (en) Data storage device with a main memory, an auxiliary memory and a look-ahead logic
DE2908691A1 (en) DIGITAL COMPUTER
DE2524046A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
DE3228405A1 (en) EMULATOR FOR GENERATING A SEQUENCE OF CONTROL SIGNALS
DE2117581B2 (en) Device for address checking
DE19955776C1 (en) Multitasking processor system
DE2134816A1 (en) FACILITY FOR ADDRESS TRANSLATION
EP0130269A2 (en) Stored program control
DE2245284A1 (en) DATA PROCESSING SYSTEM
DE19612442A1 (en) Microprocessor circuit for performing sequences of instructions
DE2106731A1 (en) Diagnostic equipment for electronic data processing systems
DE3535215C2 (en)
DE3435741C2 (en)
DE2725504A1 (en) DATA PROCESSING SYSTEM AND INFORMATION OUTPUT
EP0195284A2 (en) Device for counting the number of 1/0 bits contained in an n-bits binary word
DE2355814A1 (en) CHANNEL ACCESS DEVICE FOR A HIERARCHICAL MEMORY ARRANGEMENT
EP0328989B1 (en) Circuit to adapt a slow memory to a fast processor
DE10065114B4 (en) Method and arrangement for generating instruction words for controlling functional units in a processor
DE3603320C2 (en)
DE2122659A1 (en)
DE3603240A1 (en) Circuit arrangement for resolving operand conflicts in data processing systems which work on the assembly line principle

Legal Events

Date Code Title Description
OAV Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal