KR880000817B1 - Data processing apparatus and method - Google Patents

Data processing apparatus and method Download PDF

Info

Publication number
KR880000817B1
KR880000817B1 KR1019810004378A KR810004378A KR880000817B1 KR 880000817 B1 KR880000817 B1 KR 880000817B1 KR 1019810004378 A KR1019810004378 A KR 1019810004378A KR 810004378 A KR810004378 A KR 810004378A KR 880000817 B1 KR880000817 B1 KR 880000817B1
Authority
KR
South Korea
Prior art keywords
instruction
command
selection circuit
register
registers
Prior art date
Application number
KR1019810004378A
Other languages
Korean (ko)
Other versions
KR830008243A (en
Inventor
마사또 야마기시
Original Assignee
가부시기가이샤 히다끼 세이사꾸쇼
미다 가쓰시게
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 가부시기가이샤 히다끼 세이사꾸쇼, 미다 가쓰시게 filed Critical 가부시기가이샤 히다끼 세이사꾸쇼
Publication of KR830008243A publication Critical patent/KR830008243A/en
Application granted granted Critical
Publication of KR880000817B1 publication Critical patent/KR880000817B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

This invention relates to a command processing control in a data processing device. The predetermined command from main memory device (1) is applied to the command registers (2)-(7). The outputs of old command pointer (14), new command pointer (15) and microcommand line (19) are connected to the new/old command conversion circuit. The microcommand line (19) is the output of the microcommand register and contains operational information for operater (13). The command code line (22) is connected to the operational code conversion circuit (17) through microcommand line (20). The control signal which is obtained by decoding microcommand is applied to each microcommand line.

Description

데이터 처리장치 및 그 방법Data processing device and method

제1도는 대표적인 명령의 포매트를 나타낸 도면.1 shows a format of a representative command.

제2도는 본원 발명의 일실시예를 나타낸 블록도.2 is a block diagram showing an embodiment of the present invention.

제3도는 제2도의 신구명령전환회로의 상세 블록도.3 is a detailed block diagram of the old and new command switching circuit of FIG.

제4도는 본원 발명의 일실시예에 있어서의 마이크로 명령 플로챠트.4 is a micro-instruction flowchart in one embodiment of the present invention.

제5도는 본원 발명에 있어서의 명령 처리의 일례의 설명도.5 is an explanatory diagram of an example of command processing in the present invention.

본원 발명은 데이터처리장치에 있어서의 명령처리제어에 관한 것이다.The present invention relates to command processing control in a data processing apparatus.

명령처리의 고속화를 위해 실행이 예상되는 명령을 복수개미리기억장치에서 독해하여 명령레지스터에 격납해두는 기술이 사용되고 있다. 한편 명령의 실행은 어떤 명령의 실행의 끝나고나서 다음 명령의 실행을 하는 것이 소형의 계산기에는 일반적이다. 따라서, 명령처리의 속도의 향상은 여기서 끝나고 있었다. 대형의 계산기에서는 파이프라인제어라고 하는 명령의 각 처리스텝마다 다른 명령을 실행할 수 있는 하드웨어를 배설하고, 복수의 명령을 병행해서 실행하는 방식이 있지만, 제어가 복잡해져서 소형의 계산기에는 적당하지 못하다.In order to speed up the instruction processing, a technique of reading an instruction, which is expected to be executed, from a plurality of memory units and storing the instructions in an instruction register is used. On the other hand, it is common for a small calculator to execute a command after the execution of a command. Thus, the improvement of the speed of the instruction processing has ended here. In large calculators, there is a system in which hardware capable of executing different instructions is provided for each processing step of an instruction called pipeline control and a plurality of instructions are executed in parallel. However, the complexity of the control is not suitable for a small calculator.

본원 발명의 목적은 간단한 구성으로 명령의 처리속도를 향상시킨 데이터 처리장치의 제공에 있으며, 나아가서는 복수의 명령처리의 일부를 시간적으로 중첩시키는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide a data processing apparatus which improves the processing speed of an instruction with a simple configuration, and furthermore, to overlap a part of a plurality of instruction processings in time.

본원 발명은 명령레지스터에 격납된 복수의 연속되는 명령을 마이크로명령의 지시에 의해서, 명령실행의 도중에 선택적으로 전환하여 사용함으로써, 명령 실행중에 생기는 마이크로프로그램 처리장치의 대기시간을 다른 명령의 실행에 충당시키는 것이다. 이에따라 명령의 처리속도를 향상시킨다.According to the present invention, a plurality of consecutive instructions stored in the instruction register are selectively switched and used during the instruction execution by the instruction of the micro instruction, thereby allocating the waiting time of the microprogram processing apparatus generated during the instruction execution to the execution of other instructions. It is to let. This improves the processing speed of the command.

데이터처리장치에 있어서, 일반적으로 명령을 실행하는 데는 다음과 같은 순서를 거친다. 즉 명령을 프로그램이 기억되어 있는 메모리에서 독해하는 오퍼렌드 어드레스(operand address)계산, 어드레스 변환 및/또는 버퍼스토리지(buffer storage) 색인, 오퍼랜드 독해, 연산, 격납데이터의 기억제어유니트에의 전송, 당해데이터의 메모리에의 기입의 스텝이다. 비교적 소형의 데이터처리기구에서는 명령의 독해에 대해서는 명령을 몇개 격납할 수 있는 인스트럭션버퍼에 다음에 처리되어야 할 명령(B)을 미리 독해하여 둔다고(그 후의 처리와 병행해서 독해함)하는 기술을 이용하고 있지만, 그후의 처리에 대해서는 어떤 명령에 대해서 모든 스텝의 처리가 끝나고 나서 다음 명령의 처리가 시작된다. 이것은 명령의 독해보다 나중의 처리를 행하는 하드웨어가 하나이며, 또한 상기 스텝의 각각에 대해서 독립해서 동작하는 것이 불가능하기 때문이다. 이와같은 하드웨어는 명형의 고속처리는 할 수 없지만, 파이프라인이라고 불리우는 처리를 행하는 하드웨어에 비하면 보다 간단하다고 하는 이점도 지니고 있다. 본원 발명은 이 이점을 상실하지 않음채, 상기의 오퍼렌드 어드레스의 계산을 앞서의 명령의 처리가 종료되기 전에, 그 처리시간에 일부 중첩시켜서 행한다.In the data processing apparatus, generally, the execution of a command is performed in the following order. In other words, the operation address calculation, address translation and / or buffer storage index, operand reading, operation, and transfer of the stored data to the memory control unit for reading the instruction from the memory in which the program is stored, This step is to write data into the memory. Relatively small data processing mechanisms use a technique that reads an instruction (B) to be processed next (in parallel with subsequent processing) in an instruction buffer that can store several instructions. In the subsequent processing, the processing of the next instruction is started after the processing of all the steps is completed for a certain instruction. This is because one piece of hardware performs processing later than reading an instruction, and it is impossible to operate independently of each of the above steps. Such hardware is not capable of high speed processing, but also has the advantage of being simpler than hardware that performs a process called a pipeline. The present invention does not lose this advantage, and the calculation of the above operand address is partially superimposed on the processing time before the processing of the preceding instruction is completed.

제1도는 본원 발명의 일실시예에서 사용하고 있는 명령의 포매트(format)의 일부이다. 여기서는 4바이트 길이의 로드(load)명령을 예로들어 설명한다. OP부는명령코드필드를 나타내며, R1부는 제1오퍼렌드필드가 격납되어 있는 범용(汎用)레지스터의 어드레스를 나타낸다. 본 실시예에서는 범용 레지스터는 16개로 한다. X2부는 지표가 격납되어 있는 범용레지스터의 어드레스, B2부는 기본어드레스가 격납되어 있는 범용레지스터의 어드레스를 각기 나타내며, D2는 변위(變位)라고 불리우는 B2, X2에 의해서 결정되는 기점(基點)으로부터의 어드레스의 거리를 나타낸 것이다.1 is a part of a format of an instruction used in an embodiment of the present invention. Here, a 4-byte load instruction will be described as an example. The OP portion represents the instruction code field, and the R1 portion represents the address of the general register in which the first operand field is stored. In this embodiment, 16 general-purpose registers are used. The X2 part represents the address of the general purpose register in which the indicator is stored, and the B2 part represents the address of the general purpose register in which the basic address is stored, and the D2 is from the base point determined by B2 and X2 called displacements. The distance of the address is shown.

OP부가 로드명령인 경우의 명령동작은 변위와 기본어드레스, 지표를 가산하여 주기억의 어드레스를 생성하고, 이 주기억의 내용을 R1부에서 지정된 범용레지스터로 옮긴다. 다음의 실시예에서는 로드명령을 연속해서 실행하는 경우에 대해 설명한다.When the OP unit is a load instruction, the instruction operation adds the displacement, the basic address, and the index to generate an address of the main memory, and transfers the contents of the main memory to the general register specified in the R1 unit. In the following embodiment, a case where the load instruction is executed continuously will be described.

제2도는 본원 발명의 일실시예인 오퍼랜드 어드레스연산회로의 블록도이다. 명령 레지스터(2)-(7)에는 주기억장치(MM)(1)에서 미리 꺼내서 독해된 명령이 격납되며, 그 출력과, 구명령 포인터(14) 신명령 포인트(15), 마이크로 명령선(19)의 출력이 신구명령 전환 회로(16)에 접속되며, 이 회로에서 범용레지스터 어드레스선(21), 명령코드선(22) 명령길이선(23)에 각기 신호를 작성한다. 마이크로 명령선(19)은 마이크로 명령이 격납되는 마이크로 명령 레지스터의 출력이며, 명령레지스터(2)-(7)에 격납되어 있는 신구명령중 어느쪽의 명령처리를 행하는가를 지정하는 정보와, 그 명령중의 어느 레지스터지정을 선택하는가의 정보를 포함한다. 또한 마이크로명령선(20)은 연산기(13)에 대한 연산정보를 포함한다. 명령코드선(22)은 마이크로명령선(20)과 함께 연산코드변환회로(17)에 입력되어 연산기(13)의 연산코드를 만든다. 포인터갱신회로(18)는 는 구명령포인터(14), 신명령포인터(15), 명령길이선(23)을 입력으로하고, 각 포인터의 갱신치를 작성한다. 제2도 회로의 동작은 마이크로프로그램을 실행함으로써 제어된다. 마이크로명령을 데코드(decode)해서 얻어진 제어신호가 각 마이크로명령선에 주어진다.2 is a block diagram of an operand address operation circuit as an embodiment of the present invention. Instruction registers (2) to (7) contain instructions read in advance from the main memory (MM) 1, the output thereof, old instruction pointer 14, new instruction point 15, and micro instruction line 19 Is connected to the new and old command switching circuit 16, and signals are generated in the general register address line 21 and the command code line 22 and the command length line 23, respectively. The micro command line 19 is an output of a micro instruction register in which a micro instruction is stored, and information specifying which of the old and new instructions stored in the instruction registers 2 and 7 performs the instruction processing, and the instruction. Contains information on which register designation is selected. In addition, the micro command line 20 includes operation information for the calculator 13. The command code line 22 is input to the operation code conversion circuit 17 together with the micro command line 20 to generate the operation code of the calculator 13. The pointer update circuit 18 inputs the old command pointer 14, the new command pointer 15, and the command length line 23, and creates an update value of each pointer. The operation of the FIG. 2 circuit is controlled by executing a microprogram. A control signal obtained by decoding the microcommand is given to each microcommand line.

구명령포인터(14)와 신명령포인터(15)는 명령레지스터(2)-(7)에 격납되어 있는 2개의 명령중 어느 한쪽의 선두위치를 나타내는 포인터이다. 구명령포인터(14)는 연속되는 2개의 명령중 먼저 실행되는 명령의 선두를 격납하고 있는 명령레지스터의 번호(0-5)를나타내며, 신명령포인터(15)는 나중에 실행되는명령의 선두를 격납하고 있는 명령레지스터의 번호를 나타내고 있다. 본원 발명에서는 연속되는 2개의 명령을 병행해서 실행하기 위하여, 상기와 같이 2개의 포인터를 설정한다. 1명령의 길이(바이트수)가 일정하지 않기 때문에 이와 같은 제어가 필요해진다.The old command pointer 14 and the new command pointer 15 are pointers indicating the head position of one of the two commands stored in the command registers 2-7. The old command pointer 14 indicates the number (0-5) of the instruction register that stores the head of the first instruction executed among two consecutive instructions, and the new command pointer 15 stores the head of the instruction to be executed later. The command register number is shown. In the present invention, two pointers are set as described above in order to execute two consecutive instructions in parallel. This control is necessary because the length (bytes) of one instruction is not constant.

포인터갱신회로(18)는 기본적으로는 명령길이(바이트수)에 따라서 그 바이트수를 포인터의 값에 가산하는 것이다. 이 제어는 단순하며, 주지이기 때문에 여기서는 설명을 생략한다. 포인터갱신회로(18)는 새로운 명령의 처리에 들어갈때 신명령포인터(15)의 값을 구명령포인터(14)에 설정하고, 신병령포인터(15)의 값에 새로운 명령의 길이를 나타내는 명령길이선(23)에 의해서 부여되는 바이트수만큼 가산하므로써, 각각의 명령포인터의 값이갱신된다.The pointer update circuit 18 basically adds the number of bytes to the value of the pointer in accordance with the instruction length (number of bytes). This control is simple and well-known, and description is omitted here. The pointer update circuit 18 sets the value of the new command pointer 15 to the old command pointer 14 when entering the processing of the new command, and indicates the length of the command indicating the length of the new command in the value of the new command pointer 15. By adding by the number of bytes given by the line 23, the value of each command pointer is updated.

명령레지스터(2)-(7)은 각기 2바이트길이의 레지스터이며, 주기억장치(MM)(1)에서 독해된 명령은 명령레지스터(2)로부터 순차적으로 격납되고, 레지스터(7)까지 격납되었을때 다시 명령레지스터(2)에 격납된다. 명령의 길이는 가변길이이며, 2바이트, 4바이트 또는 6바이트이고, 명령레지스터에는 2개의 연속된 명령이 격납된다.The instruction registers (2) to (7) are registers each having a 2-byte length, and instructions read from the main memory (MM) 1 are stored sequentially from the instruction register 2 and stored to the register 7. It is stored in the instruction register 2 again. The length of the instruction is variable length, 2 bytes, 4 bytes or 6 bytes, and two consecutive instructions are stored in the instruction register.

본원 발명에서는 연속하는 2개의 명령의 처리가 병행해서 행해지므로 포인터는 상술한 바와 같이 두개 설치된다. 포인터(14)는 2개의 명령중 보다 오랜쪽의 명령이 격납되어 있는 레지스터를 가리키며, 포인터(15)는 보다 새로운쪽의 명령이 격납되어 있는 레지스터를 가리킨다.In the present invention, since two consecutive instructions are processed in parallel, two pointers are provided as described above. The pointer 14 points to the register in which the older instruction is stored, and the pointer 15 points to the register in which the newer instruction is stored.

신구명령전환회로(16)는 마이크로명령선(19)를 통해서 부여되는 신구명령의 어느쪽명령의 처리를 행하는가의 지정에 따라서, 신구명령포인터(14)(15)중의 한쪽을 선택하고, 또 선택한 명령포인터의 값에서 명령레지스터(2)-(7)중 실행해야 할 명령어가 격납되어 있는 위치를 얻는다. 선택한 명령어와 레지스터지정의 선택정보에 의해서, 범용레지스터어드레스선(21), 명령코드선(22), 및 명령길이선(23)에 각기 범용레지스터지정, 명령코드 및 신명령의 길이에 대한 신호를 보낸다. 그 후의 처리는 마이크로프로그램제어장치(40)에서 표시되는 범용의 하드웨어를 사용하여 명령의 종류에 따라서 선택되는 마이크로프로그램의 실행에 의해서 수행된다.The new and old command switching circuit 16 selects one of the old and new command pointers 14 and 15 in accordance with the designation of which command of the new and old command is given through the micro command line 19. The value of the command pointer is used to obtain the position where the instruction to be executed in the instruction registers (2) to (7) is stored. Based on the selected instruction and register designation selection information, signals for the general register designation, the instruction code, and the length of the new instruction are sent to the general purpose register address line 21, the instruction code line 22, and the instruction length line 23, respectively. send. Subsequent processing is performed by execution of a microprogram selected according to the type of instruction using general-purpose hardware displayed by the microprogram controller 40.

제3도에 본원 발명에 의한 신구명령전환회로(16)의 상세한 것을 나타낸다. 선택회로(24), (25)는 명령레지스터(2)-(7)로 부터 각기 구명령포인터(14), 신명령포인터(15)의 내용에 따라 지정된 명령을 명령레지스터(2)-(7)에서 선택된다. 예를 들면 4바이트명령의 경우 선택회로(24)는 구명령포인터(14)의 내용이 "0"일때 명령레지스터(2), (3)의 4바이트, 구명령포인터(14)의 내용이 "3"일때 명령레지스터(5), (6)의 4바이트를 선택하여 출력한다. 선택회로(25)도 동일하다. 선택회로(26), (27)은 마이크로명령선(19)의 지정에 의해 선택회로(24), (25)에서 선택한 각각의 명령에 의해서 지정된는 R1부, R2부, X2부의 어느 범용레지스터어드레스를 선택한다. 선택회로(28)은 마이크로명령선(19)의 지정에 의해 선택회로(26), (27)로 선택된 선택 회로(29)는 2개의 명령의 명령코드부가 주어지며, 마이크로 명령선(19)의 지시에 의해 신명령측 또는 구명령측의 명령코드부 또는 변위(D2)를 선택한다.3 shows the details of the new and old command switching circuit 16 according to the present invention. The selection circuits 24 and 25 execute instructions designated from the command registers 2 and 7 according to the contents of the old command pointer 14 and the new command pointer 15, respectively. ) Is selected. For example, in the case of a 4-byte instruction, the selection circuit 24 has 4 bytes of the instruction registers 2 and 3 when the contents of the old instruction pointer 14 is " 0 ", and the contents of the old instruction pointer 14 are " When 3 ", 4 bytes of command registers (5) and (6) are selected and output. The same applies to the selection circuit 25. The selection circuits 26 and 27 designate any general register addresses specified by the respective instructions selected by the selection circuits 24 and 25 by the designation of the micro command line 19. Choose. The selection circuit 28 is selected by the selection circuits 26 and 27 by the designation of the micro command line 19. The selection circuits 29 are provided with command codes of two commands. According to the instruction, the command code portion or the displacement D2 on the new or old command side is selected.

명령길이작성회로(32)는 보다 새로운쪽의 명령의 명령길이를 나타낸는 신호를 만든다. 이 회로(32)는 종래부터 존재하는 것이지만 상세히 설명하면, 명령의 길이는 명령의 형식에 의한다. 그리고 통상 명령의 형식은 명령의 명령코드부의 2비트에 의해서 표시된다. 따라서 명령길이작성회로(32)는 상기 2비트를 받아, 데코드하고, 2바이트길이명령이면 1, 4바이트길이명령이면 2라고 하는 수치를 발생한다. 비교기(30)는 각각의 명령의 특정부분을 비교하여 일치했을때 분기조건으로서 사용되는 신호(31)를 발생한다. 이 신호(31)는 마이크로프로그램제어 장치(40)에 보낸다.The instruction length creating circuit 32 generates a signal indicating the instruction length of the newer instruction. The circuit 32 is conventionally present, but when described in detail, the length of an instruction depends on the format of the instruction. In general, the format of an instruction is indicated by two bits of the instruction code portion of the instruction. Therefore, the instruction length creating circuit 32 receives the above two bits, decodes them, and generates a numerical value of 1 for a 2-byte length instruction and 2 for a 4-byte length instruction. The comparator 30 compares a specific part of each command and generates a signal 31 which is used as a branch condition when they match. This signal 31 is sent to the microprogram control device 40.

