JPH06100962B2 - バス制御回路 - Google Patents

バス制御回路

Info

Publication number
JPH06100962B2
JPH06100962B2 JP28858888A JP28858888A JPH06100962B2 JP H06100962 B2 JPH06100962 B2 JP H06100962B2 JP 28858888 A JP28858888 A JP 28858888A JP 28858888 A JP28858888 A JP 28858888A JP H06100962 B2 JPH06100962 B2 JP H06100962B2
Authority
JP
Japan
Prior art keywords
data
bus
execution
signal
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.)
Expired - Lifetime
Application number
JP28858888A
Other languages
English (en)
Other versions
JPH01230129A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP28858888A priority Critical patent/JPH06100962B2/ja
Publication of JPH01230129A publication Critical patent/JPH01230129A/ja
Publication of JPH06100962B2 publication Critical patent/JPH06100962B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータプロセッサに用いられるマイクロプログ
ラム制御型バス制御回路に関する。
〔従来の技術〕
マイクロプログラム制御型中央処理装置(以下CPUと称
す)は、演算実行ユニット,命令のプリフェッチユニッ
ト,キャッシュメモリユニット,およびメインメモリま
たは、I/Oプロセッサとの間で行うデータ転送を制御す
るシステムバスインタフェースユニットを含み、各ユニ
ット間でのデータ転送マイクロ命令制御により行われて
いる。
CPUの性能向上のため、パイプライン制御やクロックサ
イクルの高速化が図られている。この結果、各ユニット
の遅延問題により全ユニットを1クロックサイクル中に
動作させることが困難となってきている。そこで動作を
2つに分割する方式が採用されている。すなわち、最初
のクロックサイクルでマイクロ命令から作成された各種
コマンドが各ユニット間で送受される。そして、次のク
ロックサイクルでコマンドに対する実行結果の送受が行
われる。例えば、キャシュメモリユニットからの命令ま
たはオペランドの取り出しは、最初のクロックでマイク
ロ命令に従い演算実行ユニットまたはプリフェッチユニ
ットからキャシュメモリユニットへのコマンド送出およ
びキャシュメモリユニット内のコマンドレジスタへのセ
ットが行われる。キャシュメモリユニットは、次のクロ
ックサイクルでこのコマンドを実行し、命令またはオペ
ランドデータをバス上に出力する。マイクロ命令の指示
に応答して必要なユニットがこのデータを取り込む。
〔発明が解決しようとする課題〕
このように1つの命令あるいはオペランドデータ転送が
2クロックサイクル以上にまたがる場合、データがバス
に出力されて前記必要なユニットがマイクロ命令に従っ
て取込むタイミングでマイクロ命令の実行抑止が発生す
ると仮定する。このため、実行再開時にはデータがバス
上に存在しない。従って、実行の抑止されたマイクロ命
令の1つ前のマイクロ命令に従ってコマンドを発行すれ
ばデータ転送ができる。しかし、CPUの性能は低下す
る。
このCPUの性能低下は、コマンドレジスタのバックアッ
プ回路を設け、実行再開時に元のコマンドレジスタに従
って実行することにより防止できる。しかし、データ転
送に2クロック以上かかるユニットが複数存在すると、
各ユニットにコマンドレジスタのバックアップ回路が必
要となり、ハードウェア量の増大を招くという欠点があ
る。
本発明の目的は、データ転送中に実行抑止信号が発生し
ても、実行再開による性能低下をなくし、各ユニットに
コマンドレジスタのバックアップ回路を備えることな
く、実行抑止からの再開を容易に実現できるようにした
バス制御回路を提供することにある。
〔課題を解決するための手段〕
本発明のバス制御回路は、データ転送に2クロック以上
かかるユニットを少なくとも1つ含む複数のユニット
と、これら複数のユニットを制御するためのマイクロプ
ログラム制御ユニットと、前記複数のユニット間でデー
タの転送を行うバスとを含む中央処理装置に設けられる
バス制御回路において、前記バスに接続され毎クロック
時にバスからのデータを格納するデータ格納回路と、こ
のマイクロプログラム制御ユニットが送出するマイクロ
命令実行レベル信号およびマイクロ命令実行抑止信号を
監視し、マイクロ命令実行抑止時あるいは割り込み処理
実行時には前記データ格納回路へデータの格納を抑止す
る指示を行い、マイクロ命令再実行時には前記データ格
納回路へ前記バスにデータを出力する指示を行うデータ
格納制御回路とを含む。
〔実施例〕
次に本発明の一実施例について図面を参照して詳細に説
明する。
第1図を参照すると、本発明の一実施例はCPU内の各ユ
ニット間でデータを転送するためのバス1;このバス1に
接続され主記憶(図示せず)または入出力(以下I/O)
プロセッサ(図示せず)等とのデータ転送または通信を
制御するためインタフェース信号線2a、インタフェース
回路2bおよびマイクロ命令を解読するデコーダ2cを有す
るインタフェースユニット2;前記バス1に接続されたキ
ャッシュ回路3a、コマンドレジスタ3cおよびコマンドを
解読するデコーダ3bを有し、命令またはオペランドデー
タを格納するキャッシュメモリユニット3;前記バス1に
接続された命令バッファ回路4a、この命令バッファ回路
4aからの命令を解読する命令デコーダ4bおよびマイクロ
命令を解読し命令取出コマンドおよび制御信号を生成す
るデコーダ4dを有し命令の先取を行う、プリフェッチユ
ニット4;バス1に接続されたレジスタ5aおよび5b、これ
らレジスタ5aおよび5bに接続された演算器(ALU)5dお
よびマイクロ命令を解読しデータ取出コマンドおよび制
御信号を生成するデコーダ5eを有し演算を実行する演算
実行ユニット5;データ出力制御回路7aおよび格納抑止制
御回路7bを有するデータ格納制御回路7;この回路7の格
納抑止制御回路7bから線13を介して与えられるデータ格
納抑止信号に応答して格納動作を制御するレジスタ6aお
よび6b、および前記回路7のデータ出力制御回路7aから
のデータ出力指示信号14に応答してバス1に対するデー
タ出力を制御するバス出力回路6cを有するデータ格納回
路6;およびマイクロプログラムを格納する制御記憶(C
S)8aこのCS8a、からのマイクロ命令を格納するマイク
ロ命令レジスタ8b、CSに対するアドレスを発生するマイ
クロ命令アドレス回路8cおよび割込受付制御回路8dを備
え各ユニット2−5に動作指示を与えるマイクロプログ
ラム制御ユニット8を含む。
この実施例では、プリフェッチユニット4または演算実
行ユニット5でマイクロ命令に基づいて作成された命令
またはオペランドデータの取出要求が、コマンド線4cま
たは5cを介してキャッシュメモリユニット3に送出され
る。
送出されたコマンドは、キャシュメモリユニット3のコ
マンドレジスタ3cに格納されたあとデコーダ3bで解読さ
れる。解読結果に応答してキャッシュ回路3aは、データ
をバス1に送出する。線10を介して与えられるマイクロ
プログラムの実行を抑止する実行抑止信号(以下NOEX信
号)に応答してプリフェッチユニット4および演算実行
ユニット5からキャシュメモリユニット3に出力される
コマンドも無効化される。インタフェースユニット2、
キャシュメモリユニット3、プリフェッチユニット4お
よび演算実行ユニット5からバス1データを出力する時
のドライブ信号は、マイクロ命令レジスタ8bから線9を
介して与えられるマイクロ命令またはコマンドレジスタ
3cからのコマンドを各ユニット2−5のデコーダ2c、3
b、4dおよび5eで解読することにより発生され、線11a−
11dに送出される。この線11a−11dを介して与えられる
バスドライブ信号に応答して、バス1にデータが出力さ
れる。
例えばI/Oプロセッサ(図示せず)からの割込処理要求
がインタフェースユニット2を介して割込信号として線
2dに送出される。この割込信号に応答してマイクロプロ
グラム制御ユニット8内の割込受付制御回路8dは割込処
理の開始から終了まで有効となる実行レベル信号を発生
し線12に出力する。実行レベル信号は、マイクロプログ
ラムが割込処理中であることを示す信号である。この実
行レベル信号と線10を介して与えられるNOEX信号に基づ
いて、格納抑止制御回路7bはデータ格納抑止信号を生成
し、線13に送出するとともに、データ出力タイミング信
号を生成して線7cに送出する。このデータ出力タイミン
グ信号および線11a−11dを介して与えられるバスドライ
ブ信号に応答してデータ出力制御回路7aはデータ出力指
示信号を生成し、線14に送出する。この線13を介して与
えられるデータ格納抑止信号に応答して、データ格納回
路6のレジスタ6aおよび6bは、マイクロ命令の実行抑止
時または割込処理中、バス1からのデータ取込みを抑止
する。そして、この抑止によりレジスタ6aおよび6bに格
納されていたデータは、線14を介して与えられるデータ
出力指示信号に応答して、バス出力回路6cを介してバス
1に出力される。
実行抑止状態からそのまま実行を再開する時、キャシュ
メモリユニット3は線10上のNOEX信号に関係なく、コマ
ンドレジスタ3cの内容に従って動作する。第2図はこの
場合のバス制御動作が示されている。
第1図および第2図を参照すると、各ユニットは、CPU
の線15(第1図には図示せず)を介して与えられる基本
クロック信号の立上りエッジで基本的に動作を開始す
る。S1ステージで制御記憶8aに格納されたマイクロプロ
グラム9のマイクロ命令μ1による命令またはオペラン
ドデータ取出しの指示に応答して、プリフェッチユニッ
ト4のデコーダ4dまたは演算実行ユニット5のデコーダ
5eからキャシュメモリユニット3に対するコマンドC
μ1がコマンドライン4cまたは5cに出力される。そして
S1ステージの後縁すなわちS2ステージの前縁でキャシュ
メモリユニット3内のコマンドレジスタ3cにコマンドC
μ1がセットされる。キャシュメモリユニット3はS2ス
テージでこのコマンドCμ1を実行しバス1上にデータ
D1をキャシュ回路3aから出力する。このとき、本実施例
ではS2およびS3ステージ間で線10上のNOEX信号が何らか
の要因で発生し、S2およびS3ステージでのマイクロ命令
μ2の実行が抑止され、マイクロ命令μ2はS4ステージ
で実行される。このときS2ステージでキャッシュメモリ
ユニット3から出力されたデータD1はデータ格納回路6
内のレジスタ6aにロードされる。線13のうちの1つ13a
上のデータ格納抑止信号は線10上のNOEX信号の1クロッ
ク遅延信号に基づいて作成される。この信号に応答して
レジスタ6aは、S3ステージとS4ステージとの間、バスか
らのデータ格納動作が抑止される。S4ステージ上でデー
タ格納抑止制御回路7bは、線10上のNOEX信号および線12
上の割込処理中でないことを示す実行レベル信号からデ
ータ出力タイミング信号を線7cに出力する。この線7cか
らのデータ出力タイミング信号および線11a−11dを介し
て与えられる全てのユニットがドライブしていないこと
を示すドライブ信号に応答して、データ出力制御回路7a
はバス1へのデータ出力を指示するデータ出力指示信号
を発生し線14の1つ14aに出力する。この信号に応答し
て、バス出力回路6cはレジスタ6aからのデータD1をバス
1に出力する。従って、マイクロ命令μ2実行時キャッ
シュメモリユニット3が出力すべきデータD1を演算実行
ユニット5内のレジスタ5aに取込むことができる。
外部からの割込処理要求に対する処理受付時、必要に応
じてマイクロ命令の実行は抑止され、割込処理ルーチン
にトラップする。処理終了後元のマイクロ命令、すなわ
ち実行が抑止されたマイクロ命令μ2から実行が再開さ
れる。第3図には時間を基礎としたこれら動作が示され
ている。
第1図および第3図を参照すると、S1ステージでマイク
ロ命令レジスタ8bに格納されたマイクロプログラム9の
マイクロ命令μ1が演算実行ユニット5のデコーダ5eで
解読されて、コマンドCμ1がコマンドライン5cを介し
てコマンドレジスタ3cにセットされるコマンドCμ1
デコーダ3bで解読されてキャッシュ回路3aに与えられ
る。この解読結果に応答してキャッシュ回路3aからデー
タD1がバス1に出力される。このデータD1はマイクロ命
令μ2により演算実行ユニット5内のレジスタ5aにロー
ドされる。このロード時点で割込要因が存在し割込信号
が線2dを介してデコーダ2cから割込み受付制御回路8dに
送出される。この割込信号に応答して受込み受付け制御
回路8dから割込処理へのマイクロプログラムのトラップ
のためのNOEX信号が線10に送出され、マイクロ命令μ2
の実行が抑止される。この実行抑止に応答して、レジス
タ5aはデータD1を取込めない。しかし、データD1はデー
タ格納回路6内のレジスタ6aおよび6bに取込まれる。S3
〜S8ステージは、割込み処理実行中(マイクロ命令T0〜
T4)であり、マイクロプログラム制御ユニット8から線
12を介して与えらえる実行レベル信号でこの割込処理実
行中が伝えられる。線12を介して与えられる実行レベル
信号および線10を介して与えられるNOEX信号に応答し
て、格納抑止制御回路7bは、データ格納抑止信号を線群
13のうちの線13aを介してデータ格納抑止信号がレジス
タ6aに与えられる。このデータ格納抑止信号に応答し
て、レジスタ6aは割込処理中、バス1からのデータの格
納動作を抑止する。また、割込処理中のS4、S5およびS6
ステージで、マイクロ命令T1に応答したコマンドCT1
デコーダ5e、コマンドライン5c、コマンドレジスタ3cお
よびデコーダ3bを介してキャッシュメモリユニット3で
実行され、キャッシュ回路3aからバス1にデータD2が出
力される。このデータD2がマイクロ命令T2により演算実
行ユニット5内のレジスタ5bに格納する時、線10を介し
て与えられるNOEX信号に応答してS5ステージでのマイク
ロ命令T2の実行は抑止される。また、データD2はデータ
格納回路6内のレジスタ6bに取込まれようとする。線10
を介して与えられるNOEX信号および線12を介して与えら
れる実行レベル信号に応答して、格納抑止制御回路7bは
線群13中の1つである線13fにデータ格納抑止信号を出
力する。このデータ格納抑止信号に応答して、レジスタ
6fはS6ステージでのバス1からのデータの格納動作を抑
止する。割込処理プログラムT2の実行再開時、線10を介
して与えられるNOEX信号および線12を介して与えられろ
実行レベル信号に応答して、格納抑止制御回路7bは線7c
にデータ出力タイミング信号を出力する。このデータ出
力タイミング信号および線11a−11dを介して与えられる
バスドライブ信号に応答してデータ出力制御回路7aは線
群14のうちの線14fにデータ出力指示信号を生成する。
このデータ出力指示信号に応答してレジスタ6fに格納さ
れたデータD2がバス1に出力され、演算実行ユニット5
内のレジスタ5bにロードされうる。そして割込処理終了
後、S9ステージでマイクロ命令μ2から実行を再開す
る。線12を介して与えられる実行レベル信号および線10
を介して与えられるNOEX信号に応答して、格納抑止制御
回路7bは出力タイミング信号を線7cに送出する。この出
力タイミング信号および線11a−11dを介して与えられる
各ユニットに対するバスドライブ信号に応答してデータ
出力制御回路7aは線群14のうちの1つの線14aにデータ
出力指示信号を出力する。このデータ出力指示信号に応
答してバス出力回路6cはレジスタ6aからのデータD1選択
しバス1に出力する。バス1に送られたデータD1をマイ
クロ命令μ2からの指示により演算実行ユニット5内の
レジスタ5aが保持する。
〔発明の効果〕
本発明の特徴は、中央処理装置内部のバス1に接続され
た数ワードのレジスタ6aおよび6bを有するデータ格納回
路6が、実行抑止信号、実行レベル信号および各ユニッ
トに対するバスドライブ信号に基づいてマイクロ命令の
実行抑止時、本来演算実行回路5に取込まれるべきデー
タをバス1から入力して格納し、実行再開時必要に応じ
てバス1に該データを出力させることにある。この特徴
により、1つの命令の実行またはデータ転送が2クロッ
クにまたがって行われる場合、データの必要なユニット
で実行抑止状態が発生してもCPUの性能を低下させるこ
とはないという効果がある。
また、本発明は、この特徴により各ユニット2〜5にコ
マンドレジスタ等のバックアップ回路を構成する必要が
なくデータ転送時実行が抑止されても実行を容易に再開
できるという効果もある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図;および第2図およ
び第3図は本発明の一実施例の動作を示す図である。 図において1……バス、2……インタフェースユニッ
ト、3……キャッシュメモリユニット、4……プリフェ
ッチユニット、5……演算実行ユニット、6……データ
格納回路、7……データ格納制御回路、8……マイクロ
プログラム制御ユニット8。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データ転送に2クロック以上かかるユニッ
    トを少なくとも1つ含む複数のユニットと、これら複数
    のユニットを制御するためのマイクロプログラム制御ユ
    ニットと、前記複数のユニット間でデータの転送を行う
    バスとを含む中央処理装置に設けられるバス制御回路に
    おいて、 前記バスに接続され毎クロック時にバスからのデータを
    格納するデータ格納回路と、 このマイクロプログラム制御ユニットが送出するマイク
    ロ命令実行レベル信号およびマイクロ命令実行抑止信号
    を監視し、マイクロ命令実行抑止時あるいは割り込み処
    理実行時には前記データ格納回路へデータの格納を抑止
    する指示を行い、マイクロ命令再実行時には前記データ
    格納回路へ前記バスにデータを出力する指示を行うデー
    タ格納制御回路とを含むことを特徴とするバス制御回
    路。
JP28858888A 1987-11-30 1988-11-14 バス制御回路 Expired - Lifetime JPH06100962B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28858888A JPH06100962B2 (ja) 1987-11-30 1988-11-14 バス制御回路

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP62-303551 1987-11-30
JP30355187 1987-11-30
JP28858888A JPH06100962B2 (ja) 1987-11-30 1988-11-14 バス制御回路

Publications (2)

Publication Number Publication Date
JPH01230129A JPH01230129A (ja) 1989-09-13
JPH06100962B2 true JPH06100962B2 (ja) 1994-12-12

Family

ID=26557240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28858888A Expired - Lifetime JPH06100962B2 (ja) 1987-11-30 1988-11-14 バス制御回路

Country Status (1)

Country Link
JP (1) JPH06100962B2 (ja)

Also Published As

Publication number Publication date
JPH01230129A (ja) 1989-09-13

Similar Documents

Publication Publication Date Title
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
JPH04275628A (ja) 演算処理装置
JPS6239780B2 (ja)
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
CN101495960B (zh) 有效的中断返回地址保存机制
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JP3146058B2 (ja) 並列処理型プロセッサシステムおよび並列処理型プロセッサシステムの制御方法
US5148525A (en) Microprogram-controlled type bus control circuit
JP2003263313A (ja) デジタルプロセッサおよび命令の選択方法
JPH0512751B2 (ja)
JPH06100962B2 (ja) バス制御回路
JP3602801B2 (ja) メモリデータアクセス構造およびその方法
JPS6329292B2 (ja)
JP2001014161A (ja) プログラマブルコントローラ
JP2668987B2 (ja) データ処理装置
JPH0651984A (ja) マイクロプロセッサ
JP2876791B2 (ja) 例外処理装置および例外処理方法
JP3630904B2 (ja) 演算実行方法および演算実行装置
JP2000029696A (ja) プロセッサおよびパイプライン処理制御方法
US20040103267A1 (en) Data processor having cache memory
JP2762441B2 (ja) コプロセッサ
JPS6221130B2 (ja)
JP3461887B2 (ja) 可変長パイプライン制御装置
JPS63247861A (ja) コプロセツサ制御方法
JP2001216156A (ja) インストラクションキャッシュアクセスの装置と方法