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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures 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
セッサに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
サに関し、特にメモリ及びキャッシュメモリを内蔵した
マイクロプロセッサにおいて、そのメモリに外部からア
クセスしたり、命令/データをキャッシュに登録したり
するバスインタフェースに関する。
ロセッサが知られている。例えば、図27はRAMを内
蔵したマイクロプロセッサの構成を示すブロック図であ
る。マイクロプロセッサ201はCPU1、内蔵RAM
29、バス59、及びバスインタフェースユニット(B
IU)39を備えている。内蔵RAM29は例えばプロ
グラムRAM(ROMを含む)であったり、データRA
M(ROMを含む)であったりする。但し、1クロック
でアクセスされ得るように、内蔵RAM29にはSRA
Mが使用されていた。内蔵RAM29のメモリ領域はア
ドレスで指定され、これへのアクセスは命令によって指
示される。
バス60を介して外部メモリ4が設けられることもあ
る。外部メモリ4には例えばDRAMが使用されてお
り、これを制御するためにDRAMコントローラ、DM
AC(DMAコントローラ)等がマイクロプロセッサ2
01に内蔵されている場合がある。
「キャッシュ」とする)を内蔵したマイクロプロセッサ
の構成を示すブロック図である。マイクロプロセッサ2
02はCPU1、キャッシュ28、バス59、及びBI
U39を備えており、マイクロプロセッサ202の外部
にはバス60を介して外部メモリ4が設けられている。
キャッシュ28はマイクロプロセッサ202が使用する
命令やデータを外部メモリ4からキャッシングする。
とキャッシュ28との両方を内蔵し、キャッシュ28が
内蔵RAM29からキャッシングすることも可能であ
る。しかし、内蔵RAM29はROMまたはSRAMで
構成されており、1クロック程度でアクセスできるた
め、キャッシングする必要はなかった。
て大きく、大容量を集積する個とができない。そこでC
PUコアとDRAMを1チップに集積し、大容量のメモ
リを集積したマイクロプロセッサが必要となる。ここで
DRAMはアクセススピードが遅く、メモリアクセスの
時間がCPUの性能を落とす大きな原因となる。
PUのみならず、外部にもバスマスタ(メモリに対して
バスを介してアクセスすることができる制御手段)が存
在する場合には、それぞれのバスマスタとメモリとの間
の信号の伝達を別個に行えば、マイクロプロセッサに必
要なピン数が増大してしまうという問題点がある。
り、DRAM及びキャッシュを内蔵し、大容量、低速の
DRAMと小容量、高速のキャッシュを1チップに集積
してCPUの性能を引き出すことを目的とする。またそ
のキャッシングの態様を選択させることによりキャッシ
ングするデータの種類を選ぶことができるマイクロプロ
セッサや、内蔵するメモリに対するバスマスタが外部に
設けられても、あるいは外部メモリを接続し、ピン数を
増大させないで内蔵メモリと外部メモリの使用方法(メ
インプログラム、データ等をどのメモリに格納するか)
を変えることができるマイクロプロセッサや、バスマス
タが内部に複数存在するマイクロプロセッサを提供する
ことを目的とするものである。
にかかるものは、内蔵メモリと、前記メモリに接続され
る内部バスと、前記内蔵メモリに対して前記内部バスを
介してアクセスする内部バスマスタと、前記内部バスの
動作を制御するバスインタフェースとを備えるマイクロ
プロセッサである。そして外部バスマスタ及び外部メモ
リが外部バスを介して前記マイクロプロセッサの外部に
接続される。前記マイクロプロセッサは前記内蔵メモリ
と前記外部メモリのデータを登録するキャッシュメモリ
を更に備える。前記バスインタフェースは(a)前記内
部バスと等しい幅のバッファを有し、(b)前記外部バ
スマスタからの内蔵メモリアクセス要求と前記内部バス
マスタの内蔵メモリアクセス要求を調停し、(c)前記
バッファと外部バスマスタとが前記外部バスを介してア
クセスしている間は内部バスマスタからの前記内蔵メモ
リ及び前記キャッシュへのアクセス要求を受け付ける。
請求項1記載のマイクロプロセッサであって、前記外部
バスマスタが前記内蔵メモリをアクセスする場合と、前
記内部バスマスタが前記外部メモリをアクセスする場合
とで両者のアクセスを制御する制御信号が共用される。
請求項1記載のマイクロプロセッサであって、前記外部
バスマスタが指定する複数のアドレスが、前記バッファ
の容量で決まる所定のアドレス境界を跨ぐ場合には、前
記バッファに蓄えられたデータが一旦放出される。
内蔵メモリと、前記メモリに接続される内部バスと、前
記内蔵メモリに対して前記内部バスを介してアクセスす
る第1及び第2の内部バスマスタと、前記内部バスの動
作を制御するバスインタフェースとを備えるマイクロプ
ロセッサである。そして前記バスインタフェースは、前
記第1の内部バスマスタの前記内部メモリに対するアク
セス要求が有効である場合には前記第2の内部バスマス
タの前記内部メモリに対するアクセス要求を無効にする
メモリアクセス制御手段を有する。
蔵メモリと、前記内蔵メモリに接続される内部バスと、
前記内部バスに接続されたキャッシュメモリと、前記内
蔵メモリに対して前記内部バスを介してアクセスする内
部バスマスタと、前記内部バスの動作を制御するバスイ
ンタフェースとを備えるマイクロプロセッサである。そ
して外部バスマスタ及び外部メモリが外部バスを介して
前記マイクロプロセッサの外部に接続される。前記マイ
クロプロセッサは前記内蔵メモリと前記外部メモリのデ
ータを登録するキャッシュメモリを更に備える。前記バ
スインタフェースは、前記内部バスマスタによる前記内
蔵メモリに対するアクセス要求及び前記外部バスマスタ
による前記内蔵メモリに対するアクセス要求、並びにキ
ャッシュモードを指定する情報に基づいて前記キャッシ
ュメモリのキャッシング対象を指定する登録信号を発生
する。
イクロプロセッサの構成の概要を示すブロック図であ
る。マイクロプロセッサ101はDRAM27、キャッ
シュ28、CPU1、命令キュー(IQ)8、セレクタ
7、積和演算部(MAC:Multiply and ACcumulater)
6、BIU3、PLL11を有している。
り扱うRISC型マイクロプロセッサコアであり、命令
長は16ビットあるいは32ビットである。IQ8は例
えば128ビット×2エントリの構成を有しており、バ
スID〈0:127〉からデータ(命令を含む)を入力
し、16ビットまたは32ビットの態様でバスI<0:
31>を介してCPU1に転送する。
る。アドレス境界をまたぐ命令は許されないので、命令
の配置としては図2に示されるように2通りしかない。
る128ビットのデータのうち、必要な32ビット分の
みを選択してCPU1に転送したり、CPU1から出力
された32ビットのデータをバスID〈0:127〉に
おいて適切な位置に出力する。これらの32ビットのデ
ータの伝達はバスDO<0:31>を介して行われる。
MAC6は例えば32ビット×16ビット+56ビット
の積和演算を1クロックで処理し、CPU1に付随して
設けられる。
れ、ライトバック(write back)方式、即ち書き込みが
キャッシュに対してだけ行われ、キャッシュで変更され
たデータは置き換えの対象となったときに主たる記憶装
置に書き込まれる方式が採用される。TAG部を有し、
ここにはキャッシングすべきデータのアドレスの一部
(tag)とvalidビット、dirtyビットが保
持される。データがキャッシュ28に登録(fill)され
るとvalidビットがセットされ、登録されている領
域に新たなデータがストアされればdirtyビットが
セットされる。キャッシュヒットした場合には1クロッ
クでデータを引き出すことができる。DRAM27は例
えば2Mbyteの容量を有する。
ァ5を介してセレクタ7が、またDRAM27、キャッ
シュ28、IQ8が、それぞれバスID〈0:127〉
に接続されている。このバスID〈0:127〉と、マ
イクロプロセッサ101とその外部(例えば外部メモリ
4、外部バスマスタ41)とを結ぶデータバスD<0:
15>との間にBIU3が設けられている。マイクロプ
ロセッサ101と、外部メモリ4、外部バスマスタ41
とはアドレスバス58、制御バス56,57によっても
結ばれている。
メモリや、その外部に接続されるメモリに対するアクセ
スを制御する。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
バー)、登録指令を与える機能をも有する。
ロックを生成する。例えば内部CPU等の動作に4逓倍
したクロックを生成し、外部とのアクセス用に入力クロ
ック同じ周波数のクロックを生成する。
模式図である。命令はパイプライン制御で処理される。
パイプライン制御は、例えば命令フェッチ(IF)、命
令デコード(D)、実行(E)、メモリアクセス(ME
M)、汎用レジスタへのライトバック(WB)の5段階
で構成される。
有し、メモリに対するオペランドアクセスはload/
store系の命令のみで発生する。図3(a)はlo
ad命令でオペランドがキャッシュヒットし、メモリに
存在したデータが1サイクルで転送できた場合を示す。
同図(b)はメモリに存在したデータのアクセスに複数
クロックかかった場合を示す。同図(c)はメモリに対
するアクセスを発生しない命令の場合を示す。同図
(d)は実行に複数のクロックを要する命令、例えば乗
算命令や除算命令の場合を示す。
ェッチする命令がキャッシュ28にヒットした場合は、
キャッシュ28からクロック1サイクル分でバスID
〈0:127〉を介してIQ8に転送される。
7にある場合は、1回のアクセス(例えばクロック5サ
イクル分を要する)でDRAMからバスID〈0:12
7〉を介してIQ8に転送される。
4にある場合は、バースト転送で外部メモリ4からフェ
ッチし、BIU3のバッファ301に順番に蓄えられ
る。バッファ301がフルになると(128ビット分の
命令が蓄えられると)IQ8に128ビット分の命令が
転送される。またこの命令をキャッシングする場合は同
時にキャッシュ28にも転送される。
ビットの容量を有している場合の命令の転送を示すブロ
ック図である。DRAM27(或いはキャッシュ28)
からも、128ビットの容量を有するバッファ301か
らも命令が転送される様子が示されている。
ている場合(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から与えられる。
れ、バッファ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バーも受ける。
ず、常に最初の命令のみを先に転送し、バッファ301
がフルになれば128ビットをキャッシュ28へと転送
して書き込んでもよい。
る場合、DRAM27またはキャッシュ28にデータが
存在すれば、必要なデータを含む128ビットがバスI
D〈0:127〉を介してセレクタ7に転送される。セ
レクタ7では必要な32ビットのデータをCPU1に送
る。必要なデータが外部メモリ4にある場合には、バッ
ファ301に32ビットのデータが蓄えられ、これがバ
スID〈0:127〉を通ってCPU1に転送される。
32ビットの3種類があり、外部メモリから読み出す
際、32ビットの場合は外部アクセスが2回必要とな
り、8ビット/16ビットの場合は1回のアクセスでバ
ッファ301からバスID〈0:127〉を介してCP
U1に転送される。
(DRAM27或いはキャッシュ28)に書き込む場
合、対応するバスID〈0:127〉の対応する位置に
セレクタ7がこのデータを出力する。この際、ライトバ
ッファ5に書き込むべきデータを蓄えてから転送するこ
ともできる。つまり、ライトバッファ5からはバスID
〈0:127〉が空いているときにデータが転送され
る。外部メモリ4に出力する場合はバッファ301にい
ったんラッチされ、16ビットずつバスD<0:15>
に出力されることになる。
ッサの内蔵するDRAMへのアクセス.マイクロプロセ
ッサ101の内蔵するDRAM27はCPU1だけでな
く外部のバスマスタからも、マイクロプロセッサ101
の命令とは無関係に直接アクセスすることができる。バ
スマスタはバスを介してメモリをアクセスする権利をも
っており、例えばDMAC(Direct Memory Access Con
troler)やプロセッサ、メモリコントローラなどが挙げ
られる。
はデータバスD<0:15>、アドレスバス58、制御
バス57を介してマイクロプロセッサ101と接続され
る。外部バスマスタ41はマイクロプロセッサ101に
対してアクセス要求を出し、受け付けられるとDRAM
27に対して直接アクセスすることができる。以下に、
CPU1および外部バスマスタ41がDRAM27と外
部メモリ4をアクセスする際の各アクセスのプロトコル
について説明する。
セスする場合:従来から行われているプロトコルであ
り、まずCPU1からのアクセス要求が出され、これ
に対してBIU3が許可をし、BIU3の制御でI
D〈0:127〉バスを使ってDRAM27のデータが
CPU1に転送される。
ータを読み出す場合:図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は変化しても良い。
要求を受けて、外部メモリ4はアドレスA1,A2,
A3に対応する読み出しデータD1,D2,D3をバス
D<0:15>に伝達させ、その度にデータ転送完了信
号DCバーがアサートされる。そしてデータD1,D
2,D3がバスID〈0:127〉を介してCPU1へ
転送される。
タを書き込む場合:図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から出力される。
要求を受けて、外部メモリ4にデータD1,D2,D
3が書き込まれ、その度にデータ転送完了信号DCバー
がアサートされる。
M27にデータを書き込む場合:図8は外部バスマスタ
41からDRAM27にデータを書き込む場合のプロト
コルを示すタイミングチャートである。まず外部バス
マスタ41からの受け付け要求を示すHalt Request信号
HREQバーがアサートする。これに対応してマイクロ
プロセッサ101から受付を許可するHREQ Acknowledge
信号HACKバーがアサートする。そして外部バスマス
タ41からチップセレクト信号CSバーがアサートす
る。これらは制御バス57を介してマイクロプロセッサ
101と外部バスマスタ41との間を伝達する。
プロセッサ101へと伝達されるリードライト信号R/
WバーがDRAM27に対して書き込み動作を要求し、
アドレスA1,A2,A3及びこれらに対応する書き込
みデータD1,D2,D3がマイクロプロセッサ101
へと伝達される。そしてマイクロプロセッサ101か
らデータ転送完了信号DCバーがアサートされる。
が終了する場合を示すタイミングチャートである。チ
ップセレクト信号CSバー、Halt Request信号HREQ
バーがネゲートし、マイクロプロセッサ101の受け
付けも終了する(HREQ Ack信号HACKバーがネゲート
する)。
ロック図である。バッファ301は128ビットの容量
を有する一方、データバスD<0:15>が16ビット
のビット幅を有する。よってバッファ301は容量が1
6ビットの8個のラッチ301a〜301hと、それぞ
れに対応するセレクタ301p〜301wとを有してお
り、外部バスマスタ41の与えるアドレスの値に応じ
て、バスD<0:15>に載るデータをラッチ301a
〜301hに格納する。
データの幅は8ビットであり、一つのラッチにはアドレ
ス2つ分のデータが格納できる。つまり、一対の隣接す
るアドレスに対応するデータが同一のラッチに格納され
ることになる。このような動作を実現するため、バッフ
ァ301はセレクタ制御部301xを更に有しており、
これがアドレスの下位4ビットの内、最下位ビットを除
く3ビットの値に基づいてセレクタ301p〜301w
にそれぞれセレクタ制御信号B0〜B7を与える。セレ
クタ制御信号B0〜B7は択一的に活性化し、バスD<
0:15>に載った8ビットのデータをラッチ301a
〜301hのいずれかに格納する。
27からデータを読み出す場合:図11は外部バスマス
タ41がDRAM27からデータを読み出す場合のプロ
トコルを示すタイミングチャートである。工程は(2
−d)と同様である。そして外部バスマスタ41から
マイクロプロセッサ101へと伝達されるリードライト
信号R/WバーがDRAM27に対して読み出し動作を
要求し、アドレスA1,A2,A3がマイクロプロセッ
サ101へと伝達される。そしてこれらに対応するデ
ータD1,D2,D3が読み出され、マイクロプロセッ
サ101からこれらが出力され、データ転送完了信号D
Cバーがアサートされる。工程,も(2−d)と同
様である。
ス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)から命令を転送する。
する場合も同様に、バッファ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に蓄
積される。
となっているので、CPUからのアクセス要求に対して
DRAMアクセス要求がアサートし(真ん中に位置する
アサート)、この要求に対応したデータD_CPUが読
み出されてバスID〈0:127〉に載る。一方、バッ
ファ301から外部バスマスタ41へのデータD1,D
2,D3の転送が行われることになる。
アドレス境界を越えたアドレスA5についてのDRAM
(キャッシュ)アクセス要求がアサートし(右端に位置
するアサート)、これに対応するデータD5が読み出さ
れてバスID〈0:127〉に載り、バッファ301へ
と蓄積される。
御回路303gではアドレス比較結果とアクセス種類検
出結果、リフレッシュ要求を受けて、外部アクセス要求
及び内部バス未使用信号を生成する。この内部バス未使
用信号は外部バスアクセスに内部バスを使用していない
状態、または外部バスマスタ41のアクセスアドレスが
アドレス境界を跨がないアクセスの処理中であり、内部
バスが未使用であることを示す。この信号がアサートさ
れている間はCPU1のアクセス要求を受けてDRAM
27、キャッシュ28がアクセスされる。
ドレスが、アドレス境界を超える場合の外部バスマスタ
からDRAM27への書き込み:図10を用いて説明さ
れたように、下位4ビットが連続するアドレスに対応す
る16個の8ビット幅のデータはバッファ301に格納
される。しかし、例えばアドレスが24ビット幅である
とすると、上位20ビットが同一であればこれらの16
個×8ビット=128ビットのデータをまとめてDRA
M27に転送しても良いが、アドレスの上位20ビット
が異なっている場合にこれらをまとめて転送すること
は、誤ったアドレスにデータを与えることとなり、回避
されなければならない。つまり、外部バスマスタ41の
アドレスの値が16ビットの境界(データに換算すれば
16×8=128ビットの境界:本明細書では単に「ア
ドレス境界」ともいう)を越える場合には、それまでバ
ッファ301が蓄えていたデータを一旦放出する必要が
ある。
ブロック図であり、マイクロプロセッサ101はアドレ
スバッファ51と、アドレス比較器52とを更に備えて
いる。アドレスバッファ51はアドレスバス58から2
4ビット幅のアドレスの上位20ビットを受け、常に現
在のアドレスの一つ前のアドレスの上位20ビットを出
力する。アドレス比較器52はアドレスバッファ51の
出力を、現在のアドレスの上位20ビットと比較する。
アドレスの値が16ビットのアドレス境界を越えていな
いので、バッファ301に対するデータの格納は引き続
いて行われる。しかし一致しない場合には、バッファ3
01に対して、現在格納しているデータをバスID<
0:127>を介してDRAM27に転送するように制
御する。この際、制御ブロック303はDRAM27に
対してDRAM27が書き込み動作をするようにリード
ライト信号R/Wバーを与える。
ートである。アドレスA1〜A4の上位20ビットは同
一であり、アドレスA5の上位20ビットがこれと異な
る場合が想定されている。バッファ301はアドレスA
1〜A4に対応するデータD1〜D4を格納していた
が、アドレスA5が与えられた時点で(アドレス境界を
越えた時点で)バスID<0:127>にはこれらのデ
ータD1〜D4が一挙に与えられる。なお、チップセレ
クト信号CSバーがアサートしている間は信号HREQ
バーHACKバーがアサートしている。
求がアサートし、これらのデータがDRAM27に書き
込まれ、制御ブロック303から外部バスマスタ41へ
与えられるデータ転送完了信号DCバーがネゲートする
(時刻t4〜t5)。
5がバッファ301に格納され、外部バスマスタ41か
らのアクセス要求が終了した時点(チップセレクト信号
CSバーがネゲート)で、バッファ301の格納してい
たデータA5がバスID〈0:127〉を介してDRA
M27に転送される(データ転送完了信号DCバーがア
サート、その後、DRAM27に対するアクセス要求が
ネゲート:時刻t5〜t6)。
ドレスが、アドレス境界を超える場合の外部バスマスタ
41のDRAM27からの読み出し:図14は外部バス
マスタ41がDRAM27からデータを読み出す場合
に、そのアドレスの上位20ビットが変動した場合(ア
ドレス境界を越えた場合)の動作を示すタイミングチャ
ートである。外部バスマスタ41のリード要求(チップ
セレクト信号CSバーがアサート)がなされ、制御ブロ
ック303はDRAM27に対してDRAM27が読み
出し動作をするようにリードライト信号R/Wバーを与
える。
ートし、いずれも上位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)。
送される際、アドレス境界を越えることになるので、一
旦データ転送完了信号DCバーがネゲートし、DRAM
27に対するアクセス要求が再度アサートする(時刻t
2)。そしてバスID<0:127>にはDRAM27
からアドレスA5に対応するデータD5が与えられ、こ
れがバッファ301に格納される。その一方でデータD
5が外部に転送されればアクセス要求が終了する(チッ
プセレクト信号CSバーがネゲート。時刻t3)。
タがDRAM27から読み出され、バッファ301に格
納される(例えば上記データD1,D2,D3)。デー
タは外部バスマスタ41から要求されるアドレスの値に
応じ、対応する16ビット(一つのラッチが格納するア
ドレス2つ分)のデータを出力する。外部バスマスタ4
1から要求されるアドレスがアドレス境界を越えた場合
に、新しいデータ(例えば上記データD5)がDRAM
27からバッファ301に転送され、外部バスマスタへ
16ビットずつ出力される。
ロプロセッサによれば、内蔵するDRAM27を自身の
CPU1のみならず、外部バスマスタ41によってもア
クセスすることができ、またCPU1によって外部メモ
リ4にアクセスすることもできる。しかも、リードライ
ト信号R/Wバーやバイトコントロール信号BCを共用
できるので、必要なピン数が増大してしまうということ
はない。
>と外部のデータバスD<0:15>とのビット幅が異
なっていても、バッファ301を制御することで、デー
タを内部に転送することができる。
えても、誤ったデータの転送が行われることを回避でき
る。
ドの変更のしかたについて説明される。図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桁)で指
定され得ることになる。
000000〜FF7FFFFF番地が、ICE(In C
ircuit Emulator)用空間としてFF800000〜F
FBFFFFF番地が、そしてFFC00000〜FF
FFFFFF番地において内蔵制御レジスタの為の物理
空間が、それぞれ割り当てられる。これらの割当は、I
/O空間(SID=1)において行われている。
の一部を示す模式図である。番地FFFFFFF4,F
FFFFFF8,FFFFFFFCにおいて、それぞれ
キャッシュパージ制御、DRAMリフレッシュ制御、メ
モリ制御の為のデータMSPR,MDRR,MCCR
(各1バイト)が格納される。
CCRの構成の詳細を示す模式図である。データMSP
Rの第7番目のビットにはパージ制御を行うか否かを示
す1ビットの値が、データMDRRの第7番目のビット
にはリフレッシュ制御を行うか否かを示す1ビットの値
が、データMCCRの第6番目及び第7番目のビットに
はキャッシュモードの種類を示す2ビットの値が、それ
ぞれ格納される。
MSPR,MDRR,MCCRに基づく制御について説
明する。
タMCCRに基づいて制御を行うことにより、マイクロ
プロセッサ101はキャッシングするデータの種類に従
って、キャッシュモードを切り替えることができる。例
えばキャッシュモードとしては以下のモードを考えるこ
とができる。
ないモードである。 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種類を選択す
ることができる。
を示すブロック図である。図15を用いて示されたよう
にDRAM27と外部メモリ4とのアドレス空間は区分
されるので、アドレスデコーダ303bによって、両者
の何れがアクセスの対象となるのかが判別される。その
判別結果はアクセス種類検出回路303dに与えられ
る。また、アクセス主体判定部303cは、アクセスの
主体がCPU1であるのか、外部バスマスタ41である
のかを判定し、その結果をアクセス種類検出回路303
dに与える。
スデコーダ303bの判別結果及びアクセス主体判定部
303cの判定結果に基づいて、バスID<0:127
>に載った信号は、何が要求する命令であるのか、ある
いはデータであるのか等の情報C3をキャッシュアクセ
ス制御回路303eに与える。
aは、データMCCRの下位2ビットの値に基づいて、
如何なるキャッシュモードが要求されるかについての情
報C1をキャッシュアクセス制御回路303eに対して
与える。キャッシュアクセス制御回路303eは情報C
1,C3に基づいて、DRAM27のデータをキャッシ
ングするのか(vi)内部共用キャッシュモード)、外部
メモリ4の命令をキャッシングするのか(x)外部命令キ
ャッシュモード)、外部メモリ4、DRAM27を問わ
ず、CPU1がアクセスした命令をキャッシングするの
か(iV)命令キャッシュモード)、或いは全くキャッシ
ングを行わないのか(i)キャッシュオフモード)を制御
する登録信号C2をキャッシュ28に与える。
キャッシュモード、x)外部命令キャッシュモード、iV)
命令キャッシュモードを採用する場合のマイクロプロセ
ッサ101の構成を模式的に示すブロック図である。キ
ャッシュ28は、図19においてはDRAM27とバス
ID<0:127>との間に、図20においてはBIU
3とバスID<0:127>との間に、図21において
はCPU1とDRAM27及びBIU3との間に、それ
ぞれ介在する態様を模式的に採っている。
6,57、アドレスバス58がまとめて描かれている
が、その上に示されたような各信号HREQ,HAC
K,アドレス、データ(命令も含む)、その他の信号B
C、R/Wバー、CS等の制御信号がこれらのバスを介
して伝達される。
について;DRAM27に対してCPU1がアクセスし
た命令/データをキャッシングするモードであり、DR
AM27にプログラムが入っている場合に使用される
(図19)。
7にある場合には、BIU3の制御でまずキャッシュヒ
ットするかどうかがチェックされる。ヒットする場合は
キャッシュ28からバスID〈0:127〉にその命令
が出力され、IQ8(図19ではCPU1に含んでいる
ものとして示されている)に転送される。
キャッシュ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ビットがセットされる。
する場合には、命令をフェッチする場合と同様にキャッ
シュヒットをチェックし、ヒットの場合はキャッシュ2
8から、ミスの場合はDRAM27から読み出す。
む場合は、キャッシュヒットするかどうかがチェックさ
れる。ヒットする場合は書き込みデータをキャッシュ2
8の対応するエントリの128ビットの一部に書き込
み、このエントリのdirtyビットがセットされる。
dirtyビットがセットされているエントリのデータ
はこのエントリに次のキャッシュデータを登録する際に
書き戻される(ライトバック)。ミスする場合には書き
込みデータがDRAM27に書き込まれる。
された信号MSPRの7番目のビットのpurge命令
でDRAM27に書き戻すこともできる。
ついて;外部メモリ4内にある命令がキャッシュ28に
キャッシングされる。例えば外部メモリ4として命令R
OMをおき、DRAM27にはデータをおいた場合に採
用される(図20)。
ェッチする場合、キャッシュヒットをチェックし、ヒッ
トの場合はキャッシュ28から、ミスの場合は外部メモ
リ4からフェッチする。外部メモリ4からフェッチされ
る命令は、キャッシュ28に登録するためにバースト転
送によってマイクロプロセッサ101に伝達され、12
8ビット分がBIU3に保持されてキャッシュ28に転
送される。
いて;CPU1がフェッチした命令をキャッシングする
モードであり、DRAM27および外部メモリ4に命令
を置く場合に採用される(図21)。CPU1がフェッ
チを要求する命令がキャッシュヒットするかどうかをチ
ェックし、ヒットする場合はキャッシュ28から、ミス
の場合はDRAM27または外部メモリ4からフェッチ
する。外部メモリ4からの命令のフェッチは(3−b)
と同様であり、DRAM27からの命令のフェッチは1
回の読み出しで128ビット分がキャッシュ28登録さ
れる。
M27、外部メモリ4のうちキャッシングされるべきで
ない領域(例えばキャッシングしてもライトバックが頻
繁になって却って処理速度が悪化するデータを記憶する
領域)をキャッシュ28がキャッシングしないように、
ノンキャッシャブルな領域をアドレスによって指定する
こともできる。勿論、かかる領域がアクセスされた場合
に、通常マイクロプロセッサに設けられているノンキャ
ッシャブルピンをアサートすることでキャッシングを回
避することもできる。
ロプロセッサによれば、DRAM27及びキャッシュ2
8を内蔵し、そのキャッシングの態様を選択することが
できる。
レッシュ制御の為のリフレッシュタイマ26を付加する
こともできる。図22は制御ブロック303の構成と、
これにリフレッシュ要求を与えるリフレッシュタイマ2
6との関係を示すブロック図である。図22においては
制御ブロック303が図18に示された構成に対し、更
にDRAMアクセス制御回路303f、外部アクセス制
御回路303gを有している構成が示されており、リフ
レッシュタイマ26は直接にはDRAMアクセス制御回
路303fにリフレッシュ要求を与えている。
制御ブロック303を有するBIU3を備えたマイクロ
プロセッサ102の構成を例示するブロック図である。
リフレッシュタイマ26は所定の期間ごとにDRAM2
7をリフレッシュするように要求し、リフレッシュタイ
マ26はCPU1や外部バスマスタ41とは独立して、
DRAM7に対するバスマスタとなる。つまり第1の内
部バスマスタとしてCPU1が、第2のバスマスタとし
てリフレッシュタイマ26が、それぞれ機能する。かか
るリフレッシュ要求はデータMDRRの第7番目のビッ
トの値に基づいて行われる。
る状態でのアクセスの態様を示している。つまりDRA
M27のリフレッシュ中はその他のバスマスタ、例えば
CPU1や外部バスマスタ41はDRAM27をアクセ
スできない。しかしバスID<0:127>が占有され
ているわけではないので、CPU1からのキャッシュ2
8へのアクセスや外部メモリ4へのアクセスは可能であ
る。また外部バスマスタ41がDRAM27をアクセス
し、それがキャッシュ28にヒットした場合も処理する
ことができる。
セス制御回路303fはリフレッシュタイマ26からの
リフレッシュ要求がネゲートされている場合には、情報
C3に基づいてDRAMアクセス要求をDRAM27へ
与える。しかしリフレッシュ要求がアサートされている
場合にはDRAMアクセス要求は無効にされ、DRAM
27へ与えられるリフレッシュ信号をアサートしてRA
M27をリフレッシュする。このようにしてDRAM2
7のリフレッシュ中はその他のバスマスタがDRAM2
7にアクセスすることが禁止される。
部アクセス制御回路303gも情報C3に基づいてそれ
ぞれキャッシュ登録信号をキャッシュ28へ、外部アク
セス要求を外部メモリ4、外部バスマスタ41へ伝達さ
れる。これらの信号により、リフレッシュ信号がアサー
トしている場合には、DRAM27からキャッシュ28
へのキャッシングや、外部バスマスタ41からDRAM
27へのアクセスが禁止される。つまりリフレッシュ中
はDRAM27へのアクセスを伴わないアクセス要求の
みが受け付けられる。
ロプロセッサによれば、バスマスタが内部に複数(例え
ばCPU1とリフレッシュタイマ26)存在してもマイ
クロプロセッサの動作を制御することができる。
のビットの値がパージ制御を行うことを指定してる場
合、キャッシュがライトバック方式であれば、キャッシ
ュにあってdirtyビットがセットされているデータ
がDRAM27に書き戻される。そしてvalidビッ
トのセットが解除される。この際、キャッシュ28から
DRAM27へまたはキャッシュ28から外部メモリ4
へデータが転送されるため、バスID〈0:127〉が
占有され、バスマスタはDRAM27や外部メモリ4に
アクセスすることができない。
DRAM27や外部メモリ4にも更新されるデータが書
き込まれ、パージ制御を行えばキャッシュ28のエント
リに対するvalidビットのセットが解除される。
るハーバードアーキテクチャを採用した場合の構成を例
示するブロック図である。マイクロプロセッサ103に
おいてキャッシュメモリは、いずれも2KBの命令キャ
ッシュ28bとデータキャッシュ28aにセパレートし
て構成することができる。命令キャッシュ28bは命令
のみが載る命令バスII<0:127>を介して、デー
タキャッシュ28aは命令以外のデータのみが載るデー
タバスID<0:127>を介して、それぞれDRAM
27、CPU1、BIU3と接続されている。
28bに対して、DRAM27、外部メモリ41のいず
れをキャッシングの対象とするのかを設定することがで
きる。
図26は2つのマイクロプロセッサ101a,101b
(これらはいずれもマイクロプロセッサ101と同じ構
成を採ることができる)が、アドレスバス58、データ
バスD<0:15>を介して同一の外部バスマスタ4
1、外部メモリ4に接続される態様を示すブロック図で
ある。第1マイクロプロセッサ101a,101bは、
それぞれが内蔵するDRAM27に存在する命令/デー
タを使用してプログラムを処理する。
は、外部バスマスタ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によって行われる。
クロプロセッサ101a,101bに共通のデータを格
納しておき、第1及び第2マイクロプロセッサ101
a,101bのアクセス要求に応じてその内容をリード
することもできる。この際、両方のマイクロプロセッサ
101a,101bのアクセスが競合しないように、そ
れぞれのマイクロプロセッサ101a,101bにマス
タ/スレーブ信号MS1,MS2を与え、これらを排他
的にアサートさせることにより、マイクロプロセッサの
一方をマスタ、他方をスレーブとして機能させることが
できる。ここでマスタ/スレーブとなるマイクロプロセ
ッサはそれぞれ外部メモリ4とアクセスができる/でき
ないという違いを有する。
2のアサート/ネゲートは互いに切り替えることができ
る。ただし現在実行中のバスオペレーションが終了して
からその切り替えが行われるべきである。
それぞれが内蔵するDRAM27には別々のデータを格
納できる。既に図14を用いて説明したように、各マイ
クロプロセッサ101a,101bのアドレス空間にお
いて、DRAM27は、00000000〜001FF
FFF番地に割り当てられるが、これらの物理アドレス
は別々にする必要がある。
ス一つに対して1バイトのデータが蓄えられるとして4
Gバイトの容量を有する)のうちの00000000〜
001FFFFF番地を第1マイクロプロセッサ101
aの内蔵するDRAM27に、01000000〜01
1FFFFF番地を第2マイクロプロセッサ101bの
内蔵するDRAM27に、それぞれ割り当てることがで
きる。これらはいずれも論理空間の内のユーザー空間
(SID=0)において割り当てられている。以上のよ
うにアドレス空間の割り当てを行うことにより、24ビ
ットのアドレスを用いつつ、2つのマイクロプロセッサ
101a,101bはそれぞれ自身の内蔵するDRAM
27に対して別の処理を並行して行うことができる。
ば複数のキャッシュモードをもつことにより、様々な用
途に対して1つのチップで対応可能となり、コスト削減
になる。また、ピン数削減によりコストを減らせる。内
部データバスよりもビット幅の狭い外部データバスに関
し、バースト時のCPUへの転送を制御することによ
り、性能を上げることができる。
プロセッサによれば、第1の内部バスマスタのみなら
ず、外部バスマスタも前記メモリに対するデータの読み
書きを行うことができる。
プロセッサによれば、制御信号が共用されるので、マイ
クロプロセッサに必要なピン数が増大することなく、内
蔵メモリを第1の内部バスマスタのみならず、外部バス
マスタによってもアクセスすることができ、外部メモリ
を第1の内部バスマスタでアクセスすることができる。
プロセッサによれば、アドレスが所定のアドレス境界を
越えても、誤ったデータが転送されることを回避でき
る。
プロセッサによれば、複数の内部バスマスタを内蔵して
もマイクロプロセッサの動作を制御することができる。
プロセッサによれば、命令キャッシュモードや内部共用
キャッシュモード等の複数のキャッシュモードを選択し
てキャッシングを行ったり、あるいはキャッシングを行
わなかったりすることができる。
る。
す場合のプロトコルを示すタイミングチャートである。
場合のプロトコルを示すタイミングチャートである。
タを書き込む場合のプロトコルを示すタイミングチャー
トである。
る場合を示すタイミングチャートである。
ある。
ータを読み出す場合のプロトコルを示すタイミングチャ
ートである。
作を行う手段を示すブロック図である。
作を示すタイミングチャートである。
作を示すタイミングチャートである。
を示す模式図である。
示す模式図である。
成の詳細を示す模式図である。
ロック図である。
に示すブロック図である。
に示すブロック図である。
に示すブロック図である。
ブロック図である。
示すタイミングチャートである。
るブロック図である。
イクロプロセッサの構成を例示するブロック図である。
を示すブロック図である。
外部メモリ、27 DRAM、28 キャッシュメモ
リ、41 外部バスマスタ、101〜103 マイクロ
プロセッサ、301 バッファ、ID<0:127>,
D<0:15>データバス。
Claims (5)
- 【請求項1】 内蔵メモリと、前記メモリに接続される
内部バスと、前記内蔵メモリに対して前記内部バスを介
してアクセスする内部バスマスタと、前記内部バスの動
作を制御するバスインタフェースとを備えるマイクロプ
ロセッサであって、 外部バスマスタ及び外部メモリが外部バスを介して前記
マイクロプロセッサの外部に接続され、 前記マイクロプロセッサは前記内蔵メモリと前記外部メ
モリのデータを登録するキャッシュメモリを更に備え、 前記バスインタフェースは (a)前記内部バスと等しい幅のバッファを有し、 (b)前記外部バスマスタからの内蔵メモリアクセス要
求と前記内部バスマスタの内蔵メモリアクセス要求を調
停し、 (c)前記バッファと外部バスマスタとが前記外部バス
を介してアクセスしている間は内部バスマスタからの前
記内蔵メモリ及び前記キャッシュへのアクセス要求を受
け付ける、マイクロプロセッサ。 - 【請求項2】 前記外部バスマスタが前記内蔵メモリを
アクセスする場合と、前記内部バスマスタが前記外部メ
モリをアクセスする場合とで両者のアクセスを制御する
制御信号が共用される、請求項1記載のマイクロプロセ
ッサ。 - 【請求項3】 前記外部バスマスタが指定する複数のア
ドレスが、前記バッファの容量で決まる所定のアドレス
境界を跨ぐ場合には、前記バッファに蓄えられたデータ
が一旦放出される、請求項1記載のマイクロプロセッ
サ。 - 【請求項4】 内蔵メモリと、前記メモリに接続される
内部バスと、前記内蔵メモリに対して前記内部バスを介
してアクセスする第1及び第2の内部バスマスタと、前
記内部バスの動作を制御するバスインタフェースとを備
え、 前記バスインタフェースは、前記第1の内部バスマスタ
の前記内部メモリに対するアクセス要求が有効である場
合には前記第2の内部バスマスタの前記内部メモリに対
するアクセス要求を無効にするメモリアクセス制御手段
を有するマイクロプロセッサ。 - 【請求項5】 内蔵メモリと、前記内蔵メモリに接続さ
れる内部バスと、前記内部バスに接続されたキャッシュ
メモリと、前記内蔵メモリに対して前記内部バスを介し
てアクセスする内部バスマスタと、前記内部バスの動作
を制御するバスインタフェースとを備えるマイクロプロ
セッサであって、 外部バスマスタ及び外部メモリが外部バスを介して前記
マイクロプロセッサの外部に接続され、 前記マイクロプロセッサは前記内蔵メモリと前記外部メ
モリのデータを登録するキャッシュメモリを更に備え、 前記バスインタフェースは、前記内部バスマスタによる
前記内蔵メモリに対するアクセス要求及び前記外部バス
マスタによる前記内蔵メモリに対するアクセス要求、並
びにキャッシュモードを指定する情報に基づいて前記キ
ャッシュメモリのキャッシング対象を指定する登録信号
を発生するマイクロプロセッサ。
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)
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)
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)
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 |
-
1996
- 1996-09-13 JP JP24337496A patent/JP3934710B2/ja not_active Expired - Fee Related
-
1997
- 1997-01-29 TW TW086101011A patent/TW442731B/zh not_active IP Right Cessation
- 1997-02-21 US US08/803,858 patent/US5915099A/en not_active Expired - Lifetime
- 1997-03-11 KR KR1019970008102A patent/KR100239841B1/ko not_active IP Right Cessation
- 1997-05-23 CN CN97113401A patent/CN1103967C/zh not_active Expired - Fee Related
Cited By (3)
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 |