KR830000821B1 - Data processing systems - Google Patents

Data processing systems Download PDF

Info

Publication number
KR830000821B1
KR830000821B1 KR1019790004059A KR790004059A KR830000821B1 KR 830000821 B1 KR830000821 B1 KR 830000821B1 KR 1019790004059 A KR1019790004059 A KR 1019790004059A KR 790004059 A KR790004059 A KR 790004059A KR 830000821 B1 KR830000821 B1 KR 830000821B1
Authority
KR
South Korea
Prior art keywords
stack
tos
data processing
data
csi
Prior art date
Application number
KR1019790004059A
Other languages
Korean (ko)
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 고바야시 다이유(小林大祐)
Priority to KR1019790004059A priority Critical patent/KR830000821B1/en
Application granted granted Critical
Publication of KR830000821B1 publication Critical patent/KR830000821B1/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

Landscapes

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

Abstract

내용 없음.No content.

Description

데이타 처리 시스템Data processing systems

제1도는 본 발명 실시예에 따른 데이타 처리 시스템 블록 다이아그램.1 is a data processing system block diagram in accordance with an embodiment of the present invention.

제2도는 제1도 시스템에 사용되는 요소 번지를 나타내는 도면.FIG. 2 shows the element addresses used in the FIG. 1 system. FIG.

제3도는 본 발명 데이타 처리 시스템에 사용되는 명령의 기본형을 나타내는 도면.3 is a diagram showing a basic form of an instruction used in the data processing system of the present invention.

제4도는 식 E=(A+B)*(1+B+C)*D가 계산될때 제1도의 시스템에 있는 스택 내용의 변화도.4 is a plot of the stack contents in the system of FIG. 1 when the equation E = (A + B) * (1 + B + C) * D is calculated.

제5도는 본 발명의 다른 실시예에 따른 데이타 처리 시스템 블록다이아그램.5 is a block diagram of a data processing system according to another embodiment of the present invention.

제6도는 제5도 시스템에 사용될 수 있는 요소번지를 나타내는 표.6 is a table showing element addresses that may be used in the FIG. 5 system.

제7도는 본 발명의 또다른 실시예에 따른 데이타 처리 시스템 블록다이아그램.7 is a block diagram of a data processing system according to another embodiment of the present invention.

제8도는 제7도 시스템에 사용될 수 있는 요소번지를 나타내는 표.8 is a table showing element addresses that may be used in the FIG. 7 system.

제9도는 본 발명의 또 다른 하나의 실시예에 따른 데이타 처리 시스템 블록다이아그램.9 is a block diagram of a data processing system according to another embodiment of the present invention.

제10도는 제9도 시스템에 사용될 수 있는 요소번지를 나타내는 표.FIG. 10 is a table showing element addresses that may be used in the FIG. 9 system. FIG.

본 발명은 데이타 처리 시스템에 관한 것이며 보다 상세히 말하면 주기억장치, 범용 레지스터 화일 및/또는 스택에 축적된 데이타에 따라 논리 및 산술연산을 할 수 있는 데이타 처리 시스템에 관한 것이다.The present invention relates to a data processing system, and more particularly, to a data processing system capable of performing logic and arithmetic operations in accordance with main memory, general purpose register files and / or data stored on a stack.

종래의 데이타 처리 시스템에 있어서는 두가지 형태의 컴퓨터 구조가 있다 : 즉 연산을 수행하도록 스택을 사용하는 스택장치와 연산을 수행하기 위해서 범용 레지스터 화일을 사용하는 레지스터 장치가 그것이다.There are two types of computer architecture in a conventional data processing system: a stack device that uses a stack to perform an operation, and a register device that uses a general purpose register file to perform an operation.

스택장치는 그것의 자원(resource)으로 주기억장치와 스택을 갖고 있으며 스택장치 및/또는 스택에 축적된 데이타의 연산을 수행한다.The stack device has a main memory and a stack as its resources and performs operations on the stack device and / or data accumulated on the stack.

스택은 여러개의 요소를 갖고 있는데 각 요소의 크기는 일 워어드 길이의 고정길이 이다. 이러한 요소중에서 하나가 스택지시기[Stack pointer(SP)]에 의해 지시된다.The stack has several elements, each of which is a fixed length of one word length. One of these elements is indicated by the stack pointer (SP).

이 SP에 의해 지시된 요소는 스택상단[Top of the Stack(TOS)]으로 명명된다. 기억장치로부터 데이타를 스택에 기입하거나 스택으로부터 데이타를 기억장치로 판독하는 것은 소위 후입선출법(LIFO)에 따라 오직 상기한 TOS에서만 수행될 수 있다.The element pointed to by this SP is named Top of the Stack (TOS). Writing data from the storage to the stack or reading data from the stack into the storage can only be performed in the TOS described above in accordance with the so-called last-in first-out method (LIFO).

스택에 축적된 데이타에 대한 연산은 TOS에 축적된 데이타와 TOS 옆에 있는 요소에 축적된 데이타 사이에서만 수행될 수 있다.Operations on data accumulated on the stack can only be performed between data accumulated in the TOS and data stored in the element next to the TOS.

레지스터 장치는 그것의 자원으로 주기억장치와 범용 레저스터 화일을 갖고 있으며 주기억장치 및/또는 범용 레지스터 화일에 축적된 데이타에 따라 연산을 수행한다.The register device has a main memory and a general purpose register file as its resources and performs operations based on the data accumulated in the main memory and / or the general register file.

범용 레지스터 화일은 또한 여러개의 요소를 갖고 있으며 각 요소의 크기는 일 워어드 길이와 고정 길이이다.General purpose register files also have multiple elements, each of which is one word length and one fixed length.

스택장치와 레지스터 장치의 특성은 앞에서 언급한 이러한 기계들의 구성때문에 서로 상보관계가 있다.The characteristics of the stack and register devices are complementary to each other because of the configuration of these machines mentioned earlier.

우선, 스택장치는 연산, 논리 식의 값을 구하는데 있어서 유리해서 쉽게 효과적으로 방정식의 값을 구할 수 있다. 이것은 스택장치가 동적이고 자동적으로 주기억장치를 할당하여 단지 기억할 최소한의 장소수만 사용되기 때문이다.First, the stack apparatus is advantageous in obtaining the values of calculations and logical expressions, so that the equations can be easily and effectively obtained. This is because the stack device dynamically and automatically allocates main memory so only the minimum number of places to remember is used.

더우기, 레지스터 장치에 있어서의 모든 최신 컴파일러가 일차로(내재하였거나 또는 내재하지 않았거나) 임의의 연산 또는 논리 식을 리버어스-풀리쉬 형(reverse-polish form)으로 번역한다음 기계어로 번역한다 할지라도 리버어스-풀리쉬형이 정확하게 요구된 스택장치 명령순서에 일치하기 때문에 스택장치에 있는 컴파일러는 이차 번역을 할 필요가 없다.Furthermore, all modern compilers in register devices, whether native or implicit, translate any operation or logical expression into reverse-polish form and then translate it into machine language. Since the reverse-pullish type exactly matches the required stack device instruction sequence, the compiler on the stack device does not need to do a secondary translation.

