JPS5858705B2 - デ−タプロセシングシステム - Google Patents

デ−タプロセシングシステム

Info

Publication number
JPS5858705B2
JPS5858705B2 JP50119333A JP11933375A JPS5858705B2 JP S5858705 B2 JPS5858705 B2 JP S5858705B2 JP 50119333 A JP50119333 A JP 50119333A JP 11933375 A JP11933375 A JP 11933375A JP S5858705 B2 JPS5858705 B2 JP S5858705B2
Authority
JP
Japan
Prior art keywords
registers
memory
register
data
microinstructions
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
JP50119333A
Other languages
English (en)
Other versions
JPS5162953A (ja
Inventor
チンチヤン リイ デイビツト
ナバロウ リビイ パーナードウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of JPS5162953A publication Critical patent/JPS5162953A/ja
Publication of JPS5858705B2 publication Critical patent/JPS5858705B2/ja
Expired 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • 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
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 発明の背景 (1)発明の分野 この発明はマイクロプログラムマルチプロセシングシス
テムに関するもので、特に1個の半導体チップに存在す
るそのようなマルチプロセシングシステムに関するもの
である。
(2)先行技術の説明 集積回路の分野での進歩によりトランジスタゲートの数
が増加し、1個の回路チップで数個ないし数百側さらに
は子細を越えるゲートを収容することができるようにな
った。
そのような進歩によって1個の集積回路チップ上に小型
データプロセサ全体を入れるように考慮しはじめる事が
可能になった。
この事が順に大量生産の経済的な利点をもたらす、なぜ
ならばチップの製作のための回路マスクがひとたび設計
されるとプロセサ全体が自動的に製造できて、それはプ
ロセサを収容するために多くのそのようなチップが必要
な場合に比べてずつと安価であり、かつプロセサがディ
スクリートなコンポーネントで構成される場合に比べて
確かにずっと安価であるからである。
1個の集積回路チップに置かれた小型プロセサの特定的
な例はこの出願の譲受人に譲渡された、1972年11
月20日出願の、Faberによるアメリカ合衆国特許
出願第307,863号に図解される。
より小型のデータプロセシングシステムは、データコン
セントレイク、プロセスコントローラなどのみでなく、
多くの事務および技術用途のための小型データプロセシ
ングシステムとして、多くの用途を有しかつより多くの
用途を見いだしつつある。
多くの例において、特定事務のデータプロセシングに関
する要求は会計およびピリングのタスクの混合されたも
のでありまたより大きな計算能力を必要とする他のプロ
セスである。
この状態を充足するために、インテリジェント端末が設
けられ、それはより大きいコンピュータの時分割を許容
するばかりでなく特定プロセシングルーティンを達成す
ることもできる。
ターミナルプロセサはまたデータの編集、書式化などの
ような種々のプリプロセシングタスクを達成する事がで
きる。
コンピュータの設計における、かつ特にミニコンピユー
タおよびマイクロコンピュータの設計に関してより一層
融通性を許容する特定的なアーキテクチャ概念が、マイ
クロプログラミングの概念でありまたはマクロインスト
ラクションおよびより高いレベルのプログラミング言語
のインストラクションを実現しまたはインクブリートの
ためのマイクロインストラクションの使用であった。
元来、マイクロインストラクションはプロセサのあるレ
ジスタから他のレジスタへしかも演算論理装置を介して
データ転送を行なうに必要なプロセサの種々のゲートを
駆動するに必要な制御ビットのこのような組と考えられ
た。
これらのビットはマクロインストラクションのオペレー
ションコードによってアドレスされたロケーションにお
いてプロセサ内の小型メモリにストアされた。
この意味において、マイクロプログラミングの概念はマ
イクロインストラクションデコーダをテーブルルックア
ップメモリで置換する概念であった。
初期に定義されたように、マイクロインストラクション
は1組のパックされないビットであって、その各々はゲ
ートを駆動するに要する制御信号を表わし、制御信号の
組がマイクロインストラクションメモリのアドレスに用
いられるマクロインストラクションオペレーションコー
ドで必要な1クロツクタイムの間に機能を達成するため
に駆動に必要なすべてのゲートを表わす。
もしマクロインストラクションオペレーションコードが
2つまたはそれを越えるクロックタイムを必要としたな
らハ、ソノ時はオペレーションコードはそのようなマイ
クロインストラクションのシーケンスをアクセスするよ
うにカウンタによって増分され得よう。
マイクロプログラムプロセサの大きさが一層複雑となっ
たので、マイクロインストラクションの長さも所要の余
分の制御ビットを収容するようtこ長くなった。
このため順に、プロセサ内のマイクロインストラクショ
ンメモリも長くなり、かつ、そのため、より高価となる
必要があった。
より複雑なプロセサのマイクロインストラクションメモ
リの大きさを減じるために、マイクロインストラクショ
ンが一連のパックされないまたはコードされないビット
である事とは区別してエンコードした。
このため順に、マイクロインストラクションデコーダが
設けられてそれがマイクロインストラクションメモリに
よって置換されるマクロインストラクションデコーダよ
りも複雑でないことが必要であった。
したがって、実際には2つの型式のマイクロインストラ
クションがあり、その1つはパックされない系列のビッ
トでありかつ今1つはパックされたまたはエンコードさ
れた系列のビットである。
マイクロプログラミングの概念によって、データプロセ
サは非常に基本的なレベルでプログラムできるようにな
り、かつ多くの高いレベルのプログラム言語の実現また
はインクプリチージョンに対して一層融通性を与える。
しかしながら、マイクロプログラミングのもとの概念は
データプロセサの技術設計および製造を簡単にするため
に考え出されたものである。
データプロセサ、特にミニコンピユータおよびマイクロ
コンピュータ、の設計の傾向は、数個のまたは前記のよ
うに1個のMO8集積回路チップでプロセサを実現し、
そのプロセサはマイクロインストラクションメモリを採
用するという事であった。
しかしながら、ミニコンピユータの分野の範囲でのデー
タプロセサの大きさはMO8集積回路チップに置かれう
るトランジスタゲートの数によってなおも制御された。
したがって、大型のコンピュータは尚も余分な数の集積
回路チップを用いなければならず、システムの製造原価
が結果的に増加する、なぜならば複数個の異なるチップ
を設計し製作しなければならないからである。
あるシステムでは、データのスループットの増加は、各
々が個々の半導体チップに設けられる複数個の小型プロ
セサがマルチプロセシングモードで一体的に結合される
場合に遠戚できる。
しかしながらその時でさえ、チップ間のデータ伝送は余
分な数のサイクル時間を要し、かつ得られるシステムは
より大きいプロセサが1個のチップで作られた場合はど
に速くはない。
それゆえに、この発明の目的は1個の集積回路チップに
設けられ、最少の製造原価で動作能力の増加した改良さ
れたデータプロセシングシステムを提供することである
この発明の尚も他の目的は1個の集積回路チップに設け
られるマルチプロセシングのマイクロプログラムされた
システムを提供することである。
この発明のさらに他の目的は複数個のプロセサがシステ
ムの共通エレメントを共用するマルチプロセシングのマ
イクロプログラムされたシステムを提供することである
発明の概要 限られた数のトランジスタゲートを有する1個のMO8
集積回路チップに1個以上のプロセサを収容するために
、この発明は複数組のレジスタに向けられ、各組は異な
るプロセサを表わし、このレジスタは共通の論理装置、
制御装置、および母線を共用する。
制御装置はマイクロプログラムメモリを含み、それはプ
ロセサレジスタのそれぞれの組によって共用されかつ各
特定の組のレジスタの個々のものの間および論理装置と
の間のデータ転送を制御する。
そのようなデータ転送はクロックの制御下にあり、それ
ぞれの組のプロセサレジスタは順次的時間スライスまた
はマルチプレキシフグ形式モードでアクセスされ、それ
ぞれの組のレジスタはクロックによって連続的に駆動さ
れる。
複数個の同時のマイクロプロセサを有するこの発明の特
別な利点は、プロセサが異なるレベルにおいて相互に自
由な通信を有する事である。
あるレベルの通信は集積回路チップのプロセサ間に設け
られる相互接続を介して行なわれる。
通信はまたそれぞれのプロセサによって共用されるロー
カルスクラッチパッドメモリを介しても得られ、かつそ
れぞれのプロセサはまたメインメモリを介して通信する
ことができる。
さらに、付加的な利点は同一のマイクロプログラムメモ
リをすべてのプロセサと共用することによって得られる
したがって、この発明の特徴は複数個の組のしシスタラ
有スルマルチーマイクロプロセシングシステムにあり、
各組は個々のプロセサ、および共通の論理装置、マイク
ロプログラム制御メモリ、母線、およびそれぞれのプロ
セサレジスタによって共用されるスクラッチパッドメモ
リを表わす。
この発明の上記の目的、利点、および特徴は図面に関連
して理解するとき以下の説明から一層容易に明らかとな
ろう。
発明の詳細な説明 この発明で用いられるシステムの構成が第1図に示され
、複数個のMO8集積回路チップが融通性のあるマルチ
プロセシングシステムを形成する形に結合される。
第1図のシステムは複数個のマルチプロセシングユニッ
ト(MPU)11を含み、それらはランダムアクセスメ
モリ(RAM)13に結合され、それはデータおよび他
の情報のストレージのために設けられる。
各MPU11はマイクロプログラムされかつこの目的で
それぞれのリードオンリメモリ(ROM)12に結合さ
れる。
第1図に示されるように、種々の周辺装置が種々のMP
Uの制御下にシステムによって用いられてもよく、種々
の周辺装置としてはディスクメモリ15、プリンタ16
、陰極線管表示装置17.カセットドライブ18、およ
びデータ通信装置19が含まれる。
MPUの詳細な回路を述べる前に、個々のプロセサがシ
ステムで共用される資源にアクセスするタイムスライス
の間マルチプロセシングシステムにおいて各プロセサに
よって用いられる機能装置についてまず述べる。
そのユニークでかつ共用された資源を有するプロセサの
機能図が第2図に示される。
共用された資源はBスクラッチパッドメモリ31および
Aスクラッチパッドメモリ32、演算論理装置(ALU
)33、制御論理回路40、およびFレジスタ41を含
む。
各プロセサに別々に設けられる資源は、Xレジスタ35
、マイクロプログラムカウンタ(pc)レジスタ36、
ページ(PR)レジスタ37、およびプリページ(PP
R)レジスタ38、■レジスタ43、Nレジスタ44、
Nレジスタ34、およびYレジスタ42を含む。
プロセサのユニークなレジスタは第2図に関連して述べ
られる。
これらの特殊目的レジスタが特別なプロセサに供される
ためには、それらはプロセサ間において4−ウェイのタ
イムスライシングを可能にするようlこ4ビツトシフト
レジスクから構成される。
Xレジスタ35はインストラクションデコードおよび実
行タイムの間マイクロインストラクションを保持するた
めに用いられる8ビツトインストラクシヨンレジスタで
ある。
PCレジスタ36は8ビツトマイクロプログラムカウン
タレジスタである。
このレジスタは実行されるべき次のマイクロインストラ
クションのページ内バイトのアドレスを保持する。
PRNレジスタ374ビツトのマイクロプログラムカウ
ンタページレジスフである。
このレジスタは実行される次のマイクロインストラクシ
ョンのページアドレスを保持する。
PPRレジスタ38は4ビツトプリページレジスタであ
る。
ページからジャンプの動作は2つのインストラクション
を必要とする、すなわちロードページレジスタインスト
ラクションとジャンプインストラクションである。
PPRレジスタ38はジャンプインストラクションがフ
ェッチされている間に新しいページ数を保持するのに用
いられる。
PPRレジスタの内容は次のインストラクションがジャ
ンプになるときのみPRレジスタにロードされる。
ほかのすべての場合において、ロードページレジスタイ
ンストラクションはオペレーションなしとしてふるまう
したがって、条件的なページからジャンプのオペレーシ
ョンは、もし条件が満たされないならば同じページに留
まる。
■レジスタ43はAスクラッチパッドメモリをアドレス
するために用いられる4ピツ]・レジスタである。
Nレジスタ44はBスクラッチパッドメモリの4ページ
の1つをアドレスするために2ビツトレジスタである。
それはBスクラッチパッドメモリのレジスタをアドレス
するためにインストラクションの部分に関連して用いら
れる。
このレジスタはまた■レジスタ43をロードするために
も用いられる。
Nレジスタ34は1ビツトレジスクであって、加算イン
ストラクションの間のみセットされまたはクリアされる
それはALUに入力として用いられかつシャンプーオン
−キャリーインストラクションによってテストできる。
Yレジスタ42は4ビツトのステートマシンレジスタで
ある。
このレジスタは他の3つのプロセサが実行している時間
の間者プロセサの状態をストアするために用いられる。
これが必要となるのは、いくつかのインストラクション
が実行のために1つ以上のクロックを必要とするからで
ある。
さて共用されたエレメントについて述べる。
ALU33は2進加算、およびビット毎論理ANDOR
,およびEXCLUIVE ORオペレーションを達成
することのできる4ビツトの演算論理装置である。
各オペレーションはバイトオペレーションがALUを2
回通ることが必要な1クロツクタイムスライスの間に達
成される。
スクラッチパッドメモリ32は16個のレジスタを含み
、各レジスタは8ビツト幅であり、これらレジスタは一
般的目的のレジスタとしてまたは特殊目的のために用い
ることができる。
16個のレジスタは4個のレジスタの各々が4ページに
分割される。
特殊目的のために用いられるとき、AレジスタはBレジ
スタに関連して用いられる。
レジスタが用いることのできる特殊目的は後で論じる。
Bスクラッチパッドメモリ31は各々が8ビツトの24
個のレジスタを含みまたはそれは各々が4ビツトの48
個のレジスタと考えることもでき、これらレジスタは一
般的目的のストレージレジスタとして用いることができ
、またはAレジスタ32と関連して特殊目的レジスタと
して用いることができる。
これらのレジスタが用いることができる特殊目的は後で
述べる。
制御論理回路40は複合のリードオンリメモリおよび制
御論理回路を含み、それは制御信号レベルでシステムの
オペレーションのシーケンスを定める。
Fレジスタ41は1個のフリップフロップでありそれは
フラグとして意図される。
それは1つのプロセサによってまたはプロセサ間の通信
のために用いることができる。
第5A図はAレジスフ32の構成を示しかつ第5B図は
Bレジスタ31の構成を示す。
各プロセサは16個のAレジスタまたは24個のBレジ
スタの各々のアクセスすることができる。
しかしながら、あるプロセサが他のプロセサのデータを
破壊するのを防ぐために、各プロセサがそれ自身のユニ
ークな組を有するようにAおよびBレジスタをパーティ
ションする必要がある。
このパーティションはプロセサの任意のものがマイクロ
プログラムされる前になされなければならない。
正確にいうと、パーティションがどのようになされなけ
ればならないかは、もちろん、各プロセサが達成すべき
タスクに依存する。
一般的に、プロセサ毎に1ページをアロケートするパー
ティションは4個のプロセサが類似のタスクを実行する
べきであるときコード化を減じる。
1個または2個のプロセサが他のものよりも一層複雑な
タスクを実行すべきである場合、複雑なタスクに対して
レジスタを不均一にパーティションすることが望ましい
かもしれない。
このことはタスクに対してより多くのスクラッチパツド
ローケーションをアロケートすることによって、ランダ
ムアクセスに対するより少ないアクセスが必要である場
合に特に正しい。
Bスクラッチパッドメモリは、Aスクラッチパッドメモ
リと同様に、4ページからなる。
一般的に、各プロセサはBレジスタの1ページがアロケ
ートされる。
プロセサによって用いられるべきページ数はその2ビツ
トのNレジスタにストアされる。
ページ内のアドレス指定は2つの方法、すなわちバイト
毎におよびディジット毎に行なわれる。
バイトアドレスは偶数0ないし14である。
ディジットアドレスはOないし15の数である。
これらのアドレスは同じデータをアクセスし、バイトO
はディジットOおよび1と同じレジスタであり、バイト
2はディジット2および3と同じであり、かつ以下同様
である。
第5B図かられかるように、Bスクラッチパッドメモリ
のアドレス指定スペースは32バイトまたは64デイジ
ツトからなる。
しかしながら2つの理由で、このことはBスクラッチパ
ッドメモリの物理的大きさに合わない。
32バイトのための集積回路チップには充分なスペース
がなく、かつプロセサ内の通信は物理的なレジスタを共
有することによって高められる。
第5B図はレジスタがどのように共有されるかを示す。
そこに示されるように、各々の矩形は、大きさに関係な
く、1個の物理的8ビツトレジスタを表わす。
4個のプロセサの各々がN(Bスクラッチパッドページ
)に対する異なる値を用いると仮定するならば、そのと
きはバイトOおよび14がすべてのプロセサによって共
用されかつバイト2レジスタの1つのコピーがプロセサ
Oと1との間で共用されかつ他のコピーがプロセサ2ト
3との間で共用されることは明らかである。
この共用によって、データがNの値の変化の必要なしl
こプロセサ間で通過できることになる。
各プロセサはNレジスタの値を変化できるので、Aまた
はBレジスタの任意のものを経て他のプロセサに通信で
きることに注目しなければならない。
共用されたレジスタ(バイl−0,2、および14)を
用いることによって、通信がNの設定を一時的に変更す
る必要なしに達成される。
プロセサ間のBスクラッチパッドメモリをパーティショ
ンする際に、共用レジスタは通信のために用いられない
限り1個のプロセサのみに割り当てすることができる。
上で示したように、この発明の利点の1つは4個のプロ
セサが、サブlレーデインであろうとフルプログラムで
あろうと、マイクロプログラムの1個のコピーを共用で
き、かつ同時にランできることである。
このことはプロセサの各々のためにNレジスタにまず異
なる値を設定し、次いでリードオンメモリの同一ロケー
ションに各プロセサをジャンプさせることによって達成
される。
しかしながら、このようにして書き込まれたプログラム
は、どのような共用されたBレジスタも使用することが
できない。
AおよびBスクラッチパッドメモリのエレメントが用い
られる特殊目的は16ビツトのランダムアクセスメモリ
アドレス、マイクロプログラムサブルーティンアドレス
、およびマイクロプログラムメモリ読出しアドレスをス
トアすることである。
双方のスクラッチパッドメモリのエレメントはこれらの
目的のために連結される。
例えば、Aスクラッチパッドメモリの4ページとBスク
ラッチパッドメモリの4ページはともにグループ化され
て、AのページOとBのページO1Aのページ1とBの
ページ1、以下同様となる。
その上うな1グループのためのページのグループが第5
C図に示される、なぜならばページのグループのすべて
は同一態様で機能するからである。
第5C図1こ示されるように、ページの各グループは4
個のランダムアクセスメモリ読出し/書込みアドレスレ
ジスタを有する。
これらの最初の3つは、R/Wo、R/W1.R/W2
で示され、次のレジスタすなわちB8とA□ 、Bio
とA1、およびB12とA2を連、結し、データをラン
ダムアクセスメモリに対し読出しかつ書込むための3個
の16ビツトのランダムアクセスメモリレジスタを構成
する。
各々の場合において、Bバイトハアドレスの最上位部分
である。
4番目のアドレスレジスタはR/W3で示され、A3を
すべてのものと連結してランダムアクセスメモリの「直
接」アドレスページ、すなわち最上方ページを形成する
マイクロプログラムメモリ(ROM)アドレスはすべて
12ビツトの長さでありかつ8ビツトAレジスタとBレ
ジスタのより低い4ビツト(偶数を付されたディジット
アドレス)の連結によって構成される。
3個のそのようなROMアドレスレジスタは各組のAお
よびBページに含まれる。
これらの1つがディジットB2をA1と連結してROM
アドレスレジスタを形成する。
この組合せはデータを翻訳するのに用いられる。
コードの表はROMにストアされかつ翻訳が単に入力コ
ードをB2およびA1に入れかつROMを読み出すこと
によって達成される。
他の2つの12ビットROMアドレスレジスタはマイク
ロプログラムサブルーティンジャンプインストラクショ
ンが実行される後戻りアドレスをストアするために用い
られる。
戻りページ数はBディジットにストアされかつページ内
のアドレスはA2とB4の組合せおよびA3とB6の組
合せでAレジスタにストアされる。
サブルーティンの2つのレベルは非常に満足に取り扱い
できることが明らかである。
この発明のマルチプロセシングユニットとその内在する
システムの周辺との間のインクフェイスの説明を第3図
を参照して述べる。
そこに示されるように、種々のインタフェイスがデータ
母線20を含み、それは8ビツト幅で、アドレス母線2
1と種々の制御線である。
第2図におけるシステムの説明から、16ビツトアドレ
スがランダムアクセスメモリ13のアドレスに必要であ
り、また12ビツトアドレスがリードオンリメモリ12
のアドレスのため必要であることが想起される。
4ビツトアドレスは入出力デコーダ14Aのために必要
で、それは周辺へのデータ伝送が出力伝送または入力伝
送のために必要であるかどうかによって、それぞれ、出
力論理回路14Bまたは入力論理回路14Cとして周辺
装置を選択する。
データ母線20への入力伝送は入出力信号がマルチプロ
セシングユニットから伝送されかつ同時に書き込み信号
が存在しないとき伝送ゲート28によって行なわれる。
ランダムアクセスメモリ13からのシステムインストラ
クションおよびデータ転送は書込み信号がないがメモリ
信号がありかつ16ビツトアドレスがランダムアクセス
メモリ13に提示されるとき、データ母線20によって
起こる。
リードオンリメモリ12からのマイクロインストラクシ
ョン転送は、メモリ信号が存在せず、入出力信号が存在
せずかつ12ビツトアドレスがリードオンリメモリ12
に伝送されるとき生じる。
ここで第1図および第2図を参照して、この発明による
データプロセシングシステムの概要、およびその全体的
な動作を説明する。
各プロセサは、リードオンリメモリ(ROM)12を備
える。
ROM12は、エンコードされたマイクロインストラク
ションを、アドレス可能なロケーションにストアするこ
とができる。
それによって、マイクロインストラクションの組は、R
OM12から読出され得る。
マイクロインストラクションの各組は、それぞれ異なっ
た処理を実行する。
プロセサはまたそれぞれ、処理能力のある装置、つマリ
マルチプロセシングユニット(MPU)11を有する。
各MPUIIは、論理装置33と、制御装置40と、ス
クラッチパッドメモリ31および32を含むアドレス手
段とを共用し、さらにもちろん、バス20を共用する。
論理装置33は、演算装置(第6図)であり、制御装置
40(第2図、第9図)によってストアされた特定の制
御信号ALU1 、ALU2 、ALU3に応答して論
理オペレーションを実行する。
制御装置40は、マイクロインストラクションがXレジ
スタ35内に保持されているときに、そのマイクロイン
ストラクションをデコードする。
Xレジスタ35は、処理能力を持つ各装置11に対して
複製された、独立した資源の一部である。
このような非共用装置は、Xレジスタ、マイクロプログ
ラムカウンタ(pc)レジスタ36、およびNレジスタ
44を含む。
さらにその中には、Yレジスタ42のように、ステート
マシンレジスタとして動作するレジスタ、および、同時
通信およびマルチプロセシングを可能にする他のレジス
タが存在する。
各プロセサユニットにおけるNレジスタはある値にセッ
トされ得るので、プロセシングユニット11は、制御装
置40のAおよびBレジスタを通じて、他のプロセシン
グユニット11と通信することができる。
各プロセシングユニットのNレジスタが異なった値でセ
ットされて、かつ各プロセサをリードオンリメモリの同
一ロケーションにジャンプさせると、マイクロプログラ
ムの1つのコピーが、クロックコントロールを通して同
時にランし得る。
このようなプロセシング能力を可能にするレジスタを含
むこのプロセシングユニットは、1つのMOSチップ上
に形成され得る。
したがってたとえば、この発明のシステムを利用する際
、制御論理回路40は開始アドレスをプログラムカウン
タ(PC)36およびページレジスタ(PR)37に与
える。
この開始アドレスは、前述したように、AおよびBスク
ラッチパッドメモリ32および31を用いて形成される
ページレジスタ(PR)37は、4つのプロセサに対し
てそれぞれ0 、1 、2、および3にセットされる。
プロセサのために書かれたマイクロプログラムが、これ
らのロケーションで開始される。
他のレジスタはプリセットされず、したがってマイクロ
プログラムは、Nレジスタ44、■レジスタ43、およ
び他の必要なレジスタを、標準指定値で始動する。
Nレジスタ44の値が■レジスタ43のための値の一部
として用いられるので、Nレジスタが最初に始動される
ROM12は、アドレス可能な記憶位置に、エンコード
されたマイクロインストラクションをストアしている。
ROM12は、開始アドレスでアドレスされて、マイク
ロインストラクションをMPU11内のXレジスタ35
に与える。
Xレジスタ35は、マイクロインストラクションを保持
する。
このXレジスタ35は、各プロセサのユニークなレジス
タである。
制御論理回路40は、Xレジスタ35内に保持されたマ
イクロインストラクションをデコードして制御信号を与
える。
制御信号はAおよびBマルチパッドメモリ32および3
1に与えられて、前述した方法で、RAM13がアドレ
スされる。
RAM13からのデータは、AおよびBマルチパッドメ
モリ32および31を通じて、ALU33に与えられる
ALU33は制御論理回路40からの制御信号ALU1
、ALU2 、ALU3に応答して、論理演算オペレ
ーションを実行する。
もし各プロセサにおける通常の指定にあてはまるように
、Nレジスタが異なる値に設定され、次いで各プロセサ
がROM12の同一ロケーションにジャンプされると、
マイクロプログラムの1個のコピーが各プロセサに対し
て共用され、かつ同時にランされることができる。
この発明の詳細な説明 この発明の詳細な説明が第4A図および第4B図を参照
して行なわれ、それは第4図で図解された関係に従い共
に参照される。
第4A図および第4B図の機能ユニットは一般的に第2
図に関して述べられた。
第2図の論述から、この発明は複数組のレジスタを含み
、各組はユニークでかつ個々のプロセサかつまた共用エ
レメントを表わし、共用エレメントは時間マルチプレク
ス態様でユニークな組のレジスタに対して共通的に利用
でき、そのため任意の与えられたクロックタイムにおい
てこのように形成されたプロセサの1個が機能可能であ
る。
1lJA図において、Bスクラッチパッドメモリ31は
各々が8ビツト幅の24個のレジスタを3み、Aスクラ
ッチパッドメモリ32は各々が8ビツト幅の16個のレ
ジスタを含む。
ALU33は4ビツトの演算論理装置であり、Xレジス
タ34は同時に1ビツトアクセスされる4ビツトレジス
タである。
Kレジスタは各プロセサにユニークなレジスタの1つで
あることが想起される。
したがって、Kレジスタには4個までのキャリーピット
が、各プロセサ毎に1ビツトずつ存在し得る。
PRXレジスタ37各々4ビツトの4個のレジスタを含
む。
再び、各プロセサ毎にユニークなPRレジスタが存在す
ることが想起される。
アドレスレジスタ50は各々が4ビツトの8個のレジス
タを含み、これらレジスタはランダムアクセスメモリに
上部8ビツトアドレスを伝送するために用いられる。
アドレスレジスタ50がこの構成をとる理由は、アドレ
スレジスタ50へのまたはそこからのデータ経路が各々
4ビツト幅の2個の母線を含むからである。
レジスタ54はデータをAスクラッチパッドメモリ32
に供給するための8ビツトレジスタである。
Nレジスタ44は各々が2ビツトの4個のレジスタを含
む。
ユニークな2ビツトのNレジスタはシステムの各プロセ
サ毎に設けられることが想起される。
第4B図において、Xレジスタ35およびPCCレジス
フ3の双方は各々が8ビツトの4個のレジスタを含み、
各々の特定のレジスタは特定のプロセサに割り当てられ
る。
同様に■レジスタ43およびYレジスタ42は各々が4
ビツトの4個のレジスタを含み、各レジスタは特定のプ
ロセサに割り当てられる。
制御論理回路40の真髄は複合型のリードオンリメモリ
であって、それは制御信号の組を変更するために再プロ
グラム可能な51X29のMO8素子マトリックスであ
ってもよく、その制御信号の組は順に外部リードオンリ
メモリ12から特定のプロセサのXレジスタ35で受け
られるマイクロインストラクションをデコードするため
に用いられる(第3図参照)。
Fレジスタ41は第2図に関して述べた1ビツトフリツ
プフロツプレジスクである。
第4B図で示されるように、メモリアクセスおよび入出
力オペレーションに必要な信号は複合型リードオンリメ
モリによって直接にかつ他のプロセサが実行している時
間内に各プロセサの状態をストアするそれぞれのYレジ
スタ42の状態によって発生される。
演算論理装置の機能およびレジスタ間のデータ転送を開
始する信号も複合型り−ドオンリメモリによって直接発
生される。
第6図は第2図および第4A図の演算論理装置(ALU
)33の略図解である。
ALUは4ビツトのアダーであって、AND、EXCL
USIVEOR,およびADD機能を達成する。
第6図に示されるように、ALUは4段で構成され、A
LU出力信号S。
、Sl、S2、およびS3とキャリー信号KIを発生す
る。
各段は1組の電源VDDによって付勢される。
ALUに加えられる入力信号はデータの組a。
、al、a2.a3、およびす。、bl。b2.b3お
よび最初のキャリー信号K。
である。制御信号ALU1 、ALU2、およびALU
3は第2図および第4B図の制御論理回路40から受け
られる。
制御信号ALU3によって、ALUはAND機能を達成
する。
制御信号ALU2によって、ALUはEXCLUSIV
E OR機能を達成する。
制御信号ALU3によって、ALUはキャリー信号K。
を伴なうEXCLUSIVE OR機能とaおよびb入
力信号のEXCLUSIVB OR積を達成する。
したがって、制御信号ALU2およびALU3の組合せ
で、ALUはそれぞれの入力信号でADD機能を達成す
る。
上で示したように、第2図、第4A図、および第4B図
のそれぞれのユニークなレジスタは4ビツトのシフトレ
ジスタで、システムの共通なエレメント、すなわち第2
図に関して論じたように、ALU33、制御論理回路4
0およびその他のものの4−ウェイのタイムスライシン
グまたは時分割を適合させる。
そのようなシフトレジスタの一例が第7図に与えられ、
これは第2図、第4A図、および第4B図のYレジスフ
42およびまたにレジスタ34の略解図である。
これらのレジスタは4個の4ビツトシフトレジスタY。
、¥1.¥2およびY3(およびにシフトレジスタ)と
考えることもでき、またはそれらは、システムによって
構成される4個(事実上のであるが)プロセサによるシ
ステムの共通エレメントのタイムスライシングまたは時
分割と同期してデータがシーケンス付けされる4個の並
列レジスタYTo、YT1.YT3、およびYT4とし
て考えることができる。
それぞれのレジスタの各ビット位置は2個のセルで構成
され、これらセルはそれぞれ位相クロック信号Q1およ
びQ2によって順次的に駆動される。
第7図に示されるように、典型的なセルはFET(電界
効果トランジスタ)ゲート42aおよび42bならびに
インバータ増幅器42cおよび42dで構成され、これ
らは集積回路チップ内の個々のトランジスタである。
クロック位相Q1の間、レジスタYTo(およびまたは
レジスタYT1゜YT2、およびYT3)のゲート 4
2aは駆動されて入力信号YToを受ける。
クロック位相Q2の間、ゲー1−42bが駆動されてゲ
ート42aからその信号を受け、そのときゲート42a
は次のクロック位相Q1の間に次の入力信号を自由に受
は入れる。
第9図は第2図および第4B図の制御論理回路40の制
御マトリクスの略図解である。
このマトリクスは第2図および第4B図のXレジスタ3
5にあるときそれぞれのマイクロインストラクションを
デコードするために用いられる。
このマトリクスはまたマトリクスの種々の接続点を接続
しまたは切り離すことによって再プログラム可能でその
ため制御メモリと均等でありかつそれによって置き換え
ることもできる。
発生されるべきそれぞれの制御信号と実行中のXレジス
タ内のそれぞれのマイクロインストラクションとの間の
関係は第8図に詳細に示される。
第8図の表は詳細には論じられない、しかしながら、そ
こに示される機能はインストラクションの組の各マイク
ロインストラクション毎に今論じる。
以下の議論において、マイクロインストラクションコー
ドのアルファベットの文字はこれらのビットが用いられ
ないがインストラクションが対応のレジスタをアドレス
することを示し、すなわちBは第2図および第4A図の
Bレジスフ31がアドレスされたことを示し、Cは出力
チャネルが用いられたことを示し、Pはスクラッチパッ
ドメモリのページを示し、以下同様である。
MPUインストラクションリスト ■ ディジットインストラクション LDA Aメモリの内容(Iレジスタによってアドレ
スされる)は4ビツト右シフトされかつ上部4ビツトは
Bメモリの内容(NレジスタとBインストラクションビ
ットの連結によってアドレスされる)がロードされる。
B(N、Xi、)、A(I)U−+A(I)時 間:1
クロツクパルス コード: 1111BBBB LDB Bメモリの内容(NレジスタとBインストラ
クションビットの連結によってアドレスされる)はAメ
モリに含まれる上位4ビツト(Iレジスタによってアド
レスされる)がロードされる。
A(I)U−+B(N、XL) 時 間:1クロツクパルス コード: 1011BBBB ADD Aメモリの内容(Iレジスタによってアドレ
スされる)上位4ビツトはBメモリの上位4ビツトと内
容の和(NレジスタとBインストラクションビットの連
結によってアドレスされる)がロードされる。
B (N 、 XL )+A(I) U 、 A(I)
L −+A(I)時 間=1クロックパルス コード:1001BBBB XOD XおよびAメモリの内容(■レジスタによっ
てアドレスされる)上方4ビツトはBメモリの同じビッ
トのrEXCLUSIVEORjおよび内容(Nレジス
タとBインストラクションビットの連結によってアドレ
スされる)がロードされる。
B(N、XL)■A(I) U 、 A(I)L→A(
I)時 間:1クロツクパルス コード: 1101BBBB ORD Aメモリの内容(Iレジスタによってアドレ
スされる)の上方の4ビツトはBメモリの同じ4ビツト
のl−0RJおよび内容(NレジスタおよびBインスト
ラクションビットの連結によってアドレスされる)がロ
ードされる。
B(N、Xt、)UA(I)u、A(I)L−+A(I
)時 間:1クロツクパルス コード:1100BBBB AND Aメモリの内容(Iレジスタによってアドレ
スされる)上方4ビツトはBメそりの同じ4ビツトの「
AND」および内容(Nレジスタおよび■インストラク
ションビットの連結によってアドレスされる)がロード
される。
B (N 、XL)nA(I)U、A(I)L+A(I
)時 間:1クロツクパルス コード: 1110BBBB ■ キャラクタインストラクション INCBメモリの内容(NレジスタとBインストラクシ
ョンビットの連結によってアドレスされる)は増分され
かつその結果はAメモリ(■レジスタによってアドレス
される)に置かれる。
B(N、xL)+1→A(I) 時 間=2クロックパルス コード: 1010BBBBO ADCBメモリの内容(NレジスタとBインストラクシ
ョンビットの連結によってアドレスされる)はAメモリ
(Iレジスタによってアドレスされる)に加算される。
B (N 、 XL ) + A(I)→A(I)時
間:2クロツクパルス コードニ100OBBBO LCA Aメモリの内容(Iレジスタによってアドレ
スされる)はBメモリの内容(NレジスタとBインスト
ラクションビットの連結によってアドレスされる)がロ
ードされる。
B(N、XL)→A(I) 時 間:1クロツクパルス コード:1010BBBI LCB Bメモリの内容(NレジスタとBインストラ
クションビットの連結によってアドレスされる)はAメ
モリの内容(■レジスタによってアドレスされる)がロ
ードされる。
A (I)→B(N、XL) 時 間:1クロツクパルス コード:1000BBBI INA Aメモリの内容(NレジスタとAインストラ
クションビットの連結によってアドレスされる)が増分
される。
A(N、XL)+1→A(N、XL) 時 間:2クロツクパルス コード:00000AAI ■ リテラルインストラクション LDRAメモリの内容(Iレジスタによってアドレスさ
れる)は4ビツト右シフトされかつ上方4ビツトはRイ
ンストラクションビットがロードされる。
Xi、、A(I)U−)A(I) 時 間:1クロツクパルス コード: 0011RRRR ADRAメモリの内容(Iレジスタによってアドレスさ
れる)上方4ビツトは同じ4ビツトおよびRインストラ
クションビットの和がロードされる。
XL+A(■)U、A(■)L−+A(■)時 間:1
クロツクパルス コード:0001RRRR ■ 入出力インストラクション OUT Aメモリの内容(Iレジスタによってアドレ
スされる)およびCインストラクションビットが出力さ
れる。
A(I)→OUT;XL−+OUT 時間二2クロックパルス コード:0111CCCC IN Aメモリの内容(Iレジスタによってアドレス
される)は入力データがロードされる。
Cインストラクションビットは出力される。
I N−+A(I) ; xL−+o U T時 間:
2クロツクパルス コード:0110CCCO 8IOAメモリの内容(Iレジスタによってアドレスさ
れる)は1ビツト右シフトされ第1および第4ビツトは
出力されかつ上方ビットは入力からロードされる。
Cインストラクションビットは出力される。
もしNインストラクションビットが七″0ならば、プロ
上344回繰り返される。
A(I) →0UTPUT;XL→OUT】、4 時 間:1または4クロックパルス コード:011ONCC1 ■ メモリインストラクション RED AおよびBメモリの内容(Nレジスタおよび
Aインストラクションビットの連結によってアドレスさ
れる)はメモリアドレスとして出力される。
Aメそりの内容(■レジスタによってアドレスされる)
はRAMからの入力メモリデータがロードされる。
もしAビットが11ならば上方8アドレスビツトがすべ
てのものによって置換される。
DATACB(N、XL) 、A(N、XL ) )→
A(I)時 間:3クロツクパルス コード:00001AAI WRT AおよびBメモリの内容(Nレジスタおよび
Aインストラクションビットの連結によってアドレスさ
れる)はメモリアドレスとして出力される。
Aメモリの内容(■レジスタによってアドレスされる)
はRAMに対する出力メモリデークとして出力される。
もしAビットが11であるならば上方8アドレスビツト
がすべてのものによって置換される。
ACI)→DATACB(N、XL ) 、A(N、X
L ) )時 間:3クロツクパルス コード:00001AAO TRN Aメモリの内容(Iレジスタによってアドレ
スされる)およびBメモリ(Nレジスタ0,0.1ビツ
トの連結によってアドレスされる)がメモリアドレスと
して出力される。
Aメモリの内容(Iレジスタによってアドレスされる)
はROMからの入力メモリデータがロードされる。
DATA(B(N、xL)、A(I))→A(I)時
間:3クロツクパルス コード:01010011 ■ ジャンプインストラクション JUP PR(ページ)レジスタの内容および次のR
OMバイトがPC(プログラムカウンタ)レジスタにロ
ードされる。
時 間:2クロツクパルス コード:01010000 JUK もしKが■に等しいならば、JJUPJにお
けると同様のことをする。
時 間:2クロツクパルス コード:01010001 JF もしFフラグが1ならばJJUPJと同じこと
をする。
時 間二2クロックパルス コード:01010010 JARもしAインストラクションビットの「ANDJお
よびAメモリの上位4ビツト(■レジスタによってアド
レスされる)がゼロでないならば、「JUP」の場合と
同じことをする。
時 間:2クロツクパルス コード: 0100AAAA JNOもしrNOJが1ならば、rJUPjと同じこと
をする。
時 間:2クロツクパルス コード:01000000 CAL PR(ページ)レジスタおよびPC(プログ
ラムカウンタ)レジスタの内容プラス2がAおよびBメ
モリ(NレジスタおよびAインストラクションビットの
連結によってアドレスされる)にロードされる。
そのときrJUPJと同じことをする。
時 間:2クロツクパルス コード:000000AO RET PR(ページ)レジスタおよびPC(プログ
ラムカウンタ)レジスタにAおよびBメモリの内容(N
レジスタおよびAインストラクションビットの連結によ
ってアドレスされる)をロードする。
時 間:2クロツクパルス コード:000001AO ■ レジスタマニピユレーションインストラクション LPRPR(ページ)レジスタにPインストラクション
ピットをロードする。
もし次のインストラクションがジャンプを実行しないな
らば、ページレジスタはその元の値に戻る。
時 間:1クロツクパルス コード:0O10PPPP LDIII/ジスタにN1 sNoおよび■インストラ
クションビットをロードする。
時 間:1クロツクパルス コード:01011011 OF Fフラグの状態を補数化する。
時 間:1クロツクパルス コード:01010101 STRAメモリ(Iレジスタによってアドレスされる)
をK(キャリー)、Nレジスタおよび■レジスタの内容
でロードする。
時 間=1クロックパルス コード:01010110 LDN NレジスタをNインストラクションビットで
ロードする。
時 間:1クロツクパルス コード:010111NN ADK もし次のインストラクションがADD。
ADRまたはADCならば、K(キャリー)レジスタは
その結果に対して加算される。
もし次のインストラクションがLDR,LDA。
LCA、XOD、ORDまたはANDならば、K(キャ
リー)レジスタは最下位ビットとともにrEXCLUS
IVE ORJである。
もし次のインストラクションがINCまたはINAなら
ば、それはキャリーが1に等しいときのみ増分する。
もし次のインストラクションがJARならば、それは下
位4ビツトをテストする。
もし次のインストラクションがほかのものならば、AD
Kが無視される。
時 間:1クロツクパルス コード:01010111 MOD Aメモリの下位4ピツ)(Iレジスタによっ
てアドレスされる)はその実行前に次のインストラクシ
ョンの下位4ビツトによってOR処理される。
時 間:1クロツクパルス コード:01010100 第10図はユニークなプロセサの各々に割当てられたク
ロックサイクル間の時間的関係を図示する1組の波形で
ある。
各プロセサは4番目毎のクロックタイムにシステムの共
用エレメントに対してアクセスを与えられる。
もし特定のマイクロインストラクションが1以上のクロ
ックタイムまたはサイクルを必要とするならば、そのと
きはそのインストラクションの完了は特定のプロセサが
システムの共用エレメントに対して再ひアクセスを与え
られるまで遅延されなければならない。
この発明のシステムを使用する際、制御論理回路40は
開始アドレスをプログラムカウンタ36(第2図参照)
およびページレジスタに強制する。
ページレジスタがプロセサ0 、1 、2、および3に
対してそれぞれ0 、1 、2、および3にセットされ
る。
プロセサのために書かれたマイクロプログラムがこれら
のロケーションで開始しなければならない。
他のレジスタはプリセットされず、そのためプログラマ
がNレジスタ44、■レジスタ43、および他の必要な
レジスタを始動する必要がある。
Nレジスタ44の値が■レジスタ43のための値の一部
として用いられるので、Nレジスタは最初に始動されな
ければならない。
結語 上述のように、この発明は1個のMO8集積回路チップ
上に実現するためにデザインされたマルチプロセサユニ
ットである。
この目的で、この発明は複数個の異なる組のレジスタを
用い、各組は異なるプロセサとタイムマルチプレクサ態
様で異なる組のレジスタにより共用される共通エレメン
トを表わす。
共用エレメントは2つのスクラッチパッドメモリと演算
論理装置と制御装置を含む。
制御装置はマトリクスデコーダの形をした複合型リード
オンリメモリであってもよくまたはデータ転送または演
算オペレーションを始動するために制御信号がストアさ
れる従来のリードオンリメモリであってもよい。
したがって、この発明はその用語が従来どおり定義され
た水平マイクロプログラミングを用いる。
さらに、制御装置はこの発明の装置の外部のリードオン
リメモリから検索されるエンコードされたマイクロイン
ストラクションのためのデコーダに類似する。
この意味で、この発明はこれらの用語が従来どおり定義
された垂直および水平マイクロプログラミングの組合せ
とともに用いるように適合されている。
各マイクロプロセサに供された8個の特殊目的レジスタ
は4ビツトシフトレジスタから構成され、プロセサ間の
4ウ工イ時間スライシングを可能にする。
このようにして、この発明の装置は独立的で同時的なプ
ロセスを実行することができる。
この発明で実現された1、1個のMO8集積回路チップ
に4個の同時的なマイクロプロセサを有することの利点
の1つは、3個の異なるレベルで、すなわちビルトイン
回路を介して、ローカルスクラッチパッドメモリを介し
て、およびメインメモリを介して、相互に自由な通信を
有することである。
さらに、種々のプロセサをドライブするマイクロプログ
ラムがすべてのプロセサによって共用できる。
上記の説明から、種々の変更または修正が図解された実
施例において可能でありそのような変更はそれにもかか
わらず前記の特許請求の範囲に記載された発明の精神お
よび範囲から逸脱するものでないことが当業者に理解さ
れよう。
この発明について次のような実施態様が可能である。
(1)アドレスおよびインストラクションを含む制御デ
ータの組を一時的にストアするための複数個の組のレジ
スタを備え、各組の制御データは異なるプロセスを制御
するためのものであり、データを一時的にストアするた
めの第2の複数個のレジスタと、 前記複数個の組のレジスタの各々lこ接続される制御装
置と、 前記複数個の組のレジスタおよび前記制御装置に結合さ
れ、前記制御装置および前記第2の組のレジスタに転送
するために各組の制御データを順に選択するタイミング
手段とを備えるデータプロセシングシステム。
(2)前記レジスタのあるものは前記制御データの組を
順次的態様で転送するために共に結合された、実施態様
筒(1)項記載のデータプロセシングシステム。
(3)前記結合されたレジスタが並列に結合された複数
個の順次的シフトレジスタから構成される、実施態様筒
(2)項記載のデータプロセシングシステム。
(4)各々が異なるプロセスによってプロセスされるべ
きデータの組を一時的にストアするための複数個のレジ
スタと、 前記レジスタの少なくとも1つに接続される論理装置と
、 前記論理装置に結合されインストラクションのデコーデ
ィングによって前記論理装置を駆動するための制御装置
と、 前記レジスタと前記論理装置とに結合され、前記論理装
置へ転送するために各組のデータを順に選択するアドレ
ス手段を備えるデータプロセシングシステム。
(5)前記制御装置は水平マイクロインストラクション
の形で制御信号をストアする制御メモリをSむ、実施態
様筒(4)項記載のデータプロセシングシステム。
(6)前記制御メモリがリードオンリメモリである、実
施態様筒(5)項記載のデータプロセシングシステム。
(7)前記制御メモリが半導体素子マトリクスを含むむ
、前記実施態様筒(5)項記載のデータプロセシングシ
ステム。
(8)前記制御メモリに結合され、前記制御メモリをア
ドレスするために垂直マイクロインストラクションをス
トアする第2のメモリをさらに含む、前記実施態様筒(
5)項記載のデータプロセシングシステム。
(9)前記レジスタに結合され、前記システムによって
プロセスされるべきデータをストアする第3のメモリを
含む、前記実施態様筒(8)項記載のデータプロセシン
グシステム。
α0)前記第2のメモリはリードオンリメモリでありか
つ前記第1のメモリはランダムアクセスメモリである。
前記実施態様筒(9)項記載のデータプロセシングシス
テム。
αυ半導体チップを備え、前記チップは 各々が異なるプロセスによってプロセスされるべきデー
タの組を一時的にストアするための複数個のレジスタと
、 前記レジスタの少なくとも1つに接続された論理装置と
、 前記レジスタおよび前記論理装置に接続され前記論理装
置へ転送するために各データの組を順次的に選択するた
めのアドレス手段を備えるデータプロセシングシステム
(12) 前記半導体チップはさらに、前記論理装置
と前記レジスタとに結合されかつ水平マイクロインスト
ラクションの形で制御信号をストアする制御メモリをさ
らに含む、前記態様第0υ項記載のデータプロセシング
システム。
(13)前記レジスタのあるものは順次的態様で前記デ
ータの組を転送するために一時的に結合された、前記実
施態様第0υ項記載のデータプロセシングシステム。
04)前記結合されたレジスタは並列に結合された複数
個の順次的シフトレジスタから構成される、実施態様第
03)項記載のデータプロセシングシステム。
(15)前記半導体チップはMO8素子である、前記実
施態様第00項記載のデータプロセシングシステム。
(16)前記レジスタはユニポーラ電界効果トランジス
タから構成される、前記実施態様第01)項記載のデー
タプロセシングシステム。
同 複数個の組のレジスタと、 第2の複数個のレジスタと、 論理装置と制御装置とを有するデータプロセシングシス
テムにおける方法であって、 アドレスおよびインストラクションを含む制御データを
前記複数個の組のレジスタにストアし、各前記組の制御
データは異なるプロセスを制御するためのものであり、 データの組を前記第2の複数個のレジスタにストアし、 前記制御装置および前記複数個の組のレジスタに転送す
るために制御データの各組を順次的に択し、 前記複数個のレジスタから前記論理装置へ転送するため
に各組のデータを順次的に選択することを特徴とするデ
ータプロセシング方法。
α8)前記制御装置および前記周辺への転送の前にある
レジスタから他のレジスタへ順次的に制御データの各組
を転送するステップをさらに含む、前記実施態様第(1
7)項記載のデータプロセシング方法。
(19) あるレジスタから他のレジスタへの前記順
次的な転送のステップは、あるレジスタのビット位置か
ら他のレジスタの対応するビット位置へ各データの組の
個別的なビットをシフトするステップを含む、前記実施
態様第08)項記載のデータプロセシング方法。
【図面の簡単な説明】
第1図はこの発明の4個のマルチプロセシング装置を用
いるシステムを表わすものである。 第2図はこの発明のマルチプロセシング装置のユニット
の機能的図解である。 第3図はこの発明のマルチプロセシングユニットに接続
されるインタフェイスの略図解である。 第4図は第4A図および第4B図の関係を示す。 第4A図および第4B図はこの発明の回路のより詳細な
略図解である。 第5A図、第5B図、および第5C図はそれぞれAおよ
びBスクラッチパッドメモリの構成を図示する第6図は
この発明の演算論理装置の略図解である。 第7図はこの発明で用いられる1組のシフトレジスタの
略図解である。 第8図はこの発明で用いられる種々のマイクロインスト
ラクションによって達成される機能を図解する表を示す
。 第9図はこの発明の制御装置の略図解である。 第10図はこの発明の種々のプロセサの間の共通エレメ
ントのタイムマルチプレキシングを図解する1組の波形
である。 図において、11はマルチプロセシングユニット(MP
U)、12はリードオンリメモリ(ROM)、13はラ
ンダムアクセスメモリ(RAM)、31はBスクラッチ
パッドメモリ、32はAスクラッチパッドメモリ、33
は演算論理装置(ALU)、40は制御論理回路、41
はFレジスタ、35はXレジスタ、36はマイクロプロ
グラムカウンタ(pc)レジスタ、37はページ(PR
)レジスタ、38はプリページ(PPR)レジスタ、4
3は■レジスタ、44はNレジスタ、34はにレジスタ
、42はYレジスタ、20はデータ母線、21はアドレ
ス母線である。

