説明

CPUシステム

【課題】高速DRAMを用いたCPUシステムにおいて、分岐命令の処理時におけるCPUのウエイト時間を短縮する。
【解決手段】CPUシステム1は、CPU2の動作速度がSDRAM3のバーストリード時の動作速度以下という条件で動作する。コンパレータ7は、CPU2が分岐命令を処理するときに、命令キャッシュメモリ5に分岐先の命令が格納されているか否かを判定する。命令キャッシュメモリ5に分岐先の命令が格納されている場合、当該命令を命令キャッシュメモリ5から読み出す。これにより、CPU2が分岐命令を処理するときに、SDRAM3において不連続なアドレスをアクセスして命令を読み出す動作が不要となる。また、上記のように命令キャッシュメモリ5がヒットしているとき、SDRAM3に対してランダムアクセスの処理を行う必要がなく、CPU2の動作にウエイトが生じない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、DRAMに格納されたプログラムの命令を一旦キャッシュに読み込んでCPUに供給するCPUシステムに関するものである。
【背景技術】
【0002】
CPU(Central Processing Unit)を中心として構成されるマイクロコンピュータなどのCPUシステムにおいては、メモリから読み出したプログラムを順次実行していく。近年、このようなCPUシステムの動作速度を向上させるため、CPUの動作周波数が年々高められている。
【0003】
また、低コスト化を図るため、メモリとして比較的低速なDRAM(Dynamic Random Access Memory)を用いた場合、CPUの動作に対してDRAMのアクセスが遅いため、CPUシステムの高速動作を実現できない。このため、従来、CPUと低速な外部メモリとの間にキャッシュ(Cashe)を設けることにより、CPUシステムの高速化を達成している(例えば特許文献1参照)。キャッシュは容量の少ない高速なメモリであるため、CPUが必要とするプログラムやデータをキャッシュに一旦読み込んでおき、CPUがキャッシュから必要な部分を読み出す。特に、プログラムの命令を保存するキャッシュは命令キャッシュ(I-Cashe)と呼ばれる。
【0004】
必要な命令が命令キャッシュになければ(ヒットしなければ)、当該命令がDRAMより命令キャッシュに読み込まれるまでCPUが待機(ウエイト)状態となって高速動作性が損なわれる。このため、命令の連続性や反復性などを利用して頻繁に必要とされる命令を予めDRAMから読み出して命令キャッシュに読み込んでおくプリフェッチ(Pre-fetch)という手法が用いられている。これにより、CPUが命令キャッシュに必要な命令を読み出すときにミスヒットすれば、必要な命令がDRAMからプリフェッチバッファに読み込まれるとともに、当該命令がプリフェッチバッファから命令キャッシュおよびCPUへ読み込まれる。したがって、このような動作によって、CPUのウエイトを短くすることができる。
【0005】
従来の命令キャッシュに対するアクセス方法では、上記のような動作が、命令が分岐(jump,branch,call,return)命令であるか否かに関わらず、CPUがアクセスする毎に行われる。
【特許文献1】特開2003−162446号公報(2003年6月6日公開)
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、近年、DRAMの高速化が進んでおり、SDRAM(Synchronous DRAM)、DDR−SDRAM(Double Data Rate DRAM)、RDRAM(Rumbus DRAM)、XDRDRAM(eXtreme Data Rate DRAM )などの高速DRAMが普及してきている。したがって、このような高速DRAMのCPUシステムへの利用も進められている。
【0007】
また、上記のCPUシステムをASIC(Application Specific Integrated Circuit)で作製する場合、フルカスタムASICまたはセミカスタムASICのいずれかを選択することになる。フルカスタムASICで作製する場合は、高集積化が可能であるので、CPUの動作周波数を1GHzのように高くすることができる反面、設計コストが嵩む。一方、ゲートアレイやセルベースといったセミカスタムASICで作製する場合は、予め用意されている標準ゲートや機能ブロックを用いることにより、設計コストを抑えることができる反面、集積度がフルカスタムASICより劣るため、CPUの動作周波数が100MHzのように低い。
【0008】
このようなセミカスタムASICで作製されたCPUシステムにおいて高速DRAMが組み込まれる場合、高速DRAMをバーストリード動作させることによってCPUの動作速度がバーストリード動作の速度以下となることがある。この条件下では、プログラムの命令がDRAMから連続的に順次読み出されるときには、DRAMのバーストリード動作によって命令が読み出されて、プリフェッチバッファを介してCPUに読み込まれるので、ウエイトなしでCPUが命令を読み込むことができる。したがって、この場合は、命令キャッシュを必要としない。これに対し、命令が分岐命令である場合、DRAMにおいては、不連続なアドレスがアクセスされて命令が読み出されるため、CPU内の処理(パイプライン処理)も含めた処理の連続性が崩れる。このとき、DRAMに対しては、RAS(Row Address Strobe)やCAS(Column Address Strobe)の処理を行う必要があるので、この間はCPU動作にウエイトが生じる。
【0009】
本発明は、上記の問題点に鑑みてなされたものであり、高速DRAMを用いたCPUシステムにおいて、分岐命令の処理時におけるCPUのウエイト時間を短縮することを目的としている。
【課題を解決するための手段】
【0010】
本発明に係るCPUシステムは、プログラムを格納し、バーストリード動作の可能な高速DRAMと、前記プログラムにおける分岐命令が指定する分岐先の分岐先命令を少なくとも格納するとともに、当該命令を前記高速DRAMにおいて指定するアドレスを格納する命令キャッシュメモリと、当該命令キャッシュメモリから読み出された前記プログラムの命令を処理し、バーストリード動作時の前記高速DRAMの動作速度以下の動作速度で動作するCPUと、当該CPUが前記高速DRAMから読み出された前記分岐命令を処理したときに、当該分岐命令が指定する前記分岐先命令が前記命令キャッシュメモリに格納されているか否かを判定する判定手段と、前記分岐先命令が前記命令キャッシュメモリに格納されていると判定されると、前記命令キャッシュメモリから読み出された分岐先命令を前記CPUに出力する命令出力手段とを備えていることを特徴としている。
【0011】
上記の構成では、CPUがバーストリード動作時の前記高速DRAMの動作速度以下の動作速度で動作する。この動作条件において、高速DRAMから読み出された命令(非分岐命令)がCPUにおいて連続的に順次処理されるときには、当該命令がDRAMのバーストリード動作によって連続的に読み出されてCPU2に読み込まれる。これにより、ウエイトなしでCPUが命令を読み込むことができる。したがって、この場合は、命令キャッシュメモリから命令を読み出す必要がない。
【0012】
一方、CPUが分岐命令を処理したとき、判定手段によって、当該分岐命令が指定する前記分岐先命令が前記命令キャッシュメモリに格納されているか否かが判定される。そして、分岐先命令が命令キャッシュメモリに格納されていると判定された場合、命令出力手段によって、命令キャッシュメモリから読み出された分岐先命令がCPUに出力される。これにより、分岐先命令が命令キャッシュメモリに格納されていれば、その分岐先命令をCPUに読み込むことにより、分岐命令を処理するときでも、CPUの動作にウエイトが生じることはない。
【0013】
前記CPUシステムにおいて、前記CPUは前記分岐命令を指定するアドレスを出力し、CPUシステムは、前記分岐先命令が前記命令キャッシュメモリに格納されていないと判定されると、前記高速DRAMから前記アドレスに基づいて前記分岐先命令を読み出す読出制御手段を備え、前記命令キャッシュメモリは、前記高速DRAMから読み出された前記分岐先命令を格納することが好ましい。
【0014】
上記の構成においては、判定手段による判定結果が否である場合、読出制御手段によって、CPUから出力されるアドレスに基づいて、高速DRAMから分岐先命令が読み出され、この分岐先命令が命令キャッシュメモリに格納される。この場合は、CPUが分岐命令を処理したときに、命令キャッシュメモリから分岐先命令を読み出すことができないので、分岐先命令が高速DRAMから命令キャッシュメモリに格納されるまでCPUの動作にウエイトが生じてしまう。しかしながら、比較的繰り返して読み込まれることの多い分岐先命令を一旦命令キャッシュメモリに格納しておけば、以降の分岐命令が当該分岐先命令を指定する場合に、当該分岐先命令を命令キャッシュメモリから直ちに読み出すことができる。
【発明の効果】
【0015】
本発明に係るCPUシステムは、以上のように、前述の高速DRAMと、命令キャッシュメモリと、CPUと、判定手段と、命令出力手段とを備えているので、CPUが分岐命令を処理するときに、高速DRAMにおいて、不連続なアドレスをアクセスして命令を読み出す動作が不要となる。したがって、CPU内の処理も含めたCPUシステム全体の処理の連続性を維持することができるという効果を奏する。
【発明を実施するための最良の形態】
【0016】
本発明の実施形態について図1ないし図3に基づいて説明すると、以下の通りである。
【0017】
図1に示すように、CPUシステム1は、CPU2と、SDRAM3と、命令キャッシュメモリ5と、プリフェッチバッファ6と、コンパレータ7と、セレクタ8と、8進カウンタ9と、RSフリップフロップ10と、ANDゲート11,12と、加算器13とを備えている。このCPUシステム1は、例えばセミカスタムASICによって作製されている。
【0018】
なお、図1において各回路間の接続線は、太い実線が複数ビットの信号線を表し、細い実線が1ビットの信号線を表している。
【0019】
CPU2は、入力されるプログラムの命令(プログラムコード)をパイプライン処理によって並列的に処理していくCPUコア2aを有している。このCPU2の動作速度(動作周波数)は、後述するSDRAM3のバーストリード動作時の動作速度(動作周波数)以下である。CPUコア2aは、飛び先アドレスJumpAddおよび分岐命令識別信号BranchSigを出力する。飛び先アドレスJumpAddは、分岐命令によって指定された分岐先の命令であり、当該命令がSDRAM3に格納されている領域のアドレスである。また、分岐命令識別信号BranchSigは、CPUコア2によって処理される命令が分岐命令であるか否かを識別するための信号である。CPUコア2aは、その分岐命令を実行したときに飛び先アドレスJumpAddおよび分岐命令識別信号BranchSigを出力する。つまり、この分岐命令識別信号BranchSigは、命令が分岐命令であるときに“1”であり、命令が分岐命令でないときに“0”である。
【0020】
SDRAM3は、プログラムおよびデータを格納しており、DRAMコントローラ4の制御によって、プログラムおよびデータの読み書きが制御される。SDRAM3は、高速DRAMとしてCPUシステム1に設けられているが、高速DRAMとしては、SDRAM3の代わりに、前述のDDR−SDRAM、RDRAM、XDRDRAMなどが設けられていてもよい。
【0021】
DRAMコントローラ4は、SDRAM3によるプログラムおよびデータの読み書きを制御する制御回路である。ここでは、DRAMコントローラ4のプログラムの読み書きについて説明する。
【0022】
DRAMコントローラ4は、飛び先アドレスJumpAddおよび分岐命令識別信号BranchSigが制御信号として入力される。DRAMコントローラ4は、分岐命令識別信号BranchSigが“1”であるときに加算器13からの飛び先アドレスJumpAddが入力されると、SDRAM3に対してプログラム(プログラムコード)の読み出しの準備動作を行い、当該飛び先アドレスJumpAddの命令を読み出す。上記の準備動作は、具体的には、アクセス先のメモリセルの行アドレスを指定するためのRAS信号の出力や、当該メモリセルの列アドレスを指定するためのCAS信号の出力などである。
【0023】
命令キャッシュメモリ5は、SDRAM3よりも高速動作が可能な小容量のキャッシュメモリである。この命令キャッシュメモリ5は、SDRAM3から読み出された8ステップ分の命令(プログラムコード)と、当該命令のSDRAM3における格納領域のアドレスと、valid/writeビットとを格納する領域をそれぞれ有している。valid/writeビットは、命令キャッシュメモリ5に有効な命令が格納されているときに“1”となり、命令キャッシュメモリ5に有効な命令が格納されていないとき(命令の書き込み可能な状態であるとき)に“0”となる。また、命令キャッシュメモリ5は、分岐命令識別信号BranchSigが“1”であり、かつヒットしなかったときに、SDRAM3から読み出されてプリフェッチバッファ6に書き込まれた命令と同じ命令が書き込まれる。
【0024】
プリフェッチバッファ6は、命令キャッシュメモリ5にプリフェッチするためのバッファメモリであり、例えばFIFO(First In First Out)メモリによって構成されている。このプリフェッチバッファ6は、分岐命令識別信号BranchSigが“1”であり、かつ命令キャッシュメモリ5がヒットしたときに、SDRAM3から読み出された命令が書き込まれる。
【0025】
セレクタ8は、ヒット判別信号Hitが“0”であるときに、入力端子Aから入力されるプリフェッチバッファ6から読み出された命令を出力端子YからCPU2へ出力する。また、セレクタ8は、ヒット判別信号Hitが“1”であるときに、入力端子Bから入力される命令キャッシュメモリ5から読み出された命令を出力端子YからCPU2へ出力する。ヒット判別信号Hitは、命令キャッシュメモリ5がヒットしたか否かを示す信号であり、ヒットしたときに“1”となり、ヒットしなかったときに“0”となる。
【0026】
コンパレータ7は、CPUコア2aから出力される前述の飛び先アドレスJumpAddを命令キャッシュメモリ5に格納されている全てのアドレスと比較するとともに、CPUコア2aから出力される前述の分岐命令識別信号BranchSigを命令キャッシュメモリ5に格納されているvalid/writeビットと比較する。コンパレータ7は、その比較の結果として、両アドレスが一致し、かつ分岐命令識別信号BranchSigとvalid/writeビットとがともに“1”であるときに、“1”のヒット判別信号Hitを出力し、それ以外の場合は“0”のヒット判別信号Hitを出力する。
【0027】
8進カウンタ9は、命令キャッシュメモリ5に命令が8ステップ分書き込まれたことを検知するために設けられている。この8進カウンタ9は、命令キャッシュメモリ5から命令が1ステップ書き込まれる毎に出力されるパルスをカウントし、パルスを8個カウントすると、カウントアップ信号(“1”)を出力するとともに自身をリセットする。
【0028】
RSフリップフロップ10は、CPUコア2aから出力される分岐命令識別信号BranchSigが“0”から“1”に変化するときにセットして、出力端子Qの値を“0”から“1”に変化させる。また、RSフリップフロップ10は、8進カウンタ9から出力されるカウントアップ信号が“0”から“1”に変化するときにリセットして、出力端子Qの値を“1”から“0”に変化させる。これにより、命令キャッシュメモリ5がヒットしたときに、命令が読み出されて命令キャッシュメモリ5における8ステップ分の命令が全て書き替えられるまでに分岐命令識別信号BranchSigの値を保持するとともに、命令の書き替えが終わると、次の新たな分岐命令識別信号BranchSigが出力されるまで、コンパレータ7への入力を“0”にする。
【0029】
ANDゲート11は、ヒット判別信号Hitの反転信号と、RSフリップフロップ10からの出力との論理積を出力する。この論理積は、CPUコア2aにウエイト信号waitとして入力される。CPUコア2aは、“1”のウエイト信号waitが入力されると、待機(ウエイト)状態となり、パイプライン処理を停止する一方、“0”のウエイト信号waitが入力されると、動作してパイプライン処理を行う。
【0030】
ANDゲート12は、コンパレータ7からのヒット判別信号Hitと「8」を示すデータとの論理積を出力する。これにより、ヒット判別信号Hitが“1”であるとき(ヒットしたとき)、入力データがそのまま出力される一方、ヒット判別信号Hitが“0”であるとき(ヒットしなかったとき)、入力データが出力されない。
【0031】
加算器13は、飛び先アドレスJumpAddとANDゲート12からの出力データとを加算してDRAMコントローラ4に出力する。
【0032】
続いて、上記のように構成されるCPUシステム1の動作について説明する。
【0033】
まず、CPUコア2aが分岐命令以外の演算命令を処理するとき、バーストリード動作によってSDRAM3より読み出された命令は、一旦、プリフェッチバッファ6に蓄えられてから、セレクタ8を介してCPU2に与えられる。
【0034】
SDRAM3から読み出された命令(非分岐命令)がCPU2において連続的に順次処理されるときには、当該命令がSDRAM3のバーストリード動作によって連続的に読み出されて、プリフェッチバッファ6を介してCPU2に読み込まれる。これにより、ウエイトなしでCPU2が命令を読み込むことができる。したがって、この場合は、命令キャッシュメモリ5から命令を読み出す必要がない。
【0035】
このとき、RSフリップフロップ10がリセットされている状態であるので、コンパレータ7においては、RSフリップフロップ10の出力“0”とのvalid/writeビット(“1”)とが一致しないと判断され、また、CPUコア2aから飛び先アドレスJumpAddも出力されないことから、コンパレータ7から出力されるヒット判別信号Hitは“0”となる。
【0036】
これにより、セレクタ8は、プリフェッチバッファ6とCPU2とを接続する。また、Sフリップフロップ10の出力が“0”であるので、ウエイト信号waitも“0”となる。また、このとき、CPUコア2aから出力される分岐命令識別信号BranchSigは“0”である。
【0037】
図2に示すように、CPUコア2aが、プリフェッチバッファ6から得た分岐命令BR50を処理するとき、分岐命令識別信号BranchSigが“1”となるので、RSフリップフロップ10がセットされることにより“1”を出力する。また、飛び先アドレスJumpAddがCPUコア2aから出力される。また、このとき、CPUコア2aは、分岐命令BR50に続く命令の処理を中断して、パイプライン処理を停止する。
【0038】
パイプライン停止までに至る動作は、具体的には図3に示すように進行する。まず、ステージ1において時間T1で分岐命令BR50が読み込まれ(フェッチされ)、続くステージ2では、時間T1でアドレス計算命令Addが読み込まれ、時間T2で分岐命令BR50がデコードされる。さらに、ステージ3では、時間T1でロード命令LDが読み込まれ、時間T2でアドレス計算命令Addがデコードされ、時間T3で分岐命令BR50が実行される。これにより、CPUコア2aは、パイプライン処理を停止するとともに、分岐命令識別信号BranchSigを“0”から“1”に変化させる。
【0039】
このように、パイプライン処理により、分岐命令BR50がCPUコア2aに読み込まれてから、分岐命令識別信号BranchSigの値が上記のように変わるまで時間のずれが生じる。また、条件付きの分岐命令もあり、このような分岐命令では条件によってはジャンプしない場合もある。
【0040】
一方、コンパレータ7は、飛び先アドレスJumpAddと命令キャッシュメモリ5に登録されているアドレスとを比較するとともに、RSフリップフロップ10の出力とvalid/writeビットとを比較する。RSフリップフロップ10の出力とvalid/writeビットとがともに“1”であるとき、飛び先アドレスJumpAddと同じアドレスが命令キャッシュメモリ5に登録されていれば、図2に示すように、コンパレータ7から出力されるヒット判別信号Hitは“1”となり、ヒットする。
【0041】
これにより、セレクタ8が命令キャッシュメモリ5とCPU2とを接続する。したがって、命令キャッシュメモリ5から読み出された飛び先アドレスJumpAddにより指定される分岐先の命令SUBとそれに続く7ステップ分の命令が順次読み出され、CPU2に与えられる。
【0042】
命令キャッシュメモリ5から8ステップ分の命令が読み出されると、それに続く新たな命令が必要となる。このため、上記のように命令が命令キャッシュメモリ5から読み出されているときに、加算器13によって、飛び先アドレスJumpAddと、ANDゲート12を介して出力された「8」のデータとが加算され、その結果のアドレス(飛び先アドレスJumpAddから8個後のアドレス)がDRAMコントローラ4に与えられる。DRAMコントローラ4は、そのアドレスに基づいて、SDRAM3から命令を順次読み出していく。読み出された命令は、プリフェッチバッファ6に一旦蓄えられて、CPU2への読み出しのために待機する。
【0043】
このとき、すなわちヒット判別信号Hitが“1”であるとき(ヒットしたとき)は、後述するヒットしなかったときのようにヒットさせるための分岐先の命令を命令キャッシュメモリ5に読み込む必要がない。したがって、命令キャッシュメモリ5には、SDRAM3から読み出された命令が書き込まれない。
【0044】
前述のコンパレータ7の比較において、飛び先アドレスJumpAddと同じアドレスが命令キャッシュメモリ5に登録されていなければ、コンパレータ7から出力されるヒット判別信号Hitは“0”となり、ヒットしない。このとき、ANDゲート11から出力されるウエイト信号waitが“1”となるので、CPU2がウエイト状態となる。また、飛び先アドレスJumpAddは、命令キャッシュメモリ5に格納されて登録されるとともに、そのまま加算器13を介してDRAMコントローラ4に出力される。
【0045】
DRAMコントローラ4は、その飛び先アドレスJumpAddに基づいて、SDRAM3から分岐先の命令とそれに続く命令とを順次読み出していく。読み出された命令は、プリフェッチバッファ6に一旦蓄えられて、CPU2への読み出しのために待機する。また、このとき、ヒット判別信号Hitが“0”であるので、ヒットさせるための分岐先の命令を命令キャッシュメモリ5に読み込む必要がある。したがって、命令キャッシュメモリ5にも、SDRAM3から読み出された命令が書き込まれる。
【0046】
この結果、コンパレータ7による比較で、飛び先アドレスJumpAddと命令キャッシュメモリ5に登録されているアドレスとが一致するので、ヒット判別信号Hitが“1”となる。したがって、この場合は、命令キャッシュメモリ5から、新たに書き込まれた分岐先の命令とそれに続く命令が読み出され、セレクタ8を介してCPU2に与えられる。このとき、ウエイト信号waitが“1”となっていることから、CPU2は、入力された命令を処理していく。
【0047】
このように、本実施の形態のCPUシステム1は、CPU2の動作速度がSDRAM3のバーストリード時の動作速度以下という条件で動作し、CPU2が分岐命令を処理するときに、命令キャッシュメモリ5に分岐先の命令が格納されていれば、当該命令を命令キャッシュメモリ5から読み出す。これにより、CPU2が分岐命令を処理するときに、SDRAM3において、不連続なアドレスをアクセスして命令を読み出す動作が不要となるので、CPU2内の処理(パイプライン処理)も含めた処理の連続性を維持することができる。また、上記のように命令キャッシュメモリ5がヒットしているとき、SDRAM3に対しては、RASやCASの処理を行う必要がなく、CPU2の動作にウエイトが生じない。
【0048】
また、CPUシステム1においては、命令キャッシュメモリ5が分岐先の命令とそれに続く命令の8ステップ分の命令を格納するので、程度まとまったメモリブロック(128バイト単位)を格納する一般の命令キャッシュメモリのように大きい容量を必要としない。
【0049】
本発明は、上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0050】
本発明のCPUシステムは、CPUが分岐命令を処理するときに、命令キャッシュメモリに分岐先の命令が格納されていれば、当該命令を命令キャッシュメモリから読み出すことにより、処理の連続性をより高めることができるので、セミカスタムASICによって作製されるマイクロコンピュータなどのシステムに好適に利用できる。
【図面の簡単な説明】
【0051】
【図1】本発明の実施形態に係るCPUシステムの構成を示すブロック図である。
【図2】上記CPUシステムの動作を示すタイミングチャートである。
【図3】上記CPUシステムにおける分岐命令を処理するときのCPUのパイプライン動作を示す図である。
【符号の説明】
【0052】
1 CPUシステム
2 CPU
2a CPUコア
3 SDRAM(高速DRAM)
4 DRAMコントローラ
5 命令キャッシュメモリ
6 プリフェッチバッファ
7 コンパレータ
8 セレクタ
9 8進カウンタ
10 RSフリップフロップ
11,12 ANDゲート
13 加算器

