JPS6049347B2 - Memory access method - Google Patents

Memory access method

Info

Publication number
JPS6049347B2
JPS6049347B2 JP9759079A JP9759079A JPS6049347B2 JP S6049347 B2 JPS6049347 B2 JP S6049347B2 JP 9759079 A JP9759079 A JP 9759079A JP 9759079 A JP9759079 A JP 9759079A JP S6049347 B2 JPS6049347 B2 JP S6049347B2
Authority
JP
Japan
Prior art keywords
instruction
read
bank
execution
reading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP9759079A
Other languages
Japanese (ja)
Other versions
JPS5622152A (en
Inventor
秀紀 竹内
公一 池田
正男 加藤
勉 住本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9759079A priority Critical patent/JPS6049347B2/en
Publication of JPS5622152A publication Critical patent/JPS5622152A/en
Publication of JPS6049347B2 publication Critical patent/JPS6049347B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 本発明は、メモリ・アクセス方式に関し、特に命令の先
行読出し制御に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a memory access method, and particularly to control of advance reading of instructions.

命令を読出してこれを解読し、実行した後、次の命令読
出しを行うという順序の処理が逐次読出し制御と呼ばれ
るのに対し、将来実行することになると思われる命令を
予測し、あらかじめ読出して、一部の処理を現在の命令
処理と並行して進行させる方法が先行読出し制御である
。命令の先行読出しには、ある命令の実行が終了してい
なくても、次の命令の番地が確定して、かつ主記憶装置
が空いたとき実行と並行して読出す場合と、次の命令の
番地が未確定でも、1個ないし数個先の命令まで予測し
て、高速バッファに読出しておく場合がある。
The process of reading an instruction, decoding it, executing it, and then reading the next instruction is called sequential read control, whereas the process of predicting the instructions that will be executed in the future and reading them in advance, Preliminary read control is a method for proceeding some processing in parallel with the current instruction processing. Preliminary reading of an instruction includes reading the next instruction in parallel with the execution when the address of the next instruction is determined and the main memory is free, even if the execution of the next instruction has not finished. Even if the address of the instruction is undetermined, one or several instructions ahead may be predicted and read out to the high-speed buffer.

また、使用頻度の高い語を高速バッファに蓄えておけば
、アクセス・タイムを短縮できるので、先行制御と共用
することにより処理速度の向上が期待できる。従来、高
速バッファを備えていない処理装置では、あまり高い処
理能力を期待することが少く、したがつて先行制御も無
理に行うことはなかつた。
Furthermore, if frequently used words are stored in a high-speed buffer, access time can be shortened, and processing speed can be expected to be improved by sharing this with advance control. Conventionally, processing devices not equipped with high-speed buffers are rarely expected to have very high processing performance, and therefore advance control has not been forced.

一般に、命令の先行読出しは前の命令の実行中に行われ
ることはなく、命令実行前に複数の命令を一度に読出し
てバッファしておき、必要に応じてこのバッファから1
命令ずつ取出して実行する方式が用いられる。
In general, pre-reading of an instruction is not performed during the execution of the previous instruction, but multiple instructions are read at once and buffered before instruction execution, and read from this buffer as necessary.
A method of fetching and executing instructions one by one is used.

また、従来、第1図に示すように、処理装置1・に対し
、M1〜Mnのバンクに分割された主記憶装置2を接続
し、あるデータ・サイクルの実行中に次に実行すべき命
令を複数個先行読出しする方式が提案されている(特公
昭50−9657号公報参照)。
Conventionally, as shown in FIG. 1, a main memory device 2 divided into banks M1 to Mn is connected to a processing device 1, and an instruction to be executed next is stored during execution of a certain data cycle. A method has been proposed in which a plurality of data are read out in advance (see Japanese Patent Publication No. 50-9657).

この場合、処理装置1には、先取り命令をフ保持する命
令スタック10および、書込み命令による処理ずみのデ
ータを保持するデータ・スタック11が設けられ、また
n個の記憶バンクは互いにアドレスがインタリーフされ
ている。このように、処理の高速化を計るためには、命
令バッファ(命令スタック)を増加することが望ましい
と考えられるが、その楊合、分岐命令が多いプログラム
では、オーバヘッドが大きくなり、効率が悪くなるとい
う欠点がある。
In this case, the processing device 1 is provided with an instruction stack 10 for holding prefetch instructions and a data stack 11 for holding data processed by write instructions, and the n memory banks have addresses that are interleaved with each other. has been done. In this way, it is considered desirable to increase the instruction buffer (instruction stack) in order to speed up processing, but in programs with many branch instructions, this increases the overhead and reduces efficiency. It has the disadvantage of becoming.

また、中速度程度の計算機にバッファ・メモリを付加す
ることは、価格性能比の上から好ましくないので、バッ
ファ・メモリを備えないで処理能力を向上させることが
必要となる。
Furthermore, since adding a buffer memory to a medium-speed computer is not preferable from a price/performance ratio, it is necessary to improve the processing capacity without providing a buffer memory.

高速バッファを用いて命令の先行読出しを行う場合には
、例えば第2図aに示すように、前の命令のアドレス変
按△1、命令の読出しL1にそれぞれ1マシン・サイク
ル、命令の実行E1に2マシン・サイクルかかり、前の
命令の実行E1と並行して次の命令のアドレス変換Δ2
、命令の読出しレ、および命令の実行E2を行うことが
可能である。
When pre-reading an instruction using a high-speed buffer, for example, as shown in FIG. It takes two machine cycles to execute the address conversion Δ2 of the next instruction in parallel with the execution E1 of the previous instruction.
, instruction reading, and instruction execution E2.

しかし、高速バッファを備えない場合には、メモリ読出
しのためのアクセス・タイムを短くできないため、第2
図bに示すように、命令のアドレス変換Al,A2に各
1マシン・サイクル、命令の読出しLl,]−2に各2
マシン・サイクル、命令の実行El,E2に各4マシン
●サイクル程度かかるのが通常である。
However, if a high-speed buffer is not provided, the access time for reading memory cannot be shortened, so the second
As shown in FIG.
Normally, each of the machine cycles and instruction executions El and E2 takes about four machine ● cycles.

したがつて、前の命令の実行中に並行して次の命令の先
行読出しを行う際、次の命令の読出しに時間がかかるた
め、それによつて前のオペランドの読出しが待たされる
状態もあり得る。
Therefore, when pre-reading the next instruction in parallel while the previous instruction is being executed, it takes time to read the next instruction, which may cause the reading of the previous operand to have to wait. .

このような不都合が生じることは許されないので、高速
バッファを備えない処理装置において、先行制御を行う
ことは簡単ではない。本発明の目的は、このような問題
を解決するため、バッファ・メモリを備えていない処理
装置において、現在実行中の命令に影響を与えることな
く、命令の先行読出しができ、処理装置の価格性能比を
向上できるメモリ・アクセス方式を提供す!ることにあ
る。
Since such inconvenience cannot be allowed to occur, it is not easy to perform advance control in a processing device that does not have a high-speed buffer. SUMMARY OF THE INVENTION In order to solve such problems, it is an object of the present invention to enable pre-reading of instructions without affecting the currently executing instructions in a processing device that does not have a buffer memory, thereby improving the price and performance of the processing device. We provide a memory access method that can improve the ratio! There are many things.

本発明のメモリ・アクセス方式は、複数のバンクにイン
タリーブされた記憶装置から、命令を逐次読出して実行
するデータ処理装置において、命令実行時のオペランド
読出し、あるいはオペラン・ド書込み等のオペランド●
アクセス要求が出されると、該要求を契機として、バン
クが異なる場合には、1マシン・サイクル遅れて先行命
令の読出し要求を出し、同一バンクの場合には、先行命
令の読出し要求を無効にすることに特徴がある。
The memory access method of the present invention is applicable to operand reading or operand writing during instruction execution in a data processing device that sequentially reads and executes instructions from a storage device interleaved in a plurality of banks.
When an access request is issued, using this request as a trigger, if the banks are different, a read request for the preceding instruction is issued with a delay of one machine cycle, and if the banks are the same, the read request for the preceding instruction is invalidated. There are certain characteristics.

