JPH03156652A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH03156652A
JPH03156652A JP1295009A JP29500989A JPH03156652A JP H03156652 A JPH03156652 A JP H03156652A JP 1295009 A JP1295009 A JP 1295009A JP 29500989 A JP29500989 A JP 29500989A JP H03156652 A JPH03156652 A JP H03156652A
Authority
JP
Japan
Prior art keywords
data
memory
cache
microprocessor
microinstructions
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
JP1295009A
Other languages
English (en)
Inventor
Katsuichi Tomobe
勝一 友部
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1295009A priority Critical patent/JPH03156652A/ja
Publication of JPH03156652A publication Critical patent/JPH03156652A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプロセッサ、ことにキャッシュ制御
機能もしくはキャッシュコントローラを持つマイクロプ
ロセッサに関する。
〔従来技術〕
DRAM (ダイナミック・ランダム・アクセス・メモ
リ)のような大容量メモリのアクセス速度に対してマイ
クロプロセッサの動作速度が高速化の一途を辿る今日、
メモリを階層化してメモリへの高速アクセスを実現する
ためにキャッシュメモリ方式が採用されている。このキ
ャッシュメモリ方式は、例えば昭和59年11月30日
オーム社発行のrLSIハンドブックJ P548〜P
549に記載されるように、メインメモリの格納データ
のうち、マイクロプロセッサによるアクセス頻度の高い
データを、小容量且つ高速なSRAM(スタティック・
ランダム・アクセス・メモリ)を主体とするキャッシュ
メモリに一時的に蓄え、マイクロプロセッサがそのキャ
ッシュメモリをアクセスすることにより当該キャッシュ
メモリのアクセスタイムにほぼ等しい速度で所要のデー
タをアクセス可能にする。
斯るキャッシュメモリを持つシステムにおいて、マイク
ロプロセッサによるメモリアクセス時にキャッシュメモ
リの内容を参照したり管理したりする制御機能はキャッ
シュコントローラが司る。即ちキャッシュコントローラ
は、マイクロプロセッサがアクセスしようとするデータ
がキャッシュメモリに格納されている(キャツシュヒツ
ト)か。
格納されていない(キャッシュミス)かの判定を行うと
共に、キャツシュヒツト時にはキャッシュメモリをアク
セスさせ、また、キャッシュミス時にはメインメモリを
アクセスさせると共に当該データによってキャッシュメ
モリの内容を更新したりする。
ところで、一般的にマイクロプロセッサが利用するデー
タのアドレスは比較的近接しているということが経験的
に知られている。このため、キャッシュミスが生じた場
合には、そのときのアクセスアドレス近辺のデータも一
緒にキャッシュメモリにブロック転送(バースト転送)
しておくと、キャツシュヒツト率を高めることができる
。このようなブロック転送を行うには、DRAMにて成
るメインメモリに対してニブルモードやページモードな
どを設定してやればよい。
〔発明が解決しようとする課題〕
しかしながら従来は、キャッシュミス時にデータブロッ
ク転送を行ってキャッシュメモリを更新しても、そのと
きマイクロプロセッサに与えられるデータは先頭の1群
のデータだけであった0例えばデータ転送が1ワ一ド単
位で行われる場合に4ワードのデータがブロック転送さ
れてキャッシュメモリが更新されるとき、マイクロプロ
セッサには最初の1ワードデータが与えら九るだけであ
った。このとき、マイクロプロセッサが斯るブロック転
送された第2番目以降のデータをも必要とする場合には
、マイクロプロセッサは新たなバスサイクルを起動して
所要のデータをキャッシュメモリから読み込まなければ
ならない、これにより。
キャッシュミスである場合には最初のデータを得るのに
低速メインメモリのアクセス動作を待ち、その上さらに
別のメモリサイクルをも起動しなければならなくなって
、キャッシュミスを伴うデータ処理効率が低下してしま
うという問題点のあることが本発明者によって明らかに
された。
本発明の目的は、データ処理上データ転送単位ビット数
を越えたデータを必要とするような場合に、キャッシュ
ミスによって生ずる動作の遅れを最小限にとどめること
ができるマイクロプロセッサを提供することにある。
本発明の前記ならびにそのほかの目的と新規な特徴は本
明細書の記述及び添付図面から明らかになるであろう。
〔課題を解決するための手段〕
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば下記の通りである。
すなわち、キャッシュ制御機能を持つマイクロプロセッ
サにおいて、キャッシュミスに応じてメインメモリをア
クセスし、データブロック転送にてキャッシュメモリを
更新するとき、ブロック転送されるデータのうち第1番
目のデータのほかに少なくとも第2番目のデータも直接
内部レジスタに取り込むようにするものである。
内蔵マイクロROMのほかにキャッシュメモリ又はメイ
ンメモリからマイクロ命令を複数個のマイクロ命令レジ
スタに取り込む形式を持つマイクロプロセッサに適用す
る場合には、キャッシュメモリからマイクロ命令をアク
セスするときのキャッシュミスに応じて、メインメモリ
からのデータブロック転送にてキャッシュメモリを更新
するとき、ブロック転送されるマイクロ命令を前記複数
個のマイクロ命令レジスタに直接取り込むようにすれば
よい。
メモリアクセス動作さらにはデータ処理動作をを一層高
速化するには、前記キャッシュメモリをマイクロプロセ
ッサと同一半導体基板に内蔵させるとよい。
〔作 用〕
上記した手段によれば、データ処理上データ転送単位ビ
ット数を越えたビット数のデータ必要とするようなとき
にキャッシュミスを生じて、所要データがメインメモリ
からブロック転送されるとき、ブロック転送されるデー
タのうち第1番目のデータのほかに少なくとも第2番目
のデータも直接内部レジスタに取り込まれることは、そ
のデータブロック転送にて更新されたキャッシュメモリ
をその後からアクセスして第2番目のデータを読み込む
ためのメモリアクセス動作を行わなくても済むように作
用する。即ち、データ処理上データ転送単位ビット数を
越えたデータを必要とするようなときにキャッシュミス
を生ずると、低速メインメモリのアクセス動作を待つ必
要があるけれども、第2番目以降のデータを得るには更
に別のメモリアクセスサイクルを起動しなくても済む。
これにより、データ処理上キャッシュミスによって生ず
る動作の遅れを最小限に抑えることを達成するものであ
る。
〔実施例〕
第1図には本発明に係るマイクロプロセッサの一実施例
が示される。同図に示されるマイクロプロセッサ1は、
特に制限されないが、公知の半導体集積回路製造技術に
よってシリコンのような1個の半導体基板に形成されて
いる。
前記マイクロプロセッサ1は、特に制限されないが、マ
イクロプログラム制御によってその内部動作手順が決定
されるようになっている。即ち、命令フェッチ制御を介
して外部から読込んだマクロ命令をデコードする命令制
御部2がマイクロ命令アドレスを生成し、これを受ける
マイクロROM3からマイクロ命令が読出され、セレク
タ4A。
4Bを介してマイクロ命令がマイクロ命令レジスタ5A
、5Bに保持される。これに保持されたマイクロ命令は
マイクロシーケンス制御部6に含まれるマイクロデコー
ダによってデコードされ、そのデコード結果が実行部8
などの内部回路への制御信号として供給される。第2番
目以降のマイクロ命令のアドレスはその直前に読み出さ
れたマイクロ命令に含まれるネタストアドレスフィール
ドの情報によって特定され、マイクロROM3に与えら
れる。前記マイクロシーケンス制御部6は、マイクロ命
令の分岐制御なども行うようになっている。尚、実行部
8には演算器や各種レジスタが含まれている。
ここでマイクロプロセッサ1の内部データバス7は例え
ば32ビツトとされ、また、マイクロ命令は最大64ビ
ツトとされる。本実施例においてマイクロ命令はマイク
ロROM3のほかに外部からも与えられるようになって
おり、前記セレクタ4A、4BがマイクロROM3の出
力又は内部データバス7を介して与えられるマイクロ命
令を選択し5選択されたマイクロ命令は夫々32ビツト
構成の前記マイクロ命令レジスタ5A、5Bに保持され
る。
本実施例のマイクロプロセッサ1は、メモリインタフェ
ース制御回路10、アドレスレジスタ11、及び比較回
路12などによって実現されるキャッシュ制御機能を持
つ。前記メモリインタフェース制御回路10は、命令制
御部2から指示される命令フェッチのためのメモリアク
セス制御や。
マイクロ命令のデコード結果に従ったメモリアクセス制
御を行うもので、メモリアクセスに際して。
キャツシュヒツトかキャッシュミスかの判定を行うと共
に、キャツシュヒツト時にはキャッシュメモリ13をア
クセスさせ、また、キャッシュミス時にはメインメモリ
14をアクセスさせると共に当該データによってキャッ
シュメモリ13の内容を更新したりする。前記キャッシ
ュメモリ13はSRAMによって構成されるディレクト
リメモリ13A及びデータメモリ13Bから成り、前記
メインメモリ14は大記憶容量のDRAMによって構成
される。
前記アドレスレジスタ11にはメモリに対するアクセス
アドレスがセットされる。ここで、アドレスレジスタ1
1にセットされるアドレスは、アドレスタグ値、セット
インデックス値、データメモリアクセス値を含んでいる
。データメモリ13Bにはアドレスレジスタ11に保持
されているアドレスの内データメモリアクセス値が供給
され、これに従ってアドレシングされる。前記ディレク
トリメモリ13Aは、アドレスレジスタ11に保持され
ているアドレスのセットインデックス値をデコードして
、対応するセットのアドレスタグ値を出力する。前記比
較回路12はディレクトリメモリ13Aから出力される
アドレスタグ値と、そのときアドレスレジスタ11から
出力されるアドレスタグ値とを比較してその結果をメモ
リインタフェース制御回路10に与える。メモリインタ
フェース制御回路10はその比較結果が一致していす1
3Bから出力されるデータを入出力バッファ15を介し
て内部データバス7に与える。不一致の場合にはキャッ
シュミスとされ、その旨がメモリインタフェース制御回
路10からマイクロシーケンス制御部6に伝達され、こ
れにより、そのアドレスレジスタ11の値に従って、メ
インメモリ14から該当するデータが人出力バッフ71
6を介して内部データバス7に与えられると共に、ディ
レクトリメモリ13Aやデータメモリ13Bのセットが
更新される。尚、第1図において17〜20は出力バッ
ファ、21は入力バッファであり。
また22は前記人出カバソファ16と内部データバス7
との間に配置されたデータ入力ラッチ回路である。
マイクロプロセッサ1のキャッシュ制御機能において、
キャッシュミス時には、これに応じてメインメモリ14
をアクセスするとき当該メインメモリ14にニブルモー
ドやページモードのような動作モードが設定されて、3
2ビツト(1ワード)のデータが連続して4ワ一ド分ブ
ロック転送され。
これによってキャッシュメモリ13が更新されるように
なっている。これは、メインメモリを構成するダイナミ
ックRAMの高速ページやニブル等の機能を用いること
により高速にキャッシュの内容を更新でき、かつデータ
の局所性によりターゲットデータの前後のデータも一緒
に転送することによりキャツシュヒツト率を向上させる
ためである。
特に、上記キャッシュミス時における動作においてその
メモリアクセスがマイクロ命令のアクセスである場合に
は、ブロック転送される4ワードのデータのうち第1番
目のデータはマイクロ命令レジスタ5Aにも与えられ、
そして第2番目のデータはマイクロ命令レジスタ5Bに
も与えられるようになっている。
次に外部に対するマイクロ命令アクセス時にキャッシュ
ミスを生ずる場合の動作を説明する。
前記マイクロシーケンス制御部6が所要マイクロ命令の
アドレスが外部アドレス空間にあると判定すると、メモ
リインタフェース制御部10に外部からマイクロ命令を
読み込む動作を要求する。
これによりメモリインタフェース制御回路10は、それ
よりも優先順位の高いメモリアクセス要求がない場合に
その要求を受は付けてメモリアクセスを開始する。先ず
、アドレスレジスタ11にそのマイクロ命令をアクセス
するためのアドレスがセットされ、そのセットインデッ
クス値により前記ディレクトリメモリ13Aがアクセス
されて該セットインデックス値に対応するセットのアド
レスタグ値が出力され、その出力タグ値と、そのときア
ドレスレジスタ11から出力されるアドレスタグ値との
一致/不一致が比較回路12で判定される。
−Mしている場合には(キャツシュヒツト)、アドレス
レジスタ11に保持されているアドレスの内データメモ
リアクセス値によってデータメモリ13Bがアクセスさ
れ、これにより所要のマイクロ命令が内部データバス7
に与えられる。ここでデータメモリ13Bは1ブロツク
128ビツトとされ、32ビツト毎にマツピングされて
いる。
マイクロ命令は64ビツトであり1ブロツクに2命令入
っているため2回のサイクルに分けてデータが読み出さ
れる。したがってキャツシュヒツトの場合、最大64ビ
ツトのマイクロ命令の上位32ビツトが最初にマイクロ
命令レジスタ5Aに格納され、その後に下位32ビツト
がマイクロ命令レジスタ5Bに格納される。
比較回路12での判定の結果不一致である場合には(キ
ャッシュミス)、データメモリ13Bの1ブロツク分を
更新するため、そのアドレスレジスタ11の値に従って
、ニブルモードやページモードなどによりメインメモリ
14から該当するデータが32ビツトづつ4回に分けて
合計4ワード(32ビツトとする)分読み出される。内
部データバス7に読み出された4ワ一ド分のデータはメ
モリインタフェース制御回路10の指示に従ってデータ
メモリ13に書き込まれ、さらにこれに呼応してディレ
クトリメモリ13Aのタグ部も更新される。このとき、
メモリインタフェース制御回路10は、ブロック転送さ
れる4ワードのデータのうち第1番目の32ビツトデー
タをマイクロ命令レジスタ5Aに与え、そして第2番目
の32ビツトデータをマイクロ命令レジスタ5Bに与え
る。
このようにして所要のマイクロ命令がレジスタ5A、5
Bにフェッチされると、マイクロ命令のアクセス完了を
意味する情報がメモリインタフェース制御回路10から
シーケンス制御部6に知らされて次の動作が行われる。
上記実施例によれば以下の作用効果がある。
(1)データ処理上データ転送単位ビット数を超えるマ
イクロ命令を外部からアクセスするときにキャッシュミ
スを生じ、これにより所要マイクロ命令をメインメモリ
14からブロック転送するとき、32ビット単位で4回
に分けて連続的にブロック転送される4ワードデータの
うち第1番目の32ビツトデータのほかに第2番目の3
2ビツトデータも直接マイクロ命令レジスタ5A、5B
に取り込まれるから、従来のようにそのデータブロック
転送にて更新されたキャッシュメモリ13のデータメモ
リ13Bをその後からアクセスして第2番目の32ビツ
トデータを読み込むためのメモリアクセス動作を行わな
くても済む。
(2)上記作用効果により、データ処理上データ転送単
位ビット数を超えたマイクロ命令を外部からフェッチし
なければならないときにキャッシュミスが生じても、低
速メインメモリ14のアクセス動作を待つ必要があるけ
れども、ブロック転送される第2番目の32ビツトデー
タを得るために更に別のメモリアクセスサイクルを起動
しなくても済み、これによりマイクロ命令のフェッチか
らデコードに至る動作の遅れを最小限に抑えることがで
きる。
以上本発明者によってなされた発明を実施例に基づいて
具体的に説明したが本発明はそれに限定されるものでは
なく、その要旨を逸脱しない範囲において種々変更可能
であることは言うまでもない。
例えば上記実施例ではキャッシュメモリ13をマイクロ
プロセッサ1の外部に配置したが、これをマイクロプロ
セッサ1に内蔵させていもよい。
また、ディレクトリメモリ13Aだけを内蔵させてもよ
い。このようにすることにより、メモリアクセス動作さ
らにはメモリアクセス動作を含むデータ処理動作を一層
高速化することができる。また、マイクロプロセッサに
はその他所要の周辺回路を含めてもよい。また、上記実
施例ではキャッシュミスに応じてブロック転送されるデ
ータを取り込む内部レジスタとしてマイクロ命令レジス
タを一例として説明したが、本発明はそれに限定される
ものではなく、その他の内部レジスタであってもよく、
また取り込まれるデータはマイクロ命令に限定されない
。さらに、ブロック転送されるデータの数は4ワード1
28ビツトに限定されず、またキャッシュミス時におけ
るブロック転送でデータが取り込まれる内部レジスタは
2個に限定されず、適宜変更することができる。
以上本発明者によってなされた発明をその背景となった
利用分野である、マイクロ命令を外部からも取込み可能
なマイクロプロセッサに適用した場合について説明した
が1本発明はそれに限定されるものではなく、マイクロ
コンピュータなどの各種マイクロプロセッサに広く適用
することができる。本発明は少なくともキャッシュ制御
機能を備えるという条件のマイクロプロセッサに適用す
ることができる。
〔発明の効果〕
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。
すなわち、キャッシュミスに応じてメインメモリをアク
セスし、データブロック転送にてキャッシュメモリを更
新するとき、ブロック転送されるデータのうち第1番目
のデータのほかに少なくとも第2番目のデータも直接内
部レジスタに取り込むようにするから、データ処理上デ
ータ転送単位ビット数を超えたデータを必要とするとき
にキャッシュミスを生じても、それによって生ずるデー
タ処理動作の遅れを最小限に抑えることができるという
効果がある。
特に、マイクロ命令を外部からもフェッチする形式のマ
イクロプロセッサに本発明を適用することにより、キャ
ッシュミス時におけるマイクロ命令フェッチ動作の遅れ
を最小限に抑えて命令実行の遅れを改善することができ
る。
また、前記キャッシュメモリをマイクロプロセッサと同
じ半導体基板に内蔵させることにより、メモリアクセス
動作さらにはメモリアクセス動作を含むデータ処理動作
を一層高速化することができる。
【図面の簡単な説明】
第1図は本発明に係るマイクロプロセッサの一実施例ブ
ロック図である。 ■・・・マイクロプロセッサ、3・・・マイクロROM
、5A、5B・・・マイクロ命令レジスタ、6・・・マ
イクロシーケンス制御部、7・・・ナイブデータバス、
10・・・メモリインタフェース制御回路、11・・・
アドレスレジスタ、12・・・比較回路、13・・・キ
ャッシュメモリ、13A・・・ディレクトリメモリ、1
3B・・・データメモリ、14・・・メインメモリ。

Claims (1)

  1. 【特許請求の範囲】 1、キャッシュ制御機能を持つマイクロプロセッサにお
    いて、 キャッシュミスに応じてメインメモリをアクセスし、デ
    ータブロック転送にてキャッシュメモリを更新するとき
    、ブロック転送されるデータのうち第1番目のデータの
    ほかに少なくとも第2番目のデータも直接内部レジスタ
    に取り込むようにされて成るマイクロプロセッサ。 2、構成ビット数が内部データバスのビット数よりも多
    いマイクロ命令を、内蔵マイクロROMのほかにキャッ
    シュメモリ又はメインメモリから取り込み可能なマイク
    ロ命令レジスタを備え、当該マイクロ命令レジスタに取
    り込まれたマイクロ命令に従ってデータ処理を行うと共
    に、キャッシュ制御機能を持つマイクロプロセッサにお
    いて、 キャッシュメモリからマイクロ命令をアクセスするとき
    のキャッシュミスに応じて、メインメモリからのデータ
    ブロック転送にてキャッシュメモリを更新するとき、ブ
    ロック転送されるマイクロ命令を前記マイクロ命令レジ
    スタに直接取り込むようにされて成るマイクロプロセッ
    サ。 3、前記キャッシュメモリを同一半導体基板に内蔵して
    成る請求項1又は2記載のマイクロプロセッサ。
JP1295009A 1989-11-15 1989-11-15 マイクロプロセッサ Pending JPH03156652A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1295009A JPH03156652A (ja) 1989-11-15 1989-11-15 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1295009A JPH03156652A (ja) 1989-11-15 1989-11-15 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH03156652A true JPH03156652A (ja) 1991-07-04

Family

ID=17815156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1295009A Pending JPH03156652A (ja) 1989-11-15 1989-11-15 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH03156652A (ja)

Similar Documents

Publication Publication Date Title
US6317819B1 (en) Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction
US20080270707A1 (en) Data processor
KR100341948B1 (ko) 제어된버스트메모리액세스기능을갖는데이타처리기및그방법
US20020116595A1 (en) Digital signal processor integrated circuit
US4742454A (en) Apparatus for buffer control bypass
JP2002509312A (ja) 不整列データ・アクセスを実行するためのデータ整列バッファを有するディジタル信号プロセッサ
JPS63150731A (ja) コンピュータシステムおよびその実行方法
JPH01503011A (ja) キャッシュマネッジメントシステムを含むデジタルデータ処理システム用汎用プロセッサユニット
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US7444442B2 (en) Data packing in a 32-bit DMA architecture
JP2001075866A (ja) 記憶装置を動作する方法および記憶装置
US5012410A (en) Data processor with instruction cache memory
US4737908A (en) Buffer memory control system
US4853889A (en) Arrangement and method for speeding the operation of branch instructions
JPH03156652A (ja) マイクロプロセッサ
US7085887B2 (en) Processor and processor method of operation
EP0318702A2 (en) Data processor with direct data transfer between coprocessor and memory
JP2851777B2 (ja) バス制御方法及び情報処理装置
JP3039391B2 (ja) メモリシステム
JPH08227376A (ja) コンピュータシステム及びその動作方法
JP2778623B2 (ja) プリフェッチ制御装置
JPS6410858B2 (ja)
JPH10111798A (ja) 情報処理装置
JPH0461384B2 (ja)
JP2680909B2 (ja) 緩衝記憶装置