JP2001117819A - Instruction memory circuit and information processing system - Google Patents

Instruction memory circuit and information processing system

Info

Publication number
JP2001117819A
JP2001117819A JP29561699A JP29561699A JP2001117819A JP 2001117819 A JP2001117819 A JP 2001117819A JP 29561699 A JP29561699 A JP 29561699A JP 29561699 A JP29561699 A JP 29561699A JP 2001117819 A JP2001117819 A JP 2001117819A
Authority
JP
Japan
Prior art keywords
memory
instruction code
fixed area
cache
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP29561699A
Other languages
Japanese (ja)
Inventor
Yasuhisa Kono
泰久 河野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP29561699A priority Critical patent/JP2001117819A/en
Publication of JP2001117819A publication Critical patent/JP2001117819A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve the throughput of a CPU by shortening its stall time. SOLUTION: This invention is constituted by dividing the instruction memory space of a main storage device 7 into an fixed area memory 1 and a cache memory 2.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、命令メモリ空間
を固定領域メモリとキャッシュメモリに分割するように
した命令メモリ回路及び情報処理システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an instruction memory circuit and an information processing system in which an instruction memory space is divided into a fixed area memory and a cache memory.

【0002】[0002]

【従来の技術】図4にキャッシュメモリを使用した従来
の情報処理システムの構成を示す。図4において、CP
U101はキャッシュメモリ102から命令コードをフ
ェッチする。この時に、キャッシュミスした場合には、
主記憶装置103からデータ転送路104を介してキャ
ッシュメモリ102へ命令コードが転送され、その後、
キャッシュミスして主記憶装置103から転送された命
令コードがキャッシュメモリ102からCPU101に
フェッチされる。このように、主記憶装置103からキ
ャッシュメモリ102へ命令コードが転送されている間
は、CPU101はストール状態となる。
2. Description of the Related Art FIG. 4 shows a configuration of a conventional information processing system using a cache memory. In FIG.
U101 fetches an instruction code from the cache memory 102. At this time, if a cache miss occurs,
The instruction code is transferred from the main storage device 103 to the cache memory 102 via the data transfer path 104, and thereafter,
The instruction code transferred from the main storage device 103 due to the cache miss is fetched from the cache memory 102 to the CPU 101. As described above, while the instruction code is being transferred from the main storage device 103 to the cache memory 102, the CPU 101 is in a stalled state.

【0003】一方、CPU101には割り込み処理機能
が備えられている。このようなCPU101が命令の実
行処理中に割り込み処理が発生した時に、この割り込み
処理が発生した以前の命令においてキャッシュミスが発
生し、データ転送路104を介して主記憶装置103か
らキャッシュメモリ102へ命令コードが転送中である
ならば、この転送処理が終了した後に割り込み処理が開
始されていた。
On the other hand, the CPU 101 has an interrupt processing function. When an interrupt process occurs during execution of an instruction by the CPU 101, a cache miss occurs in the instruction before the interrupt process occurs, and the cache memory 102 is transferred from the main storage device 103 to the cache memory 102 via the data transfer path 104. If the instruction code is being transferred, interrupt processing has been started after this transfer processing has been completed.

【0004】このため、迅速な対処が要求される割り込
み処理を発生と同時に開始させることができず、割り込
み処理を迅速に処理することができなかった。さらに、
割り込み処理ルーチンがキャッシュミスした場合には、
再び主記憶装置103からキャッシュメモリ102への
命令コードの転送が必要となるため、割り込み処理にさ
らに多くの時間がかかり、また、CPU101はこの間
ストール状態となり、処理能力が低下していた。
[0004] For this reason, it is not possible to start an interrupt process that requires a quick response as soon as it occurs, and it is not possible to process the interrupt process promptly. further,
If the interrupt handling routine makes a cache miss,
Since the transfer of the instruction code from the main storage device 103 to the cache memory 102 is required again, more time is required for the interrupt processing, and the CPU 101 is in a stalled state during this time, and the processing capability is reduced.

【0005】[0005]

【発明が解決しようとする課題】以上説明したように、
キャッシュメモリを備えた従来の情報処理システムにお
いては、キャッシュミスによるリフィル動作中は、CP
Uはストール状態となり、割り込み処理を行うことがで
きなかった。このため、割り込み処理を迅速に行うこと
が困難となっていた。さらに、割り込み処理を行う命令
コードがキャッシュミスした場合には、CPUのストー
ル時間は長くなり、CPUの処理能力が低下するといっ
た不具合を招いていた。
As described above,
In a conventional information processing system having a cache memory, during a refill operation due to a cache miss, the CP
U was in a stalled state and could not perform interrupt processing. For this reason, it has been difficult to perform interrupt processing quickly. Furthermore, when the instruction code for performing the interrupt process has a cache miss, the stall time of the CPU becomes longer, causing a problem that the processing capability of the CPU is reduced.

【0006】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、CPUのスト
ール時間を低減して処理能力の向上に寄与する命令メモ
リ回路ならびにこの命令メモリ回路を含む情報処理シス
テムを提供することにある。
Accordingly, the present invention has been made in view of the above, and an object of the present invention is to provide an instruction memory circuit which reduces the stall time of a CPU and contributes to an improvement in processing performance, and an instruction memory circuit for the same. It is an object of the present invention to provide an information processing system including:

【0007】[0007]

【課題を解決するための手段】上記目的を達成するため
に、課題を解決する第1の手段は、主記憶装置に格納さ
れた命令コードの一部が格納され、動作中は格納された
命令コードを保持する固定領域メモリと、前記主記憶装
置から前記固定領域メモリに格納された命令コード以外
の前記主記憶装置に格納された命令コードが格納される
キャッシュメモリと、動作開始前には、前記主記憶装置
から前記固定領域メモリに命令コードを転送制御して格
納し、動作中には、命令コードを読み出す読み出しアド
レスを受けて、前記固定領域メモリ又は前記キャッシュ
メモリに格納された命令コードを読み出し、かつキャッ
シュミス時に前記キャッシュメモリのリフィル動作を制
御するキャッシュコントローラと、前記読み出しアドレ
スをデコードし、アクセスされる前記固定領域メモリ又
は前記キャッシュメモリを特定するデコード結果を出力
するデコーダと、前記デコーダの出力を受けて、前記固
定領域メモリ又は前記キャッシュメモリから読み出され
た命令コードを選択する選択器とを有することを特徴と
する。
In order to achieve the above object, a first means for solving the problem is to store a part of an instruction code stored in a main storage device, and to store the stored instruction code during operation. A fixed area memory for holding codes, a cache memory for storing instruction codes stored in the main storage device other than the instruction codes stored in the fixed storage area from the main storage device, and before operation starts, Transfers and stores an instruction code from the main storage device to the fixed area memory.During operation, receives a read address for reading the instruction code, and stores the instruction code stored in the fixed area memory or the cache memory. A cache controller for controlling a refill operation of the cache memory at the time of reading and a cache miss, and decoding the read address; A decoder for outputting a decoding result specifying the fixed area memory or the cache memory to be accessed, and a selector for receiving an output of the decoder and selecting an instruction code read from the fixed area memory or the cache memory And characterized in that:

【0008】第2の手段は、前記第1の手段において、
前記固定領域メモリは、割り込み処理ルーチンの命令コ
ードを格納することを特徴とする。
[0008] The second means is the first means,
The fixed area memory stores an instruction code of an interrupt processing routine.

【0009】第3の手段は、前記第1又は第2の手段の
命令メモリ回路と、前記固定領域メモリ又は前記キャッ
シュメモリから命令コードを読み出して実行処理するC
PUと、前記固定領域メモリ及び前記キャッシュメモリ
に格納される命令コードを格納する主記憶装置とを有す
ることを特徴とする。
The third means includes an instruction memory circuit of the first or second means, and a C for reading and executing an instruction code from the fixed area memory or the cache memory.
It has a PU and a main storage device for storing instruction codes stored in the fixed area memory and the cache memory.

【0010】[0010]

【発明の実施の形態】以下、図面を用いてこの発明の実
施形態を説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0011】図1は本発明の一実施形態に係る命令メモ
リ回路を含む情報処理システムの構成を示す図である。
FIG. 1 is a diagram showing a configuration of an information processing system including an instruction memory circuit according to one embodiment of the present invention.

【0012】図1において、命令メモリ回路は、固定領
域メモリ1、キャッシュメモリ2、キャッシュコントロ
ーラ3、デコーダ4及び選択器5を備えて構成され、こ
の命令メモリ回路とシステムの制御中枢となるCPU6
ならびにこのシステムで実行処理される命令コードを格
納する主記憶装置7を備えて情報処理システムは構成さ
れている。
Referring to FIG. 1, an instruction memory circuit includes a fixed area memory 1, a cache memory 2, a cache controller 3, a decoder 4 and a selector 5. The instruction memory circuit and a CPU 6 serving as a control center of the system.
The information processing system is provided with a main storage device 7 for storing instruction codes to be executed and processed by this system.

【0013】固定領域メモリ1は、主記憶装置7に格納
されてこの情報処理システムにおいて実行処理される命
令コードの全命令空間の一部の空間、例えば1/8の空
間を割り付け、このメモリ領域に例えば割り込み処理を
実行する割り込みルーチンの全部もしくは一部の命令コ
ードが格納される。したがって、固定領域メモリ1は、
CPU6に含まれて、固定領域メモリ1ならびにキャッ
シュメモリ2の読み出しアドレスを与えるプログラムカ
ウンタ(図示せず)のビット数が例えば10ビットとす
ると、このアドレスカウンタの値の上位3ビットの値が
例えば“0”となるメモリ空間として割り当てられる。
固定領域メモリ1は、主記憶装置7から読み出されキャ
ッシュコントローラ3を介して与えられる命令コード
が、キャッシュメモリコントローラ3から与えられるア
ドレスに基づいて書き込まれ、書き込まれた命令コード
は、キャッシュメモリコントローラ3から与えられるア
ドレスに基づいて読み出されて選択器5に出力される。
固定領域メモリ1の書き込み動作は、電源投入後命令コ
ードの実行が開始される前に行われ、システムの動作中
は書き込み動作は行われず、記憶内容は書き換えられる
ことなく保持される。
The fixed area memory 1 allocates a partial space, for example, 1/8 of the entire instruction space of instruction codes stored in the main storage device 7 and executed and processed in the information processing system. For example, all or a part of an instruction code of an interruption routine for executing an interruption process is stored. Therefore, the fixed area memory 1
Assuming that the number of bits of a program counter (not shown) for providing a read address of the fixed area memory 1 and the cache memory 2 included in the CPU 6 is, for example, 10 bits, the value of the upper three bits of the value of the address counter is, for example, " 0 ”is allocated as a memory space.
In the fixed area memory 1, an instruction code read from the main storage device 7 and given through the cache controller 3 is written based on an address given from the cache memory controller 3, and the written instruction code is stored in the cache memory controller 3. 3 and is output to the selector 5 based on the address given from the selector 3.
The write operation of the fixed area memory 1 is performed after the power is turned on and before the execution of the instruction code is started. During the operation of the system, the write operation is not performed, and the stored contents are retained without being rewritten.

【0014】キャッシュメモリ2は、主記憶装置7に格
納され固定領域メモリ1に格納されていない命令コード
が主記憶装置7から転送されて格納される。キャッシュ
メモリ2は、キャッシュコントローラ3から与えられる
アドレスに基づいて書き込みならびに読み出しが行わ
れ、読み出された命令コードは、選択器5に出力され
る。
In the cache memory 2, instruction codes stored in the main memory 7 and not stored in the fixed area memory 1 are transferred from the main memory 7 and stored. Writing and reading are performed in the cache memory 2 based on the address given from the cache controller 3, and the read instruction code is output to the selector 5.

【0015】キャッシュコントローラ3は、CPU6の
プログラムカウンタの値を受けて、この値により固定領
域メモリ1をアクセスし、プログラムカウンタ値に基づ
いてキャッシュメモリ2のリフィル用のアドレスを算出
し、算出したアドレスにしたがってキャッシュメモリ2
をリフィルする。キャッシュコントローラ3は、電源投
入後の動作開始時に、リード要求とリードアドレスを主
記憶装置7に与え、これにより固定領域メモリ1に格納
する命令コードを主記憶装置7から読み出し、読み出さ
れた命令コードを、生成したアドレスにしたがって固定
領域メモリ1に書き込む。キャッシュコントローラ3
は、CPU6から与えられるプログラムカウンタの値に
基づいてキャッシュヒット/ミス判定回路8によりキャ
ッシュヒット/ミスを判定し、判定結果のヒット/ミス
信号(hitmiss)をCPU6に与え、ヒットした
場合はプログラムカウンタの値によりキャッシュメモリ
2をアクセスし、ミスした場合には、リード要求とリー
ドアドレスを主記憶装置7に与え、これによりミスした
命令コードを主記憶装置7から読み出し、読み出された
命令コードを、算出したリフィル用のアドレスにしたが
ってキャッシュメモリ2に書き込む。キャッシュコント
ローラ3は、ステートマシン9により命令コードの転送
を制御する。
The cache controller 3 receives the value of the program counter of the CPU 6, accesses the fixed area memory 1 with this value, calculates the refill address of the cache memory 2 based on the program counter value, and calculates the calculated address. According to the cache memory 2
Refill. The cache controller 3 gives a read request and a read address to the main storage device 7 at the start of operation after the power is turned on, thereby reading an instruction code stored in the fixed area memory 1 from the main storage device 7 and reading the read instruction. The code is written to the fixed area memory 1 according to the generated address. Cache controller 3
Determines a cache hit / miss by the cache hit / miss determination circuit 8 based on the value of the program counter provided from the CPU 6 and supplies a hit / miss signal (hitmiss) of the determination result to the CPU 6. When the cache memory 2 is accessed according to the value of (1) and a miss is made, a read request and a read address are given to the main storage device 7, whereby the missed instruction code is read from the main storage device 7, and the read instruction code is read. , And writes it to the cache memory 2 according to the calculated refill address. The cache controller 3 controls the transfer of the instruction code by the state machine 9.

【0016】デコーダ4は、CPU6から与えられるプ
ログラムカウンタの値を受けて、この値をデコードし、
デコード結果にしたがって選択器5を切り替え制御す
る。固定領域メモリ1のアクセスアドレスが、上述した
ように例えば10ビットのアドレスカウンタ値の上位3
ビットの値が“0”に割り付けられている場合には、プ
ログラムカウンタ値の上位3ビットが“0”の時にデコ
ード結果は例えば“1”となり、それ以外ではデコード
結果は“0”となる。
The decoder 4 receives the value of the program counter provided from the CPU 6 and decodes this value.
The selector 5 is switched and controlled according to the decoding result. As described above, the access address of the fixed area memory 1 is, for example, the upper 3 bits of the 10-bit address counter value.
When the bit value is assigned to "0", the decoding result is, for example, "1" when the upper three bits of the program counter value are "0", and otherwise, the decoding result is "0".

【0017】選択器5は、デコーダ4から与えられるデ
コード結果に基づいて固定領域メモリ1又はキャッシュ
メモリ2から出力された命令コードを選択してCPU6
に与える。すなわち、選択器5は、デコード結果の
“1”が与えられると固定領域メモリ1から出力された
命令コードを選択してCPU6に与え、一方デコード結
果の“0”が与えられるとキャッシュメモリ2から出力
された命令コードを選択してCPU6に与える。
The selector 5 selects an instruction code output from the fixed area memory 1 or the cache memory 2 based on the decoding result given from the decoder 4 and
Give to. That is, the selector 5 selects the instruction code output from the fixed area memory 1 when the decoding result “1” is provided, and provides the selected instruction code to the CPU 6. The output instruction code is selected and given to the CPU 6.

【0018】このような構成において、システムの電源
投入後、主記憶装置7に格納されている例えば割り込み
ルーチンの全部もしくは一部(固定領域メモリ1の記憶
容量に応じて)が、固定領域メモリ1に転送され、キャ
ッシュコントローラ3で生成されたアドレスに基づいて
格納される。
In such a configuration, after the system is powered on, for example, all or a part of the interrupt routine stored in the main storage device 7 (according to the storage capacity of the fixed area memory 1) is stored in the fixed area memory 1 And stored based on the address generated by the cache controller 3.

【0019】この後、CPU6はプログラムの実行処理
を行うために、プログラムカウンタの値に基づいて命令
コードをフェッチする。フェッチしようとする命令コー
ドがキャッシュメモリ2に存在してキャッシュヒットし
た場合には、命令コードはキャッシュメモリ2から選択
器5を介してCPU6に与えられてフェッチされ、命令
コードが順次実行処理される。一方、命令コードのフェ
ッチ動作において、キャッシュミスした場合には、キャ
ッシュコントローラ3の制御の下にミスした命令コード
が主記憶装置7からキャッシュメモリ2に転送されて格
納され、その後キャッシュメモリ2から選択器5を介し
てCPU6に与えられてフェッチされる。命令コードが
主記憶装置7からキャッシュメモリ2に転送されている
間は、CPU6はストール状態となる。
Thereafter, the CPU 6 fetches an instruction code based on the value of the program counter in order to execute a program execution process. When the instruction code to be fetched exists in the cache memory 2 and a cache hit occurs, the instruction code is given from the cache memory 2 to the CPU 6 via the selector 5 and fetched, and the instruction code is sequentially executed. . On the other hand, when a cache miss occurs in the instruction code fetch operation, the missed instruction code is transferred from the main storage device 7 to the cache memory 2 under the control of the cache controller 3 and stored therein. It is given to the CPU 6 via the unit 5 and fetched. While the instruction code is being transferred from the main storage device 7 to the cache memory 2, the CPU 6 is in a stalled state.

