JPH01283635A - バッファ制御回路 - Google Patents

バッファ制御回路

Info

Publication number
JPH01283635A
JPH01283635A JP63114386A JP11438688A JPH01283635A JP H01283635 A JPH01283635 A JP H01283635A JP 63114386 A JP63114386 A JP 63114386A JP 11438688 A JP11438688 A JP 11438688A JP H01283635 A JPH01283635 A JP H01283635A
Authority
JP
Japan
Prior art keywords
instruction
buffer
branch
operand
data
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.)
Pending
Application number
JP63114386A
Other languages
English (en)
Inventor
Atsushi Yamazaki
篤 山崎
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63114386A priority Critical patent/JPH01283635A/ja
Priority to CA000599082A priority patent/CA1317384C/en
Priority to FR8906186A priority patent/FR2631471B1/fr
Publication of JPH01283635A publication Critical patent/JPH01283635A/ja
Priority to US07/837,607 priority patent/US5151980A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 1丘立ヱ 本発明はバッファ制御回路に関し、特にオペランドバッ
ファと命令先取り用の命令バッファとを備える情報処理
装置に用いられるバッファ制御回路に関する。
良米五韮 従来、バッファ制御回路は、第2図に示すように、オペ
ランドバッファ21と、命令バッファ22と、オペラン
ドバッファ制御回路23と、命令バッファ制御回路24
と、オペランドデータ整列回路15と、命令データ整列
回路16とを含んで構成されている。
命令で指定される主記憶上のオペランドデータは主記憶
装置(図示せず)から読出され、主記憶読出しデータ1
01としてオペランドバッファ21に送られてくる。オ
ペランドバッファ21では主記憶読出しデータ101と
ともに送られてきたオペランドデータ格納指示信号10
2により、オペランドバッファ制御回路23からのオペ
ランドバッファ書込みアドレス112で指定されるアド
レスにこの主記憶読出しデータ101が格納される。
オペランドバッファ21に格納されたオペランドデータ
は、オペランドバッフ1He11回路23がらのオペラ
ンドバッファ読出しアドレス114で指定されるアドレ
スから読出され、オペランドバッファ出力信号108と
してオペランドデータ整列回路15に出力される。
オペランドデータ整列回路15ではオペランドバッファ
制御回路23からのオペランドデータ整列指示信号11
0によりオペランドバッファ21からのオペランドバッ
ファ出力信号10gを整列して、その整列結果をオペラ
ンドデータ106として図示せぬ演算装置に送出する。
主記憶上の命令データは主記憶装置から読出され、主記
憶読出しデータ101として命令バッファ21に送られ
てくる。命令バッファ22では主記憶読出しデータ10
1とともに送られてきた命令データ格納指示信号103
により、命令バッファ制御回路24からの命令バッファ
書込みアドレス113で指定されるアドレスにこの主記
憶読出しデータ101が格納される。
命令バッファ22に格納された命令データは、命令バッ
ファ制御回路24に入力される命令デコード信号104
が分岐命令以外の命令を示すときには、命令バッファ制
御回路24からの命令バッファ読出しアドレス115で
指定されるアドレスから読出され、命令バッファ出力信
号109として命令データ整列回路16に出力される。
命令データ整列回路16では命令バッファ制御回路24
からの命令データ整列指示信号111により命令バプフ
ァ22からの命令バヅファ出力信号109を整列して、
その整列結果を命令データ107として演算装置に送出
する。
命令バッファ制御回路24への命令デコード信号104
が分岐命令を示すときに、演算装置からの分岐条件成立
信号105が分岐条件不成立を示していれば、命令バッ
ファ制御口1i24は命令バッフT読出しアドレス11
5を命令バッファ22に出力するとともに、命令データ
整列指示信号111を命令データ整列回路16に出力す
る。
命令データ整列回路16では命令バッファ制御口#12
4からの命令データ整列指示信号111により命令バッ
ファ22からの命令バッファ出力信号109を整列して
、その整列結果を命令データ107として演算装置に送
出する。
一方、演算装置からの分岐条件成立信号105が分岐条
件成立を示していれば、命令バッファ書込みアドレス1
13と命令バッファ読出しアドレス115とを初期値に
するとともに、分岐先の命令データを読出すために読出
し指示信号116を主記憶装置に出力する。
主記憶装置からこの読出し指示信号116により分岐先
の命令データが読出されて命令バッファ21に格納され
た後に、命令バッファ制御回路24からは命令バッファ
読出しアドレス115が命令バッファ22に出力される
とともに、命令データ整列指示信号111が命令データ
整列回路16に出力され、命令データ整列回路16で整
列された命令バッファ22からの命令バッファ出力信号
109が命令データ101として演算装置に送出される
このような従来のバッファ制御回路では、分岐命令を処
理する場合に、演算装置からの分岐条件成立信号105
により分岐条件の成立が確定するまで、主記憶装置から
分岐先の命令データを取出すことができないので、分岐
命令の実行効率が低くなるという欠点がある。
1匪血旦ヱ 本発明は上記のような従来のものの欠点を除去すべくな
されたもので、分岐命令の実行効率を向上させることが
できるバッファ制御回路の提供を目的とする。
及jし11戊 本発明によるバッファ制御回路は、オペランドデータを
格納するオペランドバッファと、先取りされた命令デー
タを格納する命令バッファとを有する情報処理装置のバ
ッファ制御回路であって、命令デコード信号が分岐命令
であるとき、主記憶から分岐先の命令データを読出して
前記オペランドバッファに書込む書込み手段と、前記分
岐命令の条件が成立したことが通知されたとき、前記書
込み手段により前記オペランドバッファに書込まれた前
記分岐先の命令データを読出して演算装置に出力する出
力手段とを設けたことを特徴とする特に里贋 次に、本発明の一実施例について図面を参照して説明す
る。
第1図は本発明の一実施例の構成を示すブロック図であ
る6図において、本発明の一実施例によるバッファ制御
回路は、バッファ回路1.2と、オペランドバッファ制
御回路3と、命令バッファ制御回FI@4と、バッファ
切替え回路5と、バッファ切替えフリップフロップ(以
下バッファ切替えFFとする)6と、選択回1i7〜1
4と、オペランドデータ整列回路15と、命令データ整
列回路16とを含んで構成されている。
バッファ回路1,2は夫々図示せぬ主記憶装置から送ら
れてきた主記憶読出しデータ101が入力され、選択回
路7.8からの格納指示信号により選択回F!89.1
0からのアドレス信号で指定されるアドレスにオペラン
ドデータまたは命令データが格納される。
また、選択回路11.12からのアドレス信号で指定さ
れるアドレスから読出されたバッファ回路1.2のバッ
ファ出力信号108,109は選択回路13.14に夫
々出力され、選択回路13.14で選択されてオペラン
ドデータ整列回路15まなは命令データ整列回路16に
入力される。
オペランドバッファ制御回路3はオペランドバッファ書
込みアドレス信号112を選択回路9.10に出力し、
またオペランドバッファ読出しアドレス信号114を選
択回路11.12に出力するとともに、オペランドデー
タ整列指示信号110をオペランドデータ整列回路15
に出力する。
命令バッファ制御回路4は命令バッファ書込みアドレス
信号113を選択回路9.10に出力し、また命令バッ
ファ読出しアドレス信号115を選択回路11.12に
出力するとともに、命令データ整列指示信号111を命
令データ整列回路16に出力する。
バッファ切替え回路5は命令デコード信号104と図示
せぬ演算装置からの分岐条件成立信号105とを入力し
、読出し指示信号116を主記憶装置に出力するととも
に、バッファ切替えフリップフロップ更新指示信号11
7をバッファ切替えFF6に出力する。
バッファ切替えFF6はバッファ切替え指示信号118
を選択回路7〜14に出力し、バッファ切替え回路5か
らのバッファ切替えフリップフロップ更新指示信号11
7によりその保持する内容が反転される。
選択回路7.8は主記憶装置からのオペランドデータ格
納指示信号102と命令データ格納指示信号103との
うち一方をバッファ切替えFF6からのバッファ切替え
指示信号118により選択し、その選択した信号を格納
指示信号としてバッファ回路1.2に出力する。ここで
、選択回路7がオペランドデータ格納指示信号102を
選択するときには、選択回路8は命令データ格納指示信
号103を選択するようになっており、この逆の場合に
も同様にして、選択回路7.8では夫々異なる信号が選
択される。
選択回路9.10はオペランドバッファ制御回路3から
のオペランドバッファ書込みアドレス信号112と、命
令バッファ制御回路4からの命令バッファ書込みアドレ
ス信号113とのうち一方をバッファ切替えFF6から
のバッファ切替え指示信号118により選択し、その選
択した信号を書込みアドレス信号としてバッファ回路1
.2に出力する。ここで、選択回路9がオペランドバッ
ファ書込みアドレス信号112を選択するときには、選
択回路10は命令バッファ書込みアドレス信号113を
選択するようになっており、この逆の場合にも同様にし
て、選択回路9.10では夫々異なる信号が選択される
選択回路11.12はオペランドバッファ制御回路3か
らのオペランドバッファ読出しアドレス信号114と、
命令バッファ制御回路4からの命令バッファ読出しアド
レス信号115とのうち一方をバッファ切替えFF6か
らのバッファ切替え指示信号118により選択し、その
選択した信号を読出しアドレス信号としてバッファ回路
1.2に出力する。ここで、選択回路11がオペランド
バッファ読出しアドレス信号114を選択するときには
、選択回路12は命令バッファ読出しアドレス信号11
5を選択するようになっており、この逆の場合にも同様
にして、選択回路11゜12では夫々異なる信号が選択
される。
選択回路13はバッファ回路1.2夫々からのバッファ
出力信号108,109のうち一方をバッファ切替えF
F6からのバッファ切替え指示信号118により選択し
、その選択した信号をオペランドバッファ出力信号とし
てオペランドデータ整列回路15に送る。また、選択回
路14はバッファ回路1.2夫々からのバッファ出力信
号108,109のうち一方をバッファ切替えFF6か
らのバッファ切替え指示信号118により選択し、その
選択した信号を命令バッファ出力信号として命令データ
整列回路16に送る。
オペランドデータ整列回路15はオペランドバッファ制
御回路3からのオペランドデータ整列指示信号110に
より選択回路13からのオペランドバッファ出力信号を
整列し、その整列結果をオペランドデータ106として
演算装置に送出する。
命令データ整列回路16は命令バッファ制御回路4から
の命令データ整列指示信号111により選択回路14か
らの命令バッファ出力信号を整列し、その整列結果を命
令データ107として演算装置に送出する。
まず最初に、バッファ切替えFF6に論理′1″が保持
されているならば、選択回路7ではオペランドデータ格
納指示信号102が選択され、選択回路8では命令デー
タ格納指示信号103が選択される。また、選択回路9
ではオペランドバッファ書込みアドレス信号112が選
択され、選択回路10では命令バッファ書込みアドレス
信号113が選択されるので、バッファ回路1にはオペ
ランドデータが格納され、バッファ回路2には命令デー
タが格納される。
したがって、バッファ回路1からオペランドデータを読
出し、バッファ回路2から命令データを読出すために、
選択回路11ではオペランドバッファ読出しアドレス信
号114が選択され、選択回路12では命令バヅファ読
出しアドレス信号115が選択される。これにより、バ
ッファ回路1から読出されたバッファ出力信号108は
選択回路13で選択され、このバッファ出力信号108
がオペランドバッファ出力信号としてオペランドデータ
整列回路15で整列されてオペランドデータ106とし
て演算装置に送出される。
また、バッファ回路2から読出されたバッファ出力信号
109は選択回路14で選択され、このバッファ出力信
号109が命令バッファ出力信号として命令データ整列
回路16で整列されて命令データ107として演算装置
に送出される。
すなわち、バッファ回路1はオペランドバッファとして
機能し、バッファ回路2は命令バッファとして機能して
いることになる。ここで、命令デコード信号104が分
岐命令以外の命令を示すときや、分岐命令の分岐条件が
不成立のときには第2図に示す従来例と同様の処理動作
を行うので、これらの場合の処理動作の説明は省略する
上述のようにバッファ回路1.2が機能しているときに
、バッファ切替え回路5が命令デコード信号104の監
視により分岐命令であることを検出すると、主記憶装置
から分岐先の命令データを先取りするために、この分岐
命令の分岐条件の成立不成立が確定する前に、バッファ
切替え回路5は主記憶装置に対して読出し指示信号11
6を出力する。このとき、読出し指示信号116にはオ
ペランドデータのコードを付加して、主記憶装置から先
取りされる分岐先の命令データがオペランドバッファ側
(バッファ回路1側)に格納されるようにする。
通常、主記憶装置からのオペランドデータ及び命令デー
タの読出しは同じ処理動作で行われ、読出すデータがオ
ペランドデータなのか命令データなのかを示すコードが
読出し指示信号116に付加されて送出されている。こ
れにより、主記憶装置から読出されたデータはオペラン
ドデータ格納指示信号102まなは命令データ格納指示
信号103とともに送られてくる。したがって、読出し
指示信号116に付加するコードを変えることによって
データの格納先を変更することも可能である。
こののち、バッファ切替え回路5に演算装置からの分岐
条件成立信号105が入力されて、分岐条件が成立した
ことが通知されると、バッファ切替え回路5はバッファ
切替えFF6にバッファ切替えフリップフロップ更新指
示信号117を出力し、バッファ切替えFF6に保持さ
れた内容を反転させる。
これにより、バッファ切替えFF6からのバッファ切替
え指示信号118が論理“0”となり、選択回路7では
命令データ格納指示信号103が、選択回路8ではオペ
ランドデータ格納指示信号102が、選択回路9では命
令バッファ書込みアドレス信号113が、選択回路10
ではオペランドバッファ書込みアドレス信号112が、
選択回路11では命令バッファ読出しアドレス信号11
5が、選択回路12ではオペランドバッファ読出しアド
レス信号114が、選択回路13ではバッファ出力信号
109が、選択回路14ではバッファ出力信号108が
夫々選択される。
したがって、バッファ回路1が命令バッファとして機能
し、バッファ回路2がオペランドバッファとして機能す
るので、分岐条件の成立後に命令データ107として演
算装置に送出されるのは、バッファ回路1からのバッフ
ァ出力信号108が命令データ整列回路16で整列され
た整列結果、すなわちバッファ回路1に格納された分岐
先の命令データである。
以後、次の分岐命令の分岐条件が成立するまで、バッフ
ァ回路1は命令バッファとして機能し、バッファ回路2
はオペランドバッファとして機能し、次の分岐命令の分
岐条件の成立後に再びその機能が交換される。
このように、バッファ回F!@1.2を選択回路7〜1
4によりオペランドバッファあるいは命令バッファのい
ずれにも使用可能なようにし、分岐命令の実行時には分
岐条件の成立不成立の確定前に、分岐先の命令データを
主記憶装置から取出してオペランドバッファとして用い
られているバッファ回路に格納し、分岐条件の成立後に
そのバッファ回路から分岐先の命令データを読出すよう
にすることによって、分岐条件の成立が確定する前に主
記憶装置から分岐先の命令データを取出しておくことが
でき、分岐条件の成立後にはこの分岐先の命令データに
より分岐命令を即実行可能となる。
よって、わずかな金物量の増加で、分岐命令の実行効率
を向上させることができる。
尚、本発明の一実施例においてはバッファ切替えFF6
の初期値を論理“1”としたが、この初期値が論理“0
”であってもよいことは明白である。
正月じL1里 以上説明したように本発明によれば、命令デコード信号
が分岐命令であることを検出しなとき、主記憶から分岐
先の命令データを読出してオペランドバッファに書込み
、分岐命令の条件が成立したときにオペランドバッファ
に書込まれた分岐先の命令データを読上して演算装置に
出力するようにすることによって、分岐命令の実行効率
を向上させることができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、第
2図は従来例の構成を示すブロック図である。 主要部分の符号の説明 1.2・・・・・・バッファ回路 5・・・・・・バッファ切替え回路 6・−・・・・バッファ切替えフリップフロップ7〜1
4・・・・・・選択回路

