【発明の詳細な説明】技術分野本発明はメモリオペランド取出しシステムに関し、特に
バッファ記憶装置から命令に必要なメモリオペランドを
読出すメモリオペランド取出し方式に関する。TECHNICAL FIELD The present invention relates to memory operand retrieval systems, and more particularly to a memory operand retrieval method for reading memory operands required by an instruction from a buffer storage device.
従来技術独立にアクセス可能で一定の読出し幅を1ワードとして
このワード単位にデータを読出すことが可能な2つのバ
ッファ記憶装置から、命令に必要なメモリオペランドを
取出すようにした情報処理装置がある。2. Description of the Related Art There is an information processing device that extracts memory operands necessary for an instruction from two buffer storage devices that can be accessed independently and that can read data in word units with a fixed read width of one word. .
かかる情報処理装置では、ある命令が1つのメモリオペ
ランドを必要とするような場合には、第1のバッファ記
憶装置からこの必要なメモリオペランドを取出し、2つ
のメモリオペランドを必要とする場合に始めて第1のバ
ッファ記憶装置の他に第2のバッファ記憶装置を使用し
ている。In such an information processing device, when a certain instruction requires one memory operand, this necessary memory operand is retrieved from the first buffer storage device, and only when two memory operands are required, the first memory operand is retrieved. In addition to the first buffer storage, a second buffer storage is used.
よって、メモリオペランドを1つしか必要としない命令
実行の際に、取出すべきメモリオペランドが2つのワー
ドにまたがって存在する時でも、第1のバッファ記憶装
置のみを使用しており、そのためにアクセスを2回繰返
して2つのメモリオペランドを第1のバッファ記憶装置
から取出すようになっている。よって、メモリオペラン
ドの取出し時間がそれだけ長くなるという欠点がある。Therefore, when executing an instruction that requires only one memory operand, even if the memory operand to be retrieved spans two words, only the first buffer storage device is used and therefore access is not possible. Two memory operands are retrieved from the first buffer store in two iterations. Therefore, there is a drawback that the time required to retrieve the memory operand becomes longer.
発明の目的そこで、本発明はこの様な従来のものの欠点を解決すべ
くなされたものであって、、その目的とするところは、
メモリオペランドの取出し時間を短くし得るメモリオペ
ランド取出しシステムを提供することにある。Purpose of the Invention Therefore, the present invention has been made to solve the drawbacks of the conventional ones, and its purpose is to:
An object of the present invention is to provide a memory operand retrieval system that can shorten the time required to retrieve a memory operand.
発明の構成本発明のよれば、互いに独立してアクセス可能でかつメ
モリオペランドを格納する第1及び第2の記憶手段を有
し、これ等記憶手段から一定の読出し幅を1ワードとし
てこのワード単位にデータを取出すようにした情報処理
装置におけるメモリオペランド取出しシステムであって
、1つのみのメモリオペランドを必要とする命令である
ことを判定する手段と、このメモリオペランドが2つの
ワードにまたがって存在しているかどうかを判定する手
段と、このメモリオペランドが2つのワードにまたがっ
て存在していると判定されたとき、前記メモリオペラン
ドの先頭が存在するワードを前記第1の記憶手段から読
出し、前記先頭が存在するワードの次のワードを前記第
2の記憶手段から読出すよう制御する手段とを含むこと
を特徴とするメモリオペランド取出しシステムが得られ
る。Structure of the Invention According to the present invention, first and second storage means are provided which can be accessed independently from each other and store memory operands, and each word is read out from the storage means with a fixed width of one word. A memory operand retrieval system in an information processing device configured to retrieve data in an information processing device, the system comprising means for determining that an instruction requires only one memory operand, and the memory operand extending over two words. means for determining whether the memory operand exists across two words, reading the word in which the head of the memory operand exists from the first storage means; There is obtained a memory operand retrieval system characterized in that it includes means for controlling the reading of a word next to the word in which the head exists from the second storage means.
実施例次に、本発明の実施例について図面を参照して説明する
。Embodiments Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例のブロック図である。FIG. 1 is a block diagram of one embodiment of the present invention.
第1図において、1は命令を保持する命令レジスタであ
り、デコーダ2は命令レジスタ1に保持されている命令
をデコードし、この命令がメモリオペランドを1つのみ
必要とする命令であるか否かという情報をレジスタ7に
格納すると共に、メモリオペランドアドレスの長さをレ
ジスタ8に格納する。In FIG. 1, 1 is an instruction register that holds instructions, and a decoder 2 decodes the instruction held in instruction register 1 and determines whether this instruction requires only one memory operand or not. This information is stored in register 7, and the length of the memory operand address is stored in register 8.
3.4は命令のオペランド部を人力としてオペランドア
ドレスを生成する回路であり、1つのメモリオペランド
のみを必要とする命令では、常にオペランドアドレス生
成回路3によりオペランドアドレスが生成される。2つ
のメモリオペランドを必要とする命令では、オペランド
アドレス生成回路3,4の両方によりそれそれのオペラ
ンドアドレスが生成される。3.4 is a circuit that manually generates an operand address using the operand part of an instruction. For an instruction that requires only one memory operand, the operand address is always generated by the operand address generation circuit 3. For an instruction requiring two memory operands, both operand address generation circuits 3 and 4 generate respective operand addresses.
オペランドアドレス生成回路3.4で生成されたアドレ
スは論理アドレスレジスタ9.10に格納されるが、デ
コーダ2によって1つのメモリオペランドのみ必要と判
断された命令は、加算器5によってメモリオペランドの
アドレスにワード幅を加算した値、つまりメモリオペラ
ンドの先頭が存在するワードの次のアドレスが、セレク
タ6においてデコーダ2の出力信号によってセレクトさ
れ、論理アドレスレジスタ10に格納される。The address generated by the operand address generation circuit 3.4 is stored in the logical address register 9.10, but an instruction determined by the decoder 2 to require only one memory operand is stored in the address of the memory operand by the adder 5. The value obtained by adding the word width, that is, the next address of the word in which the head of the memory operand exists is selected by the selector 6 by the output signal of the decoder 2 and stored in the logical address register 10.
実アドレス変換バッファ12.14はレジスタ9,10
の各出力によってアクセスされ、取出された実アドレス
はそれぞれレジスタ16.18に格納される。制御回路
11では、レジスタ7の出力つまりメモリオペランドを
1つのみ必要とする命令であるか否かという情報を発生
してレジスタ15に格納する。同時に制御回路11はレ
ジスタ8の出力つまりメモリオペランド長と、レジスタ
9の出力の1部つまりメモリオペランドのワード内アド
レスとを入力として、メモリオペランドが2つのワード
にまたがって存在しているがどうかを判断し、アライナ
21のアライン量を算出してレジスタ15に格納する。Real address translation buffers 12 and 14 are registers 9 and 10.
The real addresses accessed and retrieved by each output of are stored in registers 16 and 18, respectively. The control circuit 11 generates information indicating whether the instruction requires the output of the register 7, that is, only one memory operand, and stores it in the register 15. At the same time, the control circuit 11 inputs the output of register 8, that is, the memory operand length, and a part of the output of register 9, that is, the in-word address of the memory operand, and determines whether the memory operand exists across two words. The amount of alignment of the aligner 21 is calculated and stored in the register 15.
制御回路13では、レジスタ8の8カつまりメモリオペ
ランド長と、レジスタ10の出力の1部つまりメモリオ
ペランドのワード内アドレスとを入力として、アライナ
22のアライン量を算出してレジスタ17に格納する。The control circuit 13 calculates the alignment amount of the aligner 22 and stores it in the register 17 by inputting the eight values of the register 8, that is, the memory operand length, and a part of the output of the register 10, that is, the address in the word of the memory operand.
第1バッファ記憶装置1つと第2バッファ記憶装置20
とはそれぞれレジスタ16の出力、レジスタ18の出力
によってアクセスされ、第1バッファ記憶装置19の出
力はアライナ21へ、第2バッファ記憶装置20の出力
はアライナ21とアライタ22へ夫々送られる。アライ
ナ21,アライタ22でアラインされたオペランドはそ
れぞれレジスタ23.24へ格納された後、図示せぬ演
算回路へ送られる。one first buffer storage device and two second buffer storage devices
are accessed by the outputs of register 16 and register 18, respectively, the output of first buffer storage 19 is sent to aligner 21, and the output of second buffer storage 20 is sent to aligner 21 and aligner 22, respectively. The operands aligned by the aligner 21 and the aligner 22 are stored in registers 23 and 24, respectively, and then sent to an arithmetic circuit (not shown).
例えば、toサイクルで命令レジスタ1に保持されてい
た命令が、メモリオペランドを1つのみ必要とする命令
であって、しかもそのメモリオペランドがワード境界に
またがって存在する命令であるとする。デコーダ2によ
って命令Aが解読されると、メモリオペランドを1つの
み必要とする命令であるという情報がレジスタ7に格納
され、レジスタ8にはメモリオペランド長が格納される
。For example, assume that the instruction held in instruction register 1 in the to cycle is an instruction that requires only one memory operand, and that memory operand exists across word boundaries. When the instruction A is decoded by the decoder 2, information that the instruction A requires only one memory operand is stored in the register 7, and the memory operand length is stored in the register 8.
オペランドアドレス生成回路3によりオペランドアドレ
スが生成され、レジスタ9に格納されると同時に加算器
5によってオペランドアドレス生成回路3の出力にワー
ド幅を加えた値、つまりメモリオペランドの先頭が存在
するワードの次のワードのアドレスが生成される。デコ
ーダ2の出力つまりメモリオペランドを1つのみ必要と
する命令であるという情報によって、セレクタ6におい
て加算器5の出力がセレクトされてレジスタ10に格納
される。An operand address is generated by the operand address generation circuit 3 and stored in the register 9. At the same time, the adder 5 generates the value obtained by adding the word width to the output of the operand address generation circuit 3, that is, the next word of the word where the beginning of the memory operand exists. The address of the word is generated. Based on the output of the decoder 2, that is, the information that the instruction requires only one memory operand, the selector 6 selects the output of the adder 5 and stores it in the register 10.
t1サイクルで、メモリオペランドの先頭が存在するワ
ードのアドレスが保持されているレジスタ9の出力によ
って、実アドレス変換バッファ12がアクセスされ、取
出された実アドレスがレジスタ16に格納される。同様
に、メモリオペランドの先頭が存在するワードの次のワ
ードのアドレスが保持されているレジスタ10の出力に
よって実アドレス変換バッファ14がアクセスされ、取
出された実アドレスがレジスタ18に格納される。At cycle t1, the real address translation buffer 12 is accessed by the output of the register 9 which holds the address of the word where the beginning of the memory operand exists, and the extracted real address is stored in the register 16. Similarly, the real address translation buffer 14 is accessed by the output of the register 10 which holds the address of the word next to the word in which the beginning of the memory operand exists, and the retrieved real address is stored in the register 18.
制御回路11は、メモリオペランドを1つのみ必要とす
る命令であるという情報を保持しているレジスタ7の出
力と、メモリオペランド長を保持しているレジスタ8の
出力と、メモリオペランドのワード内アドレスでレジス
タ9の出力の1部を入力とし、メモリオペランドが2つ
のワードにまたがって存在しているかどうか判断し、ア
ライナ21のアライン量を生成してレジスタ5に格納す
る。The control circuit 11 receives the output of register 7 which holds information that the instruction requires only one memory operand, the output of register 8 which holds the memory operand length, and the in-word address of the memory operand. A part of the output of the register 9 is inputted, a judgment is made as to whether or not a memory operand exists across two words, and an alignment amount of the aligner 21 is generated and stored in the register 5.
メモリオペランドの先頭が存在するワードの実アドレス
を保持しているレジスタ16の出力により、第1バッフ
ァ記憶装置がアクセスされ、取出されたオペランドがア
ライナ21へ送られる。メモリオペランドの先頭が存在
するワードの次のワードのアドレスを保持しているレジ
スタ18の出力ニヨって、第2バッファ記憶装置がアク
セスされ、取出されたオペランドがアライナ21へ送ら
れ、第1バッファ記憶装置の出力と共にレジスタ15の
出力であるアライン量によってアラインされレジスタ2
3に格納された後、演算回路部へ送られる。The first buffer store is accessed by the output of register 16, which holds the real address of the word in which the beginning of the memory operand resides, and the fetched operand is sent to aligner 21. The output of the register 18, which holds the address of the word following the word in which the beginning of the memory operand resides, accesses the second buffer storage and sends the retrieved operand to the aligner 21, which stores it in the first buffer. Register 2 is aligned by the alignment amount which is the output of register 15 along with the output of the storage device.
3 and then sent to the arithmetic circuit section.
第2図は上述した一連の動作をタイムチャートにしたも
ので、(a)は従来の方式によるタイムチャート、(b
)は本発明の方式によるタイムチャートである。図中t
O〜t2はマシンサイクルを表わし、Aは命令A,AO
adは命令Aのオペランドの先頭が存在るるワードのア
ドレス、Aladは命令Aのオペランドが2つのワード
にまたがっているときのオペランドの先頭が存在するワ
ードの次のワードのアドレス、Aopは命令Aのオペラ
ンドをそれぞれを意味する。Figure 2 is a time chart of the series of operations described above, (a) is a time chart based on the conventional method, (b)
) is a time chart according to the method of the present invention. t in the diagram
O~t2 represents the machine cycle, A is the instruction A, AO
ad is the address of the word where the beginning of the operand of instruction A exists, Alad is the address of the word next to the word where the beginning of the operand exists when the operand of instruction A spans two words, and Aop is the address of the word where the beginning of the operand of instruction A exists. Means each operand.
(b)において、オペランドの先頭が存在するワードの
次のワードをオペランドの先頭が存在するワードと同じ
タイミングt2サイクルで第2バッファ記憶装置から取
出しているのに対して、(a)では、オペランドの先頭
が存在するワードの次のワードを第1バッファ記憶装置
からしが取出せないため、t3サイクルでしか取出せな
い。In (b), the word next to the word in which the beginning of the operand exists is taken out from the second buffer storage device at the same timing t2 cycle as the word in which the beginning of the operand exists; Since the first buffer storage device cannot retrieve the word following the word in which the beginning of the word exists, it can only be retrieved in cycle t3.
したがって、本実施例において本発明による方式(b)
の方が従来方式(a)よりも1マシンサイクルだけオペ
ランドの取出しが早く行なえるのである。Therefore, in this example, method (b) according to the present invention
With this method, operands can be taken out faster by one machine cycle than with conventional method (a).
発明の効果叙上の如く、本発明によれば、1つのメモリオペランド
を必要とする命令の場合でも、このメモリオペランドが
2つのワードにまたがって存在するような場合には、2
つのバッファ記憶装置を用いるようにしてるので、それ
たけオペランド取出L時間が早くなるという効果がある
。Effects of the Invention As described above, according to the present invention, even in the case of an instruction that requires one memory operand, if this memory operand exists across two words, two words are required.
Since two buffer storage devices are used, there is an effect that the operand fetching time L is shortened accordingly.
第1図は本発明の実施例のシステムブロック図、第2図
(a)は従来技術によるメモリオペランド取出し過程を
示すタイムチャート、第2図(b)は本発明の実施例に
よるメモリオペランド取出し過程を示すタイムチャート
である。主要部分の符号の説明2・・・・・・デコーダ3.4・・・・・・オペランドアドレス生成回路11.
13・・・・・・制御回路FIG. 1 is a system block diagram of an embodiment of the present invention, FIG. 2(a) is a time chart showing a memory operand fetching process according to the prior art, and FIG. 2(b) is a memory operand fetching process according to an embodiment of the present invention. It is a time chart showing. Explanation of symbols of main parts 2... Decoder 3.4... Operand address generation circuit 11.
13... Control circuit
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11682889AJPH02294829A (en) | 1989-05-10 | 1989-05-10 | Memory operand takeout system |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11682889AJPH02294829A (en) | 1989-05-10 | 1989-05-10 | Memory operand takeout system |
| Publication Number | Publication Date |
|---|---|
| JPH02294829Atrue JPH02294829A (en) | 1990-12-05 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11682889APendingJPH02294829A (en) | 1989-05-10 | 1989-05-10 | Memory operand takeout system |
| Country | Link |
|---|---|
| JP (1) | JPH02294829A (en) |
| Publication | Publication Date | Title |
|---|---|---|
| US6269439B1 (en) | Signal processor having pipeline processing that supresses the deterioration of processing efficiency and method of the same | |
| JPH0374434B2 (en) | ||
| JPS6313215B2 (en) | ||
| JPS6215896B2 (en) | ||
| JPH0248931B2 (en) | ||
| JP2773471B2 (en) | Information processing device | |
| EP0378415A2 (en) | Multiple instruction dispatch mechanism | |
| US4812970A (en) | Microprogram control system | |
| US20040236926A1 (en) | Methods and apparatus for instruction alignment | |
| JP2553200B2 (en) | Information processing device | |
| JPH02294829A (en) | Memory operand takeout system | |
| JPS601655B2 (en) | Data prefetch method | |
| JP2812610B2 (en) | Pipeline control method | |
| JPH0248733A (en) | information processing equipment | |
| JP2576589B2 (en) | Virtual storage access control method | |
| JPS6134168B2 (en) | ||
| JP3325309B2 (en) | Subroutine return instruction processing unit | |
| JPH0546389A (en) | Parallel processor | |
| JPH05257807A (en) | Cache memory controller | |
| KR100515039B1 (en) | Pipeline status indicating circuit for conditional instruction | |
| JPH04255995A (en) | Instruction cache | |
| JPH03164945A (en) | data processing equipment | |
| JPH0342721A (en) | information processing equipment | |
| JPS6217841A (en) | Information processor | |
| JPH0792902A (en) | Programmable controller |