JPS5914776B2 - 多重処理モジユラ化デ−タ処理システム - Google Patents

多重処理モジユラ化デ−タ処理システム

Info

Publication number
JPS5914776B2
JPS5914776B2 JP49089391A JP8939174A JPS5914776B2 JP S5914776 B2 JPS5914776 B2 JP S5914776B2 JP 49089391 A JP49089391 A JP 49089391A JP 8939174 A JP8939174 A JP 8939174A JP S5914776 B2 JPS5914776 B2 JP S5914776B2
Authority
JP
Japan
Prior art keywords
memory
data
control
input
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP49089391A
Other languages
English (en)
Other versions
JPS5073541A (ja
Inventor
ジヨセフ パ−ピグリア フランク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of JPS5073541A publication Critical patent/JPS5073541A/ja
Publication of JPS5914776B2 publication Critical patent/JPS5914776B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2038Error 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 a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2007Error 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 interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error 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 interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2015Redundant power supplies

Description

【発明の詳細な説明】 発明の背景 A.発明の分野 この発明は情報処理システムに関し、特に多重処理シス
テムおよびその管理制御サブシステムに関する。
B.先行技術の説明 初期の情報処理システムでは、或るプロセツサ、それも
ただ1つのプロセツサだけが制御プロセツサまたはマス
タプロセツサとして割当てられた。
このマスタプロセツサの機能の1つは、情報処理システ
ムのモジユールによる割込のサービスを制御することで
ある。動作中、多重処理システムの各プロセツサは、異
なるプログラムを実行することができる。したがつて、
或るプロセツサは高位の優先順位のプログラムを実行し
、他のプロセツサは低位の優先順位のプログラムを実行
することができた。割込(たとえば入力装置からの割込
)の要求があつたとする。そして、第1プロセツサがマ
スタプロセツサまたは制御プロセツサに指定されており
、またその要求の優先順位が第1プロセツサによつて実
行されている高位のプログラムの優先順位よりも低いと
する。そうすると第1プロセツサは、割込プログラムを
実行する前に、その高位の優先順位のプログラムを実行
し続けて完了する。一方その割込プログラムが、システ
ムの第2プロセツサによつて実行されている低位のプロ
グラムより高い優先順位のものであれば、第2プ.ロセ
ツサはその割込プログラムを実行する。先行技術のシス
テムにおいては、優先順位は、制御プロセツサによつて
実行されているプログラムに対する割込要求の関係によ
つて、厳密に決定された。一方各プロセツサは、割込お
よびマスキングの中央制御なしで、タスク割当の受入れ
または拒絶を行なわなければならない。
したがつて、先行技術では、中央割込登録簿が設けられ
た。しかしプロセツサを制御または抑止割込に移すため
には、プロセツサはコンタクトされなければならず、そ
のときにプロセツサは、その割込の優先順位が割込動作
を是認するほどに十分高いかどうかを決定しなければな
らない。したがつて先行技術では、多重処理システムに
おける各プロセッサが制御プロセツサとなることを可能
にするような手段が設けられて、実行されているプログ
ラムよりも高位の優先順位を有する通信要求がより効率
的にサービスされた。この/能力は通常は、次のように
中央システム制御装置によつて達成される。
すなわち中央システム制御装置は、割込モジユールによ
つて要求されるプログラムよりも高位のプログラムを実
行するプロセツサへの割込をマスクまたは不能動化する
とともに、割込モジユールによつて要求されるプログラ
ムよりも低位のプログラムを実行するプロセツサへの割
込を許可する。このような多重処理システムにおいては
、数個のデータプロセツサが同一のメモリおよび入力/
出力装置を共有することは普通のことであつた。しかし
、マスタ制御プログラムを処理して1つ以上の関連の「
スレーブ」プロセツサに特定のオペレーシヨンを割当て
るためのプロセツサが、なお必要であつた。このような
構成においては、すべての監視機能は、マスタプロセツ
サまたは制御プロセツサと、そのマスタプロセツサまた
は制御プロセツサの単なる周辺装置として働く他のすべ
てのプロセツサとによつて達成された。しかしながら、
先行技術のシステムには多数のプロセスが含まれ、その
ような先行技術の完全なモジユラ化されたシステムを作
るためには、各プロセツサのハードウエアは必ず同一で
なければならない。それゆえ、システム内の各プロセツ
サは、システムに対するスケジユーリングおよび資源割
当てのジヨブのためのマスタ制御プログラムを含むすべ
てのプログラムを操作する等しい能力を有していた。現
在では、大型データ処理システムには、並列バツチ処理
、リアルタイム処理およびタイムシエアリングを含む多
重プログラムミングが数多く応用されている。
そのような種々の無関係のジヨブまたはタスクを調整す
るために、先行技術のシステムには、タスクの順序づけ
、記憶割当てなどの作業を管理する処理システムまたは
制御プログラムが設けられてきた。さらに処理システム
の一部として、プログラマがシステムの回路特性を知ら
ずに種々のプログラミング言語を用いることができるよ
うに、種々のコンパイラまたは言語翻訳機が設けられた
。先行技術のシステムでは、複数のデータプロセツサの
各々が、複数のユーザプログラムの一連の部分を交互に
実行した。このようなシステムでは、特定のユーザプロ
グラムを実行するように割当てられたデータプロセツサ
は、そのプログラムがデータプロセツサの制御を自発的
にやめるまで、または外部から割込まれるまで、そのプ
ログラムを実行し続ける。そしてプログラムは、入力デ
ータの受信のような将来的なイベントの発生まで継続す
ることができなかつたとき、または終了してしまつたと
きに、制御を停止する。この開放されたプロセツサは直
ちに他の待機中のかつ準備のできたプログラムを実行す
るように割当てられて、新たなプログラムを最初から実
行し始め、または停止もしくは割込の地点からプログラ
ムを実行し始める。その後プロセツサは、プログラムが
プロセツサを開放するか、またはプログラムが割込され
るまで、このプログラムを再び実行し続ける。プロセツ
サの制御を自発的にやめたプログラムは、待機して各々
必要なイベントの発生を待つ。そのときそのプログラム
は、別の実行のための候補となり得る。割込まれたプロ
グラムは通常は直ちに実行されるが、最大のシステム効
率を維持するように考5案された予め定めるルールに従
つて、データプロセツサの割当てを待たなければならな
い。プログラムは、割当てられたデータプロセツサを指
示して、特定のデータ処理動作を実行するのに必要な個
々のステツプを順に実行させるための一連の命令を含む
。データプロセツサは、システムの作業用記憶装置と通
信して、実行されべき各命令および処理されるべきデー
タアイテムを記憶装置のセルから検索し、処理されてし
まつたデータアイテムを記憶装置にストアする。ほとん
どの命令は、命令部分とアドレス部分とを含む。命令部
分は、データプロセツサが実行しなければならない動作
形式を表わす。アドレス部分は、データアイテムが処理
のためにそこから検索されるべき、または処理されたデ
ータアイテムがそこに記憶されるべき、作業用記憶装置
内のセルの記憶位置を表わす。さらにデータプロセツサ
は、次の命令が導出されるべきセルを表わすアドレス表
示を供給する。作業用記憶装置の検索および記憶のため
の時間は、最近のデータプロセツサの命令実行の極めて
速い速度に合わせて極めて短いので、作業用記憶装置の
容量にかかるコストは比較的大きい。それゆえに先行技
術においては、経済的理由によつて、高速動作の作業用
記憶装置の大きさが制限され、したがつてプログラムの
数および或る特定の時間にその記憶装置がストアするこ
とができる情報の量が制限された。この問題を解決する
ために、先行技術においては追加の記憶装置が設けられ
、入力装置から受信されたすべてのユーザプログラムを
保持し、実行のためのスケジユーリング、ユーザプログ
ラム[ライブラ1月およびデータフアイルを待つた。こ
の追加の記憶装置は、大量の比較的安価な低速度の「補
助記憶装置」によつて作られる。通常補助記憶装置は、
作業用記憶装置と通信するように結合されて、プログラ
ムおよび情報が処理のため必要とされるときには、作業
用記憶装置にそれらを与える。さらに補助記憶装置は、
作業用記憶装置から処理データ受けて、処理されたデー
タが出力装置に転送される前に一時的な記憶を行なう。
多重プログラミングおよび多重処理を実現するためには
、システムはそれ自身の資源と、そのジヨブまたはタス
クのスケジユーリングとをダイナツクに制御することが
できなければならない。
さらにそのシステムは、多くのジヨブを直列に処理する
のに要する時間よりも短時間で、そのジヨブを並列的に
処理することができなければならない。多重プログラミ
ングを実現するためには、データ処理システムに対する
監視制御を実行するのに、管理制御プログラム、プログ
ラム部分およびサブルーチンからなるグループを含む管
理制御サブシステムが必要である。管理制御プログラム
、プログラム部分およびサブルーチンのグループは、「
オペレーテイングシステム」と称される。このオペレー
テイングシステムの主目的は、プログラムに対し限られ
たシステム資源を有効に割当てることによつて、ユーザ
プログラムを効率的かつ並列的に実行し続けることであ
る。資源には、データプロセツサ、記憶装置、および入
力/出力装置が含まれる。オペレーテイングシステムは
タスタまたはジヨブの形式に影響され、システム自身の
設計はオペレーテイングシステムに影響されるというこ
とに注意されたい。もしもシステムが特定業務用に設計
されるならば、監視プログラムは一連のプログラム入力
とそれに関連する入力データとを実行するようにされる
。一方もしそのシステムがリアルタイムまたはタイムシ
エアリング動作のために設計されるならば、監視プログ
ラムは、処理プログラムに進むことが必要なときに、入
力データの一部を用いる。さらに、システムがタイムシ
エアリング用に設計されてるときには、異なるプログラ
ムおよび関連の資源の保護が重要となる。プロセツサが
1つのシステムでは多重プログラムであつてもよいが、
より高い自由度は、多くの別々の処理が複数のプログラ
ムに割当てられる多重処理シテムによつて達成される。
このような多重処理システムの一例はAndersOn
等による米国特許第3419849号およびLynch
等による米国特許第3411139号に開示されている
。Lynch等の特許で用いられた形式の中央プロセツ
サは、Barnes等による米国特許第3401376
号に開示されている。土述の特許の各々は、本件出願人
に譲渡されている。C.先行技術の問題点 上述のシステムは、多重処理システムのために設計され
たオペレーテイングシステムを用いる。
この発明の大きな相違点は、従来達成されたよりも速い
速度でシステム命令を評価する回路をプロセツサモジユ
ールが用いるということである。従来から、データプロ
セツサまたは中央プロセツサの周波数は、論理装置に存
在する最長の伝播経路に従つて設定されてきた。多くの
場合、この臨界的な経路は、加算器機構またはメインメ
モリとの通信システムである。明らかにプロセツサにお
ける他のすべての論理経路はこの臨界的な経路よりも短
く、多くの場合、たとえば単純なレジスタ移動の場合な
どでは、基本クロツク周波数以上の速度で動作が実行さ
れる。オペランド加算器またはメインメモリインターフ
エイスは動作時間の小部分を占めるから、先行技術の中
央プロセツサは全体としてかなり効率が悪くなる。処理
速度に大きな影響を与える他の要因は、メインメモリを
りファレンズする作業に固有の限界である。
この限界は、メモリリフアレンスが「必要あれば要求す
る」形態で達成されるような環境において、特に障害と
なる。この技術は機械的に組立てるのは簡単であるが、
動作が直列的にならざるを得ない傾向がある。現在のデ
ータ処理システムでは、たとえばサービスプログラムの
ような、全く反復的なまたは再入可能なシステムプログ
ラムを有することが特に有利である。
さらにそのような反復性は、ただ1つのレベル内ではな
く、一群のレベル内に存在することが有利である。さら
に、ユーザプログラムならびに或るシステムプログラム
が、メモリ内で、同一システムのいたるところで実行さ
れている無関連の処理による不都合なエントリから保護
されることが、好都合でもありかつ必要でもある。さら
に、より速い実行時間が可能な回路において実現可能な
機能を、種々のソース言語に共通に与えることが好都合
である。さらに最も重要なことは、現代の大型情報処理
システムは、正確さの点だけではなく信頼性の点におい
ても確かなものでなければならないということである。
それゆえに信頼性のあるシステムが望まれ、またさらに
は、そのシステムの個々のモジユールの故障にかかわら
ず全体としては動作し続けるようなシステムが望まれる
。発明の目的それゆえにこの発明の目的は、タイムシエ
アリング、科学的問題の解決、および他のデータ処理タ
スクのような異なつた応用のための、改良された情報処
理システムを提供することである。
この発明の他の目的は、複数の処理レベルでの並列的な
演算が可能である、高度にモジユラ化されたデータ処理
システムを提供することである。この発明のさらに他の
目的は、信頼性があり、かつシステムの性能低下を最小
にする故障緩和(フエイルソフト)能力を有するデータ
処理システムを提供することである。発明の概要 上述の目的は、この発明による情報処理システムによつ
て達成される。
この発明による情報処理システムは、中央プロセツサモ
ジユール、入力/出力モジユールおよびメモリモジユー
ルを、多重レベルオペレーテイングシステムまたはマス
タ制御プログラムの管理の下で、電子グリツドまたは交
換(接続手段)によつて配列することによつて、ユーザ
の処理要求に応じることができる。このマスタ制御プロ
グラムは、交換を通じて演算モジユ11ール、入力/出
力モジユール、およびメモリモジユールを独立に動作さ
せるという制御された相互作用によつて、システムの処
理高を最大にする。多重レベルオペレーテイングシステ
ムは、システム資源をダイナミツクに制御することによ
つて、かつ多重プログラミングのジヨブをスケジユーリ
ングすることによつて、多重プロセシングおよび多重プ
ログラミングを機能的かつ実際的にする。命令実行の速
度と信頼性とは、中央プロセツサを入力/出力動作から
無関係にしてメモリに対する2りファレンズに関連する
オーバヘツドをマスキングまたは減少させることによつ
て、およびシステムの機能低下を最小にする故障緩和手
段を用いることによつて、改良される。中央プロセツサ
モジユールの3つの主要部分は、2独立にかつ並列に動
作するように設計されている。
これによつて、演算およびデータ操作のスピードアツプ
が可能になり、さらにこれらの演算および操作をメモリ
リフアレンスと平行させることが可能になる。さらに中
央プロセツサモジユールは高5速度集積回路ローカルメ
モリを含む。このメモリは、中央プロセツサモジユール
およびシステムのメインメモリの間で複数単語の転送を
可能にするとともに、プログラムおよびデータワードの
必要性を予期することを可能にし、それによつてタイ.
ンメモリへのおよびメインメモリからの転送完了を持つ
のに要する時間を減少し、ときには事実上ゼロにする。
各ユーザのメモリアクセス時間を短縮することによつて
、すべてのユーザに対するメインメモリへのアクセス可
能性をより大きくできる。
このことは、メインメモリのアドレスの4ウエイインタ
ーリーピングによつて、ならびに4ワードまでのバース
トでメインメモリへのおよびメインメモリからの情報の
位相調整された複数ワード転送を行なうことによつて、
達成される。さらにこの発明によれば、すべての入力/
出力動作は、次のような入力/出力モジユール、すなわ
ち中央プロセツサモジユールと独立であり、したがつて
他の有用な仕事を実行しなくてよい入力/出力モジユー
ルによつて、同期的に達成される。
多重レベルオペレーテイングシステムは、ダイナミツク
にかつ自動的に、故障したモジユールを除いたシステム
のモジユールを再組立てすることができる。また、各モ
ジユールに対して、別々の電源および冗長レギユレータ
が用いられる。これらのことによつて、穏やかな機能低
下つまり故障緩和によるシステムハードウエアの信頼性
が向上する。モジユラ化設計および冗長バス(母線)も
また、この発明の故障緩和手段に含まれる。システムの
すべての主モジユールにエラー検出リポート回路が用い
られて、故障緩和のための解析を行なうための、および
システム資源をダイナミツクに再構成するための情報を
、多重レベルオペレーテイングシステムに与える。メモ
リモジユールには、多重レベルオペレーテイングシステ
ムとは独立の、1ビツトエラ一修正能力が与えられる〇
この発明の多重レベルオペレーテイングシステムは、以
下に説明する基本レベルおよびN個の連続したレベルを
含む。基本レベルは核と定義され、オペレーテイングシ
ステムの核心となるものである。基本レベルは、制御プ
ログラムである次のレベルに対して、システムソフトウ
エアとシステムハードウエアおよびオペレーテイング凋
辺装置との間をインターフエイスする。制御プログラム
は核の制御の下で動作し、プログラム管理、システム管
理および入力/出力制御といつた核の多くのタスクに指
示されて、ユーザまたは応用プログラムにオペレーテイ
ング周辺装置を与える占一般的には、オペレーテイング
システムの各レベルでの処理は、次のより高いレベルで
の処理に対してのみ影響を与え、その他のものに対して
は何ら影響を与えない。したがつてシステムの信頼性は
、部分的には、制御プログラムの周辺装置を分離するこ
とによつて達成される。なぜなら、核は制御プログラム
とシステムハードウエアとの間のインターフエイスとし
て働くからである。核の匍脚の下で、同時にいくつかの
制御プログラムを実行することが可能であり、核制御プ
ログラムは、バツチ動作、ハードウエアモジユールのテ
ステイングまたはタイムシエアリングなどの特定の形式
の応用を行なうようにされる。発明の構成および効果の
概略説明 この発明の情報処理システムは、大規模の、真に汎用性
のある、バランスのとれた、融通性のあるモジユラ化さ
れた多重プログラミングおよび多重プロセシングコンピ
ユータシステムである。
この発明の情報処理システムは、タイムシエアリング、
価格的問題解決、および経営データ処理のような、広範
な応用に適する。この発明のシステムは、現在使用され
ている高レベル言語によつて作られた高等な問題に必要
な複雑なデータ構成および複雑なプログラム構成を処理
するように設計されており、また大規模データベースに
必要な大量のオンライン記憶を効率良く管理するように
、さらにデータ通信装置の大回路網に適合するように設
計されている。この発明のシステムは、注目すべき融通
性と構C成とを有する、極めて高速度のモジユラ化され
た並列処理システムである。
このシステムは、ユーザの要求に基づいて、電子グリツ
ドまたは交換(接続手段)によつて、中央プロセツサモ
ジユール、入力/出力モジユールおよびメモリモジユー
リルを種々の方法で配列することによつて、ユーザの処
理要求に応じることができる。この発明のシステムの高
性能および高融通性は、最も大きくは、演算モジユール
、入力/出力モジユールおよびメモリモジユールを独立
に動作させるという制御された相互作用によるバランス
によつて達成される。後に述べる構成によれば、このシ
ステムの処理高は全体として最大になるが、システムの
1つの構成要素の性能が極大化されて他の構成要素を無
視または害するというようなことはない。この発明のシ
ステムの有効なかつバランスのとれた使用をする秘訣は
、多重レベルオペレーテイングシステム、つまり、シス
テムの全資源を自動的に最適に利用する独特の監視ソフ
トウエアオペレーテイングシステムにある。
このオペレーテイングシステムは、詳細については後述
するが、システム資源をダイナミツクに制御することに
よつて、および多重プログラムのジヨブまたはタスクを
スケジユーリングすることによつて、多重プロセシング
および多重プログラミングを実際的にする。動作中、多
重レベルオペレーテイングシステムは、処理システムに
導入されたプログラムの要求に合うように、システム資
源を割当てる。システムは連続的かつ自動的に資源の再
割当てを行ない、ジヨブをスタートし、その性能をモニ
タする。さらに、この発明のシステムのモジユラ化と融
通性には、拡張可能性(再プログラミングすることなく
ハードウエアモジユールを付加することができる能力)
がある。またその信頼性は、次のような故障緩和技術を
用いることによつて増大される。すなわちこの故障緩和
技術は、エラー検出およびエラー修正を行ない、データ
経路に冗長性を与え、また電源に独立性および冗長性を
与えることによつて、システムから故障モジユールを除
き、一時的に縮小された構成によつて(再プログラミン
グすることなく)処理を続けることを可能にする。この
発明のシステムは非常に大きくかつ極めて複雑であり、
そのため複雑な演算を達成することができるが、使用者
に対しては理解しやすい。
たとえば、プログラミングは高レベルの問題向き言語(
COBOL,ALGOL,FORTRAN,PL/11
およびESPOL)によつてのみ達成される。ジヨブを
システム内に入力するのに用いられる制御言語は、単純
な自由形式の英語のような言語である。システムとオペ
レータとの間でやり取りされるメツセージは簡単明瞭で
あり、学習が容易である。多重レベルオペレーテイング
システムの制御および調整の下で、システムの周辺構成
要素を全体としてバランス良く使用することは、システ
ムの処理高を高めるための秘訣である。
しかし、この発明のシステムの高性能は大部分次の4つ
のことによつて、すなわち第1に命令の実行速度を改良
することによつて、第2にメモリへのりファレンズに関
連するオーバヘツドを減少またはマスクすることによつ
て、第3に中央プロセツサモジユールを入力/出力動作
とは無関係にすことによつておよび第4にシステムの性
能低下を最小にする故障緩和手段を用いることによつて
達成される。さらにシステム本体のハードウエアは、当
該技術分野において周知の厳密な回路配線のルールと実
績のある設計およびパツケージング技術に従つて、厳格
に設計されかつ製造される。このことと、オペレーテイ
ングエレメントにモノリシツク集積回路を用いることに
よつて、この発明のシステムは高速度で確実な動作を行
なうことができる。この発明のシステムの故障緩和手段
によつて、システムは全時間動作し続けることができ、
システムの性能低下は最小になり、またユーザには自分
自身のデータの回復を行なうための手段が与えられる。
これらの目的は、システム全体のハードウエアとソフト
ウエアとの独特の組合わせによつて達成される。この発
明のシステムが全時間動作し続けることができるのは、
第1にシステムハードウエアの高い信頼性により、第2
にシステム全体にエラー検出回路を用いることにより、
第3にメモリ内のエラーのうち1ビツトエラ一を修正す
ることにより、第4にソフトウエア分析のためエラーを
記憶することにより、第5にモジユラ化設計により、第
6に各モジユールに対し別々の電源および冗長レギユレ
ータを用いることにより、第7に冗長バスを用いること
により、および第8に故障モジユールを一時的に除外し
てシステムモジユールを再構成することができる多重レ
ベルオペレーテイングシスムの能力によるものである。
要約すると、誤りの検出およびりポートはハードウエア
によつて行なわれ、エラーの分析はソフトウエアによつ
て行なわれる。またシステムの再構成は、多重レベルオ
ペレーシヨンによつてダイナミツクに行なわれる。電源
をモジユラ化しかつ臨界電圧に対し冗長な安定化電源を
使用することによつて、不良動作をする電源による影響
は最小になり、致命的な故障に至らずに済む。故障を迅
速に識別修正し、かつ修理されたモジユールがユーザの
システムへ戻される前にそのモジユールに対する信頼を
再確立するための診断プログラムおよび装置によつて、
システムの機能低下が最小に抑えられる。
多重レベルオペレーテイングシステムの診断部分は、故
障モジユールを識別するように設計され、また本体のモ
ジユールの故障またはデイスクフアイルオプテイマイザ
(最適化器)の故障は、この発明の保守診断装置を使用
することによつて、1クロツク期間に狭められるととも
に、フリツプフロツプやそれに関連する論理回路に限定
される。最終的には、保守診断装置にカードテスタを使
用することによつて、故障した集積回路チツプが識別さ
れ得る。ユーザに自分のデータを修復する手段を与える
ために、設置割当デイスク、保護デイスクフアイル、二
重フアイル、およびシステムに用いる高レベルプログラ
ム言語の故障ステートメントがこの発明のシステムに含
まれる。
設置割当デイスクは、ユーザが自分の臨界的デイスクフ
アイルの物理的割当てを特定して、これらのフアイルの
保守および再組合わせを容易にすることを可能にするも
のである。保護デイスクフアイルは、予期しないシステ
ムの故障が起こつたときに、それ以前にフアイルに書込
まれた有効なデータの最後の部分に対してユーザがアク
セスすることを可能にする。二重デイスクフアイルの使
用によつて、致命的なデイスクフアイルエラ一の問題を
避けることができる0この発明による多重レベルオペレ
ーテイングシステムは、各デイスクフアイルの行の1つ
以上のコピーを保持し、もしも記録をアクセスすること
ができないならば、記録のコピーに対してアクセスする
。故障ステートメントを使用することによつて、ユーザ
は、或るエラーが生じたときに自分のプログラムによつ
て行なわれるべき動作を、規定することができる。実施
例の概要 この発明のシステムの構成要素は、物理的に3つのカテ
ゴリに分類できる。
第1図を参照して、第1のカテゴリは、システムの中心
的構成要素、すなわち中央プロセツサモジユール(CP
M)20、入力/出力モジユール(IOM)10、およ
びメモリモジユール30aからなる。メモリモジユール
30aは、集合的にメインメモリ30(第8図参照)、
保守診断ユニツト(MDU)26、およびオペレータコ
ンソール(図示せず)を含む。第2図を参照すると、第
2のカテゴリは、周辺制御(PC)38および交換(E
X)、デイスクフアイルオプテイマイザ(最適化器)(
DFO)40、データ通信プロセツサ36、ならびにA
C電源を含む。
第3のカテゴリは、周辺装置および遠隔装置を含む。
周辺装置は、周辺制御、ラインアダプタおよび交換によ
つて中央システムと接続される。遠隔装置は、ラインア
ダプタおよびデータ通信プロセツサ36によつて中央シ
ステムと接続される。これらの3つのカテゴリの構成要
素をシステムに構成すること、およびそのシステムの大
きさは、ユーザの応用および仕事に依存する。以下には
、十分な故障緩和能力を有する最大のかつ典型的な構成
を説明する。この発明によるシステムの論理的な最大の
構成が第2図に示されている。
全部で8個のメモリモジユール30aは、全部で8個ま
でのメモリ30aのリクエスタ、すなわち中央プロセツ
サモジユール20および入力/出力(1/0)モジユー
ル10、とともに交換によつて配列される0メモリの任
意のリクエスタは、高速メインメモリのアドレス指定を
行ない、かつその全内容をアクセスする。保守バス32
が設けられて、メモリモジユール30a1中央プロセツ
サモジユール20、入力/出力モジユール10、および
デイスクフアイルオプテイマイザ(最適化器)40に対
する制御をサービスする。1個または2個の保守診断装
置26が、保守バス32上に設けられる。
1つの入力/出力モジユール10は、メインメモリ30
および28個の周辺制御38(8個の高速制御を含む)
の間、ならびにメインメモリ30および全部で4個のデ
ータ通信プロセツサ36の間を、毎秒6.75X106
バイト以下でデータ転速することができる。
入力/出力モジユール10はまた、全部で4個のデイス
クフアイルオプテイマイザ(DFO)40(メインメモ
リとデイスクフアイルとの間のデータ転送速度を最適化
するために用いられる装置)を操作することができる。
好ましい実施例では高速度、中速度および低速度の周辺
装置の数は255個であり、それらの周辺装置はコント
ロール(制御)および交換を通じて1つの入力/出力モ
ジユール10に付属してもよく、あるいは入力/出力サ
ブシステム内に含まれてもよい。議論の目的で、各カー
ドリーダ(読取装置)、各擬似リーダカードパンチ、各
ラインプリンタ、各テープリーダ、各紙テープパンチ、
各オペレータのデイスプレイ端末、各磁気テープユニツ
ト、磁気テープ群の各ステーシヨン、およびデイスクフ
アイフルサブシステムの各電子ユニツトは装置と考える
。交換を用いて適当に交差接続することによつて、1つ
以上の入力/出力モジユール10において、デイスクフ
アィル、ディスクパツクまたは磁気テープユニツト間の
経路を確立することが可能である。したがつて、これら
の周辺装置は、システムのすべての入力/出力モジユー
ル10によつて共用されることができる。周辺装置の中
で、デイスクフアイルおよびデイスクフアイルメモリモ
ジユールは、システムのメインメモリ30の記憶容量を
極めて増大する仮想メモリを構成するものを利用するこ
とができる。第3図を参照して、これらのモジユールは
以下の(1)〜(3)のとおりであり、コントロール(
制御)を介して入力/出力モジユール10とインターフ
エイスされる。(1)第1に、トラツクごとのヘツドの
デイスクフアイルオプテイマイザ40であり、入力/出
力モジユール10ごとに約450X106ないし8×1
09個の8ビツトバイトの情報をストアすることができ
る最適化されたアクセスメモリバンクを形成し、そのア
クセス時間は2〜6ミリ秒または4〜10ミリ秒の範囲
にある。(2)第2に、トラツクごとのヘツドのデイス
クフアイルモジユールであり、それらはオプテイマイザ
(最適化器)の制御なして組合わせられて、入力/出力
モジユール10ごとに、15X106ないし16X10
ー個の8ビツトバイトのランダムアクセスメモリバンク
となり、その平均アクセス時間は20ないし35ミリ秒
である。(3)第3に、デイスクバツクメモリモジユー
ルであり、組合わせられて、入力/出力モジユール10
ごとに、121X106ないし数十億個の8ビツトバイ
トの記憶能力を有するランダムアクセスメモリバンクと
なり、その平均アクセス時間は30ミリ秒である。入力
/出力サブシステムに含まれる255個の周辺装置のほ
かに、遠隔端末装置、遠隔制御装置および遠隔コンピユ
ータの巨大回路網が存在し、この回路網は、1つの入力
/出力モジユール10によつて制御され得る4個のプロ
グラマブルデータ通信プロセツサ36によつてサービス
される1024本までの遠隔ラインによつて調整される
通常は、各ラインは多数の遠隔装置を操作し、そして2
つ以上の入力/出力モジユール10を有するシステムは
もちろん2つ以上のデータ通信回路網を有することがで
きる。この発明のシステムに含まれることができるデー
タ通信プロセツサ36の最大数は、28(7個の入力/
出力モジユーノレ)である。この発明のシステムによつ
て可能な能力、速度、融通性、および信頼性は、2個の
中央プロセツサモジユール20、2個の入力/出力モジ
ユール10、4個のメモリモジユール30a、保守診断
ユニツト26およびその関連の磁気テープユニツト35
、ならびに2個のオペレータコンソール(図示せず)(
IOMごとに1個)を含む構成によつて実現される。
典型的な故障緩和のための構成は、これらの中央構成要
素の他に、2個のデイスクフアイルメモリサブシステム
(各入力/出力モジユール10ごとに1個)または1個
のデイスクフアイルサブシステムを含まなければならず
、1個のデスクフアイルサブシスムは、交換によつて、
2個の入力/出力モジユール10、周辺制御38および
AC電力キヤビネツトによつて共用される。もちろん次
の装置、すなわち周辺装置の相補装置およびそれらの制
御や交換、データ通信プロセツサ36、ならびにシステ
ムの応用や負荷仕事に適した遠隔装置も必要である。上
述した構成のシステムは、この発明によるシステムの故
障緩和能力を十分に備え、またメインメモリ30へのお
よびメインメモリ30からのデータの4ワード転送を操
作することができるという利点がある。特定のデータプ
ロセシング要求に適した構成に配列されたこの発明の多
重レベルオペレーテイングシステムの制御の下での、こ
の発明の情報処理システムの好ましい実施例を含む周辺
構成要素と機能的サブシステムとの説明を以下に行なう
。これらの構成要素およびサブシステムは、中央プロセ
ツサモジユール20、入力/出力サブシステム、メモリ
サブシステム、保守診断ユニツト26、オペレータコン
ソール(図示せず)、デイスクフアイルサブシステム、
データ通信サブシステム、および電力サブシステムであ
る。説明は以下の索引に従つて行なう。A.中央プロセ
ツサ・・・33 B.通信ユニツト・・・64 C.入力/出力サブシステム・・・79 D.メモリサブシステム・・・141 E.保守診断ユニツト・・・239 F.多重レベルオペレーテイングシステム・・・242 好ましい実施例の説明 A.中央プロセツサ システムの演算エレメントは中央プロセツサモジユール
20である。
好ましい実施例では中央プロセツサモジユール20は1
6メガヘルツのクロツク速度を有する。中央プロセツサ
モジユール20は3つの主な独立同期動作セクシヨンが
あり、それらは第4図のプログラムセクシヨン42、実
行セクシヨン44およびストーレツジセクシヨン46で
ある。これらセクシヨン間の通信はオペレーシヨンの持
ち行列によつて行なわれる。中央プロセツサモジユール
20、算術演算およびデータ取扱いの並列運転に起因し
て、メモリへのおよびメモリからのデータ転送は同時に
生じる。簡単に言えば、プログラムセクシヨン42はオ
ブジエクトコードストリングのインストラクシヨンデコ
ーデイング動作および絶対的なアドレス演算を行ない、
実行セクシヨン44は全ての算術論理データ取扱い動作
を行ない、ストーレツジセクシヨン46は全てのストー
レツジ関連機能を達成する。
これら3つのセクシヨン間の一般的な相互連結およびデ
ータ流れは第4図に示される。セクシヨン間の通信はオ
ペレーテイング持ち行列によつて確立される。プログラ
ムセクシヨン42は、プログラムバツフア48およびプ
ログラムバレル(樽)54、プログラムコントロールユ
ニツト56、故障コントロール論理58ならびにアドレ
スユニツト60を含む。
プログラムセクシヨン42はプログラムコードストリン
グから各インストラクシヨンを抽出し、そのインストラ
クシヨンの処理を開始する働きがある。プログラムセク
シヨン42はまた、故障インタラプトシステムを制御し
これに応答する。プログラムセクシヨン42の主な働ら
きは、オブジエクトコードストリングをオペレーシヨン
に分離し、次に実行セクシヨン44の適当な持ち行列に
配置することである。いくつかのインストラクシヨンは
無条件ブランチのようなプログラムセクシヨン42によ
つて完全に動作され、その他は部分的に実行される。好
ましぃ実施例では、ポーランド記法がシステムのALG
OL翻訳アルゴリズムを基本として用いられている。
コンパイラ翻訳では、ソース表示は1度に1シンボルを
左から右に走査して検査され、論理エントリに組合わさ
れる。各論理エントリが検査されると、特定の処理が続
行され、ポーランド記法表示はその最終的な形式でソー
ス表示の1走査によつて組立てられる。プログラムがコ
ンバィルされるとき、ソースプログラムの演算部分はイ
ンストラクシヨンの機械言語ストリングに変換される。
この一例はソース言語プラス記号…であり、それは機械
言語ADDインストラクシヨン直接に置換される。言語
ストリングはポーランド記法ストリングと類似し、プロ
グラムコードストリングと呼ばれる。このコードストリ
ングはプログラム構成に依存して2以上の可変長セグメ
ントに分割される。プログラムセグメントは通常はデイ
スクフアイルにストアされる。プログラムが実行される
と、プログラムセグメントは必要時にメモリへ提示され
る。このようなプログラムセグメントが変更されるので
、メモリのプログラムセグメントの単一コピ一は同一プ
ログラムのいくつかの同時的な実行のために用いられる
。したがつてプログラムコードストリングはしばしば「
りエンドラット]または「リカーシブ」と記述される。
前述したごとく、プログラムコードストリングは2以上
のプログラムセグメントに分割される。
各プログラムセグメントに対して、単一のセグメントデ
スクリプタが存在し、それはプログラムセグメントの長
さおよび位置を規定する。セグメントデスクリプタはセ
グメントデクシヨナリとして知られている特殊なスタツ
クにストアされる。したがつて各ジヨブは1ジヨブスタ
ツクにのみ関連するだけでなく、1セグメントデイクシ
ヨナリスタツクにも関連する。さらにこの発明のマルチ
レベルオペレーテイングシステムはそれ自身のスダンク
およびセグメントデイクシヨナリを有する。ジヨブスタ
ツク内には、プログラムコントロールワード(PCW)
がセグメントコードへの各エントリ点ごとに設けられる
。プログラムコントロールワード(PCW)は、適当な
セグメントデスクリプタを位置するためのセグメントデ
イクシヨナリヘインデスクを与えるだけでなく、適当な
プログラムワードおよびシラブルを位置するためにプロ
グラムセグメントへもインデツクスを設ける。プログラ
ムの定数と変数とはプログラムがコンバイルされるとき
その「スタツク」内のロケーシヨンへ割当てられる。
スタツクは、物理的スタツクに似ているものと考えるこ
とができ、その最後の項目はスタツクの頭に位置される
。項目が1度に1つずつスタツクから取去られるとき、
スタツクの頭の項目は取去られるべき最初の項目である
。スタツクの底部の項目は、他のすべての項目がスタツ
クから取去られてしまうまで、スタツクの底部に残る。
スタツクはプログラムが処理されているときその動的経
過を保持するための管理容易な手段を提供するだけでな
く、ポーランド記法に基づくプログラムコードストリン
グの使用にも役立つ。好ましい実施例では、ジヨブが活
性化されるとき、2個のスタツク頭ロケーシヨン(Aお
よびB)はジヨブスタツクに連結される(第5図参照)
この連結はスタツクポインタレジスタ(S)63によつ
て行なわれ、このレジスタ63はスタツクの最後のワー
ドのメモリアドレスを含む。2個のスタツク頭(TOS
)ロケーシヨン(AおよびB)はスタツクを拡張し、デ
ータ取扱いのための迅速なアクセスを与える。
スタツクの最後のオペランドが最初に取出されるもので
ある、そのような態様でデータはスタツク内へスタツク
頭ロケーシヨンを経てもたらされる。スタツク頭ロケー
シヨン(AおよびB)の全容量は2個のオペランドであ
る。第3のオペランドをスタツク頭ロケーシヨンにロー
ドすることによつて、第1オペランドはスタツク頭ロケ
ーシヨンからスタツクへ押込まれる。スタツクポインタ
レジスタ(S)63はワードがスタツクに入れられる前
に1だけ増加し、ワードがスタツクから取去られてスタ
ツク頭ロケーシヨンに入れられた後に1だけ減少する。
その結果、Sレジスタ63はジヨブスタツクに入つた最
後のワードへ連続的に指向される。好ましい実施例では
、ジヨブスタツクは2個のレジスタ(スタツク基底レジ
スタ(BOSR)65とスタツク上限レジスタ(LOS
R)67)によつてメモリ保護のためにバウンドされる
BOSRレジスタ65の内容はスタツクの基底であり、
LOSRレジスタ67の内容はスタツクの上限を規定す
る。LOSRレジスタ67またはBOSRレジスタ65
のいずれかの値にSレジスタ63がセツトされるならば
、ジヨブはインタラプトされる。スタツク頭ロケーシヨ
ンの内容は中央プロセサ20によつて自動的に保持され
、現在のオペレータの要求を満たす。
もしもオペレータがスタツクへのデータ転送を要求する
ならば、スタツク頭ロケーシヨンは入力データを受信し
、スタツク頭ロケーシヨンの余剰内容はスタツクへ押込
まれる。ワードはスタツクからスタツク頭ロケーシヨン
へもたらされる。これ゛らのワードはスタツク頭ロケー
シヨンのデータ提示を必要とするオペレータによつて用
いられる。しかしながらオペレータはデータをスタツク
へ明瞭には入れない。好ましい実施例では、スタツク頭
ロケーシヨン(AおよびB)は2つのメモリワードを収
容しうる。
単精度の動作に対して、ロケーシヨンAは或る単一のオ
ペランドを含み、ロケーシヨンBは他の単一のオペラン
ドを含む。しかしながら、倍精度のオペランドをスタツ
ク頭ロケーシヨン(AおよびB)のいずれかへ呼込むこ
と2によつて、倍精度のオペランドの半分ずつがAまた
はBロケーシヨンにロードされる。第1ワードはスタツ
ク頭にロードされ、それに関連するタグビツトがチエツ
クされる。タグビツトの値が倍精度のオペランドを表わ
すならば、オペランドの第2の半分はスタツク頭ロケー
シヨンの第2半分へロードされる。倍精度のオペランド
は単一ワードがスタツクへ押込まれるとき(オペランド
の最高位の半分が先ず押込まれるとき)単一ワードに連
結される。処理は倍精度のオペランドがスタツクからス
タツク頭ロケーシヨンへ戻されるときに逆にされる。す
なわち倍精度オペランドの最下位の半分は先ず急に動か
されて、そのタグは2の値を有することが発見され、オ
ペランドの最上位半分もまたスタツク頭へはじき入れら
れる。好ましい実施例では、スタツクは32ワードのス
タツクバツフア50を含み、能動スタツクの一部が中央
プロセツサモジユール内のICメモリロケーシヨンに含
まれる。
このスタツクバツフア50は、第6図を参照して、コア
またはメインメモリ30に存在するコピーと同様にコア
またはメインメモリ30に未だ書込まれていない情報を
含む。スタツクバツフア50によつて、スタツクの一部
が中央プロセツサモジユール20内のローカルに保たれ
、中央プロセツサモジユール20の実行セクシヨンによ
つてスタツク取扱いの迅速なアクセスを与える。スタツ
クバツフア50内でローカルに保たれたスタツクの一部
分だけでなく、そのスタツクからの或る他のデータは中
央プロセツサモジユール20のローカルメモリに含まれ
る。
このローカルメモリ52の関連メモリはスタツクバツフ
アに存在しないプログラムユニツトのルツクアヘツド(
ふり返り)によつてもたらされたデータを保持するため
に用いられる。能動スタツクは中央プロセツサモジユー
ル20内のスタツクバツフアに一部分含まれたりコアメ
モリに部分的に含まれたりするけれども、スタツクバツ
フア50はスタツクが不能動のときはいつでも(スタツ
クへの移動動作の生じるとき)一掃される。このスタツ
クバツフア50の一掃によつて、スタツクバツフア50
の独特のデータがコアメモリヘコピ一される。この発明
のシステムの或る重要な考え方は、処理されているプロ
グラムの動的経過の保留である。
プログラム経過の2つのリストはシステムのスタツクに
維持され、アドレス環境リストとスタツク経過リストと
である。これら両リストは動的であり、ジヨブが異なる
プログラム経路に沿つてデータの組を変えつつ進むにつ
れて変わる。2つのリストはプログラムの処理程度にし
たがつて増大したり減少したりする。
これら両リストはシステムハードウエアによつて自動的
に発生される。中央プロセツサ20の実行セクシヨンに
戻つて、実行セクシヨン44は実行ユニツト62および
実行ユニツト入力持ち行列64を含む。
実行セクシヨン44はスタツクを伴なう全てのデータ制
御取扱いを行なう。実行セクシヨン44は算術的および
論理的動作ならび}(スタツク関連の制御機能を行なう
。実行セクシヨン44は、プログラムセクシヨン42に
よつてオペレータ持ち行列に設けられた動作の第1入力
第1出力リストから通常の態様で駆動される。ストーレ
ツジセクシヨン46はストーレツジユニツト66、スタ
ツクバツフアユ・ニツト50、関連メモリ52および通
信ユニツト68を含む。
ストーレツジセクシヨン46は全てのストーレツジ関連
の機能を果す。ストーレツジセクシヨンの或る働きはス
タツクバツフア50の維持であるが、殆んどの動作はプ
ログラムの処理から直接生じるものであることが明らか
である。ストーレツジセクシヨン46の絶対的な動作は
ストーレツジユニツト66の入力持ち行列70にあり、
それはプログラムセクシヨン42または実行セクシヨン
44のいずれかによつて行なわれる。ストーレ2ツジセ
クシヨン46の働きは、アドレスリフアレンスローカル
ストーレツジまたはメインメモリ30を指向し、そのと
きメインメモリサイタルは必要であるかを決定すること
である。これらの主なセクシヨンは比較的独立に動作す
るユニツトに再分割される。
プログラムセクシヨン42のプログラムコントロールユ
ニツト56は、プログラムバツフア48を維持し、実行
のための実行ユニツト持ち行列64の適宜の持ち行列に
おかれた動作にオブジエクトコードを分離するように意
図された論理の同期的機能ユニツトである。プログラム
コントロールユニツト56の組織は、多数シラブルオペ
レータがプログラムバツフア48のワード境界に重畳し
、他のオーバヘツドを生じないようなものである。2バ
ツフア48内にありうる分岐点は自動的に検出され、そ
のコードはメインメモリ30からのプログラムフエツチ
なしに入力される。
好ましい実施例では、中央プロセサモジユール20のプ
ログラムセクシヨン42のプログラムバツフア48は各
々が60ビツトの32ワードの全ローカルメモリ能力を
有するICメモリチツプ列である。
実際の物理的構成は各々が16ワードの2個のメモリで
ある。第4図に示すごとく、これら2つのメモリ部分が
、メインメモリ30からの全奇数ワードが或る一部分に
ストアされ、偶数ワードは他の部分にストアされ、その
ようにして介挿されている。各部分はさらに零ないし3
までの4個のセグメントに分割される。バツフアはメイ
ンメモリリフアレンス毎に4ワードのセグメントにロー
ドされる。プログラムバツフア48をロードするための
アルゴリズムはバツフア48が空になるまで待たずに先
行のものに基づき、それによつてメイン一11蔓メモリ
バス47の固有なむだ時間が利用される(第2図参照)
ワードが入力されるにつれて、それらはプログラムバツ
フア48の奇数および偶数部分に交互に入れられる。入
力された各ワードは全51ビツトについてバリテイチエ
ツクされる。各ワードがプログラムバツフア48に入力
されると、バリテイが発生され各シラブルにストアされ
る。したがつて中央プロセツサ20を介して与えられた
インストラクシヨンまたはそのルートのシラブル数に拘
らず、その集積度はバリテイによつて各個別的なシラブ
ルに維持される。プログラムセクシヨン42のアドレス
演算ユニツト60は絶対アドレスの演算に必要な論理を
含む。
このユニツトは20ビツト毎の48ワードのストーレツ
ジ領域を有する。ストーレツジ領域には入力および出力
レジスタが設けられ、その出力レジスタはストーレツジ
サイクルが同時的に生じるようにアダー/コンパレータ
サイクルの期間中にレジスタをバツフアするように用い
られる。ストーレツジ領域の入力レジスタは、制御論理
が完了すべきストーレツジサイクルを待たずに直ちに解
放されるように、書込みサイクル中データをバツフアす
るために用いられる。この入力レジスタはまた、たとえ
ばストリング処理で見出されるような後続の演算(たと
えばインデツクスプラス定数プラス基数)のためにアダ
ー/コンパレータの値を保持する働きをする。アドレス
演算ユニツト60のストーレツジ領域への全書込みサイ
クルは実行セクシヨン44によつて制御されるが、アド
レス演算の目的で読取リサイクルは中央プロセサモジユ
ール20の実行セクシヨンまたはプログラムセクシヨン
42のいずれか一方から開始される。別々の読取りレジ
スタはこれら2つのセタシヨンのために設けられ、優先
解決器は任意の混乱を防ぐ。注目すべきは、アドレス演
算ユニツト60は直接にパイプラインにはなく、したが
つて駆動される持ち行列ではない。前述のとおり、アド
レス演算ユニツト60は中央プロセツサモジユール20
のICメモリへの書込みサイクルが単に開始されるだけ
であり開始論理によつて完全に制御されない範囲でのみ
自律的である。プログラムセクシヨン42の故障コント
ロールユニツト58は、一般の保守とこの発明によるマ
ルチレベルオペレーテイングシステムのフエイルソフト
部分の案内の下でエラー修正とにおいて働らくように設
計される。エラー修正は代替のスタツクおよび表示零能
力を有するマルチレベル匍脚状態のシステムによつて援
助される。故障コントロールユニツト58は故障状態レ
ジスタを有し、このレジスタはシステムインタラプトを
レコードし、中央プロセツサ20がこれらのインタラプ
トを取扱うために必要な動作をするように条件付ける。
このレジスタはオペレータ依存インタラプトとオペレー
タ独立インタラプトとの両者をレコードする。中央プロ
セツサモジユール20の実行セクシヨン実行ユニツト6
2は処理パイプライン最終ストツプである。
インストラクシヨンの大部分は、実行ユニツト62が価
値あるデータについて動作するプロセツサ20の単なる
ユニツトであるまで完成されてはいない。それはまたい
くつかのコントロールワード様式を有し、またアドレス
演算の働きをする。このユニツトは2個のスタツク頭レ
ジスタAおよびBを有し、それが動作しているキヤラク
タストリングの一時的なストア部分でありうる。プログ
ラムコントロールユニツト56に似た実行ユニツト62
は持ち行列駆動される。データに関連するすべての動作
とオペレータとはプログラムコントロールユニツト56
によつて実行ユニツト62の持ち行列に設けられる。価
値ある入力データはストーレツジセクシヨン46のスト
ーレツジコントロールユニツト66によつて与えられる
。持ち行列への書込み制御はプログラムユニツトおよび
ストーレツジユニツトによつて協働して行なわれる。持
ち行列からの情報の読取りは実行ユニツト62によつて
のみ行なわれる。入力持ち行列の状態は明らかな理由で
、プログラムセクシヨン42によつてモニタされ、ユニ
ツト同期が必要なときに持ち行列の充および空を検出す
る。持ち行列入力レジスタは、そのレジスタがロードさ
れるとすぐに転送ユニツトが解放するように設けられる
。実際の書込みサイクルは持ち行列入力レジスタのロー
ド後に始まる。好ましい実施例では、持ち行列はメモリ
チツプによつて実現され、そのため同時的な読取り書込
み動作を可能にする。中央プロセツサモジユール20の
ストーレツジセクシヨン46のストーレツジユニツト6
6はメインメモリ30への全りファレンズを制御するた
めに必要な論理を含む。
メインメモリリフアレンスはプログラムオペレータ機能
とは独立に、またはオペレータ実行の結果として開始さ
れる。独立の動作はプログラムバツフア48、関連のメ
モリ52およびスタツタバツフア50の制御である。オ
ペレータ実行の直接の結果であるメインメモリのりファ
レンズはストーレツジコントロールユニツト66へその
動作持ち行列を介して提示される。その持ち行列の実際
の動作はプログラムが調整されるときプログラムコント
ロールユニツト56によつてそこで行なわれる。動作に
関連するアドレスはプログラムコントロールまたは実行
セクシヨン44のいずれかによつて持ち行列におかれる
。ストーレツジコントロールユニツト70はスタツク機
能がスタツク基底レジスタ(BOSR)65およびスタ
ツク上限レジスタ(LOSR)67によつて確立された
限界内にあるかどうかを決定するためのスタツク機能を
モニタする。
これらの限界をチエツクする際、ストーレツジコントロ
ールユニツト66は境界検出が事実の後でないようにロ
ーカル数を考慮しなければならない。入力持ち行列は中
央プロセサ20の全サブセクシヨンによつて実質的に制
御される。
プログラムコントロールユニツト56はまたオペレータ
を与える。アドレスはプログラムコントロールユニツト
56によつで、あるいは実行ユニツト62によつて演算
され、ストア機能のためのデータは常に実行ユニツト6
2から取出される。リスアレンスが「ローカルでない」
と決定されるとき、ストーレツジコントロールユニツト
66はメインメモリ30へのりファレンズを開始する。
正常なものから任意のものがメインメモリフエツチリフ
アレンス期間中生じる事象では、ストーレツジユニツト
66は整然とした終了を開始し、データおよび問題を記
述するに充分なコントロール情報をユニツト入力持ち行
列64を介して実行ユニツト62へ通す。異常に対する
反応はストーレツジユニツト66によつて延期される必
要がある。というのはフエツチ機能に関してこのユニツ
トは実際の実行点よりも前にあるからである。実行ユニ
ツト62は、プログラムの実行点を事実上規定する中央
プロセサ20のセクシヨンであり、それゆえ予期せず変
化するものではなく、関連のオペレータが実行持ち行列
64の頭に達するまでプログラムの順序は生じうる。ス
トア機能に対しては、実行ユニツト62およびストーレ
ツジユニツト66はすでに同期していて、故障反応はす
ぐに生じる。好ましい実施例では、ストーレッジコント
ロールユニット66はそのユニツト内の動作を重畳する
ことができる。
この状態はメインメモリ30へのりファレンズが開始す
るときはいつでも生じる。ストーレツジセクシヨン46
の通信ユニツト68は外部りファレンズを取扱うとき、
ストーレツジユニツト66はその入力持ち行列70の次
のエントリへ続くことができる。もしも動作がスタツク
バツフア50または関連のメモリ52に対してローカル
であるような変数をりファレンズする事象であれば、ロ
ーカルリフアレンスはメインメモリリフアレンスと並列
に完了される。重畳は或る動作に限定されない。ストー
レツジユニツト66は可能な限り長くまたは外部りファ
レンズが完了するまで入力持ち行列70からの動作を処
理することができる。この重畳による利点は、ターミナ
ルデスクリプタを構成する際に用いられる変数へのりフ
ァレンズのほとんどがローカルであるという事実に基づ
く。そこで、ターミナルデスクリプタによつてりファレ
ンズされた項目は外部(特にデータ列)であるけれども
、メインメモリ30で費される時間は次のデスクリプタ
構成によつて効果的にマスクされる。プログラムセクシ
ヨン42のプログラムバツフア48は実行プログラムオ
ブジエクトコードの一部を捕えるために用いられたロー
カルプロセツサメモリの32ワード領域である。
プログラムバツフア48はマルチワードセグメント内で
更新されるので、位相調整されたメモリシステムが用い
られる。好ましい実施例では、大量のプログラム論理が
プログラムバツフア48へ存在するように、オブジエク
トコードはプログラム毎に3.5インストラクシヨンの
平均値を有す。バツフア「ウインドウ」はオブジエクト
コードストリング上へ滑動する傾向があり、プログラム
ループを完全に捕える。それゆえ、殆んどの場合分岐は
新たなプログラムワードのためのメインメモリリフアレ
ンスなしで生じる。スタツクバツフア50は基本プログ
ラムとデータリフアレンスのストーレツジを与えるジヨ
ブに割当てられたメモリ領域である。スタツクはまたデ
ータおよびジヨブ経過の一時的なストーレツジを与える
。ジヨブが完了すると、そのスタツクとスタツク頭レジ
スタ(AおよびB)との連結はスタツクポインタレジス
タ(S)63によつて確立され、このレジスタ(S)6
3はスタツクの最後のワードのメモリアドレスを含む。
スタツクバツフアはスタツクメモリ領域をプロセツサロ
ーカルICメモリにに拡張し、実行ユニツト62による
スタツク取扱いのす早いアクセスを与える(第6図参照
)。スタツクバツフア50の主目的はスタツク環境の一
部を32個のICメモリロケーシヨンの任意の中へロー
カル的に保持することである。このローカルメモリのア
ドレス指定機構は包装で囲まれたような(ラツプアラウ
ンド)態様で組織される。データは、スタツクの最後の
オペランドが抽出されるべき最初のものであるような態
様でスタツクへもたらされる。前述したように、2個の
スタツク頭レジスタ(AおよびB)がフアイルされた後
に、第3オペランドがスタツク頭へロードされることに
よつて、最初のものはスタツクバツフア50へ押込まれ
る。エントリがスタツクバツフア50へ押込まれて飽和
したとき、スタツクバツフア50はスタツクメモリ領域
の頭領域を維持するように、バツフアエントリのセグメ
ントは自動的にメインメモリ30へ移動する。メインメ
モリ30への任意のスタツク調整は位相メモリシステム
を充分利用するためにマルチワードセグメントで常に達
成される。このスタツクエントリの[ウインドウ」は実
行プログラムスタツクの現在のアドレス指定環境を捕え
る傾向にある。この発明では、スタツクバツフア50は
、あたかもそれが実際のメインメモリ30の領域である
かのごとく、限界内で直接にアドレス指定されうる。ス
タツクバツフア50動作の直接アドレス指定はプログラ
マに自明である。それゆえこの動作の知識はプログラマ
には不要である。第7図に示すごとく、スタツク頭バツ
フア50のメインメモリアドレスすなわち最新の工ント
リはスタツク頭レジスタ63に含まれる。
スタツクバツフア50の底部のメインメモリアドレスは
スタツク限界レジスタ(SLR)またはある場合にはス
タツクアドレスレジスタ(SAR)に含まれる。
中央プロセツサモジユール20がジヨブスタツクに割当
てられた後、スタツクメモリ領域の頭から4つのワード
はメインメモリ30からスタツクバツフア50へ転送さ
れる。後続のスタツク拡張とローカルリフアレンスとは
このバツフア内で完全に実行される。スタツクバツフア
が飽和するとき、4ワードセグメントはメインメモリ3
0へ転送され、それによつて位相メモリシステムが用い
られる。スタツク切下げによつてスタツクは空になり、
メインメモリスタツクの次の4ワードセグメン2卜はス
タツクバツフア50へ与えられ、それによつてアドレス
レジスタは更新される。スタツクバツフア50はスタツ
クエントリの「ウインドウ」と考えることができ、それ
はジヨブスタツクの大きさが変化するとメインメモリス
タツクに沿つて滑動し、それによつてそれは常にスタツ
クの頭領域の或る部分を含む。この形式のバツフア構成
は処理またはサブルーチン組織環境において特に有効で
ある。メインメモリ30は有効な共通データのからみ合
いを減じ且破壊,を防ぐために、スタツクレジスタ(A
およびB)の頭からスタツクバツフア50へ押込まれた
これらの変数だけがメインメモリ30へ送られる。この
ことは一掃またはバツフアセグメント移動期間中に生じ
る。新たなデータの境界のトラツクを保持するジヨブは
スタツクリンクレジスタ(SLR)のメインメモリ30
へ未だ送られていない変数の絶対アドレスを保持するこ
とによつて達成される。スタツクバツフア50がメイン
メモリスタツクに沿つて滑動するにつれて、それはメモ
リ30へ未だおかれていない変数、新たなデータ、およ
びメインメモリスタツクのコピーであるエントリを保持
する傾向がある。この動作によつて、スタツクアドレス
レジスタ(SAR)はバツフア50が新たな且コピーさ
れたデータを含むときはいつでも用いられる。スタツク
アドレスレジスタ(SAR)は常にバツフア50の最深
のスタツクエントリの絶対アドレスを含む。スタツクバ
ツフア50とメインメモリ30との間のエントリを転送
するために、Sレジスタ63とスタツクアドレスレジス
タ(SAR)のメインメモリアドレスに対応するスタツ
クバツフアアドレスが保持されなければならない。この
目的で用いられるICメモリロケーシヨンは第7図に示
したBTPおよびTPPレジスタであり、最も古いおよ
び最も新しいエントリのスタツクバツフアアドレスをそ
れぞれストアする。
スタツクバツフアはラツプアラウンドアドレス指定機構
を用いるので、BTPおよびTPPレジスタは主として
ポインタとして働らく。なぜなら絶対値は重要ではない
からである。第7図に示すごとく、TPP,BTP,S
,STRおよびSLRレジスタはメインメモリスタツク
に沿つてスタツクバツフア「ウインドウ」を配列するた
めに用いられる。第7図は飽和状態を示し、中央プロセ
サ20は他のスタツクに変わり、再び実行する。スタツ
クバツフア50のフアイリングはメインメモリスタツク
からの頭4ワードプロツク転送からちようど始まる。実
行は、スタツクバツフア50で形成された新たなエント
リによつて示されるごとく続く。スタツク拡張の追加的
な領域は、スタツクバツフア50が飽和するときに、創
設されなければならない。この飽和が生じたとき、スタ
ツクアドレスレジスタ(SAR)は4だけ増加され、ス
タツクリンタレジスタ(SLR)はメインメモリ30へ
移動されなければならない変数のリードアドレスを表わ
す。動作終了時には、スタツクリンクレジスタ(SLR
)はスタツクアドレスレジスタ(SAR)に等しい〇し
ばしば、自動的にスタツクバツフア50を一掃する必要
がある。一掃時には、バツフア50内の全ての変数とS
LRセツテイング上の変数とはメインメモリ30へ転送
される。適宜のインストラクシヨンによつて、スタツク
バツフア50の一掃はメインメモリ30への実際のロツ
クリフアレンス前に生じる。このことによつて、スタツ
クバツフア50の内容はメインメモリヘコピ一され、そ
のため他のプロセツサへ得られることが確実になる。一
掃動作によつて、SLRセツトは1だけ増加されたSレ
ジスタ63の内容に等しく、これはローカルバツフアの
全内容がメインメモリのコピーであることを表わす。関
連のメモリ52はスタツクバツフア50に含まれる領域
の外にあるしばしば用いられる変数とデスクリプタとに
早いアクセスを与えるように実現された一般のデータバ
ツフアである。
好ましい実施例では、関連のバツフアまたはメモリ52
は78ビツトの16ワードを含むプロセサICメモリで
ある。
各ビツトはデータおよびタグの51ビツト、パリテイビ
ツト、メインメモリアドレスの21ビツト、アドレスの
残余1jの2ビツト、ならびに4つの予備ビツトからな
る。第8図に示すごとく、関連のメモリ52は、項目が
2倍正確オペランドまたは他のIRW(間接りファレン
ズワード)でないならば、IRWによつてりファレンズ
される任意の項目2Cによつてロードされる。このよう
なエントリはデータデスクリプタ、ステツプインデツク
スワードおよび単精度オペランドを含む。保持されたデ
スクリプタは、多次元のセグメント化配列実現で用いら
れるようなベクトルエントリを含25む。プログラムコ
ントロールユニツト56または実行ユニツト62のいず
れかによつてリクエストされた項目が通信ユニツトへ与
えられたとき、それらはメインメモリアドレスとともに
関連のメモリ52へコピーされる。項目への将来30の
りファレンズはそれが関連のメモリ52に依然存在して
いることを見出し、それによつてメインメモリ30への
りファレンズを減じることができる。関連のメモリが飽
和した後、新たな項目が関連のメモリへ与えられるたび
に最も古35い既存のエントリが重ねて書込まれる。項
目が重ね書込みされてしまうと、それは項目の次のりフ
ァレンズに対して関連のメモリへ再び入力され、それに
よつてしばしば用いられる項目は関連のメモリ52の現
在の内容から得られる。40情報が関連メモリ52にお
いて同時に得られるメインメモリアドレスにストアされ
るべきとき、その関連のメモリロケーシヨンのデータは
メインメモリロケーシヨンのデータとともに更新される
したがつて、関連メモリ52の有効なエントリはメイン
メモリ(9)の関連項目の現在のコピーである。ストー
レツジコントロールユニツト66によつて達成される任
意のストア動作は、メインメモリ(9)ならびにもし応
用可能ならばローカル領域へ実行される。ストアはメイ
ンメモリ30の内容を常に更新するので、関連メモリ5
2の内容はメインメモリへ重ねて入力される必要は全く
ない。ローカルメモリストアが成功裏に完了した後、実
行ユニツト62は、メインメモリ加へのストアが完全で
ないとしても、その持ち行列のオペレータを実行し続け
る。このことは、保護書込みおよび偶然の処理エントリ
のような混乱がローカルメモリへのストアで検出されな
いので、可能である。ハードウエアは関連のバツフア5
2の全ての情報を必要なとき、たとえば再アロケーシヨ
ンのためにマルチレベルオペレーテイングシステムに入
るとき、無効にすることができる。レコードは関連バツ
フア52の各ワードの有効なものである。情報がメイン
メモリ30からリクエストされるとき、チエツクはスト
ーレツジコントロールユニツト66の制御の下で行なわ
れ、リクエストされた情報はスタツクバツフア50また
は関連メモリ52のいずれかに現在含まれているかどう
かを決定する。ローカル検出の動作は、オペレータおよ
びアドレスがストーレツジユニツト入力持ち行列70か
ら取去られるとき、行なわれる。りファレンズが関連メ
モリ52とスタツクバツフア50との両者において行な
われる事象では、スタツクバツフア50は自由に選択さ
れる。なぜならそれはプツシユダウン動作を生じる一連
の機能によつて生じたりファレンズの後の方のコピーで
ありうるからである。{.通信ユニツト通信ユニツト(
CU)68は中央プロセツサモジユール20とメインメ
モリ30との間のインタフエイスを与える。
全てのメインメモリアクセスはこのユニツトによつて達
成される。メモリ動作のリクエストはプログラムバツフ
ア48、ストーレツジユニツト66およびスタツクバツ
フア50によつてCU68に対して行なわれる。CUに
よつてメインメモリ(資)から取出された情報は実行ユ
ニツト?、スタツクバツフア50、関連メモリ52また
はプログラムコードのためにプログラムバツフア藺へ送
られる。CU68へのアクセスはプライオリテイ処理に
基づいてCPMリクエストユニツトに与えられる。
第1優先はスタツクバツフア50に与えられる。なぜな
ら実行ユニツト62はスタツクバツフア50によつて行
なわれる任意のリクエストの結果を持ち合せているから
である。スタツクバツフアリクエストは、スタツクバツ
フアの飽和、空または一掃動作を達成するとき、行なわ
れる。実行ユニツト62と同じ第2優先のストーレツジ
ユニツト66はストーレツジユニツトリクエストの結果
を持ち合せる。プログラムバツフアリクエストは、第3
優先を有し、これらのリクエストは追加的なプログラム
コードが実際に必要になる前に行なわれる。第9図に示
すごとく、通信ユニツトの主な論理エレメントは入力レ
ジスタ(IM)302出力レジスタ(4)P)304、
通信アドレス(CA)レジスタ30fx通信長(CLN
)レジスタ灼珀、リメンバーサスペンド(RS)レジス
タ310故障(FL)レジスタ70および制御論理を含
む。
故障レジスタ70は通信ユニツト68にアクセス可能な
ときCPM2Oの故障匍卿論理58によつて用いられる
単一ワードメモリ動作において、動作の絶対メモリアド
レスはCAレジスタ3)6に含まれる。マルチワード動
作について、スタートアドレスはCAレジスタ306に
存在し、取出されまたはストアされるべきワード数はC
LMレジスタ308に存在する。動作期間中、アドレス
およびワードカウントは取出されまたはストアされた各
ワードに対して調整される。好ましい実施例では、プロ
グラムコードは8ワードプロツクに取出され、これは(
もしメモリ構成が4ワード位相を可能とするならば)2
個の4ワードフエツチを必要とする。もしも、プログラ
ムコードの第1の4ワードフエツチの最後に、より高次
の優先リクエストがCUを使用するために行なわれるな
らば、現在のメモリアドレスおよびワード長さは一時的
なストーレツジのためにリメンバーサスペンドレジスタ
310に転送される。ここで第2の4ワードフエツチは
より高次の優先リクエストが再発生された後まで遅延さ
れる。他のリクエストが係属していないとき、RSレジ
スタ310内容はCAレジスタ306およびCLNレジ
スタ308へロードバツクされ、コードの取出しが再び
行なわれる。
メインメモリ30へのアクセスが必要なとき、CU制御
論理はCAレジスタ306のアドレスの6個の最高位ビ
ツトを各メモリコントロールモジユール(その詳細は後
述する)のために確立された制御と比較し、適宜のモジ
ユールを選択する。
次に、動作のためのスタートアドレスおよび他の制御情
報はメモリコントロールワードの選択されたモジユール
に送られる。コントロールワードは入力レジスタ302
にアセンブリされ、次に出力レジスタ304に転送され
、アドレス指定されたメモリコントロールモジユールへ
送られる。コントロールワードの受信はメモリコントロ
ールモジユールによつて認められる。フエツチ動作に関
して、メモリコントロールモジユールは、データ提示(
DAP)信号およびリクエストされたデータをCU68
へ送ることによつてアクセスが行なわれたことをCU6
8に知らせる。
データはINレジスタ302によつて受信され、プログ
ラムバツフア48、スタツクバツフア50、関連メモリ
5′2またはEWRの適宜のものへ実質的にへ実質的に
進められる。ストア動作のためのデータはストーレッジ
ユニットデータ持ち行列70またはスタツフバツフア5
0のいずれかからCU68によつて受信される。
ストア動作のためのデータはCU68がメモリアクセス
を得るまでINレジスタにバツフアされる。コントロー
ルワードの転送とこのワードの受信確認とに引き続いて
、選択されたメモリコントロールモジユールは第2デー
タ信号をCU68に送ることによつてCU68へアクセ
スを知らせる。アクセスを得たとき、CU68はデータ
を出力レジスタ304へ転送し、ワードは選択されたメ
モリコントロールモジユールへ送られる。中央プロセサ
モジユール20の物理的かつ概念的設計の理解をさらに
助けるために、中央プロセサモジユール20の基本的な
動作概念のいくつかを示す。
好ましい実施例では、中央プロセツサモジユール20は
パイプライン処理ユニツトとして設計される。
したがつて各処理ステーシヨンは異なるタスクを同時に
行なつていてもよい。任意のインストラクシヨンが処理
パイプラインを通過するにつれて、インストラクシヨン
が完全に実行されるまで、種々の処理ステーシヨンによ
つて達成される。一般に、プログラムコードストリング
のプログラムオペレータはマルチワードセグメントでメ
モリから取出され、プログラムバツフア48におかれる
オペレータは1度に1つずつプログラムコントロールユ
ニツト56によつて発生され、各々は1以上のマイクロ
オペレータに分離され、それは実行ユニツト62によつ
て処理のために待合わされる。プログラムコントロール
ユニツト56はどのデータがマイクロオペレータの実行
に必要かを決定するとともに、ストーレツジユニツト6
6のためのこのデータをリクエストする。リテラル値は
コードストリングに含まれ、プログラムコントロールユ
ニツト56はデータを抽出して、それを直接に実行ユニ
ツト62へ進められる。したがつて実行ユニツト62は
マイクロオペレータを処理し、必要なデータは通常は直
ちに使用可能であり、実行ユニツト62が遅延なしに必
要な処理を達成することができる。実行ユニツト62に
よつて生じる結果はローカルメモリ領域の1つヘスドア
されてもよく、または、ストーレツジユニツト66およ
び通信ユニツトを介してメインメモリ30へ送られても
よい。パイプライン技術を用いることによつて、比較的
低速度の処理が装置5の信頼性を劣化することなく達成
される。処理速度を増大するために、プロセツサ20の
バツフアメモリ領域を広範囲に用いられた。
これらのローカルメモリ領域はすでに述べたものであり
、プログラムコード、能動プログラムスタツクの一部分
およびしばしばりファレンズされる変数をストアするた
めに用いられる。好ましい実施例では、中央プロセツサ
モジユール20においてプログラムバツフア48、スタ
ツクバツフア50および関連バツフア52のために特定
の高速度集積回路(IC)メモリを用いることによつて
、メインメモリ30へのおよびメインメモリ30からの
データの転送の完了を持ち合せるに費される時間が減少
され、しばしば実質的になくされる。これらのバツフア
が目律的にフアイルされるので(1度に2または4ワー
ドであり、それはメインメモリ30の構成に依存し、デ
マンドに必要な原理ではなく先行のものに依存する原理
に従う)、それらの内容の補充は通常のメインメモリ遊
び時間を用いて行なわれる。プログラムバツフア48は
32個以下の60ビツトプログラムワードのためのロー
カルストーレツジを与え、32ワード以下のプログラム
ループを緊密に捕えることができる。バツフアに存在し
ていたループはメインメモリ30からプログラムワード
を取出すことなく連続的に抽出される。32ワードスタ
ツクバツフア50は、実行されているジヨプのスタツク
の頭にあるデスクリブタ、変数およびコントロールワー
ドのためのローカルストーレツジを(かつしたがつて早
いアクセスをも)与える。
関連データバツフア52は16個の78ビツトワードか
ら成り、最もしばしば用いられるがスタツクバツフア5
0におかれるほど充分にはスタツクの頭に近接していな
いジヨブのオペランドのためのローカル高速度ストーレ
ツジを与える。この発明のシステムのスタツク構成は適
切なハードウエアに課されるソフトウエア構成だけでは
ない。
スタツクを組立てて取扱うためのハードウエア機構は中
央プロセツサモジユール20の不質的なものである。こ
のハードウエアスタツク機構によつてサブルーチンの制
御、プロセス間の通信および一様かつ効率的な方法でイ
ンタラプトを行なうことが可能になる。メモリ保護(そ
れほ割当てられないデータに対してプログラムがアクセ
スしたりそのデータを代替したりすることを防ぐ)は、
ハードウエアとソフトウエアとの組合せによつて達成さ
れる。
ハードウエア機構は割当てられたデータ領域を超えてプ
ログラムがインデツクスをしようとすることを自動的に
検出したり、コントロールビツトを用いたりし、このコ
ントロールビツトはソフトウエアによつてセツトされ、
ユーザのプログラムがプログラムワード、データデスク
リプタ、セグメントデスクリプタ、メモリリンク、間接
りファレンズワード(IRW)、コントロールワードお
よびソフトウエアオペレ一テイングシステムの表を変化
することを防ぐ。コントロールプロセツサモジユール2
0のオペレータはベクトル、全ワード、キヤラクタ、グ
ループのビツトおよび単一のビツトに関連して動作する
。同一組のオペレータは単精度および倍精度算術の両者
を達成する。中央プロセツサモジユール20および入力
/出力モジユール10によつて、またはメモリモジユー
ル30aのコントロールモジユールによつて検出された
インタラプト条件は、中央プロセツサモジユール20に
よつて処理され、このプロセツサモジユール20はマル
チレベルオペレーテイングシステムのインタラプト取扱
い処理へのエントリのスタツクを準備し、スタツクに必
要なパラメータを入れ、オペレーテイングシステムのイ
ンタラプト取扱い処理へのエントリを生じる。
このようにして、自動的に不連続とすることによつて(
このことは一時的にまたは永久的にインタラプト条件に
依存する)、インタラプト条件が生じたときにプロセス
が実行2・され、システムはマルチプログラミング、マ
ルチプロセシング環境で生じうる殆んどすべての条件(
正常および異常の両者)を処理することができる。好ま
しい実施例では、中央プロセツサモジユール20は2状
態のいずれかで動作し、それはマルチレベルオペレーテ
イングシステムによつてのみ用いられる制御状態ならび
にユーザプログラムおよびマルチレベルオペレーテイン
グシステムによつて用いられる正常状態である。
マルチレベルオペレーテイングシステムのインタラプト
取扱い処理は常に制御状態で実行される。2つの状態の
違いは、制御状態において中央プロセツサモジユール2
0の外で生じるインタラプト条件(外部インタラプト)
の処理が禁止さ−れ、しかるに正常状態ではそれが禁止
されないことであり、また制御状態では中央プロセッサ
20は特定のインストラクシヨンを実行しうるが正常状
態では実行されない。
2状態のほかに、中央プロセツサモジュール20は5つ
のインタラットモード、すなわち正常モード(CMO)
、制御モード1(CMl)、制御モード2(CM2)、
制御モード3(CM3)および制御モード4(CM4)
の任意の1つのモードで動作することができる。
すべての算術演算の剰余のチエツクおよびデータ転送の
パリテイチエツクによつて中央プロセツサ20内のエラ
ー検出は容易となる。故障が中央プロセサモジユール2
0内で生じるならば、プロセツサ内部のインタラプトは
生じ、故障の発生はプロセツサモジユール20のフエイ
ルレジスタ70の内容に記される。第10図を参照して
、フエイルレジスタ (FR)70は物理的には中央プロセツサモジユール2
0の通信ユニツト68に設けられ、プロセツサ内部とエ
ラー条件に関するメモリとについての追加的な情報を与
えるために用いられる。
フエイルレジスタ(FR)70は3つの部分から成るも
のと考えられる。
それらは、中央プロセツサモジユール20内部のエラー
に関する部分、メモリに関連するエラーに関連する部分
および警報インタラプト後の連続性を表わす単一ビツト
である。これら3つの部分の各々は中央プロセツサモジ
ユール20の故障制御論理58によつて独立的にセツト
される3つの部分は同様にして読取られかつクリアされ
る(読取り崩壊される)。レジスタ70の3つの部分の
1つに影響する1以上のインタラプトが、そのレジスタ
が読取られかつクリアされる前に、生じるならば、その
部分は最も新しいインタラプトについての情報によつて
完全に重ね書込みされる。1以上のプロセツサモジユー
ル20を含むシステムにおいて、中央プロセツサモジユ
ール20の任意のものまたは全ては、制御状態または正
常状態においても任意のインタラプトモードで動作しう
る〇CPMフエイルレジスタ70の個々のセクシヨンは
次のように用いられる。
プロセサ内部エラーセクシヨンはすべてのプロセツサ内
部エラーのために用いられる(プロセツサ内部メモリ関
連のエラーも同様にメモリ関連セクシヨンを用いる)。
メモリ関連セクシヨンはまたメモリパリテイ。メモリフ
エイル1および無効のアクセスエラーのために用いられ
るけれども、それはパラメータP2が用いられないとき
であり、そのときケースP2は全て零である。メモリ関
連セクシヨンもまた全てのメモリフエイル2インタラプ
トのために用いられる。連続ビツトは警報インタラプト
に受入れられるだけである。メモリフエイル1および2
インタラプトは後述する。上述のインタラプト条件のほ
かに、フエイルレジスタ70のメモリ部分もまた後述す
るメモリモジユール30aのコントロールモジユール部
分によつてインタラプト回復ルーチンをりポートする。
インタラプト条件が検出されるとき、その条件を指示す
るように割当てられたビツトは27ビツトフエイルレジ
スタ70にセツトされる。しかしながら、影響された動
作が実行ユニツト44によつて完了されてしまうまで、
エラー表示はオペランドによつて持ち合わされ、中央プ
ロセツサモジユール20はインタラプトされない。中央
プロセツサモジユール20の内部のエラーはCPMフエ
イルレジスタ70のセツトによつて記される。
りポートされたエラー条件は次のものを含む;実行ユニ
ツトのパリテイ、見逃し、連続およびデコードエラーリ
アドレスユニツトの持ち合せ行列重ね書込みおよび見逃
しエラーリプログラムユニツトの内部エラー:ならびに
保護ストアのメモリエラー。フエイルレジスタ70のプ
ロセツサのプロセツサ内部はパリテイ、見逃し、連続お
よびデコードエラーをりポートする。
フエイルレジスタ70のメモリ関連部分は多数の異なる
形式のインタラプト条件をりポートする。通信ユニツト
68と中央プロセツサの他のセクシヨンとの間の動作期
間中に検出されるインタフエイスエラ一およびメインメ
モリ30へのアクセス規間中に検出されるパリテイエラ
ーはフエイルレジスタ70にりポートされる。フエイル
レジスタ70にはまたインタラプト条件がりポートされ
、3!メインメモリ30にアドレスが存在しないときお
よび中央プロセツサ20でメモリタイムアウトが生じた
ときインタラプト条件が生じる。中央プロセツサモジユ
ール20はインタラプト条件が検出されるまで正常モー
ド(CMO)4Cで動作する。第1の3つのコントロー
ルモード(CMl,CM2,CM3)によつて、ハード
ウエアインタラプトルーチン(中央プロセサモジユール
20の故障制御論理58)に入ろうとするリカーシブな
試みが行なわれる。コントロールモード4(CM4)は
この試みが成功裏ではなかつたことを表わす。CPM2
Oの動作状態と動作モードとの間の直接的な関係はない
。CPM2Oは制御状態または正常状態のいずれかにあ
るときに4つのインタラプトモードのいずれかである。
C.入力/出力サブシステム この発明の入力/出力サブシステムに戻ろう。
入力/出力サブシステムの主な機能は情報処理システム
のメインメモリ30(レベル1)および周辺装置のスト
ーレツジ媒体間の固定長データフイールド転送を制御し
かつバツフアする。周辺装置は、システムシーザがシス
テムと通信する媒体である。この発明のシステムでは、
周辺装置は中央プロセサモジユール20とは独立して動
作するが、入力/出力サブシステムによつてマルチレベ
ルオペレーテイングシステムの制御の下にある。入力/
出力サブシステムは、第2図および第11図に示すごと
く、IOMと称される1以上の入力/出力モジユール1
0および1以上の周辺制御キヤビネツト39を含む。入
力/出力サブシステムはエントリとして直接にレベル1
およびレベル3ストーレツジシステムとインタフエイス
し、間接的にレベル1サブシステムによつて中央プロセ
サモジユール20とインタフエイスする。制限内では、
入力/出力サブシステムの入力/出力モジユール10の
数と周辺制御キヤビネツト39の数とは、ユーザの要求
に依存する。制限としては、(a)システムの中央プロ
セサモジユール20と入力/出力モジユール10との合
計数は8を超えないことであり、(b)最大28個の周
辺コントローラ38は単一の入力/出力モジユール10
に接続される。好ましい実施例では、入力/出力モジユ
ール10の設計に適用されるモジユラ形式の概念によつ
て、ユーザのシステム要求に対して効率的かつ経済的に
適合する。
モジユラ形式の概念は主としてインタフエイス能力に関
連し、特にデータサービスサブセクシヨンの周辺インタ
フエイス能力に関連する。これらのサブセクシヨンは同
期し、著るしい周辺接続能力を有する。この一様性はモ
ジユラサブセクシヨンの同期的特徴から得られるもので
あり、フエイルソフトの利点がある。データサービス故
障は特定のインタフエイス領域に制限され、そのため残
余のインタフエイス能力が依然存在する。モジユラリテ
イ概念は装置速度の基準で選択されたサブセクシヨンの
追加的なデータバツフアリングの使用を可能にする。こ
のバツフアリングの使用によつて、システムのより高速
度の周辺装置がシステムの位相メモリ転送能力を用いて
より高速度の多数ワードモードでメインメモリ30と通
j信する。装置速度がメモリと効率的に整合することに
よつて、入力/出力モジユール10の転送速度がより高
くなる。第12図を参照して、入力/出力モジユール1
0のモジユラ化はアダプタの使用によつて達成される。
個々のアダプタを次に述べる。PcアダプタA(PC/
ADP−A)は第1PCC39への10周辺コントロー
ラ(PC)チヤネル能力を有し、3つの交換のためのラ
イン準備能力を有する。PCアダプタB(PC/ADP
−B):は第2PCC39への10周辺コントローラチ
ヤネル能力を有する。デイスクフアイルコントローラア
ダプタA(DFC/ADP−A)はデイスクコントロー
ラのみに用いられる第1PCC39への4デイスクフア
イルコントローラ(DFC)チヤネル能力を有する。
デイスクフアイルコントローラアダプタB(DFC/A
DP−B)はデイスクコントローラのみに用いられる第
2PCC39への4デイスクフアイルコントローラチヤ
ネル能力を与える。走査バスアダプタ(SC/ADP)
はデータ通信プロセサ(DCP)36およびデイスクフ
アイルオプテイマイザ(DFO)40を駆動するための
入力/出力モジユール10に走査パス能力を与える。デ
イスクフアイルオフテイマイザアダプタ(DFO/AD
P)は2デイスクフアイルオプテイマイザ(DFO)チ
ヤネル能力を与える。
データ通信プロセサアダプタA(DCP/ADP−B)
は第1データ通信プロセサ36に1データ通信プロセサ
(DCP)チヤネル能力を与える。
データ通信プロセスアダプタB(DCU/ADP−B)
はアダプタ毎に1DCPチヤネル能力を与える(DCP
2,3および4に対して3つが用いられる)。
メモリパスアダプタ(MB/ADP)は第2グループの
8メモリに動作のための入力/出力モジユール能力を与
える。スイツチインタロツクアダプタA(SWI/AD
P−A)は2メモリモジユール30aに動作能力を与え
る。
(第1の4メモリモジユール30aに対して2つが用い
られる)。スイツチンタロツクアダプタB(SWI/A
DP−B)は2メモリモジユール30aに動作能力を与
える。
(すべての追加的なモジユールに対して用いられる)。
この発明の入力/出力モジユール10の設計によつて得
られるモジユラ化によつて、入力/出力サブシステムは
種々のIOM/PCC組合せを含むことができ、そのた
め多数の構成の周辺装置とインタフエイスすることがで
きる。
この発明の入力/出力サブシステムと周辺装置とのイン
タフエイス接続の可能な形式の一例は第10図に示して
ある。図示のとおり、入力/出力サブシステムは、専用
のおよび/もしくは共用の交換を介して周辺装置と接続
されてもよく、ならびに/または直接に周辺装置と接続
されてもよい。特徴的には、入力/出力モジユール10
は最小の中央プロセサオーバヘツドを必要とするときシ
ステムユーザに最大のスループツトと融通性とを与える
ように設計される。
入力/出力モジユール10は、装置転送の初期、動作中
および終了において中央プロセス20と同期的に動作す
ることができる点が特徴的である。この同期モードの基
本はリクエスト「マツプ」概念である。要するに、入力
/出力モジユール10はメインメモリ30に存在する/
Oリクエストのマツプから得られる持ち行列である。入
力/出力動作をリクエストするとき、中央プロセサモジ
ユール20はメインメモリ30のマツプをリクエストに
入りうる範囲にまで変える。入力/出力モジユール10
は入力/出力リクエストを確認して開始するとき同一の
中央プロセス経路を「辿る」。マツプの存在するメイン
メモリ30は好ましい実施例では共用の質源であるので
、中央プロセサ20および入力/出力モジユール10は
同期的にマツプをアクセスしかつ処理する。一且入力/
出力モジユール10が始動されると、中央プロセサモジ
ユール20は新たなリクエスト、プロモスなどを処理し
持ち合わせ、それによつて装置の入力/出力モジユール
転送時間は同期し、中央プロセササイクルに悪影響しな
い。このタスクを効率よく達成するために、この発明の
入力/出力モジユール10は特定目的のハードウエアマ
ルチプロセサを含み、そのマルチプロセサはマツプを修
正する。この基本的ないくつもの利点のほかに、入力/
出力モジユール10はさらに種々の技術によつてシステ
ムスループツトを増大する。たとえば、システム干渉な
しにリアルタイム反復ループ(たとえばDFO4O)を
直接に取扱うことによつてシステムプロセツサオーバヘ
ツドを減じたり、または装置終了サイクルを取扱うこと
によつてシステムプロセツサオーバヘツドを減じるなら
ば、スループツトを増大しうる。あるいはまた、パツチ
(ラインプリンタ、カードリーダなど)、高速度(デイ
スクフアイノリ、データ通信(データ通信プロセツサ3
6)およびリアルタイム反復(デイスクフアイルオプテ
イマイザ40)であるデータスループツトの4つの主ク
ラスを特定的に取扱うように設計された入力/出力モジ
ユール10サブセクシヨンにデータ転送の働らきを分割
して割当てることによつて、シスアムループツトを増大
しうる。各サブセクシヨンは他のサブセクシヨンとは完
全に独立し、同期的に動作する。それらは独特であり、
それらの装置クラスに整合するようにバツフアされ、そ
れによつて入力/出力モジユール10はメモリサブシス
テムのメモリポートのスループツト能カへ効率的に運転
することができる。スループツトを増大するには、装置
の転送経路が入手可能になつたとき(デフアードパイン
デイングと称する)、入力/出力モジユール10が装置
の転送経路を選択することができるようにすれば,よい
。第13図に示すごとく、装置がジヨブを始める準備状
態になるまで、入力/出力モジユール10と装置との間
のデータ経路のバインデイングが遅延されさえすれば、
最大スループツトが実現されうる。
たとえば装置D2が始動されるべきであるならば、プロ
セスをD2に接続するに必要な経路は2つの入力/出力
サブシステム(1/Oサブシステム1および2)間なら
びに各入力/出力サブシステム内のチヤネル(Aおよび
BまたはCおよびD)間の選択を含む。もしも経路がプ
ログラムによつて予め選択されているならば、装置は準
備されているが予め選択されている経路は存在しない、
そのような状態が生じうる。それゆえ、代替の経路が事
実上存在しないならば、リクエストの実行は不必要に遅
延される。経路をプログラムによつて遅延バインデイン
グすれば、実際に装置が始動されるまでジヨブを始める
中央プロセツサモジユール20は動作しなければならな
い。
このことは中央プロセシングおよび入力/出力サブシス
テムの両者の並列動作を減じるので、入力/出力モジユ
ール10が経路選択をより効率的に管理することができ
る。したがつて入出力動作を達成するに必要な全システ
ムプロセサ時間は、中央プロセサモジユール20がレベ
ル1メモリの入力/出力リクエストを構成し待合わせる
に要する時間に制限される。一旦待合わせられると、入
出力リクエストは、選択された装置への経路が入手可能
になるや否や中央プロセツサモジユール20機器に独立
の入力/出力モジユール10によつて動作される。中央
プロセツサモジユール20が入出力リクエストを待合わ
せすることができるように、さらに入出力モジユール1
0が経路とサービスリクエストとを選択することができ
るように、ユニツトテーブル(UT)ワード(このワー
ドは入出力リクエストのために用いられるべきチヤネル
を記述する)のリストおよび入出力制御プロツク(0C
B)ベースアドレスポインタの表(持ち行列見出しおよ
び持ち行列追跡表)は始動(冷始動)時にレベル1メモ
リヘロードされなければならない。
これらの表によつて、各入力/出力モジユール10はそ
れがサービスしうる装置と交換装置の順位または優先と
を知ることができるとともに、それはリクエストを待合
わせるために中央プロセツサモジユール20によつて用
いられる機構である。リクエストが処理されたとき(す
なわちスタート入出力処理によつて入力/出力モジユー
ル10がデータ転送をしなければならないとき)、中央
プロセツサモジュール20は次の動作を達成しなければ
ならない;(a)ジヨブを完了するに必要な動作を明瞭
に規定する単一のあるいは多数のリクエストを構成する
こと;(b)レベル1メモリヘリクエストをストアする
こと、および(c)リクエストがストアされているレベ
ル1ロケーシヨンのジョブリクエストをサービスするこ
とができる入力/出力モジユールを報知すること。入力
/出力モジユール10がリクエストをサービスするため
に読取られるまで、リクエストはレベル1メモリ内に維
持される。
入出力のための全てのリクエストはホームアドレス(H
A)レベルと称されるところで行なわれる。すなわち、
入出力を実行するようにリクエストする各プロセツサは
ユニツト表(UT)のインデツクスとして用いるための
ユニツト指示(UD)数を特定しなければならない。ユ
ニツト表が用いられて、UD数はリクエストされた装置
のリクエストを待合わせる。各入出力リクエストが終了
すると、IOCBソフトウエアアテンシヨンビツトかま
たは状態待合せ見出し(SOH)インタラプトビツトの
いずれかの状態は、入力/出力モジユールが中央プロセ
ツサ20に終了した状態を知らせるかどうかを決定する
。それゆえ、一旦リクエストが待合わされてしまうと、
システムソフトウエアは入出力リクエストの完了を待つ
ている間他のタスクを達成する準備ができる。好ましい
実施例では、入力/出力モジユール10の転送速度は入
力/出力モジユール10のモジユラ構成とシステムメモ
リ速度とに依存する。
第14図は入力/出力モジユール10の転送速度と前述
のすべてのモジユラリテイアダプタとの組合わせを示す
ものであり、位相1.5マイクロ秒サイクルメモリシス
テムを用いる。第15図には第13図に示された入出力
サブシステム構成に必要な入力/出力サブシステムマツ
プ(IOSM)312のダイヤグラムを示す。第15図
に示すごとく、IOSM3l2は、ホームアドレス(H
A)314、ユニツト表(UT)316、頭318と尾
320とによつて規定される待合わせ表(0QH,I0
QP)一、状態待合わせ見出し(SQH)332、およ
び入力/出力制御プロツク(10CB)324を含む。
次のパラグラフではこれらのエレメントを説明する。H
A3l4は入力/出力モジユール10との通信に用いら
れる基本的ソフトウエア構成ワードである。
HA3l4は差本人出力インストラクシヨンフイールド
を含み、それはデコードされたときIOM論理が0M動
作を開始するように条件づける。HAワードはレベル1
メモリアドレスロケーシヨンにストアされる。HAワー
ドのフイールドは第16図に示され、第1表に規定され
る。UTワードは入出力サブシステムの各周辺装置(最
大255個の装置)に必要である。
各UTワードは入出力リクエストとして働らくために0
M10によつて用いられるメインエレメントである。交
換のための各UTワードは、第1ユニツト指定(FUD
)および次のユニツト指定(NUD)数ならびに入出力
リクエストのために用いられる装置形式を表式化した関
連チヤネル数基本アドレスを含む。種々のフイールドは
第17図のUTに示され、第2表に定義される。以上は
装置を交換するためにのみ適用される。
入力/出力待合わせヘツド(0QH)および入力/出力
待合わせテール(IOQT)のフオーマツトと定義とは
第18図および第19図ならびに第3表および第4表に
それぞれ示される。
状態待合わせ行列(SQ)はIOMによつて連結された
終了10CBから成る待合をせ行列である。
リクエストが終了したとき、IOMlOはIOCBを実
行し、終了状態を10CBの第5ワードフイールドに挿
入する。0CBはユニツト待合わせ行列から外され、S
Qに連結される二人力/出力コントロールワード(IO
CW′)のソフトウエアテンシヨンビツトが(ソフトウ
エアによつて)セツトされるならば、またはSQHのイ
ンタラプトビツトがセツトされると同時にIOCBがS
Qに連続されるならば、チヤネルインタラプト信号はI
OMlOによつて中央プロセツト20に送信される。
チヤネルに関連しないエラーが検出されるとき、IOM
lOはIOMエラーインタラプト信号をチヤネルインタ
ラプトへではなく中央プロセツサ20へ送信する。第2
0図を参照して、状態待合わせ行列見出し(SQH)は
、IOMlOのSQレジスタによつて割当てられている
各10M10に割当てられる。
SQHはSQのモニタとして働らき、待合わせ行列を建
設しアクセスするために0M10によつて用いられる。
リクエストが終了すると、SQHはロツクされ且つフエ
ツチされ、零条件(ビツト41りセツト)に対してテス
トされる。零条件が検出されるならば、終了10CBの
アドレスはSQHのヘツドおよびテールフィールドの両
者にストアされ、零ビツトはセツトされる。零ビツトの
組が検出されるならば、終了10CBのアドレスは最後
の終了10CBの次のリンク(NL)フイールドに挿入
されるとともに、SQHテールアドレスフィールドにも
挿入される。SQHの種々のフイールドは第5表に示す
。好ましい実施例では、第21図に示された10CBは
6個(またはそれ以上)の51ビツトワードのプロツク
である。
これらのワードは、サービスのためのリクエストを始め
るために、ならびにサービスのためのリクエスト、リク
エストのリンクおよびリクエスト終了状態を関連させる
ために用いられる。リクエストが終了したとき、入力/
出力モジユール10のセクシヨンはリクエスト挿入を達
成し、リクエスト終了ビツトを能動チヤネルスタツク(
ACS)へ挿入する。IOCBを実行する入力/出力モ
ジユール10はIOMlOから適切な結果デスクリプタ
情報を取出し、最終のデスクリプタ(RD)を形成する
ために結果デスクリプタ情報を用い、RDワードを0C
Bの第6ワードフイールドにストアする。終了されたI
OCBは状態待合せ行列(SQ)に連結される。終了を
完了するためにQH表の待合わせ行列ヘツドと待合わせ
行列テールとは零にセツトされ、このことがユニツトか
らの最後のリクエストであるならば、4装置のUTワー
ドはロツクされずにストアされる。さらにリクエストが
あるならば、次の10CBのアドレスがQH内へ挿入さ
れる。
10CBの種々のフイールドは第6表に定義さ注意;ト
ランスレータは最終アドレスとして(領域基本アドレス
+バツフア長さ)を加える。
結局、第22図に示すIOCWがIOCBの第4ワード
である。入力/出力コントロールワード(IOCW)は
標準コントロールフイールド(SCF)を含み、それは
データサービスセクシヨン(たとえばIOMlOのメモ
リ保護ビツト、メモリ禁止ビツト、およびソフトウエア
テンシヨンビツト)に有用な情報を含む。10CWの種
々のフイールドは第7表に定義してある。
さて、入力/出力モジユール10の一般的な機能説明に
戻つて、入力/出力モジユールと関連の周辺制御キヤビ
ネツト39とはレベル1ストーレツジ媒体と全ての周辺
ユニツト(中央プロセサに独立)との間の転送データを
制御するために用いられる。
入力/出力モジユール10は中央プロセサ20からイン
ストラクシヨンを受信し、関連の周辺コントローラ38
に関連してこのインストラクシヨンを実行する。データ
転送を終了したとき、入力/出力モジユール10は終了
インストラクシヨンを発生し、入力/出力モジユール1
0に設けられた指定スタツク領域に終了情報をストアす
る。好ましい実施例では、各入力/出力モジユール10
は28個以下の周辺制御(PC)38からの28個以下
の反時的な入力/出力(1/O)動作を行なうことがで
きるとともに、組合わされた最大255の周辺装置、4
個のデータ通信プロセツサ36および4個のデイスクフ
アイルオプテイマイザ(DFO)40を収容しうる。物
理的には、各入力/出力モジユール10は第23図に示
すごとく次の6つの機能に分けて考えることができる;
(1)トランスレータ72、(2)メモリインタフエイ
スユニツト(MIU)74、(31走査インタフエイス
(SCI)76、(4)データ通信プロセツサメモリイ
ンタフエイス(DCI)78、(5)周辺制御インタフ
エイス(PCl)80、および(6)デイスクフアイル
インタフエイス(DFI)82。トランスレータ72は
特定の固定配線されたマイクロシーケンスを達成するこ
とができる特定目的のプロセツサである。
入力/出力モジユール10の機構は入出力リクエストを
行ない、周辺装置を始動するに必要なリクエストデスク
リプタを発生し、リクエスト終了および故障状態条件を
中央プロセツサ20にりポートする。トランスレータの
動作は或る明碓なフラグ条件に応答するようにされる。
メモリインタフエイスユニツト(MIU)74は入力/
出力モジユール10と最大8個のシステムレベル1メモ
リコントローラ(MCM)との間のレベル1ないしレベ
ル3の全てのデータ転送を達成する。
MIU74はレベル1メモリエラー条件を検出し、それ
らを入力/出力モジユール10のリクエスト機能ユニツ
トへ、および用いられたトランスレータ72にりポート
する。メモリインタフエイスユニツト72は予め割当て
た優先にしたがつて入力/出力モジユール10の機能ユ
ニツトによつてレベル1メモリアクセスリクエストを管
理する。第1優先はデータサービスリクエストに与えら
れ、しかるに第2優先はデータ通信プロセツサインタフ
エイスリクエストに与えられる。第3優先はトランスレ
ータリクエストに与えられる。走査インタフエイスユニ
ツト(SCI)76はデータ通信プロセツサメセリイン
タフエイス2(DC)78を含み、4つのデータ通信プ
ロセツサ(DCP)36と4つのデイスクフアイルオプ
テイマイザ(DFO)40とに通信するために走査バス
を与えるに必要なストーレツジと制御とを含む。
4つのDFO4Oに対する走査バスは2つの入力/出力
モジユール10間で共用される。
トランスレータR2は走査コントロールワードを走査イ
ンタフエイスユニツト(SCI)76に転送して走査動
作を始める。もしも走査出力が必要ならば、トランスレ
ータ72は走査インタフエイスユニツト86による走査
動作の完了によつて知らされる。もしも走査入力動作が
完了するならば、トランスレータ72は走査入力情報を
トランスレータのBレジスタと称されたレジスタにロー
ドする。もしもエラーが走査インタフエイスユニツト7
6によつて検出されるならば、走査インタフエイスから
のエラー情報はトランスレータ72のFレジスタと称さ
れるレジスタにロードされる。走査インタフエイスユニ
ツトによつて検出されたエラーは不準備エラーとモジユ
ールエラ一とであり、不準備エラーはデイスクフアイル
オプテイマイザ40またはスキヤンバツト79によつて
アドレス指定されたデータ通信プロセツサ36が3マイ
クロ秒以内に準備信号を発生して応答しないときに生じ
、゛モジユールエラ一はデイスクオプテイマイザ40ま
たは走査パツト79によつてアドレス指定されたデータ
通信プロセツサ36が走査出力または走査入力動作のエ
ラーを検出するとき生じる。データ通信プロセツサメモ
リインタフエイス(DCI)78はSCI76の一部で
あり、4つのデータ通信プロセツサ(DCP)36のメ
モリバス47とインタフエイスするに必要なストーレツ
ジ能力と制御とを有する。
メモリ転送動作は次のものを含む:(a)フエツチ(1
ワード):(b)フラツシユバツクでストア(1ワード
):および(c)フラツシユバツクで保護ストア(1ワ
ード)。DCIメモリリクエストに対するDCI78ま
たはメモリインタフエイスユニツト74によつて検出さ
れる全てのエラーはメモリリクエストを始めたデータ通
信プロセツサ36に転送される。
周辺制御インタフエイス(PCI)80によつて、入力
/出力モジユール10は1ないし20個の周辺コントロ
ーラ(PC)38とインタフエイスすることができ、ま
たこれらのコントローラとトランスレータ72によつて
指示されたメモリインタフエイスユニツト(MIU)7
4との間のデータ転送を調整することができる。
好ましい実施例では、各周辺コントローラ(PC)38
はデータを転送するために1マイクロ秒廿−ビスサイク
ルを必要とする。サービスサイクルの重畳によつて、お
よびローカルメモリウインドウの使用によつて(それは
、もしもより高い優先が必要でないならば、特定の動作
が達成されうる1クロツク時間)、全ての20チヤネル
を多重化することができるOデイスクフアイルインタフ
エイス(DFI)82によつて入力/出力モジユール1
0は8個以下のデイスクフアイル制御(DFC)81と
インタフエイスされる。
DFI82は2つの独立したモジユーラセクシヨンを含
み、各セクシヨンは4つのチヤネルを取扱うことができ
、各チヤネルは1つのDFC8lとインタフエイスする
。各セクシヨンはDFCによつて16ビツトデータバス
を介して転送時間中2個の8ビツトキヤラクタの転送速
度でデータ転送を制御する。レベル1転送速度は転送時
間中2ワード(2×48ビツト)である。各データチヤ
ネルはローカルデータメモリ(LMD)と称される4ワ
ードデータバツフア領域を含む。トランスGレータ72
からのコマンドによつて、デイスクフアイルインタフエ
イス80はその関連のデイスクフアイル制御(DFC)
81とともにリクエストを始める。データ転送動作中、
デイスクフアイルインタフエイス80はメモリインタフ
エイズユニット(MIU)74と通信して、レベル1ア
クセスを得る。ジヨブが終了すると、デイスクフアイル
インタフエイス80はトランスレータ72に終了状態を
知らせ、その後再始動を持ち合わせる。メインメモリ3
0と255以下のシステム周辺装置との間の全ての制御
ワーク流れはメモリインタフエイスユニツト74と称さ
れるIOMサブセクシヨン、トランスレータ72と称さ
れるIOM制御サブセクシヨンおよび4つの210Mサ
ブセクシヨンの1つを介して行なわれ、各10Mサブセ
クシヨンは独特にバツフアされてそれに割当てられたク
ラスのデータ転送に整合する(第24図参照)。
トランスレータ72サブセクシヨンは任意のジヨブリク
エストの制3御をデータクラス(たとえばバツチ、高速
度データ通信またはリアルタイム相互動作)に依存する
これら4つのサブセクシヨンの1つに送る。しかるに、
メインメモリ30と周辺装置との間の全てのデータ流れ
は適宜のデータ転送サブセ3クシヨンおよび/またはM
IU74を介して行なわれ、トランスレータ72は含ま
れず、追加的なジヨブリクエストを制御することができ
る。しかしながら、データ転送が終了すると、トランス
レータ72はジヨブ終了に制御が与えられ、4メインメ
モリ30への制御流れは適宜のデータ転送サブセクシヨ
ン、トランスレータおよびメモリインタフエイスユニツ
ト74を介して行なわれる。各データ転送りラスに割当
てられる曲型的な装置は第25図に示される。
さらに第25図には以下に使用するデータ転送サブセク
シヨン名称が示される。次に、各サブセクシヨンのイン
タフエイス能力と典型的な周辺機構との物理的な関係と
を簡単に説明する。説明は第3図を参照して行なわれ、
その図は2つの最大構成人力/出力モジユール10と適
宜の交換が用いられるとき与えられるインタフエイス能
力を図示する。最大28の周辺コントローラ38(DF
OおよびDCP)は単一10M10に接続されうること
に注意されたい。単一10Mの周辺制御インタフエイス
(PCI)80はユーザ要件に依存した1つまたは2つ
のインタフエイスセクシヨンを含む。各セクシヨンは1
0チヤネルインタフエイス能力を有し、全最大容量は入
力/出力モジユール10毎に20チヤンネルである。好
ましい実施例では、周辺制御インタフエイス(PCI)
80の各10チヤネルセクシヨンは単一周辺制御キヤビ
ネツト(PCI/PCC)39を動作し、それは第2図
のごとく、5つ以上の大形コントローラチヤネルと5つ
以下の小形コントローラチヤネルを含む。
各PCCキヤビネツト39において、大形チヤネルはO
ないし4と番号付けされ、小形チヤネルは5ないし9と
番号付けされる。5つの小形制御の組合わせはPCI/
PCCキヤビネツト39に収納される。
大型制御9単一ライン制御およびMTC(すなわち磁気
テープ制御)は周辺ユニツトに直接に接続され、磁気テ
ープ制御(MTC)のみの場合交換を介して接続される
。PCCキヤビネツト39の任意の用いられないチヤネ
ルは空のままである。周辺匍脚インタフエイス80は1
マイクロ秒データサービスサイクルを発生して重畳する
ことによつて、および前述のごとく内蔵ローカルメモリ
の「ウインドウ」を用いることによつて全20チヤネル
を多重化する。典型的な構成では第3図に示すごとく、
2つの入力/出力モジユール10と適宜の交換(4×1
6)とを用いることによつて、64個の磁気テープユニ
ツト(MTU)の入力/出力モジユール10のアクセス
が可能となる。第3図に示すごとく、入力/出力モジユ
ール1(10M1)は追加的な非交換磁気テープユニツ
ト83へのアクセスを有するものとして示され、両入力
/出力モジユールは単一ライン制御(SLC)87を介
してSPOユニツト85へのアクセスを有するものとし
て図示される。デイスクフアイルインタフエイス(DF
I)82もまたユーザの要求に依存して1つまたは2つ
のインタフエイスセクシヨンを含む。
各セクシヨンは4チヤネルのインタフエイス能力を有し
、全デイスクフアイルチヤネル能力は入力/出力モジユ
ール10毎に8チヤネルである。デイスクフアイルイン
タフエイス(DFI)82の各4チヤネルセクシヨンは
単一のDFI/PCCキヤビネツト81を動作しうる。
このキヤビネツトはデイスクフアイルまたはデイスクパ
ツクのいずれかに用いられる大形チヤネル(最大4)を
含む。チヤネルは周辺装置へ直接にまたは交換を介して
接続される。第3図の典型的な構成では、2つの最大D
FI構成10M(各デイスクフアイルおよびデイスクパ
ツクに対しIOM毎に8チヤネル)および適宜の交換(
2×24デイスクフアイル、2×16デイスクパツク)
を用いることによつて、80デイスクフアイル電子工学
的ユニツト(DFEU)(400デイスクフアイルスト
ーレツジユニツト)および64デイスクパツク(DPD
)の入力/出力モジユール10(IOMlまたは10M
2のいずれか)によるアクセスが可能となる。
走査インタフエイス(SCI)76は2つのセクシヨン
、すなわちDFO走査インタフエイス76aおよびDC
P走査インタフエイス76bから成る。
デイスクフアイルオプテイマイザ(DFO)走査インタ
フエイス76aは4つ以下のDFO4Oの走査入力およ
び走査出力制御を走査バスを介して与える。第2入力/
出力モジユール10が用いられるならば、DFO走査バ
スは2つのIOMによつて共用される。DCP走査イン
タフエイス76bは走査出力制御だけを与え、それらは
4以下のDCP36と走査バスを介して通信する。走査
インタフエイス76はDCP走査入力機能のためには用
いられず、このDCP走査入力機能はデータ通信プロセ
サ36によつて始められる。これらの機能を行なうため
に、データ通信プロセサ36はメインメモリ30と直接
にまたはメモリインタフエイス74を介して通信する。
DCP走査バスは第2入力/出力モジユール10によつ
て共用されない。データ通信インタフエイス(DCI)
78はデータおよび制御インタフエイスを与えて入力/
出力モジユール始動走査出力動作を行ない、データイン
タフエイスのみを与えてDCP始動走査入力動作を行な
う。
4以内のデータ通信プロセツサ36に対して各入力/出
力モジユールにはインタフエイスが設けられる。
システムの2つの入力/出力モジユール10を使用する
ことによつて、8つのデータ通信プロセサ36とのイン
タフエイスが可能になる。第26図は、入力/出力モジ
ユ〒ル10、メモリモジユール30aのための制;モジ
ユール72およびこの発明のシステムの中央プロセツサ
モジユール20間の典型的なインタフエイス構成を図示
する。
次にメインメモリ30を有する入力/出力モジユール1
0のメモリインタフエイスサブセクシヨン74のインタ
フエイス能力の説明と、システムの中央プロセツサモジ
ユール20を有する入力/出力モジユール10のトラン
スレータサブセクシヨン72の説明とを簡単に行なう。
メモリインタフエイスサブセクシヨンは第26図に示す
ごとく8つのインタフエイス領域を含む。各インタフエ
イス領域は異なるメモリ制御モジユール(MCM)72
に用いられ独特のメモリバスを介して、それに接続され
る。接続されたIOM/MCMインタフエイスはメモリ
/ユーザペアと称す。同様な能力は中央プロセサモジユ
ール(CPM)20に存在し、この中央プロセサモジユ
ール(CPM)20はまた8個のインタフエイス領域を
含む。各CPMインタフエイス領域は別のMCM72に
用いられ、それに独特のメモリバスを介して接続される
。配線されたCPM/MCMインタフエイスはまたメモ
リ/ユーザパアと称する。好ましい実施例では、MCM
72のインタフエイス能力は8メモリバスであり、その
各々は唯一の入力/出力モジユール10または中央プロ
セツサモジユール20に接続される。それゆえ、中央プ
ロセツサモジユール20と任意のMCM72に接続され
る入力/出力モジユール10と最大合計数は8に限定さ
れる。この発明のシステムに含まれるMCM72の最大
数もまた8に限定される。この限定は、システムの各入
力/出力モジユール10または中央プロセツサ20の8
個のMCMに用いられるインタフエイス領域によるもの
である。図示の典型的なメモリバス構成は2つの入力/
出力モジユール10、2つの中央プロセツサモジユール
20および2つのメモリ制御モジユール(MCM)72
の使用を示す。この構成は全部で8つのメモリ/ユーザ
ペア(ユーザOないし3に対するMCMOおよびユーザ
0ないし3に対するMCMl)を与える。後述のメモリ
ストーレツジユニツト(MSU)はMCMγ2と通信す
ることができ、その最大数もまた図示されている。これ
らのMCMの各各はこの発明の好ましい実施例において
262,144ワードのメモリ(4つのMSUの各々が
65,536ワード)をアクセスすることができる。各
入力/出力モジユール10または中央二プロセツサモジ
ユール20は、第26図に示すごとく接続されるとき、
524,288ワードのメモリをアクセスすることがで
きる。この発明のシステムの入力/出力モジユール10
と中央プロセツサモジユール20とのインタフエイスは
インタラプトバスのみから成る。
入力/出力モジユール10のトランスレータサブセクシ
ヨン72は中央プロセツサモジユール20によつてジヨ
プリクエストをバスを介して知らされ、トランスレータ
72は中央プロセツサモジユール20にチヤネルに関連
しないIOMエラーをバスを介して知らせる。さらにト
ランスレータ72は中央プロセツサモジユール20にバ
スを用いて、(1)ソフトウエアによつてリクエストさ
れたとき入力/出力ジヨブ終了を、および(2)ベクト
ルまたはデイスクパツクによる状態変化を知らせる。イ
ンタラプトパスはシステムの全ての入力/出力モジユー
ル10および中央プロセサモジユール20に共通である
。好ましい実施例では、入力/出力モジユール10はレ
ベル1メモリの「ジヨブマツプ」を使用するために入力
/出力転送の始め、動作中および終了において中央プロ
モサモジユール20と同期也に動作するように設計され
る。
前述のとおり、「ジヨブマツプ」は基本的には5つのソ
フトウエアから成るエレメントを有し、それらはジヨブ
リクエスト、周辺装置および0Mチャネルを規定する。
一般的に、マツプエレメントは中央プロセツサモジユー
ル20にその1PM/周辺資源およびそれらの状態を知
らせる。
必要なとき中央プロセツサモジユール20は「ジヨブマ
ツプ」の待合わされたジヨブリクエストをその範囲内で
代替し、入力/出力モジユール10をインタラプトして
サービスをリクエストする。入力/出力モジユール10
は「ジヨブマツプ」をアクセスして入力/出力ジヨブを
決定し、かつそれを始める。「ジヨブマツプ」は入力/
出力モジユール10と中央プロセサ20との共用資源で
あるので、IOM転送時間は中央プロセツサモジユール
20による新たなリクエストの連続的処理と待合わせと
によつてマスクされ、それゆえシステムスループツトは
最大となり、中央プロセツサモジユール時間は最小とな
る。入力/出力モジユール10はまたリクエストされた
装置に対する経路選択(この選択は一般的に使用される
経路のプログラムによる予め定めた選択に対するもので
ある)を管理する。
この経路選択は次の事態の発生を防ぐ。すなわち、(1
)リクエストされた装置は準備状態にあり、(2)予め
選択された経路は存在せず、(3)代替の経路が存在す
るが、プログラムによつて予め定められた選択の故に用
いられえない。これらの事態は一般的には、中央プロセ
ツサモジユール20と入力/出力モジユール10とによ
つて得られなければならない。入力/出力モジユール1
0はこの発明のシステムの経路選択を管理するので、中
央プロセツサモジユールによるジヨブ始動が終了する。
入力/出力モジユール10は、リクエストされた装置と
その装置の任意の経路とが得られるならば、ジヨブリク
エストを始める。好ましい実施例では、入力/出力モジ
ユール10の設計は大型のエラー検出論理とともに行な
われ、このエラー検出論理は、入力/出力モジユール1
0およびその他のメインフレームモジユール間、入力/
出力モジユール10内の、ならびに入力/出力モジユー
ル10および周辺装置間の制御ワードおよびデータの流
れをモニタする。
特に注目すべきは、全てのメモリ動作の集積化を妨げな
いことである。一般に、エラー検出ハードウエアはパリ
テイチエツクおよび発生回路、間違つたコマンド、条件
および制御条件を検出するための残余のチエツク回路、
ならびにメモリ転送、走査バス動作および内部10M転
送のための休止回路を含む。好ましい実施例では、入力
/出力モジユール10の設計はフエイルソフトの主な概
念とともに行なわれねばならず、その概念はエラー検出
、エラー報知および転送経路冗長である。
注目すべきは、広範囲のエラー検出を行なうことであり
、それはフエイルソフトシステムの基本である。入力/
出力モジユール10は、装置一データ一転送レベル以下
でモジユール相互間/モジユール内部において入力/出
力モジユールの動作流れをモニタするよう組織された大
規模エラー検出論理を含む。生目すべきは、全メモリ動
作の集積化を妨げないことである。この考えによつて、
エラー検出が直ちに生じて回復するとともに、メインメ
モリ30の有効性が保護され且破壊されない。この考え
は効率的なフエイルソフトシステムの基礎となる。人力
/出力モジユール10のエラー検出ハードウエアは、メ
モリデータ転送のパリテイ(チエツクおよび発生);各
PCI8O、DF82、走査バスおよびDCI78デー
タサービスサブセクシヨンのパリテイ(チエツクおよび
発生);各サブセクシヨン内の内部ローカルメモリスタ
ツクのパリテイ(チエツクおよび発生);各サブセクシ
ヨンの制御論理内の間違つたコマンド、条件および制御
状態の連続的な検出:各サブセクシヨンの全ての算術演
算のための剰余のチエツク;メモリ転送動作の中止;走
査バス動作の中止:トランスレータ72と全てのデータ
サービスサブセクシヨンとの間の内部転送の中止とを含
む。さらにメモリ転送のために入力/出力モジユール1
0によつて発生された制御ワードはメモリコントローラ
72によつて有効とされる。好ましい実施例では、メモ
リ転送は1ビツトエラ一検出および2ビツトエラ一検出
によつて行なわれる。上述の検出論理の組織は第27図
に示される。検出ハードウエアは、サブセクシヨンレベ
ルで入力/出力モジユール10内のデータ制御流れとと
もに、楕円内に示される。唯一のDFIサブセクシヨン
が示されていjることに注意されたい。
実際には、検出論理を備えた第2の同様なりFIサブセ
クシヨンが設けられる。流れ図は、リクエスト制御情報
のメインメモリ30からのフエツチで始まる。
入力/出力モジユール10からのフエツチコマンドはI
OMlOのMCMアクセスマスクに対して先ずチエツク
され、次にMCMによつてパリテイがチエツクされる。
全ての後続のメモリ動作はこれらの同一テストをする。
データは入力/出力モジユール10に送信され、先ず1
ビツト訂正、2ビツト検出チエツクが行なわれる。制御
データは次にIOMlOにおいてパリテイチエツクされ
る。このことを終えると、データはリクエストトランス
レータセクシヨン72へ送信される。トランスレータ7
2は、このデータをそのワークレジスタ内で試験すると
ともに内部バス転送を照合するパリテイチエツクを行な
う。一旦トランスレータ72が、これは新たなリクエス
トを始めるためのコマンドであると決定すると、それは
マツプポインタスタツクから適宜の基本アドレスを取出
し、その剰余をチエツクする。それは始動コマンドから
基本アドレスヘユニツト指定(UD)フイールドを加え
、剰余チエツクによる結果を確認し、次にこのアドレス
からのメモリアクセスをリクエストする。メモリインタ
フエイスユニツト(MIU)74はこのアドレスを受信
し、内部転送を確認するための剰余をチエツクし、適宜
のコントロールワードを発生し、このリクエストを入力
/出力モジユール10からメモリ制御へ送信する。取出
されたデータは前述した全てのチエツクを経てトランス
レータワークレジスタに戻る。再び、このデータはトラ
ンスレータ72によつて検査され、適宜のフイールドが
基本アドレスへ加えられ、剰余チエツクされ、トランス
レータ72がIOMlOのデータサービスサブセクシヨ
ンに送信されるべきリクエストデスクリプタ(RD)を
発生するに充分なデータを有するまで、追加的な制御デ
ータがメインメモリ30から取出される。
メインメモリ30からの第1優先はリクエストデスクリ
プタを建設するためにアクセスされる。それゆえ、初期
設定されるべきデスクリプタの確認および有効性はジヨ
プが中央プロセサモジユール20によつて最終組合わせ
チエツクでリクエストされたときと矛盾しない。たとえ
ばデイスタフアイルからロードされたリクエストデスク
リプタは適宜のDFIサブセクシヨンへ送信される。こ
のデスクリプタをそのリクエストレジスタで受信したと
き、DFI82はメモリアドレスおよびパイトカウント
フイールドに関し剰余チエツクを行ない、さらに制御フ
イールド組合わせの有効性をチエツクする。これらのチ
エツクを経て、デイスクリプタは関連のローカルメモリ
チヤネルロケーシヨンにストアされ、デイスクコントロ
ーラはCDLシーケンスの移送によつて始動される。デ
ータを入力/出力モジユール10へ転送するためのデイ
スクフアイルからの後続の各リクエストによつて、この
デイスクリプタはローカルメモリから取出され、リクエ
ストレジスタにストアされ、剰余はメモリアドレスおよ
びバイトカウントフイールドに関してチエツクされ、情
報は条件によつて且パリテイによつて確認され、データ
バツフアはパリテイチエツクされる。バイトカウントフ
イールド、制御情報およびデータバツフアはすべて更新
される。剰余およびパリテイビツトは更新され、リクエ
ストデスクリプタはローカルメモリにストアされる。次
のデータリクエストにおいて、デスクリプタは検索され
、同じチエツクサイクルを経る。データバツフアを充た
すに充分なリクエストが受信されるとき、DFI82は
メモリストアリクエストをMIU74のメモリアドレス
ロケーシヨンへ送信する。
MIU74はアドレスを受信し、剰余をチエツクして内
部転送バスを確認し、適当なコントロールワードをメモ
リコントローラ72に送信する。データはバツフアから
MIU74へ転され、パリテイチエツクは内部データバ
ス転送を確認し、そのデータはパリテイとともにメモリ
へ送信される。リクエスト設定およびデータサービス取
扱いのこのようなシーケンスは連続的に各チヤネルで処
理される。流れの中の任意の点におけるエラーによつて
、その動作は休止され、特定の結果デスクリプタが発生
されて、故障を見つける。要するに、エラー検出はシス
テムのまたはからのデータキヤラクタを移す全動作に対
して行なわれる。特に注目すべきは、メインメモリ30
の有効性はメモリアドレスの算術演算動作の剰余チエツ
クによつて、およびメモリ制御のメモリアクセスチエツ
クによつて確認され、そのためフエイルソフト概念は確
認によつて始まる。好ましい実施例では、入力/出力モ
ジユール10および周辺コントローラ38によつて検出
される入力/出力エラーはIOMlOによつて処理され
る。
これらのエラーはIOMlOによつて次の2つのカテゴ
リに分けられる:すなわち(1)チヤネルまたはリクエ
ストに関する故障、および(2)モジユールに関する且
リクエストに関しない故障である。全ての故障はレベル
1メモリに設けられた状態待合わせ行列(SQ)のエラ
ーリポートとしてストアされる。リクエスト故障は結果
デスクリプタ(RD)フオーマツトでストアされ、モジ
ユール故障はフエイルレジスタフオーマツトでストアき
れる。インタラプトは全てのフエイルレジスタエントリ
に対して発生されるが、それはリクエスト入力/出力コ
ントロールワード(IOCW)または状態待合わせ行列
見出し(SQH)のビツト40にリクエストされた結果
デスクリプタエントリに対してのみ発生される。状態り
ポートエントリはフエイルソフトソフトウエアの診断動
作の基本となり、それは後述する。入力/出力モジユー
ルのフエイルレジスタ71はトランスレータ72へ特定
のl/0リクエストに関連しないエラーをりポートする
能力を与える。
フエイルレジスタ情報をりポートする方法は、[フエイ
ルユニツト」指定番号(フエイルUD番号二255)を
用いることによる。「フエイルUD」の使用を必要とす
るエラーが生じたとき、フエイルレジスタ内容はフエイ
ルユニツト指定の1/O待合わせ行列のヘツドによつて
示されたI/0制御プロツク(IOCB)の結果デスク
リプタ(RD)に設けられる。フエイルIOCBはフエ
イルIOCBの待合わせ行列から外され(フエイルIO
CBはリンクアドレス以外は空にされうる)、正常な終
了と同じような態様の状態待合わせ行列(SQ)にリン
クされる。エラーインタラプトはフエイルレジスタの使
用を必要とする全てのエラーに関してプロセツサに送信
される(第143図を参照されたい)。レジスタは第8
表に定義される。注目すべきは、IOMフエイルレジス
タは48ビツトのレジスタであり、特定のチヤネルまた
は装置に関連しないエラーに関する情報を含む。IOM
エラーインタラプトを生じるのはこの形式のエラーであ
る。故障が起り得、そして起つてしまつたなら、さらに
その結果それがすぐに検出されてりポートされるならば
、他の伝送路がサブシステム内に存在することが最も重
要である。
多数のメモリ、メモリコントローラ、CPおよびIOM
におけるモジユールレベルの冗長が存在する。IOMレ
ベルでは、全てのバスインタフエイスには接続の冗長が
ある(第28図参照)。図示の冗長は再構成によつて変
更されうる。入ル佃カモジユール10のモジユラ化は冗
長を高めるフアクタとして考えることができる。D.メ
モリサブシステム この発明の好ましい実施例のメモリサブシステムに戻ろ
う。
メモリサブシステム88はメインストーレツジを情報処
理システムに与える。メモリサブシステム88は2つの
形式のリクエスタ、のいずれか、すなわち中央プロセツ
サモジユール20または入力/出力プロセツサ10のい
ずれかによつて指示された情報ワードをストアしまたは
供給する。好ましい実施例では、メモリサブシステム8
8はメモリリクエスタスイツチ/インタロツク回路網9
0を介して最大8個のメモリリクエスタに結合された1
ないし8個のメモリモジユール30aによるモジユラ構
成である(第29図参照)。メモリサブシステム88は
、或るリクエスタのために達成された任意の動作はまた
任意の他のリクエスタのために達成されうるように同じ
態様で各リクエスタを働らかせることができる。メモリ
モジユール、30aは1または2個のメモリストーレツ
ジキヤビネツト(MCM)94を制御するメモリ制御モ
ジユール(MCM)92キヤビネツトから成る、或るメ
モリストーレツジキヤビネツト94を制御するメモリ匍
脚モジユール92は2−MSUメモリモジユール93と
して同定される。
メモリ制御モジユール92は2−MSU94を制御し、
4−MSUメモリモジユール95として同定される。各
メモリストーレシジキヤビネツト(MSC)94は2つ
の独立にアドレス指定可能な2ワイヤコアメモリストー
レツジユニツト(MSU)96を含む。好ましい実施例
では、各SU96は次のものを含む:65,536ワー
ド(393,216バイト)のストーレツジ容量を有す
るメモリストーレツジモジユール(MSM)98:MS
U96のTTL回路をMCM92のCTL回路とインタ
フエイスするためのメモリ論理モジユール(MLM)1
00;および各メモリストーレツジユニツト(MSU)
96のための独立メモリ電源ユニツトモジユール(MP
U)。
好ましい実施例では、メモリの最大の大きさは1,04
8,576ワード(6,291,456バイト)であり
、8個の2−MSUモジユール93および4個の4−M
SUモジユール95としてパツケージされ、それが1,
048,576ワードに等しい。完全なフエイルソフト
システムは少なくとも3個のメモリモジユール30aを
必要とする。メモリサブシステム88には3個のメモリ
モジユール構成があると考えられる。
これら3個の構成は、(a)1個のメモリ制御モジユー
ル(MCM)92および4個のメモリストーレツジユニ
ツト(MSU)96、(b)1個のメモリ制御モジユー
ルMCM96および2個のメモリストーレツジユニツト
MSU96、(c)1個のメモリ制御モジユール(MC
M)96および2個のメモリストーレツジユニツト(M
SU)96、または(d)故障時には1個のメモリ制御
モジユール(MCM)92および1個のメモリストーレ
ツジュニツト(MSU)96である。メモリサブシステ
ム88は高信頼性によつて故障の発生を最小にするよう
に設計される。
広範囲のエラー検出および論理リポートによつて故障の
早期発見が可能である。単一ビツトパリテイエラ一の自
動的な検出によつて、システムの中断が最小になる。モ
ジユラ設計、別々の電源および冗長バスの概念によつて
ソフト再構成が可能になる。メモリストーレツジユニツ
ト(MSU)96の故障の場合、システムはメモリ制御
モジユール(MCM)92に用いられるMSUを次の態
様で再構成する。4MSUメモリモジユール95は故障
したMSU96を含むキヤビネツトがMCM93に用い
られえなくなつたときMCM92に用いられる2つのM
SU96のみとともに動作するように再構成されたり、
または2MSUメモリモジユール93はMCM92に用
いられるMSU96とのみ動作するように再構成される
動作の優先的モードによつてはソフトウエアはエラー修
正期間中システムを制御することができる。プログラム
による休止ロードはオペレータによらずにマルチレベル
オペレータによらずにマルチレベルオペレーテイングシ
ステムを回復する。故障に影響されないユーザプログラ
ムは使用可能な資源を用いて中断点から再スタートする
。システム劣化はソフト再構成、早い故障分離修理およ
び検査によつて最少になる。好ましい実施例では、メモ
リ制御モジユール(MCM)92の特定の構成に対する
システム内の特定的な割当て順序は存在しない。
メモリモジユールアドレス指定範囲割当てはシステム要
件に基づき、メモリ制御ワードの使用によつて割当てら
れる。たとえばモジユール零(o)はMSU96を備え
るMCMであり;モジユール1は4個のMSU96を備
えるMCMである。サブシステムアロケーシヨンに関し
て、メモリ容量は指定されたリクエスタについて、たと
えばMCMO,l,2,3はリクエスタ0,1,2に用
いられ、しかるにMCM4,5,6はリクエスタ3,4
,5に用いられる、そのようなリクエスタについてこの
発明のマルチレベルオペレーテイングシステムによつて
プログラムに従いサブシステムへ配分される。好ましい
実施例では、メモリサブシステム88は8MHzのク頭
ノク速度で動作する。
アクセス時間は0.1マイクロ秒である。第1ワードの
システム読取りアクセス時間は1.750マイクロ秒で
ある。2以上の連続的なワードのための実効システム読
取りアクセス時間は代替的なMSU96およびメモリモ
ジユール30aを組合わせることによつて減少される。
このことによつて第2MSU96はメモリサイクルを準
備し始めることができ、しかるに第1MSU96はその
ワードを転送し終つている。したがつて第2、第3また
は第4ワードのメモリサイクルオーバヘツドタイムはマ
スクされる。マルチワード転送(これは位相合わせとし
て知られる)において、ワードは最大4個が一度に転送
され;1ワードは各クロツクサイクルで転送される。
位相調整されうるワードの最大数は連続的に伝送されう
るワード数によつてセツトされ、MCM92によつて制
御されているMSU96の数(N)に限定される;2−
MSUモジユール93に対してN=2であり、4−MS
Uモジユール95に対してN=4である。もしも.リク
エスタワード長さが特定のMSM92に対する制限を超
、えると、MSM92は(情報をストアする場合)その
制限から使用可能なリクエスタから同一数のワードのみ
をリクエストし、あるいはその制限から使用可能なリク
エスタへ同一数のワードのみを送信する(データを取出
す)。MCM92の制限は次の態様で確立される。リク
エスタのスターチインクアドレスがMCM92から得ら
れるメモリ端部から7ワード以内であるときは、その制
限は単一ワード動作に等しい。第2に、スターチインク
アドレスがMCM92から得られるメモリの端部から7
ワードよりも大きいときはその制限はMCM92から得
られるMSU96の数に等しい。しかしながらMCM9
2の制限はコントロールワードを発生するとさには考慮
されなくてよい。たとえば、もしもリクエスタが6ワー
ド動作を望むならば、6ワード長フイールドを有するコ
ントロールワードが発生される。実際の転送ワード数は
前述のごとく決定され、メモリ制御モジユール(MCM
)92への追加的なリクエストが動作を完了するために
必要かどうかを決定するために、リクエスタは残余の転
送数のレコードを保持しなければならない。
好ましい実施例では、プログラムまたはソフトウエアに
よつて用いられる全てのワード(リクエスタワード)は
その長さが48ビツトである。
3つの追加的なビツトはタグビツトと呼ばれ、コード、
データまたは制御のいずれに用いられるかに関してワー
ドを同定する。
タグビツトはメモリの不適切な利用に対するハードウエ
アの保護を行ない、システムの多くの処理機能を制御す
るための手段としてハードウエアによつて用いられる。
情報がリクエスタからメモリ制御モジユール(MCM)
92に送られるとき、リクエスタは奇数パリテイを生じ
るパリテイビツトを、転送されている結果的に52ビツ
トワードとなるように、加える。メモリ制御モジユール
92は奇数パリテイを受信するワードをチエツクし、エ
ラーが伝送中に生じなかつたことを確認する。メモリス
トーレツジユニツト(MSU)96にストアされたワー
ド(メモリワード)は60ビツ卜から成る。
メモリ制御モジユール92がリクエスタから52ビツト
ワードを受信するとき、メモリ制御モジユール92は全
体で60ビツトのワードとなるように、チエツクビツト
と呼ばれる7つの特別のパリテイビツトを加え、さらに
奇数パリテイを維持するための他のビツトを加える。次
にMCM92は60ビツトワードをMSU96に送る(
第30図参照)。もしもワードが偶然に代替されMSU
96に存在するならば、7個のチエツクビツトは全体の
パリテイビツトに関連してエラー検出のために用いられ
、単一ビツトが代替されてしまつたというエラーを自動
的に検出するための手段を与える。リクエスタならびに
メモリ制御モジユール92およびメモリストーレツジユ
ニツト96間でコード制御ワードおよびデータを転送す
るために用いられる信号は第31図に示される。
任意のリクエスタモジユールはメモリの1,048,5
76以下の連続ワードをアドレス指定することができる
。これらの1,948,576ワードは連続的なメモリ
モジユール30aに存在してもよく、存在しなくてもよ
い。特定のリクエスタモジユールが特定のメモリモジュ
ール30aをアクセスすることができるか否かは、リク
エスタ抑御レジスタ104のビツトをセツトすることに
依存する(第32図参照).リクエスタ抑御レジスタ1
04は8個のビツトを有し、1ビツトごとに8個の可能
なリクエスタ(IOMおよびCPM)の各々に対応する
。したがつて特定のメモリモジユール30aは全てのリ
クエスタによつて、もしくはいくつかのリクエスタによ
つて共用され、または唯一のリクエスタの専用資源であ
りうる。メモリモジユール30aの特定グループのリク
エスタ抑止レジスタ104をセツトして選択リクエスタ
のみによるアクセスを可能にすることによつて、システ
ムを7つの別々の処理サブシステムに論理的に分割する
ことが可能になり、各々はそれ自身のマスタ制御プログ
ラムを有し、且各々は全処理ロードの特定部分に用いら
れる。リクエスタモジユールのハードウエアユニツト数
はOないし7である。リクエスタ抑止レジスタ104の
ビツト位置はリクエスタユニツト番号に対応し、最下位
ビツトとしてOを含む。もしもリクエスタビツトがリク
エスタ抑止レジスタ104において0Nであれば、その
ビツトに対応するユニツトはメモリモジユール30aへ
のアクセスを否定される。リクエスタ抑止レジスタ10
4はロードリクエスタ抑止インストラクシヨンによつて
セツトされる。このインストラクシヨンはこの発明のマ
ルチレベルオペレーテイングシステムによつてのみ実行
される。それゆえマルチオペレーテイングシステムは変
化要件に従つて構成を変えることができる。好ましい実
施例では、メモリモジユール30a内の使用可能な容量
は、唯一のMSU96の動作に対して65,536ワー
ドから、4個のMSUの動作に対して262,144ワ
ードまで変わる。
メモリモジユール30a内のアドレス指定は2個のメモ
リ制限レジスタ106,108によつて制御され、使用
されうる最低および最高アドレスを特定する。使用可能
な最高アドレスは常に上限レジスタ108に示されたア
ドレスよりも高い16,383アドレスである。
各メモリ制限レジスタ106,108はその長さが6ビ
ツトである。メモリ制御モジユール(MCM)92はメ
モリストーレツジユニツト(MSU)96に含まれるメ
モリを多数の16,384ワードセグメントとして「考
える」。好ましい実施例では、メモリアドレスは20ビ
ツトから成り、その最初の6ビツトは任意の或るリクエ
スタがアドレス指定することができる1,043,57
6ワードのうち、16,384ワードメモリを指定する
他の14ビツトは指定されたセグメントのワードをアド
レス指定するために用いられる。メモリアドレスの最高
位6ビツトは2個のメモリ制限レジスタ106,108
の各々6ビツトと比較され、特定のアドレスがMCM9
2に割当てられたMSUに存在するかどうかを決定する
。好ましい実施例では、メモリアドレスは20ビツトか
ら成り、最初の6ビツトは任意の1つのリクエストをア
ドレス指定しうる1,048,576ワード内の16,
384ワードメモリセグメントを指定する。
他の14ビツトは指定されたセグメント内のワードをア
ドレス指定するために用いられる。メモリアドレスの最
高位6桁は2つのメモリ制限レジスタ106,108の
各々の6ビツトと比較され、特定のアドレスがMCM9
2に割当てられたMSU内に存在するかどうかを決定す
る。メモリ制限レジスタ106,108はロードメモリ
制限インストラクシヨンによつてセツトされる。このイ
ンストラクシヨンはこの発明のマルチオペレーテイング
システムによつてのみ実行されうる。マルチレベルオペ
レーテイングシステムは、連続的に高くなる16,38
4ワードセグメント内のメモリをアクセスすることによ
つてシステム始動中MCM92に割当てられたメモリ量
を決定する。もしもMSU96またはMCM92が故障
するならば、マルチレベルオペレーテイングシステムは
故障を知らされる。マルチレベルオペレーテイングシス
テムはメモリ制限レジスタ106,108を変えて、故
障MSU96の使用を避けることができ、あるいはまた
リクエスタ抑止レジスタ104をセツトして、メモリモ
ジユール30a全てのアクセスを避ける。リクエスタ抑
止レジスタ104およびメモリ制限レジスタ106,1
08をセツトすることによつて、メモリモジユール30
aのグループはマスクされて別々のメモリシステムを形
成することができ、そのいくつかは同じ長さのアドレス
を有する。
このようにして、臨界的データまたはプログラムコード
は二重化され、システム故障に対する追加的な保護を与
える。次のパラグラフでは、メモリ制御モジユール(M
CM)92の一般的記述について述べる。MCM92は
、全てのリクエスタ、たとえば入力/出力モジユール(
IOM)10および中央プロセツサモジユール(CPM
)20を、MCM92を制御するMSU96とリンクす
る。前述したごとく、システム毎のMCM最大数は8で
ある。MCM92の論理機能は、優先分析データの転送
および制御ならびにエラー検出である。第32図を参照
して、優先分析は各リクエスタとMCM92との間の通
信を制御する。
リクエスタ抑止レジスタ104の状態によつて選択され
るこれらのリクエスタのみが、MCM92によつて動作
されうる。この規則の例外として、特定的リクエスト信
号の使用によつて、CPM2Oはリクエスタ抑止レジス
タ104の状態を無視することができる。これらのリク
エスタを行なう順序(優先)は情報処理システムが最大
効率となるように決定される。より高いユーザ優先(す
なわちより高い番号)は中央プロセサモジユール20へ
割当てられる。たとえば、2つのCPMと2つの10M
とを備えたシステムでは、CPMは優先6および7へ割
当てられ、IOMは優先0および1に割当てられる。も
しもリクエスタインタフエイスが故障しているならば、
リクエスタが動作しないようにされ、それによつて他の
リクエストはロツクアウトされる。もしもより低い優先
リクエスタが動作されるのを待合わせるならば、最高優
先リクエスタは連続的に動作することが妨げられる。デ
ータ転送と制御とは、リクエスタとMSU96との間に
データを通過するに必要な順次的制御信号を与える。こ
の論理によつて、クロツク速度でリクエスタとメモリと
の間のワードを時間調整することができるようになる。
エラー検出論理110はMSU96へのリクエスタおよ
び入力のエラーを検出し;メモリ制御モジユール(MC
M)のフエイルレジスタ112のエラーをりポートし、
そのエラーが生じたリクエスタに知らせ;フエツチ動作
期間中、メモリストーレツジユニツト(MSU)96に
生じた1ビツトエラ一を修正する。MCM92の通信に
関連して、MCM92とリクエスタとの間の全ての通信
は78本の別々の双方向ラインを介して、谷リクエスタ
モジユールに設けられた同一スイツチングインタロツク
受信/駆動回路に与えられる(第31図参照)。
1組の52ラインはコントロールワードおよびデータワ
ードのために設けられる。
動作中、コントロールワードは常にデータワードを進め
、その結果両ワードは同時にそのラインには決して存在
しない。リクエスタがMCM92へのアクセスを望むと
き、リクエスト信号はMCM92へ送信される。優先分
析回路116は、MCM92が他のリクエスタによつて
動作中であるかどうか、またはリクエスタがこの特定の
MCM92をアクセスしないように抑止されているかど
うかを決定する。もしもアクセスが可能ならば、コント
ロールワードと一致したリクエストストローブはMCM
92へ送信され、タイミングを開始し、MCM92に達
成されるべき読取りもしくは書込みまたは読取り変更書
込み動作を指示する。コントロールワードはメモリ制御
モジユール92のコントロールワードレジスタ118お
よび入力レジスタ120の両者にストアされる。メモリ
制御モジユール92の一般的制御122はゲートパルス
およびタイミングパルスを発生し、コントロールワード
を入力レジスタ120からエラー検出回路110に転送
し、正しいパリテイをチエツクする。パリテイエラーが
検出されるならば、コントロールワードはフエイルレジ
スタ112に転送され、リクエスタ動作完了信号および
フエイルインタラプト信号はMCM92によつて発生さ
れ、リクエスタに送信される。
さらに、もしもリクエスタによつて指示されるならば、
フエイルレジスタ112の内容はメモリ制御モジユール
(MCM)92のメモリバツフアレジスタ124および
出力レジスタ126を介してリクエスタへ転送される。
フエイルワードのパリテイビツトはエラー修正および検
出回路110で発生され、出力レジスタ126のフエイ
ルワードへ与えられる。コントロールワードがエラーを
含まず、特定のリクエストに存在しないと仮定すれば、
次の事象がメモリ制御モジユール(MCM)92の制御
および論理回路に生じる。
一般制御回路122では、達成されるべき動作に必要な
制御パルスが発生される。MSU96への書込みおよび
MSU96からの読取りのための制御はMSU制御12
8で生じる。MSU制御はまた、どのMSUが用いられ
るか、およびMSU96によつて達成される動作(読取
りもしくは書込みまたは読取り変更書込みのいずれか)
を同定するかを決定する。MSU96への転送の前にお
ける2ビツトMSU動作およびコントロールワードから
の16ビツトアドレスのためのパリテイピットはメモリ
制御ユニツト(MCM)92のパリテイ発生器によつて
発生される。もしもコントロールワードが書込み動作を
含めるならば、MCM92への次の入力はリクエスタか
らのデータワード(またはコントロールワードのワード
長によつて決定されるデータワードのグループ)である
データワードは、エラー検出回路110の情報源である
入力レジスタ120に置かれる。エラー検出回路110
はリクエスタから受信される52ビツトワードの入力パ
リテイをチエツクし、その後全体で60ビツトワードの
7チエツクビツトと全パリテイとを発生する。52ビツ
トデータワードは7チエツクビツトによつてメモリバツ
フアレジスタ(MBR)124へ転送され、全てのパリ
テイビツトはデータワードへ加えられる。
60ビツトデータワードは次にストーレツジのためにM
SU96へ送信される。
このサイクルはメモリへ書込まれる各データワードに対
して繰返される。もしもコントロールワードが読取り動
作を含むならば、MSU96のアドレスロケーシヨンか
ら読取られた60ビツトデータワード(またはコントロ
ールワードのワード長によつて決定されるデータワード
のグループ)はメモリバツフアレジスタ(MBR)12
4に一時的にストアされる。
データワードはエラー検出修正回路110に転送され、
アドレスロケーシヨンに予めストアされたワードと比較
される。エラー検出修正回路110は、データワードの
最下位52ビツトがレジスタに転送されたときエラーを
チエツクする。もしも1つのビツトが正しくなかつたな
らば、その特定のビットは出力レジスタにおいてそれを
補うことによつて修正される。正しいデータワードはフ
エィル2インタラプト信号(これは後述する)とともに
レジスタへ送信され、このフエイル2インタラプト信号
はリクエスタにエラーを記録せしめ、且正しいデータで
処理を続けさせる。もしも2ビツトエラ一が生じるなら
ば、MCM92はフエイル1インタト信号(後述)をリ
クエスタへ送り、Mcrエイルレジスタ112をフエイ
ルデータで口 ドする。も,もコントロールワードが特
別なリクエスト形y、であるならば(すなわち「ロード
リクエスト抑止レジスタ」または「ロードメモリ制限レ
ジスタ]のいずれかであるならば)、MCM92の一般
制御回路122は次のデータワードを直接に(パリテイ
チエツク後)入力レジスタ120から、リクエスト抑止
レジスタ104へ、またはメモリ制限レジスタ106,
108およびMSU制御128に設けられたMSU使用
レジスタへ転送することができる。
もしもコントロールワードが「[ロードリクエスタ抑止
レジスタ」動作を含むならば、リクエスタ抑止レジスタ
104は新たなデータをロードし、どのリクエスタが今
やMCM92ヘアークセスするかを表わす。もしもコン
トロールワードが「ロードメモリ制限レジスタ]動作を
含むならば、MCMおよびMSU構成はMCM92に用
いうるMSUの数ならびに上限および下限を表わすよう
に変えられる。MCM92の機能の詳細は、次のパラグ
ラフで述べ、第33図に示された詳細なプロツク図を参
照して行なう。
リクエスタインタフエイス132」」 つ は、MCM92と全てのリクエスタとの間の全ての通信
のために用いられるレシーバ/ドライバインタロツク論
理114を含む。
第3図にはこれらのモジユール間を流れる制御およびデ
ータ用信号が示される。MCM92によつて用いられて
いる各リクエスタはこれらの信号およびデータラインを
含む。52本の情報ラインはモジユール間の制御信号を
転送するために用いられる。
78本のドライバ/レシーバラインの各々は、双方向性
ドライバ/レシーバであるが、これらのラインの52本
のみが実際にこの能力を用いる。
好ましい実施例では、ドライバ/レシーバ回路は全ての
リクエスタおよびMCMにおいて同一であり、それによ
つてレシーバ/ドライバ回路板は種々のモジユール内で
相互交換が可能である。26本の制御ラインの各々に対
するレシーバ/ドライバ論理はデータラインと同一であ
る;しかしながらバツフアを能動化するための信号は、
電力がリクエスタおよびMCM92において与えられる
ときはいつでも、存在する。
第34図に示されたMCM92とリクエスタとの間の制
御およびデータの流れは次のパラグラフで述べる。
データおよび優先は、リクエスタとMCM92との間を
独特の組の52本の双方向データライン134を介して
転送される。
これらのライン134はまたコントロールワードの伝送
のために用いられる。奇数パリテイが発生され、転送さ
れた全てのワードおよびパリテイビツトはデータととも
に伝送される。特定のリクエスト信号(RQSN)はC
PM2Oによつて用いられ、レジスタ抑止またはメモリ
制限をロードするために、(リタエスタ抑止レジスタ1
04の状態に拘らず)メモリ制御モジユール92へのア
クセスを行なう。
RQSN信号がリタエスト信号(REQ)とともに「真
理値」になり、MCM92から受理ライン136を介し
て受理信号(ACK)を受信するまで「真理値」のまま
である。RQSN信号はリクエスタからMCM92へ特
定のリクエストライン138を介して転送され、しかる
にリクエスト信号(REQ)はリクエスタからMCM9
2へリクエストライン140を介して伝送される。リク
エスト信号(REQ)はリクエスタによつて送信され、
特定のMCM92を選択する。
REQ信号は1プロツク時間だけリクエストストローブ
(RSTB)よりも先立つて[真理値」となり、受理信
号(ACK)がMCMから受理ライン136を介して受
信されるまで「真理値」のままである。リクエストスト
ローブ信号はリクエスタからMCM92へリクエストス
トローブライン142を介して伝送される。データスト
ローブ信号(DSTB)はデータストローブライン14
6を介して送信され、データがデータラインを介して伝
送されるべきであることをMCM92に知らせる。
データストローブ信号はデータワードを1プロツクだけ
進め、その幅はそれに後続するデータワードの数を表わ
す。リタエストストローブ信号(RSTB)はリクエス
トストローブライン142を介して送信され、コントロ
ールワードがデータライン134に転送中であることを
MCM92に知らせる。それは、リクエスト信号(RE
Q)のスタートに続いて最初の1クロツク時間は「真理
値」である。コントロールワードはリクエストストロー
ブ信号とともに伝送される。データ使用信号(DAV)
はデータ使用ライン148を介してリクエスタへMCM
92から伝送され、データが使用され得、次のクロツク
時間に伝送されてもよいことを表わす。
この信号はデータ転送よりも1クロツク時間以上前に「
真理値」となり、リクエスタ動作終了(ROC)時間よ
りも長くはない時間だけ「真理値」のままである。1ク
ロツク時間の受理信号(ACK)はリクエスタへ受理信
号136を介して送信され、MCM92がコントロール
ワードを受信してしまつたことを表わす。
この信号は、リクエスタがリクエスト信号(REQ)お
よびリクエストストローブ信号(RSTB)の伝送を終
了しなければならないことを、リクエスタに表わす。そ
れは、リクエストされたメモリ動作が達成されるであろ
うということは必ずしも意味しない。送信データ(SN
D)信号はリクエスタへN長さの重畳期間中送信され、
Nワード保護書込み期間中送信されてもよい。
送信データ信号はMCM92へ送信されなければならな
いデータワードの数を表わす。
伝送されるべきワードの数は、送信データ信号が「真理
値]であるクロツク時間)の数に等しい。
注目すべきは、もしもNワード書込み動作期間中保護領
域に書込もうとするならば送信データ信号は伝送されな
いであろうということである。さらに、メモリ制御モジ
ユール(MCM)92によつてリクエストされたデータ
数は、リクエスタがその動作を終了する前に転送されな
ければならない。
データ存在信号(DAPB)はデータ存在ライン152
を介してリクエスタに送信され、有効なワード(単数ま
たは複数)がMCM92から伝送されていることを表わ
す。
DAPBはデータワードとともに伝送される。ワードは
DAPBが「真理値」である各クロツク期間中伝送され
る。伝送されている連続的ワードの数はDAPB信号の
幅を決定する。MCM92はリクエスト動作終了ライン
154を介して1クロツタ期間信号(RQC)を送信し
、メモリ動作のリクエスタ部分の終端を表わす。
MCM92とリクエスタとの間のアドレス上限通信は、
MCM92に使用される最高20ビツトメモリアドレス
の最上位6ビツトである(最下位14ビツトは「1」と
仮定する)。アドレス下限通信は、MCM92に使用さ
れる最低20ビツトメモリアドレスの最上位6ビツトで
ある。アドレス上限の6ビツトはMCM92によつて伝
送ライン156を介してリクエスタへ送信され、しかる
にアドレス下限の6ビツトはMCM92によつて伝送ラ
イン158を介してリクエスタへ伝送される。MCM9
2はリクエスタヘリクエスタ能動化ライン160を介し
て、MCM92および適当なリクエスタ間の通信を能動
化または不能動化するために用いられる能動化信号を送
信する。
この信号は定常状態信号であり、MCM92が電力サイ
クルの動作可能もしくは動作不可能であるとき、または
適宜のリクエスタ抑止フリツプフロツプがセツトされる
ときはいつでも、通信を不能動化する。リクエスタはM
CM92へ能動化信号をMCM能動化ライン162を介
して送信し、このライン162はリクエスタとMCM9
2との間の通信を能動化または不能動化するために用い
られる。この信号はまた、定常状態信号であり、リクエ
スタが電力サイクルの動作可能または動作不可能である
ときはいつでも通信を不能動化する。MCM92は1ク
ロツク期間フエイル1インタラプト信号(FALl)を
リクエスタに伝送し、そのとき次のエラーが生じる:(
1)コントロールワードパリテイ、(2)読取りにくい
動作コード、(3)誤つたMCMl(4)データストロ
ーブエラー、(5)2ビツトエラ一、および(6)内部
エラー。
MCMフエイルレジスタ112は次に、エラー分析を容
易にするための情報によつてロードされる。MCMはフ
エイル1インタラプトをリクエスタへ通信ライン164
を介して伝送する。もしも1ビツトエラ一が生じるなら
ば、 MCM92は1クロツク時間フエイル2インタラプト(
FAL2)を通信ライン166を介してリクエスタへ伝
送する。
MCMフエイルレジスタ122は次に、エラー分析を容
易にするための情報によつてロードされる。もしも検査
されているメモリワードがビツト48内に[1」を含む
ならば、1クロツク時間ソフトウエアエラーインタラプ
ト信号(FALS)は、単一ワードまたはNワード保護
書込み動作の期間中、リクエスタへ通信ライン168を
介してMCM92から伝送される。
フエイル1およびフエイル2インタラプト信号は、MC
M92から通信ライン154を介して適宜のリクエスタ
へ伝送されるリクエスタ動作完了信号(RQOS)より
も時間的に遅く生じることは決してない。MCM92の
機能説明に戻ると、MCM92のパリテイリゾルバ11
6の機能は、MCM92によつて用いられるべきリクエ
ストチヤネルを選択することである。
リクエスタを用いる順序(すなわち優先)は、好ましい
実施例において最大効率を得るように設計される。優先
選択は、多くのリクエスタから同時的なリクエストをす
る期間中最高優先を有する最低数リクエスタチヤネルに
基づく。優先の固定配線によつて、2つの中央プロセサ
モジユール20および2つの入力/出力モジユール10
を有するシステムでは、入力/出力モジユール10が優
先0および1に割当てられ、中央プロセツサモジユール
20は優先6および7に割当てられる。もしもより低い
優先のリクエスタがメモリをリクエストしてしまつたな
らば、単一の高優先リクエスタはメインメモリ30を連
続的なメモリリクエストでアクセスしないことを、優先
リゾルバ116は保証する。特別のリクエストを用いる
中央プロセツサモジユール20以外は、優先リゾルバ1
16またはMCM92は、リクェスタ抑止によつて指定
された個々のリクエスタとの通信を能動化/不能動化す
る。特別のリクエストは抑止レジスタチエツクをバイパ
スし、リクエスタ抑止レジスタ104をロードする動作
、メモリ制限レジスタ106,108をロードすく動作
またはフエイルレジスタ112の内容を取出す動作のい
ずれかを行なう。MCM92の優先リゾルバ116は、
故障し且他のリクエスタをロツクアウトしうるそれらの
リクエスタの動作を減少する。好ましい実施例では、M
CM92の入力レジスタ120は、リクエスタから受信
されるコントロールワードおよびデータワードの両者を
一時的にバツフアするためMCM92によつて用いられ
る52ビツトレジスタである。それはメモリバツフアレ
ジスタ(MBR)124のためのデータソースであり、
詳細は後述するが、データワードのパリテイをチエツク
するため、およびチエツクビツトの発生のためのもので
ある。動作の初期には、コントロールワードのコピーは
パリテイチエツクをするための入力レジスタ120にロ
ードされる。リクエスタからの入力(データワードまた
はコントロールワードのいずれか)は入力レジスタ12
0へ、レシーバから入力レジスタ(IR)への転送信号
(これはMCM92で発生される)およびロードIR能
動化信号(これはMCM92で発生され、データワード
およびコントロールワードを入力レジスタ120へロー
ドする)によつて、転送される。入力レジスタ120の
出力に生じる転送信号に依存して、IRビツトはメモリ
バツフアレジスタ(MBR)124、チエツタビツト発
生器130およびパリテイチエツク回路、メモリ制限レ
ジスタ106,108、ならびにリクエスタ抑止レジス
タ104へ転送される。
もしも入力レジスタ120の情報がコントロールワード
、メモリ制限レジスタデータ、またはリクエスタ抑止レ
ジスタデータのいずれかであるならば、パリテイチエツ
1クだけがチエツカ発生器回路によつて達成される。も
しも入力レジスタ120の情報がストアされるべきデー
タワードであれば、チエツカ発生器回路はパリテイチエ
ツタを達成し、また8つのチエツクビツトも発生してス
トーレツジのために60ビツトデータワードを整える。
もしも入力レジスタ120の情報がレジスタデータに対
するメモリ制限であれば、最初の16ビツト(ビツトO
ないし15)だけがRからメモリ制限への転送信号によ
つて転送される。
ビツトOないし11はメモリ制限レジスタへ転送される
(ビツト4ないし9はメモリアドレスの上限として、ビ
ツト10ないし15はメモリアドレスの下限として、お
よびビツトOないし3はメモリ使用レジスタへ転送され
、それはMSU制御128の一部を形成し、1Aないし
4Aとして示されている。このデータはメモリ制限(全
メモリ内で)を確立し、特定のリタエスタによつて用い
るために使用される。もしもIRの情報がリクエスタ抑
止レジスタデータであれば、入力レジスタの最初の8ビ
ツト(ビツト0ないし7)はIRからリクエスタへの抑
止転送信号によつて転送され、リクエスタのどれが特定
のMCM92をアクセスすることができるかを確立する
しかるにもしも入力レジスタ120の情報がメモリに書
込まれるべき52ビツトデータワードであるならば、デ
ータはデータインストラクシヨンの期間中メモリバツフ
アレジスタ124へ転送され、パリテイチエツクおよび
チエツクビツト発生のためにチエツカ発生器回路130
へ同時に送信される。Nワード保護書込み動作のために
、出力はまたコントロールワードレジスタ118へロー
カルテストの期間中、MCM92のパネルに設けられた
制御スイツチを介して送信される。
全てのロケーシヨンが保護ビツト(セツトされたビツト
48)のためにチエツクされてしまつた後、入力レジス
タ120にあるもとのコントロールワードはコントロー
ルワードレジスタ118へ転送されて、書込み動作を始
める。このことが必要である理由は、最初にコントロー
ルワードレジスタ118にあつたコントロールワードが
保護ビツトの発生をチエツクする期間に増加されたから
である。コントロールワードレジスタ118はMCM9
2の52ビツトレジスタであり、リクエスタによつて伝
送されるコントロールワードをストアするために用いら
れる。
コントロールワードはリクエスト信号の伝送から1クロ
ツクサイクル遅れて、リクエスタから伝送され、それは
リクエストストローブと同時である。リクエスタ抑止レ
ジスタ104は8ビツトレジスタであり、現在有効なリ
クエスタ抑止を保持するためにMCM92によつて用い
られる。
このレジスタの出力は優先リゾルーシヨン論理116に
よつて検査され、どのリクエスタがMCM92へのアク
セスを行なうことを抑止されるべきかを決定する。リク
エスタ抑止レジスタ104の各出力は1リクエスタに固
定配線され、それによつてもしもその抑止フリツプフロ
ツプがりセツトされるならば、能動レベル提示信号を受
信するリクエスタはMCM92へアクセスしうる。この
レジスタの出力はまた、リクエスタへ伝送され、それら
との間の通信を能動化または不能動化する。考慮すべき
重要なことは、このレジスタが任意の中央プロセサ20
によつてプログラム的にロードされることである。リク
エスタ抑止レジスタ104は、リクエスタから入力レジ
スタ120を介する入力によつて、またはMCM92コ
ントロールパネルもしくはオペレータのコンソールから
の入力によつて、セツトされる。メモリアドレス制限レ
ジスタは16ビツトレジスタであり、下限アドレスを表
わすための6ビツト、上限アドレスを表わすための6ビ
ツトおよびMSU使用可能を表わす4ビツトを含む。下
限アドレスはこのMCMに用いられうる最も下の20ビ
ツトメモリアドレスのうち最上位6ビツトである(最下
位14ビツトは「O」と仮定する)。上限アドレスはこ
のMCMに用いられうる最も上の20ビツトメモリアド
レスのうち最上位6ビツトである(最下位14ビツトは
[1」と仮定し、4ビツトはMSU有用率を表わすため
のものである)。アドレス上限および下限は全メモリシ
ステム30内のこのMCMのアドレス指定能力を規定す
る。
MSU有用率は、N長動作の最大ワード数を決定するこ
のMCMに使用可能なMSUを規定する。これらの制限
はプログラムによつてロードされたり、MCMコントロ
ールパネルおよびオペレータのコンソールスイツチを介
してロードされたりする。メモリ制限レジスタデータは
初期条件設定期間中に確立され、メモリ構成が必要でな
くなるまで変わらない。上限および下限の12ビツトは
全てのリクエスタのメモリインタフエイスコンパレータ
へ配線される。
この情報によつて、リクエスタは適当なアドレスを適当
なMCMチヤネルに関連することができる。12アドレ
スビツト(上限および下限)の出力はリクエスタコント
ロールワードアドレスの最上位6ビツトと比較される。
もしもコントロールワードアドレスが下限および上限の
範囲にないならば、間違つたアドレス信号がフエイルワ
ードレジスタへ送信され、このフエイルワードレジスタ
は次にフエイル1インタラプトをリクエスタへ送信する
。6ビツト下限および6ビツト上限の出力は各リクエス
タへ固定配線され、各リクエスタの予め確立されたメモ
リ制限と比較される。
もしもリクエスタのメモリ動作アドレスがMCM制限内
にあるならば、リクエスタは、もしも関連のリクエスタ
抑止レジスタビツトがセツトされないならば、そのMC
Mをアクセスするためにリクエスト信号を発する。出力
ビツト(1AVないし4A)はメモリ制御へ転送され、
どのMSUがこのMCMに使用可能かを確立する。
全てのフリツプフロツプによる如く、この発明では、保
守診断ユニツト(MDU)およびMCMパネルはメモリ
制限レジスタ106,108を制御し、かつ検出する能
力を有する。メモリバツフアレジスタ(MBR)124
は60ビツトレジスタであり、MSUへまたはMSUか
ら転送されるデータワードのための一時的なバツフアレ
ジスタとして、MCMによつて用いられる。MBRl2
4の入力源は(MSUへのデータ転送のために)次のも
のがある:(a撮下位52ビツト(ビツト00ないし5
1)のための入力レジスタ120、(b)エラーコード
チエツクビツト(ビツト52ないし58)、および全体
的なパリテイビツト(ビツト59)。MSUからのデー
タ転送のためのMBRl24への入力源は、前述したM
SUインタフエイス/ドライバからのものである。MB
Rl24はエラーコードチエツク論理のためのデータ源
であり、ビツト修正がMSUMSU96からMCM92
へ転送されるワードに必要かどうかを決定する。書込み
動作期間中、52ビツト(00ないし51)は入力レジ
スタ120からMBRl24へ、IRからMBRへの転
送信号によつて、転送され、その転送信号は書込み動作
の全期間生じる。
これらの52ビツトは、チエツクビツト発生(ビツトフ
52ないし59)のために1クロツク時間早く、チエツ
カ発生器論理130へ送信される。
これらのチエツクビツトはMBRl24へ、書込み動作
の全期間中発生される発生器MBR転送信号によつて転
送される。MBRl24をロードするための能動化信号
は、書込み能動化フリツプフロツプおよびデータ転送制
御フリツプフロツプ信号がセツトされるとき、発生され
る。これらの60ビツトは次に、メモリヘレシーバ/ド
ライバを介してストーレツジのために転送される。フエ
ツチ動作期間中、60ビツトはメモリからMBRl24
へレシーバ/ドライバを介して、フエツチサイクル期間
中発生される転送信号によつて転送される。
能動化信号は、データ転送制御フリツプフロツプがセツ
トされたとき、およびワードカウントが零を超えたとき
使用可能である。最初の52ビツト(00ないし51)
は出力レジスタ126へ転送され、しかるにチエツクビ
ツト(52ないし59)はエラーチエツク論理110へ
転送され、エラーがメモリデータワードに存在するかど
うかを決定する。もしもチエツクビツトがエラーなしを
表示するならば、出力レジスタ126のデータワードは
リクエスタへ送信されるけれども、もしも1ビツトエラ
一が見つかれば、エラーチエツク論理は修正エラー信号
を発生し、ワードが出力レジスタからリクエスタへ転送
される前にワード内の誤つたビツトを補う。フエイルレ
ジスタからフエツチ動作期間中、フエイルレジスタ情報
はビツト51を除いて、MBRl24が出力レジスタ1
26に与えられる前に、MBRl24へ転送される。
エラー制御、検出および修正論理110は3つのフエイ
ルインタラプト信号、すなわちフエイル1、フエイル2
およびフエイル3を用いる。
フエイル1インタラプトまたはフエイル1信号は、リク
エスタメモリ動作が完了しても修正不可能なエラーが生
じたとき、発生されてリクエスタへ送信される。フエイ
ルレジスタ112は次の情報によつてロードされ、フエ
イル分析を容易にする:(a)R/Wビツト、(b)M
SU有用率、(c)MCM数、(d)リクエスタチヤネ
ル数、(e)エラー形式、および(f)エラーアドレス
。リクエスタ動作は次のエラーが検出されるとき常に完
了される:(a)2ビツトエラ一(フエツチのみ)、(
b)チエツカ/発生器エラー、(c)アドレス故障、お
よび(d)データワードパリテイエラー。リクエスタ動
作は次のエラーが検出されるときは決して完了されない
:(a)コントロールワードパリテイエラー、(b)不
明瞭な動作、(c)間違つたアドレス、(d)MSUパ
リテイエラー、(e)読取り使用可能故障、(f)2ビ
ツトエラ一(保護書込み)、(g)データストローブエ
ラー、および(h)MSU使用不可能。リクエスタ動作
は次のエラーがMCM内で検出されたとき完了されても
よく、完了されなくてもよい:(a)パリテイ発生器(
MSU制御)故障、(b)データタイマ故障、(c)デ
ータ転送制御故障、および(d)MSU有用率エラー。
注目すべきは、フエイル1インタラプト信号(フエイル
1)は、リクエスタ動作完了時間中またはそれ以後に検
出された任意の内部エラーに対して次のリクエスタへ伝
送される。チエツカ/発生器エラーは、フエイル1信号
がもとのリクエスタへ送信されるという点で例外である
。フエイルレジスタ112内では、R/Wビツトおよび
リクエスタチヤネル数は第1リクエスタに属し、フエイ
ルレジスタ118のビツト48は、これが遅延インタラ
プト状態であつたことを表わすために、送信される。フ
エイル2インタラプト信号(フエイル2)は、もしも1
ビツトエラ一が生じたならば、発生される。
フエイル2信号がリクエスタへ送信されるとき、次の情
報はフエイルレジスタ118へロードされる。好ましい
実施例では、フエイルレジスタ118は52ビツト(5
1ないし00)レジスタであり、故障を同定しかつ規定
するために必要な全ての関係ある情報をストアするため
に用いられる。
フエイル情報は、フエイルレジスタフエツチ動作リクニ
ストがリクエスタによつて行なわれるまで、またはクリ
ア動作が達成されるまで、フエイルレジスタ118に存
在する。フエイルレジスタからのフエツチ動作期間中、
情報はリクエスタヘメモリバツフアレジスタ(MBR)
124および出力レジスタ126を介して戻される。全
てのフエイルワードのためのワードパリテイは、リクエ
スタへの転送前に、パリテイ発生論理130で発生され
、出力レジスタ126のフエイルワードへ加えられる。
MCMフエイルワードのフオーマツト、ビツトおよびフ
イールドは第9表に定義される。好ましい実施例では、
MCM92はエラーコードチエツク論理のためのデータ
源としてメモリバツフアレジスタ(MBR)124を用
い、このコードチエツク論理はビツト修正がMSU96
からMCM92へ転送されるワードに必要かどうかを決
定する。MBRl24および論理カードはMCMに設け
られる。エラー検出および修正の機能論理は第35図に
示され、次のパラグラフで簡単に説明する。第35図に
示された水平行の番号は60ビツトスタツクワード内の
ビツト位置を表わす。
MCM92とリクエスタとの間で転送されるワードのフ
オーマツトは、ビツト00ないしビツト47がデータビ
ツトであり(6つのEBCDICキヤラクタ、8つのB
CLキヤラクタ、または12デジツトなどを与える)、
ビツト48ないし50はタグビツト(ワード制御用)で
あり、ビツト51はビツト00ないし51のためのパリ
テイビツト(奇数パリテイが正しいパリテイ)である。
ビツト52ないし59はMCMからリクエスタへ転送さ
れない。ビツト52ないし58はチエツクビツトと称さ
れ、ビツト59は60ビツトスタツクワードのために全
体のパリテイビツトである(正しいパリテイは奇数パリ
テイである)。Xの各水平行はチエツクビツトを発生す
るときに用いられるマスクを表わす。特定のマスクのた
めにチエツクビツトを発生するとき用いられるビツト位
置はXによつて表わされる。全部で、7つの異なつたマ
スクがある。7つのマスクの各々を用いると、チエツク
ビツトフイールドのXによつて表わされるビツトは、そ
の組のビツトのために偶数パリテイを発生するように、
セツトまたはりセツトされる。
たとえばグループ1マスクを用いて、もしもビツト01
がセツトされ、ビツト02ないし51およびビツト00
がりセツトされたならば、チエツクビツトフイールドの
ビツト1は考慮されるビツトのために偶数パリテイを与
えるようにセツトされる。全体のためのパリテイビツト
(ビツト59)はセツトまたはりセツトされ、チエツク
ビツトを含む60ビツトワードのすべてのビツトに奇数
パリテイを与えることを指摘する。
各ワードがMSU96から検索されるとき、MCM92
は全体ワードパリテイをチエツクし、再び7つのマスク
を与えて、1以上のビツトが代替されてしまつたかどう
かを決定する。
MCMは2つの基本的タイプのエラーを検出する。第1
のタイプは1ビツトエラ一である。
好ましい実施例では、単一のビツトエラ一は脱落したも
のであれ、または拾い上げたものであれ、検出されて修
正される。1ビツトエラ一は、全パリテイの誤つたこと
の表示および1以上のグループエラーの提示によつて、
検出される。
誤つたパリテイを有するビツトはMCM出力レジスタ1
26において分離されかつ修正される。第2のタイプは
2ビツトエラ一である。2ビツトエラ一は全パリテイの
正しいことの表示および1以上のグループエラーの提示
によつて検出される。
2パリテイビツトエラ一に対しては自動的な修正ができ
ない。
59ビツトワードの単一ビツトエラ一は全ワードのパリ
テイチエツクによつて検出される。
エラー検出を再び行なうことによつて発生されたチニツ
クビツトはエラービツトの位置を与える。マルチレベル
オペレーテイングシステムはエラーが生じたことを知ら
せないが、修正ワードが用いられうる。マルチレベルオ
ペレーテイングシステムは保守の目的でエラーを記録し
、処理を続行する。もしも60ビツトワードの2ビツト
がエラーであるならば、全ワードパリテイチエツクはエ
ラーを表示しない。この場合、チエツク動作は1以上の
グループエラーの表示を表わし、その情報はエラーの位
置を決めることはできないが、エラーの存在を表わすた
めに用いられる。エラーの3以上のビツトは修正されえ
ない単一ビツトとして、または2ビツトエラ一すなわち
エラーなしとしてのいずれかで表われる。要するに、1
ビツトエラ一は100%の時間検出され修正される。
1ビツトエラ一のエラー修正は、3MCMクロツクパル
スすなわち375ナノ秒を必要とする。
2ビツトエラ一は検出され、多数の偶数ビツトエラ一は
検出されうるが、どちらも修正はされない。
多数の奇数ビツトエラ一が検出されるとき、1ビツトは
修正され、データはリクエスタへ転送される(パリテイ
チエツクはエラーがまた存在することを表わす)。奇数
卦よび偶数パリテイエラーを表わす故障は、個別的なグ
ループのパリテイをチエツクしまたは発生するが、チエ
ツク/発生器論理自体のハードウエア故障として同定す
る。
出力レジスタ126は52ビツトレジスタであり、フエ
ツチ動作期間中リクエスタに伝送されているデータワー
ド(フエイルデータを含む)をバツフアするために用い
られる。
出力レジスタ126はまた、エラー修正論理によつて検
出された1ビツトエラ一を修正するために必要なビツト
修正論理を含む。出力レジスタ126の基本人力は、メ
モリストーレツジから転送されたデータをストアするメ
モリバツフアレジスタ124からのものである。1ビツ
トエラ一のビツト修正は、出力レジスタ126がMBR
l24からロードされた後に達成される。
出力レジスタ126の出力はリクエスタヘスイツチング
インタロツクドライバ/レシーバを介して転送される。
MCM−MSUインタフエイス135は、第36図に示
すごとく、制御およびデータ流れのための相互接続論理
レベルを与えるレシーバ卦よびドライバラインバツフア
を含む。
これらの制御卦よびデータラインは、各スタツクの5つ
のケーブルのうち、4つはデータ用に卦よび1つは制御
用に分割される。次に、MCM92卦よびMSU96間
のデータ流れ、ならびにMCM−MSU制御信号の各々
について説明する。
60のデータ入力ライン402はMCM92からMSU
96へ、アドレス指定されたメモリロケーシヨンへ挿入
されるべき情報を転送するために用いられる。
同様に、60本のデータ出力ライン404はMCM92
へ、アドレス指定されたMSUロケーシヨンから読取ら
れた情報を転送するために用いられる。読取り使用可能
信号はMSU96によつて発生され、MSU96のアド
レス指定されたロケーシヨンからのデータは予め規定さ
れた時間以内にMCM92へのデータライン404に与
えられるであろうということを、MCM92に知らせる
主たる信号である。読取り使用可能信号はライン406
に伝送される。MSUパリテイエラー信号はMSUによ
つて発生され、MSU−.MCMによつて送信されたア
ドレスまたは制御信号のパリテイエラーをMSU96が
検出したことを、MCM92へ表わす。
もしもパリテイエラーがこのラインに存在するならば、
MSUは無条件にアドレス指定された。ロケーシヨンの
読取り/再ストアを行ない、ストアされていたデータを
除く。MSUパリテイエラー信号はMSU96}よびM
CM92間を、伝送ライン408を介して伝送される。
フ MSU有用率信号は、「真理値」のとき、電力がMSU
96にあることをMCM92へ表わす。
この信号はライン410を介して通信される。アドレス
パリテイライン412は、MSUへ達するアドレス卦よ
び動作制御(R/W}よび動作のタイプ)ラインを検査
するパリテイ発生器の出力である。発生される全パリテ
イは奇数である。書込み/読取りモード信号はMCM9
2によつて与えられ、「真理値」のとき、書込み動作が
達成されるべきであることをMSU96へ知らせ、「否
定値」であるとき、MSUが読取り/再ストア動作を達
成することをMSU96へ知らせる。読取り/書込みモ
ード信号は通信ラインを介して伝送される。読取り/変
更/書込み信号は、読取り/書込み信号と関連して用い
られるとき、どの書込み変化が達成されるかを表わす。
この信号はMCM92卦よびMSU96間を伝送ライン
46を介して伝送される。もしも読取り/書込みモード
ライン414が「真理値」であジ、読取1)/変更/書
込みライン440が「否定値」であれば、MSU96は
、クリア/書込み動作を実行する。もしも読取り/書込
みモードライン414が「真理値」であり、読取り/変
更/書込みラインが「真理値」であるならば、MSU9
6は読取り/変更/書込み動作を実行する。始動メモリ
サイクル信号はライン418を介してMSU96へ送信
され、3つの予め規定された動作、すなわち読取り/再
ストア、クリア/書込み、または読取り/変更/書込み
のうちの1動作をスタートする。始動メモリサイクル信
号は読取り/変更/書込み動作期間中実際には2回用い
られ、始動スタートを与えるため、卦よび動作の書込み
部分を始動するために用いられる。書込みストローブ信
号は書込み動作期間中用いられ、データをMCMからM
SUの書込みレジスタヘストローブする。この信号はラ
イン420に伝送される。メモリ選択書込み信号は読取
り/変更/書込み動作期間中用いられ、メモリへの再書
込みのためのデータソースを選択する。データ選択信号
が「真理値」であるならば、MSUの書込みレジスタへ
MCMからロードされた新たなデータは選択される;も
しも「否定値」であるならば(ワードは保護される)、
動作の最初に読取られたものとのデータを含むMSU読
取りレジスタが選択される。この信号はライン422に
伝送される。制御クリア信号はMSUの全ての制御フリ
ツプフロツプ卦よびレジスタをクリアするために用いら
れる。この信号はオペレータコンソールシステムクリア
スイツチから発生され、MSU96へMCM92へライ
ン424を介して伝送される〇最後に、除去電力ON/
0FF信号が発生され、電力付与シーケンスがMCM9
2によつて制御されるようになる。MCM92の機能の
説明に戻ると、MSU制御128は制御信号を順次発生
するために用いられ、正しいMSUのアドレス指定:読
取りまたは書込み(全ての変形を含む)タイミング;卦
よび種々のMSU構成に必要なアドレス変換を行なう。
好ましい実施例では、MCM92はシステム動作または
システムテストの期間中オンラインで動作され、モジユ
ールテスト保守の期間中オフラインで動作される。全て
のデータ転送はワード配向されている。MCM92とリ
クエスタとの間のワード転送は、48ビツトのデータ、
3つのタグビツト卦よび1つのパリテイ(奇数)ビツト
を含む。次のパラグラフでは、メモリストーレツジユニ
ットを詳細に説明する。メモリストーレツジユニット(
MSU)96は、リクエストされると、この情報を提示
する能力を有するコアメモリスタツクに、情報をストア
する。メモリストーレツジユニツト96の全人力卦よび
出力は、その特定のMSU96(各MCM92毎に最大
4つのMSU)に割当てられたMCM92によつて制御
される。したがつて、メモリモジユール30aを必要と
する全てのリクエスタ動作は先ず、MSU96によつて
始動される前に、MCM92を通過する。MSU96は
、必要なストーレツジエレメント、駆動卦よび検出回路
、アドレス卦よびデータレジスタ(読取り卦よび書込み
)、必要な動作を達成するために必要な制御タイミング
ならびにデコード、電力卦よびインタフエイス論理を含
む。好ましい実施例では、MSU96は65,536個
のアドレスロケーシヨンを有し、各々は60ビツトの使
用可能なストーレツジを有する。これら6Oビツトのう
ち、48個はデータビツトであり、3個はタグビツトで
あり、1個はリクエスタワードのパリテイビツトであり
、7ビツトはエラー検出のためであり、また1ビットは
ワードがメモリモジユール30aにあるときそのワード
のための全パリテイ用である。7つのエラー検出ビツト
と全パリテイビツトとは、60ビツトフイールドすべて
にわたる1ビツト故障を検出するに充分である。
情報がメモリ30にストアされるときはいつでも、これ
らのエラーコードビツトと全パリテイビツトとは、スタ
ツクワードに関する新たな情報によつてセツトされる。
48データビツト、3タグビツト,トよび1パリテイビ
ツトのみがリクエスタへ転送される。
好ましい実施例では、MSU96によつて3つの動作モ
ードが行なわれる:それらは読取り/再ストア(R/R
)、クリア/書込み(C/W)、卦よび読取シ/変更/
書込み(R/M/W)である。
読取り/再ストア(R/R)動作に対して、メモリスト
ーレツジユニツト96はデータをMCM92によつて規
定されるメモリアドレスから読出し、そのデータをMS
U96へのバス(母線)に与える。MSU96は情報を
規定されたアドレスに卦けるメモリへ戻して再書込みを
する。次のMCM動作はこのMSU動作を用いる:(a
)単一ワードのフエツチ卦よび(b)N長さのワードフ
エッチ。クリア/書込み(C/W)動作モードに対して
、MSU96はMCM92によつてアドレス指定された
メモリロケーシヨンからデータを読出し、MCMへのバ
スにそのデータを与える。MSU96はMOl4から情
報を受取り、それをアドレス指定されたロケーションヘ
スドアする。次に挙げるMCM動作はこのMSU動作を
用いる:(a)フラツシユバツクあわまたはなしで、単
一ワードの重ね書込み、(b)N長重ね書込み、卦よび
(c)単一ワード保護書込み。読取り/変更/書込み(
R/M/W)動作に対して、MSU96はMCM92に
よつてアドレス指定されたメモリロケーシヨンからデー
タを読出し、MCMへのバスへ情報を与える。MCM9
2からのコマンドによつてMSU96は、そのアドレス
ヘメモリから読取られたもとの情報またはMCM92か
ら伝送された情報のいずれかをストアする。Nワード保
護書込みはこりMSU動作を用いる。好ましい実施例で
は、MSU96に関連した3つのレジスタがある。すな
わちそれらはメモリアドレスレジスタ(MAR)170
、メモリ書込みレジスタ(NWR)172、卦よびメモ
リ読取りレジスタ(MRR)174である。さらにメモ
リストーレツジユニツトXiSU)96に関連して、各
々が60ビツトから成る65,536ワードのコアスタ
ツクがある。これら60ビツトのうち、48はデータビ
ツトであVl3つはタグビツトであり、1つはリクエス
タワードのパリテイビツトであり、こ7ビツトはエラー
検出用であり、1ビツトはワードがメモリモジユール3
0aにあるときの全パリテイ用である。エラーチエツク
ビツト卦よび全パリテイビツトは60ビツトフイールド
全てにわたる1ビツト故障を検出するに充分である。情
報がメモリにストアされている限わ、これらのエラーチ
エツクビツトと全パリテイピツトとは、スタツクヮード
内の新たな情報に従つてセツトされる。48ビツト、3
つのタグビツト卦よび1パリテイビツトのみはリクエス
タへ転送される。
好ましい実施例では、メモリアドレスレジスタ(MAR
)170は16ビツトレジスタであり、MSU96によ
つて用いられ、情報がストアされまたはフエツチされる
コアスタツクロケーシヨンを同定する。
メモリ書込みレジスタ(NWR)1722は60ビツト
のレジスタであり、MSU96によって用いられ、スタ
ツクロケーシヨンへ書込まれるべきMCM92からの情
報をバツフアする。メモリ読取りレジスタ(MRR)1
74もまた60ピツトレジスタであV,.MCM92ヘ
スタツクロケーシヨンから転送されるべき情報をバツフ
アするために用いられる。MRRもまた、ワードが保護
されるならば、N長保護書込みの期間中書込みデータソ
ースとして用いられるっインタレースしつつ位相調整さ
れるメモリに関.して、メモリ動作の大部分は連続的な
メモリロケーシヨンへのまたは連続的メモリロケーシヨ
ンからのいくつかのワードを転送することから成る。
もしもメモリストーレツジユニツト(MSU)96内の
連続的なメモリロケーシヨンがアクセスされるならば、
転送速度はメモリストーレツジユニツト96のサイクル
タイムによつて制限される。このことによつて、メモリ
からの情報の転送を待合わせられるリクエストモジユー
ルの効率が減じる。この制限は、好ましい実施例に卦い
て、連続的なアドレスが異なるメモリストーレツジユニ
ツト(MSU)96に属する、そのような態様でメモリ
アドレスを割当てることによつて、軽減される(第37
図参照)。このことによつて、第2MSU96はメモリ
サイクルが可能になると同時に第1MSU96はワード
を転送し、また第2MSU96は、第1MSU96がそ
のサイクルを終るときワードを転送することができる。
この処理方法はインタレースとして知られる。たとえば
、4MSUモジユール95は4つの連続したアドレスが
4つの異なるメモリストーレッジユニツト(MSU)9
6に属するような態様でインタレースされる。このこと
について、多数ワード転送(位相調整)は4つのワード
のバーストに生じ、それは各連続的なりロツクに1つず
つ生じる。2MSUメモリモジユール93は2ワードの
バーストが得られるようにインタレースされる。
メモリストーレ ジユニツト(MSU)96は2つの機
能領域に分割される:メモリ論理モジユール(MLM)
176卦よびメモリストーレツジモジユール(MSM)
178(第38図参照)。
メモリ論理モジユール(MLM)176の機能はパリテ
イチエツ久タイミング卦よび制御でありメモリ制御モジ
ユール(MCMO)92卦よびメモリストーレツジモジ
ユール(MSM)178間のインタフエィスに必要な変
換論理回路を与える。メモリ論理モジユール176の基
本的な機能は、メモリ制御モジユール論理レペルをメモ
リストーレツジモジユール論理レペルに一致させること
である。好ましい実施例では、メモリ制御モジュール(
MCM)92はCTL論理回路によつて設計され、MS
Ml78はTTL論理回路によつて設計され、論理回路
信号レベルはCTLからTTLへ(MCMからMSMへ
)卦よびTTLからCTLへ(MSMからMCMへ)、
MLMl76に含まれるバツフア段を介して変換されな
ければならない。メモリストーレツジモジユール(MS
M)178は、65,536個の60ピツトコアメモリ
;アドレスデコード論理に関連したメモリ読取りレジス
タ174;読取り卦よび書込みドライバ;ならびにタイ
ミングおよび制御論理を含む。
読取り/再ストア(R/R)、クリア/書込み(C/W
)卦よび読取り/変更/書込み(R/M/W)の機能流
れの説明、動作は、次のパラグラフに卦いて、第38図
に関連して示され、タイミング図は第羽図卦よび第40
図に示される。読取り動作に関連して、メモリ動作が始
動されうる前に、メモリストーレツジユニツト96が使
用可能であることを表わす信号(MA信号)がMCMに
与えられなければならない。
次にMCM92は始動メモリサイクル信号(IMC)を
発生してMSU96へ送信し、このIMC信号はMLM
l76によつて用いられ、スタートメモリサイクル(S
MC)信号をMSMl78のために発生する。しかしな
がら、第38図に示すごとく、MLMl76は遅延時間
を含み、それによつて16ビツトアドレス(ANN)が
メモリストーレツジモジユール(MSM)178に卦い
てデコードされ、次に読取vデータが使用可能となる前
にパリテイチエツク回路に戻される(信号BXXと表わ
される)。MSMl78のアドレスビツトがメモリアド
レスレジスタ174にストアされた後、そのアドレスビ
ツトをパリテイチエツクすることによつて、実行されて
いるアドレスはパリテイチエツクを行なつている実際の
アドレスであることが確実となる。次にパリテイチエツ
クは組合わされた2つのビツトについて行なわれ、その
2ビツトは読取り/書込みモード(RWM)または読取
り/変更/書込み(RMW);16ビツトアドレス(9
BXX)卦よびパリテイ(PAR)ビツトの動作制御の
ために用いられる。もしも奇数パリテイが検出されるな
らば、アドレス卦よびコントロールワードはほぼ正しい
けれども、もしも偶数パリテイが検出されるならば、エ
ラーが生じ、メモリパリテイエラー(MPE)信号がM
LMl76によつて発生され、MCM92と通信される
。MPE信号はアドレスパリテイストロープ(APS)
によつてMCM92へゲートされ、このAPSはMSN
制御セクシヨンによつて発生され、MCM92では、故
障インタラブトが発生されてリクエスタへ送信される。
さらに、メモリ論理モジユール176はワードデータ選
択否定(WDS)信号によつて読取り/再ストア動作を
行ない、このWDS信号によつて、もとのデータ(今や
MSM読取りレジスタ174に含まれる)はアドレス指
定されたロケーシヨンへ戻つて書込まれる〇読取り動作
の説明を続行するとき、仮定として、MAV信号(MS
U使用可能)が発生され、読取ジ動作が達成されるべき
であり、さらにアドレス制御ビツトは成功裏にパリテイ
チエツクを行なわれたとする。
メモリ論理モジユール(MLM)176内で遅延された
IMC(始動メモリサイクル)信号によつて、MLMは
SMC(スタートメモリサイクル)信号をMSMl78
に発生して読取りサイクルをスタートすることができる
。IMCサイクルが始まると同時に、読取り/書込みモ
ード(RWM)信号はロー(10w)であり、読取り/
再ストア動作のみが達成されるべきであることを表わす
。RWM信号がローのとき、WDS(書込みデータ選択
)信号はローのままであわ、新たな書込みデータが不要
であることを表わす。読取りサイクルは次の動作によつ
て始まる:MPA(メモリ使用可能)信号を発生し、E
OC(サイクルの終了)信号が生じるまで任意の動作の
スタートを抑止するMSMメモリビジー制御をセツトす
ること、メモリストーレツジモジユール178のメモリ
アドレスレジスタ170をクリアすること、卦よび新た
なアドレスをメモリヘストロープすること。さらにメモ
リ遅延タイミングはMSMl78でスタートし、それに
よつて読取りタイミングパルスが発生され、選択された
コアへのアクセスが可能となる。好ましい実施例では、
約500ナノ秒で読取り使用可能出力(MAO)信号が
MSMl78で発生され、次にMCM92へ転送される
べき読取り使用可能信号(RXA)を発生し、データが
予め規定された時間に転送可能(RXXM)となること
をMCMに知らせる。検出増幅器(S.A)は約750
ナノ秒でストローブされ、メモリ読取りレジスタ174
へデータを読出す。約800ナノ秒で、読取りレジスタ
データ(RXXX)はそのもとのアドレスロケーシヨン
へ再ストアされる(第40図参照)。
読取りレジスタ内容(RXXX)は今や、MCM92の
メモリバツフアレジスタ128へレシーバ/ドライバ回
路を介して送信される。サイクル終了(EOG)信号は
約1.5マイクロ秒で発生され、動作を終了する。EO
C信号は、他の動作がスタートされうるように、全ての
制御卦よびタイミングフリツプフロツプのクリアを達成
する。クリア/書込み動作の説明に関連して、クリア/
書込み動作は読取り動作と同じようにスタートされるが
、読取り/書込み動作は基本的にはもとのデータを再ス
トアすることのない読取り動作である点で異なる。
60ビツト書込みデータ信号(WNN)、書込みストロ
ーブ信号(WST)卦よび読取り/書込みモード信号(
RWM)は同時にMLM−MCMインタフエイスに生じ
る。
WNNデータはメモリ書込みレジスタ172にロードさ
れ、MSMスタツクへ書込むための書込みデータ選択(
WDS)信号を待合わせる。書込みデータ選択(WDS
)信号は(約750ナノ秒で)生じ、WNNデータをス
タツクロケーシヨンへ書込む。サイクル終了信号(EO
C)は前述したごとく読取り動作のために発生される。
さて読取り/変更/書込み動作の説明に戻ると、1この
動作はNワード保護動作期間中用いられ、続取り動作卦
よびクリア/書込み動作を、動作に影響を与えるに必要
な追加的な制御と組合わせる。
読取り/変更/書込み動作をスタートするために、IM
C信号(始動メモリサイクノリはMLM/MCMlイン
タフエイスに生じる(読取シ動作で説明した)。両制御
信号、読取り/変更/書込み(RMW)卦よびクリア/
書込み(CW)はまた(タイミング図のハイ(Hl9h
)として示したごとく)生じ、次の(1)〜(3)の動
作に必要な条件を確立する:(1)全てのロケーシヨン
からデータRXXを読出し、位置48(これはワードが
保護されているかどうかを表わす)の「1」ビツトをチ
エツクする;(2)もしもワードの1つが保護されてい
るならば、全てのもとのワードはアドレスロケーシヨン
へ読取り/再ストア動作を介して書戻される;(3)も
しもどのワードも保護されていないならば、新たなデー
タがアドレス指定されたロケーシヨンへ書込まれる。読
取りサイクルの期間中、RXXデータはMCM92に設
けられたメモリバツフアレジスタ128に転送され、保
護ビツトの発生のためにチエツクされる。
この期間中、MSM読取りレジスタ174はRXXデー
タを保持する。約1マイクロ秒の後、パリテイ情報スト
ローブ信号(PAR)がMSMタイミング論理186に
卦いて発生され、PAR信号はデータパリテイストロー
ブ信号(DPS)を発生し、このDPSはメモリ論理モ
ジユール176に卦いて用いられ、第2MCM発生1M
Cパルス(RMW動作に必要)が受信されることが可能
になる。IMC信号は再びメモリストーレツジモジユー
ル178のためにスタートメモリサイクル信号(SMC
)を発生するが、メモリストーレツジモジユールタイミ
ングは今や、動作の書込つみ部分からスタートする。
IMC信号が発生されるのとほぼ同時に、書込みデータ
(WNN)は書込みストローブ信号(WST)によつて
MLM書込みレジスタ172ヘロツクされる。もしもど
のワードも保護されないならば、メモリ選択ワード(M
SW)信号はMCM92によつて発生されず、MSMl
78のために発生された後続の書込み選択データ信号(
WSD)でもない。WSD信号によつて、読取りレジス
タ180の内容はメモリへ戻され、動作がEOC信号に
よつて終了する。もしもMSW信号(保護されないワー
ドる表わす)がMCM92によつて発生されるならば、
WSD信号は新たな書込みデータ(WNN)がメモリに
ストローブされることを可能にし、動作がEOC信号(
MSMタイミング論理186によつて発生される)によ
つて終了せしめられる。さてこの発明のデイスクフアイ
ルサブシステムを参照して、メインメモリ30のきわめ
て高速度の、モジユラの、ランダムアクセス増設は、デ
イスクフアイルサブシステムによつて得られ、制御卦よ
び交換を用いることによつて入力/出力モジユール10
とインタフエイスされたトラツクごとの読取りデイスク
フアイルメモリモジユール卦よびデイスクパツクメモリ
モジユールを含む。
デイスクフアイルオブテイマイザ(DFO)40の制御
の下で、トラツク毎のヘツドデイスクフアイルモジユー
ルは入力/出力モジユール10毎の情報の450X10
6ないし8×109個の8ビツトバイトをストアする能
力を有する最適条件化されたアクセスメモリバンクを形
成するように組合わされうる。名称から判るように、デ
ィスクフアイルオプテイマイザ40はメインメモリ30
とデイスクフアィルモジユールとの間のデータ転送(入
力/出力モジユール10卦よびデイスクフアイル制御8
1ならびに交換を介して)の速度を最適条件化rるため
に用いられる(第2図参照)。
制御情報の伝送のために、オプテイマイザ40はスキヤ
ンバスによつて入力/出力モジユールと結合され、直接
にまたは他のデイスクフアイルオブテイマイザを介して
間接的にデイスクフアイルと結合される。デイスクフア
イルオプテイマイザがなければ、トラツク毎のヘツドデ
イスクフアイルモジユールは組合わされて、ランダムア
クセスメモリバンクとされ得、入力/出力モジユール1
0毎に15X106ないし16×109個の8ビツトバ
ィトのストーレツジ容量を有する。デイスクパツクメモ
リモジユールは組合わされてランダムアクセスメモリバ
ンクとされ得、入力/出力モジユール10毎に121X
106ないし15.5X109個の8ビツトバイトのス
トーレツジ容量を有する。ディスクジョブが最適化され
ないデイスクフアイルサブシステムに関して、共通な交
換に対するデイスクユニツトの多数のジヨブリクエスト
のサービスは、各ジヨブリクエストのサービス間に固有
の遅延を含む。
この遅延は、ジヨブが各デイスクフアィル電子工学的ユ
ニツト(EU)171に対するIOCBの待合わせの下
で連結されねばならないような態様によるものであり、
換言すれば各ジヨプリクエストと現在のディスク位置(
ヘツドに関連した)とによつて特定されるデイスクスタ
ートアドレスに無関係だからである。なぜなら現在のデ
イスク位置は知られていない。デイスクフアイルオプテ
イマイザ40が用いられるこの発明のデイスクフアイル
サブシステムでは、多数ジヨブリクエストのサービス間
の固有な遅延は減少される。
ジヨブリクエストは、非最適化システムに卦けるごとく
EUl7lのための10CBの待合わせの下に卦いてで
はなく、DFO4OのためのIOCBの待合わせの下で
連結される。I/0HAコマンドを受信すると、UTワ
ードはフエツチされる。もしもDFOがセツトされるな
らば、ジヨブリクエストは可能なときに、自動的にDF
Oジヨベスタツクへ走査される。DFOはスタツクのジ
ヨプリクエストによつて特定化され、それらをヘツドに
対する現在のデイスク位置と比較する。この情報は、デ
ィスク/ヘッド位置に関連する現在の最適ジヨブリクエ
ストを表わすジヨブスタツクポインタを維持するために
用いられる。この現在の最適ジヨブリクエストは待合わ
せコントロールワールドと称される。DFOはIOMl
Oと、共通走査バス卦よび個別の状態ラインを介して通
信する。
状態ラインは10Mからのジヨブリクエストを走査バス
を介して受信するための個別的なりFOの能力に関する
情報を転送する。さらに状態ラインは、サービスを必要
とする待合わせコントロールワードの有用率を表わすレ
ベルを転送する。0M10のSCIセクシヨン76はこ
れらの状態ラインを走査して、待合わせコントロールワ
ードが任意のDFO4Oから得られるかどうかを決定す
る。
もしも任意のDFO4Oの状態ラインが待合わせコント
ロールワードの有用率を表わすならば、IOMlOのS
CIセクシヨン76は、DFOが接続される交換にデイ
スクチヤネルが使用可能かどうかを決定する。もしもそ
うならば、走査アドレスワードは10M10のトランス
レータ72卦よびSCIセクシヨン76によつてフオー
マツト化され、次に走査バスを介して全てのDFO4O
に送信される。走査バスを介して送信された走査アドレ
スワードの内容は、待合わせコントロールワードの有用
率を表わしている交換を同定する。走査バスの走査アド
レスワードは同定されたDFOによつてのみ識別され、
それゆえその本質はそのDFOに対する受入れである。
受信された走査アドレスワードに応答して、同定された
DFO4Oは走査情報ワードを走査バスを介してIOM
lOへ転送する。
このワードは完全なメモリ連結アドレスを含み、IOM
lOによつて用いられて、同定されたDFO4OのIO
Mジヨブマツプをさらにアクセスする。達成されたマツ
プアクセスは、ディスクジョブを制御すべきEUl7l
を同定する情報、EUl7lが使用可能かどうか、卦よ
び前に使用可能であつたデイスクチヤネルがまだ使用可
能かどうかを発生する。もしも全ての条件が適合すれば
、ジヨプは始動され、データはIOMlOのDFIセク
シヨン82と特定のEUl7lとの間を転送される。デ
ータ転送が終ると、ディスクジョブは正常に終了する。
もしも同定されたEUl7lが使用不可能である。か、
またはもしもデイスクチヤネルが使用不可能であるなら
ば、ディスクジョブはDFO4OのためのIOCBの待
合わせの下で再連結される。それは次に再びそのDFO
4Oへ転送され、ジヨブ始動に卦ける最適化卦よび他の
試みが行なわれる。DFOまたはIOMlOが故障して
いるならば、デイスクフアイルサブシステムの待合わせ
信頼性は、残余のDFO卦よびIOMによつて求められ
る。次の条件を設ける:(a)任意のデイスクフアイル
システムへのアクセスは残余のオンラインDFO卦よび
IOM(DFOと0Mとは故障)によつてまだ町能であ
ること:(b)残余のDFO4Oは任意のデイスクシス
テムを含むコントロールワードを待合わせることができ
ること(DFOは故障)卦よび(c)残余のIOMlO
はコントロールワードをいずれかのDFOへおよびDF
Oから転送し続けること(IOMは故障)。好ましい実
施例では、遠隔演算、遠隔照会、卦よびオンラインプロ
グラム化の能力は、データ通信サブシステムによつて得
られる。
このサブシステムは、データ通信プロセサ36、アダプ
タクラスタ、ラインアダプタ卦よび種々の遠隔ドライバ
を含むネツトワークから成る。データ通信ネツトワーク
の心臓部はデータ通信プロセサ36である。データ通信
プロセサ36は小形のプログラム可能な特定目的のコン
ピユータであり、データを多数のデータ通信ラインを介
して送信卦よび受信するためにのみ用いられる。中央プ
ロセサモジユール20に関連して、データ通信プロセサ
36は同期して動作し、一旦スタートすると、それは中
央プロセサとは独立して動作する。
入力/出力モジユール10のDCP/メモリィンタフエ
イス78を介して、データ通信プロセサは入力/出力モ
ジユール10の走査バスィンタフエイス76によつて検
査される。特徴的には、データ通信プロセサは次のコー
ド翻訳を達成することができる:(a) EBCDIC
からUSA−SClIへ、(b) EBCDICからR
CLへ、(c)USASCIIからEBCDICへ、(
d)USASCIIから内部へ、(e) BCLからE
BCDICへ、(f)内部からUSASCIIへ、卦よ
び(g)内部からBCLへ。好ましい実施例では、シス
テムのマスタクロツクは、MCM−0と記したMCMキ
ヤビネツトに収容される。
全てのMCMはマスタクロツクキツトを収容しうるよう
に構成されるが、唯一のクロツクはシステムによつて用
いられる。クロツクシステムのブロツク図は第41図に
示される。図示のごとく、マスタクロツク173は3つ
の回路板を含み、それらは水晶制御マスタクロツク17
5,2MHzカウントダウン177、卦よび水晶制御5
MHzクロツク179である。水晶制御マスタクロツク
175は次のような3つり出力を発生する:プログラム
制御ユ,−ツト56、ストーレツジユニツト66卦よび
実行ユニツト62のためのクロツク信号としてCPM2
Oに与えられjた16MHz信号;内部卦よびインタフ
エイスタイミングの基本的なりロツク信号として、通信
ユニツト68、IOMlO卦よびMDU26に与えられ
る8MHz位相1信号:ならびに内部卦よびィンタフエ
ィスタイミングの基本的クロツク信号として全てのMC
M92に与えられる8MHz位相2信号。
2MHzカウントダウン回路板177は8MHz位相1
信号をカウントダウンし、2MHzクロツク信号をデイ
スクフアイルオプテイマイザ(DFO9O)に与える。
(DFOは内部クロツク発生器を含まない)。5MHz
水晶制御発振器179はクロツク信号わデータ通信プロ
セサ36に与える。
好ましい実施例では、マスタクロツクシステラは、各モ
ジユール内の通常の電源から分離された特別の電源から
DC入力電力を得る。
それゆえ、もしもマスタクロツクを含むMCM92が閉
鎖されるならば、マスタクロツクは他のMCM卦よびシ
ステムモジユールを駆動し続ける。クロツク信号の他の
モジユールへの分配は(第41図に示すごとく)、10
0オーム同軸ラインによつて行なわれる。第41図の下
部に示すごとく、マスタクロツクは各モジユールの入力
に卦いてバツフアされる。
モジュールバッフアは各モジユール内の基本的クロツク
制御であり、その理由はバツフアへの入力が、マスタク
ロツク、単一パルス回路卦よび保守診断ユニツト(MD
C)26によつて、単一パルス回路を介して与えられる
からである。単一パルスが用いられるか、マスタクロツ
ク入力が用いられるかということは、各モジユールに設
けられたスイツチによつて制御される。モジユールバツ
フアは選択された入力のパルス幅卦よび振幅を制御する
。この発明のフエイルソフト}よび保守構成を参照して
、この発明のシステムはフエイルソフト設計について2
つの原理を具現化する。
第1には、システムの各モジユールはきわめて信頼性が
あること、第2には、システム全体として個別的なモジ
ユールの故障に拘らず機能し続けることである。したが
つて、フエイルソフト設計の基本的な目的は、任意の故
障に対して直ちに検出して分離する必要があり、さらに
2以上のシステム資源によつて使用可能なシステムの各
機能を得なければならない。換言すると、主な目的はシ
ステムの稼動時間を100%に保つことである。この目
的に最も深く関連する他の目的は、(1)システム劣化
を最小にすること、卦よび(2)ユーザ自身のデータ修
正を達成するために、ユーザにその手段を与えることで
ある。全部で3つの目的は、システム全体にわたるハー
ドウエアとソフトウエアとの構成の組合わせによつて達
成される。第1の目的(稼動し続けること)は次のごと
く達成される:システム全体のエラー検出回路を協働し
てシステムハードウエアの高信頼性によつて;メモリ内
エラーの単一ビツトエラ一修正;各モジユールの別々の
電源卦よび冗長の電圧調整器を用いて、ならびに冗長の
バスを用いて、ソフトウエア分析のためにエラーを記録
することによつて;故障モジユールを一時的に除外する
ためにシステムのモジユールを自動的に再構成すること
のできるマルチレベルオペレーテイングシステムの能力
によつて、第1の目的は達成される。
故障したモジユールを分離してシステムを再構成する能
力は、マルチレベルオペレーテイングシステムの主な機
能であるが、ソフトウエアを援助する・・−トウエアに
設けられた特徴がある。
たとえば、マスク論理によつてオペレーテイングシステ
ムはインタラプトの認識を遅延することが可能となり、
また4つのインタラプトマネージメントレベル、すなわ
ち動作の機械モードは、インタラプトが繰返されるとき
、周辺装置を3つに完全に変化するために用いられる。
これらの特徴によつて、マルチレベルオペレーテイング
システムは回復タスクが行なわれうる故障しない周辺装
置を求めることが可能となる(回復タスクとは、故障の
記録、検出されたエラーによつて影響されるジヨブの分
離、システム再構成、卦よび故障によつて影響されない
ユーザジョブの再スタートである)。,要するに、エラ
ーの検出卦よびりポートはハードウエアによつて行なわ
れ、エラーの分析はソフトウエアによつて行なわれ、シ
ステムの再構成はソフトウエアによつてダイナミツクに
行なわれる。システムのモジユラ化卦よび内部結合する
バスの冗長のゆえに、単一モジュールのまたは単一接続
の故障はシステムを全体的に不能動化することはない。
さらに、電源のモジユラ化卦よび臨界電圧のための冗長
の調整電源のゆえに、多機能DC電源の衝突は最小にさ
れ、破減的な故障には至らない。第2の目的(システム
劣化か最小にすること)は診断プログラム卦よび装置を
与えることによつて達成され、故障を同定しかて修正し
、修正されたモジユールがユーザのシステムへ戻る前に
修正されたモジュールに対する信頼を再確立する。
診断プログラムはオンラインの故障モジユールを同定す
る。保守診断ユニツト26のオフライン使用によつて、
任意のメインフレームモジユールまたはデイスクフアイ
ルォプテイマイザ40の故障は単一クロツク時間に近づ
き、フリツプフロツプ卦よびそれに関連の論理回路に限
られる。結局、保守診断ユニツト26の回路板テスタを
用いることによつて、故障した集積回路チツプが同定さ
れる。第3の目的(ユーザに装置を与えて、ユーザ自身
のデータ回復を達成すること)は、設備に備えつけのデ
イスク、保護デイスクフアイル、副デイスクフアイル、
卦よびシステムに用いられる高レベルプログラミング言
語による故障ステートメントなどのような特徴を用いる
ことによつで達成される。広範囲なエラーチエツク装置
は故障の早急な検出ができるように考慮しなければなら
ない一このことはソフトウエア設計の基本的前提である
この特徴は、システムの中央コンポネントのフエイルレ
ジスタに卦けるエラーと組合わされ、またメモリの単一
ビツトエラ一の修正と組合わされる。全ての演算動作の
剰余チエツクならびにデータ転送のパリテイチエツク卦
よび連続チエツクの使用は、中央プロセサモジユール2
0内のエラー検出を容易にし、プロセサ内部のインタラ
ブトが生じ、故障の原因はプロセサのフエイルレジスタ
70の内容によつて記録される。中央プロセサモジユー
ル20の実行ユニツト内では、実行ユニツトローカルス
トーレツジ卦よび他のユニツトから受信されたデータの
エラーを検出するためにパリテイが用いられる。
制御モード3剰余チエツクは、実行ユニツト62データ
路卦よびレジスタに卦ける、特にアダー卦よびバレルレ
ジスタに卦ける任意の場所のエラーを検出するが、実行
ユニツトローカルストーレツジまたは制御レジスタに卦
けるエラーは検出しない。また、剰余チエツクは実行ユ
ニツトからアドレスユニツトへ送信されたアドレスに対
して行なわれ、剰余は実行ユニツトによつてアドレスユ
ニツト60またはストーレツジユニツト66へ送信され
たアドレスに与えられる。さらに、剰余チエツクは余分
なデータ転送信号によつて生じたエラーを検出する主な
手段である。連続性チエツク、レジスタの現在の内容が
有効か否かを表わす有効性ビツトの使用は、最もよく用
いられる実行ユニツトデータ経路のデータ転送信号の不
存在卦よび時々の存在を検出するために用いられる。1
0M10のエラーを検出しりポートすることに関して、
データがシステムへまたはシステムから転送される任意
の動作に卦いて生じうるエラーを検出する設備がある。
入力/出力モジユール10のエラー検出の構成のなかに
は、全てのデータ転送のパリテイチエツク、全ての演算
動作の剰余チエツク、全てのローカルメモリ動作のパリ
テイチエツク、メモリ転送卦よび走査バス動作の休止、
メモリバウンドチエツク、不明瞭なコマンド卦よび条件
の検出、ならびにレジスタ間の転送である。特別な注意
はメインメモリ30をアドレス指定するときにされる:
剰余チエツクはメモリアドレスの計算の際に行なわれ、
バウンドチエツクはメインメモリへのアクセスを得よう
とする試みがさされるたびに行なわれる。故障が入力/
出力サブシステムで生じるとき、それは故障を指摘する
結果デスクリプタ(RD)にりポートされる。
もしも故障が特定のリクエストまたは装置に関連しない
ならば、それはまた入力/出力モジユール10のフエイ
ルレジスタヘリポートされ、IOMエラーインタラプト
信号が発生される。入力/出力リクエストに関連する。
または周辺装置に関連せるエラー(たとえば磁気テープ
ユニツトのバリテイエラ一)は、結果デスクリプタにの
みりポートされる。さらにエラーが生じる装置のサービ
スは阻止され、チヤネルインタラプトは、もしもソフト
ウエアによつてリクエストされるならば、トリガされる
。全ての単一ビツトメモリエラ一は検出され修正される
;メモリ制御モジユール(MCM)92のフエイルレジ
スタ112は故障に関する情報によつてロードされ、リ
クエスタ(中央プロセツサモジユール20または入力/
出力モジユール10)は故障(フエイル2インタラプト
が発生される)卦よび生じたエラーの形式について知ら
せられる。
メモリ制御モジユール92が単一ビツトエラ一修正をす
ることができる能力は、有用率をきわめて増大するが、
さらに重要なことは、パターンが確立されてしまうまで
存在する一時的なエラーの発生源を減じる。この発明の
システムでは、一時的なエラーは修正され、フエイルレ
ジスタ内容の記録は故障パターンを確立するための情報
を与える。メモリの2ビツトエラ一の検出卦よびりポー
トは検出されりポートされるが、修正はされない。再び
、メモリ制御モジユール92のフエイルレジスタ112
は故障に関する情報によ・つてロードされ、リクエスタ
は故障(フエイル1インタラプトが発生される)卦よび
生じたエラーの形式について知らせられる。(フエイル
1インタラプトは、修正されえないメモリエラーが生じ
たときに、必ず発生される)。今論じたエラー検出能力
を効率よく用いるために、エラーの分離が必要である。
エラーの分離を達成するには、システムモジユール卦よ
びインタフエィスを論理的に組織するだけでなく、シス
テムモジユール卦よびインタフエィスを論理的に組織し
、モジユールの物理的冗長卦よびモジユールの分離を行
なう。モジユール間通信のための冗長モジユールアドレ
ス選択のような論理構成は、もしも単一接続故障が全て
のモジユール間連絡を不能動化することができるならば
、役に立たない。したがつて好ましい実施例では、モジ
ユール間配線}よび電力分配はモジユールの独立性を保
つように設計される。メインフレームモジユールの独立
性は、分配スイツチングインタロツクの使用によつて、
卦よび分配フエイルソフト電力サブシステムによつて達
成される。分配スイツチングインタロツクは全てのメイ
ンフレームモジユールを相互接続する。スイツチングイ
ンタロツクは単一の物体として存在するが、メインフレ
ームコンポネントの中に分配され、それゆえその動作の
ための任意の1つのコンポネントに依存しない。中央プ
ロセッサ卦よび入力/出力モジユールはクリエスタとし
て処理され、各モジユールはメモリモジユール30aの
各々への独特の経路を有する。メモリ制御モジユール9
2の各々に卦けるパリテイリゾルーシヨン論理116は
、各リクエJャXタが働らかされることを確実にする。さ
らに、各メモリ制御モジユール92のソフトウエアによ
つてセツトされうるアクセスマスクも存在する。この構
成によつて、システムはいくつかのシステムに分割され
るが、さらに重要なことは、動作プログラム卦よびデー
タベースを含むメモリモジユール30aからの疑わしい
または故障リクエスタ(中央プロセサ卦よび入力/出力
モジユール)を閉鎖する能力を有することである。メイ
ンフレームコンポネント間のインタフエイス問題は容易
に解決される。
なぜなら全てのメインフレームコンポネントは相互接続
されているから。プロセツサ間の通信はインタラプト卦
よび共通のメモリを用いることによつて容易に維持され
る。プロセツサがロード共有モードで動作されるとき、
故障プロセツサはその故障によつて検出され、メモリの
状態表を更新する。他のプロセツサは次に全ロードを選
び、メモリから故障したプロセツサを閉鎖し、故障プロ
セツサによつて達成されているタスクの回復処理を始め
、システムオペレータへ故障を知らせる。全ての情報は
全てのプロセッサに使用可能であるから、プロセツサは
入力/出力リクエストを始めることができ、入力/出力
動作の終了に応答しうる。モジユラ一化フエイルソフト
システムの真のテストは、他のモジユールとのインタフ
エイスなしにモジユールの保守を達成しうるかどうかと
いうことである。
したがつてこの発明のシステムでは、電源は或るモジユ
ールの電力シーケンスが他のモジユールとインタフエイ
スしないように分配される。システムの中央コンポネン
トは別々の電源卦よび電圧調整器を有するだけでなく、
非常用電源は各モジユール内に二重に設けられる。故障
の迅速な固定と修正とは、信頼性のある診断プログラム
の使用によつて、ならびに保守診断ユニツト26のモジ
ユール}よび回路板のテスト設備の使用によつて、達成
される。
システムの中央コンポネント卦よび周辺装置の両者のた
めのオンライン卦よび待機信頼性ならびに診断プログラ
ムは、システムのソフトウエアとして設けられる。さら
に、保守診断ユニツト26によつて用いられるテストテ
ープは中央プロセツサモジユール20のオフラインテス
トのために設けられる。好ましい実施例では、保守診断
ユニツト26は、専用磁気テープユニツト35に関連し
て中央プロセツサモジユール20、入力/出力モジユー
ル10、メモリ制御モジユール92卦よびデイスクフア
イルオプテイマイザ40のオフラインテストの際に用い
られ、システムのこれらのコンボネントの回路板テスト
の際にも用いられるコンソールである。
オンライン信頼性卦よび診断プログラムの使用によつて
、故障モジユールが固定されるとき、トラブルの原因は
先ず回路板レベルにさかのぼり、最終的には保守診断ユ
ニツトの設備をテストするモジユールおよび回路板の使
用によつて回路レペルにさかのぼる。E.保守診断ユニ
ツト 保守診断ユニツト26はテストされうる全てのモジユー
ルに専用ケーブルによつて永久的に接続される。
テストは専用磁気テーブユニツト35から始まり、また
は保守診断ユニツト26のパネルから手動的に始まる。
テストされるモジユールは保守のために用いられる論理
回路を有するので、保守診断ユニツト26はこれらのモ
ジユールの全てのフリツプフロツプを制御し(セツト卦
よびりセツト)、サンプリングすることができる。保守
診断ユニツト26はテスト中のモジユールのクロックを
制御する;単一クロツクパルス卦よびクロックパルス列
が用いられうる。保守診断ユニツト26のモジユールを
テストする方法は、フリツプフロツプの状態と予め記録
された標準とを比較するために1クロツク時間だけ故障
モジユールを動作させることである。
このようにして、トラブルはクロツク時間まで、ならび
にフリツプフロツプ卦よびそれに関連した論理回路まで
さかのぼる。同様にして、保守診断ユニツト26の回路
板テスタによる故障回路板のテストは、入力パターンを
回路板に与え、その出力をサンプリングし、それらを予
め定めた標準と比較することによつて行なわれる。実装
配分されたデイスクによつて、ユーザは非常用デイスク
フアイルの物理的アロケーシヨンを特定することができ
、これらのフアイルの保守卦よび再構成を容易にする。
保護デイスクフアイルによつて、ユーザは、予期しない
システム故障の前にフアイルに書込まれた有効なデータ
の最後の部分へのアクセスを得ることができる。二重の
デイスクフアイルの使用は、致命的なデイスクフアイル
エラ一の問題を避けるためである。マルチレベルオペレ
ーテイングシステムは各デイスクフアイル行の2以上の
コピーを維持し、もしもアクセスがレコードに得られな
いならば、レコードのコピーへのアクセスを得る試みが
なされる。故障ステートメントを使用することによつて
、ユーザはエラーが生じたとき波のプログラムによつて
とられるべき動作を決めることができる。さて、この発
明の情報処理システムの種々のコンポネントを論じてき
たが、次に好ましい実施例のマルチレベルオペレーテイ
ングシステムについて論じる。
この発明のシステムは、ハードウエア卦よびソフトウエ
アの両者の真の合成である。
この発明のソフトウエアは追思案のものではない。一方
では、ソフトウエアによつて取扱われる多くの機能は・
・ードウエアに組込まれ、他方ではシステムのハードウ
エア資源の制御卦よびバランスのとれた使用はソフトウ
エアに依存する。この発明のソフトウエアについて、注
目すべき2つの特徴がある:(1)それはすべてハイレ
ベルのコンパイラ言語で書かれ、アセンブリ言語や機械
言語では書かれないこと、(2)全てのアプリケーシヨ
ンプログラム、コンパイラ}よび実用プログラムを処理
することが可能であること。第1の特徴によれば、人間
と機械との両者が理解しうる言語を与えることによつて
、人間がコンピユータと通信する困難が減ぜられる。し
かるに第2の特徴はソフトウエアの機械コード両立性を
与える。F.マルチ(多重)レベルオペレーテイングシ
ステムこの発明のマルチレベルオペレーテイングシステ
ムは、核200卦よび1以上の制御プログラム202か
ら成る。
核200はオペレーテイングシステムの核心であり、ハ
ードウエアとの直接のインタフエイスを与え、制御プロ
グラム202に動作周辺装置を与える。第42図を参照
されたい。データ処理システムのソフトウエア制御に対
してマルチレベルアプローチを採用した理由は2つある
。第1に、マルチレベルオペレーテイングシステムの制
御の下でいくつかの制御プログラムを同時に実行するこ
とが可能であり、各々は、もしもバツチ処理、ハードウ
エアモジユールのテストまたはタイムシエアリングであ
るならば、特定の形式のアプリケーシヨンすなわちジヨ
プを行ないうるように設計される。各制御プログラムは
、資源アロケーシヨン卦よび特定種類のジヨブに適した
スケジユールの方法を用い、不適当な方法は含む必要が
ない。それゆえ、マルチレベルオペレーテイングシステ
ムの制御の下でいくつかの制御プログラムはハードウエ
アシステムを共用することができ、制御プログラムの制
御の下で行なわれる各ジヨブは、それを制御する制御プ
ログラムの特定の設備によつて有利となる。さらに、こ
の装置つ によつて、ユーザの製造環境形式の分離、た
とえば実験的なシステムソフトウエアがデバツクされて
いる環境の分離が可能になる。第2には、マルチレベル
オペレーテイングシステムをさらにモジユラ化すること
によつて、それ5はさらに理解しやすく、且さらに管理
しやすくなり、そのため書込み、保守卦よび増設が容易
となる。
事実、ユーザは彼自身の特別の制御プログラムを書込む
ことができ、さらにまたマルチレベルオペレーテイング
システム卦よび標準の在来の制ノ 御プログラムによつ
て与えられる基本的機能の使用が可能である。核200
のいくつかの機能は次のものを含む:(a)バーティシ
ヨン卦よび物理的なスケジユールを含む・・−ドウエア
資源、(b)物理的なI/0始動卦よび終了、(c)イ
ンタラプト取扱い、(d)ブログラムによる休止/ロー
ド卦よび他のシステムエラー回復機能。しかるに、この
発明の制御プログラム202はユーザプログラム206
の動作周辺装置を与える。制御プログラム202の信頼
性は次のものを含む:(a)ブロセス中の割当てられた
資源のサブーアロケーシヨン、(b)特定の物理的1/
Oリクエストを規定するまでのフアイル取扱い}よび論
理1/0機能、(c)核200によつて戻されたインタ
ラプトの取扱い、ならびに(d)ユーザプログラムエラ
ー回復機能。構造上、この発明のマルチレベルオペレー
テイングシステムは、システムの基本レベルとして核2
00を含むと考えることができ、制御ブログラム202
は次のレベルであり、ユーザブログラム206はシステ
ム動作の第3レベルである。一般に、各レベルのプロセ
スは、それが次のよb高いレベルで生じるプロセスに対
して負荷となり、他の負荷とはならない。この発明の情
報処理システムのコンポネントに対する前述の説明から
明らかなように、特別に注目すべきは信頼性、エラー検
出、エラーリポート卦よびエラー回復である。
たとえば、その注目すべきものは、或る電源の故障が他
の電源に影響しないことを確実にするために各コンポネ
ントキヤビネツトの個別的電源;或るデータ経路の故障
が他に影響しないことを確実にするための独特のデータ
経路;データの正確さを確実にするために中央プロセツ
サモジユール20の剰余卦よび連続性チエック;故障の
原因を含みうるフエイルレジスタ:自動的に単一ビツト
エラ一を修正し、2ビツ ノトエラ一を検出することが
できる単一ビツト修正メモリ;チツプレベルにまで可能
な問題を診断するために用いられる保守診断ユニツト2
6;ならびにエラー回復を単純化するマルチレベルイン
タラプトシステムである。この発明のマルチレベル l
オペレーテイングシステムの設計はまた、システム信頼
性に関連する。次のパラグラフで詳細に述べるが、いく
つかの特徴は次のものを含む;個別的な制御プログラム
202の周辺装置を分離し、或る装置の故障が他に影響
しないこと;核200二によつて常時モニタし、プロセ
サ(CPM2O)の故障を検出すること、さもなくばり
ポートされない;エラーに含まれるシステム部分のイン
タラプト卦よびフエイルレジスタによつて、他のシステ
ム部分に影響せずにりポートされたエラー条件の分析;
システム全体を休止するかもしれないエラーの回復を可
能にするため;マルチレベルインタラブトシステムのソ
フトウエア実現;ならびにシステムの他の部分に影響す
ることなく故障をしたシステム部分を再始動することが
できるプログラム休止/ロード構成。好ましい実施例で
は、各制御プログラムは通常それ自身のメモリ、周辺装
置卦よびデイスクに設けられる。
多数の制御プログラムを同時に稼動する能力によつて、
各制御プログラム202は特定のアプリケーシヨン卦よ
び周辺装置に最適化される。このことによつて、ユーザ
は特定のアプリケーシヨンのために制御プログラムを生
じることができ、他の処理のために汎用制御プログラム
を同時に用いることができる。さらに、各制御プログラ
ムはそれ自身の周辺装置内で動作し、そのため或る制御
プログラムの故障は他の制御プログラムに影響しない。
このことによつてユーザは同時に発生卦よびテスト環境
を動作することが可能となり、そのため発生動作はプロ
グラムデバッグによつて影響されないままである。した
がつてシステムの信頼性は、一部分は、制御プログラム
周辺装置の分離によつて達成される。
核は制御プログラム202とシステムハードウエア20
4との間のインタフエイスとして働らく。したがつて核
は最終的には、エラー条件の検出卦よび限界に影響する
。核200の基本的な機能の1つは、プログラム202
を制御するために、ハードウエア卦よびそのハードウエ
アのアロケーシヨンの直接制御である。
好ましい実施例では、核200によつて再び用いられる
資源アロケーシヨンは物理的な資源に基づき、その刺激
となるのは(1)制御プログラム202が特定しうる資
源のより大きな制御;(2)これらの資源の利用に対す
るより大きな制御;および(3)モジユール故障(CP
M,IOM,MCM)が或る制御プログラム202にの
み影響することを確実にすることである。制御プログラ
ムストーレツジ環境を表わすメモリ、周辺装置卦よびデ
イスク資源は始動時にはパラメータとして制御プログラ
ム202を通過する。この資源アロケーシヨンは、始動
時から始動時まで、特にデイスク要件以外の場合まで幾
分静的である。しかしながら仮定を設ける:オペレータ
はアロケーシヨンを変更する、制御プログラム202は
資源をリクエストし、または資源を核200へ戻し(使
用可能なシステム資源から、またはその資源へ)、核2
00は追加的な資源を制御プログラム202へ通す。後
述のごとくシステムの制御と称してマルチレベルオペレ
ーテイングシステムをマスタ制御プログラム(MCP)
に設けるために、MCPコードフアイルはデイスクにロ
ードされなければならず、ロードデイスクユニツトの非
アドレスOからスタートする。さらにMCP情報表卦よ
びデイスクデイクシヨナリはデイスクに提示されなけれ
ばならない。これらの初期条件が満足されたとき、休止
/ロード動作はMCPの第1の8192ワードをメイン
メモリ30へ読込むために用いられ(メインメモリ30
は16,384ワードのプログラム論理セグメントを制
御するように配分される)、MCPを実行し始める。M
CPコードフアイルデイスクへ磁気テープからロードし
、MCP情報表卦よびデイスクデイクシヨナリを発生し
または訂正する機能は、システムローダプログラムによ
つて達成される。このプログラムは機械コードインスト
ラクシヨンを含むカードデツキの形式であり、初期条件
設定のパラメータを特定するデータカードが後続する。
特設された項目は、I/0サブシステムの使用可能な形
式卦よび番号ならびにその形状、デイスクデイクシヨナ
リ卦よびオーバレイのために用いられるデイスク領域の
大きさ、バツクアツプまたは再構成のために用いられる
デイスクユニツト、特定の管理コンソールに表示される
べき表、MCPがロードされるべきテープ、ならびに種
々の稼動時間システム選択を含む。好ましい実施例では
、プロセツサハードウエアインタラプトシステムはMC
P卦よびシステムハードウエア間の主たるインタフエイ
スである。ハードウエアインタラプトは自動的且或る条
件の下でシステムによつて発生され、MCPインタラプ
ト処理によつて取扱われる。インタラブトは、もしも予
め定められた条件が生じるならばそれが行なつているジ
ヨブからプロセツサを外す手段である。ハードウエアイ
ンタラプトがMCPによつて処理されたとき、MCPは
(もし条件がそのとき許容するならば)インタラプトプ
ロセスを再活性化する。プロセツサがMCPの処理を行
なうインタラプトを実行しているとき、それは制御状態
、プロセツサの2つの動作状態の一方にある。
中央プロセツサ20は次の2つの状態のいずれかで動作
することができる:MCPを実行する際に用いられる制
御状態、またはユーザプログラム}よび或るMCP機能
を実行する際に用いられる正常状態。マルチプロセサシ
ステムでは、各プロセツサはそれ自身のインタラプトを
用いる;すなわち全てのプロセツサは同時に制御状態と
なりうる。プロセツサスタートされ、或るインタラプト
条件が生じると、制御状態へのエントリが生じる。
制御状態では、プロセツサは正常状態では得られない特
別のインストラクシヨンを実行することができ、種々の
クラスのインストラクシヨンはプログラムによつて抑止
されたり許容されたりする。MCPが正常状態プログラ
ムを始動したわ、またはインタラプト後の正常状態プロ
グラムに戻つたりするときは必ず制御状態から正常状態
への移行が生じる。後者の場合、ユーザプログラムはイ
ンタラプトが生じたときプロセス中のプログラムへ戻ら
なくてもよい。正常状態はMCPに必要な特別のインス
トラクシヨンの使用を排除し、無効なオペレータのハー
ドウエア検出を可能にし、メモリ保護}よび安全設備を
強制する。
インタラプト条件の結果として、または制御状態プログ
ラム、たとえば実行1/0への呼出しによつて、正常状
態からの移行が生じる。多くのMCP機能は正常状態に
稼動される正常状態MCP機能へのインタラプトは能動
化されうる。ハードウエアインタラプトは内部卦よび外
部インタラプトとして分類することができる。
内部(シラブル依存卦よびシラブル独立)インタラプト
に対して、システムの各プロセツサは個別な内部インタ
ラプトネツトワークに設けられる。プロセツサに関連す
る内部インタラプトは直接にこのネツトワークに与えら
れ、プロセツサにローカルにスタツクされる。しかるに
、外部インタラプトはシステムの任意のプロセツサによ
つて動作される。シラブル依存インタラプトはプロセツ
サオペレータ論理によつて検出される。これらは、算術
エラー、存在ビツト、メモリ保護、卦よび無効オペラン
ドインタラプトを含む。プログラム制御が与えられる算
術エラーインタラプト卦よび存在ビツトインタラプト以
外にこのゲループのインタラプトは一般にプログラム終
了になる。シラブル独立(警報)インタラプト条件は、
プロセツサ動作論理によつて通常は先行されない;それ
らはプロセツサに環境の或る不都合な変化を知らせ、・
・−トウエアならびにプログラムエラーから生じる。こ
れらのインタラプトは、メモリからの誤つた読取り、無
効なアドレス卦よび無効なインストラクシヨンワードの
ためにそれらを含み、全てが含まれたプロセスの終了と
なる。外部インタラブト条件は警報インタラブトに似て
いて、その類似点はそれらがオペレータ論理によつて先
行されないことである。しかしながら、それらは通常は
迅速な動作を必要とせず、必ずしもプログラムの終了と
はならない。これらはチヤネル相互間卦よび内部のタイ
マインタラプトを含む。通常、故障したりまたは保守の
ために閉鎖されなければならないハードウエアモジユー
ルを減じるための7システム再構成は、MCPによつて
自動的に取扱われる。ユニツトを閉鎖したり接続を外す
ことができるための基本的な標準は、それが或るプロセ
スによつて同時に用いられているかということである。
もしも、たとえば、メモリモジユール30aが閉鎖され
るならば、データをアクセスする試みによつて、殆んど
確実にアドレスが無効となろう。しかしながら、もしも
同時に用いられないユニツト、たとえば磁気テープ駆動
が閉鎖されるならば、システムは何も生じなかつたかの
如く機能し続ける。特定のユニツトが閉鎖されるべきこ
と、}よびMCPはユニツトの使用を避けるためにシス
テムを再調整することによつて応答すべきことを表わす
コマンドをMCPへ発生することが可能になる。ハード
ウエアインタラプト条件が生じたとき、インタラプトプ
ロセツサは制御状態となり、スタツクをマークし、3ワ
ードをスタツク頭へ挿入する。第1エントリは、MCP
ハードウエアインタラプト処理を指定するプログラムコ
ントロールワード(PCW)を含むレジスタを指定する
間接りファレンズワードである。第1エントリは2つの
インタラブトパラメータP1卦よびP2を後続し、それ
らはインタラプト条件の特性を表わす情報を含む。プロ
セツサがMCPハードウエアインタラプト処理を行なう
とき、それは外部インタラプト処理を行なうとき、それ
は外部インタラプトを不能動化するために制御状態のま
まである。プロセサ実行状態(制御または正常)はPC
Wの制御ビツトによつて決定される。制御ビツトが「0
N」のとき、プロセツサは制御状態の処理を実行する。
さもなければ、それは正常状態で実行する。ハードウエ
アインタラプト処理に入ると、パラメータが分析され、
生じたインタラブトの形式を決定する。提示ビツトイン
タラプトのような或るィンタラプトに対し、P2はイン
タラプト処理によつて用いられるべき追加的な情報を含
む。適宜5の動作がそれから始まる。MCPは、記述さ
れる領域内に割当てられるメモリ連結の使用によつて、
ストーレツジ有用率のレコードを維持する。
各形式のメモリリンクは、単一ハードウエアオペレータ
が次のメモリ連結卦よび全ての連続するメモリを見出す
に充分な情報を含むリストを形成するように連結される
。メモリ領域は、それらの現在の状態によつて、使用中
または使用可能なものとして分類される。詳しく言うと
、使用中メモリ連結は、リクエストプロセスのスタツク
数、使用領域の長さ、「0FF」位置にセツトされた有
用率ビツト、領域の使用を表わすコード、最終の予め配
分された領域}よび次の使用領域への連結などを含む。
使用可能メモリ連結は、領域の長さ、「ON」位置にセ
ツトされた有用率ビツト、次の}よび最後の使用可能な
領域への連結を含む。MCPは、全てのシステムストー
レツジ媒体、すなわちメインメモリ30、磁気デイスク
およびシステムライブラリ磁気テープの環境制御ルーチ
ンの使用によつて、ダイナミツクストーレツジアロケー
シヨンを達成する。
異なるシステムストーレツジ媒体を一群のメモリと力え
ることによつてMCPは全システムメモリのアロケーシ
ヨンおよび再アロケーシヨンを制御する。メモリ保護は
、ハードウエアおよびソフトウエア装置の組合わせによ
つて得られる。
ハードウエア構成の1つは、指定されたデータ領域を超
えてプログラムによつてインデクスする試みを自動的に
検出することである。他は、保護ビツトをセツトせしめ
るメモリのワードヘユーザプログラムが害込むのを防ぐ
ために、メモリ保護ビツトとして各ワードの制御ビツト
の1つを用いることである。(保護ビツトはソフトウエ
アによつてセツトされる)。そのような書込み動作を達
成する試みは抑止され、インタラプトが発生されてプロ
グラムの終了となる。したがつてユーザプログラムは実
行期間中、プログラムセグメント、データデスクリプタ
、または任意のプログラムワードもしくはMCP表を変
えることができない。好ましい実施例では、MCPはシ
ステムおよびプロセス状態のスタツク、デスクプリタお
よび表の使用によつて、ジヨブを制御し続ける。
或るスタツクはシステムの各ジヨブに関連する。前述し
たとおり、スタツク、メモリの隣接領域は基本的なプロ
グラムおよびデータリフアレンスのストーレツジを与え
るためのジヨブに即]当てられる。それはまた、データ
およびジヨブ経過の一時的ストーレツジを与える。ジヨ
ブが中央プロセツサ20で達成されるとき、高速度スタ
ツク頭プロセツサロケーシヨンはジヨブスタツクメモリ
領域へ連結される。この連結は、スタツクに設けられた
最後のワードのアドレスを自むスタツクポインタレジス
タ(Sレジスタ63)によつて確立される。さらに、ス
タツクメモリ領域の頭部分はCPM2Oのスタツクバツ
フア50、すなわちプロセツサローカルICメモリの領
域に設けられ、中央プロセツサモジユール20の実行ユ
ニツト62によつてスタツク取扱いの迅速なアクセスを
与える。データは、ラストイン・フアーストアウトの原
理に従つて、スタツク頭ロケーシヨンを介してスタツク
へまたはスタツクからもたらされる。スタツク頭ロケー
シヨンの全容量は2オペランドである。第3オペランド
をスタツク頭ロケーシヨンヘロードすることによつて、
第1オペランドはスタツク頭レジスタからスタツクへ押
込まれる。スタツクポインタレジスタ(S63)は、各
ワードがスタツクから引出され、スタツク頭レジスタへ
入れられるとき、1だけ増加する。そのため、Sレジス
タはジヨブスタツクへ人れられた最後のワードを連続的
に指定する。前述のとおり、ジヨブスタツクは2つのレ
ジスタ、すなわちスタツク基底レジスタ(BOSR)6
5およびスタツク制限レジスタ(LOSR)67による
メモリ保護のために、拘束される。
BOSRの内容はスタツクの基底を規定し、LOSR6
7はスタツクの上限を規定する。ジヨブは、もしもSレ
ジスタ63がLOSR67またはBOSRのいずれかに
?まれた値にセツトされるならば、インタラプトされる
。デスクリプタはメモリのデータおよびプログラム領域
を位置決めするために、ならびに制御の目的でこれらの
領域を記述するために用いられる。
デスクリブタはユーザプログラムによつて用いられうる
絶対アドレスを含むワードでしかない。しかしながらユ
ーザプログラムはそれらを代替することはできない。好
ましい実施例では、デスクリプタは3つのカテゴリ、す
なわちデータ、ストリングおよびセグメントに分割され
る0データデスクリプタは入力/出力バツフア領域を自
むデータ領域を照会するために用いられる。データデス
クリプタは、デスクリプタに自まれる基底アドレスから
スタートするメモリ領域を規定する。メモリ領域のワー
ド数は、デスクリプタの長さフイールドに含まれる。デ
ータデスクリプタは任意のメモリワードアドレスを直接
にりファレンズする。ストリングデスクリプタは、4,
6または8ビツトキヤラクタとして組織されたデータ領
域を照会する。デスクリプタはデスクリプタ内で配向さ
れた基底アドレスからスタユトするメモリ領域を規定す
る。メモリ領域の大きさは長さフイールドによつて規定
される。セグメントデスクリプタはプログラムセグメン
トを位置決めするために用いられる。これらのデスクリ
プタは特定セグメントのメインメモリ30またはデイス
クフアイルアドレスのいずれかを含む。全プログラムは
、セグメントデイクシヨナリスタツクに共通なセグメン
トデスクリプタを介して入力されたり出力されたりする
すべてのデスクリプタのりファレンズは関連がある。任
意のプログラムセグメントのメモリへの人力またはメモ
リからの出力は、そのセグメントデスクリプタの提示ビ
ツトを変えることによつて行なわれる。どんな種類のス
タツクサーチも不要である。さらに、MCPはシステム
およびプロセス状態を要約する表をもつている。
混合表は、システムに入力された各ジヨブのパリテイ状
態(スケジユールされた、能動的なまたは依存的な)お
よび混合インデスクを自む。周辺ユニツト表はシステム
の各周辺ユニツトのエントリを有する。各エントリは対
応の状態およびそのユニツトに関連のフアイルを自む。
稼動されるべきジヨブのシーケンスならびに優先定格お
よび各オブジエクトプログラムのシステム要件を考慝し
、かつ現在のシステム構成を考慰する最適プログラム混
合は、MCPのルーチンをスケジユーリングすることに
よつて決定される。
MCPはダイナミツクスケジユーリングアルゴリズムと
協働する、すなわちより高い優先ジヨブがシステムへ導
入されるときは常にジヨブシーケンスが再スケジユール
される。ジヨブ優先は優先ステートメントの使用によつ
てプログラマ規定される。もしも優先がプログラマによ
つて特定されないならば、最大可能優先の1/2の不履
行値がMCPによつて割当てられる。優先の計算は、M
CPの光分に分離されたセクシヨンで達成される。した
がつてユーザは優先アルゴリズムを彼の特定の要件に容
易に適合することができる。各ジヨブがシステム入カニ
ニット(カードリーダまたは擬似カードリーダすなわち
磁気テープまたはデイスク)から読取られるとき、「制
御カード」インタラプト処理によつてシート待合わせ行
列へのエントリが行なわれ、各バツチモードプロセスを
スケジユールする。シート持ち行列は実行を待機するプ
ロセスの連結されたリストである。シート持ち行列の各
エントリは部分的につくられたプロセススタツクである
。このスタツクに台まれる情報は次のものによつて必要
とされるメインメモリ30の評価量を台む:フ狛セス、
優先、スケジユールへのエントリの時間、コードセグメ
ントの大きさおよびロケーシヨン、動作中のストーレツ
ジスタツクの大きさ、ならびにプロセススタツク情報の
大きさおよびロケーシヨン。「制御カード]がそのタス
クを完了した後、もしも光分なシステム資源があれば、
エントリはシート持ち行列から、準備持ち行列と称され
る持ち行列へ移る。光分なシステム資源が存在して他の
ジヨブが混合へ許容されるならば、RUNと称される独
立稼動ゾロセスがスタートされる。RUNはメインメモ
リ30にあるジヨブのセグメントデイクシヨナリを作り
、ジヨブへ制御を転送する〇データ通信設備によるシス
テムへのリアルタイムおよびタイムシエアリングアプリ
ケーシヨンは、マルチプログラミング混合へ単に付加す
るだけでよい。
制御が新たなジヨブへ転送されるや否や、外部プロツク
コードセグメントはメインメモリ30に発生されないた
め、インタラブトが生じうる。このインタラプトはMC
Pの「提示ビツ目処理によつて取扱われる。
「提示ビツト」および次の動作は、セグメントをメモリ
へ入れるために生じる:(1) 「提示ビツト」は核2
00の「スペース獲得」機能をコールし、メインメモリ
30の領域をコードセグメントのために配分する(「ス
ペース獲得]機能はリクエストを満たすスペース量を配
分するように働く);(2)領域が配分された後、提示
ビツトはDISKIO機能、デイスク人力/出力処理を
コールし、セグメントが読取られた表示を待合わせる:
(3) DISKIOはリクエストを[/0待合わせ行
列へ連結する。デイスク入力/出力処理が終了すると、
「提示ビツト」はセグメントが今や使用可能であること
を知らされる。1一提示ビツト」は現在のセグメントデ
スクリプタをマスクし、インタラプシヨン時のジヨブへ
戻り、ジヨブは稼動し続ける。
メモリ内のプログラムは別々に配分された領域を有する
:すなわちプログラムの各部分はメモリのいずれかに存
する。
実際のアドレスはMCPによつて決定される。さらに、
種々の部分は必ずしも適宜のメモリ領域に割当てられな
い。スタツク内のプロセツサおよびデスクリプタ内のレ
ジスタは、プログラム実行時に種々の領域のベースを表
わす。プログラムの別々に配分された領域は次のものが
ある:(1)プログラムを実行する際プロセツサによつ
て達成されるインストラクシヨンのプログラムセグメン
トシーケンス;(2)セグメントデイクシヨナリ、各プ
ログラムセグメントに1ワードを自む表:このワードは
プログラムセグメントがメインメモリにあるか、デイス
クにあるかを表わし、その対応のメインメモリ30また
はデイスクアドレスを与える;(3)スタツクはプログ
ラムに関する全ての変数を含み、ジヨブが実行されてい
るときそのジヨブのダイナミツク状態を表わすコントロ
ールワードを含む;(4)ブ0グラムによつて用いられ
るデータ領域は、プログラムスタックのデータデスクリ
プタまたはストリングデスクリプタによつて照会される
;(5) MCPスタツクおよびセグメントデイクシヨ
ナリは、MCPおよびMCPセグメントデイクシヨナリ
エントリに関連する変数を自む。
ジヨブが稼動するとき、プログラムコードおよびデータ
の追加的セグメントが必要となる。
ジョブスタツクは単純な変数およびアレーデータデスク
リプタのためのストーレツジロケーシヨンを含むが、プ
ログラムコードセグメントおよびアレー行はそれら自身
のメモリ領域に割当てられる。コードセグメントおよび
アレー行のための別々のメモリ領域をこのように割当て
ることによつて、セグメントおよびデータは、それらが
実際に必要とされるまでメインメモリ30からなくなる
。したがつて、データデスクリプタまたはセグメントデ
スクリプタによるデータまたはコードのりファレンズは
プロセツサにデスクリプタの提示ビツトをチエツクさせ
る。もしも提示ビツトがオフであるならば、制御を提示
ビツトへ転送するインタラプトが生じる。非提示デスク
リプタはパラメータとして通過される。提示ビツトはデ
スクリプタのアドレスフイールドを読取り、スペース獲
得処理をコールし、コードセグメントのためにメインメ
モリ30の領域を配分する。パラメータはGETSPA
CEに与えられ、メモリの適当な大きさの連続領域が特
定のスタツクのために与えられる。
GETSPACEがコードスペースのためのリクエスト
を満たした後、それは配分された領域のメモリアドレス
へ戻り、PRESENCEBITによつて、情報はデイ
スクからメモリへ読取られる。デイスク読取りが完了し
たとき、PRESENCEBITは情報のメモリアドレ
スをデスクリプタのアドレスフィールドヘスドアし、P
RESENCEBITを10N」にし、プロセススタツ
クのデスクリプタを更新する。PRE計へCEBITは
次に制御をインタラプトプロセスに戻し、情報はプロセ
スによつて再びアクセスされる。さて情報はメモリに存
在し、その情報が得られ、プロセス実行は正常状態で続
行する。りファレンズされたデータまたはコードに必要
なストーレツジは、適宜の大きさの領域の前または後に
配分され、オーバレイまたは非オーバレイとしてマーク
される。
使用中の領域が配分されるとき、それは、メモリリンク
のオフ状態リストおよびポインタフイールドによつて、
予め配分された使用領域に連結される。これらのフイー
ルドはオフ状態リストを自む。オフ状態リストの最初の
エントリを指定するりファレンズワードによつて、使用
メモリ領域の時間経過が決定される。特定のリクエスト
を満たすに充分な使用可能なメモリがあるとき、オーバ
レイメモリが生じる。
オフ状態リストがサーチされ、最長時間配分されていた
オーバレイ可能な領域から始まる。もしもこの領域が隣
接した使用可能な領域と組合わされ、リクエストを満た
すに適当であるならば、それはオーバレイされる。そう
でなけれぱ、より低いスタートアドレスを有する配分領
域が考慰される。もしもリクエストが満たされ、見出さ
れた領域が必要な大きさよりも大きいならば、不使用部
分は、それを使用可能領域へ連結することによつて、使
用可能となる。もしもリクエストが満たされるならば、
次の最初のオーバレイ可能な領域が得られ、オフ状態リ
ストは上述のごとくサーチされる。このプロセスは、オ
フ状態リストが空になるまで繰返される。もしもリクエ
ストが満たされえないならば、メモリ条件は存在しない
。ハードウエアインタラプトに対するソフトウエアイン
タラプトは、MCDおよびオブジエクトプログラムプロ
セスによつてプログラム的に規定される。
ソフトウエアインタラプトによつて、プロセスは相互に
およびMCPと通信することができる。ソフトウエアイ
ンタラプトによつて、プロセスは特定の事象が生じるま
で稼動せず(それによつてプロセサが解放されず)、稼
動し続け、その事象が生じるならば阻止される。ソフト
ウエアインタラプトは、プロセスが或る他のプロセスの
直接の動作によつて阻止されたときに、生じる。プロセ
スは、もしもそれがその範囲のインタラプト宣言(ステ
ートメント)を哨するならば、阻止される。プロセスは
、CAUSEステートメントによつて事象の発生を知ら
せる。
MCPは、インタラプトが能動化されているかどうかを
決定するために事象インタラプト持ち行列を走査する。
もしもインタラプトが能動化されず、畢象が生じるなら
ば、そのプロセスではMCPによつて何も動作されず、
それは持ち行列の次のプロセスを見る。もしもインタラ
プトが次のスタツクで能動化されるならば、MCPはソ
フトウエアインタラプト持ち行列へのエントリを行なう
この持ち行列はスタツク番号によつて順序付けられる。
もしもスタツクが能動状態であるならば、すなわちもし
も他のプロセサがスタツクと共に働らいているならば、
MCPはチヤネル相互間のインタラプトによつてそのプ
ロセツサをインタラプトする。次にMCPは制御の転送
をインタラプト宣言に関連するステートメントへ強制す
る。このステートメントが終了すると、プロセスは、制
御転送がインタラプトステートメントで特定されないな
らば、その前の制御点に戻る。この場合、プロセスはイ
ンタラプト前に制御点に戻らないが、インタラプトステ
ートメントで特定される制御を転送する。MCPが事象
インタラプト持ち行列を走査し、不能動スタツクの能動
化インタラプトを見出すとき、それはソフトウエアイン
タラプト持ち行列へのエントリを行ない、それが能動化
するまでそのスタツクに対して何も行なわない。スタツ
クを能動化した直後、MCPはそのスタツクを指定する
インタラプトがあるかどうかを調べる2ためにソフトウ
エアインタラブト持ち行列をチエツクする。もしもイン
タラプトが見つかるならば、MCPはインタラプト宣言
によつて照会されたステートメントへ制御の転送を強制
する。ステートメントが完了すると、制御は上述のごと
く転送される。好ましい実施例では、ジヨブの実行が終
了するとき次の動作が生じる:(1)任意の未完了の/
Oリクエストは可能ならば完了する;任意のオープンフ
アイルが閉じられ、ユニツトが解放され、バツフア領域
は使用可能なメモリ表へ戻らされる;(2)ジヨブへ配
分された全てのオーバレイ可能なデイスク領域は使用町
能メモリ表へ戻される;(3)メインメモリ30の全て
のジヨブオブジエクトコードおよびデータアレイ領域は
使用町能メモリ表へ戻される;(4)任意のジヨブ終端
エントリはジヨブのシステム記録へ行なわれる;(5)
ジヨブスタツクは終了持ち行列へ連結される。入力/出
力動作に関連して、システムの全ての入力/出力動作は
MCPによつて達成される。
MCPは同辺装置を町能なときには常に記号フアイルに
割当て、各ジヨブに必要なオペレータの注意量を最小に
する。入カフアイルがジヨブによつてリクエストされる
ときは、MCPは必要なフアイルを自む適宜の周辺装置
の表をサーチする。もしもジヨブによつて特定されたフ
アイル名称が特定のユニツトに見つかれば、そのユニツ
トは使用中マークされ、そのジヨブに割当てられる0ジ
ヨブによつてリクエストされた出力フアイルは、適切な
ユニツトがフアイルのために存在しなければ、MCPに
よつて自動的に割当てられる0デイスクフアイルの場合
、デイスクフアイルデイクシヨナリエントリが行なわれ
、必要なデイスクスペースがフアイルのために配分され
る。MCPが周辺装置を記号フアイルと関連するために
、この発明のシステムにおいて稼動するコンパイラはフ
アイルに関する次の情報をMCPへ与えなければならな
い:記号フアイル名称(フアイルタイトノ(ハ)、周辺
装置の形式(デイスク、磁気テープ、カード、紙テープ
等)、アクセス形式(直列かランダムか)、フアイルモ
ード(アルフア、バイナリ等)、バツフアの大きさ、バ
ツフア数、ならびに論理レコードの大きさ。
実際のフアイル名称は、デイスクフアイルヘツダのフア
イルまたはタイトルを自むユニツトに関連するフアイル
タイトルである。
実際のフアイル名称は、ラベル等式制御ステートメント
によつて特定されない限り、記号フアイルと同一である
。フアイル用の実際のフアイル名称のダイナミツクな詳
細を可能にするために、3つの表が必要である:プロセ
スパラメータプロツク、ラベル等式フ狛ツクおよびフア
イル情報プロツク。プロセスパラメータプロツクはジヨ
ブの全てのフアイルのために「制御カード]によつて作
られるっそれは信号フアイル名称およびこのプロセスに
特定された任意の編集または実行時間ラベル等式情報を
含む。ラベル得式プロツクおよびフアイル情報プロツク
はコンパイラによつて作られ、プロセスの各フアイルの
ためのI/O機能によつて維持される。ラベル秀式プロ
ツクは現在のラベル苓式および特定フアイルの他のフア
イル特性情報を含み、この情報はフアイル特性のプログ
ラムによる詳細を?む。フアイル情報プロツクはフアイ
ルに関してしばしば用いられる情報を自み、この情報は
たとえば必要なアクセスの形式、割当てられたユニツト
形式、用いられている物理的ユニツト、および割当てら
れたユニツト形式に依存する特性などである。フアイル
情報プロツクおよびラベル等式プロツクのフアイル特性
の協働によつて、バツフア大きさおよびプロツクフアク
タなどのフアイル詳細の変更が、プログラム実行時間に
おいて、プログラムの再編成なしで、可能である〇シス
テムのオブジエクトプログラムI/O動作は、フアイル
およびジヨブ間の論理レコードの自動的な転送である。
論理レコードは或る読取り書込みステートメントに関す
るジヨブリフアレンス情報から成る。論理レコードの大
きさは、ハードウエアI/O動作によつてアクセスされ
る物理的レコードまたはプロツクの大きさと必ずしも一
致しない。物理的レコードが2以上の論理レコードを含
むとき、フアイルはプロツクフアイルと称される。フア
イルがジヨブによつてアクセスされるとき、フアイルの
ためのバツフア領域として知られたメモリ領域から薔込
まれ、またはそのメモリ領域へ読取られる。もしもフア
イルがプロツク化されるならば、MCPはバツフアへの
レコードポインタを維持する。このポインタは現在の論
理レコードをアクセスするためのプロセスによつて用い
られる。もしも次のレコードがすでにバツフアに存在す
るならば、MCPは自動的に必要なI/0動作を達成す
る。多数のバツフアは、一度に物理的レコードのグルー
プを必要とするジヨブのスループツトを有効に増加する
ために用いられる。
MCPは全てのオブジエクトプログラムI/0動作を達
成するので、フアイルのために配分された多数のバツフ
アを有するジヨブによつて、MCPはそのジヨブの状態
に独立のI/O動作を達成することができる。ジヨブの
効率的な実行に必要なバツフアの数の決定は、次のもの
に依存する:用いられているフアイルの形式、用いられ
ている特定のハードウエア構成、ジヨブの処理特性、ジ
ヨブのメモリ要件、および典型的なマルチプロセシング
を行なつているジヨブの混合。MCPは状態に拘らず全
ての入力バツフアを満たし、かつ全ての出力バツフアを
空にし、それによつてプロセスが完了すべきI/0動作
を待合わせている時間を最小にする。MCPは、タイム
シエアリング、遠隔演算、および遠隔呼出しを自む大型
のデータ通信設備を与える。
終端装置は制御システムと直接にはインタフエイスしな
い。その代り、必要な連結は通信ライン、アダプタ装置
およびデータ通信プロセサ36によつて与えられる。ア
プリケーシヨンに適したデータ通信システムのこれらの
考え方は、メツセージ制御システム(MCS)プログラ
ムによつて取扱われる。
これらの考え方は遠隔フアイル保守およびジヨブ制御を
含む。さらに、メツセージ制御システムはプログラム相
互の通信と協働し、メツセージスイツチング能力を与え
る。単一の遠隔ステーシヨンは他の遠隔ステーシヨンと
通信してもよく、または2以上のオブジェクトジョブと
通信してもよい。システムのユーザとMCPとの間の通
信は、表示ユニツト、制御ユニツト(関連のキーボード
を有する表示ユニツト)、制御カード、および広汎なシ
ステム記録によつて達成される。システムの状態および
進行中のジヨブの状態は、表示ユニツトに提示される。
短い答を必要とする特定の質問は、キーボードの使用に
よつて入力される。これらの質問および答は、それらが
生じたときに表示される。さらに、適宜のキーボードメ
ツセージを入力することによつて、種々の表が表示装置
にコールされる。これらの表は、ジヨブ混合、周辺ユニ
ツト、ラベルおよびデイスクデイクシヨナリ、ならびに
ジヨブ表を自む。オペレータは、制御ユニツトにおいて
人力され受信された人力/出力メツセージの使用によつ
て、MCPと直接に通信する。人カメツセージは、制御
カードに許容された仕意の制御ステートメント、混合内
へジヨブを入力するためのおよび混合からジヨブを除く
ためのメツセージ、ならびに維持されてきたジヨブに反
動するためのメツセージを自む。出力メツセージは、M
CPの種々の機能的領域、ユーザのプログラムおよびシ
ステムハードウエアモジユールに属する。ユーザは、一
組の制御カードおよびソース言語デツキとして、システ
ムヘジヨブを与える。
これに代つて、もしもユーザが予めデツキに稼動を望む
プログラムをストアし、かつエラーを自みうる編成に後
続してデイスクデイクシヨナリへそれらの名称を人力す
るならば、ユーザは一組の制御カードのみを与え、また
は入力キーボードから制御ステートメントを入力しても
よい。編成を必要とするジヨブに対して、第1の制御カ
ードは、用いられるべきコンパイラおよび行なわれるべ
きコンパイラの形式を特定するコンパイルステートメン
トでなければならない。
3つの形式が存在する:コンパイルおよび実行、ライブ
ラリのためのコンパイル、ならびに語句配列のためのコ
ンパイル。
制御カードの他の形式はジヨブが編成を必要とtるか否
かに拘らず全てのジヨブに用いられる。これらは、実行
ステートメント、プロセス時間ステートメント、優先ス
テートメント、コア要件ステートメント、I/O時間ス
テートメント、フアイルラベルを特定のI/0ユニツト
に関連するI/Oユニツトステートメントを含む。MC
Pはデイスクにシステム記録を維持し、そのシステム記
録はシステムの全動作の記録である。システムエラーお
よび保守統計だけでなく、記録はまたユーザに次のよう
なデータを入手可能にする:各ジヨブの処理時間、各ジ
ヨブがスタートされた時刻、その経過した稼動時間、お
よびそれの実際のプロセツサ時間。任意のオペレーテイ
ングシステムの重要な特徴は、その連続動作能力である
注目すべきは、この発明のマルチレベルオペレーテイン
グシステムは連続動作問題に対する救済策にはならない
。しかしながら、それは連続動作システムを建設するた
めの良好なフレームワークを与える。なぜなら設計の個
別的性質はそのシステムの個別的要件に一致するからで
ある。エラーまたは故障を取扱う役目はシステムの全て
の部分(ハードウエア、ソフトウエアおよびユーザプロ
グラム)にわたつて分配されているという点で、連続動
作システムは完全に協動的システムである。一般に、ハ
ードウエアは故障の回数を減少し、ソフトウエアは故障
が生じたときその故障の悪影響を減じる。前述したごと
く、合理的な連続動作能力を得るには、ハードウエア構
成は少なくとも2つの中央プロセツサモジユール20、
少なくとも2つのそして通常は3つ以上のメモリ制御モ
ジユール92、および少なくとも2つの人力/出力モジ
ユール10を自まなければならない。さらに、システム
デイスクは2つのIOM間で共用されるように交換する
ことができなければならず、またはシステムデイスクの
2つのコピーが必要であり、各々が各10M10に、ま
たは両渚に共用される。少なくとも2つそして通常はそ
れ以上のI/O表示ユニツトが必要であり、各10M1
0に少なくとも1つ用いられる。したがつて、マルチレ
ベルオペレーテイングシステムの一体的な動作は、プロ
セツサのメモリプログラムまたはジヨブの実行を統制す
ることによつて、比較的遅い周辺装置を最適に使用する
ように人力および出力の両渚を制御することによつて、
ならびに全ての処理条件に適合するようにおよびシステ
ム劣化の悪影響を最小にするように実行動作を行なうこ
とによつて、達成される。
ジヨブがマルチレベルオペレーテイングシステムの制御
の下で処理されうる全体的な速度および効率は、個別的
なユーザのプログラムの実行速度を増加することによつ
て(特にりエンドラットコートの使用によつて)、デー
タ取扱いの速度を増加することによつて、および単純な
英語に似たオペレータ注意およびエラーメツセージによ
つて機械の操作を容易にすることによつて、改良される
。この発明の原理が図示の実施例に明らかにされてきた
が、この発明の実施に際して用いられる構成、組立て、
大きさ、エレメント、材料およびコンポネントの多くの
変更、そしてそれらはこれらの原理から外れることなく
特定の環境および動作要件に特に適合される、そのよう
な変吏は当業渚にきわめて明らかである。
それゆえ前掲の特許請求の範囲は、この発明の真の精神
および範囲のみの限界内において、任意のこのような変
更をカバーし包含することを意図されている。
【図面の簡単な説明】
第1図はこの発明の総括的構成を示す。

Claims (1)

  1. 【特許請求の範囲】 1 複数の周辺装置を含むモジユラ化された多重処理デ
    ータ処理システムであつて、前記周辺装置は、 多重アクセス可能なメインメモリとなるように、メモリ
    バスによつて相互接続された複数のメモリモジュールを
    含み、前記複数のメモリモジュールの各々は、メモリ制
    御ユニットおよび少なくとも1つのメモリストレージユ
    ニットを含み、複数の中央処理モジュールをさらに含み
    、前記複数の中央処理モジュールの各々は、プログラム
    制御部分およびストレージ部分を含み、複数の入力/出
    力モジュールをさらに含み、前記複数の入力/出力モジ
    ュールの各々は、メモリインターフェイスユニットおよ
    びトランスレータユニットを含み、前記複数の入力/出
    力モジュールの各々の前記メモリインターフェイスユニ
    ットは、前記メモリバスに接続され、前記複数の入力/
    出力モジュールの各々の前記トランスレータユニットは
    、制御情報を受けるように、前記処理モジュールの各々
    の前記プログラム制御部分に接続され、それによつて、
    不良動作を検出およびリポートするための手段が前記モ
    ジュールの各々に割当てられ、前記システムは、前記複
    数のメモリモジュールの前記メモリ制御ユニットの各々
    に接続され、かつ前記複数の中央処理モジュールの前記
    ストレージ部分の各々に接続され、かつ前記複数の入力
    /出力モジュールの前記メモリインターフェイスユニッ
    トの各々に接続される保守バスと、前記複数の中央プロ
    セシングモジュールの各々に対する、前記複数の入力/
    出力モジュールの各各に対する、および前記複数のメモ
    リモジュールの各々の前記メモリ制御ユニットに対する
    オフラインテストをするため、前記保守バスに接続され
    る保守診断手段とを備え、前記入力/出力モジュールは
    、前記モジュールおよび前記周辺装置間のデータおよび
    制御ワードの流れをモニタするように組織されたエラー
    検出論理を含み、前記エラー検出論理は、間違つた命令
    、条件および制御状態の連続的な検出のため、メモリデ
    ータ転送のパリテイチェックおよび発生を含み、かつ故
    障モジュールを分離し、それによつて、前記保守診断ユ
    ニットは、前記モジュールをテストするため、1クロッ
    ク期間だけ前記故障モジュールを動作させ、その状態を
    予め記録された基準と比較し、またはカードに入力パタ
    ーンを与えてその出力をサンプリングし、それらを予め
    定められた基準と比較し、それによつて、前記故障モジ
    ュールを除く残りのモジュールが再構成される、多重処
    理モジユラ化データ処理システム。 2 前記メモリ制御ユニットは、前記メモリバスへの情
    報の前記転送前に前記メモリ制御ユニットと関連した前
    記少なくとも1つのメモリストレージユニットから受け
    た情報のすべての1ビットエラーを訂正するための手段
    をさらに含む、特許請求の範囲第1項記載の多重処理モ
    ジユラ化データ処理システム。
JP49089391A 1973-08-15 1974-07-31 多重処理モジユラ化デ−タ処理システム Expired JPS5914776B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US388551A US3905023A (en) 1973-08-15 1973-08-15 Large scale multi-level information processing system employing improved failsaft techniques
US388551 1973-08-15

Publications (2)

Publication Number Publication Date
JPS5073541A JPS5073541A (ja) 1975-06-17
JPS5914776B2 true JPS5914776B2 (ja) 1984-04-06

Family

ID=23534583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP49089391A Expired JPS5914776B2 (ja) 1973-08-15 1974-07-31 多重処理モジユラ化デ−タ処理システム

Country Status (11)

Country Link
US (1) US3905023A (ja)
JP (1) JPS5914776B2 (ja)
BE (1) BE818364A (ja)
BR (1) BR7405822D0 (ja)
CA (1) CA1029131A (ja)
CH (1) CH574646A5 (ja)
DE (1) DE2437200C2 (ja)
FR (1) FR2295486A1 (ja)
GB (1) GB1454198A (ja)
IT (1) IT1017774B (ja)
NL (1) NL7410212A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0516558U (ja) * 1991-08-19 1993-03-02 関東自動車工業株式会社 自動車の発進方向表示装置

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE31318E (en) * 1973-09-10 1983-07-19 Computer Automation, Inc. Automatic modular memory address allocation system
DE2438536C2 (de) * 1974-08-10 1985-12-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., 8000 München Multiprozessoranordnung mit räumlich verteilten Mikroprozessorstationen
IT1020701B (it) * 1974-09-02 1977-12-30 Olivetti & Co Spa Contabile elettronica biprogramma bile
US4048623A (en) * 1974-09-25 1977-09-13 Data General Corporation Data processing system
US4104718A (en) * 1974-12-16 1978-08-01 Compagnie Honeywell Bull (Societe Anonyme) System for protecting shared files in a multiprogrammed computer
US4010450A (en) * 1975-03-26 1977-03-01 Honeywell Information Systems, Inc. Fail soft memory
DE2546202A1 (de) * 1975-10-15 1977-04-28 Siemens Ag Rechnersystem aus mehreren miteinander verbundenen und zusammenwirkenden einzelrechnern und verfahren zum betrieb des rechnersystems
JPS5296836A (en) * 1976-02-10 1977-08-15 Toshiba Corp Multiplex data processing system
GB1572894A (en) * 1976-03-04 1980-08-06 Post Office Data processing equipment
US4096567A (en) * 1976-08-13 1978-06-20 Millard William H Information storage facility with multiple level processors
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
US4148098A (en) * 1976-10-18 1979-04-03 Xerox Corporation Data transfer system with disk command verification apparatus
US4093985A (en) * 1976-11-05 1978-06-06 North Electric Company Memory sparing arrangement
US4177514A (en) * 1976-11-12 1979-12-04 General Electric Company Graph architecture information processing system
US4103326A (en) * 1977-02-28 1978-07-25 Xerox Corporation Time-slicing method and apparatus for disk drive
US4174537A (en) * 1977-04-04 1979-11-13 Burroughs Corporation Time-shared, multi-phase memory accessing system having automatically updatable error logging means
JPS53124943A (en) * 1977-04-08 1978-10-31 Agency Of Ind Science & Technol Composite information processor
US4199811A (en) * 1977-09-02 1980-04-22 Sperry Corporation Microprogrammable computer utilizing concurrently operating processors
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4266271A (en) * 1978-10-10 1981-05-05 Chamoff Martin E Reconfigurable cluster of data-entry terminals
EP0012016A1 (en) * 1978-11-30 1980-06-11 Sperry Corporation Memory access control
US4253144A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Multi-processor communication network
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
GB2059652B (en) * 1979-09-29 1983-08-24 Plessey Co Ltd Memory protection system using capability registers
WO1981001066A1 (en) * 1979-10-11 1981-04-16 Nanodata Computer Corp Data processing system
US4354225A (en) * 1979-10-11 1982-10-12 Nanodata Computer Corporation Intelligent main store for data processing systems
US4516199A (en) * 1979-10-11 1985-05-07 Nanodata Computer Corporation Data processing system
US4330826A (en) * 1980-02-05 1982-05-18 The Bendix Corporation Synchronizer and synchronization system for a multiple computer system
US4348739A (en) * 1980-02-12 1982-09-07 International Business Machines Corporation Terminal providing communication system information output
US4322846A (en) * 1980-04-15 1982-03-30 Honeywell Information Systems Inc. Self-evaluation system for determining the operational integrity of a data processing system
FR2482331B1 (fr) * 1980-05-06 1986-03-21 Thomson Csf Mat Tel Procede d'arbitration centralisee, et arbitreur centralise pour systeme multiprocesseur
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
DE3070320D1 (en) 1980-09-27 1985-04-25 Ibm Deutschland Priority stage controlled interruption device
US4491907A (en) * 1980-12-15 1985-01-01 Texas Instruments Incorporated Plurality of processors sharing the memory, the arithmetic logic unit and control circuitry all on a single semiconductor chip
US4388684A (en) * 1981-03-27 1983-06-14 Honeywell Information Systems Inc. Apparatus for deferring error detection of multibyte parity encoded data received from a plurality of input/output data sources
EP0076846B1 (en) * 1981-04-16 1988-01-27 Ncr Corporation Data processing system having error checking capability
JPS57189396A (en) * 1981-05-14 1982-11-20 Nec Corp Controller for plural storage parts in data processing system
US4555759A (en) * 1981-05-18 1985-11-26 International Business Machines Corp. Selective use of restored file setups
US4498131A (en) * 1981-05-22 1985-02-05 Data General Corporation Data processing system having addressing mechanisms for processing object-based information and a protection scheme for determining access rights to such information
US4675810A (en) * 1981-05-22 1987-06-23 Data General Corp. Digital data processing system having a uniquely organized memory system using object-based addressing and in which operand data is identified by names accessed by name tables
US4514800A (en) * 1981-05-22 1985-04-30 Data General Corporation Digital computer system including apparatus for resolving names representing data items and capable of executing instructions belonging to general instruction sets
DE3276916D1 (en) * 1981-09-18 1987-09-10 Rovsing As Christian Multiprocessor computer system
US4837675A (en) * 1981-10-05 1989-06-06 Digital Equipment Corporation Secondary storage facility empolying serial communications between drive and controller
US4825406A (en) * 1981-10-05 1989-04-25 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US4811279A (en) * 1981-10-05 1989-03-07 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US4495567A (en) * 1981-10-15 1985-01-22 Codex Corporation Multiprocessor/multimemory control system
US4455601A (en) * 1981-12-31 1984-06-19 International Business Machines Corporation Cross checking among service processors in a multiprocessor system
US4451884A (en) * 1982-02-02 1984-05-29 International Business Machines Corporation Cycle stealing I/O controller with programmable offline mode of operation
US4472790A (en) * 1982-02-05 1984-09-18 International Business Machines Corporation Storage fetch protect override controls
US4519032A (en) * 1982-06-09 1985-05-21 At&T Bell Laboratories Memory management arrangement for microprocessor systems
US4648031A (en) * 1982-06-21 1987-03-03 International Business Machines Corporation Method and apparatus for restarting a computing system
US4491838A (en) * 1982-07-28 1985-01-01 International Business Machines Corporation Starloop communication network and control system therefor
WO1984004190A1 (en) * 1983-04-15 1984-10-25 Convergent Technologies Inc Multi-computer computer architecture
US4573152A (en) * 1983-05-13 1986-02-25 Greene Richard E Switch matrix test and control system
US4549274A (en) * 1983-07-11 1985-10-22 Honeywell Inc. Distributed electric power demand control
US4625312A (en) * 1983-10-06 1986-11-25 Honeywell Information Systems Inc. Test and maintenance method and apparatus for investigation of intermittent faults in a data processing system
US4710868A (en) * 1984-06-29 1987-12-01 International Business Machines Corporation Interconnect scheme for shared memory local networks
US4686620A (en) * 1984-07-26 1987-08-11 American Telephone And Telegraph Company, At&T Bell Laboratories Database backup method
US4627054A (en) * 1984-08-27 1986-12-02 International Business Machines Corporation Multiprocessor array error detection and recovery apparatus
US4870566A (en) * 1984-08-27 1989-09-26 International Business Machines Corp. Scannerless message concentrator and communications multiplexer
US4729093A (en) * 1984-09-26 1988-03-01 Motorola, Inc. Microcomputer which prioritizes instruction prefetch requests and data operand requests
BG39765A1 (en) * 1985-02-14 1986-08-15 Turlakov Device for connecting 8- degree and 16- degree modules to 16- degree microprocessor system
JPS61239360A (ja) * 1985-04-16 1986-10-24 Minolta Camera Co Ltd 文書処理装置
US4725987A (en) * 1985-10-23 1988-02-16 Eastman Kodak Company Architecture for a fast frame store using dynamic RAMS
JPH0697854B2 (ja) * 1986-01-11 1994-11-30 株式会社日立製作所 電力変換装置の制御装置
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
US5008820A (en) * 1987-03-30 1991-04-16 International Business Machines Corporation Method of rapidly opening disk files identified by path names
US5148544A (en) * 1987-07-01 1992-09-15 Digital Equipment Corporation Apparatus and method for control of asynchronous program interrupt events in a data processing system
US4885739A (en) * 1987-11-13 1989-12-05 Dsc Communications Corporation Interprocessor switching network
US5146574A (en) * 1989-06-27 1992-09-08 Sf2 Corporation Method and circuit for programmable selecting a variable sequence of element using write-back
US5008805A (en) * 1989-08-03 1991-04-16 International Business Machines Corporation Real time, fail safe process control system and method
EP0419721B1 (de) * 1989-09-29 1995-03-22 Siemens Aktiengesellschaft Kommunikationssystem für miteinander verbundene speicherprogrammierbare Steuerungen
US5315708A (en) * 1990-02-28 1994-05-24 Micro Technology, Inc. Method and apparatus for transferring data through a staging memory
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5212785A (en) * 1990-04-06 1993-05-18 Micro Technology, Inc. Apparatus and method for controlling data flow between a computer and memory devices
US5388243A (en) * 1990-03-09 1995-02-07 Mti Technology Corporation Multi-sort mass storage device announcing its active paths without deactivating its ports in a network architecture
US5325497A (en) * 1990-03-29 1994-06-28 Micro Technology, Inc. Method and apparatus for assigning signatures to identify members of a set of mass of storage devices
US5202856A (en) * 1990-04-05 1993-04-13 Micro Technology, Inc. Method and apparatus for simultaneous, interleaved access of multiple memories by multiple ports
US5214778A (en) * 1990-04-06 1993-05-25 Micro Technology, Inc. Resource management in a multiple resource system
US5233692A (en) * 1990-04-06 1993-08-03 Micro Technology, Inc. Enhanced interface permitting multiple-byte parallel transfers of control information and data on a small computer system interface (SCSI) communication bus and a mass storage system incorporating the enhanced interface
US5956524A (en) * 1990-04-06 1999-09-21 Micro Technology Inc. System and method for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources
US5414818A (en) * 1990-04-06 1995-05-09 Mti Technology Corporation Method and apparatus for controlling reselection of a bus by overriding a prioritization protocol
US5426427A (en) * 1991-04-04 1995-06-20 Compuserve Incorporated Data transmission routing system
US5285456A (en) * 1991-05-15 1994-02-08 International Business Machines Corporation System and method for improving the integrity of control information
EP0513519A1 (en) * 1991-05-15 1992-11-19 International Business Machines Corporation Memory system for multiprocessor systems
CA2067576C (en) * 1991-07-10 1998-04-14 Jimmie D. Edrington Dynamic load balancing for a multiprocessor pipeline
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
US5506955A (en) * 1992-10-23 1996-04-09 International Business Machines Corporation System and method for monitoring and optimizing performance in a data processing system
SE500940C2 (sv) * 1993-02-10 1994-10-03 Ellemtel Utvecklings Ab Sätt och system för att i ett distribuerat operativsystem demontera en kedja av sammanlänkade processer
US5867640A (en) * 1993-06-01 1999-02-02 Mti Technology Corp. Apparatus and method for improving write-throughput in a redundant array of mass storage devices
DE69518403T2 (de) * 1994-01-10 2001-03-29 Dow Chemical Co Ein massiv multiplexierter, superskalarer prozessor mit harvard-architektur
US20030088611A1 (en) * 1994-01-19 2003-05-08 Mti Technology Corporation Systems and methods for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources
US5557737A (en) * 1994-06-13 1996-09-17 Bull Hn Information Systems Inc. Automated safestore stack generation and recovery in a fault tolerant central processor
US5553232A (en) * 1994-06-13 1996-09-03 Bull Hn Informations Systems Inc. Automated safestore stack generation and move in a fault tolerant central processor
US5555424A (en) * 1994-10-06 1996-09-10 The Dow Chemical Company Extended Harvard architecture computer memory system with programmable variable address increment
US5875294A (en) 1995-06-30 1999-02-23 International Business Machines Corporation Method and system for halting processor execution in response to an enumerated occurrence of a selected combination of internal states
US5752062A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system
US5691920A (en) * 1995-10-02 1997-11-25 International Business Machines Corporation Method and system for performance monitoring of dispatch unit efficiency in a processing system
US5949971A (en) * 1995-10-02 1999-09-07 International Business Machines Corporation Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system
US5751945A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system
US5797019A (en) * 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
US5729726A (en) * 1995-10-02 1998-03-17 International Business Machines Corporation Method and system for performance monitoring efficiency of branch unit operation in a processing system
US5748855A (en) * 1995-10-02 1998-05-05 Iinternational Business Machines Corporation Method and system for performance monitoring of misaligned memory accesses in a processing system
US5678003A (en) * 1995-10-20 1997-10-14 International Business Machines Corporation Method and system for providing a restartable stop in a multiprocessor system
US6067415A (en) * 1995-12-26 2000-05-23 Kabushiki Kaisha Toshiba System for assisting a programmer find errors in concurrent programs
WO1997027544A1 (en) * 1996-01-24 1997-07-31 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
US6163761A (en) * 1996-02-15 2000-12-19 Henkel Corporation System for monitoring and controlling production and method therefor
US6202174B1 (en) * 1996-09-16 2001-03-13 Advanced Micro Devices Inc Method for identifying and correcting errors in a central processing unit
US5784394A (en) * 1996-11-15 1998-07-21 International Business Machines Corporation Method and system for implementing parity error recovery schemes in a data processing system
US6560682B1 (en) * 1997-10-03 2003-05-06 Intel Corporation System and method for terminating lock-step sequences in a multiprocessor system
US6430708B1 (en) * 1998-04-17 2002-08-06 Visa International Service Association Method and apparatus for testing job control language (JCL) members
US6282671B1 (en) * 1998-11-10 2001-08-28 International Business Machines Corporation Method and system for improved efficiency of parity calculation in RAID system
US7908216B1 (en) * 1999-07-22 2011-03-15 Visa International Service Association Internet payment, authentication and loading system using virtual smart card
GB0102515D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Network adapter management
US20020140710A1 (en) * 2001-04-02 2002-10-03 Fliflet Brandon L. Method and apparatus for dynamically balancing graphics workloads on a demand-based zone renderer
US6895498B2 (en) * 2001-05-04 2005-05-17 Ip-First, Llc Apparatus and method for target address replacement in speculative branch target address cache
US6938132B1 (en) * 2002-04-04 2005-08-30 Applied Micro Circuits Corporation Memory co-processor for a multi-tasking system
US7421693B1 (en) * 2002-04-04 2008-09-02 Applied Micro Circuits Corporation Logic for synchronizing multiple tasks at multiple locations in an instruction stream
US7437535B1 (en) 2002-04-04 2008-10-14 Applied Micro Circuits Corporation Method and apparatus for issuing a command to store an instruction and load resultant data in a microcontroller
US6978330B1 (en) * 2002-04-04 2005-12-20 Applied Micro Circuits Corporation Shared resource access via declarations that contain a sequence number of a packet
US20050060608A1 (en) * 2002-05-23 2005-03-17 Benoit Marchand Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
US7305585B2 (en) * 2002-05-23 2007-12-04 Exludus Technologies Inc. Asynchronous and autonomous data replication
US20080222234A1 (en) * 2002-05-23 2008-09-11 Benoit Marchand Deployment and Scaling of Virtual Environments
US20050216910A1 (en) * 2002-05-23 2005-09-29 Benoit Marchand Increasing fault-tolerance and minimizing network bandwidth requirements in software installation modules
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
EP1573538A2 (en) * 2002-08-28 2005-09-14 Livedevices Limited IMPROVEMENTS RELATING TO STACK USAGE IN COMPUTER­RELATED OPERATING SYSTEMS
GB2392515B (en) * 2002-08-28 2005-08-17 Livedevices Ltd Improvements relating to stack usage in computer-related operating systems
US7447794B1 (en) * 2002-12-04 2008-11-04 Silicon Graphics, Inc. System and method for conveying information
US7260001B2 (en) * 2003-03-20 2007-08-21 Arm Limited Memory system having fast and slow data reading mechanisms
EP1604281B1 (en) * 2003-03-20 2006-08-09 ARM Limited Systematic and random error detection and recovery within processing stages of an integrated circuit
US8650470B2 (en) 2003-03-20 2014-02-11 Arm Limited Error recovery within integrated circuit
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
US8185812B2 (en) 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
US7650331B1 (en) * 2004-06-18 2010-01-19 Google Inc. System and method for efficient large-scale data processing
US7756919B1 (en) * 2004-06-18 2010-07-13 Google Inc. Large-scale data processing in a distributed and parallel processing enviornment
US7590620B1 (en) 2004-06-18 2009-09-15 Google Inc. System and method for analyzing data records
DE102004048945B4 (de) * 2004-10-07 2007-10-11 Nec Electronics (Europe) Gmbh Systemüberwachungseinheit
US20060294049A1 (en) * 2005-06-27 2006-12-28 Microsoft Corporation Back-off mechanism for search
US20070067455A1 (en) * 2005-08-08 2007-03-22 Microsoft Corporation Dynamically adjusting resources
US20070067510A1 (en) * 2005-09-22 2007-03-22 Gladfelter David K I/O configuration, and logging of resources associated with I/O open requests
US7581142B2 (en) * 2006-01-03 2009-08-25 Nec Laboratories America, Inc. Method and system usable in sensor networks for handling memory faults
US8046766B2 (en) * 2007-04-26 2011-10-25 Hewlett-Packard Development Company, L.P. Process assignment to physical processors using minimum and maximum processor shares
US8171386B2 (en) * 2008-03-27 2012-05-01 Arm Limited Single event upset error detection within sequential storage circuitry of an integrated circuit
US8161367B2 (en) * 2008-10-07 2012-04-17 Arm Limited Correction of single event upset error within sequential storage circuitry of an integrated circuit
US8510538B1 (en) 2009-04-13 2013-08-13 Google Inc. System and method for limiting the impact of stragglers in large-scale parallel data processing
US8311982B2 (en) * 2010-02-11 2012-11-13 Hewlett-Packard Development Company, L. P. Storing update data using a processing pipeline
WO2012005728A1 (en) * 2010-07-08 2012-01-12 Hewlett-Packard Development Company, L.P. Resource assignment for jobs in a system having a processing pipeline
US8493120B2 (en) 2011-03-10 2013-07-23 Arm Limited Storage circuitry and method with increased resilience to single event upsets
US8862938B2 (en) 2011-04-18 2014-10-14 General Electric Company System, method, and apparatus for resolving errors in a system
JP2012242877A (ja) * 2011-05-16 2012-12-10 Sony Corp メモリ管理装置、メモリ管理方法、および、制御プログラム
US9141438B2 (en) 2011-06-30 2015-09-22 Net Navigation Systems, Llc Logic for synchronizing multiple tasks
DE102015211458A1 (de) * 2015-06-22 2016-12-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Absichern einer Programmzählerstruktur eines Prozessorsystems und zum Überwachen der Behandlung einer Unterbrechungsanfrage
CN106776439A (zh) * 2015-11-20 2017-05-31 英业达科技有限公司 数据传输系统及其方法
US10318175B2 (en) * 2017-03-07 2019-06-11 Samsung Electronics Co., Ltd. SSD with heterogeneous NVM types
US10802932B2 (en) * 2017-12-04 2020-10-13 Nxp Usa, Inc. Data processing system having lockstep operation
CN110111254B (zh) * 2019-04-24 2023-03-24 天津大学 一种基于多级递归引导和渐进监督的深度图超分辨率方法
CN113821367B (zh) * 2021-09-23 2024-02-02 中国建设银行股份有限公司 确定故障设备影响范围的方法及相关装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US27703A (en) * 1860-04-03 Improvement in cultivators
NL283162A (ja) * 1961-09-13
US3319226A (en) * 1962-11-30 1967-05-09 Burroughs Corp Data processor module for a modular data processing system for operation with a time-shared memory in the simultaneous execution of multi-tasks and multi-programs
US3411139A (en) * 1965-11-26 1968-11-12 Burroughs Corp Modular multi-computing data processing system
US3416139A (en) * 1966-02-14 1968-12-10 Burroughs Corp Interface control module for modular computer system and plural peripheral devices
US3566357A (en) * 1966-07-05 1971-02-23 Rca Corp Multi-processor multi-programed computer system
US3548382A (en) * 1968-06-10 1970-12-15 Burroughs Corp High speed modular data processing system having magnetic core main memory modules of various storage capacities and operational speeds
US3623011A (en) * 1969-06-25 1971-11-23 Bell Telephone Labor Inc Time-shared access to computer registers
GB1394431A (en) * 1971-06-24 1975-05-14 Plessey Co Ltd Multiprocessor data processing system
US3760365A (en) * 1971-12-30 1973-09-18 Ibm Multiprocessing computing system with task assignment at the instruction level
US3768074A (en) * 1972-05-12 1973-10-23 Burroughs Corp Multiprocessing system having means for permissive coupling of different subsystems
US3792448A (en) * 1973-05-21 1974-02-12 Burroughs Corp Failsoft peripheral exchange

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0516558U (ja) * 1991-08-19 1993-03-02 関東自動車工業株式会社 自動車の発進方向表示装置

Also Published As

Publication number Publication date
CH574646A5 (ja) 1976-04-15
NL7410212A (nl) 1975-02-18
IT1017774B (it) 1977-08-10
CA1029131A (en) 1978-04-04
DE2437200C2 (de) 1985-06-05
DE2437200A1 (de) 1975-02-27
BE818364A (fr) 1974-12-02
FR2295486B1 (ja) 1978-07-21
JPS5073541A (ja) 1975-06-17
BR7405822D0 (pt) 1975-05-27
GB1454198A (en) 1976-10-27
FR2295486A1 (fr) 1976-07-16
US3905023A (en) 1975-09-09

Similar Documents

Publication Publication Date Title
JPS5914776B2 (ja) 多重処理モジユラ化デ−タ処理システム
Katzman A fault-tolerant computing system
EP0357768B1 (en) Record lock processor for multiprocessing data system
US4412281A (en) Distributed signal processing system
US4101960A (en) Scientific processor
Heart et al. A new minicomputer/multiprocessor for the ARPA network
US5802265A (en) Transparent fault tolerant computer system
US4354225A (en) Intelligent main store for data processing systems
US6711605B2 (en) Multi OS configuration method and computer system
US5099485A (en) Fault tolerant computer systems with fault isolation and repair
US5506999A (en) Event driven blackboard processing system that provides dynamic load balancing and shared data between knowledge source processors
US7484032B2 (en) Fault tolerant computer system
EP0320274B1 (en) An initial program load control system in a multiprocessor system
US5228127A (en) Clustered multiprocessor system with global controller connected to each cluster memory control unit for directing order from processor to different cluster processors
JPS62156752A (ja) 多重プロセツサ計算システム
US5146605A (en) Direct control facility for multiprocessor network
Critcklow Generalized multiprocessing and multiprogramming systems
EP0129006B1 (en) Detection and correction of multi-chip synchronization errors
EP0559773B1 (en) Disabled memory sections for degraded operation of a vector supercomputer
WO1981001066A1 (en) Data processing system
EP0514697A2 (en) Split instruction paging method
Matelan The FLEX/32 multicomputer
Schorr Design principles for a high-performance system
Katzman The Tandem 16: A fault-tolerant computing system
EP0316251B1 (en) Direct control facility for multiprocessor network