JPH11306014A - 命令アーキテクチャ - Google Patents

命令アーキテクチャ

Info

Publication number
JPH11306014A
JPH11306014A JP10111853A JP11185398A JPH11306014A JP H11306014 A JPH11306014 A JP H11306014A JP 10111853 A JP10111853 A JP 10111853A JP 11185398 A JP11185398 A JP 11185398A JP H11306014 A JPH11306014 A JP H11306014A
Authority
JP
Japan
Prior art keywords
instruction
bit
register
bits
extended
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.)
Withdrawn
Application number
JP10111853A
Other languages
English (en)
Inventor
Kiyoshi Takahashi
高橋  清
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP10111853A priority Critical patent/JPH11306014A/ja
Publication of JPH11306014A publication Critical patent/JPH11306014A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 命令長16ビットのRISC(縮小命令セッ
トコンピュータ)において、命令の種類の制限を緩和で
きる命令アーキテクチャを提供する。 【解決手段】 イミディエイト形式1は、4ビットの命
令コードOPと4ビットの宛先レジスタ番号RDを有し
ている。一方、イミディエイト形式1Aは、4ビットの
命令コードOP、2ビットの命令レジスタ番号IRD、
及び2ビットのバイトイネーブル番号BEを有してい
る。命令レジスタ番号IRDで指定される4個の命令レ
ジスタには、それぞれ4バイト(4個)の拡張命令コー
ドが定義されており、バイトイネーブル番号BEでその
内の1つの拡張命令コードが指定される。これにより、
4ビットの命令コードOPに限定されず、多数の拡張命
令を定義することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータの機
械命令語の形式を定義する命令アーキテクチャ、特に命
令の長さが固定長の縮小命令セットコンピュータ(Redu
ced InstructionSet Computer,以下、「RISC」と
いう)における命令アーキテクチャに関するものであ
る。
【0002】
【従来の技術】コンピュータは、複合命令セットコンピ
ュータ(Complex Instruction Set Computer、以下、
「CISC」という)と、RISCとに分類することが
できる。CISCは、命令の長さが可変長(1命令が、
1ワードの命令もあれば、複数ワードの命令もある)
で、十進数演算命令等の高機能命令をもサポートし、命
令数が多い。そのため、複雑な作業を1つの命令で行え
るので、アセンブラ等を使ったプログラミングの効率が
良いのが特徴である。しかし、多種多様の可変長の命令
を解読して実行するために、ハードウエアの規模が大き
くなり、かつ演算時間が多くかかるという問題がある。
【0003】CISCの有する高機能命令の使用頻度が
非常に少ないことに着目し、使用頻度の高い基本的な命
令のみをサポートすることにより、構造の単純化と処理
速度の向上を図ったものが、RISCである。RISC
は、命令の長さが固定長(例えば、1命令16ビット)
で、単純な命令セットのみをサポートし、命令数が少な
いという特徴がある。このため、複雑な処理を行うため
には、基本的な命令を多数組み合わせて処理しなければ
ならず、アセンブラ・レベルでのプログラミングが複雑
になるという問題がある。しかし、RISC用のコンパ
イラ等の高級プログラミング言語が開発されており、こ
れらの効率化により、全体的に見るとRISCのほうが
処理効率が良いとされている。
【0004】図2は、従来のRISCの命令アーキテク
チャの一例を示す構成図である。これは、命令長16ビ
ットのRISCの命令アーキテクチャであり、イミディ
エイト形式1、ジャンプ形式2、及びレジスタ形式3の
命令形式を備えている。各命令形式は、それぞれ4ビッ
トの命令コードOPを有している。イミディエイト形式
1の命令は、命令コードOPの他、4ビットの宛先レジ
スタ番号RDと、8ビットのイミディエイト値IMとで
構成され、この命令語の中に配置されるイミディエイト
値IMと、宛先レジスタRDとの演算処理を行う命令で
ある。ジャンプ形式2の命令は、命令コードOP、及び
12ビットの分岐アドレスTARGETで構成され、分
岐命令を実行する命令である。
【0005】また、レジスタ形式3の命令は、命令コー
ドOP、4ビットのソースレジスタ番号RS、4ビット
の宛先レジスタ番号RD、及び4ビットの予約領域RS
Vで構成され、ソースレジスタRSと宛先レジスタRD
との演算処理を行う命令である。RISCは、これらの
命令形式で使用されるレジスタとして、データ処理やア
ドレス計算等の一般的な演算処理に使用する16個の汎
用レジスタR0,R1,…,R15、現在実行中の命令
のn(但し、nは一般的には2)命令先の命令のアドレ
スを示すプログラムカウンタPC、サブルーチンからの
戻り先のアドレスを格納するプロシージャレジスタP
R、及び処理の状態を検出するためのステータスレジス
タSRを備えている。このようなRISCでは、4ビッ
トの命令コードOPで設定される16種類の命令に基づ
いて、一連の演算処理や制御処理を行うようにプログラ
ミングに工夫を凝らすことにより、簡素化されたハード
ウエアで高速処理を行うようになっている。
【0006】
【発明が解決しようとする課題】しかしながら、従来の
命令長16ビットのRISCの命令アーキテクチャで
は、次のような課題があった。即ち、命令コードOPと
して4ビットしか割り当てることができず、使用可能な
命令の種類が16種類に限定される。このため、計算や
制御の内容が制限され、汎用的なRISCを実現するこ
とが困難となっている。一方、命令コードOPに5ビッ
トを割り当てて命令の種類を32種類にすると、宛先レ
ジスタ番号RD、或いはイミディエイト値IMに割り当
てるビット数が減少して、計算や制御の内容が制限さ
れ、汎用的なRISCを実現することが困難となる。本
発明は、前記従来技術が持っていた課題を解決し、命令
長16ビットのRISCにおいても、命令の種類の制限
を緩和することができる命令アーキテクチャを提供する
ものである。
【0007】
【課題を解決するための手段】前記課題を解決するた
め、本発明の内の第1の発明は、すべての機械命令語が
同一のビット長を有するRISCに適用される命令アー
キテクチャにおいて、複数の基本命令の内から特定の基
本命令を指定するためのKビット(但し、Kは複数)の
命令コード、複数のレジスタの内から特定のレジスタを
指定するためのLビット(但し、Lは複数)の宛先レジ
スタ番号、及び処理用のデータを設定するためのMビッ
ト(但し、Mは複数)のデータ領域を有する第1の命令
形式と、前記複数の基本命令の内から特定の基本命令を
指定するためのKビットの命令コード、複数の拡張命令
の内から特定の拡張命令を指定するためのLビットの拡
張命令指定領域、及び処理用のデータを設定するための
Mビットのデータ領域を有する第2の命令形式とを、備
えている。
【0008】第2の発明は、第1の発明のLビットの拡
張命令指定領域を、前記複数の拡張命令が格納された複
数の命令レジスタの中から特定の命令レジスタを選択す
るためのNビット(但し、2≦N≦L−2)の命令レジ
スタ選択領域と、前記命令レジスタ番号で選択された命
令レジスタ中の前記特定の拡張命令の位置を指定するた
めのL−Nビットの位置指定領域とで構成している。第
3の発明は、第1の発明のLビットの拡張命令指定領域
を、前記複数の拡張命令が格納された複数の命令レジス
タの中から特定の命令レジスタを選択するためのNビッ
ト(但し、2≦N≦L−2)の命令レジスタ選択領域
と、前記命令レジスタ番号で選択された命令レジスタの
内容をシフトさせて前記特定の拡張命令を指定するため
のL−Nビットのシフト指定領域とで構成している。
【0009】第4の発明は、第1の発明のLビットの拡
張命令指定領域を、前記複数の拡張命令が格納された複
数の拡張命令レジスタの中から特定の拡張命令レジスタ
を指定するための領域で構成している。第5の発明は、
第1〜第4の発明の機械命令語のビット長を16とし、
K、L、Mの値を、それぞれ4、4、8としている。
【0010】第1及び第5の発明によれば、以上のよう
に命令アーキテクチャを構成したので、次のような作用
が行われる。RISCにおいて第1の命令形式の機械語
命令が実行されると、Lビットの宛先レジスタ番号で指
定される特定のレジスタと、データ領域に設定されたM
ビットの処理用のデータとが用いられて、Kビットの命
令コードで指定される特定の基本命令が実行される。ま
た、第2の命令形式の機械語命令が実行されると、Kビ
ットの命令コードとLビットの拡張命令指定領域とによ
って指定された特定の拡張命令に基づいて、データ領域
に設定されたMビットの処理用のデータが処理される。
【0011】第2の発明によれば、第1の発明中の第2
の命令形式の機械語命令は、Pビットの命令レジスタ選
択領域の内容で選択された特定の命令レジスタの中で、
L−Pビットの位置指定領域の内容で指定された位置に
ある拡張命令が指定される。第3の発明によれば、第1
の発明中の第2の命令形式の機械語命令は、Pビットの
命令レジスタ選択領域の内容で選択された特定の命令レ
ジスタが、L−Pビットのシフト指定領域の内容に基づ
いてシフトされて拡張命令が指定される。第4の命令に
よれば、第1の発明中の第2の命令形式の機械語命令
は、Kビットの命令コードとLビットの拡張命令指定領
域内の拡張命令とによって指定される。
【0012】
【発明の実施の形態】第1の実施形態 図1は、本発明の第1の実施形態を示す命令アーキテク
チャの構成図であり、図2の従来のRISCの命令アー
キテクチャにおける要素と共通の要素には共通の符号が
付されている。この命令アーキテクチャは、命令長16
ビットのRISCの命令形式であり、第1の命令形式
(例えば、イミディエイト形式1)、第2の命令形式
(例えば、イミディエイト形式1A)、ジャンプ形式
2、及びレジスタ形式3の命令形式を備えている。各命
令形式は、それぞれK(例えば、K=4)ビットの命令
コードOPを有している。
【0013】イミディエイト形式1の命令は、命令コー
ドOPと、L(例えば、L=4)ビットの宛先レジスタ
番号RDと、M(例えば、M=8)ビットのイミディエ
イト値IMとで構成され、この命令語の中に配置される
データ領域(例えば、イミディエイト値)IMと、宛先
レジスタRDとの演算処理を行う命令である。イミディ
エイト形式1Aの命令は、命令コードOPと、N(例え
ば、N=2)ビットの命令レジスタ選択領域(例えば、
命令レジスタ番号)IRDと、L−N(即ち、2)ビッ
トの位置指定領域(例えば、バイトイネーブル番号)B
Eと、M(即ち、8)ビットのイミディエイト値IMと
で構成され、この命令語の中に配置されるイミディエイ
ト値IMと、命令レジスタ番号IRDで指定される命令
レジスタIRD0,IRD1,…,IRD3との演算処
理を行う命令である。
【0014】図3は、図1中のイミディエイト形式1A
におけるバイトイネーブル番号BEと命令レジスタIR
D0〜IRD3中の有効バイト領域の関係を示す図であ
る。図3に示すように、各命令レジスタIRD0〜IR
D3は、32ビット(4バイト)のレジスタであり、そ
して、バイトイネーブル番号BE0に対して0〜7ビッ
ト目(第1バイト)の内容が割り当てられている。同様
に、バイトイネーブル番号BE1,BE2,BE3に対
して、それぞれ各命令レジスタIRD0〜IRD3の8
〜15ビット目(第2バイト)、16〜23ビット目
(第3バイト)、及び24〜31ビット目(第4バイ
ト)の内容が割り当てられている。イミディエイト形式
1Aでは、命令レジスタ番号IRDで指定された命令レ
ジスタIRDi(但し、i=0〜3)内のバイトイネー
ブル番号BEj(j=0〜3)で指定された有効バイト
領域の内容が拡張された命令コードとして使用されるよ
うになっている。
【0015】ジャンプ形式2の命令は、命令コードOP
と、14ビットの分岐アドレスTARGETとで構成さ
れ、分岐命令を実行する命令である。また、レジスタ形
式3の命令は、命令コードOP、4ビットのソースレジ
スタ番号RS、4ビットの宛先レジスタ番号RD、及び
4ビットの予約領域RSVで構成され、ソースレジスタ
RSと宛先レジスタRDとの演算処理を行う命令であ
る。このような命令アーキテクチャを有するRISC
は、これらの命令形式で使用されるレジスタとして、デ
ータ処理やアドレス計算に使用する16個の32ビット
汎用レジスタR0〜R15、現在実行中の命令のn(但
し、nは一般的には2)命令先の命令のアドレスを示す
32ビットのプログラムカウンタPC、サブルーチンか
らの戻り先のアドレスを格納する32ビットのプロシー
ジャレジスタPR、処理の状態を検出するための32ビ
ットのステータスレジスタSR、及び前述したようにそ
れぞれ拡張用の命令が定義された4個の32ビットの命
令レジスタIRD0〜IRD3を備えている。このよう
なRISCでは、4ビットの命令コードOPで設定され
る16種類の基本命令と、指定された命令レジスタIR
Diの拡張命令に基づいて、一連の計算処理や制御処理
が行われる。
【0016】次に、各命令形式(1)〜(4)の動作を
説明する。 (1) イミディエイト形式1 イミディエイト形式1は、16ビットの命令語の中に配
置されるイミディエイト値IMと、宛先レジスタRDと
の演算処理を行う命令形式である。代表的な命令とし
て、データ転送命令MOVE、算術演算用の加算命令A
DD及び減算命令SUB等がある。例えば、転送命令M
OVEの命令コードOPには、この転送命令MOVEに
一義的に割り当てられたビットコード(例えば、2進数
“0001”)が設定される。また、イミディエイト値
IMには転送すべきデータ(例えば、“0010000
11”)が、宛先レジスタ番号RDには転送データを格
納する汎用レジスタ(例えば、R8)の番号“010
0”が、それぞれ設定される。
【0017】この転送命令MOVEが実行されると、ま
ず、イミディエイト値IMに設定された8ビットのデー
タ“01000011”の先頭部に“0“が24ビット
付加され、32ビット長のデータ“000000000
00000000000000001000011”に
拡張される。そして、この32ビット長のデータが汎用
レジスタR8に格納される。
【0018】(2) イミディエイト形式1A イミディエイト形式1Aは、16ビットの命令語の中に
配置されるイミディエイト値IMに対して、命令レジス
タ番号IRDとバイトイネーブル番号BEとでで指定さ
れる拡張命令の処理を行う命令形式である。代表的な命
令として、システム制御用の無操作命令NOP、システ
ムセンス命令STS、及び停止命令BREAK等があ
る。
【0019】例えば、無操作命令NOPを設定する場
合、命令コードOPとして、システム制御命令に一義的
に割り当てられたビットコード(例えば、“100
0”)が設定される。命令レジスタ番号IRDとして、
NOP,STS,BREAK等の拡張命令コードの内
で、無操作命令NOPが定義されている命令レジスタ
(例えば、IRD0)を指定するために“00”が設定
される。更に、バイトイネーブル番号BEによって、命
令レジスタIRD0中で無操作命令NOPが定義されて
いる有効バイト領域(例えば、BE3=“11”)が設
定される。そして、イミディエイト値IMには、無操作
命令NOPが割り当てられた任意のバイト数のデータが
設定される。このシステム制御命令が実行されると、イ
ミディエイト値IMで指定された無操作命令NOPの命
令コードが、命令レジスタ番号IRD及びバイトイネー
ブル番号BEで選択される命令レジスタIRD0にセッ
トされる。このセットされた命令レジスタIRD0がデ
コードされて、無操作命令NOPへのデコード条件が生
成され、何も処理を行わない命令が実行される。
【0020】(3) ジャンプ形式2 ジャンプ形式2は、所定の条件が満たされている場合
に、16ビットの命令語の中に配置される分岐アドレス
TARGETに、プログラムの制御を移す命令形式であ
る。代表的な命令として、無条件分岐命令JMP、条件
分岐命令BRANCH、及び呼出命令CALL等があ
る。例えば、無条件分岐命令JMPを設定する場合、命
令コードOPとして、この無条件分岐命令JMPに一義
的に割り当てられたビットコード(例えば、“010
0”)が設定される。また、分岐アドレスTARGET
には、プログラムの飛び先のアドレスを設定する。この
無条件分岐命令JMPが実行されると、現時点のプログ
ラムカウンタPCの値に、分岐アドレスTARGETに
設定されている値が加算され、その加算結果がプログラ
ムカウンタPCにセットされる。これによって実行アド
レスが変更され、分岐先のアドレスにプログラムの制御
が移される。
【0021】(4) レジスタ形式3 レジスタ形式3は、16ビットの命令語の中に配置され
るソースレジスタ番号RSと宛先レジスタ番号RDで指
定されるレジスタ間の演算処理を行う命令形式である。
代表的な命令として、データ転送用の転送命令MOV
E、算術演算用の加算命令ADD及び減算命令SUB、
論理演算用の論理積命令AND及び論理和命令OR等が
ある。
【0022】例えば、転送命令MOVEは、命令コード
OPとして、この転送命令MOVEに一義的に割り当て
られたビットコード(例えば、“1001”)が設定さ
れる。また、ソースレジスタ番号RSとして、転送する
データが格納されている汎用レジスタ(例えば、R2)
を指定するために“0010”が設定される。更に、結
果を格納する宛先レジスタ番号RDとして、汎用レジス
タ(例えば、R3)を指定するために“0011”が設
定される。この転送命令MOVEが実行されると、汎用
レジスタR2に格納されているデータが読み出されて、
汎用レジスタR3に格納される。
【0023】以上のように、この第1の実施形態の命令
アーキテクチャは、イミディエイト形式1Aの命令によ
って命令レジスタ番号IRDとバイトイネーブル番号B
Eに基づいて拡張命令を定義するとともに、4個の命令
レジスタIRD0〜IRD3を有するため、次の(a)
〜(d)のような利点がある。 (a) 16ビットの命令語の中に新たな拡張命令コー
ドを定義できるので、容易に命令の拡張が可能になる。 (b) 命令コードOPの構成が統一されているため
に、命令コードOPのデコードが単純になり、容易にハ
ードウエア構成を実現することが可能になる。
【0024】(c) イミディエイト形式1の宛先レジ
スタ番号RDの領域に、イミディエイト形式1Aの命令
レジスタ番号IRD及びバイトイネーブル番号BEを割
り当てている。これにより、命令語の構成を他の命令形
式と同一構成に統一することができる。 (d) 2ビットの命令レジスタ番号IRD、2ビット
のバイトイネーブル番号BE、及び8ビットのイミディ
エイト値IMの組み合わせにより、命令コードOP部の
デコード条件を変えずに、容易に命令コードを最大40
96まで増加させることができる。
【0025】第2の実施形態 図4は、本発明の第2の実施形態を示す命令アーキテク
チャの構成図であり、図1中の要素と共通の要素には共
通の符号が付されている。この実施形態の命令アーキテ
クチャでは、図1の第1の実施形態の命令アーキテクチ
ャにおけるミディエイト形式1Aに代えて、これと構成
及び機能の異なるイミディエイト形式1Bを設けてい
る。
【0026】イミディエイト形式1Bの命令は、4ビッ
トの命令コードOPの他、2ビットの命令レジスタ番号
IRDと、2ビットのシフト指定領域(例えば、バイト
シフト番号)BSと、8ビットのイミディエイト値IM
とで構成され、この命令語の中に配置されるイミディエ
イト値IMと、命令レジスタIRDとの演算処理を行う
命令である。代表的な命令として、システム制御用の無
操作命令NOP、システムセンス命令STS、及び停止
命令BREAK等がある。この演算処理では、指定され
た命令レジスタIRD内のシフト数がバイトシフト番号
BSで指定されるようになっている。その他のイミディ
エイト形式1、ジャンプ形式2、及びレジスタ形式3の
命令は、第1の実施形態と同様である。
【0027】このような命令アーキテクチャにおけるイ
ミディエイト形式1Bの命令は、次のように動作する。
例えば、無操作命令NOPを設定する場合、命令コード
OPとして、システム制御命令に一義的に割り当てられ
たビットコード(例えば、“1000”)が設定され
る。命令レジスタ番号IRDとして、NOP,STS,
BREAK等の拡張命令コードの内で、無操作命令NO
Pが定義されている命令レジスタ(例えば、IRD0)
を指定するために“00”が設定される。更に、バイト
シフト番号BSによって、命令レジスタIRD0をシフ
トさせるシフトサイズが定義されている有効バイト領域
(例えば、“11”)が設定される。そして、イミディ
エイト値IMには、無操作命令NOPが割り当てられた
任意のバイト数のデータが設定される。
【0028】このシステム制御命令が実行されると、イ
ミディエイト値IMで指定された無操作命令NOPの命
令コードが、命令レジスタ番号IRD及びバイトイネー
ブル番号BEで選択される命令レジスタIRD0にセッ
トされる。このセットされた命令レジスタIRD0がデ
コードされて、無操作命令NOPへのデコード条件が生
成され、何も処理を行わない命令が実行される。以上の
ように、この第2の実施形態の命令アーキテクチャは、
イミディエイト形式1Bの命令によって命令レジスタ番
号IRDとバイトシフト番号BSを定義するとともに、
4個の命令レジスタIRD0〜IRD3を有している。
これにより、前記第1の実施形態における(a),
(b)の利点に加えて、次の(e)〜(g)のような利
点がある。
【0029】(e) イミディエイト形式1の宛先レジ
スタ番号RDの領域に、イミディエイト形式1Bの命令
レジスタ番号IRD及びバイトシフト番号BSを割り当
てることにより、命令語の構成を他の命令形式と同一構
成に統一することができる。 (f) 2ビットの命令レジスタ番号IRD、2ビット
のバイトシフト番号BS、及び8ビットのイミディエイ
ト値IMの組み合わせにより、命令コードOP部のデコ
ード条件を変えずに、容易に命令コードを最大4096
まで増加させることができる。 (g) 拡張定義の命令コードをシフトしたデータとし
て定義することによって、命令レジスタIRDと同一長
にすることができる。これにより、第1の実施形態より
も命令レジスタIRDのデコード条件が減少するので、
ハードウエア構成の単純化が可能になる。
【0030】第3の実施形態 図5は、本発明の第3の実施形態を示す命令アーキテク
チャの構成図であり、図1中の要素と共通の要素には共
通の符号が付されている。この実施形態の命令アーキテ
クチャでは、図1の第1の実施形態の命令アーキテクチ
ャにおけるイミディエイト形式1Aに代えて、これと構
成及び機能の異なるイミディエイト形式1Cを設けてい
る。更に、イミディエイト形式1Cを実行するために、
4個の32ビットの命令レジスタIRD0〜IRD3に
代えて、16個の8ビットの拡張命令レジスタIRB0
〜IRB15を設けている。
【0031】イミディエイト形式1Cの命令は、4ビッ
トの命令コードOPの他、4ビットの拡張命令レジスタ
番号IRBと、8ビットのイミディエイト値IMとで構
成され、この命令語の中に配置されるイミディエイト値
IMと、拡張命令レジスタIRBk(但し、k=0〜1
5)との演算処理を行う命令である。代表的な命令とし
て、システム制御用の無操作命令NOP、システムセン
ス命令STS、及び停止命令BREAK等がある。その
他のイミディエイト形式1、ジャンプ形式2、及びレジ
スタ形式3の命令は、第1の実施形態と同様である。
【0032】このような命令アーキテクチャにおけるイ
ミディエイト形式1Cの命令は、次のように動作する。
例えば、無操作命令NOPを設定する場合、命令コード
OPとして、システム制御命令に一義的に割り当てられ
たビットコード(例えば、“1000”)が設定され
る。拡張命令レジスタ番号IRBとして、NOP,ST
S,BREAK等の拡張命令コードの内で、無操作命令
NOPが定義されている拡張命令レジスタ(例えば、I
RB0)を指定するために“0000”が設定される。
また、イミディエイト値IMには、無操作命令NOPが
割り当てられた任意のバイト数のデータが設定される。
このシステム制御命令が実行されると、イミディエイト
値IMで指定された無操作命令NOPの命令コードが、
拡張命令レジスタ番号IRBで選択される拡張命令レジ
スタIRB0にセットされる。このセットされた拡張命
令レジスタIRB0がデコードされて、無操作命令NO
Pへのデコード条件が生成され、何も処理を行わない命
令が実行される。
【0033】以上のように、この第3の実施形態の命令
アーキテクチャは、イミディエイト形式1Cの命令によ
って拡張命令レジスタ番号IRBを定義するとともに、
16個の拡張命令レジスタIRB0〜IRB15を有し
ている。これにより、前記第1の実施形態における
(a),(b)の利点に加えて、次の(h)〜(j)の
ような利点がある。
【0034】(h) イミディエイト形式1のディステ
ィネーションレジスタ番号RDの領域に、イミディエイ
ト形式1Cの拡張命令レジスタ番号IRBを割り当てる
ことにができる。これにより、命令コードOPの構成を
他の命令形式と同一構成に統一することができる。 (i) 4ビットの命令レジスタ番号IRB、及び8ビ
ットのイミディエイト値IMの組み合わせにより、命令
コードOP部のデコード条件を変えずに、容易に命令コ
ードを最大4096まで増加させることができる。 (j) 拡張定義の命令コードと、拡張命令レジスタI
RBkとを同一長にすることができ、第1及び第2の実
施形態よりも拡張命令レジスタIRBkのデコード条件
が減少するので、更にハードウエア構成の単純化が可能
になる。なお、本発明は、命令語の長さを16ビットと
して説明したが、命令コードOPの定義とイミディエイ
ト値IMのビット構成が同一で、かつ、イミディエイト
値IMのビット構成のサイズと命令レジスタ番号IRD
のビット構成のサイズが同一であれば、32ビット、6
4ビット、126ビット等の命令アーキテクチャに対し
ても同様に適用可能である。
【0035】
【発明の効果】以上詳細に説明したように、第1の発明
によれば、複数の拡張命令の内から特定の拡張命令を指
定するための拡張命令指定領域を有する第2の命令形式
を備えているので、基本命令に加えて複数の拡張命令を
サポート可能な命令アーキテクチャを構成することがで
きる。第2の発明によれば、第1の発明において、命令
レジスタとその命令レジスタ内の命令位置によって拡張
命令を指定するようにしているので、構成が簡素化でき
る。第3の発明によれば、第1の発明において、命令レ
ジスタとその命令レジスタのシフトによって拡張命令を
指定するようにしているので、第2の発明よりも構成が
簡素化できる。
【0036】第4の発明によれば、第1の発明におい
て、拡張命令レジスタを用いて拡張命令を指定するよう
にしているので、第3の発明よりも更に構成が簡素化で
きる。第5の発明によれば、機械命令語のビット長を1
6ビットに制限せいているので、小規模なRISCに適
した命令アーキテクチャを構成することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態を示す命令アーキテク
チャの構成図である。
【図2】従来のRISCの命令アーキテクチャの一例を
示す構成図である。
【図3】図1中のイミディエイト形式1Aにおけるバイ
トイネーブル番号BEと命令レジスタIRD0〜IRD
3中の有効バイト領域の関係を示す図である。
【図4】本発明の第2の実施形態を示す命令アーキテク
チャの構成図である。
【図5】本発明の第3の実施形態を示す命令アーキテク
チャの構成図である。
【符号の説明】
1,1A,1B,1C イミディエイト形式 2 ジャンプ形式 3 レジスタ形式 BE バイトイネーブル番号 BS バイトシフト番号 IM イミディエイト値 IRB 拡張命令レジスタ番号 IRD 命令レジスタ番号 OP 命令コード RD 宛先レジスタ番号

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 すべての機械命令語が同一のビット長を
    有する縮小命令セットコンピュータに適用される命令ア
    ーキテクチャであって、 複数の基本命令の内から特定の基本命令を指定するため
    のKビット(但し、Kは複数)の命令コード、複数のレ
    ジスタの内から特定のレジスタを指定するためのLビッ
    ト(但し、Lは複数)の宛先レジスタ番号、及び処理用
    のデータを設定するためのMビット(但し、Mは複数)
    のデータ領域を有する第1の命令形式と、 前記複数の基本命令の内から特定の基本命令を指定する
    ためのKビットの命令コード、複数の拡張命令の内から
    特定の拡張命令を指定するためのLビットの拡張命令指
    定領域、及び処理用のデータを設定するためのMビット
    のデータ領域を有する第2の命令形式とを、 備えたことを特徴とする命令アーキテクチャ。
  2. 【請求項2】 前記Lビットの拡張命令指定領域は、 前記複数の拡張命令が格納された複数の命令レジスタの
    中から特定の命令レジスタを選択するためのNビット
    (但し、2≦N≦L−2)の命令レジスタ選択領域と、 前記命令レジスタ番号で選択された命令レジスタ中の前
    記特定の拡張命令の位置を指定するためのL−Nビット
    の位置指定領域とで、 構成したことを特徴とする請求項1記載の命令アーキテ
    クチャ。
  3. 【請求項3】 前記Lビットの拡張命令指定領域は、 前記複数の拡張命令が格納された複数の命令レジスタの
    中から特定の命令レジスタを選択するためのNビット
    (但し、2≦N≦L−2)の命令レジスタ選択領域と、 前記命令レジスタ番号で選択された命令レジスタの内容
    をシフトさせて前記特定の拡張命令を指定するためのL
    −Nビットのシフト指定領域とで、 構成したことを特徴とする請求項1記載の命令アーキテ
    クチャ。
  4. 【請求項4】 前記Lビットの拡張命令指定領域は、前
    記複数の拡張命令が格納された複数の拡張命令レジスタ
    の中から特定の拡張命令レジスタを指定するための領域
    であることを特徴とする請求項1記載の命令アーキテク
    チャ。
  5. 【請求項5】 前記機械命令語のビット長を16とし、
    前記K、L、Mの値を、それぞれ4、4、8としたこと
    を特徴とする請求項1、2、3、または4記載の命令ア
    ーキテクチャ。
JP10111853A 1998-04-22 1998-04-22 命令アーキテクチャ Withdrawn JPH11306014A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10111853A JPH11306014A (ja) 1998-04-22 1998-04-22 命令アーキテクチャ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10111853A JPH11306014A (ja) 1998-04-22 1998-04-22 命令アーキテクチャ

Publications (1)

Publication Number Publication Date
JPH11306014A true JPH11306014A (ja) 1999-11-05

Family

ID=14571808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10111853A Withdrawn JPH11306014A (ja) 1998-04-22 1998-04-22 命令アーキテクチャ

Country Status (1)

Country Link
JP (1) JPH11306014A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651995A (zh) * 2009-09-21 2010-02-17 中兴通讯股份有限公司 一种下行控制信息的传输方法及传输系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651995A (zh) * 2009-09-21 2010-02-17 中兴通讯股份有限公司 一种下行控制信息的传输方法及传输系统
US9025538B2 (en) 2009-09-21 2015-05-05 Zte Corporation Method and system for transmitting downlink control information

Similar Documents

Publication Publication Date Title
US8447958B2 (en) Substituting portion of template instruction parameter with selected virtual instruction parameter
US7664934B2 (en) Data processor decoding instruction formats using operand data
US4891754A (en) Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner
EP0627681B1 (en) Apparatus and method for processing data with a plurality of flag groups
JP2816248B2 (ja) データプロセッサ
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
JP2001504969A (ja) スタック向きデータ処理装置
CN108139911A (zh) 在vliw处理器的同一执行包中使用有条件扩展槽的指令的有条件执行规格
JPH09505427A (ja) ワード・アラインされた分岐目標を有する処理システム
US5421029A (en) Multiprocessor including system for pipeline processing of multi-functional instructions
EP0113398B1 (en) Indexed-indirect addressing method using prefix codes in a data processor
EP0745932B1 (en) Microprocessor supporting variable length instruction execution
KR19990037573A (ko) 사용가능한 연산코드를 최대화하고 다양한 어드레싱 모드를 실행하는 프로세서 구조 및 명령 세트
EP0725336B1 (en) Information processor
JP3630804B2 (ja) データ処理装置
US20050091478A1 (en) Processor using less hardware and instruction conversion apparatus reducing the number of types of instructions
US6223275B1 (en) Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions
US6182209B1 (en) Data processing device with relative jump instruction
US20050015574A1 (en) Processor and method capable of executing instruction sets with different lengths
EP0650614B1 (en) Digital signal processor architecture
JP4323393B2 (ja) プロセッサ
JP3060917B2 (ja) プロセッサ
JP2003005955A (ja) データ処理装置
JP2008083762A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050705