【0020】このように、キャッシュミスが発生して主
記憶装置7からキャッシュメモリ2に命令コードが転送
されている間に、割り込み処理が発生した場合には、C
PU6はこの割り込み処理を実行するために割り込みル
ーチンに分岐するために、プログラムカウンタの値を割
り込みルーチンの命令コードをフェッチする値に変更す
る。変更されたプログラムカウンタの値はキャッシュコ
ントローラ3に与えられ、この値に基づいて固定領域メ
モリ1がアクセスされ、割り込みルーチンの命令コード
が固定領域メモリ1から選択器5に読み出される。一
方、プログラムカウンタの値はデコーダ4によりデコー
ドされ、“1”のデコード結果が選択器5に与えられ
る。これにより、固定領域メモリ1から読み出された命
令コードが選択器5により選択され、選択された命令コ
ードはCPU6に与えられてフェッチされる。このよう
に、主記憶装置7からキャッシュメモリ2への命令コー
ドの転送動作と、固定領域メモリ1からの命令コードの
フェッチ動作は並行して行われる。主記憶装置7からキ
ャッシュメモリ2に命令コードが転送されておらず、C
PU6がストールしていない時に割り込み処理が発生し
た場合でも、上記と同様にして固定領域メモリ1から命
令コードがCPU4にフェッチされる。
As described above, when an interrupt process occurs while the instruction code is transferred from the main storage device 7 to the cache memory 2 due to the cache miss, the C
The PU 6 changes the value of the program counter to a value for fetching the instruction code of the interrupt routine in order to branch to the interrupt routine to execute the interrupt processing. The changed value of the program counter is given to the cache controller 3, the fixed area memory 1 is accessed based on this value, and the instruction code of the interrupt routine is read from the fixed area memory 1 to the selector 5. On the other hand, the value of the program counter is decoded by the decoder 4, and the decoding result of “1” is given to the selector 5. As a result, the instruction code read from the fixed area memory 1 is selected by the selector 5, and the selected instruction code is given to the CPU 6 and fetched. As described above, the operation of transferring the instruction code from the main storage device 7 to the cache memory 2 and the operation of fetching the instruction code from the fixed area memory 1 are performed in parallel. The instruction code has not been transferred from the main storage device 7 to the cache memory 2 and C
Even when an interrupt process occurs when the PU 6 is not stalled, the instruction code is fetched from the fixed area memory 1 to the CPU 4 in the same manner as described above.

【0021】CPU6に与えられた命令コードにしたが
って割り込み処理が実行されて終了すると、プログラム
カウンタの値は変更される前の値に戻される。この時点
で、キャッシュメモリ2への転送動作が終了しているな
らば、変更前のプログラムカウンタの値に基づいてプロ
グラムが順次実行処理され、一方、転送が終了していな
い場合には、転送が終了するまでCPU6はストール状
態となる。
When the interrupt processing is executed according to the instruction code given to the CPU 6 and the processing is terminated, the value of the program counter is returned to the value before the change. At this point, if the transfer operation to the cache memory 2 has been completed, the programs are sequentially executed based on the value of the program counter before the change, while if the transfer has not been completed, the transfer is completed. Until the termination, the CPU 6 is in a stalled state.

【0022】したがって、上記実施形態にあっては、キ
ャッシュミス時にキャッシュメモリ2のリフィル動作を
行っている間に、固定領域メモリ1に格納された割り込
みルーチンを実行することが可能となり、割り込み処理
を迅速に実行することができるようになり、キャッシュ
ミスによるCPU6のストール時間を低減でき、CPU
6の処理能力を向上させることができる。
Therefore, in the above embodiment, the interrupt routine stored in the fixed area memory 1 can be executed while the refill operation of the cache memory 2 is performed at the time of a cache miss, and the interrupt processing can be performed. It can be executed quickly, and the stall time of the CPU 6 due to a cache miss can be reduced.
6 can be improved.

