JPS5829538B2 - 浮動小数点演算装置 - Google Patents

浮動小数点演算装置

Info

Publication number
JPS5829538B2
JPS5829538B2 JP53056481A JP5648178A JPS5829538B2 JP S5829538 B2 JPS5829538 B2 JP S5829538B2 JP 53056481 A JP53056481 A JP 53056481A JP 5648178 A JP5648178 A JP 5648178A JP S5829538 B2 JPS5829538 B2 JP S5829538B2
Authority
JP
Japan
Prior art keywords
bit
address
section
multiplicand
terminals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP53056481A
Other languages
English (en)
Other versions
JPS5421141A (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.)
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Original Assignee
HANEIUERU INFUOOMEISHON SHISUTEMUSU 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 HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc filed Critical HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Publication of JPS5421141A publication Critical patent/JPS5421141A/ja
Publication of JPS5829538B2 publication Critical patent/JPS5829538B2/ja
Expired 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
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B75/00Other engines
    • F02B75/02Engines characterised by their cycles, e.g. six-stroke
    • F02B2075/022Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
    • F02B2075/027Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four
    • 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/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3832Less usual number representations
    • G06F2207/384Octal
    • 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/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3832Less usual number representations
    • G06F2207/3844Hexadecimal
    • 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/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3896Bit slicing

Landscapes

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

Description

【発明の詳細な説明】 (関連特許) 1、−1974年6月18日発行のA−A・パーロフス
キ(Perlowski )等の米国・特許第3,81
8,203号「マトリックス・シフタ」。
ハネウェル社に譲度。
2.1976年11月23日発行のF・■・カツサリノ
(Ca5sar 1no)J r−等の米国特許第3.
993,981号「データ処理システムにおけるデータ
転送を処理する装置」。
本文中に示す譲受人と同じ譲受人に譲渡。
本発明は、2逆打号形態で表示される数字に対する浮動
小数点演算を行うための装置に関し、特に多重記憶域を
含むマイクロプロセサ・チップを用いて浮動小数点演算
を行うための装置に関する。
従来技術は、最初オペランドの約数の総数の百分比を生
成し、これ等を記憶し、予め記憶された倍数の選択され
た組合せから残りの倍数を生成する乗算演算を行う多く
の方法を開示している。
米国特許第3,293,419号はこのタイプの構成を
示すものである。
米国特許第3,641,331号は、予め定めた数の倍
数を生成記憶し、選択された予め記憶された倍数につい
て1つの演算を行う事により残りの倍数を生成する装置
を提供する。
この特許の装置は更に容易に構成でき乗算演算を行うの
に必要な時間を短縮できるが、大規模集積回路LSI又
は中規模集積回路MSIにおける構成には容易に役立つ
ものではなかった。
然し、ある半導体メーカは高速演算装置の製造コストを
非常に減少させた標準的なマイクロプロセサ・チップを
開発した。
例えば、アドバンスト・マイクロ・ディパイシーズ社は
、AM2901型と呼ばれるチップ上に4ビツトのバイ
ポーラ・マイクロプロセサ・スライスを開発した。
これ等のチップは、並列に接続される時、一時に1ビツ
ト乗算を行う事を可能にする。
このような装置は、1974年5月モノリシックメモリ
ーズ社により刊行された14ビツト拡張可能バイポーラ
・マイクロコントローラ5701/6701jと題され
た文献に説明されている。
このような装置は並列で処理できる乗数ビットの数で制
約される事から、前述の構成よりも低い速度で演算を行
う必要がある。
一時に処理できる乗数ビットの数を増力口するため、こ
のようなチップを改変してピン数を増す必要がありその
結果チップのコストの増大を招いた。
従って、本発明の主な目的は、オラペンドの選択的倍数
を生成して記憶するための装置を含む改良された装置を
提供して、最少限度の期間内の演算により必要とされる
如きオペランドの全ての必要な倍数を生成する事にある
本発明の別の目的は、標準的なマイクロプロセサ・チッ
プで構成でき、乗算を行う開被乗数の全倍数を生成する
装置の提供にある。
本発明の更に別の目的は、高速で浮動小数点乗算を行う
ための低コストの装置の提供にある。
前述の目的は、垂直力向のスライスの如くランダム(t
andem)に接続された多数のマルチビットLSIマ
イクロプロセサ・チップを含む本発明の望ましい実施態
様において達成される。
各チップは、演算論理装置ALUおよびランダム・アク
セスメモIJ−RAMを含んでいる。
これ等ALUは、チップのメモリーに記憶される浮動小
数点の数の仮数部分の予め定められた数の約数を生成す
るため使用される。
生成され記憶された約数は、乗算の演算中に約数を選択
するため使用される乗数の桁位置のあらゆる可能な数値
に対応する。
更に、望ましい実施態様においては、チップに含まれた
選択回路は、チップのメモリーからの約数の読出しのた
め3つの連続する乗数桁の夫々の最下位のビット位置を
選択する。
このような桁に基き、チップのメモリーは、被乗数の零
倍、1倍、10倍、11倍、100倍、101倍、11
0倍、および111倍を記憶するよう構成されている。
選択された約数は、最終積を生じるためALUによりチ
ップのメモリーに前に記憶された部分積と力目算される
その後、乗数と部分積のビットは次の約数の選択のため
1ビツト位置たけシフトされる。
多数の連続する乗数の桁の予め定められたビットを選択
することにより、部分積を表示するビットは1ビツト位
置シフトされることのみが必要であり、これにより乗算
が行われる速度を増力口させる。
更に、望ましい実施態様の構成はコストを低減し、この
ようなシフト動作はこのような各マイクロプロセサ・チ
ップを包含される1ビツト・シフト機能を利用するもの
である。
同様に、乗数ビットが次の約数の選択のための1ビツト
位置のシフトのみを必要とする乗数の場合に利点が生じ
る。
乗数桁の最下位ビットの乗算が最初に生じるため、部分
積および乗数ビットは両刃とも同じ方向にシフトできる
こ刺は又、乗算を簡単化し乗算速度を増大する。
本発明の構成および操作力法に関するその特質と考えら
れる漸新な特徴については、前記以外の目的および長所
と共に、添付図面に関して以下の記述を読めば更に理解
されよう。
然し、図面は例示の目的のため提示されるものであり本
発明を限定するものではない事を理解すべきである。
第1図は、本発明の装置を用いるシステムを示している
同図によれば、該システムは主メモリー30と、中央プ
ロセサ20と、科学的命令プロセサ40SIPと、多数
の周辺装置52の操作を制御するコントローラ50の如
き各種の周辺コントローラとを連絡する主バス10を含
む事が判る。
バス10に結合された装置0いずれも主メモリー30又
はバスに接続された他のどんな装置をもアドレス指定で
きる。
同図で示される如く、バス10は多数の制御回線、アド
レス回線、および命令およびデータ0伝送のためのデー
タ回線を含んでいる。
第1図のシステム0作用に関するこれ以上の詳細につい
ては米国特許第3,993,981号を参照されたい。
第2図は、本発明の装置に関する科学計算用命令プロセ
サSIPの主要部をブ冶ツク図で示している。
SIPセクションおよびバス制御セクション40第2図
においては、5IP40’が多数0セクシヨンを含む事
が判る。
こQ)セクションは、バス制御セクション40−2、レ
ジスタ・セクション4〇−4、制御記憶セクション40
−6、シフト論理回路セクション40−7、およびマイ
クロプロセサ・セクション40−8である。
セクション40−2は、それぞれブロック40−20と
40−22のバス要求論理回路およびバス応答論理回路
を含んでいる。
これ等回路は、セクション40−6の制御下でSl、P
2O(7)バス10との通信を可能にする。
レジスタ・セクション40−4 セクション40−4は、図示の如く接続された複数個の
レジスタ40−40乃至40−48を含んでいる。
これ等4つのレジスタ40−40゜40−42.40−
44.40−48は、セクション40−6のブロック4
0−66の論理回路をテストする入力君号を与える。
機能レジスタ4〇−40は、操作の入力又は出力バス・
サイクルの間バス10のアドレス回線に与えられた機能
コードを記憶する6ビツトのレジスタである。
その後、5IP40は、マイクロプログラムの制御下で
、レジスタ40−40の内容がテスト論理回路4〇−6
6により試験される事を試験し、指定の指令を実行する
選定されたマイクロプログラム・ルアチンは情報がどれ
かを決定し、バス10と、5IP40の各種のレジスタ
・バスおよびセクションとの間の前記情報の伝送を制御
する。
アドレス・レジスタ40−42は、5IP40がCPU
20からの出力指令を受取る時バス10のアドレス回線
を経て受取られる主メモリーのオペランド・アドレスを
記憶するため通常使用される22ビツトのレジスタであ
る。
前に述べたように、アドレス・レジスタ40−42は乗
算の演算中カウンタとして使用される。
即ち、あるビット位置はマイクロプログラムの制御下で
特定のカウントに対して増分されて試験される。
次のレジスタ40−44 (タスク・レジスタ)は、5
IP40がCP’U20から出力指令を受入る時、バス
10のデータ回線から受取る科学計算情報の第1のワー
ドを記憶するために使用される。
マイクロプログラムの制御下で、5IP40は次のアド
レス生成回路ブロック40−64に含まれる諸回路を経
て第1の命令ワードを復号し、この命令を処理するため
に必要なマイクロプログラム・ルーチンの開始アドレス
を生じる。
又、このレジスタのあるビットは、どの科学計算アキュ
ムレータ・レジスタが使用されるべきかを指定するため
使用される。
例えば、ビット位置2と3は、現行命令に対するAオペ
ランドのソース/演算結果の内光として使用される科学
計算アキュムレータを指定する。
タスク、レジスタ・ビット位置14と15は、現行命令
に対するBオペランド(有効アドレス)とて使用される
科学計算用アキュームレーク・レジスタを指定する。
モード・レジスタ40−48は、CPU20から受取る
情報を記憶する8ビツトレジスタである。
この情報は、最初バス10のデータ回線から受取られ、
バス・データ・レジスタ1 40−46にロードされる
その後、レジスタ40−46の内容はセクション40−
8と40−7を介して伝送され、レジスタ40−48に
ロードされる。
この情報は、オペランドの長さ又は演算の丸め/切・捨
て計算モードに感応するこれ等マイクロ命令シーケンス
の実行の制御に使用される。
これは本発明の理解に関与しないため、このレジスタに
つむ)ではこれ以上論述しない。
BDlおよびBD2と表示されるバス・データ・レジス
タ40−46および40−47は、バス10のデータ回
線から受取られる情報の記憶に使用され、る16ビツト
のレジスタである。
レジスタ40−46は、通常1つのワード操作(例えば
、CPU20からの命令ワード)から生じるデータを受
取り、レジスタ40−47は通常2倍ワード操作(例、
CPU20からの2倍整数の第2ワード)から生じるデ
ータを受取る。
制御セクション40−6およびマイクロ命令フォーマッ
ト 制御セクション40−6は、各々64ビツトを含む10
24の読出し専用記憶RO8場所から構成される11記
憶装置40−60と、演算サイクルの間制御記1意装置
40−60から読出されるマイクロ命令ワードを記憶す
るためのRO8局部レジスタ40−62と、5IP40
の各部位に制御信号を復号配分するためのサブ指令発生
回路4〇−63と、RO8の次のアドレス発生回路4〇
−64と、ブロック40−66のテスト論理回路を含ん
でいる。
既に述べた如く、回路40−64は通常テスト論理回路
40−66からのマイクロ命令ワードおよび出力信号の
次のアドレス・フィールドの関数としての次の場所のア
ドレスを生成する。
即ち、テスト論理回路40−66は、マイクロ命令ワー
ドの別のフィールドの符号化に基づく64の可能なテス
ト条件の1つを選択する。
次のアドレス・フィールドに関して生成される出力信号
を用いて次のアドレスを形成する。
更に、前述の如く、回路40−64も又、タスクレジス
タ40−44に記憶される命令ワードを復号する事によ
り命令を処理するためマイ、クロプログラムの開始場所
に対して次のアドレスを生成する。
本発明の目的のためには、テスト論理回路40−66お
よびアドレス生成回路40−64は構成上は公知のもと
考えられる。
例えば、これ等の回路は、本文に示す譲受人に譲渡され
る米国特許第3,909,800号に記載される回路の
形態をとり得る。
前述の各フィールドは、第7図のマイクロ命令ワードの
フォーマットに示される。
同図においては、各マイクロ命令ワードはDA乃至O込
表示される19の別個のフィールドを含んでいる。
これ等のフィールドは下記の如く使用される。
即ち、1、直接アドレ、スDAフィールドはマイクロ命
令ワードのビット0乃至ビット3を含んでいる。
このフィールドは、科学計算用記憶に含まれる16のア
キュムレータの1つを選択するのに使用される直接アド
レスを提供する。
2、 A選択Asフィールドはマイクロ命令ワードの
ビット4および5を含み、Aアドレス・マルチプレクサ
回路40−840に対する4つの入力の内のどれかを選
択するため使用される。
3、 8選択BSフィールドは、マイクロ命令ワードの
ビット6および7を含み、Bアドレス・マルチプレクサ
回路40−842に対する4つの入力の内のどれかを選
択するのに使用される。
4、指数ソースESフィールドは、マイクロ命令ワード
のビット9乃至11を含み、浮動小数点ワード(即ち、
ワードの指数部分)のビット56乃至63に対する力ロ
算器入力マルチプレクサを制御する。
従って、ESフィールドは、各指数桁と関連する加算装
置の入力AおよびBに対するオペランド・ソースを決定
スる。
5、仮数ソースMSフィールドは、マイクロ命令ワード
のビット13乃至15を含み、浮動小数点ワード(即ち
、ワードの仮数部分)のビット0乃至55に対する加算
器入力マルチプレクサを制御する。
従って、MSフィールドは、各仮数桁と関連する加算装
置の入力AおよびBに対するオペランド・ソースを決定
する。
6、舛部バス機能BPフィールドは、マイクロ命令ワー
ドのビット16乃至19を含み、外部バス(インターフ
ェース)と関連する各種のプロセサ操作の制御に使用さ
れる。
7、 シフト制御SCフィールドは、マイクロ命令ワー
ドのビット21乃至23を含み、多重桁シフタ回路によ
り行われる操作のタイプの制御1:こ使用される。
8、指数機能EFフィールドは、マイクロ命令ワードの
ビット25乃至27を含む。
これ等の3つのビットは、各指数桁(即ち、浮動小数点
ワードのビット56乃至63)と関連する演算論理装置
内の全操作に対する制御を行う。
9、 (Fi、数機能MPフィールドは、マイクロ命
令ワードのビット29乃至31を含む。
これ等3つのビットは、各仮数桁(即ち、浮動小数点ワ
ードのビット0乃至55)と関連する演算論理装置内の
全操作に対す制御を行う。
10、テスト条件TCフィールドは、マイクロ命令ワー
ドのビット32乃至35を含んでいる。
このフィールドは、次の制御記憶アドレスを生成する際
に使用される特定のテスト機能を選択するため分岐マス
クBMと関連して使用される。
11、 分岐マスク8Mフィールドは、マイクロ命令ワ
ードのビット36乃至39を含む。
前述の如く、このフィールドは、次のアドレス生成の際
使用される特定のテスト機能を選択するためTCフィー
ルドと関連して使用される0 12、指数開先EDフィールドは、マイクロ命令ワード
のビット41乃至43を含む。
このフィールドは、浮動小数点ワード(即ち、ビット5
6乃至63)の指数部分と関連される3組のマルチプレ
クサを制御し、これによりマイクロプロセサALU(指
数桁)内の全てのデータ移動およびシフト操作を制御す
る。
13、仮数開先MDフィールドは、マイクロ命令ワード
のビット45乃至47を含む。
このフィールドは、浮動小数点ワード(即ち、ビット0
乃至55)の仮数部分と関連する3組のマルチプレクサ
を制御し、これによりマイクロプロセサALU(仮数桁
)内の全てのデータ移動およびシフト操作を制御する。
14、汎用GPフィールドは、マイクロ命令ワードのビ
ット48乃至53を含む。
GPフィールドは、ビット48の状態に従って定数又は
SIPサブ指令のいずれかを生成するために使用される
(即ち、ビット48真:サブ指令の生成、ビット48偽
:定数の生成)。
15、次のアドレスNAフィールドは、マイクロ命令ワ
ードのビット54乃至63を含み、次の順次のアドレス
を含む。
16.マトリックス制御MCフィールドは、マイクロ命
令ワードのビット8および12を含む。
これ等ビットは、マトリックス・シック回路に対する変
位(シフト・カウント)ソースを決定する。
17 分割SPフィールドはマイクロ命令ワードのビッ
ト20を含む、その用途は本発明とは関連しない。
18繰入れCIフィールドはマイクロ命令ワードのビッ
ト24および28を含む。
これ等のビットは、それぞれ浮動小数点ワードの指数部
分および仮数部分に対して桁送り入力を供給する。
19クロツク制御CKフイールドは、マイクロ命令ワー
ドのビット40および44を含み、制御記憶サイクル時
間を確保する。
マイクロプロセサ・セクション40−8 このセクションは、ブロック40−84のマイクロプロ
セシング装置40−80とAおよびBアドレス・マルチ
プレクサ回路と、ブロック4〇−82の多数の桁送り生
成回路を含んでいる。
このセクション40−80は、第3図において4080
0乃至40−832で表示される17の大規模集積化L
SIされたマイクロプロセサ・チップから構成される。
望ましい実施態様においては、チップはアドバンスト・
マイクロ・ディパイシーズ社の製造によるタイプ290
1チツプに相当する。
第4図においてブロック図で示されるこのような各チッ
プは4ビツトを処理する。
16個のこのようなチップは第3図に示される如く連結
されて64ビツトのマイクロプロセシング装置を構成す
る。
既に説明したように、ビット0〜55に対応する最初の
15チツプは浮動小数点数の仮数値を記憶し処理するが
、次の2チツプは浮動小数点数の指数値を記憶し処理す
る。
全17個のチップは、前述の如く約数の生成および記憶
に使用される。
第2図から判るように、マイクロプロセサセクション4
0−80は、多数のRAMシフトおよびマルチプレクサ
・セクションと、QシフトおよびQレジスタ・セクショ
ンと、科学計算用記憶セクションと、セレクタ・セクシ
ョンと、演算論理ALUセクションと、出力マルチプレ
クサ・セクションとに水平力向に分割されている。
第5図は、更に詳細に各チップのセクションを示す。
更に、′1(AMシフ+・セクションとマルチプレクサ
・セクションは、シフト操作と通常のデータ転送の両方
に使用される2つの64ビツト・マルチプレクサ回路を
含んでいる。
即ち、これ等回路は、記憶セクションにロードされる前
にデータの左方又は右方への直接転送即ちシフトを行う
第3図に示される如く、仮数値を記憶する各チップ間の
シフト接続は本発明による予め定められた方法で構成さ
れている。
即ち、各チップのQ3シフト出力は各3番目のチップの
入力QOに接続する(例えば、チップ1のQ3出力はチ
ップ4の00人力に接続する)。
このため、操作の1シフト・サイクル内で8ビツト位置
(2桁の16進数)の右寄せが可能になる。
指数値を記憶する各チップ間のシフト接続は同様な方法
で構成されている。
Qシフト・セクションおよびQレジスタ・セクションは
、64ビツトの1つのマルチプレクサ回路および乗数の
各ビットを記憶するための64ビツトの1つのQレジス
タを含んでいる。
64ビツトのマルチプレクサは、Qレジスタにロードさ
れる前に乗数ビットの左方又は右方への直接転送即ちシ
フトを可能にする。
別学計算用記憶セクションは、16の記憶場所の内2つ
の別個の場所を同時にアクセスしてAおよびBの両オペ
ランドを与スる16の64ビツト記憶場所を含んでいる
本文に説明したように、これ等の記憶場所はブロック4
0−84のAおよびBアドレス・マルチプレクサ回路に
よりアドレス指定される。
記憶場所1,2.3は科学計算用アキュムレータSA1
・SA2.SA3として作用するが、残りの場所は一時
記憶域に使用される。
各記憶場所の割当ては第6図に示す如くである。
本文に述べた如く、アキュムレータSA1は被乗数でロ
ードされるが、アキュムレータSA2は従来周知の方法
で命令により乗数でロードされる。
簡単に云えば、CPU10によりバス10のデータ回線
に与えられる4ワードのオペランドの最初の2ワード(
32ビツト)のデータ・ビットは、バス・データ・レジ
ス40−46と40−47にロードされる。
入力バスに与えられたこれ等レジスタの最初の2ワード
のデータ内容は、シフトする事なくセクション40−7
のシフクー論理回路40−70を経て転送され、出力バ
スに与えられる。
この最初の2ワードはこSから演算論理装置を通過して
科学計算用記憶セクションのアキュムレータの記憶場所
の1つに記憶される。
CPU10から受取ら和た4ワードのオペランドの次の
2ワードは、シフター論理回路40−70に転送され、
シフター・セクション40−7において32ビツト位置
だけシフトされる。
この2番目の2ワードはその後演算論理セクションを通
過させられ、同じアキュムレータの記憶場所に記憶され
る。
モード・レジス40−48は、記憶されたオペランドの
長さく即ち、特定のアキュムレータの記憶場所は4ワー
ドのオペランドを記憶する事)をS IP40に表示す
るため予め定められた状態にセットされたあるビット位
置を有する。
第6図において、アドレス0□6を割当てられた記憶場
所は、最初一時的アキュムレータとして作用して約数生
成の間乗数の56ビツトの仮数値と8ビツトの指数値を
記憶する。
指数値は通常「64より太」で表示され、+6316乃
至−64□。
の範囲を有する。
5IP40がオペランドについて2進演算を行うが、こ
のような演算は16進演算と見做される。
「64より太」なる形態と2進形態で表わされた指数値
間の対応は下表により示される。
即ち、 但し、0は1ニマイナス、0−プラスなる符号ビットを
表わす。
「64余り」の形態の使用は指数符号を不要にする。
然し、乗数と被乗数の指数は加算されて128より大の
積指数を与えるため、乗数の指数値から64□。
値を減算する事が必要となる。再び第6図においては、
アドレス1□6と316ヲ割当てられた記憶場所は薊述
の如く科学計算用アキュムレータSA1 、SA2 、
SA3として作用する。
アドレス0.6,4□6,516,6.6および7.6
を割当てられた記憶場所は作業アキュムレータとして作
用するが、これは本発明と関連しない。
然し、アドレス8,6乃至F16を割当てられた場所は
第6図に示された被乗数の仮数の約数を記憶する。
特に、アドレス816を割当てられた場所は仮数の電信
XOの約数即ち56の2進数零を記憶する。
アドレス9□6で表わされる場所は、■×被乗数(仮数
)と等しい値を有する約数を記憶する。
然し、既に述べたように、この約数は56ビツトの被乗
値から生成され、64ビツトのレジスタ内に記憶される
(指数8ビット位置は使用されない)。
このため精度が向上し、別のシフト操作は不要となる。
即ち、56ビツトの被乗数が64ビツトのレジスタの記
憶場所に記憶される時、他の2つの桁位置は作用的にこ
のような被乗数値を100だけ減少させる。
従って、1×約数は、第6図に示す如<0.01X被乗
数の値と対応する。
このように、アドレス9□6で表わされる記憶場所は、
2つの16進数(8ビツト)だけ右方にシフトされた被
乗数の仮数を記憶する。
アドレスA16で表わされる記憶場所は、10×被乗数
の仮数と等しい数値を有する約数を記憶する。
然し、この約数は、表示された64ビツトの記憶場所に
記憶された時、この約数は第6図に示される如<0.1
0X被乗数の値を有する。
換言すれば、アドレスA16で表わされる記憶場所は、
1つの16進数(4ビツト)だけ右方にシフトされた被
乗数の仮数を記憶する。
アドレスB16により表わされる場所は、11×被乗数
の仮数と等しい数値を有する約数を記憶する。
表示された64ビツトの場所に記憶されると、この約数
は第6図に示される如<0.11X被乗数の値を有する
このように、この記憶場所は、アドレス916およびA
16により表わされる記憶場所の約数内容の和に相等す
る値を有する約数を記憶する。
アドレスC□6により表わされる記憶場所は、100X
被乗数の仮数と等しい値を有する約数を記憶する。
表示された64ビツトの記憶場所に記憶されると、この
約数は第6図に示される如く、1、OOX被乗数の値を
有する。
このように、この記憶場所は、被乗数の仮数に対応する
約数を記憶する。
アドレスD□6により表わされる次の記憶場所は、10
1×被乗数と等しい値を有する約数を記憶する。
この約数は、表示された64ビツトの記憶場所に記憶さ
れる時、第6図(と示す如く1.OIX被乗数の値を有
する。
このように、この記憶場所は、アドレス916およびC
16で表わされる記憶場所の約数内容の和に相等する値
を有する約数を記憶する。
第6図から判るように、アドレスE16により表わされ
る次の記憶場所は、110×被乗数の仮数に等しい値を
有する約数を記憶する。
この約数は、表示された64ビツトの記憶場所に記憶さ
れる時、第6図に示される如<1.10x被乗数の値を
有する。
このように、この記憶場所は、アドレスCI6およびA
16で表わされる記憶場所の約数内容の和に相等する値
を有する約数を記憶する。
アドレスF16により表わされる最後の記憶場所は、1
11×被乗数の仮数に等しい値を有する約数を記憶する
この約数は、表示された64ビツトの記憶場所に記憶さ
れる時、第6図に示される如<、1.11×被乗数の値
を有する。
このように、この記憶場所は、アドレス916およびE
16により表示される記憶場所の約数内容の和に相当す
る値を有する約数を記憶する。
アドレス8□6乃至ptaの最上位のビット位置は、上
位の8つの場所のアドレス指定を可能にするため2進数
1に強制され、本発明に関連しない公知の方法でセット
される。
然し、下位のアドレス・ビットは乗数から取出され、前
述の如く第2図のアドレス・セクション40−9のAお
よびBアドレス乗数回路に与えられる。
セレクタ・セクションは2つの64ビツトのラッチ、即
ち16対の2対1デーク入力マルチプレクサおよび16
対の3対1データ入力マルチプレクサを含んでいる。
既に述べた如く、このデータ入力マルチプレクサは、出
力バスから入力ターミナルDO乃至D3.2つのラッチ
又はQレジスタを介シてALUセクションにデータ信号
を与えさせる。
この2つのラッチは、科学計算用記憶セクションから読
出されたデータ信号を保持して、科学計算時間が読出し
およびアウト・デート操作の間並行演算に利用可能であ
る事を確保する。
ALUセクションは、桁送り操作、オーバフロ、演算後
の符号および全て零の検出、1の補数および2の補数演
算を含む全ての通常の算術論理演算を行う。
前述の如く、制御記憶装置4060からの入カビット信
号I3乃至■5は、可能性のある3つの2進演算と5つ
の論理演算の内のどれが実行されるべきかを決定するよ
う符号化されている。
第3図から判るように、ブロック4〇−82の桁送り発
生チップ回路4O−82d乃至40−82gと関連する
各チップ・セクション桁送り発生Gおよび桁送り伝播タ
ーミナルからの信号が先取り回路を構成し、この回路は
桁送り人力CNに与えられた信号が別のチップ・セクシ
ョンに伝播されるべき時を決定する。
本発明の目的からは、ブロック40−82の桁送り先取
りチップ回路は構成上公知と考える事ができ、例えばタ
イプ5N748182の如き標準的集積回路から構成さ
れる。
出力マルチプレクサ・セクションは64ビツトのマルチ
プレクサを含んでいる。
このマルチプレクサは、科学計算用記憶セクションから
ラッチの1つを介するか、ALUからのいずれかから直
接にデータを受取る。
このマルチプレクサは、5IP40の各セクションに配
分するための入力バスに出力は号を与える。
最後のセクション40−84は、第3図から判るように
、Aアドレス・マルチプレクサ回路40−840とBア
ドレス・マルチプレクサ回路40−842を含んでいる
これ等の回路は、第3図に示される如く、各チップ・セ
クションの入力ターミナルAO〜A4およびBO〜B4
に与えられる4ビツトのA選択アドレスおよび4ビツト
のB選択アドレスを与える。
A選択アドレスは、ALUにより使用されるか出力とし
て配分されるため選択された場所の64ビツト内容をA
オペランド入力として読出して与える。
Aアドレス・マルチプレクサ回路40−840に与えら
れた4セツトの入力信号は、制御記憶装置40−60の
ビット0〜3、乗数信号 MLTSSOIO乃至MLTSS210、タスク・レジ
スタ40−44からのビット信号2と3、およびタスク
・レジスタ40−44からのビット信号14と15を含
んでいる。
制御ビット4と5は、4セツトの入力のどれが入力AO
〜A3に与えられるA選択アドレス信号の生成に用いら
れるべきかを表示するよう符号化されている。
制御記憶ビット0〜3は、16の別学計算用記憶場所の
どれか1つを直接アドレス指定するよう符号化されてい
る。
信号MLTSSOlo乃至MLTSS210は、Qレジ
スタのビット位置47.51および55から第3図のチ
ップ・セクション12,13.14のシフト・アウト・
ターミナル迄与えられるは号に対応している。
これ等のビット位置は、本発明の教示内容に従ってアド
レス8乃至Fを有する科学計算用記憶場所から適当な約
数を選択するのに使用される3つの連続する乗数桁の3
つの最上位ビットを記憶する。
信号MLTSSO10は、3つの約数選択ピッBi o
oの位置)の最上位ビットと対応する。
信号MLTSS110は3つの約数選択ビット(10の
位置)の次の上位ビットに対応し、信号MLTSS21
0は3つの約数選択ビット(1の位置)の最下位のビッ
トに対応する。
タスク・レジスタ・ビット2と3は、Aオペランド又は
演算結果のデータの記憶に用いられるアドレス1乃至3
を有する3つの科学計算用アキュムレータの記憶場所の
1つをアドレス指定するのに使用される。
タスク・レジスタ・ビット14および15は、Bオペラ
ンド・ソース・データの記憶に使用される3つの科学計
算用アキュムレータの記憶場所の別の1つのアドレス指
定に使用される。
B選択アドレスは、記憶場所の64ビツト内容を、AL
Uによる使用のため又は出力としての配分のため読、出
しBオペランドとして与えさせるために選択する。
Bアドレス・マルチプレクサ回路40−842に与えら
れた4組の入力信号は、制御記憶ビット6と7、制御記
憶ビット60乃至63、タスク・レジスタ・ビット信号
2と3、およびタスク・レジスタ・ビット信号14と1
5を含んでいる。
最後の2組の入力は、Aアドレス・マルチプレクサ回路
40−840に関する前述の演算と同じ演算を行う。
制御記憶ビット6と7は、入力BO〜B3に与えられる
B選択アドレス信号の生成時にどの組の入力が使用され
るべきかを表示するよう符号化されている。
制御記憶ビット60〜63は、16の科学計算用記憶場
所のどれか1つをアドレス指定するよう符号化されてい
る。
シフト論理回路セクション4−7 このセクションは、浮動小数点数の前部の指数又は仮数
部分のシフト(例えば、正規化)のため、又は科学計算
命令の実行の間使用される。
第3図から判るように、このセクションは、4つの16
×16多重桁シフター・マトリックス・チップ4O−7
0a乃至4O−70dおよびブロック40−72の論理
回路を含んでいる。
本発明の目的のためには、このシフター回路網は構成上
公知と考えられる。
例えば、これ等回路網は、米国特許第3,818,20
3号に開示されるマトリックス・シフターの形態をとっ
てもよい。
シフター・マトリックス・チップ4O−70aのデータ
入力回線■0乃至115は、シフトされるべき数のデー
タ・ビット(指数又は仮数部分)を受取るための入力バ
スに接続する。
実行される特定のタイプの演算(例えば、シフト、右回
り算術演算)は、マトリックス・シフクー・チップ4O
−70a乃至4O−70dの機能入力ターミナル80−
81およびRO−R1に与えられる制御記憶ビット21
乃至23の符号化により規定される。
第3図から判るように、各マトリックス・シフター・チ
ップは、データ入力回線■0乃至115から1組のデー
タ出力回)腺OO乃至015(即ち。
入力バスから出力バス)へのビットの変位を制御する1
組の変位入力ターミナルDO〜D3を含んでいる。
例えば、制御記憶ビット21乃至23は110の値(右
寄せ演算)を有するよう符号化され、変位値は値000
1(1桁シフト)を有するよう符号化されている。
このような条件下では、TO人カターミナル(即ち、ビ
ット0)に与えられるビットは1ビット位置だけ変位さ
れて出力ターミナル01に与えられる。
然し、出力ターミナル01は出力バス・ビット4に対応
し、ビット0は変位コード値0001(第5図参照)に
より必要とされる4ピッチ即ち1つの16進桁だけ変位
される。
ブロック40−72の回路は符号化された変位値を生成
する。
このような回路は、他のソース(例えば、正規化演算の
ための零検出回路、いくつの桁シフトが行われるべきか
を指定する等化演算のための指数差検出回路)から信号
を選択するため構成上公知のマルチプレクサ・チップを
含むが、簡潔のため定数発生回路40−720のみを示
した。
この回路40−72は、説明を判り易くするためシフタ
ー回路に直接接続される如く示された読出し専用メモI
J−ROM40−720機能/定数発生回路を含んでい
る。
制御記憶装置40−60からの信号は、ROM回路40
−720の入力回路に与えられる。
構成上公知の回路40−720は、いくつの桁シフト(
仮数桁)がシフター40−.70により行われねばなら
ないかを指示するシフト・カウントを示す定数を生成す
る。
このように、ROM回路40−720は、カウントをシ
フトするためその入力回路に与えられた信号を変換する
ものと考えられる。
回路40−720から読出されたシフト・カウントは、
シフト・マトリックス4O−70a乃至4O−70dの
DO〜D3に与えられる。
マイクロプロセサ・チップ(第4図および第5図)第2
図および第3図のマイクロプロセサ・セクションの構成
に使用されるチップについて、更に詳細に第4図および
第5図に関して以下に論述する。
最初に第4図において、各チップは使用可能電圧(接続
OE)およびクロック入力(接続CP)を受取る接続部
を含む38ピンの結線を有する事が判る。
DC−D3で示されるこのピン接続部は、出力バスから
データ信号を受取るよう接続されている。
ピン接続部PとGは、桁送り先取り回路の各段の1つに
出力信号を与える。
キャリー・インCNピン接続部は前述の如き先取り回路
から入力信号を受取る。
この他のキャリー・アウト・ピン接続部(Cn+4)は
使用されない。
シフト・アウト/シフト・インCNピン接続部 CNピン接続部ら入力信号を受取る。
シフl−Qアウト/シフトQインQOピン接続は前のチ
ップのシフト・アウト/シフト・インQ3ピン接続から
入力信号を受取る。
オーバフローOVFピン接続、機能信号零(F=0)接
続、および最上位ビット・アウt−FOピン接続は本発
明に関係のない別の表示を与える。
ピン接続YO−Y3はシフタ・マトリックスチップに出
力信号を与えるよう接続され、ピン接続l0−I8は、
それぞれ仮数桁又は指数桁に対する第7図の制御記憶装
置のマイクロ命令フィールドMS、MF、およびMD又
はES、EFlおよびEDから生成された制御信号を受
取るよう接続されている。
前に述べた如きピン接続AO−A3、およびBO〜B3
は、ブロック40−84の諸回路からのA選択およびB
選択アドレス信号を受取るように接続されている。
次に第5図においては、チップ2で示される各チップは
、16ワ一ド×4ビツトRAM4O−918および高速
ALU40−902を含んでいる。
ピン接続AO〜A3に与えられる4ビツト・アドレス制
御下で、16ワードの記憶場所のどれか1つの内容が1
組のAポート・ターミナルに読出される。
同様に、ピン接続BO〜B3に与えられる4ビツト・ア
ドレスの制御下では、同じ16ワードの記憶場所のどれ
か1つの内容が1組のBポート・ターミナルに読出され
る。
ブロック40−926のALU向先後先復号回路りRA
MEN入力に与えられる信号により可能状態にされる時
、3人力マルチプレクサ回路4〇−920を経て与えら
れる新らしいデータ信号は、B選択アドレス信号により
指定されるワードの場所に書込まれる。
第5図から判るように、3人力マルチプレクサ回路40
−920の入力は、表示された記憶場所に書込まれる前
にブロック40−926の諸回路の制御下でALU40
−902の出力ターミナルFO〜F4からの入力は号を
1ビツト位置だけ右寄せさせるか、1ビツト位置だけ左
寄せさせるか、あるいはいずれの方向にもシフトさせな
いように接続されている。
Aポート出力ターミナルおよびBポート出力ターミナル
は、それぞれAラッチの組とBラッチの組に接続する。
これ等のラッチは、クロック入力CPに与えられた信号
が2進数零(即ち下位)である時間間隔においてこれに
転送された信号を記憶する。
このため、新らしいデータがRAM4O−918に書込
まれる時間間隔においてどんな競合条件の可能性も除外
される。
前述の如く、ブロック40−906の諸回路により復号
されたピン接続■3〜■5に与えられた信号により条件
付けされたALUは、RオペランドおよびSオペランド
入力ターミナルに与えられた2つの4ビット入力信号に
対して3つの2進算術演算又は5つの論理演算のいずれ
か1つを実施する事ができる。
Rオペランド入力ターミナルは、第5図に示す如く1つ
の2人力マルチプレクサ回路40−908を経てピン接
続DO〜D3又はAラッチ4〇−916から直接信号を
受取る。
Sオペランド入力ターミナルは、1つの3人力マルチプ
レクサ回路40−910を経てAラツチ40−916、
Bラッチ40−914、又はQレジスタ40−922の
いずれかから信号を受取る。
マルチプレクサ40−908および40−910は、ブ
ロック40−912のオペランド復号回路により復号さ
れるピン接続■0〜■2に与えられた信号の制御下にあ
る。
ピン接続DO〜D3は、チップの作業レジスタにデータ
信号をロードしかつRAMの記憶場所の内容を変更する
ために使用される。
Qレジスタ40−922は、前述の如く乗算演算中乗数
の記憶のために使用される4ビツト・レジスタである。
ターミナルFO〜F3に存在するALU@号は、2人出
力マルチプレクサ回路の1人力、3人カマルチプレクサ
回路40−920の1人力、およびQレジスタ40−9
22と関連する3人カマルチプレクサ回路40−924
の1人力に与えられる。
実際の内光(即ち、ピン接続YO〜¥3におけるデータ
出力、RAM4O−918、又はQレジスタ40−92
2に対する入力)は、ブロック4〇−926の諸回路に
より復号されるピン接続■6〜■8に与えられた信号に
より選択される。
第5図から判るように、マルチプレクサ回路40−90
4を用いてRAM4O−918のAポートから読出され
た信号又はALU40−902の出力ターミナルFO〜
F4からの信号を選択する。
この選択は、前述の如くピン接続■6〜■8に与えられ
た信号の制御下で進行する。
前述の如く、マルチプレクサ回路40−920は、AL
U40−902を含む3つのソースからの入力を与える
前述の状態により、ALU出力をシフトせずに記憶する
か、1位置だけ右寄せ(即ち、×2)して記憶するか、
あるいは1位置だけ左寄せ(即ち、÷2)して記憶する
事を可能にする。
シフト回路がそれぞれバッファ・ドライバ回路40−9
34および40−936に接続するピン接続RFOおよ
びRF3を含むことが判るであろう。
左寄モードにおいては、ドライバ回路40−934が使
用可能となり、RFOマルチプレクサ入力が使用可能と
なる。
右寄せモードにおいては、ドライバ回路40−936が
使用可能であり、RF3マルチプレクサ入力が使用可能
となる。
シフトのないモードにおいては、両回路40−934.
40−936が使用可能にならず、前述のマルチプレク
サ入力は選択されない。
演算の選択はピン接続■6〜■8に与えられた信号の制
御下で進行する。
同様に、Qレジスタ40−922は又、これもシフト回
路を含む3人力乗数回路40−924に接続されている
このため、ALU出力信号は、シフトされずに記憶され
るか、1位置だけ右寄せ(即ち、×2)して記憶される
か、1位置だけ左寄せ(即ち、÷2)して記憶される。
このシフト回路は、それぞれバッファ・ドライバー回路
40−932と40−930に接続するピン接続QOお
よびQ3を含んでいる。
左寄せモードにおいては、バッファ回路40−932が
使用可能となり、QOマルチプレクサ入力が使用可能と
なる。
右寄せモードにおいては、バッファ回路40−930が
使用可能となり、Q3マルチプレクサ入力が使用可能と
なる。
シフトが生じないモードにおいては、両バッファ回路4
0−932と40−930は使用可能とならず、前述の
マルチプレクサ入力は選択されない。
再び、シフト演算はピン接続16〜■8に与えられる信
号の制御下で選択される。
データ信号は、クロック入力ピン接続CPに与えられる
信号の制御下でQレジスタ40−922にクロックされ
る。
第5図も又、チップ2の出力ピン接続YO〜¥3が入力
バスを介して多重位置シフター回路チップ40 70a
乃至4O−70aの各々の入力ターミナルの各々に接続
する方法を示している。
更に、第5図は、出力バスからチップ2のデータ入力ピ
ン接続DO〜D3へのシフクー回路のピン接続を示す。
作用の説明 第1図乃至第7図、第8図乃至第10図の数値例、およ
び第11図のフローチャートに関して本発明の詳細な説
明する。
例示に先立ち、浮動小数点乗算を行う方法について簡単
に論述したい。
前述の如く、浮動小数点の2進法における全ての数は、
1より小さな仮数およびその大きさを示す数の部分であ
る指数を有する。
前述の如く、指数の範囲は本システムにおいては+63
□0乃至−641oである。
1より大きい数に対しては、2進小数点は最左端の1が
2進小数点の右側に来る迄左方に移動される(即ち、2
で割る)。
既に小数である数については、2進小数点は最初の1を
見出す迄右方に移動される(即ち、2で掛ける)。
このような場合に、全ての数は%より太きいか等しいか
1より小さな小数であり、「正規化」されたと表現され
る。
本システムにおいては、乗算を行うべき数はこの正規化
された形態にあるものとする。
正規化の方法(例えば、事前正規化又は事後正規化)に
ついては従来周知の方法とし、本発明の理解には関係が
ない。
正規化のこれ以上の論議については、プレンティス・ホ
ール社の1963年版の■・フロアズ(Flores)
著「コンピュータ演算の論理」なる文献の第15章を参
照され度い。
CPU20は、乗算演算を指定するよう符号化される5
IP40に対して科学計算用命令を転送するものと仮定
する。
タスク・レジスタ40−44にロードされる命令に応答
して、5IP40は所要の正規化された被乗数および乗
数の取出しおよび記憶のための操作を実施する〇 本例においては、第8図に示された16進数の被乗数値
が科学計算用記憶装置の64ビツトのアキュムレータの
記憶場所SA1に最初に記憶され、第8図に示された1
6進数形態の乗数値は最初にアキュムレータの記憶場所
SA2に記憶される。
科学計算アキュムレータSA1とSA2のローディング
は前に要約した従来の方法で進行する。
本事例においては、第8図に示した被乗数と乗数に対す
る値は下記の如くである。
即ち、アドレス8−Fに対応する他の記憶場所は、前述
の如く被乗数から生成される約数の16進数形態の数値
を記憶し、乗算演算の実行位相の間使用される○全ての
数は正規化された形態である。
第9図は、乗算演算の間科学計算記憶装置のアキュムレ
ータの一時記憶場所に記憶された部分積および最終積の
数値を示す。
第10図は、乗算演算中にQレジスタ・セクションに記
憶された乗数と約数の桁数を示す。
これは又指数値を記憶し、このような計算において使用
される。
本文に説明した如く、Qレジスタは約数の生成において
使用される。
次に、第11図のフローチャートを参照され度い。
同図は、種々の演算サイクルにおいて実施される各演算
を示している。
種々の略記号およびその意味は下記の如くである。
即ち、3、 X二Exponent (指数)4、T
=ニアドレスを有する一時的しジスク5、BI=入カバ
カ バスBO−出力バス フ、(A)=0内のアドレス(即ちA)により指定され
る記憶場所の内容 符号および指数値の転送がフローチャート(第11図)
に示されるが、これ等は本発明の望ましい実施態様の作
用の説明を簡単にするために説明されていない。
更に、種々の約数の生成の間、符号と指数値は2進数零
である事が判るであろう〇又、種々のALU、Qレジス
タ・セクション等については説明を簡単にするため総括
的にALU。
Qレジスタ等と呼ぶ。
次に第11図のフローチャートにおいては、マイクロプ
ログラムの制御下の5IP40のマイクロプロセサ・セ
クション40−8は、ΦSMA−8Aと表示した演算サ
イクルの間演算を行う事が判る。
即ち、一時的アキュムレータSA1に記憶される被乗数
の56ビツの仮数部分は、第2図のレジスタ40−62
に読出された第1のマイクロ命令ワードのDAフィール
ド(0001)に応答して第3図のAアドレス乗数回路
によりアドレス指定される。
これと同時に、アドレスC(即ち1100)により表示
される記憶場所は、同じマイクロ命令ワードのNAフィ
ールドに応答してBアドレス・マルチプレクサ回路40
−482からアドレス指定される。
被乗数の仮数部分は、アドレス0001を有する記憶場
所からAラッチ(即ち、第5図のラッチ4O−916)
に読込まれる。
この仮数部分はこ)から2人カマルチプレクサ回路、A
LUセクションを経て3人カマルチプレクサの1入力端
に与えられる0その後、この仮数部分はアドレス110
0を有する記憶場所に書込まれる(第5図参照)。
この書込み操作の間、アドレス1100を有する記憶場
所のビット位置56〜63は零に強制される。
この状態は、1.OOX被乗数の仮数(即ち、100X
56ビツトの被乗数)の値を有する約数を、アドレスC
を有する64ビツトの記憶場所(第8図参照)に入れる
第11図に示す如く、卓SMC−8A−LLNで表示さ
れる次の演算サイクルの間、第8図の記憶場所SA2の
乗数の仮数部分は、アドレス0を有するアキュムレータ
の一時記憶場所に転送される。
更に、641oの数値は乗数の指数から減算され、その
結果はアキュムレータの一時記憶場所に記憶される。
前述の如く、指数からの6410の減算により積の指数
が64を超える事が確実となる。
更に詳細に述べれば、この外のマイクロ命令ワードに応
答して、DAフィールドは0010のアドレスをAアド
レス・マルチプレクサ回路40840に与え、NAフィ
ールドは0000のアドレスをBアドレス・マルチプレ
クサ回路40842に与える。
このため、乗数の仮数および指数値はアキュムレータS
A1からAラッチに読込まれる。
これ等の値はこ\から2人カマルチプレクサ回路を経て
ALUセクションに転送される。
マイクロプログラムの制御下において、数値641oは
指数値から差引かれる。
乗数の仮数および変更された指数値はALUセクション
から3人カマルチプレクサ回路を経て科学計算用記憶装
置に転送され、アキュムレータの一時記憶場所に書込ま
れる。
即ち、乗数の仮数値はビット位置0〜53に記憶され、
指数の減算結果はアキュムレータの一時記憶場所のビッ
ト位置54〜63に記憶される。
前述の減算を行う方法に関しては従来周知のものと考え
られる。
この演算は本発明の理解とは関連しないため、これ以上
本文では記述しない。
前述の諸演算に続くのは演算の+SML−TGサイクル
で、この場合アドレスCを有する記憶場所の内容は2桁
位置(即ち、8ビツト)だけ右方に回転されて、アドレ
スeを有する記憶場所に一時的に記憶される0、OIX
被乗数(即ち、1×56ビツトの被乗数)に等しい約数
を生成する。
この数値は、前述の如く残りの約数値の生成に使用され
る。
更に詳細には、これ以外のマイクロ命令ワードに応答し
て、DAフィールドは1100のアドレスをAマルチプ
レクサ回路40−840に与え、NAフィールドは11
10のアドレスをBアドレス・マルチプレクサ回路40
−842に与える。
このため、アドレスCの内容(即ち、1.OOX被乗数
の仮数)が、2人カマルチプレクサ回路(例、4O−9
08)、ALU(例、40−902 )、出力マルチプ
レクサ(例、40−904 )を経てAラッチに、第5
図のシフター回路4O−70a乃至4O−70dに読込
まれる。
マイクロ命令ワードのシフト制御フィールドscの制御
下で、入力バスBIを経て与えられた仮数および指数信
号は、8ビツト位置(定数発生器により指定される)だ
け右寄せされ、出力バスBOに与えられる。
その後、シフトされた仮数および指数信号は2人カマル
チプレクサ回路(例、4O−908)、ALU(例、4
0−902 )、3人カマルチプレクサ(例、4O−9
20)を経て転送され、アドレスeに書込まれる。
前記の作用はチップ40−802のビット位置0〜7に
おける2進数零をもたらし、被乗数の仮数は第3図のチ
ップ40−806乃至40−816のビット位置8〜3
1に記憶される。
この時、アドレスeは、0.OIX被乗数の仮数(即ち
、■×56ビツトの仮数に対する被乗数)の値を記憶す
る。
第11図から判るように、次に5IP40のマイクロプ
ロセサ・セクション40−8は+SML−TG−1なる
演算サイクルを開始する。
このサイクルの間、アドレスCの内容(1,OOx被乗
数の仮数)を表わす信号が1桁だけ右回転されてアドレ
スfに記憶される。
これにより、アドレスfに0.10X被乗数の仮数の値
が入る。
更に詳細に述べれば、これ以上のマイクロ命令ワードに
応答して、DAフィールドは1100のアドレスをAマ
ルチプレクサ回路40−840に与え、NAフィールド
は1111のアドレスをBアドレスのマルチプレクサ回
路40−842に与える。
このため、アドレスCの内容は第5図のシフター回路4
0−70 a乃至4O−70aに読込まれる。
SCフィールドの制御下では、仮数および指数信号が4
ビツト位置だけ右寄せされてアドレスeに書込まれる。
この転送は、サイクル基SML−TGにおいて記述され
た如くに進行する。
第11図から判る如く、5IP40は演算サイクル+S
ML−TG−2に入るが、この場合マイクロプロセサ・
セクション40−8はアドレスeの内容を表わす信号を
Qレジスタ(例、4〇−922)の各部位に転送する。
更に詳細に述べれば、DAフィールドは1110のアド
レスをAアドレス・マルチプレクサ回路40−840に
与える。
これにより、アドレスeの内容はAラッチに読出される
その後、マイクロプログラムの制御下(即ち、ピン接続
■0〜■8に与えられた信号)で、2人カマルチプレク
サ回路(例、4O−908)、ALUセクション(例、
40−902 )、3人力Qマルチプレクサ(例、4O
−924)を経てQレジスタ・セクション(例、4O−
922)に転送される。
このため、数値0.OIX被乗数の仮数がQレジスタに
入る。
次のサイクルΦSML−TG−3の間、5IP40のマ
イクロプロセサ・セクション40−8はマイクロプログ
ラムの制御下でQレジスタの内容をアドレスfの内容に
加算し、その結果をアドレスbに記憶する。
これにより、約数の生成は完了し、その値は第8図に示
す如く、0.11X被乗数の仮数である。
更に詳細に述べれば、これ以上のマイクロ命令ワードに
応答して、DAフィールドは1111のアドレスをAア
ドレスのマルチプレクサ回路4〇−840に与え、NA
フィールドは1011のアドレスをBアドレスのマルチ
プレクサ回路に与える。
このため、アドレスfの内容を表わす信号はAラッチに
読込まれる。
その後、マイクロプログラムの制御下で、マイクロプロ
セサ・セクション40−8はこのような信号を2人カマ
ルチプレクサを経て転送し、これ等信号をALUのRオ
ペランド入力ターミナルに与える。
これと同時に、Qレジスタの内容を表わす信号は3人カ
マルチプレクサ回路を介してALUセクションのSオペ
ランド入力ターミナルに与えられる。
マイクロプログラムの制御下では、ALUはこのオペラ
ンド信号を与え、その結果は3人カマルチプレクサ回路
を経て転送され、アドレスbに書込まれる。
このため、数値0.11X被乗数の仮数は、第8図に示
されるものと対応するアドレスbに入る。
第11図から判るように、5IP40は演算サイクル+
SML−TG−4に入り、このサイクルではマイクロプ
ロセサ・セクション40−8はアドレスeの内容を表わ
す信号をアドレス9に入れる。
これで、0.01X被乗数の仮数(lX56ビツトの仮
数)の値を有する約数の生成を完了する。
更に詳細に述べれば、これ以上のマイクロ命令ワードに
応答してDAフィールドは1110のアドレスをAアド
レス・マルチプレクサ回路40840に与えるが、NA
フィールドは1001のアドレスをBアドレス・マルチ
プレクサ回路40−842に与える。
前述の経路を介してマイクロプロセサ・セクション40
−8はアドレスeの内容を表わす信号をアドレス9に転
送する。
これにより、0.01X被乗数の仮数の値が第9図に示
されるものと対応するアドレス9に入る。
次に、5IP40は演算サイクル幸SML−TG−5に
入り、このサイクルにおいては、マイクロプロセサ・セ
クション40−8はアドレスfの内容を表わす信号をア
ドレスaに転送する。
これで、0.10 X被乗数の仮数(即ち、10X56
ビツトの仮数)の値を有する約数の生成が完了する。
更に詳細に述べれば、これ以上のマイクロ命令ワードに
応答して、DAフィールド1111のアドレスをAアド
レスのマルチプレクサ回路40840に与え、このフィ
ールドは1010のアドレスをBアドレスのマルチプレ
クサ回路40−842に与える。
前述の経路を介してマイクロプロセサ・セクション40
−8はアドレスfの内容を表わす信号をアドレスaに転
送する。
これで、0.10X被乗数の仮数の値が第8図に示され
るものに対応するアドレスaに入る。
前記サイクルの後にサイクル+SML−TG−6が続く
このサイクルの間、マイクロプロセサ・セクション40
−8はレジスタの内容をアドレスCの内容に加算し、そ
の結果をアドレスdに記憶する。
これで、1.01X被乗数の仮数(即ち101×56ビ
ツトの仮数)の値を有する約数の発生が完了する。
更に詳細に述べれば、これ以上のマイクロ命令ワードに
応答して、DAフィールドは1100のアドレスをAア
ドレス・マルチプレクサ回路40840に与え、NAフ
ィールドは1101のアドレスをBアドレスの被乗数回
路40−842に与える。
前述の如く(例えば、サイクル+SML−TG−3)、
マイクロプログラム制御下ではマイクロプロセサ・セク
ション40−8のALUはRオペランドの入力ターミナ
ルに与えられるアドレスCの内容を表示する信号をSオ
ペランド入力ターミナルに与えられるQレジスタ内容を
表示する信号に加算する。
その後、演算結果はアドレスdに書込まれる。
これで、値1.01X被乗数の仮数が第8図に示される
値に対応するアドレスdに入る。
第11図においては、次にマイクロプロセサ・セクショ
ン40−8はサイクル+SML−TG7を実施する。
このサイクルの間、アドレスdの内容はアドレスfの内
容に加算され、その結果はアドレスfに書込まれる0こ
れで、1.11X被乗数の仮数(即ち、111X56ビ
ツトの仮数)の値を有する約数の生成が完了する。
更に詳細には、次のマイクロ命令ワードに応答して、D
Aフィールドは1101のアドレスをAアドレスのマル
チプレクサ回路40−840に与え、NAフィールドは
1111のアドレスをBアドレスのマルチプレクサ回路
40−842に与える。
前述の如く、前記のマイクロ命令ワードはALUをして
Rオペランド入力ターミナルに与えられるアドレスCの
内容を表わす信号をSオペランド入力ターミナルに与え
られるアドレスfの内容を表示する信号に加算させる。
その後、この結果はアドレスfに書込まれる。
これで、値1.11X被乗数の仮数は第8図に示される
値に対応するアドレスfに入る。
次に、マイクロプロセサ・セクション40−8は、これ
がアドレスfの内容を表わす信号からQレジスタの内容
を減算するサイクル+SML−TG−8に入り、その結
果をアドレスeに記憶する。
これで値1.10X被乗数の仮数(即ち、110×56
ビツトの仮数)を有する約数の生成を完了し、この作用
で乗算演算の約数生成相が完了する。
更に詳細に述べれば、次のマイクロ命令ワードに応答し
てDAフィールドは1111のアドレスをAアドレスの
マルチプレクサ回路40−480に与え、NAフィール
ドは1110のアドレスをBアドレスのマルチプレクサ
回路40−482に与える。
マイクロプログラムの制御下でALUは、読出されてR
オペランド入力ターミナルに与えられたアドレスfの内
容を表わす信号からSオペランド入力ターミナルに与え
られたQレジスタ内容を表わす信号を減算するよう条件
付けされている○その後、その結果はアドレスeに書込
まれている。
これにより、値1.10×被乗数の仮数が第8図に示さ
れた値に対応するアドレスeに入る。
5IP40は、サイクツ→SML−PP−MPLIに入
る事により乗算演算の実行相を開始する。
このサイクルの間、マイクロプロセサ・セクション40
−8は一時的アキュムレータの内容を表わす信号をQレ
ジスタに転送する。
更に詳細に説明すれば、次のマイクロ命令ワードに応答
して、DAフィールドは0000のアドレスをAアドレ
ス・マルチプレクサ回路4〇−840に与える。
マイクロプログラムの制御下で、一時的アキュムレータ
の最初の内容に対応する信号は、ALU、3人力Qマル
チプレクサ回路を経てQレジスタに転送される。
これにより、乗数の仮数および計算された指数がQレジ
スタに入る。
これ等の数値はサイクル+SML−PP−MPLIに対
して第10図に示され、サイクル+SML−8A−LL
Nの間第9図に記憶されるものとして示された数値に対
応する。
次いで、5IP40はサイクル+SML−LMTLに入
り、このサイクルにおいてはマイクロプロセサセクショ
ン40−8は一時的アキュムレータの仮数ビット位置を
零にセットし、Qレジスタの乗数の仮数内容を1ビツト
位置だけ右寄せする○これで、部分積を記憶するために
用意された一時的アキュムレータの内容をクリアして、
Qレジスタの内容を1ビツトだけ右寄せする。
これにより、第1の乗数桁に対応するQレジスタのビッ
ト位置47.51および55の内容をAアドレスのマル
チプレクサ回路40−840に与える。
更に詳細に述べれば、次のマイクロ命令ワードに応答し
て、DAフィールドは0000のアドレスをBマルチプ
レクサ回路40−842に与える。
マイクロプログラムの制御下で、マイクロプロセサ・セ
クション40−8は一時的アキュムレークの内容を3人
力マルチプレクサ回路からALUのSオペランド人力タ
ーミナルを経てBラッチに転送する。
その後、マイクロプログラムの制御下で、その内容は零
にセットされ、3人力マルチプレクサ回路を経て転送さ
れ、一時アキュムレータに書戻される。
第9図は、零の仮数値と、サイクル幸SML−LMLT
−Lの完了後に生成された乗数の指数を含む一時的アキ
ュムレータ内容を示す。
更に、マイクロプログラム制御下では、Qレジスタに記
憶された乗数の仮数が、内容を1ビツトだけ右寄せする
3人力Qマルチプレクサ回路に与えられ、その結果を逆
にQレジスタにロードする。
第3図において、Qレジスタ・ビット位置47゜51、
および55の演算結果の内容はAアドレス・マルチプレ
クサ回路40−840の3入力ターミナルに与えられ、
第4の入力ターミナルはマイクロ命令ワードの2進数1
×ビツトOに強制される。
Qレジスタのシフトされた内容と、Aアドレスのマルチ
プレクサ回路48−840に与えられた約数桁の値は第
10図に示される如くである。
1000の選択された乗数桁は、零×乗数を対応するア
ドレス1000から読出させる。
更に、アドレス・レジスタ40−42のビット位置20
−22は2進数零に強制される。
前述の如く、このレジスタ40−42は、ある演算の完
了に続く出口を可能にする多数の演算サイクルのカウン
トに使用される。
第11図から判るように、次に5IP40はサイクル卓
SML−EL5Mに入る。
このサイクルにおいては、マイクロプロセサ・セクショ
ン8−40は1ビツトだけ右寄せされた約数を一時的ア
キュムレータに転送する。
又、このセクションは、一時的アキュムレータの指数を
右方に1ビツト、Qレジスタを1ビツトシフトし、アド
レス・カウンタを1だけ増分する。
更に詳細には、このサイクルの間マイクロプログラムの
制御下では、Aラッチに読出された選択約数は2人力マ
ルチプレクサ回路を経てRオペランド入力ターミナルに
与えられ、一時的アキュムレータの零内容は更に別のマ
イクロ命令ワードのDAフィールドにより指定される如
きSオペランド入力ターミナルに与えられる。
ALUは、約数値(零)を部分積の値(零)に加算する
ようマイクロ命令ワードにより条件付けされる。
その結果得た部分積は3人力マルチプレクサ回路に転送
される。
一時的アキュムレータに書込まれる前に、部分積の内容
は、3人力マルチプレクサ回路(例、4O−920)を
介して1ビツト位置だけ右寄せされる○ これと同時に、マイクロプログラムの制御下でマイクロ
プロセサ・セクション40−8は次の約数の選択のため
1ビツトだけQレジスタの内容を右寄せする。
再び、Qレジスタの内容のシフトは3人力Qマルチプレ
クサ回路を介して進行する。
このようにシフトされると、Qレジスタのビット位置4
7,51,55は値000をAアドレス・マルチプレク
サ回路の3人力ターミナルに与え、4番目のターミナル
は再び2進数1に強制される(第10図参照)。
選択約数桁の値1000は、再び零×被乗数の約数を対
応するアドレス1000から読出させる。
更に、マイクロプログラムの制御下で、レジスタ40−
42の内容は1だけ増分される。
これにより、ピット位置21と20をそれぞれ2進数1
と2進数零の状態におく。
これに続く演算サイクルにおいて、一時的アキュムレー
タに記憶された指数値がシフト・アウトされる。
この指数の処理は本発明の理解と関係ないため、このシ
フト操作については本文ではこれ以上論述しない。
第11図から判るように、5IP40は次に演算サイク
ルΦSML−L5Mに入る。
このサイクルの間、マイクロプロセサ・セクション8−
40は選択された約数を一時的アキュムレータの部分積
の内容に加算し、1ビツト位置だけ右寄せされた一時的
アキュムレータにこの和をおく。
又、Qレジスタの内容は1ビツト位置だけ右寄せされ、
アドレス・カウンタは1だけ増分され、次のサイクル卓
SML−L 5 M−L Pの間シフター回路4O−7
0a乃至4O−70dに与えられる適当なシフト・カウ
ントの選択のため、02の値が第3図の定数生成チップ
40−720に与えられる。
第11図からは、アドレス・カウンタのピット位置AD
21と22が3のカウントを記憶した後サイクル+SM
L−L5M−LFに入る迄サイクル+SML−L5Mが
繰返される事が判るであろう。
前述の事を更に詳細に考察すれば、第8図と第10図か
ら、1000の選択約数桁値が再び零×被乗数の約数を
対応するアドレス1000からAラッチに読込まず事が
判る0こ5から、約数信号はALUのRオペランド入力
ターミナルに与えられる。
このサイクルの間他のマイクロ命令ワードのDAフィー
ルドの制御下で、一時的アキュムレータの部分積の内容
がBラッチに読出され、ALUのSオペランド人力ター
ミナルに与えられる。
ALUは約数値(零)を部分積の値(零)を加算し、そ
の結果は3人力マルチプレクサ回路に転送される。
一時的アキュムレータに書込まれる前に、この結果はマ
ルチプレクサ回路により1ビツト位置だけ右寄せされて
アドレス0000に書込まれるO マイクロプログラムの制御下では、Qレジスタの内容は
、次の約数の選択のため3人力Qマルチプレクサ回路を
介して1ビツトだけシフトされる。
このシフトに続いて、Qレジスタのビット位置47.5
1,55は第10図に示される如くAアドレス・マルチ
プレクサ回路40−840に数OOOを与える○又、ア
ドレス・カウンタは1だけ増分される。
第10図から判るように、サイクツ→SML−5Mは同
じ結果(零の約数値と零の部分積値)を繰返し生じる。
これ等の値は第10図に示す如くである。
このサイクルの終りでは、アドレス・カウンタは、5I
P40にサイクル+SML−L5M−LFを開始させる
3のカウントを記憶する。
第11図から判るように、このサイクルの間、5IP4
0はマイクロプログラムの制御下で一時的アキュムレー
タの内容を2桁(8ビツト位置)だけ右寄せし、シフト
された内容を再び一時的アキュムレークで記憶する。
第9図から判るように、指数値がシフトアウトされ12
の乗数ビットが処理されても一時的アキュムレークの部
分積の仮数値は依然として全て零である○ 更に詳細に述べれば、サイクル仝SML−L5M−LF
の間、ROMチップ発生器40−720から読出された
8ビツトのシフトを指定する定数はシフター回路40−
70 a乃至4O−70dの各各の入力ターミナルDO
〜D3に与えられる。
別のマイクロ命令ワードの制御下では、ALUを介して
Aラッチに読出され各シフクー回路4070a乃至4O
−70dの入力ターミナル■0〜115に与えられた部
分積は2桁だけ右寄せされる。
各シフクー回路4O−70a乃至4O−70dの出力タ
ーミナルOO〜015に生じる結果は、2入力マルチプ
レクサ回路、ALU、3入力マルチプレクサ回路を介し
て転送され、一時的アキュムレータに書込まれる。
第11図においては、5IP40は演算サイクルΦSM
L−L4Mを開始する事が判る。
説明を簡単にするため、このサイクルは、サイクルΦS
ML−L4Mも M−LF、ΦSMLML−
L4 −L3M、 +SML−L3M−LF卓SML−L2M
、、! SML−L2M−LF、+ SML−LIMと
共に別個のサイクルとして第11図に示される。
然し、これ等のサイクルは、サイクル+SML−L5M
と+SML−L5M−LFに関して記述した各演算を単
に繰返すだけである。
従って、同じ順序付けは、各2サイクルが何回繰返され
るかのカウントを維持する事により可能となる事が判る
であろう。
本例においては、第9図および第10図からサイクルΦ
卓 SML−L4M、 SML−L4M−LF。
) ) SML−L3M1および SML−L 3 M−L F
がサイクル+ Mと+SML−L5MML
−L5 −LPの間生じる結果(即ち、一時的アキュムレータに
記憶される全て零の約数および零の部分積)と等しい結
果を生じる事が判るであろう。
従って、これ等のサイクルについてはこれ以上の論述は
不要である。
第1のサイクル+SML−L2Mの間、Qレジスタのビ
ット位置47,51,55は値oioを第10図に示す
如くAアドレス・マルチプレクサ回路40−840に与
える。
選択約数桁値1010は、0.10X被乗数の約数を第
8図に示される値を有するアドレス1010から読出さ
せる。
選択された約数は2入力マルチプレクサ回路を介してA
ラッチに読込まれ、ALUの2オペランド入力ターミナ
ルに与えられる。
一時的アキュムレータの零の部分積の内容は3入力マル
チプレクサ回路を介してBラッチに読込まれ、ALUの
Rオペランド入力ターミナルに与えられる。
別のマイクロ命令ワードの制御下では、ALUは選択さ
れた約数を零の部分積に加算し、この和を3入力マルチ
プレクサ回路を介して1ビツトだけ右寄せして、第9図
に示される結果値を一時的アキュムレータに記憶する。
再び、Qレジスフ内容は次の約数の選択のため1ビツト
だけ右寄せされ、アドレス・カウンタは1だけ増分され
て第10図に示される値を生じる。
次のサイクルSSML−L2Mの間、Qレジスフピット
位置47,51.55は第10図に示す如く値100を
Aアドレス・マルチプレクサ回路に与える。
選択約数桁値1100は、アドレス1100に記される
1、00X被乗数の約数を、2入力マルチプレクサ回路
を介してAラッチに読込ませて、ALUのRオペランド
入力ターミナルに与える。
これと同時に、一時的アキュムレータの部分積内容は、
3入力マルチプレクサ回路を介してBラッチに読込まれ
、ALUのSオペランド入力ターミナルに与えられる。
マイクロプログラムの制御下では、アドレス1100の
約数内容は部分積内容に加算され、その結果は3入力マ
ルチプレクサ回路を介して1ビツトだけ右寄せされ、−
時的アキュムレータに記憶される。
記憶された値は第9図に示す如くである○再び、Qレジ
スタの内容は次の約数の選択のためlビットだけ右寄せ
され、アドレス・カウンタはlだけ増分される○その結
果の値は第10図に示す如くである。
次のサイクツ→SML−L2Mにおいて零×被乗数の約
数の値が選択約数桁1000により選択される。
この結果部分積を1ビツト右寄せして第9図に示す如く
一時的アキュムレータに記憶させる。
再び、Qレジスタの内容は1ビツトだけ右寄せされ、ア
ドレス・カウンタはlだけ増分される。
その結果値は第10図に示す如くである。
最後のサイクル+SML−L2Mの間、1.10×被乗
数の約数が選択約数桁1110により選択される0前述
の方法で、この約数は一時的アキュムレータの部分積内
容に加算され、その和は1ビツトだけ右寄せされて一時
的アキュムレータに入れられる。
その結果は第9図に示す如くである。再び、Qレジスタ
の内容は1ビツトだけ右寄せされ、アドレス・カウンタ
は第10図に示す如く3のカウントに1だけ増分される
このサイクルの間、02の桁数が定数発生チップ40−
720に与えられる。
第11図から判るように、5IP40は演算サイクル+
SML−L2M−LFを開始し、このサイクルにおいて
SIPは一時的アキュムレータの内容を右寄せし、ビッ
ト位置の数は定数発生チップ40−720から読出され
た定数により指定される。
再び、この定数は8ビツトのシフトを指定する。
更にアドレス・カウンタは1だけ増分される。
更に詳細に述べれば、更に他のマイクロ命令ワードに応
答して、一時的アキュムレータの部分積の内容はBラッ
チに読込まれ、3入力マルチプレクサ回路、ALU、出
力マルチプレクサ回路を経て多重桁シフター回路4O−
70a乃至40−70aの入力ターミナル■0〜115
に読出される。
シフター回路4O−70a乃至4O−70aの出力ター
ミナル00〜015に生じるシフトされた部分積は、2
入力マルチプレクサ回路: ALUおよび3入力マルチ
プレクサ回路を経て一時的アキュムレータに転送される
この部分積の結果は第9図に示される如くである。
又、マイクロプログラム制御下では、アドレス・カウン
タの内容は1だけ増分される。
同様に、5IP40は次いで一連のサイクル+SML−
LIMを実施し、このサイクルにおいては、マイクロプ
ログラム制御下でマイクロプロセサ・セクション40−
8は第10図に示される如く値1010.1001.1
0101および1010により選択された約数を加算す
る。
特に、第1のサイクルΦSML−LIMの間、選択約数
桁値1010は、アドレス1010に記憶された0、1
0X被乗数の約数を一時的アキュムレータに記憶された
部分積に加算させる。
この和は1ビツト右寄せされ、第9図に示される結果は
一時的アキュムレータに戻される。
Qレジスタの内容は1だけシフトされ、アドレスカウン
タは1だけ増分されて第10図に示された値を生じる。
第2のサイクル卓SML−LIMの間、1001の選択
約数桁値はo、oix被乗数の約数を一時的アキュムレ
ータに記憶された部分積に加算させる。
その結果得た部分積およびQレジスタ内容は1だけ右寄
せされ、アドレス・カウンタは1だけ増分されて第9図
および第10図に示される値を生じる。
最後即ち第3のサイクル+SML−LIMの間、101
0の選択約数桁値は、再びo、oix被乗数の約数を一
時的アキュムレータに記憶される部分積に加算するため
読出させ、lビット右寄せされた後第9図に示す値を生
じる。
再び、Qレジスタ内容は1だけ右寄せされ、アドレス・
カウンタは1だけ増分されて第10図に示される値を生
じる。
第11図から判るように、5IP40は次に演算サイク
ル+SML−L I M−84を開始し、このサイクル
においては別の桁値1010により選択される最後の約
数が一時的アキュムレータに記憶される部分積に加算さ
れ、その結果は1ビツトだけ右寄せされて一時的アキュ
ムレータに記憶される。
これで、乗数の仮数の全56ビツトの処理を完了する。
60ビツトが実際に処理される事が判るであろう。
然し、最後の4サイクルにおいて、3ビツト(最下位ビ
ット)の内の1つが2進数零をQレジスタにシフトする
事から生じる2進数零である。
一時的アキュムレータは第9図に示される乗算演算の最
終結果を記憶する事が判る。
次のサイクルはサイクル車SML−PL−RNDで、そ
の間5IP40がビット4〜7の数値をテストするため
仮数値に対応する信号を機能レジスタ40−40に転送
する。
これ等ビットが零と等しくないものと仮定すれば、5I
P40はサイクル、+SML−PL−RNDに入る。
このサイクルの間、マイクロプロセサ・セクション40
−8は一時的アキュムレータの最終積の内容を続出し、
これを1桁(即ち、4ビツト位置)だけ左寄せし。
第8図に示す如くSA1にその結果を記憶する○このよ
うに、この時SA1は値 50B23B31EBOOOOFOを記憶する。
読出しおよびシフト操作は前記の方法でマイクロプログ
ラムの制御下で行われる。
前述のサイクルの後にはサイクル+SML−ADXが続
き、このサイクルの間マイクロプロセサ・セクション4
0−8はQレジスタの指数値をSAIに記憶された被乗
数の指数値に加算してその結果をSA1におく。
実際の指数値は7ビツトの長さで、ビット位置56乃至
62を占有する。
然し、2進数零はピット位置63に挿入される。
この数値および結果は下記の如くである。
。前に示した3つの指数の加算は相等しい事が判るであ
ろう。
00100100のQレジスタの指数値をSA1の11
001100の指数値に対して加算すれば111100
00即ちFOの結果となり、これは第8図に示す如く一
時的アキュムレータにおいて最終積として記憶される。
これ等の指数の加算は、前の計算と共に、Qレジスタの
64ビツト位置と一時的アキュムレータの記憶場所を用
いる従来周知の方法で行われるものと考えられる事が判
るであろう。
前述の指数演算は、約数演算と同様に同様な方法で実施
される。
次に、5IP40はCPU20に対して乗算演算を完了
した事を信号する時サイクルSYOtJRMOVEに入
る。
以上の作用の説明によって本発明による演算装置の動作
が明確になったが、ここで特に乗算演算の要点をまとめ
る。
動作はまず約数の生成とその科学記憶セクション40−
918への記憶から開始され、次いでその予め記憶され
た約数を用いて実際の乗算演算が行われる0乗算演算の
核心において、主なステップはQレジスタ内にある乗数
の仮数部の3つの最下位16進桁の夫々の最下位ビット
の値(ビット位置47,51及び55)をサンプリング
することを含む。
これらの3ビツトは3桁の16進数と見なされ、乗数の
サブセットを代表する。
科学記憶セクション内に記憶されている以前に計算して
おいた約数が、その科学記憶セクション内の対応する約
数のアドレスとして(Aアドレスマルチプレクサ回路4
0−480を介して)この3桁の16進数を使用するこ
とにより取り出される。
取り出された約数は部分積に加算され、その結果はアキ
ュムレータへ帰され、右へ1ビツトシフトされる。
同時にQレジスタの内容も次の約数を選択できるように
右へ1ビツトシフトされる。
適当な約数が再度選択され、以後これらの動作が更に3
回実行され、その終りにおいて、乗数の仮数部の3つの
最下位16進桁の4つの3桁16進数に対応する4つの
約数がアキュムレータ内の中間結果に適当に加算された
ことになる。
そこで次に乗数は右へ8ビツト位置(2つの16進桁分
)シフトされ、乗数の仮数部の次の3つの16進桁をサ
ンプルする準備をする。
この動作は部分積の展開のため乗数の全ビットが計算さ
れ終わるまで続く。
前述の事から、いかにして本発明の装置が迅速に乗算演
算を実施できるかが判る。
最下位の3つの連続する16進数から夫々の最下位ビッ
トを使用する事により、本発明の構成がシフト操作の量
を最少限度にできる。
即ち、次の約数の選択のためには、乗数術の1ビツトの
シフトを必要とするのみである。
本発明は一時に3ビツトの処理に関して例示したが、一
時に更に大きなビット数の処理に使用できる事が判るで
あろう。
このビット数は利用可能なメモリーの記憶場所の量に依
存する。
例えば、4ビツトは一時に16の約数のアドレスを必要
とするが、nビットは一時に2n個の約数アドレスを必
要とする。
本発明の望ましい実施態様においてはチップのビット位
置の割当てに用いられる規則は、最上位のビット位置が
1−OJ QO、FOで表示され、最下位ビット位置J
3j Q3 、F3で表示される事である。
マイクロプロセサのチップのメーカはそのチップの説明
に異なる規則を使用する可能性があり、その結表望まし
い実施態様において接続される時特定のピン接続の変更
をもたらす。
例えば、アドバンスト・マイクロ・デバイシーズ社は本
実施態様に関した述べた規則と反対の規則を用いている
従って、ピンQO、Q3、およびFO,F3は望ましい
実施態様においてこのようなチップを用いる時は交換す
る。
当業者には、本発明の望ましい実施態様には多くの変更
が可能な事が判るであろう。
例えば、本発明のマイクロプロセサは、アドバンスト・
マイクロ・デバイシーズ社製のAMI)2901Aおよ
びモノリシック・メモリーズ社製のMMI6701の如
き他のチップで構成できる0又、このようなチップは異
なる技術CML、■2L等を用いて構成できる事が判る
であろう。
本文の説明を不当に当業者の知識内の事柄で複雑にする
のを避けるため、ブロック図により説明し、これに各ブ
冶ツクおよびこれが示す回路の特定の識別のため詳細な
機能的説明を付した。
個々の読者は自らの知識および利用可能な標準的文献か
らフリップフロップ回路、シフトレジスフ等の構成要素
を自由に選択できる。
前記の文献例としては、R−に−リチャーズ(Rich
ards)著「ディジタル・コンピュータにおける算術
j (Van N。
5tarnd出版社)、チュー(Chu)著「コンピュ
ータの設計基礎」(マクグロウヒル書籍社」、オよびミ
ルマン トウベ(Mi l 1man 、Taube)
共著「パルス、ディジタルおよびスイッチング波形」(
マクグロウヒル書籍社)がある。
法規の定める処に従って最善と思われる本発明の形態を
例示し説明したが、頭書の特許請求の範囲に記載する如
く本発明の主旨から逸脱することなく記述しfこシステ
ムに対しである変更が可能であり、本発明の1つの特徴
のみを他の特徴を用いる事なく使用することができる。
【図面の簡単な説明】 第1図は本発明の装置を実施するシステムのブロック図
、第2図は本発明の装置を含む第1図の科学計算用のプ
ロセサのブロック図、第3図は本発明の装置を示すブロ
ック図、第4図は本発明の望ましい実施態様の構成に使
用されるマイクロプロセサのチップを示すブロック図、
第5図は第4図のマイクロプロセサ・チップと第3図の
装置を更に詳細に示す図、第6図は第3図のマイクロプ
ロセサ・チップ用のレジスフの記憶の割当てを示す図、
第7図は第2図の制御記憶セクション内に含まれるマイ
クロ命令ワードのフォーマットを示す図、第8図乃至第
10図は例示的な乗算の実行中第2図の装置により生成
され記憶される数値を示す図、第11図は本発明の詳細
な説明において第8図乃至第10図に関して使用される
フローチャートである。 10・・・・・・主バスMB120・・・・・・中央プ
ロセサCPU130・・・・・・主メモIJ−MM14
.0・・・・・・科学計算用命令プロセサSIP、40
−2・・・・・・バス制御セクション 40−4・・・
・・・レジスフ・セクション、40−6・・・・・・制
御セクション、40−8・・・・・・マイクロプロセサ
・セクション、50・・・・・・周辺装置コントローラ
、52・・・・・・周辺装置。

Claims (1)

  1. 【特許請求の範囲】 1 乗数のビットに従って被乗数の約数を選択すること
    により前記被乗数を乗算するための装置において、 タンデムに作用するよう接続される多数の多重ビットプ
    ロセサのチップであって、夫々多数のターミナルと、 演算論理装置セクションと、該演算論理装置セクション
    に接続されており前記約数の選択に使用される前記乗数
    のビットの値に対しである予め定めた関係を有するよう
    選択された値を有する前記被乗数の多数の異なる予め定
    められた約数桁を記憶する記憶場所のグループと、部分
    積の値を記憶するための別の記憶場所とを含む複数個の
    多重ビツト記憶場所を夫々有する多重ビットのアドレス
    指定可能なランダム・アクセス・メモリーセクションと
    、前記演算論理装置セクションに接続され、前記の多数
    のターミナルの第1と第2のターミナルに最上位ビット
    位置と最下位ビット位置を接続された、前記乗数を記憶
    するための多重ビツト位置のシフト・レジスフセクショ
    ンとを含む前記チップと、 1演算サイ“クルの間に前記シフト・レジスタ・セクシ
    ョンの乗数桁の内容の多重桁シフトを可能にするため、
    前記チップの個々の前記第2のターミナルを交互に続く
    チップの第1のターミナルに接続する第1の導体装置と
    、 1グループの連続的な乗数桁を記憶する前記の多数のチ
    ップの予め定められたものの多数の前記第2のターミナ
    ルから選択信号を受取るよう接続される多数の入力ター
    ミナルと、前記の各アドレス指定可能なランダム・アク
    セス・メモリー・セクションに接続される出力ターミナ
    ルとを有する約数選択回路とを有し、前記選択信号が、
    前記演算サイクルの間に前記乗数のいくつかのビットの
    同時の処理から生成される出力部分積を生じるため、前
    記演算論理セクションにより前記メモリー・セクション
    の前記の別の記憶場所に記憶された前記部分積値に対し
    て加算するため1ビット位置だけ予め定めた方向へ前記
    シフトレジスタ・セクションの前記乗数桁の内容をシフ
    トさせると同時に、前記被乗数の次の約数の桁を読出す
    ため前記各メモリー・セクションを条件付ける事を特徴
    とする装置。 2 乗数のビットに従って被乗数の約数を選択すること
    により前記被乗数を乗算するための装置において、 タンデムに作用するよう接続される多数の多重ビット・
    プロセサのチップであって、夫々多数のターミナルと、 演算論理装置セクションと、 該演算論理装置セクションに接続されており前記約数の
    選択に使用される前記乗数のビットの値に対しである予
    め定めた関係を有するよう選択された値を有する前記被
    乗数の多数の異なる予め定められた約数桁を記憶する記
    憶場所0グループと、部分積の値を記憶するための別の
    記憶場所とを含む複数個の多重ビツト記憶場所を夫々有
    する多重ビットのアドレス指定可能なランダム・アクセ
    ス・メモリーセクションと、 前記演算論理装置セクションに接続され、前記の多数の
    ターミナルの第1と第2のターミナルに最上位ビット位
    置と最下位ビット位置を接続された前記乗数を記憶する
    ための多重ビツト位置のシフト、レジスタセクションと
    、 前記メモリーセクションと、前記演算論理装置セクショ
    ンと前記多数のターミナルの第3と第4のターミナルと
    に接続された多重ビット人力シフトセクションとを含む
    前記チップと、 1演算サイクルの間に前記シフト・レジスタ・セクショ
    ンの乗数桁の内容の多重桁シフトを可能にするため、前
    記チップの個々の前記第2のターミナルを交互に続くチ
    ップの第1のターミナルに接続する第1の導体装置と、 前記メモリーセクションに記憶される信号の1ビツト位
    置のシフトを可能にするため、前記チップの夫々の前記
    第3と第4のターミナルを直後及び直前のチップの前記
    第4と第3のターミナルに夫々接続する第2の導体装置
    と、 ■グループの連続的な乗数桁を記憶する前記の多数のチ
    ップの予め定められたものの多数の前記第2のターミナ
    ルから選択信号を受取るよう接続される多数の入力ター
    ミナルと、前記の各アドレス指定可能なランダム・アク
    セス・メモリー・セクションに接続される出力ターミナ
    ルとを有する約数選択回路とを有し、前記選択信号が、
    前記演算サイクルの間に前記乗数のいくつかのビットの
    同時の処理から生成される出力部分積を生じるため前記
    演算論理セクションにより前記メモリー・セクションの
    前記の別の記憶場所に記憶された前記部分積値に対して
    加算するため1ビツト位置だけ予め定めた力向へ前記シ
    フトレジスフ・セクションの前記乗数桁の内容をシフト
    させると同時に、前記被乗数の次の約数の桁を読出すた
    め前記各メモリー・セクションを条件付け5かつ前記多
    重ビット人力シフトセクションの各々が前記出力部分積
    の桁を、次の演算サイクルの間に前記別の記憶場所に記
    憶する前に、前記演算サイクル中に1ビツト位置シフト
    する事を特徴とする装置。
JP53056481A 1977-07-15 1978-05-12 浮動小数点演算装置 Expired JPS5829538B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/815,891 US4130879A (en) 1977-07-15 1977-07-15 Apparatus for performing floating point arithmetic operations using submultiple storage

Publications (2)

Publication Number Publication Date
JPS5421141A JPS5421141A (en) 1979-02-17
JPS5829538B2 true JPS5829538B2 (ja) 1983-06-23

Family

ID=25219114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53056481A Expired JPS5829538B2 (ja) 1977-07-15 1978-05-12 浮動小数点演算装置

Country Status (7)

Country Link
US (1) US4130879A (ja)
JP (1) JPS5829538B2 (ja)
AU (1) AU515091B2 (ja)
CA (1) CA1097818A (ja)
DE (1) DE2830334A1 (ja)
FR (1) FR2397677A1 (ja)
GB (1) GB2001189B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4413326A (en) * 1978-10-18 1983-11-01 Honeywell Inc. Floating point division control
US4229801A (en) * 1978-12-11 1980-10-21 Data General Corporation Floating point processor having concurrent exponent/mantissa operation
US4276607A (en) * 1979-04-09 1981-06-30 Sperry Rand Corporation Multiplier circuit which detects and skips over trailing zeros
US4295202A (en) * 1979-11-09 1981-10-13 Honeywell Information Systems Inc. Hexadecimal digit shifter output control by a programmable read only memory
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
DE3144015A1 (de) * 1981-11-05 1983-05-26 Ulrich Prof. Dr. 7500 Karlsruhe Kulisch "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit"
US4594679A (en) * 1983-07-21 1986-06-10 International Business Machines Corporation High speed hardware multiplier for fixed floating point operands
DE3335424A1 (de) * 1983-09-29 1985-04-18 Siemens AG, 1000 Berlin und 8000 München Multiplikationswerk und verfahren zu dessen betrieb
FR2552903A1 (fr) * 1983-10-03 1985-04-05 Moulin Andre Multiplieur
NL8304186A (nl) * 1983-12-06 1985-07-01 Philips Nv Geintegreerde processor voor het verwerken van woordsgewijze ontvangbare informatie.
EP0197945A1 (en) * 1984-09-28 1986-10-22 Motorola, Inc. A digital signal processor for single cycle multiply/accumulation
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL225593A (ja) * 1957-03-07
US3372269A (en) * 1961-06-30 1968-03-05 Ibm Multiplier for simultaneously generating partial products of various bits of the multiplier
US3730425A (en) * 1971-05-03 1973-05-01 Honeywell Inf Systems Binary two{40 s complement multiplier processing two multiplier bits per cycle
US3871578A (en) * 1972-10-10 1975-03-18 Digital Equipment Corp Data processing system for multiplying and intergerizing floating point numbers
US4041292A (en) * 1975-12-22 1977-08-09 Honeywell Information Systems Inc. High speed binary multiplication system employing a plurality of multiple generator circuits

Also Published As

Publication number Publication date
FR2397677A1 (fr) 1979-02-09
FR2397677B1 (ja) 1984-07-20
AU3756278A (en) 1980-01-03
DE2830334C2 (ja) 1988-02-25
CA1097818A (en) 1981-03-17
US4130879A (en) 1978-12-19
GB2001189B (en) 1982-07-07
AU515091B2 (en) 1981-03-12
JPS5421141A (en) 1979-02-17
GB2001189A (en) 1979-01-24
DE2830334A1 (de) 1979-01-25

Similar Documents

Publication Publication Date Title
US4161784A (en) Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands
JP2674754B2 (ja) バレル・シフタ
US4941120A (en) Floating point normalization and rounding prediction circuit
GB1585284A (en) Cpu/parallel processor interface with microcode extension
JPS58158739A (ja) 浮動小数点加算方法及び装置
US4041292A (en) High speed binary multiplication system employing a plurality of multiple generator circuits
US4390961A (en) Data processor performing a decimal multiply operation using a read only memory
GB1585285A (en) Parallel data processor apparatus
JP3418460B2 (ja) 倍精度除算回路および方法
US4484300A (en) Data processor having units carry and tens carry apparatus supporting a decimal multiply operation
JPS5829538B2 (ja) 浮動小数点演算装置
US4384340A (en) Data processor having apparatus for controlling the selection of decimal digits of an operand when executing decimal arithmetic instructions
US4384341A (en) Data processor having carry apparatus supporting a decimal divide operation
US4426680A (en) Data processor using read only memories for optimizing main memory access and identifying the starting position of an operand
US3699326A (en) Rounding numbers expressed in 2{40 s complement notation
US4638450A (en) Equal nine apparatus for supporting absolute value subtracts on decimal operands of unequal length
JPS6061864A (ja) 並列ベクトル・プロセツサ
EP0310701B1 (en) BCD arithmetic using binary arithmetic and logical operations
US4423483A (en) Data processor using a read only memory for selecting a part of a register into which data is written
US4309753A (en) Apparatus and method for next address generation in a data processing system
JPS5838819B2 (ja) デ−タ処理システム用制御ファイル装置
US3604909A (en) Modular unit for digital arithmetic systems
JPS5917457B2 (ja) 2進化10進訂正装置
US4604722A (en) Decimal arithmetic logic unit for doubling or complementing decimal operand
US4608659A (en) Arithmetic logic unit with outputs indicating invalid computation results caused by invalid operands