以下、本発明の実施例を、図面により説明する。第3図
は、本発明が適用されるデータ処理装置のブロック図で
あり、第4図および第5図はそれぞれ本発明によるメモ
リ・アクセス方式のタイム・チャートである。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 3 is a block diagram of a data processing device to which the present invention is applied, and FIGS. 4 and 5 are time charts of the memory access method according to the present invention, respectively.

中央処理装置(以下CPU)1と主記憶装置(以下MS
)2がアクセス制御線3、アドレス線ク4、およびデー
タ線5を介して接続され、CPUl内のメモリ・アクセ
ス制御部11、メモリ・アドレス●レジスタ部12、デ
ータ●レジスタ部13がアクセス制御線3、アドレス線
牡データ線5にそれぞれ結合されている。
Central processing unit (hereinafter referred to as CPU) 1 and main memory unit (hereinafter referred to as MS)
) 2 are connected via the access control line 3, address line 4, and data line 5, and the memory access control unit 11, memory address register unit 12, and data register unit 13 in the CPU1 are connected to the access control line 3, address line 4, and data line 5. 3. The address lines are connected to the data lines 5, respectively.

SMS2は、4ウェイ構成となつており、各バンク26
〜29がバンク制御部22〜25を介して独立に動作で
きるようになつている。
SMS2 has a 4-way configuration, with each bank having 26
29 can operate independently via bank control sections 22 to 25.

CPUlでは、命令制御部14がMS2に格納されてい
る命令を逐次読出し、これを解読して実行)制御部15
に渡すことにより、実行制御部15が命令を実行する。
In the CPU1, the instruction control unit 14 sequentially reads out the instructions stored in the MS2, decodes and executes the instructions, and executes the commands (control unit 15).
The execution control unit 15 executes the command.

命令の実行は、命令コードに応じて逐次的に各部ゲート
の開閉を行うとともに、アドレス部で指定されたMS2
のアドレスからオペランドを読出し演算等を行う。これ
らの動作において、MS2をアクセスする要求は、命令
制御部14からの命令の読出しと、実行制御部15から
のデータ読出しあるいは書込みである。
The execution of the instruction involves sequentially opening and closing the gates of each section according to the instruction code, and also opening and closing the MS2 gates specified in the address section.
The operand is read from the address and calculations are performed. In these operations, requests for accessing the MS 2 are for reading instructions from the instruction control section 14 and for reading or writing data from the execution control section 15 .

通常は、命令制御部14と実行制御部15が同時に動作
することはないのであるが、本発明においては、処理時
間短縮のため、第4図に示すように、前の命令の読出し
Al.lの後、命令の実行E1を行つている期間に、並
行して次の命令の実行準備、つまり命令のアドレス変換
、命令の読出し、および読出した命令の解読を行い、命
令の実行ができる状態にする。
Normally, the instruction control section 14 and the execution control section 15 do not operate at the same time, but in the present invention, in order to reduce processing time, as shown in FIG. After l, during the period during which instruction execution E1 is being performed, preparations for execution of the next instruction are made in parallel, that is, address translation of the instruction, reading of the instruction, and decoding of the read instruction, so that the instruction can be executed. Make it.

