JPS59133650A - マイクロコンピユ−タおよびマイクロコンピユ−タのネツトワ−クならびにこれらを動作させる方法 - Google Patents

マイクロコンピユ−タおよびマイクロコンピユ−タのネツトワ−クならびにこれらを動作させる方法

Info

Publication number
JPS59133650A
JPS59133650A JP58221455A JP22145583A JPS59133650A JP S59133650 A JPS59133650 A JP S59133650A JP 58221455 A JP58221455 A JP 58221455A JP 22145583 A JP22145583 A JP 22145583A JP S59133650 A JPS59133650 A JP S59133650A
Authority
JP
Japan
Prior art keywords
microcomputer
processor
register
work area
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP58221455A
Other languages
English (en)
Other versions
JP2502960B2 (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.)
Inmos Ltd
Original Assignee
Inmos Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=10534539&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPS59133650(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Inmos Ltd filed Critical Inmos Ltd
Publication of JPS59133650A publication Critical patent/JPS59133650A/ja
Application granted granted Critical
Publication of JP2502960B2 publication Critical patent/JP2502960B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/786Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using a single memory module
    • 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
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Element Separation (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、マイクロコンピュータを含むコンピュータに
関するものである。
マイクロコンピュータは一般にプロセスとメモリを備え
、内蔵されているプログラムから得られる一連の命令に
従、って動作できる。命令には1組の選択可能な機能か
ら選択されたいわゆる「機能」が含まれ、その命令に応
答してプロセッサにより実行される動作を定める。プロ
セッサは種々のプロセスの間でメツセージを通信したい
ことがある。同じマイクロコンピータータのプロセスの
間および種々のマイクロコンピュータの間で迅速かつ満
足できる通信を行うのにこれまでは困難が生じていた。
更に、プロセ゛ッサがそれの時間を複数の並行プロセス
の間に分割使用できるようにプロ七3のスケジューリン
グと脱スケジューリングにおいて困難が生ずる。
本発明の目的は、プロセッサがそれの時間を複数の並行
プロセスの間で分割使用できるようにする改良したマイ
クロコンピュータを得ることである。
本発明の他の目的は、並行プロセスの間で効果的な時分
割を行うために、要求があるとプロセッサがプロセスを
スケジュールに組み、またはスケジュールから外すこと
ができる改良したマイクロコンピュータを得ることであ
る。
本発明の更に他の目的は1種々のプロセスの間でのメツ
セージ同期化とともに効果的なプロセス・スケジューリ
ングが行われるような改良したマイクロコンピュータを
得ることである。
本発明の別の目的は、同じマイクロコンピュータにより
実行される並行プロセスの間でそのようなメモリ同期化
を行える改良したマイクロコンピュータを得ることであ
る。
本発明は、複数のプログラム・ステップに従って複数の
並行プロセスを実行するように構成されたプロセッサと
メモリをイ萌え、前ご己プログラム・ステップはプロセ
ッサにより逐次実行するための複数の命令より成り、各
命令はプロセッサにより実行することを求められる機能
を指定する1組の機能ビットを含むマイクロコンピュー
タにおいて。
(a)前記プロセッサは、(1)複数のレジスタと、そ
れらのレジスタとの間でデータの転送を行うために用い
るためのデータ転送器と、 (H)各命令を受け、その
命令に関連する値をプロセッサ・レジスタの1つにロー
ドするための手段と、 0il)前記データ転送器と前
記レジスタを制御し、前記機能ビットに応答してプロセ
ッサを前記機能ビットに従って動作させるための制御器
と、を備え、(b)マイクロコンピュータはスケジュー
リング手段を含み、このスケジューリング手段は、、(
1)プロセッサにより現在実行されているプロセスを示
すための手段と。
(11)プロセッサによる実行を待つコレクションを形
成する1つまたはそれ以上のプロセスを識別するだめの
手段と、 (fit)前記コレクションに1つまたはそ
れ以上の別のプロセスを加えるための手段と、OV)プ
ロセッサにより実行すべきコレクションの次のプロセス
を指示するための次のプロセッサ指示器と、M各並行プ
ロセスのためのプログラム・ステージ指示器と、を備え
、(C)プロセッサは選択された命令に応答してプロセ
ッサによる前記現在のプロセスの実行を終らせ、かつ、
前記次のプロセス指示器に応答して指示されたプロセス
を現在のプロセスにし、それによりプロセッサはそれの
処理時間を複数の現在のプロセスのm]で共用するよう
に動作させられる舎セ千マイクロコンピュータを提供す
るものである。
なるべくなら、前記メモリは関連する変数を記録するた
めの場所を含む複数のアドレス可能な場所を有する作業
域をプロセッサに与え、前記プロセッサ・レジスタの1
つは現在のプロセッサの作業域のアドレスを識別する作
業域ポインタ値を保持するように構成する。前記プロセ
ッサは命令に応答して、前記1つのプロセッサレジスフ
内の作業域ポインタ値を前記コレクション内の別のプロ
セスの作業域ポインタ値で置き換えることにより現在の
プロセスの実行を終らせるように構成できる。
なるべくなら、各プロセスの作業域をよ、プロセスが前
記現在のプロセスの次になった時に、そのプロセスのた
めのプログラム・ステージを指示するための指示器を含
むことができるようにする。
本発明は、複数のプログラム・ステップに従って複数の
並行プロセスを実行するように構成されたプロセッサと
メモリを備え、前記プログラム・ステップはプロセッサ
により逐次実行するための複数の命令より成り、各命令
はプロセッサにより実行することを求められる機能を指
定する1組の機能ビットを含むマイクロコンピュータに
おいて。
(a)前記プロセッサは、(I)複数のレジスタと、そ
れらのレジスタとの間でデ・−夕の転送を行うために用
いるためのデータ転送器と、(+1)各命令を受け、そ
の命令に関連する値をプロセッサ・レジスタの1つにロ
ードするための手段と、 (iiD前記データ転送器と
AiJ記レジスタを制■し、前記機能ビットに応答して
プロセッサを前記機能ビットに従って動作させるための
制御器と、を備え、(b)マイクロコンビュータレよス
ケジューリング手段を含み、このスケジューリング手段
は(1)プロセッサにより実行されることを待っている
プロセスのリンク・リストを形成するための手段と、(
11)プロセッサにより現在実行されている現在のプロ
セスを指示するための手段と、 (iii)実行を待っ
ているプロセスのリスト上の最(lのプロセスを指示す
るための手段と、をイIIIIえ、(c)MiJ記メ子
メモリa数のアドレス可能な場所を有する作業域を各プ
ロセスへ与え、前記各作業域は、(1)プロセスに関連
する変数を記録するためのメモ’)jlJF9iと、 
(11)プロセスのためのプログラム・ステージ指示器
と、(iil)プロセスが前記リスト上にある時にリス
ト上の次のプロセスを指示するために使用する次のプロ
セス指示器と、を与え、(d)プロセッサは選択された
命令に応答して。
プロセッサによる前記現在のプロセスの実行を停止させ
、かつリスト上の次のプロセスを現在のプロセスにし、
更に、求められた時に別のプロセスをリストの末尾に加
え、それによりそれの処理時間を複数の並行プロセスの
間で4ヒ用さ緒るためにプロセッサが動作させられるマ
イクロコンピュータを提供するものである。
本発明は相互+v:Hされたマイクロコンピュータのネ
ットワークも提供するものである。
なるべくなら、各マイクロコンピュータは通信リンクを
有し、それらの通信リンクはネットワーク内の別のマイ
クロコンピュータに、相互に接続された2台のマイクロ
コンピュータの出]でメモリ送信だけのために用いられ
るF f、Y部より接続され、各マイクロコンピュータ
のプロセッサはマイクロコンピュータの間のメツセージ
同期を行い、かつ現在のプロセスの実行を絡らせ、更に
行われ同期化に従って別のプロセスを前記コレクシコン
に加えるように構成するとよい。
本発明は、プロセッサにより実行されることを待ってい
るプロセスが識別され、か一つプロセッサによる実行と
、その実行の終りによりコレクションに加えられ、また
はそれから除去され、それによりプロセッサはそれの時
間を複数の並行プロセスの間で分割使用するマイクロコ
ンピュータを動作させる方法も提供するものである。
本発明は、各マイクロコンピュータが相互に接続されて
いるマイクロコンピュータのプロセスの間でメモリ同期
を行い、かつ前記同期化に従って各マイクロコンピュー
タのプロセスのスケジュールを組み、スケジュールから
外すように構成されることを特徴とする相互に接続され
たマイクロコンピュータのネットワークを動作させる方
法も提供するものである。
マイクロコンピュータという用語は、一般に集積回路装
置をベースとする小型コンピュータを指すものであるが
、そのコンピュータがどれだけ小型であるかについての
限界は′ないことがわかるであろう。
この明細書で説明するマイクロコンピュータはTr卸5
puter (インモス・インターナ7ヨナル(Inm
os Internationa! ) plcの商標
)の例であって、このTransputerはプロセッ
サとメモリ、および外部との通信を行うためのリンクを
含む1つのクリコンチップを備えている。このマイクロ
コンピュータは複数の処理を並行して実行できるととも
に、スケジューリングと、同じチップ上のプロセスの間
または異なるチップ上のプロセスの間の通信を行うこと
ができる。各′マイクロコンピュータはプロセッサが設
けられているチップと四じチップ上に、プログラム可能
なRAMの形のにノ々イトeメモリを少なくとも1つ有
し、プロセッサはチップのメモリ中のプログラムに従う
ことができる。このマイクロコンピュータは複数の通信
リンク、ここでは直列リンクと呼ぶ、を有する。この直
列リンクにより、相互に接続されているマイクロコンピ
ュータのネットワークにマイクロコンピュータを接続し
て、任意の1台のマイクロコンピュータをネットワーク
のためのビルティング・ブロックとして使用できるよう
にすることができる。任意の2台のマイクロコンピュー
タのfitlの通信は五本fたは2本の特定のビンの間
の接続を行う直列リンクにより行われる。各接続により
ただ2台のマイクロコンピュータが相互に接続される。
各リンクは他のマイクロコンピュータまたはどの外部メ
モリとも共用されない。このマイクロコンピュータには
、ネットワーク内のマイクロコンピュータの間のデータ
伝送において同期をとるための手段が設けられ、2台の
マイクロコンピュータの間のリンクを介する通信を受信
マイクロコンピュータまたは送信マイクロコンピュータ
により開始でさるようにする。
このマイクロコンピュータは、それぞれ2つの部分より
成る:?!j数の順次命令を有するプログラムを含む。
1つの部分は命令の機能を表し、他の部分はオペランド
・レジスタにロードされルテータを表す。このようにし
て、各命令の機能部分のビット長は、プロセッサの語長
とは無関係に同じであり、また、プロセッサの語長とは
無関係に機能のフォーマットと機能ビット長の一様性が
達成される。このマイクロコンピュータの別のル”要な
特徴は、それの動作が簡単で効率的な機能セットな剛い
て行われることである。その機能セットは最少数のオペ
ランド・レジスタより成る。その機能セットは、オペラ
ンド・レジスタの内容を基にしてプロセッサな動作させ
る直接機能を含む。好適な構成においては、マイクロコ
ンピュータは1つの間接4夕症と2つのプレフィクシン
グ機能も含む。
j…接、機能を用いることにより、データレジスタの数
を増加させず、かつデータレジスタを大型にすることな
しに、オペレーションを実行するために多数のプロセッ
サ・オペレーションを使用できる。
史に、プレフイクソング機能を用いることにより可変長
オペランドが得られる。
この例のマイクロコンピュータを使用することにより、
いくつかのマイクロコンピュータを相互に結合すること
によって求められている任意のマイクロコンピュータを
形成でき、そのようにして形成されたネットワークは任
意の1台のマイクロコンピュータと同様に動作する。
以下、図面を参照して本発明の詳細な説明する。
構造についての全体的な説明 本発明のマイクロコンピュータの主な快素が、p形井戸
相補MO8技術を用いて1枚のシリコンチップ11の上
に形成されている様子が第1図にボされている。これに
ついては第17図を参照して後で詳しく説明する。チッ
プ上の部品は第1図に長方形で示されているが、それら
の長方形は部品の相対的な寸法と位置を示すものではな
いことがわかるであろう。チップ上には中央処理装置(
CPU) 12が設けられる。このCPU 12は読出
し専用メモリ(ROM) 13を含む。CPU 12は
メモリ・インタフェイス14を含む。このメモリ・イン
タフェイス14はインタフェイス制御ログ。ツク15に
より制菌される。
CPU 12は演算論理ユニット(ALU)と、レジス
タと、データ略とを含む。これについては第3図を参照
して説明する。cptr 12とメモリ・インタフェイ
ス14 ハ/”ス16に接続される。このノ々ス16は
チッフLI上の要素を相互に接続する。サービス装置1
7に複数の入力ビンI8が設けられる。入力ビン18に
は零■電のビンと、5V電源ビンと、マイクロコンピュ
ータを定められた状轢にリセットするためのリセットビ
ンと、クロックビンあとが含まれる。このマイクロコン
ピュータには十分な数のメモリがチップ1]上に設げら
れる。それらのメモリはランダム・アクセス・メモリ(
RAM) 19とROM20により表さ九ている。チッ
プに股ゆるメモリの数はIKノ々イト以下であってはな
らない。というのは、外部メモリを使用することなしに
プロセッサ12を動作させることができるのに十分なメ
モリ容嘘を8豊とするからである。チップ上のメモリの
容陵はなるべく少くとも4にノ々イトにする。チップ上
のRAMとROMの間の区分は、マイクロコンピュータ
に対する特定の要求に適合するように選択できる。
このメモリは冗長領域21も含む(この冗長領域は米1
]特許第4346459号明a1@、米国’lF出願!
194613号または英国特許出願第8231055号
に開示されているようなもので構成できる)。この冗艮
領砿21は、メモリ19または笈の欠陥のある領域の代
りに用いるために、図示のようにヒユーズにより選択的
に接続できる列と行を有し、それにより満足に使用され
るチップの歩留りを高くする。このマイクロコンピュー
タの動作にはビン公からのクロックパルスに応答するタ
イミングtIil Inが含まれる。外部メモリ・イン
タフェイス器が設げられる。この外部メモリ・インタフ
ェイス田はビン別を介して外部メ七り(図示せず)に接
続される。ネットワークを形成するようにマイクロコン
ピュータを他の類似のマイクロコンピュータへ結合でき
るようにするために、個数の(図示の列では4)直列リ
ンク5が設けられる。’?!rm列リンク部す又カビン
あと出力ビンγを有する。各ビンは、別のマイクロコン
ピュータの対応する出力ビンと入力ビンに対する単一の
ビン−ビン接続を形成するために使用できる。各直列リ
ンクはプロセス・スケジューリング・ロジックを構成す
る同期¥A埋ユニット10に接続される。図には4つの
直列リンク5が示されているが、1つのネットワークを
形成するために3つのリンクまたは2つのリンクを使用
できる。ただし、できれば少くとも6つ、たとえば7つ
のリンクを用いるようにする。それらのリンクは希望す
る任意のアレイで完全に相互接続できるように設げられ
る。
第2図はマイクロコンピュータのl/x (つかの要素
7詳しく示すもので、とくにチップ上におけるメモリの
使用を示すものである。このマイクロコンピュータは同
じチップ上で複数のプロセスを並行して実行するために
使用でき、第2図には3つの並行プロセスのオペレーシ
ョンが示されている。
メモリはプログラム(資)を格納するために使用される
。そのプログラム例はROM2Qf:たはRAM 19
4C格納できる。ここで説明している例では、マイクロ
コンピュータは16ビツト語のデノセイスであるが、他
の語長も使用できる。プログラム例は一連の命令で構成
される。ここで説明している「1]では’i!r命令の
*さは8ビツトで、プロセッサの語長が16ビツト以外
のものであっても、この命令の語長は変らない。各命令
のフォーマットは第5図に示すようなものであって、上
位の4ビツトは命令の機能を表し、下位4ビツトはデー
タを表す。プログラム(資)は各命令の指定された部分
に保持されるもの以外のデータは含まない。プロセッサ
が各機5セに応答するやり方と、データを叡り扱うやり
方は機能セットから遺択されたある特定の機能に依存す
るが、各命令の機能部とデータ部のフォーマットは常に
興じである。メモリはデータ31も格納する。
そのデータ31はROM2flJ梵たはRAM19に格
納できる。
このマイクロコンぎユータはいくつかのプロセスを時分
割式にいっしょに実行する。いっしょに実行されるプロ
セスは並行プロセスと呼ばれる。
任意の時刻にはマイクロコンピュータによりただ1つの
プロセスが実際に実行される。このプロセスは並行プロ
セスと呼ばれる。マイクロコンピュータにより実行され
る各並行ゾロセスは、プロセスにより取り扱われるロー
カル変数と一時的な値を保持するための作業域と呼ばれ
るメモリの領域を使用する。各作業域の第1のローカル
変数のアドレスは作業域ポインタ(WPTR)により示
される。
同様に、各並行プロセスに対して、特定のプロセXK関
連するプログラム中の一連の命令からの欠に実行すべき
命令を指示するために命令ポインタ(IPTR)が用い
られる。第2図におVムて、プロセスlに対する作業域
が参照番号32でボされ、プロセス2.3に対する対応
する作業域が参照番号お。
罰で示されている。各作業w、は複数のアドレス可能な
語場所より成り、実行を待ってVするプロセスの表土で
次に実行するプロセスの作業域ポインタ(WPTR)を
格納するために冬作集成の1つの諸場所が甲いられる。
このようにして、実行すべきプロセスのための一連の作
業域に対するポインタを含むメモリ内に結合されたリス
トが形成される。
プロセッサがプロセスlで動作しており(第2図参照)
、しばらくの間そのプロセスの実行を停止することを指
令される点にメしたとすると%CPU12は矢のプロセ
スたとえばプロセス2での動作を開始する。そのプロセ
ッサは、メモリ内の場所ありI−おける作業域ポインタ
を読出てことにより、前記次のプロセスへ導かれる。好
適な実施列においては、任意のプロセスのための作業域
ポインタと、結合されているリスト上の次のプロセスの
作業域ポインタのアドレスとの間に既知の関係があるか
ら、結合されているリストの次の部分は現在のプロセス
の作業域から容易に得ることができる。各プロセス作業
域に対して、別の詔賽所あがそのプロセスのための命令
ポインタ(IPTR)を格納する。
第2図には3つのプロセスだけのための作業域が示され
ているが、並行して実行するプロセスの数に応じて作業
域の数を変えることがわかるであろう。
同じマイクロコンピュータにより異なるプロセスの間の
通信を行えるようにするために、メモリのシ一部19に
仮数の通信チャネル40 、41 、42 、43が設
けられる。この例では各通信チャふルはメモリ内の2つ
の@場所より成り、1つのml場所は通信チャネルを使
用することを希望するプロセスを識別するために用いら
れ、他の1つの語場所がチャネルを介して通信すべきデ
ータを保持するために用いられる。それらのチャネルの
動作については第9a〜9e図を参照して説明する。第
2図は1つの直列リンク部の構成も詳しく示すものであ
る。
図示のように、リンクあは2つのチャネル45 、46
を含み、各チャネルは一方向通信チャネルを構成する。
この場合にはチャネル45は入カチャ木ルとして用いら
れ、チャネル46は出力チャネルとして用いられる。各
チャネルは、各チャネル40−43の2語tA所に類似
するやり方でアドレスできる2つのレジスタより成る。
それら2つのレジスタは、通信に含まれるプロセスを示
すために用いられるプロセス・レジスタ47と、送るべ
きデータを保持するためのデータ・レジスタ48とより
成る。入力チャネル内のデータ・レジスタ招はビン26
に接続され、出力チャネル内のデータ・レジスタ48は
ビンnに接続される。レジスタ47 、48の動作は、
同期ユニットIOに結合されている制菌ロジック50に
より制御される。直列リンクと、制御ロジック閣と、同
期論理ユニットIOとの動作については第12〜16図
を参照して詳しく説明する。
メモリのシW部19は作業域32 S34および通信チ
ャネル40〜43を得るために用いられ、かつ要求によ
りプログラムとデータを保持するためにも使用できる。
ROM 20は、たとえば高レベル・プログラミング言
語のインタプリタを保持するため、または標準オペレー
クヨンのためのルック・アップ表の格納のような種々の
目的に使用できるとともに。
マイクロコンピュータが特定の目的に用いられる周辺装
置のための制i卸プログラムを保持するために使用でき
る。
CPUデーテーおよびレジスタ 次に、第3図を参照してCPU12と、それの動作を詳
しく説明する。
CPU 12は演算論理装置(ALU)55と、3本の
データバスであるXノ々ス、Yノ々ス、2パスに接続さ
れる夜数のデータ・レジスタとを含む。それらのレジス
タの動作と、パスとの相互接続は複数のスイッチ秘によ
り制御される。それらのスイッチはROM13に含まれ
ているマイクロ命令プログラムから得た信号により制御
される。それらのスイッチはチップ松蹟と一体に形成さ
れるスイッチであることがわかるであろう。CPUとメ
モリ(19、20。
21)の間の通信は、メモリ・インタフェイス14に接
に8れている一方向アドレス@61と、インタフェイス
14に接続されている双方向データバス62とを介して
行われる。レジスタと、パス61 、62と、ノ々スx
、y、zは第3図に示すように接続される。
それらのレジスタは矢のようなものである。
略 6Rし  ジ  ス  タ MADDR求められるメモリ場所のアドレスを含むメモ
リ・アドレス−レジスタ印。
IB     第5図に示すフォーマットのメモリ命令
から順次シげるための命令バッ ファ63゜ 0REGTR命令ノ々ツファω中の命令から得たブータ
ラ受けるオペランド・レジスタ 嘔。
IPTRREG  現在のプロセスの命令ポインタを保
持スるオペランド・レジスタ67゜ DATA OUT  データバス62を介してデータを
メモリヘ供給するためのレジスタ70゜ AREGTRALU55のたぬのオペランドを保持する
第10Aレジスタ71゜ BREGTRALU55のためのオペランドYW持する
ための、AEGとのスタックとして 構成される第20Bレジスタ72゜ WPTRREG  m在のプロセスの作業域ポインタ(
WPTR)を保持するためのレジスタ73゜ LPTRREG  実行されることを待っているプロセ
スのリスト上の最後のプロセスの作 業域へのポインタを保持するレジス タ74゜ 繊3図に示されているように、インクリメンタ66とノ
々イト・アライナ69も設けられる。
データノス62には、データノ々ス線62をプレチャー
ジするように動作できるスイッチ75が設けられる。X
パスとY/々スをプレチャージするために動作できる同
様なスイッチ76 、77がそれぞれXノ々ス、Y/々
スに設けられる。X−々スとXパス上の信号なマージさ
せるように動作する別のスイッチ78がX/々スとXパ
スのiHlに設けられる。
演算論理装置(ALU) 55はXパスとXパスから入
力を受け、2パスへ出力するようil′i:構成される
ALU 55は、データ路の動作なALU 55の出力
に依存してiff!I Hするように、出力8を条件マ
ルチプレクサ9を介してマイクロ命令プログラムROM
13へ与える。
命令バッファ63は一連の8ビット語(ここでは命令と
呼んでいる)を、メモリ(19、20、21)からイン
タフェイス14とノ々ス62を介して受けるように構成
さハる。各8ビット語は2つの部分より成り、第5図に
示すようなフォーマットを有する。1つの部分は後で説
明する機能セットから選択される「機能」を表し、他の
部分はデータを表す。命令バッファ63は出力をデコー
ダ8へ与える。このデコーダは命令を機能部分とデータ
部分に分ける。
データ部分はオペランド・レジスタにロードされ、機能
部分は観号されてマイクロ命令レジスタ(MIR) 8
0ヘアドレスを与える。選択された機能とは無関係に、
全ての命令に対して興じ手続がとられる。命令ノ々ツフ
ァ63により受ゆられた各命令はMIR130にアドレ
スをロー)′する。そのアドレスはROM 13内のマ
イクロ命令プログラムに、スイッチ56トインタフエイ
ス制■Iロジツク15を利m+する1つまたはそれ以上
のマイクロ命令を実行させて、マイクロ命令の各シーケ
ンスの終りにレジスタト、制菌ロジック15と、その命
令中の選択された機能に対応する第3図にボされている
データ路とによりオペレーションが行われるようにする
。マイクロ命令プログラムのオペレーションについては
後で詳しく説明する。
命令ノぐツファ63とマイクロ命令レジスタ80を除き
、第3図に示す全てのレジスタは16ビツト・レジスタ
である。プロセッサが16ビツト胎プロセツサであるこ
の例においては、各命令が8ビツト景であるからプログ
ラム中の各16ビツト語場所は2つの命令を含む。した
がって、レジスタ67に保持されている命令ポインタは
、2つの命令を含んでいるプログラムill所から1つ
の命令を識別するために、特定の8ピツトノ々イトを指
すことをできることが必要である。このような理由かう
、この例ではプログラム30(第2図)がメモ1719
の下半分だけに書き込まれる。この例ではメモリは64
に飴を有し、メモリ場所のアドレスを15ビツトだけで
表すことができるから、プログラム菊は場所O〜327
67に書き込まれる。そのために命令ポインタ中に別の
ビットが残り、そのビットは、ある′特定の命令を識別
するためには各riBのアドレスにおける2バイトのど
れが必要であるかを識別するために使用できる。マイク
ロ命令ROM13は122tfdを含む。各語は68ビ
ツトより成る。ROM 13の各列には68ビツトが含
まれ、このROMがいつでも681固の出力信号を生ず
るように構成される。マイクロ命令プログラムのオペレ
ーションについては後で詳しく説明する。
第31凶かられかるように、メモリ・インタフェイスの
状襟を記録するために用いられるg数の1ビツト状帳ラ
ツチがインタフェイス−ロジック制御器15に設けられ
る。実行ラッチと呼ばれるラツチ110が実行すべき命
令のソースを定める。ラッチ110が状態1を有する時
は命令のソースはメモリであるしこのメモリは希望によ
ってはインタフェイス羽を介して接続される外部メそり
とすることができる。ラッチ110が状暢0を有1−る
時は、命令を外部ソースから受けることができるように
するために、命令のソースはiα列リンクδの1つであ
る。2つまたはそれ以上の連続する命令に対しては同じ
直列リンク訪へくり返えし行くことが公使なことがある
が、メモリから命令をとり出す場合には、各命令ごとに
命令ポインタIPTRが進められる。IBラッチ112
がIBレジスタ63の状態を記録する。MADDRラッ
チ113がMADDRレジスタの状暢を記録する。ME
M ENABLEラッチ114がメモリ・インタフェイ
スの状暢を記録し、メモリ・インタフェイス14が占め
られている時は常に状態1を有する。メモリに対して害
き込み要求が行われたことをWRITEラッチ115が
記録する。また、パイ)%P求がメモリに対して行われ
たことをBYTEラッチ116が記録する。UPPER
/LOWERラッチ117がバイト・アドレスの最下位
ビットを保持する。その最下位ビットは、Aレジスタの
内容が1つの桁だけ右へ移1k)+させられた時に、A
レジスタ71の最下位ビット位置からロードされる。
機能セット 命令バッファ63により受けられる命令の機能図ス員ま
、マイクロコンピュータのだめの機能セットにより決定
されろ。その機能セットは、プログラムを書く時に選択
できる利用可能な機能のリストであり、それらの機能に
対してマイクロコンピュータは応答できる。
機能セットには直接*能と、間接機能と、プレフイクン
ング機能との3つの種類の機能がある。
面接機能は、オペランド・レジスタ師の内容をデータと
して用いる(他のレジスタの内容もデータとして使用で
きる)。
18〕接機能は、オペランド・レジスタ65L、(外/
+)L/ジスタ内のデータを用いて種々の「オペレーシ
ョン」のうちの1つを選択するために、オペランド・レ
ジスタ65の内容を用いる。
ゾレフイククング機能は、オペランドをオペランド・レ
ジスタ錫に累積する。
その機能セットは矢の通りである。
機   能 Q   ldw   作業域からのロードi   st
w   作業域への格納 2  1dpw  作業域内へのロード・ポインタ 4  1dv   ベクトルからのロード5   st
v   ベクトルへの格納5  1dl   リテラル
・ロード 7   adl   リテラル加算 8  j   飛越し 9   jnz   非零へ飛越し 10  1dpc  コードへのポインタ・ロード11
   call   プロクージャ呼び出し間接機能 13opr   オペレート プレフイククング機能 14   pfix  ゾレフイクス 15   npfix  ネガティブ・ゾレフィクス間
接機能を用いて行うことができるオペレーションは矢の
通りである。
o    rev    反   転 1   eqz   零に等しくする 2   gt    より大きい 3   and   アンド 4  or  オア 5   xor   排他的オア 5    add    加   算 7    sub    減  算 8   run   プロセス実行 g    pse    休  止 10    join   結  合 115ync四期 12    ret    復  帰 13   rot   バイト回転 14   sr    名指送り 15   sl    左指送り それらの機能とオペレークヨンについて説明する前に、
この明細書で用いる記法について述べることにする。T
ranSputerマイクロコンピュータにはOCCA
M (インモス・インターナショナル(inmosIn
ternational ) plcの商標)言「aを
なるべく用いるようにする。このOCCAMCCA相1
983年にインモス社(Inmos Lim1ted)
により英国において出版および配布されたr OCCA
Mプログラミング□マニュア/l/ (Program
ming Manual −OCCAM ) Jと題す
る小冊子と、雑誌エレクトロニクス(Blectron
ics )1982年【1月3日号所載の「プロセス向
き言語は分散処理の要求に適当である( Proces
s−QrientedLanguage Meets 
Demands of Distributed Pr
ocess−ing月と題するテーラ−(Taylor
 )およびウィルソン(Wiison)の論文とに詳し
く記載されている。
OCCAMCCA相行処理にとくに良く適する。ここで
説明している本発明の好適な実施例は並行処理にとくに
適するから、この列にOCCAMCCA相いることは極
めて適切である。他言語は適切なコンパイラとともに使
用できる。実際の芯用においては、プログラマはOCC
AMCCA相いてプログラムを書き、そのプログラムを
コンパイラが普伸のやり方で時定の命令に変換する。し
かし、ここで説明するマイクロコンピュータの好適な実
施例内で起ることを示すために、命令中の機能とオペレ
ークヨンをOCCAMCCA相いて記述する余地がある
したがって、それらの機能とオペレー/ヨンおよび使用
のツ1jの記述においては下記の記法を用いることにす
る。
記  法 1、 プロセスは開始され、いくつかの動作を実行して
から終る。各動作は割当、入力または出力とすることが
できる。割当は変数の値を変え、入力はチャネルから値
を受け、出力は値をチャネルへ送る。
開始と終了の間の任意の時刻に、プロセスは1つまたは
それ以上のチャネルで通信を行う用意ができるようにで
きる。各チャネルは2つの並行プロセスの間で一方向接
続を行う。それら2つの並行プロセスの一方はチャネル
へ出力するだけ、他方はチャヌルから入力するだけであ
る。
割当は記号「:=」でホされる。割当 v:=e は変数Vの値を式eの値にセットしてから終る。
たとえば、x:=QはXを0にセットすること、x:=
x十lはXの111を1だけ増加することをネに味する
入力は記号「?」でボされる。入力 c ?x は、チャネルrcJからある値を入力し、それを変数X
に割当ててから終ることを意味する。入力C’?ANY は、チャヌルrcJからある116を入力し、その値を
捨てることを意味する。
出力は記号「!」によりボされる。出力le は式eの値をチャネルrcJへ出力し、それから終るこ
とを意味する。出力 C!ANY は、任意の値をチャネルrcJへ出力することを意味す
る。
プロセス5KIPは何の作用も行わずに終了する。
2、   C0N5TRUCT 順次construct 、並列construct、
条件付constructまたはオルターヌイテイブc
onstructを形成するためにいくつかのプロセス
を組合わせることができる。construct自体は
プロセスであって、別のconstructの構成部と
して使用できる。あるconst−ruc tの各構成
部プロセスは、それがそのcons t ruc tの
部分であることを示すために、左マージンから丈に2つ
の空白をとって書かれる。
順欠constructは仄のようにして賽かれる。
EQ I 2 3 構成部プロセスPI 、 P2 、 P3・・・は互い
に111次実行きれる。各構成部プロセスは1つが終っ
てから次が開始され、最後の構成部プロセスが終っから
constructは終る。たとえば、EQ in?>c x:=x−1−1 utjx は、ある値を入力し、その値に1を加え、その結果を出
力する、ことを意味する。
並列constructは AR I 2 3 により表される。構成部プロセスPI 、 P2 、 
P3・・・はVaつしよに実行されるから、並行プロセ
スと呼ばれる。全ての構成部プロセスが終った後でco
nstructは終了する。たとえば、P、AR in ’i’ x utly はXへの入力と、yからa出力をいっしょに行えるよう
にするものである。
並行プロセスはチャネルを用いて通信する。チャネル「
CJからの入力と、同じチャネルrcJへの出力がいっ
しょに実行されると、入力と出方を行える状ゆになった
時に通信が行われる。値は出力プロセスから入力釜石プ
ロセスへ割肖てられ、それから両方の並行プロセスの実
行が継続される。
条件付construct F 糸外I 1 条件2 2 峰件3 1?3 は、条件lが真であるならばプロセスP1が実行され、
さもなければ、条件2が真であればプロセスP2が実行
される・・・等であることを意味する。
このconstruct においてはただ1つのプロセ
スが実行され、実行後にconstructは終る。た
とえば、F x〉=O y:=y−+−t x < O KIP では、Xの値が正である時だけyが大きくなる。
オルタネーティブconstruct LT nputl I nput2 2 nput3 3 は、入力1.2・・・のうちの1つの準備が整う!で待
つことを意味する。入力1が最初に準備が整ったとする
と入力lが実行され、それからプロセスP1 が実行さ
れる。同様に、入力2が最初に準備が整うと入力2が実
行され、それからプロセスP2が実行される。すなわち
、ただ1つの入力が実行され、その後で対応するプロセ
スが実行され、それからconstructが終る。た
とえば、LT count ? ANY counter :=counter+1total 
?ANY EQ out l counter counter :=0 では、いずれもチャネルrcountJから信号を入力
し、可変「counterJを1だけ増加し、あるいは
チャネル[total Jから交互に入力し、a■Vr
counterJの現在の値を出力し、それを零リセッ
トする。
3、<9返えしくREPETITION)WHILE条
件 これは、条件の値が鵠となるまでプロセスPをく9返え
し実行する。たとえば、 WHILEx>5 x:=x−5 は、Xの値が5以下になるまでXを5ずつ減少すること
である。
4、  VARIABLES variableは記憶装置内の1つの飴に対心する簡
単な変化、またはベクトルと呼ばれるvariable
の番号をつけられたセットの1つである。たとえば、V
[31:=0はベクトルv内の3番のvariable
のイ直をOにセットし、V[0]+1は0番のvari
ableの値をlだけ増加する。
variable ハ VARv: のような宣言により導入される。これはプロセスPにお
いて使用するためにVを導入する。
5、手続(PROCEDURES ) 手続の定義によりプロセスに名称を与えることができろ
。たとえば、 PROC5quare(n、5qr) sqr:=n−X−n は手続「5qureJを定義する。
手続の名称はプロセスのための路間として使用できる。
たとえば、 5quare(x、 5qrx) は 5qrx : = x ’yf x を倉°味する。
6、  EXPRESSIONS express ionはオペレータ、変数、数、真理
値の真と偽および括弧(と)から構成される。
真は1ビツトよりのみ成る値であり、偽は0ビツトのみ
より成る値である。
オペレータ+、−,−%、/は加算、減算、乗算、除算
を表す。
オペレータ=、()、)、(=に対しては結果は下記の
ようになる。
x = y   xがyに等しいと真であるx<>Y 
  XがyVc等しくなければ真であるx)y   x
がyより大ぎければ具であるx(=y   xがyより
小さいか、yに等しげれば真である オペレータ\/、/\、〉〈の場合には、結果の各ビッ
トは下の表に従ってオペランドの対応するビットから発
生される。
xyx\/y   x/\y   x><yo   0
     0     0     0oi     
 1     0     110     1   
  0     11  1     1     1
      (INOTオペレータの場合には、結果の
各ビットは、下の表に従ってオペランドの′R応するビ
ットから発生される。
x    NOT x 1 0 オペレータ<、>の場合には x<yは左へyピッ)IILIl・されるXの値で、空
いたピット位置は0ビツトで埋めら ハる x>yは左へyビット秒かさ瀬るXの値で、空いたビッ
ト位置はOビットで塀めら れる 以上説明した一般的なOCCAM言語表記を本発明のマ
イクロコンピュータに適用することV?:、する。
レジスタの変数は次のように定義される。
IPTRは命令ポインタ・レジスタ67の内容を表す WPTRは作業域ポインタ・レジスタ73の内容を表す LPTRはりスト・ポインターレジスタ74の一内各を
表す AREGはAレジスタ71の内容を表すBREGはBレ
ジスタ72の内容を表す0REGはオペランドやレジス
タ雷う5の内容を表す 1つのレジスタから仲のレジスタへの転送はassi)
;(nrnent、eg: BREG : = AREG により表さハる。これは、Aレジスタの内容がBレジス
タへ複写され、Bレジスタの以前の内容に置き換えられ
る。
TRANSPUTER内のメモリは vec tor : memo r y により表される。
メモリ内の蘭々の語は ベクトルeg: memo r x [AREG ] を下側に記す(subscripting) jること
により6を別される。これは、Aし・ジスタの内容をア
ドレスとするメモリ内の飴の内容を意味する。
メモリとレジスタの闇の転送は assignment eg: memory [AREG ] : =WPTRにより
向板に表される。これは、Aレジスタの内容をアドレス
とするメモリ内の語の内容が、作業域・ポインタ・レジ
スタの内容で置き換えられることを意味する。
3つの手続(PROC) [runJ r rwait
J 、 I−movetoJが以下の記述中にしばしば
現われる。それらは次のようにして定義される。すなわ
ち、リンク[process]は直列リンクあのプロセ
ス中レジスタ47の内容を表し、 NILはどのプロセ
スの作業ポインタではない特殊な値を表す。READY
は直列リンクにより使用される別の特殊な値を表丁。
I  PROCrun(w) 2     IF 3     w < > READY 4     5EQ 5       memory[LPTR−21:”W
6       LPTR:=%y 7      W=READY KIP 1   PROCwait 2    5EQ 3     memory[WPTR−1’] :=I
PTR4直列リンクからの各外部要求に対して5   
 5EQ 6      run(link[process″l
)7     1ink[process] ::NI
L8    WPTR:=memory[WPTR−2
]9     IPTR:=memory[WPTR−
1’)I  PROCmoveto(w) 2  5EQ 3       IF 4     WPTR= LPTR 5LPTR:=w 6      WPTR<> LPTR7memory
[w−2] :=memorY[wPTR−218WP
TR:=w 上記の手続においては、以下に行う説明の参考のために
行番号をつけである。
機能とオペレーションの定義 それらの定義について、前記した記法を用いて以下に述
べろことにする。
作業域からのロード 定義: 5EQ BREG :=AREG AREG :=rnemory[WPTR十〇REG:
]目 的: 現在のプロセス作業域内の場所の値をロー
ドすること。
作業域への格納 定 絨:  SEQ memory[WPTR+0REG] :=AREGA
REG :: BREG 目 的: 現在のプロセス作業域内の場所に値を格納す
ること。
作業域へのポインタのロード 定義:  IQ BREG :=AREG AREG :=WPTR+ 0REG 目 的: 現在のプロセス作業域内の場所ヘポインクを
ロードすること。
現在のプロセス作業域内の場所のベ クトル(vector)の第1の場所にポインタをロー
ドすること。
作業域からのロードおよびインクリメント定x!: 5
EQ BREG :=AREG AREG  :=memory[WPTR+0REG]
memory[WPTR+0REG]  :=AREG
+1目 的: 現在のプロセス作業域内のMA Par
の1直をロードし、その場所をインクリメ ントすること。
ループ・カウンタとして作業域場所 の使用を′@易にし、零へ向って増加 させること。
r冶マたはノ々イトのvectorへポインタを増加さ
せる時に作業域場所の便 用を容易にすること。
ベクトルからのロード 定義:  AREG :=me+nory[AREG+
0REG〕目 的: 外部作業域からイ「■なロードす
ること。
値のベクトルから値をロードするこ と。
値をポインタとして用いて(間接的 に、この場合には0REG = 0 )値をロードする
こと。
ベクトルへの格納 定−義:  SEQ memory[BREG+0REG] :=AREGA
REG := BREG 目 的: 外部の作業域内の場所に値を格納すること。
イ1αのベクトルに値を格納すること。
(INをポインタとして用いて(1川Ji的に、この場
合には0REG = O)値を格納すること。
リテラルのロード 定義: 5EQ BREG :=AREG AREG := 0REG 目 的: 値を格納すること。
リテラル加算 定義: AREG:=AREG+0REG目 的: イ
直を加;痺すること。
外部作東域内の場所にポインタをロ ードすること。
イ直σ)ベクトル内の場所にポインタをロードすること
飛越し 定義: IPTR:= IPTR+0REG目 的: 
制商Iを前方または後方へ転速し、ループを形成し、ル
ープから出、プロ グラムの条件付部分の後で継続する こと。
非零の飛越し 定義:工F AREG <> 0 IPTR:= IPTR+0REG AREG = O KIP 目 的: 非零値がロードされた時だけ制爛1を前方ま
たは後方へ転送し、プログラ ムの部分を条件付で実行し、条件付 ループを出ること。
値と値のセットとの比較を容易にす ること。
ポインタのコードへのロー一 定義: 5EQ BREG :=AREG AREG :=、 IPTR+0REG目 的: 命令
のアドレスなAレジスタにロードして、プログラムの部
分を形成す るデータのベクトルのサドVスをロ ードすること。
手続呼出し 定義: SEQ memory[WPTR−1:] := IPTRIP
TR:=AREG AREG :==WPTR move to(WPTR+OREG)目 的: 効率
の良い手続呼出し後横を得ること。
同じプロセッサで2つの同じ手続が 実行される場合に、コードの共用を 容易にすること。
間接機能 オペレート(operate) 定義: operate(OREG) 目 的: 求められているオペレーションヲ定義するコ
ードとしてオペランド・レ ジスタ(0REG)の内容を用いてオペ1/−ジョンを
実行すること。
プレフイククング機能 プレフイックx (prefix) 定義:  0REG:=OREG<4 目 的:  OS15の範囲にない命令オペランドを1
つまたはそれ以上のプレフィッ クス命令を用いて表すことができる ようにすること。
足脚:  0REG := (NOT 0REG) <
4目 的: 零またはそれ以上のプレフィックス命令が
続く1つの否定プレフィック ス命令を用いて否定オペランドを表 すことができるようにすること。
オペレーション(operations )rever
se 定義: 5EQ OREG :=AREG AREG :=BREG BREG :=OREG 目 的: AレジスタとBレジスタの内容を父換するこ
と。
非対称的ナオペレータのオペランド を反転させること、この場合にはこ れはコンパイラでは都合良く行うこ とはできない。
零に等しくする(equal  to zero)定義
:工F AREG=O AREG :=TRUE AREG<>0 AREG :=FALSE 目 的二 Aが非零1直を保持しているかどうかを判定
すること。
論理(ビットに関してでなく)否定を 実行すること。
A:Oas eqz A<>Oas eqz、eqz if A=O−−−as jnz if A<>O−as  eqz、jnzを実行するこ
と。
より大きい(greater) 定義:工F BREG > AREG AREG :=TRUE BREG <: AREG AREG :=FALSE 目 的二 AとBを比較しくそれらを2つの相補整数と
して処理して)、BがAより大 きいと1(頁)をロードし、それ以外 は0(偽)をロードすること。
オペランドを反転することによりB〈 Aを実現すること。
オペランドと(−gLeqz)を反転することによりB
<=A as(gt、eqz)とB>=Aを実現するこ
と。
論理積(and ) 定義: AREG:=AREG/\BREG目 的二 
AとBのビットについてのAND操作の結果をロードし
、AとBにおける対応 するビットが1にセットされるならば 各ビットを1にセットし、それ以外で はOにセットすること。
2つの真値を論理的にAND操作すること。
論理和(or) 定義:  AREG := BREG\/AREG目 
的: AとBのビットについてのOR操作の結果をロー
ドし、AとBの対応する ビットのいずれかがセットされるな らば各ビットを1にセットし、七九 以外は0にセットすること。
2つの真の値を論坤的にOR操作す ること。
排他的or(exclusive or)定義: AR
EG :=BREG><AREG目 的二 AとBのビ
ットについての排他的OR操作の結果をロードし、Aと
Bの対 応するビットが異なる時は各ビット を1にセットし、それ以外は0にセ ットすること。
ビットについての not as(ldl −1、xor)を実行すること
加算(add) 定 義:  AREG:=BREG十AREG目 的二
 BとAの和をロードすること。
ベクトル内の語またはノ々イトのアド レスを計算すること。
減算(subtract) 定義: AREa:=Brtga−hItEa目 的二
 BからAを減じ、結果をロードすること。
A:B     as sub、eqzA<> B  
  as sub、eqz、eqzif A==B  
 as sub、jnz、…if  A<>B   a
s  sub、eqz、jnz、…を実行すること。
プロセス実行(run process)定義: SE
Q memory[AREG−11:=BREGrun(A
REG) 目的:  プロセスをアクティブ命プロセス・リストの
終りに加えること。
休止(pause): SEQ 定@:  run(WPTR) wait() 目 的: 現在のプロセスの実行を一時的に休止するこ
と。
現在アクティブ・プロセス曇りスト 上にあるプロセスの間でプロセッサ 時間を共用すること。
結合(join) 定峻:工F memo r y [AREG ] = Omovet
o(memory[AREG+1])memory[A
REGl <> O EQ memory[AREGl :=mernory[AR
EGl −1wait() 目 的: 並列プロセスを結合する; 2つの語が用いられる。1つはカウ ンタであり、他の1つは作業域への ポインタである。カウントが零に達 すると、作業域が変えられる。
同期(synchronize) 定義:工F memory[AREGl =NIL EQ memorY[AREGl :=WPTRwait() memory[AREG 〕<>NILEQ run(memory[AREGl) memory[AREGl :=NIL目 的= 2つ
のプロセスを同期させ、チャネルを用いて通信させるこ
と。
定義: SEQ moveto(AREG) IPTR:=memoryCWPTR1]AREG :
: BREG 目 的: 呼出された手続から少帰させること。
バイト回転(rotate bytes)定 義:  
AREG :=: (AREG<8)/(AREG>(
bitsperword−8)) 目 的二 8ビツト・バイト値を組合せて1つの語の値
を形成できる。ようにするた めにAレジスタ内のバイトを回転さ せること。
伯のイ1ηをいくつかのコンポ−えント8ビット値に分
割できるようにする こと。
名指送り(shift right) 定義: AREG:=AREG>1 目 的: Aレジスタの内容を右へ1桁だけ桁送りする
こと。
左指送り(shift 1eft) 定 義:  AREG:=AREG<1目 的二 Aレ
ジスタの内容を左へ1桁だけ桁送りすること。
上記の機能セットは直接機態と、間接機能と、プレフイ
ククング機能とを含むことがわかるであろう。任意の命
令の開始時には、その命令に対して選択された機能とは
無関係に、命令バッファ□3内の命令の機能部分を受け
る所定のビット位置セットが入力をデコーダ1へ与える
ために用いられ、各命令のデータ部分を表す他の所定の
ビット位置が、オペランド・レジスタ嘔の下位4ビット
位置をロードするために用いろゎる。その機能が@従機
nヒであるとすると、オペランド・レジスタ65の内容
に対して選択された機能に従ってプロセッサは作動する
。そのqq、v weが間接機能であれば、実行すべき
オペレーションの性質を決定するためにオペランド・レ
ジスタ65の内容が甲いられ、他のレジスタに保持され
、ているデータについてオペレーションが行われる。機
能が@接または間接であるような任意の命令が終ると、
オペランド・レジスタ65は零にクリアされる。その機
能がプレフィクス機能であれば、プロセッサはオペラン
ド・レジスタ65内に存在するデータを高い桁の位置へ
転送し、その後で、そのために空いた下位桁の位r6′
にその命令のデータ部分をロードする。
各命令の始めに命令ポインタは増加させられる。
したがって、命令ポインタは次に実行すべき命令を當に
指す。
オペランド・レジスタは種々の・目的のために用いられ
る。オペランド・レジスターが各命令で受げる「データ
」は計算用のリテラル値のこともあれば、間接機能の場
合には求められている機能の定義のこともある。別のh
eな用途は、ある特定の変数の値を見出j場所、または
格納する場B「のアドレスを探すために、ある機能に対
して、オペランド・レジスタ65内のデータ値が作業域
・ポインタ・レジスタ73内のデータに柑合わされるこ
とである。たとえば、作業域・ポインタ・レジスタ73
は現在のプロセスの作業域ポインタWPTRを含む。こ
れはその作業域のための基準メモリ・アドレスを指す。
変数またはその他のポインタは定義され、作業域ポイン
タWPTRにより指し不されたアドレスから既知縫だけ
ずれているその作業域のアドレス場所に格納される。そ
のずれは一般に命令部分により指定され、オペランド・
レジスタ錫内に格納される。実際に、作業域命令からの
ロードと格納は、WPTRレジスタ73の内容とオペラ
ンド・レジスタ65の内容の紗合せ(たとえば加え合せ
)により定められるメモリ4所を暗黙のうちに指す。史
に、ベクトルをアクセスするため、またはプログラムに
おいて分岐するために、オペランド・レジスタ簡の内容
はAレジスタ71またはII)TRレジスタ67のよう
な他のレジスタの内容に組合わされる。これの例は後で
説明する。
オペレーションの効率を最高にするために、最も一般的
に求められる動作をカッ々−するように直接機能が選択
されることがわかるであろう。各命令の機能要素を表す
ために4ビツトを用いることにより、機能セットはコー
ドO〜15を用いる。もつとも、コード12には機能は
割当てられていない。
コード13は間接機能を示すために用いられる。その間
接機能は、この場合には、命令の下位4ビツトを通常の
やり方でオペランド・レジスタ嘔にロードさせる「オペ
レート」機能であるが、そのオペランド・レジスタの内
容は、他のレジスタに保持されているデータについての
オペレーションを決定するためにプロセッサによりそれ
から用いられる。このようにして、8ビツト命令の一様
性を保チつつ、オペレーションの数を増加できることが
わかるであろう。′「オペレート」命令の前にプレフイ
クス機能または負プレフィクス機能を用いることにより
、オペランド・レジスタ65の内容を変えて、先に説明
したものよりもはるかにオペレーション選択を行うこと
ができる。pfixとnf ixの使用については第8
図を参照して詳しく説明すルカ、マイクロ命令プログラ
ム13のオペレーションを更に説明することがまず必要
である。
マイクロ命令プログラムというのは、マイクロコンピュ
ータのプログラムから命令バッファ63ニ到達する各逐
次命令の求められている1機11?」を実行するために
、スイッチ56 (m 3図)とインタフェイス制御ロ
ジック15を制御する制御信号を発生する手段である。
マイクロ命令プログラムはROM 130列と行に格納
されているマイクロ命令のリストより成る。ROM 1
3はマイク口語と呼ばれる出力を生ずる。その出力は翁
ビットより成り、各ビットは制御信号を構成する。その
出力は複数のフィールドに分割され、各フィールドは所
定のビット位置群より成る。ある任意の時刻における出
力は、選択されたマイクロ命令に応じて選択されたビッ
ト位置に与えられる。谷フィールドはある特定の制iM
I ’f+Q域に関連させることができる。たとえば、
1つのフィールドがどのレジスタがXバスに接続される
かを制葎し、別のフィールドがどのレジスタがYノ々ス
に#:続されるかをrtrlJ M+し、他のフィール
ドがどのレジスタが2ノ々スに接続されるかを制御し、
史に別のフィールドがALU 55の動作を匍J呻し、
更に別の2イールドがマルチプレクサ9とMIR80へ
の帰候信号?:1Ii11′@する。1つのフィールド
がインタフェイス制帥ロジック15をji;IJ萌1し
、「読み出し」、「書き込み」、「求められた次の命令
(NgXT) Jのようなマイクロ命令出方信号乞与え
て、マイクロ命令がインタフ風イス!4ヲ介シてのレジ
スタとメそ1719の曲の通信を制餠できるよう釦する
ROM 13内で選択される特定のマイクロ命令はMI
R80内ci) 7ドレスに依存する。MIR80はR
OM 13内で列と行の選択を行う7ビツト・レジスタ
である。命令バッファ田により受けられた各命令の始め
に「機能」がデコーダθにより復号され、条件マルチプ
レクサ9を通されて、 ROM13内のマイク\、 口命令の選択のためのアドレスを与える。機能を実行す
るためにある機能はただ1つのマイクロ命令を要するこ
とがある。その場合には、ROM 13はデコーダ64
により復号されるアドレスに応じてマイクロ語出力を与
え、その機能はROM13の1動作サイクル(ここでは
マイナー・サイクルと呼ぶことにする)内に終了させら
れる。他の機能は一連のマイクロ命令、したがって一連
のマイナー・サイクルを要する。この場合には、その機
Iiヒのために必要な最初のマイクロ命令をROM 1
3が選択するためのアドレスをデコーダ64がMIR8
0へ与える。
その後で、マイクロプログラムは一連のマイクロ命令の
実行(各実行には1マイナー・サイクルか。
かる)を続け、各マイクロ命令は、一連のマイクロ命令
中の次に実行するマイクロ命令のアドレスを識別するよ
うに、それの出力マイクロ@のフィールド中にMIR8
0のための7ビツトを与える。矢のマイクロ命令が前の
マイナー・サイクルにより発生される条件の結果として
選択されるように、MIR80の下位2ビツトを灸件付
でセットして、マルチプレクサ9を介して帰還させ、M
IR80内のアドレスを行わせることができる。これに
より、たとえば第3図にボされている種々のレジスタ内
の(ITLに依存して、4つのEil能なオプションか
ら次のマイクロ命令を選択できるようにする。MIR8
0の2つの東件付ビットが条件付でセットされないもの
とすると、MIR80内のアドレスにより示される次の
マイクロ命令が無灸件で実行される。命令バッファ63
内の命令のオペレーションを行うために全てのマイクロ
命令が実行されると、 ROM13のマイクロ語出力の
フィールド内に制御信号rNEXTJが発生され、それ
によりメモリ19から命令バッファ63への次の命令を
細末する。
各マイナー・サイクルはソース相と宛先相の2つの相よ
り成る。ROM 13から発生された制菌信号は、ソー
ス相の1■Jだけアクティブである師と、宛先相の間だ
けアクティブである群と、マイナー・サイクル全体にわ
たってアクティブであるalとの3つの群に分けられる
。制御信号の発生と持続時間を制御するために、第6図
に示されている4柚類のストローブ信号を発生するよう
にタイミング制御器が構成される。それらのストローブ
信号はソース・ストローブ信号150と、宛先ストロー
ブ信号151と、行プレチャージ・ストローブ信号15
2と、マイクロ命令ストa−ノ信号153である。
ソース拳ストローブ信号は、レジスタがそれの内容をノ
々ス上に置けるようにするタイミング信号であって、そ
れの持続時間は演算論理装置が結果を形成するのに十分
なほど長い。宛先ストローブ信号はレジスタがデータを
バスから受けることができるように構成される。マイク
ロ命令ストローブ信号は条件マルチプレクサ9から次の
マイクロ命令のアドレスを発生するために用V≧られる
。行プレチャージ・ストローブ信号は、?XO’)’)
−ス・ストローブ信号のための準備が整う高レベル状轢
ヘパス線XとYをプレチャージするために用いうねる。
それらのストローブ信号の相対的なタイミングと持続時
間が第6図にボされている。それらのストローブ信号は
第7図に示す装置により発生される。ビン28<第1図
)からのクロックツ9ルスが各マイナー・サイクルの開
始のためのGo@号を発生する。この信号はCPo 1
2内の4つの連続する遅延器を通され、第1の遅延器1
54の出力端子からマイクロ命令ストローブ信号153
がとり出され、第2の遅延器155の出方端子から宛先
ストローブ信号151がとり出され1、第3の遅延器1
56の出方端子から行プレチャージ・ストローブ信号1
52カとり出され、第4の遅延器157の出力端子から
ソース・ストローブ信号150がとり出されろ。したが
って、プロセッサの動作は外部クロック入方あに同期さ
せられる。
可変長オペランドの使用 先に説明したように、このマイクロコンぎ二−タは可変
長オペランドで動作できる。各命令は4ビツトs所をオ
ペランドに割白てるが、前記@能セツ) 内ノs −F
”14 、15に対応する機能セットpfixとnfi
xを使用することにより、16ビツトまでのオペランド
をオペランド・レジスタ65内で形成することが可能で
ある。この動作は第8図を参照することにより最も良く
通解できる。第8図はそhぞれ4ビツトの4つの部分を
有するオペランド・レジスタ65を示すものである。演
算論理装置55が位が病くなる4ビツトに対応する4つ
の部分を有するのが示されており、0レジスタ65と演
習。
論理装置腸の間の接続が、Yノ々スをi[flる演算論
理装置への伝送を選択的に制御するゲート90を介して
制御される。Yパスとz)ぐスが4つの部分に分離され
ている様子がボさhている。各部分は位の異なるデータ
の4つのビットを敗り扱う。たとえば、Y[3:O〕は
下位の4数字を取り扱うYパスの部分を表し、Y[15
:12’Jは上位の4数字を欺9扱L/A、Zハスのw
4合にも同様に処理される。オペランド・レジスタ65
の下位4ビツト以外の各部分には2パスからゲート91
を介して供給でき、あるいはゲート92から零を供給で
きる。下位4ビツトが0レジスタ65の下位4ビット位
置へ送られるように第8図の命令バッファ63からの命
令は分割され、第3図を参照して説明したようにマイク
ロ命令プログラム13内のアドレスを選択するために機
能要素が用いられる。第8図の真理111表は、機能が
pfixまたはnfixに対応し、またはいずれにも対
応しない3つの5’J節性を下すものである。その真理
値表には、ROM13のマイクロ胎出力から線100\
104へ与えらJする対応する制神信号と、それらの信
号の持続時間も示されている。
この場合に用いられるマイクロ語出力制御信号は次の通
りである。
1、 0PD 、NOT O:これは、真理値表が「1
」を有する時にはオペランドΦレジスタ65には零が供
給されないが、真理値表がrOJを竹する時はレジスタ
65に答が供給されることを意味する。
2−  NEXT:これは、真理値表が「1」を有する
時はオペランド・レジスタ65に次のオペランドが命令
バッファ63からロードされるが、真理値表が「0」を
有する時はオペランド−レジスタ65には次のオペラン
ドが命令・々ツファBからロードサレないことを意味す
る。
3−  Y FROM OPD :これは、真理値表が
rlJを有する時はY)々スがオペランドをオペランド
・しジスタロ3から受けるが、真理値表が「0」を有す
る時はそうではないことを君味する。
4、  Z FROM Y :これは、真辿11L 表
がrlJfrJする時はALU55からの2ノ々ス出力
がYパスからデータを受けるが、真理値表が「0」を有
する時はそうではないことを意味する。
5、  Z FROM NOT Y: コわは、真理i
’lf’Jiが「1」を有する時はALU 55がYバ
ス上の信号を押入して、zノ々スな通すが%真近イ1【
表がrOJを有する時はそうではないことを意味する。
各マイナー・サイクルにおける上第1ら5つの1g11
@信号の持続時間は第8図に示されてVsる。第8図に
おいて、Sはソース相だけにおける持続時間を示し、D
は宛先相だけにおける持続時HJ)をボし、S+Dは両
方の相における持続時14]を示す。
w100上のマイクロ語制御イg号はゲー)91と92
を動作させて、2/々スが機能pfixとnfixに応
答してオペランド−レジスタ65にロードしないように
し、他のどの機lFもオペランド−レジスタ懇の上位3
つの段をゲート92を介しての入力により零にさせる。
全ての命令信号は最後のマイナー・サイクルで匍」#信
号NEXTを発生する。その信号は線101へ与えられ
てオペランド・レジスタ651Ci7のオペランドをロ
ードさぜる。線102は信号「YFROM OPD J
を受け、pfixとnfixに対してオペランド・レジ
スタをゲート閣な介して接続させる。
#103は制御信号rZ FROM YJを受け、pf
ixの場合にはALU55にYパス上の信号を2パスへ
送らせるが、nfixに対してはそうさせない。線10
4は制(財)信号rZFROMYJを受け、nNxの場
合にはYパス上の1バ号を反転してからALU55を通
って2パスへ供給できるようにするが、pfixの場合
にはそうさせない。線100 、103 、104上の
信号は各マイナー拳サイクルのソース相と宛先相の全体
を通じて存在するが、線101上の信号は宛先相の時だ
け存在し、線102上の信号はソース相の時だけ存在す
る。機能がpfixの時は、真条件に対応する信号が線
100 、101 、102 、103に供給され、こ
のようにしてオペランド−レジスタ錫の下位部分のオペ
ランドの4ビツトがALUを通じてオペランド−レジス
タ650次に高い位の段へ進ませられ、それによりオペ
ランドの別の4ビツトをオペランド・レジスタ65の下
位位置にロードできるようにする。この動作は、オペラ
ンドの最高16ビツトまで、命令がpfix機能でとり
出されるたびに反復される。同様に、機能がnfixで
あれば、プロセスは全体として類似して、各命令の後に
零が書き込まれることなしに、オペランドの引き続く各
4ビツトをオペランド・レジスタの高位の段へ移動させ
るようにする。これにより狛のオペランドを最大16ビ
ツトまで形成できろ。機能がpfixとnfixのいず
れでもないと、勝100上の制御信号が零を、その命令
の終りに、オペランド・レジスタ(5503つ上位の段
(ビット15〜4を表す)へ与えさせることをこの真理
1lIi表は示す。
プロセスのスケジューリング 先に述べたように、このマイクロコンピュータはいくつ
かの並行プロセスを行うことができる。
したがって、このマイクロコンピュータはある特定の時
刻にどのプロセスを実行すべきかを決定する計画のシス
テムを与える。ある時刻にWPTRレジスタ73(第3
図)は現在集荷されているプロセスの作業域ポインタを
保持する。しかし、現在のプロセスの作業域と、実行さ
れるのを待っている別のプロセスの作業域とはリストを
形成し、そのリストにおいては各作条域の1つの場所が
リスト上の次のプロセスの作業域ポインタを保持する。
各プロセス作業域内の別の場所が、そのプロセスの次に
実行すべき命令を識別するa令ポインタを1呆持する。
史に、LPTRレジスタ74が現在実行を待っている最
後のプロセスのための作業域のアドレスを含む。このよ
うにして新しV1プロセスをそのリストの終りにつけ加
えることができ、LPTRレジスタ74はそのリストの
現在の終りを常に指示する。プロセッサはリスト上のプ
ロセスを逐次実行するのが普通で、現在のプロセスが「
休止」オペレーション(オペレーション会リストのコー
ド9)を実行する時、または現在のプロセスが「結合」
オペレーション(オペレーション書リストのコード10
)を実行−1−ることにより自身でスケジュ−ルを破っ
た時、丘たは同期オペレーション(オペレーション・リ
ストのコードL1)の時に、矢のプロセスへ進むだけで
ある。それらの状況のいずれにおいても、現在のプロセ
スはそれ以上の命令の実行を止めて、プロセッサは、第
2図の36でボされているように、プロセス作業域に命
令ポインタI PTRを留保して、第2図におとしてボ
されている次のプロセスのアドレスにより識別されてい
る次のプロセスへ動き、それから新しVhプロセスのた
めのIPTRをIPTRレジスタ67にロー1−′する
少くとも1つのプロセス実行が常に存在するように、零
プロセスが設けられ、他のプロセスがアクティブでない
時はその零プロセスが実行される。
先に定義した手続「実行(run月、[待機(wait
)J、「へ移@ (moveto) Jはスフジューリ
ングにおいて使用される。あるプロセスはそれが現在の
プロセスである時、または実行されることを待っている
プロセスの結合されたリスト上にある時に、そのプロセ
スは「スケジュールされろ」。
あるプロセスが結合されているリストから外された時に
「スケジュールから外される」ことになる。
スケジュールから外さ第1たプロセスは、他のプロセス
または命令がその外さ云たプロセスをスケジュールに@
’f、セる、すなわち、結合されたリストの宋尾にそれ
を加女るfでは、決して実行されることはない。LPT
Rレジスタ74(第3図)はリスト上の最後のプロセス
のための作業域ポインタを格納するために用VIr−)
tl、ることを思い出すであろう。したがって、プロセ
スが結合されたリストに付加されるたびにLPTRレジ
スタ74を調整せねばならない。また、あるプロセスを
スケジュールに含める場合には、その゛プロセスの次に
どの命令を実行すべきかをCPU 12は決定できなけ
ればならない。これは適切な命令ポインタIPTRをメ
モリに格納することにより行われる。プロセスが実行中
はそのIPTRはIPTRレジスタ76内にある。その
格納はたとえばメモ’) jaPfr36 (z 2図
)で行われる。
それらの手続の説明においては、作業域32と田とI/
ジスタ弱、67.71,73.74を下す第4図を参照
すると便利である。第4図は代表的なメモリ・アドレス
と、作業域の内容なボすものである。
作業域32を有するプロセスは、それの作業域ポインタ
WPTRをレジスタ73に挿入することにより現在のプ
ロセスにされる。この場合にはWPTRは1ooooに
等しい。プロセスが現在のプロセスになると、プロセッ
サはWPTR−1を調べることにより、すなわち、メモ
リ場所9999における内容を調べて、ある命令に対す
るポインタあを見つけ、そわをIPTRし・ジスタロ7
にロードすることにより、次に実行する命令を見つげる
。こわが現在のプロセスであるが、プロセッサは次の命
令を指すためにIPTRレジスタ67の内容を使用する
処理中は、プロセッサは、WPTRすなわちAレジスタ
71の内容のような基準値と、レジスタ65に置かれて
いるオペランドを組合わせることにより形成されるアド
レスを有する変数を使用する。作業域オペレーションか
ものロードにおいては、「2」のオペランドがメモリ場
所10002にあるものを何でも対象とし、作業域32
に対応するプロセスが現在行われる。処理を停止する時
は、結合されているリストが調べられる。要素85’、
86は結合されてVするリストの部分である。次の作業
域を指すメモリ場所9998におけるWPTR85を見
つけるために、プロセッサはWPTR−2を調べる。ポ
インタ85は作業域33を指す数11000を含む。作
業域33に対応するプロセスが結合されているリスト上
の最後のプロセスであるとすると、LPTRレジスタ7
4がポインタ11000を含む。結合されているリスト
VC,あるプロセスが付加されるまではポインタ86は
メモリ場所10998に格納されない。
ここで3つの手続について説明することにする。
PROCrun(w)がWにより定められるプロセスを
スケジュールにするため、すなわち、そのプロセスを結
合されているリストに加えるために用いられる。この手
続は先に定義したものであるが、ここでその定義と、そ
の定義に用いた線番号を参照することにする。
Wの値が特殊な値r READY Jであるとすると、
何の動作も実行されない。これについてのそれ以上の説
明は種々のマイクロコンピュータの間の通信について後
で行うことにする。それ以外はWはプロセス作業域1c
対するポインタであって、線5゜6が逐次実行される。
線5においては、LPTRはLPTRレジスタ74の内
容を意味する。それは、結合されているリスト上の最後
のプロセスのための作業域に対する基準アドレスに対す
るポインタである。アドレスがLPTR−2であるメモ
リは次のプロセスのための作業域ポインタのアドレスを
含むが、LPTRが最後のプロセスに対応するからまだ
伺もない。いまは線5がW(プロセスWにおける作業域
ポインタ)をメモリ場所LPTR−2に割当てるから、
いまはプロセスWは結合されているリストの終りにある
。この点ではLPTRレジスタ74の内容は最後のプロ
セスWを指さず、最後から2番目のプロセスを指す。こ
れは、プロセスWのための作業域ポインタをLPTRレ
ジスタ74に入れる線6において修正される。このステ
ップのために、プロセスWを意図しないのに削除するこ
となしに、結合されているリストに別のプロセスを付加
テキる。そのような削除は、L、PTRレジスタ74が
更新されない時に起る。第4図を参照して、ただ2つの
処理されているプロセスがあり、かつポインタが120
00である作業域にプロセスWが対応するものとすると
、PROCrun(w)が12000 ラメモリの[1
0998〕に入れ、12000をレジスタ74に入れる
「待機(wait)Jと呼ばわる手続は単独で、または
PROCrun(w)と組合せて、使用できる。それ自
身でその手続は現在のプロセスをスケジュールから外し
、システムが次のプロセスを実行できるようにし、それ
のプログラムの最初の命令における代りにそのプログラ
ム中の適切な所でそのプロセスを実行する。ここで、 
PROCwait Kつぃて先に行った定義を参照する
ことにする。PROCrwa i月が呼出されると(線
1)、4つのステップ(線3,4,8.9)を有するシ
ーケンスが開始される(線2)。線4〜7は外部からの
要求に関するものであり、こねについての説明を延ばす
ことができる。もつとも、リンク(プロセス)は直列リ
ンク25(第2図)のプロセス・レジスタ47の内容を
表す。@3においては、メモIJ [WPTR−11は
アドレスWPTR−1におけるメモリ・スペースである
。そのアドレスは現在のプロセスの基準アドレスWPT
Rを基にしてVする。ここで説明している実施例におい
ては、そのメモリ場所は、プロセスが推奨された時に次
に実行される命令を指すために用いられる。IPTRレ
ジスタ67の内容は、現在のプロセスの次に実行する命
令を常に指す。したがって、線3は次に実行する命令に
対するポインタをメモリ(なるべくなう同じチップ上の
)に単に格納するだけである。手続PROCrun(w
)がPROCwaitに先行するものとすると、この時
には、現在のプロセス(W)は結合されているリストの
終りに付は加えられており(PROCrun(w) 1
により)、LPTRレジスタ74は更新されており(や
はりPROCrun(w)により)、いまはプロセスW
のための次の命令に対するポインタは、プロセスWのた
めの作業域ポインタのアドレス(WPTR)に関して既
知の場所、メモリ(wpTa−11に格納されている。
したがって、プロセスWはいまは実行されなくなるため
の率備が整う。?s8は次のプロセスのための結合され
ているリストを調べる。それの作業域は現在の作業域の
アドレスWPTR−2における内容により指される。し
たがって、線8は結合されているリスト上の次のプロセ
スのための作業域ポインタなWPTRレジスタ73に割
当てる。
今は基準アドレスが進み、装置はメモリのアドレスWP
TR−1に格納されているポインタを調べることにより
、このプロセスのだめの次の命令であるかを探す。第4
図を用いるために、作業域32が現在性われており、そ
れのプロセスがPROCwaitを含む命令を受けるこ
とについて考察する。最初ハWPTR+’l 1000
0C−、%ル。a 8 VCオv= テ、1fs73ハ
メモリ・アドレス9998において見出される内容にセ
ットされる。それはポインタ11000である。
線9においては、レジスタ67はメモリΦアドレス10
999において見出される命令ポインタでセットされる
。したがって、PROCrun(w)の後にPROCw
aitが続くものとすると、現在のプロセスがすストの
終りに付は加えろねるものとすると(それの作業域ポイ
ンタが結合されているリストに格納される)、それの次
の命令に対するポインタはメモリに格納され、それは活
動を停止させられ、結合さハているリスト上の次のプロ
セスが適切な命令の始めに開始される。これらの動作の
全てはたった4つのレジスタを用いて行われる。このよ
うに構成することにより、システム中のメモリの険によ
ってのみ数が制限されるプロセスのスケジューリングと
デスケジューリングを行えるようにされる。
rmovetoJと名づげられた手続は、新しいIPT
Rへ必ずしも変更することなしに、作業域基準ポイン゛
りを現在のプロセスのための作業域における異なるアド
レスにセットするために使用できる。したがって、ある
プロセスがそねの基準作業域ポインタを10000に有
しているものとすると、この同じプロセスのために基準
ポインタな(10200)に変えるためにmoveto
(10200)を用いてレジスタをセットできる。これ
はPROCmoveto(w)の前記した定義を参照し
て次のように説明される。
定義の2行目はこれが一連のステップであることを宣言
している。3行目と8行目は左マージンから等しくすら
さねているから、七ねらはともに逐次実行される。クス
テムが最後のプロセスでないと仮ボする。そうすると、
行2は偽であるからクステムは行6へ飛び越す。行6に
おける条件は真であるから行7が実行される。行7はメ
モリ・アドレスw−2における内容を、結合されている
リスト上の次のプロセスのための作業域ポインタにセッ
トする。次に1行8がWPTRレジスタ73の内容を値
WK変える。今レジスタ73は現在のプロセスのための
新しい基準アドレスを指す。この新しい基準アドレスか
らの慣例となっているずれ(マイナス2)が、次にスケ
ジュールされるプロセスのための作業域に対するポイン
タを見出す。
次のプロセスがない場合には、行2が真で、 LPTR
レジスタ74の内容が、最後のゾロセスのための基準ア
ドレスとしてWを指すために調整され、その後で現在の
プロセスの基準アドレスへのポインタを保持するための
レジスタ73がWを指すように調整される。
以上、スケジューリングについて第4図を説明したが、
いくつかの機能とオペレーションについて第4図を参照
して丈に説明する。
作業域からのロード 作業域からのロードはある特定のメ七り場所における内
容を複写し、それを暗黙のうちKAレジスタ内に置く。
この機能と、好適な実施例の構成は、基準となる現在の
作業域ポインタからのオフセットにより定められるアド
レスを有するメモリも暗黙のうちに参照する。この基準
アドレスはWPTRレジスタ73に常に格納され、オペ
ランド拳レジスタ65にオフセットが含まれる。したが
って、。
式″memory[WPTR+0REG]”は、WPT
Rレジスタ73とレジスタ)55との内容を加え合わせ
ることにより見出されるアドレスを有するメモリの内容
を指す。”1oad”はAレジスタ71を指し、スタッ
クの内容が1つのレジスタにより下方へ移動させられる
、すなわち、Aレジスタの内容がBレジスタへ移動させ
られ(データをAREGにロードさせるための余地を作
る)、BREGの内容がCレジスタ(もしあれば)ヘロ
ードされる。第4図を参照して、WPTRが10000
であるとすると、コード02を用いて” 1oad f
rom workspace’は変数2をAレジスタに
ロードすることを意味する。
この5tore to workspace″命令は、
Aレジスタ71に含fれているのはイ0]であっても、
オペランド・レジスタ酷に含まれているオフセットによ
り(WPTRレジスタ73に含まれている)基準アドレ
スからずらされるアドレスを有するメモリ領域に動かす
ことを暗黙のうちに意味するものである。
fだ、スタックは上方へもIN+<(たとえば、BRE
Gの内容がAREGへ動き、CREG(7)内容がBR
EGへ動く)。再び第4商を参照して、WPTR=10
000および0REG=1であるとすると、この機能は
、Aレジスタ71の内容をメモリ場所10001に格納
することを意味する。それは変数1である。
作業域内へのポインタのロード 機能″1oad pointer 1nto work
space”はどのデータも作業域に格納しない。その
代りに、この機能は作業域内のある特定の場所へのポイ
ンタをAレジスタ71にロードする。これは、たとえば
、作業域に格納できるベクトルのある特定の部分を指す
” 1oad from vector″命令KIQ+
命令て使用される。したがって、第4図を参照して1作
業域32は10000である作業域ポインタWPTRに
より参照される。作業域内の既知の場所においてはベク
トルが存在し得る。そのベクトルは10200 。
10201 、10202のような複数の棉所な督する
。このベクトルの初めは作業域ポインタ(10000)
からのある特定のオフセラ)(200)である。したが
って、ベクトルの初めを見出すためには、オフセット(
200)がオペランド拳レジスタ65にローPさね、そ
わから命令”1oad pointer int。
workspace″がアドレス10200をAレジス
タ内に置く。それはそのベクトルの初めを指す。その後
で、ベクトルの初ぬに関して特定のメモリ場所を見出す
ために” 1oad from vector ” オ
ペレーションが用いられ、したがって、作業域ポインタ
脅レジスタ730代りにAレジスタ71に鞘合わされた
オペランし争レジスタ65内のオフセットをそれは用い
る。
リテラ、If/ II o−ド(load 1iter
alン″1oad 1iteral″酪令はオペランド
−レジスタ65内にあるものはどんなものでもAレジス
タ71(評価スタックの1番上)にその葉まロードする
第5図を参照して、与えられた任意の命令のflの4ビ
ツトがオペランド・レジスタ嘔にロードされるが、プレ
フイクシング機能な用いることにより、4ビツト以上を
オペランド・レジスタに格納できる。しかし、たとえば
、IO進表記で613のコードを暦する命令は、913
をAレジスタ71 K ロードし、Aレジスタの以前の
内容をBレジスタ72へ桁送りすることを意味する。
飛越しくjump) ”jump”機能はプログラム中で分岐するために用い
られる。現在のプロセスでプロセッサにより次に実行さ
れる命令は、命令ポインタを含んでいるIPTRレジス
タ67の内容により指軍される。飛越し命令はオペラン
ド・レジスタ65の内容を命令ポインタに加え合わせる
。プレフイククング機能を用いることにより、命令ポイ
ンタはそれに加え合わされた値、またはそれから減じら
れた値を有することができて、プログラム中で前方また
は後方へ飛越すことができる。
手続呼出しくcall procedure)” ca
l l procedure ’ 機ffpは前記した
″’m0Vet□″手続を用いる。call proc
edure”は次に実行する命令のための10例のメモ
IJ mPk (たとえば、第4図のメモリ場所999
9)にIPTRを最初に格納する。次に、その機能は、
”call procedure”機能が終了させろね
た後で次に実行すべき命令に対するポインタがロードさ
れているAレジスタ71の内容を、命令ポインタ・レジ
スタ67へ転iする。
それから、Aレジスタ71に作業域ポインタがロードさ
れる。これに続いて、″moveto″手続が基準ポイ
ンタWPTRを変更して、七〇基進ポインタWPTRが
現在の作業域内の異なるアドレスを指すようにする。’
moveto()”手続はWPTRレジスタ73の内容
を、movetoに続く括弧の中の内容にセットするも
のである。したがって、”callprocedure
 (呼出し手M、)”の後では現在のプロセスのための
同じ作業域内の異なる場所を指す作業域ポインタをシス
テムは有することになり、Aレジスタ71に前から含ま
れていた異なる66令をシステムが実行する準備がされ
たことになる。
RETURNオペレーションの使用により逆のオペレー
ションが行われる。
プロセス実行(run process)このオペレー
7ヨy ” run process”は1峙の作業域
と1鞘の命令を有するプロセスの構成において一般に使
用される。Aレジスタ71には新しいプロセスのための
作業域用の作業域ポインタがロードされ、Bレジスタに
は析しいプロセスのための適当な命令ポインタがロード
されてVする。オペレーション″run proces
s”は作業域ポインタから適切にオ、フセットされたメ
モリ内の場所に命令ポインタを格納し、そねかも括弧内
の作業域ポインタを用いて前記手続PROCrun()
を呼出す◇先に説明したよ5に、これは新しV3プロセ
スのスケジュールを作成する。すなわち、結合されてい
るリストに〃[シいプロセスを付加する。
休止(pause) ”休止”オペレーションは、1つのプロセスが他のプロ
セスを除外してALU 55を使用することを阻止する
ためにゾログラム中に現れる。このオペレーションはコ
ンパイラによりループ中に挿入さり、b。このオペレー
ションは、現在のプロセスを結合されてVするリストの
終りに付加し、必要なポインタを格納し、現在のプロセ
スに実行をしばらく休止させ、結合されているリスト上
の次のゾロセスを現在のプロセスにする。評価スタック
の内容をプロセスを摺うことなしに捨てることができる
時にpause″が実行されるから、評価スタックの内
容は保留されない。
結合(join) この″join″オペレーションは、たとえば並行プロ
セスが存在する時に用いられ、それらの並行プロセスの
全てが同時刻にプログラム中のある点にあるべきである
ことを意図するものである。元のプロセスP(0)につ
いて考えることにする。プログラム中のある点において
そのプロセスP(0)は並行側プロセスP Ill 、
 P i21 、 P (3)−・P (nlに拡がる
それらが実行されると、Aヲ鏝のプロセスP(n+1)
を実行する。しかし、P(118Pf2+・・・P(n
lの全てが終るfではその最後のプロセスは起らない。
″join″オペレーションはこのために用いられるも
のである。カウンタが作業域内で設足され、Aレジスタ
71がカウントの格納されるメモリに向けられる。カウ
ントは依然としてアクティブである(終っていない)副
プロセスの数に対応する。各副フロセスは″”1oin
”オペレーションとトモに終る。あるDIプロセスがそ
れノ”join”オペレーションに到達した後で、その
副プロセスはカウントを調べる。カウントが零であると
、プログラムはmoveto”手続を用いて最後のプロ
グラムへ勧く。カウントが零でなげれば、カウントはl
だけ減少させられ、それから先に述べたようにして副ノ
o セスは“wait″させられる。他の副プロセスは
零カウントにp″″f′るまで実行される。
C同期(synchronise) ” 5ynchronise″オペレーシヨンは並行処
理にとって非常に重壁である。というのは、その” 5
ynchronise″オペレーシヨンを使用すること
により2つのプロセスをある時刻に同じ点に置くことが
できるからである。これについては「同じマイクロコン
ピュータ上のプロセス間の通信」の項において第9図を
8照して説明することにする。
簡単に説明すれば、同じチップ上の2つのプロセスXと
Yが、たとえば一方のプロセスが必をとするデータを他
方のプロセスが計算しているために、通信を希望したと
すると、チャネル40 、4] 、 42または43 
(第2図)が用いられる。各プロセスは″5yncbr
onjse″オペレーションを有する。
”5ynchronise″オペレーシヨンに到達する
最初のプロセスはチャネルを調べる。チャネルのアドレ
スはAレジ大タフ1にロードされているから、”mem
ory[AREG] ”がそのチャネルのことを言及す
る。表現式” NIL”は零として認められる所定の基
準のことを指す。第1のプロセスによりチャネルの初め
の部分K NILが見出されたとすると。
そのプロセスはそれの作業域ポインタをチャネルの第1
の部分に置き、それからそれ自身でスケジュールから外
れる。それでそのプロセスはプロセスYがそれの”5y
nc”オペレーションに到達するのを待つ。プロセスY
が” 5ync”オペレーションに到達すると、プロセ
スYは同じチャネルの第1の部分を調べる。そうすると
、 NILは見つからないが、その代りにある作業域ポ
インタを見つける。
それに応答してプロセスYはプロセスXをスケジュール
する(結合されているリストの終りにそれを加え合わせ
る)。チャネルの第1の部分はNILに戻る。一般に、
1つのプロセスから他のプロセスへ転送するためのデー
タが置かれる少くとも第2の部分がチャネルに存在する
。また、同期オペレーションは一般に対となって起る。
2つのプロセスにおける第1の″5ync″オペレー7
ヨンハフロセスにデータを待機させ、それから準備が整
った時にそのデータを転送させる。第20″’ 5yn
c”命令は確認応答を行わせろ。したがって、プロセス
からデータを入力しているプロセスは’ 5ync”す
る。データがレディ状態になっていないとjると、その
データは6待機”する。供給プロセスによりデータがレ
ディ状態にされると、その供給プロセスは受けるプロセ
スをスケジュールし、それから受けるプロセスはデータ
をとる。それから各プロセスによる″5ync″命令が
転送の確認応答をする。データを供給するプロセスによ
る最初の”5ync”は、データを、とる準備が整って
いることを不す。
先に説明したように、このマイクロコンピュータは同じ
マイクロコンピュータにおけるプロセス間、または異な
るマイクロコンピュータにおけるプロセス間の通信を可
能にする。たとえば、1つのプロセスは自動車の走行距
離の測定、第2のプロセスはその自動車の走行距離に対
する燃料消費量の測定ということがある。第1のプロセ
スは入走行距離を表す出力を発生する。第2のプロセス
は燃料消費量に関連するデータを入力として受けるが、
走行距離に対する燃料消費量についての有用な出力を発
生できるようになるためには、走行距離についてのIN
報を得るために@1のプロセスと又借することも必要で
ある。同じマイクロコンピュータにおける通信を処理す
るプロセスの場合には、ここで説明している例では第2
図にボされているチャネル40〜43を通じて通信が行
われる。
このオペレークヨ/には同期オペレーションの使用が含
まれる。その同期オペレークヨンには、機能とオペレー
ションの前記した表からの機能コード13トオペレー/
ヨン・コード11より成るプログラム命令を要する。各
チャネル40〜43はメモリ内の2つの連続する語場所
より成る。1つの必場所は「プロセス場所」を与え、第
2の語集所は「データ場所」を与える。チャネルは一方
向通信チャネルであって、ある1つの時刻には2つの、
そしてただ2つのプロセスにより共相される。あるアク
ティブ・プロセスXが同じマイクロコンピュータ上のプ
ロセスyと通信することを望んだとする〜 と、第9図
a〜eを参照して後で説明するシI−ケンスが行われる
。第1に、プロセスXはチャネル(40)のアドレスを
識別し、通信しようと思うデータをそのチャネルのデー
タにロードする。また、プロセスXは同期オペレーショ
ンのための命令の実行も行う。プロセス場所がデータを
受けることを待っているプロセスyの作業域ポ4ンタを
有していないとすると、li[JJオペレーションを1
プロセスXのWPTRをプロセス場所に記録させ、プロ
セスXをスケジュールから外すためVC”wait“手
続を使用する。これは第9図すに示されている位置であ
る。今は、プロセスXはプロセスyがデータを受ける準
備が整うまで待つ。プロセスyがデータを受けることを
希望すると、プロセスyは同期オペレーションのための
命令を実行して、通信チャネル40がデータを送る準備
が整っているかどうかを調べる。この命令の実行に際し
て、プロセスyはプロセスXの作業域ポインタをチャネ
ル40のプロセス場所に置き、オペレーションのリスト
において述べた同期オペレーションかられ力)るようニ
、1iHQオペレーションの実行によりrun”手続が
プロセスXの作業域ポインタをチャネル40かも除去さ
せ、実行を待ってVhるプロセスのリストの終りにプロ
セスXを付は加える。これは第9図Cにおける位置であ
る。それからプロセスyはチャネル40のデータ場所か
らデータを読出し、それかl−> 1ift 期オペレ
ーションのための別の命令を動作させて、それがデータ
を受けたことを指ホする。
このためにプロセスyの作業域ポインタがチャネル40
のプロセス場所にロードされ、プロセスyを待機させる
。このためにプロセスyがスケジュールから外され、チ
ャネル40を第9図d(Cボす状態に放置する。プロセ
スXがその上で待機しているリストがプロセスXに到達
して、プロセスXが再びアクティブ状態にされると、い
まプロセスyの作業域ポインタをチャネル40のプロセ
ス場所に置く同期オペレークヨンのための別の命令をf
ロセスXが実行し、そのためにプロセスXの動作を継続
できることになる。それと同時に、プロセスyがプロセ
スの待機リストの終りに再び付は加えられて、実行の進
備が整うように、Xプロセスはプロセスyに’ run
″手続を行わせる。そうすると通信チャネル40は第9
図eに不丁状味となり、プロセスXは継続さh1プロセ
スyはリスト上で待機している。このようにして、” 
handshake ”オペレーションを行っている両
方のプロセスにヨリ通信が同期される。” hands
hake”オペレーションにおいては、両方のプロセス
がオペレーションを同期させるために2つの命令を実行
する。それら2つの命令のうちの一方はプロセスをスケ
ジュールから外し、スケジュールから外されない方の通
信プロセスから適切な信号が受信された時に、スケジュ
ールから外された方のプロセスだゆがリストへ戻される
次に、第1O図を参照して、同じマイクロコンピュータ
上で2つの通信プロセスを実行するために必萼なプログ
ラムと命令クーケンスの特殊な例について説明すること
にする。これは自動車の走行距離と燃料消費給を測定す
るための、先に述べた2つの例を不すものである。マイ
クロコンピュータ170はそれのメモリ域に、変数″r
otations”をカウントする第1のプロセスのた
めの第1の作業域171と%変数”m1les″をカウ
ントする第2のプロセスのための第2の作業域172と
を有する。
作業域171は語鳩所173を有し、この飴場所にはr
otation”と呼ばれる入力チャネル174のアド
レスが含まれる。その人力チャネルは、外部の回転極L
ll18器(図示せず)から各車輸謙)転数についての
メツセージを受けるように構成されている直列リンクの
一部を構成する。作業域171は別の語場所175も有
する。この飴場所175にはチャネル”m1le”と呼
ばれる2語メモリ・チャネル176のアドレスが含ずれ
る。この場合には、このメモリーチャネル176は、車
輪の1000 IO1転ごとに1m1leの走行を示す
作業域171のプロセスからの出力を受ける。
この第1のプロセスに対するOCCAMCCA相いるプ
ログラムは次の通りである。
L  VARrotations: 2、   WHIIJ  TRUE 3、    5EQ 4、      rotations :=Q5、  
    WHILE  rotations<1000
6、          8EQ 7、            rotation’i’
ANYB、            rotation
s :=ratations+19、mi le ! 
ANY 行番号はこのプログラムの構成部分ではないが、説明を
容易にするためにつげた。1行目は存在する変数を宣言
する。その変数は”rotations”と呼ばれる。
2行目は、条件TRUEが常に具であるから、終りの無
いループである。零回転からスタートす7)(4行目)
。7行目ではrotation”という名前のチャネル
からの入力を待つ。1が受けられると、変数” rot
ations″が1だけ増加させられる。最後には10
00回転となるから、5行目は偽となる。そうすると6
.7.8行目はスキップされ、9行目で”m1le”と
いう名のチャネルへ1つのデータが出力される。
そわ、らのOCCAM文がコンパイラにより下記のよう
rj機械命令に変換される。
命令シーケンス     DCCAM言語によるプログ
ラム機能 コード   データ VARrotations: ンIHILE TR1JE EQ この機械命令の表においても行番号は説明の便宜上つげ
たものである。1,4.21行はプログラム中における
単なる参考場所である。2行目においてf[OをAレジ
スタ71にロードする。3行目でAレジスタ内のデータ
を作業域に格納する。命令データ部分はOであるから、
このプロセスのための基準アドレスからのオフセットは
ない。したがって、作業域ポインタ・レジスタ73はい
まは作業域ポインタWPTRを含む。この作業域ポイン
タはメモリ内の、変数″rotations”のために
0が格納されている基車アドレスを指す。5行目で作業
域からAレジスタ71にロードする。命令のデータ部分
(その命令はオペランド・レジスタ砺にロードされる)
はOであるから、作業領域の基準アドレスWPTRから
のオフセットは0である。6,7.8行目において【0
進値1000を加える。命令のデータ部における4つの
2進ビツトな剛いて10進数の1000を8丁ことはで
きないから、10進数1000を加えるためにはプレフ
イクシング幸オペレークヨンを必要とする。そこで機能
コードM(pfix)が用いられる。10進数1000
は2進数では1111101000で表される。これに
は10ビツトを心安とするが%標準命令のデータ部は4
ビツトであるから、この値をオペランド・レジスタにロ
ードするためには3つのステップを必要とする。8行目
を1”1oad 1iteral″機能のためのコード
を含むから、この時には、Aレジスタ71には1000
の2進値が含まれる。これによりAレジスタの内容(0
である)がBレジスタ72へ転送させられる。
9行目では間接機能、すなわちオペレーション”gre
ater than”が呼出されろ。これによりレジス
タAとBの内容が比較される。Bレジスタの内容がAレ
ジスタの内容より大きくなければ、このオペレーション
はFALSE(0)となる。
10行目は” jump nonzero”オペレーシ
ョンである。9行目のオペレー7ヨ/の結果が真である
とすると、Aレジスタの内容が非零f1塚にセットされ
、[0行目から9行だけAllへ飛越しが行われる。
これはコードのデータ部における数字9で下されている
。これによりプログラムは21行目まで前へ飛越す。2
1行目は出力部である。1000回転がまだカウントさ
れていないと仮定すると、矢に[1行目が実行される。
1]行目では、作業TI&機能からのロードは+1のオ
ペランドな有する。このことは、基準アドレスfJ)ら
のオフセットが+1であることljc味する。このメモ
リ・アドレスにおいて千ヤネルt″rotation″
のアドレスが見出され、このアドレスは作業域からAレ
ジスタ71にロードされる。12行目では同期オペレー
ションが行われる。
13行目ではチャネル” rotat ion”のアド
レスが再びロードされ、14行目では再び同期が行われ
て入力オペレーションが終了される。こりF/f’i単
な例においてはデータは転送さf″Iない。15行目で
は作芸域にある変数、オフセット0、がAレジスタに 
   □ロードされる。すなわち、“rotation
s ’lの現在の値がAレジスタヘロードされる。16
行目においては、データ11n1がAレジスタの内容へ
そのママ加え合わされる。17行目では、Aレジスタの
内容が0に等しいオフセットで作業域内に格W1される
したがって、チャネル″rotation”からのデー
タの受けとりに応じて変数” rotations”が
増加させられたことになる。18行目は休止オペレーシ
ョンであって、医のプロセスを実行させ、この現在のプ
ロセスをリストの末尾に加える。このプログラムのこの
点においてはAレジスタ71とBレジスタ72の内容は
プロセスにはljJ連していないことに注意されたい。
19行目と加行目においては負のゾVフィックス機症を
用いて後方への池越しが実行される。n行目においては
、基準場nrから2場所だけオフセットされている作業
域の内容がロードされる。これはチャネル”m1le″
のアドレスであって、七′FLはAレジスタヘロードさ
れる。お行目においては同期オペレーションが行われる
。5行目で行われる別の”5ync”オペレーションに
より出力が完了させられろ。訪行目において別の休止が
挿入されて、次のプロセスをスケジュールに加え、この
プロセスを結谷されているリストの末尾に加える。υ行
目とn行目においては負のプレフイクシングを用いて倭
力への飛越しが行われる。
変数”m1les”に関する第2のプロセスは作業域1
72を使用する。この作業域172は’m1le”チャ
ネル176を含む諸堤所177を有する。”mjle″
チャネル176は作業域172のプロセスへ入力を与え
るために柑いられる。別の語場所178が第2の入力の
アドレスを有する。この第2の入力は、この場合にシエ
、約3.9t(1ガロン)の燃料が消費されるたびに外
部の燃料計からのメツセージを受けるように構成された
直列リンクの部分を形成する、“fuel”チャふルと
呼ばれるチャネル179である。
作業域172は別の飴堤所180も有する。この語場所
180は、燃料の最後の約3.9t(1ガロン)が消費
される間に走行した距離を出力するように構成された直
列リンクの部分を形成する“consumption″
チャネルと呼ばれる出力チャネル181のアドレスを有
する。明らかに、走行距離数を示すメツセージをチャネ
ル176を介して得るためには、作業域172内におけ
るプロセスは作業域171におけるプロセスと通信する
必要がある。作業域172におけるプロセスのための命
令シーケンスとプログラムは次の通りである。
命令シーケンス        OCCAMによるプロ
グラムコード   データ EQ Ll= ldl  O60m1lesニー0 stvo    1 0 −   11工LE TRT
JEL2!                 ALT
ldwl    O1m1le?A?JY:Ldv04
0 0pr  eqZ  13 1 jnz1399 dwlol opr  5ync 1.3  :L1dw101 opr  5ync :L3 1:L Mw  OOOm11es:=miles + 1dl
171 S・噌 0  10 pfix    :t、41 j   L4  8 0 命令シーケンス(続き)       OCCAMによ
るプログラム(続き)機能 コード   データ L5X           − 1dw  2   0 2    fuel?jWYd
v040 opr  eqz  13 1 jnz  L4  9 12 dw202 opr  5ync  13 11 dw202 opr  5ync  13 1’I EO 1dw  3   0 3     consumpt
ion ! m11es:LdwOOO stv15+1゜ opr  5ync  :L3 11 dw303 opr  5ync、 13 11゜ 1d10   6 0     m1le引=Ostw
  OI  O ソロ opr  pause 15 9 nfix     15 1 j  L2 80 異なるマイクロコンピュータ上の 相互に接続されたマイクロコンピュータのネットワーク
が!11図に示されている。第11図には4台のマイク
ロコンピュータが示されている。このネットワークは要
求に応じて二次元または三次元に拡張できることがわか
るであろう。各マイクロコンピュータの構造は類似して
おり、2本の一方面ワイヤ185 、186により別の
マイクロコンピュータの直列リンクに相互に接続される
。各ワイヤ185 、186は1台のマイクロコンピュ
ータの出力ビン27と、他の1台のマイクロコンピュー
タの入力ビン26の間に接続される。ワイヤ185 、
186はそれら2本のビンとビンの間の接続だけに使用
されるのであって、他のマイクロコンピュータまたはメ
モリとの接続に共用されるものではない。種々のマイク
ロコンピュータの間の通信は、同一の同期オペレーショ
ン・クーケンスを用いて全体トして類似のやり力で行わ
れる。これについては第2、11.12.13図を参照
して説明する。チャネル40(第2図)の代りに、直列
リンクは入力チャネル45と出力チャネル46を有する
。各チャネルはプロセス・レジスタ47とデータナレジ
スタ48・より成る。
それらのレジスタレエメモリψチャネル40〜43のだ
めの詔場所と同じやり方でアドレスできる。しかし、そ
れらのレジスタは制御ロジック間により動作させられる
。この開開10シックにつVlては第15.16図を参
照して説明することにする。
2台のマイクロコンピュータの間の直列リンクを通じて
データが送られる時は、そのデータは第13a、 13
b図に示されているようなパケットの形で直列に送られ
る一連のデータ列の形をとる。データパケットは第13
a図に示すような形な有し、出力ビンnにより入力ピン
がへ送られる。データパケットは値が1である2つの連
続するビットで始まり、その後に16個のデータφビッ
トが続き。
値が00ストツプ拳ビツトで終る。第13b図に示され
ている確認応答パケットが、データパケットを受けるマ
イクロコンピュータの出力ビン茨から。
データパケットを送るマイクロコンピュータの入力ビン
がへ送られる。確認応答パケットは情が00スタート会
ビツトと、その後に続< fii カOのストップ−ビ
ットより成る。4!rW列リンクの出力1「i]餌餌口
0シツク、各出力ピン訂がデータパケットまたは確認応
答パケットを送らない時に1直が00ビツトを連続して
送るように出力ビンnを構成するから、入カビ/26が
ノぞケラトの1スタート・ビットを受けるまでは入力割
引(ロジックは入カビ726上の全ての信号を無視する
入力チャネルまたは出力チャネルのプロセス・レジスタ
がプロセスの作業域ポインタを保持している時は、CP
U12がプロセスの作業域ポインタを実行を待っている
リストに加え合わせることによりそのプロセスをスケジ
ュールするように、制菌ロジック(資)は要求(入力要
求または出力要求と呼ばれる)を発生してCPU 12
へ与えることができる。
同期ロジックlOは、直列リンクからの各要求信号を調
べるためにCPU 12により使用されるセレクタを発
生する。“wait”手続の実行によりアクティブ・プ
ロセスがスケジュールから外された時は、直列リンクか
らの要求があるかどうかをCPU 12は調べる。もし
いくつかの外部要求があれば、CPU12はリスト上の
次のプロセスを実行する前に、それらの要求の全てを順
次サービスする。その要求を発生したチャネルのプロセ
ス・レジスタに保持されているプロセスをスケジューリ
ングすることによりCPU12は要求をサービスし、プ
ロセス・レジスタ47を零にリセットする。リンク5内
の入力チャネルまたは出力チャネルのプロセス・レジス
タ47は、そのチャネルが通信を実行する用意ができた
時に、特殊な値READYを含む。同期オペレーション
は手続”run”を行わせる。その手続”run″によ
り特殊な値READYを検出し、あるプロセスをスケジ
ューリングする代りに、リンク内の制御ロジック(資)
の動作を停止させる。リンク内の制菌ロジックはチャネ
ル上で同期オペレーションを実行できる。その同期オペ
レーションはチャネルのプロセス場所をテストする。値
が零であるとすると、それはその値を特殊な値READ
Yで置キ換え、プロセス・レジスタ上のプロセスにより
ひき起される同期オペレーションがその値を零にリセッ
トするまで待つ。そうでなげれば、前記しタヨウにプロ
セス・レジスタ内のプロセスをスケジュールするために
それはCPU 12のための豊水を発生し、それからC
PU 12はプロセス・レジスタの値を零にリセットす
る。その結果、別のプロセスに同期させるために同期オ
ペレーションが用いられるのと同じやり方で、プロセス
は制御ロジック50に同期させるために同期オペレーシ
ョンをf用できる。
リンク25内の出力制用10ジヅク50は、出力チャネ
ル内のゾロセス・レジスタを用いてプロセスとの同期を
まずとり、それから出力チャネル内のデータ・レジスタ
からのデータノぐケラト中のデータを出力ピン27(第
2.11図)を通じて送り、入力ピンあ上で確認応答A
ケラト信号を待ち、それから出力チャネル内のプロセス
−レジスタを再び用いてプロセスに同期させる。出力1
同萌10シツクはこのオペレーションをくり返えし実行
する。リンク内の入力制(至)(ロジックは入力ピン2
6からのデータが入力チャネル内のデータ・レジスタに
到達することをまず待ち、それから入力チャネル内のプ
ロセス・レジスタを用いてプロセスに同期させ、次に入
力チャネル内のプロセス・レジスタヲ用いてプロセスに
魯び同期させ、それから確認応答パケット信号を出力ビ
ンnへ送る。入力制叫10シックはこのオペレーション
をくり返えし実行する。
以下の説明においては、第11図に示されているマイク
ロコンピュータlにより動作させられるプロセスXがデ
ータを直列リンクな介して、マイクロコンピュータ2に
より動作させられるプロセスyへ出力することを望んで
いると仮定する。この出力を行うために、プロセスXは
出力すべきデータを出力チャネルのデータ・レジスタ1
87に格納し、プロセス・レジスタ188で同期オペレ
ーションを実行して、ピンnを介してのデータの伝送を
1負列リンクに開始させる。それからプロセスは同じプ
ロセス・レジスタ188について別の同期オペレーショ
ンを実行して、マイクロコンピュータ1の入力ピンあを
介しそ確認応答・ぞケラトが受けろれるまで待つ。確認
応答パケットは、マイクロコンピュータ2により動作さ
せられるプロセスyがデータを入力したことを意味する
。入力するために、プロセッサyはマイクロコンピュー
タ2の入力チャネルのプロセス・レジスタ189につい
て同期オペレーションの実行して、データ・パケットが
マイクロコンピュータ2のピン26かう到達することを
待つ。それからプロセスyはデータ・レジスタ190か
らデータをとり、別の同期“オペレーションを実行して
、マイクロコンピュータ2の出力ビン27から確認応答
信号を送信させる。
第12図は、プロセスXとyが直列リンクを介して通信
する時に起る典型的なオペレーション・シーケンス中に
おけるプロセス・レジスタ188゜189の内容を順欠
示すものである。参照番号188a〜188e 、 1
89aS189eはそれぞれプロセスlルジスタ188
 、189.0内容の引き続状態を表すものである。最
初に、プロセスXはマイクロコンピュータ1の出力チャ
ネルをアドレスし、出力すべきデータをデータ・レジス
タ187にロードし、出力プロセス・レジスタ188に
ついて同期オペレーションを行う。直列リンクが出力を
発する用慧が整っていることを示″f特殊なI+lW 
READY 188aをプロセス・レジスタ188が含
んでいると仮定すると、同期オペレーションによりプロ
セス・レジスタ188の値が零(NIL) 188bに
リセットされる。その結果、制rfAlロジックはデー
タQレジスタ187かうのデータを、1本のワイヤ接続
185を介してマイクロコンピュータ2の入力データ・
レジスタ190へ送らせる・。プロセスyが入力をまだ
待っていないとすると、マイクロコンピュータ2内の制
御ロジックがプロセスφレジスタ189の値をNIL1
89aからREADY 189 bへ変えて、データが
受けられることを示す。次lC,プロセスyがプロセス
・レジスタ189について同期オペレーションを行う。
そうするとプロセス・レジスタ189の値がRFJAD
189bからNIL 189cに変えられる。マイクロ
コンピュータ2が確認応答信号をマイクロコンピュータ
1へ送り用意が整っていると仮定すると、制御ロジック
はプロセス・レジスタ189の値をREADY189d
へ戻す。それからプロセスyは入力チャネルのデータ・
レジスタ190かもデータをとり、プロセス・レジスタ
189について別の同期オペレーションを実行する。そ
うするとプロセス・レジスタ189がNIL189eに
リセットされる。その結果、制御ロジックは確認応答信
号を1つのワイヤ接続186を介して送る。この確認応
答信号は、プロセスXを動作させるマイクロコンピュー
タ1の入力ビン26により受けられる。確認応答信号を
受ける前にプロセスXが第2の同期オペレーションを実
行すると仮定すると、プロセスXは手続″wait”に
よりスケジュールから外され、それの作業域ポインタが
プロセス・レジスタ188 (188りに格納される。
確認応答パケットが受けられると1.直列リンクの制御
ロジックが、プロセスXをスケジュールすることをマイ
クロコンピュータ11/)CPIJK求める要求を発生
し、プロセス・レジスタをリセットする。この要求は、
現在のプロセスがスケジュールから外されるとマイクロ
コンピュータ10CPHにより直ちにサービスされ、C
PUはプロセスXをリストの末尾に加えて、プロセス・
レジスタをNIL(188d)にリセットする。そうす
ると制御ロジックはプロセス・レジスタヲREADY(
188e)にリセットすることにより、リンクが更に出
力する用意が整ったことを示す。そのためには列リンク
は、第12図のシーケンスに示されているように。
通信が行われる前と同様になって1次の通信を行う用意
を整える。
第14図は、第【1図を参照して先に説明したプロセス
の2つのマイクロコンピュータについての動作を示す。
しかし、この場合には、回転数を数えるための作業域1
71がマイクロコンピュータ191にあり、距離をカウ
ントするための作業域172は別のマイクロコンピュー
タ192にある。それらのマイクロコンピュータ191
 、192はそれぞれの直列リンク5により相互に接続
される。チャネル”m1le”176aがマイクロコ・
ンピュータの191の直列リンクの出力チャネルを形成
し、チャネル”m1le”176bがマイクロコンピュ
ータ192の直列リンクの入力チャネルを形成する。第
14図において2つのプロセスを動作させるために使用
される命令シーケンスとプログラムは、各プロセスによ
り使用されるチャネル”m1le”のアドレスが、メモ
リ内のチャネルではなくて直列リンクのチャネルのアド
レスであることを除き、第1O図を参照して説明したも
のに全体として類似する。
リンク制御ロジックについての説明 次に、第15.16図を参照して、直列リンクの入力チ
ャえルと出力チャネル用の制御ロジック刃(第2図)に
ついて詳しく説明する。第15図は出力チャネル46用
の制御ロジックを示し、第16図は入力チャネル45用
の制御ロジックを示す。
出力するために、リンクの制御ロジック50(第2図)
が出カプロセスφレジスタ47を用いてプロセスにまず
同期してから、出力データ・レジスタ48かものデータ
をビンnへ送り、それからピン加からの確認応答信号を
待ち、次に出力プロセス・レジスタ47を再び用いてプ
ロセスに同期する。制御ロジック(資)はこのオペレー
ションを<す返工し行う。
入力するために、リンクの制御ロジック50(第2図)
は、入力ピン拠からデータが到達することをまず待ち、
そのデータを入力データ・レジスタ48へ送り、それか
ら入力プロセス・レジスタ47(第16図)を用いてプ
ロセスと同期し、次に入力プロセス・レジスタを用いて
プロセスと再び同期し、その後で確認応答信号をビンn
へ送る。制御ロジック□□□はこのオペレーションなく
り返えし行う。
出力と入力のプロセス・レジスタ47によりとられる値
は、プロセスも制御ロジックも同期を待っていないこと
を示すNILと、制御ロジックが同期を待っていること
を示すREADYのことがあり、あるいは同期を待って
いるプロセスの作業域ポインタとすることもできる。
11ンクにおいては、各プロセス・レジスタ47と各デ
ータ・レジスタ46がアドレス・デコーダ193を介し
てパス16へ接続される。ノセス16はアドレス・デー
タおよび制御のための信号?mな含む。制御には″’w
rite″信号と、’ read”信号と、” bus
y”信号とを含む。” busy”信号はCPUとリン
ク制御ロジックが、プロセス・レジスタの頭を同時に変
えようとしないようにするために用いられる。
リンク内の各プロセス−レジスタ47は、プロセス−レ
ジスタ内の値がREADY 、 NILまたは作業域ポ
インタのいずれであるかを調べるためのロジック194
を含む。
出力データーレジスタ48(第15図)はアントゲ−ト
195とオアゲート196を介して出力ビンaに接続さ
れる。入力データ・レジスタ48(第16図)が入力ピ
ン26に@結される。
リンク内の各プロセス・レジスタには要求ラッチ197
が組合わされる。CPUがWAIT手続を実行する時は
、全ての要求ラッチの状態が常にテストされる。ある要
求ラッチがセットされたとすると、対応するプロセス・
レジスタに保持されている作秦域ポインタを有するプロ
セスが、それの作業域ポインタをリストの末尾に加える
ことによりスケジュールされ、る。CPUがプロセス・
レジスタニ書き込む時には要求ラッチは常にクリアされ
る。
このリンクを介して行われるデータの入力と出力は4状
暢マシン282 、283 、284 、285により
制菌される。谷状帖マシンは現在の状態を保持するため
の状ゆレジスタと、プログラム司tiPfxo)ツク・
アレイとより成る。このプログラム円曲なロジック・ア
レイは状帖レジスタの値と、状帖マクンへの入力信号と
に応答して出力信号の所定のパターンと、状態レジスタ
のための新しい値を発生する。リンクを通って送られる
ビットをカウントするためにカウンタ286が用いられ
、リンクを通って受けられるビットをカウントするため
に別のカウンタ287が中いられる。
入力および出力のチャネル制飢器とデータ状吠マクンは
下記のような入力と出力を有する。入力または出力の名
称は信号の目的を下すものである。
出力制御状態マシン285 (第15図) 参照番号 信号名     目   釣人カニ 200   Mbusy     メ%lJz”ス使用
中201    Re5et     Transpu
terリセット202    Pregready  
ゾロセス−レジスタ=READY203    Pre
gni五   プロセスmレジスタ=NIL出カニ 210  5etrequest   CPU要求セッ
ト211   Datago    7’ −夕伝送開
lA3212  8 e tpregready  プ
ロセス俸レジスタをREADYにセット 213   SetPregnil   プロ上X−レ
ジスタをNILにセット 265   Acktaken  確認応答の受信確認
出力データ状6777284 (第15図) 参照番号 信号名    目  釣 人力 201    Re5et     TranAput
erリセット211   Datago   デー1 
伝送H’jb261   Ackgo    確認応答
伝送開始出力 223  0neout    出力ビンを1にセット
する205   Datagone  データ伝送終了
260   Ackgone   確認応答0)伝送終
了入力チャふル制闘状帽マクン283 (第16図) 参照番号 信号名    目  釣 人カニ 200   Mbusy    メモリパス使用中20
1    Re5et     Transputer
リセット262   DataReady  ピンカラ
受けたデータ242   Pregready  プロ
セス・レジスタ= READY243    Preg
ni l    プロセス−レジスターNII。
260   Ackgone   確認応答伝送終了出
カニ 220  5etreque8t   Cpu要求セッ
ト261   Ackgo    確認応答の伝送開始
263   Datataken  データ受信確認(
第16図) 参照番号 信号名    目  釣 人カニ 201    Re5et      ’pransp
uterリセット230   Datain    ビ
ンカ5 (1)データ231   (:ountzer
o  ビット・カウントが零か否か判定 出カニ 240   Loadcount   ビット1カウン
タを受けるべきビットの数にセット 241   Deccount   ビット会カウンタ
を1だけ減少 ビットをとる 2 45  5etaatareaay  データ受信
終了246  8 etackready  確認応答
受信終了各状態マシンのシーケンスについて、各マシン
の現在の状態、次の状態、入力、出力について以下に説
明する。
どのような状態においても、「出力」欄に記載されてい
る出力は1で、他の出力は0である。
「入力」欄に記載されている入力を除き5全ての入力は
無視される。記号\/、/\および△はそれぞれプール
代数の演算のand 、 or 、 notを下すもの
である。
/ 出力制御状態マシン285 状態   入力       出力   次の状態an
y    Re5et       SetPregn
il  5ynclsyncl   Mbusy   
      −5ynclsyncl   (八Mbu
sy)ハPregnil  SetPregready
 gyncreqlsyncl   (ΔMbusy)
/\Pregwptr 5etre+7uest  5
yncraqlsyncreql   ΔPregn土
’                −5yncreq
lsyncreql  Pregnil、      
  −gencllsendl   ΔDatagon
e     Datago    5endlsend
l   Datagone            5
end2send2   Datagone     
  −5enc12senci2   ΔDatago
ne       −waitack1waitack
2  AAckready            s
ync2gync2   Mbusy        
 −5ync2sync2   (ΔMbusy)/%
Pregnil  SetPregraady 5yn
creq2sync2   (ΔMbugy) /\P
regwptrSetrequeBt  5yncre
q2syncreq2  ΔPregnil     
  −5yncreq2syncreq2  Prag
nil        −syncl出力データ状態マ
シン284 状態   入力       出力   次の状態an
y      Re5et             
 −1dleidle   (ΔDatago)へ(A
ckqo)  −1dle土die       Ac
kgo                0neout
        ackflagidle    (Δ
Ackgo)/\Datago  0neout   
 dataflagackflag   −−acke
ndShiftout Dataout ackend   ΔAckgo          
    1dle入力制御状態マシン283 状態   入力       出力   次の状態5y
ncl   Mbusy         −gync
lsyncreql  Pregnll       
 −5ync2sync2   Mbusy     
    −5ync2sync2   (ΔMbusy
)/\Pregnil  SetPregready 
5yncreq2sync2   (AMbugy) 
/ %Pregwptr 5etrequest  5
yncreq2receive2   ΔDatare
ady               −acksen
dla、cksend2   ΔAckgone   
             −raceivel入力デ
ータ状態マシン282 状態    人力    出力    次の状態any
     Re5et     −1dleidle 
      ΔDatain       −1d:L
a1dle          Datain    
      −5tartstart        
ΔDatain      5etAckraady 
     1dledatabits     Cou
ntzero  5hiftin        da
taend第16図に示すように、入力制御ロジックは
、入力データ状態マシン282の出力端子246に接続
されるフリツプフロツプ280を含む。別の7リツプ7
0ツブ281が入力データ状態マシン282の出力端子
245に接続される。両方の制御状態マシンはクロック
おから与えられるクロックパルスにまり制狽1される。
リンクのあるものに対して1両方のデータ状態マシンは
クロックあからのクロックパルスによっても制御される
。第15116図に示すリンクに対しては、データ状態
マシンは、クロック四に対して位相が関係するクロック
ρからのクロックパルスにより制御される。クロックη
はこのリンクを低速で動作させることができる。動作さ
せられるマイクロコンピュータ−ネットワークの種類に
応じて効率を最高にするために、2種類のクロック周波
数を得ることができる。マイクロコンピュータが近接し
て群Kまとめられると、それらのコンピュータの間の通
信はより高速で行うことができる。その場合には、より
高いクロック周波数を使用できる。マイクロコンピュー
タが遠く離れて配置され、低速動作を必要とする場合に
は、満足できる通信を確保するために低いクロック周波
数を使用できる。
入力チャネルと出力チャネルにおいて、制御状態マシン
はプロセス・レジスタ47の内容をモニタし、適切であ
ればラッチ197をセットすることによりCPU要求を
線199に生ずる。
出力制菌状帖マシン285は出力プロセス−レジスタ4
7を用いてまずプロセスに同期させる。それから、−v
 シン285は”datago”信号211を用いて出
力データ状態マシン282に、出力データ・レジスタ4
8内のデータをビンnを通じて出力させる。
出力データ状態マシン284は第13a図を参照して説
明したようにしてデータを送り出し、カウンタ286内
のカウントがなくなる葦でレジスタ48内のデータを桁
送りする。カウンタ48内のカウントがす< fx l
 ト、それ4j ”datagone”信号205を出
力状帖マシンへ戻して、データの転送が終了したこと、
および’datago”信号を除去すべきことを示す。
それから、出力制御状広マシンはラッチ280からの″
ackready″信号264を待ち、入力データ状り
マシン282が、第13b図に示されている確認応答ノ
ミケラトをビンあから受げたことを示す。’ ackr
eady ” (N号264ニ応答して、出方制胛状暢
マクンは” acktaken″信号265を出力する
。その信号はラッチ280をリセットする。そうすると
出力市1」頭10シックは出方プロセス・レジスタ47
を用いて出力プロセスに再び同期させる。
リンクの他の端にあるマイクロコンピュータの入カデー
タ状轢マクン282は、入力ピンあに現われる”ata
rtbjt″を待つ。データ・パケットが検出されると
、そのマイクロコンピュータの入方データ状轢77ン2
82が、適切な数のビットが受けられたことをカウンタ
287が7F、丁まで、データをデータ・7フトレソス
タ48へ桁送りし、それから「データを受けるJラッチ
281をセットする。
入力側聞状態マシン283は”dataready”信
号262を検出し、それに応答してラッチ281をセッ
トする。それから、それは入力プロセス・レジスタ47
を用いて入力プロセスに同期する。その後で、それはプ
ロセス・レジスタ47を用いて入力プロセスに再ヒ同期
し、プロセスがデータ・レジスタ48からデータを得た
ことを確認し、次に” ackgo ”信号261を用
いて出力データ状轢マシンに確認応答)ぞケラトをビン
nを介して送らせる。出力データ状帖マシン284をデ
ータを送もなV1時は、そのマシンはスタート・ビット
とストップ・ビットを発生する。それらのビットは確認
応答パケット(138図) ヲm成する。マイクロコン
ピュータのデータ・パケットを送った入カデータ状傾マ
シン282は確認応答パケットを検出し、1−確認応答
を受けた」ラッチ280をセットする。前記したように
、送信マイクロコンピュータの出カ制脚状帳マシン28
5はこれを待っており、その信号を検出すルトラッチ2
80をリセットして第2の同期オペレークシンを行う。
出力リンクと入力リンクの両方におけるリンク−ロジ゛
ツクの状轢は、矢の送信の用意が整うように、いまは通
信が行われた以前と同じである。
チップとメモリの形成 先に説明したように、本発明のマイクロコンピュータ&
エチッゾ(集積[111J路装置)上に外部メモリなし
でマイクロコンピュータを動作させることができる十分
なメモリなRAMの形で有するからとくに有利である。
もつとも、要求があれば外部メモリを使用することもで
きる。プロセッサが形成されているチップ上に適切なメ
モリを形成するのに十分なスペースをとることにはいろ
いろと同順がある。各メモリセルに必要な面積をできる
だけ小さくし、同じチップ上のプロセッサのような同期
しないで動作している回路からのRAMへのノイズ妨害
を減少させると同時に、側杖かのシリコンチップから許
容できるマイクロコンピュータを、とくに、チップ上に
作られる最大で最高の柔撰密度の部品であるメモリを満
足できる歩留りで製電することが必要である。
各メモリの必要とするチップ面積を小さくするために、
本発明のこの実施例では、より一般的なデプリークヨン
(depletion)形トランジスタ負荷または相補
プルアップ瞭トランジスタではなくて、高インピーダン
ス抵抗負荷を用いる静的セル(SRAM)を用いる。こ
の実施例で用いる製造技術は高抵抗率の多結晶シリコン
の膜を用いる。その多結晶シリコン中に抵抗負荷が形成
される。メモリは32にビットのSRAMで構成できる
。SRAMの各セルは、多結晶クリコン膜内に形成され
るゲートを有するトランジスタより成る。トランジスタ
のゲートと抵抗負荷は同じ多結晶シリコン膜内に、また
は異なる多結晶ノリコン膜内に形成できる。
抵抗負荷SRAMはそれが形成されているクリコン材料
内に入りこOt気的ノイズから妨害を受けやすく、また
、存在することがある少数キャリヤにより内蔵データが
つぶされることが起り得る。
チップ上の他の回路により発生されるノイズと、チップ
上の他の回路から注入された少数キャリヤとからSRA
Mを遮へいするために、SRAMは第17図に示すよう
にシリコンの電気的に分離された領域に形成される。n
チャネル基板300に別々のp形井戸301 、302
が形成される。RAMセルが、RAMアレイをp形井戸
301の内部に配tk、することにより、他の回路およ
び関連する基板ノイズから分離される。これにより均W
セルは、井戸と基準の間の′電位障壁により基板中に発
生された少数キャリヤから分離され、井戸の中で発生さ
れた少数キャリヤは基板中に集められる確率が高い。第
17図で、山田アレイはp形の井戸301の中に配瞠さ
れたnチャネル・アレイである。周辺回路のnチャネル
・トランジスタな別のp形井戸3(ハ)の甲に入ハるこ
とにより、それらのnチャネル・トランジスタはRAM
アレイから分離される。
この技術はMOSまたはp形井戸CMO8製造枝術と完
全に両立する。ここで説明している例においてはp形井
戸のCMO8が用いられ、周辺回路のどのnチャネル・
トランジスタもn形基板の上に置かれて、井戸と基板の
間の電位障壁によりRAMアレイから分離される。メモ
リ・アレイを含んでいる各井戸は接地金属により囲!、
)する。その接地金属は高濃度にドープされたp影領域
を介して周囲のメモーリ・アレイ井戸に接触する。メモ
リ・アレイ内には、各セル対ごとに、井戸を介して接地
されるp形拡散領域が存在する。基板のノ9イアスは不
要である。
クリコンチップからの製品の歩留りを高くするためにメ
モリに冗長性が与えられる。メモリは行デコーダと列デ
コーダによりそれぞれアクセスできる行と列に分けられ
る。正常な行と正常な列に加えて、いくつかの冗長行と
冗長列が設けられるとともに、それら予備の行と列のた
めに予備の行デコーダと列デコーダが設けられる。予備
の行デコーダと列デコーダは、試験中に欠陥のあること
がわかった行または列を、たとえばレーザで開回路にで
きるように、ヒユーズを含む。レーザによりヒユーズが
とばされて、欠陥であることが判明した列または行の検
出器を動作不能とし、欠陥である列または行のアドレス
で予備の適切な列デコーダまたは行デコーダをプログラ
ミングすることにより、予備の列または行を使用可能な
位置に置くことができる。
n形井戸CMO8M造技術を使用できるようにするだめ
に、以下に説明する別の分離技術を採用できる。第18
図を参照して、抵抗抗率のp形基板405の上に高抵抗
率のp形エピタキクヤル層が形成される。
セルアレイはこのエピタキシャル層の領域401の中に
形成され、高濃度に拡散されたn形井戸402により完
全に囲まれる。領域403内の他の回路により発生され
た少数キャリヤはn形井戸402へひき寄せられ、そこ
で無害な多数キャリヤになり、または高濃度にドープさ
れているp形基板405において再結合する。nチャネ
ル・トランジスタがn形井戸404の中に置かれ、そこ
で壁と基板の開の電位障壁により少数キャリヤは分離さ
れる。
付加事項 本発明は以上説明した実施例に限定されるものではない
。たとえば、第2図に示した直列リンクは別々のプロセ
ス・レジスタ47を有するが、レジスタ47により与え
られる機能は、RAM19内のメモリ場所により行うこ
とができる。この場合には、機能している直列リンクを
CPUは識別できなければならず、これは各直列リンク
の谷チャネルを第2図の同期ロジックへ別々に接続する
ことにより達成できる。
1?IIAのデータ・レジスタとバスのセットが第3図
に示されており、ある場合には1台のマイクロコンピュ
ータにそのようなセットを含ませることが望ましく、ま
たは1台のマイクロコンピュータに2つのCPUを有す
ることも望ましいことがある。
オペランドの長さを変えるためにpfixとnfixの
機能を用いる前記原理は任意の語長のマイクロコンピュ
ータに応用できる。本発明は、16ビツト語で動作する
77ンに限定されるのでもなければ、16ビツト・オペ
ランド・レジスタに限定されるのでもなく、たとえば、
8ビツトあるいは8ビツトの整数倍の語長を有するプロ
セッサはそれらの命令を使用できる。本発明は32ビツ
ト語マイクロコンピュータにとくに応用できる。
CPUは、AレジスタとBレジスタに加先て、CRBG
Jたは])RIGのような別のレジスタを評価スタック
内に含むことができる。そうすると、付加レジスタを使
用できるようにある機能とオペレーションを変更できる
。たとえば、 A?eg :=Br6gをSEQ Areg :=Breg Breg :=Creg Creg :”Dreg により置き換えることができる。
Breg :=AregをSEQ Drag :=Creg Creg :=Breg Breg ンAreg で置き換えることができる。′ もちろん、他の機能またはオペレークヨンを付加して余
分のレジスタを利用できるようにすることもできる。第
3図を参照して説明した実施例はAレジスタとBレジス
タのみを含んでいるが、本発明の好適な実施例において
は、スタック内に3個のレジスタが用いられる。
以上の説明において、機能セットは1間接機能” op
erate”の使用により選択できるオペレーションの
拡張可能なリストが続く複数の機能を機能セットはリス
トにまとめる。あらゆる場合に、それらの機能とオペレ
ーションは、マイクロコンピュータを動作させるために
有用な命令のフオームと考えることができる。しかし、
第5図に示されているような固定フォーマットの「命令
」に対して述べた利点を得るために、機能とオペレーシ
ョンとのセットを主機能(直接機能と、プレフイククン
グ機能と1間接機tiFとより成る)セットと、二次命
令(間接機能の使用により選択できるオペレークヨンよ
り成る)のセットと考えることができる。効率を最高に
するために、最も一般的に使用される主命令は、第5図
に示されている命令フォーマットの4ビツトだけを必要
とし、したがって、オペランド礫レジスタ65にロード
させるため、   に使用でき、かつ命令のためのオペ
ランドとして使用される。一般的に用いられる度合の低
い第2の命令に対しては、求めろ4だ命令を識別するた
めに第5図に示されてVする全部で8ビツトの命令フォ
ーマットを必要とする。したがって、第5(8)に示さ
れている固定フォーマット命令によりデータに第2の命
令を伴うことはできす、したがって、第2の命令はオペ
ランド・レジスタ65以外のレジスタに保持されている
データで動作する。
第4図に示す命令フォーマットは半分に分けられた8ビ
ツトを含むが、他のビット長を使用できること、機能と
データに分けても2つの部分のビット長が必ずしも等し
くなるものではないことがわかるであろう。
以上説明した本発明は、マイクロコンピュータの効率と
スループットを劇的に向上させる組合せを提供するもの
である。一定フオーマットの命令を用い、最もよく用い
られる機能は直接利用でき、かつ他の機能は間接的に利
用できるような機能セットを有し、プロセスの間の通信
とプロセス間の同期のために構成し、マイクロコンピュ
ータ1用の点一点通信を行えるようにし、各マイクロコ
ンピュータのチップと同じチップ上にメモリを設けるこ
とにより、本発明の種々、の面によるマイクロコンピュ
ータは1秒間に1000万個の命令を処理する速度を達
成できる。わずかに約25.4 x 50.8の(10
X20インチ)のポニドに納められるアレイが1000
万命令/秒の速度を達成できるのである。
OCCAM (商標)を用いるTransputer 
(商標)マイクロコンピュータ拳アレイは、たとえばP
ASCALを用いるモトローラ(Motorola) 
68000より2桁も高速である。OCCAMでプログ
ラムされた1台のTransputerは、PASCA
Lを用いる1台の68000マイクロコンピユータより
約2−3倍速い。先行技術においては、マイクロコンピ
ュータがアレイ状に加え合わされると、性能の向上率は
プロセッサ数の増加とともにしだいに低下するが、本発
明のマイクロコンピュータを用いると、性能はプロセッ
サの数に比例して向上する。このように、本発明は先行
技術よりも性能を劇的に向上させることがわかるであろ
う。
【図面の簡単な説明】
第1図は本発明のマイクロコンピュータの主な特徴を示
すブロック図、第2図は第1図にボ丁いくつかの部品、
とくにメモリと、外部通信′用の直列リンクの詳しいブ
ロック図、第3図は中央処理装9tのレジスタとデータ
路および演算論゛坤装置、ならびに中央処理装置とマイ
クロコンピュータの他のユニットの間のインタフェイス
をとくにホ丁詳しいブロック図、第4図はメモリ内の作
業域の使用を不す略図、第5図はこのマイクロコンピュ
ータで便甲される命令のフオームなホす略図、第6図は
複数のタイミング制御1’ll信号の相対的なタイミン
グ波形図、第7図はタイミング制御信号発生の様子を示
すブロック図、第8図は第1〜3図のマイクロコンピュ
ータの可変長オペランドによる動作を示すブロック図、
第9図a−〇は同じマイクロコンピュータにより実行さ
れる2つのプロセスの間の2語チャネルを用いる通信の
1つのやり方における引き続くオペレーションを示す略
図、第10図は1台のマイクロコンピュータにおける2
つの通信プロセスのオペレーションを示ス図、第11図
は2台のマイクロコンピュータの間の1に列リンク接続
の詳細を含む、相互に接続されたマイクロコンピュータ
のネットワーク図、第12図は異なるマイクロコンピュ
ータで実りされる2つの゛プロセスの間の直列リンクを
介する通信を行うための一連のオペレーションを示す略
図、 第13a、 13b図は2台のマイクロコンピュ
ータの間の直列リンクを介する通信のためのデータ・パ
ケットと確認応にパケットのフォーマット図、第14図
は相互に接続された2台のマイクロコンピュータにおけ
る第10図の同じ2つの通信プロセスの動作を示すブロ
ック図、第15図は1つの出力直列リンクの論理図、第
16図は1つの入力直列リンクの論理図、第17図は第
1図のマイクロコンピュータに使用できるチップの構造
図、第18図は第1図のマイクロコンピュータに使用で
きる別のチップ構造図である。 10−・・同期ロジック、 12・CPU、 13 、
20−ROM。 14・・・メモリ・インタフェイス、15・・・インタ
フェイス制御ロジック、19・・・RAM、 23・・
・外部メモリ・インタフェイス、Z5・・・直列リンク
、47・・・プロセス・レジスタ、48・・・データ・
レジスタ、(資)・・・測針ロジック、56・・・レジ
スタノ々ス制料スイッチ、―・・・デコーダ、154〜
157・・・遅延器、193・・・アドレス・デコーダ
、282・・・出力制御状他マシン、あ・・・ビット・
カウンタ。 出願人代理人   猪  股     清手続補正書 昭和9年2月2日 特許庁長官 若 杉 和 夫  殿 1、事件の表示 昭和団年特許願第221455号 らを動作させる方法 3、補正をする者 事件との関係特許出願人 インモス、リミテッド 7、補正の対象 8、補正の内容 量  明細書誤・18は第13行乃至第m行「条件付「
条件付construct 工F condition I 1 condition 2 2 (2)  明細書第50頁第9行乃至第15行「ALT
・・・counter :=OJを以下のとおりに訂正
する。 「 AI、T count ? ANY counter 1m Counter’ + 1tO
セα?ANY EQ (3)明細書156頁第11行乃至第、57頁第17行
r I  PROCrun(w) ・=WPTR:=w
J kb下のとおりに訂正する。 ’:L  PROCrun (w) 2    工F 3     w () READY 4       5EC 5memory [LPTR−2]:mw6     
     LP’ffi s=ew7    W寓RE
ADY 8         3KIP I    PROCwit 2    3EQ 5       5EC 6run (l朧[process ] )7    
  11nk [prOcessコト凪I   PRO
Cmoveto (w)2     3EQ 3     工F 4        WPTR、LP’l’R5LPTR
swa w 8      WPTR−曾            
         」(4)明細書第64頁第19行乃
至第65頁第4行「零に等しくする(equal  t
o zerp)−AREG :=FALSE」を以下の
とおりに訂正する。 「零に等しくする( equal to zero )
定義:工F AREG諺0 AREG s−TRUE AREG    0 AREG s−FALSE       J(5)明細
書第65頁第14行乃至第19行「より大きい(gre
ater)−・−AREG :=FALSEJ ’ll
d下のとおりに訂IEする。 KのG  AREG (6)明細書第68頁第11行乃至編70頁第15行「
プロセス実行(run process)・・・復帰さ
せること。」を以下のとおりに訂正する。 「プロセス実行(run process )定義: 
SEQ memory  [)IREG−1コ −EREGru
n (AXのG) 目 的: プロセスをアクティブ−プロセス・リストの
終りに加えること。 休止(pause ) 定義:’5EQ run(を正) wait () 目 的: 現在のプロセスの実行を一時的に休止するこ
と。 現在アクティブ・プロセス・リス ト上ニするプロセスの曲でゾロセ ツ1゛時間を共用すること。 ■Ut() 目 的: 並列ゾロセスを結合する; 2つの語が用いらねる。1つばカ ウンタであり、他の1つは作業域 へのポインタである。カウントが 零に達すると1作業域が変えられ ろ。 定義:工F memory [AREG] = N工しEQ memory [AREG ] :=′vJPTRwa
it() memory [AREG]<>NILEQ run (memory [AREG])memory
 [AREG ] := NIL目 的= 2つのプロ
セスを同期させ、チャネルを用いて通信させること。 復帰(return ) 定義: 5EQ AREG := BREG (9)明細書像121頁y]l−以下のとおりに訂IE
する。 「命令シーケンス     OCCAMKよるプログラ
ム機能 コードデータ VARm1less EQ U! ld1060mjユets 5t−O s+tw   OI   OW)田IJ ’11’1U
E1、l! s                  
 ALT  ldv   1.    Ol     
  ndle?ANYldv   O40 opr   eqz  13  1 jnz   13   9  9 :Ldv   l    O1 opr   5ync13 31 1dv   l    O1 opr   5ync 13  11 1dw   OOOmil、ea s−amLlea 
+ 1adl   l    7  1 stv  Ol  0 pfix   l   14  1 、  L48 。          」(10) I
R細細筒第122頁以下のとおりに訂正する。 「 機能 コード データ L3: ldw   2     0  2   fuel?A
NYldv   0     4  0 opr   eqz    :L3  1jnz   
L4     9   :L21dw   2    
 0  2 opr   5ync   13  nldw   2
     0   2 opr   5yna   113  11EQ ldw   3     0   3      co
nsumption ! mi’legldw   O
O0 stv   1    5  1 opr   5ync   13  11迦  3  
  0 3 opr   5ync   13  111dl   
0     6  0      m1les!−Oa
tw   OI   O L/n apr   pause   13  9nfix  
 :L      15  1jL280      
    J

Claims (1)

  1. 【特許請求の範囲】 1、複数のプログラム・ステップに従って複数の並行プ
    ロセスを実行するように構成されたプロセッサとメモリ
    を備え、前記プログラム・ステップはプロセッサにより
    逐次実行するための複数の命令より成り、各命令はプロ
    セッサにより実行することを求められる機能を指定する
    1組の機能ビットを含むマイクロコンピュータにおいで
    、 (a)前記プロセッサは、 (1)複数のレジスタと、それらのレジスタとの間でデ
    ータの転送を行うために用いるためのデータ転送器と、 (:1)各命令を受け、その命令に関連する値をプロセ
    ッサ・レジスタの1つにロードするための手段と。 (iil )前記データ転送器と前記レジスタを制御し
    、前記機能ビットに応答してプロセッサを前記機能ビッ
    トに従って動作させるための制御器と。 を備え、 (b)  マイクロコンピュータは手段を含み、このス
    ケジューリング手段は、 (1)フロセッサにより現在実行されているプロセスを
    示すための手段と。 (11)プロセッサによる実行を待つコレクションを形
    成する1つまたはそれ以上のプロセスを識別するための
    手段と、 (iil )前記コレクションに1つまたはそれ以上の
    別のプロセスを加えるための手段と。 (1v)プロセッサにより実行すべきコレクションの次
    のプロセスを指示するための次のプロセッサ指示器と、 (V)各並行プロセスのためのプログラム・ステージ指
    示器と、 を備え、 (c)プロセッサは選択された命令に応答してプロセッ
    サによる前記現在のプロセスの実行を終らせ、かつ、前
    記次のプロセス指示器に応答して指示されたプロセスを
    現在のプロセスにし、それによりプロセッサはそれの処
    理時間を複数の現在のプロセスの間で共用するように動
    作させられることを特徴とするマイクロコンピュータ。 2、特許請求の範囲第1項記載のマイクロコンピュータ
    であって、前記メモリは関連する変数を記録するための
    場所を含む複数のアドレス可能な場所を有する作業域を
    プロセッサに与え、前記プロセッサ・レジスタの1つは
    現在のプロセッサの作業域のアドレスを識別する作業域
    ポインタ値を保持するように構成されることを特徴トス
    るマイクロコンピュータ。 3、特許請求の範囲第2項記載のマイクロコンピュータ
    であって、前記プロセッサは命令に応答して、前記1つ
    のプロセッサ・レジスタ内の作業域ポインタ値を前記コ
    レクション内の別のプロセスの作業域ポインタ値で11
    換えることにより現在のプロセスの実行を終らせるよう
    に構成サレることを特徴とするマイクロコンピュータ。 4、特許請求の範囲第2項または第3墳記載のマイクロ
    コンピュータであって、各プロセスの作業域ハ、フロセ
    スが前記現在のプロセスの次になった時に、そのプロセ
    スのためのプログラムステージを指示するための指示器
    を含むことを%likとするマイクロコンピュータ。 5、特許請求の範囲第2〜4項のいずれかに記載のマイ
    クロコンピュータであって、各プロセスのための前記作
    業域は、コレクション内の引き続くプロセスのための作
    業域ポインタ値を保持するための手段を含み、この手段
    は1つのプロセスがコレクション内にある時に用いられ
    て、前記1つのプロセスに続く、プロセッサにより実行
    すべきプロセスを指示し、それにより実行を待っている
    プロセスのリンク・リストを形成することを特徴とする
    マイクロコンピュータ。 6、/R許請求の範囲第5項記載のマイクロコンピュー
    タであって、リスト上の最後のプロセスの作業域のアド
    レスを識別する作業域ポインタを保持するように別のプ
    ロセッサが構成されることを特徴とするマイクロコンピ
    ュータ。 7、特許請求の範囲第6項記載のマイクロコンピュータ
    であって、付加プロセスを前記コレクションに加えるた
    めの前記手段は、その付加プロセスのための作業域ポイ
    ンタ値をリスト上の最後のプロセスの作業域に書き込む
    ための手段を備えることを特徴とするマイクロコンピュ
    ータ。 8、特許請求の範囲第7項記載のマイクロコンピュータ
    であって、プロセッサは、ある別のプロセスに対する作
    業域ポインタ値を前記側のプロセッサ・レジスタにロー
    ドすることにより、および、前記側のプロセッサ・レジ
    スタに最後に保持されたポインタ値を有するプロセスの
    作業域のメモリに前記第1の作業域ポインタを路納させ
    ることにより、前記側のプロセスを前記リストに加え合
    わさせる命令に応答するようにプロセッサは構成される
    ことを特徴とするマイクロコンピュータ。 9、複数のプログラム・ステップに従って複数の並行プ
    ロセスを実行するように構成されたプロセッサとメモリ
    を備え、前記プログラム・ステップはプロセッサにより
    逐次実行するための複数の命令より成り、各命令はプロ
    セッサにより実行することを求められる機能を指定する
    1組の機能ビットを含むマイクロコンピュータにおいて
    、 (a)前記プロセッサは。 (+)複数のレジスタと、それらのレジスタとの間でデ
    ータの転送を行うために用いるためのデータ転送器と、 (11)各命令を受け、その命令に関連する値をプロセ
    ッサ・レジスタの1つにロードするための手段と。 (iil)前記データ転送器と前記レジスタを制御し、
    前記機能ビットに応答してプロセッサを前記機能ビット
    に従って動作させるための制御器と。 を備え、 (b)  マイクロコンピュータはスケジューリング手
    段を含み、このスケジューリング手段は。 (1)フロセッサにより実行されることを待っているプ
    ロセスのリンク・リストを形成するための手段と。 (11)プロセッサにより現在実行されている現在のプ
    ロセスを指示するための手段と。 (fil)実行を待っているプロセスのリスト上の最後
    のプロセスを指示するための手段と、を備え、 (c)前記メモリは複数のアドレス可能な場所を有する
    作業域を各プロセスへ与え、前記各作業域は。 (:)プロセスに関連する変数を記録するためのメモリ
    場所と。 C11)プロセスのためのプログラム・ステージ指示器
    と。 (01)プロセスが前記リスト上にある時にリスト上の
    次のプロセスを指示するために使用する次のプロセス指
    示器と、 を与え、 (d)  プロセッサは選択された命令に応答して。 プロセッサによる前記現在のプロセスの実行を停止させ
    、かつリスト上の次のプロセスを現在のプロセスにし、
    更に、求められた時に別のプロセスをリストの末尾に加
    え、それによりそれの処理時間を複数の並行プロセスの
    間で共用させるためにプロセッサが動作させられること
    を特徴とするマイクロコンピュータ。 10、%許請求の範囲第1〜9項のいずれかに記載のマ
    イクロコンピュータであって、並行プロセスの間のメツ
    セージ送画のための1つまたはそれ以上の通信チャネル
    を含み、それらのチャネルを介してのメツセージ送信を
    同期させるために同期器が設けられることを特徴とする
    マイクロコンピュータ。 11、特許請求の範囲第10項記載のマイクロコンピュ
    ータであって、現在プロセスの実行を終らせるため、ま
    たは並行プロセスの間の同期をとるために前記コレクシ
    ョンにプロセスを加えるために前記スケジューリング手
    段は同期器に応答することを特徴とするマイクロコンピ
    ュータ。 12、特許請求の範囲第10項または第11項記載のマ
    イクロコンピュータであって、前記通信チャネルハ同シ
    マイクロコンピュータにより実行される並行プロセスの
    間の通信を行えるようにするために前記メモリ内にメモ
    リ場所を含むことを特徴とするマイクロコンピュータ。 13、特許請求の範囲第10項または第11項記載のマ
    イクロコンピュータであって、前記通信チャネルには1
    つまたはそれ以上の通信リンクが設けられ、それらの通
    信リンクは専用の接続部により別の装置の同様なリンク
    に接続でき、それにより異なるマイクロコンピュータの
    並行プロセスの間を同期させてメツセージ送信を行える
    ようにすることを特徴とするマイクロコンピュータ。 14、特許請求の範囲第13項記載のマイクロコンピュ
    ータであって、前記各通信リンクは、メツセージ送信と
    プロセスのスケジューリングの同期に使用するために、
    ある作業域へのポインタ値を、または通信チャネルの状
    態を示す他のポインタ値を受けるためのレジスタを含む
    ことを特徴とするマイクロコンピュータ。 15、特許請求の範囲第10〜14項のいずれかに記載
    のマイクロコンピュータであって、各通信チャネルは通
    信チャネルの状態を指示するためにポインタ値を格納す
    るための格納器を含み、そのチャネルを試験することに
    より同期のための命令に応答するようにプロセッサが構
    成され、あるプロセスのための作業域ポインタ値により
    既に占められていないとすると、同期命令を実行シタプ
    ロセスが終らされることを特徴とするマイクロコンピュ
    ータ。 16、特許請求の範囲第15項記載のマイクロコンビュ
    ータであって、同期命令が実行された時にあるチャネル
    の格納器があるプロセスの作業域ポインタ値により既に
    占められているとすると。 前記格納器内に作業域ポインタ値があるプロセスが実行
    を待っ°Cいる前記コレクションに加えられ、あるプロ
    セス作業域ポインタ値でない別の値が前記格納器にロー
    ドされるように前記プロセッサが構成されることを4?
    敵とするマイクロコンピュータ。 17、特許請求の範囲第16項記載のマイクロコンピュ
    ータであって、プロセッサは同期命令に応答して現在の
    プロセスを終らせ、それにより前記値を含んでいるプロ
    セスレジスタからそれノ作集成ポインタ値を除去し、か
    つプロセッサに前記コレクション内の次のプロセスを実
    行さぜることを特徴とするマイクロコンピュータ。 18、特許請求の範囲第17項記載のマイクロコンピュ
    ータであって、同期命令の実行により終らされる前記プ
    ロセスは、前記プロセスと通信することを希望する別の
    プロセスにより別の同期命令が実行される時に、実行を
    待っている前記コレクションへ戻されることを特徴とす
    るマイクロコンピュータ。 19、特許請求の範囲第1〜18項記載のマイクロコン
    ピュータであって、プロセッサは、いくつかの並行プロ
    セスをプログラム・シーケンスの求められている段階で
    いっしょにされるように構成されている命令に応答する
    ように構成されることを特徴とするマイクロコンピュー
    タ。 2、特許請求の範囲第19項記載のマイクロコンピュー
    タであって、前記プロセッサは1選択された命令の結果
    としてプロセスの終了に応答するように構成されたカウ
    ンタを含み、このカウンタは、所定数のプロセスが終了
    した時に指示するように構成され、それにより別のプロ
    グラム段へ進めるようにすることを特徴とするマイクロ
    コンピュータ。 2、特許請求の範囲第1〜20項のいずれかに記載のマ
    イクロコンピュータを相互に接続したことを特徴とする
    ネットワーク。 2、特許請求の範囲第21項記載のネットワークであっ
    て、各マイクロコンピュータは通信リンクを有し、それ
    らの通信リンクはネットワーク内の別のマイクロコンピ
    ュータに、相互にFliMされた2台のマイクロコンピ
    ュータの間でメモリ送信だけのために用いられる接続部
    より暗続され、各マイクロコンピュータのプロセッサは
    マイクロコンピュータの間のメツセージ同期を行い、か
    つ現在のプロセスの実行を終らせ、更に行われる同期化
    に従っ°C別のプロセスを前記コレクションに加えるよ
    うに構成されることを特徴とするネットワーク。 23゜プロセッサにより実行されることを待っているプ
    ロセスが識別され、かつプロセッサによる実行と、その
    実行の終りによりコレクションに加えられ、またはそれ
    から除去され、それによりプロセッサはそれの時間を複
    数の並行プロセスの間で分割使用することを特徴とする
    マイクロコンピュータを動作させる方法。 24、各マイクロコンピュータが相互に接続されている
    マイクロコンピュータのプロセスの開でメモリ同期を行
    い、かつ前記同期化に従って各マイクロコンピュータの
    プロセスのスケジュールを組み、スケジュールから外す
    ように構成されることを特徴とする相互に接続されたマ
    イクロコンピュータのネットワークを動作させる方法。
JP58221455A 1982-11-26 1983-11-26 マイクロコンピュ−タ、ならびにマイクロコンピユ−タおよびマイクロコンピユ−タ・ネットワ−クを動作させる方法 Expired - Lifetime JP2502960B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8233733 1982-11-26
GB8233733 1982-11-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP5225198A Division JP2509453B2 (ja) 1982-11-26 1993-08-18 マイクロコンピュ―タにおけるオンチップおよびオフチッププロセス間通信を選択する方法ならびにマイクロコンピュ―タ

Publications (2)

Publication Number Publication Date
JPS59133650A true JPS59133650A (ja) 1984-08-01
JP2502960B2 JP2502960B2 (ja) 1996-05-29

Family

ID=10534539

Family Applications (7)

Application Number Title Priority Date Filing Date
JP58221452A Granted JPS59133647A (ja) 1982-11-26 1983-11-26 コンピユ−タおよびコンピユ−タ装置を動作させる方法
JP58221454A Expired - Lifetime JPH087739B2 (ja) 1982-11-26 1983-11-26 マイクロコンピュータおよびそのネットワークならびに複数のマイクロコンピュータにおけるプロセス間のデータ通信を行う方法
JP58221455A Expired - Lifetime JP2502960B2 (ja) 1982-11-26 1983-11-26 マイクロコンピュ−タ、ならびにマイクロコンピユ−タおよびマイクロコンピユ−タ・ネットワ−クを動作させる方法
JP58221453A Expired - Lifetime JPH06101042B2 (ja) 1982-11-26 1983-11-26 マイクロコンピユ−タ
JP58221451A Granted JPS59149543A (ja) 1982-11-26 1983-11-26 コンピユ−タおよびコンピユ−タ装置を動作させる方法
JP5225198A Expired - Lifetime JP2509453B2 (ja) 1982-11-26 1993-08-18 マイクロコンピュ―タにおけるオンチップおよびオフチッププロセス間通信を選択する方法ならびにマイクロコンピュ―タ
JP5342376A Expired - Lifetime JP2688320B2 (ja) 1982-11-26 1993-12-14 集積回路チップ

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP58221452A Granted JPS59133647A (ja) 1982-11-26 1983-11-26 コンピユ−タおよびコンピユ−タ装置を動作させる方法
JP58221454A Expired - Lifetime JPH087739B2 (ja) 1982-11-26 1983-11-26 マイクロコンピュータおよびそのネットワークならびに複数のマイクロコンピュータにおけるプロセス間のデータ通信を行う方法

Family Applications After (4)

Application Number Title Priority Date Filing Date
JP58221453A Expired - Lifetime JPH06101042B2 (ja) 1982-11-26 1983-11-26 マイクロコンピユ−タ
JP58221451A Granted JPS59149543A (ja) 1982-11-26 1983-11-26 コンピユ−タおよびコンピユ−タ装置を動作させる方法
JP5225198A Expired - Lifetime JP2509453B2 (ja) 1982-11-26 1993-08-18 マイクロコンピュ―タにおけるオンチップおよびオフチッププロセス間通信を選択する方法ならびにマイクロコンピュ―タ
JP5342376A Expired - Lifetime JP2688320B2 (ja) 1982-11-26 1993-12-14 集積回路チップ

Country Status (4)

Country Link
US (6) US4724517A (ja)
EP (6) EP0110643B1 (ja)
JP (7) JPS59133647A (ja)
DE (6) DE3382708T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61500387A (ja) * 1983-11-04 1986-03-06 インモス リミテツド マイクロコンピユ−タ
JP2009048306A (ja) * 2007-08-15 2009-03-05 Tokyo Metropolitan Univ 並列処理アーキテクチャおよびそれを用いた並列処理プロセッサ

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4724517A (en) * 1982-11-26 1988-02-09 Inmos Limited Microcomputer with prefixing functions
US6414368B1 (en) * 1982-11-26 2002-07-02 Stmicroelectronics Limited Microcomputer with high density RAM on single chip
US5243698A (en) * 1982-11-26 1993-09-07 Inmos Limited Microcomputer
GB8329510D0 (en) * 1983-11-04 1983-12-07 Inmos Ltd Computer apparatus
JPH0738187B2 (ja) * 1984-03-23 1995-04-26 株式会社日立製作所 Lsiに構成されたマイクロコンピュータ
US4901225A (en) * 1984-04-09 1990-02-13 Kabushiki Kaisha Toshiba Processing apparatus with hierarchical structure for implementing a machine instruction
FR2570525B1 (fr) * 1984-09-20 1986-12-12 Inst Nal Rech Informatiq Procede et dispositif electronique pour l'execution repartie d'une activite entre plusieurs sites differents
US4989133A (en) * 1984-11-30 1991-01-29 Inmos Limited System for executing, scheduling, and selectively linking time dependent processes based upon scheduling time thereof
GB8521672D0 (en) * 1985-08-30 1985-10-02 Univ Southampton Data processing device
US4720780A (en) * 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
EP0232859A3 (en) * 1986-01-27 1989-08-30 International Business Machines Corporation Processor intercommunication network
US4736321A (en) * 1986-05-05 1988-04-05 International Business Machines Corporation Communication method between an interactive language processor workspace and external processes
JPH0731662B2 (ja) * 1986-07-15 1995-04-10 富士通株式会社 マルチプロセッサシステム
EP0260793A3 (en) * 1986-07-24 1990-03-14 Gec Avionics Limited Bidirectional data bus
GB8618060D0 (en) * 1986-07-24 1986-12-17 Gec Avionics Data processing apparatus
US5123093A (en) * 1987-01-16 1992-06-16 Hitachi, Ltd. Operational processor for performing a memory access and an operational process in parallel
US5276892A (en) * 1987-02-24 1994-01-04 Digital Equipment Corporation Destination control logic for arithmetic and logic unit for digital data processor
US5133064A (en) 1987-04-27 1992-07-21 Hitachi, Ltd. Data processing system generating clock signal from an input clock, phase locked to the input clock and used for clocking logic devices
DE3726192A1 (de) * 1987-08-06 1989-02-16 Otto Mueller Stacksteuerung
US4961133A (en) * 1987-11-06 1990-10-02 Visystems, Inc. Method for providing a virtual execution environment on a target computer using a virtual software machine
US6112287A (en) * 1993-03-01 2000-08-29 Busless Computers Sarl Shared memory multiprocessor system using a set of serial links as processors-memory switch
JP2752076B2 (ja) * 1988-02-23 1998-05-18 株式会社東芝 プログラマブル・コントローラ
DE3812823A1 (de) * 1988-04-16 1989-11-02 Asea Brown Boveri Mikrocomputer-verbundnetz
WO1990003004A1 (en) * 1988-09-02 1990-03-22 Dallas Semiconductor Corporation Multiport memory system
US5012404A (en) * 1988-10-28 1991-04-30 United Technologies Corporation Integrated circuit remote terminal stores interface for communication between CPU and serial bus
US5249273A (en) * 1989-01-17 1993-09-28 Fujitsu Limited Microprocessor having a variable length instruction format
US5475631A (en) * 1989-03-09 1995-12-12 Micron Technology, Inc. Multiport RAM based multiprocessor
US5546592A (en) * 1989-06-26 1996-08-13 Ncr Corporation System and method for incrementing memory addresses in a computer system
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
US5247658A (en) * 1989-10-31 1993-09-21 Microsoft Corporation Method and system for traversing linked list record based upon write-once predetermined bit value of secondary pointers
US5303358A (en) * 1990-01-26 1994-04-12 Apple Computer, Inc. Prefix instruction for modification of a subsequent instruction
IL93239A (en) * 1990-02-01 1993-03-15 Technion Res & Dev Foundation High flow-rate synchronizer/schedular apparatus for multiprocessors
US6751696B2 (en) * 1990-04-18 2004-06-15 Rambus Inc. Memory device having a programmable register
FR2661526B1 (fr) * 1990-04-27 1994-09-16 Francois Gernelle Machine multiprocesseur symetrique a niveau de lien serre.
JP3083547B2 (ja) * 1990-07-12 2000-09-04 株式会社日立製作所 半導体集積回路装置
JPH04149642A (ja) * 1990-10-08 1992-05-22 Canon Inc 情報処理装置
JPH04156613A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 命令バッファ装置
JPH04172533A (ja) * 1990-11-07 1992-06-19 Toshiba Corp 電子計算機
JPH05113870A (ja) * 1991-10-23 1993-05-07 Mitsubishi Electric Corp ソート処理プロセツサ
AU2918092A (en) * 1991-11-01 1993-06-07 Keming W. Yeh Portable device having data storage capability for transferring data between a portable computer and a desktop computer
JPH05197545A (ja) * 1991-12-10 1993-08-06 Mitsubishi Electric Corp マイクロコンピュータ
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory
JPH05265975A (ja) * 1992-03-16 1993-10-15 Hitachi Ltd 並列計算処理装置
GB2266605B (en) * 1992-04-27 1995-10-11 Intel Corp Microprocessor having a run/stop pin for accessing an idle mode
GB2266606B (en) * 1992-04-27 1996-02-14 Intel Corp A microprocessor with an external command mode
US5353420A (en) * 1992-08-10 1994-10-04 Intel Corporation Method and apparatus for decoding conditional jump instructions in a single clock in a computer processor
US6951019B1 (en) * 1992-09-30 2005-09-27 Apple Computer, Inc. Execution control for processor tasks
GB2273591A (en) * 1992-12-18 1994-06-22 Network Systems Corp Microcomputer control systems for interprogram communication and scheduling methods
CA2107046A1 (en) * 1993-01-08 1994-07-09 James Allan Kahle Method and system for increased instruction dispatch efficiency in superscalar processor system
US5548767A (en) * 1993-10-06 1996-08-20 Intel Corporation Method and apparatus for streamlined handshaking between state machines
US5712664A (en) * 1993-10-14 1998-01-27 Alliance Semiconductor Corporation Shared memory graphics accelerator system
JPH07129486A (ja) * 1993-10-29 1995-05-19 Mitsubishi Electric Corp シリアル通信回路
JPH10502181A (ja) * 1994-06-20 1998-02-24 ネオマジック・コーポレイション メモリインタフェースのないグラフィックスコントローラ集積回路
US5590356A (en) * 1994-08-23 1996-12-31 Massachusetts Institute Of Technology Mesh parallel computer architecture apparatus and associated methods
JP3000857B2 (ja) * 1994-08-31 2000-01-17 松下電工株式会社 プログラマブルコントローラ
WO1996016497A1 (en) * 1994-11-21 1996-05-30 Oracle Corporation Transferring binary large objects (blobs) in a network environment
GB2308686A (en) 1995-12-20 1997-07-02 British Aerospace Integrated circuits for multi-tasking support in single or multiple processor networks
JP3711422B2 (ja) * 1995-12-20 2005-11-02 セイコーエプソン株式会社 情報処理回路
US7253557B2 (en) * 1996-02-08 2007-08-07 Bright Solutions, Inc. Light source provided with a housing enclosing voltage regulator means and method of manufacturing thereof
JP3008843B2 (ja) * 1996-02-28 2000-02-14 日本電気株式会社 半導体記憶装置
US6067610A (en) * 1996-07-29 2000-05-23 Motorola, Inc. Method and data processor for synchronizing multiple masters using multi-bit synchronization indicators
US5991825A (en) * 1997-07-11 1999-11-23 International Business Machines Corporation System for handling missed revolution in a disk drive by aborting the execution of primary command and executing secondary command if a missed revolution occurs
US6212544B1 (en) 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
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
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
US6075742A (en) * 1997-12-31 2000-06-13 Stmicroelectronics, Inc. Integrated circuit for switching from power supply to battery, integrated latch lock, and associated method for same
JPH11212909A (ja) * 1998-01-29 1999-08-06 Mitsubishi Electric Corp シリアルi/o内蔵の半導体装置
WO1999061985A1 (en) * 1998-05-26 1999-12-02 The Dow Chemical Company Distributed computing environment using real-time scheduling logic and time deterministic architecture
US6748451B2 (en) 1998-05-26 2004-06-08 Dow Global Technologies Inc. Distributed computing environment using real-time scheduling logic and time deterministic architecture
US6338132B1 (en) * 1998-12-30 2002-01-08 Intel Corporation System and method for storing immediate data
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US6772325B1 (en) * 1999-10-01 2004-08-03 Hitachi, Ltd. Processor architecture and operation for exploiting improved branch control instruction
US6553460B1 (en) 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6412043B1 (en) 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US7149878B1 (en) 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
US7711926B2 (en) * 2001-04-18 2010-05-04 Mips Technologies, Inc. Mapping system and method for instruction set processing
US6826681B2 (en) * 2001-06-18 2004-11-30 Mips Technologies, Inc. Instruction specified register value saving in allocated caller stack or not yet allocated callee stack
DE10131084A1 (de) * 2001-06-27 2003-01-09 Klaus Schleisiek Vorrichtung zur Datenverarbeitung
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US7254696B2 (en) * 2002-12-12 2007-08-07 Alacritech, Inc. Functional-level instruction-set computer architecture for processing application-layer content-service requests such as file-access requests
US7299099B1 (en) * 2004-02-18 2007-11-20 Divelbiss Corporation Programmable logic controller contained on a chip
US20060065946A1 (en) * 2004-09-30 2006-03-30 Texas Instruments, Inc. Multi-doped semiconductor e-fuse
US7327044B2 (en) 2005-01-21 2008-02-05 Fox Electronics Integrated circuit package encapsulating a hermetically sealed device
DE102005055000A1 (de) * 2005-11-18 2007-05-24 Airbus Deutschland Gmbh Modulares Avioniksystem eines Flugzeuges
US20070189160A1 (en) * 2006-02-14 2007-08-16 Itamar Landau Method and system for randomized puncturing in mobile communication systems
GB2454865B (en) 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
GB2459674A (en) * 2008-04-29 2009-11-04 Picochip Designs Ltd Allocating communication bandwidth in a heterogeneous multicore environment
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
GB2486740B (en) * 2010-12-24 2019-02-13 Qualcomm Technologies Int Ltd Encapsulated instruction set
GB2486737B (en) * 2010-12-24 2018-09-19 Qualcomm Technologies Int Ltd Instruction execution
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS485374U (ja) * 1971-06-04 1973-01-22
JPS57768A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Message transmission and reception system between processor
JPS57191731A (en) * 1981-05-21 1982-11-25 Nec Corp Operating system for terminal equipment

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3287703A (en) * 1962-12-04 1966-11-22 Westinghouse Electric Corp Computer
US3364472A (en) * 1964-03-06 1968-01-16 Westinghouse Electric Corp Computation unit
US3541518A (en) * 1967-09-27 1970-11-17 Ibm Data handling apparatus employing an active storage device with plural selective read and write paths
US3582899A (en) * 1968-03-21 1971-06-01 Burroughs Corp Method and apparatus for routing data among processing elements of an array computer
US3618045A (en) * 1969-05-05 1971-11-02 Honeywell Inf Systems Management control subsystem for multiprogrammed data processing system
US3643227A (en) * 1969-09-15 1972-02-15 Fairchild Camera Instr Co Job flow and multiprocessor operation control system
US3657705A (en) * 1969-11-12 1972-04-18 Honeywell Inc Instruction translation control with extended address prefix decoding
DE2241600A1 (de) * 1971-08-26 1973-03-01 Dionics Inc Hochspannungs-p-n-uebergang und seine anwendung in halbleiterschaltelementen, sowie verfahren zu seiner herstellung
US3766532A (en) * 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
US3805247A (en) * 1972-05-16 1974-04-16 Burroughs Corp Description driven microprogrammable multiprocessor system
US3815095A (en) * 1972-08-29 1974-06-04 Texas Instruments Inc General-purpose array processor
US3839705A (en) * 1972-12-14 1974-10-01 Gen Electric Data processor including microprogram control means
US3993934A (en) * 1973-05-29 1976-11-23 Ibm Corporation Integrated circuit structure having a plurality of separable circuits
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
US4025904A (en) * 1973-10-19 1977-05-24 Texas Instruments Incorporated Programmed allocation of computer memory workspace
JPS5218087B2 (ja) * 1973-10-30 1977-05-19
FR2253421A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
FR2253428A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
DE2440390B2 (de) * 1974-08-23 1976-10-07 Philips Patentverwaltung Gmbh, 2000 Hamburg Elektronischer rechner
US3980992A (en) * 1974-11-26 1976-09-14 Burroughs Corporation Multi-microprocessing unit on a single semiconductor chip
US3976976A (en) * 1975-04-04 1976-08-24 The United States Of America As Represented By The Secretary Of The Navy Method and means to access and extended memory unit
JPS5931744B2 (ja) * 1975-12-01 1984-08-03 インテル・コ−ポレ−シヨン Mosデジタルコンピユ−タ
GB1540923A (en) * 1975-12-01 1979-02-21 Intel Corp Programmable single chip mos computer
JPS5841538B2 (ja) * 1975-12-04 1983-09-13 株式会社東芝 マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JPS5299027A (en) * 1976-02-16 1977-08-19 Hitachi Ltd Address designating system
US4047247A (en) * 1976-04-07 1977-09-06 Honeywell Information Systems Inc. Address formation in a microprogrammed data processing system
US4037213A (en) * 1976-04-23 1977-07-19 International Business Machines Corporation Data processor using a four section instruction format for control of multi-operation functions by a single instruction
US4047161A (en) * 1976-04-30 1977-09-06 International Business Machines Corporation Task management apparatus
US4093982A (en) * 1976-05-03 1978-06-06 International Business Machines Corporation Microprocessor system
JPS592941B2 (ja) * 1976-06-30 1984-01-21 日本電気株式会社 コンピユ−タ複合体装置
US4059231A (en) * 1976-07-16 1977-11-22 Grefco, Inc. Method and apparatus for selectively comminuting particles of a frangible material
JPS602709B2 (ja) * 1976-09-14 1985-01-23 富士通株式会社 ビルデイング・ブロツク構造をもつデータ処理システム
US4103329A (en) * 1976-12-28 1978-07-25 International Business Machines Corporation Data processing system with improved bit field handling
US4145739A (en) * 1977-06-20 1979-03-20 Wang Laboratories, Inc. Distributed data processing system
US4191996A (en) * 1977-07-22 1980-03-04 Chesley Gilman D Self-configurable computer and memory system
US4320455A (en) * 1978-01-09 1982-03-16 Honeywell Information Systems Inc. Queue structure for a data processing system
JPS54107278A (en) * 1978-02-10 1979-08-22 Hitachi Ltd Semiconductor device
JPS54129944A (en) * 1978-03-31 1979-10-08 Toshiba Corp Arithmetic controller
US4223380A (en) * 1978-04-06 1980-09-16 Ncr Corporation Distributed multiprocessor communication system
US4270170A (en) * 1978-05-03 1981-05-26 International Computers Limited Array processor
US4179738A (en) * 1978-06-23 1979-12-18 International Business Machines Corporation Programmable control latch mechanism for a data processing system
US4247892A (en) * 1978-10-12 1981-01-27 Lawrence Patrick N Arrays of machines such as computers
US4229790A (en) * 1978-10-16 1980-10-21 Denelcor, Inc. Concurrent task and instruction processor and method
US4433376A (en) * 1978-10-31 1984-02-21 Honeywell Information Systems Inc. Intersystem translation logic system
JPS5585039A (en) * 1978-12-22 1980-06-26 Hitachi Ltd Semiconductor integrated circuit
US4258419A (en) * 1978-12-29 1981-03-24 Bell Telephone Laboratories, Incorporated Data processing apparatus providing variable operand width operation
US4349870A (en) * 1979-09-05 1982-09-14 Motorola, Inc. Microcomputer with programmable multi-function port
US4587542A (en) * 1979-10-11 1986-05-06 Texas Instruments Incorporated Guard ring for reducing pattern sensitivity in MOS/LSI dynamic RAM
US4346459A (en) * 1980-06-30 1982-08-24 Inmos Corporation Redundancy scheme for an MOS memory
JPS5753971A (en) * 1980-09-17 1982-03-31 Toshiba Corp Complementary type semiconductor ic device
US4450519A (en) * 1980-11-24 1984-05-22 Texas Instruments Incorporated Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories
US4434462A (en) * 1980-11-24 1984-02-28 Texas Instruments Incorporated Off-chip access for psuedo-microprogramming in microprocessor
US4491907A (en) * 1980-12-15 1985-01-01 Texas Instruments Incorporated Plurality of processors sharing the memory, the arithmetic logic unit and control circuitry all on a single semiconductor chip
JPS57117027A (en) * 1981-01-13 1982-07-21 Nec Corp Signal sending and receiving circuit
EP0062431B1 (en) * 1981-03-20 1986-10-01 Fujitsu Limited A one chip microcomputer
JPS57154869A (en) * 1981-03-20 1982-09-24 Hitachi Ltd Semiconductor device
US4394727A (en) * 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus
US4495563A (en) * 1981-07-02 1985-01-22 Texas Instruments Incorporated Microcomputer having separate access to complete microcode words and partial microcode words
US4532587A (en) * 1981-08-26 1985-07-30 Texas Instruments Incorporated Single chip processor connected to an external memory chip
US4482950A (en) * 1981-09-24 1984-11-13 Dshkhunian Valery Single-chip microcomputer
US4494187A (en) * 1982-02-22 1985-01-15 Texas Instruments Incorporated Microcomputer with high speed program memory
US4490785A (en) * 1982-05-07 1984-12-25 Digital Equipment Corporation Dual path bus structure for computer interconnection
US4546454A (en) * 1982-11-05 1985-10-08 Seeq Technology, Inc. Non-volatile memory cell fuse element
US4724517A (en) * 1982-11-26 1988-02-09 Inmos Limited Microcomputer with prefixing functions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS485374U (ja) * 1971-06-04 1973-01-22
JPS57768A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Message transmission and reception system between processor
JPS57191731A (en) * 1981-05-21 1982-11-25 Nec Corp Operating system for terminal equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61500387A (ja) * 1983-11-04 1986-03-06 インモス リミテツド マイクロコンピユ−タ
JPS61500386A (ja) * 1983-11-04 1986-03-06 インモス リミテツド マイクロコンピユ−タ
JP2009048306A (ja) * 2007-08-15 2009-03-05 Tokyo Metropolitan Univ 並列処理アーキテクチャおよびそれを用いた並列処理プロセッサ

Also Published As

Publication number Publication date
JPS59133647A (ja) 1984-08-01
EP0250011A2 (en) 1987-12-23
EP0250011A3 (en) 1988-06-01
DE3375844D1 (en) 1988-04-07
US4704678A (en) 1987-11-03
EP0110642A2 (en) 1984-06-13
EP0250011B1 (en) 1993-08-11
DE3378083D1 (en) 1988-10-27
DE3382708D1 (de) 1993-09-16
DE3373567D1 (en) 1987-10-15
EP0113516B1 (en) 1988-06-01
EP0110643B1 (en) 1988-03-02
DE3382708T2 (de) 1994-02-10
JPH06101042B2 (ja) 1994-12-12
EP0113178A2 (en) 1984-07-11
JPH06260551A (ja) 1994-09-16
JPS59133662A (ja) 1984-08-01
JPH0470652B2 (ja) 1992-11-11
EP0113516A3 (en) 1984-11-07
EP0113178A3 (en) 1984-11-28
JPS59149543A (ja) 1984-08-27
EP0111399B1 (en) 1987-09-16
EP0111399A2 (en) 1984-06-20
JPS59194256A (ja) 1984-11-05
DE3373733D1 (en) 1987-10-22
US4680698A (en) 1987-07-14
JP2502960B2 (ja) 1996-05-29
US4819151A (en) 1989-04-04
JP2509453B2 (ja) 1996-06-19
US4724517A (en) 1988-02-09
EP0113178B1 (en) 1987-09-09
EP0110643A2 (en) 1984-06-13
EP0113516A2 (en) 1984-07-18
JPH06342378A (ja) 1994-12-13
US4967326A (en) 1990-10-30
EP0110642B1 (en) 1988-09-21
EP0111399A3 (en) 1984-11-07
EP0110642A3 (en) 1984-11-07
US5031092A (en) 1991-07-09
DE3376894D1 (en) 1988-07-07
EP0110643A3 (en) 1984-11-07
JPH087739B2 (ja) 1996-01-29
JP2688320B2 (ja) 1997-12-10
JPH0128967B2 (ja) 1989-06-07

Similar Documents

Publication Publication Date Title
JPS59133650A (ja) マイクロコンピユ−タおよびマイクロコンピユ−タのネツトワ−クならびにこれらを動作させる方法
US4794526A (en) Microcomputer with priority scheduling
US5243698A (en) Microcomputer
JPS6298434A (ja) デ−タ処理システム
US20030034544A1 (en) Microcomputer
US4451882A (en) Data processing system
JP2514963B2 (ja) デ―タ処理装置
US5677859A (en) Central processing unit and an arithmetic operation processing unit
EP0335502A2 (en) Microcontroller and associated method
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
KR920005330B1 (ko) 마이크로컴퓨터 및 이와 상호 접속된 회로망
JP2777387B2 (ja) 改良された転送制御による直接メモリ・アクセス方式を持つデータ処理装置
KR920005298B1 (ko) 마이크로 컴퓨터
EP0333306A2 (en) Integrated and programmable processor for word-wise digital signal processing
JPS61182135A (ja) 処理選択方法
JPS62500821A (ja) 同時プロセスを作動させる方法及びマイクロコンピュータ
JPH01274240A (ja) 並列処理プロセッサ
JPH01166131A (ja) マイクロプログラム制御装置のネクスト・マイクロ命令発生装置
JPH0659933U (ja) 中央演算処理装置
JPH01292430A (ja) 並列処理プロセッサ
JPS62271023A (ja) プログラム制御方式
JPS63307534A (ja) マイクロプログラム制御方式