JPS63145567A - 並列コンピュータシステム - Google Patents
並列コンピュータシステムInfo
- Publication number
- JPS63145567A JPS63145567A JP62213190A JP21319087A JPS63145567A JP S63145567 A JPS63145567 A JP S63145567A JP 62213190 A JP62213190 A JP 62213190A JP 21319087 A JP21319087 A JP 21319087A JP S63145567 A JPS63145567 A JP S63145567A
- Authority
- JP
- Japan
- Prior art keywords
- processors
- processor
- computer
- parallel
- instructions
- 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
Links
- 230000015654 memory Effects 0.000 claims description 98
- 238000004891 communication Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 12
- 230000007257 malfunction Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims 2
- 230000011664 signaling Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 238000003860 storage Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 239000000835 fiber Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000976 ink Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- DIYWRNLYKJKHAM-MDOVXXIYSA-N (-)-cubebin Chemical compound C1=C2OCOC2=CC(C[C@@H]2[C@@H](CC=3C=C4OCOC4=CC=3)CO[C@@H]2O)=C1 DIYWRNLYKJKHAM-MDOVXXIYSA-N 0.000 description 1
- OVSKIKFHRZPJSS-UHFFFAOYSA-N 2,4-D Chemical compound OC(=O)COC1=CC=C(Cl)C=C1Cl OVSKIKFHRZPJSS-UHFFFAOYSA-N 0.000 description 1
- 208000019300 CLIPPERS Diseases 0.000 description 1
- 101710104624 Proline/betaine transporter Proteins 0.000 description 1
- XUEHVOLRMXNRKQ-KHMAMNHCSA-N alpha cubebene Natural products CC(C)[C@@H]([C@H]12)CC[C@@H](C)[C@]32[C@@H]1C(C)=CC3 XUEHVOLRMXNRKQ-KHMAMNHCSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 125000001246 bromo group Chemical group Br* 0.000 description 1
- 208000021930 chronic lymphocytic inflammation with pontine perivascular enhancement responsive to steroids Diseases 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 229940004975 interceptor Drugs 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
- G06F15/17343—Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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/8023—Two dimensional arrays, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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/803—Three-dimensional arrays or hypercubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/165—Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、並列した非常に多数のプロセッサ/メモリを
備えた超大型コンピュータを、非常に大勢のユーザに割
り付けて、同時に効率よく利用するようにした方法と装
置に関する。
備えた超大型コンピュータを、非常に大勢のユーザに割
り付けて、同時に効率よく利用するようにした方法と装
置に関する。
(従来の技術〕
従来すでに、特願昭59−109776号「並列プロセ
ッサ」 (特開昭(lid−84661号)、特願昭6
1−128294号「超次元アレイ内のプロセッサ相互
接続方法およびその装置」、特願昭62−39301号
「並列プロセッサ・アレイにおけるプロセッサ付加のシ
ミュレーション方法」等が出願されており、また前記特
願昭59−109776号に対応する米国出願を分割出
願した米国特許第4598400号「メッセージ・パケ
ットの送受経路を指定する方法と装置?2 (METH
OD ANDAPPAl?ATUS FORROIJ
TING MESSAGE PACKETS)
J が成立している。
ッサ」 (特開昭(lid−84661号)、特願昭6
1−128294号「超次元アレイ内のプロセッサ相互
接続方法およびその装置」、特願昭62−39301号
「並列プロセッサ・アレイにおけるプロセッサ付加のシ
ミュレーション方法」等が出願されており、また前記特
願昭59−109776号に対応する米国出願を分割出
願した米国特許第4598400号「メッセージ・パケ
ットの送受経路を指定する方法と装置?2 (METH
OD ANDAPPAl?ATUS FORROIJ
TING MESSAGE PACKETS)
J が成立している。
上記「並列プロセッサ」は、従来一般に使用されて来た
ディジタル・コンピュータが、基本的にはプログラムの
命令を、一時に一つずつ順次直列的に実行するため、装
置が大型な場合でも、実際には其の一部分ずつしか働い
ておらず、効率が悪い点を解決するために発明されたも
のであって、例えば特願昭59−109776号(特開
昭60−84661号)の第1A図に示す実施例では、
32(・2’)個のプロセッサ/メモリを含む集積回路
(IC)を32.768(=r 2 )個配列したアレイよりなる。これらプロセッサ/
メそりは、通常の二次元格子状およびプールのn次元超
立方体状の2形態に組織され相互接続される。二次元格
子状の場合は、プロセッサ/メモリは4個の最近隣接素
子と接続され、矩形アレイに組織され、便宜上、このア
レイの各辺は北、東、南、西と区別される。各プロセッ
サ/メそりは其の4個の最近隣接素子と、格子の各行、
各列を形成するように導電線で接続される。プールのn
次元立方体は、上記ICにOから32767までの番号
を付け、これらの番号即ちアドレスを、15個の二進数
で表示すると理解し易い。二次元格子内の対象物の位置
を、二次元格子の第1次元内の位置を指定する数と第2
次元内の位置を指定する二つの数を用いてtit定する
ことが出来るのと同様に、プールの15次元立方体内の
各次元内のICの位置を一つの数で指定することが出来
る。
ディジタル・コンピュータが、基本的にはプログラムの
命令を、一時に一つずつ順次直列的に実行するため、装
置が大型な場合でも、実際には其の一部分ずつしか働い
ておらず、効率が悪い点を解決するために発明されたも
のであって、例えば特願昭59−109776号(特開
昭60−84661号)の第1A図に示す実施例では、
32(・2’)個のプロセッサ/メモリを含む集積回路
(IC)を32.768(=r 2 )個配列したアレイよりなる。これらプロセッサ/
メそりは、通常の二次元格子状およびプールのn次元超
立方体状の2形態に組織され相互接続される。二次元格
子状の場合は、プロセッサ/メモリは4個の最近隣接素
子と接続され、矩形アレイに組織され、便宜上、このア
レイの各辺は北、東、南、西と区別される。各プロセッ
サ/メそりは其の4個の最近隣接素子と、格子の各行、
各列を形成するように導電線で接続される。プールのn
次元立方体は、上記ICにOから32767までの番号
を付け、これらの番号即ちアドレスを、15個の二進数
で表示すると理解し易い。二次元格子内の対象物の位置
を、二次元格子の第1次元内の位置を指定する数と第2
次元内の位置を指定する二つの数を用いてtit定する
ことが出来るのと同様に、プールの15次元立方体内の
各次元内のICの位置を一つの数で指定することが出来
る。
n次元立方体の場合、各次元内において、ICは0かl
の唯二つの位置の一方を占めることが出来る。こうして
15ビツトよりなるICのアドレスの2進表示を、n立
方体の15次元内に於けるICの位置指定に利用できる
。また、ビットはOか1の二つの値しか持たず、各IC
は15ピントの数で一部に指定できるから、各ICには
其の2進アドレスが夫自身のアドレスと唯1個所でだけ
異なった15個の他のICがある。あるICと2進アド
レスが唯一個所だけで異なる上記のような15個のrc
を、前記ICの最近隣接ICとみなす。
の唯二つの位置の一方を占めることが出来る。こうして
15ビツトよりなるICのアドレスの2進表示を、n立
方体の15次元内に於けるICの位置指定に利用できる
。また、ビットはOか1の二つの値しか持たず、各IC
は15ピントの数で一部に指定できるから、各ICには
其の2進アドレスが夫自身のアドレスと唯1個所でだけ
異なった15個の他のICがある。あるICと2進アド
レスが唯一個所だけで異なる上記のような15個のrc
を、前記ICの最近隣接ICとみなす。
ICをプールの15次元立方体の形態に接続するには、
各ICを其の15個の最近隣接ICに15本の入力線と
15本の出力線で接続すれば良い(特開昭60−846
61号公報の第2図、第3図参照)。
各ICを其の15個の最近隣接ICに15本の入力線と
15本の出力線で接続すれば良い(特開昭60−846
61号公報の第2図、第3図参照)。
第13図(特開昭80−84661号の第1A図と同じ
)は上記並列プロセッサのプロセッサ/メそりを含むr
cを二次元格子状に配列した状態を示す図である。各I
Cは256(・23)行X128(=2’)列の矩形ア
レイに配列され、各IC内には4(・22)行×8(・
23)列に配列されたプロセッサ/メモリや、演算結果
をメッセージ・パケットの形式に編成して其のパケット
の一部をなすアドレス情報に従って、メッセージ・パケ
ットをICからICへパケットを送出する経路を指定す
る回路が載置されている。なお、各IC内では、プロセ
ッサ・メモリ(PM) 36が第14図(特開昭60−
84661号の第匈図)に示す如く配置されており、プ
ロセンサ・メモリ36の内部は第15図(特開昭60−
84661号の第7八図)に示すようになっている。ま
た、各IC内には、10群を前記プールの超立方体に接
続した際にメッセージ・パケットの伝達経路をt旨定す
るルータがあるが、ルータは第16図(特開昭60−8
4661号の第16図)に示す回路200よりなり、ル
ータの中のライン・アサイナ(LineAssigne
r)は第17図(特開昭60−84661号の第11図
)に示すようになっている。
)は上記並列プロセッサのプロセッサ/メそりを含むr
cを二次元格子状に配列した状態を示す図である。各I
Cは256(・23)行X128(=2’)列の矩形ア
レイに配列され、各IC内には4(・22)行×8(・
23)列に配列されたプロセッサ/メモリや、演算結果
をメッセージ・パケットの形式に編成して其のパケット
の一部をなすアドレス情報に従って、メッセージ・パケ
ットをICからICへパケットを送出する経路を指定す
る回路が載置されている。なお、各IC内では、プロセ
ッサ・メモリ(PM) 36が第14図(特開昭60−
84661号の第匈図)に示す如く配置されており、プ
ロセンサ・メモリ36の内部は第15図(特開昭60−
84661号の第7八図)に示すようになっている。ま
た、各IC内には、10群を前記プールの超立方体に接
続した際にメッセージ・パケットの伝達経路をt旨定す
るルータがあるが、ルータは第16図(特開昭60−8
4661号の第16図)に示す回路200よりなり、ル
ータの中のライン・アサイナ(LineAssigne
r)は第17図(特開昭60−84661号の第11図
)に示すようになっている。
並列に動作する何千という多数のプロセッサ/メそりを
使用することは、計算機操作に全く新しい展望をもたら
す、直列コンピュータの限界のために企てられなかった
多(の問題が、並列コンビエータ例えばコネクション・
マシン(米国商標名ンを用いて余り長くない時間で実行
できる。
使用することは、計算機操作に全く新しい展望をもたら
す、直列コンピュータの限界のために企てられなかった
多(の問題が、並列コンビエータ例えばコネクション・
マシン(米国商標名ンを用いて余り長くない時間で実行
できる。
計算力が非常に増大するので、現在利用できる並列コン
ピュータには重荷になるような複雑な問題に対する関心
をかき立て、更にずっと大型な並列コンピュータに対す
る需要を引き起こしている。同時に、並列コンピュータ
によって有利に処理゛できる問題の全てに対して、非常
に大きなコンピュータが常に必要なわけではない。ある
種の問題は、率直に言って、大型の並列コンピュータの
全システムを使い尽くす程のデータを持っていない、ま
た他の問題は並列コンピュータのS1算力をそれほど必
要としていない。並列コンピュータのかなりの部分を常
に利用するような方法が見っからない限り、かかるコン
ピュータを経済的に引き合うようにすることは困難であ
る。
ピュータには重荷になるような複雑な問題に対する関心
をかき立て、更にずっと大型な並列コンピュータに対す
る需要を引き起こしている。同時に、並列コンピュータ
によって有利に処理゛できる問題の全てに対して、非常
に大きなコンピュータが常に必要なわけではない。ある
種の問題は、率直に言って、大型の並列コンピュータの
全システムを使い尽くす程のデータを持っていない、ま
た他の問題は並列コンピュータのS1算力をそれほど必
要としていない。並列コンピュータのかなりの部分を常
に利用するような方法が見っからない限り、かかるコン
ピュータを経済的に引き合うようにすることは困難であ
る。
かかる問題の一つの解決法は、既述の特願昭62−39
301号「並列プロセッサ・アレイにおけるプロセッサ
付加のシミュレーション方法」に述べられているように
、余裕のある処理および記憶能力を利用して、付加的な
並列プロセッサをシミュレートすることである。この技
術によれば、各物理的プロセッサに結合されたメモリは
複数のサブ・メモリに分割され、更に各サブ・メモリは
順に夫が恰も別のプロセッサに結合されているかのよう
に使用される。こうして、最初の命令または命令群が、
並列コンピュータの全てのプロセッサに与えられて、少
なくとも幾つかのプロセッサに最初のサブ・メモリの最
初の一つの記憶位置または複数記憶位置に格納されたデ
ータを処理させる。次いで、その同じ命令または命令群
が、そのコンピュータの全てのプロセッサに与えられて
、少なくとも幾つかのプロセッサに第2のサブ・メモリ
の同じ最初の記憶位置に格納されているデータを処理さ
せる。各サブ・メモリに対して、以後、同様に行う。こ
の技術は多くの状況下で非常に有効であるが、シミュレ
ートされたプロセッサの各グループに対するデータを処
理する物理的プロセッサは依然として従来通常の直列(
叩ちフォノ・ノイマン形)プロセッサである。その結果
、若し其の物理的プロセッサに対して、多数のシミュレ
ートされたプロセッサ及び/又は多量のデータを関連さ
せると、その物理的プロセッサにフォノ・ノイマン的隘
路が生ずることになる。
301号「並列プロセッサ・アレイにおけるプロセッサ
付加のシミュレーション方法」に述べられているように
、余裕のある処理および記憶能力を利用して、付加的な
並列プロセッサをシミュレートすることである。この技
術によれば、各物理的プロセッサに結合されたメモリは
複数のサブ・メモリに分割され、更に各サブ・メモリは
順に夫が恰も別のプロセッサに結合されているかのよう
に使用される。こうして、最初の命令または命令群が、
並列コンピュータの全てのプロセッサに与えられて、少
なくとも幾つかのプロセッサに最初のサブ・メモリの最
初の一つの記憶位置または複数記憶位置に格納されたデ
ータを処理させる。次いで、その同じ命令または命令群
が、そのコンピュータの全てのプロセッサに与えられて
、少なくとも幾つかのプロセッサに第2のサブ・メモリ
の同じ最初の記憶位置に格納されているデータを処理さ
せる。各サブ・メモリに対して、以後、同様に行う。こ
の技術は多くの状況下で非常に有効であるが、シミュレ
ートされたプロセッサの各グループに対するデータを処
理する物理的プロセッサは依然として従来通常の直列(
叩ちフォノ・ノイマン形)プロセッサである。その結果
、若し其の物理的プロセッサに対して、多数のシミュレ
ートされたプロセッサ及び/又は多量のデータを関連さ
せると、その物理的プロセッサにフォノ・ノイマン的隘
路が生ずることになる。
本発明は、並列コンピュータの構成を多数のユーザに割
付け、並列コンピュータの利用状態を改善することを目
的とする。
付け、並列コンピュータの利用状態を改善することを目
的とする。
本発明に従って、並列コンピュータは其のコンピュータ
で同時に実行される多数のデータ・ペースとプログラム
の要求を満たすように、多数のユーザ間で分割される。
で同時に実行される多数のデータ・ペースとプログラム
の要求を満たすように、多数のユーザ間で分割される。
本発明の基本になるのは、元来、一つのプロセッサ、一
つのメモリ、及び制御回路からなる複数のプロセッサ・
ユニットで形成された並列コンピュータであるが、前記
制御回路に、アドレス指定されたメソセージ・パケット
を並列コンピュータ内の一つのプロセッサ・ユニットか
ら他のユニットへ送る経路を指定する(routing
)ことによりプロセッサ・ユニット間を相互に接続する
手段(ルータ)と、動作中のプロセッサ・ユニットの第
1グループと第2グループの間にメッセージ・パケット
の経路が指定されるのを防止し、それにより並列コンピ
ュータを互いに影響し合わない複数グループに分割する
手段とを設け、並列コンピュータを複数のプロセッサ・
アレイに分割し、その各々がその他とは独立して使用で
きるようにすることにより、多数ユーザ間での分割使用
が達成される。この分割は、分割が容易に変更でき、し
かもタイム・シェアリング時には二つの連続した時間ス
ロットの間でも変更できるという意味で、ダイナミック
に行われる。
つのメモリ、及び制御回路からなる複数のプロセッサ・
ユニットで形成された並列コンピュータであるが、前記
制御回路に、アドレス指定されたメソセージ・パケット
を並列コンピュータ内の一つのプロセッサ・ユニットか
ら他のユニットへ送る経路を指定する(routing
)ことによりプロセッサ・ユニット間を相互に接続する
手段(ルータ)と、動作中のプロセッサ・ユニットの第
1グループと第2グループの間にメッセージ・パケット
の経路が指定されるのを防止し、それにより並列コンピ
ュータを互いに影響し合わない複数グループに分割する
手段とを設け、並列コンピュータを複数のプロセッサ・
アレイに分割し、その各々がその他とは独立して使用で
きるようにすることにより、多数ユーザ間での分割使用
が達成される。この分割は、分割が容易に変更でき、し
かもタイム・シェアリング時には二つの連続した時間ス
ロットの間でも変更できるという意味で、ダイナミック
に行われる。
前記複数プロセッサ間を信号線によって超立方体(例え
ば前記プールのn次元立方体)を形成するように相互接
続し、これら信号線を用いて、複数グループで並列に実
行された命令の実行結果を比較して誤動作を検出する手
段も設けである。
ば前記プールのn次元立方体)を形成するように相互接
続し、これら信号線を用いて、複数グループで並列に実
行された命令の実行結果を比較して誤動作を検出する手
段も設けである。
更に、特願昭62.−39301号「並列プロセンサ・
アレイにおけるプロセッサ付加のシミュレーション方法
」で述べられている如く、アレイの中の各物理的プロセ
ンサによって付加並列プロセッサのシミュレーションが
出来るように、また、シミュレートされた並列プロセッ
サ間で通信が出来るように、並列コンピュータを構成す
る。本発明では、特定の物理的プロセッサに対応するシ
ミュレートされたプロセッサ間で通信できるだけでなく
、任意の物理的プロセッサに対応する任意のシミュレー
トされたプロセッサが、並列コンピュータ内の任意の物
理的プロセッサに対応する任意のシミュレートされたプ
ロセッサと通信することも可能である。仮想メモリの概
念との類似により、以後、シミュレートされたプロセッ
サを仮想プロセッサと呼ぶ。更に、本発明では、仮想プ
ロセッサを仮想メモリ内に格納する手段も装備される。
アレイにおけるプロセッサ付加のシミュレーション方法
」で述べられている如く、アレイの中の各物理的プロセ
ンサによって付加並列プロセッサのシミュレーションが
出来るように、また、シミュレートされた並列プロセッ
サ間で通信が出来るように、並列コンピュータを構成す
る。本発明では、特定の物理的プロセッサに対応するシ
ミュレートされたプロセッサ間で通信できるだけでなく
、任意の物理的プロセッサに対応する任意のシミュレー
トされたプロセッサが、並列コンピュータ内の任意の物
理的プロセッサに対応する任意のシミュレートされたプ
ロセッサと通信することも可能である。仮想メモリの概
念との類似により、以後、シミュレートされたプロセッ
サを仮想プロセッサと呼ぶ。更に、本発明では、仮想プ
ロセッサを仮想メモリ内に格納する手段も装備される。
かかる設計の結果、106個の桁の物理的プロセッサで
ro (IIの桁の仮想プロセッサを有する並列コン
ピュータを作ることが可能である。更に、このコンビエ
ータは多数の独立したプロセッサの複数アレイに、構成
をダイナミックに変更することが出来るので、この規模
の装置は多数のユーザにより共用でき、各ユーザは其の
コンピュータの全体の中の、其の時点で処理中の問題に
見合った容量の部分だけを働かすことが出来る。詳細に
言えば、約千人のユーザが、ローカル・エリア・ネット
ワークを介して並列コンピュータにインタフェースする
ことが出来る。
ro (IIの桁の仮想プロセッサを有する並列コン
ピュータを作ることが可能である。更に、このコンビエ
ータは多数の独立したプロセッサの複数アレイに、構成
をダイナミックに変更することが出来るので、この規模
の装置は多数のユーザにより共用でき、各ユーザは其の
コンピュータの全体の中の、其の時点で処理中の問題に
見合った容量の部分だけを働かすことが出来る。詳細に
言えば、約千人のユーザが、ローカル・エリア・ネット
ワークを介して並列コンピュータにインタフェースする
ことが出来る。
プロセッサ間の通信を可能にするため、物理的プロセッ
サは十分な大きさの2進n次元立方体の形に相互接続さ
れ、各物理的プロセッサには其の立方体内で一意的な位
置が割当てられ、各仮想プロセッサには夫自身のアドレ
スが割当てられる。
サは十分な大きさの2進n次元立方体の形に相互接続さ
れ、各物理的プロセッサには其の立方体内で一意的な位
置が割当てられ、各仮想プロセッサには夫自身のアドレ
スが割当てられる。
こうして、このアドレス指定構造は最大240個の仮想
プロセッサにアドレスを割り当てることが可能である。
プロセッサにアドレスを割り当てることが可能である。
本発明に係る並列コンピュータは更に他の特徴として下
記各項を有する。
記各項を有する。
本コンピュータは通常の一時に一語ずつの命令群をサポ
ートし、更に、全く同形式の並列命令群をもサポートす
る。一時に一語ずつの処理それぞれに対して、対応する
データの並列処理が全データ群について同時に行われる
。
ートし、更に、全く同形式の並列命令群をもサポートす
る。一時に一語ずつの処理それぞれに対して、対応する
データの並列処理が全データ群について同時に行われる
。
本コンピュータは多数のプロセッサ間に命令を配分し同
時に実行するようにハードウェアでサポートする。その
結果、本機全体にわたる演算が相互間で完全に決定した
回数だけ行われる。
時に実行するようにハードウェアでサポートする。その
結果、本機全体にわたる演算が相互間で完全に決定した
回数だけ行われる。
ユーザは必要なだけの冗長度を割付けて、重要な事象(
トランザクション)のフェイル・セーフな処理を確保す
ることが出来る。これには、さほどm要でない応用の場
合の簡単な自己検査から、フェイル・セーフ・トランザ
クションのための完全な4倍モジュール方式冗長度まで
ある。冗長な要素は必要な場合にだけ割付けられるので
、冗長度のコストは、かかる冗長度を必要とする時にだ
け負担させられることになる。
トランザクション)のフェイル・セーフな処理を確保す
ることが出来る。これには、さほどm要でない応用の場
合の簡単な自己検査から、フェイル・セーフ・トランザ
クションのための完全な4倍モジュール方式冗長度まで
ある。冗長な要素は必要な場合にだけ割付けられるので
、冗長度のコストは、かかる冗長度を必要とする時にだ
け負担させられることになる。
上記のように構成すれば、本発明超大型コンピュータを
利用する多数のユーザが、同時に、互いに他の干渉を受
けずに、十分な冗長度割付によりフェイル・セーフ処理
を確保しながら、効率よく超大型コンピュータを使用で
きる。
利用する多数のユーザが、同時に、互いに他の干渉を受
けずに、十分な冗長度割付によりフェイル・セーフ処理
を確保しながら、効率よく超大型コンピュータを使用で
きる。
(実施例〕
第1図に示すように、本発明の実施例は、複数のユーザ
端末310(A−N)、ローカル・エリア・ネットワー
ク320、及びプロセッサ・アレイ330よりなるシス
テム300である。図示の如(、各端末には、キーボー
ド314と表示管316を有するコンソール312、プ
リンタ(図示せず)などのハードコピー出力装置、及び
端末とローカル・エリア・ネットワーク320間のイン
タフェース318が含まれる。従来のパーソナル・コン
ピュータを、必要ならば、端末310として使用できる
。
端末310(A−N)、ローカル・エリア・ネットワー
ク320、及びプロセッサ・アレイ330よりなるシス
テム300である。図示の如(、各端末には、キーボー
ド314と表示管316を有するコンソール312、プ
リンタ(図示せず)などのハードコピー出力装置、及び
端末とローカル・エリア・ネットワーク320間のイン
タフェース318が含まれる。従来のパーソナル・コン
ピュータを、必要ならば、端末310として使用できる
。
プロセッサ・アレイ330は実例としては、2′す(・
262.144) IIIの物理的プロセッサ・ユニソ
)(PPU)、各プロセッサに結合された4メガバイト
の高速読み書きメモリ即ちランダム・アクセス・メモリ
、頑丈な付加低速大記憶容量の読み書きメモリ、及び広
範なサポート回路から構成される。テラバイトの高速メ
モリは、一般にICメモリチップにより供給される。大
容量読み書きメモリは、例えば、合計10兆(tera
)バイトの容量となる各300メガバイトの32.76
88(=2”)個のハードディスク装置よりなる。26
2.144個のPPUは18次元の超立方体の形に接続
され、その中で各PPUはその超立方体の18個の辺そ
れぞれに沿って18個の隣接PPUと接続されており、
その詳細は以下説明する。
262.144) IIIの物理的プロセッサ・ユニソ
)(PPU)、各プロセッサに結合された4メガバイト
の高速読み書きメモリ即ちランダム・アクセス・メモリ
、頑丈な付加低速大記憶容量の読み書きメモリ、及び広
範なサポート回路から構成される。テラバイトの高速メ
モリは、一般にICメモリチップにより供給される。大
容量読み書きメモリは、例えば、合計10兆(tera
)バイトの容量となる各300メガバイトの32.76
88(=2”)個のハードディスク装置よりなる。26
2.144個のPPUは18次元の超立方体の形に接続
され、その中で各PPUはその超立方体の18個の辺そ
れぞれに沿って18個の隣接PPUと接続されており、
その詳細は以下説明する。
ローカル・エリア・ネットワーク320は、端末310
をプロセッサ・アレイ330内の幾つかのPPUに接続
し、特定の端末が特定のPPUと通信できるようにする
。これらのPPUは、順繰りに、アレイ内の他のPPU
をダイナミックに制御し、これら他のPPUは更に順次
なお一層多くのPPUを制御して、特定の問題に対して
適当な処理とメモリを供給するようにする。このローカ
ル・エリア・ネットワークはクロスバ−スイッチのよう
にフレキシブルで、任意の端末が其のネットワークに接
続された任意のPPuに接続でき、これらの接続は、タ
イムシェアリング環境下の場合のように極めて頻繁に要
求されても、何時も必要に応じて変更できることが好ま
しい。多数の従来からのローカル・エリア・ネットワー
ク、例えばイーサネット(商標名)システムやディジタ
ルPaχは、システム300に含まれるだけの端末を接
続する容量がありさえすれば、この目的に使用できる。
をプロセッサ・アレイ330内の幾つかのPPUに接続
し、特定の端末が特定のPPUと通信できるようにする
。これらのPPUは、順繰りに、アレイ内の他のPPU
をダイナミックに制御し、これら他のPPUは更に順次
なお一層多くのPPUを制御して、特定の問題に対して
適当な処理とメモリを供給するようにする。このローカ
ル・エリア・ネットワークはクロスバ−スイッチのよう
にフレキシブルで、任意の端末が其のネットワークに接
続された任意のPPuに接続でき、これらの接続は、タ
イムシェアリング環境下の場合のように極めて頻繁に要
求されても、何時も必要に応じて変更できることが好ま
しい。多数の従来からのローカル・エリア・ネットワー
ク、例えばイーサネット(商標名)システムやディジタ
ルPaχは、システム300に含まれるだけの端末を接
続する容量がありさえすれば、この目的に使用できる。
必要ならば、複数のローカル・エリア・ネットワークを
使用しても良い。例えば、この発明のシステムでは、ロ
ーカル・エリア・ネットワークは1000個の端末を接
続できなければならない。
使用しても良い。例えば、この発明のシステムでは、ロ
ーカル・エリア・ネットワークは1000個の端末を接
続できなければならない。
明らかに、本発明の装置は従来のマシンで実用されてい
たよりも遥かに大量のランダム・アクセス・メモリをサ
ポートする。これは、データベース全体を、ディスクよ
りもアクセス時間が能力的に数千倍も速いメインメモリ
内に格納可能にする。1兆バイトのメインメモリは、一
般には直列機の場合、かかる大メモリは、−人のユーザ
がたった1個所にアクセスしている間、他部分を遊ばせ
ておくと金がかかり過ぎて不経済である。本発明の場合
は、メモリの多くの個所が同時にアクセスされるので、
この問題は生じない。
たよりも遥かに大量のランダム・アクセス・メモリをサ
ポートする。これは、データベース全体を、ディスクよ
りもアクセス時間が能力的に数千倍も速いメインメモリ
内に格納可能にする。1兆バイトのメインメモリは、一
般には直列機の場合、かかる大メモリは、−人のユーザ
がたった1個所にアクセスしている間、他部分を遊ばせ
ておくと金がかかり過ぎて不経済である。本発明の場合
は、メモリの多くの個所が同時にアクセスされるので、
この問題は生じない。
先に参照した特願昭62−39301号の説明に従えば
、各1’P[Iは、其のPPUに結合したメモリを複数
のメモリに分割し、各サブメモリに異なる仮想プロセッ
サを割り当てることによって、複数の仮想プロセッサと
して働かせることが出来る。本発明によれば、メモリの
分割はディスクやテープ上の仮想メモリにまで拡張する
ことが出来る。更に、各仮想プロセッサは、コンピュー
タ内の処理動作に際し、物理的プロセッサと同等に見な
される。
、各1’P[Iは、其のPPUに結合したメモリを複数
のメモリに分割し、各サブメモリに異なる仮想プロセッ
サを割り当てることによって、複数の仮想プロセッサと
して働かせることが出来る。本発明によれば、メモリの
分割はディスクやテープ上の仮想メモリにまで拡張する
ことが出来る。更に、各仮想プロセッサは、コンピュー
タ内の処理動作に際し、物理的プロセッサと同等に見な
される。
本発明によれば、ユーザはPPUに対してデータ処理と
メモリに関するその要求を指定することができ、それで
其のPPuはこれらの要求を満たすのに十分な一群のプ
ロセッサ(物理的プロセッサと仮想プロセッサの双方)
を形成することが出来る、都合よ(、プロセッサ群は再
帰的に構成されていて、一つのプロセッサは一つ以上の
他のプロセッサを制御し、これら他の複数プロセッサは
更により多くのプロセッサを制御するというように続行
する。データベースの各要素が、複数プロセ。
メモリに関するその要求を指定することができ、それで
其のPPuはこれらの要求を満たすのに十分な一群のプ
ロセッサ(物理的プロセッサと仮想プロセッサの双方)
を形成することが出来る、都合よ(、プロセッサ群は再
帰的に構成されていて、一つのプロセッサは一つ以上の
他のプロセッサを制御し、これら他の複数プロセッサは
更により多くのプロセッサを制御するというように続行
する。データベースの各要素が、複数プロセ。
す中の一つのプロセッサに1対1で格納されており、ま
た、これらのプロセッサはデータベースと同じ構造に構
成されているのが好ましい。このような配置の結果: 1、各プロセッサは、算術/論理演算、データ移動、及
びサブルーチンの呼出や分岐などのような通常の制御の
流れを含む通常のフォノ・ノイマン型演算を実行するこ
とができる。
た、これらのプロセッサはデータベースと同じ構造に構
成されているのが好ましい。このような配置の結果: 1、各プロセッサは、算術/論理演算、データ移動、及
びサブルーチンの呼出や分岐などのような通常の制御の
流れを含む通常のフォノ・ノイマン型演算を実行するこ
とができる。
2、各プロセッサは、並列命令実行中、其の制御下にあ
る複数プロセッサに、1組のデータを割付けることが出
来る。割付けるプロセッサを制御プロセッサと呼び、割
付けられたプロセッサはデータ・プロセッサと呼ぶ。デ
ータ・プロセッサは制御プロセッサの全能力を有し、彼
等自身データ・プロセッサを割付けることができるから
、前記名称は相対的なものである。
る複数プロセッサに、1組のデータを割付けることが出
来る。割付けるプロセッサを制御プロセッサと呼び、割
付けられたプロセッサはデータ・プロセッサと呼ぶ。デ
ータ・プロセッサは制御プロセッサの全能力を有し、彼
等自身データ・プロセッサを割付けることができるから
、前記名称は相対的なものである。
3、各プロセッサは、その割付けられたデータ・プロセ
ッサの中からコンテキストの組を選ぶことが出来る。こ
のコンテキストの組は、並列に演算されるべきデータの
組である。コンテキストの組は、全てのデータ・プロセ
ッサ即ち現在のコンテキストの組内の全てのデータ・プ
ロセッサに課せられた成る条件に従って選ばれる。コン
テキストの組は保全され、再度記憶される。
ッサの中からコンテキストの組を選ぶことが出来る。こ
のコンテキストの組は、並列に演算されるべきデータの
組である。コンテキストの組は、全てのデータ・プロセ
ッサ即ち現在のコンテキストの組内の全てのデータ・プ
ロセッサに課せられた成る条件に従って選ばれる。コン
テキストの組は保全され、再度記憶される。
4、各プロセッサは、そのコンテキストの棲の中のデー
タの全てに対して同時に並列演算を行うことが出来る。
タの全てに対して同時に並列演算を行うことが出来る。
この並列演算は、これらがコンテキストの組の中の全デ
ータに対して同時に行われる点以外は、カテゴリlの順
次演算と全く同じである。並列演算は全データ操作、メ
モリ参照(通信)、及び制御の流れの操作を含む。プロ
グラマに見える限りでは、これらの操作はデータ・セン
ト内の全プロセンサで同時に行われる。
ータに対して同時に行われる点以外は、カテゴリlの順
次演算と全く同じである。並列演算は全データ操作、メ
モリ参照(通信)、及び制御の流れの操作を含む。プロ
グラマに見える限りでは、これらの操作はデータ・セン
ト内の全プロセンサで同時に行われる。
5、各プロセッサは、配分されたデータベースにアクセ
スでき、そのデータ要素のある部分を其のメモリに入れ
ることが出来る。仮想プロセッサは、また、データベー
スを更新することが出来る。
スでき、そのデータ要素のある部分を其のメモリに入れ
ることが出来る。仮想プロセッサは、また、データベー
スを更新することが出来る。
本発明並列コンピュータの命令は、従来のコンピュータ
の命令と同様である。その命令は、ローカル命令、並列
命令およびコンテキスト命令の3カテゴリに区分できる
。
の命令と同様である。その命令は、ローカル命令、並列
命令およびコンテキスト命令の3カテゴリに区分できる
。
ローカル命令は従来のコンピュータ命令そのものであっ
て、サブルーチン呼出、条件付きおよび無条件分岐、復
帰、レジスタによる算術データ移動、論理演算、および
テストを含む。ローカル命令は制御プロセッサ内で実行
される。
て、サブルーチン呼出、条件付きおよび無条件分岐、復
帰、レジスタによる算術データ移動、論理演算、および
テストを含む。ローカル命令は制御プロセッサ内で実行
される。
並列命令は、複数データ・プロセッサのコンテキストの
組に同時に実行される意思外は、ローカル命令と全く同
様である。オーダと呼ばれる並列命令のグループが、コ
ンテキストの組の中の全仮想データ・プロセッサ上で同
時に実行される。各ローカル・データ命令に対応して並
列データ命令が存在する。
組に同時に実行される意思外は、ローカル命令と全く同
様である。オーダと呼ばれる並列命令のグループが、コ
ンテキストの組の中の全仮想データ・プロセッサ上で同
時に実行される。各ローカル・データ命令に対応して並
列データ命令が存在する。
コンテキスト命令は、並列に実行される仮想データ・プ
ロセッサの組を指定するのに用いられる。コンテキスト
命令には次の41M頬がある:全仮想プロセッサがある
条件を満足するコンテキストを設定するもの、コンテキ
ストを制限して現在のコンテキスト内である条件を満足
するプロセッサのサブコンテキストにするもの、現在の
コンテキストをスタックの上に押し込むもの、現在のコ
ンテキストをスタックからtaね上げて出すもの。これ
らのコンテキスト命令を並列命令と混合してグループに
まとめ、オーダにすることが出来る。
ロセッサの組を指定するのに用いられる。コンテキスト
命令には次の41M頬がある:全仮想プロセッサがある
条件を満足するコンテキストを設定するもの、コンテキ
ストを制限して現在のコンテキスト内である条件を満足
するプロセッサのサブコンテキストにするもの、現在の
コンテキストをスタックの上に押し込むもの、現在のコ
ンテキストをスタックからtaね上げて出すもの。これ
らのコンテキスト命令を並列命令と混合してグループに
まとめ、オーダにすることが出来る。
オーダは、本発明並列コンピュータ内での同期の基本要
素である。一つのオーダは1制御プロセツサと1データ
・プロセッサ間の通信の単位である。最も簡単な場合に
は、オーダは1個の命令である。オーダは、其のオーダ
内の複数物理的データ・プロセッサ間の同期に無関係に
一緒に実行できる一つの命令グループであってもよい。
素である。一つのオーダは1制御プロセツサと1データ
・プロセッサ間の通信の単位である。最も簡単な場合に
は、オーダは1個の命令である。オーダは、其のオーダ
内の複数物理的データ・プロセッサ間の同期に無関係に
一緒に実行できる一つの命令グループであってもよい。
一つの制御プロセッサの基本動作は、第5図中に示すア
ルファ・ルータを通じて1オーダを出し、オーダが全デ
ータ・プロセッサによって実行されたことの確認を待つ
ことである。別々の仮想プロセッサ群が、別々の時点で
、オーダ内の種々の命令を実行でき、通常、繰り返し実
行する。
ルファ・ルータを通じて1オーダを出し、オーダが全デ
ータ・プロセッサによって実行されたことの確認を待つ
ことである。別々の仮想プロセッサ群が、別々の時点で
、オーダ内の種々の命令を実行でき、通常、繰り返し実
行する。
一つのオーダは、システム内で命令を一時貯蔵する基本
単位でもある。これは、1オーダ内に許容される命令数
が限定されることを意味する。一つのオーダは1呼出命
令を持てるから、一つのオーダで実行できる処理の数は
任意に大きく出来る。サブルーチンの呼出の他に、オー
ダは簡単なループや条件付き分岐命令を持てる。
単位でもある。これは、1オーダ内に許容される命令数
が限定されることを意味する。一つのオーダは1呼出命
令を持てるから、一つのオーダで実行できる処理の数は
任意に大きく出来る。サブルーチンの呼出の他に、オー
ダは簡単なループや条件付き分岐命令を持てる。
オーダ内の命令は非同期的に実行可能という簡単な規則
に従って、複数命令は複数オーダにまとめられる。これ
は、例えば、非局所的通信だけに関係する命令を一つの
オーダの最後の命令とすることによって行われる。
に従って、複数命令は複数オーダにまとめられる。これ
は、例えば、非局所的通信だけに関係する命令を一つの
オーダの最後の命令とすることによって行われる。
オーダは、複数制御プロセッサから複数データ・プロセ
ッサへ、アルファ・ルータを介して放送される。オーダ
が全データ・プロセッサによって実行された時に制御プ
ロセッサに信号するのがアルファ・ルータの責任である
。この信号機構は、制御プロセッサ内のプログラミング
の流れを制御するために条件コードを結合するのにも用
いられる。
ッサへ、アルファ・ルータを介して放送される。オーダ
が全データ・プロセッサによって実行された時に制御プ
ロセッサに信号するのがアルファ・ルータの責任である
。この信号機構は、制御プロセッサ内のプログラミング
の流れを制御するために条件コードを結合するのにも用
いられる。
第2図の概略図に示すように、各PP(Iは、一つのマ
イクロプロセッサ350、機能回路360、及び
゛メモリ370よりなる。PPtlは、数学演算を高速
で実行するため特別の数学回路380をオプションとし
て持つことがある。マイクロプロセッサ350、メモリ
370、数学回路380は従来の集積回路で良い。例え
ば、マイクロプロセッサはインテル社のローラ社の68
000を用いることもできるし、命令ピンとデータビン
が別になったフェアチャイルド社のクリッパのようなマ
イクロプロセッサは特に有利である。
イクロプロセッサ350、機能回路360、及び
゛メモリ370よりなる。PPtlは、数学演算を高速
で実行するため特別の数学回路380をオプションとし
て持つことがある。マイクロプロセッサ350、メモリ
370、数学回路380は従来の集積回路で良い。例え
ば、マイクロプロセッサはインテル社のローラ社の68
000を用いることもできるし、命令ピンとデータビン
が別になったフェアチャイルド社のクリッパのようなマ
イクロプロセッサは特に有利である。
メモリ370は、高速大容量の読み書きメモリなら何で
も良い。例示したのは、4×64キロビツトのICチッ
プを32個配列したアレイよりなる4メガバイトのメモ
リである。誤り検出と訂正用に、メモリを付加して、パ
リティビットと誤り制御ビットを格納するようにするの
が有利である。一層大容量のメモリチップが入手できる
ようになった時は、かかるチップを用いてメモリの容量
を増し及び/又は所要ICチップ数を減らすことが出来
る。
も良い。例示したのは、4×64キロビツトのICチッ
プを32個配列したアレイよりなる4メガバイトのメモ
リである。誤り検出と訂正用に、メモリを付加して、パ
リティビットと誤り制御ビットを格納するようにするの
が有利である。一層大容量のメモリチップが入手できる
ようになった時は、かかるチップを用いてメモリの容量
を増し及び/又は所要ICチップ数を減らすことが出来
る。
と同期、データの一時貯蔵、及び仮想プロセンサの制御
を負担する。この回路はPPUから情報を受取り、ダイ
ナミック・メモリ駆動用のアドレス情報を作る。この回
路はまたPPUのデータビンとダイナミック・メモリの
データピンの間でデータを遺り取りする。機能回路はま
たppuを仮想プロセッサとして作動させるのに必要な
全ての管理機能を実行する。機能回路3らOがマイクロ
プロセッサ350とメモリ370の中間に位置する、3
者の構成は、マイクロプロセッサとメモリが直接接続さ
れた米国特許第4,598,400号中で述べたシステ
ムの場合よりも、マイクロプロセッサが遥かに多量のメ
モリに対しアドレス出来るようにする。同時に、この構
成はまた以下説明するメッセージ・パケットの経路指定
を可能にする。
を負担する。この回路はPPUから情報を受取り、ダイ
ナミック・メモリ駆動用のアドレス情報を作る。この回
路はまたPPUのデータビンとダイナミック・メモリの
データピンの間でデータを遺り取りする。機能回路はま
たppuを仮想プロセッサとして作動させるのに必要な
全ての管理機能を実行する。機能回路3らOがマイクロ
プロセッサ350とメモリ370の中間に位置する、3
者の構成は、マイクロプロセッサとメモリが直接接続さ
れた米国特許第4,598,400号中で述べたシステ
ムの場合よりも、マイクロプロセッサが遥かに多量のメ
モリに対しアドレス出来るようにする。同時に、この構
成はまた以下説明するメッセージ・パケットの経路指定
を可能にする。
PPUは16個を単位にして編成され、0−15の16
個のPPuの集積回路とサポート回路が第3図に示すよ
うに一枚の回路基板400上に搭載されている。
個のPPuの集積回路とサポート回路が第3図に示すよ
うに一枚の回路基板400上に搭載されている。
このサポート回路は、ディスク・インクフェース410
、汎用入出力回路420、自己検査回路430、クロッ
ク回路440、識別回路450、及び性能測定回路46
0からなる。
、汎用入出力回路420、自己検査回路430、クロッ
ク回路440、識別回路450、及び性能測定回路46
0からなる。
ディスク・インタフェース410はppu oに接続さ
れた標準SCSI(small computer 5
yste+n 1nter −face小規模コンピュ
ータシステム・インタフェース)インタフェースで、以
下に述べる大容量記憶モジュール470に接続するよう
に設計されている。その最大通信帯域幅は毎秒約10メ
ガピノ1へである。回路基板400上の他のPPUは、
ファイル・サーバとしてgB<ppuoを通して大容量
記す、αモジュールとインタフェースする。
れた標準SCSI(small computer 5
yste+n 1nter −face小規模コンピュ
ータシステム・インタフェース)インタフェースで、以
下に述べる大容量記憶モジュール470に接続するよう
に設計されている。その最大通信帯域幅は毎秒約10メ
ガピノ1へである。回路基板400上の他のPPUは、
ファイル・サーバとしてgB<ppuoを通して大容量
記す、αモジュールとインタフェースする。
入出力回路420は、PI’U 1に接続された32
ビット幅の並列または直列ポートである。このポートは
毎秒約50メガビ、トの最大帯域幅を有する。回路42
0は、ローカル・エリア・ネットワーク320をPPU
1にインクフェースするが、PPIJ 1は其のネッ
トワーク上ではもう一つの端子または並列または直列ボ
ートにしか見えない。回路基板400上の他のPPUは
Pr’ll 1を通して入出力回路420とインクフェ
ースする。この配列の結果、端末310 A〜Nに居る
どのユーザも、電話網に接続されたどの電話機へも電話
をかけられるのと同様に、プロセッサ・アレイ330内
のどのPPUでも選び出してアドレス出来る。
ビット幅の並列または直列ポートである。このポートは
毎秒約50メガビ、トの最大帯域幅を有する。回路42
0は、ローカル・エリア・ネットワーク320をPPU
1にインクフェースするが、PPIJ 1は其のネッ
トワーク上ではもう一つの端子または並列または直列ボ
ートにしか見えない。回路基板400上の他のPPUは
Pr’ll 1を通して入出力回路420とインクフェ
ースする。この配列の結果、端末310 A〜Nに居る
どのユーザも、電話網に接続されたどの電話機へも電話
をかけられるのと同様に、プロセッサ・アレイ330内
のどのPPUでも選び出してアドレス出来る。
自己検査回路430は回路基板400上で生じたどんな
誤りをも検出して其のモジュールをシステムから除去で
きる。この回路は発光ダイオードに接続していて、其の
モジュールが外されていることを視覚的に示し保守に好
都合になっている。各回路基板は自身のクロック回路4
40を持ち、その回路はシステムの他の複数PPυのク
ロック回路と同期している。識別回路450は電気的に
消去可能な非揮発性メモリで、その基板の製造および保
守の履歴、型造番号などを保持している。性能測定回路
′460はソフトウェアの性能を監視する。
誤りをも検出して其のモジュールをシステムから除去で
きる。この回路は発光ダイオードに接続していて、其の
モジュールが外されていることを視覚的に示し保守に好
都合になっている。各回路基板は自身のクロック回路4
40を持ち、その回路はシステムの他の複数PPυのク
ロック回路と同期している。識別回路450は電気的に
消去可能な非揮発性メモリで、その基板の製造および保
守の履歴、型造番号などを保持している。性能測定回路
′460はソフトウェアの性能を監視する。
大容量記す、aモジュール470は、図の如く、標準的
ディスク制御器480と標準5−1/41n300メガ
ハイド・ディスク装置490よりなり、最大7台の装置
を同じ制御器に付加して合計記憶容ff12400メガ
バイトにできるように用意されている。
ディスク制御器480と標準5−1/41n300メガ
ハイド・ディスク装置490よりなり、最大7台の装置
を同じ制御器に付加して合計記憶容ff12400メガ
バイトにできるように用意されている。
回路基板400と記f、αモジュール470は、第4図
に示すように、16枚の基板400と16台のモジュー
ル470の複数バンク502に編成されてキャビネット
500内に実装されている。こうして、262.144
個のPPUのシステムでは、PPUを収容するために1
、024 (・2′5個のキャビネットが用いられる
。これらのキャビネ71−は光フアイバ通信線で相互接
続される。従って各キャビネッ1へは、キャビネ、ト間
のデータ多重化と伝送に使用する少なくとも1個の光フ
ァイバ・トランシーバからなる1個以上の通信モジュー
ル505を持つ。これらトランシーバは、毎秒100メ
ガビツトのデータ速度で1キャビネット内の種々のPP
Uから他の複数キャビネット内の複数PPUへ光フアイ
バ通信線の広い帯域幅の利点を生かして時間多重化通信
を行う能力を持つ従来型光ファイバ・トランシーバで良
い。都合の良いことに、各通信モジュールには少なくと
も2個のトランシーバが用いられているので、各通信モ
ジュールでは信号を同時に送信および受信することが出
来る。
に示すように、16枚の基板400と16台のモジュー
ル470の複数バンク502に編成されてキャビネット
500内に実装されている。こうして、262.144
個のPPUのシステムでは、PPUを収容するために1
、024 (・2′5個のキャビネットが用いられる
。これらのキャビネ71−は光フアイバ通信線で相互接
続される。従って各キャビネッ1へは、キャビネ、ト間
のデータ多重化と伝送に使用する少なくとも1個の光フ
ァイバ・トランシーバからなる1個以上の通信モジュー
ル505を持つ。これらトランシーバは、毎秒100メ
ガビツトのデータ速度で1キャビネット内の種々のPP
Uから他の複数キャビネット内の複数PPUへ光フアイ
バ通信線の広い帯域幅の利点を生かして時間多重化通信
を行う能力を持つ従来型光ファイバ・トランシーバで良
い。都合の良いことに、各通信モジュールには少なくと
も2個のトランシーバが用いられているので、各通信モ
ジュールでは信号を同時に送信および受信することが出
来る。
複数PPU 330は先に参照した特願昭61−128
294号の趣旨に従って超立方体に接続しておくのが良
い。こうすると各PPUはこの立方体ネットワークの中
で、超立方体の4つの次元に対応する同じ回路基板上の
4個の他のPP(J 、及びその超立方体の更に4つの
次元に対応する一つのキャビネット内の4枚の他の回路
基板上の4個のPPUに接続されている。262.14
41固のPPUよりなるシステムの場合、キャビネット
内の各Pr’lJは10個の別々のキャビネット内の1
0([1i1のPPUに接続されている。これら1(l
I[l1lO別の接続は、その超立方体の残りの101
囚の次元に対応している。これら10個の次元の各々に
おける各キャビネットの接続は、別の通信モジュール5
05を経由して行われる。
294号の趣旨に従って超立方体に接続しておくのが良
い。こうすると各PPUはこの立方体ネットワークの中
で、超立方体の4つの次元に対応する同じ回路基板上の
4個の他のPP(J 、及びその超立方体の更に4つの
次元に対応する一つのキャビネット内の4枚の他の回路
基板上の4個のPPUに接続されている。262.14
41固のPPUよりなるシステムの場合、キャビネット
内の各Pr’lJは10個の別々のキャビネット内の1
0([1i1のPPUに接続されている。これら1(l
I[l1lO別の接続は、その超立方体の残りの101
囚の次元に対応している。これら10個の次元の各々に
おける各キャビネットの接続は、別の通信モジュール5
05を経由して行われる。
第5図に示すように、機能回路は9個の主要機能ユニッ
トを持っている:即ち、アドレス・マツバ510.メモ
リ・インタフェース520.仮想プロセッサ・シーケン
サ5301データ・キャッシュ540.誤り訂正S 5
50 +アルファ・ルータ560.ベータ・/L/−タ
570、インクセブタ5BO9及び/又はオーダ・キヤ
。
トを持っている:即ち、アドレス・マツバ510.メモ
リ・インタフェース520.仮想プロセッサ・シーケン
サ5301データ・キャッシュ540.誤り訂正S 5
50 +アルファ・ルータ560.ベータ・/L/−タ
570、インクセブタ5BO9及び/又はオーダ・キヤ
。
シュ590である。実例では、これら機能ユニットは全
て単−ff1g1回路すなわちチップ上に実現されてい
るが、複数のチップも使用できる。アドレス・ビン53
2とデータ・ビン582は、仮想プロセッサ<vp>・
シーケンサ530とインクセブタ580をPPUのマイ
クロプロセッサ350に接続する。アドレス・ビン52
2とデータ・ビン552は、メモリ・インタフェース5
20と誤り訂正器550をPPtlのメモリ370に接
続する。アルファ・ビン562とキューブ・ビン572
は、一つのPPIIのアルファ及ヒべ一り・ルータ56
0.570を他の複数PI”Uのアルファ及びベータ・
ルータに以下詳細に説明するように、接続する。
て単−ff1g1回路すなわちチップ上に実現されてい
るが、複数のチップも使用できる。アドレス・ビン53
2とデータ・ビン582は、仮想プロセッサ<vp>・
シーケンサ530とインクセブタ580をPPUのマイ
クロプロセッサ350に接続する。アドレス・ビン52
2とデータ・ビン552は、メモリ・インタフェース5
20と誤り訂正器550をPPtlのメモリ370に接
続する。アルファ・ビン562とキューブ・ビン572
は、一つのPPIIのアルファ及ヒべ一り・ルータ56
0.570を他の複数PI”Uのアルファ及びベータ・
ルータに以下詳細に説明するように、接続する。
第6図に示すように、アドレス・マツバ510はPPU
アドレス・レジスタ605、オンセ・7ト・レジスタ6
10 、VPオフセット・レジスタ615 、VPイン
クリメント・レジスタ620、及びページ・テーブル6
25を備える。また此のマツバは、第1、第2、第3マ
ルチプレクサ630.635 、640及び第11第2
加算fi645,650を備える。アドレス・マツバへ
の入力は、vPシーケンサ530からアドレス・バス6
02経出で受は取られ、マツバからの出力は物理アドレ
ス・バス652経出でメモリ・インタフェース520に
与えられる。2ビツトよりなるページ・ビットが、ペー
ジ・ビット線654経由でvPシーケンザ530に与え
られる。図示のように、アドレス・バスは24ビツト幅
で、物理アドレス・バスは22ビツト幅である。
アドレス・レジスタ605、オンセ・7ト・レジスタ6
10 、VPオフセット・レジスタ615 、VPイン
クリメント・レジスタ620、及びページ・テーブル6
25を備える。また此のマツバは、第1、第2、第3マ
ルチプレクサ630.635 、640及び第11第2
加算fi645,650を備える。アドレス・マツバへ
の入力は、vPシーケンサ530からアドレス・バス6
02経出で受は取られ、マツバからの出力は物理アドレ
ス・バス652経出でメモリ・インタフェース520に
与えられる。2ビツトよりなるページ・ビットが、ペー
ジ・ビット線654経由でvPシーケンザ530に与え
られる。図示のように、アドレス・バスは24ビツト幅
で、物理アドレス・バスは22ビツト幅である。
アドレス・マツバの動作を理解するには、本発明システ
ムに対するアドレス機構を理解するのが役に立つ。第1
1図に示す如く、システム内に収容されるアドレスには
4種類ある:即ち、ロケーティブ、ルータ・アドレス、
仮想アドレス、及び物理アドレスである。1000人の
ユーザの必要を満たすのに十分な仮想プロセッサをサポ
ートするために、本発明システムは、たとえ仮想メモリ
内に格納された仮想プロセッサでもサポートする。この
ため、物理的にディスクに格納されているデータでも、
一つの仮想プロセッサに結合することが出来る。その結
果、本発明システムは、最大1トリリオン(#2”)個
の仮想プロセッサをサポートするように設計されている
。原理的には全アドレス領域を一人のユーザが使用する
場合があるため、CM2 (米国商標名コネクション
マシン)機は64ビツトのアドレス領域でアドレス構造
をサポートしている。
ムに対するアドレス機構を理解するのが役に立つ。第1
1図に示す如く、システム内に収容されるアドレスには
4種類ある:即ち、ロケーティブ、ルータ・アドレス、
仮想アドレス、及び物理アドレスである。1000人の
ユーザの必要を満たすのに十分な仮想プロセッサをサポ
ートするために、本発明システムは、たとえ仮想メモリ
内に格納された仮想プロセッサでもサポートする。この
ため、物理的にディスクに格納されているデータでも、
一つの仮想プロセッサに結合することが出来る。その結
果、本発明システムは、最大1トリリオン(#2”)個
の仮想プロセッサをサポートするように設計されている
。原理的には全アドレス領域を一人のユーザが使用する
場合があるため、CM2 (米国商標名コネクション
マシン)機は64ビツトのアドレス領域でアドレス構造
をサポートしている。
アドレスの最も一般的な形式はロケーティブで、64ビ
ツトの記憶装置を必要とする。一つのロケーティブは、
全システム内の任意の仮想プロセッサ内の任意のメモリ
位置を指定することが出来る。ロケーティブの上位40
ビツトは、どの仮想プロセッサがアクセスされているか
を指定する。下位24ビツトは該当仮想プロセッサ内で
のオフセントを指定する。2b4は全システムの仮想メ
モリの規模より大きいので、コーディングに際して冗長
度の余裕がある。詳細には、仮想プロセッサを指定して
いる40ビツトは、その仮想プロセッサが存在するPP
tl(18ビツト)と、物理的プロセシング・ユニソI
−(f’PU)の仮想メモリ内で其の仮想プロセッサが
始まる語(22ビツト)を別々に指定する。仮想プロセ
ッサは、物理的プロセシング・ユニット(PPtl)の
24ビツトの仮想アドレス領域内の任意の偶数の32ピ
ントの境界で始まる。
ツトの記憶装置を必要とする。一つのロケーティブは、
全システム内の任意の仮想プロセッサ内の任意のメモリ
位置を指定することが出来る。ロケーティブの上位40
ビツトは、どの仮想プロセッサがアクセスされているか
を指定する。下位24ビツトは該当仮想プロセッサ内で
のオフセントを指定する。2b4は全システムの仮想メ
モリの規模より大きいので、コーディングに際して冗長
度の余裕がある。詳細には、仮想プロセッサを指定して
いる40ビツトは、その仮想プロセッサが存在するPP
tl(18ビツト)と、物理的プロセシング・ユニソI
−(f’PU)の仮想メモリ内で其の仮想プロセッサが
始まる語(22ビツト)を別々に指定する。仮想プロセ
ッサは、物理的プロセシング・ユニット(PPtl)の
24ビツトの仮想アドレス領域内の任意の偶数の32ピ
ントの境界で始まる。
ルータ・アドレスは通信ネットワークで使用されるアド
レスである。これらは実質的にはロケーティブを圧縮し
た形式で、24ビツトのオフセントと仮想プロセッサの
アドレスの22ビツトのオフセット部を4倍したものを
加え合せて作られる。ルータ・アドレスはシステム内の
ある物理的プロセシング・ユニット内の仮想メモリ内の
一つの語をFW定する。ルータ・アドレスの長さは42
ビツト・で、これは全システム上の仮想メモリの語数に
対応する。
レスである。これらは実質的にはロケーティブを圧縮し
た形式で、24ビツトのオフセントと仮想プロセッサの
アドレスの22ビツトのオフセット部を4倍したものを
加え合せて作られる。ルータ・アドレスはシステム内の
ある物理的プロセシング・ユニット内の仮想メモリ内の
一つの語をFW定する。ルータ・アドレスの長さは42
ビツト・で、これは全システム上の仮想メモリの語数に
対応する。
一つのPPU内では、全てのボインクは24ピントの仮
想アドレスで格納されている。このようなアドレスのう
ち、8ビツトはメモリのページを示し、16ヒツトは其
のページ内のあるバイトのアドレスを示す。ページは、
仮想メモリ・システムのデマンドをベースにしたキャッ
シングの単位である。任意の時点で、最大64ページが
メモリ内に存在する。
想アドレスで格納されている。このようなアドレスのう
ち、8ビツトはメモリのページを示し、16ヒツトは其
のページ内のあるバイトのアドレスを示す。ページは、
仮想メモリ・システムのデマンドをベースにしたキャッ
シングの単位である。任意の時点で、最大64ページが
メモリ内に存在する。
24ビツトの仮想アドレスは、ページ・テーブル625
によって22ビツトの物理アドレス上にマツプされる。
によって22ビツトの物理アドレス上にマツプされる。
ページ・テーブルは、仮想メモリ内の夫々2ページを物
理メモリ内の2ページにマツプする、256語×6ビツ
トのルック・アップ・テーブルである。
理メモリ内の2ページにマツプする、256語×6ビツ
トのルック・アップ・テーブルである。
アドレス・マツパ510は、機能回路に入力中の仮想ア
ドレスを受取り、これをメモリ用の物理アドレスか通信
用のルータ・アドレスのどちらかに変換する。アドレス
・マツパは次の3種類の7Fレシング・モードをサポー
トするように設計されている:即ち、ノーマル、仮想プ
ロセッサ相対、及び拡張である。ノーマル・アドレシン
グ・モードでは、24ビツトの物理アドレスが直接PP
Uから採られ、8ピントのページ数と16ビツトのオフ
セントに分かれる。8ビツトのページ数は、複数仮想ペ
ージの物理メモリへのマツピングを含ムページ・テーブ
ル625に対する索引として用いられる。参照ページが
物理メモリ内にある場合は、ページ・テーブルは、物理
メモリのどの部分に其のページが在るかを示す6ビント
のアドレスを作る。
ドレスを受取り、これをメモリ用の物理アドレスか通信
用のルータ・アドレスのどちらかに変換する。アドレス
・マツパは次の3種類の7Fレシング・モードをサポー
トするように設計されている:即ち、ノーマル、仮想プ
ロセッサ相対、及び拡張である。ノーマル・アドレシン
グ・モードでは、24ビツトの物理アドレスが直接PP
Uから採られ、8ピントのページ数と16ビツトのオフ
セントに分かれる。8ビツトのページ数は、複数仮想ペ
ージの物理メモリへのマツピングを含ムページ・テーブ
ル625に対する索引として用いられる。参照ページが
物理メモリ内にある場合は、ページ・テーブルは、物理
メモリのどの部分に其のページが在るかを示す6ビント
のアドレスを作る。
これは16ビノトのオフセットと組み合わされて22ビ
ツトの、直接メモリ・インタフェースに行(物理アドレ
スを形成する。参照ページがスワップアウトされている
場合は、ページ・テーブルはページ・ビットの設定によ
りその行表示し、また2次記憶装置から物理メモリに其
のページがロードされるようにトラップを設ける。ペー
ジは先入れ/先出し方式でロードされるので、新しいペ
ージは最も最近ロードされたページの上にロードされる
。ページ・ビットは、成るページを逃げられなくし、絶
対に2次記憶装置へ出て行けなくするのに使用すること
も出来る。
ツトの、直接メモリ・インタフェースに行(物理アドレ
スを形成する。参照ページがスワップアウトされている
場合は、ページ・テーブルはページ・ビットの設定によ
りその行表示し、また2次記憶装置から物理メモリに其
のページがロードされるようにトラップを設ける。ペー
ジは先入れ/先出し方式でロードされるので、新しいペ
ージは最も最近ロードされたページの上にロードされる
。ページ・ビットは、成るページを逃げられなくし、絶
対に2次記憶装置へ出て行けなくするのに使用すること
も出来る。
アドレシングの第2のモードは仮想プロセッサ相対であ
る。この場合、バスから入って来るアドレスは、現在実
行されている仮想プロセッサ用の仮想プロセッサのオフ
セント・アドレスに対するオフセントと見なされる。こ
れら二つの24ビツトのアドレスは加算器650で加え
合わされて、24ビツトの仮想アドレスとなり、このア
ドレスは前記同様ページ・テーブルによって物理アドレ
スに変換される。仮想プロセッサ・オフセントは、仮想
プロセッサ・シーケンサか、また固定サイズの仮想プロ
セッサの場合は多分インクリメントすることによって設
定される。
る。この場合、バスから入って来るアドレスは、現在実
行されている仮想プロセッサ用の仮想プロセッサのオフ
セント・アドレスに対するオフセントと見なされる。こ
れら二つの24ビツトのアドレスは加算器650で加え
合わされて、24ビツトの仮想アドレスとなり、このア
ドレスは前記同様ページ・テーブルによって物理アドレ
スに変換される。仮想プロセッサ・オフセントは、仮想
プロセッサ・シーケンサか、また固定サイズの仮想プロ
セッサの場合は多分インクリメントすることによって設
定される。
アドレシングの最後の形式は、プロセッサ間の通信を行
うメカニズムである。この場合は、該当機能はベータ・
ルータによって計算され、そのアドレスは下記の如く算
出される:目的地のPP[Iの18ビツトのアドレスは
千ノブから来る24ビツトの物理アドレス(オフセット
)とオンセット・レジスタ610にロードされた24ビ
ツトのオンセント・ワードの和に連結される。一般的に
は、これは拡張アドレシング動作の間に其の前のサイク
ルによってロードされる。あるメソセージ・アドレスを
受は取ると、オンセントとオフセントの和から計算され
た、受は取られたアドレスのメモリ部分が、仮想メモリ
・アドレスとして使用され、ノーマル・アドレシングの
場合のように、ページ・テーブルによって索引されて物
理アドレスになる。
うメカニズムである。この場合は、該当機能はベータ・
ルータによって計算され、そのアドレスは下記の如く算
出される:目的地のPP[Iの18ビツトのアドレスは
千ノブから来る24ビツトの物理アドレス(オフセット
)とオンセット・レジスタ610にロードされた24ビ
ツトのオンセント・ワードの和に連結される。一般的に
は、これは拡張アドレシング動作の間に其の前のサイク
ルによってロードされる。あるメソセージ・アドレスを
受は取ると、オンセントとオフセントの和から計算され
た、受は取られたアドレスのメモリ部分が、仮想メモリ
・アドレスとして使用され、ノーマル・アドレシングの
場合のように、ページ・テーブルによって索引されて物
理アドレスになる。
メモリ・インタフェース・ユニット520は、アドレシ
ングの物理的多重化とDI’?AMのリフレッシュを受
は持つ。第7図に示すように、インタフェース・ユニッ
ト520はリフレッシュ・カウンタ660、行番号レジ
スタ665、マルチプレクサ670、及び比較器675
よりなる。マルチプレクサ670は、22ビツトの物理
アドレスを11本のアドレス・ピンに多重化する。リフ
レッシュ・カウンタ660は故障診断のためにリセット
できる。メモリ・インタフェース・ユニットは、今日大
部分のDRA旧こよってサポートされている高速ブロッ
ク・モード・アクセスを利用するように設計されている
。これを行うために、メモリ・インタフェース・ユニッ
トは行番号レジスタ665に最後にアクセスされた行の
番号を格納する。もし比較器675が前回のアクセスと
同じ行にアクセスするように決めると、アドレスの列部
分だけをストローブする高速サイクルが実行される。こ
うして、メモリの同じブロックに対する参照は一般のラ
ンダム・アクセスに要する時間の約半分で実行される。
ングの物理的多重化とDI’?AMのリフレッシュを受
は持つ。第7図に示すように、インタフェース・ユニッ
ト520はリフレッシュ・カウンタ660、行番号レジ
スタ665、マルチプレクサ670、及び比較器675
よりなる。マルチプレクサ670は、22ビツトの物理
アドレスを11本のアドレス・ピンに多重化する。リフ
レッシュ・カウンタ660は故障診断のためにリセット
できる。メモリ・インタフェース・ユニットは、今日大
部分のDRA旧こよってサポートされている高速ブロッ
ク・モード・アクセスを利用するように設計されている
。これを行うために、メモリ・インタフェース・ユニッ
トは行番号レジスタ665に最後にアクセスされた行の
番号を格納する。もし比較器675が前回のアクセスと
同じ行にアクセスするように決めると、アドレスの列部
分だけをストローブする高速サイクルが実行される。こ
うして、メモリの同じブロックに対する参照は一般のラ
ンダム・アクセスに要する時間の約半分で実行される。
これは順序データのブロックにアクセスするのに特に重
要である。
要である。
仮想プロセッサ・シーケンサ530は、仮想プロセッサ
のオーバヘッドに必要なリスト操作を迅速に行うための
簡単な有限状態のステー1・・マシンである。PPuは
多数の仮想プロセッサの動作を時間的に順次多重化して
実行する。仮想プロセッサ当たりの仮想メモリ金は完全
に可変であるが、PPUのメモリ領域(その仮想メモリ
を含み)の成る部分は各仮想プロセッサに割付けられる
。一般に、一つのPPUによって実行される複数仮想プ
ロセンサは、幾つかの別のタスクに従事している。各タ
スクに対して、そのPPuは、そのタスクの現在のコン
テキストの中に、実行中のオーダを使用するために、全
てのブロモ・ノサを順位付けなければならない。そのP
PUはタスクの順序に対応したオーダ夫々に全て順位付
けしなければならない。しかし、実行中のタスクのコン
テキスト内に無いPPUによって実行される複数仮想プ
ロセッサを順位付ける必要はない。その結果、PPUに
よって実行される仮想プロセッサに順位付けを行うのに
要する時間は大幅に節約される。
のオーバヘッドに必要なリスト操作を迅速に行うための
簡単な有限状態のステー1・・マシンである。PPuは
多数の仮想プロセッサの動作を時間的に順次多重化して
実行する。仮想プロセッサ当たりの仮想メモリ金は完全
に可変であるが、PPUのメモリ領域(その仮想メモリ
を含み)の成る部分は各仮想プロセッサに割付けられる
。一般に、一つのPPUによって実行される複数仮想プ
ロセンサは、幾つかの別のタスクに従事している。各タ
スクに対して、そのPPuは、そのタスクの現在のコン
テキストの中に、実行中のオーダを使用するために、全
てのブロモ・ノサを順位付けなければならない。そのP
PUはタスクの順序に対応したオーダ夫々に全て順位付
けしなければならない。しかし、実行中のタスクのコン
テキスト内に無いPPUによって実行される複数仮想プ
ロセッサを順位付ける必要はない。その結果、PPUに
よって実行される仮想プロセッサに順位付けを行うのに
要する時間は大幅に節約される。
仮想プロセッサと多重タスク・コンテキスト切換えの双
方とも直接ハードウェアでサポートされる。メモリ内の
仮想プロセッサの編成は第12図に概略が示しである。
方とも直接ハードウェアでサポートされる。メモリ内の
仮想プロセッサの編成は第12図に概略が示しである。
タスクはタスク・リストと呼ばれる環状のリストに結合
され、PPtlは任意の時点でタスク・リスト中のタス
クの一つに対するポインタを持っている。シーケンサ5
30に助けられて、PPUは、次のタスクに行く前に、
現在のタスクのコンテキスト中の全ての仮想プロセッサ
に対するオーダを実行しながら、各タスクを順番に循環
する。こうして、コンテキストが比較的小さければ、全
ての仮想プロセッサが現在のコンテキスト内にある場合
よりも短い時間内に実行される。
され、PPtlは任意の時点でタスク・リスト中のタス
クの一つに対するポインタを持っている。シーケンサ5
30に助けられて、PPUは、次のタスクに行く前に、
現在のタスクのコンテキスト中の全ての仮想プロセッサ
に対するオーダを実行しながら、各タスクを順番に循環
する。こうして、コンテキストが比較的小さければ、全
ての仮想プロセッサが現在のコンテキスト内にある場合
よりも短い時間内に実行される。
各タスクは、3個の情報を含む一つのヘッダに結合して
いる:即ち、現在のコンテキストに対するポインタ、結
合されたリストとして格納されたスタックに対するポイ
ンタ、及びタスク内の全仮想プロセッサのリストに対す
るポインタである。
いる:即ち、現在のコンテキストに対するポインタ、結
合されたリストとして格納されたスタックに対するポイ
ンタ、及びタスク内の全仮想プロセッサのリストに対す
るポインタである。
シーケンサは、また、タスク・リスト内の次のタスクに
対するポインタと、優先順位や実行の統計のようなタス
クに関する補助的情報を持っている。PpUは、コンテ
キスト・ポインタから始めてゼロのターミネータに達す
るまで、結合されたリストに従って、仮想メモリ内の各
仮想プロセッサの位置を決める。これらのリストはメモ
リの保護区域内に格納される。
対するポインタと、優先順位や実行の統計のようなタス
クに関する補助的情報を持っている。PpUは、コンテ
キスト・ポインタから始めてゼロのターミネータに達す
るまで、結合されたリストに従って、仮想メモリ内の各
仮想プロセッサの位置を決める。これらのリストはメモ
リの保護区域内に格納される。
「ブツシュ・コンテキスト」命令を実行するため、Pr
’tlは新しい記憶素子を割付け、現在のコンテキスト
・ポインタをスタックの上に押し付け、スタック・ポイ
ンタをスタックの最上部に変える。「ポツプ・コンテキ
スト」命令は、若しスタックがアンダフローした時は最
上位コンテキスト・ポインタが使用されること以外は、
丁度逆である。次に最も一般的な操作は、コンテキスト
を成る条件に従って現在のコンテキストのサブセントに
制限することである。この場合は、仮想プロセッサのリ
ストは、現在のコンテキストから出発して、その条件に
従って分かれる。その指定された条件に適合する複数仮
想プロセッサはリストの最後に付加される。そうすると
、そのリストの終りに対するポインタが現在のコンテキ
ストになる。こうして、連続したコンテキストを表す入
子になったサブセントの系列が効率的に格納される。こ
の方式で、現在のコンテキスト中にない仮想プロセッサ
は、オーダの実行中、オーバヘッドを招くことがない。
’tlは新しい記憶素子を割付け、現在のコンテキスト
・ポインタをスタックの上に押し付け、スタック・ポイ
ンタをスタックの最上部に変える。「ポツプ・コンテキ
スト」命令は、若しスタックがアンダフローした時は最
上位コンテキスト・ポインタが使用されること以外は、
丁度逆である。次に最も一般的な操作は、コンテキスト
を成る条件に従って現在のコンテキストのサブセントに
制限することである。この場合は、仮想プロセッサのリ
ストは、現在のコンテキストから出発して、その条件に
従って分かれる。その指定された条件に適合する複数仮
想プロセッサはリストの最後に付加される。そうすると
、そのリストの終りに対するポインタが現在のコンテキ
ストになる。こうして、連続したコンテキストを表す入
子になったサブセントの系列が効率的に格納される。こ
の方式で、現在のコンテキスト中にない仮想プロセッサ
は、オーダの実行中、オーバヘッドを招くことがない。
第8図に示すように、仮想プロセッサ・シーケンサ53
0は、5個の一次レジスタを持っており、これらは夫々
仮想プロセッサ・アドレスの上位22ピントを保持する
ことが出来る。コンテキスト・レジスタ680は現在の
コンテキスト・リストの開始位置に対するポインタを保
持する。スタック・レジスタ685は現在のタスクのコ
ンテキスト・スタックに対するポインタを保持する。ト
ップ・レジスタ690は現在のスタックのコンテキスト
・リストの最上部に対するポインタを保持する。タスク
・レジスタ695はタスク・リスト中の次のタスクに対
するポインタを保持し、ネクスト・レジスタ700は、
仮想プロセッサ・リスト内の次の仮想プロセッサに対す
るポインタを保持する。必要に応じて補助的情報を格納
する付加レジスタを使用することが出来る。シーケンサ
530の出力は、プロゲラマフ゛ル・ロジック・アレイ
(PL八)71Oからの信号に応じて、マルチプレクサ
715によって選択される。
0は、5個の一次レジスタを持っており、これらは夫々
仮想プロセッサ・アドレスの上位22ピントを保持する
ことが出来る。コンテキスト・レジスタ680は現在の
コンテキスト・リストの開始位置に対するポインタを保
持する。スタック・レジスタ685は現在のタスクのコ
ンテキスト・スタックに対するポインタを保持する。ト
ップ・レジスタ690は現在のスタックのコンテキスト
・リストの最上部に対するポインタを保持する。タスク
・レジスタ695はタスク・リスト中の次のタスクに対
するポインタを保持し、ネクスト・レジスタ700は、
仮想プロセッサ・リスト内の次の仮想プロセッサに対す
るポインタを保持する。必要に応じて補助的情報を格納
する付加レジスタを使用することが出来る。シーケンサ
530の出力は、プロゲラマフ゛ル・ロジック・アレイ
(PL八)71Oからの信号に応じて、マルチプレクサ
715によって選択される。
仮想プロセッサ・シーケンサは、その中に、これらのレ
ジスタを操作し、且つアドレス・マツパとオーダ・キャ
ッシュ内のレジスタを制御するために、状態レジスタ7
05とPLA710で実行される有限状態マシンを有し
ている。この有限状態マシンは、タスクと仮想プロセッ
サの双方のスワツピングというオーバヘッドを実行する
のに必要なリスト15作命令の順位付けを行う。状態マ
シンの出力は現在の状態と、機能回路の残りの部分から
来る条件ビット、例えば、ページ・テーブル625のペ
ージ・ビットとに依存する。PLΔはゼロ検出器720
によって検出された現在のデータがゼロか否かによって
条件的に移行を行うことが出来る。ある意味では、仮想
プロセッサ・シーケンサは算術演算ユニットを持たない
非常に簡単なコンピュータである。
ジスタを操作し、且つアドレス・マツパとオーダ・キャ
ッシュ内のレジスタを制御するために、状態レジスタ7
05とPLA710で実行される有限状態マシンを有し
ている。この有限状態マシンは、タスクと仮想プロセッ
サの双方のスワツピングというオーバヘッドを実行する
のに必要なリスト15作命令の順位付けを行う。状態マ
シンの出力は現在の状態と、機能回路の残りの部分から
来る条件ビット、例えば、ページ・テーブル625のペ
ージ・ビットとに依存する。PLΔはゼロ検出器720
によって検出された現在のデータがゼロか否かによって
条件的に移行を行うことが出来る。ある意味では、仮想
プロセッサ・シーケンサは算術演算ユニットを持たない
非常に簡単なコンピュータである。
データ・キャッシュ540は読み取り専用データをキャ
ッシュするための全〈従来通りのキャッシュである。
ッシュするための全〈従来通りのキャッシュである。
誤り訂正器550は、6ビノトのハミング・コードに基
いた、標準的な1ビット誤り訂正、多ビット誤り検出ロ
ジックである。第9図に示すように、それは、ライン・
ドライバ740,745,750,755□パリテイ・
ビット計算用の誤り制御回路760,765、パリティ
・ビット検出用の排他的オア・ゲート770、誤りが訂
正できるか否かを決めるデコーダ775゜及び検出した
誤りを訂正する為の排他的オア・ゲート780より成る
。誤り制御回路760は、物理的メモリに書込まれた全
てのデータに誤り訂正ビットを加算する。物理メモリか
ら読出された全てのデータは、誤り制御回路765でメ
モリから読だされたデータに対するパリティ・ビットを
再計算し、これらのビットを排他的オア(XOR)ゲー
ト770でメモリから読出したパリティ・ビットと比較
することによって点検する。デコーダ775は誤りが訂
正可能か否かを決定し、もし可能ならば適当な信号をX
ORゲート770に与えて訂正を行う。複数の誤りが生
じた場合は、デコーダ775によってユニットの故障を
通報する。
いた、標準的な1ビット誤り訂正、多ビット誤り検出ロ
ジックである。第9図に示すように、それは、ライン・
ドライバ740,745,750,755□パリテイ・
ビット計算用の誤り制御回路760,765、パリティ
・ビット検出用の排他的オア・ゲート770、誤りが訂
正できるか否かを決めるデコーダ775゜及び検出した
誤りを訂正する為の排他的オア・ゲート780より成る
。誤り制御回路760は、物理的メモリに書込まれた全
てのデータに誤り訂正ビットを加算する。物理メモリか
ら読出された全てのデータは、誤り制御回路765でメ
モリから読だされたデータに対するパリティ・ビットを
再計算し、これらのビットを排他的オア(XOR)ゲー
ト770でメモリから読出したパリティ・ビットと比較
することによって点検する。デコーダ775は誤りが訂
正可能か否かを決定し、もし可能ならば適当な信号をX
ORゲート770に与えて訂正を行う。複数の誤りが生
じた場合は、デコーダ775によってユニットの故障を
通報する。
アルファ及びベータ・ルータ560,570は夫々、命
令およびデータの分配に使用され、そのルーティングの
ハードウェアは分かれているが、物理的な通信線は共通
に使われる。第10図に示すように、アルファ・ルータ
560は、フリップ・フロンプ805 A−Nにより制
御されたアンド・ゲート800A−Nのアレイ、第1及
び第2オア・ゲート810.815、フリップ・フロッ
プ825 A−Nにより制御されたマルチプレクサ82
0 A−Nのアレイ、フリップ・フロップ832,83
4により制御された第1マルチプレクサ830、及びフ
リップ・フロップ842により制御された第2マルチプ
レクサ840により構成されている。入力線802 A
−Nはアンド・ゲート800 A−Nに入力され、出力
線822 A−Nはマルチプレクサ820 A−Nから
伸びている。これらの線は一つのPPUのアルファ・ル
ータを2進超立方体内の最近接複数PPUのアルファ・
ルータに接続する。従って、アンド・ゲート800 A
−N 1マルチプレクサ820^−N及びこれらに関連
した回路の数は、超立方体の次元の数、実例では18、
に対応しているが、図ではその中の3個だけが示しであ
る。各次元に対応する入出力線は同じアルファ・ルータ
に接続するから、必要ならばこれらの線は多重化できる
。
令およびデータの分配に使用され、そのルーティングの
ハードウェアは分かれているが、物理的な通信線は共通
に使われる。第10図に示すように、アルファ・ルータ
560は、フリップ・フロンプ805 A−Nにより制
御されたアンド・ゲート800A−Nのアレイ、第1及
び第2オア・ゲート810.815、フリップ・フロッ
プ825 A−Nにより制御されたマルチプレクサ82
0 A−Nのアレイ、フリップ・フロップ832,83
4により制御された第1マルチプレクサ830、及びフ
リップ・フロップ842により制御された第2マルチプ
レクサ840により構成されている。入力線802 A
−Nはアンド・ゲート800 A−Nに入力され、出力
線822 A−Nはマルチプレクサ820 A−Nから
伸びている。これらの線は一つのPPUのアルファ・ル
ータを2進超立方体内の最近接複数PPUのアルファ・
ルータに接続する。従って、アンド・ゲート800 A
−N 1マルチプレクサ820^−N及びこれらに関連
した回路の数は、超立方体の次元の数、実例では18、
に対応しているが、図ではその中の3個だけが示しであ
る。各次元に対応する入出力線は同じアルファ・ルータ
に接続するから、必要ならばこれらの線は多重化できる
。
更に、これらの線はベータ・ルータの入出力線として同
じ複数PPUに接続しているから、ベータ・ルータの線
と多重化することができる。
じ複数PPUに接続しているから、ベータ・ルータの線
と多重化することができる。
アルファ・ルータは命令を配分し、同期させるのに使用
される。それは本質的に、任意のプロセンサ又は任意の
複数のプロセッサが同時に命令の送出源となることが出
来る点を除けば、米国特許第4 、598.400号中
に述べられている命令分配トリー及びグローバル・オア
・トリーと同じ#R能を行5う。これらの命令はオーダ
と呼ばれるグループにまとめられる。一つのオーダの実
行はマシン全体を通してアルファ・ルータによって同期
されるため、一つのオーダが完全に実行され終わってか
ら次ぎのオーダが出される。
される。それは本質的に、任意のプロセンサ又は任意の
複数のプロセッサが同時に命令の送出源となることが出
来る点を除けば、米国特許第4 、598.400号中
に述べられている命令分配トリー及びグローバル・オア
・トリーと同じ#R能を行5う。これらの命令はオーダ
と呼ばれるグループにまとめられる。一つのオーダの実
行はマシン全体を通してアルファ・ルータによって同期
されるため、一つのオーダが完全に実行され終わってか
ら次ぎのオーダが出される。
放送されるべきオーダはローカル・インタセプタ580
からのオーダ入力線上で受取られ、他のルータから受取
られるオーダはオーダ出力線経由でオーダ・キャッシュ
540に与えられる。受取ったオーダが完了したことを
示す同期信号は、PPUによって同期入力線でルータへ
与えられ、他のPPtlによって一つのオーダが完了し
たことを示す信号はPPuへ同期出力線によって与えら
れる。
からのオーダ入力線上で受取られ、他のルータから受取
られるオーダはオーダ出力線経由でオーダ・キャッシュ
540に与えられる。受取ったオーダが完了したことを
示す同期信号は、PPUによって同期入力線でルータへ
与えられ、他のPPtlによって一つのオーダが完了し
たことを示す信号はPPuへ同期出力線によって与えら
れる。
アルファ・ルータの動作モードは、PPuから受取る信
号に従ってフリップ・フロップによって制御される。だ
から、特定の場所のPPuが他の複数のIIP[Iヘオ
ーダを放送するときには、オーダ入力線上で其の信号を
送出できるようにマルチプレクサ840をフリップ・フ
ロップ842がセットし、それからフリップ・フロップ
825^−Nがマルチプレクサ82OA−Nをこれらの
信号を送出するようにセットする。特定個所のPPUが
他のPPUからオーダを受取るときには、オーダが来る
と予想されるマルチプレクサ830への特定の入力次元
の線を指定するようにフリップ・フリップ832,83
4がセントされる。オーダを他のPPuへ通過させると
きには、フリップ・フロップ842は、その信号をマル
チプレクサ830からマルチプレクサ820 A−Nへ
送るように、マルチプレクサ840をセットする。この
構成によって、一つのPPUがオーダをその最近隣接P
PUへ放送することができ、そうして夫等を制御するこ
とが出来る、こうして各PPUはその最近隣接proか
らのオーダを聴き取って、そのt誇示に従うことが出来
る。
号に従ってフリップ・フロップによって制御される。だ
から、特定の場所のPPuが他の複数のIIP[Iヘオ
ーダを放送するときには、オーダ入力線上で其の信号を
送出できるようにマルチプレクサ840をフリップ・フ
ロップ842がセットし、それからフリップ・フロップ
825^−Nがマルチプレクサ82OA−Nをこれらの
信号を送出するようにセットする。特定個所のPPUが
他のPPUからオーダを受取るときには、オーダが来る
と予想されるマルチプレクサ830への特定の入力次元
の線を指定するようにフリップ・フリップ832,83
4がセントされる。オーダを他のPPuへ通過させると
きには、フリップ・フロップ842は、その信号をマル
チプレクサ830からマルチプレクサ820 A−Nへ
送るように、マルチプレクサ840をセットする。この
構成によって、一つのPPUがオーダをその最近隣接P
PUへ放送することができ、そうして夫等を制御するこ
とが出来る、こうして各PPUはその最近隣接proか
らのオーダを聴き取って、そのt誇示に従うことが出来
る。
一つのオーダが出されたのち、そのオーダを出したPP
Uはオーダの行動を同期信号により監視する。PPUは
オア・ゲート815への同期入力線を介して、かつ、マ
ルチプレクサ820 A−Nがオア・ゲート815から
信号を出すようにフリップ・フロップ825 A−Nを
セットすることにより、同期信号を出す。同期信号は、
アンド・ゲート800 A−Nが受取った信号をオア・
ゲート810へ通過させるようにフリップ・フロップ8
05八−Nをセットすることにより受取られる。オア・
ゲート810の出力は、また、オア・ゲート815への
入力を経由して他のPPUへ通される。この構成により
、一つのPPUは、それが制御する最近隣接PPUから
の同期信号を受信し、それが制御していない他のPPU
からの信号を無視することが出来る。
Uはオーダの行動を同期信号により監視する。PPUは
オア・ゲート815への同期入力線を介して、かつ、マ
ルチプレクサ820 A−Nがオア・ゲート815から
信号を出すようにフリップ・フロップ825 A−Nを
セットすることにより、同期信号を出す。同期信号は、
アンド・ゲート800 A−Nが受取った信号をオア・
ゲート810へ通過させるようにフリップ・フロップ8
05八−Nをセットすることにより受取られる。オア・
ゲート810の出力は、また、オア・ゲート815への
入力を経由して他のPPUへ通される。この構成により
、一つのPPUは、それが制御する最近隣接PPUから
の同期信号を受信し、それが制御していない他のPPU
からの信号を無視することが出来る。
ベータ・ルータ570は米国特許第4.598,400
号に述べられているルータと本質的に同じ種類のもので
ある。第17図(特開昭60〜84661号の第11図
)に示すように、ベータ・ルータは第5図に示すキユー
ザ・ピン572経由で超立方体内の最近隣接複数ppu
のベータ・ルータと交信する入力、出力線38.39の
アレイを有している。メッセージ・パケットはアドレス
・マツパ510とデータ・キャッシュ540経由でマイ
クロプロセッサからベータ・ルータ570に供給され、
そして受信されたメッセージ・パケットはマイクロプロ
セッサへこれら同一素子経由で供給される。入力線と出
力線は互いに多重化することができ、また、これらはア
ルファ・ルータの線802 A−N及び822 A−N
と多重化することが出来る。
号に述べられているルータと本質的に同じ種類のもので
ある。第17図(特開昭60〜84661号の第11図
)に示すように、ベータ・ルータは第5図に示すキユー
ザ・ピン572経由で超立方体内の最近隣接複数ppu
のベータ・ルータと交信する入力、出力線38.39の
アレイを有している。メッセージ・パケットはアドレス
・マツパ510とデータ・キャッシュ540経由でマイ
クロプロセッサからベータ・ルータ570に供給され、
そして受信されたメッセージ・パケットはマイクロプロ
セッサへこれら同一素子経由で供給される。入力線と出
力線は互いに多重化することができ、また、これらはア
ルファ・ルータの線802 A−N及び822 A−N
と多重化することが出来る。
ベータ・ルータは本質的にLfffi頬の機能を担う。
それは米国特許第4,598,400号の場合同様、あ
るPPUから他のPPUへ経路を指定してメッセージ・
パケットを送る。他のPPtlに結合しているメモリへ
、ベータ・ルータが結合しているPPUからのメモリ要
求に対応したメツセージ・パトソトを作る。ベータ・ル
ータは、それが結合しているPPUへ当てた他の複数P
PUからのメッセージ・パケット入力を受取り、これら
メツセージを適当に配分する。後者の2機能は新しいも
のであるが、各機能におけるメッセージ・パケットの経
路指定法は米国特許第4,598,400号に述べられ
ているものと同一である。
るPPUから他のPPUへ経路を指定してメッセージ・
パケットを送る。他のPPtlに結合しているメモリへ
、ベータ・ルータが結合しているPPUからのメモリ要
求に対応したメツセージ・パトソトを作る。ベータ・ル
ータは、それが結合しているPPUへ当てた他の複数P
PUからのメッセージ・パケット入力を受取り、これら
メツセージを適当に配分する。後者の2機能は新しいも
のであるが、各機能におけるメッセージ・パケットの経
路指定法は米国特許第4,598,400号に述べられ
ているものと同一である。
完全に形成した本発明の並列コンピュータは高価なリソ
ース(資源)であり、多分、単一ユーザが、かなりの期
間占有するには高価すぎる。このコンピュータの設計前
提事項の一つは、これは丙子ものユーザによって同時に
使用できるということである。一つのユーザのピーク要
求量は極めて大きいかもしれないが、平均要求量は比較
的控目に、例えば1ユーザ、1秒当たり百方命令、と仮
定しである。更に、ユーザはただ計算サイクルだけでな
く、他の共用リソース、例えば、共用データ・ベース内
の情報を利用することが出来ると仮定している。
ース(資源)であり、多分、単一ユーザが、かなりの期
間占有するには高価すぎる。このコンピュータの設計前
提事項の一つは、これは丙子ものユーザによって同時に
使用できるということである。一つのユーザのピーク要
求量は極めて大きいかもしれないが、平均要求量は比較
的控目に、例えば1ユーザ、1秒当たり百方命令、と仮
定しである。更に、ユーザはただ計算サイクルだけでな
く、他の共用リソース、例えば、共用データ・ベース内
の情報を利用することが出来ると仮定している。
このリソースを共用するための技術は、複数ユーザが空
間および時間的に共用して此のコンピュータの空間一時
間リソースを分割しているから、時分割との類似から、
空間分割と呼べるであろう。この意味で、空間分割は、
時間の多重化をも包含しているので、より正確には「空
間一時間分割」と呼ぶべきであろう。空間一時間分割は
、板金、全ユーザが全システムに常に均一な負荷をかけ
たとしても作用するであろうが、典型的ユーザの負荷に
は下記のような不均一性があるので、ユーザに知覚され
る利益に関して、一層都合よく作用する: アイドル・クイム:多(のユーザはマシンを使用してい
るとき、殆どの場合、本当に必要なのは極めて僅かなサ
イクルだけである。これは特に照会や共用データ・ベー
スをサポートするトランザクション・ベースのシステム
に当てはまる。
間および時間的に共用して此のコンピュータの空間一時
間リソースを分割しているから、時分割との類似から、
空間分割と呼べるであろう。この意味で、空間分割は、
時間の多重化をも包含しているので、より正確には「空
間一時間分割」と呼ぶべきであろう。空間一時間分割は
、板金、全ユーザが全システムに常に均一な負荷をかけ
たとしても作用するであろうが、典型的ユーザの負荷に
は下記のような不均一性があるので、ユーザに知覚され
る利益に関して、一層都合よく作用する: アイドル・クイム:多(のユーザはマシンを使用してい
るとき、殆どの場合、本当に必要なのは極めて僅かなサ
イクルだけである。これは特に照会や共用データ・ベー
スをサポートするトランザクション・ベースのシステム
に当てはまる。
不均一な並列性:並列プログラムを実行しているとき、
そのプログラムに同時に何十万もの仮想プロセッサを有
効に利用できる個所が多数あり、また、一時に一語の実
行で十分な個所もある。
そのプログラムに同時に何十万もの仮想プロセッサを有
効に利用できる個所が多数あり、また、一時に一語の実
行で十分な個所もある。
不均一なメモリ要求:多くのユーザは、任意の時点で、
此のコンピュータの1テラ(兆)バイトのメモリの比較
的僅かな部分への直接アクセスを要求するだけである。
此のコンピュータの1テラ(兆)バイトのメモリの比較
的僅かな部分への直接アクセスを要求するだけである。
データの共通性:多くのユーザは短時間内に同じデータ
・ベースにアクセスするため、そのデータ・ベースを比
較的低価格でメイン・メモリ内に保持しておくことが出
来る、同じことが共用ソフトウェアについても成り立つ
。
・ベースにアクセスするため、そのデータ・ベースを比
較的低価格でメイン・メモリ内に保持しておくことが出
来る、同じことが共用ソフトウェアについても成り立つ
。
これらの不均一性を利用するために、此のコンピュータ
は、実行時間の要求に基づいて、物理的プロセッサを仮
想プロセッサにグイナミソクに割付ける。従って、−人
のユーザは、アプリケーションが使用すると予想される
母に応じてではなく、アプリケーションが実際に使用す
る量に応じてリソースを消費する。
は、実行時間の要求に基づいて、物理的プロセッサを仮
想プロセッサにグイナミソクに割付ける。従って、−人
のユーザは、アプリケーションが使用すると予想される
母に応じてではなく、アプリケーションが実際に使用す
る量に応じてリソースを消費する。
ベータ・ルータの一つの特徴として、別々のユーザの間
に空間分割を与えるために、PPUのアレイを細分割す
ることを可能になる。第17図に示すように、G−in
(G=GranL許可)入力端子は成るppuから他の
PPUヘメソセージ・パケットを伝える通信線39への
アクセスを制御する。この線が切れた場合、その線に結
合したG−in入力端子に低い信号を与えて夫をネット
ワークから除去できる。本発明によれば、その超立方体
の任意の創立方体は、その創立方体を超立方体の残りに
結合する通信線に結合したG−in入力端子に低い信号
を与えることにより、超立方体の残りの部分から隔離さ
れる。
に空間分割を与えるために、PPUのアレイを細分割す
ることを可能になる。第17図に示すように、G−in
(G=GranL許可)入力端子は成るppuから他の
PPUヘメソセージ・パケットを伝える通信線39への
アクセスを制御する。この線が切れた場合、その線に結
合したG−in入力端子に低い信号を与えて夫をネット
ワークから除去できる。本発明によれば、その超立方体
の任意の創立方体は、その創立方体を超立方体の残りに
結合する通信線に結合したG−in入力端子に低い信号
を与えることにより、超立方体の残りの部分から隔離さ
れる。
例えば、256個のppuの創立方体は、各創立方体の
・8〜18次元に対する通信線に結合されたG−in入
力端子に単に低い信号を与えるだけで、■8次元超立方
体から隔離することが出来る。同時に、超立方体の他の
部分の多数の創立方体を、使用されていない通信線に結
合したG−in入力端子に低い信号を与えることによっ
て、超立方体から同様に隔離することが出来る。
・8〜18次元に対する通信線に結合されたG−in入
力端子に単に低い信号を与えるだけで、■8次元超立方
体から隔離することが出来る。同時に、超立方体の他の
部分の多数の創立方体を、使用されていない通信線に結
合したG−in入力端子に低い信号を与えることによっ
て、超立方体から同様に隔離することが出来る。
これを行うために、各PP[Iのマイクロプロセッサに
、創立方体の特定された構成に応じて、低い信号を印加
できるように、G−4n入力端子へのアクセスが与えら
れる。実例としては、アクセスは、其のPPuのマイク
ロプロセッサにより出力状態が制御される図示してない
フロップ・フロップにより供給される。
、創立方体の特定された構成に応じて、低い信号を印加
できるように、G−4n入力端子へのアクセスが与えら
れる。実例としては、アクセスは、其のPPuのマイク
ロプロセッサにより出力状態が制御される図示してない
フロップ・フロップにより供給される。
本発明によれば、命令中の一つのタグ・ビットが、他の
PPUによって並列に実行されるべき並列命令であるこ
とを見極める。インタセプタ580は、此のタグ・ビッ
トを検査する。PPUによってメモリからアクセスされ
た全てのデータはインタセプタ580を通過する。デー
タのタグ・ビットが、それが並列命令であることを示し
ている場合は、データ・ピンにno−op命令が送られ
て、インタセプタはアルファ・ルータへ並列命令を送っ
て他の複数PPUへ放送させる。タグ・ビットが並列命
令を示していない場合は、その命令はデータ・ピンを通
ってPPUへ送られる。
PPUによって並列に実行されるべき並列命令であるこ
とを見極める。インタセプタ580は、此のタグ・ビッ
トを検査する。PPUによってメモリからアクセスされ
た全てのデータはインタセプタ580を通過する。デー
タのタグ・ビットが、それが並列命令であることを示し
ている場合は、データ・ピンにno−op命令が送られ
て、インタセプタはアルファ・ルータへ並列命令を送っ
て他の複数PPUへ放送させる。タグ・ビットが並列命
令を示していない場合は、その命令はデータ・ピンを通
ってPPUへ送られる。
オーダ・キャンシュ590は、アルファ・ルータからの
オーダを格納するのに用いるメモリである。仮想プロセ
ッサ・シーケンサ530は、PP[Iにオーダ・キャッ
シュからの命令にアクセスさせ、各仮想プロセッサ上で
動作を実行させる。オーダ・キャッシュは、実質的には
、各タスクによって並列に操作されている複数命令に対
する命令キャッシュである。実例としては、キャッシュ
は256語の奥行きがある。
オーダを格納するのに用いるメモリである。仮想プロセ
ッサ・シーケンサ530は、PP[Iにオーダ・キャッ
シュからの命令にアクセスさせ、各仮想プロセッサ上で
動作を実行させる。オーダ・キャッシュは、実質的には
、各タスクによって並列に操作されている複数命令に対
する命令キャッシュである。実例としては、キャッシュ
は256語の奥行きがある。
このコンピュータの内部では部品が重複されているため
、自然に、冗長性により耐故障性を得るにの適している
。データベース内の記憶は全て、クアソプ・モジュール
からのデータが使用され、他のバックアップを作るため
に複製される。あるプロセッサ・モジュールが故障する
と、それは後釜ができるまでシステムから隔離され、残
りの作動中のプロセッサの組の中から物理プロセッサが
割付けられる。
、自然に、冗長性により耐故障性を得るにの適している
。データベース内の記憶は全て、クアソプ・モジュール
からのデータが使用され、他のバックアップを作るため
に複製される。あるプロセッサ・モジュールが故障する
と、それは後釜ができるまでシステムから隔離され、残
りの作動中のプロセッサの組の中から物理プロセッサが
割付けられる。
この種の耐故障性システムの中で最も困難な問題は、故
障が発生した場合の検出、切離しと、故障が生じたとき
に処理中のタスクの取扱である。
障が発生した場合の検出、切離しと、故障が生じたとき
に処理中のタスクの取扱である。
ここに、タスクが=tXに完了する確率と其のタスクに
割付けられるハードウェア量の間には交換関係がある。
割付けられるハードウェア量の間には交換関係がある。
本発明の並列コンピュータでは、ユーザは、タスクの重
大性に応じて実行時に、この交換を行うことが出来る。
大性に応じて実行時に、この交換を行うことが出来る。
必要な冗長度の量に応じて、タスクは3種類のモードの
一つで実行することが出来る。
一つで実行することが出来る。
システムの最も簡単な動作モードでは、第5図中に示し
た誤り訂正回路550のような自己点検ハードウェアが
故障の検出と隔離に用いられる。このハードウェアは、
最も頻繁に発生する誤りや故障、例えば、訂正不能なメ
モリ・エラー、パワーのロス、及び通信中の訂正不能エ
ラーなどを検出することが出来る。動作の自己点検モー
ドの際に、故障が自己点検回路によって検出されると、
現在のトランザクションは中断され、ハードウェアは故
障個所を切り離すために再構成される。それからトラン
ザクションは最初から再開される。
た誤り訂正回路550のような自己点検ハードウェアが
故障の検出と隔離に用いられる。このハードウェアは、
最も頻繁に発生する誤りや故障、例えば、訂正不能なメ
モリ・エラー、パワーのロス、及び通信中の訂正不能エ
ラーなどを検出することが出来る。動作の自己点検モー
ドの際に、故障が自己点検回路によって検出されると、
現在のトランザクションは中断され、ハードウェアは故
障個所を切り離すために再構成される。それからトラン
ザクションは最初から再開される。
自己点検回路は発生する大部分のエラーを検出できるけ
れども、全ての種類のエラーを検出できると保証されて
はいない。特に、PPU自身の内部で生ずる多くのエラ
ーは検出されない。二M冗長モードでは、動作システム
は、其のプログラムの二つの同一コピーを、二つの物理
的に別なプロセッサの同形の組に実行させ、所定時間毎
に中間結果を比較する。(n次元立方体パターンをとる
通信システムの配線は、このような比較のために、厳密
に正しい通信経路を提供する。)この比較機構は、如何
なる誤りでも、そして其の誤りが生じた原因をも、確実
に検出する。二重冗長モードで一旦エラーが検出される
と、それらは自己点検モードの場合と正確に同じ方法で
扱われる。二つのプロセッサは、どちらのプロセッサが
故障していたか診断して決定できるまで、システムから
隔離される。
れども、全ての種類のエラーを検出できると保証されて
はいない。特に、PPU自身の内部で生ずる多くのエラ
ーは検出されない。二M冗長モードでは、動作システム
は、其のプログラムの二つの同一コピーを、二つの物理
的に別なプロセッサの同形の組に実行させ、所定時間毎
に中間結果を比較する。(n次元立方体パターンをとる
通信システムの配線は、このような比較のために、厳密
に正しい通信経路を提供する。)この比較機構は、如何
なる誤りでも、そして其の誤りが生じた原因をも、確実
に検出する。二重冗長モードで一旦エラーが検出される
と、それらは自己点検モードの場合と正確に同じ方法で
扱われる。二つのプロセッサは、どちらのプロセッサが
故障していたか診断して決定できるまで、システムから
隔離される。
上記自己点検および二重冗長モードの不利な点は、エラ
ーが発生した場合、トランザクションを再スタートさせ
る必要があることである。これば、比較的小さいトラン
ザクションにうまく分解できないタスクにとっては許容
できるであろう。また、ある種のタスクは実時間処理が
必要でトランザクションの再試行が許容されない。これ
ら二つの場合に対しては、4重冗長モードがフェイルセ
ーフ処理を達成するのに通したモードである。
ーが発生した場合、トランザクションを再スタートさせ
る必要があることである。これば、比較的小さいトラン
ザクションにうまく分解できないタスクにとっては許容
できるであろう。また、ある種のタスクは実時間処理が
必要でトランザクションの再試行が許容されない。これ
ら二つの場合に対しては、4重冗長モードがフェイルセ
ーフ処理を達成するのに通したモードである。
4重冗長モードでは、アプリケーションの4個の同じコ
ピーが同期して実行される。各タスクはその演算を循環
的な方法で他と比較する、例えば、AはBをチェックし
、BはCをチェックし、CはDをチェックし、そしてD
はAをチェックする。エラーが生ずると、比較不一致の
パターンによって、検出および隔離される。この場合、
その処理過程の正しい状態は、エラーの生じていないタ
スクの一つから他の副室方体にコピーされ、演算は顕著
な中断なしに続行される。3重よりも、4mの冗長度を
使用するので、n次元立方体内で比較のために適当な配
線が得られる。
ピーが同期して実行される。各タスクはその演算を循環
的な方法で他と比較する、例えば、AはBをチェックし
、BはCをチェックし、CはDをチェックし、そしてD
はAをチェックする。エラーが生ずると、比較不一致の
パターンによって、検出および隔離される。この場合、
その処理過程の正しい状態は、エラーの生じていないタ
スクの一つから他の副室方体にコピーされ、演算は顕著
な中断なしに続行される。3重よりも、4mの冗長度を
使用するので、n次元立方体内で比較のために適当な配
線が得られる。
本発明の趣旨と範囲内で、上記方法と装置の多数の変形
が可能である。例えば、本発明は2進超立方体の形式に
構成された並列プロセッサのアレイに関係して述べられ
ているが、米国特許第4,598.400号に述べたよ
うな他の構成も使用できることが理解されるであろう。
が可能である。例えば、本発明は2進超立方体の形式に
構成された並列プロセッサのアレイに関係して述べられ
ているが、米国特許第4,598.400号に述べたよ
うな他の構成も使用できることが理解されるであろう。
そのような場合には、明らかに、プロセッサ・アレイ内
の信号伝送のための上記アルファ及びベータ・ルータの
ような通信装置について、適当な変更を必要となる。
の信号伝送のための上記アルファ及びベータ・ルータの
ような通信装置について、適当な変更を必要となる。
以上説明したように本発明によれば、多数のプロセンサ
やメモリを用いた大型の並列プロセッサ形超大型コンピ
ュータを、極めて多数のユーザが同時に互いに他人とは
独立して、空間分割一時間分割的に、その分割状態を各
ユーザの使用状態に応じて時々刻々ダイナミックに変え
ながら、かつ、使用するハードウェアに十分な冗長度を
持たせてフェイルセーフ性を保持しながら、非常に効率
良く使用することが出来る。
やメモリを用いた大型の並列プロセッサ形超大型コンピ
ュータを、極めて多数のユーザが同時に互いに他人とは
独立して、空間分割一時間分割的に、その分割状態を各
ユーザの使用状態に応じて時々刻々ダイナミックに変え
ながら、かつ、使用するハードウェアに十分な冗長度を
持たせてフェイルセーフ性を保持しながら、非常に効率
良く使用することが出来る。
第1図は本発明一実施例の全体概略図、第2図は本発明
に係るプロセッサ・ユニット(PPU)の概略図、第3
図、第4図はプロセッサ・ユニットを並列プロセッサの
アレイに構成した例を示す図、第5図はプロセッサ・ユ
ニットの機能回路を示す詳細図、第6〜10図は第5図
に示した各要素の詳細図、第11図は本発明実施例のア
ドレス指定機構を示す図、第12図はメモリ内の仮想プ
ロセッサの概略構成図、第13図は従来並列プロセッサ
の概略構成図、第14図は従来の並列プロセッサの各I
C内のプロセッサ/メモリの配列を示す図、第15図は
従来のプロセンサ/メモリの概略図、第16図は従来の
経路指定回路例を示す図、第17図は従来の経路指定回
路中のセル・アレイで構成されるライン・アサイナの概
略図である。 35−・=IC136−−−−プロセツサ/メモリ、
3B−ICからの出力線、 39−・ICへの入力線
、 200・・・ルータ(経路指定回路)、400−経
路指定論理セル、 300−・・本発明システム、31
0 A−N・一端末、320−・ローカル・エリア・ネ
ットワーク、330−・・プロセッサ・アレイ、350
−・−マイクロプロセッサ、360−機能回路、370
・−メモリ、 510−アドレス・マツパ、530・−
仮想プロセッサ・シーケンサ、550−・誤り訂正器、
560−アルファ・ルータ、570−ベータ・ルータ。
に係るプロセッサ・ユニット(PPU)の概略図、第3
図、第4図はプロセッサ・ユニットを並列プロセッサの
アレイに構成した例を示す図、第5図はプロセッサ・ユ
ニットの機能回路を示す詳細図、第6〜10図は第5図
に示した各要素の詳細図、第11図は本発明実施例のア
ドレス指定機構を示す図、第12図はメモリ内の仮想プ
ロセッサの概略構成図、第13図は従来並列プロセッサ
の概略構成図、第14図は従来の並列プロセッサの各I
C内のプロセッサ/メモリの配列を示す図、第15図は
従来のプロセンサ/メモリの概略図、第16図は従来の
経路指定回路例を示す図、第17図は従来の経路指定回
路中のセル・アレイで構成されるライン・アサイナの概
略図である。 35−・=IC136−−−−プロセツサ/メモリ、
3B−ICからの出力線、 39−・ICへの入力線
、 200・・・ルータ(経路指定回路)、400−経
路指定論理セル、 300−・・本発明システム、31
0 A−N・一端末、320−・ローカル・エリア・ネ
ットワーク、330−・・プロセッサ・アレイ、350
−・−マイクロプロセッサ、360−機能回路、370
・−メモリ、 510−アドレス・マツパ、530・−
仮想プロセッサ・シーケンサ、550−・誤り訂正器、
560−アルファ・ルータ、570−ベータ・ルータ。
Claims (1)
- 【特許請求の範囲】 1、それぞれが、一つのプロセッサ、一つの読み書きメ
モリ、及び制御回路からなる複数のプロセッサ・ユニッ
トで形成された並列コンピュータにおいて、前記制御回
路が、 アドレス指定されたメッセージ・パケットを並列コンピ
ュータ内の一つのプロセッサ・ユニットから他のユニッ
トへ送る経路を指定することによりプロセッサ・ユニッ
ト間を相互に接続する手段と、 動作中のプロセッサ・ユニットの第1グループと第2グ
ループの間にメッセージ・パケットの経路が指定される
のを防止し、それにより並列コンピュータを互いに影響
し合わない複数グループに分割する手段と を具備することを特徴とする超大型コンピュータ。 2、前記相互接続手段が、プロセッサ・ユニット間の通
信線と、これら通信線へのアクセスを優先順位により制
御する手段を含む、通信線へのメッセージ・パケットの
経路を指定する為の経路指定手段とよりなり、且つ、前
記防止手段が、前記通信線へのアクセスを防止するよう
に前記制御回路をを設定する手段よりなる特許請求の範
囲第1項指定の超大型コンピュータ。 3、並列コンピュータが、それぞれ命令を連続して順次
実行することが出来る複数のプロセッサ、及び、前記複
数のプロセッサにより並列に実行すべき命令か、そうで
ない命令かを識別するための手段とを具備することを特
徴とする超大型コンピュータ。 4、命令を識別するための前記手段が、各命令中のタグ
・ビットと、このタグ・ビットを検出し、タグ・ビット
が並列命令であると同定した際には、その命令を並列に
実行させる手段とを具備する特許請求の範囲第3項記載
の超大型コンピュータ。 5、並列コンピュータが、 それぞれが夫自身の読み書きメモリを有する複数のプロ
セッサと、 信号線によって超立方体を形成するように前記プロセッ
サを相互接続する手段と、 前記複数プロセッサを少なくとも第1と第2の複数プロ
セッサの同形のグループに再分割し、これらグループが
亦、前記プロセッサに結合された読み書きメモリ夫々の
中に格納されたデータに関して同形になっているように
する手段と、 前記複数プロセッサ間を超立方体の形に相互接続する信
号線を用いて、第1、第2グループで並列に実行された
コンピュータ命令の実行結果を比較することにより、コ
ンピュータ命令実行時の誤動作を検出する手段と を具備することを特徴とする超大型コンピュータ。 6、並列コンピュータが、それぞれ夫自身の読み書きメ
モリを有する複数のプロセッサと、前記プロセッサと読
み書きメモリ夫々を付加プロセッサをシミュレートする
ように動作させる手段と、前記シミュレートされた付加
プロセッサに含まれる前記複数プロセッサを、一つのプ
ロセッサが少なくとも他の一つのプロセッサを制御し此
のプロセッサが少なくとも更に一つのプロセッサを制御
するように、繰り返し制御する手段とを備えていること
を特徴とする超大型コンピュータ。 7、並列コンピュータが、複数のプロセッサと、これら
プロセッサの間で信号する手段を備え、この手段が、前
記プロセッサ間の信号線と、アドレス指定されたメッセ
ージ・パケットを前記プロセッサ間で送受する経路を指
定する手段と、命令を最初のプロセッサから選定された
他の複数プロセッサへ放送する手段と、前記放送された
命令の実行を示す信号を求めて前記選定された他のプロ
セッサからの通信線を前記最初のプロセッサから監視す
る手段とよりなることを特徴とする超大型コンピュータ
。 8、並列コンピュータが、更に前記監視手段で検出され
た信号に応じて、前記命令の放送を同期させる手段を備
えている特許請求の範囲第7項記載の超大型コンピュー
タ。 9、並列コンピュータの誤動作を検出する方法が、それ
ぞれが夫自身の読み書きメモリを有する複数のプロセッ
サを信号線で相互接続して超立方体を形成させるステッ
プと、 前記複数プロセッサを少なくとも第1と第2の複数プロ
セッサの同形のグループに再分割し、これらグループが
亦、前記プロセッサに結合された読み書きメモリ夫々の
中に格納されたデータに関して同形になっているように
するステップと、 前記複数プロセッサ間を超立方体に相互接続する信号線
を用いて、第1、第2グループで並列に実行されたコン
ピュータ命令の実行結果を比較することにより、コンピ
ュータ命令実行時の誤動作を検出するステップと よりなることを特徴とる超大型コンピュータの誤動作検
出法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US90229086A | 1986-08-29 | 1986-08-29 | |
US902290 | 1986-08-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63145567A true JPS63145567A (ja) | 1988-06-17 |
JP2792649B2 JP2792649B2 (ja) | 1998-09-03 |
Family
ID=25415622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62213190A Expired - Lifetime JP2792649B2 (ja) | 1986-08-29 | 1987-08-28 | 並列コンピュータシステム |
Country Status (9)
Country | Link |
---|---|
US (3) | US5129077A (ja) |
EP (1) | EP0262750B1 (ja) |
JP (1) | JP2792649B2 (ja) |
KR (1) | KR960012654B1 (ja) |
CN (1) | CN1020972C (ja) |
CA (1) | CA1293819C (ja) |
DE (1) | DE3751616T2 (ja) |
IN (1) | IN170067B (ja) |
WO (1) | WO1988001772A1 (ja) |
Families Citing this family (188)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4985832A (en) * | 1986-09-18 | 1991-01-15 | Digital Equipment Corporation | SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors |
US5175865A (en) * | 1986-10-28 | 1992-12-29 | Thinking Machines Corporation | Partitioning the processors of a massively parallel single array processor into sub-arrays selectively controlled by host computers |
US5418970A (en) * | 1986-12-17 | 1995-05-23 | Massachusetts Institute Of Technology | Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content |
US5282201A (en) * | 1987-12-22 | 1994-01-25 | Kendall Square Research Corporation | Dynamic packet routing network |
US5251308A (en) * | 1987-12-22 | 1993-10-05 | Kendall Square Research Corporation | Shared memory multiprocessor with data hiding and post-store |
US5822578A (en) * | 1987-12-22 | 1998-10-13 | Sun Microsystems, Inc. | System for inserting instructions into processor instruction stream in order to perform interrupt processing |
US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
US5761413A (en) * | 1987-12-22 | 1998-06-02 | Sun Microsystems, Inc. | Fault containment system for multiprocessor with shared memory |
US5226039A (en) * | 1987-12-22 | 1993-07-06 | Kendall Square Research Corporation | Packet routing switch |
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
EP0605401B1 (en) * | 1988-09-19 | 1998-04-22 | Fujitsu Limited | Parallel computer system using a SIMD method |
US5276893A (en) * | 1989-02-08 | 1994-01-04 | Yvon Savaria | Parallel microprocessor architecture |
DE69132495T2 (de) * | 1990-03-16 | 2001-06-13 | Texas Instruments Inc., Dallas | Verteilter Verarbeitungsspeicher |
US5168499A (en) * | 1990-05-02 | 1992-12-01 | California Institute Of Technology | Fault detection and bypass in a sequence information signal processor |
JP3179513B2 (ja) * | 1990-05-10 | 2001-06-25 | ヒューレット・パッカード・カンパニー | 異種ネットワーク環境における適用業務プログラムの統合システム |
US5193202A (en) * | 1990-05-29 | 1993-03-09 | Wavetracer, Inc. | Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor |
US5157785A (en) * | 1990-05-29 | 1992-10-20 | Wavetracer, Inc. | Process cell for an n-dimensional processor array having a single input element with 2n data inputs, memory, and full function arithmetic logic unit |
US5367636A (en) * | 1990-09-24 | 1994-11-22 | Ncube Corporation | Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit |
US5777609A (en) * | 1990-10-29 | 1998-07-07 | Societe Nationale Elf Aquitaine | Method of exploiting colors on screen |
US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5825773A (en) * | 1991-03-20 | 1998-10-20 | Hitachi, Ltd. | Switching system for transferring broadcast packet held in broadcast buffer received from input port to output ports according to the state of each output port |
US5426747A (en) * | 1991-03-22 | 1995-06-20 | Object Design, Inc. | Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system |
US5442772A (en) * | 1991-03-29 | 1995-08-15 | International Business Machines Corporation | Common breakpoint in virtual time logic simulation for parallel processors |
FR2675923A1 (fr) * | 1991-04-25 | 1992-10-30 | Yonter Eric | Architecture de systeme informatique massivement parallele. |
JP3679813B2 (ja) * | 1991-07-22 | 2005-08-03 | 株式会社日立製作所 | 並列計算機 |
US5313647A (en) * | 1991-09-20 | 1994-05-17 | Kendall Square Research Corporation | Digital data processor with improved checkpointing and forking |
CA2078315A1 (en) * | 1991-09-20 | 1993-03-21 | Christopher L. Reeve | Parallel processing apparatus and method for utilizing tiling |
CA2078312A1 (en) | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Digital data processor with improved paging |
RO105026B1 (en) * | 1991-10-10 | 1993-09-01 | Ion Minca | Network structure for parallel processing of calcullation programs |
US5564107A (en) * | 1991-11-13 | 1996-10-08 | Atalla; Martin M. | Microcell computer system and method using cell access switch and moving memory architecture |
US5594915A (en) * | 1991-11-13 | 1997-01-14 | Atalla; Martin M. | Microcell computer system and method using cell access switch and functionally partitioned moving memory architecture |
US5442797A (en) * | 1991-12-04 | 1995-08-15 | Casavant; Thomas L. | Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging |
US5347654A (en) * | 1992-02-03 | 1994-09-13 | Thinking Machines Corporation | System and method for optimizing and generating computer-based code in a parallel processing environment |
JP3375658B2 (ja) * | 1992-03-19 | 2003-02-10 | 株式会社日立製作所 | 並列計算機およびそのためのネットワーク |
US6047122A (en) * | 1992-05-07 | 2000-04-04 | Tm Patents, L.P. | System for method for performing a context switch operation in a massively parallel computer system |
US5758053A (en) * | 1992-07-22 | 1998-05-26 | Hitachi, Ltd. | Fault handling and recovery for system having plural processors |
US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
US5579527A (en) * | 1992-08-05 | 1996-11-26 | David Sarnoff Research Center | Apparatus for alternately activating a multiplier and a match unit |
JP2977688B2 (ja) * | 1992-12-18 | 1999-11-15 | 富士通株式会社 | マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ |
US5574914A (en) * | 1993-01-04 | 1996-11-12 | Unisys Corporation | Method and apparatus for performing system resource partitioning |
JPH06243113A (ja) * | 1993-02-19 | 1994-09-02 | Fujitsu Ltd | 並列計算機における計算モデルのマッピング法 |
JPH06325005A (ja) * | 1993-05-14 | 1994-11-25 | Fujitsu Ltd | 再構成可能なトーラス・ネットワーク方式 |
DE59408657D1 (de) * | 1993-06-30 | 1999-09-30 | Anton Gunzinger | Intelligentes kommunikations-system |
FR2707776B1 (fr) | 1993-07-15 | 1995-08-18 | Bull Sa | Procédé de gestion de mémoires d'un système informatique, système informatique mémoire et support d'enregistrement mettant en Óoeuvre le procédé. |
FR2707778B1 (fr) * | 1993-07-15 | 1995-08-18 | Bull Sa | NÓoeud de processeurs. |
CA2129882A1 (en) * | 1993-08-12 | 1995-02-13 | Soheil Shams | Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same |
US5784706A (en) | 1993-12-13 | 1998-07-21 | Cray Research, Inc. | Virtual to logical to physical address translation for distributed memory massively parallel processing systems |
GB2286067A (en) * | 1993-12-23 | 1995-08-02 | Motorola Inc | A processor system |
US5515501A (en) * | 1994-01-21 | 1996-05-07 | Unisys Corporation | Redundant maintenance architecture |
JP3300776B2 (ja) * | 1994-03-15 | 2002-07-08 | 株式会社日立製作所 | 並列プロセッサの切替え制御方式 |
US5611054A (en) * | 1994-03-18 | 1997-03-11 | Intel Corporation | Method and apparatus for decoding and recoding of addresses |
US5600822A (en) * | 1994-04-05 | 1997-02-04 | International Business Machines Corporation | Resource allocation synchronization in a parallel processing system |
WO1995028686A1 (en) * | 1994-04-15 | 1995-10-26 | David Sarnoff Research Center, Inc. | Parallel processing computer containing a multiple instruction stream processing architecture |
US5586289A (en) * | 1994-04-15 | 1996-12-17 | David Sarnoff Research Center, Inc. | Method and apparatus for accessing local storage within a parallel processing computer |
US5463732A (en) * | 1994-05-13 | 1995-10-31 | David Sarnoff Research Center, Inc. | Method and apparatus for accessing a distributed data buffer |
JP2625385B2 (ja) * | 1994-06-30 | 1997-07-02 | 日本電気株式会社 | マルチプロセッサシステム |
US5832287A (en) * | 1994-07-11 | 1998-11-03 | Atalla; Martin M. | Wideband on-demand video distribution system and method |
US5671377A (en) * | 1994-07-19 | 1997-09-23 | David Sarnoff Research Center, Inc. | System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream |
JP3560662B2 (ja) * | 1994-12-06 | 2004-09-02 | 富士通株式会社 | 並列プロセッサ装置 |
US5640584A (en) * | 1994-12-12 | 1997-06-17 | Ncr Corporation | Virtual processor method and apparatus for enhancing parallelism and availability in computer systems |
US5603005A (en) * | 1994-12-27 | 1997-02-11 | Unisys Corporation | Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed |
US5717942A (en) * | 1994-12-27 | 1998-02-10 | Unisys Corporation | Reset for independent partitions within a computer system |
US5710938A (en) * | 1995-07-19 | 1998-01-20 | Unisys Corporation | Data processing array in which sub-arrays are established and run independently |
KR970043012A (ko) * | 1995-12-19 | 1997-07-26 | 백운화 | 효과적인 현탁배양을 위한 식물세포 배양장치 |
US5913070A (en) * | 1996-01-16 | 1999-06-15 | Tm Patents, L.P. | Inter-connector for use with a partitionable massively parallel processing system |
US5918243A (en) * | 1996-01-30 | 1999-06-29 | International Business Machines Corporation | Computer mechanism for reducing DASD arm contention during parallel processing |
US5675768A (en) * | 1996-02-01 | 1997-10-07 | Unisys Corporation | Store software instrumentation package instruction |
US5761696A (en) * | 1996-04-02 | 1998-06-02 | International Business Machines Corporation | Parallel database serving mechanism for a single-level-store computer system |
US5970510A (en) * | 1996-04-10 | 1999-10-19 | Northrop Grumman Corporation | Distributed memory addressing system |
US5854896A (en) * | 1996-06-17 | 1998-12-29 | International Business Machines Corporation | System for preserving logical partitions of distributed parallel processing system after re-booting by mapping nodes to their respective sub-environments |
US5799149A (en) * | 1996-06-17 | 1998-08-25 | International Business Machines Corporation | System partitioning for massively parallel processors |
US5881227A (en) * | 1996-06-17 | 1999-03-09 | International Business Machines Corporation | Use of daemons in a partitioned massively parallel processing system environment |
US5941943A (en) * | 1996-06-17 | 1999-08-24 | International Business Machines Corporation | Apparatus and a method for creating isolated sub-environments using host names and aliases |
US5799143A (en) * | 1996-08-26 | 1998-08-25 | Motorola, Inc. | Multiple context software analysis |
US6084638A (en) * | 1996-10-08 | 2000-07-04 | Hare; Charles S. | Computer interface extension system and method |
US6279098B1 (en) | 1996-12-16 | 2001-08-21 | Unisys Corporation | Method of and apparatus for serial dynamic system partitioning |
US5970253A (en) * | 1997-01-09 | 1999-10-19 | Unisys Corporation | Priority logic for selecting and stacking data |
US5822766A (en) * | 1997-01-09 | 1998-10-13 | Unisys Corporation | Main memory interface for high speed data transfer |
KR100207598B1 (ko) * | 1997-01-27 | 1999-07-15 | 윤종용 | 상호연결망으로서 파이브 채널을 사용한 클러스터시스템 |
US6567837B1 (en) * | 1997-01-29 | 2003-05-20 | Iq Systems | Object oriented processor arrays |
JP3603524B2 (ja) * | 1997-02-05 | 2004-12-22 | 株式会社日立製作所 | ネットワーキング方法 |
US5978881A (en) * | 1997-02-24 | 1999-11-02 | Sigma Electronics, Inc. | Scalable switcher with detachably securable frame adapter cards for routing audio and video signals |
US6199179B1 (en) | 1998-06-10 | 2001-03-06 | Compaq Computer Corporation | Method and apparatus for failure recovery in a multi-processor computer system |
US6260068B1 (en) | 1998-06-10 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for migrating resources in a multi-processor computer system |
US6381682B2 (en) | 1998-06-10 | 2002-04-30 | Compaq Information Technologies Group, L.P. | Method and apparatus for dynamically sharing memory in a multiprocessor system |
US6332180B1 (en) | 1998-06-10 | 2001-12-18 | Compaq Information Technologies Group, L.P. | Method and apparatus for communication in a multi-processor computer system |
US6226734B1 (en) | 1998-06-10 | 2001-05-01 | Compaq Computer Corporation | Method and apparatus for processor migration from different processor states in a multi-processor computer system |
US6633916B2 (en) | 1998-06-10 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for virtual resource handling in a multi-processor computer system |
JP4634548B2 (ja) * | 1997-11-04 | 2011-02-16 | ヒューレット・パッカード・カンパニー | マルチプロセッサコンピュータシステム及びその動作方法 |
US6647508B2 (en) | 1997-11-04 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation |
US6542926B2 (en) | 1998-06-10 | 2003-04-01 | Compaq Information Technologies Group, L.P. | Software partitioned multi-processor system with flexible resource sharing levels |
US6047390A (en) * | 1997-12-22 | 2000-04-04 | Motorola, Inc. | Multiple context software analysis |
JP3794151B2 (ja) | 1998-02-16 | 2006-07-05 | 株式会社日立製作所 | クロスバースイッチを有する情報処理装置およびクロスバースイッチ制御方法 |
US6247109B1 (en) | 1998-06-10 | 2001-06-12 | Compaq Computer Corp. | Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space |
US6356548B1 (en) | 1998-06-29 | 2002-03-12 | Cisco Technology, Inc. | Pooled receive and transmit queues to access a shared bus in a multi-port switch asic |
US6195739B1 (en) | 1998-06-29 | 2001-02-27 | Cisco Technology, Inc. | Method and apparatus for passing data among processor complex stages of a pipelined processing engine |
US6836838B1 (en) | 1998-06-29 | 2004-12-28 | Cisco Technology, Inc. | Architecture for a processor complex of an arrayed pipelined processing engine |
US6119215A (en) | 1998-06-29 | 2000-09-12 | Cisco Technology, Inc. | Synchronization and control system for an arrayed processing engine |
US6101599A (en) * | 1998-06-29 | 2000-08-08 | Cisco Technology, Inc. | System for context switching between processing elements in a pipeline of processing elements |
US6513108B1 (en) | 1998-06-29 | 2003-01-28 | Cisco Technology, Inc. | Programmable processing engine for efficiently processing transient data |
SE515461C2 (sv) * | 1998-10-05 | 2001-08-06 | Ericsson Telefon Ab L M | Metod och arrangemang för minneshantering |
US6728839B1 (en) | 1998-10-28 | 2004-04-27 | Cisco Technology, Inc. | Attribute based memory pre-fetching technique |
US6385747B1 (en) | 1998-12-14 | 2002-05-07 | Cisco Technology, Inc. | Testing of replicated components of electronic device |
US6173386B1 (en) | 1998-12-14 | 2001-01-09 | Cisco Technology, Inc. | Parallel processor with debug capability |
US6920562B1 (en) | 1998-12-18 | 2005-07-19 | Cisco Technology, Inc. | Tightly coupled software protocol decode with hardware data encryption |
DE19910863A1 (de) * | 1999-03-11 | 2000-09-21 | Siemens Ag | Vorrichtung und Verfahren zum Verarbeiten von Aufträgen |
US20070294510A1 (en) * | 1999-04-09 | 2007-12-20 | Dave Stuttard | Parallel data processing apparatus |
US8762691B2 (en) * | 1999-04-09 | 2014-06-24 | Rambus Inc. | Memory access consolidation for SIMD processing elements using transaction identifiers |
US20080184017A1 (en) * | 1999-04-09 | 2008-07-31 | Dave Stuttard | Parallel data processing apparatus |
US20080162874A1 (en) * | 1999-04-09 | 2008-07-03 | Dave Stuttard | Parallel data processing apparatus |
US20080016318A1 (en) * | 1999-04-09 | 2008-01-17 | Dave Stuttard | Parallel data processing apparatus |
US7627736B2 (en) * | 1999-04-09 | 2009-12-01 | Clearspeed Technology Plc | Thread manager to control an array of processing elements |
US7526630B2 (en) * | 1999-04-09 | 2009-04-28 | Clearspeed Technology, Plc | Parallel data processing apparatus |
US20070242074A1 (en) * | 1999-04-09 | 2007-10-18 | Dave Stuttard | Parallel data processing apparatus |
US7506136B2 (en) * | 1999-04-09 | 2009-03-17 | Clearspeed Technology Plc | Parallel data processing apparatus |
US20080007562A1 (en) * | 1999-04-09 | 2008-01-10 | Dave Stuttard | Parallel data processing apparatus |
US8171263B2 (en) * | 1999-04-09 | 2012-05-01 | Rambus Inc. | Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions |
US7966475B2 (en) | 1999-04-09 | 2011-06-21 | Rambus Inc. | Parallel data processing apparatus |
US7802079B2 (en) * | 1999-04-09 | 2010-09-21 | Clearspeed Technology Limited | Parallel data processing apparatus |
US8169440B2 (en) * | 1999-04-09 | 2012-05-01 | Rambus Inc. | Parallel data processing apparatus |
US8174530B2 (en) * | 1999-04-09 | 2012-05-08 | Rambus Inc. | Parallel date processing apparatus |
EP1181648A1 (en) * | 1999-04-09 | 2002-02-27 | Clearspeed Technology Limited | Parallel data processing apparatus |
US20080008393A1 (en) * | 1999-04-09 | 2008-01-10 | Dave Stuttard | Parallel data processing apparatus |
US6779016B1 (en) | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
US8234650B1 (en) | 1999-08-23 | 2012-07-31 | Oracle America, Inc. | Approach for allocating resources to an apparatus |
US6597956B1 (en) * | 1999-08-23 | 2003-07-22 | Terraspring, Inc. | Method and apparatus for controlling an extensible computing system |
US8179809B1 (en) | 1999-08-23 | 2012-05-15 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on suspendable resource requirements |
US8032634B1 (en) | 1999-08-23 | 2011-10-04 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on resource requirements |
US7703102B1 (en) | 1999-08-23 | 2010-04-20 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on preemptable resource requirements |
US7463648B1 (en) | 1999-08-23 | 2008-12-09 | Sun Microsystems, Inc. | Approach for allocating resources to an apparatus based on optional resource requirements |
US7103647B2 (en) | 1999-08-23 | 2006-09-05 | Terraspring, Inc. | Symbolic definition of a computer system |
US8019870B1 (en) | 1999-08-23 | 2011-09-13 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on alternative resource requirements |
US7917397B1 (en) | 1999-10-14 | 2011-03-29 | Jarbridge, Inc. | Merging private images for gifting |
US6903756B1 (en) * | 1999-10-14 | 2005-06-07 | Jarbridge, Inc. | Merged images viewed via a virtual storage closet |
US7418407B2 (en) | 1999-10-14 | 2008-08-26 | Jarbridge, Inc. | Method for electronic gifting using merging images |
US6681341B1 (en) | 1999-11-03 | 2004-01-20 | Cisco Technology, Inc. | Processor isolation method for integrated multi-processor systems |
US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
US7058064B2 (en) | 2000-02-08 | 2006-06-06 | Mips Technologies, Inc. | Queueing system for processors in packet routing operations |
US7082552B2 (en) | 2000-02-08 | 2006-07-25 | Mips Tech Inc | Functional validation of a packet management unit |
US7649901B2 (en) | 2000-02-08 | 2010-01-19 | Mips Technologies, Inc. | Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing |
US7076630B2 (en) * | 2000-02-08 | 2006-07-11 | Mips Tech Inc | Method and apparatus for allocating and de-allocating consecutive blocks of memory in background memo management |
US7502876B1 (en) | 2000-06-23 | 2009-03-10 | Mips Technologies, Inc. | Background memory manager that determines if data structures fits in memory with memory state transactions map |
US7155516B2 (en) | 2000-02-08 | 2006-12-26 | Mips Technologies, Inc. | Method and apparatus for overflowing data packets to a software-controlled memory when they do not fit into a hardware-controlled memory |
US20010052053A1 (en) * | 2000-02-08 | 2001-12-13 | Mario Nemirovsky | Stream processing unit for a multi-streaming processor |
US7065096B2 (en) * | 2000-06-23 | 2006-06-20 | Mips Technologies, Inc. | Method for allocating memory space for limited packet head and/or tail growth |
US7032226B1 (en) | 2000-06-30 | 2006-04-18 | Mips Technologies, Inc. | Methods and apparatus for managing a buffer of events in the background |
US7139901B2 (en) * | 2000-02-08 | 2006-11-21 | Mips Technologies, Inc. | Extended instruction set for packet processing applications |
US7165257B2 (en) | 2000-02-08 | 2007-01-16 | Mips Technologies, Inc. | Context selection and activation mechanism for activating one of a group of inactive contexts in a processor core for servicing interrupts |
US7042887B2 (en) | 2000-02-08 | 2006-05-09 | Mips Technologies, Inc. | Method and apparatus for non-speculative pre-fetch operation in data packet processing |
US7058065B2 (en) * | 2000-02-08 | 2006-06-06 | Mips Tech Inc | Method and apparatus for preventing undesirable packet download with pending read/write operations in data packet processing |
US7093005B2 (en) | 2000-02-11 | 2006-08-15 | Terraspring, Inc. | Graphical editor for defining and creating a computer system |
US6714980B1 (en) | 2000-02-11 | 2004-03-30 | Terraspring, Inc. | Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device |
US6892237B1 (en) * | 2000-03-28 | 2005-05-10 | Cisco Technology, Inc. | Method and apparatus for high-speed parsing of network messages |
US6505269B1 (en) | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
US6807557B1 (en) | 2000-05-31 | 2004-10-19 | International Business Machines Corporation | Method, system and program products for providing clusters of a computing environment |
US7263476B1 (en) * | 2000-06-12 | 2007-08-28 | Quad Research | High speed information processing and mass storage system and method, particularly for information and application servers |
JP4712279B2 (ja) * | 2000-06-20 | 2011-06-29 | テラスプリング・インコーポレーテッド | 拡張可能コンピューティングシステムの制御方法および装置 |
AU2001286449A1 (en) * | 2000-08-11 | 2002-02-25 | 3Ware, Inc. | Architecture for providing block-level storage access over computer network |
US7779089B2 (en) * | 2000-09-15 | 2010-08-17 | Invensys Systems, Inc. | Method and system for remote configuration of process data access servers |
US6751667B1 (en) * | 2000-10-06 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | System for generating unique identifiers in a computer network |
US7328232B1 (en) * | 2000-10-18 | 2008-02-05 | Beptech Inc. | Distributed multiprocessing system |
EP1356384A1 (en) * | 2000-12-21 | 2003-10-29 | Exanet Co. | Interconnect topology for a scalable distributed computer system |
US20040158663A1 (en) * | 2000-12-21 | 2004-08-12 | Nir Peleg | Interconnect topology for a scalable distributed computer system |
US6934254B2 (en) * | 2001-01-18 | 2005-08-23 | Motorola, Inc. | Method and apparatus for dynamically allocating resources in a communication system |
US7631064B1 (en) | 2001-04-13 | 2009-12-08 | Sun Microsystems, Inc. | Method and apparatus for determining interconnections of network devices |
JP3921367B2 (ja) * | 2001-09-26 | 2007-05-30 | 日本電気株式会社 | データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム |
US20030068038A1 (en) * | 2001-09-28 | 2003-04-10 | Bedros Hanounik | Method and apparatus for encrypting data |
MXPA04003556A (es) * | 2001-10-17 | 2004-11-22 | Beptech Inc | Metodo de comunicacion a traves de un sistema de operacion. |
US7447872B2 (en) * | 2002-05-30 | 2008-11-04 | Cisco Technology, Inc. | Inter-chip processor control plane communication |
EP1378824A1 (en) * | 2002-07-02 | 2004-01-07 | STMicroelectronics S.r.l. | A method for executing programs on multiple processors and corresponding processor system |
US7606995B2 (en) * | 2004-07-23 | 2009-10-20 | Hewlett-Packard Development Company, L.P. | Allocating resources to partitions in a partitionable computer |
GB0425860D0 (en) * | 2004-11-25 | 2004-12-29 | Ibm | A method for ensuring the quality of a service in a distributed computing environment |
WO2006077911A1 (ja) * | 2005-01-24 | 2006-07-27 | Independent Administrative Institution, Japan Agency For Marine-Earth Science And Technology | シミュレータシステム |
US8559443B2 (en) | 2005-07-22 | 2013-10-15 | Marvell International Ltd. | Efficient message switching in a switching apparatus |
US7543126B2 (en) * | 2005-08-31 | 2009-06-02 | International Business Machines Corporation | Apparatus, system, and method for implementing protected virtual memory subcontexts |
US8212805B1 (en) | 2007-01-05 | 2012-07-03 | Kenneth Banschick | System and method for parametric display of modular aesthetic designs |
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
JP4724730B2 (ja) * | 2008-04-09 | 2011-07-13 | 株式会社日立製作所 | 情報処理システムの運用管理方法、運用管理プログラム、および運用管理装置、ならびに情報処理システム |
US8887162B2 (en) * | 2008-12-17 | 2014-11-11 | Microsoft Corporation | Persistent local storage for processor resources |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
US8732669B2 (en) * | 2011-03-11 | 2014-05-20 | Oracle International Corporation | Efficient model checking technique for finding software defects |
US9417998B2 (en) | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
US9766823B2 (en) | 2013-12-12 | 2017-09-19 | Memory Technologies Llc | Channel optimized storage modules |
RU2550555C1 (ru) * | 2014-07-21 | 2015-05-10 | ООО Научно-исследовательский центр супер-ЭВМ и нейрокомпьютеров | Мультиконтроллер распределяемой памяти |
CN108491187B (zh) * | 2018-02-11 | 2021-06-11 | 许昌学院 | 一种基于top-k分割超立方体模型的并行处理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5746099A (en) * | 1980-09-03 | 1982-03-16 | Shibaura Eng Works Co Ltd | Jet pump |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3343135A (en) * | 1964-08-13 | 1967-09-19 | Ibm | Compiling circuitry for a highly-parallel computing system |
US4191996A (en) * | 1977-07-22 | 1980-03-04 | Chesley Gilman D | Self-configurable computer and memory system |
US4293950A (en) * | 1978-04-03 | 1981-10-06 | Nippon Telegraph And Telephone Public Corporation | Test pattern generating apparatus |
US4247892A (en) * | 1978-10-12 | 1981-01-27 | Lawrence Patrick N | Arrays of machines such as computers |
JPS5617401A (en) * | 1979-07-23 | 1981-02-19 | Omron Tateisi Electronics Co | Sequence controller |
US4384273A (en) * | 1981-03-20 | 1983-05-17 | Bell Telephone Laboratories, Incorporated | Time warp signal recognition processor for matching signal patterns |
US4593351A (en) * | 1981-06-12 | 1986-06-03 | International Business Machines Corporation | High speed machine for the physical design of very large scale integrated circuits |
US4533993A (en) * | 1981-08-18 | 1985-08-06 | National Research Development Corp. | Multiple processing cell digital data processor |
US4432057A (en) * | 1981-11-27 | 1984-02-14 | International Business Machines Corporation | Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system |
US4622632A (en) * | 1982-08-18 | 1986-11-11 | Board Of Regents, University Of Washington | Data processing system having a pyramidal array of processors |
US4524415A (en) * | 1982-12-07 | 1985-06-18 | Motorola, Inc. | Virtual machine data processor |
US4523273A (en) * | 1982-12-23 | 1985-06-11 | Purdue Research Foundation | Extra stage cube |
US4644496A (en) * | 1983-01-11 | 1987-02-17 | Iowa State University Research Foundation, Inc. | Apparatus, methods, and systems for computer information transfer |
US4814973A (en) * | 1983-05-31 | 1989-03-21 | Hillis W Daniel | Parallel processor |
US4598400A (en) * | 1983-05-31 | 1986-07-01 | Thinking Machines Corporation | Method and apparatus for routing message packets |
AU3746585A (en) * | 1983-12-12 | 1985-06-26 | Parallel Computers Inc. | Computer processor controller |
US4722084A (en) * | 1985-10-02 | 1988-01-26 | Itt Corporation | Array reconfiguration apparatus and methods particularly adapted for use with very large scale integrated circuits |
US4733353A (en) * | 1985-12-13 | 1988-03-22 | General Electric Company | Frame synchronization of multiply redundant computers |
US4748585A (en) * | 1985-12-26 | 1988-05-31 | Chiarulli Donald M | Processor utilizing reconfigurable process segments to accomodate data word length |
-
1987
- 1987-05-04 CA CA000536270A patent/CA1293819C/en not_active Expired - Fee Related
- 1987-05-20 DE DE3751616T patent/DE3751616T2/de not_active Expired - Lifetime
- 1987-05-20 EP EP87304461A patent/EP0262750B1/en not_active Expired - Lifetime
- 1987-08-28 JP JP62213190A patent/JP2792649B2/ja not_active Expired - Lifetime
- 1987-08-28 WO PCT/US1987/002181 patent/WO1988001772A1/en unknown
- 1987-08-29 CN CN87106067A patent/CN1020972C/zh not_active Expired - Fee Related
- 1987-08-29 KR KR1019870009566A patent/KR960012654B1/ko not_active Expired - Lifetime
- 1987-08-31 IN IN629/MAS/87A patent/IN170067B/en unknown
-
1990
- 1990-01-16 US US07/464,681 patent/US5129077A/en not_active Expired - Lifetime
-
1993
- 1993-08-11 US US08/105,531 patent/US5390336A/en not_active Expired - Fee Related
-
1995
- 1995-02-13 US US08/387,990 patent/US5978570A/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5746099A (en) * | 1980-09-03 | 1982-03-16 | Shibaura Eng Works Co Ltd | Jet pump |
Also Published As
Publication number | Publication date |
---|---|
US5129077A (en) | 1992-07-07 |
US5390336A (en) | 1995-02-14 |
CN1020972C (zh) | 1993-05-26 |
EP0262750A3 (en) | 1988-08-03 |
US5978570A (en) | 1999-11-02 |
CA1293819C (en) | 1991-12-31 |
DE3751616D1 (de) | 1996-01-11 |
EP0262750A2 (en) | 1988-04-06 |
CN87106067A (zh) | 1988-03-09 |
IN170067B (ja) | 1992-02-01 |
JP2792649B2 (ja) | 1998-09-03 |
KR880003237A (ko) | 1988-05-14 |
KR960012654B1 (ko) | 1996-09-23 |
WO1988001772A1 (en) | 1988-03-10 |
DE3751616T2 (de) | 1996-05-09 |
EP0262750B1 (en) | 1995-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63145567A (ja) | 並列コンピュータシステム | |
US4972314A (en) | Data flow signal processor method and apparatus | |
US5224215A (en) | Message queue processing among cooperative processors having significant speed differences | |
US9823980B2 (en) | Prioritizing data reconstruction in distributed storage systems | |
JP2576846B2 (ja) | クラスタ制御装置及びクラスタ接続多重多重プロセッシング・システム | |
US5848229A (en) | Fault tolerant disk array system for allocating auxillary disks in place of faulty disks | |
EP0357768B1 (en) | Record lock processor for multiprocessing data system | |
US5043874A (en) | Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory | |
US5701313A (en) | Method and apparatus for removing soft errors from a memory | |
US5007053A (en) | Method and apparatus for checksum address generation in a fail-safe modular memory | |
JPH02236735A (ja) | データ処理方法及び装置 | |
KR920704231A (ko) | 고도 병렬 스칼라/벡터 멀티프로세서 시스템용 클러스터 구성 | |
US5887182A (en) | Multiprocessor system with vector pipelines | |
Palmer et al. | Connection Machine model CM-5 system overview | |
Storaasli et al. | The finite element machine: An experiment in parallel processing | |
US7979660B2 (en) | Paging memory contents between a plurality of compute nodes in a parallel computer | |
AU633898B2 (en) | Method and means for interfacing a system control unit for a multi-processor system with the system main memory | |
CA1313276C (en) | Very large scale computer | |
Olson | Safeguard data-processing system: Architecture of the central logic and control | |
US12340195B2 (en) | Handling interrupts from a virtual function in a system with a reconfigurable processor | |
US6629229B1 (en) | Message index descriptor | |
WO2025051891A1 (en) | Accessing fabric attached memory | |
JPH07152710A (ja) | マルチプロセサシステム | |
Steele Jr | An Overview of the Connection Machine Model CM-5 | |
EP3646202A1 (en) | Dynamically configurable storage clusters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080619 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080619 Year of fee payment: 10 |