[go: up one dir, main page]

JP2003233495A - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JP2003233495A
JP2003233495A JP2002030945A JP2002030945A JP2003233495A JP 2003233495 A JP2003233495 A JP 2003233495A JP 2002030945 A JP2002030945 A JP 2002030945A JP 2002030945 A JP2002030945 A JP 2002030945A JP 2003233495 A JP2003233495 A JP 2003233495A
Authority
JP
Japan
Prior art keywords
instruction
bit
instruction code
decoder
code
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
JP2002030945A
Other languages
Japanese (ja)
Inventor
Toshiyuki Daimon
俊行 大門
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002030945A priority Critical patent/JP2003233495A/en
Publication of JP2003233495A publication Critical patent/JP2003233495A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 32ビット長命令を持つ16ビット命令セッ
トアーキテクチャにおいて、32ビット長命令を1クロ
ックでデコードすることができるマイクロプロセッサを
提供する。 【解決手段】 第一の選択信号に従って、デコードすべ
き16ビット命令コードを選択して出力するキューセレ
クタと、選択された命令コードをデコードする第一のデ
コーダとを備える。選択された16ビット命令コードの
内容が32ビット長命令に該当する場合に第二の選択信
号を出力すると共に、選択された16ビット命令コード
にプログラム上連続する命令コードを連結して32ビッ
ト命令コードを生成する機能を設ける。32ビット命令
コードをデコードする第二のデコーダを設け、第二の選
択信号がイネーブルの時には第二のデコーダのデコード
結果を選択する。
(57) Abstract: Provided is a microprocessor capable of decoding a 32-bit length instruction in one clock in a 16-bit instruction set architecture having a 32-bit length instruction. A queue selector that selects and outputs a 16-bit instruction code to be decoded according to a first selection signal, and a first decoder that decodes the selected instruction code. When the content of the selected 16-bit instruction code corresponds to a 32-bit instruction, a second selection signal is output, and the selected 16-bit instruction code is linked to a continuous instruction code on a program to form a 32-bit instruction. Provide a function to generate code. A second decoder for decoding a 32-bit instruction code is provided, and when the second selection signal is enabled, a decoding result of the second decoder is selected.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、16ビット命令セ
ットアーキテクチャ等のマイクロプロセッサに関し、特
に32ビット長命令を持つ命令セットにおいてスループ
ットの向上を図るための機構を有するマイクロプロセッ
サに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor such as a 16-bit instruction set architecture, and more particularly to a microprocessor having a mechanism for improving throughput in an instruction set having a 32-bit length instruction.

【0002】[0002]

【従来の技術】従来は、図11に示すように、16ビッ
ト命令セットアーキテクチャで8本の16ビット命令キ
ューQ1〜Q8を持つマイクロプロセッサでは、命令キ
ューセレクタ13が、各命令キューQ1〜Q8に格納し
た命令コードを入力すると共に、デコードキューセレク
ト信号制御回路114から、デコードすべき命令コード
が格納された命令キューをセレクトするためのデコード
キューセレクト信号S1を入力する。
2. Description of the Related Art Conventionally, as shown in FIG. 11, in a microprocessor having eight 16-bit instruction queues Q1 to Q8 in a 16-bit instruction set architecture, an instruction queue selector 13 assigns to each instruction queue Q1 to Q8. In addition to inputting the stored instruction code, the decode queue select signal control circuit 114 inputs the decode queue select signal S1 for selecting the instruction queue in which the instruction code to be decoded is stored.

【0003】そして、命令キューセレクタ13は、セレ
クトした16ビットの命令コードを16ビット命令デコ
ーダ18に出力し、それを受けた命令デコーダ18がデ
コードを行い、命令を実行している。
Then, the instruction queue selector 13 outputs the selected 16-bit instruction code to the 16-bit instruction decoder 18, and the instruction decoder 18 which received it decodes it and executes the instruction.

【0004】このような従来のシステムでは、図12に
示すように、命令フェッチ(F)、デコード(D)、実
行(E)、メモリアクセス(M)、及びレジスタライト
バック(W)の5段パイプラインステージを持つマイク
ロプロセッサにおいて、32ビット長命令のデコード
は、命令を16ビットずつの前半、後半に分割し、第1
クロックで前半の16ビットコードのデコードを行い、
第2クロックで後半の16ビットコードのデコードを行
うという方法で、合わせて2クロックで命令を完了して
いた。なお、16ビット長命令は1クロックでデコード
を完了することができる。
In such a conventional system, as shown in FIG. 12, five stages of instruction fetch (F), decode (D), execution (E), memory access (M), and register write back (W) are performed. In a microprocessor having a pipeline stage, decoding a 32-bit length instruction divides the instruction into 16-bit first half and second half
The clock decodes the first 16-bit code,
The instruction was completed in two clocks in total by the method of decoding the latter half 16-bit code in the second clock. A 16-bit length instruction can be decoded in 1 clock.

【0005】[0005]

【発明が解決しようとする課題】上述したように従来の
マイクロプロセッサでは、32ビット長命令は1つの命
令であるにも関わらず、あたかも2命令あるかのように
デコードが2クロックかけて行われ、スループットを下
げる要因になっていた。
As described above, in the conventional microprocessor, although the 32-bit length instruction is one instruction, the decoding is performed in two clocks as if there were two instructions. , Was a factor that lowered the throughput.

【0006】本発明は、上述の如き従来の問題点を解決
するためになされたもので、その目的は、32ビット長
命令を持つ16ビット命令セットアーキテクチャにおい
て、32ビット長命令を1クロックでデコードすること
ができるマイクロプロセッサを提供することである。
The present invention has been made to solve the above-mentioned conventional problems, and its object is to decode a 32-bit length instruction in one clock in a 16-bit instruction set architecture having a 32-bit length instruction. Is to provide a microprocessor that can.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するため
に、第1の発明に係るマイクロプロセッサでは、所定ビ
ットの命令コードを格納するためのN個(N≧4)の命
令キューと、デコードすべき命令コードを指定する第一
の選択信号に従って、前記各命令キューより受け取るN
個の命令コードの中からデコードすべき命令コードを選
択して出力する選択回路と、前記選択回路で選択された
前記所定ビットの命令コードをデコードする第一のデコ
ーダとを備えたマイクロプロセッサにおいて、前記第一
の選択信号に従って選択された前記所定ビットの命令コ
ードの内容が該所定ビットよりも大きいビット長の命令
の一部に該当する場合には第二の選択信号を出力すると
共に、前記選択された命令コードにプログラム上連続す
る命令コードを前記N個の命令コードの中から取り出し
連結して前記命令に対応した命令コードを生成し出力す
る第一の制御回路と、前記第一の制御回路から出力され
た命令コードをデコードする第二のデコーダと、前記第
二の選択信号が、前記第二のデコーダのデコード結果又
は前記第一のデコーダのデコード結果を選択して出力す
るデコード結果選択回路とを備えたことを特徴とする。
To achieve the above object, in a microprocessor according to a first aspect of the present invention, N (N ≧ 4) instruction queues for storing instruction codes of predetermined bits and decoding are performed. N received from each of the instruction queues according to a first selection signal designating an instruction code to be performed.
In a microprocessor including a selection circuit that selects and outputs an instruction code to be decoded from the individual instruction codes, and a first decoder that decodes the instruction code of the predetermined bit selected by the selection circuit, When the content of the instruction code of the predetermined bit selected according to the first selection signal corresponds to a part of an instruction having a bit length larger than the predetermined bit, the second selection signal is output and the selection is performed. A first control circuit for generating and outputting an instruction code corresponding to the instruction by taking out and concatenating an instruction code continuous with the generated instruction code from the N instruction codes, and the first control circuit. A second decoder that decodes the instruction code output from the second decoder, and the second selection signal is the decoding result of the second decoder or the first decoder. Characterized by comprising a decoding result selecting circuit for selecting and outputting the result of decoding of da.

