DE2952349A1 - PRIORITY RESOLUTION DEVICE - Google Patents

PRIORITY RESOLUTION DEVICE

Info

Publication number
DE2952349A1
DE2952349A1 DE19792952349 DE2952349A DE2952349A1 DE 2952349 A1 DE2952349 A1 DE 2952349A1 DE 19792952349 DE19792952349 DE 19792952349 DE 2952349 A DE2952349 A DE 2952349A DE 2952349 A1 DE2952349 A1 DE 2952349A1
Authority
DE
Germany
Prior art keywords
memory
bus
microprocessor
address
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19792952349
Other languages
German (de)
Inventor
Thomas O Holtey
Kin C Yu
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.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Italia SpA
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
Priority claimed from US06/000,477 external-priority patent/US4271467A/en
Priority claimed from US06/000,402 external-priority patent/US4255786A/en
Priority claimed from US06/000,315 external-priority patent/US4291371A/en
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2952349A1 publication Critical patent/DE2952349A1/en
Granted 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Description

Die vorliegende Erfindung bezieht sich ganz allgemein auf Datenverarbeitungssysteme und insbesondere auf eine Prioritäts-Auf lösungseinrichtung nach dem Gattungsbegriff des Anspruches Durch diese Einrichtung wird das Gerät angezeigt, das die höchste Priorität bei einer vorgegebenen Gruppe von Geräteanfcrderungen aufweist. Ein Gerät mit höherer Priorität ist hierbei in der Lage, ein Kanalprogramm abzufangen, das zu einem vorbestimmten Zeitpunkt hinsichtlich eines Gerätes mit geringerer Priorität wirksam ist. Die vorliegende Erfindung behandelt ferner eine Adressiereinrichtung zur Unterbrechung eines Computerprogrammes unter Verwendung eines Unterbrechungsvektors, der die Adressen einer großen Anzahl eindeutiger Funktionscodes liefern kann, um die Bearbeitung irgendeiner dieser Anzahl von Unterbrechungsroutinen zu leiten. The present invention relates generally to data processing systems and, more particularly, to prioritization solution device according to the preamble of the claim This facility will display the device that has the highest priority for a given set of device requests having. A device with a higher priority is able to intercept a channel program that corresponds to a predetermined Time is effective with regard to a device with lower priority. The present invention also addresses one Addressing device for interrupting a computer program using an interrupt vector containing the addresses can provide a large number of unique function codes to direct the processing of any of these number of interrupt routines.

Computersysteme umfassen im allgemeinen einen Prozessor und mehrere Ein/Ausgabe-Geräte. Da eine Anzahl von Geräten zur gleichen Zeit eine Zusammenarbeit mit dem Prozessor anfordern kann, muß ein Prioritätssystem errichtet werden, so daß der Prozessor in einer geordneten Reihenfolge mit den E/A-Geräten zusammenarbeiten kann. Bekannte Systeme haben dieses Prioritäteproblem in vielfältiger Weise gelöst, wobei auf ausgefeilte Hardware-, Hardware/Firmware- und Software-Techniken zurückgegriffen wurde. In diesem Zusammenhang seien die US-Patentschriften 3 993 981, 4 001 783 und 4 028 684 erwähnt.Computer systems generally include a processor and multiple input / output devices. As a number of devices request cooperation with the processor at the same time A priority system must be established so that the processor can be in an ordered order with the I / O devices can work together. Known systems have this priority problem solved in many ways, using sophisticated hardware, hardware / firmware and software techniques became. In this connection, U.S. Patents 3,993,981, 4,001,783 and 4,028,684 are mentioned.

Diese Systeme wurden für Großcomputersysteme entworfen und sie sind bezüglich der Hardware kostenaufwendig und erfordern verhältnismäßig viel Zeit, um das entsprechende E/A-Gerät auszuwählen. Ferner sind die bekannten Prioritätssysteme nach ihrer Verwirklichung nicht mehr leicht veränderbar. Dieses Problem gewinnt an Bedeutung, wenn die E/A-Geräte Dialogleitungen sind» von denen jede die Fähigkeit aufweist, Daten in verschiedenen Moden, beispielsweise synchron und asynchron und mit unterschiedlichen Bitgeschwindigkeiten zu empfangen und zu senden.These systems are designed for large scale computer systems and are expensive and relatively demanding in terms of hardware plenty of time to select the appropriate I / O device. Furthermore, the known priority systems are according to their Realization no longer easily changeable. This problem becomes more important when the I / O devices are dialog lines » each of which has the ability to process data in different modes, e.g. synchronous and asynchronous and with different Receive and send bit rates.

030028/0822030028/0822

In einem Computersystem, das mit mehreren E/A-Geräten zusammenarbeitet, kann das den Datenfluß steuernde Subsystem mittels von Kanalprogrammen betrieben werden und einen Mikroprozessor und mehrere E/A-Geräte aufweisen. Die E/A-Geräte können hierbei universelle sowohl synchron als auch asynchron betreibbare Empfänger/Sender (USART = Universal Synchronous Asynchronous Receiver Transmitter) für jede zu bedienende Dialogleitung aufweisen. Der Mikroprozessor kann beispielsweise einen Empfänger/ Sender USART steuern, der mittels eines Kanalprogrammes wirksam ist. Wenn eine andere Dialogleitung mit höherer Priorität eine Behandlung anfordert, so muß der Mikroprozessor das Kanalprogranun, welches wirksam ist, unterbrechen und das Kanalprogramm umschalten, so daß es im Zusammenhang mit der anfordernden Dialogleitung wirksam wird. Im Stand der Technik unterbricht der Mikroprozessor das Kanalprogramm, wobei die Information im Speicher gespeichert wird. Diese in dem Speicher gespeicherte Information gestattet die Fortsetzung des Kana!programmes auf dieser unterbrochenen Dialogleitung. Die Information besteht aus dem Inhalt verschiedener Register in dem System, die entladen werden müssen, wenn eine Dialogleitung mit höherer Priorität eine Unterbrechung erfordert und die erneut geladen werden müssen, wenn die Dialogleitung mit höherer Priorität die Datenübertragung beendet hat und das System zu der ursprünglichen Dialogleitung zurückkehrt. Dieses bekannte System besitzt den Nachteil, daß ein großer Informationsbetrag geladen und entladen werden muß, wodurch die Betriebsgeschwindigkeit vermindert wird. Ferner ist es schwierig, die Unterbrechung zu verhindern, wenn dies von dem System gefordert wird und schließlich gibt es keine Identifizierung der Dialogleitung, die das System unterbrochen hat.In a computer system that works with multiple I / O devices, the subsystem controlling the data flow can be operated by means of channel programs and a microprocessor and have multiple I / O devices. The I / O devices can be universal, both synchronously and asynchronously Have receiver / transmitter (USART = Universal Synchronous Asynchronous Receiver Transmitter) for each dialog line to be operated. The microprocessor can, for example, control a receiver / transmitter USART, which operates by means of a channel program is. If another dialog line with a higher priority requests treatment, the microprocessor must program the channel, which is effective, interrupt and switch the channel program, so that it takes effect in connection with the requesting dialogue line. In the prior art, the microprocessor interrupts the channel program, the information being stored in memory. This information stored in the memory allows the continuation of the Kana! program on this interrupted one Dialogue management. The information consists of the contents of various registers in the system that must be unloaded when a dialog line with a higher priority requires an interruption and must be reloaded when the dialog line with a higher priority has ended the data transmission and the system returns to the original dialog line. This known system has the disadvantage that a large amount of information must be loaded and unloaded, whereby the Operating speed is decreased. Furthermore, it is difficult to prevent the interruption when required by the system and finally there is no identification of the line of dialogue that interrupted the system.

Bei einem ablaufenden Computerprogramm gibt es im allgemeinen zwei Phasen, die normalerweise abwechselnd auftreten. Zunächst werden Befehle und/oder Operanden zu dem Zentralprozessor abgerufen und sodann werden diese bearbeitet. Während der Abrufphase ruft der Prozessor den nächsten zu bearbeitenden Befehl aus dem Hauptspeicher ab und überträgt diesen zu einem oder mehreren Steuerregistern, in welchen weitere Modifikationen,In a running computer program there are generally two phases which normally occur alternately. First commands and / or operands are called up to the central processor and then processed. During the retrieval phase the processor calls the next instruction to be processed from the main memory and transfers it to an or several control registers in which further modifications,

030023/0822030023/0822

wie beispielsweise eine Indizierung, eine indirekte Adressierung und eine Basisaddition erforderlichenfalls durchgeführt werden. Während der Bearbeitungsphase eines Befehls decodiert der Prozessor den Befehl und die durch den Befehl festgelegte Operation wird ausgeführt.such as indexing, indirect addressing, and base addition can be performed if necessary. During the processing phase of an instruction, the processor decodes the instruction and the operation specified by the instruction is running.

Die meisten Digitalcomputer mit gespeichertem Programm besitzen Einrichtungen zur Unterbrechung des ablaufenden Programmes, wobei dies auf Anforderung auf Grund eines externen oder internen Signales erfolgen kann. Es gibt eine Vielzahl von Gründen, die die Unterbrechung eines Computerprogrammes erfordern können, beispielsweise bei der Ein- oder Ausgabe von Information oder beim Aufruf einer Routine zur Ausführung einer Standardroutine, wie beispielsweise einer Wartungs-, Diagnose-, Quadratwurzel-Routine u.s.w.Most digital computers with a stored program have facilities for interrupting the running program, with this can be done on request based on an external or internal signal. There are a variety of reasons that cause the May require interruption of a computer program, for example when inputting or outputting information or when Calling a routine for executing a standard routine, such as a maintenance, diagnosis, square root routine etc.

Die einfachste Form einer Unterbrechung sieht die Verwendung eines Befehles vor, der einen Halt oder eine Verzweigung verursacht. Derartige Befehle sind durch folgende Subroutinen beispielsweise vorgegeben: HALT oder GO TO und RETURN. Auf Grund solcher Subroutinen geht die Zentraleinheit zu einem anderen Speicherplatz in dem Hauptspeicher weiter, um den nächsten zu bearbeitenden Befehl zu erhalten, anstatt mit dem nächstfolgenden Befehl des Programmes fortzufahren. Vor der Ausführung des neuen Programmes bzw. der neuen Routine muß jedoch der Inhalt irgendwelcher indirekt adressierbarer Register, wie beispielsweise von Programmzählern, Akkumulatorregistern oder ähnlichen Registern gesichert werden, so daß die Steuerung zu dem unterbrochenen Programm an dem Punkt zurückkehren kann, wo dieses Programm unterbrochen wurde. Dies erfordert zusätzliche Zeit zum Entladen und Neuladen des Programmzählers.The simplest form of an interrupt is to use an instruction that causes a halt or a branch. Such commands are specified by the following subroutines, for example: HALT or GO TO and RETURN. Because of of such subroutines, the central processing unit advances to another memory location in main memory to move to the next one to receive the processing command instead of the next one Command of the program to continue. Before the new program or the new routine can be executed, however, the content any indirectly addressable registers, such as program counters, accumulator registers or the like Registers are saved so that control can return to the interrupted program at the point where it Program was interrupted. This requires additional time to unload and reload the program counter.

Es gibt viele Variationen zu dieser grundlegenden Unterbrechungsfunktion, wie beispielsweise bedingte Unterbrechungen, Prioritätsunterbrechungen und verschachtelte Unterbrechungen. In diesem Zusammenhang sei auf die US-Patentschriften 3 226 694, 3 408 630,There are many variations on this basic interrupt function, such as conditional interrupts, priority interrupts and nested breaks. In this context, reference is made to U.S. Patents 3,226,694, 3,408,630,

030028/0822030028/0822

3 221 309 und 3 693 162 verwiesen.3,221,309 and 3,693,162.

Im allgemeinen werden sowohl Befehle als auch Datenoperanden für die Bearbeitung in verschiedenen adressierbaren Speicherplätzen des gleichen Hauptspeichers gespeichert. Darüber hinaus können die Befehle weiterhin in Gruppen gruppiert sein, die Subroutinen bilden. Dies erfordert, daß Adresspeicherplätze im voraus zugeordnet werden, wenn das Programm einer Subroutine für ein spezielles Problem ermittelt wird. Darüber hinaus muß der Programmierer, wenn die Subroutine später modifiziert wird, nicht nur die ursprüngliche Speicherzuteilung, sondern auch die späteren Modifikationen berücksichtigen. Um die Programmierung unabhängig von den tatsächlichen Adresspeicherplätzen in dem Hauptspeicher zu machen, kann auf eine indirekte Adressierung zurückgegriffen werden. Mit Hilfe von Indexregistern können Gruppen von Daten oder Programme verwendet werden, ohne daß spezifische Adressspeicherplätze jedem Wort in der Gruppe zum Zeitpunkt der Programmerstellung zugeordnet werden müssen. Obgleich die absolute Adresse später in den Speicherplatz eingesetzt wird, auf den durch den Befehl Bezug genommen wird, kann sie bei jedem Programmablauf verschieden sein, was davon abhängt, wo die Gruppe durch das Bearbeitungsprogramm in dem Hauptspeicher abgelegt wird. Da die Gruppe indirekt durch eine Anzahl von Anweisungen adressiert werden kann, bleibt die Adresse der Anweisungen unverändert und es wird nur die absolute Adresse der Gruppe geändert, wenn der Speicherplatz der Gruppe modifiziert wird. Diese Technik erfordert im allgemeinen spezielle Worte, die als Deskriptoren bekannt sind und die an die Stelle von Operandenworten oder Befehlsworten im Speicher treten. Wenn ein Befehl das Auslesen eines Operandenwortes aus dem Speicher hervorruft, so kann er ein Daten-Deskriptorwort finden, welches eine Basisadresse einer Gruppe von Worten umfaßt und welches ferner Information enthält, die es als ein Deskriptorwort anstelle eines Operandenwortes festlegen. Das Deskriptorwort kann darüber hinaus eine Information bezüglich der Länge der Befehlsgruppe bzw. Datengruppe und eine Information aufweisen, die anzeigt, ob eine Indizierung erforderlich ist oder nicht. In diesem Zusammenhang sei auf die US-In general, both instructions and data operands are used for the processing is stored in different addressable memory locations of the same main memory. In addition, you can the commands can still be grouped in groups that form subroutines. This requires address storage locations to be allocated in advance when determining the program of a subroutine for a specific problem. In addition, the programmer must if the subroutine is later modified, not only the original memory allocation but also the later modifications consider. In order to allow the programming to be independent of the actual address storage locations in the main memory indirect addressing can be used. With the help of index registers groups of data or programs are used without having specific address locations for each word in the group at the time the program is created must be assigned. Although the absolute address is later put in the memory location on the is referenced by the instruction, it can be different for each program flow, depending on where the group is passing through the machining program is stored in the main memory. Because the group is addressed indirectly through a number of instructions the address of the instructions remains unchanged and only the absolute address of the group is changed if the group's storage space is modified. This technique generally requires special words to act as descriptors are known and which take the place of operand words or command words in the memory. When a command is reading out of an operand word from the memory, it can find a data descriptor word which is a base address of a Group of words and which further includes information defining it as a descriptor word instead of an operand word. The descriptor word can also contain information relating to the length of the command group or data group and a Have information that indicates whether indexing is required is or not. In this context, the US

030028/0822030028/0822

Patentschriften 3 938 096 und 3 222 649 verwiesen.See patents 3,938,096 and 3,222,649.

Während es bei einer Unterbrechungsoperation wünschenswert ist, Operanden oder Befehle in Gruppen anzuordnen, die irgendwo im Hauptspeicher abgelegt werden können, ist es andererseits gerade wünschenswert, daß die Adressen der Deskriptoren oder der indirekten Adressenworte anderen Typs festliegen. Dies kann durch einen zentralen Speicherplatz geschehen, wie beispielsweise ein Segment oder eine Tabelle für die Speicherung solcher Worte. Beide Verfahren sind verhältnismäßig langsam, wobei das eine Verfahren verschiedene Zugriffe auf den Hauptspeicher mittels indirekter Adressierung der Deskriptoren erfordert, während das andere Verfahren den Vergleich der Anweisung bzw. des Funktionscodewortes mit den in der Tabelle gespeicherten Worten erfordert. Darüber hinaus erfordern diese Verfahren einen beträchtlichen Speicherplatz. Wenn ein Mikroprozessor verwendet wird, so muß dieser Speicherplatz und die Geschwindigkeit mit teuerem Geld erkauft werden. Es ist daher eine Hardwaretechnik für die Unterbrechung durch eine indirekte Adressierung irgendeines vorbestimmten Speicherplatzes erforderlich, die schnell arbeitet und sparsam bei der Verwendung des Prozessors und des Hauptspeicher-Speicherplatzes umgeht.While in an interrupt operation it is desirable to arrange operands or instructions in groups that are somewhere in the Main memory can be stored, on the other hand, it is just desirable that the addresses of the descriptors or the indirect Address words of a different type are fixed. This can be done through a central storage location, such as a segment or a table for storing such words. Both processes are relatively slow, with one being requires different accesses to the main memory by means of indirect addressing of the descriptors, while the other method requires the comparison of the instruction or the function code word with the words stored in the table. About that in addition, these methods require a considerable amount of memory. If a microprocessor is used, it must Storage space and speed are bought with expensive money. It is therefore a hardware technique for the interruption required by indirect addressing of some predetermined memory location that is fast and economical when using the processor and main memory space.

Es ist die Aufgabe der vorliegenden Erfindung, eine verbesserte Einrichtung zur Auflösung der Prioritätsrangfolge einer Anzahl von Geräten oder Dialogkanälen anzugeben, die Zugriff zu einem Prozessor anfordern. Hierbei sollen Kanalprogramine von einem Gerät mit höherer Friorität abgefangen werden können. Die Lösung dieser Aufgabe gelingt gemäß der in den Ansprüchen gekennzeichneten Erfindung.It is the object of the present invention to provide an improved means for resolving the priority order of a number of devices or dialog channels that request access to a processor. Here channel programs should be from one Device with a higher priority can be intercepted. This object is achieved in accordance with what is characterized in the claims Invention.

Die Hardwareeinrichtung für die Unterbrechung eines Bearbeitungsprogrammes verwendet eine indirekte Adressiermethode. Im bevorzugten Ausführungsbeispiel speichern vorbestimmte Speicherplätze im Hauptspeicher das hochwertige und niedrigwertige Byte eines Unterbrechungsvektors. Wenn der Speicherplatz in dem Hauptspeicher,The hardware device for interrupting a machining program uses an indirect addressing method. In the preferred embodiment, predetermined storage locations store the high and low byte of an interrupt vector in main memory. If the storage space in the main memory,

030028/0822030028/0822

der das hochwertige Byte des Unterbrechungsvektors speichert, durch den Mikroprozessor adressiert wird, so wird die hochwertige Position des Programinzählers des Mikroprozessors mit dem hochwertigen Byte des Unterbrechungsvektors versehen. Wenn jedoch das niedrigwertige Byte des Unterbrechungsvektors adressiert wird, so werden die Bits der Adresse verschiedenen Hardwareeinrichtungen in der Zentraleinheit CPU zugeführt, wodurch der normale Adressiermechanismus der Zentraleinheit gesperrt wird und ein indirekter Adressiermechanismus freigegeben wird. Die indirekte Adressierung liefert eine ausgewählte Adresse für einen von 64 Speicherplätzen in dem Festwertspeicher ROM oder PROM des Mikroprozessors. Der Inhalt dieser ausgewählten Adresse liefert eine zweite Adresse, die in der niedrigwertigen Byteposition des Programmzählers des Mikroprozessors abgelegt wird, wodurch eine absolute Adresse eines gesuchten Speicherplatzes im Hauptspeicher vorgegeben wird, an welchem die Unterbrechungs-Subroutine gespeichert ist. Somit kann irgendeine von 64 Unterbrechungs-Subroutinen mit einem Minimum an Speicherplatzanforderung rasch aufgerufen werden.which stores the high value byte of the interrupt vector is addressed by the microprocessor, the high value The position of the program counter of the microprocessor is provided with the high value byte of the interrupt vector. if however, the low byte of the interrupt vector is addressed, the bits of the address become various hardware devices in the central processing unit CPU, whereby the normal addressing mechanism of the central processing unit is blocked and an indirect addressing mechanism is enabled. Indirect addressing provides a selected address for one of 64 memory locations in the read-only memory ROM or PROM of the microprocessor. The content of this selected address supplies a second address, which is stored in the low-order byte position of the program counter of the microprocessor, whereby an absolute address of a searched memory location in main memory is specified, at which the interrupt subroutine is stored. Thus, any of 64 interrupt subroutines can be executed with a minimum of memory footprint can be called up quickly.

Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles sei im folgenden die Erfindung näher beschrieben. Es zeigen:Based on one shown in the figures of the accompanying drawing Exemplary embodiment is described in more detail below, the invention. Show it:

Fig. 1A ein schematisches Blockdiagramm des bevorzugten Ausführungsbeispieles der Erfindung.Figure 1A is a schematic block diagram of the preferred Embodiment of the invention.

Fig. 1B ein schematisches Diagramm des typischen Adressierformats der Erfindung.Figure 1B is a schematic diagram of the typical addressing format of the invention.

Fig. 1C eine Aufteilung des Festwertspeichers PROM1C shows a division of the read-only memory PROM

Fig. 2A ein schematisches Diagramm der typischen Organisation des realen Speichers gemäß der Erfindung.Figure 2A is a schematic diagram of the typical organization of real memory in accordance with the invention.

Fig. 2B ein scheir.atisches Diagramm der typischen Organisation des virtuellen Speichers gemäß der Erfindung .Figure 2B is a schematic diagram of the typical organization of the virtual memory according to the invention.

030028/0822030028/0822

Fig. 3, 4, 4A, 4B, 4C, 4D, 5A, 5B und 7 Diagramme des Figures 3, 4, 4A, 4B, 4C, 4D, 5A, 5B and 7 are diagrams of the

bevorzugten Ausführungsbeispieles der Erfindung. preferred embodiment of the invention.

Fig. 6A eine Flußdiagrammbeschreibung von Teilen der Erfindung.Figure 6A is a flow chart description of portions of the invention.

Fig. 6B ein Zeittaktdiagramin. zur Erläuterung der Erfindung. Figure 6B is a timing diagram. to explain the invention.

Die Zeichnungen zeigen eine Einrichtung zur Bildung der Priorität einer Anzahl von E/A-Geräten in Übereinstimmung mit einer Anzahl von vorgeschriebenen Regeln.The drawings show means for prioritizing a number of I / O devices in accordance with one Number of mandatory rules.

Ein programmierbarer Festwertspeicher PROM-384 (Fig. 4D) in integrierter Schaltkreistechr.ik gestattet eine vereinfachte Frioritätsauflösung mit hoher Geschwindigkeit. Die verschiedenen Ein/Ausgabe-Geräte 6 20 (Fig. 5A) wirken über Kanalprograrrjne mit dem Mikroprozessor zusammen. Jedes E/A-Gerät weist seine Anforderungs-Signalleitang auf, die an den Adressen-Eingangsanschluß des Festwertspeichers PROM angeschlossen ist.A programmable read only memory PROM-384 (Fig. 4D) in Integrated circuit technology allows for simplified high-speed priority resolution. The different Input / output devices 6 20 (FIG. 5A) participate via channel programs the microprocessor together. Each I / O device has its own request signal line which is connected to the address input terminal of the read-only memory PROM.

Beispielsweise besitzt der Empfänger/Sender USART-116 für die Leitung 0 eine Enpfangsanforderungs-Signalleitung und eine Sendeanforderungs-Signal]eitung, die an die Eingangs-AdressanschlÜEse 1 und 2 des Festwertspeichers PROM-384 entsprechend angeschlossen sind. Der Empfänger/Sender ÜSART-117 für die Leitung 1 besitzt Empfangs- und Sendeanforderungssignalleitungen, die an die Eingangs-Adressanschlüsse 3 und 4 des Festwertspeichers PROM-384 angeschlossen sind. Eine Mikroprozessor-Anforderungsleitung ist mit dem Eingangs-Adressanschluß 0 des Festwertspeichers PROM-384 verbunden. Ferner werden den Eingangs-Adressanschlüssen des Festwertspeichers Signale zugeführt, die die Kanalnu-^ier des gerade aktiven Kanalprogrammes anzeigen. Die Ausgangssignale des Festwertspeichers PROM umfassen die Kanalnummer des abfangenden E/A-Gerätes und ein Signal, um anzuzeigen, daß ein E/A-Gerät mit höherer Priorität Zugriff zu dem Programm anfordert.For example, the receiver / transmitter has USART-116 for the Line 0, a reception request signal line and a Send request signal line to the input address connections 1 and 2 of the read-only memory PROM-384 accordingly are connected. The receiver / transmitter ÜSART-117 for the Line 1 has receive and send request signal lines, which are connected to the input address connections 3 and 4 of the read-only memory PROM-384. A microprocessor request line is connected to the input address connection 0 of the read-only memory PROM-384. Furthermore, the input address connections of the read-only memory are supplied with signals that indicate the channel number of the currently active channel program. The output signals of the read-only memory PROM include the channel number of the intercepting I / O device and a signal to indicate that a higher priority I / O device is requesting access to the program.

030028/0822030028/0822

Dem Fachmann liegt es auf der Hand, daß zu jeden bestimmten Zeitpunkt eine Anzahl von Geräten das Kanalprograrnm anfordern kann, wobei ein bestimmtes Gerät mit dem Kanalprogramm zusammenarbeitet. Jeder dieser Zustände zu diesem Zeitpunkt wird durch ein PROM-Adressignal wiedergegeben, das einen bestimmten PROM-Speicherplatz auswählt. In diesem Speicherplatz ist permanent eine Bitkonfiguration abgelegt, die das Gerät mit höherer Priorität anzeigt und die anzeigt-, ob dieses Gerät das Kanalprogramm abfangen soll, wenn das gegenwärtige Gerät seine Kanalprogramm-Subroutine beendet hat.It is obvious to a person skilled in the art that a number of devices can request the channel program at any particular point in time, with a particular device cooperating with the channel program. Each of these states at this point in time is represented by a PROM address signal which selects a particular PROM memory location. A bit configuration is permanently stored in this memory location, which indicates the device with higher priority and which indicates whether this device should intercept the channel program when the current device has completed its channel program subroutine.

Einige typische Situationen im Hinblick auf die Empfänger/Sender USART werden folgendermaßen gelöst:Some typical situations with regard to the USART receivers / transmitters are solved as follows:

Wenn beide Empfänger/Sender USART 116 und 117 synchron betrieben werden, so wird der Empfangsoperation die Priorität zugeordnet.If both receivers / transmitters USART 116 and 117 are operated synchronously priority is given to the receive operation.

Wenn beide Leitungen nicht synchron sind, so besitzt der Empfänger/Sender USART 116 Priorität gegenüber dem Empfänger/Sender USART 117. If both lines are not synchronous, the receiver / transmitter USART 116 has priority over the receiver / transmitter USART 117.

Das auf dem Mikroprozessor 101 ablaufende Hintergrundprogramm besitzt Priorität gegenüber beiden Empfängern/Sendern USART 116 und 117. The background program running on the microprocessor 101 has priority over the two receivers / transmitters USART 116 and 117.

Wenn sich der Empfänger/Sender USART 116 im Sendebetrieb befand und der Empfänger/Sender USART 117 das Kanalprogramm für eine Empfangsoperation anforderte, so schaltet das Kanalprogramm nach der Bedienung des L1SART 116 auf die Bedienung des USART 117 um.If the receiver / transmitter USART 116 was in transmit mode and the receiver / transmitter USART 117 requested the channel program for a receive operation , the channel program switches over to the USART 117 after the L 1 SART 116 has been operated.

Die Einrichtung bildet ein Mittel für den Abfang des Kanalprogrammes bei der Bearbeitung einer unterschiedlichen Dialogleitung zu einem Zeitpunkt in dem Kanalprogramm, wo sehr wenig Information zu speichern ist. Die Beendigung einer Mikroprogramm-Subroutine des Mikroprozessors ist gerade ein solcher Zeitpunkt.The facility forms a means for intercepting the sewer program when processing a different line of dialogue at a time in the channel program where very little Information is to be stored. The termination of a microprogram subroutine of the microprocessor is just such a point in time.

030028/0822030028/0822

Die Mikroprozessor-Subroutine endet mit einem Sprung zu der Adresse BD401g (7E BD40). Das Adressignal BD401g enthält einen Befehl, der durch den Mikroprozessor als ein "Rückstell-Unterbrechungsmaske"-Mikrowort interpretiert wird, durch welches die Mikroprozessor-Unterbrechungsleitung freigegeben wird. Wenn keine unerledigte Unterbrechungsanforderung vorliegt, so schreitet das Programm sodann zu der Adresse BD41.., weiter. Die BD41-Signale auf dem Adressbus geben ein Befehlsregister frei und sperren den normalen Speicher-Lesedatenweg 110. Wenn eine andere Dialogleitung den Abfang des Kanalprogrammes anfordert, so erscheint das in dem Befehlsregister Gespeicherte Mikrowort NO OP 01,,The microprocessor subroutine ends with a jump to address BD40 1g (7E BD40). The address signal BD40 1g contains a command which is interpreted by the microprocessor as a "reset interrupt mask" microword, by means of which the microprocessor interrupt line is released. If there is no pending interrupt request, the program then advances to address BD41 ... The BD41 signals on the address bus enable a command register and block the normal memory read data path 110. If another dialog line requests the interception of the channel program, the microword NO OP 01, stored in the command register, appears.

idid

auf dem U-Bus, was dazu führt, daß der Mikroprozessor die Adresse BD42 aussendet, welche den Start der Behandlungsroutine für die Abfangoperation vorgibt. Wenn kein Abfang vorliegt, so ist das "Rückkehr von der Subroutine"-Mikrowort 39.., auf dem U-Bus gespeichert, wodurch der Mikroprozessor normal zu der Bearbeitung des laufenden Kanalprogrammes zurückkehrt.on the U-bus, which leads to the fact that the microprocessor sends out the address BD42, which starts the handling routine for the Interception pretends. If there is no interception, the "return from subroutine" microword 39 .. is stored on the U-bus, whereby the microprocessor returns normally to processing the current channel program.

Gemäß Fig. 1A ist ein Blockdiagramm eines bevorzugten Ausführungsbeispieles der Erfindung dargestellt, das ebenfalls den Informationsfluß und die Modifikation der Information für eine verbesserte Adressierung zeigt. Ein Mikroprozessor 101, der durch den im Handel erhältlichen Typ 6800 der Firma Motorola Inc. vorgegeben sein kann, verwendet einen Adressbus 102 mit 16 Bit zur Adressierung des Hauptspeichers 108. Es ergibt sich somit eine Adressiermöglichkeit für 64K-Bytes des Hauptspeichers 108. Die Formate des Befehls sind in Fig. 1B dargestellt. Es gibt in erster Linie zwei Formate, von denen das eine einen Operationscode mit 8 Bit und ein Byte a mit 8 Bit aufweist, während das andere einen Operationscode von 8 Bit, ein Byte a mit 8 Bit und ein Byte b mit 8 Bit aufweist. Um Speicherplatz und Zykluszeit zu sparen, ist es vorteilhafter, nur das Byte b zu verwenden. Dementsprechend benutzt bei der schematischen Darstellung gemäß Fig. 1A das Register 103 die ersten 5 hochwertigen Bits 8, 9, 10, 11 und 12, um den Seitenunterteilungs-Signalgenerator 105 zu adressieren. Dieser Generator 105 ist ein integrierter Schaltkreis, der unter der Typnummer 5610 im Handel erhältlich ist und von der Firma Motorola Inc. hergestellt wird. Der Seitenunterteilungs-Signal-Referring to Fig. 1A, there is shown a block diagram of a preferred embodiment of the invention which also illustrates the flow of information and shows the modification of the information for improved addressing. A microprocessor 101 implemented by the im Commercially available type 6800 from Motorola Inc. may be specified, uses an address bus 102 with 16 bits for addressing of the main memory 108. This results in an addressing option for 64K bytes of the main memory 108. The formats of the command are shown in Figure 1B. There are primarily two formats, one of which is an 8-bit opcode and one byte a having 8 bits, while the other has an operation code of 8 bits, a byte a having 8 bits and a byte b having 8 bits. In order to save storage space and cycle time, it is more advantageous to only use byte b. Accordingly In the schematic representation according to FIG. 1A, the register 103 uses the first 5 high-value bits 8, 9, 10, 11 and 12, to address the page division signal generator 105. This generator 105 is an integrated circuit, which under type number 5610 is commercially available and manufactured by Motorola Inc. The side divider signal

030028/0822030028/0822

generator 105 speichert 32 Worte, die durch die Bits 8-12 des Bytes b adressiert werden können. Da 5 Bits verwendet werden, um den Seitenunterteilungs-Signalgenerator zu adressieren, kann jedes der 32 Worte adressiert werden. Der interne Schaltkreis des Generators 105 ist dergestalt, daß bei der Adressierung der ersten 8 Worte, d. h. bis zu der Adresse 07 das Signal CPGLIN aktiviert wird, d. h. den niedrigen Pegel einnimmt. Wenn die nächsten 4 Worte des Signalgenerators 105 adressiert werden, d. h. die Adressen 8-11, so werden beide Signale CPGLIN und CPGDIR aktiviert. Wenn das nächste Wort 13 unter der Adresse 12 adressiert wird, so sind alle folgenden Signale aktiviert: CPGLIN, CPGDIR, CPGCCB und CPGAD4. Der Seitenunterteilungs-Signalgenerator 105 wird freigegeben, wenn ein Ausgangssignal mit niedrigem Pegel von dem Mikroprozessor 101 an seinem Eingangsanschluß E vorliegt. Ein Eingangssignal mit niedrigem Pegel wird von dem Ausgang des NOR-Gatters 104 an den Eingangsanschluß E des Seitenunterteilungs-Signalgenerators 105 angelegt, wenn alle Eingangsbits 1-8 des Bytes a den niedrigen Pegel bzw. den Wert "0" aufweisen. Diese Bits 1-8 des Bytes a besitzen den Wert "0", wenn eine Modifikation der durch das Byte a und b gebildeten 16 Bit-Adresse gewünscht ist. Wenn alle Bits des Bytes a den Wert "0" aufweisen, so ergibt sich dementsprechend ein Signal mit niedrigem Pegel am Ausgang des NOR-Gatters 104, das dem Eingangsanschluß E des Signalgenerators 105 zu dessen Freigabe zugeführt wird. Wenn der Seitenunterteil'ungs-Signalgenerator freigegeben ist, so wird einer der Steuersignal-Speicherplätze 105a durch die Bits 9-13 des Bytes b freigegeben. Wenn eines dieser Steuersignale 105a wirksam ist, d. h. den niedrigen Pegel aufweist, so wird die virtuelle 16 Bit-Adresse 106 zu der realen Adresse 107 modifiziert, welche sodann den Hauptspeicher 108 adressiert. Wenn keines der Steuersignale 105a wirksam ist, so ist die 16 Bit-Adresse 106 identisch zu der 16 Bit-Adresse 107 und es tritt keine Modifikation bei der Adressierung des Speichers 108 auf. Der Mechanismus zur Ausführung dieser Modifikation wird später in näheren Einzelheiten im Zusammenhang mit Fig. 3 erläutert. Nimmt man daher an, daß das Steuersignal CPGCCB wirksam ist, so wird das Bit 11 dergenerator 105 stores 32 words that can be addressed by bits 8-12 of byte b. Since 5 bits are used, to address the page division signal generator, any of the 32 words can be addressed. The internal circuit of the generator 105 is such that when addressing the first 8 words, i. H. up to address 07 the signal CPGLIN is activated, d. H. takes the low level. When the next 4 words of the signal generator 105 are addressed, d. H. addresses 8-11, both signals CPGLIN and CPGDIR are activated. If the next word is 13 at address 12 is addressed, all of the following signals are activated: CPGLIN, CPGDIR, CPGCCB and CPGAD4. The page division signal generator 105 is enabled when a low level output signal from the microprocessor 101 is at its input terminal E is present. A low level input signal is supplied to the input terminal E from the output of the NOR gate 104 of the page division signal generator 105 is applied when all input bits 1-8 of byte a are low or the Have the value "0". These bits 1-8 of byte a have the value "0" if a modification of the one formed by byte a and b 16 bit address is required. If all bits of byte a have the value "0", a corresponding signal results with a low level at the output of the NOR gate 104, which is the input terminal E of the signal generator 105 to enable it is fed. When the page subdivision signal generator is enabled, one of the control signal storage locations becomes 105a enabled by bits 9-13 of byte b. When one of these control signals 105a is active, i. H. the low one Level, then the virtual 16-bit address 106 is modified to the real address 107, which then the main memory 108 addressed. If none of the control signals 105a is effective, then the 16-bit address 106 is identical to that 16 bit address 107 and there is no modification in the addressing of memory 108. The mechanism for execution this modification will be explained in more detail later in connection with FIG. Therefore, if one assumes that the control signal CPGCCB is effective, bit 11 becomes the

030028/0822030028/0822

ORIGINAL INSPECTEDORIGINAL INSPECTED

virtuellen Adresse durch das Bit an der PositionOC des CCB-Registers 115 ersetzt und das Bit 12 wird durch das Bit an der Position /S in dem CCB-Register 115 ersetzt, um die reale Adresse zu bilden. Wenn das Steuersignal CPGDIR wirksam ist, so wird das Bit 10 der virtuellen Adresse durch das Bit D des Kanalregisters 114 ersetzt. Ist das Steuersignal CPGLIN wirksam, so wird das Bit 9 der virtuellen Adresse durch das Bit M des CH-Registers 114 ersetzt und das Bit 8 der virtuellen Adresse wird durch das Bit H des CH-Registers 114 ersetzt. Wenn das Steuersignal CPGAD8 wirksam ist, so wird das Bit 7 der virtuellen Adresse durch den Wert "1" ersetzt. Schließlich werden, wenn das Steuersignal CPGAD4 wirksam ist, die Bits 4, 5 und 6 der virtuellen Adresse durch den Wert "1" ersetzt.virtual address by the bit at positionOC of the CCB register 115 is replaced and bit 12 is replaced by the bit on the Replaced position / S in CCB register 115 to form the real address. If the control signal CPGDIR is effective, bit 10 of the virtual address is replaced by bit D of channel register 114. If the control signal CPGLIN is effective, so bit 9 of the virtual address is replaced by bit M of CH register 114 and bit 8 of the virtual address becomes replaced by bit H of CH register 114. When the control signal CPGAD8 is active, bit 7 becomes the virtual Address replaced by the value "1". Finally, when control signal CPGAD4 is asserted, bits 4, 5 and 6 of the virtual address is replaced by the value "1".

Das Signal CE$U2ü wird verwendet, um die Leitungsnummer eines ausgewählten Eir.pfänger/Senders USART116 bzw. 117 zu adressieren. Derartige Empfänger/Sender werden von der Firma Texas Instrument unter der Typnununer 74LS24 5 im Handel vertrieben. Das Steuersignal CEI02U gibt den I-Bus 113 über den Zweirichtungs-Bustreiber 111 frei. Diese Zweirichtungs-Bustreiber sind ebenfalls im Handel unter der Typnummer 74LS245 von der Firma Texas Instruments erhältlich. Das Signal CE102U gestattet einen Dialog des I-Bus 113 mit dem ü-Bus 112, während das Signal CEU2I0 einen Dialog des U-Bus 112 mit dem I-Bus 113 gestattet. An den I-Bus können verschiedene Register angeschlossen sein, um Dialoginformation zu speichern. Einige typische solche Register sind beispielsweise das Hochwertigkeits-Datenregister 120, das Niedrigwertigkeits-Datenregister 121, das Kanalnummernregister und das Statusregister 123. Diese Register stehen mit dem Mikroprozessor über den I-Bus 113 und den U-Bus 112 und mit dem Hauptspeicher 108 über den I-Bus 113 und den M-Bus 109 in Nachrichtenverbindung. Für den verschiedenen Anschluß an den I-Bus 113 für einen Dialog mit dem Hauptspeicher 108 und mit dem Mikroprozessor 101 ist es erforderlich, im Hauptspeicher für verschiedene Leitungen und Kanäle, die jedem Dialoganschluß zugeordnet sind, Speicherplatz zuzuteilen. Gemäß Fig. 2A ist erkennbar, daß ein Teil des Speicherplatzbereiches des realen Speichers 200 fürThe signal CE $ U2ü is used to address the line number of a selected receiver / transmitter USART116 or 117. Such receivers / transmitters are sold by the company Texas Instrument under the type now 74LS24 5 in the trade. The control signal CEI02U enables the I-bus 113 via the bidirectional bus driver 111. These bidirectional bus drivers are also commercially available from Texas Instruments under type number 74LS245. The signal CE102U allows a dialogue between the I-bus 113 and the u-bus 112, while the signal CEU2I0 allows a dialogue between the U-bus 112 and the I-bus 113. Various registers can be connected to the I-bus in order to store dialog information. Some typical such registers are, for example, the high order data register 120, the low order data register 121, the channel number register and the status register 123. These registers are connected to the microprocessor via the I-bus 113 and the U-bus 112 and with the main memory 108 via the I-bus 113 and the M-bus 109 in communication. For the different connection to the I-bus 113 for a dialog with the main memory 108 and with the microprocessor 101, it is necessary to allocate memory space in the main memory for different lines and channels which are assigned to each dialog connection. According to Fig. 2A it can be seen that part of the storage space area of the real memory 200 for

030028/0822030028/0822

die Zeilen 0-3 reserviert ist. Jede Zeile umfaßt 64 Bytes und die Gesamtheit von 4 Zeilen 0-3 beinhaltet den Speicherplatz für die Logiktabelle LCT. Jede Zeile 0-3 ist ferner in zwei Kanäle mit jeweils 32 Bytes unterteilt. Dementsprechend gibt es 8 Kanäle mit 32 Bytes, die die 4 Zeilen mit 64 Bytes der Logiktabelle LCT umfassen. Die nächsten 256 Bytes sind für Kanal-Anweisungsprogramme CCP reserviert. Es gibt ferner 3 bis 4 K-Bytes, welche zusammen mit dem unbenutzten Speicherplatz für Kanal-Anweisungsprogramme CCP reserviert sind. Unterhalb dieses Speicherplatzes gibt es zusätzliche 256 Bytes, die für den Kanal-Steuerblock CCB reserviert sind. Wie bei dem Speicherplatz für die Logiktabelle LCT ist jeder Zeile 0-3 ein Steuerblock CCB von 64 Bytes jeweils zugeordnet, der in zwei Kanäle mit 32 Bytes jeweils unterteilt ist. Unterhalb dieses Speicherraumes ist Speicherplatz für den Firmware-Arbeitsspeicher reserviert. Demgemäß ist erkennbar, daß jeder Zeile 0-3 ein Speicherraum der Logiktabelle LCT und des Steuerblockes CCB zugeordnet ist, der jeweils in zwei Kanäle unterteilt ist. Ein Teil des im Zusammenhang mit Fig. 1A beschriebenen Adressiermechanismus adressiert alle diese Speicherplätze. Um dies jedoch zu bewerkstelligen, müssen die zwei Adressbytes a und b genommen werden, da ein Adressbyte 8 Bits umfaßt und mit 8 Bit nur 256 Speicherplätze adressiert werden können. Wie Fig. 2A zu entnehmen ist, sind jedoch 768 Speicherplätze (3 χ 256) vorgesehen, wobei die 3K/4K-Speicherplätze noch nicht berücksichtigt sind. Diese 256 Speicherplätze sind die am häufigsten adressierten Speicherplätze, da die Zeilen 0-3 einen konstanten Dialog mit den Logiktabellen LCD, den Steuerblöcken CCB und der Firmware ausführen müssen. Zur Adressierung der 768 Speicherplätze ist es sehr unwirksam, die 16 Bit-Adresse zu verwenden, die normalerweise über 64.000 Speicherplätze adressieren kann. Durch eine 8 Bit-Adresse können jedoch nur 25t Speicherplätze adressiert werden. Die vorliegende Erfindung gestattet die Adressierung der 768 Speicherplätze durch die ersten 5 Bits 8-12 des b-Bytes 103, indem die Modifikation der virtuellen Adresse von Fig. 2B in der zuvor erläuterten Weise ermöglicht wird. Durch diese kurze Form der Adressierung wird somit Zykluszeit und Speicherraum gespart.lines 0-3 is reserved. Each line comprises 64 bytes and the total of 4 lines 0-3 contains the storage space for the logic table LCT. Each line 0-3 is further divided into two channels of 32 bytes each. Accordingly there there are 8 channels with 32 bytes, which comprise the 4 lines with 64 bytes of the logic table LCT. The next 256 bytes are for Channel instruction programs CCP reserved. There are also 3 to 4 K bytes that go along with the unused space are reserved for channel instruction programs CCP. Below this space there is an additional 256 bytes that are used for the channel control block CCB are reserved. As with the storage space for the logic table LCT, each line 0-3 is a control block CCB of 64 bytes each allocated, which is divided into two channels of 32 bytes each. Below this storage space space is reserved for the firmware main memory. Accordingly, it can be seen that each line 0-3 has a memory space the logic table LCT and the control block CCB is assigned, each of which is divided into two channels. A part the addressing mechanism described in connection with FIG. 1A addresses all of these storage locations. To do this, however, the two address bytes a and b must be taken because an address byte comprises 8 bits and only 256 memory locations can be addressed with 8 bits. As can be seen in FIG. 2A However, 768 memory locations (3 χ 256) are provided, whereby the 3K / 4K memory locations are not yet taken into account. These 256 memory locations are the most frequently addressed memory locations, as lines 0-3 maintain a constant dialog with the logic tables LCD, the control blocks CCB and the firmware. To address the 768 memory locations is it is very ineffective to use the 16-bit address, which can normally address over 64,000 memory locations. By However, an 8-bit address can only address 25t memory locations. The present invention allows addressing of the 768 memory locations by the first 5 bits 8-12 of the b-byte 103 by modifying the virtual address of Fig. 2B is made possible in the manner explained above. With this short form of addressing, cycle time and Saved storage space.

030028/0822030028/0822

Gemäß Fig. 1C ist das Logikschema des Seitenunterteilungs-Signalgenerators 105, d. h. des Seitenunterteilungs-PROM300 dargestellt. Das Schema ist aus sich selbst heraus verständlich. Die Adress-Speicherplätze sind in verschiedenen Zahlensystemen in den ersten drei Spalten dargestellt, während die letzte Spalte, die an diesem Adress-Speicherplatz tatsächlich gespeicherte Information enthält. Die vierte Spalte legt die hexadezimalen Speicherplätze fest, die den gleichen Inhalt aufweisen. Referring to Figure 1C, the logic diagram of the page division signal generator is 105, d. H. of the page divider PROM300 shown. The scheme is self-explanatory. The address memory locations are in different number systems is shown in the first three columns, while the last column is the one actually saved at this address memory location Contains information. The fourth column defines the hexadecimal storage locations that have the same content.

Gemäß Fig. 2B sind 256 Speicherplätze in dem Speicher 201 dargestellt, der als virtueller Speicher reserviert ist. Die ersten 64 Speicherplätze bzw. Bytes sind dezimal von 0 bis 63 und hexadezimal von 0 bis 3F numeriert und sie umfassen die Logiktabelle LCT der laufenden von dem Anweisungsprogramm CCP benutzten Zeile. Die nächsten 32 Speicherplätze bzw. Bytes an den dezimalen Speicherplätzen 64-95 und den hexadezimalen Speicherplätzen 40-5F sind für die Logiktabelle LCD des laufenden von der Firmware benutzten Kanales reserviert. Die nächsten 8 Speicherplätze bzw. Bytes entsprechend den dezimalen Speicherstellen 96-102 bzw. den hexadezimalen Speicherplätzen 60-67 sind für den aktiven Steuerblock CCB des laufenden Kanales reserviert. Es folgt sodann ein unbenutzter Speicherraum und danach drei Speicherplätze für jeweils 8 Byte, die für den Empfänger/Sender USART der laufenden Zeile den abgedeckten Empfänger/Sender USART der laufenden Zeile und die Erweiterung der Logiktabelle LCT des laufenden Kanales reserviert sind.According to FIG. 2B, 256 memory locations are shown in the memory 201, which is reserved as virtual memory. The first 64 memory locations or bytes are decimal from 0 to 63 and hexadecimal numbered from 0 to 3F and they comprise the logic table LCT of the current line used by the instruction program CCP. The next 32 memory locations or bytes in the decimal memory locations 64-95 and the hexadecimal memory locations 40-5F are for the logic table LCD of the current firmware used channel reserved. The next 8 memory locations or bytes correspond to the decimal memory locations 96-102 or the Hexadecimal storage locations 60-67 are for the active control block CCB of the current channel reserved. This is followed by an unused memory space and then three memory spaces for each 8 bytes, which for the receiver / sender USART of the current line, the covered receiver / sender USART of the current line and the extension of the logic table LCT of the current channel are reserved.

Ein typisches Beispiel veranschaulicht, wie das verbesserte Adressierschema der Erfindung arbeitet. Es sei daher angenommen, daß der Speicherplatz 5 der Zeile 0 des virtuellen Speichers 201 zu adressieren ist. Dementsprechend weisen alle Bits 0 bis 7 des Bytes a des Registers 103 den Wert "0" auf, wodurch das NOR-Gatter 104 und der Seitenunterteilungs-Signalgenerator 105 freigegeben werden. Die nächsten 5 Bit 8 bis 12 besitzen ebenfalls den Wert "0", während das Bit 13 den Wert "1M, das Bit 14 denA typical example illustrates how the improved addressing scheme of the invention works. It is therefore assumed that memory location 5 of row 0 of virtual memory 201 is to be addressed. Accordingly, all bits 0 to 7 of byte a of the register 103 have the value "0", whereby the NOR gate 104 and the page division signal generator 105 are enabled. The next 5 bits 8 to 12 also have the value "0", while bit 13 has the value "1 M , bit 14 denotes

030028/0822030028/0822

Wert "O" und das Bit 15 den Wert "1" aufweist, wodurch sich die Binäradresse 101 bzw. die Dezimaladresse 5 ergibt. Die virtuelle Adresse 106 weist ferner in den Bits 0 bis 12 den Wert "0" auf, wobei das Bit 13 den Wert "1", das Bit 14 den Wert "0" und das Bit 15 den Wert "1" aufweist. Das Steuersignal CPGLIN ist jedoch zusätzlich aktiv, da die Bits 8 bis 12 des Bytes b in dem Register 103 den Wert "0" besitzen. Es wurde vorher gezeigt, daß bei der Verwendung der Bits 8-12 zur Adressierung der ersten 8 Worte in dem Seitenunterteilungs-Signalgenerator 105 das Signal CPGLIN aktiv ist bzw. den niedrigen Pegel aufweist. Bei aktivem Signal CPGLIN werden die Bits 8 und 9 der virtuellen Adresse durch die Bits H und M des Kanalregisters 114 entsprechend ersetzt. Mit der anfänglichen Annahme, daß der Speicherplatz 5 der Zeile 0 adressiert wird, besitzen die Bits H und M des Kanalregisters 114 den Wert "0" und dementsprechend besitzen die Bits 8 und 9 der realen Adresse 107 ebenfalls den Wert "0". Die endgültige reale Adresse besitzt daher Bits 0-12 mit dem Wert 11O", das Bit 13 besitzt den Wert "1", das Bit 14 besitzt den Wert "0" und das Bit 15 besitzt den Wert "1", wodurch der fünfte Speicherplatz der Zeile 0 des realen Speichers adressiert wird.Value "O" and bit 15 has the value "1", which results in binary address 101 and decimal address 5. The virtual address 106 furthermore has the value “0” in the bits 0 to 12, the bit 13 having the value “1”, the bit 14 having the value “0” and the bit 15 having the value “1”. The control signal CPGLIN is also active, however, since bits 8 to 12 of byte b in register 103 have the value "0". It has previously been shown that when bits 8-12 are used to address the first 8 words in the page division signal generator 105, the CPGLIN signal is active or low. When the CPGLIN signal is active, bits 8 and 9 of the virtual address are correspondingly replaced by bits H and M of channel register 114. With the initial assumption that memory location 5 of line 0 is addressed, bits H and M of channel register 114 have the value "0" and accordingly bits 8 and 9 of real address 107 also have the value "0". The final real address therefore has bits 0-12 with the value 11 O ", bit 13 has the value" 1 ", bit 14 has the value" 0 "and bit 15 has the value" 1 ", whereby the fifth Memory location of line 0 of the real memory is addressed.

Um das Problem einen Schritt weiter zu entwickeln, sei nunmehr angenommen, daß der fünfte Speicherplatz in der Zeile 1 zu adressieren ist. Der Bitinhalt des Registers 103 und die virtuelle Adresse 106 werden sich gegenüber dem vorangegangenen Beispiel nicht geändert haben. Da jedoch nunmehr die Zeile 1 zu adressieren ist, besitzt das Kanalregister 114 den Wert "0" in seinem hochwertigen Bit H und einen Wert "1" in dem Bit M. Wenn dementsprechend das Signal CPGLIN erneut aktiviert wird, da die Bits 8-12 des Bytes b des Registers 103 alle den Wert "0" aufweisen, wird das Bit 8 der virtuellen Adresse 106 durch das Bit H des Kanalregisters 114 ersetzt, welches den Wert "0" aufweist und das Bit 9 der virtuellen Adresse 106 wird durch das mittlere Bit M des Kanalregisters 114 ersetzt, welches in diesem Beispiel den Wert "1" aufweist, da die Zeile 1 adressiert wird. Die reale Adresse 107 wird somit den Wert "0" in den Bitpotitionen 0 bis 8 aufweisen, das Bit 9 wird den Wert "1" besitzen, die Bits 10-12 verbleiben auf dem Wert "0",In order to develop the problem one step further, it is now assumed that the fifth memory location in row 1 is too address is. The bit content of the register 103 and the virtual address 106 will differ from the previous one Example have not changed. However, since line 1 is to be addressed now, the channel register 114 has the value "0" in its high-value bit H and a value "1" in the bit M. If the signal CPGLIN is activated again accordingly, since bits 8-12 of byte b of register 103 all have the value "0", bit 8 of virtual address 106 becomes through the bit H of the channel register 114 which has the value "0" is replaced and the bit 9 of the virtual address 106 is replaced by replaces the middle bit M of the channel register 114, which in this example has the value "1", since line 1 is being addressed. The real address 107 is thus the value "0" in the bit potentials 0 to 8, the bit 9 becomes the Have the value "1", bits 10-12 remain at the value "0",

030028/0822030028/0822

das Bit 13 besitzt noch den Wert "1", das Bit 14 besitzt noch den Wert "0" und das Bit 15 besitzt noch den Wert "1". Dementsprechend wird nunmehr der hexadezimale Speicherplatz 45 im realen Speicher adressiert, welcher der fünfte Speicherplatz der Zeile 1 ist. Es ist durch diese Überlegung leicht ersichtlich, daB am Speicherplatz 5 der Zeile 2 oder der Zeile 3 eine gleiche Adressierung erfolgen kann, indem lediglich die Bits H und M des Kanalregisters 114 durch die Bits 8 und 9 der virtuellen Adresse 106 ersetzt werden, um die reale Adresse 107 zu erhalten. bit 13 still has the value "1", bit 14 still has the value "0" and bit 15 still has the value "1". Correspondingly, the hexadecimal memory location 45 in the real memory, which is the fifth memory location in line 1, is now addressed. From this consideration it is easy to see that the same addressing can take place at memory location 5 of line 2 or line 3 by merely replacing bits H and M of channel register 114 with bits 8 and 9 of virtual address 106 to obtain the to get real address 107.

Gemäß Fig. 3 ist das detaillierte logische Blockdiagramm der Seitenunterteilungseinrichtung für die verbesserte Zuteilung von virtuellen Adressen zu realen Adressen dargestellt. Zunächst sei eine strukturelle Beschreibung gegeben, wobei die verschiedenen Strukturen von Fig. 3, dort wo es möglich ist, durch Elemente in Fig. 1A identifiziert werden. Danach sei die Betriebsweise der Struktur gemäß Fig. 3 beschrieben, um die verschiedenen ausgeführten Funktionen aufzuzeigen. Es sei der zuvor beschriebenen Fig. 1A entnommen, daß der Seitenunterteilungsmechanismus ausgelegt ist, um die Bits 4 bis 12 des virtuellen Adressformates 106 zu modifizieren und die endgültige reale Adresse 107 zu bilden, wobei die Bits 4 bis 12 entweder in Übereinstimmung mit den dargebotenen Signalen modifiziert werden oder nicht. Gemäß Fig. 3 sei vermerkt, daß die Multiplexer (MUX) 302, 303 und 304 und der Treiber 305 die Ausgangssignale auf den Leitungen 302A, 303A, 304A, 305A und 305B liefern, wobei diese Leitungen die modifizierten Bits 8 bis 12 der realen Adresse 107 darstellen. Der Multiplexer 301 und der Treiber 308 bilden die Ausgangssignale auf den Leitungen 301A, 308A, 308B und 308C, die die Bits 4 bis 7 der modifizierten realen Adresse 107 darstellen. Das Register 309 entspricht dem Register 114 in Fig. 1A und es speichert die Bits H, M und D und liefert diese Bits als Ausgangssignale auf die Leitungen 309A, 309B und 309C. Das Register 310 entspricht dem CCB-Register 115 in Fig. 1A und es speichert und liefert die OC- und ß> -Bits als Signalausgänge auf den Leitungen 310A und 310B.3 shows the detailed logical block diagram of the page subdivision device for the improved allocation of virtual addresses to real addresses. First, a structural description will be given, the various structures of Fig. 3 being identified by elements in Fig. 1A wherever possible. Thereafter, the operation of the structure of FIG. 3 will be described to show the various functions performed. Referring to Figure 1A previously described, the page dividing mechanism is designed to modify bits 4 through 12 of virtual address format 106 to form the final real address 107, bits 4 through 12 either in accordance with the presented signals be modified or not. Referring to Figure 3, it should be noted that multiplexers (MUX) 302, 303 and 304 and driver 305 provide the output signals on lines 302A, 303A, 304A, 305A and 305B, these lines being modified bits 8 through 12 of the real address 107 represent. Multiplexer 301 and driver 308 form the output signals on lines 301A, 308A, 308B and 308C, which represent bits 4 through 7 of the modified real address 107. Register 309 corresponds to register 114 in Figure 1A and it stores bits H, M and D and provides these bits as output signals on lines 309A, 309B and 309C. Register 310 corresponds to CCB register 115 in FIG. 1A and it stores and provides the OC and β> bits as signal outputs on lines 310A and 310B.

030028/0822030028/0822

Der Festwertspeicher PROM 300 entspricht dem Seitenunterteilungs-■Signalgenerator 105. Wie zuvor beschrieben, liefert er die verschiedenen Signale für die übertragung der virtuellen Adresse 106 in die reale Adresse 107. Die Aufteilung des Festwertspeichers PROM 300 entspricht derjenigen in Fig. 1C. Die Treiber 305 und 306 sind an ein UND-Gatter 311A angeschlossen, um die realen Speicher-Adressbits 11 und 12 zu bilden. Das Register 311 wird für die Speicherung verschiedener Signale verwendet.The read-only memory PROM 300 corresponds to the page division ■ signal generator 105. As previously described, it provides the various signals for the transmission of the virtual address 106 into the real address 107. The division of the read-only memory PROM 300 corresponds to that in FIG. 1C. The drivers 305 and 306 are connected to AND gate 311A to provide the real memory address bits 11 and 12 to form. Register 311 is used to store various signals.

Jede dieser Einrichtungen ist im Handel von Herstellern, wie beispielsweise Texas Instrument, Motorola, Intel und anderen Halbleiterherstellern erhältlich, wobei in der nachfolgenden Tabelle I die Typnummern der verschiedenen Komponenten angegeben sind:Each of these devices is commercially available from manufacturers such as Texas Instrument, Motorola, Intel and other semiconductor manufacturers are available, using the table below I the type numbers of the various components are given:

Tabelle ITable I.

Komponente mit
Bezugsziffer
Component with
Reference number

MÜX301, 302, 303 und 304 Treiber 305, 306, 307 und 308MÜX301, 302, 303 and 304 drivers 305, 306, 307 and 308

Register 114, 115, 120, 121, 122, 122, 123A, 309, 310, 311, 360, 361, 370, 371, 372 undRegister 114, 115, 120, 121, 122, 122, 123A, 309, 310, 311, 360, 361, 370, 371, 372 and

UND-Gatter 311A, 354, 358A, und 372AND gates 311A, 354, 358A, and 372

PROM 300 und 384PROM 300 and 384

