JPS6014337A - 条件コ−ド発生装置 - Google Patents

条件コ−ド発生装置

Info

Publication number
JPS6014337A
JPS6014337A JP59125442A JP12544284A JPS6014337A JP S6014337 A JPS6014337 A JP S6014337A JP 59125442 A JP59125442 A JP 59125442A JP 12544284 A JP12544284 A JP 12544284A JP S6014337 A JPS6014337 A JP S6014337A
Authority
JP
Japan
Prior art keywords
instruction
register
instructions
bit
condition
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.)
Granted
Application number
JP59125442A
Other languages
English (en)
Other versions
JPH0743646B2 (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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS6014337A publication Critical patent/JPS6014337A/ja
Publication of JPH0743646B2 publication Critical patent/JPH0743646B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • G06F9/30014Arithmetic instructions with variable precision
    • 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/30094Condition code generation, e.g. Carry, Zero flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業−にの利用分野〕 本発明は、通常の計算機アーキテクチャにおける命令セ
ットよりずっと小規模の命令セット(以下、基本命令セ
ットという)しか持たない計算機システムに適した条件
コード発生装置に係る。
〔従来技術〕
最近のVLST技術の発達により、マイクロプロセッサ
の設計に関しては、相反する2つのアプローチが可能に
なってきた。第1のアプローチは、V L S Iを十
二分に利用して、これまではラフl−ウェアで実現され
ていた機能をハードウェアで実現させるものである。当
然の結果として、マイクロプロセッサの物理的な構成は
複雑になる。これに対して第2のアプローチは、これま
でより多くの機能をソフトウェアで実現させることによ
って、簡単で且つ高速のマイクロプロセッサを構成しよ
うとするものである。後者のアプローチの代表的な例が
下記の文献に記載されている。
(1) George Radin ”The 801
 Mjnicomputer”ACMSIGPLAN 
N0TICES 、第17巻、第4号、1982年4月
、39〜47頁 (2) PatLerson、 5equjn ”RI
SCl : a ReducedTnstructio
n Set VLSI Computer ” 月EE
ECampuI:er 、 ] 982年9月、8〜2
0頁第1のアプローチは、ソフトウェアの開発費用およ
びその実行速度を考えた場合、年ごとに安くなっている
V L S T回路を用いてシステムを構成した方が全
体として価格性能比を」二げることができる、という考
えに基いている。従って、第1のアプローチをとるシス
テム設計者は、VLS I回路の潜在能力に合わせてア
ーキテクチャをより複雑にしている。これは、最近の計
算機とその前の橿算機、例えばVAX−11とPDP−
11,18Mシステム/38とIBMシステム/3、イ
ンテルAPX−/132と8086、などを比較してみ
れば明らかである。ただしアーキテクチャが複雑になる
と、それだけシステム設計に要する時間が長くなり、設
計ミスの可能性も増える。この型のシステムは大規模命
令セット割算機システム、略してcrscシステムと呼
ばれている。
これに対して、前記の文献に記載されているような第2
のアプローチに従って構成されたシステムば小規模命令
セット計算機(tSC)システムあるいは基本命令セッ
ト計算機システム(以下、PRTSMシステムという)
と呼ばれる。、PR■SMシステムの中心はCP Uで
ある。システム改削の大部分は、ユーザに対してCP 
TJの基本能力を使用可能にする、ということに向けら
れている。
全体的な構成は従来のCP tJとは幾分異なっている
以下前記の文献に記載されているCPUの設計原理およ
び従来のCPUとの違いについて、本発明に関係する範
囲内で少し詳しく説明する。
小型ないし中型の汎用計算機システムにおける通常のC
PUは、アーキテクチャを″解釈″する配線マイクロプ
ロセッサで構成されている。このようなCPUでは、1
つのCP U命令を実行するために、制御記憶装置にあ
る幾つかのマイクロ命令が実行される。1つの平均的な
CPU命令を実行するのに必要なマイクロ命令(マシン
サイクル)の数は、使用されているマイクロプロセッサ
の能力(従って価格)、cpuアーキテクチャの複雑3
− さ、および実行中のアプリケーション(即ち命令ミック
ス)によって左右される。例えば、1BMシステム/3
70モデル168は1つのシステム/370命令当り3
〜6サイクルを要し、モデル148は10〜]5サイク
ルを要し、システム/360モデル30は30サイクル
以」二になる。
CPUの設計によっては、ルックアヘッド、並列処理お
よび分岐の記録といった技術を用いることにより、1命
令当りのマシンサイクル数を1に近づけることができる
アプリケーションによる相違については、例えば一般に
科学技術計算は浮動小数点命令を使用するが、事務計算
は10進演算を使用する。ところが、アプリケーション
コードの代りに走行システム全体を追跡してみると、最
も頻繁に使用される命令に顕著な類似性があることがわ
かる。これらの命令はロード、記憶、分岐、比較、整数
演算、論理桁送りといった比較的簡単な命令であり、基
礎となるマイクロプロセッサの命令セットにもこれらと
同じ機能を持った命令がある。従って、マ4− イクロプロセッサのアーキテクチャがCP Uのアーキ
テクチャと正確には一致しない場合であっても、そのよ
うな機能についてまでCPUアーキテクチャをマイクロ
プロセッサで″1解釈″することは無駄であると考えら
れた。
従って、PRrSMシステムのために設計された基本命
令セラ1〜はハードウェアで直接実行することができる
。即ち、各々d基本命令は1マシンサイクルしか必要と
しない。複雑な機能は、通常のCPUの場合と同じく、
マイクロコードで実現される。ただし、P R,T S
 Mシステムにおけるマイクロコードは正にコードであ