이에 반해서, 레지스터에 있는 컴파일러는 리버어스-플리쉬형으로부터 요구된 레지스터 장치명령으로 2차 번역을 해야한다. 2차 번역이 이루어지는 가장 적절한 시간은 레지스터 화일의 요소수와 같은 구조에 달려 있어서 기계어의 효율적인 생성이 어렵다.In contrast, the compiler in the register must do a secondary translation from the register device instruction requested from the reverse-flash type. The most appropriate time for secondary translation depends on the structure of the number of elements in the register file, making it difficult to produce machine language efficiently.

다음에, 스택장치는 호출된 프로그램을 위한 어떠한 축적 영역도 사전 예약할 필요가 없으며 동적으로 할당하는 동안에 어떤 요구된 순간에서도 호출된 프로그램을 스택에 축적할 수 있고 또 스택에 기입하는 것이 비 파괴적이기 때문에 스택장치는 임시영역의 동적인 예약과 임시영역의 동적인 해제와 같은 프로그램 순차제어, 서어보 프로그램 호출동작 또는 개입중단 처리에 적합하다.Next, the stack device does not need to reserve any reserve space for the called program and can dynamically accumulate the called program on the stack at any required moment during dynamic allocation and writing to the stack is non-destructive. Therefore, the stack device is suitable for program sequential control such as dynamic reservation of temporary area and dynamic release of temporary area, servo program call operation or interruption processing.

이에 반해서, 레지스터 장치는 동적인 할당을 위한 축적 영역을 사전 적립할 필요가 있고 레지스터에 기입하는것이 파괴적이기 때문에 레지스터 장치는 프로그램 순차제어에 적합하지 않다.In contrast, a register device is not suitable for program sequential control because the register device needs to reserve an accumulation area for dynamic allocation in advance and writing to a register is destructive.

그러나, 스택장치는 일반적으로 다음과 같은 단점을 갖고 있다. 첫번째 단점은 스택내에서 동작수행 단계수가 레지스터 장치에서의 그것보다 크다는 것이다.However, stack devices generally have the following disadvantages. The first disadvantage is that the number of steps to perform in the stack is greater than that in the register device.

예를들면 기억장치에 축적된 데이타 A와 B를 더하는 연산이 수행되는 경우에, 스택장치는 3단계를 필요로 한다 : 즉, PUSH A, PUSH B, ADD. 반면에 레지스터 장치는 두단계이상을 필요로 하지 않는다.For example, in the case where an operation of adding data A and B accumulated in the storage device is performed, the stack device requires three steps: PUSH A, PUSH B, and ADD. Register devices, on the other hand, do not require more than two levels.

즉, LOAD A, ADD B. 스택장치의 두번째 단점은 동작속도가 레지스터 장치와 비교해볼때 너무 느리다는 것이다.In other words, LOAD A, ADD B. The second disadvantage of stack devices is that their operating speed is too slow compared to register devices.

이것이 스택에 축적된 데이타에 대한 동작이 상기한 바와같이 TOS에 있는 데이타와 TOS 다음번에 있는 요소 축적된 데이타 사이에만 수행될 수 있어서 스택장치는 단하나의 축적기만을 갖고 있는 장치와 같기 때문이다.This is because the operation on the data accumulated on the stack can be performed only between the data in the TOS and the element accumulated data next to the TOS as described above, so that the stack device is like a device having only one accumulator.

스택장치와 비교해서, 레지스터 장치는 범용 레지스터 화일에 있는 어떠한 요소에도 빠르게 억세스할 수 있으며, 그렇기 때문에 자동속도는 스택장치와 비교해 볼때 매우 높다.Compared to stacking devices, register devices can access any element in a general purpose register file quickly, so the automatic speed is very high compared to stacking devices.

따라서 연산과 번지 지정에 적합한구조는 스택장치가 아니라 레지스터 장치이다.Therefore, the proper structure for operation and address designation is not a stack device but a register device.

종래의 기술에서는 스택장치와 레지스터 장치는 상기한 바와 같은 상보 특성을 갖는 다른 구조이다. 스택장치에 있어서는 3가지 형태의 다음과 같은 전송명령이 있을 수 있고In the prior art, the stack device and the register device are other structures having the complementary characteristics as described above. For stack devices, there are three types of transfer commands:

Figure kpo00001
Figure kpo00001

그리고 한형태의 다음과 같은과 같은 이항연산 명령이 있을 수 있다.And there can be one form of a binary operation such as

Figure kpo00002
Figure kpo00002

여기에서 또 이후에 Mi, Mj는 제각기 주 기억장치내에 i번째, j번째의 요소의 오퍼랜드(operand)이고 ↓TOS는 스택으로의 푸시다운동작(push-down operation)을 나타내고 ↑TOS는 스택으로부터의 팝엎 동장(pop-up operation)을 나타내며 이항연산 명령중에 있는 오퍼랜드 사이의 점은 산술 또는 논리연산을 의미한다.Here, and later, Mi and Mj are the operands of the i th and j th elements in the main memory respectively, and ↓ TOS represents a push-down operation to the stack and ↑ TOS from the stack. The point between the operands in a binary operation instruction that represents a pop-up operation means an arithmetic or logical operation.

레지스터 장치에 있어서는 다음과 같은 4가지 형태의 전송명령In the register device, four types of transfer commands are as follows.

Figure kpo00003
Figure kpo00003

및 다음과 같은 6가지 형태의 이항연산 명령이 있을 수 있다.And six types of binary operation instructions as follows.

Figure kpo00004
Figure kpo00004

여기서 또 이후부터 Ri, Rj 및 Rk는 각기 범용 레지스터 화일에 있는 i번째, j번째, k번째 요소의 오퍼랜드이다. 각각의 두장치는 두개의 번지형식 명령을 갖는다.Here, hereinafter, Ri, Rj, and Rk are operands of the i, j, and k th elements of the general register file, respectively. Each device has two address format commands.

이제 스택장치와 레지스터 장치 모두의 장점들을 가지는 스택장체와 레지스터 장치를 단순히 조합하므로서 이루어지는 "혼성" 장치를 생각하자. "혼성" 장치는 세가지 자원, 즉 주기억장치, 범용레지스터 화일 및 스택을 가져야만 한다.Now consider a "hybrid" device made by simply combining a stack device and a register device with the advantages of both a stack device and a register device. A "mixed" device must have three resources: a main memory, a general register file, and a stack.

이러한 자원들을 효과적으로 사용하기 위해서, 많은 명령이 다음과 같이 요구될 수 있다. 요구된 12개의 전송명령이 있다.In order to use these resources effectively, many commands may be required as follows. There are 12 transfer commands required.

Figure kpo00005
Figure kpo00005

32개(8×4)의 이항연산 명령이 다음과 같이있다.There are 32 (8x4) binary operations as follows.

Figure kpo00006
Figure kpo00006

여기서 화살표 없는 "TOS" 표면은 스택이 스택연산이 없는 통상적인 레지스터로 사용되는때 스택상단을 나타낸다.Here the "TOS" surface without arrows indicates the top of the stack when the stack is used as a conventional register without stack operation.

그래서 레지스터 장치와 스택장치를 단순히 조합해서 이루어진 "혼성" 장치에 있어서 명령의 수는 연산결과를 축적하기 위한 기억장소 수가 증가되는 것과 같이 단지 레지스터 장치만으로나 스택장치만으로 사용될 때 요구되는 것보다 더 많다.Thus, in a "hybrid" device that simply consists of a combination of register and stack devices, the number of instructions is more than required when used with only register devices or stack devices, such as increasing the number of storage locations for accumulating results. .

또, 명령형식이 3번지 형식이거나 2번지 및 3번지형식이므로 혼성장치는 복잡한 명령 세트와 증가된 기억영역을 갖는 단점을 갖이며 명령의 크기도 증가된다. 그렇기 때문에 "혼성" 장치의 자료처리 능력이 낮아서 "혼성" 장치는 실용적으로 사용될 수 없다.In addition, since the instruction format is address form 3 or form 2 and form 3, the mixed growth has the disadvantage of having a complicated instruction set and an increased storage area, and the size of the instruction is also increased. As a result, the data processing capacity of the "hybrid" device is low, so the "hybrid" device cannot be used practically.

본 발명의 근본목적은 세가지 자원, 즉 주기억장치, 범용 레지스터 및 스택을 갖는 데이타 처리 시스템의 높은 자료처리 능력을 얻고져 하는데 있다.The primary purpose of the present invention is to obtain a high data processing capacity of a data processing system having three resources, namely, a main memory, a general register and a stack.

또 본 발명의 다른 목적은 명령수가 감소되고 명령세트가 단순화된 상기한 데이타 처리시스템을 제공하려는데 있다.Another object of the present invention is to provide a data processing system as described above in which the number of instructions is reduced and the instruction set is simplified.

이제 제1도를 참조로 설명하면, 본 실시예의 데이타 처리 시스템은 처리장치(안보임)내에 있는 주 모선(3)에 연결되어 있으며 시스템의 한 자원인 주기억장치(1)을 포함한다. 본 시스템은 또한 본 시스템 중의 다른 하나의 자원이며 주모선(3)에 연결된 범용 레지스터 화일(5)을 포함한다.Referring now to FIG. 1, the data processing system of the present embodiment includes a main memory 1 which is connected to the main bus 3 in the processing apparatus (invisible) and is a resource of the system. The system is also another resource of the system and includes a general register file 5 connected to the main bus 3.

제1도의 실시예에 있어서 레지스터 화일(5)은 8개의 요소(RO-R7)를 갖고 있다. 시스템은 또한 시스템의 또다른 자원이며 역시 주모선(3)에 연결된 스택(7)을 포함한다.In the embodiment of FIG. 1, the register file 5 has eight elements R 0 -R 7 . The system is also another resource of the system and also includes a stack 7 connected to the main bus bar 3.

스택(7)의 상단(TOS)은 이 실시예에서 범용 레지스터 화일에 있는 요소(RO)에 부합되고 스택지시기(SP)(9)에 따라 지시된다. 스택지시기(9)는 명령레지스터(11)에 있는 모우드 지정부(15)에 연결된 제어기(21)에 의해 제어된다.The top TOS of the stack 7 corresponds to the element R O in the general purpose register file in this embodiment and is indicated according to the stack indicator SP 9. The stack indicator 9 is controlled by a controller 21 connected to the mode designator 15 in the command register 11.

명령 레지스터(11)는 하나의 명령 코드, 두개의 오퍼랜드 및 모우드 지정부(15)를 포함한다. 각각의 오퍼랜드는 억세스 될 요소 (RO-R7)중에서 한 요소번지를 축적하는 번지부(13)와 비연결 모우드 또는 연결 모우드를 지정하는 모우드 지정부(15)를 포함한다.The instruction register 11 includes one instruction code, two operands and a mode designator 15. Each operand includes an address portion 13 that accumulates one element address among the elements to be accessed R 0 -R 7 and a mode designation 15 which specifies an unconnected or connected mode.

비연결 모우드가 오퍼랜드에서 지정되면 스택지시기(9)의 내용은 스택의 TOS가 억세스 될지라도 변경되지 않는다.If a disconnected mode is specified in the operand, the contents of the stack directive 9 will not change even if the stack's TOS is accessed.

다시 말하면, 비연결 모우드에 있어서, 스택은 레지스터 화일(5)의 요소(RO)로써 동작한다. 한편 연결모우드가 오퍼랜드에서 지정되면 TOS가 억세스될때에 스택지시기(9)의 내용은 변경되고, 스택은 레지스터 화일로써가 아니라 스택 그 자체로써 동작한다.In other words, in a disconnected mode, the stack operates as an element R 0 of the register file 5. On the other hand, if the connection mode is specified in the operand, the contents of the stack indicator 9 change when the TOS is accessed, and the stack operates as the stack itself, not as a register file.

명령 레지스터(11)의 번지부(13)는 요소(RO-R7)중의 하나의 요소를 지정하도록 번지부(13)로부터 2진 코우드를 해독하는 부호 해독기(17)에 연결된다. 만약 부호해독기(17)에 의한 해독결과가 요소(RO)를 지정할 경우에, 주모선(3)과 스택(7) 사이에 연결된 스위치(19)는 스택(7)을 주모선(3)에 연결시키도록 부호해독기(17)로부터 신호에 의해 활성화된다.The address 13 of the instruction register 11 is connected to a code decoder 17 which decodes the binary code from the address 13 to designate one of the elements R 0 -R 7 . If the decoding result by the decoder 17 designates the element R O , the switch 19 connected between the main bus 3 and the stack 7 connects the stack 7 to the main bus 3. Activated by a signal from the decoder 17 to connect.

반면에, 만약 해독결과가 요소(R1-R7)중에 하나의 요소를 지정하는 것이라면, 범용 레지스터 화일(5)에 있는 지정된 요소가 억세스된다. 제1도의 데이타 처리시스템의 동작은 다음과 같다.On the other hand, if the decryption result is to specify one of the elements R 1 -R 7 , then the specified element in the general register file 5 is accessed. The operation of the data processing system of FIG. 1 is as follows.

번지부(13)는 기계어 코우드나 중간코우드로 기록된 명령번지를 축적한다. 이러한 명령은 이후 기술되는 여러가지 실시예에 공통된다. 제1도의 실시예에 있어서, 번지부(13)는 4개의 비트, 즉 제2도에 나타낸 바와 같이 비트 3-비트 0를 포함한다. 번지부에 있는 비트 3의 같이 "0"인 경우에 비트 2-비트 0는 요소(R0-R7)중의 하나를 지정한다.The address section 13 accumulates command addresses recorded in the machine code or intermediate code. Such instructions are common to the various embodiments described below. In the embodiment of FIG. 1, address 13 includes four bits, i.e., bit 3-bit 0, as shown in FIG. Bit 2 bit 0 specifies one of the elements R 0 -R 7 in the case of "0" as in bit 3 of the address.

비트 3의 값이 "1"인 경우에, 비트 2-비트 0는 주 기억장치(1)를 억세스하는 번지지정모우드를 지정한다. 중복된 설명을 피하기 위해, 제2도는 비트 3의 값이 "0"인 경우를 나타낸다. 제2도에서 비트 2-0의 값이 "0"인 경우에, 용소(R0)는 억세스 되도록 지정되며, 요소(R0)가 스택지시기(9)가 지정하는 스택의 TOS에 부합되도록 이루어지기 때문에, TOS는 억세스 되도록 실제로 선택된다.When the value of bit 3 is " 1 ", bit 2-bit 0 designates the addressing mode for accessing main storage 1. To avoid redundant description, FIG. 2 shows the case where the value of bit 3 is "0". Claim in the case of Figure 2 the value of the bit 2-0 is "0", yongso (R 0) is made, and specify that the access element (R 0), the stack indicator (9) to match the TOS of the stack to specify As a result, the TOS is actually chosen to be accessed.