【0023】ここで、キャッシュミスによってCPUが
ストール状態となる時間をTとし、キャッシュミスの確
率を平均rとし、実行処理する命令コードのステップ数
をSとすると、CPUが命令コードを処理する間にスト
ール時間t1は、次式で示すようになる。
Here, assuming that the time during which the CPU is stalled due to a cache miss is T, the probability of a cache miss is average r, and the number of steps of the instruction code to be executed is S, the time during which the CPU processes the instruction code The stall time t1 is expressed by the following equation.

【0024】[0024]

【数1】t1=SrT ……(1) 一方、上記実施形態のように固定領域メモリを設けた場
合には、全命令空間に対する固定領域メモリの領域の割
合をA(0≦A≦1)とすると、CPUが命令コードを
処理する間にストール時間t2は、次式で示すようにな
る。
T1 = SrT (1) On the other hand, when the fixed area memory is provided as in the above embodiment, the ratio of the area of the fixed area memory to the entire instruction space is A (0 ≦ A ≦ 1). Then, the stall time t2 while the CPU processes the instruction code is expressed by the following equation.

【0025】[0025]

【数2】 t2=S(1−A)rT=SrT−SArT ……(2) 上式(1)、(2)から明らかなように、ストール時間
t2(式(2))はストール時間t1(式(1))に比
べてSArTの分だけ小さくなっている。したがって、
固定領域メモリを設けることにより、CPUのストール
時間は低減され、固定領域の割合Aを多くするほどスト
ール時間を短くすることができる。反面、固定領域の割
合Aを多くすると、回路規模が大型化してコストが上昇
することになり、これらはストール時間とのトレードオ
フとなる。
T2 = S (1-A) rT = SrT-SArT (2) As is apparent from the above equations (1) and (2), the stall time t2 (equation (2)) is the stall time t1. It is smaller than (Equation (1)) by SArT. Therefore,
By providing the fixed area memory, the stall time of the CPU is reduced, and the stall time can be shortened as the ratio A of the fixed area increases. On the other hand, if the ratio A of the fixed area is increased, the circuit size is increased and the cost is increased, which is a trade-off with the stall time.

【0026】図2は図1に示す命令メモリ回路ならびに
この命令メモリ回路を含む情報処理システムをLSI化
した際の一実施形態を示すブロック図である。図2にお
いて、情報処理システムのLSI21は、1チップ化さ
れてプロセッサモジュール(CRISC)22とMMU
モジュール23を含む複数のモジュールを備えており、
LSI21の外部には外部接続メモリとして主記憶装置
(SDRAM)24が設けられている。プロセッサモジ
ュール22は、rcacheモジュール25、CPUの
コア部分となるrcoreモジュール26、割り込み処
理を制御するrintcopモジュール27を含む複数
のサブモジュールを備えて構成されている。MMUモジ
ュール23は、CRISC22及びLSI21に含まれ
る他のモジュールのアクセス要求を調停し、SDRAM
24とのアクセスを制御するモジュールとして機能す
る。
FIG. 2 is a block diagram showing an embodiment when the instruction memory circuit shown in FIG. 1 and an information processing system including this instruction memory circuit are implemented as an LSI. In FIG. 2, an LSI 21 of the information processing system is integrated into one chip, and a processor module (CRISC) 22 and an MMU
A plurality of modules including a module 23;
A main storage device (SDRAM) 24 is provided outside the LSI 21 as an externally connected memory. The processor module 22 includes a plurality of sub-modules including an rcache module 25, an rcore module 26 serving as a core of the CPU, and a print server module 27 for controlling interrupt processing. The MMU module 23 arbitrates access requests of other modules included in the CRISC 22 and the LSI 21 and
It functions as a module for controlling access to the H.24.

【0027】図3は図2に示すrcacheモジュール
25の一実施形態を示すブロック図である。図3におい
て、rcacheモジュール25は、図1に示す固定領
域メモリ1、キャッシュメモリ2、キャッシュコントロ
ーラ3、デコーダ4ならびに選択器5を備え、固定領域
メモリ1は、例えば32ビット×2048ワードのメモ
リで構成され、キャッシュメモリ2は例えば32ビット
×512ワードのメモリで構成され、デコーダ4は、例
えばプログラムカウンタの上位3ビットを入力するNA
NDゲートで構成されている。rcacheモジュール
25は、プログラムカウンタ値の一部値でアクセスされ
たタグメモリ31から出力されたタグアドレスとプログ
ラムカウンタ値の一部値が比較器32で比較されてキャ
ッシュヒット/ミスが判定され、判定結果のヒット/ミ
ス信号(hitmiss)が出力される。
FIG. 3 is a block diagram showing an embodiment of the rcache module 25 shown in FIG. 3, the rcache module 25 includes the fixed area memory 1, the cache memory 2, the cache controller 3, the decoder 4, and the selector 5 shown in FIG. 1. The fixed area memory 1 is, for example, a memory of 32 bits × 2048 words. The cache memory 2 is composed of a memory of, for example, 32 bits × 512 words, and the decoder 4 is, for example, an NA for inputting the upper 3 bits of a program counter.
It is composed of an ND gate. The rcache module 25 compares the tag address output from the tag memory 31 accessed by the partial value of the program counter value with the partial value of the program counter value by the comparator 32, and determines a cache hit / miss. The resulting hit / miss signal (hitmiss) is output.

【0028】なお、上記実施形態では、固定領域メモリ
1に格納される命令コードは、割り込みルーチンの命令
コードとして説明したが、固定領域メモリ1に格納され
る命令コードは、割り込みルーチンの命令コードに限る
ことはなく、例えばCPU6以外のモジュールのステー
タスを監視する命令コードを格納するようにしても、上
記実施形態と同様の効果を得ることができる。
In the above embodiment, the instruction code stored in the fixed area memory 1 has been described as the instruction code of the interrupt routine. However, the instruction code stored in the fixed area memory 1 is replaced with the instruction code of the interrupt routine. The present invention is not limited to this. For example, even if an instruction code for monitoring the status of a module other than the CPU 6 is stored, the same effect as the above embodiment can be obtained.

【0029】[0029]

【発明の効果】以上説明したように、この発明によれ
ば、主記憶装置の命令メモリ空間を固定領域メモリとキ
ャッシュメモリとに分割するようにしたので、キャッシ
ュミスによるCPUのストール時間が低減され、CPU
の処理能力を向上させることができる。
As described above, according to the present invention, the instruction memory space of the main memory is divided into the fixed area memory and the cache memory, so that the CPU stall time due to a cache miss can be reduced. , CPU
Can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態に係る命令メモリ回路を含
む情報処理システムの構成を示す図である。
FIG. 1 is a diagram illustrating a configuration of an information processing system including an instruction memory circuit according to an embodiment of the present invention.

【図2】図1に示す命令メモリ回路ならびにこの命令メ
モリ回路を含む情報処理システムをLSI化した際の一
実施形態を示すブロック図である。
FIG. 2 is a block diagram showing an embodiment when the instruction memory circuit shown in FIG. 1 and an information processing system including the instruction memory circuit are formed into an LSI.

【図3】図2に示すrcacheモジュールの構成を示
すブロック図である。
FIG. 3 is a block diagram showing a configuration of an rcache module shown in FIG. 2;

【図4】従来の情報処理システムの構成を示す図であ
る。
FIG. 4 is a diagram showing a configuration of a conventional information processing system.

【符号の説明】[Explanation of symbols]

1 固定領域メモリ 2 キャッシュメモリ 3 キャッシュコントローラ 4 デコーダ 5 選択器 6 CPU 7 主記憶装置 8 キャッシュヒット/ミス判定回路 9 ステートマシン 21 LSI 22 プロセッサモジュール(CRISC) 23 MMUモジュール 24 主記憶装置(SDRAM) 25 rcacheモジュール 26 rcoreモジュール 27 rintcopモジュール 31 タグメモリ 32 比較器 DESCRIPTION OF SYMBOLS 1 Fixed area memory 2 Cache memory 3 Cache controller 4 Decoder 5 Selector 6 CPU 7 Main storage device 8 Cache hit / miss judgment circuit 9 State machine 21 LSI 22 Processor module (CRISC) 23 MMU module 24 Main storage device (SDRAM) 25 rcache module 26 rcore module 27 printcomp module 31 tag memory 32 comparator

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 主記憶装置に格納された命令コードの一
部が格納され、動作中は格納された命令コードを保持す
る固定領域メモリと、 前記主記憶装置から前記固定領域メモリに格納された命
令コード以外の前記主記憶装置に格納された命令コード
が格納されるキャッシュメモリと、 動作開始前には、前記主記憶装置から前記固定領域メモ
リに命令コードを転送制御して格納し、動作中には、命
令コードを読み出す読み出しアドレスを受けて、前記固
定領域メモリ又は前記キャッシュメモリに格納された命
令コードを読み出し、かつキャッシュミス時に前記キャ
ッシュメモリのリフィル動作を制御するキャッシュコン
トローラと、 前記読み出しアドレスをデコードし、アクセスされる前
記固定領域メモリ又は前記キャッシュメモリを特定する
デコード結果を出力するデコーダと、 前記デコーダの出力を受けて、前記固定領域メモリ又は
前記キャッシュメモリから読み出された命令コードを選
択する選択器とを有することを特徴とする命令メモリ回
路。
1. A fixed area memory for storing a part of an instruction code stored in a main storage device and holding the stored instruction code during operation, and a command stored in the fixed area memory from the main storage device. A cache memory in which an instruction code stored in the main storage device other than the instruction code is stored; and before starting operation, transfer and store the instruction code from the main storage device to the fixed area memory; A cache controller that receives a read address for reading an instruction code, reads an instruction code stored in the fixed area memory or the cache memory, and controls a refill operation of the cache memory at the time of a cache miss; To decode the fixed area memory or the cache memory to be accessed. An instruction memory circuit, comprising: a decoder that outputs a code result; and a selector that receives an output of the decoder and selects an instruction code read from the fixed area memory or the cache memory.
【請求項2】 前記固定領域メモリは、割り込み処理ル
ーチンの命令コードを格納することを特徴とする請求項
1記載の命令メモリ回路。
2. The instruction memory circuit according to claim 1, wherein said fixed area memory stores an instruction code of an interrupt processing routine.
【請求項3】 前記請求項1又は2記載の命令メモリ回
路と、 前記固定領域メモリ又は前記キャッシュメモリから命令
コードを読み出して実行処理するCPUと、 前記固定領域メモリ及び前記キャッシュメモリに格納さ
れる命令コードを格納する主記憶装置とを有することを
特徴とする情報処理システム。
3. The instruction memory circuit according to claim 1 or 2, a CPU that reads and executes an instruction code from the fixed area memory or the cache memory, and is stored in the fixed area memory and the cache memory. An information processing system, comprising: a main storage device for storing an instruction code.
JP29561699A 1999-10-18 1999-10-18 Instruction memory circuit and information processing system Pending JP2001117819A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29561699A JP2001117819A (en) 1999-10-18 1999-10-18 Instruction memory circuit and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29561699A JP2001117819A (en) 1999-10-18 1999-10-18 Instruction memory circuit and information processing system

Publications (1)

Publication Number Publication Date
JP2001117819A true JP2001117819A (en) 2001-04-27

Family

ID=17822946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29561699A Pending JP2001117819A (en) 1999-10-18 1999-10-18 Instruction memory circuit and information processing system

Country Status (1)

Country Link
JP (1) JP2001117819A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003042837A1 (en) * 2001-11-16 2003-05-22 Renesas Technology Corp. Semiconductor integrated circuit
JP2003234000A (en) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd Semiconductor integrated circuit device, ic card, and test device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003042837A1 (en) * 2001-11-16 2003-05-22 Renesas Technology Corp. Semiconductor integrated circuit
JP2003234000A (en) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd Semiconductor integrated circuit device, ic card, and test device

Similar Documents

Publication Publication Date Title
US6321328B1 (en) Processor having data buffer for speculative loads
US6963962B2 (en) Memory system for supporting multiple parallel accesses at very high frequencies
JP2007219581A (en) Memory controller, and electronic equipment mounted therewith
US20100169546A1 (en) Flash memory access circuit
US7415576B2 (en) Data processor with block transfer control
JP2001216194A (en) Arithmetic processor
WO2001038970A2 (en) Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks
US20030182535A1 (en) Processor apparatus and integrated circuit employing prefetching and predecoding
US20180011636A1 (en) Information processing apparatus and method of accessing a memory
US20030196072A1 (en) Digital signal processor architecture for high computation speed
JP2001117819A (en) Instruction memory circuit and information processing system
JPH11232171A (en) Information processing system
JP3956305B2 (en) Nonvolatile semiconductor memory device and data processing device
JP2009258984A (en) Information processor and load control method
JP2005276104A (en) Microcomputer
JP4034032B2 (en) Microcomputer with built-in cache
US20040103267A1 (en) Data processor having cache memory
JP4151497B2 (en) Pipeline processing equipment
JP2004038601A (en) Cache memory device
JP3785807B2 (en) Control device
JP2000357090A (en) Microcomputer and cache control method
CN112214421A (en) STM32 low-power intelligent cache prefetch
JPH05257807A (en) Cache memory controller
JP2927751B2 (en) Information processing apparatus, information processing method, and scheduling apparatus
JP2000347931A (en) Cache memory and method for controlling cache memory