JPS61836A - 乗除算器 - Google Patents

乗除算器

Info

Publication number
JPS61836A
JPS61836A JP60077508A JP7750885A JPS61836A JP S61836 A JPS61836 A JP S61836A JP 60077508 A JP60077508 A JP 60077508A JP 7750885 A JP7750885 A JP 7750885A JP S61836 A JPS61836 A JP S61836A
Authority
JP
Japan
Prior art keywords
register
bit
instruction
memory
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
Application number
JP60077508A
Other languages
English (en)
Inventor
シツド ポウランド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPS61836A publication Critical patent/JPS61836A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5353Restoring division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/49994Sign extension

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〈産業上の利用分野〉 この発明は、一般的に計算器、マイクロコンピュータ、
ミニコンピユータ及び大形計算機に入っている様な別個
の乗除算論理回路を含むデータープロセッサ、更に具体
的に云えば、高速乗除算回路を持つ高速データ・プロセ
ッサに関する。この発明は、係属中の米国特許出願番号
第520,880号(出願口1983年8月58%出順
人参照番号Tl−9658)及び同第538.834号
(出願口1983年10月25日、出願人参照番号Tl
−9859’)に関連を有する。
〈従来技術とその問題点〉 高速プロセッサの中心テーマは速度である。従来、乗除
算を行なうには、大規模な論理回路を必要とする場合が
多く、それがシングル・チップ動作を実現する妨げにな
っていた。その為、こういう機能を改良する為に使われ
た処理装置は大形であると共にコスI・が高かった。
処理装置は、データ・プロセッサと呼ばれることもある
が、下等な、想像力を使わないタスクの処理には非常に
有効な装置である。こういうタスクは物理的な現像の監
視を必要とするが、算術又は論理動作の何れかで、馬鹿
力によるデータの操作を必要とするのが典型的である。
処理装置の速度がその応用範囲及び有用性の決め手であ
る。普通「低速」と呼ばれるプロセッサは、処理装置の
低速動作の為にかかる時間及び/又はコストの制約上、
成るタスクには一般的に使うことが出来ない。普通「高
速」と呼ばれる他の処理装置は、これまで非常に高価で
あるので、それらは成る用途には実用的でない。
データ・プロセッサは一般的にその規模と能力に従って
分類される。この能力をスペクトル形に分類すれば、そ
の低い方の端に、簡単な動作又は決まりきった動作を行
なう手持ちの計算器がある。マイクロコンピュータは、
そのコストが中位で、計算速度が幾分遅い為に、消費者
並びに小企業に使われている。ミニコンピユータは一層
大きなメモリー及び能力を持ち、T業用、研究用又は中
企業に使われている。大形計算機は、特定されたタスク
に応じて、その規模が成る範囲にわたり、典型的には大
きなデータベース並びに多数の利用者を取扱う。
Lに述べた分類スペクトルの両端にある手持ちの計算器
及び大形計算機は、平均的な利用者の要求又は制約に合
わない。コストの釣合いから、平均的な利用溝はマイク
ロコンピュータ又はミニコンピユータに向う。これらは
、そのコストが安い為、利用者が計算速度が遅いことを
受入れる気持がある。
デークープロセンサが実時間の環境又はモードで動作出
来ることは非常に有利である。実時間の動作は、優先順
位の低いタスクに割込むことによって、優先順位が一層
高いタスクを実施することが出来る様にするタスクの実
行の優先順位による区別が出来る。優先順位が高いタス
クを実行する為、優先順位が低いタスクの判断基準及び
状態が、一時的にメモリに退避させられ、データ処理装
置が後の時点で、このデータを検索し、途中で終了した
タスクを続けることが出来る様にする。データ・プロセ
ッサが、傷*、順位の低いタスクに関連した資料を、そ
の為に空けであるメモリの部分に連継させ、その後でそ
れを検索する為に要する時間の長さで、割込みを使うこ
と並びに優先順位が高いタスクへの切換えが実際的であ
るかどうかを判定中る。データの退避及び検索に不釣合
いな長さの時間が必要であれば、勿論プロセッサの効率
は大幅に低下する。
処理装置のアーキテクチャは処理装置の種々の部品並び
にその間の相互接続に関係する。典型的には、データ・
プロセッサは中央処理装置(CPU)を他の部品に対す
る制御手段として用いる。
一般的にCPUは算術論理装置(ALU)にインターフ
ェイス接続されるか、成るいはそれを含んでいる。
ALUはデータを受取り、それに対して成る操作を行な
う装置である。こういう操作は一般的に算術又は論理動
作に分けられる。CPUがALUに送出されるデータを
制御すると共に、その動作を選択する。ALUに対する
CPtJのインターフェイスの態様が1973年9月2
5日に付与された米国特許第3,781,898号に例
示されている。
算術論理装置(ALU)は所望の機能を実施する為に、
データの実際のビット構成に対して操作を行なう。デー
タを受取るのは、データ母線を介してビット、バイト、
データ・ワード並びに/又はその倍数又は端数の何れか
の順次であってよい。このデータがCPUの中に、又は
その代りにメモリの中にデーターワードの形で貯蔵され
る。データ・プロセッサを記述するのにデータ・ワード
の語長が使われる。これはこの語長がデータ・プロセッ
サの精度に直接的な関係を持つからである。16ビツト
のデータ・ワードのプロセッサは4ビツトのデータ・ワ
ードのプロセッサよりも、ずっとよい精度で数を定義す
ることが出来る。
プロセッサがデータを受取り、算術論理装置を用いてそ
れを操作し、データを後に必要とする時まで、メモリに
保有すること等により、それを不変状態にする。通信チ
ャンネルがCPU及びメモリを電気的に接続する。メモ
リの例としては、随時呼出し記憶装置(RAM)、読出
専用記憶装置(ROM)、又は磁気テープ或いはディス
クの様な磁気記憶装置の様な装置がある。プロセッサと
ROMヌはRAMの間の相互接続の1例が1977年9
月20日にタブスに付与された米国特許第4,0Ei4
゜554号に例示されている。
CPUが機械言語で記憶されている命令に応答する。機
械言語は、データ・ワードと同じ語長に筒易化された命
令である。命令がメモリに記憶されていて、アドレス符
号に従ってCPUによって検索される。このアドレス符
号は、CPUによって逐次的に指定される遂次位置であ
ってよい。
メモリがプロセッサに対するデータ及び命令の両方を持
っているので、プロセッサがメモリから受取ったのが何
であるか混同しない様に、成るフラグ又は信号を使う。
7オン・ノイマン形アーキテクチャは、メモリに貯蔵さ
れるデータ及び命令にフラグを付けることを定めている
。この構成によ4y、プロセッサは優先順位に従ってタ
スクを実行することが出来る。優先順位の高いタスクが
優先1110位が一層低いタスクに割込む詩、優先順位
が低い方のタスクの動作を停止し、この順位の低いタス
クに関係するプロセーフす内のデータ及び状態情報が、
優先順位の高いタスクが完了するまで、メモリに記憶さ
れる。一旦完了すると、プロセッサは、優先順位の低い
タスクを中断した状態に再設定中る。
データをメモリに退避させ、後の時点でそれを検索する
ことが出来ることは、データ舎プロセッサにとって重要
な利点である。それは、こうすると多数の端末装置又は
タスクがその優先順位に従って直列に処理されるからで
ある。
メモリをワード、ページ及びチャプタに構成することに
より、ワード舎アドレス、ページ・アドレス及びチャプ
タ・アドレスを通じて、データを容易に記憶し且つ検索
することが出来る点で、プロセッサの動作の融通性がさ
らに大きくなる。
一般的にデータ・プロセー、すは他のデータ舎プロセッ
サと関連して作用し、特定の目的を達成する為にデータ
及び情報を交換する。この様な用例が1972年lθ月
24日にテーラ−他に付与された米国特許第3.700
.888号に記載されている。このテーラ−の米国特許
では、カスケード形プロセッサ群を使って、出力信号の
不砿実性を最小にしている。典型的には、プロセッサか
ら成るシステムが階層形に構成され、データが低い方の
レベルの巾を通って一層高いレベルのプロセッサにシフ
トする様になっている。
Lに引用したステフェンソン、タプス及びテーラ−の次
元では、処理装置に対する今日の要求に合う様な速度が
連成されないことに注意されたい。それらの基本的な命
令の処理、アーキテクチャ及びデータの操作の為に高速
が達成出来ない。
プロセiすが1個の命令を完了するのに使う時間、即ち
1クロiり・サイクル、又は1個のクロック・パルスの
立上りから次に続くクロック・パルスの立トリまでの時
間が命令時間又はサイクル時間と呼ばれる。各々の装置
はいろいろなすオクル時間を利用し、場合によっては、
特に複雑な動作を実行する為に、lサイクルより長くか
かることがある。
プロセ・ソサのサイクル時間を合理化し又は改善する為
に、「ルックアヘッド」又は「ブリフェッチ」と呼ばれ
る方法が生れた。ブリフェッチ動作では、順番の次の命
令を求めて復号し、現在の命令が完了した時、次の命令
の動作が出来る様にする。各々の命令を使う前に復号す
ることが出来るので、この方法〒は、その命令がプロセ
ッサによって復号されるまで、プロセッサが待つ遊び時
間がなくなる。この様な1つの「ルックアヘッド」又は
「ブリフェッチ」方法が1971年4月6日にワトソン
他に付与された米国特許第3,573,853号に記載
されている。
ブリフェッチを行なう為には、プロセッチを混乱させな
い為に、共通母線に沿って命令及びデータの正しいタイ
ミングを保たなければならない。
7ilプロセツサがデータを受取っているのが命令を受
取っているのか混同すると、それ以後の全ての動作は、
了解出来ないデータを発生させることになる。
然し、ブリフェッチだけでは、「低速」のプロセラサラ
「高速」のプロセッサに変えることは出来ない、「高速
」のプロセッサは、約200ナノ秒のサイクル時間を持
つプロセッサと定義される。
経済的な速度が鍵である。この分野では、コストの安い
高速プロセッサはまだ存在していない。こういう装置は
新しい利用分野を開発し、現在は経済的に使えないか、
並びに/又は高速を必要とする分野に、こういう装置を
利用することが出来る様になる。
く問題を解決する為の手段及び作用〉 高速プロセッサ様の高速乗除算器が、専用の加算器、レ
ジスタ、制御部及び論理回路を持っていて、乗算、乗算
及び加算、及び除算を行なう。乗算除算回路はIBビッ
ト・ワードに18ビツト・ワードを乗じて32の積を発
生することが出来る。除算は乗算の逆である。この回路
は符号つき又は符号なし乗除算を使うことが出来る。ブ
ース・アルゴリズムを使って乗算を実施し、乗算除算は
非同期的に実施される。即ち、−組の動作が完了した時
、次の一組が実施される。
高速プロセンサに置ける乗算は16ビツト×16ビツト
・ワードで、32ビットの積を発生する。除算し乗算の
逆であり、この為、上に述べた乗算によって32ビツト
の積が出来、これを16ビツトの分母で除して、16ビ
ツトの商と16ビツトの剰余を発生する。乗算も除算も
、符号つき乗算除算と呼ばれる状態ビットの制御により
、符号つき(S)又は符号なしくU)にすることが出来
る。このビットがOであれば、動作は符号なしであり、
このビットが1であれば、その名前の示す様、動作は符
号つきである。
以下説明する実施例では、乗算は32ビツトの積を発生
する様に実施される。この積が専用の32ビツトの乗算
除算レジスタ(MDM及びMDL)を占める。今述べた
乗算除算レジスタは、最上位の半分MDMと最下位の半
分MDLの2つの部分に分れている。乗算の場合、乗算
及び除算レジスタとスピルオーバ・レジスタが入力時に
Oにリセットされる。ここで説明する実施例では、スピ
ルオーバ・レジスタは4個乃至8個のディスクであって
よい。
乗算及び加算を実施する時、乗算除算レジスタの32ビ
ツト及びスピルオーバ・レジスタのビットが、32ビツ
トの積に加算され、その結果得られた和が乗算除算レジ
スタ及びスピルオーバーレジスタに入れられる。スピル
オーバ・レジスタは乗算除算レジスタからの桁上げを保
有する。これは部分和のオーバフローを表わし、ディジ
タル形フィルタ動作、多重精度乗算又は除算の時に起る
様な一連の乗算及び加算を行なう時、このデータは切捨
て、失われる。最終的な結果が、乗算除算レジスタの内
容を越える場合、状態ビットがセットされ、こういうこ
とが発生したことを知らせる。
トに述べた実施例では、32ビツトの分子がMDと呼ぶ
同じ専用の32ビツトの乗算除算レジスタを占める。M
’Dがスピルオーバ・レジスタ(sp。
■)によって増大される。これは上に述べた実施例では
、大体4乃至8ビツトである。S POVは符号なし動
作ではOにし、符号つき動作の乗算/除算レジスタのビ
ットと一致する。
除算を実施する時、商(上に述べた様に16ビツト)が
戻されて、最下位ビットの乗算除算レジスタMDLに貯
蔵され、トに述べた実施例では、剰余(1Bビツト)が
最、L位ビットの乗算除算レジスタMDMに貯蔵される
。スピルオーバ・レジスタは符号なし動作では0であり
、剰余は符号つきでは符号を持つスピルオーバ・レジス
タと最」二位の乗算除算レジスタを合せた大きさカミ、
除数の太きさより大きい(又は等しい)場合、除算故障
が状態レジスタに知らされる。等しい時、符号が同じで
あれば、信号故障が表示され、それ以外の時は、除算は
良である。勿論、0による除算をしようとする時、状態
故障が表示される。
最終的な商が16ビツトの最下位ビット乗算除算レジス
タを越える場合、乗除算故障と呼ぶ状態ビットが論理l
にセットされる。それ以外の時、この故障はOに設定さ
れる。
別の乗算要請、乗算加算要請又は除算要請によって、最
上位レジスタを参照する時にだけ、状態故障がセット又
はリセットされる。乗除算に関連する高速プロセッサが
、2次の乗除算に進む前に、故障があるかどうかを検査
する。
算術論理装置が乗算除算を要請するか、成るいは乗算、
乗算/加算又は除算を開始しようとする場合、進行中の
乗算、乗算/加算又は除算が完了するまで、算術論理装
置を禁止する。
この発明は以下図面について好ましい実施例を説明する
所から、よく理解されよう。
〈実施例〉 Ii図には、この発明に係わるの高速プロセッサlOを
取入れた計算機システム100が示されている。高速プ
ロセッサ10がデータ用随時呼出し記憶装置即ちDRA
Mからのデータを処理する。この記憶装置は、第1図の
実施例の場合、84キロワード(16ビツト)のDRA
M35である。メモリ拡張モジュール41.43.45
.47を追加することにより、記憶装置を拡大すること
が出来る様になっている。メモリ多重化器が第11!l
の実施例では、DRAW MUX37と記されているが
、84にのDRAM又はメモリ拡張モジュール4L43
.45.47の内の1つの何れかからのデータを高速プ
ロセッサ!0に対して多重化する。
高速プロセーフす10は、多数のプログラム源の内の1
つからデータ母線2を介して供給されたプログラム命令
に従って、このデータを処理する。計算機システム10
0の独特な特徴は、データに作用する命令を記憶する手
段が異なるだけでなく、高速プロセッサ10によってデ
ータを操作する為に利用し得る命令の形式である。常駐
ROW 1が高速動作の為のコア・ルーチンを持ってい
る。然11.高速プロセッサlOは、R(IMとRAM
の組合せであってよいパーソナリティ・モジュールRO
M/RAMの内容によって、ROMでアドレスされるコ
ア・ルーチンを修正することにより、他の形式のマイク
ロプロセッサのパーソナリティを持つことが出来る。パ
ーソナリティ・モジュールROM/RAM 3が高速プ
ロセッサlOを、パーソナリティ・モジュールROM/
RAM a内に入っているプログラムに基づく選ばれた
形式のプロセッサに見える様にする。更に、後で説明す
るが、高速プロセッサ10は口頭の指令及び命令を受取
り1口頭で応答することが出来る。こういう口頭部分を
実施する為のソフトウェア符号が拡張スピーチ出力モジ
ュール5及び拡張スピーチ入カスピーチ人カモジュール
7に入っている。
拡張スタテックRAM 9が高速プロセッサ10と、パ
ーソナリティ・モジュールROM/RAM 3及び常駐
RO旧に記憶されたプログラム又はコア・ルーチンとに
対し、この他に任意選択の入出力を持たせる。データ母
線6を使って、高速プロセッサ10と、84K DRA
M 35及びメモリ拡張モジュール41.43.45.
4?と、拡張スタティックRAM 9、拡張スピーチ入
力モジュール7及び拡張スピーチ出力モジュール5とに
対して、入出力I10モジ、−ルのポートのインターフ
ェイス接続をする。I10ポート又は端末装置は、ディ
スク・インターフェイス装置11を含んでおり、これは
高速プロセッサ10に対してプログラム命令とデータの
両方を供給するディスク形メモリに接続される。
第1艷に示す実施例ではディスクインターフェイス装置
11がハード・ディスク13.2つの内部5−インチデ
ィスク51及び2つの外部8インチディスク49に接続
される。前に説明した様に、スピーチ出力モジュール5
がI10モジュール15に接続される。第1凪の実施例
の場合、これはディジタルからオーディオへの変換器1
5であって、オーディオ信号を、拡張スピーチ出力モジ
ュール5に入っているアルゴリズムに関連して、高速プ
ロセッサ10によって処理し得るディジタル信号に変換
する。これと同様に、但し当然ながら逆の形で、第1図
の実施例ではディジタルからオーディオへの変換器であ
るI10モジュール17が、拡張スピーチ入力モジュー
ル7に入っているアルゴリズムによって要求される形で
、ディジタル信号を処理した高速プロセッサ10から印
加されたディジタル信号を変換する。任意選択のI10
モジュール19が設けられているが、これは、用途に応
じて、拡張スタティックRAM 9に入っているアルゴ
リズムに関連して使うことができる。更に、高速プロセ
ッサ10の入出力のハード龜コピーが、プリンターボー
ト21を通して接続されている図に示していないプリン
タにより供給される。高速プロセーフす10に対する手
作業の入力は、キーボード25及びキーボード−インタ
ーフェイス23を介して行なわれる。
オペレータに対する可視表示がCRT 29を通じて行
なわれる。このCRTがCRT制御器31と、CRTス
クリーンを介してオペレータに読取可能な情報をCRT
 29から発生させる掃引回路27とによって制御され
る。
次に第2図について説明すると、この発明の高速プロセ
ッサ10のブロック図が示されている。命令ワードが、
命令ワード人力85からデータ束26を介してアドレス
選択器73に、及びデータ束14を介してプログラム・
カウンタ81.オペランド選択器53及び命令デコーダ
83に印加される。命令デコーダ83が命令ワード復号
する。第2WIの実施例では、命令ワードは16ビツト
の命令であり、この復号によって、高速プロセッサlO
の他の機能的なブロックに対する制御信号及びタイミン
グ信号を発生する。命令はlクロック・サイクルで実行
され、この為、実質的にデコーダは、命令サイクルの間
有効な多数の制御信号を発生する。この一般則に対する
例外がピコシーケンサ論理回路83Aによって処理され
る。ピコシーケンサ論理回路83Aは、高速プロセッサ
の論理回路の中の単純な通路によっては実行することが
出来ない様な命令を実行するのに使われる。ピコシーケ
ンサ論理回路83Aは、実行する命令と外部制御信号の
状態とに関係する様な、その中を通る幾つかの切換え通
路を持つ状態装置である。第12図がピコシーケンサ論
理回路83Aの状態線図である。ピコシーケンサ論理回
路83Aの他に、デコーダ83によって復号される他の
2種類の命令がある。その中で、2次命令デコーダ83
Bが後期制御命令を復号し、−次命令デコーダ83Gが
前期復号命令を復号する。後期制御命令は、計算機サイ
クルの後期に必要な制御信号(例えばスクラッチパッド
書込み選択)と定義され、前記制御命令は計算機サイク
ルの前記に制御しなければならない信号(例えばブラン
チ論理、スクラッチパッド読取選択)と定義される。命
令デコーダ83からの命令が高速プロセッサ10の相異
なるブロックに送られ、後に表I及びHについて命令の
組を説明をする時に述べる様に、相異なるブロックを制
御する為に使われる。
命令がプログラム参カウンタ81にも印加される、この
プログラム・カウンタは、プログラム命令の各順序の間
、第1図について前に説明した導体束2にta続された
メモリを含むプログラムされたメモリをアドレスする。
プログラムΦカウンタが命令の初期復号の後に更新され
、現在の命令の実行と同時に1次の命令が取出される様
にする。その逐次的な動作は10.12又は16ビツト
飛越し動作、12及び16ビツトのサブルーチンの呼出
し及びサブルーチンからの戻り、及び命令記憶位置を予
め限定する為の例外トラップによって修止することが出
来る。第2図に示す実施例では、ポインタ69が8ビツ
ト・レジスタであり、サブルーチン並びに例外トラップ
に対するプログラムの連係を保つ為のスタックポインタ
として主に使われる。命令の始めにポインタをインクレ
メントし、命令サイクルの糾りに、その結果をアドレス
選択器73及びデータ母線22を介して、スクラッチ拳
パッドAメモリ75又はスクラッチ・パッドBメモリ7
7の両方に対する間接書込みアドレスとして使うことに
より、スタック押出動作が行なわれる。スクラッチ・パ
ッドA及びBメモリ75.77の飛出し動作(後入れ先
出しくl1fo)構成をしたメモリの順序正しい配置で
、スタックの上から取出す)が、命令の初めに読取った
スクラッチ・パッド・メモリに対する間接アドレスとし
てポインタを使い、その後、読取動作が完了した時にポ
インタをデクレメントすることによって行なわれる。ア
ドレス選択器73は、スクラッチ・パッドAメモリ75
又はスクラッチ・パッドBメモリ77の何れかのスクラ
ッチ・パッド・メモリを呼出す為のアドレス源を選択す
る為に使われる。単独命令に対する原始オペランドとし
て、メクラパッチ龜パッすAメモリ75又はスクラッチ
・パッドBメモリ77名は両方を呼出すことができる。
命令の結果はスクラッチφパッドAメモリ75又はスク
ラッチ・パッドBメモリ77の何れかに書込むことが出
来る。サブルーチン又は機械の例外の場合、スクラッチ
・パッドAメモリ75及びスクラッチパッドBメモリ7
7の両方に同時に書込まれ、戻りアドレスがスクラッチ
パッドAメモリ75だけに書込まれ、プロセッサの現在
状態がスクラッチパッドBメモリ77だけに書込まれる
アドレス源はLに述べた様に、ポインタ69、繰返しカ
ウンタ7+、  ソフトウェアの繰返しによって構成さ
れる更新カウンタ、及び後でスクラッチパッドA及びB
メモリ!75に関連して説明する命令ワード内の3つの
フィールドの内の1つを含む。
スクラッチパッドA及びBメモリ175は、(明白では
なくても)スクラッチパドAメモリ75及びスクラッチ
パッドBメモリ77の2つのメモリを持っており、これ
らのメモリは、第2図に示す実施例では、2つの258
 ワードX1Bビツトのレジスタ・アレーを持てる様な
構成を持っている。スクラッチパッドAメモリ75又は
スクラッチパッドBメモリ77は1個の命令でアドレス
することが出来、間接及びページの1方法又は2方法で
アドレスされる。
スクラ・ソチパドΦメモリ175の間接アドレス方法は
、アドレス会ポインタ69の出力によって行なわれる。
第2図の場合、このアドレス会ポインタは8ビーノドで
ある。或いは繰返しカウンタ71の下位の8ビツトをス
クラッチパッドAメモリ75又はスクラッチパッドBメ
モリ77の何れかの256 ワード拳ブロックに対する
アドレスとして使う。
第2図の実施例では、ページ割当て方法は、状態レジス
タ79からの4ビツトによりなされる。これらのビット
がスクラッチパッド舎メモリの各々ブロックPO−P3
の中から1つ1Bワード・ページを選択するのに使われ
る。
繰返しカウンタ71が、18ビツト・ループ・カウンタ
として、並びにス々ラッチバッドAメモリ75に対する
8ピツチ・アドレス・ポインタとして使われる。ループ
制御命令が算術論理装置55からデータ束42を介して
供給される。この装置が繰返しカウンタ71をデクレメ
ントし、0かどうかの判別をし、判別結果がO以外であ
れば、命令の残りの10又は12ビツトを相対アドレス
として使って、相対ブランチを行なう。繰返しカウンタ
71が間接アドレス・レジスタとして使われる時、18
ビツト・アドレスの最下位の8ビツトがスクラッチパッ
ドAメモリ75に対するアドレスになる。第2図に示す
実施例では、8ビツト・アドレス・ポインタ68の内の
6ビツトだけが使われる。
オペランド選択器53が、繰返しカウンタ?1、アドレ
ス・ポインタ88又はデータI10ポート58の何れか
から、算術論理装置155によって実行すべき1個又は
2個のオペランドを実行する命令に応じて供給する。こ
の選択は実行する命令に応じて命令デコーダ83によっ
て行なわれるので、高速プロセッサ10の利用者には、
オペランド選択器53の動作は見えない。オペランドが
算術論理装置55、乗除算装置57又はデータI10ボ
ート58の何れかに送られる。
算術論理装置55がオペランド選択器53データ束、3
2及び34を介してオペランド命令を受取り、1Bワー
ド(25Bビツト)までの長さの多重精度の演算及びシ
フト動作を行なう手段になる。行なわれる動作は、デー
タ移送動作、アンド、オア及び排他的オアを含む論理動
作、左、右、論理、算術及び循環の組合せを含むシヒト
動作、加算、減算、インクレメント及びデクレメントを
含む演算、ビットφセット、ビー/ ト・リセット及び
ビット試験を含むビット動作、及び大抵はIBビットの
命令の形を含むバイト動作、移送動作及びスフ−2プ動
作である。
そのタイミングは後で説明するが、背景説明として、状
態及び多重精度機能を説明する。状態が論理、算術及び
ビット試験命令に対して記録される。算術論理動作に対
しては3つのビー2トが用意される。それらは桁上げ、
ゼロ及びオーバフローである。これらのビットが単独並
びに組合せて試験され、  16ビツトーブランチ、1
2ビツト・ブランチ、10ビー7トーブランチである条
件付きブランチ動作を行なう。定義については表工の命
令の組を参照されたい、ビット試験動作に対しては、試
験ビットが用意される。ビット15(第2図の実施例で
は符号ビット)の試験が、負の値に対する試験になる。
多重精度の場合、第6図に示す4ビツトの多重精度カウ
ンタを用いて、多重精度動作が行なわれる6普通、算術
論理装置55に対する桁上げは出力されていない状態で
あり、18ビツト・ワードに対して加算、減算及びシフ
ト動作が行なわれる。多重精度カウンタがO以外の値に
設定されている時成る動作からの桁上げ出力が次の動作
に対する桁上げ入力になる。これは第8図について詳し
く説明する。然し、桁上げ出力が算術命令に対しては中
間桁とげになり、ビット・シフト動作に対してはシフト
・ビットを保管する。各々の動作が行なわれる毎 に、
多重精度カウンタがデクリメントされる。カウントが再
びOに達すると、桁上げの連係動作が終了し、ALUは
普通の動作モードに戻る。
一時しジスタロ3が、算術論理装置55の結果を、更に
処理する為、又は飛越しアドレスとして使う為、一時的
に記憶する。これは、レジスタを7キユムレータとして
使わなければならないことを意味するものではない。命
令の組には、レジスタからレジスタへ又はメモリからレ
ジスタへの動作を行なう手段が十分に示されている。一
時レジスタ口3は、それがバイト会スワップ及びバイト
・ロード命令に対して設けられた手段であるので、バイ
ト動作でよく用いられる。
乗算/除算装置57が、符号つき又は符号なしの算術を
用いて、乗算、除算及び乗算/累算動作を行なう0乗算
は2つの16ビツトのオペランドを用いて行なわれる。
これは第9図について詳しく説明する。然し、両方のオ
ペランドが1個の乗算又は乗算/累算命令で特定される
。32ビツトより大きな結果を累算することが出来る様
にする為に、乗算及び累算命令の間、8ビツトのスピル
オーバ・レジスタが使われる。スピルオーバは、それが
32ビー2ト・アキュムレータの8ビツト拡張部である
ことと合う様な形で、ロードされ、破算され、操作され
る。除算は乗算/除算装置で32ビツトの被除数を除算
命令で特定された16ビツトの除数に対して使うことに
よって行なわれる。一旦開始した時、乗算又は除算は、
高速プロセッサ10に対する一連の命令中の後の命令と
並列に実行される。
多くの応用にとっては、この為1乗算又は乗算/累算の
みかけの時間は簡単な形式の1giの命令の時間又はサ
イクル時間になる。
タイマB5aは期間タイマ65と同期タイマ67  か
ら成り、の示の様に、2つのタイマを表わす、第1の期
間タイマ85は16ビツトのタイマであって、100+
、1秒の分解能を持ち、8553.6マイクロ秒の最大
期間を有する。0がタイマにロードされると、タイマが
不作動になる。O以外の値がデータ束42を介してタイ
マにロードされると、タイマが0に向って減数計数を開
始する。0に達すると、割込みが発生し、レジスタ79
の状態に伝えられ、タイマは再び初期値にロードされ、
この過程が繰返される。第2の期間タイマ67は16ビ
ツトのタイマであり、分解能が500ナノ秒で、最大期
間は32.768ミリ秒である。このタイマは普通不作
動になっている。O以外の値がロードされると、タイマ
がOに向って減数計数を開始する。Oに達すると、割込
みが発生し、タイマが停止する。第1の期間タイマ65
の目的は、累積的な誤差の蓄積を持たずに、高い分解能
のタイミング信号を発生することである。第2の期間タ
イマ67は、中位に長い持続時間を持つ単独期間を出せ
る様にする。
メモリーアドレスΦレジスタ61が18ビツトのデータ
・メモリーアドレス空間を作る。2つの別々の16ビツ
ト・レジスタがメモリ・アドレス拳レジスタ61内に入
っていて、別々の命令によって操作される。最上位の半
分HARMがメモリーアドレス・レジスタ・チップの内
に舎まれており、外部アクセスの為に、高速プロセッサ
10の外部にレジスタを設けてもよい、メモリ・アドレ
ス−レジスタ61の最下位の半分MARLはデータ・メ
モリ・アドレス母線4に利用可能な出力端を有している
゛データ・メモリ母線6を使って、局部的に独立したア
ドレス空間をアクセスする。データ空間が前に述べたメ
モリーアドレス・レジスタ61を介してアドレスされる
664にワードの様な別弧のIlo レジスタ空間を、
第1図の64KDRAMと同じデータ線を介してアクセ
スすることが出来るが、外部ラッチされる独立の18ビ
ツト・アドレスを用いる。 Iloとメモリ・データの
選択が、状態レジスタ79の中に記憶されている状態レ
ジスタ・ビットによって行なわれる。データI10ボー
ト58は、モトローラ社のにθ8000プロセッサの様
な他の装置及び周辺チップとのインターフェイスをしや
すくする様に設計されている。データの取扱いはM88
0QQ方式と論理的に同じに行なわれる。母線調停手段
がデータI10ポート59内に設けられていて、これは
第10図について説明する。これは高速プロセッサIO
が単一プロセッサ方式に於ける母線制御器として、又は
多重マスタ方式に於ける母線マスクとして作用すること
が出来る様にする。
状態レジスタ78は3つの主要な機能を持つ。これは算
術論理装置55の最後の動作の状態を記憶し、高速プロ
セッサ10の動作モードを限定し、スクラッチパiド曇
メモリ175内で使われているスクラッチパッドのペー
ジを限定する。ビットの割当て及びその他の定義が1大
工及びIIに記載した命令の組に示されている。更に、
算術論理装置55の状態示、大抵の演算、論理動作及び
シフト動作の終りに記録される。ゼロ桁りげ及びオーバ
フローの3つの状態ビットが記録される。第4のビット
試験がビット試験命令によって記録される。もう1つの
ビットが乗算/除算装置57のオーバフローを記録する
。この他に、高速プロセッサlOに対する幾つかの動作
状態を設定するロード・ビットがある。これらは、算術
/論理モード、データ・メモリ・アドレス/データ出力
不作動、ワード/バイト・モード、割込みマスク、乗除
算器の符号つきl符号なし動作、及びデータ拳メモリ空
間モードである。スクラッチパッド拳メモリ175の1
8ページ(1,024バイト)を拡張する4ピッ番フィ
ールドが限定されており、これはページ選択フィールド
と呼ばれる。
命令メモリーインターフェイスがデータI10ボート5
9を介して利用されるが、高速プロセッサの命令を入力
するだけである。
サブルーチンの処理を後で詳しく説明するが、サブルー
チンを実施するのに必要な機能としての構造的な観点か
らみた、サブルーチンの処理を第2図について説明する
。サブルーチンの飛越し命令に出合った時、繰返しカウ
ンタ71のアドレス・ポインタ・レジスタ68をインク
レメントし、その後、次の逐次的な命令のアドレス及び
状態レジスタ78の現在状態をスクラッチパッドメモリ
175、特にスフラフ・チパッドAメモリ75の、アド
レス・ポインタ・レジスタ88の内容によって指示され
た場所に書込む、戻りアドレスがスクラッチパッドメモ
リ75に書込まれ、状態がスクラッチパッドBメそり7
7に書込まれる。この為、プロセッサの状態が保管され
、飛越しが1個のスクラッチパッド−メモリ・サイクル
で行なわれる。
サブルーチンの戻りはサブルーチンの呼出しの逆である
。戻りアドレス及び退避していた状態が、アドレス拳ポ
インタ69によって現在定められている、スクラッチパ
ッド・メモリ175の場所から読増られる。この後、ア
ドレス会ポインタ68をデグレメントする。戻りアドレ
ス及び状態が適当なレジスタにコピーされ、戻りアドレ
スにある命令を実行の為に取出す。
可聴的特徴が高速プロセッサ10のアーキテクチャによ
って付与されており、例外操作を行なう。
例外は、普通予想される命令の実行の流れの外側で起る
事象である。高速プロセッサ10では、これらは割込み
及び命令トラップである。プログラム・カウンタ81及
び状態レジスタ78の内容の処理は、サブルーチンと同
様に行なわれるが、ブラチンは、例外の種類に応じた一
定の記憶位置に対して行なう点が異なる。18個の命令
から成るブロックが命令ワード人力85を介して供給さ
れ、状態レジスタ79を修正することが出来る様にし、
或いはトラップ・アドレスから始めて、その他の活動を
局部的に行なうことが出来る様にする。
高速プロセッサ10は後で説明する様に自己タイミング
の理論回路を持っており、命令の実行のタイミングを制
御するのにクロックを使わない、その代りに、各々の主
要な機能クロックがそれ自身の動作を監視するのに必要
な論理回路を含んでいる。この論理回路が、機能ブロッ
ク内で最も長い論理的な通路及び物理的な通路に作用す
るので。
そのタイミングがブロックにおける最悪の場合の伝搬遅
延を表わす。成るブロックの「完了」信号が次の逐次的
なブロックに対する「開始」信号になる。lブロック内
で、動作は同期的であると考えることが出来る。これは
入力信号の変化で実行が開始されるからである。ブロッ
クの間のタイミングは、全てのブロックを接続する全体
的なタイミング信号がないので、木質的に非同期である
機能的なブロックの数(従ってブロック間制御信号の数
)は非常に少なく、この為接続される非同期動作の量も
少ない。この事実と、各々の命令の大部分がブロック間
で直列に実行されることとにより、従来非同期論理回路
に伴って起った論理レース及び論理ハザードの問題が事
実−トなくなる。
最悪の場合の判定が、プロセッサ中レベルではなく、ブ
ロック・レベルで行なわれるので、命令の処理量が最大
になる。普通のクロック・システムでは最も短いクロッ
ク周期は、その遅延が最も大きいブロックに要する期間
程度である。このことは、最悪の場合程の時間を必要と
しない命令段階の間、時間を潜在化させる。
自己タイミングの論理回路を持つ遅延論理回路が機能的
な論理部品の直ぐ近くに組込まれていて、同じ電界効果
トランジスタ論理回路を用いているので、プロセッサは
製造プロセスの変動に対して自己適応形である。つまり
、スライスの歩留りが、同じ寸法の八−にとって典型的
な値よりも、高くなると予想することが出来る。プロセ
ッサは動作状態の変化に対しても自己適応である。つま
り、各部分は、一層広い環境条件の範囲内で動作すると
予想し得る。
命令ワードのブリフェッチ及び高速プロセッサによるそ
の非同期的な実行が第3図に示されている。第3図は第
2図と共に参照されたい、命令デコーダ83が、第3図
の波形141で表わす命令要請があった時、命令ワード
人力85に応する。プログラム・カウンタ81がデータ
母線2Bに波形143で表わされる命令アドレスをのせ
る。命令メモリは、第1図の場合は、常駐ROM 1で
あるが、命令用意信号又は波形147と命令波形145
をデータ束2を介して高速プロセッサlOに、特に命令
ワード人力85に供給する。命令用意信号は1.γ命令
デコーダ83Cに、命令実行順序の初め近くに必要な信
号を発生させる。1次命令デコーダ83Cは速度のため
最適化されている。これは、次の動作又は工程を限定し
得る様になる前に、復号過程を完了しなければならない
からである。命令用意信号は2次命令デコーダ83Bの
動作をも開始させ、これがより多くの信号を発生するが
、これらの信号は、命令実行サイクルの後期まで必要で
はない。1次命令デコーダ83Cが命令の復号を完了し
た時、それが初期復号有効信号を発生する。この信号が
第3図の波形149で表わされている。第3図は、lt
i’8と14111の間の長さ又は時間を持つシメンジ
ョン線により、命令を復号するのに要する最悪の場合の
復号時間をも示している。同時に、1次命令デコーダ8
3Cによって命令が復号されると、プログラム番カウン
タ81が動作を開始する。1次命令デコーダ83Cから
初期復号有効信号を受取った後、プログラム・カウンタ
81が次の命令アドレスを発生し、この情報をデータ母
@2Bにのせる。このデータ母線は、第1図のデータ母
線2の一部分である。次のアドレスは、後でプログラム
番カウンタ81について説明する様に、、現在アドレス
のインクレメントであってよい。新しいアドレスが現在
命令の復号の後に、データ母線2Bにのせられる。この
変化が波形143の点144で起る。この動作により、
波形141で表す次の命令要請は現在命令の実行と同時
にすることが出来る。すでに述べた様に波形149によ
って表わされる初期復号有効信号が、スクラッチパッド
・メモリ175の一部分であるスクラッチパッド・アド
レス選択器から、スクラッチパッド・メモリ175に対
するアドレスを発生させる。このアドレスの出所は1次
命令デコーダ83Cによって規定される。スクラッチパ
ッド番アドレス選枳器がスクラッチパッド・アドレスの
選択を完了すると、それが波形151によって表わされ
るスクラッチパッド有効信号を発生する。この実行に要
する時間が、シメンジョン線148 、150の間の距
離によって表わされている。
波形151によって表わされるスクラッチパッド・アド
レス有効信号がスクラチパッド会メモリ175に、この
スクラ・ソチパシド金メモリ175内の選定された行及
び列へのアクセスを行なわせる。スクラッチパッド・メ
モリ175がメモリに対するこのアクセスを完了すると
、それが波形153によって表わされるスクラッチパッ
ド・データ有効信号を発生する。シメンジョン線152
が、スクラッチパッド書データ有効信号が開始される時
間を表わす。スクラッチパッド・データ有効信号は、オ
ペランド選択器53に、スクラッチパッド・データを算
術論理装置55の片側に出力させると共に、もう1つの
オペランドを算術論理装置55の反対側に出力させる。
この配置又は選択が2次命令デコーダ83Bによって規
定される。算術論理装置段階の中には、実行される命令
に応じて幾つかの小段階があることがある。算術論理装
置段階が完了した時、算術論理装置55が、シメンジョ
ン@ 158で表ゎ術論理′?を置の出力を2次命令デ
コーダ83Bによって特定された宛先に書込ませる。こ
れを波形159で示す、一番早く結果を必要とするのは
、次の命令のスクラッチパッド読取段階である。これは
、汐の命令の復号が行なわれる為には、書込みが完了す
る必要はないから、次に統〈命仝の出所レジスタである
命令の宛先レジスタの所である。 ALtl出力右効信
号が高速プロセ・ソサを命令復号段階に循環させ11次
の命令用意信号を受取るのを待つ様にする、こうして命
令サイクルが完了する。
オペランドに対してスクラ・ソチパッドの取出しを必要
としない場合(実行される命令がスクラッチパッ]″$
オペランドを必要としない)、rA連した段階が実行さ
れず、こうして命令サイクルが短縮される。命令段階が
短縮される別の例は、1i[術論理装置55である。こ
こでは、算術論理装置55が油質yは濠質を行なってい
ない時 算術論理装置55を伝搬するのに要する時間が
なくなる。
全ての命令に共通の粘性は それらがプロセッサの論理
回路の1回のパスで実行されること(1つのスクラ、ソ
チパリド・メモリの読取アクセスだけが行なわれ、1個
のALU動作だけが行なわれる)である。これが、1つ
の命令によって行なうことが出来る動作の′:a雑性を
制限するが プロセ。
すの論理回路を簡単にし、それらが実行される速度を速
める。「1回のパス」特性に対する唯一の例外は、16
ビツトの定釣をロードして、16ビントのプログラム機
姥を実行する2ワード命令であるわ:ういう実行は命令
の取得に関連する論理回路の部分街循薦するだけである
。データ通路の大部分は、依然として1回しか通過しな
い。
第3図で、シメンジョン線148 、148 、150
.152 、154 、158は、その前の事象が完了
した時に成る事象が起る様子を例示している。係属中の
米国特許出願番号     には、高速プロセッサの非
同期動作が更に詳しく説明されている。
第4図は第2図のプログラム・カウンタ81のブロック
図である。プログラム・カウンタ入力選択器101が、
データ母線16を介してスクラッチパッドAメモリ75
からの入力を、データ母線12を介して一時しジスタロ
3からの出力を、そして、データ母線14を介して命令
ワード人力85からの命令ワード入力を受取る。スクラ
ッチパッドAメモリ75ノ出力は「戻り(RETURN
)J及び「戻り(複殻) (RETURNS) J命令
をプログラム・カウンタ入力選択器101に供給する。
一時レジスタB3の出力は、サブルーチン飛越し命令”
 SUBJUMP”、 ” JUMP”命令、 Ax(
Bx)IW、IW AH(8りを含む、(この動作の説
明については、表I及び■を参照された゛い、)プログ
ラム・カウンタ入力選択器101が、外部の割込みベク
トルからの外部割込み、又は期間タイマl1期間タイマ
2によって起る割込み、又は内部の割込みベクトル10
5によるトラップ割込みを処理する。プログラム・カウ
ンタ入力選択器101の出力が、プログラム・カウンタ
゛PC”制御部138によって制御される。プログラム
・カウンタ制御部139が”p c ”ラッチ1011
に印加され、これがリセット・ベクトル111によって
リセットされる。PCラッチIO8の出力がPCバッフ
ァ115及びデータ束2Bに印加される。更に、PCラ
ッチの出力がPCベクトル加算器118に印加され、そ
こで、データ束113にあって、ブランチ命令及び短い
”GO9OB ”サブルーチンを含む命令ワードと加算
される。PC加算器−選択器121が命令ワードか、或
いは論理1回路131によって発生されるバイアス論理
「1」の何れかを選択する。このバイアス論理lは、普
通の命令、2ワードの命令、Ax(Bx)、IW、 I
W、Ax(Bx)、GO9UB 、SUBJUMP 、
内部割込ミ、外部割込み、短い” GO9UB”を表わ
す。これらのルーチンの説明については表I及びIIを
参照されたい、勿論、これらの内の1つのルーチンの選
択がPC制御部139によって制御される。PC加算器
118がPC加算器−選択器121の出力をpcラッチ
108の出力と組合せ、それをPC加算器ラッチ127
並びに割込みPCラッチ123に印加する。割込みPC
ラッチはデータ束125によってPC加算器118に接
続されている。PC加算器ラッチ127がプログラム・
カウンタ入力選択器に印加する為に内容を保持し、PC
プログラム・カウンタ入力選択器101が、普通の命令
、ブランチ、2ワードの命令、Ax(eg)、IW及び
IW Ax(Bx)に対するデータ束129の機能を選
択する0割込みPCラッチ123の出力がデータ束13
5によってサブルーチン呼出しラッチ137に印加され
、その出力が活性化されて、” GO9UB”′、SU
BJ0MP ” 、内部割込み、および外部割込みを実
行する。
次に第5図について説明すると、第2図に示したレジス
タのブロック図が示されている。特に、算術論理装置5
5の出力がデータ母wi42に印加される。データ母線
42に印加される信号はMNEMONIClALITに
よって表わされており、一時レジスタ口3、繰返しカウ
ンタ71、アドレス・ポインタ68及び状態レジスタ7
8に印加される。データは書込み指令によって、一時レ
ジスタ口3にロードされる。この指令は命令デコーダ8
3.特に2次命令デコーダ83Bから出る。繰返しカウ
ンタ71も算術論理装置55の出力を受取り、信号IC
WRITEが発生した時、復号された命令を実施するの
に必要な動作を計数する。繰返しカウンタ71の出力が
データ母線30に印加されると共に、エンコード回路1
8にも印加される。この回路は、繰返しカウンタ71の
内容が1に等しくなった時、そうなったことを表わす出
力を状態信号として導体8に発生する。更に、前に第2
図について説明した様に、算術論理装置55の出力が、
PWRITE命令、PING命令及びPDEC命令の制
御の下で、アドレス・ポインタ69に印加される。アド
レス・ポインタ89の出力がデータ 母線28を通して
、アドレス選択器73及びオペランド選択器53に印加
される。勿論、制御指令は2次命令デコーダ83Bから
来る。
状態レジスタ79は、算術論理装置55の状態と、命令
ワード人力85から供給された命令を実行する間に高速
プロセッサが実施する機能とを記憶する6個の独立のレ
ジスタで構成される。これらのレジスタは多重精度カウ
ンタ750、算術/論理状態レジスタ77、ビルト試験
状態レジスタ1713 、 M/D故障状態レジスタ8
1、モードeビット春レジスタ87及びページ−ビット
・レジスタ89を含む。
多重精度カウンタ750は、多重精度動作−を行なう繰
返しを計数する為に使われ、ニーモニック符号MPWR
ITEによって制御され、多重精度動作を実行する指令
を表わす状態である二−モニック符号EMP 、及び多
重精度動作が完了したことを表わすニーモニツク符号M
PRECをその出力に発生する。
第5図に示す実施例では、多重精度カウンタ750は4
ビー7ト・カウンタである。普通、算術論理装置55に
対する桁Fげ入力は出力されていない状態であり、加算
、減算及びシフト動作が16ビツト・ワードに対して行
なわれる。多重精度カウンタ750がO以外の値に設定
されると、成る動作の桁上げ出力が次の動作に対する桁
上げ入力になる。この為、桁上げ出力が算術命令 対し
て中間桁上げになり、シフト動作に対してシフト・ビッ
トが保存される。各々の動作を行なうにつれて、多重精
度カウンタ750をデクレメントする。ニーモニック符
号MPREGによって表わされる様に、カウンタが0に
達した時、桁上げの連係が終了し、算術論理装置は普通
の動作モードに戻る。この過程は算術論理装置のブロッ
ク図を示す第8図について後で詳しく説明する。
算術/論理状態レジスタ77は3つの出力を持つ。これ
らはZ、C及びVであり、ニーモニック符号−RD A
/LSによって制御される。算術/論理状態レジスタ7
7は、2次命令デコーダ83Bの制御の下に、算術論理
装置55の状態を記憶する。これらの状態は、−1−に
述べた様に、Z状態又は0を含む。
算術動作、論理動作又はシフト動作の結果がOである場
合、Zビットがセットされる。比較命令に対しては、Z
ビットはオペランドが等しいことを表わす。
算術動作の間、最上位ビットからの桁上げ出力が発生し
た場合、Cビットがセットされる。シフト動作ではこれ
はオペランドからシフトして出たビットのコピーであり
、この場合、論理動作ではZビー、トが限定されない。
算術動作の結果を16ビツトの2つの補数で表わすこと
が出来ない場合、■ビットがセットされる、これは勿論
オーバーフロー状態を表わす。左シフト動作では、これ
は最上位ビットの符号の変化を表わす。
命令デコーダ83に印加された命令が試験を要求する時
、ビット状態レジスタ179が、復号された命令WRT
BITによって示す様に、試験結果を記憶する。Tビッ
トがビット試験命令によって修正される。この状態は、
算術論理装置55の出力で試験されて、データ母線42
にあるビー、)のコピーであるM/D故瞳状態レジスタ
81は、乗算/除算装置57の乗算/除算に於ける故障
を表わし、2次命令デコーダ83Bによって復号された
wRT ST REG命令が発生した時、乗算/除算装
置57が指令の組M10Fを発生した場合、故障を艷軛
、する。 M/叶ビットが、0による除算を試みた場合
、又は乗算して累算した結果を32ビツト数によって表
わすことが出来ない場合、その動作の終りに、乗算/除
算装置57によってセットされる。
モード・ビット・レジスタ87は、2次命令デコーダ8
3Bからの%IIRT ST REG命令により、算術
論理装置55の出力の状態をロードする。この中には、
ニーモニック符号ARI TH/LOG ICによって
表わされる論理モード動作が含まれる。これは、成るO
P符号が、プロセッサのプログラムによってセット並び
にリセ−/ )される、トに引用した二−モニフク符号
によって表わされる論理モード・ビットの状態に応じて
、2つの別異の動作を行なうことを表わしている。2つ
の動作が同じオペランドを使い、その結果を同じ場所に
記憶する。動作の違いは、算術機能及び論理機能の切換
えである。一般的に、この切換えは’ T @  NE
XT”命令による。この命令は、命令を詳しく記載した
表I及びIIに定義されている。論理モード・ビー/ 
)が1に設定されていれば、(AアンドB)、(Aオア
B)、(排他的なAオフB)及び論理シフ)Aと言う論
理動作を表わす、論理モード・ビットがOに設定されて
いれば、モードナビットはA+B、A−B、B−A及び
算術シフ)Aの算術機能を表わす。二−モニック符号T
Rl5TATEは出力禁止ビットである、このビー、ト
が高速プロセッサのプログラムによってセットされると
、第1図のデータ母線4及びデータ母線駆動器に接続さ
れたデータ番メモリのアドレスからの出力が禁止される
WORD/BYTEはバイト又はワード・モード動作を
表わす、高速プロセッサのプログラムによってバイト争
モードが設定された時、メモリ・アドレス・レジスタ8
1にある論理アドレスがバイト・アドレスとして使われ
、データ・メモリの処理はバイトで行なわれる。このビ
ットがリセットされると、メモリ・アドレス−レジスタ
61に於ける論理動作は18ビツト・ワード拳アドレス
として使われ、データ入力に伴なう処理は18ビット−
ワードで行なわれる。メモリの参照は、ワード舎モード
又はバイト・モードに関係なく、常に16ビツト・ワー
ドである。バイト・モードの時、アドレスの18ピツ)
−ワードから1バイトだけが読取られ又は書込まれる。
割込みマスクが第5図では二−モニック符号INT M
ASKによって表わされており、第1図のデータ母線6
で割込み入力が禁止された時、高速プロセッサのプログ
ラムによってセットされる。割込み入力は、大抵の計算
機の論理回路で行なわれる様に、縁でトリガされるので
はなく、レベルでトリガされる。割込みマスク・ビット
がオフに設定されている時に割込み線に信号が出ると1
割込み順序が開始される。
符号乗算機能が二−モニック符号SGN/[lN5GN
によって、モード−ビット・レジスタ87によって表わ
され、高速プロセッサのプログラムによってセットされ
た時、乗算及び除算は2つの補数の動作として行なわれ
る。このビットがセットされないと、これらの動作が符
号なしで行なわれる。DATA1/Qは二−モニック符
号■0であり、外部ブータボメモリ母線に対する参照が
、データ・メそりと関係のない84にブロックである高
速プロセッサの■0アドレスに向けられる時、高速プロ
セッサのプログラムによってセットされる。このビット
がセットされていない時、母線のアクセスはデータ・メ
モリに向けられる。
ページ・ビット−レジスタ88が二−モニツク符号WR
T PAGによって制御される。この二−モニ−2り符
号は勿論2次命令デコーダ83Bによって復号され、ス
クラッチ・パッド・メモリ175からの18ワード・ペ
ージを選択する為に使われる選択フィールドを定める。
データ母線4Gのデータ母!1部分81内にある命令の
4ピツ)−フィールドから、ページ・ビット・レジスタ
によって発生されるパッド選択フィールドに、直接的な
スクラッチパッドの発生が行なわれる。スクラッチパッ
ドAメモリ75及びスクラッチパッドBメモリ77の両
方のアドレス力、同じページ選択フィールドから発生さ
れる。データ母線40のデータ母線部分θ3にある4ピ
ツ◆フイールドは最大容量が18ページである。この情
報はスクラッチパッドOメモリ175のアドレス動作に
ついて説明する。
次に第6図には、アドレス選択器73のブロック図並び
にスクラッチパッド・メモリ175に対するその接続が
示されている。アドレス選択器が2つの部分?3A、?
3Bとして示されている。部分73Aにはスクラッチ・
パッドA読取フィールド選択器24、スクラッチパッド
書込みフィールド選択器32及びスクラチパッドB読取
フィールド選択器50がある。書込み又は読取動作をす
るかどうかは、データ母線48を介してスクラッチパッ
ド書込みフィールド選択器に供給される2次デコーダの
制御と、導体4Bを通してスクラー、チパッドA読取フ
ィールド選択器24及びスクラッチバッドB読取フィー
ルド選択器50の両方に供給される初期デコーダの制御
とによって決定される。ページ読取又は書込み機能を実
施する為の必要な状態を表示する為に〜 、状態レジス
タ7I3からの最下位ビット又はビット0が、スクラッ
チパッドA読取フィールド選択器24、スクラッチパッ
ド書込みフィールド選択器32及びメクラ−2チパツヂ
B読取フィールド選択50に供給される。読取でも書込
みでも、各々の選択器A又はBは、データ母線2Gに存
在する命令ワード、データ母線28に存在するアドレス
・ポインタ、又は鰻返しカウンタの出力、或いはデータ
母線30に存在するその一部分を選択し、スクラッチパ
ッド・メモリ+75に印加する。導体又はデータ母線2
2がスクラッチパッド・メモリ175をアドレス選択器
73に接続する。一般的にスクラッチパッド・メモリ1
75のアドレスは2つの別々の部分で構成される。更に
、プログラマブル論理アレーで構成された3つのスクラ
ッチパッド・デコーダがあり、これらはスクラッチパッ
ド書込みPLA88 、 SPA読取PLA?Q及びS
PB読取PLA72と記されている。
スクラッチパッド書込みPLA88が2次命令デコーダ
83Bからデータ母線48を通じて印加される2次制御
によって制御され、SPA読取PLA7G及び9PB読
取PLA?2が、1次命令デコーダ83Aによって復号
されてデータ母線4Bを通じて印加される初期命令と、
2次命令デコーダ83Bによって発生されてデータ母線
48を通じて印加される後期制御との両方によって制御
される。各々のPLAが3つの信号の組合せを復号する
。これらは、2つの状態ページΦど一/l”s丁1.S
r1.データ母線30に存在する2つの繰返しカウンタ
・ビット、及び第2図のアドレス・ポインタ68によっ
て発生される2つのポインタ・ビットを舎む。これらの
信号を使って、A個選択器64及びB個選択器68の制
御作用により、スクラ・ンチパッド・メモリに於ける書
込み動作又はスクラッチパッド・メモリからの読取動作
の何れかを実施する。
スクラッチパッド舎メモリの出力がオペランド選択器5
3に印加する為にデータ母線38に出る90PABと、
やはりオペランド選択器53に印加する為にデータ母線
44に表われる5POBBとして記されている。スクラ
ッチパッド書込みPLA88からの出力がA保持ラッチ
54及びB保持ラッチ55の両方に印加される。A保持
ラッチ54がデータ母線5Bによってスクラッチパッド
Aメモリ75に接続され、スクラッチパッド書込みPL
A68の出力の制御の下に、データ母線42に存在する
算術論理装置の出力を、スクラッチパッドAメモリ75
の、データ母線22に出ているアドレスの所にロードす
る。同様に、B保持ラー、チ55が、スクラッチパッド
書込みPLA8Bからの復号された命令の制御の下に、
データ母線42に接続された算術論理装置の出力に表わ
れるデータをデータ母線58を介してスクラッチパッド
Bメモリ77に供給する。読取動作により、後で説明す
る様にして発生されるデータ母線22に表われるアドレ
スが、データ母線82にあるスクラッチパフドAメモリ
の出力をA個選択器64及びB個選択器66に印加させ
ると共に、データ母線62に表われているスクラッチパ
iドBメモリの出力をA個選択器64及びB個選択器6
6の両方に印加する。スクラッチパ・シト−メモリ17
5へのアドレスは直接及び間接アドレス・モードの両方
で発生される。直接アドレスは、前に説明した状態レジ
スタ78のページ選択フィールドを、データ母線26を
介してアドレス選択器に印加された命令ワードの4ビツ
ト・フィールドに接続することによって発生される。
命令フィールドは常に16進と2進ビツトの境界にある
。1.2及び3レジスタ命令が用意されている。直接モ
ードの状態レジスタが4ビツトを供給する。最下位ビー
/ )は前に状態レジスタ78について説明した様にペ
ージ情報であり、命令ワードがアドレス情報の4ビツト
を供給し、これによってスクラッチパッド舎メモリ17
5の8ビット−アドレスが得られる。然し、第6図に示
す実施例では、7ビツトしか使われない、これはメクラ
−2チパツドAメモリ75及びスクラッチパッドBメモ
リ77には完全な6ページしかないからである。スクラ
ッチバッドA読取フィールド選択器24、スクラッチパ
ッドB読取フィールド選択器5o及びスクラッチパッド
書込み選択器32の理由となる別のアドレスは、繰返し
カウンタから得られ、スクラッチパッド・メモリ175
をアドレスする間接手段になる。繰返しカウンタ71の
最下位の8ビツトがスクラッチパッド・メモリに対する
アドレスとして使われる。メクラ−2チバiドφメモリ
のA側又はB側の選択は、命令デコーダ83から供給さ
れ実行される命令によって決定される。前に述べた直接
アドレスの場合の様に、第7図の実施例では、最下位の
7ビツトだけが使われる。アドレス・ポインタ69によ
って付加的な間接アドレスが得られる。
このモードでは、ポインタ・レジスタの内容をスクラッ
チパッドΦメモリ175に対するアドレスとして使う、
スクラッチパッド・メモリ175のA側又はB側の選択
は、2次命令デコーダ83Bで復号し、実行する命令に
よって決定される。然し、ポインタ・アドレス・レジス
タを保っておかないと、サブルーチン及び割込みの連結
が狂うので、ポインタによるアドレス動作は限られてい
る。ポインタ番レジスタθGからの最下位ビットが第6
図の実施例で使われている。スクラッチパッドA読取フ
ィールド選択器24.スクラッチパッド書込みフィール
ド選択器32及びスクラッパッド読取りフィールド選択
器50が更新レジスタ52によって更新される。
第7図はオペランド選択器53のブロック図である。オ
ペランド選択器53はA選択器/多重化器161及びB
選択器/多重化器163を含む。A選択器/多重化器1
8′、が、データ母線32に出る二−モニック符号0P
DAと記した出力を介して、算術論理装置55、乗算/
除算装置57又はメモリーアドレス・レジスタ61に印
加する為に、自分に印加された信号の内の1つを選択す
る。A選択器/多重化器161は、データ母線38に表
われる二−モニック符号SOP口Aと記されたスクラー
、チもパッド−メモリの出力、データ母線28に表われ
るアドレス・ポインタ68の出力、データ母線14に表
われる二−モニック符号ILc11で表わされた命令ワ
ード・カウンタ85の出力、データ母線40に表われる
二−モニ−2り符号STQで表わされた状態レジスタ7
9の出力(STQ30に表われる二−モニック符号IC
Qで表わされた繰返しカウンタ71の出力、データ母線
86に表われる二−モニック符号TOTDBQで表わさ
れたデータI10ポート58の出力、データ母線80に
表われる二−モニツタ符号MARMQ及びMARLQで
表わされたメモリ・レジスタ81の出力、データ母線7
4に表われる二−モニック符号MIIMQ及びMDLQ
で表わされた乗算/除算装置57の出力、データ母線1
88に表われる論理0バイアス、データ母線12から来
る一時しジスタロ3の出力、及びデータ母#1112に
表われる二−モニック符号TRQで表わぎれた一時しジ
スタロ3の出力の点1B5に出るバイト反転の何れかを
選択する。A選択器/多重化器161は2次命令デコー
ダからデータ母線48を介して送られる、ニーモニック
号ASELで表わされたへ選択器信号によって制御され
る。B選択器/多重化器163はデータ母線12に表わ
れる信号TRQ 、信号TOTDBQ、信号MDLQ、
データ母線170に表われる論理1バイアス信号、及び
データ母線44に表われるスクラッチパッド・メモリの
出力の何れかを選択する。B選択器/多重化器は、2次
命令デコーダ83Cによって復号されて、データ母線4
8に表われる二−モニック符号BSELで表わしたB選
択器信号によって制御される。
次に、第8図には、算術論理装置55のブロック図が示
されている。状態レジスタ179からの桁上げ40が選
択器130に入力する。この選択器は、データ母線32
に表われるオペランド選択器のA側の出力0PDAの最
上位ビット、又は第5図の算術/論理状態レジスタ77
の桁Fげ出力C又は論理Cバイアス138の何れかを選
択する。選択器の出力がシフト論理回路108に対する
入力として使われる。
シフト動作の間、この論理回路108がデータ母線42
に出力を発生すると共に、データ母線110Aに桁上げ
又はデータ母線90Bにオーバフロー状態の表示を発生
する。アンド論理回路102が、オペランド選択器53
のA側の出力をデータ母線42に表われるオペランド選
択器53のB側の出力と組合せて、両側の組合せを発生
する。オア論理回路104がオペランド選択器53の両
側の論理オアを発生する。
排他的オア論理回路10Bがオペランド選択器53の両
側の排他的オアな発生する。排他的オア機能を実施する
には、両側を論理的に反転しなければならないが、これ
が反転論理回路128によって行なわれることに注意さ
れたい0通過論理回路が、データ母線32によって印加
されたオペランド選択器53のA側出力を出力データ母
線42に通過させる。
ビット・セット及びビット−リセット論理回路112を
使って、A側オペランドの1つのビットをセット1又は
リセットOする。セット又はリセットすべきビットは命
令の中にあって、2進デコーダ132によって復号され
る。この2進デコーダはどのビットをビット試験論理回
路11Bによって試験するかをも復号する。ビット試験
論理回路tteがデータ母線32に存在するデータを試
験し、その結果をビット状態レジスタ79に印加する。
加算前輪理回路114が、オペランド選択器53に両側
に表われるデータに対してアンド、ノア及び排他的オア
操作を行ない、これらの関数を加算器118に印加する
。加算器118はオーバフロー状態及び桁上げ状態を表
示し、その出力がバッファ120に印加される。アンド
・ゲート122がデータ母線42に存在する信号を組合
せて、状態線80Cにゼロ状態を表示する。勿論、試験
が状態線900に発生される。
第9図には、乗算/除算装置57のブロー、り図が示さ
れている。オペランド選択器のA出力及びオペランド選
択器のB出力が、夫々データ母線32.34によって乗
算/除算装置57に印加される。オペランド選択器53
のA出力が第1の選択器13Bに印加される。この選択
器はY出力及びY出力の両方を発生し、その出力が、Y
−Y選択器140に印加される。第1の選択器138に
対するYはAレジスタ143の出力であり、このレジス
タは、点1θ3で、データ・ワードの内の最ト位の3ビ
ツトのシフ加される。後で説明するが、第9図の乗算/
除算回路は1乗算及び加算を行なう為にブース・アルゴ
リズムを実施する。このアルゴリズムは従来実施する場
合は、データ・ワードの中にあって、被乗数を構成する
データ・ビットを、この明細書で右側と呼ぶ最下位側又
はこの明細書で左側と呼ぶ最上位側へシフトすることを
必要とする。ブース・アルゴリズムを実施する一部分と
して、記録器199が、Aレジスタ142の出力にある
データ・ワードを選択符号に記録し、それをB選択器1
50に印加する。記録器1119の出力に応じて、B選
択器150がB出力を選択する。このB出力は、第2の
選択器144に印加されたオペランド選択器53のB側
と定義されており、これがB補数レジスタ14BにB又
はBの何れかを供給する。Bは乗除算器の最上位出力と
して定義され、データ母線?4Aに表われるが、第2の
選択器144の入力にフィードバックされる0選択器1
50は、B出力の点178に於ける1ビ5ト左シフトと
定義される2B出力、又はB出力の1ビウト左シフトと
定義される2B出力又はレジスタ148によって発生さ
れる3B出力及びその補数をも選択することが出来る。
 3B出力及びその補数はデータ母線1B4に表われる
出力信号であって、これは後で定義するが、B選択器1
50に印加する為に、3B、3ルジスタ14Bに印加さ
れる。
B選択器150は更に、ビット・シフト点182で2ビ
ー、ト左にシフトした後のレジスタ14BのB出力と定
義される4B、又は点184で2ビツト左シフトされレ
ジスタ14BのB出力に印加される4B出力の何れかを
選択することが出来る。B選択器15Gの出力が第4の
選択器154に印加される。第4の選択器154が、1
8ビツト加算器158に印加する為、乗算/除算出力の
最上位側であるデータ母線?4Aの出力、18Bに現わ
れる0バイアス信号又はB選択器150の出力の何れか
を選択する。18ビー2ト加算器158が第4の選択器
154の出力を第3の選択器152の出力と加算する。
勿論、第3の選択器152はオペランド選択器のA側を
表わしており、第4の選択器はオペランド選択器のB側
を表わす。
第3の選択器は、Aレジスタ142のA出力、B、百レ
ジスタ14BのB出力、データ母線74Bに表われる乗
除算器の低位側の出力、0バイアス18Bに表われるO
バイアス、又は和レジスタ158の出力の何れかを供給
する。和レジスタ15Bはモア・フィードバック選択器
180の出力であり、この選択器160は、和レジスタ
15Bを介して第3の選択器152に印加する為に、1
8ビツト加算器!58の出力又はデータ!74Bに表わ
れる乗除算器の最下位側の出力を選択する。
18ビヤト加算器158の出力がモア・フィードバク選
択器180及び最小フィードバック選択器162に印加
される。モアーフィードバック選択器180は、和レジ
スタ156、モア選択器175又は3B/3Bレジスタ
148に印加する為に、データ母線?4Bに表われる乗
算/除算回路の最下位側の出力又は18ビ・・2ト加算
器178の出力の何れかを選択する。最小フィードバッ
ク選択器182の出力は、点1θ5でlビ・ント左にシ
フトし、且つ組合せ回路187によって1ビツトを組合
せた後にモアセレクタ175ニ信号を印加するため乗算
/除算回路の最上位側からの出力、または18ビツト加
算器の出力を選択する。組合せ回路187は、導体1B
4に表われるモア・フィードバック選択器IBOの出力
の1つのビットを、截195で1ビツト左にシフトした
後の最小フィードバック選択器162の出力と組合せる
。モア選択器1075がNON レジスタ185に印加
する為、4つの出力の内の1つを選択する。MDMレジ
スタ185が、乗算/除算装置57の出力の内の最上位
ビットをデータ母線74Aに保持する。この選択は、ス
ピルオーバ回路188からの出力、モア・フィードバッ
ク選択器180からの出力、シフ) 195又は組合せ
+97によって修正した後の最小フィードバック回路1
82の出力、又はデータ母線12に表われてモア選択器
175に印加される一時レジスタ83の出力から行なわ
れる。最小選択器177がMOLレジスタ187に印加
する為、5つの入力の内の1つを選択する。このMOL
レジスタはデータ母線74Bに最下位データ・ビー7ト
な保持する。最小選択器177の出力は、モア・フィー
ドバック選択器180の出力、市191に於ける1ビツ
ト左シフトによって修止し目、つ189で論理Oと組合
せた後のモア・フィードバック選択器160の出力、点
174で右にシフトし、且つ点178でモア・フィード
バック選択器160からの1ビツトと組合せた第1の最
下位出力、及び市172で3ビツト右にシフトし且つデ
ータ母線176を介してモア・フィードバック選択器1
80からの3ビー、トと組合せた第2の最下位フィード
バック、及び一時レジスタ口3から最小選択器1??に
供給される出力を含む、オーバフロー状態が故障によっ
て表示され、この故障が故障検出器173に印加される
。オーバフロー状態がスプルオ/<回路188によって
検出される。このスピルオーバ回路は選択器178を含
み、この選択器がモア・フィードバック回路180 、
1075の出力からの2ビツトを選択し、これがリプル
桁上げ回路181の出力又はモア選択器1075の出力
と組合わされる。
リプル選択器179の出力が5POVレジスタ183に
印加される。このレジスタはスピルオーバがあった場合
、そのことをデータ母線189を介して故障検出器+7
3に知らせる。5povレジスタ183の出力をリプル
桁−トげ回路181及びモア選択器175の1つの入力
に印加することにより、主要回路が完成する。
第10図はメモリ・アドレス・レジスタ61及びデータ
I10ボー)5Bのブロック図である。1次命令デコー
ダ83Cがデータ形成を検査して、ワード又はへイト・
モードeビットのいずれの動作モードかを決定する。プ
ログラムの過程によってバイトφモード・ビットがセッ
トされている時、論理アドレスが最上位メモリ・レジス
タMARM78及び最下位レジスタ76にあり、これは
バイト中アドレスとしてMARLと記されている。デー
タφメモリとの処理はデータ・ワードではなく、データ
eバイトによって行なわれる。ワード/バイト−ビット
がリセットされている時、HARMレジスタ78及びM
ARLレジスタ76にある論理アドレスが18ビツト・
ワード・アドレスとして使われ、データ・メモリの処理
は16ビー、ト・ワードで行なわれる。ワード・モード
又はバイト・モードに関係なく、メモリの参照は常に1
8ビツト・ワードであることに注意されたい。然し、バ
イト0モードでは、アドレスの18ビツト・ワードから
1バイトだけが読取られ又は書込まれる。アドレスがア
ドレス・モード選択器によって選択された後、導体4に
よってメモリに供給される。アドレス・モード選択器は
3状態バツフア82に印加する為、4つの入力の内の1
つを選択する。このバッファ82が選択的なアドレスを
データ母線4を介して第1図の外部メモリに接続する。
データ母sI4は18ビツトの導体であることに注意さ
れたい。
バイト・モードにある時、HARM及びMARLにある
値がバイト・アドレスを表わすから、出力アドレスは、
ワード・アドレスを表わす様に、実効的に1ビツト右に
シフトしなければならない。これがアドレス・モード赤
枳器80に対するB入力によって行なわれる。MARI
n、母t!32の最上位の15ビツトだけを用いて出力
される。MARHの最下位ビットがMARLの最上位ビ
ットになり、MARLが1ビツト右にシフトする。MA
RLの最下位ビットがIloの適正なバイトを制御する
為に、バイト選択器94..88に関連して使われる。
勿論、アドレス拳モード選択器は、データ束46の一部
分である導体のワード/バイト信号によって制御される
データI10ボートはデータ母線6を介して、高速プロ
セッサ10とのデータのインターフェイス接続をする。
到来データに対しては、シュミット・Fリガ人力92が
データを濾波し、それをバイト選択器84までにアンド
・ゲート85に印加する。これはワード−バイト信号4
Bによって制御される。バイト選択器が第1又は第2の
バイトの何れかを選択するのに対し、アンド・ゲート8
5は1バイトを通過させて、合計データ・ビットを作り
、これがデータ束86に表われ、第1図のオペランド選
択器53に印加される。この出力がオペランド選択器5
3の出力により、データ束32を介して、1次命令デコ
ーダ83Cによって復号されるワード/バイト信号によ
って制御されるバイト選択器8Bと、3状態バ・ノファ
86とに印加され、データ母線6と第1図に示した周辺
装置とに印加される。
第11図は1次デコーダ・アレー83C及び2次デコー
ダ83Bのブロック図である。デコーダは、命令ワード
を適当な信号に復号して、それらを夫々出力データ母線
4B、48に印加する復号アレーである。状態ビット及
び制御ビー7トがデータ母線40及び6を介して1吹デ
コーダ83Cに印加され、制御ビットが2次デコーダ8
3Bに印加される。
ピコシーケンサ論理回路83Aは、所定の指令により、
記述した動作を行なう状態装置であり、従って第12図
はピコシーケンサ論理回路83Aを構成する状態装置の
状態図である。ピコシーケンサ論理回路は、論理及び較
正論理の3つの順序を実施するのに必要な順序を発生す
る。これらは、保持順序、C0N5TANT及びGO9
UB順序、及びRETURNS、RETtlRN及びL
OAD−INの順序を含む、端のブロックが較正順序に
続く。この較正順序は、第12図の319に示す状態O
で実行され、セルフタイム発振器の較正を実施すること
が出来る。この実施例は、第1図及び第2図の実施例で
は行なわれていないが、高速プロセッサlOを正確な計
時能力を必要とする複雑な通信方式と共に使うことが出
来る様にするものであり、この為、計時作用を発生する
のに使われるセルフタイム発振器の周期的な較正が必要
であり、ブロック318で表わされる順序の間に較正さ
れる。ブロック319の後、この順序は終点311 で
終る。
保持順序で使われる次の経路は母線調停に用いられ、表
■に要請として収容されたビンの割当てに表わされてお
り、高速プロセッサ!0がデータ・メモリ・アドレス段
階のアクセスを持っている時に使われる。この期間の間
、ピコシーケンサ論理回路83Aがブロック301でス
クラッチパッド・メモリを読取り、スクラッチパー、ド
ーメモリに書込むと共に更新カウンタをインクレメント
することにより、ブロック303でスクラッチパッド・
メモリを更新する0次にシーケンサが判定ブロック30
5に進み、そこで、高速プロセyす10がデータ・メモ
リ・アドレス空間に対するデータ母線のアクセスを持つ
ことが出来る様に、「許可解放」信号が出るまで、ルー
プを回る。「許可解放」信号を受取った後、ピコシーケ
ンサが線309を介して末端ブロー、り311に進む。
更に、ピコシーケンサは、2ワード命令を処理する為に
、論理状態を発生することが要求される、 コa ラバ
cONsTkNT、 GQSLIB 、 RETtlR
N R9、RETtlR)I及び命令ワード拳ロードの
各命令を含む。スクラッチパッド・メモリに定数をロー
ドすることを意味するGO9UB又はサブルーチン呼出
し命令及び定数命令は、実質的にブロック313で、プ
ログラム・カウンタなアドレスし、第3図について述べ
た命令用意信号を受取るまで、待ち、ブロック323で
待つことによって実質的に実施される。更に、サブルー
チン命令からの戻り、状態の回復を意味するRETUR
N R9、及び命令ワードロードの各命令では、ブロー
、り317で開始され、ここでピコシーケンサ論理回路
は、ブロック323でI−READY信号を受取り、並
び′にプログラム・カウンタがブロック321でスクラ
ッチパッド・メモリからの内容をロードされるまで、高
速プロセッサ10を待たせる。ブロック313又は31
7から始まる1順序の実行と同時に、ブロック315で
命令ワードに対する要請が発生される。ピコシーケンサ
83Aは、第3図の波形147で示す様に、ブロック3
23で命令用意信号を待つために該ブロックに進む。矢
印337で始まる経路では、ピコシーケンサ83Aは高
速プロセッサ10をブロック338で状態数9に進める
。これは339でプログラム・カウンタのロードを必要
とする。状態数lOで、マイクロプロセッサ10は、第
3図の波形14?で表わされるI−READY信号を待
つ。これがブロー、り341で起る。結果が状態Hのブ
ロック342でロードされ、高速プロセッサlOはブロ
ック333の状態14に進み、プログラム・カウンタに
対する新しい値を出力し、その後、末端ブロック311
に進む。GOSUB命令、読取命令及び定数命令に対し
ては、経路335をとる。命令ワード読取及び定数に対
しては指令経路328をと゛す、そこで状態12のブロ
ック332で、プログラムφカウント加算器、即ち、第
4図のPC加算器IHIをプログラム・カウンタにロー
ドする。この場合、ピコシーケンサ・ブロック333の
状態14に進む。cosuBルーチンでは、状態8のブ
ロック331でベクトルが実施され、プログラム−カウ
ンタに対する新しい値がブロック333で出力され、そ
の後状態15のブロック343でプログラムeカウンタ
・アドレスがラー、チされ、高速プロセッサは終りの状
態に進む。
次に第13図について説明すると、ここには乗算の濠れ
図が示されている。乗算/除算装置5?を示す第9図の
ブロック図を参明すべきであり、更に第2図を参照する
のも役立つと思われる。乗算/加算に入った時、第13
図の実施例では、2つの16ビツトeワードが乗算/除
算ハードウェアに第9図のデータ母線32.34から並
列に供給される(乗算/除算論理回W&57が待ち状態
であると仮定する。)この時、乗算/除算装置57を使
用中とマークし、2つのオペランドを取得する。ブロッ
ク400で、乗算/除算装置は、スクラッチパッドAメ
モリ75の内容とスクラッチパッドBメモリ77の内容
を乗算する様に命令される。データ母線32の引数Aが
第9図の多重化器152を介して、第9図の実施例では
18ビツトの加算器158のAボートに印加される。多
重化器はスクラッチパッドAメモリ75からの引数又は
スクラッチパッドBメモリ77からの引数の何れかを選
択することが出来る。或いはMDLレジスタ18?の出
力が18ビツト加算器154のBボートに印加され、メ
クラ9チパツド77の出力から、MDMレジスタ出力で
ある ブロック401で、動作が符号つきであるか符号
なしであるかの判定が下される。符号つきであれば、そ
の時線403をたどって、ブロック405でXを符号拡
張に等しく設定する機能を実施する。ブロック407は
、スクラッチパッドBメモリ77の内容がOより大きい
かどうかを判別する。その答えがOより大きければ、次
にブロック409を実施する。これはBが、データ母線
34を介して乗算/除算装置57に印加されたスクラチ
パッドBメモリ77の内容の補数に等しいことを意味す
る。Yデータ・ピッ) 421を論理「1」に等しいと
設定し、設置は点411で、符号なし動作の場合の乗算
と一緒になる。判定ブロック407で、スクラチパッド
Bメモリ177Bの内容sbが0より小さければ、線4
13をたどって点415に至り、そこで符号なし動作を
表示する。第9図の実施例のデータ・ワードが、Bレジ
スタの内容に対するブロック2.9及び13の線図41
7で表わされており、点419の最上位ビー/ トが前
述の拡張符号ビットである。同様に、データ母線32か
ら印加されるスクラッチパッド八メモリの出力がブロッ
ク図421で示されており1点423にYビットがある
。Xビット及びYビットの値は、乗算/除算、特にブー
ス・アルゴリズムを実施するのに役立つ。ブロック40
0に戻って、特にブロック401 で、符号なし動作で
ある時、プロ・シフ425に行くN線をたどり、419
のXビットを0に設定し、ワード形式421によって表
わされるBワードをスクラ・ソチパッドAメモリ77の
内容に等しいとおき、ブロック427でYビット423
を0に等しいとおく。
B形式ワード419で、値3Bは、加算器のBボートに
値Bを送り、且つ1ビツト左シフトしたBである値2B
を加算器のAボートに送ることによって形成される。加
算器に対する桁上げ入力は0である。加算器の出力が3
Bであり、第14図の節点402で表わされた工程の一
部分である一時保持レジスタ148に送られる。3Bの
補数も記憶することが出来ることに注意されたい。
符号つき動作も符号なし動作も、ブロック429と同じ
であり、ここでAワード424が今述べた形で、スクラ
ッチパッド八メモリの内容に等しくおかれる。ブロー、
り431で、ワード線図451で表われるWを0に等し
いとおき、乗算を行なう為に乗算装置が実施しなければ
ならない繰返しの回数を表わすカウントもOに等しいと
おく。乗算アルゴリズムの場合、基本的な乗算を実施す
るのに実質的に6回の加算サイクルがある。ブロック4
31で、動作が単に乗算であって、乗算/加算でない場
合、WをOに等しいとおき、M[1Mレジスタ185、
MDLレジスタ187及びスピルオーバ・レジスタ18
3は0に設定する。ここで説明する実施例では、後で使
う為に3Bの評価を必要とする3ビツトのブース・アル
ゴリズムがある。その意味する所は、Bを加算器の一方
の入力にゲートし、2Bを加算器の他方の入力にゲート
しなければならないことである。加算器158の出力は
18ビツトであるが、後で使う為に、第9図の一組のラ
ッチ又は保持レジスタ158 、148に記憶される。
2Bは、1ビツト左シフトした値Bとして定義され、こ
れが第9図に示す売78のハードウェアで実施される。
勿論、これはチップのレイアウトの際、データービット
の母線接続によって処理される。送られるのは18ビ・
ントBであり、これはデータ母線34から印加された1
6ビツトのデータΦワードと、2ビツトの符号拡張部で
あり、これが18ビツト加算器158のAポートに送ら
れる。18ビツト2B(1ビツト左シフトしたBと、第
9図の点186で供給された下位の0、及び1ビツトの
符号拡張部)が18ビツト加算器のBボートに印加され
る。加算器158の18ビー2ト出カが、勿論3Bと名
付けたラッチ148に記憶される。
第9図、第13図及び第14図の実施例では、18ビツ
ト加算器のBポートに印加される下記のBの倍数を用い
て、3ビツトブース・アルゴリズムが実行される。0、
即ち、186゜十又は−1,2ビツトの符号拡張部を持
つ18ビツトB。+又は−2,1ビツト左シフトした1
8ビツトのB及び下位のO及び1ビツトの符号拡張部。
十又は−3,1ビツト左シフトしたBの18ビ、ント。
及び十又は−4、これは2ビツト左シフトしたBであり
、2つの下位のOビットを付は加えている。
負の因数は幾つかの方法で実現される。勿論、主な方法
は、B、2B、3B又は4Bの真の値を加算器158の
Bポートに供給し、動作を減算に変えることにより、1
8ビツト加算器158に対して2の補数を使うこと、又
はKを1.2.3又は4に等しいとしてインバータを使
って十KBの1の補数を求めることにより−KBを加算
器158のBポートに供給し、Bの桁上げを、普通はO
である桁上げに設定し、加算を行なうことである。
然し、第10図の実施例では、2の補数の方法を用いて
いる。引数Aが、ワード形式421のY423と呼ばれ
てい□る下位ビットを加算することにより、19ビツト
の値になり、ブース加算の残留ビットになり、2つの上
位Oビットを+4に加える。符号つき乗算又は乗算/加
算でAが負であれば、Aを反転しなければならない。次
の規則は符号なし乗算及び乗算/加算に対するものであ
る。
前に定義したAの真の16ビツト出力を使って、−Yを
Oに等しいとする。符号つき乗算又は乗算/加算で、A
がOより大きいか又はそれに等しい時、2Aを用い、Y
をOに等しいとし、AがOより小さい時、反転したA(
16ビツト)を使い、Yが1に等しい、或はAの2の補
数(16ビツト)であれば、YはOに等しい。表463
は、前に説明した動作のZ区域424で表わした4つの
下位ビットに対する真理表である。ワード形式421で
表わすように、全ての繰り返しが行なわれて、16ビツ
ト全部が最下位ビットを通越してシフトするまで、矢印
705で示す方向に、Zビットを連続的にシフトする。
加算器158のAボートに対する初期入力は、MDLレ
ジスタ187の内容であり、2ビツトは「0」で18ビ
ツトのイ詰ンる。この後のパスでは、Aポートは18ビ
ツト加算器158の先行する加算器入力を、最後の乗算
サイクルに対して1回ずつ、3ビツト右にシフトさせk
ものである。Bポートに対する入力は前に説明した。第
9図に示す実施例の加算器158は、19ビツト又は更
に多くのビットの結果を形成することが出来なければな
らない。加算器158の出力1本2つのフィールドによ
って表混る。相補的な積である低ビットはMDLレジス
タ187の正しいビー2ト区域に入れなければならない
。最後の繰変えしでは、最後のビ・ントを除く予じめ割
当てられた3ビツトがlでMDLレジスタ187に込る
。毎回の繰返しでビー、トを右にシフトして、最下位ビ
ットがピッ)13乃至15から得られ、次のビットがピ
ッ)10乃至12から得られる、と言う様にして、最上
位ビットが「0」で始まるようにする。残りのビットは
、3ビツト右シフトした後、加算器158のAボートに
対する次の入力になる。これは第9図の点167に示す
ように、母線の経路によって行なわれる。勿論、最後の
シフトは1ビツトであって、3ビ・ントではなく、16
に対する3が5に1を加えたものに等しい。
(@記:図示の実施例の加算器158は、少なくとも1
8ビツトに桁上げ出力又は借り表示を持っていなければ
ならない、)乗算では、加算器出力の下位の16ビツト
は、1ビ・ソト右シフトの後、MDMレジスタ185に
直接的にゲートされ、次の加算サイクルを省略する。乗
算では、スピルオーバ・ビットは符号なしではOに等し
いとおき、符号つき動作では符号ビットに等しいとおく
こういう機能の動作が第13図の点473から示されて
いる。特に、ブロック433で、ZをYに、値Z(42
4)であるB (LAN)7の2倍を加えたものに等し
いとおく。ブロック435で、451に示すワードWが
、Wに、Aレジスタの内容のK(424)倍の表の値を
加えたものに等しいとおく。判定ブロック437で、カ
ウントが4に等しいか又はそれ以下であるかどうか判別
される。(4)より小さいか又は(4)に等しい場合、
線439をたどり、 (4)より大きければ、線441
をたどる。線439をたどると、■フィールド452が
ブロック443でWに(LAN)1を乗じたものに等し
いとおき、ブロック445で、Wレジスタの内容を1ビ
ツト右シフトさせる。ブロック447でMDLレジスタ
18の内容(これはブロック線図449で示す)を1ビ
ツト左シフトさせる。ブロック453で、MDLレジス
タ187は、MDLレジスタ187の内容にVを加えた
ものに等しく、ブロック455で、一時レジスタ口1の
内容にWの内容をロードし、ブロック457で、状態ビ
ットを補正し、ブロック459で、MDLレジスタ18
7のビット反転を実施し、ブロック461から出力され
る。カウントが4に等しくなるまで、■フィールド45
2が、ブロック463でWに(LAN)の7倍を乗じた
ものに等しく、ブロック465で、Wレジスタ451の
内容を3ビツト右シフトさせる。MDLレジスタ187
を3ビツト左シフトさせる機能がブロック467で行な
われ、MDLレジスタ187が、ブロック469で、M
DLレジスタ189にVを加えたもの(3ビツト逆転)
に等しいとおく。ブロック471で、内容をY424を
介して3ビット右シフトさせ、カウントを1だけインク
レメントし、乗算回路57は結合重473に戻る。乗算
では、2イールドZ424を使って、+nAの内、加算
器のBボート(第14図)の404に行く値を「選択」
する。
これが第13図の表463の目的である。”MDL ”
の正しい位置に直接的に3ビツトをゲートする為に、4
69の3ビツト逆転をしないで、459の16ビツトの
逆転を必要としないようにすることが出来る。乗算では
、3Aを形成するもの及び1B/3=6の、7個の加算
器サイクツが必要である。2重加算器を使えば、4サイ
クルしか必要としない。然し、1つの加算器しか使わな
ければ、7サイクルが必要である。
第13図の流れ図及び第9図の論理図は、第14図と一
緒に見れば更に良く理解されよう。多重化器150がブ
ロック482によって構成されており、ブロック154
.152.158で行なわれる多重化動作が、第14図
の加算装置404で実施される。この図は、ゼ゛口40
6及びAレジスタ408が402からの正しい値に加え
られ、加算器の選択に行くことを示している。
和及び右シフトが加算装置175,177によって行な
われ、この動作がブロック410によって示されており
、出力がブロク412で一時レジスタ185.187に
記憶される。MDLレジスタ181に入れたVを用意し
、第9図のブロック188で示したスピルオーバ・レジ
スタの拡張範囲をブロック412で示しである。入れた
Vは、乗算でも除算でも単一方向である。
第15図は、システムに加算が追加される他は、第13
図と非常によく似ている。
第15図はブース乗算及び加算アルゴリズムの流れ図で
あり、これはブース乗算アルゴリズムよりも1つの加算
サイクルだけ余計に持っており、第13図のブロック4
31が、WをMDLに等しいとおき、カウントをOに等
しくするブロック430に置き換わる他は、前と同じで
ある。両方の図面のZがAワードの一部分として表わさ
れており、シメンジョン線424で示されている。更に
、Wを記憶している一時レジスタを含むブロック455
が、456において、MDMレジスタ185にWを加え
たものに等しい一時レジスタに置き換えられていること
に注意されたい。これはMDMレジスタ185のMSW
でもある。第13図の真理表463が第15図の真理表
466に置き換わる。反転3ビツトが左シフトの為、M
DLの低い方の端に入れられる(1ビツトだけ、そして
最後のMPYの縁り返しの1回のシフトを別とじて)。
最終的なMDLレジスタが414で、ビット反転される
。然し、経路を使えば、伺等シフトせずに、■ビットを
直接的にMDLにゲートすることが可能である。第14
図の414で示すように、最後のビットがMSBであり
、LSBは反対側の端にある。
次に第16図について説明すると、第15図のブロック
430がWレジスタにMDLをロードする為、ブロック
458で、MDLレジスタ187の制御作用並びにMD
Mレジスタ183を一時レジスタにWを加えたものに等
しいとおくことが行なわれる。これらの機能が、シフト
・ブロック410の和にOを加算するのではなく、ブロ
ック・エリア482で483を加算することによって実
施される。MDLの出力が線484を介して加算ブロッ
クに印加される。ブロックMDLを483で示す。一時
レジスタとブロック456で表わすWの加算が、一時レ
ジスタ488から加算レジスタ486に接続されたフィ
ードバック線490によって示されている。勿論、これ
が第9図では、MDMレジスタ185及びMDLレジス
タ187の出力を、加算装置154.152に印加して
、ブロック456で示す関数を得る動作によって表わさ
れている。Aの偵が、第14図ではブロック497から
得られ、第16図ではブロック498から得られる。A
レジスタはワード形式408によって表わされる。これ
が第16図の加算器W404に印加される。過剰のMS
W16ビツトが、誤り検出173の為、第9UAのスピ
ルオーバ・レジスタ188に行く。
次に第17図について説明すると、除算を表わす流れ図
が示されており、第18図は第17図の除算を例示する
論理的な機能図である。第9図、′PJ17図及び第1
8図を同時に参照Sれたい。乗!/除笠回路は16ビツ
ト・ワードによる除算に入った時、データ母線32から
、並列乗算/除算回路57に送られる。データ母線32
又は算術論理装置55のAボートに行く母線からの引a
A(除数)が、夫々スクラッチパッドAメモリ又はスク
ラッチパッドBメモリ75.77から印加される。引数
が0であれば分子が何であっても、それに関係なく誤り
検出器173によって、信号誤りが設定される。これは
、除数がOであれば、MDMレジスタ185、MDLレ
ジスタ187及び5POVレジスタ188はそのままで
あることを意味する。即ち、Oloは誤りである。引数
B(分子)が32ビツトのMDレジスタ185.187
と、MDMレジスタ185の左拡張部としての5POV
レジスタ188に存在する。分子がOであれば、除算が
終了する。商はO(MDLレジスタ187の内容)であ
り、剰余はO(MDMレジスタ185の内容)である。
符号つき乗算/除算の状態ビットを検査して、加算器1
58の出力の左シフトに置ける引数A及び引数Bに対す
る左側の符号の拡張をどのように行なうかを決定する。
これが判定ブロック501で行なわれる。符号なしであ
れば、ブロック503で符号つき拡張はOであり、符号
つきであればブロック505で符号つき拡張が符号ビッ
トを伝搬させる。5povレジスタ188の内容、MD
Mレジスタ185の符号つきビ・シト及び引数Bに誤り
の惧れがないかどうかを検査する。除数が0に等しけれ
ば、これは常に誤りである。分子が0に等しければ除算
が終りで除算から出て行く。符号なしであれば、ブロッ
ク504で5povレジスタをOに等しく設定し、MD
Mレジスタ185の内容が除数よりも小さければ、除算
は可能であるが、MDMレジ″スタ185の内容が除数
より大きいか又はそれに等しい場合、除算誤りである。
符号つき除算で、5POVレジスタ188の内容が全部
はMDMレジスタの符号と同一でない場合、除算誤りで
ある。5POVがMDMの符号ビットと一致すれば、こ
の状態では、MDMレジスタ185のnif内容及び除
数の符号が同じであり、この為MDMの2倍の絶対値が
除数の絶対値より小さく、従って、動作可能である。M
DMレジスタ185の内容の2倍の絶対値が除数の絶対
値に等しいか又はそれより大きい場合、誤り検出器17
3によって誤りが表示される。更にMDMレジスタ18
5の内容及び除数の符号が反対であり、且つMDMレジ
スタ185の内容の2倍の絶対値が除数の絶対値より小
さいか又はそれに等しい場合、演算可能である。MDM
レジスタ185の絶対値が除数の絶対値より大きい場合
、誤りが表示される。MDMレジスタの内容の2倍は、
MDMレジスタ185の内容の1ビツト左シフトを意味
しており、MDMレジスタ187の内容の最上位ビット
が空白ビット位置に挿入される。誤りの場合、除算の残
りは中止することが出来、MDMレジスタ18り、18
7の内容はそのままであって、状態ビットがセットされ
る。
Zは、商に挿入する為の除算故障非有意ビットと定義さ
れる。有意ビットはZの補数である。符合なしの2はO
に等しい。符号つきZは、除数の符号を除いた又は含め
た、MDMレジスタの内容の符号に等しい。
第17図及び第18図に示す除算は復元形の除算である
。然し、復元加算サイクルは行なわず、18ビツト加算
器158の加算器入力を通る直接的な経路があり、これ
らの結果が加算器出力であるかの様に、加算器を介して
又はその中を直接的に通ってゲートyれる。更に加算器
156に行く。符号ビー7トに対するZビットの設定が
プロ・ツク507で行なわれる。ブロック509で、カ
ウントがOに等しく設定され、BはスクラッチパッドB
メモリ77の出力に等しい。 MDレジスタ、即ち、M
DM185及びMD L 187の組み合わせが、1ビ
ツト左シフトさせられた後、加算器158のAポートが
MDMレジスタの内容を使う。
他の時、加算器の出力は、1ビツト左シフトさせられた
後、MDLレジスタ187の最上位ビットを空白位置に
入れ、MDLレジスタ187を1ビツト左にシフトさせ
る。これは、プロ・ツク511で、MDMレジスタ18
5にAボートの内容をロードすることによって実施され
る。ブロック517で、2がOに等しいか1に等しいか
の判別が下される。0に等しければ、プローツク515
で、加算器158のBボートは−Bに等しい、Zが1に
等しければ、ブロック519で、加算器FのBボートが
十Bに等しく、ループが節521で一緒になる。加算器
v8にブロック523でロードし、判別ブロック525
で、加算器の符号が一時レジスタに記憶されているX符
号に等しいかどうかを判別する。同じであれば、ブロッ
ク527で、Qを−MDL(MDLレジスタ187の内
容をMDLと呼ぶ)に設定する。Xと異なれば、ブロッ
ク529でQがZに等しいと設定される。Qを−Zに等
しいと設定した後、加算器158のAボートは、ブロッ
ク529で、加算器158の内容に等しい。
加算器の入力からの他の値から、除数を減算する。減算
は2の補数により、0に等しい桁上げ入力を用いた加算
によって行なうか、或はlの補数を使い、lに等しい桁
上げ入力を用いた加算による。符合なし減算は、加算器
158のAボートの値から真の除数を減算することによ
って行なわれ、符号つき動作では、分子の符号は除数の
符号とX−Rである。符号つき動作と同様な動作は、真
の除数の減算であり、同じでない動作は、2の補数の除
数の減算又は真の除数の加算である0分子の入力符号を
加算器の出力符号と比較する。これは前にブロック52
5で説明した。差値ZをMDL187の最下位ビットに
挿入し、加算器の出力値としてどんな値を使うかを決定
する。同じ符号であれば、ブロック525で最下位ビッ
トはZに等しく(加算器の出力を使う)、異なる符号で
あれば、ブロック528で最下位ビットはZに等しい。
加算器「出力」が第18図の602から循環して、ボー
トAに対する加算器入力になる。(通過又は復元値を使
う。)この後、16ビツ)−サイクルの最後のサイクル
を除き、MDLレジスタ187の内容を1ビツト左ヘシ
フトさせる。上に述べた工程は、ブロック531で示す
ように繰り返され、ここで左シフトのビット・カウント
をブロック533でインクリメントし、ブロック535
でそのカウントが16より小さければ、ブロック537
で、再び加算器158のAボートに、Ml)Mレジスタ
185に加算器158のAポートを乗じ且つMDMレジ
スタ185を加えたものをロードする。
16回の加算サイクルを行なった後にカウントが15よ
り大きくなると、答えは剰余を示す。この答えがMDM
レジスタ187の出力と共にゲートされ、最終的な剰余
として、5POVレジスタ188に桁上げ/バーが印加
される。剰余がOでなければ、s povレジスタ18
8の内容及びMDMレジスタ185の最上位ビットが分
子の元の符号ビットと一致する筈であり、そうでなけれ
ば誤り検出器173によって誤りが表示される。最後の
1回の加算サイクルを点539で実施して、商をMDL
レジスタ187に固定する。それが符号なしであれば、
ブロック541でこのサイクルを省略し、ここで一時レ
ジスタには、ブロック543でAポートの内容を記憶し
て、ブロック545の剰余を求める。符号なしであれば
lサイクルを省略し、この為ブロック543の桁上げ入
力は0に等しいとおかれ、その後ブロック545で、状
態スクラッチパッドAレジスタにETと桁上げ入力とを
加えたものがロードされ、ブロック547で除算から出
て行く、ブロック545はプロッり549で示す商であ
ることに注意されたい。符号つきであれば、ブロック5
51で桁上げ入力を1に設定し、それをMDLレジスタ
187の内容に加算して、ブロック545でスクラッチ
パッドAレジスタにロードすることが出来る様にする。
この点で、最終的な商がMDLレジスタ187に入って
いることに注意されたい。
上側の加算ビットが桁上げ入力ビットと共にスピルオー
バーレジスタ188に入る。スピルオーバ・レジスタ1
88が、符号なしを示すrOJにより全て符号なしとは
されていないのに、符号つきを示す計画符号によっても
、全て符号性ともされていなければ、乗算/除算誤り状
態が誤り検出器173によって検出され、誤りのフラグ
がセットされる。符号つき動作に対する計画符号が元の
分子の符号である。5POVレジスタ188の最終的な
内容及びMDMレジスタ185の最上位ビットを調べて
、それらが同じであるかどうかを判別する。同じでなけ
れば、誤り検出器によって誤りが検出される。
乗算除算器57は別の動作をするまで待機状態である。
乗算/除算部分を含むあらゆる命令は禁1ヒされる。こ
の部分は既に使用中であり、新しい動作を再開する前に
、待機状態になるまで待つ。
MDMレジスタ185又はMDLレジスタ187を参開
する任意の算術論理装置55は、乗算、乗算/加算又は
除算に対する別の値が、導体175を介して正しい値を
誤り状態出力にゲートする。ソフトウェアによって任意
の是正措置をとらなければ−ならない。
ソフトウェアを介して乗算又、は除算が行なわれる時に
使われる1つの命令がある。これはSRMD、16であ
り、これは32ビット全部のMDレジスタ185の16
ビツトの右シフ)・である。
これは吹の動作を行なう。
1、MDMレジスタ185の内容をMDLレジスタ18
7にゲートする。
2)前に述べた符号拡張規則を用いて、5POVレジス
タ188の内容をMDMレジスタ185にコピーする。
MDMレジスタ185又はMDLレジスタ187の右又
は左シフトも含まれる。これは算術論理装置のシフト装
置を用い、乗除算の一部分ではない。
第9図に示す実施例では、MDMレジスタ185は16
ビツト争レジスタであり、MDLレジスタは16ビツト
番レジスタであって1ビツト左シフトが出来る。除数B
は16ビツトであり、バーはそれらの1の補数であり、
これは16ビツ)Aを一絹のインへ−夕にゲートし、桁
上げ入力を加算器158のAボートに設定することによ
って得られる。5POVレジスタ188は、後で、使う
為に桁上げ出力を捕捉する為、又は誤りを検出する為の
ニブル又はバイトであってよい。これは全加算器である
必要はなく、減算から借りをするりプル桁上げ形である
。Zは、商を発生させる為に、レジスタ187の最下位
ビットに挿入される為に使われるマイナス・ビー、ト又
はその補数である。加算器の出力が1又はOビットの左
シフトによって得られる。通過経路が随意選択により、
加算器の復元出力として選択される。除算は整数除算で
ある。この為、動作が符号つきであるか符号なしである
かに関係なく、除算がオーバーフローすることがある。
従って、誤り検出器173が誤りを検出する。除算命令
は16個の加算サイクルを必要とする。除算の商を完成
する為に、1つの最読的な加算サイクルが必要である。
このように、乗算/除算が非同期的な動作である為に全
体としての除算には、17個の加算サイクルが、計算機
サイクルから区別される。
第18図のブロック600で、加算する2つの引数がM
DMレジスタ185.187に印加される。これらがブ
ロック601で示されている。レジスタの内容はエリア
602の本体16倍であり、符号つき動作ではSAレジ
スタ、符号なし動作ではSBレジスタの内容が加算装置
604によって加算され、加算ブロック602のBポー
トに印加される。出力の剰余が一時レジスタ・ブロック
606に記憶される。ZがOに等しいか又はZが1に等
しければ、出力の商が加算ブロック608によって決定
され、和がブロック612に記憶される。
この発明の特定の実施例を説明したが、当業者であれば
、いろいろな変更が考えられよう、このような変更はこ
の発明の範囲内に含まれることを承知されたい。
表■ レジスタの二−モニック符号 DB又はMEN−16ビツトの外部データ母線IC−繰
返しカウンタ IW−命令ワード lTl−期間タイマ T2 MARM−データ・メモリーアドレスの上位16ビツト MARL−データ・メモリーアドレスの下位16ビツト MD−乗算/除算レジスタ MDM−MDの上位16ビー、ト MDL−MDの下位16ビツト PAGE−スクラッチパッド・ページ書しジスタPRE
C−多重精度レジスタ PTR−ポインタ TR−一時レジスタ TRM−THの上位バイト TRM−THの下位バイト 表H命令の機能の要約 この表は高速プロセッサの命令の組を要約するものであ
る。命令は機能によって大別されている(例えばADD
 、SHI FT)、これらの群の中で、命令形式によ
る順番になっている。要約は次の形式である。
に−モニック):アッセンブラ簡略符号Op:16進o
p、には2ワードの命令を示す。
記述ブロックに2番目のワードの使い方を定義する。
L/A :命令が論理又は算術モードの何れに依存する
かを示す。(状態の第9ビツトに依存する)空白は命令
がモードeビットに無関係であることを示す。
St:状態レジスタのどのビットが命令によって更新さ
れるかを示す。
Z=ゼロ 02桁上げ ■=ニオ−バーフロ ー=試験 CtJL:状態レジスタのどのビットが命令の実行に関
係するかを示す。
機能:動作の基本的な機能 記述:必要な場合の動作の更に詳しい記述特にC1文の
lo(I10空間選択)ビット及びBM(バイト−モー
ド選択)ビットに注意されたい。これらのビットは、デ
ータの母線DBが命令オペランドである場合、命令の実
行の結果に影響する。その影響について詳しいことは、
この段落の前の説明を参照されたい。
加算命令、加算命令は、1つの例外があるが、16ビツ
ト数の2の補数の加算を行なう。
本多重精度動作の間、16ビツトの部分和の桁−Eげ出
力が次の部分和に対する桁上げ入力になる、状態ビット
は、動作の終りまで、有効にならない。
3レジスタ加算。2つの命令は原始オペランドについて
は同一であるか、結果の宛先が異なる。
Op: 2zyx   Av = By + A26z
yx   Bx = By + Az[;/A:w術:
St:ZCV、   :Ctl:機能:2つのスクラッ
チパッド・レジスタの内容を加算し、その結果を3番目
のレジスタに記憶する。
2レジスタ加算、2レジスタ加算命令は1つのオペラン
ド及び結果に対してレジスタを使う。他方のオペランド
は命令に黙示されている。
Op: 04zy     Az = AV + DB
05zy     Bz = Ay + 0ROCzv
     A2 = Bv + DBODzvBz=B
v+DB L/A:3i術:  St:  ZCV  :Ctl:
  TOBM機能ニスクラッチパッド・レジスタの内容
及びデータ母線を加算する。結果を2番目のレジスタに
記憶する。
Op: 44zy     Az = Ay + TR
45zy       Bz  =  Ay  +  
TR4Czy          Az  =  By
 + TR4Dzv       Bz  = By 
 +  TRL/A :算術:  St:  zcv 
 : Ctl :機能ニスクラッチパッド・レジスタ及
び一時レジスタの内容を加算する。結果を2番目のレジ
スタに記憶する。
単一レジスタ加算。単一レジスタ加算命令は1つのオペ
ランドに1個のレジスタを使う。宛先は原始オペランド
と同じレジスタ又は一時レジスタである。他方のオペラ
ンドは命令に黙示されている。
Op: 0OCz     Az = Az + MD
M00DzAz=Az+MOL 08Cz     Hz = Bz + MDM08D
zHz=Bz+MOL L/A:  St:  ZCV  : Ctl:機能ニ
スクラッチパッド・レジスタ及び乗3!/除算レジスタ
の半分の内容を加算する。
Op: IA2z  kkkk   Az = A2 
+ kkkkIAAz   kkkk    Bz  
=  Bz  +  kkkkL/A :算術:  S
t:  ZC’V:  Ctl:機能ニスクラッチパッ
ド・レジスタ内容を命令の第2のワードからの16ビツ
ト定数に加算するOp: Q17z    TR= A
z + DB097z    TR= Bz + DB
L/A:算術:  St:  ZC:V:  Ctl:
  10 BM機能ニスクラッチパッド・レジスタの内
容とデータ母線を加算する。結果をTレジスタに記憶す
る。
暗駄加算。暗黙加算命令は一時レジスタをオペランド及
び宛先として使う。他方のオペランドは命令に黙示され
ている。
Op: 1221    TR= TR+DBL/A:
  st :  ZCV  Ctl :  IOBM機
轍ニ一時レジスタの内容をDBに加算し、結果を一時レ
ジスタに記憶する。
Op: 122F    TR= TR÷ICL/A:
  St:  ZCV:  ct+ :機能ニ一時レジ
スタの内容を繰り返しカウンタに加算し、結果を一時レ
ジスタに記憶する。
論理アンド命令。アンド命令は、2つの16ビ・ノド・
オペランドの対応するビットのビット毎の論理アンドを
求める。
動作の結果がOであれば、Z状態ビットがセットされる
。そうでなければ、Zビットがリセ・、トされる。C及
びV状態ビットがリセットされる。。
3レジスタ串アンド。2つの命令は原始オペランドに対
しては同一であるが、結果かの宛先が異なる。
Op: 2zyx     AX = By AND 
A2eztx     Bx = h AND AzL
/A :論理: St:  ZCV  :  ct+ 
:機能:2つのスクラッチパ11.ド・レジスタの内容
をアンドし、結果を3番目のレジスタに記憶する。
2レジスタ・アンド。2レジスタφアンド命令は1つの
オペランド及び結果に対してレジスタを用いる。他方の
オペランドは命令に黙示されている。
Op: 04zy   Az =AV AND DB0
5zy   BX =Ay AND DBOCzy  
 Az =By AND DBO[1zv  、  B
z =Bv AND DBL/A:論理:  St :
  ZCV  Ctl :  108M機能ニスクラッ
チパッド・レジスタの内容及びデータ母線をアンドする
。結果を第2のレジスタに記憶する。
Op: 44zy    Az = Ay AND T
R45zy    Bz = AY AND TR4C
zy    Az −By AND TR4Dzy  
  Hz = By AND TRL/A :論理: 
St: zcv  Ctl:機能ニスクラッチパッド中
レジスタ及び一時レジスタの内容をアンドする。結果を
第2のレジスタに記憶する。
単一レジスタ拳アンド。単一レジスタ・アンド命令は1
つのオペランドとして単一レジスタを用いる。宛先は原
始オペランドと同じレジスタであるか或は一時レジスタ
である。他方のオペランドは命令に黙示されている。
Qp: IA2Z  kkkk   A2=AZ AN
D  kkkkIAAz  kkkk   Bz=Bz
 AND  kkkkL/A :論理:  st:  
zcv  Ctl:機能:スクラッチパ・シト−レジス
タの内容を命令の第2のワードからの16ビツト定数と
アンドする。
OP: Q1?z      TR= Az AND 
DB097z      TR−Bz AND DBL
/A:論FJ:  St:  zcv  Ctl:  
10 B14機能:スクラッチパ・ンド會レジスタとデ
ータ母線をアンドする。結果をTレジスタに記憶する。
ビットm作命令。ビット操作命令は、スクラッチパッド
及びプロセッサの個別のレジスタにある個別ビットをセ
ット、リセット及び試験する手段になる。
スクラッチパッド番ビット命令 Op:  14zy     5BTT Az(G+5
zy     RBIT Az(y)1Czy    
    5BIT  Bz(Y)1[1zy     
   RBIT  Hz(y)L/A:     St
:      Ctl:機能:表示されたスクラッチパ
ッド−レジスタのビット“°y″をセット又はリセット
する。
Op: 18zy      TBIT Az(y)I
Ezy      TBIT Bz(y)L/A:  
St:  T  Ctl:機能−表示されたスクラッチ
パッド・レジスタのビット°“y′′を試験する。試験
されたビットの状態をT状態ビットにコピーする。
Op: 118z      TR= 5BrT([]
B、z)119z      TR= SBIT(MA
RL、2>11Az      5BIT 5T(z)
11Bz      5BIT TR(z)11Cz 
     5BIT IC(Z)11Dz      
5BIT PTR(Z)11Ez      5BIT
 MDM(Z)+1Fz      5BIT MDL
(z)138z         TR= RBIT(
DB、z)199z         TR= RBI
T(MARL、z)+9Az         RBI
T 5T(z)19Hz’         RBIT
  TR(z)19Cz         RBIT 
 IC(z)19Dz        RBIT PT
R(z)j9Ez        RBTT MDM(
z)+9Fz        RBIT MDL(z)
L/A:  St:   Gtl:    10  オ
を機能二表示されたレジスタのビ・シト”z’”をセッ
ト又はリセットする。
記述:DB及びMARLの場合、表示されたビ・シトが
セント又はリセットされ、結果が一時レジスタに入る。
DB又はMARLは変わらない。
Op: 19Qz      TBIT DB(z)1
91z      TBIT MARL(z)192z
      TBIT 5T(z)+93z     
 T[T TR(z)194z      TBIT 
jC(z)195z      TBIT PTR(z
)19flz         TBIT  MDM(
z)197z         TR0T MDL(z
)L/A:   St:     ↑    :Ctl
:    IO木木機能二表示されたレジスタのビット
” z ”を試験する。試験されたビットの状態を状態
レジスタTビットにコピーする。
比較命令。比較命令は減算を行ない、結果を捨て、状態
ビットを更新する。
Op:  100z     DB−Azlolz  
   MARL −A2 104z     ST −A2 104z     TR−A2 104z     IC−Az +05z     PTR−A2 104z     MDM −Az +07z     MDL −Az lQ8z     [1B −Bz 109z     MARL −Bz loAz     ST −Bz 10Bz         TR−Bzlocz   
      IC:  −HzloDz       
  PTR−BzloEz         MIIM
  −BzloFz         MDL  −B
zL/A:    :    St 二    zcv
、   Ctl:     IOBM   **機能二
減算を行ない、状態ビットを更新する。
インクレメント及びデクレメント命令。インクレメント
及びデクレメント命令は、16ビツトの2の補数の整数
の値を1だけ変える。
スクラッチパッドーレジスタのインクレメント及びデク
1メント Op:  0042      INCA20082 
    0ECA2 084z      INCHz 086z      [lEG Hz L/A:  :  St:  zcv  : Ctl:
機能=アドレスされたスクラッチパッド・レジスタを1
だけインクレメント又はデク1メントする。
op:  1208        rNc A(IC
)1207        INCB(rC)120E
        DEC’B(IC)120F    
    DEC: B(IC)1216       
 1NCA(PTR)121?         IN
CB(PTR)121E        llECB(
PTR)121F         DECB(PTR
)L/A:   :   St:   zcv    
:   Ctl:機能:間接アドレスされたスクラッチ
パー、ド・アドレスを1だけインクレメント又はデクレ
メン]・する。
MARLインクレメント及びデクレメンI・。アドレス
されたスクラッチパッド・レジスタの内容をMARLに
コピーする。次にレジスタの値をインクレメントyはデ
ク1メントし、スクラッチパッドに書込む。この命令は
BM状態ビットのバイト又はワード状態をも限定する。
Op:  008z           MARL 
 =  Az+、  BYTE009z       
MARL = Az+、 WORDooAz     
    MARI、  = AZ−、BYTEooBz
          MARL  =  Az−、WO
RD088z            MARL  =
  Bz+、  BYTE089z         
   MARL  =  Bz+、  WORD08A
z          MARL  =  Bz−、B
YTE08B2          MARL  −B
z−、WORDL/A:    :   St:   
 ZCV、BM    :   Ctl:機能:MAR
L及びスクラッチパッド・オペランド・レジスタを1だ
けインクレメント又はデク1メントする。
MARMのインクレメント及びデク1メント。
MARMのインクレメント及びデクレメント命令は、3
2ビツトのデータ・メモリ・アドレス空間を保つのに使
われる。大抵の用途では、この命令の直前の命令が、M
ARLのバンプであって、加算器の桁上げの状態を状態
レジスタのCビットにコピーする。これらの命令は0及
桁Eげビットを加算(又は減算)する。従って、MAR
L命令の間1桁上げ(又は借り)出力があれば、MAR
Mもバンプする。これらの命令は結果をスクラッチパッ
ド・オペランド・レジスタにコピーする。
OP:  005z      MARM −Az +
 0007z      MARM = Az −00
85z      HARM = Bz + 0087
z      MARM = Hz −OL/A:  
 :  St:  zcv  :  Ctl:機能:M
ARM並びにスクラッチパッドΦオペランド・レジスタ
を1だけインクレメント又はデク1メントする。
単一レジスタ減算。単一レジスタ減算命令は1つのオペ
ランドとして単一レジスタを使い、宛先は原始オペラン
ドと同じ1/ジスタであるが又は一時レジスタである。
他方のオペランドは命令に黙示されている。
Op:  00Ez     Az = Az −MD
MooFz     Az = Az −MDL08E
z          Bz  −日2 −  MDM
08Fz     Bz = Bz −MDLL/A:
  St:  zcv  : Ctl:機能:スクラッ
チパ・ノド・レジスタから、乗算/除算レジスタの半分
の内容を減算する。
Qp:  IA3z kkkk    Az = kk
kk −A21ABz kkkk    Bz = K
KKK −BzL/A:算術 St: ZCV :  
Ctl:機能:命令の第2のワードにある16ビツト定
数から、スクラッチパッド・レジスタの内容を減算する
暗黙減算。暗黙レジスタ減算命令は一時レジスタをオペ
ランド及び宛先として使う、他方のオペランドは命令に
黙示されている。
Op:  1223     TR= TR−[IBL
//:  :  St:  zcv  :Ctl:  
IOBM機能ニ一時レジスタの内容からDBを減算し。
結果を一時レジスタに記憶する。
XOR命令。XOR命令は2つの16ビツト・オペラン
ドの対応するビットのビ・ント毎のXORを行なう。
動作の結果がOであれば、Z状態ビー2トがセットされ
る。そうでなければ、Zビットがリセットされる。C及
び■状態ビットがリセー、トされる。
3レジスタX0R Op:  5zyx      Bl = By XO
RAzL/A :論理St:  ZCV  ct+:機
能:2つのスクラッチバッド・レジスタの内容のXOR
を求め、結果を3番目のレジスタに記憶する。
2レジスタXOR,2レジスタXOR命令は1つのオペ
ランド及び結果に対してレジスタを用いる。他方のオペ
ランドは命令に黙示されている。
Op:  08zy      Az = DB XO
RAy07zy      Bz = DOXORAy
OEzy      Az = IIB XORByO
Fzv      Hz =ΩB XORayL/A:
論理St: zcv  Ctl:  10 BM機能ニ
スクラ・シシチパッドφレジスタの内容とデータ母線の
XORを求める。結果を第2のレジスタに記憶する。
Op:  48zy      Az = AY XO
RTR4?zy            Bz  = 
 Ay  XOR丁R4Ezy         Az
 = By  XORTR4Fzy         
Hz = By XORTRL/A :論理St: z
cv   Ctl:機能ニスクラッチパー2ドφレジス
タ及び一時レジスタの内容のXORを求める。結果を第
2のレジスタに記憶する。
分類されていない命令。
Op:  1243       ↑RAρL/A: 
 St:     Ctl:機能:専用場所゛? ? 
7 ? ”にトラップを行なう。トラップはサブルーチ
ンの呼出しと同様に実行される。
Op:  1235       lll5INTL/
A:  St:   Ctl: 機能:外部割込みビンが割込みを行なうことを禁止する
m  H3Pのビンの 当て 第1図及び第2図の実施例では、高速プロセッサが84
ビン装置である。物理的なビンの割当ての詳細を決定す
べきである。
H3Pのビンの記述 信号  ビン  Ilo   記述 電力及び付属機能 VcclIN   供給電圧(公称+5V)Vcc2 
2  IN   供給電圧(公称+5V)Vss   
3  IN   接地電圧CAP   4     サ
ブストレートのキャパシタ。Q、] ILのキャパシタ
をこの ピント大地の間に接続すべき である。
X15■N   クロック用の水晶発振器久方。水晶発
振器の反対側は大地 に接続する。外部の発振器に 対しても用いる。このクロッ クは内部タイマだけに使われ る。これは主処理論理回路を 制御しない。
命令メモリ IAS6OUT  命令アドレス・ストローブ。
これが出力された時、PCA (15乃至O)の命令メモリ ーアドレスが有効である。プ ロセッサは命令メモリに対す る書込み又は読取サイクルを 開始する。データが読取サイ クルでは母線IW(15乃至 0)に転送され、書込サイケ ルでは母線(15乃至)に転 送される。
ITACK  ?  IN  命令メモリの転送の確認
。有効な読取データが利用し得る 時、又は書込サイクルが完了 した時、命令メモリによって 出される。
PCAI5   x  OUT  プログラム・カウン
タのアトPCAI4   x  OUT  レスPCA
 15 (msb )乃至PCAI3   x  0I
JT  PCA  O(lsb) 、この母PCAI2
   x  OUT  線は永久的に活動している。
PCAII   x  OUT  この母線は、プロセ
ッサの命PCAIOx  OUT  令を記憶している
メモリ空間PCA9   x  0IJT  をアドレ
スする為に使われるPCA8   x  0LIT  
PCA7   x  0UT PCiA8   x  0UT PCA5   K  0UT PCA4   x  0UT PCA3   x  0UT PCA2   x  0LIT PCAI    x  0IJT PCAOx  0UT IWI5   x  IN  命令メモリのデータ母線
IWIW14   x  IN   15 (gsb)
乃至IWO(isb)IWI3   x  IN  、
読取サイクルでは、命令ワIW12   x  IN 
 −ドがこの母線を介して読取IWII   x  I
N   られる。
IWIOx   IN IW!3     x   IN !W8菫IN IN7      t   IN I誓8     x   IN IN5     x   IN IN4     x   IN IN3     x   IN IN2     x   IN IWI     x   IN IWOx   IN データ・メモリ (これらの信号はBUSY/ が出力されない時、3状態で ある。) 10/MEN  8     IOメモリ。この信号は
64にバイトのI10空間と、デ ータ・メモリのアドレス空間 で利用し得る8Gのメモリと の選択をする。
AS    9OUT  アドレス・ストローブ。これ
が出た時、母線MA  15(+asb)乃至MAO(
交sb)のアト レスが有効である、書込み又 は読取サイクルが進行する。
R/W   10    読取/書込み。AS/と同時
に出て、データ転送の方向を 示す。
IJI)S   11 0tlT  −h側及び下側デ
ータメモリl:ILDS   12 0UT  −ブ。
1側及び下側データ・ストローブは、データメモリ の最り位又は最下位バイトを 書込み又は読取るべきことを 示す為に出される。書込みサ イクルではUDS/及びLD Sが遅延して、この信号を使 ってWE/を制止形RAMに ゲートすることが出来るよう にする。
HIMA/IW  13 0[IT  上位メモリーア
ドレス、命令書込み。As/が否定である 間に出ると、プロセッサはア ドレスφビーy トM A  31(msb)乃至MA
  1B(usb)をア ドレスWi M A  15(msb)乃至MAO(愛
ab)に出す。こ の拡張アドレスは外部でラッ チすべきである。AS/が出 ている間にHIMA/IW/    MAI5が出ると
、データ、メモリ空   MAI4間からのデータ・ワ
ードが、   MA13母線D(15乃至O)を介し 
  MAI2て、命令メモリ空間に転送さ   MAI
Iれる。この信号は命令メモリ   MAIO・サイク
ルガ書込みであるか   MA9読取りであるかを判定
する為   MA8に使われる。          
 MA7DTACK  14  IN  データ転送確
認。有効な読取   MARデータが利用し得るか、或
い   MA5は書込みサイクルが完了した   MA
4時、DTACK/を出すこと   MA3により、周
辺装置又はメモリ のアドレスMA(15乃至O )又はメモリがAs/に応答 する。DTACK/は、AS /、UDS/又はLDSが否 定されるまで、否定してはな らない。
x OUT  データ・メモリ・アドレス母x OUT
  線M A 15(msb)乃至MAO(x OUT
  文sb)この母線は8Gバイトx OUT  、−
データ0メモリ空間をアト、 x 0LIT  レスす
る為に使われる。HI!OUT  MAが立た時、拡張
メモリ・!0UT7ドレスMA32乃至MAI I0UT7もその外部ラッチにロード x OUT   される。
 OUT  01lT  OUT  OUT MA2      x  OUT MAI      x  OUT MAOx  0UT 015   110  データ・メモリ・データ母線[
114110D 15(msb)乃至D 0(KLsb
)デ013    110 −夕がこの両方向母線を介
し012   110  でデータ・メモリに転送され
Dll、   Ilo  、又はデータ・メモリから転
胴OIlo 送される。命令メモリに書込D9    
 T10  むべきデータもこの母線を介DB    
 Ilo   l、て転送される。
08     l10 D5     l10 D4     l10 D3    110 D2    110 DOIlo 割込み。
RESE↑ 15 IN  RESET/TESTは多
重接続入力で/TEST       ある。低の動作
状態にある時、制御信号が不作動状態にな り、プログラム・カウンタが 破算される。RESET/TESTが15vより高くな
ると、プロセ ッサは試験の為に試験モード で動作する。
INTA   18 IN  割込みA及びBoこれら
の2INTB   171N  つの線を多重化して、
2つのマスク可能な割込み及び1つ のマスク不能の割込み(NM I)を作る。INTAは単一 の命令を使って、直接的に試 験することも出来る。
母線の調停 REQ   18 OUT  要求。REQ/は、デー
タ・メモリ・アドレス空間をアクセス するのを待っている時に、プ ロセッサによって出される。
REQ/は、GR/REL/が出る時に否定される。
GR/REL  191N  許可/開放、許可/開放
がREQ/が表われている間に出力さ れると、プロセッサはデータ ・メモリ・アドレス空間に対 する母線マスクになる。BU SYが出ている間に許可/開 放が出力されると、プロセラ サは或いは便利な時刻に、デ ータ、メモリ・アドレス空間 の制御作用を放棄し、BUS Yを否定にする。
BIISY   200UT  使用中。BUSYは、
このプロセッサが母線マスクである ことを他の潜在的な母線マス クに表示する。BUSYは、 その3状態データ・メモリ母 線駆動器が性能される前に出 る。母線駆動器が不作動にさ れた後、BUSYは否定にな る。
付記1.上に述べた母線調停制御ピンは、データ・メモ
リ・アドレス空間の一部分又は全部のアクセスを制御す
る為に使われる。命令メモリ・アドレス空間は全く影響
がない。
MARLからTRインクレメント及びデクリメントへ。
OP:  1220     TR= MARL +1
1222     TR= MARL −1L/A: 
 St:  zcv  :  Ctl:機能:MARL
の内容をインクレメント又はデクリメントし、結果を一
時レジスタに入れる。MARLの内容は変わらない。
レジスタのインクレメント及びデクリメント。
Op:  1224     1NCIC1225IN
CPTR 1228[lEClG 1227      DECPTR L/A:    St:    zcv   Ctl:
機能:工C又はPCRをインクレメント又はデクリメン
トする。
移送命令。
移送命令はオペランドを1つの場所から別の場所にコピ
ーする。
スクラッチパッドからスクラッチパッドへの移送。こう
いう命令は1つのスクラッチバッド拳レジスタの内容を
別のスクラッチ・レジスタにコピーする。
OP+  40zy      Az=Ay41zy 
     Bz = By 48zy      Az = By 49zy      Bz = By L/A:  :  St:  zcv  :  Ctl
:機能:オペランドを宛先にコピーする。状態が更新さ
れることに注意されたい。
OP:  014z     A(1G)= Az01
5z     B(IC) = Bz094z    
 A(IC) = Bz095z       ’B(
IC)=  BzL/A:    :    St: 
   :    Ctl:機能:間接的にICにより、
オペランドを宛先にコピーする。
Op:  IA4z      Az = A(IC)
lA5z      Az = A(IC)IACz 
     Bz = A’(ICIADz      
Bz = B(IC)L/A:  :  St:  :
  Ctl:機能:オペランドをICによって間接的に
宛先にコピーする。
離散的なレジスタからスクラッチパッドへの移送。こう
いう命令はプロセッサの離散的なレジスタの内容をスク
ラッチパッド・レジスタに移送する。原始オペランドが
PTRである場合、16ビツト・オペランドの上側の8
ビツトが0であることに注意されたい。
Op:  180z     Az = DB   1
1181z     Az = MARL182z  
   Az = ST 183z          Az  =  TR18
4z          Az  −IC185z  
        Ax  =  PTR18Elz  
        Az  =  MUM187z   
      Az  =  MDL1882     
    Bz = l1llB189z       
   Hz  =  MARL18Az       
   Bz  =  5T18Bz         
Bz  =  TR18C2BZ  =  IC 18Dz          Bz  =  PTR1
8Ez          Bz  =  MDM18
Fz          Bz  =  MDLIA8
z         Az  =  HARMIAEz
          Bz  =  HARML/A:
    St:    Ctl:    ro  BM
   本本機能:離散的なレジスタをスクラッチパッド
・レジスタにコピーする。
記述二制御ビットの依存性は“木本°′を持つ命令に対
してだけである。
−Op:  120CABC)=TR 1200B(IC) = TR 121CA(PTR’) = TR 1210B(PTR) = TR L/A:  St:  Ctl: 機能:TRを間接的にスクラッチパッドΦレジスタにコ
ピーする。
Op+  +208      A(IC) = IW
(TR)1209     8(IC) = IW(T
R)+218      A(PTR) = IW(T
R)1218      B(PTR) = IW(’
rR)L/A:  St:  Ctl: 機能:命令メモリの、一時レジスタによって間接的にア
ドレスされたワードをスクラッチパッド内の間接的にア
ドレスされた場所にコピーする。
TRにアドレスされたIWをもロードする。
OP:  IAOz      Az = IW(TR
)IAOz     Bz = IW(TR)L/A:
    St:    Ctl:機能ニ一時レジスタに
よって間接的にアドレスされた命令メモリのワードをス
クラッチパッド−レジスタにコピーする。TRにアドレ
スされたIWをロードする。
スクラッチパッドに定数をロードする命令。この命令は
スクラチパッド・レジスタに定数をロードする。
Up:  IAlz kkkk    A2 = KK
KKIA9z kkkk    Bz = KKKK〜 L/A:  St:  Ctl: 機能:命令の第2の16ビー、ト・ワードをスクラッチ
パッド・レジスタにコピーする。
Op:  120A kkkk    A(IC)= 
kkkk1208 kkkk    B(IC) = 
kkkk+21A kkkk    A(PTI?) 
= kkkk121B kkkk    A(PTR)
 = kkkkL/A:  St:  Ctl: 機能:命令の第2の16ビツトーワードをスクラッチパ
ッド内の間接的にアドレスされた場所にコピーする。
スクラッチ八トドから離散的なレジスタへの移送。この
命r令はスクラッチパッド・レジスタの内容をプロセッ
サの離散的なレジスタに移送する。
一般的な場合に対する例外がある。
本宛先が外部データ母線であれば、IO状態ビットの状
態に応じて、宛先はI10レジスタ又はデータ・メモリ
の位置になる。BMビットがバイトCモードであれば、
オペランドはスクラッチパ、シト・レジスタの下側のバ
イトである。
本宛先がMARLであれば、IO状態ビットの状態に応
して、MARL又はI10アドレス・レジスタに外部か
らロードされる。
本宛先がMARMであれば、MARMのビット15(符
号)もスピルオーバ・レジスタにコピーされる。MD故
障ビットが破算される。
Op:  016z      MEN=Az   ’
1018z      ’MARM = Az  *木
019z      MARL = AzolAz  
    Sτ= Az QIBz           TR=  AzolC
z           IC=  Azol[1z 
         PTR=  AzolEz    
      MDM  =  AzolFz     
      MDL  =  Az096z     
     MEM  =  Bz     1に098
z          MARM=Bz    110
99z          MARL  =  Bz0
9Az           ST  =  Bz09
Bz          TR=  Bz09Cz  
        IC=  Bz09Dz      
    PTR=  Bz09Ez         
 MDM  =  Bz09Fz          
MtlL  =  BzL/A:     St:  
   Ct:    IOBM   *木機能ニアドレ
スされたスクラッチパッドφレジスタの内容を指示され
た離散的なレジスタにコピーする。
記述二制御ビットに対する依存性は“木本”を持つ命令
に対してだけである。
OP:  1202      TR=A(IC)+2
03      TR= B(IC)1212    
  TR= A(PTR)+213      TR=
 B(PTR)L/A:   St:   Ct: 機能二間接的にアドレスされたスクラッチパッド・レジ
スタの内容を一時レジスタにコピーするOp:  01
0z      TRL=Az011z       
  TRM  =  Az090z  、      
  TRL  =  Bz091z         
 TRM  =  82L/A:     St:  
   Ctl:機能ニアドレスされたスクラッチパッド
・レジスタの下側又は上側バイトを一時レジスタの対応
するバイトにコピーする。
Op:  012z      IT1=Az013z
      IT2− Az 092z      ITI = Bz093z   
       IT2  =  HzL/A:    
 St:     Ctl:機能:アドレスされたスク
ラウチパッド会レジスタの内容を期間タイマ1又は2に
コピーする。
レジスタに定数をロードする命令。この命令はレジスタ
に1ワード命令にある4又は8ビツトの定数、又は2ワ
ード命令の第2のワードをロードする。
Op: 1238 kkkk     MARL = 
kkkk1239 kkkk     IC= kkk
k123A kkkk     HARM = kkk
k123B kkkk     PTR= kkkkL
/A:   St:   Ctl: 機能:指示されたレジスタに第2の命令ワードからの1
6ビツトの定数をロードする。
Op: 13kk        TRM= kklB
kk        TRL = kkL/A:   
St:   Ctl: 機能ニ一時レジスタの上位又は下位の半分に8ピントの
定数をロードする。
Op:  128K            PREC
=  k127K            PAGE 
 =  k  草本L/A:st二PAGlj*Gtl
: 機能:命令速度、多重精度又はスクラッチパッドeペー
ジ・レジスタに4ビツトの定数をロードする。
分類されていない移送命令。これらの命令は種々のレジ
スタの間のデータの移送を行なう。
Op:  1237     5WAP TRM、↑R
LL/A:  St:   Ctl: 機能ニ一時レジスタのバイトを交換する。
OP:  1228      MARL=DB122
9           1C冨 DB1220   
        TR=  DBL/A:  St: 
  Ctl:  108M機能:指示されたレジスタに
データ母線からロードする。
Op:  122A       MARL = TR
122CTR= MARL L/A:  St:   Ctl: 機能:MARL及び一時レジスタの間でデータを移送す
る。
Op:  122E      TR=OL/A:  
St:   Ctl: 機能−一時レジスタを破算する。
Op:  122B      MEM=TRL/A:
  St:   (:tl:  To BM機能ニ一時
レジスタの内容をデータ母線にコピーする。
記述:“宛先はI10レジスタ又はデータ・メモリの何
れかである。BMビy)がバイト・モードを表示する場
合、オペランドは一時レジスタの下側バイトである。
Op:  122B       IW(TR) = 
DBL/A:  St:   Ctl: 機能:データ母線の内容を一時レジスタを介して間接的
に命令メモリにコピーする。
乗算/除算命令、全ての乗算命令はMDM/MDLレジ
スタを宛先として用い、除算命令はそれらを被除数の出
所として使う。全ての動作は符号つき乗算(SM)状態
ビットによって行なわれる、このビットがセットされて
いる時、オペランド及び結果が2の補数の整数として扱
われる。ビットがセットされていなければ、それらは符
号なしの数として扱われる。オーバフローが起るか、或
いは0による除算を試みた場合、MD状態ビー、トがセ
ットされる。
乗算命令。これらの命令は単純な乗算を行なうOP: 
 1azy       Az 本ByL/A:  S
t:  MD   Ctl:  98機能:2つのスク
ラッチパッド・オペランドを乗算し、結果をMDM/M
DLに記憶する。
Op:  12Bz       Az 末DB+2C
z       Bz 本DB L/A:  St:  MD   Ctl:  SK 
IG BM機能ニスクラッチパッド・オペランドにDB
の内容を乗算し、結果をMDM/MDLに記憶するOP
:   1282           A2  零 
DB12Cz            Bz  本 D
BL/A:St:)畷nCtl:514ToB14機能
ニスクラッチパッド・オペランドにDBの内容を乗算し
、結果をMDM/MDLに記憶する乗算及び累算命令、
この命令は2つのオペランドを乗算し、MDM/MDL
の現在の内容に加算し、その結果をMDM/MDLに記
憶する。
Op:  IFzy              Az
  本+  ByL/A:  St:  MD   C
tl:  98機能:2つのスクラッチパッド・オペラ
ンドを乗算し、MI)M/MDLに累算する。
Op:  129z             Az 
 本+  DB12Dz       Hz 2+ D
BL/A:  St:  MD   Ctl:  SM
 10 BM機能ニスクラッチパッド・オペランドにD
Bの内容を乗算し、MDM/MDLに累算する。
OPL  :  1204          A(I
C)  本十 DB1205      B(IC)本
+[lB1214           A (PTR
)  本命 〇B1215         B(PT
R)*+  DBl、/A:    !3t:   M
D    Ctl:   SM 10 88機能:間接
的にアドレスされたスクラッチパッド・オペランドにD
Bの内容を乗算し、MDM/MDLに累算する。
除算命令。
Op: 12Az       MO/ A212Ez
       MU / BzL/A:  St:  
MD   Ctl:  98機能:MDM/MDLをス
クラ・ンチパヤド・オペランドで除算する。商をMDL
に記憶し、剰余をMDMに記憶する。
論理オア命令。オア命令は2つの16ビツト・オペラン
ドにある対応するビー7トのビット毎のオアを行なう。
Z状態ビットは、動作の結果がOであればセットされる
。そうでなければ、Zビットがリセットされる。C及び
V状態ビットがリセ・ントされる。
3レジスタeオア。2つの命令は原始オペランドに関し
て同一であるが、結果の宛先が異なる。
OP:  3zyx      AX =  Az O
RBy7zyx      Bx =  Az ORB
yL/A:論理St:  ZCV  Ctl:機能:2
つのスクラッチパッド拳レジスタの内容をオアして、第
3のレジスタに記憶する。
2レジスタ・オア。2レジスタ・オア命令は1つのオペ
ランド及び結果に対してレジスタを使う。他方のオペラ
ンドは命令に黙示されている。
Op: 02zy       Az = Ay OR
DB03zv       Bz = Ay ORDB
OAzy       Az = By ORDBOB
zy     、  Bz = By ORDBL/A
 :論理St:  zcv  Ctl: IOBM機能
ニスクラッチパッド・レジスタの内容とデータ母線をオ
アする。結果を第2のレジスタに記憶する。
Op: 42zy       Az = Ay OR
TR43zv       Bz = Ay ORTR
4Azy       Az = By ORTR4B
zy            Bz  =  By  
ORTRL/A :論理 St:  zcv  Ctl
:機能ニスクラッチパッド会レジスタ及び一時レジスタ
の内容をオアする。結果を第2のレジスタに記憶する。
単一レジスタ・オア、単一レジスタ・オア命令は1つの
オペランドとして1個のレジスタを使う。宛先は原始オ
ペランドと同じレジスタである。
他方のオペランドは命令に黙示されている。
Op+ IA3z kkkk     Az = Az
 ORkkkkIABz kkkk     Bz =
 Bz ORkkkkL/A:論理St:  ZCV 
 Ctl:機能ニスクラッチパッド番レジスタの内容を
命令の第2のワードからの16ビツトとオアする。
プログラム制御命令。プログラム制御命令は、プログラ
ム・カウンタにイ直をロードすることにより、実行され
る命令の順序を修正する。
サブルーチン呼出し命令。ポインタをインクレメントし
、PC及びSTレジスタの現在の内容を、スクラッチパ
ッドの、PTHによって定められた場所にあるスタック
に押込む、PC値をスクラッチパッドAにロードし、状
態をスクラッチパッドBにロードする。PCが指示され
た出所からロードされ、命令の実行が新しいPCアドレ
スから続けられる。
Op: 1230        JUMPSUB T
RL/A:  St:   Ctl: 機能二TR内の場所に対するサブルーチンの呼出しを行
なう。
Op: 1231 zzzz     GO9UB z
zzzL/A:  !lit:   Ctl:機能:命
令の第2のワードによって定められたアドレスに対する
サブルーチンの呼出しを行なうOp: Bddd   
     5GO9UB dddL/A:  St: 
  Ctl: 機能:サブルーチンの呼出しを行なう、命令の下側の1
2ビツトを2の補数の変位として扱い、これがPCの現
在値に加算されて、目標アドレスになる。
サブルーチン戻り命令。ポインタによって間接的にアド
レスされたスクラッチパッドA内の値をプログラム・カ
ウンタにロードする。状態つき戻り命令が、スクラッチ
パッドB内の値を状態レジスタにコピーする。スクラッ
チパッドの読取後ポインタをデクレメントする。命令の
実行がPCにロードされた値から続けられる。
Op: 1232       RETtlRNL/A
:  St:   Ctl: 機能:STを復元せずに、サブルーチンの戻りを行なう
Op: 1233        RETURNSTL
/A:  St=  All bits   Ctl:
機能:サブルーチンの戻りを行ない、STを復元する。
16ビツト・ブランチ命令。この命令は64にロードリ
アドレス空間内の任意の場所に対するブランチが出来る
ようにする。
Op: 1234       JUMP TRL/A
:    St:     Ctl:機、能ニ一時レジ
スタ内の場所への飛越しを行なう。
12ビツト・ブランチ命令、この命令は命令の下側の1
2ビツトを2の補数の変位として取扱い、これがPCの
現在値に加算されて目標アドレスになる。
(b+: 8ddd      BRANCHdddL
/A:  St:   Ctl: 機能:PCの現在値に対して無条件飛越しを行なう。
Op: 9ddd        BRIITCddd
L/A:  St:   Ctl: 機能二ICをデクリメントする6結果がOであれば、P
Cの現在値に対する飛越しを行なう。結果が0でなけれ
ば、現在のPCから続ける。
Op: Addd       BRPERdddL/
^:  St:   Ctl: 機能;外部同辺試験ピンを試験する。出ていれば、PC
の層、在僅に対する飛越しを行なう、そうでなければ、
現在のPCから続ける。
10ビツト・ブランチ命令。全てのlOビット・ブラン
チ命令は試験の条件による。各々のブランチは、試験結
果が真(状態ビットが出る)又は虚偽(状態ビットが出
ない)ことによって表わすことが出来る。ブランチをす
る場合、ブランチはPCの現在値に対するものである。
Op: C0dd      BZ ddC4dd  
    BCdd C8dd      BT dd CCdd      BMD dd DOdd      BV dd L/A:  St:   Ctl: 機能:対応する状態ビットがセ・シトされていれば、相
対ブランチを行なう。
Op: EOdd      BNZ ddE4dd 
     BNCdd E8dd      BIT dd ECdd      BNMD dd FOdd      BNV dd L/A:      St:   Ctl:機能:対応
する状態ビー2トがセー、トされていなければ、相対ブ
ランチを行なう。
Op: D4dd      BZAICddFddd
      BFZA[: ddL/A:  St: 
 zcv  CTI:機能:BZAIC Zビットを試験し、ICをデクリメントする。
ZがセットされていてIC=0であれば、相対ブランチ
を行なう。ICのデクリメントに基づ(Xて状態を更新
する。
BFZAIC: BZAICの逆。
D8dd        BCAICddF8dd  
      BFCAICddL/A:  St:  
zcv  CTl:機能:BZAIC:Cビットを試験
し、ICをデクリメントする。Cがセ−y)されていて
、IC=0であれば、相対ブランチを行なう。ICのデ
クリメントに基づいて状態を更新する BFCAIC:  BCAICの逆 DCdd             BZCddFC,
1d            BFZCddL/A: 
  St:        CTI:機能: BZC:
 Z又はCビットがセットされていれば、相対ブランチ
を行なう。
BFZC: BZCの逆。
シフト命令:シフト命令はオペランドを1ビット位置だ
けシフトさせる。シフトして出たビットが桁りげビット
にロードされ、その為それを試験することが出来、或い
は多重精度シフト動作に使うことが出来る。多重精度シ
フトでは、普通は空白になるビットが、その代りに桁上
げビットからロードされる。この桁上げビットが前の命
令でロードされたものである。
MDM/MDLの16ビー7トφシフトもある。
論理スクラッチバッド・レジスタΦシフトOp:  0
Q2z       SI’tL Az082z   
   SRL Hz L/A:論理St:  zcv  :  CTI:機能
ニスクラッチパッド・レジスタの右シフトを行ない、C
状態ビットをレジスタからシフトしたビットに等しいと
おく。
記述:シフト結果がOであれば、Z状態ビットがセット
される。多重精度シフトを行なわない場合、ビット15
にOをロードする。その場合、C状態ビットが所定位置
にシフトする。
Op:  003z       SLCAz083z
       SLCHz L/A:論理St:  zcv  :  CT1:機能
:オペランドの左シフトを行ない、オペランドからシフ
トして出たビット(ビット15)4空白位置(ビット0
0)にコピーする。シフトしたビットをC状態ビットに
コピーする。オペランドがOであれば、Z状態ビットが
セットされる。
算術スクラッチバッド・レジスタ番シフト。
Op:  002z       SRA Az082
z       SRA Bz L/A:算術St:  ZCV  :  CTI:機能
ニスクラッチパッド赤レジスタの右シフトを行ない、C
状態ビットをレジスタからシフトしたビットに等しいと
おく。
記述:シフト結果がOであれば、Z状態ビットがOに設
定され、■ビットがリセットされる。シフト前の符号の
値(ビー)1’15)がビット15にコピーされる。
Op:  003z       SLA AZ083
z       SLA Hz L/A:算術St:  zcv  :  CTI:機能
ニスクラッチパッド・レジスタの左シフトを行ない、C
状態ビットをレジスタからシフトしたビットに等しいと
おく。ビット00をOに設定する。
記述:シフト結果が0であれば、Z状態ピー/ トをO
に設定する。シフトによって符号の状態(ビット15)
が変化すれば、Vビットをセットする乗算/除算レジス
タ・シフト。
Op:   123CSL  M[1M123D   
    SL MDL 123E            SRMDM123F
            SRMDLL/A :論理S
t:  ZCV  :  CTI:機能二指示されたオ
ペランドの論理シフトを行ない、C,t1@ビットをレ
ジスタからシフトしたビットに等しいとおく。
記述:空白ビット位置を0に設定する。シフト結果が0
であれば、Z状態ビットがセットされるOp: 123
0     SL MDM+230      9L 
MDL L/A :算術St:  zcv  :  CTI:機
能二指示されたオペランドの算術シフトを行ない、C状
態ビットをレジスタからシフトしたビットに等しいとお
く。
記述:空白ビット位置をOに設定する。シフト結果がO
であれば、Z状態ビットがセットされる、シフトによっ
て符号の状8(ピッ) l 5)が変化すれば、■ビッ
トがセットされる。
Op:  123E       SRM[1M123
F            SRMDLL/A :算術
 St:  ZCV  :  CTI:機能:指示され
たオペランドの算術シフトを行ない、C状態ビー、トを
レジスタからシフトしたビットに等しいとおく。
記述:シフト結果が0であれば、Z状態ビットがOに設
定され、Vビットがリセットされる。シフト前の符号の
値(ビット15)がビット15にコピーされる。
Op:  1238       SRMD、 1BL
/A:  St:   :  CT1:機能ニスピルオ
ーバ/DMD/MDLを16だけ右に算術的にシフトす
る。
減算命令、減算命令は16ビツト数の2つの補数の減算
を行なうが1つの例外がある。
本多重精度動作の間、16ビツトの部分差からの桁上げ
が次の部分差に対する桁Eげ入力になる動作の終りまで
、状態ビットは有効ではない。
3レジスタ減算、2つの命令は原始オペランドに対して
同一であるが、結果の宛先が異なる。
Op:   3zyx            Az 
 =  Az  −By5zyx          
  Bll  =  By  −A27zyx    
       Bz  =  Az  −ByL/A 
:算術St:  zcv  :  CTI:機能=2つ
のスクラッチパッド・レジスタの内容を減算し、結果を
第3のレジスタに記憶する。
2レジスタ減算、2レジスタ減算命令は、1つのオペラ
ンド及び結果に対してレジスタを用いる。他方のオペラ
ンドは命令に黙示されている。
Op:  02zy      Az = Ay−DB
03zy      Bz = Ay −DB08zy
      Az = DB −A27zyx    
 Bz = !IIB −At0A2マ     A2
 = BマーDBOBzy      Hz = By
 −DBOEzy      Az = DB −By
OFzy      Bz = DB −ByL/A 
:算術  St:  zcv  CTI:  IOBM
機能ニ機能ニスクラッチパージスタの内容及びデータ母
線を減算する。結果を第2のレジスタに記憶する。
OP:  42zy      Az’= At −T
R43zy      Bz = Ay −TR4Bz
y      Az = TR−A27zyx    
 Bz = By −14Azy      Az =
 By −TR4Bzy      Bz = By 
−TR4Ezy      Az = TR−By4F
zy      Bz = TR−ByL/A :算術
St:  ZCV  CTI:機能ニスクラッチパー、
ド拳レジスタ及び一時レジスタの内容を減算する。結果
を第2のレジスタに記憶する。
【図面の簡単な説明】
第1A図〜第1B図はこの発明の高速プロセ9すを用い
た計算システムのブロック図、第2A図〜第2B図はこ
の発明の高速プロセー、すのブロック図、第3図は命令
の実行を例示する波形図、第4A図〜第4B図は第2A
図〜第2B図のプログラム会カウンタのブロック図、第
5A図〜第5B図は第2A図〜第2B図に示したレジス
タのブロック図、第6A図〜第6B図は第2A図〜第2
B図のスクラッチパッド・メモリのアドレス選択器のブ
ロック図、第7A図〜第7B図は第2A図〜第2B図の
オペランド選択器のブロック図、第8A図〜第8B図は
第2A図〜第2B図の算術論理装置のブロー、り図、第
9A図〜第9B図は第2A図〜第2B図の乗算/除算論
理回路のブロック図、第10図は第2A図〜第2B図の
メモリ拳アドレス・レジスタのブロック図、第11図は
第2A図〜第2B図の命令デコード論理回路の2つ部分
のブロック図、第12図は第2A図〜第2B図のピコシ
ーケンサ論理回路の状態図、第13図はこの発明の乗算
/除算回路の乗算を示す流れ図、第14図はこの発明の
乗算の論理プロiり図、第15図はこの発明の乗除算器
の乗算/除算を示す流れ図、第16図はこの発明の乗算
/加算を示す論理ブロック図、第17図はこの発明の除
算を示す流れ図、第18図はこの発明の除算を示す論理
ブロック図である。 特許出願人 テキサスインスッルメンツインコーポレイ
テッド 図面の浄書(内容に変更なし) ぽ Fl’g、/8 Ft’g、// Ft’g、/6B Ft’g、/7 手続補正書(方式) 昭和60年7月/l>日

Claims (4)

    【特許請求の範囲】
  1. (1)高速プロセッサ用乗除算器に於て、符号つき又は
    符号なし動作を検出する符号つき検出手段と、乗算を行
    なう手段と、 乗算及び加算を行なう手段と、 除算を行なう手段と、 乗算/除算論理回路に2つの引数を加える手段と、前記
    引数を乗算するか、乗算及び加算するか、或いは除算す
    るかを決定する手段と、 を有する乗除算器。
  2. (2)特許請求の範囲(1)に記載した乗除算器に於て
    、乗算を行なう手段が、前記乗除算器に加えられた引数
    の内の1つにブース・アルゴリズムを実施するブース・
    アルゴリズム方法で構成されている乗除算器。
  3. (3)特許請求の範囲(2)に記載した乗除算器に於て
    、乗算及び加算が、剰余ビットを下位項に設定すること
    、並びに前記ブース・アルゴリズムにもう1回の加算の
    繰返しを行なう手段を含んでいる乗除算器。
  4. (4)特許請求の範囲(1)又は(2)に記載した乗除
    算器に於て、除算を行なう手段が復元形除算を実施する
    復元手段を有する乗除算器。
JP60077508A 1984-04-11 1985-04-11 乗除算器 Pending JPS61836A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/598,941 US4665500A (en) 1984-04-11 1984-04-11 Multiply and divide unit for a high speed processor
US598941 1984-04-11

Publications (1)

Publication Number Publication Date
JPS61836A true JPS61836A (ja) 1986-01-06

Family

ID=24397565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60077508A Pending JPS61836A (ja) 1984-04-11 1985-04-11 乗除算器

Country Status (2)

Country Link
US (1) US4665500A (ja)
JP (1) JPS61836A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119148A (ja) * 1990-09-20 1994-04-28 American Teleph & Telegr Co <Att> 演算回路
US5742301A (en) * 1994-05-20 1998-04-21 Canon Kabushiki Kaisha Ink jet printing method and apparatus
EP4219699A1 (en) 2013-12-12 2023-08-02 The Broad Institute, Inc. Engineering of systems, methods and optimized guide compositions with new architectures for sequence manipulation

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4811270A (en) * 1985-10-17 1989-03-07 Hughes Aircraft Company Merged CCD/MOS integrated circuit
JP2552738B2 (ja) * 1989-09-19 1996-11-13 富士通株式会社 データ処理装置
US5088146A (en) * 1990-06-28 1992-02-18 Polymer Technology Corporation Contact lens cleaning and conditioning pouch and method of use
US6173305B1 (en) 1993-11-30 2001-01-09 Texas Instruments Incorporated Division by iteration employing subtraction and conditional source selection of a prior difference or a left shifted remainder
US5644524A (en) * 1993-11-30 1997-07-01 Texas Instruments Incorporated Iterative division apparatus, system and method employing left most one's detection and left most one's detection with exclusive or
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5446651A (en) * 1993-11-30 1995-08-29 Texas Instruments Incorporated Split multiply operation
US5644522A (en) * 1993-11-30 1997-07-01 Texas Instruments Incorporated Method, apparatus and system for multiply rounding using redundant coded multiply result
US5442581A (en) * 1993-11-30 1995-08-15 Texas Instruments Incorporated Iterative division apparatus, system and method forming plural quotient bits per iteration
US5673407A (en) * 1994-03-08 1997-09-30 Texas Instruments Incorporated Data processor having capability to perform both floating point operations and memory access in response to a single instruction
US5764558A (en) * 1995-08-25 1998-06-09 International Business Machines Corporation Method and system for efficiently multiplying signed and unsigned variable width operands
US5870550A (en) * 1996-02-26 1999-02-09 Network Engineering Software Web server employing multi-homed, moldular framework
US8117298B1 (en) 1996-02-26 2012-02-14 Graphon Corporation Multi-homed web server
US6157647A (en) * 1996-11-06 2000-12-05 3Com Corporation Direct addressing between VLAN subnets
US5880984A (en) * 1997-01-13 1999-03-09 International Business Machines Corporation Method and apparatus for performing high-precision multiply-add calculations using independent multiply and add instruments
US6286346B1 (en) 1998-04-30 2001-09-11 Medtronic, Inc. Interruptable multiply and/or divide operations for use with an interrupt in a medical device processor
DE10129033B4 (de) * 2000-08-11 2006-12-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Programmierbarer Dividierer und sein Dividier-Verfahren
JP2002149396A (ja) * 2000-11-07 2002-05-24 Hitachi Ltd データプロセッサ、半導体集積回路及びcpu
US20040193847A1 (en) * 2003-03-31 2004-09-30 Lee Ruby B. Intra-register subword-add instructions
US7853636B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit for convergent rounding
US7860915B2 (en) 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US7849119B2 (en) * 2003-12-29 2010-12-07 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit
US7844653B2 (en) * 2003-12-29 2010-11-30 Xilinx, Inc. Digital signal processing circuit having a pre-adder circuit
US7853632B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Architectural floorplan for a digital signal processing circuit
US7853634B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a SIMD circuit
US7840630B2 (en) * 2003-12-29 2010-11-23 Xilinx, Inc. Arithmetic logic unit circuit
US7840627B2 (en) * 2003-12-29 2010-11-23 Xilinx, Inc. Digital signal processing circuit having input register blocks
US7865542B2 (en) 2003-12-29 2011-01-04 Xilinx, Inc. Digital signal processing block having a wide multiplexer
US7870182B2 (en) * 2003-12-29 2011-01-11 Xilinx Inc. Digital signal processing circuit having an adder circuit with carry-outs
US7882165B2 (en) 2003-12-29 2011-02-01 Xilinx, Inc. Digital signal processing element having an arithmetic logic unit
US8930434B2 (en) * 2005-09-15 2015-01-06 Finisar Corporation Integrated multiply and divide circuit
US8543635B2 (en) * 2009-01-27 2013-09-24 Xilinx, Inc. Digital signal processing block with preadder stage
US8479133B2 (en) * 2009-01-27 2013-07-02 Xilinx, Inc. Method of and circuit for implementing a filter in an integrated circuit
US8478969B2 (en) 2010-09-24 2013-07-02 Intel Corporation Performing a multiply-multiply-accumulate instruction
US9514087B2 (en) * 2013-11-06 2016-12-06 International Business Machines Corporation Dynamic data collection communication between adapter functions

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1053686A (ja) * 1964-07-22
US3761698A (en) * 1972-04-24 1973-09-25 Texas Instruments Inc Combined digital multiplication summation
US4153938A (en) * 1977-08-18 1979-05-08 Monolithic Memories Inc. High speed combinatorial digital multiplier
JPS55103642A (en) * 1979-02-01 1980-08-08 Tetsunori Nishimoto Division unit
US4238833A (en) * 1979-03-28 1980-12-09 Monolithic Memories, Inc. High-speed digital bus-organized multiplier/divider system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119148A (ja) * 1990-09-20 1994-04-28 American Teleph & Telegr Co <Att> 演算回路
US5742301A (en) * 1994-05-20 1998-04-21 Canon Kabushiki Kaisha Ink jet printing method and apparatus
EP4219699A1 (en) 2013-12-12 2023-08-02 The Broad Institute, Inc. Engineering of systems, methods and optimized guide compositions with new architectures for sequence manipulation

Also Published As

Publication number Publication date
US4665500A (en) 1987-05-12

Similar Documents

Publication Publication Date Title
JPS61836A (ja) 乗除算器
US4736317A (en) Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors
US4577282A (en) Microcomputer system for digital signal processing
US4467444A (en) Processor unit for microcomputer systems
US4562537A (en) High speed processor
US4713748A (en) Microprocessor with block move instruction
US4514805A (en) Interrupt operation in systems emulator mode for microcomputer
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
JPH02500393A (ja) データフロー処理素子、マルチプロセッサ、およびプロセス
EP0185215A2 (en) Forth-like language microprocessor
US4498135A (en) Microcomputer with accumulator addressing
US4713750A (en) Microprocessor with compact mapped programmable logic array
GB1575214A (en) Floating point data processor
JPS585847A (ja) 命令ブランチ機構
JPH08234962A (ja) 24ビットおよび16ビット算術演算の双方を実行するための装置および方法
JPH026091B2 (ja)
US3675214A (en) Processor servicing external devices, real and simulated
US4608634A (en) Microcomputer with offset in store-accumulator operations
EP0303009A2 (en) Signal generator for circular addressing
KR0142334B1 (ko) 확장된 비트 슬라이스 프로세서 산술논리 연산 유니트
US5247471A (en) Radix aligner for floating point addition and subtraction
US4533992A (en) Microcomputer having shifter in ALU input
JP3369204B2 (ja) プログラマブルコントローラ
JPS6124729B2 (ja)
US4654786A (en) Data processor using picosquencer to control execution of multi-instruction subroutines in a single fetch cycle