다음에 제3도의, 신규의 명령전환회로(16)를 포함한 처리시스템을 사용하여 오퍼랜드어드레스계산을 하는 것으로서 마이크로프로그램 제어 장치(40)에 격납되어 실행되는 마이크로프로그램의 플로를 제4도에 나타낸다.Next, FIG. 4 shows the flow of the microprogram stored and executed in the microprogram control device 40 by calculating the operand address using the processing system including the new command switching circuit 16 of FIG.

제4도에 의거하여 본 실시예의 동작을 설명한다.The operation of this embodiment will be described based on FIG.

(a) 스텝 1(a) Step 1

이 마이크로명령은 명령페치(fetch)를 지시한다. 명령페치는 명령카운터(도시생략)로 지정된 주기억장치(1)의 내용을 4바이트 독해하고, 명령레지스터(2)-(7)에 격납한다. 페널(Panel)조작 등에 의한 명령의 개시시에 명려카운터가 주기억장치(1)의 어드레스의 4바이트경계에 있을 경우는, 독해된 명령을 선두의 명령레지스터(2)에 격납하고 신명령포인터(15)에 "0"를 넣는다. 그리고 주기억장치(1)는 4바이트경계 밖에 읽을 수 없기 때문에, 명령카운터가 4바이트경계의 중간의 2바이트 경계에 있을 경우는 주기억장치를 2회 독해하며, 1회째는 명령레지스터(2)와 (3), 2회째는 명령레지스터(4)와 (5)에 독해된 데이터를 격납하지만, 명령레지스터(2)에는 불필요한 값이 격납되기 때문에 신명령포인터(15)에는 "1"을 넣어 래지스터(3)에서 신명령이 시작되는 것을 나타낸다. 다음의 설명에서는 명령카운터가 4바이트경계에서 시작되는 경우에 대해서 설명한다.This microinstruction dictates an instruction fetch. The instruction fetch reads four bytes of the contents of the main memory 1 designated by the instruction counter (not shown) and stores them in the instruction registers 2-7. When the command counter is at the 4-byte boundary of the address of the main memory 1 at the start of an instruction by a panel operation or the like, the read instruction is stored in the first instruction register 2 and the new instruction pointer 15 is executed. ) With "0". Since the main memory 1 can only read a 4-byte boundary, the main memory is read twice when the command counter is on the middle 2-byte boundary of the 4-byte boundary, and the first time, the instruction register 2 and ( 3) In the second time, data read in the instruction registers 4 and 5 is stored. However, since unnecessary values are stored in the instruction register 2, the new instruction pointer 15 has " 1 " In 3) the new command is started. The following description describes the case where the command counter starts at the 4-byte boundary.

(b) 스텝 2(b) step 2

명령페치의 완료를 기다리기 위한 마이크로명령이며, 아무런 동작도 하지 않는다.Micro instruction to wait for instruction fetch to complete. No action.

(c) 스텝 3(c) step 3

독해된 명령을 해독하는 마이크로명령이며, 신명령포인터(15)에서 나타내고 있는 명령레지스터의 명령코드에 따라서, 마이크로명령이 다중(多重)분기한다. 제4도는 로드명령에 대해서 표시해 놓았다.It is a micro instruction that decodes the read instruction, and the micro instruction diverges according to the instruction code of the instruction register indicated by the new instruction pointer 15. 4 shows the load command.

제3도에 있어서 명령포인터(15)에 의해서 선택회로(25)에서 레지스터(2)와 (3)이 선택된다. 그리고 마이크로명령의 지시에 의해 선택회로(29)는 선택회로(25)의 명령코드부를 선택해서 출력한다. 출력된 명령코드(22)는 마이크로프로그램제어장치(40)에 주어진다. 마이크로프로그램제어장치(40)는 명령코드(22)을 데코드하고, 그 명령을 실행하는 마이크로 프로그램루틴(routine)의 선두어드레스를 만들고 거기에 제어가 옮겨진다. 로드명령일 때는 스텝 4이후의 루틴으로 다른 명령, 예를 들면 가산명령이면 다른 루틴으로 제어가 옮겨진다. 마이크로프로그램제어장치(40)의 상기 동작은 가장 기본적인 것으로 잘 알려져 있다.In Fig. 3, the registers 2 and 3 are selected in the selection circuit 25 by the instruction pointer 15. Figs. The selection circuit 29 selects and outputs the command code portion of the selection circuit 25 by the instruction of the microcommand. The output command code 22 is given to the microprogram controller 40. The microprogram controller 40 decodes the instruction code 22, creates a leading address of the microprogram routine that executes the instruction, and transfers control there. In the case of a load instruction, control transfers to another routine, for example, an add instruction, to the routine after step 4; The above operation of the microprogram controller 40 is well known to be the most basic.

한편, 같은 명령코드(22)는 연산코드변환회로(17)에 주어진다. 여기서는 명령코드는 데코드하여 그 명령에 따른 동작을 연산기(13)에 지시하는 신호를 만든다.On the other hand, the same command code 22 is given to the operation code conversion circuit 17. In this example, the instruction code is decoded to generate a signal instructing the operator 13 of the operation according to the instruction.

(d) 스텝 4(d) step 4

이 스텝은 지표와 변위를 가산하고, 워크레지스터(11)에 격납하는 동시에 다음의 명령페치를 행한다.This step adds the index and the displacement, stores it in the work register 11 and performs the next instruction fetch.

먼저, 신명령포인터(15)의 내용은 스텝 1에 의해 "0"이 격납되어 있으므로, 선택회로(25)는 현재의 명령으로서, 명령레지스터(2)와 (3)을 선택하고 있다. 선택회로(27)는 본 마이크로명령이 X2부를 사용한다고(X2를 오퍼랜드어드레스 계산의 요소로서 가지고 있음)하는 것에서 마이크로명령의 지시에 의해 명령레지스터터(2)의 하위 4비트(제1도 명령포매트 X2)를 선택해 낸다. 선택회로(28)는 본 마이크로명령이 신명령지정이기 때문에선택회로(27)의 출력을 선택한다. 이와 같이 해서 범용 레지스터 어드레스선(21)에는 스텝1에서 독해된 명령의 X2부의 값이 출력된다. 동시에 선택회로(29)는 본 마이크로명령이 현재의 명령의 변위를 사용하기 때문에, 선택횔(25)의 출력을 선택한다. 현명령코드선(22)을 통해서 선택회로(29)에서 출력되는 변위에 해당하는 하위 12비트를 연산기(13)의 입력으로 한다.First, since the contents of the new command pointer 15 are stored as "0" in step 1, the selection circuit 25 selects the command registers 2 and 3 as the current command. The selection circuit 27 is the lower 4 bits of the instruction register 2 according to the instruction of the microinstruction in that the present microinstruction uses the X2 part (having X2 as an element of the operand address calculation). Matt X2). The selection circuit 28 selects the output of the selection circuit 27 because this microcommand is a new instruction designation. In this way, the value of the X2 portion of the instruction read in step 1 is output to the general-purpose register address line 21. At the same time, the selection circuit 29 selects the output of the selection 25 25 because this microinstruction uses the displacement of the current instruction. The lower 12 bits corresponding to the displacement output from the selection circuit 29 through the current command code line 22 are used as inputs to the calculator 13.

이와같이 해서 범용레지스터어드레스선(21)에 의해 지정된 번용레지스터(12)의 출력과 변위를 연산기(13)로 가산하고, 결과를 워크레지스터(11)에 격납한다.In this way, the output and displacement of the utility register 12 designated by the general-purpose register address line 21 are added to the calculator 13, and the result is stored in the work register 11.

이 스텝에서는 동일한 마이크로명령의 제어에 의해서, 현재의 명령에 대해서 X2+D2→워크레지스터(11)의 처리를 행하는 동시에, 다음 명령의 페치를 개시한다.In this step, under the control of the same microinstruction, the processing of the X2 + D2? Work register 11 is performed for the current instruction, and the fetch of the next instruction is started.

(e) 스텝 5(e) step 5

이 스텝은 스텝2에서 페치된 명령의 다음 명령의 명령페치 완료를 기다리기 위한 것으로 아무런 동작도 하지 않는다.This step is to wait for instruction fetch completion of the next instruction of the instruction fetched in step 2, and does nothing.

(f) 스텝 6(f) step 6

이 스텝은 스텝 4에서 설정한 워크레지스터(11)와 기본 어드레스를 가산하고, 어드레스레지스터(10)에 설정하는 동시에 오퍼렌드페치를 행하고, 결과를 리드데이터레지스터(8)에 격납한다. 기본어드레스를 구하는 방법은 스텝 4의 지표를 구하는 방법과 대략같지만, 선택회로(27)가 명령레지스터(3)의 상위 4비트를 선택하고 있는 점만 다르다.This step adds the work register 11 and the basic address set in step 4, sets them in the address register 10, performs an operator fetch, and stores the result in the read data register 8. FIG. The method of obtaining the basic address is roughly the same as the method of obtaining the index of step 4, except that the selection circuit 27 selects the upper four bits of the instruction register 3.

(g) 스텝 7(g) step 7

이 스텝에서는 신명령포인터(15)의 값을 구명령포인터(14)에 설정하는 동시에 스텝 5에서 독해된 명령의 선두를 나타내는 값을 신명령포인터에 설정한 다음 스텝 3과 동작을 한다. 신명령포인터에 설정하는 새로 독해된 명령의 선두를 나타내는 값은 다음과 같이 구한다.In this step, the value of the new command pointer 15 is set in the old command pointer 14, and a value indicating the head of the command read in step 5 is set in the new command pointer, and then operation is performed with step 3. The value indicating the start of the newly read command set in the new command pointer is obtained as follows.

신명령포인터를 갱신하기 직전의 선택회로(25)의 출력은 스텝 1에서 독해된 명령을 선택하고 있고, 이 명령코드에서 명령길이작성회로(32)에 의해 명령길이를 구하고, 이것에 신명령포인터(15)를 가산함으로써 구해진다. 그리고 명령레지스터는 본 실시예에서는 6개이기 때문에 가산 결과, "6"을 넘었을 경우에는 "6"을 감한다. 스텝 3에서 독해된 명령이 제1도에 나타낸 로드명령의 경우, 신명령포인터(15)는 "2", 구명령포인터(14) "0"으로 된다.The output of the selection circuit 25 immediately before updating the new command pointer selects the command read in step 1, and the command length creation circuit 32 obtains the command length from the command code, and the new command pointer is used. It is calculated | required by adding (15). In the present embodiment, since there are six instruction registers, when the addition result exceeds "6", "6" is subtracted. When the instruction read in Step 3 is the load instruction shown in Fig. 1, the new instruction pointer 15 is " 2 " and the old instruction pointer 14 is " 0 ".

