(57)【特許請求の範囲】
【請求項１】
バスと、それぞれが前記バスに接続されると共にデータ入出力のためのデータ入出力要求信号を発生するｎ個（ｎは２以上の整数）の入出力手段と、装置各部の制御を司る制御手段と、それぞれがデータ転送要求信号に応答して前記バスの使用権を獲得して前記入出力手段におけるデータ入出力を制御するｍ個（ｍは整数で、２≦ｍ＜ｎを満たす）のデータ転送制御手段と、前記ｎ個の入出力手段と前記ｍ個のデータ転送制御手段との間に設けられた切換手段と、前記各データ転送制御手段の使用状況を管理する使用状況管理手段とを備え、
前記制御手段は、前記切換手段が、前記ｎ個の入出力手段の中のｍ個の入出力手段からの前記データ入出力要求信号を前記ｍ個のデータ転送制御手段へ前記データ転送要求信号としてそれぞれ出力し、前記ｍ個の入出力手段以外の新たな入出力手段が前記データ入出力要求信号を発生した場合は、前記使用状況管理手段によって管理される前記各データ転送制御手段の使用状況を参照して、最も使用されていない前記データ転送制御手段への前記データ転送要求信号として、それまで使用していた前記入出力手段からの前記データ入出力要求信号から前記新たな入出力手段からの前記データ入出力要求信号に切換えるように、制御する構成とされ、かつ、
前記切換手段は、前記ｎ個の入出力手段からのｎ個のデータ入出力要求信号が印加されるｎ本の入力ラインと、ｍ本が前記ｍ個のデータ転送制御手段に接続され、１本が前記制御手段に対する割込要求として使用される（ｍ＋１）本の出力ラインと、前記ｎ本の入力ラインと前記（ｍ＋１）本の出力ラインとの交点に設けられたｎ×（ｍ＋１）個のトランジスタとを有して構成されており、前記ｎ×（ｍ＋１）個のトランジスタが前記制御手段の制御によりオン／オフされ、前記ｎ本の入力ラインの最大でｍ本が、前記ｍ本の出力ラインのいずれかと接続されると共に、前記ｍ個のデータ転送制御手段に接続された前記ｍ本の出力ラインのいずれにも接続されなかった入力ラインのいずれもが残り１本の出力ラインと接続されるクロスバスイッチによって構成されていることを特徴とする情報処理装置。
【請求項２】
前記切換手段は、前記入出力手段から出力されたデータ入出力要求信号のうち、前記データ転送要求信号として前記ｍ個のデータ転送制御手段のいずれにも供給されなかった前記データ入出力要求信号の論理和を割込信号として出力し、
前記制御手段は、前記割込信号が供給された場合には、前記ｍ個のデータ転送制御手段のうち、最も使用していないデータ転送制御手段を選択して、当該データ転送制御手段がデータ入出力を制御している入出力手段におけるデータ転送が行われていれば、これを中断させ、前記切換手段を制御して、当該データ転送制御手段に新たなデータ転送要求信号を供給させると共に、今まで当該データ転送制御手段に前記データ転送要求信号として供給されていたデータ入出力要求信号を前記論理和に加えることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記使用状況管理手段は、前記ｍ個のデータ転送制御手段から出力される、データ転送を実施したことを示すアクノリッジ信号がアクティブになった時間的な古さの順に前記ｍ個のデータ転送制御手段にそれぞれ付与された番号が記憶される使用状況情報レジスタを有し、
前記制御手段は、前記使用状況情報レジスタの記憶内容に基づいて、前記最も使用していないデータ転送制御手段を選択する
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記使用状況管理手段は、前記ｍ個のデータ転送制御手段から出力される、当該データ転送制御手段が現在データ転送を行っており、動作中である場合にアクティブとなるビジー信号がノンアクティブになっている期間をそれぞれカウントするカウンタと、前記カウント値が最も大きいデータ転送制御手段に付与された番号が記憶される使用状況情報レジスタとを有し、
前記制御手段は、前記使用状況情報レジスタの記憶内容に基づいて、前記最も使用していないデータ転送制御手段を選択する
ことを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記使用状況管理手段は、前記ｍ個のデータ転送制御手段から出力される、当該データ転送制御手段が現在データ転送を行っており、動作中である場合にアクティブとなるビジー信号がノンアクティブになっている期間をそれぞれカウントするカウンタと、前記カウント値が最も大きいデータ転送制御手段に付与された番号が記憶されると共に、前記ｍ個のデータ転送制御手段から出力される、データ転送を実施したことを示すアクノリッジ信号がアクティブになった時間的な古さの順に前記ｍ個のデータ転送制御手段にそれぞれ付与された番号が記憶される使用状況情報レジスタとを有し、
前記制御手段は、前記使用状況情報レジスタの記憶内容に基づいて、前記最も使用していないデータ転送制御手段を選択することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記ｍ個のデータ転送制御手段は、それぞれデータ入出力を制御している入出力手段におけるデータ入出力制御に関する情報が記憶される個別記憶手段を有し、
前記ｎ個の入出力手段におけるデータ入出力制御に関する情報がそれぞれ記憶される全体記憶手段を備え、
前記制御手段は、前記最も使用していないデータ転送制御手段がデータ入出力を制御している入出力手段におけるデータ転送が行われていればこれを中断させ、当該データ転送制御手段に新たなデータ転送要求信号を供給させて、当該新たなデータ転送要求信号の発生源たる前記新たなデータ入出力要求信号を供給している入出力手段におけるデータ入出力を制御させる場合には、当該データ転送制御手段の個別記憶手段に記憶されているデータ入出力制御に関する情報を前記全体記憶手段の対応する記憶領域に一時退避させた後、前記全体記憶手段の前記新たなデータ入出力要求信号を供給している入出力手段におけるデータ入出力制御に関する情報を読み出して前記個別記憶手段に記憶させることを特徴とする請求項１記載の情報処理装置。
【請求項７】
前記全体記憶手段から前記入出力手段におけるデータ入出力制御に関する情報を読み出した後、前記全体記憶手段に記憶されている前記情報の書き換えを禁止することを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記バスと、前記ｎ個の入出力手段と、前記制御手段と、前記ｍ個のデータ転送制御手段と、前記切換手段とは、同一チップ上に形成された１チップ・マイクロ・コンピュータにより構成されていることを特徴とする請求項１記載の情報処理装置。
【請求項９】
前記バスは、前記１チップ・マイクロ・コンピュータの内部に設けられたバス、あるいは、前記１チップ・マイクロ・コンピュータの外部に設けられたバス、あるいは、その両方のバスとからなることを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記ｎ個の入出力手段におけるデータ入出力には、それぞれ予め優先順位が設定されており、前記制御手段は、前記優先順位に基づいて前記切換手段を制御して、前記入出力手段から出力されたデータ入出力要求信号のうち、ｍ個までを前記ｍ個のデータ転送制御手段のいずれかに供給させることを特徴とする請求項１記載の情報処理装置。
【請求項１１】
前記制御手段又は前記データ転送制御手段は、前記バスの一部の使用権を獲得して前記入出力手段におけるデータ入出力を制御することを特徴とする請求項１記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、情報処理装置に関し、詳しくは、中央処理装置（ＣＰＵ）と、メモリと、複数個の入出力手段と、バスと、複数個のダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）とを備え、メモリと各入出力手段との間や入出力手段相互間でのデータ転送その他の処理を行う情報処理装置に関する。
【０００２】
【従来の技術】
図６は、第１の従来例である情報処理装置１及びそれに接続される外部装置２〜４の電気的構成例を示すブロック図である。
この例の情報処理装置１は、中央処理装置（ＣＰＵ）５と、アービタ６と、メモリ７と、ダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）８〜１１と、入出力手段１２〜１５と、バス１６とが同一チップ上に形成された１チップ・マイクロ・コンピュータによって構成されている。ＣＰＵ５と、メモリ７と、ＤＭＡＣ８〜１１と、入出力手段１２〜１５とは、バス１６を介して互いに接続されている。外部装置２〜４としては、例えば、フロッピー・ディスク・ドライバ（ＦＤＤ）、ハード・ディスク・ドライバ（ＨＤＤ）等の外部記憶装置、キーボード、マウス、タッチペン等の入力手段、ディスプレイ、プリンタ等の出力手段、モデム等の通信手段がある。また、入出力手段１２〜１５としては、例えば、Ａ／Ｄコンバータ、シリアル・インターフェイス、パラレル・インターフェイス等がある。
【０００３】
アービタ６は、ＤＭＡＣ８〜１１からバス１６の使用権の獲得要求を示す要求信号ＤＲＥＱ０〜ＤＲＥＱ３のいずれかが供給されると、ＣＰＵ５へ要求信号ＢＲＥＱを供給すると共に、各ＤＭＡＣ８〜１１に予め付与された優先順位、要求信号ＤＲＥＱ０〜ＤＲＥＱ３の供給の遅速や供給状態等に基づいて、ＤＭＡＣ８〜１１のいずれにＣＰＵ５によって許可されたバス１６の使用権を渡すかを決定し、ＣＰＵ５からバス１６の使用権を許可することを示す許可信号ＢＧＮＴが供給されると、バス１６の使用権を渡すと決定されたＤＭＡＣ８〜１１のいずれかにバス１６の使用権獲得が許可されたことを示す許可信号ＤＧＮＴ０〜ＤＧＮＴ３を供給する。
ＤＭＡＣ８〜１１は、入出力手段１２〜１５と一対一に対応しており、対応する入出力手段１２〜１５からバス１６の使用権の獲得要求を示す要求信号ＲＥＱ０〜ＲＥＱ３が供給されることにより、アービタ６に対し要求信号ＲＥＱ０〜ＲＥＱ３に対応した要求信号ＤＲＥＱ０〜ＤＲＥＱ３を供給すると共に、アービタ６からバス１６の使用権獲得が許可されたことを示す許可信号ＤＧＮＴ０〜ＤＧＮＴ３が供給される。バス１６の使用権を獲得したＤＭＡＣ８〜１１のいずれかにおいては、対応した入出力手段とメモリ７又は他の入出力手段との間におけるバス１６を用いたデータ転送が実行される。
【０００４】
このような構成によれば、ＣＰＵ５がプログラムを実行中であっても、ＤＭＡＣ８〜１１からアービタ６へ要求信号ＤＲＥＱ０〜ＤＲＥＱ３を供給することにより、アービタ６が各ＤＭＡＣ８〜１１の優先順位や、要求信号ＤＲＥＱ０〜ＤＲＥＱ３の供給の遅速や供給状態等に基づいて、ＤＭＡＣ８〜１１のいずれかにバス１６の使用権を渡すので、ＣＰＵ５とＤＭＡＣ８〜１１が並行してそれぞれバス１６を有効に使用でき、ＣＰＵ５の稼働率が上がり全体のスループットが向上する。
【０００５】
また、図７は、特開平８−２０２６４８号公報に開示された第２の従来例である情報処理装置２１及びそれに接続される外部装置２〜４の電気的構成例を示すブロック図である。この図において、図６の各部に対応する部分には同一の符号を付け、その説明を省略する。図７に示す情報処理装置２１においては、図６に示すアービタ６、ＤＭＡＣ８〜１１及び入出力手段１２〜１５に代えて、ＤＭＡＣ２２及び入出力手段２３〜２６が新たに設けられている。
この例の情報処理装置２１は、ＣＰＵ５と、メモリ７と、ＤＭＡＣ２２と、入出力手段２３〜２６と、バス１６とが同一チップ上に形成された１チップ・マイクロ・コンピュータによって構成されている。ＣＰＵ５と、メモリ７と、ＤＭＡＣ２２と、入出力手段２３〜２６とは、バス１６を介して互いに接続されている。メモリ７には、入出力手段の個数と同数のチャネル毎に、データの転送元である入出力手段のメモリ・マップ上の該当するアドレスを示す転送元アドレス、データの転送先である入出力手段のメモリ・マップ上の該当するアドレスを示す転送先アドレス及びデータの転送回数がそれぞれ記憶される管理テーブルが設けられている。一方、ＤＭＡＣ２２には、１チャネル分の転送元アドレス、転送先アドレス及び転送回数が記憶されるレジスタ群が設けられている。
【０００６】
ＤＭＡＣ２２は、入出力手段２３〜２６からのバス１６の使用権の獲得要求を示す要求信号ＤＲＥＱ０〜ＤＲＥＱ３のいずれかが入力されると、各入出力手段２３〜２６に対応したチャネルに予め付与された優先順位等に基づいてチャネルを選択し、選択したチャネルの転送元アドレス、転送先アドレス及び転送回数をメモリ７の管理テーブルから読み出して内部のレジスタ群に記憶した後、ＣＰＵ５へ要求信号ＢＲＥＱを供給し、ＣＰＵ５から許可信号ＢＡＣＫが供給されると、選択したチャネルに対応した入出力手段２３〜２６へバス１６の使用権獲得が許可されたことを示す許可信号ＤＡＣＫ０〜ＤＡＣＫ３のいずれかを供給する。ＤＭＡＣ２２においては、バス１６の使用権を獲得した入出力手段とメモリ７又は他の入出力手段との間におけるバス１６を用いたデータ転送が実行される。
このような構成によれば、第１の従来例に比べて回路規模が小さくなる。
【０００７】
【発明が解決しようとする課題】
ところで、上記した第１の従来例の情報処理装置においては、例えば、電話の電子交換機等のように、入出力手段を６４個ないし１２８個と多数設けなければならない場合には、ＤＭＡＣの個数もそれに対応して多数設けなければならず、回路規模が大きくなってしまうという欠点があった。しかも、このように多数個のＤＭＡＣを設けたとしても、バス１６にデータ転送速度上の限界があるし、実際には、すべての入出力手段が同時に要求信号を出力することはなく、せいぜい数個の入出力手段が同時に要求信号を出力するに過ぎないから、回路が有効利用されず、コスト・パフォーマンスが良くない。
一方、上記した第２の従来例の情報処理装置においては、入出力手段を多数設ける場合でも、ＤＭＡＣは１個設ければ良いので、上記不都合は生じないが、１度に１チャネル分のデータ転送しか行えない。したがって、数個の入出力手段が同時にかつ頻繁に要求信号を出力した場合には、チャネルの選択、選択したチャネルの転送元アドレス等の情報のメモリ７からの読み出し及びＤＭＡＣ２２の内部のレジスタ群への記憶等、実際のデータ転送以外に行わなければならない処理が増加してしまい、その処理にバスが使用されてしまう。その結果、ＣＰＵ５のバス利用を妨害するため、ＣＰＵ５の稼働率が低く、全体のスループットが低下する。また、ＤＭＡＣ２２が行っている予め優先順位が設定された複数個のチャネルについて、チャネルの選択、選択したチャネルの転送元アドレス等の情報のメモリ７からの読み出し及びＤＭＡＣ２２の内部のレジスタ群への記憶等の処理は、処理が複雑で誤動作が発生しやすいため設計時の検証に時間がかかり、しかも、チャネル数が異なればすべてアルゴリズム等を構築し直さなければならないので、ユーザの要望に応えるためにはチャネル数毎に情報処理装置を開発しなければならず、開発コスト及び開発期間がかかってしまう。
【０００８】
この発明は、上述の事情に鑑みてなされたもので、安価かつ汎用性の高い構成で、ＣＰＵの稼働率を上昇させ、装置全体のスループットを向上させることができる情報処理装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
上記課題を解決するために、請求項１記載の発明に係る情報処理装置は、バスと、それぞれが前記バスに接続されると共にデータ入出力のためのデータ入出力要求信号を発生するｎ個（ｎは２以上の整数）の入出力手段と、装置各部の制御を司る制御手段と、それぞれがデータ転送要求信号に応答して前記バスの使用権を獲得して前記入出力手段におけるデータ入出力を制御するｍ個（ｍは整数で、２≦ｍ＜ｎを満たす）のデータ転送制御手段と、前記ｎ個の入出力手段と前記ｍ個のデータ転送制御手段との間に設けられた切換手段と、前記各データ転送制御手段の使用状況を管理する使用状況管理手段とを備え、前記制御手段は、前記切換手段が、前記ｎ個の入出力手段の中のｍ個の入出力手段からの前記データ入出力要求信号を前記ｍ個のデータ転送制御手段へ前記データ転送要求信号としてそれぞれ出力し、前記ｍ個の入出力手段以外の新たな入出力手段が前記データ入出力要求信号を発生した場合は、前記使用状況管理手段によって管理される前記各データ転送制御手段の使用状況を参照して、最も使用されていない前記データ転送制御手段への前記データ転送要求信号として、それまで使用していた前記入出力手段からの前記データ入出力要求信号から前記新たな入出力手段からの前記データ入出力要求信号に切換えるように、制御する構成とされ、かつ、前記切換手段は、前記ｎ個の入出力手段からのｎ個のデータ入出力要求信号が印加されるｎ本の入力ラインと、ｍ本が前記ｍ個のデータ転送制御手段に接続され、１本が前記制御手段に対する割込要求として使用される（ｍ＋１）本の出力ラインと、前記ｎ本の入力ラインと前記（ｍ＋１）本の出力ラインとの交点に設けられたｎ×（ｍ＋１）個のトランジスタとを有して構成されており、前記ｎ×（ｍ＋１）個のトランジスタが前記制御手段の制御によりオン／オフされ、前記ｎ本の入力ラインの最大でｍ本が、前記ｍ本の出力ラインのいずれかと接続されると共に、前記ｍ個のデータ転送制御手段に接続された前記ｍ本の出力ラインのいずれにも接続されなかった入力ラインのいずれもが残り１本の出力ラインと接続されるクロスバスイッチによって構成されていることを特徴としている。
【００１０】
また、請求項２記載の発明は、請求項１記載の情報処理装置に係り、前記切換手段が、前記入出力手段から出力されたデータ入出力要求信号のうち、前記データ転送要求信号として前記ｍ個のデータ転送制御手段のいずれにも供給されなかった前記データ入出力要求信号の論理和を割込信号として出力し、前記制御手段は、前記割込信号が供給された場合には、前記ｍ個のデータ転送制御手段のうち、最も使用していないデータ転送制御手段を選択して、当該データ転送制御手段がデータ入出力を制御している入出力手段におけるデータ転送が行われていれば、これを中断させ、前記切換手段を制御して、当該データ転送制御手段に新たなデータ転送要求信号を供給させると共に、今まで当該データ転送制御手段に前記データ転送要求信号として供給されていたデータ入出力要求信号を前記論理和に加えることを特徴としている。
【００１１】
また、請求項３記載の発明は、請求項１記載の情報処理装置に係り、前記使用状況管理手段が、前記ｍ個のデータ転送制御手段から出力される、データ転送を実施したことを示すアクノリッジ信号がアクティブになった時間的な古さの順に前記ｍ個のデータ転送制御手段にそれぞれ付与された番号が記憶される使用状況情報レジスタを有し、前記制御手段が、前記使用状況情報レジスタの記憶内容に基づいて、前記最も使用していないデータ転送制御手段を選択することを特徴としている。
【００１２】
また、請求項４記載の発明は、請求項１記載の情報処理装置に係り、前記使用状況管理手段が、前記ｍ個のデータ転送制御手段から出力される、当該データ転送制御手段が現在データ転送を行っており、動作中である場合にアクティブとなるビジー信号がノンアクティブになっている期間をそれぞれカウントするカウンタと、前記カウント値が最も大きいデータ転送制御手段に付与された番号が記憶される使用状況情報レジスタとを有し、前記制御手段が、前記使用状況情報レジスタの記憶内容に基づいて、前記最も使用していないデータ転送制御手段を選択することを特徴としている。
【００１３】
また、請求項５記載の発明は、請求項１記載の情報処理装置に係り、前記使用状況管理手段が、前記ｍ個のデータ転送制御手段から出力される、当該データ転送制御手段が現在データ転送を行っており、動作中である場合にアクティブとなるビジー信号がノンアクティブになっている期間をそれぞれカウントするカウンタと、前記カウント値が最も大きいデータ転送制御手段に付与された番号が記憶されると共に、前記ｍ個のデータ転送制御手段から出力される、データ転送を実施したことを示すアクノリッジ信号がアクティブになった時間的な古さの順に前記ｍ個のデータ転送制御手段にそれぞれ付与された番号が記憶される使用状況情報レジスタとを有し、前記制御手段が、前記使用状況情報レジスタの記憶内容に基づいて、前記最も使用していないデータ転送制御手段を選択することを特徴としている。
【００１４】
また、請求項６記載の発明は、請求項１記載の情報処理装置に係り、前記ｍ個のデータ転送制御手段が、それぞれデータ入出力を制御している入出力手段におけるデータ入出力制御に関する情報が記憶される個別記憶手段を有し、前記ｎ個の入出力手段におけるデータ入出力制御に関する情報がそれぞれ記憶される全体記憶手段を備え、前記制御手段が、前記最も使用していないデータ転送制御手段がデータ入出力を制御している入出力手段におけるデータ転送が行われていればこれを中断させ、当該データ転送制御手段に新たなデータ転送要求信号を供給させて、当該新たなデータ転送要求信号の発生源たる前記新たなデータ入出力要求信号を供給している入出力手段におけるデータ入出力を制御させる場合には、当該データ転送制御手段の個別記憶手段に記憶されているデータ入出力制御に関する情報を前記全体記憶手段の対応する記憶領域に一時退避させた後、前記全体記憶手段の前記新たなデータ入出力要求信号を供給している入出力手段におけるデータ入出力制御に関する情報を読み出して前記個別記憶手段に記憶させることを特徴している。
【００１５】
また、請求項７記載の発明は、請求項６記載の情報処理装置に係り、上記全体記憶手段から上記入出力手段におけるデータ入出力制御に関する情報を読み出した後、上記全体記憶手段に記憶されている上記情報の書き換えを禁止することを特徴としている。
【００１６】
また、請求項８記載の発明は、請求項１記載の情報処理装置に係り、前記バスと、前記ｎ個の入出力手段と、前記制御手段と、前記ｍ個のデータ転送制御手段と、前記切換手段とは、同一チップ上に形成された１チップ・マイクロ・コンピュータにより構成されていることを特徴としている。
【００１７】
また、請求項９記載の発明は、請求項８記載の情報処理装置に係り、前記切換手段が、前記ｎ個の入出力手段からのｎ個のデータ入出力要求信号が印加されるｎ本の入力ラインと、ｍ本が前記ｍ個のデータ転送制御手段に接続され、１本が前記制御手段に対する割込要求として使用される（ｍ＋１）本の出力ラインと、前記ｎ本の入力ラインと前記（ｍ＋１）本の出力ラインとの交点に設けられたｎ×（ｍ＋１）個のトランジスタとを有して構成されており、前記ｎ×（ｍ＋１）個のトランジスタが前記制御手段の制御によりオン／オフされ、前記ｎ本の入力ラインの最大でｍ本が、前記ｍ本の出力ラインのいずれかと接続されると共に、前記ｍ個のデータ転送制御手段に接続された前記ｍ本の出力ラインのいずれにも接続されなかった入力ラインのいずれもが残り１本の出力ラインと接続されるクロスバスイッチによって構成されていることを特徴としている。
【００１８】
また、請求項９記載の発明は、請求項１記載の情報処理装置に係り、前記バスが、前記１チップ・マイクロ・コンピュータの内部に設けられたバス、あるいは、前記１チップ・マイクロ・コンピュータの外部に設けられたバス、あるいは、その両方のバスとからなることを特徴としている。
【００１９】
請求項１０記載の発明は、請求項１記載の情報処理装置に係り、前記ｎ個の入出力手段におけるデータ入出力には、それぞれ予め優先順位が設定されており、前記制御手段は、前記優先順位に基づいて前記切換手段を制御して、前記入出力手段から出力されたデータ入出力要求信号のうち、ｍ個までを前記ｍ個のデータ転送制御手段のいずれかに供給させることを特徴としている。
【００２０】
また、請求項１１記載の発明は、請求項１記載の情報処理装置に係り、前記制御手段又は前記データ転送制御手段は、前記バスの一部の使用権を獲得して前記入出力手段におけるデータ入出力を制御することを特徴としている。
【００２１】
【作用】
この発明の構成によれば、安価かつ汎用性の高い構成で、ＣＰＵの稼働率を上昇させ、装置全体のスループットを向上させることができる。
【００２２】
【発明の実施の形態】
以下、図面を参照して、この発明の実施の形態について説明する。説明は、実施例を用いて具体的に行う。
図１は、この発明の一実施例である情報処理装置３１及びそれに接続される外部装置３２１〜３２１５の電気的構成例を示すブロック図である。
この例の情報処理装置３１は、ＣＰＵ３３と、レジスタ群３４と、アービタ３５と、メモリ３６と、ＤＭＡＣ３７〜４０と、割込コントローラ４１と、入出力手段４２０〜４２１５と、使用状況管理手段４３と、クロスバスイッチ４４と、バス４５とが同一チップ上に形成された１チップ・マイクロ・コンピュータによって構成されている。ＣＰＵ３３と、レジスタ群３４と、メモリ３６と、ＤＭＡＣ３７〜４０と、割込コントローラ４１と、入出力手段４２０〜４２１５と、使用状況管理手段４３と、クロスバスイッチ４４とは、バス４５を介して互いに接続されている。外部装置３２１〜３２１５としては、例えば、ＦＤＤ、ＨＤＤ等の外部記憶装置、キーボード、マウス、タッチペン等の入力手段、ディスプレイ、プリンタ等の出力手段、モデム等の通信手段がある。また、入出力手段４２０〜４２１５としては、例えば、Ａ／Ｄコンバータ、シリアル・インターフェイス、パラレル・インターフェイス等がある。
【００２３】
ＣＰＵ３３は、装置各部を制御すると共に、割込コントローラ４１から割込要求信号ＩＲＥＱ０又はＩＲＥＱ１が供給されると、割込処理を実行し、アービタ３５に対し要求信号ＢＲＥＱを供給すると共に、アービタ３５からバス４５の使用権獲得が許可されたことを示す許可信号ＢＧＮＴの供給を受ける。
レジスタ群３４は、図２に示すように、クロスバスイッチ制御レジスタ３４ａと、ベースポインタレジスタ３４ｂと、セマフォレジスタ３４ｃと、その他のレジスタとから構成されている。クロスバスイッチ制御レジスタ３４ａは、ＣＰＵ３３によりクロスバスイッチ４４を制御するためのデータが設定される。
ベースポインタレジスタ３４ｂは、メモリ３６内部に確保されている管理テーブルの先頭番地が保存されおり、ＣＰＵ３３が管理テーブルをアクセスする際に、まず、ベースポインタレジスタ３４ｂに保存されている先頭番地を読み出し、それにチャネルオフセット及びレジスタオフセットそれぞれの値を加算して得られた値に基づいて、管理テーブルの所望のアドレスにアクセスするのである。なお、後述する装置の動作説明においては、説明を簡単にするために、ＣＰＵ３３が管理テーブルをアクセスする際のベースポインタレジスタ３４ｂからの先頭番地の読み出しと、チャネルオフセット及びレジスタオフセットそれぞれの値の加算とについては、特に説明しない。
セマフォレジスタ３４ｃは、ＣＰＵ３３によるプログラム実行とＤＭＡＣ３７〜４０によるデータ転送とが競合することにより、管理テーブルの内容が整合性なく書き換えられることを防止するための排他制御に用いられるレジスタである。なお、セマフォレジスタ３４ｃは、メモリ３６の所定の記憶領域に設けても良い。
【００２４】
アービタ３５は、ＣＰＵ３３及びＤＭＡＣ３７〜４０からのバス４５の使用権の獲得要求を示す要求信号ＢＲＥＱ及びＤＲＥＱ０〜ＤＲＥＱ３が入力されると、各ＤＭＡＣ３７〜４０に予め付与された優先順位、要求信号ＢＲＥＱ及びＤＲＥＱ０〜ＤＲＥＱ３の供給の遅速や供給状態、ＣＰＵ３３の稼働状態に基づいて、ＣＰＵ３３又はＤＭＡＣ３７〜４０のいずれにバス４５の使用権を許可するかを決定し、決定されたＣＰＵ３３又はＤＭＡＣ３７〜４０にバス４５の使用権獲得が許可されたことを示す許可信号ＢＧＮＴ又はＤＧＮＴ０〜ＤＧＮＴ３を供給する。
【００２５】
メモリ３６には、各種データが記憶される他、上記した管理テーブルが確保されている。管理テーブルには、クロスバスイッチ４４の入力端子数、すなわち、入出力手段４２０〜４２１５の個数に対応した１６個のチャネル（これを要求チャネルと呼ぶ）０〜１５毎に、データの転送元である入出力手段又はメモリ３６のメモリ・マップ上の該当するアドレスを示す転送元アドレス、データの転送先である入出力手段又はメモリ３６のメモリ・マップ上の該当するアドレスを示す転送先アドレス、データの転送回数、データ転送のモードがそれぞれ記憶されると共に、各種ステータスビットが記憶される。
【００２６】
データ転送のモードには、シングル転送モード、シングル・ステップ転送モード及びブロック転送モードがある。シングル転送モードでは、ＤＭＡＣが１回のデータ転送が終了する度に今まで獲得していたバス４５の使用権を放棄する転送モードをいう。シングル・ステップ転送モードとは、ＤＭＡＣが１回のデータ転送が終了する度に今まで獲得していたバス４５の使用権を放棄する点はシングル転送モードと同様であるが、有効となっている要求チャネルの転送回数が０になるまではその要求チャネルのデータ転送を行う転送モードをいう。ブロック転送モードとは、ＤＭＡＣが１度データ転送の要求を受け付けると、有効となっている要求チャネルの転送回数が０になるまではその要求チャネルのデータ転送を行い、その間は現在の要求チャネルより優先順位の高い要求チャネルのデータ転送の要求があった場合でも要求チャネルは変更せず、ＣＰＵ３３のバイト・サイクルも割り込めない転送モードをいう。
各種ステータスビットには、どのＤＭＡＣ３７〜４０にどの要求チャネルが割り当てられているかを示す情報、各要求チャネルの優先順位に関する情報などがある。
【００２７】
ＤＭＡＣ３７〜４０は、クロスバスイッチ４４から出力されるデータ転送の要求を示す要求信号ＳＲＥＱ０〜ＳＲＥＱ３に一対一に対応して設けられており、当該する要求信号ＳＲＥＱ０〜ＳＲＥＱ３が供給されることにより、アービタ３５に対し要求信号ＳＲＥＱ０〜ＳＲＥＱ３に対応した要求信号ＤＲＥＱ０〜ＤＲＥＱ３を供給すると共に、アービタ３５からバス４５の使用権獲得が許可されたことを示す許可信号ＤＧＮＴ０〜ＤＧＮＴ３の供給を受ける。対応する許可信号ＤＧＮＴ０〜ＤＧＮＴ３が供給された後のＤＭＡＣ３７〜４０によるデータ転送については、後述する。
また、各ＤＭＡＣ３７〜４０には、それぞれ当該チャネル（これをＤＭＡチャネルと呼ぶ）について、転送元アドレスが記憶される転送元アドレスレジスタ、転送先アドレスが記憶される転送先アドレスレジスタ、転送回数が記憶される転送回数レジスタ、当該ＤＭＡチャネルが現在データ転送を行っているか否かを表す転送状態が記憶される転送状態レジスタ、上記した転送モード、データの転送元である入出力手段又はメモリ３６からデータを読み出す場合のデータサイズ（８ビット、１６ビット、３２ビット、６４ビットのいずれか）、データの転送先である入出力手段又はメモリ３６へデータを書き込む場合のデータサイズ（８ビット、１６ビット、３２ビット、６４ビットのいずれか）、エンディアン、ファネリングの情報などが記憶される転送モードレジスタが設けられている。
【００２８】
さらに、各ＤＭＡＣ３７〜４０は、当該ＤＭＡＣが現在データ転送を行っている場合にアクティブとなるビジー信号ＢＵＳＹ０〜ＢＵＳＹ３を使用状況管理手段４３へ供給すると共に、データ転送を実施したことを示すアクノリッジ信号ＤＡＣＫ０〜ＤＡＣＫ３を、任意の１単位のデータ転送（転送元からのデータの読み出しと転送先へのデータの書き込み）が完了した後、使用状況管理手段４３へ供給する。また、各ＤＭＡＣ３７〜４０は、データ転送の完了又は中断等が発生したことを示す完了信号ＤＯＮＥ０〜ＤＯＮＥ３を割込コントローラ４１へ供給する。
【００２９】
割込コントローラ４１は、クロスバスイッチ４４からの割込信号ＩＮＴに基づく割込要求に応じて、ＣＰＵ３３へ割込要求信号ＩＲＥＱ０を供給すると共に、各ＤＭＡＣ３７〜４０からの完了信号ＤＯＮＥ０〜ＤＯＮＥ３に基づく割込要求に応じて、ＣＰＵ３３へ割込要求信号ＩＲＥＱ１を供給する。割込要求信号ＩＲＥＱ０が供給された場合、ＣＰＵ３３は、割込要因をチェックせずに、直ちに割込処理を実行する。また、割込コントローラ４１は、完了信号ＤＯＮＥ０〜ＤＯＮＥ３を供給したＤＭＡＣに付与された番号が記憶される割込情報レジスタを有しており、ＣＰＵ３３は、この割込情報レジスタを参照して、割込要因をチェックする、すなわち、どのＤＭＡＣが転送を終了したかを検出する。
【００３０】
使用状況管理手段４３は、使用状況情報レジスタを有しており、アクノリッジ信号ＤＡＣＫ０〜ＤＡＣＫ３を供給した各ＤＭＡＣ３７〜４０にそれぞれ付与された番号０〜３を、アクノリッジ信号ＤＡＣＫ０〜ＤＡＣＫ３がアクティブになった時間的な古さの順（ＬＲＵ：Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）に使用状況情報レジスタに記憶すると共に、各ＤＭＡＣ３７〜４０から供給されるビジー信号ＢＵＳＹ０〜ＢＵＳＹ３がノンアクティブになっている期間の平均値をそれぞれカウントするカウンタを有し、そのカウント値が最も大きいＤＭＡＣに付与された番号を使用状況情報レジスタに記憶する。
ＣＰＵ３３は、上記使用状況レジスタを参照して各ＤＭＡＣ３７〜４０の使用状況を把握するが、アクノリッジ信号ＤＡＣＫ０〜ＤＡＣＫ３がアクティブになった時間的な古さの順に使用状況情報レジスタに記憶された各ＤＭＡＣ３７〜４０の番号に基づいて各ＤＭＡＣ３７〜４０の使用状況を把握するモードをＬＲＵモードといい、使用状況情報レジスタに記憶されたカウンタのカウント値が最も大きいＤＭＡＣの番号に基づいて各ＤＭＡＣ３７〜４０の使用状況を把握するモードをＢＵＳＹモードという。すなわち、ＣＰＵ３３は、４個のＤＭＡＣ３７〜４０がいずれも既に使用されている状態で、入出力手段のいずれかから新たに要求信号ＲＥＱが供給された場合、いずれかのＤＭＡＣによるデータ転送を中断させて新たに要求信号ＲＥＱを供給した入出力手段をそのデータ転送を中断したＤＭＡＣに割り当てる必要があるが、その際、最も使用されていないＤＭＡＣを選択すれば全体のデータ転送が効率良く行われるので、そのための判断材料を得るために使用状況レジスタを参照するのである。
【００３１】
クロスバスイッチ４４は、図３に示すように、１６本の入力ライン４６０〜４６１５と、５本の出力ライン４７０〜４７４と、入力ライン４６０〜４６１５と出力ライン４７０〜４７４との交点に設けられた８０個のトランジスタ４８０〜４８７９と、各入力ライン４６０〜４６１５の入力端と電源電圧との間に介挿された１６個のプルアップ抵抗４９０〜４９１５とから概略構成されている。
入力ライン４６０〜４６１５には、入出力手段４２０〜４２１５から要求信号ＲＥＱ０〜ＲＥＱ１５が印加され、ＣＰＵ３３によってクロスバスイッチ制御レジスタ３４ａに設定された値に応じて、トランジスタ４８０〜４８３、４８５〜４８８、…、４８７５〜４８７８がオン／オフされ、入力ライン４６０〜４６１５の最大で４本が、出力ライン４７０〜４７３のいずれかと接続され、要求信号ＳＲＥＱ０〜ＳＲＥＱ３として出力される。また、ＣＰＵ３３によってクロスバスイッチ制御レジスタ３４ａに設定された値に応じて、トランジスタ４８４、４８９、…、４８７９がオン／オフされ、初期化処理時には、入力ライン４６０〜４６１５のいずれもが出力ライン４７４と接続され、要求信号ＲＥＱ０〜ＲＥＱ１５の論理和が割込信号ＩＮＴとして出力され、通常時には、出力ライン４７０〜４７３のいずれにも接続されなかった入力ライン４６０〜４６１５のいずれもが出力ライン４７４と接続され、要求信号ＳＲＥＱ０〜ＳＲＥＱ３として出力されなかった要求信号ＲＥＱ０〜ＲＥＱ１５の論理和が割込信号ＩＮＴとして出力される。
なお、クロスバスイッチ４４の上記構成は、入出力手段４２０〜４２１５の出力段がオープンコレクタ型又はオープンドレイン型である場合を想定しているが、入出力手段４２０〜４２１５の出力段がトーテムポール型である場合には、出力ライン４７４に複数の出力ラインが接続された際にショート等の不具合が生じる虞がある。その場合、若干の回路素子を設けて上記不具合を解消する必要があるが、その点については、この発明とは直接関係しないので、その説明を省略する。
【００３２】
次に、上記構成の情報処理装置の動作について、図４に示すフローチャートを参照して、説明する。なお、以下の説明では、入出力手段４２０〜４２４から、図５に示す期間及び間隔で、要求信号ＲＥＱ０〜ＲＥＱ４が出力されている場合に、ＣＰＵ３３等が行う動作について説明する。この場合、ＣＰＵ３３は、ＬＲＵモードにより４個のＤＭＡＣ３７〜４０の使用状況を把握する。
まず、初期化処理▲１▼を実行する。ステップＳＰ１では、ＣＰＵ３３は、装置各部を初期化する初期化処理を実行する。すなわち、ＣＰＵ３３は、メモリ３６の所定の記憶領域に１６個の要求チャネル分の管理テーブルを確保した後、その記憶内容をクリアし、矛盾のない状態に初期化する。
同様に、ＣＰＵ３３は、各ＤＭＡＣ３７〜４０に設けられているレジスタ群に、転送元アドレスレジスタ、転送先アドレスレジスタ、転送回数レジスタ、転送状態レジスタ、転送モードレジスタをそれぞれ確保した後、その記憶内容をクリアし、矛盾のない状態に初期化する。
次に、ＣＰＵ３３は、クロスバスイッチ制御レジスタ３４ａに所定の値を設定することにより、図３に示すトランジスタ４８０〜４８３、４８５〜４８８、…、４８７５〜４８７８のいずれもをオフさせると共に、トランジスタ４８４、４８９、…、４８７９のいずれもをオンさせ、クロスバスイッチ４４の入力ライン４６０〜４６１５のいずれもを出力ライン４７４と接続させ、要求信号ＲＥＱ０〜ＲＥＱ１５の論理和が割込信号ＩＮＴとして出力されるようにする。
さらに、ＣＰＵ３３は、割込コントローラ４１の内部の設けられた割込情報レジスタや使用状況管理手段４３の内部に設けられた使用状況情報レジスタのそれぞれの記憶内容をクリアし、矛盾のない状態に初期化する。これで初期化処理▲１▼は終了する。
【００３３】
ステップＳＰ２では、ＣＰＵ３３は、各ＤＭＡＣ３７〜４０によるデータ転送を開始するための起動処理を実行する。すなわち、ＣＰＵ３３は、まず、メモリ３６の内部に設けられた管理テーブルへのアクセス権を獲得するために、リード・モディファイ・ライト・サイクルで、レジスタ群３４を構成するセマフォレジスタ３４ｃから値”０”を読み出した後、セマフォレジスタ３４ｃに値”１”を書き込み、管理テーブルの所定の記憶領域に、各要求チャネル毎に、転送元アドレス、転送先アドレス、転送回数、転送状態、転送モード等の情報を書き込む。この後、ＣＰＵ３３は、管理テーブルへのアクセス権を解放するために、セマフォレジスタ３４ｃに値”０”を書き込む。つまり、セマフォレジスタ３４ｃを用いてアクセス権の排他処理を行い、管理テーブルの内容が誤って書き換えられることを防止している。よって、ＤＭＡＣもＣＰＵ３３も重ねて管理テーブルへのアクセス権を獲得することができず、管理テーブルの内容がデータ転送の前後で変更されることはない。なお、管理テーブルへのアクセス権が獲得できなかった場合、ＣＰＵ３３もＤＭＡＣもセマフォレジスタ３４ｃに値”１”を上書きして管理テーブルへのアクセスをあきらめる。
【００３４】
次に、転送セットアップ処理▲２▼を実行する。ステップＳＰ３では、ＣＰＵ３３は、入出力手段４２０〜４２１５のセットアップを実行する。すなわち、入出力手段４２０〜４２１５のセットアップは、各入出力手段４２０〜４２１５がデータ転送を直ちに開始できるような状態にするための処理である。例えば、ある入出力手段４２がＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）規格によるパラレル・インターフェイスであり、それに接続された外部装置３２がＨＤＤの場合、ＣＰＵ３３は、当該入出力手段４２に対しデータ転送の目的のセクタについてのデータ読み出しのコマンド又はデータ書き込みのコマンドを転送し、データ読み出し又はデータ書き込みのセットアップを行う。これにより、当該入出力手段４２は、いつでも要求信号ＲＥＱを出力できる。これで転送セットアップ処理は終了する。
これらの設定によって外部装置はデータの処理を開始する。入力手段は、これらの外部装置からデータの入力要求を受け取り、データ転送を行うために、要求信号ＲＥＱを発生する。この要求信号は、実際のＤＭＡチャネルが未だ割り当てられていなければ、クロスバスイッチ４４を経由して、割込コントローラ４１に伝えられる。割込コントローラは、ＣＰＵ３３に割り込みをかけ、ＤＭＡ転送エンジンの割り付け処理を要求する。
【００３５】
割込があれば、割込処理▲３▼を実行する。この処理は、実際のＤＭＡ転送チャネルの割り当て、開放、そして、終了処理を行うものである。ステップＳＰ４では、ＣＰＵ３３は、割込コントローラ４１から割込要求信号ＩＲＥＱ０又はＩＲＥＱ１が供給されたか否かを判断する。この判断結果が「ＮＯ」の場合には、他の割込をチェックする。そして、割込コントローラ４１から割込要求信号ＩＲＥＱ０又はＩＲＥＱ１が供給されると、ステップＳＰ４の判断結果が「ＹＥＳ」となり、ＣＰＵ３３は、ステップＳＰ５へ進む。
今の場合、ステップＳＰ１の初期化処理において、図３に示すクロスバスイッチ４４の入力ライン４６０〜４６１５のいずれもが出力ライン４７４と接続され、要求信号ＲＥＱ０〜ＲＥＱ１５の論理和が割込信号ＩＮＴとして出力されるようになっている。したがって、例えば、図５（１）に示すように、時刻ｔ０に、入出力手段４２０からメモリ３６の所定の記憶領域にデータを転送するために、入出力手段４２０から要求信号ＲＥＱ０がアクティブになってクロスバスイッチ４４に供給されると、要求信号ＲＥＱ０が割込信号ＩＮＴとして出力され、割込コントローラ４１に供給される。これにより、割込コントローラ４１は、ＣＰＵ３３へ割込要求信号ＩＲＥＱ０を供給するので、ステップＳＰ４の判断結果が「ＹＥＳ」となり、ＣＰＵ３３は、ステップＳＰ５へ進む。
【００３６】
ステップＳＰ５では、ＣＰＵ３３は、割込コントローラ４１から供給された割込要求信号が各ＤＭＡＣ３７〜４０からの完了信号ＤＯＮＥ０〜ＤＯＮＥ３に基づく割込要求に応じた割込要求信号ＩＲＥＱ１であるか否かを判断する。この判断結果が「ＹＥＳ」の場合には、ＣＰＵ３３は、ステップＳＰ１１へ進む。一方、ステップＳＰ５の判断結果が「ＮＯ」の場合、すなわち、ＤＭＡＣが割り当てられていない要求信号ＲＥＱが供給され、割込コントローラ４１から割込要求信号ＩＲＥＱ０が供給された場合には、ＣＰＵ３３は、ステップＳＰ６へ進む。
今の場合、割込コントローラ４１から割込要求信号ＩＲＥＱ０が供給されているので、ステップＳＰ５の判断結果は「ＮＯ」となり、ＣＰＵ３３は、ステップＳＰ６へ進む。
【００３７】
ステップＳＰ６では、ＣＰＵ３３は、使用状況管理手段４３の内部に設けられた使用状況情報レジスタを参照して、各ＤＭＡＣ３７〜４０の使用状況を把握した後、最もデータ転送を行っていないＤＭＡＣを選択する。今の場合、すべてのＤＭＡＣ３７〜４０においてデータ転送が行われていないため、使用状況情報レジスタには何も値が書き込まれていないので、例えば、ＤＭＡＣ３７が選択されたものとする。
ステップＳＰ７では、ＣＰＵ３３は、ステップＳＰ６の処理で選択したＤＭＡＣが現在データ転送状態であるか否かを判断する。すなわち、ＣＰＵ３３は、ステップＳＰ６の処理で選択したＤＭＡＣの内部に設けられた転送状態レジスタを参照して、当該ＤＭＡチャネルが現在データ転送を行っているか否かをチェックし、データ転送状態である場合、すなわち、ステップＳＰ７の判断結果が「ＹＥＳ」の場合には、ステップＳＰ８へ進む。一方、ステップＳＰ６の処理で選択したＤＭＡＣが現在データ転送状態でない場合、すなわち、ステップＳＰ７の判断結果が「ＮＯ」の場合には、何もせず、ステップＳＰ９へ進む。
今の場合、すべてのＤＭＡＣ３７〜４０においてデータ転送が行われていないので、ステップＳＰ７の判断結果が「ＮＯ」となり、ＣＰＵ３３は、何もせず、ステップＳＰ９へ進む。
【００３８】
ステップＳＰ８では、選択されたＤＭＡＣが実行中のデータ転送処理を中断し、他のデータ転送処理に使用するため、中断した転送チャネルの情報（転送元アドレス、転送先アドレス等）を管理テーブルに退避する処理を行う。ＣＰＵ３３は、ステップＳＰ６の処理で選択したＤＭＡＣの内部に設けられたレジスタ群に記憶されたある要求チャネルの情報を退避するために、メモリ３６の内部に設けられた管理テーブルの対応した要求チャネルの記憶領域に書き込む。この場合、上記したステップＳＰ３の処理と同様、ＣＰＵ３３は、まず、メモリ３６の内部に設けられた管理テーブルへのアクセス権を獲得するために、リード・モディファイ・ライト・サイクルで、レジスタ群３４を構成するセマフォレジスタ３４ｃから値”０”を読み出した後、セマフォレジスタ３４ｃに値”１”を書き込み、ステップＳＰ６の処理で選択したＤＭＡＣの内部に設けられたレジスタ群に記憶されたある要求チャネルの転送元アドレス、転送先アドレス、転送回数、転送状態、転送モード等の情報を管理テーブルの所定の記憶領域に書き込む。この後、ＣＰＵ３３は、管理テーブルへのアクセス権を解放するために、セマフォレジスタ３４ｃに値”０”を書き込む。
【００３９】
ステップＳＰ９では、ＣＰＵ３３は、まず、管理テーブルへのアクセス権を獲得するために、リード・モディファイ・ライト・サイクルで、セマフォレジスタ３４ｃから値”０”を読み出した後、セマフォレジスタ３４ｃに値”１”を書き込み、要求信号ＲＥＱを供給した入出力手段に対応した要求チャネルの管理テーブルの記憶領域から転送元アドレス等の情報を読み出して、ステップＳＰ６の処理で選択したＤＭＡＣの内部に設けられたレジスタ群に記憶すると共に、管理テーブルの当該要求チャネルに対応した記憶領域に記憶された転送元アドレス等の情報がデータ転送中に書き換えられないようにするために、書き込み禁止を表すロックデータを書き込む。この後、ＣＰＵ３３は、管理テーブルへのアクセス権を解放するために、セマフォレジスタ３４ｃに値”０”を書き込む。
今の場合、要求信号ＲＥＱ０を供給したのは入出力手段４２０であるから、対応した要求チャネルは要求チャネル０である。したがって、ＣＰＵ３３は、管理テーブルの要求チャネル０に対応した記憶領域から転送元アドレス等の情報を読み出して、ＤＭＡＣ３７のレジスタ群にそれぞれ記憶すると共に、管理テーブルの要求チャネル０に対応した記憶領域にロックデータを書き込む。
【００４０】
ステップＳＰ１０では、ＣＰＵ３３は、レジスタ群３４を構成するクロスバスイッチ制御レジスタ３４ａに所定の値を設定することにより、図３に示すクロスバスイッチ４４を構成するトランジスタ４８０〜４８７９をオン／オフさせて、ステップＳＰ６の処理で選択したＤＭＡＣに今まで供給されていた要求信号ＲＥＱ０〜ＲＥＱ１５のいずれかを出力ライン４７０〜４７３のいずれかから切り放し、出力ライン４７４に接続して割込信号ＩＮＴとして出力させると共に、ステップＳＰ４の処理で割込コントローラ４１から供給されたと判断された割込要求信号ＩＲＥＱ０に対応した要求信号ＲＥＱ０〜ＲＥＱ１５のいずれかを出力ライン４７０〜４７３のいずれかに接続して要求信号ＳＲＥＱ０〜ＳＲＥＱ３のいずれかとして出力させ、ステップＳＰ６の処理で選択したＤＭＡＣに供給させた後、この割込処理▲３▼を終了する。
今の場合、ステップＳＰ６の処理で選択したのはＤＭＡＣ３７であり、ステップＳＰ４の処理で割込コントローラ４１から供給されたと判断された割込要求信号ＩＲＥＱ０に対応するのは入出力手段４２０からの要求信号ＲＥＱ０であるが、ＤＭＡＣ３７には今まで要求信号ＲＥＱ０〜ＲＥＱ１５のいずれも供給されていないので、ＣＰＵ３３によるクロスバスイッチ制御レジスタ３４ａへの所定の値の設定により、要求信号ＲＥＱ０は、クロスバスイッチ４４から要求信号ＳＲＥＱ０として出力され、ＤＭＡＣ３７に供給される。
【００４１】
次に、データ転送処理▲４▼を実行する。ＤＭＡＣ３７は、クロスバスイッチ４４から要求信号ＳＲＥＱ０が供給されると、データ転送動作を開始し、まず、アービタ３５に対し要求信号ＤＲＥＱ０をアクティブにして供給する。アービタ３５は、要求信号ＤＲＥＱ０が入力されると、各ＤＭＡＣ３７〜４０の優先順位やＣＰＵ３３の稼働状態に基づいて、バス４５の使用権を許可するかを決定し、ＤＭＡＣ３７のバス４５の使用権獲得を許可すると決定した場合には、許可信号ＤＧＮＴ０をＤＭＡＣ３７に供給する。
ＤＭＡＣ３７は、許可信号ＤＧＮＴ０が供給されると、転送元アドレスレジスタに書き込まれた転送元アドレスによって示されたデータの転送元から、転送モードレジスタに書き込まれたデータサイズでデータを読み出し、転送先アドレスレジスタに書き込まれた転送先アドレスによって示されたデータの転送先へ書き込む。この場合、ＤＭＡＣ３７は、１回のデータ転送毎に、転送回数レジスタに書き込まれた転送回数からデータサイズを減算していき、転送回数レジスタの値がデータ転送の終了値に達していれば、完了信号ＤＯＮＥ０を割込コントローラ４１に供給する。これにより、割込コントローラ４１は、ＤＭＡＣ３７からの完了信号ＤＯＮＥ０に基づく割込要求に応じて、ＣＰＵ３３へ割込要求信号ＩＲＥＱ１を供給すると共に、割込情報レジスタに完了信号ＤＯＮＥ０を供給したＤＭＡＣ３７に付与された番号を記憶する。
【００４２】
また、ＤＭＡＣ３７は、データ転送動作中に、例えば、転送元アドレスレジスタに書き込まれた転送元アドレスを読み出す際に、ビジー信号ＢＵＳＹ０をアクティブとして使用状況管理手段４３へ供給すると共に、アクノリッジ信号ＤＡＣＫ０を任意の１単位のデータ転送（転送元からのデータの読み出しと転送先へのデータの書き込み）が完了した後、使用状況管理手段４３へ供給する。これにより、使用状況管理手段４３は、ＤＭＡＣ３７から供給されたアクノリッジ信号ＤＡＣＫ０に基づいて、ＤＭＡＣ３７に付与された番号０を最も新しくアクノリッジ信号ＤＡＣＫ０がアクティブになったとして使用状況情報レジスタに記憶すると共に、ビジー信号ＢＵＳＹ０がノンアクティブになっている期間（図５（１）の例では、およそ時刻ｔ０から時刻ｔ５までの期間）をカウントするカウンタがカウントを開始する。これでデータ転送処理▲４▼は終了する。
【００４３】
データ転送処理が終了したときは、完了信号ＤＯＮＥ０が割込コントローラ４１に供給され、割込処理▲３▼が実行される。ステップＳＰ４、ＳＰ５ともに「ＹＥＳ」となり、管理テーブル更新処理であるステップＳＰ１１を実行する。ステップＳＰ１１では、ＣＰＵ３３は、割込コントローラ４１の内部に設けられた割込情報レジスタに記憶されたＤＭＡＣに付与された番号を読み出し、当該ＤＭＡＣでデータ転送が終了したことを把握する。そして、ＣＰＵ３３は、データ転送が終了したＤＭＡＣへの転送チャネルの割当を解除し、その内部に設けられたレジスタ群に記憶されたある要求チャネルの情報を、メモリ３６の内部に設けられた管理テーブルの対応した要求チャネルの記憶領域に書き込んだ後、ロックデータを消去して、ロックを解除する。
この場合、上記したステップＳＰ３の処理と同様、ＣＰＵ３３は、まず、管理テーブルへのアクセス権を獲得するために、リード・モディファイ・ライト・サイクルで、セマフォレジスタ３４ｃから値”０”を読み出した後、セマフォレジスタ３４ｃに値”１”を書き込み、データ転送が終了したＤＭＡＣの内部に設けられたレジスタ群に記憶されたある要求チャネルの転送元アドレス等の情報を管理テーブルに書き込む。この後、ＣＰＵ３３は、管理テーブルへのアクセス権を解放するために、セマフォレジスタ３４ｃに値”０”を書き込む。
【００４４】
これ以降、図５（２）〜（４）に示すように、他の入出力手段４２１〜４２３からそれぞれ時刻ｔ１、時刻ｔ２及び時刻ｔ３にアクティブとなった要求信号ＲＥＱ１〜ＲＥＱ３が順次クロスバスイッチ４４に供給されると、以上説明したステップＳＰ４〜ＳＰ１０の処理により、要求信号ＲＥＱ１〜ＲＥＱ３がクロスバスイッチ４４を介して他のＤＭＡＣ３８〜４０に順次供給され、それぞれＤＭＡＣ３８〜４０を用いた入出力手段４２１〜４２３を転送元又は転送先としたデータ転送が行われる。すなわち、要求信号ＲＥＱが４個までは、４個のＤＭＡＣ３７〜４０がそれぞれ４個の要求信号ＲＥＱに対応してデータ転送に関与するので、何等支障なく、４個の入出力手段について独立にデータ転送を行うことができる。
【００４５】
次に、４個のＤＭＡＣ３７〜４０のいずれも既に使用されている状態で、入出力手段４２４からの要求信号ＲＥＱ４がアクティブになる時刻ｔ４（図５（５）参照）以降におけるデータ転送について、説明する。
入出力手段４２４から出力される要求信号ＲＥＱ４が時刻ｔ４にアクティブになってクロスバスイッチ４４に供給されると、要求信号ＲＥＱ４が割込信号ＩＮＴとして出力され、割込コントローラ４１に供給される。これにより、割込コントローラ４１は、ＣＰＵ３３へ割込要求信号ＩＲＥＱ０を供給するので、ＣＰＵ３３は、使用状況管理手段４３の内部に設けられた使用状況情報レジスタを参照して、各ＤＭＡＣ３７〜４０の使用状況を把握した後、最もデータ転送を行っていないＤＭＡＣを選択する。今の場合、図５（１）〜（４）から分かるように、要求信号ＲＥＱ０が最も古くノンアクティブになっており、要求信号ＲＥＱ０はＤＭＡＣ３７に供給されているので、使用状況管理手段４３の使用状況情報レジスタには、ＤＭＡＣ３７に付与された番号０が最も古いものとして記憶されているはずである。そこで、ＣＰＵ３３は、ＤＭＡＣ３７を最もデータ転送を行っていないＤＭＡＣとして選択する。
【００４６】
次に、現在ＤＭＡＣ３７は要求信号ＲＥＱ０に対応した要求チャネル０についてデータ転送中であるので、そのデータ転送を一時中断させなければならないが、ＤＭＡＣ３７のレジスタ群にこれからデータ転送する要求信号ＲＥＱ４に対応した要求チャネル４の転送元アドレス等の情報を上書きしてしまうと、そのデータ転送終了後に一時中断した要求信号ＲＥＱ０に対応した要求チャネル０のデータ転送が再開できなくなってしまうので、ＤＭＡＣ３７のレジスタ群に現在書き込まれている要求信号ＲＥＱ０に対応した要求チャネル０の転送元アドレス等の情報を対応する管理テーブルの所定の記憶領域に一時退避させる必要がある。
そこで、ＣＰＵ３３は、上記ステップＳＰ８の処理において、ＤＭＡＣ３７のレジスタ群に記憶された要求チャネル０の情報を、管理テーブルの要求チャネル０の記憶領域に書き込む。この場合、ＣＰＵ３３は、まず、管理テーブルへのアクセス権を獲得するために、リード・モディファイ・ライト・サイクルでセマフォレジスタ３４ｃから値”０”を読み出した後、セマフォレジスタ３４ｃに値”１”を書き込み、ＤＭＡＣ３７のレジスタ群に記憶された要求チャネル０の転送元アドレス等の情報を管理テーブルの所定の記憶領域に書き込む。この後、ＣＰＵ３３は、管理テーブルへのアクセス権を解放するために、セマフォレジスタ３４ｃに値”０”を書き込む。
【００４７】
次に、ＣＰＵ３３は、まず、管理テーブルへのアクセス権を獲得するために、リード・モディファイ・ライト・サイクルで、セマフォレジスタ３４ｃから値”０”を読み出した後、セマフォレジスタ３４ｃに値”１”を書き込み、要求信号ＲＥＱ４を供給した入出力手段４２４に対応した要求チャネル４の管理テーブルの記憶領域から転送元アドレス等の情報を読み出して、ＤＭＡＣ３７のレジスタ群に記憶すると共に、管理テーブルの当該要求チャネル４に対応した記憶領域に記憶された転送元アドレス等の情報がデータ転送中に書き換えられないようにするために、ロックデータを書き込む。この後、ＣＰＵ３３は、管理テーブルへのアクセス権を解放するために、セマフォレジスタ３４ｃに値”０”を書き込む。
そして、ＣＰＵ３３は、レジスタ群３４を構成するクロスバスイッチ制御レジスタ３４ａに所定の値を設定することにより、図３に示すクロスバスイッチ４４を構成するトランジスタ４８０〜４８７９をオン／オフさせて、要求信号ＲＥＱ４を要求信号ＳＲＥＱ０としてＤＭＡＣ３７に供給させると共に、要求信号ＲＥＱ０を割込信号ＩＮＴとして割込コントローラ４１に供給させる。この後のＤＭＡＣ３７の処理については、上記した入出力手段４２０の場合と略同様であるので、その説明を省略する。
【００４８】
次に、時刻ｔ５になり、要求信号ＲＥＱ０が再びアクティブになった場合、図５（１）〜（４）から分かるように、要求信号ＲＥＱ２が最も古くノンアクティブになっており、要求信号ＲＥＱ２はＤＭＡＣ３９に供給されているので、使用状況管理手段４３の使用状況情報レジスタには、ＤＭＡＣ３９に付与された番号２が最も古いものとして記憶されているはずである。そこで、ＣＰＵ３３は、ＤＭＡＣ３９を最もデータ転送を行っていないＤＭＡＣとして選択する。
したがって、ＤＭＡＣ３９のレジスタ群に記憶されている要求チャネル２の情報の管理テーブルへの一時退避と、一時中断され、退避されていた要求チャネル０の情報の管理テーブルからＤＭＡＣ３９のレジスタ群への書き込みが行われた後、ＤＭＡＣ３９における転送元を入出力手段４２０とし、転送先をメモリ３６としたデータ転送が再開される。
同様に、時刻ｔ６になれば、要求チャネル０のデータ転送の一時中断と要求チャネル２のデータ転送の再開が行われ、時刻ｔ７になれば、要求チャネル２のデータ転送の一時中断と要求チャネル０のデータ転送の再開が行われ、時刻ｔ８になれば、要求チャネル４のデータ転送の一時中断と要求チャネル２のデータ転送の再開が行われる。以下、同様である。
【００４９】
そして、時刻ｔ９になると、要求チャネル１のデータ転送が終了するので、ＤＭＡＣ３８は、完了信号ＤＯＮＥ１を割込コントローラ４１に供給する。これにより、割込コントローラ４１は、ＤＭＡＣ３８からの完了信号ＤＯＮＥ１に基づく割込要求に応じて、ＣＰＵ３３へ割込要求信号ＩＲＥＱ１を供給すると共に、割込情報レジスタに完了信号ＤＯＮＥ１を供給したＤＭＡＣ３８に付与された番号１を記憶する。
したがって、ＣＰＵ３３は、割込コントローラ４１の割込情報レジスタに記憶されたＤＭＡＣ３８に付与された番号０を読み出し、当該ＤＭＡＣ３８でデータ転送が終了したことを把握する。そして、ＣＰＵ３３は、データ転送が終了したＤＭＡＣ３８への割当を解除した後、管理テーブルへのアクセス権を獲得するために、リード・モディファイ・ライト・サイクルで、セマフォレジスタ３４ｃから値”０”を読み出した後、セマフォレジスタ３４ｃに値”１”を書き込み、ＤＭＡＣ３８のレジスタ群に記憶された要求チャネル１の転送元アドレス等の情報を管理テーブルに書き込む。この後、ＣＰＵ３３は、管理テーブルへのアクセス権を解放するために、セマフォレジスタ３４ｃに値”０”を書き込んだ後、ロックデータを消去して、ロックを解除する。
【００５０】
このように、この例の構成によれば、入出力手段の個数に比べてＤＭＡＣの個数が少なく、ＤＭＡＣの個数以上の要求信号ＲＥＱが供給された場合であっても、使用状況管理手段４３により最も使用していないＤＭＡＣを把握して、メモリと同様の製造方法で作製可能で誤動作の極めて少ないクロスバスイッチを用いて、新たに供給された要求信号ＲＥＱを最も使用していないＤＭＡＣに供給するようにしたので、安価かつ簡単な構成で、効率的にＤＭＡＣを用いたデータ転送を行うことができる。第１の従来例において１６個の入出力手段に対応して１６個のＤＭＡＣを設ける構成とこの例の構成とを比較すると、回路規模を１／４ないし１／３程度に削減することができる。
特に、同時に供給される要求信号ＲＥＱが４個以内である場合には、クロスバスイッチ４４の切換と転送元アドレス等の情報の書換時だけにＣＰＵが関与するだけであるので、ＣＰＵの稼働率を上昇させ、装置全体のスループットを向上させることができる。
また、同時に供給される要求信号ＲＥＱが５個以上である場合でも、図５（２）及び（４）に示すように、転送速度が速いデータ転送を行っているＤＭＡＣは、データ転送が中断されることはないので、効率的なデータ転送を行うことができる。
さらに、この例の構成によれば、入出力手段の個数を増加させたり、ＤＭＡＣの個数を増加させる場合であっても、上記した第２の従来例のように、アルゴリズム等を最初から構築し直す必要はなく、クロスバスイッチ４４を構成する入力ライン４６、出力ライン４７及びトランジスタ４８の数を増やしたり、メモリ３６の管理テーブルの記憶領域をその分確保する等の若干の修正だけで良いので、汎用性が高く、開発コスト及び開発期間が少なくて済む。
また、この例の構成によれば、セマフォレジスタ３４ｃ及びロックデータ用いて、データ転送中又はデータ転送が中断中に、管理テーブルに記憶された転送元アドレス等の情報が書き換えられないようにしているので、情報の整合性を保持することができ、データ転送の中断及び再開を正確かつ容易に行うことができる。
【００５１】
以上、この発明の実施例を図面を参照して詳述してきたが、具体的な構成はこの実施例に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。
例えば、上述の実施例においては、ＤＭＡＣを４個設ける例を示したが、これに限定されず、ＤＭＡＣは、入出力手段の個数によるが、例えば、２〜８個設けても良い。
また、上述の実施例においては、ＣＰＵ３３がＬＲＵモードにより４個のＤＭＡＣ３７〜４０の使用状況を把握する例を示したが、これに限定されず、ＣＰＵ３３は、４個のＤＭＡＣ３７〜４０の使用状況を、ＢＵＳＹモードにより、あるいはＬＲＵモードとＢＵＳＹモードとを組み合わせて把握するようにしても良い。
【００５２】
また、上述の実施例においては、割込コントローラ４１を設け、ＤＭＡＣ３７〜４０の個数以上に新たに要求信号ＲＥＱが供給された場合には、ＤＭＡＣのいずれかにおけるデータ転送を一時中断させて新たに要求信号ＲＥＱを供給した入出力手段によるデータ転送を実行させる例を示したが、これに限定されない。例えば、割込コントローラ４１は設けずに、新たに要求信号ＲＥＱが供給された場合でも、４個のＤＭＡＣがすべてデータ転送中である場合には、当該要求信号ＲＥＱを供給した入出力手段によるデータ転送は留保しておき、４個のＤＭＡＣのいずれかにおいてデータ転送が終了した時点で、その入出力手段によるデータ転送を開始するように構成しても良い。この場合でも、４個のＤＭＡＣを有効に利用することは可能である。
また、上述の実施例において、割込処理によりデータ転送を一時中断させた入出力手段については、改めて要求信号ＲＥＱを出力し、それが他の要求信号ＲＥＱよりも優先された場合に初めて、データ転送が再開される例を示したが、これに限定されない。例えば、いずれかのＤＭＡＣにおいてアクノリッジ信号ＡＣＫがノンアクティブになった場合、要求信号ＲＥＱの出力を待たずに、一時中断されていた入出力手段のデータ転送を優先的に再開するように構成しても良い。
【００５３】
また、上述の実施例においては、入出力手段４２０〜４２１５には特に優先順位を付与していないが、これに限定されず、予め入出力手段４２０〜４２１５に優先順位を付与すると共に、データの転送速度の速い外部装置、例えば、ＨＤＤ（転送速度が約５０Ｍｂ／ｓ）等は優先順位の高い入出力手段４２に接続するように構成しても良い。この場合、優先順位の高い入出力手段４２から供給される要求信号ＲＥＱは固定的に所定のＤＭＡＣに供給するようにし、他の入出力手段から要求信号ＲＥＱが供給されても、当該ＤＭＡＣを明け渡さないように構成すれば、より効率的なデータ転送を行うことができる。
また、上述の実施例においては、４個のＤＭＡＣは、いずれも同一の機能を有する例を示したが、これに限定されず、例えば、１回のデータ転送で転送されるデータサイズ（８ビット、１６ビット、３２ビットなど）が異なるように構成しても良い。
また、上述の実施例においては、管理テーブルは、メモリ３６の内部に設ける例を示したが、これに限定されず、レジスタ群３４を構成するようにしても良い。
【００５４】
また、上述の実施例においては、１本のバス４５を情報処理装置３１の内部に設ける例を示したが、これに限定されず、２本以上設けても良いし、情報処理装置３１の外部に外部バスを設け、その外部バスに接続されたメモリや入出力手段と、バス４５に接続されたメモリ３６や入出力手段４２０〜４２１５との間でデータ転送を行えるようにしても良い。この場合、外部バスはバス４５とパラレルに使用するように構成しても良いし、直列に接続して使用するように構成しても良い。
また、上述の実施例においては、バス４５の全部の使用権を獲得する例を示したが、これに限定されず、バス４５に複数のゲートを設け、それらのゲートの開閉をＣＰＵ３３又は各ＤＭＡＣ３７〜４０が制御することにより、あるＤＭＡＣがバス４５の必要な部分だけ獲得してデータ転送するようにしても良い。図１に示す構成を例に取ると、入出力手段４２１と入出力手段４２２との間でデータ転送する場合には、バス４５のうち、メモリ３６、入出力手段４２０が接続されている部分は使用しないので、入出力手段４２０と入出力手段４２１との間にゲートを設け、ＤＭＡＣ３７がそのゲートを閉めて、バス４５の入出力手段４２１と入出力手段４２２とが接続された部分だけの使用権を獲得してデータ転送し、バス４５のＤＭＡＣ３７が獲得しなかった部分についてはＣＰＵ３３が使用すれば良い。
【００５５】
また、上述の実施例においては、情報処理装置３１を１チップ・マイクロ・コンピュータで構成する例を示したが、これに限定されず、ＣＰＵ３３、ＤＭＡＣ３７〜４０、メモリ３６や入出力手段４２０〜４２１５等をそれぞれスタンド・アロン・タイプの装置に置き換えると共に、バス４５をケーブルで構成することにより、全体をローカル・エリア・ネットワーク（ＬＡＮ）等のシステムで構成するようにしても良い。
また、上述の実施例においては、ＣＰＵ３３とＤＭＡＣ３７〜４０とは主従の関係にある例を示したが、これに限定されず、ＤＭＡＣ３７〜４０をデジタル・シグナル・プロセッサ（ＤＳＰ）などに置き換えたりすることにより、並行処理をするような構成にしても良い。
【００５６】
【発明の効果】
以上説明したように、この発明の構成によれば、入出力手段の個数ｎに比べてデータ転送制御手段の個数ｍが少ないが、切換手段により、入出力手段から出力された要求信号のうち、ｍ個までをｍ個のデータ転送制御手段のいずれかに適宜柔軟に供給するようにしたので、安価かつ簡単な構成で、効率的にデータ転送制御手段を用いたデータ転送を行うことができる。特に、同時に供給される要求信号がｍ個以内である場合には、切換手段の切換時だけに制御手段が関与するだけであるので、制御手段の稼働率を上昇させ、装置全体のスループットを向上させることができる。
また、この発明の別の構成によれば、切換手段からｍ個のデータ転送制御手段のいずれにも供給されなかった要求信号の論理和として割込信号が供給された場合には、制御手段は、ｍ個のデータ転送制御手段のうち、最も使用していないデータ転送制御手段を選択して、当該データ転送制御手段がデータ入出力を制御している入出力手段におけるデータ転送を中断させ、切換手段を制御して、当該データ転送制御手段に新たな要求信号を供給させると共に、今まで当該データ転送制御手段に供給されていた要求信号を前記論理和に加えるようにしているので、転送速度が速く頻繁に使用しているデータ転送制御手段におけるデータ転送は、中断されることはなく、効率的なデータ転送を行うことができる。
【００５７】
また、この発明の別の構成によれば、全体記憶手段から入出力手段におけるデータ入出力制御に関する情報を読み出した後、全体記憶手段に記憶されている情報の書き換えを禁止することにより、データ転送中又はデータ転送が中断中に、全体記憶手段に記憶された情報が書き換えられないようにしているので、情報の整合性を保持することができ、データ転送の中断及び再開を正確かつ容易に行うことができる。
また、この発明の別の構成によれば、切換手段は、ｎ個の入出力手段からのｎ個の要求信号が印加されるｎ本の入力ラインと、ｍ本がｍ個のデータ転送制御手段に接続され、１本が制御手段に接続された（ｍ＋１）本の出力ラインと、ｎ本の入力ラインと（ｍ＋１）本の出力ラインとの交点に設けられたｎ×（ｍ＋１）個のトランジスタとから構成されているので、入出力手段の個数を増加させたり、データ転送制御手段の個数を増加させる場合であっても、アルゴリズム等を最初から構築し直す必要はなく、切換手段を構成する入力ライン、出力ライン及びトランジスタの数を増やしたりするだけで良いので、設計時の検証も極めて容易であり、汎用性が高く、開発コスト及び開発期間が少なくて済む。
【図面の簡単な説明】
【図１】この発明の一実施例である情報処理装置及びそれに接続される複数個の外部装置の電気的構成を示すブロック図である。
【図２】レジスタ群の構成の一例を示すブロック図である。
【図３】クロスバスイッチの構成の一例を示す回路図である。
【図４】同装置の動作の一例を説明するためのフローチャートである。
【図５】同装置の動作の一例を説明するためのタイミングチャートである。
【図６】第１の従来例である情報処理装置及びそれに接続される複数個の外部装置の電気的構成例を示すブロック図である。
【図７】第２の従来例である情報処理装置及びそれに接続される複数個の外部装置の電気的構成例を示すブロック図である。
【符号の説明】
３１            情報処理装置
３２１〜３２１５  外部装置
３３            ＣＰＵ（制御手段）
３４            レジスタ群
３５            アービタ
３６            メモリ
３７〜４０      ＤＭＡＣ（データ転送制御手段）
４１            割込コントローラ
４２０〜４２１５  入出力手段
４３            使用状況管理手段
４４            クロスバスイッチ（切換手段）
４５            バス
【図１】
0003558559.tif 000002
【図２】
0003558559.tif 000003
【図３】
0003558559.tif 000004
【図４】
0003558559.tif 000005
【図５】
0003558559.tif 000006
【図６】
0003558559.tif 000007
【図７】
0003558559.tif 000008