って、関連する機能は基本命令セット上で走行するソフ
トウェアサブルーチンによって実現される。
高速の制御記憶装置に記、憶されていることから生じる
マイクロコードの利点は、キャッシュをデータ用と命令
用とに分けた記憶階層では、事実上消滅する。命令キャ
ッシュは″ページ可能″′制御記憶装置として働く。通
常のCPUでは、すべてのアプリケーションにわたって
どの機能が最も頻繁に使用されるかは、設計者が前もっ
て決める。従って、例えば倍精度の浮動小数点除算命令
は常に高速の制御記憶装置にあるが、第ルベル割込みハ
ンドラは主記憶装置にある。命令キャッシュを用いた場
合は、最近の使用状況によって、どの機能がより速く使
用できるかが決まる。
このアプローチによれば特定のジョブを実行するのに要
するサイクル数は、最悪の場合であっても、複雑な命令
がマイクロプログラムされている通常の小型ないし中型
CP Uにおけるサイクル数以下である。更に、基本命
令の定義づけをうまく行えば、必要なサイクル数がより
少なくなることがわかった。
大部分の命令ミックスによれば、データの書込みまたは
読取りに関する命令が全体の20〜40%を占め、分岐
命令が15〜30%を占めている。
更に、多くのアプリケーションにおいては、記憶装置帯
域幅のかなりの部分がT10のためにさがれている。記
憶装置アクセスのためにCPUが多くのサイクルにわた
って待ち状態へ強制されると、その間の処理時間が無駄
になる。
従って、PRISMシステムの第2の目的は、記憶装置
アクセスに起因するC P Uの遊休時間をできるだけ
短くするように記憶階層およびシステムアーキテクチャ
を構築することであった。まず、CP TJのマシンサ
イクルに匹敵するアクセス時間を持ったキャッシュが必
要なことは明らかである。
次に、記憶命令が出されても直ちに主記憶装置への記憶
を行わなくてもよいということがら、ス1ヘアイン方式
のキャッシュが採用された。かりに1つのワードを記憶
するのに10サイクルを要し且つ命令全体の10%が記
憶命令であるとすると、記憶命令およびそれに続く命令
を並行して実行できない限り、CP Uの遊休時間は全
体の約半分に達する。
しかし、サイクルごとに新しい命令を必要とし、且つ2
サイクルおきにデータをアクセスするCPTJ構成にお
いては、サイクルごとにワードを供給する通常のキャッ
シュを用いると、性能が低下する。従って、キャッシュ
はデータを含む部分と、7− 命令を含む部分とに分けられた。このようにしてキャッ
シュへの帯域幅は実質的に倍にされ、外部記憶装置から
の命令およびデータの非同期的取出しが可能になった。
通常のアーキテクチャでは、データの記憶は命令を変更
することによって行われるため、2つのキャッシュが適
切に同期していることをハードウェアが保証しなければ
ならない。これは、コスト高になり、また性能の低下に
もつながる。命令先取り機構でさえ、記憶有効アドレス
と命令アドレスレジスタの内容を比較しなければならな
いので、複雑になる。
ところが指標レジスタが計算機に導入されるようになっ
て、命令を変更する頻度が大幅に減少され、今日に至る
まで事実」二命令が変更されることはなくなった。従っ
てPRT sMアーキテクチャは、−(二連のようなハ
ードウェア同報通信を必要としない。その代りに分割キ
ャッシュの存在がソフトウェアに対して明示され、必要
なときにキャッシュを同期させるための命令がソフトウ
ェアに与8− えられた。同期が必要なのは、例えばプログラム取出し
のような特別の機能の場合だけである。
同様に、キャッシュの存在がソフトウェア側からはわか
らない通常のシステムにおいては、T10オペレーシヨ
ンもキャッシュを介して行う必要がある。その間CP 
Uは待機していなければならず、またT10オペレーシ
ヨンが終了した後のキャッシュの内容は、実行中のプロ
セスの実効ページセラ1−ではなくなるので、キャッシ
ュを強制的に一部モードへ戻さなければならない。高価
なシステムにおいてすら、ディレクトリを重複して設け
ると性能の低下を招く。
現在のシステムでは、T10オペレーシヨンを開始する
責任は、サブシステム・バッファとユーザ領域との間で
固定ブロック転送を行うシステムアクセス方式(IMS
、VSAM、VTAM、ページングなど)に移ってきて
いる。これは、アクセス方式がバッファの位置および範
囲だけでなく、I10転送が処理される時も知っている
ことを意味する。従って、このソフトウェアはキャッシ
ュを適切に同期させることができ、チャネル(PRTS
Mシステムにおける直接メモリアダプタ)は外部記憶装
置との間で直接転送を行うことができる。この結果、記
憶装置帯域幅の半分がIloのために使用中であっても
、CPUの性能が低下することはない。
これまでの説明で云えることは、実現させるのに費用が
かかるか、または低速のシステム機能があり、且つソフ
トウェアが頻繁に生じる性能低下要因を認識できる(あ
るいは機能全体を走行時間からコンパイル時間へ移すこ
とができる)場合には、その機能はハードウェアからソ
フトウェアへ移され、それによってコスト低減および性
能改善が達成される、ということである。
〔発明が解決しようとする問題点〕 PRI 8Mシステムは、なるべく簡単なハードウェア
を用いて各々の基本命令を単一マシンサイクルで実行し
ようとするところに特徴があるが、乗算や除算のような
複雑な演算は特定の基本命令を何度も繰返し実行するこ
とによって達成される。
その場合、各基本命令の実行条件を示す条件コードの発
生が問題になる。10進演算を例にとると、10進数の
各桁はBCDと呼ばれる4ビツトの2進化10進数で表
わされているので、桁上げの有無を4ピツ1〜ごとに調
べる必要がある。いずれにしても、基本命令を単一マシ
ンサイクルで実行するという要求があるため、その実行
条件を示す条件コードの発生に時間がかかつてはならな
い。
従って本発明の目的は、4ビットごとの桁上げの有無を
示す複数の桁上げ条件ビットを含む条件コードをハード
ウェアにより発生する条件コード発生装置を提供するこ
とにある。
〔問題点を解決するための手段〕
本発明の条件コード発生装置は、PRISMシステムの
A L Uでビット0.4.8、・・・・、N(Nは4
の倍数)からの桁」二げがあったときに、それをハード
ウェアで表示できるようにするため。
そのような桁」二げの有無を示す複数の桁上げビットを
含む条件レジスタを備えている。これらの桁上げビット
はALUからの対応する桁上げ信号に11− より1または0にセットされる。かくて、基本命令によ
る高速の10進演算が可能になる。
〔実施例〕
(A)PRISMシステムアーキテクチャの概要前述の
ように、PRI 8Mシステムの中心はCPUであるが
、pirsMシステムはCPUの他に、主記憶装置、キ
ャッシュ機構、母線ユニットおよびシステムI10を含
んでいる(第1図参照)。
キャッシュ機構はデータ部と命令部に分かれている。
CP Uアーキテクチャは従来のものに比べて非常に簡
単である。本PRISMシステムの特徴として、各々の
命令はハードウェアにより単一マシンサイクルで実行さ
れる。このような命令を基本命令という。基本命令は記
憶装置アクセス(普通は並行処理される)を除くと、マ
シンサイクルを1つしか必要としない。ここで″基本″
という語は、簡単さというよりもむしろ時間、即ち単一
マシンサイクルに関係している。基本命令自体は単一マ
シンサイクル内で実行可能であるが、それに伴う=12
− 実際の機能は複雑なことがある。
″単一マシンサイクル″という語も幾つかの定義が可能
である。例えば、単一マシンサイクルは″継続的に繰返
される基本システムクロックの期間であって、その間に
基本システムオペレーションが遂行されるもの″である
。もう少し別の云い方をすれば、単一マシンサイクルは
゛′基本クロック期間に含まれるすべてのクロックパル
スをシステムが1回完全に使用するのに必要な時間″で
ある。
従って、単一マシンサイクル内でCPUのすべてのデー
タフロー機構を1回使用することができる。
PRI 8Mシステムのアーキテクチャおよびその命令
セットは下記の3つを達成するものである。
(1)命令当り1サイクルの高速CPUをコンパイルに
適した命令セットを用いて定義する。
(2)記憶階層、■/○、割振りおよびソフトウェアの
活動がCPUでの命令実行と並行して行われる。これに
より待ち時間が短くなる。
(3)すべてのプログラムをうまくコンパイルできるコ
ードを生成する最適化コンパイラを開発する。
単一マシンサイクルで実行可能であるということに加え
て、命令に関する重要なテーマにその規則性がある。こ
れはハードウェアによる実施を容易にしていた。例えば
、すべてのオペランドは自分の大きさに合った境界を持
っていなければならない(半ワードの場合は半ワード境
界、ワードの場合はワード境界)。命令はすべてフルワ
ードであり、従ってその境界もフルワード境界である。
レジスタ名フィールドはシステム/370の4ピッ1−
に対し、1ビット増えて5ビツトである。
これによりレジスタを32個まで装備できる。従って、
PRISMシステムを用いて、例えばシステム/370
のように16個の汎用レジスタを備えた他のアーキテク
チャをエミュレートすることができる。システム/37
0の命令セットにおける基本命令サブセットを用いて複
雑な命令をエミュレートする場合は、レジスタ名フィー
ルドの長さく4ピッ1−)がネックになる。
更に、命令の長さが4バイトあるので、各命令の目的レ
ジスタを明示指定することができ、従って入力オペラン
ドを壊す必要はない。これは一般に″3アドレス″形と
呼ばれている。
PRISMシステムは真の32ピツ1〜アーキテクチヤ
であり、16ビツトアーキテクチヤに拡張レジスタを加
えたものではない。アドレスは32ビツト長であり、算
術演算には32ビツトの2の補数が使用され、論理命令
および桁送り命令は32ビツトのワードを取扱う。桁送
りは31ビツトまで可能である。
PRTSMシステムのCPUの主構成要素は、A L 
U、汎用レジスタファイル(32ビツトのレジスタを3
2個含む)、および本発明による32ビツトの条件レジ
スタを含む条件論理である。条件レジスタはオペレーシ
ョンに関する種々の条件を示すもので、検査および分岐
を可能にする。条件レジスタの各ビットの意味は下記の
表1のとおりである。
15− 81 (条件レジスタ) ザ)(ド 各−華−意 味 OSo 合計あふれ ] OV あふれ 2 ’ LT より小さい、負値 3 GT より大きい、正値 4 EQ 等しい、ゼロ値 5 T、、、T、 論理的により小さい6 LG 論理
的により大きい 7 CA ビットOからの桁上げ 8 C4ビット4からの桁上げ 9 C8ビット8からの桁」二げ 10 C12ビット12からの桁」二げ11 C16ビ
ット16からの桁上げ 12 C20ビット20からの桁上げ 13 C24ビット24からの桁上げ 14 C28ビット28からの桁」二げ]5 CD 任
意の4ビツトニブルからの桁上げ 16− 16 PZ 常時ゼロ 17〜25(将来の使用に備えて予約)26 ECO外
部条件0 27 ECI 外部条件1 2 S EC2外部条件2 29 EC3外部条件3 30 8B 母線使用中 (条件付き母線オペレーショ ン用) 31 HO半ワードあふれ (下位16ビツトからのあふれ) 条件レジスタの各ビットは命令によって変更されない限
り、前の値を保つ。
旦ットO(SO)は合計あふれビットで、次のあふれビ
ットが命令によってセットされるときは常にrr 1 
++にセットされる。除算ステップにおける特別の標識
としてあふれを使用する場合は、合計あふれは変更され
ない。
(ラード」−(−Q■−)−ばあふれビットで、命令実
行中にあふれが生じたときにセットされる。あふれビッ
トは、加算および減算においてピッ1−〇からの桁」−
げとピッI〜1からの桁」−げとが異なっていると11
111にセラ1−され、さもなければ11011にセラ
I−される。これは除算ステップのための専用標識とし
ても使用される。ただし比較命令によって変更されるこ
とはない。
ザース上−に瓜−は実行された命令の計算結果(大小関
係)を示す。そのうちビット2(LT)、−くラード3
(G’fi−)−および−ζ方トA−1恥9后は、2つ
のオペランドを2の補数形式の符号付き整数と考えてセ
ラ1〜され、−くノートLA上−r=)および−1台ム
ト几巡長一旦Y、は、2つのオペランドを32ピッ1−
の無符号整数と考えてセットされる。ピッ1〜2〜6は
比較および論理命令によってもセットされる。
Yり−1−7〜1.−、、S−はいずれも桁」二げピッ
1−である。
そのうち瞥刈り一(イ)J−)−は、加算および減算に
おいてピッ1−〇からの桁上げがあると” I ”にセ
ラ!−され、さもなければ” o ”にセットされる。
これは除算および乗算命令のための専用標識としても使
用されるが、比較命令によって変更されることはない。
これに対して、ピッ1〜8ニー!−;−はA L Uに
おける各ニブルの桁−1−げを示す。例えば−4ノ上−
8((1)はピッI〜4からの桁上げがあるとrr 1
 rrにセットされ、さもなければ′0″にセラ1〜さ
れる。
任意の4ビツトニブルにおいて桁−1−げが生じると1
・・にセットされ、さもなければIt OItにセット
される。これを利用すれば、10進デイジツ1〜の有効
性を検証することができる。
゛ ビット16(PZ)は常時ゼロピッlへであって、
u i Itにセットされることはない。これは常時ゼ
ロピッ1−を参照する分岐命令による無条件分岐を可能
にする。
ビット17〜25は予約ピッ1〜である。これらは本実
施例では使用されないが将来の使用に備えて設けられて
いる。
ビット26〜−−鼾黒メECO〜下」フ」J□−は外部
条19− 件ビツI〜であり、外部条件が有効なときにCPUへの
対応する外部条件入力の値にセットされる。
Y−1io−(BB)は母線使用中ビットであり、母線
ユニツ1〜が使用中のためにそこで母線オペレーション
に関する命令を実行できないときにrr 1. Hにセ
ラ1−され、さもなければLL Ouにセットされる。
ピッ1へ3−1−リ」−Q〕−は半ワードあふれビット
であり、下位の16ビツトのあふれ状態を示す。これは
、加算才9よび減算においてピッ1−15および16の
桁上げが異なっていると11 ] Hgにセラ1〜され
、さもなければrr Orrにセットされる。このビッ
トは比較命令によって変更されることはない。
前述のように、命令はすべて4バイト長である。
PRTSMシステムでは、D形式、U L形式、M形式
およびX形式の命令が使用される。これらの命令形式を
下記の表2に示す。
20− 一一太−−−鼾一 り形式、UL形式 M形式 X形式 命令中の各フィールドの意味は次の通りである。
01)CIII(0〜5):命令のopコード。
RT(6〜10):命令の実行結果を受取る目的レジス
タの名前。
R5(6〜10):命令実行のためのソースレジスタの
名前。
RA(11〜15):第1オペランドレジスタ、または
回転命令の場合は目的レジスタと して使用されるIノシフタの名前。
RB(16〜20):第2オペランドレジスタの名前。
1’1I(6〜10):lノシフタビットまたはトラッ
プマスクを指定する即値フィールド。
Sl+(16〜20):シフI−量を指定する即値フィ
ールド。
D(16〜31):]6ビツトの符号付き整数を2の補
数形式で指定する即値フィール ド。拡張のため32ビツトの長さ を持った別のフィールドと組合せ て使用することができる。
M(21〜31) :”O”によって囲まれた11 ]
 、lのサブストリングまたは” 1 ”によって囲ま
れた” o ”のサブストリングがら成る32ビツトの
マスクを指定す る即値フィールド。ビット2Jが it O*rであれば前者のサブストリングが指定され
、r+ 1′gであれば後者のサブストリンクが指定さ
れる。
ピッ1−22〜26はサブル−チン グの左端ピッl−へのインデックス、 ビット27〜31はサブストリン グの右端ピッ1〜へのインデックス である。”] 00000 ] ] ] ]1″のマス
クフィールドはすべて 0°′のマスクを発生し、”oo。
0001111]”のマスクフィ ール1−はすべて” 1 ”のマスクを発生する。
EO(21〜31):拡張OPコード。
23− (rl) 多−件−レ−り一不−タヱニきjlりj(竺
前記の文献(1)にも記載されているように、PR丁S
Mシステムの各基本命令は単一マシンサイクルで実行さ
れる。基本命令の実行はかなりハードウェア的である。
これに対して、浮動小数点演算、固定小数点乗算、】0
進演算、記憶装置から記憶装置への移動などのように複
雑な高機能命令は、マイクロコードよりもむしろソフト
ウェア手順(マクロ)で実行される。これの長所は次の
とおりである。
まず、CI) TJは″マイクロコード′″境界で割込
み可能であり、複雑な命令を持ったアーキテクチャは割
込みを命令境界に制限するか、または(システム/37
0の長移動命令のように)特定の割込み点を定義する。
命令の実行途中での割込みを許さないのであれば、何ら
かの観測できる状態が保管される前に実行を首尾よく終
らせるための策が必要である。例えば、システム/37
0の文字移動命令の場合は、移動開始後にページ不在割
込みが生じるのを避けるため、移動を開始する前にす2
4− ベてのページが事前検査される(多重処理システムの場
合は更にロックされる)。割込み点が定義されている命
令は再始動可能でなければならない。
第2に、最適化コンパイラはプログラムされた複雑な機
能の構成要素を分離すること、例えば幾つかの部分をル
ープから外して他へ移すことができる。
第3に、複雑な命令の一部をコンパイル時に実行できる
ことが多い。乗算命令を例にとると、オペランドの1つ
が定数がコンパイル時に既知であった場合、コンパイラ
は一般の乗算マイクロコードサブルーチンよりも効率の
よい゛桁送り/加算″シーケンスを生成できることがあ
る。
単一マシンサイクルで完了できない複雑な機能の絹込み
を助けるため、本実施例では幾つかの新規な条件コード
ビット(表1参照)および部分算術命令が定義されてい
る。
次に、ハードウェアの助けを悟りで、単一マシンサイク
ルでは完了できない複雑、な機能を実現する算術命令の
例を幾つか説明する。
(1)除算セラ1−ツツプ(DVSET R5,RA、
 RB)R3の内容が” M Q ”と呼ばれる拡張レ
ジスタ(あとで述べる)ヘロードされる。桁」二げビッ
トはRAおよびR,Bの符号の関係を示すようにセット
され、それに基いて後続の除算ステップ命令が実行され
る。
条件コード: CA=] R,AおよびR,Bの符号が同じ。
OR,AおよびRBの符号が異なる。
他の条件ビットはいずれも変更されない。
(2)除算ステップ(DVS RT、RA、 RB)、
X形式CA=]であれば、レジスタRAの内容が(RB
ll(MQのビット0))から減算され、CA=0であ
れば反対に加算される。なお、” II ”は連結を表
わす。和の下位32ピツ1〜はレジスタRTヘロードさ
れる。MQは1桁左へ桁送りされ、そのビット31は結
果の符号とレジスタRAの符号とが同じであれば1にセ
ラ1〜され、さもなければ0にセラ1〜される。
条件コード: CA=I RAのピッ1−0が結果の符号と同じ。
ORAのピッl−0が結果の符号と異 なる。
0V=I R,Bのビット0が結果の符号と同じ。
ORT3のピッ1−0が結果の符号と異なる。
他の条件ビットはいずれも変更されない。
基本命令である除算セットアツプ命令および除算ステッ
プ命令を用いて、28(1,6進表示ではIC)を3で
割ったときの商および剰余をめる計算を33のマシンサ
イクルで実行する例を下記の表3に示す。表3において
、商はMQに得られ、−27= 剰余はレジスタ5に得られる。前の演算からの剰余はゼ
ロであるから、レジスタ5は最初ゼロにセラlへされる
28− Oo CI Oo 000 C100C) 、+ 00
、−1−一一一一一一一一一一一。−一。
V5+51n l/) In L/) lfl 14’
) In Ln LI’5 R) In 14’) I
n L+’)(3)第1乗算ステップ(MFS RT、
 RA)RAとMQのビット30.31との不完全積(
34ビツト)が下記の表に従って形成される。
MOビット30 MOビット31 代数和o o o+
0 1 0−4−RA l、 OO−2・RA +1O−RA RAは34ビツトの加算の前に符号拡張される。
和の上位32ビツトはRTに置かれる。MQは右へ2位
置分だけ桁送りされ、和の下位2ビツトがMQのピッ1
〜0.1と置換される。
条件コード: CAが桁送り前のMQのビット30の値にセットされる
29(L− 他の条件ピッ1へはいずれも変更されない。
(4)乗算ステップ(MPS RT、 RA、 Rn)
、X形式%式%] RAとMQのピッ1−30.3】との不完全積(34ビ
ツト)が下記の表に従ってRBに加算される。
MQピッ1−30 MOビット31 CAビット 代数
和0 0 0 RB+0 0 ] 6 RB十RA 1 0 0 RB−2・RA l、 I O11n−RA o 0 1 RB + RA O] 1. RB+2・RA l 0 1 RB−RA l ] I RB十〇 RAおよびRBは34ピツ1への加算の前に符号拡張さ
れる。和の−1−位32ピッI〜はR,Tに置かれる。
MQは右へ2位置分だけ桁送りされ、和の下位2ピツ1
〜がMQのピッ+−0,1と置換される。
条件コ−1へ: CAが桁送り前のMQのビット30の値にセラ1−され
る。
他の条件ピッ1〜はいずれも変更されない。
(5) 10進6加算(AnS RT、 Rr()、X
形式%式%] すべての10進デイジツト(4ピツ1へ)が6であるワ
ードがレジスタRBの内容に加算される。
結果はレジスタRTにロー1〜される。
条件コート: LT、EQ、GT、LG、○V、CA、CD、C4〜C
28およびS○が1または0にセラ1〜され、LL、が
0にセラ1−される。
(6) 10進マスク付減算(SFI)M ItT、 
RI’l)、X形式%式% 1010進1−げのあったすべての10進デイジツトが
0であり、目、つ桁上げのなかったすべての10進デイ
ジツ1〜が6であるワードが第1オペランドとして使用
され、レジスタRBの内容から減算される。結果はレジ
スタRTにロー1−される。
条件ロー1へ: いずれも変更されない。
(5)のA D S命令および(6)のSFDM命令は
10進数の加減算を2進演算により達成するもので、次
に10進加算の例を説明する。
レジスタRAおよびRBが符号なしの8桁の10進数(
整数)を含んでいるものとすると、次のルーチンにより
、それらの和がレジスタR,Cに得られる。
ADS RC,RA A RC,RB、 RC 332 一8FD RC,RC 最初の命令は、8桁すべてが6であるオペラン1−をR
Aにある10進数に加算し、その結果をRCに置く。こ
れにより、10進数のO〜9が各々6〜15に変換され
る。2番目の命令は、RBの内容をRCにある変換され
た10進数に加算し、その結果をR,Cに置く。加算前
のRCの内容は、RAにあった元の10進数の各桁に6
を加えたものであるから、加算の結果、桁」−げの生じ
ない10進位置があれば、その位置の値は正しい加算結
果値よりも6だけ大きい。桁上げの生じた10進位置は
正しい加算結果値を含む。この桁上げは実際には16進
数の下から10への桁」二げであるが、最初各桁に6が
加算されているから、これは10進数の9から10への
桁上げと等価である。かくて、正しい10進加算結果を
得るためには、桁上げの生じなかった10進位置の値か
ら6を減算する必要がある。最後の命令(SFDM)は
この減算を行うものである。条件レジスタのピッ1〜C
A(2番目の加算命令Aによりセットされる)は、33
− 加算結果を1つのIノシフタに収容できるか否かを2示
す。
IO進数の加算および減算の実例を次の表4および表5
に示す。いずれの場合も、10進数の27がレジスタ4
にロードされ、10進数の3/Iがレジスタ5にロード
され、X’66666666’がレジスタ6にロードさ
れている。結果はレジスタ3に得られる。
これまで説明してきた拡張条件レジスタアーキテクチャ
は、PRISMシステムにおけるプログラミングの次の
ような部分に偉力を発揮する。
(]、)W術演算結果が符号つきか符号なしかの解釈。
(2)多倍精度の算術演算ルーチンの作成。
(3)基本乗算ステップ命令および基本除算ステップ命
令による全乗算および除算操作の遂行。
(4)10進算術演算 (5)長いルーチンにわたる算術あふれの追跡。
(6)最適化コンパイラによる共通比較結果の利用。
次に」1記の(1)〜(6)について詳述する。
まず(1)については、例えば、2つの数値の加算は符
号の有無に関係なく同じ回路で行われ、最終結果の解釈
だけが符号の有無によって異なる。符号つきの解釈の場
合i主、条件レジスタのあふれ、より小さい、またはよ
り大きいを示すピッ1〜が最終結果を特徴づ4−1、符
号なしの解釈の場合は、桁上げ、論理的により小さい、
または論理的により36− 大きいを示すピッ1−が最終結果を特徴づける。従って
、符号つきおよび符号なしの算術演算を同じ○Pコード
で指定できる。
(2)し二ついては、多倍精度の算術演算ルーチンにも
条件レジスタの桁」二げピッ1〜を利用することができ
るPRT 8Mシステムの拡張加算命令および拡張減算
命令は、条件レジスタの桁上げビット(CΔ)を参照し
て、下位の結果から上位の結果への桁−1−げ伝播を実
現している。
(3)については、PRTSMシステムの乗算および除
算は多数の基本命令からなるルーチンによって実行され
る。乗算の場合条件レジスタの桁]−げビットけ、最後
に実行された乗算ステップ命令で使用された部分乗数の
符号を表わす。各乗算ステップ命令はこの桁」二げピッ
1〜の状態から、前の左端ビットが符号として解釈され
たか否かを判断し、それに応じた加算を行う。同様にし
て、多倍精度の乗数を用いることにより、多倍精度乗算
ルーチンを作成することができる。MQのすべてのピッ
1−が乗数ピッ1〜として使用された後、MQか37− ら部分積が取出され、次の32個の乗数ビットが挿入さ
れる。条件レジスタの桁−Iこげピッ1〜は、それ以上
符号を考慮することなく乗算を続行できるようにセラ1
−される。
除算ルーチンの場合は、最初の除算ステップ命令が実行
された後の条件レジスタのあふれピッ1〜(0■)によ
り、商を1つのレジスタに収容しきれるか否かが示され
る。また、最後の除算ステップ命令が実行された後に、
条件レジスタの桁−にげピッ1〜の状態に応じて適切な
剰余が決定される。
(4)については、加算命令または減算命令が実行され
る度に、10進数の各桁ごとに桁1−げの有無が条件レ
ジスタによって表示される。10進演算の場合は1桁が
4ピッ1−であるから、ピッ1へ0.4.8.12.1
6.20.24および28からの桁上げの有無が表示さ
れる。この情報は2通りに使用できる。まず短精度の算
術演算の場合、もしフィールド長が4の倍数であれば、
条件レジスタにあるこれらの桁上げピッ1−は、結果を
4ビツトのサブフィールドの収容しきれなくなったこと
を示す。第2の、こちらの方が重要であるが、10進数
算術命令に関連して使用すれば、8桁の加算(および減
算)を3つ(または2つ)の基本命令だけで遂行できる
(5)については、条件レジスタの合計あふれピッ1−
(S○)が使用される。ある特定のルーチン内で算術あ
ふれが生じたか否かを検査したいとき。
普通はあふれを起す可能性のある各命令の後にあふれを
検査するための命令を挿入しておく必要があるが、合計
あふれピッ1〜を使用すれば、そのような必要なしにル
ーチンを書くことができる。この結果、コー1−が著し
く簡単になり、あふれの見落としもなくなる。但し、算
術あふれを検査したいルーチンに入る前に条件レジスタ
の合計あふれビットをリセツ1〜するため、条件レジス
タの内容を特定の汎用レジスタXにコピーする命令、レ
ジスタXの最上位ビット(合計あふれピッl−)を0に
する命令、およびレジスタXの内容を条件レジスタに戻
す命令をそのルーチンの前に挿入し、且つ合計あふれピ
ッ1−の状態を分岐条件とする条件分岐命令をそのルー
チンの後に挿入しておく必要がある。それでも、命令ご
とにあふれを検査する従来のシステムに比べればかなり
簡単になっている。
最後の(6)については、条件レジスタの内容を容易に
保管できるので、最適化が可能になる。例えば、次のよ
うなコードを考えてみる。
IF A<B THEN ・・・・; El、SRJF A−BTORN・・・・;EISE・
・・・; これらのステートメントはA<B、A=BまたはA>B
のときに各々何をするかを記述したものであるが、Aと
Bの比較は1回でよい、、最初のIFステートメントは
条件レジスタのLT(より小さい)ビットを検査し、2
番目のJFステーメントは、これら2つの分岐命令の間
に挿入されている別の命令が条件レジスタを変更してい
ない限り、そのEQ(等しい)ビットを検査する。2番
目の4O− TFステーメン1−のために、AとBを再度比較するこ
と、および2つのオペランドAおよびBを保持しておく
ことは不要である。コンパイラは、2番目のIFステー
1−メントの前に条件レジスタが変更されたか否かを判
断できるので、もし変更されているのであれば、その変
更に先立って条件レジスタの内容が特定の汎用レジスタ
にコピーされる。その場合、2番目のIFステートメン
トはこの汎用レジスタにコピーされたEQビットを検査
することになる。
これまで説明してきた拡張条件レジスタアーキテクチャ
の利点は、条件レジスタの内容の保管(コピー)および
復元を各々1つの命令で行えるという事実に基いている
。従って、条件レジスタを利用するマクロオペレーショ
ン(例えば乗算)の途中で割込みが生じるとしても、そ
れによってマクロオペレーションのボード化が制限され
ることはない。割込みの間条件レジスタの内容を保管し
ておけばすむからである。
(C)ノとニド久とて 41一 本発明を実施し得る代表的なPRIsMシステムの構成
を第1図に示す。システムの内部母線】0には、CP 
U 12、複数の母線ユニツ1へ]/I、16(浮動小
数点ユニツ1−など)、命令キャッシュ機構18、デー
タキャッシュ機構20、およびシステム母線ユニツ1〜
22が接続されている。キャッシュ機構】8.20はい
ずれもキャッシュ、ディレクトリおよび変換索引緩衝機
構(TLB)を含んでいる。システム母線ユニツ1−2
2は主としてT10オペレーシヨンを制御するもので、
主記憶装置24にも接続されている。主記憶装置24と
命令キャッシュ機構J8およびデータキャッシュ機構2
0との間では命令およびデータが別々にやりとりされる
。CPU12は命令母線26を介して命令キャッシュ機
構18から命令を取出す。
第2A図および第2B図はCPU1.2の内部構成を示
したちである。主要構成要素の1つである汎用レジスタ
ファイル30は32個の汎用レジスタを含んでいる。汎
用レジスタファイル30の2つの入力RAおよびRTな
らびに3つの出力RAR,BおよびR,Sはいずれも命
令によって指定されるオペランドである。汎用レジスタ
ファイル30のア1くレス指定は、命令レジスタ32に
ロードされた命令の各種レジスタフィールドによってな
される。命令レジスタ32のボックス内およびその下側
に示されている記号の意味については表2のところを参
照されたい。
命令は命令アドレスレジスタ(TAR)34により命令
キャッシュ機構18から取出される。■AR34は極く
普通のもので、プログラムの開始時に初期設定され、プ
ログラムの進行につれて順次に増分されたり、分岐アド
レスをロードされたりする。表2に示したように、命令
は32ビツト(4バイl−)であるから、IAR34の
増分単位は4である。ボックス36は次命令アドレスを
含む。
汎用レジスタファイル30、命令レジスタ32およびT
AR34の選択された内容はマルチプレクサ38および
40を通ってAT−U42へ供給される。マルチプレク
サ38は命令アドレスまたは指定されたレジスタRAの
内容を通し、マルチプレクサ40は即値オペランドDま
たは指定されたレジスタRBの内容を通す。ALU42
の演算結果は出力バッファレジスタ44にロードされた
り、IAR34、条件レジスタを含む条件論理50、ま
たはデータキャッシュ機構20へアドレスを送るための
アドレスゲート54へ直接供給されたりする。
ALU42の演算結果を汎用レジスタファイル30に書
戻す場合は、命令がレジスタ’RAおよびRTのいずれ
を指定しているかに応じて、出力バッファレジスタ44
の内容がマルチプレクサ46または48を通って汎用レ
ジスタファイル30へ転送される。
条件論理50については次の第3図のところで説明する
分岐/トラップ検査論理52は、命令のBIフィールド
、条件レジスタおよび指定されたレジスタR,Aの内容
に応じて、分岐またはトラップを行うべきか否かを検査
する。前述のように、変更前44− の条件レジスタの内容が特定の汎用レジスタに保管され
ているときに、その中の特定のビット(例えばEQピッ
1〜)の値に応じて分岐するか否かを決めるような場合
にこの分岐/トラップ検査論理52が使用される。その
場合、条件レジスタの内容を保管している汎用レジスタ
は分岐命令中のRAフィールドにより指定さJz、分岐
条件となるビットは5ビツトのBIフィールドにより指
定される。
内部レジスタR2および拡張用レジスタMQを含むマス
ク回転論理56は基本的には、指定されたレジスタの内
容を指定された量(最高31ビツト)だけ回転(循環術
送り)するものである。回転された内容はマスクの制御
のもとに、他のレジスタの内容または全ゼロ等の特別の
ワードと組合されたり、MQレジシフに保持されている
前の回転結果と組合されたりする。これ通常の桁送りだ
けでなく、例えば10進数のパックおよびアンパック、
浮動小数点演算の場合の事前術送りおよび正規化などを
行うときに使用される。マスク回転45− 論理56の出力はマルチプレクサ46(R,2)または
48(MQ)を通って汎用レジスタファイル30へ転送
されるか、あるいは出力ゲー1〜55を通ってデータキ
ャッシュ機構20へ転送される。
MQレジシフはマスク回転操作で使用される他に、乗算
および除算の如き算術演算において32ビツトよりも長
いデータが生成されたときにあふれ分を記憶するのにも
使用される。
データキャッシュ機構20から取出されたデータは、入
力ゲート58およびマルチプレクサ48を通って汎用レ
ジスタファイル30へ転送される。
第3図はALU42と条件論理50の関係を部分的に示
したもので、殆んどの条件ビットはA LU42の出力
によって直接セットされる。条件ビットCA、、C4、
C8、CI2、C16、C20、C24およびC28は
、ALU内部で発生される4ビツトごとのニブル桁」二
げ信号を外部へ取出すことによって1または0にセット
される。これらは演算結果のビット0.4.8、I2.
16.20.24および28からの桁」二げの有無を表
わ會′。
条件ピッ1〜CDはこれ♂もの桁−にげビットすべての
論理和(OR)をとることによってセラ1−される。
条件ヒシ)−8O(合泪あふれ)および○V(あふれ)
は、除算ステップのときを除き、同じ入力によって同時
にセラ1〜される。除算ステップのときはSOは変更さ
れない。
〔発明の効果〕
基本命令の実行完了後の状態をハードウェアで直ちに表
示できるので、複数の基本命令によって遂行される複雑
なオペレーションが高速化される。
【図面の簡単な説明】
第1図は本発明を実施し得るPRTSMシステムの構成
例を示すブロック図。 第2図は第2A図および第2B図のつながりを示すブロ
ック図。 第2Δ図および第2B図はCPU12の内部構成を示す
ブロック図。 第3図はALU42と条件論理50の関係を示すブロッ
ク図。 タイン アメリカ合衆国ニューヨーク州 ヨークタウン・ハイツ・リッジ ・ストリート2127番地 η・発 明 者 ジョージ・ラブイン アメリカ合衆国ニューヨーク州 ビアモント・フランクリン26番

Claims (1)

    【特許請求の範囲】
  1. 11−マシンサイクルで実行できる基本命令の命令セラ
    1−を有し、前記基本命令を記憶する記憶手段と、該記
    憶手段から基本命令を取出すためのアドレス手段と、該
    アドレス手段によって取出された基本命令を実行するた
    めのA L Uと、該A L Uで使用されるオペラン
    ドを記憶する汎用レジスタファイルとを備えた計算機シ
    ステムにおいて、前記ALUでのピッl−0,4,8・
    ・・・、N (Nは4の倍数)からの桁−にげの有無を
    表わす複数の桁」二げビットを含む条件レジスタを設け
    、各該桁上げビットを前記A L Uからの対応する桁
    上げ信号によってセラ1へするようにしたことを特徴と
    する条件コード発生装置。
JP59125442A 1983-06-30 1984-06-20 条件コ−ド発生装置 Expired - Lifetime JPH0743646B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/509,744 US4589087A (en) 1983-06-30 1983-06-30 Condition register architecture for a primitive instruction set machine
US509744 1983-06-30

Publications (2)

Publication Number Publication Date
JPS6014337A true JPS6014337A (ja) 1985-01-24
JPH0743646B2 JPH0743646B2 (ja) 1995-05-15

Family

ID=24027918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59125442A Expired - Lifetime JPH0743646B2 (ja) 1983-06-30 1984-06-20 条件コ−ド発生装置

Country Status (4)

Country Link
US (1) US4589087A (ja)
EP (1) EP0130377B1 (ja)
JP (1) JPH0743646B2 (ja)
DE (1) DE3485929T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142636A (en) * 1987-01-29 1992-08-25 Mitsubishi Denki Kabushiki Kaisha Memory bank address calculation with reduced instruction execution cycles

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62257526A (ja) * 1986-04-30 1987-11-10 Mitsubishi Electric Corp 算術論理演算装置
US4992934A (en) * 1986-12-15 1991-02-12 United Technologies Corporation Reduced instruction set computing apparatus and methods
US5083263A (en) * 1988-07-28 1992-01-21 Sun Microsystems, Inc. BISC with interconnected register ring and selectively operating portion of the ring as a conventional computer
US5001662A (en) * 1989-04-28 1991-03-19 Apple Computer, Inc. Method and apparatus for multi-gauge computation
US5471593A (en) * 1989-12-11 1995-11-28 Branigin; Michael H. Computer processor with an efficient means of executing many instructions simultaneously
WO1991011765A1 (en) * 1990-01-29 1991-08-08 Teraplex, Inc. Architecture for minimal instruction set computing system
EP0459232B1 (en) * 1990-05-29 1998-12-09 National Semiconductor Corporation Partially decoded instruction cache and method therefor
US5269017A (en) * 1991-08-29 1993-12-07 International Business Machines Corporation Type 1, 2 and 3 retry and checkpointing
US5293613A (en) * 1991-08-29 1994-03-08 International Business Machines Corporation Recovery control register
US5245563A (en) * 1991-09-20 1993-09-14 Kendall Square Research Corporation Fast control for round unit
JP3590075B2 (ja) * 1992-01-20 2004-11-17 株式会社東芝 仮想記憶方式のデータ処理装置及び方法
US5590348A (en) * 1992-07-28 1996-12-31 International Business Machines Corporation Status predictor for combined shifter-rotate/merge unit
US5440702A (en) * 1992-10-16 1995-08-08 Delco Electronics Corporation Data processing system with condition code architecture for executing single instruction range checking and limiting operations
US5452456A (en) 1992-12-18 1995-09-19 Apple Computer, Inc. Apparatus for executing a plurality of program segments having different object code types in a single program or processor environment
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
US5481743A (en) * 1993-09-30 1996-01-02 Apple Computer, Inc. Minimal instruction set computer architecture and multiple instruction issue method
US5815695A (en) * 1993-10-28 1998-09-29 Apple Computer, Inc. Method and apparatus for using condition codes to nullify instructions based on results of previously-executed instructions on a computer processor
US6058473A (en) * 1993-11-30 2000-05-02 Texas Instruments Incorporated Memory store from a register pair conditional upon a selected status bit
US5689695A (en) * 1993-11-30 1997-11-18 Texas Instruments Incorporated Conditional processor operation based upon result of two consecutive prior processor operations
JP3105738B2 (ja) * 1994-06-10 2000-11-06 日本電気株式会社 情報処理装置
US5845118A (en) * 1995-12-14 1998-12-01 International Business Machines Corporation Method for generating shared library executable code with lazy global offset table address calculation
US6128303A (en) * 1996-05-09 2000-10-03 Maker Communications, Inc. Asynchronous transfer mode cell processing system with scoreboard scheduling
US5748631A (en) * 1996-05-09 1998-05-05 Maker Communications, Inc. Asynchronous transfer mode cell processing system with multiple cell source multiplexing
US5748630A (en) * 1996-05-09 1998-05-05 Maker Communications, Inc. Asynchronous transfer mode cell processing system with load multiple instruction and memory write-back
US5794025A (en) * 1996-05-09 1998-08-11 Maker Communications, Inc. Method and device for performing modulo-based arithmetic operations in an asynchronous transfer mode cell processing system
US6016539A (en) * 1997-11-03 2000-01-18 Teragen Corporation Datapath control logic for processors having instruction set architectures implemented with hierarchically organized primitive operations
US7353163B2 (en) * 1999-04-27 2008-04-01 Transitive Limited Exception handling method and apparatus for use in program code conversion
US6868421B1 (en) * 1999-11-27 2005-03-15 Ching-Fang Lin Method of converting geospatial database into compressive database for multiple dimensional data storage
US20020083311A1 (en) * 2000-12-27 2002-06-27 Paver Nigel C. Method and computer program for single instruction multiple data management
US7861071B2 (en) * 2001-06-11 2010-12-28 Broadcom Corporation Conditional branch instruction capable of testing a plurality of indicators in a predicate register
US6986025B2 (en) * 2001-06-11 2006-01-10 Broadcom Corporation Conditional execution per lane
US7127593B2 (en) * 2001-06-11 2006-10-24 Broadcom Corporation Conditional execution with multiple destination stores
US8364734B2 (en) * 2005-09-15 2013-01-29 International Business Machines Corporation Converting from decimal floating point into scaled binary coded decimal
JP5226328B2 (ja) * 2007-03-27 2013-07-03 パナソニック株式会社 コード変換装置
US8051117B2 (en) * 2007-04-26 2011-11-01 International Business Machines Corporation Shift significand of decimal floating point data
US8051118B2 (en) * 2007-04-26 2011-11-01 International Business Machines Corporation Composition of decimal floating point data
US8672490B2 (en) 2011-11-30 2014-03-18 Izi Medical Products High reflectivity retro-reflective marker
US9110657B2 (en) 2013-01-21 2015-08-18 Tom Yap Flowchart compiler for a compound complex instruction set computer (CCISC) processor architecture
US9405534B2 (en) 2013-01-21 2016-08-02 Tom Yap Compound complex instruction set computer (CCISC) processor architecture
US11663004B2 (en) 2021-02-26 2023-05-30 International Business Machines Corporation Vector convert hexadecimal floating point to scaled decimal instruction
US11360769B1 (en) * 2021-02-26 2022-06-14 International Business Machines Corporation Decimal scale and convert and split to hexadecimal floating point instruction

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3958112A (en) * 1975-05-09 1976-05-18 Honeywell Information Systems, Inc. Current mode binary/bcd arithmetic array
NL7712367A (nl) * 1977-11-10 1979-05-14 Philips Nv Digitaal optelrekenorgaan.
JPS54117646A (en) * 1978-03-06 1979-09-12 Toshiba Corp Computer
EP0055124B1 (en) * 1980-12-24 1990-01-31 Bull HN Information Systems Inc. Digital multipliers
US4484300A (en) * 1980-12-24 1984-11-20 Honeywell Information Systems Inc. Data processor having units carry and tens carry apparatus supporting a decimal multiply operation
US4384341A (en) * 1980-12-24 1983-05-17 Honeywell Information Systems Inc. Data processor having carry apparatus supporting a decimal divide operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142636A (en) * 1987-01-29 1992-08-25 Mitsubishi Denki Kabushiki Kaisha Memory bank address calculation with reduced instruction execution cycles

