JPS5820061B2 - サイクル・スチ−ル機構 - Google Patents

サイクル・スチ−ル機構

Info

Publication number
JPS5820061B2
JPS5820061B2 JP55090790A JP9079080A JPS5820061B2 JP S5820061 B2 JPS5820061 B2 JP S5820061B2 JP 55090790 A JP55090790 A JP 55090790A JP 9079080 A JP9079080 A JP 9079080A JP S5820061 B2 JPS5820061 B2 JP S5820061B2
Authority
JP
Japan
Prior art keywords
data
address
bus
host processor
signal
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
JP55090790A
Other languages
English (en)
Other versions
JPS5621223A (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 JPS5621223A publication Critical patent/JPS5621223A/ja
Publication of JPS5820061B2 publication Critical patent/JPS5820061B2/ja
Expired legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔本発明の背景〕 本発明は、ディジタル・データ処理システムにおいて、
プロセッサの記憶ユニットと上記プロセッサとは、別個
のデータ処理ユニットとの間でデータを転送するための
サイクル・スチール機構に関する。
本発明は、マイクロプロセッサ記憶ユニットとの間でデ
ータをサイクル・スチールによって転送するために特に
有用である。
[直接メモリ・アクセス動作」は頻繁に使用されるデー
タ処理の手法として知られる。
これはI10ユニットをしてホスト・プロセッサの主記
憶装置へアクセスせしめるが、ホスト・プロセッサの注
意を要求することはない。
現在使用される他の手法として「サイクル・スチール」
がある。
これは成る種のホスト・プロセッサにおいて直接メモリ
・アクセス動作を実行するために使用される■10ユニ
ットからの直接メモリ・アクセス要求がホスト・プロセ
ッサによって受取られると、現命令の「実行」サイクル
部分の終りに1つのホスト・プロセッサ・クロック・サ
イクルが「盗まれる」。
典型的には、ホスト・プロセッサ主記憶装置との間のデ
ータ転送は全て盗まれたホスト・プロセッサ・クロック
時間内に起る。
各種の適用業務において、記憶装置へのアクセスを得る
前に現命令の完了まで待つ必要のないサイクル・スチー
ル機構を有することが望ましい。
特に、命令のフェッチ及び実行に関連した各種のマシン
・サイクルの間に記憶装置との間でサイクル・スチール
によりデータを転送できることが望ましい。
概して、これまで提案されたサイクル・スチール機構は
、■10ユニットをしてホスト・プロセッサ主記憶装置
との間でデータをサイクル・スチールせしめるものであ
った。
現今の適用業務においては、■10ユニットはI10制
御装置を介してホスト・プロセッサへ接続される。
このようなI10制御装置は典型的にはデータ転送活動
を監視するマイクロプロセッサを含む。
現今の適用業務においては、ホスト・プロセッサをして
I10制御装置内に置かれたマイクロプロセッサ記憶ユ
ニットとの間でデータをサイクル・スチールせしめる逆
形式のサイクル・スチール機構が頻々望まれる。
この場合、■10制御装置がホス1へ・プロセッサ主記
憶装置との間でデータ・セットをサイクル・スチールす
る同じ時間に、ホスト・プロセッサは110制御装置記
憶ユニツトとの間で異なったテ゛−りをサイクル・スチ
ールすることができる。
更に、この逆形式のサイクル・スチールを■10制御装
置内のマイクロプロセッサに対して透明な方式で実行さ
せることが望ましい。
本明細書では、上記の目的を達成する改善されたサイク
ル・スチール機構が開示される。
本発明の実施例は、ホス1へ・プロセッサをしてマイク
ロプロセッサに透明な方式でI10制御装置内に置かれ
たマイクロプロセラ→力記憶ユニツ1へとの間でデータ
を転送させるサイクル・スチール機構を含んでいる。
〔要約〕
本明細書において、ホスト・プロセッサ(HP)と1個
又はそれ以上のI10ユニットとの間でデータを転送す
るための柔軟性ある高パフォーマンス入出力I10制御
装置が説明される。
パフォーマンスを改善することは、ホスト・プロセッサ
とI10制御装置の間で行なわれるデータ転送の2つの
異なったモードをインクリーブする機構を設けることに
よって達成される。
データ転送の1つのモードはI10制御装置とホスト・
プロセッサの主記憶装置との間でデータをサイクル・ス
チールするモードであり、そのようなサイクル・スチー
ルはI10制御装置によって制御される。
データ転送の他のモードはホスト・プロセッサによって
制御されるI10指令形のデータ転送モードであり、転
送されるデータの各ワードについて、ホスト・プロセッ
サはI10制御装置へI10指令及びI10アドレスを
与える。
パフォーマンスを改善する他の手段としては、プロセッ
サの記憶ユニットへ(又はそこから)データを転送する
同期サイクル・スチール機構がある。
実施例において、このプロセッサはデータ転送活動を監
視するためにI10制御装置中に設けられたマイクロプ
ロセッサ(MP)である。
具体的には、サイクル・スチール機構はインクリープ機
構と組合せて使用され、ホスト・プロセッサを働かせて
、■10制御装置中に置かれたマイクロプロセッサ記憶
ユニットへ(又はそこから)I10指令形のデータ・ワ
ードをサイクル・スチールさせる。
そのサイクル・スチールはマイクロプロセッサに対して
透明(transparent )である。
かくて、ホスト・プロセッサは110制御装置へ(又は
そこから)データをサイクル・スチールすることができ
、同時にI10制御装置はホスト・プロセッサ主記憶装
置へ(又はそこから)他の異なったデータをサイクル・
スチールすることができる。
これら2種類のサイクル・スチール転送は個々のデータ
・ワードに関してインクリープ方式%式% 更に、パフォーマンスを改善する手段としては、異なっ
たデータ・ビット幅のピッ1ル並列データ・バスをイン
ターフェイスするデータ・インターフェイス機構がある
実施例において、この機構はデータ・バイトをデータ・
ワードへ(又はその逆へ)変換する自動的且つ高度に効
率的な機構である。
I10制御装置の全体的な構成は、I10制御装置によ
っていくつかの異なったタスクが実行されねばならない
場合に、これらタスクが高度にコンパクトで効率的な方
式でインクリーブされ、110制御装置に関して、望ま
しくない遊び時間が大きく削減されるようになっている
例えば、I10制御装置が第1のI10ユニットからホ
スト・プロセッサ主記憶装置へデータをサイクル・スチ
ールしている時に、そのサイクル・スチール動作に遊び
時間ができると、I10制御装置は自動的に切替えられ
、他の異なったタスク(例えば、I10制御装置から第
2の異なったI10ユニットへデータを転送するタスク
)が開始される。
I10制御装置の構成は、I10データ転送の機能を果
たす外に、ホスト・プロセッサから通常のプログラミン
グ機能のあるものをオフロード(offload)でき
るようになっている。
例えば、それはホスト・プロセッサのためにナンバ・ク
ランチップ(number crunching )
の成るものを実行することができる。
更に、それはホスト・プロセッサ中で前に実行されたI
10制御プログラム機能の成るものをオフロードするこ
とができる。
更に、従来型のI10ユニットのために設計されたオペ
レーティング・システム・ソフトウェアを有するホスト
・プロセッサへ新型のI10ユニットを接続したい場合
に、上記I10制御装置を使用することができる。
例えば、上記I10制御装置を使用して、文字モード形
のキーボード・ディスプレーのために書かれたキーボー
ド・ディスプレー・ソフトウェアを有するホスト・プロ
セッサへページ・モード形キーボード・ディスプレー・
ユニットを接続することができる。
この場合、上記I10制御装置のデータ処理能力が使用
され、文字モードのI10指令及び制御ブロックが処理
されて、ページ・モード形の動作が正しく制御される。
かくてホスト・プロセッサのプログラミング・サポート
が陳腐化するのを著しく避けることができる。
〔全体的システムの説明〕
特に文脈上能の意味で用いられない限り、本明細書中で
使用される「データ」の語は英数字データ、状況(5t
atus )情報、制御情報、アドレス値等を含むもの
とする。
第1図を参照すると、そこには本発明に従って構成され
た入出力I10制御装置を含むディジタル・データ処理
システムのブロック図が示される。
このシステムはホスト・プロセッサ1、■10制御装置
2、複数の周辺装置(■10ユニット)3〜6を含む。
ホスト・プロセッサ1には、ホスト・プロセッサ主配憶
装置7が接続される。
ホスト・プロセッサ1はホスト・プロセッサ(HP)I
10チャネル・バス8を介して各種の■10制御装置及
びI10ユニットと通信するように構成される。
このチャネル・バス8はホスト・プロセッサ1のチャネ
ル9へ接続され、それによって駆動される。
更に、チャネル9は記憶バス10によって主記憶装置7
へ直接に接続される。
記憶バス10は、ホスト・プロセッサ1で実行されてい
るプログラムを中断させることなく、チャネル・バス8
と主記憶装置7との間でデータをサイクル・スチールす
ることを可能にする。
例えば、ホスト・プロセッサ1はIBMシリーズ/iプ
ロセッサと仮定する。
かくて、チャネル・バス8はシリーズ/1チヤネル・バ
スであり、その構成及び動作は米国特許第403864
2号に詳細に説明されている。
更に、この特許は現在のシリーズ/1形I70制御装置
、及びI10ユニットをホスト・プロセッサI10チャ
ネル・バス8へ接続する場合の上記制御装置の使用法を
説明している。
I10制御装置2は本発明の教示に従って構成されたI
10制御装置の代表的実施例である。
それは現在市販されているシリーズ/1形I10制御装
置よりも多くの利点及び改善点を有する。
このような特徴は汎用性があり、シリーズ/1形■10
制御装置における利用に制限されると考えてはならない
I10制御装置2はマイクロプロセッサ(MP)をベー
スとしたI10制御装置であり、マイクロプロセッサ1
1、制御プログラム記憶ユニット12、直接メモリ・ア
クセス(DMA)制御ユニット13、プログラム可能割
込み制御(PIC)ユニット14、ユーザー記憶ユニッ
ト15(任意)を含む。
典型的には、マイクロプロセッサ11及びユニット12
〜15は1個又はそれ以上の集積回路チップより構成さ
れ、且つマイクロプロセッサ11によって要求される適
当な構成のマイクロプロセッサI10バス16へ接続さ
れている。
更に、周辺装置3〜6はそれぞれの装置制御ユニット1
7〜20を介してマイクロプロセッサI10バス16へ
接続される。
例として、マイクロプロセッサ11はインテル8085
Aマイクロプロセツサである。
これは現在インテル社によって製造され且つ市販されて
いる単一チップの8ビツト・マイクロプロセッサである
制御プログラム記憶ユニット12は読出し専用記憶ユニ
ットであり、I10制御装置2におけるデータ転送活動
を監視し且つ制御するためにマイクロプロセッサ11に
よって使用される各種の動作命令及び動作ルーチンを含
んでいる。
マイクロプロセッサ■10バス16は通常のインテル8
085Aマイクロプロセツサ・バスである。
直接メモリ・アクセス(DMA)制御ユニット13は、
例えばインテル8257プログラム可能DMA制御装置
である。
プログラム可能割込み制N(PIC)ユニット14は、
例えばインテル8259プログラム可能割込み制御装置
である。
それは単一チップ8要求割込み制御装置であり、現在イ
ンテル社によって製造され且つ市販されている。
改善されたI10制御装置2の主たる特徴は、マイクロ
プロセッサ■10バス16とホスト・プロセッサI10
チャネル・バス8との間でデータ転送インターフェイス
を与えるため、2ポート・ランダム・アクセス記憶ユニ
ット22を使用したことである。
この記憶ユニットの1つのボートはバス8へ接続され、
他のポートはバス16へ接続される。
バス8からバス16へ、又はその逆方向へ通されるデー
タはこの記憶ユニットに一時的に記憶される。
I10制御装置2の構成は、マイクロプロセッサ11に
とって記憶ユニット22が私的なランダム・アクセス記
憶ユニットであると考えられる構成になっている。
具体的には、記憶ユニット22がマイクロプロセッサ1
1へ接続される態様は、概して他のランダム・アクセス
記憶ユニットがマイクロプロセッサへ通常接続される態
様と同じである。
かくて、マイクロプロセッサ11は通常の如くデータを
記憶ユニット22へ(又はそこから)転送することがで
きる。
しかし、記憶ユニット22はホスト・プロセッサ1によ
って直接にアクセスされることができ、ホスト・プロセ
ッサ1はデータを記憶ユニット22へ(又はそこから)
転送することができる。
しかし構成としては、ホスト・プロセッサ1による記憶
ユニット22の直接アクセスは、マイクロプロセッサ1
1に対して透明であるようになっている。
かくて、記憶ユニット22はマイクロプロセッサ11及
びホスト・プロセッサ1の双方によって共用される共用
記憶ユニットの如く動作し、ホスト・プロセッサ1のア
クセスはマイクロプロセッサ11に対して透明である。
ホスト・プロセッサ1は、バス8を介して■10制御装
置2へ即値装置制御ブロック(IDCB)を送ることに
よって、■10制御装置2におけるI10100開始又
は終了を生じさせる。
IDCBは1バイトのI10指令及び1バイトの装置ア
ドレスを含む。
本実施例において、これら2つの項目(110指令及び
装置アドレス)はバス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指令によって要
求された動作を開始する。
上記ホスト・プロセッサ110指令モードは、ホスト・
プロセッサと記憶ユニット22との間でデータを転送す
るためにも使用される。
更に具体的には、■10指令及び装置アドレスがバス8
上に発生する間に、ホスト・プロセッサ1又は記憶ユニ
ツl□ 22からデータ・ワード(2バイト)ヲバス8
のデータ・バス部分に置くことができる。
書込み形I10指令の場合、ホスト・プロセッサ1はデ
ータ・ワードをバス8上に置き、次いでそのようなデー
タ・ワードは記憶ユニット22へ書込まれることができ
る。
逆に読出し形I10指令の場合、記憶ユニット22はデ
ータ・ワードをバス8上に置き、次いでそのようなデー
タ・ワードはホスト・プロセッサ1へ読出されることが
できる。
いずれの場合にも、記憶ユニット22のアドレシングは
、バス8のアドレス・バス部分に現われるI10指令ビ
ット及び装置アドレス・ビットの成るものによって達成
される。
換言すれは、ホスト・プロセッサ1は記憶ユニット22
をアドレスするためのアドレス・ビット値を与える。
■10制御装置2の構成は、ホスト・プロセッサによる
記憶ユニットのアクセスがマイクロプロセッサ11によ
って実行されつつあるプログラムを中断しないようにな
っており、故にホスト・プロセッサによる上記アクセス
はマイクロプロセッサに対して透明(transpar
ent )である。
ホスト・プロセッサ1とI10制御装置2(具体的には
記憶ユニット22)との間では、データ転送の第2のモ
ードが存在する。
この第2モードは所謂サイクル・スチール・データ転置
モードであり、個々のデータ・ワードの転送はI10制
御装置2によって開始及び制御され、データ・ワードは
ホスト・プロセッサ主記憶装置7へ(又はそこから)サ
イクル・スチールされる。
通常、このサイクル・スチール・モードは、ホスト・プ
ロセッサ1と記憶ユニット22との間で複数ワード・ブ
ロックのデータを転送するために使用される。
本実施例において、これらサイクル・スチール・データ
転送は直接メモリアクセス(DMA)制御ユニット13
によって監視され且つ制御される。
DMA制御ユニット13は、各々のデータ・ワード転送
について、サイクル・スチール・アドレス・レジスタ2
7を介してホスト・プロセッサ1へ第1アドレスを与え
、バス16を介して記憶ユニット22へ第2アドレスを
与える。
ホスト・プロセッサ1へ与えられたアドレスはデータが
転送されるべき主記憶装置7のロケーションを選択し、
記憶ユニット22へ与えられたアドレスはデータが転送
されるべき記1意ユニット22のロケーションを選択す
る。
データ・ワードは主記憶装置7へ(又はそこから)バス
10を介してサイクル・スチール・モードで移動される
これはそのようなデータ転送がホスト・プロセッサ1に
よって実行されつつあるプログラムの中断を生じさせな
いことを意味する。
このサイクル・スチール・データ転送モードは、DMA
制御ユニット13において2つのチャネルを使用するこ
とを必要とする。
1つのチャネルはサイクル・アドレス・レジスタ27ヘ
ホスト・プロセッサ主記憶装置アドレスを与え、他のチ
ャネルは記憶ユニット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はホ
スト・プロセッサI10指令によるデータ転送とDMA
制御ユニット13によって制御される個別データ・ワー
ド・サイクル・スチール転送とをインクリーブする回路
を含むことが分る。
かくて、ホスト・プロセッサ1とI10制御装置2との
間には、2つの異なったデータ転送モードが存在し、こ
れら2つのモードの個々の転送はインクリーブされて、
転送の最少の遅延及び転送相互間の最少の干渉を実現す
る。
ν 考慮すべき第3のデータ転送モードは、記憶ユニッ
ト22と周辺装置3〜6との間のデータ転送である。
本実施例において、マイクロプロセッサ11は記憶ユニ
ット22と周辺装置3〜6との間でこのデータ転送を処
理し且つ制御するために使用される。
記憶ユニット22から周辺装置3〜6へ転送の場合、記
憶ユニット22をアドレスし、そこからマイクロプロセ
ッサ11中の内部レジスタへデータ・バイトを転送する
ために、第1マイクロプロセツサ命令サイクルが使用さ
れる。
次いで、所望の周辺装置(110ユニツト)をアドレス
し、マイクロプロセッサの内部レジスタから選択された
110ユニツトへデータ・バイトを転送する為に、第2
のマイクロプロセッサ命令サイクルが使用される。
データを反対方向に転送する場合、この順序は逆にされ
る。
即ち、マイクロプロセッサ11は所定のI10ユニット
からデータ・バイトをフェッチし、次いで次の命令サイ
クルでそのデータ・バイトを記憶ユニット22へ書込む
それぞれの周辺装置3〜6に対応する装置制御ユニット
17〜20は、データを記憶ユニット22へ送る(又は
そこから受取る)準備がととのった時点をマイクロプロ
セッサ11へ知らせる。
この通知動作はPICユニット14へ送られる割込み要
求信号によって達成される。
そのような割込み要求の各々について、PICユニット
14はバス16を介してマイクロプロセッサ11へ割込
み要求を送る。
PICユニット14は優先順位解決手段を含む。
この解決手段は、複数の要求が受取られた時、これら要
求をマイクロプロセッサ11へ通す順序を決定するよう
に動作する。
マイクロプロセッサ11は、そのI10データ転送活動
を実行する外に、通常ホスト・プロセッサ1で実行され
るプログラミング機能の成るものをオフロードするため
にも使用することができる。
例えは、マイクロプロセッサ11は、通常ホスト・プロ
セッサ1でなされるナンバ・クランチング(numbe
r crunching )の成るものを実行すること
ができる。
この方法としては、若干のものがある。
典型的な方法はホスト・プロセッサ1をして適幽なナン
バ・クランチング・プログラム・ルーチンを記憶ユニッ
ト22へ転送せしめることである。
記憶ユニット22へ転送されたルーチンは、後にホスト
・プロセッサ1からフランチされるべき数を受取り、ナ
ンバ・クランチングを実行し、次いでその結果をホスト
・プロセッサ1へ戻スタメ、マイクロプロセッサ11に
よって必要とされる命令の全てを含む。
プログラム・ルーチンが転送された後、ホスト・プロセ
ッサ1がフランチされるべき1組の数を有する時、それ
は常に特定のI10指令を介してこの事実をマイクロプ
ロセッサ11へ知らせ、その数を記憶ユニット22へ送
る。
その後時間が許せば、マイクロブ葡セッサ11は、前に
記憶ユニット22に記憶されたナンバ・クランチング・
プログラム命令の制御の下で、ナンバ・クランチングを
実行する。
ナンバ。クランチングを完了した後、マイクロプロセッ
サ11はその結果をホスト・プロセッサ1へ戻す。
典型的には、ナンバ・クランチング・プログラム、フラ
ンチされるべき数、及びフランチの結果(1、DMA制
御ユニット13によって制御されるホスト・プロセッサ
・サイクル・スチール・モードによって、ホスト・プロ
セッサ1と記憶ユニツ1へ22との間で転送される。
I10制御装置2のホスト・プロセッサ・オフロード能
力の興味ある点は、I10制御装置2ヘオフロードされ
る特定のホスト・プロセッサ機能が所望の場合に時々刻
々と変化されてよいことである。
かくて、例えば第1の時間中第1の形式のナンバ・クラ
ンチング動作がI10制御装置2ヘオフロードされ、後
に第2の時間中第2の異なった形式のナンバ・クランチ
ング機能が110制御装置2ヘオフロードされて、最初
のナンバ・クランチング機能と置換えられてよい。
かくて、所望ならば、I10制御装置2の使命は、ホス
ト・プロセッサ1によって時々刻々と変化させることが
できる。
〔第2図のI10制御装置の説明〕 第2A図、第2B図、第2C図、第2D図を参照すると
、そこには第1図の110制御装置2の構成が詳細に示
される。
第2C図のユニット33は第1図の初期接続割込み無雑
用制御装置30の1部の機能を含む。
即ち、第2C図のユニット33は、第1図の制御ユニッ
ト30の割込み兼サイクル・スチール初期接続機能だけ
を含む。
本実施例において、「ワード」は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バイトの幅を有する。
記憶ユニット22aは2バイト・データ・ワードの高順
位バイトを記憶するために使用され、かくてHPI10
チャネル・バス8の高バイト・データ・バス34aへ接
続されている。
記憶ユニット22bは2バイト・データ・ワードの低順
位バイトを記憶するために使用され、かくてチャネル・
バス8の低バイト・データ・バス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を介
して記憶ユニツt−22bのデータ端子へ接続され、駆
動器41の他方はデータ・バス37へ接続される。
駆動器40及び41の各々は2個の制御信号(端子)を
有する。
即ち、それらは方向制御信号(端子)Dと出力能動制御
信号(端子)OEである。
方向制御端子りがゼロ・レベルにあれば、データは右か
ら左へ流れることができ、Dがルベルにあれば、データ
は左から右へ流れることができる。
□出力能動端子OEがゼロ・レベルにあれば、駆動器の
全ての出力線は高インピーダンス出力状態にセットされ
、駆動器は無能化され、データはそこを通ることができ
ない。
OE端子がルベルにセットされると、駆動器は能動化さ
れ、そして方向制御端子りの2進レベルによって決定さ
れる方向へデータを通す条件へ置かれる。
以下の説明で分るように、1駆動器40及び41は、デ
ータが記憶ユニット22a及び22bとデータ・バス3
7との間で転送されている時にのみ動作可能となる(能
動化される)。
更に、それらは交互に能動化され、データ・バス37と
記憶ユニット22a及び22bの交互の1個との間で連
続的にデータ・バイトを転送する。
換言すれば、最初のデータ・バイトについては、駆動器
40がオンにされ、駆動器41がオフにされ、このデー
タ・バイトは記憶ユニット22aへ(又はそこから)転
送されるようにされる。
次のデータ・バイトについては、駆動器41がオンにさ
れ、駆動器40がオフにされ、データ・バイトは記憶ユ
ニット22bから(又はそこへ)転送させられる。
このようにして、1時に1個のバイトのみがデータ・バ
ス37へ(又はそこから)転送される。
更に、■10制御装置2は選択的に動作可能なMバイト
・データ転送機構を含む。
この転送機構は記憶ユニット22a及び22bのデータ
端子をMバイトHPデータ・バスの1バイト・バスへ接
続するためのものである。
本実施例において、Mは2でNは1であり、よって記憶
ユニッ)22a及び22bのデータ端子は2バイト・チ
ャネル・データ・バス34の1バイト・データ・バス3
4a及び34bのそれぞれへ接続される。
このデータ転送機構は16ビツト両方向駆動器44及び
45.16ビツト(2バイト)データ・レジスタ46、
レジスタ制御ユニット47を含む。
駆動器44及び45の各々は、例えば2個のインテル8
286.8ビット並列両方向、駆動器である。
図を簡明にするため、第2A図においては、2個の8ビ
ツト駆動器の各組は1個のブロックとして表わされてい
る。
接続の方法は、記憶ユニッ’r−22aが高バイト・デ
ータ・バス34aへ接続され、記憶ユニツl−22bが
低バイト・データ・バス34bへ接続されるようになっ
ている これらの駆動器44及び45は、方向制御端子DI、D
3及び出力能動制御端子OE 1 、 OF2を有する
この場合、方向制御端子りがゼロ・レベルである時、デ
ータ・フローの方向は左から右(データ・バス34から
記憶ユニット22a及び22bへ)である。
さしあたり、方向制御信号及び出力能動制御信号は記憶
制御論理ユニット48から得られるものと仮定する。
その発生の方法は後に論理ユニット48の詳細を説明す
る時に説明する。
データ・レジスタ46は、例えは1対のインテル828
2.8ビツト入出力ポート・ユニットである。
そのようなユニットの各々は81固のバイポーラ・ラッ
チを含み、各ラッチは3状態出力バツフアを有する。
ラッチをロードするためにはストローブ信号STBが使
用され、出力バッファを能動化するためには出力能動信
号OE2が使用される。
ラッチ出力バッファは、能動化されていない時、レジス
タ出力端子に高出力インピーダンスを与える。
本実施例において、データ・レジスタ46の入力端子は
、その出力端子が接続されている同じデータ線へ接続さ
れる。
かくて、個々のビット入力端子は、実際には対応する個
々のビット出力端子へ接続されている。
これまでの説明から分るように、ストローブ信号及び出
力能動信号の双方が同時にルベルになる場合がある。
これはラッチ出力バッファが、ラッチがロードされつつ
ある時に、能動化されることを意味する。
これは許される条件であり、ラッチ又は出力バッファの
いずれに対しても害とならない。
更に、駆動器45は駆動器40及び41のいずれかが能
動化されるのと同じ時間に能動化されることは決してな
い。
かくて、記憶ユニット22a及び22bのデータ端子は
データ・バス34及びデータ・バス37のいずれかへ接
続されることができるが、同時に双方のデータ・バスへ
は接続されない。
駆動器45は記憶ユニット22a及び22bの双方から
(又は双方へ)同時にデータを転送するように働く。
これは駆動器40及び41によって実行される交互の1
バイト転送と対照的である。
データ・レジスタ46の]」的は、■10制御装置がデ
ータ・ワードの転送を望んでいる時、ホス1へ・プロセ
ッサ1がそのデータ・ワードを受取る準備がととのって
いない場合に(逆の場合にも)、2バイト・データ・ワ
ードを一時的に記憶することである。
例えば、■10制御装置2力稍己憶ユニット22a及び
22bからデータ・ワードを読出すことができても、ホ
スト・プロセッサ1がそれを受取る準備をととのえてい
なければ、そのようなデータ・ワードは一時的にデータ
・レジスタ46に保持される。
その後、ホスト・プロセッサ1が準備完了となった時、
駆動器44が能動化されて、データ・レジスタ46中に
保持されているデータ・ワードがデータ・バス34上に
置かれる。
他方、ホスト・プロセッサ1がI10制御装置2と同じ
時間に準備を完了していれば、駆動器44及び45の双
方は同時に能動化され、データ・ワードは直接にデータ
・バス34へ通される。
この場合、データ・レジスタ46の存在は意味がない。
データ・ワードが反対方向、即ちデータ・バス34から
記憶ユニット22a及び22bへ転送されている時にも
同様に考えられる。
もし記憶ユニット22a及び22bが準備を完了してい
なければ、データ・ワードは一時的にデータ・レジスタ
46中に保持され、記憶ユニツ)22a及び22bが準
備完了になるまで駆動器45は能動化されない。
かくて、データ・レジスタ46の使用は、ホスト・プロ
セッサ1とI10制御装置2との間のタイミング差を考
慮に入れたものである。
アドレシングに関連した各種の機構を説明する前に、チ
ャネル・バス8上に異なった時間に現われる各種の項目
を考察しておくことが理解の手助けとなる。
これらの項目は第3図乃至第7図に示される。
具体的には、これらの図面はIBMシリーズ/I I
10チャネル・バスに必要なアーキテクチャ−上の要件
に従ってチャネル・バス8を使用する場合を示したもの
である。
第3図は即値装置制御ブロック(IDCB)のレイアウ
トを示す。
ホスト・プロセッサ1は、それがI10指令をI10制
御装置2へ送りたい場合に、上記IDCBをバス8上に
置く。
IDCBは4バイト制御ブロツクである。
その第1バイト(バイト0)は8ビツトのI10指令で
あり、第2バイト(バイト1)は8ビツトの装置アドレ
スであり、第3及び第4バイト(バイト2及び3)は1
6ビツトの直接プログラム制御(DPC)データ・ワー
ド又はサイクル・スチール装置制御ブロック(DCB)
開始アドレスである。
I10指4>(バイ+−0)は高バイト・アドレス・バ
ス35aへ送り出され、装置アドレスは低バイト・アド
レス・バス35bへ送り出される。
DPCデータ・ワード又はサイクル・スチールDCB開
始アドレスの高及び低順位バイトは高バイト・データ・
バス34a及び低バイト・データ・バス34bのそれぞ
れへ送り出される。
高順位バイトはIDCBバイト2(ビット16〜23)
であり、低順位バイト■DCBバイト3(ビット24〜
31)である。
41固のIDCBバイトの全ては同時に送り出される。
第7図は種々のI10指令についてI10100意味及
び分類を示す。
I10指令のビット1は読出し形(R)の動作か書込み
形Wの動作かを区別するために使用される。
読出し動作は、データその他の情報がI10ユニットか
らホスト・プロセッサへ転送されるものであり、書込み
動作は、データその他の情報がホスト・プロセッサから
I10ユニットへ転送されるものである。
I10100分類する他の方法は、それが直接プログラ
ム制御(DPC)動作であるかサイクル・スチール動作
であるかによる。
まずDPC動作の場合を考えると、各々のDPC読出し
形指令はデータ又は状況情報の2バイト・ワードをI1
0制御装置2からホスト・プロセッサ1へ転送せしめる
各々のDPC書込み形指令はデータ又は制御情報の2バ
イト・ワードをホスト・プロセッサ1からI10制御装
置2へ転送せしめる。
DPCデータ・ワード(IDCBビット16〜31)は
データ・バス34を介して転送され、記憶ユニット22
a及び22bへ記憶され、又はそこから転送される。
高順位バイト(バイト2又はビット16〜23)は記憶
ユニット22aへ記憶され(又はそこから読出され)、
低順位バイト(バイト3又はビット24〜31)は記憶
ユニット22bへ記憶される(又はそこから読出される
)。
この形式のデータ転送は「DPC」と呼ばれる。
何故ならば、各データ・ワードの転送はホスト・プロセ
ッサ・プログラムの直接制御の下にあり、ホスト・プロ
セッサは転送される各ワードのために別個のI10指令
を出さなければならないからである。
前述した如く、ホスト・プロセッサ主記憶装置7への(
又はそこからの)データの実際のサイクル・スチールは
I10制御装置2によって制御される。
しかし、そのようなサイクル・スチール動作を始める前
に、ホスト・プロセッサ1はI10制御装置2ヘサイク
ル・スチール開始指令を送る必要がある。
サイクル・スチール開始指令のためのIDCBのバイト
2及び3(ビット16〜31)は、8ワードの装置制御
ブロック(DCB)の第■ワード(ワード0)が記憶さ
れている主記憶装置7のアドレスを含む。
この8ワード装置制御ブロツクの典型的フォーマットは
第4図に示される。
この装置制御ブロックの主記憶装置開始アドレス(ワー
ド0アドレス)は、データ・バス34を介して転送され
、記憶ユニット22a及び22bに記憶される。
その後、この主記憶装置開始アドレスはI10制御装置
2によって使用される。
それは第4図に示される装置制御ブロック(DCB)の
8ワードを主記憶装置7からサイクル・スチールするた
めである。
そのようなりCBワワーは記憶ユニット22a及び22
bへ転送され記憶される。
その後、マイクロプロセッサ11はこれからDCBワー
ドの成るものに含まれる情報を使用し、所望のデータ転
送サイクル・スチール動作のためにDMA制御ユニット
13を適当な開始条件へ設定する。
その後、主記憶装置γへの(又はそこからの)データ・
ワードのサイクル・スチールは、DMA制御ユニット1
3によって制御される。
これらデータ・ワードの個々の転送に関するバス8の使
用態様は第5図に示されるとおりである。
主記憶装置データ・アドレスはI10制御装置2からホ
スト・プロセッサ1ヘアドレス・バス35を介して転送
され、転送されるべきデータ・ワードはデータ・バス3
4を介して転送される。
主記憶装置アドレスは主記憶装置γ内のアドレスであっ
て、そこへ(又はそこから)データ・ワードが転送され
る。
データ・バス34を介して転送されるデータ・ワードの
他の形式は、第6図に示される割込みIDワードである
この割込みIDワードはI10制御装置2からホスト・
プロセッサ1へ送られるが、それはI10制御装置2中
で生じた条件又は事象をホスト・プロセッサ1へ知らせ
、又は■10制御装置2がサービスを必要とすること、
更に正確には装置アドレスによって指定された■10ユ
ニットがサービスを必要とすることをホスト・プロセッ
サ1へ知らせるためである。
割込み情報パイ1〜(IIB)は必要なサービスの形式
を指定する。
適当な割込みIDワードはマイクロプロセッサ11によ
って記憶ユニット22a及び22bにセットされ、その
後記憶ユニット22a及び22bからデータ・バス34
を介してホスト・プロセッサ1へ転送される。
第2A図に示されるように、アドレス・デコーダ23は
8ビツト・アドレス比較器50を含む。
比較器50の入力端子の1つは両方向駆動器51を介し
て低バイト・アドレス・バス35bへ接続される。
それはIDCBの装置アドレス・バイ1へを受取るため
である。
比較器50の他の入力端子はアドレス・ジャンパ52へ
接続される。
それは予め設定された装置アドレスを与えるためである
この装置アドレスはI10制御装置2へ付加された周辺
装置(110ユニツ1〜)へ割当てられている。
低バイト・アドレス・バス35b上に現われる装置アド
レスがジャンパ52によって与えられる装置アドレスの
1つと一致すれば、アドレス比較器50は出力線53上
に「制御装置選択」信号を発生する。
この時、もしホスト・プロセッサ1が制御バス36のア
ドレス・ゲート線上にアドレス・ゲート信号を送り出し
ていれは(これは有効なIDCBがバス8上に存在して
いる時に起る)、AND回路54はその出力線24上に
アドレス・ゲート捕捉信号を発生する。
このアドレス・ゲート捕捉信号は駆動器55を通して制
御バス36のアドレス・ゲート・リターン線上にアドレ
ス・ゲート・リターン信号を発生する。
これは装置アドレスが正しく検出されたこと、且つI1
0制御装置2がIDCBデークデーへ進行する準備がで
きたことをホスト・プロセッサ1へ知らせる。
両方向、駆動器51は、例えば2個のインテル8286
.8ビット並列両方向駆動ユニットから構成される。
図を簡明にするため、それは第2A図において単一ブロ
ックとして示される。
これら8ビット駆動ユニットの1個は高バイト・アドレ
ス・バス35aを内部高バイト・アドレス・バス56へ
接続し、他の1個は低パイ1〜・アドレス・バス35b
を内部像バイト・アドレス・バス57へ接続する。
駆動器51の方向は、方向制御信号(端子)Dがゼロ・
レベルにある時、駆動器51はデータを左から右へ(換
言すれば、バス35から内部バス56及び5γへ)転送
するようにセットされる。
駆動器51の出力能動制御信号(端子)OE(図示され
ず)は、電源へ永久的に接続され、駆動器51の出力が
常に能動化されるようになっている。
従って、方向制御信号は通常ゼロ・レベルにあって左か
ら右へのデータ転送を可能にしているから、アドレス比
較器50はほとんど連続的に低バイト・アドレス・バス
35bを監視することができる。
監視することができない唯一の場合は、主記憶装置アド
レスがサイクル・スチール・アドレス・レジスタ27に
よってホスト・プロセッサ1へ送られつつある時である
主記憶装置アドレスが転送される間、サイクル・スチー
ル・サービス・ゲー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はアドレス・ジャ
ンパからのアドレスを低バイト記憶ユニット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ユニット14はマイクロプロセッサ11ヘ
コール(CALL)命令を送る。
このCALL命令はマイクロプロセッサ11を適当なサ
ービス・ルーチンへブランチさせ、■10指令が指向さ
れているI10ユニットのためにそのI10指令を処理
させる。
I10制御装置2へ取付けられたI10ユニットの各々
のために、制御プログラム記憶ユニット12(第2B図
)の中には別個の処理サービス・ルーチンが記憶されて
いる。
ここで注意すべきは、第2図のI10制御装置は第1図
に示されるPICユニット14の外に第2のPICユニ
ット61を使用することである。
PICユニット61はPICユニット14と階段状に接
続され、2倍の割込み要求を処理することのできる1個
の割込み制御ユニットを構成している。
2個のPICユニットが階段状になった場合の動作はイ
ンテル社の技術文献中に十分に記載されており、ここで
重ねて説明しない。
アドレス・ゲート捕捉信号が線24上に現われたことに
よって生じる第2の事象は、内部アドレス・バス56上
に現われたI10指令が指令レジスタ・ファイル25へ
記憶されることである。
指令レジスタ・ファイル25は、例えば2個のテキサス
・インスツルメンツ形5N74LS670.4×4レジ
スタ・ファイルから構成される。
これらのレジスタ・ファイルはテキサス・インスツルメ
ンツ社によって製造され市販されている。
2個の4ビツト幅レジスタ・ファイルは協動して8ビツ
ト(1バイト)幅を有する単一のレジスタ・ファイルと
して動作し、4個の1バイト・ロケーションが別個にア
ドレス可能である。
換言すれは、レジスタ・ファイル25は4個のアドレス
可能な1バイト・レジスタのスタックとして動作する。
レジスタ・ファイル25の構成は、バイト・ロケーショ
ンの1つへ書込むと同時に他のバイト・ロケーションか
ら読出することができるように構成されているC線24
上のアドレス・ゲート捕捉信号はレジスタ・ファイル2
5の書込み能動端子へ印加され、低バイト・アドレス・
バス57上の2個の低順位アドレス・ビットがレジスタ
・ファイル25の書込み選択(書込みアドレシング)端
子へ印加される。
本実施例において、I10制御装置2へ取付けられた4
個の周辺装置は4つの連続した装置アドレスを割当てら
れる。
この場合、バス57」−に現われる2個の低順位装置ア
ドレス・ビットは4つのI10装置アドレスを識別する
のに十分である。
かくて、レジスタ・ファイル25にある1バイト・ロケ
ーションの各々は、丁10制御装置2へ取付けられたそ
れぞれの周辺装置へ割当てられる。
ここではバス57上にある2個の低順位アドレス・ピッ
1〜は周辺装置に対して次の関係を有するものとする。
R(Jち、OOは周辺装置Aに対応し、01は周辺装置
Bに対応し、10は周辺装置Cに対応し、11は周辺装
置りに対応する。
バス56上に現われるI10指令は、それが指向されて
いる周辺装置(装置アドレス)に従って、レジスタ・フ
ァイル25中のロケーションに記憶される。
かくて、周辺装置AのためのI10指令はOOロケーシ
ョンに記憶され、周辺装置Bのための指令は010ケー
シヨンに記憶される。
以下同様である。マイクロプロセッサ11はレジスタ・
ファイル25からのI10指令の読出しを制御する。
具体的には、マイクロプロセッサ11はメモリ読出しく
メモリからの移動)命令を実行する。
その命令において、マイクロプロセッサ11がアドレス
・バス38上に置いたアドレスはチップ選択(C8)5
信号を発生するようなものであり、アドレス・バス38
上にある2個の低順位アドレス・ビットは、レジスタ・
ファイル25中の所望のバイトを選択するようなもので
ある。
C85信号はレジスタ・ファイル25の読出し能動端子
へ与えられ、2個の最低順位アドレス・ビットはレジス
タ・ファイル25の読出し選択端子へ与えられる。
これは所望のI10指令を読出させ、このI10指令は
バス62及びMPデータ・バス37を介してマイクロプ
ロセッサ11へ転送される。
更に、I10制御装置2はアドレス選択器63を含む。
アドレス選択器63はMPアドレス・バス38又はI(
Pアドレス・バス35から記憶ユニット22a及び22
bのアドレス回路ヘアドレス・ビットを選択的に転送す
る。
かくて、記憶ユニット22a及び22bはホスト・プロ
セッサ1又はバス16へ接続されたアドレス発生ユニッ
トの1個によってアドレスされることができる。
本実施例の場合、マイクロプロセッサ11及びD M
A 制御ユニット13の各々は、記憶ユニット22a及
び221)をアドレスするために、バス16ヘアドレス
を与えることができる。
このマイクプロセッサ・バス・アドレシングはバス64
及び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ライン・データ選
択ユニットより構成される。
これらのユニットはテキサス・インスツルメンツ社から
市販されており、4本の出力線のために2−1選択を処
理することができる。
従って、4個のそのようなユニットは、16本の出力線
のために2−1選択を処理することができる。
これら16本の出力線の成るものは記憶ユニット22a
及び22bをアドレスするために使用されず、接続され
ないままに残される。
ここで、記憶制御論理ユニット48によって発生され且
つ線67を介してアドレス選択器63へ与えられるHP
接続許容信号は、アドレス・ゲート捕捉信号に応答して
発生されその信号に対応するものであると理解されたい
これは現時点での説明としては、大体において正しく且
つ十分なものである。
線67上のHP接続許容信号が2進のルベルであれば、
それはアドレス選択器63を左方の入力端子ヘスイツチ
させ、MPアドレス・バス・ビットを記憶ユニット22
a及び22bへ与えさせる。
逆に、HP接続許容信号が線67上に存在していなけれ
ば、それは2進のOレベルであり、アドレス選択器63
は右方入力端子を選択するようにスイッチされ、MPア
ドレス・バス・ビットが記憶ユニット22a及び22b
へ接続される。
これまでの説明から分るように、線24上にアドレス・
ゲート捕捉信号が現われると、それは3つの主たる事象
を生じさせる。
第1に、それは装置選択デコーダ60を能動化して、P
ICユニット14へ独特の装置表示信号を与えさせる。
第2に、それはI10指令をレジスタ・ファイル25中
に記憶させる。
第3に、それはホスト・プロセッサによって引出された
アドレスを記憶ユニット22a及び22bへ与えさせる
これは、駆動器44及び45及びデータ・レジスタ46
へ与えられる制御信号とあいまって、IDCBのデータ
・ワード部分をHPデータ・バス34から記憶ユニット
22a及び22bへ(又はその逆へ)転送せしめる。
かくて、即値装置制御ブロック(IDCB)の4個のバ
イトの全ては、それらがホスト・プロセッサ1によって
バス8上に置かれた時点で、■10制御装置2によって
取入れられる。
更に、このIDCBバイトの取入れはマイクロプロセッ
サ11に対して透明である。
マイクロプロセッサ11は、後にそれがPICユニット
14から割込み要求を受取り且つ受入れる場合を除いて
、上記の事象が生じたことを知らない。
即値装置制御ブロック(IDCB)がホスト・プロセッ
サ1によって与えられた時、■10制御装置2は常にそ
のIDCBを受入れることができるという事実は、I1
0制御装置2が決してホスト・プロセッサ1へ「■10
制御装置ビジィ」信号を送る必要はないということを意
味する。
もちろん、これはホスト・プロセッサ側でも損失時間が
生じるのを防止する。
更に、■10制御装置2はチップ選択デコーダ68を含
む。
チップ選択デコーダ68は、アドレス・バス38a上の
高順位アドレス・ビットに応答して、それを解読して各
種のチップ選択信号cso 、C81、C82・・””
C8nを発生する。
これらのチップ選択信号は、I10制御装置2中の異な
ったユニットを選択又は能動化するために使用される。
かくて、例えばチップ選択信号C8Oは制御プログラム
記憶ユニット12を選択するために使用され、チップ選
択信号C81はAAND回路69を介して駆動器41を
能動化するために使用され、チップ選択信号C32はA
ND回路70を介して駆動器40を能動化するために使
用される。
更に、C81及びC82信号は記憶ユニット22a及び
22bの異なった1つを選択するために使用される。
これは記憶制御論理ユニット48を介して達成される。
C83チツプ選択信号は、論理ユニット48を介して、
記憶ユニット48を介して、記憶ユニット22a及び2
2bの双方を同時に選択するために使用される。
この同時的選択は、DMA制御ユニット13によって制
御されるサイクル・スチール動作の間、HPデータ・バ
ス34と記憶ユニット22a及び22bとの間でデータ
・ワードを転送するためになされる。
かくて、C83チツプ選択信号を発生するために、アド
レスをチップ選択デコーダ68へ与えるのはDMA制御
ユニット13である。
第2D図を参照すると、バス16へ取付けることのでき
る4個の周辺装置(■10ユニット)の例が示される。
最初の周辺装置はキーボード兼CRTディスプレー71
であり、それに関連して直列通信インターフェイス72
が設けられる。
第2の周辺装置はキーボード兼CRTディスプレーT3
であり、それに関連して直列通信インターフェイス74
が設けられる。
第3の周辺装置はワイヤ・マトリクス・プリンタ75で
あり、それに関連してプリンタ制御ユニット76が設け
られる。
第4の周辺装置はフロッピーディスク77であり、それ
に関連してフロッピーディスク制御ユニット78が設け
られる。
直列通信インターフェイス72及び74は、例えばイン
テル8251Aプログラム可能通信インターフェイス・
ユニットである。
これは汎用の同期/非同期送受信装置(USART)で
あり、現在インテル社によって製造され且つ市販されて
いる。
プリンタ制御ユニット76は例えばインテル8048又
はインテル8049マイクロプロセツサである。
フロッピーディスク制御ユニット78は、例えばインテ
ル8271プログラム可能フロツピ・−ディスク制御装
置である。
これまで挙げた形式の周辺装置及び装置制御ユニットは
例示的なものである。
多様な形式の周辺装置が利用可能であり、それらをバス
16へ取付けることができる。
〔第2図のI10制御装置の動作〕 第2図のI10制御装置2の典型的データ転送動作を考
えるに当って、最初にI10ユニットカら受取られた連
続的データ・バイトは高バイト記憶ユニット22a及び
低バイト記憶ユニツ1へ22bに交互に記憶されること
に注意されたい。
データがI10ユニットからホスト・プロセッサ1へ転
送される場合を考えると、■10ユニットは例えばキー
ボード兼CRTディスプレーγ1であり、データ・ビッ
トはユニット71から直列通信インターフェイス(直並
列変換回路/並直列変換回路)72へ遂次に転送される
データの第1バイトがインターフェイス72中でアセン
ブルされた後、それはMPデータ・バス37を介してマ
イクロプロセッサ11へ転送され、次いでマイクロプロ
セッサ11からデータ・バス37及び駆動器40を介し
て高バイト記憶ユニット22aへ転送される。
データの第2バイトがインターフェイス72によってア
センブルされた後、それはMPデータ・バス37を介し
てマイクロプロセッサ11へ転送され、次いでMPデー
タ・バス37及び駆動器41を介して低バイト記憶ユニ
ット22bへ転送される。
以後の連続したバイトは同じようにして高バイト記憶ユ
ニツh 22 a及び低バイト記憶ユニット〜22bへ
交互に記憶される。
即ち第3、第5、第7・・・・・・のバイトは高バイト
記憶ユニット22aに記憶され第4、第6、第8・・・
のバイトは低バイト記憶ユニツl−22b中に記憶され
る。
問題の■10ユニツ1〜について所望量のデータが記憶
ユニット22a及び221〕に集積された後に、そのデ
ータはホスト・プロセッサ1へ転送される。
データがホスト・プロセッサ1へ転送される時、それは
1時に2バイト(又は1ワード)ずつ転送される。
換言すれば、高順位バイトが記憶ユニット22aから読
出されるのは、低順位バイトが記憶ユニット22bから
読出されるのと同時であり、双方のバイトは1駆動器4
5及び44及びHPデデー・バス34を介してホスト・
プロセッサ1へ同時に転送される。
中間ステップとして、2バイト・データ・ワードは16
ビツト・データ・レジスタ46中に一時的に記憶されて
よい。
この中間ステップ(これはホスト・プロセッサが十分に
早く応答する場合には実行されない。
)は、制御ユニット・タイミングとホスト・インターフ
ェイス初期接続タイミングとの調整を可能にする。
データが反対方向へ(即ち、ホスト・プロセッサからI
10ユニットへ)転送されている時、反対の現象が起る
各々の2バイ1へ・データ・ワードがHPデータ・バス
34を介してI10制御装置2へ送られ、高順位バイト
は記憶ユニット22aに記憶され、低順位バイトは記憶
ユニツt−22bに記憶される。
続いて転送されるデータ・バイトは高バイト記憶ユニッ
ト22a及び低バイト記憶ユニツt−22bから交互に
取られる。
別個の高バイト及び低バイト記憶ユニット22a及び2
2bを設けたことは、バイトからワードへ(又はワード
からバイトへ)の自動的形式化を可能とする。
これはI10制御装置2に組込まれた新規な発明思想で
ある。
第2図の実施例において、■10ユニットと記憶ユニッ
ト22a及び22bとの間のデータ転送はマイクロプロ
セッサ11によって制御される。
I10ユニットがデータ・バイトの転送の準備をととの
えた時、それはPICユニット61へ割込み要求(IR
O〜6)を与える。
次いで、PICユニット61は割込み要求をマイクロプ
ロセッサ11へ送り、上記割込み要求はマイクロプロセ
ッサ11をして記憶ユニット22からI10ユニットへ
(又はその逆へ)データ・バイ1へを転送する命令ルー
チンを実行させる。
マイクロプロセッサ11へ入る割込み線はMP制御バス
39中の制御線の1本である。
第2図の実施例において、データは通常ホス1〜・プロ
セッサ1と記憶ユニット22a及び22bとの間をサイ
クル・スチール・モードで転送される。
これらのサイクル・スチール動作はDMA−制御ユニッ
ト13及びホスl−DMA要求論理ユニット28によっ
て制御される。
DMA制御ユニット13の内部構成は第10図を参照し
て後に説明される。
DMA制御ユニット13は4個の別個のアドレス・カウ
ンタを含み、これらのカウンタは通常4個の異なったI
10ユニットのためにl)MA動作を実行する際に使用
される。
しかし、本実施例のI10制御装置2においては、この
DMA制御ユニット13は普通のようには使用されない
即ち、DMAアドレス・カウンタの1個はホストプロセ
ッサ主記憶装置アドレスを追跡するために使用され、D
MAアドレス・カウンタの他の1個は記憶ユニット22
a及び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に置かれる。
主記憶装置アドレスがサイクル・スチール・アドレス・
レジスタ27の中ヘストロープされた後の適当な時点に
、DRQ1要求線がDMA制御ユニット13によって能
動化もしくは認識され、DMA制御ユニット13は記憶
ユニット22a及び22bの記憶アドレスをMPアドレ
ス・バス38上に置く。
次いで、このアドレスはアドレス選択器63を介して記
憶ユニット22a及び22bへ転送される。
このアドレスは、データ・ワードが転送されるべき記憶
装置22のアドレスである。
上記のDRQO/DRQ1シーケンスは、転送されるべ
き各データ・ワードについて反復されるにれら転送のた
めに使用されつつある2個のDMAアドレス・カウンタ
は、各データ・ワード転送の後に増進される。
更に、ホス1−DMA要求論理ユニット28はサイクル
・スチール要求の発生を開始する。
これらのサイクル・スチール要求はホスト・プロセッサ
1へ送られる。
そのような要求の各々は、DRQQ信号の前縁がDMA
制御ユニット13へ送られた後に直ちに開始される。
〔第8図のマイクロプロセッサの説明〕 第8図は第2図のマイクロプロセッサ11の内部構成の
例を詳細に示す。
第8図に示されるマイクロプロセッサはインテル808
5A単一チツブ8ビツト・マイクロプロセッサである。
第8図に示される略語のうち、RDは「読出し」、WR
は「書込み」、ALEは「アドレス・ラッチ能動」、H
LDAは「保留承認」を意味する。
SO及び81線はデータ・バス状況線であり、107M
線は読出し/書込みが「メモリ読出し/書込み」である
か、「■10読出し/書込み」であるかを示す。
INTAは「割込み承認」を意味する。3個のR8T入
力は「割込みリスタート」入力の意味である。
第9図はマイクロプロセッサ11の典型的命令サイクル
について如何なる事象が生じるかを示すタイミング図で
ある。
第9図に示される特定の命令サイクルはアラ)(OUT
)命令に関するものである。
このOUT命令はマイクロプロセッサ・アキュームレー
ク・レジスタの内容をMPデータ・バス37上に置き、
それをMPアドレス・バス38−ヒのアドレスで指定さ
れたI10ポートへ転送させる。
実際には、「■10ポート」の語は不正確である。
何故ならば、アキュームレーク・レジスタの内容は、マ
イクロプロセッサ・バスへ接続され且つMPアドレス・
バス38上に現われる特定の「ポート」アドレスに応答
し又は選択される任意の構成要素又は装置へ転送され得
るからである。
8085Aマイクロプロセツサの特徴は、低順位アドレ
ス・ビット(ビットO〜7)が、8085Aのデータ・
バス出力上で時間多重化されることである。
第8図及び第2B図に示されるようにこれら低順位アド
レス・ビットはマイクロプロセッサのアドレス・ラッチ
能動(ALE)出力パルスによって8ビツト・ランチ8
0へ即時にラッチされる。
ラッチ80はMPアドレス・バス38bを駆動させる。
第2B図に示されるIO/Mデコーダ81はマイクロプ
ロセッサRD、WR,IO/M出力信号を次のような普
通の信号に変換する。
即ち、それらの信号はMEMR,MEMW、IOR,I
OWであり、これらはこの順序でそれぞれ「メモリ読出
し」、「メモリ書込み」、「■10読出し」、「■10
書込み」を意味する。
10/Mデコーダ81によって発生されたこれら4つの
信号は、MP制御バス39の4本の別個の制御線上に与
えられる。
これらの信号はI10制御装置2の他の各種のユニット
によって発生される。
更に、DMA制御ユニット13もこれら4本の制御線へ
接続され、MEMR,MEMW、IOR,IOW信号を
発生することができる。
マイクロプロセッサ11のレディ制御端子153は注目
に値する。
それは、マイクロプロセッサ11を「待ち」状態に置く
ため、外部回路を能動化する手段を与える。
具体的に説明すれば、マイクロプロセッサ11は、外部
のレディ信号の不存在に応答してマイクロプロセッサ1
1を「待ち」状態に置く内部回路を含む。
レディ信号が再び現イっれる時、マイクロプロセッサ1
1はあたかも何事も起らなかったかの如くその動作を再
開する。
〔第10図のDMA制御ユニットの説明〕第10図は第
2図の直接メモリ・アクセス(DMA、)制御ユニット
13の内部構成の例を詳細に示す。
第10図に示されるDMA制御ユニットはインテル82
57単−チツブ4チヤネル・プログラム可能I)MA制
御装置である。
第10図に示される略語の意味は次のとおりである。
略語 意味 IORI10読出し IOW I10書込み C8チップ選択 HRQ 保留換求 HLDA 保留承認 MEMRメモリ読出し MEMW メモリ書込み AEN アドレス能動 A D S T B アドレス・ストローブTC端
子カウント DRQ DMA要求 DACK DMA承認 DMA制御ユニット13は4個の別個のチャネル(ずな
4つも、チャネル0〜3)を含む。
これらのチャネルは通常4個の異なったI10ユニット
のためDMA動作を実行するために使用される。
各チャネルはそれ自体のアドレス・カウンタとパイ1〜
・カウンタを含む。
かくて、チャネル0はアドレス・カウンタ82とバイト
・カウンタ83とを含み、チャネル1はアドレス・カウ
ンタ84とバイト・カウンタ85とを含み、チャネル2
はアドレス・カウンタ86とパイ1へ・カウンタ87と
を含み、チャネル3はアドレス・カウンタ88とバイト
・カウンタ89とを含む。
各アドレス・カウンタの目的は、特定のI10ユニット
のために、記憶ユニットをアドレスするのに必要なアド
レスを与えることである。
これらのアドレスは、問題のI10ユニットからデータ
を受取る(又はそのI10ユニットへデータを与える)
べき記憶ロケーションのアドレスである。
各バイト・カウンタの目的は、その特定のI10ユニッ
トのため多バイト・ブロックのデータが転送される場合
に、転送されるべく残っているバイト数を与えることで
ある。
110ユニツトのために各バイトが転送された後、関連
するDMAアドレス・カウンタは増進され、バイト・カ
ウンタは減少される。
更に、DMA制御ユニット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図に示されるように、これらの高順位アドレス・
ビットは、DMA制御ユニット13によって発生される
アドレス・ストローブ(ADSTB)によって、1組の
(8個の)ラッチ回路91へ直ちにラッチされる。
注意すべき他の点は、DMA制御ユニット13がアクチ
ブである時、マイクロプロセッサ11の動作は、それを
「保留」状態におくことによって一時停止されることで
ある。
更に具体的には、DMA制御ユニット13がDMA要求
(DRQ)を受取った後、暫くしてそれはMP制御バス
39の1保留」線を介してマイクロプロセッサ11の「
保留」端子へ「保留要求1(HRQ)を送る。
マイクロプロセッサ11が「保留」状態に入り且つその
状態にとどまる限り、それはDMA制御ユニット13へ
保留承認(HLDA)信号を与える。
このHL D A期間の間、マイクロプロセッサ11の
データ及びアドレス出力は3状態(又は高インピーダン
ス条件)に置かれ、MPデータ・バス37及びMPアド
レス・バス38は影響を受けなG)。
更に、マイクロプロセッサ・アドレス・ラッチ80及び
IO/Mデコーダ81はアドレス能動(AN’E)信号
によって高インピーダンス条件におかれる。
かくて、HLDA期間の間、DMA制御ユニット13は
MPアドレス・バス38上にアドレスを置くことができ
、これらアドレスに応答する装置又は構成要素は、マイ
クロプロセッサからの干渉を受けることなく、MPデー
タ・バス37上にデータを置くことができる。
MPデータ・バス37上にデータを置くこと、及びそこ
からデータを読出すことは、DMA制御ユニット13に
よって発生される読出しパルス及び書込みパルスによっ
て制御される。
DMA制御ユニット13に対するレディ入力制御線15
3は、マイクロプロセッサ11がそのレディ入力制御線
によって与えられるのと同じ機能をDMA制御ユニット
13へ与える。
具体的には、レディ信号が存在している時(レディ線が
2進のルベル)、DMA制御ユニット13はその通常の
態様で動作する。
他方、レディ信号が不在である時(レディ線が2進の0
レベル)、DMA制御ユニット13は「待ち」状態へ行
き、現在のDMAサイクルを完了する前にレディ信号が
再び現われるのを待機する。
典型的アプリケーションにおいて、ノットレディ機能は
、比較的遅い記憶ユニットの場合に、待ち状態を伴う記
憶装置の読出しサイクル及び書込みサイクルを延長する
ために使用される。
〔第12図の割込み兼サイクル・スチール初期接続ユニ
ットの説明〕 ここで第12A図及び第12B図を参照すると、そこに
は第2C図の割込み兼サイクル・スチール初期接続ユニ
ット33の内部構成が詳細に示される。
このユニットは、2つの異なった場合にホスト・プロセ
ッサ1との初期接続信号シーケンスを処理する。
第1の場合は、I10制御装置2が、ホスト・プロセッ
サ主記憶装置7へ(又はそこから)データ・ワードをサ
イクル・スチールするために、ホスト・プロセッサ1ヘ
サイクル・スチール要求を与える場合である。
第2の場合は、I10制御装置がホスト・プロセッサ1
へ割込み要求を与えたい場合である。
まず、サイクル・スチール要求の場合を考えると、サイ
クル・スチール要求信号は線31を介してホス1−DM
A要求論理ユニット28から受取られ、サイクル・スチ
ール要求ラッチ92をセットする。
これはラッチ92の出力にサイクル・スチール要求信号
を発生し、この信号はAND回路93を介してHP制御
バス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をセ
ラ1へする。
これはAND回路102を介してホスト・プロセッサ1
ヘポール・リターン信号を与える。
ポール・リターン信号はホスト・プロセッサ1へI10
制御装置が進行準備をととのえたことを知らせる。
ポール・リターン・ランチ101のセット条件、及びO
R回路100の出力にポール信号が存在すること、及び
サイクル・スチール比較ラッチ97のセット条件は、A
ND回路103aを介してサイクル・スチール・ポール
捕捉ラッチ103をセットする。
ホスト・プロセッサ1は、それがポール・リターン信号
を受取りデータ・ワード転送を実行する準備をととのえ
た時、HP制御バス36のサービス・ゲート線104上
にサービス・ゲート信号を送り出す。
このサービス・ゲート信号は、ラッチ103のセット条
件と一緒になって、A、NI)回路106を介してサイ
クル・スチール・サービス・ゲート(C8/SG)捕捉
ラッチ105をセットする。
これはラッチ出力線32I7にC8/ 。S G捕捉
信号を発生させる。
この信号はI10制御装置2における各種ユニツ1への
動作を制御するために使用される。
線32上のサービス・ゲート捕捉信号はNOT回路10
7を介するサービス・ゲート信号の後縁によって終了さ
せられる。
CS/S G捕捉ラッチ105の出力は、A N I)
回路108の第1人カヘーりえられる。
AND回路108の第2人力はラッチ109によって制
御される。
ラッチ回路109はDACKO及びMEMW信号によっ
てAND回路110を介して。
セットされネ。
これらの信号は主記憶装置アドレスがサイクル・スチー
ル・アドレス・レジスフ2フヘストローブされる時に生
じる(第2A図)C換言すれば、それらの信号はホスト
・プロセッサ主記憶装置アドレスがホスト・プロセッサ
1へ送られる準備が完了した時に生じるラッチ109の
セット条件、及びAND回路108の第1人力にあるC
S/S G捕捉信号の存在は、サービス・ゲート・リ
ターン信号を発生し、この信号は、00R回路111を
介して、HP制御バス36中のサービス・ゲー1へ・リ
ターン線へ与えられる。
この→カービス・ゲート・リターン信号は、全ての事象
がスケジュールどおりに進行中であることをホスト・プ
ロセッサ1へ知らせる。
ホスト・ブロセ゛ンサ1は、上a己す−ビ゛ス・ゲ′−
ト・リターン信号を受取った後に、F■P制御バス36
中のI(Pデータ・ストローブ線112上にデータ・ス
トローブ信号を送り出す。
このデータ・ストローブ信号は駆動器113を介して線
114へ転送され、■10制御装置2の他のユニットで
上記信号を利用することを可能にする。
例えば、このデータ・ストローブ信号は、第2A図の2
バイト・データ・レジスフ46ヘデータをストローブす
る制御信号として使用される。
ここで第12図の割込み部分を考察する。
マイクロプロセッサ11はI10ボート形OUT命令を
実行することによって割込み要求を開始し、適当なアド
レス・バス及びデータ・バスの値はAND回路115を
能動化し、それによってAND回路115は割込み要求
ランチ116をセットする。
換言すれば、マイクロプロセッサ11によって発生され
たアドレスはC88信号を発生する。
MPデータ・バス上のデータ値は、データ・ビット2が
1の値を有するようなものである。
説明を続ける前に、IBMシリーズ/1形プロセッサが
割込み動作を処理する態様を簡単に考察しておくことが
必要である。
具体的には、18Mシリーズ/1形プロセツサは、それ
に取付られた各種I10ユニットの各々が、いくつかの
可能な優先順位レベルの1つを割当てられるような優先
順位形削込みシステムを使用する。
このような構成では、割込みを与える■10ユニットは
その割込みを成る優先順位レベル割込み線上に与えなけ
ればならない。
これは、■10ユニットによって使用されるべき優先順
位レベル値を、前もってその■10ユニツトヘロードし
ておくことによって達成される。
第12A図において、この優先順位レベル値は優先順位
レベル・レジスフ11フヘロードされる。
これは所謂「準備」指令をI10制御装置2へ出すこと
によって達成される。
この指令はデコーダ118によって検出され、その時A
ND回路119の他の入力で受取られつつあるアドレス
・ゲート捕捉信号と共にAND回路119を能動化する
AND回路119の出力は、その時HPデータ・バス3
4上に現われつつある所望の優先順位レベルヲ優先順位
レベル・レジスフ11フヘストローブするために使用さ
れる。
レジスタ117中の優先順位レベル値は、複数の出力線
を有するデコーダ120を駆動し、レジスタ117によ
って与えられた優先順位レベル値に従って、出力線の1
本のみが能動化される。
デコーダ120の複数出力線はAND回路121を介し
てHP制御バス36中の割込み要求イン線へ接続される
レジスタ117に存在する優先順位レベル値に対応する
特定の割込み要求イン線のみが、デコーダ120によっ
て能動化される。
割込み要求がホスト・プロセッサ1へ与えられる実際の
時間は、割込み要求ラッチ116によって制御される。
ラッチ116がセット条件にある時、それはAND回路
122を介してAND回路121へルベル信号を与える
これは割込み要求をホスト・プロセッサ1へ与える。
そのうちに、ホスト・プロセッサ1は割込み要求を認識
し、それに応答してHP制御線94上にポールID信号
を送出し、HP制御線95上にポール信号を送出する。
バス94上に送出された値は、このI10制御装置によ
って使用されつつある割込みレベルの値である。
この値は、割込みポール比較器123において、優先順
位レベル・レジスタ117中の優先順位レベル値と比較
される。
もし優先順位レベル値と一致すれば、割込みポール比較
器123はルベル出力を発生する。
この出力はAND回路124を介して割込み比較ラッチ
125をセットするように与えられる。
これは割込み要求ラッチ116のルベル出力にヨッて示
されるように、有効な割込み要求が係属中であることを
条件とする。
割込み比較ラッチ125がセットされていると仮定する
と、これはHP制御線95上のポール信号によってポー
ル・リターン・ランチ101を能動化せしめる。
ラッチ101のセットはポール・リターン信号を発生し
、この信号はホスト・プロセッサ1へ戻される。
割込み比較ラッチ125のセット条件は、AND回路1
26を介して割込みポール捕捉ラッチ127をセットす
るために与えられる。
この時、AND回路126への他の入力は2進のルベル
にあるものとする。
ホスト・プロセッサ1は、ポール・リターン信号に応答
して、HP制御線104上にサービス・ゲート信号を送
出する。
これはAND回路128へ第2の入力を与える。
AND回路128は割込みポール捕捉ラッチ127のセ
ット条件と一緒になって、割込みサービス・ゲート捕捉
ラッチ129をセットする。
これは線130上に割込みサービス・ゲート捕捉信号を
発生する。
この信号はI10制御装置2の中にある他のユニットに
よって使用される。
割込みサービス・ゲート捕捉ラッチ129は、NOT回
路131を通る線104上のサービス・ゲート信号の後
縁によってリセットされる。
更に、割込みサービス・ゲート捕捉ラッチ129の出力
はAND回路132へ与えられる。
この時、AND回路132の他の入力は、HP接続許容
信号によって能動化されているものと仮定する。
(HP接続許容信号については、後に詳細に説明する。
)AND回路132の出力に生じた2進のルベルは、O
R回路111を介して、HP制御バス36中のサービス
・ゲート・リターン線上に信号を与える。
このサービス・ゲート・リターン信号は、全ての事象が
スケジュールどおりに進行していることをホスト・プロ
セッサ1へ知らせる。
上記の割込み兼サイクル・スチール初期接続ユニット3
3は、特にホスト・プロセッサ1がIBIBMシリーズ
/1プロセッサである場合のために構成されている し
かし、注意すべきことは、本発明はIBMシリーズ/1
形プロセッサに限定されず、他の形式のプロセッサと共
に実施してよいことである 他の形式のプロセッサが使
用される場合、割込み兼サイクル・スチール初期接続ユ
ニット33は、そのプロセッサの特徴に基づいて変更さ
れてよい。
上記の説明で注目すべきは、2種類のサービス・ゲート
捕捉信号が発生されることである。
1つはホスト・プロセッサ1との間でデータ・ワードを
サイクル・スチールするために発生され、他の1つはI
10制御装置2がホスト・プロセッサ1へ割込みたい時
に発生される。
〔第13A図及び第13B図の記憶制御論理ユニット4
8の説明〕 ここで第13A図及び第13B図を参照すると、そこに
は第2A図の記憶制御論理ユニット48の内部構成が詳
細に示される。
ユニット48は記憶ユニット22a及び22bの制御論
理装置である。
ユニット48の第1の部分は「アドレス選択論理回路」
の部分である。
この部分は回路構成要素の番号135〜142によって
表わされる。
これらの構成要素はアドレス選択器63を制御する。
フリップフロップ138の出力がゼ゛口・レベルにある
時、アドレス選択器63はMPアドレス・バス38をア
ドレス線66へ接続する。
この線は高バイト及び低バイ1〜の記憶ユニット228
及び22bへ接続されている。
アドレス選択器63の出力に現われる同一のアドレスが
、常に記憶ユニット22a及び22bの各々へ与えられ
る。
回路構成要素135〜142の目的は、ホスト・プロセ
ッサDPC(直接プログラム制御)動作、I l) C
B転送動作、及び110制御装置によって開始された割
込み要求動作のために、記憶ユニット22a及び22b
を交互にアドレスさせることである。
ユニット48の第2の部分は回路構成要素の番号143
〜147によって表わされる。
これらの構成要素は記憶ユニツh 22 a及び22b
へ接続される[−選択」線及び「書込み」線を制御する
記憶ユニットがデータを読出し又は書込まれるた。
めには、その「選択」線がアクチブになっていなければ
ならない。
この時点て、第14図に示されるメモリ・アドレス領域
マツプを考察しておくことが理解を助ける。
これは16ビツトのMPアドレス・バス38、によって
アドレスされることのできる全体のアドレス領域の下半
分(0〜32K)のマツプである。
第14図から分るように、アドレス領域の第2の8K(
16進数の2000〜3FI”F)は低バイト記憶ユニ
ツl−22bのために使用され、第3の。
8K(16進数の4000〜5 FFF )は高バイト
記憶ユニット〜22aのために使用される。
第14図の左方に示されるように、16−ビットのMP
アドレス・バス38の3個の高順位ピッ1ヘハ、チップ
選択のために使用される。
これら3個の高。順位MPアドレス・ビットはアドレス
選択器63へ与えられず、第2B図のチップ選択デコー
ダ68へ与えられる。
デコーダ68はチップ選択信号C81,C82,・・・
・・・C8nを発生し、これら信号は第13A−図の回
路構成要素143〜145によって表わされる2ポ一ト
記憶ユニツト選択論理回路へ与えられる。
かくて、MPアドレス・バス38上のアドレスが200
0〜3FFF領域にあれば、チップ選択信号C81はア
クチブとなり、OR回路143を介して低バイト記憶ユ
ニット22bを選択する。
MI)アドレス・バス38上のアドレスが4000〜5
F I” Fの領域にあれば、チップ選択信号C82
がアクチブとなり、OR回路144を介して高バイト記
憶ユニツI〜22aを選択する。
アドレスが6000〜7FFFの領域にあれは、チップ
選択信号C83がアクチブとなり、ORゲート145及
び143.144を介して高バイト記憶ユニット22a
及び低バイ1へ記憶ユニット22bの双方を選択する。
これは2バイト・データ・ワードの読出し又は書込みを
可能にする。
第14図において、6000〜7FFFの領域に−ある
アドレスはチップ選択のためにのみ使用される。
このアドレス領域については、別個の物理記憶ユニット
は設けられていない。
サイクル・スチール動作のためには、OR回路146を
介するMEMW(メモリ書込み)信号によって、記憶ユ
ニット「書込み」線が制御される。
MEMW信号はDMA制御ユニット13(第2B図)か
らMP制御バス39を介して得られる。
もし記憶ユニット「書込み」線がアクチブでなければ、
記憶ユニット「選択」信号の発生は記憶ユニットの読出
し動作を実行させる。
即ち、「書込み」信号がオフであれば、アドレスされた
記憶ユニット・ロケーションの内容は、[選択」信号が
発生すると記憶ユニット・データ・バス42 、43上
に置かれる。
第14図で更に注意すべきことは、記憶ユニット22a
及び22bの32個の最低順位バイト・ロケーションは
、ホスト・プロセッサI / O指4>(IDCB)転
送動作のために確保され、そのためにのみ使用されるこ
とである。
第15図はこれら32個の最低順位バイト・ロケーショ
ンの記憶マツプの拡大図である。
第15図のマツプは記憶ユニット22a及び22bの双
方に適用される。
DPC(直接プログラム制御)動作の意味は第3図及び
第7図に示される。
DPC読出し指令は2バイ1へ・ワードのデータ又は状
況情報をI10制御装置2からホスト・プロセッサ1へ
転送せしめる。
DPC書込み動作は、1ワードのデータ又は制御情報を
ホスト・プロセッサ1からI10制御装置2へ転送せし
める。
第3図のDPCデータワード(IDCBビット16〜3
1)は、HPデータ・バス34を介して転送される。
このDPCデータ・ワードは記憶ユニット22a及び2
2bへ記憶される(又はそこから読出される)。
即ち、高順位バイト(バイト2又はビット16〜23)
は高バイト記憶ユニット22aへ記憶され(又はそこか
ら読出され)、低順位バイト(バイト3又はビット24
〜31)は低バイト記憶ユニット22bへ記憶される(
又はそこから読出される)。
この種のデータ転送は「DPC」と呼ばれる。
何故ならば、各データ・ワードの転送はホスト・プロセ
ッサ・プログラムの直接制御の下にあり、ホスト・プロ
セッサは転送される各ワードのために別個のI10指令
を出さねばならないからである。
ホスト・プロセッサI10指令がI10制御装置2によ
って受取られ且つ受入れられた時、第13A図のフリッ
プ・フロップ138の出力がオンにされる。
それはAND回路141の1−HP選択」出力を能動化
するためである。
これはアドレス選択器63を切替えて、示されたHPア
ドレス・バス・ビットをアドレス選択器63の5本の最
低順位出力線へ接続せしめ、アドレス選択器入力の残り
のものを148で示されるように接地させる。
これはI10指令に伴なうデータ・ワードを、第15図
に示されるように記憶ユニット22a及び22bへ記憶
せしめる。
かくて、■10指令が周辺装置(■10ユニット)Aの
ための「1書込み」指令であれば、関連するデータ・ワ
ードの2個のバイトが記憶ユニット22a及び22bに
おけるアドレス5の記憶ロケーションに記憶される。
HPアドレス・ビット14及び15はそれがどのI10
ユニットであるかを限定し、第7図に示されるように、
HPアドレス・ビット1〜3は動作の形式を限定する。
第2A図に示されるように、ホスト・プロセッサI10
指令がI10制御装置2によって受入れられたことは、
アドレス比較器50に関連したAND回路54の出力に
アドレス・ゲート捕捉信号が生じたことによって示され
る。
第13A図を参照すると、このアドレス・ゲート捕捉信
号は線24及びOR回路135を介してAND回路13
7へ与えられる。
これは、マイクロプロセッサ11から次に生じるALE
パルス、又はDMA制御ユニット13から次に生じるア
ドレス・ストローブ(ADSTB)パルスのいずれか早
いものをして、フリップ・フロップ138をセットせし
める。
これはフリップ・フロップ138の出力に接続された線
150上に「HP接続許容」信号を発生する。
この信号は、AND回路141を介して、アドレス選択
器63を「HP選択」状態ヘセットする。
更に、「HP接続許容」信号はOR回路145゜143
.144を介して記憶ユニット22a及び22bを選択
するために使用される。
更に、「HP接続許容」信号はAND回路147、OR
回路146を介して記憶ユニット「書込み」線を能動化
するために使用される。
それはI10指令が「書込み」形の指4>(HPアドレ
ス・ビット1−1)であることを条件とする。
OR回路136におけるALE及びADSTBパルスは
、ホストプロセッサ1をして、I10指’e(IDCB
)データ・ワードを記憶ユニット22 a > 22
bへサイクル・スチールせしめる。
この点に関して、記憶ユニット22 a 、22 bは
実際上マイクロプロセッサ11(及びDMA制御ユニッ
ト13)に対して「主」記憶装置として働く。
この機構は、マイクロプロセッサ11(又はDMA制御
ユニット13)によって実行されつつあるプログラムを
中断させることなく、■10指令のデータ・ワードをそ
のような「主」記憶装置へサイクル・スチールせしめる
これが可能である理由は、フリツフミフロツプ138の
出力がタイマ151及びNOT回路152を介してマイ
クロプロセッサ11及びDMA制御ユニット13のレデ
ィ入力へ接続されているからである。
その接続はMP制御バス39の線153を介して行なわ
れる。
具体的には、「HP接続許容」信号が1になると、NO
T回路152の出力はゼ゛口になり、かくてマイクロプ
ロセッサ11及びDMA制御ユニット13からレディ信
号が除かれる。
これはマイクロプロセッサ11及びDMA制御ユニット
13の各々を「待ち」状態へ置く。
(実際には、マイクロプロセッサ及びDMA制御ユニッ
トの1つだけがアクチブであり、双方がアクチブになる
ことはない。
レディ信号の除去はこれら2つのユニットのアクチブな
もののみに影響を及ぼす。
)この「ノット・レディ」条件は、フリップ・フロップ
138がセット状態にある時間、及びタイマ151によ
って決定される追加時間だけ継続する。
タイマ151はワン・ショット・マルチバイブレークの
性質を有する。
フリップ・フロップ138は、OR回路139及びNO
T回路140を通るアドレス・ゲート捕捉信号の後縁に
よってリセットされる。
タイマ151によって与えられる追加時間は、アドレス
選択器63及び記憶ユニット22a及び22bのために
使用される回路技術の種類に依存するが、典型的アプリ
ケーションにおいては約2マイクロプロセツサ・クロッ
ク・サイクルの持続時間に等しく選択される。
この追加時間は、アドレス選択器63がMPアドレス・
バス38へスイッチ・バックされた後、アドレス選択器
63及びその出力アドレス線66を安定させるために加
えられる。
NOT回路152の出力にレディ信号が再び現われる時
、前に動作していたマイクロプロセッサ又はDMA制御
ユニットの1個が動作を開始するが、その開始地点は動
作が一時停止されたところである。
2ポート記憶ユニツ1〜の共用又は多重化アドレシング
としては第3の態様が存在する。
これについて今から考察する。
これはI10制御装置からボス1〜・プロセッサへの割
込み要求動作に関係が。
ある。
I10制御装置2からの割込み要求がホスト・プロセッ
サ1によって認識され、ホスト・プロセツーリ−1がI
10制御装置2と接続を達成した後に、ホスI・・プロ
セッサ1はサービス・デー1−信閃をJ/(”)制御装
置2へ送る。
このサービス・。デー1〜信号の持続時間中、ホスI〜
・プロセッサ1はHPデータ・バス34−1−に現イっ
れているデータ・ワードを取込み、このデータ・ワード
が第6図に示されるような割込みI I)ワードであっ
たとする。
上記のサービス・ゲート信号は割込みサービス・。
ゲート信号と呼はれる。
何故ならば、それはサイクル・スチール要求ではなく割
込み要求に応答して送り出されるからである。
割込みサービス・ゲート信号がI10制御装置2によっ
て受取られたことは、第2C図の割込み兼サイクル・ス
チール初1υ]接続ユニット33から出る線130上の
割込みサービス・ゲート捕捉信号の発生によって示され
る。
この割込みサービス・デー1−捕捉信号は、次に生じる
ALE及びA D S T Bパルスの1つによってフ
リップ・フロップ138をセットせしめる。
しかし、この場合、フリップ・フロップ138の出力は
、アドレス選択器63の「高インピーダンス出力」制御
線を能動化するためAND回路142を介して動作する
この制御線は、アドレス選択器63の出力の各々が3状
態(又は高インピーダンス条件)ヘセットされるように
する。
これは、記憶ユニツ1〜22a及び22bへ入るアドレ
ス線66の全てを、−1−■電源によって2進のルベル
に置く。
換言すれば、これは記憶装置アドレスを「1111・・
・・・・11」ヘセットする。
これは、記憶ユニット・アドレス22a及び22bの各
々において、最−ヒ部バイト・ロケーションをアドレス
する。
第14図を参照すると、最上部パイ1〜・ロケーション
は第6図の割込みT I)ワードのために必要なデータ
を含んでいることが分る。
かくて、記憶ユニンl−22a及び221)の出力に適
当なIDワードが現われ、これは割込みサービス・ゲー
ト捕捉信号がオンの間に、ホスト・プロセッサ1へ転送
される。
このデータ(IIBバイト及び装置アドレス)は、ホス
ト・プロセッサ1へ割込み要求を出す前に、マイクロプ
ロセッサ11によって記憶ユニット・ロケーションへ前
もってロードされている。
これまでの説明から、2ボート記憶ユニツI〜22 a
y 22 bをアドレスする方法として、3種の異な
った方法があることが分る。
更に、これら3種の方法は相互に干渉を生じることなく
自動的に多重化される。
更に、第13A図は両方向、駆動器44及び45を動作
させる論理回路を示す。
この論理回路は構成要素154〜160によって表わさ
れる。
、駆動器44及び45は、それぞれ2つの制御入力、即
ち出力能動制御端子及び方向制御端子を有する。
出力能動制御端イを能動化すると、駆動振出力が能動化
され、駆動型人力に与えられつつある信号が出力に現わ
れる。
出力能動制御端子がイナクチブ又はオフにされると、1
駆動器出力は3状態又は高インピーダンス条件にセット
される。
方向制御端子がアクチブになると、それはデータが駆動
器を通る通常の方向を逆にする。
本実施例において、1駆動器44及び45の通常の方向
は左から右である。
方向制御端子がアクチブになると、データは逆方向即ち
右から左へ通ることができる。
駆動器45に関して言えば、記憶ユニット22a及び2
2bの双方が同時に選択される時、出力能動端子OE3
が能動化される。
これはOR回路145の出力によって達成される。
方向端子D3が能動化されてデータを右から左へ移動さ
せるのは、AND回路160が「記憶ユニットからデー
タ・レジスタへ」の信号を与える時、又はAND回路1
57がIDCB読出し信号を与える時である。
前者の信号はサイクル・スチール動作のために生じ、後
者の信号はI10指令転送動作のために生じる。
両方向駆動器44の出力能動端子OE1は、線32上に
CS/S G捕捉信号が生じる時、又はフリップ・フロ
ップ138の出力にHP接続許容信号が生じる時に能動
化される。
方向制御端子D1が能動化されるのは、「データ・レジ
スタからHHPへ」の信号がAND回路155によって
発生される時、又はIDCB読出し信号がAND回路1
57によって発生される時に、データを駆動器44の右
から左へ移動させるためである。
〔第16図のホストDMA要求論理ユニット28及びレ
ジスタ制御ユニット47の説明〕 第16図を参照すると、そこには第2B図のホストDM
A要求論理ユニット28及び第2A図のレジスタ制御ユ
ニット47の詳細が示される。
レジスタ制御ユニット47は第16図の下部にダラシ線
で囲まれており、第16図の上部にはホストDMA要求
論理ユニット28が示される。
ホストDMA要求論理ユニット28はDMA制御ユニッ
ト13を制御し、DMA制御ユニット13は、データが
ホスト・プロセッサ1と記憶ユニット22 a 、22
bとの間をサイクル・スチール・モードで転送される
のを制御する。
第10図に示されるDMA制御ユニットの詳細図を参照
する。
上記のサイクル・スチール転送動作はDMA制御ユニッ
ト13中のチャネル0及びチャネル1回路によって制御
される。
本実施例において、チャネル2及びチマネル3は使用さ
れない。
チャネル1アドレス・カウンタ82はHPアドレス・バ
ス35へ送られるホスト・プロセッサ主記憶装置アドレ
スを与え、チャネル1アドレス・カウンタ84は記憶ユ
ニット22 a 、22 bからHPデータ・バス34
へ(又はその反対方向へ)データを移動させるため、記
憶ユニット22a、22bへ与えられるアドレスを与え
る。
バイト・カウンタ83及び85は転送されるべく残って
いるワード数を追跡するために使用される。
カウンタ中の計数値がゼロになると、それは対応するチ
ャネルの動作を終了させる。
サイクル・スチール動作は、ホスト・プロセッサ1がサ
イクル・スチール開始指令を送ることによって開始され
る。
マイクロプロセッサ11は、それに応答してホスト・プ
ロセッサ1から第4図に示されるような8ワードの装置
制御ブロック(DCB)をフェッチする。
これらのDCBワードはサイクル・スチール・モードで
フェッチされ、記憶ユニツ)22a 、22bの適当な
部分に記憶される。
DCBワードの転送が終ると、マイクロプロセッサ11
はDCB情報を使用して、主たるデータの転送動作を行
なわしめるために、DMN制御ユニット13を起動する
具体的には、それはアドレス・カウンタ82へDCBワ
ーワーに含まれる主記憶装置データ・アドレス(開始ア
ドレス)をロードする。
記憶ユニット22 a 、22 bのための所望の開始
アドレスは、アドレス・カウンタ84にロードされる。
このパラメータは、問題となっている特定の装置につい
て、制御ユニットをセット・アップしてサイクル・スチ
ール動作を行なわせるため、制御プログラム記憶ユニッ
ト12(第2B図)に含まれるサブルーチン中の命令か
ら得られる。
バイト・カウンタ83及び85は同一の値をロードされ
る。
即ち、それはDCBのワード6に含まれるバイト・カウ
ントf直の半分である。
半分の値が使用される理由は、各データ・ワードが転送
された後にバイト・カウンタが1だけ減少されるのに反
し、データ・ワードの転送は2バイトずつ起るからであ
る。
もしDCBがバイト・カウントではなくワード・カウン
トを含むように設定されるならば、バイト・カウンタ8
3゜85へ2分の1の値をロードする必要はない。
アドレス・カウンタ82についてもワードとバイトとの
同様な関係がある。
このカウンタに含まれるアドレスは主記憶装置のバイト
・アドレスであり、それは各データ転送の後に1だけ増
加される。
同時に、各々の新しいサイクル・スチール転送のために
サイクル・スチール・アドレス・レジスタ27ヘロード
されるアドレスは、そのレジスタへ以前にロードされた
アドレスより2だけ高いカウントでなければならない。
何故ならば、各々のサイクル・スチール転送は2バイト
・データ・ワードを転送するからである。
この差は、サイクル・スチール・アドレス・レジスタ2
7への入力線を1ビット位置だけ左へずらすことによっ
て考慮されている。
即ち、それによってレジスフ2フヘロードされたアドレ
ス・ビットは1だけ左方ヘシフトされる結果となる。
バイト・カウンタ83及び85の各々に含まれる1対の
制御ビットは、DMN制御ユニットが読出し動作を実行
すべきか書込み動作を実行すべきかをI)MA制御ユニ
ットへ知らせるために最初にロードされる。
もしそれが■/′0制御装置からホスト・プロセッサへ
の転送(読出し動作)であれば、バイト・カウンタ85
中の制御ビットがセットされ、DMC制御ユニットはチ
ャネル11)MAサイクルの間に、MEMI(、(メモ
リ読出し)パルス及びそれに続< l0W(I10書込
み)パルスを発生する。
逆に、それがホスト・プロセッサから丁10制御装置へ
の転送(書込み動作)であれば、チャネルIDMNサイ
クルでI OF(、パルス及びそれに続<MEMWパル
スが発生されるように制御ビットがロードされる。
考慮すべきもう1つの点は、DMN制御ユニット13中
のモード・レジスタには適当な制御ビットが最初にロー
ドされ、優先順位解決手段90は循環優先順位モードの
動作を可能にすることである。
この循環優先順位モードにおいて、DRQ入力線の優先
順位は循環シーケンスを有する。
各々のDMAサイクルの後に、各DRQ線の優先順位は
変化する。
サービスされたばかりのDR,Q線は最低の優先順位へ
セットされる。
その結果、例えばf)RQQ及びD RQ 1の双方が
オンにされ且つオンになったままであれば、循環優先順
位機構はDRQO及びDRQlを交互にサービスさせる
即ち、最初にDRQQがサービスされれば、次にDRQ
l、次にD I(QOの順である。
DMA制御ユニット13が最初に設定された後生たるサ
イクル・スチール・データ転送動作の開始は、マイクロ
ブ狛セッサ11及びホストDMA要求論理ユニット28
によって起動される。
具体的には、マイクロプロセッサ11は110ポートO
UT命令を実行し、この命令は、MPデータ・バス37
上のデータ・ビットへ特別の値を与え、且つMPアドレ
ス・バス38上にアドレスを与える。
それによって、チップ選択信号C87がチップ選択デコ
ーダ68によって発生される。
第16図を参照すると、MPデータ・ビット7はI10
ボート・ラッチ162をセットするのに必要な所望の値
を与えられる。
それは適当な入出力インディケーク値を表示するためで
ある。
MPデータ・ビット7はチップ選択化−qcs7によっ
てラッチ162ヘストロープされる。
ラッチ162が1の値ヘセソトされるのは、入力(■1
0制御装置からポスト・プロセッサへの)サイクル・ス
チール動作が実行されるべき時である。
他方、出力(ホスト・プロセッサからI10制御装置へ
の)サイクル・スチール動作が実行されるべきてあれは
、ラッチ162は七尤値をロードされる。
更に、この同じマイクロプロセッサ110ボー)OUT
命令はMPデータ・ビット6の線を「1」の値へ置く。
このビットはC87信刊と一緒にANDL!−1路16
3へ印加され、フリップ・フロップ164をセット条件
に置く。
これはサイクル・スチール動作を開始させる。
具体的には、フリップ・フロップ164のセットはサイ
クル・スチール要求開始線をオンにし、この線はOR回
路165を介してDIVLA制御ユニット13のIJI
(QO線をオンにする。
まず、出力(ホスト・プロセッサから[10制御装置へ
の)サイクル・スチール動作(ラッチ162がOに等し
い)の場合を考える。
DRQO線がオンにされると、DMN制御ユニット13
はホスト・プロセッサ主記憶装置アドレスをMPアドレ
ス・バス38上に置く。
このアドレスは、DI(QODMA−サイクルのために
DMA制御ユニット13によって発生されたD A C
K O及びMEMWパルスによって、サイクル・スチー
ル・アドレス・レジスタ27(第1図)へストローブさ
れる。
(DACKはDMA承認の意味である。)更に、DRQ
O線のルベルはへND回路166及びOR回路167を
介して線31−ヒにサイクル・スチール要求信号を発生
する。
この信号はサイン、ル・スチール要求ラッチ92(第1
2図)をセットする。
ラッチ92はホスト・プロセッサ1ヘサイクル・スチー
ル要求イン信号を送る。
ここで注意すべきは、フリップ・フロップ164は、D
RQOサイクルの間に発生されたDA、CKO及びAD
STBノパルスによってへND回路168によりリセッ
トされることである。
これはサイクル中の十分遅い時点で生じるので、DRQ
O線がオフになってもDRQQサイクルの完了には何の
影響もない。
DMA制御ユニット13及びホスl−DMA要求論理ユ
ニット28は今や待ち状態に入り、ホストプロセッサ1
がサイクル・スチール要求を認識しそのC8/SG捕捉
信号を送出すること、転送されるべきデータ・ワードが
このサービス・ゲート期間中にホスト・プロセッサ1に
よってHPデデー・バス34上に置かれることを待機す
る。
これが生じたことは、レジスタ制御ユニット47中に置
かれたAND回路169の働きにより、ホストDMA要
求論理ユニット28によって認識される。
具体的には、サイクル・スチール・サービス・ゲート(
C8/SG)捕捉信号及びHPデータ・ストローブ信号
の発生は、AND回路169をしてルベル出力信号を発
生せしめる。
この信号は「HPからデータ・レジスタへ」の転送信号
である。
この信号は、HPデータ・バスのデータをデータ・レジ
スタ46ヘストローブするために、OR回路170及び
5TBZ線を介して与えられる。
更に、NND回路169から出力される1−HPからデ
ータ・レジスタへ」の転送信号は、OR回路171を介
してフリップ・フロップ172をセットする。
これはフリップ・フロップ172のDRQI出力線をオ
ンにする。
それはDMA、制御ユニット13へDRQI要求を行な
うためである。
もしDMA制御ユニット13がDRQOサイクルを終了
していれば、DRQ1要求が認識され、DRQIサイク
ルが開始される。
DFtQOサイクルが終了していなければ、DRQ1要
求はD RQOサイクルの終了まで未決にされ、DRQ
Oサイクルが終った時にDRQIサイクルが開始される
DRQIサイクルの間、DMA制御ユニット13はMP
アドレス・バス38上に記憶ユニット22a、22bの
ためのアドレスを置く。
このアドレスの13個の低順位ビットはアドレス選択器
63によって記憶ユニツ)22a 、22bへ通される
その復習くして、DMA制御ユニット13から与えられ
たDA、CK1及びMEMW信号は、へND回路173
の出力に2進のルベルを発生する(第16図)。
この2進のルベルは「データ・レジスタから記憶ユニッ
トへ」の転送信号であり、OR回路174を介してデー
タ・レジスタ46のOE2入力端子へ与えられる。
それはデータ・レジスタ46の出力を能動化するためで
ある。
これはデータ・レジスタ46中のデータ・ワードを駆動
器45(第13A図)へ与え、そしてそこから記憶ユニ
ツ)22a及び22bのデータ・バス入力へ与える。
このDRQIサイクル中に匹制御ユニット13によって
与えられた記憶ユニット・アドレスは、チップ選択デコ
ーダ68(第2B図)によってC83チツプ選択信号を
発生する様な値である。
第13N図に示される様に、これは記憶ユニット22a
及び22bの双方に対する「選択」線を能動化せしめる
更に、このDR,Q1サイクル中に生じたMEMW信号
は、記憶ユニット22a及び22bの「書込み」制御入
力を能動化する。
かくて、データ・レジスタ46によって与えられ且つ駆
動器45によって通されたデータ・ワードは記憶ユニツ
)22a及び22bへ書込まれる。
更に、DRQ1サイクル中に生じたDACKI信号は、
AND回路175を介してフリップ・フロップ176を
セットする。
フリップ・フロップ176のセットは、DRQO要求線
を再びオンに戻す。
かくて、DRQ1サイクルの終了後に他のDRQOサイ
クルが始まり、このようなりFtQO/DRQI動作が
繰り返されて、次のデータ・ワードのサイクル・スチー
ル転送が生じる。
前述したごとく、それぞれの関連したDRQOおよびD
RQIサイクルの終り近くで、DMNMPアドレスウン
タ82及び84(第10図)は1だけ増進され、DM八
へイト・カウンタ83及び85(第10図)は1だけ減
少させる。
かくて、新しいホスト・プロセッサ及び2ポート記憶ユ
ニツトの記憶アドレスが新しいDR’QO/DRQIサ
イクルのために与えられる。
これらのDRQO及びDRQIサイクルは、バイト・カ
ウンタ83及び85のカウントがモーになるまで交互に
反復される。
バイト・カウンタ83中のカウントがゼロになると、D
M八へ御ユニットは自動的にチャフ、ル0動作を停止し
、それ以後のDRQOサイクルは実行されない。
同様に、バイト・カウンタ85がゼ用こなると、チャネ
ル1動作は停止し、それ以後のDRQIサイクルは生じ
ない。
これから、反対方向(即ち、■10制御装置2からホス
ト・プロセッサ1へ)に生じるサイクル・スチールを考
察する。
■場合、I10ポート・ラッチ162が1へセットされ
る。
DMA制御ユニット13がセット・アップされた後、サ
イクル・スー]−−ル・イン(IN)動作がフリップ・
フロンプ164をセットすることによって開始される。
これはf)RQO要求線をオンにする。
DRQO要求線の2進のルベルはAND回路177及び
OR回路171を介してフリップ・フロップ172をセ
ットする。
これはDRQI要求線をオンにする。
DI(Ql要求線の2進のルベルは、へND回路178
及びOR回路167を介して直ちにサイクル・スチール
要求線31をオンにするように働く。
この線はホスト・プロセッサ1ヘザイクル・スチール要
求を伝える。
DRQO及びDRQI要求線の双方がアクチブであるか
ら、DMA制御ユニット13はまずDRQOサイクルを
実行し、それに続いて直ちにDRQlサイクルを実行す
る。
D RQ Oサイクルは、ホスト・プロセッサ主記憶装
置アドレスをDMAアドレス・カウンタ82からサイク
ル・スチール・アドレス・レジスタ27へ転送するよう
に働へDRQIサイクルは、次のデータ・ワードを記憶
ユニット22a及び22bから両方向1駆動器45を介
してデータ・レジスタ46へ転送するように働く。
具体的には、DRQ1サイクル中に生じたDACKI及
びMEMR信号は、AND回路179をしてルベル出力
を発生せしめる。
このルベル出力は「記憶ユニットからデータ・レジスタ
へ」の転送信号であり、OR回路170を介してデータ
・レジスタ46のデータ・ストローブ入力5TB2へ与
えられる。
これはデータ・ワードをデータ・レジスタ46へストロ
ーブする。
DMA制御ユニット13及びホスl−DMN要求論理ユ
ニット28は今や待ち状態に入り、ホスト・プロセッサ
1がサイクル・スチール要求に応答するのを待機する。
(ホスト・プロセッサの応答が既に存在していれは、待
機は必要でない。
)ホスト・プロセッサのデータ転送条件への応答及びそ
の準備完了は、サイクル・スチール・サービス・ゲ)(
C3/SG)捕捉信号が生じたことによって示される。
この捕捉信号はAND回路180の出力にルベル出力を
発生する。
このルベル出力は「データ・レジスタからHPへ」の転
送信号であり、OR回路1γ4を介してデータ・レジス
タ46の出力能動入力端子OE2へ与えられる。
これは両方向1駆動器44の「右から左へ」の転送能動
条件とあいまって、データ・ワードをHPデデー・バス
34上に置く。
それはホスト・プロセッサ1へそのデータ・ワードを転
送するためである。
サイクル・スチール・サービス・ゲー1− (CS/S
G)捕捉信号の発生は、ホスト・プロセッサから与えら
れるH Pデータ・ストローブ信号とあいまって、へN
D回路181からルベル出力を発生させる。
このルベル出力はAND回路182をしてルベル出力を
発生させ、このルベル出力はフリップ・フロップ183
をセットする。
これは再びDFtQO要求線をオンに戻す。
DRQO要求線は最初のDRQOサイクル中にフリップ
・フロップ164をAND回路168によってリセット
することによりオフにされた。
f)RQO要求線のオンへの戻りは、前述したf)RQ
O及びD RQIサイクルの反復を生じ、よって次のデ
ータ・ワードがホスト・プロセッサ1へ転送される。
これらDF(QO/DRQIサイクルは、DMAバイト
・カウンタ83及び85中のカウントがゼ゛口になるま
で反復され、その後DMA動作は終了する。
そして新しいサイクル・スチール開始指令及び装置制御
ブロック(DCB)がホスト・プロセッサ1によって出
されるまで、DMA動作は終了したままである。
これまで説明した実施例においては、DMN制御ユニツ
)13はホスト・プロセッサ1と記憶ユニッ) 22
a 、22 bとの間でデータ・ワードをサイクル・ス
チール転送する場合にのみ関係した。
このような実症例において、■10ユニット及び記憶ユ
ニツl□ 22 a 、22 bの間のデータ・バイト
の転送は、マイクロプロセッサ11によって処理される
マイクロプロセッサ11によって処理される典型的動作
モードは、所与のI10ユニットから記憶ユニツ) 2
2 a 、22 bへ1ブロツク又は1ページのデータ
を1時に1バイトずつ転送することである。
このタスクが終った後に、マイクロプロセッサ11はホ
スト・プロセッサ1へ「アテンション」割込み要求を生
じさせ、ポスト・プロセッサ1へ転送されるべく準備の
ととのった1ブロツクのデータが存在したことを知らせ
る。
その後、ホスト・プロセッサ1はI10制御装置2ヘサ
イクル・スチール開始指令を出す。
DCBフェッチ及びDMA制御ユニットのセット・アッ
プを終えた後、DMA制御ユニット13は記憶ユニット
22a、22bからホスト・プロセッサ1ヘブロック又
はページのデータをサイクル・スチール転送させる。
逆方向で生じる典型的データ転送の場合(即ち、ホスト
・プロセッサ1からI10ユニットへ)、同様の手順が
逆方向でとられる。
この場合、ホスト・プロセッサ1から記憶ユニット22
a、22bへのサイクル・スチール転送は、記憶ユニッ
ト22a 、22bからI10ユニットへのバイトごと
のデータ転送より前に起る。
〔第17図の変更実施例の説明〕 ここで、第17図を参照すると、そこにはI10ユニッ
トと2ポート記憶ユニツトとの間のデータ転送がDMA
制御ユニット13によって処理される変更実症例が示さ
れる。
この実施例は、■10ユニットから2ポート記憶ユニツ
トへの転送と2ポート記憶ユニツトからホスト・プロセ
ッサへの転送とを重複させ、逆に、ホスト・プロセッサ
から2ポート記憶ユニツトへの転送と2ポート記憶ユニ
ツトからI10ユニットへの転送とを重複させるために
使用することができる。
第17図において、■10ユニットから2ポート記憶ユ
ニツトへの転送(又はその逆)は、DMA制御ユニット
13のDRQ2及びDRQ3チャネルによって処理され
る。
DR,Q2チャネルは高バイト記憶ユニツ)22aとの
間の転送を処理するために使用され、DRQ3チャネル
は低バイト記憶ユニット22bとの間の転送を処理する
ために使用される。
装置DMA要求論理ユニット185の目的は、連続する
装置DMA要求をDE(Q2及びDRQ3チャネルへ交
互に印加させることである。
これは連続するデータ・バイトを高バイト記憶ユニツ)
22a及び低バイト記憶ユニツ)22bに交互に記憶さ
せるために必要である。
第10図の詳細なりMA制御ユニット13を参照すると
、チャネル2アドレス・カウンタ86は最初高バイト記
憶ユニツ)22a中の所望の開始アドレスをロードされ
る。
このアドレスはチップ選択信号C82を発生するのに適
したアドレス範囲にある。
チャネル3アドレス・カウンタ88は最初像バイト記憶
ユニツ)22b中の適当な開始アドレスをロードされる
このアドレスはチップ選択信号C81を発生するのに必
要なアドレス範囲にある。
適当なワード転送を後で行なうためには、アドレス・カ
ウンタ86,8Bの各々へロードされた開始アドレスは
、チップ選択に使用される3個の最高順位アドレス・ビ
ットを除いて同じでなければならない。
チャネル2及びチャネル3バイト・カウンタは、記憶ユ
ニット22a又は22bへ転送されるべきバイト数に対
応する適当な値を最初にロードされる。
前と同じように、D、MA、制御ユニット13のモード
・レジスフは優先順位解決手段90が循環優先順位モー
ドで動作するようにセットされる。
その結果、各DMAサイクルの後に、各チャネルの優先
順位は変更され、サービスされたばかりのチャネルは最
低優先順位ヘセットされる。
第17図を参照すると、周辺装置(■10ユニツ))1
86がデータ・バイト転送の準備をととのえた時、装置
制御ユニット187はそのDMA要求線を上昇させる。
この線は装置DMA要求論理ユニット185へ入る。
装置DMA要求論理ユニット185は最初I10ポート
・ランチ188によって能動化されている。
ランチ188は、周辺装置186のデータ転送がDMA
モードで実行されることが望まれる場合に、マイクロプ
ロセッサ11によって2進の1をロードされる。
逆に、ランチ188がゼロをロードされれば、データ転
送は前に説明したようにして実行される。
ランチ188が1をロードされると、フリップ・フロッ
プ189はリセットされる。
これは4ND回路190へ走っている回出力をオンにし
、AND回銘191へ走っているQ出力をオフにする。
以上によって、装量DMA要求論理ユニット185の初
期設定が完了する。
要求論理ユニット185の初期設定が終った後、装置制
御ユニット187によって出される最初のDMA要求は
、AND回路190によってDMA制御ユニット13の
DRQ2へ通される。
DI’tQ2チャネルが使用される番になると、上記の
事象によって装置制御ユニット187から記憶ユニット
22aへ(又はその逆へ、MPデータ・バス37を介し
てデータ・バイトが転送される。
具体的には、DRQ2サイクルの間に発生されたDAD
K2)信号がOR回路192及び193を介して装置制
御ユニット187のチップ選択入力へ与えられる。
それによって、装置制御ユニット187はそのデータを
MPデータ・バス37へ置く。
同時に、OR回路192の出力に現われるDACK2信
号はフリップ・フロップ189を反対の状態(セット状
態)ヘトグルするため使用される。
これはQ出力をオンにし、Q出力をオフにする。
その結果、装置制御ユニット18γによって出された次
のDMA要求は、AND回路191を介してDMA制御
ユニット13のDFtQ3人カへ与えられる。
DRQ3チャネルが使用される番になると、DMA制御
ユニット13は次のデータ・バイトを装置制御ユニット
187から低バイト記憶二二ツ) 22bへ(又はその
逆へ)MPデータ・バス37を介して転送せしめる。
DRQ3サイクルの間に発生されたDACK3信号は、
フリップ・フロップ189を反対の状態へ転換し、且つ
装置制御ユニットのチップ選択入力線を能動化する。
フリップ・フロップ189の交互の転換によって、連続
したDMA要求及びデータ・バイト転送はDMA制御ユ
ニット13のDRQ2及びDFjQ3チャネルによって
交互に処理される。
これから第17図の実施例の典型的動作態様を考察する
例えば、データがI10ユニットからホスト・プロセッ
サへ転送されるものとする。
この例において、マイクロプロセッサ11は最初DMA
要求論理ユニット185を能動化するが、ホス)DMA
要求論理ユニット28を能動化しない。
これにより、周辺装置186から2ポート記1意ユニツ
ト22 a + 22 bへ1ブ゛ロツク又は1ページ
のデータがDMN方式で転送される。
このブロック転送が終ると、マイクロプロセッサ11は
ホス)DIVI要求論理ユニット28及び装置胤要求論
理ユニット185の双方を能動化する。
これは2ポート記憶ユニツF 22 a 、22 bか
らホスト・プロセッサ1へ最初のデータ・フ尤ツクをサ
イクル・スチール転送せしめ、同時に第2のデータ・ブ
ロックを周辺装置186から2ポート記臆ユニツ)22
a 、22bへ転送せしめる。
DMA制御ユニット13では循環優先順位モードが使用
されるから、ホスト・プロセッサへのサイクル・スチー
ル転送は、概してI10ユニットから2ポート記憶ユニ
ツトへのf)MA方式転送とインクリーブされる。
このシステムの利点は、1組の転送が次の組の転送を待
機する必要がないことである。
例えば、ホスト・プロセッサ1が他のタスクで忙しいな
らば、DRQO及びDRQI要求線はイナクチブとなる
それでも、DRQ2及びDRQ3要求線はデータを周辺
装置186から2ポート記憶ユニツ)22a、22bへ
転送し続ける。
逆に、所与の時間に周辺装置186が作動可能でなくて
も、DRQO及びDFtQ1チャネルはデータをホスト
・プロセッサ1ヘサイクル・スチール転送し続けること
ができる。
DE(QO/DRQIデータ転送に関するI10ユニッ
トは、DRQ2/DRQ3データ転送に関するI10ユ
ニットと同じものでなくてもよい。
もし所望ならば、これら2絹の転送は、同一時間中に2
個の異なったI10ユニットに関してなされてよい。
〔第18図の複数周辺装置に関するDMA実施例の説明
〕 第18図は3個の異なった周辺装置(I10ユニット)
に関して実行される2ポート記憶ユニツ)22a 、2
2bへのデータ転送がDMA制御ユニットによって処理
される実施例を示すものである。
周辺装置186は、第17図に関して前に説明したよう
にして、DMA制御ユニット13により処理される。
加えて、2個の他の周辺装置195及び196、及び対
応する装置制御ユニット197及び198は第2のDM
A制御ユニット200によって処理される。
第2のDMA制御ユニット200は第1のDMA制御ユ
ニット13と同じ構成のものであり、従って4チャネル
DM八制御ユニットである。
第2の装置DMN要求論理ユニット201は第2の周辺
装置195のためにDMA要求を処理し、第3の装置D
MA要求論理ユニット202は第3の周辺装置196の
ためにDMN要求を処理する。
装置DMA要求論理ユニット201及び202は装置D
MA要求論理ユニット185と同じ構成であり、且つ前
に説明したように論理ユニット185と同じように動作
する。
第18図の実殉例の動作は、前に説明したところから自
明であるが、異なっている点として、DMIL制御ユニ
ット13及び200の双方が略同じ時間にマイクロプロ
セッサ11へ「保留」要求信4(HRQl及びHR,Q
2)を与える場合に生じる競合状態がある。
この競合状態はDM八へ合論理ユニツl−203によっ
て解決される。
DMA競合論理ユニット203の1つの形態は第19図
に示される。
第19図を参照すると、DMA制御ユニット13及び2
00から生じるHRQl及び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信号を受取らないDMA制
御ユニットは使用される番が来るまで待機しなければな
らない。
競合論理ユニット203はAND回路205〜207及
びNOT回路208〜210を含む。
これらの回路によって実行される論理は、HLDA信号
が現われた時、HRQlがルベルにありHRQ2が0レ
ベルにあれば、HLDA信号はHLDAI出力端子を介
して第1のDMA制御ユニット13へ入るようになって
いる。
逆に、HLDA信号が現われた時、HRQ2がルベルに
ありHRQlがθレベルにあれば、HLDA信号はHL
DA2出力端子を介して第2のDMA制御ユニット20
0へ送られるようになっている。
更に、HLD&信号が現われた時、HRQl及びHRQ
2の双方がルベルにあれば、HLDA信号はHL D
A I出力端子を介して第1のDMA制御ユニット1
3へ送られる。
【図面の簡単な説明】
第1図は本発明に従うI10制御装置を組込まれたディ
ジクル・データ処理システムのブロック図、第2図は第
2A図、第2B図、第2C図、第2D図の配列を示す図
、第2N図乃至第2D図は本発明に従うI10制御装置
の構成を詳細に示す図、第3図、第4図、第5図、第6
図、及び第7図は第1図のデータ処理システムで使用さ
れる各種の指令、制御ブロック、状況ワードの形式を示
す図、第8図は本発明に従うI10制御装置で使用され
てよい典型的マイクロプロセッサの内部構成を詳細に示
す図、第9図は第8図のマイクロプロセッサで生じる典
型的命令サイクルを示すタイミング図、第10図は本発
明に従うI10制御装置で使用されてよい直接メモリ・
アクセス(DMA)制御ユニットの内部構成を詳細に示
す図、第11図は第10図のDMA制御ユニットの2つ
の連続した典型的DMAサイクルで生じる各種の信号波
形を示したタイミング図、第12図は第12A図及び第
12B図の配列を示す図、第12A図及び第12B図は
第2C図の割込み兼サイクル・スチール初期接続ユニッ
ト33の内部構成を詳細に示す図、第13図は第13A
図及び第13B図の配列を示す図、第13A図及び第1
3B図は第2A図の記憶制御論理ユニット48の内部構
成、及びホスト・プロセッサ・チャネル・バスとI10
制御装置記憶ユニットとの間でデータを転送するために
使用される両方向駆動器の方向信号(Dl。 D3)及び出力能動信号(、OEl 、OE2,0E3
)の発生論理を示す図、第14図は第2B図のマイクロ
プロセッサ11によってアドレスされることのできる記
憶ユニットの低部分アドレス領域を示す図、第15図は
第14図に示される2個のIDCBバイト領域を拡大し
たものの図、第16図は第2B図のホストDMA要求論
理ユニット28及び第2A図のレジスタ制御ユニット4
7の内部構成を詳細に示す図、第17図は第2図のI1
0制御装置の変更例であって、周辺装置(■10ユニッ
ト)とI10制御装置記憶ユニットとの間で行われるデ
ータ転送が第2B図のDMA制御ユニット13によって
処理されるものの図、第18図は第2図のI10制御装
量の変更例であって、3個の異なった周辺装置(■10
ユニット)とI10制御装置記憶ユニットとの間で行な
われるデータ転送を1対のDMA制御ユニットで制御す
るようにしたものの図、第19図は第18図に示される
DMA競合論理ユニット203の内部構成を詳細に示し
たものの図である。 1・・・・・・ホスト・プロセッサ(HP)、2・・・
・・・I10制御装置、3,4,5,6・・・・・・周
辺装置(I10ユニット)、7・・・・・・主記憶装置
、8・・・・・・ホスト・プロセッサI10チャネル・
バス、9・・・・・・チャネル、11・・・・・・マイ
クロプロセッサ(MP)、12・・・・・・制御プログ
ラム記憶ユニット、13・・・・・・直接メモリ・アク
セス(DMA)制御ユニット、14・・・・・・プログ
ラム可能割込み制御(PIC)ユニット、15・・・・
・・ユーザー記憶ユニット、16・・・・・・マイクロ
プロセッサI10バス、17,18゜19.20・・・
・・・装置制御ユニット、22・・・・・・2ポート・
ランダム・アクセス記憶ユニット、23・・・・・・ア
ドレス・デコーダ、25・・・・・・指令レジスタ・フ
ァイル、27・・・・・・サイクル・スチール・アドレ
ス・レジスタ、28・・・・・・ホストDMへ要求論理
ユニット、30・・・・・・初期接続割込み無雑用制御
ユニット。