このような先行制御は命令制御部14により行われ、実
行準備が完了した後、実行動作は実行制御部15により
行われる。この場合、第4図に示すように、前の命令の
実行E1の開始と同時に、次の命令の実行準備AL2を
開始すると、次の命令とデータが偶然同一のバンクに格
納されているときには、次の命令の読出し要求が先に出
されることにより、前のデータの読出しが待合せになる
場合が生ずる。そこで、本発明においては、第5図に示
すように、前の命令の実行開始後、オペランドの読出し
要求を契機として、次の命令の読出し要求を異なるバン
クに対し行う。
Such advance control is performed by the instruction control unit 14, and after execution preparation is completed, the execution operation is performed by the execution control unit 15. In this case, as shown in FIG. 4, if execution preparation AL2 for the next instruction is started at the same time as execution E1 of the previous instruction is started, if the next instruction and data happen to be stored in the same bank, If a read request for the next instruction is issued first, the read of the previous data may be delayed. Therefore, in the present invention, as shown in FIG. 5, after the start of execution of the previous instruction, a read request for the next instruction is made to a different bank, triggered by an operand read request.

なお、第4図の前の命令の実行E1中の1つのデータ読
出し要求が第5図のDl.データ読出し中がD2、読出
しデータの取込みがD3でそれぞれ示されている。また
、第5図において、0P1は次の命令の読出し要求、0
P2はその命令の読出し中、0P3はその命令の取込み
をそれぞれ示している。
Note that one data read request during execution E1 of the previous instruction in FIG. D2 indicates that the data is being read, and D3 indicates that the read data is being taken in. In addition, in FIG. 5, 0P1 is a read request for the next instruction;
P2 indicates that the instruction is being read, and 0P3 indicates that the instruction is being fetched.

第5図のデータ読出し要求D1は、実行制御部15から
出されたメモリ・アクセス要求がバンク制御部22〜2
5のいずれかに受付けられるまでの期間を示す。
The data read request D1 in FIG. 5 is a memory access request issued from the execution control unit 15 and
5 indicates the period until the application is accepted.

このとき、メモリ・アドレスがメモリ・アドレス・レジ
スタ部12に送られる。MS2は、メモリ・アクセス要
求を共通制御部21で受付け、同時にメモリ・アドレス
・レジスタ部12から送られてくるメモリ・アドレスを
受取る。また、このメモリ・アドレスの一部であるバン
ク選択ビットにより、該当バンクを選択し、そのバンク
が空いていれば制御をバンク制御部22〜25の1つに
移す。例えば、バンク0が選択されたとする。第5図の
D2は、バンクOのメモリ部26をアクセスしている時
間を示している。第5図の読出しデータ取込みD3は、
メモリ部26から読出されたデータが、バンクOの制御
部22、共通制御部21およびデータ線5を経由してC
PUlのデータ◆レジスタ部13に格納されるまでの時
間を示す。次の命令の実行準備は、前の命令の実行中、
読取るべきデータの格納されているバンクが決定された
直後、つまりオペランド読出し要求をきつかけとして、
データが格納されているバンクと異なるバンクに対して
、命令の先行読出し要求を出すことにより行われる。
At this time, the memory address is sent to the memory address register section 12. The MS 2 receives a memory access request at the common control unit 21 and at the same time receives a memory address sent from the memory address register unit 12. Further, the bank selection bit that is part of this memory address selects the bank in question, and if the bank is vacant, control is transferred to one of the bank control units 22-25. For example, assume that bank 0 is selected. D2 in FIG. 5 indicates the time during which the memory section 26 of bank O is being accessed. The read data acquisition D3 in FIG.
The data read from the memory section 26 is transferred to the bank O via the control section 22, the common control section 21, and the data line 5.
Data of PUl ◆ Indicates the time until it is stored in the register section 13. Preparation for execution of the next instruction occurs during the execution of the previous instruction.
Immediately after the bank containing the data to be read is determined, that is, triggered by an operand read request,
This is done by issuing a request for pre-reading an instruction to a bank different from the bank in which the data is stored.

このようにすれば、オペランド読出し期間と重複して命
令の先行読出しを行うことができ、命令実行期間が短縮
されるとともに後の命令の読出しによつて前のオペラン
ド読出しを待機させるような不都合は起らない。勿論、
前のオペランドを読出すバンクと次の命令を読出すバン
クが同一であるときには、次の命令の読出し動作を待機
させればよい。
In this way, it is possible to perform advance reading of an instruction overlapping the operand read period, which shortens the instruction execution period and eliminates the inconvenience of having to wait for the previous operand read due to the read of a later instruction. It doesn't happen. Of course,
When the bank from which the previous operand is read is the same as the bank from which the next instruction is read, the read operation of the next instruction may be made to wait.

第5図の命令読出し要求0P1は、命令制御部14から
出されたメモリ・アクセス要求が、バンク制御部22〜
25のいずれかに受付けられるまでの期間を示している
The instruction read request 0P1 in FIG. 5 is a memory access request issued from the instruction control unit 14,
25.

このとき、命令アドレスがメモリ・アドレス部12に送
られるとともに、MS2はデータ読出し要求と同じ動作
を行う。ただし、選択されるバンクは、データ読出しの
バンクOと異なるバンク、例えばバンク1とする。第5
図の命令読出し牛0P2は、バンク1のメモリ部27を
アクセスしている時間を示している。第5図の命令取込
み0P3は、メモリ部27から読出された命令がバンク
1の制御部23、共通制御部21、およびデータ線5を
経由してCPUlのデータ・レジスタ部13に入り、命
令制御部14の命令バッファに入るまでの時間を示す。
At this time, the command address is sent to the memory address section 12, and the MS2 performs the same operation as the data read request. However, the selected bank is a bank different from bank O for data reading, for example, bank 1. Fifth
The instruction read column 0P2 in the figure indicates the time during which the memory section 27 of bank 1 is being accessed. In the instruction fetch 0P3 in FIG. 5, the instruction read from the memory section 27 enters the data register section 13 of the CPU1 via the control section 23 of bank 1, the common control section 21, and the data line 5, and the instruction is controlled. The time required to enter the instruction buffer of the unit 14 is shown.

実行制御部15からオペランド読出しのためのメモリ・
アクセス要求が送出されて、バンク制御部22〜25に
受付けられたことにより、命令制御部14から次の命令
の先行読出しのためのメモリ・アクセス要求が送出され
るようなシーケンスは、マイクロ・プログラムにより簡
単に実現できる。なお、第5図では、データ読出しと並
行して先行命令読出しを行う場合を示しているが、デー
タ読出しに限らず、データ書込みあるいは他の命令読出
しと重複して先行命令読出しを行うことも勿論可能であ
る。
A memory for reading operands from the execution control unit 15.
A sequence in which an access request is sent and accepted by the bank control units 22 to 25, and a memory access request for advance reading of the next instruction is sent from the instruction control unit 14 is a microprogram. This can be easily achieved by Although FIG. 5 shows a case where the preceding instruction reading is performed in parallel with the data reading, the preceding instruction reading is not limited to data reading. It is possible.

また、実施例では、メモリ・アクセス要求は1本に絞ら
れているが、複数のメモリ●アクセス要ノ求を同時に受
付けることも可能である。
Further, in the embodiment, the number of memory access requests is limited to one, but it is also possible to accept a plurality of memory access requests at the same time.

以上説明したように、本発明によれば、先行命令読出し
を他のメモリ・アクセスと重複して行う際に、前の命令
実行に悪影響を与えることなく、処理時間を短縮するこ
とができ、特に高速バツフ7ア記憶装置備えていないC
PUにおける先行命令読出しに適用すれば価格性能比を
向上させることができる。
As described above, according to the present invention, when reading a preceding instruction in duplicate with other memory accesses, processing time can be shortened without adversely affecting the execution of the previous instruction; High-speed buffer 7A C without storage device
If applied to reading a preceding instruction in a PU, the price/performance ratio can be improved.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は従来の先行制御方式を示すプロツクフ図、第2
図は高速バッファの有無による先行制御動作の比較タイ
ム・チャート、第3図は本発明が適用されるデータ処理
装置のブロック図、第4図および第5図はそれぞれ本発
明によるメモリ・アクセス方式を示すタイム・チャート
である。 1:CPUl2:主記憶装置、3:アクセス制御部、4
:アドレス線、5:データ線、11:メモリ・アクセス
制御部、12:メモリ●アドレス●レジスタ部、13:
データ●レジスタ部、14:命令制御部、15:実行制
御部、21:共通制御部、22〜25:バンク制御部、
26〜29:バンク●メモリ部。
Figure 1 is a diagram showing the conventional advance control system;
FIG. 3 is a block diagram of a data processing device to which the present invention is applied, and FIGS. 4 and 5 each illustrate a memory access method according to the present invention. FIG. 1: CPU12: Main storage device, 3: Access control unit, 4
: Address line, 5: Data line, 11: Memory access control section, 12: Memory address ● register section, 13:
Data Register section, 14: Instruction control section, 15: Execution control section, 21: Common control section, 22 to 25: Bank control section,
26-29: Bank●Memory section.

Claims (1)

【特許請求の範囲】[Claims] 1 複数のバンクにインタリーブされた記憶装置から、
命令を逐次読出して実行するデータ処理装置において、
命令実行時のオペランド読出し、あるいはオペランド書
込み等のオペランド・アクセス要求が出されると、該要
素を契機として、バンクが異なる場合には、1マシン・
サイクル遅れて先行命令読出し要求を出し、同一バンク
の場合には、先行命令読出し要求を無効にすることを特
徴とするメモリ・アクセス方式。
1 From storage interleaved in multiple banks,
In a data processing device that sequentially reads and executes instructions,
When an operand access request such as operand read or operand write is issued during instruction execution, this element triggers one machine if the bank is different.
A memory access method characterized in that a preceding instruction read request is issued after a cycle delay, and in the case of the same bank, the preceding instruction read request is invalidated.
JP9759079A 1979-07-31 1979-07-31 Memory access method Expired JPS6049347B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9759079A JPS6049347B2 (en) 1979-07-31 1979-07-31 Memory access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9759079A JPS6049347B2 (en) 1979-07-31 1979-07-31 Memory access method

Publications (2)

Publication Number Publication Date
JPS5622152A JPS5622152A (en) 1981-03-02
JPS6049347B2 true JPS6049347B2 (en) 1985-11-01

Family

ID=14196445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9759079A Expired JPS6049347B2 (en) 1979-07-31 1979-07-31 Memory access method

Country Status (1)

Country Link
JP (1) JPS6049347B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6356733A (en) * 1986-08-27 1988-03-11 Nec Corp Microcomputer system

Also Published As

Publication number Publication date
JPS5622152A (en) 1981-03-02

Similar Documents

Publication Publication Date Title
US4648034A (en) Busy signal interface between master and slave processors in a computer system
JPS5939832B2 (en) information processing system
JPH0630075B2 (en) Data processing device having cache memory
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
JPS62102344A (en) Buffer memory control system
JPH02304650A (en) Microprocessor of pipeline system
JPS63197232A (en) Microprocessor
US5276853A (en) Cache system
JPS6049347B2 (en) Memory access method
JPH0512751B2 (en)
JPH02214937A (en) Data processor
JPS60195661A (en) Data processing system
JPH0552539B2 (en)
JPH01124049A (en) Microprocessor
JPS63101943A (en) Cache move-in control system
JPS6152505B2 (en)
JPH0298754A (en) Main storage control system
JPS61264455A (en) Coinciding and controlling system for main storage
JP3182796B2 (en) Central processing unit
JPS5836434B2 (en) Batshua Memory Souch
JPS59218691A (en) Prefetching system
JPS5897185A (en) Memory access system
JPS6221130B2 (en)
JPH0713814B2 (en) Bus control method
JPS60118932A (en) Control system of instruction readvanced fetch