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

マイクロプロセッサ

Info

Publication number
JPH1091573A
JPH1091573A JP8243374A JP24337496A JPH1091573A JP H1091573 A JPH1091573 A JP H1091573A JP 8243374 A JP8243374 A JP 8243374A JP 24337496 A JP24337496 A JP 24337496A JP H1091573 A JPH1091573 A JP H1091573A
Authority
JP
Japan
Prior art keywords
bus
memory
internal
external
data
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.)
Granted
Application number
JP8243374A
Other languages
English (en)
Other versions
JP3934710B2 (ja
Inventor
Yukari Takada
由香里 高田
Mitsugi Sato
佐藤  貢
Hiroiku Kondou
弘郁 近藤
Katsunori Sawai
克典 澤井
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP24337496A priority Critical patent/JP3934710B2/ja
Priority to TW086101011A priority patent/TW442731B/zh
Priority to US08/803,858 priority patent/US5915099A/en
Priority to KR1019970008102A priority patent/KR100239841B1/ko
Priority to CN97113401A priority patent/CN1103967C/zh
Publication of JPH1091573A publication Critical patent/JPH1091573A/ja
Application granted granted Critical
Publication of JP3934710B2 publication Critical patent/JP3934710B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 外部にもバスマスタが存在するマイクロプロ
セッサにDRAM及びキャッシュを内蔵する。 【解決手段】 マイクロプロセッサ101において、ラ
イトバッファ5を介してセレクタ7が、またDRAM2
7、キャッシュ28、IQ8が、それぞれバスID
〈0:127〉に接続されている。バスID〈0:12
7〉と、マイクロプロセッサ101と外部メモリ4、外
部バスマスタ41とはデータバスD<0:15>で結ば
れるが、ここにはBIU3が介在している。マイクロプ
ロセッサ101と、外部メモリ4、外部バスマスタ41
とはアドレスバス58、制御バス56,57によっても
結ばれている。BIU3はマイクロプロセッサが内蔵す
るメモリや、その外部に接続されるメモリに対するアク
セスを制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はマイクロプロセッ
サに関し、特にメモリ及びキャッシュメモリを内蔵した
マイクロプロセッサにおいて、そのメモリに外部からア
クセスしたり、命令/データをキャッシュに登録したり
するバスインタフェースに関する。
【0002】
【従来の技術】従来から、メモリを内蔵したマイクロプ
ロセッサが知られている。例えば、図27はRAMを内
蔵したマイクロプロセッサの構成を示すブロック図であ
る。マイクロプロセッサ201はCPU1、内蔵RAM
29、バス59、及びバスインタフェースユニット(B
IU)39を備えている。内蔵RAM29は例えばプロ
グラムRAM(ROMを含む)であったり、データRA
M(ROMを含む)であったりする。但し、1クロック
でアクセスされ得るように、内蔵RAM29にはSRA
Mが使用されていた。内蔵RAM29のメモリ領域はア
ドレスで指定され、これへのアクセスは命令によって指
示される。
【0003】またマイクロプロセッサ201の外部には
バス60を介して外部メモリ4が設けられることもあ
る。外部メモリ4には例えばDRAMが使用されてお
り、これを制御するためにDRAMコントローラ、DM
AC(DMAコントローラ)等がマイクロプロセッサ2
01に内蔵されている場合がある。
【0004】図28はキャッシュメモリ(以下では単に
「キャッシュ」とする)を内蔵したマイクロプロセッサ
の構成を示すブロック図である。マイクロプロセッサ2
02はCPU1、キャッシュ28、バス59、及びBI
U39を備えており、マイクロプロセッサ202の外部
にはバス60を介して外部メモリ4が設けられている。
キャッシュ28はマイクロプロセッサ202が使用する
命令やデータを外部メモリ4からキャッシングする。
【0005】
【発明が解決しようとする課題】勿論、内蔵RAM29
とキャッシュ28との両方を内蔵し、キャッシュ28が
内蔵RAM29からキャッシングすることも可能であ
る。しかし、内蔵RAM29はROMまたはSRAMで
構成されており、1クロック程度でアクセスできるた
め、キャッシングする必要はなかった。
【0006】SRAMは1セルの面積がDRAMに比べ
て大きく、大容量を集積する個とができない。そこでC
PUコアとDRAMを1チップに集積し、大容量のメモ
リを集積したマイクロプロセッサが必要となる。ここで
DRAMはアクセススピードが遅く、メモリアクセスの
時間がCPUの性能を落とす大きな原因となる。
【0007】また、マイクロプロセッサに内蔵されたC
PUのみならず、外部にもバスマスタ(メモリに対して
バスを介してアクセスすることができる制御手段)が存
在する場合には、それぞれのバスマスタとメモリとの間
の信号の伝達を別個に行えば、マイクロプロセッサに必
要なピン数が増大してしまうという問題点がある。
【0008】本願ではかかる問題点を解決するものであ
り、DRAM及びキャッシュを内蔵し、大容量、低速の
DRAMと小容量、高速のキャッシュを1チップに集積
してCPUの性能を引き出すことを目的とする。またそ
のキャッシングの態様を選択させることによりキャッシ
ングするデータの種類を選ぶことができるマイクロプロ
セッサや、内蔵するメモリに対するバスマスタが外部に
設けられても、あるいは外部メモリを接続し、ピン数を
増大させないで内蔵メモリと外部メモリの使用方法(メ
インプログラム、データ等をどのメモリに格納するか)
を変えることができるマイクロプロセッサや、バスマス
タが内部に複数存在するマイクロプロセッサを提供する
ことを目的とするものである。
【0009】
【課題を解決するための手段】この発明のうち請求項1
にかかるものは、内蔵メモリと、前記メモリに接続され
る内部バスと、前記内蔵メモリに対して前記内部バスを
介してアクセスする内部バスマスタと、前記内部バスの
動作を制御するバスインタフェースとを備えるマイクロ
プロセッサである。そして外部バスマスタ及び外部メモ
リが外部バスを介して前記マイクロプロセッサの外部に
接続される。前記マイクロプロセッサは前記内蔵メモリ
と前記外部メモリのデータを登録するキャッシュメモリ
を更に備える。前記バスインタフェースは(a)前記内
部バスと等しい幅のバッファを有し、(b)前記外部バ
スマスタからの内蔵メモリアクセス要求と前記内部バス
マスタの内蔵メモリアクセス要求を調停し、(c)前記
バッファと外部バスマスタとが前記外部バスを介してア
クセスしている間は内部バスマスタからの前記内蔵メモ
リ及び前記キャッシュへのアクセス要求を受け付ける。
【0010】この発明のうち請求項2にかかるものは、
請求項1記載のマイクロプロセッサであって、前記外部
バスマスタが前記内蔵メモリをアクセスする場合と、前
記内部バスマスタが前記外部メモリをアクセスする場合
とで両者のアクセスを制御する制御信号が共用される。
【0011】この発明のうち請求項3にかかるものは、
請求項1記載のマイクロプロセッサであって、前記外部
バスマスタが指定する複数のアドレスが、前記バッファ
の容量で決まる所定のアドレス境界を跨ぐ場合には、前
記バッファに蓄えられたデータが一旦放出される。
【0012】この発明のうち請求項4にかかるものは、
内蔵メモリと、前記メモリに接続される内部バスと、前
記内蔵メモリに対して前記内部バスを介してアクセスす
る第1及び第2の内部バスマスタと、前記内部バスの動
作を制御するバスインタフェースとを備えるマイクロプ
ロセッサである。そして前記バスインタフェースは、前
記第1の内部バスマスタの前記内部メモリに対するアク
セス要求が有効である場合には前記第2の内部バスマス
タの前記内部メモリに対するアクセス要求を無効にする
メモリアクセス制御手段を有する。
【0013】この発明のうち請求項5にかかるものは内
蔵メモリと、前記内蔵メモリに接続される内部バスと、
前記内部バスに接続されたキャッシュメモリと、前記内
蔵メモリに対して前記内部バスを介してアクセスする内
部バスマスタと、前記内部バスの動作を制御するバスイ
ンタフェースとを備えるマイクロプロセッサである。そ
して外部バスマスタ及び外部メモリが外部バスを介して
前記マイクロプロセッサの外部に接続される。前記マイ
クロプロセッサは前記内蔵メモリと前記外部メモリのデ
ータを登録するキャッシュメモリを更に備える。前記バ
スインタフェースは、前記内部バスマスタによる前記内
蔵メモリに対するアクセス要求及び前記外部バスマスタ
による前記内蔵メモリに対するアクセス要求、並びにキ
ャッシュモードを指定する情報に基づいて前記キャッシ
ュメモリのキャッシング対象を指定する登録信号を発生
する。
【0014】
【発明の実施の形態】
実施の形態1.図1は本発明の実施の形態1にかかるマ
イクロプロセッサの構成の概要を示すブロック図であ
る。マイクロプロセッサ101はDRAM27、キャッ
シュ28、CPU1、命令キュー(IQ)8、セレクタ
7、積和演算部(MAC:Multiply and ACcumulater)
6、BIU3、PLL11を有している。
【0015】CPU1は例えば32ビットのデータを取
り扱うRISC型マイクロプロセッサコアであり、命令
長は16ビットあるいは32ビットである。IQ8は例
えば128ビット×2エントリの構成を有しており、バ
スID〈0:127〉からデータ(命令を含む)を入力
し、16ビットまたは32ビットの態様でバスI<0:
31>を介してCPU1に転送する。
【0016】図2は命令の構成を例示する模式図であ
る。アドレス境界をまたぐ命令は許されないので、命令
の配置としては図2に示されるように2通りしかない。
【0017】セレクタ7はバスID〈0:127〉に載
る128ビットのデータのうち、必要な32ビット分の
みを選択してCPU1に転送したり、CPU1から出力
された32ビットのデータをバスID〈0:127〉に
おいて適切な位置に出力する。これらの32ビットのデ
ータの伝達はバスDO<0:31>を介して行われる。
MAC6は例えば32ビット×16ビット+56ビット
の積和演算を1クロックで処理し、CPU1に付随して
設けられる。
【0018】キャッシュ28は例えばSRAMで構成さ
れ、ライトバック(write back)方式、即ち書き込みが
キャッシュに対してだけ行われ、キャッシュで変更され
たデータは置き換えの対象となったときに主たる記憶装
置に書き込まれる方式が採用される。TAG部を有し、
ここにはキャッシングすべきデータのアドレスの一部
(tag)とvalidビット、dirtyビットが保
持される。データがキャッシュ28に登録(fill)され
るとvalidビットがセットされ、登録されている領
域に新たなデータがストアされればdirtyビットが
セットされる。キャッシュヒットした場合には1クロッ
クでデータを引き出すことができる。DRAM27は例
えば2Mbyteの容量を有する。
【0019】128ビットの容量を有するライトバッフ
ァ5を介してセレクタ7が、またDRAM27、キャッ
シュ28、IQ8が、それぞれバスID〈0:127〉
に接続されている。このバスID〈0:127〉と、マ
イクロプロセッサ101とその外部(例えば外部メモリ
4、外部バスマスタ41)とを結ぶデータバスD<0:
15>との間にBIU3が設けられている。マイクロプ
ロセッサ101と、外部メモリ4、外部バスマスタ41
とはアドレスバス58、制御バス56,57によっても
結ばれている。
【0020】BIU3はマイクロプロセッサが内蔵する
メモリや、その外部に接続されるメモリに対するアクセ
スを制御する。16ビットのバスD<0:15>と12
8ビットのバスID〈0:127〉との整合を採るため
に、BIU3は128ビットのバッファ301を有して
いる。またBIU3はバッファ301とバスID〈0:
127〉との間に介在するIDバスドライバ302をも
有しており、その動作は制御ブロック303によって制
御される。制御ブロック303はDRAM27、キャッ
シュ28に対して書き込み/読み出し指令(信号R/W
バー)、登録指令を与える機能をも有する。
【0021】PLL11はマイクロプロセッサの動作ク
ロックを生成する。例えば内部CPU等の動作に4逓倍
したクロックを生成し、外部とのアクセス用に入力クロ
ック同じ周波数のクロックを生成する。
【0022】図3(a)〜(d)は、命令の処理を示す
模式図である。命令はパイプライン制御で処理される。
パイプライン制御は、例えば命令フェッチ(IF)、命
令デコード(D)、実行(E)、メモリアクセス(ME
M)、汎用レジスタへのライトバック(WB)の5段階
で構成される。
【0023】CPU1はRISC型のアーキテクチャを
有し、メモリに対するオペランドアクセスはload/
store系の命令のみで発生する。図3(a)はlo
ad命令でオペランドがキャッシュヒットし、メモリに
存在したデータが1サイクルで転送できた場合を示す。
同図(b)はメモリに存在したデータのアクセスに複数
クロックかかった場合を示す。同図(c)はメモリに対
するアクセスを発生しない命令の場合を示す。同図
(d)は実行に複数のクロックを要する命令、例えば乗
算命令や除算命令の場合を示す。
【0024】(1)命令/データの転送.CPU1がフ
ェッチする命令がキャッシュ28にヒットした場合は、
キャッシュ28からクロック1サイクル分でバスID
〈0:127〉を介してIQ8に転送される。
【0025】CPU1がフェッチする命令がDRAM2
7にある場合は、1回のアクセス(例えばクロック5サ
イクル分を要する)でDRAMからバスID〈0:12
7〉を介してIQ8に転送される。
【0026】CPU1がフェッチする命令が外部メモリ
4にある場合は、バースト転送で外部メモリ4からフェ
ッチし、BIU3のバッファ301に順番に蓄えられ
る。バッファ301がフルになると(128ビット分の
命令が蓄えられると)IQ8に128ビット分の命令が
転送される。またこの命令をキャッシングする場合は同
時にキャッシュ28にも転送される。
【0027】図4は例えばIQ8が2エントリ×128
ビットの容量を有している場合の命令の転送を示すブロ
ック図である。DRAM27(或いはキャッシュ28)
からも、128ビットの容量を有するバッファ301か
らも命令が転送される様子が示されている。
【0028】図5は、CPU1がすぐに命令を必要とし
ている場合(IQ8が空の場合)に、命令が外部メモリ
4から転送される様子を示すブロック図である。BIU
3の有する制御ブロック303は、CPU1から命令を
フェッチする要求を示す信号IFetchを入力し、こ
れがアサートされると外部メモリ4に対してバススター
ト信号BSバーをアサートする(バススタート信号BS
バーは例えば図1に示された制御バス56によって伝達
される)。この後、BIU3の有するバッファ301に
はバスD<0:15>を介して命令が転送される。IQ
8から制御ブロック303に伝達される、IQ8が空の
状態を示す信号IQemptyがアサートされれば、I
Dバスドライバ302に対してドライブ信号及びドライ
ブサイズ信号が制御ブロック303から与えられる。
【0029】ドライブサイズ信号は16ビットで構成さ
れ、バッファ301に蓄えられる128ビットのデータ
は16個の8ビットのデータとして把握され、8ビット
単位で必要な情報が指定される。そしてドライブ信号に
基づいて、この指定された情報がバスID<0:127
>に転送される。例えばドライブサイズ信号の2ビット
分が活性化し、8×2=16ビット分がバスID〈0:
127〉を通ってIQ8へと転送される。CPU1が更
に命令のフェッチを要求すれば、更に16ビットがIQ
8に転送される。その後、CPU1がすぐに命令を必要
としなくなれば(信号IQemptyがネゲート)、外
部メモリ4からバースト転送されてきたデータがバッフ
ァ301をフルにし、その後にIQ8へ転送される。制
御ブロック303には外部メモリ4から制御バス56を
介してデータ転送完了信号DCバーも受ける。
【0030】勿論、IQ8が空か否かのチェックをせ
ず、常に最初の命令のみを先に転送し、バッファ301
がフルになれば128ビットをキャッシュ28へと転送
して書き込んでもよい。
【0031】図1に戻り、CPU1がデータをリードす
る場合、DRAM27またはキャッシュ28にデータが
存在すれば、必要なデータを含む128ビットがバスI
D〈0:127〉を介してセレクタ7に転送される。セ
レクタ7では必要な32ビットのデータをCPU1に送
る。必要なデータが外部メモリ4にある場合には、バッ
ファ301に32ビットのデータが蓄えられ、これがバ
スID〈0:127〉を通ってCPU1に転送される。
【0032】データのサイズは8ビット/16ビット/
32ビットの3種類があり、外部メモリから読み出す
際、32ビットの場合は外部アクセスが2回必要とな
り、8ビット/16ビットの場合は1回のアクセスでバ
ッファ301からバスID〈0:127〉を介してCP
U1に転送される。
【0033】CPU1が32ビットのデータをメモリ
(DRAM27或いはキャッシュ28)に書き込む場
合、対応するバスID〈0:127〉の対応する位置に
セレクタ7がこのデータを出力する。この際、ライトバ
ッファ5に書き込むべきデータを蓄えてから転送するこ
ともできる。つまり、ライトバッファ5からはバスID
〈0:127〉が空いているときにデータが転送され
る。外部メモリ4に出力する場合はバッファ301にい
ったんラッチされ、16ビットずつバスD<0:15>
に出力されることになる。
【0034】(2)外部バスマスタからマイクロプロセ
ッサの内蔵するDRAMへのアクセス.マイクロプロセ
ッサ101の内蔵するDRAM27はCPU1だけでな
く外部のバスマスタからも、マイクロプロセッサ101
の命令とは無関係に直接アクセスすることができる。バ
スマスタはバスを介してメモリをアクセスする権利をも
っており、例えばDMAC(Direct Memory Access Con
troler)やプロセッサ、メモリコントローラなどが挙げ
られる。
【0035】図1に示されるように外部バスマスタ41
はデータバスD<0:15>、アドレスバス58、制御
バス57を介してマイクロプロセッサ101と接続され
る。外部バスマスタ41はマイクロプロセッサ101に
対してアクセス要求を出し、受け付けられるとDRAM
27に対して直接アクセスすることができる。以下に、
CPU1および外部バスマスタ41がDRAM27と外
部メモリ4をアクセスする際の各アクセスのプロトコル
について説明する。
【0036】(2−a)CPU1がDRAM27をアク
セスする場合:従来から行われているプロトコルであ
り、まずCPU1からのアクセス要求が出され、これ
に対してBIU3が許可をし、BIU3の制御でI
D〈0:127〉バスを使ってDRAM27のデータが
CPU1に転送される。
【0037】(2−b)CPU1が外部メモリ4からデ
ータを読み出す場合:図6はCPU1が外部メモリ4か
らデータを読み出す場合のプロトコルを示すタイミング
チャートである。クロックは入力クロックを示す。まず
CPU1からBIU3へアクセス要求が出され、B
IU3からCPU1へアクセス許可が送られる。そして
制御バス56を介してBIU3から外部メモリ4へ送
られるバススタート信号BSバーがアサートし、リード
ライト信号R/Wバーが外部メモリ4にリード動作を要
求し、バイトコントロール信号BC(バスD<0:15
>,ID<0:127>に伝達される16ビットを2つ
の8ビット(=1バイト)の信号として把握し、その一
方または両方を指定する信号)の値が決定される。ま
た、アドレスバス58を介してアドレスA1,A2,A
3がマイクロプロセッサ101から出力される。アドレ
スA1,A2,A3に対応して、バイトコントロール信
号BCは変化しても良い。
【0038】マイクロプロセッサ101からのアクセス
要求を受けて、外部メモリ4はアドレスA1,A2,
A3に対応する読み出しデータD1,D2,D3をバス
D<0:15>に伝達させ、その度にデータ転送完了信
号DCバーがアサートされる。そしてデータD1,D
2,D3がバスID〈0:127〉を介してCPU1へ
転送される。
【0039】(2−c)CPU1が外部メモリ4にデー
タを書き込む場合:図7はCPU1が外部メモリ4にデ
ータを書き込む場合のプロトコルを示すタイミングチャ
ートである。工程,は(2−b)と同様である。そ
してCPU1からバスID〈0:127〉を介して書
き込まれるべきデータ(書き込みデータ)がBIU3へ
転送される。更にバススタート信号BSバーがアサー
トし、リードライト信号R/Wバーが外部メモリ4に書
き込み動作を要求し、バイトコントロール信号BCの値
が決定される。アドレスA1,A2,A3がアドレスバ
ス58を介して、またこれらに対応する書き込みデータ
D1,D2,D3がバスD<0:15>を介して、それ
ぞれマイクロプロセッサ101から出力される。
【0040】マイクロプロセッサ101からのアクセス
要求を受けて、外部メモリ4にデータD1,D2,D
3が書き込まれ、その度にデータ転送完了信号DCバー
がアサートされる。
【0041】(2−d)外部バスマスタ41からDRA
M27にデータを書き込む場合:図8は外部バスマスタ
41からDRAM27にデータを書き込む場合のプロト
コルを示すタイミングチャートである。まず外部バス
マスタ41からの受け付け要求を示すHalt Request信号
HREQバーがアサートする。これに対応してマイクロ
プロセッサ101から受付を許可するHREQ Acknowledge
信号HACKバーがアサートする。そして外部バスマス
タ41からチップセレクト信号CSバーがアサートす
る。これらは制御バス57を介してマイクロプロセッサ
101と外部バスマスタ41との間を伝達する。
【0042】次いで外部バスマスタ41からマイクロ
プロセッサ101へと伝達されるリードライト信号R/
WバーがDRAM27に対して書き込み動作を要求し、
アドレスA1,A2,A3及びこれらに対応する書き込
みデータD1,D2,D3がマイクロプロセッサ101
へと伝達される。そしてマイクロプロセッサ101か
らデータ転送完了信号DCバーがアサートされる。
【0043】図9は外部バスマスタ41によるアクセス
が終了する場合を示すタイミングチャートである。チ
ップセレクト信号CSバー、Halt Request信号HREQ
バーがネゲートし、マイクロプロセッサ101の受け
付けも終了する(HREQ Ack信号HACKバーがネゲート
する)。
【0044】図10は、バッファ301の構成を示すブ
ロック図である。バッファ301は128ビットの容量
を有する一方、データバスD<0:15>が16ビット
のビット幅を有する。よってバッファ301は容量が1
6ビットの8個のラッチ301a〜301hと、それぞ
れに対応するセレクタ301p〜301wとを有してお
り、外部バスマスタ41の与えるアドレスの値に応じ
て、バスD<0:15>に載るデータをラッチ301a
〜301hに格納する。
【0045】例えば一つのアドレスに対して指定される
データの幅は8ビットであり、一つのラッチにはアドレ
ス2つ分のデータが格納できる。つまり、一対の隣接す
るアドレスに対応するデータが同一のラッチに格納され
ることになる。このような動作を実現するため、バッフ
ァ301はセレクタ制御部301xを更に有しており、
これがアドレスの下位4ビットの内、最下位ビットを除
く3ビットの値に基づいてセレクタ301p〜301w
にそれぞれセレクタ制御信号B0〜B7を与える。セレ
クタ制御信号B0〜B7は択一的に活性化し、バスD<
0:15>に載った8ビットのデータをラッチ301a
〜301hのいずれかに格納する。
【0046】(2−e)外部バスマスタ41がDRAM
27からデータを読み出す場合:図11は外部バスマス
タ41がDRAM27からデータを読み出す場合のプロ
トコルを示すタイミングチャートである。工程は(2
−d)と同様である。そして外部バスマスタ41から
マイクロプロセッサ101へと伝達されるリードライト
信号R/WバーがDRAM27に対して読み出し動作を
要求し、アドレスA1,A2,A3がマイクロプロセッ
サ101へと伝達される。そしてこれらに対応するデ
ータD1,D2,D3が読み出され、マイクロプロセッ
サ101からこれらが出力され、データ転送完了信号D
Cバーがアサートされる。工程,も(2−d)と同
様である。
【0047】外部バスマスタ41とバッファ301がバ
スD<0:15>を介してリード/ライトしている場合
に、CPU1のキャッシュ28、DRAM27に対する
アクセスをBIU3は受け付ける。外部バスマスタ41
がDRAM27をリードする場合、DRAM27のデー
タ、若しくはキャッシュヒット下場合にはキャッシュ2
8のデータがバッファ301へ転送される。バッファ3
01は128ビット、バスD<0:15>は16ビット
であり、外部バスマスタ41の要求がバッファ301内
のいくつかのデータ読み出しである場合はバスID
〈0:127〉は使用されない。このため、例えばCP
U1がDRAM27から命令をフェッチしたいときには
BIU3はこの要求を受け付け、バスID〈0:12
7〉を介してDRAM27(キャッシュヒットした場合
にはキャッシュ28)から命令を転送する。
【0048】外部バスマスタ41がDRA27にライト
する場合も同様に、バッファ301にデータを蓄積中は
バスID〈0:127〉を使用して、CPU1、DRA
M27、キャッシュ28の間のデータ/命令の転送をす
ることができる。図23は外部バスマスタ41からのリ
ードとCPU1のリードアクセス要求の様子を示すタイ
ミングチャートである。外部バスマスタ41から指定さ
れたアドレスA1,A2,A3がアドレス境界を越えず
(アドレス同士が所定の範囲内に存在する場合であり、
詳細は(2−f)で後述する)、それぞれに対応するデ
ータD1,D2,D3が一度に読み出され(DRAM
(キャッシュ)アクセス要求の左端のアサート)、バス
ID〈0:127〉に載り、その後バッファ301に蓄
積される。
【0049】この後はバスID〈0:127〉が未使用
となっているので、CPUからのアクセス要求に対して
DRAMアクセス要求がアサートし(真ん中に位置する
アサート)、この要求に対応したデータD_CPUが読
み出されてバスID〈0:127〉に載る。一方、バッ
ファ301から外部バスマスタ41へのデータD1,D
2,D3の転送が行われることになる。
【0050】そしてアドレスA1,A2,A3に対して
アドレス境界を越えたアドレスA5についてのDRAM
(キャッシュ)アクセス要求がアサートし(右端に位置
するアサート)、これに対応するデータD5が読み出さ
れてバスID〈0:127〉に載り、バッファ301へ
と蓄積される。
【0051】後述する図22に示された外部アクセス制
御回路303gではアドレス比較結果とアクセス種類検
出結果、リフレッシュ要求を受けて、外部アクセス要求
及び内部バス未使用信号を生成する。この内部バス未使
用信号は外部バスアクセスに内部バスを使用していない
状態、または外部バスマスタ41のアクセスアドレスが
アドレス境界を跨がないアクセスの処理中であり、内部
バスが未使用であることを示す。この信号がアサートさ
れている間はCPU1のアクセス要求を受けてDRAM
27、キャッシュ28がアクセスされる。
【0052】(2−f)外部バスマスタ41の与えるア
ドレスが、アドレス境界を超える場合の外部バスマスタ
からDRAM27への書き込み:図10を用いて説明さ
れたように、下位4ビットが連続するアドレスに対応す
る16個の8ビット幅のデータはバッファ301に格納
される。しかし、例えばアドレスが24ビット幅である
とすると、上位20ビットが同一であればこれらの16
個×8ビット=128ビットのデータをまとめてDRA
M27に転送しても良いが、アドレスの上位20ビット
が異なっている場合にこれらをまとめて転送すること
は、誤ったアドレスにデータを与えることとなり、回避
されなければならない。つまり、外部バスマスタ41の
アドレスの値が16ビットの境界(データに換算すれば
16×8=128ビットの境界:本明細書では単に「ア
ドレス境界」ともいう)を越える場合には、それまでバ
ッファ301が蓄えていたデータを一旦放出する必要が
ある。
【0053】図12はかかる動作を行う為の手段を示す
ブロック図であり、マイクロプロセッサ101はアドレ
スバッファ51と、アドレス比較器52とを更に備えて
いる。アドレスバッファ51はアドレスバス58から2
4ビット幅のアドレスの上位20ビットを受け、常に現
在のアドレスの一つ前のアドレスの上位20ビットを出
力する。アドレス比較器52はアドレスバッファ51の
出力を、現在のアドレスの上位20ビットと比較する。
【0054】両者が一致すれば、外部バスマスタ41の
アドレスの値が16ビットのアドレス境界を越えていな
いので、バッファ301に対するデータの格納は引き続
いて行われる。しかし一致しない場合には、バッファ3
01に対して、現在格納しているデータをバスID<
0:127>を介してDRAM27に転送するように制
御する。この際、制御ブロック303はDRAM27に
対してDRAM27が書き込み動作をするようにリード
ライト信号R/Wバーを与える。
【0055】図13は上記の動作を示すタイミングチャ
ートである。アドレスA1〜A4の上位20ビットは同
一であり、アドレスA5の上位20ビットがこれと異な
る場合が想定されている。バッファ301はアドレスA
1〜A4に対応するデータD1〜D4を格納していた
が、アドレスA5が与えられた時点で(アドレス境界を
越えた時点で)バスID<0:127>にはこれらのデ
ータD1〜D4が一挙に与えられる。なお、チップセレ
クト信号CSバーがアサートしている間は信号HREQ
バーHACKバーがアサートしている。
【0056】その後、DRAM27に対するアクセス要
求がアサートし、これらのデータがDRAM27に書き
込まれ、制御ブロック303から外部バスマスタ41へ
与えられるデータ転送完了信号DCバーがネゲートする
(時刻t4〜t5)。
【0057】そして、アドレスA5に対応するデータD
5がバッファ301に格納され、外部バスマスタ41か
らのアクセス要求が終了した時点(チップセレクト信号
CSバーがネゲート)で、バッファ301の格納してい
たデータA5がバスID〈0:127〉を介してDRA
M27に転送される(データ転送完了信号DCバーがア
サート、その後、DRAM27に対するアクセス要求が
ネゲート:時刻t5〜t6)。
【0058】(2−g)外部バスマスタ41の与えるア
ドレスが、アドレス境界を超える場合の外部バスマスタ
41のDRAM27からの読み出し:図14は外部バス
マスタ41がDRAM27からデータを読み出す場合
に、そのアドレスの上位20ビットが変動した場合(ア
ドレス境界を越えた場合)の動作を示すタイミングチャ
ートである。外部バスマスタ41のリード要求(チップ
セレクト信号CSバーがアサート)がなされ、制御ブロ
ック303はDRAM27に対してDRAM27が読み
出し動作をするようにリードライト信号R/Wバーを与
える。
【0059】DRAM27に対するアクセス要求がアサ
ートし、いずれも上位20ビットが等しい24ビットの
アドレスA1,A2,A3のそれぞれに対応するデータ
D1,D2,D3がバスID<0:127>に与えられ
る(時刻t0〜時刻t1)。但し、アドレスA5はその
上位20ビットがアドレスA1,A2,A3とは異なる
ので、時刻t1においてはまだバスID<0:127>
には載っていない。データ転送完了信号DCバーがアサ
ートした状態のまま、データD1,D2,D3がバッフ
ァ301を介して外部へと転送される。DRAM27に
対するアクセス要求は一旦ネゲートする(時刻t1)。
【0060】アドレスA5が外部バスマスタ41へと転
送される際、アドレス境界を越えることになるので、一
旦データ転送完了信号DCバーがネゲートし、DRAM
27に対するアクセス要求が再度アサートする(時刻t
2)。そしてバスID<0:127>にはDRAM27
からアドレスA5に対応するデータD5が与えられ、こ
れがバッファ301に格納される。その一方でデータD
5が外部に転送されればアクセス要求が終了する(チッ
プセレクト信号CSバーがネゲート。時刻t3)。
【0061】大まかに言えば、最大128ビットのデー
タがDRAM27から読み出され、バッファ301に格
納される(例えば上記データD1,D2,D3)。デー
タは外部バスマスタ41から要求されるアドレスの値に
応じ、対応する16ビット(一つのラッチが格納するア
ドレス2つ分)のデータを出力する。外部バスマスタ4
1から要求されるアドレスがアドレス境界を越えた場合
に、新しいデータ(例えば上記データD5)がDRAM
27からバッファ301に転送され、外部バスマスタへ
16ビットずつ出力される。
【0062】以上の様に、本実施の形態にかかるマイク
ロプロセッサによれば、内蔵するDRAM27を自身の
CPU1のみならず、外部バスマスタ41によってもア
クセスすることができ、またCPU1によって外部メモ
リ4にアクセスすることもできる。しかも、リードライ
ト信号R/Wバーやバイトコントロール信号BCを共用
できるので、必要なピン数が増大してしまうということ
はない。
【0063】また、内部のデータバスID<0:127
>と外部のデータバスD<0:15>とのビット幅が異
なっていても、バッファ301を制御することで、デー
タを内部に転送することができる。
【0064】また、アドレスが所定のアドレス境界を越
えても、誤ったデータの転送が行われることを回避でき
る。
【0065】実施の形態2.実施の形態2では各種モー
ドの変更のしかたについて説明される。図15はマイク
ロプロセッサ101のアドレス空間を示す模式図であ
る。論理アドレスは16進の32ビットの数(32/l
og2 16=8桁)で表される。ユーザー空間としての
論理空間00000000〜80000000番地(S
ID=0)のうち、マイクロプロセッサ101に内蔵さ
れるDRAM27の物理空間として00000000〜
001FFFFF番地が割り当てられる。また、外部メ
モリ4の為の空間として00200000〜00FFF
FFF番地が割り当てられる。よってこれら2つのメモ
リに対するアドレス空間は、(2)で説明されたような
24ビットのアドレス(論理アドレスの下位6桁)で指
定され得ることになる。
【0066】また、ユーザー用のI/O空間としてFF
000000〜FF7FFFFF番地が、ICE(In C
ircuit Emulator)用空間としてFF800000〜F
FBFFFFF番地が、そしてFFC00000〜FF
FFFFFF番地において内蔵制御レジスタの為の物理
空間が、それぞれ割り当てられる。これらの割当は、I
/O空間(SID=1)において行われている。
【0067】図16は内蔵制御レジスタのアドレス空間
の一部を示す模式図である。番地FFFFFFF4,F
FFFFFF8,FFFFFFFCにおいて、それぞれ
キャッシュパージ制御、DRAMリフレッシュ制御、メ
モリ制御の為のデータMSPR,MDRR,MCCR
(各1バイト)が格納される。
【0068】図17は各データMSPR,MDRR,M
CCRの構成の詳細を示す模式図である。データMSP
Rの第7番目のビットにはパージ制御を行うか否かを示
す1ビットの値が、データMDRRの第7番目のビット
にはリフレッシュ制御を行うか否かを示す1ビットの値
が、データMCCRの第6番目及び第7番目のビットに
はキャッシュモードの種類を示す2ビットの値が、それ
ぞれ格納される。
【0069】以下の実施の形態では、これらの各データ
MSPR,MDRR,MCCRに基づく制御について説
明する。
【0070】(3)キャッシュモードの変更:上記デー
タMCCRに基づいて制御を行うことにより、マイクロ
プロセッサ101はキャッシングするデータの種類に従
って、キャッシュモードを切り替えることができる。例
えばキャッシュモードとしては以下のモードを考えるこ
とができる。
【0071】i)キャッシュオフモード;キャッシングし
ないモードである。 ii)全メモリ共用キャッシュモード;CPU1が外部メ
モリ4、DRAM27に対してアクセスした命令/デー
タおよび外部バスマスタ41がDRAM27に対して読
み/書きしたデータをキャッシングするモードである。 iii)共用キャッシュモード;外部メモリ4、DRAM2
7を問わず、CPU1がアクセスした命令/データをキ
ャッシングするモードである。 iV)命令キャッシュモード;外部メモリ4、DRAM2
7を問わず、CPU1がアクセスした命令をキャッシン
グするモードである。 V)データキャッシュモード;外部メモリ4、DRAM2
7を問わず、CPU1がアクセスしたデータをキャッシ
ングするモードである。 vi)内部共用キャッシュモード;DRAM27にあって
CPU1がアクセスした命令/データをキャッシングす
るモードである。 vii)内部命令キャッシュモード;DRAM27にあって
CPU1がアクセスした命令をキャッシングするモード
である。 viii)内部データキャッシュモード;DRAM27にあ
ってCPU1がアクセスしたデータをキャッシングする
モードである。 ix)外部共用キャッシュモード;外部メモリ4にありC
PU1がアクセスした命令/データをキャッシングする
モードである。 x)外部命令キャッシュモード;外部メモリ4にありCP
U1がアクセスした命令をキャッシングするモードであ
る。 xi)外部データキャッシュモード;外部メモリ4にあり
CPU1がアクセスしたデータをキャッシングするモー
ドである。 xii)外部メモリキャッシュモード;外部メモリ4にあり
CPU1がアクセスした命令/データおよび外部バスマ
スタ41がDRAM27に書き込んだデータをキャッシ
ングするモードである。 xiii)内部メモリキャッシュモード;DRAM27にあ
ってCPU1がアクセスした命令/データおよび外部バ
スマスタ41がDRAM27から読み出したデータをキ
ャッシングするモードである。 xiv)外部バスマスタキャッシュモード;外部バスマスタ
41がDRAM27に対して読み/書きしたデータをキ
ャッシングするモードである。 データMCCRの第6番目及び7番目のビットに格納さ
れる2ビットの値を参照することにより、これらのキャ
ッシュモードの中から、i)キャッシュオフモードと、v
i)内部共用キャッシュモードと、x)外部命令キャッシュ
モードと、iV)命令キャッシュモードの4種類を選択す
ることができる。
【0072】図18は制御ブロック303の構成の一部
を示すブロック図である。図15を用いて示されたよう
にDRAM27と外部メモリ4とのアドレス空間は区分
されるので、アドレスデコーダ303bによって、両者
の何れがアクセスの対象となるのかが判別される。その
判別結果はアクセス種類検出回路303dに与えられ
る。また、アクセス主体判定部303cは、アクセスの
主体がCPU1であるのか、外部バスマスタ41である
のかを判定し、その結果をアクセス種類検出回路303
dに与える。
【0073】アクセス種類検出回路303dは、アドレ
スデコーダ303bの判別結果及びアクセス主体判定部
303cの判定結果に基づいて、バスID<0:127
>に載った信号は、何が要求する命令であるのか、ある
いはデータであるのか等の情報C3をキャッシュアクセ
ス制御回路303eに与える。
【0074】一方キャッシュモードデコード回路303
aは、データMCCRの下位2ビットの値に基づいて、
如何なるキャッシュモードが要求されるかについての情
報C1をキャッシュアクセス制御回路303eに対して
与える。キャッシュアクセス制御回路303eは情報C
1,C3に基づいて、DRAM27のデータをキャッシ
ングするのか(vi)内部共用キャッシュモード)、外部
メモリ4の命令をキャッシングするのか(x)外部命令キ
ャッシュモード)、外部メモリ4、DRAM27を問わ
ず、CPU1がアクセスした命令をキャッシングするの
か(iV)命令キャッシュモード)、或いは全くキャッシ
ングを行わないのか(i)キャッシュオフモード)を制御
する登録信号C2をキャッシュ28に与える。
【0075】図19乃至図21はそれぞれvi)内部共用
キャッシュモード、x)外部命令キャッシュモード、iV)
命令キャッシュモードを採用する場合のマイクロプロセ
ッサ101の構成を模式的に示すブロック図である。キ
ャッシュ28は、図19においてはDRAM27とバス
ID<0:127>との間に、図20においてはBIU
3とバスID<0:127>との間に、図21において
はCPU1とDRAM27及びBIU3との間に、それ
ぞれ介在する態様を模式的に採っている。
【0076】データバスD<0:15>、制御バス5
6,57、アドレスバス58がまとめて描かれている
が、その上に示されたような各信号HREQ,HAC
K,アドレス、データ(命令も含む)、その他の信号B
C、R/Wバー、CS等の制御信号がこれらのバスを介
して伝達される。
【0077】(3−a)vi)内部共用キャッシュモード
について;DRAM27に対してCPU1がアクセスし
た命令/データをキャッシングするモードであり、DR
AM27にプログラムが入っている場合に使用される
(図19)。
【0078】CPU1がフェッチする命令がDRAM2
7にある場合には、BIU3の制御でまずキャッシュヒ
ットするかどうかがチェックされる。ヒットする場合は
キャッシュ28からバスID〈0:127〉にその命令
が出力され、IQ8(図19ではCPU1に含んでいる
ものとして示されている)に転送される。
【0079】キャッシュミスの場合はDRAM27から
キャッシュ28およびCPU1に転送される。例えばキ
ャッシュ28は256(=28)エントリ×128ビッ
ト=4Kバイトの容量をもつ。24ビットのアドレスI
AD〈7:31〉の内の8ビットIAD〈20:27〉
がエントリアドレスとなる。アドレスIAD〈7:3
1〉の内の13ビットIAD〈7:19〉はtagとし
て登録される。DRAM27から読み出した128ビッ
トのデータがキャッシュ28に書き込まれる。このとき
IAD〈20:27〉が示すエントリについてのval
idビットがセットされる。
【0080】CPU1がDRAM27のデータをリード
する場合には、命令をフェッチする場合と同様にキャッ
シュヒットをチェックし、ヒットの場合はキャッシュ2
8から、ミスの場合はDRAM27から読み出す。
【0081】CPU1がDRAM27にデータを書き込
む場合は、キャッシュヒットするかどうかがチェックさ
れる。ヒットする場合は書き込みデータをキャッシュ2
8の対応するエントリの128ビットの一部に書き込
み、このエントリのdirtyビットがセットされる。
dirtyビットがセットされているエントリのデータ
はこのエントリに次のキャッシュデータを登録する際に
書き戻される(ライトバック)。ミスする場合には書き
込みデータがDRAM27に書き込まれる。
【0082】ライトバックを行う代わりに、図17で示
された信号MSPRの7番目のビットのpurge命令
でDRAM27に書き戻すこともできる。
【0083】(3−b)x)外部命令キャッシュモードに
ついて;外部メモリ4内にある命令がキャッシュ28に
キャッシングされる。例えば外部メモリ4として命令R
OMをおき、DRAM27にはデータをおいた場合に採
用される(図20)。
【0084】CPU1が外部メモリ4に対して命令をフ
ェッチする場合、キャッシュヒットをチェックし、ヒッ
トの場合はキャッシュ28から、ミスの場合は外部メモ
リ4からフェッチする。外部メモリ4からフェッチされ
る命令は、キャッシュ28に登録するためにバースト転
送によってマイクロプロセッサ101に伝達され、12
8ビット分がBIU3に保持されてキャッシュ28に転
送される。
【0085】(3−c)iV)命令キャッシュモードにつ
いて;CPU1がフェッチした命令をキャッシングする
モードであり、DRAM27および外部メモリ4に命令
を置く場合に採用される(図21)。CPU1がフェッ
チを要求する命令がキャッシュヒットするかどうかをチ
ェックし、ヒットする場合はキャッシュ28から、ミス
の場合はDRAM27または外部メモリ4からフェッチ
する。外部メモリ4からの命令のフェッチは(3−b)
と同様であり、DRAM27からの命令のフェッチは1
回の読み出しで128ビット分がキャッシュ28登録さ
れる。
【0086】なお各キャッシュモードにおいて、DRA
M27、外部メモリ4のうちキャッシングされるべきで
ない領域(例えばキャッシングしてもライトバックが頻
繁になって却って処理速度が悪化するデータを記憶する
領域)をキャッシュ28がキャッシングしないように、
ノンキャッシャブルな領域をアドレスによって指定する
こともできる。勿論、かかる領域がアクセスされた場合
に、通常マイクロプロセッサに設けられているノンキャ
ッシャブルピンをアサートすることでキャッシングを回
避することもできる。
【0087】以上の様に、本実施の形態にかかるマイク
ロプロセッサによれば、DRAM27及びキャッシュ2
8を内蔵し、そのキャッシングの態様を選択することが
できる。
【0088】実施の形態3. (4)リフレッシュ:マイクロプロセッサ101にリフ
レッシュ制御の為のリフレッシュタイマ26を付加する
こともできる。図22は制御ブロック303の構成と、
これにリフレッシュ要求を与えるリフレッシュタイマ2
6との関係を示すブロック図である。図22においては
制御ブロック303が図18に示された構成に対し、更
にDRAMアクセス制御回路303f、外部アクセス制
御回路303gを有している構成が示されており、リフ
レッシュタイマ26は直接にはDRAMアクセス制御回
路303fにリフレッシュ要求を与えている。
【0089】図24はかかるリフレッシュタイマ26や
制御ブロック303を有するBIU3を備えたマイクロ
プロセッサ102の構成を例示するブロック図である。
リフレッシュタイマ26は所定の期間ごとにDRAM2
7をリフレッシュするように要求し、リフレッシュタイ
マ26はCPU1や外部バスマスタ41とは独立して、
DRAM7に対するバスマスタとなる。つまり第1の内
部バスマスタとしてCPU1が、第2のバスマスタとし
てリフレッシュタイマ26が、それぞれ機能する。かか
るリフレッシュ要求はデータMDRRの第7番目のビッ
トの値に基づいて行われる。
【0090】図24はDRAM27がリフレッシュされ
る状態でのアクセスの態様を示している。つまりDRA
M27のリフレッシュ中はその他のバスマスタ、例えば
CPU1や外部バスマスタ41はDRAM27をアクセ
スできない。しかしバスID<0:127>が占有され
ているわけではないので、CPU1からのキャッシュ2
8へのアクセスや外部メモリ4へのアクセスは可能であ
る。また外部バスマスタ41がDRAM27をアクセス
し、それがキャッシュ28にヒットした場合も処理する
ことができる。
【0091】図22に戻って説明すると、DRAMアク
セス制御回路303fはリフレッシュタイマ26からの
リフレッシュ要求がネゲートされている場合には、情報
C3に基づいてDRAMアクセス要求をDRAM27へ
与える。しかしリフレッシュ要求がアサートされている
場合にはDRAMアクセス要求は無効にされ、DRAM
27へ与えられるリフレッシュ信号をアサートしてRA
M27をリフレッシュする。このようにしてDRAM2
7のリフレッシュ中はその他のバスマスタがDRAM2
7にアクセスすることが禁止される。
【0092】キャッシュアクセス制御回路303e、外
部アクセス制御回路303gも情報C3に基づいてそれ
ぞれキャッシュ登録信号をキャッシュ28へ、外部アク
セス要求を外部メモリ4、外部バスマスタ41へ伝達さ
れる。これらの信号により、リフレッシュ信号がアサー
トしている場合には、DRAM27からキャッシュ28
へのキャッシングや、外部バスマスタ41からDRAM
27へのアクセスが禁止される。つまりリフレッシュ中
はDRAM27へのアクセスを伴わないアクセス要求の
みが受け付けられる。
【0093】以上のように本実施の形態にかかるマイク
ロプロセッサによれば、バスマスタが内部に複数(例え
ばCPU1とリフレッシュタイマ26)存在してもマイ
クロプロセッサの動作を制御することができる。
【0094】(5)パージ:データMSPRの第7番目
のビットの値がパージ制御を行うことを指定してる場
合、キャッシュがライトバック方式であれば、キャッシ
ュにあってdirtyビットがセットされているデータ
がDRAM27に書き戻される。そしてvalidビッ
トのセットが解除される。この際、キャッシュ28から
DRAM27へまたはキャッシュ28から外部メモリ4
へデータが転送されるため、バスID〈0:127〉が
占有され、バスマスタはDRAM27や外部メモリ4に
アクセスすることができない。
【0095】キャッシュがライトスルー方式であれば、
DRAM27や外部メモリ4にも更新されるデータが書
き込まれ、パージ制御を行えばキャッシュ28のエント
リに対するvalidビットのセットが解除される。
【0096】その他の変形. (6)セパレートキャッシュ:図25は本発明にいわゆ
るハーバードアーキテクチャを採用した場合の構成を例
示するブロック図である。マイクロプロセッサ103に
おいてキャッシュメモリは、いずれも2KBの命令キャ
ッシュ28bとデータキャッシュ28aにセパレートし
て構成することができる。命令キャッシュ28bは命令
のみが載る命令バスII<0:127>を介して、デー
タキャッシュ28aは命令以外のデータのみが載るデー
タバスID<0:127>を介して、それぞれDRAM
27、CPU1、BIU3と接続されている。
【0097】キャッシュモードは各キャッシュ28a,
28bに対して、DRAM27、外部メモリ41のいず
れをキャッシングの対象とするのかを設定することがで
きる。
【0098】(7)複数のマイクロプロセッサの並存.
図26は2つのマイクロプロセッサ101a,101b
(これらはいずれもマイクロプロセッサ101と同じ構
成を採ることができる)が、アドレスバス58、データ
バスD<0:15>を介して同一の外部バスマスタ4
1、外部メモリ4に接続される態様を示すブロック図で
ある。第1マイクロプロセッサ101a,101bは、
それぞれが内蔵するDRAM27に存在する命令/デー
タを使用してプログラムを処理する。
【0099】第1マイクロプロセッサ101aに対して
は、外部バスマスタ41からHalt Request信号HREQ
1、チップセレクト信号CS1が与えられる。また第1
マイクロプロセッサ101aから外部バスマスタ41に
対して、受付を許可するHREQAck信号HACK1が与え
られる。これらの信号のやりとりにより、第1マイクロ
プロセッサ101aの有するDRAM27への書き込
み、読み出しが外部バスマスタ41によって行われる。
同様にして、Halt Request信号HREQ2、チップセレ
クト信号CS2、HREQ Ack信号HACK2のやりとりに
基づいて、第2マイクロプロセッサ101bの有するD
RAM27への書き込み、読み出しが外部バスマスタ4
1によって行われる。
【0100】なお、外部メモリ4には第1及び第2マイ
クロプロセッサ101a,101bに共通のデータを格
納しておき、第1及び第2マイクロプロセッサ101
a,101bのアクセス要求に応じてその内容をリード
することもできる。この際、両方のマイクロプロセッサ
101a,101bのアクセスが競合しないように、そ
れぞれのマイクロプロセッサ101a,101bにマス
タ/スレーブ信号MS1,MS2を与え、これらを排他
的にアサートさせることにより、マイクロプロセッサの
一方をマスタ、他方をスレーブとして機能させることが
できる。ここでマスタ/スレーブとなるマイクロプロセ
ッサはそれぞれ外部メモリ4とアクセスができる/でき
ないという違いを有する。
【0101】勿論、マスタ/スレーブ信号MS1,MS
2のアサート/ネゲートは互いに切り替えることができ
る。ただし現在実行中のバスオペレーションが終了して
からその切り替えが行われるべきである。
【0102】マイクロプロセッサ101a,101bの
それぞれが内蔵するDRAM27には別々のデータを格
納できる。既に図14を用いて説明したように、各マイ
クロプロセッサ101a,101bのアドレス空間にお
いて、DRAM27は、00000000〜001FF
FFF番地に割り当てられるが、これらの物理アドレス
は別々にする必要がある。
【0103】例えば32ビットのアドレス空間(アドレ
ス一つに対して1バイトのデータが蓄えられるとして4
Gバイトの容量を有する)のうちの00000000〜
001FFFFF番地を第1マイクロプロセッサ101
aの内蔵するDRAM27に、01000000〜01
1FFFFF番地を第2マイクロプロセッサ101bの
内蔵するDRAM27に、それぞれ割り当てることがで
きる。これらはいずれも論理空間の内のユーザー空間
(SID=0)において割り当てられている。以上のよ
うにアドレス空間の割り当てを行うことにより、24ビ
ットのアドレスを用いつつ、2つのマイクロプロセッサ
101a,101bはそれぞれ自身の内蔵するDRAM
27に対して別の処理を並行して行うことができる。
【0104】
【発明の効果】以上に説明されたように、本発明によれ
ば複数のキャッシュモードをもつことにより、様々な用
途に対して1つのチップで対応可能となり、コスト削減
になる。また、ピン数削減によりコストを減らせる。内
部データバスよりもビット幅の狭い外部データバスに関
し、バースト時のCPUへの転送を制御することによ
り、性能を上げることができる。
【0105】この発明のうち請求項1にかかるマイクロ
プロセッサによれば、第1の内部バスマスタのみなら
ず、外部バスマスタも前記メモリに対するデータの読み
書きを行うことができる。
【0106】この発明のうち請求項2にかかるマイクロ
プロセッサによれば、制御信号が共用されるので、マイ
クロプロセッサに必要なピン数が増大することなく、内
蔵メモリを第1の内部バスマスタのみならず、外部バス
マスタによってもアクセスすることができ、外部メモリ
を第1の内部バスマスタでアクセスすることができる。
【0107】この発明のうち請求項3にかかるマイクロ
プロセッサによれば、アドレスが所定のアドレス境界を
越えても、誤ったデータが転送されることを回避でき
る。
【0108】この発明のうち請求項4にかかるマイクロ
プロセッサによれば、複数の内部バスマスタを内蔵して
もマイクロプロセッサの動作を制御することができる。
【0109】この発明のうち請求項5にかかるマイクロ
プロセッサによれば、命令キャッシュモードや内部共用
キャッシュモード等の複数のキャッシュモードを選択し
てキャッシングを行ったり、あるいはキャッシングを行
わなかったりすることができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1を示すブロック図であ
る。
【図2】 命令の構成を例示する模式図である。
【図3】 命令の処理を示す模式図である。
【図4】 命令の転送を示すブロック図である。
【図5】 命令の転送を示すブロック図である。
【図6】 CPU1が外部メモリ4からデータを読み出
す場合のプロトコルを示すタイミングチャートである。
【図7】 CPU1が外部メモリ4にデータを書き込む
場合のプロトコルを示すタイミングチャートである。
【図8】 外部バスマスタ41からDRAM27にデー
タを書き込む場合のプロトコルを示すタイミングチャー
トである。
【図9】 外部バスマスタ41によるアクセスが終了す
る場合を示すタイミングチャートである。
【図10】 バッファ301の構成を示すブロック図で
ある。
【図11】 外部バスマスタ41がDRAM27からデ
ータを読み出す場合のプロトコルを示すタイミングチャ
ートである。
【図12】 アドレスがアドレス境界を超える場合の動
作を行う手段を示すブロック図である。
【図13】 アドレスがアドレス境界を超える場合の動
作を示すタイミングチャートである。
【図14】 アドレスがアドレス境界を超える場合の動
作を示すタイミングチャートである。
【図15】 マイクロプロセッサ101のアドレス空間
を示す模式図である。
【図16】 内蔵制御レジスタのアドレス空間の一部を
示す模式図である。
【図17】 データMSPR,MDRR,MCCRの構
成の詳細を示す模式図である。
【図18】 制御ブロック303の構成の一部を示すブ
ロック図である。
【図19】 マイクロプロセッサ101の構成を模式的
に示すブロック図である。
【図20】 マイクロプロセッサ101の構成を模式的
に示すブロック図である。
【図21】 マイクロプロセッサ101の構成を模式的
に示すブロック図である。
【図22】 リフレッシュタイマ26の接続関係を示す
ブロック図である。
【図23】 外部マスタ41およびCPU1のリードを
示すタイミングチャートである。
【図24】 マイクロプロセッサ102の構成を例示す
るブロック図である。
【図25】 ハーバードアーキテクチャが採用されたマ
イクロプロセッサの構成を例示するブロック図である。
【図26】 2つのマイクロプロセッサが並存する態様
を示すブロック図である。
【図27】 従来の技術を示すブロック図である。
【図28】 従来の技術を示すブロック図である。
【符号の説明】
1 CPU1、3 バスインタフェースユニット、4
外部メモリ、27 DRAM、28 キャッシュメモ
リ、41 外部バスマスタ、101〜103 マイクロ
プロセッサ、301 バッファ、ID<0:127>,
D<0:15>データバス。
フロントページの続き (72)発明者 澤井 克典 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 内蔵メモリと、前記メモリに接続される
    内部バスと、前記内蔵メモリに対して前記内部バスを介
    してアクセスする内部バスマスタと、前記内部バスの動
    作を制御するバスインタフェースとを備えるマイクロプ
    ロセッサであって、 外部バスマスタ及び外部メモリが外部バスを介して前記
    マイクロプロセッサの外部に接続され、 前記マイクロプロセッサは前記内蔵メモリと前記外部メ
    モリのデータを登録するキャッシュメモリを更に備え、 前記バスインタフェースは (a)前記内部バスと等しい幅のバッファを有し、 (b)前記外部バスマスタからの内蔵メモリアクセス要
    求と前記内部バスマスタの内蔵メモリアクセス要求を調
    停し、 (c)前記バッファと外部バスマスタとが前記外部バス
    を介してアクセスしている間は内部バスマスタからの前
    記内蔵メモリ及び前記キャッシュへのアクセス要求を受
    け付ける、マイクロプロセッサ。
  2. 【請求項2】 前記外部バスマスタが前記内蔵メモリを
    アクセスする場合と、前記内部バスマスタが前記外部メ
    モリをアクセスする場合とで両者のアクセスを制御する
    制御信号が共用される、請求項1記載のマイクロプロセ
    ッサ。
  3. 【請求項3】 前記外部バスマスタが指定する複数のア
    ドレスが、前記バッファの容量で決まる所定のアドレス
    境界を跨ぐ場合には、前記バッファに蓄えられたデータ
    が一旦放出される、請求項1記載のマイクロプロセッ
    サ。
  4. 【請求項4】 内蔵メモリと、前記メモリに接続される
    内部バスと、前記内蔵メモリに対して前記内部バスを介
    してアクセスする第1及び第2の内部バスマスタと、前
    記内部バスの動作を制御するバスインタフェースとを備
    え、 前記バスインタフェースは、前記第1の内部バスマスタ
    の前記内部メモリに対するアクセス要求が有効である場
    合には前記第2の内部バスマスタの前記内部メモリに対
    するアクセス要求を無効にするメモリアクセス制御手段
    を有するマイクロプロセッサ。
  5. 【請求項5】 内蔵メモリと、前記内蔵メモリに接続さ
    れる内部バスと、前記内部バスに接続されたキャッシュ
    メモリと、前記内蔵メモリに対して前記内部バスを介し
    てアクセスする内部バスマスタと、前記内部バスの動作
    を制御するバスインタフェースとを備えるマイクロプロ
    セッサであって、 外部バスマスタ及び外部メモリが外部バスを介して前記
    マイクロプロセッサの外部に接続され、 前記マイクロプロセッサは前記内蔵メモリと前記外部メ
    モリのデータを登録するキャッシュメモリを更に備え、 前記バスインタフェースは、前記内部バスマスタによる
    前記内蔵メモリに対するアクセス要求及び前記外部バス
    マスタによる前記内蔵メモリに対するアクセス要求、並
    びにキャッシュモードを指定する情報に基づいて前記キ
    ャッシュメモリのキャッシング対象を指定する登録信号
    を発生するマイクロプロセッサ。
JP24337496A 1996-09-13 1996-09-13 マイクロプロセッサ Expired - Fee Related JP3934710B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP24337496A JP3934710B2 (ja) 1996-09-13 1996-09-13 マイクロプロセッサ
TW086101011A TW442731B (en) 1996-09-13 1997-01-29 Microprocessor
US08/803,858 US5915099A (en) 1996-09-13 1997-02-21 Bus interface unit in a microprocessor for facilitating internal and external memory accesses
KR1019970008102A KR100239841B1 (ko) 1996-09-13 1997-03-11 마이크로프로세서
CN97113401A CN1103967C (zh) 1996-09-13 1997-05-23 微处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24337496A JP3934710B2 (ja) 1996-09-13 1996-09-13 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH1091573A true JPH1091573A (ja) 1998-04-10
JP3934710B2 JP3934710B2 (ja) 2007-06-20

Family

ID=17102910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24337496A Expired - Fee Related JP3934710B2 (ja) 1996-09-13 1996-09-13 マイクロプロセッサ

Country Status (5)

Country Link
US (1) US5915099A (ja)
JP (1) JP3934710B2 (ja)
KR (1) KR100239841B1 (ja)
CN (1) CN1103967C (ja)
TW (1) TW442731B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065718A (ja) * 2006-09-09 2008-03-21 Yamaha Corp デジタル信号処理装置
JP2008226276A (ja) * 2008-06-09 2008-09-25 Matsushita Electric Works Ltd プログラマブルコントローラ
US7650453B2 (en) 2004-09-16 2010-01-19 Nec Corporation Information processing apparatus having multiple processing units sharing multiple resources

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
JP3524337B2 (ja) * 1997-07-25 2004-05-10 キヤノン株式会社 バス管理装置及びそれを有する複合機器の制御装置
US8686549B2 (en) * 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6260114B1 (en) * 1997-12-30 2001-07-10 Mcmz Technology Innovations, Llc Computer cache memory windowing
US6529503B1 (en) * 1999-05-21 2003-03-04 Advanced Micro Devices, Inc. Apparatus and method for storing header information in a network switch
JP2003505753A (ja) * 1999-06-10 2003-02-12 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング セル構造におけるシーケンス分割方法
US7000034B2 (en) * 2000-03-02 2006-02-14 Agere Systems Inc. Function interface system and method of processing issued functions between co-processors
EP2226732A3 (de) 2000-06-13 2016-04-06 PACT XPP Technologies AG Cachehierarchie für einen Multicore-Prozessor
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
WO2005045692A2 (en) 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) * 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
DE10392560D2 (de) 2002-01-19 2005-05-12 Pact Xpp Technologies Ag Reconfigurierbarer Prozessor
AU2003214003A1 (en) 2002-02-18 2003-09-09 Pact Xpp Technologies Ag Bus systems and method for reconfiguration
US20070011433A1 (en) * 2003-04-04 2007-01-11 Martin Vorbach Method and device for data processing
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
JP2009524134A (ja) * 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
DE112008003643A5 (de) * 2007-11-17 2010-10-28 Krass, Maren Rekonfigurierbare Fliesskomma- und Bit- ebenen Datenverarbeitungseinheit
US20110173596A1 (en) * 2007-11-28 2011-07-14 Martin Vorbach Method for facilitating compilation of high-level code for varying architectures
EP2235627A1 (en) * 2007-12-07 2010-10-06 Krass, Maren Using function calls as compiler directives
CN101894084B (zh) * 2010-04-13 2012-06-27 苏州国芯科技有限公司 一种clb总线内用于写操作的装置
US8504730B2 (en) * 2010-07-30 2013-08-06 International Business Machines Corporation Administering connection identifiers for collective operations in a parallel computer
US8565120B2 (en) 2011-01-05 2013-10-22 International Business Machines Corporation Locality mapping in a distributed processing system
US9317637B2 (en) 2011-01-14 2016-04-19 International Business Machines Corporation Distributed hardware device simulation
US8689228B2 (en) 2011-07-19 2014-04-01 International Business Machines Corporation Identifying data communications algorithms of all other tasks in a single collective operation in a distributed processing system
US9250948B2 (en) 2011-09-13 2016-02-02 International Business Machines Corporation Establishing a group of endpoints in a parallel computer
US12131067B2 (en) 2021-11-19 2024-10-29 Rambus Inc. Multiple host memory controller

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US34850A (en) * 1862-04-01 Device for canceling notes
JPS6029861A (ja) * 1983-07-28 1985-02-15 Ricoh Co Ltd 周辺装置インタ−フエイス
JPH0738187B2 (ja) * 1984-03-23 1995-04-26 株式会社日立製作所 Lsiに構成されたマイクロコンピュータ
JPS62224849A (ja) * 1986-03-26 1987-10-02 Hitachi Ltd デ−タ処理システム
JPS63216170A (ja) * 1987-03-05 1988-09-08 Mitsubishi Electric Corp デイジタル信号処理プロセツサ
US4912636A (en) * 1987-03-13 1990-03-27 Magar Surendar S Data processing device with multiple on chip memory buses
JPH03254497A (ja) * 1990-03-05 1991-11-13 Mitsubishi Electric Corp マイクロコンピュータ
GB9019023D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station having multiplexing and burst mode capabilities
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
US5488729A (en) * 1991-05-15 1996-01-30 Ross Technology, Inc. Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution
US5317711A (en) * 1991-06-14 1994-05-31 Integrated Device Technology, Inc. Structure and method for monitoring an internal cache
US5335335A (en) * 1991-08-30 1994-08-02 Compaq Computer Corporation Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed
US5553266A (en) * 1992-04-24 1996-09-03 Digital Equipment Corporation Update vs. invalidate policy for a snoopy bus protocol
JPH05324539A (ja) * 1992-05-25 1993-12-07 Fujitsu Ltd 半導体装置
US5485594A (en) * 1992-07-17 1996-01-16 International Business Machines Corporation Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system
US5463753A (en) * 1992-10-02 1995-10-31 Compaq Computer Corp. Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller
US5353415A (en) * 1992-10-02 1994-10-04 Compaq Computer Corporation Method and apparatus for concurrency of bus operations
US5420808A (en) * 1993-05-13 1995-05-30 International Business Machines Corporation Circuitry and method for reducing power consumption within an electronic circuit
US5475850A (en) * 1993-06-21 1995-12-12 Intel Corporation Multistate microprocessor bus arbitration signals
JPH07271705A (ja) * 1994-02-09 1995-10-20 Hitachi Ltd データプロセッサ及びこれを用いたトレース回路
US5666509A (en) * 1994-03-24 1997-09-09 Motorola, Inc. Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof
JPH0895943A (ja) * 1994-09-20 1996-04-12 Hitachi Ltd マイクロプロセッサ
US5598362A (en) * 1994-12-22 1997-01-28 Motorola Inc. Apparatus and method for performing both 24 bit and 16 bit arithmetic
US5687350A (en) * 1995-02-10 1997-11-11 International Business Machines Corporation Protocol and system for performing line-fill address during copy-back operation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650453B2 (en) 2004-09-16 2010-01-19 Nec Corporation Information processing apparatus having multiple processing units sharing multiple resources
JP2008065718A (ja) * 2006-09-09 2008-03-21 Yamaha Corp デジタル信号処理装置
JP2008226276A (ja) * 2008-06-09 2008-09-25 Matsushita Electric Works Ltd プログラマブルコントローラ

Also Published As

Publication number Publication date
CN1177143A (zh) 1998-03-25
JP3934710B2 (ja) 2007-06-20
KR100239841B1 (ko) 2000-01-15
CN1103967C (zh) 2003-03-26
KR19980023967A (ko) 1998-07-06
US5915099A (en) 1999-06-22
TW442731B (en) 2001-06-23

Similar Documents

Publication Publication Date Title
JP3934710B2 (ja) マイクロプロセッサ
US6049847A (en) System and method for maintaining memory coherency in a computer system having multiple system buses
US7398361B2 (en) Combined buffer for snoop, store merging, load miss, and writeback operations
US6859862B1 (en) Method and apparatus for software management of on-chip cache
US6202125B1 (en) Processor-cache protocol using simple commands to implement a range of cache configurations
US6622214B1 (en) System and method for maintaining memory coherency in a computer system having multiple system buses
US5838931A (en) Method and apparatus for enabling a processor to access an external component through a private bus or a shared bus
US5784590A (en) Slave cache having sub-line valid bits updated by a master cache
US5301296A (en) Microprocessor with cache memory
US6185637B1 (en) System for implementing an adaptive burst length for burst mode transactions of a memory by monitoring response times for different memory regions
JPH10187533A (ja) キャッシュシステム、プロセッサ及びプロセッサを動作させる方法
US20030115422A1 (en) System and method for managing data in an I/O cache
US6934811B2 (en) Microprocessor having a low-power cache memory
JP2002140289A (ja) 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
WO2000039764A1 (en) A dual-ported pipelined two level cache system
JPH0954832A (ja) デジタル・データ及びビデオ信号の処理デバイス及びシステム
JP2003044358A (ja) キャッシュメモリ制御装置
JPH08263373A (ja) キャッシュにおけるスヌーピング装置および方法
EP3876103B1 (en) Data processing sytem having a shared cache
JPWO2004031943A1 (ja) データプロセッサ
JPH11288386A (ja) コンピュータシステム
US6484237B1 (en) Unified multilevel memory system architecture which supports both cache and addressable SRAM
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
US5649232A (en) Structure and method for multiple-level read buffer supporting optimal throttled read operations by regulating transfer rate
CA2378777A1 (en) Shared program memory with fetch and prefetch buffers

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070316

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees