DE3901353A1 - Method and arrangement to raise the number of information words to be transferred via an interface between two units of a data processing system - Google Patents

Method and arrangement to raise the number of information words to be transferred via an interface between two units of a data processing system

Info

Publication number
DE3901353A1
DE3901353A1 DE19893901353 DE3901353A DE3901353A1 DE 3901353 A1 DE3901353 A1 DE 3901353A1 DE 19893901353 DE19893901353 DE 19893901353 DE 3901353 A DE3901353 A DE 3901353A DE 3901353 A1 DE3901353 A1 DE 3901353A1
Authority
DE
Germany
Prior art keywords
words
word
command
information words
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19893901353
Other languages
German (de)
Inventor
Winfried Dipl Ing Glaeser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19893901353 priority Critical patent/DE3901353A1/en
Publication of DE3901353A1 publication Critical patent/DE3901353A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems

Abstract

The number of information words, e.g. command words, to be transferred via an interface between a first unit, e.g. a command memory (BSP), and a second unit, e.g. a control unit (CW), is raised by converting frequently occurring information words into words of smaller bit width, and then recombining these coded words into a code word with the width of the information words. To distinguish between the coded and uncoded information words, a marker bit is added to the information word. After the transfer, the marker bit is inspected, to determine whether the transferred word consists of several coded information words or only of one uncoded information word. If the transferred word consists of several coded information words, it is separated into the individual coded information words using a multiplexer circuit (DMUX), and the coded information words are used as addresses to read the assigned information word from a decoder circuit (DK). The decoded information word is then processed. By combining coded frequently occurring information words into one word of the width of the information words, several information words can be transferred from one unit to another, by transferring one word via an interface. <IMAGE>

Description

Verfahren und Anordnung zur Erhöhung der Anzahl von über eine Schnittstelle zwischen zwei Einheiten einer DVA zu übertragenden Informationsworte.Method and arrangement for increasing the number of over an interface between two units of a DVA information words to be transmitted.

Die Prozessoren werden durch die technische Entwicklung immer schneller, was zur Folge hat, daß die vom Prozessor zu bearbeitenden Befehlsworte entsprechend schnell von einem Befehlsspeicher zum Prozessor übertragen werden müssen. Die Verbindung zwischen einem Befehlsspeicher und dem Prozessor wird damit zu einer Engstelle, die die Geschwindigkeit der Verarbeitung durch den Prozessor negativ beeinflussen kann. Die zwischen Prozessor und Befehlsspeicher liegende Schnittstelle muß deswegen entlastet werden. Es ist bereits vorgeschlagen worden, mit dem Befehlsspeicher einen Cachespeicher zu verbinden, der schneller arbeitet als der Befehlsspeicher und in dem in der Regel die Befehlsworte stehen, die gerade bearbeitet werden. Durch diese Maßnahme wird jedoch die Schnittstelle zwischen Befehlsspeicher und Prozessor nicht entlastet.The processors are getting through the technical development faster, which means that those to be processed by the processor Command words correspondingly quickly from a command memory must be transferred to the processor. The connection between an instruction memory and the processor to a bottleneck that the speed of processing can negatively affect by the processor. The between The processor and the command memory interface must therefore be relieved will. It has already been suggested connect a cache memory to the instruction memory that works faster than the command memory and in which in the Usually there are the command words that are currently being processed. With this measure, however, the interface between Command memory and processor not relieved.

Aus Fig. 1 ergibt sich ein Blockschaltbild eines bekannten Rechners RNR, und zwar nur der Einheiten, die für die Erläuterung des Problems erforderlich sind. Der Rechner RNR besteht aus einem Speicherwerk SW, einem Steuerwerk CW und einem Rechenwerk RW. Das Steuerwerk CW und das Rechenwerk RW bilden zusammen den Prozessor PR. Die Befehle, die vom Prozessor PR abzuarbeiten sind, sind im Speicherwerk SW enthalten, z. B. in einem Befehlsspeicher BSP. Der Befehlsspeicher BSP kann durch einen Cachespeicher CH entlastet werden. Die Befehlsworte im Befehlsspeicher BSP werden mit Hilfe eines Adreßzählers PC über einen Adreßbus AB angesteuert. Die adressierten Befehlsworte werden dann aus dem Befehlsspeicher BSP bzw. aus dem Cachespeicher CH über den Befehlsbus BB zum Steuerwerk CW übertragen. Dort gelangen sie zum Befehlsdecodierer BD, der die Befehlsworte decodiert und mit Hilfe einer Ablaufsteuerung AS Steuersignale erzeugt, die einem Steuerbus ST zugeleitet werden und von dort zu den Einheiten des Rechners gelangen. Zum Beispiel können die Steuersignale derart sein, daß das Rechenwerk RW eine Rechenoperation durchführt. Bei der Ausführung der Befehlsworte erforderliche Daten werden über einen Datenbus DB übertragen, der das Speicherwerk SW mit den übrigen Einheiten des Rechners verbindet.From FIG. 1, a block diagram of a known computer RNR, and only the units that are required for the explanation of the problem is given. The computer RNR consists of a memory unit SW , a control unit CW and an arithmetic unit RW . The control unit CW and the arithmetic unit RW together form the processor PR . The instructions to be processed by the processor PR are contained in the memory SW , e.g. B. in a command memory BSP . The instruction memory BSP can be relieved by a cache memory CH . The command words in the command memory BSP are controlled with the aid of an address counter PC via an address bus AB . The addressed command words are then transferred from the command memory BSP or from the cache memory CH via the command bus BB to the control unit CW . There they arrive at the command decoder BD , which decodes the command words and uses a sequential control system AS to generate control signals which are fed to a control bus ST and from there to the units of the computer. For example, the control signals can be such that the arithmetic logic unit RW performs an arithmetic operation. Data required when executing the command words are transmitted via a data bus DB , which connects the storage unit SW to the other units of the computer.

Wenn ein Prozessor PR sehr schnell arbeitet, dann müssen die Befehlsworte in entsprechender Geschwindigkeit vom Befehlsspeicher BSP bzw. Cachespeicher CH zum Steuerwerk CW übertragen werden. Diese Geschwindigkeit ist begrenzt, so daß zwischen dem Befehlsspeicher BSP bzw. Cachespeicher CH und dem Steuerwerk CW eine Engstelle bezüglich der Übertragungsgeschwindigkeit entsteht.If a processor PR works very quickly, then the command words must be transferred from the command memory BSP or cache memory CH to the control unit CW at an appropriate speed. This speed is limited, so that there is a constriction in the transmission speed between the instruction memory BSP or cache memory CH and the control unit CW .

Die der Erfindung zugrundeliegende Aufgabe besteht darin, ein Verfahren und eine Anordnung zur Durchführung des Verfahrens anzugeben, mit dessen Hilfe die Anzahl der über die Schnittstelle zwischen zwei Einheiten eines Rechners zu übertragenden Informationsworte erhöht werden kann. Der typische Fall für Informationsworte sind die Befehlsworte, die zwischen einem Befehlsspeicher und einem Steuerwerk zu übertragen sind. Die Aufgabe wird bei einem Verfahren der eingangs angegebenen Art gemäß den im Kennzeichen des Anspruchs 1 angegebenen Schritten gelöst.The object underlying the invention is a Method and an arrangement for performing the method specify with the help of the number of over the interface to be transferred between two units of a computer Words of information can be increased. The typical case for Information words are the command words between one Command memory and a control unit are to be transferred. The Task is in a method of the type mentioned according to the steps indicated in the characterizing part of claim 1 solved.

Der Aufwand zur Erhöhung der Anzahl der über eine Schnittstelle zu übertragenden Informationsworte ist also gering. Es ist lediglich erforderlich, daß häufig vorkommende Informationsworte, z. B. die Befehlsworte von Befehlsschleifen, in der angegebenen Art umcodiert werden und die umcodierten Informationsworte zu einem neuen Wort, dem Datenwort, zusammengesetzt werden. Jedes Datenwort besteht somit aus mehreren umcodierten Informationsworten. Zur Unterscheidung der Datenworte von den umcodierten Informationsworten kann ein Markierungsbit eingeführt werden, das dem Datenwort und den nicht veränderten Informationsworten hinzugeführt wird. Informationswort bzw. Datenwort und Markierungsbit bilden dann das sog. Codewort. Dieses Codewort wird über die Schnittstelle übertragen und anschließend im Steuerwerk ausgeführt. Dazu ist erforderlich, daß festgestellt wird, ob das Codewort markiert ist oder nicht markiert ist. Ist es nicht markiert, dann wird das im Codewort enthaltene Informationswort unverändert ausgeführt. Ist das Codewort jedoch markiert, dann müssen die im Codewort enthaltenen codierten Informationsworte wieder decodiert werden und anschließend ausgeführt werden.The effort to increase the number of through an interface words of information to be transmitted are therefore small. It is only necessary that frequently occurring information words, e.g. B. the command words of command loops, in of the specified type and the recoded information words to form a new word, the data word will. Each data word therefore consists of several recoded information words. To differentiate the data words of the transcoded information words, a marker bit be introduced, the data word and the unchanged  Words of information is added. Information word or data word and marker bit then form the so-called Code word. This code word is transmitted via the interface and then executed in the control unit. Is to required to determine whether the codeword is marked is or is not marked. If it is not marked, then the information word contained in the code word executed unchanged. However, if the code word is selected, then the in Codeword contained coded information words decoded again and then run.

Die Feststellung von z. B. häufig vorkommenden Befehlsworten in einem Programm kann der Programmierer treffen. Dasselbe kann aber auch mit Hilfe eines Compilierers getan werden, der z. B. Programmschleifen feststellt und die in den Programmschleifen enthaltenen Befehlsworte umcodiert. Im Befehlsspeicher stehen dann bereits die Codeworte, also die Befehlsworte mit Markierungsbit für den Fall, daß das Befehlswort nicht umcodiert worden ist bzw. die Datenworte mit Markierungsbit, für den Fall, daß mehrere Befehlsworte umcodiert und zu einem Datenwort zusammengefaßt worden sind.The finding of e.g. B. common command words in the programmer can hit a program. The same can but can also be done with the help of a compiler that e.g. B. Detects program loops and those in the program loops encoded command words contained. Are in the command memory then the code words, i.e. the command words with marking bit in the event that the command word is not recoded or the data words with marker bit for which Case that several command words are transcoded and one data word have been summarized.

