JPH03156534A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH03156534A
JPH03156534A JP2226135A JP22613590A JPH03156534A JP H03156534 A JPH03156534 A JP H03156534A JP 2226135 A JP2226135 A JP 2226135A JP 22613590 A JP22613590 A JP 22613590A JP H03156534 A JPH03156534 A JP H03156534A
Authority
JP
Japan
Prior art keywords
instruction
branch
unit
information
bus
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.)
Granted
Application number
JP2226135A
Other languages
English (en)
Other versions
JP2682217B2 (ja
Inventor
Nariko Suzuki
鈴木 奈利子
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPH03156534A publication Critical patent/JPH03156534A/ja
Application granted granted Critical
Publication of JP2682217B2 publication Critical patent/JP2682217B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプロセッサに関し、特にパイプライン
方式のマイクロプロセッサにおける条件分岐命令の処理
に関する。
〔従来の技術〕
命令の先取りおよびパイプライン処理はマイクロプロセ
ッサの処理効率の向上手段として多用されている。しか
しながら、マイクロプロセッサが条件分岐命令に出くわ
すと、その処理効率は格段に低下する。条件分岐命令は
、同命令の前に実行される命令によって変更され得るプ
ロセッサ実行状態が条件分岐命令が指定する分岐条件と
一致するかどうかでプログラムの流れを変えるかどうか
を制御するものである。したがって、プロセッサ実行状
態が確定するまでは分岐するかしないかの情報は確定さ
れない。
分岐するかしないかの情報が確定する間も条件分岐命令
の次にある一つ又は複数の命令は先取りされる。これら
命令は、分岐しないことが確定した場合は、有効な命令
として処理されるか、分岐することが確定すると全く無
効なのもとなり、新ためて分岐先の命令からフェッチし
直さなければならない。この間、パイプラインの流れは
完全に停止してしまうことになる。
そこで、分岐するかしないかが確定する間に、条件分岐
命令の次にある命令だけでなく分岐先の命令もフェッチ
しておき、分岐するかしないかの確定に応じて一方の命
令を選択してデコードすることが提案されている。かか
る構成によれば、分岐することが確定しても、分岐先の
命令はすでにフェッチされており、パイプライン処理の
停止を最小限に止めることができる。
〔発明が解決しようとする課題〕
しかしながら、ここで問題となるのが、プロセッサによ
る1度の命令フェッチがワード単位で実行されるのに対
し、分岐先の命令を含め各命令のビット長は一定でなく
その命令による処理機能および各オペランドに対するア
ドレシングモードに依存していることである。例えば3
2ビツトをlワードとして処理するマイクロプロセッサ
では1回の命令ブリフェッチで4バイトの命令データを
フェッチする。したがって、分岐先の命令のブリフェッ
チは分岐先アドレスを含む4バイト単位で実行される。
一方、各命令は前述した理由により数バイトから十数バ
イトまでの幅を取り得る。
このため、分岐先の命令の先頭バイト目が分岐先アドレ
スに対する命令フェッチで取り込まれた4バイト命令デ
ータの第1バイト目に位置するとは限らない。
命令は通常オペコードフィールドとオペランドフィール
ドを有し、オペコードフィールドは命令デコードユニッ
トのオペコードフィールトテコーダで解読されて命令実
行ユニットに渡され、一方、オペランドフィールドは上
記ユニットの7ドレシングフイールドデコーダで解読さ
れてオペランドアクセス部に渡される。前述のように、
分岐先命令の先頭バイトがブリフェッチされた4バイト
データの第1バイト目に位置するとは限らないため、分
岐先命令のオペコードフィールドおよびオペランドフィ
ールドがそれぞれ対応するデコーダに供給されるかどう
か検出する必要が生じ、その結果、分岐確定による分岐
先命令のデコード開始が遅れることになる。
したがって、本発明の目的は、分岐先命令のデコード開
始を早めたマイクロプロセッサを提供することにある。
〔課題を解決するための手段〕
本発明によるマイクロプロセッサは、条件分岐命令の分
岐条件が確定する前に分岐先命令に対する命令フェッチ
サイクルを起動し複数バイトの命令データをフェッチす
る手段と、フェッチされた複数バイトの命令データを一
時ストアするブランチバッファと、分岐先アドレスの下
位ビットの情報に応答して上記ブランチバッファからの
情報の中から出力すべきバイトを選択する手段と、当該
選択されたバイト情報を分岐確定に応答して命令デコー
ダに転送する手段とを備えることを特徴とする。
すなわち、本発明は分岐先アドレスを利用して、命令デ
コーダに転送すべきブランチバッファ内のバイトデータ
を選択し、当該選択したバイトデータを命令デコーダに
供給している。したがって、分岐することが確定した時
点ではブランチバッファ内の命令デコーダに転送すべき
バイトはすでに選択しており、分岐先命令のデコード処
理は分岐確定により直ちに開始される。
〔実施例〕
以下、図面を参照して本発明の実施例を詳細に説明する
第1図は本発明の一実施例によるマイクロプロセッサ1
00のブロック図である。バス制御ユニット(ECU)
110は、メモリや周辺I10装置(図示せず)が接続
されたシステムバス170に対してバスサイクルを起動
し、命令をフェッチしたりデータのり一ド/ライトを実
行する。BCUIIOによってフェッチされた命令は命
令バス1101を介してブリフェッチ(PFU)  1
20に供給され一時ストアされる。PFU 120およ
びBCUIIOはコントロール信号線1201を介して
命令ブリフェッチ要求および同要求に対するアクルッジ
信号等をやり取りする。PFU 120からの命令はバ
ス1202を介して命令デコードユニット (IDU)
130に供給される。
IDUI30は命令をデコードし、命令実行のためのデ
ータ処理情報をバス1302を介して命令実行ユニット
(EXU)l 60に供給し、またオペランドアクセス
に必要なアクセス情報をバス1301を介して実行アド
レス発生ユニッ)  (EAG)140に供給する。E
AGI40はオペランドアクセス情報1301にもとづ
きオペランドデータの実効アドレスを計算生成し、バス
1401を介してメモリ管理ユニッ) (MMU)15
0に供給する。MMU 150は実効アドレスを実アド
レスに変換し、バス1501を介してBCUIIOに対
しオペランドアクセス要求を発行する。MMU150は
また信号1502によって実アドレスへの変更終了をI
DU130に通知する。EXtJ160はIDU130
からのデータ処理情報にもとづき、BCU l l O
との間でデータをやり取りしながら命令を実行する。条
件分岐命令の実行に際しては、同命令によって指定され
た分岐条件が成立する。すなわち、分岐することが確定
すると、分岐成立信号(VTAKEN)1601をアク
ティブレベルにし、一方、分岐条件が不成立のとき(分
岐しないことが確定したときは分岐不成立信号(UTA
KEN)l 602をアクティブレベルとする。これら
信号1601.1602はPFU120.IDU130
に供給される。MMU150は、さらにアクセスすべき
データが条件分岐命令による分岐先命令のときは、分岐
先アドレスの下位2ビツトの情報を制御線1503を介
してPFU120に供給する。上記各ユニットはパイプ
ライン処理に従って動作する。
本実施例によるマイクロプロセッサ100では、lワー
ドが32ビツト、すなわち4バイト構成とされている。
したがって、1回の命令ブリフェッチで4バイトの命令
情報が同時にアクセスされ、4バイト幅の命令バス11
01を介してPFU120に供給される。一方、命令や
データをストアしているメモリ側では、1バイトのデー
タに対し1つのアドレスが割り付けられている。したが
って、1回の命令ブリフェッチで4バイトの命令情報が
アクセスさhることは、メモリへのアクセスアドレスの
下位2ビツト(最下位ビットとその次のビット)のデー
タを無視してメモリへのアクセスが実行されることを意
味している。
第2図を参照すると、PFU120は4ポケット分の命
令キュー(INSQO−INSQ’3)203を有する
。各ポケット当りのキューlN5Qは4バイト分の容量
を有する。命令キューlN5QI−3はバス1101に
共通に接続されている。一方、命令キューlN5QOは
マルチプレクサ(MPX)204の出力に接続されてい
る。MPX204の一方の入力はバス1101に接続さ
れ、他の入力はブランチバッファ201に接続されてい
る。MPX204は分岐確定信号2021が“l”のと
きブランチバッファ201を選択し、′″0”のときは
バスll01を選択する。信号2021は分岐検出器2
02によって制御されるが、コノ検出器202はVTA
KENl 601およびUTAKENl 602が共に
インアクティブのとき又はUTAKENl 602がア
クティブのとき信号2021を“0″とし、VTAKE
N1601がアクティブのときは“l”とする。したが
って、通常の処理状態ではMPX204はバス1101
を選択しており、条件分岐命令の実行にもとづき分岐確
定時のみブランチバッファ201を選択する。このバッ
ファ201は4バイト容量(lポケット)である。バス
1101上の命令のキューlN5QO−3へのストア位
置はキューコントローラ205からのキューポインタ情
報2051によって制御される。ブリフェッチコントロ
ーラ200はPFU120の全体の制御を司り、またB
CU 110との情報のやり取りをする。特に、BCU
IIOが分岐先命令に対する命令フェッチにもとづく命
令情報をバス1101上に転送したことを制御線120
1を介して通知すると、ブリフェッチコントローラ20
0は信号線2001をアクティブにして、転送されてき
た命令情報をブランチバッファにストアさせる。分岐先
命令以外の命令フェッチ通知については、コントローラ
200は信号線2002をアクティブにし、これに応答
してキューコントローラ205は命令キュlN5QO−
3をこの順で選択するようにポインタ情報2051を制
御する。
命令キューlN5QO−3にストアされた命令情報(全
16バイト)はバス2031として一つにまとめられ、
命令アライナ207に供給される。
命令アライナ207はアライナコントローラ206から
のアライナポインタ情報2061に応答して所定位置に
ある1つ以上のバイトデータを選択して出力する。すな
わち、実行すべき命令にはlオペランドを対象とするも
のがあれば2オペランドを対象とするものもある。また
、各オペランドに対しても豊富なアドレシングモードを
サポートとしている。一方、IDU130はEXU 1
60へのデータ処理情報1302を生成するオペコード
フィールドデコーダ部とEAG l 40へのオペラン
ドアクセス情報1301を生成するオペランドフィール
ドデコーダ部とを有しており、各デコード部に、それぞ
れ所望のフィールドデータを供給する必要がある。それ
故、命令アライナ207はポインタ情報2061にもと
づきバス2031上の16バイトデータからオペランド
フィールドデータをバス2071.1202−1を介し
てよりU130のオペランドフィールドデコーダ部へ、
オペコードフィールドデータをバス2072゜1202
−2を介してIDU130のオペコード、フィールドデ
コーダ部へ供給する。IDU130からはアライナコン
トローラ206に対しバス2031上のどのバイトデー
タを選択すべきかの情報1303が与えられており、こ
れによってポインタ情報2061が制御される。情報1
303はキューコントローラ205にも与えられ、これ
によってIDUに引き取られたデータの位置をコントロ
ーラ205は検出し、次の命令を同位置にストアする。
フランチバッファ201にストアされた4バイトの命令
情報はバス2011を介してブランチアライナ208に
供給される。アライナ208もオペランドフィールド出
力バス2082とオペランドフィールド出力バス208
1を有しており、ブランチアライナコントローラ209
からのポインタ情報209によって各バス2082.2
081に出力すべきバス2011上のデータ位置を制御
する。ポインタ情報2091は、MMU 150からの
情報1503にもとづきコントローラ209によって生
成させる。
IDU120’はさらに二つのマルチプレクサ(MPX
)210,211を有する。分岐確定信号2021が“
0”のとき、MPX210..211はバス2071.
2072をバス1202−1゜1202−2にそれぞれ
接続し、“l”のときバス2081.2082をバス1
202−1.1202−2にそれぞれ接続する。
以下、第3図も参照して条件分岐命令をIDU130が
受けた後の動作について詳述する。PFU120からの
条件分岐命令をIDU130がデコードすると、IDU
130はEXU 160に対し分岐条件を示す情報13
02を供給し、EAG140に対し分岐先アドレス生成
のための情報1301を供給する。このとき、EXU 
160は条件分岐命令の前の命令が乗算命令や除算命令
のように処理に時間を要する命令であったためにヒシー
状態であるとすると、分岐条件の判別処理は保留される
ことになる。各ユニットがパイプライン処理で動作して
いることから、条件分岐命令の後に続く命令はブリフェ
ッチされ命令キュー(工N5Q)203にストアされる
ことになる。
一方、MMU l 50が分岐先アドレスを生成すると
、BCUIIOに対し分岐先命令のフェッチ要求を発生
し、またPFU120のブランチアライナコントローラ
209に分岐先アドレスの下位2ビツトの情報1503
を供給する。分岐先アドレスが“××・・・X0OIB
”(Bは2進数を示す)とすると、“OIB”が情報1
503としてコントローラ209に供給する。BCUI
IOは分岐先命令のフェッチ要求に応答してそのための
パスザイクルを起動するわけであるが、前述のとおり、
BCUIIOはアクセスアドレスの下位2ビツトを無視
した命令フェッチサイクルを起動する。すなわち、第3
図に示すように、“××・・・×X0OOB”から“×
×・・・XX011B”の4バイトがフェッチされる。
この4バイトデータはバス1101を介してPFU12
0に転送され、このとき、信号2001がアクティブと
なるので、ブランチバッファ201にストアされる。こ
の結果、フランチバッファ201にストアされる4バイ
トのデータは、第3図に示すように分岐先命令301の
前の命令300のイミディエートデータの一部(Iバイ
ト)と分岐先命令301のオペコードフィールド301
−1(2バイト)およびアドレシングモードフィールド
301−2(1バイト)である。ブランチアライナコン
トローラ209は°01B”の情報1503を受けるの
で、ブランチバッファ201のストアデータのうち第1
バイトは無効なものであることを判定する。これによっ
て、ポインタ情報2091を制御し、ブランチアライナ
208に分岐先命令301のオペコードフィールド30
1−1およびアドレシングモードフィールド301〜2
をバス2082−2.2081にそれぞれ出力させる。
勿論、アライナ208によって出力させるバッファ20
1のハイド位置は情報1503によって変化される。
EXU160.は実行中の処理を完了すると、分岐条件
が成立するかどうかの処理を開始する。その処理の結果
、分岐成立が検出されたとすると、EXU 160はV
TAKENl 601をアクティブレベルとする。これ
に応答して分岐検出器202は信号2021を1”とす
る。したがって、MPX211,210はブランチアラ
イナ208の出力バス2082.2081をIDU13
Qへのバス1202−2.1202−1にそれぞれ接続
する。かくして、分岐先命令301のオペコードフィー
ル)’301−1およびアドレシングモードフィールド
301−2がIDU130の対応するデコード部に供給
され、命令301のデコード処理が開始する。iil+
yの信号2021によってMPX204はブランチバッ
ファ201を選択し、又はキューコントローラ205は
lN5QOにバッファ201の出力をストアさせ、残り
の命令キューlN5QI−3にすでにストアされている
命令を無効とする。アクティブレベルのVTAKEN信
号1601はPFU120にも供給されているので、P
FU l 20はBCUIIOに対し分岐先アドレス後
のアドレスにストアされている命令のブリフェッチを要
求する。これによって、アドレス“××・・・xxlo
OB″から“××・・・×■IB′′の4バイトデータ
が命令キューlN5QIにストアされる。かかるストア
データの第1.第2バイトは分岐先命令301のオペラ
ンドアクセスに用いられるディスプレースメント301
−3であり、第3.第4バイトは分岐先命令3010次
の命令302のオペコードフィールド302−1である
。IDU130は分岐先命令301のオペフードフィー
ル)’301−1およびアドレシングモードフィールド
301−2をデコードすることにより、この命令301
はlオペランドで命令であってオペランドアドレシング
が2バイトのディスプレースメントモードであることを
知るので、アライナコントローラ206に命令キュー■
N5QIからの第1.第2バイトを選択するよう指示す
る。分岐確定後は信号2021は“0″に戻るので、分
岐先命令301のディスプレースメント301=3がバ
ス2071.1202−1を介してIDU130に供給
される。この結果、よりU130は分岐先命令301の
実行に必要な情報1301.1302を生成し対応する
ユニットに渡す。この後、命令301の次の命令302
のオペコードフィールド302−1がバス2072゜1
202−2を介してIDU130に供給される。
なお、命令キューlN5QOにブランチバッファ201
の内容を転送するのは、同バッファに分岐先命令301
の次の命令302の一部がストアされる場合もあり得る
からである。このような場合、ブランチアライナ208
を介してIDU130に供給された命令302の一部は
無効とされるので、その一部をlN5QOにストアさせ
ておいて次のデコード処理サイクルで使用している。
方、分岐不成立が検出されてUTAKEN1602がア
クティブとされると、命令キュー203にすでにストア
されている条件分岐命令の後の命令のデコードが開始さ
れることになる。
このように、本実施例によれば、分岐することが確定し
た後の分岐先命令のデコードが直ちに開始され、しかも
、分岐先アドレスを何ら気にすることなく自由に設定す
ることができる。
命令の中にはそのオペコードフィールドが1バイト長の
ものもある。もし、このような命令が分岐先命令として
プログラムされると、そのオペランドフィールドの一部
が第2図の構成ではブランチアライナ205からの経路
ではバス1202−1側に転送されなくなり、命令キュ
ーlN5QOを使用せざるを得なくなる。その結果、そ
の分、デコード処理が遅くなる。かかる問題点を解決し
た構成を他の実施例として第4図に示す。第4図では第
2図と同−機能部は同じ番号で示されており、また第2
図の相違点をおもに示している。
本実施例は、命令のオペコードフィールドが1バイト長
である場合、その上位3ビツトがすべて“i nである
ことを利用したものである。パターン検出器400は、
ブランチバッファ201への命令書込指令線2001が
発生されたとき活性化され、バス1101上の各バイト
の上位3ビツトを判別する。上位3ビツトがすべて“1
”のときは4ビツト構成のフラグレジスタ401の対応
するビットを“′l”にセットし、1つでも“0”のと
きはレジスタ401の対応するビットを°“0”にセッ
トする。レジスタ401の内容はフラグレジスタアライ
ナ402に供給され、これはブランチアライナ208へ
のポインタ情報2091に応答して、アライナ208か
ら、出力されるバイトのうちの最下位のバイトに対応す
るレジスタ4010ビツトの内容をデータ403として
出力する。
ブランチアライナ208は4バイト分の出力バスを有し
ており、第4図は各バイト毎にバス2085−1.20
85−3.2085−4が示されている。このうち、バ
ス2085−1.2085−2はまとめられてオペコー
ドフィールド出力バス2082となる。一方、バス20
85−2と2085−3はマプチプレクサ(MPX)4
04に供給され、バス2085−3と2085−4はマ
ルチプレクサ(MPX)405に供給され、MPX40
4゜405の出力がまとめられてオペランドフィールド
出力バス2081として導出されている。MPX404
,405はデータ403が“l I+のとき2085−
2.2085−3をそれぞれ選択し、“0”のとき20
85−3.2085−4をそれぞれ選択する。、 第5図に示すように分岐先命令501のオペコードフィ
ールド501−1が1バイト長であって、そのアドレス
が“××・・・XX0IB”とすると、前述したように
、ブランチバッファには命令501の前の命令の一部と
命令501の3つのフィールド501−1乃至−3がス
トアされる。
このとき、パターン検出器400によって、フラグレジ
スタ401の内容は、少なくとも第2ピツ)401−2
が“1″である“××1×”となる。
分岐成立が確定してVTAKENl 601がアクティ
プレベルとなると、ブランチアライナ208の出力バス
2085−1.−2.−3にはそれぞれフィールド50
1−1.−2.−3が現われ、フラグレジスタアライナ
402にはレジスタ401の第2ピツ)401−2のデ
ータ“l”が現われる。したがって、MPX404,4
05が働き、バス2082にはフィールド501−1.
−2が圧力され、バス2081にはフィールド501−
2、−3が出力される。かくして、分岐先命令501の
オペランドフィールドとしてのインテックスフィールド
501−2.アドレシングモードフィールド501−3
はIDU130のオペランドフィールドテコーダ部に同
時に転送される。なお、IDUのオペコードフィールド
デコーダ部に転送されるフィールド501−2は無効な
ものとして扱われる。
本発明は上記実施例に限定されないことは熱論である。
例えば、ブランチバッファ201を2ポケット以上の容
量とすることにより、分岐確定後の命令ブリフェッチ開
始をその分遅らせることができる。また、16ビツトを
1ワードとするときは、分岐先アドレスの最下位ビット
が情報1503として使用される。
〔発明の効果〕
以上のとおり、本発明によれば、分岐することが確定し
たと同時に分岐先命令のデコード処理を開始することが
でき、より高速高性能のマイクロプロセッサが提供され
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
第1図に示したPFUの内部ブロック図、第3図は本実
施例による条件分岐命令デコードの動作を示す図、第4
図は本発明の他の実施例によるPFUの一部を示すブロ
ック図、第5図は第4図の動作を示す図である。

