JP2000148478A - 中央処理装置及び中央処理システム - Google Patents
中央処理装置及び中央処理システムInfo
- Publication number
- JP2000148478A JP2000148478A JP10324126A JP32412698A JP2000148478A JP 2000148478 A JP2000148478 A JP 2000148478A JP 10324126 A JP10324126 A JP 10324126A JP 32412698 A JP32412698 A JP 32412698A JP 2000148478 A JP2000148478 A JP 2000148478A
- Authority
- JP
- Japan
- Prior art keywords
- information
- instruction
- read
- function
- central processing
- 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
Links
- 238000000034 method Methods 0.000 claims description 4
- 230000010365 information processing Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 74
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 17
- 239000002699 waste material Substances 0.000 description 4
- 239000000872 buffer Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
能のON/OFFの組み合わせが設定できる中央処理装
置及び中央処理システムを提供することを目的とする。 【解決手段】 次に読み出される可能性の高い情報を先
行して読み出しておく先行読み出し手段18と、過去に
読み出された情報を格納しておく格納手段12と、情報
を格納している記憶装置16と、前記先行読み出し手段
の機能を制御する制御手段24とを有するように構成す
ることにより、記憶装置16からの無駄な読み出しを減
少し、処理効率を上げる。
Description
中央処理システムに係り、特に、プリフェッチ機能を有
する中央処理装置及び中央処理システムに関する。
cessing unit:以下、CPUという)は、
主記憶装置から命令及びデータを読み出して、制御及び
演算等を行う装置である。一般に、CPUは主記憶装置
に比べて処理速度が高速であり、主記憶装置から命令及
びデータを読み出す時間が処理時間に大きく影響するこ
とになる。そこで、CPUと主記憶装置との間に少容量
の高速記憶装置を置き、処理時間の短縮化を図ってい
る。
去に参照された命令を一定数格納しておく命令キャッシ
ュがある。また、CPUが読込んだ命令より先のアドレ
スの命令を一定数自動的に読込んでおくプリフェッチキ
ューがある。このような、命令キャッシュ及びプリフェ
ッチキューは、多くのプログラムにおける主記憶装置参
照の局地性の原理に基づいている。
Uは記憶装置のある限られた小範囲を集中して参照する
傾向が認められる。言い換えれば、頻繁に使用される情
報はお互いに近いところに存在する確率が高い。したが
って、このような頻繁に参照されると思われる小範囲を
主記憶装置から読み出して格納しておくのが命令キャッ
シュ,プリフェッチキューである。
置との間に小容量の高速記憶装置を置いた場合の処理に
ついて説明する。図1は、従来のプリフェッチ機能を有
する中央処理システムの一例のブロック図を示す。中央
処理システム1は、CPU10,命令キャッシュ12,
BUS−CONTROL14,主記憶装置16を含む構
成である。また、CPU10は、プリフェッチキュー1
8,命令デコ−ダ20,バスアクセス制御部22を含
む。
読み出しをおこなった命令の次のアドレスの命令を自動
的に読み出して格納しておく。また、命令キャッシュ1
2は、過去に主記憶装置16から読み出された命令を、
一定数格納しておく。例えば、図2を利用して、2命令
分を自動的に読み出して格納するプリフェッチキュー1
8の動作を説明する。図2は、プリフェッチキューの動
作の一例の説明図を示す。CPU10がアドレス”0
8”の命令を命令デコーダ20に読込むと、プリフェッ
チキュー18は次のアドレス”0A”の命令と二つ先の
アドレス”0C”の命令とを格納する。次に、CPU1
0がアドレス”0A”の命令を命令デコーダ20に読込
むと、プリフェッチキュー18は既に次のアドレス”0
C”の命令が格納されているので、二つ先のアドレス”
0E”の命令を格納する。
次にCPU10が実行すると予想されるアドレスの命令
を命令キャッシュ12又は主記憶装置16から予め読み
出して格納しておくことにより、CPU10の命令の読
み出し開始から命令が命令デコーダ20に読込まれるま
での時間が短縮される。プリフェッチキュー18は、命
令実行が直線的で、分岐命令が少ない場合に有効であ
る。
2の動作を説明する。図3は、命令キャッシュの動作の
一例の説明図を示す。尚、図3において、CPU実行命
令のアドレスは上位の16ビットアドレス”0000”
を省略している。また、図3のキャッシュ格納命令は、
一番左にアドレスの上位16ビットが表示され、そこか
ら右側に向かって4つのアドレスの下位8ビットが表示
されている。それぞれのアドレスは、32ビットのデー
タを有し、16ビットで表される命令を二つ格納してい
る。
アドレス”08”の命令を読み込む場合、そのアドレ
ス”08”の命令が命令キャッシュ12に格納されてい
るか否かにより処理が異なる。そのアドレス”08”の
命令が命令キャッシュ12に格納されている場合、命令
キャッシュ12は、その格納されている命令をCPU1
0又はプリフェッチキュー18に供給する。例えば、図
3の場合は、命令キャッシュ12からアドレス”000
008”の命令を読み出してCPU10又はプリフェッ
チキュー18に供給する。
キャッシュ12に格納されていない場合、命令キャッシ
ュ12は主記憶装置16からアドレス”08”の命令を
読み出してCPU10又はプリフェッチキュー18に供
給すると共に、対応するアドレスにアドレス”08”の
命令を格納する。なお、命令キャッシュ12は、アドレ
スの下位8ビットが固定であり、アドレスの上位16ビ
ットを変更してアドレスを対応させる。例えば、アドレ
ス”000008”の命令を格納する場合、アドレスの
上位16ビットを”0000”に変更してアドレスの下
位8ビットが”08”の場所に命令を格納する。
0C”,”0E”,”10”,及び”12”の命令毎に
処理を行う。そして、アドレス”12”の命令が分岐命
令であり、処理がアドレス”08”の命令に戻ると、既
に命令キャッシュ12にアドレス”08”,”0
A”,”0C”,”0E”,”10”,及び”12”の
命令が格納されているため、CPU10の命令の読み出
し開始から命令が命令デコーダ20に読込まれるまでの
時間が短縮される。命令キャッシュ12は、命令実行に
繰り返し処理が多い場合に有効である。
リフェッチキュー18を設けることにより中央処理シス
テム1の処理時間の短縮を図っている。
示すブロック図のように、プリフェッチキュー18が命
令キャッシュ12よりCPU側にある場合、プリフェッ
チキュー18の処理により命令キャッシュ12の処理効
率が低下する場合がある。以下、図4及び図5を利用し
て、プリフェッチキュー18の処理により命令キャッシ
ュ12の処理効率が低下する場合について説明する。図
4は、プリフェッチキューの動作の一例の説明図を示
す。また、図5は命令キャッシュの動作の一例の説明図
を示す。
ス”0C”の命令を実行した後、分岐命令によりアドレ
ス”80”の命令を実行する。ところが、アドレス”0
C”の命令を実行している間に、プリフェッチキュー1
8は、次のアドレス”0E”の命令と二つ先のアドレ
ス”10”の命令とを命令キャッシュ12又は主記憶装
置16から読み込んで格納する。したがって、プリフェ
ッチキュー18は、CPU10が実行しないアドレスの
命令を格納してしまうことになる。
読み出しであるのか、又はプリフェッチキュー18の読
み出しであるのか判断することができない。したがっ
て、プリフェッチキュー18がCPU10の実行しない
アドレスの命令を読込んだ場合、その読込みにより命令
キャッシュ12にもCPU10の実行しないアドレスの
命令が読込まれて格納されることになる。
C”の命令を実行している間にプリフェッチキュー18
に読込まれた次のアドレス”0E”の命令と二つ先のア
ドレス”10”の命令とが命令キャッシュ12に書き込
まれて格納されるのであるが、アドレス”10”に対応
する部分にはアドレス”020010〜02001E”
の命令が格納されている。したがって、命令キャッシュ
12は、CPU10の実行しないアドレス”00000
E”,”000010”の命令が読込まれて格納される
ために、アドレス”020010〜02001E”の命
令が消去されることになる。もし、消去されたアドレ
ス”020010〜02001E”の命令が実行率の高
い命令であると効率が悪いことになる。
能により命令キャッシュ12の処理効率が低下する場合
について説明する。図6は、命令キャッシュの動作の一
例の説明図を示す。ここで、ブロック転送機能とは、命
令キャッシュ12に格納されている情報を書き換える場
合、1ブロック単位で書き換える機能をいう。なお、1
ブロックとは図6の例の場合4ワード分(例えば、アド
レス”00”,”04”,”08”,”0C”)をい
う。
読込むとき、命令キャッシュ12にそのアドレス”1
E”の命令が格納されているか否かを判定する。図6の
例の場合、下位8ビットが”10〜1C”の場所に上位
ビット”0200”のアドレスの命令が格納されている
ため、上位ビット”0000”の命令を主記憶装置16
から読み出して格納する必要がある。
ュ12はアドレス”000010〜00001E”を自
動的に書き込むが、ブロック転送が終了するまで次の命
令が読み出せない。この場合、アドレス”000010
〜00001A”の命令は実行されないものであり、C
PU10の実行しないアドレス”000010〜000
01A”の命令を命令キャッシュ12に書き込んでいる
間、CPU10は次のアドレス”000020”の命令
を読み出せず効率が悪いことになる。
て、命令キャッシュ12及びプリフェッチキュー18が
効率良く動作しない場合があり問題であった。本発明
は、上記の点に鑑みなされたもので、命令キャッシュ及
びプリフェッチキューの機能のON/OFFの組み合わ
せが設定できる中央処理装置及び中央処理システムを提
供することを目的とする。
するため、請求項1記載の本発明は、記憶装置から情報
を読み出して、処理を行う中央処理装置において、次に
読み出される可能性の高い情報を先行して読み出してお
く先行読み出し手段を有し、その先行読み出し手段は、
制御信号により機能を制御されることを特徴とする。
により機能を制御されることで、実行するプログラムに
基づいて適切に機能がオン/オフされ、効率のよい情報
の読み出しが可能となる。例えば、分岐処理の多いプロ
グラムの実行時においては、先行読み出し手段の機能が
効率のよい情報の読み出しを妨げる場合があるので、そ
の場合に先行読み出し手段の機能を制御して、効率のよ
い情報の読み出しを可能にする。
読み出し手段は、既に読み出されている情報のアドレス
に基づいて、前記次に読み出される可能性の高い情報を
先行して読み出しておくことを特徴とする。このよう
に、先行読み出し手段は既に読み出されている情報のア
ドレスに基づいて、次に読み出される可能性の高い情報
を先行して読み出しておくことにより、中央処理装置と
記憶装置との処理速度の差を緩和し、効率のよい情報の
読み出しを可能にしている。
読み出し手段は、前記制御信号により機能のオン/オフ
が制御されることを特徴とする。このように、先行読み
出し手段は制御信号により機能がオン/オフされること
で、先行読み出し手段の機能が効率のよい情報の読み出
しを妨げる場合に先行読み出し手段の機能をオフして、
効率のよい情報の読み出しが可能となる。
読み出し手段は、前記制御信号により情報を先行して読
み出しておく機能を停止された場合、既に読み出し済み
の情報を順次出力することを特徴とする。このように、
先行読み出し手段は機能がオンからオフに移行した場
合、既に読み出し済みの情報を破棄することなく、順次
出力することができる。したがって、同じ情報を再度読
み出す無駄を省き、効率のよい情報の読み出しが可能と
なる。
から情報を読み出して、処理を行う中央処理システムに
おいて、次に読み出される可能性の高い情報を先行して
読み出しておく先行読み出し手段と、過去に読み出され
た情報を格納しておく格納手段と、情報を格納している
記憶装置と、前記先行読み出し手段の機能を制御する制
御手段とを有することを特徴とする。
により機能を制御されることで、実行するプログラム及
び格納手段の機能との関係に基づいて、適切に機能をオ
ン/オフすることが可能となる。したがって、効率のよ
い情報の読み出しが可能となる。また、請求項6記載の
本発明は、前記先行読み出し手段は、既に読み出されて
いる情報のアドレスに基づいて、前記次に読み出される
可能性の高い情報を先行して読み出しておくことを特徴
とする。
出されている情報のアドレスに基づいて、次に読み出さ
れる可能性の高い情報を先行して読み出しておくことに
より、中央処理装置と記憶装置との処理速度の差を緩和
し、効率のよい情報の読み出しを可能にしている。ま
た、請求項7記載の本発明は、前記先行読み出し手段
は、前記制御信号により機能のオン/オフが制御される
ことを特徴とする。
により機能がオン/オフされることにより、先行読み出
し手段の機能が効率のよい情報の読み出しを妨げる場合
に先行読み出し手段の機能をオフして、効率のよい情報
の読み出しが可能となる。また、請求項8記載の本発明
は、前記先行読み出し手段は、前記制御手段から供給さ
れる制御信号により前記情報を先行して読み出しておく
機能を停止された場合、既に読み出し済みの情報を順次
出力することを特徴とする。
ンからオフに移行した場合、既に読み出し済みの情報を
破棄することなく、順次出力することができる。したが
って、同じ情報を再度読み出す無駄を省き、効率のよい
情報の読み出しが可能となる。また、請求項9記載の本
発明は、前記格納手段は、前記記憶装置から読み出され
た情報を所定のブロック毎に格納する機能を有し、この
機能のオン/オフが制御されることを特徴とする請求項
8記載の中央処理システム。
読み出された情報を所定のブロック毎に格納する機能を
有し、この機能のオン/オフを制御することができるの
で、格納手段の読み出された情報を所定のブロック毎に
格納する機能が効率のよい情報の読み出しを妨げる場合
にこの機能をオフして、効率のよい情報の読み出しが可
能となる。
行読み出し手段で行う先行して情報を読み出しておく機
能と、前記格納手段で行う所定のブロック毎に情報を格
納する機能とは、中央処理装置で行う処理に基づいて、
その機能のオン/オフが制御されることを特徴とする。
このように、先行読み出し手段で行う先行して情報を読
み出しておく機能と、格納手段で行う所定のブロック毎
に情報を格納する機能とを、中央処理装置で行うプログ
ラムの処理に基づいて、自由にオン/オフすることが可
能となる。したがって、ユーザはプログラムの処理を考
慮して、自由に先行読み出し手段で行う先行して情報を
読み出しておく機能と、格納手段で行う所定のブロック
毎に情報を格納する機能とをオン/オフすることによ
り、効率のよい情報の読み出しが選択できる。
理システムに関する本発明の実施例を図面に基づいて説
明する。図7は、本発明のプリフェッチ機能を有する中
央処理システムの一実施例のブロック図を示す。中央処
理システム1は、CPU10,命令キャッシュ12,B
US−CONTROL14,主記憶装置16,プリフェ
ッチキュー制御部24を含む構成である。また、CPU
10は、プリフェッチキュー18,命令デコ−ダ20,
バスアクセス制御部22を含む。
読み出しをおこなった命令の次のアドレスの命令を自動
的に読み出して格納しておく。また、命令キャッシュ1
2は、過去に主記憶装置16から読み出された命令を、
一定数格納しておく。なお、プリフェッチキュー18及
び命令キャッシュ12の動作については、図2及び図3
を利用して前述したので説明を省略する。
キュー制御部24に含まれるQCNTLレジスタに所定
の値を書き込むことにより制御される。例えば、QCN
TLレジスタが”00”のとき命令キャッシュ12に依
らずプリフェッチ機能OFF,QCNTLレジスタが”
01”のとき命令キャッシュ12に依らずプリフェッチ
機能ON,QCNTLレジスタが”10”のとき命令キ
ャッシュ12のON/OFFの反転,QCNTLレジス
タが”11”のとき命令キャッシュ12のON/OFF
と同じ,というようにプリフェッチ機能を制御する。
ャッシュ12の機能のON/OFFを示す信号IENB
Lが供給されることにより、命令キャッシュ12の機能
のON/OFF状態を判別できる。そして、プリフェッ
チキュー制御部24は、QCNTLレジスタの値および
命令キャッシュ12から供給される信号IENBLに基
づいてプリフェッチキュー18の機能のON/OFF動
作を制御する信号QENBLをプリフェッチキュー18
に供給する。
時にCPU10のバスアクセス制御部22からQCNT
ALレジスタのアドレスと書き込む値とをデータバスに
出力し、BUS−CONTROL14経由でQCNTL
レジスタに値を書き込むことにより、制御することが可
能となる。なお、プリフェッチキュー18の動作がON
からOFFに移行した場合、既にプリフェッチキュー1
8に格納されたアドレスの命令を破棄することなく有効
に利用するため、図8に示すようなが動作が行われる。
図8はプリフェッチキューがON/OFFの時の一例の
動作図を示し、図8(A)がプリフェッチキューがON
の時の動作であり、図8(B)がプリフェッチキューが
OFFの時の動作である。
がONの時の動作は、プリフェッチキュー18に空きが
できると次のアドレスの命令を読み出し格納する。一
方、図8(B)に示すプリフェッチキュー18がONか
らOFFに移行した場合の動作は、既にプリフェッチキ
ュー18に格納されたアドレスの命令を順次読み出す。
そして、格納されたアドレスの命令が無くなった時点
で、新しいアドレスの命令を一つ格納する動作と、格納
されたアドレスの命令を読み出す動作とを繰り返す。
FFの時の動作を、格納しているアドレスの命令が全て
無くなった時点で新しいアドレスの命令を読み出すとい
う動作で実現すると、既にプリフェッチキュー18に格
納されたアドレスの命令を破棄することなく有効に利用
することができるため、処理効率が低下しない。以下、
プリフェッチキュー18がOFF,命令キャッシュ12
がONの方が効率が良い場合について、図9を利用して
説明する。図9は、プリフェッチキューがON/OFF
の時の一例のタイミング図を示す。なお、図9(A)〜
(D)はプリフェッチキュー18がOFF,図9(E)
〜(H)はプリフェッチキュー18がONのときのタイ
ミング図である。
CPU10は実行を行うアドレスの命令を命令キャッシ
ュ12又は主記憶装置16から読み出して実行する。こ
のとき、命令キャッシュ12に目的のアドレスの命令が
ない場合、主記憶装置16から目的のアドレスの命令を
読み出すために待ち時間が発生する。図9の(A)〜
(D)の場合、アドレス”0008”,”000
C”,”0080”の命令は、命令キャッシュ12にな
かったため、主記憶装置16から読み出しを行ってい
る。したがって、主記憶装置16から目的のアドレスの
命令を読み出すために待ち時間が発生している。続い
て、アドレス”2010”,”2014”の命令は、命
令キャッシュ12にあったため、命令キャッシュ12か
ら読み出しが行われている。したがって、主記憶装置1
6から読み出すほどの待ち時間は発生しない。
き、プリフェッチキュー18は次のアドレスの命令を格
納している。アドレス”0008”の命令がCPU10
で実行されるとき、プリフェッチキュー18は次のアド
レス”000C”の命令を主記憶装置16から読み込ん
で格納する。したがって、図9に示すように主記憶装置
16から読み込んで格納するための待ち時間が発生す
る。
PU10で実行されるとき、プリフェッチキュー18は
次のアドレス”0010”の命令を主記憶装置16から
読み込んで格納する。したがって、図9に示すように主
記憶装置16から読み込んで格納するための待ち時間が
発生する。ところで、アドレス”0C”の命令が分岐命
令である場合、アドレス”000C”の命令の後に実行
される命令は、アドレス”0010”の命令でなくアド
レス”0080”の命令である。したがって、アドレ
ス”0010”の命令を実行せずに、アドレス”008
0”の命令を主記憶装置16から読み込んで格納する。
したがって、図9に示すように主記憶装置16から読み
込んで格納するための待ち時間が発生する。
PU10で実行されるのであるが、アドレス”201
0”の命令は命令キャッシュ12に格納されていたもの
の、プリフェッチキュー18によるアドレス”001
0”の命令の読み出しにより消去されている。したがっ
て、図9に示すように主記憶装置16から読み込んで格
納するための待ち時間が発生する。
あれば、命令キャッシュ12からアドレス”2010”
の命令は消去されず、無駄な待ち時間を発生させること
がない。以上のように、プログラムの動作内容によって
は、プリフェッチキュー18をOFF,命令キャッシュ
12をONにする方が効率が良い。次に、プリフェッチ
キュー18がON,命令キャッシュ12のブロック転送
がOFFの方が効率が良い場合について、図10を利用
して説明する。図10は、ブロック転送がON/OFF
の時の一例のタイミング図を示す。なお、図10(A)
〜(D)はブロック転送がON,図10(E)〜(H)
はブロック転送がOFFのときのタイミング図である。
実行を行うアドレスの命令を命令キャッシュ12又は主
記憶装置16から読み出して実行する。このとき、命令
キャッシュ12に目的のアドレスの命令がない場合、主
記憶装置16から目的のアドレスの命令を読み出すため
に待ち時間が発生する。ブロック転送がONの下、命令
キャッシュ12に目的のアドレスの命令がない場合、ブ
ロック単位で主記憶装置16から目的のアドレスの命令
を読み出す。
グチャートでは、CPU10が実行を行うアドレス”0
0C”の命令を主記憶装置16から読み出して命令キャ
ッシュ12に格納する際、ブロック転送によりアドレ
ス”000”,”004”,”008”の命令が引き続
き主記憶装置16から読み出されて命令キャッシュ12
に格納される。
レス”000”,”004”,”008”の命令が終了
するまで、次のアドレス”010”の命令が読み出され
ず、無駄な待ち時間が発生する。一方、ブロック転送が
OFFのとき、CPU10は実行を行うアドレスの命令
を命令キャッシュ12又は主記憶装置16から読み出し
て実行する。このとき、命令キャッシュ12に目的のア
ドレスの命令がない場合、主記憶装置16から目的のア
ドレスの命令を読み出すために待ち時間が発生する。し
かし、ブロック転送がOFFであるため、必要なアドレ
スの命令のみが主記憶装置16から読み出される。
グチャートでは、CPU10が実行を行うアドレスの命
令が主記憶装置16から順番に読み出されて実行される
ため、ブロック転送がONのときに生じる無駄な読み込
み時間が発生することがない。したがって、CPU10
が実行する命令のみが主記憶装置16から読み出される
ために無駄な待ち時間が発生せず、効率の良い処理が可
能となる。
NからOFFに移行した場合の動作について、図11を
利用して説明する。図11は、プリフェッチキューの動
作がONからOFFに移行する場合の一例のタイミング
図を示す。また、図11(B)〜(E)はプリフェッチ
キュー18の動作がONからOFFに移行した場合の従
来のタイミング図であり、図10(F)〜(I)はプリ
フェッチキュー18の動作がONからOFFに移行した
場合の本願発明のタイミング図である。
れる信号QENBLがハイレベルからロウレベルに変化
し、プリフェッチキュー18の動作がONからOFFに
移行した場合、図11(B)〜(E)に示す従来の動作
では、既にプリフェッチキュー18に格納されたアドレ
ス”100”〜”10E”の命令を破棄し、新たに、主
記憶装置16からアドレス”100”〜”10E”の命
令を読み出す。このように、プリフェッチキュー18か
ら破棄されたアドレス”100”〜”10E”の命令が
再度主記憶装置16から読み出されることになるため、
無駄な待ち時間が発生し、効率が悪い。
明の動作では、既にプリフェッチキュー18に格納され
たアドレス”100”〜”10E”の命令を順次読み出
し、格納されたアドレスの命令が無くなった時点で、新
しいアドレスの命令を一つ格納する動作と、格納された
アドレスの命令を読み出す動作とを繰り返す。このよう
に、プリフェッチキューがOFFの時の動作を、格納し
ているアドレスの命令が全て無くなった時点で新しいア
ドレスの命令を読み出すという動作で実現すると、既に
プリフェッチキューに格納されたアドレスの命令を破棄
することなく有効に利用することができるため、処理効
率が低下しない。なお、図11のタイミング図では、プ
リフェッチキュー18は32bit(16ビット命令が
二つ入る)のバッファが4段ある場合を示している。
に応じて、プリフェッチキュー18及び命令キャッシュ
12の機能を適切にON/OFFできるようにしたこと
により、主記憶装置16からの無駄な読み出しを減少
し、処理効率を上げることが可能である。なお、本願発
明は、プリフェッチキュー18及び命令キャッシュ12
のブロック転送のON/OFFをハードウエア・ソフト
ウエア的に切り換えることも可能であり、また、予めプ
ログラムに切り換えの命令を組み込んでおくことも可能
である。
ェッチキュー18が先行読み出し手段に対応し、命令キ
ャッシュ12が格納手段に対応し、主記憶装置16が記
憶装置に対応し、プリフェッチキュー制御部24が制御
手段に対応する。
れば、先行読み出し手段は制御信号により機能を制御さ
れることで、実行するプログラムに基づいて適切に機能
がオン/オフされ、効率のよい情報の読み出しが可能と
なる。例えば、分岐処理の多いプログラムの実行時にお
いては、先行読み出し手段の機能が効率のよい情報の読
み出しを妨げる場合があるので、その場合に先行読み出
し手段の機能を制御して、効率のよい情報の読み出しを
可能にする。
行読み出し手段は既に読み出されている情報のアドレス
に基づいて、次に読み出される可能性の高い情報を先行
して読み出しておくことにより、中央処理装置と記憶装
置との処理速度の差を緩和し、効率のよい情報の読み出
しを可能にしている。また、請求項3記載の本発明によ
れば、先行読み出し手段は制御信号により機能がオン/
オフされることで、先行読み出し手段の機能が効率のよ
い情報の読み出しを妨げる場合に先行読み出し手段の機
能をオフして、効率のよい情報の読み出しが可能とな
る。
行読み出し手段は機能がオンからオフに移行した場合、
既に読み出し済みの情報を破棄することなく、順次出力
することができる。したがって、同じ情報を再度読み出
す無駄を省き、効率のよい情報の読み出しが可能とな
る。また、請求項5記載の本発明によれば、先行読み出
し手段は制御信号により機能を制御されることで、実行
するプログラム及び格納手段の機能との関係に基づい
て、適切に機能をオン/オフすることが可能となる。し
たがって、効率のよい情報の読み出しが可能となる。
行読み出し手段は既に読み出されている情報のアドレス
に基づいて、次に読み出される可能性の高い情報を先行
して読み出しておくことにより、中央処理装置と記憶装
置との処理速度の差を緩和し、効率のよい情報の読み出
しを可能にしている。また、請求項7記載の本発明によ
れば、先行読み出し手段は制御信号により機能がオン/
オフされることで、先行読み出し手段の機能が効率のよ
い情報の読み出しを妨げる場合に先行読み出し手段の機
能をオフして、効率のよい情報の読み出しが可能とな
る。
行読み出し手段は機能がオンからオフに移行した場合、
既に読み出し済みの情報を破棄することなく、順次出力
することができる。したがって、同じ情報を再度読み出
す無駄を省き、効率のよい情報の読み出しが可能とな
る。また、請求項9記載の本発明によれば、格納手段は
前記記憶装置から読み出された情報を所定のブロック毎
に格納する機能を有し、この機能のオン/オフを制御す
ることができるので、格納手段の読み出された情報を所
定のブロック毎に格納する機能が効率のよい情報の読み
出しを妨げる場合にこの機能をオフして、効率のよい情
報の読み出しが可能となる。
先行読み出し手段で行う先行して情報を読み出しておく
機能と、格納手段で行う所定のブロック毎に情報を格納
する機能とを、中央処理装置で行うプログラムの処理に
基づいて、自由にオン/オフすることが可能となる。し
たがって、ユーザはプログラムの処理を考慮して、自由
に先行読み出し手段で行う先行して情報を読み出してお
く機能と、格納手段で行う所定のブロック毎に情報を格
納する機能とをオン/オフすることにより、効率のよい
情報の読み出しが選択できる。
テムの一例のブロック図である。
る。
る。
システムの一実施例のブロック図である。
の動作図である。
のタイミング図である。
イミング図である。
に移行する場合の一例のタイミング図である。
Claims (10)
- 【請求項1】 記憶装置から情報を読み出して、処理を
行う中央処理装置において、 次に読み出される可能性の高い情報を先行して読み出し
ておく先行読み出し手段を有し、 その先行読み出し手段は、制御信号により機能を制御さ
れることを特徴とする中央処理装置。 - 【請求項2】 前記先行読み出し手段は、既に読み出さ
れている情報のアドレスに基づいて、前記次に読み出さ
れる可能性の高い情報を先行して読み出しておくことを
特徴とする請求項1記載の中央処理装置。 - 【請求項3】 前記先行読み出し手段は、前記制御信号
により機能のオン/オフが制御されることを特徴とする
請求項2記載の中央処理装置。 - 【請求項4】 前記先行読み出し手段は、前記制御信号
により情報を先行して読み出しておく機能を停止された
場合、既に読み出し済みの情報を順次出力することを特
徴とする請求項3記載の中央処理装置。 - 【請求項5】 記憶装置から情報を読み出して、処理を
行う中央処理システムにおいて、 次に読み出される可能性の高い情報を先行して読み出し
ておく先行読み出し手段と、 過去に読み出された情報を格納しておく格納手段と、 情報を格納している記憶装置と、 前記先行読み出し手段の機能を制御する制御手段とを有
することを特徴とする中央処理システム。 - 【請求項6】 前記先行読み出し手段は、既に読み出さ
れている情報のアドレスに基づいて、前記次に読み出さ
れる可能性の高い情報を先行して読み出しておくことを
特徴とする請求項5記載の中央処理システム。 - 【請求項7】 前記先行読み出し手段は、前記制御信号
により機能のオン/オフが制御されることを特徴とする
請求項6記載の中央処理システム。 - 【請求項8】 前記先行読み出し手段は、前記制御手段
から供給される制御信号により前記情報を先行して読み
出しておく機能を停止された場合、既に読み出し済みの
情報を順次出力することを特徴とする請求項7記載の中
央処理システム。 - 【請求項9】 前記格納手段は、前記記憶装置から読み
出された情報を所定のブロック毎に格納する機能を有
し、この機能のオン/オフが制御されることを特徴とす
る請求項8記載の中央処理システム。 - 【請求項10】 前記先行読み出し手段で行う先行して
情報を読み出しておく機能と、前記格納手段で行う所定
のブロック毎に情報を格納する機能とは、中央処理装置
で行う処理に基づいて、その機能のオン/オフが制御さ
れることを特徴とする請求項9記載の中央処理システ
ム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32412698A JP3573980B2 (ja) | 1998-11-13 | 1998-11-13 | 情報処理装置及び情報処理システム |
US09/421,008 US6880066B2 (en) | 1998-11-13 | 1999-10-20 | Central processing unit and system having a prefetch queue and a command cache to perform an efficient information reading operation |
DE19951878A DE19951878A1 (de) | 1998-11-13 | 1999-10-28 | Zentrale Verarbeitungseinheit und System mit einer Vorabruf-Warteschlange und einem Befehls-Cache |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32412698A JP3573980B2 (ja) | 1998-11-13 | 1998-11-13 | 情報処理装置及び情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000148478A true JP2000148478A (ja) | 2000-05-30 |
JP3573980B2 JP3573980B2 (ja) | 2004-10-06 |
Family
ID=18162447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32412698A Expired - Fee Related JP3573980B2 (ja) | 1998-11-13 | 1998-11-13 | 情報処理装置及び情報処理システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US6880066B2 (ja) |
JP (1) | JP3573980B2 (ja) |
DE (1) | DE19951878A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6708266B2 (en) | 2000-02-01 | 2004-03-16 | Fujitsu Limited | Central processing unit and system counting instructions in a queue storage and outputting a fetch request when the count value is 0 or 1 to produce a next instruction address output |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783869B2 (en) * | 2006-12-19 | 2010-08-24 | Arm Limited | Accessing branch predictions ahead of instruction fetching |
KR20150127914A (ko) | 2014-05-07 | 2015-11-18 | 에스케이하이닉스 주식회사 | 복수의 프로세서들을 포함하는 반도체 장치 및 그것의 동작 방법 |
US10296463B2 (en) * | 2016-01-07 | 2019-05-21 | Samsung Electronics Co., Ltd. | Instruction prefetcher dynamically controlled by readily available prefetcher accuracy |
US11106466B2 (en) | 2018-06-18 | 2021-08-31 | International Business Machines Corporation | Decoupling of conditional branches |
WO2024049859A1 (en) * | 2022-08-31 | 2024-03-07 | Ascenium, Inc. | Parallel processing architecture with memory block transfers |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5860482A (ja) | 1981-10-05 | 1983-04-09 | Nec Corp | 情報処理装置 |
JPH01112429A (ja) | 1987-10-27 | 1989-05-01 | Mitsubishi Electric Corp | マイクロコンピュータ |
JPH0766326B2 (ja) | 1987-11-12 | 1995-07-19 | 松下電器産業株式会社 | 情報処理装置 |
US5357618A (en) | 1991-04-15 | 1994-10-18 | International Business Machines Corporation | Cache prefetch and bypass using stride registers |
US5835967A (en) | 1993-10-18 | 1998-11-10 | Cyrix Corporation | Adjusting prefetch size based on source of prefetch address |
US5623615A (en) | 1994-08-04 | 1997-04-22 | International Business Machines Corporation | Circuit and method for reducing prefetch cycles on microprocessors |
US5649137A (en) * | 1994-10-20 | 1997-07-15 | Advanced Micro Devices, Inc. | Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency |
US5829042A (en) | 1996-02-15 | 1998-10-27 | Hewlett-Packard Company | Prefetch operation for network peripheral device having shared memory |
US5854911A (en) * | 1996-07-01 | 1998-12-29 | Sun Microsystems, Inc. | Data buffer prefetch apparatus and method |
US6195735B1 (en) * | 1996-12-31 | 2001-02-27 | Texas Instruments Incorporated | Prefetch circuity for prefetching variable size data |
US6233645B1 (en) * | 1998-11-02 | 2001-05-15 | Compaq Computer Corporation | Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high |
-
1998
- 1998-11-13 JP JP32412698A patent/JP3573980B2/ja not_active Expired - Fee Related
-
1999
- 1999-10-20 US US09/421,008 patent/US6880066B2/en not_active Expired - Fee Related
- 1999-10-28 DE DE19951878A patent/DE19951878A1/de not_active Ceased
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6708266B2 (en) | 2000-02-01 | 2004-03-16 | Fujitsu Limited | Central processing unit and system counting instructions in a queue storage and outputting a fetch request when the count value is 0 or 1 to produce a next instruction address output |
Also Published As
Publication number | Publication date |
---|---|
US20030110365A1 (en) | 2003-06-12 |
US6880066B2 (en) | 2005-04-12 |
DE19951878A1 (de) | 2000-05-31 |
JP3573980B2 (ja) | 2004-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6564313B1 (en) | System and method for efficient instruction prefetching based on loop periods | |
US20050086435A1 (en) | Cache memory controlling apparatus, information processing apparatus and method for control of cache memory | |
JP3289661B2 (ja) | キャッシュメモリシステム | |
US6321328B1 (en) | Processor having data buffer for speculative loads | |
US20080140934A1 (en) | Store-Through L2 Cache Mode | |
EP0676690B1 (en) | Delayed write of store instruction in processor device | |
US20080184010A1 (en) | Method and apparatus for controlling instruction cache prefetch | |
WO2001038970A2 (en) | Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks | |
JP2000148478A (ja) | 中央処理装置及び中央処理システム | |
JP3088303B2 (ja) | キャッシュ・メモリ・バンク制御装置 | |
KR100618057B1 (ko) | 전자 회로 및 전자 회로를 사용하여 정보를 처리하는 방법 | |
US6278467B1 (en) | Display memory control apparatus | |
US5765190A (en) | Cache memory in a data processing system | |
US7107407B2 (en) | Arithmetic unit with reduced startup time and method of loading data | |
US6192449B1 (en) | Apparatus and method for optimizing performance of a cache memory in a data processing system | |
JP2007206924A (ja) | 演算処理システム | |
JP2004240616A (ja) | メモリコントローラ及びメモリアクセス制御方法 | |
US20080250211A1 (en) | Cache control method, cache device, and microcomputer | |
US20020174300A1 (en) | Data processor and data processing method | |
US6742102B2 (en) | Microprocessor and cache controlling method | |
JPH05143330A (ja) | スタツクキヤツシユの制御方式及びスタツクキヤツシユ | |
JP3039391B2 (ja) | メモリシステム | |
JPH10283185A (ja) | プロセッサ | |
JP2003015957A (ja) | キャッシュメモリ制御システム | |
JP2004038601A (ja) | キャッシュメモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20031222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040604 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040629 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040630 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |