JPH02211535A - コンピュータプロセッサ実行装置 - Google Patents
コンピュータプロセッサ実行装置Info
- Publication number
- JPH02211535A JPH02211535A JP1270138A JP27013889A JPH02211535A JP H02211535 A JPH02211535 A JP H02211535A JP 1270138 A JP1270138 A JP 1270138A JP 27013889 A JP27013889 A JP 27013889A JP H02211535 A JPH02211535 A JP H02211535A
- Authority
- JP
- Japan
- Prior art keywords
- operand
- operands
- instruction
- bits
- data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/312—List processing, e.g. LISP programming language
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はコンピュータプロセッサ実行装置に関し、特に
、対応するタグ情報を内包しているマルチタイプのデー
タのプログラムに従った処理に応答するコンピュータプ
ロセッサ実行装置に関する。
、対応するタグ情報を内包しているマルチタイプのデー
タのプログラムに従った処理に応答するコンピュータプ
ロセッサ実行装置に関する。
LI Sp言語システムにおいては、データにタグが付
されており、変数はコンパイル時にタイプ分けされるの
ではない。実行可能コードの中でデータのタイプを確定
することができ、どのタイプのデータでも、変数に割当
てることができる。タグ付けは、通常、タグ付きポイン
タを使用して実行される。Li5pではポインタは非常
に重要であるので、ポインタはできる限り経済的に使用
されている。たとえば、ポインタにより表わされるアド
レスと、ポインタの中でそのタイプを指示するビットと
を組合せることにより節約ができる。LucidのCo
avon Li5p(L CL )や、DoIlain
Li5p(D L)においては、下位の3ビットをタ
グ用として留保し、全てのデータを8バイト境界に整列
させ、且つ全ての間接アドレスに対する変位を利用して
タグを「マスク」することにより、この経済的な利用を
実現している。この方法はLCL、DL及びYaleの
Tで採用されており、汎用マシンにおけるポインタのタ
グ付は方法としては確実で効率良く、拡張可能であるこ
とがわかっている。
されており、変数はコンパイル時にタイプ分けされるの
ではない。実行可能コードの中でデータのタイプを確定
することができ、どのタイプのデータでも、変数に割当
てることができる。タグ付けは、通常、タグ付きポイン
タを使用して実行される。Li5pではポインタは非常
に重要であるので、ポインタはできる限り経済的に使用
されている。たとえば、ポインタにより表わされるアド
レスと、ポインタの中でそのタイプを指示するビットと
を組合せることにより節約ができる。LucidのCo
avon Li5p(L CL )や、DoIlain
Li5p(D L)においては、下位の3ビットをタ
グ用として留保し、全てのデータを8バイト境界に整列
させ、且つ全ての間接アドレスに対する変位を利用して
タグを「マスク」することにより、この経済的な利用を
実現している。この方法はLCL、DL及びYaleの
Tで採用されており、汎用マシンにおけるポインタのタ
グ付は方法としては確実で効率良く、拡張可能であるこ
とがわかっている。
タグ付けを利用するということは、それに相応して、有
効なビットフィールドマニプレータが必要であることを
示唆している。間接演算の一部としてタグをマスクする
ことは可能であるが、タイプを確認するため又はタイプ
をメツ゛セージするためにはタグを検査しなければなら
ず、効率の良いビットフィールド演算の必要性が確かめ
られる。
効なビットフィールドマニプレータが必要であることを
示唆している。間接演算の一部としてタグをマスクする
ことは可能であるが、タイプを確認するため又はタイプ
をメツ゛セージするためにはタグを検査しなければなら
ず、効率の良いビットフィールド演算の必要性が確かめ
られる。
Li5pの宇宙は原子と、リストセルとから構成される
。この見方は意味論的には正しいモデル化であるが、現
実にLfspを適用する場合には、小さな整数について
の演算はきわめて一般的であるので、それらは特殊なケ
ースと考えられる。従って、最低レベルのインプリメン
テーションでは、Li5pの宇宙には実際には次の3種
類の物体が存在している。
。この見方は意味論的には正しいモデル化であるが、現
実にLfspを適用する場合には、小さな整数について
の演算はきわめて一般的であるので、それらは特殊なケ
ースと考えられる。従って、最低レベルのインプリメン
テーションでは、Li5pの宇宙には実際には次の3種
類の物体が存在している。
C0N5−CELLSリストを構成しているポインタ2
つのセル; SMALL−INTSタグビットから取出されたポイン
タのサイズに関する小さな符号付 き整数;及び 0THER拡張タグを有する記憶ブロック3つの下位ビ
ットタグ値への意味の割当ての典量的な1例を次に示す
。
つのセル; SMALL−INTSタグビットから取出されたポイン
タのサイズに関する小さな符号付 き整数;及び 0THER拡張タグを有する記憶ブロック3つの下位ビ
ットタグ値への意味の割当ての典量的な1例を次に示す
。
000 30ビット偶数整数(最上位タグビット(−〇
)と結び付けられた29の上位ビット) 001 ポインタ拡張(タグ付き非演算記憶ブロック
) 010 数拡張(浮動小数点又は無限精度固定小数点
) 011 Con5 cellに対するポインタ100
30ビット奇数整数(最上位タグビット(−1)と結
び付けられた29の上位ビット) 101 記号拡張(特性リスト、値セルなど)110
その他の即時拡張(すなわち、非整数;たとえば、
単一文字) 111 使用せず(ハードウェアにより支援される場
合は正方向ポインタ) Lj spは統計的にタイプ付けされておらず、また、
機能はタイプタグを検査することにより多形動作するよ
うに規定されているので、LIspコードの実行時には
次のシーケンスが繰返される。
)と結び付けられた29の上位ビット) 001 ポインタ拡張(タグ付き非演算記憶ブロック
) 010 数拡張(浮動小数点又は無限精度固定小数点
) 011 Con5 cellに対するポインタ100
30ビット奇数整数(最上位タグビット(−1)と結
び付けられた29の上位ビット) 101 記号拡張(特性リスト、値セルなど)110
その他の即時拡張(すなわち、非整数;たとえば、
単一文字) 111 使用せず(ハードウェアにより支援される場
合は正方向ポインタ) Lj spは統計的にタイプ付けされておらず、また、
機能はタイプタグを検査することにより多形動作するよ
うに規定されているので、LIspコードの実行時には
次のシーケンスが繰返される。
機能入力
(このコードはインラインで非常に頻繁に拡張される)
引数のタグに関するケース
(いくつかのタグ値又はごく多数のタグ値でタイプ誤り
を表わせる) ケース解析に基づいて適切な演算を実行理論上は、いず
れの関数に関わるコードも、任意のタイプの引数と対抗
するように、タイプディスパッチに基づいて異なるコー
ドを実行するが、あるいは、タイプ誤りを検出して通報
することにより、準備されなければならないが、はぼ全
ての機能について、実際に発生するあらゆるケースのう
ち圧倒的大多数のものを1つの独特のタイプで明示して
いる。これは、CAR,CDR及び基本演算機能の基本
ケースに関して特に当てはまる。
を表わせる) ケース解析に基づいて適切な演算を実行理論上は、いず
れの関数に関わるコードも、任意のタイプの引数と対抗
するように、タイプディスパッチに基づいて異なるコー
ドを実行するが、あるいは、タイプ誤りを検出して通報
することにより、準備されなければならないが、はぼ全
ての機能について、実際に発生するあらゆるケースのう
ち圧倒的大多数のものを1つの独特のタイプで明示して
いる。これは、CAR,CDR及び基本演算機能の基本
ケースに関して特に当てはまる。
以下、添付の図面を参照して本発明の詳細な説明する。
本発明による装置及び方法は、1988年lO月7日出
願の同時係属出願ノAPOLL−105XX(名称rM
ethodand Apparatus ror Co
ncurrent Dlspatch of’ In−
5LrucLlons to Multlple Pu
nctlonal Units J )、あるいは、一
連の命令が記憶されている命令キャッシュ102又はそ
の他の記憶場所などの発生源から、一般にはプログラム
カウンタパイプライン132と組合されているプログラ
ムカウンタ又はプログラムカウンタ発生器130により
順次供給されるアドレス信号に応答して提供される一連
の命令を受取る実行装r11110を有する他の公知の
プロセッサの中の1つに適用可能である。命令キャッジ
:L1G!により提供される命令は、実行装置110の
一部であるレジスタ112へ直接発行されても良いが、
従来の技術で知られている例に見られるように、命令パ
イプラインIO4に一時的に留まっていても良い。第1
図に示す実行装置110は、A)オペランドレジスタ1
14と、B)オペランドレジスタ118と、レジスタ1
14及び118のオペランドA)及びB)をそれぞれ受
取る演算論理装置(A L U)118とを含む。AL
ollgが提供した演算の結果は、レジスタ120に記
憶される。レジスタ12Gに記憶された結果はレジスタ
ファイル112へ送られた後、命令キャッシュ102か
ら命令パイプライン104を介して受取られた命令に従
って、オペランドレジスタ1.14.1111の一方に
選択的に提供されれば良い。
願の同時係属出願ノAPOLL−105XX(名称rM
ethodand Apparatus ror Co
ncurrent Dlspatch of’ In−
5LrucLlons to Multlple Pu
nctlonal Units J )、あるいは、一
連の命令が記憶されている命令キャッシュ102又はそ
の他の記憶場所などの発生源から、一般にはプログラム
カウンタパイプライン132と組合されているプログラ
ムカウンタ又はプログラムカウンタ発生器130により
順次供給されるアドレス信号に応答して提供される一連
の命令を受取る実行装r11110を有する他の公知の
プロセッサの中の1つに適用可能である。命令キャッジ
:L1G!により提供される命令は、実行装置110の
一部であるレジスタ112へ直接発行されても良いが、
従来の技術で知られている例に見られるように、命令パ
イプラインIO4に一時的に留まっていても良い。第1
図に示す実行装置110は、A)オペランドレジスタ1
14と、B)オペランドレジスタ118と、レジスタ1
14及び118のオペランドA)及びB)をそれぞれ受
取る演算論理装置(A L U)118とを含む。AL
ollgが提供した演算の結果は、レジスタ120に記
憶される。レジスタ12Gに記憶された結果はレジスタ
ファイル112へ送られた後、命令キャッシュ102か
ら命令パイプライン104を介して受取られた命令に従
って、オペランドレジスタ1.14.1111の一方に
選択的に提供されれば良い。
本発明にも参考として取入れられている、条件コードパ
イプライン122に関連する1988年10月18日出
願の同時係属出願人POLL−107XX (名称rc
enLral Processor Conditio
n Code and Appa−ratus J )
に説明されているように、演算論理装置は、レジスタ1
20に記憶されている結果と一致する4つの5TETビ
ットから成る条件コード(N、Z、V、C)を条件コー
ドパイプライン122に供給する。このパイプラインに
は条件コードL2及びz3も追加される。パイプライン
の条件コードの状態値はプログラムカウンタ発生器13
0に供給され、プログラムカウンタ発生器130は、条
件コードパイプライン122により提供された条件コー
ドと、レジスタファイル112により供給されるいずれ
かのブランチ宛先アドレス信号とに応答して、後続プロ
グラムカウンタ用命令アドレスをPCバイブライン13
2へ供給する。
イプライン122に関連する1988年10月18日出
願の同時係属出願人POLL−107XX (名称rc
enLral Processor Conditio
n Code and Appa−ratus J )
に説明されているように、演算論理装置は、レジスタ1
20に記憶されている結果と一致する4つの5TETビ
ットから成る条件コード(N、Z、V、C)を条件コー
ドパイプライン122に供給する。このパイプラインに
は条件コードL2及びz3も追加される。パイプライン
の条件コードの状態値はプログラムカウンタ発生器13
0に供給され、プログラムカウンタ発生器130は、条
件コードパイプライン122により提供された条件コー
ドと、レジスタファイル112により供給されるいずれ
かのブランチ宛先アドレス信号とに応答して、後続プロ
グラムカウンタ用命令アドレスをPCバイブライン13
2へ供給する。
本発明の一面によれば、4人力ORゲートから構成され
る論理素子124は、それぞれのオペランド114及び
116から提供されたオペランドの2つの最下位ビット
を受取る。本発明の1つの適用用途によれば、オペラン
ドレジスタ114及びl16に記憶されているオペラン
ドの3つの最下位ビットはタグ識別子ビットを構成し、
オペランドの整数状態は、下位の2つのビットにあるゼ
ロ値により示される。従って、AとBのオペランドレジ
スタ114及び11Bにそれぞれ存在するオペランドが
共に整数値を構成する場合、最下位ビットはゼロ値を有
するので、その結果、ORゲーH24の出力端子の状態
は論理値「0」となる。この論理値は条件コードバイブ
ライン122に入力され、そこで、プログラムカウンタ
発生器130は後続プログラムカウンタ用信号をPCパ
イプライン132に供給する。1、Ispプログラムの
中で数値データを処理するとき、オペランドレジスタ1
14及び11Bにより供給される信号の大多数は整数値
を構成するので、ORゲート124の出力は論理値「0
」となり、L2はゼロの値を有する。相対的に見れば頻
繁ではないが、オペランドは数値有効範囲などの異なる
タイプを成すときもあり、その場合には、ORゲート1
24の出力端子においてL2はゼロでない値を有する。
る論理素子124は、それぞれのオペランド114及び
116から提供されたオペランドの2つの最下位ビット
を受取る。本発明の1つの適用用途によれば、オペラン
ドレジスタ114及びl16に記憶されているオペラン
ドの3つの最下位ビットはタグ識別子ビットを構成し、
オペランドの整数状態は、下位の2つのビットにあるゼ
ロ値により示される。従って、AとBのオペランドレジ
スタ114及び11Bにそれぞれ存在するオペランドが
共に整数値を構成する場合、最下位ビットはゼロ値を有
するので、その結果、ORゲーH24の出力端子の状態
は論理値「0」となる。この論理値は条件コードバイブ
ライン122に入力され、そこで、プログラムカウンタ
発生器130は後続プログラムカウンタ用信号をPCパ
イプライン132に供給する。1、Ispプログラムの
中で数値データを処理するとき、オペランドレジスタ1
14及び11Bにより供給される信号の大多数は整数値
を構成するので、ORゲート124の出力は論理値「0
」となり、L2はゼロの値を有する。相対的に見れば頻
繁ではないが、オペランドは数値有効範囲などの異なる
タイプを成すときもあり、その場合には、ORゲート1
24の出力端子においてL2はゼロでない値を有する。
本発明によれば、ゼロでない値が条件コードバイブライ
ン122に取込まれて、プログラムカウンタ発生器13
0に入力されると、その結果、命令キャッシュ102に
より実行装置110に提供される命令の流れが変化して
、オペランドレジスタ114及び11Bの一方又は双方
で受取られる非整数データはその実際のタイプに従って
処理されるようになる。
ン122に取込まれて、プログラムカウンタ発生器13
0に入力されると、その結果、命令キャッシュ102に
より実行装置110に提供される命令の流れが変化して
、オペランドレジスタ114及び11Bの一方又は双方
で受取られる非整数データはその実際のタイプに従って
処理されるようになる。
さらに詳細にいえば、本発明によるシステム装置及び方
法は、図示のブロック線図50で示す構造により提供さ
れる、A (0) 、 A [1) 、 B (03
及びB〔1〕の論理和に等しいLIsp特定し2条件コ
ードと、L2.L2. (L2+V)及び(L2+V
)に等しい4つの新たなりR−COND術語とを追加す
るもので、その結果、整数に関する無作為演算のための
コードは、 第1のリスト EXTRACT、ecRa、婁0.tl、R31; R
a[l:01−00を検査EXTRACT、ccRb、
婁0.l11.R31、Rb[l:O] −ooを検査
BEQ、s4 1$ SvC#トラップ−コード;Ra→旧GNLIM又はタ
イプ誤り Is BEQ、 sr 23 SvC#トラップ−コード、 Rb−BIGNUM又は
タイプ誤り 2$演算、cc、Ra、Rh、Rc ;実際の演算を
実行BNV、sf’ 3$ SVC# )ラップ−コード;オーバフローBIGNU
M発生 3$ の内容から、次に示す例に縮小する。
法は、図示のブロック線図50で示す構造により提供さ
れる、A (0) 、 A [1) 、 B (03
及びB〔1〕の論理和に等しいLIsp特定し2条件コ
ードと、L2.L2. (L2+V)及び(L2+V
)に等しい4つの新たなりR−COND術語とを追加す
るもので、その結果、整数に関する無作為演算のための
コードは、 第1のリスト EXTRACT、ecRa、婁0.tl、R31; R
a[l:01−00を検査EXTRACT、ccRb、
婁0.l11.R31、Rb[l:O] −ooを検査
BEQ、s4 1$ SvC#トラップ−コード;Ra→旧GNLIM又はタ
イプ誤り Is BEQ、 sr 23 SvC#トラップ−コード、 Rb−BIGNUM又は
タイプ誤り 2$演算、cc、Ra、Rh、Rc ;実際の演算を
実行BNV、sf’ 3$ SVC# )ラップ−コード;オーバフローBIGNU
M発生 3$ の内容から、次に示す例に縮小する。
第2のリスト
演算、cc、Ra、Rb、Re ;実際の演算を
実行BXX、 sr −1$ SVC# トラップ−コード;オーバフローならば、B
IGNUM発生 l$;そうでなければ、タ イブ誤りをトラップ 整数演算はライン外ルーチンへの呼出しにより処理され
るので、実際の改善はこれらのコードフラグメントが示
唆するよりさらに大きい。L2ビットと、新たなりR−
COND術語との組合せにより、インライン整数コード
の発生が可能になる。
実行BXX、 sr −1$ SVC# トラップ−コード;オーバフローならば、B
IGNUM発生 l$;そうでなければ、タ イブ誤りをトラップ 整数演算はライン外ルーチンへの呼出しにより処理され
るので、実際の改善はこれらのコードフラグメントが示
唆するよりさらに大きい。L2ビットと、新たなりR−
COND術語との組合せにより、インライン整数コード
の発生が可能になる。
本発明の別の面は、前述のOR論理ゲート124と一致
して又はそれとは無関係に動作して、結果レジスタ12
0により供給される信号の3つの最下位ビットの補数の
、AND論理装置12Bによる3人力論理和組合せを得
る。論理信号ラベルZ3を提供する論理装置12Bの出
力は、結果信号の3つの最下位ビットがゼロである場合
に論理的にハイレベルの出力となる。これは、条件コー
ドパイプラインにも入力されて、命令キャッシュにより
提供される命令のシーケンスを相応して変更させる。
して又はそれとは無関係に動作して、結果レジスタ12
0により供給される信号の3つの最下位ビットの補数の
、AND論理装置12Bによる3人力論理和組合せを得
る。論理信号ラベルZ3を提供する論理装置12Bの出
力は、結果信号の3つの最下位ビットがゼロである場合
に論理的にハイレベルの出力となる。これは、条件コー
ドパイプラインにも入力されて、命令キャッシュにより
提供される命令のシーケンスを相応して変更させる。
本発明によれば、プログラム命令シーケンスはAオペラ
ンドか、Bオペランドのいずれか一方のタグの検査を要
求することが多く、そのようなタグ検査は、記憶値を検
査するために採用されるゼロ試験について一般に使用さ
れるブランチと同様に、一方のオペランドのタグと、他
方のオペランドの3ビット値との間の減算又はその他の
論理的組合せにより実行される。このように、本発明に
よる装置は、タグをデータの残る部分から隔離するため
の明示の過程を必要とせずに、タグ値の試験を実行する
ことができる。
ンドか、Bオペランドのいずれか一方のタグの検査を要
求することが多く、そのようなタグ検査は、記憶値を検
査するために採用されるゼロ試験について一般に使用さ
れるブランチと同様に、一方のオペランドのタグと、他
方のオペランドの3ビット値との間の減算又はその他の
論理的組合せにより実行される。このように、本発明に
よる装置は、タグをデータの残る部分から隔離するため
の明示の過程を必要とせずに、タグ値の試験を実行する
ことができる。
新たな23条件コードは、フィールドmuxからの下位
の3ビットと、加算される15と、2つの新たなりR−
COND術語との3方否定論理和に等しくこれは、タグ
比較を、 第3のりスト EXTRACT Ra、$0.11.$2.Rb5L
IB、 cc #タグ、 Rb、R31BCQ/BNE
Qラベル という例から、下記の例 第4のりスト SUB、 cc #タグ、 Rb、R311323/B
NZ3 ラベル;又は可能ならばSVCに縮小するも
のと考えられる。
の3ビットと、加算される15と、2つの新たなりR−
COND術語との3方否定論理和に等しくこれは、タグ
比較を、 第3のりスト EXTRACT Ra、$0.11.$2.Rb5L
IB、 cc #タグ、 Rb、R31BCQ/BNE
Qラベル という例から、下記の例 第4のりスト SUB、 cc #タグ、 Rb、R311323/B
NZ3 ラベル;又は可能ならばSVCに縮小するも
のと考えられる。
本発明は特許請求の範囲を除く何物にも限定されてはな
らず、通常の当業者が実施する変形や変更は本発明の範
囲内に含まれると考えられる。
らず、通常の当業者が実施する変形や変更は本発明の範
囲内に含まれると考えられる。
添付の図面は、本発明によるシステムのブロック線図で
ある。 102・・・命令キャッシュ 104・・・命令バイブ
ライン11G・・・実行装置 114.118・・・オペランドレジスタl18・・・
演算論理装置 12G・・・レジスタ122・・・条
件コードパイプライン
ある。 102・・・命令キャッシュ 104・・・命令バイブ
ライン11G・・・実行装置 114.118・・・オペランドレジスタl18・・・
演算論理装置 12G・・・レジスタ122・・・条
件コードパイプライン
Claims (1)
- 【特許請求の範囲】 1、それぞれのタイプが明確に異なるビットパターンを
有するような少なくとも第1と、第2のデータタイプを
混合したものが処理されるプロセッサで使用するための
プロセス実行装置において、 第1のオペランドと、第2のオペランドとを提供する第
1のオペランドレジスタ及び第2のオペランドレジスタ
と; プログラム命令を提供する手段と; 前記第1のオペランド及び第2のオペランドを受取り、
それらから、前記第1のオペランド及び第2のオペラン
ドと、プログラム命令とに従って結果を形成する演算論
理装置と; 前記第1のオペランド及び第2のオペランドを受取るよ
うに接続されて、前記第1のオペランド及び第2のオペ
ランドの少なくとも一方のタイプを識別し、そのオペラ
ンドのタイプ識別に応答して条件コードを提供するゲー
ト手段と; 前記条件コードと、前記プログラム命令とに応答する条
件試験手段とを具備し、前記プログラム命令により規定
されるプロセスが前記オペランドの少なくとも一方に対
して不適正である場合、代替命令が前記演算論理装置に
提供されるプロセス実行装置。 2、前記データタイプはオペランドデータと、非オペラ
ンドデータとを含む請求項1記載のプロセス実行装置。 3、前記整数データは特定の下位ビットにより識別され
; 前記ゲート手段は、前記第1のオペランド及び第2のオ
ペランドの前記特定の下位ビットを受取る請求項2記載
のプロセス実行装置。 4、前記整数データは2つの最下位ビットに関してゼロ
の値を有し; 前記ゲート手段は、2つのオペランドが共に整数データ
であるときに第1の状態を有し、その他の場合には第2
の状態を有する1ビットの条件コードを提供する請求項
3記載のプロセス実行装置。 5、第1のオペランド及び第2のオペランドを提供する
手段と; 命令を提供する手段と; 前記第1のオペランド及び第2のオペランドと、前記命
令とを受取り、それらから結果を提供する実行手段と; 前記結果の特定の下位ビットを特定するゲート手段とを
具備し; 前記第1のオペランド及び第2のオペランドの最下位ビ
ットはタグビットから成り; 前記ゲート手段の出力は前記タグビットの試験結果を提
供する、ブランチ試験を実行するコンピュータシステム
。 6、前記第1のオペランド及び第2のオペランドは、最
上位ビットと、最下位ビットとにそれぞれ関連する上部
と、下部とをそれぞれ含み; 前記下部のうち少なくとも3つは、前記上部のデータタ
イプを示すタグデータを含み; 前記実行手段は、1つのオペランドタグの選択された第
2のオペランドによる試験を実行し、そのタグと選択さ
れた第2のオペランドとが等価であることを示すゼロビ
ット量が前記ゲート手段により検出され; 前記実行手段は、ゼロでないビット量の検出時に後続命
令を受取って、新たな結果を提供するように動作する請
求項6記載のコンピュータシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/259,792 US5045992A (en) | 1988-10-19 | 1988-10-19 | Apparatus for executing instruction regardless of data types and thereafter selectively branching to other instruction upon determining of incompatible data type |
| US259792 | 1994-06-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02211535A true JPH02211535A (ja) | 1990-08-22 |
Family
ID=22986407
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1270138A Pending JPH02211535A (ja) | 1988-10-19 | 1989-10-17 | コンピュータプロセッサ実行装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5045992A (ja) |
| EP (1) | EP0365186A3 (ja) |
| JP (1) | JPH02211535A (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5150470A (en) * | 1989-12-20 | 1992-09-22 | International Business Machines Corporation | Data processing system with instruction queue having tags indicating outstanding data status |
| JP2918019B2 (ja) * | 1995-08-30 | 1999-07-12 | 日本電気株式会社 | シングルチップマイクロプロセッサのテスト回路 |
| US6195746B1 (en) | 1997-01-31 | 2001-02-27 | International Business Machines Corporation | Dynamically typed register architecture |
| US6035390A (en) * | 1998-01-12 | 2000-03-07 | International Business Machines Corporation | Method and apparatus for generating and logically combining less than (LT), greater than (GT), and equal to (EQ) condition code bits concurrently with the execution of an arithmetic or logical operation |
| JP4626032B2 (ja) * | 2000-08-28 | 2011-02-02 | 株式会社デンソー | プログラム変換装置,プログラム変換方法及び記録媒体 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59188879A (ja) * | 1982-12-17 | 1984-10-26 | シンボリツクス・インコ−ポレ−テツド | デ−タプロセツサ |
| JPS61182137A (ja) * | 1985-02-07 | 1986-08-14 | Fujitsu Ltd | タグ付デ−タ処理装置 |
| JPS63157241A (ja) * | 1986-12-22 | 1988-06-30 | Toshiba Corp | 関数型処理装置 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4068299A (en) * | 1973-12-13 | 1978-01-10 | Honeywell Information Systems, Inc. | Data processing system incorporating a logical compare instruction |
| US4241397A (en) * | 1977-10-25 | 1980-12-23 | Digital Equipment Corporation | Central processor unit for executing instructions with a special operand specifier of indeterminate length |
| US4467409A (en) * | 1980-08-05 | 1984-08-21 | Burroughs Corporation | Flexible computer architecture using arrays of standardized microprocessors customized for pipeline and parallel operations |
| US4445177A (en) * | 1981-05-22 | 1984-04-24 | Data General Corporation | Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions |
| US4797808A (en) * | 1981-06-22 | 1989-01-10 | Texas Instruments Incorporated | Microcomputer with self-test of macrocode |
| US4491908A (en) * | 1981-12-01 | 1985-01-01 | Honeywell Information Systems Inc. | Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit |
| US4757445A (en) * | 1983-09-12 | 1988-07-12 | Motorola, Inc. | Method and apparatus for validating prefetched instruction |
| EP0167333A3 (en) * | 1984-07-05 | 1988-11-30 | Texas Instruments Incorporated | Data processing apparatus with data type classifier |
| US4785393A (en) * | 1984-07-09 | 1988-11-15 | Advanced Micro Devices, Inc. | 32-Bit extended function arithmetic-logic unit on a single chip |
-
1988
- 1988-10-19 US US07/259,792 patent/US5045992A/en not_active Expired - Lifetime
-
1989
- 1989-10-06 EP EP19890310269 patent/EP0365186A3/en not_active Withdrawn
- 1989-10-17 JP JP1270138A patent/JPH02211535A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59188879A (ja) * | 1982-12-17 | 1984-10-26 | シンボリツクス・インコ−ポレ−テツド | デ−タプロセツサ |
| JPS61182137A (ja) * | 1985-02-07 | 1986-08-14 | Fujitsu Ltd | タグ付デ−タ処理装置 |
| JPS63157241A (ja) * | 1986-12-22 | 1988-06-30 | Toshiba Corp | 関数型処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0365186A3 (en) | 1991-12-18 |
| EP0365186A2 (en) | 1990-04-25 |
| US5045992A (en) | 1991-09-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4109310A (en) | Variable field length addressing system having data byte interchange | |
| US5038348A (en) | Apparatus for debugging a data flow program | |
| US6247124B1 (en) | Branch prediction entry with target line index calculated using relative position of second operation of two step branch operation in a line of instructions | |
| JP3649470B2 (ja) | データ処理装置 | |
| RU2109333C1 (ru) | Цифровой компьютер с возможностью параллельного выполнения двух и более команд | |
| US4297743A (en) | Call and stack mechanism for procedures executing in different rings | |
| US9383999B2 (en) | Conditional compare instruction | |
| US5109514A (en) | Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions | |
| US3881173A (en) | Condition code determination and data processing | |
| US3585605A (en) | Associative memory data processor | |
| EP0071028A2 (en) | Instructionshandling unit in a data processing system with instruction substitution and method of operation | |
| EP0155211A2 (en) | System for by-pass control in pipeline operation of computer | |
| JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
| KR940018742A (ko) | 슈퍼스칼라 프로세서 시스템에서 복수의 명령어를 단일 사이클로 디스패치하기 위한 방법 및 장치 | |
| US4062058A (en) | Next address subprocessor | |
| EP0433864A2 (en) | Minimizing hardware pipeline breaks using software scheduling techniques during compilation | |
| EP0080901A2 (en) | Data processing apparatus | |
| EP0094535A2 (en) | Pipe-line data processing system | |
| EP0317473A2 (en) | Microcode branch based upon operand length and alignment | |
| WO2002057908A2 (en) | A superscalar processor having content addressable memory structures for determining dependencies | |
| US4028670A (en) | Fetch instruction for operand address calculation | |
| JPH02211535A (ja) | コンピュータプロセッサ実行装置 | |
| US6370589B1 (en) | Process for performing at least one test on at least one of the objects of an object-oriented program capable of running in parallel on a computer | |
| CA1182579A (en) | Bus sourcing and shifter control of a central processing unit | |
| US20050273313A1 (en) | Emulating the operation of a video graphics adapter |