Claims (3)

    【特許請求の範囲】
  1. (1)条件分岐命令の分岐条件が確定する前に分岐先命
    令に対する命令フェッチサイクルサイクルを起動し複数
    バイトの命令情報をフェッチする手段と、フェッチされ
    た複数バイトの命令情報を一時ストアするバッファ手段
    と、分岐先アドレスの下位ビットの情報に応答して、前
    記バッファ手段にストアされている情報の中から出力す
    べきバイト情報を選択する手段と、当該選択されたバイ
    ト情報を分岐確定に応答して命令デコーダに転送する手
    段とを備えることを特徴とするマイクロプロセッサ。
  2. (2)条件分岐命令をプリフェッチした後にプリフェッ
    チした命令を一時ストアする第1のストア手段と、前記
    条件分岐命令の分岐条件が確定する前にプリフェッチし
    た分岐先命令を一時ストアする第2のストア手段と、前
    記第1のストア手段に結合され前記第1のストア手段に
    ストアされている命令のオペコードフィールドとオペラ
    ンドフィールドを整列して出力する第1のアライナと、
    前記第2のストア手段に結合され、前記分岐先命令のオ
    ペコードフィールドとオペランドフィールドを整列して
    出力する第2のアライナと、前記条件分岐命令の実行に
    より分岐するときは前記第2のアライナの出力に命令デ
    コーダに供給し、分岐しないときは前記第1のアライナ
    の出力を前記命令デコーダに供給する選択手段とを備え
    ることを特徴とするマイクロプロセッサ。
  3. (3)前記第2のストア手段の内容を分岐するとき前記
    第1のストア手段に書込む手段をさらに備えることを特
    徴とする請求項1記載のマイクロプロセッサ。
