JP2001229075A - Bi-endian multi-instruction length executing method - Google Patents

Bi-endian multi-instruction length executing method

Info

Publication number
JP2001229075A
JP2001229075A JP2000040764A JP2000040764A JP2001229075A JP 2001229075 A JP2001229075 A JP 2001229075A JP 2000040764 A JP2000040764 A JP 2000040764A JP 2000040764 A JP2000040764 A JP 2000040764A JP 2001229075 A JP2001229075 A JP 2001229075A
Authority
JP
Japan
Prior art keywords
instruction
bit
endian
word
address
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.)
Granted
Application number
JP2000040764A
Other languages
Japanese (ja)
Other versions
JP3902374B2 (en
Inventor
Yutaka Murata
裕 村田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000040764A priority Critical patent/JP3902374B2/en
Publication of JP2001229075A publication Critical patent/JP2001229075A/en
Application granted granted Critical
Publication of JP3902374B2 publication Critical patent/JP3902374B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PROBLEM TO BE SOLVED: To execute two endian modes with multi-instruction length by the same encode circuit. SOLUTION: In multi-instruction length executing method for supporting multi-instruction length in two modes, that is, a big endian mode and a little endian mode, continuous short instructions are always stored in an instruction storage area as a pair of former and later instructions according to the log instructions in the area regardless of the two endian modes, and the order of reading is executed as the order of former and later instructions.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、異なるエンディア
ンを取扱う装置であって、バイト単位でのアドレスを持
つメモリ上にプログラムを格納して実行する情報処理装
置に関するものである。
[0001] 1. Field of the Invention [0002] The present invention relates to an apparatus for handling different endians, and more particularly to an information processing apparatus for storing and executing a program on a memory having an address in a byte unit.

【0002】[0002]

【従来の技術】ビッグエンディアンのアドレス指定方式
で動作するモードとリトルエンディアンのアドレス指定
方式で動作するモードの双方をあわせもち、外部からの
設定または内部の設定で動作モードを切り替えることが
できる情報処理装置として、たとえば、日本電気株式会
社のVR4100マイクロプロセッサがある。VR41
00TM64ビット・マイクロプロセッサ ユーザーズ・
マニュアル(資料番号U10050JJ1VOUM00
(第1版))によれば、この情報処理装置で定義されて
いる命令語はすべて32ビット(1ワード)固定長であ
る。この種の情報処理装置においては、メモリに格納さ
れた命令を読み出し、命令の解読を行う場合、命令デコ
ーダへは命令読み出しアドレスの指定に基づいて、32
ビット長の命令語を供給することになる。命令読み出し
アドレス指定はワードアドレスを指定する。
2. Description of the Related Art Information processing that has both a mode that operates in a big endian addressing mode and a mode that operates in a little endian addressing mode and that can switch the operation mode by an external setting or an internal setting. As the device, for example, there is a VR4100 microprocessor of NEC Corporation. VR41
00 TM 64-bit microprocessor
Manual (Document number U10050JJ1VOUM00
According to (first version)), all the command words defined in this information processing device have a fixed length of 32 bits (1 word). In this type of information processing apparatus, when an instruction stored in a memory is read out and the instruction is decoded, 32.
A bit-length instruction word will be supplied. The instruction read address specification specifies a word address.

【0003】図6にビッグエンディアン動作モード時の
メモリのアドレス割付を、図7にリトルエンディアン動
作モード時のメモリのアドレス割付を示す。それぞれ、
図の左側にワードアドレスを、図中の各セル内にバイト
アドレスを記している。図中、Nは正の整数を表すもの
とする。従って、例えば32ビット長の命令1〜4の4
つを実行しようとして、メモリ上に記憶した場合に、図
8はビッグエンディアン動作モード時にメモリ上に格納
された命令列を、図9はリトルエンディアン動作モード
時にメモリ上に格納された命令列を示す。図8と図9よ
り、ビッグエンディアン動作モード時にワードアドレス
指定された命令とリトルエンディアン動作モード時にワ
ードアドレス指定された命令とは、同一のものになるこ
とが分かる。このことより、32ビット固定長の命令の
み定義されている情報処理装置において、命令語の読み
出しおよび命令デコードの回路は、ビッグエンディアン
動作モード時とリトルエンディアン動作モードにおい
て、完全に共通化することができる。
FIG. 6 shows the memory address assignment in the big endian operation mode, and FIG. 7 shows the memory address assignment in the little endian operation mode. Respectively,
The word address is shown on the left side of the figure, and the byte address is written in each cell in the figure. In the figure, N represents a positive integer. Therefore, for example, 4 of instructions 1 to 4 having a 32-bit length
FIG. 8 shows an instruction sequence stored in the memory in the big-endian operation mode, and FIG. 9 shows an instruction sequence stored in the memory in the little-endian operation mode when trying to execute one. . It can be seen from FIGS. 8 and 9 that the word-addressed instruction in the big endian operation mode is the same as the word-addressed instruction in the little endian operation mode. Thus, in an information processing apparatus in which only 32-bit fixed-length instructions are defined, the instruction word reading and instruction decoding circuits can be completely shared between the big endian operation mode and the little endian operation mode. it can.

【0004】一方、複数種類の命令語長が定義されてい
る情報処理装置として、たとえば、三菱電機株式会社の
M32Rファミリ・マイクロプロセッサがある。M32
Rファミリ・ソフトウェアマニュアルによれば、この情
報処理装置では16ビット長および32ビット長の2種
類の命令語長が定義されており、命令語の最上位ビット
の値により命令の語長が識別される。この情報処理装置
では、ビッグエンディアン動作モードのみサポートされ
ており、リトルエンディアンでの動作モードは存在しな
い。
On the other hand, as an information processing apparatus in which a plurality of types of instruction word lengths are defined, for example, there is an M32R family microprocessor of Mitsubishi Electric Corporation. M32
According to the R-family software manual, in this information processing apparatus, two types of instruction word lengths of 16 bits and 32 bits are defined, and the word length of the instruction is identified by the value of the most significant bit of the instruction word. You. In this information processing apparatus, only the big endian operation mode is supported, and there is no operation mode in little endian.

【0005】従来、32ビット長命令と16ビット長命
令の双方が定義され、かつ、ビッグエンディアンとリト
ルエンディアンの動作モードがともにサポートされた情
報処理装置は今までのところ存在しない。この不具合を
解消するため、ユーザが独自に32ビット長命令と16
ビット長命令の双方を定義し、かつ、ビッグエンディア
ンとリトルエンディアンの動作モードをともにサポート
する情報処理装置を構成しようと考えた場合、ビッグエ
ンディアン・モードとリトルエンディアン・モードにお
けるアドレスの表示方法が異なるため、以下による構成
をとる。しかしその構成によると、命令のデコード処理
速度が低下する。
Conventionally, there is no information processing apparatus in which both 32-bit instructions and 16-bit instructions are defined, and which support both big-endian and little-endian operation modes. In order to solve this problem, the user has to prepare a 32-bit instruction
When defining an information processing device that defines both bit-length instructions and supports both big-endian and little-endian operation modes, the address display method differs between big-endian mode and little-endian mode. Therefore, the following configuration is adopted. However, according to this configuration, the decoding processing speed of the instruction is reduced.

【0006】以下、この構成と動作について詳細に説明
する。図4および図5はこの情報処理装置が定義する命
令の形式を説明する図である。図4はこの情報処理装置
が実行する命令の形式であり、32ビット長命令と16
ビット長命令からなる。各命令フォーマットにおける最
上位ビットで32ビット長あるいは16ビット長の識別
を行うようになっており、例えば、命令語の最上位ビッ
トが2進値「1」の場合、32ビット長命令、「0」の
場合、16ビット長命令とする。最上位ビット以下の7
ビットで命令の種類を示すオペレーションコード(O
P)を形成し、他のビットでオペランド等の指定を行う
ようになっている。図5は、連続する2つの16ビット
長命令をワードバウンダリ上の4バイト領域に配置した
ものであり、16ビット長命令は常にこのように2つの
命令を一つのセットとして扱う。なお、下位2バイトに
配置した16ビット長命令の最上位ビットはソフトウェ
アによる制御あるいはその他のハードウェアの制御用に
使用することが出来る。図5(a)は下位2バイトに配
置した16ビット長命令の最上位ビットが2進値「0」
のケースを、図5(b)は下位2バイトに配置した16
ビット長命令の最上位ビットが2進値「1」のケースを
示している。
Hereinafter, this configuration and operation will be described in detail. FIGS. 4 and 5 are diagrams illustrating the format of an instruction defined by the information processing apparatus. FIG. 4 shows a format of an instruction executed by the information processing apparatus.
It consists of a bit length instruction. The 32-bit or 16-bit length is identified by the most significant bit in each instruction format. For example, when the most significant bit of the instruction word is a binary value “1”, a 32-bit instruction, “0” ", The instruction is a 16-bit length instruction. 7 below the most significant bit
Operation code (O) indicating the type of instruction with bits
P) is formed, and an operand or the like is designated by other bits. FIG. 5 shows two consecutive 16-bit instructions arranged in a 4-byte area on a word boundary. A 16-bit instruction always handles two instructions as one set. The most significant bit of the 16-bit instruction arranged in the lower 2 bytes can be used for software control or other hardware control. FIG. 5A shows that the most significant bit of a 16-bit instruction arranged in the lower 2 bytes has a binary value “0”.
FIG. 5B shows a case where 16 is arranged in the lower 2 bytes.
The case where the most significant bit of the bit length instruction is a binary value “1” is shown.

【0007】この情報処理装置において、プログラム上
に記述された命令は出現順にメモリ上に割り付けられて
いくため、例えば、プログラム上で命令列が、 32ビット長命令1 16ビット長命令2 16ビット長命令3 32ビット長命令4 32ビット長命令5 という順で記述された場合、ビッグエンディアン動作モ
ード時にメモリ上に格納される命令列は図10のように
なり、また、リトルエンディアン動作モードにメモリ上
に格納される命令列は図11のようになる。それぞれの
動作モードにおいて、32ビット長命令が割り付けられ
ているメモリ上の配置は同一であるが、16ビット長命
令が割り付けられているメモリ上の配置は異なる。ビッ
グエンディアン動作モードにおいては、16ビット長命
令2はワード位置の上位ハーフワードに、16ビット長
命令3はワード位置の下位ハーフワードに配置される
が、リトルエンディアン動作モードにおいては、16ビ
ット長命令2はワード位置の下位ハーフワードに、16
ビット長命令3はワード位置の上位ハーフワードに配置
される。
In this information processing apparatus, since instructions described in a program are allocated on a memory in the order of appearance, for example, a sequence of instructions in a program includes a 32-bit instruction, a 16-bit instruction, and a 16-bit instruction. When the instruction 3 is described in the order of 32-bit instruction 4 32-bit instruction 5, the instruction sequence stored in the memory in the big endian operation mode is as shown in FIG. Are as shown in FIG. In each operation mode, the arrangement on the memory to which the 32-bit instruction is allocated is the same, but the arrangement on the memory to which the 16-bit instruction is allocated is different. In the big endian operation mode, the 16-bit instruction 2 is arranged in the upper halfword of the word position, and the 16-bit instruction 3 is arranged in the lower halfword of the word position. In the little endian operation mode, the 16-bit instruction is arranged. 2 is the lower halfword of the word position, 16
Bit length instruction 3 is located in the upper halfword of the word position.

【0008】一般に、命令のアドレスは、命令語の先頭
バイトアドレス、言い換えれば、命令語の中で最もアド
レスの小さいバイト位置のバイトアドレスによって表さ
れるため、ビッグエンディアン動作モードとリトルエン
ディアン動作モードにおける個々の命令のアドレスは図
10と図11において全く同一となる。16ビット長命
令2の命令アドレスはビッグエンディアン動作モード、
リトルエンディアン動作モードのいずれにおいても4N
+4番地であり、16ビット長命令3の命令アドレスは
いずれの動作モードにおいても4N+6番地である。す
なわち、16ビット長命令の場合、ビッグエンディアン
動作モードとリトルエンディアン動作モードにおいて同
一アドレスで指定される命令語はそれぞれメモリ上では
異なる配置となる。
In general, the address of an instruction is represented by the first byte address of the instruction word, in other words, the byte address of the byte position of the smallest address in the instruction word, so that in the big endian operation mode and the little endian operation mode, The addresses of the individual instructions are exactly the same in FIG. 10 and FIG. The instruction address of 16-bit long instruction 2 is big endian operation mode,
4N in any of the little endian operation modes
The instruction address of the 16-bit long instruction 3 is 4N + 6 in any operation mode. That is, in the case of a 16-bit length instruction, the instruction words specified by the same address in the big endian operation mode and the little endian operation mode are arranged differently on the memory.

【0009】このような命令の配置を行う情報処理装置
の命令デコーダ回路の例を図12に示す。エンディアン
指示手段12は論理値0のときビッグエンディアン動作
モードを指定し、論理値1のときリトルエンディアン動
作モードを指定する。選択信号生成回路13は、エンデ
ィアン指示手段12によるエンディアン指示信号14、
メモリより読み出した命令語の命令長識別子である最上
位ビット(を示す)信号15、および命令デコーダ5が
出力する命令語のハーフワード位置を指示する制御信号
7に基づき、マルチプレクサ8の選択信号16を生成す
る。制御信号7は、新たに命令語を命令レジスタ1にロ
ードするとき「0」にクリアされ、最初の16ビット命
令のデコードを完了したときに「1」がセットされる。
マルチプレクサ8は選択信号生成回路13の指示に基づ
き、命令レジスタ内1の上位ハーフワードまたは下位ハ
ーフワードを選択して命令デコーダに供給する。
FIG. 12 shows an example of an instruction decoder circuit of an information processing apparatus for arranging such instructions. The endian indicating means 12 specifies the big endian operation mode when the logical value is 0, and specifies the little endian operation mode when the logical value is 1. The selection signal generation circuit 13 outputs an endian instruction signal 14 by the endian instruction means 12,
A selection signal 16 of the multiplexer 8 based on the most significant bit signal 15 indicating the instruction length identifier of the instruction word read from the memory and the control signal 7 indicating the halfword position of the instruction word output from the instruction decoder 5 Generate The control signal 7 is cleared to "0" when a new instruction word is loaded into the instruction register 1, and is set to "1" when decoding of the first 16-bit instruction is completed.
The multiplexer 8 selects an upper halfword or a lower halfword in the instruction register 1 based on the instruction of the selection signal generation circuit 13 and supplies the same to the instruction decoder.

【0010】図13に選択信号生成回路13への入力信
号と、マルチプレクサ8より選択されて命令デコーダ5
へ供給される命令語位置の関係を示す。32ビット長命
令の場合は、エンディアン指示手段12の指示に関係な
く、命令レジスタのビット0−15が命令デコーダに供
給される。すなわち、この場合には命令デコーダへの供
給にあたり、マルチプレクサ8の制御信号を切り替える
必要はない。一方、16ビット長命令の場合は、エンデ
ィアンの指示に基づきマルチプレクサ8の制御信号を切
り替える必要がある。まず、ビッグエンディアン動作モ
ードの場合、命令語が命令レジスタ1にロードされ、制
御信号7が「0」の値となったとき、ワードバウンダリ
のアドレスで指定される上位ハーフワードの16ビット
命令、すなわち命令レジスタのビット0−15を命令デ
コーダに供給する。また、リトルエンディアン動作モー
ドの場合、命令語が命令レジスタ1にロードされ、制御
信号7が「0」の値となったとき、ワードバウンダリの
アドレスで指定される下位ハーフワードの16ビット命
令、すなわち、命令レジスタのビット16−31を命令
デコーダに供給する。このように、命令デコーダへ供給
する命令を選択するにあたり、命令語自身に含まれる命
令長識別子を使用してマルチプレクサ回路を制御するた
め、命令を命令デコーダへ供給するまでの遅延時間が増
大し、処理速度が低下する。
FIG. 13 shows an input signal to the selection signal generation circuit 13 and an instruction decoder 5 selected by the multiplexer 8.
4 shows the relationship between the instruction word positions supplied to. In the case of a 32-bit instruction, bits 0 to 15 of the instruction register are supplied to the instruction decoder regardless of the instruction of the endian instruction means 12. That is, in this case, there is no need to switch the control signal of the multiplexer 8 when supplying the signal to the instruction decoder. On the other hand, in the case of a 16-bit length instruction, it is necessary to switch the control signal of the multiplexer 8 based on the endian instruction. First, in the case of the big endian operation mode, when an instruction word is loaded into the instruction register 1 and the control signal 7 becomes a value of “0”, a 16-bit instruction of an upper half word specified by a word boundary address, ie, Supply bits 0-15 of the instruction register to the instruction decoder. Also, in the little endian operation mode, when the instruction word is loaded into the instruction register 1 and the control signal 7 has a value of “0”, the lower half word 16-bit instruction specified by the address of the word boundary, ie, , Bits 16-31 of the instruction register to the instruction decoder. In this way, when selecting an instruction to be supplied to the instruction decoder, the multiplexer circuit is controlled using the instruction length identifier included in the instruction word itself, so that the delay time until the instruction is supplied to the instruction decoder increases. Processing speed decreases.

【0011】[0011]

【発明が解決しようとする課題】従来の2つの命令長に
対応し、かつ2つのエンディアン動作モードをサポート
するための装置は上記のように構成されている。即ち、
異なる複数の長さの命令形式を持つ情報処理装置におい
ては、命令語内に置かれた命令長識別子と命令語の置か
れたアドレスに基づいて命令デコード処理が行われる
が、ビッグエンディアンで動作するモードとリトルエン
ディアンで動作するモードの双方を処理する情報処理装
置は、モードによってアドレスの割付方式が異なるよう
にしているため、命令デコード回路が複雑化し、その結
果として処理速度の低下を招くという課題がある。
A conventional apparatus for supporting two instruction lengths and supporting two endian operation modes is configured as described above. That is,
In an information processing apparatus having an instruction format of a plurality of different lengths, an instruction decoding process is performed based on an instruction length identifier placed in an instruction word and an address where the instruction word is placed, but it operates in big endian. The information processing device that processes both the mode and the mode operating in little endian uses different address allocation methods depending on the mode, so that the instruction decoding circuit becomes complicated, and as a result, the processing speed is reduced. There is.

【0012】この発明は上記の課題を解決するためにな
されたもので、1倍と2倍の長さの命令を共に扱い、両
エンディアン動作モードを処理するに際して、構成を簡
潔にし、処理の高速化を図る。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems. The present invention deals with both instructions having a length of one and two times and simplifies the configuration when processing both endian operation modes, and achieves high-speed processing. Plan.

【0013】[0013]

【課題を解決するための手段】この発明に係るバイエン
ディアン複数命令長実行方法は、複数命令長をビッグエ
ンディアンとリトルエンディアンの2つのモードでサポ
ートする命令実行方法において、命令記憶領域にこれら
2つのエンディアンのモードに関わらず、連続する短命
令を常に領域の長命令に合わせた、先・後の組として格
納し、かつ読み出し順序をこの先・後の順に実行するよ
うにした。
A bi-endian multiple instruction length execution method according to the present invention is an instruction execution method that supports multiple instruction lengths in two modes, big-endian and little-endian. Regardless of the endian mode, consecutive short instructions are always stored as a set of first and second instructions that match the long instruction of the area, and the reading order is executed in the order of the first and second instructions.

【0014】また更に、一方のエンディアン・モードで
の命令実行は、他方のエンディアン・モードでのプログ
ラムカウンタの一部を変更して命令アドレスを得るよう
にした。
Still further, when an instruction is executed in one endian mode, an instruction address is obtained by changing a part of a program counter in the other endian mode.

【0015】また更に、組になった短命令に対しては、
先の短命令の直後に命令デコードを実行するようにし
た。
Still further, for a set of short instructions,
Instruction decoding is performed immediately after the short instruction.

【0016】[0016]

【発明の実施の形態】実施の形態1.図4は、本発明に
かかる命令実行方法がサポートする命令の形式であり、
この例では32ビット長命令と16ビット長命令からな
る。各命令フォーマットにおける最上位ビットで32ビ
ット長あるいは16ビット長の識別を行うようになって
おり、例えば、命令語の最上位ビットが2進値「1」の
場合は、32ビット長命令、「0」の場合は、16ビッ
ト長命令とする。最上位ビット以下の7ビットで命令の
種類を表すオペレーションコード(OP)を形成し、他
のビットでオペランド等の指定を行うようになってい
る。図5は、連続する2つの16ビット長命令をワード
バウンダリ上の4バイト領域に配置したものであり、本
発明においては連続する16ビット長命令は常にこのよ
うに2つの命令を一つのセットとして扱う。また、これ
ら2つの16ビット長命令はビッグエンディアンおよび
リトルエンディアンの動作モードに関わりなく、上位2
バイトに配置した命令を先に実行し、下位2バイトに配
置した命令を後に実行するよう動作させる。なお、下位
2バイトに配置した16ビット長命令の最上位ビットは
ソフトウェアによる制御あるいはその他のハードウェア
の制御用に使用することが出来る。図5(a)は下位2
バイトに配置した16ビット長命令の最上位ビットが2
進値「0」のケースを、図5(b)は下位2バイトに配
置した16ビット長命令の最上位ビットが2進値「1」
のケースを示している。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 FIG. 4 shows an instruction format supported by the instruction execution method according to the present invention;
In this example, it consists of a 32-bit instruction and a 16-bit instruction. The 32-bit or 16-bit length is identified by the most significant bit in each instruction format. For example, when the most significant bit of the instruction word is a binary value “1”, a 32-bit instruction, “ In the case of "0", it is a 16-bit length instruction. An operation code (OP) representing the type of instruction is formed by the seven bits below the most significant bit, and the other bits specify an operand or the like. FIG. 5 shows two consecutive 16-bit instructions arranged in a 4-byte area on a word boundary. In the present invention, a continuous 16-bit instruction always includes two instructions as one set. deal with. In addition, these two 16-bit instructions have the upper 2 bits regardless of the big endian and little endian operation modes.
The instruction arranged in the byte is executed first, and the instruction arranged in the lower two bytes is executed later. The most significant bit of the 16-bit instruction arranged in the lower 2 bytes can be used for software control or other hardware control. FIG. 5 (a) shows the lower 2
The most significant bit of the 16-bit instruction placed in the byte is 2
FIG. 5B shows the case where the binary value is “0”, and the most significant bit of the 16-bit instruction arranged in the lower 2 bytes is the binary value “1”.
Shows the case of

【0017】図1および図2は、メモリ上に配置された
命令列と、それぞれの命令を実行する際のプログラムカ
ウンタ値との関係を示す。これらの例においてプログラ
ムカウンタは説明を簡略化するために下位4ビットのみ
記載している。プログラムカウンタは実行している命令
の位置を示すものであり、一般の情報処理装置において
は実行中の命令アドレスを保持する。本発明におけるプ
ログラムカウンタは、命令の位置情報として、命令アド
レスそのものではなく、命令のワードアドレス部分と同
ワード内のハーフワード位置情報を組み合わせたものと
して表現される。すなわちプログラムカウンタの下位2
ビットが「00」では、32ビット長命令あるいはワー
ド内の上位ハーフワードに格納された16ビット長命令
の実行を表し、プログラムカウンタの下位2ビットが
「10」では、ワード内の下位ハーフワードに格納され
た16ビット長命令の実行を表す。したがって、ビッグ
エンディアン動作モードでは実行中の命令のアドレスと
プログラムカウンタ値は完全に一致し、リトルエンディ
アン動作モードでは、16ビット命令実行時のプログラ
ムカウンタ値と命令アドレスで下位2ビットの値が反転
する。この方法が2つのモードで常にワード内で上位ハ
ーフを先に実行させる簡易な方法であるが、他の論理で
常に上位ハーフを実行するようにしてもよい。
FIGS. 1 and 2 show the relationship between an instruction sequence arranged on a memory and a program counter value when each instruction is executed. In these examples, only the lower 4 bits are described for the program counter to simplify the description. The program counter indicates the position of the instruction being executed, and a general information processing device holds the address of the instruction being executed. The program counter in the present invention is expressed not as the instruction address itself but as a combination of a word address portion of the instruction and half word position information in the same word as the instruction position information. That is, the lower 2 of the program counter
When the bit is “00”, it indicates the execution of a 32-bit instruction or a 16-bit instruction stored in the upper halfword of a word. When the lower two bits of the program counter are “10”, the lower halfword of the word is executed. Indicates the execution of a stored 16-bit instruction. Therefore, in the big endian operation mode, the address of the instruction being executed and the program counter value completely match, and in the little endian operation mode, the value of the lower two bits is inverted between the program counter value and the instruction address when the 16-bit instruction is executed. . Although this method is a simple method of always executing the upper half first in a word in the two modes, the upper half may be always executed by another logic.

【0018】具体的には、図1のビッグエンディアンの
動作モードにおいて、アドレス0−3に配置された32
ビット長命令Aの実行時のプログラムカウンタ値は「0
000」、アドレス4−5に配置された16ビット長命
令Bの実行時のプログラムカウンタ値は「0100」、
アドレス6−7に配置された16ビット長命令Cの実行
時のプログラムカウンタ値は「0110」である。次
に、図2のリトルエンディアンの動作モードにおいて、
アドレス0−3に配置された32ビット長命令Aの実行
時のプログラムカウンタ値は「0000」、アドレス4
−5に配置された16ビット長命令Cの実行時のプログ
ラムカウンタ値は「0110」、アドレス6−7に配置
された16ビット長命令Bの実行時のプログラムカウン
タ値は「0100」である。プログラムカウンタの上位
2ビットは、命令が配置されたワードアドレスを示して
おり、下位2ビットは同ワード内のハーフワード位置を
示している。ビッグエンディアンの動作モードおよびリ
トルエンディアンの動作モードのいずれで動作している
かに関わらず、下位2ビットが「00」の場合、ワード
内の上位ハーフワードを表し、下位2ビットが「10」
の場合、ワード内の下位ハーフワードを表す。プログラ
ム実行における命令実行順序はプログラムカウンタの動
作により規定される。通常、分岐命令などプログラム実
行シーケンスを変更する命令を実行しない限り、プログ
ラムカウンタは順次インクリメントされて、メモリ上に
連続的に配置された命令列を順次実行する。一般に、プ
ログラムカウンタ値は実行する命令のメモリアドレスを
指定するが、本発明では、プログラムカウンタの下位2
ビットを命令のアドレスではなく、命令のワード内ハー
フワード位置を示す識別子としたことにより、ビッグエ
ンディアン動作モードおよびリトルエンディアン動作モ
ードでプログラムカウンタのインクリメント制御を共通
とすることができる。図1および図2より、両動作モー
ドで実行する命令のアドレスの遷移は異なるが、プログ
ラムカウンタ値の遷移は同一であり、したがって、両モ
ードでの命令実行順序は同一となる。こうして、ビッグ
エンディアンの動作モードおよびリトルエンディアンの
動作モードのいずれにおいても、命令の実行順序はA,
B,C,D,E,Fの順とできる。
More specifically, in the big endian operation mode of FIG.
When the bit-length instruction A is executed, the program counter value is "0
000 ", the program counter value at the time of execution of the 16-bit instruction B located at address 4-5 is" 0100 ",
The program counter value at the time of execution of the 16-bit length instruction C located at the address 6-7 is “0110”. Next, in the little endian operation mode of FIG.
The program counter value at the time of executing the 32-bit instruction A located at addresses 0 to 3 is “0000”,
The program counter value at the time of execution of the 16-bit instruction C located at −5 is “0110”, and the program counter value at the time of execution of the 16-bit instruction B located at address 6-7 is “0100”. The upper two bits of the program counter indicate the word address where the instruction is located, and the lower two bits indicate the halfword position in the same word. Regardless of whether the operation mode is the big endian operation mode or the little endian operation mode, when the lower 2 bits are “00”, the lower 2 bits represent the upper half word in the word, and the lower 2 bits are “10”.
Represents the lower halfword in a word. The instruction execution order in program execution is defined by the operation of the program counter. Normally, unless an instruction for changing the program execution sequence such as a branch instruction is executed, the program counter is sequentially incremented to sequentially execute an instruction sequence continuously arranged on the memory. Generally, the program counter value specifies the memory address of the instruction to be executed.
By using the bit as the identifier indicating the halfword position in the word of the instruction instead of the address of the instruction, the increment control of the program counter can be common in the big endian operation mode and the little endian operation mode. 1 and 2, the transitions of the addresses of the instructions executed in both operation modes are different, but the transitions of the program counter value are the same, and therefore the instruction execution order in both modes is the same. Thus, in both the big-endian operation mode and the little-endian operation mode, the instruction execution order is A,
The order can be B, C, D, E, F.

【0019】図3は、本発明で用いた命令のデコード回
路構成の例を示した図である。従来はこうした回路は両
モードをサポートしても1命令長のみしか処理できなか
ったが、本実施の形態では2つの命令をサポートでき
る。図において、命令レジスタ1には、命令アドレスレ
ジスタ2で指定されたメモリ3のワード位置から32ビ
ットデータバス4経由で読み出された32ビットの命令
語が格納される。読み出された命令語が32ビット長の
場合、命令レジスタには1命令が、16ビット長命令の
場合は2命令が格納される。命令デコーダ5は命令レジ
スタ1に命令語が設定されるとまず、最上位ビットを取
込み、値が「1」ならば32ビット長命令、値が「0」
ならば2つの16ビット長命令のセットと判定する。次
に、命令デコーダ5は後続の7ビットで構成されるOP
コード部を取込んで、命令の種別判定を行い、命令毎に
定義された制御信号を生成する。命令長の判定と命令種
別の判定は同時に行ってもよい。
FIG. 3 is a diagram showing an example of an instruction decoding circuit configuration used in the present invention. Conventionally, such a circuit could process only one instruction length even if both modes were supported, but this embodiment can support two instructions. In the figure, an instruction register 1 stores a 32-bit instruction word read from a word position in a memory 3 specified by an instruction address register 2 via a 32-bit data bus 4. When the read instruction word is 32 bits long, one instruction is stored in the instruction register, and when the read instruction word is 16 bits long, two instructions are stored. When an instruction word is set in the instruction register 1, the instruction decoder 5 first takes in the most significant bit, and if the value is "1", the instruction is a 32-bit instruction, and the value is "0".
Then, it is determined that two 16-bit instructions are set. Next, the instruction decoder 5 outputs an OP composed of the following 7 bits.
The code section is taken in, the type of the instruction is determined, and a control signal defined for each instruction is generated. The determination of the instruction length and the determination of the instruction type may be performed simultaneously.

【0020】以下、図1および図2に記載された命令列
を例に具体的動作を説明し、かつ、ビッグエンディアン
動作モードおよびリトルエンディアン動作モードで回路
の動作が同一になることを説明する。但し、図1および
図2ではプログラムカウンタおよび命令アドレスは下位
4ビットのみを記載しているため、以下の説明において
もアドレスおよびプログラムカウンタ値は4ビットのみ
を記載する。
Hereinafter, a specific operation will be described with reference to the instruction sequence shown in FIG. 1 and FIG. 2, and the operation of the circuit will be the same in the big endian operation mode and the little endian operation mode. However, in FIGS. 1 and 2, only the lower 4 bits are described for the program counter and the instruction address. Therefore, only the 4 bits are described for the address and the program counter value in the following description.

【0021】図1に基づいてビッグエンディアン動作モ
ードでの動作を説明する。まず、命令アドレスレジスタ
2にアドレス「0000」をセットし、メモリ3より3
2ビット長命令(A)を命令レジスタ1にロードする。
この時、プログラムカウンタも「0000」にセットさ
れる。命令レジスタ1のビット0−15がマルチプレク
サ8を介して命令デコーダ5に供給され、命令のデコー
ドが行われる。この場合、32ビット長命令のため、命
令デコーダ5は命令アドレスレジスタ2に格納されてい
るワードアドレスを制御信号6の指示によりインクリメ
ントし、メモリ上の次のワード位置「0100」から命
令を読み出すように指示を行う。また、命令デコーダ5
は32ビット長命令(A)を実行する時点で制御信号9
を生成し、プログラムカウンタ11のワードアドレス部
分(この説明においては4ビット構成の上位2ビット)
をインクリメントし、「0100」とする。
The operation in the big endian operation mode will be described with reference to FIG. First, the address “0000” is set in the instruction address register 2 and 3
Load the 2-bit instruction (A) into the instruction register 1.
At this time, the program counter is also set to "0000". Bits 0 to 15 of the instruction register 1 are supplied to the instruction decoder 5 via the multiplexer 8, and the instruction is decoded. In this case, since the instruction is a 32-bit instruction, the instruction decoder 5 increments the word address stored in the instruction address register 2 by the instruction of the control signal 6 and reads the instruction from the next word position “0100” on the memory. Give instructions to The instruction decoder 5
Is the control signal 9 when the 32-bit instruction (A) is executed.
Is generated, and the word address portion of the program counter 11 (in this description, the upper 2 bits of the 4-bit configuration)
Is incremented to “0100”.

