JPH052481A - 演算制御回路 - Google Patents

演算制御回路

Info

Publication number
JPH052481A
JPH052481A JP3309184A JP30918491A JPH052481A JP H052481 A JPH052481 A JP H052481A JP 3309184 A JP3309184 A JP 3309184A JP 30918491 A JP30918491 A JP 30918491A JP H052481 A JPH052481 A JP H052481A
Authority
JP
Japan
Prior art keywords
register
instruction
loop
address
value
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
JP3309184A
Other languages
English (en)
Inventor
Takeshi Ofuji
健 大藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of JPH052481A publication Critical patent/JPH052481A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ループのオーバーヘッドなしのネスティング
と、サブルーチンコール/リターンのネスティングの双
方を最小のハードウェアで実現する。 【構成】 サブルーチンコールとサブルーチンリターン
時に使用する命令メモリ15のアドレスを保持しておく
スタックレジスタと、ループ動作の開始アドレスを保持
しておくスタックレジスタとそれらのポインタを共有さ
せたプログラムスタックレジスタ112を備えている。 【効果】 少ないハードウェアで、ネスティングのある
サブルーチンコール/リターンと、ネスティングのある
ループ機能を効率よく矛盾なく実現。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高速な処理を必要とさ
れる集積回路装置において、演算を制御する演算制御回
路に関する。
【0002】
【従来の技術】集積回路装置(LSI)のうち、論理L
SIと呼ばれる回路装置がある。これは、メモリなどの
記憶装置に蓄えられたデータを用いて実際の数値演算や
論理演算などを行うものである。この論理LSIにおい
ては、プログラムの実行を実現し易くするためサブルー
チンコール/リターンや、条件ジャンプなどの機能を持
っているのが当たり前になってきている。
【0003】更に、論理回路に不可欠な機能としてはル
ープ機能がある。これは、図6に示すようにループの開
始命令nからループの終了命令mまでを指定された回数
だけ繰り返すというもので、例えばFORTRAN言語
におけるDO文を実行するような場合非常に有効であ
る。
【0004】従来の最も基本的な技術では、このループ
機能を条件ジャンプ機能を用いて実現する。その場合の
演算制御回路のハードウェアを図7に示す。すなわち従
来の回路に加えて、ループ回数レジスタ18とデクリメ
ンタ17を用意する。そしてループ回数レジスタ18の
中身を、条件フラグレジスタ16の中身と同じく条件分
岐の条件とすることができるように論理回路20を構成
する。
【0005】実際のプログラムにおいては、まずループ
の回数をループ回数レジスタ18にセットする。その後
は順次そのまま命令を実行するが、ループの最後の命令
のつぎの命令に、ループ回数レジスタ18をデクリメン
トする命令を書いておき、更にそのつぎの命令に、ルー
プ回数レジスタ18の中身が1でないならばループの最
初の命令にジャンプするという意味の条件ジャンプ命令
を書いておく。このようにしておき、命令を順次実行す
るとループの最初の命令から最後の命令までをループ回
数レジスタ18に指定した回数だけ繰り返すことができ
る。
【0006】しかし、この従来例による演算制御回路で
は、毎ループに、本来の命令列に加えて、ループ回数レ
ジスタ18のデクリメント命令と条件ジャンプ命令を実
行せねばならず、その分命令の実行効率が落ちるという
問題点がある。
【0007】これを回避するため、その後考案された演
算制御回路では条件ジャンプ命令を用いず、ループの開
始命令とループの終了命令を命令中に組み込んでおき、
ループ専用のハードウェアを備えるという方法をとる。
図8にこの第2の従来例を示す。この従来例では図7で
用意したハードウェアに加えて、ループ専用で使用する
ループ戻り番地スタックレジスタ22とループ回数スタ
ックレジスタ19を用意している。
【0008】この従来例の動作をこのハードウェアの図
8とプログラムの模式図9を用いて以下に説明する。命
令列中にループの開始命令がくると、その命令の命令メ
モリ15の番地をループ戻り番地スタックレジスタ22
にプッシュし(この例ではn番地)、同じくその命令中
に記述されているループ回数をループ回数レジスタ18
に入れると共にループ回数スタックレジスタ19にプッ
シュする。
【0009】そして、そのつぎの命令に進む。ループの
終了命令がくると、ループ回数レジスタ18の値が1か
否かをチェックし、もし1でないならばループ回数レジ
スタ18をデクリメントし、更にループ戻り番地スタッ
クレジスタ22のいちばん上に書いているアドレスを命
令アドレスレジスタ13に入れる。ループ戻り番地スタ
ックレジスタ22のポインタは動かさない。もし1なら
ばループ戻り番地スタックレジスタ22とループ回数ス
タックレジスタ19はポップするが、そのポップされた
値は捨ててしまい、命令アドレスレジスタ13には現在
のアドレスをインクリメントした値を入れる。
【0010】このような手順を全てハードウェアでサポ
ートすることにより、オーバーヘッド無しのループ機能
を全てサポートすることができる。しかしながら、この
従来例の演算制御回路においては、プログラムスタック
レジスタ21に加えループ戻り番地スタックレジスタ2
2とループ回数スタックレジスタ19を更に持たねばな
らず、ハードウェアの著しい増加を伴うという欠点があ
る。
【0011】一方、論理LSIに備えられるプロセッサ
の制御方式としてマイクロ命令を使用した方式があっ
た。このマイクロ命令の構成方法としては、以下のよう
な方法が考えられていた。
【0012】第1は、図10に示すような水平型マイク
ロ命令直接制御方式と呼ばれるものである。この方式に
よるマイクロ命令の構成方法は、命令を構成する各ビッ
トが、プロセッサ内部のゲートなどを調節制御するマイ
クロ操作信号401と1対1に対応する方法である。こ
のため、それぞれのゲートの制御を並列かつ独立に行う
ことができる。この方式では、複数のビットをまとめて
コード化していないため、デコード時間が必要なく、す
べての演算器を並列に制御できる。
【0013】しかしながら、この水平型マイクロ命令方
式では、それぞれのマイクロ操作信号401がまとめて
コード化されていないため、内部構成が複雑になり多く
の信号線が必要になる。これにより、命令のビット幅が
増大するため、命令メモリー容量と配線量の増大をもた
らし、結果として非常に多くのハードウェアを必要とし
ていた。
【0014】第2の方式は、図11に示すような垂直型
マイクロ命令方式と呼ばれるもので、同時に動作するマ
イクロ操作の種類や数に制限を付けて符号化し、マイク
ロ命令のビット幅を減少させたものである。この垂直型
マイクロ命令の構成方法は、機械語命令に近い形式を取
ることが多い。同図に示す垂直型マイクロ命令は、実行
する動作を示す操作コード501、及び演算回路の入力
や結果の行き先などを指定する操作オペランドフィール
ド502,503,504から構成されている。
【0015】この垂直型では、ハードウェアとしては同
時に動作できるマイクロ操作であっても、マイクロ命令
として同時に指定できない場合がある。従って、前述の
水平型の場合には1マイクロ命令で行うことのできる操
作であっても、2マイクロ命令以上必要とする事がおこ
る。例えば、図13のように構成されるプロセッサにお
けるデータ転送命令において、レジスタAからレジスタ
CとレジスタDに同じデータを転送したいとき、レジス
タCとレジスタDがマイクロ命令の同一部分(例えば、
図11のフィールド502)でコード化されているとす
ると、レジスタCとレジスタDを同時に指定することが
できない。この結果、2サイクルの時間が必要になる。
【0016】すなわち、この方式ではマイクロ命令のビ
ット幅が節約できる代りに、並列に実行できる演算、ま
たは指定できるレジスタの数が制限される。このため、
複数の演算器や多くのレジスタを含んだプロセッサで
は、この制御方式による演算能力の向上は望めない。
【0017】第3の方式は、図12のような水平型マイ
クロ命令符号化制御方式と呼ばれるものである。この方
式によるマイクロ命令の構成方法は、プロセッサ内のゲ
ートを直接制御するマイクロ操作信号601を適当なグ
ループに分け、各グループごとに符号化してマイクロ命
令のフィールドA〜Dを構成する方法である。このマイ
クロ命令は、各フィールドA〜Dごとにデコーダを配置
し、デコードしてマイクロ命令を作り出す。この場合、
同時に設定できない互いに排他的なマイクロ操作信号6
01を、1つのグループにまとめるのが普通である。し
かし、プロセッサ内に複数のバス、演算器、レジスタフ
ァイルがあると、排他性のある動作同志の特定が困難で
あった。
【0018】
【発明が解決しようとする課題】以上のように、従来の
演算制御回路では、命令の実行効率が落ちたり、ハード
ウェアが増加するという欠点があった。一方、従来のマ
イクロ命令の構成方法はいくつかあったが、ビット幅が
大きくなったり、複数の演算器や多くのレジスタを含ん
だプロセッサでは演算能力が向上しないなどの欠点があ
った。
【0019】本発明は上記の問題点に鑑みてなされたも
ので、その目的の第1は、ループ機能をオーバーヘッド
無しで高速に実行するにもかかわらず、ハードウェアの
増加量を極力少なくした演算制御回路を提供する事にあ
る。また、第2の目的は、複数のバス、演算器、レジス
タファイルを持つプロセッサにおいても、排他性のある
動作同志を選択して高い並列動作の制御を行うことがで
き、かつ見通しのよいプログラミングを行うことができ
るマイクロ命令を用いた演算制御回路を提供することに
ある。
【0020】
【課題を解決するための手段】上記目的を達成するた
め、第1の発明は、サブルーチンコール及びサブルーチ
ンリターン時に使用される、命令メモリのアドレスを保
持するスタックレジスタと、ループ動作の開始アドレス
を保持するスタックレジスタとそのポインタを共有させ
たプログラムスタックレジスタと、サブルーチンコール
時には現在の命令メモリ番地の次の番地を、ループの開
始命令時には現在の命令メモリ番地を前記プログラムス
タックレジスタにプッシュするように制御し、サブルー
チンリターン時は前記プログラムスタックレジスタの値
をポップして命令アドレスレジスタに入れるように制御
し、ループの終了命令でかつループ回数レジスタの値が
あらかじめ設定された値以外の時はサブルーチンリター
ン時と同じく前記プログラムスタックレジスタの値をポ
ップして命令アドレスレジスタに入れるが、このプログ
ラムスタックレジスタのポインタの値はそのまま動かさ
ず、ループの終了命令でかつループ回数レジスタの値が
あらかじめ設定された値であったときには、前記プログ
ラムスタックレジスタをポップしてポップされた値は捨
ててしまい、命令アドレスレジスタには現在のアドレス
をインクリメントした値を入れるように制御する論理回
路とから構成されている。
【0021】また、第2の発明は、プロセッサの動作を
制御するマイクロ命令の中に、複数ビットで構成される
フィールドを複数設定し、これらのフィールドのそれぞ
れには、前記プロセッサを構成する複数の構成要素が1
対1に対応し、前記フィールド内のビットの取り得る組
み合わせの各々に、そのフィールドに対応する前記構成
要素以外の構成要素を割り当て、これらの組み合わせの
うちの1つを指定することにより、そのフィールドに対
応する前記構成要素が他の構成要素のうちの1つと接続
されるマイクロ命令の構成となっている。
【0022】
【作用】上記演算制御回路の構成により、第1の発明
は、一つのプログラムスタックレジスタをサブルーチン
コール/リターン時における戻り番地の記憶に使うとと
もに、ループ時のループの先頭番地の記憶にも使用す
る。すなわち、以下のようにプログラムスタックレジス
タと命令アドレスレジスタを使用する。
【0023】(1) サブルーチンコール時には、現在の命
令アドレスレジスタをインクリメントしたアドレスをプ
ログラムスタックレジスタにプッシュする。命令アドレ
スレジスタにはサブルーチンの先頭番地を入力し、メイ
ンルーチンからサブルーチンにとぶ。
【0024】(2) サブルーチンリターン時には、プログ
ラムスタックレジスタからポップした値を命令アドレス
レジスタに入力してメインルーチンへ戻る。
【0025】(3) ループの開始命令の時には、現在のア
ドレスレジスタの値をプログラムスタックレジスタにプ
ッシュする。命令アドレスレジスタには現在の命令レジ
スタの値をインクリメントした値を入れる。同時にルー
プ回数レジスタに、指定されたループの回数を入れる。
【0026】(4) ループの終了命令でかつループ回数レ
ジスタの値が指定した値以外の時には、プログラムスタ
ックレジスタをポップし、そのポップした値を命令アド
レスレジスタに入れる。しかし、プログラムスタックレ
ジスタのポインタの値は動かさない。同時にループ回数
レジスタの値をデクリメントする。
【0027】(5) ループの終了命令でかつループ回数レ
ジスタの値が指定した値の時は、プログラムスタックレ
ジスタの値をポップするが、そのポップした値は捨て、
命令アドレスレジスタには、その時の命令アドレスレジ
スタの値をインクリメントした値を入れる。同時に、ル
ープ回数スタックレジスタの値をポップし、ループ回数
レジスタに入れる。
【0028】また、上記マイクロ命令の構成により、第
2の発明は、水平型マイクロ命令符号化制御方式と同じ
くマイクロ命令の一部をコード化する。ただし、マイク
ロ命令の中でコード化するフィールドを、演算器、バ
ス、レジスタファイルなどプロセッサ内の構成要素の入
力としている。すなわち、マイクロ命令の中に、演算
器、バス、レジスタなどのプロセッサの構成要素の入力
を選択するフィールドを設定する。
【0029】このフィールドは、単数あるいは複数のビ
ットで構成され、かつコード化されている。フィールド
には、例えば演算器入力フィールド、バス入力フィール
ド、レジスタファイル入力フィールドなどを独立に設け
ている。その他のフィールドについては、同じくコード
化してもよいが、並列に制御を行うために水平型マイク
ロ命令直接制御方式のように独立したビットを割り当て
てもよい。
【0030】
【実施例】
第1の発明 第1の発明の一実施例の構成を図1に示す。同図に示す
演算制御回路は、命令メモリ15のアドレスを保持して
おく命令アドレスレジスタ13、命令アドレスレジスタ
13の値をインクルメントするインクリメンタ14、条
件ジャンプ時の条件となるフラグを保持しておく条件フ
ラグレジスタ16、ループ回数を保持しておくループ回
数レジスタ18、そのループ回数レジスタ18の値をデ
クリメントするデクリメンタ17、ループがネストされ
た場合に現時点での上位のループの回数を記憶しておく
ためのループ回数スタックレジスタ19に加えて、図8
で示したループの先頭番地を記憶しておくためのループ
戻り番地スタックレジスタ22と、プログラムスタック
レジスタ21とを共有させたプログラムスタックレジス
タ12を備えている。
【0031】論理回路11は、以下のようにそれぞれの
スタックとレジスタを制御する機能を有している。
【0032】・条件ジャンプ時 条件フラグレジスタ16の値を確かめ、もしその値が条
件と合致していれば、ジャンプ先アドレスを命令アドレ
スレジスタ13に入れる。もし条件と合致していなけれ
ば命令アドレスレジスタ13の値を1インクリメントし
た値を命令アドレスレジスタ13に入れる。
【0033】・サブルーチンコール時 命令アドレスレジスタ13の値を1インクリメントした
値をプログラムスタックレジスタ12にプッシュし、同
じく命令アドレスレジスタ13にサブルーチンの先頭ア
ドレスを入れる。
【0034】・サブルーチンコール時 プログラムスタックレジスタ12から最上位の値をポッ
プし、そのポップした値を命令アドレスレジスタ13に
入れる。
【0035】・ループ開始時 命令アドレスレジスタ13の値をプログラムスタックレ
ジスタ12にプッシュし、ループ回数をループ回数スタ
ックレジスタ19にプッシュすると共に、同じくループ
回数をループ回数レジスタ18に入れる。
【0036】・ループ終了時 ループ回数レジスタ18の値を1デクリメントし、その
値が1であるか否かを調べる。もし1であるならば、プ
ログラムスタックレジスタ12の値をポップするが、そ
のポップした値は捨て、命令アドレスレジスタ13に
は、その時の命令アドレスレジスタ13を1インクリメ
ントした値を入れる。また、ループ回数スタックレジス
タ19の値をポップし、ループ回数レジスタ18に入れ
る。
【0037】・普通の命令時 命令アドレスレジスタ13を1インクリメントした値を
同じく命令アドレスレジスタ13に入れる。
【0038】以上のような構成と、論理回路11を上記
のように動作させることによって、サブルーチンコール
/リターンとループ制御の双方を、同一のプログラムス
タックレジスタ12を用いて矛盾無く行うことができ
る。
【0039】但し、今回の実施例による制御方法では、
図2に示すような、ループとサブルーチンコール/リタ
ーンが組み合わさったような制御を正確に行うことは出
来ない。しかしながら、実際のプログラムにおいてもこ
のような記述は一般に禁止されており、実用上何等問題
はない。
【0040】更に、もう一つの問題として、サブルーチ
ンコール/リターンとループのネスティングの和が、プ
ログラムスタックレジスタの深さで制限されてしまうと
いう問題がある。しかしながら、このようにループ機能
をハードウェアで用意することが必要なほどの高速性が
要求される論理回路においては、一般にそれほどの深さ
のサブルーチンコール/リターンとループのネスティン
グの深さは必要なく、この点でも特に問題はないといえ
る。
【0041】なお、本実施例では、ループ終了の判別方
法として、ループ回数レジスタ18の値が1であるか否
かであるという判別を行ったが、一般には1である必要
はなく、コンパレータの構成によってあらかじめ定めら
れた任意の値としてもよい。更に、本実施例ではループ
終了毎にループ回数レジスタ18を1デクリメントする
こととしているが、上記のようにコンパレータを構成す
るならば、インクリメンタとしてもよい。
【0042】第2の発明 次に、第2の発明となるマイクロ命令の構成方法につい
て説明する。図3は、第2の発明となるマイクロ命令の
構成方法に係わる一実施例を示す構成図である。
【0043】ここで、説明のために、図13のようなプ
ロセッサを考える。図13に示すプロセッサは、レジス
タA〜C、ALU(論理演算装置)、BUS1〜3、お
よびレジスタ201〜203の各構成要素からなってい
る。なお、レジスタ201〜203は、パイプライン構
成用のレジスタである。
【0044】図3に示すマイクロ命令は、2ビットから
なる複数のフィールド101〜108と、数ビットから
なるフィールド109が設定されている。各フィールド
101〜108は、図13で示した各構成要素の入力に
それぞれ対応している。例えば、レジスタA入力フィー
ルド101,レジスB入力フィールド102、レジスタ
C入力フィールド103、BUS1入力フィールド10
4、BUS2入力フィールド105、BUS3入力フィ
ールド106、レジスタ201入力フィールド107、
およびレジスタ202入力フィールド108と定められ
ている。また、フィールド109は、ALUの演算指定
がなされるフィールドであり、ALU演算指定フィール
ド109と定められている。よってマイクロ命令は、1
6ビット+ALU演算指定フィールド109で構成され
ている。
【0045】さらに、フィールド101〜108には、
それぞれデコーダ111が配置されている。これによ
り、各フィールド101〜108の2ビットは、デコー
ダ111によってデコードされ、デコーダ111から
は、2ビットの取り得る4種類の組み合わせに対する4
種類のマイクロ操作信号113が出力されている。これ
らのマイクロ操作信号113には、各構成要素の入力が
割り当てられている。
【0046】なお、ALU演算指定フィールド109
は、フィールド101〜108と同様にコード化しても
よいし、各ビットが各構成要素の入力と1体1に対応す
る直接制御方式としても良い。
【0047】図4に、各入力フィールド101〜108
の4種類のコードと、それに対応する構成要素の入力と
の関係を示す。例えば、レジスタ入力Aフィールド10
1では、 00:BUS1 01:BUS2 10:BUS3 11:接続無し と、コードが割り当てられている。
【0048】また、BUS1入力フィールド104で
は、 00:レジスタA 01:レジスタB 10:レジスタC 11:レジスタ203 と、BUS1に入力される構成要素すべてにコードが割
り当てられている。
【0049】このように、第2の発明となるマイクロ命
令は構成されており、次に、このマイクロ命令を用いた
プロセッサの動作を説明する。今、以下のような動作を
考える。まず、レジスタAにあるデータをレジスタBと
レジスタ201に転送する(ステップ1)。
【0050】次に、レジスタCにあるデータをレジスタ
202に転送する(ステップ2)。最後に、レジスタ2
03にあるデータをレジスタAに転送する(ステップ
3)。このとき、(ステップ1)にはBUS1を、(ス
テップ2)にはBUS2を、(ステップ3)にはBUS
3を使用するものとする。これを実現するために、マイ
クロ命令の各フィールド101〜108では、以下のよ
うに指定すればよい。
【0051】レジスタA入力フィールド:BUS3 レジスタB入力フィールド:BUS1 レジスタC入力フィールド:接続無し BUS1入力フィールド:レジスタA BUS2入力フィールド:レジスタC BUS3入力フィールド:レジスタ203 201レジスタ入力フィールド:BUS1 202レジスタ入力フィールド:BUS2 マイクロ命令が、このように構成されているときのプロ
セッサの信号伝搬の様子を示したのが図5である。この
図から分かるように、1つのレジスタAから複数のレジ
スタB,201への転送が、単にレジスタとBUSの入
力を指定するだけで可能となる。
【0052】なお、第2の発明のマイクロ命令は、勿論
第1の発明の演算制御回路に備えられる命令メモリに記
憶させることが可能である。これにより、第1の発明の
演算制御回路はこのマイクロ命令を用いて、複数の演算
器を並列に制御することができる。
【0053】
【発明の効果】以上説明してきたように、第1の発明の
演算制御回路により、ループ機能を高速に行うための専
用のハードウェアを備えつつも、スタックの構成を簡単
にすることができる。
【0054】また、第2の発明のマイクロ命令であれ
ば、プロセッサの各構成要素に対応するコード化された
フィールドを設定している。このため、各フィールドに
おいて構成要素をコード指定するだけで、プロセッサの
高速な並列動作が可能となる。また、プロセッサの構成
要素のみを指定するというきわめて見通しのよい方法に
よりプログラミングを行うことが可能となる。
【図面の簡単な説明】
【図1】第1の発明の一実施例に係わる演算制御回路の
構成を示すブロック図。
【図2】ループとサブルーチンコール/リターンが組み
合わさった動作図。
【図3】第2の発明のマイクロ命令に係わる一実施例の
構成図。
【図4】各入力フィールドのコードと各構成要素との関
係を示す図。
【図5】第2の発明の一実施例を実行したときのプロセ
ッサ内の信号伝搬図。
【図6】ループ動作の一例を表した動作図。
【図7】従来例の論理LSIにおける演算制御回路の構
成を示すブロック図。
【図8】図7と異なる従来例の論理LSIにおける演算
制御回路の構成を示すブロック図。
【図9】ループ開始命令とループ終了命令を表した動作
図。
【図10】従来のマイクロ命令の構成図。
【図11】図10と異なる従来のマイクロ命令の構成
図。
【図12】図10,11と異なる従来のマイクロ命令の
構成図。
【図13】第2の発明を説明するためのプロセッサの構
成例を示すブロック図である。
【符号の説明】
11 論理回路 12 プログラムスタックレジスタ 13 命令アドレスレジスタ 14 インクリメンタ 15 命令メモリ 16 条件フラグレジスタ 17 デクリメンタ 18 ループ回数レジスタ 19 ループ回数スタックレジスタ 101 レジスタA入力フィールド 102 レジスB入力フィールド 103 レジスタC入力フィールド 104 BUS1入力フィールド 105 BUS2入力フィールド 106 BUS3入力フィールド 107 レジスタ201入力フィールド 108 レジスタ202入力フィールド 109 ALU演算指定フィールド 111 デコーダ 113 マイクロ操作信号

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 所定の演算命令が格納される命令メモリ
    と、この命令メモリのアドレスが保持される命令アドレ
    スレジスタと、前記演算命令の内くり返し演算の回数が
    格納されるループ回数レジスタと、前記くり返し演算が
    ネストされた場合に上位のくり返し演算の回数が格納さ
    れるループ回数スタックレジスタと、前記演算命令の内
    サブルーチンコール/リターン時における戻り番地のア
    ドレスあるいはくり返し演算のくり返しの先頭番地のア
    ドレスのいずれか一方が格納されるプログラムスタック
    レジスタと、前記演算命令に応じて前記スタックレジス
    タと前記レジスタの制御を行う論理回路とを具備したこ
    とを特徴とする演算制御回路。
  2. 【請求項2】 プロセッサの動作を制御するマイクロ命
    令の中に、複数ビットで構成されるフィールドを複数設
    定し、これらのフィールドのそれぞれには、前記プロセ
    ッサを構成する複数の構成要素が1対1に対応し、前記
    フィールド内のビットの取り得る組み合わせの各々に、
    そのフィールドに対応する前記構成要素以外の構成要素
    を割り当て、これらの組み合わせのうちの1つを指定す
    ることにより、そのフィールドに対応する前記構成要素
    が他の構成要素のうちの1つと接続されるマイクロ命令
    を用いたことを特徴とする演算制御回路。
JP3309184A 1990-11-26 1991-11-25 演算制御回路 Pending JPH052481A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2-317970 1990-11-26
JP31797090 1990-11-26

Publications (1)

Publication Number Publication Date
JPH052481A true JPH052481A (ja) 1993-01-08

Family

ID=18094025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3309184A Pending JPH052481A (ja) 1990-11-26 1991-11-25 演算制御回路

Country Status (1)

Country Link
JP (1) JPH052481A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216152A (ja) * 2000-01-28 2001-08-10 Rooran:Kk 論理集積回路及びそのcpuコアのソースを記録したコンピュータ読み取り可能な記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216152A (ja) * 2000-01-28 2001-08-10 Rooran:Kk 論理集積回路及びそのcpuコアのソースを記録したコンピュータ読み取り可能な記録媒体

Similar Documents

Publication Publication Date Title
US4016545A (en) Plural memory controller apparatus
US5081574A (en) Branch control in a three phase pipelined signal processor
US5299321A (en) Parallel processing device to operate with parallel execute instructions
US3775756A (en) Programmable special purpose processor having simultaneous execution and instruction and data access
JPH0374434B2 (ja)
JPH07161195A (ja) フラッシュメモリ
JPS6044699B2 (ja) 特殊アドレス発生装置
US4446517A (en) Microprogram memory with page addressing and address decode in memory
JPS62197830A (ja) デ−タ処理システム
US4763246A (en) Microprogram control
US5307300A (en) High speed processing unit
JPH11272546A (ja) 可変長レジスタ装置
JPS63226732A (ja) シーケンサ回路
US5890009A (en) VLIW architecture and method for expanding a parcel
US4812970A (en) Microprogram control system
US8200943B2 (en) Microprocessor
JPH052481A (ja) 演算制御回路
JPH02293931A (ja) 制御装置
US6282632B1 (en) Information processor having duplicate operation flags
JP2000181707A (ja) 命令制御装置及びその方法
JPS5860355A (ja) 情報処理装置
JP2984913B2 (ja) プログラム可能なシーケンス制御回路
US5768554A (en) Central processing unit
JPS62226336A (ja) マイクロプログラム制御方式
JPH0486920A (ja) 情報処理装置およびその方法