JPS5820060B2 - 入出力制御装置 - Google Patents

入出力制御装置

Info

Publication number
JPS5820060B2
JPS5820060B2 JP55100031A JP10003180A JPS5820060B2 JP S5820060 B2 JPS5820060 B2 JP S5820060B2 JP 55100031 A JP55100031 A JP 55100031A JP 10003180 A JP10003180 A JP 10003180A JP S5820060 B2 JPS5820060 B2 JP S5820060B2
Authority
JP
Japan
Prior art keywords
address
data
host processor
bus
unit
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
JP55100031A
Other languages
English (en)
Other versions
JPS5621221A (en
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS5621221A publication Critical patent/JPS5621221A/ja
Publication of JPS5820060B2 publication Critical patent/JPS5820060B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Programmable Controllers (AREA)

Description

【発明の詳細な説明】 〔発明の背景〕: 本発明は、ディジタル・データ処理システムにおいて、
ホスト・プロセッサと1個又はそれ以上の周辺装置(■
10ユニット)との間でデータを転送する入出力(Il
o)制御装置に関する。
更に具体的には、本発明はデータ転送活動を監視するた
めマイクロプロセッサを使用するI10制御装置に関す
る。
本発明の主たる目的は、実行されるタスクの種類及び数
に関して、更に処理されるI10ユニットの種類及び数
に関して非常に柔軟性ある高パフォーマンスのI10制
御装置を提供することである。
他の目的としては、次のようである。(1)現在及び将
来の各種の110ユニツ1〜を比較的簡単器つ直載な方
式で取付けることのできるI10制御装置に提供するこ
と。
(2)非常に有効且つ高度に同時的な方式でかなりの数
の異なったデータ転送タスクを処理することのできるI
’10制御装置を提供すること。
(3)各種のプログラミング及びデータ処理機能をホス
ト・コンピュータからオフロード(offload)す
ることのできるI10制御装置を提供すること。
(4)ホスト・プロセッサへ「制御装置ビジィ」信号を
絶対に出さないI10制御装置を提供すること。
上記の目的は、マイクロプロセッサをペースとしたI1
0制御装置によって実現される。
I10制御装置の構成において、マイクロプロセッサは
汎用プロセッサとして機能し、専用のI10制御装置と
して機能しない。
とりわけ、110ユニツト(又はその関連した装置制御
ユニット)は、単にマイクロプロセッサ■10バスへ取
付けることによって■10制御装置へ接続される。
かくて、マイクロプロセッサは通常の方式でI10ユニ
ットとの間でデータを転送することができる。
更に上記の目的は、110制御装置が接続されているホ
スト・プロセッサ(HP)I10チャネル・バスと、マ
イクロプロセッサ(MP)I10バスとの間でデータ転
送インターフェイスを与えるため、2ボート・ランダム
・アクセス記憶機構を使用することによって実現される
この記憶機構の1つのボートはHPI10チャネル・バ
スへ接続され、他のボートはMPI10バスへ接続され
る。
I10制御装置の構成は、上記2ポ一ト記憶機構がマイ
クロプロセッサ自体の私的なランダム・アクセス記憶ユ
ニットであると考えることのできる機構になっている。
しかし、この2ボ一ト記憶機構はホスト・プロセッサに
よって直接アクセスされることができ、それによってホ
スト・プロセッサは2ボ一ト記憶機構との間でデータを
転送することができる。
かくて、2ポ一ト記憶機構はマイクロプロセッサ及びホ
スト・プロセッサの双方によって共用される記憶ユニッ
トであるが、ホスト・プロセッサの記憶ユニツ1〜への
アクセスはマイクロプロセッサに対して透明(tran
s−parent)である。
更に他の特徴として、I10制御装置には直接メモリ・
アクセス(1)MA)制御ユニットが設けられる。
これはマイクロプロセッサとは別個のユニットであり、
ホスト・プロセッサの主記憶装置と2ボート記憶ユニツ
トとの間で高速サイクル・スチール・モードのデータ転
送を行なうために使用される。
」寺に、DMA制御ユニットはホスト・プロセッサへホ
スト・プロセッサ主記憶装置アドレスを与える第1チヤ
ネルと、2ボ一ト記憶機構へI10制御装置記憶ユニッ
ト・アドレスを与える第2チヤネルとを含む。
これらのDMAチャネルは、協働してホスト・プロセッ
サ主記憶装置からデータ・ワードを取出し、それを2ポ
一ト記憶機構のアドレスされたロケーションへ書くよう
に動作するか、逆に2ポ一ト記憶機構からデータ・ワー
ドを取出し、それをホスト・プロセッサ主記憶装置のア
ドレスされたロケーションへ書込むように動作する。
更に、ホスト・プロセッサがIA制御装置記憶ユニツI
〜へアクセスすることによるデータ転送と、DMA制御
制御ユニー1〜って制御されるサイクル・スチール・デ
ータ転送とをインターリーブする回路が設けられている
かくて、ホスト・プロセッサとI10制御装置との間に
は2つの異なったデータ転送モードが与えられる。
これらのモードはインターリーブされて遅延及び相互間
の干渉が最少にされる とりわけ、これはI10制御装
置かホスト・プロセッサ主記憶装置との間でデータ・ブ
ロックのサイクル・スチール転送を実行している同じ時
間に、新しいI10指令がホスト・プロセッサから受取
られることを可能にする。
〔要約〕
本明細書において、ホスト・プロセッサ(HP)と1個
又はそれ以上のI10ユニットとの間でデータを転送す
るための柔軟性ある高パフォーマンス入出力(Ilo)
制御装置が説明される。
パフォーマンスを改善することは、ホスト・プロセッサ
とI10制御装置の間で行なわれるデータ転送の2つの
異なったモードをインクリーブする機構を設けることに
よって達成される。
データ転送の1つのモードはI10制御装置とホスト・
プロセッサの主記憶装置との間でデータをサイクル・ス
チールするモードであり、そのようなサイクル・スチー
ルはI10制御装置によって制御される。
データ転送の他のモードはホスト・プロセッサによって
制御されるI10指令形のデータ転送モードであり、転
送されるデータの各ワードについて、ホスト・プロセッ
サはI10制御装置へI10指令及びI10アドレスを
与える。
パフォーマンスを改善する他の手段としては、プロセッ
サの記憶ユニットへ(又はそこから)データを転送する
同期サイクル・スチール機構がある。
実施例において、このプロセッサはデータ転送活動を監
視するためにI10制御装置中に設けられたマイクロプ
ロセッサ(MP)である。
具体。的には、サイクル・スチール機構はインタリーブ
機構と組合せて使用され、ホスト・プロセッサを働かせ
て、■10制御装置中に置かれたマイクロプロセッサ記
憶ユニットへ(又はそこから)I10指令形のデータ・
ワードをサイクル・スチールさせる。
そのサイクル・スチールはマイクロ70ロセツサに対し
て透明(transparent)である。
かくて、ホスト・プロセッサはI10制御装置へ(又は
そこから)データをサイクル・スチールすることができ
、同時にI10制御装置はホスト・プロセッサ主記憶装
置へ(又はそこから)他の異なったデータをサイクル・
スチールすることができる。
これら2種類のサイクル・スチール転送は個々のデータ
・ワードに関してインタリーブ方式%式% 更に、パフォーマンスを改善する手段としては、異なっ
たデータ・ビット幅のビット並列データ・・バスをイン
ターフェイスするデータ・インターフェイス機構がある
実施例において、この機構はデータ・バイトをデータ・
ワードへ(又はその逆へ)変換する自動的且つ高度に効
率的な機構である。
I10制御装置の全体的な構成は、■10制御装置によ
っていくつかの異なったタスクが実行されねばならない
場合に、これらタスクが高度にコンパクトで効率的な方
式でインクリーブされ、I10制御装置に関して、望ま
しくない遊び時間が大きく削減されるようになっている
例えば、I10制御装置が第1のI10ユニットからホ
スト・プロセッサ主記憶装置へデータをサイクル・スチ
ールしている時に、そのサイクル・スチール動作に遊び
時間ができると、I10制御装置は自動的に切替えられ
、他の異なったタスク(例えば、I10制御装置から第
2の異なったI10ユニットへデータを転送するタスク
)が開始される。
I10制御装置の構成は、I10データ転送の機能を果
たす外に、ホスト・プロセッサから通常のプログラミン
グ機能のあるものをオフロード(offload)でき
るようになっている。
例えば、それはホスト・プロセッサのためにナンバ・ク
ランチング(number crunching)の
成るものを実行することができる。
更に、それはホスト・プロセッサ中で前に実行されたI
10制御フ狛グラム機能の成るものをオフロードするこ
とができる。
更に、従来型のI10ユニットのために設計されたオペ
レーティング・システム・ソフトウェアを有するホスト
・プロセッサへ新型のI10ユニットを接続したい場合
に、上記110制御装置を使用することができる。
例えび、上記■10制御装置を使用して、文字モード形
のキーボード・ディスプレーのために書かれたキーボー
ド・ディスプレー・ソフトウェアを有するホスト・プロ
セッサへページ・モード形キーボード・ディスプレー・
ユニットを接続することができる。
この場合、上記I10制御装置のデータ処理能力が使用
され、文字モードのI10指令及び制御ブロックが処理
されて、ページ・モード形の動作が正しく制御される。
かくてホスト・プロセッサのプログラミング・サポート
が陳腐化するのを著しく避けることができる。
〔全体的システムの説明〕
特に文脈上地の意味で用いられない限り、本明細書中で
使用される「データ1の語は英数字データ、状況(5t
atus)情幸大制御情報、アドレス値等を含むものと
する。
第1図を参照すると、そこには本発明に従って構成され
た入出力I10制御装置を含むデイジルタ・データ処理
システムのブロック図が示される。
このシステムはホスト・プロセッサ1、I10制御装置
2、複数の周辺装置(I10ユニット)3〜6を含む。
ホスト・プロセッサ1には、ホスト・プロセッサ主記憶
装置7が接続される。
ホスト・プロセッサ1はホスト・プロセッサ(HP)I
10チャネル・バス8を介して各種のI10制御装置及
びI10ユニットと通信するように構成される。
このチャネル・バス8はホスト・プロセッサ1のチャネ
ルへ接続され、それによって駆動される。
更に、チャネル9は記憶バス10によって主記憶装置7
へ直接に接続される。
記憶バス10は、ホスト・プロセッサ1で実行されてい
るプログラムを中断させることなく、チャネル・バス8
と主記憶装置7との間でデータをサイクル・スチールす
ることを可能にする。
例えば、ホスト・プロセッサ1はIBMシリーズ/1プ
ロセッサと仮定する。
かくて、チャネル・バス8はシリーズ/1チヤネル・バ
スであり、その構成及び動作は米国特許第403864
2号に詳細に説明されている。
更に、この特許は現在のシリーズ/1形I10制御装置
、及びI10ユニットをホスト・プロセッサI10チャ
ネル・バス8へ接続する場合の上記制御装置の使用法を
説明している。
I10制御装置2は本発明の教示に従って構成されたI
10制御装置の代表的実施例である。
それは現在市販されているシリーズ/1形I10制御装
置よりも多くの利点及び改善点を有する。
このような特徴は汎用性があり、シリーズ/1形I10
制御装置における利用に制限されると考えてはならない
I10制御装置2はマイクロプロセッサ(MP)をベー
スとしたI10制御装置であり、マイクロプロセッサ1
1、制御プログラム記憶ユニット12、直接メモリ・ア
クセス(DMA)制御ユニット13、プログラム可能割
込み制御(PIC)ユニツロ4、ユーザー記憶ユニット
15(任意)を含む。
開型的には、マイクロプロセッサ11及びユニット12
〜15は1個又はそれ以上の集積回路チップより構成さ
れ、且つマイクロプロセッサ11によって要求される適
当な構成のマイクロプロセッサ1,10バス16へ接続
されている。
更に、周辺装置3〜6はそれぞれの装置制御ユニット1
7〜20を介してマイクロプロセッサI10バス16へ
接続すれる。
例として、マイクロプロセッサ11はインテル8085
Aマイクロプロセツサである。
これは現在インテル社によって製造され且つ市販されて
いる単一チップの8ビツト・マイクロプロセッサである
制御プログラム記憶ユニット12は続出し専用記憶ユニ
ットであり、■10制御装置2におけるデータ転送活動
を監視し且つ制御するためにマイクロプロセッサ11に
よって使用される各種の動作命令及び動作ルーチンを含
んでいる。
マイクロプロセッサ■10バス16は通常のインテル8
085Aマイクロプロセツサ・バスである。
直接メモリ・アクセス(DMA)制御ユニット13は、
例えばインテル8257プログラム可肯鴫M八制御装置
である。
プログラム可能割込み制御(PIC)ユニット14は、
例えばインテル8259プログラム可能割込み制御装置
である。
それは単一チップ8要求割込み制御装置であり、現在イ
ンテル社によって製造され且つ市販されている。
改善された110制御装置2の主たる特徴は、マイクロ
プロセッサI10バス16とホスト・プロセ゛ンサ丁1
0チャネル・バス8との間でデ゛−り転送インターフェ
イスを与えるため、2ポート・ランダム・アクセス記憶
ユニット22を使用したことである。
この記憶ユニットの1つのポートはバス8へ接続され、
他のポートはバス16へ接続される。
バス8からバス16へ、又はその逆方向へ通されるデー
タはこの記憶ユニットに一時的に記憶される。
110制御装置2の構成は、マイクロプロセッサ11に
とって記憶ユニット22が私的なランダム・アクセス記
憶ユニットであると考えられる構成になっている。
具体的には、記憶ユニット22がマイクロプロセッサ1
1へ接続される態様は、)概して他のランダム・アクセ
ス記憶ユニットがマイクロプロセッサへ通常接続される
態様と同じである。
かくて、マイクロプロセッサ11は通常の如くデータを
記憶ユニット22へ(又はそこから)転送することがで
きる。
しかし、記憶ユニット22はホスト・プロセッサ1によ
って直接にアクセスされることができ、ホスト・プロセ
ッサ1はデータを記憶ユニット22へ(又はそこから)
転送することができる。
しかし構成としては、ホスト・プロセッサ1による記憶
ユニット22の直接アクセスは、マイクロプロセッサ1
1に対して透明であるようになっている。
かくて、記憶ユニット22はマイクロプロセッサ11及
びホスト・プロセッサ1の双方によって共用される共用
記憶ユニットの如く動作し、ホスト・プロセッサ1のア
クセスはマイクロプロセッサ11に対して透明である。
ホスト・プロセッサ1は、バス8を介してI10制御装
置2へ即値装置制御ブロック(IDCB)を送ることに
よって、■10制御装置2におけるI10100開始又
は終了を生じさせる。
、IDCBは1バイトのI10指令及び1バイトの装置
アドレスを含む。
本実施例において、これら2つの項目(■10指令及び
装置アドレス)はバス8のアドレス・バス部分を介して
送り出される。
周辺装置3〜6の各々はそれぞれ独自の装置アドレスを
割当てられている。
アドレス・デコーダ23はバス8を監視する。
それが周辺装置3〜6の1個の装置アドレスが生じたこ
とを検出すると、それは出力線24上にアドレス・ゲー
ト捕捉信号を発生する。
この信号は4バイト指令レジスタ・ファイル25へ与え
られ、その時バス8上に現われている1バイトのI10
指令をそこに記憶される。
更に、アドレス・デコーダ23は4ビツト装置選択バス
26中の装置選択線の適当な1本を能動化する。
4本の装置選択線はPICユニット14の異なった割込
み要求入力へ接続される。
PICユニット14は選択された周辺装置のための割込
み要求をバス16を介してマイクロプロセッサ11へ送
る。
マイクロプロセッサ11はこの割込み要求を認識し、レ
ジスタ・ファイル25から対応するI10指令をフェッ
チする。
マイクロプロセッサ11は、このI10指令によって要
求された動作を開始する。
上記ホスト・プロセッサI10指令モードは、ホスト・
プロセッサと記憶ユニット22との間でデータを転送す
るためにも使用される。
更に具体的には、■10指令及び装置アドレスがバス8
上に発生する間に、ホスト・プロセッサ1又は記憶ユニ
ット22からデータ・ワード(2バイト)をバス8のデ
ータ・バス部分に置くことができる。
書込み形I10指令の場合、ホスト・プロセッサ1はデ
ータ・ワードをバス8上に置き、次いでそのようなデー
タ・ワードは記憶ユニット22へ書込まれることができ
る。
逆に読出し形I10指令の場合、記憶ユニット22はデ
ータ・ワードをバス8上に置き、次いでそのようなデー
タ・ワードはホスト・プロセッサ1へ読出されることが
できる。
いずれの場合でも、記憶ユニット22のアドレシングは
、バス8のアドレス・バス部分に現われるI10指令ビ
ット及び装置アドレス・ビットの成るものによって達成
される。
換言すれば、ホスト・プロセッサ1は記憶ユニット22
をアドレスするためのアドレス・ビット値を与える。
I10制御装置2の構成は、ホスト プロセッサによる
記憶ユニットのアクセスがマイクロプロセッサ11によ
って実行されつつあるプログラムを中断しないようにな
っており、故にホスト・プロセッサによる上記アクセス
はマイクロプロセッサに対して透明(transpar
ent)であるOホスト・プロセッサ1とI10制御装
置2(具体的には記憶ユニット22)との間では、デー
タ転送の第2のモードが存在する。
この第2モードは所謂サイクル・スチール・データ転送
モードであり、個々のデータ・ワードの転送は■10制
御装置2によって開始及び制御され、データ・ワードは
ホスト・プロセッサ主記憶装置7へ(又はそこから)サ
イクル・スチールされる。
通常、このサイクル・スチール・モードは、ホスト・プ
ロセッサ1と記憶ユニット22との間で複数ワード・ブ
ロックのデータを転送するために使用される。
本実施例において、これらサイクル・スチール・データ
転送は直接メモリアクセス(DMA)制御ユニット13
によって監視され且つ制御される。
DMA制御ユニット13は、各々のデータ・ワード転送
について、サイクル・スチール・アドレス・レジスタ2
7を介してホスト・プロセッサ1へ第1アドレスを与え
、バス16を介して記憶ユニット22へ第2アドレスを
与える。
ホスト・プロセッサ1へ与えられたアドレスはデータが
転送されるべき主記憶装置7のロケーションを選択し、
記憶ユニット22へ与えられたアドレスはデータが転送
されるべき記憶ユニット22のロケーションを選択する
データ・ワードは主記憶装置7へ(又はそこから)バス
10を介してサイクル・スチール・モードで移動される
これはそのようなデータ転送がホスト・プロセッサ1に
よって実行されつつあるプログラムの中断を生じさせな
いことを意味する。
このサイクル・スチール・データ転送モードは、DMA
制御ユニット13において2つのチャネルを使用するこ
とを必要とする。
1つのチャネルはサイクル・スチール・アドレス・レジ
スフ2フヘホスト・プロセッサ主記憶装置アドレスを与
え、他のチャネルは記憶ユニット22へI10制御装置
記憶ユニットアドレスを与える。
更に、DMA−制御ユニット13は、複数ワードより成
るデータ・ブロックの中で転送されるべきワードがいく
ら残っているかを追跡するワード・カウンタを含む。
DMA制御ユニット13の動作はホストDMA要求論理
ユニット28によって制御される。
所与の複数ワード・サイクル・スチール転送動作につい
ては、DMA制御ユニット13中のアドレス・カウンタ
及びワード・カウンタが最初マイクロプロセッサ11に
よって適当な開始値ヘセットされる。
次いで、マイクロプロセッサ11は線29を介して要求
論理ユニット28へ適当な開始信号を出す。
その後、DMA制御ユニット13及び要求論理ユニット
28は複数ワード・データ・ブロックのサイクル・スチ
ール処理を引継ぐ。
要求論理ユニット28は、各々のワード転送のために、
線31を介して初期接続割込み無雑用制御ユニット30
ヘサイクル・スチール要求信号を送る。
ユニ。ット30は、それに応答してホスト・プロセッサ
1ヘサイクルスチール要求信号を送る。
ホスト・プロセッサのチャネル9がデータ・ワード転送
を行なう準備を完了した時、それはユニット30ヘサー
ビス・ゲート信号を送る。
ユニット30はそ。れに応答してサービス・ゲート捕捉
信号を発生し、この信号は線32を介して要求論理ユニ
ット28へ与えられる。
この信号はDMA制御ユニット13の動作とチャネル9
の動作とを協調させるために使用される。
初期接続割込み無雑用制御ユニット30の詳細は米国特
許第4038642号に記載されているから、ここでは
重ねて説明しない。
これまでの説明から分るように、■10制御装置2はホ
スト・プロセッサ110指令によるデータ転送とDMA
制御ユニット13によって制御される個別データ・ワー
ド・サイクル・スチール転送とをインクリーブする回路
を含むことが分る。
かくて、ホスト・プロセッサ1とI10制御装置2との
間には、2つの異なったデータ転送モードが存在し、こ
れら2つのモードの個々の転送はインクリーブされて、
転送の最少の遅延及び転送相互間の最少の干渉を実現す
る。
考慮すべき第3のデータ転送モードは、記憶ユニツ1へ
22と周辺装置3〜6との間のデータ転送である。
本実施例において、マイクロプロセッサ11は記憶ユニ
ット22と周辺装置3〜6との間でこのデータ転送を処
理し且つ制御するために使用される。
記憶ユニット22から周辺装置3〜6へ転送の場合、記
憶ユニット22をアドレスし、そこからマイクロプロセ
ッサ11中の内部レジスフへデータ・バイ1へを転送す
るために、第1マイクロプロセツサ命令サイクルが使用
される。
次いで、所望の周辺装置(I10ユニット)をアドレス
し、マイクロプロセッサの内部レジスフから選択された
I10ユニットへデータ・バイトを転送する為に、第2
のマイクロプロセッサ命令サイクルが使用される。
データを反対方向に転送する場合、この順序は逆にされ
る。
即ち、マイクロプロセッサ11は所定のI10ユニット
からデータ・バイトをフェッチし、次いで次の命令サイ
クルでそのデータ・バイトを記憶ユニット22へ書込む
それぞれの周辺装置3〜6に対応する装置制御ユニット
17〜20は、データを記憶ユニット22へ送る(又は
そこから受取る)準備がととのった時点をマイクロプロ
セッサ11へ知らせる。
この通知動作はPICユニット14へ送られる割込み要
求信号によって達成される。
そのような割込み要求の各々について、PICユニッ1
−14はバス16を介してマイクロプロセッサ11へ割
込み要求を送る。
PICユニット14は優先順位解決手段を含む。
この解決手段は、複数の要求が受取られた時、これら要
求をマイクロプロセッサ11へ通す順序を決定するよう
に動作する。
マイクロプロセッサ11は、その110デーク転送活動
を実行する外に、通常ホスト・プロセッサ1で実行され
るプログラミング機能の成るものをオフロードするため
にも使用することができる。
例えば、マイクロプロセラ→力11は、通常ホスト・プ
ロセッサ1でなされるナンバ・クランチング(numb
er crunching)の成るものを実行するこ
とができる。
この方法としては、若干のものがある。
典型的な方法はホスト・プロセッサ1をして適当なナン
バ・クランチング・ブロク゛ラム・ルーチンを記憶ユニ
ット22へ転送せしめることである。
記憶ユニット22へ転送されたルーチンは、後にホスト
・プロセッサ1からフランチされるべき数を受取り、ナ
ンバ・クランチングを実行し、次いでその結果をホスト
・プロセッサ1へ戻すため、マイクロプロセッサ11に
よって必要とされる命令の全てを含む。
プログラム・ルーチンが転送された後、ホスト・プロセ
ッサ1がフランチされるべき1組の数を有する時、それ
は常に特定のI10指令を介してこの事実をマイクロプ
ロセッサ11へ知らせ、その数を記憶ユニット22へ送
る。
その後時間が許せば、マイクロプロセッサ11は、前に
記憶ユニット22に記憶されたナンバ・クラン千ング・
プログラム命令の制御の下で、ナンバ・クランチングを
実行する。
ナンバ・クランチングを完了した後、マイクロプロセッ
サ11はその結果をホスト・プロセ゛ラサ1へ戻す。
典型的には、ナンバ・クランチング・プログラム、フラ
ンチされるべき数、及びフランチの結果は、DMA制御
ユニット13によって制御されるホスト・プロセッサ・
サイクル・スチール・モードによって、ホスト・プロセ
ッサ1と記憶ユニット22との間で転送される。
I10制御装置2のホスト・プロセッサ・オフロード能
力の興味ある点は、I10制御装置2ヘオフロードされ
る特定のホスト・プロセッサ機能が所望の場合に時々刻
々と変化されてよいことである。
かくて、例えば第1の時間中第1の形式のナンバ・クラ
ンチング動作がI10制御装置2ヘオフロードされ、後
に第2の時間中第2の異なった形式のナンバ・クランチ
ング機能が110制御装置2ヘオフロードされて、最初
のナンバ・クランチング機能と置換えられてよい。
かくて、所望ならば、I10制御装置2の使命は、ホス
ト・プロセッサ1によって時々刻々と変化させることが
できる。
〔第2図の110制御装置の説明〕 第2A図、第2B図、第2C図、第2D図を参照すると
、そこには第1図のI10制御装置2の構成が詳細に示
される。
第2C図のユニット33は第1図の初期接続割込み無雑
用制御装置30の1部の機能を含む。
即ち、第2C図のユニット33は、第1図の制御ユニッ
ト30の割込み兼サイクル・スチール初期接続機能だけ
を含む。
本実施例において、「ワード−1は2バイトヨリ成り、
「バイト」は8ビツトより成るものとする。
第2A図及び第2C図のバス8は2バイトのデータ・バ
ス34.2バイトのアドレス・バス35、複数線より成
る制御バス36より成る。
2バイト(1ワード)のデータ・バス34は16本の並
列データ・ビット線を含む。
これらの線は、2バイト・ホスト・プロセッサ・データ
・ワードの高順位バイトに対する第1の8ビツト・デー
タ・バス34aと、2バイト・データ・ワーードの低順
位バイトに対する第2の8ビツト・データ・バス34b
とに分れる。
同様に、アドレス・バス35は16本の並列アドレス・
ビット線より構成される。
これらの線は高順位アドレス・ビットに対する8ビツト
・アドレス・バス35aと、低順位アドレス・ビットに
対する8ビツト・アドレス・バス35bとに分れる。
制御バス36は約45本の並列制御線より成る。
これらの制御線及びその機能は米国特許第403864
2号に詳細に説明されている。
第2B図及び第2D図のマイクロプロセッサ■10バス
16は1バイトのデータ・バス37.2バイトのアドレ
ス・バス38、複数線より成る制御バス39より成る。
データ・バス37は8本の並列データ・ビット線を有す
る。
アドレス・バス38は16本の並列アドレス・ビット線
を有し、これらの線は、高順位アドレス・ビットに対す
る第1の8ビツト・アドレス・バス38aと、低順位ア
ドレス・ビットに対する第2の8ビツト・アドレス・バ
ス38bとに分けられる。
制御バス39は約25本の並列制御信号線を含む。
これらの線はマイクロプロセッサ11の制御端子の数に
対応する。
更に制御バス39は他の若干の制御線を含むが、これら
の線は他のユニットの制御端子に対応する。
これらの制御線についてはインテル8085Aマイクロ
プロセツサに関してインテル社から発行されている各種
のユーザーマニュアル及び技術書中に詳細に説明されて
いる。
第2A図に示されるように、記憶ユニット22は実際に
は多数のランダム・アクセス記憶ユニットよす成る。
その記憶ユニットの数はM対Nの比率に等しい。
ここでMはホスト・プロセッサ・データ・バス34の幅
を示し、Nはマイクロプロセッサ・データ・バス37の
幅を示し、MはNの複数である。
本実−流側において、Mは2バイトに等しく、Nは1バ
イトに等しく、M対Nの比率は2となる。
かくて、本実施例において、記憶ユニット22は2個の
別個のランダム・アクセス記憶ユニット22a及び22
bより成り、各記憶ユニットは1バイトの幅を有する。
記憶ユニツh 22 aは2バイト・データ・ワードの
高順位バイトを記憶するために使用され、かくてHPI
10チャネル・バス8の高バイト・データ・バス34a
へ接続されている。
記憶ユニツt−22bは2バイト・データ・ワードの低
順位バイトを記憶するために使用され、かくてチャネル
・バス8の低パイ1−・データ・バス34bへ接続され
ている。
記憶ユニット22a及び22bは新規なデータ・インタ
ーフェイス機構の1部である。
このイン;ターフェイス機構は、Mが2に等しくNが1
に等しい特定の場合に、Mバイト・データ・バスをNバ
イト・データ・バスへインターフェイスする。
かくて、もつと一般的に言えば、そのような別個の記憶
ユニットの数はMとNの比率に等しくされ・る。
かくて、例えばホスト・プロセッサが4バイトのデータ
・バスを有し、マイクロプロセッサが1バイトのデータ
・バスを有する場合、4個の別個の記憶ユニットが使用
される。
更に、もっと一般的に言えば、そのような記憶ユニット
の幅はN・に等しくされるべきである。
Nは2つのデータ・バスの狭い方の幅である。
更に、■10制御装置2は記憶ユニット22a及び22
bのために別個の選択的に動作可能なNバイト・データ
転送機構を含む。
本実施例において、このデータ転送機構は1バイト両方
向駆動器40及び41(第2A図)の形式をとる。
これら駆動器の各々は、例えばインテル8286.8ビ
ット並列両方向バス駆動器であってよい。
駆動器40の一方は8ビット記憶バス42を介して記憶
ユニット22aのデータ端子に接続され、駆動器40の
他方(■10端子)はデータ・バス37へ接続される。
同様に、駆動器41の一方は8ビツト記憶バス43を介
して記憶ユニッl−22bのデータ端子へ接続され、1
駆動器41の他方はデータ・バス37へ接続される。
駆動器40及び41の各々は2個の制御信号(端子)を
有する。
即ち、それらは方向制御信号(端子)Dと出力能動制御
信号(端子)OEである。
方向制御端子りがゼロ・レベルにあれば、データは右か
ら左へ流れることができ、Dがルベルにあれば、データ
は左から右へ流れることができる。
出力能動端子OEがゼロ・レベルにあれば、1駆動器の
全ての出力線は高インピーダンス出力状態にセットされ
、駆動器は無能化され、データはそこを通ることができ
ない。
OE端子がルベルにセットされると、駆動器は能動化さ
れ、そして方向制御端子りの2進レベルによって決定さ
れる方向へデータを通す条件へ置かれる。
以下の説明で分るように1.駆動器40及び41は、デ
ータを通す条件へ置かれる。
以下の説明で分るように1、駆動器40及び41は、デ
ータが記憶ユニット22a及び22bとデータ・バス3
7との間で転送されている時にのみ動作可能となる(能
動化される)。
更に、それらは交互に能動化され、データ・バス37と
記憶ユニット22a及び22bの交互の1個との間で連
続的にデータ・バイトを転送する。
換言すれば、最初にデータ・バイl−については、駆動
器40がオンにされ、駆動器41がオフにされ、このデ
ータ・バイI・は記憶ユニット22aへ(又はそこから
)転送されるようにされる。
次のデータ・バイトについては、1駆動器41がオンに
され、駆動器40がオフにされ、データ・バイトは記憶
ユニット221)から(又はそこへ)転送させられる。
このようにして、1時に1個のバイトのみがデータ・バ
ス37へ(又はそこから)転送される。
更に、I10制御装置2は選択的に動作可能なMバイト
・データ転送機構を含む。
この転送機構は記憶ユニット22a及び221)のデー
タ端子をMバイl−HPデータ・バスの1バイト・バス
へ接続するためのものである。
本実施例において、Mは2でNは1であり、よって記憶
ユニット22 a及び22bのデータ端子は2バイト・
チャネル・デ゛−り・バス34の1バイl−・テ゛−り
・バス34a及び34bのそれぞれへ接続される。
このデータ転送機構は16ビツト両方向1駆動器44及
び45.16ビツト(2バイト)データ・レジスフ46
、レジスタ制御ユニット47を含む。
駆動器44及び45の各々は、例えば2個のインテル8
2,86゜8ビット並列両方向1駆動器である。
図を簡明にするため、第2A図においては、2個の8ビ
ツト駆動器の各組は1個のブロックとして表わされてい
る。
接続の方法は、記憶ユニット22aが高バイト・データ
・バス34aへ接続され、記憶ユニット22bが低バイ
ト・データ・バス34bへ接続されるようになっている
これらの1駆動器44及び45は、方向制御端子〕、D
i、D3及び出力能動制御端子OE1、OE3を有する
この場合、方向制御端子りがゼロ・レベルである時、デ
ータ・フローの方向は左から右(データ・バス34から
記憶ユニット22a及び22bへ)である。
さしあたり、方向制御信号及び出力能動制御信号は記憶
制御論理ユニット48から得られるものと仮定する。
その発生の方法は後に論理ユニット48の詳細を説明す
る時に説明する。
データ・レジスタ46は、例えば1対のインチ。
ル8282.8ビツト入出力ポート・ユニットである。
そのようなユニットの各々は8個のバイポーラ・ラッチ
を含み、各ラッチは3状態出力バツフアを有する。
ラッチをロードするためにはストローブ信号STBが使
用され、出力バッファを能動化するためには出力能動信
号OE2が使用される。
ラッチ出力バッファは、能動化されていない時、レジス
タ出力端子に高出力インピーダンスを与える。
本実施例において、データ・レジスタ46の入力端子は
、その出力端子が接続されている同じデータ線へ接続さ
れる。
かくて、個々のビット入力端子は、実際には対応する個
々のビット出力端子へ接続されている。
これまでの説明から分るように、ストローブ信号及び出
力能動信号の双方が同時にルベルになる場合がある。
これはラッチ出力バッファが、ラッチがロードされつつ
ある時に、能動化されることを意味する。
これは許される条件であり、ラッチ又は出力バッファの
いずれに対しても害とならない。
更に、駆動器45は駆動器40及び41のいずれかが能
動化されるのと同じ時間に能動化されることは決してな
い。
かくて、記憶ユニット22a及び22bのデータ端子は
データ・バス34及びデータ・バス37のいずれかへ接
続されることができるが、同時に双方のデータ・バスへ
は接続されない。
駆動器45は記憶ユニット22a及び22bの双方から
(又は双方へ)同時にデータを転送するように働く。
これは駆動器40及び41によって実行される交互の1
バイト転送と対照的である。
データ・レジスタ46の目的は、■10制御置がデータ
・ワードの転送を望んでいる時、ホスト・プロセッサ1
がそのデータ・ワードを受取る準備がととのっていない
場合に(逆の場合にも)、2バイト・データ・ワードを
一時的に記憶することである。
例えば、■10制御装置2が記憶ユニット22a及び2
2bからデータ・ワードを続出すことができても、ホス
ト・プロセッサ1がそれを受取る準備をととのえていな
ければ、そのようなデータ・ワードは一時的にデータ・
レジスタ46に保持される。
その後、ホスト・プロセッサ1が準備完了となった時、
駆動器44が能動化されて、データ・レジスタ46中に
保持されているデータ・ワードがデータ・バス34上に
置かれる。
他方、ホスト・プロセッサ1がI10制御装置2と同じ
時間に準備を完了していれば、駆動器44及び45の双
方は同時に能動化され、データ・ワードは直接にデータ
・バス34へ通される。
この場合、データ・レジスタ46の存在は意味がない。
データ・ワードが反対方向、即ちデータ・バス34から
記憶ユニット22a及び22bへ転送されている時にも
同様に考えられる。
もし記憶ユニット22a及び22bが準備を完了してい
なければ、データ・ワードは一時的にデータ・レジスタ
46中に保持され、記憶ユニット22a及び22bが準
備完了になるまで駆動器45は能動化されなG)。
かくて、データ・レジスタ46の使用は、ホスト・プロ
セッサ1とI10制御装置2との間のタイミング差を考
慮に入れたものである。
アドレシングに関連した各種の機構を説明する前に、チ
ャネル・バス8上に異なった時間に現われる各種の項目
を考察しておくことが理解の手助けとなる。
これらの項目は第3図乃至第7図に示される。
具体的には、これらの図面はIBMシリーズ/ ]、
I 10チヤネル・バスに必要なアーキテクチャ−上の
要件に従ってチャネル・バス8を使用する場合を示した
ものである。
第3図は即値装置制御ブロック(IDCB)のレイアウ
トを示す。
ホスト・プロセッサ1は、それが110指令をI10制
御装置2へ送りたい場合に、上記IDCBをバス8上に
置く。
IDCBは4バイト制御ブロツクである。
その第1バイト(バイト0)は8ビツトのI10指令で
あり、第2バイト(バイト1)は8ビツトの装置アドレ
スであり、第3及び第4バイト(バイト2及び3)は1
6ビツトの直接プログラム制N(DPC)データ・ワー
ド又はサイクル・スチール装置制御ブロック(DCB)
開始アドレスである。
I10指令(バイ1−0)は高バイト・アドレス・バス
35aへ送り出され、装置アドレスは低バイト・アドレ
ス・バス35bへ送り出される。
DPCテ゛−り・ワード又はサイクル・スチールDCB
開始アドレスの高及び低順位バイトは高バイト・データ
・バス34a及び低バイト・データ・バス34bのそれ
ぞれへ送り出される。
高順位バイトはIDCBバイト2(ビット16〜23)
であり、低頭位バイトはIDCBバイト3(ビット24
〜31)である。
4個のIDCBバイトの全ては同時に送り出される。
第7図は種々のI10指令についてI10動作の意味及
び分類を示す。
I10指令のビット1は読出し形(R)の動作が書込み
形Wの動作かを区別するために使用される。
読出し動作は、データその他の情報がI10ユニットか
らホスト・プロセッサへ転送されるものであり、書込み
動作は、データその他の情報がホスト・プロセッサから
I10ユニットへ転送されるものである。
I10動作を分類する他の方法は、それが直接プログラ
ム制御(DPC)動作であるかサイクル・スチール動作
であるかによる。
まずDPC動作の場合を考えると、各々のDPC読出し
形指令はデータ又は状況情報の2バイト・ワードをI1
0制御装置2からホスト・プロセッサ1へ転送せしめる
各々のDPC書込み形指令はデータ又は制御情報の2バ
イト・ワードをホスト・プロセッサ1から■/′0制御
装置2へ転送せしめる。
DPCデーデーワード(IDCBビット16〜31)は
データ・バス34を介して転送され、記憶ユニット22
a及び22bへ記憶され、又はそこから転送される。
高順位バイト(バイト2又はビット16〜23)は記憶
ユニット22aへ記憶され(又はそこから読出され)、
低順位バイト(バイト3又はビット24〜31)は記憶
ユニット22bへ記憶される(又はそこから読出される
)。
この形式のデータ転送はrDPC,jと呼ばれる。
何故ならば、各データ・ワードの転送はホスト・プロセ
ッサ・プログラムの直接制御の下にあり、ホスト・プロ
セッサは転送される各ワードのために別個のI10指令
を出さなければならないからである。
前述した如く、ホスト・プロセッサ主記憶装置7への(
又はそこからの)データの実際のサイクル・スチールは
I10制御装置2によって制御される。
しかし、そのようなサイクル・スチール動作を始める前
に、ホスト・プロセツツサ1は110制御装置2ヘサイ
クル・スチール開始指令を送る必要がある。
サイクル・スチール開始指令のためのIDCBのバイト
2及び3(ビット16〜31)は、8ワードの装置制御
ブロック(DCB)の第1ワード(ワード0)が記憶さ
れている主記憶装置7のアドレスを含む。
この8ワード装置制御ブロツクの典型的フォーマットは
第4図に示される。
この装置制御ブロックの主記憶装置開始アドレス(ワー
ドOアドレス)は、データ・バス34を介して転送され
、記憶ユニット22a及び22bに記憶される。
その後、この主記憶装置開始アドレスはI10制御装置
2によって使用される。
それは第4図に示される装置制御ブロック(DCB)の
8ワードを主記憶装置7からサイクル・スチールするた
めである。
そのようなりCBワードは記憶ユニット22a及び22
bへ転送され記憶される。
その後、マイクロプロセッサ11はこれらDCBワード
の成るものに含まれる情報を使用し、所望のデータ転送
サイクル・スチール動作のためにDMA制御ユニット1
3を適当な開始条件へ設定する。
その後、主記憶装置7への(又はそこからの)データ・
ワードのサイクル・スチールは、DMA制御ユニット1
3によって制御される。
これらデータ・ワードの個々の転送に関するバス8の使
用態様は第5図に示されるとおりである。
主記憶装置データ・アドレスはI10制御装置2からホ
スト・プロセッサ1ヘアドレス・バス35を介して転送
され、転送されるべきデータ・ワードはデータ・バス3
4を介して転送される。
主記憶装置アドレスは主記憶装置7内のアドレスであっ
て、そこへ(又はそこから)データ・ワードが転送され
る。
データ・バス34を介して転送されるデータ・ワードの
他の形式は、第6図に示される割込み1Dワードである
この割込み1DワードはI10制御装置2からホスト・
プロセッサ1へ送られるが、それはI10制御装置2中
で生じた条件又は事象をホスト・プロセッサ1へ知らせ
、又はし勺制御装置2がサービスを必要とすること、更
に正確には装置アドレスによって指定されたI10ユニ
ットがサービスを必要とすることをホスト・プロセッサ
1へ知らせるためである。
割込み情報バイl−(I IB)は必要なサービスの形
式を指定する。
適当な割込み1Dワードはマイクロプロセッサ11によ
って記憶ユニット22a及び22bにセットされ、その
後記憶ユニット22a及び22bからデータ・バス34
を介してホスト・プロセッサ1へ転送される。
第2A図に示されるように、アドレス・デコーダ23は
8ビツト・アドレス比較器50を含む。
比較器50の入力端子の1つは両方向駆動器51゜を介
して低バイト・アドレス・バス35bへ接続される。
それはII)C,E3の装置アドレス・バイトを受取る
ためである。
比較器50の他の入力端子はアドレス・ジャンパ52へ
接続される。
それは予め設定された装置アドレスを与えるためである
この装置アドレスはI10制御装置2へ付加された周辺
装置(110ユニツト)へ割当てられている。
低バイト・アドレス・バス35b上に現ワレる装置アド
レスがジャンパ52によって与えられる装置アドレスの
1つと一致すれば、アドレス比。
較器50は出力線53上に[制御装置選択]信号を発生
する。
この時、もしホスト・プロセッサ1が制御バス36のア
ドレス・ゲート線上にアドレス・ゲート信号を送り出し
ていれば(これは有効なIDCBがバス8上に存在して
いる時に起る)、AND回路54はその出力線24上に
アドレス・ゲート捕捉信号を発生する。
このアドレス・ゲート捕捉信号は駆動器を通して制御バ
ス36のアドレス・ゲート・リターン線上にアドレス・
ゲート・リターン信号を発生する。
これは装置アドレスが正しく検出されたこと、且つI1
0制御装置2がIDCBデータ転送へ進行する準備がで
きたことをホスト・プロセッサ1へ知らせる。
両方向7駆動器51は、例えば2個のインテル8286
.8ビット並列両方向駆動ユニットから構成される。
図を簡単にするため、それは第2A図において単一ブロ
ックとして示される。
これら8ビツト駆動ユニツトの1個は高バイトーアドノ
ス・バス35aを内部病バイト・アドレス・バス56へ
接続し、他の1個は低バイト・アドレス・バス35bを
内部像バイト・アドレス・バス57へ接続する。
駆動器51の方向は、方向制御信号(端子)Dがゼロ・
Iノベルにある時、駆動器51はデー′夕を左から右へ
(換言すれば、バス35から内部バス56及び57へ)
転送するようにセットされる。
1駆動器51の出力能動制御信号(端子)OE(図示さ
れず)は、電源へ永久的に接続され、駆動器51の出力
が常に能動化されるようになっている。
従って、方向制御信号は通常ゼロ・レバルにあって左か
ら右へのデータ転送を可能にしているから、アドレス比
較器50はほとんど連続的に低バイト・アドレス・バス
35bを監視することができる。
監視することができない唯一の場合は、主記憶装置アド
レスがサイクル・ス千−ル・アドレス・レジスタ27に
よってホスト・プロセッサ1へ送られつつある時である
主記憶装置アドレスが転送される間、サイクル・スチー
ル・サービス・ゲート(C8/SG)捕捉信号が存在し
て、方向制御端子りをルベルに置き、上記信号が存在し
ている限り、データ転送の方向が右から左になるように
される。
サイクル・スチール・アドレス・レジスタ27は16ビ
ツト・レジスタであり、例えば1対のインテル8282
.8ビツト入出力ポート・ユニットから構成されてよい
ホスト・プロセッサ1へ送られるべき主記憶装置アドレ
スは、MPアドレス・バス38a及び38bを介してD
MA制御ユニット13から得られ、上記アドレスはAN
D回路58から与えられる出力信号によってアドレス・
レジスタ27ヘストローブされる。
このストローブ(STB)信号は、AND回路58がM
P制御バス39のMEMW(メモリ書込み)線から与え
られるMEMW信号とDMA制御ユニット13から与え
られるDACKO信号とを受取った時に発生される。
これらの信号については、後に詳細に説明する。
アドレス・レジスタ27のための能動信号は、駆動器5
1について説明したサービス・ゲート捕捉信号と同じも
のである。
もし必要ならば、アドレス・ジャンパ52によって与え
られる装置アドレスは、8ビツト駆動器59を介してM
Pデータ・バス37へ与えられることができる。
具体的には、マイクロプロセッサ11はアドレス・ジャ
ンパからのアドレスを低バイト記憶ユニツt−22bへ
転送し、第6図に示される割込みIDワードの装置アド
レスとすることができる。
第2A図の線24上にアドレス・ゲート捕捉信号が現わ
れると、いくつかの事象が生じる。
まず、それは装置選択デコーダ60を能動化し、内部低
バイト・アドレス・バス57上に現われる装置アドレス
を解読させ、且つその装置アドレスに対応する装置選択
線26の1本を能動化させる。
例えば、アドレス・バス57の装置アドレスが周辺装置
(■10ユニット)Aに対するものであれば、装置A選
択線が付勢される。
前述した如く、装置選択線26はPIC(プログラム可
能割込み制(社)ユニット14(第2D図)へ接続され
る。
装置A〜Dを選択する装置選択線の各々はPICユニッ
トのそれぞれの割込み要求入力へ接続される。
装置選択線の1本が能動化されると、それはPICユニ
ット14をしてMP制御バス39を介してマイクロプロ
セッサ11へ割込み要求信号を送らせる。
マイクロプロセッサ11によって割込み要求が承認され
た後(制御バス39の他の線上の割込み承認信号によっ
て)、PICユニツロ4はマイクロプロセッサ11ヘコ
ール(CALL)命令を送る。
このCALL命令はマイクロプロセッサ11を適当なサ
ービス・ルーチンへプラン−f−させ、110指令が指
向されているI10ユニツ1−のため(こそのI10+
旨令を処理させる。
I10制御装置2へ取付けられたI10ユニットの各々
のために、制御プログラム記憶ユニット12(第213
図)の中には別個の処理サービス・ルーチンが記憶され
る。
ここで注意すべきは、第2図の110制御装置は第1図
に示されるDTCユニット14の外に第2のI)ICユ
ニット61を吏用することである。
PICユニット61はPICユニット14と階段状に接
続され、2倍の割込み要求を処理することのできる1個
の割込み制御ユニットを構成している。
2個のPICユニットが階段状になった場合の動作はイ
ンテル社の技術文献中に十分に記載されており、ここで
重ねて説明しない。
アドレス・ゲート捕捉信号が線24上に現われたことに
よって生じる第2の事象は、内部アドレス・バス56上
に現われたI10指令が指令レジスタ・ファイル25へ
記憶されることである。
指令レジスタ・ファイル25は、例えば2個のテキサス
・インスツルメンツ形SN74LS 670.4×4レ
ジスク・ファイルから構成される。
これらのレジスタ・ファイルはテキサス・インスツルメ
ンツ社によって製造され市販されている。
2個の4ビツト幅レジスク・ファイルは協動して8ビツ
ト(1バイト)幅を有する単一のレジスタ・ファイルと
して動作し、4個の1バイト・ロケーションが別個にア
ドレス可能である。
換言すれば、レジスタ・ファイル25は4個のアト1/
ス可能な1バイト・レジスタのスタックとして動作する
レジスタ・ファイル25の構成は、バイト・ロケーショ
ンの1つへ書込むと同時に他のバイト・ロケーションか
ら読出すことができるように構成されている。
線24上のアドレス・ゲート捕捉信号はレジスタ・ファ
イル25の書込み能動端子へ印加され、低バイト・アド
レス・バス57上の2個の低順位アドレス・ビットがレ
ジスタ・ファイル25の書込み選択(書込みアドレシン
グ)端子へ印加される。
本実施例において、I10制御装置2へ取付けられた4
個の周辺装置は4つの連続した装置アドレスを割当てら
れる。
この場合、バス5γ上に現われる2個の低順位装置アド
レス・ビットは4つのI10装置アドレスを識別するの
に十分である。
かくて、レジスタ・ファイル25にある1バイ1へ・ロ
ケーションの各々は、■10制御装置2へ取付けられた
それぞれの周辺装置へ割当てられる。
ここではバス57上にある2個の低順位アドレス・ビッ
トは周辺装置に対して次の関係を有するものとする。
即ち、00は周辺装置Aに対応し、01は周辺装置Bに
対応し、10は周辺装置Cに対応し、11は周辺装置り
に対応する。
バス56上に現われるI10指令は、それが指向されて
いる周辺装置(装置アドレス)に従って、レジスタ・フ
ァイル25中のロケーションに記憶される。
かくて、周辺装置AのためのI10指令はOOロケーシ
ョンに記憶され、周辺装置Bのための指令は010ケー
シヨンに記憶される。
以下同様である。
マイクロプロセッサ11はレジスタ・ファイル25から
のI10指令の読出しを制御する。
具体的には、マイクロプロセッサ11はメモリ読出しく
メモリからの移動(命令を実行する。
その命令において、マイクロプロセッサ11がアドレス
・バス38上に置いたアドレスはチップ選択(CS)5
信号を発生するようなものであり、アドレス・バス38
上にある2個の低順位アドレス・ビットは、レジスタ・
ファイル25中の所望のバイトを選択するようなもので
ある。
C85信号はレジスタ・ファイル25の読出し能動端子
へ与えられ、2個の最低順位アドレス・ビットはレジス
タ・ファイル25の読出し選択端子へ与えられる。
これは所望のI10指令を読出させ、このI10指Gは
バス62及びMPデータ・バス37を介してマイクロプ
ロセッサ11へ転送される。
更に、I10制御装置2はアドレス選択器63ヲ含む。
アドレス選択器63はMPアドレス・バス38又はHP
アドレス・バス35から記憶ユニット22a及び22b
のアドレス回路ヘアドレス・ビットを選択的に転送する
かくて、記憶ユニット22a及び22bはホスト・プロ
セッサ1又ババス16へ接続されたアドレス発生ユニッ
ト01個によってアドレスされることができる。
本実施例の場合、マイクロプロセッサ11及びDMA制
御ユニット13の各々は、記憶ユニット22a及び22
bをアドレスするために、バス16へアドレスを与える
ことができる。
このマイクロプロセッサ・バス・アドレシングはバス6
4及び65によって示される。
これらバスの各々はMPアドレス・バス38a及び38
bをアドレス選択器63の1組の入力端子へ接続する。
アドレス選択器63の第2組の入力端子は内部アドレス
・バス56及び57へ接続される。
これらのアドレス・バスはそれぞれHPアドレス・バス
35a及び35bへ接続される。
記憶制御論理ユニット48から与えられる制御信号の制
御の下で、アドレス選択器63は上記2組のアドレス入
力のいずれが記憶ユニット22a及び22bのアドレス
端子へ与えられるべきかを選択する。
共通のアドレス・バス66で示されるように、アドレス
選択器63の出力端子に現われるアドレス値は、常に記
憶ユニット22a及び22bの双方へ与えられる。
アドレス選択過程の詳細は、後に第13図を参照して説
明する。
アドレス選択器63は、例えば4個のテキサス・インス
ツルメンツ形5N74LS257A2ライン・1ライン
・データ選択ユニットより構成される。
これらのユニットはテキサス・インスッルメンツ社から
市販されており、4本の出力線のために2−1選択を処
理することができる。
従って4個のそのようなユニットは、16本の出力線の
ために2−1選択を処理することができる。
これら16本の出力線の成るものは記憶ユニッ) 22
a及び22bをアドレスするために使用されず、接続さ
れないままに残される。
ここで、記憶制御論理ユニット48によって発生され且
つ線67を介してアドレス選択器63へ与えられるHP
接続許容信号は、アドレス・ゲート捕捉信号に応答して
発生されその信号に対応するものであると理解されない
これは現時点での説明としては、大体において正しく且
つ十分なものである。
線67上のHP接続許容信号が2進のルベルであれば、
それはアドレス選択器63を左方の入力端子ヘスイツチ
させ、HPアドレス・バス・ビットを記憶ユニット22
a及び22bへ与えさせる。
逆に、HP接続許容信号が線67上に存在していなけれ
ば、それは2進の0レベルであり、アドレス選択器63
は右方入力端子を選択するようにスイッチされ、MPア
ドレス・バス・ビットが記憶ユニット22a及び22b
へ接続される。
これまでの説明から分るように、線24上にアドレス・
ゲート捕捉信号が現われると、それは3つの主たる事象
を生じさせる。
第1に、それは装置選択デコーダ60を能動化して、P
ICユニット14へ独特の装置表示信号を与えさせる。
第2に、それはI10指令をレジスタ・ファイル25中
に記憶させる。
第3に、それはホスト・プロセッサによって引出された
アドレスを記1意ユニット22a及び22bへ与えさせ
る。
これは、駆動器44及び45及びデータ・レジスタ46
へ与えられる制御信号とあいまって、IDCBのデータ
・ワード部分をHPデデー・バス34から記憶ユニット
22a及び22bへ(又はその逆へ)転送せしめる。
かくて、即値装置制御ブロック(IDCB)の4個のバ
イトの全ては、それらがホスト・プロセッサ1によって
バス8上に置かれた時点で、■10制御装置2によって
取入れられる。
更に、このIBCBバイトの取入れはマイクロプロセッ
サ11に対して透明である。
マイクロプロセッサ11は、後にそれがPCIユニット
14から割込み要求を受取り且つ受入れる場合を除いて
、上記の事象が生じたことを知らない。
即値装置制御ブロック(IDCB)がホスト・プロセッ
サ1によって与えられた時、■10制御装置2は常にそ
のIDCBを受入れることができるという事実は、I1
0制御装置2が決してホスト・プロセッサ1へ「■10
制御装置ビジィ、」信号を送る必要はないということを
意味する。
もちろん、これはホスト・プロセッサ側でも損失時間が
生じるのを防止する。
更に、I10制御装置2はチップ選択デコーダ68を含
む。
チップ選択デコーダ68は、アドレス・バス38a上の
高順位アドレス・ビットに応答して、それは解読して各
種のチップ選択信号C8O、C81、C82”−・C8
nを発生する。
これらのチップ選択信号は、■10制御装置2中の異な
ったユニットを選択又は能動化するために使用される。
かくて、例えばチップ選択信号30は制御プログラム記
憶ユニット12を選択するために使用され、チップ選択
信号C81はAND回路69を介して駆動器41を能動
化するために使用され、チップ選択信号C82はAND
回路70を介して駆動器40を能動化するために使用さ
れる。
更に、C81及びC82信号は記憶ユニット22a及び
22bの異なった1つを選択するために使用される。
これは記憶制御論理ユニット48を介して達成される。
C83チツプ選択信号は、論理ユニット48を介して、
記憶ユニット22a及び22bの双方を同時に選択する
ために使用される。
この同時的選択は、DMA制御ユニット13によって制
御されるサイクル・ス千−ル動作の間、HPデデー・バ
ス34と記憶ユニット22 a及び22bとの間でデー
タ・ワードを転送するためになされる。
かくて、C83チツプ選択信号を発生するために、アド
レスをチップ選択デコーダ68へ与えるのはDMA制御
ユニット13である。
第2D図を参照すると、バス16へ取付けることのでき
る4個の周辺装置(■10ユニッ1へ)の例が示される
最初の周辺装置はキーボード兼CRTディスプレー71
であり、それに関連して直列通信インターフェイス72
が設けられる。
第の周辺装置はキーボード兼CRTディスプレー73で
あり、それに関連して直列通信インターフェイス74が
設けられる。
第3の周辺装置はワイヤ・マトリクス・プリンタ75で
あり、それに関連してプリンタ制御ユニット76が設け
られる。
第4の周辺装置はフロッピーディスク77であり、それ
に関連してフロッピーディスク制御ユニット78が設け
られる。
直列通信インターフェイス72及び74は、例えばイン
テル825 ]、 Aプログラム可能通信インターフェ
イス・ユニットである。
これは汎用の同期/非同期送受信装置(USART)で
あり、現在インテル社によって製造され且つ市販されて
いる。
プリンタ制御ユニット76は例えばインテル8048又
はインテル8049マイクロプロセツサである。
フロッピーディスク制御ユニット78は、例えばインテ
ル8271−プログラム可能フロッピーディスク制御装
置である。
これまで挙げた形式の周辺装置及び装置制御ユニットは
例示的なものである。
多様な形式の周辺装置が利用可能であり、それらをバス
16へ取付けることかできる。
〔第2図のI10制御装置の動作〕 第2図のI10制御装置2の典型的データ転送動作を考
えるに当って、最初にI10ユニットから受取られた連
続的データ・バイトは高バイト記憶ユニット22a及び
低バイト記憶ユニット22bに交互に記憶されることに
注意されたい。
データが■10ユニットからホスト・プロセッサ1へ転
送される場合を考えると、110ユニツ1〜は例えばキ
ーボード兼CRTディスプレー71であり、データ・ビ
ットはユニット71から直列通信インターフェイス(直
並列変換回路/並直列変換回路)72へ逐次に転送され
る。
データの第1バイトがインターフェイス72中でアセン
ブルされた後、それはMPデータ・バス37を介してマ
イクロプロセッサ11へ転送され、次いでマイクロプロ
セッサ11からデータ・バス37及び駆動器40を介し
て高バイト記憶ユニット22aへ転送される。
データの第2バイトがインターフェイス72によってア
センブルされた後、それはMPデータ・バス37を介し
てマイクロプロセッサ11へ転送され、次いでMPデー
タ・バス37及び駆動器41を介して低バイト記憶ユニ
ット22bへ転送される。
以後の連続したバイトは同じようにして高バイト記憶ユ
ニット22a及び低バイト記憶ユニット22bへ交互に
記憶される。
即ち第3、第5、第7・・・・・・・・・のバイトは高
バイト記憶ユニット22aに記憶され第4、第6、第8
・・・・・・・・・のバイトは低バイト記憶ユニット2
2b中に記憶される。
問題のT10ユニツトについて所望量のデータが記憶ユ
ニツ)22a及び22bに集積された後に、そのデータ
はホスト・プロセッサ1へ転送される。
データがホスト・プロセッサ1へ転送される時、それは
1時に2バイト(又は1ワード)ずつ転送される。
換言すれば、高順位バイトが記憶ユニツ)22aから読
出されるのは、低順位バイトが記憶ユニット22bから
読出されるのと同時であり、双方のバイトは、駆動器4
5及び44及びHPデータ・バス34を介してホスト・
プロセッサ1へ同時に転送される。
中間ステップとして、2バイト・データ・ワードは16
ビツト・データ・レジスタ46中に一時的に記憶されて
よい。
この中間ステップ(これはホスト・プロセッサが十分に
早く応答する場合には実行されない。
)は、制御ユニット・タイミングとホスト・インターフ
ェイス初期接続タイミングとの調整を可能にする。
データが反応方向へ(即ち、ホスト・プロセッサからT
10ユニツトへ)転送されている時、反対の現象が起る
各々の2バイト・データ・ワードがHPデータ・バス3
4を介してI10制御装置2へ送られ、高順位バイトは
記憶ユニット22aに記憶され、低順位バイトは記憶ユ
ニット22bに記憶される。
続いて転送されるデータ・バイトは高バイト記憶ユニッ
ト22a及び低バイト記憶ユニツl−22bから交互に
取られる。
別個の高バイト及び低バイト記憶ユニット22a及び2
2bを設けることは、バイトからワードへ(又はワード
からバイトへ)の自動的形式化を可能とする。
これはI10制御装置2に組込まれた新規な発明思想で
ある。
第2図の実施例において、T10ユニツトと記憶ユニツ
)22a及び22bとの間のデータ転送はマイクロプロ
セッサ11によって制御される。
T10ユニツトがデータ・バイトの転送の準備をととの
えた時、それはPICユニット61へ割込み要求(IR
O〜6)を与える。
次いで、PICユニット61は割込み要求をマイクロプ
ロセッサ11へ送り、上記割込み要求はマイクロプロセ
ッサ11をして記憶ユニット22から110ユニツトへ
(又はその逆へ)データ・バイトを転送する命令ルーチ
ンを実行させる。
マイクロプロセッサ11へ入る割込み線はMP制御バス
39中の制御線の1本である。
第2図の実施例において、データは通常ホスト・プロセ
ッサ1と記憶ユニット22a及び22bとの間をサイク
ル・スチール・モードで転送される。
これらのサイクル・スチール動作はDMA制御ユニット
13及びホス)DMA要求論理ユニット28によって制
御される。
DMA制御ユニット13の内部構成は第10図を参照し
て後に説明される。
DMA制御ユニット13は4個の別個のアドレス・カウ
ンタを含み、これらのカウンタは通常4個の異なったT
10ユニツトのためにDMA動作を実行する際に使用さ
れる。
しかし、本実施例のI10制御装置2においては、この
DMA制御ユニット13は普通のようには使用されない
即ち、DMAアドレス・カウンタの1個はホスト・プロ
セッサ主記憶装置アドレスを追跡するために使用され、
DMAアドレス・カウンタの他の1個は記憶ユニツ)2
2a及び22bのアドレスを追跡するために使用される
特定のDMA要求線(DRQO〜1)が能動化されると
、DMA制御ユニット13は対応するアドレス・カウン
タ・アドレスをMPア゛ドレス・バス38へ置<。
モジ2本以上のDRQ線が同時にアクチブになると、D
MA制御ユニット13内の優先順位解決手段が1時に1
つの要求を適当な順序で選択しそれを処理する。
所与のデータ・ワード転送について、ホストDMA要求
論理ユニット28はまずDRQO線を能動化する。
これは、DMA制御ユニット13をして、このデータ・
ワード転送のために使用されるべきホスト・プロセッサ
主記憶装置アドレスをMPアドレス・バス38上に置か
せる。
次いで、このアドレスはサイクル・スチール・アドレス
・レジスタ27の中ヘストロープされ、次いでそれは駆
動器51を介してHPアドレス・バス35に置かれる。
主記憶装置アドレスがサイクル・スチ−ル・アドレス・
レジスタ21の中ヘストロープされた後の適当な時点に
、DRQ’f要求線がDMA制御ユニット13によって
能動化もしくは認識され、DMA制御ユニット13は記
憶ユニット22a及び22bの記憶アドレスをMPアド
レス・バス38上に置く。
次いで、このアドレスはアドレス選択器63を介して記
憶ユニット22a及び22bへ転送される。
このアドレスは、データ・ワードが転送されるべき記憶
装置22のアドレスである。
上記のDRQO/DRQIシーケンスは、転送されるべ
き各データ・ワードについて反復される。
これら転送のために使用されつつある2個のDMAアド
レス・カウンタは、各データ・ワード転送の後に増進さ
れる。
更に、ホストDMA要求論理ユニット28はサイクル・
スチール要求の発生を開始する。
これらのサイクル・スチール要求はホスト・プロセッサ
1へ送られる。
そのような要求の各々は、DRQO信号の前縁がDMA
制御ユニット13へ送られた後に直ちに開始される。
〔第8図のマイクロプロセッサの説明〕 第8図は第2図のマイクロプロセッサ11の内部構成の
例を詳細に示す。
第8図に示されるマイクロプロセッサはインテル808
5A単一チツブ8ビツト・マイクロプロセッサぞある。
第8図に示される略語のうち、RDは「読出し」、WR
は「書込み」、ALEは[アドレス・ラッチ能動IHL
D Aは「保留承認」を意味する。
SO及びSI線はデータ・バス状況線であり、IO/M
線は読出し/書込みが「メモリ読出し/書込み」である
か、「■10読出し/書込み」であるかを示す。
INTAは「割込み承認」を意味する。3個のR8T入
力は「割込みリスフート」入力の意味である。
第9図はマイクロプロセッサ11の典型的命令サイクル
について如何なる事象が生じるかを示すタイミング図で
ある。
第9図に示される特定の命令サイクルはアウト(OUT
)命令に関するものである。
このOUT命令はマイクロプロセッサ・アキュームレー
タ・レジスタの内容をMPデ゛−タ・バス37上に置き
、それをMPアドレス・バス38七のアドレスで指定さ
れたI10ポートへ転送させる。
実際には、「I10ポート」の語は不正確である。
何故ならば、アキュームレータ・レジスタの内容は、マ
イクロプロセンサ・バスへ接続され且つMPアドレス・
バス38上に現わレル特定の[ポート1アドレスに応答
し又は選択される翻意の構成要素又は装置へ転送され得
るからである。
8085Aマイクロプロセツサの特徴は、低順位アドレ
ス・ビット(ビットO〜7)が、8085Aのデータ・
バス出力上で時間多重化されることである。
第8図及び第2B図に示されるようにこれら低順位アド
レス・ビットはマイクロプロセッサのアドレス・ラッチ
能動(ALE)出力パルスによって8ビツト・ランチ8
0へ即時にラッチされる。
ラッチ80はM’Pアドレス・バス38bを駆動させる
第2B図に示されるIO/Mデコーダ81はマイクロプ
ロセツザRD1WR,IO/M出力信号を次のような普
通の信号に変換する。
即ち、それらの信号はMEMR,MEMW、IOR,I
OWであり、これらはこの順序でそれぞれ「メモリ読出
し」、「メモリ書込み11rI10読出し」、「■10
書込み」を意味する。
IO/Mデコーダ81によって発生されたこれら4つの
信号は、MP制御バス39の4本の別個の制御線上に与
えられる。
これらの信号はI10制御装置2の他の各種のユニット
によって発生される。
更に、DMA制御ユニット13もこれら4本の制御線へ
接続され、MEMRlMEMW、IOR,IOW信号を
発生することができる。
マイクロプロセッサ11のレディ′朋御端子153は注
目に値する。
それは、マイクロプロセッサ11を「待ち」状態に置く
ため、外部回路を能動化する手段を与える。
具体的に説明すれば、マイクロプロセッサ11は、外部
のレディ信号の不存在に応答してマイクロプロセッサ1
1を[待ち1状態に置く内部回路を含む。
レディ信号が再び現イつれる時、マイクロプロセッサ1
1はあたかも何事も起らなかったかの如くその動作を再
開する。
〔第10図のDMA制御ユニットの説明〕第10図は第
2図の直接メモリ・アクセス(DMA)制御ユニツI〜
13の内部構成の例を詳細に示す。
第10図に示されるDMA制御ユニットはインテル82
57単−チツブ4チヤネル・プログラム可能DMA制御
装置である。
第10図に示される略語の意味は次のとおりである。
略 語 意 味 IORI10読出し IOW I10書込み C8チップ選択 HRQ 保留要求 HLDA 保留承認 MEMRメモリ読出し MEMW メモリ書込み AEN アドレス能動 ADSTB アドレス・ストローブ TC端子カウント DRQ DMA要求 DACK DMA承認 DMA制御ユニット13は4個の別個のチャネル(すな
わち、チャネルO〜3)を含む。
これらのチャネルは通常4個の異なったI10ユニット
のためDMA動作を実行するために使用される。
各チャネルはそれ自体のアドレス・カウンタとバイト・
カウンタを含む。
かくて、チャネルOはアドレス・カウンタ82とバイト
・カウンタ83とを含み、チャネル1はアドレス・カウ
ンタ84とバイト・カウンタ85とを含み、チャネル2
はアドレス・カウンタ86とバイト・カウンタ87とを
含み、チャネル3はアドレス・カウンタ88とバイト・
カウンタ89とを含む。
各アドレス・カウンタの目的は、特定のI10ユニット
のために、記憶ユニットをアドレスするのに必要なアド
レスを与えることである。
これらのアドレスは、問題のI10ユニットからデータ
を受取る(又はその、I10ユニットへデータを与える
)べき記憶ロケーションのアドレスである。
各バイト・カウンタの目的は、その特定のI10ユニッ
トのため多バイト・ブロックのデータが転送される場合
に、転送されるべく残っているバイト数を与えることで
ある。
I10ユニットのために各バイトが転送された後、関連
するDMAアドレス・カウンタは増進され、バイト・カ
ウンタは減少される。
更に、I)MA制御ユニット13は、2本以上のDMA
要求(DRQ)入力線が同時にアクチブになる場合を処
理するため、優先順位解決手段を含む。
この場合、優先順位解決手段90は、1時に1つの要求
を適当な順序で選択し且つ処理する。
後に詳細に説明するように、DMA制御ユニット13は
循環優先順位モードで動作される。
この循環優先順位モードにおいて、チャネルの優先順位
は循環シーケンスを有する。
各々のDMAチャネルがサービスされた後、各チャネル
の優先順位は変化する。
サニビスされたばかりのチャネルは最低順位を与えられ
る。
第11図は2つの連続した典型的DMAサイクルについ
て、各種のDMA信号波形を示すタイミング図である。
DMA制御ユニット13は、アクチブでない時は遊び状
態(SI)にある。
DMA制御ユニット13は、マイクロプロセッサ11に
よってなされる場合と同じようにして、そのデータ・バ
ス出力から得られたアドレス・ビットの成るものを時間
多重化する。
しかしDMA制御ユニット13の場合、多重化されるの
は高順位アドレス・ビット(8〜15)である。
第2B図に示されるように、これらの高順位アドレス・
ビットは、1)MA制御ユニット13によって発生され
るアドレス・ストローブ(ADSTB)によって、1組
の(8個の)ラッチ回路91へ直ちにラッチされる。
注意すべき他の点は、DMA制御ユニット13がアクチ
ブである時、マイクロプロセッサ11の動作は、それを
「保留」状態におくことによって一時停止されることで
ある。
更に具体的には、DMA制御ユニット13がDMA要求
(DRQ)を受取った後、暫くしてそれはMP制御バス
39の「保留1線を介してマイクロプロセッサ11の[
保留、]端子へ[保留要求j(HRQ)を送る。
マイクロプロセッサ11が「保留」状態に入り且つその
状態にとどまる限り、それはDMA制御ユニット13へ
保留承認(HLDA)信号を与える。
このHLDA期間の間、マイクロプロセッサ11のデー
タ及びアドレス出力は3状態(又は高インピーダンス条
件)に置かれ、MPデータ・バス37及びMPアドレス
・バス38は影響を受けない。
更に、マイクロプロセッサ・アドレス・ラッチ80及び
10/Mデコーダ81はアドレス能動(AEN)信号に
よって高インピーダンス条件におかれる。
かくて、HLD八期開期間、DMA制御ユニット13は
MPアドレス・バス38上にアドレスを置くことができ
、これらアドレスに応答する装置又は構成要素は、マイ
クロプロセッサからの干渉を受けることなく、MPデー
タ・バス37上にデータを置くことかできる。
MPデータ・バス37上にデータを置くこと、及びそこ
からデータを読出すことは、DMA制御ユニット13に
よって発生される読出しパルス及び書込みパルスによっ
て制御される。
DMA制御制御ユニー1〜13するレディ入力制御M1
53は、マイクロプロセッサ11がそのレディ入力制御
線によって与えられるのと同じ機能をDMA制御ユニッ
ト13へ与える。
具体的にはレディ信号が存在している時(レディ線が2
進の。
ルベル)、DMA制御ユニット13はその通常の態様で
動作する。
他方、レディ信号が不在である時(レディ線が2進のO
レベル)、DMA制御ユニット13は「待ち」状態へ行
き、現在のDMAサイクルを完了する前にレディ信号が
再び現われるのを待機する。
典型的アプリケーションにおいて、ノットレディ機能は
、比較的遅い記憶ユニットの場合に、待ち状態を伴う記
憶装置の読出しサイクル及び書込みサイクルを延長する
ために使用される。
〔第12図の割込み兼サイクル・スチール初期接続ユニ
ットの説明〕 ここで第12A図及び第12B図を参照すると、そこに
は第2C図の割込み兼サイクル・スチール初期接続ユニ
ット33の内部構成が詳細に示され。
る。
このユニットは、2つの異なった場合にホスト・プロセ
ッサ1との初期接続信号シーケンスを処理する。
第1の場合は、I10制御装置2が、ホスト・プロセッ
サ主記憶装置7へ(又はそこから)データ・ワードをサ
イクル・スチールするた。
めに、ホスト・プロセッサ1ヘサイクル・スチール要求
を与える場合である。
第2の場合は、■10制御装置がホスト・プロセッサ1
へ割込み要求を与えない場合である。
まず、サイクル・スチール要求の場合を考えると、サイ
クル・スチール要求信号は線31を介してホス1−DM
A要求論理ユニット28から受取られ、サイクル・スチ
ール要求ラッチ92をセラ1へする。
これはラッチ92の出力にサイクル・スチール要求信号
を発生し、この信号はAND回路93を介してI(P制
御バス36中のサイクル・スチール要求イン線へ転送さ
れる。
そのうちに、ホスト・プロセッサ1はこのサイクル・ス
チール要求を認識し、HP制御バス36のポールIDバ
ス94上に5ビツトのポールID信号を送り出し、且つ
制御バス・ポール線95上にポール信号を送り出す。
サイクル・スチール要求に応答するために独特のポール
ID信号か使用される。
ポールID信号はサイクル・スチール・ポール・デコー
ダ96によって解読される。
次いでデコーダ96は出力信号を発生し、この出力信号
はサイクル・スチール比較ラッチ97をセットする。
これはラッチ97の出力にルベル出力を発生し、この出
力はOR回路98を介してAND回路99の第1人力へ
与えられる。
AND回路99の第2人力はOR回路100を介してポ
ール信号を受取る。
AND回路99の2つの入力に、これら2つの信号が存
在すると、それはポール・リターン・ラッチ101をセ
ットする。
これはAND回路102を介してホスト・プロセッサ1
ヘボール・リターン信号を与える。
ポール・リターン信号はホスト・プロセッサ1へI10
制御装置が進行準備をととのえたことを知らせる。
ポール・リターン・ラッチ101のセット条件、及びO
R回路100の出力にポール信号が存在すること、及び
サイクル・スチール比較ラッチ97のセット条件は、A
ND回路103aを介してサイクル・スチール・ポール
捕捉ランチ103をセットする。
ホスト・プロセッサ1は、それがポール・リターン信号
を受取りデータ・ワード転送を実行する準備をととのえ
た時、HP制御バス36のサービ゛ス・ゲ゛−ト線10
4」二(こサービ゛ス・ゲ゛−ト信号を送り出す。
このサービス・ゲート信号は、ラッチ103のセット条
件と一緒になって、AND回路106を介してサイクル
・スチール・サービス・ゲート(C8/SG)捕捉ラッ
チ105をセラhする。
これはラッチ出力線32上にCS、/S cr捕捉信号
を発生させる。
この信号は丁10制御装置2における各種ユニットの動
作を制御するために使用される。
線32上のサービス・ゲート捕捉信号はNTO回路10
7を介するサービス・ゲート信号の後縁によって終了さ
せられる。
サービス・ゲ゛−ト捕捉ラッチ105の出力は、AND
回路108の第1人力へ与えられる。
AND回路108の第2人力はラッチ109によって制
御される。
ラッチ回路109はDACKO及びMEMW信号によっ
てAND回路110を介してセットされる。
これらの信号は主記憶袈裟アドレスカー’)−イクル・
スチール・アドレス・レジスタ27ヘストローブされる
時に生じる。
(第2A図)。
換言すれば、それらの信号はホスト・プロセッサ主記憶
装置アドレスがホスト・プロセッサ1へ送られる準備が
完了した時に生じる。
ラッチ109のセット条件、及びAND回路108の第
1人力にあるC8/SG捕捉信号の存在は、サービス・
ゲート・リターン信号を発生し、この信号は、OR回路
111を介して、HP制御バス36中のサービス・ゲー
ト・リターン線へ与えられる。
このサービス・ゲート・リターン信号は、全ての事象が
スケジュールどおりに進行中であることをホスト・プロ
セッサ1へ知らせる。
ホスト・ブロセ゛ンサ1(ま、」二言己す−ビ゛ス・ゲ
゛−ト・リターン信号を受取った後に、HP制御バス3
6中のHPデデー・ストローブ線112−ヒにテ゛−タ
・ストローブ信号を送り出す。
このデータ・ストローブ信号は駆動器113を介して線
114へ転送され、■10制御装置2の他のユニットで
上記信号を利用することを可能にする。
例えば、このデータ・ストローブ信号は、第2A図の2
バイト・データ・レジスタ46ヘデータをストローブす
る制御信号として使用される。
ここで第12図の割込み部分を考察する。
マイクロプロセッサ11はI10ポート形OUT命令を
実行することによって割込み要求を開始し、適当なアド
レス・バス及びデータ・バスの値はAND回路115を
能動化し、それによってAND回路115は割込み要求
ラッチ116をセットする。
換言すれば、マイクロプロセッサ11によって発生され
たアドレスはC88信号を発生する。
MPデータ・バス上のデータ値は、データ・ビット2が
1の値を有するようなものである。
説明を続ける前に、IBMシリーズ/1形プロセッサが
割込み動作を処理する態様を簡単に考察しておくことが
必要である。
具体的には、IBMシリーズ/1形プロセッサは、それ
に取付られた各種I10ユニットの各々が、いくつかの
可能な優先順位レベルの1つを割当てられるような優先
順位形削込みシステムを使用する。
このような構成では、割込みを与えるI10ユニットは
その割込みを成る優先順位レベル割込み線上に与えなけ
ればならない。
これは、■10ユニットによって使用されるべき優先順
位レベル値を、前もってそのI10ユニットヘロードし
ておくことによって達成される。
第12A図において、この優先順位レベル値は優先順位
レベル・レジスタ117ヘロードされる。
これは所謂[準備1指令をI10制御装置2へ出すこと
によって達成される。
この指令はデコーダ118によって検出され、その時A
ND回路119の他の入力で受取られつつあるアドレス
・ゲート捕捉信号と共にAND回路119を能動化する
AND回路119の出力は、その時HPデータ・バス3
4上に現イっれつつある所望の優先順位レベルヲ優先順
位レベル・レジスフ11フヘストローブするために使用
される。
レジスフ11フ中の優先順位レベル値は、複数の出力線
を有するデコーダ120を駆動し、レジスタ117によ
って与えられた優先順位レベル値に従って、出力線の1
、本のみが能動化される。
デコーダ120の複数出力線はAND回路121を介し
てHP HIJ御バス36中の割込み要求イン線へ接続
される。
レジスタ171に存在する優先順位レベル値に対応する
特定の割込み要求イン線のみが、デコーダ120によっ
て能動化される。
割込み要求がホスト・プロセッサ1へ与えられる実際の
時間は、割込み要求ランチ116によって制御される。
ラッチ116がセット条件にある時、それはAND回路
122を介してAND回路121へルベル信号を与える
これは割込み要求をホスト・プロセッサ1へ与える。
そのうちに、ホスト・プロセッサ1は割込み要求を認識
し、それに応答してHP制御線94上にポールID信号
を送出し、HP制御線95上にポール信号を送出する。
バス94上に送出された値は、このI10制御装置によ
って使用されつつある割込みレベルの値である。
この値は、割込みポール比較器123において、優先順
位レベル・レジスフ11フ中の優先順位レベル値と比較
される。
もし優先順位レベル値と一致すれば、割込みポール比較
器123はルベル出力を発生する。
この出力はAND回路124を介して割込み比較ラッチ
125をセットするように与えられる。
これは割込み要求ラッチ116のルベル出力によって示
されるように、有効な割込み要求が係属中であることを
条件とする。
割込み比較ラッチ125がセットされていると仮定する
と、これはHP制御線95上のポール信号によってポー
ル・リターン・ランチ101を能動化せしめる。
ラッチ101のセットはポール・リターン信号を発生し
、この信号はホスト・プロセッサ1へ戻される。
割込み比較ラッチ125のセット条件は、AND回路1
26を介して割込みポール捕捉ラッチ127をセットす
るために与えられる。
この時、ANl)回路126への他の人力は2進のルベ
ルにあるものとする。
ホスト・プロセッサ1は、ポール・リターン信号に応答
して、HP制御練104上にサービス・ゲート信号を送
出する。
これはAND回路128へ第2の入力を与える。
A、 N D回路128は割込みポール捕捉ラッチ12
7のセット条件と一緒になって、割込みサービス・ゲー
ト捕捉ラッチ129をセットする。
これは線130上に割込みサービス・ゲート捕捉信号を
発生する。
この信号は110制御装置2の中にある他のユニットに
よって使用される。
割込みサービス・ゲート捕捉ラッチ129は、NOT回
路131を通る線104上のサービ。
ス・ゲート信号の後縁によってリセットされる。
更に、割込みサービス・ゲート捕捉ラッチ129の出力
はAND回路132へ与えられる。
この時、AND回路132の他の入力は、HP接続許容
信号によって能動化されているものと仮定する。
。(HP接続許容信号については、後に詳細に説明す
る。
)AND回路132の出力に生じた2進のルベルは、O
R回路111を介して、I(P制御バス36中のサービ
ス・ゲ゛−ト・リターン線上に信号を与える。
このサービス・ゲート・リターン信号は、全ての事象が
スケジュールどおりに進行していることをホスト・プロ
セッサ1へ知らせる。
上記の割込み兼サイクル・スチール初期接続ユニット3
3は、特にホスト・プロセッサ1がIBMシリーズ/1
プロセッサである場合のために構成されている。
しかし、注意すべきことは、本発明はIBMシリーズ/
1形プロセッサに限定されず、他の形式のプロセッサと
共に実施してよいことである。
他の形式のプロセッサが使用される場合、割込み兼サイ
クル・スチール初期接続ユニット33は、そのプロセッ
サの特徴に基づいて変更されてよい。
上記の説明で注目すべきは、2種類のサービス、ゲート
捕捉信号が発生されることである。
1つはホスト・プロセッサ1との間でデ゛−り・ワード
をサイクル・スチールするために発生され、他の1つは
110制御装置2がホスト・プロセッサ1へ割込みたい
時に発生される。
〔第13A図及び第13B図の記憶制御論理ユニット4
8の説明] ここで第13A図及び第13B図を参照すると、そこに
は第2A図の記憶制御論理ユニツl〜48の内部構成が
詳細に示される。
ユニット48は記憶ユニット22a及び22bの制御論
理装置である。
ユニット48の第1の部分は[アドレス選択論理回路1
の部分である。
この部分は回路構成要素の番号135〜142によって
表わされる。
これらの構成要素はアドレス選択器63を制御する。
フリツプフ「コツプ138の出力がゼ゛口・レベルにあ
る時、アドレス選択器63はMPアドレス・バス38を
アドレス線66へ接続する。
この線は高バイト及び低バイトの記憶ユニツ1〜22a
及び22bへ接続されている。
アドレス選択器63の出力に現われる同一のアドレスが
、常に記憶ユニット22a及び22bの各々へ与えられ
る。
回路構成要素135〜142の目的は、ホスト・プロセ
ッサDPC(直接プログラム制御)動作、II)CB転
送動作、及び110制御装置によって開始された割込み
要求動作のために、記憶ユニット22a及び22I〕を
交互にアドレスされることである。
ユニット48の第2の部分は回路構成要素の番号143
〜147によって表わされる。
これらの構成要素は記憶ユニット22a及び22bへ接
続される「選択1線及び「書込み一1線を制御する。
記憶ユニットがデータを読出し又は書込まれるためには
、その「選択」線がアクチブになっていなければならな
い。
この時点で、第14図に示されるメモリ・アドレス領域
マツプを考察しておくことが理解を助ける。
これは16ビツトのMPアドレス・バス38によってア
ドレスされることのできる全体のアドレス領域の下半分
(0〜32K)のマツプである。
第14図から分るように、アドレス傾城の第2の8K(
16進数の2000〜3FFF)は低バイト記憶ユニツ
t−22bのために使用され、第3の8K(1,6進数
の4000〜5FFF)は高バイト記憶ユニット22a
のために使用される。
第14図の左方に示されるように、16ビツトのMPア
ドレス・バス38の3個の高順位ビット6マ、チップ選
択のために使用される。
これら3個の高順位MPアドレス・ビットはアドレス選
択器63へ与えられず、第2B図のチップ選択デコーダ
68へ与えられる。
デコーダ68はチップ選択信号C81、C82、・・・
・・・、C8nを発生し、これら信号は第13A図の回
路構成要素143〜145によって表わされる2ポ一ト
記憶ユニツト選択論理回路へ与えられる。
かくて、MPアドレス・バス38上のアドレスが200
0〜3FFF領域にあれば、チップ選択信号C81はア
クチブとなり、OR回路143を介して低バイト記憶ユ
ニット22bを選択する。
MPアドレス・バス38上のアドレスが4000〜5F
FFの領域にあれば、チップ選択信号C82がアクチブ
となり、OR回路144を介して高バイト記憶ユニット
22aを選択する。
アドレスが6000〜7FFFの領域にあれば、チップ
選択信号C83がアクチブとなり、ORゲート145及
び143,144を介して高バイト記憶ユニット22a
及び低バイト記憶ユニット22bの双方を選択する。
これは2バイト・データ・ワードの読出し又は書込みを
可能にする。
第14図において、6000〜7FFFの領域にあるア
ドレスはチップ選択のためにのみ使用される。
このアドレス領域については、別個の物理記憶ユニット
は設けられていない。
サイクル・スチール動作のためには、OR回路146を
介するMEMW(メモリ書込み)信号によって、記憶ユ
ニット「書込み」線が制御される。
MEMW信号はDME制御ユニット13(第2B図)か
らMP制御バス39を介して得られる。
もし記憶ユニット「書込み一1線がアクチブでなければ
、記憶ユニット「選択1信号の発生は記憶ユニットの読
出し動作を実行させる。
即ち、「書込み信号がオフであれば、アドレスされた記
憶ユニット・ロケーションの内容は、「選択−1信号が
発生すると記憶ユニット・データ・バス42.43上に
置かれる。
第14図で更に注意すべきことは、記憶ユニット22a
及び22bの32個の最低順位バイト・ロケーションは
、ホスト・プロセッサ■10指令(IDCB)転送動作
のために確保され、そのためにのみ使用されることであ
る。
第15図はこれら32個の最低順位バイト・ロケーショ
ンの記憶マツプの拡大図である。
第15図のマツプは記憶ユニット22a及び22bの双
方に適用される。
DPC(直接プログラム制御)動作の意味は第3図及び
第7図に示される。
DPC読出し指令は2バイト・ワードのデータ又は状況
情報をI10制御装置2からホスト・プロセッサ1へ転
送せしめる。
DPC書込み動作は、■ワードのデータ又は制御情報を
ホスト・プロセッサ1からI10制御装置2へ転送せし
める。
第3図のDPCデータ・ワード(IDCBビット16〜
31)は、HPデデー・バス34を介して転送される。
このDPCデーデーワードは記憶ユニット22a及び2
2bへ記憶される(又はそこから読出される)。
即ち、高順位バイト(バイト2又はビット16〜23)
は高バイト記憶ユニツ)22aへ記憶され(又はそこか
ら読出され)、低順位バイト(バイト3又はビット24
〜31)は低バイト記憶ユニット22bへ記憶される(
又はそこから読出される)。
この種のデータ転送はrDPclと呼ばれる。
何故ならば、各データ・ワードの転送はホスト・プロセ
ッサ・プログラムの直接制御の下にあり、ホスト・プロ
セッサは転送される各ワードのために別個のI10指令
を出さねばならないからである。
ホスト・プロセッサI10指令がI10制御装置2によ
って受取られ且つ受入れられた時、第13A図のフリッ
プ・フロップ138の出力がオンにされる。
それはAND回路141の「HP選択」出力を能動化す
るためである。
これはアドレス選択器63を切替えて、示されたHPア
ドレス・バス・ビットをアドレス選択器63の5本の最
低順位出力線へ接続せしめ、アドレス選択器入力の残り
ものを148で示されるように接地させる。
これはI10指令に伴なうデータ・ワードを、第15図
に示されるように記憶ユニット22a及び22bへ記憶
せしめる。
かくて、■10指令が周辺装置(■10ユニツ1−)A
のための[1書込み4指令であれば、関連するデータ・
ワードの2個のバイトが記憶ユニット22a及び22b
における;アドレス5の記憶ロケーションに記憶される
HPアドレス・ビット14及び15はそれがどのI10
ユニットであるかを限定し、第7図に示されるように、
HPアドレス・ビット1〜3は動作の形式を限定する。
第2A図に示されるように、ホスト・プロセッサI10
指令がI10制御装置2によって受入れられたことは、
アドレス比較器50に関連したAND回路54の出力に
アドレス・ゲート捕捉信号が生じたことによって示され
る。
第13A図を参照すると、このアドレス・ゲート捕捉信
号は線24及びOR,回路135を介してAND回路1
37へ与えられる。
これは、マイクロプロセッサ11から次に生じるA丁、
Eパルス、又はDMA制御ユニット13から次に生じる
アドレス・ストローブ(A、DSTB)パルスのいずれ
か早いものをして、フリップ・フロップ138をセット
せしめる。
これはフリップ・フロップ138の出力に接続された線
150上にrHP接続許容」信号を発生する。
この信号は、AND回路141を介して、アドレス選択
器63をrHP選択1状態へセットする。
更に、rHP接続許容」信号はOR回路145.143
.144を介して記憶ユニット22a及び22bを選択
するために使用される。
更に、r HP接続許容1信号はAND回路147、O
R回路146を介して記憶ユニット[書込み1線を能動
化するために使用される。
それはI10指令が「書込み」形の指令(I−I Pア
ドレス・ビット−1)であることを条件とする。
OR回路136におけるALE及びA−DSTBパルス
は、ホスト・プロセッサ1をして、I10指’e(I
DCB )データ・ワマドを記憶ユニット22a、22
bヘサイクル・スチールせしめる。
この点に関して、記憶ユニット22a、22bは実際上
マイクロプロセッサ11(及びDMA制御ユニット13
)に対して「主」記憶装置として働く。
この機構は、マイクロプロセッサ11(又はDMA制御
ユニツN3)によって実行されつつあるプログラムを中
断させることなく、I10指令のデータ・ワードをその
ような「主」記憶装置へサイクル・スチールぜしめる。
これが可能である理由は、フリップ・フロップ138の
出力がタイマ151及びNOT回路152を介してマイ
クロプロセッサ11及び1)MA制御ユニット13のレ
ディ入力へ接続されているからである。
その接続はMP制御バス39の線153を介して行なわ
れる。
具体的には、[HP接続許容1信号が1になると、NO
T回路152の出力はゼ゛口になり、かくてマイクロプ
ロセッサ11及びT)MA制御ユニット13からレディ
信号が除かれる。
これはマイクロプロセッサ11及びDMA制御ユニット
13の各々を「待ち」状態へ置く。
(実際には、マイクロプロセッサ及びDMA制御ユニッ
トの1つだけがアクチブであり、双方がアクチブになる
ことはない。
レディ信号の除去はこれら2つのユニットのアクチブな
もののみに影響を及ぼす。
)この[ノット・レディ1条件は、フリップ・フロップ
138がセット状態にある時間、及びタイマ151によ
って決定される追加時間だけ継続す゛る。
タイマ151はワン・ショット・マルチバイブレークの
性質を有する。
フリップ・フロップ138は、OR回路139及びNO
T回路140を通るアドレス・ゲート捕捉信号の後縁に
よってリセツ1〜される。
タイマ151によって与えられる追加時間は、アドレス
選択器63及び記憶ユニット22a及び22I〕のため
に使用される回路技術の種類に依存するが、典型的アプ
リケーションにおいては約2マイクロプロセツサ・クロ
ツサ・サイクルの持続時間に等しく選択される。
この追加時間は、アドレス選択器63がMPPアドレス
バス38ヘスイツチ・バックされた後、アドレス選択器
63及びその出力アドレス線66を安定させるために加
えられる。
NOT回路152の出力にレディ信号が再び現われる時
、前に動作していたマイクロプロセッサ又はDMA制御
ユニットの1個が動作を開始するが、その開始地点は動
作が一時停止されたところである。
2ポート記憶ユニツトの共用又は多重化アドレシングと
しては第3の態様が存在する。
これについて今から考察する。
これはI10制御装置からホスト・プロセッサへの割込
み要求動作に関係がある。
110制御装置2からの割込み要求がホスト・プロセッ
サ1によって認識され、ホスト・プロセッサ1が110
制御装置2と接続を達成した後に、ホスト・プロセッサ
1はサービス・ゲート信号を110制御装置2へ送る。
このサービス・ゲート信号の持続時間中、ホスト・プロ
セラ→す1はHPデデー・バス34上に現われているデ
ータ・ワードを取込み、このデータ・ワードが第6図に
示されるような割込みIDワードであったとする。
上記のサービス・デー1〜信号は割込みサービス・ゲー
ト信号と呼ばれる。
何故ならば、それはサイクル・スチール要求ではなく割
込み要求に応答して送り出されるからである。
割込みサービス・ゲート信号がI10制御装置2によっ
て受取られたことは、第2C図の割込み兼サイクル・ス
チール初期接続ユニット33から出る線130上の割込
みサービス・ゲート捕捉信号の発生によって示される。
この割込みサービス・ゲート捕捉信号は、次に生じるA
LE及びADSTBパルスの1つによってフリップ・フ
ロップ138をセットせしめる。
しかし、この場合、フリップ・フロップ138の出力は
、アドレス選択器63の[高インピーダンス出力1制御
線を能動化するためAND回路142を介して動作する
この制御線は、アドレス選択器63の出力の各々が3状
態(又は高インピーダンス条件)ヘセットされるように
する。
これは、記憶ユニット22a及び22bへ入るアドレス
線66の全てを、十■電源によって2進のルベルに置く
換言すれば、これは記憶装置アドレスを「1111・・
・・・・11]ヘセツトする。
これは、記憶ユニット・アドレス22a及び22bの各
々において、最上部バイト・ロケーションをアドレスす
る。
第14図を参照すると、最上部バイト・ロケーションは
第6図の割込みIDワードのために必要なデータを含ん
でいることが分る。
かくて、記憶ユニツ)22a及び22bの出力に適轟な
IDワードが現われ、これは割込みサービス・ゲート捕
捉信号がオンの間に、ホスト・プロセッサ1へ転送され
る。
このデータ(IIBバイト及び装置アドレス)は、ホス
ト・プロセッサ1へ割込み要求を出す前に、マイクロプ
ロセッサ11によって記憶ユニット・ロケーションへ前
もってロードされている。
これまでの説明から、2ポート記憶ユニット22a、2
2bをアドレスする方法として、3種の異なった方法が
あることが分る。
更に、これら3種の方法は相互に干渉を生じることなく
自動的。
に多重化される。
更に、第13A図は両方向駆動器44及び45を動作さ
せる論理回路を示す。
この論理回路は構成要素154〜160によって表わさ
れる。
駆動器44及び45は、それぞれ2つの制御入力、即ち
出力能動制御端子及び方向制御端子を有する。
出力能動制御端子を能動化すると、駆動器出力が能動化
され、駆動器入力に与えられつつある信号が出力に現わ
れる。
出力能動制御端子がイナクチブ又はオフにされると、1
駆動器出力は3状態又は高インピーダンス条件にセット
される。
方向制御端子がアクチブになると、それはデータが駆動
器を通る通常の方向を逆にする。
本実施例において、駆動器44及び45の通常の方向は
左から右である。
方向制御端子がアクチブになると、データは逆方向即ち
右から左へ通ることができる。
駆動器45に関して言えば、記憶ユニット22a及び2
2bの双方が同時に選択される時、出力能動端子OE3
が能動化される。
これはOR回路145の出力によって達成される。
方向端子D3が能動化されてデータを右から左へ移動さ
せるのは、AND回路160が「記憶ユニットからデー
タ・レジスタヘ−」の信号を与える時、又はAND回路
157がIDCR読出し信号を与える時である。
前者の信号はサイクル・スチール動作のために生じ、後
者の信号はI10指令転送動作のために生じる。
両方向駆動器44の出力能動端子OEIは、線32上に
CS/S G捕捉信号が生じる時、又はフリップ・フロ
ップ138の出力にHP接続許容信号が生じる時に能動
化される。
方向制御端子D1が能動化されるのは、[データ・レジ
スタからHPへ1信号がAND回路155によって発生
される時、又はIDCB読出し信号がAND回路157
によって発生される時に、データ駆動器44の右から左
へ移動させるためである。
(第16図のホストDMA要求論理ユニット28及びレ
ジスタ制御ユニット47の説明) 第16図を参照すると、そこには第2B図のホス1−D
MA要求論理ユニット28及び第2A図のレジスタ制御
ユニット47の詳細が示される。
レジスタ制御ユニット47は第16図の下部にダラシ線
で囲まれており、第16図の上部にはホストDMA要求
論理ユニット28が示される。
ホストDMA要求論理ユニット28はDMA制御ユニッ
ト13を制御し、DMA制御ユニット13は、データが
ホスト・プロセッサ1と記憶ユニット22a、22bと
の間をサイクル・スチール・モードで転送されるのを制
御する。
第10図に示されるDMA制御ユニットの詳細図を参照
する。
上記のサイクル・スチール転送動作はDMA制御ユニッ
ト13中のチャネル0及びチャネル1回路によって制御
される。
本実施例において、チヤネル2及びチャネル3は使用さ
れない。
チャネル0アドレス・カウンタ82はHPアドレス・バ
ス35へ送られるホスト・プロセッサ主記憶装置アドレ
スを与え、チャネル1アドレス・カウンタ84は記憶ユ
ニット22a、22bからHPデータ・バス34へ(又
はその反対方向へ)データを移動させるため、記憶ユニ
ット22a、22bへ与えられるアドレスを与える。
バイト・カウンタ83及び85は転送されるべく残って
いるワード数を追跡するために使用される。
カウンタ中の計数値がゼロになると、それは対応するチ
ャネルの動作を終了させる。
サイクル・スチール動作は、ホスト・プロセッサ1がサ
イクル・スチール開始指令を送ることによって開始され
る。
マイクロプロセッサ11は、それに応答してホスト・プ
ロセッサ1から第4図に示されるような8ワードの装置
制御ブロック(DCB)をフェッチする。
これらのDCBワードはサイクル・スチール・モードで
フェッチされ、記憶ユニット22a、22bの適当な部
分に記憶。
される。
DCBワードの転送が終ると、マイクロプロセッサ11
はDCB情報を使用して、主たるデータの転送動作を行
なわしめるために、DMA制御ユニット13を起動する
具体的には、それはアドレス・カウンタ82へDCBワ
ーワーに含。
まれる主記憶装置データ・アドレス(開始アドレス)を
ロードする。
記憶ユニット22 a 221)のための所望の開始
アドレスは、アドレス・カウンタ84にロードされる。
このパラメータは、問題となっている特定の装置につい
て、制御ユニッ。
トをセット・アップしてサイクル・スチール動作を行な
わせるため、制御プログラム記憶ユニット12(第2B
図)に含まれるサブルーチン中の命令から得られる。
バイト・カウンタ83及び85は同一の値をロードされ
る。
即ち、それはDCB。のワード6に含まれるバイト・カ
ウント値の半分である。
半分の値が使用される理由は、各データ・ワードが転送
された後にバイト・カウンタが1だけ減少されるのに反
し、データ・ワードの転送は2バイトずつ起るからであ
る。
もしD CBがバ。イト・カウントではなくワード・カ
ウントを含むように設定されるならば、バイト・カウン
タ83.85へ2分の1の値をロードする必要はない。
アドレス・カウンタ82についてもワードとバアドレス
・カウンタ82についてもワードとバイトとの同様な関
係がある。
このカウンタに含まれるアドレスは主記憶装置のバイト
・アドレスであり、それは各データ転送の後に1だけ増
加される。
同時に、各々の新しいサイクル・スチール転送のために
サイクル・スチール・アドレス・レジスタ27ヘロード
されるアドレスは、そのレジスタへ以前にロードされた
アドレスより2だけ高いカウントでなければならない。
何故ならば、各々のサイクル・スチール転送は2バイト
・データ・ワードを転送するからである。
この差は、サイクル・スチール・アドレス・レジスタ2
7への入力線を1ビット位置だけ左へずらすことによっ
て考慮されている。
即ち、それによってレジスタ27ヘロードされたアドレ
ス・ビットは1だけ左方ヘシフトされる結果となる。
バイト・カウンタ83及び85の各々に含まれる1対の
制御ビットは、DMA−制御ユニットが読出し動作を実
行すべきか書込み動作を実行すべきかをDMA制御ユニ
ットへ知らせるために最初にロードされる。
もしそれがI10制御装置からホスト・プロセッサへの
転送(読出し動作)であれば、バイト・カウンタ85中
の制御ビットがセットされ、DMA制御ユニットはチャ
ネルlDMAサイクルの間に、MEMR(メモリ読出し
)パルス及びそれに続<l0W(I10書込み)パルス
を発生する。
逆に、それがホスト・プロセッサから110制御装置へ
の転送(書込み動作)であれば、チャネルlDMAサイ
クルでIORパルス及びそれに続<MEMWパルスが発
生されるように制御ビットがロードされる。
考慮すべきもう1つの点は、DMA制御ユニット13中
のモード・レジスタには適当な制御ビットが最初にロー
ドされ、優先順位解決手段90は循環優先順位モードの
動作を可能にすることである。
この循環優先順位モードにおいて、DRQ入力線の優先
順位は循環シーケンスを有する。
各々のDMAサイクルの後に、各DRQ線の優先順位は
変化する。
サービスされたばかりのDRQ線は最低の優先順位ヘセ
ットされる。
その結果、例えばDRQO及びDRQlの双方がオンに
され且つオンになったままであれば、循環優先順位機構
はDRQO及びDRQlを交互にサービスさせる。
即ち、最初にDRQOがサービスされれば、次にDRQ
I、次にDRQOの順である。
DMA制御ユニット13が最初に設定された後、主たる
サイクル・スチール・データ転送動作の開始は、マイク
ロプロセッサ11及びホス1−DMA要求論理ユニット
28によって起動される。
具体的には、マイクロプロセッサ11はI10ポートO
UT命令を実行し、この命令は、MPデータ・バス3γ
上のデータ・ビットへ特別の値を与え、且つMPアドレ
ス・バス38上にアドレスを与える。
それによって、チップ選択信号C87がチップ選択デコ
ーダ68によって発生される。
第16図を参照とすると、MPデータ・ビット7はI1
0ポート・ランチ162をセットするのに必要な所望の
値を与えられる。
それは適当な入出力インディケーク値を表示するためで
ある。
MPデータ・ビット7はチップ選択信号C87によって
ランチ162ヘストロープされる。
ランチ162が1の値ヘセットされるのは、入力(■1
0制御装置からホスト・プロセッサへの)サイクル・ス
チール動作が実行されるべき時である。
他方、出力(ホスト・プロセッサからI10制御装置へ
の)サイクル・スチール動作が実行されるべきであれば
、ランチ162はゼロ値をロードされる。
更に、この同じマイクロプロセッサI10ポートOUT
命令はMPデータ・ビット6の線を[月の値へ置く。
このビットはC87信号と一緒にAND回路163へ印
加され、フリップ・フロップ164をセット条件に置く
これはサイクル・スチール動作を開始させる。
具体的には、フリップ・フロップ164のセットはサイ
クル・スチール要求開始線をオンにし、この線はOR回
路165を介してDMA制御ユニット13のDRQQ線
をオンにする。
まず、出力(ホスト・プロセッサからI10制御装置へ
の)サイクル・スチール動作(ランチ162が0に等し
い)の場合を考える。
DRQQ線がオンにされると、DMA制御ユニット13
はホスト・プロセッサ主記憶装置アドレスをMPアドレ
ス・バス38上に置く。
このアドレスは、DRQODMAサイクルのためにDM
A制御ユニット13によって発生されたDACKO及び
MEMWパルスによって、サイクル・スチール・アドレ
ス・レジスタ27(第2A図)ヘストロープされる。
(DACKはDMA承認の意味である。)更に、DRQ
Q線のルベルはAND回路166及びOR回路167を
介して線31上にサイクル・スチール要求信号を発生す
る。
この信号はサイクル・スチール要求ラッチ92(第12
図)をセットする。
ラッチ92はホスト・プロセッサ1ヘサイクル・スチー
ル要求イン信号を送る。
ここで注意すべきは、フリップ・フロップ164は、D
RQOサイクルの間に発生されたDACKO及びADS
TBパルスによってAND回路168によりリセットさ
れることである。
これはサイクル中の十分遅い時点で生じるので、DRQ
Q線がオフになってもDRQOサイクルの完了には何の
影響もない。
DMA制御ユニット13及びホス1−DMA要求論理ユ
ニット28は今や待ち状態に入り、ホスト・プロセッサ
1がサイクル・スチール要求を認識しそのCS/S G
捕捉信号を送出すること、転送されるべきデータ・ワー
ドがこのサービス・ゲート期間中にホスト・プロセッサ
1によってHPデータ・バス34上に置かれることを待
機する。
これが生じたことは、レジスタ制御ユニット47中に置
かれたANI)回路169の働きにより、ホストDMA
要求論理ユニット28によって認識される。
具体的には、サイクル・スチール・サービス・ゲート(
C8/SG)捕捉信号及びHPデデー・ストローブ信号
の発生は、AND回路169をしてルベル出力信号を発
生せしめる。
この信号はrHPからデータ・レジスタへ−1の転送信
号である。
この信号は、HPデータ・バスのデータをデータ・レジ
スタ46へストローブするために、OR回路170及び
5TB2線を介して与えられる。
更に、AND回路169から出力される[HPからデー
タ・レジスタへ1の転送信号は、OR回路171を介し
てフリップ・フロップ172をセットする。
これはフリップ・フロップ172のDRQ1出力線をオ
ンにする。
それはDMA制御ユニット13へDRQ1要求を行なう
ためである。
もしDMA制御ユニット13がDRQOサイクルを終了
していれば、I)RQ1要求が認識され、DRQ1サイ
クルが開始される。
])RQOサイクルが終了していなければ、DRQ1要
求はDRQQサイクルの終了まで未決にされ、DRQO
サイクルが終った時にI)RQIサイクルが開始される
DRQIサイクルの間、DMA制御ユニット13はMP
アドレス・バス38上に記憶ユニット22a 、22b
のためのアドレスを置く。
このアドレスの13個の低順位ビットはアドレス選択器
63によって記憶ユニツh 22 a + 22 bへ
通される。
その後型くして、DMA制御ユニット13から与えられ
たDACKI及びMEMW信号は、AND回路173の
出力に2進のルベルを発生する(第16図)。
この2進のルベルは「データ・レジスタから記憶ユニッ
トへ」の転送信号であり、OR回路174を介してデー
タ・レジスタ。
46のOE2入力端子へ与えられる。
それはデータ・レジスタ46の出力を能動化するためで
ある。
これはテ゛−り・レジスタ46中のデ゛−タ・ワー ド
を1駆動器45(第13A図)へ与え、そしてそこから
記憶ユニット22 a及び22bのデータ・バス人力へ
与える。
このDRQ1サイクル中にI)MA制御ユニット13に
よって与えられた記憶ユニット・アドレスは、チップ選
択デコーダ68(第2B図)によってC83チツプ選択
信号を発生する様な値である。
第13A図に示される様に、これは記憶ユニツ)22a
及び22bの双方に対する「選択」線を能動化せしめる
更に、このDRQIサイクル中に生じたMEMW信号は
、記憶ユニツh 22 a及び22bの「書込み−1制
御入力を能動化する。
かくて、データ・レジスタ46.1によって与えられ且
つ駆動器45によって通されたデータ・ワードは記憶ユ
ニツh 22 a及び22bへ書込まれる。
更に、DRQ1サイクル中に生じたDACK、1信号は
、AND回路175を介してフリップ・フ。
ロッゾ176をセットする。
フリップ・フロップ1γ6のセットは、DRQ要求線を
再びオンに戻す。
かくて、DRQ1ザイクルの終了後に他のDRQOサイ
クルが始まり、このようなT)RQO/DRQI動作が
繰り返されて、次のデータ・ワー。
ドのサイクル・スチール転送が生じる。
前述したごとく、それぞれの関連したDRQQおよびD
RQiサイクルの終り近くで、DMAアドレスカウンタ
82及び84(第10図)は1だけ増進され、DMAバ
イト・カウンタ83及び85(第10図)は1だけ減少
させる。
かくて、新しいホスト・プロセッサ及び2ボート記憶ユ
ニツトノ記憶アドレスが新しいr)RQO/DRQ1ザ
イクルのために力えられる。
これらのDRQO及びDR,Qllザクルは、バイト・
カウンタ83及び85のカウントがゼロになるまで交互
に反復される。
バイト・カウンタ83中のカウントがゼ゛口になると、
DMA制御ユニットは自動的にチャネル0動作を停止し
、それ以後のDRQOサイクルは実行されない。
同様に、バイト・カウンタ85がゼロになると、チャネ
ル1動作は停止し、それ以後のDRQiサイクルは生じ
ない。
これから、反対方向(即ち、■10制御装置2からホス
ト・プロセッサ1へ)に生じるサイクル・スチールを考
察する。
この場合、110ポート・ラッチ162が1へセットさ
れる。
DMA制御ユニット13がセット・アップされた後、サ
イクル・スチール・イン(IN)動作がフリップ・フロ
ップ164をセラ1へすることによって開始される。
これはD RQ O要求線をオンにする。
DRQO要求線の2進のルベルはAND回路177及び
OR回路171を介してフリップ・フロップ172をセ
ラhする。
これはD RQ 1要求線をオンにする。
DFtQ1要求線の2進のルベルは、AND回路17B
及びOR回路167を介して直ちにサイクル・スチール
要求線31をオンにするように働く。
この線はボス1〜・プロセッサ1へ升イクルスチール要
求を伝える。
DRQQ及びD R,Q 1要求線の双方がアクチブで
あるから、DMA制御ユニット13はまずD R,Q
O+j−イクルを実行し、それに続いて直ちにDRQ1
サイクルを実行する。
DRQQサイクルは、ホスト・プロセッサ主記憶装置ア
ドレスをDMAアドレス・カウンタ82からサイクル・
スチール・アドレス・レジスタ2γへ転送するように働
く。
DRQ7サイクルは、次のデータ・ワードを記憶ユニッ
ト22a及び22bから両方向1駆動器45を介してデ
ータ・レジスタ46へ転送するように働く。
具体的には、DRQ1ザイクル中に生じたDACKl及
びMEMR信号は、A N D回路179をしてルベル
出力を発生せしめる。
このルベル出力は「記・I意ユニットからデ゛−タ・レ
ジスタへ」の転送信号であり、OR回路170を介して
データ・レジスタ46のデータ・ストローブ入力5TB
2へ与えられる。
これはデータ・ワードをデータ・レジスタ46ヘス1ヘ
ローブする。
T)MA制御ユニット13及びホスt−DMA要求論理
ユニット28は今や待ち状態に入り、ホスト・プロセッ
サ1がサイクル・スチール要求に応答するのを待機する
(ホスト・プロセッサの応答が既に存在していれば、待
機は必要でない。
)ホスト・プロセッサのデータ転送条件への応答及びそ
の準備完了は、サイクル・スチール・サービス・ゲー1
−(C8/SG)捕捉信号が生じたことによって示され
る。
この捕捉信号はAND回路180の出力にルベル出力を
発生する。
このルベル出力は「データ・レジスタからHPへ」の転
送信号であり、OR回路174を介してデータ・レジス
タ46の出力能動入力端子OE2へ与えられる。
これは両方向駆動器44の「右から左へ」の転送能動条
件とあいまって、データ・ワードをHPデータ・バス3
4上に置く。
それはホスト・プロセッサ1へそのデータ・ワードを転
送するためである0 サイクル・スチール・サービス・ゲート(C8/SG)
捕捉信号の発生は、ホスト・プロセッサから与えられる
HPデータ・ストローブ信号とあいまって、AND回路
181からルベル出力をシ発生させる。
このルベル出力はAND回路182をしてルベル出力を
発生させ、このルベル出力はフリップ・フロップ183
をセットする。
これは再びDRQO要求線をオンに戻す。
D RQQ要求線は最初のDRQOサイクル中にフリッ
プ・シフロツプ164をAND回路168によってリセ
ットすることによりオフにされた。
DRQQ要求線のオンへの戻りは、前述したDRQO及
びDRQlサイクルの反復を生じ、よって次のデータ・
ワードがホスト・プロセッサ1へ転送される。
□これらDRQO/DRQIサイクルは、DMAバイト
・カウンタ83及び85中のカウントがゼ゛口になるま
で反復され、その後DMA動作は終了する。
そして新しいサイクル・スチール開始指令及び装置制御
ブロック(DCB)がホスト・プロセ、ツサ1によって
出されるまで、DMA動作は終了したままである。
これまで説明した実施例においては、DMA制御ユニッ
ト13はホスト・プロセッサ1と記憶ユニット22a
、22bとの間でデータ・ワードを・サイクル・スチー
ル転送する場合にのみ関係した。
このような実施例において、■10ユニット及び記憶ユ
ニツ)22a 、22bの間のデータ・バイトの転送は
、マイクロプロセッサ11によって処理される。
マイクロプロセッサ11によって処理される典型的動作
モードは、所与のI10ユニットから記憶ユニット22
a t 22 bへ1ブロツク又は1ページのデータ
を1時に1バイトずつ転送することである。
このタスクが終った後に、マイクロプロセッサ11はホ
スト・プロセッサ1へ「アテンション」割込み要求を生
じさせ、ホスト・プロセッサ1へ転送されるべく準備の
ととのった1ブロツクのデータが存在したことを知らせ
る。
その後、ホスト・プロセッサ1はI10制御装置2ヘサ
イクル・スチール開始指令を出す。
DCBフェッチ及びDMA制御ユニットのセット・アッ
プを終えた後、DMA制御ユニット13は記憶ユニット
22 a t 22 bからホスト・プロセッサ1ヘブ
ロツク又はページのデータをサイクル・スチール転送さ
せる。
逆方向で生じる典型的データ転送の場合(即ちホスト・
プロセッサ1から■10ユニットへ)、同様の手順が逆
方向でとられる。
この場合、ホスト・プロセッサ1から記憶ユニット22
a、22bへのサイクル・スチール転送は、記憶ユニッ
ト22 a 、22 bからI10ユニットへのバイト
ごとのデータ転送より前に起る。
〔第17図の変更実施例の説明〕 ここで、第17図を参照すると、そこにはI10ユニッ
トと2ポート記憶ユニツトとの間のデータ転送がDMA
制御ユニット13によって処理される変更実施例が示さ
れる。
この実施例は、I10ユニットから2ポート記憶ユニツ
トへの転送と2ポート記憶ユニツトからホスト・プロセ
ッサへの転送とを重複させ、逆に、ホスト、プロセッサ
から2ポート記憶ユニツトへの転送と2ポート記憶ユニ
ツトからI10ユニットへの転送とを重複させるために
使用することかでさる。
第17図において、■10ユニットから2ポート記憶ユ
ニツトへの転送(又はその逆)は、鳳制御ユニット13
のDRQ2及びDRQ3チャネルによって処理される。
DRQ2チャネルは高バイト記憶ユニット22aとの間
の転送を処理するために使用され、DRQ3チャネルは
低バイト記憶ユニツl−22bとの間の転送を処理する
ために使用される。
装置DMA要求論理ユニット185の目的は、連続する
装置DMA要求をDRQ2及びDRQ3チャネルへ交互
に印加させることである。
これは連続するデータ・バイトを高バイト記憶ユニット
22a及び低バイト記憶ユニツl−22bに交互に記憶
させるために必要である。
第10図の詳細なりMA制御ユニット13を参照すると
、チャネル2アドレス・カウンタ86は最初高バイト記
憶ユニット22a中の所望の開始アト1/スをロードさ
れる。
このアト)/スはチップ選択信号C82i発生するのに
適したアドレス範囲にある。
チャネル3アドレス・カウンタ88は最初低バイト記憶
ユニツl−22b中の適当な開始アドレスをロードされ
る。
このアドレスはチップ選択信号C8Iを発生するのに必
要なアドレス範囲にある。
適当なワード転送を後で行なうためには、アドレス・カ
ウンタ86,88の各々ヘロードされた開始アドレスは
、チップ選択に使用される3個の最高順位アドレス・ビ
ットを除いて同じてなけれはならない。
チャネル2及びチャネル3バイト・カウンタは、記憶ユ
ニット22a又は22bへ転送されるべきバイト数に対
応する適当な値を最初にロードされる。
前と同じように、DMA制御ユニット13のモード・レ
ジスタは優先順位解決手段90が循環優先順位モードで
動作するように七ノ1−される。
その結果、各DMAサイクルの後に、各チャネルの優先
順位は変更され、サービスされたはかりのチャネルは最
低擾光順位ヘセノトされる。
第17図を参照すると、周辺装置(■10ユニット)1
86がテーク・バイト転送の準備をととのえた時、装置
制御ユニット187はそのDMA要求線を土昇させる。
この線は装置DMA要求論理ユニツl−185へ入る。
装置DMA要求論理ユニツl−185は最初I10ボー
ト・ラッチ188によって能動化されている。
ラッチ188ば、周辺装置186のデータ転送がDMA
モードで実行されることが望まれる場合に、マイクロプ
ロセッサ11によって2進の1をロードされる。
逆に、ランチ188がゼロをロードされれば、データ転
送は前に説明したようにして実行される。
ランチ188が1をロードされると、フリップ・フロッ
プ189はリセットされる。
これはAND回路190へ走っているQ出力をオンにし
、AND回路191へ走っているQ出力をオフにする。
以上によって、装置DMA要求論理ユニット185の初
期設定が完了する。
要求論理ユニット185の初期設定が終った後、装置制
御ユニット187によって出される最初のDMA要求は
、AND回路190によってDMA制御ユニット13の
DRQ2へ通される。
DRQ2チャネルが使用される番になると、上記の事象
によって装置制御ユニット187から記憶ユニット22
aへ(又はその逆へ)、MPテーク・バス37を介して
データ・バイトが転送される。
具体的には、DRQ2サイクルの間に発生されたDAD
K2信号がOR回路192及び193を介して装置制御
ユニツl−187のチップ選択人力へ与えられる。
それによって、装置制御ユニット187はそのデータを
MPテーク・バス37へ置く。
同時に、OR回路192の出力に現われるDAC,に2
信号はフリップ・フロップ189を反対の状態(セット
状態)・\トグルするため使用される。
こればQ出力をオンにし、Q出力をオフにする。
その結果、装置制御ユニット187によって出された次
のDMA要求は、A、ND回路191を介してDMA制
御ユニット13のDRQ3人カへ与えられる。
DRQ3チャネルか使用される番になると、DMA制御
ユニット13は次のデータ・バイトを装置制御ユニツl
−187から低バイト記憶ユニット22bへ(又はその
逆へ)MPデータ・バス37を介して転送せしめる。
DRQ3サイクルの間に発生されたDACK3信−号は
、フリップ・フロップ189を反対の状態へ転換し、且
つ装置制御ユニットのチップ選択入力線を能動化する。
フリップ・フロップ189の交互の転換によって、連続
したDMA要求及びデータ・バイト転送はDMA制御ユ
ニット13のDRQ2及びDRQ3チャネルによって交
互に処理される。
これから第17図の実施例の典型的動作態様を考察する
例えは、データがI10ユニットからホスト・プロセッ
サへ転送されるものとする。
この例において、マイクロプロセッサ11は最初DMA
要求論理ユニット185を能動化するか、ホストDMA
要求論理ユニット28を能動化しなG)。
これにより、周辺装置186から2ポート記憶ユニツl
□ 22 a 、 22 bへ1ブロツク又は1ページ
のデータがDMA方式で転送される。
このブロック転送が終ると、マイクロプロセッサ11は
ホス1−DMA要求論理ユニット28及び装置DMA要
求論理ユニット185の双方を能動化する。
これは2ポート記憶ユニツト22aJ22bからホスト
・プロセッサ1へ最初のデータ・フ宅ツクをサイクル・
スチール転送せしめ、同時に第2のデータ・ブロックを
周辺装置186から2ポート記憶ユニツト22ar22
bへ転送せしめる。
DMA制御ユニット13では循環優先順位モードが使用
されるから、ホスト・プロセッサへのサイクル・スチー
ル転送は、概してI10ユニットから2ポート記憶ユニ
ツトへのDMA方式転送とインタリーブされる。
このシステムの利点は、1組の転送が次の組の転送を待
機する必要がないことである。
例えば、ホスト・プロセッサ1か他のタスクで忙しいな
らば、DRQO及びDRQI要求線はイナクチブとなる
それでも、DRQ2及びDRQ3要求線はデータを周辺
装置186から2ボート記憶ユニツト22a 、22b
へ転送し続ける。
逆δこ、所与の時間に周辺装置186が作動可能でなく
ても、DRQO及びDRQlチャネルはデータをホスト
・プロセッサ1ヘサイクル・スチール転送し続けること
ができる。
DRQO/DRQIテータ転送に関すデー10ユニット
は、DRQ2/DRQ3テータ転送に関するI10ユニ
ットと同じものでなくてもよい。
もし所望ならば、これら2組の転送は、同一時間。
中に2個の異なったI10ユニットに関してなされてよ
い。
〔第18図の複数周辺装置に関するDMA実施例の説明
〕 第18図は3個の異なった周辺装置(■10ユ。
ニット)に関して実行される2ボート記憶ユニット22
a、22bへのデータ転送がDMA制御ユニットによっ
て処理される実施例を示すものである。
周辺装置186は、第17図に関して前に説明したよう
にして、DMA制御ユニット13によ。
り処理される。
加えて、2個の他の周辺装置195及び196、及び対
応する装置制御ユニット197及び198は第2のDM
A制御ユニット200によって処理される。
第2のDMA制御ユニット200は第1のDMA制御ユ
ニット13と同じ構。
成のものであり、従って4チャネルDMA制御ユニット
である。
第2の装置DMA要求論理ユニット201は第2の周辺
装置195のためにDMA要求を処理し、第3の装置D
MA要求論理ユニット202は第3の周辺装置196の
ためにDMA要求を処理する。
装置DMA要求論理ユニット201及び202は装置D
MA要求論理ユニット185と同じ構成であり、且つ前
に説明したように論理ユニット185と同じように動作
する。
第18図の実施例の動作は、前に説明したところから自
明であるが、異なっている点として、DMA制御ユニッ
ト13及び200の双方が略同じ時間にマイクロプロセ
ッサ11へ「保留」要求信号(HRQI及びHRQ2)
を与える場合に生じる競合状態がある。
この競合状態はDMA競合論理ユニット203によって
解決される。
DMA競合論理ユニット203の1つの形態は第19図
に示される。
第19図を参照すると、DMA制御ユニット13及び2
00から生じるHRQI及びHRQ2信号は、それぞれ
第19図の対応する入力端子へ与えられる。
ここで注意すべきは、第18図に示されるように、上記
2つの信号はMP制御バス39の1部である「保留」要
求線へ接続されることである。
制御バス39はマイクロプロセッサ11へ接続されてお
り、上記の「保留」要求線への接続はOR回路204を
介してなされる。
第19図に示されるように、競合論理ユニット203は
マイクロプロセッサ11から保留承認信号HLDAを受
取る。
次に競合論理ユニット203は、2個のDMA制御ユニ
ット13及び200のうちいずれがこのHLDA信号を
受取るべきかを決定する。
HLDA信号を受取ったDMA制御ユニットはDMA動
作の実行を許され、HLDA信号を受取らないI)MA
制御ユニットは使用される番が来るまで待機しなけれは
ならない。
競合論理ユニット203はAND回路205〜207及
びNOT回路203〜21oを含む。
これらの回路によって実行される論理は、HLDA信号
が現われた時、HRQlがルベルにありHRQ2がOレ
ベルにあれは、HLDA信号はHLDA1出力端子を介
して第1のDMA制御ユニット13へ入るようになって
いる。
逆に、HLDA信号が現われた時、HRQ2がルベルに
ありHRQlが0レベルにあれは、HLDA信号ばHL
DA2出力端子を介して第2のDMA制御ユニット20
0へ送られるようになっている。
更に、HLDA信号が現われた時、HRQI及びHRQ
2の双方かルベルにあれは、HLDA信号ばHLI)A
1出力端子を介して第1のDMA制御ユニット13へ送
られる。
【図面の簡単な説明】
第1図は本発明に従うI10制御装置を組込まれたテイ
ジタル・データ処理システノ、のブロック図、第2図は
第2A図、第2B図、第2C図、第2D図の配列を示す
図、第2A図乃至第2D図は本発明に従うI10制御装
置の構成を詳細に示す図、第3図、第4図、第5図、第
6図、及び第7図は第1図のデータ処理システムで使用
さね、る各種の指令、制御ブロック、状況ワードの形式
を示す図、第8図は本発明に従うI10制御装置で使用
されてよい典型的マイクロッ宅セッサの内部構成を詳細
に示す図、第9図は第8図のマイクロプロセッサで生じ
る典型的命令サイクルを示すタイミング図、第10図は
本発明に従う110制御装置で使用されてよい直接メモ
リ・アクセス(DMA)制御ユニットの内部構成を詳細
に示す図、第11図は第10図のDMA制御ユニットの
2つの連続した典型的DMAサイクルで生じる各種の信
号波形を示したタイミング図、第12図は第12A図及
び第12B図の配列を示す図、第12A図及び第12B
図は第2C図の割込み兼サイクル・スチール初期接続ユ
ニット33の内部構成を詳細に示す図、第13図は第1
3A図及び第13B図の配列を示す図、第13A図及び
第13B図は第2A図の記憶制御論理ユニット48の内
部構成、及びホスト・プロセッサ・チャネル・バスとI
10制御装置記憶ユニットとの間でデータを転送するた
めに使用される両方向7駆動器の方向信号(DI、D3
)及び出力能動信号(OEI。 OF2,0E3)の発生論理を示す図、第14図は第2
B図のマイクロプロセッサ11によってアト)/スされ
ることのできる記憶ユニットの低部分アドレス領域を示
す図、第15図は第14図に示される2個のIDCBバ
イト領域を拡大したものの図、第16図は第2B図のホ
ストDMA要求論理−に’、71−28及び第2A図の
レジスタ制御ユニット47の内部構成を詳細に示す図、
第17図は第2図のI10制御装置の変更例であって、
周辺装置(■10ユニット)とI10制御装置記憶ユニ
ットとの間で行なイつれるデータ転送が第2B図のDM
A制御ユニット13によって処理されるものの図、第1
8図は第2図のI10制御装置の変更例であって、3個
の異なった周辺装置(■10ユニット)とI10制御装
置記憶ユニットとの間で行なわれるデータ転送を1対の
1”)MA制御ユニットで制fl]するようにしたもの
の図、第19図は第18図tこ示されるDMA競合論理
ユニッl−203の内部構成を詳細に示したものの図で
ある。 1・・・ホスト・プロセッサ(HP)、2・・・I10
制御装置、3,4,5,6・・・周辺装置(I10ユニ
ット)、7・・・主記憶装置、8・・・ホスト・プロセ
ッサ■10チャネル・バス、9・・・チャネル、11・
・・マイクロプロセラ→力(MP)、12・・・制御プ
ログラム記憶ユニット、13・・・直接メモリ・アクセ
ス(DMA)制御ユニット、14・・・プログラム可能
割込み制御(PIC)ユニット、15・・・ユーザー記
憶ユニット、16・−・マイクロプロセッサ■、10バ
ス、17,18,19,20・・・装置制御ユニット、
22・・・2ポート・ランダム・アクセス記憶ユニット
、23・・・アドレス・デコーダ、25・・・指令レジ
スタ・ファイル、27・・・サイクル・スチール・アド
レス・レジスタ、28・・・ホストDMA要求論理ユニ
ット、30・・・初期接続割込み兼雑用制御ユニット。

Claims (1)

  1. 【特許請求の範囲】 1 主記憶装置を含むホスト・プロセッサとI10ユニ
    ットとの間でデータを転送するための入出力制御装置に
    して、 データを記憶するためで記入出力制御装置中に設けられ
    たランダム・アクセス式の制御装置記憶ユニットと; 上記ホスト・プロセッサと上記制御装置記憶ユニットと
    の間でデータ転送通路を形成するための選択的に動作可
    能な第1データ転送回路と;上記制御装置記憶ユニット
    と上記I10ユニットとの間でデータ転送通路を形成す
    るための選択的に動作可能な第2データ転送回路; 上記制御装置記憶ユニットと上記I10ユニットとの間
    でデータ転送を行わしめるため、上記制御装置記憶ユニ
    ットへ制御装置記憶ユニット・アドレスを与え且つ上記
    第2データ転送回路へ選択信号を与える第1記憶アクセ
    ス回路と: 上記ホスト・プロセッサと上記制御装置記憶ユニットと
    の間で複数のデータ・ワードをサイクル・スチール・モ
    ードで転送させるため、上記ホスト・プロセッサへ主記
    憶装置アドレスを与え、上記制御装置記憶ユニットへ制
    御装置記憶ユニット・アドレスを与え、上記第1データ
    転送回路へ選択信号を与える第2記憶アクセス回路と;
    上記ホスト・プロセッサと上記制御装置記憶ユニットと
    の間で各データ・ワードを直接プログラム制御モードで
    個別的に転送させるため、上記ホスト・プロセッサから
    受取られた予定のアドレスに応答して上記制御装置記憶
    ユニットへ制御装置記憶ユニット・アドレスを与え、上
    記第1データ転送回路へ選択信号を与える第3記憶アド
    レス回路と; 上記サイクル・スチール・モードで転送されるデータ・
    ワード相互間の間隙中に上記プログラム制御モードのデ
    ータ・ワード転送をインクリーブさせるように、上記第
    2及び第3記憶アドレス回路へ結合されたインタリーブ
    制御回路とを具備する入出力制御装置。
JP55100031A 1979-07-30 1980-07-23 入出力制御装置 Expired JPS5820060B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US6226379A 1979-07-30 1979-07-30

Publications (2)

Publication Number Publication Date
JPS5621221A JPS5621221A (en) 1981-02-27
JPS5820060B2 true JPS5820060B2 (ja) 1983-04-21

Family

ID=22041315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55100031A Expired JPS5820060B2 (ja) 1979-07-30 1980-07-23 入出力制御装置

Country Status (5)

Country Link
JP (1) JPS5820060B2 (ja)
AU (1) AU537478B2 (ja)
BR (1) BR8004731A (ja)
CA (1) CA1148265A (ja)
ES (1) ES493787A0 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS614157A (ja) * 1984-06-18 1986-01-10 Fuji Elelctrochem Co Ltd アルカリ電池
NO173305C (no) * 1985-07-01 1993-11-24 Honeywell Inc Datasystem

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5080737A (ja) * 1973-11-14 1975-07-01
JPS5360128A (en) * 1976-11-10 1978-05-30 Nippon Telegr & Teleph Corp <Ntt> Cycle steal data transfer system
JPS5423439A (en) * 1977-07-25 1979-02-22 Ibm Channel data buffer
JPS569826A (en) * 1979-07-06 1981-01-31 Hitachi Ltd Channel controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5080737A (ja) * 1973-11-14 1975-07-01
JPS5360128A (en) * 1976-11-10 1978-05-30 Nippon Telegr & Teleph Corp <Ntt> Cycle steal data transfer system
JPS5423439A (en) * 1977-07-25 1979-02-22 Ibm Channel data buffer
JPS569826A (en) * 1979-07-06 1981-01-31 Hitachi Ltd Channel controller

Also Published As

Publication number Publication date
AU537478B2 (en) 1984-06-28
BR8004731A (pt) 1981-02-10
ES8104594A1 (es) 1981-04-01
ES493787A0 (es) 1981-04-01
AU5908080A (en) 1981-02-05
JPS5621221A (en) 1981-02-27
CA1148265A (en) 1983-06-14

Similar Documents

Publication Publication Date Title
US4309754A (en) Data interface mechanism for interfacing bit-parallel data buses of different bit width
US4371932A (en) I/O Controller for transferring data between a host processor and multiple I/O units
US4417304A (en) Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4479179A (en) Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US5535417A (en) On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes
US4805137A (en) Bus controller command block processing system
TWI229259B (en) A method and related apparatus and computer program product for distributed memory control and bandwidth optimization
US5634099A (en) Direct memory access unit for transferring data between processor memories in multiprocessing systems
US4901232A (en) I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US5745772A (en) Advanced programmable interrupt controller
US5513374A (en) On-chip interface and DMA controller with interrupt functions for digital signal processor
JPH02284252A (ja) インテリジェント入出力プロセッサおよびデータ処理装置
JPS59501802A (ja) マルチプロセッサシステムにおけるプロセス間呼出しの方法と装置
WO1992015053A1 (en) Data transfer within a data storage subsystem
JPH0619752B2 (ja) データ転送方法及び装置
JPH0198048A (ja) 周辺装置制御装置およびアダプタ・インターフェース
JPH04363746A (ja) Dma機能を有するマイクロコンピュータシステム
JPH0142415B2 (ja)
US5566352A (en) Register-read acknowledgment and prioritization for integration with a hardware-based interrupt acknowledgment mechanism
JPH0644251B2 (ja) デ−タ処理装置
JPS5820060B2 (ja) 入出力制御装置
JPS6339072A (ja) デ−タ処理システム
EP0023266B1 (en) High performance i/o controller for transferring data between a host processor and multiple i/o units
WO1993012486A1 (en) Direct memory access interface for buses of different width
JPS5820061B2 (ja) サイクル・スチ−ル機構