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

マイクロプロセッサ

Info

Publication number
JPH1173314A
JPH1173314A JP10756898A JP10756898A JPH1173314A JP H1173314 A JPH1173314 A JP H1173314A JP 10756898 A JP10756898 A JP 10756898A JP 10756898 A JP10756898 A JP 10756898A JP H1173314 A JPH1173314 A JP H1173314A
Authority
JP
Japan
Prior art keywords
instruction
register
instructions
interrupt
microprocessor
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
JP10756898A
Other languages
English (en)
Inventor
Masaru Goto
後藤  勝
Hiroaki Miyaji
宏明 宮地
Yukihiro Sakamoto
幸弘 阪本
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP10756898A priority Critical patent/JPH1173314A/ja
Publication of JPH1173314A publication Critical patent/JPH1173314A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 32ビットのRISCプロセッサで命令セッ
トを16ビットの固定長とした場合に、レジスタ分岐命
令を短縮することができ、コード効率の改善を図る。 【解決手段】 全体の4Gbyteのアドレス空間のう
ちの上位2MByteに制限してLongのレジスタ分
岐命令を行なう命令セットSLIL及びSLIHを設け
る。これにより、レジスタ分岐命令を3命令で行なうこ
とができる。従来5命令必要であったものが3命令で行
なえるので、コード効率が改善され、特に分岐の多いプ
ログラムでは著しい性能の向上が図れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、RISC(Redu
ced Instruction Set Computer)型のマイクロプロセッ
サに関する。
【0002】
【従来の技術】RISCプロセッサは、演算を最小限に
抑える命令セットから構成されており、パイプライン処
理により、全ての命令が略同じ短い時間で実行されるよ
うに設定されている。通常、32ビットのRISCプロ
セッサでは、命令セットは、32ビットの固定長とされ
ている。RISCプロセッサでは、このように命令セッ
トが固定長とされ、単純化されている。そして、レジス
タ間演算によって、殆どの命令が1クロックで実現で
き、パイプライン処理が容易とされている。
【0003】従来の32ビットのRISCプロセッサで
は、命令セットが32ビットの固定長とされている。と
ころが、32ビットの固定長の命令セットでは、コード
効率が良くない。改良を加えて可変長の命令にしたRI
SCプロセッサでは、デコード部の負担が大きくなり、
また、分岐後のパイプライン充填に時間がかかリ、また
これを改善するのに、分岐キャッシュが必要になり、回
路規模が大きくなるという問題がある。そこで、本願出
願人は、先に、命令セットを16ビットの固定長とし
て、コード効率を向上するようにしたRISCプロセッ
サを提案している。
【0004】
【発明が解決しようとする課題】32ビットのRISC
プロセッサでは、4GByteのアドレス空間を有しい
る。そして、論理アドレスから物理アドレスへの変換を
行なう際に、4GByteの空間にマッピングするため
に、lp.xというマクロ命令を用意している。従来で
は、このlp.xというマクロ命令は、LPI命令を4
つに展開して行なうものとされている。このため、Lo
ng型(32ビット)のレジスタ分岐命令に10バイ
ト、5命令が費やされている。
【0005】すなわち、従来では、図17に示すよう
な、LPI(Load position Immediate )が使われる。
命令セットは、図17Aに示すように、16ビットとさ
れており、LPI命令では、上位6ビットがオペコード
とされる。次の2ビットが図17Bに示すように、どの
位置のビットパターンかを示しており、11なら最上位
(HH)、10なら次に上位(HL)、01ならその次
に上位(LH)、00なら最下位(LL)を示す。図1
7Aに示すように、次の8ビットが即値の値で指定され
るオペランドである。したがって、Long型の場合に
は、8ビットづつ4回に分けてLPI命令が与えられ、
レジスタ間分岐命令が与えられることになり、少なくと
も5命令が必要となる。
【0006】したがって、この発明の目的は、レジスタ
分岐命令を短縮することができ、コード効率の改善を図
れるようにしたマイクロプロセサッを提供することにあ
る。
【0007】
【課題を解決するための手段】この発明が適用されたマ
イクロプロセッサは、命令処理のタスクを単純なステー
ジに分解してパイプライン制御で命令セットをデコード
する命令デコーダと、算術演算を行なう算術演算論理ユ
ニットと、レジスタ群と、乗算及び除算を高速に行なう
ための高速乗除算ユニットと、割り込み処理を行なうた
めの割り込みコントローラとを有し、全体のアドレス空
間のうちの上位のアドレス空間に制限してロング型のレ
ジスタ分岐命令を行なう命令セットを設けるようにした
ことを特徴とする縮小命令セットのマイクロプロセッサ
である。
【0008】そして、高速乗除算ユニットは、算術演算
論理ユニットから独立して乗算及び除算が行なわれる。
レジスタ群は、専用コントロールレジスタ群と、汎用レ
ジスタ群とからなり、汎用レジスタ群は、アキュームレ
ータと、スタックポインタと、割り込みスタックポイン
タを含む。
【0009】更に、レジスタ群は、コプロセッサレジス
タを含む。コプロセッサレジスタは、分岐命令の変更で
同一のオペコードで複数の命令を行なえるようにするた
めのレジスタ、簡易型のスタックを実現するためのレジ
スタを含む。
【0010】全体のアドレス空間は4Gバイトであり、
命令セットは上記16ビットの固定長とされ、制限する
アドレス空間は上記2Mバイトである。
【0011】このように、この発明では、全体のアドレ
ス空間のうちの上位のアドレス空間に制限してロング型
のレジスタ分岐命令を行なう命令セットであるSLIL
及びSLIH命令が設けられる。このSLIL及びSL
IH命令を用いることにより、アドレス空間を上位2M
Byteに限定してLong型のレジスタ分岐命令を3
命令で行なうことができる。
【0012】
【発明の実施の形態】この発明の実施の形態について、
以下の順序で説明する. 1.プロセッサの概要 2.プロセッサの構成 3.5段パイプライン 4.レジスタ 5.アドレス空間 6.割り込み処理 7.シングルステップ 8.命令セット 9.レジスタ間分岐命令について 1.プロセッサの概要 この発明が適用されたマイクロプロセッサは、RISC
(Reduced Instruction Set Computer)の構成とされ
た、32ビットのプロセッサである。
【0013】RISCでは、命令セットが演算を行なう
最小限のものに抑えられており、全ての命令が略同じ時
間で実行される。このマイクロプロセッサでは、命令セ
ットは16ビットの固定長とされており、コード効率重
視のオリジナルな直交型の命令セットが用意されてい
る。直交型の命令セットでは、各命令は非常に基本的な
タスクを実行し、他の命令とはタスクが重複しない。命
令セットには、例えば、即値命令、レジスタ転送命令、
算術命令、比較命令、論理命令、シフト命令、交換/拡
張命令、NOP命令、ビット処理命令、乗除算命令、メ
モリ転送命令、コプロセッサ転送命令、分岐命令とが含
まれる。
【0014】また、RISCプロセッサでは、演算命令
がソースオペランドを読み込んだり、演算結果を書き込
むのに、メモリではなく、レジスタが用いられる。レジ
スタ間演算により殆どの命令が1クロックサイクルで実
行できるようになるため、パイプラインが容易となる。
汎用レジスタとしては、32本分用意されている。
【0015】このマイクロプロセッサでは、5段パイプ
ライン処理が採用されている。ALUとしては、1サイ
クルのバレルシフタが備えれている。また、(16×1
6)の乗算を1サイクルで実行し、(16(32)×1
6(32))の除算を(10(18)サイクル)で実行
する高速乗除算器が備えられている。
【0016】更に、このマイクロプロセッサは、RIS
Cテクノロジーを受け継ぎつつ、CISC(Complex In
struction Set Computer)や、DSP(Digital Signal
Processor)テクノロジー等を取り入れることにより、
コード効率、ビット処理、乗除算、割り込み等の点が大
幅に改善されている。
【0017】割り込み処理については、 1)ベクタ命令テーブルの採用 2)割り込みスタックポインタの採用 3)除算命令の結果を専用レジスタに入れて割り込み処
理を受付 ることにより、高速割り込み、多重割り込みが可能とさ
れている。
【0018】ベクタ命令テーブルの採用により、割り込
みを受け付けると、5段のパイプラインが守られ、ベク
タ命令テーブルに直接フェッチされる。分岐命令は、ベ
クタ命令テーブルに直接書き込まれる。これにより、高
速割り込みが可能になる。割り込みスタックポインタが
採用され、割り込み専用スタックポインタとリターン命
令が用意されている。これにより、割り込みの多重化が
実現される。割り込みで自動退避は、PC(プログラム
カウンタ)のみである。リターン命令では、スタックポ
インタ上のPCのみ内部のPCに書き戻す操作を実行す
る。長い除算命令の結果は、専用レジスタに入れて割り
込みを受け付けるようにしている。他の命令は、1命令
1クロックで実現されている。但し、ディレイスロット
期間は、割り込みが禁止される。
【0019】また、このマイクロプロセッサでは、強力
なデバッグサポート機能が設けられている。このデバッ
グサポート機能により、外部回路無しで、簡単にターゲ
ットデバッカーが実現される。デバッグサポート機能と
しては、 1)5段パイプラインでのシングルステップ実現機能の
搭載 2)2つのブレーク命令を用意 3)アドレスブレークを3チャンネル搭載 4)データブレークを2チャンネル搭載 5)ICE(インサーキットエミュレータ)ブレーク端
子を配設 が上げられる。
【0020】今まで、CISCでのみ行なわれていたシ
ングルステップ機能をRISCでも使用することによ
り、プログラムのステップ実行が簡単にできる。但し、
ディレイスロットは、実行して次の命令でブレークが発
生する。ベクタアドレスの異なる2つのブレーク命令を
用意することにより、RAMエリアに対してブレーク命
令を書き込んで、無制限個にブレークポインタを実現可
能である。また、5段のパイプラインで実行しているマ
イクロプロセッサのアドレスブレークポインタを3チャ
ンネル搭載し、上述の2つのブレーク命令の使用できな
いROMエリアに対してブレークが可能である。更に、
5段パイプラインで実行しているマイクロプロセッサの
データブレークポインタを2チャンネル搭載することに
より、内蔵RAMのブレークが容易に実現可能である。
ICEブレーク端子を備えることで、外部からICEへ
の制御遷移が可能である。更に、マイクロプロセッサ1
には、ユーザ定義のコプロセッサが接続可能である。
【0021】2.プロセッサの構成 図1は、この発明が適用されたマイクロプロセッサ1の
構成を示すものである。図1において、マイクロプロセ
ッサ1からは、データバス2、インストラクションバス
3、コプロセッサバス4が導出される。また、マイクロ
プロセッサ1からは、リセット、クロック、外部割り込
み(7:0)、NMI(Non-Maskable割り込み)、PM
I(Power Management割り込み)等の端子群5が導出さ
れる。
【0022】マイクロプロセッサ1によりシステムを構
成する場合には、図2に示すように、マイクロプロセッ
サ1は、データバス2、インストラクションバス3を介
して、メモリコントローラ21に接続される。また、マ
イクロプロセッサ1は、コプロセッサバス4を介して、
コプロセッサ22に接続される。
【0023】図1において、マイクロプロセッサ1は、
命令デコーダ6と、専用コントロールレジスタ群7と、
割り込みコントローラ8と、汎用レジスタ群9と、バイ
パスロジック10と、ALU(Arithmetic and Logic U
nit )11と、乗除算演算部12と、アドレス計算部1
3とからなる。
【0024】命令デコーダ6は、パイプライン制御を行
なっている。パイプライン制御では、命令処理のタスク
を、フェッチ、ALU演算、メモリアクセス、ライトバ
ックというような単純なステージに分解し、命令が1つ
のステージから次のステージに移ると、空いたステージ
に次の命令が入るような処理が行なわれる。このような
ステージ単位で命令を処理することで、1つの命令の完
了を待たずに、次の命令の処理が行なえる。このマイク
ロプロセッサでは、5段のパイプラインが用いられてい
る。
【0025】専用コントロールレジスタ群7としては、
32ビットのレジスタが10本用意されている。専用コ
ントロールレジスタ群7は、ステータス、割り込み制
御、ICEサポート機能等に用いられる。
【0026】割り込みコントローラ8は、割り込み処理
を行なうためのものである。割り込みは、ベクタ命令テ
ーブルと、割り込みスタックポインタが採用され、最小
1サイクル、最大3サイクルでの割り込み応答機能を実
現している。割り込みベクタ命令テーブルは、割り込み
を受け付けると、5段パイプラインを守って、ベクタ命
令テーブルに直接フェッチするものである。ベクタ命令
テーブルには、分岐命令が書き込まれる。
【0027】汎用レジスタ群9としては、32ビットの
レジスタが32本(R0〜R31)用意されている。そ
の中で、レジスタR1はアキュムレータ(ACC)、レ
ジスタR30はスタックポインタ(SP)、レジスタR
31は割り込みスタックポインタ(ISP)である。I
SPは、割り込み処理、例外処理、割り込みリターン処
理等のスタックポインタとして使用される。ACC、S
P、ISPを含む汎用レジスタR0〜R31の初期値は
不定である。
【0028】バイパスロジック10は、5段のパイプラ
インを動かすためのロジックである。ALU11は、1
サイクルのバレルシフタを備えている。乗除算ユニット
12は、16×16ビットの1サイクルの高速乗算演算
器と、16(32)×16(32)ビットの10(1
8)サイクルの高速除算演算器とを備えている。このよ
うに、除算は独立ユニットで構成されており、演算待ち
結果のサイクルでも他の命令を実行できる。アドレス計
算部13は、プログラムカウンタ(PC)、インクリメ
ント、データアライナを含む。
【0029】3.5段パイプライン マイクロプロセッサユニット1は、5段のパイプライン
処理が行なわれる。インストラクション、データ、コプ
ロセッサは、独立したバス構造となっており、入出力も
独立に行なっている。各バスは、外部キャッシュ(バッ
ファ)及びコプロセッサレジスタで結合されている。
【0030】パイプライン処理では、命令処理のタスク
が、フェッチ、ALU演算、メモリアクセス、ライトバ
ックというようなステージに分解される。ディレイスロ
ットには、ブランチ系、ロード系、リターン系の3種類
がある。例えば、ブランチ命令では、その前のブランチ
命令をデコードしてブランチ命令と解析する前に、次の
命令のアドレスが出てしまう。これがブランチディレイ
スロットである。また、ロード命令では、次のロード命
令でロードしたレジスタの値を使用するとすると、次の
ロード命令のALUサイクルでは、まだ外部バス上にロ
ードデータがある。ロード命令では、直前の命令でロー
ドしたレジスタのアクセスはできない。これがロードデ
ィレクスロットである。更に、リターン命令では、スタ
ックからプログラムカウンタ(PC)の値を取ってき
て、アドレスを戻すのに、パイプライン動作のために間
に合わない。これがリターンスロットである。
【0031】ブランチ系の命令に対するディレイスロッ
トの数は1スロットであり、ロード系の命令に対するデ
ィレイスロットの数は1スロットであり、リターン系の
命令に対するディレイスロットの数は3スロットであ
る。
【0032】4.レジスタ 4−1.汎用レジスタ 図3は、汎用レジスタの構成を示すものである。汎用レ
ジスタとしては、図3に示すように、R0〜R31の3
2本が用意されている。命令体系は、直交性を考慮して
構成されているので、特殊な命令以外は、演算のレジス
タとして使用できる。ACC(R1)はアキュムレータ
で、即値/ビット処理系のオペランドとして使用され
る。例外としては、SP(R30)はスタックポインタ
で、コール系、リターン系のスタックポインタとして使
用される。ISP(R31)は割り込みスタックポイン
タで、割り込み処理、例外処理、割り込みリターン処理
のスタックポインタとして使用される。汎用レジスタ、
ACC、SP、ISPの初期値は不定である。
【0033】4−2.コプロセッサレジスタ 図4は、コプロセッサレジスタの構成を示すものであ
る。図4に示すように、コプロセッサレジスタは、Co
p0レジスタとして、G0〜G31、C0〜C31、C
op1レジスタとして、G0〜G31、C0〜C31、
の合計128個に拡張できる。コプロセッサレジスタ
と、汎用レジスタとの間の転送をするための命令が定義
されている。
【0034】Cop0レジスタG0〜G31には、シス
テムコントロールコプロセッサレジスタが合計10個内
蔵されている。その他の使用していないレジスタは、将
来の拡張用である。システムコントロールプロセッサレ
ジスタの概要は、以下の通りである。
【0035】 Cop0 G0 :SR(Status Register ) フラグを保持する Cop0 G1 :MCR(Machine Control Register) マシン制御 Cop0 G2 :IBR(Interrupt Base Register ) 割り込みベクタベースアドレス設定 Cop0 G3 :ICR(Interrupt Control Register) 割り込み制御 Cop0 G4 :IMR0(Interrupt Mode Register 0 ) 外部割り込みモード制御0 Cop0 G5 :IMR1(Interrupt Mode Register 1 ) 外部割り込みモード制御1 Cop0 G6 :JBR(Jump Base Register) 特殊ジャンプベースアドレス設定 Cop0 G10:IBP0(Instruction Break Point 0 ) インストラクションブレークアドレス設定 Cop0 G11:IBP1(Instruction Break Point 1 ) インストラクションブレークアドレス設定 Cop0 G12:IBP2(Instruction Break Point 2 ) インストラクションブレークアドレス設定 上述のCop0レジスタのG1は、MCR(Machine Co
ntrol Register)で、あり、このMCRにより、分岐命
令の変更で、同一のオペコードで4通りの命令を行なう
ことができる。
【0036】つまり、図5は、CopレジスタのG1の
構成を示すものである。このCopレジスタのG1はM
CRである。
【0037】MCRは16ビットであり、最上位のビッ
ト15はD32Enであり、このD32Enは32ビッ
ト割り算を可能にするための設定を行なうもので、D3
2Enが「0」のときには32ビット割り算は不可能と
なり、D32Enを「1」にすると32ビット割り算が
可能となる。
【0038】ビット14、ビット13ビット、ビット1
2は、SGS、BCS、JCSとされる。SGSはセグ
メント選択であり、BCS、JCSは符号選択である。
これらSGS、BCS、JCSにより分岐命令の変更
で、同一のオペコードで4通りの命令となる。
【0039】SSEは、シングルステップイネーブル
で、「0」でディスエーブルであり、「1」でイネーブ
ルとなる。DBSSEは、デバックブレークシングルス
テッフイネーブルで、0でディスイネーブルであり,1
でイネーブルとなる。CKDMDは、CPUクロックの
分周を示す。
【0040】AIDEnは、制御ビットによるロード/
ストア命令を変更を示し、(AIDEn=1)で自動的
にポストインクリメントロード、プリデクリメントスト
アとなり、(AIDEn=0)で、通常のロード、スト
アとなる。
【0041】図6〜図8は、オペコードのマップを示
す。このオペコードマップ中「*」を付加した命令は、
分岐命令の変更で、同一のオペコードで複数の命令を行
なうものである。
【0042】また、Cop0レジステのG3は、ICR
(Interrupt Control Resister)であり、このICRは
簡易的にスタックとして使用できる。
【0043】つまり、図9はCop0レジスタのG3を
示すものである。ICRのビット15は割り込み試験を
行なうためのもので、通常はリードオンリーであるが、
このフラグをセットすると、書き込み可能となる。これ
により割り込み試験ができる。
【0044】ビット14はIICENであり、内部割り
込みコントローラを使用するか外部割り込みコントロー
ラを使用するかを設定するビットである。
【0045】ビット13はMNIPであり、ペンディン
グビットである。ビット9、ビット8はIntP(7:
0)であり、割り込みペンディグビットである。
【0046】ビット4、ビット4、ビット2、ビット
1、ビット0は夫々BPAIE、PAIE、OAIE、
JOAIE、AIEであり、これらは、簡易型のスタッ
クを実現するものである。
【0047】BPAIE、PAIE、OAIE、JOA
IE、AIEは4重の割り込み許可のスタックを構成す
る。割り込みが実行されると、以下のようにフラグが左
にシフトしてLSBにゼロが挿入される。
【0048】 PAIE −> BPAIE OAIE −> PAIE JOAIE −> OAIE 0 −> AIEから RETI命令が実行されると、以下のようにフラグが右
にシフトされる。
【0049】 AIE<−JOAIE JOAIE<−OAIE OAIE<−PAIE PAIE<−BOAIE 割り込み処理時、PCは自動的に退避されるが、割り込
み制御レジスタは、ソフトウェアで退避しなければなら
ないが、4重までの多重割り込みまでは、4ビット目か
ら0ビット目にあるBPAIE、PAIE、OAIE、
JOAIE、AIEを使用して、割り込み制御ビットが
自動的に退避される。
【0050】また、データアクセスにより割り込みは、
0CHと1CHの2チャンネルが用意されている。デー
タアクセスによる割り込みには、以下のコプロセッサレ
ジスタが用いられる。
【0051】 Cop1 G4:DABRO(Data Address Break Register 0 ) 割り込みを実行させたいデータアドレスを記述 Cop1 G5:WDBR0(Write Data Break Register 0 ) 割り込みを実行させたいデータの値を記述 Cop1 G6:WDMR0(Write Data Mask Register 0) マスク制御を行なう Cop1 G7:DBCR0(Data Break Control Register 0 ) データアクセスモードを設定 Cop1 G8:DBRR0(Data Break Run Register 0 データブレークラン Cop1 G9:FMWR(Flash Memory Write Register ) フラッシュメモリ書込みセレクト Cop1 G10:DABR1(Data Address Break Register 1) 割り込みを実行させたいデータアドレスを記述 Cop1 G11:DAMR1(Data Address Masc Register1) マスク制御を行なう Cop1 G12:WDBR1(Write Data Break Register 1) 割り込みを実行したいアドレスを記述 Cop1 G13:WDMR1(Write Data Mask Register1) マスク制御を行なう Cop1 G14:DBCR1(Data Break Control Register 1) データアクセスモードを設定 Cop1 G15:DBRR1(Data Break Run Register 1 データブレークラン 5.アドレス空間 図10は、マイクロプロセッサ1のアドレス空間を示す
ものである。マイクロプロセッサ1のアドレス空間は、
インストラクション、データ、夫々独立に、4GByt
e使用することができる。外部コプロセッサとのやり取
りには、64ワードの外部レジスタを使用することがで
きる。
【0052】外部リセットを受け付けると、FFFF_
FE60hに分岐され、その命令が実行される。ベクタ
アドレスは、2ワード(4ワード)おきに設定される。
最初の1ワードにブランチ命令が設定される。後の1ワ
ードは、ディレイスロットである。ベクタアドレスは、
割り込みベースレジスタ(IBR)(Cop0 G2)
をベースにしているので、256バイトの境界で任意の
位置に配置できる。インストラクション/データは、同
一空間にマッピングされる。通常のロード命令で、RO
M空間等から値を得ることが可能である。
【0053】6.割り込み処理 割り込み処理は、図11に示すように、優先順位が設定
されている。SSTEP(Single Step )が最優先で、
PMI(Power management)割り込み、NMI(Non-ma
skable)割り込み)、…の順に、優先順位が割り振られ
ている。外部割り込みは、Exint0からExint
7までの8本がサポートされている。各割り込みには、
ベクタアドレスオフセットが決められており、このベク
タアドレスオフセットから、ベクタアドレスが以下のよ
うに求められる。
【0054】Vecter Address= {IBR[31:8],Vecter Add
ress Offset } IBR[31:8] は、割り込みベクタテーブルのベースを設定
する割り込みベースレジスタ(IBR(Cop G
2))で、SYSCALL/BREAK/DEBREA
K命令を実行すると、そのベクタアドレスに分岐し、分
岐命令はベクタ命令テーブルに直接書き込まれる。この
ように、割り込みを受け付けると、5段のパイプライン
が守られ、そのベクタアドレスのベクタ命令テーブルに
直接フェッチされる。これにより、最低1サイクルの高
速割り込みが可能である。
【0055】ICR(Cop0 G3)のAIEフラグ
は、全て、割り込みでディスイネーブルされる。割り込
み受付期間は、割り込み禁止期間を除いて、毎サイクル
で実行される。割り込み禁止期間は、全ての割り込みに
ついては、リターンディレイスロット、分岐ディレイス
ロットである。また、PMI割り込み期間中は、リター
ンディレイスロットまで全ての割り込みが禁止される。
NMI割り込み期間中は、リターンディレイスロットま
では、PMI割り込みしか受け付けない。PMI、NM
Iは変化点検出、その他の割り込みは、レベル検出で割
り込みが実行される。割り込み時には、図12に示すよ
うに、退避アドレスが設定される。
【0056】データアクセスによる割り込みのしかた
は、以下の通りである. 1)リード時にデータアドレス比較のみで割り込みを実
行させたい場合 DABR0(Cop1 G4)に割り込みを実行させた
いデータアドレスを記述する。DBCR0(Cop1
G7)のMRDを「1」、MWRを「0」にする。リー
ドの仕方(SB,SHW,SW)をDBCR0のBE
〔3:0〕により選択する。DBRR0(Cop1 G
8)のRUNを「1」(RUN)に設定する。
【0057】2)ライト時にデータアドレスの比較のみ
で割り込みを実行させたい場合 DABR0に割り込みを実行させたいデータアドレスを
記述する。DBCR0のMWRを「1」、MRDを
「0」に設定する。ライトの仕方(LBU、LB、LH
WU、LHW、LW)をDBCR0のBE〔3:0〕に
より選択する。データ比較条件を無視するために、WD
MR0の全てのビットを「0」にマスクする。DBRR
0のRUNを「1」(RUN)に設定する。
【0058】3)ライト時にデータ比較により割り込み
を実行させたい場合 DABR0に割り込みを実行させたいデータアドレスを
記述する。DBCR0のMWEを「1」、MRDを
「0」に設定する。ライトの仕方(LBU、LB、LH
WU、LHW、LW)をDBCR0のBE〔3:0〕に
より選択する。WDR0に割り込みを実行させたいデー
タの値を記述する。あるビットをマスクする必要があれ
ば、対応するWDMR0のビットを「0」にマスクす
る。DBRR0のRUNを「1」(RUN)に設定す
る。
【0059】4)リード/ライト時にデータアドレスの
比較のみで割り込みを実行させたい場合 DABR0に割り込みを実行させたいデータアドレスを
記述する。DBCR0のMRDを「1」、MWRを
「1」に設定する。リード/ライトの仕方(SB/LB
U/LB、SHW/LHWU/LHW、SW/LW)を
DBCR0のBE〔3:0〕により選択する。データ比
較条件を無視するために、WDMR0の全てのビットを
「0」にマスクする。DBRR0のRUNを「1」(R
UN)に設定する。
【0060】5)リード時のデータアドレス比較とライ
ト時のデータ比較により割り込みを実行させたい場合 DABR0に割り込みを実行させたいデータアドレスを
記述する。DBCR0のMWRを「1」、MRDを
「1」に設定する。リード/ライトの仕方(SB/LB
U/LB、SHW/LHWU/LHW、SW/LW)を
DBCR0のBE〔3:0〕により選択する。あるビッ
トをマスクする必要があれば、対応するWDMR0のビ
ットを「0」にマスクする。DBRR0のRUNを
「1」(RUN)に設定する。0CH/1CH共に割り
込みが起こると、同じベクタアドレスに飛ぶ。どちらの
チャンンネルであるかは、DBRR0のRUNを見れば
判断できる。
【0061】7.シングルステップ このマイクロプロセッサ1には、1命令づつ例外処理を
発生させるシングルステップ機能がついている。MCR
(Cop0 G1)のDBSSE(Debug Break Single
Step Enable Bit)をセットして、DBREAK命令を
実行すると、シングルステップ例外処理ルーチンに入
る。この時点で、全ての割り込みは禁止される。
【0062】シングルステップの例外処理ルーチンでの
プログラム手順は、以下の通りである. 1)割り込みスタックポインタ(ISP(R31))に
シングルステップを実行させたいメイプログラムの先頭
番地をセットする. 2)MCR〔10〕のSSEフラグをセットする. 3)RETI命令を実行すると、次の3スロットを実行
した後、シングルステップを実行させたいメインプログ
ラムのアドレスに分岐する. 4)メインプログラムの1命令を実行すると、自動的に
再びシングルステップ冷眼処理ルーチンに戻ってくる。
そのとき、MCR〔10〕のSSEフラグはクリアされ
る. 5)再度、シングルステップ例外処理ルーチンで、MC
R〔10〕のSSEフラグをセットして、RETIを実
行すると、メイプログラムの次のシングルステッフを実
行させたい命令アドレスへ分岐する。
【0063】シングルステップ例外処理ルーチンを行け
るまで、以上のような処理が繰り返される。シングルス
テッフ処理ルーチンを抜けるためには、シングルステッ
プ例外処理ルーチンの中で、SSEフラグをディスイネ
ーブルにし、実行させたいプログラムカウンタに書き換
えて、RETI命令をを実行する。
【0064】8.命令セット このマイクロプロセッサ1では、コード効率重視のオリ
ジナルな直交型の命令セットが用意されている。コード
体系は、命令セットは16ビットの固定長とされてお
り、OPコードは6ビットである。レジスタ間命令で
は、オペランドに5ビットが割り当てられる。汎用レジ
スタの数は32であるから、5ビットのオペランドで効
率良くコードが定義できる。
【0065】命令としては、即値命令、レジスタ転送命
令、算術命令、比較命令、論理命令、シフト命令、交換
/拡張命令、NOP命令、ビット処理命令、乗除算命
令、メモリ転送命令、コプロセッサ転送命令、分岐命令
からなる。
【0066】1)即値命令 LPI:即値の値をバイトポジションの位置に従って、
アキュムレータにロードする。また、指定されていない
アキュムレータのバイトの内容は保存される. LI:即値の値をバイトワードセレクトに従って、アキ
ュムレータにロードする. LSI,LSIU:即値を指定した汎用レジスタにロー
ドする. SLIL,SLIH:即値の値をバイトポジションの位
置に従ってアキュームレータにロードする。また、指定
されていないアキュームレータの内容は保存される。
【0067】2)レジスタ転送命令 MOV:汎用レジスタ間の転送命令である。
【0068】3)算術命令 ADDSI,ADDSIU:即値加算命令である. ADD,ADDC:レジスタ間加算命令である. ADDU:レジスタ間無符号加算命令である. SUB,SUBB:レジスタ間減算命令である. SUBU:レジスタ間無符号減算命令である。
【0069】4)比較命令 COMPI,COMPIU:即値比較命令である. COMP:レジスタ間比較命令である。SUB命令と同
じ動作を行なうが、結果をDEST1に戻さない. COMPU:レジスタ間の無符号比較命令である。SU
BU命令と同じ動作を行なうが、結果をDEST1に戻
さない。
【0070】5)論理命令 AND,OR,XOR,NOR:論理演算命令である。
【0071】6)シフト命令 SLLV,SRLV,SRAV:間接シフト命令であ
る。SLLVはレジスタ間接論理左シフト命令、SRL
Vはレジスタ間接論理右シフト命令、SRAVはレジス
タ間接算術右シフト命令である. SLL,SRL,SRA:即値シフト命令である。SL
Lは即値論理左シフト命令、SRAは即値論理右シフト
命令、SRAは即値算術右シフト命令である. RR:キャリーを含めた右シフトを即値の回数だけ実行
する命令である。シフトアウトしたビット(実行前のL
SB)は、キャリーへ格納され、また、MSBにはキャ
リーの値が格納される. RL:キャリーを含めた左シフトを即値の回数だけ実行
する命令である。シフトアウトしたビット(実行前のM
SB)は、キャリーへ格納され、また、MSBにはキャ
リーの値が格納される。
【0072】7)交換/拡張命令 XCB:SRC〔15:8〕とSRC1〔7:0〕との
交換命令である. EXU:下位のバイトのゼロ拡張命令である. EXS:下位のバイトのサイン拡張命令である. XCHW:SRC〔OPS:16〕とSRC1〔15:
0〕との交換命令である. EXHZ:下位のハーフワードのゼロ拡張命令である. EXHS:下位のハーフワードのサイン拡張命令であ
る。
【0073】8)NOP命令 NOP:何も実行しない。
【0074】9)ビット処理命令、 BS,BT,BTR,BTS,BTC:ビット処理命令
である。
【0075】10)乗除算命令 MULTUD;SRC1〔15:0〕とSRC2〔1
5:0〕との無符号乗算命令である. DIVU:SRC1とSRC2との無符号除算命令であ
る. MULT:SRC1〔15:0〕とSRC2〔15:
0〕との乗算命令である. DIV:SRC1とSRC2との除算命令である. MTHI:汎用レジスタからHIレジスタへの転送命令
である. MTLO:汎用レジスタからLOレジスタへの転送命令
である. MFHI:HIレジスタから汎用レジスタへの転送命令
である. MFHO:LOレジスタから汎用レジスタへの転送命令
である。
【0076】11)メモリ転送命令 SW,SHW,SB:インデックスが示すアドレスのメ
モリ空間へのストア命令である. LW,LHW,LB:インデックスが示すアドレスのメ
モリ空間からのロード命令である. LHWU,LBU:インデックスが示すアドレスのメモ
リ空間からのロード命令である。 12)コプロセッサ転送命令 CTC1:アキュムレータからコプレッサコントロール
レジスタ1への転送命令である. CFC1:コプレッサコントロールレジスタ1からアキ
ュムレータへの転送命令である. MTC0:汎用レジスタからコプレッサ汎用レジスタ0
への転送命令である. MTC1:汎用レジスタからコプレッサ汎用レジスタ1
への転送命令である. MFC0:コプレッサ汎用レジスタ0から汎用レジスタ
への転送命令である. MFC1:コプレッサ汎用レジスタ1から汎用レジスタ
への転送命令である. SWC0,SWC1:コプロセッサ汎用レジスタからイ
ンデックスが示すアドレスのメモリ空間へのストア命令
である. LWC0,LWC1:インデックスが示すアドレスのメ
モリ空間からコプロセッサ汎用レジスタへのロード命令
である。
【0077】13)分岐命令 <1>プログラムカウンタ相対 RJ,RJAL:プログラムカウンタ相対分岐命令であ
る。RJALはプリディクリメントしたスタックポイン
タの示すアドレスにプログラムカウンタを格納した後、
分岐する。リターン命令によってRJALの次の命令に
戻る. RBEQ/RBZ,RBNE/RBNZ:条件付PC相
対分岐命令である. RBLE,RBGE:条件付プログラムカウンタ相対分
岐命令である. RBLT,RBGT:条件付プログラムカウンタ相対分
岐命令である. RBLTAL,RBGEAL:条件付プログラムカウン
タ相対分岐命令である. RBBE,RBAE:条件付プログラムカウンタ相対分
岐命令である. RBBL,RBAB:条件付プログラムカウンタ相対分
岐命令である. RBBLAT,RBAEL:条件付プログラムカウンタ
相対分岐命令である。
【0078】<2>レジスタ間接 JR,JLR:レジスタ間接分岐命令である. JER/JZR,JNER/JNZR:条件付レジスタ
間接分岐命令である. JLER,JGER:条件付レジスタ間接分岐命令であ
る. JLTR,JGTR:条件付レジスタ間接分岐命令であ
る. JLTALR,JGEALR:条件付レジスタ間接分岐
命令である. JER/JZR,JNER/JNZR:条件付レジスタ
間接分岐命令である. JBER,JAER/JNCR:条件付レジスタ間接分
岐命令である. JBR/JCR,JAR:条件付レジスタ間接分岐命令
である. JBALR,JAEALR:条件付レジスタ間接分岐命
令である。
【0079】<3>プログラムカウンタセグメント J,JAL:プログラムカウンタ分岐命令である. BEQ/BZ,BNE/BNZ:条件付プログラムカン
ウタセグメント分岐命令である. BLE,BGE:条件付プログラムカウンタセグメント
分岐命令である. BLT,BGT:条件付セグメント分岐命令である. BLTAL,BGEAL:条件付プログラムカウンタセ
グメント分岐命令である. BEQ/BZ,BNE/BNZ:条件付プログラムカウ
ンタセグメント分岐命令である. BBE,BAE:条件付プログラムカウンタセグメント
分岐命令である. BBL:BAB:条件付プログラムカウンタセグメント
分岐命令である. BBLAL,BAEAL:条件付プログラムカウンタセ
グメント分岐命令である。
【0080】<4>システムコール及びリターン系命令 RETD:ジャンプアンドリンク時に使用する。スタッ
クポインタの示すアドレスメモリの値をプログラムカウ
ンタに格納した後、スタックポインタをポストインクリ
メントし、RET命令によって分岐命令の次の命令に戻
る. SYSCALL,BREAK,DBREAK:ソフトウ
ェア割り込み(例外処理)を行なうための命令である。
プリディクリメントしたISP(InstructionStack Poi
nter )の示すアドレスにプログラムカウンタを格納し
た後、ICRの4重割り込み許可フラグを左シフトし
て、RETI命令によって次の命令に戻る. RETI:SYSCALL/BREAK/DBREAK
命令の例外処理から戻るときに使用する。ISPの示す
アドレスのメモリの値をプログラムカウンタに格納した
後、ISPをポストクリメントし、ICRの4重割り込
み許可フラグを右にシフトする。RETI命令によって
SYSCALL/BREAK/DBREAK命令の次の
命令に戻る. JIBIO:{JBR〔31:11〕,セグメントアド
レス〔9:0〕,0}への分岐命令である。
【0081】9.レジスタ間分岐命令について 上述のように、命令セットの中には、即値の値をバイト
ポジションの位置に従ってアキュームレータにロードす
るための命令であるSLIL(Small Load Immediate L
ow),SLIH(Small Load Immediate High )が含め
られている。図13A及び図14Aに示すように、命令
SLIL及びSLIHは、16ビットの命令セットで、
上位6ビットがオペコード、次の10ビットが即値のオ
ペランドである。命令SLIL及びSLIHにより、即
値の値がバイトポジションの位置に従ってアキュームレ
ータに保存される。
【0082】アキュームレータへ保存されるビットポジ
ションは、図13Bに示すように、命令SLILでは、
0ビットは0に固定され、1ビットから10ビットにオ
ペランドの10ビットの即値が入れられ、11ビットか
ら31ビットはオール0とされる。図14Bに示すよう
に、命令SLIHでは、11ビットから20ビットにオ
ペランドの10ビットの即値が入れられ、21ビットか
ら31ビットはオール1とされる。
【0083】図15に示すように、32ビットのRIS
Cプロセッサでは、アドレス空間が4GByte(00
00_0000からFFFF_FFFF)まである。S
LIL及びSLIH命令により、アドレス空間を上位2
MByte(FFE0_0000からFFFF_FFF
F)に限定してLong型のレジスタ分岐命令を3命令
で行なうことができる。
【0084】例えば、FFE4_5678hに分岐する
場合、従来では、LPI命令を使って、 LPI LL,#78h LPI LH,#56h LPI HL,#E4h LPI HH,#FFh JR ACC(レジスタ間分岐命令) の5命令で処理を行なっている。これに対して、SLI
L及びSLIH命令を使うと、 SLIL,#33Ch SLIH,#08Ah JR ACC(レジスタ間分岐命令) の3命令で処理できる。
【0085】つまり、分岐するアドレス即値FFE4_
5678は、2進数で表すと、 1111_1111_1110_0100_0101_0110_0111_1000 となる。SLIL命令の即値に与えられる33Chは1
0ビットで表すと、 11_0011_1100 となり、また、SLIH命令の即値に与えられる08A
hは10ビットで表すと、 00_0100_1010 となる。
【0086】したがって、SLIL命令によるビットポ
ジションは、図16Aに示すようになり、更に、SLI
H命令によるビットポジションは、図16Bに示すよう
になる。このように、アキュームレータの値は、 1111_1111_1110_0100_0101_0110_0111_1000 となり、FFE4_5678に分岐できることになる。
【0087】このように、SLIL及びSLIH命令に
より、アドレス空間を上位2MByteに限定してLo
ng型のレジスタ分岐命令を3命令で行なうことができ
るようになる。なお、従来とのコードの互換性を保つた
めに、プログラムのコード空間を上位2MByte(F
FE00000h〜FFFFFFFFh)に配置するコ
ンパイラオプションを設けて対応するようにしている。
【0088】
【発明の効果】この発明によれば、SLIL及びSLI
H命令を用いることにより、アドレス空間を上位2MB
yteに限定してLong型のレジスタ分岐命令を3命
令で行なうことができる。従来5命令必要であったもの
が3命令で行なえるので、コード効率が改善され、分岐
命令の多いプログラムでは、例えば5パーセント程度の
性能の向上が図れる。
【0089】また、この発明によれば、レジスタ群はコ
プロセッサレジスタを含み、コプロセッサレジスタは、
分岐命令の変更で同一のオペコードで複数の命令を行な
えるようにするためのレジスタを含む。これにより、同
一のオペコードで複数の命令セットを定義できる。ま
た、簡易型のスタックを実現するためのレジスタを含
み、これを利用して、割り込み制御ビットを自動的に退
避できる。
【図面の簡単な説明】
【図1】この発明が適用されたマイクロプロセッサの内
部構成を示すブロック図である。
【図2】この発明が適用されたマイクロプロセッサの外
部インターフェースの説明に用いるブロック図である。
【図3】この発明が適用されたマイクロプロセッサにお
ける汎用レジスタの説明に用いるブロック図である。
【図4】この発明が適用されたマイクロプロセッサにお
けるコプロセッサレジスタの説明に用いるブロック図で
ある。
【図5】この発明が適用されたマイクロプロセッサにお
けるコプロセッサレジスタのMCRの説明に用いるブロ
ック図である。
【図6】この発明が適用されたマイクロプロセッサにお
けるオペコードマップの説明に用いる略線図である。
【図7】この発明が適用されたマイクロプロセッサにお
けるオペコードマップの説明に用いる略線図である。
【図8】この発明が適用されたマイクロプロセッサにお
けるオペコードマップの説明に用いる略線図である。
【図9】この発明が適用されたマイクロプロセッサにお
けるメモリ空間の説明に用いる略線図である。
【図10】この発明が適用されたマイクロプロセッサに
おける割り込み説明に用いる略線図である。
【図11】この発明が適用されたマイクロプロセッサに
おける割り込み処理の説明に用いる略線図である。
【図12】この発明が適用されたマイクロプロセッサに
おける割り込み処理の説明に用いる略線図である。
【図13】この発明が適用されたマイクロプロセッサに
おけるコマンドの説明に用いる略線図である。
【図14】この発明が適用されたマイクロプロセッサに
おけるコマンドの説明に用いる略線図である。
【図15】この発明が適用されたマイクロプロセッサの
メモリ空間の説明に用いる略線図である。
【図16】この発明が適用されたマイクロプロセッサに
おけるコマンドの説明に用いる略線図である。
【図17】従来のマイクロプロセッサにおけるコマンド
の説明に用いる略線図である。
【符号の説明】
1・・・マイクロプロセッサ,6・・・命令デコーダ,
8・・・割り込みコントローラ,9・・・汎用レジスタ
群,11・・・ALU,12・・・乗除算演算部

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 命令処理のタスクを単純なステージに分
    解してパイプライン制御で命令セットをデコードする命
    令デコーダと、 算術演算を行なう算術演算論理ユニットと、 レジスタ群と、 乗算及び除算を高速に行なうための高速乗除算ユニット
    と、 割り込み処理を行なうための割り込みコントローラとを
    有し、 全体のアドレス空間のうちの上位のアドレス空間に制限
    してロング型のレジスタ分岐命令を行なう命令セットを
    設けるようにしたことを特徴とする縮小命令セットのマ
    イクロプロセッサ。
  2. 【請求項2】 上記高速乗除算ユニットは、上記算術演
    算論理ユニットから独立して乗算及び除算を行なうよう
    にした請求項1に記載のマイクロプロセッサ。
  3. 【請求項3】 上記レジスタ群は、専用コントロールレ
    ジスタ群と、汎用レジスタ群とからなる請求項1に記載
    のマイクロプロセッサ。
  4. 【請求項4】 上記汎用レジスタ群は、アキュームレー
    タを含む請求項3に記載のマイクロプロセッサ。
  5. 【請求項5】 上記汎用レジスタ群は、スタックポイン
    タを含む請求項3に記載のマイクロプロセッサ。
  6. 【請求項6】 上記汎用レジスタ群は、割り込みスタッ
    クポインタを含む請求項3に記載のマイクロプロセッ
    サ。
  7. 【請求項7】 上記レジスタ群は、更に、コプロセッサ
    レジスタを含む請求項3に記載のマイクロプロセッサ。
  8. 【請求項8】 上記コプロセッサレジスタは、分岐命令
    の変更で同一のオペコードで複数の命令を行なえるよう
    にするためのレジスタを含む請求項7に記載のマイクロ
    プロセッサ。
  9. 【請求項9】 上記コプロセッサレジスタは、簡易型の
    スタックを実現するためのレジスタを含む請求項7に記
    載のマイクロプロセッサ。
  10. 【請求項10】 上記全体のアドレス空間は4Gバイト
    である請求項1に記載のマイクロプロセッサ。
  11. 【請求項11】 上記命令セットは上記16ビットの固
    定長とされている請求項1に記載のマイクロプロセッ
    サ。
  12. 【請求項12】 上記制限するアドレス空間は上記2M
    バイトである請求項1に記載のマイクロプロセッサ。
JP10756898A 1997-06-20 1998-04-17 マイクロプロセッサ Pending JPH1173314A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10756898A JPH1173314A (ja) 1997-06-20 1998-04-17 マイクロプロセッサ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP16435897 1997-06-20
JP9-164358 1997-06-20
JP10756898A JPH1173314A (ja) 1997-06-20 1998-04-17 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH1173314A true JPH1173314A (ja) 1999-03-16

Family

ID=26447589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10756898A Pending JPH1173314A (ja) 1997-06-20 1998-04-17 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH1173314A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945766B2 (en) 2008-03-21 2011-05-17 Fujitsu Limited Conditional execution of floating point store instruction by simultaneously reading condition code and store data from multi-port register file

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945766B2 (en) 2008-03-21 2011-05-17 Fujitsu Limited Conditional execution of floating point store instruction by simultaneously reading condition code and store data from multi-port register file

Similar Documents

Publication Publication Date Title
KR100268635B1 (ko) 마이크로 컴퓨터 및 제산 회로
US6708268B1 (en) Microcontroller instruction set
EP2524303B1 (en) Mapping between registers used by multiple instruction sets
US6560697B2 (en) Data processor having repeat instruction processing using executed instruction number counter
US5522053A (en) Branch target and next instruction address calculation in a pipeline processor
EP0627681B1 (en) Apparatus and method for processing data with a plurality of flag groups
EP0762272A2 (en) Microprocessors and apparatus including same
US5812809A (en) Data processing system capable of execution of plural instructions in parallel
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
US20100011191A1 (en) Data processing device with instruction translator and memory interface device to translate non-native instructions into native instructions for processor
US5193156A (en) Data processor with pipeline which disables exception processing for non-taken branches
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
JP4004915B2 (ja) データ処理装置
US5461715A (en) Data processor capable of execution of plural instructions in parallel
KR19980069845A (ko) 데이터 처리장치
US6223275B1 (en) Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions
JP4073721B2 (ja) データ処理装置
US6209080B1 (en) Constant reconstruction processor that supports reductions in code size and processing time
US6408380B1 (en) Execution of an instruction to load two independently selected registers in a single cycle
KR19980018071A (ko) 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리
JPH1173314A (ja) マイクロプロセッサ
US5745723A (en) Data processing system capable of execution of plural instructions in parallel
JPH1115660A (ja) マイクロプロセッサ
JPH09330218A (ja) マイクロプロセッサ
JP2002157115A (ja) データ処理装置