Claims (1)

    【特許請求の範囲】
  1. (1)オペランドデータを格納するオペランドバッファ
    と、先取りされた命令データを格納する命令バッファと
    を有する情報処理装置のバッファ制御回路であって、命
    令デコード信号が分岐命令であるとき、主記憶から分岐
    先の命令データを読出して前記オペランドバッファに書
    込む書込み手段と、前記分岐命令の条件が成立したこと
    が通知されたとき、前記書込み手段により前記オペラン
    ドバッファに書込まれた前記分岐先の命令データを読出
    して演算装置に出力する出力手段とを設けたことを特徴
    とするバッファ制御回路。
JP63114386A 1988-05-11 1988-05-11 バッファ制御回路 Pending JPH01283635A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP63114386A JPH01283635A (ja) 1988-05-11 1988-05-11 バッファ制御回路
CA000599082A CA1317384C (en) 1988-05-11 1989-05-09 Buffer control circuit for data processor
FR8906186A FR2631471B1 (fr) 1988-05-11 1989-05-11 Circuit de controle de memoire-tampon pour machine de traitement de donnee
US07/837,607 US5151980A (en) 1988-05-11 1992-02-21 Buffer control circuit for data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63114386A JPH01283635A (ja) 1988-05-11 1988-05-11 バッファ制御回路

