JPS63116236A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS63116236A JPS63116236A JP61261870A JP26187086A JPS63116236A JP S63116236 A JPS63116236 A JP S63116236A JP 61261870 A JP61261870 A JP 61261870A JP 26187086 A JP26187086 A JP 26187086A JP S63116236 A JPS63116236 A JP S63116236A
- Authority
- JP
- Japan
- Prior art keywords
- microinstruction
- address
- microinstructions
- memory
- register
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/328—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、マイクロ命令を用いて制御されるミニコンピ
ユータ等の情報処理装置に係り、特に、大容量マイクロ
命令の高速読出し、及び、システムのVLSI化に好適
な情報処理装置に関する。
ユータ等の情報処理装置に係り、特に、大容量マイクロ
命令の高速読出し、及び、システムのVLSI化に好適
な情報処理装置に関する。
従来の装置の一般的構成を第14図に示す。この種の装
置についてはアイ・イー・イー・イー、ジャーナル オ
ブ ソリッド ステート サーキット ボリーム ニス
シーの19、ナンバー5.10月号1984の第66
3頁から第674頁(IEEHJournal of
5olid−5tate C1rcuits、vol。
置についてはアイ・イー・イー・イー、ジャーナル オ
ブ ソリッド ステート サーキット ボリーム ニス
シーの19、ナンバー5.10月号1984の第66
3頁から第674頁(IEEHJournal of
5olid−5tate C1rcuits、vol。
5C−19,Na5.Oct、(1984)、pp66
3〜p p 674)に記載されている。従来の装置は
。
3〜p p 674)に記載されている。従来の装置は
。
命令のデコード、実行を行うB P U (Basic
Processing、Unit) 14002と、マ
イクロ命令を格納するC S (Control St
orage)と呼ばれるRAM14001と主メモリ1
4003より構成されている。
Processing、Unit) 14002と、マ
イクロ命令を格納するC S (Control St
orage)と呼ばれるRAM14001と主メモリ1
4003より構成されている。
14004は、マイクロ命令のアドレスバス、1400
5は。
5は。
マイクロ命令を読み出すバス、14006は主メモリの
アドレスバス、14007はデータバスである。マイク
ロ命令の容量は8〜16にワード程度である。
アドレスバス、14007はデータバスである。マイク
ロ命令の容量は8〜16にワード程度である。
マイクロ命令は通常1マシンサイクルに1回読み出され
、デコードされてBPUの中の演算装置を制御するのに
使われる。マシンサイクルは計算機の性能を決める基本
的な動作の単位であり、前記マイクロ命令読出しは、し
ばしばマシンサイクルを決めるクリティカルバスとなる
。
、デコードされてBPUの中の演算装置を制御するのに
使われる。マシンサイクルは計算機の性能を決める基本
的な動作の単位であり、前記マイクロ命令読出しは、し
ばしばマシンサイクルを決めるクリティカルバスとなる
。
また、他の従来装置として、特開昭61−95446号
公報がある。これは、制御記憶部に格納されている第1
のマイクロ命令と外部から供給される第2のマイクロ命
令とを選択的に切換える選択部。
公報がある。これは、制御記憶部に格納されている第1
のマイクロ命令と外部から供給される第2のマイクロ命
令とを選択的に切換える選択部。
および、前記第1または第2のマイクロ命令によって制
御される信号処理部をそなえた論理回路である。この装
置は、本発明の目的とするマイクロ命令の高速読出し、
ピン数低減、マイクロ命令の修正の3点について配慮さ
れていなかった6〔発明が解決しようとする問題点〕 LSI技術が進歩し、集積度が増えたことにより、前記
BPUは、1チツプに集積可能となった。
御される信号処理部をそなえた論理回路である。この装
置は、本発明の目的とするマイクロ命令の高速読出し、
ピン数低減、マイクロ命令の修正の3点について配慮さ
れていなかった6〔発明が解決しようとする問題点〕 LSI技術が進歩し、集積度が増えたことにより、前記
BPUは、1チツプに集積可能となった。
またLSIを構成する論理ゲートの遅延時間はinsを
きり、マシンサイクルを短縮するのに役立っている。特
に、バイポーラトランジスタとMOSトランジスタを基
本回路レベルで複合し、バイポーラの高速性とMOSの
高集積、低消費電力性を組み合わせることにより60M
Hz (17ns)のマシンサイクルを達成する回路が
、 1986年のl5SCC(Internation
al 5olid 5tate ClrcuitsCo
ntere%re)にて報告されている。
きり、マシンサイクルを短縮するのに役立っている。特
に、バイポーラトランジスタとMOSトランジスタを基
本回路レベルで複合し、バイポーラの高速性とMOSの
高集積、低消費電力性を組み合わせることにより60M
Hz (17ns)のマシンサイクルを達成する回路が
、 1986年のl5SCC(Internation
al 5olid 5tate ClrcuitsCo
ntere%re)にて報告されている。
ところが上記LSI化による高速性は、信号がチップ内
に閉じる時は有効であるが、チップ間を信号が伝わる際
の遅延はIons〜20nsと大である。すなわち、チ
ップ上の論理ゲートはどんどん高速化されるのに比して
、チップ間の信号伝搬時間の高速化には限界がある。こ
れは、集積度が高まるにつれて、チップ内部の論理ゲー
トの負荷容量が減少するのに対し、パッケージ容量、パ
ッケージをつなぐプリント板上の配線容量はほとんど減
少しないためである。従がって、上記従来技術の構成で
、WO2をBPUとは別チップのRAMを用いて構成す
ると信号のチップ間渡りが生じるため、マシンサイクル
向上に限界がある。また、マイクロ命令は、通常64ビ
ット程度の幅を持つため、メモリバスとマイクロ命令用
のバスの両方をBPUに設けるとBPUのピン数が著し
く多くなるという問題点がある。
に閉じる時は有効であるが、チップ間を信号が伝わる際
の遅延はIons〜20nsと大である。すなわち、チ
ップ上の論理ゲートはどんどん高速化されるのに比して
、チップ間の信号伝搬時間の高速化には限界がある。こ
れは、集積度が高まるにつれて、チップ内部の論理ゲー
トの負荷容量が減少するのに対し、パッケージ容量、パ
ッケージをつなぐプリント板上の配線容量はほとんど減
少しないためである。従がって、上記従来技術の構成で
、WO2をBPUとは別チップのRAMを用いて構成す
ると信号のチップ間渡りが生じるため、マシンサイクル
向上に限界がある。また、マイクロ命令は、通常64ビ
ット程度の幅を持つため、メモリバスとマイクロ命令用
のバスの両方をBPUに設けるとBPUのピン数が著し
く多くなるという問題点がある。
一方、マイクロプロセッサに見られるように。
マイクロ命令をオンチップROMに格納すれば。
信号のLSI間渡りがなくなり、マシンサイクルを短縮
することが可能であるが、オンチップできるROMの容
量は2にワード〜4にワードであり、上記のミニコンの
構成に必要な大容量のマイクロ命令全てをオンチップ化
することはできないという問題点がある。また、ROM
は一度BPUをLSIとして作製するとマイクロ命令の
誤りを容易に修正できないという問題点もある。
することが可能であるが、オンチップできるROMの容
量は2にワード〜4にワードであり、上記のミニコンの
構成に必要な大容量のマイクロ命令全てをオンチップ化
することはできないという問題点がある。また、ROM
は一度BPUをLSIとして作製するとマイクロ命令の
誤りを容易に修正できないという問題点もある。
本発明の目的は、VLSI化に好適で、大容量のマイク
ロ命令を実効的に高速に読出す情報処理装置を提供する
ことである。この際、マイクロ命令の変更なしに、上記
目的を達成できることが望ましい。
ロ命令を実効的に高速に読出す情報処理装置を提供する
ことである。この際、マイクロ命令の変更なしに、上記
目的を達成できることが望ましい。
本発明の第2の目的は、ピン数少のチップによりVLS
I化するのに好適な情報処理装置を提供することである
。
I化するのに好適な情報処理装置を提供することである
。
また、本発明の第3の目的は、マイクロ命令を容易に修
正可能な情報処理装置を提供することである。
正可能な情報処理装置を提供することである。
前記、従来技術では上記の3つの点についての配慮がさ
れていなかった。
れていなかった。
上記第1の目的は、マイクロ命令をオンチップの高速R
OMと、オフチップのメモリに分割格納し並列にアクセ
スすることにより達成される。すなわち、マイクロ命令
のアドレスより、上記ROMにマイクロ命令が格納され
ていないことを検出する手段と、上記マイクロ命令のア
ドレスをメモリのアドレスに変換する手段と、ROMか
ら読出されたマイクロ命令を抑制し、酵記アドレスによ
りメモリから読出されたマイクロ命令を、マイクロ命令
を保持するレジスタにセットする手段とを設番ブること
により達成される。
OMと、オフチップのメモリに分割格納し並列にアクセ
スすることにより達成される。すなわち、マイクロ命令
のアドレスより、上記ROMにマイクロ命令が格納され
ていないことを検出する手段と、上記マイクロ命令のア
ドレスをメモリのアドレスに変換する手段と、ROMか
ら読出されたマイクロ命令を抑制し、酵記アドレスによ
りメモリから読出されたマイクロ命令を、マイクロ命令
を保持するレジスタにセットする手段とを設番ブること
により達成される。
また、前記第2の目的は、上記高速ROMに格納できな
かったマイクロ命令を、主メモリ上に置くことにより達
成される。すなわち、マイクロ命令のアドレスを主メモ
リのアドレスに変換する手段と、変換されたアドレスを
保持し主メモリアドレスバスに接続されるレジスタと、
主メモリから読出されたマイクロ命令を主メモリデータ
バスより、マイクロ命令を保持し演算ユニットを制御す
るレジスタにセットする手段を設けることにより達成さ
れる。
かったマイクロ命令を、主メモリ上に置くことにより達
成される。すなわち、マイクロ命令のアドレスを主メモ
リのアドレスに変換する手段と、変換されたアドレスを
保持し主メモリアドレスバスに接続されるレジスタと、
主メモリから読出されたマイクロ命令を主メモリデータ
バスより、マイクロ命令を保持し演算ユニットを制御す
るレジスタにセットする手段を設けることにより達成さ
れる。
また前記第3の目的は、前記マイクロ命令のアドレスに
より、オンチップ高速ROMにマイクロ命令が格納され
ていないことを検出する手段を、上記ROMに格納され
ていないアドレスを保持する1つまたは複数のレジスタ
と、これら複数のレジスタとマイクロ命令アドレスを同
時に比較し少なくとも1つの一致するものがあることを
検出する手段とにより構成することにより達成される。
より、オンチップ高速ROMにマイクロ命令が格納され
ていないことを検出する手段を、上記ROMに格納され
ていないアドレスを保持する1つまたは複数のレジスタ
と、これら複数のレジスタとマイクロ命令アドレスを同
時に比較し少なくとも1つの一致するものがあることを
検出する手段とにより構成することにより達成される。
マイクロ命令の中には、頻繁に使われるものとあまり使
われないものがある。従がって、頻繁に使われるマイク
ロ命令をオンチップROMに、また、あまり使われない
マイクロ命令をオフチップのメモリにおくことにより、
大容量のマイクロ命令を実行的に高速に読出すことがで
きる。
われないものがある。従がって、頻繁に使われるマイク
ロ命令をオンチップROMに、また、あまり使われない
マイクロ命令をオフチップのメモリにおくことにより、
大容量のマイクロ命令を実行的に高速に読出すことがで
きる。
また、主メモリのアドレス、データバスとは別にマイク
ロ命令のアドレス・データバスを設けるとBPUのピン
数が増大する。しかし、高速ROMに格納しない、あま
り使われないマイクロ命令を主メモリに格納し、主メモ
リのアドレスバス、データバスを用いてマイクロ命令を
読出すことにより、ピン数の増大を防ぐことができる。
ロ命令のアドレス・データバスを設けるとBPUのピン
数が増大する。しかし、高速ROMに格納しない、あま
り使われないマイクロ命令を主メモリに格納し、主メモ
リのアドレスバス、データバスを用いてマイクロ命令を
読出すことにより、ピン数の増大を防ぐことができる。
また、マイクロ命令のアドレスを見て、そのマイクロ命
令がROMに格納されていないことを検出する手段を、
デバッグしたい複数のマイクロ命令のアドレスを保持す
るレジスタ群と、このレジスタ群の1つ1つとマイクロ
命令のアドレスを同時に比較し、1つでも一致したもの
があるかどうかを検出する手段とにより構成することに
より、デバッグを容易に行うことができる。すなわち。
令がROMに格納されていないことを検出する手段を、
デバッグしたい複数のマイクロ命令のアドレスを保持す
るレジスタ群と、このレジスタ群の1つ1つとマイクロ
命令のアドレスを同時に比較し、1つでも一致したもの
があるかどうかを検出する手段とにより構成することに
より、デバッグを容易に行うことができる。すなわち。
デバッグしたいマイクロ命令のアドレスをlTf記レジ
スタにあらかじめ書込んでおき、主メモリ上に正しいマ
イクロ命令を用意しておくことにより、このマイクロ命
令を読出そうとした時に、ROMの出力が抑制され、主
メモリから読出された正しいマイクロ命令が、マイクロ
命令を保持するレジスタにセットされる。
スタにあらかじめ書込んでおき、主メモリ上に正しいマ
イクロ命令を用意しておくことにより、このマイクロ命
令を読出そうとした時に、ROMの出力が抑制され、主
メモリから読出された正しいマイクロ命令が、マイクロ
命令を保持するレジスタにセットされる。
ここで述べる主メモリとは、BPUより送出されるアド
レスによりアクセスされるメモリ空間のことを指し、本
発明はそのメモリの具体的な実現方法にはよらない、主
メモリのうち、通常の命令。
レスによりアクセスされるメモリ空間のことを指し、本
発明はそのメモリの具体的な実現方法にはよらない、主
メモリのうち、通常の命令。
データを保持するメモリをDRAMで構成し、マイクロ
命令を格納するメモリをSRAMで構成することも可能
である。また両者をD RA Mで構成することも可能
である。また、通常主メモリの高速化のためにキャッシ
ュメモリが設けられる。この構成の主メモリに対しても
本発明は有効である。
命令を格納するメモリをSRAMで構成することも可能
である。また両者をD RA Mで構成することも可能
である。また、通常主メモリの高速化のためにキャッシ
ュメモリが設けられる。この構成の主メモリに対しても
本発明は有効である。
逆にキャッシュメモリは、本発明を実施したシステムに
対しても有効である。すなわち、主メモリ上のマイクロ
命令は、全くアクセスされない時にはキャッシュに入ら
ないが、1度アクセスされるとキャッシュメモリに登録
され1次回からのアクセスが高速化される。
対しても有効である。すなわち、主メモリ上のマイクロ
命令は、全くアクセスされない時にはキャッシュに入ら
ないが、1度アクセスされるとキャッシュメモリに登録
され1次回からのアクセスが高速化される。
第2図は本発明の一実施例の全体構成を示す図である。
20oOは命令の読出し、実行を行う単一の半導体チッ
プに形成、マイクロプロセッサとなるB P U (B
asic Processing Unit)、200
1は半導体主メモリである。2100は読み出した命令
を格納しておく命令バッファIBR12101は命令読
出し、命令バッファの管理を行う命令フェッチユニット
、2102はマイクロ命令制御ユニット、2103はマ
イクロ命令デコーダ、2104は演算ユニット、210
5はメモリ制御ユニット、2106は主メモリ上のマイ
クロ命令のアドレスを保持するマイクロ命令ポインタμ
IP、2107はフェッチする命令のアドレスを保持す
るフェッチポインタFP、2108はオペランドの読出
し、書込みアドレスを保持するメモリアドレスレジスタ
MAR12109はオペランドとして書込むデータ、あ
るいは読んだデータを保持するメモリデータレジスタM
BRである。
プに形成、マイクロプロセッサとなるB P U (B
asic Processing Unit)、200
1は半導体主メモリである。2100は読み出した命令
を格納しておく命令バッファIBR12101は命令読
出し、命令バッファの管理を行う命令フェッチユニット
、2102はマイクロ命令制御ユニット、2103はマ
イクロ命令デコーダ、2104は演算ユニット、210
5はメモリ制御ユニット、2106は主メモリ上のマイ
クロ命令のアドレスを保持するマイクロ命令ポインタμ
IP、2107はフェッチする命令のアドレスを保持す
るフェッチポインタFP、2108はオペランドの読出
し、書込みアドレスを保持するメモリアドレスレジスタ
MAR12109はオペランドとして書込むデータ、あ
るいは読んだデータを保持するメモリデータレジスタM
BRである。
2201は主メモリの32ビツトアドレスバス、220
oは主メモリの64ビツトデータバスである。
oは主メモリの64ビツトデータバスである。
命令フェッチユニット2101は、命令バッファにあき
があれば、命令受取可能信号2206をメモリ制御ユニ
ットに送出する。メモリ制御ユニットにより命令フェッ
チが実際に行なわれ、終了すると、命令フェッチ終了信
号2207が命令フェッチユニット2101に返される
。この時、命令フェッチユニットはデータバス2200
より。
があれば、命令受取可能信号2206をメモリ制御ユニ
ットに送出する。メモリ制御ユニットにより命令フェッ
チが実際に行なわれ、終了すると、命令フェッチ終了信
号2207が命令フェッチユニット2101に返される
。この時、命令フェッチユニットはデータバス2200
より。
読出された命令を命令バッファ2100に格納する。ま
た、マイクロ命令制御ユニット2101の要求に応じて
、バス2202.2203を経て。
た、マイクロ命令制御ユニット2101の要求に応じて
、バス2202.2203を経て。
命令バッファ2100に格納されている命令を、マイク
ロ命令制御ユニット2102に送出する。
ロ命令制御ユニット2102に送出する。
マイクロ命令制御ユニット2102は、命令のデコード
、マイクロ命令読出し等を行なう、読出された命令のう
ち、演算ユニットを制御するフィールド2204が、マ
イクロ命令デコーダ2103に送出される。マイクロ命
令デコーダ2103は受取ったマイクロ命令をデコード
し、演算ユニット制御信号2205を演算ユニット21
04に送出する。信号2216は1条件分岐時の条件成
立か否かをマイクロ命令制御ユニット2102に知らせ
る信号である。演算ユニット2104は計算したアドレ
スをバス2214を経てメモリアドレスレジスタ210
8に送出する。また、バス2215を経て、メモリに書
き込むデータをメモリデータレジスタ2109に送出し
たり、メモリから読んだデータを受取ったりする。
、マイクロ命令読出し等を行なう、読出された命令のう
ち、演算ユニットを制御するフィールド2204が、マ
イクロ命令デコーダ2103に送出される。マイクロ命
令デコーダ2103は受取ったマイクロ命令をデコード
し、演算ユニット制御信号2205を演算ユニット21
04に送出する。信号2216は1条件分岐時の条件成
立か否かをマイクロ命令制御ユニット2102に知らせ
る信号である。演算ユニット2104は計算したアドレ
スをバス2214を経てメモリアドレスレジスタ210
8に送出する。また、バス2215を経て、メモリに書
き込むデータをメモリデータレジスタ2109に送出し
たり、メモリから読んだデータを受取ったりする。
マイクロ命令制御ユニットは、命令実行に際して、オペ
ランドのメモリからの読み出しが必要な時には、オペラ
ンドアドレスをメモリアドレスレジスタにセットした後
にオペランド読出し要求信号2210をメモリ制御ユニ
ット2105に送出する。メモリ制御ユニットは読出し
を行ない、読出したオペランドをメモリデータレジスタ
2109にセットしメモリアクセス終了信号2209を
マイクロ命令制御ユニット2102に送出する。オペラ
ンドの書き込みも同様である。
ランドのメモリからの読み出しが必要な時には、オペラ
ンドアドレスをメモリアドレスレジスタにセットした後
にオペランド読出し要求信号2210をメモリ制御ユニ
ット2105に送出する。メモリ制御ユニットは読出し
を行ない、読出したオペランドをメモリデータレジスタ
2109にセットしメモリアクセス終了信号2209を
マイクロ命令制御ユニット2102に送出する。オペラ
ンドの書き込みも同様である。
マイクロ命令制御ユニットは、必要なマイクロ命令がオ
ンチップROMにない時には、マイクロ命令のメモリ上
のアドレスをバス2212を通じてマイクロ命令ポイン
タ2106に送出すると同時に、マイクロ命令読出し要
求信号2211をメモリ制御ユニット2105に送出し
、マイクロ命令読出しを待つ、メモリ制御ユニット21
05は、マイクロ命令を主メモリ20o1より読出し、
メモリアクセス終了信号2209をマイクロ命令制御ユ
ニット2102に返す、この時、マイクロ命令制御ユニ
ットは主メモリデータバス2200よりマイクロ命令を
受取り、そのマイクロ命令を実行する。
ンチップROMにない時には、マイクロ命令のメモリ上
のアドレスをバス2212を通じてマイクロ命令ポイン
タ2106に送出すると同時に、マイクロ命令読出し要
求信号2211をメモリ制御ユニット2105に送出し
、マイクロ命令読出しを待つ、メモリ制御ユニット21
05は、マイクロ命令を主メモリ20o1より読出し、
メモリアクセス終了信号2209をマイクロ命令制御ユ
ニット2102に返す、この時、マイクロ命令制御ユニ
ットは主メモリデータバス2200よりマイクロ命令を
受取り、そのマイクロ命令を実行する。
最後トこメモリ制御ユニット2105の動作をまとめて
説明する。メモリ制御ユニットは、オペランドの読み書
き、マイクロ命令読出し、命令読出しの3つの動作を行
う。この3つに応じて、メモリアドレスを保持するレジ
スタとして、メモリアドレスレジスタ2108、マイク
ロ命令ポインタ2106、フェッチポインタ2107の
3つを管理している。オペランド読出し要求2210が
来た時には、メモリアドレスレジスタ2108の内容を
主メモリのアドレスバス2201に送出し、読み出した
データを、データバス2200を通じて、メモリデータ
レジスタ2109にセットし、メモリアクセス終了信号
2209を返す。また、マイクロ命令読出し要求信号2
211を受けた時には、マイクロ命令ポインタ2106
の内容をアドレスバス2201に送出し、読み出したデ
ータを、データバス2200を通じて、マイクロ命令制
御ユニット21o2に送出し、メモリアクセス終了信号
22o9を返す。最後に、命令受取可能信号2206を
受けた時には、フェッチポインタ2107の内容をアド
レスバス220〕に送出し、読み出したデータをデータ
バス220Qを通じて命令バッファ2100に送出する
と同時に、命令読出し終了信号を返す。また信号220
8は上記3種数のメモリアクセスが異常終了したことを
示す信号である。
説明する。メモリ制御ユニットは、オペランドの読み書
き、マイクロ命令読出し、命令読出しの3つの動作を行
う。この3つに応じて、メモリアドレスを保持するレジ
スタとして、メモリアドレスレジスタ2108、マイク
ロ命令ポインタ2106、フェッチポインタ2107の
3つを管理している。オペランド読出し要求2210が
来た時には、メモリアドレスレジスタ2108の内容を
主メモリのアドレスバス2201に送出し、読み出した
データを、データバス2200を通じて、メモリデータ
レジスタ2109にセットし、メモリアクセス終了信号
2209を返す。また、マイクロ命令読出し要求信号2
211を受けた時には、マイクロ命令ポインタ2106
の内容をアドレスバス2201に送出し、読み出したデ
ータを、データバス2200を通じて、マイクロ命令制
御ユニット21o2に送出し、メモリアクセス終了信号
22o9を返す。最後に、命令受取可能信号2206を
受けた時には、フェッチポインタ2107の内容をアド
レスバス220〕に送出し、読み出したデータをデータ
バス220Qを通じて命令バッファ2100に送出する
と同時に、命令読出し終了信号を返す。また信号220
8は上記3種数のメモリアクセスが異常終了したことを
示す信号である。
さて、オペランド読み書き要求、マイクロ命令読出し要
求、命令読出し要求が競合することもあるわけであるが
、この時には、オペランド読み書き、マイクロ命令読出
し、命令読出しの順で、優先的に処理する。例えば、命
令読出しは、オペランド読み書きも、マイクロ命令読出
しもない時に行なわれる。これは、先に処理の行なわれ
ている命令に関するメモリアクセスを優先的に行うこと
により、パイプライン処理を効率よく行うためである。
求、命令読出し要求が競合することもあるわけであるが
、この時には、オペランド読み書き、マイクロ命令読出
し、命令読出しの順で、優先的に処理する。例えば、命
令読出しは、オペランド読み書きも、マイクロ命令読出
しもない時に行なわれる。これは、先に処理の行なわれ
ている命令に関するメモリアクセスを優先的に行うこと
により、パイプライン処理を効率よく行うためである。
同様にして、前マイクロ命令から発せられたオペランド
読出し要求を、次マイクロ命令の読み出し要求より優先
して処理する。
読出し要求を、次マイクロ命令の読み出し要求より優先
して処理する。
次に、マイクロ命令制御ユニット2102の構成につい
て詳しく説明する。これを説明したのが第1図である。
て詳しく説明する。これを説明したのが第1図である。
3000はマイクロ命令が格納されているROMで、容
ff4にワードである。3007はマイクロ命令のアド
レスを保持するレジスタM r A R(Micro
In5truction Address Regis
ter)である。MIARの幅は14ビツトであり、1
6にワードのマイクロ命令を指すことができる。
ff4にワードである。3007はマイクロ命令のアド
レスを保持するレジスタM r A R(Micro
In5truction Address Regis
ter)である。MIARの幅は14ビツトであり、1
6にワードのマイクロ命令を指すことができる。
3005はマイクロ命令がROM3000にないことを
検出する回路、3008は主メモリ上のマイクロ命令の
アドレスを生成する回路、3004は命令デコーダ、3
003はマイクロ命令の次アドレスを決める制御回路、
3009と3010はセレクタ、3001はマイクロ命
令を保持するレジスタS M I R(Sub Mic
ro InstructionRegj、5ter)
、 3002もマイクロ命令を保持するレジスタM I
R(Micro In5truction Regi
ster) 。
検出する回路、3008は主メモリ上のマイクロ命令の
アドレスを生成する回路、3004は命令デコーダ、3
003はマイクロ命令の次アドレスを決める制御回路、
3009と3010はセレクタ、3001はマイクロ命
令を保持するレジスタS M I R(Sub Mic
ro InstructionRegj、5ter)
、 3002もマイクロ命令を保持するレジスタM I
R(Micro In5truction Regi
ster) 。
3006は、1ビツトのレジスタで、マイクロ命令がR
OMにないことを示す信号3103を保持する。
OMにないことを示す信号3103を保持する。
命令デコーダ3004は、命令フェッチユニットより、
バス22o3を通じて送られてくる命令をデコードし、
14ビツト幅のマイクロ命令の先頭アドレスを、バス3
100を通じて1次アドレス制御回路3003に送出す
る。
バス22o3を通じて送られてくる命令をデコードし、
14ビツト幅のマイクロ命令の先頭アドレスを、バス3
100を通じて1次アドレス制御回路3003に送出す
る。
制御回路3003はいろいろな信号により1次マイクロ
命令アドレスを生成し、バス311Oを通じてMIAR
3007にセットする。14ビツト幅のMIRAの下位
12ビツトはROM3000に送出され、14ビツト全
てが、30o5と3008に送出される。3005では
MIARを見て、このアドレスのマイクロ命令がない時
には、マイクロ命令読出し信号2210をメモリ制御ユ
ニット2105に送出する。また、信号線3103を通
じて、セレクタ301oに入力されているROM出力と
主メモリデータバス2200のうち後者を選んで5Ml
R3001にマイクロ命令を格納するように制御する、
一方、ROMにマイクロ命令がないことを知らせる信号
3103は、レジスタ3006にセットされ、信号31
04を通じて、制御回路3003にマイクロ命令読出し
待動作をさせる。また3005には、デバッグ用として
、デバッグしたいマイクロ命令のアドレスを書き込める
ように、メモリデータレジスタ2109の出力2215
と、マイクロ命令の制御フィールド3111が入力され
ている。詳しい動作は第3図〜第7図を用いて後述する
。
命令アドレスを生成し、バス311Oを通じてMIAR
3007にセットする。14ビツト幅のMIRAの下位
12ビツトはROM3000に送出され、14ビツト全
てが、30o5と3008に送出される。3005では
MIARを見て、このアドレスのマイクロ命令がない時
には、マイクロ命令読出し信号2210をメモリ制御ユ
ニット2105に送出する。また、信号線3103を通
じて、セレクタ301oに入力されているROM出力と
主メモリデータバス2200のうち後者を選んで5Ml
R3001にマイクロ命令を格納するように制御する、
一方、ROMにマイクロ命令がないことを知らせる信号
3103は、レジスタ3006にセットされ、信号31
04を通じて、制御回路3003にマイクロ命令読出し
待動作をさせる。また3005には、デバッグ用として
、デバッグしたいマイクロ命令のアドレスを書き込める
ように、メモリデータレジスタ2109の出力2215
と、マイクロ命令の制御フィールド3111が入力され
ている。詳しい動作は第3図〜第7図を用いて後述する
。
3008は、 M I AR14ビツトを見て、この命
令がROM3000にない時のために、常にMIARを
主メモリアドレスに変換して、32ビツトバス2212
を経てマイクロ命令ポインタ2106に送出する。アド
レス変換に必要なベースアドレス設定を行うために、メ
モリデータレジスタ2109よりのバス2215と、マ
イクロ命令の制御フィールド2112が入力されている
。
令がROM3000にない時のために、常にMIARを
主メモリアドレスに変換して、32ビツトバス2212
を経てマイクロ命令ポインタ2106に送出する。アド
レス変換に必要なベースアドレス設定を行うために、メ
モリデータレジスタ2109よりのバス2215と、マ
イクロ命令の制御フィールド2112が入力されている
。
詳しい動作は後に第9図を用いて説明する。
5MlR3001にセットされるマイクロ命令のフォー
マットを第12図に示す、ジャンプ先のアドレスを示す
14ビット幅のLITERALフィールド、次アドレス
の制御をする5EQUENCECONTフイールド、オ
ペランドフェッチの終了を待つことを指示する0FWA
ITフイールドがある。他のフィールドは、本発明に特
に関係しないフィールドであるので説明を省略する。
マットを第12図に示す、ジャンプ先のアドレスを示す
14ビット幅のLITERALフィールド、次アドレス
の制御をする5EQUENCECONTフイールド、オ
ペランドフェッチの終了を待つことを指示する0FWA
ITフイールドがある。他のフィールドは、本発明に特
に関係しないフィールドであるので説明を省略する。
制御回路3003は、マイクロ命令先頭アドレス310
0.SMIR出力3105のうちの上記LITERAL
、 SF!QUENCE(:ONT、 0FWAIT
(7) 3 フィールド、マイクロ命令読出し待信号3
104、条件成立を示す信号2216、メモリアクセス
終了信号2209、メモリエラー信号2208を受けて
、次命令アドレス311oとセレクタ3009制御信号
3106を出力する。次アドレスを決める論理について
は後述する。オペランドフェッチ待信号0FWAIT、
あるいは、マイクロ命令読出待信号μIFυAIT (
信号3104)がアサートされていて、かつ、メモリア
クセス終了信号MEND2209がネゲートされている
時(薄石(OF讐AIT+μIFIJAIT) )時に
は、制御線3106により、セレクタ3009を制御し
、No −0perationを示すマイクロ命令をM
I R3002にセットする。これにより、演算ユニ
ットは何もせずにオペランドフェッチ、あるいは、マイ
クロ命令読出しを待つ、MEND2209がアサートさ
れれば、待ち状態が解除され、正しいマイクロ命令がM
IRにセットされ、演算ユニットの動作をセットする。
0.SMIR出力3105のうちの上記LITERAL
、 SF!QUENCE(:ONT、 0FWAIT
(7) 3 フィールド、マイクロ命令読出し待信号3
104、条件成立を示す信号2216、メモリアクセス
終了信号2209、メモリエラー信号2208を受けて
、次命令アドレス311oとセレクタ3009制御信号
3106を出力する。次アドレスを決める論理について
は後述する。オペランドフェッチ待信号0FWAIT、
あるいは、マイクロ命令読出待信号μIFυAIT (
信号3104)がアサートされていて、かつ、メモリア
クセス終了信号MEND2209がネゲートされている
時(薄石(OF讐AIT+μIFIJAIT) )時に
は、制御線3106により、セレクタ3009を制御し
、No −0perationを示すマイクロ命令をM
I R3002にセットする。これにより、演算ユニ
ットは何もせずにオペランドフェッチ、あるいは、マイ
クロ命令読出しを待つ、MEND2209がアサートさ
れれば、待ち状態が解除され、正しいマイクロ命令がM
IRにセットされ、演算ユニットの動作をセットする。
また信号線2211を通じて、オペランド読出し要求を
出したりする。
出したりする。
上記動作タイミングをまとめたのが第11図である。M
IAR3007とMIR3002はクロックφがhig
hの時にスルーになるスルーラッチであ’) 、 S
M I R3001ト17ジスタ3006は。
IAR3007とMIR3002はクロックφがhig
hの時にスルーになるスルーラッチであ’) 、 S
M I R3001ト17ジスタ3006は。
クロックφがLowの時にスルーになるスルーラッチで
ある。第11図では、n番目とn+2番目のマイクロ命
令はROM上にあったが、n+1番目のマイクロ命令が
ROM上になかった場合である。
ある。第11図では、n番目とn+2番目のマイクロ命
令はROM上にあったが、n+1番目のマイクロ命令が
ROM上になかった場合である。
次に、マイクロ命令がROMにないことを判定する回路
第1図3005について第3図、第4図を用いて説明す
る。第3図、第4図は本発明の好ましい実施例を示した
ものである。すなわち16にワードのマイクロ命令の空
間を第4図に示すように4つに分け、斜線で示したアド
レス’oooo’から’OF F F’ までをROM
に格納する。この様に制限することは何ら問題ない。す
なわち、よく使われるマイクロ命令をこの4にワードの
アドレス範囲に入れておけばよいのである。こうするこ
とにより、ROMにマイクロ命令がないことを示す信号
を、第3図に示すように、マイクロ命令アドレスの上位
2ビツトを見て作ることができる。
第1図3005について第3図、第4図を用いて説明す
る。第3図、第4図は本発明の好ましい実施例を示した
ものである。すなわち16にワードのマイクロ命令の空
間を第4図に示すように4つに分け、斜線で示したアド
レス’oooo’から’OF F F’ までをROM
に格納する。この様に制限することは何ら問題ない。す
なわち、よく使われるマイクロ命令をこの4にワードの
アドレス範囲に入れておけばよいのである。こうするこ
とにより、ROMにマイクロ命令がないことを示す信号
を、第3図に示すように、マイクロ命令アドレスの上位
2ビツトを見て作ることができる。
すなわち、マイクロ命令アドレス3101−0〜310
1〜13のうち、上位2ビット3101−12 。
1〜13のうち、上位2ビット3101−12 。
3101−13のどちらか一方が1の時に、マイクロ命
令アクセス待信号3103と、マイクロ命令読出し要求
信号2210を“1″にアサートすればよい。
令アクセス待信号3103と、マイクロ命令読出し要求
信号2210を“1″にアサートすればよい。
また、本発明では、上に述べた様にマイクロ命令アドレ
スにより、ハードウェアがROMへのアクセスと外部メ
モリへのアクセスを制御するため、ROM容量の変更が
容易に行なわれる。すなわち。
スにより、ハードウェアがROMへのアクセスと外部メ
モリへのアクセスを制御するため、ROM容量の変更が
容易に行なわれる。すなわち。
マイクロ命令を変更することなく、マイクロ命令がRO
Mにないことを検出する回路3005のみを変更すれば
、ROM容量を変更することができる。
Mにないことを検出する回路3005のみを変更すれば
、ROM容量を変更することができる。
第5図は、マイクロ命令がROMにないことを判定する
回路3005 (第1図)についての本発明の他の好ま
しい実施例である。すなわち、第4図で述べた条件に加
えて、4つの14ビットレジスタ5oOO−1〜500
−4のいずレカト、マイクロ命令のアドレス3101が
一致した時に。
回路3005 (第1図)についての本発明の他の好ま
しい実施例である。すなわち、第4図で述べた条件に加
えて、4つの14ビットレジスタ5oOO−1〜500
−4のいずレカト、マイクロ命令のアドレス3101が
一致した時に。
マイクロ命令読出し要求2210とマイクロ命令読出し
待信号3103を出力する。5001.−1は、アドレ
ス3101とレジスタ5000−1を比較して一敗して
いれば一致信号5101−1を送出するコンパレータで
ある。5001−2〜5001−4は、同様に、レジス
タ5000−2〜5000−4とアドレス3101を比
較するコンパレータである。5002は、1つでも一致
したアドレスがあるかどうかを判定するORゲートであ
る。5004は、第3図で説明したROM領域を判定す
るORゲートである。
待信号3103を出力する。5001.−1は、アドレ
ス3101とレジスタ5000−1を比較して一敗して
いれば一致信号5101−1を送出するコンパレータで
ある。5001−2〜5001−4は、同様に、レジス
タ5000−2〜5000−4とアドレス3101を比
較するコンパレータである。5002は、1つでも一致
したアドレスがあるかどうかを判定するORゲートであ
る。5004は、第3図で説明したROM領域を判定す
るORゲートである。
レジスタ5000−1〜5000−4には、システム立
上げ時に、ROM上のアドレスの内デバッグしたいアド
レスを書き込んでおく、書き込みデータはバス2215
を通じてレジスタ5000−1〜5000−4に転送さ
れる。また書き込みレジスタの指定はマイクロ命令のフ
ィールドの1部である2ビツトの(1号3111により
行う。
上げ時に、ROM上のアドレスの内デバッグしたいアド
レスを書き込んでおく、書き込みデータはバス2215
を通じてレジスタ5000−1〜5000−4に転送さ
れる。また書き込みレジスタの指定はマイクロ命令のフ
ィールドの1部である2ビツトの(1号3111により
行う。
3111はデコーダ5003によりデコードされ、レジ
スタ指定信号5103−1〜5103−4を出力する。
スタ指定信号5103−1〜5103−4を出力する。
第5図のレジスタ5000−1とコンパレータ5001
−1を詳しく記したのが第6図である。
−1を詳しく記したのが第6図である。
本構成のコンパレータについては、特願昭60−936
86として出願されている。
86として出願されている。
6000−1−0〜6000−1−13は、1ビツトの
アドレスと、1ビツトのコンパレータを内蔵するセルで
ある。6001は、14このコンパレータの出力のワイ
アドOR論理を取る信号線である。すなわち、各セルは
、内蔵するレジスタの内容とアドレス3101と比較し
不一致であれば、信号!6001を引き抜く、シたがっ
て、信号線6001は、全ビット一致の時のみ引き抜か
れない、6003−1は信号線6003−1のセンスア
ンプであり、全ビット一致の時に出力5101−1がh
ighになる。、2215−0〜2215−13は、デ
バッグしたいアドレスを保持するレジスタに、データを
転送するバスである。また、5103−1は、データ書
き込みを指示する信号線である。
アドレスと、1ビツトのコンパレータを内蔵するセルで
ある。6001は、14このコンパレータの出力のワイ
アドOR論理を取る信号線である。すなわち、各セルは
、内蔵するレジスタの内容とアドレス3101と比較し
不一致であれば、信号!6001を引き抜く、シたがっ
て、信号線6001は、全ビット一致の時のみ引き抜か
れない、6003−1は信号線6003−1のセンスア
ンプであり、全ビット一致の時に出力5101−1がh
ighになる。、2215−0〜2215−13は、デ
バッグしたいアドレスを保持するレジスタに、データを
転送するバスである。また、5103−1は、データ書
き込みを指示する信号線である。
第7図は、第6図のセル6000−1−〇の構成を示す
図である。6000−1−1〜6000−1−13も同
様である。
図である。6000−1−1〜6000−1−13も同
様である。
PMOS7002,7003.NMO37005゜70
04が、1ビツトのレジスタを構成する。
04が、1ビツトのレジスタを構成する。
NMO87000と7001は、レジスタヘノ書き込み
の際にオンになる信号である。NMO87006〜70
09は、上記レジスタと入力アドレス3101−1をF
OR論理により比較する回路であり、両者が不一致の時
に信号線6001を引き抜く。
の際にオンになる信号である。NMO87006〜70
09は、上記レジスタと入力アドレス3101−1をF
OR論理により比較する回路であり、両者が不一致の時
に信号線6001を引き抜く。
第8図は、第6図のセンスアンプ6003−1の構成を
示した図である。5oooはバイポーラトランジスタで
あり、6001を通じてベース電流が引き抜かれると出
力5101−1はQowになる。レジスタの内容とアド
レス3101が一致すれば、ベース電流は引き抜かれず
、バイポーラトランジスタ8o00はオンのままで、出
力5101−1はhighになる。
示した図である。5oooはバイポーラトランジスタで
あり、6001を通じてベース電流が引き抜かれると出
力5101−1はQowになる。レジスタの内容とアド
レス3101が一致すれば、ベース電流は引き抜かれず
、バイポーラトランジスタ8o00はオンのままで、出
力5101−1はhighになる。
第9図は、第1図のROM上にないマイクロ命令のアド
レスを生成する回路3008の構成を示したものである
。9000は、上位アドレス15ビツトを保持するレジ
スタである。マイクロ命令の主メモリ上のアドレス22
12は、下位3ビツトO〜2をゼロ、中位14ビツト3
〜16を、マイクロ命令アドレス3101そのものとし
、上位15ビツト17〜31にレジスタ9000の内容
を送出することにより生成される。下位3ビツトに0を
つけるのは、主メモリのアドレスがバイトごとにつけら
れ、マイクロ命令の幅が8バイトあるためである。以上
の様にすることにより、容易にマイクロ命令アドレスを
主メモリアドレスに変換することができる。
レスを生成する回路3008の構成を示したものである
。9000は、上位アドレス15ビツトを保持するレジ
スタである。マイクロ命令の主メモリ上のアドレス22
12は、下位3ビツトO〜2をゼロ、中位14ビツト3
〜16を、マイクロ命令アドレス3101そのものとし
、上位15ビツト17〜31にレジスタ9000の内容
を送出することにより生成される。下位3ビツトに0を
つけるのは、主メモリのアドレスがバイトごとにつけら
れ、マイクロ命令の幅が8バイトあるためである。以上
の様にすることにより、容易にマイクロ命令アドレスを
主メモリアドレスに変換することができる。
またレジスタ9000を書き換えることにより。
主メモリ上に異なるマイクロ命令のバージョンを用意し
、それらを選択して読み出すことができる。
、それらを選択して読み出すことができる。
主メモリ上にとられたマイクロ命令アドレス空間のうち
、ROMにマイクロ命令が格納される4にワード分は、
通常はアクセスされないが、 ROM上のマイクロ命令
に誤りがあり、そのアドレスが、第1図3005内のレ
ジスタに登録された時には、対応する主メモリ上に正し
いマイクロ命令を書いておくことになる。また、マイク
ロ命令の動きをトレースするために、常に内部ROMの
読み出しを抑制し、主メモリ上のマイクロ命令にアクセ
スさせることも容易である。
、ROMにマイクロ命令が格納される4にワード分は、
通常はアクセスされないが、 ROM上のマイクロ命令
に誤りがあり、そのアドレスが、第1図3005内のレ
ジスタに登録された時には、対応する主メモリ上に正し
いマイクロ命令を書いておくことになる。また、マイク
ロ命令の動きをトレースするために、常に内部ROMの
読み出しを抑制し、主メモリ上のマイクロ命令にアクセ
スさせることも容易である。
最後に、第1図の制御回路3003の構成について詳し
く述べる。第10図がこれを示したものである。
く述べる。第10図がこれを示したものである。
10000はマイクロ命令先頭アドレスを保持するレジ
スタμT OP 、 10001は、次マイクロ命令ア
ドレス3110に1を加え、その値を保持するレジスタ
μP C、10002はアドレス3110をそのまま保
存しておくレジスタ、 10003はマイクロ命令の戻
り番地を格納する4ワードスタツク5TACK 。
スタμT OP 、 10001は、次マイクロ命令ア
ドレス3110に1を加え、その値を保持するレジスタ
μP C、10002はアドレス3110をそのまま保
存しておくレジスタ、 10003はマイクロ命令の戻
り番地を格納する4ワードスタツク5TACK 。
10004はマイクロ命令中のLITERALフィール
ドを保持するレジスタLITERAL 、 10005
はメモリエラー等の例外処理の先頭アドレスを保持する
レジスタ0T)IE!Rである。 10006は上記レ
ジスタ群より1つのレジスタを選択し、次アドレス31
10を送出するセレクタである。 11000〜110
05は、それぞれ10000〜10005を選択するこ
とをセレクタ10006に指示する信号である。
ドを保持するレジスタLITERAL 、 10005
はメモリエラー等の例外処理の先頭アドレスを保持する
レジスタ0T)IE!Rである。 10006は上記レ
ジスタ群より1つのレジスタを選択し、次アドレス31
10を送出するセレクタである。 11000〜110
05は、それぞれ10000〜10005を選択するこ
とをセレクタ10006に指示する信号である。
第13図はマイクロ命令の中で次アドレスをコントロー
ルするフィールド5CO−8C2の3ビツトの指示する
内容を示したものである。制御回路3003に入力され
る信号のうち、マイクロ命令読出し待侶号3104をμ
IFvAIT 、条件成立を示す信号2216をTAK
EN、メモリアクセス終了信号2209をMEND、メ
モリエラー信号2208をMERRとすれば、μPC,
PPC,5TACK 。
ルするフィールド5CO−8C2の3ビツトの指示する
内容を示したものである。制御回路3003に入力され
る信号のうち、マイクロ命令読出し待侶号3104をμ
IFvAIT 、条件成立を示す信号2216をTAK
EN、メモリアクセス終了信号2209をMEND、メ
モリエラー信号2208をMERRとすれば、μPC,
PPC,5TACK 。
μT OP 、 LITERAL、 0THERは下記
の論理により生成される。
の論理により生成される。
μpc= (C+BC−TAKEN) ・READY
P P C= M E N D (OFvAIT+ p
IFljAIT)STA(J=RTN −READY μTOP=DOPB −READY LITERAL= (UBL+BC−TIKBN+BA
L)・READY OT)IER=MER−MEND (OFνAIT+μ
IFVAIT)ただし、 READY=M百R−M E N D ・(OFVAI
T+ u IFWAIT)+OFMAIT 1p IF
vAIT また。C,UBL、BAL、DOPB、BC。
P P C= M E N D (OFvAIT+ p
IFljAIT)STA(J=RTN −READY μTOP=DOPB −READY LITERAL= (UBL+BC−TIKBN+BA
L)・READY OT)IER=MER−MEND (OFνAIT+μ
IFVAIT)ただし、 READY=M百R−M E N D ・(OFVAI
T+ u IFWAIT)+OFMAIT 1p IF
vAIT また。C,UBL、BAL、DOPB、BC。
RTNは、SCO,SCI、5C21こより、第13@
の論理にしたがって生成される。
の論理にしたがって生成される。
第14図は1本発明の他の実施例を示した図である。
15000はBPtJである。 15000は、第2図
で示したBPtJ2000に命令キャッシュ15001
を付加した構成である。LSIの集積度が進むにつれ
て、IK〜8にバイト程度の大容量のキャッシュを内蔵
することが可能となる。15001は、命令フェッチポ
インタ2107をアドレスとしてアクセスされる命令、
及び、マイクロ命令ポインタをアドレスとしてアクセス
されるマイクロ命令を格納しておくキャッシュである。
で示したBPtJ2000に命令キャッシュ15001
を付加した構成である。LSIの集積度が進むにつれ
て、IK〜8にバイト程度の大容量のキャッシュを内蔵
することが可能となる。15001は、命令フェッチポ
インタ2107をアドレスとしてアクセスされる命令、
及び、マイクロ命令ポインタをアドレスとしてアクセス
されるマイクロ命令を格納しておくキャッシュである。
オンチップのキャッシュは、オフチップの主メモリに比
して、2倍〜5倍高速アクセスが可能である。 150
02はキャッシュへのアドレスバス、15003は、キ
ャッシュから読出したデータを命令バッファ2100.
マイクロ命令制御ユニット2102に送出するデータバ
スである。
して、2倍〜5倍高速アクセスが可能である。 150
02はキャッシュへのアドレスバス、15003は、キ
ャッシュから読出したデータを命令バッファ2100.
マイクロ命令制御ユニット2102に送出するデータバ
スである。
本構成では、主メモリ上の命令、及び、マイクロ命令を
キャッシュ15001から読み出されるため、BPUで
の処理が高速化される。また、・オペランド読出しと同
時に、命令、及び、マイクロ命令の読出しができるため
に、命令、及び、マイクロ命令の読出しと、オペランド
の読出しの競合を避けることができる。
キャッシュ15001から読み出されるため、BPUで
の処理が高速化される。また、・オペランド読出しと同
時に、命令、及び、マイクロ命令の読出しができるため
に、命令、及び、マイクロ命令の読出しと、オペランド
の読出しの競合を避けることができる。
また、キャッシュ内に読み出すべき命令がない場合には
、主メモリより読み出すべき命令を含むブロックを読出
し、キャッシュに格納する。これらの手順は、従来のキ
ャッシュ制御と全く同じである。
、主メモリより読み出すべき命令を含むブロックを読出
し、キャッシュに格納する。これらの手順は、従来のキ
ャッシュ制御と全く同じである。
本発明によれば、よく使うマイクロ命令をオンチップR
OMにおき、読出し時に信号のLSI間渡りをなくせる
ので、マシンサイクルを短縮することができる。
OMにおき、読出し時に信号のLSI間渡りをなくせる
ので、マシンサイクルを短縮することができる。
また本発明によれば、マイクロ命令を主メモリ上に拡張
することができるので、大容量のマイクロ命令を実装す
ることができる。また、ROM上にないマイクロ命令の
読出しを主メモリのアドレスバス、データバスを介して
行い、専用のバスを持たないので、BPUチップのピン
数を減少することができる。
することができるので、大容量のマイクロ命令を実装す
ることができる。また、ROM上にないマイクロ命令の
読出しを主メモリのアドレスバス、データバスを介して
行い、専用のバスを持たないので、BPUチップのピン
数を減少することができる。
また本発明によれば、ROM上のマイクロ命令のうち、
デバッグしたい命令のアドレスをあらかじめレジスタに
書き込んでおくことにより、ROM上のマイクロ命令の
読出しを抑制し、主メモリ上のマイクロ命令を用いるこ
とができる。このため、ROM上のマイクロ命令を容易
に修正することができる。
デバッグしたい命令のアドレスをあらかじめレジスタに
書き込んでおくことにより、ROM上のマイクロ命令の
読出しを抑制し、主メモリ上のマイクロ命令を用いるこ
とができる。このため、ROM上のマイクロ命令を容易
に修正することができる。
全体図、第3図〜第8図はマイクロ命令がROM上にな
いことを検出する回路について説明する図、第9図はメ
モリ上のマイクロ命令アドレスを生成する回路を示す図
、第10図は次アドレス制御回路を示す図、第112図
はマイクロ命令制御ユニットのタイミングチャート、第
12図と第13図はマイクロ命令を説明する図、第14
図は従来例を示すブロック図である。 3007・・・マイクロ命令のアドレスを保持するレジ
スタ、3002・・・マイクロ命令を保持するレジスタ
、3000・・・マイクロ命令を格納するROM、30
08・・・主メモリ上のマイクロ命令アドレスを生成す
る回路、3005・・・マイクロ命令がROM亨 1
膓 3010−・−tし77 第3囚 第4巴 M?A尺 第ジ図 5003−−−デ′フープ。 拠80 茅?m 9σoo−”へ−ぺシシ″ズヅ $11 巳 END SMK 九−1n
rc+I n+zM1尺
7L−17t nOnOP M ’t’
2′$1z日 ¥−13囚 第+4囚 74001・・・c5 J4oO,2・・BPU
いことを検出する回路について説明する図、第9図はメ
モリ上のマイクロ命令アドレスを生成する回路を示す図
、第10図は次アドレス制御回路を示す図、第112図
はマイクロ命令制御ユニットのタイミングチャート、第
12図と第13図はマイクロ命令を説明する図、第14
図は従来例を示すブロック図である。 3007・・・マイクロ命令のアドレスを保持するレジ
スタ、3002・・・マイクロ命令を保持するレジスタ
、3000・・・マイクロ命令を格納するROM、30
08・・・主メモリ上のマイクロ命令アドレスを生成す
る回路、3005・・・マイクロ命令がROM亨 1
膓 3010−・−tし77 第3囚 第4巴 M?A尺 第ジ図 5003−−−デ′フープ。 拠80 茅?m 9σoo−”へ−ぺシシ″ズヅ $11 巳 END SMK 九−1n
rc+I n+zM1尺
7L−17t nOnOP M ’t’
2′$1z日 ¥−13囚 第+4囚 74001・・・c5 J4oO,2・・BPU
Claims (1)
- 【特許請求の範囲】 1、複数のマイクロ命令を記憶する半導体メモリと、 他の複数のマイクロ命令を記憶する記憶手段、アドレス
入力により、上記記憶手段をアクセスし、該当するマイ
クロ命令を読み出す第1のアクセス手段、上記記憶手段
に該当するマイクロ命令がない場合には、上記アドレス
入力により、上記半導体メモリをアクセスし、該当する
マイクロ命令を読み出す第2のアクセス手段、上記第1
または第2のアクセス手段によつて読み出された該当す
るマイクロ命令により、予め定められた演算処理を行う
演算処理手段が単一の半導体チップ上に形成されるマイ
クロプロセッサと を具備することを特徴とする情報処理装置。 2、マイクロ命令のアドレスを保持するレジスタと、マ
イクロ命令を保持するレジスタと、前記マイクロ命令の
アドレスを保持するレジスタとマイクロ命令を保持する
レジスタに接続されたマイクロ命令格納用ROMと、マ
イクロ命令の次マイクロ命令を制御するフィールドをデ
コードし、次マイクロ命令アドレスを生成し、そのアド
レスを前記マイクロ命令のアドレスを保持するレジスタ
に送出する次アドレス決定手段と、上記マイクロ命令に
より制御される演算手段よりなる情報処理装置において
、前記ROMにマイクロ命令の一部を格納し、他のマイ
クロ命令を格納する外部に接続された外部メモリと、上
記マイクロ命令のアドレスより、上記ROMにマイクロ
命令が格納されていないことを検出し、上記外部メモリ
に読出し要求を出し、上記アドレスに対応して読出され
たマイクロ命令を前記マイクロに命令を保持するレジス
タにセットする手段を設けたことを特徴とする情報処理
装置。 3、特許請求の範囲第2項において、第1のROMを低
容量高速、第2のメモリを大容量低速としたことを特徴
とする情報処理装置。 4、特許請求の範囲第2項において、上記ROMにマイ
クロ命令が格納されていないことを検出する手段を、前
記マイクロ命令のアドレスの上位の数ビットを見て検出
することにより実現することを特徴とする情報処理装置
。 5、特許請求の範囲第1項において、上記ROMにマイ
クロ命令が格納されていないことを検出する手段を、上
記ROMに格納されていないアドレスを保持する1つま
たは複数のレジスタと、これら複数レジスタと、マイク
ロ命令アドレスを同時に比較し、少なくとも1つ一致す
るものがあることを検出する手段とにより構成すること
を特徴とする情報処理装置。 6、アクセス頻度が高い複数のマイクロ命令を記憶する
第1の記憶手段と、 アクセス頻度が低い他の複数のマイクロ命令を記憶する
第2の記憶手段と、 アドレス入力により、上記第1の記憶手段をアクセスし
、該当するマイクロ命令を読み出す第1のアクセス手段
と、 上記第1の記憶手段に該当するマイクロ命令がない場合
には、上記アドレス入力により、上記第2の記憶手段を
アクセスし、該当するマイクロ命令を読み出す第2のア
クセス手段と、上記第1または第2のアクセス手段によ
つて読み出された該当するマイクロ命令により、予め定
められた演算処理を行う演算処理手段とを具備すること
を特徴とする情報処理装置。 7、メモリと、メモリにアドレスを送出するアドレスバ
スと、メモリよりデータを受取るデータバスと、メモリ
より読出す命令のアドレスを保持するアドレスバスに接
続されたフェッチポインタと、メモリに読んだり、書い
たりするオペランドのアドレスを保持するアドレスバス
に接続されたレジスタと、メモリより読出した命令を格
納しておくデータバスに接続された命令バッファと、メ
モリに書くオペランド、あるいは、メモリより読んだオ
ペランドを保持するデータバスに接続されたレジスタと
、マイクロ命令のアドレスを保持するレジスタと、マイ
クロ命令を保持するレジスタと、前記マイクロ命令のア
ドレスを保持するレジスタとマイクロ命令を保持するレ
ジスタに接続されたマイクロ命令格納用ROMと、マイ
クロ命令の次アドレス命令を制御するフィールドをデコ
ードし、次マイクロ命令アドレスを生成し、そのアドレ
スを前記マイクロ命令のアドレスを保持するレジスタに
送出する次アドレス決定手段と、上記マイクロ命令によ
り制御される演算装置とよりなる情報処理装置において
、前記ROMにマイクロ命令の一部を格納し、他のマイ
クロ命令を前記メモリに格納し、上記マイクロ命令のア
ドレスより、上記ROMにマイクロ命令が格納されてい
ないことを検出する手段と、上記マイクロ命令のアドレ
スをメモリアドレスに変換する手段と、変換されたアド
レスを保持する前記メモリのアドレスバスに接続された
マイクロ命令カウンタと、ROMから読出されたマイク
ロ命令を抑制し、メモリから読出されたマイクロ命令を
前記データバスより前記マイクロ命令を保持するレジス
タにセットする手段を設けたことを特徴とする情報処理
装置。 8、特許請求の範囲第7項において、上記ROMにマイ
クロ命令が格納されていないことを検出する手段を、前
記マイクロ命令のアドレスの上位の数ビットを見て検出
することにより実現することを特徴とする情報処理装置
。 9、特許請求の範囲第7項において、上記ROMにマイ
クロ命令が格納されていないことを検出する手段を、上
記ROMに格納されていないアドレスを保持する1つま
たは複数のレジスタと、これらのレジスタとマイクロ命
令のアドレスを同時に比較し、少なくとも1つの一致す
るものがあることを検出する手段とにより構成すること
を特徴とする情報処理装置。 10、特許請求の範囲第7項において、マイクロ命令の
アドレスをメモリアドレスに変換する手段を、上位ビッ
トをマイクロメモリ領域を示すベースレジスタに保持し
下位ビットをマイクロ命令のアドレスそのものとし、両
者を連結して生成することを特徴とする情報処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61261870A JP2559382B2 (ja) | 1986-11-05 | 1986-11-05 | 情報処理装置 |
| US07/114,720 US5274829A (en) | 1986-11-05 | 1987-10-28 | Information processing apparatus having micro instructions stored both in on-chip ROM and off-chip memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61261870A JP2559382B2 (ja) | 1986-11-05 | 1986-11-05 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63116236A true JPS63116236A (ja) | 1988-05-20 |
| JP2559382B2 JP2559382B2 (ja) | 1996-12-04 |
Family
ID=17367899
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61261870A Expired - Fee Related JP2559382B2 (ja) | 1986-11-05 | 1986-11-05 | 情報処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5274829A (ja) |
| JP (1) | JP2559382B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1994012929A1 (en) * | 1992-11-23 | 1994-06-09 | Seiko Epson Corporation | A microcode cache system and method |
| JP2019114303A (ja) * | 2019-04-18 | 2019-07-11 | 株式会社エルイーテック | 制御チップ及びこれを用いた遊技機 |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5740349A (en) * | 1993-02-19 | 1998-04-14 | Intel Corporation | Method and apparatus for reliably storing defect information in flash disk memories |
| US5790874A (en) * | 1994-09-30 | 1998-08-04 | Kabushiki Kaisha Toshiba | Information processing apparatus for reducing power consumption by minimizing hamming distance between consecutive instruction |
| US5732255A (en) * | 1996-04-29 | 1998-03-24 | Atmel Corporation | Signal processing system with ROM storing instructions encoded for reducing power consumpton during reads and method for encoding such instructions |
| US6154834A (en) * | 1997-05-27 | 2000-11-28 | Intel Corporation | Detachable processor module containing external microcode expansion memory |
| US6081888A (en) * | 1997-08-21 | 2000-06-27 | Advanced Micro Devices Inc. | Adaptive microprocessor with dynamically reconfigurable microcode responsive to external signals to initiate microcode reloading |
| CN100354820C (zh) * | 1999-12-31 | 2007-12-12 | 英特尔公司 | 外部微代码 |
| US7103736B2 (en) * | 2003-08-11 | 2006-09-05 | Telairity Semiconductor, Inc. | System for repair of ROM programming errors or defects |
| US20070088939A1 (en) * | 2005-10-17 | 2007-04-19 | Dan Baumberger | Automatic and dynamic loading of instruction set architecture extensions |
| JP6548636B2 (ja) * | 2014-05-16 | 2019-07-24 | ソニーセミコンダクタソリューションズ株式会社 | 情報処理装置、情報処理方法、および電子機器 |
| CN106951374B (zh) * | 2016-01-06 | 2022-06-10 | 北京忆芯科技有限公司 | 用于检查块页地址的方法及其装置 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4010451A (en) * | 1972-10-03 | 1977-03-01 | National Research Development Corporation | Data structure processor |
| US3859636A (en) * | 1973-03-22 | 1975-01-07 | Bell Telephone Labor Inc | Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory |
| US4025903A (en) * | 1973-09-10 | 1977-05-24 | Computer Automation, Inc. | Automatic modular memory address allocation system |
| US3972025A (en) * | 1974-09-04 | 1976-07-27 | Burroughs Corporation | Expanded memory paging for a programmable microprocessor |
| DE2638125A1 (de) * | 1975-09-04 | 1977-03-17 | Tokyo Shibaura Electric Co | Datenverarbeitungssystem |
| FR2474201B1 (fr) * | 1980-01-22 | 1986-05-16 | Bull Sa | Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache |
| US4649470A (en) * | 1980-02-11 | 1987-03-10 | Data General Corporation | Data processing system |
| US4390946A (en) * | 1980-10-20 | 1983-06-28 | Control Data Corporation | Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences |
| US4426680A (en) * | 1980-12-24 | 1984-01-17 | Honeywell Information Systems Inc. | Data processor using read only memories for optimizing main memory access and identifying the starting position of an operand |
| US4422144A (en) * | 1981-06-01 | 1983-12-20 | International Business Machines Corp. | Microinstruction substitution mechanism in a control store |
| US4450524A (en) * | 1981-09-23 | 1984-05-22 | Rca Corporation | Single chip microcomputer with external decoder and memory and internal logic for disabling the ROM and relocating the RAM |
| US4713750A (en) * | 1983-03-31 | 1987-12-15 | Fairchild Camera & Instrument Corporation | Microprocessor with compact mapped programmable logic array |
| US4858111A (en) * | 1983-07-29 | 1989-08-15 | Hewlett-Packard Company | Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache |
| US4794524A (en) * | 1984-07-03 | 1988-12-27 | Zilog, Inc. | Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit |
| US4638423A (en) * | 1985-03-06 | 1987-01-20 | Motorola, Inc. | Emulating computer |
| JPS61269734A (ja) * | 1985-05-23 | 1986-11-29 | Hitachi Ltd | マイクロプログラム制御方式 |
| US4825356A (en) * | 1987-03-27 | 1989-04-25 | Tandem Computers Incorporated | Microcoded microprocessor with shared ram |
-
1986
- 1986-11-05 JP JP61261870A patent/JP2559382B2/ja not_active Expired - Fee Related
-
1987
- 1987-10-28 US US07/114,720 patent/US5274829A/en not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1994012929A1 (en) * | 1992-11-23 | 1994-06-09 | Seiko Epson Corporation | A microcode cache system and method |
| JP2019114303A (ja) * | 2019-04-18 | 2019-07-11 | 株式会社エルイーテック | 制御チップ及びこれを用いた遊技機 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5274829A (en) | 1993-12-28 |
| JP2559382B2 (ja) | 1996-12-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2745949B2 (ja) | オペランド情報の静的および動的マスキングを同時かつ独立して行うデータ・プロセッサ | |
| KR100578437B1 (ko) | 다수의 스레드의 병행 실행을 지원하는 컴퓨터 시스템에서의 인터럽트 처리 메커니즘 | |
| US5347636A (en) | Data processor which efficiently accesses main memory and input/output devices | |
| US4348722A (en) | Bus error recognition for microprogrammed data processor | |
| JPH0814801B2 (ja) | プログラマブルアクセスメモリ | |
| US6802036B2 (en) | High-speed first-in-first-out buffer | |
| JPS6297036A (ja) | 計算機システム | |
| JPS63116236A (ja) | 情報処理装置 | |
| US5404486A (en) | Processor having a stall cache and associated method for preventing instruction stream stalls during load and store instructions in a pipelined computer system | |
| US4747045A (en) | Information processing apparatus having an instruction prefetch circuit | |
| JPH07120312B2 (ja) | バッファメモリ制御装置 | |
| US5495422A (en) | Method for combining a plurality of independently operating circuits within a single package | |
| US8732377B2 (en) | Interconnection apparatus and controlling method therefor | |
| EP0338564B1 (en) | Microprogram branching method and microsequencer employing the method | |
| US11914998B2 (en) | Processor circuit and data processing method for load instruction execution | |
| US7240144B2 (en) | Arbitration of data transfer requests | |
| JPH01235100A (ja) | 半導体記憶装置 | |
| JP2762798B2 (ja) | 命令キャッシュを有するパイプライン構成の情報処理装置 | |
| EP4109184A1 (en) | Control device | |
| JPH0212358A (ja) | データ転送方式 | |
| JPH09106359A (ja) | 半導体集積回路 | |
| JPS6013491B2 (ja) | アドレス一致検出方式 | |
| JPS63163634A (ja) | 命令フエツチ方式 | |
| JPH0418634A (ja) | データ処理装置 | |
| JPH08314797A (ja) | メモリアクセス方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |