JPH08328857A - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JPH08328857A
JPH08328857A JP13396595A JP13396595A JPH08328857A JP H08328857 A JPH08328857 A JP H08328857A JP 13396595 A JP13396595 A JP 13396595A JP 13396595 A JP13396595 A JP 13396595A JP H08328857 A JPH08328857 A JP H08328857A
Authority
JP
Japan
Prior art keywords
instruction
signal
address
branch
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
Application number
JP13396595A
Other languages
Japanese (ja)
Inventor
Kiyoshi Nakagawa
清 中川
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP13396595A priority Critical patent/JPH08328857A/en
Publication of JPH08328857A publication Critical patent/JPH08328857A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE: To provide a microprocessor which can prevent reduction of the program execution speed that is caused by an instruction look-ahead operation when a branch instruction exists at a page boundary and also the branching destination is included in a pulse. CONSTITUTION: A microprocessor 1 consists of an instruction prereading device 2, an instruction decoder 3, an instruction execution unit 4 and a memory management unit 5. The device 2 has a function to decide whether a branch instruction exists at a page boundary and a function to stop the instruction look-ahead operation. If the branch instruction exists at the page boundary, the instruction look-ahead operation of the device 2 is discontinued until the branching destination of the branch instruction is decided. When the branching destination is decided, the look-ahead operation is started again through the branching destination address. Thus it is possible to prevent reduction of the program execution speed that is caused by a page fault.

Description

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

【0001】[0001]

【産業上の利用分野】本発明はマイクロプロセッサに関
し、特に仮想記憶機能を有するマイクロプロセッサに関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor, and more particularly to a microprocessor having a virtual memory function.

【0002】[0002]

【従来の技術】従来の、この種の仮想記憶機能を有する
マイクロプロセッサまたは仮想記憶機能を持たないマイ
クロプロセッサにおいて用いられている命令先読み方式
または命令先取り方式としては、例えば、特開昭63−
254532号公報「中央処理装置のアドレス変換方
式」、特開昭60−51947号公報「仮想記憶計算機
における命令先取り方式」および特開昭64−5943
2号公報「命令先取り方式」等において開示されてい
る。以下においては、これらの従来例について、その要
点を説明するものとする。
2. Description of the Related Art A conventional instruction prefetching method or instruction prefetching method used in a microprocessor having such a virtual memory function or a microprocessor having no virtual memory function is disclosed in, for example, JP-A-63-
No. 254532, "Address conversion method of central processing unit", JP-A-60-51947, "Instruction prefetching method in virtual memory computer", and JP-A-64-5943.
It is disclosed in Japanese Laid-Open Patent Publication No. 2 “Instruction Preemption Method”. In the following, the main points of these conventional examples will be described.

【0003】図9は、従来のマイクロプロセッサの1例
の構成を示すブロック図である。図9において、当該マ
イクロプロセッサ21は、命令先読み装置22と、命令
デコーダ3と、命令実行ユニット4と、メモリ管理ユニ
ット23とを備えて構成されており、命令実行ユニット
4より出力される分岐アドレス信号101および分岐先
アドレス確定信号102は、命令先読み装置22の接続
されており、命令先読み装置22は命令キューデータバ
ス103を介して命令デコーダ3に接続され、また命令
デコーダ3より出力される命令デコード信号104は命
令実行ユニット4に接続されている。また、命令先読み
装置22より出力される命令先読みアドレス信号108
は内部アドレスバス110に接続され、命令先読みデー
タバス106を介して内部データバス109に接続され
ている。更に、命令実行ユニット4は、オペランドデー
タバス113を介して内部データバス109に接続され
るとともに、オペランドアドレスバス114を介して内
部アドレスバス110に接続されている。また、メモリ
管理ユニット23は、データバス111を介して内部デ
ータバス109に接続されるとともに、仮想アドレスバ
ス112を介して内部アドレスバス110に接続されて
おり、当該メモリ管理ユニット23より出力されるペー
ジフォール信号105は命令実行ユニット4に送出さ
れ、同じく出力される実アドレス信号116は、マイク
ロプロセッサ21の外部に出力される。
FIG. 9 is a block diagram showing the configuration of an example of a conventional microprocessor. In FIG. 9, the microprocessor 21 includes an instruction prefetching device 22, an instruction decoder 3, an instruction execution unit 4, and a memory management unit 23, and a branch address output from the instruction execution unit 4. The signal 101 and the branch destination address confirmation signal 102 are connected to the instruction prefetching device 22, and the instruction prefetching device 22 is connected to the instruction decoder 3 via the instruction queue data bus 103 and the instruction output from the instruction decoder 3. The decode signal 104 is connected to the instruction execution unit 4. Further, the command prefetch address signal 108 output from the command prefetch device 22.
Are connected to an internal address bus 110, and are connected to an internal data bus 109 via a command prefetch data bus 106. Further, the instruction execution unit 4 is connected to the internal data bus 109 via the operand data bus 113 and is connected to the internal address bus 110 via the operand address bus 114. The memory management unit 23 is connected to the internal data bus 109 via the data bus 111 and also connected to the internal address bus 110 via the virtual address bus 112, and is output from the memory management unit 23. The page fall signal 105 is sent to the instruction execution unit 4, and the real address signal 116 that is also output is output to the outside of the microprocessor 21.

【0004】本従来例における命令先読み装置22の内
部構成は図10に示されるとうりであり、プログラムカ
ウンタ6と、キューンカンタ8と、アドレス加算器9
と、命令キューバッファ10とを備えて構成されてい
る。プログラムカウンタ6からは、分岐アドレス信号1
01の入力を受けて実行アドレス信号118が出力さ
れ、アドレス加算器9に入力される。キューカウンタ8
から出力されるキューカウント信号119は、アドレス
加算器9に入力されるとともに命令キューバッファ10
に入力される。アドレス加算器9においては、実行アド
レス信号118とキューカウント信号119の入力を受
けて、これらの両信号の加算出力が命令先読みアドレス
信号108として出力される。また命令キューバッファ
10は、命令キューデータバス103および命令先読み
データバス106に接続されており、外部からの分岐先
アドレス確定信号102と、前記キューカウント信号1
19が入力されている。
The internal configuration of the instruction prefetching device 22 in this conventional example is as shown in FIG. 10, in which a program counter 6, a kun counter 8 and an address adder 9 are provided.
And an instruction queue buffer 10. Branch address signal 1 from the program counter 6
Upon receiving the input 01, the execution address signal 118 is output and input to the address adder 9. Queue counter 8
The queue count signal 119 output from the instruction queue buffer 10 is input to the address adder 9 and
Is input to The address adder 9 receives the execution address signal 118 and the queue count signal 119, and outputs the addition output of these two signals as the instruction prefetch address signal 108. The instruction queue buffer 10 is connected to the instruction queue data bus 103 and the instruction prefetch data bus 106, and receives a branch destination address confirmation signal 102 from the outside and the queue count signal 1 described above.
19 has been entered.

【0005】また、前記メモリ管理ユニット23の内部
構成が図11に示される。図11において、当該メモリ
管理ユニット23は、アドレス変換バッファ14と、ア
ドレス比較器15とを備えて構成されており、アドレス
変換バッファ14には、データバス111および仮想ア
ドレスバス112が接続されており、アドレス変換デー
タ信号121および実アドレス信号116が出力され
る。また、アドレス比較器15には仮想アドレスバス1
12が接続されるとともに、アドレス変換データ信号1
21が入力されており、ページフォールト信号105が
出力されている。
The internal structure of the memory management unit 23 is shown in FIG. In FIG. 11, the memory management unit 23 includes an address conversion buffer 14 and an address comparator 15, and the address conversion buffer 14 is connected to a data bus 111 and a virtual address bus 112. , Address conversion data signal 121 and real address signal 116 are output. Further, the address comparator 15 has a virtual address bus 1
12 is connected and the address conversion data signal 1
21 is input and the page fault signal 105 is output.

【0006】そして、図12は、仮想記憶の可能なマイ
クロプロセッサ21に対応する、ハードディスクを用い
た仮想メモリシステムを示す図である。マイクロプロセ
ッサ21より出力される実アドレス信号116は実メモ
リ24に入力されており、当該実メモリ24とマイクロ
プロセッサ21は、データバス115を介して接続さ
れ、また、バードディスク25もデータバス115に接
続されている。
FIG. 12 is a diagram showing a virtual memory system using a hard disk corresponding to the microprocessor 21 capable of virtual storage. The real address signal 116 output from the microprocessor 21 is input to the real memory 24, the real memory 24 and the microprocessor 21 are connected via the data bus 115, and the bird disk 25 is also connected to the data bus 115. It is connected.

【0007】次に、本従来例において、命令先読み装置
22を用いてプログラムを実行する際の動作について説
明する。このマイクロプロセッサ21を或るアドレスか
ら実行を開始させる場合には、命令先読み装置26にお
けるプログラムカウンタ6には当該実行開始アドレスが
設定され、そのアドレス値が実行アドレス信号118と
して出力されてアドレス加算器9に入力される。またキ
ューカウンタ8はバスサイクルごとにインクリメントさ
れており、キューカウント信号119が出力されてアド
レス加算器9に入力される。アドレス加算器9において
は、これらの実行アドレス信号118とキューカウント
信号119が加算されて、命令先読みアドレス信号10
8が生成されて出力され、内部アドレスバス110およ
び仮想アドレスバス112を介して、仮想アドレスとし
てメモリ管理ユニット23に入力される。
Next, the operation of executing a program using the instruction prefetching device 22 in the conventional example will be described. When starting the execution of the microprocessor 21 from a certain address, the execution start address is set in the program counter 6 of the instruction prefetching device 26, and the address value is output as the execution address signal 118 and the address adder is added. 9 is input. The queue counter 8 is incremented every bus cycle, and the queue count signal 119 is output and input to the address adder 9. In the address adder 9, the execution address signal 118 and the queue count signal 119 are added, and the instruction prefetch address signal 10 is added.
8 is generated and output, and is input to the memory management unit 23 as a virtual address via the internal address bus 110 and the virtual address bus 112.