Claims (1)

  1. 【特許請求の範囲】 1 記憶ユニット及び該記憶ユニットへアドレスを供給
    するプロセッサを含み、該プロセッサはその各マシン・
    サイクルにおいて前記アドレスを出力するための制御パ
    ルスを発生するようになっているデータ処理システムに
    おいて、前記プロセッサとは別の第2のプロセッサから
    の転送要求によって該第2のプロセッサと前記記憶ユニ
    ットとの間でサイクル・スチール方式でデータを転送す
    るために、 通常は前記プロセッサからのアドレスを前記記憶ユニッ
    トへ供給し、前記第2のプロセッサの接続を許容する接
    続許容信号が発生されると前記第2のプロセッサからの
    アドレスを前記記憶ユニットへ供給するアドレス選択手
    段と、 前記転送要求があったときに前記制御パルスに応答して
    前記接続許容信号を発生する接続許容手段と、 前記プロセッサと前記記憶ユニットとの間で実際のデー
    タ転送が行われていない間に前記接続許容信号に応答し
    て前記第2のプロセッサと前記記憶ユニットとの間でデ
    ータ転送を行わせる転送手段とを具備するサイクル・ス
    チール機構。
JP55090790A 1979-07-30 1980-07-04 サイクル・スチ−ル機構 Expired JPS5820061B2 (ja)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS5621223A JPS5621223A (en) 1981-02-27
JPS5820061B2 true JPS5820061B2 (ja) 1983-04-21

