JPH0519179B2 - - Google Patents

Info

Publication number
JPH0519179B2
JPH0519179B2 JP62507035A JP50703587A JPH0519179B2 JP H0519179 B2 JPH0519179 B2 JP H0519179B2 JP 62507035 A JP62507035 A JP 62507035A JP 50703587 A JP50703587 A JP 50703587A JP H0519179 B2 JPH0519179 B2 JP H0519179B2
Authority
JP
Japan
Prior art keywords
control
processing
memory
input
disk
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 - Lifetime
Application number
JP62507035A
Other languages
English (en)
Other versions
JPS63503336A (ja
Inventor
Richaado Burauningu Piikotsuku
Fuiritsupu Aasaa Maafui
Deibisu Rosu Mishimaa
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
Unisys 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
Priority claimed from US06/926,568 external-priority patent/US5764922A/en
Application filed by Unisys Corp filed Critical Unisys Corp
Publication of JPS63503336A publication Critical patent/JPS63503336A/ja
Publication of JPH0519179B2 publication Critical patent/JPH0519179B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

請求の範囲 1 複数の中央プロセツサと該中央プロセツサに
より実行される複数のプロセスを格納するメモリ
とを有するプロセス処理システムにおける入出力
システムであつて、 前記中央プロセツサによる実行のためにプロセ
スのスケジユーリングを行い、待ちプロセスの状
態を憶えているタスク制御プロセツサと、 前記中央プロセツサとタスク制御プロセツサと
に接続される入出力プロセツサと、 前記入出力プロセツサと接続される複数のデバ
イスとを備え、 前記中央プロセツサは、実行中のプロセスが入
出力処理に出会うと、メモリ内に対応する入出力
制御ブロツクを作成し、起動したプロセスと実行
される処理とデバイスの識別子と前記メモリ内の
入出力制御ブロツクとを指示する入出力命令を前
記入出力プロセツサに送つて入出力を起動させ、 前記タスク制御プロセツサは、前記入出力命令
による起動に応答して、前記入出力プロセツサに
よる前記入出力命令の完了まで前記起動したプロ
セスを待ち状態に置いて、他のプロセスの実行の
ため前記対応する中央プロセツサを解放し、 前記入出力プロセツサは、送られた入出力命令
に応答して、識別されたデバイス上での指示され
た処理の実行に使用するため前記メモリ内の対応
する入出力制御ブロツクをフエツチし、次いで、
前記タスク制御プロセツサに入出力処理の完了を
知らせ、 前記タスク制御プロセツサは、前記入出力プロ
セツサによる入出力処理の完了に応答して、ある
中央プロセツサが処理可能状態になつた時にさら
に実行するために各々の待ちプロセスをスケジユ
ールし直す、 ことを特徴とする入出力システム。
2 前記タスク制御プロセツサは、前記入出力プ
ロセツサによる入出力処理の完了を待つプロセス
に対して入出力イベント・トークンを割当てるイ
ベントテーブル手段を有し、 各入出力処理が入出力プロセツサにより完了し
た場合に、入出力イベント・トークンによつて対
応するイベントの発生を知らせ、対応する入出力
処理の完了を知らせるイベント・トークンに応答
してスケジユールをし直すことを特徴とする請求
の範囲第1項記載の入出力システム。
3 前記メモリは前記デバイスの状態を示すデバ
イステーブルを有し、 前記入出力プロセツサは前記デバイステーブル
をフエツチして入出力処理を実行することを特徴
とする請求の範囲第1項記載の入出力システム。
4 前記タスク制御プロセツサは、前記デバイス
の状態に応答して、入出力処理の実行のために前
記デバイスをキユーイングする手段を有すること
を特徴とする請求の範囲第3項記載の入出力シス
テム。
5 前記入出力システムは、複数の制御装置と複
数の周辺装置と前記周辺装置を前記制御装置のい
ずれか1つ及び前記入出力プロセツサに接続する
複数のバスとを有し、 前記デバイスは周辺装置、制御装置あるいはバ
スを含むことを特徴とする請求の範囲第3項記載
の入出力システム。
6 前記タスク制御プロセツサは、所定の周辺装
置と前記制御装置と周辺装置とをアクセスするた
めに使われる種々のバスとを制御する種々の制御
装置の登録を含むパステーブルを有し、 入出力処理を実行するのに使用されるパスを決
めるために前記パステーブルをアクセスすること
を特徴とする請求の範囲第5項記載の入出力シス
テム。
7 前記メモリの一部はデイスクキヤツシユ領域
として確保され、前記デバイスは複数のデイスク
装置を有し、 前記入出力プロセツサは、前記デイスクキヤツ
シユ領域と共同して前記デイスク装置から引き出
されたデータをキヤツシングする手段を有し、前
記デイスク装置からのデータを要求する入出力命
令に応答して、前記デイスクキヤツシユ領域に格
納されている場合は、前記デイスクキヤツシユ領
域から要求されたデータを提供することを特徴と
する請求の範囲第1項記載の入出力システム。
発明の分野 本発明は超大型コンピユータ・システムの入出
力システム、特にI/Oソフトウエアの機能が
I/Oハードウエア・システムで実施されている
ようなI/Oシステムに関するものである。
従来技術の説明 マルチプログラミングに適応される超大型マル
チプロセツシング・システムや超大型シングルプ
ロセツシング・システムは、種々の計算の中で大
量のデータを必要とするため、メインメモリから
デイスク装置のような大容量記憶装置やテープ装
置のような周辺装置までの広範囲な記憶装置が階
層的に用意されている。システムには、周辺装置
からデイスク記憶装置、あるいは周辺装置とデイ
スク記憶装置とからメインメモリへのデータ転送
を制御するI/Oコントローラが用意されてい
る。しかしながら、従来のシステムでは、中央プ
ロセスプロセス処理装置はI/O命令をデコード
し、それぞれの制御信号をI/Oコントローラに
送る必要があり、膨大なプロセス処理装置の処理
時間を費やしてしまう。これら従来のコントロー
ラの例が、アナンジエタ達(Annunziata et.al.)
の米国特許3432813とカルタ達(Calta et.al)の
米国特許3447138とに開示されている。
入出力のためのデータ転送の制御の独立して処
理する分離した汎用プロセス処理装置を設けるこ
とにより、中央プロセス処理装置をI/O処理か
ら自由にして、顧客のジヨブにより多くの時間を
割くことが試みられてきた。しかし、主中央プロ
セス処理装置に必要なデータが利用される前にメ
インメモリ内に確実に受け取られるようにするた
めには、2つのプロセス処理時間に何らかの通信
が必要とされる。
入出力処理は、周辺装置とメインメモリ間のデ
ータ転送ばかりではない。例えば、I/Oシステ
ムは、テープリールを巻き戻すようなデータ転送
のない処理も制御しなければならない。更に、超
大型情報処理システムでは、多数の異なるバスや
周辺装置制御装置があつて、周辺装置からメイン
メモリへのあるいはその逆の処理量を最適化する
ために選択する必要がある。加えて、特にデイス
ク装置にはキヤシユメモリが提供されていて、す
ぐに再度のアスセスに受けると思われる最も間近
にアクセスされたデータ領域が格納されている。
しかしながら、これらのデイスクの機能は中央プ
ロセス処理装置で走つているオペレーテイング・
システムによつて処理されるため、顧客のジヨブ
やタスクが走るのには更に使用時間を必要とす
る。
統計的には、マルチプロセツシング・システム
において、各プロセス処理装置の使用時間の主要
な部分はオペレーテイング・システム機能の実行
に使用される。この管理機能に費やされる総時間
は10%から50%、時にはもつと高くなる。更に、
対応する中央プロセス処理装置がオペレーテイン
グ・システムの機能を実行している時間のかなり
の部分が、プロセス処理の優先順位を決めるた
め、イベントの発生に対する処理をするため、及
び入出力処理を開始させるために使用されてい
る。もし、オペレーテイング・システムから上記
の機能を除くことが出来たなら、情報処理システ
ムの処理量が十分に高めることが出来る。
【図面の簡単な説明】
本発明の上記及び他の目的、効果、特徴は、図
面と共に次の実施例によつて更に明らかになる。
第1図は本発明を使用するシステムのブロツク
図、 第2図は本発明の入出力システムのブロツク
図、 第3図はI/Oプロセス処理装置とメインメモ
リ及びポート・アダプタ内にある本発明で使用さ
れる種々のテーブルの関連を示す図、 第4図は第2図はI/Oプロセス処理装置の配
線略図、 第5A〜5D図は本発明で使用されるメモリ内
の他のテーブル及びその関連を示す図、 第6図は第2図のタスク制御プロセス処理装置
の配線略図、 第7図は本発明で使用されるようなデイスク装
置の一部分を示す図である。
好ましい具体例の概説 本発明を使用するシステムが第1図に示されて
いる。本図に示すように、このシステムは超大型
マルチプロセツシング・システムで、複数の中央
プロセス処理装置10を持ち、どのプロセス処理
装置からどのメモリ・モジユールをもアドレス出
来るメモリ制御装置11を介して、他方の複数の
メインメモリ・モジユールと接続している。
特に本発明は、周辺装置15とメインメモリ1
2間の通信とデータ転送とを制御するI/Oシス
テム13を提供するものである。更に論じられる
ように、I/Oシステム13は、メモリ制御装置
11を介して各々の中央プロセス処理装置との通
信も行う。第1図には、複数の異なるバス13a
を介して、各々の周辺装置15とI/Oシステム
13とを接続する複数の制御装置14が示されて
いる。この周辺装置15は、バス13aと制御装
置14との選択的結合を介して、I/Oシステム
13からアクセスされる。周辺装置15には、第
1図の情報処理システムのオペレーテイング・シ
ステムや重要な顧客のデータを格納する大型デイ
スク装置を含む、あらゆる種類の周辺装置や記憶
装置が含まれる。
第1図のI/Oシステム13が更に詳細に第2
図に示されており、メモリ・インタフエース・制
御装置20を介して第1図のメモリ制御装置11
と接続される多数の異なるユニツトからなつてい
る。第2図に示すように、I/Oシステム13は
タスク制御プロセス処理装置21を有し、第1図
の各々の中央プロセス処理装置10の全てのプロ
セスのスケジユールを制御し、異なるプロセスが
待つている種々のイベントをも監視している。
I/Oプロセス処理装置22は本発明の心臓部で
あり、上に示された機能及び以下に更に詳細に示
される全ての機能を提供する。ポート・アダプタ
24は、基本的には異なるプロトコルを使用する
かもしれないが、第1図の各バス13aのための
バスドライバである。インタロツク・タイマ・コ
ントロール25は、種々のバスに割り込み分配
し、分配キユー(PQ、BQ)が二重の同時アクセ
スにより壊れないよう補償するキユー監視機構を
も提供する。タスク制御プロセス処理装置21
は、1985年11月15日に米国出願番号757781として
出願されたジエニングス達(Jennings et.at.)の
出願に詳細に述べられており、本発明と同じ譲受
人に譲渡されている。
上に示したように、本発明では、オプレーテイ
ング・システムとこのオペレーテイング・システ
ムを実行する各中央プロセス処理装置10とを全
てのI/O処理から解放するので、中央プロセス
処理装置10はより多くの時間を顧客のジヨブの
実行に割くことが出来る。所定の中央プロセス処
理装置10がメモリ・モジユール12の1つから
プロセスを実行していて、I/O処理に出会う
と、対応するI/O制御ブロツクが作成され、
I/O命令がメモリ制御装置11を介してI/O
システム13に送られ、プロセス処理装置10は
解放されてメモリ・モジユール12の1つから次
の優先順位のプロセスの実行を始める。I/O処
理が終了すると、要求したプロセスはプロセスの
優先リスト内に再びスケジユールされ、次に動作
可能な中央プロセス処理装置10により実行され
る。
第2図のI/Oプロセス処理装置22を詳細に
説明する前に、まず第3図に示されたI/Oプロ
セス処理装置により使用されるデータ構造のつな
がりやテーブル間のつながりを説明する。I/O
開始命令(ASYNC−SCHEDULEコマンド)は
第3図及び第4図の入力メツセージ・バツフア3
0より受け取られる。第3図には4ワードからな
る1つのコマンドが示されている。第1のワード
は、処理コマンドと本発明のシステム及び上述の
ジエニングズ達(Jennings et.al)の出願におい
てスタツクとして示されている開始したプロセス
の指示とを含んでいる。メツセージ(命令)の第
2のワードは、I/O処理のより使用されるデバ
イスを識別するデバイス番号を含んでいる。第3
のワードは、以下により詳細に述べるように、中
央プロセス処理装置により作成されてメインメモ
リ内に格納されているI/O制御ブロツク
(IOCB)への指示を含んでいる。第4のワード
は、コマンド開始の時間を含んでいる。
I/Oプロセス処理装置は、第3図及び第4図
のデバイス・テーブルをアドレスするデバイス番
号を得る。このデバイス・テーブルは、デバイス
の現在の状態を含むシステム内の各デバイスのた
めの登録を含んでいる。そして、もしデバイスが
使用不能あるいはアイドル状態でない場合は、デ
バイス制御ブロツクがデバイスがアイドルになる
まで、メインメモリ内のデバイス・キユーに格納
される。尚、本発明で使用される言葉“デバイ
ス”は、第1図のバス13a、第1図は制御装置
14及び周辺装置15を意味している。もしデバ
イスがアイドルなら、第3図及び第4図のパス群
テーブル46が参照され、通常は周辺装置である
デバイスをアクセスするの、どの制御装置と関連
バスとを使用するかが決められる。第3図では、
パス群テーブル46内の登録は、3つの制御装置
が使用可能であることを示している。装置に使わ
れる制御装置は同じ優先順位であり、I/Oプロ
セサはバス選択アルゴリズムにより各制御装置の
負荷が良いバランスを保つようにしてる。制御装
置に使われるバスは、優先順に制御装置のバス群
登録内にリストされている。所定のデバイス(通
常は装置)に対し一但バスと制御装置の組み合わ
せが決められると、第2図のインタロツク・タイ
マ制御ユニツト25のインタロツク翻訳テーブル
25aが参照される。インタロツク・タイマ制御
を通して所定のパス・キユーがロツクされる。制
御ブロツクはパス・キユー内にキユーイングされ
る。パス・キユーがアンロツクされて、I/Oバ
スは再びインタロツク・タイマ制御を通して割り
込みを受ける。
デバイスが選択されると、逆にメモリ内の装置
に対する間接参照キユーが参照される。第3図の
デバイス・キユー60の内容は、ちようどの間接
参照(Qヘツダ)を指示している。これにより今
度は、I/Oプロセス処理装置によるメインメモ
リからの特定の制御ブロツクの読み出しが可能と
なり、すぐに実行できなかつたブロツクがI/O
プロセス処理装置へ渡される。同様に、パス群が
選択された後、選択されたバスや制御装置のため
の制御ブロツクを示すQヘツダを含むパス・キユ
ー62が参照される。これら制御ブロツクあるい
はその一部は、I/O処理が完了するまで選択さ
れた制御装置等に渡されている。I/O処理が終
了すると、制御ブロツクはメインメモリに返さ
れ、第2図のタスク制御プロセス処理装置21に
より要求したプロセスが再びスケジユールされ
る。
好ましい具体例の詳細な説明 本発明のI/Oプロセス処理装置のブロツク図
が第4図に示されている。このI/Oプロセス処
理装置は、異なる部分を同時に制御する3つの異
なる制御シーケンサ(制御貯蔵部)31,41,
51により制御される。このため、第4図のI/
Oプロセス処理装置は、メツセージの処理が実際
に始まる前にメツセージ受領信号を第1図の要求
した中央プロセス処理装置に送ることが出来るの
で、要求した中央プロセス処理装置の解放が早く
でき、他の顧客のタスクに渡すことが可能であ
る。
メモリ制御シーケンサ51は、主入力バス(メ
モリ読み出しバス)を制御し、読み出しレジスタ
30aと30bとを介してメツセージをメツセー
ジ−入力データ・バツフア30に渡す。更に、主
要制御シーケンサ31は、実行されている特定の
コマンドに対応してデバイス、装置や他のアドレ
スを算出するために使用される主算術論理ユニツ
ト33を制御する。ALU33への入力は、Bレ
ジスタ34とアキユムレータ35を介して、マル
チプレクサ36とマルチプレクサ−ローテータ3
7とにより提供される。ALU33の出力は、ロ
ーカルメモリ内の結果を更新し、フイールド走査
のためにローテータを更新し、インタロツク・イ
ンタフエースを駆動し、パラメータをそのBレジ
スタを通して補助制御シーケンサに送るために使
用される。ALU33の出力は、マルチプレクサ
−ローテータ37からアキユムレータ35に送ら
れ更に走査されるか、あるいはインターロツク・
インタフエース39に渡されて、マルチプレクサ
38を介してローカルメモリ内に結果が保存され
る。マルチプレクサ38は、情報をインタロツ
ク・インタフエース39に送る場合には、Bレジ
スタ34からも情報を受け取る。
第2図に戻つて、種々のユニツトは2つのバス
によつて接続されている。1つは第1図のメモリ
制御装置11を介してメインメモリと通信をする
メモリ・インタフエース制御バス(MIS)、もう
1つはポート・アダプタ24及びインタロツク・
タイマ制御ユニツト25と通信をするインタロツ
ク・タイマ制御バス(ITC)である。第4図では
I/Oプロセス処理装置は、メモリ読み出しバス
とメツセ−ジー入力データ・バツフア30とを介
して、更にメモリ出力レジスタ56とメモリ書き
込みバスとを介してMICバスと通信する。第4
図のI/Oプロセス処理装置はインタロツク・イ
ンタフエース39を介して、インタロツク・タイ
マ制御バス(ITC)と通信する。
続いて第4図で、I/Oプロセス処理装置には
補助演算論理ユニツト43とラベルが付いていな
いが特有の入出力レジスタとマルチプレクサとが
用意され、主要制御シーケンサ(制御貯蔵部)3
1により、補助制御シーケンサ(制御貯蔵部)4
1の制御の下にある補助ALU43と関連レジス
タとによりタスクの負荷を軽減する。
主要制御貯蔵部31から補助制御貯蔵部41に
タスクを転送するために、主要制御貯蔵部31は
パス群テーブルメモリの予備領域内に処理コード
と関連パラメータを挿入し、補助シーケンサ割り
込みをセツトすることにより、補助制御貯蔵部4
1をアドレスする。補助シーケンサが要求された
機能を完了すると、結果をパス群テーブルメモリ
の予備領域に書き込み、補助シーケンサ割り込み
をリセツトする。補助制御貯蔵部41と関連回路
はデバイス・テーブル45に格納されている選択
されるデバイスの状態を判定するタスクを完了
し、パス群テーブル46をアドレスすることによ
り、特定のバス−制御装置の組を選択するために
使用される。更に、デイスクのキヤツシングに必
要な算術演算にも使用される。
今迄述べた第4図のI/Oプロセス処理装置の
機構は、主にスタートI/O命令、特にASYNC
−SCHEDULE命令の受付けと特定のデバイス
(装置)の選択との制御し、メインメモリからバ
スを駆動する選択された制御装置とポート・アダ
プタへと、続いて起るI/O制御ブロツクの転送
のために、バス−制御装置の組み合わせを対応さ
せるように振舞つて来た。
第4図のI/Oプロセス処理装置からの情報の
転送を制御するために、メモリ制御シーケンサ
(制御貯蔵部)51が提供され、両制御貯蔵部3
1と51とがローカルメモリ52をアクセスとし
て、主要制御貯蔵部31と同時にしかし同期して
この転送を制御する。この同期は、ローカルメモ
リ52内の2つの分離されたハードウエア・キユ
ー構造により達成される。ローカルメモリは周囲
の回路の2倍の周波数で走るように設計されてい
ので、各マシンサイクル間にメモリ制御シーケン
は所定の部分を読み出すことが出来、主要制御シ
ーケンサは所定の部分を読み書き出来る。PCSは
キユー領域に登録を書き込んで(Qをフエツチあ
るいはメツセージQを格納し)、MCSに要求され
る。MCSはキユーを読んで、LM内のデータをア
クセスして要求に対応するサービス行う。
第4図において、ポート・アダプタ及び第2図
の他の装置からのデータや情報や転送は、種々の
目的を遂行するローカルメモリ52を介して、イ
ンタロツク・インタフエース39から受け取られ
る。メインメモリへの情報転送は、マルチプレク
サ53、足場レジスタ54、コマンド修飾ユニツ
ト55とメモリ出力レジスタ56とを介して行な
われる。コマンド修飾ユニツト55により発生さ
れた修飾コマンドは、コマンド更新機能ユニツト
57を介して元に戻される。
要求されたデバイスがアイドル状態でないある
いは使用不能の場合には、メモリ内のキユーにデ
バイス制御ブロツク・メツセージを格納するた
め、キユー・ヘツダとI/O制御ブロツク(I/
OCB)に対する指示がなされていた。これの第
5A図〜第5D図により更に詳細に説明する。こ
れら種々の情報の構造は、本発明のシステムに対
して予約されI/O仕事空間として取つて置かれ
たメインメモリの一部に格納されている構造を表
わしている。
第5A図は、メインメモリ内のシステムの各々
のデバイスに対して1つあるデバイス部のテーブ
ルを示す図である。ここで、デバイスは第1図の
I/Oバス13aの1つ(特に、対応するバスを
駆動する第2図のポート・アダプタ24の1つの
バス)、第1図の制御装置14の1つ、あるいは
第1図の周辺装置の1つであつてもよい。第5A
図に示すように、デバイスとしては128迄のI/
Oバスと、512迄の制御装置(I/Oバスの数よ
り下の)と、残りはI/Oバスと制御装置の数よ
り下の4096迄の周辺装置が可能である。
それぞれのデバイス部は、以下の詳細に述べる
ように、異なるI/O制御ブロツク(IOCB)に
対するポインタ(メモリアドレス)を含む2つの
キユー・ヘツダを有し、このブロツクはシステム
内のデバイスにより現在実行されている各々の処
理に対応している。ユニツト・デバイス部は例外
で、ただ1つのキユー・ヘツダを有し、残りの部
分はスクラツチ・パツド・メモリとして使用され
る。
各キユー・ヘツダの一般的フオーマツトが第5
B図に示されており、ユニツト・スクラツチ領域
のフオーマツトが第5C図に示されている。第5
B図でキユー・ヘツダは4つの制御ワードからな
つている。第1のワードは、制御と状態との情報
を有する。第2のワードは、特定のデバイスに対
するメインメモリの最初のI/O制御ブロツクの
先頭をポイント(アドレス)している。第3のワ
ードは、メインメモリの最後の最近のI/O制御
ブロツクをポイント(アドレス)していて、これ
ら2つのポインタは、問題のデバイスに対し要求
された異なるジヨブあるいはタスクのために一緒
にリンクされている。制御ブロツクの先頭と後尾
との特定のキユーを示している。このことが第5
D図に更に完全に示されている。
第5A図の説明の終りに、I/Oバス・デバイ
ス領域は、対応するI/Oバスを制御するため
に、演算子がキユーイングされるバス・キユー・
ヘツダを有している。これらデバイス領域は、対
応するポート・アダプタを通してデバイス処理の
結果の転送を制御するためのキユー・ヘツダをも
有している。各々の制御装置・デバイス部は、対
応する制御装置・ブロツクを前述したバス−制御
装置と組み合わせて選択された各々の制御装置に
渡すためのパス・キユー・ヘツダと、制御装置の
ために未処理の制御ブロツクをポイントするユニ
ツト・キユー・ヘツダとを有する。このパス・キ
ユー・ヘツダとユニツト・キユー・ヘツダは第3
図に関連して前述されている。
次に第5D図により、本発明の特定のデバイス
に要求された異なるジヨブあるいはタスクのため
の、制御ブロツクの互いのリンクのキユーイング
機構を説明する。上に示したように、デバイスへ
のほとんどの要求は、第1図の周辺装置に対する
要求であり、各々のデバイスに要求された各ジヨ
ブやタスクのためのI/O制御ブロツクがある。
入力メツセージが第3図、第4図の入力メツセ
ージ・バツフア30に入力されると、ジヨブがそ
のデバイスで実行されるために、デバイス番号と
特定の制御ブロツクへの指示(メモリアドレス)
とが記入される。もしデバイスがアイドルなら
ば、制御ブロツクがフエツチされてパスが選択さ
れ、選択された制御装置のパスにIOCBがリンク
され、その制御装置にサービスするI/Oバスは
すでに述べたITC機構を通して割り込みを受け
る。もしデバイスが使用不能である場合は、第5
D図に示したように、制御ブロツクの指示が特定
のデバイス・キユー・ヘツダ内の後尾のポインタ
として挿入される。もしユニツト・キユーが空で
あつたなら、先頭ポインタとして挿入される。ユ
ニツト・キユー制御ワード内のあるフイールド
が、デバイスがアイドルであることを表わしてい
る。そのデバイスに更に特定の要求があると、第
5D図に示したように、要求された第2の制御ブ
ロツク・アドレスが、次のリンクのメモリアドレ
スとして、先頭I/O制御ブロツク内と特定のデ
バイス・キユー・ヘツダの後尾ポインタ内に挿入
される。この方法により、特定のデバイスに対す
る多くの要求が本発明のキユー機構によつてキユ
ーイングできる。
第5D図に示されるように、時々種々のI/O
制御ブロツクが第4図のI/Oプロセス処理装置
により使用され、種々のデバイス・コマンドを通
信して、本質的にデバイスの転送を行なう。デバ
イスは、フリー、セイブ、レデイあるいは停止の
4つの状態の1つである。第4図のプロセス処理
装置により達成されるデバイスの管理手順は、例
えば、デバイスをフリー状態からセーブ状態に移
すACQUIREと、セーブ状態からレデイ状態に移
すREADYと、レデイ状態から停止状態に移す
SUSPENDと、レデイ状態からセーブ状態に移
すSAVEと、セーブ状態からフリー状態に移動す
FREEとを含む。これら手順は、所定のデバイス
が正しい初期状態でない場合を含む種々の原因に
よるエラーによつて、オペレーテイング・システ
ムに戻ることができる。どのデバイスの状態も、
IOP内の第4図のデバイス・テープル45に保持
されている。
第5C図に戻つて、すでに開示された本発明の
機構によつて提供されるある機能が示される。こ
れら特徴の1つは、デイスク・ミラーの技法であ
り、重要なデータの1つ以上のコピーを分離した
デイスク・デバイスに保存して、重大なデイスク
の故障の場合でもシステムを走り続けさせること
ができる。第4図のI/Oプロセス処理装置は、
2つの主な方法でデイスク・ミラーを達成する。
第1には、ミラーセツトに対するデイスク読み出
しにおいて、ミラーセツトの中から要求を転送す
る最良のユニツトが選択される。デイスク・アク
セスを完了するには遅延の主要な要素として、デ
イスク・アームが正しいシリンダとトラツクまで
動く時間であるシークタイムと、シークが完了し
た後データが実際にデイスクのリード・ヘツドの
下に来るまでの時間である回転潜伏期と、媒体か
らの所望のデータを引き出すに必要な時間である
データ転送とがある。デイスク機構に親しくない
読者のために、第7図に各々のトラツクA、B、
C……で示したデイスク59の一部が示されてい
る。第4図のプロセス処理装置はミラーセツトか
ら読み出しユニツトを選択することにより、シー
クタイムを最小にするよう試みている。I/Oプ
ロセス処理装置がデイスク・ミラーを達成する第
2の方法は、デイスク書き込み時に、プロセス処
理装置が単一の論理書き込みの形成と、時間の計
算と結果の書き込みと、開始した顧客への1回の
返答の送信との各々のデイスク書き込みの全てを
同時に行なうことである。この最後の場合に、第
5C図のユニツト・スクラツチ領域の第2と第3
のワードが使用される。
本発明の機構により達成されるもう1つの特徴
は、デイスク・キヤツシングである。I/Oプロ
セス処理装置が必要とする時間を減少させるた
め、第4図のプロセス処理装置はメインメモリ内
のデイスク・キヤツシユを管理するハードウエア
が実施されている。全システムの実績にとつて唯
一の重要な周辺装置は、オペレーテイング・シス
テムや顧客のデータベースや他の頻繁にアクセス
される情報を格納するデイスク装置である。第4
図のプロセス処理装置は、システム・メモリの非
常に大きな領域を割り当てて、間隔が長くなり頻
繁に同じトラツクをアクセスしたい時には、現在
アクセスされているデイスク・トラツクのコピー
を保持させる。この長所は、デイスクの特定のト
ラツクへの異なるアクセス要求を、対応するデイ
スクをアクセスするのに使用する対応バスと制御
装置とに過度に拘束にすることである。デイス
ク・キヤツシユに的中にしたI/Oは、通常のデ
イスク・アクセスよりも3乗の早さで完了する。
この目的で、第5C図のユニツト・スクラツチ領
域の第4のワードが第4図のプロセス処理装置に
より使用される。
第2図に関連して上述したように、本発明の
I/Oシステムはタスク制御プロセス処理装置2
1を備え、第1図のそれぞれの中央プロセス処理
装置10の全プロセスのスケジーリングを行な
い、I/O処理も含めて異なるプロセスが待つて
いる種々のイベントを監視している。このよう
に、顧客のプロセスが待つているイベントのいく
つかはI/O処理を含むので、第2図のI/Oプ
ロセス処理装置22とタスク制御プロセス処理装
置21との間にはある協力関係がある。
タスク制御プロセス処理装置21の機能図が第
6図に示されている。この中に示されている2つ
の主な機能要素は、プロセス・テーブル61とイ
ベント・テーブル60aとである。プロセス・テ
ーブル61とプロセス・統計テーブル60aと
は、第1図のシステムで走るようにスケジユール
された全タスクやプロセスの状態についての情報
を有している。本発明の具体例では、どの時点に
おてもシステムに4Kのそのようなタスクやプロ
セスが走ることが出来る。
プロセス・テーブル61内のプロセスの状態情
報は、含まれるプロセスの優先順位位に従つて、
プロセス・キユーあるいはプロセスのリンク・リ
ストとして並べられている。上に示したように、
このタスク制御プロセス処理装置は、上で参照し
たジエニングス達(Jennings et af.)の米国特
許787781に詳説されている。
本出願の残りの部分で使用されるように、用語
“タスク“と“プロセス”と“スタツク”とは同
意であり、スタツクはメインメモリ内の普通の物
理的場所であり、各タスクやプロセスは互いに独
立して対応するスタツク空間を占めている。この
ように、用語“スタツク番号”と“タスク番号”
と“プロセス番号”とは同義に使用され、対応す
るプロセス状態情報の第6図のプロセス・テーブ
ル61に対する実際のアドレスである。
イベント・テーブル60aは、システム上に走
つている顧客のプロセスにより呼び出される種々
のイベント指定(本出願ではI/O処理)の状態
のような情報を容れるのに使用される。第6図の
具体例では、いつでも最大512Kのそのようなイ
ベントが利用されている。第1図の特定のプロセ
ス処理装置10によつて実行されているプロセス
がイベント指定を必要とする時は、第6図のタス
ク制御プロセス処理装置からの指定の割り当てを
要求し、タスク制御プロセス処理装置は割り当て
られていないイベント指定のそのプロセスに割り
当て、イベント・トークンをイベント指定を要求
したプロセスのメインメモリ内の固有のスタツク
の先頭に送る。イベント・テーブル60aは、イ
ベントが割り当てられたことを示すためイベント
情報を格上げする。イベント・トークンは、イベ
ント・テーブル60aに対するイベント・アドレ
スと、第1図のプロセス処理装置10の1つが誤
つて同じイベント・トークンを作成しないよう
に、あるコード化されたビツトとからなつてい
る。イベント・テーブル60aは、すでに割り当
てられた特定のイベントを要求する種々のプロセ
スのリンク・リストを維持し、イベントが自由で
あつたり自身のプロセスで解放された場合に、そ
のイベントを要求している最も優先順位の高いプ
ロセスへそのイベントを割り当てるためにも使用
される。
イベント指定では、イベントが割り当てられた
特定の機能を記入しない。これは要求しているプ
ロセスにより実施される。イベント・テーブル6
0aは、イベントの状態を保持する目的で使用さ
れる。例えばイベントが割り当て可能か、イベン
トが起こつたか、そのイベントをどのプロセスが
待つているか等。
第6図の説明を続けると、支持回路62は、イ
ベント・テーブル60aと統計テーブル60bと
リンク・テーブル60cとに情報フイルードを挿
入するばかりでなく、必要なフイールドを引き出
すためにも使用される。ローカルメモリ63は出
力バツフアとして使用され、現在どのプロセスが
第1図の各プロセス処理装置10で走つているか
を示すプロセス処理装置テーブルを保持してい
る。
第1図の他のプロセス処理装置へのメツセージ
の伝達は、第6図の出力レジスタ69から第1図
のメモリ制御装置11を介して行なわれる。メツ
セージは制御装置11から入力レジスタ65を通
つてメツセージ・バツフア64に受けられる。第
6図に示したように、前述の種々の機能ユニツト
は算術論理ユニツト入力マルチプレクサ68を通
して算術論理ユニツト・モジユール66の入力を
持つている。算術論理ユニツト・モジユール66
は、上述のプロセスの優先順位の処理とシステム
の他のプロセス処理装置へのメツセージの作成と
に使用される。第6図の全機能ユニツトはシーケ
ンス制御貯蔵部60の制御下に置かれ、メツセー
ジ・バツフア64による外部プロセス処理装置の
要求を受けることにより駆動される。要求コマン
ドは制御貯蔵部60によりデコードされる。
タスク制御プロセス処理装置21は、主制御プ
ログラムからほとんどの時間を費す多くの機能を
除き、第2図のI/Oプロセス処理装置22と共
に主制御プログラムからI/O処理に含まれるほ
とんどの機能を除くように設計されている。この
ように、本発明ではプロセス処理装置が特定の顧
客のプロセスを実行中に、メインメモリにないデ
ータを参照する場合に出会つた場合に、第2図の
タスク制御プロセス処理装置21がそのプロセス
にイベント・トークンを割り当てることを要求
し、第2図のI/Oプロセス処理装置22と第4
図のメツセージ−入力データ・バツフア30とに
転送されるI/O開始命令(ASYWC/
SCHEDULEコマンド)を生成するため、I/O
手続きを呼び出す。I/Oプロセスが完了した時
は、主要制御シーケンサ31が、I/Oプロセス
処理装置22からタスク制御プロセス処理装置2
1へ送られるメツセージを生成する。次に、イベ
ント・テーブル60aの特定のイベント位置の特
定ビツトをセツトして、現在指定イベントを待つ
ている全てのプロセスを目覚ませる。このプロセ
スは中央プロセス処理装置の介入なしに、タスク
制御プロセス処理装置によつて、優先順位に従つ
て第1図の次に動作可能なプロセス処理装置10
により実行のために再びスケジユールされる。
上記には、後のI/O要求がすぐに同じトラツ
クをアクセスする高い確率があるので、各時点で
のデイスクからセグメントをフエツチして全トラ
ツクをメインメモリに読み出すというデイスク・
キヤツシングに対して簡潔な記載はなされた。シ
ステム内の全てのデイスクに対して、メインメモ
リ内にデイスク・キヤツシユを保持することとに
より、第1図の種々のバス13aに対する要求と
制御装置14に対する要求との衝突が非常に少な
くなる。本発明を使用した型の超大型情報処理シ
ステムにおいては、永久記憶装置として多くのデ
イスクを必要とする場合にもオペレーテイング・
システムが余り大きくないばかりか、非常に頻繁
にアクセスや更新がされる顧客銀行甚定等の重要
な顧客データベースにおいても同様である。この
ことは、第1図の周辺装置15がシステムの負荷
を軽減するためにテープ装置以外は全てデイスク
装置であるような状況においても珍しくない。
I/O移動のためには大量の記憶装置が必要な
ため、メインメモリのかなりの部分がI/O処理
に割り当てられる。このように第1図において、
メモリ・モジユール12aは上述のI/O仕事領
域として割り当てられ、メモリ12bと12cと
はデイスク・キヤツシユとして、残りのメモリ、
モジユールが顧客のプログラムやデータに割り当
てられる。
データ領域をメモリ・モジユール12bのデイ
スク・キヤツシユに(から)、メモリの顧客部分
内の顧客のデータベースから(に)転送する目的
のために使用される、第2図のデータ転送ユニツ
ト23を説明する。製造経費の理由から、このユ
ニツトは、第4図において補助制御シーケンサと
その制御下にあるユニツト及びデバイス・テーブ
ル45とパスグレープ・テーブル46が使用され
ない以外は、I/Oプロセス処理装置22を具体
化した回路板であり、第4図に詳細に示されてい
る。しかしながら、このデータ転送ユニツトは、
結局第1図の全I/Oシステム13を制御する
I/Oプロセス処理装置に対して実際にはスレー
ブとなるように、制御貯蔵部にはI/Oプロセス
処理装置とは異なるマイクロコードによる手順を
有している。
処理中は、ASYNC−SCHEDULEコマンドが
第4図のメツセージ−入力データ・バツフア30
に受け取られ、選択されたデバイスがデイスクで
あることが確定したときは、主要制御シーケンサ
31がメインメモリ内のデイスク・キヤツシユを
検索する。もし処理が読み出しならば、I/Oプ
ロセス処理装置内の第4図の主要制御シーケンサ
31は通常のキユーイング構造を使用して、デー
タ転送ユニツト内の対応する制御貯蔵部に指示し
て、そのデータ項目をメインメモリのデイスク・
キヤツシユからメインメモリの要求プロセスの顧
客部分へ転送する。もし検索中にエラーがあれ
ば、第4図の主要制御シーケンサ31はI/O仕
事空間内に新しい制御ブロツクを作つて適当に選
択されたポート・アダプタ24に転送し、所定の
デイスクの対応するトラツクをアクセスして、ポ
ータ・アダプタを通して全トラツクをメインメモ
リのデイスク・キヤツシユ部ヘフエツチ・バツク
する。この転送中に、特に選択されたデータ項目
がデイスク・キヤツシユに格納された時には、第
2図のI/Oプロセス処理装置22はデータ転送
ユニツト23に合図して、デイスク・キヤツシユ
からその項目をフエツチし、メモリ内の要求プロ
セスの顧客部辺へ転送する。
同様の逆のプロセスがデイスク書き込みに使用
される。ASYNC−SCHEDULEコマンドがデイ
スク書き込みの場合は、I/Oプロセス処理装置
はデイスク・キヤツシユ内を検索し、対応するデ
イスク・トラツクが格納されているかを見て、格
納されていればI/Oプロセス処理装置は第2図
のデータ転送ユニツト23に合図し、そのデータ
をメインメモリの顧客部分から特定のデイスク・
トラツクに転送し、特定のポート・アダプタにデ
イスク・トラツクがフエツチされている特定のデ
イスクを更新させる。でなければ、デイスク書き
込み処理が周辺装置への他のデータ転送と同様に
実行される。
JP62507035A 1986-11-04 1987-10-29 オペレーテイング・システム機能の負荷を軽減するためのi/0システム Granted JPS63503336A (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US92656786A 1986-11-04 1986-11-04
US92673886A 1986-11-04 1986-11-04
US92658886A 1986-11-04 1986-11-04
US926,567 1986-11-04
US06/926,568 US5764922A (en) 1986-11-04 1986-11-04 I/O system for off-loading operating system functions
US926,738 1986-11-04
US926,568 1986-11-04
US926,588 1986-11-04

Publications (2)

Publication Number Publication Date
JPS63503336A JPS63503336A (ja) 1988-12-02
JPH0519179B2 true JPH0519179B2 (ja) 1993-03-16

Family

ID=27506008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62507035A Granted JPS63503336A (ja) 1986-11-04 1987-10-29 オペレーテイング・システム機能の負荷を軽減するためのi/0システム

Country Status (5)

Country Link
EP (1) EP0290533B1 (ja)
JP (1) JPS63503336A (ja)
CA (1) CA1306311C (ja)
DE (1) DE3788346T2 (ja)
WO (1) WO1988003682A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247671A (en) * 1990-02-14 1993-09-21 International Business Machines Corporation Scalable schedules for serial communications controller in data processing systems
US5548735A (en) * 1993-09-15 1996-08-20 International Business Machines Corporation System and method for asynchronously processing store instructions to I/O space
US6968405B1 (en) 1998-07-24 2005-11-22 Aristocrat Leisure Industries Pty Limited Input/Output Interface and device abstraction
AU748434B2 (en) * 1998-07-24 2002-06-06 Aristocrat Technologies Australia Pty Limited Input/output interface and device abstraction
US7743376B2 (en) * 2004-09-13 2010-06-22 Broadcom Corporation Method and apparatus for managing tasks in a multiprocessor system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5764859A (en) * 1980-10-08 1982-04-20 Hitachi Ltd Multi-processor system
US4413317A (en) * 1980-11-14 1983-11-01 Sperry Corporation Multiprocessor system with cache/disk subsystem with status routing for plural disk drives
US4394727A (en) * 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus
US4435755A (en) * 1981-12-28 1984-03-06 International Business Machines Corporation Balanced channel finding method
DE3676497D1 (de) * 1985-10-15 1991-02-07 Unisys Corp Spezialrechner fuer getrennte ausfuehrung mancher betriebssystemfunktionen in einem grossen datenverarbeitungssystem.

Also Published As

Publication number Publication date
DE3788346D1 (de) 1994-01-13
WO1988003682A1 (en) 1988-05-19
DE3788346T2 (de) 1994-06-23
EP0290533B1 (en) 1993-12-01
CA1306311C (en) 1992-08-11
JPS63503336A (ja) 1988-12-02
EP0290533A1 (en) 1988-11-17

Similar Documents

Publication Publication Date Title
US5313584A (en) Multiple I/O processor system
US5787304A (en) Multipath I/O storage systems with multipath I/O request mechanisms
US5481707A (en) Dedicated processor for task I/O and memory management
US5530897A (en) System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices
US4881163A (en) Computer system architecture employing cache data line move-out queue buffer
US6665699B1 (en) Method and data processing system providing processor affinity dispatching
EP0106669B1 (en) Operating system supervisor
EP0207288A2 (en) Peripheral subsystem initialization method and apparatus
EP0150705A2 (en) Data storage hierarchy and its method of operation
JPH0458050B2 (ja)
KR100463987B1 (ko) 공통처리알고리즘을이용한다수의큐핸들링방법및장치
JPS60128537A (ja) 多重プログラミング・システム
JP2557199B2 (ja) インターフェース・システムおよび方法
JP2002117002A (ja) 共用型ペリフェラルアーキテクチャ
US5764922A (en) I/O system for off-loading operating system functions
CA1304513C (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
US6874040B2 (en) Employing a data mover to communicate between dynamically selected zones of a central processing complex
US5070477A (en) Port adapter system including a controller for switching channels upon encountering a wait period of data transfer
JPH0519179B2 (ja)
EP0514697A2 (en) Split instruction paging method
CN108845969B (zh) 适用于不完全对称多处理微控制器的操作控制方法及操作系统
US5630134A (en) Inter-processor exclusive control apparatus for enabling one of a plurality of processors execute an executable unit process
WO1988003682A2 (en) I/o system for off-loading operating system functions
EP0216170A2 (en) Storage management method and system in a multiprocessor environment
JP2517859B2 (ja) 並列プロセス管理方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080316

Year of fee payment: 15