JP2690406B2 - プロセッサおよびデータ処理システム - Google Patents
プロセッサおよびデータ処理システムInfo
- Publication number
- JP2690406B2 JP2690406B2 JP3070394A JP7039491A JP2690406B2 JP 2690406 B2 JP2690406 B2 JP 2690406B2 JP 3070394 A JP3070394 A JP 3070394A JP 7039491 A JP7039491 A JP 7039491A JP 2690406 B2 JP2690406 B2 JP 2690406B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- instruction
- memory
- bytes
- 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.)
- Expired - Lifetime
Links
- 238000012545 processing Methods 0.000 title claims description 10
- 230000015654 memory Effects 0.000 claims description 98
- 230000004044 response Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 10
- 240000007320 Pinus strobus Species 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000007667 floating Methods 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- QTJOQLPKDFJJFZ-UHFFFAOYSA-N 6-(4-methoxyphenyl)-1,2,3,5,6,10b-hexahydropyrrolo[2,1-a]isoquinoline Chemical compound C1=CC(OC)=CC=C1C1C2=CC=CC=C2C2CCCN2C1 QTJOQLPKDFJJFZ-UHFFFAOYSA-N 0.000 description 2
- 101100233223 Arabidopsis thaliana IOS1 gene Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 101000821930 Homo sapiens Solute carrier family 22 member 13 Proteins 0.000 description 1
- 102100026827 Protein associated with UVRAG as autophagy enhancer Human genes 0.000 description 1
- 101710102978 Protein associated with UVRAG as autophagy enhancer Proteins 0.000 description 1
- 102100021478 Solute carrier family 22 member 13 Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Description
データプロセッサに関し、特に共働プロセッサとして使
用されるプロセッサに関する。
より多くのデジタルデータ処理システムが現れ、そのい
くつかは共働プロセッサとして動作している。この共働
プロセッサとは、データ処理のために他のプロセッサと
共働するプロセッサである。従来例の共働プロセッサ
は、浮動点演算を行う浮動点ユニットと、端末のような
周辺装置とシステムメモリとの間でのデータの流れを取
り扱うI/Oプロセッサである。
「固く結合される」及び「緩く結合される」により記載
された端部を有する連続体に沿って存在する。1つの共
働プロセッサは、共働プロセッサどうしの間における直
接的な作用の度合いが高い場合には、他方の共働プロセ
ッサに固く結合されている。例えば、浮動点ユニットど
うしは、一般的には固く結合されている。
ロセッサは、この浮動点ユニットに対してオペランドを
提供し、行われる動作を表示し、そして、浮動点ユニッ
トから直接的に結果を受信する。この結果は、一般的に
は、結果値を含むのみでなく、浮動点動作の状態を示す
信号をも有する。一方、I/Oプロセッサは、一般的に
は緩く結合されている。
供するプロセッサとの通信は、一般的にはシステムメモ
リによっている。プロセッサが、データ出力のためにI
/Oプロセッサの援助を必要とするとき、このプロセッ
サは、出力データと、I/Oプロセッサが自分で行うこ
との説明を、I/Oプロセッサに知られたメモリ内の場
所に配置し、そして、データがメモリ内にあるというこ
とをI/Oプロセッサに表示する。
示に応答してメモリからデータを検索し、その検索デー
タを所望の周辺装置に出力する。これがすむと、I/O
プロセッサはこのプロセッサに知られたメモリ内の場所
に動作状態の記録を記憶し、そして、このプロセッサが
メモリ動作を終了したということをプロセッサに表示す
る。このプロセッサは、次に、表示に応答して、出力動
作の状態を決定するためにその場所のデータを読みと
る。
共有するプロセッサどうしが共働して処理するデータの
フォーマットが一致しなければならないということであ
る。例えば、ホストプロセッサ用の民間に普及している
2つのアーキテクチャは、モトローラ680×0のアー
キテクチャとインテル80×86のアーキテクチャであ
る。これら2つのアーキテクチャは、連続的に書き込ま
れるバイトをメモリに記憶する順序とポインタ用の互い
に異なるフォーマットを有している。
共働プロセッサは、なんとかしてこれらの相違点を扱わ
なければならない。従来技術においてこれらの相違点を
扱う1つの方法は、ホストが、680×0マシンである
か叉はインテル80×86マシンのいずれであるかを示
す入力を持つ共働プロセッサのピンであった。この解決
方法は、ホストプロセッサがデータを書き込んだのとま
ったく同じ方法で共働プロセッサがデータを読む限り、
十分に役立つ。また、この逆も同様である。このような
解決方法の問題は、この共働プロセッサの速度を低下す
るか、叉は、異なった種類のホストプロセッサの場合に
異なる共働プロセッサ用のコードを書き込むかの選択を
システム設計者に与えるということである。
み取り、そして、ホストプロセッサが一連のバイトをメ
モリに書き込む場合、共働プロセッサがバイトを読む最
高速の方法は、例えば、ワードの通り行なうことであ
る。しかし、もしもそのようにされるならば、共働プロ
セッサは、ホストプロセッサに依存して別々にワードを
処理しなければならない。従って、異なるコードが異な
るホストマシンに必要となる。コードを書き込む速度及
び費用は、両方ともシステム設計者にとって重要な考慮
事項である。従って、その両方の代替事項は関心を起こ
させるものではない。
する課題は、一連のバイトをワードとして読むと共に、
両方のホストプロセッサに同一コードを使用することが
できるプロセッサを提供することである。
メモリ内に記憶されたデータ用の互いに異なるフォーマ
ットを使用する他の複数のプロセッサとメモリを共有す
ることができるプロセッサである。このプロセッサは、
データフォーマット依存表示手段を有する少なくとも1
つの命令を備えた命令を実行する。このデータフォーマ
ット依存表示手段は、本発明のプロセッサがメモリを共
有する他のプロセッサにより使用されるデータフォーマ
ットにその動作が依存するということを示す。
トを表示するデータフォーマット信号を受信するデータ
フォーマット信号受信手段と、データフォーマット信号
と、データフォーマット依存表示手段に応答してデータ
フォーマットにより必要とされる命令により特定される
動作を行う動作手段とを有することを特徴とする。
の以下の詳細な説明は、まず、マイクロプロセッサが如
何にしてデジタルデータ処理システム内における共働プ
ロセッサとして使用できるかを示し、次に、このマイク
ロプロセッサとこのようなシステムとの間のインタフェ
ースを開示し、そして、説明を続けることである。
ムワード書き込み動作の共働プロセッサに依存する実
行。共働プロセッサとしてのマイクロプロセッサを使用
するシステム:図1は、本発明のマイクロプロセッサが
共働プロセッサとして使用されるシステム101を示
す。このシステム101の構成要素は、メモリ102、
システムバス103、ホストプロセッサ105、専用メ
モリ(PMEM)108を有する本発明のマイクロプロ
セッサ107、及びシリアルコントローラ(SCTL)
109を有する。
ス103により接続され、そして、ホストプロセッサ1
05、マイクロプロセッサ107及びシリアルコントロ
ーラ109は、すべてシステムバス103を介してメモ
リ102にアクセスする。専用メモリ108は、専用バ
ス(PB)110によりマイクロプロセッサ107に接
続されている。専用メモリ108は、マイクロプロセッ
サ107のみが利用可能である。
セッサ107により実行されるプログラムであり、そし
て、これらのプログラムの実行に使用されるデータを含
むものであっても良い。好適な実施例では、専用メモリ
108は、読み取り書き込みメモリであり、マイクロプ
ロセッサ107により実行されるプログラムは、メモリ
102から専用メモリ108内へマイクロプロセッサ1
07によってダウンロードされる。
107は、連続通信プロトコルにより送信叉は受信され
るデータを取り扱う共働プロセッサとして動作する。そ
れなりに、マイクロプロセッサ107は、連続通信プロ
トコルを介して送信叉は受信されるデータの源(ソー
ス)叉はデータの行く先となるホストプロセッサ105
と、シリアルリンク(SL)111に接続されて、この
シリアルリンク111を介してシリアルプロトコルを送
信及び受信するシリアルコントローラ109との間で調
停を行う。
る。ホストプロセッサ105は、SL111を介してデ
ータを送信するために使用するメモリ102内の領域S
DATA115と、SL111を介して受信されるデー
タ用のRDATA117を維持している。ホストプロセ
ッサ105は、データを送信したいとき、ホスト命令行
列(HCQ)119内にその趣旨の命令を置く。この命
令は、データ用の宛て先とSDATA115内のデータ
の場所を少なくとも有している。
ッサ107に知られたメモリ102内の場所にあり、マ
イクロプロセッサ107は、新しい命令が到着したか否
かを判別するためにホスト命令行列119を周期的に調
査する。1つの命令が到着すると、マイクロプロセッサ
107は、SDATA115内において送られるべきデ
ータを探し、それをシリアルコントローラ109用の適
当な形に変え、ポインタをデータに付け、そして、命令
をマイクロプロセッサの命令行列(MPCQ)123内
に置く。
に知られたメモリ内の場所にあり、シリアルコントロー
ラ109は、マイクロプロセッサ命令行列123を周期
的に調査する。シリアルコントローラ109が、マイク
ロプロセッサ命令行列123の中に命令とポインタを発
見すると、シリアルコントローラ109は、このポイン
タにより明示された場所にあるデータを、その命令によ
り明示された方法でシリアルリンク111に出力する。
リンク111でデータを受信すると、上記の事と逆の事
が起こる。シリアルコントローラ109は、受信したデ
ータをRDATA117に置き、そして、ポインタをマ
イクロプロセッサ割り込み行列(MPIQ)125のデ
ータに付す。マイクロプロセッサ107は、周期的にM
PIQ125を調査し、そして、このMPIQ125に
ポインタが存在するときに、このポインタにより示され
たデータをホストプロセッサ105用の適当なフォーマ
ットに変える。
は、ホスト割り込み行列(HIQ)121内におけるデ
ータにポインタを有する割り込みメッセージを付し、割
り込み線113を介してホストプロセッサ105に割り
込みをかける。ホストプロセッサ105は、この割り込
みに応答してホスト割り込み行列121を調べ、そし
て、入力データがRDATA117に置かれたというこ
とを割り込みメッセージから判別する。
7との間のインタフェース:図2図2は132ピンパッ
ケージ内に置ける単一の集積回路として実施されたマイ
クロプロセッサ107の好適な実施例201のピンを示
す図である。他の実施例は数個のピンを多重化するもの
であってもよく、また他の実施例では、マイクロプロセ
ッサ107は、より大きな集積回路の構成要素であって
もよい。
アルコントローラ109は、連続プロトコルの取扱い用
の単一集積回路を形成するように組み合わせても良い。
マイクロプロセッサ107は、このような実施例ではそ
れ自身のピンは有しないが、依然として、好適な実施例
201のピンを介して送受信された信号にほぼ等価な信
号を送受信する。
は、以下の説明においては特に重要である。それらは、
MASTER/ 《SLAVE》ピン207、《BUS
ACK》ピン203、《BUSREQ》ピン205、I
/《M》ピン209、《DTACK》ピン211及びC
LOCKピン213である。これらのピン及びその他の
ピンのすべての機能は次の表に要約してある。(本明細
書では、かっこ《》は否定を示す。すなわち、上付きの
バーを表す。これは、図面の表示と異なるが、意味する
ところは同一と理解されたい。) 表 132ピンパッケージのピンの説明(完全非多重インタフェース) 記号 形式 名称/説明 A23〜A1 O* メモリ102をアドレスするために使用され る24ビットアドレスバス。アドレス線A0 は、16ビットメモリでは必要とされないの で明示していない。このアドレス線は、16 ビットワードのどのバイトがアクセスされる べきであったかを選択するだけである。この 情報は、メモリアクセス時に2つの読み取り エネーブルストローブと2つの書き込みエネ ーブルストローブにより与えられる。 D15〜D0 I/O* メモリ102の読み取り及び書き込みに使用 される16ビットデータバス。 PA15〜PA0 O 専用メモリ108をアドレスにするため使用 される16ビット専用アドレスバス。 PD23〜PD0 I/O 通常は命令を保持するが、専用メモリ108 がRAMの場合にデータの記憶に使用しても よい専用メモリ108の読み取り及び書き込 みに使用される24ビット専用データバス。 《AS》 O* アドレスストローブ。マイクロプロセッサ1 07が、有効なアドレスをシステムバス10 3に置いたときに活性化する。 R/《W》 O* 読み取り叉は書き込みのデータバス方向表示 子。 《ERE》 O* 偶数読み取りエネーブルデータストローブ。 《ORE》 O* 奇数読み取りエネーブルデータストローブ。 《EWE》 O* 偶数書き込みエネーブルデータストローブ。 《OWE》 O* 奇数書き込みエネーブルデータストローブ。 《DTACK》 I データ転送(読み取り/書き込み)応答信号 。 《BUSERR》 I システムバスエラー入力信号。 《INTIN》 I マイクロプロセッサ107への割り込み入力 。 《INTOUT》 O 他のプロセッサへの割り込み出力。 《PWR》 O 専用メモリ108への書き込み時に活性化す る専用バス書き込みストローブ。 《RESET》 I マスタリセット、活性時にすべての3状態ピ ン。 《TEST》 I 低駆動時に3状態すべてのピン。 CLOCK I マスタクロック入力。 MASTER I マイクロプロセッサ108が、バスマスタか /《SLAVE》 叉はバススレーブ(リクエスタ)であるかを 選択する。マイクロプロセッサ108は、こ のピンがVDDに結合されている場合にはバ スマスタであり、ピンが接地されているとき はバススレーブである。 I/《M》 I システムメモリフォーマットセレクタ。この ピンは「モトローラ」メモリフォーマットを 選択するように接地され、叉は、「インテル 」メモリフォーマットを選択するようにVD Dに結合されるものとする。 《BUSREQ》 I:O バスリクエスト。マイクロプロセッサ107 がバスマスタの場合に、それは、システムバ スの使用を要求する他の装置からの入力であ る。マイクロプロセッサ107がバススレー ブの場合に、それは、システムバスの使用を 要求する出力として使用される。 《BUSACK》 O:I バス肯定応答。マイクロプロセッサ107が バスマスタの場合、それは、マイクロプロセ ッサ107がシステムバスの使用を止めたと きに活性化する出力である。PACERがバ ススレーブの場合、それは、システムバスの 使用が認められたときに活性化する入力であ る。 VDD 電力 +5ボルトの電源接続。 GND 電力 接地(電源復帰)接続。
例は、システム101で使用されるように意図されてい
る。ここでメモリ102は、16ビットワ−ドを有し、
そして、バイトのアドレスが可能である。システムバス
103は、従って、23本のアドレス線、16本のデー
タ線、及び制御線を有している。
K》、《BUSREQ》、《BUSERR》、CLOC
K、《DTACK》、《RESET》、《INTI
N》、《INTOUT》、《EWE》、《OWE》、
《ERE》、《ORE》、《AS》は、システムバス1
03の一部であってもよい。他の実施例では、それらは
システム101とマイクロプロセッサ107との間を調
停するマイクロプロセッサ107の外部の他の論理回路
に設けるか、叉は、この論理回路から受信されるもので
あってもよい。
集積回路は、CMOS標準セル技術を用いて構成され
た。マイクロプロセッサ107用の制御論理回路の多く
は、次のごとく明示された。まず、状態機械が、制御論
理回路の一定の部分について定義された。
分により制御されるシステムの部分の状態と、これら状
態間の移行とにより成るものであった。次に、この状態
機械用のエミュレータは、「C」言語で記載された。こ
のエミュレータは、状態機械の正しさを確認するために
試験された。そこですぐ、エミュレータ符号が、いわゆ
る「シリコンコンパイラ」への入力として使用された。
レータ符号により記載された状態機械を構成した好適な
実施例の集積回路の回路の仕様であった。
に使用されたツールは、十分に現状技術内に入るもので
あった。この事実、及び、マイクロプロセッサ107の
論理回路が構成される方法の上記の開示から分かるよう
に、状態機械の説明は、この状態機械を構成する回路を
作り、かつ、使用する当業者により要求されるものだけ
であった。
クチャ:図11今まで記載したマイクロプロセッサ10
7の革新的な点は、マイクロプロセッサ107と、この
マイクロプロセッサ107を使用するシステム101と
の間のインタフェースに関するものであった。他の革新
的な点は、マイクロプロセッサ107により実行される
特定の命令に関するものである。つぎの説明は、まず、
マイクロプロセッサ107の命令アーキテクチャの概要
を提供し、次に、特に重要な命令を詳細に述べる。
令アーキテクチャ1101を示し、すなわち、この図
は、マイクロプロセッサ107の命令の組の一部の命令
よりなる符号を書くプログラマに見えるままのマイクロ
プロセッサ107を示す。レジスタ及び命令アーキテク
チャ1101の他の構成要素の各々は、論理装置を表
し、この論理装置の動作は、その命令の組の命令に明示
されよう。その説明は、以下のレジスタで始める。
タ1103(0〜255)と14個の専用レジスタが存
在する。汎用レジスタ1103256個の汎用レジスタ
1103は、汎用レジスタファイル1104を構成す
る。汎用レジスタ1103は、マイクロプロセッサ10
7内で処理されるデータを記憶するために一般的に使用
される。
あるが、これらの汎用レジスタは、アドレッシングのた
めに小さく分けてもよい。汎用レジスタ1103のアド
レッシングは、図12に示してある。各汎用レジスタ
は、0と255との間におけるアドレスによって直接明
示してもよく、叉は、フレームポインタ(FRMPT
R)レジスタ1117に含まれる値からのオフセットに
よって明示してもよい。このアドレスされたレジスタ内
には、次の部分を明示してもよい:
0〜7: ・中間バイト1159:アドレスされたレジスタのビッ
ト8〜15: ・高バイト1161:アドレスされたレジスタのビット
16〜23; ・低ワード1163:アドレスされたレジスタのビット
0〜15; ・高ワード1165:アドレスされたレジスタのビット
08〜23;及び、 ・全レジスタ1167:アドレスされたレジスタのビッ
ト0〜23。
ては、汎用レジスタは、ソースレジスタ(読取り動作)
か叉は行き先レジスタ(書き込み動作)のいずれかとな
り得る。汎用レジスタ1103がソースの場合、この汎
用レジスタの特定部分は、内部データバス1115の下
位のビットに出力される。内部データバス1115の残
りのビットは、0にセットされる。汎用レジスタ110
3が行き先レジスタの場合、その部分に要求される内部
データバス1115のビット数は、内部データバス11
15の下位ビットで始まる部分に書き込まれる。
の汎用レジスタ1103からのバイト叉はワードを他の
汎用レジスタ1103のバイト叉はワードに書き込むこ
とがソース汎用レジスタまたは行き先汎用レジスタ11
03のいずれかの残りの部分を乱さずに可能である。
専用レジスタの大部分は、24ビット幅のものである。
一般的に、専用レジスタのすべては、大部分の命令につ
いてソース叉は行き先のいずれかにもなり得る。1つの
例外は、アキュムレータ(ACC)1109である。こ
れは、多くのレジスタの移動の直接的な行き先にはなり
得ない。
る。PSW1119のフォーマットは次の通りである: ビット# 11 10 9 8 7 6 5 4 3 2 1 0 SWB T I X A B F L ET EX Z C ビットの意味は、次の表に与えてある。 簡略記号 完全名称 説明 C 桁上げ ALO演算からの桁上げフラグ Z ゼロ ALU演算からのゼロフラグ EX 外部エネーブル 外部割り込みをエネーブルする ET タイマエネーブル 内部タイマ割り込みをエネーブルする L LIFO割り込み 内部LIFOがオーバーフロー/アンダー フローするときにセットする F FRMPTR割り込 FRMPTRの加算/減算がオーバーフロ み ー/アンダーフローするときにセットする B バス誤り例外 《BUSERR》ピンが表明されるときに セットする A アドレス誤り例外 奇数のアドレスが、ワード叉は長I/O用 に使用されるときにセットする X 外部割り込み 外部割り込みが認識されたときにセットす る I 不正命令 不正命令が復号されたときにセットする T タイマ割り込み 内部タイマが割り込むときにセットする SWB バイト交換ビット I/Nの影響を逆にするためにセットする
すべてのビットが0にクリアされる。かくして、桁上げ
及びゼロフラグはクリアされ、外部割り込み及びタイマ
割り込みはエネーブルされない。
タのように読取り叉は書き込みされてもよい。この場
合、書き込みは、しばしば、割り込みエネーブルフラグ
の1つ叉はSWBビットを変更するためにしばしば使用
される。しかし、ビット4〜10、すなわち、割り込み
状態フラグビットの場合、移動命令はこれらのビットを
クリアすることができるだけであり、これらのビット
は、移動命令によりセットすることはできない。換言す
れば、0を書き込むと、割り込み状態ビットがクリアさ
れ、1を書き込むと、割り込み状態ビットは変化されず
に残る。
ためには、クリアしないことを望まれる割り込み状態ビ
ットは、このPSW1119に書き込まれるワード内で
1にセットされてそれを変更すべきである。クリアする
ことが望まれる割り込み状態ビットは、PSW1119
に書き込まれるワードの対応ビット位置において0を有
するべきである。
ある。これは、ALU1107による演算の結果を記憶
する。8ビット叉は16ビットのALU演算の場合、A
CC1109の24ビットすべては、影響を受けるが、
その8個叉は16個の下位ビットだけが有効な情報を有
する。
C1109は、ソースのみとなるが、ALU1107に
その内部データに対し如何なる演算もさせないことによ
り、汎用レジスタ1103からACC1109にローデ
ィングを可能にする命令が存在する。ACC1109
も、また、ALU1107にその入力値に対し如何なる
演算もさせないことによってBレジスタ1105から格
納してもよい。
は、24ビットレジスタである。これは、ALU演算命
令についてALU1107にオペランドの一つを提供す
る。ALR1145ALR1145は、24ビットのア
ドレスラッチである。これは、システムメモリ102の
読取り動作用の有効なアドレスを保持するために使用さ
れる。
る。これは、システムメモリ102に対する書き込み動
作用の有効なアドレスを保持するために使用される。
の入力データを保持するために使用される24ビットレ
ジスタである。その命令の組は、8ビットの読取り、1
6ビットの読み取り、及び、24ビットの読取りを定義
する。この24ビットの読取りは、実際には、システム
メモリ102内の連続的なアドレスの場所に対し2シス
テム読取りを行う。
出力データを保持するために使用される24ビットレジ
スタである。その命令の組は、8ビットの書き込み、1
6ビツトの書き込み及び24ビットの書き込み命令を定
義する。この24ビットの書き込み命令は、実際には、
連続するアドレスの場所に2システム書き込みを行う。
用レジスタ1103は、FRMPTR1117に記憶さ
れた値から+127〜−127にわたるオフセットによ
ってアドレスされてもよい。FRMPTR1117は、
内部データバス1115から読み取られ及びこれに書き
込まれても良く、従って、サブルーチンが開始されると
き待避され、且つ、新しい値にセットされ、そして、こ
のサブルーチンからの復帰時にその古い値に復旧されて
もよい。これにより、サブルーチンにより使用される局
部変数のスタックとして汎用レジスタ1103を使用す
ることが可能となる。
る。これは、内部ROM及び(叉は)専用メモリ108
の両方に記憶された命令へのアクセスによってプログラ
ムの流れを制御するために使用される。各クロックサイ
クル時に、PCの出力は一時的に16ビットラッチに記
憶される。このラッチから、そのデータは、後入れ先出
し(LIFO)スタック1125に記憶することができ
る。
り込みの復帰を実施するために使用される。PC112
7への入力は、LIFO1125と内部データバス(I
DB)1115からのものである。その出力はLIFO
1125,IDB1115及び専用データバス108に
与えられる。
合、このPCは、16ビット幅のみのものであるので、
PCビットの上の6ビット(21〜16)は、内部スタ
ックポインタの現在の値を含んでいる。この値は、実際
には、内部スタックに関するアドレスの数の合計であ
る。これらのビットは、致命的な誤りを持つプログラム
の事後分析中、調査のためLIFO1125のポップオ
フに対して、多くのアドレスを知らせ得るように設けら
れている。PCへの移動は、このPCの16ビットに影
響するだけである。
る。これは、この内部タイマレジスタが0になって、お
そらく、割り込みを発生したときにダウンカウンタを初
期化し、かつ、再びこのダウンカウンタにローディング
をするために使用される値を含んでいる。
が実行されるときにLIFO1125からの出力を記憶
するために使用される16ビットのレジスタである。こ
のポップスタック命令とSTACKREG1113は、
破局的な例外に関する割り込み処理ルーチンにのみ使用
されるように、すなわち、FRMPTR叉はLIFOオ
ーバーフロー/アンダーフローの例外、叉は、バスエラ
ー叉はアドレスエラーの例外を取り扱うように意図され
ている。STACKREG1133により、LIFO1
125の内容は、なぜ破滅的な故障が生じたかを判別す
るための事後解析中に検査することが可能となる。
の態様は、特に重要である。これらの態様の説明は、一
般的にマイクロプロセッサ107での命令の実行の説明
で始まるが、これらの態様が、この命令の幾つかに現れ
る場合の態様を取り扱う。
実行:図21 プロセッサにおける命令の実行を加速するために広く使
用されている1つの技術は、パイプライニング方式であ
る。どんな命令の実行も、幾つかの段階を有している。
例えば、1つのレジスタから他のレジスタへデータを移
動するMOVE命令の場合、MOVE命令を取り出し、
これを復号化してこれがMOVE命令であるということ
を決定し、かつ、どのレジスタが移動されるデータのソ
ースとなるか、及び行き先となるかを決定し、かつ、ソ
ースレジスタから行き先レジスタへデータを移動するこ
とにより命令を実際に実行することが一般的に必要とな
る。
行段階が、互いに異なる命令で並列に行われる。例え
ば、もしも、パイプライン方式のプロセッサが、順序n
1、n2及びn3で3つの命令を実行する場合、このプ
ロセッサは、n1での実行段階、n2での復号段階及び
n3での取り出し段階を同時に実行してもよい。
プラインを有している。その最初のパイプラインは、命
令パイプラインである。どの命令の実行も、3つの段
階、すなわち、取り出し、復号化及び実行に分割され、
これらの段階は平行して行われる。従って、マイクロプ
ロセッサ107は、CLOCK信号501のサイクル当
たり1つの命令を実行することが一般的に可能である。
第2のパイプラインはI/O命令パイプラインである。
これは、命令パイプラインとは独立にI/O命令の実行
のより後の段階を取り扱う。
作を示す。各パイプラインの動作は、表の形で示してあ
り、その行は、命令実行段階に対応し、列は、CLOC
K501のサイクルに対応する。表1901は、命令パ
イプラインを表わし、表1909は、I/Oパイプライ
ンを表わす。すでに述べたように、命令パイプライン1
901には3つの実行段階がある。すなわち、取り出し
(F)段階1903、復号化(De)段階1905及び
実行(E)段階1907である。
階がある。すなわち、ボックス1135により図11に
示したマイクロプロセッサ107のI/Oサブシステム
のレジスタに、演算に要するアドレスをローディングす
るローディング段階(L)1911と、アドレスとデー
タをバス103を介して転送する実行I/O段階(EI
O)1913である。EIO段階1913は、データの
転送が完了するまで、すなわち、《DTACK》信号が
メモリ102から受信されるまで続く。
ワードの読み取り及び書き込みの場合には、2クロック
サイクル続き、そして、バイトとワードの読み取り−変
更−書き込み及びポインタの読み取り及び書き込みの場
合には4クロックサイクル続く。もしも、マイクロプロ
セッサ107が、バスへのアクセスを待たなければなら
ない場合、叉は、メモリ102が直ちに応答できない場
合は、さらに別のサイクルが要求される。
ッチ1149からメモリ102に対しデータを書き込む
システム書き込み命令SysW1、出力ラッチ1151
からデータを書き込む第2のシステム書き込み命令Sy
sW2、I/O命令を除くどんな命令にもなり得るNI
O1、及び、他のこのような命令NIO2のシーケンス
の実行を示す。
1は、SysW1のF段階1903を実行し、サイクル
n+1では、SysW2のF段階1903と、SysW
1のDe段階1905を実行し、サイクルn+2では、
NIO1のF段階1903、SysW2のDe段階19
05、及びNIO1のE段階1907を実行する。以下
同様である。
n+2でSysW1を受け、そして、同一サイクル内で
それに対してローディング段階L1911を行う。サイ
クルn+3では、I/Oパイプライン1909は、Sy
sW2に対し段階Lと、SysW1に対しEIO段階1
913を行う。この段階は、SysW1については2サ
イクル、すなわち、サイクルn+4まで続く。従って、
SysW2は、サイクルn+5までEIO段階1913
を開始することができない。EIO段階1913は、S
ysW2については3サイクル以上続き、そして、Sy
sW2は、図21に示した最後のサイクルn+7におけ
るその段階に依然としてある。
プライン1901とは独立に動作するので、命令パイプ
ライン1901の命令の実行は、EIO段階1913が
SysW1叉はSysW2について完了するまで待つ必
要はない。I/Oが続行している間、命令パイプライン
1901は、NIO1とNIO2を実行する。もちろ
ん、I/Oパイプライン1909を待つために命令パイ
プライン1901を停止することは時々必要となるかも
しれない。
E段階1907を開始したときにすでにL段階1911
にI/O命令が存在していた場合である。他のこのよう
な状態は、I/Oパイプ1909により依然として実行
されていたI/O命令により提供されつつあったNIO
命令のE段階1907におけるデータを、このNIO命
令が必要とした場合に起こる。
「MOVE(移動)」命令を示す。この図から分かるよ
うに、マイクロプロセッサ107の命令は、24ビット
の命令ワード1201からなっている。この命令の大部
分は、単一命令ワード1201からなる。しかし、24
ビットの文字通りの定数に関する幾つかの「MOVE」
命令及び「LOAD」命令は、2ワードを必要とする。
命令パイプライン1901が停止される時を除き、マイ
クロプロセッサ107は、クロックサイクル当たり1命
令ワード1201を取り出す。
スタどうしの間でデータを移動させる。データを移動す
る元の(ソース)レジスタはソースレジスタであり、デ
ータを受けるレジスタは行き先レジスタである。移動命
令には4つの種類がある。すなわち、
が汎用レジスタ1103である種類0、・汎用レジスタ
1103がソースレジスタであり、そして、特別レジス
タの1つが行き先レジスタである種類1、・特別レジス
タの1つが、ソースレジスタであり、汎用レジスタ11
03の1つが行き先レジスタである種類2、及び、・特
別レジスタがソースレジスタであり、もう1つの特別レ
ジスタが行き先レジスタである種類3。
示した部分に示してある。これらの命令は、2つのワー
ド、すなわち、命令ワード1(IW1)1215と命令
ワード2(IW2)1217を有する。IW1 121
5で始まり、上位の桁4ビットは、演算符号(OPCO
DE)1203を有し、次の4ビットは、ドントケアフ
ィールド1205であり、続く4ビットのTYPE12
07は、移動命令の種類を特定する。
0を有し、SIZEフィールド1209は、ソースの汎
用レジスタ1103の内容のどんな部分が行き先汎用レ
ジスタ1103へ移動されるべきかを示す。この符号及
びこの符号が特定する汎用レジスタ1103の部分は次
の通りである:
汎用レジスタ1103を特定する。Fビット1211
は、汎用レジスタ1103がフレームポインタ1117
からのオフセットによって特定されるか否かを示す。も
し特定されるならば、汎用レジスタのソースフィールド
1213は、オフセットを含む。もしも特定されないな
らば、汎用レジスタのソースフィールド1213は、汎
用レジスタ1103の番号を含む。
ットは、ドントケアビット1219である。そのビット
9〜11は、SIZEフィールド1209であり、命令
ワード21217のSIZE1209の符号は、データ
を受ける行き先汎用レジスタ1103の部分を特定す
る。命令ワード21217におけるSIZEによって特
定される部分が、命令ワード11215におけるSIZ
Eによって特定される部分より大きい場合、上位のビッ
トは、0で充填され、もしもその部分が小さいならば、
余分な上位のビットは廃棄される。
と汎用レジスタ行き先フィールド1221を含む。これ
らは、協力して、対応するフィールドが命令ワード11
215のソース汎用レジスタを特定するのと同じ方法で
行き先汎用レジスタ1103を特定する。
プライン図表1223に示してある。サイクルnにおい
ては、IW1 1215が取り出される。サイクルn+
1においては、IW2 1217が取り出され、そし
て、IW1 1215が復号化される。この復号化は、
どの汎用レジスタ1103がソースレジスタであるかの
計算と、SIZEフィールド1209によって特定され
る部分を内部データバス1115に接続されたラツチ内
へ読み込みを必要とする。
復号化されてどの汎用レジスタ1103が行き先レジス
タであるかを決定し、そして、同一サイクルで、ラッチ
の内容が、SIZEフィールド1209により特定され
た行き先汎用レジスタ1103の部分に読み込まれる。
して図13の部分に示してある。種類1の命令は、その
ソースとしての汎用レジスタ1103と、その行き先と
しての特別レジスタを有している。種類2の命令は、そ
のソースとして特別レジスタと、その行き先としての汎
用レジスタ1103を有している。種類フィールド12
07の値を除き、その二つの種類のフォーマットは同一
である。
あり、次の4ビットのSPR1227は、特別レジスタ
の一つを特定する符号であり、そして、次ぎにSIZE
フィールド1209が続き、最後に、Fフィールド12
11と、汎用レジスタ1103を特定するGRフィール
ド1229が来る。特別レジスタ及び汎用レジスタがソ
ース及び行き先であるか或いはまたこの逆であるかは、
TYPEフィールド1207の値に依存する。SIZE
の効果は次の通り;
の場合、SIZE1209により特定される部分は、2
4ビットより少なく、その特定部分は、IDB1115
の下位のビットに置かれ、そして、残りのビットは、0
にセットされる。・もしも汎用レジスタ1103が行き
先レジスタであり、そして、SIZE1209により特
定される部分が24ビットより少ない場合、この特定部
分は、IDB1115の下位のビットから書き込まれ
る。
類2のMOVE命令の実行は、図表1231に示してあ
る。サイクルnでは、命令が取り出され、サイクルn+
1では、ソースと行き先が決定され、サイクルn+2で
は、データがソースから行き先へIDB1115を介し
て書き込まれる。
から行き先特別レジスタへデータを移動させる。この命
令は、図14に参照番号1241で示してある。この命
令は、ビット20〜23での演算コード1203、行き
先特別レジスタを特定するビット16〜19のコード、
ビット12〜15でのTYPE1207、及びソース特
別レジスを特定するビット0〜3での符号を有してい
る。ビット4〜11は、「ドントケア」ビットである。
SIZEフィールド1209の不存在が意味するよう
に、この命令は、常に、24ビットを移動させる。パイ
プラインでの実行は、種類1と種類2の命令の場合とほ
ぼ同一である。
リI/O:図2と図9 マイクロプロセッサ107が種々のシステムでの効率的
及び融通性ある使用に特に適している別の領域は、シス
テムメモリI/Oである。システムメモリI/Oでは、
データは、システムバス103を介してメモリ102か
ら読み取られ、そして、メモリ102に書き込まれる。
マイクロプロセッサ107の好適な実施例201では、
マイクロプロセッサ107は、16本のデータラインと
23本のアドレスラインによってシステムバス103に
接続されている。
トワードを特定する。マイクロプロセッサ107により
実行されるシステムI/O動作は、バイト、16ビット
ワード、及び24ビットポインタの読み取り及び書き込
み、並びに、バイト及びワードの読取り−変更−書き込
みを含む。バイトの読取りの場合、信号《ERE》及び
《ORE》(図2参照)は、アドレスにより特定された
ワードの偶数バイト叉は奇数バイトが読まれているか否
かを特定する。バイトの書き込みの場合に、対応する信
号は、《EWE》と《OWE》である。
タイミングを示す。すなわち、マイクロプロセッサ10
7がバス103に対し一度アクセスをすると、バイト読
み出しは、バス103で最小2サイクルのクロック50
1を必要とする。すなわち、1つは、アドレス、アドレ
スストローブ信号《AS》及び《ERE》叉は《OR
E》のいずれかをバスに与えるものであり、もう1つ
は、バス103からデータを受信するためのものであ
る。このタイミングは、バイトの書き込み及びワードの
読取り及びワードの書き込みについて上に示したものと
ほぼ同様である。
み動作には、4サイクルが必要である。すなわち、ポイ
ンタの2バイトについて上記の2サイクル及び第3のバ
イトについての更に2サイクルである。読取り−変更−
書き込み命令には最小4サイクルが必要である。すなわ
ち、読取りに2サイクル、書き込みに2サイクルであ
る。メモリ102が直ちに応答することができない場
合、更に時間がI/O動作のどれにも要求される可能性
がある。
取り動作で提供したとき、叉は、書き込み動作でデータ
を受信したときに、メモリ102は、マイクロプロセッ
サ107へ《DTACK》信号を提供する。マイクロプ
ロセッサ107は、読取り動作叉は書き込み動作の第2
番目のサイクルを完了する前に、《DTACK》信号を
待つ。
令アーキテクチャは、図11のI/Oの部分1135に
示してある。部分1135のレジスタは、内部データバ
ス1115によって利用可能である。プログラマ明示可
能レジスタは、読取り動作時に、24ビットのアドレス
をローディングされるALR1145、書き込み動作時
にアドレスをローディングされるALW1146、読取
り動作時にシステムバス103からデータを受信する入
力ラッチ1149、及び、書き込み動作時にシステムバ
ス103に書き込まれるデータを受信する出力ラッチ1
151を有する。
は、24ビットレジスタである。バイトI/O動作は、
8個の下位ビットを読み取り、叉は、書き込み、ワード
動作は、16個の下位ビットを読み取り、叉は、書き込
み、そして、ポインタ動作は、全レジスタを読み取り、
叉は、書き込む。
ン1909の一部であるレジスタを有している。影アド
レスラッチ(SAL)1141は、前のI/O命令がE
IO段階1913を離れる前に、ローディング段階19
11に入ったI/O命令のアドレスを保持する。影出力
ラッチ(SOL)1155は、続くI/O命令がローデ
ィング段階1911を開始し、かくして、書き込み動作
が完了する前にOL1151をローディングに利用可能
にするときに、EIO段階1911にある書き込み命令
により出力されるべきデータを保持する。
の通りである。I/O命令がローディング段階1911
に入るときにパイプラインが空の場合、ALR1145
は、I/O命令が読み取り命令の場合にローディングさ
れる。もしもそれが書き込み命令の場合、OL1151
は、前のMOVE命令によりローディングされており、
ローディング段階1911は、ALW1146にローデ
ィングする。
の最初のサイクル時に、OL1151の内容が、SOL
1155に移動されて、同じサイクル叉は後でMOVE
命令によりローディングされるべきOL1151を解放
する。マイクロプロセッサ107がバス103に対する
アクセスを得た後で、EIO段階1913の第1のサイ
クル時に、SOL1155のデータとALW1146の
アドレスが、メモリ102が《DTACK》信号で応答
するまで、バス103に出力される。
1に入るときにすでにI/O命令がパイプライン190
9に存在するならば、アドレスは、SAL1141にロ
ーディングされる。最後に、SAL1141のレジスタ
にローディングする実行段階1907を有するI/O命
令が、復号化段階1905に達するときに、SAL11
41が満杯の場合、命令パイプライン1901は、その
レジスタが利用可能となるまで動作を停止される。
表するアドレス及びデータの処理はI/Oの部分で行わ
れるので、ALU1107は、同時に他の動作を行って
もよい。この処理の一例は、オフセット加算器1139
である。アドレスが、ALR1145叉はALW114
6にローディングされるときに、I/O命令で明示され
たオフセット1137は、そのアドレスに加えてもよ
い。
ソースとしてALR1145叉はALW1146のいず
れかを明示し、かつ、その明示されたレジスタの現在の
内容にそのオフセットを加えるためにオフセット加算器
1139を使用してもよい。図11から分かると思われ
るが、これは、アドレス入力をオフセット加算器113
9に提供する内部データバス1115に対しALR11
45とALW1146の出力を接続するバスを用いて実
施される。
LW1146の両方を設け、そして、入力ラッチ114
9の出力と影出力ラッチ1155の入力との間に接続部
を設けている。これらの特徴をまとめて考えると、メモ
リ102の1つの場所からメモリ102の他の場所への
データの効率的な移動が可能となる。
方は、ALR1145とALW1146で利用可能であ
り、かつ、入力ラッチ1149が書き込み動作用のデー
タのソースとして利用可能であるので、書き込み動作
は、読み取り動作にすぐ続くものであってもよく、メモ
リ102の1つの場所から他の場所へのワード叉はバイ
トの転送には最小4サイクルが必要となる。
方で、IL1149とOL1151の間に設けられ、そ
して、SOL1155が他方で設けられている。これに
より、(前のMOVE命令によりローディングされる)
OL1151の内容は、IL1149の内容とAND結
合叉はOR結合することができ、かくして、メモリ10
2からのデータの読み取りが可能となり、このデータを
OL1151のマスクによって変更し、かつ、最小4サ
イクルでメモリ102にそのデータを書き戻すことが可
能となる。
ち、READ(読み取り)命令、WRITE(書き込
み)命令及びREAD−MODIFY−WRITE(読
み取り−変更−書き込み)命令を有している。これら3
つの命令すべてのフォーマットは、図15に示してあ
る。READ命令は、参照数字1301により識別さ
れ、WRITE命令は、参照数字1313により識別さ
れ、そして、READ−MODIFY−WRITE命令
は、参照数字1319により識別される。
べては、共通の数個の特徴を有している。まず上位ビッ
トでは、ビット20〜23は、これら3つの命令の各々
ごとに異なる演算コードであり、ビット12〜19は、
I/O動作に使用されるアドレスを得るために、ポイン
タの値に加えられる8ビットのオフセット値である。
7(ビット11と10)は、I/《M》ピン209、1
6ビットワードのフォーマットと24ビットポインタに
関連して読み取り叉は書き込まれるべきデータの大きさ
を示す。ビット0〜8は、ポインタ(PTR)フィール
ド1311を構成し、このPTRフィールド1311
は、マイクロプロセッサ107のレジスタを特定する。
このレジスタはポインタとして使用されるべき値、即
ち、I/O動作でメモリ102の場所を表す値を含んで
いる。
1103か、叉は、特別レジスタの1つ、もっとも一般
的なものとしてはALR1145叉はALW1146の
いずれかであってもよい。汎用レジスタ1103の場
合、このレジスタは、GRフィールド1229のその番
号によって直接的に明示されるか、叉は、フレームポイ
ンタ1117の値からのオフセットによって間接的に明
示される。MOVE命令の場合のように、Fビット12
11は、どんなモードが使用されているかを示す。特別
レジスタの場合、SRフィールド1312は、この特別
レジスタ用のコードを含んでおり、一方、ビット4〜8
は、ドントケアフィールド、ここではDC1310であ
る。
に、マイクロプロセッサ107は、ほぼ次のごとくI/
O命令を実行する。即ち、復号段階1905では、ポイ
ンタフィールド1311により示されるポインタは内部
データバス1115のソースとされる。実行段階190
7では、ポインタ値は、I/O命令の種類に依存して、
内部データバス1115を介しALR1145叉はAL
W1146のいずれかに送られる。
2〜19のオフセットは、オフセット加算器1139に
よってポインタに加えられる。実行段階1907は、か
くして、同時に、命令パイプライン1909用のローデ
ィング段階1911となる。命令パイプライン1901
のEIO段階1913は、ALR1145叉はALW1
146内へのポインタのローディングに続くサイクルで
始まる。命令パイプライン1901が、すでにその中に
I/O命令を有している場合、ポインタは、ALR11
45叉はALW1146の代わりにSAL1141にロ
ーディングされる。
(LS)フィールド1317を更に有している。単一ビ
ットフィールドの一方の設定は、書き込まれるべきデー
タのソースが出力ラッチ1151であるということを示
す。他方の設定は、それが入力ラッチ1149であると
いうことを示す。背中合わせ式のメモリ読み取り及び書
き込みを行うこの装置の有用性はすでに記載した。
1319は、付加的な1ビットフィールド、即ちAND
/ORフィールド1323も有している。このビットの
一方の設定は、論理回路1153が、IL1149の内
容とOL1151の内容とをAND結合するということ
を示す。他方の設定は、論理回路1153が、これら2
つのレジスタの内容をOR結合するということを示す。
また、4サイクルで読み取り−変更−書き込みを行うこ
の構成の有用性は、すでに記載した。前述のように、R
EAD−MODIFY−WRITEは、バイト叉はワー
ドを書くのみである。従って、この命令のIOSフィー
ルド1307は、24ビットのデータ項目を特定するこ
とはできない。
び書き込み:図11と図19図1に示したように、多く
の用途では、マイクロプロセッサ107は、ホストプロ
セッサ105と共働する。ある用途では、ホストプロセ
ッサ105は、他のマイクロプロセッサ107であって
もよいが、他の用途には、別のプロセッサ叉はマイクロ
プロセッサとなる。
は、インテル80×86アーキテクチャ、叉は、モトロ
ーラ680×0アーキテクチャのいずれかを有する。こ
れらのアーキテクチャが異なる方法の内の2つは、それ
らのポインタのフォーマットと、バイトを16ビットワ
ードで記憶する方法である。
即ち、I/《M》ピン209、I/O命令のIOSフィ
ールド1307の符号及びプログラム状態ワード111
9のSWBビットにより、マイクロプロセッサ107
は、80×86ホスト叉は680×0ホストのいずれか
と容易に使用することができる。IOSフィールド13
07の符号により、更に、プログラマは、80×86と
680×0の環境の両方において正しく実行される単一
のプログラムを書くことが可能となる。
80×0のアーキテクチャがメモリ102におけるバイ
トを組織する互いに異なる方法と、これらがポインタを
フォーマットする互いに異なる方法を示す。バイトとワ
ードの例では、図19は、値AA、BB、CC及びDD
と4バイトのシーケンスが記憶されるということを仮定
する。80×86が16ビットワード内に組織化された
メモリに一連のバイト書き込み動作を行い、そして、シ
ーケンスがワード境界で始まるとき、結果は1701に
示される。
の下位ビットに書き込まれ、そして、次のバイトBB
は、第1のワードの8個の上位ビットに書き込まれ、次
のバイトCCは、第2のワードの8個の下位ビットに書
き込まれ、そして、次のバイトDDは、第2のワードの
8個の上位ビットに書き込まれる。680×0が同一操
作を行うとき、結果は1703で示される。即ち、第1
のバイトAAは、第1のワードの8個の上位ビットに書
かれ、次のバイトBBは、そのワードの8個の下位バイ
トに書かれ、第3のバイトCCは、第2のワードの8個
の上位ビットに書かれ、そして、第4のバイトDDは、
第2のワードの8個の下位バイトに書かれる。
み動作により書き込まれて、第1のワードの書き込み
が、バイトAAとバイトBBを書き込み、第2のワード
の書き込みが、バイトCCとバイトDDを書き込むと
き、1705により示したように、80×86と680
×0の組織との間には相違点は存在しない。両方の場
合、AAは、書き込まれるべき最初のワードの8個の上
位ビット内にあり、BBは、8個の下位ビット内にあ
り、CCは、第2のワードの8個の上位ビット内にあ
り、そして、DDは、そのワードの8個の下位ビット内
にある。
両方のアーキテクチャは、2つの隣接ワードに記憶され
る32ビットのポインタを使用する。プロセッサ107
は、24ビットのアドレスを使用するので、32ビット
のポインタの24個の下位ビットに関連するだけであ
る。24個の下位ビットは、値AABBCCを有し、A
Aが上位のバイトであり、CCが下位のバイトであると
すると、80×86のフォーマットは、1707で示し
たものであり、680×0のフォーマットは、1709
で示したものである。
の上位のバイトは、第2のワードの8個の下位ビットに
あり、次の上位のバイトは、第1のワードの8個の上位
ビット内にあり、そして、下位のバイトは、第1のワー
ドの下位ビットにある。680×0のフォーマットで
は、ポインタの上位のバイトは、第1のワードの下位8
ビットにあり、次の上位のバイトは第2のワードの上位
8ビットにあり、そして、下位の8ビットは、第2のワ
ードの下位8ビットにある。
のアーキテクチャと680×0のアーキテクチャとの間
のいくつかの不整合をI/《M》ピン209を用いて取
り扱う。マイクロプロセッサ107が、80×86ホス
ト105で動作するとき、Vccがピン207に入力さ
れる。即ち、マイクロプロセッサ107が、モトローラ
680×0ホスト105で動作するとき、ピン207は
接地される。一般的に、ピン207は、接地点か、叉
は、Vccに接続される。これは、この種のホストプロ
セッサ105が、どんな周波数でも変化しそうがないか
らである。ピン205への入力は、しかし、システム再
構成を可能にするために切り替え可能とすることができ
よう。
符号「00」によって命令のIOSフィールド1307
で明示されている。バイト書き込み動作では、書き込ま
れるべきバイトは、SOL1155の下位8ビットに含
まれている。即ち、80×86モードと680×0モー
ドの両方のモードでは、バイトは、バス103のデータ
線313のビット0〜7と8〜15の両方に出力され
る。
ットの値は、80×86のメモリフォーマットと680
×0のメモリフォーマットにより要求されるように、ア
ドレスされたワードの上下のバイトにバイトを書き込む
ように《EWE》信号叉は《OWE》信号がエネーブル
されるか否かを決定する。
データ線8〜15にあり、偶数バイトは、データ線0〜
7にある。別の場合には、この逆も真である。与えられ
た奇数バイト叉は偶数バイトのアドレスに応答して、入
力ラッチ1149のビット7〜0内にどのバイトが読み
込まれるかは、マイクロプロセッサ107が、I/
《M》ピン209で受ける入力とPSW1119のSW
Bビットに依存する。
入力が低く、680×0ホストを示す場合、偶数バイト
の読み取りにより、入力ラッチ1149「7〜0」内に
読み込まれる線8〜15にバイトが生じ、一方、奇数バ
イトの読み取りにより、入力ラッチ1149のその部分
に読み込まれる線0〜7にバイトを生じる。SWBが0
にセットされてI/《M》への入力が高であって、80
×86ホストを示す場合、上記の逆が生じる。
I/《M》ピン209への入力に対するマイクロプロセ
ッサ107の応答は、今記載したのと逆となる。SWB
は、かくして、プログラマに対しバイト読み取りへのI
/《M》の影響を無効にする方法を与える。
き込みの場合、読み取りは、ここに記載したように行わ
れ、そしてバイトの書き込みに付いては、ここに記載し
たように行われる。ただし、SOL1155のデータ
は、OL1151のマスクとAND結合叉はOR結合さ
れる入力ラッチ1149の内容である点は異なる。
ズフィールド1307に明示されている。16ビットメ
モリワードについては、80×86フォーマットと68
0×0フォーマットの間には相違はなく、従って、I/
《M》ピン209は、これらの操作が行われる方法には
影響しない。書き込みの場合、SOL1155のより低
い桁のビットが、データライン313に出力され、一
方、読み取りの場合、データライン313のビットが、
入力ラッチ1149のより低い桁の16ビットにラッチ
される。読み取り−変更−書き込み及びこの動作の書き
込み部分については同じことが言える。
0によって示されるポインタ読み取り動作には、2つの
ワードがメモリ102から読み取られることが必要であ
る。もしもホストが680×0の場合、第1のワードの
下位のバイトは、そのポインタの上位のバイトを含む。
一方、次のワードの上位及び下位のバイトは下位のバイ
トの次のバイトとその下位のバイトを含む。
トが680×0であるということを示すときに、メモリ
102からの第1のワードの読み取りにより、データ線
313「7〜0」の内容が入力ラッチ1149「23〜
16」内に置かれる。第2のワードがメモリ102から
読まれるとき、データ線313「15〜8」の内容は、
入力ラッチ1149「15〜8」に入り、そして、デー
タ線313「7〜0」の内容は、同時にラッチ1149
「7〜0」に入る。
は、その下位のバイトの中でポインタの下位のバイト
と、その上位のバイトの中でポインタの次の下位のバイ
トを含む。第2のワードは、その下位のバイト内におけ
るポインタの上位のバイトを含む。従って、ホストが8
0×86であるということをI/《M》ピン209が示
す場合、メモリ102から第1のワードの読み取りによ
り、データ線313「15〜8」の内容が、入力ラッチ
1149「15〜8」に入力され、データ線313「7
〜0」の内容が、入力ラッチ1149「7〜0」に置か
れることになる。次のサイクルでは、データ線313の
内容「7〜0」が、入力ラッチ1149「23〜16」
に置かれる。
ホストが680×0であるということをI/《M》ピン
209が示す場合、第1のワードのメモリ102への書
き込みにより、影出力ラッチ1155「23〜16」が
D313「7〜0」に置かれ、0がz313「15〜
8」に置かれ、一方、第2のワードの書き込みにより、
影出力ラッチ1155「15〜8」がD313「15〜
8」に置かれ、影出力ラッチ1155「7〜0」が同時
にD313「7〜0」に置かれる。
80×86であるということを示す場合、第1のワード
の書き込みにより、影出力ラッチ1155「15〜8」
がD313「15〜8」に置かれ、影出力ラッチ115
5「7〜0」が同時にD313「7〜0」に置かれる。
第2のワードの書き込みにより、影出力ラッチ1155
「23〜16」がD313「7〜0」に置かれ、0がD
313「15〜8」に置かれる。
に対し、バイト、ワード叉はポインタの書き込みを行
い、マイクロプロセッサ107が、メモリ102から同
一データのバイト、ワード叉はポインタの読み取りを行
うか、叉は、この逆の場合、ホストプロセッサ105と
マイクロプロセッサ107の両方が予期されたフォーマ
ットでデータを受信するということが、I/《M》ピン
209自体により保証される。
リ102に対し2つのバイトの書き込みを行い、かつ、
マイクロプロセッサ107が、その2つのバイトのワー
ドの読み取りを行う場合、そのワードのバイトの位置
は、ホストプロセッサ105が80×86、叉は、68
0×0であるかに依存し、そして、ワードを処理するマ
イクロプロセッサ107の符号は、ホストプロセッサの
種類に依存する。そういう理由で、ホストプロセッサの
変化には、広範な符号の訂正が必要となり、これによ
り、マイクロプロセッサ107を使用する開発システム
の費用が大いに増大される。
11によりマイクロプロセッサ107で解決される。こ
の符号は、「交換バイトを持つワード」、即ち、ワード
I/O動作が採用されるべきであるが、I/《M》ピン
209がホストが80×86プロセッサであるというこ
とを示す場合に、ワードのバイトが交換されるべきであ
るということを示す。従って、もしも「交換バイトを持
つワード」がI/O命令で示される場合、マイクロプロ
セッサ107は、ホストが680×0マシンか80×8
6プロセッサであるか否かに関係なくバイトデータに対
しワードの読み取り及び書き込み動作を正しく行うこと
ができるので、ホストマシンの種類に依存して異なる符
号を書き込む必要はない。
《M》ピン209は、相互作用をして次のごとく上に記
載した結果を発生する:読み取り動作では、I/《M》
が680×0ホストを明示するとき、D313「15〜
8」の内容は、入力ラッチ1149「15〜8」に入
り、そして、D313「7〜0」の内容は、入力ラッチ
1149「7〜0」に入る。I/《M》ピン209が8
0×86ホストを明示するとき、D313「15〜8」
の内容は、ラッチ1149「7〜0」に入り、D313
「7〜0」の内容は、入力ラッチ1149「15〜8」
に入る。
が680×0ホストを明示するとき、影出力ラッチ11
55「7〜0」の内容が、D313「7〜0」に入り、
そして、影出力ラッチ1155「15〜8」の内容が、
D313「15〜8」に入る。I/《M》ピン209
が、80×86ホストを明示するとき、影出力ラッチ1
155「7〜0」の内容が、D313「15〜8」に入
り、そして、影出力ラッチ1155「8〜15」の内容
が、D313「7〜0」に入る。「交換バイトを有する
ワード」で読み取り−変更−書き込みを行う場合、動作
の読み取り段階及び書き込み段階は、読み取り動作及び
書き込み動作について今記載した通りとなる。
2、図23〜図25図20、図22、図23〜図25
は、入力ラッチ1149、出力ラッチ1151、影出力
ラッチ1153、AND/OR1323、及び、これら
の装置を制御する制御論理回路の好適な実施例201の
構成を示す。
ッチ、即ち、上位のバイトを含むラッチ2007、次の
上位のバイトを含む2009及び下位のバイトを含むラ
ッチ2011から作られている。これらのラッチからの
出力は、ラッチ出力(ILO)2013に入力される。
これらのラッチへの入力は、マルチプレクサ2001、
2003及び2005からのものである。これらのマル
チプレクサの各々は、データライン313とILO20
13から入力を取る。
線313「7〜0」叉は入力ラッチ1149「23〜1
6」からラッチ2007用の入力を選択し、マルチプレ
クサ2003は、データ線313「15〜8」、データ
線313「7〜0」叉は入力ラッチ1149「15〜
8」からラッチ2009用の入力を選択し、マルチプレ
クサ2005は、データ線313「15〜8」、データ
線313「7〜0」叉は入力ラッチ1149「7〜0」
からラッチ2009用の入力を選択する。
叉は2005が選択されない場合、それは0を出力す
る。選択は、以下に示す表に従って選択線A、C、D、
F、G、J、L及びMによって行われる。この表の表
示”ソース−−>行き先”は、選択線が活性状態のとき
にソースのデータが行き先に転送されるということを示
す。
ラッチ1151、AND/OR論理回路1153及び影
出力ラッチ1155の実施例を示す。この回路の入力
は、内部データバス1115、ILO2013を介する
入力ラッチ1149、及び影出力ラッチ1155から来
る。出力は、データ線313に与えられる。入力の選択
は、マルチプレクサ2101により行われ、一方、出力
の選択は、マルチプレクサ2109と2111により行
われる。
ない場合、このマルチプレクサは、0を出力する。出力
ラッチ1151から始めるに、このラッチは、内部デー
タバス1115からその入力を受け取り、出力をAND
/OR論理回路1153とマルチプレクサ2103に提
供する。マルチプレクサ2101は、更に、ILO20
13から入力を受け取る。ILO2013は、入力ラッ
チ1149、SOL1155及びAND/OR論理回路
1153の出力に接続されている。
出力ラッチ1155に与えられる。この影出力ラッチ1
155は、3個の8ビットラッチ、即ち、ビット「23
〜16」を含むラッチ2103、ビット「15〜8」を
含むラッチ2105、及びビット「7〜0」を含む21
07を有している。その出力は、マルチプレクサ210
9と2111を介してD313「7〜0」と「15〜
8」に与えられる。
の選択線U、V、W及びXと、マルチプレクサ2109
と2111用の選択線P、Q、R、S及びTにより行わ
れる。以下の表は、この選択線とその選択の結果を示
す。
た選択論理回路1801により制御される。これらの選
択線は、I/O制御論理回路(I/OCTL)1819
の出力であり、この論理回路への入力は、次の通りであ
る:
は、すべてI/O命令から最終的に得られる。即ち、A
0は、I/O動作に依存してALR1145叉はALW
1146の内容から得られ、LONG2とRMWWは、
I/O命令の実行段階の形跡を保つマイクロプロセッサ
の内部制御論理回路から得られ、ITLは、ITL論理
回路1803により生じる。
分1135は、マイクロプロセッサ107が、80×8
6ホストを有するシステムで動作している場合のように
動作する。ITL1817が値0を有するとき、I/O
の部分1135は、マイクロプロセッサ107が、68
0×0ホストで動作している場合のように動作する。バ
イトI/O動作以外の動作の場合、ITL1817の値
は、マイクロプロセッサ107が、I/《M》ピン20
9で受信している値によってのみ決定され、一方、バイ
ト動作の場合、I/《M》ピン209の影響は、プログ
ラム状態ワード1119のSWBビットを1にセットす
ることによって反転してもよい。
803により発生される。ITL1817は、XORゲ
ート1815の否定出力であり、XORゲート1815
への入力は、I/《M》ピン209とNANDゲート1
811から来るものである。NANDゲート1811
は、3つの入力を有している。入力《IOS0》180
5と《IOS1》1807は、IOS1307の否定で
あり、PSW_SWB1809は、PSW状態ビットか
ら得られる。
807のいずれかが低で、IOS1307がバイトI/
O以外のものを明示する場合、NANDゲート1811
は、1813に1の出力を有し、そして、XORゲート
1815の否定出力1817は、I/《M》ピン209
からの入力と同一である。入力1807と1805の両
方が高でバイトI/O用の00符号を示す場合、ゲート
1811の出力は、PSW_SWB1809により決定
される。入力1809が低の場合、NANDゲート18
11は、依然として1の出力を有し、出力1817は、
今記したように、入力209と同一である。
ットがPSW1809にセットされている場合、NAN
Dゲート1811は、0出力を有し、そして、出力18
17は、入力209の反転となる。即ち、I/《M》ピ
ン209の効果は、反転される。
図25の真理値表に示してある。図24は、読み取りと
読み取り−変更−書き込み動作用の真理値表を示す。こ
の真理値表には、バイト読み取り、ワード読み取り、及
びIOS1307のWSB符号でのワード読み取り、ポ
インタ読み取り、バイト読み取り−変更−書き込み、ワ
ード読み取り−変更−書き込み、及び、IOS1307
のWSB符号でのワード読み取り−変更−書き込み用の
部分がある。
819への入力信号用の値を示し、この真理値表の右手
部分の列は、セレクタ線1833の入力から生じる値を
示す。真理値表の中央部において、「X」は「ドントケ
ア」ビット、即ち、行により示される動作に相違を生じ
ない値を有するビットを示す。
「ドントケア」ビットを示す。一例として真理値表の第
1の列をとると、この列は、読み取り動作を示すRW=
1、それが、読み取り−変更−書き込みではないという
ことを示すRMW=0、IOSがバイト動作を示し(即
ち、符号00を有する)、ITLが680×0モードを
示す値0を有し、そして、A0が、偶数バイトアドレス
を示す値0を有するときに、選択線Mが高で、残りの線
が低い、ということを示す。
が、680×0フォーマットに記憶されたデータからの
偶数バイトの読み取りであるということを示す。図22
を見ると、選択線Mが活性状態のときに、マルチプレク
サ2005が、入力ラッチ1149「7〜0」ようのソ
ースとしてD313「15〜8」を選択するということ
が分かるであろう。次に図19では、選択されたバイト
が、全く、680×0バイトフォーマット1703の偶
数バイトであるということが分かろう。
図25の真理値表及び図20、図22及び図23の論理
図は、今記載した読み取り動作及び書き込みの動作が、
好適な実施例201で如何に実施されるかを示す。
ロセッサとメモリを共有するプロセッサであって、異な
ったデータフォーマットを有する他のプロセッサとメモ
リが共有されたとしても、同一符号を使用することがで
きるプロセッサを如何に作り、かつ、使用すべきかを示
した。「実施例」の説明で開示した実施例では、データ
フォーマットは、バイトの処理に関するものであった。
しかし、本発明は、他の点で異なるデータフォーマット
で使用してもよい。
マットに依存する動作を行わせる命令は、I/O命令で
ある。また、本発明の原理は、他の種類の命令と使用し
てもよい。本発明の範囲内に入る命令は、ここに開示し
た実施例で使用されるIOサイズフィールドの.WSB
コード以外の手段によって明示されるものであってもよ
く、実際の交換は、本願に開示した回路以外の回路によ
っても達成してもよい。
もので、この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。尚、特許請求の範囲に記載した参
照番号は発明の容易なる理解のためで、その技術的範囲
を制限するよう解釈されるべきではない。
連のバイトをワードとして読むと共に、両方のホストプ
ロセッサ用に同一コードを使用することができるプロセ
ッサが提供される。
ムのブロック線図である。
アウトを説明する図である。
オフになる前に如何に高くなるかを示すバイト叉はワー
ドの読み取りタイミング図である。
キテクチャを示すブロック線図である。
ドレッシングを示すブロック線図である。
命令の実行のフォーマットと方法を示す図である。
トと方法を示す図である。
命令のフォーマットを示す図である。
ロセッサにより使用されるデータフォーマットの図であ
る。
論理を示す論理図である。
実施例を示す論理図である。
る。
影出力ラッチ1155の実施例を示す論理図である。
令の図である。
−変更−書き込みI/O動作用の真理値表である。
の真理値表である。
プロセッサにより使用されるデータフォーマットの図で
ある。
ーキテクチャがメモリ102におけるバイトを組織する
互いに異なる方法と、これらがポインタをフォーマット
する互いに異なる方法を示す図である。
る。
イプライン命令の実行を示す表の図である。
一変更一書き込みI/O動作用の真理値表である。
の真理値表である。
Claims (6)
- 【請求項1】 データを含むメモリを他のプロセッサと
共有することが可能であって命令を実行する命令実行手
段を有するプロセッサにおいて、 当該プロセッサの外部のソースから、当該プロセッサに
よって現在実行されている命令および現在処理されてい
るデータとは独立に、前記他のプロセッサによって使用
されるメモリ内の複数のバイトの順序を定義するデータ
フォーマットを示すデータフォーマット信号を受信する
データフォーマット信号受信手段と、 命令実行手段において、命令によって指定される読み取
りまたは書き込みのオペレーションが実行される方式が
前記他のプロセッサによって使用されるデータフォーマ
ットに依存することを示すデータフォーマット依存性指
示手段と、データフォーマット信号とに応答して、デー
タフォーマット信号によって示されるデータフォーマッ
トによって要求されるように、命令によって指定される
オペレーションを実行するオペレーション手段とからな
ることを特徴とするプロセッサ。 - 【請求項2】 複数のバイトは2バイトであり、 前記他のプロセッサのうちの第1のプロセッサが、メモ
リ内に第1の順序でその2バイトを配置し、 前記他のプロセッサのうちの第2のプロセッサが、メモ
リ内に第2の順序でその2バイトを配置し、 データフォーマット信号は、第1の順序または第2の順
序のいずれかを示し、データフォーマット信号が第2の
順序を示す場合、読み取りオペレーションは、メモリか
ら読み取られる2バイトを第1の順序で配置し、書き込
みオペレーションは、メモリに書き込まれる2バイトを
第2の順序で配置することを特徴とする請求項1のプロ
セッサ。 - 【請求項3】 第1の順序は、680x0型のプロセッ
サにより使用される順序であり、第2の順序は、80x
86型のプロセッサにより使用される順序であることを
特徴とする請求項2のプロセッサ。 - 【請求項4】 データを記憶するメモリと、 データのうちの特定のデータについてメモリ内の複数の
バイトの順序を定義する互いに異なるデータフォーマッ
トを使用する複数のプロセッサの種類のうちの1つにそ
れぞれ属し、メモリに接続されてデータを処理する第1
および第2のプロセッサとからなるデータ処理システム
において、 第2のプロセッサが実行する命令は、読み取りまたは書
き込みのオペレーションを指定し、かつ、命令によって
指定されるオペレーションを実行する方式が前記特定の
データについて第1のプロセッサによって使用されるデ
ータフォーマットに依存することを示すデータフォーマ
ット依存性指示手段を有する少なくとも1つの命令を含
み、 第2のプロセッサは、 第2のプロセッサの外部のソースから、第2のプロセッ
サによって現在実行されている命令および現在処理され
ているデータとは独立に、第1のプロセッサによって使
用されるデータフォーマットを示すデータフォーマット
信号を受信するデータフォーマット信号受信手段と、 データフォーマット信号と、データフォーマット依存性
指示手段とに応答して、データフォーマット信号によっ
て示されるデータフォーマットによって要求されるよう
に、命令によって指定されるオペレーションを実行する
オペレーション手段とからなることを特徴とするデータ
処理システム。 - 【請求項5】 複数のバイトは2バイトであり、 第1のプロセッサは、メモリ内に第1の順序でその2バ
イトを配置し、 第2のプロセッサは、メモリ内に第2の順序でその2バ
イトを配置し、 データフォーマット信号は、第1の順序または第2の順
序のいずれかを示し、データフォーマット信号が第2の
順序を示す場合、読み取りオペレーションは、メモリか
ら読み取られる2バイトを第1の順序で配置し、書き込
みオペレーションは、メモリに書き込まれる2バイトを
第2の順序で配置することを特徴とする請求項4のシス
テム。 - 【請求項6】 第1のプロセッサは、680x0型のプ
ロセッサであり、第2のプロセッサは、80x86型の
プロセッサであることを特徴とする請求項5のシステ
ム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US493018 | 1990-03-13 | ||
US07/493,018 US5446865A (en) | 1990-03-13 | 1990-03-13 | Processor adapted for sharing memory with more than one type of processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04220737A JPH04220737A (ja) | 1992-08-11 |
JP2690406B2 true JP2690406B2 (ja) | 1997-12-10 |
Family
ID=23958558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3070394A Expired - Lifetime JP2690406B2 (ja) | 1990-03-13 | 1991-03-12 | プロセッサおよびデータ処理システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US5446865A (ja) |
EP (1) | EP0447101B1 (ja) |
JP (1) | JP2690406B2 (ja) |
CA (1) | CA2036855C (ja) |
DE (1) | DE69126157T2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574923A (en) * | 1993-05-10 | 1996-11-12 | Intel Corporation | Method and apparatus for performing bi-endian byte and short accesses in a single-endian microprocessor |
US5664156A (en) * | 1994-09-16 | 1997-09-02 | Philips Electronics North America Corporation | Microcontroller with a reconfigurable program status word |
US5893928A (en) * | 1997-01-21 | 1999-04-13 | Ford Motor Company | Data movement apparatus and method |
WO2001067235A2 (en) * | 2000-03-08 | 2001-09-13 | Sun Microsystems, Inc. | Processing architecture having sub-word shuffling and opcode modification |
US7071908B2 (en) * | 2003-05-20 | 2006-07-04 | Kagutech, Ltd. | Digital backplane |
US7395410B2 (en) * | 2004-07-06 | 2008-07-01 | Matsushita Electric Industrial Co., Ltd. | Processor system with an improved instruction decode control unit that controls data transfer between processor and coprocessor |
US7849362B2 (en) * | 2005-12-09 | 2010-12-07 | International Business Machines Corporation | Method and system of coherent design verification of inter-cluster interactions |
CN116700795B (zh) * | 2023-08-01 | 2023-12-01 | 广州中基国威电子科技有限公司 | 一种位操作控制系统及控制方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
US3930232A (en) * | 1973-11-23 | 1975-12-30 | Raytheon Co | Format insensitive digital computer |
FR2253435A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
US4117536A (en) * | 1976-12-27 | 1978-09-26 | International Business Machines Corporation | Instruction processing control apparatus |
US4240139A (en) * | 1977-09-22 | 1980-12-16 | Tokyo Shibaura Denki Kabushiki Kaisha | Address generating system |
US4293907A (en) * | 1978-12-29 | 1981-10-06 | Bell Telephone Laboratories, Incorporated | Data processing apparatus having op-code extension register |
JPS58102381A (ja) * | 1981-12-15 | 1983-06-17 | Nec Corp | バツフアメモリ |
US4500933A (en) * | 1982-04-02 | 1985-02-19 | Ampex Corporation | Universal interface unit |
US4485439A (en) * | 1982-07-27 | 1984-11-27 | S.A. Analis | Standard hardware-software interface for connecting any instrument which provides a digital output stream with any digital host computer |
US4559614A (en) * | 1983-07-05 | 1985-12-17 | International Business Machines Corporation | Interactive code format transform for communicating data between incompatible information processing systems |
US4561051A (en) * | 1984-02-10 | 1985-12-24 | Prime Computer, Inc. | Memory access method and apparatus in multiple processor systems |
JPS60263246A (ja) * | 1984-06-11 | 1985-12-26 | Ricoh Co Ltd | メモリ・システム |
US4722048A (en) * | 1985-04-03 | 1988-01-26 | Honeywell Bull Inc. | Microcomputer system with independent operating systems |
US4899306A (en) * | 1985-08-26 | 1990-02-06 | American Telephone And Telegraph Company, At&T Bell Laboratories | Test interface circuit which generates different interface control signals for different target computers responding to control signals from host computer |
JPS641050A (en) * | 1987-03-18 | 1989-01-05 | Hitachi Ltd | Computer system provided with byte order conversion mechanism |
US5027271A (en) * | 1987-12-21 | 1991-06-25 | Bull Hn Information Systems Inc. | Apparatus and method for alterable resource partitioning enforcement in a data processing system having central processing units using different operating systems |
US5101498A (en) * | 1987-12-31 | 1992-03-31 | Texas Instruments Incorporated | Pin selectable multi-mode processor |
US5027272A (en) * | 1988-01-28 | 1991-06-25 | Weitek Corporation | Method and apparatus for performing double precision vector operations on a coprocessor |
US5261077A (en) * | 1990-06-29 | 1993-11-09 | Digital Equipment Corporation | Configurable data path arrangement for resolving data type incompatibility |
-
1990
- 1990-03-13 US US07/493,018 patent/US5446865A/en not_active Expired - Lifetime
-
1991
- 1991-02-21 CA CA002036855A patent/CA2036855C/en not_active Expired - Fee Related
- 1991-03-05 DE DE69126157T patent/DE69126157T2/de not_active Expired - Fee Related
- 1991-03-05 EP EP91301807A patent/EP0447101B1/en not_active Expired - Lifetime
- 1991-03-12 JP JP3070394A patent/JP2690406B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0447101B1 (en) | 1997-05-21 |
CA2036855A1 (en) | 1991-09-14 |
JPH04220737A (ja) | 1992-08-11 |
EP0447101A2 (en) | 1991-09-18 |
EP0447101A3 (en) | 1993-08-04 |
CA2036855C (en) | 1996-08-13 |
DE69126157T2 (de) | 1997-09-25 |
DE69126157D1 (de) | 1997-06-26 |
US5446865A (en) | 1995-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
JPH10232779A (ja) | 命令並列処理方法及び装置 | |
JP2620511B2 (ja) | データ・プロセッサ | |
JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
US6542989B2 (en) | Single instruction having op code and stack control field | |
US5442769A (en) | Processor having general registers with subdivisions addressable in instructions by register number and subdivision type | |
JP2002215387A (ja) | 命令トランスレータを備えたデータ処理装置およびメモリインタフェース装置 | |
JPH0673105B2 (ja) | 命令パイプライン方式のマイクロプロセッサ | |
JPH0391029A (ja) | データ処理装置 | |
JPS623461B2 (ja) | ||
JPH08212075A (ja) | 情報処理装置 | |
US5327537A (en) | Apparatus for controlling instruction execution in a pipelined processor | |
US5321842A (en) | Three-state driver with feedback-controlled switching | |
US6564312B1 (en) | Data processor comprising an arithmetic logic unit | |
US5278959A (en) | Processor usable as a bus master or a bus slave | |
JPS60178580A (ja) | 命令制御方式 | |
KR100278136B1 (ko) | 데이타처리장치 및 데이타처리방법 | |
JP2861560B2 (ja) | データ処理装置 | |
JPH0222413B2 (ja) | ||
JP2824484B2 (ja) | パイプライン処理計算機 | |
JP2522048B2 (ja) | マイクロプロセッサ及びそれを使用したデ―タ処理装置 | |
JPH0524537B2 (ja) | ||
JP2883488B2 (ja) | 命令処理装置 | |
JP3341847B2 (ja) | データ処理装置 | |
JP2511063B2 (ja) | パイプライン制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080829 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 14 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 14 |