Family

ID=22041308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55090790A Expired JPS5820061B2 (ja) 1979-07-30 1980-07-04 サイクル・スチ−ル機構

Country Status (5)

Country Link
JP (1) JPS5820061B2 (ja)
AU (1) AU534605B2 (ja)
BR (1) BR8004730A (ja)
CA (1) CA1149070A (ja)
ES (1) ES493786A0 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116846U (ja) * 1988-02-01 1989-08-07

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53108732A (en) * 1977-03-04 1978-09-21 Hitachi Ltd Direct memory access system
JPS5465446A (en) * 1977-11-04 1979-05-26 Fujitsu Ltd Direct memory access control system
JPS54127235A (en) * 1978-03-27 1979-10-03 Toshiba Corp Direct memory access unit
JPS5549728A (en) * 1978-10-04 1980-04-10 Hitachi Ltd Data transfer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53108732A (en) * 1977-03-04 1978-09-21 Hitachi Ltd Direct memory access system
JPS5465446A (en) * 1977-11-04 1979-05-26 Fujitsu Ltd Direct memory access control system
JPS54127235A (en) * 1978-03-27 1979-10-03 Toshiba Corp Direct memory access unit
JPS5549728A (en) * 1978-10-04 1980-04-10 Hitachi Ltd Data transfer system

Also Published As

Publication number Publication date
ES8104593A1 (es) 1981-04-01
ES493786A0 (es) 1981-04-01
AU534605B2 (en) 1984-02-09
AU5908180A (en) 1981-02-05
CA1149070A (en) 1983-06-28
BR8004730A (pt) 1981-02-10
JPS5621223A (en) 1981-02-27

Similar Documents

Publication Publication Date Title
US4417304A (en) Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4371932A (en) I/O Controller for transferring data between a host processor and multiple I/O units
US4309754A (en) Data interface mechanism for interfacing bit-parallel data buses of different bit width
US4479179A (en) Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4067059A (en) Shared direct memory access controller
US5535417A (en) On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes
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
US4365294A (en) Modular terminal system using a common bus
JPS58134324A (ja) インタ−フエイス・アダプタ
US4803622A (en) Programmable I/O sequencer for use in an I/O processor
JPS59501762A (ja) 直接メモリアクセス・インタ−フエイス装置
JPH06175969A (ja) Dmaチヤネル装置及びdmaチヤネルの変換装置
JPH0619752B2 (ja) データ転送方法及び装置
EP0205943B1 (en) Composite data-processing system using multiple standalone processing systems
US4665482A (en) Data multiplex control facility
JPH04363746A (ja) Dma機能を有するマイクロコンピュータシステム
JPH0142415B2 (ja)
JPS636890B2 (ja)
US5481677A (en) Data transfer system in which data is transferred to or from a data memory during an instruction fetch cycle
US5566352A (en) Register-read acknowledgment and prioritization for integration with a hardware-based interrupt acknowledgment mechanism
JPS60254358A (ja) マルチア−キテクチヤマイクロプロセツサシステム
JPS5820061B2 (ja) サイクル・スチ−ル機構
US4665481A (en) Speeding up the response time of the direct multiplex control transfer facility
EP0023266B1 (en) High performance i/o controller for transferring data between a host processor and multiple i/o units
JPS5820060B2 (ja) 入出力制御装置