JPS63149735A - 命令フェッチ制御方法 - Google Patents

命令フェッチ制御方法

Info

Publication number
JPS63149735A
JPS63149735A JP61298041A JP29804186A JPS63149735A JP S63149735 A JPS63149735 A JP S63149735A JP 61298041 A JP61298041 A JP 61298041A JP 29804186 A JP29804186 A JP 29804186A JP S63149735 A JPS63149735 A JP S63149735A
Authority
JP
Japan
Prior art keywords
instruction
macro
flag
address
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.)
Granted
Application number
JP61298041A
Other languages
English (en)
Other versions
JPH0528409B2 (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 JP61298041A priority Critical patent/JPS63149735A/ja
Publication of JPS63149735A publication Critical patent/JPS63149735A/ja
Publication of JPH0528409B2 publication Critical patent/JPH0528409B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 マイクロプログラミング方式の計算機における命令フェ
ッチ方式であって、ファームウェアに基づくマクロ命令
フェッチの処理速度の向上のために、ワードバウンダリ
に対応した命令バッファと、その命令バッファに有効な
マクロ命令が存在するか否かを示すフラグを持ち、マク
ロ命令フェッチのためのマイクロ命令が発行された時の
フラグが無効/有効により、マクロ命令フェッチの処理
を対応させるように構成することにより、マクロ命令フ
ェッチの処理速度の向上及びファームウェアへの負荷軽
減が可能となる。
〔産業上の利用分野〕
本発明は、マイクロプログラミング方式の計算機におけ
る命令フェッチ方式に関する。
一般に、計算機ではマクロ命令(原始言語中における1
つの命令)は主記憶メモリ上に置かれ、1つのマクロ命
令をフェッチするためには、主記憶メモリから読取らな
ければならない。
主記憶装置を構成する主記憶メモリは、一般的にグイナ
ミソクRAM(Randam Access Memo
ry)等が用いられており、そのアクセスタイムは中央
処理装置(以下cpuと称する)の処理速度より遅い。
そこで、CPUは2〜6サイクルかけてマクロ命令を主
記憶メモリからアクセスするように構成されている。
又、主記憶メモリとCPuとのデータバス幅は4バイト
になっており、1回の主記憶メモリアクセスで4バイト
幅の命令を命令バッファにフェッチ出来るようになって
いる。
しかし、ファームウェアで読取るマクロ命令は1バイト
ずつなので、命令バッファ中のどの部分まで使用したか
をファームウェアで意識しなければならない。
又、仮想記憶方式の計算機において主記憶メモリアドレ
ス(物理アドレス)は、プログラムで意識出来る論理ア
ドレスをアドレス変換して得ている。
アドレス変換の操作は通常、TLB(Translat
ionLookaside Buffer)と呼ばれる
変換テーブルを参照して行われている。このアドレス変
換を行うと物理アドレスは大きく変化する可能性がある
命令バッファには連続したアドレスのマクロ命令が入っ
ているため、アドレス変換によって物理アドレスが不連
続に変化した時には命令バッファ内のマクロ命令は無効
化しなければならない。
このため、アドレス変換後にファームウェアでフラグを
オフにしなければならない。これらのファームウェアの
動作はプログラムステップ数の増加、処理の低速化の要
因となっている。
従って、かかるファームウェアに掛かる負荷を軽減し、
その処理速度がより迅速となる命令フェッチ方式が要望
されている。
〔従来の技術〕
第4図は従来例を説明するブロック図を示す。
第4図はマイクロプログラミング方式の計算機の演算処
理機能を有するCPUIと、主記憶メモリを構成する主
記憶装置2と、アドレス変換の操作時に参照する変換テ
ーブル(以下TLBと称する)10とから構成されてい
る。
又、CPUIは固定小数点算術演算や論理演算を行う算
術論理ユニット(以下ALUと称する)3と、AlO2
から送出される命令フェッチアドレスを保持する命令フ
ェッチアドレスレジスタ(以下iAと称する)4と、 主記憶装置2をアクセスするためのアドレスを格納する
アドレスレジスタ(以下SARと称する)5と、 主記憶装置2の物理アドレスを得るために、TLBIO
を参照するための命令(以下これをTQF命令と称する
)をセットするマイクロインストラクションレジスタ(
以下MiRと称する)6と、主記憶装置2から読出した
命令を保持する命令バッファ(以下iBと称する)7と
、 複数の入力信号から1つを選択して送出するマルチプレ
クサ(以下MPXと称する) 8a〜8dと、MPX8
dにて選択したデータを格納するレジスタ9とを具備し
て構成されている。
第4図に示すハードウェアを動作させるためには、所定
のファームウェアにて処理され、このファームウェアに
基づ〈従来例の動作を以下説明する。
まず、ファームウェアに基づきマクロ命令をフェッチす
る時、そのマクロ命令がiB7に存在するのか主記憶装
置2内主記憶メモリに存在するのかは、その時のiA4
の値による。
即ち、iA4は次にフェッチすべきマクロ命令アドレス
を示しており、そのアドレスの下位2ビツトが、例えば
“11゛ ならば、次にフェッチすべきマクロ命令は主
記憶装置2内主記憶メモリ上にあり、 “11”以外な
らば次にフェッチすべきマクロ命令はiB7に存在する
尚、iB7はワードバウンダリ(語長の整数倍で指定さ
れる記憶領域内のアドレス)の命令をセットするラッチ
である。
上述のように、iA4の下位2ビツトの値を知るため、
更にiA4のカウントアツプ及び変更のために、iA4
の出力はAlO2の片側の例えばMPX8bの入力側に
接続される。
従って、例えばAlO2の論理演算〈“OO・・・01
1′と論理積する等)で、下位2ビツトの値が分かる。
このようにして、iA4の下位2ビツトの値により判定
された結果、iB7に命令が存在していればiB7から
命令を取り込むためマクロ命令をフェッチするためのマ
イクロ命令(以下これをRQF命令と称する)は発行せ
ず、iB7に命令が存在しなければ主記憶装置2内主記
憶メモリから命令を取り込むため、RQF命令を発行す
る。
尚、上述の主記憶装置2内主記憶メモリからの命令の読
取りは、MiR6内の所定位置にRQF命令がセットさ
れた時点でその出力がオンとなり、RQF命令によりM
iR6からのメモリリクエスト信号■がオンとなり、主
記憶装置2内主記憶メモリに対し、5AR5からのアド
レス(アドレスバス■を通じて運ばれる)によりアクセ
スしている。
同様に、TQF命令もMiR6内の所定位置にセットさ
れ、TQF命令によりTLB参照信号■がオンとなり、
↑LBIOに対してアドレス変換の要求を、5AR5に
論理アドレスをセットした後実行する。
その結果の物理アドレス■はMPX8cを介して5AR
5ヘセツトされる。その後の物理アドレス■を用いたマ
クロ命令フェッチの動作は上述の通りである。
〔発明が解決しようとする問題点〕
上述の動作処理の場合、iB7内のデータがどこまで使
われているかをファームウェアで意識するため、命令フ
ェッチアドレスが連続的に続いている場合に、命令フェ
ッチアドレスの下位2ビツトが“11′から“00゛に
なった時、その“00゛ のアドレスの命令はiBT内
には無いと判断し、マクロ命令フェッチのためのマイク
ロ命令(即ち、RQF命令)を新たに発行するようにし
なければならなかった。
又、アドレス変換を行うTQF命令発行後もiBT内に
は命令が無いと判断しなければならなかった。
そのため、これらのファームウェアの動作はプログラム
ステップ数の増加、処理の低速化の要因となっていた。
〔問題点を解決するための手段〕
第1図は本発明の詳細な説明するブロック図を示す。
第1図に示す本発明の原理ブロック図は、第4図で説明
した機能ブロック2.10と、下記に説明するCPU5
0とから構成されている。
又、CPU50は第4図で説明した機能ブロック3゜5
〜7と、 1つの一マクロ命令処理が終了すると、次のマクロ命令
に備えるためにヤクロ命令アドレスをプラス1ずつカウ
ントアンプして行<iAAlI3、iB7の内容が有効
か無効かを示すフラグ■を作成すると共に、このフラグ
■の内容によりハードウェアで主記憶装置2をアクセス
するか否かを判断するフラグ作成手段(フラグ作成部・
)12と、フラグ作成手段(フラグ作成部) 12で発
生するフラグ■のインバート信号と、MiR6にRQF
命令がセットされ、その出力がオンとなったことの論理
積条件を取り、メモリリクエスト信号■を送出するAN
D13とを具備して構成されている。
〔作用〕
ファームウェアがマクロ命令フェッチのため、命令フェ
ッチ用のRQF命令を出した時、フラグ作成手段(フラ
グ作成部)12で発生するフラグ■が無効の場合は、主
記憶装置2まで所望の命令を含むワードバウンダリのデ
ータを読取り、i87にセットし、フラグ■が有効の場
合はiB7から所望の命令を選ぶ。
次に、iA4の内容をプラス1回路11aでカウントア
ツプして次のRQF命令に備え、その次RQF命令に対
して有効な命令がiB7にあるか否かを判定し、次RQ
F命令のためにフラグ■を更新する。
更に、マクロ命令フェッチのため、命令の論理アドレス
をアドレス変換するためにT叶命令を出すと、フラグ■
をオフにするように構成することにより、簡単なハード
ウェア構成でファームウェアへの負荷を軽減し、しかも
その処理の高速化が可能となる。
〔実施例〕
以下本発明の要旨を第2図、第3図に示す実施例により
具体的に説明する。
第2図は本発明の詳細な説明するブロック図、第3図は
本発明の実施例における処理状況を説明する図をそれぞ
れ示す。尚、全図を通じて同一符号は同一対象物を示す
本実施例のIAAlI3、第4図で説明したiA4とi
A4の値をプラス1するプラス1回路11aとからなっ
ている。
又、フラグ作成部12はiAd内下位2ビットのNAN
D条件を取るNAND回路12aと、NAND回路12
aの出力をラッチするF、F回路12bと、F、F回路
12bの出力をインバートするインバータ12cと、T
QF 参照信号■の条件を論理和演算する0R12dと
からなっている。
尚、F、F回路12bの出力がiB7に有効なマクロ命
令が存在するか否かを示すのがフラグであり、以下iB
V■で表示する。又、このCK端子に入力するCLKは
図示してない回路で発生するシステムクロック■を示す
本実施例において、例えばiAd内下位2ビットの値が
“11°になった時、フラグ作成部12内F、F回路1
2bの出力であるiBV■をオフにし、−1Ad内下位
2ビットの値が“11”以外であれば、iBV■をオン
にする。
更に、TQF命令力<MiR6にセットされた時は、無
条件にiBV■はオフされる。
このiBν■の信号はインバータ12cを介して静01
3の一方の入力端子に入力され、もう一方の入力端子に
は旧R6にRQF命令がセットされた時オンとなる信号
が入力し、このAND13の出力がメモリリクエスト信
号■として送出される。
尚、MiR6には第3図で示すようにRQF命令が連続
して発行されている。又、第3図にはiA4の下位2ビ
ツトの値のみが示されている。
この第3図(A)のタイチャートによると、(1)のR
QF命令実行時、iへ4の値が2 (iA4 =2)と
すると、(2)のRQF命令実行時には1A4=3とな
る。
又、(3)のRQF命令実行時にはi^4=Oi4)の
RQF命令実行時には1A4=1になる。
ここで、(2)のRQF命令実行時には1A4=3であ
るため、次のRQF命令実行である(3)のRQF命令
実行時にはiBA■はオフとなる。即ち、(3)のRQ
F命令に対するマクロ命令は、iB7には存在しないこ
とをことを示している。
従って、(3)のRQF命令は主記憶装置2内主記憶メ
モリまで所望のマクロ命令を読取りに行くため、メモリ
リクエスト信号■がオンとなる。又、RQF命令により
iA4の値は自動的に5AR5にセットされるようにM
PX8cが駆動される。
次に、TQF命令発行時の処理を第3図(B)に基づき
説明する。
TQF命令がMiR6の所定個所にセットされるとiB
V■はオフとなり、(1)のRQP命令はiB7の値に
はかかわりなくメモリリクエスト信号■がオンとなる。
(11のRQF命令の主記憶装置2内主記憶メモリアド
レスはTLBIOで変換された物理アドレスである。
但し、iA4の下位ビットには論理ページ内アドレスが
セットされており、iA4のページ内アドレスは正しい
メモリアドレスを示している。
従って、iA4の下位2ビツトで示されるMPX8dの
選択は正しいマクロ命令を選択すことになる。
第3図(B)に示す例えば、(11のRQF命令発行時
1A4=2であったため、iBV■は1サイクル間のみ
オフとなっているが、もしく1)のRQF命令発行時i
^4=3であれば、連続して2サイクルの間、iBV■
はオフとなる。
このように、本実施例におけるファームウェアは、iB
7に有効データがあるなしにかかわらず、RQF命令を
出していれば良いため効率の良いファームウェアが実現
可能である。
又、余分なマイクロステップを必要としないために処理
速度の向上も可能となる。
〔発明の効果〕
以上のような本発明によれば、簡単なハードウェア構成
でファームウェアへの負荷を軽減し、しかもその処理の
高速化が出来る。
【図面の簡単な説明】
第1図は本発明の詳細な説明するブロック図、第2図は
本発明の詳細な説明するブロック図、第3図は本発明の
実施例における処理状況を説明する図、 第4図は従来例を説明するブロック図、図において、 1.50はcpu、       2は主記憶装置、3
はALtl 、         4はt A %5は
SAR、6はMiR% 7はiB、          8a〜8dはMPX 
。 9はレジスタ、     11はiA部、11aはプラ
ス1回路、  12はフラグ作成部、12aはNAND
、        12bはF、F回路、12cはイン
バータ、    12dはOR。 13はAND、 をそれぞれ示す。 リ〔来会1を言免明すうブbツ22 第4 凹

Claims (1)

  1. 【特許請求の範囲】 主記憶メモリ(2)を有し、マイクロプログラムを使用
    して前記主記憶メモリ(2)に対するアクセスを行う中
    央処理装置(50)を備えてなる計算機において、 ワードバウンダリに対応した命令バッファ(7)と、 前記主記憶メモリ(2)をアクセスするためのアドレス
    を格納するアドレス格納手段(5)と、マクロ命令フェ
    ッチのための命令フェッチアドレス保持手段(11)と
    、 前記命令バッファ(7)の内容が有効か無効かを示すフ
    ラグ([6])を前記命令フェッチアドレス保持手段(
    11)の内容により作成するフラグ作成手段(12)と
    を具備し、 更に、マクロ命令をフェッチするための第1のマイクロ
    命令と、 命令用の変換テーブル(10)を参照する第2のマイク
    ロ命令とを定義し、 前記計算機のファームウェアにてマクロ命令フェッチの
    ため、命令フェッチ用の前記第1のマイクロ命令を出し
    た時、前記フラグ([6])の有効/無効を判定し、前
    記フラグ([6])が有効の場合と無効の場合とに応じ
    て該命令フェッチ処理を実行することを特徴とする命令
    フェッチ方式。
JP61298041A 1986-12-15 1986-12-15 命令フェッチ制御方法 Granted JPS63149735A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61298041A JPS63149735A (ja) 1986-12-15 1986-12-15 命令フェッチ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61298041A JPS63149735A (ja) 1986-12-15 1986-12-15 命令フェッチ制御方法

Publications (2)

Publication Number Publication Date
JPS63149735A true JPS63149735A (ja) 1988-06-22
JPH0528409B2 JPH0528409B2 (ja) 1993-04-26

Family

ID=17854355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61298041A Granted JPS63149735A (ja) 1986-12-15 1986-12-15 命令フェッチ制御方法

Country Status (1)

Country Link
JP (1) JPS63149735A (ja)

Citations (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
JPS6051947A (ja) * 1983-08-31 1985-03-23 Toshiba Corp 仮想記憶計算機における命令先取方式
JPS61250754A (ja) * 1985-04-30 1986-11-07 Fujitsu Ltd 簡易型キヤツシユメモリ

Patent Citations (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
JPS6051947A (ja) * 1983-08-31 1985-03-23 Toshiba Corp 仮想記憶計算機における命令先取方式
JPS61250754A (ja) * 1985-04-30 1986-11-07 Fujitsu Ltd 簡易型キヤツシユメモリ

Also Published As

Publication number Publication date
JPH0528409B2 (ja) 1993-04-26

Similar Documents

Publication Publication Date Title
US5155817A (en) Microprocessor
US5263153A (en) Monitoring control flow in a microprocessor
JPH02190930A (ja) ソフトウエア命令実行装置
GB2200484A (en) Detecting and handling memory-mapped i/o by a pipelined computer
US4980819A (en) Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
JPH0135367B2 (ja)
US5386519A (en) Information processing apparatus incorporating buffer storing a plurality of branch target instructions for branch instructions and interrupt requests
JP2575219B2 (ja) データ処理システム及びその命令実行を促進する方法
JPH0766365B2 (ja) コ・プロセツサ制御方式
EP0010197B1 (en) Data processing system for interfacing a main store with a control sectron and a data processing section
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US5392441A (en) Pump bus to avoid indeterminacy in reading variable bit field
JP2000231550A (ja) マイクロプロセッサ
JPS63149735A (ja) 命令フェッチ制御方法
JP2680828B2 (ja) ディジタル装置
US5197133A (en) Control store addressing from multiple sources
CN113885943A (zh) 处理单元、片上系统、计算装置及方法
JPS63149733A (ja) 命令フェッチ制御装置
JPH0524537B2 (ja)
JPS63293638A (ja) データ処理装置
JPH0212358A (ja) データ転送方式
JPH0194435A (ja) 命令フェッチ方式
JPS6252334B2 (ja)
WO2020175074A1 (ja) 中央演算処理装置
JPH04340145A (ja) キャッシュメモリ装置