JPS63192135A - 信号処理方法、信号プロセッサ、その設計方法及びマイクロプロセッサ - Google Patents

信号処理方法、信号プロセッサ、その設計方法及びマイクロプロセッサ

Info

Publication number
JPS63192135A
JPS63192135A JP62317311A JP31731187A JPS63192135A JP S63192135 A JPS63192135 A JP S63192135A JP 62317311 A JP62317311 A JP 62317311A JP 31731187 A JP31731187 A JP 31731187A JP S63192135 A JPS63192135 A JP S63192135A
Authority
JP
Japan
Prior art keywords
signal
instruction
register
alu
responsive
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
JP62317311A
Other languages
English (en)
Inventor
グレゴリー・アラン・ポータノヴァ
ブライアン・ジョセフ・スプラギュー
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.)
RTX Corp
Original Assignee
United Technologies 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 United Technologies Corp filed Critical United Technologies Corp
Publication of JPS63192135A publication Critical patent/JPS63192135A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 技術分野 本発明は計算機、一層詳細には縮小命令集合計算v1(
Reduced In5Lruction Set C
omputer)  (RISC)に係る。
背景技術 複合命令集合計算機(Complex In5truc
tion Set Co+wputer)  (CI 
S C)の提案者は以前にはソフトウェアのみによりな
された機能をするのに高度に複雑なマイクロプロセッサ
ハードウェアを構成するべくまずまず超人規模集積回路
を使用する、これはソフトウェアがますます高価になり
、またハードウェア(VLSI)がますます安価になっ
てきた結果である。より安価でより複雑なハードウェア
を使用することにより、Cl5C設計者は、より高いレ
ベルの言語がより簡単に、従ってまたより使用し易くな
り、またソフトウェア開発費用が低下すると推論する。
他方に於いて、RISC提案者はより多くの機能がソフ
トウェアによりなされるより簡単なマイクロプロセッサ
を創造する。このような機械は所与のプログラムのなか
で実行される機能の大多数は、全て一つの機械サイクル
内での実行のために設計され得るロード、記憶、比較、
分岐、整数算術、論理シフトなどのようなむしろ簡単な
機能である傾向を有するという洞察に基づいている。実
行されるべき各複合機能に対する特定のCl5Oのアー
キテクチュアを解釈するためのマイクロ命令を有する代
わりに、RISC内のアーキテクチュア的アプローチは
ハードウェアによる直接実行のために設計された縮小命
令集合を存していなければならない、従って、マイクロ
プロセッサアーキテクチェアは、この場合にまさにコー
ドであるマイクロアーキテクチュアに正確にマツチして
いるので、すなわち制御線をセットするためマイクロコ
ード内に1及び0をセットすることを含む煩雑なプログ
ラミングが存在しないので、必要とされる解釈は存在し
ない、全てのことがコード内で正確に実行される機能に
より自動的に行われる。
RISC設計アプローチには多くの局面が存在し得る0
種々の源から抽出されたこのような局面を説明する兄事
な試みがI EEE肚!殿編、1985年9月、第8〜
19頁のロバート・ピー・コラウェル他の論文“計算機
、複雑さ及び論点”になされた、そこに説明されている
局面は、(1)計算機の命令の流れを支配する簡単な機
能の迅速な実行を容易にし、また低い解釈的オーバーへ
ラドを助長するための“単一サイクル演算”、(2)単
一サイクル演算の要望から続く“ロード/記憶設計”、
(3)マイクロコードはより遅い制御経路に通じまた解
釈的オーバーヘッドを増すので、最も迅速に可能な単一
サイクル演算を行うための1ハード配線による制御゛、
(4)制御手段による迅速で簡単な解釈を容易にする“
相対的に少数の命令及びアドレス指定モード1、(5)
 −1した使用により、再び制御経路を速くするハード
配線による復号を容易にするための“固定された命令フ
ォーマット”、及び(6)コンパイラのなかへ静的実行
時間を明示的に移動させる機会を提供する1より多くの
コンパイル一時間努力3゜上記の文献中に指摘されてい
るように、RISC及びCl5Cに関する通常の議論は
、おそらくそれらの頭辞語のために、議論の領域が機械
の命令集合の候補を選択することに制限されるべきであ
ることである。命令の数はRISC文献中文献−の論点
の一つであるけれども、RISC理論の最良の一般化は
この論点を越えている。コルウェル他は、RISC1’
l論が、いくつかの特殊な文脈のなかで測って、性能を
最大化するためアーキテクチュア/実現、ハードウェア
/ソフトウェア及びコンパイル時間/実行時間の境界を
横切9て自由に且つJHa的に設計のトレードオフをす
る意志を含蓄することをii摘している。
この考えによれば、RISC及びCl5Cの即辞語は任
意の機械が一方又は他方として分類され得ることを意味
するように見えるけれども、実際にはRISC及びCl
5Cは連続的な多次元設計空間の異なるコーナーにある
ものとして考えられるべきである、従って、他方と相客
れない一方が必要とされるのではなく、新しいシステム
を想像するのに設計者により使用され得るようにC15
Cの経験及びRISCの信奉から引き出された技術の組
合わせを定型化することが必要とされる。
上記のことにもかかわらず、命令の数がアーキテクチュ
アをRISC又はCl5Cとして分類するための重要な
規範であることは理解されよう。
従って、かかる技術を定型化する以下のRISCの開示
及び特許iff求のli!囲は、コルウェル化により説
明されているようなRISCfi械の属性のいくつか又
は全てを有するrtiscに制限することなしに、実際
に縮小命令集合を有する計算機に対する設計フィロソフ
ィに属するものとして理解されるべきである。換言すれ
ば、以下の開示はいくつかのRISO構想を引いてはい
るが、“設計空間”の6コーナー”にはない。
軍は航空機計算機に対して標準16ビツト複合命令集合
アーキテクチュア(MIL−3TD−1750及びその
後継)を制定してきた。この標準の目的は、計算機の特
殊な実現の詳細を定めることなしに空車の航空兵器シス
テムの仕様を定めるための均一な命令集合アーキテクチ
ュアを確立することである。従って、それは複合命令集
合アーキテクチュアを規定するのみであり、システム独
特の要求は各特殊の計算機に対する後日の規定のために
残されている。その応用は特定の航空用機能又は特殊の
ハードウェアに制限されていない。
一般に、この標準は適度な精度の航行、計算されたエア
ーレリーズ点、武器供給、エアーランデブー、貯蔵管理
、航空機ガイダンス及び航空機管理のような機能を実行
する計算機に、制限なしに、応用可能である。記述“M
IL−3TD−1750”はこの文書を通じて、特殊な
改訂版が記述されており従ってその意味で理解されるべ
き場合を除いて、最初の標準及びそのt&継の全てを記
述するのに使用され得る。
MIL−3TD−1750標準の命令集合アーキテクチ
ュアの期待される利点はコンパイラ及び命令レベルシミ
ュレータのような利用可能な支援ソフトウェアの使用及
び再使用である。他の利点として、(a)武器システム
内の二つ又はそれ以上の計算機の使用により得られる全
支援ソフトウェアの減少、及び(b)ハードウェアの開
発と無関係なソフトウェアの開発のような利点も達成さ
れる。
MILはプログラマの観点からの機能的操作を規定する
。それはデータ形式、命令形式、簡略命令、命令演算、
アドレス指定モード、プログラマアクセスレジスタ、割
込み構造などを規定する。
それは特別な実現を規定しないので、それはベンダー及
びテクノロジーに無関係である。上記のように、その使
用は標準ソフトウェア支援ツールの使用、マルチベンダ
ー軍用システム中の全支援ソフトウェアの減少、及びハ
ードウェアの開発と無関係なソフトウェアの開発を助長
するものと期待される。
MIL−5TD−1750レジスタ集合は16の16ビ
ツト汎用レジスタ(RO,・・・RF)、16ビツト状
態語(SW)、16ビツト命令カウンク(IC)、16
ビツトマスクレジスタ(MK)、16ビツト割込みレジ
スタ(PI)及び16ビツト故障レジスタ(FT)を含
んでいる。
支援されるデータフォーマントはバイト(上側、下側)
、16ビント固定点単精度(16ビツトの2の補数)、
32ビット固定点倍精度(32ビツトの2の補数)、3
2ビット浮動点(24ビツトの2の補数仮数、8ビツト
の2の補数指数)及び48浮動点拡張精度(48ビツト
の2の補数、8ビツトの2の補数指数)を含んでいる。
MIL−3TD−1750命令集合はこれまでにcts
cを使用していくつかの会社により実現されてきた複合
命令集合である6例えば、なかんずくフェアチ中イlレ
ド、マクドネル−ググラス及びパーフォーマンスーセミ
コンダクターは全て市販されているMIL−3TD−1
750cIsc機械を有する。
発明の開示 本発明の目的は、簡fQなマイクロプロセッサを提供す
ることである0、ti供されるマイクロプロセ7すは縮
小命令集合計算ta(RISC)として、又は簡単に簡
単なアーキテクチュアを有する信号プロセッサとして見
られ得る。”RISC”という用語は本発明のこの目的
と結び付いて本明細書を通じて頻繁に使用される。
本発明の他の目的は、たいていの命令に対して単一サイ
クル演算を有する縮小命令集合計算機(RISC)を提
供することである。
本発明の他の目的は、単一サイクル演算の上記の目的に
付随するRISCロード/記憶設針を提供することであ
る。
本発明の他の目的は、迅速な単一サイクル演算のための
ハード配線による制御を提供することである。
本発明の他の目的は、制御手段による迅速で簡単な解釈
を容易にする比較的少数の命令及びアドレス指定モード
を提供することである。
本発明の他の目的は、制御経路を速くするため命令のハ
ード配線による復号を容易にするのに一貫して使用され
得る固定されたフォーマットを提供することである。
本発明の他の目的は、多数の可能な縮小命令集合で使用
可能な簡単なRISCアーキテクチュアを提供すること
である。
本発明の他の目的は、このような簡単なRISCアーキ
テクチュアの実現に通ずる縮小命令集合を提供すること
である。
本発明の他の目的は、複合命令集合をエミュレートする
ため縮小命令集合を使用する信号処理方法を提供するこ
とである。
本発明の他の目的は、MIL−STD−1750をエミ
ュレートし得る縮小命令集合信号プロセッサを提供する
ことである。
本発明の他の目的は、ユーザーがオフチップの記憶及び
呼出しのためのRISCコードサブルーチンを書くこと
により機能を定義し得るMIL−STD−1’750マ
イクロプロセツサを提供することである。
本発明の他の目的は、複合命令集合を効率的にエミュレ
ートするのに使用するための縮小命令集合信号プロセッ
サを提供することである。
本発明の他の目的は、複合命令に応答するが、それらを
縮小命令の群を使用して実行する信号プロセッサの設計
方法を提供することである。
本発明の他の目的は、縮小命令集合信号プロセッサのア
ーキテクチュアがハードウェアじシリコン”)に設計さ
れ且つ縮小され得ると共に(縮小命令のなかの)複合命
令集合のコードエミュレーションのためのプログラミン
グが同時に行ゎit、 ル信号プロセッサを迅速に設計
するための方法を提供することである。換言すれば、本
発明のこの目的は、信号プロセッサが迅速な設計サイク
ルを有する複合命令集合をエミュレートするための縮小
命令集合信号プロセッサを提供することである。
本発明の第一の局面によれば、バーバード・アーキテク
チュアを有する、すなわち別々のデータ及び命令バスを
有する縮小命令集合計算fi(RISC)が提供される
本発明の第二の局面によれば、RISCが複合命令集合
計算ta(CISC)のエミュレータとして使用するた
め設計されている。RISCはそのオペランド又はデー
タバスを経て受信された複合命令に、RISC命令の各
々複合命令の一つに対応する複数個の群の対応する一つ
を、RISC命令バスを経て、アドレス指定することに
より、応答する。いったん受信された複合命令に対応す
る群の第一の命令がアドレス指定され且つ実行されると
、特定の群のなかの組み合わされている縮小命令の残余
は、群のなかの命令の全てが完全に実行され終わるまで
、順次にアドレス指定され且つ実行され得る。こうして
、複合命令が縮小命令の群を使用してハードウェアのな
かでエミュレートされる。縮小命令はRTSC機械の命
令バスを経て受信される。
さらに本発明のこの第二の局面によれば、バーバード・
アーキテクチュアを有する縮小命令集合計算機が、設計
される。複合命令集合計算機をエミュレートするための
縮小命令集合信号プロセッサとしてだけでなく、以前の
ようにRISC命令に対する命令バスを使用して但しこ
のモードではオペランドに対してのみデータバスを使用
して縮小命令集合作動モードで作動する縮小命令集合信
号プロセッサとしても使用するために設計される、これ
はR130作動モードとして特徴付けられ得る。希望に
よりRISC又は複合命令エミュレーションモードが選
択され得る。
さらに本発明の第二の局面によれば、縮小命令の複数制
の群が信号プロセッサの外部のメモリストアのなかに記
憶される。上記のように、群のなかの命令は実行のため
に順次に記憶される。換言すれば、群のなかの第一の縮
小命令のアドレス指定は群のなかの他の縮小命令の各々
の順次の実行により迅速に追随される。
さらに本発明の第二の局面によれば、エミュレートされ
る複合命令集合はMAL−3TD−1750命令集合で
ある。
本発明の第三の局面によれば、複合命令集合命令に応答
する信号プロセッサの設計方法は、第一に、縮小命令集
合信号プロセッサとして使用するため別々のデータ及び
命令バスを有する縮小命令集合信号プロセッサを設計す
る過程と、第二に、複合命令集合をエミュレートするべ
く縮小命令集合信号プロセッサを設計する過程とを含ん
でおり、それによりデータバスが到来する複合命令集合
命令及びそれに関係する双方向データの双方に対して使
用される。RISC命令バスは縮小命令集合命令のみを
アドレス指定且つ受信するために使用される。複数個の
縮小命令集合命令が受信された各到来複合命令に対して
実行される。こうして、ハードウェアが、エミュレーシ
ョンコードが同時に書かれるでいる間に実行するべ(設
計且つ縮小され得る。
さらに本発明の第一の局面によれば、信号プロセフサア
ーキテクチェアは、第一の入力信号及び第二の入力信号
に論理演算を実行するため、また・前記論理演算の結果
を示すALU出力信号を供給するため第一の入力信号及
び第二の入力信号に応答する算術論理演算装置(A L
 U)を有する。信号プロセッサアーキテクチュアは、
ALU出力信号を記憶し且つ″B′マルチプレクサ(B
MUX)に供給するためALU出力信号に応答するアキ
ュムレータをも有する。′B″マルチプレクサは第二の
ALU入力信号を供給するため、アキュムレータ出力信
号を含む三つの異なる信号のなかから一つを選択する。
BMUXへの入力の他の一つは、ALUにより実行又は
走査されるべきアドレスを成すRISC命令カウンタ出
力信号である。
BMUXへの第三の入力は、レジスタファイルのなかの
多数のレジスタの任意の一つに応答する宛先レジスタの
出力である。宛先レジスタ出力信号が代わりにオペラン
ドバス上にデータとして供給され得る。命令カウンタは
ALUから始動命令アドレスを受信し、またアドレスを
順次にインクレメントするため規則的にクロックされ得
る。ALU出力信号はデータ又はオペランドバスからの
到来オペランド信号に応答する多数のレジスタを含むレ
ジスタファイルにも供給される。レジスタファイルは到
来命令から復号されたものとして選択された記憶レジス
タのなかにALU出力信号もしくはオペランド信号を記
憶する。レジスタファイルは宛先レジスタ及び源レジス
タにレジスタを供給する。源レジスタはレジスタファイ
ルから受信された信号を記憶し、またそれを″へ″マル
チプレクサ(AMUX)に又は出力としてオペランドア
ドレスバスに供給する。AMUXはRISC命令カウン
タにより先にアドレス指定されたRISC命令バスから
受信されたRISC命令にも応答する。AMUXはAL
Uに第一の入力信号を供給する。ハード配線による制御
装置は到来する複合命令を復号し、また適当な順序で上
記のアーキテクチュアを作動させるために必要な制御信
号の全てを供給する。
ハード配線による制御装置は、(i)各機械サイクルの
第一の四分の−の間にRISC命令カウンタにインクレ
メントする信号を供給することにより順次に記憶された
命令をアドレス指定するため、(ii )選択された機
械サイクルの第二の四分の−の間に、ALUにより演算
されるそれらの信号内容を有するようにレジスタファイ
ルのなかの記憶レジスタを選択するため、また源及び宛
先レジスタのなかに記憶するため選択されたレジスタ信
号内容を第二の四分の−の間に供給するため、レジスタ
ファイルに制御信号を供給するため、(iii )選択
された機械サイクルの第二の四分の−の間に、メモリか
らレジスタファイルへ又はレジスタファイルからメモリ
へデータをロード又は記憶するべく命令に応答してオペ
ランドアドレス及びデータバスをイネーブルするための
イネーブル信号を供給するため、(iv )選択された
機械サイクルの第三の四分の−の間に開始して、ALU
に対する前記第一の入力信号として供給するため源出力
信号と命令信号との間を選択するためAMUXに第一の
選択信号を供給するため、(v)選択された機械サイク
ルの第三の四分の−の間に開始して、ALUに対する第
二の入力信号として供給するため宛先出力信号とアキュ
ムレータ出力信号とと命令アドレス信号との間を選択す
るためBMUXに第二の選択信号を供給するため、(v
l)選択された機械サイクルの第二の四分の−の間に開
始して、ALUにALU演算選択信号を供給することに
よりALUにより実行されるべき演算を選択するため、
(vi )選択された機械サイクルの第一の四分の=の
間に開始して、適当なレジスタにALU出力選択信号を
供給することによりレジスタフ・フィル、アキュムレー
タ又は命令カウンタのなかにALU出力信号を記憶する
ため、(vi )選択された機械サイクルの延長された
第四の四分の−の間に、シフト、乗算及び除算を実行す
るためシフト信号を供給するため命令信号を復号する。
さらに本発明の第二の局面によれば、かかるRISC信
号プログラムはさらに、順次に記憶された縮小命令集合
信号の群の第一の命令信号をアドレス指定するため縮小
命令集合アドレス信号を復号し且つRISC命令カウン
タに供給するためかかる複合命令信号を記憶し且つ制御
手段に供給するためデータバスを経て受信される複合命
令で書かれた応用プログラムに関係して供給される複合
命令に応答する複合命令集合プログラムレジスタを含ん
でいる。アドレス指定されるかかる群の各々は、それぞ
れ複合命令集合のなかの複合命令の一つをエミュレート
するために設計されている複数個のかかる群の一つであ
る。複合命令集合プログラムアドレスカウンタは、順次
に応用プログラムのなかの次の複合命令をアドレス指定
するため、インクレメントする信号に応答し、又は例外
複合命令アドレス信号を記憶及び供給するためALU出
力信号に応答する。
さらに本発明の第二の局面によれば、受信された複合命
令信号は制御手段により復号され、また選択された機械
サイクルの第一の四分の−の間にインクレメントする信
号をプログラムカウンタに供給することにより順次にア
ドレス指定される。
制御手段は選択された機械サイクルの第三の四分の−の
間にRISC命令アドレスカウンタへのかかる縮小命令
の群を開始するため縮小命令集合アドレス信号をも供給
する。また制御手段は複合命令信号を受信、記憶及び供
給するべく選択された機械サイクルの第一の四分の−の
間に複合プログラムレジスタをイネーブルする。
本発明の第一の局面によれば、Cl5Cのエミュレーシ
ヨンをなんら参照することなしに、RISC機械として
簡単に設計及び使用され得る簡単なアーキテクチュアが
提供される。もちろん、背景技術のところで説明したよ
うに、かかる簡単なアーキテクチュアは同時にR130
1m性及びCl5C属性を有し得るので、二つの間のハ
ードな速い境界を作ることは困難である。従って、本ア
ーキテクチュアは二つの極限の間の設計空間に置かれ、
上記の広い“縮小命令1の意味で例外として実際に厳密
に特徴付は可能でないことは理解されよう0本明細書中
に開示される“縮小”命令集合は、ここに開示されるア
ーキテクチュアで実行するために特に良く通している。
しかし、他のRISC命令集合がここに開示されるアー
キテクチュアでの実行のために定型化され得ることは理
解されよう。
それにもかかわらず、提供される簡単なアーキテクチュ
アは、制限なしに、以下に説明されるい(つかの異なる
RISCアーキテクチェア・アプローチをとる。第一に
、シフト、乗算及び除算命令を除く全ての命令は単一の
12クロフク″機械サイクルのなかで実行される。オペ
ランドはロード及び記憶アクセスメモリのみを有するレ
ジスターツー−レジスタである。これは内部制御を簡単
化する。全てのRISC命令はハード配線による制御を
使用して実行される。マイクロコードは使用されない、
32命令演算のみが実行される。アドレス指定はレジス
タ間接及び即値モードに制限されている。命令フォーマ
ットは簡単であり、また境界を横切らない。
ここに開示されるR夏SCアーキテクチュアに加えて、
信号プロセッサが複合命令集合から受信された複合命令
に実際に応答する!味でctscがエミュレートされ得
る、本発明の第三の局面による、特に有用な設計方法が
開示される。RISC機械により受信されたこのような
各複合命令は、エミュレーシヨンによりこのような各命
令を実行するため予めエミュレートされた縮小命令の特
定の群のアドレス指定をトリガする。こうして、エミュ
レートされた各複合命令に対して、ハードウェア内での
呼出し及び実行のために記憶された縮小命令の群が存在
する。この設計アプローチはRISCアーキテクチェア
がハードウェア実施例に対して迅速に、すなわち同時に
エミュレーションコードが開発されている間にゲートア
レーとして設計されることを許す0.こうして、もし設
計者がCl5Cの設計を望むならば、設計者は、同時に
複合命令集合をエミュレートするためエミュレーション
コードの開発を続行しつつ、先ずRISCを設計し、続
いてそれを”シリコン”に縮小することにより目的物を
一層迅速に得ることができる。このアプローチの費用は
純粋なctscとしてCl5Cを設計する費用の10%
よりも少なく、且つ優れた結果が得られると見積もられ
る。主な費用節減の一つは、いくつかの設計サイクルの
形態でCl5C設計者により通宝経験される設計リスク
に関係付けられる。
この設計アプローチは、同時にエミュレーションコード
が書かれている間に“シリコン”にハードウェアが同時
に縮小されるので、迅速なターンアラウンドの利点を提
供する。しかし、速度は唯一の利点ではない、いったん
ハードウェア設計が“シリコン”に縮小されると、設計
プロセスはそれに関しては完了され、その後の変更はな
され得ない。設計エラーはたいていこの段階では必然的
に発見され、他の費用のかかる設計サイクルを必要とし
、第二の設計の後にも追加的なエラーが発見される可能
性がある。これは時間及び金の点で非常に費用のかかる
プロセスである0本発明は、ハードウェア設計“問題”
を受けるけれども、それにもかかわらずハードウェア問
題を迂回するべくエミュレーションコードを使用する補
正を受は得るハードウェアのなかに非常に簡単なアーキ
テクチュアを設計することにより、この問題の回避を許
す、当業者に知られているように、設計プロセスの間に
、機能は通常は一つよりも多い仕方で、所与の信号プロ
セッサのなかで、設計者により影響され得る。こうして
、も゛LRISO機械を使用して(Iscをエミュレー
トすることを試みるならば、I’?ISOを設計し、ま
た、最初の設計のなかで最初に意図された仕方で複合命
令が実行されるのを許さないハードウェア設計のなかの
“欠陥”が存在する場合には、設計者は池の仕方で“問
題”複合命令をエミュレートするべくエミュレーション
コードのまわりを変更し得る。こうして、本アプローチ
はハードウェア設計欠陥を許容するべくフレキシビリテ
ィを提供する。
ここに開示される、RISCを使用する複合命令集合針
算機を実現するための設計方法はハードウェアとソフト
ウェアとの間にCl5Cを設計するタスクを分割する。
設計効率はソフトウェアの効率から来る。従来の技術で
は、全ての機能は一つのチップ上にあった0本開示は、
制御機能が実行機能から分離されている“2チンプ解決
”の使用を教示する。ここに開示される簡単な機械はハ
ードウェア設計プロセスを速くし、またエミュレーショ
ンコードの同時設計を許す、従来の技術で経験された設
計リスク、すなわち正しく作動する設計を得る以前にい
くつかのハードウェア繰り返しにさらされるリスクは回
避される。
本発明の第二の局面は、Cl5Cをエミュレートするた
め群のなかに配置されたRISCコードを実行するRI
SC機械を提供する。この局面の実施例は、純粋なRI
SCモードでバーバード−アーキテクチュアを有する純
粋なRISC461械として、もしくはCl5Cをエミ
ュレートするため群のなかに配置されたRISCコード
を実行するR f S C#IA械トLテ、RISCI
O械をランさセル可能性を提供し得る。いずれの場合に
も、コードのこのような各群は、対応する複合命令に応
答して実行され得る。いったん群の初期アドレスがRI
SCアドレスバス上に置かれると、その群のなかの縮小
命令の他のメンバーが→頂次に実行される、RISCコ
ードの群によりエミュレートされるCl5Cを有する新
規なアプローチと、まさにRISCとして又はエミユレ
ータとしてランするRrsc機械を有する新規なアプロ
ーチとは縮小命令集合のフィロソフィによる強力な信号
処理ツールを提供し、また縮小命令集合アーキテクチュ
アを使用する複合命令集合をエミュレートする可能性を
同時に提供する。本発明のこの局面は、こうして使用さ
れる時、まさに強力なツールである。
RISCコードのなかで実行されるべきユーザー固有の
、ユーザーにより定められた機能をユーザーが開発し得
ることは、本発明の第二の局面により教示される縮小命
令集合信号プロセッサの他の強力な特徴である0通常、
MIL−3TD−1750によるCl5Cの製造者は、
もしその顧客がそのMILにより許されるようなユーザ
ーにより定められたta (’IAを実現することを望
むならば、その顧客が特注の特別に開発されたMIL−
STD−1750によるマイクロプロセッサチップを注
文することを要求する。(MIL−3TD−175OA
はユーザーにより定められたta能を暗示的に許し、他
方に於いてMI L−3TD−1750Bはこの上うな
機能を明示的に準備する)0本発明はユーザーに、チッ
プが購入された後にRISCコードのなかでの実行のた
めに任意の数のこのようなユーザーにより定められた複
合命令を定める可能性を与える。これらは、RISCI
II械と組み合わされており、またRISCマイクロプ
ロセッサと共に使用するためのFROMのようなメモリ
装置のなかに別々に記憶されているRISC命令集合を
使用して、簡単に顧客により設計され得る。完全なRI
SC命令集合はもちろん、ユーザーにより定められたf
i能を顧客が書くことを可能にするべくMAL−5TD
−1750マイクロプロセツサの購入時に供給される製
品文献のなかで顧客に説明されなければならない。
本発明の第一の局面の以上の教示の全てに追加して、特
殊な縮小命令集合が、前記のように、その命令集合及び
多くの他の可能な類似の命令集合を実現するために特に
有用である特殊なRISCアーキテクチュアとならんで
教示される。開示される特殊なRISCアーキテクチェ
アは後で開示されるような第二の局面によりMIL−3
TD−1750命令をエミュレートする目的にも非常に
有用である。
本発明の前記及び他の目的、特徴及び利点は以下にその
好ましい実施例を図面により詳細に説明するなかで一層
明らかになろう。
発明を実施するための最良の形態 第1図には、縮小命令集合計算機(RI S C)とし
て広く特徴付けられてよく、また通常は、制限なしに、
マイクロプロセッサの形態をとる、本発明の第一の局面
による1tiIlな信号プロセッサlOがブロック図で
示されている0本発明の新規なRISGはバーバード・
アーキテクチュアを有する。すなわち命令及びデータバ
スが別々である。
RISC命令アドレスバス12は縮小命令をアドレス指
定するのに使用されており、縮小命令は次いでRISC
IOにより縮小命令バス14を経て受信される。オペラ
ンドアドレスバス16は双方向であワてよいデータバス
18を経てRISCIOにより受信もしくは供給される
データをアドレス指定するのに使用される。背景技術の
ところに記載したように、頭辞語“EISC″はここで
は縮小命令集合機械の広い意味で使用されている。
バーバード・アーキテクチュアの使用は、ノイマン・ア
ーキテクチユアが好ましいアプローチであった以前のC
l5Cに使用されているような多重化命令/データバス
とは異なっている。バーバード・アーキテクチュアによ
るアプローチは、命令及びデータが同時にアクセスされ
得るという事実により、RISCがはるかに速い速度で
作動することを許す。これば性情を最大化する上記の一
般的RISCアプローチと開用している。
第2図は第1図のRISCと類似しておりまた同一のバ
ーバード・アーキテクチュアを有するRISCIOのブ
ロック図である。第2図のRISCIOは、共に使用さ
れる時に、本発明の第二の局面に従って、複合命令集合
計算機(CI S C)をエミュレートし得るプログラ
ラマブル・リードオンリメモリ(FROM)のようなメ
モリ装置20と組み合わされている。RISCIOPR
OM20は共にCl5Cをエミュレートするぺ<RIS
Cを使用する構想の“2チツプ”22の実施例又はそれ
への“解決”として考えられ得る。2チツプ22は実際
にCl5Cである。これは設計者及びユーザーの双方の
観点から上記のように高度に効率的なアプローチである
信号の形態の複合命令は信号線24を経てデータバスに
供給され、それによりRISCIOに伝達される。複合
命令24の源は本発明にとって重要ではないが、一般に
“Cl5C″22により実行されるべきいくつかの応用
プログラムから成っている。複合命令はこの仕方で順次
に受信され、またRISCIOに復号される。受信され
るこのような各複合命令に対して、初期始動アドレスが
RISC命令アドレスバス12を経てPROM20に供
給され、そこにエミュレートされている特定のCl5O
命令に対応するI?ISO命令の群が順次に記憶される
。PROM20のなかでアドレスを旨定された第一のR
ISO命令は次いで、典型□的に全機械サイクルの間、
RISC命令バス14上に置かれる。命令が記憶又は実
行のためにR1′5CIOに安全に供給され終わった後
、RISCloは次に、命令バス14上に置くため次に
順次に記憶されたエミュレーシヨン命令をアクセスする
ためRISC命令アドレスバス12上のアドレスをイン
クレメントする。このプロセスは、(データバス10を
経て受信された特定のCl5C命令をエミュレートする
ためPROM20のなかに記憶されている)RISC命
令の全ての群がエミュレーシヨンを経由して実行され終
わるまでi[する、所与の命令は、なかんずく、データ
バス18及びその(単にデータ源又は宛先への経路を示
ず)LT:長部26を経由してオペランドをロード又は
記憶するのに使用されるメモリロード/記憶操作を含ん
でいる。
RISC 第3図には、第1図及び第2図中に示されているRIS
Cに類似のRISCIOの内部の簡単化されたブロック
図が示されている。jia図の細線は、本発明のcts
cエミュレーションの局面なしに、第1図のRISCI
Oに一致する。先ず、本発明の第一の局面のRISC実
施例の動作を完全に説明するため、第3図を先ずこれら
の細線の部分に関して説明する0次いで、本発明の第二
の局面の実hi例、すなわち第2図に示されているよう
にCl5Cをエミュレートするのに使用されるRISC
を完全に説明するため、太線の部分を説明する。
制御装置30はRISCIOに対する(図面を簡単にす
るため図示されていない)内部制御信号を供応する。こ
のような制御信号により制御される機能のなかで次のR
ISO命令の取出しが実行されなければならない、これ
は、RISC命令アドレスを保持するのに使用される命
令カウンタ32を、そのアドレスに記憶されているRI
SC命令を命令レジスタ34のなかヘロードするため、
インクレメントすることにより成就される。命令レジス
タ34は実際には二つのレジスタ、すなわち(現在の機
械サイクルの間に)命令バス14上でRISC命令を最
初に受信及び記憶するための“パイプ”又は−次レジス
タと、現在の機械サイクルの中央まで先の機械サイクル
の間に命令バス14上にあった命令を保持するための二
次レジスタとから成っている。パイプはその内容を、後
で一層詳細に説明するように、各機械サイクルの中央で
二次レジスタに伝達する。
次に第4図を参照すると、制御装置30により与えられ
る種々の制御信号に相当する波形が示されている0図示
の目的で、第4図の種々の波形は四分の一機械サイクル
40,42.44.46に分割されている単一機械サイ
クル38のなかで相互に比較するため時間的に1凍結”
されている。
任意の選択された周波数又はデエーテイサイクルであっ
てよい基本システム“クロック1波形は第4図(a)に
示されている。第4図(b)には後で一層詳細に説明す
る目的で有用である第一の四分の−40のクロック信号
波形50(CK1)が示されている。第4図(C)には
各機械サイクル第二の四分の−42の間に再び生ずる(
この場合、高い)波形52 (CK2)が示されている
。第4図(d)には各機械サイクル第三の四分の−44
の間に再び生ずる波形54 (CK3)が示されている
。第4図(e、)には各機械サイクル第四の四分の−4
6の間に再び生ずる波形56(CK4)が示されている
第4図(f)には、命令レジスタ34のなかの“パイプ
”レジスタのローディングのタイミングを示す波形58
が示されている。波形58は、第4図(b)の波形50
のCKIの立ち上がり縁と同時に生起する低レベルから
高レベルへの電圧変化の立ち上がり縁に小さい矢印を付
して示されている。これは、第3図のRISC命令線1
4上に存在する(全機械サイクルの間、その時点に存在
するであろう)命令がいま安定しており命令レジスタ3
4のなかのRISO命令レジスタパイプのなかへのクロ
ッキングの準備ができていることを示す、こうして、第
3図中に示されているクロック線60は各機械サイクル
の開始時にCKIの立ち上がり縁に上がる。換言すれば
、命令レジスタパイプの内容が各機械サイクルの開始時
に変更される。命令が二つの全四分の一サイクルにねた
り“パイフルレジスタのなかに存在した後、命令は第4
図(g)中の波形64の立ち上がり縁62により示され
ているようなCK3の開始時に“パイプ”から二次命令
レジスタのなかヘラツチされる、もちろん、第二の四分
の−42の間に二次命令レジスタの入力端に与えられる
信号が、クロックが低レベルであるので、この第二の四
分の−42の間に二次命令レジスタの出力端にも存在し
ていることは理解されよう、従って、まだランチされて
いなとしても、この第二の四分の一周期の間に制御装置
による命令コードの復号が開始され得る、こうして、゛
バイブのなかの命令は機械サイクルの開始時から終了時
までそのなかに留まっているけれども、パイプの内容は
各機械サイクルの中央で二次命令レジスタのなかヘコピ
ーされる。
従って、所与の命令が二次レジスタのなかに存在する時
間は一つの機械サイクルの中央から他の機械サイクルの
中央まで重なっている。
命令バス14上の命令が命令レジスタ34@パイプ°の
なかヘクロックされる時点で、命令アドレスバス12上
のアドレスが、各機械サイクルの開始時にCKIの立ち
上がり縁と一致するその作動クロッキング(立ち上がり
縁70)タイミングを有する第4図(h)の波形68に
示されているタイミングの制御信号により開始されて次
の順次アドレスへ通常インクレメントされる。しかし、
もし例外命令が実行されるべきであれば、それは順次ア
ドレスの外でロードされる。
制御装置30の他の機能は、種々の仕方で、命令レジス
タ34“パイプ”内及び命令レジスタ34の二次レジス
タ内に留まうている命令を復号することである。各機械
サイクルの第一の四分の−の間に、制御装置30は命令
レジスタ34のパイプレジスタのなかへまさにロードさ
れた命令のレジスタフィールド部分を復号する。線72
はレジスタフィールドを復号するためのパイプから制御
装置30への情報の転送を示す、(RISC命令フォー
マットは後で一層詳細に説明する)。ここでは、示され
ている実施例に対して、16ビツトRISCレジスター
ツー−レジスタ命令フォーマントに対して、6個の最上
位ビットが命令コードであり、次の5個の最上位ビット
が宛先フィールドであり、また最後の5個のビットが源
フイールドであると言えば十分である。復号されたレジ
スタフィールド情報は、パイプのなかで、宛先レジスタ
76及び源レジスタ78のなかヘロードされるべきレジ
スタファイル74のなかのレジスタの選択された対を同
定するのに使用され得る。いったんレジスタフィールド
が復号されると、機械サイクルの第二の四分の−42の
間に能動化される選択線80により示されているように
、レジスタの適当な対が選択される。第4図(+)及び
第4図(j)には、それぞれの立ち上がり&!86.8
8により、レジスタフ・アイル74のなかの選択された
レジスタがその時点で、すなわち機械サイクルの中央で
宛先及び源レジスタ76.78のなかヘクロックされる
ことを示す波形82.84が示されている。
この時点で、上記のように、パイプのなかの命令が命令
レジスタ34のなかの二次レジスタのなかヘラッチされ
る。命令レジスタの二次レジスタのなかで命令コードが
、実行されるべき命令を決定する目的で復号される。宛
先フィールドもこの時点で再び、内部演算の結果もしく
はデータバス18から移動されたオペランドにより書か
れるべきレジスタファイル74のなかのレジスタを決定
する目的で復号される。これらの二つの代替的なローデ
ィング経路は信号線100及び信号線102により示さ
れている。信号線100はなかんずく宛先及び源レジス
タ76.78により与えられる信号を演算する算術論理
演算装置(ALU)104の32ビツト出力を表す、宛
先及び源レジスタ76.78の内容がALUI 04に
より演算される演算に対して、その演算の出力は線10
0を経て、宛先レジスタを最初にロードしたレジスタ対
のなかへ戻される。他方、情報はバッファ106、信号
線10B、入力/出力(夏10)装置110及び信号線
102を経てデータバス18から与えられるものであっ
てもよい、!10装置は、これまでに説明した目的で、
簡単に信号線10Bから信号線102への短い回路と考
えられてよい、すなわち、それは本開示の現在のレベル
に重要な機能はしない、(シかし、本発明のMIL−3
TD−175”O実施例と結び付いて本IU示の後続の
レベルに関しては重要であり、従ってその目的で第3図
に含められている)。
もし制御装置30が、命令レジスタ34のなかの二次レ
ジスタから復号されたものとして、レジスタファイル7
4のなかのレジスタ又はレジスタ対のなかへ信号線10
0上のALU出力信号を含むALU104に対する演算
を選択すれば、ALUの出力は第4図(k)の波形11
4の立ち上がり縁112により示されているように機械
サイクルの第二の四分の−の開始時にレジスタファイル
74のなかの選択されたレジスタ又はレジスタ対のなか
ヘクロソクされる。この波形はALUIO4により書込
まれるべきレジスタをクロックするため第3図中に示さ
れているクロック線116上に存在する電圧を表す。
こうして、各機械サイクルの第一の四分の−42の間に
、制御装置30は宛先及び源レジスタ76.78をロー
ドするためアクセスされるべきレジスタファイルのなか
のレジスタの対を決定するべく命令レジスタ34パイプ
を復号し、またレジスタファイル74のなかのどのレジ
スタが入力バスで又は以前の機械サイクルからのALU
の出力でロードされるべきかを決定する目的で命令レジ
スタ34のなかの二次レジスタを復号する。線100上
のALU出力信号又は線102上のデータはCK2の立
ち上がり縁で選択されたレジスタ又はレジスタ対のなか
ヘロードされ、他方宛先及び源レジスタはCK3の立ち
上がり縁でロードされる。
もし命令レジスタ34のなかの二次レジスタのなかの命
令から復号された命令コードが外部メモリ空間からデー
タをロードするため又はそれにデータを記憶するための
ロード/記憶命令であることが判明すると、信号線11
8及びバッファ120を経て源レジスタ78からオペラ
ンドアドレスバス16上へオペランドアドレス出力が与
えられなければならない。制御装置30はもちろん、線
118上の信号をオペランドアドレスバス16に通す目
的で、バッファ120をイネーブルする。
これは信号線117a及び117b上でクロックされる
CR2の立ち上がり縁で生起する。ロード操作時に、オ
ペランドは次いでメモリからデータバス18上に現れ、
制御装置30によりイネーブルされたバッファ106と
線108と110110と信号線102とを経てレジス
タファイル74のなかへ送られる。命令レジスタ34の
ながの二次レジスタのなかに留まっているRISC命令
の宛先フィールドは、それがALU演算に関する命令に
対するものであったかのように、オペランドがロードさ
れるべきレジスタファイル74のなかのレジスタを指定
するために使用される。再び、これは第4図(k)の波
形114に示されているようにCR2の立ち上がり縁で
生起する。記憶操作時に、オペランドは、宛先レジスタ
76のなかヘロードされる命令の宛先フィールドにより
指示されたレジスタからデータバス18上に供給される
ここまでは、制御装置30は、命令カウンタ32をイン
クレメントすることによりRISC命令を取出し、レジ
スタファイル74のなかで演算されるべきレジスタを選
択し且つそれらを源及び宛先レジスタ76.78のなか
へ記憶することを含めて、RISC機械のなかで種々の
機能を実行するため命令レジスタ34の一次(“バイブ
°)レジスタ及び二次レジスタの双方のなかに受信され
た現在の命令を復号し1.またレジスタファイル74の
なかの選択されたレジスタのなかへ先の命令からのAL
U出力信号をロードし、もしくはもし復号されたオペラ
ンドがメモリからのロード操作を示すならばデータバス
18からのオペランドをロードするその機能を実行する
ものとして説明されてきた。
説明されるべき次の機能は、マルチプレクサ124.1
26の対を通じてのALU104への入力の選択である
。第一のマルチプレクサ124は第一の入力信号128
をALU104の第一の入力端に与える。第二のマルチ
プレクサ126は線130上の第二の入力信号128を
ALU104の第二の入力端に与える。これらの入力信
号は各マルチプレクサへのいくつかの異なる入力信号の
なかから選択線132.134により選択される、選択
線は二次命令レジスタを復号することにより用意され、
またCR2の立ち上がり縁の生起時に存在している。換
言すれば、宛先及び源レジスタ76.78が選択された
レジスタでロードされる時、マルチプレクサが選択され
る。もし宛先及び源レジスタ76.78がそれらの内容
をALU104により演算するために選択されるならば
、それらの内容が適当な演算を実行するためIjL11
8及び135を経てまたそれぞれのマルチプレクサ12
4.126を通じてALUの適当な入力端に転送される
。制御装置30は命令コードが二次命令レジスタのなか
に留まる間に命令コードを復号することによりALUに
より実行されるべき演算を選択する。これは通常CK3
の立ち上がり縁の少し後に生起する。ALUは加算、ア
ンド、オア及び排他的オアを含む標準レパートリの演算
を行い得る。いったんマルチプレクサの出力が安定化す
ると、演算は安定な出力を線100上に与えるべくハー
ドウェア内で安定化される。
第3図中に示されているRISCIOに対して、本開示
の現在のレベルで、すなわち本発明の第一の局面と結び
付いて、マルチプレクサ124.126の各々が唯二つ
の別々の信号に応答する。
追加的な信号は本発明の第二の局面を説明するため本開
示の他のレベルと結び付いて後で説明される。マルチプ
レクサの他の入力は、開示のRrSCレベルに対して、
RISC命令及び命令アドレ、スバスと結び付けられて
いる。こうして、マルチプレクサ124は制御装置30
からの線126上の命令信号に応答する。これは、RI
SC命令上で演算を実行することが望まれた特定の機械
サイクルの第三の四分の−44の間にマルチプレクサ1
24のなかへ転送される命令レジスタ34の二次レジス
タのなかに留まっている即値データフィールドに一致す
る。しかし、これらは例えば、(命令のなかの)即値デ
ータフィールドよりもむしろデータが操作される通常の
内部演算に比較して大きな間隔をおいている。レジスタ
ーツー−即値命令は後でRISC命令集合と結び付けて
説明される。マルチプレクサ126は、開示のこのレベ
ルで、命令アドレスバス12からのEISC命令アドレ
ス信号にも応答する。このようなアドレスは時々操作さ
れ得る。こうして、制御装置3oは、命令コードに従っ
て、ALUのなかでの演算のためにマルチプレクサ12
4.126を通じてALUへの入力を選択する。制御装
置30は、命令コードに従って、ALUにより入力信号
上で実行されるべき特定の演算をも選択する。演算は、
入力が安定になった後に線100上に安定な出力信号を
生ずるハード配線による論理回路により実行される。こ
れは通常、機械サイクルの後半の間及び次の機械サイク
ルの第一の四分の−の間に行われる。ALUの出力は、
第4図(k)の波形114の立ち上がり縁112に相当
する次の機械サイクルの第二の四分の−の立ち上がり縁
まで意図される宛先のなかヘロードされない、線100
上のALU出力信号に対する宛先はレジスタファイル7
4のなかのレジスタ、命令カウンタ32又はアキュムレ
ータ140であってよい。アキュムレータは、シフト、
乗算及び除算を実行する目的で設けられており、また、
ALU演算の後でALU出力信号をレジスタファイルに
ロードする場合のように、選択された機械サイクルの間
にCK2の立ち上がり縁でALUの出力をロードされる
制御装置30はシステム受信器を更新し、また例外プロ
グラムフロー(割込み、呼出し、飛越し)をチェックす
る。適当な制御信号がこのような場合に第3図中に示さ
れている種々の機能エンテイテイーに与えられる。
次に第5図を参照すると、第3図のレジスタファイル7
4が一層詳細に示されている。内部データバス102は
内部データバス102上の信号と線100上のALU出
力信号との間を選択する第一の3:1マルチプレクサ1
50及び第二の3:lマルチプレクサ152に導かれて
いる。線100は、第5図では、ALU出力信号の最上
位の半分を導く信号線tooaとその最下位の半分を導
く信号線100bとに分割されている。これらの線10
0a及び1oobの各々は第−及び第二のマルチプレク
サ150.152の双方に導かれている。第3図の制御
装置30は、どのマルチプレクサ150.152及びど
の経路100,102がレジスタに信号を与えるかを制
御する。
レジスタフアイル74自体は20111i1の汎用レジ
スタの群を含んでいる。レジスタファイルは信号線10
0からのALUデータもしくは(データバス18から出
発する)信号線102からのオペランドデータをロード
される。RfSC命令はこれらのレジスタ上で演算を実
行する。第5図には、二つの群に分割されたレジスタが
示されており、第一の(1偶数″)群74a (Ro”
R+ 4&AO&A2)は第一のマルチプレクサ150
からの線154上の出力信号に応答し、また10個の汎
用レジスタを含んでいる。汎用レジスタ74bの第二の
(1奇数″)群(R1=RIs &A I &A3)は
第二のマルチプレクサ152からの線156上の第二の
信号に応答する。いずれかの群74a、74bのなかの
レジスタのいずれかがその内容を信号線162.164
を経て第三のマルチプレクサ158又は第四のマルチプ
レクサ160に供給し14る。第三のマルチプレクサ1
58は出力信号166を第3図の宛先レジスタ76に供
給するための20=1マルチプレクサである。第四のマ
ルチプレクサ16,0は線168上の出力信号を第3図
の源レジスタ78に供給するための20:1マルチプレ
クサである。
第3図の実施例では、ALUは32ビツトΔLUである
が、データ及びデータアドレスバス18.16も命令及
び命令アドレスバス14.12も16ビツトである。従
って、第5図の構造に対しては、内部データバス102
は16ビツトであり、ALLI信号出力線100aの最
上位の半分の信号も線100b上の最下位の半分の信号
も16ビツトである。従って、マルチプレクサ出力線1
54.156も汎用レジスタ74a、74bの全ても1
6ビツトである。20:1マルチプレクサ158.16
0の各々は32ビツト語を構成し、最上位の半分は群7
4b、のなかの10個のレジスタの一つから取られ、ま
た最下位の半分は群74aもしくは74bのなかのレジ
スタのいずれが一つから取られる。こうして、宛先及び
源レジスタ出力信号166.168は32ビツト語であ
る。
次に第6図を参照すると、第3図中に示されている源モ
ジュール78のような源モジュールがブロック図で示さ
れている。線168上の信号は32ビツト信号であり、
線176上の上位の16ビツト及び線178上の下位の
半分としてそれぞれ第一の3:lマルチプレクサ180
及び第二の3:1マルチプレクサ182に与えるため点
174で二つの16ビツト語に分割されている0点18
4で線168上の32ビツト語の最下位の5ビツトは線
186を経て、全てのビット演算に対する適当なビット
を選択するビットデコーダ188に与えられる(ビット
は変更される)、ピントデコーダ188からの32ビツ
ト語は、それぞれ第−及び第二のマルチプレクサ180
.182に与えるため、線192上の最上位の半分と線
194上の最下位の半分とに分割される。第一のマルチ
プレクサ180はレジスタファイルの最上位の半分の出
力を選択し、又はビット命令上のビットフィールドを選
択する。それはレジスタファイルのビン)16出力を符
号拡張する(全て1又は0に強制する)、第二のマルチ
プレクサ182はレジスタファイルの最下位の半分の出
力を選択し、又はビット命令上のビットフィールドを選
択する。それはバイトスワップ命令上で下位の8ビツト
及び上位の8ピントをスワップさせる。
線168a上の選択された最上位の半分及び線168b
上の選択された最下位の半分は、第1図と結び付けて先
に説明したようにALU演算の実行前に導き出された源
データフィールドを保持するのに使用される源レジスタ
78に与えられる。
源はメモリへ又はそれからレジスタをロード又は記憶す
る以前にオペランドアドレスを与えるのにも使用される
。これは第3図に示されており、出力線118がバッフ
ァ120に導かれており、バッファ120がオペランド
アドレス信号を線16を経てオペランドメモリ空間に与
える。前記のように、出力信号11Bは、もしオペラン
ドアドレス指定機能を実行しないならば、第3図に一層
良く示されているように、ALUに第一の入力信号12
8を与えるための命令線136とならんで、マルチプレ
クサ124に与えられる。
次に第7図を参照すると、第3図中の宛先モジュール7
6と類似の宛先モジュールがブロック図で示されている
。レジスタファイル74のなかのマルチプレクサ158
からの線166上の出力信号は、16及び32ビツト語
上の各クロック信号上の右シフト、左シフト又はノーシ
フトを許す32ビツトのシフターマルチプレクサ200
に与えられる。それは論理的、算術的及び循環的にシフ
トする。シフターマルチプレクサ200の出力は線20
2を経て宛先レジスタ204に与えられる、このレジス
タはシフターマルチプレクサ200の導き出された宛先
データフィールド出力を保持するのに使用される一層レ
ジスタとして考えられ得る。宛先レジスタ204の出力
は線136を経て、線130上の第二の入力信号を第3
図のALU104に与えるためのマルチプレクサ126
に与えられる。宛先モジュール76はメモリにレジスタ
を記憶する以前にオペランドデータを与えるためにも使
用されている。宛先モジュールはクロックあたり1ビツ
トだけ右又は左にシフトされ得るし、またシフト、乗算
及び除算機能を実行するのに使用されている。
次に第8図を参照すると、第3図中のアキュムレータ1
40と類似のアキュムレータモジュール210がブロッ
ク図で示されている。線100上のALU出力信号は、
線218上のアキュムレータレジスタ216の出力信号
に応答する281マルチプレクサ212に与えられる。
このマルチプレクサは32ビツトの出力信号を線220
を経て、乗算、除算及び64ビツトシフトのために必要
とされるような右シフト、左シフト又はノーシフトを許
すシフターマルチプレクサ222に与える(それは宛先
レジスタと連結されている)、シフターマルチプレクサ
222の出力は線224を経てアキュムレータレジスタ
216に与えられる。
アキュムレータモジュール210は全体としてデータの
一時記憶のためにも使用され得る0乗算及び除算の結果
は宛先モジュール76及びアキュムレータモジュール1
40又は210のなかで定型化される。
第3図の信号ブロセフサは16及び32ビツト命令を支
持する二つの基本命令フォーマットを有する。命令コー
ド(o p c o d e)は命令の6個の最上位ビ
ットから成っている。第1表には32命令の命令コード
マトリックスが示されている。
命令コードの上側の2ビツト及び次に下側の3ピントは
それぞれ、命令が置かれている行及び列を選択する。二
つの命令フォーマントは(1)レジスターツー−レジス
タ(RR)及び(2)レジスターツー−即値(R1)で
ある、6ビツト命令コードの最下位ビットは、それによ
り命令が解釈されるべきフォーマットを選択する。32
命令の各々は第6ビツトに関係して各フォーマットのな
かで実行され得る。
■土嚢 on      o t      to      
t Looo     ?10V      ADD 
     AND      5LL001     
  LRADDCOR5AR010STRAn    
   XOR5CR011CALL    AoojJ
NOT     MU[,5100MOVCSOB  
    RBRMOVBlol      INR5U
BB      SIR5WAB11Q      O
TRSB       TRRDIVlll     
 JCRCMP      LRI      SτR
Iレジスターツー−レジスタフォーマットは6ビツトの
命令コード及び二つの5ビツトのレジスタフィールドか
ら成る16ビツトの命令である。レジスタフィールドは
(1)20(11の汎用レジスタ、(2)10個の汎用
レジスタ対又は(3)11囚のアキュムレータのいずれ
か一つを選択し得る。
レジスターツー−レジスタ宛先(RD)及び源フィール
ド(RS)は第2表に従って選択され得る。
笹l空 第3表には第5図のレジスタファイルの二つの半部に対
して311尺される組織が示されている。
第3表 16ビツト  16ビツト    レジスタ対表の左側
の(16ビツト)列は10個のレジスタ74aに相当し
、表の右側の(16ビツト)列は10個のレジスタ74
bに相当する。前記のように、レジスタは32ビツト語
を形成するため対として作動するように選択され得る。
レジスタ対に対する命名は第3表に示されており、また
レジスターツー−レジスタ命令のなかのレジスタフィー
ルドによる選択のために第2表中に反映されている、A
O〜A3レジスタは一般に中間結果を保持するために使
用される。
レジスタ即値フォーマントは6ビツトの命令コードと一
つの5ビツトのレジスタアドレスと即値命令を示す5ビ
ツトのコードと16ビツトのデータフィールドとから成
る32ビツトの命令である。
レジスタ/アキュムレーターツー−即値フォーマットは
命令コードマトリックスの命令を全て包含する。レジス
タ/アキュムレータフィールドは第2表中に示されてい
るRDフィールドとして選択され得る。
RfSC命令集合 アドレス           レジスタ      
        影響されるRRMOV  RD、R9
RD  <−−R5”””    RDRRC,RRO
,R8IF lLi−5PI       ”””  
RD、5PτHεH 罠5  <−−Rji  ÷ 11 ROく−一 〇(罠Sl+ ff  (R5Is !IP+ τHεN R5<−−@tRslt RRSTRRD、R9IF [RlI −SPI   
      軸””   is、spτHEN 敦S  (−−R5−11 R5<−−@lRD+1 1F  (R9I−SP+ HEN R5<−−@(RDlt RRCALL RD、R19RD <−−PC÷2  
     64666   pc、 5pPC(−−R
9 RRMOVCRD、Rli   RD  <−−R50
PZNORO,514RRINRRO,R9RD  (
−−@1R5l+              ”””
    RD、  5PRROτRRO,R5@律sl
  (++  RD、              6
66611    gpRRJCRN、R8IF +S
W −M+        ”命6&  pcτHεN PC<−−PC+ R5I ELSε PC<−−PC+  11 RRADDRD、  LI   RD(−−RO+RJ
           cpzsv    RD、  
5flRRADDCRD、Rli   RD  <−−
RO+  R8+  CI      CI’Zt4V
    Rot  5WRRAB  RD、R5RD7
−o (−−RD、、          CPZNV
    RD、  all+RSフー01 RRADDU  RD、R5RD  <−−RD  +
  R9t          CPZN”    R
D、5klRR5IJB  RD、R5RD  <−−
RD  +  R11+  lt      CPZN
V    RD、  BHRR5088RD、R9RD
  <−−RO+  R8+  CHCPZNV   
 RD、  5WRRCMP RD、  tts  R
D l  tts+            opzs
”   swRRXORRD、R9RD  (−−RO
@  Rji           0PZN会   
RD、  5WRRNOT  RD、R9RD  <−
−R5+                 OPzM
”    RD、  l;l’IRRRBRRD、R5
RD  (−−RD  AND BITIR511−^
会−”    RDRR1iBRRD、Rli    
RD  <−−RD  AND  R[TlR81y 
  会会轟自台   RORRTARP+o、R5AL
u  c−−RD  AND  BET(R8++  
0PZN”    5WRRLRX  Ro、pg  
  RD  <−−lR911“@@**    RD
RRSLRRD、R5RD  <−RD  5llXf
T  13+1   0PZN*    RD、  5
WRRSkRRD、R9RD  (−−RD  BHX
FT  lR51+    0PZN”    RD、
  5WRR!9CRRD、R9RD  <−−RD 
 5lll「T (R5II    0PZtl”  
  RD、  51RRMOL!i  RD、R5RD
  <−−RD  @ Rss          °
”V    RD、  5WRRMOVB  RD、u
   RD、−o <−−Rji、−ol      
    ”””    RDRR5%4^B  RD、
RlI   RD15−8 <−−R1,−oj   
      &””    RDRD、、  <−−R
515−84 RRDIV  RD、R5RD  <−−RD  / 
 R5I          ””V    RDRR
5TRf  RD、Ll   @lLi+  <−−I
RDII           ”””    non
@命令集合の詳細な説明 以下に説明されるRISC命令の各々はレジスターツー
−レジスタフォーマットに対して説明される。しかし、
各々が命令コードの第6又は最下位ビットの状態により
指定され得るレジスターツー−即値フォーマットの等個
物を有することは理解されよう。
移動命令(MOV)は源レジスタ(R3)の内容が宛先
レジスタ(RD)のなかへ移動されることを許す。
ロードレジスタ命令(LR)はR3によりth示された
メモリ位置の内容をRDへ移動する。もしR3がスタッ
クポインタ(S P)であれば、SPがロード以前にイ
ンクレメントされる。
記憶レジスタ命令(STR)はRSにより指示されたメ
モリ位置のなかへRDの内容を記憶する、もしR3がス
タックポインタ(SP)であれば、SPがデクレメント
される。
呼出し命令(CALL)はRD  により指示されたレ
ジスタのなかヘブログラムカウンタの内容+2をロード
する。RSの内容は次いでプログラムカウンタのなかへ
移動される。
移動及び集合状態命令(MOVC)はR3及びRDの内
容を移動する。
入力レジスタ命令(INR)はI10サイクルを規定す
る。R3により指示されたI10位置の内容をRDへ移
動する。他方、もしレジスターツー−即値命令フォーマ
ットがこの命令に対して規定されていれば、内部サイク
ルが指示され、それにより内部I10位置がRDへ移動
される。これらの内部位置の要約は下記の第4表に示さ
れている0本明細書の現在の部分はRISCの説明に向
けられているけれども、RISCSCISC又は本発明
の第二の局面からRISC又は本発明の第一の局面を記
述的に完全に分離することは往々困難であり、実施例は
双方を組み合わせることは理解されよう。第4表中に開
示される機能の多くばMIL−3TD−1750により
指定されており、従ってまた本発明の第一の局面に厳密
に関係付けられない、しかし、それらは結合性のために
本明細書にこの点で開示されている。しかし、それらは
その目的で理解されべきである。
l1 コマンドフィールド(R3) 10、予約されている。
11、有効アドレス 0 (EAO):RISCアーキ
テクチェアにより実現されないMIL−5TD−175
0アドレスiI定モード、すなわち直接及び直接を旨標
付け(D、DX)アドレス指定モードを実現するために
使用される。MIL−3TD−1750命令レジスタ宛
先フイールド(I RD)により指示されるレジスタは
パイプレジスタに加えられる。結果は選択されたアキュ
ムレータ(A)のなかに記憶される0MIL−3TD−
1750パイプレジスタは次いでMIL−3TD−17
50プログラムカウンタによりt旨示されたメモリ位置
の内容をロードされる。プログラムカウンタはポストイ
ンクレメントされる。
12、有効アドレス 1  (EAI):RISCアー
キテクチュアにより実現されないMIL−S’rD−1
750アドレスを旨定モード、すなわち基底相対(B)
アドレス指定モードを実現するために使用される。MI
L−3TD−1750命令レジスタ基底フイールド(I
RB)により指示されるレジスタは命令レジスタ(!R
)の下位8ビツトに加えられる。結果はAのなかに記憶
される。
13、有効アドレス 2  (EA2):RISCアー
キテクチュアにより実現されないMIL−3TD−17
50アドレス指定モード、すなわち基底付き指標付き(
B X)アドレス指定モードを実現するために使用され
る。MIL−STD−1750命令レジスタ基底フイー
ルド(IRB)により指示されるレジスタはIRDフィ
ールドにより指定されたレジスタに加えられる。結果は
へのなかに記憶される。  。
14、保留割込み(PI)を読む:MIL−STD−1
750によりt旨令されるが、RISCもしくはCl5
Cエミユレーシヨンモードで使用される。保留割込みレ
ジスタ(Pl)の内容がAのなかに記憶される。
15、マスクレジスタ(MK)を読む:MIL−5TD
−1750によりF旨令されるが、RISCもしくはC
l5Cエミユレーシツンモードで使用される。マスクレ
ジスタ(MK)の内容がAのなかに記憶される。
16、故障レジスタ(FT)を読む:MIL−3TDi
750によりt旨令されるが、RISCもしくはCl5
Cエミユレーシヨンモードで使用される。故障レジスタ
(FT)の内容がAのなかに記憶される。
17、状!3語(SW)を読む: M I L −5T
D−1750モードに対して飲み使用される。MIL−
3TD−1750状態語レジスク(SW)の内容がへの
なかに記憶される。
1日、命令レジスタ源フィールド(IR3)を読む:M
IL−3TD−1750プログラムレジスタ230の4
ビツトIRSフイールドがAのなかに記憶される。
19.1RDフイールド(IRD)を読む:MIL−3
TD−1750プログラムレジスタ230のなかの4と
ットIRDフィールドがAのなかに記憶される。
LA、予約されている。
1B、予約されている。
IC,プログラムカウンタ(P C)を読む:MIL−
5TD−1750プログラムカウンタ234の内容がA
のなかに記憶される。
ID、MIL−5TD−1750命令パイプレジスタ(
PIPE)を読む:MIL−3TD−1750命令パイ
プレジスタ232内容がAのなかに記憶される。このパ
イプレジスタは次いでMlL−5TD−1750プログ
ラムカウンタにより指示されたメモリ位置の内容をロー
ドされる。プログラムカウンタはポストインクレメント
される。
IB、プログラムカウンタ相対的(PCRIEL)を読
む:MIL−3TD−1750命令レジスク230のな
かの8ビツトフイールドを取り、それをMIL−STD
−1750プログラムカウンタ234に加える。結果は
Aのなかに記憶される。
IF、予約されている。
出力レジスタ命令(OTR)はR3により指示されたI
10位置のなかへRDの内容を記憶する、これはI10
サイクルに相当する。しかし、もしレジスターツー−即
値命令フォーマットがこの命令に対して指示されるなら
ば、内部サイクルが指示され、それにより内部I10位
置がRDへ移動される。これらの内部I10位置の要約
は下記の第5表に示されている。
四1 10        IRL(l      命令レジ
スタをロードIc         CC0FF   
  条件ヨードをディユエーブ、。
1rRPf      保誂嚇をリセット10、故障レ
ジスタをクリア(CLFT)  :1セISCもしくは
MIL−3TD−1750エミエレーシツンモードで使
用し得る。16ビツトの故障レジスタの内容が0にリセ
ットされる。
11、プログラムカウンタをロード(PCL):MIL
−3TD−1750プログラムカウンタ234がAの内
容をロードされる。
12、割込みをイネーブル(ENBL):MIL−3T
D−1750により指令されるが、RISCもしくはC
l5Cエミユレーシヨンモードで使用される。このコマ
ンドはマスクアウトされていない全ての割込みをイネー
ブルする。
13、割込みをディスエーブル(DSBL):MIL−
3TD−1750により指令されるが、RISCもしく
はCl5Cエミユレーシヨンモードで使用される。この
コマンドはDSBL命令の実行の開始時に(ディスエー
ブルされ得ないように定義されているものを例外として
)全ての割込みをイネーブルする。一般にINTO−電
源喪失、lNTl−機械エラー、及びINT5−実行呼
出しがディスエーブルされ得ない唯三つの割込みである
14、保留割込みレジスタをセント(SPI):MIL
−3TD−1750により指令されるが、RJSCもし
くはCl5Cエミユレーシヨンモードで使用される。こ
のコマンドはAの16ビツトの内容を保留割込みレジス
タへ出力する。もし割込みマスクの対応するピント位置
に“1”が存在すし、(PI及びMKの双方のなかの同
一のビット集合)、且つ割込みがイネーブルされれば、
割込みは次の命令の実行の後に生起する。
15、割込みマスクレジスタをセット(SMK):MI
L−3TD−1750によりt旨令されるが、RISC
もしくはCl5Cエミユレーシヨンモードで使用される
。このコマンドはへの内容を割込みマスクレジスタへ転
送する。対応するビット位置の“l”は割込みの生起を
許し、また“0”は、マスクされ得ないものとして定義
されているものを例外として、割込みの生起を阻止する
一般にINTO−電源喪失、lNTl−機械エラー、及
びINT5−実行呼出しがディスエーブルされ得ない唯
三つの割込みである。
16、故障レジスタをセント (SFT):MIL−S
T、D−1750により指令されるが、R15Cもしく
はCl5Cエミユレーシヨンモードで使用される。故障
レジスタ(FT)の内容はAの内容をロードされる。“
1″のビット値は特定の故障をセットする。故障レジス
タの必要条件に対するセクション4を参照。
!?、状態語をセット(SSW):MIL−3TD−1
750状態語(SW)がAの内容をロードされる。
1B、In2(命令レジスタ源フィールド)フィールド
をロード(II?S):MIL−5TD−1750命令
レジスタ230の4ビツトのIRSフィールドがAのビ
ット5〜8をロードされる。
19.1RD(命令レジスタ宛先フィールド)フィール
ドをロード(IRD):MIL−3TD−1750命令
レジスタ230の4ピントのIRDフィールドがへのビ
ット1〜4(ビットlはLSB)をロードされる。
IA、IRSフィールドをインクレメント (INC3
):MIL−3TD−1750のPR230のなかの4
ピントのIRSフィールドがインクレメントされる。
1B、IRDフィールドをインクレメント (■NCD
):MIL−3TD−1750(7)PR230のなか
の4ビツトのIRDフィールドがインクレメントされる
IC,命令レジスタをロード(IRL):MIL−ST
D−1750のプログラムレジスタ230がパイプレジ
スタ232の内容をロードされる、RISCプログラム
フローが(もし割込みが保留中であれば)割込みベクト
ルに、もしくは(MIL−STD−1750c7)PR
230(7)上位8ピントにより規定される)マツプベ
クトルに転送される。MIL−3TD−1750(7)
パイプレジスタ230が次t、NでMIL−3TD−1
750(7)プログラムカウンタ234により指示され
たメモリ位置の内容をロードされる。プログラムカウン
タが234ボスト−インクレメントされる0条件付き状
態フィールドがイネーブルされる。
ID、命令レジスタをロード(IRLD):MIL−3
TD−1750のプログラムレジスタ230がパイプレ
ジスタ232の内容をロードされる。RISCプログラ
ム7a−が(MIL−3TD−1750のPR230の
上位8ビツトにより規定される)マツプベクトルに転送
される。MIL−3TD−1750のパイプレジスタ2
30が次いでMIL−3TD−1750のプログラムカ
ウンタ234により1M示されたメモリ位置の内容をロ
ードされる。プログラムカウンタ234がボスト−イン
クレメントされる0条件付き状態フィールドがイネーブ
ルされる。
IE、条件コードをディスエーブル(CGOFF):M
IL−3TD−1750の状態語(SW)の条件付き状
態フィールドが、変更され得ないように、ディスエーブ
ルされる。
1F、保留割込みをリセット(RPI)?MIL−5T
D−1750により指令されるが、RISCもしくはC
l5Cエミユレーシヨンモードで使用される。Aのなか
のセントされた各ビットに対して、その対応する割込み
ビットがリセットされる。
飛越し一条件付きレジスタ命令(JCR)は条件付き飛
越し命令であり、もしCCフィールドに対応する論理“
1″パターンがCCフィールドとCSフィールドとのピ
ント−フォア−ビットのアンド演算の結果であるならば
、即値フィールドがプログラムカウンタに加算される。
5ビツトの条件状態フィールドは参照符号“VCPZN
”を付されており、ここでVはあふれ、Cは1行上げ、
Pは正、Zは0、Nは負を意味する。それらはALUに
よりセット又はリセットされる。CCフィールドはRI
SC命令レジスタ34のRSフィールドである0種々の
CCコマンドが第6表に示されている。
毛旦二 CCフィールド 飛越し条PF           
 簡略記号Nop         6611 11111       かθ豪子字        
                    会・身加算
レジスタ命令(A D D)はRSの内容をRDの内容
に加える。結果はRDのなかに記憶される。あふれ条件
は、もしオペランドが同一の符号を有し且つ結果が反対
の符号を有するならば、生起する。
桁上げ付き加算レジスタ命令(ADDC)はR3の内容
をRDの内容に加える。結果は、もし桁上げフラッグが
セットされているならば、インクレメントされる。結果
はRDのなかに記憶される、あふれ条件は、もしオペラ
ンドが同一の符号を有し且つ結果が反対の符号を有する
ならば、生起する。
加算バイト命令(AB)はR3の下位バイト内容をRD
の下位バイト内容に加える。バイト結果はRDの下位バ
イトのなかに記憶される。あふれ条件は、もしバイトオ
ペランドが同一の符号を有し且つバイト結果が反対の符
号を有するならば、生起する。
加算レジスタ無符号命令(A D D U)はRSの内
容をRDの内容に加える。結果はRDのなかに記憶され
る。あふれ条件は影響されない。
減算レジスタ命令(SUB)はR3の内容をRDの内容
から差し引く、結果はRDのなかに記憶される。あふれ
条件は、もしオペランドが反対の符号を有し且つ結果が
R3と同一の符号を有するならば、生起する。
借り付き減算レジスタ命令(SUBB)はR3の内容を
RDの内容から差し引く、結果は、もし桁上げフラッグ
がクリアされているならば、デクレメントされる。結果
はRDのなかに記憶される。あふれ条件は、もしオペラ
ンドが反対の符号を有し且つ結果がR3と同一の符号を
有するならば、生起する。
減算バイト命令(SB)はR3の下位バイト内容をRD
の下位バイト内容から差し引く、バイト結果はRDの下
位バイトのなかに記憶される。あふれ条件は、もしバイ
トオペランドが反対の符号を有し且つバイト結果がR3
と同一の符号を有するならば、生起する。
比較レジスタ命令(CMP)はRSの内容をRDの内容
と比較す°る。もしRDがR8よりも大きいならば、P
条件コードがセントされる。もしRD=R3であれば、
2条件コードがセットされる、もしRDがRSよりも小
さいならば、P条件コードがセントされる。
論理アンドレジスタ命令(AND)はR3の内容とRD
の内容とのアンド演算をする。結果はRDのなかに記憶
される。
論理オアレジスタ命令(OR)はR3の内容とRDの内
容とのオア演算をする。結果はRDのなかに記憶される
論理排他的オアレジスタ命令(XOR)はR3の内容と
RDの内容との排他的オア演算をする。
結果はRDのなかに記憶される。
論理否定レジスタ命令(NOT)はRSの内容の1の補
数をRDのなかに記憶する。
レジスタ内ビットリセット命令(RBR)は、R3のな
かの値に従ってリセット(クリア)されるべきRDのな
かのビットを選択する。下記の第7表には、R8のなか
の値とRDのなかでクリアされるビットとの関係が示さ
れている。RSのなかの最下位5ビツトが、クリアされ
るべきビットを決定するのに使用される。他のビット値
は重要でない。
第7表 レジスタ内ビットセット命令(S B R)は、R5の
なかの値に従ってセットされるべきRDのなかのビット
を選択する。下記の第8表には、RSのなかの値とRD
のなかでセントされるビットとの関係が示されている。
R3のなかの最下位5ビツトが、セットされるべきビッ
トを決定するのに使用される。伯のビット値は重要でな
い。
笹旦衣 レジスタ内ビットテスト命令(TBR)は、R3のなか
の値に従ってテストされるべきRDのなかのビットを選
択する。下記の第9表には、R3のなかの値とRDのな
かでテストされるビットとの関係が示されている。R3
のなかの最下位5ビツトが、テストされるべきビットを
決定するのに使用される。他のビット値は重要でない、
もしテストされるべきビットが0であれば、状態語のな
かの2ビットがセットされる。
但旦老 ロード命令レジスタ命令(LRI)はRSにより指示さ
れた命令メモリ位置の内容をRDのなかに記憶する。
シフト論理レジスタ命令(S L R)はRSの内容に
より選択されたビットの数だけRDの内容を論理的にシ
フトする。R3の下位5ビツトがシフj・カウント及び
方向を選択する。従って、シフト操作のために、可能な
シフトの最大数は32である。R3の6ビツトは通常又
は拡張シフトを選択する。それがR3のビット16と反
対の符号である時、拡張シフトモードが選択される。拡
張シフトモードでは、一時レジスタ(TA)はシフトさ
れるべき値の上位32ビツトを含み、またレジスタ対R
Dは下位32ビツトを含む、拡張シフトを使用して、6
4ビツトがシフトされ得るが、命令あたりは32回のみ
である。下記の第10表には、実行すべきシフトの方向
及び数を決定する時にR3の値をどのように選択するか
が示されている。
第1θ表 シフト算術レジスタ命令(SAr2)はR3の内容によ
り選択されたビットの数だけRDの内容を算術的にシフ
トする。もしRDの符号が左シフトの間に変化すれば、
あぶれが生起する。RSの下位5ビツトはシフトカウン
ト及び方向を選択する、従って、シフト操作のために、
可能なシフトの最大数は32である。RSの6ビツトは
通常又は拡張シフトを選択する。それがR3のビット1
6と反対の符号である時、拡張シフトモードが選択され
る。拡張シフトモードでは、一時レジスタ(TA)はシ
フトされるべき値の上位32ビツトを含み、またレジス
タ対RDは下位32ビツトを含む、拡張シフトを使用し
て、64ビツトがシフトされ得るが、命令あたりは32
回のみである。シフト論理レジスタ命令(SLR)と結
び付けて示された第10表は、SAR命令に対して、実
行すべきシフトの方向及び数を決定する時にR3O値を
どのように選択するかを示すのにも使用され得る。
シフトサイクルレジスタ命令(SCR)はRSの内容に
より選択されたビットの数だけRDの内容を回転する。
R3の下位5ビツトはシフトカウント及び方向を選択す
る。従って、シフト操作のために、可能なシフトの最大
数は32である。R8の6ビツトは通常又は拡張シフト
を選択する。
それがR3のビット16と反対の符号である時、拡張シ
フトモードが選択される。拡張シフトモードでは、一時
レジスタ(TA)はシフトされるべき値の上位32ビツ
トを含み、またレジスタ対RDは下位32ビツトを含む
、拡張シフトを使用して、64ビツトがシフトされ得る
が、命令あたりは32回のみである。SLRと結び付け
て示された第1O表は、SCR命令に対して、実行すべ
きシフトの方向及び数を決定する時にR3O値をどのよ
うに選択するかを示すのにも使用され得る。
乗算レジスタ命令(MULS)はR3の内容によりRD
の内容を乗算する。
移動レジスタ内バイト命令(MOVB)はR3の下位バ
イト内容をRDの下位バイト内容のなかヘロードする。
スワンプレジスタ内バイト命令(SWAB)はR3の下
位及び上位バイト内容をそれぞれRDの上位及び下位バ
イト内容のなかヘロードする。
除算レジスタ命令(D I V)はR3の内容によりR
Dの内容を除算する。比はRDのなかに記憶される。残
余はTAのなかに記憶される。
記憶レジスタ命令コード命令(STRI)はR8により
t誇示された命令メモリ位置のなかへRDの内容をロー
ドする。これは命令メモリサイクルである。
RISCCl5C 再び第3図を参照すると、状態i!(sw)レジスタ、
保留割込み(PI)レジスタ、割込みマスク(MK)及
び故障レジスタ(FT)の形態でシステム状態を含んで
いるCl5Cに対する追加的な特徴が110110によ
り得られることが思い出されよう。これらは全てMIL
排他的オア回路STD排他的オア回路1750により定
められている。RISCと結び付けて先に説明したよう
に、それはオペランドデータをレジスタファイルに連係
するのにも使用される。エミュレーションのために使用
されるRISCに対して、Cl5Cプログラムレジスタ
230が、現在実行されているCl5Cプログラム命令
を保持するのに使用される一層レジスタとして設けられ
ている。これらの命令はctsc命令“パイプ”232
から受信される。このパイプ232は、Cl5Cプログ
ラムカウンタによりアドレス指定されてバッファ106
、信号線10B及びl10110を経て与えられるCl
5C命令をデータバス18を経て受信する。Cl5Cプ
ログラム命令アドレスは、対応するctscプログラム
命令をパイプ232のなかヘロードする以前にCl5C
プログラムレジスク234のなかに一時記憶される。プ
ログラムカウンタはそのCl5C命令アドレスを、制御
装置30aにより制御されるバッファ236を経て命令
バス16上に与える。
基本EISCのマルチプレクサ124が、算術及び論理
演算のため及びレジスタファイルへの命令データの連係
のためにALUへの第一の入力を選択するのに使用され
たことは思い出されよう。
それは、crscエミュレーションモードで、信号線2
38を経てレジスタファイルにCl5Cプログラム命令
を連係する追加的特徴を提供する。
同様に、マルチプレクサ126は信号線240を経てレ
ジスタファイルにCl5Cプログラムアドレスを連係す
るのに使用される。
任意の所与のCl5C応用プログラムに対して、プログ
ラムカウンタ234は、類似の仕方での実行のためにパ
イプ232のなかに受信される各順次Cl5C命令を通
じてインクレメントする。
各ctsc命令が受信されるにつれて、それは線242
を経て制御装置30aに与えられ、それにより復号され
る。制御装置は、RISC命令の群のなか第一のRIS
C命令が線242を経て受信された特定のctsc命令
をエミュレートするため第2図のFROM20のなかに
記憶されている対応するRISCアドレスを“ルックア
ップ”する、このRISCの第一のアドレスが信号線2
44上に置かれ、またRISC命令カウンタ32に与え
られ、そこから次いでRISC命令アドレスバス12上
に置かれる。所望のRISC命令が次いで命令バス14
上に現れ、また前記のように復号且つ実行される。命令
カウンタは次いでこの機械サイクルの中央で、すなわち
制御装置30aにより制御されてエミュレーション群の
開始時にRISC命令をアドレス指定するためCK3の
立ち上がり縁でインクレメントされる。クロ7り線24
6は、CK3の立ち上がり縁で高レベルになる信号線を
示す、命令カウンタはエミュレーション群の第一の命令
以外の全ての命令に対してCK1でインクレメントされ
る。
群のなかの第一のRISCエミエレーション命令で命令
カウンタをロードする以前の機械サイクルの間、パイプ
232及びプログラムレジスタ230は、それらのそれ
ぞれの内容を適当な宛先に、すなわちプログラムレジス
タ230の内容を制御装置30aに、またパイプ232
の内容を(もし適当であれば)マルチプレクサ124に
与える目的でCKIの立ち上がり縁でクロックされてい
る。すなわちこのCKIの立ち上がり縁でプログラムカ
ウンタ234がクロックされる。こうして、特定の機械
サイクルの間にCI SC22のなかヘクロンクされる
新しいCl5C命令に対して、対応する最初のRISC
命令アドレスがRISC命令カウンタ32のなかヘロー
ドされる以前に半サイクルの遅延が存在する。
基本RISCと結び付けて以上に説明された命令集合を
使用してこの仕方で実行されるCl5Cの例は後で示さ
れる。追加的な例は不必要である、なぜならば、熟練し
たプログラマ−は、CIS・C命令の集合を与えられて
、RISCエミュレーション群の対応する集合を容易に
構成し得るからである。
例として選択されるCl5C命令集合は、命令コードの
一つが直接アドレス指定モードのなかの単精度整数加算
であるMIL−STD−175OA命令集合である(1
980年7月2日付けのMI L−3TD−1750A
の第89頁の5.55節を参照)、そのモードのなかで
、加算のためには、導き出されたオペランドがRAレジ
スクの内容に加算される。結果(2の補数和)はレジス
タRAのなかに記憶される。フォーマットは下に示され
ている。
8ビツトの命令コードは”加算直接”演算コードである
。4ビツトのI?Aフィールドは、導き出されたオペラ
ンドが加算され且つ結果が記憶されるレジスタを指定す
る。RAフィールド(4ビツト)はインデックスレジス
タである。16ビツトの加算器フィールドは導き出され
たオペランドを得るために設けられている。こうして、
示されている命令は、第2図の命令バス24がアクセス
したMIL−STD−1750によるメモリ空間のなか
に記憶され得る。それはデータバス18を経て与えられ
、また上位16ビツトは復号のために線242を経て制
御装置30aに与えるためプログラムレジスタ230の
なかへ与えられ、また下位16ビツト(A D D R
)はパイプ232に与えられる。もちろん、示されてい
る実施例では、これらの命令が受信されるオペランドデ
ータバスは単に16ビツトのバスであり、上半及び下半
が別々に送られなければならないことは理解されよう、
いずれの場合にも、プログラムレジスタ230のなかの
上半は線242を経て制御装置30aに与えられ、そこ
で復号され、また特定のCl5C命令をエミュレートす
るためRISCエミュレーション群の開始アドレスを示
す適当なRISCアドレスが線244を経てRISC命
令カウンク32に与えられる。
MIL−STD−1750Aの単精度整数加算をエミュ
レートするための第一のこのようなRISC命令は下記
の通りである: INRAO,EAl 上記の命令に従って、パイプ232のなかに留まってい
る下位16ビツトのアドレスが次いでマルチプレクサ1
24及びALU104を経てレジスタファイル74のレ
ジスタAOのなかへ送られる。
命令カウンタ32が次いで下記のような次のエミュレー
ション命令をアドレス指定するためインクレメントされ
る: LRA1.AO 上記のロードレジスタ命令は、AOのなかに留まってい
るアドレスにより指示されるメモリ位置の内容がAIへ
移動されるメモリサイクルである、この群のなかで実行
されるべき次のRISOエミュレーション命令は下記の
通りである:ADD   IR3,Al 上記の加算レジスタ命令はPR″S“フィールド(4ビ
ツト)により指示されたレジスタの内容を取り、またそ
れをレジスタAIの内容に加える、加算の結果はPR“
S”フィールド(16の“R”レジスタの一つ)により
指示されたレジスタのなかに記憶される。この群に対す
る次の最後のRISCエミュレーション命令は、基本的
に言って、パイプ232及びレジスタ230からの次の
Cl5O命令を取る。それは下記の通りである:OTR
AO,IRL こうして、MIL−STD−175OAの命令の各々が
第2図のPROM20のなかに記憶されているRrSC
命令の群としてエミュレートされ得る。プログラミング
の分野の当業者にとって、それぞれ複合命令集合の命令
の一つをエミュレートするためのRISO命令の種々の
群を構成することは簡単である。従って、RISCコー
ドでエミュレートされる全てのMIL−3TD1750
Aの命令の例はここには示されない、示された例で十分
である。
MIL−3TD−1750CISCをエミュレートする
ためのRISOエミュレータを設計するために本アプロ
ーチを使用することにより特別な追加的な利点が得られ
る。第2図に示されている2チツプ解決では、PROM
20がユーザー固有の特別なユーザーにより定義された
i能を定義するのにユーザーにより使用され得る。19
86年9月29日イ寸けのMIL−3TD−1750B
のドラフトバージョンの第147頁には、“特殊”アド
レス指定モードに対するビルトイン機能命令が記載され
ている。この命令はユーザーにより定義された特殊な演
算を呼び出す、命令はそれにすぐ続く一つ又はそれ以上
の追加語を使用し得る。
その数及び解釈は8ビツトの命令コード拡張により決定
される。市販品のMIL−3TD−1750チツプに対
してこのようなビルトイン機能を与えるための現在のア
プローチは、特別に要求されるビルトイン機能を組み入
れるため顧客メイドのアプローチに従ってシリコン上に
縮小されなければならない製造者からの特製チップを顧
客が特別に注文することである。これは非常に費用がか
かるアプローチであり、費用が制約されている多くの応
用にはオプションであり得ない。しかし、本発明のアプ
ローチを使用すれば、ユーザーはRISC命令集合の可
能性を知らされ、またユーザー固有のビルトイン機能を
PROM20に格納するためのソフトウェアのなかにプ
ログラムし得る。
こうしてユーザーは、RISCハードウェア10のなか
で実行されるRISCソフトウェアを使用してユーザー
固有のビルトイン機能を非常に安価に製造し得る。これ
は従来のアプローチを使用しては可能でなかった非常に
望ましい特徴である。
設計方法 本発明の第三の局面によれば、複合命令集合計算fi(
CISC)アーキテクチュアを実現するための設計方法
が提供される。ctscを設計する現在の方法はいくつ
かの異なる形態をとる。第一のアプローチでは、単一レ
ベル制御を使用して全ての命令が実現される。換言すれ
ば、実行は例えばZ8000に使用されているようなハ
ードウェアにより制御される。第9図には、Cl5C命
令集合アーキテクチュア300が“ハード配線による”
制御装置302を介して実現されるこのようなアプロー
チが示されている。
他のアプローチでは、2レベル制御を使用して全ての命
令が実現される。換言すれば、実行はハードウェアのマ
イクロコード(ファームウェア)制御により制御される
。第1O図には、信号線306上の命令を介してファー
ムウェア308へ供給されるCl5C命令集合アーキテ
クチュア304が示されており、ファームウェア308
が残余の実行機能を信号線312を経てハードウェア制
御装置310へ通す、このようなアプローチの例はモト
ローラ68000である。
別のアプローチでは、たいていの命令は2レベル制御を
使用して実行され、残余の命令はソフトウェアを使用し
て実行される。このアプローチは第11図に示されてお
り、Cl5C命令集合アーキテクチェア31.4に屈す
る複合命令はファームウェア制御316とソフトウェア
エミュレーション318を供給するための手段との双方
に供給される。ファームウェアは信号線320上の複合
命令とエミュレーションユニット318で行われたソフ
トウェアエミュレーションの結果を示す線322上の信
号とに応答する。残余の制御機能はハード配線による制
御装置324のなかで実行される。このような実現の例
はマイクロヴアソクスである。
第12図には、複合命令集合針算機アーキテクチェアを
実現するための本発明による方法が示されている。この
アプローチでは全ての命令が2レベル制御を使用して実
行され、実行はハードウェアのソフトウェア制御により
制御される。例はRISCによりエミュレートされるM
 I L −5TD−1750AのCl5Cに対して先
に示されている。ソフトウェアエミュレーションは、従
来の場合のように、ソフトウェアインクプリタを必要と
する。ソフトウェア解釈は遅い、さらに、全ての命令は
実行され得ない、ここに開示される方法はMIL−ST
D−1750、VAX、NEBULAなどを含む多数の
Cl5C命令簗合に適用される。このアプローチでは、
先ずRISC設計フィロソフィを使用して(ハード配線
による)単一レベル制御が構成される。そうする間に、
設計者は1?l5O(ハード配線)命令集合の実行を最
大化するべく試みる。いったんRISCがハードウェア
設計されると、それはシリコンへの縮小のために工場に
送られ得る。設計者は次いで、上記の例で説明したよう
に1.RISC命令を使用してC15Cエミユレータを
書り、このアプローチの合理性はRISC設計時間がC
l5C設計時間よりもはるかにはるかに少ないことであ
る。例えば、フェアチャイルドF9450.MD281
は開発に3年以上も要したことが知られている。本アプ
ローチを使用すれば、MIL−3TD−1750の1?
ISCエミユレータは1年以内で開発され、また認可を
得るのにシリコン工場への送付を1回しか必要としなか
った。
第12図には本発明のアプローチを使用する設計方法が
示されている。Cl5C命令集合アーキテクチュア32
6は信号線328を経て、ハード配線による装置334
のなかでのハードウェア実行のために線323上に信号
を供給するソフトウェアエミュレーションユニソトへ複
合命令を供給する。このアプローチの主要な利点は、(
1)ソフトウェアの速度に対するハードウェアの複雑さ
のかねあい、及び(2)ハードウェアの設計時間(通常
はソフトウェアの設計時間よりもはるかに長い時間を要
する)の短縮である。こうして、最初の設計からワーキ
ングコントロールまでの時間がはるかに少なくてすむ。
第13図は本発明の第三の局面による設計ステップを示
すブロック図である。RISCは先ずステップ340で
設計される。いったんハードウェア設計及びRISC命
令集合が決められると、次のステップ342は製造のた
めの設計に送られる、同時に、第2図のFROM20上
で一緒に群にされているr+rsc命令で選択されたC
l5C命令集合をエミュレートするためエミュレーショ
ンコードが書かれるステップ344が同時に実行される
以上に於ては本発明を特定の好ましい実施例について説
明してきたが、本発明はこれらの実施例に限定されるも
のではなく、本発明の範囲内にて種々の実施例が可能で
あることは当業者にとって明らかであろう。
【図面の簡単な説明】
第1図は本発明の第一の局面によるRISCIOのブロ
ック図である。 第2図は本発明の第二の局面によりデータバス18を経
て複合命令の源から受信された複合命令をエミュレート
するためのRISC命令の群を含んでいる別個のメモリ
ストア20とならんで使用される本発明の第一の局面に
よるRISCIOのブロック図である。 第3図は本発明の第一の局面によるRISCIOを一層
詳細に細線で示し、また本発明の第二の局面によりCl
5Cをエミュレートし得るRISCを実行するために必
要な追加的ハードウェアを太線で示すブロック図である
。 第4図は第3図中に示されている信号線上の種々の信号
の電圧レベルにを示す種々の波形図である。 第5図は第3図のレジスタファイル74を一層詳細に示
すブロック図である。 第6図は第3図の源モジュール78を−N詳細に示すブ
ロック図である。 第7図は第3図の宛先モジュール76を一層詳細に示す
ブロック図である。 第8図は第3図のアキュムレータモジエール140を一
層詳細に示すブロック図である。 第9図は全ての命令が単一レベル制御を使用して実行さ
れるCl5Cの従来の設計実行を示すブロック図である
。 第1θ図は全ての命令がニレベル制御を使用して実行さ
れるCl5Cの設計への従来のアプローチを示すブロッ
ク図である。 第11図は大部分の命令がニレベル制御を使用して実行
され、また残りの命令がソフトウェアを使用して実行さ
れるCl5Cの設計への従来のアプローチを示すブロッ
ク図である。 第12図は本発明の第三の局面により全ての命令がニレ
ベル制御を使用する設計アブ日−チを使用するCl5C
実行を示すブロック図である。 第13図は本発明の第三の局面によりctscをエミュ
レートするためのRISCを設計・製造する際に遂行さ
れ得るステップを示すブロック図である。 IO・・・信号プロセッサ(RISC)、12・・・R
15C命令アドレスバス、14・・・縮小命令バス、1
6・・・オペランドアドレスバス、18・・・データバ
ス、20・・・メモリ(PROM) 、30・・・制御
装置、32・・・命令カウンタ、34・・・命令レジス
タ、74・・・レジスタファイル、76・・・宛先モジ
ュール、78・・・源モジュール、104・・・ALυ
、124.126・・・マルチプレクサ、1.40・・
・アキュムレータモジエール、150.152.158
.160・・・マルチプレクサ、200・・・シフタマ
ルチプレクサ、204・・・宛先レジスタ、210・・
・アキュムレータモジュール、212・・・マルチプレ
クサ、222・・・シフタマルチプレクサ、300・・
・Cl5C命令集合アーキテクチュア、302・・・ハ
ード配線による制御装置、304・・・Cl5C命令集
合アーキテクチェア、308・・・ファームウェア制御
ユニット、31O・・・ハードウェア制御装置、314
・・・Cl5C命令集合アーキテクチュア、316・・
・ファームウェア制御ユニット、318・・・エミュレ
ーション装置、324・・・ハードウェア制御装置、3
26・・・Cl5C命令集合アーキテクチュア、330
・・・ソフトウェアエミュレーションユニット、334
・・・ハード配線による制御装置 特許出願人  ユナイテッド・チクノロシーズ・コーポ
レイション

Claims (6)

    【特許請求の範囲】
  1. (1)信号処理方法に於いて、 別々のバスを経て縮小命令集合命令及びデータを処理す
    る過程と、 前記データバスを経て複合命令及びデータを処理するこ
    とにより、またエミュレートされた各複合命令に対する
    縮小命令の複数個の群であって各群が縮小命令の特定の
    複合命令に対応する縮小命令の複数個の群の一つを処理
    することにより、複合命令集合信号処理方法をエミュレ
    ートする過程と を含んでいることを特徴とする信号処理方法。
  2. (2)複合命令集合命令に応答する信号プロセッサの設
    計方法に於いて、 縮小命令集合信号プロセッサとして使用するため別々の
    データ及び命令バスを有する縮小命令集合信号プロセッ
    サを設計する過程と、 前記縮小命令集合信号プロセッサのなかへエミュレーシ
    ョン能力を設計する過程とを含んでおり、それにより前
    記データバスが到来する複合命令集合命令及びそれに関
    係する双方向データの双方に対して使用され、また前記
    命令バスが縮小命令集合命令のみを受信するために使用
    され、複数個の縮小命令集合命令が受信された各到来複
    合命令に対して実行されることを特徴とする信号プロセ
    ッサの設計方法。
  3. (3)信号プロセッサに於いて、 縮小命令集合信号プロセッサとして使用するため別々の
    データ及び命令バスを有する縮小命令集合信号プロセッ
    サと、 前記信号プロセッサを複合命令集合命令信号と前記デー
    タバスを経て受信されたデータ信号とに応答するように
    するため、また前記データバスを経てデータ信号を供給
    するためのエミュレータ手段とを含んでおり、前記エミ
    ュレータ手段が前記信号プロセッサを、受信された各複
    合命令集合命令信号に応答して、前記縮小命令集合信号
    プロセッサ命令アドレスバス上に縮小命令アドレスを供
    給するようにさせ、また、供給されたこのような各縮小
    命令アドレスに対して、前記信号プロセッサをそのエミ
    ュレーション中に実行するための一連の対応する縮小命
    令を供給するようにさせることを特徴とする信号プロセ
    ッサ。
  4. (4)別々のデータ及び命令バスを有する信号プロセッ
    サに於いて、 第一の入力信号及び第二の入力信号に論理演算を実行す
    るため、また前記論理演算の結果を示すALU出力信号
    を供給するため第一の入力信号及び第二の入力信号に応
    答する算術論理演算装置(ALU)と、 前記ALU出力信号を記憶及び供給するため前記ALU
    出力信号に応答するアキュムレータと、 前記ALU出力信号又はデータバスからの到来オペラン
    ド信号を選択された記憶レジスタのなかに記憶するため
    、宛先入力信号を供給するため、また源入力信号を供給
    するため、前記ALU出力信号又は前記オペランド信号
    に応答する、複数個の記憶レジスタを有するレジスタフ
    ァイルと、 前記ALUに論理演算の実行のために供給するため、も
    しくはデータバス上に出力オペランド信号として供給す
    るため、選択された記憶レジスタの信号内容を宛先レジ
    スタ出力信号として供給する以前に前記信号内容を記憶
    するため、前記宛先入力信号に応答する宛先レジスタと
    、前記ALUに論理演算の実行のために供給するため、
    もしくはデータバス上に出力オペランド信号として供給
    するため、選択された記憶レジスタの信号内容を記憶レ
    ジスタ出力信号として供給する以前に前記信号内容を記
    憶するため、前記源入力信号に応答する源レジスタと、
    次の命令をアドレス指定するためそのアドレスをインク
    レメントするためインクレメントする信号に応答し、又
    は各々命令アドレスバス上に供給される例外命令アドレ
    ス信号を記憶及び供給するため前記ALU信号に応答す
    る命令アドレスカウンタと、 前記命令信号を記憶及び供給するため命令バスからの命
    令信号に応答する命令レジスタと、信号プロセッサを制
    御するため命令信号を復号するため前記命令レジスタか
    らの前記命令信号に応答する制御手段と、 前記源レジスタ出力信号及び前記命令信号に、また前記
    第一のALU入力信号を供給するため選択信号に応答す
    る第一のマルチプレクサ手段と、 前記宛先レジスタ出力信号、前記アドレス信号及び前記
    アキュムレータからの前記ALU出力信号に、また前記
    第二のALU入力信号を供給するため選択信号に応答す
    る第二のマルチプレクサ手段と を含んでいることを特徴とする信号プロセッサ。
  5. (5)別々のデータ及び命令バスと共に使用するため機
    械サイクルあたり少なくとも二つのクロック周期を有す
    る本質的に一つの機械サイクルの命令集合信号プロセッ
    サに於いて、 次の命令をアドレス指定するため内部に記憶されている
    現在のアドレス信号をインクレメントするため各機械サ
    イクルの第一のクロック周期の第一の部分の間に供給さ
    れるインクレメントする信号に応答し、また例外命令を
    アドレス指定するため命令アドレスバス上の例外命令ア
    ドレス信号を供給するため内部に記憶するため各機械サ
    イクルの第一のクロック周期の第一の部分の間にALU
    出力信号に応答する命令カウンタと、 各機械サイクルの第二のクロック周期の第二の部分で開
    始し且つそれに続く前記命令信号を受信、記憶及び供給
    するため、命令カウンタにより第一のクロック周期の第
    一の部分の間にアドレス指定された命令信号を置換し且
    つ第二のクロック周期の第二の部分の開始以前に命令バ
    ス上に送るべく、第二のクロック周期の第二の部分の間
    に応答する命令レジスタと、 各機械サイクルの第一のクロック周期の間に前記命令レ
    ジスタ信号を復号するため、また各機械サイクルの第二
    のクロック周期の間に信号プロセッサに対する制御信号
    を供給するため、先の機械サイクルの第二のクロック周
    期の第二の部分の間に前記命令レジスタのなかに記憶さ
    れた前記命令信号に各機械サイクルの第一のクロック周
    期の間に応答する制御手段と、 論理演算を実行するため、また次の機械サイクルの第一
    のクロック周期の第一の部分の間の前記論理演算の結果
    を示すALU出力信号を供給するため、第一の入力信号
    と、第二のクロック周期の第一の部分で開始しまた続い
    て供給される第二の入力信号とに選択された機械サイク
    ルの間に応答する算術論理演算装置(ALU)と、 前記ALU出力信号を記憶及び供給するため、選択され
    た機械サイクルの第一のクロック周期の第一の部分の間
    に前記ALU出力信号に応答するアキュムレータと、 選択された記憶レジスタのなかに前記ALU出力信号及
    び前記オペランド信号を記憶するため、選択された機械
    サイクルの第一のクロック周期の第一の部分の間に前記
    ALU出力信号に応答し、もしくは選択された機械サイ
    クルの第一のクロック周期の第一の部分の間にデータバ
    スからの到来オペランド信号に応答し、また宛先入力信
    号を供給するためまた記憶レジスタを選択するため第一
    のクロック周期の第二の部分の間に記憶レジスタを選択
    するため、また源入力信号を供給するため第一のクロッ
    ク周期の第二の部分の間に記憶レジスタを選択するため
    、前記制御手段からの前記制御信号の一つ又はそれ以上
    に応答する、複数個の記憶レジスタを有するレジスタフ
    ァイルと、 選択された記憶レジスタのなかに信号情報を記憶するた
    め、また前記ALUにより演算されるべき宛先出力信号
    としてもしくはデータバス上の出力オペランド信号とし
    て使用するため第二のクロック周期の第一の部分で開始
    する宛先出力信号として前記記憶された情報を供給する
    ため、前記宛先入力信号に応答する宛先レジスタと、 選択された記憶レジスタのなかに信号情報を記憶するた
    め、またいずれも第二のクロック周期の第一の部分で開
    始して供給される、前記ALUにより演算されるべき源
    出力信号もしくはオペランドアドレスバス上の出力オペ
    ランドアドレス信号として前記の記憶された源信号を供
    給するため、前記源入力信号に応答する源レジスタと、 第一の選択信号に応答して、第二のクロック周期の第一
    の部分の間に始動する前記ALUに前記第一の入力信号
    として前記源出力信号もしくは前記命令信号を供給する
    ため、選択された機械サイクルの間に、前記源レジスタ
    により供給される前記源出力信号と先の機械サイクルの
    間に記憶された前記命令信号とに応答する第一のマルチ
    プレクサ手段と、 第二の選択信号に応答して、第二のクロック周期の第一
    の部分の間に始動する前記ALUに前記第二の入力信号
    として前記アキュムレータからの前記ALU出力信号、
    前記宛先出力信号もしくは前記命令アドレス信号を供給
    するため、選択された機械サイクルの間に、前記アキュ
    ムレータからの前記ALU出力信号と前記宛先により供
    給される宛先出力信号と前記命令カウンタのなかに記憶
    された前記命令アドレス信号とに応答する第二のマルチ
    プレクサ手段と を含んでいることを特徴とする信号プロセッサ。
  6. (6)縮小命令集合マイクロプロセッサに於いて、外部
    命令バスから命令信号を受信するための命令バス入力ポ
    ートと、 データ信号をそれぞれ外部データバスから受信し且つそ
    れへ供給するためのデータポートと、データ信号をそれ
    ぞれデータポートから探索し且つそれへ供給するため前
    記命令信号に応答する中央プロセッサユニットと を含んでいることを特徴とするマイクロプロセッサ。
JP62317311A 1986-12-15 1987-12-15 信号処理方法、信号プロセッサ、その設計方法及びマイクロプロセッサ Pending JPS63192135A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US94145086A 1986-12-15 1986-12-15
US941,450 1986-12-15

Publications (1)

Publication Number Publication Date
JPS63192135A true JPS63192135A (ja) 1988-08-09

Family

ID=25476480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62317311A Pending JPS63192135A (ja) 1986-12-15 1987-12-15 信号処理方法、信号プロセッサ、その設計方法及びマイクロプロセッサ

Country Status (5)

Country Link
EP (1) EP0272198A3 (ja)
JP (1) JPS63192135A (ja)
KR (1) KR880008148A (ja)
CA (1) CA1278382C (ja)
IL (1) IL84821A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954847B2 (en) 1992-03-31 2005-10-11 Transmeta Corporation System and method for translating non-native instructions to native instructions for processing on a host processor
US7555631B2 (en) 1991-07-08 2009-06-30 Sanjiv Garg RISC microprocessor architecture implementing multiple typed register sets

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02190930A (ja) * 1988-12-29 1990-07-26 Internatl Business Mach Corp <Ibm> ソフトウエア命令実行装置
US5430862A (en) * 1990-06-29 1995-07-04 Bull Hn Information Systems Inc. Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
DE69329778T2 (de) * 1992-09-29 2001-04-26 Seiko Epson Corp., Tokio/Tokyo System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor
US5392408A (en) * 1993-09-20 1995-02-21 Apple Computer, Inc. Address selective emulation routine pointer address mapping system
US5574887A (en) * 1993-09-20 1996-11-12 Apple Computer, Inc. Apparatus and method for emulation routine pointer prefetch
US5630082A (en) * 1993-10-29 1997-05-13 Advanced Micro Devices, Inc. Apparatus and method for instruction queue scanning
GB9419246D0 (en) * 1994-09-23 1994-11-09 Cambridge Consultants Data processing circuits and interfaces
JP3451595B2 (ja) * 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US7149878B1 (en) 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7107439B2 (en) 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
CN100555225C (zh) * 2008-03-17 2009-10-28 中国科学院计算技术研究所 一种支持x86虚拟机的risc处理器装置及方法
GB2589334B (en) * 2019-11-26 2022-01-05 Advanced Risc Mach Ltd Register-provided-opcode instruction

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6133546A (ja) * 1984-07-25 1986-02-17 Nec Corp 情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555631B2 (en) 1991-07-08 2009-06-30 Sanjiv Garg RISC microprocessor architecture implementing multiple typed register sets
US6954847B2 (en) 1992-03-31 2005-10-11 Transmeta Corporation System and method for translating non-native instructions to native instructions for processing on a host processor
US7343473B2 (en) 1992-03-31 2008-03-11 Transmeta Corporation System and method for translating non-native instructions to native instructions for processing on a host processor

Also Published As

Publication number Publication date
IL84821A0 (en) 1988-06-30
KR880008148A (ko) 1988-08-30
EP0272198A2 (en) 1988-06-22
CA1278382C (en) 1990-12-27
IL84821A (en) 1992-07-15
EP0272198A3 (en) 1991-10-16

Similar Documents

Publication Publication Date Title
US4992934A (en) Reduced instruction set computing apparatus and methods
JP3983857B2 (ja) ベクトルレジスタの複数バンクを用いた単一命令複数データ処理
US5430862A (en) Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution
EP0476722B1 (en) Data processing system
JPS63192135A (ja) 信号処理方法、信号プロセッサ、その設計方法及びマイクロプロセッサ
US4558411A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
US11307855B2 (en) Register-provided-opcode instruction
US20100011191A1 (en) Data processing device with instruction translator and memory interface device to translate non-native instructions into native instructions for processor
WO2010004245A1 (en) Processor with push instruction
US4562538A (en) Microprocessor having decision pointer to process restore position
KR20050010800A (ko) 확장가능한 프로세서 아키텍처에 진보된 명령어들을부가하는 방법 및 장치
EP0954791B1 (en) Eight-bit microcontroller having a risc architecture
KR20010007031A (ko) 데이터 처리장치
JP4073721B2 (ja) データ処理装置
EP0447101B1 (en) Processor with data format-independent instructions
EP1194835A2 (en) Method and apparatus for loose register encoding within a pipelined processor
JP2006313561A (ja) データ処理装置
AU626263B2 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
KR19980018071A (ko) 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리
JP3164915B2 (ja) データ処理装置及びそのデータ処理方法
US6128725A (en) Microprocessor with an instruction for setting or clearing a bit field
EP0134386A2 (en) Method and apparatus for executing object code instructions compiled from a high-level language source
JPH03271829A (ja) 情報処理装置
Fuller PDP-11 40E microprogramming reference manual
Smith Multiplication, Division, and Floating Point