(h) 스텝 8(h) step 8

이 스텝에서는 스텝 4에서 오퍼랜드어드레스를 계산한 명령의 다음 명령에 대해서 역시 지표와 변위를 가산하고, 다시 다음의 명령페치를 행한다.In this step, the index and the displacement are also added to the next instruction of the instruction whose operand address is calculated in step 4, and the next instruction fetch is performed again.

스텝 4와 다른 것은 현재의 명령의 지표가 직전의 명령의 제1오퍼랜드와 같은 지 여부의 판정을 하고 있는 점이다. 같은 경우에는 직전의 명령의 제1오퍼랜드를 설정한 다음, 현재의 명령의 지표를 구하지 않으면 안된다.The difference from step 4 is that the determination of whether the index of the current instruction is equal to the first operand of the immediately preceding instruction. In the same case, after setting the first operand of the immediately preceding instruction, the index of the current instruction must be obtained.

* 표는 구명령계를 지정하는 의미이다.* Table designates old command system.

구명령포인터(14)에 의해서 구명령이 선택회로(24)에서 선택되어서 선택회로(26)에 주어진다. 이것은 제2오포랜드 계산후의 명령실행을 위해 사용된다.The old command pointer 14 selects the old command from the selection circuit 24 and gives it to the selection circuit 26. This is used for command execution after the second opland calculation.

이 마이크로명령에서는 선택회로(26)에서 구명령의 R1부, 즉 명령레지스터(2)의 9비트째에서 12비트째까지를 선택하고, 선택회로(27)에서는 현명령의 X2부, 즉 명령레지스터(4)의 하위 4비트를 선택하고, 양자를 비교함으로써 분기조건(31)을 작성한다.In this micro instruction, the selection circuit 26 selects the R1 portion of the old instruction, that is, the 9th to 12th bits of the instruction register 2, and the selection circuit 27 selects the X2 portion of the current instruction, that is, the instruction register. The branch condition 31 is created by selecting the lower 4 bits of (4) and comparing them.

이 스텝에서는 동일한 마이크로명령의 제어에 의해서, 신명령의 X2가 구명령의 R1과 같은지 여부의 판정을 행하는 동시에 신명령에 대하여 X2+D2→워크레지스터(11)의 처리를 행하고, 또한 동시에 다음의 명령의 페치를 개시한다.In this step, under the control of the same microinstruction, it is determined whether X2 of the new instruction is equal to R1 of the old instruction, and at the same time, the process of X2 + D2-> work register 11 is performed for the new instruction. Start fetching instructions.

(i) 스템 9(i) stem 9

이 스텝에서는 구명령의 제1오퍼팬드를 연산하는 것으로, 구명령포인터(14)로 표시되는 범용레지스터(12)중에 있는 제1호퍼랜드와, 스텝 6에서 독해된 메모리리드데이터레지스터(8)를 구명령포인터(14)로 표시되는 명령코드에 따라서 연산한다. 구명령의 R1부는 스텝 8과 마찬가지로 선택회로(26)에서 선택하고, 선택회로(28)는 이 마이크로명령의 구명령지정의 연산을 위해 선택회로(26)의 출력을 선택함으로써 범용레지스터어드레스선(21)에 출력된다. 연산기(13)의 연산지정은 선택회로(29)가 구명령측, 즉 선택회로(24)의 출력을 선택함으로써 명령코드선(22)에는 구명령의 명령코드가 출력되기 때문에, 이 값을 근거로 연산 코드 변환회로(17)로 연산기(13)용의 코드로 변환하고, 연산기(13)를 동작시킨다. 명령이 로드명령의 경우에는 연산기(13)는 데이터레지스터(8)의 소통(素痛)이 된다.In this step, the first operand of the old instruction is calculated, and the first hopper land in the general-purpose register 12 indicated by the old instruction pointer 14 and the memory lead data register 8 read in step 6 are read. Operation is performed in accordance with the command code indicated by the old command pointer 14. The R1 portion of the old instruction is selected by the selection circuit 26 as in step 8, and the selection circuit 28 selects the output of the selection circuit 26 for the calculation of the old instruction specification of this microcommand. 21). The operation designation of the calculator 13 is based on this value since the selection circuit 29 selects the old command side, that is, the output of the selection circuit 24, so that the command code of the old command is output to the command code line 22. The operation code conversion circuit 17 converts the code for the calculator 13 into operation, thereby operating the calculator 13. When the instruction is a load instruction, the operator 13 is in communication with the data register 8.

(j) 스텝 10(j) step 10

이 스텝은 신명령에 대하여 스텝과 6과 같은 동작을 행하고, 다시 인터럽트(interrupt)조건을 판정한다. 구명령의 실행은 이미 스텝 9까지에서 종료되고 있으나, 명령포인터는 아직 갱신되어 있지 않다. 스텝 8에서 개시한 신명령의 다음 명령의 페치는 계속되고 있다.This step performs the same operations as the step 6 with respect to the new command, and again determines an interrupt condition. Execution of the old command has already been completed until step 9, but the command pointer has not yet been updated. The fetch of the next instruction of the new instruction started in step 8 is continued.

(k) 스텝 11, 스텝 12(k) Step 11, Step 12

이들 스텝은 스텝 8의 설명에서 기술한 지표와 직전의 명령의 제1오퍼랜드가 같은 경우의 보정처리이다.These steps are correction processing when the index described in the description of step 8 and the first operand of the immediately preceding instruction are the same.

보정은 제4도스텝 8의 X2로 표시되는 레지스터가 직전의 명령에서 결과격납용으로서 사용되고 있던 경우는, 이 결과가 세트된 후에 다음 명령의 처리를 위해서 사용되지 않으면 안된다는 이유에 의해 행해진다. 제4도의 처리는 통상은 스텝 8에서 사용되는 X2의 값의 설정은 스텝 9에서 설정하고 있지만, X2=R1*(직전의 명령결과를 설정하는 레지스터변호)일때에는 스텝 11에서 연산을 하여 결과를 R1*에 설정하여, 스텝 12에서 스탭 8에 해당하는 처리를 한다. 그후 스텝 10으로 돌아간다. 그리고 명령이 연속할때 스텝 7로 되돌아가서 스텝 10까지의 처리가 반복된다.Correction is performed for the reason that if the register indicated by X2 in the fourth step 8 is used for storing the result in the previous instruction, it must be used for the processing of the next instruction after the result is set. In the process of Fig. 4, the setting of the value of X2, which is normally used in Step 8, is set in Step 9. However, when X2 = R1 * (register number for setting the previous instruction result), the operation is performed in Step 11 to obtain the result. It sets to R1 * and performs the process corresponding to step 8 in step 12. Then return to step 10. When the instruction continues, the process returns to step 7 and the processes up to step 10 are repeated.

제5도는 본원 발명에 있어서의 명령의 처리를 나타낸다. 왼쪽란의 번호는 제4의스텝번호이다. 명령이 연속해서 실행되고 있을때의 어떤 연속된세개의 로드명령의 처리를 예로든 도면이다. 스텝 8, 스텝 10이 모두 각기 인스트럭션페치, 오퍼렌드페치라고 하는 주기억장치에 액세스하는 동작을 수반하고, 이들 동작은 마이크로프로그램의 실행속도에 비해 늦으므로, 어떤 하나의 명령의 실행에 대해서는 2스텝 기다리지 않으면 안된다. 이 동안에 마이크로프로그램에서 실행되는 명령을 전환해서 다른 명령을 실행하도록 제어한다. 예를 들명 제5도에서 어떤 명령이 스텝 10에서 오퍼랜드페치를 행하는 동안, 다음 명령의 명령데코드를 스텝 7에서, X2+D2의, 연산을 스텝 8에서 행하고, 다음에 원래의 명령의 처리로 되돌아온다.5 shows processing of an instruction in the present invention. The number in the left column is the fourth step number. The figure shows an example of processing three consecutive load instructions when the instructions are executed continuously. Since Step 8 and Step 10 all involve accessing main memory, such as instruction fetch and operand fetch, and these operations are slower than the execution speed of the microprogram, wait 2 steps for the execution of any one instruction. You must. In the meantime, you can switch the instructions executed in the microprogram to execute other instructions. For example, in Fig. 5, while an instruction performs an operand fetch in step 10, the instruction decode of the next instruction is executed in step 7, the operation of X2 + D2 in step 8, and then the processing of the original instruction is performed. Come back.

이상과 같이 본원 발명에 의하면 각각의 명령의 빈 시간을 이용하여 다른 명령을 실행하므로, 명령실행을 위한 하드웨어의 다중화, 그리고 파이프라인제어에 있어서와 같이 처리스텝마다 유니트화하는 것을 필요로 하지 않고, 간단한 구성으로 명령의 처리속도를 향상시킬 수 있다.As described above, according to the present invention, since different instructions are executed using the free time of each instruction, it is not necessary to unitize each processing step as in the multiplexing of hardware for instruction execution and pipeline control. Simple configuration can improve the processing speed of instructions.

Claims (5)

복수의 마이크로명령으로 이루어지는 마이크로프로그램의 실행에 의해서 명령의 처리가 행해지는 데이터처리장치에 있어서, 복수의 명령을 격납하는 명령레지스터(2)-(7)와, 상기 명령레지스터(2)-(7)에 격납된 실행되어야 할 연속되는 2개의 명령중 먼저의 명령을 선택출력하는 선택회로(24)와, 상기 2개의 명령중 나중의 명령을 선택출력하는 선택회로(25)와, 상기 마이크로 명령에 응답해서 상기 선택회로(24)의 출력과 선택회로(25)의 출력의 한쪽을 선택하는 선택회로(29)로 이루어지는 데이터처리장치.In a data processing apparatus in which instructions are processed by execution of a microprogram consisting of a plurality of micro instructions, the instruction registers (2) to (7) for storing a plurality of instructions, and the instruction registers (2) to (7). Select circuit 24 for selecting and outputting the first instruction among two consecutive instructions to be executed stored in the < RTI ID = 0.0 > And a selection circuit (29) for selecting one of the output of the selection circuit (24) and the output of the selection circuit (25) in response. 제1항에 있어서, 상기 명령은 명령의 종별을 나타내는 명령코드 필드와 오퍼랜드어드레스를 나타내는 오퍼랜드필드를 포함하며, 상기 마이크로프로그램은 상기 오퍼랜드필드에 의해 지정되는 오페랜드 어드레스에 따라서, 오퍼렌드를 페치하는 마이크로명령을 포함하며, 상기 선택회로(29)는 상기 오페랜드를 페치하는 마이크로명령에 응 답해서 선택회로(24)의 출려고가 선택회로(25)의 출력의 선택을 변환하는 데이터처리장치.The method according to claim 1, wherein the instruction includes an instruction code field indicating the type of instruction and an operand field indicating an operand address, and the microprogram fetches an operand according to an operand address designated by the operand field. And a micro-instruction, wherein the selection circuit (29) converts the selection of the output of the selection circuit (25) in response to the micro-command for fetching the operands. 제1항 또는 제2항에 있어서, 각각 어드레스를 격납하는 복수의 레지스터를 포함하며, 상기 명령은 명령의 종별을 나타내는 명령코드필드와 오페랜드 어드레스를 나타내고, 최소한 하나의 상기 레지스터의 하나를 지정하는 필드를 갖는 오퍼랜드필드를 포함하며, 상기 선택회로는 어떤 종류의 마이크로명령에 응답해서 선택회로(24) 또는 선택회로(25)의 출력의 상기 레지스터지정필드를 선택해서 출력하는 선택회로(26)와 선택회로(24) 또는 선택회로(25)의 출력의 그밖의 필드의 일부를 선택해서 출력하는 선택회로(27)를 포함하는 데이터처리장치.3. An apparatus according to claim 1 or 2, comprising a plurality of registers each containing an address, said instruction indicating an instruction code field indicating the type of instruction and an operand address, and designating at least one of said registers. And an operand field having a field, the selection circuit comprising: a selection circuit 26 for selecting and outputting the register designation field of the output of the selection circuit 24 or the selection circuit 25 in response to a micro instruction of some kind; And a selection circuit (27) for selecting and outputting a portion of the other field of the output of the selection circuit (24) or the selection circuit (25). 복수의 마이크로명령으로 이루어지는 마이크로프로그램의 실해에 의하여 명령의 실행이 행하여지는 데이터처리장치가 복수의 명령을 격납하는 명령레지스터를 가지며, 상기 명령은 명령의 종별을 나타내는 명령코드필드와, 어퍼랜드 어드레스를 나타내는 오페랜드필드를 포함하는 명령의 실행제어방법에 있어서, a. 상기 명령레지스터(2)-(7)에 격납되어 다음에 실행되어야 할 명령의 하나를 선택하고, 그 명령코드필드를 해독하여 상기 마이크로프로그램이 실행되어야할 개시점을 구하고, b. 스텝 a의 명령의 상기 명령코드필드에 응답하여, 오페랜드어드레스를 연산하고, c. 상기명령레지스터에 격납된 명령중 스텝 a의 앞의 명령을 전환하여 선택하고, 이 명령에 대하여 그 명령코드필드에 따르는 연산을 행하고, d. 스텝 a의 명령을 전환하여 선택하고, 이 명령의 명령코드필드에 응답하여, 오페랜드 어드레스를 연산하고, 이 오페랜드어드레스에 대응하는 데이터를 페치하고, e. 상기스텝 a-d를 반복하는 스텝으로 이루어지는 명령의 실행제어방법.The data processing apparatus in which the instruction is executed by the execution of a microprogram composed of a plurality of micro instructions has an instruction register for storing a plurality of instructions, the instruction having an instruction code field indicating the type of instruction and an upperland address. A method of controlling execution of an instruction comprising an operand field, the method comprising: a. Select one of the instructions to be stored in the instruction registers (2) to (7) next to be executed, and decipher the instruction code field to obtain a starting point at which the microprogram should be executed; b. In response to the command code field of the command of step a, calculate an operand address, and c. Among the instructions stored in the instruction register, the instruction preceding the step a is switched and selected, and the instruction according to the instruction code field is performed for this instruction; d. The instruction of step a is switched and selected, the operand address is calculated in response to the instruction code field of this instruction, the data corresponding to the operand address is fetched, and e. An execution control method of an instruction comprising the steps of repeating the steps a-d. 제4항에 있어서, 상기 데이터처리장치는 복수의 레지스터를 포함하고, 상기 멸여코드필드는 상기 레지스터의 하나를 지정하는 레지스터 필드를 포함하고, 상기스텝 c에서는 상기 레지스터의 하나에 연산결과를격납하고, 상기스텝 b는 상기 레지스터 필드에서 지정되는 레지스터와 스텝 c에서 연산결과가 격납되는 레지스터가 일치하는지 여부를 판정하고, 명령의 실행제어 방법은 다시 f. 상기스텝 b에서 레지스터가 일치하므로써 응답하여 실행되어, 스텝c와 같은 처리를 행하고, g. 상기스텝 f에 이어 계속하여 실행되고, 스텝 b에서 행하여지는 것과 동일한 오페랜드 어드레스를 연산하고, 스텝 d로 처리를 이용하는 스텝을 포함하는 명령의 실행제어 방법.5. The data processing apparatus according to claim 4, wherein the data processing apparatus includes a plurality of registers, the erasing code field includes a register field designating one of the registers, and in step c, the operation result is stored in one of the registers. And step b determines whether or not the register specified in the register field and the register in which the operation result is stored in step c match. F. In step b, the registers are matched to each other to execute the same processing as step c. G. And executing the processing of the same operand address as that performed in step b, and using the process in step d, which is executed subsequently to the step f.
KR1019810004378A 1980-12-03 1981-11-13 Data processing apparatus and method KR880000817B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP169609 1980-12-03
JP55169609A JPS5794853A (en) 1980-12-03 1980-12-03 Data processor

Publications (2)

Publication Number Publication Date
KR830008243A KR830008243A (en) 1983-11-16
KR880000817B1 true KR880000817B1 (en) 1988-05-11

Family

ID=15889665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019810004378A KR880000817B1 (en) 1980-12-03 1981-11-13 Data processing apparatus and method

Country Status (2)

Country Link
JP (1) JPS5794853A (en)
KR (1) KR880000817B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit
JPS59160239A (en) * 1983-03-02 1984-09-10 Hitachi Ltd Information processing device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS547541B2 (en) * 1973-12-29 1979-04-07
JPS5145946A (en) * 1974-10-17 1976-04-19 Fujitsu Ltd DEETASHORISHI SUTEMU
JPS5230351A (en) * 1975-09-04 1977-03-08 Nippon Telegr & Teleph Corp <Ntt> Data processing unit
GB1527289A (en) * 1976-08-17 1978-10-04 Int Computers Ltd Data processing systems

Also Published As

Publication number Publication date
KR830008243A (en) 1983-11-16
JPS5794853A (en) 1982-06-12

Similar Documents

Publication Publication Date Title
US4616313A (en) High speed address calculation circuit for a pipeline-control-system data-processor
US5168571A (en) System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
US3990054A (en) Microprogram organization techniques
US4954943A (en) Data processing system
US4539635A (en) Pipelined digital processor arranged for conditional operation
JP2002328804A (en) Data processor, instruction set switching method, data processing architecture and data processor operating method
EP0286354A2 (en) A method and apparatus for modifying micro-instructions using a macro-instruction pipeline
JPS6029126B2 (en) data processing equipment
US4054945A (en) Electronic computer capable of searching a queue in response to a single instruction
JPH0812598B2 (en) Microprogram processor controller
JPS5847053B2 (en) data processing equipment
US5390306A (en) Pipeline processing system and microprocessor using the system
US4598358A (en) Pipelined digital signal processor using a common data and control bus
KR920005227B1 (en) Programmable controller
JPH03233630A (en) Information processor
KR880000817B1 (en) Data processing apparatus and method
EP0162928B1 (en) Microprogram control method
JPH0363092B2 (en)
CA1155231A (en) Pipelined digital processor arranged for conditional operation
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JP2772100B2 (en) Parallel instruction fetch mechanism
KR950006585B1 (en) Micro program control apparatus and control method thereof
JPS6226485B2 (en)
JP2583614B2 (en) Vector arithmetic unit
JPS6152748A (en) Trace selection system of microprogram development device