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

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

Info

Publication number
JPH0731597B2
JPH0731597B2 JP2337022A JP33702290A JPH0731597B2 JP H0731597 B2 JPH0731597 B2 JP H0731597B2 JP 2337022 A JP2337022 A JP 2337022A JP 33702290 A JP33702290 A JP 33702290A JP H0731597 B2 JPH0731597 B2 JP H0731597B2
Authority
JP
Japan
Prior art keywords
processor
bus
res
signal
operand
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 - Fee Related
Application number
JP2337022A
Other languages
English (en)
Other versions
JPH03177924A (ja
Inventor
ドリドン ティエリ
フランゼッティ ユベール
ラマルシュ マリー―オディール
ヴァレ フィリップ
ヴィノ アニー
Original Assignee
ビュル エス.アー.
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 ビュル エス.アー. filed Critical ビュル エス.アー.
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)
  • Multi Processors (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、情報処理システムの分野に関するものであ
り、特に、これらのシステム中で使用されるプロセッサ
の1つの態様に関するものである。
従来の技術 通常、情報処理システムは、1つまたは複数の周辺サブ
システムと通信することのできる中央サブシステムを備
える。この中央サブシステムは、例えば、バスによっ
て、中央メモリ及び1つまたは複数の入力/出力装置に
接続された1つまたは複数のプロセッサによって構成さ
れている。この入力/出力装置によって、中央サブシス
テムと周辺サブシステム間での通信が可能である。
各プロセッサの機能は、中央メモリに含まれるプログラ
ム命令を実行することである。そのため、プロセッサ
は、情報処理に必要な命令及びデータにアクセスするた
めに、メモリにアドレッシングする手段を備える。これ
らの命令及びデータへの平均アクセス時間を短縮するた
めに、通常、プロセッサは、中央メモリとプロセッサの
処理装置との間でバッファとして働くキャッシュメモリ
を備える。
小さいシステムの場合、最近のVLSI(Very Large Scale
Integrated)技術では、プロセッサの処理装置は、全
部、1つの集積回路、すなわち、チップに集積化され
る。しかし、より強力なプロセッサでは、集積度を確実
に大きくしても、同一プロセッサの回路を複数の集積回
路に分割しなけれはならない。このため、プロセッサ
は、各々が1つまたは複数の集積回路に対応する複数の
機能装置に二次分割される。従って、プロセッサの各集
積回路は、プロセッサが実行することのできる機械命令
の実行を助ける、専門化された処理装置を備える。各処
理装置は、当然、キャッシュメモリを介して中央メモリ
と通信できなければならない。さらに、選択された機能
のフォーマットによって、これらの装置と通信を可能に
する特定のリンクを備える必要がある。
プロセッサの各装置に含まれる処理回路のセットは、通
常、多くの場合「制御ブロック」と呼ばれる制御部と一
般に「データパス」とよばれる処理部とに分割される。
制御ブロックは、受けた命令に応じて、アドレッシング
回路とデータパスをドライブする。アドレッシング回路
は、キャッシュメモリに、情報とオペランドの処理装置
への転送とこれらの回路によって処理された結果のキャ
ッシュメモリへの転送の両方を制御する。
大きな命令セットを有するプロセッサの場合、マイクロ
プログラミング技術は、一般に、制御ブロックに使用さ
れる。また、制御ブロックは、主に、マイクロプログラ
ムメモリと組み合わされたハードワイア化マイクロシー
ケンサを備える。実行されるべき命令の演算コードとプ
ロセッサの論理値に応じて、このマイクロシーケンサ
は、通常、各サイクルで、マイクロプログラムメモリの
アドレッシングを実行する。メモリは、その出力で、マ
イクロプログラムワードを出力し、このマイクロプログ
ラムワードは各回路への制御信号の送信をトリガする。
制御ブロックは、また、特に、最適化が望まれる機能を
より速く実行するために、完全にハードワイア化された
回路を備える。
プロセッサのマイクロプログラム制御式の制御ブロック
を製造する通常の解決方法は、この機能専用の装置を備
えることできる。この時、制御ブロックは、通常1つま
たは複数の外部マイクロプログラムメモリと組合わされ
た集積回路の形態で実現されるこの装置内に完全に内蔵
される。「分布制御格納アーキテクチャ(Distributed
Control Store Architecture)」と題されたヨーロッパ
特許出願第85/113207.6号、公開番号EP−A−18761(19
86年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を備えてお
り、CPUiは中央メモリMU及び入力/出力装置IOUiと互い
に通信できるようにシステムバスSBに接続されている。
プロセッサCPUiと入力/出力装置IOUiの数は、中央メモ
リMUを構成するメモリモジュールの数と同様に、変更す
ることができる。これらの全部の素子が、入力/出力装
置IOUiによって周辺サブシステム(図示せず)と通信す
ることのできる情報処理システムの中央サブシステムと
呼ばれるものを形成している。
第1図では、破線で囲んだCPUブロック内にプロセッサ
の1つの主な構成要素をより詳細に図示した。このプロ
セッサは、破線で囲んだキャッシュメモリCAによってシ
ステムバスSBに接続されている。このキャッシャCAは、
中央またはメインメモリMUとプロセッサの実行装置EA
D、BDP、FPPとの間のバッファの役割を果たす。キャッ
シュメモリCAは、主に、容量が中央メモリMUより小さい
メモリ回路DATと一方でシステムバスSBとのインターフ
ェスを、もう一方で実行装置EAD、BDP及びFPPを管理す
る制御器DIRを備える。これらの装置と制御器は、VLSI
チップとして実現される。メモリ回路DATは、データ線D
TSによってシステムバスSBとデータを交換する。制御器
DIRは、アドレス線ADSと制御線CDSを介して、バスSBと
通信する。
1つの態様の非限定的な実施例としては、実行装置の1
つEADは、特に、キャッシュメモリCAから命令とオペラ
ンドを得るためのアドレス指定動作に割り当てられてい
る。実行装置EADは、また、計算された実アドレス信号
を運ぶアドレス線ADによって、制御器DIRに接続されて
いる。実行装置EADと制御器DIRとは更に、アドレス及び
制御信号のための制御線CD−ADを介して動作的に互いに
接続されている。これらアドレス及び制御信号は、制御
器DIRで考慮されて、次に、アドレス線ADR及び内部制御
線CDRを介して、メモリ回路DATに制御する。この情報に
よって、メモリ回路DATは、線CBによって、実行装置EA
D、BDP、FPPと命令、オペランド及び演算結果を交換す
ることができる。
本発明によるプロセッサは、自律的にそれ自体のマイク
ロプログラムを実行することのできる実行装置を備えて
いるので、これらの装置は制御線CD−CBを介して、これ
らの装置で実行される演算の同期化とコヒーレンスが可
能なように、互いに接続されている。図示した実施例で
は、実行は、各々、以下の機能を果たす3つの装置で行
われる。
・EADは、仮想アドレスの実アドレスへの交換と、キャ
ッシュメモリのアドレアス指定を実行し、 ・BDPは、2進法及び10進法の計算を実行し、 ・FPPは、浮動少数点計算(科学用計算)を実行する。
本発明は、この特定の機能形式に限定されるものではな
い。また、第1図は、クロック回路と組合わされた保守
装置を示していない。
実行装置が互いに、また、キャッシュメモリと交換する
情報及び信号の特定の役割の他に、第1図のシステム
は、従来のシステム同様に機能を果たす。従って、その
機能は公知の側面について説明する必要はないので、以
下の説明は、本発明に直接関連した側面について行う。
以下に説明する実施態様は、まず、キャッシュメモリの
固有のインターフェースと実行装置の対応するインター
フェースと組み合わされた結合とによって実現されてい
る。第2図及び第3図を参照して、これらの要素を説明
する。
第2図には、キャッシュメモリCAを図示した。このキャ
ッシュメモリCAは、線AD及びCD−ADによってEADに接続
された制御器DIRと、メモリ回路DATとを備える。キャッ
シャメモリCAは、破線内に図示した1組のインターフェ
ースICUと、3つのバスINST、OPE、RESと、制限線CD−I
NST、CD−OPE、CD−RESとを介して、3つの実行装置と
通信している。3つのバスINST、OPE、RESと制御線CD−
INST、CD−OPE、CD−RESとは、各々3つの実行装置が接
続されている。
バスINSTは、メモリDATと実行装置間の命令転送に割り
当てられている。メモリDATの出力DTOは、命令バッファ
IBとジャスティファイすなわちシフタ回路とによってバ
スINSTに接続されている。
バスRES及びOPEは、各々、演算結果及びオペランドの転
送に割り当てられている。これらのバスは、バッファOB
1及びOB2及びジャスティファイすなわちシフタ回路を介
してメモリDATの出力DTOと入力DTIに接続されている。
バッファIB、OB1、OB2は、制御器DIRの読出し制御CDRに
よって、メモリDATからロードされる。また、メモリDAT
と入力DTIと出力DTOは、各々、入力バッファEDIと出力
バッファEDOを介してシステムバスSBにデータ線DTSに接
続されている。
バッファIB、OB1、OB2、EDO、EDIは、各々、制御器DIR
から出力される信号CD−IB、CD−OB1、CD−OB2、CD−ED
O及びCD−EDIによって制御される。これらの信号は、メ
モリDATへのまたはメモリDATからのデータ転送の際、及
び、実行装置へのまたは実行装置からのデータ転送の
際、これらのバッファの種々のレジスタの読出しまたは
書き込みを選択するのに役立つ。
システムバスSBに関する内部動作のためのキャッシュメ
モリの機能は、大部分は従来のままである。しかし、ア
ドレス指定装置EADによって出力されるアドレス情報及
びそれに付帯する制御情報を制御器DIRが考慮して、入
力されたアドレスに対応するデータが実際にメモリDAT
内にあるかどうかを内部連想メモリ(ディレクトリと呼
ばれる)内で検索することを重い出すのは有効である。
対応するデータが存在する場合は、制御器DIRはメモリD
ATに直接アドレス指定して、読出しまたは書き込み動作
を命令する。存在しない場合(「MISS」の場合)、制御
器は、線ADS及びCDSによって各々転送される。アドレス
信号及び制御信号によって、中央メモリMU内で読出し動
作をトリガする。メモリDATの更新が終了すると、処理
装置とのデータの交換が通常の方法で再開始する。
これらの更新動作は、処理装置にはわからないことに注
目されたい。更新動作は、制御器DIRによって処理装置
に送られたビジー信号BUSYの存在によって示されるだけ
である。
本発明のある実施態様の特徴は、キャッシュメモリと処
理装置との間の交換に関するものである。これについて
は、第4図は参照して説明するが、まず、実行装置の組
織について記載する。
第3図は、アドレス指定装置EADを含む第1のサブアセ
ンブリを概略的に図示したものである。前記のリンクA
D、INST、OPE、RESはこの図面に図示されている。これ
らのリンクは、各々、バッファ6、5、7、8及び9に
よって、アドレス指定装置に接続されている。これらの
バッファは、一時的に、アドレス、命令、オペランド、
入力された演算結果、及びこの装置がキャッシュメモリ
または他の装置と交換する出力すべき演算結果を、一時
的に格納する。
他のマイクロプログラム制御式装置と同様に、この装置
は、2つの大きな部分、すなわち、制御部または制御ブ
ロック1と、動作部またはデータパス4に分割される。
制御ブロック1は、ハードワイア部分3と結合されたマ
イクロプログラムの実行部2を備えるこれらの部分は、
互いに協動して、受けた命令の実行を管理し、通常、マ
イクロソフトウェアまたはマイクロプログラミング及び
ハードウェアに特に限定された「システム」動作を実行
する データパス4は、通常、ハードワイアオペレータとレジ
スタを備える。これらは、ソフトウェア的に分かってい
てもいなくてもよいが、命令を実行するために必要であ
る。これらのリソースは、制御ブロック1が出力した信
号によって制御される。
制御ブロック1は、また、アルゴリズムチャネルALGOと
して公知の追加のバスに接続されている。このバスに
は、他の装置が接続されている。制御線CD−ALGOと結合
されたこのバスについては後段で説明する。
他の実行装置BDP、FPPは、第3図に図示したアドレス指
定装置と類似の組織を有する。但し、これらの装置BDP
及びFPPは、線AD及びCD−ADに接続されたバッファアド
レス指定インターフェース6が存在しない点で、アドレ
ス指定装置EADとは明らかに異なる。また、装置EADだけ
が、第3図のデータパスブロック4内に破線で囲んだ特
有の回路10を備える。この回路は、その演算部で実アド
レスを計算するためのものである。これらの異なる機能
を考慮すると、3つの実行装置は異なるマイクロプログ
ラムを格納し、各々が対応する特定のマイクロ機能をデ
コードする手段を備える。
上記の実施例では、プロセッサの機能のセットは、以下
のように、3つの装置EAD、BDP、FPPに分割されてい
る。
○ EADは、アドレス展開に割り当てられており、それ
によって、受けた命令のアドレスフィールドの関数とし
て仮想アドレスを計算することができる。この装置は、
これらの仮想アドレスを実アドレスに変換し、制御情報
と実アドレスをキャッシュメモリに転送する。この動作
は、バスINSTによる3つの装置への命令の同時ロード、
または、バスOPEを介してオペランドを必要とする装置
にオペランドを送ることをトリガする。EADは、また、
そのアドレッシッグ機能によって、メモリに他の装置に
処理され、バスRESを介して転送された演算結果を書き
込む動作にも関与する。もう1つの重要な機能は、ロー
ドされる命令の管理である。これらの機能を実行するた
めに、データパス4は、ベースレジスタBR、汎用レジス
タGR、命令カウンタIC及び複数の作業用レジスタWRを備
える。また、第1の加算器を備えており、ベースレジス
タの内容、汎用レジスタの1つの内容及びその時に実施
されている命令によって提供されるディスプレイスメン
ト値から仮想アドレスを計算する。第2の加算器は、特
に、命令カウンタの更新に割り当てられている。また、
データパスは、仮想アドレスの実アドレスへの変換を速
くする回路ACを備える。
○ 実行装置BDPは、汎用レジスタと作業用レジスタだ
けでなく、2進数加算器、乗算器、ブール演算子、シフ
タ及び10進数加算器等のある特殊化された演算子を備え
る2進数及び10進数計算装置である。これらのリソース
は、実行すべき命令によって決定された10進数−2進数
演算を実行するだけでなく、また、アドレッシング装置
EADのデマンドによって、インデックス計算等の補助計
算を処理して、条件付き転送命令の場合、アドレッシン
グ、すなわち、制御条件の転送の計算を実行することも
できる。
○ 実行装置FPPは、浮動小数点でフォーマット化され
たオペランドに関する加算、減算、乗算及び除算の演算
を可能にする科学用計算装置である。そのデータパス
は、大容量科学用及び作業用レジスタ及び上記の演算の
実行を割り当てられた高性能処理装置を備える。装置FP
Pは、また、数の2進数表示を浮動少数点表示に変換
し、逆に、浮動少数点表示を2進数表示に変換する手段
を備えるのはもちろんである。従って、装置FPPは、科
学的命令を実行することができ、また、装置BDPのデマ
ンドによって、複素数の乗算または除算のような演算の
補助処理に割り当てられている。
各装置は、実行すべき命令に対応する特定のマイクロプ
ログラムを自発的に実行することができるようにマイク
ロプログラミングされているので、各制御ブロックは、
それ自体のマイクロプログラムメモリ、それ自体のマイ
クロシーケンスレジスタ及び組み合わされた論理回路の
セットを備える。これらの要素は、後段で、第5図を参
照して、詳細に説明する。
複数の装置によって分担されているこのマイクロプログ
ラミングは、3つの装置内で同時に実行されるマイクロ
プログラムを同期化する手段を備える。この同期化は、
制御線CD−INST、CD−OPE、CD−RES及びCD−ALGOによっ
て実施される。これらの結合とその機能について、第4
図を参照して、詳細に説明する。
第4図の右側部分を見ると、線CD−AD、CD−INST、CD−
OPE及びCD−RESに組合わされた制御器DIRのインターフ
ェースが図示されている。この図面の左側部分には、実
行装置の1つU1に対応するインターフェースが図示され
ており、このインターフェースには、アルゴリズムチャ
ネルALGOと組合わされた制御インターフェースCD−ALGO
が追加されている。図面を複雑にしないために、1つの
装置U1だけを図示したが、この装置は、EAD、BDPまたは
FPPのいずれでもよい。適宜上、他の装置をU2及びU3と
呼ぶ。しかし、装置EADの特定の役割を与えられると、
そのインターフェースの部分は、その装置(U1=EAD)
に特有なものであり、他のインターフェースは他の装置
(U1=BDP/FPP)に特有なものである。
EADによって制御されるメモリDATのアドレッシング動作
は、線CD−ADを使用する。この線は、EADが対応する制
御信号を送るのを可能にする制御線CMDを備える。制御
信号CMDは、キャッシュメモリによって行われるある動
作、すなわち、メモリアクセスを初期化するのに役立
つ。これらの動作のための制御信号のセットは、複数の
CMD線によって運ばれる複数のビットに渡ってエンコー
ドされる。与えられるべき制御信号として、以下のもの
が挙げられる。すなわち、命令読出し制御信号CIIR、ま
たはオペランド読出し制御信号IOR、オペランド書き込
み制御信号IOW、及び動作を中断させ、前段で中断され
た動作を再開始させる制御信号である。これらの制御信
号の制御線は、キャッシュメモリに、アドレスの残りの
部分として、読出しまたは書き込み制御に含まれるバイ
ト数を指示する長さインジケータ線LGと組合わされてい
る。他の線は、アドレス有効化信号、終了信号、また、
制御を有効化する信号(図示せず)のような相補的な信
号を、例えば、「MISS」後中央メモリから再ロードする
場合、キャッシュメモリが制御を実行する用意ができて
いるかどうかをEADに指示するDIRによって送られるビジ
ー信号BUSYと共に運ぶ役割を果たす。
命令バスINSTと組合わされた信号CD−INSTの中には、ア
ドレッシング装置EADにだけ関するものがある。すなわ
ち、キャッシュメモリが命令を送っていることをEADに
知らせる信号である、DIRによって送られるINST−SEN
D、前に送られた命令が有効に入力されたことをキャッ
シュメモリに知らせる信号である、EADによって送られ
るINST−GOT、命令読出し制御CIIRがキャッシュメモリ
に送られていることを他の装置BDP、FPPに知らせる信号
であるIIRである。制御有効化信号BRVAの転送は、その
3つの装置と制御器を互いに接続する。制御有効化信号
BRVAは、装置BDPまたはFPPの1つによって送られ(制御
命令の転送の場合)、他の装置及び制御器DIRに、制御
の条件付き転送が有効であるかどうかを指示する。制御
有効化信号BRVAは、受けた装置及び制御器によって、ア
ドレッシング装置EADによって送られた命令読出し初期
化信号CIIR、IIRを有効化するために使用される。ま
た、この3つの装置は、3つの命令実行終了線END1、EN
D2、END3によって互いに接続されている。これらの線を
介して、装置U1、U2、U3は、それらが各々他の2つの装
置に進行中の命令の最後のサイクルを実行する用意がで
きていることを知らせる信号END1、END2、END3を送るこ
とができる。これらの信号は、各装置で、命令の実行を
同期化するのに役立つ。
オペランドバスOPEと組合わされた制御線CD−OPEは、制
御器DIRがバスOPEを介して命令を送っていることを3つ
の装置に知らせる信号を送ることのできる、オペランド
送り通知線SENDを備える。制御器DIRの3つの装置は、
また、受取通知線GOTを介して互いに接続されている。
この受取通知線によって、各装置は、送り信号SENDに答
えて信号受取通知をDIRに送ることができる。転送のコ
ヒーレンスを確実にするために、受取装置は、それがバ
スOPEの所有権者(特にマルチバイブレータ3A:OPE−U1
−OWNの論理状態によって示される)でないと、すなわ
ち、この装置がバスOPEを獲得しないと、信号GOTを有効
に送ることが出来ない。
所有権転送バスOPE−OWNは、3つの装置を互いに接続し
て、オペランドバスの所有権を有する装置がこのバスの
新たな所有権者を指示すること可能にする。所有権の変
化が実行されなければならない時(状態パラメータに応
じて、所有者装置のマイクロプログラム内で生じた状
況)、所有権者装置は、OPE−OWNを介して、新たな所有
権者装置の識別に応じてエンコードされた信号を送る。
これらの信号は、他の2つの装置によって受け取られ、
(これらの信号のデコードによって)オペランドバスの
新たな所有権者と認められた受け取った装置はこの状態
を記憶し(OPE−U1−OWNは1に設定される)、次に、受
取通知信号GOTと所有権信号OPE−OWNを送ることができ
る。要約すると、信号CD−OPEは、オペランドの受取の
ための所有権機構を使用する。
オペランドバスとは異なり、演算結果バスRESは、送っ
ている所有権機構によって管理される。演算結果バスの
所有権は、特に、各装置で、所有権マルチバイブレータ
3B:RES−U1−OWNに論理状態によって示される。その論
理状態は、装置に演算結果を送るのを許可するか、禁止
する。
この機構の実施には、以下のように定義される制御線CD
−RESを使用する。キャッシュメモリの使用可能線GET
は、制御器DIRを3つの装置に接続し、この制御器によ
って、そのバッファOB1またはOB2の少なくとも1つが空
であることを示す使用可能信号を送るために使用され
る。同様に、リンクEMPTYは、3つの接続を互いに接続
して、演算結果バスの所有権者でない装置(RES−U1−O
WN=0)が他の装置、特に、演算結果バスの所有権者で
ある装置に演算結果を受ける用意ができていること、す
なわち、それらの演算結果入力バッファ8(第3図)が
空であることを知らせることを可能にする。演算結果を
送ることを知らせるためのRES−CAバス型の線は、その
3つの装置と制御器DIRを互いに接続する。線RES−CAに
よって、演算結果バス所有権者は、演算結果送り信号を
送って、制御器DIRに、キャッシュメモリのための演算
結果が送られたことを知らせることができる。これらの
3つの装置は更に、1つの装置から他の装置に演算結果
を送ることを知らせるための別のバス型の線RES−CPを
介して、互いに接続されている。この線RES−CPは、ア
ドレスバスDESTに組合わされており、このアドレスDEST
はまた3つの装置を互いに接続している。このバスDEST
によって、送っていることがRES−CPによって通知され
ている時、演算結果のアドレスを識別することを不可能
にするエンコード信号を運ぶことができる。線RES−C
A、RES−CP、DESTを介して信号を送ることは、所有権マ
ルチバイブレータの状態RES−U1−OWNによって条件付け
られている。また、状態RES−U1−OWNは、また、演算結
果バスの所有権転送バスRES−OWNを介して所有権信号の
変化の送ることを条件付ける。バスRES−OWNは、3つの
装置を互いに接続して、上記のバスOPE−OWNと同様に使
用される。
アルゴリズムチャネルALGOは、マイクロプログラムの制
御転送についての情報の交換のために使用される。これ
らの装置の1つだけによって制御状態転送が決定される
時制御マイクロ命令転送が装置のマイクロプログラム中
に使用されるという事実によって、このチャネルは有効
である。従って、有効な制御転送を決定する装置は、他
の装置に、この特定のチャネルによって何が実施される
のかを知らせなければならない。
所有権を送る機構は、また、アルゴリズムチャネルALGO
でも使用される。アルゴリズムチャネルALGOの所有権者
すなわち使用権獲得者(ALGO−L1−OWN=1)は、マイ
クロプログラムの制御信号を転送することを許可され
る。この種の転送が行われていることは、この情報を使
用することのできる装置を別の装置に接続する線ALGO−
SENDを介して、制御条件送り信号を転送するによって通
知される。この転送は、線ALGO−EMPTYを介して送られ
るアドレスの使用可能の信号によって条件付けられる。
当然、アルゴリズムチャネルの非所有権者すなわち非使
用権獲得装置(ALGO−U1−OWN=0)だけが、この使用
可能信号を送る。また、オペランドバスと演算結果バス
の場合と同様に、アルゴリズムチャネルの所有権すなわ
ち使用権獲得は、装置を互いに接続する所有権すなわち
使用権獲得転送線ALGO−OWNを介して、その所有権者(A
LGO−U1−OWN=0)によって変化される。装置EAD及びB
DPだけがこの情報の交換を必要とする単純化された場
合、ALGO−SEND−ALGO−OWN及びALGO−EMPTYは各々1つ
の線によって構成されている。
装置とキャッシュメモリが交換することのできる上記の
信号によって、各装置は、自律的に、受け取った命令の
実行を管理することができる。当然、各装置にロードさ
れるマイクロプログラムは、これらの機構を考慮しなけ
ればならない。さらに、マイクロプログラムの実行中に
信号に応じて介入することのできる同期化回路が、制御
ブロックのハードワイア部に備えられていなければなら
ない。
同期化回路について記載する前に、第5図及び第6図を
参照して、マクイロプログラム制御される部分の必須要
素を再度検討する。
第5図は、プロセスのセット、特に、各装置の制御ブロ
ックの動作をシーケンス化する原理を概略的に図示した
ものである。このシーケンス化は、2つの連続したフェ
ーズ、PHASE1及びPHASE2を決定するクロック信号CK1及
びCK2によって実施される。1つのサイクルは、1つの
フェーズ1と1つのフェーズ2の連続によって定義され
る。第5図から明らかなように、1つの装置の回路は、
機能的には、レジスタR0、R1、R2及び各々フェーズ1ま
たはフェーズ2で実行されるCL1またはCL2型の論理また
は組み合わせ回路の直列アセンブリとして示される。CL
1型の論理回路の出力は、アクティブフェーズ1に対応
するクロック信号CK1で同期が図られるレジスタを介し
て、CL2型の下流側の論理回路の入力に接続されてい
る。同様に、CL2型の回路の出力は、CK2によって同期が
図られるレジスタR2によってCL1型の下流の回路(図示
せず)の入力に接続されている。従って、図示した回路
の部分では、回路CL1は、前段のフェーズ2の間にロー
ドされてレジスタROに格納された入力信号に応じて、フ
ェーズ1の間アクティブである。下流の回路CL2は、前
段のフェーズ1の間にロードされたレジスタR1の内容に
応じて、次段のフェーズ2の間アクティブであり、その
演算結果はクロック信号CK2によってレジスタR2にロー
ドされる。
第6図のマイクロプログラム制御される部分は、主に、
破線で示したマイクロシーケンサ11を備える。そのマイ
クロシーケンサの出力は、CK1によって同期化されたマ
イクロ命令アドレスレジスタCS−AD−1の入力に接続さ
れる。このレジスタの出力は、マイクロプログラムメモ
リCSの入力に接続される。レジスタCS−AD−1は、ま
た、CK2によって同期化されるレジスタCS−AD−2の入
力に接続される。このレジスタは、実行されているマイ
クロ命令のアドレスを格納する働きをする。メモリCSの
出力は、マルチプレクサMUX2を介してレジスタMWの入力
に接続されている。このレジスタMWは、CK2と同期化さ
れ、通常、メモリCSによって出力されるマイクロプログ
ラム(またはマイクロ命令)ワードを格納する。レジス
タMWの出力は、制御ブロックのハードワイア部分、及
び、特にデコーダ13に接続されている。レジスタMWのチ
ェイニングフィールドENCは、各マイクロ命令と組み合
わされたチェイニングマイクロ機能を、エンコードされ
た形で含む。チェイニングフィールドENCに対応するレ
ジスタMWの出力線は、次のマイクロ命令のアドレス計算
用のマイクロシーケンサ11の回路11Aに接続されてい
る。回路11Aの入力は更に、レジスタCS−AD−2の出力
に接続されている。また、回路11Aは、ハードワイア部
分3のサブアセンブリ14から、制御条件のマイクロプロ
グラム転送を示す信号BC、特に、バスALGOから来る信号
を受ける。これらの条件は、内部及び外部パラメータに
応じて、フェーズ2で評価される。回路11Aは更に、他
の装置で発生した制御有効信号BRVAの転送を受ける。
CK2によって同期化された現在の命令レジスタINST−CY1
は、現在実行されている命令を含む。その出力は、ハー
ドワイア部分3と、通常読出し専用メモリによって実現
される初期化回路INITの入力に接続される。命令レジス
タINST−CY1に格納されている命令のオペレーティング
コードCODOPに応じて、初期化回路INITは、命令実行マ
イクロプログラムの第1のマイクロ命令のアドレスを出
力する。
マルチプレクサMUX1は、複数の入力を備え、マイクロシ
ーケンサ11の出力段を備える。第1の入力は、回路11A
の出力に、第2の入力は初期化回路1NITの出力に接続さ
れている。更に、マルチプレクサMUX1は、その入力に、
例外(EXCP)のまたは特殊な事件(TRAP)の場合、各
々、マイクロプログラムを迂回させることのできるEXCP
−ADまたはTRAP−ED等の特定のマイクロプログラムアド
レス信号を受ける。ハードワイア部3によってフェーズ
2で評価された制御信号の転送制御下で、次のフェーズ
1の途中であるマルチプレクサMUX1は、実行すべきマイ
クロ命令のアドレスを選択する。これは、命令実行の第
1のマイクロ命令、迂回マイクロ命令、または、マイク
ロプログラムと通常の実行中に回路11Aによって決定さ
れるマイクロ命令であることがある。
マイクロ命令アドレスレジスタCS−AD−1の出力は、ま
た、マイクロプログラムメモリCSの容量を拡大するのに
役立つ補助外部メモリMAに接続されている。その場合、
マイクロプログラムアドレスは、対応するマイクロ命令
が内部メモリCS内に含まれているかいないかを検出する
ことのできる回路12に入力される。この補助メモリMAの
出力は更に、マルチプレクサMUX2の入力の1つに入力さ
れる。このマルチプレクサMUX2は、内部メモリCSの出力
または補助メモリMAの出力を選択するように、回路12に
よって制御される。補助メモリMAは、装置と組み合わせ
られた追加のメモリであるか、場合によっては、システ
ムの中央メモリであり、その1区域がマイクロプログラ
ムのために残されたものである。
マルチプレクサMUX2のもう1つの入力は、ハードワイア
化マイクロ命令NOPを受けることができる。このマイク
ロ命令の実行は、装置の論理状態を変化させない。命令
NOPは、装置を待たせる必要がある時、例えば、補助メ
モリへのアクセスが内部メモリへのアクセスより多くの
サイクルを必要とする時、アクティブにされる。
レジスタMWに格納されたマイクロ命令は、マイクロ命令
デコーダ13によって装置の残りの部分に信号を提供し、
この装置の全部のリソースをドライブして、外部と交換
された信号を生成させる。マイクロプログラミングによ
って提供された所有権信号の帰属及び変化が特に発生す
るのは、このデコード位置である。
特に、このようにして、命令実行の第1のマイクロ命令
は、バスOPE、RES及びALGOの各所有権者装置を決定す
る。
第6図の制御ブロックは、大部分は、従来の型であり、
従って、その機能は、当業者には周知である。故に、そ
の機能を全部詳細に説明する必要はない。しかし、フェ
ーズ2で命令レジスタINST−CY1に新たにロードされた
命令は、各々、初期化回路INITによってデコードされる
ことが思い出されるであろう。この初期化回路INITは、
次のフェーズ1で、第1のマイクロ命令アドレスを出力
する。このアドレスに応じて、マイクロプログラムメモ
リCSは、次のフェーズ2で、第1のマイクロ命令を出力
する。そこから、装置のリソースを制御する信号がドラ
イブされる。この同一フェーズ2の間、このマイクロ命
令のアドレスは、レジスタCS−AD−2にロードされ、装
置11Aがこのフェーズで処理された制御信号BCの転送に
応じて、次のマイクロ命令のアドレスを計算することが
できる。
シーケンス化の観点から、マイクロ命令のアドレス計算
は、「読出し」段階に対応するフェーズ1で実行され、
メモリCS内のマイクロ命令へのアクセスは「実行」段階
に対応するフェーズ2で実行される。この同じ「実行」
段階中に、レジスタCS−AD−2は、レジスタCS−AD−1
に格納されているアドレスでロードされ、マイクロシー
ケンサが次のマイクロ命令のアドレスを計算するように
準備する。その結果、フェーズ2のクロック信号CK2が
抑制されると、CK2で同期化されるレジスタは変更され
ないので、マイクロシーケンサに提供される全信号はそ
の論理状態を無変化のまま維持する。
上記の説明によって、マイクロプログラムの同期化を実
施するために使用することのできる手段の説明を理解す
るのはより簡単になるであろう。そのため、ここで、こ
の同期化を実施する回路を図示した第7図を説明する。
第7図には、CK2によって同期化されるレジスタの1つR
iが図示されている。このレジスタは、3つの入力を備
えるANDゲート19によって制御される。2つの入力は、
クロック信号CK2及びマイクロ命令MWに応じてデコーダ1
3によって形成されたマイクロ制御信号mfを備える。AND
ゲート19の第3の入力は、マルチバイブレータ20によっ
て送られる信号NOEXを受ける。このマルチバイブレー
タ20は、フェーズ1で、論理回路15、16、17、18のセッ
トによって出力される信号でロードされる。
第4図を参照して既に説明した回路16、17、18の入力信
号は、ここでは、再度説明しない。しかし、これらは、
サイクルのフェーズ1で評価されなければならないこと
に注意すべきである。
実行中のマイクロ命令のデコードによって得られた信号
OPE−REC、RES−REC、RES−SENDは、各々、装置がオペ
ランドを待っている時(OPE−REC)、装置が演算結果を
待っている時(RES−REC)、及び装置が演算結果を送ろ
うとしている時(RES−SEND)、論理値1とみなされ
る。
論理回路15は、NOT−OR(NOR)機能を実行し、その入力
で、各々が進行中のマイクロ命令の非実行条件を決定す
る複数の信号を受ける。特に、回路16、17及び18の出力
信号を受ける。この信号について、以下に説明する。
論理回路16によって出力される信号NOEX−OPEは、キャ
ッシュメモリがオペランドを送っているという信号を送
らない時(SEND=0)、または、装置がオペランドバス
の所有権者ではない時(OPE−U1−OWN=0)装置がオペ
ランドを待つ場合に生じる非実行状態に対応し、以下の
論理式によって表される: NOEX−OPE =(OPE−REC)・[SEND+(OPE−U1−OWN)] (但し、上記式において、印*は、論理変数の補数を示
す(正の論理の慣例による)。) 論理回路17によって出力される信号NOEX−RES−RECは、
装置U1が、演算結果(RES−REC=1)が他の装置によっ
て送られていることが通知されていない時(RES−CP=
0)または、装置1が送られた演算結果(U1−DEST=
0)の受取人として認められない時、演算結果(RES−R
EC=1)を待っている場合に課される非実行状態に対応
する。対応する論理等式を以下に示す: NOEX−RES−REC =(RES−REC)・[(RES−CP)+(U1+DEST)] 論理回路18によって出力される信号NOEX−RES−SEND
は、以下の非実行状態に対応する: 1)装置U1が演算結果バスの所有権者ではない時(RES
−U1−OWN=0)、装置U1は、キャッシュメモリまため
他の装置に演算結果を送らなければならない(RES−SEN
D−CA、または、RES−SEND−U2、または、RES−SEND−U
3=1)。
2)キャッシュメモリが演算結果を受ける準備ができて
いない時(GET=0)、装置U1は、他の装置U2またはU3
の1つに演算結果を送らなければならない(RES−SEND
−CA=1)。
3)アドレス装置が演算結果を受ける準備ができていな
い時(EMPTY−U2またはEMPTY−U3=0)、装置U1は、他
の装置U2またはU3の1つに演算結果を送らなければなら
ない(RES−SEND−U2またはRES−SEND−U3=1)。
これらの状態は、以下の理論等式によって示される: NOEX−RES−SEND=(RES−SEND−CA+RES−SEND−U2+R
ES−SEND−U3)(RES−U1−OWN) +(RES−SEND−CA)・GET +(RES−SEND−U2)・(EMPTY−U2) +(RES−SEND−U3)・(EMPTY−U3) 同様に、信号NOEX−ANGOは、装置U1の部分で送るべき制
御データを転送すること、または待っている制御データ
転送を受けることが不可能なことから生じる非実行状態
に対応する。第4図に図示した信号に応じて、以下の等
式によって示される; NOEX−ALGO=(ALGO−SEND)・〔(ALGO−OWN)+ALG
O−EMPTY〕 +(ALGO−REC)・(ALGO−SEND) (但し、上記式において、ALGO−RECは、装置U1が制御
データの転送を待っている時論理値1とする装置のため
の内部信号である。) 回路15は、次の命令すなわちNOEX−ANT(アドレッシン
グ装置EADに特有である)を実行するのを不可能にし
て、この装置が予想されたように次の命令の実行をする
のを防ぐ場合に対応する、NOEX−ST等の他の非実行信号
を受けることができる。与えられる他の非実行信号は本
発明の範囲を出ないので、従って、ここには説明しな
い。
本発明の同期化機構が介入した時の装置の機能をここで
説明する。そのため、実行サイクルのフェーズ2がちょ
うど終了したとして、第6図を参照する。この時、装置
の論理状態は次の通りである。フェーズ2でアクティブ
なレジスタCS−AD−2及びMWは、新しい数値でロードさ
れ、レジスタCS−AD−1は前のフェーズ1でロードされ
た数値を保持す。新たな命令を実行すべき場合(START
−INSTマイクロ機能)を除いて、レジスタINST−CY1は
同じ数値を維持する。
次のフェーズ1の始まりで、レジスタMWのマイクロ命令
はデコーダ13によってデコードされる。このデコーダ
は、その出力に、このフェーズ中または次のフェーズ2
中に、受けたマイクロ命令に応じて演算子とレジスタの
アクティブ化を可能にするマイクロ機能信号のセットを
出力する。フェーズ2で第7図のゲート19の入力に入力
される信号mfは、これらの信号の1つを図示したもので
ある。この同じフェーズ1の間、装置は、他の装置及び
キャッシュメモリからインターフェース信号、特に、同
期化のために第7図の回路によって考慮されるべきそれ
らの信号を受ける。
クロック信号CK1が出現すると、この信号と同期化され
たレジスタは、マイクロ命令のマイクロ機能の1つ内で
それらが要求されるまで、それらの新しい数値でロード
される。同時に、マルチバイブレータ20は、回路15の出
力に存在する論理値でロードされる。
非実行条件(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……プロセッサ IOU……入力/出力装置 OPE……オペランドバス RES……演算結果バス DAT……メモリ回路 EAD、BDP、FPP……実行装置 OB1、OB2……バッファ ADS……アドレス線 DTS……データ線 CDS……制御線 CK1、CK2……クロック信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フィリップ ヴァレ フランス国 91510 ラルディ リュ ド ュ ヴェルジェ 36 (72)発明者 アニー ヴィノ フランス国 78630 オルジュヴァル ア レ デ ポワリエ 2

Claims (10)

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

Publications (2)

Publication Number Publication Date
JPH03177924A JPH03177924A (ja) 1991-08-01
JPH0731597B2 true 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
WO2005083615A1 (ja) * 2004-02-26 2005-09-09 Kyoto University 生体シミュレーション装置およびプログラム
JP4636058B2 (ja) * 2007-08-08 2011-02-23 コニカミノルタビジネステクノロジーズ株式会社 会議システム、データ処理装置、データ出力方法およびデータ出力プログラム
US9402533B2 (en) 2011-03-07 2016-08-02 Endochoice Innovation Center Ltd. Endoscope circuit board assembly
US9492063B2 (en) 2009-06-18 2016-11-15 Endochoice Innovation Center Ltd. Multi-viewing element endoscope
CA2765559C (en) 2009-06-18 2017-09-05 Peer Medical Ltd. Multi-camera endoscope
US10165929B2 (en) 2009-06-18 2019-01-01 Endochoice, Inc. Compact multi-viewing element endoscope system
US9901244B2 (en) 2009-06-18 2018-02-27 Endochoice, Inc. Circuit board assembly of a multiple viewing elements endoscope
US9706903B2 (en) 2009-06-18 2017-07-18 Endochoice, Inc. Multiple viewing elements endoscope system with modular imaging units
US9642513B2 (en) 2009-06-18 2017-05-09 Endochoice Inc. Compact multi-viewing element endoscope system
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
US8926502B2 (en) 2011-03-07 2015-01-06 Endochoice, Inc. Multi camera endoscope having a side service channel
WO2012056453A2 (en) 2010-10-28 2012-05-03 Peermedical Ltd. Optical systems for multi-sensor endoscopes
US11547275B2 (en) 2009-06-18 2023-01-10 Endochoice, Inc. Compact multi-viewing element endoscope system
US9713417B2 (en) 2009-06-18 2017-07-25 Endochoice, Inc. Image capture assembly for use in a multi-viewing elements endoscope
US11278190B2 (en) 2009-06-18 2022-03-22 Endochoice, Inc. Multi-viewing element endoscope
WO2012038958A2 (en) 2010-09-20 2012-03-29 Peermedical Ltd. Multi-camera endoscope having fluid channels
US9101287B2 (en) 2011-03-07 2015-08-11 Endochoice Innovation Center Ltd. Multi camera endoscope assembly having multiple working channels
US11864734B2 (en) 2009-06-18 2024-01-09 Endochoice, Inc. Multi-camera endoscope
US9560953B2 (en) 2010-09-20 2017-02-07 Endochoice, Inc. Operational interface in a multi-viewing element endoscope
EP3522215A1 (en) 2010-12-09 2019-08-07 EndoChoice Innovation Center Ltd. Flexible electronic circuit board for a multi-camera endoscope
EP3747343A1 (en) 2010-12-09 2020-12-09 EndoChoice, Inc. Flexible electronic circuit board multi-camera endoscope
US11889986B2 (en) 2010-12-09 2024-02-06 Endochoice, Inc. Flexible electronic circuit board for a multi-camera endoscope
EP3228236A1 (en) 2011-02-07 2017-10-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
US9993142B2 (en) 2013-03-28 2018-06-12 Endochoice, Inc. Fluid distribution device for a multiple viewing elements endoscope
US9986899B2 (en) 2013-03-28 2018-06-05 Endochoice, Inc. Manifold 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
FR2655169A1 (fr) 1991-05-31
ES2090114T3 (es) 1996-10-16
DE69027104T2 (de) 1996-10-02
FR2655169B1 (fr) 1994-07-08
EP0434483A1 (fr) 1991-06-26
JPH03177924A (ja) 1991-08-01
EP0434483B1 (fr) 1996-05-22
DE69027104D1 (de) 1996-06-27
US5408623A (en) 1995-04-18

Similar Documents

Publication Publication Date Title
JPH0731597B2 (ja) 複数のマイクロプログラム制御式処理装置を備えるプロセッサ
US4395758A (en) Accelerator processor for a data processing system
US5293500A (en) Parallel processing method and apparatus
EP0407911B1 (en) Parallel processing apparatus and parallel processing method
US4648034A (en) Busy signal interface between master and slave processors in a computer system
US4926317A (en) Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
US4953082A (en) Master processor providing tokens to dataflow processor for controlling instructions execution and data store operation
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
US4620275A (en) Computer system
EP0328721A2 (en) Dynamic multiple instruction stream multiple data multiple pipeline floatingpoint unit
EP0405495B1 (en) Instruction unit logic management apparatus included in a pipelined processing unit and method therefor
US4149244A (en) Data processing system including a program-executing secondary system controlling a program-executing primary system
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
US4244019A (en) Data processing system including a program-executing secondary system controlling a program-executing primary system
JPS586173B2 (ja) チャネル制御方式
CA2016532C (en) Serializing system between vector instruction and scalar instruction in data processing system
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
US5029073A (en) Method for fast establishing a co-processor to memory linkage by main processor
US5193159A (en) Microprocessor system
US4812972A (en) Microcode computer having dispatch and main control stores for storing the first and the remaining microinstructions of machine instructions
US5696939A (en) Apparatus and method using a semaphore buffer for semaphore instructions
JPH02207352A (ja) 中央処理装置を持った多プロセッサーシステムのシステム制御装置をインターフェースする方法及び装置
US5299318A (en) Processor with a plurality of microprogrammed units, with anticipated execution indicators and means for executing instructions in pipeline manner
JPS6112288B2 (ja)
JPH0743648B2 (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