JPS6322343B2 - - Google Patents

Info

Publication number
JPS6322343B2
JPS6322343B2 JP57128805A JP12880582A JPS6322343B2 JP S6322343 B2 JPS6322343 B2 JP S6322343B2 JP 57128805 A JP57128805 A JP 57128805A JP 12880582 A JP12880582 A JP 12880582A JP S6322343 B2 JPS6322343 B2 JP S6322343B2
Authority
JP
Japan
Prior art keywords
interrupt
processor
bus
management circuit
processors
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
JP57128805A
Other languages
English (en)
Other versions
JPS5858672A (ja
Inventor
Eru Badojinsuki Robaato
Emu Zatsuto Sateitsushu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPS5858672A publication Critical patent/JPS5858672A/ja
Publication of JPS6322343B2 publication Critical patent/JPS6322343B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Microcomputers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

【発明の詳細な説明】
本発明はソフトウエアで変更が可能なプロセツ
サ間の接続を行う内部接続を持ち、共通メモリの
全てにアクセスする多重ビツトプロセツサを有
し、様々な計算構成の改変も可能である再構成可
能なICに関する。 従来技術においては、ビツトの桁上げが行なわ
れ、そしてビツトの桁上げが行なわれないことも
ある特定のマイクロプロセツサーを使用すること
が教示されている。これらのプロセツサーには、
独立モードそして/又はロツクステツプに再構成
する能力がない。複数の汎用プロセツサーを使用
して、これらのプロセツサーが、制御装置として
異なるプロセツサーを用いて、又は外部制御装置
を用いて、互いに調整できるようなものは教示さ
れていない。 別の従来技術においては、単一のマイクロプロ
セツサーと主要な又はマスタープロセツサーとの
間の通信が開示されている。このうちの一つは
I/Oプロセツサーとして動作する。主要なプロ
セツサーと直結された第二のプロセツサーとの間
にはマスター/スレーブの関係があることも教示
されている。これらは、点対点の通信に用いら
れ、そして通信が多くのプロセツサーに対して1
つのプロセツサーで行なわれ、かつ、それらの関
係が可変であるような、複数の主要なプロセツサ
ー間の複雑な相互作用の可能性を何ら示していな
い。 さらに別の従来技術においては、3つ以上のプ
ロセツサーを接続する単一のバスが開示されてい
る。しかし、これは、複数のプロセツサー間の点
対点の通信を教示しており、このバスは、どの2
つのプロセツサーが通信中であるかによつて変わ
るものである。これは、バスが変化する点対点の
通信である。一方、本発明のバスは、マルチプロ
セツサーの調整ができるように再構成され、そし
て点対点の通信モード以外の多くの方法で再構成
されうるものである。 また、さらに他の従来技術のシステムにおいて
は、優先度に基づいたバス制御システムが用いら
れているが、複数のプロセツサーの中には一緒に
動作するものもあり、独立に動作するのもある。
本発明によれば、プロセツサーとバス通信との関
係が再構成される。しかし、これは、従来技術に
おける優先システムでは可能でなかつたものであ
る。 VLSI技術によつて得ることのできる経済的利
点をいかす場合の主な問題点は、将来的なVLSI
部品で満足のゆくレベルまで価格を低減できるほ
ど充分な量産が可能なものはわずかしかないとい
うことである。特に、応用例の多くの場合、プロ
セツサの機能にそれぞれ独自の構造を要求するの
で、各々の応用例に用いられるプロセツサはその
目的に特に設計されることになり、必然的に高価
格になる。 本発明の特に目的とすることは、1種の一般的
ICチツプの設計を用いて多数の種々の応用例に
おけるプロセス上の要求を満たし、それに伴なつ
てICを非常に経済的に製造できるようにするこ
とである。 主要プロセツサに加えI/O機能制御(CRT
デイスプレイのような)、メモリ管理、又は、特
定の演算処理の為の専用プロセツサを使用するこ
とは好都合である事が多い。しかしながら、上記
で示した様に、個々の目的のために特別に設計さ
れたVLSIは高価であるので、このような専用プ
ロセツサによつて得られる利益は十分には活かし
得ていない。 本発明の他の目的は、特別製ではない一般的
ICを用いて特別な目的専用のプロセツサを容易
に構成する手段を提供することである。 このような専用プロセツサを用いるにあたつて
は、これらを一般的な目的のプロセツサと共に単
一チツプ上に集積すれば、特に好都合であること
が多い。しかしながら、このような構造は更に特
別な設計を必要とし、前述のように価格的な不都
合の問題が生じることになる。 本発明の他の目的は、容易に量産可能な一般的
な目的の再構成可能ICを用いて、一般的な目的
のプロセツサと1つ以上の特定目的のプロセツサ
とを単一チツプ上に集積可能にすることである。 特定目的のために設計されたVLSIの他の問題
点は、部品製造の歴史が長くなるほど完成部品の
価格と歩留まりおよび信頼性が、「ラーニングカ
ーブ(習熟曲線)」に沿つて良くなるという傾向
があるのに対し、カスタムメイドによる特定目的
の設計では、価格や信頼性に顕著な改善があらわ
れる程充分に長期の期間にわたり大量生産が行わ
れることは通常はないということである。 したがつて、本発明の他の目的は、価格、歩留
まりおよび信頼性がラーニングカーブに浴つて顕
著に改善されるよう長期にわたり大量生産が可能
な一般的目的を有する部品を提供することであ
る。 カスタムメイドすなわち特定目的のために設計
されたVLSIは高価であるとともに、ゲートの集
積度が比較的低いという問題点をさらに有する場
合が多い。これは、少量で生産される部品である
為にパツキングの集積度を最適とする為に多くの
時間及び多くの費用を費すことは、経済的でなく
なるという理由からである。 そこで、本発明の他の目的は、ゲートの高集積
を保持しながらカスタムメイドの集積回路の必要
を充たすことのできる集積回路を提供することで
ある。 ゲートアレイは、非常に融通性の高いLSI又は
VLSI部品を提供することができ、さらにゲート
アレイは、ある種の特定な機能たとえば高速乗算
器又はクロスバースイツチのような機能を有効に
行うことができる。しかしながら、ゲートアレイ
は、プログラム可能なシステムの補助にはあまり
適さないし、ゲートアレイの集積度は通常プロセ
ツサほど高くない。 したがつて、本発明の他の目的は、ゲートアレ
イより高いゲートの集積度を持ち、プログラム可
能なシステムの補助に一層適した再構成可能集積
回路を提供することである。 比較的大規模で複雑なシステムを数学的にモデ
ル設計したい場合、各々のプロセツサのデータ処
理能力は比較的低くとも、高次の並列演算処理に
よつて全体的なデータ処理は非常に高くなるよう
に大規模配列でプロセツサを使用することが望ま
しい場合が多い。しかし、このような配列でプロ
セツサを使用することは、通常は特定の目的の為
のシステムとして構成されるので今のところ比較
的高価なものとならざるをえない。 同様にして、非常に広い多重精密ワード(ここ
で複雑な軌道的システムが非常に長期にわたつて
モデルされなくてはならない)を用いて長い連続
する計算を実行することがしばしば望まれる。こ
の場合に於ても、既製のシステムを適合させる
と、通常高価格又は低速となるか、又はこの両方
の問題が生じることになる。 故に、本発明の他の目的は、特別なハードウエ
アを設計することなく、多数のこのような集積回
路を結合して、安価に配列処理及び/又は多重精
密処理を行うようにプロセツサを集積回路中に設
けることである。 カスタムメイドVLSIのこの他の重大な問題点
は、ハードウエアの設計の変更及びテストが必要
とされるので設計のサイクルタイムがどうしても
長くなることである。 そこで、本発明の他の目的は、単にソフトウエ
ア及び/又はフアームウエアを変化することによ
つて特定の応用例にあわせて再構成可能な集積回
路を提供することである。 多重処理システム、ダイナミツク構造及びマイ
クロプロセツサ構造の背景を一般的に理解する為
の参考文献としては以下のものがある。 「多重プロセツサ及び並列処理」(ed P.エンス
ロウ ジユニア 1974);A.アブトアラ&A.メル
ツア、「テジタルコンピユータ設計の目的」
(1976);C.ミード&L.コンウエイ、「VLSIシステ
ム入門」(1980);R.クルツ、「マイクロプロセツ
サ及び論理設計」(1980);G.メイヤー、「コンピ
ユータ構造の発展」(1978);ベアー、「多重処理
システム」25 IEEEトランズアクシヨンズ・オ
ン・コンピユーターズ1271頁(1976);サーバー
&カルド、「協働並列プロセツサ」、7コンピユー
タサーベイ215頁(1975);カータシエフ&カータ
シエフ、「ダイナミツク構造:その問題と解法」
コンピユータマガジン78年7月26頁;カータシエ
フ&カータシエフ、「ダイナミツク構造を持つ多
重コンピユータシステム」28 IEEEトランズアク
シヨンズ・オン・コンピユーターズ704頁
(1979);カータシエフ&カータシエフ「80年代の
為のスーパーシステム」コンピユータマガジン、
1980年11月号11頁;及びヴイツク「スーパシステ
ムに適合可能な構造」コンピユータマガジン1980
年11月号17頁。これらは全てここに参照として示
す。 使用者があまり知識を持たないような場合、特
定の仕事にあわせた非常に高度なアプリケーシヨ
ン言語を設計することは、特に好都合である場合
が多い。しかしながら、このようなアプリケーシ
ヨン言語がソフトウエアの形で実施される場合、
速度が落ちることになるのが普通であるし、ハー
ドウエアで実施されれば、通常、非常に高価なも
のとなる。 故に、本発明のこの他の目的は、あらゆる所望
のアプリケーシヨン言語の翻訳にも適合する
VLSIプロセツサを経済的に与える手段を提供す
ることである。 多重プロセツサシステムの持つ多くの利点は、
めつたに有効に利用されていない。これは1つに
は、単一プロセツサシステムより多重プロセツサ
において最適となるプログラムを作れるようにプ
ログラマーを訓練することは、常に困難である為
である。したがつて、本発明の他の目的は、多重
処理及び単一処理システムの間を簡単に構成の変
更可能なシステムを提供し、プログラマが多重プ
ロセツサのプログラミングの利点を活かし得るよ
うにその要求するところに徐々に慣れるようにす
ることである。 多重処理システムの利用に関してのこの他の問
題点は、ハードウエア構造に融通性がないという
問題である。多重処理システムの動作の大部分
は、ハードウエアの構造によつて決定されるの
で、また現在のところ提案されている全てのハー
ドウエア構造はある型の問題に対し最適でも他に
は最適ではないと思われるので、真に一般的な目
的を果たすシステム(汎用システム)を実現する
多重プロセツサハードウエア構造はまだ1つもで
きていないと思われる。 そこで、本発明の他の目的は、再構成可能であ
つてこの為に真に汎用多重プロセツサハードウエ
ア構造となり得る多重プロセツサハードウエア構
造を提供することである。 多くの多重プロセツサシステムに発生するこの
他の問題点としては、2つ以上のプロセツサがメ
モリの同じ領域にアクセスしようとする時に起こ
るプロセツサ間の干渉の問題である。いずれか1
つのプロセツサによつてアクセスできるようにメ
モリの領域に拘束を与えることも可能であるが、
これによつてプロセツサ間の干渉の問題は避けら
れる一方、多重プロセツサシステムによつて受け
る大部分の利益を犠牲にすることになる。 したがつて、本発明の他の目的は、どのプロセ
ツサもメモリのいずれの領域にもアクセス可能で
ありながら、データの完全性も保持できる多重プ
ロセツサシステムを提供することである。 マイクロプロセツサ言語と構造(アーキテクチ
ヤ)の間の、またマイクロコンピユータとミニコ
ンピユータシステムの間のエミユレーシヨンに
は、現在、比較的高額な費用がかかる。もしこの
エミユレーシヨンをもつと安価にすることができ
れば、たとえば単一のプロセスチツプで達成でき
るようになれば、より安価な開発及び試験が可能
となり、これによつて特定目的に設計された応用
システムの使用範囲が広がり、新しい技術に一層
早く適合できるようになる。 本発明の他の目的は、融通性があつて効率的な
エミユレーシヨンを行うことができる単一チツプ
プロセツサを提供することである。 故障のあつた場合をでも性能低下をおだやかに
することができるマイクロプロセツサシステムを
提供することも望ましい。こうすることによつ
て、ハードウエアに最初に生じた重要な誤動作
は、チツプの機能に影響を与えなくなり、単にチ
ツプの機能をわずかに低下させるだけになるの
で、信頼性及び歩留まりの両方が大巾に改善され
る。 本発明の他の目的は、ハードウエアに誤りがあ
つた場合、壊滅的な誤りとするよりむしろおだや
かな機能低下をおこすマイクロプロセツサシステ
ムを提供することである。 非常に多数のプロセツサを持つ多重プロセツサ
システムは、多重プロセツサが高価であること、
これらの内部接続が困難であること及び大規模な
システム内のプロセツサ間のインタフエースの為
に適当なプロトコールを特定することが非常に困
難であること、などのために、今までのところそ
の利点をわずかに利用できるのみである。 本発明の他の目的は、所要数のプロセツサを内
蔵している多重プロセツサシステムの中に容易に
組み込み得るプロセツサを提供することである。 ICプロセツサを多重プロセツサシステムの中
に組み込み得るようにする場合、さらに生ずる問
題点は、外部プロセツサとのインターフエースの
為にチツプ上に別のハードウエアを準備する必要
があることである。外部で発生された割込みを受
けとり循環させるI/O通信機能及び外部プロセ
ツサと接続するプロセツサ間の通信機能を達成す
るには、これらのためにハードウエアを別々に備
えるとすれば非常に多くのハードウエアを必要と
する。 本発明の他の目的は、I/O通信及び中間にあ
るプロセツサ間通信の両方を操作できる外部イン
タフエースを提供することである。 本発明の他の目的は、各々のプロセツサ内でプ
ロセツサ間通信を管理する為また外部で発生した
割込みを転送する為の両方に割込みを使用できる
ように作られた割込み管理構造を提供することで
ある。 プロセツサシステムの動作機能又は構造を変更
する必要がある時に論理を再設計すると費用がか
かり困難であるばかりでなく時間もかかる。 したがつて、本発明の他の目的は、論理を再設
計するのではなくプログラミングを変更する事に
よつていかなるレベルにおいてもプロセツサのオ
ペレーシヨンを容易に変更できるようにすること
である。 プロセツサのハードウエアシステムにアーキテ
クチヤコンパイラー(architecture compiler)
を提供できるようにすることは、非常に望ましい
ことである。このようなコンパイラは、プログラ
ムによつて通常可能な変更に加えて、システムの
有効な構成をプログラムすることを可能にする。
しかしながらこのようなコンパイラーを補助する
為には、機能的な内部接続の再構成を選択的且つ
プログラムに沿つて実行できるハードウエアを備
える必要がある。 そこで、本発明の他の目的は、アーキテクチヤ
コンパイラを使用する為に必要な機能の変更が可
能な構造を持つプロセツサシステムを提供するこ
とである。 本発明は、単一チツプ上に4つのマイクロプロ
グラム可能な16ビツトマイクロコンピユータを備
えるものである。マイクロプログラミング機能
は、個々のプロセツサを含む大規模PLAにより
与えられるものである。各々のプロセツサは状況
(status)バス、データバス、及び制御バスと呼
ぶ3つの各々の主要バスに接続される。それぞれ
のプロセツサは、プログラム可能な内部接続とし
て働く状況バスマルチプレクサをそれぞれ介し接
続される。このようにして状況バス接続の種々の
構成が可能となることで、プロセツサは、(例え
ば、4つの16ビツトプロセツサーとして)単独で
作動させることも、(例えば1つの64ビツトプロ
セツサーとして)ロツクステツプ(lockstep)で
作動させることも、パイプラインで動作させるこ
ともできる。このように、プログラムの融通性を
与える2つの主要なソースが得られる。即ち、
PLA翻訳によるマイクロプログラミングの融通
性であり、プログラム可能状況バス接続を使用
し、各々のプロセツサによつて翻訳された命令の
流れを制御することによるプロセツサ再構成の融
通性である。 プロセツサ制御に於てこの融通性を利用する
為、各々のチツプレベルの命令は、1つまたは2
つ以上の特定のプロセツサへと送られる。故に、
プロセツサが(個々のプロセツサが同一のデータ
の流れの中で次々と異るオペレーシヨンを実行す
る)パイプラインモードで動作することが望まし
い時、各々のプロセツサはそれぞれ命令を受け、
パイプラインシーケンス内のその位置に適当なオ
ペレーシヨンを実行する。ロツクステツプ処理の
場合、1つのプロセツサは、(シーケンスその他
の制御する)マスタープロセツサとして指定さ
れ、他のロツクステツプ型プロセツサは全て同時
に制御される。これらの再構成の種々のモードも
また組合せ得るので例えば、1つのチツプは4つ
の独立な16ビツトプロセツサ、2つのパイプライ
ン型32ビツトプロセツサ、1つの48ビツトプロセ
ツサ(3つのロツクステツプ型16ビツトプロセツ
サ)及び1つの独立16ビツトプロセツサ等を含む
ように再構成される。制御バスが複数の関連のな
い命令シーケンスを運搬する為に区分され得るの
で、単一の制御記憶管理を用い仲裁(arbitrate)
され制御バスへの仲裁が行われる多重割込み階級
組織(multilevel interrupt hieaarchy)が使用
さされる。(1つの外部割込み管理及び2つの外
部状況ポート及び2つの外部データポートを含
む)外部インターフエース制御によつても、2個
以上のRICチツプ上のプロセツサを一緒に前に示
したような様々なモードで連結することが可能で
ある。更に、外部インターフエース制御もまた外
部メモリ、I/O装置その他へのアクセスを制御
している。 どのプロセツサによつてもアクセス可能な
RAMを充分量チツプ上に用意する。しかしなが
ら、各々のプロセツサもまたチツプ上のRAMの
主要な区域に直接アクセスしている。全てのプロ
セツサは、RAM内のそのプロセツサ用の優先区
域に並列にそれぞれ直接アクセスされ得るが、他
のRAM内の区域にもアクセスする為にはプロセ
ツサはデータバスを使用しなくてはならないの
で、このようなアクセスを仲裁あるいは調整する
必要がある。ハングアツプ(hangup)及びデツ
ドロツク(deadlock)を防ぐ為の設計手段が存
在する。第1には256の優先段階が使用され、故
に優先性の一致が起こらないようにする。第2
に、全ての割込み(interrupts)が並列に送られ
て、確認が行われる。第3に、実行を進める為に
必要とされれる資源を全部は手に入れることがで
きなかつたプロセツサはいずれも、予め入手して
あつた資源を全て放棄し、必要な資源が入手でき
るようになるまで待機する。 このような重要な構成要素に加えて、設計の仕
様を完全に満たす為には多数の従来の部品も使用
される。例えば各々のプロセツサは、ALU、バ
レルシフター、メモリマツパー、マイクロシーケ
ンサ等を有している。 本発明による利点は、前述した本発明の目的を
全て解決するものであり、他の利点も当分野に通
常の知識を有するものであれば明らかであると考
える。例えば、構造の大部分(例えば全部で4つ
のプロセツサ)は同じものを複製して使えばよい
ので、ほとんど4のフアクターでRICチツプのハ
ードウエアの配置を考える時間が低減される。 もちろん、プロセツサは16ビツトプロセツサで
ある必要はなく、変わりに32ビツト、8ビツトそ
の他であつてもよい。同様にして、チツプ上のプ
ロセツサの数は、4である必要はなく3でもまた
5以上でもよい。実際は、最大のプロセツサ数
は、製造技術によつて単に拘束されるのであつ
て、より微細な加工が実用化すればたくさんの数
のプロセツサをワンチツプ上に作ることは非常に
望ましいと予想される。このような場合、内部接
続やバス及びプロトコールは、このままでよい。
もちろん、プロセツサが16ビツト以外の場合に
は、それぞれのバスの規模は、それ相当に変化さ
せなくてはならない。 本発明は、複数のプロセツサ、それぞれが上記
プロセツサの全てに接続される複数のバス及び上
記のプロセツサの各々に接続され、上記プロセツ
サを選択的に再構成することによつて、上記プロ
セツサがロツクステツプ又は独立して動作するこ
とを可能にする手段とを有する、モノリシツク基
板からなる再構成可能集積回路を提供するもので
ある。 また、本発明は、複数のプロセツサと、それぞ
れが全てのプロセツサに接続された複数のバスと
を有するモノリシツク基板からなり、前記バスは
複数の線を持つ状況バスを含み、上記状況バスの
上記線は、同期及び演算集合線(arithmetic
linkage lines)を含む複数のバスとを有し、各
各の上記プロセツサは、それぞれの上記プロセツ
サ及び上記状況バスに接続される別々の状況バス
マルチプレクサを有し、上記別々の状況バスマル
チプレクサは、上記状況バスの選択された線に対
し選択的に且つプログラムに沿つて接続又は割込
みを行い、さらに上記それぞれのプロセツサを上
記状況バスに選択的に接続していて、これによつ
て上記各々のプロセツサを上記状況バスを通し上
記プロセツサの隣接する1つに選択的に且つプロ
グラムに沿つて接続するようになつた再構成可能
な集積回路を提供するものである。 さらに、本発明は、複数のプロセツサと、それ
ぞれが全部の上記プロセツサに接続される複数の
バスを有するモノリシツク基板からなり、各々の
上記プロセツサは、上記それぞれのプロセツサに
与えられる命令を受けとる為に接続されるダイナ
ミツク論理配列DLAを有し、上記DLAは、AND
マトリクスと、ORマトリクスと、上記ANDマト
リクスを上記ORマトリクスに接続する中間線
と、AND及びORマトリクスの最初の1つに接続
される複数の入力線と、上記AND及びORマトリ
クスの他の1つに接続される複数の出力線とを有
し、上記DLA内の上記AND及びORマトリクス
の少くとも1つは、上記のそれぞれのマトリクス
内の区画を規定する為に行列で配列され、各々の
上記区画は所定数の能動素子が含まれるように選
択的に配列され所望の論理機能が行われるように
なつており、さらに、複数の制御線が設けられ、
各々の上記制御線は、1つ又はそれ以上の上記区
画内に配置される上記能動素子に接続され選択的
に作動可能にしたり作動不可能にしたりして、上
記DLAが、上記制御線の状況に応じて選択され
た論理機能を行なうようにし、これによつて上記
DLAは上記それぞれのプロセツサに与えられた
命令を上記制御線の状況に応じて選択的に翻訳す
るように構成された再構成可能な集積回路を提供
するものである。 本発明はまた、複数のプロセツサと、それぞれ
が上記プロセツサの全てに接続される複数のバス
と、RAMメモリとを有するモノリシツク基板か
らなり、上記RAMメモリは複数のRAMメモリ
モジユールを有し、上記バスは複数の線を持つデ
ータバスを有し、さらに複数のバス制御ユニツト
が設けられ、各々の上記バス制御ユニツトは、上
記プロセツサの1つ、上記RAMメモリモジユー
ルの1つ、および上記データバスに接続され、上
記バス制御ユニツトは選択的に上記プロセツサを
上記データバスに接続するか又は上記の対応する
RAMメモリモジユールに直接接続するようにな
つた再構成可能な集積回路を提供するものであ
る。 本発明はまた、複数のプロセツサと、それぞれ
が上記プロセツサの全てに接続される複数のバス
とを有するモノリシツク基板からなり、それぞれ
の上記プロセツサを再構成する手段が設けられ、
これによつて各々のプロセツサは同一の再構成可
能集積回路上の1つ又は2つ以上の他のプロセツ
サといつしよにロツクステツプ形式で又は独立し
て、選択的且つプログラムに沿つて作動できるよ
うになつた再構成可能な集積回路を提供するもの
である。 さらに、本発明は、複数のプロセツサと、それ
ぞれが上記プロセツサの全てに接続される複数の
バスを有するモノリシツク基板からなり、上記バ
スは制御バスを含み、この制御バスは命令を転送
する線と割込み信号を転送する線とを有し、各々
の上記割込み信号は、優先性及び上記プロセツサ
の中の割込み先プロセツサ(interruptee
processor)を示すビツトを有し、この上記割込
み信号の1つが上記命令のシーケンスを開始させ
るようになつており、各々の上記プロセツサは、
上記制御バスに接続し割込み信号を受取る割込み
管理回路(interrupt manager)を有し、この割
込み管理回路が上記割込み信号の連続する1つを
それぞれテストし、上記割込み管理回路を持つ上
記それぞれのプロセツサが上記連続する割込み信
号によつて割合て先として指定されたか否かを決
定するようになつており、上記割込み管理回路
は、現在、上記プロセツサで実行される別々の命
令シーケンスのいずれかを開始させた上記割込み
信号の1つの優先性を記憶し、上記割込み管理回
路は、各々の上記プロセツサにアドレスされた上
記割込み信号の各々連続する1つの優先性と、現
在、上記プロセツサで実行されている別々の命令
シーケンスのいずれかを開始させた上記それぞれ
の割込み信号の優先性を比較し、それに相当する
コンテクストスイツチ出力(context swich
output)を与えるようになつており、各々の上記
別々のプロセツサは上記割込み管理回路の上記コ
ンテクストスイツチ線に接続されるスケデユーラ
(sheduler)を有し、上記スケデユーラは、上記
コンテクストスイツチが新しく受取つた割込み信
号がより高い優先レベルであると示す時にいつで
も、現在上記対応するプロセツサで実行されてい
る上記命令シーケンスの交換を行なうようになつ
た再構成可能な集積回路を提供するものである。 以下、本発明に関し実施例を用い図を参照しな
がら詳細に説明する。 第1図は、再構成可能IC(以下はRICと略す)
のブロツク図を示す。PR0からPR3までの4つ
のプロセツサは単一チツプ上に形成されており、
全てのプロセツサ間を接続する為、3つのバス1
4,52及び56が設けられている。各々のバス
に対応して外部インターフエース76,74と7
5、及び72と73が設けられ、またオンチツプ
RAMメモリ66及び制御記憶回路38(第2
図)も形成される。より詳細な配置図は、第2図
で示されている。第2図は、1つのプロセツサ
PR3の全体と、それぞれの型の外部インターフ
エースのうち1つ及びバス線とオンチツプメモリ
の一部を含む再構成可能ICの部分的フロアプラ
ンを示す。各々のプロセツサの割込み管理回路1
2は、制御バス14上に現われる割込みを常に監
視している。プロセツサPR3にアドレスされた
割込みだけが、PR3内の割込み管理回路12に
よつて認識される。このような割込み信号はPR
3内のスケデユーラ16によつて連続して比較さ
れ、これらの信号の優先レベルがプロセツサPR
3で現在実行中の命令シーケンスの優先性より高
いかを調べる。これが高い場合であれば、新しい
割込みが導入した命令の流れ(このような命令の
流れは「プロセス」と呼ばれる)の実行の開始が
必要である。スケデユーラ16は、対応する出力
を制御DLA22に与え、これはROM命令レジス
タ18又はRAM命令レジスタ20を作動させる
ので制御DLA22が「プロセス」の中に含まれ
る命令のシーケンスを受けとり始める。制御
DLA22は、以に示すようにその構造上の改良
によつてパツキング集積度が非常に向上されてい
る点を除けばPLAと同様に機能する。したがつ
て、制御DLA22は、その内部のANDマトリク
スにミンターム(minterms)を発生し、次にOR
マトリクスがこれらのミンタームを次に選択され
た論理和出力に変換する。制御DLA22と隣接
するのは、フイードバツクブロツク24である。
これを通つていくつかの制御DLA22の出力は
フイードバツクされ、DLA22の入力へと接続
される。この意味で一定の状況による機械機能が
DLA22に与えられるので、DLA22は例えば
ある高レベルの命令を低レベルの命令のシーケン
スに翻訳することが可能である。DLA22は、
デコーダ区域25及び26に接続され、これによ
つてDLA22の出力はALU28、バレルシフタ
30、レジスタフアイル32、メモリマツパー3
4等に対するハードウエア命令として選択され
る。DLA22の出力は、またマイクロシーケン
サ36に接続され、これによつて制御バス14及
び制御記憶回路38に対するアクセスの制御を行
う。マイクロシーケンサ36は制御バス14上に
適当な信号を送ることが可能で制御記憶アドレス
レジスタ40を通つて制御記憶回路38にアクセ
スしている。制御記憶回路38から呼び出された
データは、制御記憶データレジスタ42を介し制
御バス14に出力され、更に、もしレジスタ18
が割込み管理回路12によつて作動されている場
合には、ROM命令レジスタ18内に入力され、
制御DLA22のAND区域に対する入力として接
続される。メモリマツパー34、レジスタフアイ
ル32、バレルシフター30、ALU28、シフ
トレジスタ44及びフラグレジスタ46のオペレ
ーシヨンは、マイクロプロセツサ技術としては既
知の従来の主要オペレーシヨンに従い行われる。 エンド・アラウンド・ループ54を含む状況バ
ス52もチツプ上に形成される。状況バスは、状
況マルチプレクサ45及び50を介しそれぞれの
プロセツサに接続される。各々のこのようなペア
の状況マルチプレクサはプログラム可能な相互接
続として作動する。状況バス52及び54の線
は、パイプラインモード中の隣接するプロセツサ
間に同期を与える為に又はロツクステツプモード
での隣接するプロセツサの間に完全な直結を作り
出す為に使用される。単独モードでは、このよう
な連結はまつたく必要ない。1対の状況マルチプ
レクサ45及び50はプログラムされて、新しい
モードが入つてくるタイミングごとに適当な状況
バスの相互接続が行われる。 プロセツサPR3は、メモリマツパー34を介
してRAMメモリ66にアクセスしている。メモ
リマツパー34からの線は、状況バス52を54
と交叉しており、バス制御ユニツト58でデータ
バス56とインターフエースしている。バス制御
ユニツト58は選択的にプログラムに沿つて作動
するので、メモリマツパー34からの出力は、プ
ロセツサPR3が好ましくはアクセスするRAM
メモリモジユール60に、データレジスタ62及
びアドレスレジスタ64を通つて直接接続するか
又はデータバス56を通つてチツプ上又はチツプ
外のメモリのどこか他の領域に接続される。
RAMメモリ66の他の3つのモジユール(図示
せず)のうちの1つにアクセスする必要がある場
合、このアクセスはデータバス56を介し、他の
3つのメモリスケデユラーユニツト68のうち適
当な1つと接続される。各々のメモリスケデユー
ラユニツト68は、先に来たものから先にサービ
スを行う方法に従つてメモリアクセスの要求をス
ケデユーリングし、制御レジスタ70を通つて相
当するメモリモデユールへアクセスするよう制御
する。更に、データバス56は外部データポート
72及び73(第1図参照)に接続され、これを
通して各々のプロセツサは、チツプ外メモリにア
クセス可能となつている。 同様にして、状況バス52及び54は、外部状
況ポート74及び75に接続されるので、チツプ
外プロセツサは、多重チツプ間のロツクステツプ
及びパイプラインのオペレーシヨンで同期するよ
うになり、制御バス14が外部割込み管理回路7
6に接続されるので、チツプ外プロセツサとの間
で命令の送信受信を行うことができる。 制御記憶回路38は、それぞれの制御記憶モデ
ユール制御器96によつて制御されるモデユール
78に分割されている。RAMメモリ66も同様
にしてモデユール60に分割されている。最後に
複数のパツド接続領域80が外部との接続の為に
チツプ周辺に設けられている。また84ピンパツケ
ージを使用することが好ましい。 前述した内容は、再構成可能集積回路の機能及
び構造を示す概略的説明である。チツプに関する
さらに詳しい説明はいくつかの実施可能な応用例
としての提案を行いながらこれから説明する。 これからさらに詳しく説明する再構成可能な集
積回路の第1の特徴は制御パスである。制御パス
の重要部分の役目は、制御DLA22によつて行
われ、このDLAの構造及びオペレーシヨンを第
1に説明する。各々のプロセサに用いられるプロ
グラム可能な論理配列PLAは大規模なものであ
ることを必要とする。本実施例では、40×400×
120のPLAを必要とする。現在の製造技術では、
この程度の複雑なPLAは、非経済的な程に広い
面積である10000平方ミルのオーダの領域を占め
ることになる。しかしながら、プロセス技術の改
良が必要な領域を非常に小さくしている。更に、
上記のような従来のPLAのかわりにDLA(ダイナ
ミツク論理配列)を用いることでかなりのサイズ
に関する改良が可能となつた。量的に多い用途に
は、マスクプログラムによるDLAを用いること
が好ましいが、初期の開発段階ではフイールドプ
ログラム可能な(又は電気的に変更可能でさえあ
る)DLAを使用すると、需要に対する融通性を
拡げることができる。集積度に関する厳格な最高
の限界は所望のミンターム又はマクスターム
(minterm又はmaxterm)の結果にかかつている
が典型的なPLAはトランジスタ集積度の10%を
有しているので、DLAの使用により4倍の改良
がミンタームを「折りたたむ」ことによつて容易
に可能となる。ダイナミツク論理配列DLAは、
領域をもつと有効に利用する為に改良された
PLAとして簡単に考えることができる。そのか
わりにDLAを回路レベルで再構成可能にした
PLAとして考えることもできる。DLAによつて
多重機能をPLAで実施できるようになるが、一
度に1つの機能しか利用できなくなるという拘束
が与えられてしまう。DLAは2から5倍の率で
領域の有効利用が改善される。(マルチプレクサ
と共働する)DLAはまた単一の機能ではなく多
重機能の為にPLAの入力及び出力を使用可能に
することができる。DLAは、単一機能を実行す
る回路を作動させ一方この他の機能を実行する回
路をオフにする方法でPLAの部分を絶縁するこ
とによつてこれを行つている。DLA22内の能
動部分の選択は、2つのデコーダ25及び26に
よつて行われる。これらの2つのデコーダによつ
てDLAの制御線が作動されることに従つて、
DLAが作動し、所定の論理機能を形成する。も
ちろん、DLAのいくつかの部分はこれらの制御
線によつて制御されていない。この考え方は、
PLAにおけるNORゲート仕様及びNANDゲート
仕様の両方に適用可能である。 第3図に示すように、NMOS技術を用いての
PLAのNORゲート仕様においては、ORマトリ
クス内にゲートを形成するトランジスタと共に
ANDマトリクス内にゲートを作るトランジスタ
は、共通して接地されるソースを全て有してい
る。特定の機能を作りだすトランジスタのソース
がフロートされている場合、回路は、これらのト
ランジスタが取り除かれたかのように働くのでそ
の機能は働かなくなる。NORゲートDLAの背景
にある基本的思想は、機能を行う為の全てのトラ
ンジスタを制御線に接続し、機能を働かせる時に
制御線は接地され、機能を働かせない時にフロー
トにするということである。DLAで多重機能を
作りだす為には、各々の機能を作りだすトランジ
スタのソースを、その機能に対応する別々の制御
線に接続する。第3図は、典型的なNORゲート
DLAを示している。通常のPLA回路は、実線で
示され、DLAを作る為の追加的回路は、点線で
示されている。DLAは破線によつて示されて区
分されている。種々の区分は、P1からR8まで
の表示が付されている。制御線C1が論理1であ
る場合、区分P1及びP5に於る回路が作動さ
れ、出力E及びFFは、入力,及びBの関数
となる。制御線C1が0レベルである場合、E及
びFの出力は、いずれの入力の関数としても制御
されることもない。追加の回路もまた出力E及び
Fを入力,及びBの関数として制御される他
の機能を作り出す為にP3及びP7の区域に追加
することができる。 同様にして、第3図の制御線C2は区分P4及
びP8に於る回路を作動又は非作動状態にするこ
とができ、追加の出力機能を与える追加の回路を
区分P2及びP6内に追加することができる。 この回路は、あらゆる数の区分に対しても一般
化することが可能であつて、この区分は様々なサ
イズが可能である。またANDマトリクスは、OR
マトリクスからは分離して制御可能である。 第3図は、スタテイツクゲートPLAに基づい
て改良が行われたDLAを示しているが、明らか
なように、上記の説明はダイナミツクゲート
PLAに基づくDLAにも応用することはできる。
ダイナミツクゲートDLAを作る為に必要な追加
の周辺制御回路は、特にPLAが大規模である場
合でも非常にわずかなチツプ領域を増加するだけ
で足りる。 第4図はNANDゲートDLAを示す。多重化さ
れた機能の選択された1つを作り出す為にPLA
を区分に分けるという考え方はそのままである。
変わつたのは所望の機能を作りだす為のゲートを
絶縁する方法に関してである。NORゲートを作
り出す為に、(共通ソースの)電圧を制御する方
法が使用される。NANDゲートDLAでは、電圧
制御されたNORゲートDLAに対し電流はデユア
ルで流れる。NANDゲートDLAにおいては、所
望の機能を作り出すトランジスタ以外の全てのト
ランジスタは制御線によつて制御される電流バイ
パスによつてう回(シヤント)される。所望の機
能を作りだすトランジスタのみが上記のようにう
回されることはない。マクスタームよりむしろミ
ンタームの結果を発生するDLAを構成すること
も可能であるが領域の経済性は同じままである。 翻訳の為にDLAを使用することによつて、各
各のプロセツサの翻訳システムは、DLAのオペ
レーシヨンのモードを選択することによつて容易
に再構成可能となる。より高価であるフイールド
プログラム可能構造も使用者の開発にとり有用で
あるが、DLA22はマスクプログラムによるも
のを使用することが好ましい。 このように、制御DLA22を使用することで、
各々のプロセツサ内で必要とされる複雑なマイク
ロプログラミング機能を得ることができる。マク
ロ命令を入力としてDLAに与えているパスにつ
いて以下に説明する。 DLA22は、また単にリアルタイム入力を
DLAの入力線の1つに接続し、その入力とDLA
の適当な出力をAND接続することによつてリア
ルタイム機能を提供する為に使用されている。 制御記憶回路及び制御バスの構造及び使用する
割込み制御システムにつき以下説明する。 ある実施例に於ては、中央制御記憶回路は、4
つの全てのプロセツサにアクセス可能で共用が可
能である。ここで示す好ましい選択例では、制御
記憶回路38のどの部分にも各々のプロセツサが
アクセス可能なままにしておきながら、プロセツ
サの中の制御記憶回路38は、プロセツサの中の
データ記憶部と同様の配置で、配置されている。
4つのマイクロシーケンサ36は、並列アクセス
が可能でないが、単に低い平均アクセスタイムは
可能である。もちろん、マイクロシーケンサ36
は(バス制御ユニツト38と同様に)並列アクセ
スが可能なようにも構成されるが、これにみあう
だけの利点は得られずに、追加の回路によつて複
雑性は増すことになる。中央共有可能制御回路
は、以下のような利点を与えている。多重プロセ
ツサで使用されるコードは複製されないので、メ
モリ領域をより有効に利用することができる。
各々のプロセツサに与えられる制御記憶量を要求
に対して、より良い具合に合わせることが可能に
なる。メモリを中央に集中できるのでフイールド
プログラミングが実用的である。もちろん、中央
制御記憶回路にアクセスする単一のチヤンネルが
システムの障害となるのを避ける為に、制御記憶
回路に記憶される命令のレベルを充分に高くし
て、各々のプロセツサが制御記憶回路から受けと
つた各々の単一命令を、実行する為に平均して4
又はそれ以上の完全クロツクサイクルを要するよ
うにしなくてはならない。現在のマイクロプロセ
ツサのソフトウエア構造に於ては、1つのアツセ
ンブリ言語命令には典型的に平均して5ないし10
サイクルを要するので、命令のレベルに関する上
記の拘束は、容易に満たされる。 マイクロシーケンサ36は、ROMメモリ内に
記憶されるマイクロ命令を実行するシーケンスを
制御する為のアドレスシーケンサである。シーケ
ンス的なアクセス機能に加えて、このマイクロシ
ーケンサに14ビツトの範囲又は16Kワードの範囲
内であらゆるマイクロ命令を条件付きで分枝して
いる。またマイクロサブルーチン回帰連結及びル
ープ機能を与えているラスト・イン・アンド・フ
アースト・アウト形式のスタツクをこのシーケン
サが提供している。ここでは、4から8のレベル
のマイクロサブルーチンがある。アドレス範囲内
のマイクロ命令ループカウンタも有している。マ
イクロシーケンサ36の実施例についてのこの他
の詳しい説明は、当分野に通常の知識を有する者
には明らかであると考え、さらに詳細を第47図
に示すにとどめる。 中央制御記憶回路構造は、中央共有制御バスを
含んでいる。中央制御バス14は4つのプロセツ
サPR0からPR3中の制御記憶回路38の使用の
仲裁を行い、プロセツサからのアドレスを転送
し、制御記憶回路38からのマイクロ命令を複数
のプロセツサに転送している。制御バス14は、
チツプの長さと同じ位の長さで設けられた73本の
線を有している。故に、バスは高価な資源であつ
てバスの帯域をフルに使用できるようにすること
が望ましい。即ち、制御バスの帯域は制御記憶回
路38のスロートツプ及びプロセツサのマイクロ
記憶アクセス率とほぼ一致する。 本実施例に従つた制御バス14の構造が第5図
に示される。制御バス14は制御データバス8
2、アドレスバス84、割あてバス
(destination bus)86、割込みバス88及びデ
ータルーチンバス90を有している。制御データ
バス82は、制御記憶回路38からとつてきたマ
イクロ命令をプロセツサPR0からPR3までに転
送している。このバスは40本分の線の広さであ
る。アドレスバス84は、マイクロシーケンサ3
6によつてそれぞれのプロセツサ内で発生された
アドレスを制御記憶回路38に送り、マイクロ命
令をとりだしている。以下に説明するように、ア
ドレスバス84もまた割込み期間中は優先性の情
報を運んでいる。このバスは14本分の線の広さで
あつて、制御記憶回路38に16Kワードのアドレ
ス領域を確保している。割合てバス86はプロセ
ツサが制御記憶回路38にアクセスする時にいつ
でも使用され、1つまたはそれ以上のプロセツサ
PR0―PR3及び外部割込み管理回路76のいず
れかで現在アクセスされている制御記憶回路38
内のアドレスに記憶されるデータを受けとるかを
知らせる。割合てバス86は、割込み期間中に使
用されプロセツサPR0―PR3及び割込み管理7
6のうちのいずれが現在の割込みを受け取るか
(即ち割込み先interruptee)を確定している。割
当てバス86は線5本分の広さである。割込みバ
ス88は割込みのソースを転送するのに使用され
る。このバスは、割込み先プロセツサに対し割込
みが手元にある中で最も優先性のタスクであるか
どうかを知らせる為にも(即ち割込み先プロセツ
サが割込みを受入れるかを知らせる為に)使用さ
れる。この型の応答では、パイプライン型又はロ
ツクステツプ型オペレーシヨンを必要としてプロ
セスを迅速に設定(又は延期)する必要がある。
割込みバス88は5本分の線の広さである。デー
タルーチンバス90は制御記憶回路92によつて
制御され、PR0からPR3のうちの1つ又は2つ
以上のどのプロセツサが現在制御バス82で転送
中のマイクロ命令を受けとるのを示す為に使用さ
れる。データルーチンバス90は5本分の線の広
さである。線DR0―DR3は、ROMからとり出
されたワードの割当て通りに又は割込みに広じて
PR0からPR3のうちの対応するプロセツサを指
定する為に使用される。線DR4はROMからと
り出されたワードの割当て又は割込みに応じて外
部割込み管理回路を指定するために使用される。 第6図に示されるように、制御記憶管理回路9
2は1つの中央制御器94及び4つの制御記憶モ
ジユール制御器96から組織される。第7図は、
制御記憶管理回路92のオペレーシヨンを示す流
れ図である。制御記憶管理回路92が作動される
時、この回路は、バス86,84からそれぞれ割
当て及び制御アドレスの情報を受取る。次に回路
は、アドレスバス84で受けとつたアドレスのう
ちの上から2つの最高位ビツトの示す内容に従つ
て制御記憶回路38内の4つの制御記憶モジユー
ル78のうち1つを選択する。アドレスは更に適
当なモジユール制御回路96に送られる。第7図
の流れ図に示す上述の機能は、中央制御回路94
によつて実行され、残る機能は、適当なモデユー
ル制御回路96によつて実行される。モデユール
制御96はここで要求されたアクセスの為のアド
レス及び割当て先を待ち行列にしてFIFOのオー
ダーで要求された制御ワードを読み出す。 制御バス14による仲裁は、プロセツサPR0
からPR3の間を花輪状に結ぶバス作動線98
(第5図参照)を用いて行われる。あるプロセツ
サが制御バス14を支配するとき、このプロセツ
サはフルの1サイクルのみの間制御バスを使用す
る。(アドレスを送る為の第1フユイズ、及び連
続する必要はないがデータを受けとる第2フエイ
ズ)。第1フエイズの間、バス14を制御するプ
ロセツサはバス作動線98の電位を低い状況にし
ておく。アドレスが送られた後、このプロセツサ
は、バス作動線98の電位を上げる。線は花輪状
に連結しているので、バス作動回路98の高論理
状態は1つのプロセツサだけによりただちに受け
とられて、このプロセツサは制御メモリへアクセ
スするか又はバス作動線98の花環状の連結の次
の連結の電位をあげるかのうちいずれかを実行す
る。あるプロセツサが制御バスを使用していてバ
ス作動線が循環してそのサイクルの間にこのプロ
セツサに戻つてくる場合(即ち他のプロセツサが
いずれも制御バスを使用する必要のない時)バス
を利用しているプロセツサは信号をうけとり、制
御バスの同期を適正に保つ為、信号を改めて発生
する。制御バスのアクセスにはラウンドロビン
(round―robin即ち優先性を決めないで)仲裁が
行われる。従来の型式と同様に、アドレス準備線
100及びデータ準備線102を使用してアクテ
イブなプロセツサ間及び/又は制御記憶管理回路
92間での通信に同期を行う。この他のデータ準
備線及びアドレス準備線を使用して割込みの転送
期間中のアドレスとデータの間の伝達を行う。 最後に、制御バス14は、花輪状に連結する、
割込み準備線104も有している。花輪のように
連結することによつて割込みを送ろうとしている
プロセツサ間でラウンドロビン型の仲裁を行つて
いる。プロセツサが制御バス14を支配して、た
だちに割込みを発生する時、プロセツサは、花輪
状に連結する割込み準備線104にゼロまで引き
下げる信号を送る。割込みを送るプロセツサは制
御アドレスバス84を支配する前に割込みバス8
8を引き継ぐことができる。割込み元プロセツサ
(interrupting processor)が割当てバス86を
支配する時、発生した割込みの割当て先である外
部割込み管理回路76上のプロセツサに対応する
割当てバス86内の線の電位を上げる。割込みを
発生した後、発生元のプロセツサは、自分が割込
みの発生元であることを割込みバス88上に示し
知らせる。 割込みが開始された後、他の割込みは少くとも
2バスサイクルの間禁止される:1サイクルは割
込みを送る為で1サイクルは、受け取り側プロセ
ツサ(割込み先interruptee)からの応答を発生
元プロセツサ(割込み元interruptor)が受けと
る為である。割込みをバツフアすることだけが必
要な場合、割込み先の割込み管理回路は割込みの
プロセスは可能で1から4の追加バスサイクルが
過ぎるまで他の割込みを受けとる用意ができてい
る。割込みの受け取り側がロツクステツプ又はパ
イプラインモードで連結するようになつた場合、
即ちコンテクストスイツチが必要とされる場合、
割込みバス88は、必要なコンテクストスイツチ
を実行する為に使われるタイミングの間ブロツク
される。コンテクストスイツチの長さは、割込ま
れたプロセツサ内にどれほどのコンテクストが
(即ちレジスタの内容、ALU状況等)保持されて
いるかに左右される。以下で説明する通り、いく
つかのコンテクストスイツチはプロセツサのコン
テクストを本質的に完全に変更することが必要で
ある一方、他のスイツチは最小の変更のみを要す
る。最も短いコンテクストスイツチでも通常3又
はそれ以上のバスサイクルを必要とする。この遅
延が割込み信号の帯域幅を限定するが、割こみが
フルに有効な帯域幅を占めることは予想されない
のでこの方法は適していると思える。この遅延は
長い実行を通しての割込み信号の運行の平均した
レートを落とさずに突然の割込みの発生をスムー
ズにする目的を果たしている。 割込みは、それぞれの命令のシーケンス(即ち
各々の「プロセス」)を開始する為に使用される。
上記で示した様に、割込みは優先レベルを特定
し、データルーチンバス90内を移動しどのプロ
セツサがアドレスされるかを特定する4ビツトコ
ードを有している。もし割込みによつてアドレス
される全てのプロセツサが有効な状態にあるなら
ば、(即ち、これより高い優先性のタスクは手元
にない場合)プロセス内の命令シーケンスの実行
が開始される。もし、実行すべき命令が制御記憶
回路38に存在している場合、この命令は適当な
マイクロシーケンサ36によつて次々と読出され
る。実行すべき命令がRAMメモリ66内にある
場合、この命令は、適当なメモリスケデユーラユ
ニツト68及びバス制御ユニツト58によつて
RAMメモリから次々と読出される。各々の影響
をうけるプロセツサ内のメモリマツパー34はこ
れらの命令をRAM命令レジスタ20を通しDLA
22に転送する。DLA22はこれらのRAM命令
をROMアドレスにする翻訳を行つていて更にこ
れらのROMアドレスはマイクロシーケンサを介
してアクセスされている。また、RAM命令は、
DLA22によつて直接デコードすることができ
る。ROM内に記憶される制御ワードはプロセツ
サ仕様フイールドを有していない。しかし、制御
ワードは、唯一固定された定型部分がオプコード
(op code)である短いビツトのストリング(好
ましくは32ビツト)である。ROMから呼びださ
れた制御ワードがプロセツサのDLA22に回帰
され、制御ワードと共にRAMから受取つた命令
によつて特定されるあらゆる定数及びオペランド
がDLA22によつて通訳される。DLAは、OPコ
ードと同時に例えばオペランドフイールド、定数
フイールド、マイクロシーケンサ命令、メモリイ
ンターフエース命令、状況バス命令、(命令が割
込みである場合の)割合て及び優先性データ、割
込み管理回路の制御の為の命令、スケデユーラ、
バレルシフタ等であるオプコード及び制御ワード
に従つて残りの制御ワードフイールドを通訳す
る。命令ワードの適当な部分が更にデコードさ
れ、デコーダ25及び26に制御されるDLAに
よつて適当なハードウエアに直接接続される。 もちろん、このマイクロプログラミング通訳構
造では、ハードウエアでの実行以前にこれ以上の
ステージを持つ通訳機構を用いることも可能であ
る。例えば、制御記憶回路38から読出された命
令は通訳され、制御記憶回路38又はRAM66
から読みだされた他の連続する命令の実行を要求
するようになる。更に、チツプ外メモリも命令の
実行に使用される。例えば、アプリケーシヨン言
語から成る単一命令が非常に長々しいアブルーチ
ンを示している場合、制御記憶回路38内の相当
する制御ワードは、通訳されて、RAMメモリ6
6の特定ブロツクにあるサブルーチンをロード
し、引き続きそのサブルーチンの命令を実行せよ
という命令が出る。もちろん、チツプ外の記憶容
量に記憶される命令はとりだされ以下にさらに詳
しくのべるように割込み管理回路76及び/又は
外部データポート72及び73を通つて実行され
る。 割込みプロトコールに関するこれ以上の説明は
以下で示す。以下で示すRICを異るモードのオペ
レーシヨンに変更する再構成機能は制御バスのオ
ペレーシヨンに関連づけて説明する。この点に於
て、プロセツサPR0―PR3の各々の構造につい
てもさらに詳しく説明する。 第2図からわかる通り、各々のプロセツサは、
DLA22及び共働デコーダ25及び26に加え
て、フイードバツク線24及び命令レジスタ18
及び20、割込み管理回路12、スケデユーラ1
6、メモリマツパー34、スタツク/レジスタフ
アイル32、バレル(barrel)シフタ30、
ALU28、シフトレジスタ44及びフラグレジ
スタ46を有している。後半の構成部は従来通り
であるが、便宜上さらに明らかにする為に詳細に
説明する。例えば、第9図は、ALU28をさら
に詳細に示している。2本のバス108及び11
0は、プロセツサ内の他のブロツク例えばバレル
シフタ30からの入力として提供されている。こ
のバスはそれぞれの入力ラツチ112及び114
を介して、P(伝播)機能ブロツク116、K(遮
断)機能ブロツク118、C(桁上げ連鎖)ブロ
ツク120及びR(結果)機能ブロツク122に
連続して接続される。伝播機能ブロツク116
は、P制御線124によつて制御され、遮断ブロ
ツク(kill block)はK制御線126によつて制
御され、結果ブロツクはR制御線128によつて
制御される。これらの制御線はDLA22から
ALU28までを接続している。更に、桁上げ入
力(carry in)線130及び桁上げ出力(carry
out))線132が提供されていて、Cブロツク1
20を状況マルチプレクサ48及び50に接続す
る。(状況マルチプレクサ48及び50のオペレ
ーシヨンは、状況バスプロトコールに関連して以
下でさらに詳しく説明する。)Rブロツク122
の出力はデユアルバスであつて、フラグ発生論理
134を通つて出力ラツチ136に接続されてい
る。フラグ発生論理134は状況とエラーの情報
を計算しDLAを介しプログラム状況ワードを提
供している。(DLA22内の)フラグ発生論理1
34は、フラグレジスタ46に接続され、出力ラ
ツチ136はシフトレジスタ44に接続される。
次にシフトレジスタ44はバスA及びB(108
及び110)を通つてレジスタフアイル32に接
続されるか又はメモリマツパー32を通してバス
制御ユニツト58に接続されるので、ALUの出
力は、データバス56内を転送されるか又は、将
来のオペレーシヨンで使用する為にプロセツサ内
に記憶される。 第10図は、ALU28内の機能ブロツク11
6,118又は122の1つの一部分の部品レベ
ルの構造を示す。第11図は、ALU28内の桁
上げ連錯ブロツク120の一部分の構造を示す。
マイクロプロセツサの構造に関するこれ以上の参
考は例えばオズボーンアンドアソシエートに示さ
れ、これは参考としてここにいつしよに示す。 第12図は、データパスの概略図である。入力
信号は、バス108及び110から入力され、こ
れらのバスにはそれぞれ入力ラツチ130及び1
40が接続されている。これらのラツチはバレル
シフタ30の入力と接続する。バレルシフタ30
は、制御線144及びパラメータ入力146によ
つて制御されている。これらはまた両方とも
DLA22から提供されている。パラメータ入力
146は、例えばシフトカウントの為、及び抽出
の限界(extraction boundaries)の為の値を与
えている。バレルシフタ30はバスA及びバスB
に出力を与えている。ALUは、桁上げ、オーバ
ーフロー、負数及び/又はゼロといつたような演
算状況信号を発生している。ALUは、整数のオ
ーバーフロー、十進数の桁上げ等といつたこの他
の割こみ信号も発生している。このような信号
は、DLAに送られてDLA、これらの信号に従つ
て論理オペレーシヨンを実行し信号を発生してい
る。この信号は、フラグレジスタ内でビツトをセ
ツトする。この機構によつて状況セツト信号を発
生させ、例えばコンピユータ構造の中を循環させ
る。 第13図は、バレルシフタ30によつて形成さ
れるシフトオペレーシヨンで使用する用語を示し
ている。従来、左シフトは、最上位ビツトに向か
つてシフトすることを示す為に使用される。即
ち、最上位ビツトは左シフトに関しては先頭ビツ
トである。同様にして最下位ビツトは、左シフト
に関する最後尾ビツトであつて右シフトに関して
は、先頭ビツトである。第14a,b及びc図
は、シフトオペレーシヨンのこの他のいくつかの
例を示している。第14a図は、最後尾ビツトに
ゼロが入り、先導ビツトが欠けている左シフトを
示している。 第14b図は左循環オペレーシヨンを示してお
り、入力ラツチA138の最上位ビツトは、入力
ラツチBの最下位ビツトにマツピングされ、入力
ラツチB140の最上位ビツトは入力ラツチA1
38の最下位ビツトにマツピングされ、他のビツ
トはそれに従つてシフトされている。第14b図
は、1ビツトの循環オペレーシヨンを示している
が、循環オペレーシヨンは、バレルシフタ内の1
クロツクイクル期間中に16ビツトまで右又は左に
動きうる。 第14c図は、シフト及び連結オペレーシヨン
を示しており、ここで入力ラツチ138は右にシ
フトし、連結入力線(link―in line)152が最
後尾ビツトの新しい内容を与えている。先頭ビツ
トの内容は、連結出力線(link―out line)15
4を通り出力される。本実施例に於て、連結入力
152及び連結出力線154は、入力ラツチB1
40から接続されているので多重ビツトシフト及
び連結のオペレーシヨンが実行されるが個別の連
結入力及び連結出力線を代わるがわるに用いるこ
ともできる。 第15図は、バレルシフタ30によつて実行さ
れる抽出(extraction)オペレーシヨンを示して
いる。ここに示すオペレーシヨンでは、バレルシ
フタ30は命令を受けて入力の3―11ビツトを
抽出している。これらのビツトは出力ラツチ15
0に先頭ビツトとして接続される。このような機
能をバレルシフター30に実行させる為に必要と
される回路は既知のように例えば先に参照として
示したミード及びコンウエイの「VISIシステム
入門」に示されている。 メモリマツパー34はプロセツサ構造としては
よく知られる機能を形成する単なるありふれた構
造である。メモリマツパー34によつて受けとら
れる仮想的(ヴアーチヤル)アドレスは共働する
メモリオペレーシヨンによつて16の記憶されて
いた仮想アドレスと並列に比較が行われ、もし受
取つた仮想的アドレスが記憶されていた仮想的ア
ドレスの一つと整合する場合、これに相当する地
域的アドレスが使用され所望のワードが地域メモ
リーから呼び出される。整合するものがない場
合、仮想的アドレスは(ページテーブル索引のよ
うな)テーブル索引によつて翻訳され実際のアド
レスを決定し、レジスタフアイルの1つに随意に
ロード可能となる。この意味で、メモリマツパー
34は内部的に記憶されるメモリユニツトと外部
的に記憶されるメモリユニツトを区別していると
いえる。故にメモリマツパー34はテーブル検索
をこま切れにする(hashing)ことができるよう
に構成され、ハツシユテーブル内の位置を選択す
る為に使用されたハツシユ機能はフアームウエア
によるプログラムが可能である。ハツシユテーブ
ルはマルチウエイセツト共働メモリとして作られ
ている。ハツシユ機能の出力は並行して検索が行
われる多重位置を指示する。所望のアドレスがハ
ツシユテーブルで多重位置に於て行われた比較と
整合しない場合所望のアドレスは(設計上)テー
ブルに存在しないということなのでこれ以上の検
索は必要なくなる。故にこのマツピング機能は
様々なサイズのメモリのマツピングを行う。ハツ
シユ機能が記憶容量を補助する為に使用される場
合、ハツシユテーブルエントリーが数10バイトの
メモリユニツトを指示する。ハツシユ機能が仮想
的メモリ翻訳ルツクアサイドバツフアを補助する
場合、メモリユニツトは典型的に512バイトから
2048バイトまでになる。メモリマツパーに適当な
構造をもつ物としては、ナシヨナルセミコンダク
タ社のチツプ番号16082がある。 割込み管理回路12は制御バス14を通つて転
送されてくる全ての割込み信号を直接受取つてい
る。(割込みプロトコールは以下でさらに詳しく
説明する。)割込み管理回路は、各々の割込みご
とに適当な割当てビツトをテストし、その割込み
管理のプロセツサが割込み先であるか否かを調べ
アドレスが適正である場合には、新しい割込みの
優先性と現在実行されているプロセスの優先性を
比較する。新しいプロセスの方が高い優先性を持
つ場合、割込み管理は割込みを受け入れ、さもな
ければ割込み管理回路12は、ワイヤーANDED
線の電位を引き下げて割込みを拒絶する。 スケデユーラ16は256ビツトシフトレジスタ
内の優先性によつて割込みをバツフアする。プロ
セスが有効に行われている時、スケデユーラ16
はシフトレジスタ全体をスキヤンし、次に高い優
先性を持つプロセスを見つける。現在のプロセス
が完了又は時間切れの場合、スケデユーラ16は
次に高い優先性のプロセスの優先性を使つてこの
プロセスのコンテクストを示すポインタを含むテ
ーブルにアクセスしている。適当なコンテクスト
は、スタツク/レジスタフアイル32から、
RAMメモリ66から又は外部メモリから再び呼
び出される。 第18図は、上記で示したデータパスの総体的
な全体図を示す。バスA及びB(108及び11
0)は、主要な構成部であるデータパス、即ちス
タツク/レジスタフアイル32、バレルシフタ3
0、ALU28及びフラグ及びシフトレジスタセ
ツト44及び46の側面に設けられる。更に左側
ポート170はデータパスの入力及び出力の末端
に設けられている。好ましい実施例ではないが、
右側ポートを用意する選択も可能である。このあ
るプロセツサの右ポートは、隣接するプロセツサ
の左ポートに接続する為に使用される。例えば、
プロセツサPR3の右側ポートは、プロセツサPR
2の左側ポートに接続される。リテラルレジスタ
174もまた定数を発生させる為に提供される。
入力はメモリマツパー34から接続する左ポート
170に接続され、右側ポート172からの出力
もメモリマツパー34を通つて接続される。 スタツク/レジスタフアイル32は、2本のバ
ス108及び110を十分に利用できるようにす
る為にデユアルポートのレジスタフアイルでなく
てはならない。さもなければレジスタフアイル3
2は従来と全く同じである。 データバス56の組織は、RAMメモリ66、
バス制御ユニツト58及びメモリスケデユーラユ
ニツト68のオペレーシヨン及び構造といつしよ
に以下で説明する。 第16図は、データバス56の構造を示してい
る。データバス56は16本のアドレス線156、
16本のデータ線158、ラウンドロビン仲裁線1
60、4本のソース線162、モデユールビジー
線164、ソース状況線166及びBCUモード
線167を有している。別々のアドレス線156
及びデータ線158によつてデータアクセスのオ
ペレーシヨンが単一バスサイクルで実行可能とな
つている。この場合チツプ上のRAMメモリ66
がアクセスされるので少くともメモリアクセス速
度はこれを可能にしている。こうする代わりに、
アドレス線及びデータ線156及び158を多重
構造にし領域を節約することができる。ラウンド
ロビン仲裁線160は4つのプロセツサPR0―
PR3、4つのメモリモデユール60、及び外部
データポート72及び73の間を花輪のような形
で連結しているので、データバス56へのアクセ
スは有効に仲裁が行われる。4本のソース線16
2は、現在転送中のメモリアクセス要求のソース
であるプロセツサ又はモデユール又はデータポー
トを特定している。その代わりに制御線164の
状況に従つて、ソース線163を使つて、どのメ
モリモデユール60がメモリモデユールによつて
次にサービスを受けるのかを示している。10本の
割あて線168は、どのプロセツサ、モデユール
又はポートがデータを受けるかを示す。ソース状
況線166は(もし低論理であれば)ソース線1
62は更にプロセツサ、モデユール又はデータポ
ートのどのメモリの要求が次にサービスを受ける
のかを示す。ソース状況線166が高電位状態に
あるということは、ソース線が現在のソースを示
していることを表わしている。また、メモリの読
み出しに使用されるか又はメモリの書込みに使用
される為バスが停止状況(idle)にあることを示
す2本のバス状況線165も提供されている。 第17図の流れ図はさらにデータバス56内の
線の利用をさらに明らかにしている。一度、いず
れのソース(プロセツサPR0―PR3、RAMメ
モリモデユール60、又はデータポート72又は
73)がデータバスへのアクセスを受けとると
(即ち、一度、そのソースが花輪状連結線160
から高電位信号を受けとると)ソースは線162
上に4ビツトコードを示す。ソースがRAMメモ
リモデユール60であつて、対応するメモリスケ
デユーラユツト68が未解決のメモリ要求を有し
ている場合、ソース線162はどのプロセツサ又
はメモリモデユールが次にサービスを受けるかを
示すようになり、線166は電位が引き上げられ
る。この後で、また未解決のメモリ要求を持つメ
モリモデユールがソースでない場合でも、メモリ
アクセス割当て線168の電位が引き上げられて
読出されるべきデータに関する10個の割当てから
成るいずれかの組合せを示す。連動回路
(interlock)は、データの完全性を保つ為に提供
されている。もし割当て先に未解決のメモリ要求
を持つメモリモデユール60を1つまたは2つ以
上が含まれる場合、ワイヤーANDED線である。
ビジー線164の電位が引き上げられ、同一のメ
モリスペースに対し同時に読みこみ及び書込みが
行われることがないようにしている。 第19図は、RIC内のRAMシステムの組織を
総体的に示す概略図である。各々のプロセツサ
PR0―PR3は、メモリマツパー34を介して、
データバス56へのインターフエースとして働く
バス制御ユニツトBCU58に接続される。各々
のBCU58は対応するメモリスケデユーラユニ
ツトMSU68にも接続され、BCU58及び
MSU68の各々は両方とも対応するRAMメモ
リモデユール60に接続される。 プロセツサが自分のメモリモデユール60にア
クセスする時、プロセツサは自分のBCU58を
通つて自分のMSU68に接続される。MSU68
は未解決のメモリ要求があるか否かを決定する。
未解決のメモリ要求が存在しない場合、アクセス
がただちに発生する。アクセスが決定されていな
い場合、MSU68はメモリのサービスを最初に
要求したかを示すタグ(tag)を待ち行列にする。
MSU68は先に来たものから先にサービスを行
うスケデユール方針に従つて要求を待ち行列にす
る。特定の要求が列の先頭まで達した時MSU6
8がこのことをプロセツサ又はデータポートに信
号で知らせる。このプロセツサ又はデータポート
は再び要求を発生し、メモリアクセスがただちに
行われる。プロセツサがそのプロセツサ以外のメ
モリモデユールにアクセスする時、バス制御ユニ
ツト58はデータバス56を介して通信が可能に
なるよう構成されなくてはならない。故に例えば
プロセツサPR3がプロセツサPR1に相当するメ
モリモデユール60にアクセスする場合、PR3
に対応するバス制御ユニツト58は、プロセツサ
PR3をデータバス56に接続するように構成さ
れ、PR2に対応するBCU58は、信号をデータ
バス56によつて転送できるように構成され、プ
ロセツサPR1に対応するBCU58は(プロセツ
サPR3に向かう方向で)データバス56をプロ
セツサPR1に対応するRAMメモリモデユール
60に接続するよう構成されなくてはならない。
上記のように、プロセツサはまずラウンドロビン
のオーダーでスケジユールされた共有のデータバ
ス56にアクセスできるまで待機している。プロ
セツサはバスにアクセスした後で、プロセツサは
メモリ情報及び割当て先メモリモデユールを示す
割当てタグを連送する。各々のプロセツサ又はデ
ータポートは、一度に1つだけ未解決のメモリ要
求を持つことができるので、どのメモリモデユー
ルも最大で6つまで未解決の要求を持つことがで
きる。各々のプロセツサのメモリインターフエー
スは、データバス56を通つて送られてくるメモ
リ制御信号を鑑視する回路を有している。この機
能はメモリマツパー34によつて実行される。 RICの内部RAMメモリは、好ましくは最小の
微細加工特徴が1ミクロン(ラムダ=0.5ミクロ
ン)である(バスドライバーのようなCMOS技
術を実現する高出力構成素子を用いた)
NMOSRICの中に作られた16Kバイトのダイナミ
ツクRAMである。 故に、BCU58は全てのプロセツサをそれぞ
れ隣接するメモリモデユール60にアクセス可能
とする一方、各々のプロセツサをデータバス56
によつてこれ以外の離れたメモリモデユールにも
アクセス可能にするという重大な役割を果たして
いる。BCUの構造は第20図及び第21図に示
す。各々のBCUは、3つの両方向に導通可能な
(バイデイレクシヨナル)スイツチ178,18
0及び182を有している。短いバス184は
BCU58とそれぞれの対応するプロセツサのメ
モリマツパー34を接続している。第2の短いバ
ス186は、対応するモデユール60のアドレス
レジスタ62及びデータレジスタ64に接続され
る。バイデイレクシヨナルスイツチ178はこれ
らの短いバスの両方に接続され、バイデイレクシ
ヨナルスイツチはある位置で単にメモリマツパ3
4をレジスタ62及び64に直接接続するサービ
スを行つているので各々のプロセツサはそれに対
応するメモリモデユール60に並列にアクセスす
ることができる。他の位置のバイデイレクシヨナ
ルスイツチ178は、MSU68を(短いバス1
86を介し)データバス56に接続するサービス
を行つている。同様に、スイツチ182は、(対
応するプロセツサがその対応するメモリモデユー
ルにアクセスしている時)データの流れをブロツ
クするか又は、単に短いバス184をデータバス
156に直接接続するか又は、短いバス184を
バイデイレクシヨナルスイツチ180が封錯モー
ドである時に絶縁されている2つのデータバス5
6の組に方向を指定して接続するか、これらのい
ずれかを行つている。このオペレーシヨンモード
は第21図に示されていて、パイプラインモード
でのRICのオペレーシヨンが可能にしてある。こ
の場合、各々のプロセツサはオペレーシヨンの前
段階からデータを受けとり、同時にオペレーシヨ
ンの次に続く段階にデータ出力の流れを与える。
故に、パイプラインモードは、隣接するプロセツ
サの個別な組の間を異るデータの流れを並列に転
送させてゆくことを必要とし、この機能は、バイ
デイレクシヨナルスイツチ180をブロツクモー
ドにすることによつてまたバイデイレクシヨナル
スイツチ182を方向を指定して接続することに
よつて実現される。 プロセツサが離れたメモリモデユールにアクセ
スする時、異る3つの構造から成るBCUが必要
とされる。例えば、プロセツサPR3がプロセツ
サPR0に対応するメモリモデユール60にアク
セスする場合、PR3に於るBCU58はPR3を
データバス56に接続しなければならないし、
PR0に対応するBCU58はデータバス56を対
応するレジスタ62及び64に接続しなくてはな
らず中間のBCU58は単にデータバス56のク
リアオペレーシヨンを可能にする必要がある。本
実施例に於て、BCU58に必要な調整はデータ
バス56内のBCUモード制御線167によつて
行われる。いずれかのプロセツサがデータバスを
制御する時、そのプロセツサは更にBCUモード
線167を使つて全てのBCUを制御することが
できる。仲裁線160がプロセツサがデータバス
56を制御していることを示す時、全てのBCU
58に於て満たさなくてはならない、唯一の必要
条件は、バイデイレクシヨナルスイツチ180が
データバス56をブロツクしていないということ
である。更に、各々のBCU58内のバイデイレ
クシヨナルスイツチ178は、データバス56を
レジスタ62及び64に接続するように作動して
いる。故に各々のアドレスレジスタ64は、要求
されたアドレスを受取り更に適当なMSU68が
その中のメモリモデユール60内の制御レジスタ
70を作動させて必要なデータを供給させてい
る。 BCU58を制御する上記のシステムはできう
る範囲で最も有効な例というわけではないが、追
加の制御線の必要性を最小にしてプロセツサ間に
おこる干渉を防止している。好ましくは、各々の
MSU68は直接データバスのバス状況線165
に接続され、RAM制御レジスタ70が必要とす
る読出し/書込み及び作動ビツトを受取つてい
る。各々のMSU68は対応するプロセツサに対
し直接接続する2本の線を持つて構成され、
RAM制御データを与えてデータバス56を使用
せずに地域的なアクセスを行つている。 メモリスケデユーリングユニツト(MSU)6
8では、第22図で示すようなオペレーシヨンが
行われる。データバス56がアクテイブであつ
て、BCUモード制御線167がアクテイブにさ
れた時はいつでも、MSUはアドレス線156の
先頭ビツトを見てアクセスがこのMSUに制御さ
れるメモリモデユール60に対するものであるか
否かを決定している。もしそのメモリモデユール
60に対するものであれば、次は、メモリの要求
が未解決となつているか判断する。この場合、最
後の要求を出したプロセツサまたはデータポート
は、先に入つたものが先に処理される形式に配列
される。最大で6個のソース(4つのプロセツサ
及び2つのデータポート)を待ち行列に並べられ
る必要があるので、小さなシフトレジスタがこれ
を実行する。同様にしてもし他のメモリの要求が
既に未解決のままである場合、地域的なプロセツ
サによつて要求されるメモリアクセスは延期さ
れ、ビジー信号がもどつてくる。メモリ読出しが
実行される時は、データバスが使用可能になるの
を待つてから、データワードを割合て線168を
通つて指示された割合て先に転送しなくてはなら
ない。書込みが実行される場合には、回帰信号は
必要ない。どちらの場合でも、MSU68はただ
待ち行列レジスタから次の未解決のメモリの要求
を引きだし、そのソースに信号を送つてメモリア
クセスが現在可能であることを知らせる。MSU
68は次のソースが要求を再び発生するまで待機
し、それから上記のように適当なメモリのアクセ
スを行わせる。 当分野に通常の知識を持つ者には明らかよう
に、アドレスレジスタ64、データレジスタ62
及び制御レジスタ70はMSU68とそれに対応
するメモリモデユール60の間のインターフエー
スとして使用される。 本実施例において、各々のメモリモデユール
は、16ビツトアドレスでアドレス指定される。こ
れによつて、4つのプロセツサの各々に対し直接
アドレス可能な領域を場合によつて64Kバイトま
で増やすことが可能である。しかしながら、プロ
セツサは2種類の型のアドレス、即ち16及び32ビ
ツトを維持している。プロセツサ自身のメモリモ
デユールに直接アクセスする為には16ビツトのア
ドレスが使用される。32ビツトアドレスは外部メ
モリへのアクセスの為使用される。他のメモリモ
デユールにアクセスする場合は、プロセツサは16
ビツトのアドレスを送り、所望の内部メモリモデ
ユールと結合する割合て信号を与えることでメモ
リモデユールを指定する。32ビツトのアドレス
は、プロセツサの制御に従つて外部アドレス又は
マツピングアドレスのうちいずれかとなる。外部
アドレスとなるようアドレスが指示される場合、
アドレスは外部メモリインターフエースに送られ
てプロセスが実行される。さもなければアドレス
はメモリマツパーに送られる。メモリマツパーは
アドレスが内部のものか外部のものかを決定する
為連合して探索を行う。内部のものであれば、関
連した内部アドレスは外部メモリインターフエー
スに送られる。 (状況バスのエンド・アラウンド・ループ54
を含む)状況バス52は4つのプロセツサPR0
―PR3及び外部状況ポート74及び75を相互
接続している。状況バス52は桁上げ状況線19
0、桁上げ入力出力線191、オーバーフロー線
192、負数線194ゼロ線196プロセツサ同
期線198及びシフト循環線199から成る7本
の線のみを有している。故に、エンド・アラウン
ド・ループ54を含めても状況バスは、たつた14
本の広さしかない。各々のプロセツサは、プログ
ラム可能なスイツチである対応する一対の状況マ
ルチプレクサ48又は50を有している。これら
のスイツチは、選択的に且つプログラムに沿つて
各々のALU28の状況出力又は入力線を状況バ
ス52及びエンド・アラウンド・ループ54の両
方を含む状況バス線に、いずれかの方向を指定し
て接続している。第23から第25図は、状況マ
ルチプレクサ48及び50で選択された状況バス
接続のいくつかの例を示している。プロセツサが
独立して動作する時、第23図で示すように状況
線の接続は必要とされず、状況マルチプレクサ4
8及び50は状況バス52及び54に開路を作じ
だす。隣接するプロセツサがパイプライン構造で
作動する時、(例えばPR3の)データ出力がPR
2の入力として与えられている場合、プロセツサ
同期線198のみが接続される必要がある。最後
に、プロセツサPR3及びPR2が32ビツト又はそ
れ以上の規模のプロセツサの一部としてロツクス
テツプ構成で作動される場合、プロセツサPR2
の状況出力は、全てプロセツサPR3に対する状
況入力として接続される。プロセツサ同期線は、
ロツクステツプモードで使用され現在のオペレー
シヨンが完了する前には確実に新しいオペレーシ
ヨンが開始されないようしている。例えばロツク
ステツプ構成のプロセツサがアクセスしている全
てのメモリモデユールに対し、他のソースからの
未解決なメモリ要求が不均一に配分されることに
よつて、全てのプロセツサーは、そのメモリのア
クセスを同時に受けとることはない。状況マルチ
プレクサ48及び50によるプログラム可能な相
互接続の状況は、DLA22から接続される制御
線によつて管理される。状況線190から196
は、ALU28及びフラグレジスタ46からの状
況入力及び出力に接続され、シフト/循環線19
9はバレルシフタ30のリンクイン及びリンクア
ウトビツトに接続され、プロセツサ同期線198
はDLA22に接続される。外部状況ポート74
及び75も同様のプログラム可能な接続回路を有
している。 本発明である再構成可能な多重プロセツサ機能
を提供する為共働する上記で示したような構造的
特徴はこれからさらに詳しく説明する。 第26,27及び28図は、本発明である再構
成可能な集積回路のオペレーシヨンの3つの主要
なモードを示している。第26図は、全体的に独
立するモードの組織を示している。このオペレー
シヨンではプロセツサPR0―PR3は単一チツプ
上に配置された実質的に4つの独立するプロセツ
サとして働いている。4つ別々の命令の流れが別
個のプロセツサPR0―PR3に与えられ、独立す
るプロセツサ間に必要とされる唯一のインターフ
エースは、制御バス及びデータバスプロトコール
によつてアクセスされるものである。 同じ構造はまた配列処理オペレーシヨンを行え
るようになつている。配列処理に於て、プロセツ
サ間の相互接続は独立モードの場合と同じであ
る。配列処理と異る点は、各々のプロセツサが、
同じ命令の流れを受けとつているということであ
る。もちろん配列処理はまたプロセツサのロツク
ステツプで接続されるプロセツサの2次的な組
(例えば2つの32ビツトプロセツサ)に基づき構
成される。 第27図は内部的なロツクステツプモードで作
動されるRICの例を示す。この例では、4つ全部
のプロセツサが再構成されて単一の64ビツトプロ
セツサとして作動するようになつている。この構
成では、制御バス14が単一の共通な命令の流れ
を運んでいて、この命令の流れを全てのプロセツ
サが受け取る。上記のように必要な同期桁上げ及
び状況ビツトは状況バス52及び54によつて通
信が行われる。更にシフト及び循環連結が設けら
れているので望みのビツト又は循環オペレーシヨ
ンをどれでも64ビツトワードでデータバス56を
介し実行することができる。(この連結に関して
は、データバス56は、上記で示したようにパイ
プラインモードで構成される。)1ビツトシフト
及び循環がシフト/循環線199によつて実行さ
れる。RICをこのモードに正確にプログラムする
ことによつて、各々のプロセツサが64ビツトワー
ドの16ビツトセグメントの読出し又は書込みを行
い全てのプロセツサが4つのRAMメモリモデユ
ールの対応する位置でこの読出し又は書込みを同
時に行うので、単一クロツクサイクル内において
RAMメモリ66に対する64ビツトでのアクセス
が可能となる。 第28図は、パイプラインモードで作動するよ
う構成されたRICの例を示す。この構成におい
て、4つのプロセツサは、もともとは単一のデー
タの流れであつた連続するオペレーシヨンを実行
している。即ち、全体的な命令の組は、(プログ
ラマーによつて)4つのオペレーシヨンの組に分
割される。この4つのオペレーシヨンの組はそれ
ぞれほぼ同じ時間を必要とする。そこで4つのプ
ロセツサは各部分が連続するデータの流れのう
ち、分割された命令プロセスの一部分のみを各々
で実行する。故に、このようにして小分けされた
命令の組を用いてデータの流れを操作しなければ
ならない場合、スループツトは4倍になる。命令
の組はプログラマーによつて4つの命令のサブセ
ツトに分割されるので、チツプレベルでは、命令
の流れは単に1つ1つがパイプラインモード内の
各々のプロセス段階に向けられた4つの別々で個
別の命令の流れとして現われる。上記で示した通
り、BCU58はデータバス56を小分けして、
パイプラインモードで連続するステージの間(即
ち、隣接するプロセツサの間)をデータが直接の
転送できるよう構成される。更に、ロツクステツ
プ及びパイプライン構造を組合せることも可能で
あるので、RICは例えば32ビツトプロセツサを接
続して2段パイプラインを作つて作動するように
もできる。この場合、次々とパイプラインで接続
されるステージの間でのデータ転送はデータバス
56で多重にして行われる必要がある。故に、こ
の実施例では、プロセツサPR3及びPR2が2段
の32ビツトワードパイプラインの1段目を形成す
る場合、プロセツサPR3はプロセツサPR1に対
応する割合て線168の電位を引きさげながら第
1段の出力の最上位ビツトを送信し、続いてPR
2がプロセツサPR0に対応する割合て縁168
の電位を引き下げながらデータ線158を使つて
出力ワードの最下位16ビツトを出力する。 再構成を行う為には、3つの主要な型の割込み
が使用される。第1の型の割込みは、他のプロセ
ツサ(即ち、割込み先(interruptee))の資源に
ロツクステツプモードのオペレーシヨンを設定す
るように要求する。このモードでは、1つのプロ
セツサが共働単位の中の他のプロセツサのオペレ
ーシヨンを支配していて、故にこのプロセツサは
ロツクステツプでの共働単位内のマスタプロセツ
サと呼ばれる。この型の割込みのプロセスを(プ
ロセツサがコンテクストスイツチを実行した後
で)すぐに実行することを全てのプロセツサが受
理する場合以外は、割込みはこれ以上の動作をお
こすことはなく、マスタープロセツサによつて後
で改めて発生される。この場合、自分の割込みが
拒絶されたマスタプロセツサは、そのプロセスを
バツフアの中に入力しておいて、さらにスケジユ
ールを変更し、次のスケジユールによるプロセス
の実行を開始する。その後再度割込みを送ること
もマスタープロセツサの役割である。故にロツク
ステツプでの割込みは、すぐにプロセスが実行可
能な時のみ受け入れられる。「どこそこのプロセ
ツサが必要とされている」「自分のプロセツサは、
今は使用可能である」「自分のプロセツサを解除
せよ」及び「どこそこのプロセツサーが解除され
る」等といつたオペレーシヨンを意味するプロセ
ツサ間での割込みの必要性を最小限にして、この
プロトコールはプロセツサ間の通信を最小にして
いる。これによつて割込みに使用されるバスサイ
クルの数が減つてプロセス及び割込みのスケデユ
ーリングが複雑でなくなつている。単に拒絶され
た割込みをバツフアしたり、延期したりすること
は、上記で示した選択しうる例に比べて複雑なプ
ロセスではない。 ロツクステツププロセスでの割込みの為に要す
るコンテクストスイツチは他の型の割込みコンテ
クストスイツチより少くてすむ。プロセツサがロ
ツクステツプに構成される場合、マイクロシーケ
ンサ36は、ロツクステツプの全期間中は停止状
態(idle)に保たれる。実際のところ、マスター
プロセツサのマイクロシーケンサ36が他のプロ
セツサ内のマイクロシーケンサの機能を代行す
る。故に、この場合シーケンサは働かなくなるの
で、マイクロシーケンサのコンテクストスイツチ
はそのままでよい。もちろんこのことは真のマイ
クロ割込みが許可される場合のみ問題となる。即
ち従来装置におけるマクロ命令に相当するものを
実行する間に割込みが発生可能である。本実施例
では、マイクロ命令を省略すれば複雑さを減少で
きるが、これを使うことも可能である。マイクロ
命令を使用する意義には、2つの要素が存在す
る。第1は、大規模CPUに多重チツプを使用す
る場合のような応用例では、その性能を最大限に
利用する為にマクロ命令が使用されないことであ
る。第2は、あるマイクロ命令はストリング操作
のように非常に長くなるということである。 ロツクステツプ構造の中の従属プロセツサ
(slave processor)の割込み管理回路は自分を指
示する割込みの存在を知る為に制御バス14の鑑
視を続けている。しかしながら、もし、ロツクス
テツプで構成される共働単位内のいずれかのプロ
セツサがその共働単位内で現在実行しているプロ
セスより高い優先性を持つ割込みを受取る場合、
従属プロセツサに向けられる割込みを鑑視してい
るマスタープロセツサは、ロツクステツプで構成
される共働単位内の全てのプロセツサにおける適
当なコンテクストスイツチを実行する。マスター
プロセツサーは、割込みのソースに通常の割込み
応答を用いてそこから発生された割込みがただち
に処理されることを知らせる。マスタプロセツサ
は、た、割込みを必要としない共働単位内の全て
のプロセツサを解除する。マスタプロセツサは更
に再びスケデユールを行う為に割込まれたプロセ
スをバツフアに入力する。マスタプロセツサは共
働単位内の他のプロセツサの割込まれたプロセス
を再び続行させる。共働単位内の全てのプロセツ
サが再び作動可能になつた後で割込まれたロツク
ステツプのオペレーシヨンが再び続行される。 ロツクステツプの共働単位内で作動している従
属プロセツサがロツクステツププロセスより低い
優先順位を持つ割りこみを受けとる場合、従属プ
ロセツサは、低い優先性のプロセスをバツフア
し、後にスケデユールし直す。故に、マスタープ
ロセツサが、共働単位内の他のプロセツサのいず
れかに向けた割込みを確認する必要のある間は、
ロツクステツプより低い優先順位を持つているい
かなる従属プロセツサの割込みに対し、マスタプ
ロセツサの割込み管理回路はいかなる機能も実行
する必要がない。それぞれの従属プロセツサ内の
割込み管理回路12は低い優先順位の割込みをバ
ツフアする。 第2の型の割込みは割込み先プロセツサが実行
する、いくつかの計算を特定することを要求す
る。(即ち、これはよく知られる“古典的”な割
込みである。)この型の割込みの次には、実行す
べきプロセスを特定する命令の流れが与えられ
る。この型の割込みは、その優先順位に従つてプ
ロセスされる。このような割込みがサービスの為
にスケデユールされた時には、割込みの後で与え
られた第1番目の命令に従つてコンテクトスイツ
チを行つている。 第3の型の割込みは、パイプラインプロセスを
開始させる。パイプラインでの割込みの管理は、
ロツクステツプ型での割込み管理と同様である。
マスタープロセツサがパイプラインの割込みを送
り出すと、これを受けとつた全てのプロセツサ
は、自分がパイプラインプロセスに参加できるか
を信号で知らせる。受取つたプロセツサが全てそ
ろつて参加できない場合、割込みは無効となつて
後で再び続行される。同様にパイプラインプロセ
スにおけるマスタープロセツサは、共働単位内の
いずれかのプロセツサに向けられる割込みを鑑視
してパイプラインプロセスより高い優先順位を持
つ割込を実行している。従属プロセツサは低い優
先性の割込みのみをバツフアする。パイプライン
での割込みの制御とロツクステツプでの割込みの
制御との間の主な違いは、パイプライン割込みプ
ロセスでの従属プロセツサがそのそれぞれの持つ
マイクロシーケンサ36を使用し独自のマイクロ
命令の流れを実行していることである。故にそれ
ぞれの従属プロセツサのマイクロシーケンサ36
内に含まれるコンテクストは保持されたままであ
る必要がある。 資源が共用されている場合、前に述べたように
デツドロツクの発生は、非常に危険であつて必ず
避けなければならない。例えばプロセツサPR1
及びPR0がそれぞれプロセツサPR2及びPR3、
両方の資源を使いたい場合、またプロセツサ
PRR0がプロセツサPR3を支配しようとしてい
る一方でプロセツサPR1ができ続きプロセツサ
PR2を支配している場合、もしもプロセツサPR
1及びPR0がそれぞれの可動できないプロセツ
サPR2又はPR3が可動できるようになるのをた
だ待つようにだけプログラムされているとする
と、デツドロツクが起こりうる。本発明において
は、いくつかの手段を講じてデツドロツクを防い
でいる。第1に各々の実行中のプロセス及び各々
の割こみには、プログラマによつて独得な優先順
位が与えられる。概念的には、各々のプロセスに
そのプロセスの優先順位及びプロセスを開始させ
る割込みの優先順位と同一の名前をつけると考え
ることができる。システム内で実行中の全てのプ
ロセスは、異る優先順位をそれぞれ持つ為、より
高い優先順位を持つ割込みが割合てプロセツサを
先取するので行き詰まりは起こり得ない。本実施
例に於ては、1回の割込み期間中には、アドレス
バスの8本の低いオーダーの線に示される256の
優先順位がシステム内に存在できる。割込みが認
められバツフアされる時はいつでも、優先順位に
関する情報もバツフアされる。バツフアされた割
込みがサービスの為にスケジユールされる時、8
ビツトの優先性に関する情報を含む割込み制御ワ
ードがとりだされプロセスを開始させる。 故に、全てのプロセス(即ち、命令の流れ)が
ゼロから255の間の優先性レベル(又は名前)を
有する。この場合255が最も高い優先順位になる。
どのプロセスもプロセス自体と同じ優先順位を持
つ割込みによつて開始される。多重プロセツサプ
ロセスにおけるマスタープロセツサは、同じレベ
ルの割込みによつて全ての必要とする追加のプロ
セツサに割込みを行う。ロツクステツププロセス
では、同じマイクロ命令の流れが全てのプロセツ
サによつて実行される。ロツクステツププロセス
における各々のプロセツサは他の全てのプロセツ
サとまつたく同じプロセスを実行しているものと
して扱われる。(しかし、桁上げビツトの存否と
いつたロツクステツプ内の相対位置によつて時々
わずかな違いはある。)ロツクステツプで接続す
るプロセツサ間における違いは、これらプロセツ
サの位置がプロセツサ間のハードウエアの相互接
続を決定していて、マスタプロセツサが共働単位
内の全てのプロセツサに対しより高い優先順位の
割込みを実行していることである。パイプライン
プロセスでは、各々のプロセツサは、同じ割込み
で割込みが行われ、もともとは各々のプロセツサ
は同じ命令の流れを処理しパイプラインプロセス
を行つている。引き続きパイプラインプロセス内
の各々のプロセツサは、異るマイクロ命令の流れ
を実行することができる。次に、プロセツサは元
の共通なマイクロ命令の流れをそれぞれの持つ場
所の数によつて分岐し、それに対応する適当な分
岐を選択し各々のプロセツサに対する別々のマイ
クロ命令の流れを作る。パイプラインモード内の
各々のプロセツサは別々のマイクロ命令ルーチン
を行うことができても、全てのプロセツサは、チ
ツプを管理するという目的では同じプロセスを実
行していると考えられる。パイプラインでの共働
単位内のマスタープロセツサは、ロツクステツプ
プロセスと同様に単位全体に対しより高い優先性
を持つ割込みが処理される。1つのプロセツサの
みを必要とするプロセスは、多重プロセツサでの
プロセスを管理する為に必要としたプロトコール
は必要としない。 上記で示した優先づけ方法によつて生ずる拘束
としては、制限なしにはプロセスを共用すること
ができないことである。この制限とは、同一プロ
セツサ内で共用されるプロセスは一度に2回以上
の発動は不可能であることである。この制限は、
いかなるプロセスにも正式にあてはまるが、多重
化した別々のプロセスが共用のルーチンを開始す
ることができるので、この制限は、共用のルーチ
ンに関してのみ重要である。この拘束によつて一
つのプロセスの為に複数の状況を記憶する困難性
を回避することができ、同じプロセスが多重に発
動されたことを見分ける為に必要となる機構の必
要性をなくしている。ルーチンを共用して循環を
可能にする望ましいこの特性は、この後に述べる
方法によつてほとんどすべて実現できる、ルーチ
ンが共用されるかあるいは回帰的に呼出される場
合このようなルーチンが発動されるごとに特有な
優先性レベルが与えられる。この解決性は重複す
る共用ルーチンに必要な制御を記憶する領域を節
約することができる。このようなタスクを開始す
るにあたつては、優先性レベルが制御ワードへの
アクセスを起こす。制御ワードにはルーチンの最
初のアドレスを指示する区域がある。共用又は回
帰的ルーチンは、全て制御記憶回路38内の同じ
開始アドレスを指示する多重な優先性レベルを持
つことになる。 256の優先性レベルを用意すればたいていの応
用例には充分である。故に本実施例ではこれを採
用している。しかし、もつとたくさんの優先性レ
ベルを用意することが望ましい場合、例えば8ビ
ツトによる優先順位の特定より10ビツトを使うこ
とはもちろんとるにたらない問題である。256の
優先性レベルを用意することは1度に256のみの
有効なプロセスが存在することを意味する。有効
でないプロセスは数に制限なく存在可能である。 例えば本発明による再構成可能なICを用いて
32ビツトCPUに対抗することを仮定する。再構
成可能なICにおけるプロセスは以下のようなタ
スクが与えられている。即ち命令とり出し、コン
テクトスイツチ、命令間の対抗、外部割込みレベ
ルごとに1つのプロセス、自己テスト、リセツト
等である。この場合256のプロセスで適している
ように思える。 各々のプロセツサ内の割込み管理回路12の主
なタスクは、割込み信号プロトコールに従つて信
号を受取りまた発生することである。割込み管理
回路12は割込み信号を送信及び受信していて、
新しい割込みが受けとつた時はいつもスケデユー
ラ16に信号を送り、現在実行中のプロセスの優
先順位と比較した新しい割込みの優先順位を知ら
せる。スケデユーラ16及び割込み管理回路12
は両方とも現在実行中のタスクの優先順位を記憶
している必要がある。新しい割込みが現在実行中
のプロセスを続行させる時、スケデユーラー16
はただちに新しいプロセスがシーケンサ36の内
容を含めた全体的コンテクストを記憶することを
必要とするか否か又は、部分的なコンテクストス
イツチのみを必要とするかを確認しなくてはなら
ない。必要なコンテクストスイツチについての情
報は、高いオーダのアドレスビツト84でコード
化される。優先順位の特定には8ビツトしか必要
としないので必要なコンテクストスイツチの程度
といつたような割込みに関する追加情報をコード
化する為に6ビツトが使用される。受取つた割込
みの優先順位がより低いものであつてその為バツ
フアされる場合、このようなプロセスは必然的に
ロツクステツププロセスでないので、バツフアさ
れた優先順位が最終的にスケデユールされる時に
は、全部のコンテクストスイツチが必要となる。
ロツクステツプのプロセスだけは、全部のコンテ
クストスイツチを必要としない。このような場
合、スケデユーラは適当なコンテクストを記憶
し、現在のタスクをバツフアし、プロセツサが新
しいプロセスを開始する用意ができたことを割込
み管理回路12に知らせる。 スケデユーラ16の構造及びオペレーシヨン
は、第29図を参照してこれからさらに詳しく説
明を行う。スケデユーラ16は優先順位によつて
有効なプロセスのリストを作つていかなくてはな
らない。有効プロセスとは、スケデユールするこ
とのできる最も高い優先順位を持つ時、実行を開
始するプロセスである。ハードウエアを節約する
為に本実施例では、1ビツト毎の256のリスト即
ち、有効なタスクを記憶する為の有効プロセスバ
ツフア200を保持している。特定のプロセツサ
がiと名づける有効プロセス(即ちiの優先性を
持ち実行を待つプロセス)を有している時はいつ
でも、スケデユーラ16の中のこのプロセツサに
対応する有効プロセスバツフア200のi番目の
位置に1含まれている。有効プロセスバツフア2
00内のプロセスは実行の為のスケデユールが行
われる時には、バツフア200内に於るこの位置
(これはこのプロセスの名前であり優先順位であ
る。)を使つて各々の有効プロセスのコンテクス
トを示すポインタを持つテーブル220にアクセ
スしている。故に、バツフア220には2つの主
な目的がある。それは有効プロセスを鑑視するこ
とと有効なジヨブを優先順位でランクづけするこ
とである。故に、スケデユーラ16は5つの主要
な構成部を持つ。即ちバツフア200現在実行中
のプロセス優先順位の為のレジスタ202、次の
有効プロセスの優先順位の為のレジスタ204、
プログラム可能タイマー206及び線形的にバツ
フア200を調査し次に高い優先順位をテスト
し、見つけるリニア検索論理208である。 スケデユーラ16のオペレーシヨンは第30図
の流れ図で示される。スケデユーラ16は、割込
みの発生、有効なプロセスのブロツク、又は、プ
ロセスの完成の3つの起こりうる原因(誘発要
素)の1つによつて作動されるようになる。ブロ
ツクされるプロセスとは、必要な資源が使用でき
ない為実行の続行を中止させられるものである。
例えば要求された資源を全部は受けとらなかつた
ロツクステツプ型プロセスは、他のプロセスから
(受けとらなかつた)情報を必要とするプロセス
であるとしてブロツクされる。プロセスがブロツ
クされると、プロセスの実行はまず停止する。次
に全ての必要なコンテクストが記憶される。更
に、スケデユーラー16は、有効プロセスバツフ
ア200内のブロツクされたプロセスの優先性に
匹敵する位置に1を入力することによつてこのブ
ロツクされたプロセスはバツフアされる。ブロツ
クされたプロセスの優先順位は、次の優先順位の
為のレジスタ204(フロチヤートにおける「次
の優先性」の項)にロードされるのでブロツクさ
れたプロセスは少くとも次にスケデユーラ16が
呼び出されるまで停止される。 ブロツクされたプロセスは、もし必要であれば
タイマー206を使つてプログラムすることがで
きる。このようなプロセスがブロツクされる時、
プロセスは命令でタイマーをプログラムする。タ
イマー206がゼロまでカウントダウンする時、
スケデユーラ16を作動させる誘発要素が生じ
る。この要素によつてスケデユーラ16は通常の
スケデユールサイクルを実行するようになる。タ
イマー206をセツトしたブロツクされたプロセ
スが最も高い優先順位を持つていれば、スケデユ
ーリングが行われる。しかしながら制御バス14
から割込みを受けとる場合、又は他のプロセスが
ブロツクされる場合又はプロセスが完了した場合
にはタイマー206は作動しなくなる。このよう
な場合には通常のスケデユールサイクルが開始さ
れ、故にタイマー機能が不要になる為タイマー2
06は作動しなくなる。このブロツクされたプロ
セスに対するスケデユーリング法は、一方ではブ
ロツクされたプロセスに引き続き、チツプの資源
を使用させいつ必要な資源の用意ができるか判断
させていて、また他方ではより高い優先順位を持
つプロセスを必要な時間より長くブロツクさせて
いる間を調整するものである。この調整は低価格
のハードウエアですみ、良好なスケデユーリング
動作を得ることが期待される。しかし、現在のプ
ロセスの実行を続行しつつ、現在のプロセスより
高い優先順位を次のプロセスが持つようにするこ
とは、スケデユーラ16のオペレーシヨンをいく
らか複雑になることになる。 スケデユーラ16が割込みによつて呼び出され
る時、(レジスタ202から入力された)現在の
プロセスの優先順位及び(レジスタ204から入
力された)次のプロセスの優先順位の高さと共に
受取つた割込みの優先順位がコンパレータ212
によつて比較される。新しく受取つた割込みが3
つ中で一番高い優先順位を持つ場合のみ先取が起
こる。先取する必要がある場合、現在のプロセス
を停止させコンテクストスイツチが実行された後
でだけ新しく受けとつた割込みが開始される。ス
ケデユーラは次に次のプロセス及び現在のプロセ
スの優先順位の高さを次の優先順位の為のレジス
タ204に入力する。有効プロセスバツフア20
0内の対応する優先性レベルに1を書きこむこと
によつて現在のプロセスがバツフアされる。先取
する必要がない場合、新しく受けとつた割込み
は、有効プロセスバツフア200にバツフアさ
れ、バツフアされた割込みに関する情報はこれ以
後受け取り側のプロセツサに記憶される必要はな
い。次の優先順位と割込みの優先順位のうち高い
方が次の優先順位の為のレジスタ204の入力さ
れる。故にある場合では次の優先順位の為のレジ
スタ204が有効な情報を内容として持たないよ
うにすることができる。これは、有効プロセスバ
ツフア200によつてリニアな検索を行い次に最
も高い優先順位を持つプロセスを発見することが
時として必要になるからである。必要とされる時
に次の優先順位の為のレジスタ204の内容が有
効でなかつた場合、スケデユーラ16のオペレー
シヨンは他に有効なプロセスが発見できない場合
も含めて有効なデータが見つかるまで停止する。
最終的にプロセスを完了することによる作動をお
こす原因が受けとられると、(これはプロセス状
況ビツトを通してスケデユーラ16に知らされ
る)次のプロセスが開始し、次に高い優先順位を
持つプロセスの検索が開始される。 割込みシステムのオペレーシヨンを明らかにす
る為、割込み制御ワード(ICW)のフオーマツ
トを以下に説明する。各々のプロセスは、それと
共働するICWを有している。ICWはプロセスの
優先順位に予め規定される定数をつけることによ
つてアクセスされる。全てのICWは、制御記憶
回路38内の256ワードテーブルの中に含まれる。
あるICWをアクセスする為につけられる定数と
は本質的には、256のワードページに対するペー
ジフレーム数である。ICWは、第31図で示す
3つのフオーマツトに規定される。もちろん必要
に応じて他のフオーマツトを規定することもでき
る。1つのICWにはプロセスを開始又は改めて
開始させる必要とされる割込みの優先レベルに相
当する必要な情報が含まれている。 ICWのタイプフイールドは命令オプコードに
類似する。タイプフイールドは4ビツトである
が、3つの型のICWが規定されている。タイプ
0は単一プロセツサによるプロセスの為であり、
タイプ1はロツクステツププロセスの為、またタ
イプ2はパイプラインプロセスの為のものであ
る。タイプフイールドは割込み管理回路に対する
命令としても使用され以後の割込みの発生を命じ
ている。 位置フイールドは、予定され割込みを受けとつ
たかを確認している。このフイールドには各々の
プロセツサに対し1ビツトが含まれていて各々の
ビツト位置における内容を使用して、それに対応
するプロセツサが割込みを受けとるべきであるこ
とを示している。 優先性マスクフイールドはプロセスの名前又は
優先順位とは異る実行の優先順位を特定する為に
使用される。言いかえれば、優先性マスクフイー
ルドが使用される場合、プロセスの優先順位は、
(実行の優先順位というよりむしろ)せり合う時
の優先順位(bidding priority)と考えることが
できる。PMビツトは、優先性マスクが使用され
るか否かを特定する為に使用される。優先性マス
クは、多重に資源を利用する必要のあるプロセス
を完全に実行できる可能性を高める為に使用され
る。優先性マスクは、他のどのプロセスにも与え
られていない優先値を使うように限定されてい
る。さもなければ、2つのプロセスが同じ優先順
位で資源をとりあう時、デツドロツクが起こりう
るからである。 次の優先性フイールドは同一プロセスに多重質
先レベルを与えることができる。このフイールド
はNTビツトが1である場合のみ有効となる。こ
の機能によつて、ランタイムで規定される優先順
位をプロセスに与えられる。この機能は、プロセ
スの非常事態がやがて変化する時に有効となる。
例えばプロセスは、特定の優先性レベルを持つ割
込みを、必要なサービスを予期して発生すること
ができる。割込みが直ちに動作を開始させない場
合でも、割込みのイニシエータが後にプロセスを
開始させる。しかしながら、時間的な遅れによつ
て(本実施例に於て)割込みのサービスを受ける
必要性がさらに急を要するようになるのでイニシ
エータは次に最も高い優先順位を持つ割込みが発
生可能になる。次に高い優先順位についての情報
は次に高い優先順位の為のフイールド内に含まれ
ている。この機能を利用する別の方法としては同
一プロセスの多重処理を開始する方法がある。こ
のモードのオペレーシヨンでは、ある優先性レベ
ルから優先性レベルへと位置フイールドが変わる
場合に、並列処理が可能となる。同じ位置フイー
ルドが使用される場合には回帰的ルーチンを使用
することができる。 最後に、制御記憶アドレスフイールドは現在の
割込みによつて呼び出されたプロセスマイクロル
ーチンのマイクロ命令のアドレスを指示してい
る。 前に述べたように、割込みが送られた時には、
14本の制御記憶アドレス線84のうちの8本の線
のみが使用されて優先性がコード化される。故
に、残る利用可能な6ビツトのうち1ビツトをコ
ンテクストスイツチを全部続行するか又は一部続
行するかの決定の為に使用することができる。更
にこれ以外のもう1ビツトは割込みがただちにプ
ロセスを実行しない場合、割込みをバツフアする
かどうかの判断の為に使用される。故に第32図
は割込みが送られる時の制御記憶アドレス線84
のフオーマツトを示す。 割込みシステムのオペレーシヨンをさらに明ら
かにする為に、第33図は、プロセツサPR3が
プロセツサPR1に対し割込みを発生した場合の
サンプル割込みに相当するタイミング表を示して
いる。タイムnにおいてプロセツサPR3が制御
バス14を支配していて、(線13上に)自分が
割込みのソースであるという信号を与えていて
(線DR1上には)割込み先がプロセツサPR1で
あるという信号を与えている。同じこのタイムに
於ては現在の割込みが確認されるまでは他の割込
みが制御線14を通つて転送されることはないの
でプロセツサPR3は、割込み準備線104の電
位を引き下げる。次のクロツク間隔では、プロセ
ツサPR1は、割込みバスI1の適当な線の電位
を上げることで割込みの確認を行い、コンテクス
トスイツチを実行した後でプロセツサPR1が割
込みのプロセスを開始させたことを知らせてい
る。次にプロセツサPR3は、割込みによつて知
らされたプロセスを開始させる為のマイクロ命令
のアドレスを転送するアドレスバス84を操作す
る。プロセツサPR1がそのコンテクストスイツ
チの実行を完了すると、プロセツサPR1がこの
マイクロ命令のアドレスをロードし、割込みバス
13及び割込み準備線104の電位を引き上げて
(又は引き下げを止めて)割込みが再び受けとれ
る状態となつたことを知らせる。 ここまでは再構成可能な機能及び多重プロセツ
サ機能を提供する割込みプロトコールの組織を説
明したきた。再構成可能機能を提供する為に必要
な命令構造に使用するこの他の構成要素は、
DLA22及びDLAデコーダ26によつて通訳さ
れる時に、状況バスマルチプレクサ48及び50
の再構成を特定するか又は、BCU58の内の1
つに含まれるバイデイレクシヨナルスイツチ17
8,180及び182のオペレーシヨンを特定す
る命令を有している。 本発明の再構成可能なICの実施例は、84ピン
パツケージの中に含まれる。(64ピンでデータ及
びアドレスをまかなう112ピンパツケージも選択
できるがあまり経済的でない。) ある種の構成に関しては、84ピンパツケージを
フルに必要としない。故に、このような応用例の
為に設計されたRICを中間的な量で製造する為に
は、もつと安価なパツケージを使用することがで
きる。 本発明のRICの為に好ましいパツケージは、例
えばここに参照として示すエレクトロニクスマガ
ジン1981年6月30日号の39から40頁で記載される
ような84ピンプラスチツク・リード・チツプキヤ
リアである。しかし第34図ではRICが超大規模
DIPパツケージの中に含まれる場合のピン配置を
便宜上示す。 本実施例のIRCは2つの16ビツトデータ/アド
レスポートを有している。各々のポートはデータ
及びアドレスを運搬する為の16本のバイデイレク
シヨナル線を有している。ポート1におけるデー
タ/アドレスピンは、1から16まで、ポート2の
ピンは26から41までの番号がふつてある。デ
ータポート2の対応するデータポート1のピン
は、機能的に等しいのでポート1で働くピンのみ
に関し示す。第1及び第2図で示す外部データポ
ートF2及びF3にデータポート1及び2が対応
する。簡単なピンの配線に加えて、外部データポ
ート72及び73は、1個以上のRIC、外部メモ
リ、I/O装置及びアドレス装置の間を結ぶ共有
外部バスの制御に対し仲裁を行う和議信号
(handshake signals)(ピン17及び18)を有
している。各々のポートは、バスでのデータ及び
アドレスの送信及び受信の同期を行う為の追加の
ピン(22及び23)を有している。各々のポー
トは、バスの状況、及びバイデイレクシヨナルな
一対のプロセツサタグアイデンテイフアイヤー
(24及び25)に信号を送るバイデイレクシヨ
ナルな3本の線の組(ピン19―21)も有して
いる。データポート1と2は独立している。しか
しながら内部的には、両方のポートに同じオペレ
ーシヨンを回帰的に実行させ、外部的には2つの
ポートを1つのポートのように扱うことでこれら
のポートを単一の大きなポートとして作動させる
ことができる。外部データポートには主として2
つの機能がある。第1の機能は、外部データポー
ト72及び73としての役目である。データポー
トの主要機能の一つは、内部データバス56と外
部データポートピンの間のインターフエースとし
ての役目である。実際上これの意味することは、
データポートが内部命令を受けとつてデータ及び
アドレスを外部に送る機能を持つということであ
つて、データポートはこの機能を果たし、それを
適当な信号にして外部ピンに送ることができる。
第2にデータポートは、外部ピンから情報を受け
とり、次に適当に変換して、適当にその信号を内
部RAMバス56に送つている。第2の主要機能
は、ブロツク転送モードである。これは、例えば
1つのアドレス及びデータワードを外部に送る命
令を送るかわりに、内部的に制御及び命令を受け
る多重アドレス及びデータワードを送り出してい
る比較的一搬的な命令を送つている点で上記に説
明した他のオペレーシヨンとはわずかに異つてい
る。 従来において、データ又はアドレスの内の最上
位の固まり(chunk)は第1のサイクルで送ら
れ、それに連続するサイクルにおいて次次とより
下位の固まりが送り出される。全てのアドレス又
はデータの固まりは最初の(最上位の)固まりが
送られた同じポートから送られる。 これらの2つのデータポートはチツプ上の全て
のプロセツサに共通する。2つ以上のプロセツサ
を持ついかなるプロセツサ又はいかなる内部構成
も、いずれかのデータポートを使用可能である。
ポートは、プロセツサ内のメモリマツパー34に
よつて選択される。 以下で述べる外部通信プロトコールに関する機
能に加えて、外部データポート72及び73もプ
ロセツサによるデータバスプロトコールの使用に
関し、上記で説明したものと全く同じ回路を有し
ているので、外部プロセツサもまたチツプ上のメ
モリにアクセス可能である。 データパスの仲裁 共有のデータパスを仲裁する機能が備えられて
いる。各々のRICは、外部仲裁回路、マスタース
レーブ機構、又はラウンドロビン仲裁機構で動作
する。RICの動作が開始すると、仲裁モードが指
示される。仲裁信号はデータパス可動(DPAV)
及びデータパス容認(DPGR)信号と呼ばれる。
信号はポート1に対してはDPAV1及びDPGR
1(ピン17と18)、ポート2に対しては
DPAV2及びDPGR2(ピン42と43)と表
示がつけられる。以後これらの信号の表示は2つ
の同一なポートの間を区別する為に参照番号を使
わずに参照する。外部仲裁回路モードが使用され
る時RICがプロセスを開始し、外部回路に接続す
るDPAV出力信号の電位を上げることによつて
バスを支配する。 仲裁機構がプロセツサの要求に対しデータパス
が使用可能であるか判断し、要求元のDPGR信号
の電位がひき上げられる。マスタースレーブモー
ドでは、マスターRICが常にバスを制御してい
る。従属RICがバスを使用したい場合には要求を
DPAV信号でマスターに送つている。マスター
は、DPGR信号の電位を上げることでバスが使用
可能であることを知らせる。この他のモードの仲
裁機構としてはラウンドロビン機構がある。この
機構では、論理1がデータパスを使用するプロセ
ツサの間を循環している。RICがデータバスのオ
ペレーシヨンを完了しているか又は、続行中のも
のがない場合、RICはそのDPARの電位を引きあ
げる。これは、隣接するRICのDPGR信号に接続
される。データパスオペレーシヨンが続行中であ
る場合、DPGR信号が1になると、RICがデータ
パスを支配するようになる。さもなければRICは
そのDPGR信号の電位を上げる。バスを使用でき
なかつたRICは他の資源がいずれもバスの使用を
必要としていないと判断した場合にこのRICは循
環している1をトラツプする。そこで(もし存在
すれば)同期を維持する為にこのRICはその
DPGRを引きあげて1を再び循環させる。 データパス状況: 各々のポートがデータパスの状況を示す3つの
ピン(19―21及び44―46)を有する。デ
ータパスを制御している使用中のプロセツサはバ
イデイレクシヨナルピンに出力してデータパスの
状況を知らせる。状況ピンの配置は、ポート1に
関しテーブル1にリストしてある。(ポート2は
ピン44―46が第34図のピン19―12に相
当することを除けば同一である。)
【表】 データパスの状況はデータパスオペレーシヨン
の型式を示している。データパスオペレーシヨン
に関しては4つの割当て先が存在しうる。即ち、
割当てられたRIC、データ転送の最初の部分によ
つて特定されたアドレスによる割当て、システム
メモリ又はシステムI/Oユニツトの4つであ
る。読出し又は書込みオペレーシヨンはこれら4
つの割合てのいずれでも実行可能である。いずれ
かの割合て先に転送される16ビツトアドレスユニ
ツト及び16ビツトデータユニツトの実際の数は、
RICのプログラムによつて又は、割合てのハード
ウエアによつて決定される。直接的な通信は隣接
する1つのRICに対してのみ有効である。割当て
アドレスモードはデータパスオペレーシヨンに対
し1つ又は複数のソースを特定する一般的な方法
である。データ転送の第1の部分は1つ以上の割
合てを決定するアドレスを特定している。割合て
アドレスを含む16ビツトユニツトの数は、使用者
によつて特定される。このモードでは、アドレス
は、データパス上の全ての受信プロセツサに送ら
れる。受信側は、アドレスが自分の持つアドレス
の1つであるかを判断する。全てのアドレスを受
取つたプロセツサは、データパスオペレーシヨン
の残り部分を分担し続行する。メモリ及びI/O
割当てオペレーシヨンに関してのアドレスの長さ
及びデータの長さのフオーマツトも使用者によつ
て特定される。 PRタグピン: これらのピンは、バイデイレクシヨナルなピン
である。出力ピンとしてのピンは、データパスオ
ペレーシヨン中のソースプロセツサ、即ちデータ
パスオペレーシヨンを開始した単一のプロセツサ
又は内部ロツクステツプのマスタープロセツサで
あるプロセツサを示す為に使用される。故に、デ
ータポートはデータパスオペレーシヨン全期間
中、データパスが送信側プロセツサに支配されて
いない組織において使用することもできる。例え
ば、メモリに読出しの為のアドレスを送つた後で
RICはデータパスを解除することができ、メモリ
かデータパスを支配するのを待ち、データを送り
返すことができる。データパスを一時的に解除す
る理由は、他のデータパスの処理がその間行われ
るようにさせる為である。この解除の方針のもと
において、メモリからひきだしたデータは、読出
し要求のシーケンスとは異るシーケンスにおいて
戻るので(これは例えば共用され、内部差込み形
式のメモリ内で起こる)、PRタグ情報は、読出し
オペレーシヨンにおいて重要である。(外部)メ
モリ制御器はデータがRICに戻つてくる時にこれ
らのピンをバツフアしてデータに適当なタグをつ
ける。内部的には外部データポート72又は73
は割当て線168のうちの1本の上のこの情報を
解読し出力して、受取つたデータを適当なメモリ
位置にマツプしてゆく。これらのタグピンはRIC
からRICへの通信を行う割当てプロセツサをも指
定している。 データ転送同期: これら2つのピンは、ソースと割あて先の間の
データパス上をデータが正確に転送されているこ
とを確実にする為に必要とされる。これらのピン
は、情報転送可能(IA)と情報受信(IR)であ
る。情報転送に関するプロトコールは、以下の通
りである。データパスの制御を行いながらソース
はただちにIA信号の電位を下げる。ソースはデ
ータ/アドレスピンに情報を設定するので、IA
信号は“1”まで電位が上げられる。IA信号の
電位を上げることによつて全ての受信側プロセツ
サに情報がデータパスによつて転送中であること
を知らせる。IR信号は通常低い電位にある。受
信側がデータパスからの情報をバツフアする時に
IR信号の電位が引き上げられる。IR信号はワイ
ヤーANDに接続されている。故に受信側が多重
に存在する場合、IR信号は、全ての受信プロセ
ツサが情報をバツフアするまで低い電位のまま維
持される。 要約すると、データパスが特定されることで融
通のきく仲裁プロセスを持つ仲裁データパス回路
網が構成される。情報転送の割当ては、割当てを
アドレスする機能を持つので一般的なものであ
る。情報のフオーマツトはRICをプログラムし、
メモリ及びI/Oシステムを構成することで特定
されるので一般的なものである。最後に、情報の
転送は、ある点からある点の間でも又は間にいく
つかの分岐を含むもの(マルチドロツプ)であつ
てもよい。 割込みポート(ピン51―58)はこの目的を
果たしている。第1の目的は、従来のマイクロコ
ンピユータ及びマイクロプロセツサが行つていた
のと同様に外部からの割込みを受けとりプロセス
を行うことである。割込みの概念は、他の受信側
プロセツサに割込みを送信する機能とともにこの
従来的な目的も達成できるよう一般化される。こ
の一般化によつてチツプ内部の通信が可能とな
る。チツプ内部の通信を可能にするという目的
は、RICにタスクをコーデイネイトし情報を転送
する役目である。チツプ内部の通信システムはチ
ツプ間通信の命令(communique)の部分を転送
する為に使用される。情報転送のデータ部分はメ
モリ間で通信される。例えば、デイスク読出しオ
ペレーシヨンは、RICの割込みポートを使つてデ
イスク制御器に命令を送ることによつて開始され
る。データ転送は、デイスクシステム及びメモリ
システムの間の個別なデータパスにおいて行われ
る。 割込みバス仲裁: RICの割込みポートは8本のピン51―58を
有している。ピン57―58は割込みを送信中に
使用される共有資源の要求を仲裁する為提供され
る3つのモードの仲裁が維持されている。第1の
モードは、ラウンドロビン機構で仲裁される共通
の割込みバスを維持している。この機構の中で
「1」の信号がチツプの間を循環して上記で示し
たように割込み資源を配分している。あるチツプ
に於る割込み可能(IA)出力(ピン58)が隣
接するチツプの割込み許可(IG)入力(ピン5
7)に接続される。IG信号があるチツプで「1」
になる時このチツプは割込みを発生することがで
きる。送信すべき割込みがそのチツプに存在しな
い場合、IA信号の電位が上昇する。第2のモー
ドはデータポート仲裁の方針で説明したのと同じ
マスタースレーブモードである。通常は、マスタ
ーRICがバスを制御している。従属RICがマスタ
ーのIG入力信号を上昇させてアクセスを要求し
ている場合、マスターRICは、好きな時にマスタ
ーのIG信号の電位を上げて選択的に従属RICに対
するバスの支配を得る。もう1つの仲裁モードは
各々のチツプの割込み可能及び割込み許可信号を
外部仲裁ハードウエアに接続して行う。RICが送
信すべき割込みを有する時、RICはIA信号の電
位を上げる。割込みポートが割込みの要求側によ
つて使用可能な状態にある時、外部ハードウエア
がIG信号の電位を上げる。3つの仲裁機構を用
意する理由は応用に対する一般性を与える為であ
る。ラウンド―ロビン仲裁機構では、少数のRIC
を接続して内部通信を可能にする経済的な方法を
提供している。マスタースレーブ機構では、多重
な情報処理機能を持つ装置をコーデイネイトする
為の一般的な方法の使用を可能にする。RICを外
部割込み管理回路に付加できる機能性を有するこ
とで、チツプ内部通信に用いる回路網を思いのま
まに構成することが可能となつている。 割込み情報: ポートの4本のピン53―56は、外部割込み
情報専用のものである。外部割込み情報プロトコ
ールは、最大限に使用者が規定できるように特定
される部分は最小にしてある。また情報プロトコ
ールはアドレスとデータとの区別に関して示して
いる。また、プロトコールはメツセージの長さも
示している。ここに示すものに関する特徴を以下
に説明する。情報プロトコールは、あらゆる情報
の第1番めの部分が割込みの受取り手を認定する
アドレスであることを示している。アドレスの長
さは使用者によつて指定される。割込みが送られ
る時は、共通な割込みバス上の全てのチツプがア
ドレスを受けとり、それを記憶する。以下で規定
されるように、割込み状況信号は情報線がアドレ
スを運んでいるのかデータを運んでいるのかを知
らせる。状況がアドレスビツトが送信されている
ことを示す限り、受信側のRICはアドレス部分を
バツフアしておく。割当てアドレスが送信された
後、各々の受信側RICはそのアドレスを使つてチ
ツプ上のRAMメモリ66内のビツトにアクセス
する。N個のアドレスビツトが送られる場合、高
いオーダーのN―3個のビツトを使用して内部メ
モリのテーブル内のバイトにアドレスする。この
バイトはRICの外部割込み管理回路76に送られ
る。次に低いオーダーの3つのアドレスビツトが
このバイトの中から1ビツトを選択する。この選
択されたビツトが「1」である場合、このチツプ
が割込みの割当て先であることを示す。このRIC
は何か送信されてくるまで割込みと共働する残る
情報をバツフアしつづける。このアドレス探索機
構は、任意につけ加えられる。単純な割込み機構
では、受けとつたどの割込みもいずれかの受け取
り手に対し送信することができる。 通信ポートの残る2本のピン51及び52は、
割込みバスの状況を示す為に使用される。ピンの
配置はテーブル2に示される。
【表】 0 0 情報転送完了
2本の割込み状況線は2つの目的に使用され
る。第1の目的は、ソースと割あて先の間に非同
期の和議信号を与えることである。もう1つの目
的は、アドレスの転送とデータの転送を区別する
ことである。割込み信号の転送が始まる前は、割
込み信号は11の状況(即ちIS1=1及びIS2=
1)である。第1のニブルをアドレスとする。第
1のニブルが送られると割込み状況は01となる。
全てのIS1信号がいつしよにワイヤーANDで接
続される。全てのIS2信号もワイヤーANDで接
続される。1タイムの遅延の後、割込みのソース
はISI信号をフロートの状態にする。情報がチツ
プにロードされると各々の受信側RICはIS1信号
の電位をゼロに引き下げる。チツプが受取つた情
報を処理した後でこのチツプはIS1信号をフロー
トの状態にする。全ての受取り側RICが情報のプ
ロセスを完了すると、IS1信号は「1」を示すよ
うになる。そして状況は11となる。送信側は送信
可能な状態の次のニブルがもしあればそれを調査
する。次のデータの形式は状況線によつて決定さ
れる。状況01は、アドレス情報に対応し、状況10
はデータ情報に対応する。データ情報が送られる
と、送信側は、アドレス情報の転送に使用したの
と同じプロトコールを使用する。唯一の相違点
は、情報が送られる後に、送信側がIS1及びIS2
両方の信号をフロートの状態にすることである。
最後のニブルが送られた後で、送信側RICが状況
00を出力し、割込み情報ブロツクの終了したこと
を知らせる。遅延の後に送信側は状況信号をフロ
ートの状態にする。このことが受信側に割込みが
終了したことを知らせる。外部仲裁機構が使用さ
れる場合は、割込みの終了は次の割込みの開始が
可能であることも意味する。もしラウンドロビン
仲裁機構が使用される場合、送信側が割込み可能
信号の電位を上げて次の割込みを送信するRICの
選択を開始させる。マスタースレーブオペレーシ
ヨンが使用され、送信側が従属RICである場合、
マスターが割込み資源の制御を行う。マスターが
送信側である場合、従属RICに対し割込み資源を
せりあうことができることを知らせる。 通信プロセスはチツプの外部割込み管理回路7
6にMPSが割込みを送り出すことによつて始ま
る。上記で示したように、優先性バイト及びラン
タイム情報である4ビツトは、内部割込みの受信
側に送られる。割込み管理回路76が内部割込み
を受けとる時、優先性バイトは、テーブルエント
リを示している。このテーブルはチツプのRAM
66内に含まれている。テーブルエントリは、メ
ツセージブロツクを示す。ランタイム情報は、メ
ツセージブロツク内のバイト数を意味する。これ
によつて15バイトを送信することが可能である。
ランタイム情報が10進法上のゼロである場合、メ
ツセージブロツク内の第2のバイトがメツセージ
内のバイト数を有している。第2のバイトが(ラ
ンタイム情報と同時に)10進法のゼロである場
合、次の2バイトがメツセージブロツク等の中の
バイト数を有している。 チツプの外部割込み管理回路76が外部に送信
する為の割込みを受けとつた場合、外部割込みバ
スにアクセスすることができることにより割込み
管理回路76が割込み送信プロセスを開始する。
仲裁機構がラウンドロビン形式である場合又は、
仲裁機構がマスタースレーブ形式であつて送信側
RICが従属関係にある場合、送信側は割込み許可
信号が「1」になるまで待機する。マスターRIC
が資源を制御する時はいつでも、マスターは割込
みを送ることができる。外部の仲裁機構が使用さ
れる場合、送信側RICは、割込み可能信号の電位
を上げる。送信側はさらに割込み許可信号が
「1」を示すようになるまで待機する。割込み許
可及び割込み可能信号で制御されるハードウエア
の制御方針は、開始時点で発生した2つの状況ビ
ツトによつて決定される。これらのビツトが11で
あればラウントロビン仲裁機構を使用しこれらの
ビツトが00を示せば外部仲裁機構を使用する。マ
スタースレーブ仲裁機構は10を示す場合に使用さ
れる。 外部割込みバスを支配できるようになつた後、
外部割込み管理回路が割当てアドレスを送る。割
込み管理回路76はチツプのRAM66からデー
タをとりだしその1タイムに1ニブルの情報を割
込みポートの情報線53―56に送る。ソースプ
ロセツサが外部割込み管理回路76に優先性バイ
トを送り、外部割込み管理回路76の送信オペレ
ーシヨンを開始させることによつて、メツセージ
ブロツクの開始が知らされる。優先性バイトは、
外部割込みテーブル内のエントリを示す。この外
部割込みテーブルは、割込みが外部的にも内部的
にも両方に対し送信されるのかどうかを示すバイ
ト及びメツセージブロツクの開始アドレスを示す
バイトの両方のバイトを含んでいる。テーブル内
の第1のバイトは、自己に対する割込み、即ち外
部及び内部に対し回帰的に送信される割込みを示
す為に使用される。この型の割込みは以下で示す
ような、外部ロツクステツプに対する割込みに必
要とされる。このバイトの一番左のニブルは全て
「1」である。右のニブルは、内部のどのプロセ
ツサに割込みを行うかを示す為に使用れる。ニブ
ルの最上位ビツトが、PR3に対応し、次の最上
位ビツトは、PR2に対応し、以下この通り対応
する。もし、右側ニブルのいずれかのビツトに
「1」が含まれる場合、それに対応するプロセツ
サは、そのプロセツサに対する割込みを受けとつ
ている。割あてアドレスの最後はゼロのバイトで
位置を示される。外部割込み管理76がゼロのバ
イトの存在を検索する時、もしゼロが存在すれば
割込みメツセージのデータ部分を送る。データ部
分の終了は、またゼロのバイトで知らされる。次
に割込み管理回路76はゼロを検知した場合、ア
ドレスのソースを送る。内部割込みデータ構造
は、第35図に示される。外部割込み管理回路に
知らされたメツセージブロツクの長さによつて決
定された通りのメツセージブロツクが送り終わる
まで割込み管理回路がニブルを送る。メツセージ
ブロツクが送られた後で且つ外の内部及び外部に
対する割込みのプロセスが始まる前に、外部割込
み管理回路76はテーブル内に割込み状況を割込
みを発生したプロセツサに対し割込みを送る。こ
のプロセツサが割込みを開始する。また、割込み
メツセージブロツクの送信が例外的に中断された
場合もこの状況が同じテーブル内に書込まれ発生
元であるプロセツサに割込みが行われる。この割
込み送信プロセスは第36図に示す。 上記で示したように、共通割込みバス上の全て
のRICは割当てアドレスを受けとり、これをそれ
ぞれの持つ外部割込み管理回路76内にバツフア
する。アドレスを受取つた後で、各々の外部割込
み管理回路76がひとつのビツトにアクセスし、
それのあるそれぞれのチツプが割込みの割合て先
であるかを判断する。あるRICが割込みの割当て
先である場合、外部割込み管理回路76は残るメ
ツセージをそのチツプの内部RAM内にバツフア
する。メツセージブロツクのデータ部分の終了ま
でくると、割込み管理回路はゼロのバイトを書き
こみデータ部分の終了を示す。割込み管理回路は
「1」が送られてきた場合割込みのソースアドレ
スもバツフアする。メツセージブロツクを送りお
えた後、割当て先RICの外部割込み管理回路76
は、割当てアドレスを使用して内部RAM66内
の外部割込みマツプテーブルにアクセスし、これ
によつてRIC上のどのプロセツサが割込みを受け
とるのか又は割込みは内部的にどの程度の優先性
を持つのかを判断している。内部割込みの優先性
は、メツセージブロツクの開始位置及びメツセー
ジの長さが書きこまれる外部割込みメツセージテ
ーブル内の位置を指定する為に使用される。さら
に、外部割込み管理回路は割込みをチツプ上のプ
ロセツサに送る。割込み管理回路は外部割込みメ
ツセージテーブル内の情報を使つてメツセージブ
ロツクにアクセスしこれのプロセスを行う。 外部割込み管理回路が使用するRAM領域のメ
モリ管理は、割込みを送つたり受けたりするプロ
セツサーにより行われる。プロセツサが外部割込
みを送る時、割込みはポインタをメツセージブロ
ツクにわたしている。外部割込み管理回路76が
割込みを送つた後に、送信したプロセツサには送
つた割込みの状況が知らされる。割込みが誤りな
く送られた場合、プロセツサは改めてメツセージ
ブロツクのメモリ領域の使用を請求できる。外部
割込み管理回路76は、プロセツサPR0〜PR3
に自分自身のメモリの管理を行わせる機能はな
い。故に外部割込み管理回路76は、外部から受
けとつたメツセージブロツクを書きこむ為の領域
を確保する為にメモリの管理を必要とする。外部
割込み管理回路はメツセージブロツクを記憶して
おく為に2つのメモリポインタ:現在のメツセー
ジブロツクポインタ(CMB)及び次のメツセー
ジブロツクポイタ(NMB)を有している。
CMBが有効であれば外部割込み管理回路76は
このポインタをメツセージブロツクの開始として
使用し、受取つたメツセージブロツクの各々のバ
イトが書きこまれた後でアドレスポインタをイン
クレメントする。割込みメツセージブロツクを受
けとつた後、割当てプロセツサは、割込みを知ら
される。外部割込み管理回路はNMBを直ちに
CBMに変えて、NMBが有効でないことを記録
する。割込みをうけとつたプロセツサはただちに
新しいメツセージのブロツク領域を計算して出す
という高い優先順位のプロセスを開始する。この
新しいメツセージブロツクの開始アドレスは外部
メモリ管理回路のNMBレジスタに書こまれる。
外部メモリ管理回路がCBM及びNMBのどちら
のポインタも有効でないという状態を示すように
なると、割こみの送信側に「用意できていない」
という信号を送つてどちらかのポインタが有効と
なるまでメツセージブロツクの送信は停止する。 外部割込み管理76は開始時点で初期化される
最長ブロツクパラメータを有している。最大の長
さより長いメツセージブロツクが送信される場合
外部割込み管理回路は「受け取り準備ができてい
ない」という信号を割込みの送信側に送る。また
外部割込み管理回路はソースプロセツサを判断し
それらにメツセージブロツクのあふれを意味する
割込みを送る。プロセツサはプログラムされてい
た動作を実行する。例えば送信側が時間外に超過
した後で、プロセツサは割込みを途中で停止させ
ることはできなくすることもできる。この他に
も、外部割込み管理回路76に他のメツセージブ
ロツクポインタを送ることもできる。外部割込み
管理回路76は内部割込みによつて新しい、メモ
リポインタで開始するメツセージブロツクをひき
継き受けとらなくてはならないことを知らされ
る。この後者の方法は、メツセージブロツクの長
さが様々で、最長のブロツクの長さが大多数のメ
ツセージブロツクより長いか又は等しくセツトさ
れる場合に使用される。 この割込みインターフエースを提供する目的
は、使用者が割込み機構を規定できるようにスペ
クトルを提供する為である。最も簡単な割込み機
構は従来のマイクロプロセツサで使用される割込
み機構と類似している。このより簡単な機構より
更に融通性を拡大する為には内部的にプログラム
構造を形成する必要がある。 状況ポート1(ピン59―67)及び状況ポー
ト2(ピン68―76)である2つの状況ポート
が提供される。状況ポートの信号は同一である。
故に状況ポート1のみに関し説明を行う。状況ポ
ートの主要な機能の1つは、異るRIC上のロツク
ステツプモードの2つのプロセツサに信号を提供
することである。状況ポート1は、PR0又はPR
1、又はロツクステツプで接続されるPR0及び
PR1を外部プロセツサにロツクステツプで接続
する為に使用することができる。状況ポート2
は、PR2又はPR3に関し、あるいは、PR2又
はPR3がロツクステツプ内で最も重要なマスタ
ープロセツサである内部のロツクステツプに関し
外部的にロツクステツプを形成する為に使用する
ことができる。各々の状況ポートには、4つの型
のピン機能がある:即ち、ALUの結果状況、桁
上け連結、シフト/循環連結及びチツプ内部の同
期である。状況ポート1(ピン59―67)は、
内部状況バス52及び54に外部状況ポート75
(第1図を参照せよ)を通して接続される。同様
にして状況ポート2は、外部状況ポート74(第
1及び第2図で示す)を通して接続する。 ALUの結果状況: ALUの結果を示す為には4つの線59―62
が存在する。負の結果状況N、ゼロの結果状況
Z、桁の結果状況C、及びオーバーフローの結果
状況Vという信号が存在する。これら4つの信号
は、各々外部的にロツクステツプで結ばれる状況
ポート全てが接続する外部状況バスにワイヤー
AND接続される。これらの信号がコード化され
16のALU結果状況のうち1つを示すようにな
る。これらの線のオペレーシヨンは上記で示した
ような内部ロツクステツプ構成におけるALU結
果状況の内部での発生及び(内部状況バス52及
び54における)ALUの接続のオペレーシヨン
とほとんど同様である。 桁上げ連結: 桁上げ連結(carry linkage)は桁上げ信号
(ピン63)及び桁下げ信号(ピン64)を有し
ている。あるRICの桁下げ信号は次に高順位の
RICの桁上げ信号と接続される。あるRICで完了
した演算が使用される場合、最上位プロセツサは
最下位プロセツサの桁上げ信号に接続される。 シフト/循環連結: シフト/循環連結(shift/rotate linkage)
は、外部的にロツクステツプで接結するプロセツ
サ間のシフトオペレーシヨンを実行する為に使用
される。RICのシフト/循環高電位信号(ピン6
5)は、次に最上位のRICのシフト/循環低電位
信号(ピン66)に接続される。最上位RICのシ
フト/循環高電位信号は、最下位RICのシフト/
循環低電位信号に接続されて循環連結が形成され
ている。 チツプ間の同期: チツプ間の同期(ピン76)を行う為には、外
部的にロツクステツプで接続するプロセツサが確
実にフエイズ内で同じ命令を実行するようにしな
くてはならない。外部ロツクステツプ内のプロセ
ツサは、同じRICの中の1つのRICの上に形成さ
れる他のプロセツサが外部のロツクステツプで接
続するプロセツサとは独立して作動されることか
ら、同期を行わずにロツクステツプからはずれる
ことができる。故にマイクロ命令をとりだす時間
は、ロツクステツプで接続されるプロセツサを有
するRICの間で様々である。チツプ間の同期ピン
はフラグとしての役めをし、各々のプロセツサが
先のマイクロ命令を完了し次のマイクロ命令を取
り出したことを知らせており次のマイクロ命令を
実行する用意ができていることを示す。チツプ間
の同期ピンはワイヤーAND接続される。全ての
外部的にロツクステツプで接続されるプロセツサ
の次のマイクロ命令を実行する用意ができた時、
チツプ間の同期線の電位が上がる。もし1つ以上
のPRの用意ができてない場合、線の電位は低く
なる。同期線の電位が高い時、次のクロツクサイ
クルで実行が開始する。(共通な外部ロツクステ
ツプ内のPRを持つ全てのRICは同じシステムク
ロツクを使用しなくてはならない。)実行が始ま
つた少し後で、チツプ内部同期線の電位は全ての
PRが次のマイクロ命令を実行する用意のできた
状態になるまで低くなつている。PRが外部的に
ロツクステツプで接続される時、マイクロ命令の
実行中はPRに対する割込みはおこつてはならな
い。この割込みの制限によつて、マイクロ命令の
実行が開始した後も外部でロツクステツプ接続す
るプロセツサ間の同期は確実に保たれる。この制
限で得る利点は、状況ポートのピンの為に他の同
期手段を設ける必要がないという点である。外部
ロツクステツプで接続するプロセツサに関しては
もう1つの事項がある。外部のロツクステツプ内
のプロセツサに対する割込みは、プロセツサの同
期を妨害することになるので、割込みによる効果
を考慮しなくてはならない。追加のピンあるいは
追加のオーバーヘツドを使わずに外部的なロツク
ステツプ接続の同期を維持する為には、外部ロツ
クステツプに対する割込みは、外部ロツクステツ
プ内の全てのMSPに対して行われるよう制限さ
れなくてはならない。割込みのサブセツトに割込
みを実行することは可能なのでこれはあまり厳格
な制限ではない。外部ロツクステツプ全体に対し
割込みを送ることを必要とするこの制限によつ
て、外部ロツクステツプ内のちようどプロセスを
開始しようとしているプロセツサに割込みの名前
を知らせる必要性を省くことができる。外部ロツ
クステツプ全体に送られる割込みは適切に実行さ
れる。これは、割込みが行われる外部ロツクステ
ツプを有する全てのRICが同時に同じ割込みを受
けとることによる。RICプロセスの外部割込み管
理回路は、受取つたオーダで割込みを行う。故
に、外部ロツクステツプ内の全てのプロセツサは
同じオーダーで割込みを受取る。RICの自己に対
する割込み(self interrupt)に関しての後徴は、
外部ロツクステツプに対する割込みが割込み先で
ある外部ロツクステツプ内のプロセツサを有する
RIC内で発生される場合に必要となる。前に述べ
たように、自己に対する割込みは、割込みの送信
側にとつてその送信側自身が受信も行つているも
のとして取り扱われる。 上記で説明した通り、外部ロツクステツプ内の
プロセツサはマイクロ命令の実行中は割込みが行
われることはない。マイクロ命令が終了すると割
込みが行われたプロセツサは4本のALU結果状
況線にコードを発生する。(即ち、0111である。)
このコードは、外部ロツクステツプの割込みが少
くとも1つのプロセツサによつて受けとられたこ
とを示している。これによつて外部ロツクステツ
プの実行は停止する。各々のプロセツサはコンテ
クストスイツチが実行されるとチツプ間MSP同
期線の電位を低く保つのをやめる。現在の割込み
より高い優先順位を持つ他の割込みが、現在の割
込みが入れ変わろうとしている期間中に外部ロツ
クステツプに送られる場合、全てのプロセツサが
現在の割込みに変わるまで次の割込みは無視され
る。 状況ポートにはもう1つ重要な機能がある。外
部ALU状況ピンNZCVは、制御DLA22への入
力として実際の内部ALU状況ピンを配置するこ
とによつて決定される値を持つ。制御DLA22
への入力は外部ピンに送られた値を発生する。故
に上記で示したような機能によつて、リアルタイ
ム信号を発生する為に使用される実際の外部信号
を発生することができる。例えば、RICに使用さ
れるCRT制御回路の場合、N信号は内部的に制
御されて水平同期信号を発生する。また、チツプ
間同期信号は内部制御システム(即ちDLA22
等)に対する直接の割込みの時に使用される。例
えば、チツプ間同期信号は、内部的には、外部ク
ロツクとして通訳される。この外部クロツクは、
各クロツクサイクルの期間に所定のオペレーシヨ
ンを発生させる。 外部ロツクステツプの全てのプロセスは、割込
みによつて開始される。RICのリセツトによつて
外部ロツクステツプ内のマスタープロセツサが自
己に対する割込みを発生し、外部ロツクステツプ
を開始させる。プロセスの完成時点で、マスター
プロセツサは自己に対する割込みを発生し、最も
高い優先順位を持つ別々のプロセスを開始する。 リセツトインRI(ピン77)及びリセツトアウ
トRO(ピンン78)の2本のチツプ制御線が提
供されている。全てのRICから接続するRI及び
RO信号は別々に接続される。RI信号はアクテイ
ブで高い電位である。RI信号が「1」を示すま
で電位を上昇されるとRICは自分自身を初期化を
開始しオペレーシヨンに備える。RO信号は、有
効にワイヤーANDで接続されている。RICが初
期化オペレーシヨンを完了した時、電位を低くし
てあるRO信号はフロートの状態になる。全ての
RICが初期化を完了すると、RO信号は高い電位
となりシステムが初期化を完了したことを示す。 チツプが初期化されると、プロセツサPR3は
ただちに最も高い優先順位255を持つプロセス
を開始させる。この場合プロセツサPR3がマス
ターである。プロセツサPR3は次にチツプ上の
RAM66の位置「0」に固定アドレスをロード
し、プロセツサPR3はそこで他のプロセツサに
対する割込みを行いこれに必要なプロセスを開始
する。 好ましい実施例において、この中のRICは、高
出力部分に使用されるCMOSを持つ1マイクロ
メーターの微細加工によるNMOSに実施されて
いる。2つの出力ピン81及び82が3ボルトと
接地電位で使用される。 更に、本実施例はRIC上にクロツク発生器を設
置し、2つのクロツク入力(ピン79及び80)
の間にのみ結晶を設置する必要がある。その代わ
りに、所望の通り例えば多重RICを使つたシステ
ムに実施する場合では、外部クロツク回路をこれ
らのピンと接続することができる。 第37図から第41図は、1つ又は2つ以上の
RICチツプを使つて与えられたある特定な構成を
示す。第37図は、16ビツトパイプラインRIC構
成を示す。パイプラインプロセスは4段のプロセ
スにのみ限られるわけではなく、追加のRICをい
つしよに連結することで望むだけの数の段を含む
ことができることに注意してほしい。 第38図は、32ビツトパイプラインを示してい
る。プロセツサPR1及びPR2は、プロセツサ
PR1及びPR0と同様ロツクステツプで接続され
ることに注意して欲しい。また、2段のパイプラ
インのみが示されているが、単に充分な数のRIC
チツプを連結するだけでパイプラインの段をいく
つでも望みの数にすることができることも注意し
ていなくてはならない。 第39図は、64ビツトの外部ロツクステツプパ
イプライン構成を示している。RICAのプロセツ
サPR3及びPR2及びRICBのプロセツサPR3及
びPR2は、全てのプロセツサーPR1及びPR0
と同様にロツクステツプで接続される。第39図
において、両方のRICから接続する32ビツト出力
は、それぞれの単一な16ビツトデータポートにお
いて、多重化されているものとして示している。
これはパイプライン構成の中の1つのデータポー
トは、前の段から与えられたデータを受けとる為
に必要とされるからである。異るチツプ上のプロ
セツサPR3及びPR2を含むように外部ロツクス
テツプ構造の大きさを拡大することによつて、よ
り大きなパイプラインを作ることさえ可能であ
る。故にパイプラインワードの規模は、32ビツト
インクレメントまで拡大することができる。32ビ
ツトのインクレメントは、桁上げ/桁下げ信号及
びシフト/循環高/低信号を除き状況ポートの全
てのピンを接続して特定のステージを作り出すこ
とによつてつけ加えられる。(桁及びシフト/循
環信号以外の)これらの信号は、ワイヤーAND
でいつしよに接続される時適正に機能する。桁下
げ信号はピンの中の次に最高位の桁を示すものに
接続される。シフト/循環高電位ピンは次に最高
位シフト/循環低電位ピンに接続する。(最高位
シフト/循環高電位ピンは、最下位シフト循環低
電位ピンに接続する。) 第40図は、64ビツトの規模のステージのパイ
プラインを示す。このステージは、最初に再構成
可能なIC上の4つ全てのプロセツサをロツクス
テツプで接続することによつて形成される。第4
0図では、別々の16ビツトの入力及び出力ポート
として示されているので、4つのフエイズでの多
重なデータ転送が必要となる。各々のICの2つ
のデータポートを統合することも可能であるので
32ビツトの並列ポートが形成される。これによつ
て第40図の64ビツトパイプラインのステージ構
成は、4クロツクサイクルよりむしろ2クロツク
サイクルでデータ転送を実行している。しかしな
がらこれによつて、32ビツトの転送を可能にし多
重ステージパイプラインのステージの他のペアと
の間を並列にする別々の絶縁されたスイツチの組
が必要になる。故に、多重16ビツトポートを使用
した方がはるかに簡単であり、一般的に好まし
い。 第41図は128ビツトの大規模ハイブリツドロ
ツクステツププロセス実行素子を形成するように
接続された2つのRICチツプを示している。内部
的には各々のチツプの上の4つのプロセツサーは
ロツクステツプで接続されてる。各々のチツプ上
に1つだけの状況ポートが使用されて図で示す通
り2つのチツプ間にロツクステツプを形成してい
るので、いずれかの多重化法によつて64ビツトの
規模にした同様のハイブリツドプロセス実行素子
を構成することが可能である。 多重RIC構成において、割込み操作通信網を使
う樹系図を用いることでその融通性及び複雑性を
さらに増加することができる。 以下の3種の割込みは、一定の集積形式で取り
扱われる。(1)チツプ内部割込み:これらの割込み
のソース及び割当てプロセツサは同一RIC上に存
在するのでこれらの割込みが1つのRICチツプ上
で発生し完全に同一チツプ上で処理される。(2)チ
ツプ間割込み:これらの割込みのソースプロセツ
サ及び割当てプロセツサが異るチツプ上に存在し
ている。(3)I/O割込み:これらの割込みはI/
O装置で発生し、1つ又は2つ以上のRICチツプ
上に存在するプロセツサに対し行われる。 チツプ内部割込みは通常チツプ上でダイナミツ
クな再構成を行う為に使用される。例えば、内部
的ロツクステツプモード又はパイプラインモード
のオペレーシヨンを実行させる為に使用される。
内部的な割込みは、同じRICチツプ上の他のプロ
セツサからサービスを受ける為にも使用される。
チツプ内部割込みは多重チツプ構成に於て重大な
役目を果たしており、チツプ外又はチツプ内のロ
ツクステツプパイプラインモードのような様々な
多重モードを開始させる為に使用している。チツ
プ間割込みも、異るチツプ上に異るプロセツサが
使用される時に、多重プロセツサの態様における
プロセツサ間の通信を行う為に使用される。一般
的な例は、異るチツプ上に形成された中央プロセ
ツサ及びI/Oプロセツサを含む多重チツプ構成
である。中央プロセツサ及びI/Oプロセツサは
割込みを介して通信を行つている。I/Oプロセ
ツサは、中央プロセツサと共通バスを共有してい
て、中央プロセツサのメモリとI/O装置の間で
情報の転送を行つている。 故に、チツプ上のどのプロセツサも3種類のソ
ースから割込みを受けとる可能性がある。:同一
チツプ上の他のプロセツサ、又は異るチツプ上の
どれかのプロセツサ又はI/O装置からの割込み
である。以下の集積割込み機構は一定の型式でこ
れらの割込みを処理している。いずれかの割込み
に応答して、割当てプロセツサの割込み管理回路
12は対応するスケデユーラ16に指示して割込
みの優先順位及び現在実行中のプロセスの優先順
位に従つて適当なプロセスのスケデユールを行
う。 上記で示した様に、各々のRICは外部割込み管
理回路76を有し、この割込み管理回路が外部ソ
ースから受取つた割込みの受け取り、記憶及び内
部プロセツサへの通知を管理していて、内部プロ
セツサによつて発生された外部割当て先に対する
割込みの送信も管理している。 多数のRICチツプを含むことのできるシステム
の為の上記のような割込み管理機構を一般化する
為に、我々は「クラスター(cluster)」の概念を
導入している。クラスターとは、相互に割込みの
送信が可能な一組の例えば4つのチツプから成る
組のことである。第42図は、4つのチツプを持
つクラスターの例を示している。故に、割込みの
階級的組織(hierachical organization)におい
ては、クラスターはチツプより1つ上位のレベル
である。本実施例の割込みシステムでは、クラス
ター内部のチツプの役目は、チツプ内におけるプ
ロセツサの役目と類似する。ここで我々はバスを
結合することでこのクラスター内に発生するチツ
プ間割込み、即ちクラスター内部割込みを容易に
操作することができる。このようなバスは「クラ
スター割込みバス」と呼ばれ、第42図に示され
ている。このバスはまたクラスター内部で発生
し、クラスタ外部に割当て先を持つクラスター即
ちクラスター間割込みを運搬している。同様にバ
スはクラスター外部で発生し、クラスター内のチ
ツプの内の1つに於るあるプロセツサに割当てる
I/O及びクラスター間割込みの運搬に使用され
ている。この階級的機構をもつと有効に利用する
為には、割込み管理回路218が加えられる。こ
の割込み管理は外部割込み管理回路76がRICチ
ツプに対し行つていたと同じ役めをクラスターに
対し行つている。故に各々のチツプ216の外部
割込み管理回路76は、クラスター割込みバス2
14及びクラスター割込み管理回路218とイン
ターフエースしていなくてはならない。 クラスター割込み管理回路218の第1の機能
は、クラスター割込みバス214とクラスター間
及びI/Oの割込みの間のインターフエースとし
て働くことである。故にクラスター内で発生した
クラスター間割込みは、クラスター割込みバス2
14及びクラスター割込み管理回路218を介し
外部クラスターに送られる。同様に、クラスター
外部で発生したがクラスター内にあるチツプを割
合て先にするクラスター間及びI/Oの割込み
は、クラスター割込み管理回路218及びクラス
ター割込みバス214を介し割当てチツプに送ら
れる。クラスター割込み管理回路218及びクラ
スター内にある(例えば)4つのチツプはクラス
ター割込みバス214を共用している。クラスタ
ー割込みバス214に関する仲裁方針は、ラウン
ドロビンに限られない。RIC割込みインターフエ
ース76によつて外部的な制御方法によつて仲裁
を行うことが可能である。故に違う仲裁機構を必
要とするクラスターは、それぞれの持つ各々のク
ラスター割込み管理回路218内にその機構を設
けている。クラスター割込み管理回路218は優
先順位又は位置に基づくような仲裁方法を使用す
ることもできる。優先順位に基づく仲裁方針をと
つた場合、クラスター割込みバスを共用する全て
の競争者(即ち、チツプ216及びクラスター割
込み管理回路218は、チツプ外部に存在するバ
ス仲裁論理に(他のチツプに送る為の)割込みの
優先順位の判断をゆだねている。そこで仲裁論理
が最も高い優先順位を持つ競争中の割込みソース
を決定しバスの制御をまかせる。位置に基づく仲
裁方針が使用される場合、バスの使用権につき粉
争が起きた場合、クラスター内部の競争者の位置
が誰にバスの支配を与えるかを決定する。例えば
第42図では、位置に基づく方針を使つて決定す
る場合、争いが起つたならばクラスター割込み管
理218が常に第1の優先順位を持つとすること
ができ、それぞれチツプ0,1,2,3が続く。
設計者は、考想中の応用に適合するようにもつと
複雑な仲裁方針を自由に選択することができる。
しかし、優先順位に基づくようなより複雑な方針
にはチツプ外部にかなりの論理を必要とするが、
ラウンドロビン又は位置に基づくような簡単な方
針はチツプ外部に非常にわずかな論理を用意する
だけで使用できる。 クラスター割込み管理回路218の第2の機能
は、クラスター外部に出ていくクラスター間割込
みの為の、またクラスター内に入つてくるクラス
ター間及びI/O割込みの為のバツフアとして働
くことである。このバツフアする機能は、本質的
にクラスター内部の割込み運送とクラスター外部
の割込み運送を隔離している。クラスター割込み
管理回路218はクラスター内部外部両側の割込
み運送を同時に操作するインターフエースとして
設計されている。このようなクラスター管理回路
はRIC又はRIC内の1つ又は2つのプロセツサに
設けることができる。 この点で生まれる明らかな疑問点としては、2
つ以上のクラスターを持つシステムでいかにして
管理を行うかということである。これらのクラス
ターは、自分のクラスター割込みバス及びクラス
ター割込み管理回路を介しクラスター間割込みを
送つている。さらに階級的組織による管理機構を
発展させて、一組の(例えば4つの)クラスター
を「マクロクラスター」と呼ぶことにする。マク
ロクラスター222内のクラスター220は、
「マクロクラスター割込み管理回路」226に接
続する「マクロクラスター割込みバス」224を
共有している。マクロクラスター割込みバス22
4及びマクロクラスター割込み管理回路226は
マクロクラスター222内に於て、クラスター割
込みバス214及びクラスター割込み管理回路2
18がクラスター内部で行つていたのと同じ役目
を果たしている。我々は、この考え方をさらに発
展させることができる。故に(例えば)4つのマ
クロクラスター222で次に高いレベルになるよ
うな実在を作りだすと考えることができさらにそ
れ以上発展させることも可能である。最後に、好
きな数だけレベルを設けた後で割込みを転送する
バスを共有する(例えば)4つのサブシステム2
34まで拡張し、これらから成るシステムの段階
まで達することができる。このバスはシステム割
込みバス232と呼ぶ。 第43図は、サブシステム0及び1である2つ
のサブシステム234から成るシステムを示して
いる。サブシステム1は、マクロクラスター0及
び1を含んでいてサブシステム0は、ただ1つの
マクロクラスター即ちマクロクラスター0を含ん
でいる。サブシステム1のマクロクラスター0は
4つのクラスターから成り、サブシステム1のマ
クロクラスター1は2つのクラスターから成りサ
ブシステム0のマクロクラスターは2つのクラス
ターから成る。各々のクラスターは4つのチツプ
を有している。この例ではサブシステム1は1つ
だけのマクロクラスターを有している。故にこの
マクロクラスターの割込み管理機能はサブシステ
ム0の割込み管理に委託することができる。これ
によつてサブシステム0ではマクロクラスター割
込み管理回路及びマクロクラスター割込みバスを
除くことができる。ここでは、割込みの階級的構
造の考え方を示している。 第44図では、割込みの階級的構造の考え方を
示す樹系図を用いて第43図のシステムが示され
ている。RICチツプ216内のプロセツサPR0
―PR3は樹系図の最下位階級に存在し、木にた
とえるなら「葉」の部分にあたる。次に高い段階
にはRICチツプ216を示す節がある。その次の
2つの段階にある節はクラスター220、その上
はマクロクラスター222を示す。最後に樹系図
の根元では完全なシステム全体を示している。 樹系図にはレベルに番号をつけることができ
る。プロセツサはレベル0とする、引き続きより
高いレベルに存在するチツプ216、クラスター
220マクロクラスター222は、それぞれレベ
ル1,2,3……nで示すことができる。同様に
して割込みの階級的組織におけるレベルにも番号
をつけることができる。割込みバスに関しては、
チツプ割込みバス88はレベル0と番号のついた
最下位レベルに存在する。クラスター214、マ
クロクラスター224、……サブシステム228
及びシステム割込みバスは次々と高くなる各レベ
ルに存在する。これらはそれぞれ1,2……nと
番号がつけられる。プロセツサーの割込み管理回
路12は最下位レベル即ちレベル0に存在する。
チツプ76、クラスター218、マクロクラスタ
ー226……サブシステム230の割込み管理回
路は次々とより高くなる各々のレベルに存在す
る。これらに1,2……nと番号がついている。
プロセツサーは、その完全な「アドレス」を与え
ることによつて即ちシブシステム……、マクロク
ラスター、クラスター、チツプ及びプロセツサを
規定することによつてプロセツサーを完全に規定
することができる。故に各々のアドレスは、サブ
システム……マクロクラスター、クラスター、チ
ツプ及びプロセツサを区別する為の構成部を有し
ている。我々は、このアドレス構成部に同様に階
級的組織のレベルを与えることができる。プロセ
ツサPR0―PR3を規定するアドレス構成部は、
最下位階級即ちレベル0とする。チツプ、クラス
ター、マクロクラスター、……サブシステムを特
定するアドレス構成部が次々と高くなるレベルに
それぞれ属する。これらはレベル1,2……nと
名づけられている。 チツプ内のプロセツサ間割込みは、最も頻繁に
起こる割込みであると予想されるのでこれらの割
込みの通信及び処理は一般的にできるだけ迅速に
完了しなくてはならない。上記に示した通り、1
つの割込みについてのソース、割当て、優先順位
及び関連ランタイムに関する情報は、一度ソース
プロセツサがチツプ割込みバス88の支配を握る
とちようど1バスサイクル内で通信される。クラ
スタ内でのチツプ間割込みは2番目に一般的な割
込みであると予想される。本発明の割込み組織で
は、クラスター割込みバス214を使つてソース
プロセツサからのソースチツプ216及びプロセ
ツサPR0―PR3、割合でチツプ及びプロセツサ
優先性及びランタイムを確定する情報をクラスタ
ー割込み管理回路218に8バスサイクルで通信
することが可能となつている。マクロクラスター
内のクラスター間割込みはその次に最も一般的な
割込みであると予想される。本発明の割込み組織
では、ソースプロセツサからの割込みに関しての
ソースクラスター、チツプ、プロセツサ、および
割合てクラスターチツプ、プロセツサおよび優先
性及びランタイムを確定する情報は、マクロクラ
スター割込みバスを用いて10バスサイクルでマク
ロクラスター割込み管理回路226に通信可能と
なつている。次々と高くなつてゆく各段階におけ
る割込み期間での同様の情報の通信には、レベル
の高くなるごとに2バスサイクルのみ追加した期
間が必要となる。 第44図は、3つのサンプル割込み1,2、及
び3の期間中の情報の流れる方向も示している。
この情報は、割込みのソースと割当て先、優先順
位及びランタイム情報を規定している。我々はこ
の情報を「割込み情報」と呼ぶ。割込み1は、サ
ブシステム1の中のマクロクラスタ1内のクラス
ター3のチツプ2に属するPR3で発生し、同一
チツプ内のPR0に割当てられている。割込み2
は、サブシステム1の中のマクロクラスター0内
のクラスター1のチツプ3に属するPR3で発生
し、ソースプロセツサがあるのと同じマクロクラ
スター内のクラスター0のチツプ0上のPR0,
PR1,PR2及びPR3に割当てられている。割
込み3は、サブシステム0のマクロクラスター内
のクラスター0に属するチツプ1,2,及び3上
のPR0で発生する。割込み情報は一番下の「葉」
から開始し、必要な限り上まで移動してゆく。即
ちレベルを上に上つてゆき、次に系図を下まで下
つて割あて先プロセツサを示す「葉」の部分まで
達する。割込み情報が樹系図内を移動する時間内
における割込みの移動を我々は、2つのフエイズ
に区別している。これらのフエイズは、「上昇」
フエイズ及び「非上昇」フエイズと呼ばれる。上
昇フエイズの期間中、割込み情報はきちんと樹系
図を上つてゆく、即ち、情報がレベルiの割込み
管理回路からレベルiの割込みバスを介しレベル
(i+1)の他の割込み管理回路に移動する。非
上昇フエイズでは、割込み情報は、系図の同じレ
ベルを移動する。即ちレベルiの割込み管理回路
からレベルiの割込みバスを介しレベルiの他の
割込み管理回路に移動するか、あるいはまた系図
の下に向つておりてゆく即ちレベルiの割込み管
理回路からレベル(i―1)の割込みバスを介し
レベル(i―1)の他の割込み管理回路に移動す
るかのいずれかである。例えば、第44図の割込
み3は割込み情報がサブシステム1内を移動して
いる間は上昇フエイズである。割込み情報がサブ
システム1の割込み管理回路からシステム割込み
バスでサブシステム0の割込み管理回路に移動す
る時、非上昇フエイズが始まる。情報がサブシス
テム0内を移動する間、情報が割当て先プロセツ
サに到達するまで非上昇フエイズが継続する。 上記の割込み3のように、ソース及び割当て先
プロセツサが異るサブシステム内に存在する場
合、割込み情報は最長距離を移動し、最長の時間
を要する。一方、割込み1のようにソース及び割
当てプロセツサが同一チツプ上に存在する場合、
距離及び時間は最短になる。故に、一番あまり発
生しない割込みが通信又はプロセスに存在する中
で最長の時間を要する一方最も頻繁に発生する割
込みは最短時間で通信及びプロセスが行われる。
この望ましい利点が割込みの階級的組織から直接
的に生じる。 一般的なプロトコールはここでは、i番目のレ
ベル(1≦i≦n;i=0である場合はRIC外部
割込み管理回路を意味する)の割込みバス及び割
込み管理回路であるとの見地で説明される。第4
5図で示すように、段階iの割込みバスは、レベ
ルiの例えば4つまでの割込み管理回路とレベル
(i+1)の1つ割込み管理回路によつて共有さ
れることができる。一方、レベルiの割込み管理
回路がレベル(i―1)の割込みバスとインター
フエースし、レベル(i+1)の割込み管理回路
がレベル(i+1)の割込みバスとインターフエ
ースしている。我々は、ここでレベルiの割込み
管理回路をとりあげて、割込みの上昇及び非上昇
フエイズの区別を再考してみる。 割込みの上昇フエイズの間、割込みはレベルi
の割込み管理回路から送られる。割込みは、レベ
ルiの割込みバスを介し割込みの階級的組織の樹
系図を上に上つてゆきレベル(i+1)の割込み
管理回路に達する。上昇フエイズ期間中の割込み
の移動は、第45図に示されている。 割込みの非上昇フエイズの間、割込みは、レベ
ルiの割込み管理回路によつて送り出され、同じ
レベルに留まる。即ちレベルiの割込みバスを移
動し、レベル(i+1)の管理回路に移動するか
わりにレベルiの他の割込み管理回路にゆくか又
は、レベル(i−1)の割込みバスを介し割込み
の階級的組織の樹系図を下に向つて移動しレベル
(i−1)の割込み管理回路に達するかのいずれ
かで移動する。割込み移動の非上昇フエイズの期
間中の割込みの動きも第45図に示されている。 割込みの上昇フエイズ中に使用するプロトコー
ルが第46図に示される。特に、レベルiの割込
み管理回路2は、割込みをレベルiの割込みバス
を介しレベル(i+1)の割込み管理回路に送り
だしている。この割込みの期間中以下の動作が行
われる。まずレベルiの管理回路2がレベルiの
割込みバスを制御する。 バスサイクルOについて:レベルiのソース割
込み管理が割込み情報線に全てゼロを送つてレベ
ル(i+1)の割込み管理回路をこの割込みの割
当て先として指定する。レベル(i+1)の割込
み管理回路は、自分がこの割込みの割当て先であ
るかを判断する。各々の割込みの長さは、ソース
及び割あてアドレスの長さによつて決まる。レベ
ル(i+1)の割込み管理回路が最も長い場合の
割込みも記憶するのに充分なバツフアスペースを
有している場合、割込み管理回路は割込み情報の
受取り及び記憶を開始する。さもなければ、割込
み管理回路は、割込み情報の最初のニブルを受け
とつた事を知らせない。第46図では、転送同期
信号は、割込み管理回路が割込み情報を記憶する
為に充分なバツフアスペースを有していることを
意味する最初のニブルが受けとられたということ
を示している。 バスサイクル1から(2n+4)まで;これら
のサイクルは、割込みの割当てアドレス、割込み
の優先順位、及び割込みのソースアドレスを指定
する情報を転送する為に使用される。割当てアド
レスは、以下の順で送られる;サブシステム、…
…マクロクラスター、クラスター、チツプ及び
PR即ち、関連するアドレス構成要素の最高のも
のから開始して、減少オーダーで階級組織内を下
に向つてプロセスが進行し、PRの認定まで至つ
ている。第46図では、サブシステム0、マクロ
クラスター1、クラスター3、チツプ1及び2、
プロセツサPR2及びPR3が割当て先として特定
されている。割込みの優先順位は127であつて
ランタイム情報は34である。割込みのソースア
ドレスはサブシステム2、マクロクラスター1、
クラスター2、チツプ3PR0である。ここで関
連する最高レベルのアドレスがサブシステムアド
レスであると仮定すると、最悪の場合でもソース
及び割当て先を認定する情報を転送する為には
2nサイクルが必要とされる。割込みの優先順位
及びその他関連情報を送信する為には、あと4サ
イクルが必要とされる。例えば、最高レベルの関
連アドレスがマクロクラスターまでだけである場
合、マクロクラスター、クラスター、チツプ及び
プロセツサだけのシーケンスがバスサイクル1か
ら5までで特定される必要がある。バスサイクル
6及び7は、割込みの優先順位を転送する為に使
用され、バスサイクル8及び9は、割込みについ
てのランタイム情報を転送する為に使用される。
ソースアドレスはバスサイクル10から14で送られ
る。 上昇プロトコールと非上昇プロトコールの間に
は2つの違いがある。1つは、上昇プロトコール
では、割込みが次に高いレベルへと送られること
である。非上昇プロトコールでは、割込は次に低
いレベルへ送られるか又は、同じレベルの割当て
先に送られる。2つのプロトコールの間でのもう
一つの違いは、ソース及び割当てアドレスが送ら
れる順序に関してである。上昇プロトコールに関
しては、最も高いレベルのアドレスが第1に送ら
れる。これに対し非上昇プロトコールでは階級的
組織の中で次のレベルがアドレスされて送られて
いる。 以下の例でこれらのプロトコールをより具体的
に説明する。サブシステム、マクロクラスター、
チツプ及びプロセツサPRから成る階級的組織を
持つシステムを考えてみる。あるサブシステムで
発生しどれか他のサブシステムに移動するよう割
当てられた割込みは、テーブル3で示すように階
級的組織の中で移動する。テーブルは各々のレベ
ルでの(我々はチツプ外の割込みプロトコールに
ついて説明を行つているのでレベル1から始まつ
ている)割込みデータバス上の割込みの運行を示
しており、ソース及び割込み先を認定する情報が
転送されるシーケンスを示している。 テーブル3は、以下の点につき示している。割
込み非上昇フエイズが開始することは、割込みが
階級的組織の中で登る必要のある一番上のレベル
ま達したことを意味する。テーブルに示される場
合では、その最高位レベルはシステムのレベル即
ちレベル5である。割込みの非上昇フエイズの間
アドレスの第1の構成部で示すレベルは、ソース
及び割当て先を示す情報は循環する割込みバスの
レベルとマツチする。例えば、サブシステム割込
みバスがレベル3にあるとマクロクラスターを確
定するアドレス構成部もレベル3である。 テーブル 3 外部からチツプへの割込み通信 使用中の割込みバス ソース及び割当て先を確定
する情報を転送するシーケンス 上昇フエイズ クラスターバス サブシステム、マクロクラスタ
ー、クラスター、チツプ、プロセツ
サ マクロクラスターバス サブシステム、マクロク
ラスター、クラスター、チツプ、プ
ロセツサ サブシステムバス サブシステム、マクロクラス
ター、クラスター、チツプ、プロセ
ツサ システムバス サブシステム、マクロクラスタ
ー、クラスター、チツプ、プロセツ
サ 非上昇フエイズ サブシステムバス マクロクラスター、クラスタ
ー、チツプ、PR、サブシステム※ マクロクラスターバス クラスター、チツプ、
PR、サブシステム※、マクロクラ
スター※ クラスターバス チツプ、PR、サブシステム※、
マクロクラスター※、クラスター※ ※ このアドレスは割込みの割当てを決めるの
には必要ない。故に割当てバス上を送信され
ない。 割込みの移動が非上昇フエイズの期間中、割当
て先を認定する情報のシーケンスは、割当てアド
レスにある簡単な「アドレス構成部を左にシフト
せよ」というオペレーシヨンの実行によつて容易
に導き出される。このことは、割込み管理回路が
手渡された割込みの割当てを認定する情報のシー
ケンスを構成する為の簡単なアルゴリズムを構成
する為に利用される。割込み管理回路がバスを制
御するようになると、第1のサイクルで割合て先
の割込み管理回路が決定されることを思いだして
ほしい。テーブル3で示す通り、割込みの非上昇
フエイズ期間は、割当て先割込み管理回路は第1
のアドレス構成部によつて容易に決定することが
できる。割込みの上昇フエイズ期間では、割当て
先は、割当てバス上に全てゼロを送信することに
よつて決定する。 割込み管理回路によつて実行されるオーバーオ
ール機能は以下の通りである。我々は、レベルi
の割込み管理回路を最初念頭において説明を行
う。 一方でレベルiの割込み管理回路がレベルiの
割込みバスとインターフエースし、また一方では
レベル(i―1)の割込みバスともインターフエ
ースしている事を思いだしてほしい。これらのバ
スは様々な方針によつて仲裁が行われる。これら
の方針の典型的な例はラウンドロビン、優先性の
順によるもの、位置順によるもの等である。チツ
プ割込みバス88はラウンドロビンの順序で仲裁
が行われる。いかなる割込み管理回路も内外両側
からの割込みを同時にうまく処理することが可能
でなければならない。割込み管理回路と割込みバ
スの間のインターフエースを示すブロツク図が第
45図に示される。 各々の割込み管理回路は、送信されるのを待つ
割込みの待ち行列を保持している。各々の割込み
に関して割当てアドレスの優先順位、ランタイム
情報、ソースアドレス及びフエイズ(上昇か又は
非上昇か)が待ち行列になつて保持されている。
割込みの上昇フエイズ期間中、関連する最高レベ
ルから開始する全てのアドレス構成部は、ソース
及び割当て先を決定する為に記憶されていなくて
はならない。割込みの非上昇フエイズの期間中で
は、割込み管理回路のレベルより低い段階である
これらの割当てアドレス構成部だけ割合て先の決
定の為に記憶される必要がある。例えばクラスタ
ー割込み管理回路218は割当ての為にチツプと
プロセツサを特定する情報だけを記憶する必要が
ある。先に入つたものを先に出す方式による待行
列の維持の方が簡単であるが、好ましい割込み管
理回路は、優先順位に基づく方針で待ち行列を維
持している。優先順位に基づき待ち行列の管理を
行う場合、行列の中での到着時間の順にかかわら
ず、行列の最前列にある割込みがその列の中で最
も高い優先性を持つ。 情報状況信号は、いつアドレス情報が送信され
るかを示している。上記で示した通り、割当てア
ドレスが最初に送られ次に割込みデータ及び割込
みのソースアドレスが送られる。割込み管理回路
は受取つた割当てアドレスの数を計数している。
この数及び割込み階級的組織に於るそのアドレス
のレベルに関しわかることに基づいて、割込み管
理回路はソース/割当てを決定する情報を先着順
のオーダで送るか(上昇フエイズ)又は「アドレ
ス構成部を左に循環せよ」というオペレーシヨン
を実行するか(非上昇フエイズ)のいずれにする
かを決定している。 階級的組織情報網は、RIC割込みポート機能に
対する応用の一例として示されている。この割込
みポートは、割込みトポロジー及び割込みプロト
コールによつてまつたく一般的なものである。階
級的組織割込み情報網は、情報網のある形態にす
ぎない。この情報網の中では、トポロギーに関し
ては変化させることが可能でこのことがRICの外
部割込み管理回路に影響し、2種類の変化を生
む。第1の変化はレベルの数が変わると、情報網
の中のアドレスの長さが変化することである。ア
ドレスの長さが変化すると割込み管理回路内のバ
ツフアスペースも変化する。バツフアスペースの
変化は。RIC内に含まれていない割込み管理回路
のハードウエアの設計を適当に変えることによつ
て操作することができる。トポロジーの変化によ
るもう1つの変化は、有効アドレスの組に関して
起こる。この変化も、RICの外部割込み管理回路
を使つてプログラムすることによつて又は他に割
込み管理のハードウエアの仕様を変えることによ
つて操作される。 上記説明はRICのみを有する割込み情報網に限
定されて示してある。しかしながら、チヤンネ
ル、デイスク、プリンター及び通信網インターフ
エースといつたようなあらゆるI/O装置を含む
情報網にも同じ様に応用することができる。この
応用性を保持する為に唯一必要とされることは、
I/O装置がRIC割込みポートと接続可能なイン
ターフエースを有しているということだけであ
る。 以上のように当初の目的を達成し、一般的な構
造を持つICを再構成可能にして使用者のニーズ
にあわせたカスタムなICを安価に提供すること
ができる。このような再構成可能な機能を持つこ
とで本発明はICにより新しい大きな応用の可能
性を持たせることができると確信する。
【図面の簡単な説明】
第1図は、本発明の再構成可能ICの概略的全
体図である。第2図は、1つのプロセツサを全体
的に含み各各の種類の外部インターフエースの内
の1つを含むRICの部分的な平面図である。第3
図はNORゲート仕様として実施されたDLAの
AND及びORマトリクス部分を示す部分図であ
る。第4図は、ゲート仕様と名前のついた実施例
であるDLAのAND及びORマトリクスの部分を
示す図である。第5図は制御バスの構成を示す図
である。第6図は、中央制御記憶制御回路と4つ
のモデユール制御回路の間の関係を示す図であ
る。第7図は、中央制御記憶回路がアクセスされ
た場合の中央制御記憶回路及びそれぞれのモデユ
ール制御回路のオペレーシヨンを示すフローチヤ
ートである。第8図は、花輪状に連結されたバス
使用可能線の接続を示す図である。第9図は各々
のプロセツサ内のALUの主要部分を示す概略図
である。第10図及び第11図は、それぞれ各々
のプロセツサ内の機能ブロツク及び桁上げ連結ブ
ロツク部分の回路図である。第12図は各々のプ
ロセツサ内のバレルシフターの構造を示すフロー
チヤートである。第13図、第14a,14b、
及び14c図は、各々のプロセツサ内のバレルシ
フタで実行されるシフト及び/又は循環オペレー
シヨンの例を示す図であり、第15図はバレルシ
フタで実行される抽出オペレーシヨンの例を示す
図である。第16図はデータバスの構造を示す図
である。第17図は、データバスのプロトコール
を示す図である。第18図は、各々のプロセツサ
内のデータバスのブロツク図である。第19図は
RICの内部RAMシステムを概略的に示す図であ
る。第20及び21図はそれぞれのバス制御ユニ
ツトの構造及びオペレーシヨンを示す図である。
第22図は、メモリスケデユーリングユニツトの
オペレーシヨンを示すフローチヤートである。第
23図〜第25図は隣接するプロセツサの再構成
された異るモードに対応して状況マルチプレクサ
が操作を行う状況バスの内部接続を示す図であ
る。第26図、第27図及び第28図は、れぞれ
独立モードロツクステツプモード、パイプライン
モードにおけるRIC内のデータ及びコマンド命令
の流れを概略的に示す図である。第29図は、
各々のプロセツサ内のスケデユーラ及び割込み管
理回路のブロツク図である。第30図は、各々の
プロセツサ内のスケデユーラのオペレーシヨンの
フローチヤートである。第31図は、割込み管理
ワードのフオーマツトを示す図である。第32図
は、割込みが送られる時の制御記憶アドレス線の
フオーマツトを示す。第33図は、プロセツサ
PR3がプロセツサPR1に対し割込みを送る時の
割込みのタイミングの例を示す図である。第34
図は、RICのピンの配置図である。第35図は、
概略的に内部割込みデータ構造を示す図である。
第36図は、割込みが送られている間の外部割込
み管理回路のオペレーシヨンを示す図である。第
37図〜第41図は、2つ以上のRICチツプ上の
プロセツサを連結することで可能となる構成の例
を示す図である。第42図は、4つのチツプから
クラスタまでの組織を示す図である。第43a及
び43bは、多数のRICチツプが結合された階級
的組織を持つシステムを示す図である。第44図
は、第43a及びb図で示した多重チツプ組織に
相当する樹系図である。第45図は、第43a及
びb図及び第44図で示したように階級的組織内
の不特定なレベルにおける割込みレベル管理回路
及びバスのオペレーシヨンを概略的に示す図であ
る。第46図は、第43a及びb図及び第44図
と同様の多重チツプ階級的組織において割込みが
上昇フエイズである時の情報プロトコールを示す
タイミング図である。第47図は、各々のプロセ
ツサ内に含されるマイクロシーケンサのブロツク
図である。 符号の説明、PR0〜PR3…プロセツサ、12
…割込み管理回路、14…制御バス、52,54
…状況バス、56…データバス、16…スケデユ
ーラ、22…制御DLA、28…ALU、36…マ
イクロシーケンサ、38…制御記憶回路、45,
50…状況マルチプレクサ、60…RAMメモリ
モジユール、68…メモリスケデユーラユニツ
ト、72〜76…外部インターフエース。

Claims (1)

  1. 【特許請求の範囲】 1 独立に、又はロツクステツプのいずれかで制
    御信号に応答してデータを処理するプロセツサー
    PR0,PR1,PR2,PR3に接続された複数の
    バス14,52,56を有し、かつ、割込み機能
    及び外部ピンを有する再構成可能なモノリシツク
    な集積回路において、 前記プロセツサーは、それぞれ異なる形式及び
    長さのアドレスとデータとを識別する自己記述型
    の情報を含む割込み信号を受信し、かつ、送信す
    る緩衝用内部割込み管理回路12を有し、 内部割込み管理回路は、全て制御バス14によ
    つて相互接続されていて、 緩衝用外部割込み管理回路76は、前記外部ピ
    ンの数本に及び前記制御バスにそれぞれ結合され
    ていて、異なる内部割込み管理回路間での前記割
    込み信号の通信を制御し、 制御記憶管理回路38は、前記外部割込み管理
    回路及び内部割込み管理回路による制御信号バス
    へのアクセスを仲裁し、 そして、プロセツサーは、それぞれ自己の動作
    を制御するために前記制御バスに接続された関連
    する状況マルチプレクサ48,50を有して、独
    立して動作し、他のプロセツサーと協同して動作
    し、ロツクステツプで動作し、又はパイプライン
    で動作することを特徴とする再構成可能な集積回
    路。 2 他の集積回路と相互接続する各内部バス用の
    外部インターフエース制御部72―76を有し、
    幾つかの回路がクラスターに分けられているマル
    チレベルの階級のある割込み構造を有し、そのク
    ラスターのいずれもが、緩衝用クラスター割込み
    管理回路218によつて制御される特許請求の範
    囲第1項の複数の再構成可能なモノリシツク集積
    回路から成るマルチプロセツサーシステム。 3 前記クラスターがマクロクラスターに分類さ
    れ、このマクロクラスターは、それぞれ緩衝用マ
    クロクラスター割込み管理回路によつて制御され
    る特許請求の範囲第2項記載のマルチプロセツサ
    ーシステム。 4 マクロクラスターがサブシステムに分類さ
    れ、このサブシステムは、それぞれサブシステム
    用の割込み管理回路を有する特許請求の範囲第3
    項記載のマルチプロセツサーシステム。
JP57128805A 1981-07-24 1982-07-23 再構成可能集積回路 Granted JPS5858672A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US28642581A 1981-07-24 1981-07-24
US286426 1981-07-24
US286424 1981-07-24
US286425 1981-07-24

Publications (2)

Publication Number Publication Date
JPS5858672A JPS5858672A (ja) 1983-04-07
JPS6322343B2 true JPS6322343B2 (ja) 1988-05-11

Family

ID=23098547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57128805A Granted JPS5858672A (ja) 1981-07-24 1982-07-23 再構成可能集積回路

Country Status (1)

Country Link
JP (1) JPS5858672A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02101042U (ja) * 1989-01-27 1990-08-10

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5864562A (ja) * 1981-10-14 1983-04-16 Hitachi Ltd 信号処理装置
JPS60184297U (ja) * 1984-05-17 1985-12-06 スタンレー電気株式会社 El素子
JPS6341970A (ja) * 1986-08-07 1988-02-23 Sanyo Electric Co Ltd マイクロコンピユ−タシステム
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
US7693257B2 (en) 2006-06-29 2010-04-06 Accuray Incorporated Treatment delivery optimization

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02101042U (ja) * 1989-01-27 1990-08-10

Also Published As

Publication number Publication date
JPS5858672A (ja) 1983-04-07

Similar Documents

Publication Publication Date Title
EP0759594B1 (en) Modular crossbar interconnections in a digital computer
US4633394A (en) Distributed arbitration for multiple processors
EP0380857B1 (en) Arbitrating communication requests in a multi-processor computer system
US6725313B1 (en) Communications system and method with multilevel connection identification
US5418970A (en) Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content
JP2501419B2 (ja) 多重プロセッサメモリシステム及びメモリ参照競合解決方法
US8918568B2 (en) PCI express SR-IOV/MR-IOV virtual function clusters
EP2192496B1 (en) Arbitration in multiprocessor device
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
US5165038A (en) Global registers for a multiprocessor system
WO1997045795A1 (en) Parallel processor with redundancy of processor pairs
GB2567027A (en) Common priority information for multiple resource arbitration
KR102539571B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
GB2568124A (en) Arbitration systems and methods
US5586289A (en) Method and apparatus for accessing local storage within a parallel processing computer
EP2132645B1 (en) A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled
JPS6322343B2 (ja)
US9727499B2 (en) Hardware first come first serve arbiter using multiple request buckets
EP0071727B1 (en) Restructurable integrated circuit
US20070283077A1 (en) Memory and Memory Communication System
US7685345B2 (en) Apparatus and method for fairness arbitration for a shared pipeline in a large SMP computer system
Vick et al. Adptable Architectures for Supersystems
KR102539573B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
JP2006522399A (ja) クラスタ化されたilpプロセッサを有するデータ処理システム
JP2005078177A (ja) 並列演算装置