JPH0827708B2 - Alu状況判定装置 - Google Patents

Alu状況判定装置

Info

Publication number
JPH0827708B2
JPH0827708B2 JP3507369A JP50736991A JPH0827708B2 JP H0827708 B2 JPH0827708 B2 JP H0827708B2 JP 3507369 A JP3507369 A JP 3507369A JP 50736991 A JP50736991 A JP 50736991A JP H0827708 B2 JPH0827708 B2 JP H0827708B2
Authority
JP
Japan
Prior art keywords
adder
alu
zero
carry
stage
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
Application number
JP3507369A
Other languages
English (en)
Other versions
JPH04505822A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Priority claimed from US07/504,910 external-priority patent/US5051940A/en
Priority claimed from US07/619,868 external-priority patent/US5301341A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04505822A publication Critical patent/JPH04505822A/ja
Publication of JPH0827708B2 publication Critical patent/JPH0827708B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 [関連特許出願] 本特許出願は、優先権を主張し、下記の特許出願の米
国一部継続特許出願として取り扱うべきものである。
(1)1990年4月4日出願の“Data Dependency Collap
sing Hardware Apparatus"と題する、スタマティス・ヴ
ァッシリアディス(Stamatis Vassiliadis)他の米国特
許出願第07/504910号(IBMドケットEN9−90−014)。
(2)1990年11月28日出願の“Overflow Determination
for Three−Operand ALUS in a Scalable Compound In
struction Set Machine"と題するスタマティス・ヴァッ
シリアディス他の米国特許出願第07/619868号(IBMドケ
ットEN9−90−033)。
本特許出願は、下記の特許出願に開示された内容と関
係がある。
(3)1991年3月29日出願の本願と同時に出願された
“High Performance Interlock Collapsing ALU Appara
tus"と題するスタマティス・ヴァッシリアディス他米国
特許出願第677079号(IBMドケットEN9−91−005)。
さらに、本出願の内容は、他の応用分野および用途も
有するが、下記の追加の特許出願によって定義されるス
ケーラブル複合命令セット計算機(SCISM)に関連して
使用することができる。
本特許出願は、下記の同時係属の米国特許出願に関係
する。
(1)1990年5月4日出願の、“Scalable Compound In
struction Set Machine Architecture"と題するスタマ
ティス・ヴァッシリアディス他の米国特許出願第07/519
384号(IBMドケットEN9−90−020)。
(2)1990年5月4日出願の“General Purpose Compou
nd Apparatus For Instruction−Level Parallel Proce
ssors"と題するリチャード・J・アイケマイヤー(Rich
ard J.Eichemeyer)他の米国特許出願第07/519382号(I
BMドケットEN9−90−019)。
(3)1990年5月10日出願の“Compounding Preprocess
or For Cache"と題するバーソロミュー・ブラナー(Bar
tholomew Blaner)他の米国特許出願第07/522219号(IB
MドケットEN9−90−012)。
(4)1990年6月26日出願の“An In−Memory Preproce
ssor for a Scalable Compound Instruction Set Machi
ne Processor"と題するリチャード・J・アイケマイヤ
ー他の米国特許出願第07/543464号(IBMドケットEN9−9
0−018)。
(5)1990年6月26日出願の“Memory Management for
Scalable Compound Instruction Set Machines With In
−Memory Compounding"と題するリチャード・J・アイ
ケマイヤー他の米国特許出願第07/543458号(IBMドケッ
トEN9−90−042)。
(6)1991年1月16日出願の“Compounding Preprocess
or for Cache"と題するバーソロミュー・ブラナー他の
米国特許出願第07/642011号(IBMドケットEN9−90−04
9)。
(7)1991年3月29日出願の“System for Compounding
Instructions for an Instruction Processor With Di
fferent Attributes With Apparatus for Handling Tes
t and Data With Differing Reference Point Informat
ion and Backward Compounding Apparatus for Compoun
d Instructions"と題するリチャード・アイケマイヤー
他の米国特許出願第677066号(IBMドケットEN9−90−03
9)。
(8)1991年3月29日出願の“System for Preparing I
nstructions for Instruction Parallel Processor and
System with Mechanism for Branching in the Middle
of a Compound Instruction"と題するS・ヴァッシリ
アディス他の米国特許出願第677685号(IBMドケットEN9
−90−040)。
これらの同時係属出願および本願は、同一の譲受人、
すなわち米国ニューヨーク州アーモンクのインターナシ
ョナル・ビジネス・マシーンズ・コーポレーション(In
ternational Business Machines Corporation)が所有
する。
[技術分野] 本発明は、演算論理機構(ALU)の分野に関し、「加
算/論理組合せ演算」を有する命令対を並列に実行す
る、新しい計算機編成に関する。「加算/論理組合せ演
算」とは、加算−加算、加算−論理、論理−加算、およ
び論理−論理機能という4つの組合せのすべてを組み合
わせることを意味する。本発明はまた、それぞれがALU
演算を指定する複数の別々の命令の並列発行に応答し、
命令を並列に実行する単一のALUによって、2つ以上の
分離されたALU演算が指定される計算機編成に関し、具
体的には、3−1演算論理機構またはALUの状況の予測
に関する。
[背景技術] 従来のアーキテクチャは、RISC、IBMシステム/360、
システム/370等のシステムによって代表されるスカラー
型のものである。さらに、ウルフ(Wulf)他の米国特許
第4819155号明細書、およびオオタ(Oota)の米国特許
第485204号明細書に記載されているような装置がある。
W.A.ウルフの論文"The WM Computer Architecture",Com
puter Architecture News,1988年3月も参照されたい。
ウルフの装置は、スカラー処理ではなくてベクトル処理
用であるが、2つのオペランドを1つのALU内で組み合
わせて第1実行サイクルで結果を得、続いて、この結果
と第3のオペランドを第2のALUに供給して、第2実行
サイクルで結果を得ることが教示されている。この参考
文献は、既知のスーパースカラー計算機に類似したパイ
プライン方式を、性能向上の1つの方法として示唆して
いる。
パイプライン方式は、コンピュータ・システムの性能
を向上させるため、コンピュータ設計者によって使用さ
れる標準的な技法である。パイプライン方式では、1つ
の命令を複数のステップまたは段に分割し、それらに対
して独自のハードウェアを割り振って、その段に割り当
てられた機能を実施する。パイプラインを使用しない対
応する実施様態のサイクル・タイムをmとすると、n段
パイプライン実施様態のサイクル・タイムがm/nである
と仮定した場合、最適のパイプライン実施様態のサイク
ル・タイムはm/nとなる。もう1つの既知の技法がスー
パースカラーであるが、これを用いると、厳密に先入れ
先出しの原則に基づいてグループ化された命令が、同時
に発行できるようになる。スーパースカラー計算機は、
スケーラブル複合命令セット用には設計されなかった。
スケーラブル複合命令セットでは、元来一緒に記述する
必要のない関連する命令を、並列実行のため、複数セッ
トの単位命令として発行することができる。
命令の並列実行は、妥当なコストでプロセッサ性能を
改善するための一般的な技法になっている。基本命令の
並列実行が本発明によって達成されるにもかかわらず、
本発明では命令の並列実行自体を新規なものとは見なさ
ない。そうではなくて、本発明は、3−1加算器の状況
の予測に関する。上記の加算器は、命令を並列に処理す
るシステムで使用できる。
3−1加算器を実施することは既知である。これは、
3−2桁上げ保存加算器(CSA)と、それに続く2−1
桁上げ先見加算器(CLA)からなる。S.ヴァッシリアデ
ィスおよびM.プトリノ(Putrino)は、ALU内のクリティ
カル・パスが、結果がゼロに等しいとの判定によって、
通常は制限されることを知った。彼等は、論文"Conditi
on code predictor for fixed−point arithmetic unit
s",Int.J.Electronics,Vol.66,No.6,pp.887−890,1989
年で、2−1の2の補数加算器について結果がゼロに等
しいことを予測する方法を提案した。しかしながら、そ
の著者と本発明の共同発明者の1人が認める所では、そ
の方法は、3−1加算器には適用できない。
1つの既知の形態2−1CLAについての議論が、S.ヴァ
ッシリアディスの論文"Recursive Equations for Hardw
are Binary Adders",Int.J.Electronics,Vol.67,No.2,p
p.201−213,1989年に見られる。この論文は、ハードワ
イヤ式2進加算器について論じたものである。この論文
から、本発明の好ましい実施例で使用されるCLAの段を
記述するのに使用するブール式中のビット位置nでの擬
似生成と伝達を表わす既知の量▲Gx n▼とTnの定義を参
照することができる。本発明の理解を容易にするため、
これらについては、好ましい実施例の説明中で述べるブ
ール式およびブックセット中で正確に詳述する。以下の
説明では、1変数の真の論理値の生成だけを、段毎の遅
延の形で提示する。ただし、上記のブックセットは、現
在利用可能な技術に共通しており、そのブックセット内
に類似の特性または等価な機能能力を有する他の技術に
拡張できるので、これらの仮定は、この議論の適用可能
性を制限しようとするものではなく、また実際にも制限
していない。
関連発明の背景 インターナショナル・ビジネル・マシーンズ社から市
販されているシステム/370は、ある種のインターロック
式命令を並列に実行されるようにすることができ、参照
特許出願で最初に開示されたように、スケーラブル複合
命令セット計算機の用件を制限付きで実現することがで
き、たとえば米国特許出願第07/642011号(IBMドケット
EN9−90−049)など他の特許出願で、スケーラブル複合
命令セット計算機用の他のALUとして使用できる可能性
などの提案がなされている。これらの既存のプロセッサ
は、このようなものとして広く使用されてきたわけでは
なく、このような使用の可能性に関する刊行物も存在し
ていないが、本明細書で優先権が主張された後に出願さ
れた特許出願中で、いくつかの態様でこの可能性が述べ
られている。
さらに、背景として、最初のインターロック解消ALU
は、1990年4月4日出願の"Data Dependency Collapsin
g Ilardware Apparatus"と題するスタマティス・ヴァッ
シリアディス他の米国特許出願第07/504910号(IBMドケ
ットEN9−90−014)および1990年11月28日出願の"Overf
low Determination for Three−Operand ALUs in a Sca
lable Compound Instruction Set Machine"と題するス
タマティス・ヴァッシリアディス他の米国特許出願第07
/619868号(IBMドケットEN9−91−033)に記載されてい
る。本出願は、これらの発明から優先権を主張する。本
発明の目的は、演算論理機構(ALU)用の新装置と、加
算−加算、加算−論理、論理−加算および論理−論理機
能という4つの組合せのすべてを組み合わせることを意
味する「加算/論理組合せ演算」を有する命令を定義す
るアーキテクチャと共に実施できる装置を提供するこ
と、およびそれぞれがALU演算を指定する複数の別々の
命令の並列発行に応答し、命令を並列に実行する単一の
インターロック解消ALUによって、2つ以上の分離され
たALU演算が指定されるアーキテクチャを提供すること
である。したがって、本発明が提供する特徴として、複
数の別々のオペランドが、同一の実行サイクル中に実行
ユニット(ALU)に渡され、また、これらを第3のオペ
ランドと共に実行ユニットに渡すこともできる。単一の
実行サイクルの終りに、2つの結果が生成され、使用可
能になる。一方の結果は、第1ALUによって生成すること
ができ、もう一方の結果は、第2ALUによって生成するこ
とができる。
したがって、データ依存性解消ハードウェア装置に
は、大まかにいって、第1の命令が結果を生成しそれを
第2の命令が使用するような複数のスカラー命令を受け
取る命令装置があり、少なくともそのうちの2つが第1
と第2のスカラー命令によって使用されるような複数の
オペランドを同時に発行する装置があり、実行ユニット
は、複数のスカラー命令を実行する動作を指示する制御
信号の下で、単一のサイクル中に、オペランド群に基づ
く動作群の実行に対応する単一の結果を生成する。(こ
のような装置の提案の詳細については、上記に参照し
た、米国特許出願第07/504910号を参照されたい。) SCISMアーキテクチャは、370アーキテクチャのみなら
ず、RISCを含む他のアーキテクチャにも適用可能であ
る。この場合、あるALUに対して指定された複数の命令
が並列に発行され実行される場合に、望ましくはより高
速で動作する開発済みのアプリケーションの性能を向上
させることが望ましい。上記のシステムによって、新規
のハードウェアが、旧来の命令をより高速で実行できる
ようになり、新規のアーキテクチャを有する新規の計算
機用に旧来のプログラムをプログラミングし直す必要が
少なくなる。
本明細書の開示対象である装置は、命令の並列実行に
適用でき、関連発明の環境で特に有利であり、スケーラ
ブル複合命令セット計算機アーキテクチャ(以下ではSC
ISMアーキテクチャと称する)など、複数の命令を並列
に発行し実行するアーキテクチャにとって特に有利であ
る。
命令の並列実行によって得られるスピードアップは、
一部にはインターロックとも称するデータ依存性が原因
で、理想値を下回っていた。このインターロックに起因
する性能低下を減少させるために、インターロック解消
ALUが、前述の米国特許出願第07/504910号で提供され、
すべての「加算/論理組合せ演算」を処理する装置が、
高性能インターロック解消ALU装置に関する上記の特許
出願で開示された。インターロック解消ALUは、インタ
ーロックを有する命令対の第1の命令が従来のALUで実
行されると同時に、両方の命令がインターロック解消AL
U内で同時に実行されるという形で、従来の2−1ALUと
共に使用される。命令対がインターロックを有さない場
合には、従来のALUが第1の命令を実行すると同時に、
インターロック解消ALUが第2の命令だけを実行する。
ALUは、正しい結果を生じるのみならず、状況を正確
に報告しなければならない。この状況としては、負の結
果、正の結果、ゼロに等しい結果、およびオーバーフロ
ーを含めることができる。インターロック解消ALUで
は、この状況は、上記の1990年11月28日出願の米国特許
出願第07/619868号に示されるように、第1の命令の結
果を使用して第2の命令が単独に実行される場合と同様
に報告しなければならない。ALU状況は、最上位ビット
(MSB)へのまたはそこからの桁上げが既知で、結果が
ゼロに等しいと判定できる場合に決定できる。ゼロに等
しい結果の判定は、その結果を予測する方法が見つから
ない場合、最悪でも結果から行なうことができる。演算
が正しい場合、インターロック解消ALUから得られた結
果は、逐次式実施態様を介して得られる結果と同じにな
るので、この方法を用いたゼロに等しい結果の生成は、
正確である。したがって、インターロック解消ALU内でA
LU状況を生成するという問題は、第2の命令の実行に起
因するMSBへの桁上げまたはそのMSBからの桁上げを抽出
するという問題に還元することができる。これらの桁上
げは、インターロック解消ALUの実行中に明示的に作成
されるものではないので、インターロックを有する命令
対の同時実行中に生成される情報から抽出しなければな
らない。3−1加減演算中にこれらの桁上げを抽出する
ためのアルゴリズムも、上記の1990年11月28日に出願さ
れた米国特許出願第07/619868号に示されている。3−
1加減演算は、2つの算術命令間のインターロックを解
消することから生じる。そのアルゴリズムを以下に示
す。
c0=κ0∀λ0∀φ0 c1=κ1∀λ1∀φ1 上式で、c0とc1は、第2の演算から生じたMSBからの
桁上げまたはそのMSBへの桁上げを表わし、κ0とκ
1は、第1の命令の実行中に作成された桁上げを表わ
し、λ0とλ1は、桁上げ保存加算器CSAで生成された桁
上げを表わし、φ0とφ1は、3−1加算器に使用される
桁上げ先見加算器CLAで生成された桁上げを表わす。式
中、∀は、ビットごとの排他的論理和演算を表わす。し
たがって、第1の関数カテゴリーを実行する際にc0とc1
を抽出するための、実施可能なアルゴリズムが既知であ
る。
上記の我々自身の成果は、下記の領域で改良すること
ができる。
1.本システムは、3−1ALUで実行する必要のあるすべて
の関数カテゴリーに適用可能にすることができる。
2.本システムは、適用可能なカテゴリーでも、サイクル
・タイムを延長しないクリティカル・パスを作成する。
3.追加の要素と機能を設けて、これまでには処理されな
かった、ALUの制御に必要な複雑なことをすべて処理す
ることができる。
ただし、関数カテゴリーとは、下記を意味する。
A+B+Γ 算術演算とそれに続く算術演算 B+(A LOP Γ) 論理演算とそれに続く算術演算 B LOP(A+Γ) 算術演算とそれに続く論理演算 B LOP(A LOP Γ) 論理演算とそれに続く論理演算 従来の研究では、算術演算に続いて算術演算のカテゴ
リーしか考察していない。
[発明の開示] 本明細書では、すべての関数カテゴリーを含む桁上げ
抽出を提示する。また、3−1ALU演算のオーバーフロー
を予測する手段を提供する。算術演算とその後に続く算
術演算と、論理演算とその後に続く算術演算のカテゴリ
ー用の、ゼロに等しい結果を予測するハードウェアを提
示する。高速3−1ALUと比較すると、ここに提案する装
置はクリティカル・パスを構成しないことを証明する。
2つの実施カテゴリーに分類される3種の高速3−1ALU
に関する並列状況判定を提供する。
本発明者等の各発明の好ましい実施例の実施様態を、
以下の詳細な説明で詳述する。本発明ならびにその長所
および特徴をよりよく理解するため、より詳細な背景に
ついて、関連発明の明細書を参照されたい。さらに、特
に本明細書に記載の改良に関しては、下記の説明と添付
の図面を参照されたい。
[図面の簡単な説明] 第1図は、3−1ALUと並列状況予測機構を示す図であ
る。
第2図は、並列状況予測のための桁上げの並列抽出を
示す図である(第1実施例)。
第3図は、並列状況予測のための桁上げの並列抽出を
示す図である(第2実施例)。
第4図は、並列状況予測のためのオーバーフローの並
列抽出を示す図である(第1実施例)。
第5図は、並列状況予測のためのオーバーフローの並
列抽出を示す図である(第2実施例)。
第6図は、並列状況予測のためのゼロに等しい結果の
並列抽出を示す図である(全実施例)。
[発明の好ましい実施例] 並列状況判定の実施例の実現可能性を証明するために
は、クリティカル・パスの比較を行なうための基礎とし
て高速ALU実施様態を仮定しなければならない。我々
は、既知の最高速の3−1ALU実施様態、すなわち、本発
明と同時に出願され、上記の参照によって本明細書に合
体された米国特許出願第07/677079号(IBMドケットEN9
−91−005)に開示される装置によって実現されるALU実
施様態を仮定する。本発明を説明する際、それぞれが方
式として公知になっている可能性のある、本発明者等の
様々な発明の好ましい実施例の実施様態を実現する方程
式の開示によって、本発明を例示する。
第1の実施方式の桁上げ抽出 この実施方式では、ビット位置iのCSAからの桁上げ
を次式で表わす。
λi=αiβi+αiγi+βiγi 上式で、αi、βi、γiは、それぞれALUの入力、Ai
Bi、Γiに対応するCSAへの入力を表わす。式中、+は、
ビットごとの論理和(OR)を表わし、項の隣接は、ビッ
トごとの論理積(AND)を表わす。入力AおよびΓは、
第1の命令用のオペランドを含み、入力Bは、第2のイ
ンターロックを有する命令用の独立したオペランドを含
む。CSAへの入力はいずれも、第1図に示すように、強
制的に0にされるか、あるいは対応する入力を供給され
る。
まず、3−1加算について検討する。この場合、CSA
桁上げは、 λi=AiBi+AiΓi+BiΓi すなわち、上記の桁上げ抽出アルゴリズムで望まれる、
3−1加算に適したCSA桁上げである。さらに、第1の
命令に起因するビット位置iの桁上げは、CSA入力αi
よびγiから生成することができる。CLA技法を使用する
と、下記のように、このビット位置0および1の桁上げ
κ0およびκ1は、仮定されたブックセットを使用して次
のように3段で生成できる。
上式で、▲G*m n▼、▲Tm n▼、▲φm n▼は、それぞれビ
ット位置mからビット位置nへの、擬似伝播、伝達、新
桁上げを表わし、▲G* n▼およびTnは、それぞれビット
位置nでの擬似生成と伝達を表わす。これらの数量の定
義は、上記のInt.J.Elec.Vol.67,No.2に見られる。ま
た、τ2は、第1命令の実行中に供給されたホット・ワ
ンを表わす。3−1加減演算で有効な結果を得るため
の、十分要件ではあるが多分必要要件ではない、τ2
関する1組の要件が、上記の1990年11月28日に出願され
た米国特許出願第07/619868号に示されている。この要
件を要約すると、次の通りである。
(1)3−1ALUに2個のホット・ワンが供給される場
合、τ2=1である。
(2)3−1ALUにホット・ワンが供給されない場合は、
τ2=0である。
(3)論理演算の結果と第3のオペランドを加減算する
場合は、τ2=0である。
上記の論理式によれば、第2の関数カテゴリーを実行
する時には、κ0とκ1が共に0になる。この結果が生ず
るのは、この関数カテゴリーの実行時にαとγが共に強
制的に0にされるからであるあ。αとγが共に0である
と、擬似生成と伝達のすべてが0になる。さらに、τ2
が0であるので、新桁上げφiもすべて0になる。した
がって、κ0とκ1の式の文字項のすべてが0になり、こ
の式の結果も0になる。κ0とκ1が共に0であり、上述
したようにλ0とλ1が共に0であるので、桁上げc0およ
びc1を抽出するアルゴリズムは、 c0=0∀0∀φ0=φ0 c1=0∀0∀φ1=φ1 となる。したがって、抽出された桁上げは、望まれるCL
Aからの桁上げと等しくなる。
複合命令対の第2の命令から生じた桁上げを抽出する
必要があるのは、[背景技術]の項で、特に上記の米国
特許出願第07/619868号に関して論じた関数カテゴリー
のうち最初の2つの場合だけである。
κ0とκ1を生成するための段ごとの実施様態は、上記
の通りである。この実施様態に、λ0、λ1、φ0、φ1
導き、最終的にC0とc1を導く式を追加して、C0とc1を生
成する実施様態を完成しなければならない。第1の実施
方式の段ごとの説明を以下で行なう。この説明では、κ
0とκ1を生成するための擬似生成と伝達には、下付き文
字cc(桁上げ補正)を付けて、φ0とφ1を生成する3−
1加算/減算で使用されるCLAの擬似生成と伝達から区
別する。各段の式を以下に示す。
c0の計算を除く上記のすべての式は、第2の命令に起
因する桁上げを抽出するアルゴリズムを直接適用する
か、あるいは上記Int.J.Elec.Vol.67,No.2に記載のハー
ドワイヤ式2進加算器用の帰納式から得られたものであ
る。c0を求める式は、次のように導かれる。
ところが、φ0は、次のように表わすことができる。
φ0=T0Φ0 下記のΦ0の式 をφ0の式に代入すると、次式が得られる。
T1Φ1はφ1であるので、φ0は、次式で表わせる。
c0を生成する式にこのφ0の式を代入すると、次式が得
られる。
上記の式を排他的論理和の標準的な積和に展開すると、
次式が得られる。
ところが、T0G* 0は、次式のように変形できるので、 これをc0の式に代入すると、次式が得られる。
これが、5段の実施様態で使用される式である。したが
って、c0とc1は共に、この実施方式に対して仮定したブ
ックセットを用いて5段で生成することができる。第1
の実施方式のc0とc1の生成の論理図を第2図に示す。
第2の実施方式の桁上げ抽出 桁上げ抽出アルゴリズムを第2の方式に適用してSCIS
M ALUを実施しようとすると、複雑になる。この複雑さ
が生じるのは、3−1加算が望まれない時にλiとκi
論理0になる保証がないためである。たとえば、この実
施様態のCSA桁上げは、上記米国特許出願第07/504910号
によって、次のように計算される。
λ0=Ω1α0β0+Ω2α0γ0+Ω1β0γ0 λi=Ω1αiβi+Ω2αiβi+Ω1βiγi+Ω3βi-1
i31 λ32=Ω3β313τ2 この実施様態で第2の関数カテゴリーを実行するに
は、1≦i≦32のときにλiがBi-1に等しくなることが
必要である。これは、Ω1、Ω2、τ2を論理0にすると
同時にΩ3を論理1にすることによって達成できる。し
たがって、λ1は、ALU入力の値Bi-1をとる。その結果、
1≦i≦32の場合にλiが論理0になることは保証でき
ない。同様に、第1の命令に対応するオペランドは強制
的に論理0にされないので、κiが論理0になることは
保証できない。これらの結果から、桁上げ抽出アルゴリ
ズムの実施様態に制御信号を追加して、λiとκiが論理
0であるかのように所望の桁上げを抽出するが、3−1
加減算に起因する桁上げを抽出する時には、λiとκ
iを、それが生成された状況で使用できるようにしなけ
ればならない。
利用されない時にλiが論理0でないことに起因する
複雑さは、実行中の演算が3−1加減算であることを示
す制御信号によってゲートされる、従来型のCSA桁上げ
を作成することによって克服できる。この信号は、ビッ
ト位置0および1に生成される桁上げだけを制御しなけ
ればならない。というのは、これらのビット位置だけ
が、ALU状況を生成するために第2の命令に起因する桁
上げを抽出する必要のある位置であるからである。この
追加の桁上げ信号、λCC0およびλCC1は、次のように生
成される。
λCC0=Ω3to1α0β0+Ω3to1α0γ0+Ω3to1β0γ0 λCC1=Ω3to1α1β1+Ω3to1α1γ1+Ω3to1β1γ1 上式で、Ω3to1は、制御信号であり、3−1加減算を
実行中の場合は論理1になる。これらの余分の桁上げ信
号は、3−1加減算を実行中の時はCSA桁上げになり、
それ以外の時は論理0になるという望ましい性質をも
つ。したがって、c0とc1を抽出する時、これらの信号を
桁上げ抽出アルゴリズムのλ0とλ1に代入することがで
きる。
利用されない時にκ1が論理0でないことに起因する
複雑さは、κ0とκ1の生成の第3段を検討することによ
って克服できる。この段では、これらの値は次式から得
られる。
κ1の式は、2x4 AOブックによって、仮定されたブッ
クセット内で直接に実施されるので、3−1加減演算を
実行中であることを示すゲート制御信号を直接に印加す
ることができ、これによって3x4 AOブックがもたらさ
れる。したって、κ1は、次式から求めることができ
る。
この信号は、3−1加減演算が指定されない時は0で
あり、3−1加減演算が指定される時は、第1の命令の
実行中にMSBに持ち込まれる桁上げであるという望まし
い性質をもつ。κ0を生成する式は、既に3x4 AOブック
を必要としているので、この式を一見すると、同様の手
法を使用しても無駄に思われる。しかし、第1段で生成
できる文字項T0の式は、次の通りである。
T0=α0+γ0 この式は、ゲート信号を加えると2x2 AOブックが得
られる2入力ORブックを必要とする。したがって、ゲー
トされたT0(これをT* 0と表記する)を第1段で生成
し、第3段のκ0を生成する式のT0に代入することがで
きる。その結果は次のようになる。
この形で生成されるκ0とκ1はどちらも、3−1加減算
の実行時には第1の命令の実行に起因する桁上げとなる
が、それ以外の時には論理0となるという望ましい性質
をもつ。
上記の結果から、次式からc0とc1を求めることができ
る。
c0=κ0∀λCC0∀φ0 c1=κ1∀λCC1∀φ1 ただし、κ0とκ1は、上記に従って生成される。この技
法では、ALUに対するホット・ワンの供給に対して、追
加の制限はない。
c0とc1は共に、この実施方式の5つの段で生成するこ
とができる。したがって、この実施様態からは、追加の
遅延が発生しない。次に、桁上げ抽出を段ごとに説明す
る。第1の実施方式の説明と同様に、κ0とκ1の生成に
関連する擬似生成と伝達には、下付き文字ccを付けて、
3−1加算の実行用のものと区別した。段ごとの実施様
態は次の通りである。
第2の命令から桁上げを抽出する上記の実施様態の式
は、第2段で発生する、3つのビット位置にまたがって
生成される伝達▲Ti+2 i▼を除き、すべて、仮定された
ブックセットを用いて実施できる。この伝達は、第4段
でφ1を作成するのに必要である。第4段のφ1は、第5
段でc0とc1を決定するのに使用される。この伝達の生成
を避けたい場合は、φ1を明示的に生成することなし
に、c0とc1を生成しなければならない。
φ1を明示的に生成することなしにc0とc1を生成する
には、帰納式を用いてφ1を展開しなければならない。
この展開は、次式で示される。
この式を段5段のc0とc1の式のφ1に代入すると、次式
が得られる。
このc1の式は、標準的なブール代数の技法を使用して、
下記のように展開することができる。
第4段で、 を生成できる場合には、仮定されたブックセットを使用
して、第5段でこのc1の式を生成することができる。
次に、c0の式を検討する。この式は、標準的なブール
代数の技法を使用して、次のように展開することができ
る。
c1の生成に必要な値のほかに下記の値が第4段で生成さ
れる場合には、この最後の式を使用して、仮定されたブ
ックセットを用いて、第5段でc0を生成することができ
る。
上記の信号がこの実施様態の第4段で生成できるか否
かを判定するには、式▲Φy x+1▼および▲G** 1▼のxと
yとの値を求めなければならない。これらの値は、仮定
されたブックセットを用いて、3つの段にまたがること
のできる新しい桁上げ▲Φm n▼のビット位置の数によっ
て決定される。2進加算器用の帰納式を適用することに
よって、仮定されたブックセットでまたがることのでき
るビット位置の数は、次のようになる。
第1段 上記に従って、CSAと論理機能ブロックに関する結果を
生成する。
上記から、xは8、yは26と決定できる。第4段で生
成しなければならない式にこれらの値を代入することに
よって、仮定されたブックセットを用いて5つの段でc0
とc1を生成するための必要条件が与えられる。この必要
条件は、第4段で、 を生成すること、および▲Φ26 9▼を生成することであ
る。▲Φ26 9▼は、上記の第4段で生成できる。残りの
式も、以下のようにして第4段で生成できる。
第1段 上記に従って、CSAと論理機能ブロックに関する結果
を生成する。
上記の考察から、5つの段でc1とc1を生成するための
段ごとの実施様態は、次のようになる。
第2の実施方式のc0とc1を生成するための論理図を第3
図に示す。
オーバーフローの生成 前節では、インターロックを有する命令対の第2の命
令だけの実行に起因する桁上げを抽出するための実施様
態を、2つのALU実施方式について提示した。MSBへの桁
上げまたはMSBからの桁上げが、仮定されたブックセッ
トを使用して5段で計算可能であることが示された。算
術オーバーフローは、2の補数の加算の場合、MSBへの
桁上げとMSBからの桁上げの排他的論理和によって決定
できることがよく知られている。したがって、第2の命
令の実行のみに起因するオーバーフローは、c0とc1の排
他的論理和から作成できる。この手法を使用すると、c0
とc1が5つの段で生成されるので、仮定されたブックセ
ットの6つの段でオーバーフローを生成することができ
る。これは、ALUのクリティカル・パスをもたらすはず
である。本節では、オーバーフローの早期生成を追求す
る。まず、2つの実施方式の両方に共通する論理式の展
開を提示する。次に、仮定されたブックセットに対する
実施様態を提示して、第1の実施方式について検討す
る。最後に、第2のALU実施方式の実施様態を展開す
る。
前節で説明した信号から次式によって、オーバーフロ
ーを明示的に計算することができる。
OF=κ0∀κ1∀λcc0∀λcc1∀φ0∀φ1 2進加算器の2つの桁上げ、θ0およびθ1の排他的論
理和は、従来型のCLAを使用すると、次のようになる。
κ0とκ1は、暗示的な従来型のCLAによって導かれるの
で、上記の結果がこれらの排他的論理和に直接に適用で
きる。ところが、φ0とφ1を生じるCLAへの入力は変更
されているので、上記の結果はこれらの排他的論理和に
は直接に適用できない。したがって、κ0∀κ1は、次の
ように表わせる。
しかし、φ0∀φ1を表わすには、より一般的な式を使用
しなければならない。この式を展開するには、φ1を使
ってφ0を表わす必要がある。
と仮定する(上記Int.J.Elec.Vol.67,No.2による)。こ
の排他的論理和を標準的な積和に展開すると、次式が得
られる。
これらの式をさらに展開してオーバーフローの式を導
く際には、ALU実施様態が問題となる。というのは、λ
cc0、λcc1、T0および▲G* 0▼の式が、2つの実施方式
で異なるからである。これらの各方式でオーバーフロー
の式を、以下に展開する。これらの式を導く前に、その
導出に有用な次の定理を証明する。
定理1 a、b、cおよびdがブール変数であるなら
ば、(d+ab)∀c=(+ab)d∀(c+
c+ab)である。
第1の実施例方式のオーバーフロー生成 この実施方式では、λcc0がλ0と等価である。したが
って、次式が成立する。
この結果をオーバーフローの式に代入すると、次式が得
られる。
次に、φ0∀φ1を検討する。上記の展開から、これを
次のように表わすことができる。
この実施方式でのCLAへの入力は変更されており、その
結果、一方の入力には、CSAからの桁上げと、そこから
適当な信号を選択しなければならない論理機能ブロック
の出力が供給され、他方の入力には和が供給されるの
で、T0と▲G* 0▼式は、従来型のCLAの場合の式とは異な
ってくる。この実施例のビット位置0での信号を表わす
式は、次の通りである。
これらの式をφ0∀φ1の式に代入すると、次式が得られ
る。
λcc1はλ1と等しいので、φ0∀φ1∀λcc1は次のよう
に表わすことができる。
したがって、定理1により、 この式をオーバーフローを生成する式に代入すると、次
式が得られる。
オーバーフローをこの形で表わすと、これを5つの段
で計算できるようになる。この計算は、次のように段ご
とに進行する。
第1の実施例のオーバーフロー計算の論理図を第4図に
示す。図を簡単にするために、κ1とφ1を生成する式
を、段ごとの説明の中の適当な段に示し、その前段階の
生成は省略した。これらの値の段ごとの生成の詳細は、
「第1の実施方式の桁上げ抽出」の節にある。
第2の実施方式のオーバーフロー生成 第2の実施方式では、λcc0とλcc1を、λ0とλ1を使
って、次のように表わすことができる。
λcc0=Ω3to1λ0 λcc1=Ω3to1λ1 さらに、第1の演算から生じた桁上げκ0およびκ1は、
3−1加算を実行中であることを示す信号を用いて、対
応する式をゲートすることによって生成される。ゲート
されない信号を▲κ+ 0▼と▲κ+ 1▼で表わすものとする
と、κ0およびκ1は、次のように表わせる。
この表記法を使用すると、オーバーフローは次のように
表わせる。
ところが、 AB∀AD=A(B∀D) であるので、次式が成立する。
κ0∀κ1∀λ0の式を利用し、仮定された用語を使用す
ると、次のように表わせる。
したがって、次式が得られる。
次に、式φ0∀φ1を検討する。これは、上記から次のよ
うに表わせる。
第1の実施方式の場合と同様に、この実施例でもCLA
への入力が変更されているので、ビット位置0での擬似
生成と伝達が、従来型のCLAのそれと異なってくる。こ
れらの値の式は、上記のスタマティス・ヴァッシリアデ
ィス他の米国特許出願第677079号から次のようになる。
ただし、Ω4は、指定された機能を実行するのにCSAから
の和が不要である時に、この和を0にする制御信号であ
る。これをφ0∀φ1の式に代入すると、次式が得られ
る。
したって、φ0∀φ1∀λcc1は次のように表わすことが
できる。
ここで、 ν=Ω4σ0+L0 と置くと、定理1により次式が成立し、 したがって、次式が成立する。
これをオーバーフローの式に代入すると、次式が得られ
る。
「第2の実施方式の桁上げ抽出」の節では、この実施
方式に対して仮定されたブックセットを用いて、φ1
4段で生成できないことが示された。したがって、オー
バーフローを5段で実施しようとする場合には、φ1
明示的に計算することなしにこれを実施しなければなら
ない。また「第2の実施方式の桁上げ抽出」では、第5
段で使用できるφ1の式は、次のようであった。
とりあえず、 が第4段で生成できるものと仮定し、この値を、X8で表
わす。さらに、 が第4段で生成できるものと仮定し、これをXdで表わ
す。これらの仮定が真であることを、以下の段ごとの実
施様態で示す。これらの仮定によれば、OFは次のように
計算することができる。
Xdを分配すると、次のようになる。
次に、 と置くと、次式が得られる。
この式は、排他的論理和を分配し、ブール等式を適用す
ることによって、次のように展開することができる。
この式は、第4段で が生成できるならば、第5段で実施できる。他の値が第
4段で実施できることは、「第2の実施方式の桁上げ抽
出」で示した。
まず、X6の生成について検討する。これは、次式で表
わせる。
ただし、νは、次の通りである。
ν=Ω4σ0+L0 Ω4は、ALUへの制御信号入力であり、σ0とL0は、共にA
LUの第1段で計算されるので、第2段でνが計算でき
る。また、T1ならびにλ1は、第2段で計算可能である
ことを既に示した。したがって、X6は、次式によって第
3段で計算することができる。
X9はX6▲T9 2▼であり、X6と▲T9 2▼が第3段で計算され
るので、第4段で計算可能である。
次に、 の生成について検討する。▲G*8 1▼の生成については、
既に論じた。この結果を利用し、 をX10で表わすと、次式が得られる。
この式に含まれる値はすべて、3段で計算可能であるこ
とを既に示した。したがって、X10は、第4段で計算可
能である。
OFが5段で生成できることを示すためには、さらに、
X8が4段で生成できることを示さなければならない。4
段でのX8の生成は、次の通りである。
上記の提示のうち、第3段で行なわれるκ1の計算は、
その方法を既に示したので、省略した。上記の値を用い
ると、OFを、第5段で次のように計算することができ
る。
第2の実施方式のオーバーフロー生成の論理図を第5図
に示す。
ゼロに等しい結果の判定 ゼロに等しい結果の検出は、2つの部分からなる。第
1の部分では、0≦i≦31に対するALU出力Λiが、すべ
てのiについて0であることを実際に判定する。この判
定結果を、R=0と表記する。第2の部分は、オーバーフ
ロー条件を考慮するためのR=0の検定である。R=0の検出
方法は、両方の命令がALU演算を指定し第2の命令が論
理演算を指定する、2つの命令の間のインターロックの
解消をALUがサポートするか否かによって変わる。上記
のインターロックの解消がサポートされる場合、すなわ
ちケース1では、R=0の検出は、その結果から直接行な
われる。上記のインターロックの解消がサポートされな
い場合、すなわちケース2では、R=0を予測して、R=0
判定を実行サイクルの早期に行なうことができる。
ケース1の場合、R=0の判定は、ALUからの結果Λi
直接基づいて行なわれる。この出力が、5段で得られる
ことは既に示した(上記米国特許出願第07/504910
号)。この結果は、結果のすべてのビットが0である場
合に、0である。これは、 すなわち、反転されたすべてのALU出力ビットの32入力
論理積として表わせる。この式は、8入力ANDゲートと
それに続く4入力ANDゲートを用いて、2段で実施でき
る。また、R=0を次のように表わすこともできる。
R=0をこの形で表わすと、8入力ORゲートとそれに続く
4入力ANDゲートによってこれを生成することができ、
結果Λiの1の補数を生成する必要がなくなる。どちら
の場合でも、結果が5段で生成されるので、R=0は仮定
されたブックセットを用いて7段で生成できる。
上述したように、特定のインターロックの解消がALU
でサポートされていない場合には、R=0の検出を予測す
ることができる。3−1ALUについてのこのような予測方
式の論理式の展開を以下に示す。
ALUで必要な関数は、4つのカテゴリーに分けられる
(上記米国特許出願第07/504910号、および同第677079
号を参照されたい)。このカテゴリーは、次の通りであ
る。
A+B+Γ 算術演算とそれに続く算術演算 B+(A LOP Γ) 論理演算とそれに続く算術演算 B LOP (A+Γ) 算術演算とそれに続く論理演算 B LOP (A LOP Γ) 論理演算とそれに続く論理演算 これらのうち、3番目と4番目の2つのカテゴリー
は、両方の命令がALU演算を指定し、第2の命令が論理
演算を指定する2つの命令の間のインターロックが解消
される時に発生する。これらのカテゴリーでは、加算器
の出力が、論理演算によって変更される。これらの条件
で、R=0を早期に生成する方法は知られていない。した
がって、R=0の早期の生成が望まれる場合には、これら
の関数が発生する命令シーケンス間のインターロックの
解消をALUによってサポートすることができない。これ
らの命令シーケンスは、順次発行し実行しなければなら
ない。従って、R=0の早期の生成を検討する際には、上
記リストの最初の2つのカテゴリーに含まれる関数につ
いて検討するだけで十分である。以下では、まず、早期
予測方式を、3−1加算が実行される第1のカテゴリー
に適用する。次に、上記リストに含まれる第2のカテゴ
リーもカバーされるように、これらの結果を拡張する。
第1のカテゴリーに含まれる3−1加算には、2つの
オペランドの加算と第3オペランドの減算、2つのオペ
ランドの第3オペランドからの減算、ならびに3つのオ
ペランドの加算が含まれる。これらの関数は、次のよう
に表わせる。
A+B+Γ A+B−Γ A−B+Γ A−B−Γ 上式で、+は加算、−は減算を表わし、A、B、および
Γは、3つのオペランドである。各オペランドを2の補
数として表わすことによって、これらの関数を次のよう
に書き直すことができる。
A+B+Γ A+B+(+1) A+(+1)+Γ A+(+1)+(+1) または A+B+Γ A+B++1 A++1+Γ A++1++1 表記B*を使って、行なおうとする演算の必要に応じて
オペランドまたはそのオペランドの1の補数を表わすこ
とにより、これらの関数を次のように表わすことができ
る。
A+B*+Γ*+τ2+τ1 ただし、τ2とτ1は、演算の必要に応じて0または1に
なる。加法の同一性により、この式は次式と等価であ
る。
A+B*+Γ*+τ2−1+τ1+1 この式の最初の3項、 A+B*+Γ* は、次のように表わされる3−2加算と見なすことがで
きる。
τ2は、1または0であるので、次のように表わせる。
00…τ2 したがって、桁上げλは、和σに加算される前に、1ビ
ット左にシフトされるので、次のようにτ2を桁上げに
加算することができる。
λ0λ1…λ31 0…0 τ2 λ0λ1…λ31τ2 この結果を使用すると、式A+B*+Γ*+τ2を、次のよ
うに生成することができる。
2の補数表現では、−1は次のように1の列として表
わされる。
11…1 したがって、A+B*+Γ*+τ2−1は、次のように1連
の2つの3−2加算として表わすことができる。
これによって、2つの変数PxおよびPyが得られる。τ1
の2の補数表現は、 00…τ1 であるので、A+B*+Γ*+τ2−1+τ1は、Px+Py
τ1によって計算できる。Pyとτ1は、λとτ2を加算し
たのと同様に加算できるので、次式が得られる。Py0Py1…Py31 0…0 τ1 Py0Py1…Py31τ1 したがって、この3−1加算の最終的な結果は、Px
(Py+τ1)の2−1加算によって得られる。この加算
は、次のように表わせる。
Px0Px1…Px31 Py0Py1Py2…τ1 X S0 S1…S31 ただし、Sは、演算A+B*+Γ*+τ2+τ1−1の最終
結果である。この2−1加算では、1がキャリー・イン
として供給される。最終的な結果が0になるのは、すべ
ての0≦i≦31についてSiが0の場合である。
上記の最終結果A+B*+Γ*+τ2+τ1+1−1の生
成を要約すると、次の通りである。
σ0σ1……σ31 λ0λ1λ2……τ2 1 1 1……1 Px0Px1…Px30Px31 Py0Py1Py2…Py31τ1 0 0 0 …0 1 X S0S1…S30S31 3−1加算を上記の形で表現することの利点は、以下の
説明から明らかになるはずである。
上記の表記の利点は、次の定理から生ずる。説明を簡
単にするため、Py32=τ1と置き、Px0Px1…Px31をPx
表わし、Py1Py2…Py31Py32をPyで表わす。
定理1:Si=0ならば、すべての0≦i≦31について、
Px、Pyおよび1の加算によって生成される位置iでの桁
上げφiは、1に等しい。
証明: 定理1は、帰納法によって証明できる。
帰納法の底 ビット位置31の和の式は、次の通りである。
S31=0と仮定すると、 したがって、次式が成立する。
Px31∀Py32=1 ビット位置31で生じる桁上げφ31は、次のようになる。
φ31=Px31Py32+Px31(1)+Py32(1) ただし、+は論理和を表わす。これを整理すると、次式
が得られる。
φ31=Px31+Py32 S31=0ならば、次式が成立し、 Px31∀Py32=1 また、この排他的論理和は、Px31またはPy32のうちの一
方だけが1の場合に1になるので、次式が成立する。
Px31+Py32=1 したがって、次のようになる。
φ31=1 従って、ビット31からビット30への桁上げは、ビット31
の加算の和S31が0に等しいならば、1になることが保
証される。
帰納ステップ Si=0かつφi+1=1と仮定する。iでの和Siは、 Si=Pxi∀Pyi+1∀φi+1 であるので、 Px1∀Pyi+1∀1=0 または である。iでの桁上げは、次式で表せる。
φi=PxiPyi+1+PxiPyi+1φi+1 φi+1=1であるので、次式が成立する。
φi=PxiPyi+1+Pxi =Pxi+Pyi+1 ところが、上記から、 Pxi∀Pyi+1=1 であることから、次の式が得られる。
Pxi+Pyi+1=1 および φi=1 上記の2つのステップから、数学的帰納法により、すべ
ての0≦i≦31についてφi=1である。
証明終わり 定理2:すべての0≦i≦31についてPxi∀Pyi+1=1であ
れば、和Sは0である。
証明: 十分条件の証明 S=0ならば、定理1から、すべてのiについてφi+1
=1である。したがって、Siが0であるから、次式が成
立する。
Pxi∀Pyi+1=1 必要条件の証明 iで成立される桁上げφiについて考える。この桁上げ
は、次式で表わされる。
仮定により、 Pxi∀Pyi+1=1 であるので、次式が成立する。
φi=φi+1 これは、すべてのiについて成立しなければならず、ま
た、キャリー・インが1であるので、次式が成立する。
φi=φi+1=…=1 ここでSi=1と置く。ところで、Siは次のように表わさ
れる。
Si=Pxi∀Pyi+1∀φi+1 しかし、 Pxi∀Pyi+1=1 であることから、次式が得られる。
φi+1=0 したがって、Si=1という仮定は矛盾し、誤りである。
したがってSiは、0でなければならない。
証明終り 3−1加算型の演算結果が0になる条件は、定理1と
定理2から導かれる。この条件は、すべての0≦i≦30
について、 Px31∀τ1=1 かつ Pxi∀Pyi+1=1 である。したがって、R=0と表記するゼロに等しい結果
は、次式から判定できる。
R=0=(Px0∀Py1)(Px1∀Py2)…(Px30∀Py31)(P
x31∀τ1) これらの結果を、論理命令が算術命令と複合された、イ
ンターロックを有する命令シーケンスに対してR=0が作
成できるように、拡張する必要がある。このケースは、
前述の第2のカテゴリーに含まれる。上記米国特許出願
第677079号に示されるALUから、所望の結果を生じるた
めに3つの実施様態が提案された。上記の明細書では、
第2の関数カテゴリーに対するゼロに等しい結果を生成
する機構が、実施様態の選択によって影響を受ける。具
体的にいうと、ゼロに等しい結果の生成は、CSAで生成
される出力と、ALU内の論理機能ブロックで生成される
出力に応じて変わる。上記米国特許出願第677079号の3
つの実施様態のうちの2つは、同じCSAおよび論理機能
ブロックの出力を作成するが、第3の実施様態では、独
自の1組の出力を作成するので、オーバーフローの議論
で行なったのと同様に、これらの実施様態を2つの実施
方式に分けて、R=0の生成を論ずることができる。ゼロ
に等しい結果を生成する機構のこれら2つの方式への適
用について次に論ずる。その議論と共に、この機構の段
ごとの説明をも提示する。
第1の実施方式では、3−2CSAを変更せずに使用し
て、和σと桁上げλを生成する。ただし、CSAへの入力
が、第2の関数カテゴリーの実行時には、和が第2オペ
ランドに等しくなり、桁上げが0になるように制御され
る。これと並行して、論理機能ブロックが、所望の論理
演算結果を生成する。0と30の間のすべてのiについ
て、2−1加算器のビット位置iへの第1の入力は、CS
A和σiであり、同じ位置への第2の入力は、CSAからの
ビット位置i+1の桁上げλi+1と、論理機能ブロック
からのビット位置iの出力Liの論理和をとることによっ
て得られる。ビット位置31では、第1の入力はσ31であ
り、第2の入力はL31とτ2の論理和である。ただし、τ
2は、ALUに供給されるホット・ワンの1つである。これ
らの結果から示唆されるように、すべての0≦i≦30に
ついてPxiおよびPyiの生成時にλi+1をλi+1+Li(この
+は論理和機能を表わす)で置き換えることによって、
上記から導かれるゼロに等しい結果方式を、検討中のAL
U実施様態の第2の関数カテゴリーを含むように、変更
することができる。
これらの変更を加えると、ゼロに等しい結果の段ごと
の実施様態は、以下のようになる。第1段で、CSA和
σ、CSA桁上げλ、および論理機能ブロックの出力を生
成する。以下の式では、CSAへの入力を、当該のALU入力
に対応する小文字のギリシャ文字で表わす。これは、強
制的に0にされる可能性のある制御されたCSA入力を、
対応するALU入力から区別するためである。3−1加算
では、ALU入力がCSAに渡され、たとえば、αiがAiと等
しくなるはずである。ところが、論理演算の結果を第3
のALU入力と加算する場合には、αiとγiが強制的に0
にされる。この表記を用いると、第1段からの結果は次
のように表わされる。
σi=αi∀βi∀γi λi=αiβi+αiγi+βiγi 上式で、ΩOALASL、ΩXAAL、およびΩXOSLは、ALUに供
給される制御信号を表わす。この実施様態の詳細は、参
照によって本明細書に合体された上記のスタマティス・
ヴァッシリアディス他の米国特許出願第677079号に出て
いる。次の段では、CSA和と、上記で論じたようにCSA桁
上げ、またはτ2と論理ブロック出力の論理和と、−1
との、3−2加算として、PxとPyが生成される。その結
果は次の通りである。
Pxi=σi∀(λi+1+Li)∀1 0≦i≦30 Px31=σ31∀(τ2+L31)∀1 Py1=σi(λi+1+Li)+σi(1)+(λi+1+Li
(1) 0≦i≦31 Py31=σ31(τ2+L31)+σ31(1)+(τ2+L31
(1) これらの式を、 X∀1= X(1)=X XY+X+Y=X+Y であることを利用して簡単にすると、次式が得られる。
PxiとPx31の式は、仮定されたブックセットを用いて1
段で実施できない。しかし、これらの式は、次のように
書き直すことができる。
および どちらの式も、仮定されたブックセットを用いて1段で
実施できる。
第3段では、R=0の生成に備えて、2入力XORを生成で
きる。所望のXORは、次の通りである。
R=0(i)=Pxi∀Pyi+1 0≦i≦30 R=0(31)=Px31∀τ1 第4段では、これらの信号に8入力ANDを適用して、単
一のゼロに等しい結果信号の生成を開始することができ
る。所望の式は、次の通りである。
R=0(0:7)=R=0(0)R=0(1)…R=0(7) R=0(8:15)=R=0(8)R=0(9)…R=0(15) R=0(16:23)=R=0(16)R=0(17)…R=0(23) R=0(24:31)=R=0(24)R=0(25)…R=0(31) 最後に、所望の信号R=0が、第5段で4入力ANDを用いて
次式によって作成される。
R=0=R=0(0:7)R=0(8:15)R=0(16:23)R=0(24:31) このゼロに等しい結果を生成するための論理図を、第6
図に示す。
第2の実施方式では、CSAと論理機能ブロックが、上
記のスタマティス・ヴァッシリアディス他の米国特許出
願第677079号に従って実施され、下記の出力が得られ
る。
σi=αi∀βi∀γi 0≦i≦31 λ0=α0β0Ω1+α0γ0Ω2+β0γ0Ω1 λi=αiβiΩ1+αiγiΩ2+βiγiΩ1+βi-1Ω31≦
i≦31 上記の式の表記法は、前述の定義に従い、ALUに供給さ
れる制御信号であるΩ1、Ω2、およびΩ3を追加したも
のである。ただし、2−1CLAへの入力は、第1の実施方
式の場合とは異なる形で導かれる。この場合、0≦i≦
31について、CLAへのビット位置iの第1の入力は、λ
i+1である。しかし、ビット位置iの第2の入力は、次
のブール式で表わせる。
Ω4σi+Li ただし、Ω4は、ALUに供給される制御信号であり、0≦
i≦31である。したがって、これらの入力について、σ
iをΩ4σi+Liで置き換えることによって、このALU実施
様態に対するの第2の関数カテゴリーを含むようにゼロ
に等しい結果方式を変更することができる。
これらの変更を加えると、R=0の生成は、次のように
行なわれる。第1段で、 σi=αi∀βi∀γi 0≦i≦31 λ0=α0β0Ω1+α0γ0Ω2+β0γ0Ω1 λi=αiβiΩ1+αiγiΩ2+βiγiΩ1+βi-1Ω31≦
i≦31 が生成できる。前の場合と同様に、この実施様態の詳細
は、上記のスタマティス・ヴァッシリアディス他の米国
特許出願第677079号に出ている。PxとPyの生成は、第2
段で行なえる。これらの信号は、0≦i≦31のすべての
iについて、次式によって生成される。
Px1=(Ω4σi+Li)∀λi+1∀1 Py1=(Ω4σi+Li)λi+1+(Ω4σi+Li)(1)+λ
i+1(1) これらの式を整理すると、次式が得られる。
このPxの式は、そのままでは1段で実施できないが、次
のように書き直せる。
上式は、仮定されたブックセットを用いて1段で実施で
きる。第3段、第4段、第5段からなる、R=0の生成の
残りの部分は、第1の実施方式で使用されたものと同一
の回路を用いて実現できる。したがって、ALUの出力が
生成されるのと同じ段である第5段で、R=0を得ること
ができる(上記のスタマティス・ヴァッシリアディス他
の米国特許出願第677079号を参照されたい)。
明らかに、実施方式の例または好ましい実施例と、発
明を実施するのに最適の様態の例示を用いて説明してき
た本発明は、プロセッサ性能の潜在的な向上の基礎とな
るものである。したがって、当業者なら本発明を実施す
るために今回企図した実施態様を検討すれば、現在およ
び将来に発明となる可能性もあるさらに進んだ改良およ
び機能強化を思いつくであろうことが理解されよう。こ
れらの改良および機能強化は、第1発明者の権利を維持
するように解釈すべきである。下記の特許請求の範囲の
所期の範囲内にあると理解すべきである。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】桁上げ保存加算器と2−1加算器とを含む
    3−1 2進加算器から成り且つA、BおよびΓと表記さ
    れる3つのオペランドを有する、複数の命令を実行する
    ための3−1ALU手段と、 前記2−1加算器に入力を供給するための論理演算ブロ
    ック手段と、 前記3−1ALU手段のゼロに等しい演算結果を予測するた
    めのゼロ手段とを備え、 前記ゼロ手段が、A+B+Γ+τ2+τ1+1−1の
    計算を表す によって演算を予測して、算術演算とそれに続く算術演
    算の加算減算という最悪条件のシナリオを計算し、前記
    演算が、 A+B+Γ A+B+(+1) A+(+1)+Γ A+(+1)+(+1) または A+B+Γ A+B++1 A++1+Γ A++1++1 によって表されることを特徴とする、ALU状況判定装
    置。
  2. 【請求項2】桁上げ保存加算器と2−1加算器とを含む
    3−1 2進加算器から成り且つA、BおよびΓと表記さ
    れる3つのオペランドを有する、複数の命令を実行する
    ための3−1ALU手段と、 前記2−1加算器に入力を供給するための論理演算ブロ
    ック手段と、 前記3−1ALU手段のゼロに等しい演算結果を予測するた
    めのゼロ手段とを備え、 前記ゼロに等しい演算結果が、 R=0=(Px0∀Py1)(Px1∀Py2)…(Px30∀Py31)(P
    x31∀τ1) ただし、 σi=αi∀βi∀γi λi=αiβi+αiγi+βiγii=AiΩOALASL+ΓiΩOALASL+AiΓiΩXAALi
    iΩXOSL Pxi=σi∀(λi+1+Li)∀1 0i30 Px31=σ31∀(τ2+L31)∀1 Pyi=σi(λi+1+Li)+σi(1)+(λi+1+Li
    (1) 0i30 Py31=σ31(τ2+L31)+σ31(1)+(τ2+L31
    (1) によって計算されることを特徴とする、ALU状況判定装
    置。
  3. 【請求項3】桁上げ保存加算器と2−1加算器とを含む
    3−1 2進加算器から成り且つA、BおよびΓと表記さ
    れる3つのオペランドを有する、複数の命令を実行する
    ための3−1ALU手段と、 前記2−1加算器に入力を供給するための論理演算ブロ
    ック手段と、 前記3−1ALU手段のゼロに等しい演算結果を予測するた
    めのゼロ手段とを備え、 前記ゼロに等しい演算結果が、 第5段 R=0=R=0(0:7)R=0(8:15)R=0(16:23)R=0(24:31) によって、5つの論理段を通して計算されることを特徴
    とする、ALU状況判定装置。
  4. 【請求項4】桁上げ保存加算器と2−1加算器とを含む
    3−1 2進加算器から成り且つA、BおよびΓと表記さ
    れる3つのオペランドを有する、複数の命令を実行する
    ための3−1ALU手段と、 前記2−1加算器に入力を供給するための論理演算ブロ
    ック手段と、 前記3−1ALU手段のゼロに等しい演算結果を予測するた
    めのゼロ手段とを備え、 論理演算とその後に続く算術演算を計算する場合、前記
    桁上げ保存加算器の入力であるAとΓがゼロに等しく、
    前記2−1加算器の2つの入力のうち一方が当該論理演
    算の結果を含み、算術演算とその後に続く算術演算を計
    算する場合は、前記桁上げ保存加算器の入力が前記オペ
    ランドに等しく、前記2−1加算器の2つの入力のうち
    一方が、論理オペランドを抑止させて、前記桁上げ保存
    加算器の桁上げを通過させ、 前記論理演算ブロック手段が、前記3−1 2進加算器と
    並列であり且つA+B+Γ+τ2+τ1+1−1の計
    算を行って、算術演算とそれに続く算術演算の加算減算
    という最悪条件のシナリオを計算し、前記演算が、 A+B+Γ A+B+(+1) A+(+1)+Γ A+(+1)+(+1) または A+B+Γ A+B++1 A++1+Γ A++1++1 によって表されることを特徴とする、ALU状況判定装
    置。
JP3507369A 1990-04-04 1991-03-29 Alu状況判定装置 Expired - Lifetime JPH0827708B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US504,910 1990-04-04
US07/504,910 US5051940A (en) 1990-04-04 1990-04-04 Data dependency collapsing hardware apparatus
US619,868 1990-11-28
US07/619,868 US5301341A (en) 1990-11-28 1990-11-28 Overflow determination for three-operand alus in a scalable compound instruction set machine which compounds two arithmetic instructions
PCT/US1991/002039 WO1991015820A1 (en) 1990-04-04 1991-03-29 Early scism alu status determination apparatus

Publications (2)

Publication Number Publication Date
JPH04505822A JPH04505822A (ja) 1992-10-08
JPH0827708B2 true JPH0827708B2 (ja) 1996-03-21

Family

ID=27054971

Family Applications (2)

Application Number Title Priority Date Filing Date
JP3507368A Expired - Lifetime JPH07122846B2 (ja) 1990-04-04 1991-03-29 3―1alu装置
JP3507369A Expired - Lifetime JPH0827708B2 (ja) 1990-04-04 1991-03-29 Alu状況判定装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP3507368A Expired - Lifetime JPH07122846B2 (ja) 1990-04-04 1991-03-29 3―1alu装置

Country Status (4)

Country Link
US (1) US5299319A (ja)
EP (2) EP0478745A4 (ja)
JP (2) JPH07122846B2 (ja)
WO (2) WO1991015819A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0498067A2 (en) * 1991-02-08 1992-08-12 International Business Machines Corporation Microcode generation for a scalable compound instruction set machine
KR100272622B1 (ko) * 1991-05-08 2000-11-15 가나이 쓰도무 데이타 처리장치
US5590348A (en) * 1992-07-28 1996-12-31 International Business Machines Corporation Status predictor for combined shifter-rotate/merge unit
JP3546437B2 (ja) * 1993-03-31 2004-07-28 ソニー株式会社 適応形ビデオ信号演算処理装置
US5961635A (en) * 1993-11-30 1999-10-05 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator and mask generator
US5465224A (en) * 1993-11-30 1995-11-07 Texas Instruments Incorporated Three input arithmetic logic unit forming the sum of a first Boolean combination of first, second and third inputs plus a second Boolean combination of first, second and third inputs
US6219688B1 (en) * 1993-11-30 2001-04-17 Texas Instruments Incorporated Method, apparatus and system for sum of plural absolute differences
US6116768A (en) * 1993-11-30 2000-09-12 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator
US5689592A (en) * 1993-12-22 1997-11-18 Vivo Software, Inc. Parallel processing of digital signals in a single arithmetic/logic unit
US5623434A (en) * 1994-07-27 1997-04-22 Chromatic Research, Inc. Structure and method of using an arithmetic and logic unit for carry propagation stage of a multiplier
US5619441A (en) * 1994-10-14 1997-04-08 International Business Machines Corporation High speed dynamic binary incrementer
US5978826A (en) * 1995-12-01 1999-11-02 Lucent Techologies Inc. Adder with even/odd 1-bit adder cells
US5778208A (en) * 1995-12-18 1998-07-07 International Business Machines Corporation Flexible pipeline for interlock removal
US5924128A (en) * 1996-06-20 1999-07-13 International Business Machines Corporation Pseudo zero cycle address generator and fast memory access
US5764550A (en) * 1996-07-22 1998-06-09 Sun Microsystems, Inc. Arithmetic logic unit with improved critical path performance
US5944772A (en) * 1997-11-07 1999-08-31 International Business Machines Corporation Combined adder and logic unit
US6314493B1 (en) 1998-02-03 2001-11-06 International Business Machines Corporation Branch history cache
US7177421B2 (en) * 2000-04-13 2007-02-13 Broadcom Corporation Authentication engine architecture and method
US6584485B1 (en) * 2000-04-14 2003-06-24 International Business Machines Corporation 4 to 2 adder
EP1360795B1 (en) * 2001-01-12 2006-08-09 Broadcom Corporation Implentation of the SHA1 algorithm
US7051062B2 (en) * 2002-09-10 2006-05-23 Analog Devices, Inc. Apparatus and method for adding multiple-bit binary-strings
US7873815B2 (en) * 2004-03-04 2011-01-18 Qualcomm Incorporated Digital signal processors with configurable dual-MAC and dual-ALU
TWI259356B (en) * 2004-03-26 2006-08-01 Infortrend Technology Inc Apparatus for checking data coherence, controller and storage system having the same and method therefore is disclosed
US20060173941A1 (en) * 2005-01-31 2006-08-03 Busaba Fadi Y Systems and methods for implementing logic in a processor
JP4388543B2 (ja) * 2006-12-14 2009-12-24 株式会社日立製作所 3項入力の浮動小数点加減算器
US20160224319A1 (en) * 2015-01-30 2016-08-04 Huong Ho High-speed three-operand n-bit adder

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142423A (ja) * 1983-12-28 1985-07-27 Fujitsu Ltd 条件コ−ド生成方式
JPS6148038A (ja) * 1984-08-15 1986-03-08 Hitachi Ltd 加算器の零検出方式
JPS63208938A (ja) * 1987-02-26 1988-08-30 Hitachi Ltd フラグ発生回路
JPH01211119A (ja) * 1988-02-17 1989-08-24 Internatl Business Mach Corp <Ibm> 条件コードの予測装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3983382A (en) * 1975-06-02 1976-09-28 International Business Machines Corporation Adder with fast detection of sum equal to zeroes or radix minus one
US4084254A (en) * 1977-04-28 1978-04-11 International Business Machines Corporation Divider using carry save adder with nonperforming lookahead
US4319335A (en) * 1979-10-16 1982-03-09 Burroughs Corporation Arithmetic logic unit controller
JPS5696328A (en) * 1979-12-28 1981-08-04 Fujitsu Ltd Logical arithmetic operating device
US4439828A (en) * 1981-07-27 1984-03-27 International Business Machines Corp. Instruction substitution mechanism in an instruction handling unit of a data processing system
JPS58149542A (ja) * 1982-03-01 1983-09-05 Hitachi Ltd デ−タ処理装置
US4594655A (en) * 1983-03-14 1986-06-10 International Business Machines Corporation (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions
US4754412A (en) * 1985-10-07 1988-06-28 Schlumberger Systems & Services, Inc. Arithmetic logic system using the output of a first alu to control the operation of a second alu
US4775952A (en) * 1986-05-29 1988-10-04 General Electric Company Parallel processing system apparatus
US5051940A (en) * 1990-04-04 1991-09-24 International Business Machines Corporation Data dependency collapsing hardware apparatus
EP0281132B1 (en) * 1987-03-04 1995-10-25 Nec Corporation Vector calculation circuit capable of rapidly carrying out vector calculation of three input vectors
US4819155A (en) * 1987-06-01 1989-04-04 Wulf William A Apparatus for reading to and writing from memory streams of data while concurrently executing a plurality of data processing operations
US4942548A (en) * 1987-06-25 1990-07-17 International Business Machines Corporation Parallel adder having removed dependencies
US4766416A (en) * 1987-07-16 1988-08-23 General Electric Company Circuit for generating the square of a function without multipliers
US4947359A (en) * 1988-02-17 1990-08-07 International Business Machines Corporation Apparatus and method for prediction of zero arithmetic/logic results
US4979141A (en) * 1988-09-28 1990-12-18 Data General Corporation Technique for providing a sign/magnitude subtraction operation in a floating point computation unit
US5140545A (en) * 1991-02-13 1992-08-18 International Business Machines Corporation High performance divider with a sequence of convergence factors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142423A (ja) * 1983-12-28 1985-07-27 Fujitsu Ltd 条件コ−ド生成方式
JPS6148038A (ja) * 1984-08-15 1986-03-08 Hitachi Ltd 加算器の零検出方式
JPS63208938A (ja) * 1987-02-26 1988-08-30 Hitachi Ltd フラグ発生回路
JPH01211119A (ja) * 1988-02-17 1989-08-24 Internatl Business Mach Corp <Ibm> 条件コードの予測装置

Also Published As

Publication number Publication date
JPH04505822A (ja) 1992-10-08
WO1991015820A1 (en) 1991-10-17
EP0478731A1 (en) 1992-04-08
JPH04505821A (ja) 1992-10-08
US5299319A (en) 1994-03-29
EP0478745A1 (en) 1992-04-08
EP0478731A4 (en) 1993-09-22
EP0478745A4 (en) 1993-09-01
JPH07122846B2 (ja) 1995-12-25
WO1991015819A1 (en) 1991-10-17

Similar Documents

Publication Publication Date Title
JPH0827708B2 (ja) Alu状況判定装置
US5586069A (en) Arithmetic logic unit with zero sum prediction
US5699279A (en) Optimized binary adders and comparators for inputs having different widths
US5923579A (en) Optimized binary adder and comparator having an implicit constant for an input
EP0331372B1 (en) Method of and apparatus using floating point execption signals for controlling several processors
KR100309566B1 (ko) 파이프라인프로세서에서다중명령어를무리짓고,그룹화된명령어를동시에발행하고,그룹화된명령어를실행시키는방법및장치
Granlund et al. Eliminating branches using a superoptimizer and the GNU C compiler
US4578750A (en) Code determination using half-adder based operand comparator
JPH02294819A (ja) 浮動小数点数演算処理装置
WO1991011765A1 (en) Architecture for minimal instruction set computing system
JP2683488B2 (ja) 3−1論理演算装置
EP0487814A2 (en) Overflow determination for three-operand alus in a scalable compound instruction set machine
US5590351A (en) Superscalar execution unit for sequential instruction pointer updates and segment limit checks
EP1291764A1 (en) Logic circuit and method for designing the same
Knowles Arithmetic processor design for the T9000 transputer
US7769982B2 (en) Data processing apparatus and method for accelerating execution of subgraphs
US6237085B1 (en) Processor and method for generating less than (LT), Greater than (GT), and equal to (EQ) condition code bits concurrent with a logical or complex operation
KR100307980B1 (ko) 산술 또는 논리 연산의 수행과 동시에 조건 코드 비트를 발생하는 방법 및 시스템
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
US7647368B2 (en) Data processing apparatus and method for performing data processing operations on floating point data elements
EP0840207A1 (en) A microprocessor and method of operation thereof
JP2618187B2 (ja) マルチスカラ・プロセッサ・システムにおいて高速浮動小数点例外処理をする方法及びシステム
JPH08123668A (ja) 固定小数点除算装置および除算方法
JPH10133858A (ja) マイクロプロセッサおよびマイクロプロセッサを作動させる方法
Kim et al. Synthesis of adaptable hybrid adders for area optimization under timing constraint