Claims (1)

  1. 【特許請求の範囲】 1 複数個の同時処理を行なうためのデータプロセシン
    グシステムであって、 異なるプロセスを実行する複数組のエンコードされたマ
    イクロインストラクションをストアするための第1のメ
    モリと、 前記異なるプロセスに対応する異なる組のデータを一時
    的にストアすための第1複数組のレジスタと、 前記データについて論理演算を行なうための論理装置と
    を備え、前記論理装置は前記第1複数組のレジスタへ結
    合されてそこからデータを受け、制御信号の組がアンパ
    ックされたマイクロインストラクションの態様でストア
    される制御メモリを含む制御装置をさらに備え、前記制
    御メモリは、前記第1のメモリへ接続されてそこからエ
    ンコードされたマイクロインストラクションを受け、か
    つ前記第1複数組のレジスタおよび前記論理装置へ接続
    されて、エンコードされたマイクロインストラクション
    のデコーディングに応答して前記組の制御信号をそこへ
    与え、 前記第1のメモリに結合されるアドレス手段をさらに備
    え、前記アドレス手段は第2複数個のレジスタを備え、
    マイクロインストラクションアドレスをストアして逐次
    的順序で、前記第1メモリから、前記制御ユニットへの
    転送のため各組のエンコードされたマイクロインストラ
    クションから1個のエンコードされたマイクロインスト
    ラクションを選択して、アンパックされたマイクロイン
    ストラクションの態様で制御信号の組を取り出しかつ前
    記逐次的順序で前記異なる組のデータについて行なわれ
    るべき論理演算を開始させ、各組のデータは前記組の制
    御信号に応答して前記第1複数組のレジスタから取り出
    される、データプロセシングシステム。 2 複数個の同時プロセスを実行するためのデータプロ
    セシングシステムであって、 異なるプロセスを実行するための複数組のエンコードさ
    れたマイクロインストラクションをストアするための第
    1のメモリと、 半導体チップとを備え、前記チップは、 異なるプロセスによって処理されるべき複数組のデータ
    を一時的にストアするための第1複数組のレジスタと、 前記第1複数組のレジスタへ結合されてデータを受けか
    つそれについて論理演算を行なうための論理装置と、 制御信号の組がアンパックされたマイクロインストラク
    ションの態様でストアされる制御メモリを含む制御装置
    とを備え、前記制御メモリは前記第1のメモリへ接続さ
    れてそこからエンコードされたマイクロインストラクシ
    ョンを受けかつ前記第1複数組のレジスタおよび前記論
    理装置へ接続されて、エンコードされたマイクロ命令の
    デコーディングに応答して前記組の制御信号をそこへ与
    /L% 前記第1メモリに結合されるアドレス手段をさらに備え
    、前記アドレス手段は第2複数個のレジスタを含み、マ
    イクロインストラクションアドレスをストアして逐次的
    順序で前記第1のメモリから、前記制御ユニットへ転送
    するためエンコードVされたマイクロインストラクショ
    ンの各組から1個のエンコードされたマイクロインスト
    ラクションを選択してアンパックされたマイクロインス
    トラクションの態様で制御信号の組を取り出しかつ前記
    論理装置を付勢して前記逐次的順序に従って前記データ
    について論理演算を受けかつ論理演算を行い、データの
    各組は前記制御信号の組に応答して前記第1複数組のレ
    ジスタから取り出される、データプロセシングシステム
JP50119333A 1974-11-26 1975-09-30 デ−タプロセシングシステム Expired JPS5858705B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/527,358 US3980992A (en) 1974-11-26 1974-11-26 Multi-microprocessing unit on a single semiconductor chip

Publications (2)

Publication Number Publication Date
JPS5162953A JPS5162953A (ja) 1976-05-31
JPS5858705B2 true JPS5858705B2 (ja) 1983-12-27

Family

ID=24101148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50119333A Expired JPS5858705B2 (ja) 1974-11-26 1975-09-30 デ−タプロセシングシステム

Country Status (7)

Country Link
US (1) US3980992A (ja)
JP (1) JPS5858705B2 (ja)
BE (1) BE834070A (ja)
CA (1) CA1045247A (ja)
DE (1) DE2540975C2 (ja)
FR (1) FR2293009A1 (ja)
GB (1) GB1498145A (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371923A (en) * 1970-12-28 1983-02-01 Hyatt Gilbert P Computer system architecture
US4296930A (en) * 1975-11-26 1981-10-27 Bally Manufacturing Corporation TV Game apparatus
US4093982A (en) * 1976-05-03 1978-06-06 International Business Machines Corporation Microprocessor system
US4104720A (en) * 1976-11-29 1978-08-01 Data General Corporation CPU/Parallel processor interface with microcode extension
US4079455A (en) * 1976-12-13 1978-03-14 Rca Corporation Microprocessor architecture
US4174536A (en) * 1977-01-21 1979-11-13 Massachusetts Institute Of Technology Digital communications controller with firmware control
JPS53132245A (en) * 1977-04-25 1978-11-17 Hitachi Ltd Subminiature computer
US4199811A (en) * 1977-09-02 1980-04-22 Sperry Corporation Microprogrammable computer utilizing concurrently operating processors
US4475172A (en) * 1978-05-30 1984-10-02 Bally Manufacturing Corporation Audio/visual home computer and game apparatus
US4197579A (en) * 1978-06-06 1980-04-08 Xebec Systems Incorporated Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner
US4218741A (en) * 1978-06-23 1980-08-19 International Business Machines Corporation Paging mechanism
US4446533A (en) * 1978-09-07 1984-05-01 National Research Development Corporation Stored program digital data processor
US4244028A (en) * 1979-03-08 1981-01-06 National Semiconductor Corporation Digital microprocessor having a time-shared adder
US4471456A (en) * 1980-04-14 1984-09-11 Sperry Corporation Multifunction network
US4383296A (en) * 1980-05-16 1983-05-10 Apple Computer, Inc. Computer with a memory system for remapping a memory having two memory output buses for high resolution display with scrolling of the displayed characters
JPS57753A (en) * 1980-06-02 1982-01-05 Hitachi Ltd Microprogram controller
GB2077010B (en) * 1980-06-02 1984-10-31 Hitachi Ltd Microprogramme control method and apparatus therefor
US4446514A (en) * 1980-12-17 1984-05-01 Texas Instruments Incorporated Multiple register digital processor system with shared and independent input and output interface
DE3176869D1 (en) * 1980-12-15 1988-10-13 Texas Instruments Inc Multiple digital processor system
US4630193A (en) * 1981-04-27 1986-12-16 Textron, Inc. Time multiplexed processor bus
US4450525A (en) * 1981-12-07 1984-05-22 Ibm Corporation Control unit for a functional processor
JPS58207152A (ja) * 1982-05-28 1983-12-02 Nec Corp パイプライン演算装置テスト方式
US6414368B1 (en) 1982-11-26 2002-07-02 Stmicroelectronics Limited Microcomputer with high density RAM on single chip
US4680698A (en) * 1982-11-26 1987-07-14 Inmos Limited High density ROM in separate isolation well on single with chip
US5243698A (en) * 1982-11-26 1993-09-07 Inmos Limited Microcomputer
JPS59223875A (ja) * 1983-06-01 1984-12-15 Nec Corp 衛星搭載用デ−タ・ハンドリング・システム
US4766533A (en) * 1984-03-09 1988-08-23 The United States Of America As Represented By The United States National Aeronautics And Space Administration Nanosequencer digital logic controller
US4761755A (en) * 1984-07-11 1988-08-02 Prime Computer, Inc. Data processing system and method having an improved arithmetic unit
JPS61110256A (ja) * 1984-11-02 1986-05-28 Hitachi Ltd 複数の演算部を有するプロセツサ
CA1253912A (en) * 1984-11-08 1989-05-09 Masao Hosaka System for controlling image formation
AU588865B2 (en) * 1985-04-11 1989-09-28 Honeywell Information Systems Inc. Multiprocessors on a single semiconductor chip
JPS61264470A (ja) * 1985-05-03 1986-11-22 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド モノリシツク集積回路装置
JP2564805B2 (ja) * 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
JPS62295168A (ja) * 1986-06-13 1987-12-22 Canon Inc 機器制御装置
US4829422A (en) * 1987-04-02 1989-05-09 Stellar Computer, Inc. Control of multiple processors executing in parallel regions
US5142677A (en) * 1989-05-04 1992-08-25 Texas Instruments Incorporated Context switching devices, systems and methods
US4939638A (en) * 1988-02-23 1990-07-03 Stellar Computer Inc. Time sliced vector processing
US5499376A (en) * 1993-12-06 1996-03-12 Cpu Technology, Inc. High speed mask and logical combination operations for parallel processor units
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US5974498A (en) * 1996-09-24 1999-10-26 Texas Instruments Incorporated Loading page register with page value in branch instruction for as fast access to memory extension as in-page access
US6150836A (en) * 1997-06-13 2000-11-21 Malleable Technologies, Inc. Multilevel logic field programmable device
US6006321A (en) 1997-06-13 1999-12-21 Malleable Technologies, Inc. Programmable logic datapath that may be used in a field programmable device
US6105051A (en) * 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6076157A (en) * 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6697935B1 (en) 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6212544B1 (en) 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
DE19910451C2 (de) * 1998-05-02 2003-08-14 Ibm Multiprozessor
US6577316B2 (en) 1998-07-17 2003-06-10 3Dlabs, Inc., Ltd Wide instruction word graphics processor
US6438569B1 (en) 1999-09-20 2002-08-20 Pmc-Sierra, Inc. Sums of production datapath
US20060161755A1 (en) * 2005-01-20 2006-07-20 Toshiba America Electronic Components Systems and methods for evaluation and re-allocation of local memory space

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE634161A (ja) * 1962-07-03
GB1215216A (en) * 1968-05-17 1970-12-09 Venner Ltd Improvements relating to integrated circuit chips
US3601629A (en) * 1970-02-06 1971-08-24 Westinghouse Electric Corp Bidirectional data line driver circuit for a mosfet memory
US3758761A (en) * 1971-08-17 1973-09-11 Texas Instruments Inc Self-interconnecting/self-repairable electronic systems on a slice
US3757306A (en) * 1971-08-31 1973-09-04 Texas Instruments Inc Computing systems cpu
US3786436A (en) * 1973-03-14 1974-01-15 Gte Automatic Electric Lab Inc Memory expansion arrangement in a central processor

Also Published As

Publication number Publication date
DE2540975C2 (de) 1985-09-12
FR2293009B1 (ja) 1980-07-18
FR2293009A1 (fr) 1976-06-25
US3980992A (en) 1976-09-14
JPS5162953A (ja) 1976-05-31
CA1045247A (en) 1978-12-26
GB1498145A (en) 1978-01-18
BE834070A (fr) 1976-02-02
DE2540975A1 (de) 1976-08-12

Similar Documents

Publication Publication Date Title
JPS5858705B2 (ja) デ−タプロセシングシステム
US3725868A (en) Small reconfigurable processor for a variety of data processing applications
US4307445A (en) Microprogrammed control apparatus having a two-level control store for data processor
EP0138419B1 (en) Central processing unit for a digital computer
US4403284A (en) Microprocessor which detects leading 1 bit of instruction to obtain microcode entry point address
US3909797A (en) Data processing system utilizing control store unit and push down stack for nested subroutines
US4402042A (en) Microprocessor system with instruction pre-fetch
US4225934A (en) Multifunctional arithmetic and logic unit in semiconductor integrated circuit
CA1036713A (en) Peripheral interrupt priority resolution in a micro program data processor having plural levels of subinstruction sets
US4124893A (en) Microword address branching bit arrangement
GB1585284A (en) Cpu/parallel processor interface with microcode extension
US4346437A (en) Microcomputer using a double opcode instruction
US4422143A (en) Microprocessor ALU with absolute value function
US4251862A (en) Control store organization in a microprogrammed data processing system
JPS59121546A (ja) マイクロワ−ド制御システム
US4402043A (en) Microprocessor with compressed control ROM
EP0035334B1 (en) Data processing system with two level microprogramming
JPH0124655Y2 (ja)
US3962683A (en) CPU programmable control system
US4472772A (en) High speed microinstruction execution apparatus
GB2046963A (en) A control memory
US4128872A (en) High speed data shifter array
US5034879A (en) Programmable data path width in a programmable unit having plural levels of subinstruction sets
JPS59116855A (ja) 制御メモリ機構
US4604684A (en) Digital computer having unique instruction decoding logic