Eine einfache Anordnung zur Durchführung des Verfahrens, also zur Decodierung der Codeworte, kann aus einem Decodierer bestehen, z. B. einem RAM-Speicher, in dem die Informationsworte stehen. Die Informationsworte können dann von den in dem Codewort enthaltenen codierten Informationsworten adressiert werden. Die Auflösung der Codeworte in codierte Informationsworte kann mit Hilfe einer Multiplexerschaltung erfolgen, die nacheinander die codierten Informationsworte als Adresse der Decodierschaltung zuführt.A simple arrangement for performing the method, so for decoding the code words, can be from a decoder exist, e.g. B. a RAM memory in which the information words stand. The information words can then be those in the code word contained coded information words are addressed. The resolution of the code words in coded information words can be done with the help of a multiplexer circuit, one after the other the coded information words as the address of the decoding circuit feeds.

Anhand eines Ausführungsbeispiels, das in den Figuren dargestellt ist, wird die Erfindung weiter erläutert. Dabei wird davon ausgegangen, daß die Informationsworte Befehlsworte sind. Es zeigtUsing an embodiment shown in the figures the invention is further explained. Doing so assumed that the information words command words are. It shows

Fig. 2 ein Blockschaltbild eines Rechners mit der Anordnung zur Durchführung des Verfahrens, Fig. 2 is a block diagram of a computer with the arrangement for implementing the method,

Fig. 3 den Aufbau eines Codewortes, Fig. 3 shows the structure of a code word,

Fig. 4 die Aufeinanderfolge der Codeworte, Fig. 4 shows the sequence of code words,

Fig. 5 ein Beispiel einer Befehlscodierung, Fig. 5 shows an example of a command encoding,

Fig. 6 der Aufbau eines Codewortes aus codierten Befehlsworten, Fig. 6 shows the structure of a code word from the coded instruction words,

Fig. 7 ein Teil der Ablaufsteuerung des Steuerwerkes, Fig. 7 is a part of the control flow of the control plant,

Fig. 8 eine Ausführungsmöglichkeit der Anordnung zur Durchführung des Verfahrens, Fig. 8 shows a possible embodiment of the arrangement for carrying out the method,

Fig. 9 ein Ablaufdiagramm des Verfahrens. Fig. 9 is a flow chart of the method.

Der Rechner nach Fig. 2 unterscheidet sich vom bekannten Rechner der Fig. 1 dadurch, daß zwischen dem Speicherwerk SW und dem Steuerwerk CW eine zusätzliche Anordnung eingefügt worden ist. Diese zusätzliche Anordnung ist erforderlich, um die über eine Schnittstelle SS zu übertragenden Codeworte zu decodieren. Die Anordnung besteht aus einer Schaltung zur Befehlsanalyse BA, einer Multiplexerschaltung DMUX, einer Decoderschaltung DK und einem Schalter SC. Zusätzlich sind zur Ladung der Decoderschaltung DK Register RG 1 und RG 2 vorgesehen.The computer of FIG. 2 differs from the known computer of FIG. 1 in that an additional arrangement has been inserted between the storage unit SW and the control unit CW . This additional arrangement is necessary in order to decode the code words to be transmitted via an interface SS . The arrangement consists of a circuit for command analysis BA , a multiplexer circuit DMUX , a decoder circuit DK and a switch SC . In addition, registers RG 1 and RG 2 are provided for loading the decoder circuit DK .

Im Ausführungsbeispiel wird davon ausgegangen, daß als Informationsworte Befehlsworte über eine Schnittstelle SS zu übertragen sind. Die Befehlsworte sind bereits codiert und stehen im Befehlsspeicher BSP oder im Cachespeicher CH. Der Aufbau eines Codewortes KW kann Fig. 3 entnommen werden. Das Codewort KW besteht aus einem Markierungsbit MB und einem Datenwort DW. Das Markierungsbit MB gibt an, ob das Datenwort codiert Befehlsworte enthält oder nicht. Wenn z. B. das Markierungsbit MB binär 1 ist, dann enthält das Datenwort DW codierte Befehlsworte, wenn es binär 0 ist, enthält es keine codierten Befehlsworte. Es sei angenommen, daß ein Befehlswort aus n Bit besteht n ist eine ganze Zahl). Dann steht z. B. das Codewort KW aus n +1 Bit, wenn das Markierungsbit MB aus einem Bit besteht. Vom Befehlsspeicher BSP müssen dementsprechend über den Befehlsbus BB n +1 Bit breite Codeworte übertragen werden.In the exemplary embodiment, it is assumed that command words are to be transmitted as information words via an interface SS . The command words are already encoded and are in the command memory BSP or in the cache memory CH . The structure of a code word KW can be seen in FIG. 3. The code word KW consists of a marking bit MB and a data word DW . The marking bit MB indicates whether the data word contains coded command words or not. If e.g. B. the marker bit MB is binary 1, then the data word DW contains coded command words, if it is binary 0, it contains no coded command words. It is assumed that an instruction word consists of n bits ( n is an integer). Then z. B. the code word KW from n +1 bit if the marker bit MB consists of one bit. Accordingly, code words n +1 bit wide must be transmitted from the command memory BSP via the command bus BB .

Aus Fig. 4 kann die Aufeinanderfolge von mehreren Codeworten entnommen werden. Es folgt z. B. auf ein Codewort KW 1, dessen Datenwort nicht codiert ist, ein Codewort KW 2, dessen Datenwort codiert ist.The sequence of several code words can be seen from FIG . It follows e.g. B. on a code word KW 1 , the data word is not coded, a code word KW 2 , the data word is coded.

Fig. 5 zeigt eine Tabelle, nach der z. B. häufig vorkommende Befehlsworte BW in codierte Befehlsworte KI umgewandelt werden können. In der rechten Spalte stehen die n Bit breiten Befehlsworte BW, in der linken Spalte die diesen n Bit breiten Befehlsworten zugeordneten codierten Befehlsworte KI, die dann bei der Decodierung als Adresse verwendet werden. Die Breite der codierten Befehlsworte ist mit m bezeichnet (m ist eine ganze Zahl). Im Ausführungsbeispiel der Fig. 5 ist das codierte Befehlswort KI nur noch 2 Bit breit, während das Befehlswort 4 Bit breit ist. Fig. 5 shows a table according to which, for. B. frequently occurring command words BW can be converted into coded command words KI . In the right-hand column are the n- bit wide command words BW , in the left-hand column the coded command words KI assigned to these n- bit wide command words, which are then used as addresses during decoding. The width of the coded command words is denoted by m ( m is an integer). In the embodiment of Fig. 5, the encoded instruction word KI is only 2 bits wide, while the command word is 4 bits wide.

Die umcodierten Befehlsworte gemäß der linken Spalte der Fig. 5 können zu einem neuen Datenwort zusammengefaßt werden, dessen Breite gleich der Breite der Befehlsworte ist. Ein Beispiel kann Fig. 6 entnommen werden. Hier ist gezeigt, wie in einem Datenwort DW 2 codierte Befehlsworte KI enthalten sind, durch die vier Befehlsworte verschlüsselt sind. Das Datenwort DW hat ebenfalls n Bit breite, also die Breite der Befehlsworte. Dies sind im Ausführungsbeispiel 4 Bit. Zur Kennzeichnung des Datenwortes DW wird das Markierungsbit MB eingeführt, im Ausführungsbeispiel 1 Bit und es entsteht das Codewort KW, das aus 5 Bit im Ausführungsbeispiel besteht. Derartige Codeworte KW stehen dann im Befehlsspeicher BSP.The recoded command words according to the left column of FIG. 5 can be combined to form a new data word, the width of which is equal to the width of the command words. An example can be found in FIG. 6. Here it is shown how coded command words KI are contained in a data word DW 2, through which four command words are encrypted. The data word DW also has a width of n bits, ie the width of the command words. In the exemplary embodiment, these are 4 bits. To identify the data word DW , the marking bit MB is introduced, 1 bit in the exemplary embodiment, and the code word KW is formed , which consists of 5 bits in the exemplary embodiment. Such code words KW are then in the command memory BSP .

Über die Schnittstelle SS werden somit Codewort übertragen, die n +1 Bit breit sind. Im Steuerwerk CW wird festgestellt, ob das Markierungsbit MB binär 1 ist oder nicht. Dazu wird das Markierungsbit MB vom Datenwort DW abgetrennt und der Ablaufsteuerung AS zugeführt. Stellt die Ablaufsteuerung AS fest, daß das Markierungsbit MB binär 0 ist, dann wird das Datenwort DW als Befehlswort über den Schalter SC dem Befehlscodierer BD zugeführt. Der Schalter SC wird in Abhängigkeit der Ablaufsteuerung AS umgeschaltet. Ist das Ergebnis der Überprüfung daß das Markierungsbit MB binär 1 ist, dann wird das Datenwort DW, das n Bit breit ist, der Multiplexerschaltung DMUX zugeführt. Die Multiplexerschaltung DMUX löst das Datenwort DW in die codierten Befehlsworte KI auf und legt die codierten Befehlsworte KI, die m Bit breit sind, als Adresse an den Decodierer DK an. Der Decodierer DK kann als RAM-Speicher aufgebaut sein. In Abhängigkeit des codierten Befehlswortes KI wird der zugeordnete Speicherplatz aus dem Decodierer DK ausgelesen, in dem das nicht codierte zugeordnete Befehlswort gespeichert ist. Dieses Befehlswort ist jetzt wieder n Bit breit und wird dem Schalter SC zugeführt. Durch entsprechende Einstellung des Schalters SC wird dieses Befehlswort nun dem Befehlscodierer BD zugeleitet. Entsprechend werden die übrigen in dem Datenwort DW enthaltenen codierten Befehlsworte KI behandelt, also in nicht codierte Befehlsworte umgewandelt und über den Schalter SC dem Befehlsdecodierer BD zugeleitet.Codeword that are n +1 bits wide are thus transmitted via the interface SS . The control unit CW determines whether the marking bit MB is binary 1 or not. For this purpose, the marking bit MB is separated from the data word DW and fed to the sequence control AS . If the sequential control system AS determines that the marking bit MB is binary 0, then the data word DW is supplied as a command word via the switch SC to the command encoder BD . The switch SC is switched depending on the sequence control AS . If the result of the check is that the marker bit MB is binary 1, then the data word DW , which is n bits wide, is fed to the multiplexer circuit DMUX . The multiplexer circuit DMUX resolves the data word DW into the coded command words KI and applies the coded command words KI , which are m bits wide, as an address to the decoder DK . The decoder DK can be constructed as a RAM memory. Depending on the coded command word KI , the assigned memory location is read out from the decoder DK in which the uncoded assigned command word is stored. This command word is now n bits wide again and is supplied to the switch SC . By setting the switch SC accordingly, this command word is now fed to the command encoder BD . The other coded command words KI contained in the data word DW are treated accordingly, that is to say converted into uncoded command words and sent to the command decoder BD via the switch SC .

Das Laden des Decodierers erfolgt mit Hilfe der Register RG 1 und RG 2. Im Register RG 1 werden die Adressen eingespeichert, im Register RG 2 die zugeordneten Befehlsworte. Das Laden erfolgt über den Datenbus DB.The decoder is loaded using registers RG 1 and RG 2 . In the register RG 1, the addresses are stored in the register RG 2, the associated command words. Charging takes place via the data bus DB .

Fig. 7 kann ein Teil der Ablaufsteuerung AS entnommen werden, mit dem überprüft wird, ob das Codewort markiert ist oder nicht. Die Schaltung besteht aus einem Mikroprogrammcontroller MC, z. B. Am2910A, einem Mikroprogrammspeicher MSP und einem Mikroprogrammregister MPR. Im Mikroprogrammspeicher MSP stehen die Mikroprogramme, die Steuerbits C auslösen, wenn ein Befehlswort auszuführen ist. Über einen Multiplexer MUX₀ ist z. B. die Leitung für das Markierungsbit MB mit dem Mikroprogrammcontroller MC verbindbar. Wenn der Mikroprogrammcontroller MC feststellt, daß das Markierungsbit MB binär 1 ist, dann wird im Mikroprogrammspeicher MSP ein entsprechendes Mikroprogramm angesteuert und die Steuerbits C derart eingestellt, daß mit Hilfe der Multiplexerschaltung DMUX, der Decodierschaltung DK und dem Schalter SC das Datenwort in einzelne Befehlsworte aufgelöst wird und diese dann über den Schalter dem Befehlsdecodierer BD zugeführt werden. Stellt der Mikroprogrammcontroller MC dagegen fest, daß das Markierungsbit MB binär 0 ist, dann wird der Schalter SC umgelegt und die Datenworte als Befehlsworte dem Befehlsdecodierer BD zugeführt. FIG. 7 shows a part of the sequential control system AS which is used to check whether the code word is marked or not. The circuit consists of a microprogram controller MC , e.g. B. Am2910A, a micro program memory MSP and a micro program register MPR. The microprogram memory MSP contains the microprograms that trigger control bits C when a command word is to be executed. Via a multiplexer MUX ₀ z. B. the line for the marker bit MB can be connected to the microprogram controller MC . If the microprogram controller MC determines that the marker bit MB is binary 1, then a corresponding microprogram is activated in the microprogram memory MSP and the control bits C are set such that the data word is resolved into individual command words using the multiplexer circuit DMUX , the decoding circuit DK and the switch SC is and these are then supplied to the instruction decoder BD via the switch. If, on the other hand, the microprogram controller MC determines that the marker bit MB is binary 0, the switch SC is flipped and the data words are supplied to the command decoder BD as command words.

Die Schaltung gemäß Fig. 7 ist bekannt und braucht nicht weiter erläutert zu werden. Mit ihre kann selbstverständlich auch das Laden des Decodierers DK gesteuert werden. Dazu kann über den Multiplexer MUX₀ ein entsprechendes Signal auf den Mikroprogrammcontroller MC übertragen werden, der dann den Mikroprogrammspeicher MSP ansteuert und damit die erforderlichen Steuersignale S erzeugt. Ein entsprechender Ladebefehl kann z. B. am Eingang LD des Multiplexers MUX₀ zugeführt werden.The circuit of FIG. 7 is known and need not be further explained. Of course, the loading of the decoder DK can also be controlled with it. For this purpose, a corresponding signal can be transmitted to the microprogram controller MC via the multiplexer MUX ₀, which then controls the microprogram memory MSP and thus generates the necessary control signals S. A corresponding load command can e.g. B. at the input LD of the multiplexer MUX ₀.

Fig. 8 zeigt die Realisierung der Schaltungsanordnung zur Decodierung der Codeworte KW. n Leitungen des Befehlsbusses BB führen zum Schalter SC, der als Multiplexer M 3 realisiert ist. Die n +1-te Leitung des Befehlsbusses BB, auf der das Markierungsbit MB übertragen wird, führt dagegen zur Ablaufsteuerung AS, und zwar dort zum Mikroprogrammcontroller MC. Die n Leitungen des Befehlsbusses BB werden weiterhin der Multiplexerschaltung DMUX, bestehend aus einem Multiplexer M 1 und einem Multiplexer M 2, zugeführt. Da im Ausführungsbeispiel das Befehlswort mit Hilfe von 2 Bit codiert wird, m =2, erfolgt die Verbindung der Multiplexer M 1 und M 2 mit den Leitungen des Befehlsbusses BB in deren in Fig. 8 dargestellten Art. Die Multiplexer M 1 und M 2 wählen jeweils zu einem Befehlswort gehörende Bit aus und legen sie als Adresse A 1 und A 0 an den Decodierer DK an, der als RAM realisiert ist. In Abhängigkeit der Adresse A 0, A 1 wird am Ausgang des Decodierers DK das decodierte Befehlwort abgegeben und dem Multiplexer SC zugeführt. Fig. 8 shows the realization of the circuit arrangement for decoding the code words KW. n Lines of the command bus BB lead to the switch SC , which is implemented as a multiplexer M 3 . The n + 1-th line of the command bus BB , on which the marking bit MB is transmitted, on the other hand leads to the sequential control system AS , namely to the microprogram controller MC . The n lines of the command bus BB continue to be fed to the multiplexer circuit DMUX , consisting of a multiplexer M 1 and a multiplexer M 2 . Since in the exemplary embodiment the command word is coded using 2 bits, m = 2, the multiplexers M 1 and M 2 are connected to the lines of the command bus BB in the manner shown in FIG. 8. Select the multiplexers M 1 and M 2 each bit belonging to a command word and apply them as address A 1 and A 0 to the decoder DK , which is implemented as RAM. Depending on the address A 0 , A 1 , the decoded command word is output at the output of the decoder DK and fed to the multiplexer SC .

Nach Fig. 8 besteht der Befehlsbus aus 9 Leitungen, acht Leitungen für das Datenwort DW und eine Leitung für das Markierungsbit MB. Entsprechend ist die Decodierschaltung DK über acht Leitungen mit dem Schalter SC verbunden. Mit Hilfe der Multiplexer M 1 und M 2 werden jeweils aufeinanderfolgend die codierten Befehlsworte KI aus einem Datenwort DW an den Decodierer DK angelegt und entsprechend die decodierten Befehlsworte ausgelesen.According to FIG. 8, the command bus consists of 9 lines, eight lines for the data word DW and one line for the marking bit MB . Correspondingly, the decoding circuit DK is connected to the switch SC via eight lines. Using the multiplexers M 1 and M 2 , the coded command words KI from a data word DW are successively applied to the decoder DK and the decoded command words are read out accordingly.

Zum Laden des Decodierers DK mit Befehlsworten wird das Register RG 2 verwendet, das mit dem Datenbus DB verbunden ist. Die richtige Speicherung jedes Befehlswortes erfolgt mit Hilfe einer Adresse A 0 und A 1, die dem codierten Befehlswort KI entspricht. Diese Adresse wird im Register RG 1 zwischengespeichert.Register RG 2 , which is connected to data bus DB , is used to load decoder DK with command words. Each command word is stored correctly with the aid of an address A 0 and A 1 , which corresponds to the coded command word KI . This address is buffered in register RG 1 .

Der Ablauf erfolgt mit Hilfe von den Steuersignalen C, die von der Schaltung nach Fig. 7 erzeugt werden.The sequence is carried out with the aid of the control signals C , which are generated by the circuit according to FIG. 7.

Anhand des Ablaufdiagrammes der Fig. 9 wird die Arbeitsweise noch einmal erläutert. Dabei wird als Beispiel davon ausgegangen, daß die Informationsworte Befehlsworte sind.The mode of operation will be explained again with the aid of the flow chart of FIG. 9. It is assumed as an example that the information words are command words.

In einem ersten Schritt S 1 werden mehrfach auftretende n Bit breite Befehlsworte BW in m Bit breite codierte Befehlsworte KI umgewandelt. Dabei ist m kleiner als n. Zum Beispiel kann n =8 sein, m =2. Die übrigen Befehlsworte werden nicht beeinflußt.In a first step S 1 , multiply occurring n bit wide command words BW are converted into m bit wide coded command words KI . M is less than n . For example, n = 8, m = 2. The other command words are not affected.

Im Schritt S 2 werden die m Bit breiten codierten Befehlsworte KI zu einem n Bit breiten Datenwort DW zusammengefaßt. Das Datenwort DW hat somit dieselbe Breite wie das Befehlswort BW.In step S 2 , the m- bit coded command words KI are combined to form an n- bit data word DW . The data word DW thus has the same width as the command word BW .

Zur Unterscheidung der Datenworte mit codierten Befehlsworten KI und nicht codierten Befehlsworten BW wird dem Datenwort in einem Schritt S 3 ein Markierungsbit MB hinzugefügt und damit ein Codewort KW gebildet. Die Schritte S 1 bis S 3 können von einem Compilerprogramm durchgeführt werden.In order to distinguish the data words with coded command words KI and uncoded command words BW , a marking bit MB is added to the data word in a step S 3 and a code word KW is thus formed. Steps S 1 to S 3 can be carried out by a compiler program.

Das Codewort wird nun über die Schnittstelle SS in das Steuerwerk übertragen (S 4). Im nächsten Schritt, dem Schritt S 5, wird nun das Markierungsbit MB vom Codewort KW abgetrennt und der Ablaufsteuerung zugeführt.The code word is now transmitted to the control unit via the interface SS ( S 4 ). In the next step, step S 5 , the marker bit MB is now separated from the code word KW and fed to the sequence control.

In Abhängigkeit des Markierungsbites MB wird in einem Schritt S 6 überprüft, ob das Markierungsbit binär 0 ist oder binär 1. Ist das Markierungsbit binär 0, dann wird das Datenwort als Befehlswort zur Befehlsdecodierung direkt übertragen. Ist das Markierungsbit dagegen binär 1, dann muß das Datenwort in die ursprünglichen Befehlsworte aufgelöst werden. Dazu wird in einem Schritt S 7 das Datenwort DW in die m Bit breiten codierten Befehlsworte KI aufgelöst, im Schritt S 8 den codierten Befehlsworten KI die entsprechenden Befehlsworte BW zugeordnet. Diese Befehlsworte BW werden dann der Befehlsdecodierung zugeleitet (Schritt S 9).Depending on the marker bit MB , a step S 6 checks whether the marker bit is binary 0 or binary 1. If the marker bit is binary 0, the data word is transmitted directly as a command word for command decoding. If, on the other hand, the marker bit is binary 1, the data word must be resolved into the original command words. For this purpose, the data word DW is resolved into the m- bit coded command words KI in a step S 7, and the corresponding command words BW are assigned to the coded command words KI in the step S 8 . These command words BW are then passed to the command decoding (step S 9 ).

Im Ausführungsbeispiel sind als Informationsworte Befehlsworte verwendet worden. Es ist auch möglich, Daten entsprechend zu behandeln. Das heißt häufig vorkommende Daten können ebenfalls codiert werden, um die Schnittstelle zwischen Speicher und Rechenwerk zu entlasten. Die Codierung der Informationsworte kann auf verschiedene Art geschehen, z. B. auch nach dem Huffman Code.In the exemplary embodiment, command words are used as information words been used. It is also possible to have data accordingly to treat. That means frequently occurring data can also be encoded to interface between Relieve memory and arithmetic unit. The coding of the Words of information can happen in different ways, e.g. B. even after the Huffman Code.

In der Beschreibung sind nur die Teile des Rechners erläutert worden, die notwendig sind, um die Codeworte zu decodieren. Die übrigen Teile des Rechners sind bekannt und können üblichen Aufbaus sein.Only the parts of the computer are explained in the description that are necessary to decode the code words. The remaining parts of the computer are known and can usual structure.

Claims (6)

1. Verfahren zur Erhöhung der Anzahl von über eine Schnittstelle zwischen zwei Einheiten einer DVA zu übertragenden Informationsworte gekennzeichnet durch folgende Schritte:
  • a) vor der Übertragung werden mehrfach vorkommende n Bit breite Informationsworte (BW) in m Bit breite codierte Informationsworte (KI) kleinerer Breite umcodiert,
  • b) die codierten Informationsworte (KI) werden zu einem Datenwort (DW) von n Bit breite zusammengesetzt,
  • c) die Datenworte (DW) und die nicht codierten Informationsworte (BW) werden zur Unterscheidung mit einem Markierungsbit (MB) versehen und damit ein Codewort gebildet,
  • d) nach der Übertragung über die Schnittstelle (SS) wird festgestellt, ob das Markierungsbit (MB) des Codewortes (KW) den einen Wert hat,
    • d1) ist dies der Fall, dann wird es in die ursprünglichen n Bit breiten Informationsworte (BW) decodiert und die decodierten Informationsworte verarbeitet,
    • d2) ist dies nicht der Fall, dann wird das im Codewort enthaltene Informationswort (BW) unverändert verarbeitet.
1. Method for increasing the number of information words to be transmitted via an interface between two units of a DVA, characterized by the following steps:
  • a) before transmission, multiply occurring n- bit information words (BW) are encoded into m- bit encoded information words (KI) of smaller width,
  • b) the coded information words (KI) are combined to form a data word (DW) of n bits wide,
  • c) the data words (DW) and the non-coded information words ( BW) are provided with a marking bit (MB) to distinguish them, thus forming a code word,
  • d) after transmission via the interface (SS) it is determined whether the marking bit (MB) of the code word (KW) has the one value,
    • d1) if this is the case, then it is decoded into the original n- bit information words (BW) and the decoded information words are processed,
    • d2) if this is not the case, the information word (BW) contained in the code word is processed unchanged.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die zu codierenden Informationsworte in Codeworte gleicher Breite umgewandelt werden.2. The method according to claim 1, characterized, that the information words to be coded are the same in code words Width to be converted. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Informationsworte Befehlsworte sind, die von einem Befehlsspeicher (BSP) zur Befehlsdecodierung (BD) übertragen werden.3. The method according to claim 1 or 2, characterized in that the information words are command words that are transmitted from a command memory (BSP) for command decoding (BD) . 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß in Programmschleifen enthaltene Befehlsworte umcodiert werden. 4. The method according to claim 3, characterized, that command words contained in program loops are recoded will.   5. Anordnung zur Durchführung des Verfahrens nach Anspruch 4, gekennzeichnet durch folgende Merkmale:
  • a) es ist eine Schaltungsanordnung (MC, MSP, MPR) vorgesehen, die feststellt, ob das Markierungsbit (MB) des Codewortes (KW) den einen binären Wert hat,
  • b) es ist eine Multiplexerschaltung (DMUX) vorgesehen, die das Datenwort (DW) in die markierten Informationsworte (KI) auflöst,
  • c) es ist ein Decodierer (DK) vorgesehen, der die codierten Informationsworte (KI) in die Informationsworte (BW) umwandelt,
  • d) es ist ein Schalter (SC) vorgesehen, der in Abhängigkeit des Markierungsbits (MB) den Decodierer (DK) oder die eine Einheit direkt mit der zweiten Einheit verbindet.
5. Arrangement for performing the method according to claim 4, characterized by the following features:
  • a) a circuit arrangement (MC, MSP, MPR) is provided which determines whether the marking bit (MB) of the code word (KW) has a binary value,
  • b) a multiplexer circuit (DMUX) is provided which resolves the data word (DW) into the marked information words (KI) ,
  • c) a decoder (DK) is provided which converts the coded information words (KI) into the information words (BW) ,
  • d) a switch (SC) is provided which, depending on the marking bit (MB), connects the decoder (DK) or the one unit directly to the second unit.
6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß der Decodierer (DK) ein RAM Speicher ist.6. Arrangement according to claim 5, characterized in that the decoder (DK) is a RAM memory.
DE19893901353 1989-01-18 1989-01-18 Method and arrangement to raise the number of information words to be transferred via an interface between two units of a data processing system Withdrawn DE3901353A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19893901353 DE3901353A1 (en) 1989-01-18 1989-01-18 Method and arrangement to raise the number of information words to be transferred via an interface between two units of a data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19893901353 DE3901353A1 (en) 1989-01-18 1989-01-18 Method and arrangement to raise the number of information words to be transferred via an interface between two units of a data processing system

Publications (1)

Publication Number Publication Date
DE3901353A1 true DE3901353A1 (en) 1990-07-19

Family

ID=6372325

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19893901353 Withdrawn DE3901353A1 (en) 1989-01-18 1989-01-18 Method and arrangement to raise the number of information words to be transferred via an interface between two units of a data processing system

Country Status (1)

Country Link
DE (1) DE3901353A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003015368A2 (en) * 2001-08-02 2003-02-20 Siemens Aktiengesellschaft Method for transmitting data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3983539A (en) * 1969-05-19 1976-09-28 Burroughs Corporation Polymorphic programmable units employing plural levels of sub-instruction sets
DE2747304B2 (en) * 1977-10-21 1980-06-26 Ibm Deutschland Gmbh, 7000 Stuttgart Micro-command control device
DE3417118A1 (en) * 1983-05-10 1984-11-15 Canon K.K., Tokio/Tokyo Image data processing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3983539A (en) * 1969-05-19 1976-09-28 Burroughs Corporation Polymorphic programmable units employing plural levels of sub-instruction sets
DE2747304B2 (en) * 1977-10-21 1980-06-26 Ibm Deutschland Gmbh, 7000 Stuttgart Micro-command control device
DE3417118A1 (en) * 1983-05-10 1984-11-15 Canon K.K., Tokio/Tokyo Image data processing device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
- US-Z: Instruction buffer design. In: IBM TechnicalDisclosure Bulletin, Vol.20, No.11B, April 1978, S.4832-4833 *
US-Z: KOOPMANN, Phil: The WISC Concept. In: BYTE, April 1987, S.187-194 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003015368A2 (en) * 2001-08-02 2003-02-20 Siemens Aktiengesellschaft Method for transmitting data
WO2003015368A3 (en) * 2001-08-02 2003-05-01 Siemens Ag Method for transmitting data
CN100334862C (en) * 2001-08-02 2007-08-29 西门子公司 Method for transmitting data
US7436823B2 (en) 2001-08-02 2008-10-14 Siemens Aktiengesellschaft Method for transmitting data

Similar Documents

Publication Publication Date Title
DE2515696C2 (en) Data processing system
DE60035171T2 (en) Methods and circuits for quickly finding the minimum / maximum value in a set of numbers
DE1237363B (en) Arithmetic-logical unit
DE3914265A1 (en) CONTROLLING FLOW RIBBON OPERATION IN A DYNAMIC BUS ADAPTATION USING THE MICROCOMPUTER SYSTEM
DE1774296B2 (en) Restructurable control unit for electronic digital computers
DE2524046A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
EP0010185A1 (en) Virtual-addressing device for a computer
DE2718551B2 (en)
DE2906685C2 (en)
DE3307194C2 (en)
DE2900586A1 (en) ARRANGEMENT FOR DECODING CODE WORDS OF VARIABLE LENGTH
DE3644015C2 (en)
DE2617485A1 (en) PROCEDURE AND CIRCUIT ARRANGEMENT FOR PROCESSING MICRO-COMMAND SEQUENCES IN DATA PROCESSING SYSTEMS
DE2336676B2 (en) Device for modifying microprogram instructions
EP0075893B1 (en) Memory operand alignment circuit arrangement for decimal and logical instructions
DE3121046A1 (en) ARITHMETIC LOGIC UNIT WITH BIT MANIPULATION
DE3901353A1 (en) Method and arrangement to raise the number of information words to be transferred via an interface between two units of a data processing system
DE2440390C3 (en)
DE4026569A1 (en) CENTRAL UNIT
DE2164718A1 (en) Method and data processing system for controlling a large number of input / output units by means of a central unit
DE19580638B4 (en) A computer system and method for controlling a peripheral device in a computer system
DE2915113A1 (en) BUS DEVICE FOR A DATA PROCESSING SYSTEM
DE2233164B2 (en) Partial amendment of stored data - using logic circuit transferring part of bit sequence between registers
DE3113189A1 (en) &#34;METHOD AND DEVICE FOR CONVERTING DIGITAL CHARACTER CODES RECEIVED OR DELIVERED BY A DATA PROCESSING SYSTEM&#34;
DE2150292C2 (en) Microprogram-controlled data processing system with superimposed execution and extraction of commands

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8139 Disposal/non-payment of the annual fee