【0008】メモリ管理ユニット23においては、与え
られた仮想アドレスが実メモリ24(図12参照)の内
部にローディングされているか否かがチェックされる。
アドレス変換バッファ14には、現在時点において実メ
モリ24内にローディングされているメモリのアドレス
情報が入っており、このアドレス変換バッファ14は、
図11に示されるように、(a)の部分と(b)の部分
との一対のエントリにより構成されている。1つのエン
トリには、(a)の部分に仮想アドレスの値が記録され
ており、(b)の部分に(a)の部分に相当する領域が
実メモリ24のどこに存在するかが記録されている。こ
のことを、“仮想アドレスがアドレス変換バッファ14
に登録されている。”と表現する。仮想アドレスバス1
12は、アドレス変換バッファ14の(a)の部分とア
ドレス比較器15に接続されており、アドレス比較器1
5においては、仮想アドレスバス112を介して入力さ
れる仮想アドレスと、アドレス変換バッファ14の全て
のエントリのアドレス変換データ信号121が比較照合
される。そして、もしも与えられた仮想メモリが実メモ
リ24の中に登録されている場合には、実メモリ上に必
要とされるメモリがロードされているということで、当
該仮想アドレスのメモリが格納されているデータが実ア
ドレス信号116として出力されて、実メモリ24に入
力される。また、もしも必要とされる仮想メモリが実メ
モリ24の中に登録されていない場合には、アドレス比
較器15からはページフォールト信号105が出力され
て、マイクロプロセッサ21内の命令実行ユニット4に
入力される。
In the memory management unit 23, it is checked whether the given virtual address is loaded inside the real memory 24 (see FIG. 12).
The address translation buffer 14 contains address information of the memory loaded in the real memory 24 at the present time.
As shown in FIG. 11, it is composed of a pair of entries of part (a) and part (b). In one entry, the value of the virtual address is recorded in the portion (a), and where in the real memory 24 the area corresponding to the portion (a) is recorded in the portion (b). There is. This means that "the virtual address is the address translation buffer 14
Registered in. Virtual address bus 1
Reference numeral 12 is connected to the portion (a) of the address conversion buffer 14 and the address comparator 15, and the address comparator 1
In 5, the virtual address input via the virtual address bus 112 and the address translation data signal 121 of all the entries of the address translation buffer 14 are compared and collated. If the given virtual memory is registered in the real memory 24, it means that the required memory is loaded on the real memory, and the memory of the virtual address is stored. The stored data is output as the real address signal 116 and input to the real memory 24. If the required virtual memory is not registered in the real memory 24, the page fault signal 105 is output from the address comparator 15 and input to the instruction execution unit 4 in the microprocessor 21. To be done.

【0009】命令実行ユニット4においては、当該ペー
ジフォールト信号105が発生されて入力されると、ハ
ードディスク25(図12参照)から必要とする領域の
実メモリをメインメモリ内にローディングさせ、オペラ
ンドデータバス113、内部データバス109およびデ
ータバス111と、オペランドアドレスバス114、内
部アドレスバス110および仮想アドレスバス112と
を介して、アドレス変換バッファ14のエントリの内容
を更新するための動作が実行される。メモリ管理ユニッ
ト23に与えられた仮想アドレスがアドレス変換バッフ
ァ14に登録されておらず、実メモリ24とハードディ
スク25との間で入替える動作は“ページスワップ”と
呼ばれる。そして、命令先読み時に、命令先読み装置2
2からメモリ管理ユニット23に与えられた仮想アドレ
スが実メモリ24内に存在している場合には、そのアド
レスのデータがデータバス115、内部データバス10
9および命令先読みデータバス106を介して命令キュ
ーバッファ10に入力されて保持される。
In the instruction execution unit 4, when the page fault signal 105 is generated and input, the real memory of the required area is loaded from the hard disk 25 (see FIG. 12) into the main memory, and the operand data bus is loaded. An operation for updating the content of the entry of the address translation buffer 14 is executed via 113, internal data bus 109 and data bus 111, and operand address bus 114, internal address bus 110 and virtual address bus 112. The operation of exchanging the virtual address given to the memory management unit 23 between the real memory 24 and the hard disk 25 because the virtual address is not registered in the address translation buffer 14 is called "page swap". Then, at the time of prefetching the instruction, the instruction prefetching device 2
When the virtual address given to the memory management unit 23 from 2 exists in the real memory 24, the data of the address is stored in the data bus 115 and the internal data bus 10.
9 and the instruction prefetch data bus 106 to be input and held in the instruction queue buffer 10.

【0010】命令キューバッファ10には、バスサイク
ルごとに読み込まれる命令が順次入力されて保持されて
ゆき、保持された順番に逐次命令キューデータバス10
3を介して命令デコーダ3に転送される。命令デコーダ
3内においては当該命令の種類が分類されて、命令デコ
ード信号104が出力され、命令実行ユニット4に対し
て当該命令デコード信号104を介して命令実行方法が
指示される。命令実行ユニット4においては、命令デコ
ーダ3によるデコード結果に従って命令の実行が行われ
る。その実行すべき命令が分岐命令である場合には、当
該分岐先アドレスは、分岐先アドレス信号101により
命令先読み装置22に送られる。これにより、命令先読
み装置22においてはプログラムカウンタ6の値が変更
され、プログラムの分岐が行われる。この分岐命令によ
りプログラム分岐が発生すると、それまで命令先読み装
置22により先読みされていた命令が保持されている命
令キューバッファ10内部の命令がを棄却することが必
要となり、命令実行ユニット4からは分岐先アドレス確
定信号102が出力されて、命令先読み装置22に入力
される。命令先読み装置22においては、当該分岐先ア
ドレス確定信号102は命令キューバッファ10に入力
され、これにより命令キューバッファ10はクリアされ
る。
Instructions to be read every bus cycle are sequentially input to and held in the instruction queue buffer 10, and the instruction queue data bus 10 is sequentially loaded in the order in which they are held.
3 to the instruction decoder 3. In the instruction decoder 3, the type of the instruction is classified, the instruction decode signal 104 is output, and the instruction execution method is instructed to the instruction execution unit 4 through the instruction decode signal 104. In the instruction execution unit 4, the instruction is executed according to the decoding result of the instruction decoder 3. When the instruction to be executed is a branch instruction, the branch destination address is sent to the instruction prefetching device 22 by the branch destination address signal 101. As a result, the value of the program counter 6 in the instruction prefetching device 22 is changed, and the program branches. When a program branch occurs due to this branch instruction, it becomes necessary to reject the instruction inside the instruction queue buffer 10 that holds the instruction that has been prefetched by the instruction prefetching device 22 until then, and the instruction execution unit 4 branches from the instruction execution unit 4. The destination address confirmation signal 102 is output and input to the instruction prefetching device 22. In the instruction read-ahead device 22, the branch destination address determination signal 102 is input to the instruction queue buffer 10, and the instruction queue buffer 10 is cleared thereby.

【0011】なお、メモリ管理ユニット23は、実メモ
リ24を“ページ”と呼ばれる数kバイト単位のバンク
により管理されており、前記ページスワップ動作は、ペ
ージ単位で発生するのみである。また、プログラムの実
行アドレスは、プログラムカウンタ6において示される
が、その値は、命令先読み時に出力される命令先読みア
ドレスと同じか、または命令キューバッファ10の段数
分遅延された値+αという値となる。
The memory management unit 23 manages the real memory 24 in banks called "pages" in units of several kbytes, and the page swap operation only occurs in units of pages. The execution address of the program is indicated by the program counter 6, and its value is the same as the instruction prefetch address output at the time of prefetching the instruction or a value + α delayed by the number of stages of the instruction queue buffer 10. .

