JPS63149734A - 命令フェッチ制御装置 - Google Patents

命令フェッチ制御装置

Info

Publication number
JPS63149734A
JPS63149734A JP61298036A JP29803686A JPS63149734A JP S63149734 A JPS63149734 A JP S63149734A JP 61298036 A JP61298036 A JP 61298036A JP 29803686 A JP29803686 A JP 29803686A JP S63149734 A JPS63149734 A JP S63149734A
Authority
JP
Japan
Prior art keywords
address
register
page
instruction
counter
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
JP61298036A
Other languages
English (en)
Other versions
JPH0679272B2 (ja
Inventor
Yuji Kamisaka
神阪 裕士
Takeshi Murata
雄志 村田
Takahito Noda
野田 敬人
Kenichi Abo
阿保 憲一
Masayoshi Takei
武居 正善
Kazuyasu Nonomura
野々村 一泰
Riyouichi Nishimachi
西町 良市
Yasutomo Sakurai
康智 桜井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61298036A priority Critical patent/JPH0679272B2/ja
Publication of JPS63149734A publication Critical patent/JPS63149734A/ja
Publication of JPH0679272B2 publication Critical patent/JPH0679272B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 マイクロプログラム方式の計算機システムにおける命令
フェッチ方式であって、計算機システム内ファームウェ
アに基づき主記憶装置からマクロ命令をリードする時、
複数のマクロ命令をフェッチするためのマイクロ命令操
作時の論理アドレスをセットする命令フェンチアドレス
保持手すのハードウェア構成が膨大になることを解決す
るために、命令フェッチアドレス保持手段の下位側数ビ
ットをカウンタで構成し、残りの上位数ビットを他目的
で使用しているレジ゛スタ群に持つように構成すること
により、ファームウェアに大きな負担をかけることなく
歩容量のハードウェア構成が可能となる。
〔産業上の利用分野〕
本発明は、マイクロプログラム方式の計算機システムに
おける命令フェッチ方式に関する。
一般に、マイクロプログラム方式の計算機システムにお
けるマクロ命令は、主記憶上で連続したメモリアドレス
に割付けられている。
一方、マイクロ命令はそのマクロ命令を1つずつフェッ
チし、そのマクロ命令の意味を解釈して、それに対応す
る処理を実行する。1つのマクロ命令の処理が終わると
、次のマクロ命令をフェッチするため、マイクロ命令は
マクロ命令論理アドレスをプラス1する。
プラス1されたマクロ命令論理アドレスは、ページクロ
スの発生の有無をチェックされ、ページクロスが発生し
ていると、プラス1した論理アドレスにより索引用テー
ブルが索引され、これにより正しい物理アドレスを得た
後、マクロ命令フェッチを行う。
尚、ページ内アドレスは論理アドレス−物理アドレス(
主記憶装置のメモリアドレス)なので、プラス1した論
理アドレスを用いる。
これらの処理は全てマイクロ命令で行われており、間違
いなくしかも短いステップ数で処理されることが要求さ
れている。
〔従来の技術〕
第4図は従来例を説明するブロック図を示す。
第4図は中央処理装置(以下CPUと称する)1と、主
記憶装置2を備え、データ処理動作を制御プログラムメ
モリ(図示してない)に格納するマイクロプログラムに
基づき制御する計算機システムを示す。
CPUIは固定小数点算術演算や論理演算を行う算術論
理演算ユニット(以下ALυと称する)3と、MPX6
cが選択信号(1)の制御により選択した内容(主記憶
装置2内メモリをアクセスするためのアドレス)を格納
するアドレスレジスタ(以下SARと称する)4と、 AlO2に対してアドレス演算をプラス1するためのデ
ータを送出するプラス1回路5と、入力する複数のデー
タから1つを選択して送出するマルチプレクサ(以下M
PXと称する) 6a〜6Cと、 所定マイクロ命令が指示(3)された時、AlO2から
出力するページクロスをフェッチしてページクロス信号
■を送出するフリップフロップ(以下P、Fと称する)
7と、 命令フェッチアドレスを保持する命令フェッチアドレス
レジスタ(以下iAと称する)8等を具備して構成され
ている。
尚、符号(a)は他のALU出力を、符号(bl、 (
C)は他から転送されて来たデータを格納しているレジ
スタの出力をそれぞれ示す。
第4図に示すようなマイクロプログラム方式の計算機シ
ステムにおいて、主記憶装置2からマクロ命令(同一の
原始言語で記述された一連の命令文によらて置き換える
ことが出来る原始言語中の命令)をリードする時、マイ
クロ命令で以下の指示が必要である。即ち、 (イ) iA8の内容を5AR4ヘセツトするための指
示。(図中(1)の信号、又は命令) (ロ)i^8をAlO2でカウントアツプするための指
示。(図中(2)の信号、又は命令)(ハ) AlO2
でiA8をカウントアツプする時、ページクロス(後述
する)のチェックをするための指示。(図中(3)の信
号、又は命令) 尚、マイクロ命令の操作におけるiA8とはマクロ命令
アドレス専用のアドレスレジスタを意味する。又、前述
のマイクロ命令において、(イ)のマイクロ命令操作は
、iA8の内容をシステムストレージアドレスレジスタ
(以下SARと称する)と呼ばれるアドレスレジスタ(
SAR) 4にセットする操作である。
5AR4の出力データは主記憶装置2のアドレスとなり
、このため5AR4にはiA8以外(例えば、第一オペ
ランドアドレス等)のデータもセットされるため、その
入力信号は複数のレジスタ(b)等のデータをMPX6
cにて選択し取出したものとなる。
即ち、マクロ命令のデータ(命令)を主記憶装置2から
読取るためには、i^8のデータをMPX6cにて選択
し、5AR4にセットする必要がある。従って、iA8
を5AR4にセットすることを示すマイクロ命令を指示
することになる。
又、(ロ)のマイクロ命令操作は、iA8の値を次のマ
クロ命令アドレスにするため、汎用ALUを用いカウン
トアツプを行う操作である。
この操作は、マクロ命令が一般には連続したメモリアド
レスに割付けられているため、そのアドレスをプラス1
ずつカウントアツプしてやれば良いことから、汎用のA
LUを用いて処理を行っている。
更に、(ハ)のマイクロ命令操作は、(ロ)のALU3
操作時にALU3の出力のキャリフラグをページクロス
検出用のF、 F7にセットする操作である。
これはALU3等を用いる加算処理は前述の通り他の演
算にも用いられるため、どの演算処理時にページクロス
検出(即ち、命令アドレスの加算を行っていることを示
す)を行えば良いかを指示する操作であり、これは専用
のマイクロ命令で行っている。
尚、主記憶アドレスと論理アドレスとを対応ずける索引
テーブル(図示してない)がCPUI内部又は主記憶装
置2内の固定領域に用意されている。
この索引テーブル(図示してない)には、主記憶アドレ
ス(物理アドレス)と論理アドレスとがページ単位で対
応ずけられている。
一般にマクロ命令のアドレスは、前述の通り現在実行中
の主記憶アドレス(物理アドレス)にプラス1加算すれ
ば次のマクロ命令アドレスとなる。
しかし、プラス1加算されたアドレスが所定ページ単位
(例えば、2キロバイト、4キロバイト等)を越えてし
まった場合、その主記憶アドレス(物理アドレス)は全
く異なった論理アドレスをリードしていることになる。
そのため、この時点では再度索引テーブル(図示してな
い)を参照し、正しい主記憶アドレス(物理アドレス)
を求める必要がある。この論理アドレスから主記憶アド
レス(物理アじレス)への変換操作をアドレス変換と呼
ぶ。
又、プラス1加算されたアドレスが所定ページ単位を越
えていることをページクロスと呼び、このページクロス
が発生していれば、現在実行中の命令アドレスプラス1
の主記憶アドレス(物理アドレス)を破棄し、新たに索
引テーブル(図示してない)を参照し主記憶アドレス(
物理アドレス)を求める必要がある。
尚、ページクロスは一般的に主記憶アドレス(物理アド
レス)をプラス1する時の条件によって発生すると判断
すれば良い。
〔発明が解決しようとする問題点〕
第4図に示すような従来例で、(イ)のマイクロ命令を
コーディングミス等でiA8を選択しないまま主記憶装
置2からデータを読み、それをマクロ命令と解釈しそれ
に対応する動作を行うと、当然ながらプログラムの暴走
、5AR4等レジスタの内容破壊、主記憶装置2内デー
タの破壊等の重大な障害が発生してしまう。
更に、これらの障害はハードウェア的には何等支障なく
動作するためしばらく動作した後、ソフトウェア上の辻
禎が合わなくなり、止まってしまう。
従って、止まった時の状態で何故このような障害が発生
したのかを解析するには、困難が伴い非常に時間がかか
ってしまうことになる。
又、(ロ)は汎用ALUを用いるため、他の演算処理(
例えば、第一、第二オペランドの加算、減算、汎用レジ
スタの加算、減算、ビット操作等)にも使用するため、
iA8のカウントアツプ時に前述のような処理が出来な
くなってしまう等の不都合が生じる。
更に、(ハ)のような単純な検出を行うだけの処理にも
所定ステップ数のマイクロ命令が必要となり、それだけ
マイクロステップ数が増加する等の各種問題点がある。
〔問題点を解決するための手段〕
第1図は本発明の詳細な説明するブロック図を示す。
第1図に示す本発明の原理ブロック図は、第4図で説明
した主記憶装置2と下記に説明するcpuiOとから構
成されている。
又、本発明におけるCPUl0の構成は第4図で説明し
た機能ブロック3.5.6a〜6c及び(a)、 (b
)と、マクロ命令をフェッチするためのマイクロ命令操
作時の論理アドレスの上位を保持するレジスタ群11と
、 マクロ命令アドレス専用のレジスタであり、論理アドレ
スの下位を保持する命令フェンチアドレス保持手段(i
^部)12と、 命令フェッチアドレス保持手段(iA部)12の内容か
らページクロスを検出するページクロス検出手段13と
、 命令フェッチアドレス保持手段(iA部)12の内容か
らそのオーバフローを検出するオーバフロー検出手段1
4と、 命令フェッチ用の該マイクロ命令が発生すると、命令フ
ェッチアドレス保持手段(iA部)12の内容をセット
するアドレスレジスタ(SAR) 40とを具備して構
成されている。
尚、CPUl0における実行命令中にマクロ命令をフェ
フチするためのマイクロ命令が定義されている。
〔作用〕
5AR40に格納する命令フェッチアドレスの下位側数
ビットをiへ8内カウンタ(図示してない)で、残りの
上位数ビットを他目的にも使用しているレジスタ群11
にて持ち、iAB内カウンタ(図示してない)からのキ
ャリアウド(繰り上がり)信号が出力された時に、上位
数ビットに桁上げ(プラス1加算)するiAB内カウン
タ(図示してない)及びレジスタ群11を構成する。
このカウンタ(図示してない)の値は命令フェッチのメ
モリリクエストが出力された時、カウントアツプされ、
ページ内アドレスが5AR40にセットされ、更にカウ
ントアツプされた論理アドレスがページクロスキャリア
ウドを発生しているか否かを検出するように構成するこ
とにより、簡易なハードウェア構成で確実な処理がより
短時間に実現可能となる。
〔実施例〕
以下本発明の要旨を第2図、第3図に示す実施例により
具体的に説明する。
第2図は本発明の詳細な説明するブロック図、第3図は
本発明の実施例における処理動作を説明する図をそれぞ
れ示す、尚、企図を通じて同一符号は同一対象物を示す
本発明の実施例におけるiA部12は、マクロ命令アド
レス専用のレジスタであるiA8に、iA8の内容を順
次プラス1して行くプラス1回路12aが付加されて構
成されている。
又、ページクロス検出手段13及びオーバフロー検出手
段14は、ページクロス検出回路13aとF、F13b
及びオーバフロー検出回路14aとF、F14bとから
それぞれ構成されてい゛る。
更に、本発明の実施例で用いられるレジスタ群11はレ
ジスタ番号をアドレス線!d)で指示すると、そのレジ
スタ番号に対応したデータが出力線(e)から出力され
る。尚一般に、このようなレジスタ群11は1チツプ(
ICIコ)又は1マクロ・(LSi内の1つの機能ブロ
ック)で構成される。
本実施例のiA部12内iA8は、マクロ命令フエ・7
チの論理アドレスの下位複数ビットをセントするレジス
タとなる。従って、ページ内アドレスはこのiA部中に
含まれる。
次に、マイクロ命令の実行順序に従いCPIIIO内ハ
ードウニハードウェア下説明する。
(イ);マクロ命令フェッチを行う時、主記憶装置2内
主記jQページアドレスはレジスタ群11から選択され
、5AR40にセットされる。又、ページ内アドレスは
iA8の下位複数ビットが選択され、SAR40にセッ
トされる。
この動作において、マイクロ命令はマクロ命令フェッチ
のマイクロ命令(このマイクロ命令をRQFと称する)
と、主記憶ページアドレス選択及び5AR40へのセッ
トの指示命令のマイクロ命令を発行する。(iA部内の
ページ内アドレスの5AR40へのセットは、RQP命
令にて行われる)(ロ);上記RQF命令によってiA
8は、その命令の終了時点でカウントアツプされる。i
A8のカウントアンプの結果、ページクロスが発生した
場合はi^8内の論理ページアドレスが更新される。
即ち、まずiA8の値(アドレス値)がプラス1回路1
2aによりカウントアンプされる。又、ページクロスの
検出はページクロス検出手段13内ページクロス検出回
路13aで行われ、その検出結果はF、F13bにラッ
チされる。
尚、このページクロス検出は第3図(2)、 (4)に
示すようにi^8からのキャリを検出しているだけであ
る。例えば、ページサイズが4にバイトの場合、第3図
(2)に示すようにiA部の下位12ビツトが全て“1
°の時、ページクロス検出回路13aにてページクロス
が検出される。
このページクロスが発生したことを示すページクロス信
号■はRQF命令終了時にF、F13bヘセットされる
尚、i^8のカウントアツプは行われているので、論理
ページアドレスは更新されている。又、ページクロス後
は、更新された論理ページアドレスを主記憶ページアド
レス(物理アドレス)に変換するため、アドレス変換が
所定マイクロ命令にて行われる。
(ハ);(ロ)項のRQF命令でページクロスと同時に
iAAl2O最上位ビットからのキャリが発生した時、
レジスタ群11の命令フェッチ論理アドレスの上位複数
ビットも更新される。
これらの動作はほとんどマイクロ命令により実行される
。しかし、iAAl2O最上位ビットからのキャリが発
生する状態になるのは極くまれであり、全体の処理時間
から比べるとごくわずかである。
尚、このような状態になった場合の処理は以下の通りで
ある。
即ち、iAAl2O最上位ビットからのキャリは、iA
Al2Oカウントアツプされる前に全ビットがオール“
1′の状態(第3図(4)の状態)の時に発生する。尚
、最上位ピントからのキャリはRQF命令終了時ページ
クロスのキャリと同様オーバフロー検出手段14内F、
P14bヘセットされる。
その後の動作はマイクロ命令で行われる。このマイクロ
命令は新しい主記憶ページアドレス(物理アドレス)を
アドレス変換で得るが、このF、F14bの状態を読取
り、それがオンであればレジスタ群11から読まれた論
理アドレスの上位側をプラス1した論理ページアドレス
でアドレス変換が行われる。
(ニ);(ロ)項、 (ハ)項の状態でない場合は、5
AR40内にある主記憶ページアドレス(物理アドレス
)と、RQF命令によって更新さたiA部内のページ内
アドレスが5AR40にセントされ、主記憶装置2をア
クセスする。
〔発明の効果〕
以上のような本発明によれば、簡易なハードウェア構成
で、マイクロプログラムに基づ(データ処理が確実にし
かもよ゛り短時間に実現出来ると言う効果がある。
【図面の簡単な説明】
第1図は本発明の詳細な説明するブロック図、第2図は
本発明の詳細な説明するブロック図、第3図は本発明の
実施例における処理動作を説明する図、 第4図は従来例を説明するブロック図、をそれぞれ示す
。 図において、 1.10はcpu、      2は主記憶装置、3は
ALtl 、        4.40はSAR。 5.12aはプラス1回路、6a〜6dはMPX、7、
13b、 14bはF、F、    8は1Ax11は
レジスタ群、   12はiA部、13はページクロス
検出手段、 13aはページクロス検出回路、 14はオーバフロー検出手段、 14aはオーバフロー検出回路、 をそれぞれ示す。 本発明θ失調ムイ列ε詰仏明13ブロッ7ト[蓼2 図 (1)ip  ラJ2ip11221ノ !122′ゴ
!A木谷叩/7史男社ゴタ・11;る・げ3悶動イkE
さL■耳113目草3図

Claims (1)

  1. 【特許請求の範囲】 所定バイトからなるページ単位にその容量が分割されて
    いる主記憶装置(2)と、所定メモリに格納されるマイ
    クロプログラムに基づきデータ処理動作の制御を行う中
    央処理装置(10)を備えてなる計算機システムにおい
    て、 前記中央処理装置(10)から発生される実行命令中に
    マクロ命令をフェッチするためのマイクロ命令を定義し
    、 マクロ命令をフェッチするためのマイクロ命令操作時の
    論理アドレスの上位も保持するレジスタ群(11)と、 マクロ命令アドレス専用のレジスタであり、論理アドレ
    スの下位を保持する命令フェッチアドレス保持手段(1
    2)と、 前記命令フェッチアドレス保持手段(12)の内容から
    ページクロスを検出するページクロス検出手段(13)
    と、 前記命令フェッチアドレス保持手段(12)の内容から
    そのオーバフローを検出するオーバフロー検出手段(1
    4)と、 命令フェッチ用の該マイクロ命令が発生すると、前記命
    令フェッチアドレス保持手段(12)の内容をセットす
    るアドレスレジスタ(40)とを具備することを特徴と
    する命令フェッチ方式。
JP61298036A 1986-12-15 1986-12-15 命令フェッチ制御装置 Expired - Lifetime JPH0679272B2 (ja)

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 true JPS63149734A (ja) 1988-06-22
JPH0679272B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252343A (ja) * 2005-03-11 2006-09-21 Nec Computertechno Ltd エミュレータ、エミュレータにおけるアドレス計算例外検出方法、プログラム

Citations (3)

* Cited by examiner, † Cited by third party
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 仮想記憶計算機における命令先取方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 仮想記憶計算機における命令先取方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252343A (ja) * 2005-03-11 2006-09-21 Nec Computertechno Ltd エミュレータ、エミュレータにおけるアドレス計算例外検出方法、プログラム

Also Published As

Publication number Publication date
JPH0679272B2 (ja) 1994-10-05

Similar Documents

Publication Publication Date Title
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
US4080650A (en) Facilitating return from an on-line debugging program to a target program breakpoint
US4710866A (en) Method and apparatus for validating prefetched instruction
US5560036A (en) Data processing having incircuit emulation function
JP2992223B2 (ja) コンピュータシステム、命令ビット長圧縮方法、命令発生方法、及びコンピュータシステム動作方法
US5481734A (en) Data processor having 2n bits width data bus for context switching function
CA1324671C (en) Decoding multiple specifiers in a variable length instruction architecture
TWI770721B (zh) 硬體處理器及處理器
US5502827A (en) Pipelined data processor for floating point and integer operation with exception handling
JPS58125148A (ja) 条件付きブランチ命令の予測装置
JPS63193230A (ja) 高性能マイクロプロセッサ集積回路とメモリ参照を行なう方法
JPH0578050B2 (ja)
JP3707581B2 (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
US4747044A (en) Direct execution of software on microprogrammable hardware
US4757445A (en) Method and apparatus for validating prefetched instruction
US6757809B1 (en) Data processor having 2n bits width data bus for context switching functions
CN119806544B (zh) 二进制翻译方法、装置、电子设备及可读存储介质
US3623158A (en) Data processing system including nonassociative data store and associative working and address stores
JP2638581B2 (ja) 命令及びオペランドをプロセッサに提供する取り出し機構
EP0297891A2 (en) Apparatus and method for main memory unit protection using access and fault logic signals
JPS63149734A (ja) 命令フェッチ制御装置
JPH02236652A (ja) 仮想アドレスから物理アドレスへの翻訳機構ならびに仮想記憶空間を備えたコンピュータシステム及び翻訳バッファのローディング方法
US5440757A (en) Data processor having multistage store buffer for processing exceptions
JPS5931733B2 (ja) 可変長さの命令を実行する中央処理装置
EP0155275B1 (en) Prefetch validation