Decoder 351, 352, 353, 355, 356, 357 und 380Decoders 351, 352, 353, 355, 356, 357 and 380

Vergleicher 358 und 35fcB USART 116 und 117
Bustreiber 110 und 111
Comparators 358 and 35fcB USART 116 and 117
Bus drivers 110 and 111

Handelsübliche Identifikationsnummer Customary identification number

74LS253 74LS241 74LS37474LS253 74LS241 74LS374

74LS0874LS08

5610
74LS139
5610
74LS139

74LS0874LS08

030028/0822030028/0822

Unter erneuter Bezugnahme auf Fig. 3 sei die Wirkungsweise und Funktion der Seitenunterteilungseinrichtung für die verbesserte Zuteilung von virtuellen Adressen zu realen Adressen in näheren Einzelheiten beschrieben. Wie zuvor im Zusammenhang mit Fig. 1A näher beschrieben wurde, nimmt das Dialog-Seitenunterteilungs-Zeilensignal CPGLIN den aktiven Zustand ein, indem es den niedrigen Pegel annimmt, wenn die Adressen 0 bis 7 des PROM-Chips 300 adressiert werden. Dies ist in der Seitenunterteilungs-PROM-Liste in Fig. 1C dargestellt, in welcher der Inhalt der Liste in den ersten 8 Positionen den Wert 01111111 besitzt. Die Bitposition 7 besitzt den Wert "0", wodurch das Signal CPGLIN aktiviert wird. Dieses Signal wird sodann dem Eingangsanschluß 2ag und 2ah der Multiplexer 302 und 303 entsprechend zugeführt. Das andere Eingangs-Steuersignal an den Eingangsanschlüssen lag und 1ah der Multiplexer 302 und 303 ist durch das Logiksignal "1" (LOGIC 1) vorgegeben, welches so geschaltet ist, daß es immer den hohen Pegel aufweist. Wenn das Signal CPGLIN aktiv ist, d. h. den niedrigen Pegel aufweist, so adressiert es die Eingangsanschlüsse lag und 1ah der Multiplexer 302 und 303, was bedeutet, daß die Signale an den Eingangsanschlüssen 1g und 1h durchgereicht werden und als Ausgangssignale 302A und 303A entsprechend auftreten. Durch Zurückverfolgung des Signales CPGCNH an dem Eingangsanschluß 1g des Multiplexers 302 zu seiner Quelle ist festzustellen, daß es von dem hochwertigen Bit auf der Leitung 309A des Kanalregisters 309 .kommt. In gleicher Weise ist durch Zurückverfolgung des Eingangssignales CPGCNL an dem Eingangsanschluß 1h des Multiplexers 303 festzustellen, daß es von der Ausgangsleitung 309B mit mittlerer Wertigkeit kommt. Dies entspricht den Bits H und M des Kanalregisters 114 in Fig. 1A. Dementsprechend wird bei einer Aktivierung des Signales CPGLIN das Bit H und M des Registers 114 und 309 für die virtuellen Adressbits 8 und 9 auf den Ausgangsleitungen 302A und 303A entsprechend eingesetzt. Umgekehrt werden, wenn das Signal CPG-LIN nicht aktiviert ist, die Adressbits 8 und 9 der virtuellen Adresse nicht modifiziert und diese werden so wie sie sind zu den Ausgangsleitungen 302A und 303A der Multiplexer 302 und 303 entsprechend weitergereicht. Dies ist darauf zurückzuführen, daß Referring again to FIG. 3, the mode of operation and function of the page subdivision device for the improved allocation of virtual addresses to real addresses will be described in more detail. As previously described in connection with FIG. 1A in more detail, the CPGLIN-side sub-division line signal dialog takes the active state by it assumes the low level when the addresses are addresses 0 through 7 of the PROM chip 300. This is illustrated in the page subdivision PROM list in FIG. 1C, in which the contents of the list have the value 01111111 in the first 8 positions. Bit position 7 has the value "0", which activates the CPGLIN signal. This signal is then fed to input terminals 2ag and 2ah of multiplexers 302 and 303, respectively. The other input control signal at the input terminals was 1ah and the multiplexers 302 and 303 is given by the logic signal "1" (LOGIC 1), which is switched so that it always has the high level. When the signal CPGLIN is active, ie has the low level, it addresses the input connections lag and 1ah of the multiplexers 302 and 303, which means that the signals at the input connections 1g and 1h are passed through and appear as output signals 302A and 303A accordingly. By tracing the CPGCNH signal on input terminal 1g of multiplexer 302 back to its source, it will be determined that it is from the high order bit on line 309A of channel register 309. In the same way , by tracing back the input signal CPGCNL at the input connection 1h of the multiplexer 303, it can be determined that it is coming from the output line 309B with medium significance. This corresponds to bits H and M of channel register 114 in Figure 1A. Correspondingly, when the signal CPGLIN is activated, the bits H and M of the registers 114 and 309 for the virtual address bits 8 and 9 on the output lines 302A and 303A are used accordingly. Conversely, if the signal CPG-LIN is not activated, the address bits 8 and 9 of the virtual address are not modified and these are passed on as they are to the output lines 302A and 303A of the multiplexers 302 and 303 . This is due to the fact that

030028/0822030028/0822

bei hohem Pegel für das Signal CPGLIN und für das Signal LOGIC1 die Adresse 3g und 3h dezimal (binär 11) an den Multiplexern 302 und 303 adressiert wird. Die Eingangsadresse 3g des Multiplexers 302 wird durch das Signal CADU08 vorgegeben, welches als Dialogadresse des Mikroprozessor-Bits 8 interpretiert wird. Die Eingangsadresse 3h des Multiplexers 303 ist durch das Signal CADU09 vorgegeben, welches als Dialogadress-Mikroprozessorbit 9 interpretiert wird. Wenn die Eingangsanschlüsse 3g und 3h adressiert werden, so werden diese Anschlüsse aktiviert und es können die Adressen an diesen Anschlüssen zu den Ausgangsleitungen 302A und 303A der Multiplexer 302 und 303 weitergereicht werden.when the level is high for the signal CPGLIN and for the signal LOGIC1 the address 3g and 3h is addressed decimally (binary 11) to the multiplexers 302 and 303. The input address 3g of the multiplexer 302 is specified by signal CADU08, which is interpreted as the dialog address of microprocessor bit 8. the Input address 3h of multiplexer 303 is specified by signal CADU09, which is used as dialog address microprocessor bit 9 is interpreted. If the input connections 3g and 3h are addressed, these connections are activated and it can the addresses at these connections are passed on to the output lines 302A and 303A of the multiplexers 302 and 303.

Das nächste Steuerbit für die Modifizierung der virtuellen Adresse 106, welches dem PROM-Chip 300 entnommen wird, ist das Direktionalbit CPGDIR. Das Direktionalbit ist das niedrigrangige Bit D in dem Kanalregister 114 bzw. das Bit auf der Leitung 309C am Ausgang des Kanalregisters 309. Das Direktionalbit wird aktiviert, wenn die Adressen 8, 9, 10 und 11 (dezimal) des Festwertspeichers PROM 300 adressiert werden (siehe Fig. 1C). Wenn diese Bits 8-11 adressiert werden, so wird zusätzlich das Ausgangssignal CPGLIN aktiv. Dementsprechend wird zusätzlich zu dem Signal CPGLIN, das an die Multiplexer 302 und 303 angelegt wird, das Signal CPGDIR den Eingangsanschlüssen 1d und 1ai der Multiplexer 301 und 304 zugeführt. Bei inaktivem Signal CPGDIR am Eingangsanschluß 1 des Multiplexers 304 spielt es keine Rolle, ob das Eingangssignal CPGAD8 am Eingangsanschluß 2ai des Multiplexers 304 den hohen oder niedrigen Pegel aufweist, da bei beiden Zuständen entweder der Eingangsanschluß Ob oder 2b (Binäradressen 0 oder 11) aktiviert wird und das Signal CPGCND diesen beiden Adressen zugeführt wird. Das Signal CPGCND stammt von der Ausgangsleitung 309C des Kanalregisters 309, welches dem Bit D des Kanalregisters 114 und 309 entspricht. Wenn demgemäß das Direktionalbit CPGDIR aktiviert wird, so wird das 10. Bit (dezimal) der virtuellen Adresse 106 in Übereinstimmung mit dem Inhalt des Bits D des Kanalregisters 114 bzw. 309 modifiziert. Es ergibt sich kein Einfluß auf das Signal CPGDIR an dem Eingangsanschluß 1d des Multiplexers 301, es sei denn, das Signal CPGAD8The next control bit for the modification of the virtual address 106 taken from the PROM chip 300 is the directional bit CPGDIR. The directional bit is the low order bit D in the channel register 114 or the bit on the line 309C at the output of the channel register 309. The directional bit is activated, if the addresses 8, 9, 10 and 11 (decimal) of the read-only memory PROM 300 are addressed (see Fig. 1C). if If these bits 8-11 are addressed, the output signal CPGLIN is also active. Accordingly, in addition to that Signal CPGLIN applied to multiplexers 302 and 303, signal CPGDIR to input terminals 1d and 1ai of the multiplexers 301 and 304 supplied. If the CPGDIR signal at input terminal 1 of multiplexer 304 is inactive, it does not matter whether the input signal CPGAD8 at the input terminal 2ai of the multiplexer 304 is high or low, since both States either the input connection Ob or 2b (binary addresses 0 or 11) is activated and the signal CPGCND this is supplied to both addresses. The signal CPGCND comes from the output line 309C of the channel register 309, which is the bit D of the channel register 114 and 309 corresponds. If the directional bit CPGDIR is activated accordingly, the 10th bit (decimal) of the virtual address 106 is modified in accordance with the content of the bit D of the channel register 114 or 309. It results does not affect the signal CPGDIR at the input terminal 1d of the multiplexer 301, unless the signal CPGAD8

030028/0822030028/0822

ist ebenfalls aktiviert. Dies ist darauf zurückzuführen, daß bei inaktivem Signal CPGAD8 (hoher Pegel) nur die Adressen 2e oder 3e (binär 10 oder 11) · des Multiplexers 301 adressiert werden können und diese beide einander gleich sind und das Bit 7 der Dialogadresse des Mikroprozessors repräsentieren. Wenn jedoch das Signal CPGAD8 von dem Festwertspeicher PROM300 ebenfalls aktiviert ist (niedriger Pegel), so werden nur die Adressen Oe oder 1e (binär 00 oder 01) des Multiplexers 301 adressiert und aktiv. Beiden Adressen wird das Logiksignal LOGIC 1 mit dem Wert "1" zugeführt und dieses Signal wird zu der Ausgangsleitung 301A des Multiplexers 301 weitergereicht, wenn beide Signale CPGAD8 und CPGDIR aktiv sind oder wenn nur das Signal CPGAD8 aktiv ist.is also activated. This is due to the fact that when the signal CPGAD8 (high level) is inactive, only addresses 2e or 3e (binary 10 or 11) · of the multiplexer 301 are addressed and these are both equal to each other and represent bit 7 of the dialog address of the microprocessor. But when the signal CPGAD8 from the read only memory PROM300 also is activated (low level), only the addresses Oe or 1e (binary 00 or 01) of the multiplexer 301 are addressed and active. Both addresses are supplied with the logic signal LOGIC 1 with the value "1" and this signal becomes the output line 301A of the multiplexer 301 passed on if both signals CPGAD8 and CPGDIR are active or if only the signal CPGAD8 is active.

Somit wird bei aktivem Signal CPGAD8 das Bit 7 der virtuellen Adresse modifiziert und auf den Wert "1" gesetzt.When the CPGAD8 signal is active, bit 7 of the virtual address is modified and set to the value "1".

Wie zuvor anhand von Fig. 1A beschrieben wurde, werden die Bits 11 und 12 der virtuellen Adresse 106 durch die Kanalbits OC und β des Registers 115 ersetzt, wenn das Kanalregisterbit CPGCCB aktiv ist, d. h. den niedrigen Pegel aufweist. Da das Register 310 in Fig. 3 dem Kanalregister 115 entspricht und das Bit CPGCCH auf der Ausgangsleitung 310A dem Bit <*- des Kanalregisters 115 und das Bit CPGCCL auf der Ausgangsleitung 310B dem Bit β des Registers 115 entspricht, ersetzen diese Bits die Bits 11 und 12 der virtuellen Adresse, wenn das Signal CPGCCB aktiv ist, d. h. den niedrigen Pegel aufweist. Es sei nun betrachtet was geschieht. Wenn das Signal CPGCCB aktiviert ist, so wird es dem Eingangsanschluß 11 des Treibers 306 und einem Eingangsanschluß des UND-Gatters 31IA zugeführt. Demgemäß wird der Treiber 306 durchgeschaltet und die Kanal-Steuerbitsignale CPGCCH und CPGCCL auf den Ausgangsleitungen 310A und 310B .werden an die Anschlüsse 1h und Oh des Treibers 306 entsprechend angelegt und zu den Ausgangsleitungen 306A und 306B des Treibers 306 weitergereicht, um die Bits 11 und 12 der virtuellen Speicheradresse zu ersetzen. Es sei vermerkt, daß bei einem niedrigen Pegel für das Signal CPGCCB an dem Eingangsanschluß 1 des Treibers 306 dieser freigegeben wird, daß aber das gleiche dem Eingangsanschluß 19 desAs previously described with reference to FIG. 1A, bits 11 and 12 of virtual address 106 are replaced by channel bits OC and β of register 115 when channel register bit CPGCCB is active, ie has the low level. Since register 310 in FIG. 3 corresponds to channel register 115 and bit CPGCCH on output line 310A corresponds to bit <* - of channel register 115 and bit CPGCCL on output line 310B corresponds to bit β of register 115, these bits replace bits 11 and 12 of the virtual address when the signal CPGCCB is active, ie has the low level. Let us now see what happens. When the signal CPGCCB is asserted, it is applied to the input terminal 11 of the driver 306 and one input terminal of the AND gate 31IA. Accordingly, driver 306 is enabled and channel control bit signals CPGCCH and CPGCCL on output lines 310A and 310B are applied to terminals 1h and Oh of driver 306, respectively, and passed to output lines 306A and 306B of driver 306 for bits 11 and 12 of the virtual memory address. It should be noted that when the signal CPGCCB at the input terminal 1 of the driver 306 is low, the driver 306 is enabled, but the same is applied to the input terminal 19 of the

030028/0822030028/0822

Treibers 305 zugeführte Signal diesen Treiber sperrt. Somit werden die Signale CADU an den Eingangsanschlüssen 24 und 25 des Treibers 305 nicht zu den Ausgangsanschlüssen 305A und 305B weitergereicht, sondern durch die Bits des Kanalregisters 310 in der zuvor beschriebenen Weise ersetzt. Es ist somit ersichtlich, daß entweder der Treiber 306 oder der Treiber 305, nicht aber beide, freigegeben wird und daß entweder die Kanalregisterbits über den Treiber 306 oder die Mikroprozessor-Adressbits über den Treiber 305 zu dem Ausgang weitergereicht werden.The signal supplied to driver 305 blocks this driver. Thus, the signals CADU at the input terminals 24 and 25 of driver 305 is not passed to output terminals 305A and 305B, but through the bits of channel register 310 in replaced in the manner previously described. It can thus be seen that either driver 306 or driver 305, but not both, is enabled and that either the channel register bits via driver 306 or the microprocessor address bits via the Driver 305 to be passed to the output.

Schließlich sei noch im Hinblick auf die virtuelle Adressenmodifikation die Modifikation der Bits 4, 5 und 6 erläutert. Wie zuvor anhand von Fig. 1A festgestellt wurde, geschieht dies über das Signal CPGAD4. Wenn die Adresse 12 (dezimal) des Seitenunterteilungs-Signalgenerators adressiert wird, so werden alle folgenden Signale aktiv: CPGLIN, CPGDIR, CPGCCB und CPGAD4. Dies ist aus Fig. 1C erkennbar, in welcher die Adresse 12 (dezimal) die folgende Bitkombination 00001111 aufweist. Somit weisen die Bitpositionen 4, 5, 6 und 7 den niedrigen Pegel auf und sind aktiv, so daß der Signalgenerator 105 in Fig. 1A die Signale CPGAD4, CPGCCB, CPGDIR und CPGLIN ausgibt. Es ist bereits gezeigt worden, wie die ersten 3 Signale die virtuelle Adresse in ihrem aktiven Zustand modifizieren und es soll nunmehr noch gezeigt werden, wie das Signal CPGAD4 die virtuelle Adresse modifiziert und den Wert "1" in die Bits 4., 5 und 6 der virtuellen Adresse einfügt. Das Signal CPGAD4 wird dem Freigabeanschluß 19 des Treibers 308 zugeführt. Wenn der Treiber 308 freigegeben wird, so wird der Binärwert "1" in den Bits 4, 5 und 6 entsprechend gesetzt. Ist er nicht freigegeben, so wird die Mikroprozessoradresse CADU für die Bits 4, 5 und 6 entsprechend durchgereicht. Der Grund hierfür liegt darin, daß der Treiber 308 ein handelsüblicher Tri-state-Schaltkreis des Typs LS241 ist, der Hochziehwiderstände für das angelegte Signal aufweist. Wenn dementsprechend ein Signal mit niedrigem Pegel, wie beispielsweise das Signal CPGAD4 angelegt wird, so gibt dieses Signal den Treiber 308 nicht frei und die Ausgangssignale werden auf +5V hochgezogen, wodurch sich der Logikpegel "1" ergibt. Wenn andererseits das Signal CPGAD4 inaktiv ist, d. h. den hohenFinally, with regard to the virtual address modification the modification of bits 4, 5 and 6 is explained. As previously stated with reference to FIG. 1A, this is done via the signal CPGAD4. If the address 12 (decimal) of the page division signal generator is addressed, all of the following signals become active: CPGLIN, CPGDIR, CPGCCB and CPGAD4. this can be seen from Fig. 1C, in which the address 12 (decimal) has the following bit combination 00001111. Thus, the Bit positions 4, 5, 6 and 7 are low and active, so that the signal generator 105 in FIG. 1A generates the signals Outputs CPGAD4, CPGCCB, CPGDIR and CPGLIN. It has already been shown how the first 3 signals create the virtual address in their active state and it will now be shown how the signal CPGAD4 modifies the virtual address and inserts the value "1" into bits 4, 5 and 6 of the virtual address. The signal CPGAD4 is applied to the enable terminal 19 of the driver 308 supplied. When driver 308 is enabled, the binary value "1" in bits 4, 5 and 6 becomes correspondingly set. If it is not released, the CADU microprocessor address for bits 4, 5 and 6 is passed through accordingly. This is because driver 308 is a commercially available tri-state circuit of the type LS241, the Has pull-up resistors for the applied signal. Accordingly, when a low level signal such as the CPGAD4 signal is asserted, this signal does not enable the driver 308 and the output signals are asserted + 5V pulled up, resulting in a logic "1" level. On the other hand, when the CPGAD4 signal is inactive, i. H. the high

030028/0822030028/0822

Pegel aufweist, so wird der Treiber 308 freigegeben und gestattet die Weiterreichung der Adressignale an den Eingangsanschlüssen 1k, 2k und 3k des Treibers 308.Level, the driver 308 is enabled and allows the address signals to be passed on to the input terminals 1k, 2k and 3k of driver 308.

Der Seitenunterteilungs-Signalgenerator 105 in Fig. 1A und sein Äquivalent in Form des Festwertspeichers PROM-300 in Fig. 3 erzeugen nicht nur Signale, durch die der Speicher 109 wirksamer adressiert werden kann, sondern sie erzeugen ferner Signale, die eine wirksamere Adressierung und einen wirksameren Dialog zwischen dem Hauptspeicher 108, dem Mikroprozessor 101 und den verschiedenen Registern und peripheren Geräten an dem I-Bus und dem U-Bus ermöglichen. Dieser Dialog zwischen den verschiedenen Geräten, wie beispielsweise zwischen den Registern und dem Speicher und den Registern unter Verwendung des U-Busses und des I-Busses wird ausgelöst, indem das Signal CEU2I0 aktiviert wird. Das Signal CEU2I0 besitzt den niedrigen Pegel und ist aktiviert/ wenn das zugeordnete Bit in dem Speicherplan gemäß Fig. 1C den Wert "0" aufweist. Es sei darauf verwiesen, daß das Signal CEU2I0 der Bitposition 1 des Seitenunterteilungs-Signalgenerators 105 entspricht. Gemäß Fig. 1C, welche die Speicherbelegung des Seitenunterteilungs-Signalgenerators 105 und seines entsprechenden Festwertspeichers PROM-300 zeigt, ist erkennbar, daß es 3 Adressen gibt, an denen eine "0" in der Bitposition 1 gespeichert ist. Diese Adressen entsprechen den dezimalen Speicherplätzen 18, 21 und 22 bzw. den virtuellen hexadezimalen Speicherplätzen 90, A8 und BO. Wenn daher irgendeiner dieser Speicherplätze des Seitenunterteilungs-Signalgenerators 105 bzw. des Festwertspeichers PROM-300 durch den Mikroprozessor 101 adressiert wird, so wird das Signal CEU2I0 aktiv und besitzt den niedrigen Pegel. Das Signal CEU2I0 löst den Dialogprozeß aus und steuert die Freigabe des Bustreibers 111 in Fig. 1A bzw. des Bustreibers 711A in Fig. 7. Das Signal wird ferner als ein Eingang dem UND-Gatter 354 in Fig. 4 zugeführt und gewährleistet eine Impulsabgabe, nachdem die Daten auf dem Bus gültig geworden sind.The page division signal generator 105 in FIGS. 1A and 1B Generate equivalent in the form of the read-only memory PROM-300 in Fig. 3 not only signals by which the memory 109 can be addressed more efficiently, but they also generate signals, that a more efficient addressing and a more efficient dialogue between the main memory 108, the microprocessor 101 and the different registers and peripheral devices on the I-bus and the U-bus. This dialogue between the different Devices such as between the registers and memory and registers using the U-bus and the I-bus is triggered by activating the CEU2I0 signal. The signal CEU2I0 has the low level and is activated / when the assigned bit in the memory map of FIG. 1C has the value "0". It should be noted that the signal CEU2I0 corresponds to bit position 1 of the page division signal generator 105. Referring to Fig. 1C, which shows the memory usage of the page division signal generator 105 and its corresponding read-only memory PROM-300 shows, it can be seen that there are 3 addresses at which a "0" is stored in bit position 1. These addresses correspond to the decimal memory locations 18, 21 and 22 or the virtual hexadecimal storage locations 90, A8 and BO. Therefore, if any of these memory locations of the page division signal generator 105 or the read-only memory PROM-300 is addressed by the microprocessor 101, then the signal CEU2I0 is active and has the low level. The signal CEU2I0 triggers the dialog process and controls the release bus driver 111 in Fig. 1A and bus driver 711A, respectively in Fig. 7. The signal is also provided as an input to AND gate 354 in Fig. 4 and ensures pulse delivery thereafter the data on the bus has become valid.

030028/0822030028/0822

Gemäß den Fig. 3 und 4 wird ein Signal CEU2I0 in der Bitposition 1 des Speichers PROM-300 erzeugt, wenn die Freigabe des I-Bustreibers 711A gewünscht ist, um Daten von dem U-Bus zu dem I-Bus zu übertragen und diese entweder in das Kanalregister 114, das CCB-Register 115 oder das S-Register 123A einzuschreiben. Gemäß Fig. 4 ist erkennbar, daß das Signal CEU2I0 einem Eingangsanschluß des UND-Gatters 354 zugeführt wird und einer UND-Verknüpfung mit einem Tastsignal CTPHZD unterzogen wird, um das Signal CEU2I0-10 am Ausgang des UND-Gatters 354 zu erzeugen. Dieses Signal wird sodann dem Freigabeeingang des Decodierers 355 zugeführt. Ferner werden den Eingangsanschlüssen 2OA und 10A des Decodierers 355 die Bits 10 und 11 der Adresse 103 der Dialogadresseneinheit zugeführt. Diese Bits werden sodann decodiert, um eines von 4 Signalen an den Ausgangsanschlüssen des Decodierers 355 zu aktivieren. Wenn die Bits 10 und 11 an den Eingangsanschlüssen 2OA und 10A des Decodierers 355 den Wert 10 oder den binärdezimalen Wert 3 aufweisen, so wird das Ausgangssignal CEU2I0-A2 freigegeben und an den Freigabeeingang des Decodierers 357 angelegt. Zusätzlich werden die Bits 13 und 14 der Dialogadresseneinheit, d. h. die Signale CADU13 und CADU14 an die Eingangsanschlüsse 2PA und 1PA des Decodierers 3 57 angelegt. Wenn beide Bits 13 und 14 den W^rt "0" aufweisen, so wird am Ausgang des Decodierers 357 das Signal CEI2CN aktiviert und verwendet, um in das Kanalregister 114 in Fig. 1A bzw. 309 in Fig. 3 einzuschreiben. Wenn andererseits die Bits J3 und 14 die Werte "0" und "1" aufweisen und als Signale CADU13 und CADU14 den Eingangsanschlüssen 2PA und 1PA des Decodierers 357 zugeführt werden, so wird am Ausgang des Decodierers 357 das Signal CEI2CB aktiv und benutzt, um das CCB-Register 115 in Fig. 1A bzw. 310 in Fig. 3 zu adressieren. Wenn schließlich die Bits 13 und 14, die als Signale CADU13 und CADU14 den Eingangsanschlüssen 2PA und 1PA des Decodierers 357 zugeführt werden, den Wert "1" und "0" bzw. den Dezimalwert 2 aufweisen, so wird am Ausgang des Decodierers 357 das Signal CEI2SR aktiviert und benutzt, um das S-Register 123A zu adressieren. Das Signal CEU2I0 wird somit verwendet, um den Bustreiber 111 und die Adressregister 114, 115 und 322A freizugeben. Wenn dementsprechend der Mikroprozessor 101 einenReferring to Figures 3 and 4, a signal CEU2I0 becomes in the bit position 1 of the memory PROM-300 is generated when the I-bus driver is enabled 711A is desired to transfer data from the U-bus to the I-bus to be transferred and this either in the channel register 114, the CCB register 115 or S register 123A. 4 it can be seen that the signal CEU2I0 has an input terminal of the AND gate 354 is supplied and an AND operation with a key signal CTPHZD is subjected to the signal CEU2I0-10 at the output of AND gate 354 to be generated. This signal is then fed to the enable input of the decoder 355. Furthermore, the input terminals 2OA and 10A of the Decoder 355 bits 10 and 11 of address 103 of the dialog address unit fed. These bits are then decoded to one of 4 signals at the output terminals of the decoder 355 to activate. When bits 10 and 11 on input terminals 2OA and 10A of decoder 355 are 10 or have the binary decimal value 3, the output signal CEU2I0-A2 is released and sent to the release input of the decoder 357 created. In addition, bits 13 and 14 of the dialog address unit, i.e. H. the signals CADU13 and CADU14 to the input connections 2PA and 1PA of decoder 357 are applied. If both bits 13 and 14 have the word "0", the output of the decoder 357 activates and uses the signal CEI2CN, to write into the channel register 114 in Fig. 1A and 309 in Fig. 3, respectively. On the other hand, when bits J3 and 14 are "0" and "1" and are supplied as signals CADU13 and CADU14 to the input terminals 2PA and 1PA of the decoder 357, so the signal CEI2CB is active at the output of the decoder 357 and is used to set the CCB register 115 in FIG. 1A or 310 in FIG to address. Finally, when bits 13 and 14, which are fed as signals CADU13 and CADU14 to input terminals 2PA and 1PA of the decoder 357 have the values "1" and "0" or the decimal value 2, then at the output of the decoder 357 asserts the CEI2SR signal and uses it to address the S register 123A. The signal CEU2I0 is thus used to enable bus driver 111 and address registers 114, 115 and 322A. Accordingly, when the microprocessor 101 has a

030028/0822030028/0822

ORIGINAL INSPECTEDORIGINAL INSPECTED

Schreibbefehl bearbeitet, der das Einschreiben des Akkumulatorinhaltes des Mikroprozessors in den hexadezimalen Speicherplatz A8 vorgibt, so legt der Mikroprozessor den Inhalt des Akkumulators an den U-Bus an und gibt den Bustreiber 111 in der Schreibrichtung frei, worauf die Businformation in die geeignete Registeradresse eingetastet wird.Write command processed, which writes the accumulator contents of the microprocessor in the hexadecimal memory location A8, the microprocessor puts the contents of the accumulator to the U-bus and enables the bus driver 111 in the write direction, whereupon the bus information in the appropriate register address is keyed in.

Wenn ein Schreibbefehl bearbeitet wird und Information in irgendeines der Register an dem I-Bus geschrieben wird, so gibt der Bustreiber 110 gemäß Fig. 1A ebenfalls den M-Bus 109 frei und die gleiche in das Adressregister eingeschriebene Information wird ebenfalls in einen adressierten Abschnitt des Speichers 108 eingeschrieben. Es sei in diesem Zusammenhang ebenfalls auf die Fig. 2A und 2B verwiesen. Der Bustreiber 110 wird durch ein fehlendes Signal CEMB2U freigegeben und er schaltet den M-Bus in Richtung auf den Speicher 108 durch. Somit wird die in die Register eingeschriebene Information ebenfalls in einen "Schattenspeicher" eingeschrieben, der die Information für Diagnosezwecke oder für den Test aufbewahrt und der ein Speicherplatz zur Aufbewahrung von Daten bildet, wenn eine externe Wartung ausgeführt wird.When a write command is processed and information in any the register on the I-bus is written, the bus driver 110 according to FIG. 1A also enables the M-bus 109 and the same information written into the address register is also stored in an addressed section of the memory 108 enrolled. In this context, reference is also made to FIGS. 2A and 2B. The bus driver 110 is missing a Signal CEMB2U released and it switches the M-Bus through in the direction of memory 108. Thus the in the register written information is also written into a "shadow memory" which stores the information for diagnostic purposes or kept for the test and which forms a storage space for storing data when external maintenance is carried out will.

Beim Lesen von Daten von dem I-Bus zu dem U-Bus ist es erforderlich, die Datenübertragung von dem M-Bus zu dem U-Bus zu sperren. Dies gestattet dem I-Bus die Steuerung der Daten auf dem U-Bus. Diese Funktion wird ausgeführt durch Erzeugung des Signales CEI02U in dem Seitenunterteilungs-Signalgenerator 105. Dieses Signal wird sodann dem Freigabeanschluß des Decodierers 351 in Fig. 4 zugeführt und zur gleichen Zeit werden die Bits 9 und 10 der Adresse 103 an die Eingangsanschlüsse 2K und 1K als Signale CADU09 und CADU10 angelegt. Diese Signale werden einem ersten Decodierpegel unterworfen, um ein Ausgangssignal CEI02U-A1 am Ausgangsanschluß 01 des Decodierers 351 zu erzeugen, wenn die Eingangsbits 9 und 10 die Werte "0" und "1" entsprechend aufweisen. Das Signal CEI02U-A1 wird sodann an den Freigabeanschluß des Decodierers 352 zusammen mit den Bits 14 und 15 an den Eingangsanschlüssen 2LA und 1LA angelegt. In Abhängigkeit von demWhen reading data from the I-bus to the U-bus, it is necessary to to block data transmission from the M-Bus to the U-Bus. This allows the I-bus to control the data on the U-bus. This function is carried out by generating the signal CEI02U in the page division signal generator 105. This signal is then applied to the enable terminal of decoder 351 in FIG. 4 and at the same time bits 9 and 10 become the Address 103 is applied to input connections 2K and 1K as signals CADU09 and CADU10. These signals are a first Subjected to decoding level to produce an output signal CEI02U-A1 at the output terminal 01 of the decoder 351 when the Input bits 9 and 10 have the values "0" and "1", respectively. The CEI02U-A1 signal is then applied to the enable terminal of decoder 352 along with bits 14 and 15 on the input terminals 2LA and 1LA created. Depending on the

030028/0822030028/0822

Binärwert der Bits 14 und 15 wird eines von 4 Subanweisungssignalen an den Ausgangsanschlüssen des Decodierers 352 erzeugt. Wenn die Bits 14 und 15 den Wert "0" aufweisen, was der Adressierung des hexadezimalen Speicherplatzes A8 in dem virtuellen Speicher entspricht, so wird eine Subanweisung CEDH2I-00 am Ausgangsanschluß 00 des Decodierers 352 erzeugt. Dieses Signal wird sodann dem Freigabeanschluß des Registers 360 zugeführt. Das Register 360 entspricht dem Hochwertigkeit-Datenregister 120 in Fig. 1A. Das Signal CEI02U stellt dementsprechend ein Mittel zum Auslesen von Daten aus dem Hochwertigkeits-Datenregister 120 auf den I-Bus und auf den ü-Bus dar. Da jedoch der Bustreiber durch die Gegenwart des Signales CEMB2U gesperrt worden ist, wird der durch die Adresse 103 adressierte Speicherplatz nicht gelesen und es wird nur das Hochwertigkeits-Datenregister 120 gelesen. In gleicher Weise wird das Niedrigwertigkeits-Datenregister 121 gelesen, wenn die Bits 14 und 15 den Wert 01 aufweisen, wodurch der Ausgangsanschluß 01 des Decodierers 352 adressiert wird. Somit wird das Signal CEDL2I-00 erzeugt, welches an den FreigabeanschluB des Registers 361 in Fig. 4A angelegt wird. Es ist somit erkennbar, daß die Register 360 und 361 gemäß Fig. 4A den Registern 120 und 121 in Fig. 1A entsprechen.Binary value of bits 14 and 15 becomes one of 4 sub-instruction signals is generated at the output terminals of the decoder 352. If the bits 14 and 15 have the value "0", what the addressing of the hexadecimal memory location A8 in the virtual memory, a sub-instruction CEDH2I-00 is generated at the output connection 00 of the decoder 352 is generated. This signal is then applied to the enable terminal of register 360. The registry 360 corresponds to high order data register 120 in FIG. 1A. The signal CEI02U represents a means accordingly for reading out data from the high-quality data register 120 on the I-bus and on the u-bus. However, since the bus driver has been blocked by the presence of the signal CEMB2U, the memory location addressed by address 103 is not read and only the high order data register 120 is read. Similarly, the low order data register 121 becomes read when bits 14 and 15 are 01, thereby addressing output terminal 01 of decoder 352. Consequently the signal CEDL2I-00 is generated, which is sent to the release connection of register 361 in Fig. 4A is applied. It can thus be seen that the registers 360 and 361 of FIG. 4A Corresponds to registers 120 and 121 in Fig. 1A.

Der Bustreiber 110 in Fig. 1A entspricht dem Treiber 370 in Fig. 4B. Dies ist ein Zweirichtungstreiber und er kann entweder Daten von dem Speicherbus 109 zu dem O-Bas 112 oder umgekehrt treiben. Die Richtung der Datenübertragung wird durch das Signal CEMB2U gesteuert. Wenn das Signal vorliegt, so wird ein DatenfluB von dem Speicherbus 109 zu dem Mikroprozessorbus 112 gestattet und wenn das Signal nicht vorliegt, so wird eine Datenübertragung in der umgekehrten Richtung gestattet. Das Signal CEMB2U wird über die UND-Gatter 371 und 372 in Fig. 4 erzeugt. Diese UND-Gatter führen eine einfache UND-Verknüpfung verschiedener Signale durch, wobei diese Signale durch das Mikroprozessor-Lesesignal CUREAD, das Tastsignal CIPHZ2 und die Dialog-Freigabesignale CESR2U und CEIN2U vorgegeben sind. Aus diesen Signalen wird das Signal CEMB2U erzeugt, das sodann demBus driver 110 in Figure 1A corresponds to driver 370 in Figure 4B. This is a bidirectional driver and it can either drive data from the memory bus 109 to the O-Ba s 112 or vice versa. The direction of the data transmission is controlled by the signal CEMB2U. If the signal is present, data flow is permitted from the memory bus 109 to the microprocessor bus 112, and if the signal is not present, data transfer in the reverse direction is permitted. The signal CEMB2U is generated via AND gates 371 and 372 in FIG. These AND gates perform a simple AND operation of various signals, these signals being specified by the microprocessor read signal CUREAD, the key signal CIPHZ2 and the dialog enable signals CESR2U and CEIN2U. The signal CEMB2U is generated from these signals, which is then sent to the

030028/0822030028/0822

einen Eingangsanschluß des UND-Gatters 371 zugeführt wird. Es sei darauf verwiesen, daß bei einer Ubertragungsoperation von dem I-Bus zu dem U-Bus, d. h. mit anderen Worten bei einer Lese operation von einem Register an dem I-Bus zu dem U-Bus dieses Signal am Eingang des UND-Gatters 371 den hohen Pegel aufweist und daß das Signal CEMB2U den hohen Pegel besitzt, wenn auch die restlichen Signale den hohen Pegel aufweisen. Wenn dieses Signal mit hohem Pegel dem Eingangsanschluß des Treibers 370 in Fig. 4B zugeführt wird, so sperrt es den Informationsdurchgang über den Bustreiber 110 von dem I-Bus zu dem M-Bus.an input terminal of the AND gate 371 is supplied . It should be noted that in a transfer operation from the I-bus to the U-bus, ie in other words in a read operation from a register on the I-bus to the U-bus, this signal at the input of the AND gate 371 has the high level and that the signal CEMB2U has the high level when the remaining signals also have the high level. When this high signal is applied to the input terminal of driver 370 in Figure 4B, it blocks information passage through bus driver 110 from the I-bus to the M-bus.

Anhand der Figuren 1A, 1C und 4 sei nunmehr die Adressierung der Empfänger/Sender USART 116 und 117 beschrieben. Das Signal, welches diese Adressierung auslöst, ist durch das Signal CE$U2U gegeben, das als Bit 3 an dem Seitenunterteilungs-Signalgenerator 105 in Fig. 1A auftritt. Es sei Fig. 1C entnommen, daß die einzige Adresse, die den Wert "0" in der Bitposition 3 aufweist, die hexadezimale Adresse 88 ist. Wenn daher dieser Speicherplatz adressiert wird, so werden die Bits 0, 3, 4 und 7 aktiv. Wie zuvor erwähnt, wird durch das Bit 3 das Signal CE$U2ü vorgegeben, welches dem Freigabeanschluß des Decodierers 350A in Fig. 4 zugeführt wird und welches an der Decodierung des mittleren Bits der Kanalnummer CPGCNL teilnimmt. In Abhängigkeit von dem Wert dieses Bits wird eines von zwei Ausgangssignalen CE0U2U und CE1U2U an den Ausgangsajischlüssen 0 und 1 des Decodierers 350 A wirksam. Wenn das Signal CE0U2U aktiv ist, so wird der Empfänger/Sender USART 116 freigegeben, während bei aktivem Signal CE1U2U der Empfänger/Sender L1SART 117 freigegeben wird. Wenn Information in den freigegebenen Empfänger/Sender USART eingeschrieben wird, so wird sie ebenfalls in den Teil des Speichers eingeschrieben, der durch die Adresse 103 adres siert ist. Diese Art der dualen Adressierung verwendet zwei virtuelle Adrc-sen, die in die gleiche physikalische Adresse umgewandelt werden, um eine Duplikatadresse bzw. eine Schattenabbildung des tatsächlich adressierten physikalischen Gerätes zu bilden. Es wurde beispielsweise gezeigt, wie die hexadezimale The addressing of the receiver / transmitter USART 116 and 117 will now be described with reference to FIGS. 1A, 1C and 4. The signal which triggers this addressing is given by the signal CE $ U2U , which occurs as bit 3 at the page division signal generator 105 in FIG. 1A. It can be seen from Fig. 1C that the only address which has the value "0" in bit position 3 is the hexadecimal address 88. Therefore, when this memory location is addressed, bits 0, 3, 4 and 7 become active. As previously mentioned, bit 3 specifies the signal CE $ U2ü , which is fed to the enable connection of the decoder 350A in FIG. 4 and which takes part in the decoding of the middle bit of the channel number CPGCNL. Depending on the value of this bit, one of two output signals CE0U2U and CE1U2U at the output terminals 0 and 1 of the decoder 350 A becomes effective. If the signal CE0U2U is active, the receiver / transmitter USART 116 is enabled, while if the signal CE1U2U is active, the receiver / transmitter L 1 SART 1 17 is enabled . When information is written into the enabled receiver / transmitter USART, it is also written into the part of the memory which is addressed by the address 103 . This type of dual addressing uses two virtual addresses that are converted into the same physical address in order to create a duplicate address or a shadow image of the physical device actually addressed. For example, it was shown how the hexadecimal

030028/0822030028/0822

Adresse 88 den Empfänger/Sender USART adressiert, indem ein Freigabesignal für den richtigen Empfänger/Sender USART gebildet wird. Gemäß Fig. 1C ist erkennbar, daß die hexadezimale Adresse C8 den gleichen Binärwert, wie die hexadezimale Adresse 88 aufweist, mit einer Ausnahme, die darin besteht, daß die Bitnummer 3 der hexadezimalen Adresse 88 den Wert "O" aufweist, während die Bitnummer 3 der hexadezimalen Adresse C8 den Wert "1" aufweist. Demgemäß ist ersichtlich, daß mit Ausnahme des dritten Bits die hexadezimale Adresse 88 die gleichen Signale wie die hexadezimale Adresse C8 liefert, so daß die Adresse C8 als Schatten des adressierten Empfänger/Senders USART betrachtet werden kann, wenn das Signal CESU2U durch die hexadezimale Adresse 88 geliefert wird. Es ist somit ersichtlich, daß die hexadezimale Adresse 88 bzw. die Dezimaladresse 17 die tatsächlichen USART-Daten adressiert, während die hexadezimale Adresse C8 bzw. die Dezimaladresse 25 deren Schatten adressiert. Wenn dementsprechend unter der hexadezimalen Adresse 88 eingeschrieben wird, so wird in den Empfänger/Sender USART eingeschrieben und es wird der geeignete Speicherplatz adressiert, der durch die hexadezimale Adresse C8 vorgegeben ist, was in Übereinstimmung mit den zuvor erläuterten Prinzipien geschieht. Dies sei an einem typischen Beispiel erläutert. Zunächst sei der Seitenunterteilungs-Signalgenerator 105 bezüglich des dezimalen Speicherplatzes 17 adressiert. Unter Verwendung des Adressenformates 103 ergibt sich die Adresse folgendermaßen: 0000000010001000. Es sei vermerkt, daß die Bits 8 bis 12, welche die tatsächliche Adressierung bewirken, die Dezimalnummer 17 im Binärformat enthalten. Gemäß Fig. 1C ist erkennbar, daß der dezimale Speicherplatz 17 aktive Bits in den Stellen 0, 3, 4 und 7 aufweist. Das Bit 0 erzeugt das Signal CPGAD8 in dem Seitenunterteilungs-Signalgenerator 105 und dieses Signal setzt im aktiven Zustand das Bit 7 auf den Wert "1". Das Bit 3 bildet das Signal, welches den Empfänger/Sender USART adressiert und welches an der Veränderung der virtuellen Adresse in eine reale Adresse nicht teilnimmt. Das Bit 4 des Seitenunterteilungs-Signalgenerators gibt das Signal CPGAD4 vor, welches in seinem aktiven Zustand dieAddress 88 addresses the receiver / transmitter USART by forming a release signal for the correct receiver / transmitter USART will. 1C it can be seen that the hexadecimal address C8 has the same binary value as the hexadecimal address 88, with one exception, which is that the bit number 3 of the hexadecimal address 88 has the value "O", while bit number 3 of hexadecimal address C8 has the value "1". Accordingly, it can be seen that with the exception of the third bits, the hexadecimal address 88 supplies the same signals as the hexadecimal address C8, so that the address C8 regarded as the shadow of the addressed recipient / sender USART if the signal CESU2U is supplied by the hexadecimal address 88. It can thus be seen that the hexadecimal address 88 or decimal address 17 addresses the actual USART data, while the hexadecimal address C8 or the decimal address 25 whose shadow is addressed. If accordingly written under the hexadecimal address 88 , USART is written to the receiver / transmitter and the appropriate memory location is addressed, which is defined by the hexadecimal address C8 is specified, which is done in accordance with the principles explained above. This is explained using a typical example. First, let the page division signal generator 105 addressed with respect to the decimal memory location 17. Using the address format 103 results in the address as follows: 0000000010001000. Es it should be noted that bits 8 through 12 which effect the actual addressing contain the decimal number 17 in binary format. According to FIG. 1C it can be seen that the decimal memory location 17 has active bits in positions 0, 3, 4 and 7. That Bit 0 generates signal CPGAD8 in the page division signal generator 105 and this signal sets bit 7 to the value "1" in the active state. Bit 3 forms the signal which addresses the receiver / sender USART and which does not take part in the change from the virtual address to a real address. Bit 4 of the page division signal generator specifies the signal CPGAD4, which in its active state the

030028/0822030028/0822

Bits 4, 5 und 6 auf den Wert "1" setzt. Schließlich liefert das Bit 7 des Signalgenerators 105 im aktiven Zustand das Signal CPGLIN und setzt das hochwertige Bit und das mittelwertige Bit des Kanalregisters auf die Bitpositionen 8 und 9 der realen Adresse. Unter der Annahme im vorliegenden Beispiel, daß jene Bitpositionen den Wert "0" aufweisen, ergeben sich die Bits 8 und 9 mit dem Wert "0" und die endgültige reale Adresse besitzt den Wert: 000011110000000. Wenn nun die Dezimaladresse 25 adressiert wird, so nimmt das Adressenformat 103 folgende Gestalt an: 0000000011001000. Erneut kann Fig. 1C entnommen werden, daß die folgenden Signale aktiv sind: CPGAD8, CPGAD4 und CPGLIN. Da das Signal CE$U2U, das in dem vorangegangenen Beispiel ebenfalls vorhanden war, an der Veränderung der Adresse nicht teilnimmt, ist die endgültige reale Adresse gleich mit der zuvor angegebenen Adresse und weist folgende Form auf: 00001111 0000000. Es ist somit ersichtlich, daß die gleiche Adresse im Speicher adressiert wird. Wenn demgemäß externe Wartungs- oder Diagnoseoperationen erforderlich sind, so kann lediglich der Schattenspeicher adressiert werden und eine Adressierung des tatsächlichen Empfänger/Senders USART ist nicht erforderlich Das Gleiche gilt im Prinzip für andere periphere Geräte oder Register, die ebenfalls an den I-Bus angeschlossen sind.Sets bits 4, 5 and 6 to the value "1". Finally, the bit 7 of the signal generator 105 delivers the in the active state Signal CPGLIN and sets the high-order bit and the medium-order bit of the channel register to bit positions 8 and 9 the real address. Assuming in the present example that those bit positions have the value "0", the result is Bits 8 and 9 with the value "0" and the final real address has the value: 000011110000000. If now the decimal address 25 is addressed, the address format 103 takes the following form: 0000000011001000. Again, Fig. 1C can be seen, that the following signals are active: CPGAD8, CPGAD4 and CPGLIN. Since the signal CE $ U2U, which in the previous example was also present, does not participate in the change of the address, the final real address is the same as the one before specified address and has the following form: 00001111 0000000. It can thus be seen that the same address is in the Memory is addressed. Accordingly, when external maintenance or diagnostic operations are required, only the Shadow memories are addressed and addressing the actual recipient / sender USART is not required In principle, the same applies to other peripheral devices or registers that are also connected to the I-bus.

Diese Schattierungstechnik bei der Adressierung einer Hardwarekomponente wie beispielsweise dem Empfänger/Sender USART, des Kanalregisters oder des Kanal-Steuerblockregisters usw. ist besonders nützlich und spart Zykluszeit, wenn eine Unterbrechung auftritt, bei welcher der Inhalt eines Registers, beispielsweise des CCB-Registers ersetzt werden muß. In der herkömmlichen Ausführung wird der Inhalt des Registers ausgelesen und in einem temporären Speicher gespeichert und es wird die neue Information in das Register eingeschrieben. Wenn der ursprüngliche Inhalt des Registers zurückgeschrieben werden soll, so muß das Register zunächst erneut ausgelesen und der Inhalt in einem temporären Speicher gespeichert werden und sodann kann der ursprüngliche Inhalt zurückgeschrieben werden. Mit dem erfindungsgemäßen Schattierungskonzept muß bei einem Unterbrechungsmodus lediglich die neue Information in das Register eingeschrieben werden,This shading technique when addressing a hardware component such as the receiver / transmitter USART, the channel register or the channel control block register, etc. is special useful and saves cycle time when an interrupt occurs in which the contents of a register, for example of the CCB register must be replaced. In the conventional design, the content of the register is read out and stored in a stored in temporary memory and the new information is written into the register. If the original content of the register is to be written back, the register must first be read out again and the content in a temporary one Memory can be stored and then the original content can be written back. With the invention In the case of an interruption mode, the shading concept only has to write the new information into the register.

030028/0822030028/0822

da ein Schatten bzw. ein Abbild der ursprünglichen Information in dem Register in einem vorbestimmten Speicherplatz des Hauptspeichers gespeichert ist. Die alte Information bleibt in dem Schatten-Speicherplatz erhalten und wenn diese in das Register zurückgeschrieben werden soll, kann sie direkt aus dem Schatten-Speicherplatz ausgelesen werden. Da ungefähr 3 με für eine Leseoperation und 4 με für eine Schreiboperation erforderlich sind, können während jedes vollständigen Zyklus insgesamt 4 με gespart werden.there is a shadow or an image of the original information in the register in a predetermined memory location in the main memory is stored. The old information is retained in the shadow memory location and when it is in the register is to be written back, it can be read directly from the shadow memory location. Since about 3 με for one read operation and 4 με are required for a write operation, a total of 4 με can be saved during each complete cycle.

Anhand der Fig. 5 und 6 sei im folgenden das bevorzugte Ausführungsbeispiel einer vektoriellen Unterbrechung beschrieben. Fig. 6B zeigt das Zeittaktdiagramm der Unterbrechungsfolge. Das Signal PTIME3 ist ein massewirksames TTL-Signal, das alle 500 ns durch die Zentraleinheit CPU 600 erzeugt wird und eine Impulsbreite von 100 ns aufweist. Dieses Signal wird in großem Umfang durch periphere Steuerungen des Systems 600A benutzt, um Zustände auf den Bussen 620, 621 und 622 zu setzen und zurückzustellen und um als Daten- Tastimpuls zu wirken. Das Signal BINTR ist das Unterbrechungs-Anforderungssignal, das auf einer Offenkollektor-Treiberleitung auf den Bussen vorliegt und durch irgendeine periphere Steuerung des Systems an Masse geschaltet wird, wenn diese Steuerung eine Unterbrechung versucht. Das Signal PIOCT ist ebenfalls ein massewirksames TTL-Signal, das von der Zentraleinheit CPU 600 benutzt wird, um einer ausgewählten Steuerung anzuzeigen, daß codierte Zustände auf dem Bus vorliegen, welche die Busdialog-Steuerinformation zu der Steuerung übertragen. Das Datenbus-Gültigkeitssignal zeigt an, daß die Daten auf dem Bus stabilisiert sind. Das Signal PBYTE liefert, wenn es durch die Zentraleinheit CPU 600 aktiviert ist, das niedrigrangige Byte, d. h. die Bits 8-15 des adressierten Wortes an eine Steuerung wie beispielsweise den Mikroprozessor 601. Schließlich zeigen die Signale PBBUSY bzw. PROCED im aktiven Zustand an, daß entweder eine Steuerung belegt ist und die Anweisung zurückweist oder daß diese die letzte Unterbrechung angenommen hat, die auf dem Bus vorlag.With reference to FIGS. 5 and 6, the preferred embodiment is described below a vectorial interruption. Fig. 6B shows the timing diagram of the interrupt sequence. That Signal PTIME3 is a mass effective TTL signal that is sent every 500 ns is generated by the central processing unit CPU 600 and has a pulse width of 100 ns. This signal is being used extensively used by system 600A peripheral controls to set and reset states on buses 620, 621 and 622 and to act as a data key pulse. The BINTR signal is the interrupt request signal which is on an open collector driver line is present on the buses and is connected to ground by some peripheral control of the system, when this controller attempts an interrupt. The PIOCT signal is also a grounding TTL signal that is generated by the Central processing unit CPU 600 is used to indicate to a selected controller that there are coded states on the bus, which transmit the bus dialog control information to the controller. The data bus valid signal indicates that the data are stabilized on the bus. When activated by the central processing unit CPU 600, the signal PBYTE supplies the low-order signal Byte, d. H. bits 8-15 of the addressed word to a controller such as microprocessor 601. Finally, the signals PBBUSY or PROCED indicate in the active state that either a controller is occupied and the instruction rejects or that it accepted the last interrupt that existed on the bus.

030028/0822030028/0822

Der hier beschriebene Mikroprozessor-Unterbrechungsmechanismus wird aktiviert, wenn die Zentraleinheit CPU-600 einen Ein/Ausgabe-Befehl auslöst, der über die Kanalnummer an eines der E/AGeräte 620 bzw. 601 über den E/A-Bus gerichtet ist. Sollte der Befehl an diesen Mikroprozessor 601 gerichtet sein, so erkennt ein Decodierer die Kanalnummer und setzt die Mikroprozessor-Unterbrechungsanforderung. Die 16 Bit der Information auf dem Systembus während der Anweisungsauslösung (siehe Fig. 6B, Signal PIOCT) umfassen die 10 Bit-Kanalnummer und den Funktionscode a und b. Zu dem Zeitpunkt wo die Kanalnummer verglichen wird und wo festgestellt wird, daß es die Kanalnummer des Mikroprozessors ist, wird diese Information in dem Register 362 (Kanalnummer) und dem Register 311 (FCN) gespeichert und eine Unterbrechungsanforderung an den Mikroprozessor wird in einem Flip-Flop gespeichert. Da der Mikroprozessor dieser Anforderung als eine maskierte Unterbrechung behandelt, kann seine Maßnahme verschoben werden. Die zeitliche Folge dieser Maßnahmen ist in Fig. 6B dargestellt.The microprocessor interrupt mechanism described here is activated when the central processing unit CPU-600 initiates an I / O command which is directed to one of the I / O devices 620 or 601 via the I / O bus via the channel number. Should the command be directed to this microprocessor 601, a decoder recognizes the channel number and sets the microprocessor interrupt request. The 16 bits of information on the system bus during instruction initiation (see Fig. 6B, signal PIOCT) include the 10 bit channel number and the function code a and b. At the point in time when the channel number is compared and when it is determined that it is the channel number of the microprocessor, this information is stored in register 362 (channel number) and register 311 (FCN) and an interrupt request to the microprocessor is displayed in a flip- Flop saved. Since the microprocessor treats this request as a masked interrupt, its action can be postponed. The time sequence of these measures is shown in FIG. 6B .

Typischerweise adressiert der Mikroprozessor 601, wenn er einen Unterbrechungsbefehl empfängt, der Reihe nach hexadezimale Speicherplätze FFF8 und FFF9 im Hauptspeicher 108, in welchem das hochwertige Byte und das niedrigwertige Byte des Unterbrechungsvektors gespeichert sind. Es ist ersichtlich, daß die hexadezimale Adresse FFF8 bei binärer Notierung in dem Adressenformat 103 folgende Bitkombination aufweist: 1111111111111000. In gleicher Weise ergibt sich die hexadezimale Adresse FFF9 bei binärer Notierung folgendermaßen: 1111111111111001. Wenn demgemäß die Adresse FFF9 adressiert wird, nachdem das hochwertige Byte des Unterbrechungsregisters abgerufen worden ist, so werden die Bits mit dem Wert "1" der Adresse FFF9 wirksam. Diese Bitsignale werden in verschiedenen Kombinationen oder einzeln den verschiedenen Hardware-Schaltkreiselementen in Fig. 3 zugeführt. Mit anderen Worten werden diese Adressbits anstelle der hexadezimalen Adresse FFF9 im Hauptspeicher 608A und 608B benutzt, um a) den Seitenunterteilungs-Adressmechanismus zu sperren und b) den Decodierer 380 in der Zentraleinheit CPUTypically, when the microprocessor 601 receives an interrupt command, it sequentially addresses hexadecimal storage locations FFF8 and FFF9 in main memory 108 in which the high order byte and the low order byte of the interrupt vector are stored. It can be seen that the hexadecimal address FFF8 with binary notation in the address format 103 has the following bit combination: 1111111111111000. In the same way, the hexadecimal address FFF9 results as follows with binary notation: 1111111111111001. If the address FFF9 is addressed accordingly after the high-value byte of the interrupt register has been called up, the bits with the value "1" of address FFF9 take effect. These bit signals are supplied to the various hardware circuit elements in FIG. 3 in various combinations or individually. In other words, these address bits are used instead of the hexadecimal address FFF9 in the main memory 608A and 608B to a) disable the page division addressing mechanism and b) the decoder 380 in the central processing unit CPU

030028/0822030028/0822

freizugeben, welcher seinerseits c) das Register 311 freigibt, um eine vorbestimmte Basisadresse an den PROM/RAM-601B zu liefern und der e) seinerseits die Adresse eines ausgewählten Funktionscodes innerhalb von 64 Funktionscodes enthält. Dies geschieht, wenn die Bits 0, 1, 2, 13, 14 und 15 der zuvor erwähnten Adresse den Eingangsanschlüssen des Decodierers 380 gemäß Fig. 4C zugeführt werden. Wie zuvor erwähnt, weisen bei der Adressierung der hexadezimalen Adresse FFF9 die Bits 13 und 14 den Wert "0" und das Bit 15 den Wert "1" auf, wobei diese Bits den Freigabeanschlüssen des Decodierers 380 zugeführt werden. Darüber hinaus werden die Bits 0, 1 und 2 der Adresse, die alle den Wert "1" besitzen, den Anschlüssen 1, 2 und 4 des Decodierers 380 in Fig. 4C zugeführt. Da die Anschlüsse, denen die Bits 13 und 14 in Form der Signale CADU13 und CADU14 zugeführt werden, eine Invertierung aufweisen und die Informtion an den Anschlüssen 1, 2 und 4 des Decodierers 380 jeweils den Wert "1" aufweist, ergibt sich ein aktives Signal CADUH7 am Ausgangsanschluß 7 des Decodierers 380. Dies ist der Fall, da der Binärwert 111 als Dezimalwert 7 decodiert wird. Das Signal CADUH7 wird sodann dem Freigabeanschluß F des Registers 311 in Fig. 3 zugeführt und es wird ferner gleichzeitig an den Freigabe/Sperr-Eingangsanschiuß der Multiplexer 301, 302 und 303 und an das UND-Gatter 311A angelegt, wodurch der Seitenunterteilungs-Adressiermechanismus gesperrt wird. Anstatt des Zugriffs auf den hexadezimalen Speicherpla-tz FFF9 wird dementsprechend das Register 311 freigegeben und es liefert die niedrigwertigen Bits 10 bis 15 an seinen Ausgangsanschlüssen. Diese Bits bilden eine Adresse für die Adressierung des Speichers RAM bzw. des Speichers PROM-601B. Der Inhalt an der Adresse des Speichers 601B wird in der niedrigwertigen Byteposition des Programmzählers 601D abgelegt. Die Information in dem Register 311 stellt die Funktionscodeinformation gemäß Fig. 5B dar, die durch die Zentraleinheit CPU abgeliefert worden ist, wenn eine Unterbrechung ausgelöst wurde (siehe Signal PBYTE in Fig. 6B). Da der Seitenunterteilungs-Adressiermechanismus gesperrt worden ist und da das Signal CADUH7 erneut die Adressierung des hexadezimalen Speicherplatzes FFF9 an das Register 311 richtet undwhich in turn c) enables the register 311 to transfer a predetermined base address to the PROM / RAM-601B and which e) in turn contains the address of a selected function code within 64 function codes. This happens when bits 0, 1, 2, 13, 14 and 15 of the aforementioned address are input terminals of decoder 380 are supplied according to Fig. 4C. As mentioned before, when addressing the hexadecimal address FFF9, bits 13 and 14 has the value "0" and bit 15 has the value "1", these bits being supplied to the enable terminals of the decoder 380 will. In addition, bits 0, 1 and 2 of the address, all of which have the value "1", are assigned to connections 1, 2 and 4 of decoder 380 in Fig. 4C. Since the connections to which bits 13 and 14 are in the form of signals CADU13 and CADU14 are supplied, have an inversion and the information at the terminals 1, 2 and 4 of the decoder 380, respectively has the value "1", there is an active signal CADUH7 at the output terminal 7 of the decoder 380. This is the case, because the binary value 111 is decoded as a decimal value 7. The signal CADUH7 is then the release terminal F of the register 311 in Fig. 3 and it is also simultaneously to the enable / disable input connection of the multiplexers 301, 302 and 303 and applied to AND gate 311A, whereby the page division addressing mechanism is blocked. Instead of accessing the hexadecimal memory location FFF9 the register 311 is enabled and it provides the low-order bits 10 to 15 at its output terminals. These Bits form an address for addressing the RAM or PROM-601B memory. The content at the address of the Memory 601B is stored in the low-order byte position of program counter 601D. The information in the register 311 represents the function code information shown in FIG. 5B which has been delivered by the central processing unit CPU when a Interruption was triggered (see signal PBYTE in Fig. 6B). Since the page division addressing mechanism has been disabled and since the signal CADUH7 again directs the addressing of the hexadecimal memory location FFF9 to the register 311 and

030028/0822030028/0822

da das Signal CADUH7 zusätzlich das Register 311 freigibt, werden die niedrigwertigen Bits 10 bis 15 des Registers 311 benutzt, um auf Information in dem Speicher 601B zuzugreifen, die in der niedrigwertigen Byteposition des ProgranunzShlers 601D abgelegt wird. Da es 6 Bits in dem niedrigwertigen Byte des Funktionscodes gibt, können hiermit bis zu 64 Speicherplätze in dem Speicher RAM bzw. PROM 601B adressiert werden. Jeder dieser Speicherplätze enthält das niedrigwertige Byte des Unterbrechungsvektors, dem sein Funktionscode zugeordnet ist, welcher bei Ergänzung die Unterbrechungsadresse umfaßt.since the CADUH7 signal also enables register 311, the lower-order bits 10 to 15 of register 311 are used, in order to access information in the memory 601B which is stored in the low-order byte position of the program counter 601D will. Since there are 6 bits in the low-order byte of the function code, up to 64 memory locations can be saved in the RAM or PROM 601B can be addressed. Each of these storage locations contains the low-order byte of the interrupt vector, the its function code is assigned, which includes the interrupt address when supplemented.

In Abhängigkeit von dem Informationsinhalt des Funktionscodes wird dementsprechend eine Unterbrechung erzielt, die an irgendeinem von 64 verschiedenen Speicherplätzen in dem Speicher PROM 601B starten kann und dementsprechend bis zu 64 verschiedene Unterbrechungsoperationen ausführen kann. Darüber hinaus erhalten der Programmzähler 601D bzw. andere Register ihre Information von einem Schattenspeicherplatz und dementsprechend ist es nicht erforderlich, zunächst die alte Information zu entladen und sodann zu sichern und sodann die neue Information zu laden und den gleichen Prozeß erneut zu wiederholen, wenn die Unterbrechungsschleife verlassen wird. Es sei ferner vermerkt, daß die normale Unterbrechungsprozedur des Mikroprozessors, welche den Mikroprozessor an die Adresse FFF9 verweist, umgangen wild iiinl «Min' /Vii er..·;ο ViM) (> I ο i iiilrul l<jch /Vh eri-en .iu { om.il i r-i\\ durch den Funktionscode geliefert wird, wodurch eine wirksame Beschnejdung auf 64 verschiedene Vektoren oder Routinen erzielt wird.Depending on the information content of the function code, an interrupt is accordingly achieved which can start at any one of 64 different storage locations in the memory PROM 601B and can accordingly carry out up to 64 different interrupt operations. In addition, the program counter 601D or other registers receive their information from a shadow memory location and accordingly it is not necessary to first unload and then save the old information and then load the new information and repeat the same process again when the interrupt loop is left. It should also be noted that the normal interrupt procedure of the microprocessor, which refers the microprocessor to the address FFF9, bypassed wild iiinl «Min '/ Vii er .. ·; ο ViM) (> I ο i iiilrul l <jch / Vh eri- en .iu { om.il i ri \\ is supplied by the function code, whereby an effective restriction to 64 different vectors or routines is achieved.

Anhand der Figuren 4 und 6B sei vermerkt, daß bei einer Aktivierung des Signales CADUH7 dieses zusammen mit einem Phasensignal CTPHZD dem UND-Gatter 358A zugeführt wird, wodurch das Signal CEI2CN ausgelöst wird. Darüber hinaus wird das Signal CADUH7 mit dem Signal CECN2I in dem Gatter 358B einer Oder-Verknüpfung unterzogen, um das Signal CECN2I auszulösen. Das Signal CEI2CN wird dem Anschluß C des Kanalregisters 309 in Fig. 3 zugeführt, das wie zuvor erläutert, dem Kanalregister 115A inWith reference to FIGS. 4 and 6B, it should be noted that when activated of the signal CADUH7 this is fed to the AND gate 358A together with a phase signal CTPHZD, whereby the Signal CEI2CN is triggered. In addition, the CADUH7 signal is ORed with the CECN2I signal in gate 358B subjected to trigger the CECN2I signal. The CEI2CN signal is applied to terminal C of channel register 309 in FIG. which as previously explained, the channel register 115A in

030028/0822030028/0822

COPYCOPY

Fig. 1A entspricht. In gleicher Weise wird das Signal CECN2I benutzt, um den Inhalt des Kanalnununernregisters 122 in Fig. 1A auf den I-Bus oder umgekehrt zu takten.Fig. 1A corresponds. Likewise, the CECN2I signal is used to store the contents of the channel new register 122 in FIG. 1A to clock on the I-bus or vice versa.

Die Vektorunterbrechung erledigt dementsprechend zwei Dinge: Zunächst adressiert sie automatisch irgendeinen von 64 Speicherplätzen gemäß einem eindeutigen Funktionscode und sodann lädt sie das Hardware-Kanalnummerregister mit der Kanalnummer, die für die Behandlung der Unterbrechung erforderlich ist. Das Kanal-Steuerblockregister CCB-115 kann ebenfalls bei einer Unterbrechung verändert werden, was von dem Funktionscode abhängt. Accordingly, the vector interrupt does two things: First, it automatically addresses any of 64 memory locations according to a unique function code and then it loads the hardware channel number register with the channel number that is required for handling the interruption. The channel control block register CCB-115 can also be used in a Interruption can be changed, which depends on the function code.

Es gibt ferner einen weiteren Unterbrechungstyp, der die Errichtung von Prioritäten innerhalb einer Anzahl von miteinander im Wettbewerb befindlichen Ein/Ausgabe-Geräten mit sich bringt. Dieser Unterbrechungstyp wird mittels eines Festwertspeichers PROM verwirklicht, der eine Anzahl vorbestimmter Speicherplätze aufweist, die die Information für die Festlegung der Prioritäten speichern. Beispielsweise wirkt in Fig. 1A entweder der Empfänger/ Sender USART 116 oder der Empfänger/Sender USART 117 mit dem Mikroprozessor 101 unter Steuerung eines Kanalprogrammes zusammen. Die Prioritäten werden in einem Festwertspeicher PROM 384 in Fig. 4D gebildet und der Signaleingang CPBACK+00 des Festwertspeichers PROM 384 wird aktiviert, wenn der Mikroprozessor 101 ein Hintergrundprogramm bearbeitet. Die Anforderungssignale CORRQT (Empfang) und COTRQT (Senden) des Empfänger/Senders USART 116 werden den Adressanschlüssen 1a und 2a des PROM 384 entsprechend zugeführt. In gleicher Weise werden die Anforderungssignale C1RRQT und ClTRQT des Empfänger/Senders USART 117 den Adressanschlüssen 3a und 4 des Speichers PROM 384 zugeführt. Die Signale CPGCNH, CPGCNL und CPGCND identifizieren die Kanalnummer des gerade aktiven Kanalprogrammes und sie werden den Adressanschlüssen 5a, 6a und 7a zugeführt. Der Festwertspeicher PROM 384 ist im Innern so codiert, daß er ein Ausgangssignal innerhalb von 256 Ausgangssignalen liefert. Die Codes werden durch Befolgung einer Anzahl von Regeln gebildet.There is also another type of interrupt, which is the establishment of priorities within a number of competing input / output devices. This type of interruption is implemented by means of a read-only memory PROM which has a number of predetermined memory locations which store the information for setting the priorities. For example, in Fig. 1A either the receiver / Transmitter USART 116 or the receiver / transmitter USART 117 with the Microprocessor 101 under the control of a channel program. The priorities are formed in a read-only memory PROM 384 in FIG. 4D and the signal input CPBACK + 00 of the read-only memory PROM 384 is activated when microprocessor 101 is processing a background program. The request signals CORRQT (reception) and COTRQT (transmission) of the receiver / sender USART 116 are fed to the address connections 1a and 2a of the PROM 384, respectively. In the same way, the request signals C1RRQT and ClTRQT of the receiver / transmitter USART 117 are den Address connections 3a and 4 of the memory PROM 384 are supplied. The signals CPGCNH, CPGCNL and CPGCND identify the channel number of the currently active channel program and they are fed to the address connections 5a, 6a and 7a. The read-only memory PROM 384 is internally encoded to provide one output signal within 256 output signals. The codes are by compliance formed a number of rules.

030028/082?030028/082?

COPYCOPY

Wenn ein Kanal eine Bearbeitung ausführt, so kann sein Gegenstück nicht abgefangen werden. Dies bedeutet für den Fall, daß der Empfänger/Sender USART 116 empfängt und das Empfangs-Anforderungssignal CORRQT+00 am Eingang des PROM 384 den hohen Pegel besitzt, das Sende/Anforderungssignal COTRQT+00 des USART 116 ebenso wie das Sendesignal CITRQT+00 des USART 117 auf den hohen Pegel gesetzt wird und der USART 116 in dem Empfangsmodus verbleibt bis das Kanalprogramm die Empfangsoperation beendet hat, worauf das Kanalprogramm eine Sendeoperation hinsichtlich des USART 116 starten kann.When a channel is processing, its counterpart cannot be intercepted. This means in the event that the receiver / transmitter USART 116 receives and receives the receive request signal CORRQT + 00 at the input of PROM 384 has the high level, the send / request signal COTRQT + 00 of USART 116 just as the transmit signal CITRQT + 00 of the USART 117 is set to the high level and the USART 116 remains in the receive mode until the channel program completes the receiving operation, whereupon the channel program performs a sending operation regarding the USART 116 can start.

Wenn beide Empfänger/Sender USART 116 und 117 synchron betrieben werden, so erhält die Empfangsoperation Priorität gegenüber der Sendeoperation. Wenn der Empfänger/Sender USART 116 im Sendebetrieb war und der Empfänger/Sender USART 117 das Kanalprogramm für eine Empfangsoperation anforderte, so schaltet das Kanalprogramm auf die Behandlung des Empfänger/Senders USART 117 um, nachdem der Empfänger/Sender USART 116 seine Sendeoperation beendet hat.If both receivers / transmitters USART 116 and 117 are operated synchronously the receive operation is given priority over the send operation. When the USART 116 receiver / transmitter is in transmission mode and the receiver / transmitter USART 117 requested the channel program for a receive operation, the channel program switches to the treatment of the receiver / sender USART 117, after the receiver / transmitter USART 116 has completed its transmit operation.

Wenn beide Leitungen nicht synchron betrieben werden, so besitzt der Empfänger/Sender USART 116 Priorität gegenüber dem Empfänger/ Sender USART 117. Das auf dem Mikroprozessor 101 ablaufende Hintergrundprogramm besitzt Priorität sowohl gegenüber dem USART 116 als auch gegenüber dem USART 117. Die in den Festwertspeicher PROM fest eingespeicherten Logikkonfigurationen definieren die Prioritäten.If both lines are not operated synchronously, the receiver / transmitter USART 116 has priority over the receiver / Transmitter USART 117. The one running on the microprocessor 101 The background program has priority over both the USART 116 and the USART 117. The one in the read-only memory PROM permanently stored logic configurations define the priorities.

Wenn das Kanalprogramm abzufangen ist, wählt das Ausgangssignal des PROM 384 die Kanalnummer des Gerätes aus, das mit dem abgefangenen Kanalprogramm betrieben wird, wobei dies über die Ausgangssignale CICHNH+00, ClCHNL+00 und CICHND+00 des PROM 384 geschieht. Zusätzlich wird das Signal CITCTR am Ausgang des PROM 384 an die Eingänge eines Registers 382 angelegt. Wenn das Kanalprogramm das Ende einer Subroutine erreicht, so wird ein Sprung-Mikrobefehl von dem Mikroprozessor 101 ausgegeben, der den Hexadezimalcode 7EBD40 aufweist. Die mit 7E codierten HexadezimalbitsIf the channel program is to be intercepted, the output signal of the PROM 384 selects the channel number of the device operated with the intercepted channel program, this being done via the output signals CICHNH + 00, ClCHNL + 00 and CICHND + 00 of the PROM 384 . In addition, the signal CITCTR at the output of the PROM 384 is applied to the inputs of a register 382. When the channel program reaches the end of a subroutine, a jump microinstruction is issued from the microprocessor 101 and has the hexadecimal code 7EBD40. The hexadecimal bits encoded with 7E

030028/0822030028/0822

legen einen Sprung-Mikrobefehl fest, die mit BD40 hexadezimal codierten Bits legen die Adresse fest, zu der das Kanalprogramm zu springen hat. Die BD40.,-Adressignale werden durch den Mikroprozessor 101 als Mikrowort "setze Unterbrechungsmaske" interpretiert, wodurch die Unterbrechungsleitung des Mikroprozessors 101 gesperrt wird.define a jump microinstruction, the bits coded hexadecimally with BD40 define the address to which the channel program has to jump. The BD40., Address signals are processed by the microprocessor 101 is interpreted as a microword "set interrupt mask", whereby the interrupt line of the microprocessor 101 is blocked.

Die nächste Adresse BD41,, (1011 1101 0100 0001) wird dem Adressbus 102 und dem Eingangsdecodierer 380 gemäß Fig. 4C zugeführt. Die Bitpositionen 0, 1, 2, 13, 14 und 15 werden dem Eingang des Decodierers 380 in Fig. AC oder dem Decodierer 128 in Fig. 1A als Adressbussignale CADUOO+00, CADU01+00, CADU02+00, CADU13+00, CADU14+00 und CADU15+00 zugeführt. Das Ausgangssignal CADUHT-OO des Decodierers 380 wird auf den niedrigen Pegel gesetzt, wodurch das I-Register 382 in Fig. 4D bzw. das I-Register 130 in Fig. 1A freigegeben wird.The next address BD41 i (1011 1101 0100 0001) is applied to the address bus 102 and the input decoder 380 as shown in FIG. 4C. The bit positions 0, 1, 2, 13, 14 and 15 are applied to the input of the decoder 380 in FIG. AC or the decoder 128 in FIG. 1A as address bus signals CADUOO + 00, CADU01 + 00, CADU02 + 00, CADU13 + 00, CADU14 +00 and CADU15 + 00 supplied. The output signal CADUHT-OO of the decoder 380 is set to the low level, thereby enabling the I register 382 in FIG. 4D and the I register 130 in FIG. 1A, respectively.

Wenn eine Anforderung nicht ausgegeben wird, um das Kanalprogramm abzufangen, so befindet sich das Signal CITCTR-OO auf dem Logikpegel "1" und das Ausgangssignal des Registers 382 tritt auf dem U-Bus 112 in Fig. 1A mittels der Signale CDBUOO-07+00 hexadezimal als 39 auf, wodurch die Rückkehr zum Start des Mikrobefehls gegeben ist. Wenn eine Anforderung nach einem Abfang vorliegt, so befindet sich das Signal CITCTR-OO auf dem Logikpegel "0" und das Ausgangssignal des Registers 382 tritt auf dem U-Bus 112 in Fig. 1A hexadezimal als 01 auf, wodurch ein NO OP-Mikroprogramm vorgegeben ist.If a request is not issued to intercept the channel program, the CITCTR-OO signal is at the logic level "1" and the output of register 382 occurs on U-bus 112 in FIG. 1A by means of signals CDBUOO-07 + 00 hexadecimal than 39, thereby returning to the start of the microinstruction. If there is a request for interception, so the signal CITCTR-OO is at the logic level "0" and the output signal of the register 382 occurs on the U-bus 112 in 1A in hexadecimal as 01, which specifies an NO OP microprogram.

Der Hexadezimalwert 01 auf dem U-Bus 112 wird durch den Mikroprozessor 101 aufgenommen, um eine Behandlungsroutine zu starten, die an dem hexadezimalen Adresspeicherplatz BD42 beginnt und das Kanalprogramm abfängt.The hexadecimal value 01 on the U-Bus 112 is generated by the microprocessor 101 added in order to start a handling routine which begins at the hexadecimal address memory location BD42 and which Channel program intercepts.

In Fig. 4 hindert das Eingangssignal CADUH5-00 am Eingang des UND-Gatters 372 bei hohem Pegel den Fluß der Information von dem U-Bus 112 zu dem M-Bus 109 in Fig. 1A über den Treiber 110, indem das Signal CEMB2U+00 am Ausgang des UND-Gatters 371 in Fig. 4In Fig. 4, input signal CADUH5-00 at the input of AND gate 372 prevents the flow of information therefrom when the level is high U-bus 112 to the M-bus 109 in FIG. 1A via the driver 110, by adding the signal CEMB2U + 00 at the output of the AND gate 371 in FIG. 4

030028/0822030028/0822

auf den hohen Pegel gesetzt wird.is set to the high level.

Gemäß Fig. 3 ist das Signal CPBACK+00 am Ausgang des CCB-Registers 310 wirksam, wenn das Signal CDBIO2+00 des I-Busses in Fig. 1A den Logikpegel "1" aufweist, wodurch dem PROM 384 in Fig. 4D angezeigt wird, daß der Mikroprozessor 101 in einem Hintergrundmodus arbeitet.According to FIG. 3, the signal CPBACK + 00 is at the output of the CCB register 310 takes effect when the signal CDBIO2 + 00 of the I-bus in FIG. 1A has the logic level "1", whereby the PROM 384 4D indicates that the microprocessor 101 is operating in a background mode.

030028/0822030028/0822

Claims (14)

HONEYWELL INFORMATION SYSTEMS INC. 21. Dezember 1979 HONEYWELL INFORMATION SYSTEMS INC. December 21, 1979 Smith Street 5101647 Ge Smith Street 5101647 Ge Waltham, Massachusetts, USA Waltham, Massachusetts, USA Prioritats-AuflösungseinrichtungPriority resolver Patentansprüche:Patent claims: Prioritäts-Auflösungseinrichtung für ein Computersy stem mit mehreren Ein/Ausgabe-Geräten an eineir. Ein/Ausgabe-Bus, einem an den E/A-Eus angeschlossenen Systembus, mit einer Zentraleinheit und einem Mikroprozessor an dem Systembus, mit einem an die Zentraleinheit angeschlossenen Speicherbus, der zu einem Hauptspeicher führt und mit mehreren an den Mikroprozessor angeschlossenen Dialogleitungen, gekennzeichnet durch Priority resolution device for a computer system with multiple input / output devices to one. I / O bus, a system bus connected to the I / O bus, with a central unit and a microprocessor on the system bus, with a memory bus connected to the central processing unit, leading to a main memory leads and several to the microprocessor connected dialog lines, marked by a. eine an den Mikroprozessor angeschlossene erste Einrichtung mit einer ersten vorbestimmten Anzahl von Speicherplätzen zur Speicherung von auf den Hauptspeicher, die Zentraleinheit, den Mikroprozessor, die E/A-Geräte und die Dialogleitungen bezogener Prioritätsinfornation;a. a first device connected to the microprocessor and having a first predetermined number of memory locations for storing on the main memory, the central processing unit, the microprocessor, the I / O devices and the dialog lines related priority information; b. eine an die erste Einrichtung angeschlossene zweite Einrichtung, die auf Signale von dem Hauptspeicher, von der Zentraleinheit, von dem Mikroprozessor, von den E/A-Geräten und von den Dialogleitungen anspricht und irgendeinen der ersten vorbestimmten Speicherplätze adressiert; undb. a second device connected to the first device, which respond to signals from the main memory, from the central processing unit, from the microprocessor, from the I / O devices and is responsive to the dialog lines and addresses any of the first predetermined memory locations; and c. eine an die erste Einrichtung angeschlossene dritte Einrichtung zur Herleitung von Signalen, die die Frioritätsinformation an der Speicherplatzadresse anzeigen.c. a third device connected to the first device for deriving signals that indicate the priority information at the memory location address. 030028/0822030028/0822 ORIGINAL INSPECTEDORIGINAL INSPECTED 2. Einrichtung nach Anspruch 1, gekennzeichnet durch eine an die dritte Einrichtung angeschlossene ünterbrechungseinrichtung zur Zuteilung einer Unterbrechungspriorität zu dem Hauptspeicher, der Zentraleinheit, dem Mikroprozessor, den E/A-Geräten und zu den Dialogleitungen.2. Device according to claim 1, characterized by one connected to the third device interrupt device for assigning an interrupt priority to the main memory, the central unit, the microprocessor, the I / O devices and the dialog lines. 3. Prioritäts-Auflösungseinrichtung für ein Computersystem nit mehreren E/A-Geräten an einem E/A-Bus, wenigstens einem an den E/A-Bus angeschlossenen Systembus, mit wenigstens einer Zentraleinheit und einem Mikroprozessor an dem Systembus, mit wenigstens einem an die Zentraleinheit angeschlossenen Speicherbus, der zu wenigstens einem Hauptspeicher führt und mit mehreren an den Mikroprozessor angeschlossenen Dialogleitungen, gekennzeichnet durch3. Priority resolver for a computer system nit multiple I / O devices on one I / O bus, at least one system bus connected to the I / O bus, with at least one Central unit and a microprocessor on the system bus, with at least one connected to the central unit Memory bus that leads to at least one main memory and with several dialog lines connected to the microprocessor, marked by a. eine an den Mikroprozessor angeschlossene erste Einrichtung mit einer ersten verbestimmten Anzahl von Speicherplätzen zur Speicherung von auf bestimmte Geräte bezogener Information, wobei die PrioritMtsinformation in irgendeinem Speicherplatz der ersten vorbestimmten Anzahl von einer vorbestimmten Kombination von Zuständen abhängt;a. a first device connected to the microprocessor with a first predetermined number of storage locations for the storage of information related to certain devices, the priority information in any Storage space of the first predetermined number is dependent on a predetermined combination of states; b. eine zweite an die erste Einrichtung angeschlossene Einrichtung, die auf Signale entsprechend einer ersten ausgewählten Kombination von Zuständen, deren Priorität aufzulösen ist, anspricht, um einen ersten ausgewählten Speicherplatz innerhalb der vorbestimmten Anzahl zu adressieren; undb. a second facility connected to the first facility, to resolve the priority of signals corresponding to a first selected combination of states is responsive to address a first selected memory location within the predetermined number; and c. eine an die erste Einrichtung angeschlossene dritte Einrichtung zur Herleitung von Signalen, die die an der Speicherplatzadresse gespeicherte Prioritätsinformation anzeigen. c. a third device connected to the first device for deriving signals indicating the priority information stored at the memory location address. 4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Dialogleitungen sich hinsichtlich der Steuerung des Mikroprozessors im Wettbewerb befinden, daß wenigstens eine Dialogleitung synchron und die restlichen Dialogleitungen asynchron betrieben werden, daß eine vierte Einrichtung angeordnet ist, um Signale entsprechend der ersten4. Device according to claim 3, characterized in that that the dialog lines are in competition with regard to the control of the microprocessor, that At least one dialog line is operated synchronously and the remaining dialog lines are operated asynchronously that a fourth facility is arranged to receive signals corresponding to the first 030028/0822030028/0822 .Kombination innerhalb der vorbestimmten Zustandskombinationen zu bilden, wobei die vorbestimmten Zustandskombinationen eine Warnpriorität an die synchron betriebene Dialogleitung umfassen. .Combination within the predetermined combinations of states to form, wherein the predetermined combinations of states include a warning priority to the synchronously operated dialog line. 5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet , daß sich wenigstens zwei Dialogleitungen (a) und (b) bei der Steuerung des Mikroprozessors im Wettbewerb befinden und beide Dialogleitungen asynchron betrieben werden, daß eine fünfte Einrichtung angeordnet ist, um Signale entsprechend der ersten Kombination der vorbestimmten Zustandskombinationen zu bilden, wobei die vorbestimmten Zustandskombinationen eine Warnpriorität an die Dialogleitung (a) umfassen.5. Device according to claim 4, characterized in that there are at least two dialog lines (a) and (b) are in competition in controlling the microprocessor and both dialog lines are operated asynchronously that a fifth device is arranged to generate signals corresponding to the first combination of the predetermined combinations of states to form, wherein the predetermined combinations of states include a warning priority to the dialogue line (a). 6. Vektorielle Mehrweg-Unterbrechungseinrichtung für ein Computersystem mit einem virtuelle'; und einem realen Speicher, einer Seiten-ünterteilungseinrichtung zur Adressierung dieser Speicher, mit einer an den virtuellen und den realen Speicher angeschlossenen Zentraleinheit und mit einem an die Zentraleinheit, den virtuellen und den realen Speicher angeschlossenen Mikroprozessor, welcher einen Festwertspeicher PROM und einen Frogrammzähler aufweist, wobei der Festwertspeicher mehrere Basisadressen zur Adressierung einer vorbestimmten Anzahl von Speicherplätzen in dem realen Speicher aufweist und irgendeine Basisadresse der Aufsuche eines Speicherplatzes in dem realen Speicher dient, in welchem eine vorbestimmte Anzahl von Unterbrechungsroutinen gespeichert ist, gekennzeichnet durch6. Vector multipath interrupt device for a computer system with a virtual '; and a real memory, a page subdivision device for addressing this memory, with a central unit connected to the virtual and real memory and with one connected to the central unit, the virtual and the real memory connected microprocessor, which has a read-only memory PROM and a program counter having, the read-only memory having a plurality of base addresses for addressing a predetermined number of memory locations in the real memory and some base address of the search for a memory location in the real Memory is used in which a predetermined number of interrupt routines are stored, marked by a. eine an den virtuellen und den realen Speicher, die Zentraleinheit und den Mikroprozessor angeschlossene erste Einrichtung zur Sperrung der Seiten-Unterteilungseinrichtung, wenn ein vorbestimmter Speicherplatz in dem realen Speicher adressiert wird;a. one to the virtual and the real memory, the central processing unit and first device connected to the microprocessor for disabling the page dividing device, when addressing a predetermined storage location in the real memory; b. eine an den Programmzähler und den Mikroprozessor angeschlossene zweite Einrichtung zur Adressierung des Festwertspeichers, wenn die erste Einrichtung die Seiten-Unterteilungseinrichtung sperrt; undb. one connected to the program counter and the microprocessor second device for addressing the read-only memory if the first device is the page subdivision device locks; and 030028/0822030028/0822 c. eine an die zweite Einrichtung angeschlossene und auf den Festwertspeicher und den Programmzähler ansprechende Einrichtung zur Adressierung eines ausgewählten Speicherplatzes in dem realen Speicher, wodurch eine ausgewählte Unterbrechungsroutine zur Verwendung durch die Zentraleinheit verfügbar wird.c. one connected to the second device and responsive to the read-only memory and the program counter Means for addressing a selected memory location in the real memory, whereby a selected one Interrupt routine becomes available for use by the central processing unit. 7. Einrichtung nach Anspruch 6, dadurch gekennzeichnet , daß der Programmzähler einen hochwertigen und einen niedrigwertigen Adressenbereich aufweist und daß eine an die dritte Einrichtung angeschlossene vierte Einrichtung angeordnet ist, um in dem hochwertigen Adressenbereich den Inhalt des vorbestimmten Speicherplatzes des realen Speichers zu speichern.7. Device according to claim 6, characterized in that the program counter has a high quality and has a low order address range and that a fourth device connected to the third device is arranged to in the high-quality address area the content of the predetermined memory location of the real To save memory. 8. Einrichtung nach Anspruch 7, gekennzeichnet durch eine vierte Einrichtung zur Speicherung des Inhalts eines ausgewählten Festwertspeicher-Speicherplatzes in dem niedrigwertigen Adressenbereich des Prograirjnzählers.8. Device according to claim 7, characterized by a fourth device for storing the content of a selected read-only memory storage location in the low-order address area of the programming counter. 9. Vektorielle Mehrweg-Unterbrechungseinrichtung für ein Computersystem mit einem virtuellen und einem realen Speicher, wobei der reale Speicher ein hochwertiges Byte und ein niedrigwertiges Byte entsprechend einem Unterbrechungsvektor in einem ersten und zweiten vorbestimmten Speicherplatz speichert, mit einer Seiten-Unterteilungseinrichtung zur Adressierung des virtuellen und des realen Speichers, einer an den virtuellen und realen Speicher angeschlossenen Zentraleinheit und einem an die Zentraleinheit und den virtuellen und den realen Speicher angeschlossenen Mikroprozessor, der einen Festwertspeicher und einen Programmzähler aufweist, wobei der Festwertspeicher mehrere Basisadressen zur Adressierung einer νorbestimmten Anzahl von Speicherplätzen in dem realen Speicher aufweist und der Programmzähler einen hochwertigen und einen niedrigwertigen Adressenbereich besitzt, gekennzeichnet durch9. Vector multipath interrupt device for a computer system with a virtual and a real memory, the real memory being a high-order byte and a low-order byte Byte corresponding to an interrupt vector stores in a first and second predetermined memory location, with a page divider for addressing the virtual and the real memory, one to the virtual one and real memory and a central unit connected to the central unit and the virtual and real memory connected microprocessor, which has a read-only memory and a program counter, the read-only memory several base addresses for addressing a specific one Number of storage locations in the real memory and the program counter has a high value and a low value Has address range, identified by 030028/0822030028/0822 a. eine erste Einrichtung zur Ausgabe eines Unterbrechungsbefehles zur Unterbrechung der Zentraleinheit; a. a first device for issuing an interrupt command to interrupt the central unit; b. eine an die erste Einrichtung angeschlossene und auf den Unterbrechungsbefehl ansprechende zweite Einrichtung zur Adressierung des ersten vorbestimmten Speicherplatzes des realen Speichers;b. a second device connected to the first device and responsive to the interrupt command for Addressing the first predetermined memory location of the real memory; c. eine an den realen Speicher und den Programmzähler angeschlossene und auf die zweite Einrichtung ansprechende dritte Einrichtung zum Abruf des hochwertigen Bytes des Unterbrechungsvektors aus dem ersten vorbestimmten Speicherplatz des realen Speichers in den hochwertigen Adressenbereich des Programmzählers; undc. one connected to the real memory and the program counter and third means, responsive to the second means, for retrieving the high-order byte of the Interrupt vector from the first predetermined memory location of the real memory in the high-value address area the program counter; and d. eine an die zweite Einrichtung angeschlossene vierte Einrichtung zur Adressierung des zweiten vorbestimmten Speicherplatzes des realen Speichers.d. a fourth device connected to the second device for addressing the second predetermined memory location of the real memory. 10. Abfangeinrichtung für Kanalprogramme in einem Computersystem mit einem Hauptspeicher an einem Speicherbus, einem an den Speicherbus angeschlossenen Bustreiber zur Freigabe und Sperrung des Informationsflusses zu dem Hauptspeicher, einem an den Bustreiber angeschlossenen U-3us, wobei an den U-Bus ein Kanalprogramme bearbeitender Mikroprozessor und ein Befehlsregister angeschlossen sind und das Befehlsregister der Auslösung einer Abfangoperation und mehrerer ebenfalls an den U-Bus angeschlossener Dialoggeräte dient, gekennzeichnet durch 10. Intercepting device for channel programs in a computer system with a main memory on a memory bus, a bus driver connected to the memory bus for enabling and Blocking the flow of information to the main memory, a U-3us connected to the bus driver, with a microprocessor processing channel programs and a command register on the U-bus are connected and the command register of the trip an interception operation and several dialog devices also connected to the U-bus, characterized by a. eine erste an den Mikroprozessor angeschlossene Einrichtung zu dessen Unterbrechung;a. first means connected to the microprocessor for interrupting the same; b. eine zweite Einrichtung zur Adressierung eines ersten vorbestimmten Speicherplatzes in dem Hauptspeicher, wobei dieser erste Speicherplatz erste Signale zur Freigabe der Einrichtung speichert;b. a second device for addressing a first predetermined memory location in the main memory, wherein this first memory location stores first signals for enabling the device; c. eine dritte Einrichtung zur Adressierung eines zweiten vorbestimmten Speicherplatzes in dem Hauptspeicher, wobei dieser zweite vorbestimmte Speicherplatz der nächste auf den ersten Speicherplatz folgende Speicherplatz ist und adressiert wird, wenn keine Unterbrechungsanforderung fürc. a third device for addressing a second predetermined memory location in the main memory, wherein this second predetermined memory location is the next memory location following the first memory location and is addressed when there is no interrupt request for 030028/0822030028/0822 den Mikroprozessor erfolgt, und wobei der zweite vorbestimmte Speicherplatz zweite Signale zur Freigabe des Befehlsregisters speichert;the microprocessor takes place, and wherein the second predetermined memory location second signals for enabling the command register stores; d. eine an den Bustreiber angeschlossene und auf die zweiten Signale ansprechende Einrichtung zur Sperrung des Bustreibers, wobei der normale Speicher-Lesedatenweg gesperrt wird; undd. a device connected to the bus driver and responding to the second signals for blocking the bus driver, the normal memory read data path is disabled; and e. eine an das Befehlsregister und die Dialoggeräte angeschlossene und auf eine Abfanganforderung eines der Dialoggeräte ansprechende fünfte Einrichtung zur Auslösung einer Abfangoperation .e. one connected to the command register and the dialog devices and responsive to an interception request from one of the dialog devices fifth device for triggering an interception operation. 11. Einrichtung nach Anspruch 10, dadurch gekennzeichnet , daß die zweite Einrichtung einen Festwertspeicher, einen virtuellen und einen realen Speicher umfaßt.11. Device according to claim 10, characterized in that the second device has a read-only memory, comprises a virtual and a real memory. 12. Einrichtung nach Anspruch 11, dadurch gekennzeichnet , daß der Bustreiber einen bidirektionalen Tristate-Schaltkreis aufweist.12. Device according to claim 11, characterized in that the bus driver is a bidirectional Has tristate circuit. 13. Abfangeinrichtung für den Abfang eines eine Mikroprozessorsteuerung anfordernden Kanalprogrammes in einem Computersystem, mit einem Hauptspeicher an einem Speicherbus, einem an den Speicherbus angeschlossenen Bustreiber zur Freigabe und Sperrung des Informationsflusses zu dem Hauptspeicher, einem an den Bustreiber angeschlossenen U-Bus, wobei an 'den U-Bus ein Kanalprogramre bearbeitender Mikroprozessor und ein Befehlsregister angeschlossen sind und das Befehlsregister der Auflösung einer Abfangoperation und mehrerer ebenfalls an den U-Bus angeschlossener Dialoggerä'te dient und mit einer an den Speicherbus angeschlossenen Zentraleinheit, gekennzeichnet durch13. Interception device for intercepting a microprocessor control requesting channel program in a computer system, with a main memory on a memory bus, a bus driver connected to the memory bus for enabling and disabling the Information flow to the main memory, one to the bus driver connected U-bus, whereby a channel program processing microprocessor and a command register on the U-bus are connected and the command register of the resolution of an interception operation and several also connected to the U-bus Dialog devices is used and with a connected to the memory bus Central unit, characterized by a. eine an den Mikroprozessor angeschlossene erste Einrichtung zur Bildung einer Abfanganforderung an den Mikroprozessor; unda. first means connected to the microprocessor for forming an intercept request to the microprocessor; and b. eine an die erste Einrichtung angeschlossene zweite Einrichtung zum Abfang der Abfanganforderung.b. a second device connected to the first device to intercept the interception request. 030028/0622030028/0622 14. Einrichtung nach Anspruch 13, gekennzeichnet14. Device according to claim 13, characterized durch eine an die zweite Einrichtung angeschlossene
dritte Einrichtung zum Abfang der Unterbrechungsanforderung, wenn die Zentraleinheit ein Minimum an Information zu verarbeiten hat.
by one connected to the second device
third means for intercepting the interrupt request when the central processing unit has a minimum of information to process.
030028/0822030028/0822
DE19792952349 1979-01-02 1979-12-24 PRIORITY RESOLUTION DEVICE Granted DE2952349A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US06/000,477 US4271467A (en) 1979-01-02 1979-01-02 I/O Priority resolver
US06/000,402 US4255786A (en) 1979-01-02 1979-01-02 Multi-way vectored interrupt capability
US06/000,315 US4291371A (en) 1979-01-02 1979-01-02 I/O Request interrupt mechanism

Publications (1)

Publication Number Publication Date
DE2952349A1 true DE2952349A1 (en) 1980-07-10

Family

ID=27356647

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792952349 Granted DE2952349A1 (en) 1979-01-02 1979-12-24 PRIORITY RESOLUTION DEVICE

Country Status (3)

Country Link
DE (1) DE2952349A1 (en)
FR (1) FR2445989B1 (en)
GB (1) GB2039107B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3993981A (en) * 1975-06-30 1976-11-23 Honeywell Information Systems, Inc. Apparatus for processing data transfer requests in a data processing system
US4001783A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Priority interrupt mechanism
US4028684A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with repatching capability
DE2645593A1 (en) * 1976-10-07 1978-04-13 Licentia Gmbh Network for variable priority data processor interrupt control - accommodates several programs peripheral and alarm interrupts with relative priorities resettable by software

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3222649A (en) * 1961-02-13 1965-12-07 Burroughs Corp Digital computer with indirect addressing
FR122199A (en) * 1973-12-17
FR2276636A1 (en) * 1974-06-28 1976-01-23 Labo Cent Telecommunicat DEVICE FOR ADDRESSING THE MEMORY OF A REGISTERED PROGRAM CONTROL SYSTEM
US4056847A (en) * 1976-08-04 1977-11-01 Rca Corporation Priority vector interrupt system
US4087857A (en) * 1976-10-04 1978-05-02 Honeywell Information Systems Inc. ROM-initializing apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4001783A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Priority interrupt mechanism
US3993981A (en) * 1975-06-30 1976-11-23 Honeywell Information Systems, Inc. Apparatus for processing data transfer requests in a data processing system
US4028684A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with repatching capability
DE2645593A1 (en) * 1976-10-07 1978-04-13 Licentia Gmbh Network for variable priority data processor interrupt control - accommodates several programs peripheral and alarm interrupts with relative priorities resettable by software

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Motorola Semiconductor Products Inc., Microprocessor Applications Manual, McGraw-Hill Book Company, 1975, S. 3-1 bis 3-20 *

Also Published As

Publication number Publication date
GB2039107B (en) 1983-07-20
GB2039107A (en) 1980-07-30
FR2445989B1 (en) 1987-06-26
FR2445989A1 (en) 1980-08-01

Similar Documents

Publication Publication Date Title
DE1774296C2 (en) Restructurable control unit for electronic digital computers
DE2455047C2 (en) Data processing system with an information store
DE2416609C2 (en) Data processing system with a central processing unit and multiprogramming with several program interruption priority levels
DE602005003987T2 (en) Method of programming a system on chip DMA control, as well as a system on chip for it.
DE2515696C2 (en) Data processing system
DE4010384C2 (en) Burst data transmission method
EP0097725B1 (en) Circuits in the control part of a microprogrammable processor for direct hardware execution of selected instructions
DE2417795C2 (en) Data processing system
DE2411963B2 (en) DATA PROCESSING SYSTEM
DE602005002691T2 (en) Method of programming a system on chip DMA control, as well as a system on chip for it.
EP0006164B1 (en) Multiprocessor system with jointly usable storages
DE2719635A1 (en) ARRANGEMENT FOR AN EXTENSION OF A MICROPROGRAM CONTROL OF A DATA PROCESSING SYSTEM
DE2716051A1 (en) DATA PROCESSING SYSTEM IN WHICH KEYS ARE USED TO ACCESS THE STORAGE
DE2230102A1 (en) CALCULATOR FOR VARIABLE WORD LENGTHS
CH650600A5 (en) CENTRAL PROCESSOR UNIT OF A DATA PROCESSING SYSTEM WITH OPERATION CODE EXTENSION REGISTER.
CH619309A5 (en)
DE2556661A1 (en) CONTROL CIRCUIT WITH ADDRESS EXTENSION
DE2360303C2 (en) Data processing system with address translation for input / output channels
DE2533737A1 (en) DATA PROCESSOR
DE69034165T2 (en) Microprocessor with a variety of bus configurations
DE2759120C2 (en)
DE3344340C2 (en) Data processing arrangement for performing microinstructions
DE2747304A1 (en) MICRO COMMAND DEVICE
CH495584A (en) Data processing system
DE2717700C2 (en) Memory access arrangement

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee