JPH07104995A - マイクロプログラム制御プロセッサ - Google Patents

マイクロプログラム制御プロセッサ

Info

Publication number
JPH07104995A
JPH07104995A JP25282693A JP25282693A JPH07104995A JP H07104995 A JPH07104995 A JP H07104995A JP 25282693 A JP25282693 A JP 25282693A JP 25282693 A JP25282693 A JP 25282693A JP H07104995 A JPH07104995 A JP H07104995A
Authority
JP
Japan
Prior art keywords
microprogram
instruction
control
control memory
memory
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
JP25282693A
Other languages
English (en)
Inventor
Yuki Kashiyama
由紀 柏山
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP25282693A priority Critical patent/JPH07104995A/ja
Publication of JPH07104995A publication Critical patent/JPH07104995A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【構成】メモリユニットとのインターフェースを有する
制御記憶を持つマイクロプログラム制御方式のプロセッ
サに関する。マイクロプログラムを制御を行うことを示
すフラグと、前記メモリユニットから前記制御記憶へ書
き込みを行う手段とを持ち、マイクロプログラムを使用
する命令の実行以前に、該当のマイクロプログラムが前
記制御記憶にあるかを調べ、該当のマイクロプログラム
が前記制御記憶にない場合はマイクロプログラムをロー
ドする処理を行う。 【効果】マイクロプログラムの格納エリアである制御記
憶を大容量化せずともよくなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、1チップマイクロプロ
セッサのマイクロプログラム制御に係り、特に命令処理
方式とオーバーレイ方式に関するものである。
【0002】
【従来の技術】電子計算機におけるマイクロプログラム
制御、およびマイクロプログラム容量がマイクロプログ
ラム格納領域である制御記憶に入り切らない場合、主記
憶装置や外部記憶装置からマイクロプログラムの一部分
をロードし直すオーバーレイと呼ばれる処理は一般的な
ものである。
【0003】しかし、マイクロプログラムのロードは一
部分であっても、実際のマイクロ命令処理に比べ比較に
ならない時間がかかる。マイクロプログラムロードは一
般に、特公昭58−6175公報に開示されるようなス
キャンインというマイクロプログラム書き込み手法がと
られるが、このロードには時間がかかるため特開昭64
−37624に開示されるように主記憶装置等から制御
記憶にマイクロプログラム自身を用いて書き込み動作を
高速化する手法が知られている。しかし、これらの手法
はいずれも初期マイクロプログラムロードについてのも
のであり、オーバーレイについては何ら開示していな
い。
【0004】また、従来は、プロセッサのダウンサイジ
ング・1チップ化ニーズが高まる現在と異なり、マイク
ロプログラムで制御を行うプロセッサにおいて、前記制
御記憶はほとんどすべてのマイクロプログラムを格納で
きる容量を確保しており、前記制御記憶容量がマイクロ
プログラム容量に比して不足していても、オーバーレイ
要求発生頻度はさほど高くなく、使用頻度が低くまた高
速性も要求されない処理を選択してオーバーレイの対象
としていた。
【0005】
【発明が解決しようとする課題】一般に、マイクロプロ
グラムで制御を行うプロセッサにおいて、前記制御記憶
はほとんどすべてのマイクロプログラムを格納できる容
量を確保している。また、前記制御記憶容量がマイクロ
プログラム容量に比して不足していても、マイクロプロ
グラムのオーバーレイは時間がかかるため、使用頻度が
低くまた高速性も要求されない処理を選択してオーバー
レイの対象としている。
【0006】しかし、プロセッサのダウンサイジングが
求められる今日、プロセッサにおいて、制御記憶も他の
バッファ同様、容量割り当てが重大な問題になってい
る。プロセッサのダウンサイジング・チップ化で制御記
憶の容量が十分確保できなくなると、かなりの容量のマ
イクロプログラムが制御記憶に格納しきれず、オーバー
レイ頻度が高くなり性能の低下を招くことになる。そこ
で本発明は、マイクロプログラムを使用しない命令中に
該当するマイクロプログラムが実際に必要になるときま
でにマイクロプログラムのロードを行うことにより、マ
イクロプログラム制御のプロセッサで低容量の制御記憶
でも性能低下の防止を図ることにある。
【0007】
【課題を解決するための手段】本発明が提供するプロセ
ッサは、初期マイクロプログラムロード時にロードし制
御記憶に常駐させる、主記憶装置から前記制御記憶に一
定の長さ書き込み動作を行う第1のマイクロプログラム
と、マイクロプログラム制御か否かを示す第1のビット
と、前記制御記憶に書き込み動作中にマイクロプログラ
ム制御を要する要求が発生した場合これを抑止するため
の、前記制御記憶に書き込み動作中であることを示す第
2のビットと、マイクロプログラムのオーバーレイの契
機を与える第3の手段を有し、前記契機が与えられたと
き、マイクロプログラム制御を要する処理にさきがけ、
前記第1のマイクロプログラムを用いて必要なマイクロ
プログラムをロードすることにより、前記目的を達成す
ることが可能とするものである。
【0008】なお、本プロセッサにおいては、マイクロ
プログラムを使用する命令の前にマイクロプログラムを
使用しない命令列を生成し、その前に前記契機を与える
様な命令列の生成に付いては、コンパイラーが行う。コ
ンパイラによる計算機の性能を引き出すための命令列生
成はRISCアーキテクチャプロセッサやHITACH
I社のベクトル型スーパーコンピュータS−810及び
S−820,S−3800において公知な技術である。
【0009】
【作用】本プロセッサにおいては、レジスタ演算命令な
ど単純で基本的な命令はマイクロプログラムの制御を受
けずに実行され、制御命令などの複雑な命令やファーム
ウエアなど特殊な命令はマイクロプログラムの制御を受
ける。
【0010】前記解決手段において示した前記マイクロ
プログラム制御の有効性を示すビットおよび前記制御記
憶に書き込み動作中であることを示すビットはデホルト
オフに成っており、このようなプロセッサにおいてコン
パイラが後者の制御命令などの複雑な命令の発行前に、
マイクロプログラムを制御記憶にロードさせる契機を与
える命令を発行すると、命令制御ユニットは、前記マイ
クロプログラム制御有効性ビットをオンし、マイクロプ
ログラムに制御を渡し、制御記憶に常駐している前記マ
イクロプログラムが、その命令のマイクロプログラムが
制御記憶にない場合、前記制御記憶に書き込み動作中で
あることを示すビットをオンし、前記マイクロプログラ
ム制御を示すビットをオフし、制御を命令制御ユニット
に戻して、主記憶装置から前記制御記憶に一定の長さ書
き込み動作を行い、書き込み動作が終了すると前記制御
記憶に書き込み動作中であることを示すビットをオフす
る。前記制御記憶に書き込み動作中であることを示すビ
ットがオンになっていると命令制御ユニットはマイクロ
プログラムを使用しない命令が続く間命令の実行を行
う。命令制御ユニットは、マイクロプログラムを使用す
る命令をデコードした時、前記制御記憶に書き込み動作
中ビットが未だオンのままであると書き込みが終了し前
記書き込み動作中ビットがオフされるまで命令の実行を
抑止し機能的にウエイトする。マイクロプログラムを使
用する命令をデコードした時、前記制御記憶に書き込み
動作中ビットがすでにオフにされていれば機能的ウエイ
トせずに前記マイクロプログラム制御を示すビットをオ
ンし、デコードした命令を実行する。以上のようにして
命令制御が矛盾を起こすことなく前記マイクロプログラ
ムを必要な時までに制御記憶中にロードしておくことを
可能とするものである。
【0011】なお、前記マイクロプログラムを制御記憶
にロードさせる契機を与える命令の発行タイミングはコ
ンパイラにより、本プロセッサの制御記憶のアクセスの
速さと書き込みを行う単位の長さに応じてオプティマイ
ズされ、マイクロプログラムを必要な時までに書き込み
が完了し終わるように前記マイクロプログラムを制御記
憶にロードさせる契機を与える命令を発行する。また、
マイクロプログラム使用の命令が連続しないように命令
列を生成するのもコンパイラの役目である。
【0012】
【実施例】以下、本発明の実施例について説明する。図
1はプログラムの実行を示す。マイクロプログラムを使
用しない命令群11,13に挟まれてマイクロプログラ
ムを使用する命令12を含む命令列10は、コンパイラ
により、マイクロプログラムを使用しない命令群21,
23に挟まれたマイクロプログラムを使用する命令22
を含み、マイクロプログラムを使用しない命令群21の
前にマイクロプログラムを使用する命令22のマイクロ
プログラムロードの契機を与えるダミー命令24を挿入
した命令列20に変換されることを示す。ダミー命令2
4は、命令実行はしない事を指定する情報をオペランド
の一部に付加した以外は、命令22と命令形式・オペラ
ンドなど同じ内容を持つ。ここでは、マイクロプログラ
ムを使用しない命令群21の実行時間はマイクロプログ
ラムを使用する命令22のマイクロプログラムを含む単
位を制御記憶200に書き込むに十分な時間であるよう
にコンパイラによりオプティマイズされている。
【0013】また、マイクロプログラムを使用するが、
きわめて基本的で高速性が要求される命令は、制御記憶
200内の常駐部に入れておくことが望ましい。制御記
憶200の非常駐部を使わざるを得ない、さほど高速性
が要求されない命令の処理を図3に示す。
【0014】図2は、本プロセッサの構成を示す。本プ
ロセッサは制御レジスタ群30、汎用レジスタ群40、
浮動小数点レジスタ群50、キャッシュ50、キャッシ
ュコントロール60、命令実行制御部I−Control 1
00からなり、命令実行制御部I−Control 100
は、マイクロプログラムを格納してある制御記憶(C
S)200、制御記憶200のアクセスアドレスレジス
タCSAR 210、などを含む。
【0015】マイクロプログラムを使用する命令が発行
されるとI−Control 100内の命令デコーダ250
はマイクロプログラム制御を示すフラグ270を1にセ
ットし、制御記憶200の常駐エリアの前記マイクロプ
ログラムの先頭アドレスをCSAR 210をセットす
る。CSAR 210でアドレスされたマイクロ命令が
制御記憶読み出しレジスタCSRDR 220に読み出
され実行される。CSAR 210は、マイクロプログ
ラム制御を示すフラグ270がオンの間はCSRDR
220が更新する。
【0016】デコードされたマイクロプログラムを使用
する命令が、制御記憶200の非常駐部を使う命令であ
る時、読み出されたマイクロ命令が、制御記憶200の
書き込み中であることを示すフラグ260と、制御記憶
200の書き込みフラグ280と書き込みブロックアド
レス290とをセットし、キャッシュコントロールユニ
ット70を通して主記憶60より読み出したデータを制
御記憶書き込みデータレジスタCSWDR 220を経
て、制御記憶200に書き込む。このとき図示はしない
が、読み出しデータをキャッシュ65には登録しないよ
うにする。制御記憶200への書き込みが終了すると、
制御記憶200の書き込み中であることを示すフラグ2
60と、制御記憶200の書き込みフラグ280をリセ
ットする。
【0017】前記制御記憶200の書き込み動作中であ
ることを示すフラグ260がオンになっていても、命令
実行制御部I−Control 100はマイクロプログラム
を使用しない命令が続く間、マイクロプログラム制御を
示すフラグ270はオンにならないため、非マイクロプ
ログラム制御110命令を起動し実行を行う。命令実行
制御部I−Control 100は、マイクロプログラムを
使用する命令をデコードした時、前記制御記憶書き込み
動作中であることを示すフラグ260が未だオンのまま
であると、書き込みが終了し前記書き込み動作中である
ことを示すフラグ260がオフされるまで命令の実行を
抑止し機能的にウエイトする。マイクロプログラムを使
用する命令をデコードした時、前記制御記憶書き込み動
作中であることを示すフラグ260がすでにオフにされ
ていれば機能的ウエイトせずに前記マイクロプログラム
制御を示すフラグ270をオンし、デコードした命令を
実行する。
【0018】図3は命令中必要なすべてのマイクロ命令
が制御記憶の常駐エリアに存在しない任意の命令の処理
を示す。ここではX命令300とする。X命令300は
すべてのマイクロ命令が制御記憶の常駐エリアに存在し
ない命令であるが、制御記憶にマイクロプログラムをロ
ードすることを目的とし、オペランドにおいて命令を実
行しないことを指定するX命令300のダミー命令も同
じマイクロプログラムを使用する。命令300はI−C
ontrol 100によって生成されたマイクロ命令列の先
頭から実行され、制御記憶の非常駐部におかれるマイク
ロ命令列の部分が制御記憶の非常駐部に存在しているか
を判定する処理310を行い、存在していない場合、図
2のマイクロプログラム書き込み中を示すフラグ270
を1にセットする処理320を行い、非常駐部の書き込
むべきエリアを使用しているコードのクリア処理330
を行い、非常駐部の書き込むべきエリアへのロード処理
340完了後、非常駐部の書き込むべきエリアを使用し
ているコードに命令300を登録する処理350を行
い、図2のマイクロプログラム書き込み中を示すフラグ
270を0にリセットする処理360を行い、命令実行
の判別処理370が成立して、非常駐エリアのマイクロ
命令列380を実行して命令終了処理EOP390とな
る。X命令300のダミー命令は、命令実行の判別処理
370が成立せず、命令終了処理EOP390とする点
を以外は同様である。しかし、X命令300のダミー命
令により非常駐部が制御記憶にロードされているため、
命令300は通常、処理310の存在しているテストが
成立する。X命令300とX命令300のダミー命令が
走ることで、処理310は重複して実行されることにな
るが、このオーバーヘッドは制御記憶書き込みのオーバ
ーヘッドに比べ無視できる程度のものである。
【0019】本例では、X命令300のダミー命令は、
命令300と命令の実行以外同じであり、命令コードも
同じであるため、I−Control 100では制御記憶の
先頭アドレス生成や命令制御など命令300と分けて処
理する必要がない。
【0020】なお、オペランドで指定された命令のマイ
クロプログラムを制御記憶にロードする専用の命令を設
けても同様に実現でき、方法は容易に類推される。
【0021】
【発明の効果】CISCアーキテクチャで実行される汎
用コンピュータにおいて、命令は多く複雑であるため、
マイクロプログラム制御は必須要素である。一方、ダウ
ンサイジング・1チップ化のニーズが高まる現在、1チ
ップ化を実現するには、マイクロプログラム格納エリア
である制御記憶を従来の大規模なプロセッサで保持して
いた容量を確保することは困難である。制御記憶容量の
削減すると、マイクロプログラムが格納しきれなくなる
ため、マイクロプログラムはオーバーレイを実施せざる
を得ない。しかも、従来オーバーレイの対象であった割
り込みなどの処理以外の命令の部分までオーバーレイの
対象にしなければならず、性能劣化をおこす。しかし係
るプロセッサにおいては、マイクロプログラムはオーバ
ーレイを他の命令と平行して実行できるため性能劣化を
招かないようにすることができる。
【図面の簡単な説明】
【図1】本発明の全体的システム構成を示すブロック
図。
【図2】コンパイラによる命令列の変換を示す図。
【図3】マイクロプログラムによる命令の処理を示す図
である。
【符号の説明】
11,13,21,23…マイクロプログラムを使用し
ない命令群、 12,22…マイクロプログラムを使用する命令、 24…マイクロプログラムロードを起動する命令、 30…制御レジスタ群、 40…汎用レジスタ群、 50…浮動小数点レジスタ群、 60…主記憶、 65…キャッシュコントロール、 70…キャッシュ、 100…命令実行制御ユニット(I−Control)、 200…制御記憶(CS)、 210…制御記憶アドレスレジスタ(CSAR)、 220…制御記憶データ書き込みレジスタ(CSWD
R)、 230…制御記憶データ読み出しレジスタ(CSWD
R)、 250…命令デコーダ、 270…マイクロプログラム制御フラグ、 280…制御記憶データ書き込みフラグ、 290…制御記憶データ書き込みブロックアドレス(W
BA)、 300…命令中必要なすべてのマイクロ命令が制御記憶
の常駐エリアにない命令、 310−390…マイクロプログラム処理、 400…命令300のダミー命令。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】読み書き可能でメモリユニットとのインタ
    ーフェースを有する制御記憶を持つマイクロプログラム
    制御方式のプロセッサにおいて、 マイクロプログラムを制御を行うことを示すフラグ手段
    と、命令によってはマイクロプログラムを使用しない手
    段と、前記メモリユニットから前記制御記憶へ書き込み
    を行う手段とを持ち、 マイクロプログラムを使用する命令の実行以前に、該当
    のマイクロプログラムが前記制御記憶にある場合は何も
    行わず、該当のマイクロプログラムが前記制御記憶にな
    い場合はマイクロプログラムをロードする処理を行うこ
    とを特徴とするマイクロプログラム制御プロセッサ。
  2. 【請求項2】請求項1のマイクロプログラム制御方式の
    プロセッサにおいて、 前記メモリユニットからマイクロプログラムを前記制御
    記憶に書き込み中であることを示すフラグ手段を持ち、 前記マイクロプログラムをロードする時、次にマイクロ
    プログラムを使用する命令をデコードした場合は前記マ
    イクロプログラム書き込みが終了するまでその実行を抑
    止し、マイクロプログラムを使用しない命令をデコード
    した場合はマイクロプログラムのロード動作と平行して
    マイクロプログラムを使用せず命令処理を行うことを特
    徴とするマイクロプログラム制御プロセッサ。
  3. 【請求項3】請求項2のプロセッサを1Chip LSI
    で実現したことを特徴とするマイクロプログラム制御プ
    ロセッサ。
JP25282693A 1993-10-08 1993-10-08 マイクロプログラム制御プロセッサ Pending JPH07104995A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25282693A JPH07104995A (ja) 1993-10-08 1993-10-08 マイクロプログラム制御プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25282693A JPH07104995A (ja) 1993-10-08 1993-10-08 マイクロプログラム制御プロセッサ

Publications (1)

Publication Number Publication Date
JPH07104995A true JPH07104995A (ja) 1995-04-21

Family

ID=17242749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25282693A Pending JPH07104995A (ja) 1993-10-08 1993-10-08 マイクロプログラム制御プロセッサ

Country Status (1)

Country Link
JP (1) JPH07104995A (ja)

Similar Documents

Publication Publication Date Title
US5226164A (en) Millicode register management and pipeline reset
US5280593A (en) Computer system permitting switching between architected and interpretation instructions in a pipeline by enabling pipeline drain
JP3870973B2 (ja) スーパースケーラマイクロプロセサ
US5926646A (en) Context-dependent memory-mapped registers for transparent expansion of a register file
US6338134B1 (en) Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data
JPH0450621B2 (ja)
JP2004522215A (ja) プロセッサ・パイプライン内でのハードウェア命令翻訳
KR101059906B1 (ko) 연산 처리 장치 및 명령의 확장 방법
WO1995022103A1 (en) Microprocessor access control unit with fetch address queue
US5713035A (en) Linking program access register number with millicode operand access
JPH03233630A (ja) 情報処理装置
EP1039376B1 (en) Sub-instruction emulation in a VLIW processor
EP0279953A2 (en) Computer system having mixed macrocode and microcode instruction execution
JPH07104995A (ja) マイクロプログラム制御プロセッサ
EP0510429A2 (en) Millicode register management system
JP2504235B2 (ja) デ―タ処理装置
JPH0524537B2 (ja)
KR930002324B1 (ko) 기억버퍼를 갖는 마이크로 프로세서
JP2933569B2 (ja) 中央演算処理装置
JPS61285537A (ja) マイクロプログラム制御によるデ−タ処理装置
JPH0240722A (ja) 演算処理装置
JPH05241828A (ja) 命令処理装置
JP2001236228A (ja) 計算機とその制御方法
JPH0425937A (ja) 情報処理装置
JPH0412860B2 (ja)