JPH05342014A - Data processing control method - Google Patents
Data processing control methodInfo
- Publication number
- JPH05342014A JPH05342014A JP4150226A JP15022692A JPH05342014A JP H05342014 A JPH05342014 A JP H05342014A JP 4150226 A JP4150226 A JP 4150226A JP 15022692 A JP15022692 A JP 15022692A JP H05342014 A JPH05342014 A JP H05342014A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- entry
- address
- bit
- field
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】 オペランドアクセスシーケンサにおいてPL
Aのフィールドの使用を最小限にするとともに割り込み
の起こり得ないエントリに対しその制御を削除し、可能
性のある割り込みのみに限定した後割り込みによる切り
換え制御を行う。
【構成】 割り込み許可を示す1ビットのフィールド2
7を備え、また、エントリアドレス内の1ビットは割り
込み可能を示すエントリのビット情報26を兼ねる。割
り込み条件の判断や割り込み先のアドレスの決定はハー
ドウエアにより行い、割り込み許可を示す1ビットのフ
ィールド27がオンのときのみ割り込みを許可する。
(57) [Summary] [Purpose] PL in operand access sequencer
The use of the field of A is minimized, the control is deleted for the entry in which the interrupt cannot occur, and the switching control by the interrupt is performed after limiting the interrupt to the possible interrupt. [Structure] 1-bit field 2 indicating interrupt enable
7, and 1 bit in the entry address also serves as the bit information 26 of the entry indicating that interrupt is possible. The determination of the interrupt condition and the address of the interrupt destination are performed by hardware, and the interrupt is permitted only when the 1-bit field 27 indicating the interrupt permission is on.
Description
【0001】[0001]
【産業上の利用分野】この発明は、例えば、オペランド
アクセス段階をパイプライン制御の1ステージとして制
御するマイクロプロセッサのオペランドアクセス制御手
順に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor operand access control procedure for controlling an operand access stage as one stage of pipeline control.
【0002】[0002]
【従来の技術】図7は、オペランドアクセスシーケンサ
に対する入出力を示した例である。図において、1はオ
ペランドアクセスシーケンサに入力するリクエスト、2
はProgram Logic Array(以下PL
Aと略す)を用いた従来のオペランドアクセスシーケン
サ、3はオペランドアクセスシーケンサ2から出力され
る実行内容である。2. Description of the Related Art FIG. 7 shows an example of input / output to / from an operand access sequencer. In the figure, 1 is a request input to the operand access sequencer, 2
Is a Program Logic Array (hereinafter PL
A conventional operand access sequencer 3 using A) is the execution content output from the operand access sequencer 2.
【0003】図8は、従来のオペランドアクセスシーケ
ンサをPLAを用いて実現したときのPLAビットフィ
ールド例を示す。図において、4はエントリアドレスの
上位5ビット、5はエントリアドレスの下位3ビット、
6はシーケンサの終了条件成立時にシーケンサを終了状
態にするシーケンスフィールド、7はフェッチやストア
などのアクセスの内容を指示するアクセスフィールド、
8はアドレス変換時、変換索引緩衝機構(Transl
ation Lookaside Buffer:以下
TLBという)アクセス時、キャッシュアクセス時にペ
ージクロスが発生した場合の後半のページアドレスの演
算を指示するオペランドアドレス演算フィールド、9は
キャッシュや外部メモリからデータをアクセスすること
を指示するデータフィールド、10は割り込み条件を示
す割り込み条件フィールド、11は割り込み条件が成立
した時の飛び先エントリアドレスの上位5ビットを示す
割り込み先フィールドである。FIG. 8 shows an example of a PLA bit field when a conventional operand access sequencer is implemented using PLA. In the figure, 4 is the upper 5 bits of the entry address, 5 is the lower 3 bits of the entry address,
6 is a sequence field that sets the sequencer to an end state when the sequencer end condition is satisfied, 7 is an access field that indicates the contents of access such as fetch and store,
8 is a translation index buffer mechanism (Transl) at the time of address translation.
(Operation Lookaside Buffer: hereinafter referred to as "TLB") Operand address operation field for instructing the operation of the second half page address when a page cross occurs during cache access, 9 indicates access to data from cache or external memory The data field 10 is an interrupt condition field indicating an interrupt condition, and 11 is an interrupt destination field indicating the upper 5 bits of the jump destination entry address when the interrupt condition is satisfied.
【0004】図9は、本例によるオペランドアクセスシ
ーケンサに関わる周辺のハードウェア構成を簡略的に示
したものである。12は主記憶、13はアドレス変換お
よびTLB、14はラインバッファ、15はキャッシ
ュ、16はオペランドアドレスを生成する回路、17は
仮想オペランドアドレス、18はラインバッファのタグ
アドレスと比較する論理オペランドアドレス、19はキ
ャッシュのタグアドレスと比較する論理オペランドアド
レス、20〜21はオペランドデータの流れを示す。FIG. 9 schematically shows a peripheral hardware configuration related to the operand access sequencer according to this embodiment. 12 is a main memory, 13 is address translation and TLB, 14 is a line buffer, 15 is a cache, 16 is a circuit for generating an operand address, 17 is a virtual operand address, 18 is a logical operand address to be compared with the tag address of the line buffer, Reference numeral 19 indicates a logical operand address to be compared with the tag address of the cache, and 20 to 21 indicate the flow of operand data.
【0005】図10は、図9で示したハードウェア構成
に基づき、図8で示したPLAのフィールド内容に従っ
て動作する一例であり実行されるステップのみを抽出
し、状態遷移として示したものである。22はフェッチ
のエントリ、23はキャッシュがページクロスした時の
エントリ、24は前半のページが後続の命令アクセスに
よってラインバッファヒットした時のエントリ、25は
後半のページが後続の命令アクセスによってラインバッ
ファヒットした時のエントリである。FIG. 10 is an example of operating according to the field contents of the PLA shown in FIG. 8 based on the hardware configuration shown in FIG. 9. Only the steps to be executed are extracted and shown as state transitions. .. 22 is a fetch entry, 23 is an entry when the cache page crosses, 24 is an entry when the first half page is line buffer hit by a subsequent instruction access, and 25 is a second half page is a line buffer hit by a subsequent instruction access. It is an entry when I did.
【0006】次にオペランドアクセスシーケンサの動作
を説明するに当たりその周辺動作について記述する。図
9において、命令のオペランドアドレスは、オペランド
アドレス生成回路16によって仮想アドレス17として
生成され、そのアドレスは、アドレス変換およびTLB
13によって論理アドレスに変換される。論理アドレス
は、ラインバッファ14内のタグアドレスと比較18を
行い、一致するとラインバッファヒットとなる。また論
理アドレスは、キャッシュ15内のタグアドレスと比較
19を行い、一致するとキャッシュヒットとなる。キャ
ッシュミス時には主記憶12よりオペランドデータの転
送20がラインバッファに対して行われ、ラインバッフ
ァ登録後ラインバッファからキャッシュにデータの転送
21が行われる。ラインバッファヒット時には必ずライ
ンバッファからキャッシュへのデータ転送中でありデー
タ転送完了を待ってあらためてラインバッファとキャッ
シュをアクセスする。Next, in describing the operation of the operand access sequencer, its peripheral operation will be described. In FIG. 9, the operand address of the instruction is generated as a virtual address 17 by the operand address generation circuit 16, and the address is used for address translation and TLB.
13 is converted into a logical address. The logical address is compared 18 with the tag address in the line buffer 14, and if they match, a line buffer hit occurs. Further, the logical address is compared 19 with the tag address in the cache 15, and if they match, a cache hit occurs. When a cache miss occurs, transfer 20 of operand data from the main memory 12 is performed to the line buffer, and after registering the line buffer, data transfer 21 is performed from the line buffer to the cache. When the line buffer hits, the data is being transferred from the line buffer to the cache, and the line buffer and the cache are accessed again after waiting for the completion of the data transfer.
【0007】次に動作の一例について説明する。図7お
よび図8においてオペランドアクセスシーケンサ2はリ
クエスト1の入力により動作を開始する。オペランドア
クセスシーケンサはリクエストを受け付けるとそのリク
エストに応じたPLAのエントリアドレスの上位5ビッ
ト4を生成し、そのアドレスに下位3ビット5を付加し
た8ビットのエントリアドレスによってPLAのフィー
ルド内容6〜9に従って実行する。そのエントリ実行後
ページクロス、ラインバッファヒット等のエントリアド
レスの割り込み条件が成立すると割り込み先フィールド
11の飛び先番地に従い、エントリアドレス4を切り換
えて次の実行に移る。また、割り込み条件が不成立でし
かも終了条件が成立しないときはエントリアドレスは1
インクリメントされて次の実行に移る。Next, an example of the operation will be described. In FIG. 7 and FIG. 8, the operand access sequencer 2 starts its operation when the request 1 is input. When the operand access sequencer receives the request, it generates the upper 5 bits 4 of the PLA entry address corresponding to the request, and according to the field contents 6 to 9 of the PLA by the 8-bit entry address in which the lower 3 bits 5 are added to the address. Run. When an entry address interrupt condition such as page cross or line buffer hit is satisfied after the entry is executed, the entry address 4 is switched according to the jump destination address of the interrupt destination field 11 and the next execution is performed. If the interrupt condition is not satisfied and the end condition is not satisfied, the entry address is 1
It is incremented and moves to the next execution.
【0008】以下実行手順の一例として図10を用いて
説明する。オペランドアクセスシーケンサが受け付けた
リクエストがフェッチでありかつキャッシュのページク
ロスの時、PLAのエントリアドレスはまずフェッチの
エントリ22を示す。このエントリの第一ステップには
キャッシュのページクロス時(割り込み条件成立時)に
キャッシュのページクロスフェッチのエントリ23にエ
ントリアドレスを移す指定が割り込み条件フィールド1
0および割り込み先フィールド11によってされている
ので、第一ステップ終了後キャッシュのページクロスフ
ェッチのエントリ23に実行が移る。そして、後続の命
令のリクエストがラインバッファヒットとすると、この
エントリ23の第二ステップでその割り込み条件が成立
し、ラインバッファヒットのエントリ24にエントリア
ドレスを移す指定が割り込み条件フィールド10および
割り込み先フィールド11によってさかれているので、
ラインバッファヒットのエントリ24に実行が移る。さ
らに、このエントリ24の第二ステップでは割り込み条
件が成立したときにエントリを移す指定がされている
が、ここでその条件が成立しなかったものとすれば、エ
ントリ24の第二ステップからエントリ25には実行が
移らず、エントリ24の第三ステップを実行することに
なる。An example of the execution procedure will be described below with reference to FIG. When the request accepted by the operand access sequencer is a fetch and cache page cross, the PLA entry address first indicates the fetch entry 22. In the first step of this entry, it is necessary to move the entry address to the entry 23 of the cache page cross fetch when the cache page cross occurs (when the interrupt condition is satisfied).
Since 0 and the interrupt destination field 11 are set, the execution shifts to the entry 23 of the page cross fetch of the cache after the end of the first step. If the subsequent instruction request is a line buffer hit, the interrupt condition is satisfied in the second step of this entry 23, and the designation of moving the entry address to the entry 24 of the line buffer hit is the interrupt condition field 10 and the interrupt destination field. Being touched by 11,
Execution moves to the entry 24 of the line buffer hit. Further, in the second step of the entry 24, the entry is designated to be moved when the interrupt condition is satisfied. However, if the condition is not satisfied here, the entry from the second step of the entry 24 to the entry 25 is performed. Execution does not shift to step 3, and the third step of entry 24 is executed.
【0009】[0009]
【発明が解決しようとする課題】上記に示したような従
来の構成および制御手順では、割り込みエントリのアド
レスは割り込み先フィールド11により指定されるの
で、割り込みによる飛び先番地は、全てのエントリの先
頭アドレスを示すことが可能である。しかし、オペラン
ドアクセスシーケンサの割り込みによる飛び先番地は、
通常数種類に限られており、また割り込みが生じるエン
トリのステップも限られている。言い換えると、全ての
エントリの先頭アドレスを示せたり、全てのステップに
対して割り込みが生じるように生成されたフィールド構
成や、論理構成は必ずしも必要としない。たとえば、図
8において、ステップA〜Iは割り込みが生じる可能性
があるステップであるが、その他のステップは割り込み
条件フィールド10と割り込み先フィールド11のすべ
てのビットがゼロになっており使用していない無駄な領
域である。In the conventional configuration and control procedure as described above, since the address of the interrupt entry is specified by the interrupt destination field 11, the jump destination address due to the interrupt is the head of all entries. It is possible to indicate the address. However, the jump destination address due to the interrupt of the operand access sequencer is
Usually, it is limited to several types, and the entry steps in which an interrupt occurs are also limited. In other words, it is not always necessary to indicate the head addresses of all entries, or to generate fields to generate interrupts for all steps or to have a logical structure. For example, in FIG. 8, steps A to I are steps in which an interrupt may occur, but other steps are not used because all bits in the interrupt condition field 10 and the interrupt destination field 11 are zero. This is a wasted area.
【0010】この発明は、このような問題を解決するた
めになされたもので、PLAのフィールドの使用を効率
よくするとともに割り込みの起こり得ないエントリに対
しその制御を削除するとともに、可能性のある割り込み
を限定した制御を行うデータ処理制御方式を得ることを
目的とする。The present invention has been made in order to solve such a problem and makes it possible to efficiently use the PLA field and delete the control of an entry in which an interrupt cannot occur. It is an object to obtain a data processing control method for controlling interrupts only.
【0011】[0011]
【課題を解決するための手段】第1の発明によるデータ
処理制御方式は、たとえば、従来のPLAの割り込み条
件フィールド及び割り込み先フィールドのかわりに、割
り込み許可を示す1ビットのフィールドを備えるように
したものであり、以下の要素を有するものである。
(a)データを処理するために実行される複数のステッ
プ、(b)上記ステップに対応して設けられ、各ステッ
プから他のステップへの分岐の可否を示す許可ビット、
(c)上記許可ビットに基づいて、ステップの分岐を制
御する制御手段。In the data processing control system according to the first invention, for example, a 1-bit field indicating an interrupt permission is provided in place of the interrupt condition field and the interrupt destination field of the conventional PLA. It has the following elements.
(A) a plurality of steps executed for processing the data; (b) a permission bit provided corresponding to the above steps and indicating whether or not each step can branch to another step;
(C) Control means for controlling the branch of the step based on the permission bit.
【0012】第2の発明によるデータ処理制御方式は、
たとえば、エントリアドレスの1ビットをそのエントリ
への割り込み可否を示すエントリのビット情報と兼ねる
ようにしたものであり、データを処理するために実行さ
れる複数のステップを備えたデータ処理制御方式におい
て、そのステップが存在するアドレスの少なくとも1ビ
ットをそのステップが他のステップから分岐可能である
かを示す分岐可能ビットとして用いることを特徴とす
る。A data processing control system according to the second invention is
For example, one bit of an entry address is also used as the bit information of the entry indicating whether or not the entry can be interrupted, and in a data processing control system including a plurality of steps executed to process data, It is characterized in that at least one bit of the address at which the step exists is used as a branchable bit indicating whether the step can branch from another step.
【0013】[0013]
【作用】第1の発明においては、割り込みの切り換え専
用に設けたビットが、従来が割り込み条件フィールド及
び割り込み先フィールドの両方であるのに対して、許可
ビットの1ビットのみである。したがって、無駄な領域
を最小限におさえることができる。従来の割り込み条件
フィールド及び割り込み先フィールドを用いた割り込み
の判断は、本発明ではハードウェア等の制御手段で行な
い、許可ビットがたっている場合にこのハードウェア等
の制御手段で判断された割り込みを許可するようにす
る。In the first aspect of the present invention, the bit provided only for interrupt switching is conventionally only the interrupt condition field and the interrupt destination field, but only one bit is the enable bit. Therefore, a useless area can be minimized. In the present invention, the interrupt determination using the conventional interrupt condition field and interrupt destination field is performed by the control means such as hardware in the present invention, and when the permission bit is set, the interrupt determined by the control means such as hardware is permitted. To do it.
【0014】また、第2の発明においては、アドレスの
所定のビットを分岐可能ビットとし、その分岐可能ビッ
トがたっているアドレスを割り込みによって分岐する先
のアドレスとしたので、割り込みにより分岐してくるエ
ントリをあらかじめ限定でき、割り込み先のエントリ生
成に必要な回路の論理量を削減できる。Further, in the second invention, the predetermined bit of the address is set as the branchable bit, and the address at which the branchable bit is set is set as the destination address of the branch by the interrupt. Can be limited in advance, and the logical amount of the circuit required for generating the entry of the interrupt destination can be reduced.
【0015】[0015]
実施例1.図1は、本発明の一実施例によるオペランド
アクセスシーケンサをPLAを用いて実現したときのP
LAビットフィールド例を示す。図において、4〜9は
上記で示した従来例と同一である。26はエントリアド
レスの最上位ビットを示すとともに割り込みエントリ許
可時にそのステップが他のステップから割り込まれるこ
とが可能であることを示す割り込み可能ビット(1=可
能,0=不可)を示す。27はそのエントリが他のエン
トリへ割り込みを発生してよいかというエントリの切り
換え許可を示す割り込み許可ビット(1=許可,0=不
可)を示す。Example 1. FIG. 1 shows a P when an operand access sequencer according to an embodiment of the present invention is realized by using a PLA.
An example of an LA bit field is shown. In the figure, 4 to 9 are the same as the conventional example shown above. Reference numeral 26 denotes an uppermost bit of the entry address and an interrupt enable bit (1 = enabled, 0 = disabled) indicating that the step can be interrupted by another step when the interrupt entry is enabled. Reference numeral 27 denotes an interrupt permission bit (1 = permitted, 0 = impossible) which indicates permission for switching the entry whether the entry may interrupt another entry.
【0016】また、従来例で示した割り込み条件フィー
ルドおよび割り込み先フィールドに該当する処理はこの
実施例ではハードウェアによって行うものと仮定する。
したがって、従来例で示した割り込み条件フィールドお
よび割り込み先フィールは、図1には存在していない。
また、本実施例による入出力は、上記従来例で示した図
7と同一とし、オペランドアクセスシーケンサの周辺の
構成は、上記従来例で示した図10と同一とする。Further, it is assumed that the processing corresponding to the interrupt condition field and the interrupt destination field shown in the conventional example is performed by hardware in this embodiment.
Therefore, the interrupt condition field and interrupt destination field shown in the conventional example do not exist in FIG.
Further, the input / output according to the present embodiment is the same as that in FIG. 7 shown in the above-mentioned conventional example, and the peripheral configuration of the operand access sequencer is the same as that in FIG. 10 shown in the above-mentioned conventional example.
【0017】オペランドアクセスシーケンサに従来例と
同様のリクエストがあったものとしてその手順を図2を
用いて説明する。The procedure will be described with reference to FIG. 2 assuming that the operand access sequencer has made a request similar to the conventional example.
【0018】シーケンサが受け付けたリクエストがフェ
ッチでありかつキャッシュのページクロスの時、PLA
のエントリアドレスはまずフェッチのエントリ28を示
す。このエントリ28の第一ステップは割り込み許可ビ
ット27が示すように割り込み条件成立時に割り込み可
能である。しかし全てのエントリからの割り込みが可能
なわけではなく、割り込みを許可するエントリは割り込
み可能ビット26により示されるエントリに限定されて
いる。When the request accepted by the sequencer is a fetch and the cache page crosses, the PLA
The entry address of indicates the fetch entry 28. The first step of this entry 28 can be interrupted when the interrupt condition is satisfied as indicated by the interrupt permission bit 27. However, not all entries can be interrupted, and the entries that permit interrupts are limited to the entries indicated by the interrupt enable bit 26.
【0019】即ち、図1においてXの部分で示されるエ
ントリは割り込み可能ビット26が0であるので、この
部分は、はじめに入るエントリアドレスになり得る部分
である。別な言葉で言い換えれば、割り込みにより分岐
してくるアドレスでは無いことを示している。同様に、
図1のYの部分で示される部分は割り込み可能ビット2
6が1であるので、割り込みにより分岐してくる可能性
のあるアドレスを示している。別な言葉で言い換えれ
ば、はじめに実行されるエントリではない部分を示して
いるものである。That is, since the interrupt enable bit 26 of the entry indicated by X in FIG. 1 is 0, this part is a part that can be an entry address to enter at the beginning. In other words, it means that the address is not branched by an interrupt. Similarly,
The part indicated by Y in FIG. 1 is an interrupt enable bit 2
Since 6 is 1, it indicates an address that may possibly branch due to an interrupt. In other words, it indicates the part that is not the first entry executed.
【0020】キャッシュのページクロスのエントリ29
は割り込みが可能なエントリであるので、キャッシュの
ページクロスが起きるとエントリ28の第一ステップ終
後、キャッシュのページクロスフェッチのエントリ29
に実行が移る。そして、後続の命令のリクエストがライ
ンバッファヒットすると、このエントリ29の第二ステ
ップでの割り込み許可ビットおよびラインバッファヒッ
トの割り込み可能ビットにより第二ステップ終了後、ラ
インバッファヒットのエントリ30に実行が移る。さら
に、このエントリ30の第二ステップでは割り込み許可
ビットにより、割り込み可能ビット26で示すエントリ
への割り込みを発生できるが、ここでは割り込み条件が
成立しなかったものとすると、エントリ31には移ら
ず、エントリ30の第三ステップを実行する。Cache page cross entry 29
Is an interruptable entry, so if a cache page cross occurs, after the first step of entry 28, cache page cross fetch entry 29
Execution shifts to. When a subsequent instruction request hits the line buffer, the execution is shifted to the line buffer hit entry 30 after the second step ends due to the interrupt enable bit and the line buffer hit interrupt enable bit in the second step of this entry 29. .. Further, in the second step of this entry 30, an interrupt to the entry indicated by the interrupt enable bit 26 can be generated by the interrupt enable bit. However, if the interrupt condition is not satisfied here, it does not move to the entry 31. The third step of entry 30 is executed.
【0021】図3は、PLA出力(フィールドの各ビッ
ト)による出力がPLADAA0:21)がこの後計算
機の制御に関し、どのような意味を持つかという各ビッ
ト毎の意味を示す図である。(0:21)は図1に示し
たシーケンスフィールド6〜割り込み許可ビット27ま
での22ビットのデータを伝える信号線を示してる。図
1に示すように、PLAの各ビットのうち22ビット目
(すなわちビット1)は割り込み許可ビット27を示し
ており、図3において、この22ビット目はOSINT
EN22Pとなっており、これが、PLAから出力され
る割り込み許可ビット27により生成された信号であ
る。なお、PH1H、PH2Hは2相クロックのそれぞ
れのクロックを示し、PH1L、PH2Lはその反転信
号である。FIG. 3 is a diagram showing the meaning of each bit as to what the PLA output (each bit of the field) means when PLADAA 0:21 is related to the control of the computer thereafter. (0:21) indicates a signal line for transmitting 22 bits of data from the sequence field 6 to the interrupt permission bit 27 shown in FIG. As shown in FIG. 1, the 22nd bit (that is, bit 1) of each bit of the PLA indicates an interrupt enable bit 27. In FIG. 3, the 22nd bit is OSINT.
It is EN22P, and this is the signal generated by the interrupt permission bit 27 output from the PLA. Note that PH1H and PH2H indicate respective clocks of the two-phase clock, and PH1L and PH2L are inverted signals thereof.
【0022】次に、図4は、はじめに入るときのエント
リおよび割り込みが起きたときのエントリを生成するエ
ントリ生成回路の一例を示す図である。図において、A
は、ページクロス、ブロッククロス等のバウンダリクロ
スを示す信号群、Bは、現在実行しているリクエスト
(フェッチなのかストアなのかといったリクエスト)の
種類を示す信号群、Cは、キャッシュヒット/ミスなど
キャッシュの状態を示す信号群、Dは、パイプラインの
どのステージからかのリクエストかを示す信号群、E
は、フェッチ、ストアなどの具体的なリクエストを示す
信号群である。Next, FIG. 4 is a diagram showing an example of an entry generation circuit for generating an entry at the beginning and an entry when an interrupt occurs. In the figure, A
Is a signal group indicating a boundary cross such as page cross or block cross, B is a signal group indicating the type of request (request such as fetch or store) currently being executed, C is a cache hit / miss, etc. A signal group indicating the cache state, D is a signal group indicating from which stage of the pipeline the request is made, E
Is a signal group indicating specific requests such as fetch and store.
【0023】また、FSTETY(1:4)ははじめに
入るエントリアドレスを示す信号群であり、(1:4)
はアドレス信号線のうち1,2,3,4を示している。
INTETY(1:4)は割り込みによって入るジャン
プアドレスを示す信号群であり、(1:4)はアドレス
信号線のうち1,2,3,4を示している。オペランド
アクセスシーケンサ2はリクエスト1の入力により動作
を開示するが、図4に示したハードウェアはA,B,
C,D,Eの信号群によって示された条件を計算し、次
のステップに進む前までにそれらの信号をすべて決定す
る。FSTETY (1: 4) is a signal group indicating the entry address to enter at the beginning, and is (1: 4).
Indicate 1, 2, 3, and 4 of the address signal lines.
INTETY (1: 4) is a signal group indicating a jump address entered by an interrupt, and (1: 4) indicates 1, 2, 3, 4 of the address signal lines. The operand access sequencer 2 discloses the operation by the input of the request 1, but the hardware shown in FIG.
Calculate the conditions indicated by the C, D, E signals and determine all those signals before proceeding to the next step.
【0024】従来例で示した割り込み条件フィールド及
び割り込み先フィールドがPLAから出力されるのを待
って、割り込みが発生するかしないかを判断する場合に
は、PLAからの読み出し時間とその判断時間の両方を
必要とするが、この実施例においては、割り込み条件フ
ィールドおよび割り込み先フィールドに該当する処理
は、図4にその一例を示したようにハードウェアによっ
て行うことが出来る。従ってPLAから割り込み条件フ
ィールドおよび割り込み先フィールドを読み出すという
動作をする必要がなくなり、割り込み許可ビット27を
持つステップが実行されて、その割り込み許可ビットが
OSINTEN22Pとしてセットされる前に、あるい
は少なくともOSINTEN22Pとしてセットされる
と同時に、次に実行すべきアドレスが計算されているこ
とになる。したがって、この実施例によれば従来に比べ
て高速な動作が可能となる。When it is determined whether or not an interrupt occurs by waiting for the interrupt condition field and interrupt destination field shown in the conventional example to be output from the PLA, the read time from the PLA and its determination time are set. Although both are required, in this embodiment, the processing corresponding to the interrupt condition field and the interrupt destination field can be performed by hardware as shown in the example in FIG. Therefore, it is not necessary to perform the operation of reading the interrupt condition field and the interrupt destination field from the PLA, and before the step having the interrupt enable bit 27 is executed and the interrupt enable bit is set as OSINTEN22P, or at least set as OSINTEN22P. At the same time, the address to be executed next is calculated. Therefore, according to this embodiment, the operation can be performed at a higher speed than the conventional one.
【0025】まず、はじめに入力されるエントリアドレ
スはFSTETY(1:4)より出力される。このFS
TETY(1:4)はパイプラインのどのステージから
のリクエストかを示す信号群Dと、フェッチ、ストアな
どの具体的なリクエストを示す信号群Eとを入力として
生成される。また、INTETY(1:4)は、ページ
クロス、ブロッククロス等のバウンダリクロスを示す信
号群Aと現在実行しているリクエスト(フェッチなのか
ストアなのかといったリクエスト)の種類を示す信号群
Bと、キャッシュヒット/ミスなどキャッシュの状態を
示す信号群Cの条件によって割り込み(ジャンプ)をす
るときのためのジャンプアドレスとして生成される。First, the entry address that is input first is output from FSTETY (1: 4). This FS
TETY (1: 4) is generated by inputting a signal group D indicating from which stage of the pipeline the request is made and a signal group E indicating a specific request such as fetch or store. INTETY (1: 4) is a signal group A indicating a boundary cross such as page cross or block cross, and a signal group B indicating the type of request (request such as fetch or store) currently being executed. It is generated as a jump address for making an interrupt (jump) according to the condition of the signal group C indicating the cache state such as cache hit / miss.
【0026】次に、図5は、(1)はじめに入るエント
リ、(2)割り込みによってジャンプするエントリ、
(3)割り込みが起らず次のステップを実行するために
アドレスを1インクリメントして求めたエントリのう
ち、どのエントリを実際に実行するかを決定する回路で
ある。図において、Fは、はじめに入るエントリを選択
することを指示する信号、Gは、はじめに入るエントリ
又はインクリメントされたエントリを選択することを指
示する信号、Hは、アドレスのインクリメントを制御す
る信号、OSINTEN22Pは、図3で説明した割り
込み許可ビット27に基づいて生成された割り込みエン
トリを選択することを指示する(許可する)信号、PL
AADR(0:7)は、上記(1)はじめに入るエント
リ、(2)割り込みによってジャンプするエントリ、
(3)割り込みが起らず次のステップを実行するために
アドレスを1インクリメントして求めたエントリのうち
実際に実行するエントリのアドレスを示す信号である。Next, FIG. 5 shows (1) an entry that enters first, (2) an entry that jumps by an interrupt,
(3) It is a circuit that determines which of the entries obtained by incrementing the address by 1 in order to execute the next step without causing an interrupt is actually executed. In the figure, F is a signal instructing to select an entry that enters first, G is a signal instructing to select an entry that enters first or an entry that is incremented, H is a signal that controls incrementing of an address, OSINTEN22P Is a signal for instructing (permitting) selection of an interrupt entry generated based on the interrupt enable bit 27 described in FIG. 3, PL
AADR (0: 7) is the entry that enters (1) above, (2) the entry that jumps by an interrupt,
(3) This signal indicates the address of the entry to be actually executed out of the entries obtained by incrementing the address by 1 in order to execute the next step without causing an interrupt.
【0027】次に動作を説明する。既述の通り、信号群
D,Eにより生成されたFSTETY(1:4)がはじ
めに行うエントリアドレスである。ここでビット0は割
り込み可能ビットとして用いられているためはじめのエ
ントリなら必ず0であるはずであり、また、入るアドレ
スの下位3ビットは必ず0であるので、求めるビットは
(1:4)でよいことになる。次に信号群A,B,Cの
条件が決定しだいINTETY(1:4)が求まる。こ
のINTETY(1:4)は割り込み時のアドレスを示
す。上記と同じ考え方で割り込むアドレスのビット0は
必ず1、下位3ビットは必ず0なのでここでも求めるア
ドレスは(1:4)でよいことになる。このように、は
じめに実行されるエントリアドレスのビット0が0に決
まっており、割り込みで実行される割り込みアドレスの
ビット0が1に決まっているためにビット0に対するハ
ードウェアの構成を考える必要が無くなりエントリ生成
に関わる論理量を削減することが可能になる。Next, the operation will be described. As described above, the FSTETY (1: 4) generated by the signal groups D and E is the entry address performed first. Since bit 0 is used as an interrupt enable bit, it must be 0 for the first entry, and since the lower 3 bits of the input address are always 0, the requested bit is (1: 4). It will be good. Next, INTETY (1: 4) is obtained as the conditions of the signal groups A, B, and C are determined. This INTETY (1: 4) indicates an address at the time of interruption. Since the bit 0 of the address to be interrupted is always 1 and the lower 3 bits are always 0 according to the same idea as described above, the address to be obtained here may be (1: 4). As described above, since bit 0 of the entry address executed first is set to 0 and bit 0 of the interrupt address executed by the interrupt is set to 1, it is not necessary to consider the hardware configuration for bit 0. It is possible to reduce the logical amount related to entry generation.
【0028】また、はじめのエントリアドレスに1を加
算したアドレスも生成しておく。これで、はじめに入っ
たエントリの次にどのエントリを行なうことになっても
アドレスは既に計算されていることになる。そして図5
により、次にどのアドレスを実行するかが決定される。
つまり、FSTETY(1:4)ははじめに入るアドレ
ス用のバスであり、INTETY(1:4)は割り込み
が起きたときのジャンプアドレス用のバスであり、その
後の第2ステップ以降のアドレスはPLAADR(0:
7)に入る。そして、INTETY(1:4)が次に実
行されるべきアドレスとして実行されるためには、OS
INTEN22P(割り込み許可ビット)がONになっ
ていることが必要である。An address obtained by adding 1 to the first entry address is also generated. This means that the address has already been calculated no matter which entry is to be performed next to the first entry. And FIG.
Determines which address to execute next.
That is, FSTETY (1: 4) is a bus for an address to be entered first, INTETY (1: 4) is a bus for a jump address when an interrupt occurs, and addresses after the second step thereafter are PLADR ( 0:
7) Enter. Then, in order for INTETY (1: 4) to be executed as an address to be executed next, the OS
It is necessary that INTEN22P (interruption enable bit) is ON.
【0029】以上のように、この実施例は、ページアド
レス方式による動的アドレス変換と、TLBと、データ
キャッシュと、データキャッシュへのデータ転送時に一
時的にそのデータを保持するラインバッファを有しキャ
ッシュの並列アクセスが可能な多段パイプライン処理に
よるマイクロプロセッサのオペランドアクセスシーケン
サにおいて、エントリの切り換え許可を示す割り込み許
可ビットを備え、またエントリアドレス内の1ビットを
割り込みエントリ許可時にそのステップが割り込むこと
が可能であることを示す割り込み可能ビットと兼ねるこ
とにより上記アドレス変換、TLB、キャッシュ、ライ
ンバッファのアクセスの状態遷移を制御することを特徴
とし、オペランドアクセスシーケンサのエントリアドレ
スにおいて、割り込みによるエントリアドレスをあらか
じめ限定することを特徴とする。As described above, this embodiment has the dynamic address conversion by the page address method, the TLB, the data cache, and the line buffer which temporarily holds the data when the data is transferred to the data cache. In the operand access sequencer of the microprocessor by the multi-stage pipeline processing capable of parallel access to the cache, an interrupt enable bit indicating entry switching permission is provided, and one bit in the entry address may interrupt when the interrupt entry is enabled. It is characterized by controlling the state transition of the above address conversion, TLB, cache, and line buffer access by also functioning as an interrupt enable bit indicating that it is possible. Characterized in that the advance limit the entry address by themselves.
【0030】以上のように、この実施例によれば、割り
込みの切り換え制御に1フィールドのみ使用し、しかも
そのフィールドは1ビットで構成されているのでPLA
内のフィールドおよびビットの増加は1ビットに止めな
がらも、可能性のある割り込みに限定してエントリアド
レスを生成できるので、エントリ生成に関わる論理量を
削減できる。As described above, according to this embodiment, only one field is used for interrupt switching control, and the field is composed of one bit.
Although the increase of the fields and bits inside is limited to 1 bit, the entry address can be generated only for the possible interrupts, so that the logical amount related to the entry generation can be reduced.
【0031】実施例2.上記実施例1においては、割り
込み許可ビットが1ビットである場合を示したが、1ビ
ットに限るものではなく複数のビットから構成されてい
る場合でも良い。Example 2. In the above-described first embodiment, the case where the interrupt permission bit is 1 bit has been shown, but the interrupt permission bit is not limited to 1 bit and may be composed of a plurality of bits.
【0032】実施例3.上記実施例1においては、従来
の割り込み条件フィールド及び割り込み先フィールドの
処理はハードウェアで行う場合を説明したが、これらの
条件判断をファームウェアやソフトウェアによって行っ
ても構わない。ファームウェアやソフトウェアで条件判
断を行う場合においても、PLAから出力されるデータ
の21ビット目を割り込み許可ビットとして判定して用
いることにより実施例1と同様の動作を行うこと事が可
能である。Example 3. In the first embodiment, the case where the conventional processing of the interrupt condition field and the interrupt destination field is performed by hardware has been described, but the determination of these conditions may be performed by firmware or software. Even when the condition is determined by the firmware or software, the same operation as that of the first embodiment can be performed by determining and using the 21st bit of the data output from the PLA as the interrupt enable bit.
【0033】実施例4.上記実施例1においては割り込
み可能ビット26がアドレスの最上位ビットと兼用され
ている場合を示したが、1ビットのみを割り込み可能ビ
ットとする場合でなく、図6(a)に示すように上位2
ビットを割り込み可能ビット26として用いても構わな
い。図6(a)においては上位2ビットが00の場合に
はじめに実行されるエントリのアドレスとし、上位2ビ
ットが01、又は10、又は11の場合に割り込みによ
り実行されるエントリアドレスとしている場合を示して
いる。また図6(b)に示すように、アドレスの第2ビ
ット目を割り込み可能ビット26として用いる場合でも
構わない。例えば、図6(b)に示すように第2ビット
目が0の場合には、はじめに実行されるエントリアドレ
スとし、第2ビット目が1の場合には、割り込みにより
実行されるエントリアドレスというように分けても構わ
ない。このように割り込みの可能性のあるアドレスと、
そうでないアドレスを分けることによりエントリ生成に
関わる論理量を削減することが可能である。Example 4. In the first embodiment described above, the case in which the interrupt enable bit 26 is also used as the most significant bit of the address is shown. However, it is not the case that only one bit is used as the interrupt enable bit, but as shown in FIG. Two
A bit may be used as the interrupt enable bit 26. In FIG. 6A, the case where the upper 2 bits are 00 is the address of the entry to be executed first, and the upper 2 bits are 01, 10 or 11 is the entry address executed by the interrupt. ing. Further, as shown in FIG. 6B, the second bit of the address may be used as the interrupt enable bit 26. For example, as shown in FIG. 6B, when the second bit is 0, the entry address is executed first, and when the second bit is 1, the entry address is executed by interrupt. You can divide it into In this way, there is a possibility of interruption,
By dividing the other addresses, it is possible to reduce the logical amount related to entry generation.
【0034】実施例5.上記実施例1においては、PL
Aを用いる場合を例にして説明したが、この発明はPL
Aを用いる場合に限らず、他のデバイスや装置を用いる
場合であっても適用することができる。Example 5. In the first embodiment, PL
Although the case of using A has been described as an example, the present invention is not limited to PL.
The present invention can be applied not only to the case of using A but also to the case of using another device or apparatus.
【0035】[0035]
【発明の効果】以上のように第1の発明によればデバイ
スのフィールドの使用を無駄なく最小限にしたデータ処
理制御方式を得ることができる。As described above, according to the first aspect of the present invention, it is possible to obtain the data processing control system in which the use of the field of the device is minimized without waste.
【0036】また第2の発明によれば割り込みの可能性
のあるアドレスと、そうでないアドレスを分けることが
できるので、エントリ生成に関わる論理量を削減するこ
とが出来る。Further, according to the second aspect of the present invention, it is possible to separate an address which has a possibility of interruption and an address which does not have an interrupt, so that it is possible to reduce the logical amount relating to entry generation.
【図1】本発明によるオペランドアクセスシーケンサを
PLAを用いて実現したときのPLAビットフィールド
例を示す図である。FIG. 1 is a diagram showing an example of a PLA bit field when an operand access sequencer according to the present invention is realized by using a PLA.
【図2】本発明に対し、図9で示したハードウェア構成
に基づき、図1で示したPLAのフィールド内容に従っ
て動作する一例を実行されるステップのみを抽出し、状
態遷移として示した図である。FIG. 2 is a diagram showing, as state transitions, only steps for executing an example of operating according to the field contents of the PLA shown in FIG. 1 based on the hardware configuration shown in FIG. 9 according to the present invention. is there.
【図3】PLA出力の各ビット毎の信号の意味を示す図
である。FIG. 3 is a diagram showing the meaning of a signal for each bit of a PLA output.
【図4】はじめに入るときのエントリおよび、割り込み
が起きたときのエントリを生成するエントリ生成回路の
一例を示す図である。FIG. 4 is a diagram showing an example of an entry generation circuit that generates an entry upon entry and an entry upon occurrence of an interrupt.
【図5】次に実行すべきエントリを決定する回路を示す
図である。FIG. 5 is a diagram showing a circuit for determining an entry to be executed next.
【図6】この発明による割り込み可能ビットの他の実施
例を示す図である。FIG. 6 is a diagram showing another embodiment of an interrupt enable bit according to the present invention.
【図7】オペランドアクセスシーケンサに対する入出力
を示した例を示す図である。FIG. 7 is a diagram showing an example showing input / output to and from an operand access sequencer.
【図8】従来のオペランドアクセスシーケンサをPLA
を用いて実現したときのPLAビットフィールド例を示
す図である。FIG. 8 shows a conventional operand access sequencer PLA.
It is a figure which shows the PLA bit field example when implement | achieving using.
【図9】オペランドアクセスシーケンサに関わる周辺の
ハードウェア構成を簡略的に示した図である。FIG. 9 is a diagram schematically showing a peripheral hardware configuration related to an operand access sequencer.
【図10】従来例に対し、図9で示したハードウェア構
成に基づき、図8で示したPLAのフィールド内容に従
って動作する一例を実行されるステップのみを抽出し、
状態遷移として示した図である。FIG. 10 is a diagram showing only the steps of executing an example of operating according to the field contents of the PLA shown in FIG. 8 based on the hardware configuration shown in FIG.
It is the figure shown as a state transition.
1 オペランドアクセスシーケンサに入力するリクエス
ト 2 PLAを用いた従来のオペランドアクセスシーケン
サ 3 オペランドアクセスシーケンサから出力される実行
内容 4 エントリアドレスの上位5ビット 5 エントリアドレスの下位3ビット 6 シーケンスフィールド 7 アクセスフィールド 8 オペランドアドレス演算フィールド 9 データフィールド 10 割り込み条件フィールド 11 割り込み先フィールド 12 主記憶 13 アドレス変換およびTLB 14 ラインバッファ 15 キャッシュ 16 オペランドアドレス生成する回路 17 仮想オペランドアドレス 18 ラインバッファ比較アドレス 19 キャッシュ比較アドレス 20〜21 オペランドデータ 22 フェッチエントリ 23 キャッシュページクロスエントリ 24 ラインバッファヒットエントリ 25 第二ページラインバッファヒットエントリ 26 割り込み可能ビット 27 割り込み許可ビット 28 フェッチエントリ 29 キャッシュページクロスエントリ 30 ラインバッファヒットエントリ 31 第二ページラインバッファヒットエントリ1 request input to operand access sequencer 2 conventional operand access sequencer using PLA 3 execution content output from operand access sequencer 4 upper 5 bits of entry address 5 lower 3 bits of entry address 6 sequence field 7 access field 8 operand Address calculation field 9 Data field 10 Interrupt condition field 11 Interrupt destination field 12 Main memory 13 Address conversion and TLB 14 Line buffer 15 Cache 16 Operand address generation circuit 17 Virtual operand address 18 Line buffer comparison address 19 Cache comparison address 20-21 operand Data 22 Fetch entry 23 Cache page cross entry 24 lines Tsu file hit entry 25 second page line buffer hit entry 26 interrupt enable bit 27 interrupt enable bit 28 fetches entry 29 cache page crossing entry 30 line buffer hit entry 31 second page line buffer hit entry
Claims (2)
プ、(b)上記ステップに対応して設けられ、各ステッ
プから他のステップへの分岐の可否を示す許可ビット、
(c)上記許可ビットに基づいて、ステップの分岐を制
御する制御手段。1. A data processing control method having the following elements: (a) a plurality of steps executed to process data, (b) provided corresponding to the above steps, and from each step to another step. Permission bit indicating whether branching is possible,
(C) Control means for controlling the branch of the step based on the permission bit.
のステップを備えたデータ処理制御方式において、ステ
ップが存在するアドレスの少なくとも1ビットをそのス
テップが他のステップから分岐可能であるかを示す分岐
可能ビットとして用いることを特徴とするデータ処理制
御方式。2. A data processing control system comprising a plurality of steps performed to process data, wherein at least one bit of an address at which a step resides indicates whether that step can branch from another step. A data processing control method characterized by being used as a branchable bit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4150226A JPH05342014A (en) | 1992-06-10 | 1992-06-10 | Data processing control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4150226A JPH05342014A (en) | 1992-06-10 | 1992-06-10 | Data processing control method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05342014A true JPH05342014A (en) | 1993-12-24 |
Family
ID=15492305
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4150226A Pending JPH05342014A (en) | 1992-06-10 | 1992-06-10 | Data processing control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05342014A (en) |
-
1992
- 1992-06-10 JP JP4150226A patent/JPH05342014A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US3898624A (en) | Data processing system with variable prefetch and replacement algorithms | |
| US4701844A (en) | Dual cache for independent prefetch and execution units | |
| US5168571A (en) | System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data | |
| JPH02190930A (en) | Software instruction executing apparatus | |
| JPH0769818B2 (en) | Data processing device | |
| JPH06222990A (en) | Data processing device | |
| JPS63193230A (en) | High performance microprocessor integrated circuit and reference of memory | |
| JP2575219B2 (en) | Data processing system and method for facilitating instruction execution | |
| CA2005907C (en) | Production line method and apparatus for high performance instruction execution | |
| EP0377431B1 (en) | Apparatus and method for address translation of non-aligned double word virtual addresses | |
| US5276853A (en) | Cache system | |
| US5197133A (en) | Control store addressing from multiple sources | |
| JPH05342014A (en) | Data processing control method | |
| JPH0377137A (en) | Information processor | |
| JPS6022376B2 (en) | Cache memory control device | |
| JP3078293B2 (en) | Storage controller | |
| JP2924708B2 (en) | Information processing device | |
| JPH04340145A (en) | Cache memory device | |
| GB2037038A (en) | Cache storage systems | |
| JPH05250258A (en) | Cache control method | |
| JPH02259945A (en) | Storing processing system | |
| JP3288170B2 (en) | Address translation method | |
| JPH041373B2 (en) | ||
| JPS61221845A (en) | Producing system for invalidated address of buffer memory | |
| JPH0563826B2 (en) |