【発明の詳細な説明】
直接メモリアクセス用制御器
技術分野
本発明は、1つのメモリ記憶位置から別のメモリ記憶位置へ、又は、メモリ記憶
位置へ/から入出力(I10’)装置へ/からの転送するためのコンピュータ内
のサブシステムに関する。特に、本発明は、各バイトが8ビツトから成るような
、データの2又はそれ以上のバイトのデータワード幅を備え、データが転送の間
に処理され作動するような直接メモリアクセス(DMA)に関する。
背景技術
従来、コンビニ−タシステムは、中央処理装置(CPU)により、大型の対話式
科学計算、オンライン式ビジネストランザクション処理、グラフィックインタフ
ェース、財務会計プログラム、多数の別のデータ操作の集中処理といった所望の
結果を実行するために必要な動作の全てを実行可能なように、できるだけ迅速に
CPUにデータを転送できるように設計されてきた。DMAは、特にバス指向形
コンピユータシステムのアーキテクチャにおいて、先導的な方法の一つとなって
い条。けれども、DMAサブシステムは、データ転送動作を完了するために、通
常は「バス周期」又は単に「周期」と称される有限の時間間隔を採用している。
周期時間は半導体デバイス技法の速度が向上するにつれて短縮されてはいるもの
の、実際には、転送が完了するまでデータ上の動作を実行できない。
この関連において、初期コンピュータは8ビツトのデータワード幅で動作するよ
うに構成されていた。より複雑な機能がコンピユータ化されるにつれ、この8ビ
ツトバイトが、急速に、計算速度、したがってデータ処理の処理能力を限界付け
ることになった。このように、8ビツト幅バイトに配置された、16.32.6
4ビー/ト、さらにそれ以上のビットの幅の広いワード幅が導入されてきた。
幅の広いワード幅は、一般に、大型のメインフレームシステムで見られるのみな
らず、ミニコンピユータとして知られている中間サイズのコンビ二一夕によって
駆動されるような処理制御システムにおいても見ることができる。個々のユーザ
の能力水準の一般的向上に加えて、多くの今日の商業上産業上のビジネストラン
ザクションがパーソナルコンピュータ(P/C)又はP/Cベースのシステムに
おいて行われている。P/Cベースのシステム上で複雑な機能を実行することが
好ましいのであるから、かかるシステムは、かかる複雑な動作を効率的に実行す
るために、8ビツト以上の幅の広いワード幅上で動作するように構成される。P
/Cに組み込まれるほとんど大多数は8ビツトデータに限定され、P/Cの次世
代を想定して一般に使用されるマイクロプロセッサは16及び32ビツトをのデ
ータ幅を備えている。このように、かかるマイクロプロセッサがインタフェース
する必要がある周辺機器及びメモリサブシステムは8.16.32ビツトのデー
タ幅を備えているので、DMAサブシステムは、ソフトウェア資源の進展及び技
術の成長を広く考慮に入れれば、かかるデータ幅と互換性を有しなければならな
い。
従来は、8ビツトデータワードシステムのメモリは、アドレスバスから直接アド
レスされていた。メモリは8ビツトワードに構成され、アドレスバスから復号さ
れるアドレス信号がメモリ内の異なる固有ワード(この場合には、バイトに等し
い)を指摘する。16ビツトデータワードに関して設計されているシステムにお
いては、メモリは16ビツトワードで構成されている。DMAサブシステムが1
6ビツトメモリ又はI10装置から、16ビツ)I10装置又はメモリへ/から
データを転送するために必要となる限りは、各転送はワードから構成されて、デ
ータは番号付けされたアドレスへ/から書き込み又は読み出しされる。従来は、
8ビツト及び16ビツトメモリ対メモリ及びメモリ対I10装置アクセスの両方
を備えたシステムが存在していた。
8ビツトワードのI10装置が必要な場合には、メモリワードの記憶位置へ/か
らデータの流れを管理するための準備が必要であった。従って、典型的には、1
6ビツトメモリワードがさらデータの2つの8ビツトバイトに構成される。ビッ
ト0−7及び8−15がそれぞれ低ビット及び高ビットに指定される。こうして
、16ビツトデータワードのシステムにおいては、各ワードは2つの8ビツトバ
イトから構成されることになる。
個々のバイト記憶位置へ/からデータを向けるだめの方法は、バイトイネーブル
と呼ばれる別のアドレス信号を必要とする。16ビットワードシステムにおいて
は、第1の低バイト、すなわちAOアドレス行をアドレスする第1のアドレス行
がrBEONJ及び「BEINJと称される2つのバイトで置換される。BEO
N信号行が活動である場合に、データワードの低バイトが転送され;BEIN信
号が活動である場合に、データワードの高バイトが転送される。
BEON及びBEINの双方が同時に活動である場合には、両方のバイト、すな
わち完全なワードが同時に転送される。
同様に、32ビットDMAサブシステムを備えた32ビツトワードのシステムに
おいては、各ワードは4つの8ビツトに構成される。かかるシステムでは、二つ
のアドレス行AO及びA1が、それぞれ4つのバイトイネーブル行、すなわちB
EON及びBEIN、BE2N及びBE3Nに置換される。同様に、64ビツト
のDMAサブシステムを備えた64ビツトシステムでは、各データワードは、ワ
ード毎に8つの8ビツトバイトに構成されて、アドレス行AO。
A1及びA2は8バイトのイネーブルBEON乃至BE7Nで置換される。全て
の場合に、バイトイネーブル行は、転送されるべきワードのバイトを「指示(p
aint) Jすると称される。
従来のDMAサブシステムでは、3つのバス周期が、16ビツトデータワードを
8ビツトデータワードバイトと互換性を有するP/Cシステム内の奇数アドレス
へ/から転送するために必要とされる。
かかるシステムにおいては、メモリは16ビツトワードに構成されて(すなわち
2つの8ビツトバイト)、ワードの境界は偶数アドレスにおかれる。ffGIA
図を参照するに、16ビツト奇数アドレス記憶位置メモリ読み出し周期である周
期1の間に、アドレスは偶数メモリ記憶位置を指示して、アドレスは偶数メモリ
記憶位置を指示して、さらに高バイトの8ビット読み出しがバイト1回イネーブ
ルに応答して実行される。データ読み出しくパイ)A)はバイトAから構成され
るビット7−〇に関連するレジスタ内に格納される。第1のメモリ読み出し周期
の後で、メモリアドレスが次の偶数アドレスまで2つ増やされて、バイトポイン
タが読み出されるべきデータの低ハイド(ハイドB)を指示するべく有効化され
る。データの低バイトが読ろ出され、第2の周期の間に別のレジスタ内に向けら
れる。
第3の周期の間に、全ワード、とッ) 15−8及び7−0、すなわちパイ)B
及び八が直列にアセンブルされ、I10装置に転送するべくバス上で駆動される
。こうして、この技法で用いられる各ワードを転送するためには3つの周期が必
要となる。この技法が2バイト以上のワードを転送するために用いられる場合を
考えると、周期の数は(a+1)N回必要となる。これはワード当たりのバイト
の数であり、Nは転送されるべきワードの数である。このようにして、4バイト
ワードに関しては、5周期/ワードが必要となる。
第1B図を参照するに、16ビツト奇数メモリ書き込み動作は16ビツト奇数メ
モリ読み出し動作と同様である。再び、転送当たり3つのバス周期が必要となる
。第1の周期では、1つのワード、すなわち2つの8ビツトバイ)B及びAが、
I10装置から読み出され、ラッチに格納される。周期20間、ラッチ内の低パ
イ)AがバイトイネーブルBEINに応答する高バイトメモリ記憶位置に書き込
まれる。メモリアドレスが増加されて、BEINが非活動化されるように駆動さ
れて、ラッチ内の高バイトが、バイトイネーブル信号BEONに応答する低バイ
トメモリ記憶位置に書き込まれる。
従来では、メモリアドレスが、偶数アドレスからの全ての8ビツトアクセス及び
16ビツトアクセス内で決定される点に留意されたい。しかしながら、奇数アド
レスからの16ビツトアクセスに関しては、メモリアドレスが増かだけされる。
既に述べたように、大型のメインフレームコンピュータであろうと、現代のP/
Cであろうと、大部分のコンピュータシステムは、単純な算術計算、排他的OR
及びバレルシフトなどの処理が実行される前に、CPU又はマイクロプロセッサ
内又は近傍のレジスタにデータを転送する。しかしながら、超大型集積回路(V
LSI)半導体技法の出現により、事前部分計算システムアーキテクチャの実現
の機会が生じた。rVLS I :技術確信への挑戦(The Challen
ge to Innovate) J 、V L S Tシステム設計、198
8年IJ月号第6頁参照のこと。このように、今日では、多くの事項をより高速
に、又は多くの事項を同時に実行するために、又はその双方を実行するシステム
を、従来可能であった以上に、設計することが実際的になっている。特に、デー
タをより高速に転送し、転送の間にデータを処理することが可能な、すなわちオ
ンザフライ方式の現実的なりMAを完成することが可能となっている。
発明の開示
本発明のDMAサブシステムは、DMA転送の読み出し周期の間にデータを受信
するデータマニプレータを含んでいる。データマニプレータは、転送中にデータ
のバイト順序を再構成するための、あるいは、必要な場合には、受信された順序
でデータのバイトを転送するための回路を含んでいる。さらに、データマニプレ
ータは、転送中に、データのバイト内でデータのビット記憶位置を再構成し、又
はデータ上の論理演算又は算術演算を実行するためのオプションを供給する回路
を含んでいる。最後に、データマニプレータは、DMA転送の書き込み周期の間
に、データバス上で、データを駆動し、変更又は不変更で、戻したりするための
回路を含んでいる。
本発明のデータマニプレータは、データを転送すると同時に、異なるデータワー
ド寸法のI10装置との互換性を保ち、かつシステム全体の動作性能を改善する
ための機会を提供するためのいくつかのオプションを備えている。データマニプ
レータの入力に表れるデータのバイトは、転送元又は転送先でのデータのワード
寸法に関わらず、転送の間に処理可能である。
データ上でバレルシフト動作を行うことにより、グラフィック形データ処理をD
MA転送の間に行うことが可能になる。算術及び論理演算をDMA転送の間にデ
ータ上で行うことにより、ファイルの外の列をストリップするような高速化する
ことが可能になる。メモリ対メモリDMAと接続して使用する場合には、ファイ
ル処理は、再び転送の間に、システムの処理を独立に実行することが可能である
。
本発明のDMAサブシステムは、1バイトモジユーラのインクリメントを想定し
ている。システムは所望のワード幅を有するデータに拡張又は減縮することが可
能である。
DMA転送の間にデータを処理する能力を提供するに加えて、本発明のDMAサ
ブシステムは、奇数アドレスへ/からの16ビツトデータ転送に必要なバス周期
の回数を減少させる。初期のメモリ読み出し周期の間に、データの第」の8ビツ
ト(すなわち、低バイト)をラッチ内に格納する。第1の低バイトがレジスタ内
に転送される第2のメモリ読み出し周期の間に、同時に次の16ビツト(すなわ
ち、第1のワードの高バイト及び第2のワードの低バイト)がラッチ内にロード
される。書き込み周期の間、第2のバイトがラッチからデータバスの高バイト記
憶位置に向けられ、第1の低バイトがレジスタからデータバスの低バイトに向け
られる。後続の周期の間に、ラッチ内の高バイトが、ラッチがデータの次の16
ビツトでロードされる場合に、最後に述べたレジスタ内にロードされる。こうし
て、単一のレジスタをDMAサブシステムに付加し、データの流れを適当に向け
ることにより、従来のDMAサブシステムに比較して本発明のDMAサブシステ
ムにおいては、奇数アドレスから16ビツトのデータワードのDMA転送を行う
ために、約り0%少ないバス周期時間が必要となるに過ぎない。
この他の、本発明の他の特徴及び利点は、後述する好適な実施例に関する詳細な
説明において説明される。詳細な説明は添付図面に基づいても行われるが、添付
図面において、同じ参照番号は本発明の対応する部材番号を示している。
図面の簡単な説明
第1A図及び第1B図は、8ビツトデータワード幅と互換性を有する従来のコン
ピュータシステムの奇数アドレスへ/からの16ビツトデータワードの転送を示
している。
第2図は、本発明の原理に基づいて構成されたDMA制御器のデータマニプレー
タのブロック図である。
第3図は、第2図のDMAサブシステムで採用される入力ラッチのブロック図で
ある。
第4図は、第2図のDMAサブシステム内で採用されるバイト分類装置のブロッ
ク図である。
第5図は、第2図のDMAサブシステム内で採用されるALU/バレルシフタで
ある。
第6A図は、第2図のDMAサブシステムによって実行される8ビットメモリ読
み出し転送を示している。
第6B図及び第6C図は、第2図のDMAサブシステムにより実行されるような
、別の8ビットメモリ書き込みを示している。
第7A図及び第7B図は、第2図のDMAサブシステムにより実行されるような
、偶数アドレス記憶位置からの16ビツト転送を示している。
第8A図及び第8B図は、第2図のDMAサブシステムを組み込んだ8ビツトデ
ータワード幅と互換性を有するコンピュータシステム内の奇数アドレスへ/から
の16ビツトデータワード転送を示している。
第9A図、第9B図、第9C図、第9D図及び第9F図は、第2図のDMAサブ
システムを組み込んだ8ビツトデータワード幅を備えたコンピュータシステム内
の奇数アドレスからの16ビツトデータワードのデクリメント転送の取り決めを
示している。
発明を実施するための最良の形態
本発明に基づいて構成されたDMA制御器は、それぞれ状態マシン26により動
作が制御される、ラッチ20、バイト分類機22及びデータブリプロセッサ24
を備えた第2図に示すようなデータマニプレータlOを含んでいる。第2図を続
けて参照するに、ラッチ20の入力は、転送動作の間にデータを受信するように
双方向データバス15に接続されている。ラッチ20の出力はバイト分類装置2
2の入力に接続されている。同様に、バイト分類装置22の出力は、データブリ
プロセッサ24から受信したデータを処理して、双方向データバス15にデータ
を戻すように駆動するようにデータブリプロセッサ24の入力に接続されている
。
ラッチ20の寸法はコンピュータシステムの最大データ幅(ワード当たりのビッ
ト)により決定される。64ビツトのコンピュータシステムに関して第3図に示
すように、ラッチ20は、VLSIテクノロジー社製の(VLSI Techn
ology、 Inc、)型式LACFNBのような標準形透過式ラッチであり
、1つのラッチが処理されるワード当たりの各ビットに関して用いられる。
第4図を参照するに、バイト分類装置22は、それぞれマルチプレクサ409〜
416に対して、さらに8ビツトレジスタ417〜424に対して接続されたマ
ルチプレクサ401〜408から構成されている。各マルチプレクサ(MUX)
401〜408は8つの8ビツトバイトを1つの8ビツトバイトに変換し、同様
に、各M U X 409〜416は2つの8ビツトバイトを1つの8ビツトバ
イトに、図示のように、変換する。MUX401〜408及び409〜416は
、一般的に、VLSIテクノロジー社製のrMX21D1」のような構成部材か
ら構成される。レジスタ417〜424は、一般的に、同じ<VLSIテクノロ
ジー社製のrDFCTNBJのような構成部材から構成される。
本発明の詳細な説明を単純化するために、16ビツトコンビ3−タシステム、す
なわち、2つの8ビツトバイトは、転送動作を実行するためにバイト分類装置2
2の論理の底部の2つの部分のみを用いるものとする。
第4図に続いて第6A図を参照するに、8ビットメモリ読み出し転送の周期1に
おいては、バイトAが、偶数ワードアドレス値、すなわちBEON活動、BEI
N非活動である601で指定される8ビツトメモリ記憶位置から読み出され、ラ
ッチ20内の301で指定されるバイト記憶位置に書き込まれる。データが読み
出された後、メモリアドレスカウンタ(図示せず)は1だけ増加されて、次のメ
モリ読み出し動作を実行するために、BEON非活動及びBEIN活動を備えた
次の偶数ワードメモリアドレスを指示する。周期2の間に、パイ)Aは、状態マ
シン26からの、MUX401における制御信号AO1Al及びA2、MUX4
02におケル制御信号BO1B】及びB2及びM U X 409における制御
信号5EL−AO及び5EL−BOに応答して、16ビツトデータバスの602
.603で指定された双方のバイト記憶位置に向けられる。このように、入力A
1上でバイト分類装置22内に現れるデータビット7−0は、出力AO(ビット
7−O)及びBO(ピッ) 15−8)で出現するように、それぞれ、MU X
401.402.409.410を介して進められる。8ビツトメモリ転送の
場合には、それぞれレジスタ417.418内にデータを格納する必要がなく、
データは直接データバス15に向かう。
DMAサブシステム10は状態マシン26により制御されて、アドレスがアドレ
スバス上で駆動されると共に、適当な指定記憶位置にデータを向けるようにバイ
トポインタを発生する。このように、例えば、8ビツト転送の第2の周期の間、
バイトゼロイネーブル信号、すなわちBEONがアドレスの部分として発生され
る。データがデータバスの低及び高バイトに同時に向けられるので、BEONは
、指定されたバイトゼロ、すなわちデータバスの低8ビツトであるデータのみを
書き込むようにI10装置に指示を出す。
周期3の間に、別のメモリ読み出し動作が実行される。データは、BEON非活
動及びBEIN活動の偶数ワードアドレスを備えた、604で指定される高バイ
トメモリ記憶位置から読み出され、ラッチ20の302で指定される低バイト記
憶位置に書き込まれる。第4の周子間に、この高バイトデータが16ビツトデー
タバスの二つのバイト記憶位置605及び606に向けられ、アドレス及びバイ
トポインタがデータを適当なI10装置に向かわせる。データは、転送動作が完
了するまで、図示の通り、後続の周期の間開様に転送を継続する。
第4図に続いて第6B図を参照するに、8ビットメモリ書き込み転送の周期1に
おいては、1バイトが、偶数アドレスを備えた610で指定される8ピツ)I1
0記憶位置から読み出され、う、チ20の301で指定されるバイト記憶位置に
書き込まれる。周期2の間、パイ)Aが、状態マシン26からの、M U X
401における制御信号AO1A1及びA2、M U X 402ニおケル制御
信号BO1B1及びB2及びMUX4091.:$け6SEL−AO及びMUX
410に、kiする5EL−BOに応答して16ビツトデータバスの611.6
12で指定される二つのバイト記憶位置に向けられる。このようにして、入力A
I上でバイト分類装置22に現れたデータビット7−〇が、二つの出力AO(ビ
ット7−0)及びBO(ビット15−8)で出現するように、それぞしM U
X 401.402.409.410を介して向けられる。8ビツトメモリ転送
が行われる前に、レジスタ417.418内にデータを格納する必要がなく、デ
ータ直接データバス15に送シれる。
DMAサブシステム10は状態マシン26により制御されて、アドレスがアドレ
スバス上で駆動されると共に、適当に指定された記憶位置にデータを向けるべく
バイトポインタを発生する。このように、8ビツト転送の第2の周期の間に、バ
イトゼロイネーブル信号、すなわちBEONがアドレスの部分として発生される
。データがデータバスの低及び高バイトの双方に同時に送られるので、BEON
は、指定されたバイトゼロ、すなわちデータバスの低8ビツト上にあるデータの
みを書き込むように、メモリに指示する。
周期30間に、別のI10読み出し動作が実行される。データは、BEON活動
及びBEIN非活動を備えた偶数ワードアドレスを備えた613で指定された低
パイ)I10記憶位置から読み出される。第4の周期の間、この低バイトデータ
は、16ビツトデータバスの614及び615の双方のバイト記憶位置に向(ブ
られ、アトlメス及びバイトイネーブルBEON及びBEINはデータを614
で指定されるメモリ記憶位置に送る。データは、転送動作が完了するまで、図示
の通り、後続の周期の間開様に転送され続ける。
第4図に続いて第6C図を参照するに、8ビットメモリ書き込み転送の周期1に
おいては、1バイトが、BEON非活動及びBEIN活動の偶数アドレス値を備
えた620で指定される8ビットI10記憶位置から読み出され、ラッチ20の
302で指定されるバイト記憶位置に書き込まれる。周期2の間、パイ)Aが、
状態マシン26からの、MUχ401における制御信号AO1A1及びA2、M
U X 402における制御信号BO1B1及びB2及びM [I X 40
9における5EL−AO及びMtJX410におけるS E L−B Oに応答
して16ビツトデータバスの621.622で指定される二つのバイト記憶位置
に向けられる。このようにして、入力Bl上でバイト分類装置22に現れたデー
タピッ)?−0が、二つの出力AO(ピッ)?−0)及びBO(ビット15−8
>で出現するように、それぞれM U X 401.402.409゜410を
介して向けられる。さらに8ビツトメモリ転送の場合には、−タバス15に送ら
れる。
DMAサブシステム10は状態マシン26により制御されて、アドレスがアドレ
スバス上で駆動されると共に、適当に指定された記憶位置にデータを向けるべく
バイトポインタを発生する。このように、8ビツト転送の第2の周期の間に、バ
イトゼロイネーブル信号、すなわちBEONがアドレスの部分として発生される
。データがデータバスの低及び高バイトの双方に同時に送られるので、BEON
は、指定されたバイト622、すなわちデータバスの低8ビツトであるデータの
みを書き込むように、メモリに指示する。
周期3の間に、別のI10読み出し動作が実行される。データは、BEON活動
及びBEIN非活動を備えた偶数ワードアドレスを備えた623で指定されたパ
イ)I10記憶位置から読み出される。第4の周期の間、この高バイトデータ(
16進値B)は、16ビツトデータバスの624及び625の双方のバイト記憶
位置に向けられ、アドレス及びバイトポインタ、すなわちBEON非活動及びB
E ]、 N活動は、データを624で指定されるメモリ記憶位置に送る。デ
ータは、転送動作が完了するまで、図示の通り、後続の周期の間開様に転送され
続ける。
i7A図に示すように、偶数アドレス、すなわち二つのバイトイネーブルBEO
N及びBEIN活動からの16ビツトメモリ読み出し動作が行われる。かかる動
作の周期1の間に、1つのワード(2つの8ビツトバイト)が701.702で
指定される偶数メモリ記憶位置から読み出されて、ラッチ20の2つの低バイト
記憶位ff1301.302内に書き込まれる。メモリアドレスカウンタ(図示
せず)が、次のメモリ読み出し動作の準備のために2だけ増加される。状態マシ
ン26はMU X 401及び402を制御して、バイトはバイト分類装置22
を通過して、16ビツトデータバス15に向けられ、DMA転送動作の第2の周
期の間に好適なI10装置でバイト記憶位置703.704に転送が行われる。
データ転送が、転送動作が完了するまで、図示の通り、後続の周期の間開様に続
けられる。もちろん、データに、所望であれば、この明細書の他の場所で説明す
るように、転送の間データぶりプロセッサにより実行される処理を施すことが可
能である。
第7B図を参照するに、偶数アドレスに対する16ビツトメモリ書き込み動作は
、対応する16ビツトメモリ読み畠し動作と同様である。かかる転送の周期1の
間、1つのワード(2つの8ビツトバイト)がI10装置から読み出され、ラッ
チ20の301.302で指定される2つの低バイト記憶位置に書き込まれる。
周期2の間、データはバイト分類装置22を介して直接通過して、データバス1
5に送られ、712.713で指定される好6適なメモリ記憶位置に転送される
。従って、メモリアドレスカウンタ(再び、図示しない)が、次の転送動作を実
行するための準備をするべく次のアドレスにまで増加される。
第8A図を参照するに、16ビツト奇数メモリ読み出し動作の第1のバイトが、
対応する従来技術の動作に関して説明したのと同様の方法で読み出される。この
ように、第1の周期の終わりで、第1のバイトが、801で指定されるバイト記
憶位置に対応して、ラッチ20の302で指定されるバイト記憶位置内に格納さ
れる。メモリアドレスポインタは次の奇数ワードアドレスにまで増加される。し
かしながら、第2の周期の間、ラッチ20の302で指定された記憶位置に格納
されたバイトAが、M U X 401を介してレジスタ417に転送される。
メモリアドレスが偶数境界にあるので、16ビツトメモリ読み出し動作が実行さ
れる。この場合、二つのパイ)B及びCが、それぞれ、バイト記憶位置802及
び803に対応するラッチ20内の301゜302で指定される記憶位置に書き
込まれる。周期3の間に、バイトBが、M U X 402及び410を介して
805で指定されるバイト記憶位置に送られる。同時に、レジスタ417内に格
納されるバイトAがMUX409を介してバイト記憶位置804に送られる。ア
ドレスレジスタは、次のメモリ読み出し動作を準備するべく、次の偶数メモリア
ドレスを指定するように増加される。周期4の始めで、データバイトCがM U
X 401を介してレジスタ417内に転送される。次のメモリ読み出し周期
動作は、ワード2のパイ)D及びワード3のパイ)Eから構成される、再び16
ビツト幅である。2つのデータバイトは交差転送され、前述の通り、転送の書き
込み周期の間に格納される。
本発明により、第1のメモリ読み出し周期のみが8ビツト(1バイト)幅である
。第1の周期の後に、読み出し動作が常に16ビツト幅であり、バイトが交差転
送され、格納されて、I10装置によりそれらを正しい順序で書き込むことが可
能になる。
348B図で説明されているような16ビツト奇数アドレスメモリにおいて、3
つの周期がデータのバーストの最後の転送に関して必要となるが、他の全ての転
送動作に関しては2つの周期が必要とされるに過ぎない。周期lにおいて、1つ
のワード(2つの8ビツトバイ)A及びB)が110装置から読み出され、11
110.811で指定されるバイト記憶位置からラッチ20内の301.302
で指定される記憶位置で格納される。周期2の間、301で指定されるラッチ2
0内のバイトAが、M U X 402.410を介して813で指定される記
憶位置でBO(ビット15−8)に対応する奇数バイト記憶位置に送られる。周
期3の間に、メモリアドレスカウンタが増加されて、奇数又は完全ワード境界を
指示する。さらに、この周期の間、ラッチバイト記憶位置302内のバイトBが
レジスタ417内に格納される。メモリアドレスが奇数境界にあるので、後続の
転送が、格納され進められる個々のバイトで16ビツトワードの転送を完了し、
それらは個々のメモリ記憶位置内に正しい順序で書き込まれる。周期3の間、バ
イトC及びパイ)Dから構成される次のワードがI10装置から読み出され、そ
れぞれ、301、302で指定される記憶位置でラッチ20内に格納される。周
期4の間に、301で指定される記憶位置でラッチ20内のパイ)CがBO(ピ
ッ) 15−8)に対応するバイト記憶位置817に送られる。同時に、レジス
タ417の内容がメモリ記憶位置AO(ピッ)?−0)に対応するバイト記憶位
置816に送られる。このシーケンスは、最後の全てのワードが書き込まれるま
で、継続する。最後の全てのワードに関するメモリ書き込み動作の間に、メモリ
アドレスカウンタは、さらに、増加されて次の奇数アドレスを指定し、最後の周
期がイネーブル信号BEON活動及びイネーブル信号BEIN非活動で実行され
る。
従って、最後の周期の間に、レジスタ417内に含まれる、データの最後のバイ
トのみが、データバスに送られて、データ転送が完了する。
本発明に基づき、8ビツトデータワードと互換性を有するP/Cシステムにおい
て、メモリ記憶位置へ/からの多数バイトワードの転送毎に、読み出し動作のた
めに1回の周期及び書き込み動作のために1回の動作を完了するために2つのバ
ス周期が必要となる。転送が奇数メモリアドレス記憶位置へ/から行われる場合
には、転送されるべきデータのワードからなるワードの数又はバイトの数に関わ
らず、転送当たりただ1回の別の周期が必要となる。従って、かかる転送が2N
+1周期を必要とする。従って、本発明の技法を用いた100ワード転送では2
01回の周期が必要となる。この場合に、従来のDMAサブシステムでは、3N
の周期、すなわち300周期が同じ転送動作に関して必要となる。
さらに、本発明の動作性能の利点は、大量のデータが転送される場合、又はメモ
リの寸法が増加する場合に、より顕著になる。多数バイトワードの全体が、偶数
メモリアドレス境界が到着するとすぐに転送されることによって、転送の速度が
、必要な周期の数を減少することによってほぼ増加される一方、異なるデータワ
ード幅を備えたコンピュータ用に設計された装置との互換性を維持し、データの
オンザフライ処理の能力を供給可能である。
本明細書の別の箇所で説明したように、バイトアドレスのポインタは、16ビツ
トワードの転送に関して、奇数アドレスからも、転送されるべき次のバイトに減
少させることが可能である。16ビットワード喉のバイト部分が、所定のアドレ
スからバイトのポインタが減少される場所に転送されるべきかを決定するための
取り決めは従来にふいて存在しないので、本発明はいくつかの異なる取り決めを
想定している。 第9A図は、19B−9Gの別の取り決めに言及する目的で、
メモリシステムの物理的レイアウトを示している。
すなわち、例えば、8ビツトバイト5は物理的記憶位置、アドレス5に格納され
る。第9B図において、減少モードで各メモリアドレス6からの転送は、一般的
に業界で受容されている取り決めに基づいて説明されている。
第9C図から第9Gは、本発明の制御器によりデータ転送可能なことに基づいた
減少モードで、奇数メモリアドレス7からのデータ転送のためのいくつかの取り
決めを示している。このように、例えば、i9D図において、転送される第1の
16ビツトワードは、高バイトから低バイトへの順序のバイト6及び7から構成
される。この場合には、第9E図で転送される第1のワードは同じバイ(・で逆
順に行われる。
提案された全ての取り決めにおいて、データ転送は、バイトアドレスポインタ増
加される奇数アドレスからの16ビツトワード転送に関して説明したのと同様の
方法で実行される。このように、所望の取り決めが、減少モードでデータ転送を
実行するために、バイトイネーブル信号、BEON、BEIN、、、BEnNの
制御の順番を切っていするために必要である。
データ処理には、第4図で示されたように、バイト分類装置22との関連で説明
されたように転送の間のデータワードバイトの分類が含まれる。しかしながら、
データプリプロセッサ24を含むDMA転送動作に関するデータ経路を形成する
ことにより、システムプロセッサにより実行されるような、バレルシフタ、排他
的OR1及びその他の算術及び論理演算のような動作を含むように、データの処
理を拡張可能である。データブリプロセッサ24はレジスタ51、MUX52、
ALU制御論理53及びALU/バレルシフタモジュール54ヲ含んでいる。A
LU/バレルシフタモジュール54は、第5図に示すように、VLSIテクノロ
ジー社製のVDP3ALU001及ヒvDP3BSHOO1と同様のものであり
、VLS Iテクノロジー社で発行されているrVDP 10 Datapat
h Element l、1brary」に示された設計規則に基づいて設計可
能である。 本発明のデータ処理の設計は、単一8ビツトバイト増加のモジュラ
である。ワード幅は、所望のデータワード幅に伸縮可能である。さらに、DMA
転送の読みだし及び書き込み動作の間のデータ処理に関する時間の継続を拡張し
て、コンピュータシステムの動作変数と一致するように、転送されるデータのい
かなる数いかなる種類の処理にも対応させることが可能である。
本発明の好適な実施例に基づ<DMA制御器の詳細な仕様については、ここに参
考として組み入れた参考書類Aに示されている。好適な形態及び構成が本発明を
説明するために示されているが、本発明の開示及びその請求の範囲の精神及び範
囲から逸脱することなく、この他の変更が可能であると了解されたい。
参考書類A
概括
GCl、83は直接メモリアクセス(DMA)の8つのチャネルを提供する。こ
のシステムのマイクロプロセッサは、各種動作モード、転送アドレス及び転送カ
ウントに関するDMAレジスタをプログラムする。DMA制御器は2つのモード
の内一方にプログラムすることが可能である。第1のプログラミングモードは、
2つのインテル8237DMAの動作をエミュレートする。他方のプログラミン
グモードは拡張アドレッシングを用いる。DMA転送モードでは、f10装置が
データを、−回の転送、バースト又は読み出し確認モードでメモリへ/から直接
データを転送することが可能である。I10装置の要求があり、バス調停論理回
路によるバスの制御が保証された場合に、データ転送が開始され、DMAはDM
A要求を行うようにプログラムされている。
いくつかの付加的な機能が装置内に含まれて、システムに別の回路を設ける必要
性を減少させている。これらには、以下のものが含まれる:
・DRAMリフレッシュ論理
・数値双対プロセッサインタフェース
・中央調停ポイント
・フロッピーディスク調停
システム構成
りMA制御器は、CPUから命令を受けて、DMA転送の間バス制御信号を発生
するように、専用バスに接続されている。さらに、DMA制御器は、バス調停プ
ロセスを制御するためにマイクロチャネルに接続されている。CPUがDMA制
御器をプログラミングすると、CPUはそれをマイクロチャネル上の8ビツトI
10装置と同様に扱う。DMA制御器は範囲0000H−00DFH内でアドレ
スを使用する。8237モードにおいては、個々のレジスタがI10アドレスマ
ツプ内の別個の記憶位置により代表される。拡張モードでは、1つのアドレスが
、アドレスされるレジスタを事項されるべき機能を示すコードを格納するために
用いられる。第2のアドレスが、読み出し又は書き込みが行われるべきデータの
ために用いられる。
動作モード
DMA制御器は空き(アイドル)及び指令の2つの基本状態で動作する。アイド
ルモードでは、DMA制御器はバスを活動的に制御せずに、システムボードプロ
セッサによりプログラム可能である。
逆に、指令モードでは、DMA制御器はDMA転送を発生するために、マイクロ
チャネルバス制御信号を駆動する。
レジスタ
以下のレジスタがDMAと共に含まれる:レジスタ 長 さ
レジスタメモリ 248メモリアドレス(
現在)248
I10アドレス 168転送カウント(ベース)168
転送カウント(現在)68
モード 88状態 82
アーバス(Arbas) 4 2マスク
42現状保持 16 1機
能 81
調停 81
リフレッシュ 10ルジスタ
チャネルレジスタ
8つのチャネルの各々が4つのレジスタ、すなわち、メモリアドレス、I10ア
ドレス、転送カウント及びモードを使用する。
メモリアドレスレジスタ:各チャネルが一組のメモリアドレスレジスタを用いる
。ベースアドレスレジスタが、DMA転送に関スるアドレスの開始と共に、CP
Uによりプログラムされる。ベースアドレスが現在のアドレスレジスタ内に複写
される。ベースレジスタの内容はDMA転送の間変更されない。現在のアドレス
レジスタが次の転送で用いられるメモリアドレスを指示し、DMA転送周期の終
了後に更新(インクリメント又はデクリメント)される。CPUはベース及び現
在のレジスタを読み畠すことができる。自動開始を選択した場合には、ベースア
ドレスは転送の完了時に現在のレジスタ内に複写される。 I10レジスタ:
このレジスタはDMA転送で用いられるI10装置に関するアドレスを識別する
。このレジスタの内容はDMA転送の間変更されない。
転送カウントレジスタ:各チャネルが一組の転送カウントレジスタを用いる。ベ
ースカウントレジスタが、DMA転送に関し実行されるべき転送のカウントとも
に、CPUによりプログラムされる。
このカウントは現在のカウントレジスタに複写される。ペースレジスタの内容は
DMA転送の量変化しない。現在のカウントレジスタは完了された転送と共にデ
クリメントされる。このレジスタが0000からFFFFへとデクリメントされ
る場合に、端末カウント信号が活性化される。端末カウントを指示するこの方法
のために、このレジスタは、要求される転送の数よりも1つ少ない数値でセット
アツプ時にロードされる。自動開始を選択した場合には、ベースカウントは、転
送の完了時に現在のカウントレジスタ内に複写される。
モードレジスタ:モードレジスタは、DMA転送の間実行される動作の種類に関
して、関連するチャネルを構成する。プログラムされた機能は同じであるが、こ
のレジスタをプログラムするための方法は、8237モード及び拡張モードに関
して異なる。このレジスタは拡張モード時にのみ読み出される。2つの動作モー
ドのビット割当ては、次の通りである。
モードレジスタ(8237互換)
ビット 機 能
7.6 予約−〇
5 0=インクリメントメモリアドレス1=デクリメントメモリアドレ
ス
4 0=不能化自動起動
1=不能化自動起動
3.2 00=転送確認
01=書き込み転送
10=読み出し転送
11=予約
1.0 00=チヤネル0又は4選択01−チャネル1又は5選択
10−チャネル2又は6選択
11=チヤネル3又は7選択
モードレジスタ(拡張モード)
ビット 機 能
7 予約=0
6 0;8ビツト転送
1;16ビツト転送
5 予約=0
4 0;メモリアドレスインクリメント1=メモリアドレスデクリメント
3 0=メモリ読み出し転送
1=メモリ書き込み転送
2 0=転送確認
1=データ転送
1 0=不能化自動起動
1=可能化自動起動
0 0=0000Hに強制されるI10アドレス1=I10アドレスレ
ジスタから取られたI10アドレス
共通レジスタ
いくつかのレジスタがチャネル内で共有されるか、他の機能に関して用いられる
。これらのレジスタとしては、状態レジスタ、アーバス(Arbus)レジスタ
、マスクレジスタ、バイトポインタ、現状保持レジスタ、リフレッシュレジスタ
がある。
状態レジスタ:2つの8ビツト状態レジスタが設けられる。1つはチャネル0−
3用であり、他方はチャネル4−7用である。これらのチャネル内の情報は、チ
ャネルが端末カウンタに到達したこと、及びチャネルが、状態レジスタが読み出
された最後の回までに(ビットはレジスタが読み出された各回毎にクリアされる
。)、バスを要求をしたことを示す。このレジスタは、8237モード又は拡張
モードで用いて読み出し可能である。
拡張モードでは、選択されたチャネルに関する情報を含む全てのバイトが戻され
る。情報がバイトポインタと共に取り込まれる。拡張機能レジスタ(アドレス0
018H)内のチャネル数は無視される。戻される数値はバイトポインタにより
選択されるグループに対応している。バイトポインタがクリアされると、それは
チャネル093に関する状態レジスタを選択する。拡張モードでの状態レジスタ
の読み込みがバイトポインタをトグルする。
状態レジスタビット割当て
ビット 機 能
7 チャネル3又は7要求
6 チャネル2又は6要求
5 チャネルl又は5要求
4 チャネル0又は4要求
3 チャネル3又は7に関する端末カウント2 チャネル2又
は6に関する端末カウント1 チャネル1又は5に関する端末カウント
0 チャネル0又は4に関する端末カウントアーパスレジスタ: DM
A制御器は、8つの可能チャネルで、0から14までの調停レベルで作動可能で
ある。チャネル1−3及び5−7が対応する調停レベルに割当てられる。2つの
4ビツトレジスタが設けられるが、一方のレジスタはチャネル0用であり、他方
のレジスタはチャネル4用である。これらのレジスタは、システムマイクロプロ
セッサに調停レベルを割り当て、チャネル0及び4に任意の調停レベルで装置に
サービスさせることにより、仮想DMA動作を提供する。チャネルO又はチャネ
ル4が予め割当てられたレベル(1−3又は5−7)の一つに割当てられた場合
に、マスクビットが、用いられるチャネル(一つもない場合もある)を選択する
ために用いられる。
アーバスレジスタピット割当て
マスクレジスタ:装置が、マスクビットセットを備えたチャネルに関して調停に
勝利することによりDMAサービスを要求した場合には、DMAはDMA転送周
期を実行しない。この方法は、マイクロチャネルに対するアクセスを獲得するた
め、又は同じ調停レベルに割当てられたいくつかのDMAチャネル内で選択を行
うために、バスマスターにより用いることが可能である。調停装置が転送自体を
実行しない場合には、タイムアウトが生じて、マスク不能割り込みが発生する。
8237モードでは、3つの4ビットマスクレジスタ用いられるが、一方はチャ
ネル7−4用であり、他方はチャネル3−0用である。拡張モードでは、所望の
チャネルを選択して、適当な指令を用いることにより、個々のビットが設定され
クリアされる。
個々のマスクビットは、8237モード又は拡張モードのいずれかに設定又はク
リアされることが可能である。全てのマスクビットが、システムリセットによっ
て又はDMA制御器マスタークリアによって設定される。4つのレジスタグルー
プ内の全てのマスクビットが、8237モードでのマスクレジスタクリア指令に
よってクリアされる。
マスクレジスタビット割当て
単一マスクレジスタ 全マスクレジスタ(OOOA、、0O
D4) (OOOF、0ODE)ビット 機 能
ビット 機 能7−3 予約=0 7−4
予約−〇2 0−マスクレジスタクリア 3 チャネル3又は7
1;マスクレジスタセット 0=マスクレジスタクリア1=マス
クレジスタセツト
1.000=チヤネル0又は4選択 2 チャネル2又は601=チヤネ
ル1又は5選択 0=マスクレジスタクリア10−チャネル2又は
6選択 1=マスクレジスタセツト11=チヤネル3又は7選択
1 チャネル1又は5クリア0=マスクレジスタクリア
1=マスクレジスタセツト
チャネル0又は4
0=マスクレジスタクリア
1=マスクレジスタセツト
調停レジスタ:このレジスタは、調停機能に関するいくつかの選択をプログラム
するため、及び、調停周期のキーバラメータの状態を監視するために用いられる
。このレジスタはI10アドレスマツプ上の0090Hに割当てられる。このビ
ット表現はレジスタを読み出す場合と書き込む場合では異なる。
調停レジスタビット割当て
7 R1=調停同期の間CPUを可能化0=調停同期の間CPUを不能化
W 1=調停同期の間CPUを可能化0−調停同期の間CPUを不能化
6 R1=NMIが生じて調停をマスクする0−通常動作
W 1=CPUがチャネルを制御している時に調停を強制
0=通常動作
5 R1=ババスイムアウト発生
0=通常動作
W 1=調停時間が600 n5O=調停時間が300 ns
4 R/W 1=割り込み要求に関する優先使用可能化0=割り込み
要求に関する優先使用不能化3−OR前の保証状態の間の調停バスの数値W
予約−〇
リフレッシュレジスタ:1つの10ビツトリフレツシユレジスタが設けられる。
このレジスタは、リフレッシニ動作に関するメモリアドレスを提供する。このシ
ステムのマイクロプロセッサはリフレッシュレジスタにアクセスすることはない
。
プログラミング
この章では、転送を実行するだめのDMA制御がどのようにして構成されている
かを説明する。
8237モード
DMA制御器は2つのインテル8237 DMAに代表されるような論理回路を
含んでいる。このモードがプログラミング用に用いられる場合には、レジスタが
、個々のアドレスを選択し、読み出し又は書き込みすることによってアクセスさ
れる。DMA制御器は、I10バスに関して復号する全ての16ビツトアドレス
を提供する。
機能及びそのアドレスは次の通りである。
DMA制御器ポインタ
R現在の読み出しチャネルOYes
ooos w 予約
Rチャネル0−3状態レジスタ読み出し0009 R/W予約
000A W チャネル0−3単一マスクレジスタ書き込み
R予約
oooc w バイトポインタクリアR予約
000D W マスタークリアR予約
000E W チャネル0−3マスクレジスタクリア0018
拡張モード動作参照01A 拡張モード動作参照0080 W
/R実行されず
0084− 実行されず
0088 W/R実行されず
008C−実行されず
08E
0090 W/R調停レジスタ書き込み/読み出し00CI W/R予約
00C3W/R予約
00C5W/R予約
00C7W/R予約
00C9W/R予約
00CB W/R予約
oocc w ベース及び現在のメモリアドレス書き込みチャネル7
00CD W/R予約
00CF W/R予約
00DOW 予約
00DI W/R予約
00D2 W/R予約
00D3 W/R予約
御器はバイトポインタを用いる。バイトポインタを用いるシステム00D4
W チャネル4−7単一マスクレジスタ書き込み
R予約
00D5 W/R予約
00D6 W チャネル4−7モードレジスタ書き込み
R予約
00D? W/R予約
00D8 W バイトポインタクリアR予約
00D9 W/R予約
00DA W マスタクリア
R予約
00DB W/R予約
00DCW チャネル4−7マスクレジスタクリア
00DD W/R予約
00DE W チャネル4−7全マスクレジスタビツトクリア
R予約
00DF W/R予約
バイトポインタ:メモリアドレッシング範囲は24ビツトのアドレスデータを要
求する。転送カウンタ及びI10アドレスは16ビツトを用いる。8ビツトバス
上でデータを動かすために、DMA制により実行される。
の部分にアクセスする毎に、次の状態へのトグルが生じる。8237モードでの
0OOCH又は0OD8Hに対する書き込み、又は拡張モードでのマスターリセ
ット指令が、バイトポインタをリセットする。さらに、拡張モード機能レジスタ
(0018H)に対する書き込みによりバイトポインタがリセットされる。リセ
ット時には、バイトポインタが、アクセスされたワードの中らか最も重要でない
バイトを選択する。次のアクセスが次に重要なバイトに対して行われる。最も重
要なバイトがアクセスされると、バイトポインタが再び最も重要でないバイトに
トグルされる。バイトポインタは状態レジスタと共に用いられて、チャネル0−
3及びチャネル4−7に関する状態ピットの間で選択を行う。
現状保持レジスタ=1つの16ビツト現状保持レジスタが設けられる。DMA転
送の間、読み出されるデータはこのレジスタに保持されて、それらの宛先に書き
込まれることを待機する。このシステムのマイクロプロセッサは、このレジスタ
にアクセスすることはない。
機能レジスタ:1つの8ビット機能レジスタが設けられる。これは、拡張モード
I10指令をを受信して、実行されるべき動作を識別するレジスタである。シス
テムのマイクロプロセッサは、実行されるべき機能及び用いられるチャネルに関
する機能レジスタ(アドレス0018)に対する第1の書き込みより機能を実行
する。選択された機能はポートアドレス001Aを書き込み又は読み出すことI
10アドレス 指 令
0018 機能レジスタ
001A 機能レジスタ実行機能レジスタピットは次のように割当て
られる。
3 予約−〇
2−0 チャネル
拡張指令レジスタ
指令レジスタ ピットバイトポインタOW/RI
10アドレスレジスタ 15−00 YesI W/R予約
2Rベースメモリアドレス読み出し 23−00 Yes3W 予
約
3R現在のアドレスメモリ読み出し 23−00 Yes4Rベース転送
カウント読み出し 15−00 Yes5W 予約
5R現在の転送カウント読み出し 15−00 Yes6W 予
約
6R状態レジスタ読み出し 7〜00 Yes読み出し
B W/R予約
CW/R予約
D マスタクリア(機能レジスタからの方向付け)E W/R予約
F W/R予約
拡張モード
拡張モードでは、2つのアドレスが全てのレジスタ及びビットにアクセスするた
めに用いられる。拡張機能レジスタとして知られる、第1のアドレス(0018
)が、所望のチャネルレジスタに対するポインタそして機能し、実行される機能
を識別する。第2のアドレス(001A)が、所望により、データを通過させる
ために用いられる。機能コード上の詳細については、上述の機能レジスタ表現を
参照のこと。
自動開始
DMA制御器の自動開始機能により、プログラマ−はDMA転送に関するセット
アツプに関して労力を減じることができる。これは、DMA転送の完了後に、対
応するペースレジスタの数値で、現在のメモリアドレスレジスタ及び転送カウン
トレジスタを自動的に起動する。これを行うことにより、自動起動ビットがモー
ドレジスタに設定される。
調停
マイクロチャネルにアクセスするための内容の調停は、アクセスを要求する全て
の主又は従属装置に並行的に要求を提示させ、転送を実行するためのより高次の
優先権を備えた装置を選択する。シーケンスは次の通りである。
1、装置がPREEMPTIN行を低にし°Cアクセスを要求する。
2、DMA制御器が、GRANTを高にして調停周期を開始する。
3、DMA制御器が、HOLDR行を高にしてCPUから専用バスに対するアク
セスを要求する。
4a、CPUが現在の周期を完了してバスを開放し、HOLDA行を底にしてD
MA制御器に信号を送る。
4b、同時に、サービスを要求する全ての装置がそれらの優先権コードを備えた
調停バスを駆動する。これらは、バス上のコードが最も高い優先権(最も低い番
号)備えた装置のコードと適合するまで調整を行う。
5、調停バスに関する時間を安定化させた後に、DMA制御器は/G RA N
T 4R号を低にして、す・−ビスされる装置のコードでロックする。これは
、DMA転送を開始可能な勝利装置に信号を送る。
フロッピーディスク調停
このシステムボードのフロッピーディスク制御器は、FDREQを宣言すること
により、DMA転送を実行する準備が完了したことを、DMA制御器チップに知
らせる。DMA制御器は、マイクロチャネルバスに対するアクセスを要求するた
めに、/FDPRMTを設定する。調停周期の間、DMA制御器は、チャネル2
に関するマスクビットが設定されていない場合に(すなわち、DMAがチャネル
に関して可能化されている。) 、FDARBO及びFDARB23を駆動する
ことにより、バスを完成する。調停は、チャネル2が調停周期を勝利するまで継
続する。DMA制御器が/FDACKを宣言して、フロッピー制御器に関する非
バースト転送を実行するために処理を進める。
DRAMリフレッシュ論理
DRAMリフレッシコはDMA制御器により制御される。これは、DMAサービ
スに関して周辺機器から要求された化のように実行される。シーケンスは次の通
りである。
1、リフレッシュタイマが18マイクロ秒毎にリフレッシュ要求を発生する。
2、DMA制御器がPREEMPTを発生して、転送の終了を待機する。
3、DMA制御器が調停周期を発生する。リフレッシュが自動的に勝利者アクセ
スを要求する。保証モードには入らない。
4、リフレッシニアドレスがアドレスバスに転送されて、/REFRESH,M
EM、5TATUS及びREAD信号が発行される。
5、DMA制御器がリフレッシュ周期を完了して、優先使用が活動である場合に
、CPU又はチャネル上の装置のいずれかにシステムの制御を戻す。
数値双対プロセッサインタフェース
80387及び80287数値双対プロセツサは、システム内で動作するいくつ
かの支援論理を要求する。DMA制御器はこの回路を内蔵する。
アドレス復号及びパスタイミング二数値双対プロセッサはI10アドレスの0O
FXHに割当てられる。チップ選択(/NCPC3)及び使用中(/CPUBU
SY)信号が、バス制御器とハンドシェークするために発生される。
エラー処理:DMA制御器は、双対プロセッサエラー割り込み(/RQL3)を
発生するために、数値双対プロセッサエラー信号し/NPERROR)信号を用
いる。
リセット: DMA制御器は、数値双対プロセッサリセット信号(NPRESE
T)を発生するために、システムリセット信号(/RESET)又は、00FO
に対するI10書き込み(ソフトウェアリセット)を用いる。
ピン記号 ピン番号 ピン型 説 明CPU及びバス制
御器インタフェース
A20−A23 73−76 0 アドレス行1及び16〜
23゜これらは、メモリ及びIloにアドレスするために用いられる活動局の三
状態出力である。これらのアドレスはDMA制御器に対する入力としては用いら
れないことに留意。
A16−A19 6B−71,0
A12−A15 63−66 10AS−A10 55−57
10A5−A7 50−53 10A2−A 4 47−4
8 I OAl 44 IO/BEO450バイ
トイネーブル0゜DMA制御によりIlo及びメモリにアドレスするための三状
態活動低信号である。
/BEI 46 0 バイトイネーブル1゜T10及
びメモリにアドレスするためにDMA制御器に対して用いられる三状態活動低信
号である。
/BEO及び/BEIは以下のようにバス上のデータのバイトの記憶位置を識別
する:
不使用
/BUSY 32 0 DMA使用中。DMA転送が進
行中であることをバス制御器に示す活動低出力である。
/CBOE 114 I チャネルバイトイネーブル。
上述のBEONと同様のチャネルからの活動低入力である。
この信号はプログラムモードでDMA制御器にアドレスするために用いられる。
この信号はプログラムモード内のDMA制御器にアドレスするために用いられる
。
10 (低)動作を区別するために用いられる活動高入力である。
れる活動低入力である。
れる活動低入力である。
/C3O,/C3I及びCMEMは次のように解釈される:0 1
0 1/○読み出し1 0 1 メモリ書き込み1
1 0 メモリ読み出し1 0 0 割込
み認知わち/510UT及びPMEMの組み合わせの解釈は/C3O,/C51
及びCMEMに関するテーブルに一致する。
/5IOUT 79 0 DMA周期状態ビット1゜力で
ある。この信号は、バス制御器により、データバス信号を適当に向けるためにバ
ス駆動器を制御するべく用いられる。
化する活動低信号である。通常はシステムプロセッサHLDAに固定されている
。
HOLDA 31 I 保持認知。プロセッサがデー
タを断念したことを示すためにCPVにより駆動される活動高入力である。
HOLDR300保持要LCPUが保持条件に入ることを要求するために用いら
れる活動高出力である。
Do 128 IOデータバス。双方向三状態である。
DI−D 3 129−131 10D4−D7 133−136
I OD8 140 10D9−DI2 1
44−147 10D13−DI5 149−151 I O/NM
I 34 マスク不能割込み。開コレクタ構成で
用いられる双方向三状態信号である。この信号はバス上のエラーを示すために、
調停バスタイムアウトの終わりにDMA制御器により発生される。入力として、
この信号は、中央調停制御器に調停モードを指示させる。
チを制御するためにシーケンスを復号するアドレス内で用いられる。これは、D
MA転送の間に、DMA制御器により提供される。
PMEM 111 10 プロセッサメモリ/−Ilo。
この三状態信号は、現在のプロセッサ周期がメモリ(高)又はl10(低)動作
であるかを示している。
それは、DMA転送の間にDMA制御器により提供される。
ARBO−394−91I 調停バス。これらの入力行は、調停バス参
加者の優先レベルで高で駆動される。
FDARBO210フロッピーディスク調停とット0゜このチップは、フロッピ
ーディスクが要求保留である場合に、この行を駆動する。さらにそれはフロッピ
ーを調停する。この行は調停バス行を駆動するために外部にバッファされる必要
がある。
FLARB23 124 0 フロッピーディスク調停ビット
22及び3゜このチップは、フロッピーディスクが要求保留である場合に、この
行を駆動する。さらにそれは、フロッピーを調停する。この行は調停バス行を駆
動するために2つの別個のドライバを介して外部にバッファされる必要がある。
FDREQ 99 1 フロッピーディスク要乳システ
ムボードのフロッピーディスク制御器からのDMAサービスに関する要求である
。
/FDACK 100 0 フロッピーディスク認知。シス
テムボードのフロッピーディスク制御器に対するDMAサービス要求の保証を示
す。
/BUR5T 89 1 バースト。この活動低入力は、
調停の勝利者がバーストモードで動作することを要求していることを示す。
/BUSTO60バスタイムアウト。調停がタイムアウトになったことを示す活
動低出力である。
/GRANT 88 0 保証。調停周期の終了を示すと
共に、勝者のDMA周期を開始するべく、勝者DMA装置を正当化するための活
動低出力である。
/PREEMPTIN 126 1 優先使用。この活動低入力は、
DMA制御器内で発生したバス調停要求を示している。この信号のソースはりフ
レッンユ要求である。
/PREEMPT 87 0 優先使用。この活動低出力は、
DMA制御器内で発生したバス調停要求を示している。この信号のソースはりフ
レッシニ要求である。
/FDPRE 22 0 フロッピーディスク優先使用要
乳システムボードのフロッピーディスク制御器がDMA要求保留であり、バスが
使用中である場合に発生される。外部にバッファされて、マイクロチャネル優先
使用性に固定される必要がある。
/TC850端末カウント。転送カウントがゼロに到達したことを示す活動低出
力である。
RDY387 121 0 必要な場合には、待機状態を
挿入するための手段を供給するために組み込まれた80387からの準備完了信
号である。
/BUSY386 159 0 必要な場合ニハ、80386
プロセツサニ使用中指示を与える。
数値双対プロセッサインタフェース
/CPUBUSY 157 0 CPU使用中。数値双対プロセ
ッサが使用中であることを示すDMA制御器からの活動低出力である。
/IRQ13 153 0 割込み要求13゜数値双対プロ
セッサ内のエラーを示す移動低出力である。
/NCPBUSY 155 0 数値双対プロセッサ使用中。数
値双対プロセッサが現在使用中であることを示す数値双対プロセッサからの活動
低入力信号である。
/NCPC3960数値双対プロセッサチップ選択。数値双対プロセッサがそれ
に対してアドレスした指令に応答していることを示す活動低出力である。
この信号は、バス信号を適切に方向付けて、バスの回線争奪を回避するべくバス
ドライバを制御するためにバス制御器により用いられる。
/NCPERR1561数値双対プロセッサエラー。数値双対プロセッサ内のエ
ラー状態をシダナリングする活動低入力である。
NCPR5T 154 0 数値双対プロセッサリセット。
80287数値双対プロセツサをリセットするだめの活動低出力である。<80
387に関しては異なるリセットタイミングが要求されることに注意すること。
)
R3T387 1 0 数値双対プロセッサリセット。
80387数値双対プロセツサをリセットするだめの活動低出力である。<80
287に関しては異なるリセットタイミングが要求されることに注意すること。
)
STEN387 119 0 80387に関する状態イネー
ブル。数値双対プロセッサ上の状態出力ビンを可能化する。
その他
REFRESH1380リフレッシュ。リフレッシュ動作が進行中であることを
示す活動低出力である。
CLK119M 83 1 1.191)Izりo7り。リ
フレッシュタイミングに用いられる。
CLKPRO102I CPUクロックCLKSYS 107
1 システムクロツタ/FASTREF 82 1
高速リフレッシュ。高速リフレッシュl/−トを選択するために用いられる
活動低入力である。
lNTR35割込み要求。割込みの存在を示すために用いられる活動高入力信号
である。この信号は、すべての割込み要求の論理和である。
MASK2 84 0 マスクレジスタビット2゜この活
動高出力は、チャネル2に関するマスクビットが設定されていることを示す。こ
の信号は、マスクビットが設定される場合に、このチャネルに関する調停を不能
化するための外部論理によって用いられる。
/RESET 29 I システムリセット。活動艦/
REQR9T 125 1 リセット要求。これは、システ
ムボードプロセッサのリセットを要求するだめのシステムボードからの合成信号
である。
/R5TPRO1040プロセッサリセット。この信号は、DMA周期が進行中
でないことと、/R3TPROが存在することによって発生される。これにより
、部分DMA周期(従って、回復不能のデータエラー状態)が、プロセッサリセ
ット要求の間に生じないことを保証する。
PROR3T 58 I プロセッサリセット。DMA
周期の禁止開始は、進行中のプロセッサリセットシーケンスである。
診断/試験
/GBUR3T 90 0 チップ内のバーストタイミング
を示す試験ポイントである。
/MBUR3T 105 0 DMA周期を完遂するために必
要な読み出し及び書き込み周期対の間の暗黙のバーストタイミングを示す試験ポ
イントである。
DOREF 3 0 調停試験目的でリフレッシュが進
行中であることを示す試験ピンである。
/REFREQ 4 1 外部ソースからのリフレッシュを
要求するための試験ポイントである。
DISlooARB 123 I 高に引き上げられた場合は、
100ナノ秒調停周期オプションを不能化する。
ENREFR5E 143 I 内部リフレッシュ調停回路を
可能化する。システムの診断機能を提供する。
ENGBUR5T 142 I マイクロチャネルの内シく
−ストモード動作を可能化する。システムの診断特徴を提供する。
ENCAP 42 1 中央調停ポイント可能イ―チッ
プ内の中央調停機能を可能化する試験及び診断入力である。
ENEOT 38 1 転送の終了可能イし高状態にあ
る場合には、EOT出力を可能化する。このビンは試験及び診断目的のためであ
り、システム内の高に固定される。
EOT 5 0 調停を進行させる転送条件の指示
及び終了である。
DI578BTO10917,8マイクロ秒のバスタイムアウトを不能イし試験
及び診断目的で、特定バスのタイムアウトを不能化する。システムの低に固定さ
れる必要がある。
/DLYGNT 59 I 遅れ保証。低である場合に、
バスアクセスに関する保証が、調停シーケンスの間、遅らされる。システム内で
高に固定される。
/TEST 24 I チップ試験信号。システム内
では使用されない。未接続にしておく必要がある。
TO,T1.T2.T3. 27−25.39.41 1 試験入力。シ
ステム内では使用されない。未T5.T5 接続に
しておく必要がある。
DIAGO−719−16,14−110診断出力。未接続にしておく必要があ
る。
DIAGINO−39−71試験入力診断。未接続にしておく必要がある。
PAROUT 28 0 パラメータ試験出力。製造時の
みに用いられる。未接続にしておく必要がある。
雑
V DD 23,40.49.62.72. 1 電源80、95.120
VSS 2.10.15.20,33,43. I 接地54、60.67
、77、86゜
98、101.103.106゜
108、115
口G、 4B
口G、 5
日G、7A
1 周期11 周期2 し期31 周期41 周期51周期61 周期710G
、8A
メモリアドレス6から16ビツト偶数デクリメンFを転送メモリアドレス7から
の16ビツト奇数デクリメントを転送ノそリアドレス7からの16ビツト奇数デ
クリメント転送ノそリアトレス7からの16ヒ゛7ト奇数デクリメント伊云送ノ
モリアドレス7からの16ビツト奇数デクリメノト転送国際調査報告