[go: up one dir, main page]

JPH09160774A - Information processing device with easy instruction expansion - Google Patents

Information processing device with easy instruction expansion

Info

Publication number
JPH09160774A
JPH09160774A JP31999095A JP31999095A JPH09160774A JP H09160774 A JPH09160774 A JP H09160774A JP 31999095 A JP31999095 A JP 31999095A JP 31999095 A JP31999095 A JP 31999095A JP H09160774 A JPH09160774 A JP H09160774A
Authority
JP
Japan
Prior art keywords
instruction
address
information processing
tlb
bits
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
JP31999095A
Other languages
Japanese (ja)
Inventor
Junichi Nishimoto
順一 西本
Koshi Yamada
孔司 山田
裕 ▲吉▼田
Yutaka Yoshida
Yasuhisa Shimazaki
靖久 島崎
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP31999095A priority Critical patent/JPH09160774A/en
Publication of JPH09160774A publication Critical patent/JPH09160774A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】命令拡張を命令幅の拡大や可変命令やステータ
スレジスタを用いずに容易に行える情報処理装置を提供
する。 【解決手段】命令の位置するアドレスの1または複数ビ
ットを用いて命令体系を選択することにより命令拡張を
行う。この命令の位置するアドレスの代わりにプロセス
IDの1または複数のビット、TLBを用いてアドレス
変換を行うシステムではそのTLBの情報として命令拡
張ビットを持たせることで同等の機能を実現する。
(57) Abstract: An information processing apparatus capable of easily expanding an instruction without expanding an instruction width or using a variable instruction or a status register is provided. An instruction extension is performed by selecting an instruction system using one or more bits of an address where an instruction is located. In a system that uses one or more bits of the process ID instead of the address where the instruction is located and the TLB to perform the address conversion, the equivalent function is realized by having the instruction extension bit as the information of the TLB.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はマイクロプロセッサ
またはそれを利用したシステムにおいて、容易に命令拡
張を可能とした情報処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus capable of easily expanding instructions in a microprocessor or a system using the same.

【0002】[0002]

【従来の技術】命令数を拡張する方法として固定幅の命
令長を用いているRISCプロセッサでは、命令長を拡
張する方法やステータスレジスタの変更で命令体系を切
り換える方法が用いられてきた。現在ではRISCプロ
セッサでありながら可変長命令をサポートするものもあ
る。
2. Description of the Related Art In RISC processors that use a fixed-width instruction length as a method for extending the number of instructions, a method of extending the instruction length and a method of switching the instruction system by changing the status register have been used. Currently, some RISC processors support variable length instructions.

【0003】[0003]

【発明が解決しようとする課題】命令長を拡張する方式
では従来までの命令コードとの互換性を保証するために
複雑な論理を作る必要が生じる。さらに命令コードが大
きくなるにつれてプログラムのコード効率も悪くなる。
In the method of expanding the instruction length, it is necessary to create a complicated logic in order to guarantee the compatibility with the conventional instruction code. Furthermore, as the instruction code becomes larger, the code efficiency of the program becomes worse.

【0004】また、ステータスレジスタを利用する方法
では、命令体系を変更する度にステータス変更の処理を
行わなければならずオーバーヘッドが生じる。
Further, in the method of using the status register, the status change process must be performed every time the instruction system is changed, which causes an overhead.

【0005】また、可変長の命令をサポートした場合は
パイプラインの構成や命令デコードが複雑になるという
欠点がある。
Further, when variable length instructions are supported, there is a drawback that the pipeline configuration and instruction decoding become complicated.

【0006】本発明は上記の問題点を解決することを目
的としてなされたものである。
The present invention has been made for the purpose of solving the above problems.

【0007】[0007]

【課題を解決するための手段】プロセッサがメモリから
命令をフェッチする際に、その命令の位置するアドレス
をメモリに対して出力する。本発明ではこの命令のアド
レスを用い命令体系の切り換えを可能にするものであ
る。命令アドレスの1または複数のビットを用い命令空
間を切り分け、切り分けられた空間ごとにどの命令体系
を使用するか選択することのできる回路をプロセッサに
内蔵する。
When a processor fetches an instruction from memory, the address at which the instruction is located is output to the memory. In the present invention, the instruction system can be switched using the address of this instruction. A processor is built in a circuit capable of dividing an instruction space by using one or more bits of an instruction address and selecting which instruction system to use for each divided space.

【0008】この命令コードの切り分けは数ビットのデ
コードで行えるため、命令コードがメモリから読み出さ
れる時には、あらかじめどの命令体系を用いるのか決定
できる。このため命令体系の切り換えがクリティカルパ
スになることはない。
[0008] For that enables the decoding of several bits Isolating the instruction code, when the instruction code is read from the memory may determine to use which instruction set in advance. Therefore, the switching of the instruction system does not become the critical path.

【0009】また上記の命令のアドレスの任意のビット
を利用する以外に、現在実行中のプロセス番号を用いる
方法でも同様の機能を実現することが可能である。
Besides using the arbitrary bits of the address of the above-mentioned instruction, the same function can be realized by the method of using the process number currently being executed.

【0010】さらに、プロセッサがTLBを内蔵してお
り、そのTLBを用いて命令がフェッチされる場合には
TLBの各エントリに新たに命令拡張ビットを備えるこ
とでアドレス変換のページ単位に命令体系を切り換える
ことが可能となる。
Further, when the processor has a built-in TLB and an instruction is fetched using the TLB, a new instruction extension bit is provided in each entry of the TLB, so that the instruction system can be set in page units for address translation. It is possible to switch.

【0011】上記のように命令アドレスを用いて命令体
系を変更することが可能なプロセッサにおいては、命令
体系の切り換え前後でレジスタコンフリクトの判定が複
雑になる。このため命令体系間のレジスタコンフリクト
判定回路を有する必要がある。しかし命令体系の変更の
際には分岐命令を用いるという制限を設けることで命令
体系間のレジスタコンフリクト判定回路を持つ必要はな
くなる。
In the processor capable of changing the instruction system by using the instruction address as described above, the determination of the register conflict becomes complicated before and after the instruction system is switched. Therefore, it is necessary to have a register conflict determination circuit between instruction systems. However, when the instruction system is changed, it is not necessary to have a register conflict determination circuit between the instruction systems by providing a restriction that a branch instruction is used.

【0012】[0012]

【発明の実施の形態】図1に命令のアドレスの任意の位
置の1または複数ビットを用いて命令体系の種類を選択
することで命令拡張を行えるようにした実施例のブロッ
ク図を示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram of an embodiment in which an instruction can be expanded by selecting the type of an instruction system by using one or more bits at an arbitrary position of an instruction address.

【0013】CPUはALUなどを通してメモリに命令
フェッチのアドレス101を出力する。この命令のアド
レスのうち命令体系を区別するために必要なビットのみ
アドレスデコーダが受け取り、命令体系を区別する信号
102を生成する。同時にこのアドレスによって指定さ
れた命令コード103がメモリからCPUへ伝達され
る。CPUでは受け取った命令コードを各命令体系ごと
にデコーダ104でデコードを始め、デコード後にMU
X105で信号102を用いてセレクトを行う。デコー
ドされた命令はラッチ106などで保持され、レジスタ
コンフリクト判定回路107を用い次命令とのコンフリ
クトを調べる。アドレスデコーダにより設定される命令
体系はメモリからのデータの読み出しより高速であるた
め、信号102はデコーダ104でのデコード時にあら
かじめ決まっている。このためMUX105を用いずに
デコード時に処理を止めることも可能である。
The CPU outputs the instruction fetch address 101 to the memory through the ALU or the like. The address decoder receives only the bits necessary for distinguishing the command system in the address of this command, and generates the signal 102 for distinguishing the command system. At the same time, the instruction code 103 designated by this address is transmitted from the memory to the CPU. The CPU starts decoding the received instruction code by the decoder 104 for each instruction system, and after decoding, MU
The selection is performed using the signal 102 at X105. The decoded instruction is held in the latch 106 or the like, and the register conflict determination circuit 107 is used to check the conflict with the next instruction. Since the instruction system set by the address decoder is faster than reading the data from the memory, the signal 102 is predetermined when the decoder 104 decodes it. Therefore, it is possible to stop the processing at the time of decoding without using the MUX 105.

【0014】図1のアドレスデコーダに入るアドレスを
プロセスIDにすることで、命令拡張ビットの代わり
に、現在実行中のプロセス番号の任意の位置の1または
複数ビットを用いて命令体系の種類を選択することもで
きる。
By making the address entering the address decoder of FIG. 1 the process ID, one or a plurality of bits at an arbitrary position of the currently executed process number is used in place of the instruction extension bit to select the type of instruction system. You can also do it.

【0015】図2はTLBの各エントリごとに1または
複数ビットの命令拡張ビットを有し、命令フェッチの際
にその命令拡張ビットを読み出すことにより命令デコー
ド前に命令体系の種類を選択することで命令拡張を行え
るようにした情報処理装置を示す。図1と図2との違い
は図1のアドレスデコーダの代わりに図2ではTLBの
命令拡張ビット(EXビット)を用いたことである。C
PUからはアドレス201がTLBに入力される。その
インデックス部分203によって対応するインデックス
のTLBの情報が読み出される。これと前記アドレス2
01のTAG部202が比較器204で比較され、読み
出された有効ビット(V)とAND回路205でAND
が取られ、TLBヒット判定信号206となってCPU
へ出力される。このTLBの判定によりヒットしたTL
B情報207がCPUへ送られるのと同時に命令体系を
選択するEXビット209もCPUへ送られる。メモリ
へのアクセスはTLBで変換された物理アドレスPPN
(208)を用いて行われ、そこから読み出された命令
コード210がCPUへ送られる。CPU内でのデコー
ドの処理は図1と同様である。
In FIG. 2, each TLB entry has one or a plurality of instruction extension bits, and the instruction extension bit is read at the time of instruction fetch to select the type of instruction system before instruction decoding. 1 shows an information processing device capable of instruction expansion. The difference between FIG. 1 and FIG. 2 is that the instruction extension bit (EX bit) of TLB is used in FIG. 2 instead of the address decoder of FIG. C
The address 201 is input to the TLB from the PU. Information on the TLB of the corresponding index is read by the index portion 203. This and the address 2
The TAG unit 202 of 01 is compared by the comparator 204, and the valid bit (V) read out is ANDed by the AND circuit 205.
Is taken, and it becomes the TLB hit judgment signal 206, and the CPU
Output to TL hit by the judgment of this TLB
At the same time that the B information 207 is sent to the CPU, the EX bit 209 for selecting the instruction system is also sent to the CPU. Access to memory is physical address PPN converted by TLB
(208) is used, and the instruction code 210 read therefrom is sent to the CPU. The decoding process in the CPU is the same as in FIG.

【0016】[0016]

【発明の効果】本発明により命令長を増やしたり、可変
長の命令を取り入れることなく命令数の拡張を行うこと
が可能になる。またステータスレジスタを用いて命令体
系を入れ替える方法に比べて、そのステータスを変更す
るために必要となるオーバーヘッドを隠すことが可能で
ある。
According to the present invention, it becomes possible to increase the instruction length or expand the number of instructions without introducing variable length instructions. Further, it is possible to hide the overhead required for changing the status, as compared with the method of changing the instruction system by using the status register.

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

【図1】本発明の一実施例の命令のアドレスにより命令
体系を切り換える情報処理装置のブロック図。
FIG. 1 is a block diagram of an information processing apparatus that switches an instruction system according to an instruction address according to an embodiment of the present invention.

【図2】本発明の一実施例のTLB命令拡張ビットをも
たせ、命令体系を切り換える情報処理装置のブロック
図。
FIG. 2 is a block diagram of an information processing apparatus that has a TLB instruction extension bit according to an embodiment of the present invention and switches the instruction system.

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

101,201…CPUからの命令フェッチ用アドレ
ス、102…アドレスをデコードした結果の命令体系種
別を表す信号、103,210…メモリから読み出した
命令コード、104,211…命令体系ごとの命令デコ
ーダ、105,212…命令体系のセレクタ、106…
セレクトした命令のデコード結果を保持するラッチ、1
07…命令体系間のレジスタコンフリクト判定回路、2
02…アドレスのTAG部、203…アドレスのインデ
ックス部、204…TLBのアドレス比較器、205…
TLBでのアドレスヒット信号生成ANDゲート、20
6…TLBからのアドレスヒット信号、207…アドレ
スがヒットしたTLB情報、208…アドレスがヒット
した論理アドレスに対応する物理アドレス、209…ア
ドレスがヒットした論理アドレスに対応する命令拡張ビ
ット。
101, 201 ... Address for instruction fetch from CPU, 102 ... Signal indicating instruction system type as a result of decoding address, 103, 210 ... Instruction code read from memory, 104, 211 ... Instruction decoder for each instruction system, 105 , 212 ... Selector of instruction system, 106 ...
Latch that holds the decoding result of the selected instruction, 1
07 ... Register conflict determination circuit between instruction systems, 2
02 ... address TAG part, 203 ... address index part, 204 ... TLB address comparator, 205 ...
Address hit signal generation AND gate in TLB, 20
6 ... Address hit signal from TLB, 207 ... Address TLB information, 208 ... Physical address corresponding to logical address hit address, 209 ... Instruction extension bit corresponding to logical address hit address.

フロントページの続き (72)発明者 島崎 靖久 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内Continuation of the front page (72) Inventor Yasuhisa Shimazaki 5-20-1 Kamimizuhonmachi, Kodaira-shi, Tokyo Hitachi, Ltd. Semiconductor Division

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】命令のアドレスの任意の位置の1または複
数ビットを用いて命令体系の種類を選択することで命令
拡張を行うことを特徴とする情報処理装置。
1. An information processing apparatus, wherein an instruction is expanded by selecting a type of an instruction system by using one or a plurality of bits at an arbitrary position of an instruction address.
【請求項2】現在実行中のプロセス番号の任意の位置の
1または複数ビットを用いて命令体系の種類を選択する
ことで命令拡張を行うことを特徴とする情報処理装置。
2. An information processing apparatus, wherein an instruction is expanded by selecting a type of an instruction system by using one or more bits at an arbitrary position of a process number currently being executed.
【請求項3】TLBを用いて命令をフェッチするプロセ
ッサにおいて、TLBの各エントリごとに1または複数
ビットの命令拡張ビットを有し、命令フェッチの際にそ
の命令拡張ビットを読み出すことにより命令デコード前
に命令体系の種類を選択することで命令拡張を行うこと
を特徴とする情報処理装置。
3. A processor for fetching an instruction by using a TLB has one or a plurality of instruction extension bits for each entry of the TLB, and the instruction extension bit is read at the time of instruction fetching before instruction decoding. An information processing apparatus characterized by performing instruction expansion by selecting a type of instruction system.
【請求項4】命令体系が変化するページ渡りを引き起こ
す命令の前後の命令間のレジスタコンフリクトを判定す
る回路を有する情報処理装置。
4. An information processing apparatus having a circuit for determining a register conflict between instructions before and after an instruction causing a page crossing whose instruction system changes.
【請求項5】命令体系が変化する際の命令フェッチには
分岐命令を必ず使用するという制限事項を設け、命令体
系変化前後でのレジスタコンフリクトを検出する必要を
なくしたことを特徴とする情報処理装置。
5. An information processing system characterized in that a branch instruction is always used for fetching an instruction when the instruction system is changed, and it is not necessary to detect a register conflict before and after the instruction system is changed. apparatus.
JP31999095A 1995-12-08 1995-12-08 Information processing device with easy instruction expansion Pending JPH09160774A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31999095A JPH09160774A (en) 1995-12-08 1995-12-08 Information processing device with easy instruction expansion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31999095A JPH09160774A (en) 1995-12-08 1995-12-08 Information processing device with easy instruction expansion

