JPH06161741A - Simplified instruction cache structuring method - Google Patents

Simplified instruction cache structuring method

Info

Publication number
JPH06161741A
JPH06161741A JP4329942A JP32994292A JPH06161741A JP H06161741 A JPH06161741 A JP H06161741A JP 4329942 A JP4329942 A JP 4329942A JP 32994292 A JP32994292 A JP 32994292A JP H06161741 A JPH06161741 A JP H06161741A
Authority
JP
Japan
Prior art keywords
address
cache
cpu
vram
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
JP4329942A
Other languages
Japanese (ja)
Inventor
Isao Okita
功 沖田
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.)
Lossev Technology Corp
Original Assignee
Lossev Technology 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 Lossev Technology Corp filed Critical Lossev Technology Corp
Priority to JP4329942A priority Critical patent/JPH06161741A/en
Publication of JPH06161741A publication Critical patent/JPH06161741A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the speed of the whole microprocessor by structuring an instruction cache as a fast buffer memory which prereads a program. CONSTITUTION:When a cache counter address does not match a CPU address, the CPU address is set as the serial port head address of a VRAM 3 and the CPU address is set in a cache counter 5. After access by a CPU 1, a next instruction is prepared on a VRAM serial port on the side of a VRAM controller 4 and further a next cache address is prepared in the cache counter 5 on the side of a cache controller 9. If the cache address does not match the CPU address at the time of next instruction access, the CPU address is repeatedly set and when the cache address matches the CPU address, previous data in the VRAM 3 are regarded as the program.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、マイクロプロセッサの
全体の処理速度を高めるために、プログラムを先読みす
る高速バッファメモリとして命令キャシュを構築する方
法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for constructing an instruction cache as a high speed buffer memory for prefetching a program in order to increase the overall processing speed of a microprocessor.

【0002】[0002]

【従来の技術】マイクロプロセッサは、メモリ上にある
プログラムを順次読み出して、実行していくが、一般に
大容量のメモリは、マイクロプロセッサの読み出しに対
して低速であり、プログラム実行速度の低下をまねいて
いる。これを補う方法として、キャシュメモリが用いら
れている。キャシュメモリ方式は、高速なメモリに実行
中のプログラムの一部を先読みしておく方法である。
2. Description of the Related Art Microprocessors sequentially read and execute programs stored in a memory. Generally, a large-capacity memory is slower than the microprocessor can read the program, and the program execution speed is reduced. I am A cache memory is used as a method for compensating for this. The cache memory method is a method of prefetching a part of a program being executed in a high-speed memory.

【0003】従来の方法では、ミスキャシュした場合
(キャシュメモリ上に実行プログラムがなかった場
合)、キャシュメモリにプログラムを置き直すための回
路や、キャシュがヒットした場合(キャシュのアドレス
とプロセッサのアドレスとが一致した場合)を検知する
回路が大変複雑であった。
In the conventional method, in the case of mis-caching (when there is no execution program in the cache memory), a circuit for replacing the program in the cache memory and a cache hit (cache address and processor address) The circuit for detecting (when and match) was very complicated.

【0004】一方、プログラムは、連続性を有してお
り、一般にメモリ上に、連続したアドレスに配置された
命令群であるから、命令分岐さえなければ、今読んだ命
令の次の命令は、今の命令アドレスの次のアドレスに配
置されているはずである。
On the other hand, a program has continuity and is generally an instruction group arranged at consecutive addresses on a memory. Therefore, if there is no instruction branch, the instruction next to the one just read is: It should be located at the address next to the current instruction address.

【0005】VRAM(ビデオラム)の特性として、V
RAMは、シリアルアクセスとランダムアクセスのポー
トを持つDRAMである。このシリアルアクセスポート
は一度アドレスを設定すれば、このアドレスから連続し
たメモリ上のデータを順次出力する事が可能である。
As a characteristic of VRAM (video ram), V
RAM is a DRAM having ports for serial access and random access. This serial access port can sequentially output the data on the continuous memory from this address once the address is set.

【0006】[0006]

【発明の目的】本発明は、マイクロプロセッサの全体の
処理速度を上げるために、プログラムを先読みする高速
バッファメモリとして命令キャシュを構築し、マイクロ
プロセッサの全体の速度を高めることである。
SUMMARY OF THE INVENTION It is an object of the present invention to construct an instruction cache as a high-speed buffer memory for prefetching a program in order to increase the overall processing speed of a microprocessor, thereby increasing the overall speed of the microprocessor.

【0007】[0007]

【発明の解決手段】上記目的のもとに、本発明は、プロ
グラムの連続性とVRAMのシリアルアクセスポート特
性とを組み合わせたものであり、高価高速メモリを使う
事なく、小規模回路で実現可能とする方法であって、 キャシュカウンタアドレスとCPUアドレスとが不一
致の時、VRAMのシリアルポート先頭アドレスにCP
Uアドレスを設定し、またキャシュカウンタアドレスに
CPUアドレスを設定する。 CPUのアクセス後、VRAMコントローラ側で次の
命令をVRAMシリアルポートに準備し、かつキャシュ
コントローラ側でキャシュカウンタに次のキャシュアド
レスを準備する。 次の命令がプログラムの連続性で述べた様に、次のア
ドレスにあれば、CPUアドレスとキャシュアドレスと
が一致するので、VRAMシリアルポートの命令が直ち
に読み込まれる。その後は再びがなされる。次の命令
がもし不一致であればにかえって再設定なされる。 上記のステップを含む簡易命令キャシュ構築方法
であり、もってマイクロプロセッサの全体の処理速度を
高めるようにしている。
Based on the above object, the present invention is a combination of program continuity and VRAM serial access port characteristics, and can be realized in a small-scale circuit without using an expensive high-speed memory. When the cash counter address and the CPU address do not match, the CP is added to the VRAM serial port start address.
The U address is set, and the CPU address is set as the cache counter address. After the access by the CPU, the VRAM controller prepares the next instruction in the VRAM serial port, and the cache controller prepares the next cache address in the cache counter. If the next instruction is at the next address as described in the continuity of the program, the CPU address and the cache address match, so the instruction of the VRAM serial port is immediately read. After that, it is done again. If the next command does not match, it will be reset. This is a method for constructing a simple instruction cache including the steps described above, thereby increasing the overall processing speed of the microprocessor.

【0008】[0008]

【実施例】図1は、全体のシステム構成を示している。
CPU1は、非同期アクセス可能で、プログラムアクセ
スかどうか外部で知ることのできるマイクロプロセッサ
例えばMC68030であり、CPUアドレスバス2に
よって、VRAM3、DRAMコントローラ4、キャシ
ュカウンタ5およびアドレス比較器6に接続されてい
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows the overall system configuration.
The CPU 1 is a microprocessor that can be asynchronously accessed and can know whether it is program access or not, for example, MC68030, and is connected to the VRAM 3, the DRAM controller 4, the cache counter 5, and the address comparator 6 by the CPU address bus 2. .

【0009】VRAM3は、ビデオRAMと呼ばれ、デ
ータをシリアルに入出力するポートS(I/O)とラン
ダムにアクセスできるポートP(I/O)をもち、デー
タバス7によってCPU1に接続されており、データの
アクセスは、DRAMコントローラ4によって行えるよ
うになっている。またアドレス比較器6とキャシュカウ
ンタ5とはキャシュアドレスバス8によって接続されて
いる。そして、アドレス比較器6に接続されたキャシュ
コントローラ9は、VRAM3、DRAMコントローラ
4、キャシュカウンタ5の制御を行う。
The VRAM 3 is called a video RAM, has a port S (I / O) for serially inputting / outputting data and a port P (I / O) for random access, and is connected to the CPU 1 by a data bus 7. Therefore, data access can be performed by the DRAM controller 4. The address comparator 6 and the cash counter 5 are connected by a cash address bus 8. The cache controller 9 connected to the address comparator 6 controls the VRAM 3, the DRAM controller 4, and the cash counter 5.

【0010】VRAM3のランダムアクセスポートP
は、通常のメモリと同様であるが、シリアルポートS
は、先頭アドレスを指定すれば、順次にデータを出力で
きるポートであり、クロック信号と同期して高速な動作
を可能とする。ただし、シリアル出力可能なデータの長
さに限りがある。
Random access port P of VRAM 3
Is the same as a normal memory, except that the serial port S
Is a port that can sequentially output data if a head address is designated, and enables high-speed operation in synchronization with a clock signal. However, the length of data that can be serially output is limited.

【0011】図2は、プログラムの構成を示している。
プログラムは、シリアルに連続した命令群であって、あ
る命令Aが分岐命令でなければ、次の命令Bは、命令A
のアドレス(n+2)の次のアドレス(n+3)に記憶
されている。このため、命令Aの次に命令Bが実行され
る。
FIG. 2 shows the structure of the program.
The program is a group of serially consecutive instructions, and if one instruction A is not a branch instruction, the next instruction B is
Is stored at the address (n + 3) next to the address (n + 2). Therefore, the instruction B is executed next to the instruction A.

【0012】図3は、上記システムでのキャシュ動作の
フローチャートを示している。CPU1でのプログラム
アクセスの開始された後、まず、アドレス比較器6は、
キャシュカウンタ5からのキャシュアドレスとCPU1
からのCPUアドレスとの比較を行い、それらの不一致
な状態を確認する。ここで、DRAMコントローラ4
は、VRAMシリアルポート先頭アドレスにCPUアド
レスを設定する。またキャシュコントローラ9は、キャ
シュカウンタ5にCPUアドレスを設定する。
FIG. 3 shows a flowchart of the cashing operation in the above system. After the program access in the CPU 1 is started, first, the address comparator 6
Cash address from cash counter 5 and CPU 1
The CPU addresses from the above are compared to confirm their inconsistent states. Here, the DRAM controller 4
Sets the CPU address to the VRAM serial port start address. The cash controller 9 also sets the CPU address in the cash counter 5.

【0013】次に、CPUアクセス終了後、DRAMコ
ントローラ4は、VRAMシリアルアクセスポート上に
次のアドレスデータを準備する。また、キャシュカウン
タ5は、キャシュコントローラ9からの命令によって、
キャシュカウンタ5に次のキャシュアドレスを準備す
る。
After the CPU access is completed, the DRAM controller 4 prepares the next address data on the VRAM serial access port. In addition, the cash counter 5 is instructed by the cash controller 9 to
The next cash address is prepared in the cash counter 5.

【0014】この間に、CPU1は、プログラム命令を
実行していく。命令終了後、CPUが次のアクセス時、
アドレス比較器6は、キャシュアドレスとCPUアドレ
スとの比較を行い、不一致時に前の一致させるためのス
テップに戻り、VRAMシリアルポート先頭アドレスお
よびキャシュカウンタにCPUアドレスを設定する。こ
の比較過程で、両者のアドレスが一致しているとき、C
PU1は、VRAMの事前のデータをプログラムとす
る。
During this time, the CPU 1 executes program instructions. After the instruction is completed, when the CPU makes the next access,
The address comparator 6 compares the cache address with the CPU address, returns to the previous step for matching when they do not match, and sets the CPU address in the VRAM serial port start address and the cache counter. In the comparison process, if the addresses of both parties match, C
PU1 uses the data in the VRAM in advance as a program.

【0015】[0015]

【発明の効果】本発明では、マイクロプロセッサの全体
の速度を上げるため、プログラムを先読みする高速バッ
ファメモリとして、命令キャシュを利用しているため、
安価で簡単な回路によって命令キャシュの構築が可能と
なること、またキャシュカウンタのミスのときのリカバ
リータイムが短いこと、などの特有の効果が得られる。
According to the present invention, the instruction cache is used as a high-speed buffer memory for prefetching a program in order to increase the speed of the entire microprocessor.
It is possible to construct an instruction cache with an inexpensive and simple circuit, and a short recovery time when the cache counter is missed.

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

【図1】簡易命令キャシュ構築方法を実施するためのシ
ステムのブロック線図である。
FIG. 1 is a block diagram of a system for implementing a simplified instruction cache building method.

【図2】プログラムの説明図である。FIG. 2 is an explanatory diagram of a program.

【図3】簡易キャシュの動作のフローチャート図であ
る。
FIG. 3 is a flowchart of the operation of the simple cash.

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

1 CPU 2 CPUアドレスバス 3 VRAM 4 DRAMコントローラ 5 キャシュカウンタ 6 アドレス比較器 7 データバス 8 キャシュアドレスバス 9 キャシュコントローラ 1 CPU 2 CPU address bus 3 VRAM 4 DRAM controller 5 cash counter 6 address comparator 7 data bus 8 cash address bus 9 cash controller

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 プログラムの連続性とVRAMのシリア
ルアクセスポート特性とを組み合わせたものであり、高
価高速メモリを使う事なく、小規模回路で実現可能とす
る方法であって、 キャシュカウンタアドレスとCPUアドレスとが不一
致の時、VRAMのシリアルポート先頭アドレスにCP
Uアドレスを設定し、またキャシュカウンタアドレスに
CPUアドレスを設定する。 CPUのアクセス後、VRAMコントローラ側で次の
命令をVRAMシリアルポートに準備し、かつキャシュ
コントローラ側でキャシュカウンタに次のキャシュアド
レスを準備する。 次の命令がプログラムの連続性で述べた様に、次のア
ドレスにあれば、CPUアドレスとキャシュアドレスと
が一致するので、VRAMシリアルポートの命令が直ち
に読み込まれる。その後は再びがなされる。次の命令
がもし不一致であればにかえって再設定なされる。 上記のステップを含むことを特徴とする簡易命令
キャシュ構築方法。
1. A method of combining program continuity and VRAM serial access port characteristics, which is a method that can be realized by a small-scale circuit without using an expensive high-speed memory. When the address does not match, CP is added to the VRAM serial port start address.
The U address is set, and the CPU address is set as the cache counter address. After the CPU access, the VRAM controller side prepares the next instruction in the VRAM serial port, and the cache controller side prepares the next cache address in the cache counter. If the next instruction is at the next address as described in the continuity of the program, the CPU address and the cache address match, so the instruction of the VRAM serial port is immediately read. After that, it is done again. If the next command does not match, it will be reset. A method for constructing a simplified instruction cache, comprising the above steps.
JP4329942A 1992-11-17 1992-11-17 Simplified instruction cache structuring method Pending JPH06161741A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4329942A JPH06161741A (en) 1992-11-17 1992-11-17 Simplified instruction cache structuring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4329942A JPH06161741A (en) 1992-11-17 1992-11-17 Simplified instruction cache structuring method

Publications (1)

Publication Number Publication Date
JPH06161741A true JPH06161741A (en) 1994-06-10

Family

ID=18226993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4329942A Pending JPH06161741A (en) 1992-11-17 1992-11-17 Simplified instruction cache structuring method

Country Status (1)

Country Link
JP (1) JPH06161741A (en)

Similar Documents

Publication Publication Date Title
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
US5388229A (en) Data transmission system which prefetches data to be transferred
JPH06161741A (en) Simplified instruction cache structuring method
US5386521A (en) Instruction prefetching circuit with a next physical address precalculating circuit
JP3462245B2 (en) Central processing unit
JPH1063574A (en) Processor with cache memory
JPH06124207A (en) Sub-routine branching instruction execution method
JP3039391B2 (en) Memory system
JPH08249177A (en) Digital controller
JPH08272608A (en) Pipeline processor
JP2501393B2 (en) Direct memory access device
JPH02217924A (en) Storing processing system for data processor
JPS6391756A (en) Partial write instruction processing system for storage device
JPS61292746A (en) Memory controller
JPS62297954A (en) Memory control system
JPS62145339A (en) Interleaving type storage device
JPH11120119A (en) Information transfer device having arithmetic function
JPH0250498B2 (en)
JPH07210456A (en) Memory controller
JPH07319753A (en) Multiplex system for bus cycle
JPH05298234A (en) Program reading circuit
JPH0444290B2 (en)
JPH03219497A (en) Memory device
JPH04246764A (en) Data processor
JPH11184751A (en) Memory control circuit and memory device