JPS61198334A - Instruction division processing system - Google Patents

Instruction division processing system

Info

Publication number
JPS61198334A
JPS61198334A JP3909385A JP3909385A JPS61198334A JP S61198334 A JPS61198334 A JP S61198334A JP 3909385 A JP3909385 A JP 3909385A JP 3909385 A JP3909385 A JP 3909385A JP S61198334 A JPS61198334 A JP S61198334A
Authority
JP
Japan
Prior art keywords
instruction
processing
read
storage device
execution
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.)
Pending
Application number
JP3909385A
Other languages
Japanese (ja)
Inventor
Hiroyuki Kaneda
裕之 金田
Takeshi Murata
雄志 村田
Takahito Noda
野田 敬人
Yuji Kamisaka
神阪 裕士
Masayoshi Takei
武居 正善
Kazuyasu Nonomura
野々村 一泰
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3909385A priority Critical patent/JPS61198334A/en
Publication of JPS61198334A publication Critical patent/JPS61198334A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To perform processing in a high speed with a simple control by changing the sequence of instruction execution according as all elements required for execution of instructions are read out from a storage device or not. CONSTITUTION:If 4* of an instruction 1 exists in the following page, the processing is interrupted temporarily, and the processing is restarted after mak ing it possible to read 4*. Since the processing precedes with respect to already read-in 0*-3*, the processing is completed up to a cycle 1. When it is detected that 4* exists in the following page, internal states are saved for the purpose of starting the condition meeting processing, and internal states are restored after the condition meeting processing to restart the processing from a cycle 2. Thus, the processing of the instruction can be executed though two pages of virtual memory do not exist simultaneously on an actual memory. If elements are read in time for the cycle of the execution, the instruction is executed though all elements of one instruction are completed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置の制御に関するもので、特に命令
実行の高速化を図るため、1命令上分割してパイプライ
ン方式により処理する方式に係るものである。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to the control of information processing devices, and in particular, in order to speed up instruction execution, a method is adopted in which one instruction is divided and processed using a pipeline method. This is related.

〔従来の技術〕[Conventional technology]

情報処理装置による高度な処理を実現するための演算の
高速化の要求に応えるために、先行制御やパイプライン
処理等の命令実行方式による情報処理装置が考え出され
使用されている。
2. Description of the Related Art In order to meet the demand for faster calculations in order to achieve advanced processing by information processing devices, information processing devices based on instruction execution methods such as advance control and pipeline processing have been devised and used.

従来、このような方式の情報処理装置においては、記憶
装置から実行すべき1命令のすべてを読み出してからパ
イプライン処理部に制8を渡している。
Conventionally, in an information processing apparatus of this type, all instructions to be executed are read from a storage device and then passed to a pipeline processing section.

例えば、記憶装置からの命令取り出しの幅が2バイトで
あり、実行すべき命令が5バイトである場合には、記憶
装置から該命令を3回に分けて取り出し、5バイト分が
揃ってから、次の処理に移行している。
For example, if the width of the instruction fetched from the storage device is 2 bytes and the instruction to be executed is 5 bytes, the instruction is fetched from the storage device three times, and after 5 bytes are completed, Moving on to the next process.

従来、上記のような制御方式を採っていたのは、命令全
体が揃ってから処理を開始することによって、パイプラ
イン各部での処理を同期した一定のシーケンスに従って
実行することを可能ならしめ、これによって、簡潔な制
御を実現することを意図するもので6つ比。
Conventionally, the control method described above has been adopted because by starting processing after all instructions have been completed, it is possible to execute the processing in each part of the pipeline according to a fixed, synchronized sequence. It is intended to achieve simple control by using 6 ratios.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述した従来の制御方式による場合、仮想記憶方式を採
る情報処理装置において、例えば、成る命令が二つのペ
ージにまたがって存在するときには、それらの各ページ
が同時に実記憶上に存在しなければならないから、現在
存在するページをスワップアウトせずに他の必要なペー
ジ全スワップインするなど、スワツピングの制御のアル
ゴリズムが複雑になると共に、実記憶を最低2ペ一ジ分
必要とすると言う問題点があった。
In the case of the above-mentioned conventional control method, in an information processing device that employs a virtual memory method, for example, when an instruction consists of two pages, each of those pages must exist simultaneously in real memory. , there are problems in that the swapping control algorithm is complicated, such as swapping in all other necessary pages without swapping out the currently existing page, and it requires at least two pages of real memory. Ta.

