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

マイクロプロセッサ

Info

Publication number
JPH0798652A
JPH0798652A JP6145497A JP14549794A JPH0798652A JP H0798652 A JPH0798652 A JP H0798652A JP 6145497 A JP6145497 A JP 6145497A JP 14549794 A JP14549794 A JP 14549794A JP H0798652 A JPH0798652 A JP H0798652A
Authority
JP
Japan
Prior art keywords
comparison
condition
alu
data
storage unit
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.)
Withdrawn
Application number
JP6145497A
Other languages
English (en)
Inventor
Yasuhiko Takahashi
保彦 高橋
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel 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 Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP6145497A priority Critical patent/JPH0798652A/ja
Publication of JPH0798652A publication Critical patent/JPH0798652A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ビット幅の大きいデータの条件比較を短時間
で行うことができるマイクロプロセッサを提供する。 【構成】 バス5またはALU3の演算結果のデータの
中から比較パターンをとって条件比較記憶部4の比較パ
ターン部9に入力し、マイクロプログラム7より与えら
れる制御信号によって、この比較パターンとALU3の
演算結果とを比較する。そして、条件比較記憶部4の出
力値部11およびフラグ部12の中から、上記比較の結
果一致したところの出力値とフラグデータとをバス5お
よびシーケンサ6に出力し、これらの出力データに応じ
て、実行制御部2によりALU3の動作を制御するよう
にすることにより、リアルタイム性の要求されるフロー
制御にも柔軟に対応できるようにする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサに
関する。
【0002】
【従来の技術】マイクロプロセッサにおける、IF,J
UMP,GO TOなどのフロー制御は、外部信号入力
や算術論理演算ユニット(ALU)のフラグ等の状態に
より行われている。
【0003】図3は、従来のマイクロプログラム型のマ
イクロプロセッサ(MPU)の基本構成図であり、説明
上特に関係ある構成部分のみを示したものである。図3
において、実行制御部20のシーケンサ21内のプログ
ラムカウンタ22で指示されたアドレスのデータは、通
常、マイクロプログラム23が実行すべきALU24に
対する演算命令として出力される。マイクロプログラム
23からは、この演算命令に加え、演算すべきデータが
バス25に与えられるとともに、所定の制御信号が外部
へ出力される。
【0004】ALU24の演算結果は、シーケンサ21
に入力されたり、演算結果の利用のためにバス25に与
えられる。シーケンサ21には、この演算結果の他、A
LU24の演算状況等を示すフラグ情報、外部からの情
報およびマイクロプログラム23からのフロー制御情報
が与えられ、これらの情報により、シーケンサ21の実
行が制御される。
【0005】マイクロプログラム23のフロー制御は、
外部割込信号の内容、種類およびALU24の演算結果
のフラグに応じて、命令の実行先が変更されて行われ
る。特に、フロー制御がデータに基づいて行われる場合
には、ALU24の演算結果に応じて行われる。
【0006】
【発明が解決しようとする課題】しかしながら、従来の
マイクロプロセッサにおいては、ALU24の演算結果
の比較は、一回に一つのパターン比較しかできないた
め、多くの比較をしようとすると、その分だけ時間がか
かってしまうという問題があった。また、フロー制御の
方法として、マルチウェイ分岐による方法も考えられる
が、例えば、32ビットデータの比較になると、論理的
には4ギガ通りのフロー制御が可能となってしまうの
で、その分だけアドレス空間を用意しなければならなく
なり、現実的ではない。特に、リアルタイム性能を要求
されるマイクロプロセッサにおいては、ビット幅の大き
い条件比較を行うことができなかった。
【0007】そこで本発明は、マイクロプロセッサにお
いて、広いビット幅の条件比較を短時間で行うことがで
きるようにすることを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明のマイクロプロセッサは、算術論理演算ユニ
ット(ALU)と、前記ALUのデータバスに接続さ
れ、少なくとも複数の比較演算の比較パターンおよび前
記比較パターンに対応する出力値を記憶し、前記ALU
から演算結果を受けて前記演算結果と一致する比較パタ
ーンに対応する出力値を出力する条件比較記憶部と、前
記ALUと前記条件比較記憶部とに接続され、前記AL
Uと前記条件比較記憶部とを制御する実行制御部と、を
含む。
【0009】前記条件比較記憶部は、コンテントアドレ
ッサブルメモリとプログラマブルロジックアレイのうち
の1つを含むんでもよい。
【0010】さらに、前記条件比較記憶部は、前記複数
の比較演算の条件ナンバーを記憶するための条件ナンバ
ー部と、前記複数の比較演算の比較パターンを記憶する
ための比較パターン部とを含み、かつ、前記ALUから
演算結果とともに比較演算の条件ナンバーを受けて、前
記受けた条件ナンバーが前記記憶された条件ナンバーと
一致する範囲で、前記演算結果と一致する比較パターン
に対応する出力値を出力するようにしてもよい。
【0011】また、前記条件比較記憶部は、前記ALU
からの演算結果と一致する比較パターンに対応する出力
値とともに、比較状況を示すフラグデータをさらに出力
するようにしてもよい。
【0012】
【作用】上記のマイクロプロセッサにおいて、ALUの
演算結果に基づいて条件比較記憶部が分岐先のアドレス
を表す出力値を出力し、ALUが分岐先のアドレスの実
行命令を処理することにより、ビット幅の大きいデータ
の迅速な条件比較が可能となり、柔軟なフロー制御を行
うことができる。
【0013】
【実施例】以下、本発明の第1の実施例を、図1を用い
て説明する。図1において、1はマイクロプロセッサ
(MPU)、2は実行制御部、3は算術論理演算ユニッ
ト(ALU)、17はレジスタである。また、4は条件
比較記憶部であるコンテントアドレッサブルメモリ(C
AM)であり、バスライン5、シーケンサ6およびマイ
クロプログラム7に接続されている。ここでは、条件比
較記憶部としてCAMを一例として用いているが、プロ
グラマブルロジックアレイなどを用いてもよいし、ま
た、その他の連想メモリを用いてもよい。
【0014】条件比較記憶部4は、条件ナンバー部8と
比較パターン部9とからなる比較部10と、出力値部1
1とフラグ部12とからなる出力部13とから構成され
る。そして、条件ナンバー部8に対応したレジスタ14
には、マイクロプログラム7から入力される制御信号に
より、バス5からのデータがストアされ、その後条件ナ
ンバー部8に出力される。マイクロプログラム7からの
制御信号は、条件比較記憶部4へも与えられる。条件比
較記憶部4において、比較パターン部9には、ALU3
からのデータバスが接続され、出力値部11は、バス5
に接続される。また、フラグ部12の比較部10での比
較状況を示すフラグデータは、信号線によりシーケンサ
6へ与えられる。
【0015】次に、上記構成よりなるマイクロプロセッ
サの動作を説明する。条件比較記憶部4として用いてい
るCAMに比較用の複数のタグとデータとの対があらか
じめ記憶されていれば、外部からタグが入力されたとき
に、その入力されたタグと一致する比較用タグに対応す
るデータを出力する。本実施例においては、複数の比較
演算の条件ナンバーと比較パターンとをタグに、また、
それらの比較演算の出力値とフラグデータとを出力デー
タに対応させてCAMに記憶させる。なお、条件ナンバ
ーは、後で述べるグルーピングにおいて用いるものであ
るので、条件ナンバー部8がなくても動作は可能であ
る。また、比較パターンの内容は、分岐先のアドレスを
実行させるための条件を示している。
【0016】実行されるプログラムに条件比較命令があ
ると、マイクロプログラム7によりその内容が実行され
る。そして、そのマイクロプログラム7の実行時に、マ
イクロプログラム7の制御のもとで、この条件比較命令
の条件と分岐先とを表すALU3の演算結果のデータの
部分が、バス5またはALU3からレジスタ17を介し
て条件比較記憶部4に入力され、比較パターンと比較さ
れる。
【0017】つまり、マイクロプログラム7から条件比
較記憶部4に与えられる制御信号によって、バス5また
はALU3からレジスタ17を介して得られた演算結果
のデータが、比較パターン部9に記憶された比較パター
ンと比較される。
【0018】その比較の結果一致したものがあれば、出
力部13の出力値部11およびフラグ部12の中から、
一致したところの出力値およびフラグデータがバス5お
よびシーケンサ6、またはそのいずれかへ出力される。
そして、バス5を介してこの出力値をもとに、分岐先の
アドレスの実行命令がALU3で処理される。
【0019】以上説明したように、CAM等を条件比較
記憶部として利用して、比較パターンと演算結果のデー
タとの比較を実行させることにより、入力した比較パタ
ーンに応じて条件比較を行って、指定されたアドレスへ
プログラムの実行場所を変更することができ、データも
従来より大きいビット幅での比較が短時間でできるよう
になるので、リアルタイム性の要求されるフロー制御を
行うことが可能となる。
【0020】また、条件比較記憶部であるCAM等の内
容は自由に変更できるので、一旦設定したシステムの変
更を比較パターンの変更により行うことができるように
なり、このため、応用範囲も広くなるというメリットを
有する。そして、フィールドプログラマブルゲートアレ
イなどへの利用も有効である。
【0021】さらに、前述の条件ナンバーを用いて、同
一の条件ナンバーを持ついくつかのデータ毎に比較すべ
きデータをグルーピングすることができ、同一条件で比
較すべきデータが増えたときには、このグルーピングを
用いてデータの比較を行うことにより、プログラムの新
たな実行先の変更を容易に行うことが可能となる。
【0022】このグルーピングの例を次に説明する。あ
るプログラム中のモジュールAが実行中にある演算結果
1 となったときは他のモジュールCを実行させ、ま
た、演算結果x2 となったときはモジュールDを実行さ
せる一方、モジュールBが実行中にその演算結果x1
なったときはモジュールEを実行させ、また、その演算
結果x2 となったときはモジュールFを実行させるとい
うような場合には、比較パターンだけでなくモジュール
の区別も必要となる。
【0023】そのために、レジスタ14において、AL
U3の演算結果のデータの一部を、モジュールA実行中
の比較パターンx1 ,x2 のグループ♯1と、モジュー
ルB実行中の比較パターンx1 ,x2 のグループ♯2と
に区別して、これらのグループ番号を条件ナンバーとし
て条件ナンバー部8に記憶する。
【0024】そして、モジュールAの実行中にレジスタ
14にグループ♯1を指定するステップと、演算結果の
データを比較パターンと比較するステップとによって、
実行中のモジュールが条件ナンバー部8に記憶された条
件ナンバーと一致し、かつ、演算結果が比較パターン部
9に記憶された比較パターンと一致する場合に、これら
に対応する出力値およびフラグデータを出力することが
でき、これによりグルーピングが可能となる。
【0025】また、図1にあるように、レジスタ30と
セレクタ31とを設け、比較パターンビット中にマス
ク、言い換えればDon't Careをセットするようにするこ
ともできる。
【0026】まず、マイクロプログラム7で、レジスタ
30に、マイクロプログラム7の制御のもとでマスクパ
ターンを入力する。例えば、24ビット中“1”のある
ところのビットはDon't Careとする。
【0027】そして、次に、セレクタ31に、レジスタ
30の方を選択するか、あるいは、グラウンドに接続さ
れている方を選択するかがマイクロプログラム7からの
制御で行われる。グラウンドに接続されている方が選択
されると、すべての値が0となり、比較パターン中でDo
n't Careとなるものはなくなる。一方、セレクタ31の
方が選択されると、Don't Careにされたものが含まれる
形で比較が行われることになる。一般に、CAMには、
このマスク機能があるのでそれを利用する。
【0028】次に、第2の実施例について、図2を用い
て説明する。図2においては、図1と同じものについて
は同じ番号を付している。図1との差異は、さらにもう
一つの条件比較記憶部4’と、ロードシーケンサ16と
を付加している点である。
【0029】条件比較記憶部4’には、条件比較記憶部
4と同様に、条件ナンバー部8’および比較パターン部
9’からなる比較部10’と、出力値部11’およびフ
ラグ部12’からなる出力部13’とが含まれる。
【0030】ロードシーケンサ16は、外部記憶装置、
例えばハードディスクからインタフェースを介して入力
されたデータを条件比較記憶部4または4’のどちらか
へストアするための制御を行うものである。
【0031】外部記憶装置内には、実行されるプログラ
ムに必要な比較データが複数に分けてストアされてい
る。例えば、プログラムAの実行において必要な比較デ
ータa、プログラムBの実行において必要な比較データ
b、プログラムCの実行において必要な比較データc、
等というように分けてストアされている。
【0032】これにより、比較データが多いときに、予
め実行プログラムが使う比較データを事前に用意できる
ことになる。
【0033】次に、この実施例の動作を説明する。実行
されるプログラム中のどの部分にどの比較パターンが必
要かが予め分かっているので、ロードシーケンサ16に
必要なプログラムカウンタの値をストアしておく。
【0034】シーケンサ6の中のプログラムカウンタ1
5の値が、ロードシーケンサ16に入力される。ロード
シーケンサ16では、この入力された値が、ストアされ
ている所定の値と同じか否かを判断し、所定の値であれ
ば、アドレスおよびデータバスを介して、外部RAM
(図示せず)から条件比較記憶部4または4’にストア
すべき比較データを読み込む。
【0035】例えば、現在実行中の部分のプログラムA
が使う比較データaが条件比較記憶部4にストアされて
いる場合に、プログラムカウンタ15の値が所定の値に
なったときに、それ以降に実行されるプログラムBが使
う比較データbを、先行して条件比較記憶部4’にスト
アする。
【0036】そして、ロードシーケンサ16が条件比較
記憶部4’に比較データbをストアした後、その比較デ
ータbを使用するプログラムBが実行され、今度は、条
件比較記憶部4’の内容でフロー制御が行われる。
【0037】同様に、プログラムカウンタ15の値が次
の所定の値になったことをロードシーケンサ16が検出
すると、それ以降に実行されるプログラムCが使う比較
データcを、先行して条件比較記憶部4にストアする。
【0038】ロードシーケンサ16は、必要な比較デー
タがある外部記憶装置のアドレスを指定してデータを取
り、条件比較記憶部4または4’へ入力する。そして、
ロードシーケンサ16は、条件比較記憶部4または4’
にアドレスを指定して、データラインにそのデータを出
力し、書き込みストローブ信号でタイミングをとりなが
ら、外部記憶装置からの比較データを条件比較記憶部4
または4’へ出力する。
【0039】以上の例では、プログラムカウンタ15の
値に基づいてロードシーケンサ16の動作を決めていた
が、ロードシーケンサ16に対して外部RAMから比較
パターンをロードするための独自の命令をアプリケーシ
ョンプログラム中に書くようにしてもよい。
【0040】また、以上の例では、外部RAMから比較
パターンを読み込むようにしていたが、データバス形式
でなければ、デュアルポートメモリを設け、その中に外
部メモリから比較パターンを書き込み、そこから読み出
すようにしてもよい。
【0041】なお、本実施例においても、第1の実施例
と同様に、レジスタ30とセレクタ31とを設けてもよ
い。
【0042】
【発明の効果】以上説明したように本発明によれば、マ
イクロプロセッサにおいて、大きなビット幅のデータの
条件比較を短時間で行うことが可能となり、リアルタイ
ム性の要求されるフロー制御にも柔軟に対応できるよう
になる。
【図面の簡単な説明】
【図1】本発明の第1の実施例によるマイクロプロセッ
サを示す構成図である。
【図2】本発明の第2の実施例によるマイクロプロセッ
サを示す構成図である。
【図3】従来のマイクロプログラム型マイクロプロセッ
サを示す構成図である。
【符号の説明】
1 マイクロプロセッサ(MPU) 2 実行制御部 3 算術論理演算ユニット(ALU) 4、4’ 条件比較記憶部 5 バス 6 シーケンサ 7 マイクロプログラム 8、8’ 条件ナンバー部 9、9’ 比較パターン部 10、10’ 比較部 11、11’ 出力値部 12、12’ フラグ部 13、13’ 出力部 14 レジスタ 15 プログラムカウンタ 16 ロードシーケンサ 17 レジスタ 30 レジスタ 31 セレクタ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 算術論理演算ユニット(ALU)と、 前記ALUのデータバスに接続され、少なくとも複数の
    比較演算の比較パターンおよび前記比較パターンに対応
    する出力値を記憶し、前記ALUから演算結果を受けて
    前記演算結果と一致する比較パターンに対応する出力値
    を出力する条件比較記憶部と、 前記ALUと前記条件比較記憶部とに接続され、前記A
    LUと前記条件比較記憶部とを制御する実行制御部と、
    を含むことを特徴とするマイクロプロセッサ。
  2. 【請求項2】 前記実行制御部は、シーケンサであるこ
    とを特徴とする請求項1記載のマイクロプロセッサ。
  3. 【請求項3】 前記条件比較記憶部は、コンテントアド
    レッサブルメモリとプログラマブルロジックアレイのう
    ちの1つを含むことを特徴とする請求項1記載のマイク
    ロプロセッサ。
  4. 【請求項4】 前記条件比較記憶部は、前記複数の比較
    演算の条件ナンバーを記憶するための条件ナンバー部
    と、前記複数の比較演算の比較パターンを記憶するため
    の比較パターン部とを含み、かつ、前記ALUから演算
    結果とともに比較演算の条件ナンバーを受けて、前記受
    けた条件ナンバーが前記記憶された条件ナンバーと一致
    する範囲で、前記演算結果と一致する比較パターンに対
    応する出力値を出力することを特徴とする請求項1記載
    のマイクロプロセッサ。
  5. 【請求項5】 前記条件比較記憶部は、前記ALUから
    の演算結果と一致する比較パターンに対応する出力値と
    ともに、比較状況を示すフラグデータをさらに出力する
    ことを特徴とする請求項1記載のマイクロプロセッサ。
JP6145497A 1993-06-04 1994-06-03 マイクロプロセッサ Withdrawn JPH0798652A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6145497A JPH0798652A (ja) 1993-06-04 1994-06-03 マイクロプロセッサ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP16030893 1993-06-04
JP5-160308 1993-06-04
JP6145497A JPH0798652A (ja) 1993-06-04 1994-06-03 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH0798652A true JPH0798652A (ja) 1995-04-11

Family

ID=26476592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6145497A Withdrawn JPH0798652A (ja) 1993-06-04 1994-06-03 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH0798652A (ja)

Similar Documents

Publication Publication Date Title
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
US4825355A (en) Instruction format for program control type data processing systems
US6006315A (en) Computer methods for writing a scalar value to a vector
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
US4739470A (en) Data processing system
JPH0414385B2 (ja)
US5519649A (en) Micro-processor having rapid condition comparison function
JPH05150979A (ja) 即値オペランド拡張方式
US4656581A (en) Vector mask control system
US5124910A (en) Microprogram control apparatus for generating a branch condition signal to be designated by a micro-branch instruction
US6704858B1 (en) Information processor and method for switching those register files
EP0660229B1 (en) Method and apparatus for modifying the contents of a register
US5479620A (en) Control unit modifying micro instructions for one cycle execution
EP0325226B1 (en) Information processing apparatus and method
JPH0798652A (ja) マイクロプロセッサ
JP2793357B2 (ja) 並列演算装置
JPH02113334A (ja) タグ付計算機
JPS6113345A (ja) タグ付デ−タ処理装置
JPH01159730A (ja) マイクロプログラム制御装置
JPS61157945A (ja) マイクロ命令読み込み回路
JPS61194566A (ja) ベクトルデ−タ参照制御方式
JPH0239325A (ja) マイクロ・シーケンス制御方式
JPH03164849A (ja) マイクロプロセッサおよびマイクロプロセッサシステム
JPH02178836A (ja) 中央演算処理装置
JPS6389930A (ja) マイクロプログラム制御装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010904