JPH0464093B2 - - Google Patents

Info

Publication number
JPH0464093B2
JPH0464093B2 JP61222346A JP22234686A JPH0464093B2 JP H0464093 B2 JPH0464093 B2 JP H0464093B2 JP 61222346 A JP61222346 A JP 61222346A JP 22234686 A JP22234686 A JP 22234686A JP H0464093 B2 JPH0464093 B2 JP H0464093B2
Authority
JP
Japan
Prior art keywords
page
address
instruction
page cross
main 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.)
Expired - Lifetime
Application number
JP61222346A
Other languages
English (en)
Other versions
JPS6376015A (ja
Inventor
Juji Kamisaka
Takeshi Murata
Takahito Noda
Kenichi Abo
Masayoshi Takei
Kazuyasu Nonomura
Ryoichi 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 JP61222346A priority Critical patent/JPS6376015A/ja
Publication of JPS6376015A publication Critical patent/JPS6376015A/ja
Publication of JPH0464093B2 publication Critical patent/JPH0464093B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概要〕 マイクロプログラム方式の計算機システムにお
ける命令フエツチ方式であつて、主記憶装置から
マクロ命令をリードするためのマイクロ命令操作
時にページクロスが検出された場合、命令フエツ
チアドレスレジスタの内容の補正操作を行うこと
による余分の処理時間が必要となることを解決す
るため、ページクロスが検出された場合には命令
フエツチアドレスレジスタの値のプラス1カウン
トアツプを抑止するように構成することにより、
マイクロ命令による処理時間の短縮化が可能とな
る。
〔産業上の利用分野〕
本発明は、マイクロプログラム方式の計算機シ
ステムにおける命令フエツチ方式に関する。
マイクロプログラム方式の計算機システムにお
いてデータ処理を実行する場合、主記憶装置から
マクロ命令をリードして実行される。
この主記憶装置からマクロ命令をリードするに
当たつては、複数のマイクロ命令の操作により行
われる。
一方、最近のように処理内容が複雑になると、
かかる処理をより正確にしかもより短時間に実行
することが望まれるようになつて来た。
〔従来の技術〕
第4図は従来例を説明するブロツク図、第5図
は他の従来例を説明するブロツク図、第6図はペ
ージクロス内容を説明する図、第7図はページク
ロスの発生状況を説明する図をそれぞれ示す。
第5図は中央処理装置(以下CPUと称する)
1と主記憶装置2を備え、データ処理動作を制御
プログラムメモリ(図示していない)に格納され
ているマイクロプログラムに基づき制御する計算
機システムを示す。
このCPU1は固定小数点算術演算や論理演算
を行う算術論理演算ユニツト(以下ALUと称す
る)11と、 ALU11からの命令フエツチアドレスを保持
する命令フエツチアドレスレジスタ(以下IAと
称する)12と、 入力する複数のデータから1つを選択して送出
するマルチプレクサ(以下MPXと称する)13
〜15と、 MPX15が選択した内容(主記憶装置2をア
クセスするためのアドレス)を格納するアドレス
レジスタ(以下SARと称する)16と、 ALU11からIA12から演算し送出セツトさ
れる命令フエツチアドレスの前回値のプラス1デ
ータ値をALU11へ送出するプラス1回路17
と、 ALU11の出力からページクロス発生フラグ
をチエツクするフリツプフロツプ(以下F.Fと称
する)18等を具備して構成されている。
尚、符号aは他のALU出力を、符号b,cは
他から転送されて来たデータを格納しているレジ
スタの出力をそれぞれ示す。
第5図に示すようなマイクロプログラミング方
式の計算機システムにおいて、主記憶装置2から
マクロ命令(同一の原始言語で記述された一連の
命令文によつて置き換えることが出来る原始言語
中の命令)をリードする時、マイクロ命令で以下
の指示が必要である。
即ち、(1)IA12の内容をSAR16へセツトす
るための指示。(図中の(1)の指示) (2) IA12をALU11でカウントアツプするた
めの指示。(図中の(2)の指示) (3) ALU11でIA12をカウントアツプする
時、ページクロス(後述する)のチエツクをす
るための指示。(図中の(3)の指示) 尚、CPU1における命令の読出し、解釈及び
実行は、内部レジスタ(図示してない)間の転
送、主記憶装置2の始動、桁ずらし、加算器(図
示してない)の使用など数十種の基本動作の組合
わせによつて実現されている。
この基本動作を指定する命令を次々に制御プロ
グラムメモリ(図示してない)から読出して実行
することをプログラム的手段で行つた場合のプロ
グラムをマイクロプログラムと名付け、この時の
基本動作命令をマイクロ命令と称している。
又、マイクロ命令の操作において、IA12は
マクロ命令アドレス専用のアドレスレジスタとし
て使用されている。
前述の(1)項のマイクロ命令操作は、IA12の
内容をMAX15を介してSAR16(アドレスレ
ジスタ)へセツトするマイクロ命令であり、
SAR16の出力データは主記憶装置2のアドレ
スとなる。
尚、SAR16にはIA12以外のデータもセツ
トされるため、その入力信号は図示していない他
のレジスタの出力b,c、他のALU出力a等複
数の入力データをマルチプレクスしたものを用い
る。
次に、前述のページクロスとは以下の通りであ
る。即ち、仮想記憶方式の計算機システムにおい
て、主記憶装置2は、その効率的な利用を図るた
めに例えば2キロバイト又は2キロバイトのペー
ジと呼ばれる単位に分割される。
又、主記憶アドレスと仮想記憶アドレスとを対
応ずけるテーブルがCPU1内部又は主記憶装置
2内の固定領域に用意されている。このテーブル
には主記憶アドレスと仮想記憶アドレスとが第6
図Bに図示するようにページ単位で対応ずけられ
ている。
例えば、ページの単位が4キロバイトであれ
ば、第6図Aに示すように仮想記憶アドレスレの
“00100000”番地から“00100FFF”番地までが、
主記憶アドレスの“003000”番地から、
“003FFF”番地までに対応している場合、テー
ブルの内容は第6図Bに示すようになつている。
計算機システムにおいては、通常、マクロ命令
は連続したメモリ空間に置き、それをリードしマ
クロ命令の処理内容(ムーブ命令、ロード命令、
加算命令等)を解析し、それに対応する処理を行
う。
また、一般にマクロ命令のアドレスは、現在実
行中の主記憶アドレスにプラス1加算すれば次の
マクロ命令アドレスとなる。
しかし、プラス1加算されたアドレスが所定ペ
ージ単位(2キロバイトや4キロバイト等)を越
えてしまつた場合、その主記憶アドレスは全く異
なつた仮想記憶アドレスをリードしていることに
なる。
そのため、この時点では再度第6図Bに示すテ
ーブルを参照し、正しい主記憶アドレスを求めな
ければならない。この仮想記憶アドレスから主記
憶アドレスへの変換操作をアドレス変換と呼ぶ。
又、プラス1加算されたアドレスが所定ページ
単位を越えていることをページクロスと呼び、こ
のページクロスが発生していれば、現在実行中の
命令アドレスプラス1の主記憶アドレスを破棄
し、新たにテーブルを参照し主記憶アドレスを求
める。
ページクロスは一般的に主記憶アドレスをプラ
ス1する時、例えばページサイズが4キロバイト
であつた場合、第7図(1),(2)に示すように211
らのキヤリ(繰上げ)が発生して時にページクロ
スが発生していると判断すれば良い。
例えば、第7図(2),(3)に示すように
“0000FFF”をプラス1カウントアツプすると、
“0001000”となり、211からのキヤリ(繰上げ)
が発生しているため、ページクロスが発生してい
ることが分かる。
第5図に示すような上述の従来例で主記憶装置
2からマクロ命令をリードする時は、(1)項の処
理、(2)項の処理、(3)項の処理それぞれに所定のマ
イクロステツプを有し、それぞれに対応するマイ
クロ命令を指示する必要がある。
即ち、(1)項の処理ではIA12内に格納してい
るデータを選択してSAR16にセツトすること
を示すマイクロ命令を指示してやる必要がある。
この(1)項の処理において、もしIA12内に格
納しているデータを選択してSAR16にセツト
することを示すマイクロ命令のコーテイングミス
等により、IA12を選択しないないまま主記憶
装置2からデータを読取り、それをマクロ命令と
解釈して処理動作を行うと、プログラムの暴走、
関連レジスタの内容の破棄等の重大な障害が発生
する。
又、(2)項のマイクロ命令操作は前述のように、
IA12の値を次のマクロ命令アドレスにするた
めのALU11(汎用ALU)を用い、カウントア
ツプを行う操作を行うことになる。
即ち、マクロ命令アドレスは連続した主記憶装
置2上のアドレス(メモリアドレス)として割付
けられており、従つてそのアドレスをプラス1ず
つカウントアツプしてやれば良いことからALU
11を用い行つている。
しかし、ALU11は他の演算処理(例えば、
第一、第二オペランドの加算、減算、汎用レジス
タの加算、ビツト操作等)にも使用するため、
IA12のカウントアツプ時には他の演算処理が
出来なくなつてしまう等の不都合が生じている。
更に、(3)項のマイクロ命令操作は、(2)項の
ALU11操作時にALU11出力のキヤリフラグ
をページクロスチエツク用のF.F18にセツトす
る処理を実行する。
即ち、ALU11を用いる演算では、前述の通
り他の演算にも用いられるため、ALU11にお
けるどの加算処理時にページクロス検出(つま
り、命令アドレスの加算を行つていることを示
す)を行えばよいかを指示するマイクロ命令が必
要となる。
このようなページクロス検出を行うために別個
にマイクロ命令を必要とするために、マイクロス
テツプ数がそのぶん増加すると言う問題点等があ
つた。
従つて、これらの問題点の対策を講ずる方式と
して、第4図に示す方式が発明(本発明について
は、別途出願する予定)される到つた。
第4図に示すCPU20の構成は、第5図で説
明したMAX15,SAR16、プラス1回路17
と、 付加したハードウエア回路(プラス1回路1
7)にてその内容を順次プラス1して行くマクロ
命令アドレス専用のレジスタであるIA21と、 IA21の内容からページクロスを検出するペ
ージクロス検出回路22と ページクロス検出回路22からの出力がセツト
された場合には、その出力をオンにしてIA21
に送出するF.F23とを具備して構成されてい
る。
尚、CPU20から発生される実行命令中にマ
クロ命令をフエツチするためのマクロ命令(以下
RQF命令と称する)が新たに定義されている。
第4図に示す方式にてマクロ命令をリードする
RQF命令が指示された時、SAR16には強制的
にIA21の値(アドレス値)がセツトされ、IA
21の値(アドレス値)に従つた主記憶装置2の
リードが行われる。
この時、IA21からのキヤリフラグが発生し
たとする。即ち例えば、ページサイズが4キロバ
イトの場合、第7図に示すようにIA21の下位
12ビツトが全て‘1'の時、ページクロス検出回路
22にてページクロスが検出され、当該RQF命
令の終了時にF.F23へその状態のセツトが実行
される。
尚、この検出は次のマクロ命令のリードに対す
るページクロス検出となるもので、現在実行しよ
うとしているマクロ命令のリードのアドレスに対
するものではない。
ページクロス検出回路22にてページクロスが
検出されると前述のようにF.F23にセツトさ
れ、F.F23の出力(ページクロス信号)がオ
ンでIA21に送出される。
尚、ページクロス検出回路22にてページクロ
ス検出の有無に関係なく、RQF命令の終了時に
プラス1回路22によりIA21の内容がカウン
トアツプされ、次のマクロ命令に備える。
又、F.F23からページクロス信号がオンで
送出されていることは、IA21の次の値がペー
ジクロスとなつていることを検出していることを
示すものである。
〔発明が解決しようとする問題点〕
上述の第4図に示す方式では、ページクロスが
発生した後のRQF命令により、IA21の内容が
カウントアツプされると、ページクロスが発生し
たアドレスがプラス1されてしまう。
従つて、主記憶ページアドレスを第6図Bのテ
ーブルにてアドレス変換により取込んだ後、初め
にページクロスとなつた同一ページ内アドレス
は、ページクロス後のRQF命令が指示される前
のアドレスにIA21の内容を補正しなければな
らない。
補正方法として、例えばマイナス1の演算を行
えばよいが、このためにはIA21にカウントダ
ウン機能を追加したり、汎用ALUを用いてナイ
ナス1の減算を指示する操作が必要となる。
これらの補正方法はハードウエアの増加、マイ
クロステツプの増加、他の演算処理の遅延等が発
生する要因となる。
〔問題点を解決するための手段〕
第1図は本発明の原理を説明するブロツク図を
示す。
第1図に示す本発明の原理ブロツク図は、第4
図で説明した主記憶装置2と下記に説明する
CPU20′とから構成されている。
本発明になるCPU20′は、第4図で説明した
機能ブロツク15〜17,21〜23と、 ページクロス検出回路22にてページクロスを
検出した時に送出されるページクロス信号がオ
ンすると、プラス1回路17によるIA21のカ
ウントアツプを抑止させる歩進抑止制御手段(歩
進抑止制御部)24とを具備して構成されてい
る。
〔作用〕
ページクロス検出を行うためのマイクロ命令操
作及びIA21に格納しているアドレス値のカウ
ントアツプのためのマイクロ命令操作がハードウ
エアで実行されており、更にこの方式における
RQF命令操作時にページクロスが検出された場
合は、ハードウエアによりIA21に格納してい
るアドレス値のカウントアツプを抑止するように
構成することにより、マイクロ命令数とマイクロ
ステツプ数が削減され、処理時間のより短縮化が
可能となる。
〔実施例〕
以下本発明の要旨を第2図,第3図に示す実施
例により具体的に説明する。
第2図は本発明の実施例を説明するブロツク
図、第3図は本発明の実施例における処理動作を
説明する図をそれぞれ示す。尚、全図を通じて同
一符号は同一対象物を示す。
本発明の実施例における歩進抑止制御部24
は、F.F23にマクロ命令をフエツチするための
RQF命令操作時に検出しセツトされているペー
ジクロス信号をAND26に伝えるインバータ
25と、 図示していない回路で作成する所定周期のクロ
ツク信号と、インバータ25を介した*ページ
クロス信号(ページクロス信号の逆移相信
号)との論理積を取り、IA21の値をプラス1
カウントアツプするためのセツトクロツク信号
を送出するAND26とを具備して構成されてい
る。
本実施例において、ページクロス発生が検出さ
れていない場合は、マクロ命令をフエツチするた
めのRQF命令の終了時に、クロツク信号に同
期したセツトクロツク信号がIA21に入力し、
これによりIA21の値(アドレス値)をプラス
1回路17によりカウントアツプし、次のマクロ
命令に備えている。
一方、本実施例においてページクロス発生が検
出された場合は、ページクロス信号がオンとな
りインバータ25を介してAND26に送出され、
AND26の論理積演算によりセツトクロツク信
号がオフとなるため、IA21のカウントアツ
プが抑止される。
例えば第6図Aの主記憶アドレスの
“003FFF”でページクロスが発生したことが検
出されると、その検出期間中にIA21のアドレ
スは+1されて次の“003000”になり、その時点
でセツトクロツク信号がオフとなりIA21の
カウントアツプは抑止される。
ここで、IA21のページアドレスのみを第6
図Bのテーブルを参照して“003”から新しいペ
ージアドレスの“001”に変えれば、新ページア
ドレス001の先頭アドレス000即ち
“001000”から再開することができる。
この状況を示す第3図のタイムチヤートにおい
ては、F.F23からページクロス信号がオンで
送出されているため、IA21の次の値がページ
クロスとなつていることを検出している。
即ち、F.F23からのページクロス信号は、
RQF命令1ではIA21の値(アドレス)を直接
SAR16にセツトし、その値(アドレス)で主
記憶装置2をアクセスしてならないことを通知し
ており、RQF命令2ではIA21の値(アドレス)
のカウントアツプがなされないことになる。
この場合は、あらためて第6図Bに示すテーブ
ルを参照して、対応する主記憶装置2のアドレス
をIA21にセツトすることになる。
〔発明の効果〕
以上のような本発明によれば、マイクロ命令数
とマイクロステツプ数が削減され、処理時間のよ
り短縮化が実現されると言う効果がある。
【図面の簡単な説明】
第1図は本発明の原理を説明するブロツク図、
第2図は本発明の実施例を説明するブロツク図、
第3図は本発明の実施例における処理動作を説明
する図、第4図は従来例を説明するブロツク図、
第5図は他の従来例を説明するブロツク図、第6
図はページクロス内容を説明する図、第7図はペ
ージクロスの発生状況を説明する図、をそれぞれ
示す。 図において、1,20,20′はCPU、2は主
記憶装置、11はALU、12,21はIA、13
〜15はMPX、16はSAR、17はプラス1回
路、18,23はF.F、22はページクロス検出
回路、24は歩進抑止制御部(歩進抑止制御手
段)、25はインバータ、26はAND、をそれぞ
れ示す。

Claims (1)

  1. 【特許請求の範囲】 1 所定バイトからなるページ単位にその容量が
    分割されている主記憶装置2と、 所定メモリに格納されているマイクロプグラム
    に基づきデータ処理動作の制御を行う中央処理装
    置20′と、 前記主記憶装置2の主記憶アドレスと仮想記憶
    アドレスとを対応づけるテーブルとを具備し、前
    記中央処理装置20′から発生される実行命令中
    にマクロ命令をフエツチするためのマイクロ命令
    が定義されている計算機システムにおいて、 マクロ命令アドレス専用のレジスタである命令
    フエツチアドレスレジスタ21と、 命令フエツチ用のマイクロ命令が発生すると、
    前記命令フエツチアドレスレジスタ21の内容を
    セツトするアドレスレジスタ16と、 前記命令フエツチアドレスレジスタ21の内容
    からページクロスを検出するページクロス検出回
    路22と、 前記命令フエツチアドレスレジスタ21の内容
    をマイクロ命令発行時に自動的にプラス1するプ
    ラス1回路17とを具備して構成される前記中央
    処理装置20′内に、 前記ページクロス検出回路22にてページクロ
    スを検出した時に送出されるページクロス信号
    を確認すると、前記プラス1回路17のカウント
    アツプを抑止させる歩進抑止制御手段24を設
    け、 マクロ命令フエツチのため、命令フエツチ用の
    マイクロ命令を前記中央処理装置20′から発生
    し、前記ページクロス検出回路22にてページク
    ロスの発生が検出されると、前記プラス1回路1
    7による該命令フエツチアドレスレジスタ21の
    アドレスのプラス1カウントアツプを抑止するこ
    とを特徴とする命令フエツチ制御装置。
JP61222346A 1986-09-19 1986-09-19 命令フェッチ制御装置 Granted JPS6376015A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61222346A JPS6376015A (ja) 1986-09-19 1986-09-19 命令フェッチ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61222346A JPS6376015A (ja) 1986-09-19 1986-09-19 命令フェッチ制御装置

Publications (2)

Publication Number Publication Date
JPS6376015A JPS6376015A (ja) 1988-04-06
JPH0464093B2 true JPH0464093B2 (ja) 1992-10-13

Family

ID=16780900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61222346A Granted JPS6376015A (ja) 1986-09-19 1986-09-19 命令フェッチ制御装置

Country Status (1)

Country Link
JP (1) JPS6376015A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5543635A (en) * 1978-09-22 1980-03-27 Hitachi Ltd Data processor of microprogram control
JPS5582356A (en) * 1978-12-15 1980-06-21 Toshiba Corp Pre-fetch control system
JPS6051947A (ja) * 1983-08-31 1985-03-23 Toshiba Corp 仮想記憶計算機における命令先取方式

Also Published As

Publication number Publication date
JPS6376015A (ja) 1988-04-06

Similar Documents

Publication Publication Date Title
US3533082A (en) Instruction retry apparatus including means for restoring the original contents of altered source operands
US3564506A (en) Instruction retry byte counter
US4488227A (en) Program counter stacking method and apparatus for nested subroutines and interrupts
JP3592230B2 (ja) データ処理装置
US4016545A (en) Plural memory controller apparatus
JPS592143A (ja) 情報処理装置
EP0213842A2 (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
JPH0545985B2 (ja)
US3988719A (en) Microprogrammed data processing systems
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
JPH02130634A (ja) プロセッサシステム、コンピュータシステム及び命令処理方法
CA1093214A (en) Microprogram address dualing
US4562538A (en) Microprocessor having decision pointer to process restore position
US4446517A (en) Microprogram memory with page addressing and address decode in memory
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US4691282A (en) 16-bit microprocessor system
JPH0658630B2 (ja) データ処理装置
JPS5838819B2 (ja) デ−タ処理システム用制御ファイル装置
US4107774A (en) Microprogram splatter return apparatus
WO1984000833A1 (en) Pre-execution next address calculating mechanism
JPH0377137A (ja) 情報処理装置
JPS6376015A (ja) 命令フェッチ制御装置
JPS6242301B2 (ja)
US5093784A (en) Data processor with efficient transfer between subroutines and main program
EP0419174A2 (en) Data processing apparatus based on microprogram control