【0008】第2の発明に係るマイクロプロセッサで
は、16ビット命令コードを格納するためのN個(N≧
4)の命令キューと、デコードすべき命令コードを指定
する第一の選択信号に従って、前記各命令キューより受
け取るN個の命令コードの中からデコードすべき命令コ
ードを選択して出力する選択回路と、前記選択回路で選
択された16ビット命令コードをデコードする第一のデ
コーダとを備えたマイクロプロセッサにおいて、前記第
一の選択信号に従って選択された16ビット命令コード
の内容が32ビット長命令に該当する場合には第二の選
択信号を出力すると共に、前記選択された16ビット命
令コードにプログラム上連続する命令コードを前記N個
の命令コードの中から取り出し連結して32ビット命令
コードを生成し出力する第一の制御回路と、前記第一の
制御回路から出力された32ビット命令コードをデコー
ドする第二のデコーダと、前記第二の選択信号が、前記
第二のデコーダのデコード結果又は前記第一のデコーダ
のデコード結果を選択して出力するデコード結果選択回
路とを備えたことを特徴とする。
In the microprocessor according to the second aspect of the present invention, N pieces (N ≧) for storing 16-bit instruction codes are stored.
4) an instruction queue, and a selection circuit for selecting and outputting an instruction code to be decoded from N instruction codes received from each of the instruction queues in accordance with a first selection signal designating an instruction code to be decoded. A first decoder for decoding the 16-bit instruction code selected by the selection circuit, the content of the 16-bit instruction code selected according to the first selection signal corresponds to a 32-bit length instruction In the case of performing, a second selection signal is output, and an instruction code that is consecutive in program with the selected 16-bit instruction code is taken out from the N instruction codes and connected to generate a 32-bit instruction code. A first control circuit for outputting, and a second decoding circuit for decoding the 32-bit instruction code output from the first control circuit. And da, the second selection signal, characterized in that a decoding result selecting circuit for selecting and outputting the decoded result of the decoding result of the second decoder and the first decoder.

【0009】第3の発明に係るマイクロプロセッサで
は、所定ビットの命令コードを格納するためのN個(N
≧4)の命令キューと、デコードすべき命令コードを指
定する第一の選択信号に従って、前記各命令キューより
受け取るN個の命令コードの中からデコードすべき命令
コードを選択して出力する選択回路と、前記選択回路で
選択された前記所定ビットの命令コードをデコードする
第一のデコーダとを備えたマイクロプロセッサにおい
て、前記第一の選択信号に従って選択された前記所定ビ
ットの命令コードの内容が該所定ビットよりも大きいビ
ット長の命令の一部に該当する場合には第二の選択信号
を出力すると共に、前記選択された命令コードにプログ
ラム上連続する命令コードを前記N個の命令コードの中
から取り出し、エンディアンを示す外部信号に応じて連
結して前記命令に対応した命令コードを生成し出力する
第一の制御回路と、前記第一の制御回路から出力された
命令コードをデコードする第二のデコーダと、前記第二
の選択信号が、前記第二のデコーダのデコード結果又は
前記第一のデコーダのデコード結果を選択して出力する
デコード結果選択回路とを備えたことを特徴とする。
In the microprocessor according to the third aspect of the invention, there are N (N) units for storing instruction codes of predetermined bits.
A selection circuit for selecting and outputting an instruction code to be decoded from N instruction codes received from each of the instruction queues in accordance with an instruction queue of ≧ 4) and a first selection signal designating an instruction code to be decoded. And a first decoder for decoding the instruction code of the predetermined bit selected by the selection circuit, wherein the content of the instruction code of the predetermined bit selected according to the first selection signal is When it corresponds to a part of an instruction having a bit length larger than a predetermined bit, a second selection signal is output, and an instruction code consecutive in program with the selected instruction code among the N instruction codes is output. A first control circuit for extracting and outputting an instruction code corresponding to the instruction by connecting in accordance with an external signal indicating endian; A second decoder that decodes the instruction code output from the first control circuit, and the second selection signal selects the decoding result of the second decoder or the decoding result of the first decoder. And a decoding result selection circuit for outputting.

【0010】第4の発明に係るマイクロプロセッサで
は、16ビット命令コードを格納するためのN個(N≧
4)の命令キューと、デコードすべき命令コードを指定
する第一の選択信号に従って、前記各命令キューより受
け取るN個の命令コードの中からデコードすべき命令コ
ードを選択して出力する選択回路と、前記選択回路で選
択された16ビット命令コードをデコードする第一のデ
コーダとを備えたマイクロプロセッサにおいて、前記第
一の選択信号に従って選択された16ビット命令コード
の内容が32ビット長命令に該当する場合には第二の選
択信号を出力すると共に、前記選択された16ビット命
令コードにプログラム上連続する命令コードを前記N個
の命令コードの中から取り出し、エンディアンを示す外
部信号に応じて連結して32ビット命令コードを生成し
て出力する第一の制御回路と、前記第一の制御回路から
出力された32ビット命令コードをデコードする第二の
デコーダと、前記第二の選択信号が、前記第二のデコー
ダのデコード結果又は前記第一のデコーダのデコード結
果を選択して出力するデコード結果選択回路とを備えた
ことを特徴とする。
In the microprocessor according to the fourth aspect of the invention, N pieces (N ≧) for storing a 16-bit instruction code are stored.
4) an instruction queue, and a selection circuit for selecting and outputting an instruction code to be decoded from N instruction codes received from each of the instruction queues in accordance with a first selection signal designating an instruction code to be decoded. A first decoder for decoding the 16-bit instruction code selected by the selection circuit, the content of the 16-bit instruction code selected according to the first selection signal corresponds to a 32-bit length instruction In the case of performing, the second selection signal is output, and the instruction code that is continuous in program with the selected 16-bit instruction code is taken out from the N instruction codes and connected according to the external signal indicating the endian. First control circuit for generating and outputting a 32-bit instruction code, and the 32 bit command output from the first control circuit. A second decoder that decodes an instruction code and a decode result selection circuit that selects and outputs the decode result of the second decoder or the decode result of the first decoder by the second selection signal. It is characterized by that.

【0011】[0011]

【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0012】[第一実施形態]図1は、本発明の第一実
施形態に係るマイクロプロセッサの構成を示すブロック
図である。図2は、図1に示したマイクロプロセッサが
搭載されたマイコンチップの概略構成を示すブロック図
である。
[First Embodiment] FIG. 1 is a block diagram showing the arrangement of a microprocessor according to the first embodiment of the present invention. FIG. 2 is a block diagram showing a schematic configuration of a microcomputer chip equipped with the microprocessor shown in FIG.

【0013】図1において、このマイクロプロセッサ
は、16ビット命令コードを格納するための8本の16
ビット命令キューQ1,Q2,Q3,Q4,Q5,Q
6,Q7,Q8を有し、その各出力側が8本の16ビッ
トバス12を介して命令キューセレクタ13Aにそれぞ
れ接続されている。
In FIG. 1, the microprocessor includes eight 16-bit instruction codes for storing 16-bit instruction codes.
Bit instruction queue Q1, Q2, Q3, Q4, Q5, Q
6, Q7, Q8, each output side of which is connected to the instruction queue selector 13A via eight 16-bit buses 12.

【0014】命令キューセレクタ13Aは、デコードす
べき命令コードを指定するセレクト信号制御回路114
Aから出力されるデコードキューセレクト信号S1と、
命令キューQ1〜Q8からの16ビット命令コードとを
入力し、信号S1によってセレクトされた16ビットバ
ス12の内容である命令コードを出力する機能のほか、
次のような機能(第一の制御回路)を有している。すな
わち、セレクトされた命令コードが32ビット長命令に
該当すると判定した時に、イネーブルのデコード結果セ
レクト信号S2を出力し、さらに、セレクトされた16
ビット命令コードが出力されている16ビットバス12
の出力内容と、この命令コードにプログラム上連続する
16ビット命令コードが出力されている16ビットバス
12の出力内容とを連結した32ビット命令コードを生
成出力する機能を有している。
The instruction queue selector 13A has a select signal control circuit 114 for designating an instruction code to be decoded.
A decode queue select signal S1 output from A,
In addition to the function of inputting the 16-bit instruction code from the instruction queues Q1 to Q8 and outputting the instruction code which is the contents of the 16-bit bus 12 selected by the signal S1,
It has the following functions (first control circuit). That is, when it is determined that the selected instruction code corresponds to a 32-bit length instruction, the enable decode result select signal S2 is output, and the selected 16
16-bit bus 12 that outputs a bit instruction code
Has a function of generating and outputting a 32-bit instruction code in which the output content of the above is connected to the output content of the 16-bit bus 12 in which a 16-bit instruction code continuous to this instruction code is output.

【0015】また、セレクト信号制御回路114A(第
二の制御回路)が指定する命令キューは、命令キューQ
1→Q2→Q3→Q4→Q5→Q6→Q7→Q8→Q1
‥の順番に遷移するようになっている。
The instruction queue designated by the select signal control circuit 114A (second control circuit) is the instruction queue Q.
1 → Q2 → Q3 → Q4 → Q5 → Q6 → Q7 → Q8 → Q1
The transition is made in the order of.

【0016】命令キューセレクタ13Aの出力側には、
生成出力された32ビット命令コードをデコードする3
2ビット長命令デコーダ17と、セレクトされた16ビ
ット命令コードをデコードする16ビット命令デコーダ
18とが、それぞれ32ビットバス15と16ビットバ
ス16を介して接続されている。
On the output side of the instruction queue selector 13A,
Decode the generated and output 32-bit instruction code 3
A 2-bit length instruction decoder 17 and a 16-bit instruction decoder 18 for decoding the selected 16-bit instruction code are connected via a 32-bit bus 15 and a 16-bit bus 16, respectively.

【0017】さらに、この2つのデコーダ17,18の
出力側には、それぞれデコード結果出力バス19,11
0を介してデコード結果セレクタ112が接続されてい
る。デコード結果セレクタ112は、上記2つのデコー
ダ17,18のデコード結果をデコード結果セレクト信
号S2に応じてセレクトする回路である。
Further, the decoding result output buses 19 and 11 are provided on the output sides of the two decoders 17 and 18, respectively.
The decode result selector 112 is connected via 0. The decode result selector 112 is a circuit that selects the decode results of the two decoders 17 and 18 according to the decode result select signal S2.

【0018】図2において、マイコンチップ100に
は、図1に示した本実施形態のマイクロプロセッサ10
1が搭載され、このマイクロプロセッサ101がシステ
ムバス102を介してメモリ103とバスブリッジ回路
104に接続され、バスブリッジ回路104の出力側が
I/O部105に接続されている。
In FIG. 2, a microcomputer chip 100 includes a microprocessor 10 of the present embodiment shown in FIG.
1 is mounted, the microprocessor 101 is connected to the memory 103 and the bus bridge circuit 104 via the system bus 102, and the output side of the bus bridge circuit 104 is connected to the I / O unit 105.

【0019】32ビット長命令は、メモリ103上のワ
ード境界に配置されている。例えば、図3(a)に示す
ように、32ビットの1ワード領域内にワード境界を跨
ぐことなく32ビット長命令aの前半部分と後半部分と
が配置されている。
The 32-bit length instruction is arranged on a word boundary on the memory 103. For example, as shown in FIG. 3A, the first half portion and the second half portion of the 32-bit long instruction a are arranged in a 32-bit one word area without crossing word boundaries.

【0020】次に、本実施形態の動作を説明する。Next, the operation of this embodiment will be described.

【0021】マイクロプロセッサ101は、上記図3
(a)に示すメモリ配置の32ビット長命令aをフェッ
チし、図4(a)に示すようにワード境界を跨ぐことな
く、命令キューQ1,Q2に32ビット長命令aの前
半、後半をそれぞれ格納する。
The microprocessor 101 is the same as that shown in FIG.
The 32-bit long instruction a of the memory arrangement shown in (a) is fetched, and the first half and the second half of the 32-bit long instruction a are respectively placed in the instruction queues Q1 and Q2 without crossing word boundaries as shown in FIG. 4 (a). Store.

【0022】図1に示す命令キューセレクタ13Aは、
各命令キューQ1〜Q8からそれぞれのキューに対応す
る16ビットバス12を介して16ビット命令コードを
受け取り、セレクト信号制御回路114Aからデコード
すべき命令が格納されている命令キューQ1を指定する
デコードキューセレクト信号S1を受ける。
The instruction queue selector 13A shown in FIG.
A decode queue that receives a 16-bit instruction code from each of the instruction queues Q1 to Q8 via the 16-bit bus 12 corresponding to each queue, and specifies the instruction queue Q1 in which the instruction to be decoded is stored from the select signal control circuit 114A. Receive select signal S1.

【0023】デコードキューセレクト信号S1の値によ
り、命令キューセレクタ13Aは、命令キューQ1に格
納された16ビット命令コードを、16ビットバス16
を介して16ビット命令デコーダ18へ出力し、命令キ
ューQ1の命令コードと次にデコードされる命令キュー
Q2の命令コードとを合わせた32ビット命令コード
を、32ビットバス15を介して32ビット長命令デコ
ーダ17へ出力する。
According to the value of the decode queue select signal S1, the instruction queue selector 13A transfers the 16-bit instruction code stored in the instruction queue Q1 to the 16-bit bus 16
To the 16-bit instruction decoder 18 via the 32-bit bus, and a 32-bit instruction code obtained by combining the instruction code of the instruction queue Q1 and the instruction code of the instruction queue Q2 to be decoded next is 32-bit long via the 32-bit bus 15. Output to the instruction decoder 17.

【0024】同時に、命令キューセレクタ13Aは、デ
コードキューセレクト信号S1の指定する命令キューQ
1の命令コードが32ビット長命令aの前半の16ビッ
トコードであることを示すコードと一致すると、デコー
ド結果セレクト信号S2を出力する。
At the same time, the instruction queue selector 13A has an instruction queue Q designated by the decode queue select signal S1.
When the instruction code of 1 coincides with the code indicating that it is the first half 16-bit code of the 32-bit length instruction a, the decode result select signal S2 is output.

【0025】32ビット長命令デコーダ17は、上記命
令キューセレクタ13Aが出力した32ビット命令コー
ドを受け取り、デコード結果をデコード結果出力バス1
9へ出力する。16ビット命令デコーダ18は、上記命
令キューセレクタ13Aが出力した16ビット命令コー
ドを受け取り、デコード結果をデコード結果出力バス1
10へ出力する。
The 32-bit length instruction decoder 17 receives the 32-bit instruction code output from the instruction queue selector 13A and outputs the decoding result to the decoding result output bus 1
Output to 9. The 16-bit instruction decoder 18 receives the 16-bit instruction code output from the instruction queue selector 13A and outputs the decoding result to the decoding result output bus 1
Output to 10.

【0026】デコード結果セレクタ112は、上記32
ビット長命令デコーダ17と16ビット命令デコーダ1
8とが出力したデコード結果と、上記命令キューセレク
タ13Aが出力したデコード結果セレクト信号S2とを
受け取り、デコード結果セレクト信号S2がイネーブル
である時、上記32ビット長命令デコーダ17のデコー
ド結果をセレクトして、デコード結果出力バス113へ
出力してデコードを終了し、実行ステージへ渡す。
The decoding result selector 112 uses the above 32
Bit length instruction decoder 17 and 16-bit instruction decoder 1
8 and the decode result select signal S2 output by the instruction queue selector 13A, and when the decode result select signal S2 is enabled, the decode result of the 32-bit length instruction decoder 17 is selected. Then, the result is output to the decoding result output bus 113, the decoding is completed, and the result is passed to the execution stage.

【0027】セレクト信号制御回路114Aは、デコー
ドが終了した時、上記デコード結果セレクト信号S2が
イネーブルであれば、次にデコードすべき命令キューの
指定を命令キューQ1から命令キューQ3に変更し、デ
コードキューセレクト信号S1へ出力する。
When the decode result select signal S2 is enabled when the decoding is completed, the select signal control circuit 114A changes the designation of the instruction queue to be decoded next from the instruction queue Q1 to the instruction queue Q3, and the decoding is performed. Output to the cue select signal S1.

【0028】上記のように、マイクロプロセッサ101
が32ビット長命令デコーダ17を有し、デコード結果
セレクト信号S2を生成し、その信号S2によって32
ビット長命令デコーダ17の結果をセレクトすること
で、図5に示すように32ビット長命令aを1クロック
でデコードすることができる。
As described above, the microprocessor 101
Has a 32-bit length instruction decoder 17, generates a decode result select signal S2, and outputs 32 as a result of the signal S2.
By selecting the result of the bit length instruction decoder 17, the 32-bit length instruction a can be decoded in one clock as shown in FIG.

【0029】なお、本実施形態は、32ビット長命令a
が図3(b)及び図4(b)のようにワード境界を跨い
でいるような場合でも実現できる。
In this embodiment, the 32-bit length instruction a
Can be realized even in the case where the word straddles a word boundary as shown in FIGS. 3B and 4B.

【0030】[第二実施形態]上記第一実施形態では、
32ビット長命令がワード境界に収まっている場合も跨
いでいる場合でも対応でき、またエンディアンがリトル
エンディアンに固定されている例(但し、ビッグエンデ
ィアンに固定されていても第一実施形態で実現可能)に
ついて説明したが、第二実施形態では、32ビット長命
令がワード境界に収まっているか跨いでいるかは関係な
く、エンディアンが固定されていなくて切り替え可能な
プロセッサの例について説明する。
[Second Embodiment] In the above first embodiment,
An example in which a 32-bit length instruction can be accommodated on a word boundary or across words, and the endian is fixed to little endian (however, it can be realized in the first embodiment even if it is fixed to big endian). ) Has been described, the second embodiment will describe an example of a processor in which the endian is not fixed and can be switched regardless of whether the 32-bit length instruction is within the word boundary or straddling it.

【0031】図6は、本発明の第二実施形態に係るマイ
クロプロセッサの構成を示すブロック図である。図7
は、図6に示したマイクロプロセッサが搭載されたマイ
コンチップの概略構成を示すブロック図である。なお、
図1及び図2と同一部分には同一符号を付与し説明を省
略する。
FIG. 6 is a block diagram showing the structure of the microprocessor according to the second embodiment of the present invention. Figure 7
FIG. 7 is a block diagram showing a schematic configuration of a microcomputer chip on which the microprocessor shown in FIG. 6 is mounted. In addition,
The same parts as those in FIG. 1 and FIG.

【0032】このマイクロプロセッサは、上記第一実施
形態と同様に、8本の16ビット命令キューQ1〜Q8
と、32ビット長命令デコーダ17と、16ビット命令
デコーダ18と、デコード結果セレクタ112とを有す
る。第一実施形態と異なる点は、命令キューセレクタ1
3Aに代えてエンディアン対応型の命令キューセレクタ
21を設け、さらにセレクト信号制御回路114Aに代
えてエンディアン対応型のセレクト信号制御回路23を
設けたことである。
As in the first embodiment, this microprocessor has eight 16-bit instruction queues Q1 to Q8.
And a 32-bit length instruction decoder 17, a 16-bit instruction decoder 18, and a decoding result selector 112. The difference from the first embodiment is that the instruction queue selector 1
The endian-compatible instruction queue selector 21 is provided in place of 3A, and the endian-compatible select signal control circuit 23 is provided in place of the select signal control circuit 114A.

【0033】命令キューセレクタ21は、デコードすべ
き命令コードを指定するセレクト信号制御回路23から
出力されるデコードキューセレクト信号S1と、図7に
示すようにマイコンチップ100の外部から供給される
エンディアン信号ED(リトルエンディアン/ビックエ
ンディアンを示す)と、命令キューQ1〜Q8からの1
6ビット命令コードとを入力し、信号S1によってセレ
クトされた16ビットバス12の内容である命令コード
を出力する機能のほか、次のような機能(第一の制御回
路)を有している。すなわち、セレクトされた16ビッ
ト命令コードが32ビット長命令に該当すると判定した
時に、イネーブルのデコード結果セレクト信号S2を出
力し、さらに、セレクトされた16ビット命令コードが
出力されている16ビットバス12の出力内容と、この
命令コードにプログラム上連続する16ビット命令コー
ドが出力されている16ビットバス12の出力内容と
を、エンディアン信号EDに応じて連結した32ビット
命令コードを生成出力する機能を有している。
The instruction queue selector 21 has a decode queue select signal S1 output from a select signal control circuit 23 for designating an instruction code to be decoded, and an endian signal supplied from the outside of the microcomputer chip 100 as shown in FIG. ED (indicating little endian / big endian) and 1 from instruction queues Q1 to Q8
In addition to the function of inputting a 6-bit instruction code and outputting the instruction code that is the contents of the 16-bit bus 12 selected by the signal S1, it has the following function (first control circuit). That is, when it is determined that the selected 16-bit instruction code corresponds to a 32-bit length instruction, the enable decode result select signal S2 is output, and further, the 16-bit bus 12 outputting the selected 16-bit instruction code is output. And the output content of the 16-bit bus 12 in which a 16-bit instruction code consecutive to this instruction code is output in accordance with the endian signal ED is generated and output as a 32-bit instruction code. Have

【0034】エンディアン対応型のセレクト信号制御回
路23(第二の制御回路)は、エンディアン信号EDと
デコード結果セレクト信号S2とを受けて、デコードす
べき命令キューを決定するようになっている。
The endian-compatible select signal control circuit 23 (second control circuit) receives the endian signal ED and the decode result select signal S2 and determines the instruction queue to be decoded.

【0035】次に、本実施形態の動作を説明する。Next, the operation of this embodiment will be described.

【0036】エンディアン信号EDがリトルエンディア
ンを指定する時、エンディアン対応型セレクト信号制御
回路23が指定する命令キューは、命令キューQ1→Q
2→Q3→Q4→Q5→Q6→Q7→Q8→Q1‥の順
番に遷移する。一方、ビッグエンディアンを指定する時
は、エンディアン対応型セレクト信号制御回路23が指
定する命令キューは、命令キューQ2→Q1→Q4→Q
3→Q6→Q5→Q8→Q7→Q2‥の順番に遷移す
る。
When the endian signal ED designates little endian, the instruction queue designated by the endian-compatible select signal control circuit 23 is the instruction queue Q1 → Q.
2 → Q3 → Q4 → Q5 → Q6 → Q7 → Q8 → Q1 ... On the other hand, when the big endian is designated, the instruction queue designated by the endian corresponding select signal control circuit 23 is the instruction queue Q2 → Q1 → Q4 → Q.
3 → Q6 → Q5 → Q8 → Q7 → Q2 ...

【0037】リトルエンディアンの場合について、メモ
リ103上への命令の配置、命令フェッチによる命令キ
ューへの格納位置及びマイクロプロセッサの動作は、第
一実施形態と同様なので説明を省略する。
In the case of the little endian, the arrangement of the instruction on the memory 103, the storage position in the instruction queue by the instruction fetch, and the operation of the microprocessor are the same as those in the first embodiment, and the description thereof will be omitted.

【0038】エンディアン信号EDがビッグエンディア
ンを指定する時、32ビット長命令bは、図8(a)に
示すようにワード境界を跨ぐように、メモリ103上に
配置されている。
When the endian signal ED specifies big endian, the 32-bit length instruction b is arranged on the memory 103 so as to cross the word boundary as shown in FIG. 8 (a).

【0039】マイクロプロセッサは、図6に示すよう
に、8本の16ビット命令キューQ1,Q2,Q3,Q
4,Q5,Q6,Q7及びQ8を持ち、上記図8(a)
に示すメモリ配置の32ビット長命令をフェッチし、図
9(a)に示すようにワード境界を跨ぐように、命令キ
ューQ5,Q8に32ビット長命令bの前半、後半をそ
れぞれ格納する。
As shown in FIG. 6, the microprocessor has eight 16-bit instruction queues Q1, Q2, Q3, Q.
4, Q5, Q6, Q7 and Q8, and as shown in FIG.
The 32-bit long instruction in the memory arrangement shown in FIG. 9 is fetched, and the first half and the second half of the 32-bit long instruction b are stored in the instruction queues Q5 and Q8 so as to cross the word boundary as shown in FIG.

【0040】図6に示すエンディアン対応型命令キュー
セレクタ21は、エンディアン信号EDと、各命令キュ
ーからそれぞれのキューに対応する16ビットバス12
を介して16ビット命令コードを受け取り、エンディア
ン対応型セレクト信号制御回路23からデコードすべき
命令が格納されている命令キューQ5を指定するデコー
ドキューセレクト信号S1を受ける。デコードキューセ
レクト信号S1の値により、エンディアン対応型命令キ
ューセレクタ21は、命令キューQ5に格納された16
ビット命令コードを、16ビットバス16を介して16
ビット命令デコーダ18へ出力する。同時に、図10に
示すように、命令キューQ5の命令コードと次にデコー
ドされる命令キューQ8の命令コードとを合わせた32
ビット命令コードを、32ビット長命令デコーダ17に
対応するように並べ替え、32ビットバス15を介して
32ビット長命令デコーダ17へ出力する。同時に、エ
ンディアン対応型命令キューセレクタ21は、デコード
キューセレクト信号S1の指定する命令キューQ5の命
令コードが32ビット長命令の前半の16ビットコード
であることを示すコードと一致すると、デコード結果セ
レクト信号S2を出力する。
The endian-compatible instruction queue selector 21 shown in FIG. 6 includes an endian signal ED and a 16-bit bus 12 corresponding to each queue from each instruction queue.
The 16-bit instruction code is received via the end code and the decode queue select signal S1 designating the instruction queue Q5 in which the instruction to be decoded is stored is received from the endian corresponding select signal control circuit 23. Depending on the value of the decode queue select signal S1, the endian-compatible instruction queue selector 21 stores the 16 bytes stored in the instruction queue Q5.
16 bit bit instruction code via 16 bit bus 16
Output to the bit instruction decoder 18. At the same time, as shown in FIG. 10, the instruction code of the instruction queue Q5 and the instruction code of the instruction queue Q8 to be decoded next are combined 32.
The bit instruction codes are rearranged so as to correspond to the 32-bit length instruction decoder 17, and output to the 32-bit length instruction decoder 17 via the 32-bit bus 15. At the same time, when the instruction code of the instruction queue Q5 designated by the decode queue select signal S1 matches the code indicating that the first half 16-bit code of the 32-bit length instruction, the endian-compatible instruction queue selector 21 decodes the decode result select signal. Outputs S2.

【0041】32ビット長命令デコーダ17は、上記エ
ンディアン対応型命令キューセレクタ21が出力した3
2ビット命令コードを受け取り、デコード結果をデコー
ド結果出力バス19へ出力する。
The 32-bit length instruction decoder 17 outputs 3 bits output from the endian-compatible instruction queue selector 21.
It receives a 2-bit instruction code and outputs the decoding result to the decoding result output bus 19.

【0042】16ビット命令デコーダ18は、上記エン
ディアン対応型命令キューセレクタ21が出力した16
ビット命令コードを受け取り、デコード結果をデコード
結果出力バス110へ出力する。
The 16-bit instruction decoder 18 outputs the 16-bit instruction output from the endian-compatible instruction queue selector 21.
It receives the bit instruction code and outputs the decoding result to the decoding result output bus 110.

【0043】デコード結果セレクタ112は、上記32
ビット長命令デコーダ17と16ビット命令デコーダ1
8とが出力したデコード結果と、上記エンディアン対応
型命令キューセレクタ21が出力したデコード結果セレ
クト信号S2とを受け取り、デコード結果セレクト信号
S2がイネーブルである時、上記32ビット長命令デコ
ーダ17のデコード結果をセレクトして、デコード結果
出力バス113へ出力してデコードを終了し、実行ステ
ージへ渡す。
The decoding result selector 112 uses the above 32
Bit length instruction decoder 17 and 16-bit instruction decoder 1
8 and the decode result select signal S2 output from the endian-compatible instruction queue selector 21. When the decode result select signal S2 is enabled, the decode result of the 32-bit length instruction decoder 17 is received. Is selected and output to the decoding result output bus 113 to end the decoding, and is passed to the execution stage.

【0044】エンディアン対応型セレクト信号制御回路
23は、ビッグエンディアンを指定するエンディアン信
号EDを受け、デコードが終了した時、上記デコード結
果セレクト信号S2がイネーブルであれば、次にデコー
ドすべき命令キューの指定を命令キューQ5から命令キ
ューQ7に変更し、デコードキューセレクト信号S1へ
出力する。
The endian-corresponding select signal control circuit 23 receives the endian signal ED designating big endian, and when the decoding is completed and the decode result select signal S2 is enabled, the instruction queue of the instruction queue to be decoded next. The designation is changed from the instruction queue Q5 to the instruction queue Q7 and output to the decode queue select signal S1.

【0045】上記のように第二実施形態では、32ビッ
ト長命令デコーダ17を有し、デコード結果セレクト信
号S2を生成し、その信号S2によって32ビット長命
令デコーダ17の結果をセレクトするマイクロプロセッ
サが、更にエンディアンに対応して32ビット長命令を
並べ替えて出力する機能を持つエンディアン対応型命令
キューセレクタ21、及びエンディアンに対応してデコ
ードすべき命令キューを決定するエンディアン対応型セ
レクト信号制御回路23を備えたので、リトルエンディ
アン、ビッグエンディアンのどちらでも32ビット長命
令を1クロックでデコードすることができる。
As described above, in the second embodiment, the microprocessor having the 32-bit length instruction decoder 17 generates the decoding result select signal S2 and selects the result of the 32-bit length instruction decoder 17 by the signal S2. Further, an endian-compatible instruction queue selector 21 having a function of rearranging and outputting 32-bit length instructions corresponding to endian, and an endian-compatible select signal control circuit 23 for deciding an instruction queue to be decoded corresponding to endian Since it has, the 32-bit length instruction can be decoded in one clock in both little endian and big endian.

【0046】なお、上記各実施形態では、8個の命令キ
ューを例にとって説明したが、命令キューは4個以上で
あれば良く、4個以上の命令キューを有するマイクロプ
ロセッサにも適用可能である。
In each of the above embodiments, eight instruction queues are described as an example, but the number of instruction queues may be four or more, and the present invention can be applied to a microprocessor having four or more instruction queues. .

【0047】なお、本実施形態は、32ビット長命令b
が図8(b)及び図9(b)に示すようにワード境界を
跨がないような場合でも実現できる。
In this embodiment, the 32-bit length instruction b
Can be realized even when the word boundaries do not cross as shown in FIGS. 8 (b) and 9 (b).

【0048】[0048]

【発明の効果】以上詳細に説明したように本発明によれ
ば、例えば従来、32ビット長命令を2クロックでデコ
ードを行っていた16ビット命令セットアーキテクチャ
のマイクロプロセッサに、32ビット長命令用の第二の
デコーダと、第二の選択信号によって第二のデコーダの
結果をセレクトする機構とを備えたので、例えば32ビ
ット長命令を1クロックでデコードできるようになり、
プロセッサのスループットが向上する。
As described above in detail, according to the present invention, for example, a microprocessor of a 16-bit instruction set architecture, which conventionally decodes a 32-bit length instruction with two clocks, is used for a 32-bit length instruction. Since the second decoder and the mechanism for selecting the result of the second decoder by the second selection signal are provided, for example, a 32-bit length instruction can be decoded in one clock,
Increases processor throughput.

【0049】さらに、エンディアンを示す外部信号を入
力し、命令キューを選択する第一の選択信号をエンディ
アンに応じて制御する機構と、第二のデコーダへ渡す例
えば32ビット命令コードをエンディアンに応じて整形
する機構とを付加することにより、リトルエンディア
ン、ビッグエンディアンのどちらでも、例えば32ビッ
ト長命令の1クロックでのデコードが可能になる。
Further, a mechanism for inputting an external signal indicating an endian and controlling a first selection signal for selecting an instruction queue according to the endian, and a 32-bit instruction code to be passed to the second decoder according to the endian, for example, By adding the shaping mechanism, it is possible to decode, for example, a 32-bit length instruction in one clock in both little endian and big endian.

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

【図1】本発明の第一実施形態に係るマイクロプロセッ
サの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a microprocessor according to a first embodiment of the present invention.

【図2】図1に示したマイクロプロセッサが搭載された
マイコンチップの概略構成を示すブロック図である。
2 is a block diagram showing a schematic configuration of a microcomputer chip in which the microprocessor shown in FIG. 1 is mounted.

【図3】リトルエンディアンの32ビット長命令のメモ
リ配置の一例を示す図である。
FIG. 3 is a diagram showing an example of a memory layout of a little endian 32-bit instruction.

【図4】第一実施形態に係る32ビット長命令が図3の
ようにメモリ上に配置されている場合の命令キュー格納
位置を示す図である。
FIG. 4 is a diagram showing an instruction queue storage position when a 32-bit length instruction according to the first embodiment is arranged in a memory as in FIG.

【図5】本発明に係る32ビット長命令の実行サイクル
を示すパイプラインステージ図である。
FIG. 5 is a pipeline stage diagram showing an execution cycle of a 32-bit length instruction according to the present invention.

【図6】本発明の第二実施形態に係るマイクロプロセッ
サの構成を示すブロック図である。
FIG. 6 is a block diagram showing a configuration of a microprocessor according to a second embodiment of the present invention.

【図7】図6に示したマイクロプロセッサが搭載された
マイコンチップの概略構成を示すブロック図である。
7 is a block diagram showing a schematic configuration of a microcomputer chip on which the microprocessor shown in FIG. 6 is mounted.

【図8】ビッグエンディアンの32ビット長命令のメモ
リ配置の一例を示す図である。
FIG. 8 is a diagram showing an example of a memory arrangement of a 32-bit length instruction in big endian.

【図9】第二実施形態に係る32ビット長命令が図8の
ようにメモリ上に配置されている場合の命令キュー格納
位置を示す図である。
FIG. 9 is a diagram showing an instruction queue storage position when a 32-bit length instruction according to the second embodiment is arranged in the memory as in FIG.

【図10】第二実施形態に係るエンディアン対応型命令
キューセレクタ21の命令コード並び替え処理を示す概
念図である。
FIG. 10 is a conceptual diagram showing an instruction code rearrangement process of an endian compatible instruction queue selector 21 according to the second embodiment.

【図11】従来のマイクロプロセッサの構成を示すブロ
ック図である。
FIG. 11 is a block diagram showing a configuration of a conventional microprocessor.

【図12】図11に示したマイクロプロセッサにおける
32ビット長命令の実行サイクルを示すパイプラインス
テージ図である。
12 is a pipeline stage diagram showing an execution cycle of a 32-bit length instruction in the microprocessor shown in FIG.

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

Q1〜Q8 16ビット命令キュー 12 16ビットバス 13A 命令キューセレクタ 15 32ビットバス 16 16ビットバス 17 32ビット長命令デコーダ 18 16ビット命令デコーダ 19,110,113 デコード結果出力バス 21 エンディアン対応型命令キューセレクタ 23 エンディアン対応型セレクト信号制御回路 112 デコード結果セレクタ 114A セレクト信号制御回路 S1 デコードキューセレクト信号 S2 デコード結果セレクト信号 ED エンディアン信号 Q1 to Q8 16-bit instruction queue 12 16-bit bus 13A Instruction queue selector 15 32-bit bus 16 16-bit bus 17 32-bit instruction decoder 18 16-bit instruction decoder 19,110,113 Decode result output bus 21 Endian-compatible instruction queue selector 23 Endian-compatible select signal control circuit 112 Decode result selector 114A select signal control circuit S1 Decode cue select signal S2 Decode result select signal ED endian signal

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 所定ビットの命令コードを格納するため
のN個(N≧4)の命令キューと、デコードすべき命令
コードを指定する第一の選択信号に従って、前記各命令
キューより受け取るN個の命令コードの中からデコード
すべき命令コードを選択して出力する選択回路と、前記
選択回路で選択された前記所定ビットの命令コードをデ
コードする第一のデコーダとを備えたマイクロプロセッ
サにおいて、 前記第一の選択信号に従って選択された前記所定ビット
の命令コードの内容が該所定ビットよりも大きいビット
長の命令の一部に該当する場合には第二の選択信号を出
力すると共に、前記選択された命令コードにプログラム
上連続する命令コードを前記N個の命令コードの中から
取り出し連結して前記命令に対応した命令コードを生成
し出力する第一の制御回路と、 前記第一の制御回路から出力された命令コードをデコー
ドする第二のデコーダと、 前記第二の選択信号が、前記第二のデコーダのデコード
結果又は前記第一のデコーダのデコード結果を選択して
出力するデコード結果選択回路とを備えたことを特徴と
するマイクロプロセッサ。
1. N (N ≧ 4) instruction queues for storing instruction codes of predetermined bits, and N instruction queues received from each instruction queue according to a first selection signal designating an instruction code to be decoded. A selection circuit for selecting and outputting an instruction code to be decoded from among the instruction codes, and a first decoder for decoding the instruction code of the predetermined bit selected by the selection circuit, When the content of the instruction code of the predetermined bit selected according to the first selection signal corresponds to a part of the instruction having a bit length larger than the predetermined bit, the second selection signal is output and the selection is performed. The instruction code continuous with the instruction code in the program is extracted from the N instruction codes and connected to generate an instruction code corresponding to the instruction. A first control circuit, a second decoder for decoding the instruction code output from the first control circuit, the second selection signal, the decoding result of the second decoder or the first A decode result selection circuit for selecting and outputting a decode result of a decoder.
【請求項2】 16ビット命令コードを格納するための
N個(N≧4)の命令キューと、デコードすべき命令コ
ードを指定する第一の選択信号に従って、前記各命令キ
ューより受け取るN個の命令コードの中からデコードす
べき命令コードを選択して出力する選択回路と、前記選
択回路で選択された16ビット命令コードをデコードす
る第一のデコーダとを備えたマイクロプロセッサにおい
て、 前記第一の選択信号に従って選択された16ビット命令
コードの内容が32ビット長命令に該当する場合には第
二の選択信号を出力すると共に、前記選択された16ビ
ット命令コードにプログラム上連続する命令コードを前
記N個の命令コードの中から取り出し連結して32ビッ
ト命令コードを生成し出力する第一の制御回路と、 前記第一の制御回路から出力された32ビット命令コー
ドをデコードする第二のデコーダと、 前記第二の選択信号が、前記第二のデコーダのデコード
結果又は前記第一のデコーダのデコード結果を選択して
出力するデコード結果選択回路とを備えたことを特徴と
するマイクロプロセッサ。
2. N (N ≧ 4) instruction queues for storing 16-bit instruction codes and N number of instruction queues received from each instruction queue according to a first selection signal designating an instruction code to be decoded. A microprocessor comprising: a selection circuit that selects and outputs an instruction code to be decoded from the instruction codes; and a first decoder that decodes the 16-bit instruction code selected by the selection circuit. When the content of the 16-bit instruction code selected according to the selection signal corresponds to a 32-bit length instruction, a second selection signal is output, and the instruction code consecutive to the selected 16-bit instruction code is programmed. A first control circuit for extracting and concatenating from N instruction codes to generate and outputting a 32-bit instruction code; and the first control circuit. A second decoder for decoding the 32-bit instruction code output from the second decoder, and a decoding result for the second selection signal to selectively output the decoding result of the second decoder or the decoding result of the first decoder A microprocessor having a selection circuit.
【請求項3】 所定ビットの命令コードを格納するため
のN個(N≧4)の命令キューと、デコードすべき命令
コードを指定する第一の選択信号に従って、前記各命令
キューより受け取るN個の命令コードの中からデコード
すべき命令コードを選択して出力する選択回路と、前記
選択回路で選択された前記所定ビットの命令コードをデ
コードする第一のデコーダとを備えたマイクロプロセッ
サにおいて、 前記第一の選択信号に従って選択された前記所定ビット
の命令コードの内容が該所定ビットよりも大きいビット
長の命令の一部に該当する場合には第二の選択信号を出
力すると共に、前記選択された命令コードにプログラム
上連続する命令コードを前記N個の命令コードの中から
取り出し、エンディアンを示す外部信号に応じて連結し
て前記命令に対応した命令コードを生成し出力する第一
の制御回路と、 前記第一の制御回路から出力された命令コードをデコー
ドする第二のデコーダと、 前記第二の選択信号が、前記第二のデコーダのデコード
結果又は前記第一のデコーダのデコード結果を選択して
出力するデコード結果選択回路とを備えたことを特徴と
するマイクロプロセッサ。
3. N (N ≧ 4) instruction queues for storing instruction codes of predetermined bits, and N instruction queues received from each of the instruction queues according to a first selection signal designating an instruction code to be decoded. A selection circuit for selecting and outputting an instruction code to be decoded from among the instruction codes, and a first decoder for decoding the instruction code of the predetermined bit selected by the selection circuit, When the content of the instruction code of the predetermined bit selected according to the first selection signal corresponds to a part of the instruction having a bit length larger than the predetermined bit, the second selection signal is output and the selection is performed. The instruction code that is continuous with the instruction code on the program is extracted from the N instruction codes and connected in accordance with the external signal indicating the endian. A first control circuit that generates and outputs an instruction code corresponding to an instruction; a second decoder that decodes the instruction code output from the first control circuit; and the second selection signal is the second And a decoding result selection circuit for selecting and outputting the decoding result of the decoder or the decoding result of the first decoder.
【請求項4】 16ビット命令コードを格納するための
N個(N≧4)の命令キューと、デコードすべき命令コ
ードを指定する第一の選択信号に従って、前記各命令キ
ューより受け取るN個の命令コードの中からデコードす
べき命令コードを選択して出力する選択回路と、前記選
択回路で選択された16ビット命令コードをデコードす
る第一のデコーダとを備えたマイクロプロセッサにおい
て、 前記第一の選択信号に従って選択された16ビット命令
コードの内容が32ビット長命令に該当する場合には第
二の選択信号を出力すると共に、前記選択された16ビ
ット命令コードにプログラム上連続する命令コードを前
記N個の命令コードの中から取り出し、エンディアンを
示す外部信号に応じて連結して32ビット命令コードを
生成して出力する第一の制御回路と、 前記第一の制御回路から出力された32ビット命令コー
ドをデコードする第二のデコーダと、 前記第二の選択信号が、前記第二のデコーダのデコード
結果又は前記第一のデコーダのデコード結果を選択して
出力するデコード結果選択回路とを備えたことを特徴と
するマイクロプロセッサ。
4. N (N ≧ 4) instruction queues for storing 16-bit instruction codes and N number of instruction queues received from each of the instruction queues according to a first selection signal designating an instruction code to be decoded. A microprocessor comprising: a selection circuit that selects and outputs an instruction code to be decoded from the instruction codes; and a first decoder that decodes the 16-bit instruction code selected by the selection circuit. When the content of the 16-bit instruction code selected according to the selection signal corresponds to a 32-bit length instruction, a second selection signal is output, and the instruction code consecutive to the selected 16-bit instruction code is programmed. It takes out from N instruction codes and concatenates them according to the external signal indicating endian to generate and output a 32-bit instruction code. A first control circuit, a second decoder that decodes a 32-bit instruction code output from the first control circuit, and the second selection signal is the decoding result of the second decoder or the second decoder. A decode result selection circuit for selecting and outputting a decode result of one decoder.
【請求項5】 前記マイクロプロセッサが、さらに、第
二の選択信号に基づいて前記第一の選択信号を出力する
第二の制御回路とを備えたことを特徴とする請求項1、
2、3または4記載のマイクロプロセッサ。
5. The microprocessor according to claim 1, further comprising a second control circuit which outputs the first selection signal based on a second selection signal.
2. The microprocessor according to 2, 3 or 4.
JP2002030945A 2002-02-07 2002-02-07 Microprocessor Pending JP2003233495A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002030945A JP2003233495A (en) 2002-02-07 2002-02-07 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002030945A JP2003233495A (en) 2002-02-07 2002-02-07 Microprocessor

Publications (1)

Publication Number Publication Date
JP2003233495A true JP2003233495A (en) 2003-08-22

Family

ID=27774496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002030945A Pending JP2003233495A (en) 2002-02-07 2002-02-07 Microprocessor

Country Status (1)

Country Link
JP (1) JP2003233495A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676652B2 (en) 2002-09-19 2010-03-09 Arm Limited Executing variable length instructions stored within a plurality of discrete memory address regions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676652B2 (en) 2002-09-19 2010-03-09 Arm Limited Executing variable length instructions stored within a plurality of discrete memory address regions

Similar Documents

Publication Publication Date Title
JP3781519B2 (en) Instruction control mechanism of processor
AU607753B2 (en) A method and apparatus for modifying micro-instructions using a macro-instruction pipeline
US20020198606A1 (en) Data processing system and control method
EP2473918B1 (en) Method for generating a set of instruction compaction schemes, method for compacting a program according to the generated set, and programmable processor capable of executing a program thus compacted
US6631459B1 (en) Extended instruction word folding apparatus
JP2007272353A (en) Processor device and compound condition processing method
KR930005769B1 (en) Circuit for branch control
JP2009526300A (en) Instruction set for microprocessors
US20040246151A1 (en) Methods and systems for data manipulation
JP2003233495A (en) Microprocessor
US20030005269A1 (en) Multi-precision barrel shifting
JPH1091430A (en) Command decoding device
JP3644892B2 (en) Data processing apparatus for executing a plurality of instruction sets
JP2001184208A (en) Low power microprocessor and program low power method
US6842846B2 (en) Instruction pre-fetch amount control with reading amount register flag set based on pre-detection of conditional branch-select instruction
JP2001229075A (en) Bi-endian multiple instruction length execution method
JPH0218729B2 (en)
US20050114626A1 (en) Very long instruction word architecture
JPH1020959A (en) Low power microprocessor
JPH11163736A (en) Processor
JPH05127903A (en) Parallel processing micro processor
US7472255B2 (en) Method for addressing a symbol in a memory and device for processing symbols
JPH07200289A (en) Information processing equipment
JPH04305736A (en) Microprocessor
JPH06149563A (en) Data processing device