JPH08194562A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH08194562A JPH08194562A JP7006977A JP697795A JPH08194562A JP H08194562 A JPH08194562 A JP H08194562A JP 7006977 A JP7006977 A JP 7006977A JP 697795 A JP697795 A JP 697795A JP H08194562 A JPH08194562 A JP H08194562A
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- memory
- position information
- held
- 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
Links
Landscapes
- Power Sources (AREA)
Abstract
(57)【要約】
【目的】 本発明は、データ転送時における消費電力を
抑え、効率の良い省電力化を可能とする情報処理装置を
提供することを目的とする。 【構成】 メモリリード/ライト時に、データの送信側
と受信側に同一の内容の参照テーブル110、140を
用意し、送信側のテーブルにおいてデータがヒットした
場合は、その位置情報を受信側に転送する。これにより
負荷の重いデータバスをドライブすることなくデータ転
送することが可能になり情報処理装置の低消費電力化が
図れるという効果がある。
抑え、効率の良い省電力化を可能とする情報処理装置を
提供することを目的とする。 【構成】 メモリリード/ライト時に、データの送信側
と受信側に同一の内容の参照テーブル110、140を
用意し、送信側のテーブルにおいてデータがヒットした
場合は、その位置情報を受信側に転送する。これにより
負荷の重いデータバスをドライブすることなくデータ転
送することが可能になり情報処理装置の低消費電力化が
図れるという効果がある。
Description
【0001】
【産業上の利用分野】本発明は情報処理措置の低消費電
力化技術に関するもので、特に中央演算処理装置が行う
メモリ、または周辺装置へのデータ転送時の省電力化に
関する。
力化技術に関するもので、特に中央演算処理装置が行う
メモリ、または周辺装置へのデータ転送時の省電力化に
関する。
【0002】
【従来の技術】近年、情報処理装置は、その小型化に伴
い可搬性が重要な要素となっており、バッテリによる電
力供給が不可欠となっている。このような可搬型の情報
処理装置では、バッテリを使用した場合の動作時間を延
ばすために消費電力を可能なかぎり抑える必要がある。
省電力化の方法としては、動作させる必要のない周辺装
置への電力供給の停止、あるいはクロック信号の停止等
があるが、これだけでは十分とは言えず種々の方法が考
えられている。
い可搬性が重要な要素となっており、バッテリによる電
力供給が不可欠となっている。このような可搬型の情報
処理装置では、バッテリを使用した場合の動作時間を延
ばすために消費電力を可能なかぎり抑える必要がある。
省電力化の方法としては、動作させる必要のない周辺装
置への電力供給の停止、あるいはクロック信号の停止等
があるが、これだけでは十分とは言えず種々の方法が考
えられている。
【0003】省電力化を図った従来の情報処理装置とし
て、「ページ配置制御による電力管理装置および方法」
(特開平4ー230508号)に技術開示されているも
のがある。この従来技術ではメモリの消費電力を抑える
ために、消費電力のことなる2種類のメモリすなわち通
常の消費電力のメモリと低消費電力のメモリを用いて、
アクセス頻度の高いデータを通常の消費電力のメモリ上
に配置し他方のメモリの電源を切ることで消費電力の増
大を抑えていた。
て、「ページ配置制御による電力管理装置および方法」
(特開平4ー230508号)に技術開示されているも
のがある。この従来技術ではメモリの消費電力を抑える
ために、消費電力のことなる2種類のメモリすなわち通
常の消費電力のメモリと低消費電力のメモリを用いて、
アクセス頻度の高いデータを通常の消費電力のメモリ上
に配置し他方のメモリの電源を切ることで消費電力の増
大を抑えていた。
【0004】
【発明が解決しようとする課題】しかしながら上記従来
技術によれば、データバス上に複数のメモリと外部記憶
装置が接続されているため、データバスの負荷、特に容
量性負荷が重たくなっており、CPUの高速化、データ
バス幅の増加に伴ってデータバスを高速にスイッチング
してドライブすることによる消費電力が装置全体の低消
費電力化を困難にしているという問題点があった。
技術によれば、データバス上に複数のメモリと外部記憶
装置が接続されているため、データバスの負荷、特に容
量性負荷が重たくなっており、CPUの高速化、データ
バス幅の増加に伴ってデータバスを高速にスイッチング
してドライブすることによる消費電力が装置全体の低消
費電力化を困難にしているという問題点があった。
【0005】具体的には、通常データバスは外部記憶装
置に限らず、キーボードコントローラ、通信装置、ディ
スプレイコントローラ、拡張用I/Oスロット等の種々
のI/Oデバイスが接続されるので、その配線長が非常
に長く、そのため負荷容量が重たくなっている。また、
データバス幅が8ビットから16ビット、32ビット、
64ビットと増加するにつれて負荷容量が大きくなって
来る。例えば、CPUがメモリへデータを書き込む場合
に、データバスを通してデータを転送するために、デー
タの転送には不要な書き込みの対象にはなっていないメ
モリあるいはI/O装置までもドライブする必要があ
り、負荷容量に起因する低消費電力化が十分に行えなえ
ないという問題点を有していた。特に、CMOSデバイ
スにより回路が構成されている場合には、装置全体の消
費電力に対して負荷容量に起因する消費電力の影響が大
きい。
置に限らず、キーボードコントローラ、通信装置、ディ
スプレイコントローラ、拡張用I/Oスロット等の種々
のI/Oデバイスが接続されるので、その配線長が非常
に長く、そのため負荷容量が重たくなっている。また、
データバス幅が8ビットから16ビット、32ビット、
64ビットと増加するにつれて負荷容量が大きくなって
来る。例えば、CPUがメモリへデータを書き込む場合
に、データバスを通してデータを転送するために、デー
タの転送には不要な書き込みの対象にはなっていないメ
モリあるいはI/O装置までもドライブする必要があ
り、負荷容量に起因する低消費電力化が十分に行えなえ
ないという問題点を有していた。特に、CMOSデバイ
スにより回路が構成されている場合には、装置全体の消
費電力に対して負荷容量に起因する消費電力の影響が大
きい。
【0006】言い換えると、負荷が重いデータバスに対
して、高速にスイッチングしてデータをドライブするこ
とにより発生する電力は、回路を構成する素子自身の低
消費電力化(CMOS化等)や、一部のI/O装置の動
作停止や電力供給の停止による低消費電力化がいくら進
んでも、装置全体の低消費電力化を困難にしている。本
発明は上記問題点に鑑み、データ転送時における消費電
力を抑え、効率の良い省電力化を可能とする情報処理装
置を提供することを目的とする。
して、高速にスイッチングしてデータをドライブするこ
とにより発生する電力は、回路を構成する素子自身の低
消費電力化(CMOS化等)や、一部のI/O装置の動
作停止や電力供給の停止による低消費電力化がいくら進
んでも、装置全体の低消費電力化を困難にしている。本
発明は上記問題点に鑑み、データ転送時における消費電
力を抑え、効率の良い省電力化を可能とする情報処理装
置を提供することを目的とする。
【0007】
【課題を解決するための手段】請求項1の発明は、CP
Uとメモリを有する情報処理装置であって、CPUから
のデータバスを電気的に接断する第1入出力手段と、メ
モリからのデータバスを電気的に接断し、第1入出力手
段からのデータバスに接続される第2入出力手段と、複
数のデータを保持する第1テーブルを有し、CPUの出
力データと一致するデータが第1テーブルに保持されて
いる場合には第1テーブル内の当該データの位置を表す
位置情報を出力し、また、位置情報が通知された場合に
は通知された位置情報が示す保持データをCPUに出力
する第1テーブル手段と、第1テーブルと同じ複数のデ
ータを第1テーブルの保持位置に対応させて保持する第
2テーブルを有し、メモリから出力されるデータと一致
するデータが第2テーブルに保持されている場合には第
2テーブル内の当該データの位置を表す位置情報を出力
し、また、位置情報が通知された場合には通知された位
置情報が示す保持データをメモリに出力するする第2テ
ーブル手段と、第1テーブル手段から位置情報が出力さ
れた場合、第1及び第2入出力手段にデータバスを切断
させるとともに、当該位置情報を第2テーブル手段に通
知する第1制御手段と、第2テーブル手段から位置情報
が出力された場合、第1及び第2入出力手段にデータバ
スを切断させるとともに、当該位置情報を第1テーブル
手段に通知する第2制御手段とを備えている。
Uとメモリを有する情報処理装置であって、CPUから
のデータバスを電気的に接断する第1入出力手段と、メ
モリからのデータバスを電気的に接断し、第1入出力手
段からのデータバスに接続される第2入出力手段と、複
数のデータを保持する第1テーブルを有し、CPUの出
力データと一致するデータが第1テーブルに保持されて
いる場合には第1テーブル内の当該データの位置を表す
位置情報を出力し、また、位置情報が通知された場合に
は通知された位置情報が示す保持データをCPUに出力
する第1テーブル手段と、第1テーブルと同じ複数のデ
ータを第1テーブルの保持位置に対応させて保持する第
2テーブルを有し、メモリから出力されるデータと一致
するデータが第2テーブルに保持されている場合には第
2テーブル内の当該データの位置を表す位置情報を出力
し、また、位置情報が通知された場合には通知された位
置情報が示す保持データをメモリに出力するする第2テ
ーブル手段と、第1テーブル手段から位置情報が出力さ
れた場合、第1及び第2入出力手段にデータバスを切断
させるとともに、当該位置情報を第2テーブル手段に通
知する第1制御手段と、第2テーブル手段から位置情報
が出力された場合、第1及び第2入出力手段にデータバ
スを切断させるとともに、当該位置情報を第1テーブル
手段に通知する第2制御手段とを備えている。
【0008】請求項2の発明は、請求項1の構成におい
て、前記第1制御手段は、CPUの出力データと一致す
るデータが第1テーブルに保持されていない場合、第1
入出力手段にデータバスを接続させるとともに、第1テ
ーブル手段内の更新すべきデータの位置を示す更新位置
情報を決定し、前記第2制御手段は、メモリの出力デー
タと一致するデータが第2テーブルに保持されていない
場合、第2入出力手段にデータバスを接続させるととも
に、第2テーブル手段内の更新すべきデータの位置を示
す更新位置情報を決定し、前記第1、第2テーブル手段
は、第1制御手段により決定された更新位置情報が示す
第1、第2テーブルの保持位置にCPUからの出力デー
タをそれぞれ格納し、第2制御手段により決定された更
新位置情報が示す第1、第2テーブルの保持位置にメモ
リからの出力データをそれぞれ格納するようにこうせい
されている。
て、前記第1制御手段は、CPUの出力データと一致す
るデータが第1テーブルに保持されていない場合、第1
入出力手段にデータバスを接続させるとともに、第1テ
ーブル手段内の更新すべきデータの位置を示す更新位置
情報を決定し、前記第2制御手段は、メモリの出力デー
タと一致するデータが第2テーブルに保持されていない
場合、第2入出力手段にデータバスを接続させるととも
に、第2テーブル手段内の更新すべきデータの位置を示
す更新位置情報を決定し、前記第1、第2テーブル手段
は、第1制御手段により決定された更新位置情報が示す
第1、第2テーブルの保持位置にCPUからの出力デー
タをそれぞれ格納し、第2制御手段により決定された更
新位置情報が示す第1、第2テーブルの保持位置にメモ
リからの出力データをそれぞれ格納するようにこうせい
されている。
【0009】請求項3の発明は、請求項1の構成におい
て、前記第1入出力手段は、データバスの一部の信号線
を介して第2入出力手段との間で前記位置情報を送受信
する第1送受信回路を有し、前記第2入出力手段は、デ
ータバスの一部の信号線を介して第1入出力手段との間
で前記位置情報を送受信する第2送受信回路を有し、前
記第1制御手段は、第1送受信回路と第2送受信回路を
介して第2テーブル手段に前記位置情報を通知し、前記
第2制御手段は、第2送受信回路と第1送受信回路を介
して第2テーブル手段に前記位置情報を通知するように
構成されている。
て、前記第1入出力手段は、データバスの一部の信号線
を介して第2入出力手段との間で前記位置情報を送受信
する第1送受信回路を有し、前記第2入出力手段は、デ
ータバスの一部の信号線を介して第1入出力手段との間
で前記位置情報を送受信する第2送受信回路を有し、前
記第1制御手段は、第1送受信回路と第2送受信回路を
介して第2テーブル手段に前記位置情報を通知し、前記
第2制御手段は、第2送受信回路と第1送受信回路を介
して第2テーブル手段に前記位置情報を通知するように
構成されている。
【0010】請求項4の発明は、請求項1ないし3記載
の何れかの構成に対して、前記第1入出力手段、第1テ
ーブル手段および第1制御手段の接続先と、前記第2入
出力手段、第2テーブル手段および第2制御手段の接続
先とが、それぞれCPUとメモリであることに代えて、
CPUと周辺装置、又はメモリと周辺装置であるように
構成されている。
の何れかの構成に対して、前記第1入出力手段、第1テ
ーブル手段および第1制御手段の接続先と、前記第2入
出力手段、第2テーブル手段および第2制御手段の接続
先とが、それぞれCPUとメモリであることに代えて、
CPUと周辺装置、又はメモリと周辺装置であるように
構成されている。
【0011】請求項5の発明は、請求項1又は2の構成
において、前記第2テーブルは、さらに保持データのそ
れぞれに対応する複数のメモリアドレスを保持し、前記
第2テーブル手段は、CPUから出力されるメモリ読み
出しアドレスと一致するメモリアドレスが第2テーブル
に保持されているか否かを判定し、保持されている場合
には、第2テーブル内の当該メモリアドレスに対応する
データの位置情報を出力し、第2制御手段は、一致する
メモリアドレスが保持されていると判定された場合には
メモリ読み出しを禁止し、一致するメモリアドレスが保
持されていないと判定された場合にはメモリ読み出しを
実行するように構成されている。
において、前記第2テーブルは、さらに保持データのそ
れぞれに対応する複数のメモリアドレスを保持し、前記
第2テーブル手段は、CPUから出力されるメモリ読み
出しアドレスと一致するメモリアドレスが第2テーブル
に保持されているか否かを判定し、保持されている場合
には、第2テーブル内の当該メモリアドレスに対応する
データの位置情報を出力し、第2制御手段は、一致する
メモリアドレスが保持されていると判定された場合には
メモリ読み出しを禁止し、一致するメモリアドレスが保
持されていないと判定された場合にはメモリ読み出しを
実行するように構成されている。
【0012】請求項6の発明は、請求項1ないし3のい
ずれかの構成において、前記第1テーブル手段は、デー
タを保持する複数のレジスタからなる第1テーブルと、
CPUから出力されるデータと個々のレジスタの保持デ
ータとを比較し、どの保持データが一致するか否かを判
定する第1比較回路と、一致したデータを保持するレジ
スタの位置情報を出力する第1位置情報出力回路と、第
2制御手段から通知された位置情報が示すレジスタから
保持データをCPUに出力する第1データ出力回路とを
有し、 前記第2テーブル手段は、データを保持する複
数のレジスタからなる第2テーブルと、メモリから出力
されるデータと個々のレジスタの保持データとを比較
し、どの保持データが一致するか否かを判定する第2比
較回路と、一致したデータを保持するレジスタの位置情
報を出力する第2位置情報出力回路と、第1制御手段か
ら通知された位置情報が示すレジスタから保持データを
メモリに出力する第2データ出力回路とを有するように
構成されている。
ずれかの構成において、前記第1テーブル手段は、デー
タを保持する複数のレジスタからなる第1テーブルと、
CPUから出力されるデータと個々のレジスタの保持デ
ータとを比較し、どの保持データが一致するか否かを判
定する第1比較回路と、一致したデータを保持するレジ
スタの位置情報を出力する第1位置情報出力回路と、第
2制御手段から通知された位置情報が示すレジスタから
保持データをCPUに出力する第1データ出力回路とを
有し、 前記第2テーブル手段は、データを保持する複
数のレジスタからなる第2テーブルと、メモリから出力
されるデータと個々のレジスタの保持データとを比較
し、どの保持データが一致するか否かを判定する第2比
較回路と、一致したデータを保持するレジスタの位置情
報を出力する第2位置情報出力回路と、第1制御手段か
ら通知された位置情報が示すレジスタから保持データを
メモリに出力する第2データ出力回路とを有するように
構成されている。
【0013】請求項7の発明は、請求項5の構成におい
て、前記第1テーブル手段は、データを保持する複数の
レジスタからなる第1テーブルと、CPUから出力され
るデータと個々のレジスタの保持データとを比較し、ど
の保持データが一致するかを判定する第1比較回路と、
一致したデータを保持するレジスタの位置情報を出力す
る第1位置情報出力回路と、第2制御手段から通知され
た位置情報が示すレジスタから保持データをCPUに出
力する第1データ出力回路とを有し、 前記第2テーブ
ル手段は、データを保持する複数のデータレジスタと、
データレジスタに対応する複数のアドレスレジスタとか
らなる第2テーブルと、CPUからのアドレスバスに出
力されるアドレスと、メモリからのデータバスに出力さ
れるデータとの何れかを選択するバス選択回路と、アド
レスレジスタの出力とデータレジスタの出力との何れか
を選択する複数のレジスタ選択回路と、バス選択回路の
出力と、個々のレジスタ選択回路の出力とを比較し、レ
ジスタが一致するかを判定する第2比較回路と、第2比
較回路により一致したレジスタ位置情報を出力する第2
位置情報出力回路と、第1制御手段から通知された位置
情報が示すレジスタから保持データをメモリに出力する
第2データ出力回路とを有するように構成されている。
て、前記第1テーブル手段は、データを保持する複数の
レジスタからなる第1テーブルと、CPUから出力され
るデータと個々のレジスタの保持データとを比較し、ど
の保持データが一致するかを判定する第1比較回路と、
一致したデータを保持するレジスタの位置情報を出力す
る第1位置情報出力回路と、第2制御手段から通知され
た位置情報が示すレジスタから保持データをCPUに出
力する第1データ出力回路とを有し、 前記第2テーブ
ル手段は、データを保持する複数のデータレジスタと、
データレジスタに対応する複数のアドレスレジスタとか
らなる第2テーブルと、CPUからのアドレスバスに出
力されるアドレスと、メモリからのデータバスに出力さ
れるデータとの何れかを選択するバス選択回路と、アド
レスレジスタの出力とデータレジスタの出力との何れか
を選択する複数のレジスタ選択回路と、バス選択回路の
出力と、個々のレジスタ選択回路の出力とを比較し、レ
ジスタが一致するかを判定する第2比較回路と、第2比
較回路により一致したレジスタ位置情報を出力する第2
位置情報出力回路と、第1制御手段から通知された位置
情報が示すレジスタから保持データをメモリに出力する
第2データ出力回路とを有するように構成されている。
【0014】
【作用】上記の手段により請求項1の発明に係る情報処
理装置においては、CPUのメモリライトに際して第1
テーブル手段は、CPUの出力データと一致するデータ
が第1テーブルに保持されている場合(以下ヒットと呼
ぶ)には第1テーブル内の当該データの位置を表す位置
情報を出力する。第1制御手段は、第1テーブル手段か
ら位置情報が出力された場合、第1及び第2入出力手段
にデータバスを切断させるとともに、当該位置情報を第
2テーブル手段に通知する。第2テーブル手段は、第1
制御手段から通知された位置情報が示す第2テーブル内
の保持データをメモリに出力する。これにより第1テー
ブルがCPUからのメモリライトデータと同じデータを
保持している場合には、第2テーブル手段に位置情報が
通知されるので、第1、第2入出力手段により負荷が重
いデータバス上にデータをドライブする必要がなくな
り、メモリライト時の低消費電力化が図れる。
理装置においては、CPUのメモリライトに際して第1
テーブル手段は、CPUの出力データと一致するデータ
が第1テーブルに保持されている場合(以下ヒットと呼
ぶ)には第1テーブル内の当該データの位置を表す位置
情報を出力する。第1制御手段は、第1テーブル手段か
ら位置情報が出力された場合、第1及び第2入出力手段
にデータバスを切断させるとともに、当該位置情報を第
2テーブル手段に通知する。第2テーブル手段は、第1
制御手段から通知された位置情報が示す第2テーブル内
の保持データをメモリに出力する。これにより第1テー
ブルがCPUからのメモリライトデータと同じデータを
保持している場合には、第2テーブル手段に位置情報が
通知されるので、第1、第2入出力手段により負荷が重
いデータバス上にデータをドライブする必要がなくな
り、メモリライト時の低消費電力化が図れる。
【0015】また、CPUのメモリリードに際して第2
テーブル手段は、メモリの出力データと一致するデータ
が第2テーブルにヒットした場合、には第2テーブル内
の当該データの位置を表す位置情報を出力する。第2制
御手段は、第2テーブル手段から位置情報が出力された
場合、第1及び第2入出力手段にデータバスを切断させ
るとともに、当該位置情報を第1テーブル手段に通知す
る。第1テーブル手段は、第2制御手段から通知された
位置情報が示す第1テーブル内の保持データをCPUに
出力する。これにより第2テーブルがメモリからのリー
ドデータと同じデータを保持している場合には、第1テ
ーブル手段に位置情報が通知されるので、第2、第1入
出力手段によりデータバス上にデータをドライブする必
要がなくなり、メモリリード時の低消費電力化が図れ
る。
テーブル手段は、メモリの出力データと一致するデータ
が第2テーブルにヒットした場合、には第2テーブル内
の当該データの位置を表す位置情報を出力する。第2制
御手段は、第2テーブル手段から位置情報が出力された
場合、第1及び第2入出力手段にデータバスを切断させ
るとともに、当該位置情報を第1テーブル手段に通知す
る。第1テーブル手段は、第2制御手段から通知された
位置情報が示す第1テーブル内の保持データをCPUに
出力する。これにより第2テーブルがメモリからのリー
ドデータと同じデータを保持している場合には、第1テ
ーブル手段に位置情報が通知されるので、第2、第1入
出力手段によりデータバス上にデータをドライブする必
要がなくなり、メモリリード時の低消費電力化が図れ
る。
【0016】請求項2の情報処理装置では、請求項1の
情報処理装置に対して、第1制御手段は、メモリライト
時にライトデータと一致するデータが第1テーブルに保
持されていなかった場合(以下ミスヒットと呼ぶ)に、
第1テーブルの更新すべき位置を決定する。第2制御手
段は、メモリリード時にリードデータと一致するデータ
が第2テーブルに保持されていなかった場合に、第2テ
ーブルの更新すべき位置を決定する。前記第1、第2テ
ーブル手段は、第1、第2制御手段により決定された更
新位置情報が示す第1、第2テーブルの保持位置にデー
タバスを介して転送されたデータを格納する。これによ
り、第1、第2テーブルの保持データの同一性を保った
ままよりヒット率の高いデータに更新することができ
る。
情報処理装置に対して、第1制御手段は、メモリライト
時にライトデータと一致するデータが第1テーブルに保
持されていなかった場合(以下ミスヒットと呼ぶ)に、
第1テーブルの更新すべき位置を決定する。第2制御手
段は、メモリリード時にリードデータと一致するデータ
が第2テーブルに保持されていなかった場合に、第2テ
ーブルの更新すべき位置を決定する。前記第1、第2テ
ーブル手段は、第1、第2制御手段により決定された更
新位置情報が示す第1、第2テーブルの保持位置にデー
タバスを介して転送されたデータを格納する。これによ
り、第1、第2テーブルの保持データの同一性を保った
ままよりヒット率の高いデータに更新することができ
る。
【0017】請求項3の情報処理装置では、請求項1の
情報処理装置に対して、位置情報は、第1送受信回路と
第2送受信回路によってデータバスの一部の信号線を利
用して送受信される。これによりハードウェアの増加を
抑えて不要なデータバスのドライブを低減でき、データ
転送時の消費電力を低減することができる。請求項4の
情報処理装置では、請求項1ないし3記載の何れかの情
報処理装置に対して、CPUと周辺装置、又はメモリと
周辺装置の間のデータ転送について、負荷が重いデータ
バスをドライブする代わりにデータの位置情報を送受信
することができる。これによりCPUと周辺装置、又は
メモリと周辺装置の間のデータ転送について省電力化を
図ることができる。
情報処理装置に対して、位置情報は、第1送受信回路と
第2送受信回路によってデータバスの一部の信号線を利
用して送受信される。これによりハードウェアの増加を
抑えて不要なデータバスのドライブを低減でき、データ
転送時の消費電力を低減することができる。請求項4の
情報処理装置では、請求項1ないし3記載の何れかの情
報処理装置に対して、CPUと周辺装置、又はメモリと
周辺装置の間のデータ転送について、負荷が重いデータ
バスをドライブする代わりにデータの位置情報を送受信
することができる。これによりCPUと周辺装置、又は
メモリと周辺装置の間のデータ転送について省電力化を
図ることができる。
【0018】請求項5の情報処理装置では、請求項1又
は2記載の情報処理装置に対して、メモリリード時に前
記第2テーブル手段は、CPUから出力されるメモリ読
み出しアドレスと一致するメモリアドレスが第2テーブ
ルに保持されているか否かを判定し、保持されている場
合(ヒットした場合)には、第2テーブル内の当該メモ
リアドレスに対応するデータの位置情報を出力する。第
2制御手段は、一致するメモリアドレスが保持されてい
ると判定された場合にはメモリ読み出しを禁止し、一致
するメモリアドレスが保持されていないと判定された場
合にはメモリ読み出しを実行する。つまり、第2テーブ
ル手段はメモリリードに先立って、アドレスに関してヒ
ット/ミスヒットを判定し、さらにアドレスミスヒット
ならばデータのヒット/ミスヒットを判定する。いずれ
のヒット時にもデータバスのドライブが不要になるのに
加えて、アドレスヒット時にはメモリリード動作そのも
のが不要になるのでさらに消費電力を低減することがで
きる。
は2記載の情報処理装置に対して、メモリリード時に前
記第2テーブル手段は、CPUから出力されるメモリ読
み出しアドレスと一致するメモリアドレスが第2テーブ
ルに保持されているか否かを判定し、保持されている場
合(ヒットした場合)には、第2テーブル内の当該メモ
リアドレスに対応するデータの位置情報を出力する。第
2制御手段は、一致するメモリアドレスが保持されてい
ると判定された場合にはメモリ読み出しを禁止し、一致
するメモリアドレスが保持されていないと判定された場
合にはメモリ読み出しを実行する。つまり、第2テーブ
ル手段はメモリリードに先立って、アドレスに関してヒ
ット/ミスヒットを判定し、さらにアドレスミスヒット
ならばデータのヒット/ミスヒットを判定する。いずれ
のヒット時にもデータバスのドライブが不要になるのに
加えて、アドレスヒット時にはメモリリード動作そのも
のが不要になるのでさらに消費電力を低減することがで
きる。
【0019】請求項6の情報処理装置では、請求項1な
いし3記載の何れかの情報処理装置において、前記第1
テーブル手段は、第1比較回路のデータのヒット/ミス
ヒット判定結果に応じて、第1位置情報出力回路から位
置情報を出力し、また、第2制御手段から通知された位
置情報が示す保持データを第1データ出力回路から出力
する。第2テーブル手段も同様である。これにより、高
速に動作する第1、第2テーブル手段を簡単なハードウ
ェア構成で実現することができる。
いし3記載の何れかの情報処理装置において、前記第1
テーブル手段は、第1比較回路のデータのヒット/ミス
ヒット判定結果に応じて、第1位置情報出力回路から位
置情報を出力し、また、第2制御手段から通知された位
置情報が示す保持データを第1データ出力回路から出力
する。第2テーブル手段も同様である。これにより、高
速に動作する第1、第2テーブル手段を簡単なハードウ
ェア構成で実現することができる。
【0020】請求項7の情報処理装置では、請求項5の
情報処理装置において、前記第2テーブル手段は、バス
選択回路及びレジスタ選択回路の選択に応じて、第2比
較回路において先ずメモリリードアドレスのヒット/ミ
スヒットを判定し、次にアドレスミスヒット時にはメモ
リリードデータのヒットミスヒットを判定する。第2位
置情報出力回路は、第2比較回路によりアドレス、デー
タそれぞれの判定結果において一致したレジスタ位置情
報を出力する。これによりアドレスとデータの両者のヒ
ット/ミスヒットを高速に判定する第2テーブル手段を
簡単な構成で実現できる。
情報処理装置において、前記第2テーブル手段は、バス
選択回路及びレジスタ選択回路の選択に応じて、第2比
較回路において先ずメモリリードアドレスのヒット/ミ
スヒットを判定し、次にアドレスミスヒット時にはメモ
リリードデータのヒットミスヒットを判定する。第2位
置情報出力回路は、第2比較回路によりアドレス、デー
タそれぞれの判定結果において一致したレジスタ位置情
報を出力する。これによりアドレスとデータの両者のヒ
ット/ミスヒットを高速に判定する第2テーブル手段を
簡単な構成で実現できる。
【0021】
【実施例】図1は、本発明の第1の実施例における情報
処理装置の構成を示すブロック図である。本情報処理装
置は、中央演算処理装置(以下CPUと略す)100、
参照テーブル110、制御回路120、データ入出力回
路130、メモリ制御回路170、メモリ180、外部
記憶装置190を備えてる。メモリ制御回路170は参
照テーブル140、制御回路150、データ入出力回路
160からなる。これらの構成要素は、アドレスバス1
01、データバス102、バス制御信号103、信号線
111、信号線121、データバス131、信号線14
1、信号線151、データバス181、により同図のよ
うに接続されている。本実施例ではデータバス102、
131、181のビット長は32ビットであるものとす
る。
処理装置の構成を示すブロック図である。本情報処理装
置は、中央演算処理装置(以下CPUと略す)100、
参照テーブル110、制御回路120、データ入出力回
路130、メモリ制御回路170、メモリ180、外部
記憶装置190を備えてる。メモリ制御回路170は参
照テーブル140、制御回路150、データ入出力回路
160からなる。これらの構成要素は、アドレスバス1
01、データバス102、バス制御信号103、信号線
111、信号線121、データバス131、信号線14
1、信号線151、データバス181、により同図のよ
うに接続されている。本実施例ではデータバス102、
131、181のビット長は32ビットであるものとす
る。
【0022】CPU100は、一般的なマイクロプロセ
ッサであり、メモリ180に対してアクセスする場合に
は、アドレスバス101、バス制御信号103上にアド
レス、読み出し/書き込み要求をそれぞれ出力するとと
もに、データバス102を介して読み出し/書き込みデ
ータの入出力を行う。参照テーブル110は、CPU1
00のメモリアクセスにおいて転送される出現頻度の高
い複数のデータを保持すると共に、CPU100のメモ
リ書き込み時には制御回路120からの検索指示を受け
ると、CPU100から出力されるメモリ書き込みデー
タが、保持された複数のデータ中の何れかに一致するか
どうかを判定し、一致するデータを保持している場合
は、その一致したデータの参照テーブル110内での位
置情報を表すエントリーアドレスを信号線111に出力
して制御回路120にヒットしたことを通知する。一致
するデータを保持していない場合はミスヒットしたこと
を制御回路120に通知する。また、参照テーブル11
0は、CPU100のメモリ読み出し時には、制御回路
120からエントリーアドレスの指定とデータ出力指示
を受けると、保持されてデータ中のエントリーアドレス
に対応するデータをデータバス102に出力する。この
参照テーブル110が保持するデータについては、後述
のように参照テーブル140と同一のデータが格納され
る。
ッサであり、メモリ180に対してアクセスする場合に
は、アドレスバス101、バス制御信号103上にアド
レス、読み出し/書き込み要求をそれぞれ出力するとと
もに、データバス102を介して読み出し/書き込みデ
ータの入出力を行う。参照テーブル110は、CPU1
00のメモリアクセスにおいて転送される出現頻度の高
い複数のデータを保持すると共に、CPU100のメモ
リ書き込み時には制御回路120からの検索指示を受け
ると、CPU100から出力されるメモリ書き込みデー
タが、保持された複数のデータ中の何れかに一致するか
どうかを判定し、一致するデータを保持している場合
は、その一致したデータの参照テーブル110内での位
置情報を表すエントリーアドレスを信号線111に出力
して制御回路120にヒットしたことを通知する。一致
するデータを保持していない場合はミスヒットしたこと
を制御回路120に通知する。また、参照テーブル11
0は、CPU100のメモリ読み出し時には、制御回路
120からエントリーアドレスの指定とデータ出力指示
を受けると、保持されてデータ中のエントリーアドレス
に対応するデータをデータバス102に出力する。この
参照テーブル110が保持するデータについては、後述
のように参照テーブル140と同一のデータが格納され
る。
【0023】さらに参照テーブル110は、制御回路1
20からの指示により内部のデータをリプレースする機
能を有している。リプレース機能は、送信リプレース機
能と、受信リプレース機能とがある。送信リプレース機
能は、参照テーブル110内でミスヒット発生時にLR
U方式等のリプレースアルゴリズムによりエントリーの
1つをリプレースするとともに参照テーブル140に対
してエントリーアドレスとデータを送信することであ
る。受信リプレース機能は、参照テーブル140内での
ミスヒット時に参照テーブル140からのエントリーア
ドレスとデータとを受信した場合に参照テーブル110
の当該エントリーをリプレースすることである。なお、
上記リプレースアルゴリズムは、よく知られている方法
として、上記のLRU方式のほか、リプレースエントリ
をランダムに選ぶランダム方式、時間的に古いエントリ
を選ぶFIFO方式等があり、本実施例ではLRU方式
とするが、他の方法を採用してもよい。
20からの指示により内部のデータをリプレースする機
能を有している。リプレース機能は、送信リプレース機
能と、受信リプレース機能とがある。送信リプレース機
能は、参照テーブル110内でミスヒット発生時にLR
U方式等のリプレースアルゴリズムによりエントリーの
1つをリプレースするとともに参照テーブル140に対
してエントリーアドレスとデータを送信することであ
る。受信リプレース機能は、参照テーブル140内での
ミスヒット時に参照テーブル140からのエントリーア
ドレスとデータとを受信した場合に参照テーブル110
の当該エントリーをリプレースすることである。なお、
上記リプレースアルゴリズムは、よく知られている方法
として、上記のLRU方式のほか、リプレースエントリ
をランダムに選ぶランダム方式、時間的に古いエントリ
を選ぶFIFO方式等があり、本実施例ではLRU方式
とするが、他の方法を採用してもよい。
【0024】制御回路120は、CPU100からメモ
リ180へのメモリアクセスが実行される際に、参照テ
ーブル110又は参照テーブル140においてミスヒッ
トした場合にはデータ入出力回路130にアクセスデー
タをドライブさせ、ヒットした場合にはアクセスデータ
の代わりに参照テーブルのエントリーアドレスを送受信
する。また、制御回路120は、電源投入後あるいはア
プリケーションの切り替え時等にCPU100からの指
示に従って参照テーブル110に送信リプレース指示及
び受信リプレース指示を出力する。
リ180へのメモリアクセスが実行される際に、参照テ
ーブル110又は参照テーブル140においてミスヒッ
トした場合にはデータ入出力回路130にアクセスデー
タをドライブさせ、ヒットした場合にはアクセスデータ
の代わりに参照テーブルのエントリーアドレスを送受信
する。また、制御回路120は、電源投入後あるいはア
プリケーションの切り替え時等にCPU100からの指
示に従って参照テーブル110に送信リプレース指示及
び受信リプレース指示を出力する。
【0025】データ入出力回路130は、データバス1
02とデータバス131との間に設けられ電気的に接続
されたバスを接続及び切断し、接続時には双方向にデー
タをドライブする回路であり、制御回路120から信号
線121を介してミスヒットしたことが通知されるとき
にはデータをドライブし、ヒットしたことが通知される
ときにはデータをドライブしない。ドライブ方向は、C
PU100からメモリ180への書き込み時にはデータ
バス102からデータバス131へ、読み出し時にはデ
ータバス131からデータバス102の方向となる。デ
ータ入出力回路130は、CPU100、参照テーブル
110の近傍に配置されデータバス102のバス長が最
短になるように実装されることが望ましい。
02とデータバス131との間に設けられ電気的に接続
されたバスを接続及び切断し、接続時には双方向にデー
タをドライブする回路であり、制御回路120から信号
線121を介してミスヒットしたことが通知されるとき
にはデータをドライブし、ヒットしたことが通知される
ときにはデータをドライブしない。ドライブ方向は、C
PU100からメモリ180への書き込み時にはデータ
バス102からデータバス131へ、読み出し時にはデ
ータバス131からデータバス102の方向となる。デ
ータ入出力回路130は、CPU100、参照テーブル
110の近傍に配置されデータバス102のバス長が最
短になるように実装されることが望ましい。
【0026】参照テーブル140は、参照テーブル11
0と同じ複数のデータを保持すると共に、CPU100
のメモリ書き込み時に制御回路150からエントリーア
ドレスの指定とデータ出力指示を受けると、エントリー
アドレスに対応するデータをデータバス181に出力す
る。また参照テーブル140は、CPU100のメモリ
読み出し時に制御回路150から検索指示を受けると、
メモリ180から出力されるメモリ読み出しデータが、
保持された複数のデータ中の何れかに一致するかどうか
を判定し、一致するデータを保持している場合は、その
一致したデータの参照テーブル140内での位置情報を
表すエントリーアドレスを信号線141に出力して制御
回路150にヒットしたことを通知する。一致するデー
タを保持していない場合はミスヒットしたことを制御回
路150に通知する。
0と同じ複数のデータを保持すると共に、CPU100
のメモリ書き込み時に制御回路150からエントリーア
ドレスの指定とデータ出力指示を受けると、エントリー
アドレスに対応するデータをデータバス181に出力す
る。また参照テーブル140は、CPU100のメモリ
読み出し時に制御回路150から検索指示を受けると、
メモリ180から出力されるメモリ読み出しデータが、
保持された複数のデータ中の何れかに一致するかどうか
を判定し、一致するデータを保持している場合は、その
一致したデータの参照テーブル140内での位置情報を
表すエントリーアドレスを信号線141に出力して制御
回路150にヒットしたことを通知する。一致するデー
タを保持していない場合はミスヒットしたことを制御回
路150に通知する。
【0027】制御回路150は、CPU100からメモ
リ180へのメモリアクセスが実行される際に、データ
入出力回路160にアクセスデータをドライブさせる
か、アクセスデータの代わりに参照テーブル140のエ
ントリーアドレスを送信するかを制御するとともに、参
照テーブル140のデータ更新を制御する。データ入出
力回路160は、データバス181とデータバス131
との間で双方向にデータをドライブする回路であり、制
御回路150から信号線151を介してミスヒットした
ことが通知されるときにはデータをドライブし、ヒット
したことが通知されるときにはデータをドライブしな
い。ドライブ方向は、CPU100からメモリ180へ
の書き込み時にはデータバス131からデータバス18
1へ、読み出し時にはデータバス181からデータバス
131の方向となる。データ入出力回路160は、メモ
リ180及び参照テーブル140の近傍に配置されデー
タバス181のパターン長が最短になるように実装され
ることが望ましい。
リ180へのメモリアクセスが実行される際に、データ
入出力回路160にアクセスデータをドライブさせる
か、アクセスデータの代わりに参照テーブル140のエ
ントリーアドレスを送信するかを制御するとともに、参
照テーブル140のデータ更新を制御する。データ入出
力回路160は、データバス181とデータバス131
との間で双方向にデータをドライブする回路であり、制
御回路150から信号線151を介してミスヒットした
ことが通知されるときにはデータをドライブし、ヒット
したことが通知されるときにはデータをドライブしな
い。ドライブ方向は、CPU100からメモリ180へ
の書き込み時にはデータバス131からデータバス18
1へ、読み出し時にはデータバス181からデータバス
131の方向となる。データ入出力回路160は、メモ
リ180及び参照テーブル140の近傍に配置されデー
タバス181のパターン長が最短になるように実装され
ることが望ましい。
【0028】メモリ180は、DRAMやSRAM等の
メモリ素子からなる一般的な半導体メモリであり、CP
U100が実行するプログラムやデータを格納する。外
部記憶装置190は、いわゆる二次記憶装置である。図
2は、保持データ個数が4個の場合の参照テーブル11
0及び参照テーブル140の詳細な構成例を示す回路図
である。参照テーブル110と参照テーブル140と
は、同一の構成を有するが、メモリライトとメモリリー
ドに関して対称的に動作する点が異なる。例えば参照テ
ーブル110、参照テーブル140は、CPUのメモリ
ライト時、メモリリード時に、ヒット/ミスヒットをそ
れぞれ判定する。以下では参照テーブル110の構成を
中心に説明するが、参照テーブル140についても同様
である。
メモリ素子からなる一般的な半導体メモリであり、CP
U100が実行するプログラムやデータを格納する。外
部記憶装置190は、いわゆる二次記憶装置である。図
2は、保持データ個数が4個の場合の参照テーブル11
0及び参照テーブル140の詳細な構成例を示す回路図
である。参照テーブル110と参照テーブル140と
は、同一の構成を有するが、メモリライトとメモリリー
ドに関して対称的に動作する点が異なる。例えば参照テ
ーブル110、参照テーブル140は、CPUのメモリ
ライト時、メモリリード時に、ヒット/ミスヒットをそ
れぞれ判定する。以下では参照テーブル110の構成を
中心に説明するが、参照テーブル140についても同様
である。
【0029】参照テーブル110は、データレジスタ2
10〜240、出力バッファ247、比較回路250〜
280、エンコーダ290、論理和回路295、参照テ
ーブル制御回路200とから構成され、信号線201、
一致信号202、リプレース要求信号203、エントリ
ーアドレス204、検索指示信号205、エントリーア
ドレス291、ヒット信号292により接続される。こ
こで、信号線201はデータレジスタ210〜240に
対する書き込み/読み出し要求信号、一致信号202は
4ビット幅でデータレジスタ210〜240のデータが
データバス102に一致したこと示す。リプレース要求
信号203、エントリーアドレス204、エントリーア
ドレス291、ヒット信号292は、図1の信号線11
1に含まれる信号である。
10〜240、出力バッファ247、比較回路250〜
280、エンコーダ290、論理和回路295、参照テ
ーブル制御回路200とから構成され、信号線201、
一致信号202、リプレース要求信号203、エントリ
ーアドレス204、検索指示信号205、エントリーア
ドレス291、ヒット信号292により接続される。こ
こで、信号線201はデータレジスタ210〜240に
対する書き込み/読み出し要求信号、一致信号202は
4ビット幅でデータレジスタ210〜240のデータが
データバス102に一致したこと示す。リプレース要求
信号203、エントリーアドレス204、エントリーア
ドレス291、ヒット信号292は、図1の信号線11
1に含まれる信号である。
【0030】図2においてデータレジスタ210〜24
0は、32ビットデータをそれぞれ保持する。それぞれ
の保持データは、制御回路120及び制御回路150に
よって格納される。セレクタ246は、参照テーブル制
御回路200の指示によりデータレジスタ210〜24
0のうち何れかのデータを選択する。
0は、32ビットデータをそれぞれ保持する。それぞれ
の保持データは、制御回路120及び制御回路150に
よって格納される。セレクタ246は、参照テーブル制
御回路200の指示によりデータレジスタ210〜24
0のうち何れかのデータを選択する。
【0031】出力バッファ247は、セレクタ246に
より選択されたデータをデータバス102に出力する。
比較回路250は、データレジスタ210のデータとデ
ータバス102のデータとを比較し一致するか否かを判
定する。一致した場合には一致信号202内の対応する
ビットを有効にする。
より選択されたデータをデータバス102に出力する。
比較回路250は、データレジスタ210のデータとデ
ータバス102のデータとを比較し一致するか否かを判
定する。一致した場合には一致信号202内の対応する
ビットを有効にする。
【0032】比較回路260〜280は、比較回路25
0と同様にレジスタ220〜240のデータと、データ
バス102のデータとを比較し一致する否かを判定す
る。一致した場合には一致信号202内の対応するビッ
トを有効にする。エンコーダ290は、データレジスタ
210〜240から出力される4ビットの一致信号を2
ビットにエンコードして、エンコード結果をエントリー
アドレス291に出力する。その結果、データレジスタ
210〜240のエントリーアドレスは、それぞれ2ビ
ットの11、10、01、00で表されることになる。
0と同様にレジスタ220〜240のデータと、データ
バス102のデータとを比較し一致する否かを判定す
る。一致した場合には一致信号202内の対応するビッ
トを有効にする。エンコーダ290は、データレジスタ
210〜240から出力される4ビットの一致信号を2
ビットにエンコードして、エンコード結果をエントリー
アドレス291に出力する。その結果、データレジスタ
210〜240のエントリーアドレスは、それぞれ2ビ
ットの11、10、01、00で表されることになる。
【0033】論理和回路295は、データレジスタ21
0〜240から出力される4ビットの一致信号の論理和
をとることにより、一致信号のいずれかが一致したこと
を示しているときにはヒット信号292を有効にする。
参照テーブル制御回路200は、制御回路120から検
索指示信号205を介して検索指示を受けると、一致信
号のいずれかが有効な場合にはエンコーダ290のエン
トリーアドレスを出力させる。また、制御回路120か
らリプレース要求信号203を介して受信リプレース要
求を受けると、エントリーアドレス204で指定される
レジスタにデータバス102上のデータを格納し、送信
リプレース要求を受けると、ミスヒット時に一般的なL
RU方式によりリプレースすべきレジスタを決定し、決
定されたレジスタのエントリーアドレスをエントリーア
ドレス204を介して出力するとともに、当該レジスタ
にデータバス102上のデータを格納する。
0〜240から出力される4ビットの一致信号の論理和
をとることにより、一致信号のいずれかが一致したこと
を示しているときにはヒット信号292を有効にする。
参照テーブル制御回路200は、制御回路120から検
索指示信号205を介して検索指示を受けると、一致信
号のいずれかが有効な場合にはエンコーダ290のエン
トリーアドレスを出力させる。また、制御回路120か
らリプレース要求信号203を介して受信リプレース要
求を受けると、エントリーアドレス204で指定される
レジスタにデータバス102上のデータを格納し、送信
リプレース要求を受けると、ミスヒット時に一般的なL
RU方式によりリプレースすべきレジスタを決定し、決
定されたレジスタのエントリーアドレスをエントリーア
ドレス204を介して出力するとともに、当該レジスタ
にデータバス102上のデータを格納する。
【0034】図3は、制御回路120及び制御回路15
0の制御論理を表したフローチャートである。制御回路
120と制御回路150とは、同様の制御論理を有して
おり、相互に送受信する点で対称的に動作する。例え
ば、転送要求がCPU100のメモリライトであるとき
には制御回路120がデータ及びエントリーアドレスの
送信側となり、転送要求がメモリリードであるときには
制御回路150がデータ及びエントリーアドレスの送信
側となる。以下、制御回路120の制御論理を中心に説
明するが、制御回路150についても同様である。
0の制御論理を表したフローチャートである。制御回路
120と制御回路150とは、同様の制御論理を有して
おり、相互に送受信する点で対称的に動作する。例え
ば、転送要求がCPU100のメモリライトであるとき
には制御回路120がデータ及びエントリーアドレスの
送信側となり、転送要求がメモリリードであるときには
制御回路150がデータ及びエントリーアドレスの送信
側となる。以下、制御回路120の制御論理を中心に説
明するが、制御回路150についても同様である。
【0035】同図に示すように、制御回路120は、制
御信号103上にCPU100からの書き込み要求が出
力されていることを検出すると(ステップ1001、ス
テップ1002:yes)、参照テーブル110に上記検
索を実行させる(ステップ1003)。参照テーブルに
おける検索実行後に、制御回路120は、参照テーブル
110からエントリーアドレスの指定及びヒットしたこ
とが通知されると(ステップ1004:yes)、ヒット
したことと指定されたエントリーアドレスとを信号線1
22、信号線123を介して制御回路150に通知する
とともに、データ入出力回路130に対してデータバス
102上の書き込みデータをデータバス131へ出力し
ないよう、即ちデータバス131のドライブを禁止する
よう制御する(ステップ1005)。また制御回路12
0は、参照テーブル110からミスヒットしたことを通
知されると(ステップ1004:no)、ミスヒットした
ことを信号線122を介して制御回路150に通知する
とともに、データ入出力回路130に対してデータバス
102上のデータをデータバス131にドライブするよ
う制御する(ステップ1005)。また制御回路120
は、制御信号103上にCPU100からの読み出し要
求が出力されていることを検出すると(ステップ100
2:no)、制御回路150から信号線122、信号線1
23を介してヒットしたこととエントリーアドレスとが
通知されると(ステップ1007:yes)、参照テーブ
ル110に対してエントリーアドレスの指定とデータ出
力指示を出力し(ステップ1008、1009)、ミス
ヒットしたことが通知されると(ステップ1007:n
o)、データ入出力回路130に対してデータバス13
1上のデータをデータバス102にドライブするよう制
御する(ステップ1010)。
御信号103上にCPU100からの書き込み要求が出
力されていることを検出すると(ステップ1001、ス
テップ1002:yes)、参照テーブル110に上記検
索を実行させる(ステップ1003)。参照テーブルに
おける検索実行後に、制御回路120は、参照テーブル
110からエントリーアドレスの指定及びヒットしたこ
とが通知されると(ステップ1004:yes)、ヒット
したことと指定されたエントリーアドレスとを信号線1
22、信号線123を介して制御回路150に通知する
とともに、データ入出力回路130に対してデータバス
102上の書き込みデータをデータバス131へ出力し
ないよう、即ちデータバス131のドライブを禁止する
よう制御する(ステップ1005)。また制御回路12
0は、参照テーブル110からミスヒットしたことを通
知されると(ステップ1004:no)、ミスヒットした
ことを信号線122を介して制御回路150に通知する
とともに、データ入出力回路130に対してデータバス
102上のデータをデータバス131にドライブするよ
う制御する(ステップ1005)。また制御回路120
は、制御信号103上にCPU100からの読み出し要
求が出力されていることを検出すると(ステップ100
2:no)、制御回路150から信号線122、信号線1
23を介してヒットしたこととエントリーアドレスとが
通知されると(ステップ1007:yes)、参照テーブ
ル110に対してエントリーアドレスの指定とデータ出
力指示を出力し(ステップ1008、1009)、ミス
ヒットしたことが通知されると(ステップ1007:n
o)、データ入出力回路130に対してデータバス13
1上のデータをデータバス102にドライブするよう制
御する(ステップ1010)。
【0036】図3中の破線で示したステップ1006
a、1010aは、電源投入時あるいはアプリケーショ
ンの切り替え時にCPU100からの指示があったとき
のみに実行される。実行された場合、参照テーブル11
0、参照テーブル140のデータを更新することにな
る。以上のように構成された本発明の第1の実施例にお
ける情報処理装置について、CPU100からメモリ1
80へのデータ書き込み処理および読み出し処理にわけ
て説明する。
a、1010aは、電源投入時あるいはアプリケーショ
ンの切り替え時にCPU100からの指示があったとき
のみに実行される。実行された場合、参照テーブル11
0、参照テーブル140のデータを更新することにな
る。以上のように構成された本発明の第1の実施例にお
ける情報処理装置について、CPU100からメモリ1
80へのデータ書き込み処理および読み出し処理にわけ
て説明する。
【0037】(1)CPU100がメモリ180へデー
タの書き込みを行なう場合 CPU100は、制御信号線103、アドレスバス10
1およびデータバス102にそれぞれバスの制御情報、
書き込みを行なうアドレス、および書き込むデータを出
力する。制御回路120は、制御信号103によりCP
Uの書き込み要求を検出し、参照テーブル110に対し
て書き込みデータをデータバス102より入力し検索を
行なうよう指示する。参照テーブル110は、データバ
ス102より入力したデータと保持している複数のデー
タのいずれかとが一致するかどうか検索し、その検索の
結果に基づき、一致するデータを保持している場合は、
その一致したデータの参照テーブル内での位置情報であ
るエントリーアドレスを信号線111に出力し制御回路
120にヒットしたことを通知する。一致するデータを
保持していない場合はミスヒットしたことを制御回路1
20に通知する。制御回路120は、ヒットしたかミス
したかに応じて以下の処理を行なう。
タの書き込みを行なう場合 CPU100は、制御信号線103、アドレスバス10
1およびデータバス102にそれぞれバスの制御情報、
書き込みを行なうアドレス、および書き込むデータを出
力する。制御回路120は、制御信号103によりCP
Uの書き込み要求を検出し、参照テーブル110に対し
て書き込みデータをデータバス102より入力し検索を
行なうよう指示する。参照テーブル110は、データバ
ス102より入力したデータと保持している複数のデー
タのいずれかとが一致するかどうか検索し、その検索の
結果に基づき、一致するデータを保持している場合は、
その一致したデータの参照テーブル内での位置情報であ
るエントリーアドレスを信号線111に出力し制御回路
120にヒットしたことを通知する。一致するデータを
保持していない場合はミスヒットしたことを制御回路1
20に通知する。制御回路120は、ヒットしたかミス
したかに応じて以下の処理を行なう。
【0038】(1.1)参照テーブル110がヒットし
た場合:制御回路120はデータ入出力回路130に対
して、データバス102上の書き込みデータをデータバ
ス131へ出力しないよう、即ちデータバス131のド
ライブを禁止するよう制御する。さらに、メモリ制御回
路170に対して、参照テーブル110がヒットしたこ
と、およびそのデータのエントリーアドレスをそれぞれ
信号線121および122により通知する。
た場合:制御回路120はデータ入出力回路130に対
して、データバス102上の書き込みデータをデータバ
ス131へ出力しないよう、即ちデータバス131のド
ライブを禁止するよう制御する。さらに、メモリ制御回
路170に対して、参照テーブル110がヒットしたこ
と、およびそのデータのエントリーアドレスをそれぞれ
信号線121および122により通知する。
【0039】メモリ制御回路170は、制御信号103
によりCPU100のメモリ180への書込要求を検出
し、信号線121によって参照テーブル上に書込データ
があることを確認した場合は、信号線122によって指
定される参照テーブル140上のデータをデータバス1
81に読みだし、メモリ180へ転送し書き込みを行な
う。
によりCPU100のメモリ180への書込要求を検出
し、信号線121によって参照テーブル上に書込データ
があることを確認した場合は、信号線122によって指
定される参照テーブル140上のデータをデータバス1
81に読みだし、メモリ180へ転送し書き込みを行な
う。
【0040】(1.2)参照テーブル110がミスヒッ
トした場合:データ入出力回路130に対して、データ
バス131上にデータバス102上のデータを出力する
よう制御する。さらに、制御回路150に対して、参照
テーブル110がミスヒットしたことを信号線122に
より通知する。制御回路150は、データ入出力回路1
60にデータバス131上の書き込みデータをデータバ
ス181上にドライブさせる。ドライブされたデータは
メモリ180書き込まれる。
トした場合:データ入出力回路130に対して、データ
バス131上にデータバス102上のデータを出力する
よう制御する。さらに、制御回路150に対して、参照
テーブル110がミスヒットしたことを信号線122に
より通知する。制御回路150は、データ入出力回路1
60にデータバス131上の書き込みデータをデータバ
ス181上にドライブさせる。ドライブされたデータは
メモリ180書き込まれる。
【0041】このとき、制御回路120が送信リプレー
ス指示を出している場合には、ミスヒットしたデータを
参照テーブル110と参照テーブル140の同一エント
リーに格納するため、参照テーブル110によりLRU
方式により決定されたエントリー情報を入力し信号線1
23に出力する。さらに制御回路120は、この格納ア
ドレスで示される参照テーブル110内のレジスタに転
送データを格納する。これと同時に、制御回路150は
受信リプレース指示を参照テーブル140に出力する。
参照テーブル140は、信号線123より入力したエン
トリーアドレスで示される参照テーブル140のレジス
タに転送データを格納する。
ス指示を出している場合には、ミスヒットしたデータを
参照テーブル110と参照テーブル140の同一エント
リーに格納するため、参照テーブル110によりLRU
方式により決定されたエントリー情報を入力し信号線1
23に出力する。さらに制御回路120は、この格納ア
ドレスで示される参照テーブル110内のレジスタに転
送データを格納する。これと同時に、制御回路150は
受信リプレース指示を参照テーブル140に出力する。
参照テーブル140は、信号線123より入力したエン
トリーアドレスで示される参照テーブル140のレジス
タに転送データを格納する。
【0042】(2)CPU100がメモリ180よりデ
ータの読み込みを行なう場合 CPU100は、制御信号線103およびデータバス1
02にそれぞれバスの制御情報、読みだしを行なうアド
レスを出力する。制御回路150は、制御信号103に
よってCPU100の読み出し要求を検出すると、メモ
リ180をアクセスし対応するデータをデータバス18
1へ読み出す。制御回路150は、参照テーブル140
に対してデータバス181よりデータを入力し、検索を
行なうよう指示する。参照テーブル140は、データバ
ス181より入力したデータと保持しているデータのい
ずれかが一致するかどうか検索し、検索の結果に基づ
き、一致するデータを保持している場合は、その一致し
たデータの参照テーブル内でのエントリーアドレスを信
号線141に出力し制御回路150にヒットしたことを
通知し、一致するデータを保持していない場合はミスヒ
ットしたことを通知する。
ータの読み込みを行なう場合 CPU100は、制御信号線103およびデータバス1
02にそれぞれバスの制御情報、読みだしを行なうアド
レスを出力する。制御回路150は、制御信号103に
よってCPU100の読み出し要求を検出すると、メモ
リ180をアクセスし対応するデータをデータバス18
1へ読み出す。制御回路150は、参照テーブル140
に対してデータバス181よりデータを入力し、検索を
行なうよう指示する。参照テーブル140は、データバ
ス181より入力したデータと保持しているデータのい
ずれかが一致するかどうか検索し、検索の結果に基づ
き、一致するデータを保持している場合は、その一致し
たデータの参照テーブル内でのエントリーアドレスを信
号線141に出力し制御回路150にヒットしたことを
通知し、一致するデータを保持していない場合はミスヒ
ットしたことを通知する。
【0043】(2.1)参照テーブル140でヒットし
た場合:データバス181上の読み出しデータをデータ
バス131に対して出力することをデータ入出力回路1
60に対して禁止する。さらに、制御回路120に対し
て、参照テーブル140がヒットしたこと、およびその
データのエントリーアドレスをそれぞれ信号線121お
よび122により通知する。
た場合:データバス181上の読み出しデータをデータ
バス131に対して出力することをデータ入出力回路1
60に対して禁止する。さらに、制御回路120に対し
て、参照テーブル140がヒットしたこと、およびその
データのエントリーアドレスをそれぞれ信号線121お
よび122により通知する。
【0044】制御回路120は、信号線122によって
指定される参照テーブル140上のデータをデータバス
102に読みだし、CPU100へ転送しデータの読み
出しを終了する。 (2.2)参照テーブル140でミスヒットした場合:
制御回路150は、データ入出力回路160に対して、
データバス181上のデータをデータバス131に出力
するよう制御する。さらに、制御回路120に対して、
参照テーブル140がミスヒットしたことを信号線12
1により通知する。制御回路120は、データ入出力回
路130でデータバス131より読み出しデータを入力
し、データバス102に読み込むよう制御し、CPU1
00へデータを転送しデータの読み出し処理を終了す
る。
指定される参照テーブル140上のデータをデータバス
102に読みだし、CPU100へ転送しデータの読み
出しを終了する。 (2.2)参照テーブル140でミスヒットした場合:
制御回路150は、データ入出力回路160に対して、
データバス181上のデータをデータバス131に出力
するよう制御する。さらに、制御回路120に対して、
参照テーブル140がミスヒットしたことを信号線12
1により通知する。制御回路120は、データ入出力回
路130でデータバス131より読み出しデータを入力
し、データバス102に読み込むよう制御し、CPU1
00へデータを転送しデータの読み出し処理を終了す
る。
【0045】このとき、制御回路150が送信リプレー
ス指示を出している場合には、ミスヒットしたデータを
参照テーブル140と参照テーブル110の同一エント
リーに格納するため、参照テーブル140によりLRU
方式により決定されたエントリー情報を入力し信号線1
23に出力する。さらに制御回路150は、この格納ア
ドレスで示される参照テーブル140内のレジスタに転
送データを格納する。これと同時に、制御回路120は
受信リプレース指示を参照テーブル110に出力する。
参照テーブル110は、信号線123より入力したエン
トリーアドレスで示されるレジスタに転送データを格納
する。
ス指示を出している場合には、ミスヒットしたデータを
参照テーブル140と参照テーブル110の同一エント
リーに格納するため、参照テーブル140によりLRU
方式により決定されたエントリー情報を入力し信号線1
23に出力する。さらに制御回路150は、この格納ア
ドレスで示される参照テーブル140内のレジスタに転
送データを格納する。これと同時に、制御回路120は
受信リプレース指示を参照テーブル110に出力する。
参照テーブル110は、信号線123より入力したエン
トリーアドレスで示されるレジスタに転送データを格納
する。
【0046】なお、上記実施例では、参照テーブル11
0、140内に保持されるデータ数が4つの場合を例に
説明したが、8個でも16個でもよく任意に設定でき
る。この処理と同時に、制御回路120は信号線123
より入力した格納アドレスで示される参照テーブル11
0上の位置に転送データを格納する。また、一般に、C
PUがプログラムを実行する場合にアクセスする命令お
よびデータは、一般に時間的および空間的な局所性があ
る。すなわち、1度アクセスされた命令およびデータは
再度アクセスされる可能性が高い。また、CPUは全て
の命令を一様には使用せず、一部の命令の使用頻度は他
の命令に対して使用頻度が高い。そこで、参照テーブル
110と参照テーブル140のデータは、プログラム内
で使用される命令パターンを事前に調査し使用頻度の高
い命令またはデータを予め参照テーブルに登録しておい
てもよい。その場合、上記のリプレース機能は省略して
もよく、より簡単な構成により実現できる。参照テーブ
ルへの登録は、CPU100がデータを参照テーブル1
10、140内のレジスタに直接格納すればよい。何度
も繰り返される同一ビットパターンのデータ転送時のデ
ータバスのドライブを抑止できる。または、時間的な局
所性を積極的に利用し、使用頻度の高いデータのみをア
プリケーションを切り替える毎に参照テーブルに登録す
るようにしてもよい。これにより参照テーブルのヒット
率を高め、データバスのドライブをより抑止することが
可能となる。
0、140内に保持されるデータ数が4つの場合を例に
説明したが、8個でも16個でもよく任意に設定でき
る。この処理と同時に、制御回路120は信号線123
より入力した格納アドレスで示される参照テーブル11
0上の位置に転送データを格納する。また、一般に、C
PUがプログラムを実行する場合にアクセスする命令お
よびデータは、一般に時間的および空間的な局所性があ
る。すなわち、1度アクセスされた命令およびデータは
再度アクセスされる可能性が高い。また、CPUは全て
の命令を一様には使用せず、一部の命令の使用頻度は他
の命令に対して使用頻度が高い。そこで、参照テーブル
110と参照テーブル140のデータは、プログラム内
で使用される命令パターンを事前に調査し使用頻度の高
い命令またはデータを予め参照テーブルに登録しておい
てもよい。その場合、上記のリプレース機能は省略して
もよく、より簡単な構成により実現できる。参照テーブ
ルへの登録は、CPU100がデータを参照テーブル1
10、140内のレジスタに直接格納すればよい。何度
も繰り返される同一ビットパターンのデータ転送時のデ
ータバスのドライブを抑止できる。または、時間的な局
所性を積極的に利用し、使用頻度の高いデータのみをア
プリケーションを切り替える毎に参照テーブルに登録す
るようにしてもよい。これにより参照テーブルのヒット
率を高め、データバスのドライブをより抑止することが
可能となる。
【0047】以上のように本実施例によれば、CPU1
00とメモリ180との間でデータ転送を行なう場合
に、データの送信側で参照テーブルを検索し、ヒットし
た場合にはその参照テーブル内のエントリーアドレスの
みを負荷の軽い信号線121および122をドライブす
るだけ受信側に転送することで、負荷の重いデータバス
131をドライブするで必要がなくなり消費電力を抑え
ることが可能となる。
00とメモリ180との間でデータ転送を行なう場合
に、データの送信側で参照テーブルを検索し、ヒットし
た場合にはその参照テーブル内のエントリーアドレスの
みを負荷の軽い信号線121および122をドライブす
るだけ受信側に転送することで、負荷の重いデータバス
131をドライブするで必要がなくなり消費電力を抑え
ることが可能となる。
【0048】図4は、本発明の第2の実施例における情
報処理装置の構成を示すブロック図である。同図の構成
は、第1実施例に示した図1の構成に対して、制御回路
120、データ入出力回路130、制御回路150、デ
ータ入出力回路160の代わりに、制御回路420、デ
ータ入出力回路430、制御回路450、データ入出力
回路460を備え、信号線123の代わりに信号線42
1、431、411、451が追加されている点が異な
る。その他の構成要素は、第1の実施例と同じなので説
明を省略して以下異なる点のみを説明する。
報処理装置の構成を示すブロック図である。同図の構成
は、第1実施例に示した図1の構成に対して、制御回路
120、データ入出力回路130、制御回路150、デ
ータ入出力回路160の代わりに、制御回路420、デ
ータ入出力回路430、制御回路450、データ入出力
回路460を備え、信号線123の代わりに信号線42
1、431、411、451が追加されている点が異な
る。その他の構成要素は、第1の実施例と同じなので説
明を省略して以下異なる点のみを説明する。
【0049】第1の実施例と異なる点は、データの転送
時に参照テーブル110、あるいは参照テーブル140
においてヒットした場合に、そのエントリーアドレスを
他方の参照テーブルに対して転送する経路である。その
ため本実施例では、第1の実施例における信号線123
の代わりに、データバス131の一部を用いてエントリ
ーアドレスが転送される。
時に参照テーブル110、あるいは参照テーブル140
においてヒットした場合に、そのエントリーアドレスを
他方の参照テーブルに対して転送する経路である。その
ため本実施例では、第1の実施例における信号線123
の代わりに、データバス131の一部を用いてエントリ
ーアドレスが転送される。
【0050】同図において制御回路420は、図1の制
御回路120において制御回路150に対して直接エン
トリーアドレスを送受信する機能がなくなり、新たにデ
ータ入出力回路130におけるエントリーアドレスの入
出力を制御する機能が追加されている。データ入出力回
路430は、図1のデータ入出力回路130に対して、
データバス131の一部を用いてエントリーアドレスを
送受信する機能が追加されている。
御回路120において制御回路150に対して直接エン
トリーアドレスを送受信する機能がなくなり、新たにデ
ータ入出力回路130におけるエントリーアドレスの入
出力を制御する機能が追加されている。データ入出力回
路430は、図1のデータ入出力回路130に対して、
データバス131の一部を用いてエントリーアドレスを
送受信する機能が追加されている。
【0051】制御回路450は、基本的には制御回路4
20と同じであり、送受信に関して対称的に動作する。
データ入出力回路460は、基本的にはデータ入出力回
路430と同じであり、送受信に関して動作が対称にな
っている。図5は、参照テーブル110、140のデー
タ数が4個の場合のデータ入出力回路430の詳細な回
路構成例を示す。同図のようにデータ入出力回路430
は、トランシーバ501とトランシーバ502とを備
え、ヒット時にエントリーアドレスをデータバス131
の一部を利用して通知するよう構成されている。
20と同じであり、送受信に関して対称的に動作する。
データ入出力回路460は、基本的にはデータ入出力回
路430と同じであり、送受信に関して動作が対称にな
っている。図5は、参照テーブル110、140のデー
タ数が4個の場合のデータ入出力回路430の詳細な回
路構成例を示す。同図のようにデータ入出力回路430
は、トランシーバ501とトランシーバ502とを備
え、ヒット時にエントリーアドレスをデータバス131
の一部を利用して通知するよう構成されている。
【0052】トランシーバ501は、内部に32個の1
ビットドライバ/レシーバ(トライステートバッファ)
と、ミスヒット時のドライブ方向を制御する2個のAN
Dゲートとを有し、ヒット時には出力がハイインピーダ
ンスになりデータバスを電気的に切断し、ミスヒット時
にはデータバス102とデータバス131との間で32
ビットデータを双方向にドライブする。ドライブ方向は
データの転送方向(ライト要求信号及びリード要求信
号)に応じてANDゲートにより定めれらる。なお、ト
ランシーバ501は、図1のデータ入出力回路130に
相当する。
ビットドライバ/レシーバ(トライステートバッファ)
と、ミスヒット時のドライブ方向を制御する2個のAN
Dゲートとを有し、ヒット時には出力がハイインピーダ
ンスになりデータバスを電気的に切断し、ミスヒット時
にはデータバス102とデータバス131との間で32
ビットデータを双方向にドライブする。ドライブ方向は
データの転送方向(ライト要求信号及びリード要求信
号)に応じてANDゲートにより定めれらる。なお、ト
ランシーバ501は、図1のデータ入出力回路130に
相当する。
【0053】トランシーバ502は、内部に2個の1ビ
ットドライバ/レシーバ(トライステートバッファ)
と、ドライブ方向を制御する2個のアンドゲートとを有
し、ミスヒット時には出力がハイインピーダンスにな
り、ヒット時にデータバス131の下位2ビット上に2
ビットのエントリーアドレスを双方向に入出力する。以
上のように構成された本発明の第2の実施例における情
報処理装置についてその動作を説明する。本実施例の動
作は、第1の実施例と異なる点は、エントリーアドレス
がデータバス131の下位2ビットを用いて転送される
点である。
ットドライバ/レシーバ(トライステートバッファ)
と、ドライブ方向を制御する2個のアンドゲートとを有
し、ミスヒット時には出力がハイインピーダンスにな
り、ヒット時にデータバス131の下位2ビット上に2
ビットのエントリーアドレスを双方向に入出力する。以
上のように構成された本発明の第2の実施例における情
報処理装置についてその動作を説明する。本実施例の動
作は、第1の実施例と異なる点は、エントリーアドレス
がデータバス131の下位2ビットを用いて転送される
点である。
【0054】制御回路420は、参照テーブル110よ
りテーブルがヒットしたことを検出すると、データ入出
力回路430に対して参照テーブル110からのエント
リーアドレスを入力し、データバス131の下位2ビッ
トに出力するよう制御する。これによりデータ入出力回
路430は、データバス131の下位2ビット上にエン
トリーアドレスをドライブする。さらに、制御回路42
0は、信号線121により参照テーブル110がヒット
したことを制御回路450に通知する。制御回路450
では、データ制御回路410に対してデータバス131
の下位2ビットよりエントリーアドレスを入力するこ
と、および参照テーブル140に対して入力したエント
リーアドレスよりデータをデータバス181に読みだす
よう制御する。
りテーブルがヒットしたことを検出すると、データ入出
力回路430に対して参照テーブル110からのエント
リーアドレスを入力し、データバス131の下位2ビッ
トに出力するよう制御する。これによりデータ入出力回
路430は、データバス131の下位2ビット上にエン
トリーアドレスをドライブする。さらに、制御回路42
0は、信号線121により参照テーブル110がヒット
したことを制御回路450に通知する。制御回路450
では、データ制御回路410に対してデータバス131
の下位2ビットよりエントリーアドレスを入力するこ
と、および参照テーブル140に対して入力したエント
リーアドレスよりデータをデータバス181に読みだす
よう制御する。
【0055】CPU100がメモリ180より読み出し
を行う場合の動作も、書込の場合と同様の処理を行う。
以上のように本実施例によれば、CPU100とメモリ
180との間でデータ転送を行なう場合に、データの送
信側で参照テーブルを検索し、ヒットした場合にはその
参照テーブル内のエントリーアドレスのみをデータバス
131の一部を用いて受信側に転送することで全てのデ
ータバスをドライブする必要がなくなり消費電力を抑え
るとともに、配線数が少ないので配線面積を削減するこ
とができる。
を行う場合の動作も、書込の場合と同様の処理を行う。
以上のように本実施例によれば、CPU100とメモリ
180との間でデータ転送を行なう場合に、データの送
信側で参照テーブルを検索し、ヒットした場合にはその
参照テーブル内のエントリーアドレスのみをデータバス
131の一部を用いて受信側に転送することで全てのデ
ータバスをドライブする必要がなくなり消費電力を抑え
るとともに、配線数が少ないので配線面積を削減するこ
とができる。
【0056】図6は、本発明の第3の実施例における情
報処理装置の構成を示すブロック図である。同図は、第
1実施例の図1の構成に対して、参照テーブル140、
制御回路150の代わりにキャッシュ装置600、制御
回路610を備えている点が異なる。以下第1実施例と
同じ部分は説明を省略して異なる点を中心に説明する。
報処理装置の構成を示すブロック図である。同図は、第
1実施例の図1の構成に対して、参照テーブル140、
制御回路150の代わりにキャッシュ装置600、制御
回路610を備えている点が異なる。以下第1実施例と
同じ部分は説明を省略して異なる点を中心に説明する。
【0057】図6においてキャッシュ装置600は、第
1実施例の参照テーブル140の機能に加えて、保持し
ている個々データに対応するアドレスを保持し、CPU
100のメモリリード時にアクセスアドレスと、保持し
ているアドレスの何れかとが一致した場合、メモリ18
0のリードアクセスの代わりに対応するデータのエント
リーアドレスを制御回路610を介して制御回路120
に出力するように構成されている。キャッシュ装置60
0の保持データは、参照テーブル110と同じデータで
ある。
1実施例の参照テーブル140の機能に加えて、保持し
ている個々データに対応するアドレスを保持し、CPU
100のメモリリード時にアクセスアドレスと、保持し
ているアドレスの何れかとが一致した場合、メモリ18
0のリードアクセスの代わりに対応するデータのエント
リーアドレスを制御回路610を介して制御回路120
に出力するように構成されている。キャッシュ装置60
0の保持データは、参照テーブル110と同じデータで
ある。
【0058】制御回路610は、第1実施例の制御回路
150の機能に加えて、CPU100からのメモリリー
ドアクセスの場合に、メモリ180からの読み出しに先
立ってアクセスアドレスがキャッシュ装置600内に保
持されたアドレスの何れかと一致するかを判定する。一
致(以下アドレスヒットと呼ぶ)した場合にはメモリ1
80からの読み出し制御を行わないで、アドレスヒット
したエントリーアドレスを制御回路120に送信し、一
致しない場合には(以下アドレスミスと呼ぶ)、メモリ
180からデータを読み出し制御を行って、以後、第1
実施例と同様に読み出されたデータに関してキャッシュ
装置600を検索させ、ヒットした場合にはエントリー
アドレスを、ミスヒットした場合にはデータバスのドラ
イブを制御する。
150の機能に加えて、CPU100からのメモリリー
ドアクセスの場合に、メモリ180からの読み出しに先
立ってアクセスアドレスがキャッシュ装置600内に保
持されたアドレスの何れかと一致するかを判定する。一
致(以下アドレスヒットと呼ぶ)した場合にはメモリ1
80からの読み出し制御を行わないで、アドレスヒット
したエントリーアドレスを制御回路120に送信し、一
致しない場合には(以下アドレスミスと呼ぶ)、メモリ
180からデータを読み出し制御を行って、以後、第1
実施例と同様に読み出されたデータに関してキャッシュ
装置600を検索させ、ヒットした場合にはエントリー
アドレスを、ミスヒットした場合にはデータバスのドラ
イブを制御する。
【0059】図7は、保持データ個数が4個の場合のキ
ャッシュ装置600の詳細な構成例を示す回路図であ
る。同図のようにキャッシュ装置600は、図2の参照
テーブル110の構成に対してアドレスレジスタ310
〜340、セレクタ345、セレクタ350〜380が
新たに追加され、エンコーダ290と論理和回路295
の代わりに判定回路390、参照テーブル制御回路20
0の代わりにキャッシュ装置制御回路300が設けら
れ、メモリリードに先立ってアクセスアドレスに対して
もヒット/ミスの判定が可能になっている。
ャッシュ装置600の詳細な構成例を示す回路図であ
る。同図のようにキャッシュ装置600は、図2の参照
テーブル110の構成に対してアドレスレジスタ310
〜340、セレクタ345、セレクタ350〜380が
新たに追加され、エンコーダ290と論理和回路295
の代わりに判定回路390、参照テーブル制御回路20
0の代わりにキャッシュ装置制御回路300が設けら
れ、メモリリードに先立ってアクセスアドレスに対して
もヒット/ミスの判定が可能になっている。
【0060】同図においてアドレスレジスタ310〜3
40は、データレジスタ210〜340に対応するメモ
リアドレスを保持する。対応するアドレスレジスタとデ
ータレジスタは同一のエントリーアドレスを有する。つ
まりレジスタ310とレジスタ210はエントリーアド
レスが”11”、320と220は”10”、330と
230は”01”、340と240は”00”である。
40は、データレジスタ210〜340に対応するメモ
リアドレスを保持する。対応するアドレスレジスタとデ
ータレジスタは同一のエントリーアドレスを有する。つ
まりレジスタ310とレジスタ210はエントリーアド
レスが”11”、320と220は”10”、330と
230は”01”、340と240は”00”である。
【0061】セレクタ345は、同図のA側の入力とB
側の入力の何れかを選択して比較回路250〜280に
出力する。A側にはCPU100のメモリリード要求と
同時に出力されるアクセスアドレスが、B側にはメモリ
リードが実行されて読み出されたデータが入力される。
A側とB側の入力タイミングは異なるが、その選択はキ
ャッシュ装置制御回路300によって制御される。詳し
くいうとCPU100からメモリリード要求が出力され
ると同時にA側が選択され、その後メモリリードが実行
されてメモリ180からデータが読み出された時点でB
側が選択される。
側の入力の何れかを選択して比較回路250〜280に
出力する。A側にはCPU100のメモリリード要求と
同時に出力されるアクセスアドレスが、B側にはメモリ
リードが実行されて読み出されたデータが入力される。
A側とB側の入力タイミングは異なるが、その選択はキ
ャッシュ装置制御回路300によって制御される。詳し
くいうとCPU100からメモリリード要求が出力され
ると同時にA側が選択され、その後メモリリードが実行
されてメモリ180からデータが読み出された時点でB
側が選択される。
【0062】セレクタ350〜380は、アドレスレジ
スタ310〜350とデータレジスタ210〜240の
対応するアドレス(A側)とデータ(B側)とが入力さ
れ、アドレスかデータの何れかを選択して比較回路25
0〜280にそれぞれ出力する。選択は、キャッシュ装
置制御回路300によってセレクタ345と同じタイミ
ングで制御される。
スタ310〜350とデータレジスタ210〜240の
対応するアドレス(A側)とデータ(B側)とが入力さ
れ、アドレスかデータの何れかを選択して比較回路25
0〜280にそれぞれ出力する。選択は、キャッシュ装
置制御回路300によってセレクタ345と同じタイミ
ングで制御される。
【0063】判定回路390は図2に示したエンコーダ
290及び論理和回路295に相当するので、説明を省
略する。キャッシュ装置制御回路300は、メモリ18
0のメモリリードに先立ってアクセスアドレスでキャッ
シュ装置600を検索する制御と、メモリリード実行後
に読み出されたデータでキャッシュ装置600と検索す
る制御と、キャッシュ装置600の内容を更新する制御
と、メモリライト時に制御回路120からのヒット/ミ
スヒットの通知を受けてデータ入出力回路160の制御
とを行う。
290及び論理和回路295に相当するので、説明を省
略する。キャッシュ装置制御回路300は、メモリ18
0のメモリリードに先立ってアクセスアドレスでキャッ
シュ装置600を検索する制御と、メモリリード実行後
に読み出されたデータでキャッシュ装置600と検索す
る制御と、キャッシュ装置600の内容を更新する制御
と、メモリライト時に制御回路120からのヒット/ミ
スヒットの通知を受けてデータ入出力回路160の制御
とを行う。
【0064】より詳しくいうと、キャッシュ装置制御回
路300は、アドレスで検索を行なう場合については、
検索するアドレスをアドレスバス101より入力すると
ともに、保持しているアドレスをレジスタ310、32
0、330および340より読みだし、読み出した値を
比較回路250、260、270および280において
入力データと比較し、それぞれの比較結果をヒット信号
302として出力する。その際、セレクタ345はアド
レスバス101(A側)を、他のセレクタ350、36
0、370および380はレジスタ310、320、3
30、340(B側)を選択するよう制御する。キャッ
シュ装置が保持しているいずれかのアドレスと一致した
かどうかを判定するために、判定回路390は比較回路
250、260、270および280の比較結果を入力
し、判定結果であるヒット信号391、およびヒットし
た場合にはそのエントリーアドレスを生成し、信号線3
92に出力する。
路300は、アドレスで検索を行なう場合については、
検索するアドレスをアドレスバス101より入力すると
ともに、保持しているアドレスをレジスタ310、32
0、330および340より読みだし、読み出した値を
比較回路250、260、270および280において
入力データと比較し、それぞれの比較結果をヒット信号
302として出力する。その際、セレクタ345はアド
レスバス101(A側)を、他のセレクタ350、36
0、370および380はレジスタ310、320、3
30、340(B側)を選択するよう制御する。キャッ
シュ装置が保持しているいずれかのアドレスと一致した
かどうかを判定するために、判定回路390は比較回路
250、260、270および280の比較結果を入力
し、判定結果であるヒット信号391、およびヒットし
た場合にはそのエントリーアドレスを生成し、信号線3
92に出力する。
【0065】キャッシュ装置制御回路300は、データ
で検索を行なう場合については、検索するデータをデー
タバス181より入力するとともに、保持しているデー
タをデータレジスタ210、220、230、および2
40より読みだし、それぞれの値を比較回路250、2
60、270および280において入力データと比較
し、それぞれの比較結果をヒット信号302として出力
する。その際、セレクタ345はデータバス181(B
側)を、他のセレクタ350、360、370および3
80はデータレジスタ210、220、230、240
(B側)を選択するよう制御する。キャッシュ装置60
0が保持しているいずれかのデータと一致したかどうか
を判定するために、判定回路390は比較回路250、
260、270および280の比較結果を入力し、判定
結果であるヒット信号391、およびヒットした場合に
はそのエントリーアドレスを生成し、信号線392に出
力する。
で検索を行なう場合については、検索するデータをデー
タバス181より入力するとともに、保持しているデー
タをデータレジスタ210、220、230、および2
40より読みだし、それぞれの値を比較回路250、2
60、270および280において入力データと比較
し、それぞれの比較結果をヒット信号302として出力
する。その際、セレクタ345はデータバス181(B
側)を、他のセレクタ350、360、370および3
80はデータレジスタ210、220、230、240
(B側)を選択するよう制御する。キャッシュ装置60
0が保持しているいずれかのデータと一致したかどうか
を判定するために、判定回路390は比較回路250、
260、270および280の比較結果を入力し、判定
結果であるヒット信号391、およびヒットした場合に
はそのエントリーアドレスを生成し、信号線392に出
力する。
【0066】保持しているデータをデータバス181に
読み出す場合については、第1の実施例と同様に、制御
回路120から信号304を介してエントリーアドレス
が入力される。キャッシュ装置制御回路300は、セレ
クタ346により読み出すデータを選択し、バッファ3
47によってデータバス181に出力する。キャッシュ
装置600の内容を更新する場合については、第1の実
施例と同様にリプレース要求が信号線203によってキ
ャッシュ装置制御回路300に通知されると、データ参
照の時間的局所性を利用する例えばLRU方式によりエ
ントリーを決定し、データバス181より入力したデー
タ及びアドレスバス101からのアドレスを信号線30
1により、決定されたエントリーのデータレジスタ及び
アドレスレジスタに格納して更新する。
読み出す場合については、第1の実施例と同様に、制御
回路120から信号304を介してエントリーアドレス
が入力される。キャッシュ装置制御回路300は、セレ
クタ346により読み出すデータを選択し、バッファ3
47によってデータバス181に出力する。キャッシュ
装置600の内容を更新する場合については、第1の実
施例と同様にリプレース要求が信号線203によってキ
ャッシュ装置制御回路300に通知されると、データ参
照の時間的局所性を利用する例えばLRU方式によりエ
ントリーを決定し、データバス181より入力したデー
タ及びアドレスバス101からのアドレスを信号線30
1により、決定されたエントリーのデータレジスタ及び
アドレスレジスタに格納して更新する。
【0067】図8は、本実施例おける制御回路610の
制御論理を表したフローチャートを示す。同図は第1実
施例の図3に対して、同一番号のステップは同じ処理で
有り、新たにステップ2003〜2005が追加されて
いる点が異なる。同図に示すように、制御回路610
は、制御信号103上にCPU100からの読み出し要
求が出力されていることを検出すると(ステップ100
1、ステップ1002:yes)、キャッシュ装置600
にアクセスアドレスの検索を実行させる(ステップ20
03)。キャッシュ装置600における検索実行後に、
制御回路610は、キャッシュ装置600からエントリ
ーアドレスの指定及びヒットしたことが通知されると
(ステップ2004:yes)、ヒットしたことと指定さ
れたエントリーアドレスとを信号線122、信号線12
3を介して制御回路120に通知するとともに、データ
入出力回路160に対してデータバス181上の読み出
しデータをデータバス131へ出力しないよう、即ちデ
ータバス131へのドライブを禁止するよう制御する
(ステップ2005)。また制御回路610は、キャッ
シュ装置600からミスヒットしたことを通知されると
(ステップ2004:no)、さらに、メモリ180への
メモリリードの実行を制御して読み出されたデータの検
索をキャッシュ装置600に実行させる(ステップ10
03)。上記以外のステップは、図3と同様なので詳細
は省略する。
制御論理を表したフローチャートを示す。同図は第1実
施例の図3に対して、同一番号のステップは同じ処理で
有り、新たにステップ2003〜2005が追加されて
いる点が異なる。同図に示すように、制御回路610
は、制御信号103上にCPU100からの読み出し要
求が出力されていることを検出すると(ステップ100
1、ステップ1002:yes)、キャッシュ装置600
にアクセスアドレスの検索を実行させる(ステップ20
03)。キャッシュ装置600における検索実行後に、
制御回路610は、キャッシュ装置600からエントリ
ーアドレスの指定及びヒットしたことが通知されると
(ステップ2004:yes)、ヒットしたことと指定さ
れたエントリーアドレスとを信号線122、信号線12
3を介して制御回路120に通知するとともに、データ
入出力回路160に対してデータバス181上の読み出
しデータをデータバス131へ出力しないよう、即ちデ
ータバス131へのドライブを禁止するよう制御する
(ステップ2005)。また制御回路610は、キャッ
シュ装置600からミスヒットしたことを通知されると
(ステップ2004:no)、さらに、メモリ180への
メモリリードの実行を制御して読み出されたデータの検
索をキャッシュ装置600に実行させる(ステップ10
03)。上記以外のステップは、図3と同様なので詳細
は省略する。
【0068】以上のように構成された情報処理装置にお
いて、CPU100がメモリ180上のデータへアクセ
スを行う場合についてその動作を説明する。 (1)CPU100がメモリ180よりデータの読みだ
しを行なう場合 CPU100は、制御信号線103およびデータバス1
02にそれぞれバスの制御情報、読みだしを行なうアド
レスを出力しメモリ180からのデータの読み出しを開
始する。
いて、CPU100がメモリ180上のデータへアクセ
スを行う場合についてその動作を説明する。 (1)CPU100がメモリ180よりデータの読みだ
しを行なう場合 CPU100は、制御信号線103およびデータバス1
02にそれぞれバスの制御情報、読みだしを行なうアド
レスを出力しメモリ180からのデータの読み出しを開
始する。
【0069】制御回路610は、制御信号103により
CPU100の読み出し要求を検出すると、キャッシュ
装置600に対して、アドレスバス101上のアドレス
に対応するデータを格納しているかどうか検索を行な
う。検索の結果、キャッシュ装置600がそのアドレス
のデータを保持している場合は、そのエントリーアドレ
スを信号線501に出力し制御回路610にヒットした
ことを通知する。入力したアドレスに対応するエントリ
ーアドレスを保持していない場合はミスヒットしたこと
を制御回路610に通知する。
CPU100の読み出し要求を検出すると、キャッシュ
装置600に対して、アドレスバス101上のアドレス
に対応するデータを格納しているかどうか検索を行な
う。検索の結果、キャッシュ装置600がそのアドレス
のデータを保持している場合は、そのエントリーアドレ
スを信号線501に出力し制御回路610にヒットした
ことを通知する。入力したアドレスに対応するエントリ
ーアドレスを保持していない場合はミスヒットしたこと
を制御回路610に通知する。
【0070】(1.1)アドレス検索でキャッシュ装置
600がヒットの場合:制御回路610は、メモリ18
0に対する読みだしアクセスの制御を行なわず、データ
入出力回路160に対して、データバス131上への読
み出しデータの出力を禁止する。さらに、制御回路12
0に対して、キャッシュ装置600がヒットしたことを
信号線122で、アドレスバス101上のアドレスに対
応するデータの参照テーブル110上のエントリーアド
レスを信号線123により通知する。
600がヒットの場合:制御回路610は、メモリ18
0に対する読みだしアクセスの制御を行なわず、データ
入出力回路160に対して、データバス131上への読
み出しデータの出力を禁止する。さらに、制御回路12
0に対して、キャッシュ装置600がヒットしたことを
信号線122で、アドレスバス101上のアドレスに対
応するデータの参照テーブル110上のエントリーアド
レスを信号線123により通知する。
【0071】制御回路120は、信号線123によって
指定される参照テーブル140上のデータをデータバス
102に読みだし、CPU100へ転送しデータの読み
出しを終了する。 (1.2)アドレス検索でキャッシュ装置600がミス
ヒットした場合:制御回路610は、さらにメモリ18
0に対する読みだしアクセスの制御を行なう。メモリ1
80より読み出されたデータをキャッシュ装置600へ
入力し、同一のデータがキャッシュ装置内に保持されて
いるかどうか読み出したデータにより検索を行う。この
データ検索の結果ヒットした場合は、ヒットしたキャッ
シュのエントリーアドレスを信号線123により制御回
路120に通知する。さらに、キャッシュ装置600は
データ検索でヒットしたエントリーのアドレス情報を現
在行われているアドレスにより更新する。後の処理はキ
ャッシュ装置600がヒットした場合と同じである。
指定される参照テーブル140上のデータをデータバス
102に読みだし、CPU100へ転送しデータの読み
出しを終了する。 (1.2)アドレス検索でキャッシュ装置600がミス
ヒットした場合:制御回路610は、さらにメモリ18
0に対する読みだしアクセスの制御を行なう。メモリ1
80より読み出されたデータをキャッシュ装置600へ
入力し、同一のデータがキャッシュ装置内に保持されて
いるかどうか読み出したデータにより検索を行う。この
データ検索の結果ヒットした場合は、ヒットしたキャッ
シュのエントリーアドレスを信号線123により制御回
路120に通知する。さらに、キャッシュ装置600は
データ検索でヒットしたエントリーのアドレス情報を現
在行われているアドレスにより更新する。後の処理はキ
ャッシュ装置600がヒットした場合と同じである。
【0072】データ検索の結果ミスヒットした場合は、
データ入出力回路160に対して、データバス181上
のデータをデータバス131に出力するよう制御する。
さらに、制御回路120に対して、キャッシュ装置60
0がミスヒットしたことを信号線122により通知す
る。制御回路120は、データ入出力回路130に対し
て、データバス131より読み出しデータを入力し、デ
ータバス102に読み込み、CPU100へ転送するよ
う制御し読みだし処理を完了する。 (2)CPU100がメモリ180へデータの書き込み
を行なう場合 CPU100は、制御信号線103、アドレスバス10
1およびデータバス102にそれぞれバスの制御情報、
書き込みを行なうアドレス、および書き込むデータを出
力する。制御回路120は、制御信号103によりCP
Uの書き込み要求を検出し、参照テーブル110に対し
て書き込みデータをデータバス102より入力し検索を
行なうよう指示する。参照テーブル110は、データバ
ス102より入力したデータと保持している複数のデー
タのいずれかとが一致するかどうか検索し、その検索の
結果に基づき、一致するデータを保持している場合は、
その一致したデータの参照テーブル内でのエントリーア
ドレスを信号線111に出力し制御回路120にヒット
したことを通知する。一致するデータを保持していない
場合はミスヒットしたことを制御回路120に通知す
る。制御回路120は、参照テーブル110の検索結果
に基づき、それぞれ以下の処理を行なう。
データ入出力回路160に対して、データバス181上
のデータをデータバス131に出力するよう制御する。
さらに、制御回路120に対して、キャッシュ装置60
0がミスヒットしたことを信号線122により通知す
る。制御回路120は、データ入出力回路130に対し
て、データバス131より読み出しデータを入力し、デ
ータバス102に読み込み、CPU100へ転送するよ
う制御し読みだし処理を完了する。 (2)CPU100がメモリ180へデータの書き込み
を行なう場合 CPU100は、制御信号線103、アドレスバス10
1およびデータバス102にそれぞれバスの制御情報、
書き込みを行なうアドレス、および書き込むデータを出
力する。制御回路120は、制御信号103によりCP
Uの書き込み要求を検出し、参照テーブル110に対し
て書き込みデータをデータバス102より入力し検索を
行なうよう指示する。参照テーブル110は、データバ
ス102より入力したデータと保持している複数のデー
タのいずれかとが一致するかどうか検索し、その検索の
結果に基づき、一致するデータを保持している場合は、
その一致したデータの参照テーブル内でのエントリーア
ドレスを信号線111に出力し制御回路120にヒット
したことを通知する。一致するデータを保持していない
場合はミスヒットしたことを制御回路120に通知す
る。制御回路120は、参照テーブル110の検索結果
に基づき、それぞれ以下の処理を行なう。
【0073】(2.1)参照テーブル110がヒットし
た場合:制御回路120はデータ入出力回路130に対
して、データバス102上の書き込みデータをデータバ
ス131へ出力しないよう、即ちデータバス131のド
ライブを禁止するよう制御する。さらに、メモリ制御回
路170に対して、参照テーブル110がヒットしたこ
と、およびそのデータのエントリーアドレスをそれぞれ
信号線122および123により通知する。
た場合:制御回路120はデータ入出力回路130に対
して、データバス102上の書き込みデータをデータバ
ス131へ出力しないよう、即ちデータバス131のド
ライブを禁止するよう制御する。さらに、メモリ制御回
路170に対して、参照テーブル110がヒットしたこ
と、およびそのデータのエントリーアドレスをそれぞれ
信号線122および123により通知する。
【0074】メモリ制御回路170は、制御信号103
により書込要求を検出し信号線122によって参照テー
ブル上に書込データがあることを確認した場合は、信号
線123によって指定されるキャッシュ装置600上の
データをデータバス181に読みだし、メモリ180へ
転送し書き込みを行なう。 (2.2)参照テーブル110がミスヒットした場合:
データ入出力回路130に対して、データバス131上
にデータバス102上のデータを出力するよう制御す
る。さらに、制御回路610に対して、参照テーブル1
10がミスヒットしたことを信号線122により通知す
る。
により書込要求を検出し信号線122によって参照テー
ブル上に書込データがあることを確認した場合は、信号
線123によって指定されるキャッシュ装置600上の
データをデータバス181に読みだし、メモリ180へ
転送し書き込みを行なう。 (2.2)参照テーブル110がミスヒットした場合:
データ入出力回路130に対して、データバス131上
にデータバス102上のデータを出力するよう制御す
る。さらに、制御回路610に対して、参照テーブル1
10がミスヒットしたことを信号線122により通知す
る。
【0075】データ入出力回路160でデータバス13
1より書き込みデータを入力し、データバス181に読
みだし、メモリ180へ転送し書き込みを行なう。な
お、本実施例ではCPUとメモリとの間のデータ転送を
行なう場合について示した。これはCPUとメモリ間で
は命令フェッチ等のメモリアクセスの頻度が圧倒的に大
きいからである。CPUと周辺装置、あるいはメモリと
周辺装置との間で実施しても良い。また、上記実施例で
は、転送するデータが命令であるかデータであるか区別
していないが、例えば命令アクセス時のみ参照テーブル
を用いて転送を行ない、参照テーブルのヒット率を高め
ることも可能である。
1より書き込みデータを入力し、データバス181に読
みだし、メモリ180へ転送し書き込みを行なう。な
お、本実施例ではCPUとメモリとの間のデータ転送を
行なう場合について示した。これはCPUとメモリ間で
は命令フェッチ等のメモリアクセスの頻度が圧倒的に大
きいからである。CPUと周辺装置、あるいはメモリと
周辺装置との間で実施しても良い。また、上記実施例で
は、転送するデータが命令であるかデータであるか区別
していないが、例えば命令アクセス時のみ参照テーブル
を用いて転送を行ない、参照テーブルのヒット率を高め
ることも可能である。
【0076】また、第3実施例と第2実施例の内容を組
み合わせて構成することにより、エントリーアドレスを
通知する信号線をデータバスの一部を利用することも容
易に実現可能である。以上のように本実施例によれば、
データ転送を行なう場合に、転送するデータが参照テー
ブル内に登録されている場合は、負荷の重いデータバス
131の全ビットをドライブをする代わりに、参照テー
ブルのヒット情報および参照テーブルのエントリー情報
を転送するのに必要なビットのみをドライブするだけで
よく、データ転送時におけるデータバスのドライブに必
要な電力を抑えることで、低消費電力化が可能である。
み合わせて構成することにより、エントリーアドレスを
通知する信号線をデータバスの一部を利用することも容
易に実現可能である。以上のように本実施例によれば、
データ転送を行なう場合に、転送するデータが参照テー
ブル内に登録されている場合は、負荷の重いデータバス
131の全ビットをドライブをする代わりに、参照テー
ブルのヒット情報および参照テーブルのエントリー情報
を転送するのに必要なビットのみをドライブするだけで
よく、データ転送時におけるデータバスのドライブに必
要な電力を抑えることで、低消費電力化が可能である。
【0077】
【発明の効果】上記の手段により請求項1の情報処理装
置によれば、メモリリード/ライト時に、データの送信
側と受信側に同一の内容の第1、第2テーブルを用意
し、送信側テーブルにおいてデータがヒットした場合
は、その位置情報を受信側に転送することで負荷の重い
データバスをドライブすることなくデータ転送すること
が可能になり情報処理装置の低消費電力化が図れるとい
う効果がある。
置によれば、メモリリード/ライト時に、データの送信
側と受信側に同一の内容の第1、第2テーブルを用意
し、送信側テーブルにおいてデータがヒットした場合
は、その位置情報を受信側に転送することで負荷の重い
データバスをドライブすることなくデータ転送すること
が可能になり情報処理装置の低消費電力化が図れるとい
う効果がある。
【0078】請求項2の情報処理装置によれば、請求項
1における効果に加えて、第1、第2テーブルの保持デ
ータの同一性を保ったままよりヒット率の高いデータに
更新することができるという効果がある。請求項3の情
報処理装置においては、請求項1における効果に加え
て、位置情報が、第1送受信回路と第2送受信回路によ
ってデータバスの一部の信号線を利用して送受信される
ので、ハードウェアの増加を抑えて不要なデータバスの
ドライブを低減でき、データ転送時の消費電力を低減す
ることができるという効果がある。
1における効果に加えて、第1、第2テーブルの保持デ
ータの同一性を保ったままよりヒット率の高いデータに
更新することができるという効果がある。請求項3の情
報処理装置においては、請求項1における効果に加え
て、位置情報が、第1送受信回路と第2送受信回路によ
ってデータバスの一部の信号線を利用して送受信される
ので、ハードウェアの増加を抑えて不要なデータバスの
ドライブを低減でき、データ転送時の消費電力を低減す
ることができるという効果がある。
【0079】請求項4の情報処理装置は、請求項1ない
し3記載の何れかの情報処理装置に対して、CPUと周
辺装置、又はメモリと周辺装置の間のデータ転送につい
て、負荷が重いデータバスをドライブする代わりにデー
タの位置情報を送受信することができる。これによりC
PUと周辺装置、又はメモリと周辺装置の間のデータ転
送について省電力化を図ることができる。
し3記載の何れかの情報処理装置に対して、CPUと周
辺装置、又はメモリと周辺装置の間のデータ転送につい
て、負荷が重いデータバスをドライブする代わりにデー
タの位置情報を送受信することができる。これによりC
PUと周辺装置、又はメモリと周辺装置の間のデータ転
送について省電力化を図ることができる。
【0080】請求項5の情報処理装置は、請求項1又は
2記載の情報処理装置において、メモリリード時に前記
第2テーブル手段は、CPUから出力されるメモリ読み
出しアドレスと一致するメモリアドレスが第2テーブル
に保持されているか否かを判定し、保持されている場合
(ヒットした場合)には、第2テーブル内の当該メモリ
アドレスに対応するデータの位置情報を出力する。第2
制御手段は、一致するメモリアドレスが保持されている
と判定された場合にはメモリ読み出しを禁止し、一致す
るメモリアドレスが保持されていないと判定された場合
にはメモリ読み出しを実行する。つまり、第2テーブル
手段はメモリリードに先立って、アドレスに関してヒッ
ト/ミスヒットを判定し、さらにアドレスミスヒットな
らばデータのヒット/ミスヒットを判定する。いずれの
ヒット時にもデータバスのドライブが不要になるのに加
えて、アドレスヒット時にはメモリリード動作そのもの
が不要になるのでさらに消費電力を低減することができ
る。
2記載の情報処理装置において、メモリリード時に前記
第2テーブル手段は、CPUから出力されるメモリ読み
出しアドレスと一致するメモリアドレスが第2テーブル
に保持されているか否かを判定し、保持されている場合
(ヒットした場合)には、第2テーブル内の当該メモリ
アドレスに対応するデータの位置情報を出力する。第2
制御手段は、一致するメモリアドレスが保持されている
と判定された場合にはメモリ読み出しを禁止し、一致す
るメモリアドレスが保持されていないと判定された場合
にはメモリ読み出しを実行する。つまり、第2テーブル
手段はメモリリードに先立って、アドレスに関してヒッ
ト/ミスヒットを判定し、さらにアドレスミスヒットな
らばデータのヒット/ミスヒットを判定する。いずれの
ヒット時にもデータバスのドライブが不要になるのに加
えて、アドレスヒット時にはメモリリード動作そのもの
が不要になるのでさらに消費電力を低減することができ
る。
【0081】請求項6の情報処理装置は、請求項1ない
し3記載の何れかの情報処理装置において、前記第1テ
ーブル手段は、第1比較回路のデータのヒット/ミスヒ
ット判定結果に応じて、第1位置情報出力回路から位置
情報を出力し、また、第2制御手段から通知された位置
情報が示す保持データを第1データ出力回路から出力す
る。第2テーブル手段も同様である。これにより高速に
動作する第1、第2テーブル手段を簡単なハードウェア
構成で実現することができる。
し3記載の何れかの情報処理装置において、前記第1テ
ーブル手段は、第1比較回路のデータのヒット/ミスヒ
ット判定結果に応じて、第1位置情報出力回路から位置
情報を出力し、また、第2制御手段から通知された位置
情報が示す保持データを第1データ出力回路から出力す
る。第2テーブル手段も同様である。これにより高速に
動作する第1、第2テーブル手段を簡単なハードウェア
構成で実現することができる。
【0082】請求項7の情報処理装置は、請求項5の情
報処理装置において、前記第2テーブル手段は、バス選
択回路及びレジスタ選択回路の選択に応じて、第2比較
回路において先ずメモリリードアドレスのヒット/ミス
ヒットを判定し、次にアドレスミスヒット時にはメモリ
リードデータのヒットミスヒットを判定する。第2位置
情報出力回路は、第2比較回路によりアドレス、データ
それぞれの判定結果において一致したレジスタ位置情報
を出力する。これによりアドレスとデータの両者のヒッ
ト/ミスヒットを高速に判定する第2テーブル手段を簡
単な構成で実現できる。
報処理装置において、前記第2テーブル手段は、バス選
択回路及びレジスタ選択回路の選択に応じて、第2比較
回路において先ずメモリリードアドレスのヒット/ミス
ヒットを判定し、次にアドレスミスヒット時にはメモリ
リードデータのヒットミスヒットを判定する。第2位置
情報出力回路は、第2比較回路によりアドレス、データ
それぞれの判定結果において一致したレジスタ位置情報
を出力する。これによりアドレスとデータの両者のヒッ
ト/ミスヒットを高速に判定する第2テーブル手段を簡
単な構成で実現できる。
【図1】本発明の第1の実施例における情報処理装置の
構成図である。
構成図である。
【図2】同実施例の参照テーブルの構成図である。
【図3】同実施例の制御回路の動作を示すフローチャー
トである。
トである。
【図4】本発明の第2の実施例における情報処理装置の
構成図である。
構成図である。
【図5】同実施例における参照テーブル110、140
のデータ数が4個の場合のデータ入出力回路430の詳
細な回路構成例を示す。
のデータ数が4個の場合のデータ入出力回路430の詳
細な回路構成例を示す。
【図6】本発明の第3の実施例における情報処理装置の
構成図である。
構成図である。
【図7】同実施例の参照テーブルの構成図である。
【図8】同実施例の制御回路610の動作を示すフロー
チャートである。
チャートである。
100 CPU 102 データバス 131 データバス 181 データバス 110 参照テーブル 120 制御回路 130 データ入出力回路 140 参照テーブル 150 制御回路 160 データ入出力回路 180 メモリ
Claims (7)
- 【請求項1】 CPUとメモリを有する情報処理装置で
あって、 CPUからのデータバスを電気的に接断する第1入出力
手段と、 メモリからのデータバスを電気的に接断し、第1入出力
手段からのデータバスに接続される第2入出力手段と、 複数のデータを保持する第1テーブルを有し、CPUの
出力データと一致するデータが第1テーブルに保持され
ている場合には第1テーブル内の当該データの位置を表
す位置情報を出力し、また、位置情報が通知された場合
には通知された位置情報が示す保持データをCPUに出
力する第1テーブル手段と、 第1テーブルと同じ複数のデータを第1テーブルの保持
位置に対応させて保持する第2テーブルを有し、メモリ
から出力されるデータと一致するデータが第2テーブル
に保持されている場合には第2テーブル内の当該データ
の位置を表す位置情報を出力し、また、位置情報が通知
された場合には通知された位置情報が示す保持データを
メモリに出力する第2テーブル手段と、 第1テーブル手段から位置情報が出力された場合、第1
及び第2入出力手段にデータバスを切断させるととも
に、当該位置情報を第2テーブル手段に通知する第1制
御手段と、 第2テーブル手段から位置情報が出力された場合、第1
及び第2入出力手段にデータバスを切断させるととも
に、当該位置情報を第1テーブル手段に通知する第2制
御手段とを備えることを特徴とする情報処理装置。 - 【請求項2】前記第1制御手段は、CPUの出力データ
と一致するデータが第1テーブルに保持されていない場
合、第1入出力手段にデータバスを接続させるととも
に、第1テーブル手段内の更新すべきデータの位置を示
す更新位置情報を決定し、 前記第2制御手段は、メモリの出力データと一致するデ
ータが第2テーブルに保持されていない場合、第2入出
力手段にデータバスを接続させるとともに、第2テーブ
ル手段内の更新すべきデータの位置を示す更新位置情報
を決定し、 前記第1、第2テーブル手段は、第1制御手段により決
定された更新位置情報が示す第1、第2テーブルの保持
位置にCPUからの出力データをそれぞれ格納し、第2
制御手段により決定された更新位置情報が示す第1、第
2テーブルの保持位置にメモリからの出力データをそれ
ぞれ格納することを特徴とする請求項1記載の情報処理
装置。 - 【請求項3】前記第1入出力手段は、データバスの一部
の信号線を介して第2入出力手段との間で前記位置情報
を送受信する第1送受信回路を有し、 前記第2入出力手段は、データバスの一部の信号線を介
して第1入出力手段との間で前記位置情報を送受信する
第2送受信回路を有し、 前記第1制御手段は、第1送受信回路と第2送受信回路
を介して第2テーブル手段に前記位置情報を通知し、 前記第2制御手段は、第2送受信回路と第1送受信回路
を介して第2テーブル手段に前記位置情報を通知するこ
とを特徴とする請求項1記載の情報処理装置。 - 【請求項4】 前記第1入出力手段、第1テーブル手段
および第1制御手段の接続先と、前記第2入出力手段、
第2テーブル手段および第2制御手段の接続先とが、そ
れぞれCPUとメモリであることに代えて、CPUと周
辺装置、又はメモリと周辺装置であることを特徴とする
請求項1ないし3記載の何れかの情報処理装置。 - 【請求項5】前記第2テーブルは、さらに保持データの
それぞれに対応する複数のメモリアドレスを保持し、 前記第2テーブル手段は、 CPUから出力されるメモリ読み出しアドレスと一致す
るメモリアドレスが第2テーブルに保持されているか否
かを判定し、保持されている場合には、第2テーブル内
の当該メモリアドレスに対応するデータの位置情報を出
力し、 第2制御手段は、一致するメモリアドレスが保持されて
いると判定された場合にはメモリ読み出しを禁止し、一
致するメモリアドレスが保持されていないと判定された
場合にはメモリ読み出しを実行することを特徴とする請
求項1又は2記載の情報処理装置。 - 【請求項6】 前記第1テーブル手段は、 データを保持する複数のレジスタからなる第1テーブル
と、 CPUから出力されるデータと個々のレジスタの保持デ
ータとを比較し、どの保持データが一致するか否かを判
定する第1比較回路と、 一致したデータを保持するレジスタの位置情報を出力す
る第1位置情報出力回路と、 第2制御手段から通知された位置情報が示すレジスタか
ら保持データをCPUに出力する第1データ出力回路と
を有し、 前記第2テーブル手段は、 データを保持する複数のレジスタからなる第2テーブル
と、 メモリから出力されるデータと個々のレジスタの保持デ
ータとを比較し、どの保持データが一致するか否かを判
定する第2比較回路と、 一致したデータを保持するレジスタの位置情報を出力す
る第2位置情報出力回路と、 第1制御手段から通知された位置情報が示すレジスタか
ら保持データをメモリに出力する第2データ出力回路と
を有することを特徴とする請求項1ないし3記載のいず
れか情報処理装置。 - 【請求項7】 前記第1テーブル手段は、 データを保持する複数のレジスタからなる第1テーブル
と、 CPUから出力されるデータと個々のレジスタの保持デ
ータとを比較し、どの保持データが一致するかを判定す
る第1比較回路と、 一致したデータを保持するレジスタの位置情報を出力す
る第1位置情報出力回路と、 第2制御手段から通知された位置情報が示すレジスタか
ら保持データをCPUに出力する第1データ出力回路と
を有し、 前記第2テーブル手段は、 データを保持する複数のデータレジスタと、データレジ
スタに対応する複数のアドレスレジスタとからなる第2
テーブルと、 CPUからのアドレスバスに出力されるアドレスと、メ
モリからのデータバスに出力されるデータとの何れかを
選択するバス選択回路と、 アドレスレジスタの出力とデータレジスタの出力との何
れかを選択する複数のレジスタ選択回路と、 バス選択回路の出力と、個々のレジスタ選択回路の出力
とを比較し、レジスタが一致するかを判定する第2比較
回路と、 第2比較回路により一致したレジスタ位置情報を出力す
る第2位置情報出力回路と、 第1制御手段から通知された位置情報が示すレジスタか
ら保持データをメモリに出力する第2データ出力回路と
を有することを特徴とする請求項5記載の情報処理装
置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7006977A JPH08194562A (ja) | 1995-01-20 | 1995-01-20 | 情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7006977A JPH08194562A (ja) | 1995-01-20 | 1995-01-20 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08194562A true JPH08194562A (ja) | 1996-07-30 |
Family
ID=11653262
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7006977A Pending JPH08194562A (ja) | 1995-01-20 | 1995-01-20 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08194562A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SG96211A1 (en) * | 2000-04-28 | 2003-05-23 | Sony Corp | Information processing system and information processing apparatus |
-
1995
- 1995-01-20 JP JP7006977A patent/JPH08194562A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SG96211A1 (en) * | 2000-04-28 | 2003-05-23 | Sony Corp | Information processing system and information processing apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6243791B1 (en) | Method and architecture for data coherency in set-associative caches including heterogeneous cache sets having different characteristics | |
| US6976126B2 (en) | Accessing data values in a cache | |
| EP1089185A2 (en) | Method of controlling a cache memory to increase an access speed to a main memory, and a computer using the method | |
| JPH06318177A (ja) | キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム | |
| JP2002007210A (ja) | デジタルデータ処理システム、それに使用される集積回路キャッシュメモリ装置およびキャッシュメモリの動作方法 | |
| CN104572494A (zh) | 存储系统及标记存储器 | |
| KR100851738B1 (ko) | 로우-레벨 캐시를 포함한 액세스 촉진용 리버스 디렉토리 | |
| US6718439B1 (en) | Cache memory and method of operation | |
| KR20010014592A (ko) | 파이프라인 메모리 시스템의 다중 목적에 대한 다중 요구지원 | |
| US6434665B1 (en) | Cache memory store buffer | |
| US8688952B2 (en) | Arithmetic processing unit and control method for evicting an entry from a TLB to another TLB | |
| EP1693760A1 (en) | Organization of dirty bits for a write-back cache | |
| US20110022802A1 (en) | Controlling data accesses to hierarchical data stores to retain access order | |
| US6792498B2 (en) | Memory system with mechanism for assisting a cache memory | |
| WO2006078837A2 (en) | Methods and apparatus for dynamically managing banked memory | |
| JP3732397B2 (ja) | キャッシュシステム | |
| TW201101028A (en) | Cache controller, a method for controlling the cache controller, and a computing system | |
| JPH08194562A (ja) | 情報処理装置 | |
| US6480940B1 (en) | Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module | |
| JP3988485B2 (ja) | キャッシュ回路、情報処理装置及び電子機器 | |
| CN100451994C (zh) | 维持高速缓存协调性的微处理器、装置与方法 | |
| US20060015689A1 (en) | Implementation and management of moveable buffers in cache system | |
| US6694408B1 (en) | Scalable replacement method and system in a cache memory | |
| JPH02302853A (ja) | 改良型キャッシュアクセス方法及び装置 | |
| JP2976980B2 (ja) | キャッシュ制御方式 |