JPH0679272B2 - 命令フェッチ制御装置 - Google Patents
命令フェッチ制御装置Info
- Publication number
- JPH0679272B2 JPH0679272B2 JP61298036A JP29803686A JPH0679272B2 JP H0679272 B2 JPH0679272 B2 JP H0679272B2 JP 61298036 A JP61298036 A JP 61298036A JP 29803686 A JP29803686 A JP 29803686A JP H0679272 B2 JPH0679272 B2 JP H0679272B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- page
- instruction
- logical
- logical address
- 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
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔概要〕 マイクロプログラム方式の計算機システムにおける命令
フェッチ方式であって、計算式システム内ファームウエ
アに基づき主記憶装置からマクロ命令をリードする時、
複数のマクロ命令をフェッチするためのマイクロ命令操
作時の論理アドレスをセットする命令フェッチアドレス
保持手段のハードウエア構成が膨大になることを解決す
るために、命令フェッチアドレス保持手段を下位側数ビ
ットをカウンタで構成し、残りの上位数ビットを他目的
で使用しているレジスタ群に持つように構成することに
より、ファームウェアに大きな負担をかけることなく少
容量のハードウエア構成が可能となる。
フェッチ方式であって、計算式システム内ファームウエ
アに基づき主記憶装置からマクロ命令をリードする時、
複数のマクロ命令をフェッチするためのマイクロ命令操
作時の論理アドレスをセットする命令フェッチアドレス
保持手段のハードウエア構成が膨大になることを解決す
るために、命令フェッチアドレス保持手段を下位側数ビ
ットをカウンタで構成し、残りの上位数ビットを他目的
で使用しているレジスタ群に持つように構成することに
より、ファームウェアに大きな負担をかけることなく少
容量のハードウエア構成が可能となる。
本発明は、マイクロプログラム方式の計算機システムに
おける命令フェッチ方式に関する。
おける命令フェッチ方式に関する。
一般に、マイクロプログラム方式の計算機システムにお
けるマクロ命令は、主記憶上の連続したメモリアドレス
に割付けられている。
けるマクロ命令は、主記憶上の連続したメモリアドレス
に割付けられている。
一方、マイクロ命令はそのマクロ命令を1つずつフェッ
チし、そのマクロ命令の意味を解釈して、それに対応す
る処理を実行する。
チし、そのマクロ命令の意味を解釈して、それに対応す
る処理を実行する。
1つのマクロ命令の処理が終わると、次のマクロ命令を
フェッチするため、マイクロ命令はマクロ命令論理アド
レスをプラス1する。
フェッチするため、マイクロ命令はマクロ命令論理アド
レスをプラス1する。
プラス1されたマクロ命令論理アドレスは、ページクロ
スの発生の有無をチェックされ、ページクロスが発生し
ていると、プラス1した論理アドレスにより索引用テー
ブルが索引され、これにより正しい物理アドレスを得た
後、マクロ命令フェッチを行う。
スの発生の有無をチェックされ、ページクロスが発生し
ていると、プラス1した論理アドレスにより索引用テー
ブルが索引され、これにより正しい物理アドレスを得た
後、マクロ命令フェッチを行う。
尚、ページ内アドレスは論理アドレス=物理アドレス
(主記憶装置のメモリアドレス)なので、プラス1した
論理アドレスを用いる。
(主記憶装置のメモリアドレス)なので、プラス1した
論理アドレスを用いる。
これらの処理は全てマイクロ命令で行われており、間違
いなくしかも短いステップ数で処理されることが要求さ
れている。
いなくしかも短いステップ数で処理されることが要求さ
れている。
第4図は従来例を説明するブロック図を示す。第4図は
中央処理装置(以下CPUと称する)1と、主記憶装置2
を備え、データ処理動作を制御プログラムメモリ(図示
してない)に格納するマイクロプログラムに基づき制御
する計算機システムを示す。
中央処理装置(以下CPUと称する)1と、主記憶装置2
を備え、データ処理動作を制御プログラムメモリ(図示
してない)に格納するマイクロプログラムに基づき制御
する計算機システムを示す。
CPU1は固定小数点算術演算や論理演算を行う算術論理演
算ユニット(以下ALUと称する)3と、MPX6cが選択信号
(1)の制御により選択した内容(主記憶装置2内メモ
リをアクセスするためのアドレス)を格納するアドレス
レジスタ(以下SARと称する)4と、 ALU3に対してアドレス演算をプラス1するためのデータ
を送出するプラス1回路5と、 入力する複数のデータから1つを選択して送出するマル
チプレクサ(以下MPXと称する)6a〜6cと、 所定マイクロ命令が指示(3)された時、ALU3から出力
するページクロスをフェッチしてページクロス信号を
送出するフリップフロップ(以下F.Fと称する)7と、 命令フェッチアドレスを保持する命令フェッチアドレス
レジスタ(以下iAと称する)8等を具備して構成されて
いる。
算ユニット(以下ALUと称する)3と、MPX6cが選択信号
(1)の制御により選択した内容(主記憶装置2内メモ
リをアクセスするためのアドレス)を格納するアドレス
レジスタ(以下SARと称する)4と、 ALU3に対してアドレス演算をプラス1するためのデータ
を送出するプラス1回路5と、 入力する複数のデータから1つを選択して送出するマル
チプレクサ(以下MPXと称する)6a〜6cと、 所定マイクロ命令が指示(3)された時、ALU3から出力
するページクロスをフェッチしてページクロス信号を
送出するフリップフロップ(以下F.Fと称する)7と、 命令フェッチアドレスを保持する命令フェッチアドレス
レジスタ(以下iAと称する)8等を具備して構成されて
いる。
尚、符号(a)は他のALU出力を、符号(b),(c)
は他から転送されて来たデータを格納しているレジスタ
の出力をそれぞれ示す。
は他から転送されて来たデータを格納しているレジスタ
の出力をそれぞれ示す。
第4図に示すようなマイクロプログラム方式の計算機シ
ステムにおいて、主記憶装置2からマクロ命令(同一の
原始言語で記述された一連の命令文によって置き換える
ことが出来る原始言語中の命令)をリードする時、マイ
クロ命令で以下の指示が必要である。即ち、 (イ)iA8の内容をSAR4へセットするための指示。(図
中(1)の信号、又は命令) (ロ)iA8をALU3でカウントアップするための指示。
(図中(2)の信号、又は命令) (ハ)iA8をALU3でカウントアップする時、ページクロ
ス(後述する)のチェックをするための指示。(図中
(3)の信号、又は命令) 尚、マイクロ命令の操作におけるiA8とはマクロ命令ア
ドレス専用のアドレスレジスタを意味する。
ステムにおいて、主記憶装置2からマクロ命令(同一の
原始言語で記述された一連の命令文によって置き換える
ことが出来る原始言語中の命令)をリードする時、マイ
クロ命令で以下の指示が必要である。即ち、 (イ)iA8の内容をSAR4へセットするための指示。(図
中(1)の信号、又は命令) (ロ)iA8をALU3でカウントアップするための指示。
(図中(2)の信号、又は命令) (ハ)iA8をALU3でカウントアップする時、ページクロ
ス(後述する)のチェックをするための指示。(図中
(3)の信号、又は命令) 尚、マイクロ命令の操作におけるiA8とはマクロ命令ア
ドレス専用のアドレスレジスタを意味する。
又、前述のマイクロ命令において、(イ)のマイクロ命
令操作は、iA8の内容をシステムストレージレジスタ
(以下SARと称する)と呼ばれるアドレスレジスタ(SA
R)4にセットする操作である。
令操作は、iA8の内容をシステムストレージレジスタ
(以下SARと称する)と呼ばれるアドレスレジスタ(SA
R)4にセットする操作である。
SAR4の出力データは主記憶装置2のアドレスとなり、こ
のためSAR4にはiA8以外(例えば、第一オペランドアド
レス等)のデータもセットされるため、その入力信号は
複数のレジスタ(b)等のデータをMPX6cにて選択し、
取出したものとなる。
のためSAR4にはiA8以外(例えば、第一オペランドアド
レス等)のデータもセットされるため、その入力信号は
複数のレジスタ(b)等のデータをMPX6cにて選択し、
取出したものとなる。
即ち、マクロ命令のデータ(命令)を主記憶装置2から
読取るためには、iA8のデータをMPX6cにて選択し、SAR4
にセットすることを示すマイクロ命令を指示することに
なる。
読取るためには、iA8のデータをMPX6cにて選択し、SAR4
にセットすることを示すマイクロ命令を指示することに
なる。
又、(ロ)のマイクロ命令操作は、iA8の値を次のマク
ロ命令アドレスにするため、汎用ALUを用いてカウント
アップを行う操作である。
ロ命令アドレスにするため、汎用ALUを用いてカウント
アップを行う操作である。
この操作は,マクロ命令が一般には連続したメモリアド
レスに割付けられているため、そのアドレスをプラス1
ずつカウントアップしてやれば良いことから、汎用のAL
Uを用いて処理を行っている。
レスに割付けられているため、そのアドレスをプラス1
ずつカウントアップしてやれば良いことから、汎用のAL
Uを用いて処理を行っている。
更に、(ハ)のマイクロ命令操作は、(ロ)のALU3操作
時にALU3の出力のキャリフラグをページクロス検出用の
F.F7にセットする操作である。
時にALU3の出力のキャリフラグをページクロス検出用の
F.F7にセットする操作である。
これはALU3等を用いる加算処理は前述の通り他の演算に
も用いられるため、どの演算処理時にページクロス検出
(即ち、命令アドレスの加算を行っていることを示す)
を行えば良いかを指示する操作であり、これは専用のマ
イクロ命令で行っている。
も用いられるため、どの演算処理時にページクロス検出
(即ち、命令アドレスの加算を行っていることを示す)
を行えば良いかを指示する操作であり、これは専用のマ
イクロ命令で行っている。
尚、主記憶アドレスと論理アドレスとを対応づける索引
テーブル(図示していない)がCPU1内部又は主記憶装置
2内の固定領域に用意されている。
テーブル(図示していない)がCPU1内部又は主記憶装置
2内の固定領域に用意されている。
この索引テーブル(図示してない)には、主記憶アドレ
ス(物理アドレス)と論理アドレスとがページ単位で対
応づけられている。
ス(物理アドレス)と論理アドレスとがページ単位で対
応づけられている。
一般に、マクロ命令のアドレスは、前述の通り現在実行
中の主記憶アドレス(物理アドレス)にプラス1加算す
れば次のマクロ命令アドレスとなる。
中の主記憶アドレス(物理アドレス)にプラス1加算す
れば次のマクロ命令アドレスとなる。
しかし、プラス1加算されたアドレスが所定ページ単位
(例えば、2キロバイト,4キロバイト等)を超えてしま
った場合、その主記憶アドレス(物理アドレス)は全く
異なった論理アドレスをリードしていることになる。
(例えば、2キロバイト,4キロバイト等)を超えてしま
った場合、その主記憶アドレス(物理アドレス)は全く
異なった論理アドレスをリードしていることになる。
そのため、この時点では再度索引テーブル(図示してな
い)を参照し、正しい主記憶アドレス(物理アドレス)
を求める必要がある。
い)を参照し、正しい主記憶アドレス(物理アドレス)
を求める必要がある。
この論理アドレスから主記憶アドレス(物理アドレス)
への変換操作をアドレス変換と呼ぶ。
への変換操作をアドレス変換と呼ぶ。
又、プラス1加算されたアドレスが所定ページ単位を超
えていることをページクロスと呼び、このページクロス
が発生していれば、現在実行中の命令アドレスプラス1
の主記憶アドレス(物理アドレス)を破棄し、新たに索
引テーブル(図示してない)を参照して主記憶アドレス
(物理アドレス)を求める必要がある。
えていることをページクロスと呼び、このページクロス
が発生していれば、現在実行中の命令アドレスプラス1
の主記憶アドレス(物理アドレス)を破棄し、新たに索
引テーブル(図示してない)を参照して主記憶アドレス
(物理アドレス)を求める必要がある。
尚、ページクロスは一般的に主記憶アドレス(物理アド
レス)をプラス1する時の条件によって発生すると判断
すれば良い。
レス)をプラス1する時の条件によって発生すると判断
すれば良い。
第4図に示すような従来例では、(ロ)における操作に
汎用ALUを用いており、この汎用ALUは他の演算処理(例
えば、第一,第二オペラントの加算、減算、汎用レジス
タの加算,減算,ビット操作等)にも使用するため、iA
8のカウントアップ時に前述のような演算処理が出来な
くなってしまう等の不都合が生じる。
汎用ALUを用いており、この汎用ALUは他の演算処理(例
えば、第一,第二オペラントの加算、減算、汎用レジス
タの加算,減算,ビット操作等)にも使用するため、iA
8のカウントアップ時に前述のような演算処理が出来な
くなってしまう等の不都合が生じる。
更に、(ハ)のような単純な検出を行うだけの処理にも
所定ステップ数のマイクロ命令が必要となり、それけマ
イクロステップ数が増加する等の各種問題点がある。
所定ステップ数のマイクロ命令が必要となり、それけマ
イクロステップ数が増加する等の各種問題点がある。
第1図は本発明の原理を説明するブロック図を示す。
第1図に示す本発明の原理ブロック図は、第4図で説明
した主記憶装置2と下記に説明するCPU10とから構成さ
れている。
した主記憶装置2と下記に説明するCPU10とから構成さ
れている。
即ち本発明は、所定バイトからなるページ単位にその容
量の分割されている主記憶装置2と、所定メモリに格納
されるマイクロプログラムに基づきデータ処理動作の制
御を行う中央処理装置10を備えてなる計算機システムに
おいて、 前記中央処理装置10から発生される実行命令中にマクロ
命令をフェッチするためのマイクロ命令を定義し、 マクロ命令をフェッチするための論理アドレスの上位を
保持し、算術論理演算ユニット3を使ってマクロ命令に
よりカウントアップされるレジスタ群11と、マクロ命令
アドレス専用のレジスタであって、物理ページ内アドレ
スを含んで構成される論理アドレスの下位を保持し、マ
クロ命令をフェッチするためのマイクロ命令により前記
論理アドレスがカウントアップされる自動カウントアッ
プ回路を持った命令フェッチアドレス保持手段12と、 前記命令フェッチアドレス保持手段12に保持された論理
アドレスに含まれる物理ページ内アドレスの最上桁から
ページクロスを検出するページクロス検出手段13と、 前記命令フェッチアドレス保持手段12に保持された論理
アドレスの最上桁からオーバフローを検出するオーバフ
ロー検出手段14と、 前記レジスタ群11に保持された論理アドレスと前記命令
フェッチアドレス保持手段12に保持された論理アドレス
とがセットされるアドレスレジスタ40とを具備し、 マクロ命令フェッチの際に、前記ページクロス検出手段
13によりページクロスを検出しない場合には、マイクロ
命令によりカウントアップされた命令フェッチアドレス
保持手段12に保持された前記物理ページ内アドレスを前
記アドレスレジスタ40のページ内アドレスの対応する桁
にセットすることにより前記主記憶装置2を指示する物
理アドレスとし、 前記ページクロス検出手段13によりページクロスを検出
した場合には、前記レジスタ群11に保持された論理アド
レスと、マイクロ命令によりカウントアップされた命令
フェッチアドレス保持手段12に保持された論理アドレス
とを前記アドレスレジスタ40にセットし、セットされた
論理アドレスに含まれる論理ページアドレスを前記主記
憶装置2の所定ページの物理アドレスに変換し、 前記ページクロス検出手段13によりページクロスを検出
すると共に、前記オーバフロー検出手段14によりオーバ
フローを検出した場合には、前記算術論理演算ユニット
3を使ってマイクロ命令によりカウントアップされたレ
ジスタ群11に保持されている論理アドレスと、マイクロ
命令によりカウントアップされた命令フェッチアドレス
保持手段12に保持された論理アドレスとを前記アドレス
レジスタ40にセットし、セットされた論理アドレスに含
まれる物理ページアドレスを前記主記憶装置2の所定ペ
ージの論理アドレスに変換する構成とする。
量の分割されている主記憶装置2と、所定メモリに格納
されるマイクロプログラムに基づきデータ処理動作の制
御を行う中央処理装置10を備えてなる計算機システムに
おいて、 前記中央処理装置10から発生される実行命令中にマクロ
命令をフェッチするためのマイクロ命令を定義し、 マクロ命令をフェッチするための論理アドレスの上位を
保持し、算術論理演算ユニット3を使ってマクロ命令に
よりカウントアップされるレジスタ群11と、マクロ命令
アドレス専用のレジスタであって、物理ページ内アドレ
スを含んで構成される論理アドレスの下位を保持し、マ
クロ命令をフェッチするためのマイクロ命令により前記
論理アドレスがカウントアップされる自動カウントアッ
プ回路を持った命令フェッチアドレス保持手段12と、 前記命令フェッチアドレス保持手段12に保持された論理
アドレスに含まれる物理ページ内アドレスの最上桁から
ページクロスを検出するページクロス検出手段13と、 前記命令フェッチアドレス保持手段12に保持された論理
アドレスの最上桁からオーバフローを検出するオーバフ
ロー検出手段14と、 前記レジスタ群11に保持された論理アドレスと前記命令
フェッチアドレス保持手段12に保持された論理アドレス
とがセットされるアドレスレジスタ40とを具備し、 マクロ命令フェッチの際に、前記ページクロス検出手段
13によりページクロスを検出しない場合には、マイクロ
命令によりカウントアップされた命令フェッチアドレス
保持手段12に保持された前記物理ページ内アドレスを前
記アドレスレジスタ40のページ内アドレスの対応する桁
にセットすることにより前記主記憶装置2を指示する物
理アドレスとし、 前記ページクロス検出手段13によりページクロスを検出
した場合には、前記レジスタ群11に保持された論理アド
レスと、マイクロ命令によりカウントアップされた命令
フェッチアドレス保持手段12に保持された論理アドレス
とを前記アドレスレジスタ40にセットし、セットされた
論理アドレスに含まれる論理ページアドレスを前記主記
憶装置2の所定ページの物理アドレスに変換し、 前記ページクロス検出手段13によりページクロスを検出
すると共に、前記オーバフロー検出手段14によりオーバ
フローを検出した場合には、前記算術論理演算ユニット
3を使ってマイクロ命令によりカウントアップされたレ
ジスタ群11に保持されている論理アドレスと、マイクロ
命令によりカウントアップされた命令フェッチアドレス
保持手段12に保持された論理アドレスとを前記アドレス
レジスタ40にセットし、セットされた論理アドレスに含
まれる物理ページアドレスを前記主記憶装置2の所定ペ
ージの論理アドレスに変換する構成とする。
SAR40に格納する命令フェッチアドレスの下位側数ビッ
トをiA8内カウンタ(図示してない)で、残りの上位数
ビットを他目的にも使用しているレジスタ群11にて持
ち、iA8内カウンタ(図示してない)からのキャリアウ
ト(繰り上がり)信号が出力された時に、上位数ビット
に桁上げ(プラス1加算)するiA8内カウンタ(図示し
てない)及びレジスタ群11を構成する。
トをiA8内カウンタ(図示してない)で、残りの上位数
ビットを他目的にも使用しているレジスタ群11にて持
ち、iA8内カウンタ(図示してない)からのキャリアウ
ト(繰り上がり)信号が出力された時に、上位数ビット
に桁上げ(プラス1加算)するiA8内カウンタ(図示し
てない)及びレジスタ群11を構成する。
このカウンタ(図示してない)の値は命令フェッチのメ
モリリクエストが出力された時、カウントアップされ、
ページ内アドレスがSAR40にセットされ、更にカウント
アップされて論理アドレスがページクロスキャリアウト
を発生しているか否かを検出するように構成することに
より、簡易なハードウェア構成で確実な処理がより短時
間に実現可能となる。
モリリクエストが出力された時、カウントアップされ、
ページ内アドレスがSAR40にセットされ、更にカウント
アップされて論理アドレスがページクロスキャリアウト
を発生しているか否かを検出するように構成することに
より、簡易なハードウェア構成で確実な処理がより短時
間に実現可能となる。
以下本発明の要旨を第2図,第3図に示す実施例により
具体的に説明する。
具体的に説明する。
第2図は本発明の実施例を説明するブロック図、第3図
は本発明の実施例における処理動作を説明する図をそれ
ぞれ示す。
は本発明の実施例における処理動作を説明する図をそれ
ぞれ示す。
尚、全図を通じて同一符号は同一対象物を示す。
本発明の実施例におけるiA部12は、マクロ命令アドレス
専用のレジスタであるiA8に、iA8の内容を順次プラス1
していくプラス1回路12aが付加されて構成されてい
る。
専用のレジスタであるiA8に、iA8の内容を順次プラス1
していくプラス1回路12aが付加されて構成されてい
る。
又、ページクロス検出手段13及びオーバフロー検出手段
14は、ページクロス検出回路13aとF.F13b及びオーバフ
ロー検出回路14aとF.F14bとからそれぞれ構成されてい
る。
14は、ページクロス検出回路13aとF.F13b及びオーバフ
ロー検出回路14aとF.F14bとからそれぞれ構成されてい
る。
更に、本発明の実施例で用いられるレジスタ群11はレジ
スタ番号をアドレス線(d)で指示すると、そのレジス
タ番号に対応したデータが出力線(e)から出力され
る。
スタ番号をアドレス線(d)で指示すると、そのレジス
タ番号に対応したデータが出力線(e)から出力され
る。
尚、一般にこのようなレジスタ群11は1チップ(IC1
コ)又は1マクロ(LSI内の1つの機能ブロック)で構
成される。
コ)又は1マクロ(LSI内の1つの機能ブロック)で構
成される。
つまり、レジスタ群11はICのランダムアクセスメモリ
(RAM)で構成されるので、使用素子数は少ないがカウ
ントアップするためにはALUを使ってマイクロプログラ
ムによって行わなけれならずマイクロステップが増大す
る。
(RAM)で構成されるので、使用素子数は少ないがカウ
ントアップするためにはALUを使ってマイクロプログラ
ムによって行わなけれならずマイクロステップが増大す
る。
一方、iA8はプラス1回路12aを持っているので、マイク
ロ命令は必要ないが、多数のフリップフロップからなる
カウンタ形式としなければならずレジスタ11と比較して
1ビット当たりの素子数が多くなる。
ロ命令は必要ないが、多数のフリップフロップからなる
カウンタ形式としなければならずレジスタ11と比較して
1ビット当たりの素子数が多くなる。
本実施例のiA部12内iA8は、マクロ命令フェッチの論理
アドレスの下位複数ビットをセットするレジスタとな
る。
アドレスの下位複数ビットをセットするレジスタとな
る。
従って、ページ内アドレスはこのiA8中に含まれる。
次に、マイクロ命令の実行順序に従いCPU10内ハードウ
ェアの動作を以下説明する。
ェアの動作を以下説明する。
(イ):マクロ命令フェッチを行う時、主記憶装置2内
の主記憶アドレスと対応している論理アドレス(例えば
32ビット)の内、レジスタ群11からは論理アドレス(32
ビット)の上位複数ビット(例えば16ビット)がSAR40
にセットされ、iA8からは論理アドレス(32ビット)の
下位複数ビット(例えば16ビット)がSAR40にセットさ
れる。
の主記憶アドレスと対応している論理アドレス(例えば
32ビット)の内、レジスタ群11からは論理アドレス(32
ビット)の上位複数ビット(例えば16ビット)がSAR40
にセットされ、iA8からは論理アドレス(32ビット)の
下位複数ビット(例えば16ビット)がSAR40にセットさ
れる。
レジスタ群11からSAR40にセットされる論理アドレス(1
6ビット)は、論理ページアドレス(例えば21ビット)
の上位桁(16ビット)で構成されている。
6ビット)は、論理ページアドレス(例えば21ビット)
の上位桁(16ビット)で構成されている。
iA8からSAR40にセットされる論理アドレス(16ビット)
は、論理ページアドレス(21ビット)の内のレジスタ群
11からSAR40にセットされた上位桁(16ビット)を除い
た残りの下位桁(5ビット)と論理ページ内アドレス
(11ビット)とで構成されている。
は、論理ページアドレス(21ビット)の内のレジスタ群
11からSAR40にセットされた上位桁(16ビット)を除い
た残りの下位桁(5ビット)と論理ページ内アドレス
(11ビット)とで構成されている。
このセット動作が最初であれば後述するページクロス検
出時と同様な動作が行われ、SAR40にセットされた論理
アドレス(32ビット)の内の論理ページアドレス(21ビ
ット)は、CPU1内部又は主記憶装置2内の固定領域に用
意されている索引テーブル(図示してない)によって物
理ページアドレスに変換されて、再びSAR40にセットさ
れる。
出時と同様な動作が行われ、SAR40にセットされた論理
アドレス(32ビット)の内の論理ページアドレス(21ビ
ット)は、CPU1内部又は主記憶装置2内の固定領域に用
意されている索引テーブル(図示してない)によって物
理ページアドレスに変換されて、再びSAR40にセットさ
れる。
この動作は、従来装置も行うもので本発明特有ではな
い。
い。
この動作において、マイクロ命令はマクロ命令フェッチ
のマイクロ命令(このマイクロ命令をRQFと称する)
と、主記憶ページアドレス選択及びSAR40へのセットの
指示命令のマイクロ命令を発行する。(iA8内のページ
内アドレスのSAR40へのセットは、RQF命令にて行われ
る。) この物理ページアドレス(21ビット)と始めにセットさ
れた論理ページ内アドレス、すなわち物理ページ内アド
レス(11ビット)とにより主記憶装置2のアドレス(32
ビット)が指示される。
のマイクロ命令(このマイクロ命令をRQFと称する)
と、主記憶ページアドレス選択及びSAR40へのセットの
指示命令のマイクロ命令を発行する。(iA8内のページ
内アドレスのSAR40へのセットは、RQF命令にて行われ
る。) この物理ページアドレス(21ビット)と始めにセットさ
れた論理ページ内アドレス、すなわち物理ページ内アド
レス(11ビット)とにより主記憶装置2のアドレス(32
ビット)が指示される。
これ以降、マクロ命令フェッチ時に、iA8からはアドレ
ス値がプラス1された論理ページ内アドレス、すなわち
物理ページ内アドレス(11ビット)がSAR40にセットさ
れ、順次ページ内のアドレスが更新される。
ス値がプラス1された論理ページ内アドレス、すなわち
物理ページ内アドレス(11ビット)がSAR40にセットさ
れ、順次ページ内のアドレスが更新される。
(ロ):上記RQF命令によってiA8は、その命令の終了時
点でカウントアップされる。
点でカウントアップされる。
iA8のカウントアップの結果、ページクロスが発生した
場合は、iA8内の論理ページアドレス(5ビット)が更
新される。
場合は、iA8内の論理ページアドレス(5ビット)が更
新される。
即ち、まずiA8の値(アドレス値)がプラス1回路12aに
よりカウントアップされる。
よりカウントアップされる。
又、ページクロスの検出はページクロス検出手段13内ペ
ージクロス検出回路13aで行われ、その検出結果はF.F13
bにラッチされる。
ージクロス検出回路13aで行われ、その検出結果はF.F13
bにラッチされる。
尚、このページクロス検出は、第3図(2),(4)に
示すようにiA8からのキャリを検出しているだけであ
る。
示すようにiA8からのキャリを検出しているだけであ
る。
例えば、ページサイズが4Kバイトの場合、第3図(2)
に示す論理ページ内アドレスに相当するiA8の下位12ビ
ットが全て‘1'の時、ページクロス検出回路13aにてペ
ージクロスが検出される。
に示す論理ページ内アドレスに相当するiA8の下位12ビ
ットが全て‘1'の時、ページクロス検出回路13aにてペ
ージクロスが検出される。
このページクロスが発生したことを示すページクロス信
号はRQF命令終了時にF.F13bへセットされる。
号はRQF命令終了時にF.F13bへセットされる。
ページクロスの発生によりページクロス信号がセット
され、F.F13bがオン状態になると、レジスタ群11からは
論理アドレスの上位ビット(16ビット)がSAR40にセッ
トされ、iA8からは論理アドレスの下位ビット(16ビッ
ト)がSAR40にセットされる。
され、F.F13bがオン状態になると、レジスタ群11からは
論理アドレスの上位ビット(16ビット)がSAR40にセッ
トされ、iA8からは論理アドレスの下位ビット(16ビッ
ト)がSAR40にセットされる。
前述のように、レジスタ群11からSAR40にセットされる
論理アドレス(16ビット)は論理ページアドレス(21ビ
ット)の上位桁であり、iA8からSAR40にセットされる論
理アドレス(16ビット)は論理ページアドレスの残りの
下位桁(5ビット)と論理ページ内アドレス(11ビッ
ト)である。
論理アドレス(16ビット)は論理ページアドレス(21ビ
ット)の上位桁であり、iA8からSAR40にセットされる論
理アドレス(16ビット)は論理ページアドレスの残りの
下位桁(5ビット)と論理ページ内アドレス(11ビッ
ト)である。
次に、SAR40にセットされた論理アドレス(32ビット)
の内の論理ページアドレス(21ビット)は物理ページア
ドレスに変換される。
の内の論理ページアドレス(21ビット)は物理ページア
ドレスに変換される。
この物理ページアドレスへの変換は、所定マイクロ命令
にて行われ、例えば、主記憶装置2内の固定領域に用意
されている索引テーブル(図示せず)あるいは別に設け
られた変換テーブル(図示せず)が、SAR40の論理ペー
ジアドレス(21ビット)によってアクセスされ物理ペー
ジアドレス(21ビット)に変換される。
にて行われ、例えば、主記憶装置2内の固定領域に用意
されている索引テーブル(図示せず)あるいは別に設け
られた変換テーブル(図示せず)が、SAR40の論理ペー
ジアドレス(21ビット)によってアクセスされ物理ペー
ジアドレス(21ビット)に変換される。
変換された物理ページアドレスは、例えば、他のレジス
タ(b)に出力され、MPX6dを介してSAR40に再びセット
される。
タ(b)に出力され、MPX6dを介してSAR40に再びセット
される。
SAR40に再びセットされた物理ページアドレス(21ビッ
ト)は、既にセットされている物理ページ内アドレス
(11ビット)と共に主記憶装置2を指示する物理アドレ
ス(32ビット)となる。
ト)は、既にセットされている物理ページ内アドレス
(11ビット)と共に主記憶装置2を指示する物理アドレ
ス(32ビット)となる。
一つのマクロ命令フェッチが完了すると、iA8でアドレ
ス値がプラス1されるが、これは物理ページ内アドレス
(11ビット)のアドレス値がカウントアップされること
になる。
ス値がプラス1されるが、これは物理ページ内アドレス
(11ビット)のアドレス値がカウントアップされること
になる。
従って、この後は、既にセットされている物理ページア
ドレス(21ビット)はそのままで、マクロ命令のフェッ
チの度にiA8でカウントアップされた物理ページ内アド
レスがSAR40の対応する物理ページ内アドレスの桁(11
ビット)にセットされる。
ドレス(21ビット)はそのままで、マクロ命令のフェッ
チの度にiA8でカウントアップされた物理ページ内アド
レスがSAR40の対応する物理ページ内アドレスの桁(11
ビット)にセットされる。
この動作は、次のページクロスが発生するまで行われ
る。
る。
(ハ):(ロ)項のRQF命令でページクロスと同時にiA
部12の最上位ビットからのキャリが発生すると、オーバ
フロー検出部14からオーバフロー信号が出力され、これ
によりレジスタ群11の命令フェッチ論理アドレスの上位
複数ビットがALU3を使ってマイクロ命令により更新され
る。
部12の最上位ビットからのキャリが発生すると、オーバ
フロー検出部14からオーバフロー信号が出力され、これ
によりレジスタ群11の命令フェッチ論理アドレスの上位
複数ビットがALU3を使ってマイクロ命令により更新され
る。
この場合はiA8のプラス1回路12aを使った更新と比較し
てマイクロ命令の実行に時間が掛かるが、オーバフロー
信号が出力される状態になるのは極まれであり、全体の
処理時間から較べるとわずかであり処理効率が下がるこ
とはない。
てマイクロ命令の実行に時間が掛かるが、オーバフロー
信号が出力される状態になるのは極まれであり、全体の
処理時間から較べるとわずかであり処理効率が下がるこ
とはない。
尚、このような状態になった場合の処理は以下の通りで
ある。
ある。
即ち、iA部12の最上位ビットからのキャリは、iA部12が
カウントアップされる前に全ビットがオール‘1'の状態
(第3図(4)の状態)の時に発生する。
カウントアップされる前に全ビットがオール‘1'の状態
(第3図(4)の状態)の時に発生する。
尚、最上位ビットからのキャリはRQF命令終了時、ペー
ジクロスのキャリと同様オーバフロー検出手段14内F.F1
4bへセットされる。
ジクロスのキャリと同様オーバフロー検出手段14内F.F1
4bへセットされる。
その後の動作はマイクロ命令で行われる。
このマイクロ命令は、このF.F14bの状態を読取り、それ
がオンであれば、レジスタ群11から読まれた上位側の論
理アドレスをプラス1した論理ページアドレスを新しい
主記憶ページアドレス(物理アドレス)に変換する。
がオンであれば、レジスタ群11から読まれた上位側の論
理アドレスをプラス1した論理ページアドレスを新しい
主記憶ページアドレス(物理アドレス)に変換する。
(ニ):(ロ)項,(ハ)項の状態でない場合は、SAR4
0内にある主記憶ページアドレス(物理アドレス)と、R
QF命令によってiA8内で更新され、SAR40にセットされた
ページ内アドレスとが主記憶装置2をアクセスする。
0内にある主記憶ページアドレス(物理アドレス)と、R
QF命令によってiA8内で更新され、SAR40にセットされた
ページ内アドレスとが主記憶装置2をアクセスする。
以上のように本発明によれば、簡易なハードウエア構成
で、マイクロプログラムに基づくデータ処理が確実に、
しかも、より短時間に実現できるという効果がある。
で、マイクロプログラムに基づくデータ処理が確実に、
しかも、より短時間に実現できるという効果がある。
第1図は本発明の原理を説明するブロック図、 第2図は本発明の実施例を説明するブロック図、 第3図は本発明の実施例における処理動作を説明する
図、 第4図は従来例を説明するブロック図、 をそれぞれ示す。 図において、 1,10はCPU、2は主記憶装置、 3はALU、4,40はSAR、 5,12aはプラス1回路、6a〜6dはMPX、 7,13b,14bはF.F、8はiA、 11はレジスタ群、12はiA部 13はページクロス検出手段、 13aはページクロス検出回路、 14はオーバフロー検出手段、 14aはオーバフロー検出回路、 をそれぞれ示す。
図、 第4図は従来例を説明するブロック図、 をそれぞれ示す。 図において、 1,10はCPU、2は主記憶装置、 3はALU、4,40はSAR、 5,12aはプラス1回路、6a〜6dはMPX、 7,13b,14bはF.F、8はiA、 11はレジスタ群、12はiA部 13はページクロス検出手段、 13aはページクロス検出回路、 14はオーバフロー検出手段、 14aはオーバフロー検出回路、 をそれぞれ示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 阿保 憲一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 武居 正善 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 野々村 一泰 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 西町 良市 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 桜井 康智 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭60−51947(JP,A)
Claims (1)
- 【請求項1】所定バイトからなるページ単位にその容量
の分割されている主記憶装置(2)と、所定メモリに格
納されるマイクロプログラムに基づきデータ処理動作の
制御を行う中央処理装置(10)を備えてなる計算機シス
テムにおいて、 前記中央処理装置(10)から発生される実行命令中にマ
クロ命令をフェッチするためのマイクロ命令を定義し、 マクロ命令をフェッチするための論理アドレスの上位を
保持し、算術論理演算ユニット(3)を使ってマクロ命
令によりカウントアップされるレジスタ群(11)と、 マクロ命令アドレス専用のレジスタであって、物理ペー
ジ内アドレスを含んで構成される論理アドレスの下位を
保持し、マクロ命令をフェッチするためのマイクロ命令
により前記論理アドレスがカウントアップされる自動カ
ウントアップ回路を持った命令フェッチアドレス保持手
段(12)と、 前記命令フェッチアドレス保持手段(12)に保持された
論理アドレスに含まれる物理ページ内アドレスの最上桁
からページクロスを検出するページクロス検出手段(1
3)と、 前記命令フェッチアドレス保持手段(12)に保持された
論理アドレスの最上桁からオーバフローを検出するオー
バフロー検出手段(14)と、 前記レジスタ群(11)に保持された論理アドレスと前記
命令フェッチアドレス保持手段(12)に保持された論理
アドレスとがセットされるアドレスレジスタ(40)とを
具備し、 マクロ命令フェッチの際に、前記ページクロス検出手段
(13)によりページクロスを検出しない場合には、マイ
クロ命令によりカウントアップされた命令フェッチアド
レス保持手段(12)に保持された前記物理ページ内アド
レスを前記アドレスレジスタ(40)のページ内アドレス
の対応する桁にセットすることにより前記主記憶装置
(2)を指示する物理アドレスとし、 前記ページクロス検出手段(13)によりページクロスを
検出した場合には、前記レジスタ群(11)に保持された
論理アドレスと、マイクロ命令によりカウントアップさ
れた命令フェッチアドレス保持手段(12)に保持された
論理アドレスとを前記アドレスレジスタ(40)にセット
し、セットされた論理アドレスに含まれる論理ページア
ドレスを前記主記憶装置(2)の所定ページの物理アド
レスに変換し、 前記ページクロス検出手段(13)によりページクロスを
検出すると共に、前記オーバフロー検出手段(14)によ
りオーバフローを検出した場合には、前記算術論理演算
ユニット(3)を使ってマイクロ命令によりカウントア
ップされたレジスタ群(11)に保持されている論理アド
レスと、マイクロ命令によりカウントアップされた命令
フェッチアドレス保持手段(12)に保持された論理アド
レスとを前記アドレスレジスタ(40)にセットし、セッ
トされた論理アドレスに含まれる論理ページアドレスを
前記主記憶装置(2)の所定ページの物理アドレスに変
換することを特徴とする命令フェッチ制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61298036A JPH0679272B2 (ja) | 1986-12-15 | 1986-12-15 | 命令フェッチ制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61298036A JPH0679272B2 (ja) | 1986-12-15 | 1986-12-15 | 命令フェッチ制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63149734A JPS63149734A (ja) | 1988-06-22 |
| JPH0679272B2 true JPH0679272B2 (ja) | 1994-10-05 |
Family
ID=17854292
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61298036A Expired - Lifetime JPH0679272B2 (ja) | 1986-12-15 | 1986-12-15 | 命令フェッチ制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0679272B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4718869B2 (ja) * | 2005-03-11 | 2011-07-06 | エヌイーシーコンピュータテクノ株式会社 | エミュレータ、エミュレータにおけるアドレス計算例外検出方法、プログラム |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS50152629A (ja) * | 1974-05-27 | 1975-12-08 | ||
| JPS5543635A (en) * | 1978-09-22 | 1980-03-27 | Hitachi Ltd | Data processor of microprogram control |
| JPS6051947A (ja) * | 1983-08-31 | 1985-03-23 | Toshiba Corp | 仮想記憶計算機における命令先取方式 |
-
1986
- 1986-12-15 JP JP61298036A patent/JPH0679272B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63149734A (ja) | 1988-06-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4794524A (en) | Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit | |
| US4206503A (en) | Multiple length address formation in a microprogrammed data processing system | |
| US4710866A (en) | Method and apparatus for validating prefetched instruction | |
| JPS59111542A (ja) | プログラム・カランタ・スタツク方法およびネストされたサブル−チンと命令用の装置 | |
| CA1222323A (en) | Method and apparatus for signed and unsigned bounds check | |
| US3675214A (en) | Processor servicing external devices, real and simulated | |
| US3286236A (en) | Electronic digital computer with automatic interrupt control | |
| JPH0248931B2 (ja) | ||
| US5761491A (en) | Data processing system and method for storing and restoring a stack pointer | |
| US4933847A (en) | Microcode branch based upon operand length and alignment | |
| EP0166431A2 (en) | An information processing apparatus having an instruction prefetch circuit | |
| US4757445A (en) | Method and apparatus for validating prefetched instruction | |
| US3618042A (en) | Error detection and instruction reexecution device in a data-processing apparatus | |
| EP0509558A2 (en) | Information processing system with support means responsive to an overall system control | |
| KR100488326B1 (ko) | 컴퓨터 | |
| EP0411679A2 (en) | Apparatus for dynamically adding a next address field to the instructions of a computer system. | |
| JP2619425B2 (ja) | シーケンスコントローラ | |
| JPS63149734A (ja) | 命令フェッチ制御装置 | |
| JPH0377137A (ja) | 情報処理装置 | |
| EP0155275B1 (en) | Prefetch validation | |
| JPH0778723B2 (ja) | 情報処理装置 | |
| JPS6376016A (ja) | 命令フエツチ方式 | |
| JPH0752402B2 (ja) | データ処理装置 | |
| JPS60193046A (ja) | 命令例外検出方式 | |
| JPH0340013A (ja) | 中央演算処理装置 |