JPH1040165A - データ読み出し方法およびリードバッファ - Google Patents
データ読み出し方法およびリードバッファInfo
- Publication number
- JPH1040165A JPH1040165A JP23478296A JP23478296A JPH1040165A JP H1040165 A JPH1040165 A JP H1040165A JP 23478296 A JP23478296 A JP 23478296A JP 23478296 A JP23478296 A JP 23478296A JP H1040165 A JPH1040165 A JP H1040165A
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- address
- memory
- word
- 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
- 238000000034 method Methods 0.000 title description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 1
Abstract
(57)【要約】
【課題】 1回のメモリアクセスサイズよりも小さい場
合の処理を高速化し、データバスのトラフィックを低減
させる。 【解決手段】 最初のメモリリード時、リード制御部2
は、メモリ5からのワードデータを出力すると共に、そ
のワードデータをバッファ部3に保持する。また、アド
レスレジスタ1は、そのワードアドレスを保持する。次
のメモリリード時、リード制御部2は、そのメモリリー
ドアドレスが、アドレスレジスタ1が保持しているアド
レスに含まれるかを判定する。含まれていた場合は、バ
ッファ部3のデータを出力する。含まれていなかった場
合は、最初のメモリリード時と同様に、メモリ5からの
ワードデータを出力すると共に、そのワードデータをバ
ッファ部3に保持する。また、アドレスレジスタ1は、
そのワードアドレスを保持する。
合の処理を高速化し、データバスのトラフィックを低減
させる。 【解決手段】 最初のメモリリード時、リード制御部2
は、メモリ5からのワードデータを出力すると共に、そ
のワードデータをバッファ部3に保持する。また、アド
レスレジスタ1は、そのワードアドレスを保持する。次
のメモリリード時、リード制御部2は、そのメモリリー
ドアドレスが、アドレスレジスタ1が保持しているアド
レスに含まれるかを判定する。含まれていた場合は、バ
ッファ部3のデータを出力する。含まれていなかった場
合は、最初のメモリリード時と同様に、メモリ5からの
ワードデータを出力すると共に、そのワードデータをバ
ッファ部3に保持する。また、アドレスレジスタ1は、
そのワードアドレスを保持する。
Description
【0001】
【発明の属する技術分野】本発明は、データのリードサ
イズがメモリのリードサイズより小さい場合、メモリリ
ードサイズ分のデータを保持しておき、保持したデータ
へのリード要求があった場合は、保持したデータをリー
ドデータとして出力するデータ読み出し方法およびリー
ドバッファに関する。
イズがメモリのリードサイズより小さい場合、メモリリ
ードサイズ分のデータを保持しておき、保持したデータ
へのリード要求があった場合は、保持したデータをリー
ドデータとして出力するデータ読み出し方法およびリー
ドバッファに関する。
【0002】
【従来の技術】配列などのデータをリードする時、配列
のデータリードサイズが、メモリリードサイズより小さ
い場合がある。例えば、配列のデータリードサイズが8
ビットで、メモリリードサイズが32ビットといった場
合である。このような構成において、配列のデータを連
続したアドレスで順次リードする場合は以下のようにな
る。
のデータリードサイズが、メモリリードサイズより小さ
い場合がある。例えば、配列のデータリードサイズが8
ビットで、メモリリードサイズが32ビットといった場
合である。このような構成において、配列のデータを連
続したアドレスで順次リードする場合は以下のようにな
る。
【0003】例えば、外部データバスが32ビット、メ
モリアクセスサイズが32ビットであり、データキャッ
シュを持たないようなシステムを考えた場合、バイトサ
イズのデータをバイトアドレス更新で順次リードする
と、毎回のデータリードでメモリアクセスが発生する。
モリアクセスサイズが32ビットであり、データキャッ
シュを持たないようなシステムを考えた場合、バイトサ
イズのデータをバイトアドレス更新で順次リードする
と、毎回のデータリードでメモリアクセスが発生する。
【0004】図2は、これを説明するためのデータリー
ドアドレスの説明図である。即ち、データリードアドレ
スがW+b[*]で表され、Wはワードアドレス、b
[*]はバイトアドレスであるとする。例えば、最初の
バイトリードアドレスが、W*b[0]の時、メモリか
らはb[0]を含むワードデータが読み出される。そし
て、次のバイトリードアドレスがW+b[2]の時、メ
モリからはb[2]を含むワードデータが読み出され
る。つまり、いずれの場合であっても、そのリードデー
タは、b[0]〜b[3]を含むワードデータとなる。
そのため、同じワード内の異なる2バイトデータの読み
出しで、メモリに対して2ワード分のデータアクセスが
必要となる。
ドアドレスの説明図である。即ち、データリードアドレ
スがW+b[*]で表され、Wはワードアドレス、b
[*]はバイトアドレスであるとする。例えば、最初の
バイトリードアドレスが、W*b[0]の時、メモリか
らはb[0]を含むワードデータが読み出される。そし
て、次のバイトリードアドレスがW+b[2]の時、メ
モリからはb[2]を含むワードデータが読み出され
る。つまり、いずれの場合であっても、そのリードデー
タは、b[0]〜b[3]を含むワードデータとなる。
そのため、同じワード内の異なる2バイトデータの読み
出しで、メモリに対して2ワード分のデータアクセスが
必要となる。
【0005】例えば、画像データ等では、8ビットのデ
ータを扱う場合が多く、しかも、それを連続アドレスで
アクセスすることが多いため、毎回のバイトデータアク
セスでバスアクセスが必要となる。そこで、データキャ
ッシュを用いることが考えられるが、そのためのコスト
は決して小さくない。
ータを扱う場合が多く、しかも、それを連続アドレスで
アクセスすることが多いため、毎回のバイトデータアク
セスでバスアクセスが必要となる。そこで、データキャ
ッシュを用いることが考えられるが、そのためのコスト
は決して小さくない。
【0006】
【発明が解決しようとする課題】最近のシステムでは、
外部データバスが32ビット、メモリアクセスサイズが
32ビットであるものが一般的となってきているが、こ
のような構成において、画像データといった8ビット単
位で処理する場合の高速化を図る必要がある。また、デ
ータキャッシュも一般的になってきているが、上述した
ようにキャッシュのコストは決して低いものではなく、
RISCのCPUをコアとした組み込みシステム等で
は、キャッシュよりもそのシステムに必要な周辺ロジッ
クの入れ込みの要求が強い。
外部データバスが32ビット、メモリアクセスサイズが
32ビットであるものが一般的となってきているが、こ
のような構成において、画像データといった8ビット単
位で処理する場合の高速化を図る必要がある。また、デ
ータキャッシュも一般的になってきているが、上述した
ようにキャッシュのコストは決して低いものではなく、
RISCのCPUをコアとした組み込みシステム等で
は、キャッシュよりもそのシステムに必要な周辺ロジッ
クの入れ込みの要求が強い。
【0007】そこで、キャッシュメモリを持たないシス
テムであっても、バイトデータリードといった、1回の
メモリアクセスサイズよりも小さい場合の処理を高速化
し、また、データバスのトラフィックも低減させること
のできるシステムの実現が望まれていた。
テムであっても、バイトデータリードといった、1回の
メモリアクセスサイズよりも小さい場合の処理を高速化
し、また、データバスのトラフィックも低減させること
のできるシステムの実現が望まれていた。
【0008】
【課題を解決するための手段】本発明は、前述の課題を
解決するため次の構成を採用する。 〈構成1〉データのリードサイズがメモリの1回のリー
ドサイズより小さい場合、データのリード時に、メモリ
の1回のリードサイズ分のデータを読み込んで保持し、
それ以降のデータのリード時のアドレスが、読み込んだ
データのアドレスに含まれていた場合は、保持したデー
タをメモリのリードデータとするデータ読み出し方法で
ある。
解決するため次の構成を採用する。 〈構成1〉データのリードサイズがメモリの1回のリー
ドサイズより小さい場合、データのリード時に、メモリ
の1回のリードサイズ分のデータを読み込んで保持し、
それ以降のデータのリード時のアドレスが、読み込んだ
データのアドレスに含まれていた場合は、保持したデー
タをメモリのリードデータとするデータ読み出し方法で
ある。
【0009】〈構成2〉メモリのリードアドレスが与え
られた場合は、そのアドレスを含む1回のメモリリード
サイズのアドレスを保持するアドレスレジスタと、メモ
リのリードアドレスが与えられた場合は、そのリードア
ドレスがアドレスレジスタの保持するアドレスに含まれ
いるかを判定し、含まれていない場合は、メモリから1
回のメモリリード分のデータをリードして、これを保持
し、一方、リードアドレスがアドレスレジスタの保持す
るアドレスに含まれていた場合は、保持しているデータ
を、メモリリードデータとして出力するリード制御部
と、メモリよりリードした1回のメモリリード分のデー
タを保持するバッファ部とを備えたことを特徴とするリ
ードバッファである。
られた場合は、そのアドレスを含む1回のメモリリード
サイズのアドレスを保持するアドレスレジスタと、メモ
リのリードアドレスが与えられた場合は、そのリードア
ドレスがアドレスレジスタの保持するアドレスに含まれ
いるかを判定し、含まれていない場合は、メモリから1
回のメモリリード分のデータをリードして、これを保持
し、一方、リードアドレスがアドレスレジスタの保持す
るアドレスに含まれていた場合は、保持しているデータ
を、メモリリードデータとして出力するリード制御部
と、メモリよりリードした1回のメモリリード分のデー
タを保持するバッファ部とを備えたことを特徴とするリ
ードバッファである。
【0010】
【発明の実施の形態】以下、本発明の実施の形態を図面
を用いて詳細に説明する。図1は本発明のデータ読み出
し方法およびリードバッファの具体例を示す構成図であ
るが、この説明に先立ち、本発明の原理を説明する。
を用いて詳細に説明する。図1は本発明のデータ読み出
し方法およびリードバッファの具体例を示す構成図であ
るが、この説明に先立ち、本発明の原理を説明する。
【0011】〈本発明の原理〉例えば、従来の技術で説
明したような外部データバス32ビット、メモリアクセ
スサイズ32ビットであるシステムを考えた場合、バイ
トデータリードでもワードデータリードであっても、外
部データバス32ビットを使うことにおいては同じであ
る。つまり、バイトデータリードでは多くの場合、32
ビットのデータをメモリから読み出し、CPUの内部
で、目的のバイトデータを取り出すことになる。尚、こ
こで、ワードデータとは、1回のメモリアクセスで読み
出すデータを指している。
明したような外部データバス32ビット、メモリアクセ
スサイズ32ビットであるシステムを考えた場合、バイ
トデータリードでもワードデータリードであっても、外
部データバス32ビットを使うことにおいては同じであ
る。つまり、バイトデータリードでは多くの場合、32
ビットのデータをメモリから読み出し、CPUの内部
で、目的のバイトデータを取り出すことになる。尚、こ
こで、ワードデータとは、1回のメモリアクセスで読み
出すデータを指している。
【0012】そこで、バイトデータリードにより読み込
んだデータと、そのメモリアドレスをバッファに保持
し、次にそのバッファに含まれるデータにアクセスする
時、メモリアクセスを行うことなく、そのバッファから
データを読み出すようにする。
んだデータと、そのメモリアドレスをバッファに保持
し、次にそのバッファに含まれるデータにアクセスする
時、メモリアクセスを行うことなく、そのバッファから
データを読み出すようにする。
【0013】即ち、本発明のデータ読み出し方法は、デ
ータのリードサイズがメモリの1回のリードサイズより
小さい場合は、データのリード時に、メモリの1回のリ
ードサイズ分のデータを読み込んで保持し、それ以降の
データのリード時のアドレスが、前記の読み込んだデー
タのアドレスに含まれていた場合は、保持したデータを
メモリのリードデータとするようにしたものである。
ータのリードサイズがメモリの1回のリードサイズより
小さい場合は、データのリード時に、メモリの1回のリ
ードサイズ分のデータを読み込んで保持し、それ以降の
データのリード時のアドレスが、前記の読み込んだデー
タのアドレスに含まれていた場合は、保持したデータを
メモリのリードデータとするようにしたものである。
【0014】以下、本発明のデータ読み出し方法および
リードバッファの具体例を図1の構成を参照して説明す
る。
リードバッファの具体例を図1の構成を参照して説明す
る。
【0015】〈構成〉図1のシステムは、アドレスレジ
スタ1、リード制御部2、バッファ部3、アラインユニ
ット4、メモリ5、アドレスバス6、データバス7から
なる。アドレスレジスタ1は、アドレスバス6を介して
メモリ5のリードアドレスが与えられた場合は、そのア
ドレスを含む1回のメモリリードサイズ、即ち、1ワー
ドのアドレスを保持するレジスタである。また、本具体
例では1ワードを32ビットとして説明する。
スタ1、リード制御部2、バッファ部3、アラインユニ
ット4、メモリ5、アドレスバス6、データバス7から
なる。アドレスレジスタ1は、アドレスバス6を介して
メモリ5のリードアドレスが与えられた場合は、そのア
ドレスを含む1回のメモリリードサイズ、即ち、1ワー
ドのアドレスを保持するレジスタである。また、本具体
例では1ワードを32ビットとして説明する。
【0016】リード制御部2は、メモリ5のリードアド
レスが与えられた場合は、そのリードアドレスが、アド
レスレジスタ1に含まれているかを判定し、含まれてい
ない場合は、メモリ5から1回のメモリリード分である
32ビット分のデータをリードして、これを出力すると
共に、リードしたデータをバッファ部3に保持し、一
方、リードアドレスがアドレスレジスタ1の保持するア
ドレスに含まれていた場合は、バッファ部3に保持され
ているデータを、メモリ5のリードデータとして出力す
る機能を有している。
レスが与えられた場合は、そのリードアドレスが、アド
レスレジスタ1に含まれているかを判定し、含まれてい
ない場合は、メモリ5から1回のメモリリード分である
32ビット分のデータをリードして、これを出力すると
共に、リードしたデータをバッファ部3に保持し、一
方、リードアドレスがアドレスレジスタ1の保持するア
ドレスに含まれていた場合は、バッファ部3に保持され
ているデータを、メモリ5のリードデータとして出力す
る機能を有している。
【0017】即ち、リード制御部2は、比較器21、論
理回路22、フラグ部23、選択器24からなる。比較
器21は、アドレスバス6を介して与えられたリードデ
ータと、アドレスレジスタ1に保持されているアドレス
とを比較する比較器であり、その比較出力は、論理回路
22に入力される。論理回路22は、比較器21の出
力、フラグ部23のフラグおよびアラインユニット4に
指示されるロード命令との論理積演算を行う論理回路で
ある。フラグ部23はバッファ部3にデータが格納され
ているかを示し、格納されている場合は、フラグをオン
(=“1”)としている。また、選択器24は、論理回
路22の結果に基づき、メモリ5からのリードデータ
か、バッファ部3からのデータかを選択してアラインユ
ニット4に出力するためのセレクタである。
理回路22、フラグ部23、選択器24からなる。比較
器21は、アドレスバス6を介して与えられたリードデ
ータと、アドレスレジスタ1に保持されているアドレス
とを比較する比較器であり、その比較出力は、論理回路
22に入力される。論理回路22は、比較器21の出
力、フラグ部23のフラグおよびアラインユニット4に
指示されるロード命令との論理積演算を行う論理回路で
ある。フラグ部23はバッファ部3にデータが格納され
ているかを示し、格納されている場合は、フラグをオン
(=“1”)としている。また、選択器24は、論理回
路22の結果に基づき、メモリ5からのリードデータ
か、バッファ部3からのデータかを選択してアラインユ
ニット4に出力するためのセレクタである。
【0018】バッファ部3は、1ワード(32ビット)
分のデータを保持するバッファである。また、アライン
ユニット4は、ロード命令(ロードバイト、ロードハー
フワード、ロードワード)によるデータのビット数に基
づき、選択器24からのデータを所望のビット数として
出力するユニットである。尚、ロードバイトとは、8ビ
ットのデータのロード命令であり、ロードハーフワード
とは、本具体例のように1ワードを32ビットとした場
合は16ビット、ロードワードとは32ビットのデータ
のロード命令を意味している。更に、メモリ5は、DR
AM等のメモリ、アドレスバス6は、CPU等から与え
られるアドレス信号を転送するためのバス、データバス
7は、メモリ5からのリードデータを転送するための1
ワード(32ビット)幅のバスである。
分のデータを保持するバッファである。また、アライン
ユニット4は、ロード命令(ロードバイト、ロードハー
フワード、ロードワード)によるデータのビット数に基
づき、選択器24からのデータを所望のビット数として
出力するユニットである。尚、ロードバイトとは、8ビ
ットのデータのロード命令であり、ロードハーフワード
とは、本具体例のように1ワードを32ビットとした場
合は16ビット、ロードワードとは32ビットのデータ
のロード命令を意味している。更に、メモリ5は、DR
AM等のメモリ、アドレスバス6は、CPU等から与え
られるアドレス信号を転送するためのバス、データバス
7は、メモリ5からのリードデータを転送するための1
ワード(32ビット)幅のバスである。
【0019】〈動作〉本具体例では、各ロード命令(バ
イト、ハーフワード、ワード)を受けた場合、ワードデ
ータをメモリ5から読み出す。そして、ロード命令の種
類によるデータ操作はアラインユニット4で行う。
イト、ハーフワード、ワード)を受けた場合、ワードデ
ータをメモリ5から読み出す。そして、ロード命令の種
類によるデータ操作はアラインユニット4で行う。
【0020】先ず、リセットが行われてフラグ部23が
リセット(=“0”)される。その後は、ロード命令と
そのロード命令によるメモリリードアドレスに基づき、
以下の動作が行われる。尚、以下の例では、ロード命令
がバイトデータであるとする。
リセット(=“0”)される。その後は、ロード命令と
そのロード命令によるメモリリードアドレスに基づき、
以下の動作が行われる。尚、以下の例では、ロード命令
がバイトデータであるとする。
【0021】図3は、具体例の動作を示すフローチャー
トである。ステップS1において、ロード命令が検出さ
れると、比較器21では、そのロード命令のメモリリー
ドアドレス(ワードアドレス)と、アドレスレジスタ1
に保持されているワードアドレスとを比較する(ステッ
プS2)。この場合、最初のロード命令であるため、ア
ドレスレジスタ1では、ワードデータを保持しておら
ず、従って、比較器21の出力は“0”(保持したメモ
リアドレスには一致しない)となる。また、フラグ部2
3のフラグも“0”であるため、論理回路22の出力も
“0”となる。尚、ロード命令の論理回路22への入力
は、ロードバイト、ロードハーフワード、ロードワード
のいずれのロード命令の場合も“1”であるとする。
トである。ステップS1において、ロード命令が検出さ
れると、比較器21では、そのロード命令のメモリリー
ドアドレス(ワードアドレス)と、アドレスレジスタ1
に保持されているワードアドレスとを比較する(ステッ
プS2)。この場合、最初のロード命令であるため、ア
ドレスレジスタ1では、ワードデータを保持しておら
ず、従って、比較器21の出力は“0”(保持したメモ
リアドレスには一致しない)となる。また、フラグ部2
3のフラグも“0”であるため、論理回路22の出力も
“0”となる。尚、ロード命令の論理回路22への入力
は、ロードバイト、ロードハーフワード、ロードワード
のいずれのロード命令の場合も“1”であるとする。
【0022】これにより、データバス7を介してメモリ
5からのデータリードが行われ、選択器24がこのデー
タを選択してアラインユニット4に送る。また、この
時、リードした1ワード分のデータをバッファ部3に保
持し、フラグ部23のフラグを“1”とする。同時に、
メモリリードアドレス(ワードアドレス)を、アドレス
レジスタ1で保持する。更に、アラインユニット4で
は、ロード命令(バイト、ハーフワード、ワード)の種
類に基づき、必要なデータ操作を行う。即ち、ロード命
令のデータをLSB側に配列したワードデータを出力す
る。例えば、ロード命令がバイトデータであった場合
は、そのバイトデータを下位ビットに配列したワードデ
ータを、また、ロードハーフワードであった場合は、1
6ビットデータを下位ビット側に配列したワードデータ
を出力する。以上の動作が、ステップS3の処理であ
り、その後は、ステップS1の状態に戻る。
5からのデータリードが行われ、選択器24がこのデー
タを選択してアラインユニット4に送る。また、この
時、リードした1ワード分のデータをバッファ部3に保
持し、フラグ部23のフラグを“1”とする。同時に、
メモリリードアドレス(ワードアドレス)を、アドレス
レジスタ1で保持する。更に、アラインユニット4で
は、ロード命令(バイト、ハーフワード、ワード)の種
類に基づき、必要なデータ操作を行う。即ち、ロード命
令のデータをLSB側に配列したワードデータを出力す
る。例えば、ロード命令がバイトデータであった場合
は、そのバイトデータを下位ビットに配列したワードデ
ータを、また、ロードハーフワードであった場合は、1
6ビットデータを下位ビット側に配列したワードデータ
を出力する。以上の動作が、ステップS3の処理であ
り、その後は、ステップS1の状態に戻る。
【0023】その後のロード命令の実行において、ロー
ド命令が検出されると(ステップS1)、比較器21
は、メモリリードアドレスが、アドレスレジスタ1に保
持されているワードアドレスに含まれるかを判定する
(ステップS2)。この場合、バイトアドレスが連続し
ていたとすると、メモリリードアドレスのワードアドレ
スと、アドレスレジスタ1が保持しているワードアドレ
スは一致するため、比較器21の出力は“1”となる。
また、フラグ部23のフラグも“1”であるため、論理
回路22の出力は“1”となる。これにより、ステップ
S4に移行し、そのロード命令によるメモリアクセスは
行わず、選択器24は、直ちにバッファ部3のデータを
選択し、そのデータをアラインユニット4に送る。
ド命令が検出されると(ステップS1)、比較器21
は、メモリリードアドレスが、アドレスレジスタ1に保
持されているワードアドレスに含まれるかを判定する
(ステップS2)。この場合、バイトアドレスが連続し
ていたとすると、メモリリードアドレスのワードアドレ
スと、アドレスレジスタ1が保持しているワードアドレ
スは一致するため、比較器21の出力は“1”となる。
また、フラグ部23のフラグも“1”であるため、論理
回路22の出力は“1”となる。これにより、ステップ
S4に移行し、そのロード命令によるメモリアクセスは
行わず、選択器24は、直ちにバッファ部3のデータを
選択し、そのデータをアラインユニット4に送る。
【0024】アラインユニット4では、上記と同様に、
ロード命令の種類が、バイト、ハーフワード、ワード等
により必要なデータ操作を行う。即ち、バッファ部3の
データをアラインユニット4に送る場合でも、アライン
ユニット4の動作は、通常のメモリロードの場合から特
に変更する必要がない。
ロード命令の種類が、バイト、ハーフワード、ワード等
により必要なデータ操作を行う。即ち、バッファ部3の
データをアラインユニット4に送る場合でも、アライン
ユニット4の動作は、通常のメモリロードの場合から特
に変更する必要がない。
【0025】一方、上記のステップS2において、ロー
ド命令のメモリリードアドレスが、アドレスレジスタ1
のアドレスに含まれていなかった場合は、比較器21の
出力が“0”となり、ステップS3に移行して、通常の
メモリロードが行われる。即ち、メモリ5から読み出さ
れたデータは、選択器24によって選択され、アライン
ユニット4に送られると共に、そのデータはバッファ部
3に保持される。尚、この場合のアラインユニット4の
動作は、上記の場合と同様である。
ド命令のメモリリードアドレスが、アドレスレジスタ1
のアドレスに含まれていなかった場合は、比較器21の
出力が“0”となり、ステップS3に移行して、通常の
メモリロードが行われる。即ち、メモリ5から読み出さ
れたデータは、選択器24によって選択され、アライン
ユニット4に送られると共に、そのデータはバッファ部
3に保持される。尚、この場合のアラインユニット4の
動作は、上記の場合と同様である。
【0026】〈効果〉以上のように、上記具体例では、
データのリードサイズがメモリ5のリードサイズより小
さい時、これからリードするデータが、直前のリード命
令によるメモリリードデータに含まれる場合、この直前
のメモリリードデータを保持しておくことで、メモリ5
のリードを行うことなくデータを得ることができる。
データのリードサイズがメモリ5のリードサイズより小
さい時、これからリードするデータが、直前のリード命
令によるメモリリードデータに含まれる場合、この直前
のメモリリードデータを保持しておくことで、メモリ5
のリードを行うことなくデータを得ることができる。
【0027】特に、32ビットデータバスで32ビット
メモリアクセスである時、バイトデータを連続したアド
レスを繰り返しアクセスする場合は、メモリアクセス
は、リード4回につき1回となり、キャッシュを用いる
より小さいコストで効果的なデータアクセスができる。
メモリアクセスである時、バイトデータを連続したアド
レスを繰り返しアクセスする場合は、メモリアクセス
は、リード4回につき1回となり、キャッシュを用いる
より小さいコストで効果的なデータアクセスができる。
【0028】また、保持するデータは、1回のメモリア
クセス分であるため、複数ワードのデータを読み込んで
保持する構成に比べて、バッファ部3の容量も小さくて
済むと共に、データバスのトラフィックも小さいという
効果がある。しかも、バッファ部3に保持したデータを
アラインユニット4へ送る場合も、メモリ5からのリー
ドデータと同様に出力するため、アラインユニット4の
構成については特に変更する必要がなく、リードバッフ
ァ機能を実現するための構成の付加も必要最低限のもの
で済むという効果がある。
クセス分であるため、複数ワードのデータを読み込んで
保持する構成に比べて、バッファ部3の容量も小さくて
済むと共に、データバスのトラフィックも小さいという
効果がある。しかも、バッファ部3に保持したデータを
アラインユニット4へ送る場合も、メモリ5からのリー
ドデータと同様に出力するため、アラインユニット4の
構成については特に変更する必要がなく、リードバッフ
ァ機能を実現するための構成の付加も必要最低限のもの
で済むという効果がある。
【0029】尚、上記具体例において、リードバッファ
の機能を使うか否かは、別途にフラグを設けて、命令に
より明示的に指定するよう構成してもよい。また、上記
具体例では、外部データバス幅を32ビット、1回のメ
モリアクセスサイズを32ビットとしたが、この構成に
限定されるものではなく、例えば外部データバス幅が6
4ビット、1回のメモリアクセスサイズが32ビットと
いった構成であっても、データのリードサイズがメモリ
5の1回のリードサイズより小さい構成であれば、同様
に適用可能である。
の機能を使うか否かは、別途にフラグを設けて、命令に
より明示的に指定するよう構成してもよい。また、上記
具体例では、外部データバス幅を32ビット、1回のメ
モリアクセスサイズを32ビットとしたが、この構成に
限定されるものではなく、例えば外部データバス幅が6
4ビット、1回のメモリアクセスサイズが32ビットと
いった構成であっても、データのリードサイズがメモリ
5の1回のリードサイズより小さい構成であれば、同様
に適用可能である。
【図1】本発明の具体例によるリードバッファの構成図
である。
である。
【図2】データリードアドレスの説明図である。
【図3】本発明の具体例によるリードバッファの動作を
示すフローチャートである。
示すフローチャートである。
1 アドレスレジスタ 2 リード制御部 3 バッファ部 4 アラインユニット 5 メモリ
Claims (2)
- 【請求項1】 データのリードサイズがメモリの1回の
リードサイズより小さい場合、前記データのリード時
に、前記メモリの1回のリードサイズ分のデータを読み
込んで保持し、 それ以降のデータのリード時のアドレスが、前記読み込
んだデータのアドレスに含まれていた場合は、保持した
データをメモリのリードデータとするデータ読み出し方
法。 - 【請求項2】 メモリのリードアドレスが与えられた場
合は、そのアドレスを含む1回のメモリリードサイズの
アドレスを保持するアドレスレジスタと、 メモリのリードアドレスが与えられた場合は、当該リー
ドアドレスが前記アドレスレジスタの保持するアドレス
に含まれいるかを判定し、含まれていない場合は、前記
メモリから1回のメモリリード分のデータをリードし
て、これを保持し、一方、前記リードアドレスが前記ア
ドレスレジスタの保持するアドレスに含まれていた場合
は、保持しているデータを、前記メモリリードデータと
して出力するリード制御部と、 前記メモリよりリードした1回のメモリリード分のデー
タを保持するバッファ部とを備えたことを特徴とするリ
ードバッファ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23478296A JPH1040165A (ja) | 1996-07-22 | 1996-07-22 | データ読み出し方法およびリードバッファ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23478296A JPH1040165A (ja) | 1996-07-22 | 1996-07-22 | データ読み出し方法およびリードバッファ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1040165A true JPH1040165A (ja) | 1998-02-13 |
Family
ID=16976298
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23478296A Pending JPH1040165A (ja) | 1996-07-22 | 1996-07-22 | データ読み出し方法およびリードバッファ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1040165A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001175534A (ja) * | 1999-12-17 | 2001-06-29 | Sanyo Electric Co Ltd | メモリ制御回路 |
| JP2003044354A (ja) * | 2001-07-26 | 2003-02-14 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
| WO2014068789A1 (ja) * | 2012-11-05 | 2014-05-08 | 三菱電機株式会社 | メモリ制御装置 |
| CN114327847A (zh) * | 2020-09-30 | 2022-04-12 | 龙芯中科技术股份有限公司 | 内存加速验证方法、装置、电子设备及存储介质 |
-
1996
- 1996-07-22 JP JP23478296A patent/JPH1040165A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001175534A (ja) * | 1999-12-17 | 2001-06-29 | Sanyo Electric Co Ltd | メモリ制御回路 |
| JP2003044354A (ja) * | 2001-07-26 | 2003-02-14 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
| WO2014068789A1 (ja) * | 2012-11-05 | 2014-05-08 | 三菱電機株式会社 | メモリ制御装置 |
| JP5797342B2 (ja) * | 2012-11-05 | 2015-10-21 | 三菱電機株式会社 | メモリ制御装置 |
| US9715427B2 (en) | 2012-11-05 | 2017-07-25 | Mitsubishi Electric Corporation | Memory control apparatus |
| CN114327847A (zh) * | 2020-09-30 | 2022-04-12 | 龙芯中科技术股份有限公司 | 内存加速验证方法、装置、电子设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2665111B2 (ja) | ベクトル処理装置 | |
| JPH1091572A (ja) | データ転送方法及びその方法を用いたデータ転送装置 | |
| JP2001216194A (ja) | 演算処理装置 | |
| US6684267B2 (en) | Direct memory access controller, and direct memory access control method | |
| JP2000029767A (ja) | デ―タ処理装置における書き込みバッファ | |
| JPH1040165A (ja) | データ読み出し方法およびリードバッファ | |
| JP3462245B2 (ja) | 中央演算処理装置 | |
| JP4855864B2 (ja) | ダイレクトメモリアクセスコントローラ | |
| JPH05189360A (ja) | データ転送および記憶方式 | |
| US6772271B2 (en) | Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory | |
| JP3954185B2 (ja) | メモリシステム | |
| US6684286B1 (en) | High-speed block transfer circuit | |
| WO1996012230A1 (en) | System and method for processing of memory data and communication system comprising such system | |
| JPH11175396A (ja) | メモリアクセス制御装置及び記憶媒体 | |
| JP3182497B2 (ja) | 演算処理装置および命令変換装置 | |
| JPH07271656A (ja) | 画像データ処理システム | |
| JPH03288228A (ja) | 情報処理装置 | |
| JP2001160025A (ja) | データ転送装置 | |
| JPH10111798A (ja) | 情報処理装置 | |
| JPH0333951A (ja) | マイクロコンピュータシステム | |
| JP2003296105A (ja) | データ処理装置 | |
| JPH06332867A (ja) | バス・インタフェース内部バッファ制御方式 | |
| JPH09305398A (ja) | 演算処理装置および命令変換装置 | |
| JPH0478942A (ja) | メモリアクセス回路 | |
| JP2000067026A (ja) | 半導体装置 |