(57)【特許請求の範囲】
【請求項１】
命令プロセッサ、主記憶装置、マイクロプログラムにより動作するチャネル装置、チャネル装置を制御するチャネル制御装置を具備する情報処理システムにおけるチャネル装置のマイクロプログラムロード方式であって、
チャネル制御装置は、チャネル装置との制御データ線上に、マイクロプログラムロード指示コマンド、マイクロプログラムが格納された主記憶装置アドレス、マイクロプログラムのステップカウント数およびチャネル装置の初期化に必要な情報を含むチャネル起動制御パケットを送出する手段を具備し、
チャネル装置は、制御データ線上の前記パケット内のマイクロプログラムロード指示コマンドを認識する手段と、前記パケット内の当該チャネル装置の初期化に必要な情報を取り込むと共に、該パケットで指定された主記憶装置アドレス及びマイクロプログラムのステップカウント数をセットアップして主記憶装置に格納されたマイクロプログラムの読み出しを実行する手段と、前記主記憶装置から読み出されたマイクロプログラムを自制御記憶へ格納する手段を具備する、
ことを特徴するマイクロプログラムロード方式。
【請求項２】
請求項１のマイクロプログラムロード方式において、前記チャネル起動制御パケットはマイクロプログラムのスタートアドレスを含み、チャネル装置は、マイクロプログラムの読み出しおよび制御記憶への格納が完了すると、前記パケットで指定されたマイクロプログラムのスタートアドレスから動作を開始することを特徴とするマイクロプログラムロード方式。
【請求項３】
請求項１乃至２のマイクロプログラムロード方式において、チャネル装置が複数のチャネル制御装置に結合されている場合、該チャネル装置は、主記憶装置からのマイクロプログラムの読み出しを行う際に結合したチャネル制御装置のうちマイクロプログラムロード指示を送出したチャネル制御装置側の制御データ線を選択することを特徴とするマイクロプログラムロード方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、命令プロセッサ、主記憶装置、マイクロプログラム制御により動作する１台乃至複数のチャネル装置、該１台乃至複数のチャネル装置を制御する１台乃至複数のチャネル制御装置等により構成される情報処理システムに係わり、特にマイクロプログラム制御により動作するチャネル装置のマイクロプログラムロード方式に関する。
【０００２】
【従来の技術】
情報処理システム内の各種処理装置において、その制御にマイクロプログラムを用いる技術は周知のものであり、そのマイクロプログラムを格納する制御記憶と呼ばれる記憶手段には、随時読み書き可能な所謂ＲＡＭ（Ｒandom Ａccess Ｍemory）を用い、装置の立ち上げ時に、主記憶装置に格納されているマイクロプログラムを制御記憶へロードする初期マイクロプログラムロード(ＩＭＬ：Ｉnitial Ｍicroprogram Ｌoad)を行う技術も周知のものである。このＩＭＬには、一般に通常の制御データ線とは別のスキャンインタフェースを利用し、スキャンイン手段で制御記憶へのマイクロプログラムロードが行われる。
【０００３】
従来、このスキャンインタフェースを利用したマイクロプログラムロードの速度を改善する手法としては、例えば、特開平１−３７６２４号公報に記載されている方式がある。これは、対象装置内の制御記憶への書き込み手段を具備し、スキャンインタフェースによりロードされる前段のロード専用マイクロプログラムと、前記マイクロプログラムを主記憶装置から読み出したのち、前記書き込み手段により制御記憶へロードされる後段マイクロプログラムを用意しておくことで、低速なスキャンインタフェースでロードするマイクロプログラムのステップを減らし、マイクロプログラムロードの速度改善を達成するものである。さらに、逐次処理が必要なスキャンイン動作を各装置へグローバル指示することで、スキャンイン動作回数を低減しようという同時スキャンインという手段も提供されている。
【０００４】
一方、所謂スキャンインタフェースによらないロード手段として、低速ＲＯＭ（Ｒead Ｏnly Ｍemory）を備えた改善手段があり、該ＲＯＭに格納された前段マイクロプログラムが後段マイクロプログラムをＲＯＭに比して高速なＲＡＭへロードする手法も提案されている。
【０００５】
【発明が解決しようとする課題】
上述したような従来技術には、次のような問題点がある。
第一の問題点は、増大する処理性能要求に対し、スキャンインタフェースを用いたＩＭＬ手法では十分な性能を提供できないケースが生じることである。たとえば、大型計算機にて利用されているプロセッサ資源分割機構等で、チャネル制御装置配下のチャネル装置を介して入出力装置が動作しているときに、低速なスキャンインターフェース等を利用したＩＭＬを処理しようとするとチャネル制御装置は命令プロセッサを介して発行される入出力要求や別のＩＭＬ要求の処理を遂行することができず、システム性能およびオペレータからみた応答性の低下につながるという問題がある。
【０００６】
第二の問題点は、近年のオープン指向のシステムにおいて多数の異なるプロトコルを持った入出力装置が求められており、それぞれが異なる処理を実現するハードウェアあるいはマイクロプログラムが必要となるが、同時スキャンイン手法でも異なるハードウェアへの異なるマイクロプログラムロードが困難であり、同時スキャンインによる改善手法が実施できなくなっている。
【０００７】
第三の問題点は、ＩＭＬ時のテンポラリ利用のために専用のスキャイン手段を備えることは、コストパフォーマンスの面から部品点数を減らしたいという要求もあるため、極力さけることが求められる。
【０００８】
第四の問題点は、第一乃至第三の問題点を解消することで新たに発生しうる課題である。すなわち、チャネル装置のスループット向上あるいはチャネル装置の可用性向上施策として、上位チャネル制御装置に接続する制御データ線を複数設置する構成を考慮しておく必要がある。これは、システム全体の立ち上げの順番に関する問題であり、一般にシステム全体の立ち上げは上位装置から下位装置へと順次おこなわれるが、前記構成においては、複数ある上位チャネル制御装置のどれかの立ち上げが完了していない場合、制御データ線を介した情報の送受信が正しく遂行できない問題がある。
【０００９】
本発明の目的は、情報処理システムにおいて、マイクロプログラム制御により動作するチャネル装置に対し、上述したような問題点を解消しうるマイクロプログラムロード方式を提供することにある。
【００１０】
【課題を解決するための手段】
本発明は、チャネル制御装置には、チャネル装置との制御データ線上に、マイクロプログラムロードの指示コマンドやチャネル装置の初期化に必要なデータを包含させたチャネル起動制御パケットを送出する手段を設け、チャネル装置には、制御データ線上の前記パケットを認識することで、チャネル装置自身がマイクロプログラムが格納された主記憶参照を行い、自身の制御記憶へのマイクロプログラムロードおよびマイクロプログラムロード完了後にはマイクロプログラムスタートを行い、同時に受信した初期化情報を基にＩＭＬを完了させる手段を設ける。これにより、上位チャネル制御装置はパケット送出完了時点で別の処理へとディスパッチする事ができ、たとえば入出力処理の実行や、別のチャネル装置のＩＭＬ処理が可能になる。
【００１１】
また、本発明は、マイクロプログラムロード指示のチャネル起動制御パケット内に、マイクロプログラムが格納された主記憶装置アドレスおよびマイクロプログラムのステップカウント数を包含させ、チャネル装置には、該パケット内で指定された主記憶装置アドレスおよびマイクロプログラムのステップカウント数に従いマイクロプログラムロードをおこなう手段を設ける。これにより、パケット内の主記憶装置アドレスおよびステップカウント数を変えることで、多数の異なるプロトコルを持った入出力装置に応じて、それぞれが異なる処理を実現するハードウェアに対して、それぞれが異なる処理を必要とするマイクロプログラムのロードを柔軟に実現できるようになる。
【００１２】
さらに、本発明は、チャネル装置に設ける上記ＩＭＬのための手段を、チャネル装置自身が本来具備するデータ転送回路を用いることで実現する。これにより、専用ロード手段によらず、既存の制御回路に対する僅かな追加変更でマイクロプログラムロードが可能になる。
【００１３】
さらに、本発明は、チャネル装置が複数のチャネル制御装置と結合可能な複数ある制御データ線の中から、該チャネル制御装置へ接続した制御データ線を選択する手段を備える。これにより、チャネル装置は、マイクロプログラムロード指示パケットを送出した正常に立ち上がっていることが期待できるチャネル制御装置を介した主記憶参照を可能とする。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施例について説明する。
図１は本発明の一実施例を示す情報処理システムの構成図である。本システムは、１台あるいは複数の命令プロセッサ（ＩＰ）１０、主記憶装置（ＭＳ）２０、２台のチャネル制御装置（ＣＨＰ）３０、４０、各ＣＨＰ（０）３０、ＣＨＰ（１）４０に接続可能な複数のチャネル装置（ＣＨ）５０、５１、及び、ＩＰ１０やＣＨＰ（０）３０、ＣＨＰ（１）４０あるいはＣＨＰを介したＣＨ（０）５０、ＣＨ（１）５１からの主記憶参照要求を処理する記憶制御装置（ＳＣ）６０等で構成される。ＭＳ２０は、処理途中等のデータに加え、ソフトウェアおよびハードウェアの構成情報等を格納している。ＣＨＰ（０）３０およびＣＨＰ（１）４０はマイクロプログラム手段により動作し、ソフトウェアにより発行されるＩ／Ｏ処理命令を受領してＣＨ（０）５０、ＣＨ（１）５１への動作開始指示、あるいはＣＨ（０）５０、ＣＨ（１）５１を介した入出力装置（Ｉ／Ｏ）からの割り込み要求を処理する。
【００１５】
チャネル制御装置ＣＨＰ（０）３０は、本発明に係る構成として、マイクロ制御回路３１、パケットレジスタ（ＰＲＥＧ）３２、アドバンス制御回路（ＡＣＴＬ）３３、リクエスト制御回路（ＲＣＴＬ）３４を具備する。もう一方のチャネル制御装置ＣＨＰ（１）３１も同様の構成である。マイクロ制御回路３１は、当該ＣＨＰ（０）３０の動作を制御するマイクロプログラムを実行する制御回路である。ＰＲＥＧ３２は該ＣＨＰ（０）３０がＣＨ（０）５０、ＣＨ（１）５１などに対してチャネル起動制御パケットを送出する際に、後述の図３に示されるパケット形式をセットアップするためのレジスタである。ＡＣＴＬ３３はＳＣ６０からの主記憶参照応答をバッファリングしながら複数あるＣＨ５０、ＣＨ（１）５１などへ選択返送することに加え、マイクロ制御回路３１からのＰＲＥＧ３２で示されるチャネル起動制御パケットをバッファリングしながら複数あるＣＨ５０（０）、ＣＨ（１）５１などへ選択送出する手段を提供する。このＡＣＴＬ３３のバッファリング機能により、ＣＨＰ（０）３０からのチャネル起動制御パケットはＣＨ側への送出を完了する前に次のチャネル起動制御パケットをＰＲＥＧ３２にセットアップすることが可能となる。ＲＣＴＬ３４は、当該ＣＨＰ（０）３０のマイクロ制御回路３１およびＣＨ（０）５０、ＣＨ（１）５１からの主記憶参照要求をバッファリングしながら上位のＳＣ６０へ送出する手段を提供する。
【００１６】
各チャネル装置ＣＨ（０）５０、ＣＨ（１）５１は上位装置のＣＨＰ（０）３０あるいはＣＨＰ（１）４０に対して送受信する制御データ線をそれぞれ備えており、チャネル装置のデータスループット向上およびＣＨＰのどちらかの障害発生時を考慮したチャネル装置の可用性向上が図れる構成となっている。
【００１７】
図２は、チャネル装置の本発明に関係する構成の論理ブロック図であり、その他のチャネル装置に必要であろう回路は省略されている。
１００および１０１は上位のチャネル制御装置（ＣＨＰ）間に設けられた制御データ線のプロトコル制御を行うインタフェース制御回路（ＤＵ）であり、ＤＵ１００はＣＨＰ（０）３０、ＤＵ１０１はＣＨＰ（１）４０に対応している。各ＤＵ１００、１０１は、受信したパケットを認識することで主記憶参照データのバッファ手段への書き込み指示あるいは起動制御パケットのマイクロプログラムへ通知する手段を備える受信制御回路１１０と、逆に当該チャネル装置からの主記憶参照要求およびＣＨＰへの割り込み要求をパケット形式に変換し送出する送信制御回路１２０を備える。ここで、受信制御回路１１０は、比較回路１１１およびロード開始制御回路１１２を有する。比較回路１１１は、ＣＨＰ（０）３０あるいはＣＨＰ（１）４０から送出された後述の図３に示されるパケットデータのマイクロロード指示の特殊パケットコード（ＯＲＤＬ）を認識する回路、ロード開始制御回路１１２は比較回路１１１から出力されたマイクロロード指示信号からパケットデータを後述の各種レジスタ等に転送するためのセットアップステージを生成する回路であり、いずれも本マイクロプログラムロードのために追加された機構である。
【００１８】
１３０はＣＨＰ（０）３０あるいはＣＨＰ（１）４０から受信したチャネル起動制御パケットデータ、あるいはチャネル装置自身の主記憶参照要求により読み出されたＭＳ２０からのデータを乗せるデータパスである。該データパス１３０は、本来、入出力動作用のデータバッファ（図３では省略）へ接続されるものであるが、ここでは、マイクロプログラムロード動作時はＭＳ２０から読み出したマイクロプログラムを後述の制御記憶（ＣＳ）３１０へ書き込むため、さらには、ＣＳ書込みアドレスレジスタ（ＣＳＷＡ）３３０および実アドレス保持レジスタ（ＰＣ）３５０への初期セットアップのために、後述のロード状態保持回路２１０から出力される選択信号２１１によりＣＨＰ（０）３０あるいはＣＨＰ（１）４０のデータが選択出力される。１４０も本来、データパス１３０と共にデータバッファへの書き込みに利用されるが、ロード状態では、後述する制御記憶
（ＣＳ）３１０へのデータ取り込み信号（ＣＳ書き込み信号）に利用される。１５０は後述のデータ転送制御回路２２０へのマイクロプログラムロード用のデータ転送開始を指示するマイクロロードスタート信号として新規に追加したものである。
【００１９】
２００はバーストデータ転送制御回路（ＢＵ）であり、チャネル装置が自明的に備えているものである。該ＢＵ２００は、ロード状態保持回路２１０、データ転送制御回路２２０、主記憶装置アドレス保持レジスタ（ＡＤＲ）２３０、データ長保持レジスタ（ＬＥＮ）２４０などを具備する。ロード状態保持回路２１０はＤＵ１００あるいはＤＵ１０１のロード開始制御回路１１２により発せられたロード開始信号を受領し、ＣＨＰ（０）３０あるいはＣＨＰ（１）４０のどちらからの指示であるかを保持する回路であり、本発明に係るマイクロプログラムロード機能を実現するために追加した機構である。ロード状態保持回路２１０の出力２１１は、データパス１３０を選択出力し、かつＤＵ１００あるいはＤＵ１０１内の送信制御回路１２０がデータ転送制御回路２２０から受信したデータ転送要求の送出先ＣＨＰ（０）３０あるいはＣＨＰ（１）４０を選択するセレクト信号を示している。ＡＤＲ２３０は、マイクロプログラムロード時はＤＵ１００あるいはＤＵ１０１のロード開始制御回路１１２により発せられるセットアップ信号を用いデータパス１３０からデータ転送元を示す主記憶参照アドレスを格納し、あるいはチャネル装置自体が自明的に行う入出力データ転送時はマイクロプログラムによりセットアップ可能な主記憶参照アドレスを格納する。ＬＥＮ２４０は、ＡＤＲ２３０と同様にマイクロプログラムロード時あるいは入出力データ転送時、データ転送カウント数を格納する。データ転送制御回路２２０は、ＡＤＲ２３０およびＬＥＮ２４０をもとに、ＤＵ１００あるいはＤＵ１０１の送信制御回路１２０へのデータ転送要求を行う制御回路である。データ転送制御回路２２０の出力２２１はマイクロプログラムロード時にＡＤＲ２３０からデータ転送要求を開始し、ＬＥＮ２４０にて指定されたデータ長分の主記憶参照データの受信が完了した時点で「１」となり、マイクロプログラムロード時はロード状態保持回路２１０の状態リセットおよびマイクロプログラム制御回路３００へのファンクションスタート指示を行い、通常の入出力データ転送時にはマイクロプログラムへの転送完了報告を示すトリガ信号である。同じくデータ転送制御回路２２０の出力２２２はデータ転送要求を送信制御回路１２０へ伝搬させるデータ転送要求用データパスを示している。
【００２０】
３００はＣＨのマイクロプログラム制御をおこなう実行制御回路（ＥＵ）である。ここで、本発明に係る部分について説明すると、制御記憶（ＣＳ）３１０はマイクロプログラムを格納する。アドレス制御回路３２０は、通常はマイクロプログラム命令によるＣＳ３１０への書き込み時のオペランドアドレスを決定するとともに、マイクロプログラムロード時には、まずロード開始制御回路１１２からのセットアップ要求信号によりＣＳＷＡ３３０へのマイクロロード先ＣＳアドレスを出力し、受信制御回路１１０から発せられるデータ取り込み信号１４０を受けると、ＣＳ３１０への書き込み信号を生成するとともにＣＳＷＡ３３０をインクリメントする手段を備える。ＣＳＷＡ３３０はＣＳ３１０への書き込みアドレスを保持するレジスタ、ワーク記憶（ＷＳ）３４０はマイクロプログラムの演算結果等を格納する記憶部である。ＰＣ３５０は、通常マイクロプログラムのカレント実行アドレスを格納するとともに、マイクロプログラムロード時はロード開始制御回路１１２からのセットアップ要求信号によりデータパス１３０からマイクロプログラムのスタートアドレスを取り込むレジスタである。
【００２１】
図３はマイクロプログラムロード指示を含むパケット形式の一実施例を示す。９００はマイクロプログラムロード指示を含むチャネル起動制御パケット形式を示し、パケットがチャネル起動制御パケット形式を示すパケット識別子（ＰＩＤＣ）９０１、該制御パケットがマイクロプログラムロード指示を示す修飾子（ＯＲＤＬ）９０２、チャネル装置の立ち上げに利用される構成情報等を示す初期データ（ＩＶ）９０３、マイクロプログラムロードのソース主記憶アドレスを示すＭＳアドレス（ＬＭＳＡＤＲ）９０４、ロードするマイクロプログラムのステップカウント数すなわちバイト長を指定するカウント数（ＣＯＵＮＴ）９０５、マイクロプログラムのロードアドレスおよびスタートアドレスを示す（ＣＳＡＤＲ）９０６から構成される。なお、ＣＯＵＮＴ９０５は、ロードするマイクロプログラムの最終アドレスとすることでもよい。９１０は主記憶装置読み出し要求を示すパケット形式を示し、パケットが主記憶装置読み出し要求を示すパケット識別子（ＰＩＤＭ）９１１、主記憶読み出しパケットのバリエーションを示す修飾子（ＯＲＤＭ）９１２、主記憶アドレス（ＭＳＡＤＲ）９１３から構成される。９２０は主記憶読み出し要求に対する応答パケット形式を示し、パケットが主記憶読み出し要求に対する応答パケットであることを示すパケット識別子９２１（ＰＩＤＡ）、主記憶参照要求のステータスを示す修飾子９２２（ＯＲＤＡ）、主記憶読み出しデータ９２３（ＦＴＤＴ）から構成されている。また、各パケット形式のパケット識別子には送受信元を特定する識別コードも含まれる。
【００２２】
図４は主記憶装置（ＭＳ）３０内の本実施例で使用する領域の概略マップを示したものである。５００は各チャネル装置の種別等のチャネル構成情報（ＣＨＣＯＮＦ）が格納されたＣＨＣＯＮＦ情報領域であり、５０１はＣＨ（０）５０、５０２はＣＨ（１）５１に対応したそれぞれのＣＨＣＯＮＦ情報が格納されている。５３０は各種マイクロプログラムのアドレスポインタとデータサイズを格納したテーブルである。５１０は例えばＡＬとよばれる入出力プロトコルを実現するチャネル装置に対応したマイクロプログラムが格納されている領域で、テーブル５０４にその格納アドレス（先頭アドレス）とデータサイズが（ステップカウント数）設定されている。同様に、５２０はＳＢと呼ばれるプロトコルに対応したマイクロプログラムが格納された領域で、テーブル５０３にその格納アドレスとデータサイズが設定されている。
【００２３】
図５および図６は本発明によるマイクロプログラムロード手順の概略フローチャートである。以下、これに基づいて図１、図２の動作を説明する。
【００２４】
図５は、チャネル制御装置のチャネル装置立ち上げフローチャートを示したものである。ここでは、図５のフローに従い、ＣＨＰ（０）３０からのＣＨ（０）５０およびＣＨ（１）５１の起動動作を説明する。
【００２５】
ＣＨＰ（０）３０のマイクロ制御回路３１は、外部制御装置（サービスプロセッサ等）を介して、オペレータから指定されたチャネル装置ＣＨ（０）５０、ＣＨ（１）５１を立ち上げようとする場合、例えば、まず、ＣＨ（０）５０について、ＭＳ２０のＣＨＣＯＮＦ（０）５０１をチエックする（ステップ２００１）。ＣＨの構成情報はＭＳ２０に格納されており、図４に示したように、ＣＨＣＯＮＦ（０）５０１をチェックすることで、ＣＨ（０）５０の種類を知ることができる。ＣＨＣＯＮＦ（０）５０１により、ＣＨ（０）５０は、例えば、ＡＬとよばれるプロトコルによる入出力動作をおこなうチャネル装置であったとする。この場合、マイクロ制御回路３１は、ＭＳ２０のテーブル５０４を参照して、ＡＬプロトコル用マイクロプログラムの格納エリア５１０の主記憶アドレス、同様に当該マイクロプログラムのワード数を獲得する（ステップ２００２）。これら情報に基づき、マイクロ制御回路３１は、送出先がＣＨ（０）５０であることを示すパケット形式９００（チャネル起動制御パケット）のＰＩＤＣ９０１、ＩＶ９０３、ＭＳＡＤＲ９０４、ＣＯＵＮＴ９０５およびマイクロプログラムを格納するＣＳＡＤＲ９０６をＰＲＥＧ３２へセットアップする（ステップ２００３）。この時のＩＶ９０３には、例えば、当該ＣＨ（０）５０が搭載されている物理位置、システムの識別情報あるいはＣＨＰ（０）ＩＤなどを格納する事ができるが、ＩＶの内容詳細は本発明に関係しないため詳細な説明は省略する。ＰＲＥＧ３２のデータ（チャネル起動制御パケット）は、ＡＣＴＬ３３によりＣＨ（０）５０に送信されるが、ＡＣＴＬ３３内でバッファリングされるまでデータの書き換えを禁止する必要があることから、送信完了まで一時的に送信完了の待ち状態となり、この送信完了待ち状態を抜けた時点でＣＨ（０）５０の立ち上げ処理を完了する（ステップ２００４）。なお、この時の待ち時間は従来のスキャン手順などに比べると無視できる程度の時間である。
【００２６】
次に、ＣＨＰ（０）３０のマイクロ制御回路３１は、ＣＨ（１）５１への立ち上げ処理に移り、ＭＳ２０のＣＨＣＯＮＦ（１）５０２をチェックする（ステップ２００５）。ＣＨＣＯＮＦ（１）５０２により、ＣＨ（１）５１はＣＨ（０）５０と異なり、例えば、ＳＢとよばれるプロトコルによる入出力動作をおこなうチャネル装置であったとする。この場合、マイクロ制御回路３１は、ＭＳ２０のテーブル５０３を参照して、ＳＢプロトコル用マイクロプログラムの格納エリア５２０の主記憶アドレス、同様に当該マイクロプログラムのワード数を獲得する（ステップ２００６）。これら情報に基づき、マイクロ制御回路３１は、送出先がＣＨ（１）５１であることを示すパケット形式９００の（チャネル起動制御パケット）ＰＩＤＣ９０１、ＭＳＡＤＲ９０４、ＣＯＵＮＴ９０５およびマイクロプログラムを格納するＣＳＡＤＲ９０６をＰＲＥＧ３２へセットアップする（ステップ２００７）。この時、パケット形式９００としてセットアップされる情報は、先のＣＨ（０）５０へのそれとは当然異なっているのはいうまでもない。ＰＲＥＧ３２のデータ（チャネル起動制御パケット）は、ＡＣＴＬ３３によりＣＨ（１）５１に送信される（ステップ２００８）。
【００２７】
このようにして、ＣＨＰ（０）３０は、最終的にパケット送出（ステップ２００４、２００８）でＣＨの立ち上げ処理を完了させることができ、さらには異なるマイクロプログラムのロードをパイプライン的に処理することが可能となる。ＣＨＰ（１）４０のＣＨ立ち上げ処理も同様である。
【００２８】
図６は、、前述の図５フローに従いＣＨＰ（０）３０から発行されたＣＨ（０）５０およびＣＨ（１）５１へのマイクロプログラムロード指示のチャネル起動パケット９００を受信したＣＨ（０）５０およびＣＨ（１）５１が行うマイクロプログラムロード処理のフローチャートである。これにより、図２のチャネル装置の動作を説明する。
【００２９】
ＣＨ（０）５０およびＣＨ（１）５１では、ＤＵ１００においてＣＨＰ（０）３０から発行されたマイクロプログラムロード指示のチャネル起動制御パケット９００を受信する。該ＤＵ１００の受信制御回路１１０は、受信したパケット９００を制御パケット形式であると認識すると、該パケット内のＯＤＲＬ９０２を比較回路１１１に伝搬する。比較回路１１１は例えばマイクロロード指示を示す０Ｆｈのコードと受信したＯＲＤＬ９０２が一致していれば、ロード開始制御回路１１２へ動作開始指示をおこなう（ステップ２１００）。これを受けて、ロード開始制御回路１１２は、マイクロプログラムロード状態であることをチャネル装置内のハードウェア（ＢＵ、ＥＵ）に認識させるため、ロード状態保持回路２１０へのトリガ信号を「１」にし（ステップ２１０１）、ＣＨＰ（０）３０からのチャネル起動制御パケット９００を選択出力しているデータパス１３０上のＩＶ９０３をＷＳ３４０に書き込むように指示する。同様に、データパス１３０にはパケット９００のＭＳＡＤＲ９０４、ＣＯＵＮＴ９０５、ＣＳＡＤＲ９０６の順にデータ出力されるため、各々ＡＤＲ２３０、ＬＥＮ２４０、ＣＳＷＡ３３０およびＰＣ３５０にセットアップされることとなる（ステップ２１０２）。ＣＳＷＡ３３０およびＰＣ３５０へのデータセットアップ完了した時点で、ＤＵ１００のロード開始制御回路１１２はＢＵ２００のデータ転送制御回路２２０へのデータ転送開始指示要求（スタート指示信号１５０）を発行して動作を完了する。
【００３０】
データ転送開始指示を受けたデータ転送制御回路２２０は、ＡＤＲ２３０で示される主記憶参照アドレスの主記憶参照要求をデータパス２２２を介してＤＵ１００の送信制御回路１２０に送出し（ステップ２１０３）、ＬＥＮ２３０をパケット形式９１０で許容されたデータサイズ数（例えば１２８バイト）を減算し、さらに送信制御回路１２０での要求受領を認識したあと、ＡＤＲ２３０で示される主記憶参照アドレスを前記データサイズ分（例えば１２８バイト）加算する（ステップ２１０４）。マイクロロードに必要なデータ長はＬＥＮ２４０で示されているため（例えば１０２４バイト）、データ転送制御回路２２０は、ＬＥＮ２４０が０となるまでの間、主記憶参照要求を継続的に発行することとなる（ステップ２１０７）。
【００３１】
ＤＵ１００の送信制御回路１２０は、主記憶参照要求とともに付随するアドレス情報を基にパケット形式９１０の読み出し要求パケットを組み立てＣＨＰ（０）３０へ送出する。その後、ＣＨ側は応答待ちとなる（ステップ２１０５）。
【００３２】
この時、ＣＨＰ（０）３０およびＣＨＰ（１）４０への送信を行う送信制御回路１２０は、各々主記憶参照要求を受けるが、ロード状態保持回路２１０が出力するセレクト信号２１１が「０」となっており、ＣＨＰ（０）３０に対する送信制御回路１２０のみが、データ転送制御回路２２の制御下で実際の動作を行うこととなる。このため、パケット９１０はＣＨＰ（０）３０に送信され、ＲＣＴＬ３４にてバッファリングされ、ＳＣ２０６０を介してＭＳ２０へ送出される。
【００３３】
一方、ＣＨＰ（１）４０からのチャネル起動制御パケットを受信し、当該パケットがマイクロロード指示であった場合は、前記セレクト信号２１１が「１」となることで、データパス１３０、ＣＳ書き込み信号１４０およびスタート指示信号１５０の出力がＣＨＰ（１）側となり、また、マイクロロードのための主記憶参照要求はＣＨＰ１へ送出されることとなり、確実に立ち上がっていることが期待できる上位装置への制御データ線を選択することが可能となる。
【００３４】
ＣＨＰ（０）３０へ送出した主記憶参照要求のパケット９１０に対し、ＣＨＰ（０）３０からＡＣＴＬ３３を経由し図３に示されたパケット形式９２０でパケットが返送されると、次のように制御記憶（ＣＳ）３１０への書き込みを実行する（ステップ２１０６）。ＤＵ１００の受信制御回路１１０は、返送されたパケット形式９２０を主記憶読み出し要求に対する応答パケットであると認識すると、データパス１３０に読み出しデータを出力するとともに、データ書き込み信号１４０を「１」にする。データ書き込み信号１４０は該応答パケットで示されるデータサイズ分（例えば１２８バイト）を制御記憶３１０に書き込めるデータサイズ（例えば４バイト）、つまりマイクロプログラムのワード長に分割した回数（１２８÷４＝３２回）だけ「１」、「０」を繰り返す。ＥＵ３００のアドレス制御回路３２０は前記データ書き込み信号１４０のトリガを１つ受信する毎にＣＳ３１０へ書き込みを指示するとともに、ＣＳＷＡ３３０をインクリメントする。この動作を主記憶参照要求に対する応答分繰り返すことでＣＳ３１０への書き込みが完了する（ステップ２１０７）。
【００３５】
こうして、最後の主記憶参照応答（１０２４÷１２８＝８回目）の最後のデータを受信した時点で、データ転送制御回路２２０がデータ転送完了信号２２１を送出すると、ロード状態保持回路２１０はマイクロプログラムロード状態を解除する（ステップ２１０８）。この時点でチャネル装置に必要なマイクロプログラムロードは終了しており、特定のアドレスからマイクロスタートさせることで立ち上げが完了するため、前記データ転送完了信号２２１をマイクロプログラムスタート指示信号としてＥＵ３００に送出することで、例えば、ＣＨ（０）５０はＰＣ３５０に格納されたアドレスよりマイクロプログラムをスタートさせる（ステップ２１０９）。同様にＣＨ（１）５１においても、パケット送出により指示されたパケット形式９００をうけ自発的にマイクロプログラムロードがおよびスタートが完了することになる。
【００３６】
図７に、参考例として、従来のＣＨＰのスキャンイン手段によりＣＨの立ち上げを行う場合の処理フローチャートを示す。図７に示すように、例えば、ＣＨＰ（０）３０はＭＳ２０のＣＨＣＯＮＦ（０）５０１をチエックし（ステップ３００１）、ＣＨ（０）５０へ格納すべきマイクロプログラムの格納された主記憶アドレスを取得した後（ステップ３００２）、ＣＨＰ（０）３０自らがＭＳ２０からマイクロプログラムの読み出しを行い（ステップ３００３）、取得したマイクロプログラムデータをＣＨ（０）５０へスキャンインする必要がある（ステップ３００４）。さらに、ＭＳ２０からの読み出しは３２バイトあるいは１２８バイトなど図３に示されるパケット形式が許容するデータサイズでないとするなら、ステップ３００３のＭＳデータ読み出しを少なくともマイクロプログラムに必要な回数を実行する必要がある。データ全てのスキャンイン完了したところで（ステップ３００５）、スキャンイン手段と同様な低速なインタフェースを介しＣＨ（０）５０へのマイクロプログラムスタート指示をおこなう（ステップ３００６）。さらに、ＣＨ（１）５１への立ち上げも同様に行うこととなり（ステップ３００７〜３０１２）、全てマイクロプログラムデータのスキャンインが完了するまでの時間が無視できず、その間、ＣＨＰは別の処理を行うことができない。
【００３７】
以上、実施例によれば、チャネル装置が自明的に備えているデータ転送制御回路を利用する事で、僅かな制御手段の追加変更で自発的なマイクロプログラムロードが可能となる。さらに、システム全体が立ち上げ中でありかつ自発的なマイクロプログラムロード時に発生しうるデータ送受信経路選択に関して、特別な制限を設けることなく僅かな変更で対応することができる。
【００３８】
【発明の効果】
以上説明したように、本発明によれば、チャネル制御装置（ＣＨＰ）はマイクロロード指示用のチャネル起動制御パケットの送出完了時点で別の処理へとディスパッチする事が可能となり、システム性能およびオペレータからみた応答性の低下を回避することができるとともに、パケット内のパラメータを変えることで多数の異なるプロトコルを持ったチャネル装置に対してのイニシャルマイクロプログラムロード処理が高速に実現できる。
【図面の簡単な説明】
【図１】本発明の一実施例を適用した情報処理システム全体の構成図である。
【図２】本発明によるチャネル装置の一実施例を示す構成図である。
【図３】本発明で使用されるインタフェース上のパケット形式の一実施例を示す図である。
【図４】マイクロプログラムが格納された主記憶装置の構成例を示す図である。
【図５】本発明によるチャネル制御装置のチャネル装置立ち上げフローチャート例である。
【図６】本発明によるチャネル装置の立ち上げ動作フローチャート例である。
【図７】従来技術によるチャネル制御装置のチャネル装置立ち上げフローチャートである。
【符号の説明】
１０  命令プロセッサ（ＩＰ）
２０  主記憶装置（ＭＳ）
３０，４０  チャネル制御装置ＣＨＰ（０）、ＣＨＰ（１）
３１  ＣＨＰのマイクロ制御回路
３２  パケットレジスタ（ＰＲＥＧ）
３３  アドバンス制御回路（ＡＣＴＬ）
３４  リクエスト制御回路（ＲＣＴＬ）
５０，５１  チャネル装置ＣＨ（０）、ＣＨ（１）
６０  記憶制御装置
１００  インタフェース制御回路（ＤＵ）
１１０  受信制御回路
１１１  比較回路
１１２  ロード開始制御回路
１２０  送信制御回路
１３０  データパス
１４０  ＣＳ書き込み信号
１５０  スタート指示信号
２００  バーストデータ転送制御回路（ＢＵ）
２１０  ロード状態保持回路
２１１  状態信号
２２０  データ転送制御回路
２２１  状態リセットおよびマイクロスタート信号
２２２  データ転送要求用データパス
２３０  主記憶装置アドレス保持レジスタ（ＡＤＲ）
２４０  データ長保持レジスタ（ＬＥＮ）
３００  実行制御回路（ＥＵ）
３１０  制御記憶（ＣＳ）
３２０  アドレス制御回路
３３０  ＣＳ書き込みアドレスレジスタ（ＣＳＷＡ）
３４０  ワーク記憶（ＷＳ）
３５０  実行アドレス保持レジスタ（ＰＣ）
９００  チャネル起動制御パケット
９１０  主記憶読み出し要求パケット
９２０  応答パケット
【図１】
0003777304.tif 000002
【図２】
0003777304.tif 000003
【図３】
0003777304.tif 000004
【図４】
0003777304.tif 000005
【図５】
0003777304.tif 000006
【図６】
0003777304.tif 000007
【図７】
0003777304.tif 000008