JPS6144340B2 - - Google Patents
Info
- Publication number
- JPS6144340B2 JPS6144340B2 JP54009479A JP947979A JPS6144340B2 JP S6144340 B2 JPS6144340 B2 JP S6144340B2 JP 54009479 A JP54009479 A JP 54009479A JP 947979 A JP947979 A JP 947979A JP S6144340 B2 JPS6144340 B2 JP S6144340B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- buffer
- address
- register
- data
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Description
【発明の詳細な説明】
本発明は、データのバツフアリング機能を備え
た情報処理装置に関し、特にデータ・バツフアに
取込むデータ幅を任意に設定できる情報処理装置
に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an information processing apparatus equipped with a data buffering function, and more particularly to an information processing apparatus that can arbitrarily set the width of data taken into a data buffer.
情報処理システムの中心的役割を果す処理装置
は、第1図に示すように、中央処理装置CPUと
主記憶装置MSとチヤネルCHより構成されてい
る。主記憶装置MSには、中央処理装置CPUおよ
びチヤネルCHで処理される情報(データおよび
プログラム)が格納される。チヤネルCHは、中
央処理装置CPUから起動されると、独立して入
出力装置IOを制御し、入出力装置IOと主記憶装
置MSの間で情報の交換を行わせる。 As shown in FIG. 1, a processing device that plays a central role in an information processing system is composed of a central processing unit CPU, a main storage device MS, and a channel CH. The main storage device MS stores information (data and programs) processed by the central processing unit CPU and the channel CH. When activated by the central processing unit CPU, the channel CH independently controls the input/output device IO and causes information to be exchanged between the input/output device IO and the main storage device MS.
中央処理装置CPUの構成は機種によつて異な
るが、例えば第1図に示すように、演算制御部
EU、命令制御部IU、記憶制御部SCU、入出力処
理部IOP、およびサービス処理部SVP等に機能上
分割される。記憶制御部SCUが主記憶装置MSか
ら命令を読出すと、命令制御部IUは命令をバツ
フア記憶装置に一時蓄積した後、順次、データ・
バツフア・レジスタに取込み、演算制御部EUで
その命令を実行するための準備を行う。 The configuration of the central processing unit CPU differs depending on the model, but for example, as shown in Figure 1, the arithmetic control unit
It is functionally divided into EU, instruction control unit IU, storage control unit SCU, input/output processing unit IOP, and service processing unit SVP. When the storage control unit SCU reads an instruction from the main memory MS, the instruction control unit IU temporarily stores the instruction in the buffer storage and then sequentially reads the data.
The instruction is loaded into the buffer register, and preparations are made to execute the instruction in the arithmetic control unit EU.
この場合、中央処理装置CPUの基本的なデー
タ幅がmであると、命令制御部IUでは一般に、
バツフア記憶装置からのデータ読出し幅はn×m
であり、バツフア・レジスタにデータを取込むと
きの単位幅もn×mである。そして、バツフア・
レジスタの容量がk×n×mのとき、バツフア記
憶装置からのデータ読出しアドレスの増加量は通
常n×mである。例えば、バツフア・レジスタ
が、第2図に示すように、k×n×m(3×4×
8バイト)の容量を備えているとき、バツフア記
憶装置からバツフア・レジスタに命令を取込む際
の1回の量はn×m(4×8バイト)であり、バ
ツフア記憶装置からの読出しアドレスを決定する
アドレス増加器の増加量もn×m(4×8バイ
ト)である。 In this case, if the basic data width of the central processing unit CPU is m, the instruction control unit IU generally
Data read width from buffer storage device is n×m
The unit width when taking data into the buffer register is also n×m. And Batsuhua
When the capacity of the register is k×n×m, the amount of increase in the address for reading data from the buffer storage device is usually n×m. For example, if the buffer register is k×n×m (3×4×
8 bytes), the amount of instructions read from the buffer storage device into the buffer register at one time is n x m (4 x 8 bytes), and the read address from the buffer storage device is n x m (4 x 8 bytes). The determined increment amount of the address incrementer is also n×m (4×8 bytes).
しかし、このような従来のバツフア・レジスタ
では、すべて空いている状態、すなわちk×n×
mのデータを取込むことができる状態でも、バツ
フア記憶装置からはn×mのデータをk回読出さ
なければ、バツフア・レジスタを満たすことがで
きない。また、バツフア・レジスタが満たされて
いる状態、すなわちk×n×mのデータがすでに
バツフア・レジスタ内に取込まれている状態で、
j×m(1j<n)のデータがバツフア・レジ
スタより読出されて処理された場合でも、jがn
に等しくなるまでは、バツフア記憶装置から次の
データの読出しを開始できない。つまり、第2図
において、3×4×8バイトのバツフア・レジス
タが満たされているとき、A1の8バイト、A
1,A2の16バイト、あるいはA1〜A3の24バ
イトが処理のために読出されて、そこが空きにな
つた場合でも、A1〜A4の32バイトがすべて読
出されるまでは、バツフア・レジスタにデータを
取込むことはできない。これは、第2図における
B1〜B4およびC1〜C4の各データについて
も同じである。 However, in such conventional buffer registers, all buffer registers are empty, that is, k×n×
Even if m data can be taken in, the buffer register cannot be filled unless n×m data are read k times from the buffer storage device. In addition, when the buffer register is filled, that is, when k×n×m data has already been taken into the buffer register,
Even if j×m (1j<n) data is read from the buffer register and processed, if j
You cannot begin reading the next data from the buffer storage until . In other words, in FIG. 2, when the buffer register of 3 x 4 x 8 bytes is filled, 8 bytes of A1,
Even if 16 bytes of A1 and A2 or 24 bytes of A1 to A3 are read for processing and become empty, the buffer registers will not be filled until all 32 bytes of A1 to A4 are read. Data cannot be imported. This also applies to each data of B1 to B4 and C1 to C4 in FIG.
このように、データのバツフアリング動作で
は、バツフア記憶装置からのデータの読出し幅を
大きくしたい要求と、データの読出し幅を小さく
したい要求とが共存しており、これらは互いに相
反するものである。 As described above, in the data buffering operation, there are two types of requests: a request to increase the data read width from the buffer storage device and a request to decrease the data read width, and these are contradictory to each other.
本発明の目的は、このような問題を解決し、バ
ツフア記憶装置からデータを読出す場合、データ
幅についての相反する要求を両立させ、バツフ
ア・レジスタに取込むデータ幅を任意に設定する
ことにより、バツフア・レジスタのバツフアリン
グ効率を向上させることにある。 An object of the present invention is to solve such problems, to satisfy conflicting demands regarding data width when reading data from a buffer storage device, and to arbitrarily set the data width to be read into a buffer register. The object of the present invention is to improve the buffering efficiency of buffer registers.
本発明においては、データをバツフア・レジス
タに取込む際のデータ幅と、バツフア記憶装置か
らの読出しアドレスの増加量を可変にし、バツフ
ア・レジスタの空き量を検出してアドレス増加器
にフイードバツクし、それによりアドレス増加量
を決定することによつて前記目的を達成してい
る。 In the present invention, the data width when data is taken into the buffer register and the increment amount of the read address from the buffer storage device are made variable, and the free space in the buffer register is detected and fed back to the address incrementer. The above objective is achieved by determining the address increase amount thereby.
以下、本発明の実施例を、図面により説明す
る。 Embodiments of the present invention will be described below with reference to the drawings.
第3図は、本発明によるバツフア装置の概略ブ
ロツク図である。 FIG. 3 is a schematic block diagram of a buffer device according to the invention.
本発明では、第3図に示すように、バツフア記
憶装置BMを偶数BM・Eと奇数BM・Oの2つに
分割する。命令アドレス・レジスタIARの内容
は、アドレス増加器AIにより増加され、アドレ
ス・ラツチALを径由して更新される。アドレス
の増加量は、命令アドレス制御部IACにより指定
される。命令アドレス・レジスタIARのアドレス
は、一方のバツフア記憶部BM・Eをアクセスし
て、データを命令バツフア・レジスタIBR・Aに
読出すと同時に、アドレス増加器ADにより増加
された後、他方のバツフア記憶部BM・Oをアク
セスして、データを命令バツフア・レジスタ
IBR・Bに読出す。増加の指示は、論理アドレス
制御部LACが行う。命令バツフア・レジスタ
IBR・A,IBR・Bの内容は、ポインタPTの制御
により切出され、レジスタREGに取込まれる。
なお、増加器ADの増加量は、バツフア記憶装置
BM・EまたはBM・Oから一度に読出されるデ
ータの幅に等しい。また、アドレス増加器AIの
増加量は、増加器ADの増加量に等しいか、ある
いはその倍数に等しい。 In the present invention, as shown in FIG. 3, the buffer storage device BM is divided into two, an even number BM.E and an odd number BM.O. The contents of the instruction address register IAR are incremented by the address incrementer AI and updated via the address latch AL. The amount of address increase is specified by the instruction address control unit IAC. The address of the instruction address register IAR is incremented by the address incrementer AD at the same time as one buffer memory BM/E is accessed and data is read into the instruction buffer register IBR/A. Access the memory BM/O and transfer the data to the instruction buffer register.
Read to IBR・B. The instruction to increase is given by the logical address control unit LAC. Instruction buffer register
The contents of IBR.A and IBR.B are extracted under the control of pointer PT and taken into register REG.
In addition, the increase amount of the increaser AD is the buffer storage device.
Equal to the width of data read from BM.E or BM.O at one time. Further, the amount of increase in the address incrementer AI is equal to the amount of increase in the incrementer AD, or is equal to a multiple thereof.
命令バツフア・レジスタIBR・AとIBR・Bが
ともに空きの場合、アドレス・レジスタIARのア
ドレスが示すデータをバツフア記憶装置BM・E
とBM・Oより同時に読出して、バツフア・レジ
スタIBR・AとIBR・Bに同時に取込むことがで
きる。また、命令バツフア・レジスタIBR・Aま
たはIBR・Bの一方が空きの場合、アドレス・レ
ジスタIARのアドレスが示すデータをバツフア記
憶装置BM・EあるいはBM・Oの一方から読出
してバツフア・レジスタIBR・AあるいはIBR・
Bの一方に取込むことができる。バツフア・レジ
スタIBR・A,IBR・Bの空き状態は、命令バツ
フア制御部IBCが検知して、命令アドレス制御部
IACに通知することにより、アドレス増加器AIの
増加量が決定される。 If both instruction buffer registers IBR・A and IBR・B are empty, the data indicated by the address of address register IAR is transferred to buffer storage device BM・E.
and BM.O, and can be loaded into buffer registers IBR.A and IBR.B at the same time. Also, if one of the instruction buffer registers IBR・A or IBR・B is empty, the data indicated by the address of the address register IAR is read from either buffer storage device BM・E or BM・O and the buffer register IBR・B is empty. A or IBR・
It can be taken into one side of B. The instruction buffer control unit IBC detects the empty status of buffer registers IBR・A and IBR・B, and the instruction address control unit
By notifying the IAC, the amount of increase in the address incrementer AI is determined.
第4図は、第3図の詳細なブロツク構成図であ
る。 FIG. 4 is a detailed block diagram of FIG. 3.
第4図では、一度のデータ読出し動作により読
出せるデータの最大幅がn×m(2×8バイト)
であるバツフア記憶部6,7と、8バイトまたは
16バイトのデータ幅でデータを取込むことができ
る命令バツフア・レジスタ67,68,73,7
4および167,168,173,174と、8
バイトまたは16バイトの値で命令読出しアドレス
を増加できる命令アドレス増加器61および16
1とを備えた場合を例にとり説明する。 In Figure 4, the maximum width of data that can be read in one data read operation is n x m (2 x 8 bytes).
buffer storage units 6 and 7, and 8 bytes or
Instruction buffer registers 67, 68, 73, 7 that can take in data with a data width of 16 bytes
4 and 167, 168, 173, 174 and 8
Instruction address incrementers 61 and 16 that can increase the instruction read address by byte or 16-byte values
1 will be explained as an example.
最初の命令読出しの起動が、演算制御部EUか
ら制御線1を介して指示されると、これにより命
令ストリーム制御部2が命令読出しの初期値設定
動作を開始する。 When the start of the first instruction read is instructed from the arithmetic control unit EU via the control line 1, the instruction stream control unit 2 starts the initial value setting operation for instruction read.
第4図では、2つのストリームが使用されてお
り、最初51〜85の回路を有するAストリーム
が動作し、命令レジスタ18に分岐命令あるいは
分岐可能な実行命令がセツトされた場合に、15
1〜185の回路を有するBストリームが動作す
る。 In FIG. 4, two streams are used. Initially, the A stream having circuits 51 to 85 operates, and when a branch instruction or a branchable execution instruction is set in the instruction register 18, 15
A B stream with 1 to 185 circuits operates.
命令ストリーム制御部2は、制御線51を介し
た命令アドレス・レジスタ52と命令切出しポイ
ンタ53に、データ線3から送られて来た命令読
出し開始アドレスを設定する。例えば、バツフア
記憶部6,7のブロツクが第5図aに示すよう
に、64バイトである場合、最初の8バイト・
(0)から最後の8バイト(7)までのどの8バ
イトからアドレスが開始されるかを設定する。 The instruction stream control unit 2 sets the instruction read start address sent from the data line 3 in the instruction address register 52 and instruction extraction pointer 53 via the control line 51. For example, if the blocks in the buffer storage units 6 and 7 are 64 bytes as shown in FIG. 5a, the first 8 bytes
Set which 8 bytes from (0) to the last 8 bytes (7) the address starts from.
さらに、制御線51によつて命令アドレス制御
部54が起動される。命令アドレス制御部54
は、これにより命令読出しリクエスト信号を制御
線55を介して論理アドレス制御部4に送出す
る。 Furthermore, the command address control section 54 is activated by the control line 51. Instruction address control unit 54
As a result, an instruction read request signal is sent to the logical address control unit 4 via the control line 55.
論理アドレス制御部4は、優先順位の高い他の
リクエストを受けていないときには、これを受付
けて命令読出しアクセプト信号を制御線56を介
して命令アドレス制御部54に返送する。このア
クセプト信号がセツトされることにより、命令ア
ドレス・レジスタ52の内容がデータ線57を介
して論理アドレス・レジスタ5に転送され、一定
時間後に命令アドレス制御部54から制御線58
をセツトすることにより、命令アドレス・ラツチ
59の内容がデータ線60を介して命令アドレ
ス・レジスタ52に移される。命令アドレス・ラ
ツチ59には、命令アドレス・レジスタ52の内
容を命令アドレス増加器61により増加した値が
セツトされる。この増加量は、命令アドレス制御
部54が決定し、アドレスを8バイト増加すると
きには制御線62をセツトし、16バイト増加する
ときには制御線63をセツトする。これは、命令
バツフア制御部69が命令バツフア・レジスタ6
7,68の空き状態を検出して、制御線64,6
5により命令アドレス制御部54に通知する。そ
して、アドレス増加量は、制御線64,65およ
びデータ線66にもとづいて決定される。制御線
64は命令バツフア・レジスタ67が空き状態の
とき、また制御線65は命令バツフア・レジスタ
68が空き状態のとき、それぞれ命令バツフア制
御部69が検出してセツトする。また、データ線
66は、命令アドレス・レジスタ52の下位3ビ
ツト(3.2〜3.4)の内容を示す。 When the logical address control unit 4 has not received another request with a high priority, it accepts the request and returns an instruction read acceptance signal to the instruction address control unit 54 via the control line 56. By setting this accept signal, the contents of the instruction address register 52 are transferred to the logical address register 5 via the data line 57, and after a certain period of time, the contents of the instruction address register 52 are transferred from the instruction address control section 54 to the control line 58.
By setting , the contents of instruction address latch 59 are transferred to instruction address register 52 via data line 60. The instruction address latch 59 is set to a value obtained by increasing the contents of the instruction address register 52 by the instruction address incrementer 61. This amount of increase is determined by the instruction address control section 54, which sets the control line 62 when increasing the address by 8 bytes, and sets the control line 63 when increasing the address by 16 bytes. This is because the instruction buffer control unit 69 controls the instruction buffer register 6.
7, 68 is detected and the control lines 64, 6 are connected.
5, the instruction address control unit 54 is notified. The address increase amount is determined based on control lines 64 and 65 and data line 66. The control line 64 is detected and set by the instruction buffer control unit 69 when the instruction buffer register 67 is in an empty state, and the control line 65 is detected and set when the instruction buffer register 68 is in an empty state. Further, data line 66 indicates the contents of the lower three bits (3.2 to 3.4) of instruction address register 52.
命令アドレス・レジスタ52には、第5図bに
示すように、ビツト0.0(第0バイトの第0ビツ
ト)〜3.7の32ビツトの命令アドレス等がセツト
されるが、第3バイトにおけるビツト2,3,4
はバツフア記憶部6,7のブロツク中の8バイ
ト・アドレス、つまり第5図aに示す64バイト中
のどの8バイトかを指示し、ビツト5,6,7は
その8バト中のバイト内アドレスを指示する表示
ビツトである。 As shown in FIG. 5B, the instruction address register 52 is set with a 32-bit instruction address of bits 0.0 (0th bit of the 0th byte) to 3.7, but bits 2 and 3 of the third byte are set in the instruction address register 52. 3,4
indicates the 8-byte address in the block of buffer storage units 6 and 7, that is, which 8 bytes among the 64 bytes shown in FIG. This is a display bit that indicates.
例えば、下位3ビツト(3.2〜3.4)がすべて
「1」のときには、命令アドレスが、バツフア記
憶部6および7の1単位である64バイト中の最後
の8バイトを指示していることを表わす。この場
合、一度のバツフア記憶部アクセスにより8バイ
トしか読出すことができない。 For example, when the lower three bits (3.2 to 3.4) are all "1", this indicates that the instruction address specifies the last 8 bytes of 64 bytes, which is one unit of buffer storage sections 6 and 7. In this case, only 8 bytes can be read by one buffer storage section access.
命令アドレス制御部54は、制御線64,65
がともにセツトされており、しかもデータ線66
の3ビツトすべてが「1」でないときには、一度
のバツフア記憶部アクセスにより16バイトを読出
すことができるので、制御線63をセツトして命
令アドレスを16バイト増加させる。 The instruction address control unit 54 uses control lines 64 and 65
are set together, and the data line 66
When all three bits of ``1'' are not ``1'', 16 bytes can be read by one access to the buffer storage section, so the control line 63 is set and the instruction address is increased by 16 bytes.
一方、制御線64,65の片方のみがセツトさ
れているか、あるいはデータ線66の3ビツト
(3.2〜3.4)がすべて「1」のときは、制御線6
2をセツトして命令アドレスを8バイト増加させ
る。 On the other hand, if only one of the control lines 64 and 65 is set, or if all three bits (3.2 to 3.4) of the data line 66 are "1", the control line
2 is set to increase the instruction address by 8 bytes.
制御線62,63は、命令バツフア制御部69
にも接続されており(図示省略)、バツフア記憶
部6,7より読出すことができる有効な命令デー
タ幅を通知する。 The control lines 62 and 63 are connected to the command buffer control section 69.
(not shown), and notifies the effective instruction data width that can be read from the buffer storage units 6 and 7.
命令アドレス制御部54が発行した命令読出し
リクエスト信号が論理アドレス制御部4により受
付けられると、論理アドレス・レジスタ5にセツ
トされた論理アドレスによりアドレス変換装置8
とバツフア索引装置9が参照される。アドレス変
換装置8には論理アドレスに対する実アドレスが
登録されており、またバツフア索引装置9にその
実アドレスが登録されていれば、直ちに論理アド
レスで指定したデータをバツフア記憶部6,7よ
り読出すことができる。 When the instruction read request signal issued by the instruction address control section 54 is accepted by the logical address control section 4, the address translation device 8 is processed according to the logical address set in the logical address register 5.
The buffer indexing device 9 is referred to. If a real address corresponding to a logical address is registered in the address translation device 8, and if the real address is registered in the buffer indexing device 9, the data specified by the logical address can be immediately read from the buffer storage units 6, 7. I can do it.
バツフア記憶装置は、第5図aのEで示す偶数
8バイト・データを記憶するバツフア記憶部6
と、Oで示す奇数8バイト・データを記憶するバ
ツフア記憶部7から構成され、それぞれ1回のア
クセスで8バイトのデータを読出すことができ
る。 The buffer storage device includes a buffer storage unit 6 that stores even-numbered 8-byte data indicated by E in FIG. 5a.
and a buffer storage section 7 for storing odd-numbered 8-byte data indicated by O, and each of the 8-byte data can be read in one access.
バツフア記憶装置の読出しアドレスは、アドレ
ス変換装置8の出力とバツフア索引装置9の出力
により作成され、バツフア・アドレス・レジスタ
E10の上位とバツフア・アドレス・レジスタO
11の上位にセツトされる。バツフア・アドレ
ス・レジスタE10およびバツフア・アドレス・
レジスタO11の上位アドレスは、ブロツク(64
バイト)のアドレスを示す。一方、バツフア・ア
ドレス・レジスタE10およびバツフア・アドレ
ス・レジスタO11の下位アドレス3ビツトは、
ブロツク内の8バイト・データのアドレスを示
す。すなわち、第5図aに示す1ブロツク(64バ
イト)が格納されているアドレスがバツフア・ア
ドレス・レジスタ10,11の上位にセツトさ
れ、第5図bに示す論理アドレス・レジスタ5の
下位3ビツト(3.2〜3.4)がそのまま、あるいは
演算処理されてバツフア・アドレス・レジスタ1
0,11の下位にセツトされる。 The read address of the buffer storage device is created by the output of the address translation device 8 and the output of the buffer index device 9, and is created by the output of the address translation device 8 and the output of the buffer indexing device 9.
It is set above 11. Buffer address register E10 and buffer address register E10
The upper address of register O11 is block (64
(byte) address. On the other hand, the lower 3 bits of buffer address register E10 and buffer address register O11 are as follows:
Indicates the address of 8-byte data within the block. That is, the address in which one block (64 bytes) shown in FIG. (3.2 to 3.4) are stored as is or after being processed and stored as buffer address register 1.
It is set to the lower order of 0 and 11.
論理アドレス・レジスタ5のアドレスが偶数8
バイト境界内にあるとき、論理アドレス・レジス
タ5のビツト(3.2〜3.4)は、増減器E12でプ
ラス0されてバツフア・アドレス・レジスタE1
0の下位にセツトされるとともに、増減器O13
でプラス8されてバツフア・アドレス・レジスタ
O11の下位にセツトされる。すなわち、この場
合には、第5図aに示す(0,1),(2,3),
(4,5)あるいは(6,7)の偶数8バイトE
で始まる16バイト・データであるため、奇数8バ
イトOのアドレスにプラス8する。したがつて、
バツフア記憶E6からは論理アドレス・レジスタ
5で指定された命令データの前半8バイトが読出
され、バツフア記憶部O7からは後半8バイトが
読出される。 Address of logical address register 5 is even number 8
When within a byte boundary, the bits (3.2-3.4) of logical address register 5 are incremented by zero in incrementer/decrementer E12 and stored in buffer address register E1.
It is set lower than 0, and the increase/decrease O13
is incremented by 8 and set in the lower part of buffer address register O11. That is, in this case, (0, 1), (2, 3),
(4,5) or (6,7) even number 8 bytes E
Since it is 16-byte data starting with , add 8 to the odd-numbered 8-byte address. Therefore,
The first 8 bytes of the instruction data designated by the logical address register 5 are read from the buffer storage E6, and the latter 8 bytes are read from the buffer storage O7.
逆に、論理アドレス・レジスタ5のアドレス
が、奇数8バイト境界内にあるとき、論理アドレ
ス・レジスタ5のビツト(3.2〜3.4)は、増減器
E12でプラス8されて、バツフア・アドレス・
レジスタE10の下位にセツトされるとともに、
増減器O13でプラス0されてバツフア・アドレ
ス・レジスタO11の下位にセツトされる。この
ときには、バツフア記憶部E6からは論理アドレ
ス・レジスタ5で指定された命令データの後半8
バイトが読出され、バツフア記憶部O7からは前
半8バイトが読出される。 Conversely, when the address of logical address register 5 is within an odd 8-byte boundary, the bits (3.2 to 3.4) of logical address register 5 are incremented by 8 in increment/decrement E12 to become buffer address register 5.
It is set to the lower part of register E10, and
It is incremented by 0 by the incrementer/decrementer O13 and set in the lower part of the buffer address register O11. At this time, the latter half 8 of the instruction data specified by the logical address register 5 is sent from the buffer storage section E6.
Bytes are read out, and the first 8 bytes are read out from the buffer storage section O7.
増減器12,13の制御は、論理アドレス制御
部4が制御線55を介して命令読出しリクエスト
信号を受付けたとき、制御線14を用いて行われ
る。また、論理アドレス制御部4が命令読出しリ
クエスト信号を受付けると、制御線56を介して
命令読出しアクセプト信号を命令アドレス制御部
54に返送すると同時に、バツフア制御部15を
起動する。バツフア制御部15は、アドレス変換
装置8に論理アドレスに対応する実アドレスが登
録されていることを示す制御線16と、実アドレ
スがバツフア索引装置9に登録されていることを
示す制御線17とにより、バツフア記憶部6,7
より読出した命令データの有効性を判断し、有効
であれば命令読出しアドレス信号を制御線70を
介して命令バツフア制御部69に送出する。命令
バツフア制御部69は、命令アドレスの増加量を
表わす制御線62,63からの情報を記憶してお
り、これに命令読出しアドバンス信号を付加して
命令バツフア・レジスタ67の入力指示信号と命
令バツフア・レジスタ68の入力指示信号とを作
成し、制御線71,72に送出する。すなわち、
命令読出しアドバンス信号がセツトされており、
制御線62が「1」であれば、命令バツフア・レ
ジスタ67または68のいずれか空き状態の方の
入力を指示する。なお、命令バツフア・レジスタ
67と68の空き状態は、命令バツフア制御部6
9が管理し、記憶している。 The increase/decrease units 12 and 13 are controlled using the control line 14 when the logical address control unit 4 receives an instruction read request signal via the control line 55. Further, when the logical address control unit 4 receives the instruction read request signal, it sends an instruction read accept signal back to the instruction address control unit 54 via the control line 56, and at the same time activates the buffer control unit 15. The buffer control unit 15 sends a control line 16 indicating that a real address corresponding to the logical address is registered in the address translation device 8 and a control line 17 indicating that the real address is registered in the buffer indexing device 9. Accordingly, the buffer storage units 6 and 7
The validity of the read instruction data is determined, and if it is valid, an instruction read address signal is sent to the instruction buffer control unit 69 via the control line 70. The instruction buffer control unit 69 stores information from the control lines 62 and 63 indicating the amount of increase in the instruction address, adds an instruction read advance signal to this information, and outputs the input instruction signal of the instruction buffer register 67 and the instruction buffer. - Creates an input instruction signal for the register 68 and sends it to the control lines 71 and 72. That is,
The instruction read advance signal is set,
If the control line 62 is "1", it instructs input to either the instruction buffer register 67 or 68, whichever is in an empty state. Note that the empty state of the instruction buffer registers 67 and 68 is determined by the instruction buffer control unit 6.
9 manages and remembers.
一方、制御線63が「1」であれば、命令バツ
フア・レジスタ67と68の両方の入力を指示す
る。 On the other hand, if control line 63 is "1", it instructs input to both instruction buffer registers 67 and 68.
命令バツフア・レジスタ67または68のいず
れかに命令データがセツトされており、命令バツ
フア・レジスタ73または74のいずれかが空き
状態のとき、制御線75,76,77,78のう
ちの必要なもののみが命令バツフア制御部69に
よりセツトされて、命令データを移動させる。こ
の場合、命令バツフア・レジスタ73と74の内
容は、連続した16バイトの命令データと看做され
て、選択回路79により2バイト単位で切出され
る。 When instruction data is set in either instruction buffer register 67 or 68 and either instruction buffer register 73 or 74 is empty, the necessary one of control lines 75, 76, 77, and 78 is set. is set by the instruction buffer control unit 69 to move instruction data. In this case, the contents of the instruction buffer registers 73 and 74 are regarded as 16 consecutive bytes of instruction data, and are extracted by the selection circuit 79 in units of 2 bytes.
選択回路79の動作は、命令切出しポインタ5
3により制御される。命令切出しポインタ53
は、命令ストリーム制御部2から読出し開始アド
レス情報を受取つており、次に解読すべき命令の
位置を記憶している。そして、切出した命令が命
令レジスタ18に入力され、その命令の解読が完
了すると、次の命令を取込むため命令長に対応し
てポインタを歩進させる。すなわち、命令長が2
バイトのときはポインタを1だけ歩進させ、命令
長が4バイトのときはポインタを2だけ歩進さ
せ、また命令長が6バイトのときは命令の解読を
2回に分けて行うので、最初にポインタを1だけ
歩進させた後、次にポインタを2だけ歩進させる
ことになる。 The operation of the selection circuit 79 is based on the instruction extraction pointer 5.
3. Instruction extraction pointer 53
receives the read start address information from the instruction stream control unit 2, and stores the position of the next instruction to be decoded. Then, the extracted instruction is input to the instruction register 18, and when the decoding of the instruction is completed, the pointer is incremented in accordance with the instruction length in order to fetch the next instruction. In other words, the instruction length is 2
When the instruction length is 6 bytes, the pointer is incremented by 1, and when the instruction length is 6 bytes, the instruction is decoded in two steps. After incrementing the pointer by 1, the pointer is then incremented by 2.
命令の解読が終了すると、命令解読制御部19
が制御線80を介して命令解読終了信号を送出
し、命令切出しポインタ53に対して、命令レジ
スタ18への入力動作と命令切出しポインタの歩
進を指示する。 When the instruction decoding is completed, the instruction decoding control unit 19
sends out an instruction decoding end signal via the control line 80, and instructs the instruction extraction pointer 53 to perform an input operation to the instruction register 18 and increment the instruction extraction pointer.
歩進の値は、命令解読器20からの出力と命令
解読制御部19の状態により決定され、制御線8
1または82によつて命令切出しポインタ増加器
83が制御される。命令切出しポインタ増加器の
出力ラツチ84の値、制御線80の命令解読終了
信号、および制御線81,82の内容は、命令バ
ツフア制御部69にも送出される。命令バツフア
制御部69は、これらの信号により命令バツフ
ア・レジスタ73および74の空き状態を検出す
ることができる。つまり、命令切出しポインタ5
3の指示する位置が命令バツフア・レジスタ73
から74に移動した場合には、命令バツフア・レ
ジスタ73が空き状態になつたものと看做し、命
令バツフア・レジスタ74から73に移動した場
合には、命令バツフア・レジスタ74が空き状態
になつたものと看做する。 The value of the step is determined by the output from the instruction decoder 20 and the state of the instruction decoding control section 19, and is determined by the control line 8.
1 or 82 controls the instruction extraction pointer incrementer 83. The value of the output latch 84 of the instruction extraction pointer incrementer, the instruction decoding completion signal on the control line 80, and the contents of the control lines 81 and 82 are also sent to the instruction buffer control unit 69. Instruction buffer control section 69 can detect the empty state of instruction buffer registers 73 and 74 based on these signals. In other words, instruction extraction pointer 5
The position indicated by 3 is the instruction buffer register 73
When moving from instruction buffer register 74 to 74, the instruction buffer register 73 is considered to be empty, and when moving from instruction buffer register 74 to 73, instruction buffer register 74 is assumed to be empty. I regard it as something.
命令レジスタ18に分岐可能な実行命令あるい
は分岐命令がセツトされた場合は、Bストリーム
の命令読出し動作が開始され、第4図の151〜
185で示される回路、データ線、制御線が起動
される。Bストリームの動作は、前述のAストリ
ームにおける51〜85で示される回路、データ
線、制御線の動作と全く同一であるため、説明を
省略する。 When a branchable execution instruction or a branch instruction is set in the instruction register 18, the instruction reading operation of the B stream is started, and steps 151 to 151 in FIG.
The circuitry, data lines, and control lines shown at 185 are activated. The operation of the B stream is exactly the same as the operation of the circuits, data lines, and control lines indicated by 51 to 85 in the A stream described above, so the explanation will be omitted.
以上説明したように、本発明によれば、命令バ
ツフア・レジスタの空き状態を検出して、それを
読出しアドレス増加器にフイード・バツクするこ
とにより、バツフア記憶部から読出すデータ幅を
可変にし、かつ連続して読出すことができるの
で、データ・バツフア・レジスタのバツフアリン
グ効率を向上させることができる。 As described above, according to the present invention, by detecting the empty state of the instruction buffer register and feeding it back to the read address incrementer, the data width read from the buffer storage section can be made variable. Moreover, since the data can be read out continuously, the buffering efficiency of the data buffer register can be improved.
なお、実施例においては、命令制御部IUのバ
ツフア記憶装置からバツフア・レジスタに命令デ
ータを読出す場合について説明したが、本発明は
これに限定されることなく、一般の記憶装置から
バツフア装置にデータを読出す場合に適用するこ
とができる。 In the embodiment, a case has been described in which instruction data is read from the buffer storage device of the instruction control unit IU to the buffer register. It can be applied when reading data.
第1図は情報処理システムの概略ブロツク図、
第2図はバツフア・レジスタの構成例を示す図、
第3図は本発明のバツフア装置の概略ブロツク
図、第4図は本発明の一実施例を示す情報処理装
置のブロツク図、第5図は第4図の動作説明図で
ある。
IU:命令制御部、EU:演算制御部、SCU:記
憶制御部、IOP:入出力処理部、SVP:サービス
処理部、CH:チヤネル装置、MS:主記憶装置、
IAR:命令アドレス・レジスタ、AI:アドレス増
加器、AL:アドレス・ラツチ、IAC:命令アド
レス制御部、IBR・A,IBR・B:命令バツフ
ア・レジスタ、AD:増加器、BM・E,BM・
O:バツフア記憶部、REG:命令レジスタ、
PT:ポインタ、IBC:命令バツフア制御部、
LAC:論理アドレス制御部、1:制御線、2:
命令ストリーム制御部、3:データ線、4:論理
アドレス制御部、5:論理アドレス・レジスタ、
6,7:バツフア記憶部(E,O)、8:アドレ
ス変換装置、9:バツフア索引装置、10,1
1:バツフア・アドレス・レジスタ(E,O)、
12,13:増減器(E,O)、15:バツフア
制御部、18:命令レジスタ、19:命令解除制
御部、20:命令解読器、52,152:命令ア
ドレス・レジスタ(A,B)、53,153:命
令切出しポインタ(A,B)、54,154:命
令アドレス制御部(A,B)、59,159:命
令アドレス・ラツチ(A,B)、61,161:
命令アドレス増加器(A,B)、67,68,7
3,74,167,168,173,174:命
令バツフア・レジスタ(A0〜A3,B0〜B
3)、69,169:命令バツフア制御部(A,
B)、79,179:選択回路(A,B)、83,
183:命令切出しポインタ増加器(A,B)、
84,184:命令切出しポインタ増加器の出力
ラツチ(A,B)。
Figure 1 is a schematic block diagram of the information processing system.
Figure 2 is a diagram showing an example of the configuration of a buffer register.
FIG. 3 is a schematic block diagram of a buffer device of the present invention, FIG. 4 is a block diagram of an information processing device showing an embodiment of the present invention, and FIG. 5 is an explanatory diagram of the operation of FIG. 4. IU: Instruction control unit, EU: Arithmetic control unit, SCU: Storage control unit, IOP: Input/output processing unit, SVP: Service processing unit, CH: Channel device, MS: Main storage,
IAR: Instruction address register, AI: Address incrementer, AL: Address latch, IAC: Instruction address control section, IBR・A, IBR・B: Instruction buffer register, AD: Increaser, BM・E, BM・
O: Buffer storage unit, REG: Instruction register,
PT: pointer, IBC: instruction buffer control block,
LAC: logical address control section, 1: control line, 2:
instruction stream control section, 3: data line, 4: logical address control section, 5: logical address register,
6, 7: Buffer storage unit (E, O), 8: Address translation device, 9: Buffer index device, 10, 1
1: Buffer address register (E, O),
12, 13: Increase/decrease unit (E, O), 15: Buffer control unit, 18: Instruction register, 19: Instruction release control unit, 20: Instruction decoder, 52, 152: Instruction address register (A, B), 53, 153: Instruction extraction pointer (A, B), 54, 154: Instruction address control unit (A, B), 59, 159: Instruction address latch (A, B), 61, 161:
Instruction address incrementer (A, B), 67, 68, 7
3, 74, 167, 168, 173, 174: Instruction buffer register (A0 to A3, B0 to B
3), 69, 169: Instruction buffer control unit (A,
B), 79, 179: Selection circuit (A, B), 83,
183: Instruction extraction pointer incrementer (A, B),
84, 184: Output latch (A, B) of instruction extraction pointer incrementer.
Claims (1)
装置において、最大読出し幅がn×mバイトのバ
ツフア記憶手段と、該バツフア記憶手段からの読
出しアドレスの増加量が可変のアドレス増加器
と、該バツフア記憶手段から読出されたデータを
格納するバツフア・レジスタの空き量を検出し
て、該空き量を上記アドレス増加器にフイードバ
ツクする手段とを有し、上記バツフア・レジスタ
の空き状態に応じて、n×l(lは1〜m)バイ
トのデータ幅の読出しを一度に行うように選択す
ることを特徴とする情報処理装置。1. In an information processing device having a data buffering function, a buffer storage means having a maximum read width of n×m bytes, an address incrementer capable of increasing the amount of read address read from the buffer storage means is variable, and the buffer storage means means for detecting the free space of a buffer register for storing data read from the buffer register and feeding back the free space to the address incrementer; An information processing device characterized in that (l is 1 to m) a data width of bytes is selected to be read at one time.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP947979A JPS55101181A (en) | 1979-01-30 | 1979-01-30 | Information processing unit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP947979A JPS55101181A (en) | 1979-01-30 | 1979-01-30 | Information processing unit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS55101181A JPS55101181A (en) | 1980-08-01 |
| JPS6144340B2 true JPS6144340B2 (en) | 1986-10-02 |
Family
ID=11721383
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP947979A Granted JPS55101181A (en) | 1979-01-30 | 1979-01-30 | Information processing unit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS55101181A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6072030A (en) * | 1983-09-28 | 1985-04-24 | Hitachi Ltd | Information processing device |
| JPS61211743A (en) * | 1985-03-17 | 1986-09-19 | Fujitsu Ltd | Information processor |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS529109A (en) * | 1975-07-11 | 1977-01-24 | Kobe Steel Ltd | Overload protection for turbo compressor motor |
-
1979
- 1979-01-30 JP JP947979A patent/JPS55101181A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS55101181A (en) | 1980-08-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
| US5155817A (en) | Microprocessor | |
| JPS6331813B2 (en) | ||
| WO1986000434A1 (en) | Method and apparatus for a compare and swap instruction | |
| US4631668A (en) | Storage system using comparison and merger of encached data and update data at buffer to cache to maintain data integrity | |
| US5031096A (en) | Method and apparatus for compressing the execution time of an instruction stream executing in a pipelined processor | |
| US4631672A (en) | Arithmetic control apparatus for a pipeline processing system | |
| EP0220990B1 (en) | Buffer storage control system | |
| US6571301B1 (en) | Multi processor system and FIFO circuit | |
| US6769049B1 (en) | Memory access in a computer system having parallel execution pipelines | |
| JPS6144340B2 (en) | ||
| US4737908A (en) | Buffer memory control system | |
| US5276853A (en) | Cache system | |
| US4272809A (en) | Channel device | |
| JPH0746323B2 (en) | Main memory for compressing partial write access | |
| JPH0232650B2 (en) | ||
| JPS6112287B2 (en) | ||
| JPS60254238A (en) | Data extraction processor | |
| JPS62212745A (en) | Data processing device with buffer memory | |
| JPH0713814B2 (en) | Bus control method | |
| JPH0376501B2 (en) | ||
| JPS6145359A (en) | Information processor | |
| JPH0238966B2 (en) | ||
| WO1986000435A1 (en) | Three word instruction pipeline | |
| JPH0425581B2 (en) |