JP2226135A 1989-08-28 1990-08-28 マイクロプロセッサ Expired - Lifetime JP2682217B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1-222058 1989-08-28
JP22205889 1989-08-28

Publications (2)

Publication Number Publication Date
JPH03156534A true JPH03156534A (ja) 1991-07-04
JP2682217B2 JP2682217B2 (ja) 1997-11-26

Family

ID=16776444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2226135A Expired - Lifetime JP2682217B2 (ja) 1989-08-28 1990-08-28 マイクロプロセッサ

Country Status (5)

Country Link
US (1) US5381532A (ja)
EP (1) EP0471888B1 (ja)
JP (1) JP2682217B2 (ja)
KR (1) KR940000968B1 (ja)
DE (1) DE69032897T2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
JP2536726B2 (ja) * 1993-07-07 1996-09-18 日本電気株式会社 マイクロプロセッサ
US5673427A (en) * 1994-03-01 1997-09-30 Intel Corporation Packing valid micro operations received from a parallel decoder into adjacent locations of an output queue
US5590358A (en) * 1994-09-16 1996-12-31 Philips Electronics North America Corporation Processor with word-aligned branch target in a byte-oriented instruction set
US5732235A (en) * 1996-01-25 1998-03-24 International Business Machines Corporation Method and system for minimizing the number of cycles required to execute semantic routines
US5898888A (en) * 1996-12-13 1999-04-27 International Business Machines Corporation Method and system for translating peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a computer system
US5881260A (en) * 1998-02-09 1999-03-09 Hewlett-Packard Company Method and apparatus for sequencing and decoding variable length instructions with an instruction boundary marker within each instruction
US6598154B1 (en) * 1998-12-29 2003-07-22 Intel Corporation Precoding branch instructions to reduce branch-penalty in pipelined processors
EP1050811A1 (en) * 1999-05-03 2000-11-08 STMicroelectronics SA Branching in a computer system
US7647486B2 (en) 2006-05-02 2010-01-12 Atmel Corporation Method and system having instructions with different execution times in different modes, including a selected execution time different from default execution times in a first mode and a random execution time in a second mode

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5282149A (en) * 1975-12-29 1977-07-09 Fujitsu Ltd Instruction address control system
JPS55118170A (en) * 1979-03-06 1980-09-10 Mitsubishi Electric Corp Memory access device
JPS5729152A (en) * 1980-07-28 1982-02-17 Fujitsu Ltd Information processor prefetching instruction
JPS61214029A (ja) * 1985-03-18 1986-09-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 命令先取りバツフア

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
DE3382350D1 (de) * 1982-11-17 1991-08-29 Nec Corp Anordnung zum vorabholen von befehlen mit vorhersage einer verzweigungszieladresse.
JPS6051948A (ja) * 1983-08-31 1985-03-23 Hitachi Ltd 情報処理装置
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit
JPS61262849A (ja) * 1985-05-17 1986-11-20 Hitachi Ltd 情報処理装置
DE3752100T2 (de) * 1986-01-07 1997-12-11 Nec Corp Befehlsvorabrufgerät mit einer Schaltung zum Prüfen der Vorhersage eines Verzweigungsbefehls vor seiner Ausführung
WO1987005417A1 (en) * 1986-02-28 1987-09-11 Nec Corporation Instruction prefetch control apparatus
JPS6393041A (ja) * 1986-10-07 1988-04-23 Mitsubishi Electric Corp 計算機
US4893234A (en) * 1987-01-15 1990-01-09 United States Department Of Energy Multi-processor including data flow accelerator module
JPS6473423A (en) * 1987-09-14 1989-03-17 Matsushita Electric Ind Co Ltd Instruction look-ahead controller
JPH0769812B2 (ja) * 1987-12-29 1995-07-31 富士通株式会社 データ処理装置
US5142634A (en) * 1989-02-03 1992-08-25 Digital Equipment Corporation Branch prediction
US5113515A (en) * 1989-02-03 1992-05-12 Digital Equipment Corporation Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5282149A (en) * 1975-12-29 1977-07-09 Fujitsu Ltd Instruction address control system
JPS55118170A (en) * 1979-03-06 1980-09-10 Mitsubishi Electric Corp Memory access device
JPS5729152A (en) * 1980-07-28 1982-02-17 Fujitsu Ltd Information processor prefetching instruction
JPS61214029A (ja) * 1985-03-18 1986-09-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 命令先取りバツフア

Also Published As

Publication number Publication date
JP2682217B2 (ja) 1997-11-26
DE69032897D1 (de) 1999-02-25
EP0471888A3 (en) 1992-03-11
KR940000968B1 (ko) 1994-02-07
EP0471888A2 (en) 1992-02-26
KR910005155A (ko) 1991-03-30
DE69032897T2 (de) 1999-08-26
EP0471888B1 (en) 1999-01-13
US5381532A (en) 1995-01-10

Similar Documents

Publication Publication Date Title
US5737590A (en) Branch prediction system using limited branch target buffer updates
US5249286A (en) Selectively locking memory locations within a microprocessor's on-chip cache
US4648034A (en) Busy signal interface between master and slave processors in a computer system
JP3412575B2 (ja) 命令履歴キャッシングを使用して推測的に命令を実行する回路、データ処理システム、およびそのための方法
US5768574A (en) Microprocessor using an instruction field to expand the condition flags and a computer system employing the microprocessor
US6321326B1 (en) Prefetch instruction specifying destination functional unit and read/write access mode
US11474944B2 (en) Zero latency prefetching in caches
KR100266424B1 (ko) 롬(rom)용량을 저감한 데이타 프로세서
CN111213132B (zh) 用飞行中预取服务于cpu需求请求
US6088781A (en) Stride instruction for fetching data separated by a stride amount
US5913054A (en) Method and system for processing a multiple-register instruction that permit multiple data words to be written in a single processor cycle
JP2560889B2 (ja) マイクロプロセッサ
US5958045A (en) Start of access instruction configured to indicate an access mode for fetching memory operands in a microprocessor
JPH04260950A (ja) キャッシュメモリ装置
KR100259306B1 (ko) 분기 명령 버퍼를 갖는 데이타 프로세서
JP2003515214A (ja) 計算を狭いオペランドで実施するための方法と装置
JPH03156534A (ja) マイクロプロセッサ
US6405303B1 (en) Massively parallel decoding and execution of variable-length instructions
EP0459233A2 (en) Selectively locking memory locations within a microprocessor's on-chip cache
US5897654A (en) Method and system for efficiently fetching from cache during a cache fill operation
US5768553A (en) Microprocessor using an instruction field to define DSP instructions
US5819080A (en) Microprocessor using an instruction field to specify condition flags for use with branch instructions and a computer system employing the microprocessor
JP2723238B2 (ja) 情報処理装置
EP0834118B1 (en) Microprocessor using instruction field to specify expanded functionality and corresponding method
JPH10312281A (ja) 命令を処理する方法及びシステム