Publications (1)

Publication Number Publication Date
JPH09160774A true JPH09160774A (en) 1997-06-20

Family

ID=18116521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31999095A Pending JPH09160774A (en) 1995-12-08 1995-12-08 Information processing device with easy instruction expansion

Country Status (1)

Country Link
JP (1) JPH09160774A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536712A (en) * 1999-01-28 2002-10-29 エーティーアイ インターナショナル エスアールエル Execution of a program for a first computer architecture on a computer of a second architecture
JP2011134315A (en) * 2009-12-23 2011-07-07 Intel Corp Transition from source instruction set architecture (isa) code to translated code in partial emulation environment
JP2012108938A (en) * 1999-01-28 2012-06-07 Ati Technologies Ulc Method of referring to memory of computer, and computer
US9891936B2 (en) 2013-09-27 2018-02-13 Intel Corporation Method and apparatus for page-level monitoring
US10621092B2 (en) 2008-11-24 2020-04-14 Intel Corporation Merging level cache and data cache units having indicator bits related to speculative execution
US10649746B2 (en) 2011-09-30 2020-05-12 Intel Corporation Instruction and logic to perform dynamic binary translation
US10725755B2 (en) 2008-11-24 2020-07-28 Intel Corporation Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536712A (en) * 1999-01-28 2002-10-29 エーティーアイ インターナショナル エスアールエル Execution of a program for a first computer architecture on a computer of a second architecture
JP2012108938A (en) * 1999-01-28 2012-06-07 Ati Technologies Ulc Method of referring to memory of computer, and computer
US10621092B2 (en) 2008-11-24 2020-04-14 Intel Corporation Merging level cache and data cache units having indicator bits related to speculative execution
US10725755B2 (en) 2008-11-24 2020-07-28 Intel Corporation Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads
JP2011134315A (en) * 2009-12-23 2011-07-07 Intel Corp Transition from source instruction set architecture (isa) code to translated code in partial emulation environment
US10649746B2 (en) 2011-09-30 2020-05-12 Intel Corporation Instruction and logic to perform dynamic binary translation
US9891936B2 (en) 2013-09-27 2018-02-13 Intel Corporation Method and apparatus for page-level monitoring

Similar Documents

Publication Publication Date Title
EP0925538B1 (en) A microprocessor configured to translate instructions from one instruction set to another, to store and execute the translated instructions
JP3794917B2 (en) Branch selectors associated with byte ranges in the instruction cache to quickly identify branch predictions
JP3499252B2 (en) Compiling device and data processing device
US5488710A (en) Cache memory and data processor including instruction length decoding circuitry for simultaneously decoding a plurality of variable length instructions
US4954943A (en) Data processing system
KR20100061463A (en) Implementation of variable length instruction encoding using alias addressing
JP2001503899A (en) A branch prediction mechanism employing a branch selector to select a branch prediction
JPH05233271A (en) Data processor
US6687808B2 (en) Data processor using indirect register addressing
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
US20250028535A1 (en) Decoding method, processor, chip, and electronic device
JP2002041284A (en) Device for contracting extended instruction word
US5301285A (en) Data processor having two instruction registers connected in cascade and two instruction decoders
JPH09160774A (en) Information processing device with easy instruction expansion
US20050027921A1 (en) Information processing apparatus capable of prefetching instructions
JPH1091430A (en) Command decoding device
KR900010552A (en) Control system for fetching commands
KR970012141A (en) Data processing device performing pipeline processing
US5187782A (en) Data processing system
JP2772100B2 (en) Parallel instruction fetch mechanism
KR960016401B1 (en) Page selecting circuit of register pages using register page pointer
JPH01271842A (en) Information processor
KR0172307B1 (en) Random Address Granularity Control Unit
EP0101759B1 (en) Data processing system having branch instruction prefetching performance
US6212624B1 (en) Selective canonizing on mode transitions

Legal Events

Date Code Title Description
A02 Decision of refusal

Effective date: 20040413

Free format text: JAPANESE INTERMEDIATE CODE: A02