JPH03177924A - 複数のマイクロプログラム制御式処理装置を備えるプロセッサ - Google Patents

複数のマイクロプログラム制御式処理装置を備えるプロセッサ

Info

Publication number
JPH03177924A
JPH03177924A JP2337022A JP33702290A JPH03177924A JP H03177924 A JPH03177924 A JP H03177924A JP 2337022 A JP2337022 A JP 2337022A JP 33702290 A JP33702290 A JP 33702290A JP H03177924 A JPH03177924 A JP H03177924A
Authority
JP
Japan
Prior art keywords
bus
res
processing device
ope
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2337022A
Other languages
English (en)
Other versions
JPH0731597B2 (ja
Inventor
Thierry Dolidon
ティエリ ドリドン
Hubert Franzetti
ユベール フランゼッティ
Marie-Odile Lamarche
マリー―オディール ラマルシュ
Philippe Vallet
フィリップ ヴァレ
Annie Vinot
アニー ヴィノ
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.)
Bull SA
Original Assignee
Bull SA
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 Bull SA filed Critical Bull SA
Publication of JPH03177924A publication Critical patent/JPH03177924A/ja
Publication of JPH0731597B2 publication Critical patent/JPH0731597B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

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)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、情報処理システムの分野に関するものであり
、特に、これらのシステム中で使用されるプロセッサの
1実施態様に関するものである。
従来の技術 通常、情報処理システムは、1つまたは複数の周辺サブ
システムと通信することのできる中央サブシステムを備
える。この中央サブシステムは、例えば、バスによって
、中央メモリ及び1つまたは複数の入力/出力装置に接
続された1つまたは複数のプロセッサによって構成され
ている。この入力/出力装置によって、中央サブシステ
ムと周辺サブシステム間での通信が可能である。
各プロセッサの機能は、中央メモリに含まれるプログラ
ム命令を実行することである。そのため、プロセッサは
、情報処理に必要な命令及びデータにアクセスするため
に、メモリにアドレッシングする手段を備える。これら
の命令及びデータへの平均アクセス時間を短縮するため
に、通常、プロセッサは、中央メモリとプロセッサの処
理装置との間でバッファとして働くキャッシュメモリを
備える。
小さいシステムの場合、最近のV L S I (Ve
ryしarge 5cale Integrated)
技術では、プロセッサの処理装置は、全部、1つの集積
回路、すなわち、チップに集積化される。しかし、より
強力なプロセッサでは、集積度を確実に大きくしても、
同一プロセッサの回路を複数の集積回路に分割しなけれ
はならない。このため、プロセッサは、各々が1つまた
は複数の集積回路に対応する複数の機能装置に二次分割
される。従って、プロセッサの各集積回路は、プロセッ
サが実行することのできる機械命令の実行を助ける、専
門化された処理装置を備える。各処理装置は、当然、キ
ャッシュメモリを介して中央メモリと通信できなければ
ならない。さらに、選択された機能のフォーマットによ
って、これらの装置と通信を可能にする特定のリンクを
備える必要がある。
プロセッサの各装置に含まれる処理回路のセットは、通
常、多くの場合「コマンドブロック」と呼ばれるコマン
ド部と一般に「データバス」とよばれる処理部とに分割
される。コマンドブロックは、受けた命令に応じて、ア
ドレッシング回路とデータバスをドライブする。アドレ
ッシング回路は、キャッシュメモリに、情報とオペラン
ドの処理装置への転送とこれらの回路によって処理され
た結果のキャッシュメモリへの転送の両方をドライブす
るコマンドを与える。
大きな命令セットを有するプロセッサの場合、マイクロ
プログラミング技術は、一般に、コマンドブロックに使
用される。また、コマンドブロックは、主に、マイクロ
プログラムメモリと組み合わされたハードワイア化マイ
クロシーケンサを備える。実行されるべき命令の演算コ
ードとプロセッサの論理値に応じて、このマイクロシー
ケンサは、通常、各サイクルで、マイクロプログラムメ
モリのアドレッシングを実行する。メモリは、その出力
で、マイクロプログラムワードを出力し、このマイクロ
プログラムワードは各回路へのコマンド信号の送信をト
リガする。コマンドブロックは、また、特に、最適化が
望まれる機能をより速く実行するために、完全にハード
ワイア化された回路を備える。
プロセッサのマイクロプログラム制御式のコマンドブロ
ックを製造する通常の解決方法は、この機能専用の装置
を備えることできる。この時、コマンドブロックは、通
常、1つまたは複数の外部マイクロプログラムメモリと
組合わされた集積回路の形態で実現されるこの装置内に
完全に内蔵される。「分布制御格納アーキテクチャ(D
istributedControl 5tore A
rchitecture) Jと題されたヨーロッパ特
許出願第85/113207.6号、公開番号EP−A
−18761(1986年4月23日〉が、このような
コマンドブロックの例として挙げられる。
この解決方法では、各処理装置は、コマンドブロック内
に集中された方法でコマンドされる。その結果、各装置
は、各瞬間に、同じマイクロ命令の実行を助ける。プロ
セッサの各処理装置は、プロセッサの機能のセットの分
割に対応することが分かっている。
例えば、第1の装置は、アドレッシング機能に割り当て
られる。別の装置は、論理及びデジタル及び10進法演
算処理機能に割り当てられ、第3の装置は浮動少数点演
算に割り当てられる。この型の機能フォーマットでは、
命令、すなわち、組み合わされたマイクロプログラムの
実行は、通常、これらの3つの装置の同時の有効な作動
を必要としない。例えば、命令が、プロセッサのレジス
タの内容にメモリ内に含まれたオペランドを加え、この
レジスタ内に結果を配置することを含む時、その実行は
以下の段階からなる; 1)命令によって決定される論理アドレスからオペラン
ドの実アドレスを計算、 2)メモリのアドレッシング、計算装置へのオペランド
のロード、及び、演算の実行、3)  レジスタ内での
結果の書き込み。
この実施例では、第1段階では、アトレンジング装置だ
けが使用され、第2段階及び第3段階では、計算装置だ
けが使用されることが分かる。従って、1つの装置が作
動している時、他の装置はアクティブではなく、これは
装置の最適な使用ではない。
発明が解決しようとする課題 従って、本発明の目的は、最大自律性で作動することの
できる複数のマイクロプログラム制御式の処理装置を備
えるプロセッサを提供することによって、これらの装置
の使用を最適化し、特に、複数の装置が異なる命令を実
行するマイクロプログラムを同時に実行するパイプライ
ン処理を可能にして、上記の欠点を解消することにある
しかし、機能の最適化を最高にするためには、コマンド
ブロックの集中の不在が引き起こす問題点を解決しなけ
ればならない。
特に、各装置は、各命令の始まりと終わりを検出しなけ
ればならないのはもちろんだが、パイプライン方式では
、複数の装置で、異なる命令が同時に実行されなければ
ならないので、また、各瞬間に、進行中の命令によって
決定されたその特定のマイクロプログラムを実行できる
かどうかを決定しなければならない。
従って、各装置のマイクロプログラムが所定の順序で実
行される、それらの命令に対応する正確な機能が適切に
実行されるように、各装置のマイクロプログラムを同期
化する機構を備える必要がある。
課題を解決するための手段 そのため、本発明の主題は、プロセッサの機能のセット
を分担する複数のマイクロプログラミングの処理装置を
備え、該処理装置は各々、上記プロセッサの機能のサブ
セットの実行に割り当てられており、上記処理装置はそ
の実行すべきプログラムの命令とオペランドを含むメモ
リ手段に接続されており、該処理装置の少なくとも1つ
は上記メモリ手段にアドレッシングして、上記命令及び
オペランドを得るアドレッシング装置である、データ処
理システム用プロセッサであって、そのプロセッサは、
上記処理装置が上記メモリ手段によって出力された命令
をデコードし、その命令によって決定される機能を自律
的に実行するそれら自体のコマンドブロックを備え、上
記マイクロプログラム制御式の処理装置は各々、該処理
装置で進行中の命令によって決定されたマイクロプログ
ラムの実行を許可または中断するための同期化手段を備
え、また、その同期化手段は、 −上記メモリ手段に含まれ、上記の実行に必要ナオペラ
ンドが上記処理装置に有効に入力されない時、 −または、上記処理装置によって予想され、別の処理装
置によって計算された結果が該処理装置に有効に入力さ
れない時、 −または、上記処理装置で計算された結果が、該処理装
置またはこの結果を受けるための上記メモリ手段に有効
に転送されない時、 その実行を中断することを特徴とするプロセッサである
機能フォーマット及び処理装置数とは無関係に、上記の
ように定義された同期化手段は、プロセッサの動作に極
めて大きな柔軟性を与える。既に指摘したように、命令
の実行は、複数の連続した段階に二次分割される。各段
階での処理は、選択された機能フォーマットに応じて所
定の処理装置に限定される。命令の型に応じて、処理装
置で実行されるべき段階は、メモリに含まれるオペラン
ドを得ることまたは同じ命令の前段階で別の処理装置で
計算された結果を得ることが必要なことがある。ここで
提案された同期化は、オペランドと結果の交換を観察す
る機構に基づくものであり、それによって、確実に、各
処理装置や各段階で、その段階に割り当てられた、所定
の命令に関する演算は、同じ命令の先行する段階が実際
に実行されないと実行されないようにする。また、予想
されたオペランドまたは結果を処理装置が実際に受けた
時は、その演算を実行しない。各処理装置では、この機
構は、また、その処理装置内で実行される必要があり、
先行する命令に関する全部の演算を、進行中の命令の実
行が許可される前に実際に実行することを確実にする。
また、先行する命令の間に処理装置によって転送される
べきであった結果が実際に送られ、そのアドレスによっ
て受ケ取られた場合は、確実に実行する。
この同期化を実現するためには、様々な解決方法が考え
られる。しかし、命令の段階への二次分割は、機能フォ
ーマットと同期化機構自体を考慮しなければならないこ
とをは明らかである。このため、各処理装置に備えられ
たマイクロプログラムは、これらの制限から由来するあ
るマイクロプログラミングの規則に応じて処理されなけ
ればならない。
これらの規則の適用は、マイクロプログラミングの当業
者には理解の範囲にあるので、ここでは詳細に説明しな
い。
本発明は、好ましくは、処理装置とメモリ間で分担され
たリソース(資源)を最適な使用を試みることによつい
て実現される。これらのリソースは、主に、データ交換
のためのリンクを備える。
また、これらのリンクが、特に、結果とオペランドが同
じ瞬間に転送されるパイプライン方式で動作中に予想さ
れる同時の演算を全て許可することは適切である。
そのために、本発明の好ましい実施態様では、プロセッ
サは、また、そのメモリ手段が、オペランドバスと呼ば
れる第1のバス、及び、結果バスと呼ばれる第2のバス
とのインターフェース手段を備え、その第1及び第2の
バスは、各々、そのオペランドを読出し、その結果を上
記メモリ手段に書き込むように働き、各処理装置は、第
1及び第2のインターフェースを介して各々上記オペラ
ンドバス及び結果バスに接続されており、各処理装置は
、上記オペランドバスと組み合わされた第1の所有権イ
ンジケータを受け、検出する手段と、この第1の所有権
インジケータを他の処理装置に送る手段と、上記結果バ
スと組み合わされた第2の所有権インジケータを受け、
検出する手段と、この第2の所有権インジケータを他の
処理装置に送る手段とを備え、上記処理装置は、上記の
第1及び第2のインジケータを各々送ることを可能にす
る第1及び第2の制御リンクを介して互いに接続されて
おり、処理装置によるオペランドの有効な受取条件の1
つはその処理装置による上記第1のインジケータの検出
であり、処理装置による結果の有効な送り条件の1つは
その処理装置内での第2のインジケータの検出であるこ
とを特徴とする。
この実施態様では、オペランドバスと結果バスは別々で
あるが、各々、処理装置間で分配されている。組合わさ
れた所有権インジケータによって、ある時には1つの処
理装置だけが、問題のバスの所有権者または使用権獲得
者である。また、そのオペランドバスは、所有権受取機
構によって管理されるが、結果バスは所有権送り機構に
よって管理される。これらの配置によって、処理装置間
で衝突ないし抵触がおこる危険を防ぎ、オペランドの有
効な受取と結果な有効な送りに基づく同期化条件の各処
理装置での検出を単純化することができる。
一般に、オペランドを提供するキャッシュメモリは非同
期機能を有し、この機能は、肯定応答信号の処理を必要
とし、それによって、前段でアドレッシングされたデー
タがメモリ出力として使用できることを外部に知らせる
。この送り通知信号は、または、同期化条件として役立
つ。
本発明の1実施態様では、プロセッサは、また、上記メ
モリ手段が上記オペランドバスに組み合わされたオペラ
ンド送り通知リンクを介して処理装置に接続され、該メ
モリ手段がオペランドを送る時これらのリンクを介して
オペランド送り信号を転送する手段を備え、各処理装置
は、上記オペランド送り信号を受ける手段を備え、処理
装置によるオペランドの他の有効な受取条件はその処理
装置による予期された送り信号の検出であることを特徴
とする。
同様に、結果の有効な送り条件は、他の処理装置または
キャッシュメモリによって送られた使用可能信号に応じ
て処理装置内で決定される。
また、結果の有効な受取条件を決定するためには、送り
通知信号及び受取装置信号が与えられ、これらの信号の
両方が結果を送る処理装置によって送り出されている。
この実施態様では、プロセッサは、上記処理装置が結果
バスに組み合わされた、結果が送られたことを通知する
リンクによって互いに接続されており、該処理装置はこ
れらのリンクを介して結果送り信号と受取装置信号を交
換する手段を備え、上記結果送り信号及び受取装置信号
は、上記所有福音装置が上記結果バスを介して上記受取
装置信号によって同定された処理装置にデータを送る時
、上記結果バスの所有権音処理装置によって送り出され
、上記の処理装置による結果の有効な受取条件は 結果
送り信号の検出とその処理装置の識別と上記受取装置信
号との一致であることを特徴とする。
本発明のその他の特徴及び利点は、添付図面を参照して
説明する以下の実施例によって、より明らかとなろう。
実施例 第1図のシステムは、複数のプロセッサCPUを備えて
おり、CPU+は中央メモIJMU及び入力/出力装置
l0UIと互いに通信できるようにシステムバスに接続
されている。プロセッサCPU+と入力/出力装置IO
U、の数は、中央メモIJMUを構成するメモリモジュ
ールの数と同様に、変更することができる。これらの全
部の素子が、入力/出力装置10 U +によって周辺
サブシステム(図示せず)と通信することのできる情報
処理システムの中央サブシステムと呼ばれるものを形成
している。
第1図では、破線で囲んだCPUブロック内にプロセッ
サの1つの主な構成要素をより詳細に図示した。このプ
ロセッサは、破線で囲んだキャッシュメモリCAによっ
てシステムバスSBに接続されている。このキャッシャ
メモIJcAは、中央またはメインメモIJMUとプロ
セッサの実行装置EAD、BDPSFPPとの間のバッ
ファの役割を果たす。キャッシュメモ’JCAは、主に
、容量が中央メモリMUより小さいメモリ回路DATと
一方でシステムバスSBとのインターフニスを、もう一
方で実行装置EAD、BDP及びFPPを管理する制御
器DIRを備える。これらの装置と制御器は、VLS 
Iチップとして実現される。メモリ回路DATは、デー
タ線DTSによってシステムバスSBとデータを交換す
る。制御器DIRは、アドレス線ADSとコマンド線C
DSを介して、バスSBと通信する。
1実施態様の非限定的な実施例としては、実行装置の1
つEAI)は、特に、キャッシュメモIJ CAから命
令とオペランドを得るためのアドレス指定動作に割り当
てられている。実行装置EADは、また、計算された実
アドレス信号を運ぶアドレス線ADによって、制御器D
IRに接続されている。
装置EAD及び制御器DIRは、また、接続された制御
線CD−ADを介するアドレス制御信号によって、動作
的に互いに接続されている。これらアドレス及び制御信
号は、制御器DIRで考慮されて、次に、アドレス線A
DR及び内部制御線CDRを介して、メモリ回路DAT
にコマンドする。
この情報によって、メモリ回路DATは、線CBによっ
て、実行装置EADSBDP、FPPと命令、オペラン
ド及び結果を交換することができる。
本発明によるプロセッサは、自律的にそれ自体のマイク
ロプログラムを実行することのできる実行装置を備えて
いるので、これらの装置は制御線CD−CBを介して、
これらの装置で実行される演算の同期化とコヒーレンス
が可能なように、互いに接続されている。図示した実施
例では、実行は、各々、以下の機能を果たす3つの装置
で行われる。
−EADは、仮想アドレスの実アドレスへの翻訳と、キ
ャッシュメモリのアドレアス指定を実行し、−BDPは
、2進法及びlO逆進法計算を実行し、−PPPは、浮
動少数点計算(科学用計算)を実行する。
本発明は、この特定の機能形式に限定されるものではな
い。また、第1図は、クロック回路と組合わされた保守
装置を示していない。
実行装置が互いに、また、キャッシュメモリと交換する
情報及び信号の特定の役割の他に、第1図のシステムは
、従来のシステム同様に機能を果たす。従って、その機
能の公知の側面について説明する必要はないので、以下
の説明は、本発明に直接関連した側面について行う。
以下に説明する実施態様は、まず、キャッシュメモリの
固有のインターフェースと実行装置の対応するインター
フェースと組み合わされた結合とによって実現されてい
る。第2図及び第3図を参照して、これらの要素を説明
する。
第2図には、キャッシュメモIJcAを図示した。
このキャッシュメモリCAは、線AD及びCD−ADに
よってEADに接続された制御器DIRとメモリ回路D
ATとを備える。キャッシャメモリCAは、破線内に図
示した1組のインターフェースICUと3つのバスlN
5T、OPE、RESと各々3つの実行装置が接続され
ている、組合わされた制御線CD−lN5T、、CD−
0PESCD−RESを介して3つの実行装置と通信し
ている。
バスlN5Tは、メモ!JDATと実行装置間の命令転
送に割り当てられている。メモIJDATの出力DT○
は、命令バッファIBとジャスティファイすなわちシフ
タ回路とによってバスlN5Tに接続されている。
バスRES及びOPEは、各々、結果及びオペランドの
転送に割り当てられている。これらのバスは、バッファ
OB及び○B2及びジャスティファイすなわちシック回
路を介してメモIJDATの出力DT○と入力DTIに
接続されている。バッファIB、OBI、OB2は、制
御器DIRの読出しコマンドCDRによって、メモリD
ATからロードされる。また、メモリDATの入力DT
Iと出力DT○は、各々、入力バッファEDIと出力バ
ッファEDOを介してシステムバスSBにデータ線DT
Sに接続されている。
バッファIB、OBI、OB2、EDOlEDIは、各
々、制御器DIRによって提供される信号CD1B、C
D−〇B1、CD−○B2、CD−ED○及びCD−E
DIによってコマンドされる。これらの信号は、メモI
JDATへのまたはメモIJDATからのデータ転送の
際、及び、実行装置へのまたは実行装置からのデータ転
送の際、これらのバッファの種々のレジスタの読出しま
たは書き込みを選択するのに役立つ。
システムバスSBに関する内部動作のためのキャッシュ
メモリの機能は、大部分は従来のままである。しかし、
アドレス指定装置EADによって出力されるアドレス情
報及び組合わせたコマンドを制御器DIRが考慮して、
入力されたアドレスに対応するデータが実際にメモリD
AT内にあるかどうかを内部連想メモリ (辞書と呼ば
れる)内で検索することをを思い出すのは有効である。
対応するデータが存在する場合は、制御器DIRはメモ
リDATに直接アドレス指定して、読出しまたは書き込
み動作を命令する。存在しない場合(rMIssJの場
合〉、制御器は、線ADS及びCDSによって各々転送
されるアドレス信号及び制御信号によって、中央メモリ
MU内で読出し動作をトリガする。メモIJDATの更
新が終了すると、処理装置とのデータの交換が通常の方
法で再開始する。
これらの更新動作は、処理装置にはわからないことに注
目すべきである。更新動作は、制御器DIRによって処
理装置に送られた閉塞信号BUSYの存在によって示さ
れるだけである。
本発明のある実施態様の特徴は、キャッシュメモリと処
理装置との間の交換に関するものである。
これについては、第4図を参照して説明するが、まず、
実行装置の組織について記載する。
第3図は、アドレス指定装置EADを含む第1のサブア
センブリを概略的に図示したものである。
前記のリンクAD、lN5T、OPE、RESはこの図
面に図示されている。これらのリンクは、各々、バッフ
ァ6.5.7.8及び9によって、アドレス指定装置に
接続されている。これらのバッファは、−時的に、アド
レス、命令、オペランド、入力された結果、及びこの装
置がキャッシュメモリまたは他の装置と交換する出力す
べき結果を一時的に格納する。
他のマイクロプログラム制御式の装置と同様に、この装
置は、2つの大きな部分、すなわち、制御部またはコマ
ンドブロックlと、動作部またはデータバス4に分割さ
れる。
コマンドブロック1は、ハードワイア部分3と結合され
たマイクロプログラムの実行部2を備えるこれらの部分
は、互いに協働して、受けた命令の実行を管理し、通常
、マイクロソフトウェアまたはマイクロプログラミング
及びハードウェアに特に限定された「システム」動作を
実行する。
データバス4は、通常、ハードワイアオペレータとレジ
スタを備える。これらは、ソフトウェアに分かっていて
もいなくもよいが、命令を実行するために必要である。
これらのリソースは、コマンドブロック1が出力した信
号によって制御される。
コマンドブロック1は、また、アルゴリズムチャネルA
LG○として公知の追加のバスに接続されている。この
バスには、他の装置が接続されている。制御線CD−A
LG○と結合されたこのバスについては後段で説明する
他の実行装置BDP、PPPは、第3図に図示したアド
レス指定装置と類似の組織を有する。但し、これらの装
置BDP及びFPPは、線AD及びCD−ADに接続さ
れたバッファアドレス指定インターフェース6が存在し
ない点で、アドレス指定装置EADとは明らかに異なる
。また、装置EADだけが、第3図のデータバスブロッ
ク4内に破線で囲んだ特有の回路10を備える。この回
路は、その演算部で実アドレスを計算するためのもので
ある。これらの異なる機能を考慮すると、3つの実行装
置は異なるマイクロプログラムを内蔵し、各々が対応す
る特定のマイクロ機能をデコードする手段を備える。
上記の実施例では、プロセッサの機能のセットは、以下
のように、3つの装置EAD、BDP、PPPに分割さ
れている; −EADは、アドレス展開に割り当てられており、それ
によって、受けた命令のアドレスフィールドの関数とし
て仮想アドレスを計算することができる。この装置は、
これらの仮想アドレスを実アドレスに翻訳し、コマンド
と実アドレスをキャッシュメモリに転送する。この動作
は、バスlN5Tによる3つの装置への命令の同時ロー
ド、または、バスOPEを介してオペランドを必要とす
る装置にオペランドを送ることをトリガする。EADは
、また、そのアドレッシング機能によって、メモリに他
の装置に処理され、バスRESを介して転送された結果
を書き込む動作に産科する。もう1つの重要な機能は、
ロードされる命令の管理である。
これらの機能を実行するために、データバス4は、ペー
スレジスタBR,汎用レジスタGR,命令カウンタIC
及び複数の作業用レジスタWRを備える。また、第1の
加算器を備えており、ペースレジスタの内容、汎用レジ
スタの1つの内容及びその時に実施されている命令によ
って提供されるディスプレイスメント値から仮想アドレ
スを計算する。第2の加算器は、特に、命令カウンタの
更新に割り当てられている。また、データバスは、仮想
アドレスの実アドレスへの翻訳を速くする回路ACを備
える。
一実行装置BDPは、また、汎用レジスタと作業用レジ
スタだけでなく、2進数加算器、乗算器、プール演算子
、シフト器及び10進数加算器等のある特殊化された演
算子を備える2進数及び10進数計算装置である。これ
らのリソースは、実行すべき命令によって決定された1
0進数−2進数演算を実行するだけでなく、また、アド
レッシング装置EADのデマンドによって、インデック
ス計算等の補助計算を処理して、制御の条件付き転送命
令の場合、アドレッシング、すなわち、制御条件の転送
の計算を実行することもできる。
−実行装置PPPは、浮動少数点でフォーマット化され
たオペランドに関する加算、減算、乗算及び除算の演算
を可能にする科学用計算装置である。
そのデータバスは、大容量科学用及び作業用レジスタ及
び上記の演算の実行を割り当てられた高性能演算子を備
える。装置PPPは、また、数の2進数表示を浮動少数
点表示に変換し、逆に、浮動少数点表示を2進数表示に
変換する手段を備えるのはもちろんである。従って、装
置PPPは、科学的命令を実行することができ、また、
装置BDPのデマンドによって、複素数の乗算または除
算のような演算の補助処理に割り当てられている。
各装置は、実行すべき命令に対応する特定のマイクロプ
ログラムを自発的に実行することができるようにマイク
ロプログラミングされているので、各コマンドブロック
は、それ自体のマイクロプログラムメモリ、それ自体の
マイクロシーケンスレジスフ及び組み合わされた論理回
路のセットを備える。これらの要素は、後段で、第5図
を参照して、詳細に説明する。
複数の装置によって分担されているこのマイクロプログ
ラミングは、3つの装置内で同時に実行されるマイクロ
プログラムを同期化する手段を備える。この同期化は、
制御線CD−lN5T、CD−OPE、CD−RES及
びCD−ALG○によって実施される。これらの結合と
その機能について、第4図を参照して、詳細に説明する
第4図の右側部分を見ると、線CD−ADSCD−IN
STSCD−〇PE及びCD−RESに組合わされた制
御器DIRのインターフェースが図示されている。この
図面の左側部分には、実行装置の1つUlに対応するイ
ンターフェースが図示されており、このインターフェー
スには、アルゴリズムチャネルALGOと組合わされた
制御インターフェースCD−ALG○が追加されている
図面を複雑にしないために、1つの装置U1だけを図示
したが、この装置は、EADSBDPまたはFPPのい
ずれでもよい。便宜上、他の装置をU2及びU3と呼ぶ
。しかし、装置EADの特定の役割を与えられると、そ
のインターフェースの部分は、その装置(U1=EAD
)に特有なものであり、他のインターフェースは他の装
置(Ul=BDP/FPP)に特有なものである。
EADによってコマンドされるメモリDATのアドレッ
シング動作は、線CD−ADを使用する。
この線は、EADが対応するコマンド信号を送るのを可
能にするコマンド線CMDを備える。コマンド信号CM
Dは、キャッシュメモリによって行われるある動作、す
なわち、メモリアクセスを初期化するのに役立つ。これ
らの動作のためのコマンドのセットは、複数のCMD線
によって運ばれる複数のビットに渡ってエンコードされ
る。与えられるべきコマンドとして、以下のものが挙げ
られる。すなわち、命令読出しコマンドCllR1また
はオペランド読出しコマンドIOR,オペランド書き込
みコマンドIOW、及び動作を中断させ、前段で中断さ
れた動作を再開始させるコマンドである。これらのコマ
ンド線は、キャッシュメモリに、アドレスの補数として
、読出しまたは書き込みコマンドに含まれるバイト数を
指示する長さインジケータ線LGに組合わされている。
他の線は、アドレス有効化信号、末端信号、また、コマ
ンドを有効化する信号(図示せず〉、及び、例えば、r
MIssj後中央メモリから再ロードする場合、キャッ
シュメモリがコマンドを実行する用意ができているかど
うかをEADに指示するDIRによって送られる閉塞信
号BUSYD  Jの補数の信号を運ぶ役割を果たす。
命令バスlN5Tと組合わされた信号CD−lN5Tの
中には、アドレッシング装置EADにだけ関するものが
ある。すなわち、キャッシュメモリが命令を送っている
ことをEADに知らせる信号である、DIRによって送
られるlN5T−5END、前段で送られた命令が有効
に入力されたことをキャッシュメモリに知らせる信号で
ある、EADによって送られるlN5T−GOT、命令
読出しコマンドCIIRがキャッシュメモリに送られて
いることを他の装置BDP、PPPに知らせる信号であ
るIIRである。制御有効化線BRVAの転送は、その
3つの装置と制御器を互いに接続する。信号BRVAは
、装置BDPまたはFPPの1つによって送られ(制御
命令転送の場合)他の装置及び制御器DIRに、制御の
条件付き転送が有効であるかどうかを指示する。信号B
RVAは、受けた装置及び制御器によって、アドレッシ
ング装置EADによって送られた命令読出し初期化信号
CllR5IIRを有効化するために使用される。また
、この3つの装置は、3つの命令終了実行線ENDIS
END2、END3によって互いに接続されている。こ
れらの線を介して、装置U1、U2、U3は、それらが
各々他の2つの装置に進行中の命令の最後のサイクルを
実行する用意ができていることを知らせる信号END1
、END2、END3を送ることができる。これらの信
号は、各装置で、命令の実行を同期化するのに役立つ。
オペランドバスOPEと組合わされた制御線CD−0P
Eは、制御器DIRがバスOPEを介して命令を送って
いることを3つの装置に知らせる信号を送ることのでき
る、オペランド送り通知線5ENDを備える。制御器D
IRの3つの装置は、また、受取通知線GOTを介して
互いに接続されている。この受取通知線によって、各装
置は、送り信号5ENDに答えて信号受取通知をDIR
に送ることができる。転送のコヒーレンスを確実にする
。ために、受取装置は、それがバスOPEの所有権看者
(特にマルチバイブレークOPE−Ul−OWNの論理
状態によって示される)でないと、すなわち、この装置
がバスOPEを獲得しないと、信号G OTを有効に送
ることが出来ない。
所有権転送バスOPE−OWNは、3つの装置を互いに
接続して、オペランドバスの所有権を有する装置がこの
バスの新規な所有権者を指示することを可能にする。所
有権の変化が実行されなければならない時(状態パラメ
ータに応じて、所有者装置のマイクロプログラム内で生
じた状況〉、所有権者装置は、OPE−○WNを介して
、新規な所有権者装置の識別に応じてエンコードされた
信号を送る。これらの信号は、他の2つの装置によって
受け取られ、−(これらの信号のデコードによって)オ
ペランドバスの新規な所有権者と認められた受け取った
装置はこの状態を記憶しくOPE−U1−○WNは1に
設定される〉、次に、受取通知信号GOTと所有権信号
OPE−0WNを送ることができる。要約すると、信号
CD−0PEは、オペランドの受取のための所有権機構
を使用する。
オペランドバスとは異なり、結果バスRESは、送って
いる所有権機構によって管理される。結果バスの所有権
は、特に、各装置で、所有権マルチバイブレークRES
−01−OWNに論理状態によって示される。その論理
状態は、装置に結果を送るのを許可するか、禁止する。
この機構の実施には、以下のように定義される制御線C
D−RESを使用する。キャッシュメモリの使用可能線
GETは、制御器DIRを3つの装置に接続し、この制
御器によって、そのバッファ○B1または○B2の少な
くとも1つが空であることを示す使用可能信号を送るた
めに使用される。同様に、リンクEMPTYは、3つの
接続を互いに接続して、結果バスの所有権者でない装置
(RES−Ul−○WN=O)が他の装置、特に、結果
バスの所有権者である装置に結果を受ける用意ができて
いること、すなわち、それらの結果入力バッファ8(第
3図〉が空であることを知らせることを可能にする。結
果を送ることを知らせるためのRES−CAババスの線
は、その3つの装置と制御器DIRを互いに接続する。
線RES−CAによって、結果バス所有権者は、結果送
り信号を送って、制御器DIRに、キャッシュメモリの
ための結果が送られたことを知らせることができる。こ
れらの3つの装置は、また、1つの装置から他の装置に
結果を送ることを知らせるための別のバス型の線RES
−CPを介して、互いに接続されている。この線RES
−CPは、アドレスバスDESTに組合わされており、
このアドレスバスDESTはまた3つの装置を互いに接
続している。このバスDESTによって、送っているこ
がRES−CPによって信号化されている時、結果のア
ドレスを識別することを不可能にするエンコード信号を
運ぶことができる。線RES−CA。
RES−CP、DESTを介して信号を送ることは、所
有権マルチバイブレークの状IRES−U1−OWNに
よって条件付けられている。また、状態RES−Ul−
○WNは、また、結果バスの所有権転送バスRES−○
WNを介して所有権信号の変化の送ることを条件付ける
。バスRES○WNは、3つの装置を互いに接続して、
上記のバス0PE−OWNと同様に使用される。
アルゴリズムチャネルALG○は、マイクロプログラム
の制御転送についての情報の交換のために使用される。
これらの装置の1つだけによって制御状態転送が決定さ
れる時制御マイクロ命令転送が装置のマイクロプログラ
ム中で使用されるという事実によって、このチャネルは
有効である。
従って、有効な制御転送を決定する装置は、他の装置に
、この特定のチャネルによって何が実施されるのかを知
らせなければならない。
所有権を送る機構は、また、アルゴリズムチャネルAL
G○でも使用れる。チャネルa1goの所有権者すなわ
ち使用権獲得者(ALG○−Ul−OWN=1)は、マ
イクロプログラムの制御信号の転送を送ることを許可さ
れる。この種の送りの存在は、この情報を使用すること
のできる装置を別の装置に接続する線ALG〇−3EN
Dを介して、制御条件送り信号の転送によって信号化さ
れる。この送りは、線ALG〇−EMPTYを介して送
られるアドレスの使用可能の信号によって条件付けられ
る。当然、アルゴリズムチャネルの非所有権者すなわち
非使用権獲得装置(ALGO−Ul−○WN=O)だけ
が、この使用可能信号を送る。また、オペランドバスと
結果バスの場合と同様に、アルゴリズムチャネルの所有
権すなわち獲得は、装置を互いに接続する所有権すなわ
ち使用権獲得転送線ALG〇−OWNを介して、その所
有権者(ALGO−Ul−○WN=0)によって変化さ
れる。装置EAD及びBDPだけがこの情報の交換を必
要とする単純化された場合、ALGO−3END、AL
GO−OWN及びALG〇=EMPTYは各々1つの線
によって構成されている。
装置とキャッシュメモリが交換することのできる上記の
信号によって、各装置は、自律的に、受け取った命令の
実行を管理することができる。当然、各装置にロードさ
れるマイクロプログラムは、これらの機構を考慮しなけ
ればならない。さらに、マイクロプログラムの実行中に
信号に応じて介入することのできる同期化回路が、コマ
ンドブロックのハードワイア部に備えられていなければ
ならない。
同期化回路について記載する前に、第5図及び第6図を
参照して、マイクプログラム制御式の部分の必須要素を
再度検討する。
第5図は、プロセスのセット、特に、各装置の制御ブロ
ックの動作をシーケンス化する原理を概略的に図示した
ものである。このシーケンス化は、2つの連続したフェ
ーズ、PHASEI及びPHASE2を決定するクロッ
ク信号CKI及びCK2によって実施される。1つのサ
イクルは、1つのフェーズlと1つのフェーズ2の連続
によって定義される。第5図から明らかなように、1つ
の装置の回路は、機能的には、レジスタRO1R1、R
2及び各々フェーズ1またはフェーズ2で測定されるC
LIまたはCl3型の論理または組み合わせ回路の直列
アセンブリとして示される。CLI型の論理回路の出力
は、アクティブフェーズlに対応するクロック信号CK
Iに同期化されたレジスタによって、Cl3型の下流論
理回路の入力に接続されている。同様に、Cl3型の回
路の出力は、CK2によって同期化されたレジスタR2
によってCLI型の下流の回路(図示せず〉の入力に接
続されている。従って、図示した回路の部分では、回路
CL1は、前段のフェーズ2の間にロードされたレジス
タR○に内蔵された入力信号に応じて、フェーズ1の間
アクティブである。下流の回路CL2は、前段のフェー
ズ1の間にロンドされたレジスタR1の内容に応じて、
次段のフェーズ2の間アクティブであり、その結果はク
ロック信号CK2によってレジスタR2にロードされる
第6図のマイクロプログラム制御式の部分は、主に、破
線で示したマイクロシーケンサ11を備える。そのマイ
クロシーケンサの出力は、CK1によって同期化された
マイクロ命令アドレスレジスタC3−AD−1の入力に
接続される。このレジスタの出力は、マイクロプログラ
ムメモIJ CSの入力に接続される。レジスタC3−
AD−1は、また、CK2によって同期化されるレジス
タC3−AD−2の入力に接続される。このレジスタは
、実行されているマイクロ命令のアドレスを内蔵する働
きをする。メモリC8の出力は、マルチプレクサMUX
2によってレジスタMWの入力に接続されている。この
レジスタMWは、CK2と同期化され、通常、メモリC
3によって出力されるマイクロプログラム(またはマイ
クロ命令)ワードを内蔵する。レジスタMWの出力は、
コマンドブロックのハードワイア部分、及び、特にデコ
ーダ13に接続されている。レジスタMWの連鎖フィー
ルドENCは、エンコードされた形で、各マイクロ命令
と組み合わされた連鎖マイクロ機能を含む。
連鎖フィールドENCに対応するレジスタMWの出力線
は、次のマイクロ命令のアドレス計算用のマイクロシー
ケンサ11の回路11Aに接続されている。回路11A
は、また、その入力で、レジスタC3−AD−2の出力
に接続されている。また、回路11Aは、ハードワイア
部分3のサブアセンブリ14から、制御条件のマイクロ
プログラム転送を示す信号BC1特に、バスALG○か
ら来る信号を受ける。これらの条件は、内部及び外部パ
ラメータに応じて、フェーズ2で評価される。回路11
Aは、また、他の装置で発生した制御有効化信号BRV
Aを転送を受ける。
CK2によって同期化された現在の命令レイジスタlN
5T−CY1は、実行されるべき命令を含む。その出力
は、ハードワイア部分3と、通常読出し専用メモリによ
って実現される初期化回路INITの入力に接続される
。命令のオペレーティングコードC0DOPに応じて、
回路INITは、マイクロプログラムの命令実行の第1
のマイクロ命令のアドレスを出力する。
マルチプレクサMUXIは、マイクロシーケンサ11の
出力段を備える複数の入力を備える。第1の入力は、回
路11Aの出力に、第2の入力は回路INITの出力に
接続されている。また、マルチプレクサMUXIは、そ
の入力で、例外(EXCP)のまたは特殊な事件(TR
AP)の場合、各々、マイクロプログラムを迂回させる
ことのできるEXCP−ADまたハT RA P −E
 D等の特定のマイクロプログラムアドレス信号を受ケ
る。ハードワイア部3によってフェーズ2で評価された
制御信号の転送コマンド下で、次のフェーズ1の途中で
あるマルチプレクサMUXIは、実行すべきマイクロ命
令のアドレスを選択する。これは、命令の第1のマイク
ロ命令、迂回マイクロ命令、または、マイクロプログラ
ムの通常の実行中に回路11Aによって決定されるマイ
クロ命令であることがある。
マイクロ命令アドレスレジスタC3−A5−1の出力は
、また、マイクロプログラムメモIJ CSの容量を拡
大するのに役立つ補助外部メモリMAに接続されている
。その場合、マイクロプログラムアドレスは、対応する
マイクロ命令が内部メモIJ CS内に含まれているか
いないかを検出することのできる回路12に入力される
。その補助メモリMAの出力は、また、マルチプレクサ
MUX2の入力の1つに入力される。このマルチプレク
サMUX2は、内部メモリC8の出力または補助メモリ
MAの出力を選択するように、回路12によってコマン
ドされる。補助メモリMAは、装置と組み合わせられた
追加のメモリであるか、場合によっては、システムの中
央メモリであり、その1区域がマイクロプログラムのた
めに残されたものである。
マルチプレクサMUX2のもう1つの入力は、ハードワ
イア化マイクロ命令NOPを受けることができる。この
マイクロ命令の実行は、装置の論理状態を変化させない
。命令NOPは、装置を待たせる必要がある時、例えば
、補助メモリへのアクセスが内部メモリへのアクセスよ
り多くのサイクルを必要とする時、アクティブにされる
レジスタMWに含まれたマイクロ命令は、マイクロ命令
デコーダ13によって装置の残りの部分に信号を提供し
、この装置の全部のリソースをドライブして、外部と交
換された信号を生成させる。
マイクロプログラミングによって提供された所有権信号
の帰属及び変化が特に発生するのうは、このデコード位
置である。
特に、このようにして、命令の実行の第1のマイクロ命
令は、バスOPE、RES及びALG○の各所有装置を
決定する。
第6図のコマンドブロックは、大部分は、従来の型であ
り、従って、その機能は、当業者には周知である。故に
、その機能を全部詳細に説明する必要はない。しかし、
フェーズ2で命令レジスタlN5T−CYIにロードさ
れた新規な命令は、各々、初期化回路INITによって
デコードされることが思い出されるであろう。この初期
化回路INITは、次のフェーズlで、第1のマイクロ
命令アドレスを出力する。このアドレスに応じて、マイ
クロプログラムメモリC8は、次のフェーズ2で、第1
のマイクロ命令を出力する。そこから、装置のリソース
をコマンドする信号がドライブされる。この同一フェー
ズ2の間、このマイクロ命令のアドレスは、レジスタC
3−AD−2にロードされ、装置lIAがこのフェーズ
で処理された制御信号BCの転送に応じて、次のマイク
ロ命令のアドレスを計算することができる。
シーケンス化の観点から、マイクロ命令のアドレス計算
は、「読出し」段階に対応するフェーズ1で実行され、
メモリC3内のマイクロ命令へのアクセスは「実行」段
階に対応するフェーズ2で実行される。この同じ「実行
」段階中に、レジスタC3−AD−2は、レジスタC3
−AD−1に含まれたアドレスでロードされ、マイクロ
シーケンサが次のマイクロ命令のアドレスを計算するよ
うに準備する。その結果、実行段階2のクロック信号C
K2が抑制されると、CK2で同期化されるレジスタは
変更されないので、マイクロシーケンサに提供される全
信号はその論理状態を無変化のまま維持する。
上記の説明によって、マイクロプログラムの同期化を実
施するために使用することのできる手段の説明を理解す
るのはより簡単になるであろう。
そのため、ここで、この同期化を実施する回路を図示し
た第7図を説明する。
第7図には、CK2によって同期化されるレジスタの1
つRiが図示されている。このレジスタは、3つの入力
を備えるANDゲート19によってコマンドされる。2
つの入力は、クロック信号CK2及びマイクロ命令MW
に応じてデコーダ13によって形成されたマイクロコマ
ンド信号mfを備える。ANDゲート19の第3の入力
は、マルチバイブレーク20によって送られる信号N0
EX“を受ける。このマルチバイブレーク20は、フェ
ーズ1で、論理回路15.16.17.18のセットに
よって出力される信号でロードされる。
第4図を参照して既に説明した回路16.17.18の
入力信号は、ここでは、再度説明しない。しかし、これ
らは、サイクルのフェーズ1で評価されなければならな
いことに注意すべきである。
実行中のマイクロ命令のデコードによって得られた信号
OPE−RECSRES−REC,RES−3ENDは
、各々、装置がオペランドを期待している時(OPE−
REC) 、装置が結果を拡大している時(RES−R
FC) 、及び装置が結果を送ろうとしている時(RE
S−3END)、論理値lとみなされる。
論理回路15は、N0T−OR(NOR)機能を実行し
、その入力で、各々が進行中のマイクロ命令の非実行条
件を決定する複数の信号を受ける。
特に、回路16.17及び18の出力信号を受ける。こ
の信号について、ゑ下に説明する。
論理回路16によって出力される信号N0EX−OPE
は、キャッシュメモリがオペランドを送っているという
信号を送らない時(SEND=0)、または、装置がオ
ペランドバスの所有権者ではない時(OPE−U1−○
WN=0)装置がオペランドを待つ場合に生じる非実行
状態に対応し、以下の論理式によって表される: N0EX−OPE= (OPE−REC)  ・ [5
BND°+(OPE−111−01tlN”)](但し
、上記式において、印*は、論理変数の補数を示す(正
の論理の慣例による)。)論理回路17によって出力さ
れる信号N0EX−RES−RECは、装置U1が、結
果(RE S −REC=1)が他の装置によって送ら
れていることが信号化されていない時(RES−CP=
O)または、装置1が送られた結果(Ul−DEST=
0〉のアドレスとして認められない時、結果(RES−
RFC= 1)を待つ場合に課される非実行状態に対応
する。対応する論理等式を以下に示す: N0BX−RES−RBC= (RBS−RPC) −
[(RES−CP) ” + (11−DEST)論理
回1818によって出力される信号N0EX−RES−
3ENDは、以下の非実行状態に対応する: 1)装置U1が結果バスの所有権者ではない時(RES
−Ul−○WN=0)、装置U1は、キャッシュメモリ
まため他の装置に結果を送らなければならない(RES
−3END−CA、または、RES−3END−U2、
または、RES−3END−U3=1)。
2)キャッシュメモリが結果を受ける準備ができていな
い時(GET=O) 、装置U1は、他の装置U2また
はU3の1つに結果を送らなければならない(RES−
3END−CA=1)。
3)アドレス装置が結果を受ける準備ができていない時
(EMPTY−U2またはEMPTY−9〕 U3=0) 、装置U1は、他の装置U2またはU3の
1つに結果を送らなければならない(RES−3END
−U2またはRES−3END−tJ3=1)。
これらの状態は、以下の論理等式によって示される: N0EX−RES−3END = (RBS−3ENO
−CA + RES−3END−12+RES−3EN
D−13) (RES−[1−OWN> ” +(RE
S−3END−CA)・GIET”+ (RES−3B
NO−02)・(EMPTY−[12) ”+ (RE
S−3END−[3)・(εMPTY−03) ”同様
に、信号N0EX−ALGOは、装置U1の部分で送る
べき制御データの転送を送ることまたは予期された制御
データ転送を受けることが不可能なことから生じる非実
行状態に対等する。第4図に図示した信号に応じて、以
下の等式によって示される: N0EX−ALGO=(ALG(]−3END)  −
((八LG[]−[11!1N)”+へLGO−EMP
TY )  + (^しGo−RI3C)  ・(AL
GO−3EN[l)” (但し、上記式において、ALGO−RECは、装置U
1が制御データの転送を待っている時論理値1とする装
置のための内部信号である。)回路15は、次の命令す
なわちN0EX−ANT(アドレッシング装置EADに
特有である)を実行するのを不可能にして、この装置が
予想されたように次の命令の実行をするのを防ぐ場合に
対応する、N0EX−5T等の他の非実行信号を受ける
ことができる。与えられる他の非実行信号は本発明の範
囲を出ないので、従って、ここには説明しない。
本発明の同期化機構が介入した時の装置の機能をここで
説明する。そのため、実行サイクルのフェーズ2がちょ
うど終了したとして、第6図を参照する。この時、装置
の論理状態は次の通りである。フェーズ2でアクティブ
なレジスタC3−AD−2及びMWは、新しい数値でロ
ードされ、レジスタC3−AD−1は前のフェーズ1で
ロードされた数値を保持す。新規な命令を実行すべき場
合(START−INSTマイクロ機能)を除いて、レ
ジスタlN5T−CYIは同じ数値を維持する。
次のフェーズ1の始まりで、レジスタMWのマイクロ命
令はデコーダ13によってデコードされる。
このデコーダは、その出力に、このフェーズ中または次
のフェーズ2中に、受けたマイクロ命令に応じて演算子
とレジスタのアクティブ化を可能にするマイクロ機能信
号のセットを出力する。フェーズ2で第7図のゲート1
9の入力に入力される信号mfは、これらの信号の1つ
を図示したものである。この同じフェーズ1の間、装置
は、他の装置及びキャッシュメモリからインタフェース
信号、特に、同期化のために第7図の回路によって考慮
されるべきそれらの信号を受ける。
クロック信号CKIが出現すると、この信号と同期化さ
れたレジスタは、マイクロ命令のマイクロ機能の1つ内
でそれらが要求されるまで、それらの新しい数値でロー
ドされる。同時に、マルチバイブレータ20は、回路1
5の出力で存在する論理値でロードされる。
非実行条件(NOEX”=1)が存在しない時、マルチ
バクブレーク20は、論理状態1となり、その結果、次
のクロック信号CK2が出現した時フェーズ2でアクテ
ィブなレジスタの更新が必要ならば許可される。そうで
ない場合は、マルチバイブレーク20は0で、CK2に
よって同期化されたレジスタは全部凍結される。
この状態は、少なくとも1つの非実行条件が存在する時
まで続く。後段の評価フェーズ1でマルチバイブレーク
を論理値1にすると、従って、全ての実行条件が満たさ
れたとことが信号化され、CK2で同期化されたレジス
タのセットは、次のフェーズ2で変更されることが再度
許可される。
従って、中断されたマイクロ命令の実行フェーズ2は実
行され、新規なマイクロ命令が同時にレジスタMWにロ
ードされる。
上水発明の範囲内で、等価な技術を使用して、上記の実
施態様以外にも、多くの実施態様が可能であることを明
らかである。
【図面の簡単な説明】
第1図は、本発明によるプロセッサを含む情報処理シス
テムを図示したものであり、 第2図は、本発明の好ましい1実施態様のプロセッサの
処理装置とのインターフェースであるキャッシュメモリ
及びその回路を図示したものであり、 第3図は、本発明のプロセッサの処理装置を図示したも
のであり、 第4図は、処理装置間とキャッシュメモリとで交換され
る主な信号を図示したものであり、第5図は、2つのフ
ェーズでの処理装置の回路の機能を図示したものであり
、 第6図は、本発明を実現する処理装置のコマンドブロッ
クの主な要素を図示したものであり、第7図は、各処理
装置の同期化回路を図示したものである。 (主な参照番号) 1・・・コマンドブロック 2・・・実行部3・・・ハ
ードワイア部分 4・・・データバス5.6.7.8.
9・・・バッファ 10・・・マイクロシーケンサ 13・・・デコーダ CA・・・キャッシュメモリ CPU・・・プロセッサ 10U・・・入力/出力装置 OPE・・・オペランドバス RES・・・結果バス DAT・・・メモリ回路 EADSBDP、FPP・・・実行装置○B1、○B2
・・・バッファ ADS・・・アドレス線 DTS・・・データ線 CDS・・・コマンド線 CK1、CK2・・・クロック信号

Claims (10)

    【特許請求の範囲】
  1. (1)データ処理プロセッサの機能のセットを分担する
    複数のマイクロプログラム制御式の処理装置を備え、該
    処理装置は各々上記プロセッサの機能のサブセットの実
    行に割り当てられており、上記処理装置はその実行すべ
    きプログラムの命令とオペランドを含むメモリ手段(C
    A)に接続されており、上記処理装置の少なくとも1つ
    は上記メモリ手段(CA)にアドレスして、上記命令及
    び上記オペランドを得るアドレッシング装置(EAD)
    である、データ処理プロセッサであって、そのプロセッ
    サが上記処理装置(U1、U2、U3)が上記メモリ手
    段(CA)によって出力された命令をデコードし、その
    命令によって規定される機能を自律的に実行するそれら
    自体のコマンドブロック(1)を備え、上記処理装置は
    各々該処理装置で進行中の命令によって決定されたマイ
    クロプログラムの実行を許可または中断するための同期
    化手段(15、16、17、18、19)を備え、また
    、その同期化手段は、 −上記メモリ手段(CA)に含まれ、上記の実行に必要
    なオペランドが上記処理装置に有効に入力されない時、 −または、上記処理装置によって予想され、別の処理装
    置によって計算された結果が該処理装置に有効に入力さ
    れない時、 −または、上記処理装置で計算された結果が、該処理装
    置またはこの結果を受けるための上記メモリ手段に有効
    に転送されない時、 その実行を中断する(NOEX)ことを特徴とするプロ
    セッサ。
  2. (2)上記メモリ手段(CA)が、オペランドバスと呼
    ばれる第1のバス(OPE)、及び、結果バスと呼ばれ
    る第2のバス(RES)とに接続されたインターフェー
    ス手段(ICU)を備え、その第1及び第2のバスは各
    々、そのオペランドを読出し、その結果を上記メモリ手
    段(CA)に書き込むように働き、各処理装置(EAD
    、BDP、FPP)は、第1及び第2のインターフェー
    スを介して各々上記オペランドバス(OPE)及び結果
    バス(RES)に接続されており、各処理装置(U1、
    U2、U3)は、上記オペランドバス(OPE)と組み
    合わされた第1の所有権インジケータ(OPE−OWN
    )を受け、検出する手段(3)と、該第1の所有権イン
    ジケータ(OPE−OWN)を他の処理装置に送る手段
    (3a)を備え、更に、各処理装置は、上記結果バス(
    RES)と組み合わされた第2の所有権インジケータ(
    RES−OWN)を受け、検出する手段(3)と、該第
    2の所有権インジケータ(RES−OWN)を他の処理
    装置に送る手段(3b)を備え、上記処理装置は、上記
    の第1及び第2のインジケータを各々送ることを可能に
    する第1及び第2の制御リンク(CD−OPE、CD−
    RES)を介して互いに接続されており、処理装置によ
    るオペランドの有効な受取条件の1つはその処理装置に
    よる上記第1のインジケータ(OPE−OWN)の検出
    であり、処理装置による結果の有効な送り出し条件の1
    つはその処理装置内での第2のインジケータ(RES−
    OWN)の検出であることを特徴とする請求項1に記載
    のプロセッサ。
  3. (3)上記メモリ手段(CA)は、上記オペランドバス
    (OPE)に組み合わされたオペランド送り通知リンク
    を介して上記処理装置に接続され、上記メモリ手段は、
    該メモリ手段がオペランドを送る時、上記オペランド送
    り通知リンクを介してオペランド送り信号(SEND)
    を転送する手段を備え、各処理装置は、上記オペランド
    送り信号を受け、検出する手段(3)を備え、処理装置
    によるオペランドの他の有効な受取条件はその処理装置
    による予期された送り信号(SEND)の検出であるこ
    とを特徴とする請求項2に記載のプロセッサ。
  4. (4)上記処理装置は、上記オペランドバス(OPE)
    と組み合わされた受取肯定応答リンクを介して上記メモ
    リ手段(CA)と接続され、上記処理装置は、各々、該
    処理装置によってオペランドが有効に受け取られた時、
    上記受取肯定応答リンクを介して受取肯定応答信号(G
    OT)を送って、それを該メモリ手段(CA)に知らせ
    る手段(3)を備えることを特徴とする請求項3に記載
    のプロセッサ。
  5. (5)上記メモリ手段(CA)と上記処理装置は、上記
    結果バス(RES)に組み合わされた使用可能性リンク
    を介して互いに接続されており、上記メモリ手段(CA
    )と上記処理装置の各々は、上記使用可能性リンクを介
    して使用可能性信号(GET、EMPTY)を交換する
    手段を備え、処理装置による結果の別の有効な送り条件
    は、この処理装置による上記結果の受取装置によって送
    り出された使用可能性信号(GET、EMPTY)の検
    出であることを特徴とする請求項2〜4のいずれか1項
    に記載のプロセッサ。
  6. (6)上記処理装置は、上記結果バス(RES)と組合
    わせられて、結果が送られたことを通知するリンクによ
    って互いに接続されており、上記処理装置は、該通知リ
    ンクを介して結果送り信号(RES−CP)と受取装置
    信号(DEST)を交換する手段を備え、この結果送り
    信号(RES−CP)と受取装置信号(DEST)は、
    上記結果バス(RES)を介して上記受取装置信号(D
    EST)によって同定された処理装置に上記結果バス(
    RES)の所有権者処理装置がデータを送る時、上記結
    果バス(RES)の所有権者処理装置によって送り出さ
    れ、処理装置による結果の有効な受取条件は、結果送り
    信号(RES−CP)の検出と、上記受取装置信号と上
    記処理装置の識別信号との一致であることを特徴とする
    請求項2〜5のいずれか1項に記載のプロセッサ。
  7. (7)上記の進行中の命令のマイクロプログラムの実行
    の開始時に、上記オペランドバス(OPE)と結果バス
    (RES)の各々の所有権(OPE−OWN、RES−
    OPE)は、該命令のオペレーティングコードの関数と
    して各処理装置のコマンドブロックによって決定され、
    上記所有権は、上記バス(OPE、RES)の所有権者
    装置による上記マイクロプログラムの実行中に変更でき
    ることを特徴とする請求項2〜6のいずれか1項に記載
    のプロセッサ。
  8. (8)各処理装置は、制御マイクロ命令の条件付き転送
    の検出によって該処理装置内で進行中のマイクロプログ
    ラムの実行を一時停止させる手段(15、19)を備え
    、その計算は各処理装置によって実施されず、該処理装
    置は、上記制御の条件付き転送を計算する処理装置が上
    記計算の結果を他の処理装置に転送することを可能にす
    るアルゴリズムリンク(ALGO)によって互いに接続
    されており、従って、上記の他の処理装置での一時停止
    されたマイクロプログラムの継続を許可することを特徴
    とする請求項2〜7のいずれか1項に記載のプロセッサ
  9. (9)上記メモリ手段(CA)は、キャッシュメモリを
    備え、そのキャッシュメモリの上記インターフェース手
    段(ICU)は少なくとも2つの別独立したバッファ(
    OB1、OB2)を備え、その入力が上記結果バス(R
    ES)及び上記キャッシュメモリに、その出力が上記オ
    ペランドバス(OPE)及び該キャッシュメモリに接続
    されていることを特徴とする請求項2〜8のいずれか1
    項に記載のプロセッサ。
  10. (10)上記処理装置は、上記アドレッシング処理装置
    (EAD)に加えて、2進数及び10進数計算装置(B
    DP)及び浮動少数点計算装置(FPP)を備えること
    を特徴とする請求項1〜9のいずれか1項に記載のプロ
    セッサ。
JP2337022A 1989-11-30 1990-11-30 複数のマイクロプログラム制御式処理装置を備えるプロセッサ Expired - Fee Related JPH0731597B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8915776 1989-11-30
FR8915776A FR2655169B1 (fr) 1989-11-30 1989-11-30 Processeur a plusieurs unites de traitement microprogrammees.

Publications (2)

Publication Number Publication Date
JPH03177924A true JPH03177924A (ja) 1991-08-01
JPH0731597B2 JPH0731597B2 (ja) 1995-04-10

Family

ID=9387960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2337022A Expired - Fee Related JPH0731597B2 (ja) 1989-11-30 1990-11-30 複数のマイクロプログラム制御式処理装置を備えるプロセッサ

Country Status (6)

Country Link
US (1) US5408623A (ja)
EP (1) EP0434483B1 (ja)
JP (1) JPH0731597B2 (ja)
DE (1) DE69027104T2 (ja)
ES (1) ES2090114T3 (ja)
FR (1) FR2655169B1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192075A1 (en) * 2004-02-26 2007-08-16 Kyoto University Organism stimulation device and program
JP4636058B2 (ja) * 2007-08-08 2011-02-23 コニカミノルタビジネステクノロジーズ株式会社 会議システム、データ処理装置、データ出力方法およびデータ出力プログラム
US9901244B2 (en) 2009-06-18 2018-02-27 Endochoice, Inc. Circuit board assembly of a multiple viewing elements endoscope
US10165929B2 (en) 2009-06-18 2019-01-01 Endochoice, Inc. Compact multi-viewing element endoscope system
US9706903B2 (en) 2009-06-18 2017-07-18 Endochoice, Inc. Multiple viewing elements endoscope system with modular imaging units
US11278190B2 (en) 2009-06-18 2022-03-22 Endochoice, Inc. Multi-viewing element endoscope
US9101287B2 (en) 2011-03-07 2015-08-11 Endochoice Innovation Center Ltd. Multi camera endoscope assembly having multiple working channels
US9713417B2 (en) 2009-06-18 2017-07-25 Endochoice, Inc. Image capture assembly for use in a multi-viewing elements endoscope
US9402533B2 (en) 2011-03-07 2016-08-02 Endochoice Innovation Center Ltd. Endoscope circuit board assembly
US9101268B2 (en) 2009-06-18 2015-08-11 Endochoice Innovation Center Ltd. Multi-camera endoscope
US9872609B2 (en) 2009-06-18 2018-01-23 Endochoice Innovation Center Ltd. Multi-camera endoscope
US9492063B2 (en) 2009-06-18 2016-11-15 Endochoice Innovation Center Ltd. Multi-viewing element endoscope
EP2865322B1 (en) 2009-06-18 2020-07-22 EndoChoice, Inc. Multi-camera endoscope
WO2012038958A2 (en) 2010-09-20 2012-03-29 Peermedical Ltd. Multi-camera endoscope having fluid channels
US11864734B2 (en) 2009-06-18 2024-01-09 Endochoice, Inc. Multi-camera endoscope
US9642513B2 (en) 2009-06-18 2017-05-09 Endochoice Inc. Compact multi-viewing element endoscope system
US11547275B2 (en) 2009-06-18 2023-01-10 Endochoice, Inc. Compact multi-viewing element endoscope system
WO2012056453A2 (en) 2010-10-28 2012-05-03 Peermedical Ltd. Optical systems for multi-sensor endoscopes
US8926502B2 (en) 2011-03-07 2015-01-06 Endochoice, Inc. Multi camera endoscope having a side service channel
US9560953B2 (en) 2010-09-20 2017-02-07 Endochoice, Inc. Operational interface in a multi-viewing element endoscope
US11889986B2 (en) 2010-12-09 2024-02-06 Endochoice, Inc. Flexible electronic circuit board for a multi-camera endoscope
EP2648602B1 (en) 2010-12-09 2018-07-18 EndoChoice Innovation Center Ltd. Flexible electronic circuit board multi-camera endoscope
JP6054874B2 (ja) 2010-12-09 2016-12-27 エンドチョイス イノベーション センター リミテッド マルチカメラ内視鏡用フレキシブル電子回路基板
US9101266B2 (en) 2011-02-07 2015-08-11 Endochoice Innovation Center Ltd. Multi-element cover for a multi-camera endoscope
EP2604175B1 (en) 2011-12-13 2019-11-20 EndoChoice Innovation Center Ltd. Removable tip endoscope
CA2798729A1 (en) 2011-12-13 2013-06-13 Peermedical Ltd. Rotatable connector for an endoscope
US9560954B2 (en) 2012-07-24 2017-02-07 Endochoice, Inc. Connector for use with endoscope
US9986899B2 (en) 2013-03-28 2018-06-05 Endochoice, Inc. Manifold for a multiple viewing elements endoscope
US9993142B2 (en) 2013-03-28 2018-06-12 Endochoice, Inc. Fluid distribution device for a multiple viewing elements endoscope
US10499794B2 (en) 2013-05-09 2019-12-10 Endochoice, Inc. Operational interface in a multi-viewing element endoscope

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4636942A (en) * 1983-04-25 1987-01-13 Cray Research, Inc. Computer vector multiprocessing control
GB8521672D0 (en) * 1985-08-30 1985-10-02 Univ Southampton Data processing device
US4766566A (en) * 1986-08-18 1988-08-23 International Business Machines Corp. Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing

Also Published As

Publication number Publication date
DE69027104T2 (de) 1996-10-02
FR2655169A1 (fr) 1991-05-31
JPH0731597B2 (ja) 1995-04-10
FR2655169B1 (fr) 1994-07-08
ES2090114T3 (es) 1996-10-16
US5408623A (en) 1995-04-18
EP0434483B1 (fr) 1996-05-22
EP0434483A1 (fr) 1991-06-26
DE69027104D1 (de) 1996-06-27

Similar Documents

Publication Publication Date Title
JPH03177924A (ja) 複数のマイクロプログラム制御式処理装置を備えるプロセッサ
US4926317A (en) Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
US4648034A (en) Busy signal interface between master and slave processors in a computer system
US4620275A (en) Computer system
US4319323A (en) Communications device for data processing system
US5109495A (en) Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor
US5872987A (en) Massively parallel computer including auxiliary vector processor
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
US4942518A (en) Cache store bypass for computer
US4646233A (en) Physical cache unit for computer
EP0057788B1 (en) Data processing system with external microcode control unit
JP2834837B2 (ja) プログラマブルコントローラ
EP0405495B1 (en) Instruction unit logic management apparatus included in a pipelined processing unit and method therefor
EP0623875A2 (en) Multi-processor computer system having process-independent communication register addressing
KR100533296B1 (ko) 리드/모디파이/라이트 유닛을 갖는 시스템
JPH02208729A (ja) マイクロコード式実行装置での並列動作による複数機能装置の制御
JPH02190930A (ja) ソフトウエア命令実行装置
JPH09212358A (ja) データ処理装置及びマイクロプロセッサ
CA2016532C (en) Serializing system between vector instruction and scalar instruction in data processing system
US4527236A (en) Communications device for data processing system
JPH05143443A (ja) データ処理装置
JPH0135367B2 (ja)
EP0976037B1 (en) Scaleable double parallel digital signal processor
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
JPH02207352A (ja) 中央処理装置を持った多プロセッサーシステムのシステム制御装置をインターフェースする方法及び装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees