JPH0628252A - メモリ処理装置 - Google Patents

メモリ処理装置

Info

Publication number
JPH0628252A
JPH0628252A JP4178505A JP17850592A JPH0628252A JP H0628252 A JPH0628252 A JP H0628252A JP 4178505 A JP4178505 A JP 4178505A JP 17850592 A JP17850592 A JP 17850592A JP H0628252 A JPH0628252 A JP H0628252A
Authority
JP
Japan
Prior art keywords
instruction
address
cpu
memory
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4178505A
Other languages
English (en)
Inventor
Yutaka Matsuura
豊 松浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Marubun Co Ltd
Original Assignee
Marubun Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Marubun Co Ltd filed Critical Marubun Co Ltd
Priority to JP4178505A priority Critical patent/JPH0628252A/ja
Publication of JPH0628252A publication Critical patent/JPH0628252A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 CPUより動作が遅い主メモリを使用して処
理を行うメモリ処理装置に関し、CPUの処理速度の低
下を最小限度に抑えることを目的とする。 【構成】 主メモリの各行アドレス毎の命令をラッチす
るシフトレジスタ部と行アドレス及び列アドレスを記憶
するカウンタとを設け、CPUからの行列アドレスと該
カウンタの行列アドレスとの一致/不一致を比較器で検
出し、一致検出時にはシフトレジスタ部にラッチされて
いる命令の内の該カウンタの列アドレスで指定された命
令を読み出すと共にカウンタをカウントアップさせ、不
一致検出時にはCPUからの行アドレスに対応する命令
を該シフトレジスタ部に同時に転送させると共に該カウ
ンタの行列アドレスをCPUからの行列アドレスに一致
させることにより比較器での一致検出を行わせるように
構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はメモリ処理装置に関し、
特にマイクロプロセッサ(以下、CPUと称する)の動
作性能よりも遅い動作性能を有するメモリを補完処理す
る装置に関するものである。
【0002】一般にコンピュータシステムの主記憶装置
としては、RAM(ランダム・アクセス・メモリ)と呼
ばれる汎用の低コストのメモリ(以下、主メモリと称す
ることがある)が使用され、このRAMには通常、命令
や命令をアクセス(書込又は読出)する為に使用するア
ドレス情報の上位と下位の部分が時分割して与えられ、
これをそれぞれ図10(1) に示すように行アドレス及び
列アドレスと称しマトリクスを参照することに利用され
る。尚、以下の説明ではCPUが扱う命令とデータの
内、特に命令について言及することとする。
【0003】そして、今仮に同図(1) に示すように行ア
ドレス及び列アドレスがそれぞれ4個で計16個のアド
レスを有するRAMがあり、計16個の命令が同図(1)
に示すような形で格納されているものとすると、これら
の1〜16の16進アドレス(0〜F)の命令は2進ア
ドレス及び行アドレスと列アドレスで表すと同図(2)に
示すようなものとなり、このような命令が格納されてい
るメモリに対して例えば2進アドレス「0100」が与
えられたとすると、この場合の行アドレスは同図(2) に
示すように10進で「1」、列アドレスは10進で
「0」となり、その結果命令「5」が出力される。
【0004】通常、メモリをアクセスする場合には、良
く知られているようにアドレス信号、チップイネーブル
信号、出力イネーブル信号等が与えられ、該当する命令
の入出力を待つことになるが、特にアドレス信号を与え
てから命令が入出力されるまでの時間をアクセスタイム
としており、このアクセスタイムとCPUとの間には動
作上の同期が必要である。
【0005】即ち、CPUよりアドレス信号が出力され
てから一定の時間内で命令を例えば読み込むが、メモリ
のアクセスタイムはこのCPUの処理時間以下である必
要があり、これより長い場合にはCPUに対してウエイ
ト信号を与え、命令の読み込みタイミングを遅らせる必
要がある。
【0006】しかしながら、このようにCPUのタイミ
ングを遅らせるとそれだけ処理時間が長くなる為、CP
U処理性能が低下してしまうことになる。
【0007】このような観点から、動作が遅い主メモリ
を高速のCPUと組合せてアクセスする場合の特別なメ
モリ処理装置が必要になっている。
【0008】
【従来の技術】上記のように汎用の主メモリの動作遅れ
を補完し、CPUが扱う命令を高速にCPUに供給する
機能を司る為、高速メモリを用いた命令キャッシュ(Cac
he) メモリが既に開発され且つ多用されている。この命
令キャッシュメモリは、CPUの主メモリのプログラム
の一部を記憶するものであり、主メモリに比べて高速に
動作出来ることから、CPUから要求のあった命令をC
PUに高速に返却するものとして知られている。
【0009】この命令キャッシュメモリは図11に符号
30で包括的に示すように命令キャッシュ部31とタグ
(TAG)メモリ部32とで構成されており、これら2
つの記憶要素はCPU(図示せず)からの要求命令のア
ドレス情報の下位アドレスによって共通にアクセスされ
る。
【0010】尚、キャッシュとして言及されるものは、
通常、上記のように命令を扱う命令キャッシュの他にデ
ータを扱うデータキャッシュと呼ばれるものも併存して
いるが、ここではデータに関するキャッシュとは区別し
ており、データキャッシュについては特に言及せず、従
って図示されていない。
【0011】ここで言うタグとは命令キャッシュメモリ
30の中にCPUの要求する命令が存在するか否かの判
定をする為に使用されるフラグの役割を果たすもので、
命令キャッシュメモリの場合は通常、命令の上位アドレ
スが使用される。タグは命令の下位アドレスにて指定さ
れるタグメモリ部32の中の該当位置に格納され、一
方、タグに対応する命令は命令キャッシュ部31の同一
下位アドレスにて指定される位置に格納される。CPU
から出力される命令の下位アドレスでアクセスしたタグ
メモリ部32の位置に、対応する上位アドレスが格納さ
れていれば、命令キャッシュ部31内にCPUが要求す
る命令が搭載されている事になり、上位アドレスが異な
る条件では命令キャッシュ部31には要求命令が搭載さ
れておらず、アクセスタイムの遅い主メモリ(図示せ
ず)からの命令読出が必要となる。
【0012】図12は、図10に示した主メモリと命令
キャッシュメモリのアドレスの関係を一例を挙げて示し
たもので、命令キャッシュメモリ30は図12(1) に示
すように4ビット中の下2ビット(下位アドレス)でア
クセスでき、タグメモリ部32には同図(2) に示すよう
に「00」〜「11」の4通りの上位アドレスが格納さ
れることになる。
【0013】そして、例えば、主メモリに対してCPU
が特定命令に対するアドレス「0101」を出力したと
すると、命令キャッシュメモリ30に対しては下位2ビ
ット「01」が与えられる。この時、タグメモリ部32
のアドレス「01」に格納されているタグが「01」で
あれば、命令キャッシュ部31の同一アドレスに格納さ
れている命令の上位アドレスが「01」である事を示し
ている。この上位アドレスはCPUから出力されたアド
レスの上位アドレスと比較器33にて比較される。この
場合、比較の結果は「一致」となる為、CPUの要求す
る命令が命令キャッシュ部31のアドレス「01」に存
在する事になる。この様にして両者の一致が検出される
と、同図(3) に示す様に命令キャッシュ部31のアドレ
ス「01」から命令「6」が読み出されてCPUに返却
される。
【0014】
【発明が解決しようとする課題】しかしながら、命令キ
ャッシュメモリは高速である反面、コストが高く大容量
の命令キャッシュメモリを構成する事はコスト的に現実
的でない。
【0015】また、主メモリの全命令の一部分を記憶す
る容量しか持たない為、CPUの要求命令が何時も格納
されているとは限らず、要求命令が存在しない場合は上
記の比較器33において両者が不一致となり、CPUの
バスサイクルが起動され、外部の主メモリに命令を取り
に行く事になり、その際アクセススピードの遅い主メモ
リに拘束された動作になる為、CPUの性能が低下す
る。
【0016】この動作を図13〜図18を用いて簡潔に
説明する。尚、図13に示す状態においては、主メモリ
2には図10に示したものと同じ16個の命令が4×4
行列のアドレスに格納されているものとし、命令キャッ
シュ部31は最初、主メモリ2における行「0」の命令
「1234」が格納されており、タグメモリ部32の対
応するアドレスにはこれらの命令の上位アドレス、即
ち、行アドレス「0」が格納されているものとする。ま
た、キャッシュ管理回路33は命令キャッシュ部31と
タグメモリ部32及び主メモリ2の管理を司る回路であ
る。
【0017】まず、図13に示すようなキャッシュ状態
において、命令「5」の読出動作がCPU1から指示さ
れたとすると、その行列アドレスは「10」(図12に
合わせて4ビットで表すと「0100」となるが、行ア
ドレスと列アドレスとをそれぞれ10進数で表したもの
を合わせて行列アドレスとして以下簡略化して示すもの
とする。)となり、まず行アドレス「1」と列アドレス
「0」によって指定されるタグメモリ部32のタグ
「0」とが比較器33で比較され、この結果、図示のよ
うにミスヒット(不一致)となるので、この命令キャッ
シュメモリ32は命令「5」が保持されていないことが
分かったことになる。
【0018】そこで、今度は図14に示すように、主メ
モリ2からの命令の供給が必要となり、キャッシュ管理
回路34が、CPU1が指定した行列アドレス「10」
に対応する命令「5」を主メモリ2から読み出してCP
U1へ返却すると同時に、命令キャッシュメモリ30に
おいては命令キャッシュ部31の列アドレス「0」の位
置に命令「5」が格納されると共にタグメモリ部32に
おいてはやはり列アドレス「0」の位置において行アド
レス「1」が格納されることとなる。
【0019】上記の命令「5」の処理が終わり、図15
に示すように次の行列アドレス「11」に対応する命令
「6」の読み込み動作が開始されると、この場合、命令
キャッシュ部31の列アドレス「1」には命令「2」が
格納されており同じ列アドレス「1」に対応したタグメ
モリ部32におけるタグ(上位アドレス)が「0」であ
ることから、やはりこの場合も比較器33は不一致検出
することとなり、上記と同様に主メモリ2から命令
「6」が読み出されると共に図16に示すように命令キ
ャッシュ部32の列アドレス「1」の位置に命令「6」
が格納され、且つ同じ列アドレス「1」の位置において
タグメモリ部32が「1」となる。
【0020】以上のような動作がCPU1からの行列ア
ドレス「12」及び「13」に対しても同様に行われる
とすると、命令キャッシュメモリ30の状態は図17に
示すようになる。
【0021】この段階で仮に命令「8」が行列アドレス
「10」への分岐命令であったと仮定すると、この行列
アドレス「10」に対応する命令キャッシュ部31中の
命令「5」の対応するタグがタグメモリ部32において
「1」となっているので比較器33はヒットし、キャッ
シュ管理回路34は命令「5」をCPU1へ供給するこ
ととなる。
【0022】このように命令キャッシュメモリを備えた
メモリ処理装置においては、登録された命令があったと
きには図9(1) に示すようにCPUの最高性能で命令が
実行されるが、今仮に命令が順列しているプログラムを
実行している場合を考えると、通常の命令キャッシュメ
モリでは一度ミスヒット状態が発生すると命令の登録が
終わり再び登録済の命令アドレスに分岐するまでの間は
連続的にミスヒット状態となり、同図(2) に示すように
ミスヒットの期間が長い処理サイクルが連続して発生し
CPUの処理速度が極端に落ちてしまうという問題があ
った。
【0023】従って本発明は、CPUより動作が遅い主
メモリを使用して処理を行うメモリ処理装置において、
CPUの処理速度の低下を最小限度に抑えることを目的
とする。
【0024】
【課題を解決するための手段】従来の技術のまとめ CPUの命令は、通常汎用メモリICから構成される主
メモリに格納されそこから逐次読み出されてCPUに供
給される。しかし汎用メモリICは低コストである反
面、CPUから命令読出要求があってから、該当命令を
出力するまでの時間、つまりアクセスタイムが長い。そ
の為命令が用意されるまでの期間CPUを待たせる事に
なり、それだけCPUシステムの性能が低くなる。
【0025】そこでCPUシステムの動作性能を上げる
為、高速のメモリを命令キャッシュメモリとしてCPU
と主メモリとの間に配置し、CPUが一度使用した命令
をそこにコピーし、以降再度CPUが同一命令を要求し
た場合には、主メモリからではなく命令キャッシュメモ
リから高速に命令を供給する方式が一般的に用いられて
いる。
【0026】しかしながら、命令キャッシュメモリに使
用される高速メモリは高速である反面、コストが高く大
容量の命令キャッシュメモリを構成する事はコスト的に
現実的でない。また、命令が命令キャッシュメモリに登
録されて、その命令を再度使用した時にその効果が初め
て発揮される為、登録が完了し再度登録済み命令が実行
されるまでの期間は有効に働かないと言う問題点があ
る。
【0027】本発明の解決手段 上記の課題を解決するため、本発明に係るメモリ処理装
置においては、図1に概念的に示すように、CPU1か
ら指定される上位アドレス及び下位アドレスにそれぞれ
対応した行アドレス及び列アドレスによってアクセスさ
れる主メモリ2と、該主メモリ2の各行アドレス毎の命
令をラッチするシフトレジスタ部3と、行アドレス及び
列アドレスを記憶するカウンタ4と、CPU1からの行
列アドレスと該カウンタ4に記憶されている行列アドレ
スとの一致/不一致を検出すると共に一致検出時には該
カウンタ4をカウントアップさせ不一致検出時には該カ
ウンタ4を該CPU1からの行列アドレスに一致させる
比較器5と、該比較器5が一致検出したときには該シフ
トレジスタ部3にラッチされている命令の内の該カウン
タ4の列アドレスで指定された命令を該シフトレジスタ
部3から読み出してCPU1に供給し、該比較器5が不
一致検出したときには該CPU1からの行アドレスに対
応する命令を該シフトレジスタ部3に同時に転送させる
メモリ管理回路6とを備えている。
【0028】また本発明では、該主メモリ2と該シフト
レジスタ部3との組合せとしてデュアルポートビデオD
RAM(以下、DPVDRAMと略称する)を用い、該
カウンタ4の列アドレス部との列アドレスを出力する部
分と同じ動作を行う該DPVDRAM内の列カウンタの
出力する列アドレスを該カウンタ4の列アドレスの代わ
りに用いてもよい。
【0029】更には、該主メモリ2のCPUバスと該シ
フトレジスタ部3のCPUバスとをバッファにより切り
離すことができる。
【0030】
【作用】以下に図1に示した本発明に係るメモリ処理装
置の動作を図2〜図6を用いて明確に説明する。尚、説
明を簡単にする為、主メモリ2における命令の格納状況
は図13以降に示した従来例の場合と同じものを使用す
るものとする。
【0031】まず図2において、CPU1は命令「5」
の読出を行う為、行列アドレス「10」を出力するもの
とすると、この行列アドレス「10」はまずカウンタ4
に記憶されている行アドレス「0」及び列アドレス
「3」との関係として比較器5において比較されるが、
その結果、不一致検出(ミスヒット)となり、このとき
シフトレジスタ部3には所望の命令「5」が保持されて
いない旨メモリ管理回路6に通知される。
【0032】すると、図3に示すようにメモリ管理回路
6はシフトレジスタ部3から命令は出力させず、行アド
レス「1」を参照して主メモリ2からその対応する命令
「5678」をシフトレジスタ部3に一度に転送してラ
ッチさせると共に、比較器5から不一致検出を知らされ
たカウンタ4はその行列アドレス「03」がCPU1か
らの行列アドレス「10」に改新される。
【0033】従って、図示のように当然のことながら比
較器5においては一致する形となり、この旨メモリ管理
回路6に知らされると、メモリ管理回路6はシフトレジ
スタ部3からカウンタ4によって指定された列アドレス
「0」に対応する命令「5」を取り出してCPU1に供
給することとなる。
【0034】このように比較器5において一致検出(ヒ
ット)がなされると、カウンタ4は図4に示す如く「1
0」から「11」にカウントアップされ、次に予想され
るアクセスアドレスと命令を準備する形となる。
【0035】そして、図5に示すようにCPU1からア
ドレス「11」が出力されると、既にカウンタ4がカウ
ントアップされて「11」となっていることにより比較
器5においては一致検出状態となり、これをメモリ管理
回路6に知らせることによりメモリ管理回路6はその列
アドレス「1」に対応する命令「6」をシフトレジスタ
部3より取り出してCPU1に供給することとなる。
【0036】図6には主メモリ2のアドレス「010
0」がアクセスされたものと仮定したときのメモリアク
セス例が示されており、生成したアドレスと比較して一
致していれば図3のようにヒット状態となり、図4及び
図5に示したように読出終了時に次に予想される命令の
読出アドレス「0101」の命令「6」を準備する状態
に移行することとなる。
【0037】また本発明で、主メモリ2とシフトレジス
タ部3との組合せとして既存のDPVDRAMを用いる
ことができ、更に、該主メモリ2のCPUバスと該シフ
トレジスタ部3のCPUバスとをバッファにより切り離
せば、それぞれ独立した動作を行うことができ、CPU
が該シフトレジスタ部3より命令を取り出している間
は、他のバスマスタが該主メモリ2にアクセスすること
ができ、CPUをより有効に使用することができる。ま
た、主メモリ2に対するアクセスはシフトレジスタ部3
のデータに影響を与えない為、主メモリ2のリフレッシ
ュ動作や読出/書込アクセスが交互に発生した時にもシ
フトレジスタ部3の内容は変化しない。従って、このよ
うな状況になってもその都度行命令の再ロードの必要が
ない為、命令処理性能の落ち込みを防ぐことができる。
【0038】
【実施例】図7は本発明に係るメモリ処理装置の実施例
を示したもので、この実施例では主メモリ(RAM)2
とシフトレジスタ部3との組合せとして既に市販されて
いるデュアルポートDPVDRAM(ビデオRAM)1
0を用いており、このシフトレジスタ部3は、RAM2
の命令を行毎に並列ラッチする行命令レジスタ(データ
レジスタ)31と、この行命令レジスタ31の並列出力
の内の一つを選択するセレクタ32と、ミスヒット時の
CPU列アドレスでプリセットされると共にヒット時に
はシフトクロックにより絶えずカンウトアップしてセレ
クタ32のどの出力を選択すべきかを指示する列カウン
タ33とで構成されており、セレクタ32はデータバス
DBによりバッファ11を介してCPU1に接続されて
いる。
【0039】CPU1のアドレスバスABはタグ管理回
路20を構成するタグカウンタ4及び比較器5に接続さ
れると共にバッファ13を介してDPVDRAM10の
RAM2に接続されている。尚、DPVDRAM10は
グラフィックCRT等のディスプレイ回路に使用される
半導体であるが、この半導体はシフトレジスタ部を内蔵
していることに着目してこの実施例のように一つのメモ
リ回路として使用することが出来る。
【0040】また、データバスDBはバッファ12を介
して外部周辺データバスGDBと接続されており、アド
レスバスABもバッファ13を介して外部周辺アドレス
バスGABと接続されている。
【0041】更に、メモリ管理回路としてのDPVDR
AM管理回路6は、通常の如くバスGDB及びGABに
よりRAM2の読出/書込・制御を行うと共にそのRA
M2−行命令レジスタ31間の転送制御を司っており、
これらの制御動作は比較器5からのヒット又はミスヒッ
ト情報に依存している。即ち、比較器5からヒット情報
を受けたときにはDPVDRAM管理回路6は転送制御
信号を用いて列カウンタ33のカウントアップを許し、
この列カウンタ33によって示される列アドレスに対応
するレジスタ31の命令をセレクタ32から出力させ、
ミスヒット情報を受けたときにはセレクタ32からの出
力を禁止すると共にCPU1からの行アドレスに対応し
てRAM2からレジスタ31へ命令転送を行うと共に、
列カウンタ33はCPUから出力された行列アドレスの
列アドレスの値によってプリセットされる。
【0042】この場合、列カウンタ33とタグカウンタ
4の列アドレスを出力する部分とは同じ動きを呈し、列
カウンタ33は図1におけるカウンタ4の機能のうち、
シフトレジスタ部3の中の命令を指定する機能を司さど
っている。また、カウンタ4のCPUの出力アドレスと
比較する為に予測アドレスを保持する機能は、外部のタ
グカウンタ4が司る。
【0043】尚、比較器5からのヒット又はミスヒット
情報はタグカウンタ4にも与えられており、ヒット状態
のときにタグカウンタ4をカウントアップさせミスヒッ
ト状態のときにはタグカウンタ4をCPU1からの行列
アドレスに一致させるようにしている。また、シフトレ
ジスタ部3及びタグカウンタ4にはシフトクロックが共
通して与えられている。
【0044】このような実施例の動作は上記の図2〜5
に示した動作に対応するものであるが、まず、DPVD
RAM10の初期状態では命令が入っていない為、その
結果としてミスヒットとなり、CPU1から出力された
命令アドレスに対応するDPVDRAM10のRAM2
における該当する行アドレスの命令をDPVDRAM管
理回路6が内蔵するシフトレジスタ部3のレジスタ31
に転送させラッチさせると同時にこの行列アドレスはタ
グ管理回路20のタグカウンタ4にプリセットされ、列
アドレスが列カウンタ33にプリセットされる。以後、
シフトレジスタ部3より、要求された命令がCPU1に
供給されると同時にタグカウンタ4もカウントアップさ
れるようになっている。
【0045】CPU1から出力される行列アドレスとタ
グカウンタ4の行列アドレスは常時比較器5において比
較され、両者が一致(ヒット)したときには、図8(1)
のタイムチャートに概念的に示すように、CPU1から
出力された命令アドレスとタグカウンタ4の出力とが一
致しており命令は連続的に実行されることになる。
【0046】もしも分岐命令等により両者が不一致とな
った場合はミスヒット状態となるのでこれを受けてDP
VDRAM管理回路6がその行アドレスに対応する命令
をRAM2からレジスタ部31へ転送させ、このような
転送制御を繰り返しながらCPU1への命令供給を高速
に行う。
【0047】即ち、同図(2) に示すようにCPU1から
の命令アドレスが「11」から「31」にジャンプして
おり、この時点でミスヒットとなるので、該当する行ア
ドレスの命令がRAM2から内蔵シフトレジスタ部3に
転送され、この為にタグカウンタ4はCPUアドレスに
一致するようにプリセットされ、該当命令「13」がこ
の時点でCPU1に与えられる。このようにミスヒット
が発生した場合には、その命令に関するCPUの命令処
理時間が延長された形となる。
【0048】しかしながら、上述したように、図9(3)
に示すようにミスヒットが生じた最初の状態においては
同図(2) と同様の処理延長期間は必要であるものの、そ
の後は再び分岐命令に遭遇するまでの間は連続的にヒッ
トすることとなるのでミスヒット時の処理速度の低下を
最低限に抑えることが出来る。
【0049】また、上記の実施例の場合にはRAM2の
回路に2チャンネルのバスを用意し、即ちシフトレジス
タ部3の出力をCPUバスDBに接続し、RAM2のバ
スを外部周辺バスGDBへ接続しているのでCPUバス
と外部周辺バスとが独立する形となりCPUが命令をシ
フトレジスタ部より入力する際にCPUバスを使用する
間、外部周辺データバスGDBは自由となり、外部周辺
回路上に搭載されている回路がCPUの動作に影響を与
えることなくバスを使用することも可能となる。
【0050】尚、上記の実施例において用いた市販のD
PVDRAMは内部シフトレジスタ部3の列カウンタ3
3の値は外部から変更する機能は備えていない。従っ
て、仮にシフトレジスタ部3内に既にCPU1が要求す
る命令が存在したとしても現在の列カウンタ33の値を
その命令の列アドレスに変更して命令を出力させる事は
できない。この場合、ミスヒットになり、RAM2より
改めて該当行の命令が再登録される。しかし、列カウン
タ33の値を外部から変更する機能を持つDPVDRA
Mを作製すれば、シフトレジスタ部内に必要な命令が存
在する限りミスヒットする事はなくなり、さらに性能を
向上させる事ができる。
【0051】
【発明の効果】以上説明したように本発明に係るメモリ
処理装置によれば、CPUが今後使用するであろう命令
を予測して、予めシフトレジスタ部に格納しておき、シ
フトレジスタ部の高速性を利用してCPUに命令を供給
するものである。
【0052】このシフトレジスタ部は従来の命令キャッ
シュメモリにおける命令キャッシュ部の機能を司るもの
である。このようにシフトレジスタ部を命令キャッシュ
として使用する理由の一つは、命令を保持する装置とし
て行列構成のメモリに比較して、レジスタ構成の方が出
力要求を受けてから要求データを出力するまでのアクセ
スタイムが短いからである。
【0053】市販のシフトレジスタIC(例えばテキサ
スインスツルメント社SN74LS166)では12〜
13nsであり、メモリIC(例えば富士通社MB81
1000−12,15)では60〜150nsであるの
で、メモリICに比べシフトレジスタ部のアクセスタイ
ムは遙かに短い。
【0054】シフトレジスタが通常のメモリに比べて速
い理由は、行列構成の主メモリでは従来例のように出力
要求、即ちアドレスが与えられてから該当の命令が出力
段に現れるまでにアドレスの解読と内部行列状記憶要素
への指定信号の生成など複数の操作がある為、それだけ
処理時間が掛かるのに対し、シフトレジスタの場合は出
力要求、即ちシフトクロックを受けた段階で単純に保持
データを出力するだけで良い為である。
【0055】シフトレジスタを用いるもう一つの理由は
CPUが分岐命令に遭遇するまでは命令を順番に読み込
み処理する為に、次に続く命令を読み込み処理する事の
確率が高いことである。
【0056】即ち、本発明では順列している命令を出力
要求に応じて順番に出力できれば良い為、従来例のよう
にランダムアクセスは必要ではなく、上述の如くシフト
レジスタに登録された命令の並び順序通りに順番に命令
が実行されるであろうと予測されるときには、命令を順
番に読み込み処理することができる。
【0057】また、予測が外れた場合、即ち分岐命令の
実行時等の場合には主メモリからシフトレジスタ部への
命令の再登録が必要であり、その命令の実行時は性能低
下するが、従来の命令キャッシュメモリが主メモリに命
令の登録が終わり、再度登録済み命令が実行されるまで
の期間に実行される命令は全て主メモリを使用した低速
実行になるのに対し、本発明では予測が外れシフトレジ
スタ部を改新した時点では次に読み出される確率の高い
命令が先行してシフトレジスタ部に登録されている為、
予測が外れた時の命令のみ低速実行となる点で従来技術
とは大きく異なり、全体的性能を大幅に改善できる。ま
たプログラムも分岐が少なく、なるべく命令が順番に並
ぶ工夫をする事により、本発明をより有効に活用するこ
とが出来る。
【0058】更に本発明では、従来例の命令キャッシュ
メモリにおけるタグメモリ部の働きを司るカウンタを用
いており、命令はシフトレジスタ部から順番に出力され
る事が分かっている為、命令キャッシュメモリの場合の
様に、全てのタグを記憶しておく必要がなく、初期値を
キャッシュの改新時に設定してやれば後は命令の出力毎
にカウントアップさせる機能があれば良く、この機能を
実現するものとしてカウンタが用いられている。
【0059】更には、主メモリとシフトレジスタ部との
組合せとして市販のDPVDRAMを用いることができ
コストを低廉化することができ、主メモリのCPUバス
と該シフトレジスタ部のCPUバスとをバッファにより
切り離せば、それぞれ独立した動作を行うことができ、
CPUをより有効に使用することができる。
【図面の簡単な説明】
【図1】本発明に係るメモリ処理装置を原理的に示した
ブロック図である。
【図2】本発明に係るメモリ処理装置の動作(その1)
を示すブロック図である。
【図3】本発明に係るメモリ処理装置の動作(その2)
を示したブロック図である。
【図4】本発明に係るメモリ処理装置の動作(その3)
を示したブロック図である。
【図5】本発明に係るメモリ処理装置の動作(その4)
を示したブロック図である。
【図6】本発明のメモリアクセス例を示した図である。
【図7】本発明に係るメモリ処理装置の実施例を示した
ブロック図である。
【図8】本発明の動作を説明したタイムチャート図であ
る。
【図9】本発明と従来例の命令実行シーケンスを比較し
た図である。
【図10】メモリの一般的な説明図である。
【図11】命令キャッシュメモリを用いた従来例を示し
たブロック図である。
【図12】主メモリと命令キャッシュメモリのアドレス
の関係を示した図である。
【図13】従来例の動作(その1)を示したブロック図
である。
【図14】従来例の動作(その2)を示したブロック図
である。
【図15】従来例の動作(その3)を示したブロック図
である。
【図16】従来例の動作(その4)を示したブロック図
である。
【図17】従来例の動作(その5)を示したブロック図
である。
【図18】従来例の動作(その6)を示したブロック図
である。
【符号の説明】
1 CPU 2 主メモリ(RAM) 3 シフトレジスタ部 4 カウンタ 5 比較器 6 メモリ管理回路 10 デュアルポートビデオDRAM 11,12 バッファ 図中、同一符号は同一又は同一部分を示す。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年4月13日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】まず、図13に示すようなキャッシュ状態
において、命令「5」の読出動作がCPU1から指示さ
れたとすると、その行列アドレスは「10」(図12に
合わせて4ビットで表すと「0100」となるが、行ア
ドレスと列アドレスとをそれぞれ10進数で表したもの
を合わせて行列アドレスとして以下簡略化して示すもの
とする。)となり、まず行アドレス「1」と列アドレス
「0」によって指定されるタグメモリ部32のタグ
「0」とが比較器33で比較され、この結果、図示のよ
うにミスヒット(不一致)となるので、この命令キャッ
シュメモリ30は命令「5」が保持されていないことが
分かったことになる。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正内容】
【0028】また本発明では、該主メモリ2と該シフト
レジスタ部3との組合せとしてデュアルポートビデオD
RAM(以下、DPVDRAMと略称する)を用い、該
カウンタ4の列アドレスを出力する部分と同じ動作を行
う該DPVDRAM内の列カウンタの出力する列アドレ
スを該カウンタ4の列アドレスの代わりに用いてもよ
い。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0057
【補正方法】変更
【補正内容】
【0057】また、予測が外れた場合、即ち分岐命令の
実行時等の場合には主メモリからシフトレジスタ部への
命令の再登録が必要であり、その命令の実行時は性能低
下するが、従来の命令キャッシュメモリでは命令キャッ
シュメモリに命令の登録が終わり、再度登録済み命令が
実行されるまでの期間に実行される命令は全て主メモリ
を使用した低速実行になるのに対し、本発明では予測が
外れシフトレジスタ部を改新した時点では次に読み出さ
れる確率の高い命令が先行してシフトレジスタ部に登録
されている為、予測が外れた時の命令のみ低速実行とな
る点で従来技術とは大きく異なり、全体的性能を大幅に
改善できる。またプログラムも分岐が少なく、なるべく
命令が順番に並ぶ工夫をする事により、本発明をより有
効に活用することが出来る。
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正内容】
【図2】
【手続補正6】
【補正対象書類名】図面
【補正対象項目名】図3
【補正方法】変更
【補正内容】
【図3】
【手続補正7】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図16
【補正方法】変更
【補正内容】
【図16】

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 CPU(1) から指定される上位アドレス
    及び下位アドレスにそれぞれ対応した行アドレス及び列
    アドレスによってアクセスされる主メモリ(2) と、 該主メモリ(2) の各行アドレス毎の命令をラッチするシ
    フトレジスタ部(3) と、 行アドレス及び列アドレスを記憶するカウンタ(4) と、 該CPU(1) からの行列アドレスと該カウンタ(4) に記
    憶されている行列アドレスとの一致/不一致を検出する
    と共に一致検出時には該カウンタ(4) をカウントアップ
    させ不一致検出時には該カウンタ(4) を該CPU(1) か
    らの行列アドレスに一致させる比較器(5) と、 該比較器(5) が一致検出したときには該シフトレジスタ
    部(3) にラッチされている命令の内の該カウンタ(4) の
    列アドレスで指定された命令を該シフトレジスタ部(3)
    から読み出して該CPU(1) に供給し、該比較器(5) が
    不一致検出したときには該CPU(1) からの行アドレス
    に対応する命令を該シフトレジスタ部(3) に同時に転送
    させるメモリ管理回路(6) と、 を備えたことを特徴とするメモリ処理装置。
  2. 【請求項2】 該主メモリ(2) と該シフトレジスタ部
    (3) との組合せとしてデュアルポートビデオDRAMを
    用い、該カウンタ(4) のアドレスを出力する部分と同じ
    動作を行う該デュアルポートビデオDRAM内の列カウ
    ンタのアドレスを該カウンタ(4) の列アドレスの代わり
    に用いることを特徴とした請求項1に記載のメモリ処理
    装置。
  3. 【請求項3】 該主メモリ(2) のCPUバスと該シフト
    レジスタ部(3) のCPUバスとをバッファにより切り離
    したことを特徴とする請求項1又は2に記載のメモリ処
    理装置。
