JPH0721018A - マイクロプログラム制御方式の中央処理装置 - Google Patents

マイクロプログラム制御方式の中央処理装置

Info

Publication number
JPH0721018A
JPH0721018A JP16546293A JP16546293A JPH0721018A JP H0721018 A JPH0721018 A JP H0721018A JP 16546293 A JP16546293 A JP 16546293A JP 16546293 A JP16546293 A JP 16546293A JP H0721018 A JPH0721018 A JP H0721018A
Authority
JP
Japan
Prior art keywords
instruction
address
queue
unit
operand
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
JP16546293A
Other languages
English (en)
Other versions
JP2999907B2 (ja
Inventor
Toshiya Kosuga
俊哉 小須賀
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP16546293A priority Critical patent/JP2999907B2/ja
Publication of JPH0721018A publication Critical patent/JPH0721018A/ja
Application granted granted Critical
Publication of JP2999907B2 publication Critical patent/JP2999907B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 本発明は、パイプラインの処理ステージを追
加することなく、負荷を適切に割り当てることにより処
理速度の向上を実現することを目的とする。 【構成】 命令中に含まれるオフセットアドレスに基づ
きオペランドアドレスを計算する計算部と、計算したオ
ペランドアドレスを蓄えるオペランドアドレスキューと
を設けると共に、マイクロベクターキューの一部に、命
令がメモリアクセスを伴う命令であるか否かを示す情報
をセットするようにし、実行部で命令の処理が完了する
最後のクロックサイクルにおいて、マイクロベクターキ
ューからの前記情報がメモリアクセスを伴う命令である
ことを示しているときは、他のメモリアクセス要求に優
先して、オペランドアドレスをメモリシステムに出力す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプログラム制
御方式の中央処理装置に係り、特に、パイプライン動作
により同時に複数の命令の処理を行なう中央処理装置に
関する。
【0002】
【従来の技術】今日のCPUにおいては、処理速度の向
上を目的としてパイプライン動作を行なっているものが
多い。パイプライン動作は、命令の処理を幾つかの処理
ステージに分割し、各ステージが独立して動作すること
により短期間で処理を終了せしめ、処理速度の向上を計
っているものである。
【0003】一般に、命令の処理は大きく4つに分解す
ることができ、それらは、命令のフェッチ、デコード、
実行、結果のストアである。これらを4段の処理ステー
ジに分割し、パイプラインが理想的に動作すれば、1サ
イクル毎に命令の処理が完了することになる。ところ
が、実際の処理においてはオペランドのリード/ライ
ト、メモリ間接アドレシングのときのメモリ上のポイン
タの参照、個々の命令の実行時間のバラつき等により動
作が複雑となり、特定のパイプラインステージに負荷が
集中し期待した処理速度はなかな得られない。
【0004】即ち、従来は、メモリサイクルを伴った命
令の場合、フェッチ後の第2クロックサイクルの間に、
命令をデコーダし、マイクロプログラムの開始アドレス
であるベクターアドレスと、命令コードの1部にあるオ
フセットアドレスの2つの情報をキューに蓄え、ALU
等を含む実行部に渡す。次の第3クロックサイクルで
は、実行部において、オペランドアドレスをオフセット
アドレスから計算し、計算したオペランドアドレスをア
ドレスレジスタにセットしてメモリシステムを起動す
る。そして、第4クロックサイクルでメモリシステムか
らのデータをリードし、最後の第5サイクルで加算等の
実行を行う。
【0005】
【発明が解決しようとする課題】上述のように、従来で
は、メモリサイクルを伴った命令の場合、命令のデコー
ド後に実行部において、オペランドアドレス計算,オペ
ランドリード,実行の3サイクルを費やしていた。そこ
で、命令処理をさらに細かく分解し5段、6段といった
パイプライン処理を採用する方法がある。しかし、この
方法はただでさえ複雑なパイプライン処理をさらに複雑
にする結果になり、処理速度以上にコストが増加する。
【0006】そこで、本発明は、パイプラインの処理ス
テージを追加することなく、負荷を適切に割り当てるこ
とにより処理速度の向上を実現するものである。
【0007】
【課題を解決するための手段】本発明は、先行する命令
のメモリシステムからの先読みを制御する先読制御部
と、先読みされた複数の命令を蓄える命令キューと、ア
ドレス発生手段を有し前記命令キューから順次命令を取
り出して解析し解析結果を出力する命令デコーダと、該
命令デコーダからの解析結果を蓄えるマイクロベクター
キューと、該マイクロベクターキューの出力に応じて各
種制御信号を発生するCCUと、命令を実行する実行部
とを備え、パイプライン動作を行う中央処理装置におい
て、前記命令中に含まれるオフセットアドレスと前記ア
ドレス発生手段のアドレスからオペランドアドレスを計
算するオペランドアドレス計算部と、該計算したオペラ
ンドアドレスを蓄えるオペランドアドレスキューとを設
けると共に、前記マイクロベクターキューの一部に、命
令がメモリアクセスを伴う命令であるか否かを示す情報
をセットするようにし、更に、前記実行部で命令の処理
が完了する最後のクロックサイクルにおいて、前記マイ
クロベクターキューからの前記情報がメモリアクセスを
伴う命令であることを示しているときは、前記先読制御
部及び実行部からのメモリアクセス要求に優先して、前
記オペランドアドレスキューのアドレスを前記メモリシ
ステムに出力するメモリアクセス調停部を設け、上記課
題を解決するものである。
【0008】
【作用】本発明では、命令のデコードと同時にオペラン
ドアドレスが計算され、先行する命令の処理が完了する
最後のクロックサイクルにおいて、次の命令がメモリア
クセスを伴う命令であるときは、先読制御部及び実行部
からメモリアクセス要求があっても、これらの要求に優
先して計算されたオペランドアドレスがメモリシステム
に出力されるようになり、次のクロックサイクルではす
ぐにオペランドのリードが行える。
【0009】
【実施例】図1は、本発明の実施例の構成を示すブロッ
ク図であり、1はプログラムやデータを記憶するメモリ
及びそのリードライト制御回路からなるメモリシステ
ム、2はメモリシステムに対するアドレスを指定するた
めのアドレスレジスタ、3はメモリシステム1との間で
データの入出力を行うためのデータバッファ、4は実行
中の命令アドレスに先行したアドレスを発生するための
アドレスカウンタPREC5を有し、メモリシステム1
からの命令の先読み制御を行う先読制御部、6は先読制
御部4によって読み出された命令を複数蓄える命令キュ
ー、7はデコード用のアドレスカウンタDECC8を有
し、命令キュー6から命令を順次取り出して解析を行う
命令デコーダ、9はデコード結果としてのベクターアド
レスを一時的に蓄えるマイクロベクターキュー、10は
マイクロプログラムを記憶したマイクロプログラムメモ
リ11及びマイクロプログラムアドレスを発生するマイ
クロシーケンサを含み、各部に各種制御信号を発生する
コンピュータコントロールユニットCCU、12はプロ
グラムカウンタPC13,ALU,制御レジスタ群を含
み命令の実行を行う実行部、14はメモリシステム1に
対するアクセスの調停を行い、アドレスレジスタ2にア
クセスしようとするメモリアドレスをセットするメモリ
アクセス調停部である。
【0010】ここで、命令デコーダ7は、図2に示すよ
うに、その命令の処理が記述されているマイクロプログ
ラムの開始アドレスを示す10ビットのベクターアドレ
スと、その命令がメモリアクセスを伴う命令であるか否
かを示す1ビットの情報Mとをデコード結果として出力
し、マイクロベクターキュー9にはこれらベクターアド
レスとMビットを含む12ビットがセットされる。更
に、命令デコーダ7は、命令コードの1部にある10ビ
ットのオフセットアドレスを出力する。
【0011】そして、本実施例では、命令デコーダに含
まれるデコード用アドレスカウンタDECC8の6ビッ
トアドレスと、出力中の10ビットのオフセットアドレ
スとを加算する加算回路よりなり、16ビットの加算結
果をオペランドアドレスとして出力するオペランドアド
レス計算部15と、出力されたオペランドアドレスを蓄
えるオペランドアドレスキュー16を新たに設けてい
る。
【0012】このオペランドアドレスキュー16からの
アドレスAD1は、先読制御部4及び実行部12からの
各アドレスAD0,AD2と共に、メモリアクセス調停
部14に入力されており、ここで、いずれかの1つのア
ドレスが選択されるよう構成されている。具体的には、
CCU10からは、命令処理が完了する最後のクロック
サイクルで処理完了を表す信号ENDが出力され、ま
た、実行部12においてメモリのアクセス要求が発生し
たときはCCU10から信号ALU−REQが出力さ
れ、これら両信号がメモリアクセス調停部14に入力さ
れる。更に、メモリアクセス調停部14には、先読制御
部4からのメモリアクセス要求を表す信号PRE−RE
Q、及び、マイクロベクターキュー9からのMビットも
入力されている。
【0013】そして、メモリアクセス調停部14は、こ
れらの制御信号に応じて、信号ENDとMビットが共に
「1」であるとき、最優先でオペランドアドレスキュー
16からのオペランドアドレスAD1を選択し、信号E
NDとMビットのいずれかが「0」であるときは、信号
ALU−REQによる要求を優先的に受け付けて実行部
12からのアドレスAD2を選択し、信号PRE−RE
Qによる要求は最も低い優先順序で受付を行い、この場
合には、先読制御部4からのアドレスAD0を選択する
よう構成されている。このようにして、選択されたアド
レスはアドレスレジスタ2にセットされ、メモリシステ
ム1に対するアドレスとなる。
【0014】次に、本実施例の動作を図3,4を参照し
ながら詳細に説明する。まず、PREC5に基づき先読
制御部4から出力されたアドレスは、メモリアクセス調
停部14でアクセス要求が許可されると、アドレスレジ
スタ2にセットされメモリシステム1に入力される。メ
モリシステム1は、入力されたアドレスに対応するデー
タを読み出して出力し、出力されたデータはデータバッ
ファ3を介して命令キュー6にフェッチされる。このよ
うな命令のフェッチは1クロックサイクルの間に行われ
る。
【0015】次のクロックサイクルで、命令デコーダ7
が次の命令をデコード可能な状態にあれば、命令キュー
6にフェッチされた命令は命令デコーダ7でデコードさ
れ、マイクロベクターキュー9にベクターアドレスとM
ビットがセットされると共に、オペランドアドレス計算
部15で、DECC8のアドレスとオフセットアドレス
との加算演算が行われ、加算結果がオペランドアドレス
キュー16にセットされる。つまり、命令のデコードと
オペランドアドレスの計算が同一のクロックサイクル内
で行われる。
【0016】今、命令デコーダ7でデコードした命令を
命令2、それより先行する命令を命令1とし、図3にお
いて、aサイクルで命令2のデコードが実行され、bサ
イクルで実行部12により先行する命令1の実行が行わ
れたとすると、命令1にとってはbサイクルは命令の処
理が終了する最後のクロックサイクルなので、このサイ
クルでCCU10から信号ENDが図3の(ハ)に示す
ように出力される。
【0017】ここで、命令2がメモリアクセスを伴う命
令であるならば、aサイクルにおいてMビットがマイク
ロベクターキュー9にセットされて後、信号Mは「1」
となるので、bサイクルで信号ENDが「1」になると
アクセス調停部14は、その内部で図3の(ホ)に示す
アドレス取り込みクロックADCLを発生し、このクロ
ックの立ち上がりでオペランドアドレスキュー16の内
容AD1をアドレスレジスタ2にセットする。このた
め、次のcクロックサイクルでは、図3の(へ)に示す
ように、命令2のオペランドアドレスがメモリシステム
1に出力され、このサイクル中にオペランドリードが行
われ(図3(ト))、リードされたデータはデータバッ
ファ3を介して実行部12に送出される。そして、次の
dクロックサイクルで、リードしたデータに基づき実行
部12で実際に命令2が実行される。
【0018】ところで、本実施例では、先行する命令が
無い場合は、実行部12では常にNOP命令が実行さ
れ、CCU10からは毎クロックサイクル信号ENDが
出力されるので、命令1がメモリアクセスを伴う命令で
あってそれに先行する命令が存在しないときは、図4に
示すように、命令1のデコードが行われるサイクルで信
号ENDとMが共に「1」となり、従って、すぐ次のク
ロックサイクルにおいて命令1のオペランドリードが行
われ、次のクロックサイクルで命令1が実行されること
となる。このオペランドリードと実行のサイクルが図3
におけるaサイクル,bサイクルに相当するものであ
り、続くc,dの2サイクルで次の命令である命令2の
オペランドリード,実行が行われる。
【0019】また、命令のデコード及び実行サイクルで
は、メモリに対するアクセスは行われないので、命令1
の実行サイクルには、先読制御部4により次の命令3の
フェッチが同時に行われ、以下、命令3についても命令
2の場合と同様のサイクルが繰り返される。従って、見
かけ上2サイクル毎に命令が順次実行されることとな
る。
【0020】勿論、命令にはメモリアクセスを伴わない
命令もあり、この場合には、命令の最後のクロックサイ
クルで信号ENDが「1」になっても、Mビットが
「0」なので取り込みクロックADCLは発生せず、従
って、オペランドアドレスキュー16の内容がアドレス
レジスタ2にセットされることはなく、このとき、先読
制御部4からの要求信号PRE−REQが「1」であれ
ば、PREC5のアドレスがアドレスレジスタ2にセッ
トされ命令の先読みが行われ、メモリシステム1は有効
に使用される。
【0021】尚、オペランドアドレスキュー16の最前
列の命令は、END信号が出力されるサイクルの次のサ
イクルの開始時にクリアされるよう構成されている。
【0022】
【発明の効果】本発明によれば、非常に簡単な回路構成
を付加するだけで、命令のデコードとオペランドアドレ
スの計算を並行して行うことが可能となり、従って、コ
ストを大幅に上昇させることなく高速処理を実現でき
る。また、実行部での処理が減少するので、マイクロプ
ログラムコード自体も少なくて済む。
【図面の簡単な説明】
【図1】本発明の実施例の構成を示すブロック図であ
る。
【図2】実施例における命令デコーダの出力を示す図で
ある。
【図3】実施例におけるオペランドアドレスの取り込み
タイミングを示すタイミングチャートである。
【図4】実施例のパイプライン動作を説明するための説
明図である。
【符号の説明】
1 メモリシステム 2 アドレスレジスタ 4 先読制御部 6 命令キュー 7 命令デコーダ 9 マイクロベクターキュー 10 CCU 12 実行部 14 メモリアクセス調停部 15 オペランドアドレス計算部 16 オペランドアドレスキュー

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 先行する命令のメモリシステムからの先
    読みを制御する先読制御部と、先読みされた複数の命令
    を蓄える命令キューと、アドレス発生手段を有し前記命
    令キューから順次命令を取り出して解析し解析結果を出
    力する命令デコーダと、該命令デコーダからの解析結果
    を蓄えるマイクロベクターキューと、該マイクロベクタ
    ーキューの出力に応じて各種制御信号を発生するCCU
    と、命令を実行する実行部とを備え、パイプライン動作
    を行う中央処理装置において、前記命令中に含まれるオ
    フセットアドレスと前記アドレス発生手段のアドレスか
    らオペランドアドレスを計算するオペランドアドレス計
    算部と、該計算したオペランドアドレスを蓄えるオペラ
    ンドアドレスキューとを設けると共に、前記マイクロベ
    クターキューの一部に、命令がメモリアクセスを伴う命
    令であるか否かを示す情報をセットするようにし、更
    に、前記実行部で命令の処理が完了する最後のクロック
    サイクルにおいて、前記マイクロベクターキューからの
    前記情報がメモリアクセスを伴う命令であることを示し
    ているときは、前記先読制御部及び実行部からのメモリ
    アクセス要求に優先して、前記オペランドアドレスキュ
    ーのアドレスを前記メモリシステムに出力するメモリア
    クセス調停部を設けたことを特徴とするマイクロプログ
    ラム制御方式の中央処理装置。
  2. 【請求項2】 前記オペランドアドレス計算部は、前記
    オフセットアドレスと前記アドレス発生手段のアドレス
    とを加算する加算回路にて構成されたことを特徴とする
    請求項1記載のマイクロプログラム制御方式の中央処理
    装置。
JP16546293A 1993-07-05 1993-07-05 マイクロプログラム制御方式の中央処理装置 Expired - Fee Related JP2999907B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16546293A JP2999907B2 (ja) 1993-07-05 1993-07-05 マイクロプログラム制御方式の中央処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16546293A JP2999907B2 (ja) 1993-07-05 1993-07-05 マイクロプログラム制御方式の中央処理装置

Publications (2)

Publication Number Publication Date
JPH0721018A true JPH0721018A (ja) 1995-01-24
JP2999907B2 JP2999907B2 (ja) 2000-01-17

Family

ID=15812881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16546293A Expired - Fee Related JP2999907B2 (ja) 1993-07-05 1993-07-05 マイクロプログラム制御方式の中央処理装置

Country Status (1)

Country Link
JP (1) JP2999907B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528384A (ja) * 2007-05-30 2010-08-19 エックスモス リミテッド プロセッサにおけるスレッドのスケジューリング
JP2018005369A (ja) * 2016-06-29 2018-01-11 富士通株式会社 演算処理装置及び演算処理装置の制御方法
CN116841614A (zh) * 2023-05-29 2023-10-03 进迭时空(杭州)科技有限公司 乱序访存机制下的顺序向量调度方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528384A (ja) * 2007-05-30 2010-08-19 エックスモス リミテッド プロセッサにおけるスレッドのスケジューリング
KR101486025B1 (ko) * 2007-05-30 2015-01-22 엑스모스 엘티디 프로세서에서의 쓰레드 스케쥴링
JP2018005369A (ja) * 2016-06-29 2018-01-11 富士通株式会社 演算処理装置及び演算処理装置の制御方法
CN116841614A (zh) * 2023-05-29 2023-10-03 进迭时空(杭州)科技有限公司 乱序访存机制下的顺序向量调度方法
CN116841614B (zh) * 2023-05-29 2024-03-15 进迭时空(杭州)科技有限公司 乱序访存机制下的顺序向量调度方法

Also Published As

Publication number Publication date
JP2999907B2 (ja) 2000-01-17

Similar Documents

Publication Publication Date Title
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS62245442A (ja) 情報処理装置
JPH06236268A (ja) 命令の長さを判定する装置と方法
JPS6029126B2 (ja) デ−タ処理装置
US4967338A (en) Loosely coupled pipeline processor
JP2693678B2 (ja) データ処理装置
JPH0527971A (ja) 情報処理装置
CN108959180B (zh) 一种数据处理方法及系统
JPH0743648B2 (ja) 情報処理装置
US5390306A (en) Pipeline processing system and microprocessor using the system
JP2999907B2 (ja) マイクロプログラム制御方式の中央処理装置
US7134000B2 (en) Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information
US6044455A (en) Central processing unit adapted for pipeline process
JP2545594B2 (ja) オペランドデータ先取り方式
JP2591325B2 (ja) 分岐制御装置
JPH0241770B2 (ja)
JP2503223B2 (ja) 先行制御方式
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JP2819733B2 (ja) 情報処理装置
JPH0424731B2 (ja)
JPH01284926A (ja) 演算装置の命令読出方式
JPH05250156A (ja) Riscプロセッサ
JP2806690B2 (ja) マイクロプロセッサ
JP2825315B2 (ja) 情報処理装置
JPH11203133A (ja) 情報処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees