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

マイクロプロセッサ

Info

Publication number
JP3476314B2
JP3476314B2 JP25125996A JP25125996A JP3476314B2 JP 3476314 B2 JP3476314 B2 JP 3476314B2 JP 25125996 A JP25125996 A JP 25125996A JP 25125996 A JP25125996 A JP 25125996A JP 3476314 B2 JP3476314 B2 JP 3476314B2
Authority
JP
Japan
Prior art keywords
instruction
stored
unit
storage means
fetch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP25125996A
Other languages
English (en)
Other versions
JPH1097422A (ja
Inventor
基彰 杉本
泰二 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Holdings 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 Fuji Electric Holdings Ltd filed Critical Fuji Electric Holdings Ltd
Priority to JP25125996A priority Critical patent/JP3476314B2/ja
Priority to CN 97110943 priority patent/CN1107272C/zh
Publication of JPH1097422A publication Critical patent/JPH1097422A/ja
Application granted granted Critical
Publication of JP3476314B2 publication Critical patent/JP3476314B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サに関する。
【0002】
【従来の技術】マイクロプロセッサは、外部メモリとな
る主記憶に格納された命令コードやデータをマイクロプ
ロセッサ内部に取り込むことにより命令の実行処理を行
う。しかし、主記憶に用いられる、例えば、DRAM
(Dynamic Random Access Memory)等の外部メモリは一
般にアクセスタイムが長いため、外部メモリに格納され
ている命令列から必要な命令を1つずつ読み込んでいた
のでは高速な処理が望めない。そこで、マイクロプロセ
ッサ内部に高速アクセスが可能なレジスタを設け、この
レジスタに予め外部メモリ内の命令列を転送しておくこ
とにより、処理効率を高めるといったことが従来より行
われている。この主記憶から命令コードを読み出す動作
をフェッチということから事前に読み出す動作をプリフ
ェッチという。
【0003】図11は、従来のマイクロプロセッサにお
ける命令取込部周辺の要部構成を示すブロック図であ
る。図11に示すように、マイクロプロセッサ30は、
図示しない外部メモリからマイクロプロセッサ30内に
命令コードの取り込みを行う命令取込部31と、取り込
んだ命令の種別を検出する命令検出部32と、検出され
た命令を実行する命令実行部33とを備えている。な
お、本例のマイクロプロセッサ30では、32ビット幅
のデータバスBDと、20ビット幅のアドレスバスBA
とが設けられている。
【0004】命令取込部31は、外部メモリとのインタ
ーフェース機能を有する外部メモリアクセス制御部34
と、次命令のフェッチアドレスを生成する機能を有する
フェッチアドレス生成部35と、命令検出部32とのイ
ンターフェース機能を有するプリフェッチキュー部36
とから構成されている。外部メモリアクセス制御部34
は、外部メモリに対するアクセス動作を制御するための
転送制御部37と、4ビット幅のパリティビットに基づ
いてデータの有効生のチェックを行うパリティチェッカ
38とから構成されている。
【0005】フェッチアドレス生成部35は、外部メモ
リにアクセスする際のアドレスを生成するフェッチプロ
グラムカウンタ(以下、FPC)39と、エラー処理実
行時のエラーベクタアドレスや分岐先アドレスを選択
し、FPC39へのアドレスセット処理を行うフェッチ
アドレス選択制御部40から構成されている。
【0006】プリフェッチキュー部36は、1命令単位
幅(本例では32ビット幅)の命令コードを格納する2
段のプリフェッチキュー(以下、PFQ;Pre Fetch Qu
eue)41,42と、PFQ42から出力される命令コ
ードを一時的に格納するためのインストラクションレジ
スタ(以下、IRG;Instruction Register)43と、
PFQ41,42及びIRG43の3つのレジスタに格
納されている有効命令の有無によって有効フラグのオン
・オフを行い、現在の状態を状態0〜状態7の8つの状
態に制御する状態制御部44とから構成されている。さ
らに、図11において、IRG43は、基本命令を格納
するためのIRG基本部43Bと、拡張命令を格納する
ためのIRG拡張部43Eとの2つの32ビットレジス
タから構成されている。
【0007】図12及び図13は、3つのレジスタに対
する有効フラグによって変化する状態遷移図であり、こ
れらの状態遷移図に基づいて状態制御部44は状態遷移
の制御を行う。例えば、PFQ41、42及びIRG4
3に有効な命令が存在しないステージ0の状態で、フェ
ッチ有効信号及びアクセスRDY信号が”H”となる
と、フェッチデータがPFQ41に格納されてステージ
2の状態に遷移する。
【0008】次にマイクロプロセッサ30の命令フェッ
チ動作について、(1)通常時、(2)分岐時、(3)
異常時の3つの場合に分けて説明する。なお、以下の説
明及び図中に用いられる略号として、CLKは基準クロ
ック信号、Aは状態制御部44に入力されるフェッチ有
効信号、Bは転送制御部37から出力されるメモリチッ
プセレクト信号、Cは転送制御部37に入力されるアク
セスレディ(以下、レディをRDYと記す)信号、Dは
FPC39のカウントアップ値、Eはフェッチデータ
(数字部分はフェッチ順、基は基本命令、拡は拡張命令
を示す)、Fはデータエラー信号、Gは転送制御部37
から出力される正常RDY信号、Hは状態制御部44か
ら出力されるキューorIRG空信号、IはPFQ41
内の格納データ、JはPFQ42内の格納データ、Kは
IRG基本部43B内の格納データ、LはIRG拡張部
43E内のデータ、Mは状態制御部37から出力される
IRG有効信号、Nは命令検出部32から出力されるI
RG書換許可信号、Oは命令実行部33に対する命令実
行信号、PはPCオーバフロー信号を示し、図14〜図
17中でのステージNoは図12及び図13における状
態0〜状態7を指している。
【0009】(通常時の命令フェッチ動作)図14は、
通常時の命令フェッチ動作を説明するためのタイミング
チャートである。
【0010】まず、状態制御部44に入力されるフェッ
チ有効信号Aが“H”となると(図中(1) 参照)、転送
制御部37はメモリチップセレクト信号Bを“H”(有
効)とし、FPC39の値をアドレスとするメモリアク
セスを行う。そして、外部からのアクセスRDY信号C
が“H”となるとパリティチェッカ38によるデータチ
ェック結果を参照し、正常であれば、フェッチアドレス
生成部35及びプリフェッチキュー部36に対して出力
する正常RDY信号Gを“H”とする(図中(2)参
照)。
【0011】正常RDY信号Gが“H”となると、フェ
ッチアドレス選択制御部40はFPC39を+1カウン
トアップし(図中(3) 参照)、プリフェッチキュー部3
6は、PFQ41,42及びIRG基本部43Bに有効
命令が存在しないため、外部メモリより読み込んだデー
タをPFQ41に格納するとともに、PFQ41にあっ
たデータをPFQ42に格納し、さらに、PFQ42に
あったデータをIRG基本部43Bに格納する(図中
(4) 参照)。次に、転送制御部37は、+1ずつカウン
トアップされたFPC39の値をアドレスとするメモリ
アクセスを行い、IRG基本部43Bに有効命令が格納
されるまで、図中(2) 〜(4) に示す動作を繰り返す(図
中(5) 参照)。IRG基本部43Bに有効命令が格納さ
れると、状態制御部44はIRG43の有効フラグをオ
ンし、命令検出部32に対して出力するIRG有効信号
Mを“H”とする(図中(6) 参照)。
【0012】IRG有効信号Mが“H”となると、命令
検出部32は、IRG基本部43Bに格納されている命
令種別の検出を行う。ここで、IRG基本部43Bに格
納された命令が基本命令であり、かつ、1クロックで実
行可能な命令であることを検出すると、命令検出部32
は、状態制御部44に対して出力するIRG書換許可信
号Nを“H”とし(図中(7) 参照)、命令実行部33に
命令を渡す。ここで、プリフェッチキュー部36内のP
FQ41,42及びIRG基本部43Bの全てに有効命
令が格納されている場合、IRG書換許可信号Nが
“H”であるため、正常RDY信号Gに基づいて、外部
メモリより読み込んだデータをPFQ41に、PFQ4
1のデータをPFQ42に、また、PFQ42のデータ
をIRG基本部43Bにそれぞれ格納する(図中(8) 参
照)。
【0013】命令検出部32による命令種別の検出の結
果、IRG基本部43Bに格納されている命令が基本命
令であり、かつ、複数クロックで実行可能な命令である
ことを検出すると、命令検出部32は、状態制御部44
に対して出力するIRG書換許可信号Nを“L”とし
(図中(9) 参照)、命令実行部33に命令を渡す。ここ
で、PFQ41,42及びIRG基本部43Bの全てに
有効命令が格納されていても、IRG書換許可信号Nが
“L”であるため、転送制御部37はメモリチップセレ
クト信号Bを“L”としてフェッチ動作を停止する(図
中(9) 参照)。そして、命令実行部33による命令実行
が終了すると、命令検出部32は、IRG書換許可信号
Nを再び“H”とし、転送制御部37はメモリチップセ
レクト信号Bを“H”としてフェッチ動作を再開する
(図中(10)参照)。
【0014】命令検出部32による命令種別の検出の結
果、IRG基本部43Bに格納されている命令が拡張命
令の基本部であることを検出すると、この命令を無処理
(以下、NOP:No Operation)命令とし、命令実行部
33にNOP命令を渡す(図中(11)参照)。
【0015】続いてIRG拡張部43Eに拡張命令の拡
張部が格納されると、命令検出部32は、IRG基本部
43Bに格納されている拡張命令の基本部と合わせて拡
張命令とし、命令実行部33に渡す(図中(12)参照)。
ここで、プリフェッチキュー部36は、アクセスRDY
信号Cが“L”となってメモリアクセスが待機中であ
り、かつ、IRG書換許可信号が“H”のため、PFQ
41のデータをPRQ42に、また、PRQ42のデー
タをIRG拡張部43Eにそれぞれ格納する(図中(13)
参照)。
【0016】なお、命令検出部32から出力されるIR
G書換許可信号が“H”であっても、IRG基本部43
Bに有効な命令が格納されていない場合には、状態制御
部44はIRG43の有効フラグをオフし、命令検出部
32に対して出力するIRG有効信号Mを“L”とする
(図中(14)参照)。IRG有効信号Mが“L”となる
と、命令検出部32は、IRG基本部43B内の命令を
NOP命令とし、命令実行部33にNOP命令を渡す
(図中(15)参照)。
【0017】(分岐時の命令フェッチ動作)図15は、
分岐時の命令フェッチ動作を説明するためのタイミング
チャートである。
【0018】IRG基本部43B内に有効命令(この場
合、分岐命令)が格納されるまで、前述した通常時の命
令フェッチ動作と同様に命令フェッチ動作を行う(同図
(1)参照)。IRG基本部43Bに有効命令が格納され
ると、状態制御部44はIRG43の有効フラグをオン
し、命令検出部32に対して出力するIRG有効信号M
を“H”とする。
【0019】IRG有効信号Mが“H”とるなと、命令
検出部32は、IRG基本部43Bに格納されている命
令種別の検出を行う。ここで、IRG基本部43Bに格
納された命令が分岐命令であることを検出すると、命令
検出部32は、状態制御部44に対して出力するIRG
書換許可信号Nを“H”とし、命令実行部33に分岐命
令を渡す。命令実行部33は、このときアクセスRDY
信号Cが“H”であるので、分岐命令に基づいてフェッ
チアドレス選択制御部40に対して分岐アドレスを通知
し、フェッチアドレス選択制御部40はFPC39のア
ドレスを分岐先アドレスに書き換え、状態制御部44は
IRG有効信号Mを“L”とする(図中(2) 参照)。
【0020】命令実行部33により分岐命令を実行する
と、状態制御部44は、ステージNoを状態0に戻し、
分岐アドレスにて再度フェッチを行う(図中(3) 参
照)。このとき、IRG有効信号Mは“L”のままであ
り、IRG基本部43Bには有効命令がまだ格納されて
いないため、命令検出部32は、IRG基本部43B内
の命令をNOP命令とし、命令実行部33にNOP命令
を渡す(図中(4) 参照)。ところで、IRG基本部43
B内に分岐命令が格納された状態で分岐命令を実行する
とき、アクセスRDY信号Cが“L”となってメモリア
クセスがウエイト中の場合、命令実行部33は、状態制
御部44に対してIRG書換許可信号Nを“L”とし、
分岐命令の実行もウエイトする。これは、メモリアクセ
スの途中でアドレスの変更を行うと、パリティエラーが
発生するおそれがあるためである(図中(5) 参照)。
【0021】アクセスRDY信号Cが“H”となると、
命令実行部33は、分岐命令に基づいてアクセスRDY
信号Cが“H”を出力するタイミングに合わせてフェッ
チアドレス選択制御部40に対して分岐アドレスを通知
し、フェッチアドレス選択制御部40はFPC39のア
ドレスを分岐先アドレスに書き換え、状態制御部44は
IRG有効信号Mを“L”とする(図中(6) 参照)。そ
して、命令実行部33により分岐命令を実行すると、状
態制御部44は、ステージNoを状態0に戻し、分岐ア
ドレスにて再度フェッチを行う(図中(3) 参照)。
【0022】(異常時の命令フェッチ動作)図16は、
パリティエラーによる異常時の命令フェッチ動作を説明
するためのタイミングチャートである。
【0023】前述した通常時の命令フェッチ動作におい
て、転送制御部37は、外部からのアクセスRDY信号
Cが“H”のときパリティチェッカ38によるデータチ
ェック結果を参照する。
【0024】ここで、パリティエラー等のデータ転送異
常を検出すると、フェッチアドレス生成部35及びプリ
フェッチキュー部36に対して出力する正常RDY信号
Gを“L”とする。このとき、命令実行部33において
分岐命令を実行する場合には分岐処理を優先してFPC
39の値を分岐アドレスに変更し、フェッチ動作を継続
する(図中(1) 参照)。一方、パリティエラー等のデー
タ転送異常を検出した際、IRG43に格納されている
命令が分岐命令以外の場合には、フェッチアドレス生成
部35及びプリフェッチキュー部36に対して出力する
正常RDY信号Gを“L”とし、エラーベクタアドレス
をFPC39にセットしてエラー処理に移行する(図中
(2) 参照)。
【0025】図17は、FPCにおけるカウントオーバ
による異常時の命令フェッチ動作を説明するためのタイ
ミングチャートである。前述した通常時の命令フェッチ
動作において、正常RDY信号Gが“H”となると、フ
ェッチアドレス選択制御部40はFPC39を+1ずつ
カウントアップする。そして、FPC39においてカウ
ントオーバとなると、FPC39は、フェッチアドレス
選択制御部40に対して出力するFPCオーバフロー信
号Pを“H”とする。このとき、命令実行部33におい
て分岐命令を実行する場合には分岐処理を優先してFP
C39の値を分岐アドレスに変更し、フェッチ動作を継
続する(図中(1) 参照)。一方、FPC39においてカ
ウントオーバがあり、FPCオーバフロー信号Pが
“H”の状態で、IRG43に格納されている命令が分
岐命令以外の場合には、エラーベクタアドレスをFPC
39にセットしてエラー処理に移行する(図中(2) 参
照)。
【0026】
【発明が解決しようとする課題】近時におけるマイクロ
プロセッサは処理速度を向上させるために動作周波数が
高くなる傾向にあり、外部クロック周波数の1.5倍〜
3倍もの内部クロック周波数を持つものも種々提供され
ている。このように動作周波数が高くなってくると、メ
モリに対するアクセスが1クロックタイミングで行えな
くなってくる。すると、1クロックで実行する命令が連
続した場合、IRG43内に新たな命令を格納できなく
なるため、命令実行処理はメモリアクセスタイミングに
依存することになる。
【0027】このような問題に対してIRGの前に設け
ているPFQの段数をさらに増やすことで、通常時の命
令実行中であればメモリアクセス時間のオーバヘッドを
吸収することができるが、この場合、例えば、分岐命令
時のように実行命令順序が変わってしまうような場合、
PFQの段数分だけ命令実行に余計な時間を要するとい
う新たな問題点が生じる。
【0028】また、従来は、IRGに格納された命令コ
ードが分岐命令であるか、あるいは、拡張命令の基本部
であるか等の検出は命令検出部32によって行ってお
り、命令コードが拡張命令である場合、プリフェッチ動
作により先行してPFQに命令を取り込んでいるにもか
かわらず、PFQからIRGには1命令ずつしか転送が
行われないため、拡張命令実行には最低2クロックかか
るという問題点があった。さらに、この場合、分岐命令
及び異常処理等によって実行命令順序が変更されると、
IRGに新たな命令が格納されるまでIRG内には無効
な命令があるため、命令検出部32は、この無効な命令
をNOP命令として命令実行部33に渡さなくてはなら
ないという問題がある。このように分岐命令が実行され
ると、先行してフェッチした命令が無意味になってしま
うため、必ず分岐することがわかっている無条件分岐命
令の場合は1クロックでも早く分岐先アドレスにてプリ
フェッチ動作を行うことが望まれる。
【0029】また、従来のマイクロプロセッサ30にあ
っては、存在するメモリ領域の最後に分岐命令がある場
合、最後の分岐命令をフェッチするとプリフェッチによ
ってメモリの存在しないところをアクセスすることにな
る。このとき、パリティエラーが発生する場合があり、
このエラーは意味を持たないものとなる。同様に、FP
Cの最大値領域の最後に分岐命令がある場合も、最後の
分岐命令をフェッチした後、プリフェッチによりFPC
をカウントアップしてしまうのでカウントオーバとな
る。このとき、FPCカウントオーバエラーが発生する
が、このエラーも意味を持たないものとなる。そこで、
従来は、このような無意味なエラーの発生を防止するた
めに、分岐命令をメモリ領域の最後からPFQの段数分
よりも前に配置しており、メモリ領域における命令の配
置に配慮が必要であるという問題があった。
【0030】さらに、従来のマイクロプロセッサ30に
あっては、フェッチ動作に無関係にフェッチアドレスを
変更すると、メモリアクセスのアドレス規定時間を満足
しなくなり、パリティエラー等のデータ異常が発生する
おそれがある。また、フェッチ動作のメモリアクセス中
にフェッチアドレスの変更がある状態で、フェッチRD
Y信号が“H”の時にアドレスを変更すると、実行系の
動作がフェッチ系の動作に影響されるという問題があ
る。
【0031】本発明の課題は、上記問題点を解決するた
めになされたものであり、フェッチ動作とは無関係に効
率良く命令実行動作を行い、特別な配慮を必要とせずに
無意味なエラーの発生を防止するマイクロプロセッサを
提供することにある。
【0032】
【課題を解決するための手段】本発明のマイクロプロセ
ッサは、外部メモリに記憶されている命令コードを取り
込んで、命令を実行するマイクロプロセッサにおいて、
1命令単位の整数倍の記憶容量を有する複数段の第1の
記憶手段と、1命令単位の整数倍の記憶容量を有し、
数の命令単位で意味を持つ拡張型命令の基本部を記憶す
る基本記憶部と、拡張部を記憶する拡張記憶部とを有す
第2の記憶手段と、前記複数段の第1の記憶手段の何
れかに記憶されている命令コード、あるいは外部から取
り込んだ命令コードを選択して前記第2の記憶手段に出
力する選択手段と、前記第2の記憶手段に記憶された命
令コードと、次に第2の記憶手段に記憶されるべき命令
コードを読み込み、これらの命令コードの命令種別を検
出する命令種別検出手段と、前記命令種別検出手段によ
り次に前記第2の記憶手段に記憶されるべき命令コード
が拡張型命令の命令コードであると検出された場合に、
拡張型命令の基本部を前記第2の記憶手段の基本記憶部
に格納し、同時に拡張型命令の拡張部を前記拡張記憶部
に格納するように前記選択手段を制御する状態制御手段
とを備える。
【0033】本発明によれば、例えば第2の記憶手段に
有効な命令コードが記憶されていない場合、複数段の第
1の記憶手段の初段の第1の記憶手段に記憶されている
命令コード、または外部から取り込んだ命令コードが選
択されて直接第2の記憶手段に出力されるので、マイク
ロプロセッサの動作速度より外部メモリのアクセス速度
が遅い場合でも、命令の実行動作が外部メモリのアクセ
スのために待たされることがほとんどなくなる。
【0034】また、本発明のマイクロプロセッサは、上
記の構成に加え、第2の記憶手段に記憶された命令コー
ドと、次に第2の記憶手段に記憶されるべき命令コード
を読み込み、これらの命令コードの命令種別を検出する
命令種別検出手段をさらに有し、第2の記憶手段は、複
数の命令単位で意味を持つ拡張型命令の基本部を記憶す
る基本記憶部と、拡張部を記憶する拡張記憶部とからな
る。そして、命令種別検出手段で次に第2の記憶手段に
記憶されるべき命令コードが拡張型命令の命令コードで
あると検出された場合には、状態制御手段は、拡張型命
令の基本部を第2の記憶手段の基本記憶部に格納し、同
時に拡張型命令の拡張部を拡張記憶部に格納するように
選択手段を制御する。
【0035】上記の発明によれば、次に第2の記憶手段
に記憶されるべき命令コードが拡張型命令の命令コード
であった場合、第2の記憶手段の拡張記憶部と基本記憶
部に2つの命令コードを同時に格納することができるの
で、拡張型命令の実行速度を早めることができる。
【0036】また、本発明のマイクロプロセッサは、外
部メモリに対してアクセスする際に異常が発生した場
合、異常情報を保持する異常情報保持部有し、異常が発
生した時点で新たな命令の取り込みを中止する。そし
て、第1及び第2の記憶手段に有効命令が無くなった時
点で、異常情報保持部に保持されている異常情報を有効
とし、該異常情報に基づいてエラー処理を実行する。
【0037】上記の発明によれば、第1及び第2の記憶
手段に記憶されている有効命令が実行された後に異常情
報が有効となるので、無意味なエラーの発生を防止で
き、例えばメモり領域の最後まで命令を配置することが
できる。
【0038】
【発明の実施の形態】以下、図示した一実施形態に基づ
いて本発明を詳細に説明する。図1は、本実施形態のマ
イクロプロセッサにおける命令取り込み部周辺の構成を
示すブロック図である。
【0039】本実施形態でのマイクロプロセッサ1は、
図1に示すように、図示しない外部メモリからマイクロ
プロセッサ1内に命令コードの取り込みを行う命令取込
部2と、取り込んだ命令コードの種別を検出する命令検
出部3と、検出された命令コードに基づいて所定の処理
を実行する命令実行部4とを備えている。なお、本例の
マイクロプロセッサ1では、取り込むべき命令コードは
32ビット幅であるものとし、この命令コードを2命令
単位で取り込むために64ビット幅のデータバスBda
と、20ビット幅のアドレスバスBadとが設けられてい
る。
【0040】命令取込部2は、外部メモリと64ビット
幅でアクセスするインターフェース機能を有する外部メ
モリアクセス制御部5と、外部メモリアクセス制御部5
におけるフェッチアドレスを生成する機能を有するフェ
ッチアドレス生成部6と、命令コードを2命令単位で取
り込み、命令検出部3とのインターフェース機能を有す
るプリフェッチキュー部7と、事前に命令コードの種別
を簡易的に検出する命令種別検出部となる分岐・未定義
命令検出部8とから構成されている。
【0041】外部メモリアクセス制御部5は、外部メモ
リに対するアクセス動作を制御するための転送制御部9
と、8ビット幅のパリティビットに基づいてデータの有
効性のチェックを行うパリティチェッカ10と、パリテ
ィエラーやFPCカウントオーバエラー等のエラー情報
を保持するためのエラー保持部(異常情報保持部)11
とから構成されている。このエラー保持部11に保持さ
れるエラー情報は、PFQ14,15内に格納されてい
る命令コードが全て実行済みであり、かつ、PFQ1
4,15及びIRG16内に有効命令が存在しなくなっ
た時点で有効とし、PFQ14,15内に格納されてい
る命令コードが分岐命令であるとき無効とする。
【0042】フェッチアドレス生成部6は、外部メモリ
にアクセスする際のアドレス情報を生成するFPC12
と、所定のエラー処理を実行するためのエラーベクタア
ドレスや分岐命令に対する分岐アドレスを選択し、FP
C12へのアドレスセットを行うためのフェッチアドレ
ス選択制御部13とから構成されている。
【0043】プリフェッチキュー部7は、32ビット長
の命令コードを2命令単位で格納するPFQ14U,1
4L及び15U,15L(第1の記憶手段)と、命令検
出部3及び命令実行部4により検出・実行すべき命令コ
ードを一時的に格納するためのIRG基本部16B及び
IRG拡張部16E(第2の記憶手段)と、後述する状
態制御部18からの制御信号に基づいてPFQ14U,
14Lまたは15U,15Lに格納された命令コード、
または、プリフェッチキュー部7に直接取り込まれる命
令コードの中からIRG基本部16B及びIRG拡張部
16Eに格納すべき命令コードを選択的に出力するマル
チプレクサ17(選択手段)と、PFQ14U,14
L,15U,15L及びIRG基本部16B,IRG拡
張部16Eの6つのレジスタに格納されている有効命令
の有無によって有効フラグのオン・オフを行い、現在の
状態を状態S0〜状態S15の16の状態に制御する状
態制御部18(状態制御手段)とから構成されている。
【0044】図2〜図5は、6つのレジスタに対する有
効フラグによって変化する状態遷移図であり、この状態
遷移図に基づいて状態制御部18は状態遷移の制御を行
う。さらに、状態制御部18は、上記マルチプレクサ1
7に対して選択指示のための制御信号以外にも異常時等
の特殊状態に出力する制御信号があり、この制御信号に
よりマルチプレクサ17は、入力選択処理を停止し、I
RG基本部15Bに対して“0”出力、すなわち、NO
P命令を出力する機能も備えている。
【0045】分岐・未定義命令検出部8は、IRG基本
部16B及びIRG拡張部16E内に格納される命令コ
ードと、次にIRG基本部16Bに格納されるべき命令
コードとを読み込むことにより、これらの命令コードが
未定義命令であるか否かを検出する未定義命令検出部1
9と、これらの命令コードが分岐命令であるか否かを検
出するとともに、分岐命令であった場合、その実行指示
を行う分岐命令検出・実行部20と、命令コードが基本
命令であるか拡張命令であるかを検出する次命令基本/
拡張検出部21とから構成されている。
【0046】次に、上述の実施形態におけるマイクロプ
ロセッサ1の動作例を、通常時(メモリアクセスタイミ
ングの異なる2パターン)、分岐時、異常時(エラーの
発生有無の2パターン)の場合に分けて詳しく説明す
る。なお、以下の説明及び図中に用いられる略号とし
て、E,F,I,J,Lを除くA〜P及びCLKは従来
例と同一であるが、フェッチデータE,PFQ14の内
の格納データI,PFQ15内の格納データJは本実施
形態での構成上、上位部分(EU,,U,U )と下位部
分(EL,,L,L )とに分かれ、IRG16の格納デ
ータLは基本部LBと拡張部LE とに分かれている。ま
た、Qは実行プログラムカウンタのカウントアップ値、
Rは転送制御部から出力されるフェッチRDY信号、S
は命令コードが拡張命令であるか否かを示す次命令拡張
信号、TはフェッチRDY無視信号、Uは分岐成立信
号、Vはエラー保持信号をそれぞれ示している。
【0047】(外部メモリアクセスが0ウエイト時の命
令フェッチ通常動作)図6は、0ウエイトでの命令フェ
ッチ通常動作処理を説明するためのタイミングチャート
である。
【0048】まず、状態制御部18に入力されるフェッ
チ有効信号Aが“H”となると、転送制御部9はメモリ
チップセレクト信号Bを“H”とし、FPC12の値を
アドレスとするメモリアクセスを行う(図中(1) 参
照)。そして、外部からのアクセスRDY信号Cが
“H”となるとパリティチェッカ10によるデータチェ
ック結果を参照し、正常であれば、フェッチアドレス生
成部6及びプリフェッチキュー部7に対して出力するフ
ェッチRDY信号Rを“H”とする(図中(2) 参照)。
【0049】フェッチRDY信号Rが“H”となると、
フェッチアドレス選択制御部13はFPC12を+2カ
ウントアップし(図中(3) 参照)、状態制御部18は、
PFQ14,15及びIRG16が空の状態で有効命令
が存在しないため、外部メモリより読み込んだデータを
PFQ14に格納するとともに、マルチプレクサ17を
介してIRG16にも格納する(図中(4) 参照)。
【0050】これにより、PFQ14、15及びIRG
16に有効命令が存在しない場合には、外部メモリから
読み出したデータをマルチプレクサ17を介して直接I
RG16に格納できるので、命令を実行するまでの時間
を短縮できる。
【0051】そして、状態制御部18はIRG16に有
効命令が格納されると有効フラグをオンし、命令検出部
3に対して出力するIRG有効信号Mを“H”とする
(図中(5) 参照)。
【0052】IRG有効信号Mが“H”となると、命令
検出部3は、IRG16に格納されている命令コードの
種別検出を行う。ここで、IRG16に格納された命令
が基本命令であり、かつ、1クロックで実行可能な命令
コードであることを検出すると、命令検出部3は、状態
制御部18に対して出力するIRG書換許可信号Nを
“H”とし、命令実行部4に命令を渡す(図中(6) 参
照)。そして、IRG有効信号M及びIRG書換許可信
号Nが“H”であることを確認すると実行プログラムカ
ウンタを+1カウントアップし(図中(7) 参照)、状態
制御部18は、PFQ14Uにあった命令コードをIR
G基本部16Bに格納する(図中(8) 参照)。
【0053】命令検出部3による命令種別の検出結果、
IRG16に格納されている命令コードが基本命令であ
り、かつ、複数クロックで実行可能な命令であることを
検出すると、命令検出部3は、状態制御部18に対して
出力するIRG書換許可信号Nを“L”とし、命令実行
部4に命令を渡す(図中(9) 参照)。そして、状態制御
部18は、状態制御にしたがって命令をFPQ14,1
5及びIRG16に格納し、PFQ14,15及びIR
G16の全てに有効命令が格納されると、キューorI
RG空信号を“L”とする(図中(10)参照)。
【0054】ここで、状態制御部18は、PFQ14,
15及びIRG16の全てに有効命令が格納され、IR
G書換許可信号Nが“L”であるためフェッチRDY信
号Rが“H”となっていても、フェッチRDY無視信号
Tを”H”にし、PFQ14にデータを格納しない(図
中(11)参照)。そして、フェッチアドレス選択制御部1
3は、フェッチRDY無視信号Tが“H”であるため、
FPC12のカウントアップは行わず、再度同一アドレ
スにてフェッチを行う(図中(12)参照)。
【0055】なお、次命令基本/拡張検出部21は、次
にIRG16に格納されるべき命令が拡張命令であるこ
とを検出すると、IRG基本部16BとIRG拡張部1
6Eとに同時に命令コードを格納し、命令検出部3に渡
す(図中(13)参照)。これによって拡張命令の基本部と
拡張部を同時にIRG16に取り込むことができる。
【0056】また、IRG書き換え許可信号Nが”H”
であっても、PFQ14、15及びIRG16の全てに
有効命令が格納されている場合には、フェッチRDY無
視信号Tが”H”となり、アクセスしたデータは取り込
れず、次のクロックで同一アドレスで再度命令の取り込
みが行われる。 (外部メモリアクセスが1ウエイトの時の命令フェッチ
通常動作)図7は、1ウエイトでの命令フェッチ通常動
作処理を説明するためのタイミングチャートである。
【0057】まず、状態制御部18に入力されるフェッ
チ有効信号Aが“H”となると、転送制御部9はメモリ
チップセレクト信号Bを“H”とし、FPC12の値を
アドレスとするメモリアクセスを行う(図中(1) 参
照)。状態制御部18は、PFQ14,15及びIRG
16が空の状態で有効命令が存在しないため、フェッチ
RDY信号Rが“H”となるタイミングに基づいて外部
メモリより読み込んだデータをPFQ14に格納すると
ともに、マルチプレクサ17を介してIRG16にも格
納する(図中(2) 参照)。そして、状態制御部18はI
RG16に有効命令が格納されると有効フラグをオン
し、命令検出部3に対して出力するIRG有効信号Mを
“H”とする(図中(3) 参照)。
【0058】次に、状態制御部18は、PFQ14U内
の基本命令をIRG基本部16Bに格納すると、このと
きのフェッチRDY信号Rは“L”であるためPFQ1
4は空となる(図中(4) 参照)。したがって、PRQ1
4,15が空の状態でIRG書換許可信号が“H”であ
るため、次にフェッチRDY信号Rが“H”となるタイ
ミングに基づいて外部メモリより読み込んだデータをP
FQ14に格納するとともに、マルチプレクサ17を介
してIRG16にも格納する(図中(5) 参照)。
【0059】次に、PFQ14U内の拡張命令をIRG
基本部16Bに格納すると(図中(6) 参照)、このとき
IRG基本部16Bに格納した拡張命令には拡張部のデ
ータが存在しないので、IRG有効信号Mを“L”と
し、次にフェッチRDY信号Rが“H”となるタイミン
グに基づいて外部メモリより読み込んだデータをPFQ
14とIRG拡張部16Eとに格納し、IRG有効信号
Mを“H”とする(図中(8) 参照)。これにより、メモ
リアクセスに1ウエイトかかる場合であっても連続した
タイミングで拡張命令を取り込むことができる。
【0060】(命令フェッチ分岐動作)図8は、命令フ
ェッチ分岐動作処理を説明するためのタイミングチャー
トである。
【0061】まず、状態制御部18に入力されるフェッ
チ有効信号Aが“H”となると、転送制御部9はメモリ
チップセレクト信号Bを“H”とし、FPC12の値を
アドレスとするメモリアクセスを行う(図中(1) 参
照)。続いて、図2〜図5に示す状態遷移に基づいて命
令の取り込みを行う(図中(2) 参照)。ここで、条件付
き分岐命令以外の命令コードがIRG16内にあり、そ
の命令コードが1クロックでは実行できない命令の場
合、命令検出部3は、IRG書換許可信号Nを“L”と
する(図中(3) 参照)。
【0062】一方、次にIRG基本部16Bに格納され
る命令が無条件分岐命令である場合、分岐・未定義命令
検出部8は、分岐成立信号Uを“H”とし(図中(4) 参
照)、フェッチアドレス選択制御部13は、分岐アドレ
スをFPC12に書き込む(図中(5) 参照)。このとき
IRG書換許可信号が“L”であってもすでに分岐が成
立した後なので、状態制御部18は、分岐アドレスにて
フェッチした命令をIRG16に格納する(図中(6) 参
照)。続いて、図2〜図5に示す状態遷移に基づいて命
令コードの取り込みを行う(図中(7) 参照)。
【0063】これによって、分岐が成立した場合には、
分岐アドレスでフェッチした命令が直接IRG16に格
納されるので,PFQ14、15の段数に関わらず分岐
命令実行がすぐに実行される。
【0064】また、現在、IRG基本部16B内に条件
付き命令以外の命令が格納され、次にIRG基本部16
Bに格納される命令が無条件分岐命令である場合、分岐
・未定義命令検出部8は、分岐成立信号Uを“H”とす
る(図中(8) 参照)。そして、フェッチアドレス選択制
御部13は、分岐成立信号Uが“H”となると、分岐ア
ドレスをFPC12に書き込む(図中(9) 参照)。ここ
で、外部メモリアクセス制御部5は、外部メモリアクセ
ス待機中にFPC12の書き換えが行われると、アクセ
スRDY信号Cが“L”であっても、この信号Cを無視
してフェッチRDY信号を“L”とする(図中(10))。
そして、アクセスRDY信号Cが2度目に“H”となる
タイミングに分岐アドレスでの命令コードをPFQ14
及びIRG16に取り込む(図中(11)参照)。
【0065】(エラーとならない命令フェッチ異常動
作)図9はエラーとならない命令フェッチ異常動作処理
を説明するためのタイミングチャートである。
【0066】まず、状態制御部18に入力されるフェッ
チ有効信号Aが“H”となると、転送制御部9はメモリ
チップセレクト信号Bを“H”とし、FPC12の値を
アドレスとするメモリアクセスを行う(図中(1) 参
照)。続いて、図2〜図5に示す状態遷移に基づいて命
令コードの取り込みを行う(図中(2) 参照)。外部メモ
リアクセス制御部13は、フェッチ動作中にデータ異常
を検出すると、メモリアクセスを中止し(図中(3) 参
照)、エラー情報に基づいて、エラー保持部11は、エ
ラー保持信号を“H”とする(図中(4) 参照)。
【0067】分岐・未定義命令検出部8は、IRG16
に条件付き分岐命令が格納されていることを検出する
と、命令検出部3から入力される分岐条件信号が“H”
となるまで待ち、分岐条件信号が“H”となると、分岐
成立信号Uを“H”とする(図中(5) 参照)。そして、
フェッチアドレス選択制御部13は、分岐成立信号Uが
“H”となると、分岐アドレスをFPC12に書き込み
(図中(6) 参照)、外部メモリアクセス制御部5は、分
岐成立によるFPC12の書き換えによってエラー保持
信号Vを“L”とする(図中(7) 参照)。
【0068】(エラーとなる命令フェッチ異常動作)図
10は、エラーとなる命令フェッチ異常動作処理を説明
するためのタイミングチャートである。
【0069】まず、状態制御部18に入力されるフェッ
チ有効信号Aが“H”となると、転送制御部9はメモリ
チップセレクト信号Bを“H”とし、FPC12の値を
アドレスとするメモリアクセスを行う(図中(1) 参
照)。続いて、図2に示す状態遷移に基づいて命令コー
ドの取り込みを行う(図中(2) 参照)。外部メモリアク
セス制御部5は、フェッチ動作中にデータ異常を検出す
ると、メモリアクセスを中止し(図中(3) 参照)、エラ
ー情報に基づいて、エラー保持部11は、エラー保持信
号Vを“H”とする(図中(4) 参照)。ここまでの処理
はエラーとならない命令フェッチ異常動作の場合と同一
である。
【0070】分岐・未定義命令検出部8は、IRG16
に条件付き分岐命令が格納されていることを検出する
と、命令検出部3からの分岐条件信号が“L”で分岐条
件が不成立であることを確認し、分岐成立信号Uを
“L”とする(図中(5) 参照)。そして、状態制御部1
8は、分岐成立信号Uが“L”となると、IRG16の
エラー命令を命令検出部3に渡し、このとき、PFQ1
4,15及びIRG16内には有効命令が存在しないの
でIRG有効信号Mを“L”とする(図中(6) 参照)。
フェッチアドレス選択制御部13は、IRG有効信号が
“L”で、かつ、エラー保持信号Vが“H”であるた
め、所定のエラー処理のアドレスを示すエラーベクタを
FPC12に書き込み、エラー処理へと移行する(図中
(7) 参照)。外部メモリアクセス制御部5では、エラー
処理に移行する際にエラー保持信号Vを“L”とする
(図中(8) 参照)。
【0071】以上説明したように、本実施形態では、命
令コードのフェッチ動作と命令の実行動作とを互いに独
立して行うことができるため、フェッチ系と実行系とを
完全に分離することができ、マイクロプロセッサのクロ
ックが高速化されても命令実行がフェッチ動作により待
たされることはほとんどなく、命令の連続実行が可能と
なる。
【0072】また、少ないキュー段数により命令の連続
実行が可能となるため、部品点数を抑えることができる
とともに、状態制御部18によるフェッチ管理が容易に
実現できる。そして、異常通知は、異常となる命令コー
ドが実行される時点で行われるため、メモリ領域の最後
まで命令コードを配置することができ、分岐命令の配置
位置に特別な配慮を必要としない。
【0073】そして、命令コードを同時に2命令単位で
処理することにより、拡張命令実行を1クロックで実行
でき、さらに、マルチプレクサ17にNOP命令の出力
機能を設けたことにより、命令検出部3によるNOP命
令を出力する判定機能を省くことができる。
【0074】なお、前述の実施形態では、第1レジスタ
となるPFQの段数を2段とした場合を例に採り説明し
ているが、この段数は任意に設定可能である。また、前
述の実施形態では、分岐・未定義命令検出部8は命令取
込部2内に設けられているが、これに限らず、命令取込
部2の外に設けても構わない。
【0075】さらに、前述の実施形態において、命令コ
ードは32ビット幅であり、拡張命令は32ビット×2
となっていたが、命令コードのビット数はこれに限るも
のではなく、また、拡張命令も任意数の命令コードより
なるものであってもよい。すなわち、第1レジスタとな
るPFQの格納ビット数及び個数を上記命令コードに対
応させ、データバス幅を拡張することにより対処するこ
とが可能となる。
【0076】
【発明の効果】以上の説明から明らかなように、本発明
によれば、フェッチ動作とは無関係に効率良く命令実行
動作を行うことができ、また、拡張命令や分岐命令を効
率良く処理できるため、命令コードの取り込み処理を高
速化することができる。
【0077】さらに、エラー処理は、エラー対象となる
命令コード実行時に行われるため、特別な配慮を必要と
せずに無意味なエラーの発生を防止することができる。
【図面の簡単な説明】
【図1】本実施形態のマイクロプロセッサにおける命令
取り込み部周辺の構成を示すブロック図である。
【図2】本実施形態の状態制御部における遷移制御を示
す状態遷移図である。
【図3】状態制御部における遷移制御を示す状態遷移図
である。
【図4】状態制御部における遷移制御を示す状態遷移図
である。
【図5】状態制御部における遷移制御を示す状態遷移図
である。
【図6】0ウエイトでの命令フェッチ通常動作処理を説
明するためのタイミングチャートである。
【図7】1ウエイトでの命令フェッチ通常動作処理を説
明するためのタイミングチャートである。
【図8】命令フェッチ分岐動作処理を説明するためのタ
イミングチャートである。
【図9】エラーとならない命令フェッチ異常動作処理を
説明するためのタイミングチャートである。
【図10】エラーとなる命令フェッチ異常動作処理を説
明するためのタイミングチャートである。
【図11】従来のマイクロプロセッサにおける命令取込
部周辺の要部構成を示すブロック図である。
【図12】従来の状態制御部18における遷移制御を示
す状態遷移図である。
【図13】従来の状態制御部18における遷移制御を示
す状態遷移図である。
【図14】通常時の命令フェッチ動作を説明するための
タイミングチャートである。
【図15】分岐時の命令フェッチ動作を説明するための
タイミングチャートである。
【図16】パリティエラーによる異常時の命令フェッチ
動作を説明するためのタイミングチャートである。
【図17】FPCにおけるカウントオーバによる異常時
の命令フェッチ動作を説明するためのタイミングチャー
トである。
【符号の説明】
1 マイクロプロセッサ 2 命令取込部 3 命令検出部 4 命令実行部 5 外部メモリアクセス制御部 6 フェッチアドレス生成部 7 プリフェッチキュー部 8 分岐・未定義命令検出部(命令種別検出部) 9 転送制御部 10 パリティチェッカ 11 エラー保持部(異常情報保持部) 12 フェッチプログラムカウンタ 13 フェッチアドレス選択制御部 14,15 プリフェッチキュー(第一レジスタ) 16 インストラクションレジスタ(第二レジスタ) 17 マルチプレクサ 18 状態制御部 19 未定義命令検出部 20 分岐命令検出・実行部 21 次命令基本/拡張検出部 30 マイクロプロセッサ 31 命令取込部 32 命令検出部 33 命令実行部 34 外部メモリアクセス制御部 35 フェッチアドレス生成部 36 プリフェッチキュー部 37 転送制御部 38 パリティチェッカ 39 フェッチプログラムカウンタ 40 フェッチアドレス選択制御部 41,42 プリフェッチキュー 43 インストラクションレジスタ 44 状態制御部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−18932(JP,A) 特開 平3−156534(JP,A) 特開 平5−27972(JP,A) 特開 平3−252726(JP,A) 特開 平3−11430(JP,A) 特開 平7−105000(JP,A) 特開 平4−182832(JP,A) 特開 昭63−145534(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/38

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】外部メモリに記憶されている命令コードを
    取り込んで、命令を実行するマイクロプロセッサにおい
    て、 1命令単位の整数倍の記憶容量を有する複数段の第1の
    記憶手段と、 1命令単位の整数倍の記憶容量を有し、複数の命令単位
    で意味を持つ拡張型命令の基本部を記憶する基本記憶部
    と、拡張部を記憶する拡張記憶部とを有する第2の記憶
    手段と、 前記複数段の第1の記憶手段の何れかに記憶されている
    命令コード、あるいは外部から取り込んだ命令コードを
    選択して前記第2の記憶手段に出力する選択手段と、前記第2の記憶手段に記憶された命令コードと、次に第
    2の記憶手段に記憶されるべき命令コードを読み込み、
    これらの命令コードの命令種別を検出する命令種別検出
    手段と、 前記命令種別検出手段により次に前記第2の記憶手段に
    記憶されるべき命令コードが拡張型命令の命令コードで
    あると検出された場合には、拡張型命令の基本部を前記
    第2の記憶手段の基本記憶部に格納し、同時に拡張型命
    令の拡張部を前記拡張記憶部に格納 するように前記選択
    手段を制御する状態制御手段とを備えるマイクロプロセ
    ッサ。
  2. 【請求項2】前記状態制御手段は、前記第2の記憶手段
    に実行可能な命令が存在しない場合、あるいは前記第2
    の記憶手段に記憶された命令が実行されて空きとなる場
    合に、前記複数段の第1の記憶手段の何れかに記憶され
    ている命令コードまたは外部から取り込んだ命令コード
    を、前記第2の記憶手段に格納するように前記選択手段
    を制御することを特徴とする請求項1記載のマイクロプ
    ロセッサ。
  3. 【請求項3】外部メモリから次に取り込むべき命令のア
    ドレスを生成するフェッチアドレス生成手段を有し、 命令取り込みのアクセス中に、新たにフェッチすべきア
    ドレスが変更された場合、アクセス中のデータを無視
    し、変更されたアドレスで再度命令取り込みを行うこと
    特徴とする請求項1記載のマイクロプロセッサ。
  4. 【請求項4】外部メモリから次に取り込むべき命令のア
    ドレスを生成するフェッチアドレス生成手段と、 前記第1及び第2の記憶手段に全て有効な命令コードが
    記憶されている場合には、前記フェッチアドレス生成手
    段で生成されたフェッチアドレスから読み出したデータ
    を無視し、次のクロックで同一アドレスで再度命令取り
    込みを行う手段とを有することを 特徴とする請求項1記
    載のマイクロプロセッサ。
  5. 【請求項5】外部メモリから次に取り込むべき命令のア
    ドレスを生成するフェッチアドレス生成手段を有し、前記第2の記憶手段に記憶されている命令コードが条件
    付分岐命令以外で、次に第2の記憶手段に格納されるべ
    き命令コードが無条件分岐命令の場合、前記フェッチア
    ドレス生成手段は、該無条件分岐命令の分岐先アドレス
    を次のフェッチアドレスとして生成することを特徴とす
    る請求項1 記載のマイクロプロセッサ。
  6. 【請求項6】前記第2の記憶手段に次に記憶されるべき
    命令コードが無条件分岐命令の場合、前記フェッチアド
    レス生成手段は、該無条件分岐命令の分岐先アドレスを
    フェッチアドレスとして生成し、 前記状態制御手段は、前記分岐先アドレスから読み出さ
    れる命令コードを前記選択手段から前記第3の記憶手段
    に出力させることを特徴とする請求項1 記載のマイクロ
    プロセッサ。
  7. 【請求項7】前記状態制御手段は、先行して取り込んだ
    命令が破棄される場合、または次に前記第2の記憶手段
    に記憶されるべき命令が未定義命令である場合、前記第
    2の記憶手段に有効な命令コードが記憶されるまで、前
    記選択手段から無処理命令の命令コードを出力させるこ
    とを特徴とする請求項1記載のマイクロプロセッサ。
  8. 【請求項8】外部メモリに対してアクセスする際に異常
    が発生した場合、異常情報を保持する異常情報保持部を
    有し、異常が発生した時点で新たな命令の取り込みを中
    止することを特徴とする請求項1記載のマイクロプロセ
    ッサ。
  9. 【請求項9】前記異常情報保持部に異常情報が保持され
    た状態で、前記第1及び第2の記憶手段に有効命令が無
    くなった時点で、前記異常情報保持部に保持されている
    異常情報を有効とし、該異常情報に基づいてエラー処理
    を実行することを特徴とする請求項8記載のマイクロプ
    ロセッサ。
  10. 【請求項10】前記異常情報保持部に異常情報が保持さ
    れた状態で、分岐命令及び異常処理により先行して取り
    込んだ命令が破棄された場合には、異常情報を無効にす
    ることを特徴とする請求項8記載のマイクロプロセッ
    サ。
  11. 【請求項11】外部メモリに記憶されている命令コード
    を取り込んで、命令を実行するマイクロプロセッサにお
    いて、 1命令単位の整数倍の記憶容量を有する複数段の第1の
    記憶手段と、 1命令単位の整数倍の記憶容量を有し、実行すべき命令
    コードを記憶する第2の記憶手段と、 前記複数段の第1の記憶手段の何れかに記憶されている
    命令コード、あるいは外部から取り込んだ命令コードを
    選択して前記第2の記憶手段に出力する選択手段と、 前記第1の記憶手段に記憶されている命令コードまたは
    外部から取り込んだ命令コードを直接前記第2の記憶手
    段に出力するように前記選択手段を制御する状態制御手
    段と、 外部メモリから次に取り込むべき命令のアドレスを生成
    するフェッチアドレス生成手段と、 命令取り込みのアクセス中に、新たにフェッチすべきア
    ドレスが変更された場合、アクセス中のデータを無視
    し、変更されたアドレスで再度命令取り込みを行う手段
    とを有することを特徴とする マイクロプロセッサ。
  12. 【請求項12】外部メモリに記憶されている命令コード
    を取り込んで、命令を実行するマイクロプロセッサにお
    いて、 1命令単位の整数倍の記憶容量を有する複数段の第1の
    記憶手段と、 1命令単位の整数倍の記憶容量を有し、実行すべき命令
    コードを記憶する第2の記憶手段と、 前記複数段の第1の記憶手段の何れかに記憶されている
    命令コード、あるいは外部から取り込んだ命令コードを
    選択して前記第2の記憶手段に出力する選択手段と、 前記第1の記憶手段に記憶されている命令コードまたは
    外部から取り込んだ命令コードを直接前記第2の記憶手
    段に出力するように前記選択手段を制御すると共に、先
    行して取り込んだ命令が破棄される場合、または次に前
    記第2の記憶手段に記憶されるべき命令が未定義命令で
    ある場合、前記第2の記憶手段に有効な命令コードが記
    憶されるまで、前記選択手段から無処理命令の命令コー
    ドを出力させることを特徴とする マイクロプロセッサ。
JP25125996A 1996-09-24 1996-09-24 マイクロプロセッサ Expired - Lifetime JP3476314B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP25125996A JP3476314B2 (ja) 1996-09-24 1996-09-24 マイクロプロセッサ
CN 97110943 CN1107272C (zh) 1996-09-24 1997-02-27 微处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25125996A JP3476314B2 (ja) 1996-09-24 1996-09-24 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH1097422A JPH1097422A (ja) 1998-04-14
JP3476314B2 true JP3476314B2 (ja) 2003-12-10

Family

ID=17220124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25125996A Expired - Lifetime JP3476314B2 (ja) 1996-09-24 1996-09-24 マイクロプロセッサ

Country Status (2)

Country Link
JP (1) JP3476314B2 (ja)
CN (1) CN1107272C (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113496275B (zh) * 2020-04-08 2023-07-25 北京地平线机器人技术研发有限公司 指令执行方法、装置和电子设备

Also Published As

Publication number Publication date
CN1180199A (zh) 1998-04-29
JPH1097422A (ja) 1998-04-14
CN1107272C (zh) 2003-04-30

Similar Documents

Publication Publication Date Title
US6289445B2 (en) Circuit and method for initiating exception routines using implicit exception checking
EP2519874B1 (en) Branching processing method and system
US5706459A (en) Processor having a variable number of stages in a pipeline
KR920006275B1 (ko) 데이타 처리 장치
US5016169A (en) Data processor capable of correctly re-executing instructions
US5148529A (en) Pipelined multi-stage data processor including an operand bypass mechanism
JP2005235233A (ja) コンピュータシステム
JP2008107983A (ja) キャッシュメモリ
JPH1021074A (ja) 割り込み制御方式、プロセッサ及び計算機システム
US6189093B1 (en) System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register
EP1770507A2 (en) Pipeline processing based on RISC architecture
JP3741870B2 (ja) 命令及びデータの先読み方法、マイクロコントローラ、疑似命令検出回路
US5287483A (en) Prefetched operand storing system for an information processor
JP3476314B2 (ja) マイクロプロセッサ
US20080065870A1 (en) Information processing apparatus
EP1840735A2 (en) Processor and method of controlling the same
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
US20080222392A1 (en) Method and arrangements for pipeline processing of instructions
US6425047B1 (en) Process containing address decoders suited to improvements in clock speed
JP2783285B2 (ja) 情報処理装置
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP2894438B2 (ja) パイプライン処理装置
US20040103267A1 (en) Data processor having cache memory
JPS6232508B2 (ja)
JPH06131180A (ja) 命令処理方式および命令処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030916

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070926

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080926

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080926

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090926

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090926

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090926

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100926

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 8

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130926

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term