JPH05100848A - Instruction pre-fetch device - Google Patents
Instruction pre-fetch deviceInfo
- Publication number
- JPH05100848A JPH05100848A JP3262462A JP26246291A JPH05100848A JP H05100848 A JPH05100848 A JP H05100848A JP 3262462 A JP3262462 A JP 3262462A JP 26246291 A JP26246291 A JP 26246291A JP H05100848 A JPH05100848 A JP H05100848A
- Authority
- JP
- Japan
- Prior art keywords
- memory area
- fetch
- program fetch
- memory
- output
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02E60/30—Hydrogen technology
- Y02E60/50—Fuel cells
Landscapes
- Advance Control (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【目的】単一バスによるハードウェア構成でも、命令プ
リフェッチ待ち状態によるパイプラインのアイドルサイ
クル状態を削減でき、現在実行中の処理のスループット
を低下する。
【構成】メモリ領域1,2をアクセスするのに必要なサ
イクル数はメモリ領域1,2に対応してウェイトサイク
ル設定レジスタ5,6にあらかじめ設定する。メモリ領
域1,2をアクセスする命令プリフェッチアドレスはプ
リフェッチアドレスレジスタ9に用意され、アドレスバ
ス3に出力される。プリフェッチアドレスがアドレスバ
ス3に出力されると同時にサイクルカウンタ7,8はロ
ードされた設定レジスタ5,6の値のダウンカウントを
開始する。カウントが終了するとフリップフロップ13,
14に一致信号を出力する。フリップフロップ13,14とA
ND回路17,18は排他制御を行い、メモリ領域1,2の
一方をアクセスする出力イネーブル信号15,16を出力す
る。
(57) [Abstract] [Purpose] Even in a hardware configuration with a single bus, the idle cycle state of the pipeline due to the instruction prefetch wait state can be reduced, and the throughput of the processing currently being executed is reduced. [Structure] The number of cycles required to access the memory areas 1 and 2 is preset in the wait cycle setting registers 5 and 6 corresponding to the memory areas 1 and 2. The instruction prefetch address for accessing the memory areas 1 and 2 is prepared in the prefetch address register 9 and output to the address bus 3. At the same time that the prefetch address is output to the address bus 3, the cycle counters 7 and 8 start counting down the loaded values of the setting registers 5 and 6. When the count ends, flip-flop 13,
Output a match signal to 14. Flip-flops 13, 14 and A
The ND circuits 17 and 18 perform exclusive control and output output enable signals 15 and 16 for accessing one of the memory areas 1 and 2.
Description
【0001】[0001]
【産業上の利用分野】本発明は、異なるメモリ領域で命
令プリフェッチが発生した場合、バスサイクル待ち状態
をできるだけ押さえるために多量でメモリをアクセスす
るプログラムプリフェッチ装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program prefetch device for accessing a large amount of memory in order to suppress a bus cycle wait state as much as possible when an instruction prefetch occurs in different memory areas.
【0002】[0002]
【従来の技術】従来、異なるメモリ、異なる空間に命令
データを配置するシステムでは複数の独立した命令プリ
フェッチユニット、複数のバスを備えて、複数のメモリ
領域に対し並行にアクセスすることにより、命令プリフ
ェッチ待ちによる命令実行待ちを回避するシステムが考
えられている。このようなシステムではハードウェアが
増大し、システム全体が大規模なものとなっている。2. Description of the Related Art Conventionally, in a system in which instruction data is arranged in different memories and different spaces, a plurality of independent instruction prefetch units and a plurality of buses are provided, and instruction prefetch is performed by accessing a plurality of memory areas in parallel. A system that avoids waiting for instruction execution due to waiting has been considered. In such a system, the amount of hardware has increased and the entire system has become large-scale.
【0003】一方、システムの小型化や多機能化、高機
能化あるいは多品種化が進み、ROMやRAMを内蔵し
たCPUをコアとする従来システムから、外部にメモリ
を配置した大容量メモリを備えたシステムに移行する分
野もあり、命令プリフェッチ待ちによる命令実行待ちを
回避するため、従来のような十分なハードウェアにより
構成することは困難となっていた。そのため、単一バ
ス、単一命令プリフェッチユニットによりハードウェア
資源を押さえてシステムを構成した場合、命令プリフェ
ッチ待ちによるシステムスループットが低下していた。On the other hand, as the system becomes smaller, more multifunctional, more sophisticated, and more versatile, it is provided with a large-capacity memory having an external memory arranged from a conventional system having a CPU with a built-in ROM or RAM as a core. In some fields, there is a shift to a system, and it is difficult to configure with sufficient hardware as in the past to avoid waiting for instruction execution due to instruction prefetch. Therefore, when the system is configured by suppressing the hardware resources by the single bus and the single instruction prefetch unit, the system throughput due to the instruction prefetch waiting is lowered.
【0004】[0004]
【発明が解決しようとする課題】本発明は上記従来の問
題を解決するもので、単一バスによるハードウェア構成
でも、命令プリフェッチ待ち状態によるパイプラインの
アイドルサイクル状態を削減でき、現在実行中の処理の
スループットが低下することをできる限り回避できる命
令プリフェッチ装置を提供することを目的としている。SUMMARY OF THE INVENTION The present invention solves the above-mentioned problems of the prior art. Even in a hardware configuration with a single bus, it is possible to reduce the idle cycle state of the pipeline due to the instruction prefetch wait state, and An object of the present invention is to provide an instruction prefetch device capable of avoiding a decrease in processing throughput as much as possible.
【0005】[0005]
【課題を解決するための手段】上記目的を達成するため
に、本発明の命令プリフェッチ装置は、異なるメモリ空
間に対し命令プリフェッチする必要性があったときに、
単一バスを用いて、(1) 多重にアクセスを実行し、プロ
グラムフェッチデータの獲得が同タイミングの場合、常
に決まった方を優先する、(2) 先に発生したメモリ領域
の残りのフェッチサイクルと後で発生したメモリ領域の
フェッチサイクルを比較し、プログラムフェッチデータ
の獲得が同タイミングでないと確認できたときは後のプ
ログラムフェッチを開始する、(3) 多重にアクセスを実
行し、それぞれのメモリ領域に対する任意に設定可能な
プログラムフェッチ動作の優先度を持ち、プログラムフ
ェッチデータの獲得が同タイミングの場合、優先度の高
い方を優先する、のいずれかの手段を用いるものであ
る。In order to achieve the above object, the instruction prefetch device of the present invention, when it is necessary to perform instruction prefetch for different memory spaces,
If a single bus is used, (1) multiple accesses are executed, and when program fetch data is acquired at the same timing, the one that has always been decided has priority, (2) the remaining fetch cycle of the memory area that occurred earlier And the fetch cycle of the memory area that occurred later are compared, and if it is confirmed that the acquisition of the program fetch data is not at the same timing, the subsequent program fetch is started. (3) Multiple access is executed and each memory is executed. One of the means is used, which has a priority of a program fetch operation that can be arbitrarily set for an area, and when the program fetch data is acquired at the same timing, the higher priority is given priority.
【0006】[0006]
【作用】この構成により、単一バスを用いたハードウェ
ア構成であっても、効率よく命令プリフェッチ動作を実
行することができ、命令プリフェッチ待ち状態を削減で
きることから、パイプラインのアイドルサイクルを解消
でき、システムのスループットを向上させることができ
る。With this configuration, even in the hardware configuration using a single bus, the instruction prefetch operation can be executed efficiently and the instruction prefetch waiting state can be reduced, so that the idle cycle of the pipeline can be eliminated. , The throughput of the system can be improved.
【0007】[0007]
【実施例】以下本発明の一実施例について図面を参照し
ながら説明する。図1は本発明のデータの獲得が同タイ
ミングの場合に常に決まった方を優先する命令プリフェ
ッチ装置の構成を示したブロック図、図2は同命令プリ
フェッチ装置のタイミング図である。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration of an instruction prefetch device which always gives priority to a determined one when the data acquisition of the present invention is at the same timing, and FIG. 2 is a timing diagram of the instruction prefetch device.
【0008】図1において、異なるメモリ領域1,2は
同一のアドレスバス3、データバス4に接続されてお
り、このメモリ領域1,2をアクセスするのに必要なサ
イクル数は、メモリ領域1に対応してウェイトサイクル
設定レジスタ5に、メモリ領域2に対応してウェイトサ
イクル設定レジスタ6にあらかじめ設定される。メモリ
領域1,2に対応するウェイトサイクル設定レジスタ
5,6のウェイトサイクルは任意に設定できるが、メモ
リ領域1,2が十分アクセスできる時間でなければなら
ない。In FIG. 1, different memory areas 1 and 2 are connected to the same address bus 3 and data bus 4, and the number of cycles required to access these memory areas 1 and 2 depends on the memory area 1. Correspondingly, it is preset in wait cycle setting register 5 and in wait cycle setting register 6 corresponding to memory area 2. Although the wait cycles of the wait cycle setting registers 5 and 6 corresponding to the memory areas 1 and 2 can be set arbitrarily, it is necessary that the memory areas 1 and 2 have sufficient access time.
【0009】メモリ領域1,2をアクセスする命令プリ
フェッチアドレスはプリフェッチアドレスレジスタ9に
用意され、コントロール部10の制御によりアドレスバス
3に出力される。プリフェッチアドレスがプリフェッチ
アドレスレジスタ9からアドレスバス3に出力されると
同時にメモリ領域1をアクセスしたときはサイクルカウ
ンタ7に、メモリ領域2をアクセスしたときはサイクル
カウンタ8にそれぞれカウント開始信号が出力される。An instruction prefetch address for accessing the memory areas 1 and 2 is prepared in the prefetch address register 9 and output to the address bus 3 under the control of the control unit 10. At the same time that the prefetch address is output from the prefetch address register 9 to the address bus 3, a count start signal is output to the cycle counter 7 when the memory area 1 is accessed and a cycle start signal is output to the cycle counter 8 when the memory area 2 is accessed. .
【0010】ウェイトサイクル設定レジスタ5の値はサ
イクルカウンタ7に、ウェイトサイクル設定レジスタ6
の値はサイクルカウンタ8にロードされ、サイクルカウ
ンタ7,8はメモリ領域1,2を支配するシステムクロ
ック(図示せず)に同期してダウンカウントを開始す
る。サイクルカウンタ7のカウント値は零検出回路11に
より“0”と比較され、一致した場合フリップフロップ
13に一致信号が出力され、保持される。同様に、サイク
ルカウンタ8のカウント値は零検出回路12により“0”
と比較され、一致した場合フリップフロップ14に一致信
号が出力され、保持される。The value of the wait cycle setting register 5 is stored in the cycle counter 7 and the value of the wait cycle setting register 6
Is loaded into the cycle counter 8, and the cycle counters 7 and 8 start down counting in synchronization with a system clock (not shown) that controls the memory areas 1 and 2. The count value of the cycle counter 7 is compared with "0" by the zero detection circuit 11, and if they match, the flip-flop
A match signal is output to 13 and held. Similarly, the count value of the cycle counter 8 is "0" by the zero detection circuit 12.
Is compared, and if they match, a match signal is output to the flip-flop 14 and held.
【0011】フリップフロップ13で保持された信号はメ
モリ領域1に対し出力イネーブル信号15として出力さ
れ、これを受けてメモリ領域1はデータを出力する。一
方、フリップフロップ14で保持された信号は出力イネー
ブル信号15とともにAND回路17,18に入力される。A
ND回路17はフリップフロップ14の出力と出力イネーブ
ル信号15の反転データを入力とし、フリップフロップ14
の出力が“1”で出力イネーブル信号15が“0”のとき
“1”が出力され、メモリ領域2に対する出力イネーブ
ル信号16としてメモリ領域2に出力される。すなわち、
メモリ領域2のみがデータ出力タイミングにあるときは
無条件に出力イネーブル信号16が出力される。The signal held in the flip-flop 13 is output to the memory area 1 as the output enable signal 15, and in response to this, the memory area 1 outputs data. On the other hand, the signal held by the flip-flop 14 is input to the AND circuits 17 and 18 together with the output enable signal 15. A
The ND circuit 17 receives the output of the flip-flop 14 and the inverted data of the output enable signal 15 as input, and
Is "1" and the output enable signal 15 is "0", "1" is output to the memory area 2 as the output enable signal 16 for the memory area 2. That is,
When only the memory area 2 is in the data output timing, the output enable signal 16 is unconditionally output.
【0012】AND回路18はフリップフロップ14の出力
と出力イネーブル信号15を入力とし、フリップフロップ
14の出力が“1”で出力イネーブル信号15が“1”のと
き“1”が出力され、フリップフロップ19で保持される
とともにフリップフロップ14のリセット入力となる。す
なわち、メモリ領域1とメモリ領域2のデータ出力タイ
ミングが同タイミング(零検出回路11,12の一致信号が
同時に出力された場合)であったときは、AND回路18
の出力はメモリ領域2のアクセス禁止を意味している。The AND circuit 18 receives the output of the flip-flop 14 and the output enable signal 15 as input, and
When the output of 14 is "1" and the output enable signal 15 is "1", "1" is output and is held by the flip-flop 19 and serves as a reset input of the flip-flop 14. That is, when the data output timings of the memory area 1 and the memory area 2 are the same timing (when the coincidence signals of the zero detection circuits 11 and 12 are simultaneously output), the AND circuit 18
Means that access to the memory area 2 is prohibited.
【0013】出力イネーブル信号15,16はコントロール
部10に入力されプリフェッチアドレスレジスタ9の更新
や更新したプリフェッチアドレスによるメモリ領域1あ
るいはメモリ領域2に対する次の命令プレフェッチ動作
開始のトリガ信号となる。フリップフロップ19の保持信
号は中断信号20としてコントロール部10に入力されメモ
リ領域2に対して再度命令プリフェッチ動作が開始され
る。The output enable signals 15 and 16 are input to the control unit 10 and serve as trigger signals for starting the next instruction prefetch operation for the memory area 1 or the memory area 2 according to the update of the prefetch address register 9 or the updated prefetch address. The hold signal of the flip-flop 19 is input to the control unit 10 as the interruption signal 20 and the instruction prefetch operation is started again for the memory area 2.
【0014】図2において、メモリ領域1に対するアド
レス出力(図中の“領域1AB”)がまず実行されたと
し、次のサイクルでメモリ領域2に対するアドレス出力
(図中の“領域2AB”)が実行されるとアドレスバス
イネーブル信号(図中の“ABE”、図1では図示せ
ず)がそれぞれのタイミングでメモリ領域1,2に対し
て出力される。データの獲得が同タイミングのとき、メ
モリ領域1に対応する出力イネーブル信号(図中の“D
BE1”)とメモリ領域2に対応する出力イネーブル信
号(図中の“DBE2”)が同タイミングで“1”にな
る。In FIG. 2, it is assumed that the address output to the memory area 1 ("area 1AB" in the figure) is first executed, and the address output to the memory area 2 ("area 2AB" in the figure) is executed in the next cycle. Then, an address bus enable signal (“ABE” in the figure, not shown in FIG. 1) is output to the memory areas 1 and 2 at respective timings. When the data is acquired at the same timing, the output enable signal (“D” in the figure) corresponding to the memory area 1
BE1 ") and the output enable signal (" DBE2 "in the figure) corresponding to the memory area 2 become" 1 "at the same timing.
【0015】ところがメモリ領域1へのアクセスが優先
されるため、中断信号が出力されメモリ領域2に対応す
る出力イネーブル信号を“0”にする。メモリ領域1に
対応する出力イネーブル信号によりメモリ領域1データ
が出力されるが(図中の“領域1DB”)、メモリ領域
2に対応する出力イネーブル信号は“0”となるためメ
モリ領域2のデータは出力されない(図中の“領域2D
B”)。優先度の高いプログラムやアクセスサイクルの
長いメモリを領域1に配置することにより、効率のよい
命令実行ができ、スループットを向上させることができ
る。However, since access to the memory area 1 is prioritized, an interruption signal is output and the output enable signal corresponding to the memory area 2 is set to "0". Although the data in the memory area 1 is output by the output enable signal corresponding to the memory area 1 (“area 1DB” in the figure), the output enable signal corresponding to the memory area 2 becomes “0”, so the data in the memory area 2 is output. Is not output (“area 2D in the figure
B ″). By arranging a high-priority program and a memory with a long access cycle in the area 1, efficient instruction execution can be performed and throughput can be improved.
【0016】図3は先に発生したメモリ領域の残りのフ
ェッチサイクルと後で発生したメモリ領域のフェッチサ
イクルを比較し、プログラムフェッチデータの獲得が同
タイミングでないと確認できたときは後のプログラムフ
ェッチを開始する命令プリフェッチ装置の構成を示した
ブロック図である。先に発生した命令プリフェッチ動作
のメモリアクセスサイクルが設定されたウェイトサイク
ル設定レジスタ21の値は現時点で残りウェイトサイクル
を示すダウンカウンタで構成されるサイクルカウンタ22
に命令プリフェッチアドレス(図示せず)の発生ととも
にローディングされカウントを開始する。FIG. 3 compares the remaining fetch cycle of the memory area generated earlier and the fetch cycle of the memory area generated later, and when it is confirmed that the program fetch data is not acquired at the same timing, the subsequent program fetch is performed. FIG. 3 is a block diagram showing a configuration of an instruction prefetch device for starting the. The value of the wait cycle setting register 21 in which the memory access cycle of the instruction prefetch operation that occurred earlier is set is the cycle counter 22 composed of a down counter indicating the remaining wait cycle at the present time.
When an instruction prefetch address (not shown) is generated, it is loaded and starts counting.
【0017】現在実行中のメモリ領域と異なる領域で命
令プリフェッチが発生した場合、その新たに発生した命
令プリフェッチ領域に対応するウェイトサイクル設定レ
ジスタ23の値と現在のサイクルカウンタ22の値を比較器
24で比較し、(ウェイトサイクル設定レジスタ23の値)
≠(現在のサイクルカウンタ22の値)であればアクセス
許可信号25を出力し、アドレスを出力し命令プリフェッ
チ動作を開始する。バスが単一バスで構成されている場
合、バス競合を容易に押さえることができ、メモリアク
セスの無駄が発生しない。また、(ウェイトサイクル設
定レジスタ23の値)=(現在のサイクルカウンタ22の
値)であってもアドレス発生を1サイクル遅らせれば、
アクセス可能であり、命令プリフェッチ効率低下は最小
限に押さえられる。When an instruction prefetch occurs in an area different from the currently executing memory area, the value of the wait cycle setting register 23 corresponding to the newly generated instruction prefetch area and the value of the current cycle counter 22 are compared with each other.
Compare with 24 (value of wait cycle setting register 23)
If ≠ (current value of the cycle counter 22), the access permission signal 25 is output, the address is output, and the instruction prefetch operation is started. When the bus is composed of a single bus, bus contention can be easily suppressed and waste of memory access does not occur. Even if (value of wait cycle setting register 23) = (current value of cycle counter 22), if address generation is delayed by one cycle,
It is accessible and the reduction in instruction prefetch efficiency is minimized.
【0018】図4はプログラムフェッチデータの獲得が
同タイミングの場合、優先度の高い方を優先する命令プ
リフェッチ装置の構成を示したブロック図である。メモ
リ領域26とメモリ領域27に対し多重に命令プリフェッチ
動作があり、同時にデータ獲得タイミングが発生した場
合に、メモリ領域26あるいはメモリ領域27のいずれのデ
ータを優先し獲得するかを優先度の度数で指定するメモ
リ領域26に対応する優先度レジスタ28とメモリ領域27に
対応する優先度レジスタ29がデータ設定用アドレスバス
30とデータ設定用データバス31上に配置され、ソフトウ
ェアにより任意に設定できる。FIG. 4 is a block diagram showing the configuration of an instruction prefetch device which gives priority to a higher priority when program fetch data is acquired at the same timing. When there are multiple instruction prefetch operations for the memory area 26 and the memory area 27 and the data acquisition timings occur at the same time, which data of the memory area 26 or the memory area 27 is to be preferentially acquired is determined by the frequency of priority. The priority register 28 corresponding to the specified memory area 26 and the priority register 29 corresponding to the memory area 27 are data setting address buses.
It is arranged on the data bus 30 and the data setting data bus 31, and can be arbitrarily set by software.
【0019】優先度レジスタ28,29の設定値は比較器32
に入力され、大小関係が判断され(メモリ領域26の優先
度)≧(メモリ領域27の優先度)の場合、比較結果信号
33は“1”となり、(メモリ領域26の優先度)<(メモ
リ領域27の優先度)の場合、“0”となる。比較結果信
号33が“1(メモリ領域26が優先)”でメモリ領域26,
27のデータ獲得タイミングが同時に発生(メモリ領域26
の内部出力イネーブル信号36とメモリ領域27の内部出力
イネーブル信号38が同時に許可状態)している場合また
はメモリ領域26の内部出力イネーブル信号36が単独に発
生している場合、AND・OR回路34はメモリ領域26に
対する出力イネーブル信号37を発生する。The setting values of the priority registers 28 and 29 are set in the comparator 32.
Is input to, and the magnitude relation is determined (priority of memory area 26) ≥ (priority of memory area 27), the comparison result signal
33 becomes “1” and becomes “0” when (priority of memory area 26) <(priority of memory area 27). When the comparison result signal 33 is "1 (memory area 26 has priority)", the memory area 26,
27 data acquisition timings occur simultaneously (memory area 26
If the internal output enable signal 36 of the memory area 26 and the internal output enable signal 38 of the memory area 27 are simultaneously enabled) or if the internal output enable signal 36 of the memory area 26 is generated independently, the AND / OR circuit 34 An output enable signal 37 for the memory area 26 is generated.
【0020】比較結果信号33が“0(メモリ領域27が優
先)”でメモリ領域26,27のデータ獲得タイミングが同
時に発生(メモリ領域26の内部出力イネーブル信号36と
メモリ領域27の内部出力イネーブル信号38が同時に許可
状態)している場合またはメモリ領域27の内部出力イネ
ーブル信号38が単独に発生している場合、AND・OR
回路35はメモリ領域27に対する出力イネーブル信号39を
発生する。この構成によりデータ獲得タイミングが同時
に発生した場合、排他処理が可能であり、単一の命令フ
ェッチバスでのシステム構成が可能である。When the comparison result signal 33 is "0 (the memory area 27 has priority)", the data acquisition timings of the memory areas 26 and 27 occur simultaneously (the internal output enable signal 36 of the memory area 26 and the internal output enable signal of the memory area 27). If the internal output enable signal 38 of the memory area 27 is generated independently, AND / OR
The circuit 35 generates an output enable signal 39 for the memory area 27. With this configuration, when data acquisition timings occur at the same time, exclusive processing is possible, and a system configuration with a single instruction fetch bus is possible.
【0021】[0021]
【発明の効果】以上のように、本発明によれば、異なる
メモリ空間に対し命令プリフェッチする必要性があった
ときに、単一バスによるハードウェア構成でも、多重に
命令フェッチを実行することができ、またバス競合があ
った場合、回避動作を行なえ、バスサイクルを有効に用
いて命令データを獲得することができる。As described above, according to the present invention, when it is necessary to prefetch instructions for different memory spaces, multiple instruction fetches can be executed even with a hardware configuration using a single bus. In addition, if there is bus contention, the avoidance operation can be performed and the instruction data can be acquired by effectively using the bus cycle.
【図1】本発明の一実施例のデータの獲得が同タイミン
グの場合に常に決まった方を優先する命令プリフェッチ
装置の構成を示したブロック図である。FIG. 1 is a block diagram showing a configuration of an instruction prefetch device which always gives priority to a determined one when data is acquired at the same timing according to an embodiment of the present invention.
【図2】本発明の一実施例の同命令プリフェッチ装置の
タイミング図である。FIG. 2 is a timing diagram of the same instruction prefetch device according to one embodiment of the present invention.
【図3】本発明の他の実施例の先に発生したメモリ領域
の残りのフェッチサイクルと後で発生したメモリ領域の
フェッチサイクルを比較し、プログラムフェッチデータ
の獲得が同タイミングでないと確認できたときは後のプ
ログラムフェッチを開始する命令プリフェッチ装置の構
成を示したブロック図である。FIG. 3 compares the remaining fetch cycle of the memory area generated earlier and the fetch cycle of the memory area generated later according to another embodiment of the present invention, and it has been confirmed that the program fetch data is not acquired at the same timing. FIG. 16 is a block diagram showing a configuration of an instruction prefetch device for starting a later program fetch.
【図4】本発明のさらに他の実施例のプログラムフェッ
チデータの獲得が同タイミングの場合、優先度の高い方
を優先する命令プリフェッチ装置の構成を示したブロッ
ク図である。FIG. 4 is a block diagram showing a configuration of an instruction prefetch device that prioritizes higher priority when program fetch data is acquired at the same timing according to still another embodiment of the present invention.
1,2,26,27 メモリ領域 3 アドレスバス 4 データバス 5,6,21,23 ウェイトサイクル設定レジスタ 7,8,22 サイクルカウンタ 9 プリフェッチアドレスレジスタ 10 コントロール部 11,12 零検出回路 13,14,19 フリップフロップ 15,16 出力イネーブル信号 20 中断信号 24,32 比較器 25 アクセス許可信号 28,29 優先度レジスタ 30 データ設定用アドレスバス 31 データ設定用データバス 36,38 内部出力イネーブル信号 37,39 出力イネーブル信号 1, 2, 26, 27 Memory area 3 Address bus 4 Data bus 5, 6, 21, 23 Wait cycle setting register 7, 8, 22 Cycle counter 9 Prefetch address register 10 Control unit 11, 12 Zero detection circuit 13, 14, 19 Flip-flop 15, 16 Output enable signal 20 Interrupt signal 24, 32 Comparator 25 Access enable signal 28, 29 Priority register 30 Data setting address bus 31 Data setting data bus 36, 38 Internal output enable signal 37, 39 output Enable signal
Claims (3)
るメモリ領域に、同一バスを用いてアクセスする手段
と、すでに発生した第1のメモリ領域のプログラムフェ
ッチ中に第2のメモリ領域のプログラムフェッチの必要
性が発生したときに、前記第2のメモリ領域のフェッチ
動作を実行し、あるいはすでに発生した第2のメモリ領
域のプログラムフェッチ中に第1のメモリ領域のプログ
ラムフェッチの必要性が発生したときに、前記第1のメ
モリ領域のフェッチ動作を実行する手段と、第1のメモ
リ領域のプログラムフェッチデータの獲得と第2のメモ
リ領域のプログラムフェッチデータの獲得とが同タイミ
ングの場合、前記第1のメモリ領域のプログラムフェッ
チを優先し、前記第2のメモリ領域のプログラムフェッ
チを無効にする手段を備えた命令プリフェッチ装置。1. A means for accessing different memory areas in which a program fetch operation exists using the same bus, and the necessity of program fetch of a second memory area during program fetch of a first memory area that has already occurred. When the fetch operation of the second memory area is executed, or when the need for the program fetch of the first memory area occurs during the program fetch of the already generated second memory area, When the means for executing the fetch operation of the first memory area and the acquisition of the program fetch data of the first memory area and the acquisition of the program fetch data of the second memory area have the same timing, the first memory Means for giving priority to the program fetch of the area and invalidating the program fetch of the second memory area Equipped instruction prefetch device.
るメモリ領域に、同一バスを用いてアクセスする手段
と、先に発生した第1のメモリ領域のプログラムフェッ
チ動作開始とともにフェッチサイクルをカウントする手
段と、前記第1のメモリ領域のプログラムフェッチ中に
前記第2のメモリ領域のプログラムフェッチの必要性が
発生したときに、前記第1のメモリ領域のフェッチサイ
クルのカウント数と第2のメモリ領域のフェッチサイク
ルを比較する手段と、第1のメモリ領域のプログラムフ
ェッチデータの獲得と第2のメモリ領域のプログラムフ
ェッチデータの獲得とが同タイミングでないと確認でき
たときは、第2のメモリ領域のプログラムフェッチを開
始する手段を備えた命令プリフェッチ装置。2. A means for accessing different memory areas in which a program fetch operation exists using the same bus, a means for counting a fetch cycle with the start of the program fetch operation of the first memory area which has occurred previously, and When the program fetch of the second memory area is necessary during the program fetch of the first memory area, the count number of the fetch cycle of the first memory area and the fetch cycle of the second memory area are set. When it is confirmed that the means for comparing and the acquisition of the program fetch data in the first memory area and the acquisition of the program fetch data in the second memory area are not at the same timing, the program fetch in the second memory area is started. Instruction prefetch device having means for performing.
るメモリ領域に、同一バスを用いてアクセスする手段
と、それぞれのメモリ領域に対しプログラムフェッチ動
作の優先度を任意に設定する手段と、すでに発生した第
1のメモリ領域のプログラムフェッチ中に第2のメモリ
領域のプログラムフェッチの必要性が発生したときに、
前記第2のメモリ領域のフェッチ動作を実行する手段
と、第1のメモリ領域のプログラムフェッチデータの獲
得と第2のメモリ領域のプログラムフェッチデータの獲
得とが同タイミングの場合、前記第1のメモリ領域の優
先度と前記第1のメモリ領域の優先度とを比較し、前記
優先度の高い方のプログラムフェッチを実行する手段を
備えた命令プリフェッチ装置。3. A means for accessing different memory areas in which a program fetch operation exists using the same bus, a means for arbitrarily setting the priority of the program fetch operation for each memory area, and a means which has already occurred. When the need for program fetch of the second memory area occurs during program fetch of the first memory area,
When the means for executing the fetch operation of the second memory area and the acquisition of the program fetch data of the first memory area and the acquisition of the program fetch data of the second memory area have the same timing, the first memory An instruction prefetch device comprising means for comparing the priority of an area with the priority of the first memory area and executing the program fetch of the higher priority.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3262462A JPH05100848A (en) | 1991-10-11 | 1991-10-11 | Instruction pre-fetch device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3262462A JPH05100848A (en) | 1991-10-11 | 1991-10-11 | Instruction pre-fetch device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05100848A true JPH05100848A (en) | 1993-04-23 |
Family
ID=17376124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3262462A Pending JPH05100848A (en) | 1991-10-11 | 1991-10-11 | Instruction pre-fetch device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05100848A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61241833A (en) * | 1985-04-19 | 1986-10-28 | Nec Corp | Instruction code access controller |
JPS62152043A (en) * | 1985-12-26 | 1987-07-07 | Nec Corp | Control system for instruction code access |
JPS6426233A (en) * | 1987-07-22 | 1989-01-27 | Hitachi Ltd | Microcomputer |
-
1991
- 1991-10-11 JP JP3262462A patent/JPH05100848A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61241833A (en) * | 1985-04-19 | 1986-10-28 | Nec Corp | Instruction code access controller |
JPS62152043A (en) * | 1985-12-26 | 1987-07-07 | Nec Corp | Control system for instruction code access |
JPS6426233A (en) * | 1987-07-22 | 1989-01-27 | Hitachi Ltd | Microcomputer |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4112490A (en) | Data transfer control apparatus and method | |
JP3661235B2 (en) | Shared memory system, parallel processor and memory LSI | |
US4181938A (en) | Processor device | |
JPH11219302A (en) | Method and device affecting subsequent instruction processing in data processor | |
KR20120036301A (en) | Programmable exception processing latency | |
JP3638271B2 (en) | Information processing device | |
JP2012515388A (en) | Improved processing efficiency in large instruction width processors | |
CN115061803A (en) | A multi-core processing system and task scheduling method, chip and storage medium thereof | |
JP3201786B2 (en) | Control method of digital signal processing system | |
US5659760A (en) | Microprocessor having interrupt vector generation unit and vector fetching command unit to initiate interrupt processing prior to returning interrupt acknowledge information | |
US5329621A (en) | Microprocessor which optimizes bus utilization based upon bus speed | |
US20150100759A1 (en) | Pipelined finite state machine | |
JPH05100848A (en) | Instruction pre-fetch device | |
JP2010140239A (en) | Apparatus and method for shortening interrupt latency | |
JP2976850B2 (en) | Data processing device | |
JP2010176403A (en) | Multithread processor device | |
JP4592944B2 (en) | CPU interface circuit | |
JP2770743B2 (en) | Weight control method | |
US20030177229A1 (en) | Microcomputer, bus control circuit, and data access method for a microcomputer | |
EP0640927A1 (en) | Improvements in and relating to local area network adaptors | |
EP0501621A2 (en) | Address prediction and verification for burst cycle data reads | |
WO1994007202A1 (en) | Data processing apparatus | |
JPS6240565A (en) | Memory control system | |
JP2856709B2 (en) | Bus coupling system | |
JPH02252047A (en) | Microprocessor |