【特許請求の範囲】
【請求項1】
プログラムを格納し、バーストリード動作の可能な高速DRAMと、
前記プログラムにおける分岐命令が指定する分岐先の分岐先命令を少なくとも格納するとともに、当該命令を前記高速DRAMにおいて指定するアドレスを格納する命令キャッシュメモリと、
当該命令キャッシュメモリから読み出された前記プログラムの命令を処理し、バーストリード動作時の前記高速DRAMの動作速度以下の動作速度で動作するCPUと、
当該CPUが前記高速DRAMから読み出された前記分岐命令を処理したときに、当該分岐命令が指定する前記分岐先命令が前記命令キャッシュメモリに格納されているか否かを判定する判定手段と、
前記分岐先命令が前記命令キャッシュメモリに格納されていると判定されると、前記命令キャッシュメモリから読み出された分岐先命令を前記CPUに出力する命令出力手段とを備えていることを特徴とするCPUシステム。
【請求項2】
前記CPUは前記分岐命令を指定するアドレスを出力し、
CPUシステムは、前記分岐先命令が前記命令キャッシュメモリに格納されていないと判定されると、前記高速DRAMから前記アドレスに基づいて前記分岐先命令を読み出す読出制御手段を備え、
前記命令キャッシュメモリは、前記高速DRAMから読み出された前記分岐先命令を格納することを特徴とする請求項1に記載のCPUシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2008−52518(P2008−52518A)
【公開日】平成20年3月6日(2008.3.6)
【国際特許分類】
【出願番号】特願2006−228362(P2006−228362)
【出願日】平成18年8月24日(2006.8.24)
【出願人】(000134109)株式会社デジタル (224)
【Fターム(参考)】