JPS5828609B2 - トクシユメイレイシヨリソウチ - Google Patents

トクシユメイレイシヨリソウチ

Info

Publication number
JPS5828609B2
JPS5828609B2 JP48114325A JP11432573A JPS5828609B2 JP S5828609 B2 JPS5828609 B2 JP S5828609B2 JP 48114325 A JP48114325 A JP 48114325A JP 11432573 A JP11432573 A JP 11432573A JP S5828609 B2 JPS5828609 B2 JP S5828609B2
Authority
JP
Japan
Prior art keywords
processing unit
signal
central processing
instruction
special
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
JP48114325A
Other languages
English (en)
Other versions
JPS49100938A (ja
Inventor
エイ フアン ド ゴール エイチ
エイ デラジ ブルース
ビー ヒユーズ レオナード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPS49100938A publication Critical patent/JPS49100938A/ja
Publication of JPS5828609B2 publication Critical patent/JPS5828609B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
本発明は、一般的にはデータ処理装置に関連し、更に詳
しく述べると、別個のクラスの命令を実行することがで
きるデータ処理装置に関する。 背景技術 データ処理装置における中央演算処理装置は、普通機械
命令として知られている一組の命令を実行することがで
きることを特徴とする。 これらの命令は、 「ワード向き」であることが普通で
ある。 すなわち、命令は、命令を記憶する記憶装置内の1ワー
ド内のディジタル・ビットの数と等しい長さを持つ単一
のデータ・フードに作用する。 しかしながら、たとえば浮動小数点算術演算のように、
2又はそれ以上の記憶用のワードを必要とするデータに
ついて演算を実行することが、ある場合には望ましい。 浮動小数点機能で使われるデータは、通常整数および小
数部分を分離する小数点を持った固定小数点2進数とし
て記憶される。 しかしながら、浮動小数点演算は、浮動小数点形式の数
で実行される。 従って、固定小数点数を指数と仮数とから成る浮動小数
点形式に変換することが必要である。 2進表記法では、仮数は、すぐ左に2進小数点を持ち、
その2進小数点の左に符号ビットを持った小数である。 指数値は、「2」のべき乗を表わし、それにより仮数は
乗ぜられ、固定小数点形式を得る。 通常、仮数は前にある0を取除き、仮数を左にシフトし
、同時に指数減小することにより「正規化」される。 通常の「ワード向き」命令は浮動小数点数で作動するこ
とはできない。 従って、このデータを取扱うことができる浮動小数点命
令のような別個のクラスの命令を持つのが普通である。 命令は別個のクラスにあるとはいえ、プログラムにとっ
ては、そのプログラミングの仕事を簡単化するために、
機械および浮動小数点の両方の命令を混ぜることができ
ることが極めて望ましい。 浮動小数点命令は、特別の応用用の特殊クラスを表わす
。 他のクラスは他の応用のために定められうる。 たとえば、あるクラスの命令は、正弦および余弦匝を直
接得るための命令のような各種の三角関数に基づいても
よい。 従って、特殊クラスの命令を実行することができるデー
タ処理装置は、そのクラスにより実行される機能が、中
央演算処理装置に対する重大な変換を必要とせずに容易
に変更されるならば、一層融通性があり望ましい。 ここで、本明細書中においては、中央演算装置が通常実
行できる普通の機械命令とは別個のクラスの命令の1例
として浮動小数点命令について説明されているが、本発
明は、このような浮動小数点命令に限らず、中央演算処
理装置が通常実行できる普通の機械命令とは異なる特殊
クラスの命令がその他にも考えられるので、本発明はこ
れらのすべての特殊クラスの命令にも同様に適用しうる
ものであるので、本明細書において、浮動小数点命令を
含めてこれらのすべての特殊クラスの命令を意味する用
語として「特殊命令」なる用語が使用されており、また
、このような特殊クラスの命令を実行しうる特別設計の
処理装置を意味する用語として「特殊命令処理装置」な
る用語が使用される。 従来技術 あるデータ処理機械においては、中央演算処理装置は特
殊命令を実行するための特別な回路を含んでいる。 この「ハードウェア」的方法でも、浮動小数点命令は、
通常の機械命令を行なうよりかなり多くの時間が、その
演算を終了するために必要であることが普通である。 浮動小数点命令も含めて、順次全ての命令を中央演算処
理装置が実行する時、浮動小数点命令の追加は、与えら
れたプログラムを完了するのに必要な全時間を極めて増
加する。 更に、ハードウェア的方法は製造される時に回路が中央
演算処理装置に組入れられることが必要であり、その結
果、中央演算処理装置における特殊クラスの命令が前も
って定められる。 特殊クラスにより行なわれる機能は、あまり容易に修正
されない。 もう1つの方法は、浮動小数点機能を実施するための機
械命令のセットから戒るサブルーチンを使うことである
。 中央演算処理装置は、浮動小数点命令をプロセッサを適
当なサブルーチンを実行するようにし向ける命令として
使うだけである。 この方法は、特殊クラスの命令により行なわれる機能を
比較的簡単に変更することを可能にしている。 しかしながら、この方法は、普通ノ・−ドウエア的方法
より極めて遅い。 その他の先行技術のデータ処理装置は別個の機能モジュ
ールを並列に使っている。 各モジュールは別個の機能を行ない。 データを記憶装置から直接に検索し、又は逆に直接記憶
することにより独立して作動する。 浮動小数点命令に関しては、各モジュールは、単一の浮
動小数点命令又は多くても限定されたグループに従って
作動する。 モジュールは並列して作動するので、2つ又はそれ以上
が同時に作動する。 単一の演算を実行するのに必要とされる時間は、これま
でのハードウェア的方法とほぼ同じであるが、モジュー
ルの並列的性質は、特殊命令を含むプログラムを実行す
るための時間を極めて減少する。 各モジュールは独立して作動することが可能でなければ
ならないので、回路の冗長性が必要である。 各モジュールは通常1つの機能だけ行ない、他の機能用
には容易に変換されえない。 これまで、並列モジュールを使うこの方法は大型データ
処理装置に限定されてきた。 従来技術の問題点 特殊命令(例えば、浮動小数点)を処理するための前述
した従来の3つの方法のうち最初の2つの方式、すなわ
ち、中央演算処理装置がその他の命令としてその特殊命
令を単に処理していく方式及び中央演算処理装置がその
特殊命令を処理するためサブルーチンへ飛び越しを行な
うようなサブルーチン方式では、中央演算処理装置がそ
の特殊命令の処理のために使用されてしまっているので
その間に他の処理を行なうことができないという欠点が
ある。 また、3番目の従来方式では、多数の処理装置が並列に
接続されていて、それらの並列動作を行ないうるように
するために各モジュールに付加的な回路を必要とすると
いう問題点を有している。 発明の目的 従って、通常の機械命令と混ぜられうる特殊クラスの命
令を実行するために、中央演算処理装置に接続可能な装
置を提供することが、本発明の目的である。 中央演算処理装置と平行して作動し、特殊クラスの命令
を処理するための装置を提供することが本発明のもう1
つの目的である。 本発明の更にもう1つの目的は、特殊セットの命令を実
行し、しかも命令が実行する機能が容易に変えられうる
ような装置を提供することである。 発明の要約 本発明は、中央演算処理装置の動作と浮動小数点命令等
の特殊命令を処理するための特殊命令処理装置の動作と
の間の相互連結及び同期化を行なうもので、それら装置
の並列接続を避けながらそれら装置の並列動作を可能な
ものとし、装置全体の価格を低減でき且つ装置の処理速
度を高めることにあります。 すなわち、本発明によれば、中央演算処理装置が特殊命
令を特殊命令処理装置へ転送しうるようにされ、そして
、特殊命令処理装置がその特殊命令を実行している間、
中央演算処理装置は、他の処理動作を行ないうるように
されている。 例えば、中央演算処理装置は、特殊命令処理装置が特殊
命令を実行している間に、特殊命令処理装置からの結果
に依存しない割込みを実行したり、その他のハウスキー
ピングオペレーションを行なうことができる。 より詳細に述べるならば、本発明によれば、特定の命令
コードにより同定される独立したクラスの特殊命令を実
行するための特殊命令処理装置が設けられ、中央演算処
理装置は、これらのコードを同定し、それ自身を除勢し
、中央演算処理装置およびその特殊命令処理装置との間
で送られる一連の制御信号を通して、特殊命令処理装置
は、中央演算処理装置と並行してその特殊命令を実行す
る。 いくつかの準備的ステップの後、中央演算処理装置はそ
の作動プログラムに戻ることができ、任意の他の機械命
令を順次実行し、一方、特殊命令処理装置も作動する。 従って、多くの機械命令が特殊命令の間に入れられるな
らば、中央演算処理装置は、あまり極だった作動遅延に
出会わな(ですむ。 実際に特殊命令を実行する特殊命令処理装置内では、制
御回路がその命令をデコードし、それを実行するために
必要な信号を生成する。 その装置は、データを保持するための記憶レジスタも含
んでいる。 制御回路は中央演算処理装置からは独立しているので、
他のクラスの命令に応答するデータ処理装置をつくるた
めに、各種の装置が中央演算処理装置に接続されうる。 本発明は、特許請求の範囲においては、特殊性をもって
示されている。 本発明の上記および他の目的の更に完全な理解は、添付
図面を参照しつつ行なわれる以下の記述により得られよ
う。 本発明は、多くのデータ処理装置に適用可能なものであ
るが、特殊データ処理装置によってもっとも容易に理解
される。 かかる装置の1つは、「プログラム・カウンタを含む複
数個のレジスタの1つを同定する命令アドレスを持った
データ処理装置」に対して1971年10月19田こ出
された米国特許第3.614,741号に説明されてお
り、その特許は、本発明の譲受人に譲渡されており、こ
こでは参考として組入れられている。 さて、第1図を見ると、中央演算処理装置10は、第1
図に示されたデータ処理装置の中心にある。 それは、通常記憶装置11から順次得られたプログラム
命令を実行する。 入出力タイプライタおよび磁気ディスク又はドラム・メ
モリのような周辺装置12も、母線により中央演算処理
装置10および記憶装置11に並列に接続する。 中央演算処理装置10が、特殊クラスの浮動小数点命令
、又は他の命令をデコードするとき、一連の対話的なス
テップが、中央演算処理装置10および実際に特殊クラ
スの命令を実行する装置13の間に起る。 これらのステップ中に、命令はその装置(以後浮動小数
点装置13という)に移る。 一度び、対話的なステップが完了すると、その浮動小数
点装置13は、それ以上中央演算処理装置とのやりとり
をせずに指示された機能を実行する。 浮動小数点命令を実行するために、浮動小数点装置13
は、浮動小数点数で作動し、このための回路を含んでい
る。 更に第1図を見ると、指数計算論理装置14は、指数お
よび他のデータ情報を処理する。 端数計算論理15は、浮動小数点数の小数部分を処理す
る。 スクラッチ・パッド・アキュムレータ・レジスタ装置1
6は、データを記憶し、レジスタとレジスタとの間の転
送のために使われるいくつかの汎用レジスタを含んでい
る。 レジスタ装置16内の各レジスタは、「ワー目を、通常
記憶装置11内に「ワード」として記憶されるn個のデ
ィジタル・ビットのグループを同定するという意味で使
って、いくつかの「ワー目を記憶することができる。 スクラッチ・パッド・アキュムレータ・レジスタ装置1
6によって、各ワードはレジスタ・バイトを構成し、レ
ジスタ・バイトの位置は、レジスタ番号およびバイト番
号により同定される。 たとえば、Ac1
〔0〕は、装置16の最低位のレジス
タ・バイト位置を同定し、一方、Ac1〔3〕は、最高
位のレジスタ・バイト位置を同定する。 いくつかの母線が中央演算処理装置10と、浮動小数点
装置13および浮動小数点装置13内の回路とを接続す
る。 アドレス情報は演算処理装置10からアドレス母線11
を通って移動する。 中央演算処理装置10が浮動小数点装置13内で行なわ
れた演算の結果を「欲する」時はいつでも、それは母線
18を通してデータを受取る。 中央演算処理装置10からのデータ転送は、データ母線
19を通して起る。 両方向母線20は、後で説明されるように、2つの装置
の間で制御信号を送る。 浮動小数点装置13内の母線21は、装置14から装置
16にデータを転送し、一方、母線23はそこからの情
報を返す。 同様に、母線23および24は、端数計算論理装置15
からスクラッチ・パッド・アキュムレータ・レジスタ装
置16へおよびその逆向きにそれぞれデータを移す働ら
きをする。 中央演算処理装置10が一連の機械命令を実行する時、
それは第3A図に示された基本的な演算を行なう。 ステップ201は、第1図に示された記憶装置11のプ
ログラム・カウンタ51により同定される場所から命令
を取り出し、次の命令の点にプログラム・カウンタ51
を増加する。 それは次に、ステップ203が命令が浮動小数点命令で
ないと判断したならば、ステップ202において命令を
実行する。 このプロセスは、命令デコーダ52(第1図)が浮動小
数点命令を受取るまで、反復的に起る。 命令デコーダ52が浮動小数点命令を受取る時はいつで
も、ステップ203はステップ204に分岐する。 プログラム・カウンタ51は、命令が取り出されるとき
、通常の如く自動的に増加される(前に進められる)の
であるが、その命令が特殊命令(浮動小数点命令)とし
てデコードされるならば、プログラム・カウンタ51は
減分され(後へ進められる)、従って、元の位置へ戻さ
れる(ステップ204)。 この位置で、プログラム・カウンタ51は、記憶装置に
おける浮動小数点命令を指している。 プログラム・カウンタ51のその内容は、後述するよう
にしてその命令が特殊命令処理装置(浮動小数点装置)
13へ通された後、その特殊命令処理装置へロードされ
る(ステップ107)。 従って、中央演算処理装置が特殊命令処理装置の動作と
並行して割込みを行ない又はその他の動作を行なってい
るとしても、特殊命令処理装置は、処理している命令の
記憶場所の記録を有していることになる。 ステップ205においては、制御装置53(第1図)は
、制御母線20内の線を通してFPATTN信号を生成
することにより、命令デコーダ52内の信号に応答する
。 一度びステップ205が完了すると、中央演算処理装置
10は、浮動小数点装置13がFPSYNC信号を転送
するまで、待ち状態に戻る。 しかしながらこの状態中に、中央演算処理装置10は、
割込みルーチンを実行したり、又は他の機能を行なうこ
とができる。 しかしながら、実行されているプログラム内のいかなる
命令も処理することはできない。 ステップ205でFPATTN信号を生成する時に、浮
動小数点装置13は、前の浮動小数点命令を処理してい
てもよいし、していなくてもよい。 浮動小数点装置13がふさがっているならば、中央演算
処理装置10は、浮動小数点装置13がその前の演算を
終了するまで待ち状態に留まる。 浮動小数点装置13が各命令を完了する時、それは、第
3A図に示されたステップ101,102および103
を実行する。 ステップ101においては、制御55(第2図に示され
ている)はFPREQ信号を除勢する。 FPREQ信号は出されている時、浮動小数点装置13
が母線18又は19の1つを通してのデータ転送を期待
していることを示す。 すると、制御回路55は、浮動小数点状態レジスタ31
の内容を、アキュムレータ・マルチプレクサ(ACMX
)35に移し、このACMX:は、■又は2ワードを並
列にレジスタ装置16内へ選択的に転送することができ
る。 この場合、状態ワードは、Ac1〔O〕レジスタ・バイ
ト位置に移る。 母線マルチプレクサ(BMX)37は、Ac1〔O〕バ
イト位置の内容をスカレジスタ30につなぎ、λカレジ
スタ30は、母線18上へ、又は指数演算論理装置34
への転送用のデータを記憶する。 ステップ103においては、制御55は、データ入力マ
ルチプレクサ(DIMX)32、および指数マルチプレ
クサ(EMX)33、指数演算論理装置34およびアキ
ュムレータ・マルチプレクサ35を通して、母線17上
のアドレスをレジスタ装置16に転送すべく通路を開く
。 一度びこの通路が開になると、制御55は待ち状態に入
り、制御母線20を通して中央演算処理装置10からの
FPATTN信号を受取るまで、いかなる他の機能も行
なわない。 依然として第2および第3図を参照しつつ、浮動小数点
装置13内の制御装置55が第3A図における待ち状態
に入った後、中央演算処理装置がステップ205におい
てF PAT T N信号を発生するものと仮定すれば
、制御装置55は、ステップ104〜110を実行する
ことによりFPATTN信号に応答する。 F PAT T N信号が制御55に到達する時、BR
レジスタ55の内容は、データ母線19上および命令レ
ジスタ(FIR)43内に移る。 ステップ104においてこれらの機能を実行した後、制
御装置は、浮動小数点装置13内に符号情報を記憶する
レジスタ44sおよび44dをノセットすることにより
ステップ105を実行する。 それからステップ106において制御55はFP皿Q信
号を生成する。 同じ時に、プログラム・カウンタ51(第10は、浮動
小数点命令用の記憶アドレスを含んでいる。 このアドレスは、アドレス母線17および前に開かれた
通路を通って、アキュムレータ・レジスタ装置16内の
Ac1〔1〕レジスタ・バイト位置内に移る。 この命令レジスタ43は、第2図の制御回路55内に設
けられる命令デコーダと関連付けられている。 浮動小数点クラス内の命令の1群は、固定小数点数を浮
動小数点数に、およびその逆向きの変換をするための変
換命令を含んでいる。 命令が変換命令であるならば、ステップ108はステッ
プ109に分岐し、ステップ109は浮動小数点装置1
3をして変換を実行せしめる。 ステップ110はFPSYNC信号の次の生成を可能に
する。 次に制御55は、中央演算処理装置10が再びFPAT
TN信号を生成するまで待ち状態に戻る。 FPSYNC信号は、短時間の遅延の後伝送されて、あ
る種の信号を処理せしめ、ある種の他の準備的演算を起
させる。 さて、第1および3C図を参照すれば、浮動小数点装置
13がこの待ち状態に入る時、中央演算処理装置10お
よび特に制御53はFPSYNC信号を待っている。 これが起る時、中央演算処理装置10は、入力レジスタ
30(第2図)内の状態ワードを、母線18およびBR
MXマルチプレクサ54を通してBRレジスタ55にロ
ードすることにより処理する。 データを定めるために伺らかのアドレス計算が必要であ
るならば、制御53はステップ201でそれらを行なう
。 それから制御53は制御母線20を通して第2図の制御
55に転送するためにPPATTN信号を生成する。 ステップ208を実行した後、システムは、浮動小数点
命令が含んでいるデータ・アドレスに依り、2つの待ち
状態のうちの1つに入る。 各浮動小数点命令は、いくつかのモードのうちのlっを
とりうる指定アドレスを持つ。 これらのうちの1つはモードOアドレスである。 モードOアドレスが存在する時は、浮動小数点装置用の
データは、中央演算処理装置10内の汎用レジスタか、
又は装置16内のレジスタかのいずれかの中にある。 これが真ならば、ステップ209は待ち状態210に分
岐し、そうでなげればシステムは待ち状態211に分岐
する。 浮動小数点装置13がFPATTN信号を受取る時、そ
れはこれらの特定の命令に従って分岐する。 一般的にいえば、装置13および中央演算処理装置10
は、それからは浮動小数点装置13からのFPSYNC
およびFPREQ信号および中央演算処理装置10から
のFPATTN信号の制御のもとに相互に作用する。 第3D図は、この相互作動状態中における中央演算処理
装置のオペレーション用の一般的な流れである。 プロセッサ(演算処理装置)がモードOの指定アドレス
を待っている状態にある時、制御55がFPSYNC信
号を生成するならば、中央演算処理装置10は、 「レ
ジスタ書込み」信号が出されているかどうかを決定する
ためにステップ212を使う。 この信号は、演算処理装置10内の汎用レジスタの1つ
にデータをロードすることが必要であるかどうかを示す
。 信号が出されているならば、ステップ212はステップ
213に分岐し、そこでは、アキュムレータ・レジスタ
16から、データ母線18および母線マルチプレクサ5
4を通して、レジスタ内への記憶のためにデータが移る
。 中央演算処理装置10および浮動小数点装置13の間に
はそれ以上の相互作用は必要でないので、ステップ21
3は制御53をステップ201に戻し、中央演算処理装
置10はその次の命令をとって来る。 一方、演算処理装置10が待ち状態211にある間に、
浮動小数点装置13がFPSYNC信号を生成するなら
ば、制御53はステップ214を使ってFPREQ信号
の状態をチェックする。 FPREQ信号が無ければ、それ以上の相互作用の必要
がないことを意味し、ステップ214は制御53をステ
ップ201に戻す。 FPREQ信号が存在すれば、伺らかのデータが転送さ
れるべきである。 浮動小数点装置制御55により生成される他の制御信号
が、データ転送の向きを決定する。 記憶装置11にデータをロードするために、ステップ2
15はステップ216に行き、そこでは、中央演算処理
装置10がBRレジスタ55の内容を記憶装置11内に
ロードする。 データが記憶装置11からロードされるべきであるなら
ば、ステップ217がこの機能を行ない、データをBR
レジスタ55内にロードする。 中央演算処理装置10内の母線アドレス・レジスタ(示
されていない)はステップ218で増加され、これで中
央演算処理装置10に対するシーフェンスの1サイクル
が完了し、その結果ステップ219において、制御53
はFPATTN信号を生成し、それから待ち状態211
に移る。 前述のように、この処理サイクルは、特定の命令が何で
あっても中央演算処理装置10で起る。 第3E 、3Fおよび3G図は、異なった命令に応答し
て浮動小数点装置13が使うステップを一般的に示して
いる。 第3C図では、ステップ112は適当でない命令に対し
てはステップ113にいく。 これが起る時、ステップ113はFPSYNCパルスを
生成せしめ、直後にステップ114はF P REQ信
号を除勢する。 制御55も、不適当な命令の性質を示す定数をAC7[
0)レジスタ・バイト位置に記憶し、何らかの必要な割
込み信号を生成し、関連したデータをステップ115お
よび116に記憶する。 それからシステムは自動的にステップ101にもどる。 FPSYNC信号が中央演算処理装置10に行くとき、
第3D図のステップ214は1−NOJ分岐を通り、中
央演算処理装置10は、起りうる何らかの割り込みに依
存して、直ちにその次の命令を実行し始める。 分岐の時に、メモリから、又はメモリへのデータ転送の
ために記憶サイクルがもはや必要でないならば、ステッ
プ111はステップ118〜120に分岐する。 ステップ118は、制御55をしてFPSYNC信号を
生成することを可能にせしめ、その後ステップ119で
FPREQ信号を除勢する。 それから命令が実行される。 この時間中に制御55はFPSYNC信号を生成する。 中央演算処理装置10は直ちに次のプログラム命令に戻
る。 度び命令が完了すると、ステップ120は制御をステッ
プ101に戻し、その結果終了シーフェンスが実行され
る。 記憶装置11からデータを得ることが必要である時、ス
テップ121(第3E図)は制御をしてステップ122
〜132を実行せしめる。 ステップ122では制御はFPSYNC信号を付勢する
。 何らかのアドレス修正が必要であるならば、制御55は
INCADR信号(第3F図のステップ123および1
24)を生成し、この信号を中央演算処理装置10は、
それがステップ218を実行スるかどうか制御するため
に使う。 次に、ステップ125で制御はFPCI信号を生成し、
それからF PAT T N信号を待つ。 制御55がその信号を受取る時、データは装置16内の
指定されたレジスタ内にロードする。 FPCI信号はデータが移動している向きを示す。 更にデータがロードされるべきであるならば、ステップ
127はステップ128に行き、制御55は別のF P
S YN C信号を生成し、ステップ123に戻る。 一度び全てのワードがロードされると、ステップ127
はステップ130に行き、そこでは再びFPSYNC信
号を付勢し、その後ステップ131でFPREQ信号を
除勢する。 それから中央演算処理装置10はステップ201に戻る
ことができる。 ステップ132では、ステップ101で始まる終了ルー
チンに戻る前に、制御55は浮動小数点命令を実行する
。 データをレジスタ装置16から記憶装置11内にロード
することが必要である時、同様なステップの組が起る。 制御55が記憶命令をデコードする時、それはデータを
入力レジスタ30に移し、それからFPSYNC信号を
付勢し、FPC■信号をして出力オペレーションを示す
ようにさせる。 中央演算処理装置10がF PS YN C信号を受取
る時、それはステップ217(第3D図)に従って、デ
ータを記憶する。 もし別のワードが記憶されるべきであるならば、ステッ
プ135は次のFPATTN信号の後ステップ136に
分岐し、そこでアドレス修正の必要性が判断される。 アドレス修正が必要ならば、ステップ137はIN C
AD R信号を生成する。 一度び全てのワードが記憶されると、制御55はステッ
プ135から「NO」分岐で出て、ステップ141でフ
リップフロップ76をセットし、ステップ101で始ま
る終了ルーチンへ戻る。 制御55の詳細についてのある部分を示している第4図
を参照することにより、制御信号のやりとりの方法につ
いてより一層理解されよう。 FPATTN信号の先端はフリップフロップ70をセッ
トし、それによりANDゲートを付勢し、フリップフロ
ップ73にセット信号を供給せしめ、フリップフロップ
73はセットされる時FPREQ信号を生威する。 この信号は伺らかのデータ転送が起ろうとしていること
を示し、制御55はDS EL倍信号応答してそれを生
威し、このDSEL信号は、第3B図のステップ106
のようなステップに対応する時に起る。 NANDゲート301は、フリップフロップ73がセッ
トされる時、正のFPCI信号を生成し、その出力導体
85により表わされるフリップフロップはREAD信号
を出さない。 これは書込みオペレーションが起ることを意味する。 命令が読取りオペレーションでのデータの転送を要求す
る時、?1ilt155は導体85にREAD信号を出
しその結果FPCI信号は出されない。 フリップフロップ73は、フリップフロップ304がリ
セットされるまでFPREQ信号を生成し続げる。 NANDゲート305からのクロック・パルスの後端が
フリップフロップ304をリセットする。 これは、続いてくるT2クロック・パルスとともに終了
を要求するある種の内部状態が起ることを示すDISB
信号に応答して起る。 貝肉RESET信号の後端もフリップフロップ73にク
ロックしてリセット状態にさせ、FPREQ信号を除勢
させる。 第3図で、FPSYNC信号を付勢するためのフリップ
フロップ76をセットする(たとえば第3C図内のステ
ップ110)ということは、それぞれタイミングおよび
制御装置302をして5YNC信号を生成せしめる。 この信号は、ゲードア4を付勢して、後続の装置302
からのT3タイミング・パルスをフリップフロップ76
のセットS気力に向かわせる。 フリップフロップ76の出力はNANDゲートおよび後
続のインバータ307を付勢して正のT2パルスをFP
SYNCパルスとして母線20に送らしめる。 NANDゲート306からの出力は、各FPSYNCパ
ルスの後端をしてフリップフロップ76をリセットせし
め、装置302が次の5YNC信号を生成するまでそれ
以上のFPSYNCパルスを除勢する。 フリップフロップ304がリセットする時はいつでも、
それはORゲート311を通してリセットRλ力にオー
バーライディングリセット信号を供給することによりフ
リップフロップ16を除勢する。 フリップフロップ76もまたある種の変換命令に応答し
てリセットする。 これらの状態が起る時、装置302はC0NV信号およ
びT4信号を生成し、ANDゲート310へ2つの入力
を提供する。 後続のクロック(CLK)パルスは付勢すれたANDゲ
ート310およびORゲート311を通して送られ、フ
リップフロップ76をリセットする。 2つの他の信号がフロップ73および76に作用する。 中央演算処理装置10が浮動小数点命令をデコードし、
割込み信号を受取るならば、それは浮動小数点装置13
とのそれ以上の通信を終了してよい。 これが起る時、中央演算処理装置内の制御53は、IN
TRCLR信号を生成し、これはORゲート312を通
して直接にフリップフロップ10をリセットし、それに
よりゲート72を除勢する。 制御55が続いてDSEL信号を生成する時、ゲート7
2はそれを阻止する。 INTRCLR信号が現われる時フリップフロップが前
にセットされていたならば、ゲート313はゲート31
4を付勢し、INIT信号を送らせ、フリップフロップ
304を直接セットさせる。 中央演算処理装置は、それがオンにされる度びにINI
T信号を生成し、これが開始信号を構成する。 フリップフロップ304をセットすることにより、フリ
ップフロップ76へのリセット入力の1つは取り除かれ
、その結果後続の5YNCおよびT3パルスがフリップ
フロップ76をセットすることができる。 制御302もまたデコードされている特定の命令に依存
する信号に応答して、上述のINCADRおよび「レジ
スタ書込み」信号を生成する。 ここで、前述したように本発明の装置の動作において重
要な役割を果たすFPATTN信号(転送信号)、FP
SYNC信号(同期信号)及びFPREQ信号(制御信
号)についてまとめて説明しておく。 FPATTN(Floating point Att
ention)信号は、中央演算処理装置が特殊命令処
理装置のなんらかの動作を要求していることを指示する
ため、中央演算処理装置によって発生されるものである
。 例えば、中央演算処理装置は、特殊命令を特殊命令処理
装置へ転送する場合(ステップ205参照)やオペラン
ドを特殊命令処理装置へ転送する場合(ステップ125
の後の゛FPATTN信号を待゛参照)に、このFPA
TTN信号を発生する。 また、中央演算処理装置は、記憶装置へ転送するため特
殊命令処理装置からデータを受ける場合に、とのFPA
TTN信号を発生する(ステップ140に続く゛FPA
TTN信号を待つ゛参照)。 FPSYNC信号(Floating Po1nt S
ynch−ronizing)信号は、特殊命令処理装
置が中央演算処理装置によるサービスを必要としている
ことを指示するため、特殊命令処理装置によって発生さ
れるものである。 例えば、特殊命令処理装置は、命令が違法命令である場
合には、このFPSYNC信号を発生して、中央演算処
理装置がその特殊命令処理装置の状態レジスタの内容を
検索するようにせしめる(ステップ113参照)。 また、特殊命令処理装置は、記憶装置へ又は記憶装置か
らデータを転送することが必要な場合に、とのFPSY
1’C信号を発生する(ステップ134及び122参局
。 FPREQ(Floating Po1nt Requ
est)信号は、特殊命令処理装置がオペランドに関し
て中央演算処理装置によるサービスを必要としているこ
とを指示するため、特殊命令処理装置によって発生され
るものである。 例えば、特殊命令処理装置がアドレス計算を必要とする
場合には、特殊命令処理装置は、このFPREQ信号を
発生する(ステップ106参照)。 ここで注意すべきことは、特殊命令処理装置がこのFP
REQ信号を発生しているだけでは、中央演算処理装置
はなにも動作せず、特殊命令処理装置からFPSYNC
信号を受けて初めて動作するということである(ステッ
プ110参照)。 また、特殊命令処理装置は、記憶装置へ又は記憶装置か
らデータを転送する必要があるとき、このFPREQ信
号を発生する(ステップ106にてセットされており、
実際に、特殊命令処理装置が記憶装置へ又は記憶装置か
らデータを転送する必要のない場合又はアドレス計算を
必要としない場合にはとのFPREQ信号は取り消され
る)。 同様に、ここでも注意すべきことは、特殊命令処理装置
がこのFPREQ信号を発生しているだけでは、中央演
算処理装置はなにも動作せず、特殊命令処理装置からF
PSYNC信号を受けて初めて動作するということであ
る。 すなわち、中央演算処理装置は、特殊命令処理装置が発
生するFPSYNC信号にのみ応答して動作を開始する
のであって、特殊命令処理装置の発生するFPREQ信
号は、中央演算処理装置が行なうべき動作の種類を指示
するのに使用されているだけである。 前述したように、中央演算処理装置の命令デコーダ52
が特殊命令である浮動小数点命令を受は取る時、中央演
算処理装置は、FPATTN信号を発生して、その特殊
命令を特殊命令処理装置へ転送する。 特殊命令処理装置は、その特殊命令を実行する。 特殊命令処理装置は、その特殊命令の実行に際して、ア
ドレス計算や記憶装置とのデータ転送等のための中央演
算処理装置による補助動作を必要とするときには、その
補助動作の種類を示すFPREQ信号を発生し、また、
FPSYNC信号を発生する。 中央演算処理装置は、そのFP S YNC信号に応答
してそのFPREQ信号の有無をチェックし、FPRE
Q信号があればそのFPREQ信号の指示する補助動作
を実行する。 特殊命令処理装置は、その特殊命令の処理を完了したと
きには、FPSYNC信号を発生するが、FPREQ信
号は発生しない。 従って、中央演算処理装置は、そのFPSYNC信号に
応答して、そのFPREQ信号の有無をチェックし、F
PREQ信号がないので、プログラム・カウンタ51に
従って次の命令の実行へと進む。 このように、中央演算処理装置は、次の3つの動作を除
けば、特殊命令処理装置と相互動作をする必要がないこ
とになる。 (1) %殊命令を特殊命令処理装置へ転送すること(
例えば、ステップ203,204,205)(2)その
命令を処理するのに使用されるオペランドのアドレス計
算(例えば、ステップ207)(3)特殊命令処理装置
から状態を検索するとと(例えば、ステップ206) 従って、中央演算処理装置は、FPATTN信号を発生
してから特殊命令処理装置がFPSYNC信号を発生す
るまでの間は、特殊命令処理装置の動作と並行して、割
込み処理や特殊命令処理装置の動作と並行しうるその他
の処理動作を行なうことができる。 その上、本発明の特殊命令処理装置は、記憶装置への又
は記憶装置からのデータ転送のために中央演算処理装置
のバスインターフェイス部分を利用しているから、本発
明によれば、システム全体としてのバスインターフェイ
ス回路が減少される。 また、本発明の特殊命令処理装置は、アドレス計算の如
き特定の動作を行なう回路として中央演算処理装置の回
路を利用するのであるから、本発明によれば、システム
全体としてのこの種の回路も減少される。 従って、本発明によれば、全体として安価なシステムに
て中央演算処理装置と特殊命令処理装置との間に特定の
並行処理を行なえるようにすることができるのである。 まとめると、浮動小数点装置13は特殊クラスの命令用
のプロセッサである。 この実施例においては、それはたまたま浮動小数点命令
用のプロセッサであった。 それは中央演算処理装置とは比較的独立して作動可能で
あり、それ自身および中央演算処理装置との間の相互作
用を制御する。 すなわち、中央演算処理装置は、更に相互連絡が必要で
あることを示すFPREQおよびFPSYNC信号の組
合わせを受取る限りにおいて、浮動小数点装置とやりと
りする。 従って明らかなように、装置13内の制御およびいくつ
かの内部レジスタを変え、装置13が行なう機能を変え
ることだけが必要である。 中央演算処理装置10には何も変更は必要ではない。 この方法では、従って、単に中央演算処理装置からいく
つかの接続をはずし、装置13を置きかえることにより
このクラスの命令を変えることが可能である。 第3図に示された一般的な流れ図を実施することができ
る他の多くの特別な実施例があることも明らかであろう
。 更に、いろいろな線図に示された流れ図および回路は変
更されうる。 従って、本発明の正しい精神および範囲内での全てのか
かる変更および修正を包含することが特許請求の範囲の
目的である。
【図面の簡単な説明】
第1図は中央演算処理装置および別個のクラスの命令を
実行するための並列装置を持ったデータ処理装置を示す
。 第2図は、浮動小数点命令を処理するようにされた、第
1図に示された並列装置の詳細なブロック線図である。 第3A−G図は、その装置のオペレーションを中央演算
処理装置とともに説明するための流れ図である。 第4図は、第2図の装置用の特殊制御回路の特定の部分
の模式線図である。 10・・・・・・中央演算処理装置、11・・・・・・
記憶装置、12・・・・・・周辺装置、13・・・・・
・浮動小数点装置、14・・・・・・指数計算論理、1
5・・・・・・端数計算論理、16・・・・・・レジス
タ装置、17,18,19,20,21゜22.23,
24・・・・・・母線、51・・・・・・プログラム・
カウンタ、52・・・・・・命令デコーダ、53・・・
・・・制御装置、55・・・・・・制御回路、31・・
・・・・浮動小数点状態レジスタ、30・・・・・・λ
カレジスタ、32・・・・・・データ久カマルチプレク
サ、34・・・・・・指数演算論理装置、33・・・・
・・指数マルチプレクサ、43・・・・・・命令レジス
タ。

Claims (1)

  1. 【特許請求の範囲】 1 中央演算処理装置(10;第1図)に接続し、前記
    中央演算処理装置の他の演算と並行して特殊命令用のデ
    ータを処理するための特殊命令処理装置において、 (イ)アドレス通路(17;第1図)、データ通路(1
    8,19;第1図)および制御通路(20;第1図)に
    接続され前記中央演算処理装置から前記特殊命令を受け
    るための手段と、 仲)前記制御通路上の転送信号(FPATTN;第2図
    )に応答して、前記特殊命令処理装置を可能化し命令用
    の第1の処理サイクルを開始せしめるための手段と、 (ハ)一連の処理サイクルで各命令を処理し、各処理サ
    イクル中に制御信号(FPREQ ;第4図)および同
    期信号(FPSYNC;第4図)を発生し、その後は更
    に別の転送信号を受取るまでそれ以上の処理を阻止する
    ような制御手段(55;第2図及び第4図)と、 (ニ)各命令について最終処理サイクル中に制御信号を
    不能化するための手段(305,304゜73;第4図
    ニステップ114;第3C図)と、を備えることを特徴
    とする特殊命令処理装置。 2、特許請求の範囲第1項記載の特殊命令処理装置にお
    いて、該特殊命令処理装置は、命令デコーダ、制御装置
    および特殊命令を処理するための装置(34,42;第
    2図)を含み、前記制御信号は前記中央演算処理装置か
    らの転送信号に応答して、前記特殊命令処理装置および
    前記中央演算処理装置を相互に作用せしめ(70,72
    ,73;第4図ニステップ104−106 ;第3B図
    )、前記制御装置は、更に相互作用が必要である時制御
    信号および同期信号を生成するために前記デコーダに応
    答する装置(72,73;第4図ニステップ108;第
    3B図)を含み、前記制御および同期信号は前記中央演
    算処理装置に接続されることを特徴とする特殊命令処理
    装置。 3 特許請求の範囲第1項記載の特殊命令処理装置にお
    いて、該特殊命令処理装置は、浮動小数点算術演算に従
    ってデータを処理するための装置(34,42;第2図
    )を含み、前記中央演算処理装置は、前記特殊命令処理
    装置内の処理サイクルの始めに応答して、@記特殊命令
    処理装置内の演算と同時に行なわれる他の独立した処理
    オペレーションに行くための装置(ステップ205に続
    くステップ;第3B図)を含むことを特徴とする特殊命
    令処理装置。
JP48114325A 1972-10-10 1973-10-11 トクシユメイレイシヨリソウチ Expired JPS5828609B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US29595272A 1972-10-10 1972-10-10

Publications (2)

Publication Number Publication Date
JPS49100938A JPS49100938A (ja) 1974-09-24
JPS5828609B2 true JPS5828609B2 (ja) 1983-06-17

Family

ID=23139935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP48114325A Expired JPS5828609B2 (ja) 1972-10-10 1973-10-11 トクシユメイレイシヨリソウチ

Country Status (5)

Country Link
JP (1) JPS5828609B2 (ja)
CA (1) CA1013861A (ja)
DE (1) DE2350871A1 (ja)
GB (1) GB1429323A (ja)
IE (1) IE40138B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04504072A (ja) * 1989-03-17 1992-07-23 メリット・メディカル・システムズ・インコーポレーテッド ロック注射器

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3811114A (en) * 1973-01-11 1974-05-14 Honeywell Inf Systems Data processing system having an improved overlap instruction fetch and instruction execution feature
JPS6016647B2 (ja) * 1977-11-30 1985-04-26 株式会社日立製作所 演算制御方式
US4229801A (en) * 1978-12-11 1980-10-21 Data General Corporation Floating point processor having concurrent exponent/mantissa operation
JPS59165140A (ja) * 1983-03-10 1984-09-18 Fujitsu Ltd 2次元演算回路
US4947316A (en) * 1983-12-29 1990-08-07 International Business Machines Corporation Internal bus architecture employing a simplified rapidly executable instruction set

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04504072A (ja) * 1989-03-17 1992-07-23 メリット・メディカル・システムズ・インコーポレーテッド ロック注射器

Also Published As

Publication number Publication date
JPS49100938A (ja) 1974-09-24
CA1013861A (en) 1977-07-12
GB1429323A (en) 1976-03-24
DE2350871A1 (de) 1974-04-18
IE40138B1 (en) 1979-03-28
IE40138L (en) 1974-04-10

Similar Documents

Publication Publication Date Title
JP2539199B2 (ja) デジタルプロセッサ制御装置
JP2659984B2 (ja) 複数のオンチップメモリバスを備えたデータ処理装置
US5099417A (en) Data processing device with improved direct memory access
JPH0731597B2 (ja) 複数のマイクロプログラム制御式処理装置を備えるプロセッサ
US5029073A (en) Method for fast establishing a co-processor to memory linkage by main processor
US5471607A (en) Multi-phase multi-access pipeline memory system
JPH083786B2 (ja) 浮動小数点演算処理装置
JPS5831014B2 (ja) 命令先取り装置
GB2038049A (en) Floating point processor having concurrent exponent/mantissa operation
JPH01263760A (ja) コプロセツサのデータ転送制御方法およびその回路
JPH10228376A (ja) 複数レジスタ命令を処理する方法及びプロセッサ
US4677549A (en) Pipelined data processor system having increased processing speed
US4236205A (en) Access-time reduction control circuit and process for digital storage devices
JPS5828609B2 (ja) トクシユメイレイシヨリソウチ
JPS63253433A (ja) 演算処理装置
JP2916605B2 (ja) コンピュータ用プロセツサ
JPS6161416B2 (ja)
JP2003517684A (ja) 複数の独立の専用プロセッサを有するデジタル信号プロセッサ
US5276853A (en) Cache system
JPH0227696B2 (ja) Johoshorisochi
JPS6134188B2 (ja)
JPS62536B2 (ja)
JPS603049A (ja) バスインタ−フエ−ス装置
JPH01116702A (ja) シーケンスコントローラ
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式