また、可変梧長命令を扱う系の場合は、命令先頭アドレ
スに実行しようとする命令の命令長を加算して、その結
果がページ境界を越えるか否かについてのプリテス)?
しなければならない等、煩雑な前処理が必要であった。
In addition, in the case of a system that handles variable length instructions, add the instruction length of the instruction to be executed to the instruction start address and check whether the result exceeds the page boundary (pretest)?
However, complicated pretreatment was required.

そして、これらの前処理は総ての命令について行なわな
ければならないから、処理の高速化を阻害し、ま念、装
置資源の必要量が増大すると言う問題点があつ次。
Since these pre-processings must be performed for all instructions, there is another problem in that they impede speed-up of processing and, of course, increase the amount of equipment resources required.

本発明は上記従来の問題点に鑑み、簡潔な制御で、高速
な処理を期待することが出来ると共に、装置資源の増大
を招くことの無い、パイプライン方式の情報処理装置を
提供することを目的としている。
In view of the above conventional problems, an object of the present invention is to provide a pipeline type information processing device that can be expected to perform high-speed processing with simple control and does not cause an increase in device resources. It is said that

〔問題点を解決するための手段〕[Means for solving problems]

そして、この目的は本発明によれば、特許請求の範囲に
記載のとおシ、命令の実行に係る処理をパイプライン方
式により行なう如く構成された情報処理装置において、
1命令中から分割して取り出すべき部分の先頭位置のア
ドレス値を保持するレジスタと、該レジスタの内容と制
御部より与えられた値とを加算してその結果を該レジス
タに格納する手段と、記憶装置より読み出した命令を該
レジスタの値を用いて分割して取り出す手段と、命令の
実行に際して該命令の実行に必要な全要素が記憶装置よ
り読み出されているか否かを検出する手段とを設け、記
憶装置より読み出した命令をその時点で実行するのに必
要な部分に分割して処理すると共に、命令の実行に必要
な全要素が記憶装置より読み出されているか否かによっ
て命令実行のシーケンスを変更することを特徴とする命
令分割処理方式にLり達成される。
According to the present invention, this object is achieved in an information processing apparatus configured to perform processing related to instruction execution in a pipeline method, as described in the claims.
a register that holds the address value of the starting position of a portion to be divided and extracted from one instruction; a means for adding the contents of the register and a value given by the control unit and storing the result in the register; means for dividing and retrieving an instruction read from a storage device using the value of the register; and means for detecting whether all elements necessary for executing the instruction have been read from the storage device when executing the instruction. The system divides the instruction read from the storage device into the parts necessary for execution at that time and processes it, and executes the instruction depending on whether all the elements necessary for executing the instruction have been read from the storage device. This is achieved by using an instruction division processing method characterized by changing the sequence of instructions.

〔実 施 例〕〔Example〕

第1図は本発明の1実施例のプロ、り図であって、1は
記憶装置、2は命令アライナ、3は命令シーケンス制御
部、4は制御記憶装置、5は命令分割取出部、6はBX
D計算部、7はADH計算部、8はアドレス変換部、9
は演算部を表わしている。
FIG. 1 is a professional diagram of one embodiment of the present invention, in which 1 is a storage device, 2 is an instruction aligner, 3 is an instruction sequence control section, 4 is a control storage device, 5 is an instruction division fetch section, 6 is BX
D calculation section, 7 is ADH calculation section, 8 is address conversion section, 9
represents an arithmetic unit.

第1図において、記憶装置1には実行すべき命令あるい
はデータ等が格納されている。そして、記憶装置1から
命令アライナ2への転送路は一定幅(4バイト)となっ
ている。しかし、記憶装置1i11内では命令が4バイ
ト毎に整列している訳ではないから、記憶装置1から転
送され九データについて、命令アライナ2によって、命
令の先頭から整列するよう罠制御している。
In FIG. 1, a storage device 1 stores instructions or data to be executed. The transfer path from the storage device 1 to the instruction aligner 2 has a constant width (4 bytes). However, since the instructions are not aligned every 4 bytes in the storage device 1i11, the instruction aligner 2 performs trap control to align the nine data transferred from the storage device 1 from the beginning of the instruction.

また、アライナ2には取り出した命令を貯えておくバッ
ファが存在する。
Furthermore, the aligner 2 has a buffer for storing fetched instructions.

該命令アライナ2の出力の一部(オペコード)と、制御
記憶装置の出力の一部が命令シーケンス制御部31C入
力され、該命令シーケンス制御部3の出力によって制御
記憶装置4のアドレスが生成される。そして、この制御
記憶装置4の出力(マイクロプログラム)によって各部
が制御される。
A part of the output (opcode) of the instruction aligner 2 and a part of the output of the control storage device are input to the instruction sequence control unit 31C, and an address of the control storage device 4 is generated by the output of the instruction sequence control unit 3. . Each section is controlled by the output (microprogram) of this control storage device 4.

命令分割取出部5は命令アライナ2から処理に必要な部
分毎に命令を分割して取り出して、対応する各部に分配
する。
The instruction division and extraction unit 5 divides and extracts the instruction into parts necessary for processing from the instruction aligner 2, and distributes the divided instructions to the corresponding parts.

BXD計算部6ではオペランドアドレスの計算を行ない
、ADH計算計算部上分岐先等のアドレス計算を行なう
The BXD calculation unit 6 calculates operand addresses, and the ADH calculation unit calculates addresses such as branch destinations.

アドレス変換部8は、これらのアドレスについて、更に
仮想アドレスから実アドレスへの変換を行なう。
The address conversion unit 8 further converts these addresses from virtual addresses to real addresses.

演算部9は該実アドレスを用いて記憶装置を参照したり
、レジスタ間の演算を行なつ之υ、あるいは指定された
アドレスへ分岐するなどの処理を行なう。
The arithmetic unit 9 uses the real address to perform processing such as referring to the storage device, performing arithmetic operations between registers, or branching to a specified address.

命令シーケンス制御部3は、IBP(後で説明する)の
値と、そのときの制御記憶装置4からの読み出し値で実
行に必要な命令の部分を確定できる。そして、記憶装置
1の参照の過程から、その部分の読み出しが終了してい
るか否かが検出できる。これらの結果と、実行しようと
する命令のオペコードから、制御記憶装置4の伺処に制
岬情報が格納されているかのアドレスを生成してCSア
ドレスとする。また、前記検出回路によって、すでに同
一命令で読み出されていないのか、また次の命令が読み
出されていないのかなどが調べられ、これによって命令
実行シーケンスの制御が行なわれる。
The instruction sequence control unit 3 can determine the part of the instruction necessary for execution based on the value of IBP (described later) and the value read from the control storage device 4 at that time. Then, from the process of referencing the storage device 1, it can be detected whether reading of that portion has been completed. Based on these results and the opcode of the instruction to be executed, an address indicating whether the control information is stored in the location of the control storage device 4 is generated and used as a CS address. Furthermore, the detection circuit checks whether the same instruction has already been read or whether the next instruction has not been read, and thereby the instruction execution sequence is controlled.

第2図は命令アライナと命令分割取出部の構成の例を示
すブロック図であって、1oは加算器、11はIBPの
値をセットする命令バッファ、12はマルチプレクサ、
13〜16はそれぞれ4バイトのバッファ(インストラ
クションバッファ)、17〜20はそれぞれ該バッファ
に付属する有効性表示フラグを表わしている。
FIG. 2 is a block diagram showing an example of the configuration of an instruction aligner and an instruction division and extraction unit, in which 1o is an adder, 11 is an instruction buffer for setting the value of IBP, 12 is a multiplexer,
13 to 16 each represent a 4-byte buffer (instruction buffer), and 17 to 20 each represent a validity display flag attached to the buffer.

各バッファ13〜16と有効性表示フラグ17〜20は
図に示すように前述の符号の他にそれぞれIBO〜IB
3お!びよりov〜より3vなる記号全村しであるが、
これは以降の説明を容易にするためである。また、各信
号名称については、Mは記憶装置との間の宿号、csは
制御記憶からの信号、OPは命令シーケンス制御部への
信号、BXDはBXD計算部への信号、ADHはADH
計算部への信号、演算は演算部への信号を表わしている
。そして、各信号に付記したIB”tたけ2Bなる表示
はそれらの信号が1バイトあるいは2バイトであること
を表わしている。
As shown in the figure, the buffers 13 to 16 and the validity display flags 17 to 20 are indicated by IBO to IB, respectively, in addition to the above-mentioned codes.
3 Oh! The symbol whole village is 3v from biyori ov to 3v,
This is to facilitate the subsequent explanation. In addition, regarding each signal name, M is the address code between the storage device, cs is the signal from the control memory, OP is the signal to the instruction sequence control unit, BXD is the signal to the BXD calculation unit, and ADH is the signal from the ADH
Signals to the calculation unit and calculation represent signals to the calculation unit. The display IB"t takes 2B appended to each signal indicates that these signals are 1 byte or 2 bytes.

第3図は第2図中のマルチプレクサの構成の例について
より詳細に示す図であって、21.21′ハそれぞれバ
ッファとの間のデータバス、22〜24はマルチプレク
サ回路、25は+1回路、26は+2回路、27f′i
アンド回路を表わしている。
FIG. 3 is a diagram showing in more detail an example of the configuration of the multiplexer in FIG. 2, in which 21 and 21' are data buses connected to respective buffers, 22 to 24 are multiplexer circuits, 25 is a +1 circuit, 26 is +2 circuit, 27f'i
It represents an AND circuit.

第4@はマルチプレクサ回路の実際の構成の例を示す図
で、第3図中のマルチプレクサ回路22(MPXI)の
場合を示している。
The fourth @ is a diagram showing an example of the actual configuration of a multiplexer circuit, and shows the case of the multiplexer circuit 22 (MPXI) in FIG. 3.

第2図において、有効性表示フラグ17〜20が′1″
′であるとき、該尚するそれぞれのバッファの内容が有
効であるとすると、(1)式にニジマルチプレクサから
出力されるデータの有効性が判定できる。
In Figure 2, the validity display flags 17 to 20 are '1''
', and assuming that the contents of the respective buffers are valid, the validity of the data output from the rainbow multiplexer can be determined using equation (1).

IB2v−IB3V+IB2V−*IB3V−(1≦I
BP+IP≦4)十*IB2V−IB3V−(5≦IB
P+IP≦8)・・・・・・・・・・・・・・・・・・
・・・(1)(1)式((おいて、・は論理積、士は論
理和、*は論理否定を表わしており、ま念式中の(1≦
IBP十IP≦4)はIBPの更新値である。
IB2v-IB3V+IB2V-*IB3V-(1≦I
BP+IP≦4) 10*IB2V-IB3V-(5≦IB
P+IP≦8)・・・・・・・・・・・・・・・・・・
...(1) Formula (1) ((, . represents logical product, . represents logical sum, * represents logical negation, and (1≦
IBP+IP≦4) is the updated value of IBP.

有効性表示フラグ17〜20はメモリから対応する命令
バッファ内にデータを読んだときにセットし、対応する
命令バッファ内のデータがマルチプレクサを介して全て
利用されて不要((なったときにリセットする。
Validity display flags 17 to 20 are set when data is read from the memory into the corresponding instruction buffer, and are reset when all the data in the corresponding instruction buffer has been used via the multiplexer and becomes unnecessary ((). .

バッファ13〜16の内バッファ14(IB2)とバッ
ファ16(IB3)がマルチプレクサ12に接続されて
いる。
Of the buffers 13 to 16, buffer 14 (IB2) and buffer 16 (IB3) are connected to multiplexer 12.

各命令バッファへのデータのストアは制御回路部(図に
は表示していない)によって下記のように制御される。
Storing data into each instruction buffer is controlled by a control circuit (not shown) as described below.

すなわち、有効性表示フラグIBOV−また111BI
Vが無効表示であると、記憶装置よりデ−タ′ft、4
バイトフェッチしてくる。(この際のアドレスは命令ア
ドレスレジスタ′と用いる)該7エツチに成功してデー
タが来ると、こ:/’L’に有効性表示フラグが無効表
示であった命令バッファへストアする。このとき、若し
、有効性表示フラグIB2Vが無効になっていると、デ
ータは命令バッファ13(IBO)を通過して、命令バ
ッファ14にストアされ肩効性表示フラグIB2Vが有
効を表示する。
That is, the validity display flag IBOV-also 111BI
If V is an invalid display, data 'ft, 4 is stored from the storage device.
Comes to fetch bites. (The address at this time is used as the instruction address register') When the 7 etch is successful and data arrives, it is stored in the instruction buffer whose validity display flag indicates invalidity at /'L'. At this time, if the validity display flag IB2V is invalid, the data passes through the instruction buffer 13 (IBO) and is stored in the instruction buffer 14, and the validity display flag IB2V indicates validity.

従って、定常状態では常に命令バッファが空になると、
その先のデータを4バイト格納するようにして、4バイ
ト分がプリフェッチされており、古い8バイトがマルチ
プレクサから見えていることになる。
Therefore, in steady state, if the instruction buffer is always empty,
The next 4 bytes of data are stored, 4 bytes are prefetched, and the old 8 bytes are visible to the multiplexer.

ただし、分岐するためプリフェッチしたデータ以外のも
のが必要で釣るときは総ての有効表示フラグ1−無効に
して、新友に記憶装置からデータを4バイトづつ順次7
エツチしてくる。
However, if you need something other than prefetched data for branching, set all the valid display flags to 1-invalid, and send the new friend data from the storage device sequentially by 4 bytes at a time.
Come have sex with me.

命情アドレスレジスタの値は命令7エツチカ成功し、命
令バッファ内に格納されると更新され、有効性表示フラ
グが無効を表示したとき直ちに命令の7エツチが出来る
様準備される。
The value of the instruction address register is updated when the instruction 7 is successfully executed and stored in the instruction buffer, and is ready to be executed immediately when the validity indicator flag indicates invalid.

マルチプレクサに入力される8バイトのデータはIBP
の値と制御記憶からの信号(C8)とによって出力が決
まる。すなわち、よりP。
The 8-byte data input to the multiplexer is IBP
The output is determined by the value of and the signal (C8) from the control memory. That is, more P.

値に相当する位置のバイトが02部として命令シーケン
ス制御部へ行き、続く2バイト分の位置のデータが出力
される。この2バイトの出力は、たれ流し信号(必要の
ないときも流れている)で、BXD% ADH%演算部
へ行っており、別途与えられる設定信号で目的部ヘセッ
トシている。(02部への信号も同様にたれ流し信号で
ある。) 以下、実際の命令が本発明の方式でどのように処理され
るかについて具体的に説明する。
The byte at the position corresponding to the value goes to the instruction sequence control unit as part 02, and the data at the following two bytes are output. This 2-byte output is a flow signal (flowing even when not needed) and is sent to the BXD% ADH% calculation section, and is set to the destination section using a separately given setting signal. (The signal to section 02 is also a feed signal.) Hereinafter, how an actual command is processed by the method of the present invention will be specifically explained.

第5図は命令の形式を示す図で(a)は命令1(5バイ
ト)ヲ、(b)は命令2(3バイト)ヲ示しており、O
Pは命令コード、BXDは記憶装置のアドレス情報、R
1、R*はレジスタ番号、Mはマスク情報、ADHはア
ドレス情報を表わしている。
FIG. 5 is a diagram showing the format of instructions; (a) shows instruction 1 (5 bytes), (b) shows instruction 2 (3 bytes), and O
P is the instruction code, BXD is the address information of the storage device, R
1, R* represents a register number, M represents mask information, and ADH represents address information.

例えば、第5図に示す命令1が、&、Rvで示される汎
用レジスタの内容を演算して、BXDで示される記憶装
置のアドレスに格納する命令であり、また、命令2がM
で示されるマスク情報と演算部の条件コードレジスタの
内容とを比較して、一致したら、この命令のアドレス値
に、ADRの値を加算して得られる値のアドレスに分岐
する命令であって、命令1と命令2が連続して処理され
る場合についてのタイムチャートを第7図に示す。また
、該タイムチャートにおける命令アライナ(バッファ)
の出力についての形式を第6図に示す。
For example, instruction 1 shown in FIG. 5 is an instruction to calculate the contents of general-purpose registers indicated by &, Rv, and store it at an address of a storage device indicated by BXD, and instruction 2 is an instruction to operate the contents of general-purpose registers indicated by
An instruction that compares the mask information indicated by and the contents of the condition code register of the arithmetic unit, and if they match, branches to the address of the value obtained by adding the value of ADR to the address value of this instruction, FIG. 7 shows a time chart for the case where instruction 1 and instruction 2 are processed successively. In addition, the instruction aligner (buffer) in the time chart
The format of the output is shown in FIG.

第7図に示したサイクル1〜7について以下、J[次各
動作について説明する。
Regarding cycles 1 to 7 shown in FIG. 7, the following operations will be described below.

「サイクル1」 ・IBPが′0#でC8が0″であり、バッファ(IB
2)に命令1のOP、BXD、R1がそしてバッファ(
IB3)に命令1のR2と命令2がセットされている。
"Cycle 1" ・IBP is '0#, C8 is 0'', and the buffer (IB
2), OP, BXD, R1 of instruction 1 and buffer (
R2 of instruction 1 and instruction 2 are set in IB3).

・第6図に示す命令アライナの出力O*(1)くイト)
が命令シーケンス制御部へ、1*および2*が出力され
、よりPの更新値は3になる。
・Output of the instruction aligner shown in Figure 6 (O*(1) output)
1* and 2* are output to the instruction sequence control unit, and the updated value of P becomes 3.

「サイクル2」 ・IBPが13”でC8は11”であり、故に3*と4
*が出力され、IBPの更新値は2である。
“Cycle 2” ・IBP is 13” and C8 is 11”, so 3* and 4
* is output, and the updated value of IBP is 2.

・この段階で前述の論理式が成立して、より2Vは無効
表示となり、IBOの内容がIB2にセットされる。
- At this stage, the above-mentioned logical formula is established, 2V is displayed as invalid, and the contents of IBO are set to IB2.

「サイクル3」 ・IBPが@5”でCSがIO”で0*、すなわち、命
令2の02部が命令シーケンス制御部へ送。
“Cycle 3” - IBP is @5” and CS is IO” and 0*, that is, part 02 of instruction 2 is sent to the instruction sequence control unit.

られ、また、■も出力されている。and ■ is also output.

「サイクル4」 ・IBP更新値は′2”であシ、従ってIBPは′7”
となる。7*とO*が出力されている。
“Cycle 4” - IBP update value is '2', therefore IBP is '7'
becomes. 7* and O* are output.

・Mの転送が行なわれる。- Transfer of M is performed.

「サイクル5」 ・IBPは更新値が2″となる。よってIBPは“1″
′とな9次の命令を出力していることべなる。
"Cycle 5" - The updated value of IBP is 2". Therefore, IBP is "1"
′ means that the 9th order instruction is output.

@ADH計算が行なわれる。@ADH calculation is performed.

「サイクル6」 ・IBPは更新されて′0#になる。これにより後続の
命令の先頭を指す。(以後前述の処理と同様の動作が繰
り返されることになるが、ここでは省略している)Mと
条件コードの比較結果が一致したら変換アドレス先へ分
岐する指示がC8から読み出される。
"Cycle 6" - IBP is updated to '0#'. This points to the beginning of the subsequent instruction. (The same operations as those described above will be repeated thereafter, but are omitted here.) If the comparison result between M and the condition code matches, an instruction to branch to the destination of the converted address is read from C8.

・アドレス変換、Mと条件コードとの比較が行なわれる
。(ここでは一致したものとしている) 「サイクル7」 ・比較結果が一致したので分岐する。
- Address translation and comparison of M and condition code are performed. (Here, it is assumed that there is a match.) "Cycle 7" - Branches because the comparison results match.

以上説明したように、本実施例の方式によれば、4バイ
ト単位でデータが準備されていれば、命令1の如き5バ
イト命令の前半からでも実行が可能となる。
As explained above, according to the method of this embodiment, if data is prepared in units of 4 bytes, it is possible to execute even the first half of a 5-byte instruction such as instruction 1.

以上説明した一連の処理においては命令が記憶装置から
滞り無く読み出されるものとして述べているが、若し何
らかの要因により、処理の開始までにデータが揃わない
とき(例えば命令1の4*に相当するR8の部分が未だ
読めていない状態でサイクル1が開始したとき)でも、
本発明の方式では一命令のすべてが揃っていなくてもデ
ータの存在する所から処理を開始することが出来る。そ
して、このサイクル中に4*が読まれてさえいれば命令
の実行は滞りなく進行する。しかし、サイクル2までに
読まれていない時はす゛イクル2は実行を待たされる。
In the series of processing described above, it is assumed that the instructions are read out from the storage device without any delay. However, if for some reason the data is not available by the time the processing starts (for example, the data corresponding to 4* of instruction 1) (When cycle 1 starts with part R8 not yet read),
In the method of the present invention, processing can be started from a location where data exists even if all of one instruction is not available. As long as 4* is read during this cycle, the instruction execution will proceed without any hitch. However, if it is not read by cycle 2, cycle 2 is forced to wait for execution.

一方、命令2が読まれていないとサイクル3の命令2に
関する部分は実行されず命令1だけが独立して実行され
る。
On the other hand, if instruction 2 has not been read, the portion of cycle 3 related to instruction 2 will not be executed, and only instruction 1 will be executed independently.

次に仮想記憶方式と本発明との関係について説明する。Next, the relationship between the virtual storage system and the present invention will be explained.

例えば、上述の命令1の4*が次のページに存在すると
き、この4*が読めるためには、4*を含むページが実
記憶上に存在すると共に、その実アドレスが解っていな
ければならない。従って、この条件が整っていないとき
は、本来の処理を一時中断して、4*を読み込める様に
してから処理が再開される。このとき、本方式の場合、
既に読み込まれている0*〜3*については処理が先行
しているので、第4図のサイクル1までは完了する。こ
のときに4*。
For example, when 4* of the above-mentioned instruction 1 exists on the next page, in order to read this 4*, the page containing 4* must exist in real memory and its real address must be known. Therefore, if this condition is not met, the original processing is temporarily interrupted and the processing is restarted after making it possible to read 4*. At this time, in the case of this method,
Since the processes for 0* to 3* that have already been read are carried out in advance, up to cycle 1 in FIG. 4 is completed. 4* at this time.

が次ページであることが検出されると、条件を整える処
理に移行するために、この時点での内部状態を退避し、
その後、条件を整えるための処理を行なってから、退避
していた内部状態を復元してサイクル2から再開する。
When it is detected that is the next page, the internal state at this point is saved in order to move on to the process of adjusting the conditions.
Thereafter, after performing processing to adjust the conditions, the saved internal state is restored and restarted from cycle 2.

この処理によれば、仮想記憶の2ページが同時に実記憶
に存在しなくても、命令の処理が実行出来る。また、こ
のとき、前述したように、実行するまでのサイクルに間
に合う様に読みこまれてさえいれば、−命令のすべてを
揃えなくても命令の実行が可能である。
According to this process, an instruction can be processed even if two pages of virtual memory do not exist in real memory at the same time. In addition, at this time, as described above, as long as the instructions are read in time for the execution cycle, the instructions can be executed without having to prepare all of the - instructions.

また、本発明の方式においては命令形式の拡張が容易に
行なえると言う特徴がある。すなわち、従来の様な命令
のすべてが揃ってから実行する方式では、揃えた命令を
一定の同期したシーケンスで処理するために、特定の規
約に従った命令形式とすることが要求される。そのため
これに従わない形式を持つ命令を採用することは論理が
煩雑となるから実現が著しく困難であったが、本発明の
方式では、このようなとき柔軟に対応出来る。例えば、
第5図(a)に示す命令1のような形式の命令におい乙
 BXDとR1R8との順を逆にしたような命令や、第
5図(′0)に示す命令2のような形式の命令において
、マスク情報Mの部分を倍に拡張(2バイト分)した命
令が必要なとき、本発明の方式では単に制御記憶装置の
同容を書き替えるのみで実現することが出来る。また、
上記以外に、命令長やオペランドの数の変更などにも容
易に対応することが出来る。
Furthermore, the system of the present invention has the feature that the instruction format can be easily expanded. That is, in the conventional method of executing instructions after all the instructions have been prepared, in order to process the instructions in a certain synchronized sequence, it is required that the instructions be formatted in accordance with a specific convention. Therefore, it has been extremely difficult to implement an instruction having a format that does not follow this because the logic becomes complicated, but the system of the present invention can flexibly deal with such situations. for example,
An instruction in the format of instruction 1 shown in FIG. 5(a), an instruction in which the order of BXD and R1R8 is reversed, or an instruction in the format of instruction 2 shown in FIG. 5('0) When an instruction in which the mask information M part is doubled (to 2 bytes) is required, the system of the present invention can be implemented by simply rewriting the same content in the control storage device. Also,
In addition to the above, changes in instruction length and number of operands can be easily accommodated.

〔発明の効果〕〔Effect of the invention〕

以上、畦細に説明したように、本発明の方式によれば、
r!′J潔な制御により高速な処理?期待することの出
来るパイプライン方式の情報処理装置を、少ないハード
ウェア量で容易に実現することが出来るから効果は大で
ある。
As explained above in detail, according to the method of the present invention,
r! 'J High-speed processing due to clean control? The effect is great because a promising pipeline information processing device can be easily realized with a small amount of hardware.

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

第1図は本発明の1実施例のブロック図、第2図は命令
アライナと命令分割取出部の構成の例を示すプロ、り図
、第3図はマルチプレクサの構成の例を示す図、第4図
はマルチプレクサ回路の実際の構成の例を示す図、第5
図は命令の形式を示す図、第6図は命令アライナの出力
についての形式を示す図、第7図はタイムチャートであ
る。 1・・・・・・記憶装置、  2・・・・・・命令アラ
イナ、3・・・・・・命令シーケンス制御部、  4・
・・・・・制御記憶装置、  5・・・・・・命令分割
取出部、  6・・・・・・BXD計算部、  7・・
・・・・ADR計算部、  8・・・・・・アドレス変
換部、  9・・・・・・演算部、10・・・・・・加
算器、  11・・・・・・IBPの値をセ、卜するレ
ジスタ、  12・・・・・・マルチプレクサ、  1
3〜16・・・・・・バッファ、  17〜20・・・
・・・有効性表示フラグ、21.21′・・・・・・デ
ータバス、22〜24・・・・・・マルチプレクサ回路
、  25・・・・・・+1回路、26・・・・・・+
2回路、  27・・・・・・アンド回路(、−1,’
1.1 第 7 図 第 2 図 第 3 目 第 4 図 第5 図 (cL) (b) 第 6 オ
FIG. 1 is a block diagram of one embodiment of the present invention, FIG. 2 is a block diagram showing an example of the configuration of an instruction aligner and an instruction division/extraction unit, and FIG. 3 is a diagram showing an example of the configuration of a multiplexer. Figure 4 shows an example of the actual configuration of a multiplexer circuit.
6 is a diagram showing the format of the command, FIG. 6 is a diagram showing the format of the output of the command aligner, and FIG. 7 is a time chart. 1...Storage device, 2...Instruction aligner, 3...Instruction sequence control unit, 4.
... Control storage device, 5 ... Instruction division fetching section, 6 ... BXD calculation section, 7 ...
...ADR calculation unit, 8...Address conversion unit, 9...Arithmetic unit, 10...Adder, 11...IBP value 12...Multiplexer 1
3~16...Buffer, 17~20...
...Validity display flag, 21.21'...Data bus, 22-24...Multiplexer circuit, 25...+1 circuit, 26... +
2 circuits, 27...AND circuits (,-1,'
1.1 Fig. 7 Fig. 2 Fig. 3 Fig. 4 Fig. 5 (cL) (b) Fig. 6

Claims (1)

【特許請求の範囲】[Claims] 命令の実行に係る処理をパイプライン方式により行なう
如く構成された情報処理装置において、1命令中から分
割して取り出すベき部分の先頭位置のアドレス値を保持
するレジスタと、該レジスタの内容と制御部より与えら
れた値とを加算してその結果を該レジスタに格納する手
段と、記憶装置より読み出した命令を該レジスタの値を
用いて分割して取り出す手段と、命令の実行に際して該
命令の実行に必要な全要素が記憶装置より読み出されて
いるか否かを検出する手段とを設け、記憶装置より読み
出した命令をその時点で実行するのに必要な部分に分割
して処理すると共に、命令の実行に必要な全要素が記憶
装置より読み出されているか否かによって命令実行のシ
ーケンスを変更することを特徴とする命令分割処理方式
In an information processing device configured to perform processing related to instruction execution using a pipeline method, there is a register that holds the address value of the starting position of a part that should be divided and extracted from one instruction, and the contents and control of the register. means for adding the value given by the register and storing the result in the register; means for dividing and retrieving the instruction read from the storage device using the value of the register; means for detecting whether all the elements necessary for execution have been read from the storage device, and processing the instruction by dividing it into parts necessary for execution at that time; An instruction division processing method characterized in that the instruction execution sequence is changed depending on whether all elements necessary for executing the instruction have been read from a storage device.
JP3909385A 1985-02-28 1985-02-28 Instruction division processing system Pending JPS61198334A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3909385A JPS61198334A (en) 1985-02-28 1985-02-28 Instruction division processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3909385A JPS61198334A (en) 1985-02-28 1985-02-28 Instruction division processing system

Publications (1)

Publication Number Publication Date
JPS61198334A true JPS61198334A (en) 1986-09-02

Family

ID=12543461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3909385A Pending JPS61198334A (en) 1985-02-28 1985-02-28 Instruction division processing system

Country Status (1)

Country Link
JP (1) JPS61198334A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02103634A (en) * 1988-10-13 1990-04-16 Nec Corp Instruction control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02103634A (en) * 1988-10-13 1990-04-16 Nec Corp Instruction control system

Similar Documents

Publication Publication Date Title
EP0239081B1 (en) Pipelined data processor capable of decoding and executing plural instructions in parallel
JP2992223B2 (en) Computer system, instruction bit length compression method, instruction generation method, and computer system operation method
JP2539974B2 (en) Register read control method in information processing apparatus
EP0438961A2 (en) Hardware data string operation controller
JPH06236268A (en) Apparatus and method for judgment of length of instruction
JPH0371337A (en) Microprocessor circuit
US5313644A (en) System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word
JP3137117B2 (en) High-speed processing computer
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US4924377A (en) Pipelined instruction processor capable of reading dependent operands in parallel
JP2690406B2 (en) Processor and data processing system
JPS61198334A (en) Instruction division processing system
JPS6160459B2 (en)
JP3490007B2 (en) Command control device
JPS6398737A (en) Data processor
JP2828611B2 (en) Computer system and instruction execution method
JPH07110769A (en) Vliw type computer
JP2586155B2 (en) Logic simulator
JPH0816392A (en) Computer system, computer-system operating method and computer-instruction-sequence execution method
JPS5995646A (en) Arithmetic control system
JPS58195255A (en) Data processing device
JPS63163634A (en) Instruction fetch system
JPS62256135A (en) Processing system for translation test instruction
JPS6354632A (en) Instruction reading out and controlling system for electronic computer
JPS60179844A (en) Instruction rereading control system