【0012】一方、分岐予測を行うマイクロコンピュー
タ(図示されない)の場合における命令先読み装置の構
成例が図13に示される。図13において、この命令先
読み装置26は、プログラムカウンタ6と、キューカウ
ンタ8と、アドレス加算器9と、命令キューバッファ1
0と、分岐履歴バッファ27と、比較器28と、アドレ
ススイッチ29および30とを備えて構成されている。
前述の分岐命令が起きない従来例に対比して、新たに分
岐履歴バッファア27と、比較器28と、アドレススイ
ッチ29および30が付加されている点に差異がある。
この命令先読み装置26の場合には、プログラムカウン
タ6、キューカウンタ8およびアドレス加算器9の動作
については、前述の図10に示される命令先読み装置2
2の場合と同様であるが、このマイクロコンピュータの
場合には、読み出されてくる命令のデータが命令先読み
データバス106に出力されてくる度に、アドレス加算
器9より出力される命令先読みアドレス信号が分岐履歴
バッファ27の分岐アドレスロケーション部に入力さ
れ、命令先読みデータバス106を介して入力される分
岐命令コードが分岐履歴バッファ27の分岐命令コード
部に入力されるとともに、分岐先アドレス信号101
が分岐履歴バッファ27の分岐先アドレス部に入力さ
れる。そして、命令先読みデータバス106を介して入
力される命令データが、以前において実行された分岐命
令であるか否かが、分岐履歴バッファ27の分岐アドレ
スロケーション部ならびに分岐命令コード部からの
データ出力と比較器28において比較照合され、当該命
令データが以前に実行された分岐命令である場合には、
比較器28より一致信号125が出力されてアドレスス
イッチ30に入力される。アドレススイッチ30におい
ては、この一致信号125の入力を受けて、分岐履歴バ
ッファ27の分岐先アドレス部から出力される分岐先
アドレス信号124が、分岐先アドレス信号126とし
て出力され、アドレススイッチ29に転送される。アド
レススイッチ29においては、この分岐先アドレス信号
126を入力を受けて切替操作が行われ、命令先読みア
ドレス信号108が分岐先アドレス信号126に切替え
られる。これにより、本従来例においては、分岐命令の
分岐先アドレスが外れた場合には、命令先読みバッファ
がクリアして外れたアドレスから再度命令フェッチを行
う機能も必要となる。
On the other hand, FIG. 13 shows an example of the structure of an instruction prefetching device in the case of a microcomputer (not shown) for branch prediction. 13, the instruction prefetching device 26 includes a program counter 6, a queue counter 8, an address adder 9, and an instruction queue buffer 1.
0, a branch history buffer 27, a comparator 28, and address switches 29 and 30.
Compared with the conventional example in which the branch instruction does not occur, there is a difference in that a branch history buffer 27, a comparator 28, and address switches 29 and 30 are newly added.
In the case of the instruction prefetching device 26, the operations of the program counter 6, the queue counter 8 and the address adder 9 are the same as the instruction prefetching device 2 shown in FIG.
The same as in the case of 2, but in the case of this microcomputer, the instruction prefetch address output from the address adder 9 every time the data of the read instruction is output to the instruction prefetch data bus 106. The signal is input to the branch address location portion of the branch history buffer 27, the branch instruction code input via the instruction prefetch data bus 106 is input to the branch instruction code portion of the branch history buffer 27, and the branch destination address signal 101
Is input to the branch destination address part of the branch history buffer 27. Whether or not the instruction data input via the instruction prefetch data bus 106 is the previously executed branch instruction is determined by the data output from the branch address location section and the branch instruction code section of the branch history buffer 27. When the instruction data is compared and collated in the comparator 28 and the instruction data is a previously executed branch instruction,
The coincidence signal 125 is output from the comparator 28 and input to the address switch 30. In the address switch 30, in response to the input of the coincidence signal 125, the branch destination address signal 124 output from the branch destination address portion of the branch history buffer 27 is output as the branch destination address signal 126 and transferred to the address switch 29. To be done. The address switch 29 receives the branch destination address signal 126 and performs a switching operation to switch the instruction prefetch address signal 108 to the branch destination address signal 126. As a result, in this conventional example, when the branch destination address of the branch instruction is deviated, the instruction prefetch buffer is cleared and the function of fetching the instruction again from the deviated address is also required.

【0013】[0013]

【発明が解決しようとする課題】上述した従来のマイク
ロプロセッサにおける命令先読み方式においては、マイ
クロプロセッサによる命令の実行時においては、現在実
行中の命令の数命令先が常に先読みされており、分岐命
令がページ境界内に存在していて、当該分岐命令の分岐
先がたとえ現ページ内であっても、命令を先読みした時
点においては分岐先が不明であるために、その先読みし
た分岐命令の次のアドレスの命令、即ちページ越えする
命令も無条件に読み込まれる。そして、このようなペー
ジ越えが生起し、当該アドレスがアドレス変換バッファ
に登録されていない場合には、メモリ管理ユニットにお
いてはページフォ−ルトが発生して、実メモリとハード
ディスク間におけるデータ転送サイクルが起動される状
態となる。一般に、ページフォ−ルトサイクルには時間
がかかるために、このページフォ−ルトサイクル中に分
岐命令の分岐先が確定され、命令先読み手段において
は、その分岐先のアドレスの命令を読み出そうとして
も、メモリ管理ユニットがページフォ−ルト動作状態に
八っており、分岐先アドレスの先読みすることは不可能
である。分岐先がページ外のアドレスである場合には、
このページフォ−ルトサイクルは必要なものではある
が、分岐先がアドレス変換バッファに八っているアドレ
スである場合には、このページフォ−ルトサイクルは無
駄なサイクルということになる。1例として、平均的な
ハードディスクの場合には、データを取り出すために1
0ミリ秒程度の時間がかかるが、先読みした分岐命令が
デコードされて、分岐先アドレスが確定するまでの時間
は1マイクロ秒以下である。即ち、従来のマイクロプロ
セッサにおける命令先読み方式においては、分岐命令が
ページ境界に存在しており、当該分岐命令の分岐先が現
ページ内に存在する場合には、プログラムの実行速度が
低下するという欠点がある。
In the above-mentioned instruction prefetching method in the microprocessor, when the microprocessor executes the instruction, several instructions ahead of the instruction currently being executed are always prefetched, and the branch instruction. Exists within a page boundary and the branch destination of the branch instruction is within the current page, the branch destination is unknown when the instruction is prefetched. The address instruction, that is, the instruction to cross the page is also unconditionally read. When such page crossing occurs and the address is not registered in the address translation buffer, a page fault occurs in the memory management unit, and a data transfer cycle between the real memory and the hard disk occurs. It will be activated. Generally, since the page fault cycle takes a long time, the branch destination of the branch instruction is determined during this page fault cycle, and the instruction prefetch means tries to read the instruction at the branch destination address. However, since the memory management unit is in the page fault operation state, it is impossible to prefetch the branch destination address. If the branch destination is an address outside the page,
This page fault cycle is necessary, but if the branch destination is an address stored in the address translation buffer, this page fault cycle is a wasteful cycle. As an example, in the case of an average hard disk, 1
Although it takes about 0 milliseconds, the time taken for the prefetched branch instruction to be decoded and the branch destination address to be determined is 1 microsecond or less. That is, in the instruction prefetching method in the conventional microprocessor, the branch instruction exists at the page boundary, and if the branch destination of the branch instruction exists in the current page, the execution speed of the program decreases. There is.

【0014】また、分岐命令の分岐先アドレスが確定し
た後において、命令先読み手段としては、当該命令の読
み出しを行う状態となるが、命令実行ユニットとメモリ
管理ユニットにおいてはページスワップ動作に専念して
いる状態にあるため、命令先読み手段としては、この動
作が終了するまでは待機せざるを得ない状態に置かれ
る。このことは、従来の命令先読み方式における問題点
である。一方において、分岐予測方式を採るマイクロコ
ンピュータの場合には、分岐命令を先読みした時点にお
いて、当該分岐命令をどこに分岐するのかを予測するこ
とが可能であり、ページ境界に分岐命令があって、その
分岐先がページ内に存在する場合には、無駄なページフ
ォ−ルトサイクルが発生する確率は低いものの、分岐予
測ための分岐履歴バッファと、当該分岐履歴バッファを
制御するための膨大な回路が必要となり、チップ面積が
増大によるコスト増、ならびに回路の複雑化による信頼
性低下という欠点がある。
Further, after the branch destination address of the branch instruction is determined, the instruction prefetch means is in a state of reading the instruction, but the instruction execution unit and the memory management unit concentrate on the page swap operation. Since the instruction prefetching means is in a state in which it is in a state in which it is forced to wait until this operation is completed. This is a problem in the conventional instruction prefetching method. On the other hand, in the case of a microcomputer adopting the branch prediction method, it is possible to predict where to branch the branch instruction at the time of prefetching the branch instruction, and there is a branch instruction at the page boundary. If the branch destination exists in the page, the probability of unnecessary page fault cycles is low, but a branch history buffer for branch prediction and an enormous circuit for controlling the branch history buffer are required. However, there are drawbacks such as an increase in cost due to an increase in chip area and a decrease in reliability due to a complicated circuit.

【0015】本発明の目的は、分岐命令がページ境界内
に存在し、且つ、その分岐先がページ内にある場合にお
いて、膨大な回路構成を必要とすることなく、命令先読
み動作に起因する不要なページフォ−ルトサイクルに伴
うプログラム実行速度の低下を未然に防止することので
きる命令先読み手段を備えたマイクロプロセッサを提供
することにある。
An object of the present invention is that when a branch instruction exists within a page boundary and the branch destination is within a page, there is no need for an enormous circuit configuration and there is no need for an instruction prefetch operation. Another object of the present invention is to provide a microprocessor equipped with an instruction pre-reading means capable of preventing the program execution speed from being lowered due to various page fault cycles.

【0016】[0016]

【課題を解決するための手段】第1の発明のマイクロプ
ロセッサは、命令先読み手段、命令デコーダ、命令実行
ユニットおよびメモリ管理ユニットを少なくとも含み、
仮想メモリ管理機構を有するマイクロプロセッサにおい
て、前記命令先読み手段が、前記命令実行ユニットより
出力される分岐先アドレス信号の入力を受けて、当該分
岐先アドレス信号に対応する命令実行アドレス信号を出
力するプログラムカウンタと、前記命令実行ユニットよ
り出力される分岐先アドレス確定信号と、前記メモリ管
理ユニットより出力されるページ境界信号との入力を受
けて、所定の命令先読みデータバス上の分岐命令の存在
に対応して、所定レベルの命令先読み停止信号を出力す
る分岐命令判別器と、バスサイクルごとにインクリメン
トされて所定のキューカウント信号を出力する動作機能
を有し、前記所定レベルの命令先読み停止信号により当
該動作機能を制御されるキューカウンタと、前記命令実
行アドレス信号および前記キューカウント信号を入力し
て加算して、前記メモリ管理ユニットに対して命令先読
み動作に対応する命令先読みアドレス信号を出力する動
作機能を有し、前記所定レベルの命令先読み停止信号に
より当該動作機能を制御されるアドレス加算器と、前記
分岐先アドレス確定信号および前記キューカウント信号
の入力状態に対応して、前記命令先読みデータバス上の
分岐命令を順次保持し、当該分岐命令を逐次前記命令デ
コーダに出力する命令キューバッファとを少なくとも備
えて構成され、前記メモリ管理ユニットが、所定のデー
タバスを介して入力されるデータ信号ならびに所定の仮
想アドレスバスを介して入力される仮想アドレス信号を
入力して保持し、前前記データ信号に対応して実アドレ
ス信号を出力し、前記仮想アドレス信号に対応してアド
レス変換データ信号を出力するアドレス変換バッファ
と、前記データバスを介して入力されるデータ信号と前
記アドレス変換データ信号とを入力し、これらの両信号
を比較照合して、当該比較結果としてページフォ−ルト
信号を出力して前記命令実行ユニットに送出するアドレ
ス比較器と、前記アドレス変換バッファより出力される
実アドレス信号を入力して、前記ページ境界信号を生成
して出力するページ境界判別器とを少なくとも備えて構
成されることを特徴としている。
The microprocessor of the first invention includes at least instruction prefetch means, an instruction decoder, an instruction execution unit and a memory management unit,
In the microprocessor having a virtual memory management mechanism, the instruction prefetch means receives a branch destination address signal output from the instruction execution unit and outputs an instruction execution address signal corresponding to the branch destination address signal. Corresponding to the presence of a branch instruction on a predetermined instruction prefetch data bus by receiving a counter, a branch destination address determination signal output from the instruction execution unit, and a page boundary signal output from the memory management unit A branch instruction discriminator that outputs a predetermined level instruction prefetch stop signal and an operation function that outputs a predetermined queue count signal that is incremented for each bus cycle. A queue counter whose operation functions are controlled, and the instruction execution address signal and And the queue count signal are input and added, and an operation function of outputting an instruction prefetch address signal corresponding to the instruction prefetch operation to the memory management unit is provided, and the operation is performed by the instruction prefetch stop signal of the predetermined level. Address adders whose functions are controlled, and branch instructions on the instruction prefetch data bus are sequentially held in correspondence with the input states of the branch destination address confirmation signal and the queue count signal, and the branch instructions are successively output by the instruction. An instruction queue buffer for outputting to a decoder is provided at least, and the memory management unit inputs a data signal input via a predetermined data bus and a virtual address signal input via a predetermined virtual address bus. Then, the real address signal is output corresponding to the previous data signal, and the virtual address is output. Address conversion buffer that outputs an address conversion data signal corresponding to a signal, a data signal input via the data bus and the address conversion data signal are input, and both signals are compared and collated to An address comparator that outputs a page fault signal as a comparison result and sends it to the instruction execution unit, and an actual address signal output from the address translation buffer are input, and the page boundary signal is generated and output. It is characterized by comprising at least a page boundary discriminator.

【0017】また、第2の発明のマイクロプロセッサ
は、命令先読み手段、命令デコーダ、命令実行ユニット
およびメモリ管理ユニットを少なくとも含み、仮想メモ
リ管理機構を有するマイクロプロセッサにおいて、前記
命令先読み手段が、前記命令実行ユニットより出力され
る分岐先アドレス信号の入力を受けて、当該分岐先アド
レス信号に対応する命令実行アドレス信号を出力するプ
ログラムカウンタと、バスサイクルごとにインクリメン
トされて所定のキューカウント信号を出力するキューカ
ウンタと、前記命令実行アドレス信号および前記キュー
カウント信号を入力して加算して、前記メモリ管理ユニ
ットに対して命令先読み動作に対応する命令先読みアド
レス信号を出力するアドレス加算器と、前記分岐先アド
レス確定信号および前記キューカウント信号の入力状態
に対応して、前記命令先読みデータバス上の分岐命令を
順次保持し、当該分岐命令信号を逐次前記命令デコーダ
に出力する命令キューバッファとを少なくとも備えて構
成され、前記メモリ管理ユニットが、所定のデータバス
を介して入力されるデータ信号ならびに所定の仮想アド
レスバスを介して入力される仮想アドレス信号を入力し
て保持し、前前記データ信号に対応して実アドレス信号
を出力し、前記仮想アドレス信号に対応してアドレス変
換データ信号を出力するアドレス変換バッファと、前記
データバスを介して入力されるデータ信号と前記アドレ
ス変換データ信号とを入力し、これらの両信号を比較照
合して、当該比較結果としてページフォ−ルト信号を出
力するアドレス比較器と、前記アドレス変換バッファよ
り出力される実アドレス信号を入力して、所定のページ
境界信号を生成して出力するページ境界判別器と、所定
の先読み命令信号と前記ページ境界信号を入力し、当該
先読み命令信号が分岐命令である場合に、所定の先読み
停止信号を出力する分岐命令判別器と、前記ページフォ
−ルト信号と前記先読み停止信号を入力し、命令実行ユ
ニットより出力される分岐先読みアドレス確定信号を生
成して出力するページフォ−ルトゲートと、を少なくと
も備えて構成されることを特徴としている。
The microprocessor of the second invention includes at least an instruction pre-reading means, an instruction decoder, an instruction execution unit and a memory management unit, and in the microprocessor having a virtual memory management mechanism, the instruction pre-reading means has the instructions. A program counter that receives an input of a branch destination address signal output from the execution unit and outputs an instruction execution address signal corresponding to the branch destination address signal, and a predetermined queue count signal that is incremented every bus cycle A queue counter, an address adder that inputs and adds the instruction execution address signal and the queue count signal, and outputs an instruction prefetch address signal corresponding to an instruction prefetch operation to the memory management unit; Address confirmation signal and In accordance with the input state of the queue count signal, it is configured to include at least an instruction queue buffer that sequentially holds branch instructions on the instruction prefetch data bus and sequentially outputs the branch instruction signals to the instruction decoder, The memory management unit inputs and holds a data signal input via a predetermined data bus and a virtual address signal input via a predetermined virtual address bus, and the real address signal corresponding to the previous data signal. And an address conversion buffer for outputting an address conversion data signal corresponding to the virtual address signal, a data signal input via the data bus and the address conversion data signal, and both signals And an address comparator which outputs a page fault signal as the comparison result, and the address. A page boundary discriminator that inputs a real address signal output from the conversion buffer to generate and output a predetermined page boundary signal, a predetermined prefetch command signal, and the page boundary signal are input, and the prefetch command signal is input. In the case of a branch instruction, a branch instruction discriminator that outputs a predetermined read-ahead stop signal, the page fault signal and the read-ahead stop signal are input, and a branch read-ahead address confirmation signal output from the instruction execution unit is generated. And a page fault gate for outputting the output.

【0018】[0018]

【実施例】次に、本発明について図面を参照して説明す
る。
Next, the present invention will be described with reference to the drawings.

【0019】図1は本発明の第1の実施例の構成を示す
ブロック図である。図1において、当該マイクロプロセ
ッサ1は、命令先読み装置2と、命令デコーダ3と、命
令実行ユニット4と、メモリ管理ユニット5とを備えて
構成されており、命令実行ユニット4より出力される分
岐アドレス信号101および分岐先アドレス確定信号1
02は、命令先読み装置2に接続されている。命令先読
み装置2は命令キューデータバス103を介して命令デ
コーダ3に接続されており、命令デコーダ3より出力さ
れる命令デコード信号104は命令実行ユニット4に接
続されている。また、命令先読み装置2より出力される
命令先読みアドレス信号108は内部アドレスバス11
0に接続されるとともに、当該命令先読み装置2は命令
先読みデータバス106を介して内部データバス109
に接続されている。更に、命令実行ユニット4は、オペ
ランドデータバス113を介して内部データバス109
に接続されるとともに、オペランドアドレスバス114
を介して内部アドレスバス110に接続されている。ま
た、メモリ管理ユニット5は、データバス111を介し
て内部データバス109に接続されるとともに、仮想ア
ドレスバス112を介して内部アドレスバス110に接
続されており、当該メモリ管理ユニット5より出力され
るページフォールト信号105は命令実行ユニット4に
送出され、同じく出力されるページ境界信号107は命
令先読み装置2に入力され、また実アドレス信号116
はマイクロプロセッサ1の外部に出力される。
FIG. 1 is a block diagram showing the configuration of the first embodiment of the present invention. In FIG. 1, the microprocessor 1 includes an instruction prefetching device 2, an instruction decoder 3, an instruction execution unit 4, and a memory management unit 5, and a branch address output from the instruction execution unit 4. Signal 101 and branch destination address confirmation signal 1
02 is connected to the instruction prefetching device 2. The instruction prefetching device 2 is connected to the instruction decoder 3 via the instruction queue data bus 103, and the instruction decode signal 104 output from the instruction decoder 3 is connected to the instruction execution unit 4. Further, the instruction prefetch address signal 108 output from the instruction prefetch device 2 is the internal address bus 11
The instruction prefetching device 2 is connected to the internal data bus 109 via the instruction prefetch data bus 106.
It is connected to the. Further, the instruction execution unit 4 uses the internal data bus 109 via the operand data bus 113.
And the operand address bus 114
Is connected to the internal address bus 110 via. Further, the memory management unit 5 is connected to the internal data bus 109 via the data bus 111 and to the internal address bus 110 via the virtual address bus 112, and is output from the memory management unit 5. The page fault signal 105 is sent to the instruction execution unit 4, the page boundary signal 107 that is also output is input to the instruction prefetch unit 2, and the real address signal 116 is also input.
Is output to the outside of the microprocessor 1.

【0020】本実施例における命令先読み装置2の内部
構成は図2に示されており、プログラムカウンタ6と、
分岐命令判別器7と、キューカウンタ8と、アドレス加
算器9と、命令キューバッファ10とを備えて構成され
ている。図10に示される従来のマイクロプロセッサに
おける命令先読み装置22との対比により明らかなよう
に、本実施例における命令先読み装置2においては、新
たに分岐命令判別器7が付加されている。分岐命令判別
器7には、内部データバス109に連結される命令先読
みデータバス106が接続され、命令実行ユニット4よ
り出力される分岐先アドレス確定信号102と、メモリ
管理ユニット5より出力されるページ境界信号107が
入力されており、また当該分岐命令判別器7より出力さ
れる命令先読み停止信号117は、キューカウンタ8に
送出されている。図3は、上記の分岐命令判別器7の内
部構成を示すブロック図であり、命令先読みデータバス
106に接続されるデコーダ11と、当該デコーダ11
の出力とページ境界信号107との論理積を出力する論
理積回路12と、論理積回路12の論理積出力と、分岐
先アドレス確定信号102およびクロック信号102の
入力を受けて命令先読み停止信号117を出力するフリ
ップフロップ13とを備えて構成される。
The internal structure of the instruction prefetching device 2 in this embodiment is shown in FIG.
The branch instruction discriminator 7, the queue counter 8, the address adder 9, and the instruction queue buffer 10 are provided. As is clear from a comparison with the instruction prefetching device 22 in the conventional microprocessor shown in FIG. 10, the instruction prefetching device 2 in this embodiment additionally includes a branch instruction discriminator 7. The branch instruction discriminator 7 is connected to the instruction prefetch data bus 106 connected to the internal data bus 109, and the branch destination address determination signal 102 output from the instruction execution unit 4 and the page output from the memory management unit 5 are output. The boundary signal 107 is input, and the instruction prefetch stop signal 117 output from the branch instruction discriminator 7 is sent to the queue counter 8. FIG. 3 is a block diagram showing an internal configuration of the branch instruction discriminator 7, which includes a decoder 11 connected to the instruction prefetch data bus 106 and the decoder 11 concerned.
AND the page boundary signal 107, a logical product circuit 12 for outputting a logical product, a logical product output of the logical product circuit 12, an input of the branch destination address determination signal 102 and the clock signal 102, and an instruction prefetch stop signal 117. And a flip-flop 13 that outputs

【0021】また、図4は、図1の本実施例に含まれる
メモリ管理ユニット5の内部構成を示すブロック図であ
り、アドレス変換バッファ14と、アドレス比較器15
と、新たに付加されたページ境界判別器16とを備えて
構成されており、アドレス変換バッファ14には、デー
タバス111および仮想アドレスバス112が接続され
ており、アドレス変換データ信号121および実アドレ
ス信号116が出力される。また、アドレス比較器15
には仮想アドレスバス112が接続されるとともに、ア
ドレス変換データ信号121が入力されており、ページ
フォールト信号105が出力されている。ページ境界判
別器16には実アドレス信号116が入力され、ページ
境界信号107が出力される。上記のページ境界判別器
16は、図5に示されるように、デコーダ17により構
成されており、実アドレス信号116の入力を受けて、
ページ境界信号107が出力される。
FIG. 4 is a block diagram showing the internal structure of the memory management unit 5 included in this embodiment shown in FIG. 1. The address conversion buffer 14 and the address comparator 15 are shown in FIG.
And a page boundary discriminator 16 newly added. The data bus 111 and the virtual address bus 112 are connected to the address translation buffer 14, and the address translation data signal 121 and the real address are provided. The signal 116 is output. Also, the address comparator 15
Is connected to the virtual address bus 112, the address conversion data signal 121 is input, and the page fault signal 105 is output. The page boundary discriminator 16 receives the real address signal 116 and outputs the page boundary signal 107. As shown in FIG. 5, the page boundary discriminator 16 is composed of a decoder 17, and receives the input of the real address signal 116,
The page boundary signal 107 is output.

【0022】次に、本実施例において、命令先読み装置
2を用いてプログラムを実行する際の動作について説明
する。このマイクロプロセッサ1を或るアドレスから実
行を開始させる場合には、命令先読み装置2におけるプ
ログラムカウンタ6には当該実行開始アドレスが設定さ
れ、そのアドレス値が実行アドレス信号118として出
力されてアドレス加算器9に入力される。一方、メモリ
管理ユニット5のページ境界判別器16においては、実
アドレス信号116の下位アドレス値がページ境界(4
kB/ページならばFFFhが境界)であるか否かが判
断されており、ページ境界であると判断された場合に
は、ページ境界信号107がアクティブレベルで出力さ
れて、命令先読み装置2の分岐命令判別器7に送られ
る。今、仮に分岐命令は、命令先読みデータバス106
の上位4ビットが“1011”の時に分岐命令であるも
のとする。この場合において、当該命令先読みデータバ
ス106上に分岐命令が存在し、図3の分岐命令判別器
7におけるデコーダ11において、命令先読みデータバ
ス106の上位4ビット“1011”がデコードされる
と、そのデコード出力はアクティブレベルで出力され
て、論理積回路12に入力される。この論理積回路12
には、もう1つの入力として、メモリ管理ユニット5よ
り出力されるページ境界信号107も入力されており、
これらの2つの信号が共にアクティブレベルの時には、
論理積回路12からはアクティブレベルの信号が出力さ
れ、JKフリップフロップ13は、このアクティブレベ
ルの信号を受けてセットされる。
Next, in this embodiment, the operation when the program is executed using the instruction prefetching device 2 will be described. When starting the execution of the microprocessor 1 from a certain address, the execution start address is set in the program counter 6 of the instruction prefetching device 2 and the address value is output as the execution address signal 118 to be added to the address adder. 9 is input. On the other hand, in the page boundary discriminator 16 of the memory management unit 5, the lower address value of the real address signal 116 is the page boundary (4
If it is kB / page, it is determined whether or not FFFh is the boundary), and if it is determined to be the page boundary, the page boundary signal 107 is output at the active level and the instruction prefetch device 2 branches. It is sent to the instruction discriminator 7. Now, assume that the branch instruction is the instruction prefetch data bus 106.
It is assumed that the branch instruction is when the upper 4 bits of "1011" are "1011". In this case, when a branch instruction is present on the instruction prefetch data bus 106 and the upper 4 bits “1011” of the instruction prefetch data bus 106 are decoded by the decoder 11 in the branch instruction discriminator 7 of FIG. The decoded output is output at the active level and input to the AND circuit 12. This AND circuit 12
As another input, a page boundary signal 107 output from the memory management unit 5 is also input to
When these two signals are both at active level,
An AND level circuit 12 outputs an active level signal, and the JK flip-flop 13 receives the active level signal and is set.

【0023】上記のページ境界信号107は、メモリ管
理ユニット5のページ境界判別器16より出力される信
号であり、図5において、アドレス変換バッファ14よ
り入力される実アドレス信号116はデコーダ17に入
力され、当該実アドレス信号116の下位アドレスの値
が“FFFh”になっているか否かがチェックされて、
下位アドレスの値が“FFFh”である場合には、ペー
ジ境界信号107は、ページ境界判別器16よりアクテ
ィブレベルで出力される。JKフリップフロップ13に
対しては、論理積回路12の出力以外に、クロック信号
120と命令実行ユニット4より送られてくる分岐先ア
ドレス確定信号102も入力されており、分岐命令判別
器7に接続される命令先読みデータバス106の分岐命
令、メモリ管理ユニット5より出力されるページ境界信
号107および命令実行ユニット4より出力される分岐
先読みアドレス確定信号102の入力を受けて、分岐命
令判別器7からは、対応する命令先詠み停止信号117
が出力されて、キューカウンタ8に送られる。図6
(a)、(b)、(c)および(d)は、前記分岐命令
判別器7における動作信号のタイミング図である。図6
において、先読みされた命令が、命令先読みデータバス
106を介して分岐命令判別器7のデコーダ11に入力
されており、当該命令が分岐命令であるか否かが判定さ
れ、分岐命令であると判定された場合に(図6(a)に
おける参照)、分岐先アドレス確定信号102がイン
アクティブレベルで、ページ境界信号107がアクティ
ブレベルで入力されると(図6(b)における参
照)、命令先読み停止信号117はアクティブレベルで
出力される(図6(d)における参照)。また、分岐
命令であると判定された場合において、分岐先アドレス
確定信号102がアクティブになると(図6(c)にお
ける参照)、命令先読み停止信号117はインアクテ
ィブレベルになる(図6(d)における参照)。
The page boundary signal 107 is a signal output from the page boundary discriminator 16 of the memory management unit 5. In FIG. 5, the real address signal 116 input from the address conversion buffer 14 is input to the decoder 17. Then, it is checked whether or not the value of the lower address of the real address signal 116 is “FFFh”,
When the value of the lower address is “FFFh”, the page boundary signal 107 is output from the page boundary discriminator 16 at the active level. In addition to the output of the AND circuit 12, the JK flip-flop 13 is also supplied with the clock signal 120 and the branch destination address confirmation signal 102 sent from the instruction execution unit 4, and is connected to the branch instruction discriminator 7. The branch instruction determiner 7 receives the branch instruction of the instruction prefetch data bus 106, the page boundary signal 107 output from the memory management unit 5, and the branch prefetch address determination signal 102 output from the instruction execution unit 4. Is the corresponding instruction preemption stop signal 117
Is output and sent to the queue counter 8. Figure 6
(A), (b), (c) and (d) are timing charts of operation signals in the branch instruction discriminator 7. Figure 6
In, the prefetched instruction is input to the decoder 11 of the branch instruction discriminator 7 via the instruction prefetch data bus 106, it is determined whether the instruction is a branch instruction, and it is determined that the instruction is a branch instruction. When the branch destination address determination signal 102 is input at the inactive level and the page boundary signal 107 is input at the active level (see FIG. 6B), the instruction prefetch is performed. The stop signal 117 is output at the active level (see FIG. 6D). Further, when it is determined that the instruction is a branch instruction and the branch destination address determination signal 102 becomes active (see FIG. 6C), the instruction prefetch stop signal 117 becomes inactive level (FIG. 6D). Reference).

【0024】従って、プログラムを実行してゆく過程に
おいて、ページ境界の分岐命令が命令先読み装置2にお
いて読出され、命令先み読みデータバス106を介して
分岐命令判別器7に入力されると同時に、メモリ管理ユ
ニット5から出力されるページ境界信号107がアクテ
ィブレベルになるため、命令先読み装置2内の分岐命令
判別器7より出力される命令先読み停止信号117はア
クティブレベルで出力される。命令先読み停止信号11
7は、キューカウンタ8とアドレス加算器9に入力され
るが、命令先読み停止信号117がアクティブレベルの
場合には、これらのキューカウンタ8およびアドレス加
算器9は、共に動作停止の状態となり、これにより命令
先読み動作機能は停止される。この命令先読み動作停止
の間において、命令実行ユニット4においては、命令先
読み停止の原因となった分岐命令の分岐先が確定され、
命令実行ユニット4から分岐先アドレス確定信号102
が出力されて、分岐命令判別器7に入力される。そして
同時に、プログラムカウンタ6に対して分岐先アドレス
信号101が入力される。分岐先命令判別器7において
は、分岐先アドレス確定信号102の入力を受けて、命
令先読み停止信号117がインアクティブレベルに転移
し、これを受けて、キューカウンタ8およびアドレス加
算器9は共に正常動作状態に復帰し、分岐先アドレスか
らの命令先読み動作が再開される。
Therefore, in the course of executing the program, the branch instruction at the page boundary is read by the instruction prefetching device 2 and input to the branch instruction discriminator 7 via the instruction prefetch data bus 106, and at the same time, Since the page boundary signal 107 output from the memory management unit 5 becomes active level, the instruction prefetch stop signal 117 output from the branch instruction discriminator 7 in the instruction prefetch device 2 is output at active level. Instruction prefetch stop signal 11
7 is input to the queue counter 8 and the address adder 9. However, when the instruction prefetch stop signal 117 is at the active level, both the queue counter 8 and the address adder 9 are in the operation stop state. This stops the instruction prefetch operation function. During the stop of the instruction prefetch operation, the instruction execution unit 4 determines the branch destination of the branch instruction that caused the instruction prefetch stop,
Branch destination address confirmation signal 102 from instruction execution unit 4
Is output and input to the branch instruction discriminator 7. At the same time, the branch destination address signal 101 is input to the program counter 6. In the branch destination instruction discriminator 7, the branch destination address decision signal 102 is input, the instruction prefetch stop signal 117 shifts to the inactive level, and in response to this, the queue counter 8 and the address adder 9 are both normal. The operation is restored, and the instruction prefetch operation from the branch destination address is restarted.

【0025】次に、本発明の第2の実施例について説明
する。図7は本発明の第2の実施例の構成を示すブロッ
ク図である。図2において、当該マイクロプロセッサ1
8は、命令先読み装置22と、命令デコーダ3と、命令
実行ユニット4と、メモリ管理ユニット19とを備えて
構成されており、本実施例における命令先読み装置22
は、図10に示される従来の命令先読み装置22と同一
構成である。命令実行ユニット4より出力される分岐ア
ドレス信号101および分岐先アドレス確定信号102
は、命令先読み装置22に接続されている。命令先読み
装置2は命令キューデータバス103を介して命令デコ
ーダ3に接続されており、命令デコーダ3より出力され
る命令デコード信号104は命令実行ユニット4に接続
されている。また、命令先読み装置2より出力される命
令先読みアドレス信号108は内部アドレスバス110
に接続されるとともに、当該命令先読み装置22は命令
先読みデータバス106を介して内部データバス109
およびメモリ管理ユニット19に接続されている。更
に、命令実行ユニット4は、オペランドデータバス11
3を介して内部データバス109に接続され、オペラン
ドアドレスバス114を介して内部アドレスバス110
に接続されるとともに、出力される分岐先アドレス確定
信号102がメモリ管理ユニット19に直接接続されて
いる。また、メモリ管理ユニット19は、データバス1
11を介して内部データバス109に接続されるととも
に、仮想アドレスバス112を介して内部アドレスバス
110に接続されており、当該メモリ管理ユニット5よ
り出力されるページフォールト信号105は命令実行ユ
ニット4に送出され、同じく出力される実アドレス信号
116はマイクロプロセッサ1の外部に出力される。
Next, a second embodiment of the present invention will be described. FIG. 7 is a block diagram showing the configuration of the second embodiment of the present invention. In FIG. 2, the microprocessor 1
The instruction look-ahead device 22 includes an instruction decoder 3, an instruction decoder 3, an instruction execution unit 4, and a memory management unit 19.
Has the same configuration as the conventional instruction prefetching device 22 shown in FIG. Branch address signal 101 and branch destination address confirmation signal 102 output from the instruction execution unit 4
Are connected to the instruction prefetching device 22. The instruction prefetching device 2 is connected to the instruction decoder 3 via the instruction queue data bus 103, and the instruction decode signal 104 output from the instruction decoder 3 is connected to the instruction execution unit 4. Further, the instruction prefetch address signal 108 output from the instruction prefetch device 2 is the internal address bus 110.
The instruction prefetch device 22 is connected to the internal data bus 109 via the instruction prefetch data bus 106.
It is also connected to the memory management unit 19. Further, the instruction execution unit 4 uses the operand data bus 11
3 to an internal data bus 109, and an operand address bus 114 to an internal address bus 110.
And the output branch destination address determination signal 102 is directly connected to the memory management unit 19. In addition, the memory management unit 19 uses the data bus 1
The page fault signal 105 output from the memory management unit 5 to the instruction execution unit 4 is connected to the internal data bus 109 via 11 and the internal address bus 110 via the virtual address bus 112. The real address signal 116 that is sent out and output in the same manner is output to the outside of the microprocessor 1.

【0026】本実施例においては、メモリ管理ユニット
図8は、分岐命令判別器7と、アドレス変換バッファ1
4と、アドレス比較器15と、ページ境界判別器16
と、ページフォ−ルトゲート20とを備えて構成されて
おり、従来例に対比して明らかなように、分岐命令判別
器7、アドレス比較器15およびページ境界判別器16
が新たに付加されている。図8において、アドレス変換
バッファ14より出力される実アドレス信号116はペ
ージ境界判別器16に入力されており、ページ境界判別
器16から出力されるページ境界信号107は、分岐命
令判別器7に入力される。分岐命令判別器7に対して
は、命令先読みデータバス106が接続されており、ペ
ージフォ−ルトゲート20には分岐命令判別器7から出
力される命令先読み停止信号123と、アドレス比較器
20より出力される不一致信号122と、分岐先アドレ
ス確定信号102が入力される。また、ページフォ−ル
トゲート20からはページフォ−ルト信号105が出力
されて、命令実行ユニット4に送られる。
In this embodiment, the memory management unit shown in FIG. 8 includes a branch instruction discriminator 7 and an address translation buffer 1.
4, an address comparator 15, and a page boundary discriminator 16
And a page fault gate 20. As apparent from comparison with the conventional example, the branch instruction discriminator 7, the address comparator 15, and the page boundary discriminator 16 are provided.
Is newly added. In FIG. 8, the real address signal 116 output from the address translation buffer 14 is input to the page boundary discriminator 16, and the page boundary signal 107 output from the page boundary discriminator 16 is input to the branch instruction discriminator 7. To be done. An instruction prefetch data bus 106 is connected to the branch instruction discriminator 7, and an instruction prefetch stop signal 123 output from the branch instruction discriminator 7 and an output from the address comparator 20 are output to the page fault gate 20. The mismatch signal 122 and the branch destination address confirmation signal 102 are input. A page fault signal 105 is output from the page fault gate 20 and sent to the instruction execution unit 4.

【0027】ページ境界における命令先読みを行う場合
には、ページ境界判別器16からはページ境界信号10
7が出力され、同時に、読込まれた命令が、データバス
115を介して命令先読みデータバス106から分岐命
令判別器7に入力される。分岐命令判別器7において
は、ページ境界信号107がアクティブであり、且つ命
令先読みデータバス106における命令が分岐命令であ
る場合には、命令先読み停止信号117がアクティブに
転移する。命令先読み停止信号117がアクティブにな
ると、ページフォ−ルトゲート20は閉じた状態とな
り、ページフォ−ルト信号105は、常時インアクティ
ブの状態となる。この状態において、次の命令先読みサ
イクルが発生するが、当該命令先読みサイクルの1つ前
の命令先読みサイクルがページ境界にあったために、ア
ドレス変換バッファ14に登録されていない仮想アドレ
スであったような場合には、従来例においては、アドレ
ス比較器15における比較照合結果の不一致によりペー
ジフォ−ルトが発生するが、本実施例においてはページ
フォ−ルトゲート20が閉じているために、ページフォ
−ルトが発生しない。その後において、命令実行ユニッ
ト54により、ページ境界における分岐命令が実行され
て分岐先アドレスが確定されると、新たな分岐先アドレ
スが仮想アドレスバス112から入力されるとともに、
分岐先アドレス確定信号102により、ページフォ−ル
トゲート20は開いた状態となり、ページフォ−ルトを
発生させることが可能な状態となる。分岐命令の分岐先
アドレスがアドレス変換バッファ14に登録されていな
い場合には、アドレス比較器15における不一致によ
り、ページフォ−ルトが生起する。またアドレス変換バ
ッファ14に分岐命令の分岐先アドレスが登録されてい
る場合には、当該分岐先アドレスからの命令先読みがが
行われる。
When prefetching an instruction at a page boundary, the page boundary discriminator 16 outputs a page boundary signal 10.
7 is output, and at the same time, the read instruction is input to the branch instruction discriminator 7 from the instruction prefetch data bus 106 via the data bus 115. In the branch instruction discriminator 7, when the page boundary signal 107 is active and the instruction on the instruction prefetch data bus 106 is a branch instruction, the instruction prefetch stop signal 117 transitions to active. When the instruction prefetch stop signal 117 becomes active, the page fault gate 20 is closed and the page fault signal 105 is always inactive. In this state, the next instruction read-ahead cycle occurs, but since the instruction read-ahead cycle immediately before the instruction read-ahead cycle was on a page boundary, the virtual address was not registered in the address translation buffer 14. In this case, in the conventional example, a page fault occurs due to a mismatch in the comparison and comparison results in the address comparator 15. However, in the present embodiment, the page fault gate 20 is closed, so the page fault is generated. Does not occur. After that, when the branch instruction at the page boundary is executed by the instruction execution unit 54 to determine the branch destination address, a new branch destination address is input from the virtual address bus 112, and
By the branch destination address confirmation signal 102, the page fault gate 20 is opened, and the page fault can be generated. When the branch destination address of the branch instruction is not registered in the address translation buffer 14, a page fault occurs due to a mismatch in the address comparator 15. Further, when the branch destination address of the branch instruction is registered in the address translation buffer 14, the instruction prefetch from the branch destination address is performed.

【0028】即ち、本実施例においては、たとえペ−ジ
境界に分岐命令が存在しており、且分岐先が現在のペー
ジ外にある場合においても、当該分岐先がアドレス変換
バッファ14に登録されている場合には、ページフォ−
ルトが発生しないことを利用しており、これにより、命
令先読み動作が停止する動作頻度が、第1の実施例の場
合に比較して少なくなり、従って、プログラムの実行速
度を向上させることができる。
That is, in this embodiment, even if a branch instruction exists at a page boundary and the branch destination is outside the current page, the branch destination is registered in the address translation buffer 14. Page page
By utilizing the fact that no default occurs, the operation frequency at which the instruction prefetching operation is stopped is reduced as compared with the case of the first embodiment, and therefore the execution speed of the program can be improved. .

【0029】なお、命令先読み装置22に関連する動作
については、前述の従来例の場合と同様であり、その説
明は省略する。
The operation related to the instruction prefetching device 22 is the same as in the case of the above-mentioned conventional example, and its explanation is omitted.

【0030】[0030]

【発明の効果】以上説明したように、本発明は、命令先
読み装置内に、分岐命令判別機能、命令先読み停止機能
および分岐先アドレス確定判別機能を設けることによ
り、ページ境界上に分岐命令が存在し、当該分岐命令の
分岐先がページ内である場合においても、不必要なペー
ジフォ−ルトによるプログラム実行の低下が防止され、
プログラムの実行速度を向上させることができるという
効果がある。
As described above, according to the present invention, a branch instruction exists on a page boundary by providing a branch instruction discrimination function, an instruction prefetch stop function, and a branch destination address decision discrimination function in the instruction prefetch device. However, even when the branch destination of the branch instruction is within the page, the deterioration of the program execution due to unnecessary page faults is prevented,
There is an effect that the program execution speed can be improved.

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

【図1】本発明の第1の実施例を示すブロック図であ
る。
FIG. 1 is a block diagram showing a first embodiment of the present invention.

【図2】第1の実施例における命令先読み装置の1実施
例を示すブロック図である。
FIG. 2 is a block diagram showing one embodiment of an instruction prefetching device in the first embodiment.

【図3】前記命令先読み装置における分岐命令判別器の
1実施例を示すブロック図である。
FIG. 3 is a block diagram showing an embodiment of a branch instruction discriminator in the instruction prefetching device.

【図4】第1の実施例におけるメモリ管理ユニットの1
実施例を示すブロック図である。
FIG. 4 is one of the memory management units in the first embodiment.
It is a block diagram which shows an Example.

【図5】前記メモリ管理ユニットにおけるページ境界判
別器を示すブロック図である。
FIG. 5 is a block diagram showing a page boundary discriminator in the memory management unit.

【図6】命令先読み停止信号出力の動作タイミング図で
ある。
FIG. 6 is an operation timing chart of instruction prefetch stop signal output.

【図7】本発明の第2の実施例を示すブロック図であ
る。
FIG. 7 is a block diagram showing a second embodiment of the present invention.

【図8】第2の実施例におけるメモリ管理ユニットの1
実施例を示すブロック図である。
FIG. 8 is one of the memory management units in the second embodiment.
It is a block diagram which shows an Example.

【図9】従来例を示すブロック図である。FIG. 9 is a block diagram showing a conventional example.

【図10】従来例における命令先読み装置を示すブロッ
ク図である。
FIG. 10 is a block diagram showing an instruction prefetching device in a conventional example.

【図11】従来例におけるメモリ管理ユニットを示すブ
ロック図である。
FIG. 11 is a block diagram showing a memory management unit in a conventional example.

【図12】仮想メモリを使用したシステム構成を示す図
である。
FIG. 12 is a diagram showing a system configuration using a virtual memory.

【図13】分岐予測を行う場合の命令先読み装置を示す
図である。
FIG. 13 is a diagram showing an instruction prefetching device when performing branch prediction.

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

1、18、21 マイクロプロセッサ 2、22、26 命令先読み装置 3 命令デコーダ 4 命令実行ユニット 5、19、23 メモリ管理ユニット 6 プログラムカウンタ 7 分岐命令判別器 8 キューカウンタ 9 アドレス加算器 10 命令キューバッファ 11、17 デコーダ 12 論理積回路 13 フリップフロップ 14 アドレス変換バッファ 15 アドレス比較器 16 ページ境界判別器 20 ページフォールトゲート 24 実メモリ 25 ハードディスク 27 分岐履歴バッファ 28 比較器 29、30 アドレススイッチ 101 分岐アドレス信号 102 分岐先アドレス確定信号 103 命令キューデータバス 104 命令デコード信号 105 ページフォールト信号 106 命令先読みデータバス 107 ページ境界信号 108、127 命令先読みアドレス信号 109 内部データバス 110 内部アドレスバス 111、115 データバス 112 仮想アドレスバス 113 オペランドデータバス 114 オペランドアドレスバス 116 実アドレス信号 117 命令先読み停止信号 118 実行アドレス信号 119 キューカウント信号 120 内部クロック信号 121 アドレス変換データ信号 122 不一致信号 123 先読み停止信号 124、126 分岐先アドレス信号 125 一致信号 1, 18, 21 Microprocessor 2, 22, 26 Instruction prefetching device 3 Instruction decoder 4 Instruction execution unit 5, 19, 23 Memory management unit 6 Program counter 7 Branch instruction discriminator 8 Queue counter 9 Address adder 10 Instruction queue buffer 11 , 17 decoder 12 AND circuit 13 flip-flop 14 address conversion buffer 15 address comparator 16 page boundary discriminator 20 page fault gate 24 real memory 25 hard disk 27 branch history buffer 28 comparator 29, 30 address switch 101 branch address signal 102 branch Destination address confirmation signal 103 Instruction queue data bus 104 Instruction decode signal 105 Page fault signal 106 Instruction prefetch data bus 107 Page boundary signal 108, 127 instruction Prefetch address signal 109 Internal data bus 110 Internal address bus 111, 115 Data bus 112 Virtual address bus 113 Operand data bus 114 Operand address bus 116 Real address signal 117 Instruction prefetch stop signal 118 Execution address signal 119 Queue count signal 120 Internal clock signal 121 Address conversion data signal 122 Mismatch signal 123 Prefetch stop signal 124, 126 Branch destination address signal 125 Match signal

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 命令先読み手段、命令デコーダ、命令実
行ユニットおよびメモリ管理ユニットを少なくとも含
み、仮想メモリ管理機構を有するマイクロプロセッサに
おいて、 前記命令先読み手段が、前記命令実行ユニットより出力
される分岐先アドレス信号の入力を受けて、当該分岐先
アドレス信号に対応する命令実行アドレス信号を出力す
るプログラムカウンタと、 前記命令実行ユニットより出力される分岐先アドレス確
定信号と、前記メモリ管理ユニットより出力されるペー
ジ境界信号との入力を受けて、所定の命令先読みデータ
バス上の分岐命令の存在に対応して、所定レベルの命令
先読み停止信号を出力する分岐命令判別器と、 バスサイクルごとにインクリメントされて所定のキュー
カウント信号を出力する動作機能を有し、前記所定レベ
ルの命令先読み停止信号により当該動作機能を制御され
るキューカウンタと、 前記命令実行アドレス信号および前記キューカウント信
号を入力して加算して、前記メモリ管理ユニットに対し
て命令先読み動作に対応する命令先読みアドレス信号を
出力する動作機能を有し、前記所定レベルの命令先読み
停止信号により当該動作機能を制御されるアドレス加算
器と、 前記分岐先アドレス確定信号および前記キューカウント
信号の入力状態に対応して、前記命令先読みデータバス
上の分岐命令を順次保持し、当該分岐命令を逐次前記命
令デコーダに出力する命令キューバッファと、 を少なくとも備えて構成され、 前記メモリ管理ユニットが、所定のデータバスを介して
入力されるデータ信号ならびに所定の仮想アドレスバス
を介して入力される仮想アドレス信号を入力して保持
し、前前記データ信号に対応して実アドレス信号を出力
し、前記仮想アドレス信号に対応してアドレス変換デー
タ信号を出力するアドレス変換バッファと、 前記データバスを介して入力されるデータ信号と前記ア
ドレス変換データ信号とを入力し、これらの両信号を比
較照合して、当該比較結果としてページフォ−ルト信号
を出力して前記命令実行ユニットに送出するアドレス比
較器と、 前記アドレス変換バッファより出力される実アドレス信
号を入力して、前記ページ境界信号を生成して出力する
ページ境界判別器と、 を少なくとも備えて構成されることを特徴とするマイク
ロプロセッサ。
1. A microprocessor having at least an instruction prefetch means, an instruction decoder, an instruction execution unit and a memory management unit, and having a virtual memory management mechanism, wherein the instruction prefetch means outputs a branch destination address from the instruction execution unit. A program counter that receives a signal input and outputs an instruction execution address signal corresponding to the branch destination address signal, a branch destination address confirmation signal output from the instruction execution unit, and a page output from the memory management unit A branch instruction discriminator which receives an input of a boundary signal and outputs an instruction prefetch stop signal of a predetermined level in response to the presence of a branch instruction on a predetermined instruction prefetch data bus, and a predetermined increment by every bus cycle Has the operation function of outputting the cue count signal of A queue counter whose operation function is controlled by a constant level instruction prefetch stop signal, and the instruction execution address signal and the queue count signal are input and added to correspond to the instruction prefetch operation for the memory management unit. Address adder having an operation function of outputting an instruction prefetch address signal, the operation function of which is controlled by the instruction prefetch stop signal of the predetermined level, and an input state of the branch destination address confirmation signal and the queue count signal And an instruction queue buffer that sequentially holds branch instructions on the instruction prefetch data bus and sequentially outputs the branch instructions to the instruction decoder, wherein the memory management unit has a predetermined data bus. Data signal input via the bus and input via a predetermined virtual address bus An address conversion buffer that inputs and holds a virtual address signal, outputs a real address signal corresponding to the data signal, and outputs an address conversion data signal corresponding to the virtual address signal, and the data bus An address to be input to the instruction execution unit by inputting a data signal input via the address conversion data signal, comparing and collating these two signals, and outputting a page fault signal as the comparison result. A microprocessor comprising at least a comparator, and a page boundary discriminator which inputs the real address signal output from the address conversion buffer and generates and outputs the page boundary signal. .
【請求項2】 命令先読み手段、命令デコーダ、命令実
行ユニットおよびメモリ管理ユニットを少なくとも含
み、仮想メモリ管理機構を有するマイクロプロセッサに
おいて、 前記命令先読み手段が、前記命令実行ユニットより出力
される分岐先アドレス信号の入力を受けて、当該分岐先
アドレス信号に対応する命令実行アドレス信号を出力す
るプログラムカウンタと、 バスサイクルごとにインクリメントされて所定のキュー
カウント信号を出力するキューカウンタと、 前記命令実行アドレス信号および前記キューカウント信
号を入力して加算して、前記メモリ管理ユニットに対し
て命令先読み動作に対応する命令先読みアドレス信号を
出力するアドレス加算器と、 前記分岐先アドレス確定信号および前記キューカウント
信号の入力状態に対応して、前記命令先読みデータバス
上の分岐命令を順次保持し、当該分岐命令信号を逐次前
記命令デコーダに出力する命令キューバッファと、 を少なくとも備えて構成され、 前記メモリ管理ユニットが、所定のデータバスを介して
入力されるデータ信号ならびに所定の仮想アドレスバス
を介して入力される仮想アドレス信号を入力して保持
し、前前記データ信号に対応して実アドレス信号を出力
し、前記仮想アドレス信号に対応してアドレス変換デー
タ信号を出力するアドレス変換バッファと、 前記データバスを介して入力されるデータ信号と前記ア
ドレス変換データ信号とを入力し、これらの両信号を比
較照合して、当該比較結果としてページフォ−ルト信号
を出力するアドレス比較器と、 前記アドレス変換バッファより出力される実アドレス信
号を入力して、所定のページ境界信号を生成して出力す
るページ境界判別器と、 所定の先読み命令信号と前記ページ境界信号を入力し、
当該先読み命令信号が分岐命令である場合に、所定の先
読み停止信号を出力する分岐命令判別器と、 前記ページフォ−ルト信号と前記先読み停止信号を入力
し、命令実行ユニットより出力される分岐先読みアドレ
ス確定信号を生成して出力するページフォ−ルトゲート
と、 を少なくとも備えて構成されることを特徴とするマイク
ロプロセッサ。
2. A microprocessor having at least a command prefetching unit, a command decoder, a command execution unit and a memory management unit and having a virtual memory management mechanism, wherein the command prefetching unit outputs a branch destination address output from the command execution unit. A program counter that receives an input of a signal and outputs an instruction execution address signal corresponding to the branch destination address signal, a queue counter that outputs a predetermined queue count signal that is incremented for each bus cycle, and the instruction execution address signal And an address adder that inputs and adds the queue count signal and outputs an instruction prefetch address signal corresponding to the instruction prefetch operation to the memory management unit; and a branch destination address confirmation signal and the queue count signal. For input state And an instruction queue buffer for sequentially holding branch instructions on the instruction prefetch data bus and sequentially outputting the branch instruction signals to the instruction decoder. The data signal input via the bus and the virtual address signal input via a predetermined virtual address bus are input and held, and the real address signal is output in response to the previous data signal, and the virtual address signal is output. An address conversion buffer that outputs an address conversion data signal corresponding to the above, and a data signal input via the data bus and the address conversion data signal are input, and both signals are compared and collated, and the comparison is performed. As a result, an address comparator which outputs a page fault signal, and an actual address output from the address conversion buffer. Enter the-less signals, enter the page boundary discriminator generating and outputting a predetermined page boundary signal, the page boundary signal with a predetermined prefetch instruction signal,
A branch instruction discriminator that outputs a predetermined pre-read stop signal when the pre-read instruction signal is a branch instruction, and a branch pre-read that is output from the instruction execution unit by inputting the page fault signal and the pre-read stop signal A page fault gate that generates and outputs an address confirmation signal, and a microprocessor.
JP13396595A 1995-05-31 1995-05-31 Microprocessor Pending JPH08328857A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13396595A JPH08328857A (en) 1995-05-31 1995-05-31 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13396595A JPH08328857A (en) 1995-05-31 1995-05-31 Microprocessor

Publications (1)

Publication Number Publication Date
JPH08328857A true JPH08328857A (en) 1996-12-13

Family

ID=15117228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13396595A Pending JPH08328857A (en) 1995-05-31 1995-05-31 Microprocessor

Country Status (1)

Country Link
JP (1) JPH08328857A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5140824A (en) * 1974-10-04 1976-04-06 Hitachi Ltd
JPS63136229A (en) * 1986-11-28 1988-06-08 Nec Corp Instruction extracting device
JPH0683621A (en) * 1992-08-31 1994-03-25 Fujitsu Ltd Fetch system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5140824A (en) * 1974-10-04 1976-04-06 Hitachi Ltd
JPS63136229A (en) * 1986-11-28 1988-06-08 Nec Corp Instruction extracting device
JPH0683621A (en) * 1992-08-31 1994-03-25 Fujitsu Ltd Fetch system

Similar Documents

Publication Publication Date Title
JP2603626B2 (en) Data processing device
US5617553A (en) Computer system which switches bus protocols and controls the writing of a dirty page bit of an address translation buffer
GB2386448A (en) Prediction of instructions in a data processing apparatus
JP3590427B2 (en) Instruction cache memory with read-ahead function
JP2526017B2 (en) Runtime delay reduction method and data processing system
JP3741870B2 (en) Instruction and data prefetching method, microcontroller, pseudo instruction detection circuit
JPH02287626A (en) Pipeline system branch instruction controller
JPH08328857A (en) Microprocessor
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JP3462245B2 (en) Central processing unit
JPH0342723A (en) Data processor
JPH11272553A (en) Program cache system
JPH0991139A (en) Information processor
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP2534674B2 (en) Information processing device
JP3471691B2 (en) Branch instruction control method in micro instruction
JPH0827718B2 (en) Information processing device
JPH0248733A (en) Information processor
WO1993018451A1 (en) Elimination of the critical path in memory control unit and input/output control unit operations
JPS6310451B2 (en)
JPH0749782A (en) Information processor
JPH0535499A (en) Data processing device and method
JPS5819957A (en) Forward going system for instruction control of computer
JPH027128A (en) Information processor
JPH03263224A (en) Data processor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970304