KR830000265B1 - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
KR830000265B1
KR830000265B1 KR1019790003745A KR790003745A KR830000265B1 KR 830000265 B1 KR830000265 B1 KR 830000265B1 KR 1019790003745 A KR1019790003745 A KR 1019790003745A KR 790003745 A KR790003745 A KR 790003745A KR 830000265 B1 KR830000265 B1 KR 830000265B1
Authority
KR
South Korea
Prior art keywords
address
bits
register
operand
local memory
Prior art date
Application number
KR1019790003745A
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 KR1019790003745A priority Critical patent/KR830000265B1/en
Application granted granted Critical
Publication of KR830000265B1 publication Critical patent/KR830000265B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation

Abstract

내용 없음.No content.

Description

정보처리 장치Information processing device

제1도는 종래의 정보처리장치의 블럭도.1 is a block diagram of a conventional information processing apparatus.

제2도는 본 발명의 1실시예를 나타낸 정보처리장치의 블럭도.2 is a block diagram of an information processing apparatus showing one embodiment of the present invention.

제3도는 제2도에 있어서의 국소기억장치내의 레지스터의 격납상태도.3 is a diagram showing a state of storing registers in the local memory shown in FIG.

제4도 및 제5도는 명령 형식을 나타낸 도면이다.4 and 5 show the command format.

정보처리장치는 일반적인 복수의 레지스터를 가지며 레지스터는 공통의 기억장치내에 구성되는 경우가 있다. 이 기억장치는 국소(국소)기억장치(local storage)라고불리워지고 고속 IC메모리형태로 제공된다.The information processing apparatus has a plurality of general registers, and the registers may be configured in a common storage apparatus. This memory device is called local storage and is provided in the form of a high speed IC memory.

본 발명은 상기와 같이 국소기억장치를 가진 정보처리장치에 관한 것이다.The present invention relates to an information processing apparatus having a local memory as described above.

통상의 정보처리장치에서 취급하는 최대와 어드레스 공간이 64K바이트 이내라면, 어드레스 정보를 표시하기 위해서는 16비트로 충분하지만 64K바이트를 초과한 어드레스 공간을 사용하는 경우 그것을 표시하기 위해서는 17비트 또는 그 이상의 어드레스 정보가 필요하다.If the maximum and address space handled by a conventional information processing apparatus are within 64K bytes, 16 bits are sufficient to display address information, but when using an address space exceeding 64K bytes, 17 bits or more of address information is displayed. Is needed.

예를들면 1M바이트의 어드레스 공간을 표시하기 위해서는 20바이트의 어드레스 정보가 필요하게 된다.For example, 20 bytes of address information are required to display an address space of 1M bytes.

그래서 정보처리 장치의 규모를 적게하여 그 코스트를 싸게 할 목적으로 장치내의 어드레스 정보라든가 통상의 데이타의 전송 및 이 정보 처리를 일원적으로 표시하기 위해 16비트(2바이트)로 사용하는 경우가 있다.Therefore, in order to reduce the size of the information processing apparatus and reduce its cost, there are cases where 16 bits (2 bytes) are used to display the address information in the apparatus or to transfer the normal data and to display the information processing in one unit.

제1도는 상기와 같은 종래의 정보처리장치의 블럭도이다. 제1도에 있어서 국소기억장치(12)는 적당한 기억용량을 가지며 각 워어드(word)의 폭은 16비트이다. 국소기억장치(12)의 독출 및 기입동작은 워어드를 단위로 행해지고 이워드를 2개합쳐서 1개의 레지스터가 구성된다. 국소기억장치(12)속에 구성되는 레지스터로서의 범용레지스터나 워크 레지스터(work register)등이 있다.1 is a block diagram of a conventional information processing apparatus as described above. In FIG. 1, the local memory device 12 has a suitable storage capacity and each word has a width of 16 bits. The read and write operations of the local memory 12 are performed in units of words, and one register is formed by combining two words. There are general registers, work registers, and the like, which are registers configured in the local storage device 12.

범용레지스터는 인덱스 레지스터 또는 베이스 레지스터(base register)로서 어드레스 정보를 격납하기 위하여 사용되기도 하고 고정소수점연산 또는 논리연산등을 행하는 경우의 오퍼랜드 레지스터(operand register)로서 통상의 데이타를 격납하기 위하여 사용된다.The general purpose register is used to store address information as an index register or a base register, and is used to store normal data as an operand register in the case of performing fixed-point or logical operations.

워크레지스터는 연산결과를 일시적으로 격납하여 다음의 연산에 대비하기 위해 사용된다.The work register is used to temporarily store the result of the operation and prepare for the next operation.

국소기억장치(12)속에는 그외에도 각종의 레지스터가 구성되고 반드시 2개의 워어드를 할당하지 않은 것도 있다. 이러한 레지스터는 본 발명과 직접 관계하지 않으므로 이하의 설명에서는 생략하기도 한다.In the local memory 12, various registers are configured, and two words are not necessarily allocated. Since such registers are not directly related to the present invention, they may be omitted in the following description.

데이타 폭이 다같이 16비트인 두 입력 데이타를 수취하는 연산기(1)에 있어서, 이 입력데이타는 입력버스(13)에서 입력레지스터(15),(16)를 거쳐서 인가된다. 연산기(11)의 출력 데이타는 출력버스(14)에 나타나고 이 데이타는 국소기억장치(12)에 로우드(lord)되든가 또는 어드레스 레지스터(17)에 세트된다.In the operator 1 which receives two input data having a data width of 16 bits all together, this input data is applied from the input bus 13 via the input registers 15 and 16. The output data of the operator 11 appears on the output bus 14 and this data is either set to the local memory 12 or set in the address register 17.

주기억장치(18)에는 명령이나 데이타가 격납되어 있고 어드레스레지스터(17)에 주기억장치(18)의 독출어드레스 또는 기입어드레스가 격납된다.In the main memory 18, instructions or data are stored, and the read address or write address of the main memory 18 is stored in the address register 17. As shown in FIG.

이상과 같은 보처리장치에 있어서는 국소기억장치(12)의 2조의 레지스터에서 각각 어드레스 정보를 독출하고 다음에 그것들을 연산기(11)에서 가산하도록한 어드레스 연산을 행하는 경우 다음과 같은 문제가 있다.In the above-described complementary processing apparatus, there are the following problems when address information is read out from each of two sets of registers of the local memory device 12, and then these are added by the calculator 11.

그리고 어드레스 연산에 관해서는 다음에 상세하게 기술한다. 즉, 이정보처리 장치에서 취급된 어드레스 공간이 64K 바이트의 경우 어드레스 정보는 16비트가 되기 때문에 상기의 어드레스 연산은 1회로 끝나버려 문제는 없으나, 어드레스 공간이 예를들면 1M바이트의 경우는 어드레스 정보는 20비트가 되고 1회째에서 20비트중의 하(下)16비트 끼리에 관하여 가산하고 다음의 2회째에서 나머지 상(上) 4비트 끼리에 관하여 가산하는 것으로 된다. 따라서 어드레스 연산을 2회 행할 필요가 있고 어드레스연산에 시간이 걸리고 성능이 떨어지는 결점을 갖는다.The address operation will be described later in detail. That is, since the address information is 16 bits when the address space handled by this information processing apparatus is 64K bytes, the above address operation is completed in one time, and there is no problem. However, when the address space is 1M bytes, the address information is It becomes 20 bits and adds with respect to the lower 16 bits of 20 bits from the 1st time, and adds with respect to the remaining upper 4 bits from the next 2nd time. Therefore, it is necessary to perform the address operation twice, and the address operation takes time and has the disadvantage of poor performance.

이 문제를 해결하기 위하여 국소기억장치(12)의 워어드 폭이나 연산기(11)의 입력데이터폭을 크게하는 방법이 있으나 이러한 폭의 바이트수는 2n(n:어드레스 정보의 바이트 수)으로 해야하며 따라서 어드레스 정보가 2바이트를 초과한 경우는 국소기억장치(12)의 워어드 폭이나 연산기(11)의 입력데이타 폭을 4바이트로 할 필요가 없다. 그러나 이와같이 폭이 넓으면 장치 규모가 크게되어 코스트가 지나치게 비싼결점을 갖는다.To solve this problem, there is a method of increasing the word width of the local memory device 12 or the input data width of the calculator 11, but the number of bytes of the width should be 2 n (n: number of bytes of address information). Therefore, if the address information exceeds 2 bytes, it is not necessary to set the word width of the local memory device 12 or the input data width of the operator 11 to 4 bytes. However, such a wide width causes the device to be large, resulting in an excessively expensive cost.

본 발명의 목적은 이러한 문제를 해결하기 위해 장치의 규모를 증대하지 않고 어드레스 연산에 요하는 시간을 단축하고 성능을 향상할 수 있는 정보처리장치를 제공하는데 있다. 명령의 처리과정에는 일반적으로, (1)실행해야 할 명령어를 주기억장치로 부터 독출하는 과정과,(2)독출한 명령기로 해독하는 과정과 (3)어드레스 수식(修飾)을 하기 위해 어드레스 연산을 행하고 주기억장치의 어드레스를 구하는 과정과 (4)레지스터 또는 주기억장치에서 오퍼랜드를 독출하는 과정과, (5)오퍼랜드에 대하여 연산을 실시하고 (오퍼랜드에 대하여 어떠한 연산도 실시하지 않은 경우도 있으나, 이하 이와같이 표현한다), 연산 결과를 레지스터 또는 주기억장치에 로우드 하는 과정으로 나눈다.An object of the present invention is to provide an information processing apparatus capable of shortening the time required for address operation and improving performance without increasing the size of the apparatus to solve such a problem. In general, the processing of an instruction includes (1) reading the instruction to be executed from the main memory, (2) decoding the read instruction using the instruction, and (3) performing an address operation for address addressing. (4) reading the operand from the register or the main memory, (5) performing an operation on the operand (the operation may not be performed on the operand, In the following, the operation is divided into registers or main memory.

본 발명은 상기(3)의 어드레스 연산과정과, (5)의 오퍼랜드 연산과정을 행하는 경우에 특징을 가진다.The present invention has a feature in the case of performing the address calculation process (3) and the operand calculation process (5).

그리고 오퍼랜드 연산과정에 있어서 연산결과를 레지스터에 로우드하는 경우가 본 발명과 관계하고 연산결과를 주기억장치에 로우드하는 경우는 본 발명과 직접관계 없다.In the operand operation, the case where the operation result is loaded into the register is related to the present invention, and the case where the operation result is loaded into the main memory is not directly related to the present invention.

따라서 본 발명에 있어서는 오퍼랜드 연산과정에 있어서 연산결과를 국소기억장치내의 레지스터에 로우드하는 경우 그 로우드하는 쪽에 연구를 하였다. 오퍼랜드 연산에 있어서는 일반적으로 그때 연산되어 있는 오퍼랜드가 통상의 데이터인가, 어드레스 정보인가 장치내에서의 판별은 불가능하다. 그곳에 어느 경우라도 레지스터의 로우드쪽에 다음과 같은 연구를 해둔다. 즉 다음의 새로운 명령처리의 어드레스 연산과정에 있어서 레지스터에서 어드레스 정보를 독출할 필요가 발생한 경우, 어드레스 공간을 표시하는데 충분한 비트수의 어드레스 정보가 한번에 독출될 수 있도록 한다.Therefore, in the present invention, when the operation result is loaded into a register in the local memory in the operand calculation process, the study is conducted on the side of the operation. In operand calculation, in general, it is impossible to determine whether the operand calculated at that time is normal data or address information in the apparatus. In either case, the following work is done on the register side of the register. That is, when it is necessary to read address information from a register in the address operation of the next new instruction processing, address information of a sufficient number of bits to display the address space can be read at once.

이와 같이 하면 연산기가 이 어드레스 정보를 한번에 처리할 수 있는 입력 데이터폭을 가지고 있으면 각 명령의 어드레스 연산과정을 고속 처리할 수 있고 정보처리장치의 성능을 대폭적으로 향상시킬수 있다.In this way, if the operator has an input data width capable of processing this address information at one time, the address calculation process of each instruction can be performed at high speed, and the performance of the information processing apparatus can be greatly improved.

이하 본 발명의 실시예를 도면에 의해 설명한다.Embodiments of the present invention will be described below with reference to the drawings.

제2도는 본 발명에 의한 정보처리장치이블럭 구성도이다. 이 정보 처리장치에서는 어드레스 공간을 최대 1M바이트로 한다. 국소기억장치(22)는 각각 독립적으로 억세스 가능한 2개의 뱅크(bank),(BK1),(BK2)를 포함하고 있다. 양 뱅크는 공통으로 어드레스에 붙여져 있어 뱅크(BK1)측의 워어드 폭은 4비트, 뱅크(BK2)측의 워어드 폭은 16비트이다. 따라서 국소기억장티(22)의 1워어드 20비트이다.2 is a block diagram of an information processing apparatus according to the present invention. In this information processing apparatus, the address space is at most 1 Mbyte. The local memory 22 includes two banks, BK 1 and BK 2 , each independently accessible. Both banks are commonly addressed, so the word width on the bank BK 1 side is 4 bits and the word width on the bank BK 2 side is 16 bits. Therefore, one word of local memory tee 22 is 20 bits.

이 20비트의 각 비트를 A~A19로 하면 A0~A3의 4비는 뱅크(BK1), A4~A19의 16비트는 뱅크(BK2)에서 담당한다. 이 국소기억장치(22)속에 복수개의 레지스터가 구성되어 있는 1개의 레지스터는 제3도에 나타낸 바와같이 32비트(4바이트)의 폭을 가지며 그 상의 2바이트(0,1바이트째)는 i번지의 A4~A19로 구성되고, 또 하의 2바이트(제2,3바이트째)는 i+1번지의 A4~A19로서 구성된다.If each of these 20 bits is set to A to A 19 , the four ratios of A 0 to A 3 are in charge of the bank (BK 1 ), and the 16 bits of A 4 to A 19 are in charge of the bank (BK 2 ). One register composed of a plurality of registers in the local memory 22 has a width of 32 bits (4 bytes) as shown in FIG. 3, and the 2 bytes (0, 1 byte) thereon are address i. Is composed of A 4 to A 19 , and the lower two bytes (second and third bytes) are configured as A 4 to A 19 at address i + 1.

그리고 각 바이트는 0~7까지의 비트 위치를 가진다.Each byte has a bit position from 0 to 7.

연산기(21)는 좌우의 입력데이터 폭이 다같이 20비트이고 이데 대한 입력데이터는 입력버스(23)에서 입력레지스터(25),(26)를 거쳐 인가된다.The operator 21 has 20 bits of left and right input data widths, and the input data is applied from the input bus 23 via the input registers 25 and 26.

이 연산기(21)는 어드레스 연산과 오퍼랜드 연산의 양쪽에 사용된다. 입력버스(23)는 3조의 데이터버스(231~233)로 구성되고 각각에는 국소기억장치(22)의 독출데이터 A4~A19중의 A0~A3까지의 4비트가,A4~A11까지의 8비트가, A12~A19까지의 8비트가 출력된다.This operator 21 is used for both an address operation and an operand operation. The input bus 23 is composed of three sets of data buses 231 to 233, and each of four bits from A 0 to A 3 in the read data A 4 to A 19 of the local memory device 22 is A 4 to A. 8 bits up to 11 are output, and 8 bits up to A 12 to A 19 are output.

연산기(21)의 출력데이터는 출력버스(24)에 나타난다. 출력버스(24)는 4조의 데이터버스(241~244)로 형성된다. 연산기(21)의 출력데이타는 최대 20비트이고 이 각 비트를 B0~B19로 하면 데이타버스(241~244)에는 각각 B0~B3까지의 4비트가,B4~B11까지의 8비트가, B12~B15까지의 4비트가, B16~B19까지의 4비트가 출력된다.The output data of the calculator 21 appears on the output bus 24. The output bus 24 is formed of four sets of data buses 241 to 244. The output data of the operator 21 is a maximum of 20 bits. When each bit is set to B 0 to B 19 , the data buses 241 to 244 each have 4 bits of B 0 to B 3 and B 4 to B 11 . 8 bits are output, 4 bits from B 12 to B 15 and 4 bits from B 16 to B 19 are output.

출력버스(24)상의 데이타는 국소기억장치(22)에 기입되거나 또는 어드레스 레지스터(27)에 세트된다.Data on the output bus 24 is written to the local memory 22 or set in the address register 27.

어드레스 레지스터(27)의 내용은 주기억장치(28)의 독출 어드레스 또는 기입어드레스로서 사용된다. 출력버스(24)상의 B0~B19까지의 데이터가 국소기억장치(22)에 기입되는 경우 A4~A19의 위치에는 반드시 각각 B4~B19의 데이터가 들어가지만, A16~A19의 위치에는 의 데이터 또는 의 데이터가 들어간다.The contents of the address register 27 are used as the read address or the write address of the main memory 28. When data from B 0 to B 19 on the output bus 24 are written to the local storage device 22, the data of B 4 to B 19 is always included in the positions A 4 to A 19 , but A 16 to A Position 19 contains the data of or.

이 선택은 셀렉터(selector) 회로(29)에서 행한다. 명령레지스터(30)에는 주기억장치(28)에서 독출된 명령이 공급된다.This selection is made in the selector circuit 29. The command read from the main memory 28 is supplied to the command register 30.

제어부(31)는 명령레지스터(30)에서 명령어를 수취하고, 그 내용에 근거하여 장치 각부를 제어한다.The control unit 31 receives a command from the command register 30, and controls each unit based on the content.

이 제어부(31)는 마이크로 프로그램형식의 것으로써 좋다.This control part 31 is good as a micro-program type.

제어부(31)속에는 셀렉터회로(29)의 동작을 제어하기 위한 셀렉터 제어부(311), 국소기억장치(22)의 동작을 제어하기 위한 국소기억장치 제어부(312)와 연산기(21)의 동작을 제어하기 위한 연산제어부(313)가 있다.The control unit 31 controls the operation of the selector control unit 311 for controlling the operation of the selector circuit 29 and the operation of the local memory control unit 312 and the calculator 21 for controlling the operation of the local memory 22. There is an operation control unit 313 for this purpose.

제어부(31)속에는 그외에도 여러가지가 있으나 여기서는 생략하고 있다. 각각의 제어부는 셀렉터 회로(29), 국소기억장치(22), 연산기(21)를 이하의 설명으로 기술하는 바와 같이 제어한다.There are various other types in the control unit 31, but they are omitted here. Each control part controls the selector circuit 29, the local memory device 22, and the calculator 21 as described below.

본 발명의 특징은 상술한 바와 같이 어드레스 연산과정과 오퍼랜드 연산과정에 있다. 그래서 상기 과정에 관하여 설명하지만, 설명을 용이하게 하기 위해 오퍼랜드 연산과정을 먼저 설명한다. 이오포랜드 여산과정에 있어서 연산과정을 레지스터에 기입하는 것은 RR형식이나 RX형식등의 명령을 실행하는 경우에 일어날 수 있는 것은 당업자들에게 있어 명백하다.The features of the present invention are in the address operation process and the operand operation process as described above. So, while the above process is described, the operand operation process will be described first for ease of explanation. It is apparent to those skilled in the art that writing of arithmetic operations in registers in the epoland calculation process can occur when executing an instruction such as RR format or RX format.

그래서 RR형식의 명령을 실행하는 경우를 설명한다. RR형식의 명령은 제4도와 같이 되어 있다.Therefore, the case of executing the RR format instruction will be explained. The instruction in the RR format is shown in FIG.

R1,R2는 각각 제1,제2 오퍼랜드가 격납되어 있는 범용레지스터에 로우드된다.R 1 and R 2 are respectively locked to the general purpose registers in which the first and second operands are stored.

그래서 범용레지스터 GRA와 GRB이 각각의 4바이트를 연산하여 그 결과를 범용 레지스터 GRA에 로우드 하는 경우를 설명한다. 그리고 범용 레지스터 GRA와 GRB는 각각 국소기억장치(22)의 n과 n+1번지, m 과 m+1번지로서 구성되어 있는 것으로 한다.Thus, the general registers GRA and GRB operate on each of 4 bytes and log the result to the general register GRA. The general-purpose registers GRA and GRB are assumed to be configured as n and n + 1 addresses and m and m + 1 addresses of the local memory 22, respectively.

상기(4)의 오퍼랜드 독출과정부터 설명한다. 우선 제1의 스텝에서 오퍼랜드 독출 과정이 행해진다. 여기서 국소기억장치(22)의 뱅크(BK2)의 n+1번지에서 A4~AB19가 독출되어 입력버스(23)를 거쳐 입력 레지스터(25)에세트된다. 이 레지스터 내용은 범용레지스터 GRA의 제2,3바이트를 차지한다.The above-described operand reading process will be described. First, the operand reading process is performed in the first step. Here, A 4 to AB 19 are read from the n + 1 address of the bank BK 2 of the local storage device 22 and set in the input register 25 via the input bus 23. The register contents occupy the second and third bytes of the general register GRA.

다음 제2이 스텝에서도 오페랜드 독출과정이 행해진다.여기서 입력레지스터(25),(26)의 내용이 연산기(21)에서 연산되어 그 결과가 출력버스(24)를 거쳐 국소기억장치(22)이 뱅크(BK2)을 n+1번지의 A4~A19에 로우드된다.The operand reading process is also performed in the second step. Here, the contents of the input registers 25 and 26 are calculated by the calculator 21, and the result is passed through the output bus 24 to the local storage device 22. This bank BK 2 is locked to A 4 to A 19 at address n + 1.

다음의 제4스텝에서 다시 오퍼랜드 독출과정이 행해진다. 여기서 국소기억장치(22)의 뱅크(BK)의 n번지에서 A4~A19가 독출되어 입력버스(23)를 거쳐입력레지스터(25)에 세트된다. 이 내용은 범용 레지스터 GRA의 제0,1바이트를 차지한다. 다음의 제5스텝에서도 오퍼랜드 독출과정이 행해진다. 여기서 국소기억장치(22)의 뱅크(BK)의 m번지에서 A4~A9가 독출되어 입력버스(23)를 거쳐 입력 레지스터(26)에 세트된다.이 내용은 범용레지스터 GRB의 제0,1바이트를 차지한다. 다음에 제6의 스텝에서 오퍼랜드 연산과정이 행해진다. 여기서 입력레지스터(25)와 (26)의 내용이 연산기(21)에서 연산되어 그 결과가 출력버스(24)거쳐 국소기억장치(22)의 뱅크(BK2)이 n번지의 A4~A19에 로우드된다. 또 이때 셀렉터회로(29)가 B16~B19의 데이터를 출력하여 이 데이터에는 뱅크(BK)의 n+1번지의 A~A에 기입된다.In the next fourth step, the operand reading process is performed again. Here, A 4 to A 19 are read out at the n address of the bank BK of the local storage device 22 and set in the input register 25 via the input bus 23. This content occupies 0,1 byte of the general-purpose register GRA. The operand reading process is also performed in the next fifth step. Here, A 4 to A 9 are read out at the m address of the bank BK of the local memory 22, and are set in the input register 26 via the input bus 23. Occupies one byte Next, the operand calculation process is performed in the sixth step. Here, the contents of the input registers 25 and 26 are calculated by the calculator 21, and the result is output bus 24, so that the bank BK 2 of the local memory device 22 is A 4 to A 19 at n. Be lodged in. At this time, the selector circuit 29 outputs data of B 16 to B 19 and is written to A to A at address n + 1 of the bank BK.

이와같이 하여 연산된 4바이트의 데이터가 제3도에 나타낸 바와 같은 상태에서 국소기억장치(22)중의 범용 레지스터 GRA에 격납되어 있다.The four-byte data calculated in this manner is stored in the general-purpose register GRA in the local memory 22 in the state shown in FIG.

여기서 범용레지스터 GRA의 n번지의 A16~A19의 내용과 n+1 번지의 A0~A3의 내용이 같은 것에 주의를 해야한다. 국소기억장치(22)의 다른 레지스터에 오퍼랜드 연산결과를 로우드하는 경우도 모두 마찬가지로 한다.Attention is drawn to the fact that the contents of A 16 to A 19 of address n of the general-purpose register GRA and the contents of A 0 to A 3 of address n + 1 are the same. The same applies to all cases in which the operand calculation result is loaded into another register of the local memory device 22.

그리고 이상의 설명에 있어서 국소기억장치(22)의 독출을 뱅크(BK2)에 대해서만 행하게 하는 경우(스텝 1,2,4,5)가 있으나 뱅크(BK1)도 독출을 허용하고 그 대신에 A0~A3의 데이터에 관해서는 입력버스(23), 입력레지스터(25),(26) 또는 연산기(21)에의 입력을 금지하든가 또는 연산기(21)에서의 연산의 대상을 16비트까지 제한하고 그 이상의 연산은 하지 않도록 하여도 좋다. 또 국소기억장치(22)의 기입에 관해서도 뱅크(BK2)만으로 행하게 하고 있는 경우(스텝 3)도 있으나 뱅크(BK1)에도 기입을 허용하고 그 대신에 셀렉터 회로(29)가 어느 쪽의 데이터도 출력하지 않도록 하여도 좋다.In the above description, there is a case where the reading of the local memory device 22 is performed only for the banks BK 2 (steps 1, 2, 4, 5), but the bank BK 1 also permits reading and instead A Regarding the data of 0 to A 3, the input to the input bus 23, the input registers 25 and 26, or the calculator 21 is prohibited or the target of the operation in the calculator 21 is limited to 16 bits. You may not perform further calculations. The local memory 22 may also be written only in the bank BK 2 (step 3). However, the bank BK 1 is allowed to write, and the selector circuit 29 allows the data to be written instead. May not be output.

다음에 어드레스 연산과정에 관하여 설명한다.Next, an address operation process will be described.

어드레스 연산과정에 일어날 수 있는 것은 RX형식이나 RS형식등의 명령을 실행하는 경우임을 당업자에 있어서는 주지이다.It is well known to those skilled in the art that it is the case of executing an instruction such as RX format or RS format that can occur in the address operation.

그래서 RX형식의 명령처리시의 어드레스 연산과정에 관하여 설명한다. RX형식의 명령은 제5도와 같이 되어 있다. R1은 제1오포랜드가 격납되어 있는 범용 레지스터를 지정한다. 또 X와 B는 각각 국소기억장치(22)의 인덱스 레지스터, 베이스 레지스터를 지정한다.Thus, a description will be given of the address calculation process in the RX format instruction processing. The RX format instruction is shown in FIG. R 1 designates a general register in which the first operand is stored. X and B designate the index register and the base register of the local memory 22, respectively.

그리고 D는 변위(displacement)를 지정한다. 인덱스 레지스터의 내용과 베이스 레지스터의 내용과 변위를 가산하여 제2오퍼랜드가 격납되어 있는 주기억장치(28)의 어드레스를 얻는 것이 어드레스 연산과정이다. 그래서 ,X,B과 각각 전술의 오퍼랜드 연산과정에서 사용된 범용레지스터 GRA,GRB를 지정하고 있는 경우의 어드레스 연산과정을 설명한다. 우선 제1스텝에서 국소기억장치(22)의 뱅크(BK1) 와 (BK2)의 n+1번지에서 A0~A19가 독출되고 입력버스(23)를 거쳐 입력레지스터(25)에 세트된다.And D designates displacement. The address calculation process is performed by adding the contents of the index register, the contents and the displacement of the base register to obtain the address of the main memory 28 in which the second operand is stored. Hence, the address calculation process in the case where X, B and the general purpose registers GRA and GRB used in the above operand calculation process are specified, respectively. First, in the first step, A 0 to A 19 are read at the n + 1 addresses of the banks BK 1 and BK 2 of the local memory device 22 and set in the input register 25 via the input bus 23. do.

다음 제2의 스텝에서 국소기억장치(22)의 뱅크 (BK1)와 (BK2)의 m+1번지에서 A0+A19가 독출되어 입력버스(23)를 거쳐 입력레지스터(26)에 세트된다.In the second step, A 0 + A 19 is read out from the banks BK 1 and m + 1 of the local memory device 22 and BK 2 to the input register 26 via the input bus 23. Is set.

다음 제3의 스텝에서 입력레지스터(25)와 (26)의 내용이 연산기(21)에서 가산되어 그 결과가 출력버스(24)를 거쳐서 국소기억장치(22)내의 워크 레지스터 GRC에 로우드된다. 이 워크레지스터 (GRC가 국소기억장치(22)의 l과 l+1번지로서의 구성되어 있다고 한다면 상기 연산 결과는 뱅크(BK1)와 (BK2)의 l+1번지에 로우드된다. 이때 셀렉터회로(29)는 출력버스(241)상의 B0~B3를 출력한다.In the next third step, the contents of the input registers 25 and 26 are added by the calculator 21, and the result is routed to the work register GRC in the local memory 22 via the output bus 24. If the work register (GRC is composed of l and l + 1 addresses of the local memory 22), the result of the calculation is loaded into l + 1 addresses of the banks BK 1 and BK 2 . The circuit 29 outputs B 0 to B 3 on the output bus 241.

다음 제 4스텝에서 국소기억장치(22)의 뱅크 (BK1)와 (BK2) 의 l+1번지에서 A0~A19가 독출되어 입력버스(23)를 거쳐서 입력레지스터(25)에 세트된다.In the fourth step, A 0 to A 19 are read out at l + 1 of the banks BK 1 and BK 2 of the local memory device 22 and set in the input register 25 via the input bus 23. do.

다음의 제5의 스텝에서 명령레지스터(30)에서 명령어 중의 변위(D)가 취출되어 입력버스(23)를 거쳐서 입력레지스터(26)에 세트된다.In the next fifth step, the displacement D in the instruction is taken out from the instruction register 30 and set in the input register 26 via the input bus 23.

다음 제6의 스텝에서 입력레지스터(25)와 (26)의 내용이 연산기(21)에서 가산되어 그 결과가 출력버스(24)를 거쳐 어드레스레지스터(27)에 세트된다.In the next sixth step, the contents of the input registers 25 and 26 are added by the calculator 21 and the result is set in the address register 27 via the output bus 24.

이 어드레스 레지스터(27)의 내용은 주기억장치(28)에 있어서의 제2오포랜드의 어드레스가 된다.The contents of this address register 27 become the address of the second operand in the main memory 28.

이상의 어드레스 연산은 종래에 비하여 대단히고 속으로 행해진다. 즉 종래의 경우라도 상기 제1~3스텝, 제4~6스텝은 각각 1회째에서 20비트중의 하 16비트, 2회째에서 나머지 상 4비트의 상대로 2회로 나눠서 행할 필요가 있다.The above address operation is performed much faster than the conventional one. That is, even in the conventional case, the first to third steps and the fourth to sixth steps need to be divided into two times of the lower 16 bits of the first 20 bits and the remaining upper 4 bits of the second bit, respectively.

이것에 대하여 제2도의 정보처리장치에 의하여 국소기억장치(22)가 어드레스 정보를 독출하는 경우 20비트 전체가 한꺼번에 얻어지고 더욱기 연산기(21)에서 이 20비트 전체를 한꺼번에 연산할 수 있다. 따라서 어드레스 연산을 2배의 속도로 행할 수가 있고 고성능의 정보처리장치를 얻을수가 있다.On the other hand, when the local memory device 22 reads the address information by the information processing apparatus of FIG. 2, all 20 bits are obtained at once, and further, the entire calculator 20 can calculate all of these 20 bits at once. Therefore, the address operation can be performed at twice the speed, and a high performance information processing apparatus can be obtained.

그리고 이상의 실시예에 있어서 연산기(21)는 어드레스 연산과 오퍼랜드 연산의 양쪽에 사용되지만 각각 별도의 연산기를 사용하여도 좋다. 이 경우 어드레스 연산용의 연산기는 연산기(21)와 마찬가지의 좌우의 입력 데이타 폭을 20비트로 할 필요가 있지만 오퍼랜드 연산용의 연산기는 2바이트의 처리를 행하면 좋으므로 입력데이터 폭은 16비트라도 좋다.In the above embodiment, the operator 21 is used for both the address operation and the operand operation, but a separate operator may be used. In this case, the arithmetic unit for address calculation needs to have 20 bits of the input data width on the left and right sides similar to that of the arithmetic operator 21. However, the arithmetic operator for operand operation should process 2 bytes, so the input data width may be 16 bits.

이상 본 발명을 1M바이트의 어드레스 공간을 표시하기 위하여 20비트의 어드레스 정보를 취급하는 정보처리장치를 예를 들어 설명했으나 본 발명은 이 이외의 비트수의 어드레스 정보를 취급하는 경우에도 적용할 수 있는 것은 명백하다.In the above, the present invention has been described with an example of an information processing apparatus that handles 20 bits of address information in order to display an address space of 1M bytes, but the present invention can be applied to the case of handling address information of other bits. It is obvious.

본 발명에 의하면 고속의 어드레스의 연산이 가능한 고성능의 정보처리장치를 얻을수가 있다.According to the present invention, it is possible to obtain a high performance information processing apparatus capable of calculating a high speed address.

Claims (1)

각 워어드가 X바이트 + Y비트의 비트수를 가지며, 2개의 워어드가 하나의 레지스터를 구성하는 기억장치와, 오퍼랜드계산의 결과가 상기 레지스터에 로우드될때 상위 워어드의 하위 Y비트에 로우트 되는 데이타를 하위 워어드의 상위 Y비트에도 로우드 하는 회로와, 일시에 X바이트+Y비트의 갯수의 비트로 이루어진 데이터를 처리하는 연산기와, 레지스터의 데이터가 오퍼랜드 연산을 실행하기 위하여 연산기에 입력될 때 상기 레지스터의 상위 및 하위의 워어드 X바이트를 별도로 독출하는 회로 등을 구비한 것을 특징으로 하는 데이터 처리장치.Each word has a number of bits of X bytes + Y bits, the memory of which two words make up one register, and the low Y bits of the upper word when the result of the operand calculation is loaded into the register. A circuit that loads the data being written to the upper Y bits of the lower word, an operator that processes data consisting of the number of bits of X bytes + Y bits at a time, and the data of the register is input to the operator to perform the operand operation. And a circuit for separately reading the word X bytes of the upper and lower registers of the register.
KR1019790003745A 1979-10-27 1979-10-27 Information processing device KR830000265B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019790003745A KR830000265B1 (en) 1979-10-27 1979-10-27 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019790003745A KR830000265B1 (en) 1979-10-27 1979-10-27 Information processing device

Publications (1)

Publication Number Publication Date
KR830000265B1 true KR830000265B1 (en) 1983-02-25

Family

ID=19213367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019790003745A KR830000265B1 (en) 1979-10-27 1979-10-27 Information processing device

Country Status (1)

Country Link
KR (1) KR830000265B1 (en)

Similar Documents

Publication Publication Date Title
US4675809A (en) Data processing system for floating point data having a variable length exponent part
US4453212A (en) Extended address generating apparatus and method
US4654781A (en) Byte addressable memory for variable length instructions and data
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US4334269A (en) Data processing system having an integrated stack and register machine architecture
US4615006A (en) Physical address developing unit
EP0170284B1 (en) Microcomputer
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JPS5817582A (en) Data storage and address specifying system for mutiplex word memory
US4037209A (en) Data processing system for converting from logical addresses to physical addresses
EP0264048B1 (en) Thirty-two bit bit-slice
JPH0414385B2 (en)
US3737871A (en) Stack register renamer
US4096570A (en) Subchannel memory access control system
US5019969A (en) Computer system for directly transferring vactor elements from register to register using a single instruction
US4754424A (en) Information processing unit having data generating means for generating immediate data
US4250548A (en) Computer apparatus
US4301514A (en) Data processor for processing at one time data including X bytes and Y bits
US4602330A (en) Data processor
KR830000265B1 (en) Information processing device
US5179682A (en) Method and apparatus for improved current window cache with switchable address in, out, and local cache registers
JPS5844263B2 (en) memory control circuit
US5491826A (en) Microprocessor having register bank and using a general purpose register as a stack pointer
EP0114683B1 (en) Arithmetic unit
US4811213A (en) Vector processor with vector registers