Also Published As

Publication number Publication date
DE3485929T2 (de) 1993-04-01
JPH0743646B2 (ja) 1995-05-15
DE3485929D1 (de) 1992-10-29
EP0130377A3 (en) 1987-10-21
EP0130377A2 (en) 1985-01-09
EP0130377B1 (en) 1992-09-23
US4589087A (en) 1986-05-13

Similar Documents

Publication Publication Date Title
JPS6014337A (ja) 条件コ−ド発生装置
JPS6014336A (ja) 命令処理装置
JPS6014341A (ja) 基本命令セツト計算機システムにおけるトラツプ割込み方式
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
Rafiquzzaman Microprocessors and microcomputer-based system design
US4713750A (en) Microprocessor with compact mapped programmable logic array
Cook et al. System design of a dynamic microprocessor
US8145804B2 (en) Systems and methods for transferring data to maintain preferred slot positions in a bi-endian processor
JPS6014338A (ja) 計算機システムにおける分岐機構
Hsu Computer architecture: software aspects, coding, and hardware
US6360194B1 (en) Different word size multiprocessor emulation
Flynn et al. Microprogramming revisited
Blanchet et al. Computer architecture
Fuller et al. The Effects-of Emerging Technology and Emulation Requirements on Microprogramming
Shima Solid state/computers: Demystifying microprocessor design: Big chips require artful compromises, as demonstrated by this design case history
Kunz et al. The LASS hardware processor
Paap et al. PowerPC: a performance architecture
US20260064421A1 (en) Atomic compare and swap using micro-operations
Rafiquzzaman Microprocessor theory and applications with 68000/68020 and Pentium
Fuller et al. Microprogramming and its Relationship to Emulation and Technology
Ram Computer Fundamentals
Archambaud et al. RAPID-2, an object-oriented associative memory applicable to genome data processing
Nojiri et al. Microprogrammable processor for object-oriented architecture
Kumar Computer Architecture
Hinshaw Optimal selection of functional hardware units for microprogram controlled central processing units