Publications (1)

Publication Number Publication Date
JPH01283635A true JPH01283635A (ja) 1989-11-15

Family

ID=14636374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63114386A Pending JPH01283635A (ja) 1988-05-11 1988-05-11 バッファ制御回路

Country Status (4)

Country Link
US (1) US5151980A (ja)
JP (1) JPH01283635A (ja)
CA (1) CA1317384C (ja)
FR (1) FR2631471B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347010B (zh) * 2020-11-09 2023-07-04 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4979744A (ja) * 1972-12-08 1974-08-01
JPS61235948A (ja) * 1985-04-12 1986-10-21 Hitachi Ltd デ−タ処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit
CA1285657C (en) * 1986-01-29 1991-07-02 Douglas W. Clark Apparatus and method for execution of branch instructions
JPS63317828A (ja) * 1987-06-19 1988-12-26 Fujitsu Ltd マイクロコ−ド読み出し制御方式
US4881194A (en) * 1987-11-16 1989-11-14 Intel Corporation Stored-program controller for equalizing conditional branch delays
JPH0769812B2 (ja) * 1987-12-29 1995-07-31 富士通株式会社 データ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4979744A (ja) * 1972-12-08 1974-08-01
JPS61235948A (ja) * 1985-04-12 1986-10-21 Hitachi Ltd デ−タ処理装置

Also Published As

Publication number Publication date
FR2631471A1 (fr) 1989-11-17
CA1317384C (en) 1993-05-04
FR2631471B1 (fr) 1994-07-08
US5151980A (en) 1992-09-29

Similar Documents

Publication Publication Date Title
US6581120B1 (en) Interrupt controller
JPH01283635A (ja) バッファ制御回路
JP2553728B2 (ja) 演算装置
JPH0310129B2 (ja)
JPH0115900B2 (ja)
US5490277A (en) Digital computation integrated circuit
JPH05134934A (ja) 記憶装置制御装置
JPH01169639A (ja) 記憶装置
JPS6218933B2 (ja)
JPH02302855A (ja) メモリ制御装置
JPS6250855B2 (ja)
JPH0340148A (ja) 命令キャッシュメモリ装置
JPH04130917A (ja) 電子ディスク装置
JPH01261767A (ja) データ通信方式
JPS63150730A (ja) マイクロプログラムシステム
JPS645342B2 (ja)
JPH0498548A (ja) アドレスデコーダ回路
JPH07141254A (ja) メモリ制御装置
JPH01246647A (ja) メモリサイクル選択方式
JPS58146083A (ja) デ−タ記憶装置
JPH04254985A (ja) Dram制御装置
JPS5838876B2 (ja) シユメモリセイギヨホウシキ
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH02177095A (ja) 半導体不揮発性メモリ
JPH0264742A (ja) 入出力装置空間アクセスレジスタ制御方式