JP2002222115A - メモリシステム - Google Patents
メモリシステムInfo
- Publication number
- JP2002222115A JP2002222115A JP2001018385A JP2001018385A JP2002222115A JP 2002222115 A JP2002222115 A JP 2002222115A JP 2001018385 A JP2001018385 A JP 2001018385A JP 2001018385 A JP2001018385 A JP 2001018385A JP 2002222115 A JP2002222115 A JP 2002222115A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- written
- address
- write buffer
- 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
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】メモリシステム全体の実行速度を向上するとと
もに、自己書き換え型のプログラムにも対応可能なメモ
リシステムを提供する。 【解決手段】メモリシステム1において、CPU100
からメモリ400へのデータライト時には、ライトバッ
ファ200を介してメモリ400にデータを書き込むと
ともに、データをメモリ400の連続したアドレスに書
き込むか否かのアドレス情報をライトバッファ200に
書き込む。そして、CPU100からメモリ400への
命令フェッチ時には、ライトバッファ200に書き込ん
だアドレス情報を確認して、メモリ400の連続したア
ドレスにデータを書き込み中の場合、ライトバッファ2
00からメモリ400へのデータライトを継続し、メモ
リ400の不連続なアドレスにデータを書き込む時点
で、データライトを中断して命令フェッチを行う。よっ
て、命令フェッチ時間とデータライト時間の両方を効率
良く短縮し、システム性能を向上させることが可能とな
る。
もに、自己書き換え型のプログラムにも対応可能なメモ
リシステムを提供する。 【解決手段】メモリシステム1において、CPU100
からメモリ400へのデータライト時には、ライトバッ
ファ200を介してメモリ400にデータを書き込むと
ともに、データをメモリ400の連続したアドレスに書
き込むか否かのアドレス情報をライトバッファ200に
書き込む。そして、CPU100からメモリ400への
命令フェッチ時には、ライトバッファ200に書き込ん
だアドレス情報を確認して、メモリ400の連続したア
ドレスにデータを書き込み中の場合、ライトバッファ2
00からメモリ400へのデータライトを継続し、メモ
リ400の不連続なアドレスにデータを書き込む時点
で、データライトを中断して命令フェッチを行う。よっ
て、命令フェッチ時間とデータライト時間の両方を効率
良く短縮し、システム性能を向上させることが可能とな
る。
Description
【0001】
【発明の属する技術分野】本発明は、ライトバッファを
備えたメモリシステムに関する。
備えたメモリシステムに関する。
【0002】
【従来の技術】図6は、ライトバッファを用いた従来の
メモリシステムの構成を示すブロック図である。メモリ
システム11においては、CPU100からメモリ40
0へのデータライト要求が発生すると、制御回路300
がデータライト要求信号101を受け取る。そして、書
き込みアドレス・書き込みデータ301をライトバッフ
ァ250のデータレジスタ251及びアドレスレジスタ
252にデータライトし、同時にメモリ400へのデー
タライトを開始する。連続してデータライトが発生した
場合、ライトバッファ250からメモリ400へデータ
ライトしている場合であっても、CPU100はライト
バッファ250からメモリ400への前回のデータライ
トの終了を待たずに、ライトバッファ250に対してデ
ータライトアクセスを開始する。さらに、データライト
が連続する場合は、この動作を繰り返す。このように、
データライト要求が連続しても、CPU100が待たさ
れることなく次のデータライトを実行するので、メモリ
システム11全体の処理実行速度を向上させることがで
きる。
メモリシステムの構成を示すブロック図である。メモリ
システム11においては、CPU100からメモリ40
0へのデータライト要求が発生すると、制御回路300
がデータライト要求信号101を受け取る。そして、書
き込みアドレス・書き込みデータ301をライトバッフ
ァ250のデータレジスタ251及びアドレスレジスタ
252にデータライトし、同時にメモリ400へのデー
タライトを開始する。連続してデータライトが発生した
場合、ライトバッファ250からメモリ400へデータ
ライトしている場合であっても、CPU100はライト
バッファ250からメモリ400への前回のデータライ
トの終了を待たずに、ライトバッファ250に対してデ
ータライトアクセスを開始する。さらに、データライト
が連続する場合は、この動作を繰り返す。このように、
データライト要求が連続しても、CPU100が待たさ
れることなく次のデータライトを実行するので、メモリ
システム11全体の処理実行速度を向上させることがで
きる。
【0003】CPU100からメモリ400への命令フ
ェッチが発生すると、制御回路300がリード要求信号
102を受け取り、ライトバッファ250からメモリ4
00へのデータライトが終了したのを確認してから命令
フェッチを開始する。この場合、メモリ400にデータ
ライトが終了するまで命令フェッチが開始できないため
に、CPU400は待たされることになる。
ェッチが発生すると、制御回路300がリード要求信号
102を受け取り、ライトバッファ250からメモリ4
00へのデータライトが終了したのを確認してから命令
フェッチを開始する。この場合、メモリ400にデータ
ライトが終了するまで命令フェッチが開始できないため
に、CPU400は待たされることになる。
【0004】また、メモリシステム11においては、命
令フェッチ要求が発生した場合に、ライトバッファ25
0の内容をメモリ400に書き込むまで命令フェッチが
できないために、命令フェッチに必要な時間が多くかか
るという問題がある。
令フェッチ要求が発生した場合に、ライトバッファ25
0の内容をメモリ400に書き込むまで命令フェッチが
できないために、命令フェッチに必要な時間が多くかか
るという問題がある。
【0005】この問題を解決するために、特許第303
9391号公報には、CPUの命令バスとデータバスを
分離し、データライト時にはライトバッファを介してか
らメモリにデータを書き込み、データリード時には前記
ライトバッファの内容を前記メモリに書き込んでから前
記メモリから読み出し、命令フェッチの際には前記ライ
トバッファの内容を前記メモリに書き込みせずに、前記
メモリから読み出すメモリシステムに関する技術が開示
されている。
9391号公報には、CPUの命令バスとデータバスを
分離し、データライト時にはライトバッファを介してか
らメモリにデータを書き込み、データリード時には前記
ライトバッファの内容を前記メモリに書き込んでから前
記メモリから読み出し、命令フェッチの際には前記ライ
トバッファの内容を前記メモリに書き込みせずに、前記
メモリから読み出すメモリシステムに関する技術が開示
されている。
【0006】このメモリシステムでは、リード内容を示
す信号が命令フェッチを示している場合には、ライトバ
ッファの状態に関係無く命令フェッチを開始する。この
ため、命令フェッチの際にはリードは待たされず、シス
テム全体の実行速度が向上する。
す信号が命令フェッチを示している場合には、ライトバ
ッファの状態に関係無く命令フェッチを開始する。この
ため、命令フェッチの際にはリードは待たされず、シス
テム全体の実行速度が向上する。
【0007】
【発明が解決しようとする課題】しかしながら、特許第
3039391号公報に開示されたメモリシステムにお
いては、主メモリとしてDRAMやSDRAM等のメモ
リが使用されることが多いということが考慮されていな
い。すなわち、DRAMやSDRAM等のメモリへの1
回目のアクセスには時間がかかる。しかし、それ以後連
続したアドレスまたは同一ページのメモリに対してアク
セスを行う場合には、1回目よりも少ないアクセスタイ
ムでアクセスされる。そのため、従来のメモリシステム
では、ライトバッファからメモリに書き込むデータが、
メモリの連続したアドレスに対するものであるのにも関
わらず、命令フェッチが生じたためにライト動作を中断
すると、メモリに対してのアクセスが非連続になる。こ
れにより、トータルのメモリアクセスタイムが増加し
て、メモリシステム全体の処理速度が低下してしまうと
いう問題がある。
3039391号公報に開示されたメモリシステムにお
いては、主メモリとしてDRAMやSDRAM等のメモ
リが使用されることが多いということが考慮されていな
い。すなわち、DRAMやSDRAM等のメモリへの1
回目のアクセスには時間がかかる。しかし、それ以後連
続したアドレスまたは同一ページのメモリに対してアク
セスを行う場合には、1回目よりも少ないアクセスタイ
ムでアクセスされる。そのため、従来のメモリシステム
では、ライトバッファからメモリに書き込むデータが、
メモリの連続したアドレスに対するものであるのにも関
わらず、命令フェッチが生じたためにライト動作を中断
すると、メモリに対してのアクセスが非連続になる。こ
れにより、トータルのメモリアクセスタイムが増加し
て、メモリシステム全体の処理速度が低下してしまうと
いう問題がある。
【0008】また、CPUにRISC(縮小命令セット
コンピュータ)プロセッサを用いた場合、通常1クロッ
クサイクルで1命令を実行する。そのため、常に命令フ
ェッチが必要であり、単に命令フェッチを優先しただけ
ではメモリシステム全体の処理速度を上げることができ
ない。これは、命令フェッチを優先することにより命令
フェッチを続けることができても、ライトバッファに蓄
積されたデータのメモリへの書き込みができないためで
ある。よって、結局ライトバッファが一杯になったため
に、ライトバッファからメモリへの書き込みが終了する
のを待つことになる。
コンピュータ)プロセッサを用いた場合、通常1クロッ
クサイクルで1命令を実行する。そのため、常に命令フ
ェッチが必要であり、単に命令フェッチを優先しただけ
ではメモリシステム全体の処理速度を上げることができ
ない。これは、命令フェッチを優先することにより命令
フェッチを続けることができても、ライトバッファに蓄
積されたデータのメモリへの書き込みができないためで
ある。よって、結局ライトバッファが一杯になったため
に、ライトバッファからメモリへの書き込みが終了する
のを待つことになる。
【0009】また、CPUで実行するプログラムには自
己書き換え型のプログラムも存在し、そのようなプログ
ラムを実行した場合には、データとしてメモリに書き込
んだ命令を命令フェッチでフェッチして実行する。その
ため、プログラムの書き換えを行って、その書き換えが
終了した後に命令フェッチされる必要がある。しかし、
従来のメモリシステムでは命令フェッチを優先している
ため、プログラムの書き換えを行うことができずに、こ
のような自己書き換え型のプログラムは正常に動作でき
ない虞がある。
己書き換え型のプログラムも存在し、そのようなプログ
ラムを実行した場合には、データとしてメモリに書き込
んだ命令を命令フェッチでフェッチして実行する。その
ため、プログラムの書き換えを行って、その書き換えが
終了した後に命令フェッチされる必要がある。しかし、
従来のメモリシステムでは命令フェッチを優先している
ため、プログラムの書き換えを行うことができずに、こ
のような自己書き換え型のプログラムは正常に動作でき
ない虞がある。
【0010】したがって、本発明は上記の問題を解決す
るために創作したものであって、その目的は、メモリシ
ステム全体の実行速度を向上するとともに、自己書き換
え型のプログラムにも対応可能なメモリシステムを提供
することである。
るために創作したものであって、その目的は、メモリシ
ステム全体の実行速度を向上するとともに、自己書き換
え型のプログラムにも対応可能なメモリシステムを提供
することである。
【0011】
【課題を解決するための手段】この発明は、上記の課題
を解決するための手段として、以下の構成を備えてい
る。 (1) CPUからメモリへ書き込むデータを一時的に保持
するライトバッファを備え、該CPUから該メモリへの
データライト時には、該ライトバッファを介して該メモ
リにデータを書き込むとともに、該データを該メモリの
連続したアドレスに書き込むか否かのアドレス情報を該
ライトバッファに書き込み、該CPUから該メモリへの
命令フェッチ時には、該ライトバッファに書き込んだ該
アドレス情報を確認して、該メモリの連続したアドレス
にデータを書き込み中の場合、該ライトバッファから該
メモリへのデータライトを継続し、該メモリの不連続な
アドレスにデータを書き込む時点で、データライトを中
断して命令フェッチを行うことを特徴とする。
を解決するための手段として、以下の構成を備えてい
る。 (1) CPUからメモリへ書き込むデータを一時的に保持
するライトバッファを備え、該CPUから該メモリへの
データライト時には、該ライトバッファを介して該メモ
リにデータを書き込むとともに、該データを該メモリの
連続したアドレスに書き込むか否かのアドレス情報を該
ライトバッファに書き込み、該CPUから該メモリへの
命令フェッチ時には、該ライトバッファに書き込んだ該
アドレス情報を確認して、該メモリの連続したアドレス
にデータを書き込み中の場合、該ライトバッファから該
メモリへのデータライトを継続し、該メモリの不連続な
アドレスにデータを書き込む時点で、データライトを中
断して命令フェッチを行うことを特徴とする。
【0012】この構成において、メモリシステムはCP
Uからメモリへ書き込むデータをライトバッファへ一時
的に保持し、CPUからメモリへのデータライト時に
は、ライトバッファを介してメモリにデータを書き込む
とともに、データをメモリの連続したアドレスに書き込
むか否かのアドレス情報をライトバッファに書き込む。
そして、CPUからメモリへの命令フェッチ時には、ラ
イトバッファに書き込んだアドレス情報を確認して、メ
モリの連続したアドレスにデータを書き込み中の場合、
ライトバッファからメモリへのデータライトを継続し、
メモリの不連続なアドレスにデータを書き込む時点で、
データライトを中断して命令フェッチを行う。したがっ
て、メモリシステムにおいて、主メモリとしてDRAM
やSDRAM等のメモリを使用した場合でも、命令フェ
ッチ時間とデータライト時間の両方を効率良く短縮し、
システム性能を向上させることが可能となる。
Uからメモリへ書き込むデータをライトバッファへ一時
的に保持し、CPUからメモリへのデータライト時に
は、ライトバッファを介してメモリにデータを書き込む
とともに、データをメモリの連続したアドレスに書き込
むか否かのアドレス情報をライトバッファに書き込む。
そして、CPUからメモリへの命令フェッチ時には、ラ
イトバッファに書き込んだアドレス情報を確認して、メ
モリの連続したアドレスにデータを書き込み中の場合、
ライトバッファからメモリへのデータライトを継続し、
メモリの不連続なアドレスにデータを書き込む時点で、
データライトを中断して命令フェッチを行う。したがっ
て、メモリシステムにおいて、主メモリとしてDRAM
やSDRAM等のメモリを使用した場合でも、命令フェ
ッチ時間とデータライト時間の両方を効率良く短縮し、
システム性能を向上させることが可能となる。
【0013】(2) 前記命令フェッチ時において、前記メ
モリの連続したアドレスにデータを書き込み中の場合
に、前記ライトバッファから前記メモリへのデータライ
トを優先するか命令フェッチを優先するかを選択可能な
制御手段を備えたことを特徴とする。
モリの連続したアドレスにデータを書き込み中の場合
に、前記ライトバッファから前記メモリへのデータライ
トを優先するか命令フェッチを優先するかを選択可能な
制御手段を備えたことを特徴とする。
【0014】この構成において、メモリシステムは、C
PUからメモリへの命令フェッチ時において、メモリの
連続したアドレスにデータを書き込み中の場合に、ライ
トバッファからメモリへのデータライトを優先するか命
令フェッチを優先するかを制御手段によって選択可能で
ある。したがって、制御手段により命令フェッチ優先動
作の許可・禁止をすることができ、自己書き換え型のプ
ログラムを含む全てのプログラムに対して本発明のメモ
リシステムを使用可能である。
PUからメモリへの命令フェッチ時において、メモリの
連続したアドレスにデータを書き込み中の場合に、ライ
トバッファからメモリへのデータライトを優先するか命
令フェッチを優先するかを制御手段によって選択可能で
ある。したがって、制御手段により命令フェッチ優先動
作の許可・禁止をすることができ、自己書き換え型のプ
ログラムを含む全てのプログラムに対して本発明のメモ
リシステムを使用可能である。
【0015】(3) CPUからメモリへ書き込むデータを
一時的に保持するライトバッファを備え、該CPUから
該メモリへのデータライト時には、該ライトバッファを
介して該メモリにデータを書き込むとともに、該データ
を該メモリの同一ページ内のアドレスに書き込むか否か
のページ情報を該ライトバッファに書き込み、該CPU
から該メモリへの命令フェッチ時には、該ライトバッフ
ァに書き込んだ該ページ情報を確認して、該メモリの同
一ページ内のアドレスにデータを書き込み中の場合、該
ライトバッファから該メモリへのデータライトを継続
し、該メモリの異なるページのアドレスにデータを書き
込む時点で、データライトを中断して命令フェッチを行
うことを特徴とする。
一時的に保持するライトバッファを備え、該CPUから
該メモリへのデータライト時には、該ライトバッファを
介して該メモリにデータを書き込むとともに、該データ
を該メモリの同一ページ内のアドレスに書き込むか否か
のページ情報を該ライトバッファに書き込み、該CPU
から該メモリへの命令フェッチ時には、該ライトバッフ
ァに書き込んだ該ページ情報を確認して、該メモリの同
一ページ内のアドレスにデータを書き込み中の場合、該
ライトバッファから該メモリへのデータライトを継続
し、該メモリの異なるページのアドレスにデータを書き
込む時点で、データライトを中断して命令フェッチを行
うことを特徴とする。
【0016】この構成において、メモリシステムは、ラ
イトバッファによってCPUからメモリへ書き込むデー
タを一時的に保持し、CPUからメモリへのデータライ
ト時には、ライトバッファを介してメモリにデータを書
き込むとともに、データを該メモリの同一ページ内のア
ドレスに書き込むか否かのページ情報をライトバッファ
に書き込む。また、CPUからメモリへの命令フェッチ
時には、ライトバッファに書き込んだページ情報を確認
して、メモリの同一ページ内のアドレスにデータを書き
込み中の場合、ライトバッファからメモリへのデータラ
イトを継続し、メモリの異なるページのアドレスにデー
タを書き込む時点で、データライトを中断して命令フェ
ッチを行う。したがって、メモリシステムにおいて、主
メモリとしてDRAMやSDRAM等のメモリを使用し
た場合でも、メモリに対するアクセス時間を最小に抑え
ることができ、メモリシステム全体の処理速度を向上さ
せることが可能となる。
イトバッファによってCPUからメモリへ書き込むデー
タを一時的に保持し、CPUからメモリへのデータライ
ト時には、ライトバッファを介してメモリにデータを書
き込むとともに、データを該メモリの同一ページ内のア
ドレスに書き込むか否かのページ情報をライトバッファ
に書き込む。また、CPUからメモリへの命令フェッチ
時には、ライトバッファに書き込んだページ情報を確認
して、メモリの同一ページ内のアドレスにデータを書き
込み中の場合、ライトバッファからメモリへのデータラ
イトを継続し、メモリの異なるページのアドレスにデー
タを書き込む時点で、データライトを中断して命令フェ
ッチを行う。したがって、メモリシステムにおいて、主
メモリとしてDRAMやSDRAM等のメモリを使用し
た場合でも、メモリに対するアクセス時間を最小に抑え
ることができ、メモリシステム全体の処理速度を向上さ
せることが可能となる。
【0017】(4) 前記命令フェッチ時において、前記メ
モリの同一ページ内のアドレスにデータを書き込み中の
場合に、前記ライトバッファから前記メモリへのデータ
ライトを優先するか命令フェッチを優先するかを選択可
能な制御手段を備えたことを特徴とする。
モリの同一ページ内のアドレスにデータを書き込み中の
場合に、前記ライトバッファから前記メモリへのデータ
ライトを優先するか命令フェッチを優先するかを選択可
能な制御手段を備えたことを特徴とする。
【0018】この構成において、メモリシステムは、C
PUからメモリへの命令フェッチ時において、制御手段
によって、メモリの同一ページ内のアドレスにデータを
書き込み中の場合に、ライトバッファからメモリへのデ
ータライトを優先するか命令フェッチを優先するかを選
択可能である。したがって、制御手段により命令フェッ
チ優先動作の許可・禁止をすることができ、自己書き換
え型のプログラムでも問題無く実行することが可能とな
る。
PUからメモリへの命令フェッチ時において、制御手段
によって、メモリの同一ページ内のアドレスにデータを
書き込み中の場合に、ライトバッファからメモリへのデ
ータライトを優先するか命令フェッチを優先するかを選
択可能である。したがって、制御手段により命令フェッ
チ優先動作の許可・禁止をすることができ、自己書き換
え型のプログラムでも問題無く実行することが可能とな
る。
【0019】(5) CPUからメモリへ書き込むデータを
一時的に保持するライトバッファと、記憶したデータを
該メモリよりも高速に読み出し可能なキャッシュメモリ
を備え、該CPUまたは該キャッシュメモリから該メモ
リへのデータライト時には、該ライトバッファを介して
該メモリにデータを書き込むとともに、該データを該メ
モリの連続したアドレスに書き込むか否かのアドレス情
報を該ライトバッファに書き込み、該CPUから該メモ
リへの命令フェッチ時、または該CPUの命令フェッチ
が該キャッシュメモリにおいてミスしたために発生した
該キャッシュメモリから該メモリへのラインフェッチ時
には、該ライトバッファに書き込んだ該アドレス情報を
確認して、該メモリの連続したアドレスにデータを書き
込み中の場合、該ライトバッファから該メモリへのデー
タライトを継続し、該メモリの不連続なアドレスにデー
タを書き込む時点で、データライトを中断して命令フェ
ッチまたはラインフェッチを行うことを特徴とする。
一時的に保持するライトバッファと、記憶したデータを
該メモリよりも高速に読み出し可能なキャッシュメモリ
を備え、該CPUまたは該キャッシュメモリから該メモ
リへのデータライト時には、該ライトバッファを介して
該メモリにデータを書き込むとともに、該データを該メ
モリの連続したアドレスに書き込むか否かのアドレス情
報を該ライトバッファに書き込み、該CPUから該メモ
リへの命令フェッチ時、または該CPUの命令フェッチ
が該キャッシュメモリにおいてミスしたために発生した
該キャッシュメモリから該メモリへのラインフェッチ時
には、該ライトバッファに書き込んだ該アドレス情報を
確認して、該メモリの連続したアドレスにデータを書き
込み中の場合、該ライトバッファから該メモリへのデー
タライトを継続し、該メモリの不連続なアドレスにデー
タを書き込む時点で、データライトを中断して命令フェ
ッチまたはラインフェッチを行うことを特徴とする。
【0020】この構成において、メモリシステムは、記
憶したデータをメモリよりも高速に読み出し可能なキャ
ッシュメモリを備え、ライトバッファでCPUからメモ
リへ書き込むデータを一時的に保持し、CPUまたはキ
ャッシュメモリからメモリへのデータライト時には、ラ
イトバッファを介してメモリにデータを書き込むととも
に、データをメモリの連続したアドレスに書き込むか否
かのアドレス情報をライトバッファに書き込む。また、
CPUからメモリへの命令フェッチ時、またはCPUの
命令フェッチがキャッシュメモリにおいてミスしたため
に発生したキャッシュメモリからメモリへのラインフェ
ッチ時には、ライトバッファに書き込んだアドレス情報
を確認して、メモリの連続したアドレスにデータを書き
込み中の場合、ライトバッファからメモリへのデータラ
イトを継続し、メモリの不連続なアドレスにデータを書
き込む時点で、データライトを中断して命令フェッチま
たはラインフェッチを行う。したがって、メモリシステ
ムにおいて、主メモリとしてDRAMやSDRAM等の
メモリを使用した場合でも、メモリに対するアクセス時
間を最小に抑えることができ、メモリシステム全体の処
理速度を向上させることが可能となる。
憶したデータをメモリよりも高速に読み出し可能なキャ
ッシュメモリを備え、ライトバッファでCPUからメモ
リへ書き込むデータを一時的に保持し、CPUまたはキ
ャッシュメモリからメモリへのデータライト時には、ラ
イトバッファを介してメモリにデータを書き込むととも
に、データをメモリの連続したアドレスに書き込むか否
かのアドレス情報をライトバッファに書き込む。また、
CPUからメモリへの命令フェッチ時、またはCPUの
命令フェッチがキャッシュメモリにおいてミスしたため
に発生したキャッシュメモリからメモリへのラインフェ
ッチ時には、ライトバッファに書き込んだアドレス情報
を確認して、メモリの連続したアドレスにデータを書き
込み中の場合、ライトバッファからメモリへのデータラ
イトを継続し、メモリの不連続なアドレスにデータを書
き込む時点で、データライトを中断して命令フェッチま
たはラインフェッチを行う。したがって、メモリシステ
ムにおいて、主メモリとしてDRAMやSDRAM等の
メモリを使用した場合でも、メモリに対するアクセス時
間を最小に抑えることができ、メモリシステム全体の処
理速度を向上させることが可能となる。
【0021】(6) 前記命令フェッチ時またはラインフェ
ッチ時において、前記メモリの連続したアドレスにデー
タを書き込み中の場合に、前記ライトバッファから前記
メモリへのデータライトを優先するか、命令フェッチま
たはラインフェッチを優先するか、を選択可能な制御手
段を備えたことを特徴とする。
ッチ時において、前記メモリの連続したアドレスにデー
タを書き込み中の場合に、前記ライトバッファから前記
メモリへのデータライトを優先するか、命令フェッチま
たはラインフェッチを優先するか、を選択可能な制御手
段を備えたことを特徴とする。
【0022】この構成において、メモリシステムは、C
PUからメモリへの命令フェッチ時またはラインフェッ
チ時において、メモリの連続したアドレスにデータを書
き込み中の場合に、ライトバッファからメモリへのデー
タライトを優先するか、命令フェッチまたはラインフェ
ッチを優先するか、を制御手段によって選択可能であ
る。したがって、制御手段により命令フェッチまたはラ
インフェッチ優先動作の許可・禁止をすることができ、
自己書き換え型のプログラムでも問題無く実行すること
が可能となる。
PUからメモリへの命令フェッチ時またはラインフェッ
チ時において、メモリの連続したアドレスにデータを書
き込み中の場合に、ライトバッファからメモリへのデー
タライトを優先するか、命令フェッチまたはラインフェ
ッチを優先するか、を制御手段によって選択可能であ
る。したがって、制御手段により命令フェッチまたはラ
インフェッチ優先動作の許可・禁止をすることができ、
自己書き換え型のプログラムでも問題無く実行すること
が可能となる。
【0023】(7) CPUからメモリへ書き込むデータを
一時的に保持するライトバッファと、記憶したデータを
該メモリよりも高速に読み出し可能なキャッシュメモリ
を備え、該CPUまたは該キャッシュメモリから該メモ
リへのデータライト時には、該ライトバッファを介して
該メモリにデータを書き込むとともに、該データを該メ
モリの連続したアドレスに書き込むか否かのアドレス情
報、及び該データを該メモリの同一ページ内のアドレス
に書き込むか否かのページ情報を該ライトバッファに書
き込み、該CPUから該メモリへの命令フェッチ時、ま
たは該CPUの命令フェッチが該キャッシュメモリにお
いてミスしたために発生した該キャッシュメモリのライ
ンフェッチ時には、該ライトバッファに書き込んだ該ア
ドレス情報及び該ページ情報を確認して、該メモリの連
続したアドレスまたは同一ページ内のアドレスにデータ
を書き込み中の場合、該ライトバッファから該メモリへ
のデータライトを継続し、該メモリの不連続なアドレス
かつ異なるページのアドレスにデータを書き込む時点
で、データライトを中断して命令フェッチまたはライン
フェッチを行うことを特徴とする。
一時的に保持するライトバッファと、記憶したデータを
該メモリよりも高速に読み出し可能なキャッシュメモリ
を備え、該CPUまたは該キャッシュメモリから該メモ
リへのデータライト時には、該ライトバッファを介して
該メモリにデータを書き込むとともに、該データを該メ
モリの連続したアドレスに書き込むか否かのアドレス情
報、及び該データを該メモリの同一ページ内のアドレス
に書き込むか否かのページ情報を該ライトバッファに書
き込み、該CPUから該メモリへの命令フェッチ時、ま
たは該CPUの命令フェッチが該キャッシュメモリにお
いてミスしたために発生した該キャッシュメモリのライ
ンフェッチ時には、該ライトバッファに書き込んだ該ア
ドレス情報及び該ページ情報を確認して、該メモリの連
続したアドレスまたは同一ページ内のアドレスにデータ
を書き込み中の場合、該ライトバッファから該メモリへ
のデータライトを継続し、該メモリの不連続なアドレス
かつ異なるページのアドレスにデータを書き込む時点
で、データライトを中断して命令フェッチまたはライン
フェッチを行うことを特徴とする。
【0024】この構成において、CPUからメモリへ書
き込むデータを一時的に保持するライトバッファと、記
憶したデータを該メモリよりも高速に読み出し可能なキ
ャッシュメモリを備えたメモリシステムは、CPUまた
はキャッシュメモリからメモリへのデータライト時に
は、ライトバッファを介してメモリにデータを書き込む
とともに、データをメモリの連続したアドレスに書き込
むか否かのアドレス情報、及びデータをメモリの同一ペ
ージ内のアドレスに書き込むか否かのページ情報をライ
トバッファに書き込む。また、CPUからメモリへの命
令フェッチ時、またはCPUの命令フェッチがキャッシ
ュメモリにおいてミスしたために発生したキャッシュメ
モリのラインフェッチ時には、ライトバッファに書き込
んだアドレス情報及びページ情報を確認して、メモリの
連続したアドレスまたは同一ページ内のアドレスにデー
タを書き込み中の場合、ライトバッファからメモリへの
データライトを継続し、メモリの不連続なアドレスかつ
異なるページのアドレスにデータを書き込む時点で、デ
ータライトを中断して命令フェッチまたはラインフェッ
チを行う。したがって、メモリシステムにおいて、主メ
モリとしてDRAMやSDRAM等のメモリを使用した
場合でも、メモリに対するアクセス時間を最小に抑える
ことができ、メモリシステム全体の処理速度を向上させ
ることが可能となる。
き込むデータを一時的に保持するライトバッファと、記
憶したデータを該メモリよりも高速に読み出し可能なキ
ャッシュメモリを備えたメモリシステムは、CPUまた
はキャッシュメモリからメモリへのデータライト時に
は、ライトバッファを介してメモリにデータを書き込む
とともに、データをメモリの連続したアドレスに書き込
むか否かのアドレス情報、及びデータをメモリの同一ペ
ージ内のアドレスに書き込むか否かのページ情報をライ
トバッファに書き込む。また、CPUからメモリへの命
令フェッチ時、またはCPUの命令フェッチがキャッシ
ュメモリにおいてミスしたために発生したキャッシュメ
モリのラインフェッチ時には、ライトバッファに書き込
んだアドレス情報及びページ情報を確認して、メモリの
連続したアドレスまたは同一ページ内のアドレスにデー
タを書き込み中の場合、ライトバッファからメモリへの
データライトを継続し、メモリの不連続なアドレスかつ
異なるページのアドレスにデータを書き込む時点で、デ
ータライトを中断して命令フェッチまたはラインフェッ
チを行う。したがって、メモリシステムにおいて、主メ
モリとしてDRAMやSDRAM等のメモリを使用した
場合でも、メモリに対するアクセス時間を最小に抑える
ことができ、メモリシステム全体の処理速度を向上させ
ることが可能となる。
【0025】(8) 前記命令フェッチ時またはラインフェ
ッチ時において、前記メモリの連続したアドレスまたは
同一ページ内のアドレスにデータを書き込み中の場合
に、前記ライトバッファから前記メモリへのデータライ
トを優先するか、命令フェッチまたはラインフェッチを
優先するか、を選択可能な制御手段を備えたことを特徴
とする。
ッチ時において、前記メモリの連続したアドレスまたは
同一ページ内のアドレスにデータを書き込み中の場合
に、前記ライトバッファから前記メモリへのデータライ
トを優先するか、命令フェッチまたはラインフェッチを
優先するか、を選択可能な制御手段を備えたことを特徴
とする。
【0026】この構成において、メモリシステムは、C
PUからメモリへの命令フェッチ時またはラインフェッ
チ時において、メモリの連続したアドレスまたは同一ペ
ージ内のアドレスにデータを書き込み中の場合に、前記
ライトバッファから前記メモリへのデータライトを優先
するか、命令フェッチまたはラインフェッチを優先する
か、を制御手段によって選択可能である。したがって、
制御手段により命令フェッチまたはラインフェッチ優先
動作の許可・禁止をすることができ、自己書き換え型の
プログラムでも問題無く実行することが可能となる。
PUからメモリへの命令フェッチ時またはラインフェッ
チ時において、メモリの連続したアドレスまたは同一ペ
ージ内のアドレスにデータを書き込み中の場合に、前記
ライトバッファから前記メモリへのデータライトを優先
するか、命令フェッチまたはラインフェッチを優先する
か、を制御手段によって選択可能である。したがって、
制御手段により命令フェッチまたはラインフェッチ優先
動作の許可・禁止をすることができ、自己書き換え型の
プログラムでも問題無く実行することが可能となる。
【0027】(9) (1) 、(2) 、(5) 乃至(8) のいずれか
において、前記ライトバッファは、前記メモリへ書き込
むデータのアドレス情報及び該アドレスの連続情報を保
持可能なアドレスFIFOメモリと、該アドレス情報及
び該アドレスの連続情報に基づいて次のアドレスを生成
可能なアドレスインインクリメンタと、を備えたとする
ことができる。
において、前記ライトバッファは、前記メモリへ書き込
むデータのアドレス情報及び該アドレスの連続情報を保
持可能なアドレスFIFOメモリと、該アドレス情報及
び該アドレスの連続情報に基づいて次のアドレスを生成
可能なアドレスインインクリメンタと、を備えたとする
ことができる。
【0028】この構成において、メモリシステムは、ア
ドレスFIFOメモリが保持可能な前記メモリへ書き込
むデータのアドレス情報及び該アドレスの連続情報に基
づいて、アドレスインクリメンタで次のアドレスを生成
する。したがって、アドレスインクリメンタを設けるこ
とにより、アドレスFIFOメモリの段数を少なくする
ことが可能となる。
ドレスFIFOメモリが保持可能な前記メモリへ書き込
むデータのアドレス情報及び該アドレスの連続情報に基
づいて、アドレスインクリメンタで次のアドレスを生成
する。したがって、アドレスインクリメンタを設けるこ
とにより、アドレスFIFOメモリの段数を少なくする
ことが可能となる。
【0029】
【発明の実施の形態】〔第1実施形態〕図1は、本発明
の第1実施形態に係るメモリシステムの概略の構成を示
したブロック図である。なお、メモリシステム1におい
て、従来のメモリシステム11と同一部分には同一符号
を付している。メモリシステム1は、CPU100、ラ
イトバッファ200、制御手段である制御回路300と
制御レジスタ310、及びメモリ400を備える。ライ
トバッファ200は、CPU100からメモリ400へ
書き込むデータを一時的に保持するためのものである。
制御回路300は、メモリシステム1の各部を制御する
ためのものである。制御レジスタ310は、ライトバッ
ファ200のデータライト動作に優先して命令フェッチ
を行うか否かを決定して、制御回路300にその制御信
号を出力させるためのレジスタである。なお、メモリシ
ステム1において制御レジスタ310を備えていない場
合は、ライトバッファ200のデータライト動作に優先
して命令フェッチを行うものとする。
の第1実施形態に係るメモリシステムの概略の構成を示
したブロック図である。なお、メモリシステム1におい
て、従来のメモリシステム11と同一部分には同一符号
を付している。メモリシステム1は、CPU100、ラ
イトバッファ200、制御手段である制御回路300と
制御レジスタ310、及びメモリ400を備える。ライ
トバッファ200は、CPU100からメモリ400へ
書き込むデータを一時的に保持するためのものである。
制御回路300は、メモリシステム1の各部を制御する
ためのものである。制御レジスタ310は、ライトバッ
ファ200のデータライト動作に優先して命令フェッチ
を行うか否かを決定して、制御回路300にその制御信
号を出力させるためのレジスタである。なお、メモリシ
ステム1において制御レジスタ310を備えていない場
合は、ライトバッファ200のデータライト動作に優先
して命令フェッチを行うものとする。
【0030】ライトバッファ200は、データFIFO
メモリ(以下、FIFOメモリをFIFOと称する。)
220、アドレスFIFO210、連続アドレスFIF
O221、及びアドレスセレクタ212を備えている。
データFIFO220は、書き込んだデータを書き込ん
だ順に出力するためのものである。アドレスFIFO2
10は、データFIFO220に書き込むデータに対応
したアドレスを記録し、書き込んだ順に出力するための
ものである。連続アドレスFIFO221は、データF
IFO220に記録するデータに応じたアドレスが連続
か否かを書き込み、書き込んだ順にそのデータを出力す
るためのものである。アドレスセレクタ212はアドレ
スバスについて、アドレスFIFO210とCPU10
0との接続を切り替えるためのものである。また、アド
レスFIFO210、データFIFO220及び連続ア
ドレスFIFO221は、それぞれ同数の所定の段数を
有している。
メモリ(以下、FIFOメモリをFIFOと称する。)
220、アドレスFIFO210、連続アドレスFIF
O221、及びアドレスセレクタ212を備えている。
データFIFO220は、書き込んだデータを書き込ん
だ順に出力するためのものである。アドレスFIFO2
10は、データFIFO220に書き込むデータに対応
したアドレスを記録し、書き込んだ順に出力するための
ものである。連続アドレスFIFO221は、データF
IFO220に記録するデータに応じたアドレスが連続
か否かを書き込み、書き込んだ順にそのデータを出力す
るためのものである。アドレスセレクタ212はアドレ
スバスについて、アドレスFIFO210とCPU10
0との接続を切り替えるためのものである。また、アド
レスFIFO210、データFIFO220及び連続ア
ドレスFIFO221は、それぞれ同数の所定の段数を
有している。
【0031】ライトバッファ200はCPU100とメ
モリ400との間に設置し、制御回路300によりライ
トバッファ200の動作を制御する。CPU100は制
御回路300に対して、ライト要求信号101、リード
要求信号102、命令要求信号103を出力する。ま
た、制御回路300はCPU100に対して、ウェイト
要求信号104を出力する。
モリ400との間に設置し、制御回路300によりライ
トバッファ200の動作を制御する。CPU100は制
御回路300に対して、ライト要求信号101、リード
要求信号102、命令要求信号103を出力する。ま
た、制御回路300はCPU100に対して、ウェイト
要求信号104を出力する。
【0032】CPU100とライトバッファ200との
間は、データバス105、アドレスバス107によって
接続されている。すなわち、データバス105は、CP
U100及びライトバッファ200のデータFIFO2
20を接続している。また、アドレスバス107は、C
PU100及びライトバッファ200のアドレスFIF
O210を接続し、アドレスFIFO210はデータバ
ス215を介してアドレスセレクタ212に接続されて
いる。さらに、アドレスバス107は、ライトデータバ
ス214を介してアドレスセレクタ212に接続されて
いる。CPU100はライトバッファ200の連続アド
レスFIFO221に対して、データFIFO220に
出力したデータは、メモリ400の連続したアドレスに
書き込みことを示すアドレス信号106を出力する。
間は、データバス105、アドレスバス107によって
接続されている。すなわち、データバス105は、CP
U100及びライトバッファ200のデータFIFO2
20を接続している。また、アドレスバス107は、C
PU100及びライトバッファ200のアドレスFIF
O210を接続し、アドレスFIFO210はデータバ
ス215を介してアドレスセレクタ212に接続されて
いる。さらに、アドレスバス107は、ライトデータバ
ス214を介してアドレスセレクタ212に接続されて
いる。CPU100はライトバッファ200の連続アド
レスFIFO221に対して、データFIFO220に
出力したデータは、メモリ400の連続したアドレスに
書き込みことを示すアドレス信号106を出力する。
【0033】制御回路300はライトバッファ200に
対して、制御信号301を出力する。また、ライトバッ
ファ200は連続アドレスFIFO221から制御回路
300に対して、書き込んでいるデータが連続したアド
レスのものか否かを示すアドレス信号302を出力す
る。
対して、制御信号301を出力する。また、ライトバッ
ファ200は連続アドレスFIFO221から制御回路
300に対して、書き込んでいるデータが連続したアド
レスのものか否かを示すアドレス信号302を出力す
る。
【0034】メモリ400は制御回路300に対して、
ウェイト要求信号401を出力する。また、制御回路3
00はメモリ400に対して、ライト要求信号402及
びリード要求信号403を出力する。
ウェイト要求信号401を出力する。また、制御回路3
00はメモリ400に対して、ライト要求信号402及
びリード要求信号403を出力する。
【0035】ライトバッファ200とメモリ400との
間は、データバス404、アドレスバス405によって
接続されている。すなわち、データバス404は、ライ
トバッファ200のデータFIFO220及びメモリ4
00を接続している。また、データバス105及びデー
タバス404は、リードデータバス222を介して接続
されており、CPU100からメモリ400への命令フ
ェッチ時に命令コードなどがメモリ400から読み出さ
れる。さらに、アドレスバス405は、ライトバッファ
200のアドレスセレクタ212及びメモリ400を接
続している。
間は、データバス404、アドレスバス405によって
接続されている。すなわち、データバス404は、ライ
トバッファ200のデータFIFO220及びメモリ4
00を接続している。また、データバス105及びデー
タバス404は、リードデータバス222を介して接続
されており、CPU100からメモリ400への命令フ
ェッチ時に命令コードなどがメモリ400から読み出さ
れる。さらに、アドレスバス405は、ライトバッファ
200のアドレスセレクタ212及びメモリ400を接
続している。
【0036】次に、メモリシステム1の動作を以下に説
明する。CPU100からメモリ400へデータライト
要求が発生すると、ライトバッファ200はCPU10
0から出力された書き込みアドレス・書き込みデータを
受け取り、アドレスFIFO210、データFIFO2
20に各データを書き込む。また、CPU100から出
力された書き込みデータをメモリ400の連続したアド
レスに書き込むか否かの情報を、連続アドレスFIF0
221に書き込む。同時に、ライトバッファ200はア
ドレスFIFO210、データFIFO220から書き
込みアドレス・書き込みデータを出力して、メモリ40
0への書き込みを開始する。
明する。CPU100からメモリ400へデータライト
要求が発生すると、ライトバッファ200はCPU10
0から出力された書き込みアドレス・書き込みデータを
受け取り、アドレスFIFO210、データFIFO2
20に各データを書き込む。また、CPU100から出
力された書き込みデータをメモリ400の連続したアド
レスに書き込むか否かの情報を、連続アドレスFIF0
221に書き込む。同時に、ライトバッファ200はア
ドレスFIFO210、データFIFO220から書き
込みアドレス・書き込みデータを出力して、メモリ40
0への書き込みを開始する。
【0037】CPU100は、さらに書き込みデータが
ある場合、ライトバッファ200からメモリ400への
データ出力(データ書き込み)の終了を待たずに、次の
データ出力動作を開始する。書き込みが連続する場合、
ライトバッファ200は、書き込みアドレスと書き込み
データの両方を受け取り、上記の動作を繰り返す。この
ように、書き込み要求が連続する場合、CPU100は
待たされることなく、次の書き込みを実行できるため、
メモリシステム1全体の処理速度を向上させることがで
きる。
ある場合、ライトバッファ200からメモリ400への
データ出力(データ書き込み)の終了を待たずに、次の
データ出力動作を開始する。書き込みが連続する場合、
ライトバッファ200は、書き込みアドレスと書き込み
データの両方を受け取り、上記の動作を繰り返す。この
ように、書き込み要求が連続する場合、CPU100は
待たされることなく、次の書き込みを実行できるため、
メモリシステム1全体の処理速度を向上させることがで
きる。
【0038】次に、CPU100からメモリ400への
命令フェッチ要求が発生した場合には、制御レジスタ3
10に格納されている情報が命令フェッチ優先を示して
いる場合には、ライトバッファ200の現在の書き込み
データがメモリ400の連続したアドレスに対するもの
か否かを示すアドレス信号302を制御回路300が受
け取る。制御回路300は、受け取ったアドレス信号3
02が連続したアドレスに対するものである場合は、メ
モリ400への書き込みアドレスが不連続になるまで、
ライトバッファ200からメモリ400へのデータライ
ト動作を続けさせる。そして、メモリ400への書き込
みアドレスが不連続になったことを検出すると、制御回
路300はアドレスセレクタ212を切り替えて、CP
U100からの命令フェッチアドレスをメモリ400に
送り、命令を読み出す。メモリ400から読み出された
命令は、ライトバッファ200のリードデータバス22
2を介してCPU100に送られる。そして、読み出さ
れた命令がCPU100にて実行される。
命令フェッチ要求が発生した場合には、制御レジスタ3
10に格納されている情報が命令フェッチ優先を示して
いる場合には、ライトバッファ200の現在の書き込み
データがメモリ400の連続したアドレスに対するもの
か否かを示すアドレス信号302を制御回路300が受
け取る。制御回路300は、受け取ったアドレス信号3
02が連続したアドレスに対するものである場合は、メ
モリ400への書き込みアドレスが不連続になるまで、
ライトバッファ200からメモリ400へのデータライ
ト動作を続けさせる。そして、メモリ400への書き込
みアドレスが不連続になったことを検出すると、制御回
路300はアドレスセレクタ212を切り替えて、CP
U100からの命令フェッチアドレスをメモリ400に
送り、命令を読み出す。メモリ400から読み出された
命令は、ライトバッファ200のリードデータバス22
2を介してCPU100に送られる。そして、読み出さ
れた命令がCPU100にて実行される。
【0039】このように、ライトバッファ200からメ
モリ400に対する書き込みデータのアドレスが不連続
となった時点で、メモリ400へのデータの書き込みが
全て終わっていなくても命令フェッチが行われるため、
命令フェッチが必要以上に待たされることがない。ま
た、ライトバッファ200からのライト動作も効率良く
行われる。よって、主メモリとしてDRAMやSDRA
M等のメモリが使用された場合でも、メモリシステム1
全体の処理速度が向上する。
モリ400に対する書き込みデータのアドレスが不連続
となった時点で、メモリ400へのデータの書き込みが
全て終わっていなくても命令フェッチが行われるため、
命令フェッチが必要以上に待たされることがない。ま
た、ライトバッファ200からのライト動作も効率良く
行われる。よって、主メモリとしてDRAMやSDRA
M等のメモリが使用された場合でも、メモリシステム1
全体の処理速度が向上する。
【0040】また、命令フェッチ動作を優先したために
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
【0041】〔第2実施形態〕図2は、本発明の第2実
施形態に係るメモリシステムの概略の構成を示したブロ
ック図である。メモリシステム2は、ライトバッファ2
00aを除いてメモリシステム1と同様の構成であり、
同一部分には同一符号を付して詳細な説明を省略する。
施形態に係るメモリシステムの概略の構成を示したブロ
ック図である。メモリシステム2は、ライトバッファ2
00aを除いてメモリシステム1と同様の構成であり、
同一部分には同一符号を付して詳細な説明を省略する。
【0042】ライトバッファ200aは、メモリシステ
ム1のライトバッファ200のデータFIFO220を
データFIFO220aに、連続アドレスFIFO22
1を連続アドレスFIFO221aに、アドレスFIF
O210をアドレスFIFO210aに、それぞれ置き
替えたものである。また、アドレスFIFO210aと
アドレスセレクタ212との間に、アドレスインクリメ
ンタ211を設けたものである。したがって、ライトバ
ッファ200aは、アドレスFIFO210a、アドレ
スインクリメンタ211、アドレスセレクタ212、デ
ータFIFO220a及び連続アドレスFIFO221
aを備える。
ム1のライトバッファ200のデータFIFO220を
データFIFO220aに、連続アドレスFIFO22
1を連続アドレスFIFO221aに、アドレスFIF
O210をアドレスFIFO210aに、それぞれ置き
替えたものである。また、アドレスFIFO210aと
アドレスセレクタ212との間に、アドレスインクリメ
ンタ211を設けたものである。したがって、ライトバ
ッファ200aは、アドレスFIFO210a、アドレ
スインクリメンタ211、アドレスセレクタ212、デ
ータFIFO220a及び連続アドレスFIFO221
aを備える。
【0043】アドレスFIFO210a、データFIF
O220a及び連続アドレスFIFO221aは、メモ
リシステム1と同様の動作を行う。データFIFO22
0aは一例として8段に設定され、連続アドレスFIF
O221aも同様に8段となっている。また、アドレス
FIFO210aは、アドレスインクリメンタ211を
設けることにより、一例として4段に設定されている。
これは、アドレスFIFO210a及びアドレスインク
リメンタ211を以下のように動作させることによる。
すなわち、メモリ400に書き込むデータのアドレスが
連続する場合、アドレスFIFO210aにアドレス情
報とアドレスの連続情報とが書き込まれるようにする。
そして、アドレスインクリメンタ211は、連続アドレ
スに対するアクセスの際にアドレスFIFO210aの
アドレス連続情報に基づいて次のアドレスを発生する。
このように、アドレスインクリメンタ211を設けるこ
とにより、アドレスFIFO210aの段数をデータF
IFO220aや連続アドレスFIFO221aよりも
少なくすることができる。
O220a及び連続アドレスFIFO221aは、メモ
リシステム1と同様の動作を行う。データFIFO22
0aは一例として8段に設定され、連続アドレスFIF
O221aも同様に8段となっている。また、アドレス
FIFO210aは、アドレスインクリメンタ211を
設けることにより、一例として4段に設定されている。
これは、アドレスFIFO210a及びアドレスインク
リメンタ211を以下のように動作させることによる。
すなわち、メモリ400に書き込むデータのアドレスが
連続する場合、アドレスFIFO210aにアドレス情
報とアドレスの連続情報とが書き込まれるようにする。
そして、アドレスインクリメンタ211は、連続アドレ
スに対するアクセスの際にアドレスFIFO210aの
アドレス連続情報に基づいて次のアドレスを発生する。
このように、アドレスインクリメンタ211を設けるこ
とにより、アドレスFIFO210aの段数をデータF
IFO220aや連続アドレスFIFO221aよりも
少なくすることができる。
【0044】次に、メモリシステム2の動作を説明す
る。CPU100からメモリ400へのデータライト要
求が発生すると、ライトバッファ200aはCPU10
0から出力された書き込みアドレス・書き込みデータを
受け取り、アドレスFIFO210a、データFIFO
220aに書き込む。また、CPU100から出力され
た書き込みデータをメモリ400の連続したアドレスに
書き込むか否かの情報を、連続アドレスFIFO221
aに書き込む。同時にライトバッファ200aは、アド
レスFIFO210a、データFIFO220aから書
き込みアドレス・書き込みデータを出力して、メモリ4
00への書き込みを開始する。
る。CPU100からメモリ400へのデータライト要
求が発生すると、ライトバッファ200aはCPU10
0から出力された書き込みアドレス・書き込みデータを
受け取り、アドレスFIFO210a、データFIFO
220aに書き込む。また、CPU100から出力され
た書き込みデータをメモリ400の連続したアドレスに
書き込むか否かの情報を、連続アドレスFIFO221
aに書き込む。同時にライトバッファ200aは、アド
レスFIFO210a、データFIFO220aから書
き込みアドレス・書き込みデータを出力して、メモリ4
00への書き込みを開始する。
【0045】CPU100は、さらに書き込みデータが
ある場合、ライトバッファ200aからメモリ400へ
のデータ出力の終了を待たずに、次のデータ出力動作を
開始する。連続した書き込みがメモリ400の不連続な
アドレスに対しての書き込みの場合は、ライトバッファ
200aは書き込みアドレスとデータの両方を受け取っ
て、前述の動作を繰り返す。また、連続した書き込みが
メモリ400の連続なアドレスに対しての書き込みの場
合は、ライトバッファ200aは書き込みデータと、C
PU100からの書き込みデータのメモリ400への書
き込みアドレスが連続であるか否かの情報と、を受け取
って、データFIFO220aと連続アドレスFIFO
221aに書き込む。ライトバッファ200は、メモリ
400の連続したアドレスに対するデータライトの場合
には、アドレスインクリメンタ211を使用してメモリ
400に対する連続したアドレスを発生し、メモリ40
0へのデータライトを行う。このようにすることによ
り、前記のようにアドレスFIFO210aをデータF
IFO220aよりも小さくすることができるので、ラ
イトバッファ200aのコストバフォーマンスを向上さ
せることができる。また、書き込み要求が連続する場
合、CPU100が待たされることなく、次の書き込み
を実行できることにより、システム全体の実行速度を向
上させることができる。
ある場合、ライトバッファ200aからメモリ400へ
のデータ出力の終了を待たずに、次のデータ出力動作を
開始する。連続した書き込みがメモリ400の不連続な
アドレスに対しての書き込みの場合は、ライトバッファ
200aは書き込みアドレスとデータの両方を受け取っ
て、前述の動作を繰り返す。また、連続した書き込みが
メモリ400の連続なアドレスに対しての書き込みの場
合は、ライトバッファ200aは書き込みデータと、C
PU100からの書き込みデータのメモリ400への書
き込みアドレスが連続であるか否かの情報と、を受け取
って、データFIFO220aと連続アドレスFIFO
221aに書き込む。ライトバッファ200は、メモリ
400の連続したアドレスに対するデータライトの場合
には、アドレスインクリメンタ211を使用してメモリ
400に対する連続したアドレスを発生し、メモリ40
0へのデータライトを行う。このようにすることによ
り、前記のようにアドレスFIFO210aをデータF
IFO220aよりも小さくすることができるので、ラ
イトバッファ200aのコストバフォーマンスを向上さ
せることができる。また、書き込み要求が連続する場
合、CPU100が待たされることなく、次の書き込み
を実行できることにより、システム全体の実行速度を向
上させることができる。
【0046】次に、CPU100からメモリ400への
命令フェッチ要求が発生した場合に、制御レジスタ31
0に格納されている情報が命令フェッチ優先を示してい
る場合には、制御回路300がライトバッファの現在の
書き込みデータが連続したアドレスに対するものか否か
を示すアドレス信号302を受け取り、連続したアドレ
スに対するものの場合はアドレスが非連続になるまで、
ライトバッファ200aからメモリ400へのデータラ
イト動作を続けさせる。そして、メモリ400への書き
込みアドレスが不連続になったことを検出すると、制御
回路300はアドレスセレクタ212を切り替えて、C
PU100からの命令フェッチのアドレスをメモリ40
0に送り、命令を読み出す。メモリ400から読み出さ
れた命令は、ライトバッファ200aのリードデータバ
ス222を介してCPU100に送られる。そして、読
み出された命令がCPU100にて実行される。
命令フェッチ要求が発生した場合に、制御レジスタ31
0に格納されている情報が命令フェッチ優先を示してい
る場合には、制御回路300がライトバッファの現在の
書き込みデータが連続したアドレスに対するものか否か
を示すアドレス信号302を受け取り、連続したアドレ
スに対するものの場合はアドレスが非連続になるまで、
ライトバッファ200aからメモリ400へのデータラ
イト動作を続けさせる。そして、メモリ400への書き
込みアドレスが不連続になったことを検出すると、制御
回路300はアドレスセレクタ212を切り替えて、C
PU100からの命令フェッチのアドレスをメモリ40
0に送り、命令を読み出す。メモリ400から読み出さ
れた命令は、ライトバッファ200aのリードデータバ
ス222を介してCPU100に送られる。そして、読
み出された命令がCPU100にて実行される。
【0047】このように、命令フェッチはライトバッフ
ァ200aからメモリ400に対する書き込みデータの
アドレスが不連続となった時点で、メモリ400へのデ
ータの書き込みが全て終わっていなくても命令フェッチ
が行われるため、命令フェッチが必要以上に待たされる
ことない。また、ライトバッファ200aからのデータ
ライト動作も効率良く行われるために、メモリシステム
全体の処理速度が向上する。
ァ200aからメモリ400に対する書き込みデータの
アドレスが不連続となった時点で、メモリ400へのデ
ータの書き込みが全て終わっていなくても命令フェッチ
が行われるため、命令フェッチが必要以上に待たされる
ことない。また、ライトバッファ200aからのデータ
ライト動作も効率良く行われるために、メモリシステム
全体の処理速度が向上する。
【0048】また、命令フェッチ動作を優先したために
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
【0049】〔第3実施形態〕図3は、本発明の第3実
施形態に係るメモリシステムの概略の構成を示したブロ
ック図である。メモリシステム3は、ライトバッファ2
00bを除いてメモリシステム1と同様の構成であり、
同一部分には同一符号を付して詳細な説明を省略する。
ライトバッファ200bは、8段のアドレスFIFO2
10b、アドレスセレクタ212、8段のデータFIF
O220a及びアドレスコンパレータ213を備えてい
る。アドレスFIFO210b、アドレスセレクタ21
2、データFIFO220aは、それぞれメモリシステ
ム1と同様の動作を行う。アドレスコンパレータ213
は、メモリ400に書き込むデータについて、直前に書
き込んだデータのアドレス情報と、これから書き込むデ
ータのアドレス情報と、を比較し、ページが一致するか
否かのページ信号303を制御回路300に出力する。
制御回路300は、このページ信号に基づいて、メモリ
400に書き込むデータが同一ページ内のアドレスに書
き込むデータか否かを判定する。
施形態に係るメモリシステムの概略の構成を示したブロ
ック図である。メモリシステム3は、ライトバッファ2
00bを除いてメモリシステム1と同様の構成であり、
同一部分には同一符号を付して詳細な説明を省略する。
ライトバッファ200bは、8段のアドレスFIFO2
10b、アドレスセレクタ212、8段のデータFIF
O220a及びアドレスコンパレータ213を備えてい
る。アドレスFIFO210b、アドレスセレクタ21
2、データFIFO220aは、それぞれメモリシステ
ム1と同様の動作を行う。アドレスコンパレータ213
は、メモリ400に書き込むデータについて、直前に書
き込んだデータのアドレス情報と、これから書き込むデ
ータのアドレス情報と、を比較し、ページが一致するか
否かのページ信号303を制御回路300に出力する。
制御回路300は、このページ信号に基づいて、メモリ
400に書き込むデータが同一ページ内のアドレスに書
き込むデータか否かを判定する。
【0050】次に、メモリシステム3の動作を説明す
る。CPU100からメモリ400へのライト要求が発
生すると、ライトバッファ200bが書き込みアドレス
・書き込みデータを受け取り、アドレスFIFO210
b、データFIFO220aに書き込む。同時にライト
バッファ200bは、アドレスFIFO210b、デー
タFIFO220aから書き込みアドレス・書き込みデ
ータを出力し、メモリ400への書き込みを開始する。
る。CPU100からメモリ400へのライト要求が発
生すると、ライトバッファ200bが書き込みアドレス
・書き込みデータを受け取り、アドレスFIFO210
b、データFIFO220aに書き込む。同時にライト
バッファ200bは、アドレスFIFO210b、デー
タFIFO220aから書き込みアドレス・書き込みデ
ータを出力し、メモリ400への書き込みを開始する。
【0051】CPU100は、さらに書き込みデータが
ある場合、ライトバッファ200bらメモリ400への
データ出力の終了を待たずに、次のデータ出力動作を開
始する。CPU100から連続した書き込みが発生する
と、ライトバッファ200bは書き込みアドレスと書き
込みデータの両方を受け取って、前述の動作を繰り返
す。このように、書き込み要求が連続する場合、CPU
100が待たされることなく、次の書き込みを実行でき
ることにより、システム全体の処理速度を向上させるこ
とができる。
ある場合、ライトバッファ200bらメモリ400への
データ出力の終了を待たずに、次のデータ出力動作を開
始する。CPU100から連続した書き込みが発生する
と、ライトバッファ200bは書き込みアドレスと書き
込みデータの両方を受け取って、前述の動作を繰り返
す。このように、書き込み要求が連続する場合、CPU
100が待たされることなく、次の書き込みを実行でき
ることにより、システム全体の処理速度を向上させるこ
とができる。
【0052】次に、CPU100からメモリ400への
命令フェッチ要求が発生すると、制御レジスタ310に
格納されている情報が命令フェッチ優先を示している場
合には、制御回路300は、ライトバッファ200bの
現在の書き込みデータがメモリ400の同一ページ内の
アドレスに対するものか否かを示すページ信号303を
受け取る。そして、現在の書き込みデータが同一ページ
内のアドレスの場合は、アドレスが同一ページ外を示す
まで、ライトバッファ200bからメモリ400へのデ
ータライトを続けさせる。また、制御回路300は、ペ
ージ信号303によってメモリ400への書き込みデー
タのアドレスが同一ページ外になったことを検出して、
CPU100からの命令フェッチのアドレスをアドレス
バス214及びアドレスセレクタ212を介してメモリ
400に供給し、命令を読み出す。メモリ400から読
み出された命令は、ライトバッファ200bのリードデ
ータバス222を介してCPU100に格納され実行さ
れる。
命令フェッチ要求が発生すると、制御レジスタ310に
格納されている情報が命令フェッチ優先を示している場
合には、制御回路300は、ライトバッファ200bの
現在の書き込みデータがメモリ400の同一ページ内の
アドレスに対するものか否かを示すページ信号303を
受け取る。そして、現在の書き込みデータが同一ページ
内のアドレスの場合は、アドレスが同一ページ外を示す
まで、ライトバッファ200bからメモリ400へのデ
ータライトを続けさせる。また、制御回路300は、ペ
ージ信号303によってメモリ400への書き込みデー
タのアドレスが同一ページ外になったことを検出して、
CPU100からの命令フェッチのアドレスをアドレス
バス214及びアドレスセレクタ212を介してメモリ
400に供給し、命令を読み出す。メモリ400から読
み出された命令は、ライトバッファ200bのリードデ
ータバス222を介してCPU100に格納され実行さ
れる。
【0053】このように、ライトバッファ200bから
メモリ400への書き込みが全て終わっていなくても、
メモリ400の同一ページ外のアドレスとなった時点で
命令フェッチが行われる。よって、命令フェッチが必要
以上に待たされることなく、またライトバッファ200
bからのデータライト動作も効率良く行われ、メモリシ
ステム3全体の処理速度が向上する。
メモリ400への書き込みが全て終わっていなくても、
メモリ400の同一ページ外のアドレスとなった時点で
命令フェッチが行われる。よって、命令フェッチが必要
以上に待たされることなく、またライトバッファ200
bからのデータライト動作も効率良く行われ、メモリシ
ステム3全体の処理速度が向上する。
【0054】また、命令フェッチ動作を優先したために
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
【0055】〔第4実施形態〕図4は、本発明の第4実
施形態に係るメモリシステムの概略の構成を示したブロ
ック図である。メモリシステム4は、図2に示したメモ
リシステム2にキャッシュメモリ500、アドレスバス
501及びデータバス502を追加した構成であり、同
一部分には同一符号を付して詳細な説明を省略する。
施形態に係るメモリシステムの概略の構成を示したブロ
ック図である。メモリシステム4は、図2に示したメモ
リシステム2にキャッシュメモリ500、アドレスバス
501及びデータバス502を追加した構成であり、同
一部分には同一符号を付して詳細な説明を省略する。
【0056】図4において、CPU100とメモリ40
0の間にライトバッファ200とキャッシュメモリ50
0を設け、ライトバッファ200とキャッシュメモリ5
00の制御を制御回路300によって行う。すなわち、
アドレスバス105aとアドレスバス105bとの間に
設けたアドレスバス501、及びデータバス107aと
データバス107bとの間に設けたデータスバス502
を介してキャッシュメモリ500と、CPU100及び
ライトバッファ200aと、を接続する。
0の間にライトバッファ200とキャッシュメモリ50
0を設け、ライトバッファ200とキャッシュメモリ5
00の制御を制御回路300によって行う。すなわち、
アドレスバス105aとアドレスバス105bとの間に
設けたアドレスバス501、及びデータバス107aと
データバス107bとの間に設けたデータスバス502
を介してキャッシュメモリ500と、CPU100及び
ライトバッファ200aと、を接続する。
【0057】メモリシステム500にキャッシュメモリ
500を設けることにより、CPU100は、キャッシ
ュメモリ500にヒットしている間、メモリ400から
のリードの代わりにキャッシュメモリ500からのリー
ドを行う。よって、ライトバッファ200aのメモリ4
00へのライト動作と、CPU100のメモリ400か
らのリード動作と、が衝突する可能性が低くなり、さら
にシステム全体の性能を向上させることができる。ま
た、キャッシュメモリ500がコピーバック(ライトバ
ック)方式の場合には、キャッシュラインの入れ替えが
生じた場合に、メモリ400へ書き込むデータをライト
バッファ200にライトした後、ライトバッファ200
aからメモリ400へのデータライトを始める前に、メ
モリ400からキャッシュメモリ500へ命令をライン
フェッチ(読み出す)させるようにする。これにより、
CPU100の待ち時間を減らすことができ、メモリシ
ステム4全体の処理能力を向上させることができる。
500を設けることにより、CPU100は、キャッシ
ュメモリ500にヒットしている間、メモリ400から
のリードの代わりにキャッシュメモリ500からのリー
ドを行う。よって、ライトバッファ200aのメモリ4
00へのライト動作と、CPU100のメモリ400か
らのリード動作と、が衝突する可能性が低くなり、さら
にシステム全体の性能を向上させることができる。ま
た、キャッシュメモリ500がコピーバック(ライトバ
ック)方式の場合には、キャッシュラインの入れ替えが
生じた場合に、メモリ400へ書き込むデータをライト
バッファ200にライトした後、ライトバッファ200
aからメモリ400へのデータライトを始める前に、メ
モリ400からキャッシュメモリ500へ命令をライン
フェッチ(読み出す)させるようにする。これにより、
CPU100の待ち時間を減らすことができ、メモリシ
ステム4全体の処理能力を向上させることができる。
【0058】また、命令フェッチ動作を優先したために
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
【0059】〔第5実施形態〕図5は、本発明の第5実
施形態に係るメモリシステムの概略の構成を示したブロ
ック図である。メモリシステム5は、図4に示したメモ
リシステム4のライトバッファ200aにアドレスコン
パレータ213aを設けて、ライトバッファ200cと
した構成である。その他の部分は、メモリシステム4と
同様であるため、同一部分には同一符号を付して詳細な
説明を省略する。
施形態に係るメモリシステムの概略の構成を示したブロ
ック図である。メモリシステム5は、図4に示したメモ
リシステム4のライトバッファ200aにアドレスコン
パレータ213aを設けて、ライトバッファ200cと
した構成である。その他の部分は、メモリシステム4と
同様であるため、同一部分には同一符号を付して詳細な
説明を省略する。
【0060】ライトバッファ200cにおいて、アドレ
スインクリメンタ211の出力端子をアドレスセレクタ
212とアドレスコンパレータ213aの入力端子に接
続する。また、アドレスコンパレータ213aの出力端
子は、制御回路300に接続する。そして、アドレスコ
ンパレータ213aは、メモリ400に書き込むデータ
について、直前に書き込んだデータのアドレス情報と、
これから書き込むデータのアドレス情報と、を比較し、
ページが一致するか否かのページ信号303aを制御回
路300に出力する。
スインクリメンタ211の出力端子をアドレスセレクタ
212とアドレスコンパレータ213aの入力端子に接
続する。また、アドレスコンパレータ213aの出力端
子は、制御回路300に接続する。そして、アドレスコ
ンパレータ213aは、メモリ400に書き込むデータ
について、直前に書き込んだデータのアドレス情報と、
これから書き込むデータのアドレス情報と、を比較し、
ページが一致するか否かのページ信号303aを制御回
路300に出力する。
【0061】また、連続アドレスFIFO221は、メ
モリ400に書き込むデータについて、直前に書き込ん
だデータのアドレス情報と、これから書き込むデータの
アドレス情報と、が連続しているか否かのアドレス信号
302を制御回路300に出力する。
モリ400に書き込むデータについて、直前に書き込ん
だデータのアドレス情報と、これから書き込むデータの
アドレス情報と、が連続しているか否かのアドレス信号
302を制御回路300に出力する。
【0062】制御回路300は、ページ信号303aと
アドレス302とに基づいて、メモリ400に書き込む
データが、メモリ400の連続するアドレス書き込むデ
ータか否か、また、メモリ400の同一ページ内のアド
レスに書き込むデータか否かを判定する。
アドレス302とに基づいて、メモリ400に書き込む
データが、メモリ400の連続するアドレス書き込むデ
ータか否か、また、メモリ400の同一ページ内のアド
レスに書き込むデータか否かを判定する。
【0063】CPU100の命令フェッチ時、またはC
PU100の命令フェッチ時にキャッシュメモリ500
がミスしたために発生したラインフェッチ時には、ライ
トバッファ200cからメモリ400の連続したアドレ
スへデータを書き込んでいる場合、またはメモリ400
の同一ページ内のアドレスへデータを書き込んでいる場
合であれば、ライトバッファ200cからの書き込みを
先に行う。そして、アドレスが非連続かつ同一ページ外
になったところで、命令フェッチに伴うキャッシュメモ
リ500のラインフェッチを行う。また、キャッシュメ
モリ500がコピーバック(ライトバック)方式の場合
には、第4実施形態と同様にキャッシュラインの入れ替
えが生じた場合に、メモリ400へ書き込むデータをラ
イトバッファ200cにライトする。そして、ライトバ
ッファ200cがメモリ400へのライトを始める前に
メモリからキャッシュへ命令をラインフェッチする。こ
れにより、CPU100の待ち時間を減らすことがで
き、メモリシステム全体の性能が向上する。
PU100の命令フェッチ時にキャッシュメモリ500
がミスしたために発生したラインフェッチ時には、ライ
トバッファ200cからメモリ400の連続したアドレ
スへデータを書き込んでいる場合、またはメモリ400
の同一ページ内のアドレスへデータを書き込んでいる場
合であれば、ライトバッファ200cからの書き込みを
先に行う。そして、アドレスが非連続かつ同一ページ外
になったところで、命令フェッチに伴うキャッシュメモ
リ500のラインフェッチを行う。また、キャッシュメ
モリ500がコピーバック(ライトバック)方式の場合
には、第4実施形態と同様にキャッシュラインの入れ替
えが生じた場合に、メモリ400へ書き込むデータをラ
イトバッファ200cにライトする。そして、ライトバ
ッファ200cがメモリ400へのライトを始める前に
メモリからキャッシュへ命令をラインフェッチする。こ
れにより、CPU100の待ち時間を減らすことがで
き、メモリシステム全体の性能が向上する。
【0064】また、命令フェッチ動作を優先したために
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
問題が発生する場合には、制御レジスタ310によって
命令フェッチ動作優先をライト動作優先に切り替えるこ
とができる。これにより、自己書き換え型のプログラム
を実行する場合でも、従来のような問題は発生しない。
【0065】
【発明の効果】本発明によれば、以下の効果が得られ
る。
る。
【0066】(1) メモリシステムは、CPUからメモリ
へ書き込むデータをライトバッファへ一時的に保持し、
CPUからメモリへのデータライト時には、ライトバッ
ファを介してメモリにデータを書き込むとともに、デー
タをメモリの連続したアドレスに書き込むか否かのアド
レス情報をライトバッファに書き込む。そして、CPU
からメモリへの命令フェッチ時には、ライトバッファに
書き込んだアドレス情報を確認して、メモリの連続した
アドレスにデータを書き込み中の場合、ライトバッファ
からメモリへのデータライトを継続し、メモリの不連続
なアドレスにデータを書き込む時点で、データライトを
中断して命令フェッチを行うので、メモリシステムにお
いて、主メモリとしてDRAMやSDRAM等のメモリ
を使用した場合でも、命令フェッチ時間とデータライト
時間の両方を効率良く短縮し、システム性能を向上させ
ることができる。
へ書き込むデータをライトバッファへ一時的に保持し、
CPUからメモリへのデータライト時には、ライトバッ
ファを介してメモリにデータを書き込むとともに、デー
タをメモリの連続したアドレスに書き込むか否かのアド
レス情報をライトバッファに書き込む。そして、CPU
からメモリへの命令フェッチ時には、ライトバッファに
書き込んだアドレス情報を確認して、メモリの連続した
アドレスにデータを書き込み中の場合、ライトバッファ
からメモリへのデータライトを継続し、メモリの不連続
なアドレスにデータを書き込む時点で、データライトを
中断して命令フェッチを行うので、メモリシステムにお
いて、主メモリとしてDRAMやSDRAM等のメモリ
を使用した場合でも、命令フェッチ時間とデータライト
時間の両方を効率良く短縮し、システム性能を向上させ
ることができる。
【0067】(2) メモリシステムは、CPUからメモリ
への命令フェッチ時において、メモリの連続したアドレ
スにデータを書き込み中の場合に、ライトバッファから
メモリへのデータライトを優先するか命令フェッチを優
先するかを制御手段によって選択可能なことにより、制
御手段により命令フェッチ優先動作の許可・禁止をする
ことができ、自己書き換え型のプログラムを含む全ての
プログラムに対して本発明のメモリシステムを使用でき
る。
への命令フェッチ時において、メモリの連続したアドレ
スにデータを書き込み中の場合に、ライトバッファから
メモリへのデータライトを優先するか命令フェッチを優
先するかを制御手段によって選択可能なことにより、制
御手段により命令フェッチ優先動作の許可・禁止をする
ことができ、自己書き換え型のプログラムを含む全ての
プログラムに対して本発明のメモリシステムを使用でき
る。
【0068】(3) メモリシステムは、ライトバッファに
よってCPUからメモリへ書き込むデータを一時的に保
持し、CPUからメモリへのデータライト時には、ライ
トバッファを介してメモリにデータを書き込むととも
に、データを該メモリの同一ページ内のアドレスに書き
込むか否かのページ情報をライトバッファに書き込む。
また、CPUからメモリへの命令フェッチ時には、ライ
トバッファに書き込んだページ情報を確認して、メモリ
の同一ページ内のアドレスにデータを書き込み中の場
合、ライトバッファからメモリへのデータライトを継続
し、メモリの異なるページのアドレスにデータを書き込
む時点で、データライトを中断して命令フェッチを行う
ので、メモリシステムにおいて、主メモリとしてDRA
MやSDRAM等のメモリを使用した場合でも、メモリ
に対するアクセス時間を最小に抑えることができ、メモ
リシステム全体の処理速度を向上させることができる。
よってCPUからメモリへ書き込むデータを一時的に保
持し、CPUからメモリへのデータライト時には、ライ
トバッファを介してメモリにデータを書き込むととも
に、データを該メモリの同一ページ内のアドレスに書き
込むか否かのページ情報をライトバッファに書き込む。
また、CPUからメモリへの命令フェッチ時には、ライ
トバッファに書き込んだページ情報を確認して、メモリ
の同一ページ内のアドレスにデータを書き込み中の場
合、ライトバッファからメモリへのデータライトを継続
し、メモリの異なるページのアドレスにデータを書き込
む時点で、データライトを中断して命令フェッチを行う
ので、メモリシステムにおいて、主メモリとしてDRA
MやSDRAM等のメモリを使用した場合でも、メモリ
に対するアクセス時間を最小に抑えることができ、メモ
リシステム全体の処理速度を向上させることができる。
【0069】(4) メモリシステムは、CPUからメモリ
への命令フェッチ時において、制御手段によって、メモ
リの同一ページ内のアドレスにデータを書き込み中の場
合に、ライトバッファからメモリへのデータライトを優
先するか命令フェッチを優先するかを選択可能であるの
で、制御手段により命令フェッチ優先動作の許可・禁止
をすることができ、自己書き換え型のプログラムでも問
題無く実行することができる。
への命令フェッチ時において、制御手段によって、メモ
リの同一ページ内のアドレスにデータを書き込み中の場
合に、ライトバッファからメモリへのデータライトを優
先するか命令フェッチを優先するかを選択可能であるの
で、制御手段により命令フェッチ優先動作の許可・禁止
をすることができ、自己書き換え型のプログラムでも問
題無く実行することができる。
【0070】(5) メモリシステムは、記憶したデータを
メモリよりも高速に読み出し可能なキャッシュメモリを
備え、ライトバッファでCPUからメモリへ書き込むデ
ータを一時的に保持し、CPUまたはキャッシュメモリ
からメモリへのデータライト時には、ライトバッファを
介してメモリにデータを書き込むとともに、データをメ
モリの連続したアドレスに書き込むか否かのアドレス情
報をライトバッファに書き込む。また、CPUからメモ
リへの命令フェッチ時、またはCPUの命令フェッチが
キャッシュメモリにおいてミスしたために発生したキャ
ッシュメモリからメモリへのラインフェッチ時には、ラ
イトバッファに書き込んだアドレス情報を確認して、メ
モリの連続したアドレスにデータを書き込み中の場合、
ライトバッファからメモリへのデータライトを継続し、
メモリの不連続なアドレスにデータを書き込む時点で、
データライトを中断して命令フェッチまたはラインフェ
ッチを行うので、メモリシステムにおいて、主メモリと
してDRAMやSDRAM等のメモリを使用した場合で
も、メモリに対するアクセス時間を最小に抑えることが
でき、メモリシステム全体の処理速度を向上させること
ができる。
メモリよりも高速に読み出し可能なキャッシュメモリを
備え、ライトバッファでCPUからメモリへ書き込むデ
ータを一時的に保持し、CPUまたはキャッシュメモリ
からメモリへのデータライト時には、ライトバッファを
介してメモリにデータを書き込むとともに、データをメ
モリの連続したアドレスに書き込むか否かのアドレス情
報をライトバッファに書き込む。また、CPUからメモ
リへの命令フェッチ時、またはCPUの命令フェッチが
キャッシュメモリにおいてミスしたために発生したキャ
ッシュメモリからメモリへのラインフェッチ時には、ラ
イトバッファに書き込んだアドレス情報を確認して、メ
モリの連続したアドレスにデータを書き込み中の場合、
ライトバッファからメモリへのデータライトを継続し、
メモリの不連続なアドレスにデータを書き込む時点で、
データライトを中断して命令フェッチまたはラインフェ
ッチを行うので、メモリシステムにおいて、主メモリと
してDRAMやSDRAM等のメモリを使用した場合で
も、メモリに対するアクセス時間を最小に抑えることが
でき、メモリシステム全体の処理速度を向上させること
ができる。
【0071】(6) メモリシステムは、CPUからメモリ
への命令フェッチ時またはラインフェッチ時において、
メモリの連続したアドレスにデータを書き込み中の場合
に、ライトバッファからメモリへのデータライトを優先
するか、命令フェッチまたはラインフェッチを優先する
か、を制御手段によって選択可能であるため、制御手段
により命令フェッチまたはラインフェッチ優先動作の許
可・禁止をすることができ、自己書き換え型のプログラ
ムでも問題無く実行することができる。
への命令フェッチ時またはラインフェッチ時において、
メモリの連続したアドレスにデータを書き込み中の場合
に、ライトバッファからメモリへのデータライトを優先
するか、命令フェッチまたはラインフェッチを優先する
か、を制御手段によって選択可能であるため、制御手段
により命令フェッチまたはラインフェッチ優先動作の許
可・禁止をすることができ、自己書き換え型のプログラ
ムでも問題無く実行することができる。
【0072】(7) CPUからメモリへ書き込むデータを
一時的に保持するライトバッファと、記憶したデータを
該メモリよりも高速に読み出し可能なキャッシュメモリ
を備えたメモリシステムは、CPUまたはキャッシュメ
モリからメモリへのデータライト時には、ライトバッフ
ァを介してメモリにデータを書き込むとともに、データ
をメモリの連続したアドレスに書き込むか否かのアドレ
ス情報、及びデータをメモリの同一ページ内のアドレス
に書き込むか否かのページ情報をライトバッファに書き
込む。また、CPUからメモリへの命令フェッチ時、ま
たはCPUの命令フェッチがキャッシュメモリにおいて
ミスしたために発生したキャッシュメモリのラインフェ
ッチ時には、ライトバッファに書き込んだアドレス情報
及びページ情報を確認して、メモリの連続したアドレス
または同一ページ内のアドレスにデータを書き込み中の
場合、ライトバッファからメモリへのデータライトを継
続し、メモリの不連続なアドレスかつ異なるページのア
ドレスにデータを書き込む時点で、データライトを中断
して命令フェッチまたはラインフェッチを行うので、メ
モリシステムにおいて、主メモリとしてDRAMやSD
RAM等のメモリを使用した場合でも、メモリに対する
アクセス時間を最小に抑えることができ、メモリシステ
ム全体の処理速度を向上させることができる。
一時的に保持するライトバッファと、記憶したデータを
該メモリよりも高速に読み出し可能なキャッシュメモリ
を備えたメモリシステムは、CPUまたはキャッシュメ
モリからメモリへのデータライト時には、ライトバッフ
ァを介してメモリにデータを書き込むとともに、データ
をメモリの連続したアドレスに書き込むか否かのアドレ
ス情報、及びデータをメモリの同一ページ内のアドレス
に書き込むか否かのページ情報をライトバッファに書き
込む。また、CPUからメモリへの命令フェッチ時、ま
たはCPUの命令フェッチがキャッシュメモリにおいて
ミスしたために発生したキャッシュメモリのラインフェ
ッチ時には、ライトバッファに書き込んだアドレス情報
及びページ情報を確認して、メモリの連続したアドレス
または同一ページ内のアドレスにデータを書き込み中の
場合、ライトバッファからメモリへのデータライトを継
続し、メモリの不連続なアドレスかつ異なるページのア
ドレスにデータを書き込む時点で、データライトを中断
して命令フェッチまたはラインフェッチを行うので、メ
モリシステムにおいて、主メモリとしてDRAMやSD
RAM等のメモリを使用した場合でも、メモリに対する
アクセス時間を最小に抑えることができ、メモリシステ
ム全体の処理速度を向上させることができる。
【0073】(8) メモリシステムは、CPUからメモリ
への命令フェッチ時またはラインフェッチ時において、
メモリの連続したアドレスまたは同一ページ内のアドレ
スにデータを書き込み中の場合に、前記ライトバッファ
から前記メモリへのデータライトを優先するか、命令フ
ェッチまたはラインフェッチを優先するか、を制御手段
によって選択可能であるため、制御手段により命令フェ
ッチまたはラインフェッチ優先動作の許可・禁止をする
ことができ、自己書き換え型のプログラムでも問題無く
実行することができる。
への命令フェッチ時またはラインフェッチ時において、
メモリの連続したアドレスまたは同一ページ内のアドレ
スにデータを書き込み中の場合に、前記ライトバッファ
から前記メモリへのデータライトを優先するか、命令フ
ェッチまたはラインフェッチを優先するか、を制御手段
によって選択可能であるため、制御手段により命令フェ
ッチまたはラインフェッチ優先動作の許可・禁止をする
ことができ、自己書き換え型のプログラムでも問題無く
実行することができる。
【図1】本発明の第1実施形態に係るメモリシステムの
概略の構成を示したブロック図である。
概略の構成を示したブロック図である。
【図2】本発明の第2実施形態に係るメモリシステムの
概略の構成を示したブロック図である。
概略の構成を示したブロック図である。
【図3】本発明の第3実施形態に係るメモリシステムの
概略の構成を示したブロック図である。
概略の構成を示したブロック図である。
【図4】本発明の第4実施形態に係るメモリシステムの
概略の構成を示したブロック図である。
概略の構成を示したブロック図である。
【図5】本発明の第5実施形態に係るメモリシステムの
概略の構成を示したブロック図である。
概略の構成を示したブロック図である。
【図6】ライトバッファを用いた従来のメモリシステム
の構成を示すブロック図である。
の構成を示すブロック図である。
Claims (8)
- 【請求項1】 CPUからメモリへ書き込むデータを一
時的に保持するライトバッファを備え、 該CPUから該メモリへのデータライト時には、該ライ
トバッファを介して該メモリにデータを書き込むととも
に、該データを該メモリの連続したアドレスに書き込む
か否かのアドレス情報を該ライトバッファに書き込み、 該CPUから該メモリへの命令フェッチ時には、該ライ
トバッファに書き込んだ該アドレス情報を確認して、該
メモリの連続したアドレスにデータを書き込み中の場
合、該ライトバッファから該メモリへのデータライトを
継続し、該メモリの不連続なアドレスにデータを書き込
む時点で、データライトを中断して命令フェッチを行う
ことを特徴とするメモリシステム。 - 【請求項2】 前記命令フェッチ時において、前記メモ
リの連続したアドレスにデータを書き込み中の場合に、
前記ライトバッファから前記メモリへのデータライトを
優先するか命令フェッチを優先するかを選択可能な制御
手段を備えたことを特徴とする請求項1に記載のメモリ
システム。 - 【請求項3】 CPUからメモリへ書き込むデータを一
時的に保持するライトバッファを備え、 該CPUから該メモリへのデータライト時には、該ライ
トバッファを介して該メモリにデータを書き込むととも
に、該データを該メモリの同一ページ内のアドレスに書
き込むか否かのページ情報を該ライトバッファに書き込
み、 該CPUから該メモリへの命令フェッチ時には、該ライ
トバッファに書き込んだ該ページ情報を確認して、該メ
モリの同一ページ内のアドレスにデータを書き込み中の
場合、該ライトバッファから該メモリへのデータライト
を継続し、該メモリの異なるページのアドレスにデータ
を書き込む時点で、データライトを中断して命令フェッ
チを行うことを特徴とするメモリシステム。 - 【請求項4】 前記命令フェッチ時において、前記メモ
リの同一ページ内のアドレスにデータを書き込み中の場
合に、前記ライトバッファから前記メモリへのデータラ
イトを優先するか命令フェッチを優先するかを選択可能
な制御手段を備えたことを特徴とする請求項3に記載の
メモリシステム。 - 【請求項5】 CPUからメモリへ書き込むデータを一
時的に保持するライトバッファと、記憶したデータを該
メモリよりも高速に読み出し可能なキャッシュメモリを
備え、 該CPUまたは該キャッシュメモリから該メモリへのデ
ータライト時には、該ライトバッファを介して該メモリ
にデータを書き込むとともに、該データを該メモリの連
続したアドレスに書き込むか否かのアドレス情報を該ラ
イトバッファに書き込み、 該CPUから該メモリへの命令フェッチ時、または該C
PUの命令フェッチが該キャッシュメモリにおいてミス
したために発生した該キャッシュメモリから該メモリへ
のラインフェッチ時には、該ライトバッファに書き込ん
だ該アドレス情報を確認して、該メモリの連続したアド
レスにデータを書き込み中の場合、該ライトバッファか
ら該メモリへのデータライトを継続し、該メモリの不連
続なアドレスにデータを書き込む時点で、データライト
を中断して命令フェッチまたはラインフェッチを行うこ
とを特徴とするメモリシステム。 - 【請求項6】 前記命令フェッチ時またはラインフェッ
チ時において、前記メモリの連続したアドレスにデータ
を書き込み中の場合に、前記ライトバッファから前記メ
モリへのデータライトを優先するか、命令フェッチまた
はラインフェッチを優先するか、を選択可能な制御手段
を備えたことを特徴とする請求項5に記載のメモリシス
テム。 - 【請求項7】 CPUからメモリへ書き込むデータを一
時的に保持するライトバッファと、記憶したデータを該
メモリよりも高速に読み出し可能なキャッシュメモリを
備え、 該CPUまたは該キャッシュメモリから該メモリへのデ
ータライト時には、該ライトバッファを介して該メモリ
にデータを書き込むとともに、該データを該メモリの連
続したアドレスに書き込むか否かのアドレス情報、及び
該データを該メモリの同一ページ内のアドレスに書き込
むか否かのページ情報を該ライトバッファに書き込み、 該CPUから該メモリへの命令フェッチ時、または該C
PUの命令フェッチが該キャッシュメモリにおいてミス
したために発生した該キャッシュメモリのラインフェッ
チ時には、該ライトバッファに書き込んだ該アドレス情
報及び該ページ情報を確認して、該メモリの連続したア
ドレスまたは同一ページ内のアドレスにデータを書き込
み中の場合、該ライトバッファから該メモリへのデータ
ライトを継続し、該メモリの不連続なアドレスかつ異な
るページのアドレスにデータを書き込む時点で、データ
ライトを中断して命令フェッチまたはラインフェッチを
行うことを特徴とするメモリシステム。 - 【請求項8】 前記命令フェッチ時またはラインフェッ
チ時において、前記メモリの連続したアドレスまたは同
一ページ内のアドレスにデータを書き込み中の場合に、
前記ライトバッファから前記メモリへのデータライトを
優先するか、命令フェッチまたはラインフェッチを優先
するか、を選択可能な制御手段を備えたことを特徴とす
る請求項1乃至6のいずれかに記載のメモリシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001018385A JP2002222115A (ja) | 2001-01-26 | 2001-01-26 | メモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001018385A JP2002222115A (ja) | 2001-01-26 | 2001-01-26 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002222115A true JP2002222115A (ja) | 2002-08-09 |
Family
ID=18884417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001018385A Pending JP2002222115A (ja) | 2001-01-26 | 2001-01-26 | メモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002222115A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009053820A (ja) * | 2007-08-24 | 2009-03-12 | Nec Electronics Corp | 階層型キャッシュメモリシステム |
-
2001
- 2001-01-26 JP JP2001018385A patent/JP2002222115A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009053820A (ja) * | 2007-08-24 | 2009-03-12 | Nec Electronics Corp | 階層型キャッシュメモリシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06236343A (ja) | メモリに対し非同期でデータの読出し/書込みを行う方法及びそのためのダイレクトメモリアクセス・コントローラ | |
JP3226055B2 (ja) | 情報処理装置 | |
US5287483A (en) | Prefetched operand storing system for an information processor | |
JP2000056970A (ja) | 命令及びデータの先読み方法、マイクロコントローラ、疑似命令検出回路、及び、記録媒体 | |
KR960007833B1 (ko) | 고속 페이지 모드 선택을 위한 방법 및 장치 | |
JP3956305B2 (ja) | 不揮発性半導体記憶装置およびデータ処理装置 | |
JP2002222115A (ja) | メモリシステム | |
JPH11232171A (ja) | 情報処理システム | |
JP2694799B2 (ja) | 情報処理装置 | |
JP3039391B2 (ja) | メモリシステム | |
US20040103267A1 (en) | Data processor having cache memory | |
JP3097602B2 (ja) | データ処理装置 | |
JP2005276104A (ja) | マイクロコンピュータ | |
JPH0342723A (ja) | データ処理装置 | |
JPH05250258A (ja) | キャッシュ制御方式 | |
JPH08286914A (ja) | メモリ制御装置 | |
JP3476314B2 (ja) | マイクロプロセッサ | |
JP2762441B2 (ja) | コプロセッサ | |
JP2001117819A (ja) | 命令メモリ回路及び情報処理システム | |
JP2001142698A (ja) | メモリアクセス方式 | |
JP3785807B2 (ja) | 制御装置 | |
JPH01230152A (ja) | キヤツシユ記憶装置 | |
JPH08249177A (ja) | デジタル制御装置 | |
JP2006139646A (ja) | データ転送装置およびデータ転送方法 | |
JP2560312B2 (ja) | 情報処理システム |