이경우에, 모우드 지정부(15)에 있는 플래그(flag) "0"일 때에 연결모우드가 선택된다.In this case, the connection mode is selected when the flag "0" in the mode designation unit 15 is selected.

동작의 연결모우드에 있어서, 선택된 TOS는 스택으로써 작용한다. 다시 말하면, 데이타가 TOS에 기입되거나 TOS가 목적지로써 사용되는 경우에 스택지시기(9)의 내용은 원래의 TOS(제1도) 다음에 있는 상측 요소를 지시하도록 변경되고 스택지시기(9)에 의해 지정된 요소는 새로운 TOS가 된다.In the connection mode of operation, the selected TOS acts as a stack. In other words, when data is written to the TOS or when the TOS is used as a destination, the contents of the stack indicator 9 are changed to indicate the upper element following the original TOS (Figure 1), and by the stack indicator 9 The specified element becomes a new TOS.

그속에 데이타를 기입하는 스택의 상기한 동작은 보통 푸시다운 동작이라고 불린다. 반면에, 데이타 TOS로부터 판독되거나 TOS가 자원으로 사용되는 경우에 스택지시기(9)의 내용은 원래의 TOS(제1도) 다음에 있는 하측 요소를 지시하도록 변경되며 스택지시기(9)에 의해 지시된 요소는 새로운 TOS가 된다. 그로부터 데이타를 판독하는 스택의 상기한 동작은 보통 팝엎동작이라고 불리운다.The above operation of the stack for writing data therein is commonly called a pushdown operation. On the other hand, when the data is read from the TOS or when the TOS is used as a resource, the contents of the stack indicator 9 are changed to point to the lower element following the original TOS (Figure 1) and indicated by the stack indicator 9. Element becomes the new TOS. The above operation of the stack for reading data therefrom is usually called pop-up operation.

모우드 지정부(15)에 있는 플래그가 "1"인 경우에 비연결 모우드가 선택된다. 비연결모우드에 있어서 비트 2-0의 값 "0"로 선택된 TOS는 스택동작이 없는 범용 레지스터 화일의 요소(R0)로써 작용하며, 따라서 제어. (21)는 스택지시기(9)의 내용을 변경하지 않으며 TOS에 데이타를 기록하는 것은 파괴적이다.The disconnected mode is selected when the flag in the mode designator 15 is "1". The TOS selected with the value "0" of bit 2-0 in the disconnected mode acts as an element (R 0 ) of the general register file with no stacking operation and thus control. 21 does not change the contents of the stack indicator 9 and writing data to the TOS is destructive.

제2도에서 번지부(13)에 있는 비트 2-0의 값이 "0"-"111"중의 한값인 경우에 억세스될 선택된 요소는 제각기 요소(R1-R7)중의 하나이다.In FIG. 2, the selected element to be accessed is one of the elements R 1 -R 7 if the value of bit 2-0 in the address 13 is one of " 0 "-" 111 ".

제1도에 나타낸 데이타 처리 시스템 실시예에 따르면, 스택의 TOS는 요소(R0)에 일치되기 때문에, 세자원, 즉 주 기억장치, 일반목적 레지스터 화일(5) 및 스택(7)은 두자원, 즉 주기억장치 및 범용 레지스터 화일(5)로써 억세스될 수 있다. 그렇기 때문에, 세자원이 존재함에도 불구하고, 본 실시에 데이타 처리시스템에서 요구된 명령수는 본 실시예 시스템에 사용된 명령형식으로서 두개 번지형식이 사용될 수 있는 것과 마찬가지로 레지스터 장치에서 요구되는 명령수와 동일하게 감소될 수 있다.According to the data processing system embodiment shown in FIG. 1, since the TOS of the stack is matched to element R 0 , three resources, namely main storage, general purpose register file 5 and stack 7 are two resources. That is, it can be accessed as the main memory and the general register file (5). Therefore, although three resources exist, the number of instructions required in the data processing system in this embodiment is the same as the number of instructions required in the register apparatus, as two address formats can be used as the instruction format used in this embodiment system. Equally reduced.

제1도의 데이타 처리 시스템에 의해 얻어지는 이러한 효과를 제3도 및 제4도와 관련하여 보다 상세히 설명하고져 한다.This effect obtained by the data processing system of FIG. 1 will be described in more detail with reference to FIGS. 3 and 4.

제3도는 본발명 데이타 처리시스템에 사용되는 명령의 기본형식을 나타내고, 그속에서 "OP 코우드"는 수행될 특정한 동작을 지정하는 부분이고 "오퍼랜드 1"과 "오퍼랜드 2"는 제각기 제1도 및 제2도 오퍼랜드의 번지를 지정하는 부분이다.FIG. 3 shows the basic format of the instructions used in the present invention data processing system, in which "OP code" designates the specific operation to be performed and "Operland 1" and "Operland 2" are respectively shown in FIG. 2 is a part for designating the address of the operand.

"OP 코우드"에 의해 지정되는 가감과 같은 연산결과는, 본발명에 따르면 스택으로 푸시다운되며 그것에 의해 감소된 명령수와 두개 번지형식은 비파괴 기입상태로 실현될 수 있다.Operation results such as the addition and subtraction specified by " OP code " are pushed down to the stack according to the present invention, whereby the reduced number of instructions and the two address formats can be realized in a non-destructive write state.

예를들면, "ADD R2, R3"과 같은 명령이 수행되는 것인 경우에, 제1도의 데이타 처리시스템은 "↓TOS←R2+R3" 동작을 수행한다. 즉, 더하고 푸시다운하는 동작은 두개의 번지형형식을 갖는 단일 명령에 따라 실행되어지며, 동작의 결과가 스택으로 푸시다운되기 때문에, 기입동작은 비파괴적이다.For example, in the case where an instruction such as "ADD R 2 , R 3 " is performed, the data processing system of FIG. 1 performs an operation "↓ TOS ← R 2 + R 3 ". That is, the adding and pushing down operation is executed according to a single instruction having two address types, and since the result of the operation is pushed down to the stack, the writing operation is non-destructive.

이와반대로, 스택장치와 레시스터 장치를 조합해서 간단히 구성된 전기한 "혼성"장치는 두개의 번지형식은 사용하는 상기한 동작을 수행하기 위한 다음과 같은 세가지 명령을 필요로 할것이고,In contrast, a simple "hybrid" device that is simply a combination of a stacker and a raster device would require three commands to perform the above operation using the two address types,

PUSH R2, TOSPUSH R 2 , TOS

PUSH R3, TOSPUSH R 3 , TOS

ADD TOS, TOSADD TOS, TOS

그렇기 때문에 명령수는 본 발명에서 요구된 것과 비교할때 2로 증가될 것이다. "혼성"장치에서 하나의 명령내에 상기 동작을 수행하기 위해서 3개 번지형식 명령이 "ADD R2, R3, TOS"와 같이 요구될 것이다.As such, the number of instructions will be increased to two when compared to that required by the present invention. In order to perform the operation in one command in a "hybrid" device, three address format commands will be required, such as "ADD R 2 , R 3 , TOS".

이제 제4도와 함께 제1도의 데이타 처리 시스템을 사용하므로써 다음식을 계산하는 동작을 생각해 보자:Now consider the operation of computing the following equation using the data processing system of FIG.

E=(A+B)*(A+B+C)*DE = (A + B) * (A + B + C) * D

여기서 표시 A, B, C, D 및 E는 주 기억장치(1). 범용 레시스터 화일(5)(제1도)에 축적된 데이타를 나타낸다.Where indications A, B, C, D and E are the main memory (1). Data accumulated in the general purpose register file 5 (FIG. 1) are shown.

우선, 연산 "ADD A, B"가 행하여지고 제4도의 스템 2에 나타낸 바와같이 그 결과가 스택의 TOS로 푸시다운된다.First, the operations "ADD A, B" are performed and the result is pushed down to the TOS of the stack as shown in stem 2 of FIG.

스택의 TOS가 레시스터 화일(5)에 있는 요소(R0)에 일치하기 때문에 TOS를 지정하기 위한 번지는 R0이다. 그렇기 때문에, 모우드 지정부의 플래그가 "1"인 상태에서 수행될 다음 명령은 "ADD R0, C"이다.The address to specify the TOS is R 0 because the TOS of the stack matches the element R 0 in the raster file 5. Therefore, the next command to be executed while the flag of the mode designator is "1" is "ADD R 0 , C".

이러한 연산의 결과로서, 데이타(A+B+C)는 스택의 TOS로 푸시다운되며 선행된 데이타(A+B)는 제4도의 스텝 3에 나타낸것처럼 TOS 다음에 있는 하측 요소에 비 파괴적으로 남아있다.As a result of this operation, data A + B + C is pushed down to the stack's TOS and the preceding data A + B remains non-destructively in the lower element following the TOS as shown in step 3 of FIG. have.

모우드 지정부(15)의 플래그가 "0"인 상태에서 수행될 제3명령은 "MULTIPLY R0, D"이다.The third command to be executed while the flag of the mode designation unit 15 is "0" is "MULTIPLY R 0 , D".

이결과로, 요소(R0)나 스택 TOS의 내용인 데이타(A+B+C)는 팝엎된다. 팝엎동작후에 스택의 상태는 제4도의 스텝 2의 상태로 되돌아가게 된다.As a result, data (A + B + C) that is the content of element R 0 or the stack TOS is popped up. After the pop up operation, the state of the stack returns to the state of step 2 in FIG.

그런다음, 팝엎된 데이타(A+B+C)는 처리장치(도시안됨)에 있는 데이타(D)로 곱하여지며, 곱셈 결과는 스택으로 푸시다운된다.Then, the popped data A + B + C is multiplied by the data D in the processing unit (not shown), and the multiplication result is pushed down to the stack.

이러운 동작의 결과, 데이타(A+B+C)*C는 스택 TOS에 존재하게되고 데이타(A+B)는 제4도 스텝 4에 나타낸 것처럼 TOS 다음의 하측 요소에 남게된다.As a result of this operation, data A + B + C * C is present in the stack TOS and data A + B remains in the lower element following the TOS as shown in FIG.

모우드 지정부(15)의 플래그가 "0"인 상태에서 수행될 제4명령은 "MULTIPLY R0, R0"이다. 이러한 동작결과, 제4도 스텝 4에 나타낸 바와같은 스택에 축적된 데이타는 연속적으로 팝엎된 후 그 팝엎데이타가 서로 곱하여져서 그 곱셈결과가 제4도 스텝 5에 나타낸것처럼 TOS로 푸시다운된다. 모우드지정부의 폴래그가 "0"인 상태에서 수행될 마지막 명령은 "MOVE R0, E"이다.The fourth command to be executed while the flag of the mode designation unit 15 is "0" is "MULTIPLY R 0 , R 0 ". As a result of this operation, the data accumulated on the stack as shown in FIG. 4, step 4 are successively popped, and the pop up data are multiplied with each other, and the multiplication result is pushed down to the TOS as shown in FIG. The last command to be executed when the local government's pollag is "0" is "MOVE R 0 , E".

이러한 동작의 결과로서 TOS의 내용인, 데이타[(A+B)*(A+B+C)*D]는 팝엎되고 그런후에 범용 레지스터 화일(5)이나 주 기억장치(1)에 있는 요소(E)로 전달된다.As a result of this operation, the data [(A + B) * (A + B + C) * D], the contents of the TOS, is popped up and then the element (in the general register file 5 or main memory 1) ( E) is delivered.

앞서 기술한 바로부터 본 발명의 제일 실시예에 따르면 다음과 같은 이점을 얻을 수 있다는 것을 알게 될 것이다.From the foregoing, it will be appreciated that according to the first embodiment of the present invention, the following advantages can be obtained.

(1) 스택, 범용 레지스터 및/또는 주 기억장치에 축적된 데이타에 대한 동작은 감소된 명령수로 동일하게 수행될 수 있다.(1) Operations on data accumulated in the stack, general purpose registers and / or main memory can be performed equally with a reduced number of instructions.

(2) 기입시에 어떠한 파괴적인 자원이 없으며 스택이 임시 레지스터에 해당하기 때문에 범용 레지스터 에의 임시적인 축적동작 또는 범용 레지스터로의 귀한 동작은 어떤 동작이 일어나는 동안에도 필요치 않고, 따라서 높은 처리율을 갖는 범용적 레지스터가 얻어진다.(2) Since there is no destructive resource at the time of writing and the stack is a temporary register, temporary accumulation operations to general registers or precious operations to general registers are not necessary during any operation, and thus have a high throughput. Red register is obtained.

(3) 본 실시예에서 단지 2개 번지형식의 명령이 요구되고, 종래의 레지스터 장치에서 요구되는 3개 번지형식의 명령이 요구되지 않기 때문에 본 명령 세트가 단순화된다.(3) In this embodiment, this instruction set is simplified because only two address format instructions are required, and three address format instructions required by the conventional register apparatus are not required.

제1도 실시예에 있어서, 레지스터 화일에 있는요소(R0)는 스택의 TOS에 부합되도록 만들어지지만, 어떠한 다른 요소도 TOS에 부합하게 만들어질 수 있다는 점을 알게되는 것이다.In the first embodiment, it is understood that the element R 0 in the register file is made to conform to the TOS of the stack, but any other element can be made to conform to the TOS.

또한, 제1도 실시예에서 범용 레지스터 화일(5)은 8개의 요소, 즉 R0-R7를 갖지만 레지스터 화일내에 더 많거나 적은 요소가 결합될수 있다.Further, in the first embodiment the general purpose register file 5 has eight elements, i.e., R 0 -R 7 , but more or fewer elements can be combined in the register file.

제5도는 본 발명 다른 실시예에 따른 데이타 처리 시스템의 블록다이아그램이다. 제5도의 데이타 처리 시스템은 제1도의 것과 거의 비슷하여 단지 모우드 지정부(15)(제1도)가 제5도에서는 사용되지 않고, 대신 번지부(13)내에 범용 레지스터 화일(5)의 두요소가 선택(7)의 TOS에 부합하도록 구성되어진다는데 차이가 있다.5 is a block diagram of a data processing system according to another embodiment of the present invention. The data processing system of FIG. 5 is almost similar to that of FIG. 1 so that only the mode designator 15 (FIG. 1) is not used in FIG. 5, but instead of the general register file 5 in the address 13, The difference is that the elements are configured to conform to the TOS of selection 7.

제5도의 실시예에서, 요소(R1, R2)는 TOS에 부합하도록 구성된다 요소(R0)가 번비부(13)에서 지정되면, 해독기(17)는 해독기 출력단의 선 "R0"를 여기하도록 요소(R0)의 번지코우드를 해독한다.In the embodiment of FIG. 5, elements R 1 and R 2 are configured to conform to the TOS. If element R 0 is specified at the abyss section 13, the decoder 17 is connected to the line " R 0 " Decode bungee code of element (R 0 ) to excite.

여기된 선 ("R0")이 OR회로를 통해서 스위치 회로(19)에 연결되므로, 선("R0")위에 해독된 신호는 주기억장치(1)를 주모선(3)을 통하여 스택(7)에 연결하도록 스위치 회로(19)를 활성화하며, 동시에 선("R0")에 있는 해독된 신호는 동작 연결모우드로서 스택지시기(9)의 내용을 제어하도록 제어기(21)에 공급된다.Since the excited line ("R 0 ") is connected to the switch circuit 19 through the OR circuit, the signal decoded on the line "R 0 " causes the main memory 1 to be stacked via the main bus 3 ( Activate the switch circuit 19 to connect 7), and at the same time the decoded signal on the line "R 0 " is supplied to the controller 21 to control the contents of the stack indicator 9 as an operating connection mode.

한편, 요소(R1)가 번지부(13)에서 지정될때, 선("R1")위에 있는 해독된 신호도 또한 주 기억장치(1)를 스택(7)에 연결되도록 OR 회로(23)를 통해서 스위치회로(19)를 활성화하지만 선 ("R1")은 제어기(21)에 연결되지 않기 때문에 스택지시기(0)의 내용은 변경되지 않는다.On the other hand, when element R 1 is designated at address 13, the decoded signal on line (“R 1 ”) is also OR circuit 23 to connect main memory 1 to stack 7. The switch circuit 19 is activated through, but the contents of the stack indicator 0 are not changed since the wire ("R 1 ") is not connected to the controller 21.

즉, 이런 경우에는 비연결 모우드가 선택된다. 따라서 제5도 실시예에 따르면 번지부(13)내에 요소(RO또는 R1)의 번지를 지정하므로써 모우드 선택이 수행된다.That is, in this case the disconnected mode is selected. Therefore, according to the fifth embodiment, the mode selection is performed by designating the address of the element R O or R 1 in the address 13.

예를들면, 다음과 같은 이동(MOVE)명령을 생각해보자.For example, consider the following MOVE command.

MOVER0, R3·MOVER 0 , R 3

이러한 명령은 스택(7)의 TOS에 축적된 데이타가 연결모우드로 팝엎되고 그런다음 팝엎된 데이타가 범용 레지스터화일(5)에 있는 요소(R3)로 이송되는것을 뜻한다. 이제 다음과 같은 다른 이동 명령을 생각해 보자.This command means that the data accumulated in the TOS of the stack 7 is popped into the connection mode, and then the dumped data is transferred to the element R 3 in the general register file 5. Now consider another move command:

MOVER1, R3·MOVER 1 , R 3

이러한 명령은 TOS. 축적된 데이타가 비파괴적 모우드로 해독되어지고 그런다음 해독되어진 데이타가 레지스터 화일(5)에 있는 요소(R3)로 이송되는 것을 의미한다.These commands are TOS. This means that the accumulated data is decoded into non-destructive mode and then the decoded data is transferred to element R 3 in register file 5.

제6도는 제5도 시스템에서 번지지정을 나타내는 표이다. 제6도에 있어서, 번지부에 있는 비트 3의 값은 범용 레지스터(또는 스택) 혹은 주 기억장치가 억세스되는것을 결정하며 제6도는 단지 제2도의 경우와 마찬가지로 비트 3의 값이 "0"인 경우 만을 나타낸다.6 is a table showing the addressing designations in the FIG. 5 system. In FIG. 6, the value of bit 3 in the address portion determines that a general purpose register (or stack) or main memory is accessed. FIG. 6 shows that the value of bit 3 is "0" as in the case of FIG. Only case is indicated.

번지부(13)에 있는 비트 2-비트 0의 값("0")은 연결모우드로 TOS에 부합하도록 구성되어 있는 요소(R0)를 지정한다. 비트 2-비트 0의 값("1")은 비연결 모우드로 TOS에 부합하도록 구성되어 있는 요소(R1)를 지정한다.The value of bit 2-bit 0 ("0") in address 13 designates element R 0 which is configured to conform to the TOS as the connection mode. The value of bit 2-bit 0 ("1") specifies an element R 1 that is configured to conform to the TOS in a disconnected mode.

다른 값들("10"-"111")인 경우에 선택된 요소는 제각기 제2도의 경우와 마찬가지로 R2-R7이다.In the case of other values "10"-"111", the selected element is R 2 -R 7 as in the case of FIG.

비록 요소(R1, R2)가 제5도에서 각각 연결모우드 및 비연결모우드로 TOS에 부합하도록 만들어졌지만, 다른 요소들이 TOS에 부합하도록 구성될 수 있다는 점을 알아야 한다.Although elements R 1 and R 2 are made in FIG. 5 to be TOS-connected and unconnected, respectively, it should be noted that other elements can be configured to conform to TOS.

제5도 시스템의 동작은 제1도 시스템 작동과 유사하고 그점은 본 분야에 종사하는 사람들에게는 분명한 사실이다. 그렇기 때문에, 제5도 시스템의 작동에 대한 상세한 기술은 생략한다.The operation of the FIG. 5 system is similar to that of the FIG. 1 system and is obvious to those working in the art. As such, detailed description of the operation of the FIG. 5 system is omitted.

제7도는 본 발명의 또다른 실시예에 따른 데이타 처리 시스템의 블록다이아 그램을 나타낸다.7 shows a block diagram of a data processing system according to another embodiment of the present invention.

제7도에서, 전류 스택 지시기(CSI)(25)는 제1도에서 모우드 지정부(15)에 대신하는 것이고, 연결 또는 비연결 모우드를 지정하는 플래그 및 스택의 TOS로 간주되는 한 요소를 지정하는 번지를 축적하는데 사용된다.In FIG. 7, current stack indicator (CSI) 25 replaces the mode designator 15 in FIG. 1, and designates a flag that designates a connected or unconnected mode and one element considered to be the TOS of the stack. Used to accumulate street addresses.

CSI(27)출력은 CSI(25)에서 숫자 코우드를 해독하는 제2 해독기(27)의 입력에 연결된다. 해독기(27)로 부터 해독된 출력신호에 따라서 다중교환장치(29)는 요소(R0-R7)중의 하나를 스택의 TOS와 연결한다.The CSI 27 output is connected to the input of a second decoder 27 which decodes the numeric code at CSI 25. In accordance with the output signal decoded from the decoder 27, the multi-exchange device 29 couples one of the elements R 0 -R 7 with the TOS of the stack.

제어기(21)는 해독기(27)로 부터의 출력신호에 따라 스택지시기(9) 동작을 제어한다.The controller 21 controls the operation of the stack indicator 9 according to the output signal from the decoder 27.

제7도에 사용된 다른 참조번호는 제1도 및 제5도에 사용된 것과 같다.Other reference numerals used in FIG. 7 are the same as those used in FIGS. 1 and 5.

제8도 윗부분에 나타낸 직사각형은 전류스택 지시기(25)의 구성을 나타내는 표이다. 직사각형내에서 나타낸 바와 같이 CSI는 4개의 비트, 즉 비트 3-비트 0를 축적한다.The rectangle shown in the upper part of FIG. 8 is a table which shows the structure of the current stack indicator 25. As shown in FIG. As shown in the rectangle, the CSI accumulates four bits, bits 3-bits zero.

비트 3의 값이 "0"일 경우에 연결모우드가 지정되고 비트 3의 값이 "1"인 경우에 비연결모우드가 지정된다. CSI에 있는 비트 2-비트 0의 값은 스택의 TOS에 연결되는 범용 레지스터 화일에 있는 요소중 하나를 지정한다.The connection mode is specified when the value of bit 3 is "0" and the unconnected mode is specified when the value of bit 3 is "1". The value of bits 2-bit 0 in the CSI specifies one of the elements in the general register file connected to the TOS of the stack.

이러한 모우드 선택과 요소 지정은 CSI를 사용하여 TOS를 지정하는것을 나타내는 표 8의 아랫쪽 직사각형으로부터 보다 잘 알게 될 것이다.This mode selection and element designation will be better understood from the lower rectangle in Table 8, which indicates the TOS designation using CSI.

그 표에서 알수있는 바와같이, 비트 3이 "0"인 경우에 연결모우드가 선택되고 3이 "1"인 경우에 비연결모우드가 선택된다. TOS에 연결될 레지스터내에 있는 요소는 비트 2-비트 0의 값에 따라서 지정된다.As can be seen from the table, the connection mode is selected when bit 3 is "0" and the unconnected mode is selected when 3 is "1". The element in the register to be connected to the TOS is specified according to the value of bits 2-bit 0.

그래서, 예를들면 CSI의 내용이 "100"인 경우에 요소(R4)는 연결모우드로 TOS에 연결되도록 지정되고 CSI의 내용이 "1010"인 경우에 요소(R2)는 비연결모우드로 TOS에 연결되도록 지정된다.So, for example, if the content of the CSI is "100", the element R 4 is specified to be connected to the TOS as a connected mode and if the content of the CSI is "1010", the element R 2 is connected to the unconnected mode. Specified to connect to the TOS.

만약 필요한 경우에, 제7도의 CSI내용은 제7도 시스템이 동작하는 동안에 변화될 수도 있다. 어떠한 요소도 스택의 TOS에 연결될 수 있으므로써 CSI를 구비하는 이점은 다음과 같다.If necessary, the CSI contents of FIG. 7 may be changed while the FIG. 7 system is operating. The benefits of having CSI by allowing any element to be connected to the TOS of the stack are as follows.

(1) 범용 레지스터의 높은 처리율을 얻을 수 있다. 이것은 TOS. 일치하도록 구성되어지는 요소가 고정되지 않고 시스템이 동작하는 동안에 자유롭게 변경될 수 있기 때문이다.(1) High throughput of general purpose registers can be obtained. This is TOS. The elements that are configured to match are not fixed and can be freely changed while the system is running.

(a) 시스템이 특수한 목적을 위해 몇개의 요소를 사용하고, 대치요소가 특수목적으로 사용될 수 없는 경우에 특수목적요소를 제외한 어떠한 요소도 CSI를 사용함으로써 TOS에 일치하도록 지정될 수 있다.(a) If the system uses several elements for a particular purpose and the replacement element cannot be used for a particular purpose, any element except the special purpose element may be designated to conform to the TOS by using the CSI.

(b) 2배정도(二倍精度) 연산 또는 4배정도 연산이 범용 레지스터에서 요구되고 2 또는 4개의 연속되는 요소가 이러한 동작에 사용도는 경우에 이러한 연속도는 요소를 제외한 어떠한 요소도 CSI를 사용하므로써 TOS에 일치하도록 지정될 수 있다.(b) If two or four operations are required in the general register and two or four consecutive elements are used for this operation, this continuity may be used for any element except CSI. Can be specified to match the TOS.

(2) 다른 컴퓨터나 가상장치를 에뮬레이트(emulate)할 경우에 광범위한 가요성이 얻어질 수 있다. 즉 어떤 스택 또는 레지스터 장치도 제7도에 있는 CSI를 사용하므로써 간단히 에뮬레이트될 수 있다.(2) A wide range of flexibility can be achieved when emulating other computers or virtual devices. That is, any stack or register device can be simply emulated by using the CSI in FIG.

제9도는 또다른 본발명 실시예에 따른 데이타 시스템의 블록다이아그램을 나타내며, 거기에는 제7도에 있는 CSI(25) 대신에 두개의 전류 스택지시기[(SCI(1), CSI(2)]가 장치되어 있다. CSI(1) 및 CSI(2)는 제각기 TOS에 연결되는 레지스터 화일(5) 요소를 지정하기 위해 3개의 숫자를 축적하며 이러한 CSI들의 내용도 또한 제9도의 시스템이 동작하는 동안에 변화될 수 있다.9 shows a block diagram of a data system according to another embodiment of the present invention, in which there are two current stack indicators instead of CSI 25 in FIG. 7 ((SCI (1), CSI (2)). CSI (1) and CSI (2) accumulate three digits to designate the register file (5) elements, respectively, which are connected to the TOS, and the contents of these CSIs are also used while the system of FIG. Can be changed.

CSI(1)(31)은 해독기(33)를 통해서 다중 교환장치(1)(35)에 연결되고 CSI(2)(39)는 해독기(41)를 통해 다중교환장치(2)(37)에 연결된다. 번지부(13)에서 지정된 내용이 CSI(1)(31)에 있는 내용과 같을 경우에, 범용 레지스터 화일(5)의 지정된 요소가 댜중교환장치(35)를 통해 연결되는 스택의 TOS는 억세스되며, TOS는 비연결 모우드로 작용한다.The CSI (1) 31 is connected to the multiple exchange device 1,35 via the decoder 33 and the CSI (2) 39 is connected to the multiple exchange device 2,37 via the decoder 41. Connected. If the contents specified in the addressing section 13 are the same as those in the CSI (1) 31, the TOS of the stack to which the designated elements of the general purpose register file 5 are connected via the central exchange unit 35 is accessed. The TOS acts as a disconnected mode.

해독기(41)의 출력이 또한 스택지시기(9)동작을 제어하기 위해 제어기(21)에 연결된다. 그렇기 때문에, 번지부(13)에서 지정된 번지가 CSI(2)(39)에 있는 숫자 코우드와 같을때 범용 레지스터 화일(5)의 지정된 요소가 다중교환장치(37)를 통해 연결되는 스택의 TOS는 억세스되며, 이런 경우에 TOS는 연결모우드로 동작한다.The output of the decoder 41 is also connected to the controller 21 to control the stack indicator 9 operation. Therefore, the TOS of the stack where the specified elements of the general register file 5 are connected via the multiswitch 37 when the address specified in the address 13 is equal to the numeric code in the CSI (2) (39). Is accessed, in which case the TOS acts as a connection mode.

제10도 CSI(1), CSI(2)의 내용과 연결모우드 또는 비연결 모우드로 TOS는 "TOS"로 나타낸다. 제10도에서 CSI(1)과 CSI(2)는 둘다 세개의 비트, 즉 비트 2-비트 0로 구성되고, CSI(1)의 내용과 CSI(2)의 내용은 서로 다르다. 그렇기 때문에 CSI(1)에 있는 내용이 "0"라면 CSI(2)에 있을 수 있는 내용은 코드 "1"-"111"중 어느 하나이다.10. The contents of the CSI 1 and the CSI 2 and the TOS as the connected mode or the disconnected mode are denoted as "TOS". In FIG. 10, the CSI 1 and the CSI 2 are both composed of three bits, that is, bit 2-bit 0, and the contents of the CSI 1 and the contents of the CSI 2 are different from each other. Therefore, if the content in the CSI 1 is "0", the content that may be in the CSI 2 is any one of the codes "1"-"111".

또 CSI(1)에 있는 내용이 "1"이면 CSI(2)에 있을 수 있는 내용은 코드 "1"을 제외한 "0"-"111" 중의 어느 하나이다.If the content in the CSI 1 is "1", the content in the CSI 2 may be any one of "0"-"111" except for the code "1".

그래서 범용 레지스터 화일에 있는 두요소는 CSI(1)과 CSI(2)에 의해 지정되며, 제각기 다중교환장치(1)과 (2)를 통해 스택의 TOS에 연결된다. 예를들어 CSI(1)의 내용이 "0"이고 CSI(1)의 내용이 "001'인 경우를 생각하다.Thus, the two elements in a general register file are designated by CSI (1) and CSI (2), and are connected to the stack's TOS through multiple switch devices (1) and (2), respectively. For example, consider the case where the content of CSI 1 is "0" and the content of CSI 1 is "001".

이런 경우에, 코우드 "000'가 번지부(13)에서 시정되면, 요소(R0)가 비연결 모우드로 연결되는 TOS는 억세스될 것이고 그렇기 때문에, TOS는 쉽게 범용 레지스터 화일의 요소로 사용된다. 번지 "1"이 번지부(13)에 지정되는 경우에 요소(R1)가 연결모우드로 연결되는 TOS는 억세스될 것이고, 이경우에 스택지시기(9)의 내용은 TOS가 스택으로 작용하도록 변경될 것이다.In this case, if the code "000 'is corrected at the address 13, the TOS to which the element R 0 is connected to the unconnected mode will be accessed and therefore the TOS is easily used as an element of the general purpose register file. If the address "1" is assigned to the address 13, the TOS to which the element R 1 is connected to the connection mode will be accessed, in which case the contents of the stack indicator 9 change so that the TOS acts as a stack. Will be.

비록 범용 레지스터 화일의 요소수가 앞의 4가지 실시예에서 8개로 제한되었지만 굳이 8개로 제한할 필요가 없고 본발명에는 임의의 요소수가 가능하다.Although the number of elements of the general purpose register file is limited to eight in the previous four embodiments, there is no need to limit to eight and arbitrary number of elements is possible in the present invention.

비록 본 발명의 바람직한 실시예가 자세히 기술되었다고 하지만, 추가된 청구범위로써 정의되는 바와같이 여러가지 변경, 대체 및 교체를 일으킨 것이 본 발명의 정신과 범위를 벗어나지 않고 만들어질 수 있다는 것을 알아야 한다.Although the preferred embodiments of the invention have been described in detail, it should be understood that various changes, substitutions and alterations could be made without departing from the spirit and scope of the invention as defined by the appended claims.

전기한 바로부터 본 발명에 따르면, 3개의 자원을 가지며, 높은 처리능력을 제공하며, 명령수를 감소시키며, 2개 번지형식 명령을 사용할 수 있는 데이타 처리시스템이 제공될 수 있다는 점을 알게 될 것이다.From the foregoing, it will be appreciated that according to the present invention, a data processing system having three resources, providing high processing capacity, reducing the number of instructions, and using two address format instructions can be provided. .

Claims (1)

주기억장치, 다수의 요소(element)를 갖추고 있는 범용 레지스터 화일, 스택상단을 갖는 스택 및 각각의 데이타 번지를 지정하는 번지부와 수행될 연산을 지정하는 명령코우드를 포함하는 제1도 및 제2도의 오퍼랜드를 축적하는 명령 레지스터로 구성되어 있으며 다수의 데이타에 대한 연산을 수행하는 데이타 처리 시스템에 있어서, 상기 데이타 처리시스템은 더우기 상기 스택 상단(TOS)이 범용 레지스터 화일에 있는 상기 요소중 최소한 한개에 일치하도록 하는 제1수단(11, 17, 23, 25, 27, 29)과 상기 스택의 동작을 제어하는 제2수단(11, 21, 9, 17, 25, 27)를포함하며, 그것에 의해 상기 스택의 상단이 일치하는 상기 요소가 상기 번지부에 의해서 지정될때 상기 스택의 상다는 상기 제1수단에 의해서 선택되며 상기 스택의 동작은 상기 제2수단에 의해서 제어되는것을 특징으로 하는 데이타 처리 시스템.1 and 2, which include a main memory, a general register file having a plurality of elements, a stack having a stack top, and a address section specifying each data address, and an instruction code specifying an operation to be performed. A data processing system consisting of an instruction register that accumulates operands of a figure and performing operations on a plurality of data, said data processing system further comprising at least one of said elements in said stack top (TOS) in a general purpose register file. First means (11, 17, 23, 25, 27, 29) for matching and second means (11, 21, 9, 17, 25, 27) for controlling the operation of the stack, whereby The upper end of the stack is selected by the first means when the element whose top of the stack coincides is designated by the bungee and the operation of the stack is controlled by the second means. Data processing system according to claim.
KR1019790004059A 1979-11-20 1979-11-20 Data processing systems KR830000821B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019790004059A KR830000821B1 (en) 1979-11-20 1979-11-20 Data processing systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019790004059A KR830000821B1 (en) 1979-11-20 1979-11-20 Data processing systems

Publications (1)

Publication Number Publication Date
KR830000821B1 true KR830000821B1 (en) 1983-04-19

Family

ID=19213591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019790004059A KR830000821B1 (en) 1979-11-20 1979-11-20 Data processing systems

Country Status (1)

Country Link
KR (1) KR830000821B1 (en)

Similar Documents

Publication Publication Date Title
US4334269A (en) Data processing system having an integrated stack and register machine architecture
US6408377B2 (en) Dynamic allocation of resources in multiple microprocessor pipelines
US4459657A (en) Data processing system having re-entrant function for subroutines
US4675809A (en) Data processing system for floating point data having a variable length exponent part
EP0051131B1 (en) Computing system operating to assign registers to data
US4734852A (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
EP0213843A2 (en) Digital processor control
KR100875377B1 (en) Apparatus and Method for Performing Stack Pop and Push Operations in a Processing System
EP0062658B1 (en) Stack for a data processor
JPH0218987B2 (en)
EP0144779B1 (en) Parallel processing computer
US6292845B1 (en) Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively
US5889984A (en) Floating point and integer condition compatibility for conditional branches and conditional moves
US5019969A (en) Computer system for directly transferring vactor elements from register to register using a single instruction
US6026486A (en) General purpose processor having a variable bitwidth
JPS6122817B2 (en)
EP0180157B1 (en) Information processing unit
US5218706A (en) Data flow processor with next destination node determination
KR830000821B1 (en) Data processing systems
EP0214870B1 (en) System for controlling a data transfer instruction with an extension storage device
US4301514A (en) Data processor for processing at one time data including X bytes and Y bits
US4816992A (en) Method of operating a data processing system in response to an interrupt
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
AU540728B2 (en) Stack for a data processor