JP4178505A 1992-07-06 1992-07-06 メモリ処理装置 Pending JPH0628252A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4178505A JPH0628252A (ja) 1992-07-06 1992-07-06 メモリ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4178505A JPH0628252A (ja) 1992-07-06 1992-07-06 メモリ処理装置

Publications (1)

Publication Number Publication Date
JPH0628252A true JPH0628252A (ja) 1994-02-04

Family

ID=16049641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4178505A Pending JPH0628252A (ja) 1992-07-06 1992-07-06 メモリ処理装置

Country Status (1)

Country Link
JP (1) JPH0628252A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5989928A (en) * 1995-10-20 1999-11-23 Hitachi, Ltd. Method and device for detecting end point of plasma treatment, method and device for manufacturing semiconductor device, and semiconductor device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01259425A (ja) * 1988-04-11 1989-10-17 Sharp Corp コンピュータ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01259425A (ja) * 1988-04-11 1989-10-17 Sharp Corp コンピュータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5989928A (en) * 1995-10-20 1999-11-23 Hitachi, Ltd. Method and device for detecting end point of plasma treatment, method and device for manufacturing semiconductor device, and semiconductor device

Similar Documents

Publication Publication Date Title
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US5555392A (en) Method and apparatus for a line based non-blocking data cache
KR100190351B1 (ko) 2-레벨 캐시 메모리의 방해 감소장치 및 방법
US6161166A (en) Instruction cache for multithreaded processor
US4888679A (en) Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
US4583165A (en) Apparatus and method for controlling storage access in a multilevel storage system
JP2646854B2 (ja) マイクロプロセッサ
US6622211B2 (en) Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty
US4453230A (en) Address conversion system
EP0407119B1 (en) Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access
US6868472B1 (en) Method of Controlling and addressing a cache memory which acts as a random address memory to increase an access speed to a main memory
US5535350A (en) Cache memory unit including a replacement address register and address update circuitry for reduced cache overhead
US7836253B2 (en) Cache memory having pipeline structure and method for controlling the same
US7447844B2 (en) Data processing system, processor and method of data processing in which local memory access requests are serviced on a fixed schedule
US6370617B1 (en) Non-stalling pipeline tag controller
US4831622A (en) Apparatus for forcing a reload from main memory upon cache memory error
JP3449487B2 (ja) 変換索引緩衝機構
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
EP0167089B1 (en) Memory access control system and method for an information processing apparatus
US6751700B2 (en) Date processor and storage system including a set associative cache with memory aliasing
JPH0532775B2 (ja)
US6882589B2 (en) Prefetch buffer
US6839806B2 (en) Cache system with a cache tag memory and a cache tag buffer
US6480940B1 (en) Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module
US6745313B2 (en) Absolute address bits kept in branch history table

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19950516