【0022】次に、命令アドレス「0100」から16
ビット長命令(B)および16ビット長命令(C)がパ
ックされた命令語を読み出し、命令レジスタ1にロード
する。プログラムカウンタの下位2ビットは命令語のハ
ーフワード位置を示すものであり、この場合「00」で
あるため上位ハーフワードを指定する。したがって、命
令レジスタ1のビット0−15がマルチプレクサ8を介
して命令デコーダ5に供給され、16ビット長命令
(B)のデコードが行われる。この場合、最初に実行さ
れる命令が16ビット長命令のため、命令デコーダ5は
命令アドレスレジスタ2のインクリメント指示を出さ
ず、命令レジスタ1に制御信号7を送り、マルチプレク
サ8を介して次に命令レジスタ1のビット16−31に
格納された16ビット長命令(C)を命令デコーダ5に
入力させるように指示する。また、命令デコーダ5は1
6ビット長命令(B)を実行する時点で制御信号10を
生成し、プログラムカウンタ11のハーフワード位置部
分(この説明においては4ビット構成の下位2ビット)
をインクリメントし、「0110」とする。
Next, from instruction address "0100" to 16
The instruction word in which the bit length instruction (B) and the 16 bit length instruction (C) are packed is read and loaded into the instruction register 1. The lower two bits of the program counter indicate the halfword position of the instruction word. In this case, since it is "00", the upper halfword is specified. Therefore, bits 0 to 15 of the instruction register 1 are supplied to the instruction decoder 5 via the multiplexer 8, and the 16-bit instruction (B) is decoded. In this case, since the first instruction to be executed is a 16-bit instruction, the instruction decoder 5 does not issue an instruction to increment the instruction address register 2, sends a control signal 7 to the instruction register 1, and It instructs the instruction decoder 5 to input the 16-bit instruction (C) stored in bits 16-31 of the register 1. The instruction decoder 5 is 1
At the time of execution of the 6-bit instruction (B), a control signal 10 is generated, and a halfword position portion of the program counter 11 (the lower 2 bits of a 4-bit configuration in this description)
Is incremented to “0110”.

【0023】次に、命令レジスタ1のビット16−31
がマルチプレクサ8を介して命令デコーダ5に供給さ
れ、16ビット長命令(C)のデコードが行われる。こ
の場合、2番目に実行される16ビット長命令のため、
命令デコーダ5は命令アドレスレジスタ2に格納されて
いるワードアドレスを制御信号6の指示によりインクリ
メントし、メモリ上の次のワード位置「1000」から
命令を読み出すように指示を行う。また、命令デコーダ
5は16ビット長命令(C)を実行する時点で制御信号
9を生成し、プログラムカウンタ11のワードアドレス
部分(この説明においては4ビット構成の上位2ビッ
ト)をインクリメントし、かつ、制御信号10によって
ハーフワードアドレス部分(この説明においては下位2
ビット)をクリアすることによって「1000」とす
る。以降、後続の16ビット長命令(D)、16ビット
長命令(E),32ビット長命令(F)の実行も同様に
行われる。
Next, bits 16-31 of the instruction register 1
Is supplied to the instruction decoder 5 via the multiplexer 8, and the 16-bit instruction (C) is decoded. In this case, because of the 16-bit instruction executed second,
The instruction decoder 5 increments the word address stored in the instruction address register 2 according to the instruction of the control signal 6, and instructs to read the instruction from the next word position "1000" on the memory. The instruction decoder 5 generates the control signal 9 at the time of executing the 16-bit length instruction (C), increments the word address portion of the program counter 11 (the upper 2 bits of the 4-bit configuration in this description), and , The control signal 10 causes a half word address portion (in this description, the lower two
(Bit) is cleared to "1000". Thereafter, the subsequent 16-bit instruction (D), 16-bit instruction (E), and 32-bit instruction (F) are similarly executed.

【0024】次に、図2に基づいてリトルエンディアン
動作モードでの動作を説明する。まず、命令アドレスレ
ジスタ2にアドレス「0000」をセットし、メモリ3
より32ビット長命令(A)を命令レジスタ1にロード
する。この時、プログラムカウンタも「0000」にセ
ットされる。この場合、32ビット長命令であるため、
命令アドレスとプログラムカウンタ値は一致する。命令
レジスタ1のビット0−15がマルチプレクサ8を介し
て命令デコーダ5に供給され、命令のデコードが行われ
る。この場合、32ビット長命令のため、命令デコーダ
5は命令アドレスレジスタ2に格納されているワードア
ドレスを制御信号6の指示によりインクリメントし、メ
モリ上の次のワード位置「0100」から命令を読み出
すように指示を行う。また、命令デコーダ5は32ビッ
ト長命令(A)を実行する時点で制御信号9を生成し、
プログラムカウンタ11のワードアドレス部分(この説
明においては4ビット構成の上位2ビット)をインクリ
メントし、「0100」とする。
Next, the operation in the little endian operation mode will be described with reference to FIG. First, the address “0000” is set in the instruction address register 2 and the memory 3
Then, the 32-bit instruction (A) is loaded into the instruction register 1. At this time, the program counter is also set to "0000". In this case, since the instruction is a 32-bit length instruction,
The instruction address matches the program counter value. Bits 0 to 15 of the instruction register 1 are supplied to the instruction decoder 5 via the multiplexer 8, and the instruction is decoded. In this case, since the instruction is a 32-bit instruction, the instruction decoder 5 increments the word address stored in the instruction address register 2 by the instruction of the control signal 6 and reads the instruction from the next word position “0100” on the memory. Give instructions to The instruction decoder 5 generates the control signal 9 at the time of executing the 32-bit instruction (A),
The word address portion of the program counter 11 (the upper two bits of the 4-bit configuration in this description) is incremented to “0100”.

【0025】次に、命令アドレス「0100」から16
ビット長命令(B)および16ビット長命令(C)がパ
ックされた命令語を読み出し、命令レジスタ1にロード
する。命令アドレス「0100」は16ビット長命令
(C)を示しているが、プログラムカウンタの下位2ビ
ットは命令語のハーフワード位置を示すものであり、こ
の場合「00」であるため上位ハーフワードの16ビッ
ト長命令(B)を実行対象として指定する。したがっ
て、命令レジスタ1のビット0−15がマルチプレクサ
8を介して命令デコーダ5に供給され、16ビット長命
令(B)のデコードが行われる。この場合、最初に実行
される命令が16ビット長命令のため、命令デコーダ5
は命令アドレスレジスタ2のインクリメント指示を出さ
ず、命令レジスタ1に制御信号7を送り、マルチプレク
サ8を介して次に命令レジスタ1のビット16−31に
格納された16ビット長命令(C)を命令デコーダ5に
入力させるように指示する。また、命令デコーダ5は1
6ビット長命令(B)を実行する時点で制御信号10を
生成し、プログラムカウンタ11のハーフワード位置部
分(この説明においては4ビット構成の下位2ビット)
をインクリメントし、「0110」とする。
Next, from instruction address "0100" to 16
The instruction word in which the bit length instruction (B) and the 16 bit length instruction (C) are packed is read and loaded into the instruction register 1. The instruction address “0100” indicates a 16-bit instruction (C), but the lower two bits of the program counter indicate a halfword position of the instruction word. A 16-bit instruction (B) is specified as an execution target. Therefore, bits 0 to 15 of the instruction register 1 are supplied to the instruction decoder 5 via the multiplexer 8, and the 16-bit instruction (B) is decoded. In this case, since the first instruction to be executed is a 16-bit instruction, the instruction decoder 5
Sends a control signal 7 to the instruction register 1 without issuing an instruction for incrementing the instruction address register 2, and instructs the 16-bit instruction (C) stored in bits 16-31 of the instruction register 1 via the multiplexer 8 to the next instruction. The decoder 5 is instructed to input. The instruction decoder 5 is 1
At the time of execution of the 6-bit instruction (B), a control signal 10 is generated, and a halfword position portion of the program counter 11 (the lower 2 bits of a 4-bit configuration in this description)
Is incremented to “0110”.

【0026】次に、プログラムカウンタの下位2ビット
が「10」であるため、命令アドレス「0100」に相
当する下位ハーフワードの16ビット長命令(C)を実
行対象として指定する。したがって、命令レジスタ1の
ビット16−31がマルチプレクサ8を介して命令デコ
ーダ5に供給され、16ビット長命令(C)のデコード
が行われる。この場合、2番目に実行される16ビット
長命令のため、命令デコーダ5は命令アドレスレジスタ
2に格納されているワードアドレスを制御信号6の指示
によりインクリメントし、メモリ上の次のワード位置
「1000」から命令を読み出すように指示を行う。ま
た、命令デコーダ5は16ビット長命令(C)を実行す
る時点で制御信号9を生成し、プログラムカウンタ11
のワードアドレス部分(この説明においては4ビット構
成の上位2ビット)をインクリメントし、かつ、制御信
号10によってハーフワードアドレス部分(この説明に
おいては下位2ビット)をクリアすることによって「1
000」とする。以降、後続の16ビット長命令
(D)、16ビット長命令(E),32ビット長命令
(F)の実行も同様に行われる。
Next, since the lower two bits of the program counter are "10", a 16-bit instruction (C) of a lower half word corresponding to the instruction address "0100" is designated as an execution target. Therefore, the bits 16-31 of the instruction register 1 are supplied to the instruction decoder 5 via the multiplexer 8, and the 16-bit instruction (C) is decoded. In this case, since the instruction is the second 16-bit instruction to be executed, the instruction decoder 5 increments the word address stored in the instruction address register 2 according to the instruction of the control signal 6, and sets the next word position "1000" in the memory. ”To read the instruction. The instruction decoder 5 generates the control signal 9 at the time of executing the 16-bit length instruction (C), and outputs the control signal 9 to the program counter 11.
By incrementing the word address portion (the upper 2 bits of the 4-bit configuration in this description) and clearing the half word address portion (the lower 2 bits in this description) by the control signal 10.
000 ". Thereafter, the subsequent 16-bit instruction (D), 16-bit instruction (E), and 32-bit instruction (F) are similarly executed.

【0027】以上に述べたように、ビッグエンディアン
動作モードでもリトルエンディアン動作モードでも命令
デコード回路の動作は全く同一であり、両モードで共通
の命令デコード回路を利用可能となる。
As described above, the operation of the instruction decode circuit is exactly the same in both the big endian operation mode and the little endian operation mode, and a common instruction decode circuit can be used in both modes.

【0028】本発明における命令実行方法では、まず命
令記憶領域への格納時に、両モードに関係なく1ワード
の上位ハーフに先の命令を組として格納し、メモリから
命令語を読み出して命令デコードを開始する際に、ビッ
グエンディアン動作モードおよびリトルエンディアン動
作モードの別に関係なく、かつ、命令語内に置かれた命
令長識別子の値に関係なく、命令レジスタの上位ハーフ
(16ビット)を命令デコーダに供給するため、命令デ
コーダに供給するビット位置判定のオーバーヘッドを解
消でき、命令デコード処理の高速化が達成できる。ま
た、命令レジスタ内に2つの16ビット長命令が格納さ
れている場合では、最初の16ビット長命令のデコード
時点であらかじめ後続の16ビット長命令を命令デコー
ダに供給するための指示を行うため、後続16ビット長
命令のデコード処理時間に遅れがなくなる。なお、命令
長は64ビットと32ビットの2つであっても同様な方
法がとれることは明らかである。
In the instruction execution method according to the present invention, when storing the instruction in the instruction storage area, the instruction is stored as a set in the upper half of one word regardless of both modes, and the instruction word is read from the memory to decode the instruction. When starting, the upper half (16 bits) of the instruction register is transmitted to the instruction decoder regardless of the big endian operation mode and the little endian operation mode, and irrespective of the value of the instruction length identifier placed in the instruction word. Therefore, the overhead of determining the bit position to be supplied to the instruction decoder can be eliminated, and the speed of instruction decoding can be increased. In the case where two 16-bit instructions are stored in the instruction register, an instruction to supply a subsequent 16-bit instruction to the instruction decoder is performed in advance at the time of decoding the first 16-bit instruction. There is no delay in the decoding processing time of the subsequent 16-bit instruction. It is clear that the same method can be used even when the instruction length is two bits of 64 bits and 32 bits.

【0029】個々の32ビット長命令および32ビット
にパックされた2つの16ビット長命令のセットは、ビ
ッグエンディアン動作モードおよびリトルエンディアン
動作モードで全く同一のワードバウンダリ・アドレスに
配置されるため、デコード回路構成は共通化され、モー
ドの違いを吸収するための回路のオーバーヘッドを必要
としない。したがって、回路構造が簡略化されデコード
処理性能が向上する。
The set of individual 32-bit instructions and two sets of 16-bit instructions packed into 32 bits are located at the same word boundary address in the big endian operation mode and the little endian operation mode. The circuit configuration is shared, and does not require a circuit overhead for absorbing a difference between modes. Therefore, the circuit structure is simplified and the decoding processing performance is improved.

【0030】[0030]

【発明の効果】以上のようにこの発明によれば、従来の
1モードをサポートするデコード回路を用いて、命令記
憶領域での短命令の記憶順序を2つのモードで同じと
し、かつ読み出し順序もその順としたので、デコード回
路が簡単で、かつ命令の実行に遅れがないという効果が
ある。
As described above, according to the present invention, the storage order of short instructions in the instruction storage area is made the same in the two modes by using the conventional decoding circuit supporting one mode, and the read order is also reduced. Since the order is the order, there is an effect that the decoding circuit is simple and there is no delay in the execution of the instruction.

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

【図1】 この発明の実施の形態1におけるメモリ上に
配置されたビッグエンディアンでの命令列とカウンタと
アドレスと実行順序の例を示す図である。
FIG. 1 is a diagram showing an example of an instruction sequence, a counter, an address, and an execution order in a big endian arranged on a memory according to Embodiment 1 of the present invention;

【図2】 実施の形態1におけるメモリ上に配置された
リトルエンディアンでの命令列とカウンタとアドレスと
実行順序の例を示す図である。
FIG. 2 is a diagram showing an example of an instruction sequence, a counter, an address, and an execution order in little endian arranged on a memory according to the first embodiment;

【図3】 実施の形態1における命令デコード回路の例
を示す図である。
FIG. 3 is a diagram illustrating an example of an instruction decode circuit according to the first embodiment;

【図4】 本発明がサポートする2命令の構成を説明す
る図である。
FIG. 4 is a diagram illustrating a configuration of two instructions supported by the present invention.

【図5】 本発明がサポートする2つの短命令の構成を
説明する図である。
FIG. 5 is a diagram illustrating a configuration of two short instructions supported by the present invention.

【図6】 一般的なビッグエンディアンでのメモリ上の
命令配置図である。
FIG. 6 is an instruction arrangement diagram on a memory in a general big endian.

【図7】 一般的なリトルエンディアンでのメモリ上の
命令配置図である。
FIG. 7 is an instruction arrangement diagram on a memory in general little endian.

【図8】 従来の固定長命令のビッグエンディアンでの
メモリ上の命令配置図である。
FIG. 8 is a diagram showing an instruction arrangement on a memory in a conventional big-endian fixed-length instruction.

【図9】 従来の固定長命令のリトルエンディアンでの
メモリ上の命令配置図である。
FIG. 9 is a diagram showing an instruction arrangement on a memory in a little-endian manner of a conventional fixed-length instruction.

【図10】 従来の両モードサポートのビッグエンディ
アンにおけるメモリ上の命令配置図である。
FIG. 10 is an instruction arrangement diagram on a memory in a conventional big-endian mode supporting both modes.

【図11】 従来の両モードサポートのリトルエンディ
アンにおけるメモリ上の命令配置図である。
FIG. 11 is a diagram illustrating an instruction arrangement on a memory in a conventional little-endian mode supporting both modes.

【図12】 従来の両モードサポートの命令デコード回
路図である。
FIG. 12 is a diagram of a conventional instruction decoding circuit supporting both modes.

【図13】 従来の命令デコード回路の命令語選択方法
を説明する図である。
FIG. 13 is a diagram illustrating an instruction word selection method of a conventional instruction decode circuit.

【符号の説明】 1 命令レジスタ、2 命令アドレスレジスタ、3 メ
モリ、4 命令デコーダ、8 マルチプレクサ、11
プログラムカウンタ。
[Description of Signs] 1 instruction register, 2 instruction address registers, 3 memories, 4 instruction decoders, 8 multiplexers, 11
Program counter.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数命令長をビッグエンディアンとリト
ルエンディアンの2つのモードでサポートする命令実行
方法において、 命令記憶領域に上記2つのエンディアンのモードに関わ
らず、連続する短命令を常に上記領域の長命令に合わせ
た、先・後の組として格納し、かつ読み出し順序を該先
・後の順に実行するようにしたことを特徴とするバイエ
ンディアン複数命令長実行方法。
1. An instruction execution method for supporting a plurality of instruction lengths in two modes, big endian and little endian, wherein a continuous short instruction is always stored in an instruction storage area regardless of the two endian modes. A bi-endian multiple-instruction-length execution method, characterized in that the instruction is stored as a first / last pair according to an instruction, and the read order is executed in the first / last order.
【請求項2】 一方のエンディアン・モードでの命令実
行は、他方のエンディアン・モードでのプログラムカウ
ンタの一部を変更して命令アドレスを得るようにしたこ
とを特徴とする請求項1記載のバイエンディアン複数命
令長実行方法。
2. The method according to claim 1, wherein the instruction execution in one endian mode is performed by changing a part of a program counter in the other endian mode to obtain an instruction address. Endian multiple instruction length execution method.
【請求項3】 組になった短命令に対しては、先の短命
令の直後に命令デコードを実行するようにしたことを特
徴とする請求項1記載のバイエンディアン複数命令長実
行方法。
3. The method according to claim 1, wherein the instruction decoding is executed immediately after the short instruction in the set.
JP2000040764A 2000-02-18 2000-02-18 Bi-endian multiple instruction length execution method Expired - Fee Related JP3902374B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000040764A JP3902374B2 (en) 2000-02-18 2000-02-18 Bi-endian multiple instruction length execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000040764A JP3902374B2 (en) 2000-02-18 2000-02-18 Bi-endian multiple instruction length execution method

Publications (2)

Publication Number Publication Date
JP2001229075A true JP2001229075A (en) 2001-08-24
JP3902374B2 JP3902374B2 (en) 2007-04-04

Family

ID=18564096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000040764A Expired - Fee Related JP3902374B2 (en) 2000-02-18 2000-02-18 Bi-endian multiple instruction length execution method

Country Status (1)

Country Link
JP (1) JP3902374B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008047031A (en) * 2006-08-21 2008-02-28 Kumamoto Univ Concurrent computing device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112008001635B4 (en) 2007-06-18 2014-07-31 Exxonmobil Upstream Research Co. Low alloy steels with superior corrosion resistance for tubular oil products

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008047031A (en) * 2006-08-21 2008-02-28 Kumamoto Univ Concurrent computing device

Also Published As

Publication number Publication date
JP3902374B2 (en) 2007-04-04

Similar Documents

Publication Publication Date Title
US5819058A (en) Instruction compression and decompression system and method for a processor
JP3203401B2 (en) Data processing device
US6263420B1 (en) Digital signal processor particularly suited for decoding digital audio
US5117488A (en) Microprogram controlled microprocessor having a selectively expandable instruction code length including independent description of operand addressing and a type of operation for an operand by single instruction in a common coding scheme
US3958221A (en) Method and apparatus for locating effective operand of an instruction
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
US4337510A (en) Read control system for a control storage device
JP2001229075A (en) Bi-endian multi-instruction length executing method
EP0195202B1 (en) Register selection mechanism and organization of an instruction prefetch buffer
US5390358A (en) Arithmetic unit that requires only one byte instructions
JPH1091430A (en) Instruction decoding device
JP3454393B2 (en) Data processing device
JP3644892B2 (en) Data processing apparatus for executing a plurality of instruction sets
US20030005269A1 (en) Multi-precision barrel shifting
JPH0218729B2 (en)
US20050015574A1 (en) Processor and method capable of executing instruction sets with different lengths
JPS6033644A (en) Memory bank switching method and its device
JPH07200289A (en) Information processor
JPH06149563A (en) Data processor
JP2003233495A (en) Microprocessor
JPH0713757A (en) Data processor
JPS6391739A (en) Decoder for variable length instruction
JPH05127903A (en) Parallel processing micro processor
JPH1173318A (en) Microprocessor
JPS63276126A (en) Instruction decoding circuit

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040616

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061228

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100112

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees