JPH01205366A - データを転送するための方法およびそのためのデータ転送制御器 - Google Patents
データを転送するための方法およびそのためのデータ転送制御器Info
- Publication number
- JPH01205366A JPH01205366A JP63316046A JP31604688A JPH01205366A JP H01205366 A JPH01205366 A JP H01205366A JP 63316046 A JP63316046 A JP 63316046A JP 31604688 A JP31604688 A JP 31604688A JP H01205366 A JPH01205366 A JP H01205366A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- access
- port
- address
- 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.)
- Pending
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 409
- 230000015654 memory Effects 0.000 claims abstract description 70
- 238000000034 method Methods 0.000 claims description 60
- 230000001360 synchronised effect Effects 0.000 claims description 57
- 238000012856 packing Methods 0.000 claims description 47
- 238000012360 testing method Methods 0.000 claims description 20
- 230000003139 buffering effect Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 14
- 239000000872 buffer Substances 0.000 claims description 13
- 238000012840 feeding operation Methods 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000004513 sizing Methods 0.000 claims description 4
- 230000000873 masking effect Effects 0.000 claims description 2
- 230000002401 inhibitory effect Effects 0.000 claims 4
- 230000005465 channeling Effects 0.000 claims 1
- 238000000605 extraction Methods 0.000 claims 1
- 230000004044 response Effects 0.000 description 39
- 230000002093 peripheral effect Effects 0.000 description 15
- 230000002457 bidirectional effect Effects 0.000 description 13
- 238000005452 bending Methods 0.000 description 12
- 230000007704 transition Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 101150052235 KSL7 gene Proteins 0.000 description 2
- 235000003434 Sesamum indicum Nutrition 0.000 description 2
- 244000000231 Sesamum indicum Species 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 101100490184 Drosophila melanogaster Ack gene Proteins 0.000 description 1
- 241001553014 Myrsine salicina Species 0.000 description 1
- 101100043434 Oryza sativa subsp. japonica SERR gene Proteins 0.000 description 1
- 101150020913 USP7 gene Proteins 0.000 description 1
- 102000052151 Ubiquitin-Specific Peptidase 7 Human genes 0.000 description 1
- 108700011958 Ubiquitin-Specific Peptidase 7 Proteins 0.000 description 1
- 229940126752 Ubiquitin-specific protease 7 inhibitor Drugs 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の背景コ
1、発明の分野
この発明は一般に中央処理装置(rcPUJ )を含む
第1の組の高性能デバイスが取付けられる第1のバスと
、そのCPUの性能を制限しないように比較的低性能の
第2の組のデバイスが取付けられる第2のバスとの間で
データを転送するための方法およびそれに用いられる装
置に関するものである。この発明は特に、低減命令セッ
トコンピュータ(RI S C)システムの一部を構成
するCPUが取付けられる高性能チャネル(これより以
降「ローカルバス」という)と1個以上の典型的には低
性能の周辺バス(これより以降「遠隔バス」という)と
の間の、上で述べられたデータ転送機能を果たすのに適
した新規のデータ転送制御器(rDTcJ )または1
組のDTCに関するものである。
第1の組の高性能デバイスが取付けられる第1のバスと
、そのCPUの性能を制限しないように比較的低性能の
第2の組のデバイスが取付けられる第2のバスとの間で
データを転送するための方法およびそれに用いられる装
置に関するものである。この発明は特に、低減命令セッ
トコンピュータ(RI S C)システムの一部を構成
するCPUが取付けられる高性能チャネル(これより以
降「ローカルバス」という)と1個以上の典型的には低
性能の周辺バス(これより以降「遠隔バス」という)と
の間の、上で述べられたデータ転送機能を果たすのに適
した新規のデータ転送制御器(rDTcJ )または1
組のDTCに関するものである。
(以下余白)
2、関連技術の説明
RISCプロセッサと、RISCシステムの内部にある
メモリ手段を含む1組のデバイスとの間の高性能システ
ムインターフェイスを達成するための方法および装置が
、アドバンスト・マイクロ・ディバイシズ・インコーホ
レーテッドに譲渡され、1987年2月19日に出され
た同時係属出願連続番号節012,226号に記載され
ている。
メモリ手段を含む1組のデバイスとの間の高性能システ
ムインターフェイスを達成するための方法および装置が
、アドバンスト・マイクロ・ディバイシズ・インコーホ
レーテッドに譲渡され、1987年2月19日に出され
た同時係属出願連続番号節012,226号に記載され
ている。
この同時係属中の出願はここに引用により援用される。
同時係属出願において教示されている新規のシステムイ
ンターフェイスはその好ましい実施例によれば「アドレ
スバス」と「データパスコと呼ばれる2個の32ビット
幅のバスを含む。この出願の目的ではこれらの2個のバ
スは共にローカルバスに対応する。
ンターフェイスはその好ましい実施例によれば「アドレ
スバス」と「データパスコと呼ばれる2個の32ビット
幅のバスを含む。この出願の目的ではこれらの2個のバ
スは共にローカルバスに対応する。
RISCシステムが市場で入手可能なIR8Cプロセッ
サより遅い速度で典型的には動作する周辺デバイスの広
いアレイを利用しかつアクセスすることができるように
、ローカルバスは1個以上の前記周辺デバイスが接続さ
れる遠隔バスに何らかの態様で結合される必要がある。
サより遅い速度で典型的には動作する周辺デバイスの広
いアレイを利用しかつアクセスすることができるように
、ローカルバスは1個以上の前記周辺デバイスが接続さ
れる遠隔バスに何らかの態様で結合される必要がある。
遠隔バスはそれ自身プロセッサで完全な入出力サブシス
テムでもあり得る。
テムでもあり得る。
現在、異なる性能特性を有しく以前に述べられたローカ
ルバスと遠隔バスのように)、また一方で同時にバスに
取付けられるデバイスの性能にそれほど影響を及ぼさな
いバスの間の相互接続およびデータ転送を可能にするい
かなるデバイスも方法も知られていない。この問題を処
理する際に、たとえばローカルバスに取付けられている
RISCプロセッサのような高速プロセッサの性能を遠
隔バスに接続されている周辺装置および/または入出力
サブシステムの比較的低い性能と接触させないようにす
ることが特に望ましい特徴であろう。
ルバスと遠隔バスのように)、また一方で同時にバスに
取付けられるデバイスの性能にそれほど影響を及ぼさな
いバスの間の相互接続およびデータ転送を可能にするい
かなるデバイスも方法も知られていない。この問題を処
理する際に、たとえばローカルバスに取付けられている
RISCプロセッサのような高速プロセッサの性能を遠
隔バスに接続されている周辺装置および/または入出力
サブシステムの比較的低い性能と接触させないようにす
ることが特に望ましい特徴であろう。
理想的には、ローカルバス上のアクセスの帯域幅および
待ち時間は遠隔バス上のアクセスの帯域幅および待ち時
間から両方のバス上のアクセス間で同時に結合を解除さ
れることが必要とされる。
待ち時間は遠隔バス上のアクセスの帯域幅および待ち時
間から両方のバス上のアクセス間で同時に結合を解除さ
れることが必要とされる。
解決されるべき別の問題は、入出力ポートおよび直接メ
モリアクセス(rDMAJ )動作がローカルバスに取
付けられたデバイスとオーバラップする(すなわち並列
に動作する)ことを可能にする方法および装置を提供す
べきである。そのような並列特性は、DTCがその一部
を形成する全体システムの性能をさらに高めかつ特にR
ISCシステムにおいてはRISCプロセッサが入出力
の終了を待機しなくてもよいようにするであろう。
モリアクセス(rDMAJ )動作がローカルバスに取
付けられたデバイスとオーバラップする(すなわち並列
に動作する)ことを可能にする方法および装置を提供す
べきである。そのような並列特性は、DTCがその一部
を形成する全体システムの性能をさらに高めかつ特にR
ISCシステムにおいてはRISCプロセッサが入出力
の終了を待機しなくてもよいようにするであろう。
人出力制御器およびDMA自体の機能は先行技術で周知
である。しかしなから、これらの機能の組合わせはいか
なる方法または装置によっても行なわれておらず、その
方法および装置とは(1)以上述べられた型の高性能R
ISCシステムのローカルバスと遠隔バスを相互接続し
かつバッファに入れ、(2)異なる性能特性を有するバ
スを相互接続させる際の以前に述べられた問題を解決し
、(3)以前に述べられた並列を提供するものである。
である。しかしなから、これらの機能の組合わせはいか
なる方法または装置によっても行なわれておらず、その
方法および装置とは(1)以上述べられた型の高性能R
ISCシステムのローカルバスと遠隔バスを相互接続し
かつバッファに入れ、(2)異なる性能特性を有するバ
スを相互接続させる際の以前に述べられた問題を解決し
、(3)以前に述べられた並列を提供するものである。
さらに、上で述べられた型のバスとバスのインターフェ
イスを支持するDMAチャネル、すなわち異なるバス特
性と、連続したアドレスシーケンスのみを行なうDMA
チャネルに対する並列を説明するいかなるDMAチャネ
ルもそれ自身知られていない。
イスを支持するDMAチャネル、すなわち異なるバス特
性と、連続したアドレスシーケンスのみを行なうDMA
チャネルに対する並列を説明するいかなるDMAチャネ
ルもそれ自身知られていない。
最後に、18M370 (大型の本体コンピュータ)の
ようなシステムは直接メモリアクセス特性を有するチャ
ネル制御器回路網を含むことが知られているが、マイク
ロプロセッサレベルで特に単一チップ上でのDMAおよ
び入出力制御器機能の両方を提供する、RISC処理シ
ステムとの組合わせにおける先行技術は知られていない
。そのような特性は現在チップレベルで製作されている
RISC処理システムにとって所望な属性であろう。
ようなシステムは直接メモリアクセス特性を有するチャ
ネル制御器回路網を含むことが知られているが、マイク
ロプロセッサレベルで特に単一チップ上でのDMAおよ
び入出力制御器機能の両方を提供する、RISC処理シ
ステムとの組合わせにおける先行技術は知られていない
。そのような特性は現在チップレベルで製作されている
RISC処理システムにとって所望な属性であろう。
[発明の要約]
この発明に従えば、少なくとも1つの中央処理装置(r
CPUJ)を含む第1の組の高性能デバイスが取付けら
れる第1のバスと、比較的低性能の第2の組のデバイス
が取付けられる第2のバスとの間のデータを転送する方
法および装置が開示される。特に、この発明は特に、第
1と第2の組のデバイスの間の通信を容易にし、一方で
第1の組のデバイスの性能と第2の組の性能の比較的低
い性能とを離す態様で以上述べられた転送機能を達成す
る。
CPUJ)を含む第1の組の高性能デバイスが取付けら
れる第1のバスと、比較的低性能の第2の組のデバイス
が取付けられる第2のバスとの間のデータを転送する方
法および装置が開示される。特に、この発明は特に、第
1と第2の組のデバイスの間の通信を容易にし、一方で
第1の組のデバイスの性能と第2の組の性能の比較的低
い性能とを離す態様で以上述べられた転送機能を達成す
る。
この発明の好ましい実施例によれば、1組の直接メモリ
アクセスチャネルを含むデータメモリアクセス(rDM
AJ )装置および方法が開示される。DMAチャネル
は低減命令セットコンピュータ(RISC)システムに
おけるCPUに結合される高性能チャネル(これより以
降「ローカルバス」という)と典型的には低性能の周辺
バス(これより以降「遠隔バス」と呼ぶ)との間のデー
タを転送するために用いられてもよい。ローカルバスと
遠隔バスとの間の結果として生じるDMAインターフェ
イスは標準の周辺デバイスの広い性能範囲がシステムの
性能を制限しないようにRISCシステムに取付けられ
ることを可能にする。
アクセスチャネルを含むデータメモリアクセス(rDM
AJ )装置および方法が開示される。DMAチャネル
は低減命令セットコンピュータ(RISC)システムに
おけるCPUに結合される高性能チャネル(これより以
降「ローカルバス」という)と典型的には低性能の周辺
バス(これより以降「遠隔バス」と呼ぶ)との間のデー
タを転送するために用いられてもよい。ローカルバスと
遠隔バスとの間の結果として生じるDMAインターフェ
イスは標準の周辺デバイスの広い性能範囲がシステムの
性能を制限しないようにRISCシステムに取付けられ
ることを可能にする。
この発明の目的は異なる性能特性を有しく上述のローカ
ルバスと遠隔バスのように)、一方で同時にそのバスに
取付けられるデバイスの性能にそれほど影響も及ぼさな
いバスの相互接続およびデータ転送を可能にする方法お
よび装置を提供することである。
ルバスと遠隔バスのように)、一方で同時にそのバスに
取付けられるデバイスの性能にそれほど影響も及ぼさな
いバスの相互接続およびデータ転送を可能にする方法お
よび装置を提供することである。
この発明の他の目的はRISCシステムが典型的にはR
ISCプロセッサより低速で動作する市場で入手可能な
周辺デバイスの広いアレイを利用しかつアクセスするこ
とを可能にする方法および装置を提供することである。
ISCプロセッサより低速で動作する市場で入手可能な
周辺デバイスの広いアレイを利用しかつアクセスするこ
とを可能にする方法および装置を提供することである。
この発明のさらに他の目的はローカルバス上のアクセス
の帯域幅および待ち時間が遠隔バス上のアクセスの帯域
幅および待ち時間とから両方のバス上のアクセス間で同
時に結合を解除される態様で、たとえばローカルバスに
取付けられるRISCプロセッサのような高速プロセッ
サの性能を遠隔バスに接続される周辺装置および/また
は入出力サブシステムの比較的低性能から離すことであ
る。
の帯域幅および待ち時間が遠隔バス上のアクセスの帯域
幅および待ち時間とから両方のバス上のアクセス間で同
時に結合を解除される態様で、たとえばローカルバスに
取付けられるRISCプロセッサのような高速プロセッ
サの性能を遠隔バスに接続される周辺装置および/また
は入出力サブシステムの比較的低性能から離すことであ
る。
さらに、この発明の目的はDMA動作が全体のシステム
性能を高めるためにローカルバスに取付けられたデバイ
スとオーバラップする(すなわち並列に動作する)がで
きる方法および装置を提供することである。
性能を高めるためにローカルバスに取付けられたデバイ
スとオーバラップする(すなわち並列に動作する)がで
きる方法および装置を提供することである。
この発明の好ましい実施例はRISCプロセッサとDT
Cの両方をチップレベルで組立てて、RISC処理環境
の中で前述の目的を満たす。
Cの両方をチップレベルで組立てて、RISC処理環境
の中で前述の目的を満たす。
この発明は遠隔バス上の周辺装置をローカルバスに接続
するのに必要なハードウェアの量を減じることを特徴と
する。この発明の付加の特徴はバスの大きさ決めや、デ
ータのパッキングおよびパッキング解除そしてバイトと
ワードにパックされたハーフワードデータとの間の変換
を行なうための柔軟性を含む。
するのに必要なハードウェアの量を減じることを特徴と
する。この発明の付加の特徴はバスの大きさ決めや、デ
ータのパッキングおよびパッキング解除そしてバイトと
ワードにパックされたハーフワードデータとの間の変換
を行なうための柔軟性を含む。
この発明のこれらおよび他の目的および特徴は以下の詳
細な説明および同様の参照符号がすべての図面にわたっ
て同じ特徴を表わす添付の図面を考慮すると当業者には
明らかとなるであろう。
細な説明および同様の参照符号がすべての図面にわたっ
て同じ特徴を表わす添付の図面を考慮すると当業者には
明らかとなるであろう。
[詳細な説明]
この発明の好ましい実施例に従えば、DTCはローカル
バス上の4個のアドレスマツピングされた入力/出力ポ
ートを実現する。これらのポートはローカルバスから遠
隔バスへのゲートウェイを提供し、その結果ローカルバ
スに取付けられたプロセッサは直接遠隔バス上のデバイ
スおよびメモリをアクセスできる。
バス上の4個のアドレスマツピングされた入力/出力ポ
ートを実現する。これらのポートはローカルバスから遠
隔バスへのゲートウェイを提供し、その結果ローカルバ
スに取付けられたプロセッサは直接遠隔バス上のデバイ
スおよびメモリをアクセスできる。
この発明の好ましい実施例に従えば、各入出力ポートは
大きさが2のべきの数のバイトであってかつローカルバ
ス上の対応するどの2のべきのアドレス境界でも始まる
ことができる。ポートはデータメモリアドレス空間かま
たは入出力アドレス空間のいずれかにおけるローカルバ
ス上で現われることができる。これらのアドレス空間は
引用された同時係属出願において規定される。そのポー
トはアドレスマツプされ、そのためローカルバス上のア
ドレス指定は遠隔バス上のアドレス指定と独立している
。これらのポートのオプショナルの先読みおよび後書き
によって遠隔バスアクセスはローカルバスアクセスとオ
ーバラップすることが可能となる。これらの特徴は後に
より詳細に説明される。
大きさが2のべきの数のバイトであってかつローカルバ
ス上の対応するどの2のべきのアドレス境界でも始まる
ことができる。ポートはデータメモリアドレス空間かま
たは入出力アドレス空間のいずれかにおけるローカルバ
ス上で現われることができる。これらのアドレス空間は
引用された同時係属出願において規定される。そのポー
トはアドレスマツプされ、そのためローカルバス上のア
ドレス指定は遠隔バス上のアドレス指定と独立している
。これらのポートのオプショナルの先読みおよび後書き
によって遠隔バスアクセスはローカルバスアクセスとオ
ーバラップすることが可能となる。これらの特徴は後に
より詳細に説明される。
DTCはまた遠隔バスからローカルバスへのそしてロー
カルバスから遠隔バスへのDMA転送を支持する、4個
のバッファに入れられたDMAチャネルを実現する。こ
の発明の好ましい実施例に従えば、DMAアクセスに関
してデータは4個の64ワードのキューの1つにおいて
バッファされる。DMAチャネル1個あたり1つのキュ
ーがある。
カルバスから遠隔バスへのDMA転送を支持する、4個
のバッファに入れられたDMAチャネルを実現する。こ
の発明の好ましい実施例に従えば、DMAアクセスに関
してデータは4個の64ワードのキューの1つにおいて
バッファされる。DMAチャネル1個あたり1つのキュ
ーがある。
DMAキューは各ローカルバス獲得のために大量のデー
タの転送を許容することによってローカルバス上のDM
A転送のオーバヘッドを減する。
タの転送を許容することによってローカルバス上のDM
A転送のオーバヘッドを減する。
これは特に引用された同時係属出願において述べられて
いるようにローカルバスのバーストモード能力が用いら
れるなら有効である。キューはたとえばRISCプロセ
ッサ上でのソフトウェア実行によって直接操作されても
よい。
いるようにローカルバスのバーストモード能力が用いら
れるなら有効である。キューはたとえばRISCプロセ
ッサ上でのソフトウェア実行によって直接操作されても
よい。
以上に述べられたように、第1図はRISCシステムの
ローカルバスと遠隔バスを相互接続させるDTCを示す
。
ローカルバスと遠隔バスを相互接続させるDTCを示す
。
すなわち、DTC,すなわちユニット104はそれぞれ
リンク111aおよび112aを介して32ビツトのア
ドレスバス111と32ビツトのデータバス112とに
相互接続されて示される。
リンク111aおよび112aを介して32ビツトのア
ドレスバス111と32ビツトのデータバス112とに
相互接続されて示される。
第1図においてローカルバス110で示されるローカル
バスはアドレスバス111とデータバス112とからな
ることに注目されたい。
バスはアドレスバス111とデータバス112とからな
ることに注目されたい。
RISCプロセッサ101と、プログラムストア102
と、データメモリ103と、これらのデバイスすなわち
1llb、1llc、1lldおよび112bの間の相
互接続と、アドレスバス111と、データバス112は
すべて同時係属出願に詳細に説明される。新規のDTC
は例示の目的のみで同時係属出願において述べられたR
ISCシステムの中でここに説明されるであろう。当業
者はDTCがここで述べられる発明の精神および範囲か
ら逸脱することなく異なる性能特性を有するデバイスに
インターフェイスを提供するようにどのようにされるか
を容易に理解するであろう。
と、データメモリ103と、これらのデバイスすなわち
1llb、1llc、1lldおよび112bの間の相
互接続と、アドレスバス111と、データバス112は
すべて同時係属出願に詳細に説明される。新規のDTC
は例示の目的のみで同時係属出願において述べられたR
ISCシステムの中でここに説明されるであろう。当業
者はDTCがここで述べられる発明の精神および範囲か
ら逸脱することなく異なる性能特性を有するデバイスに
インターフェイスを提供するようにどのようにされるか
を容易に理解するであろう。
DTC104とインターフェイスユニット105は同時
係属出願連続番号節012,226号には示されていな
い。インターフェイスユニット105は必要ではないが
DTC104を遠隔バス120に相互接続させるために
用いられてもよい。
係属出願連続番号節012,226号には示されていな
い。インターフェイスユニット105は必要ではないが
DTC104を遠隔バス120に相互接続させるために
用いられてもよい。
ユニット104および105の双方は後に詳細に説明さ
れる。
れる。
この発明の好ましい実施例に従えば、DTCI04は1
.2ミクロンCM OS技術において実現されかつ14
8個の信号ピンと、20個の電力および接地ピンと、1
個のアライメントピンを用いて169のターミナルのピ
ングリッドアレイ(PGA)パッケージにおいて実装さ
れる。
.2ミクロンCM OS技術において実現されかつ14
8個の信号ピンと、20個の電力および接地ピンと、1
個のアライメントピンを用いて169のターミナルのピ
ングリッドアレイ(PGA)パッケージにおいて実装さ
れる。
第2図はDTC104のためのピンアウト図である。第
2図の集積回路パッケージ204は新規のDTCを収容
しかつこの発明の好ましい実施例に従った、ローカルバ
ス110を介した第1図に示されるRISCシステムと
遠隔バス120を介した1組の周辺装置の両方への相互
接続を容易にする。DTCへのそしてDTCからのロー
カルバス接続は第2図の点線A−Aの左側に示されかつ
DTCへのそしてDTCからの遠隔バス接続は第2図の
点線A−Aの右側に示される。
2図の集積回路パッケージ204は新規のDTCを収容
しかつこの発明の好ましい実施例に従った、ローカルバ
ス110を介した第1図に示されるRISCシステムと
遠隔バス120を介した1組の周辺装置の両方への相互
接続を容易にする。DTCへのそしてDTCからのロー
カルバス接続は第2図の点線A−Aの左側に示されかつ
DTCへのそしてDTCからの遠隔バス接続は第2図の
点線A−Aの右側に示される。
インターフェイスがどのように利用されるかの説明を続
ける前に、この発明の好ましい実施例に従って1組のD
TC入力および出力信号はDTC104とバス110お
よび120によってそれに接続されるデバイスとの間の
本質的かつ制御情報の通信を容易にするために規定され
ている。これらの信号は第2図に示されるピンアウトブ
ロックに示されるピンとの1対1対応である。
ける前に、この発明の好ましい実施例に従って1組のD
TC入力および出力信号はDTC104とバス110お
よび120によってそれに接続されるデバイスとの間の
本質的かつ制御情報の通信を容易にするために規定され
ている。これらの信号は第2図に示されるピンアウトブ
ロックに示されるピンとの1対1対応である。
第2図に示される集積回路を介してDTC104に入力
されかつDTC104から出力される信号の説明はDT
Cがどのようにローカルバス110と遠隔バス120の
間の交信を支持するのに利用されるか(後により詳細に
説明される)の説明とともにDTCの動作性および有用
性を例示する。
されかつDTC104から出力される信号の説明はDT
Cがどのようにローカルバス110と遠隔バス120の
間の交信を支持するのに利用されるか(後により詳細に
説明される)の説明とともにDTCの動作性および有用
性を例示する。
バス110に取付けられるRISCプロセッサとバス1
20に取付けられるデバイスとのインターフェイスと同
じDTCの利用かつ制御方法の教示が、異なる性能特性
を有しDTCを介して相互接続されるバスに取付けられ
るデバイスの組の間の交信を容易にするためにどのよう
にDTCを利用しかつ制御するかの教示まで延長されて
もよいことを当業者は容易に認めるであろう。
20に取付けられるデバイスとのインターフェイスと同
じDTCの利用かつ制御方法の教示が、異なる性能特性
を有しDTCを介して相互接続されるバスに取付けられ
るデバイスの組の間の交信を容易にするためにどのよう
にDTCを利用しかつ制御するかの教示まで延長されて
もよいことを当業者は容易に認めるであろう。
例示および引用された同時係属出願との一致のために、
RISCシステムのための32ビツト命令およびデータ
ワードアーキテクチャが仮定される。当業者は例示的な
実施例が異なるワードの長さを有するコンピュータシス
テムに関して発明の実現化例または範囲を制限しないこ
とを認めるであろう。
RISCシステムのための32ビツト命令およびデータ
ワードアーキテクチャが仮定される。当業者は例示的な
実施例が異なるワードの長さを有するコンピュータシス
テムに関して発明の実現化例または範囲を制限しないこ
とを認めるであろう。
ピンアウトブロック形式でこの発明の好ましい実施例の
DTC104への入力およびDTC104からの出力の
各々を示す第2図を参照する。
DTC104への入力およびDTC104からの出力の
各々を示す第2図を参照する。
まずローカルバス入力および出力に焦点を当てると、(
第2図の左側)第1図のアドレスバス111とデータバ
ス112は32個のピンが各々ある2個の組からなる6
4のピンバス相互接続を介して第2図のブロック104
に相互接続されて示される。第1の組の32個のピンは
第1図のバスをDTC104に相互接続するように働き
かつ第2図においてはrAO−A31Jと示される。第
2の組の32個のピンは第1図の別々の独立したデータ
バスすなわちバス112に向けられ、第2図において(
’Do−DD31Jで示される。
第2図の左側)第1図のアドレスバス111とデータバ
ス112は32個のピンが各々ある2個の組からなる6
4のピンバス相互接続を介して第2図のブロック104
に相互接続されて示される。第1の組の32個のピンは
第1図のバスをDTC104に相互接続するように働き
かつ第2図においてはrAO−A31Jと示される。第
2の組の32個のピンは第1図の別々の独立したデータ
バスすなわちバス112に向けられ、第2図において(
’Do−DD31Jで示される。
第2図のピンの説明を進める前に、「3状態」という言
葉はこれより以降通常の動作の間、高インピーダンス状
態に置かれてもよい信号を表わすために用いられること
に注目すべきである。すべての出力(MSERRを除く
)が*TEST入力によって高インピーダンス状態に置
かれてもよい。
葉はこれより以降通常の動作の間、高インピーダンス状
態に置かれてもよい信号を表わすために用いられること
に注目すべきである。すべての出力(MSERRを除く
)が*TEST入力によって高インピーダンス状態に置
かれてもよい。
MSERRおよび*TESTの両方は第2図のピンの説
明を参照して後に説明される。
明を参照して後に説明される。
ローカルバス信号の説明に戻るが、すべてのローカルバ
ス信号は5YSCLKに対して同期式であることに注目
すべきである。5YSCLKは引用された同時係属出願
において説明される。
ス信号は5YSCLKに対して同期式であることに注目
すべきである。5YSCLKは引用された同時係属出願
において説明される。
AO−A31 (アドレスバス)ピンは双方向であり、
同期式でかつ3状態である。アドレスバスはバーストモ
ードアクセスを除いてすべてのローカルバスアクセスに
対してバイトアドレスを転送する。バーストモードアク
セスでは、シーケンスにおける第1のアクセスに対して
アドレスを転送する。
同期式でかつ3状態である。アドレスバスはバーストモ
ードアクセスを除いてすべてのローカルバスアクセスに
対してバイトアドレスを転送する。バーストモードアク
セスでは、シーケンスにおける第1のアクセスに対して
アドレスを転送する。
DO−D31 (データバス)ピンは双方向であって、
同期式でかつ3状態である。データバスはDTCのロー
カルバス側でDTC104へかつDTC104からデー
タを転送する。
同期式でかつ3状態である。データバスはDTCのロー
カルバス側でDTC104へかつDTC104からデー
タを転送する。
第2図の線A−Aのローカルバス側のすべての他のピン
および信号は”C3ELとDTO−DT3および*lN
TRを除いて引用された同時係属出願において説明され
る。しかしなから、明確かつ完全にするために、DTC
104の状況におけるピンおよび信号の各々の目的の復
習が他に説明されていないピンおよび信号の説明に加え
て再び述べられる。以下に続くピンおよび信号の説明す
べてはこの発明の好ましい実施例に従うものである。
および信号は”C3ELとDTO−DT3および*lN
TRを除いて引用された同時係属出願において説明され
る。しかしなから、明確かつ完全にするために、DTC
104の状況におけるピンおよび信号の各々の目的の復
習が他に説明されていないピンおよび信号の説明に加え
て再び述べられる。以下に続くピンおよび信号の説明す
べてはこの発明の好ましい実施例に従うものである。
5YSCLK (システムクロック)はDTC104の
入力である。入力はローカルバスの周波数で動作するク
ロック信号である。DTC104はこの信号を用いてす
べてのローカルバスアクセスを同期化する。
入力である。入力はローカルバスの周波数で動作するク
ロック信号である。DTC104はこの信号を用いてす
べてのローカルバスアクセスを同期化する。
*BREQ (バス要求)は同期式であり、アクティブ
ローであってローカルバスのための仲裁をするために用
いられるDTCl 04の出力である。
ローであってローカルバスのための仲裁をするために用
いられるDTCl 04の出力である。
車BCRT (バス許可)は同期式であって、アクティ
ブローで、DTC104にそれがローカルバスを制御し
ていることを知らせるDTC104の入力である。たと
え*BREQが不活性状態であってもそれは断定されて
もよい。もしDTC104が許可されたローカルバスを
用いることができないなら、それは*BINV(後に説
明される)が遊び状態のローカルバスサイクルを作るこ
とを断定する。
ブローで、DTC104にそれがローカルバスを制御し
ていることを知らせるDTC104の入力である。たと
え*BREQが不活性状態であってもそれは断定されて
もよい。もしDTC104が許可されたローカルバスを
用いることができないなら、それは*BINV(後に説
明される)が遊び状態のローカルバスサイクルを作るこ
とを断定する。
*C3EL(チップ選択)は同期式であって、アクティ
ブローで、DTC104の入力である。
ブローで、DTC104の入力である。
この発明の好ましい実施例に従えば、DTC104はア
ドレスデコードの結果かまたは亭C3EL上の活性状態
レベルの結果のいずれかとしてのローカルバス要求を認
工するように構成されてもよい。この入力はこの発明を
教示するのに要求される程度だが後に説明される内部の
DTC104しジスタへのアクセスのみに関して関連が
ある。
ドレスデコードの結果かまたは亭C3EL上の活性状態
レベルの結果のいずれかとしてのローカルバス要求を認
工するように構成されてもよい。この入力はこの発明を
教示するのに要求される程度だが後に説明される内部の
DTC104しジスタへのアクセスのみに関して関連が
ある。
”BINV(バス無効)は同期式であって、アクティブ
ローで、アドレスバス111と関連の制御が無効である
ことを示す、DTC104の出力である。それはローカ
ルバスのための遊び状態のサイクルを指定する。ピン自
身は双方向である。
ローで、アドレスバス111と関連の制御が無効である
ことを示す、DTC104の出力である。それはローカ
ルバスのための遊び状態のサイクルを指定する。ピン自
身は双方向である。
*DREQ(データ要求)は双方向のピンである。この
ピンの信号は同期式であって、3状態でかつアクティブ
ローである。この信号はローカルバス上の活性状態のデ
ータアクセスを示す。断定されると、アドレスバス11
1上でそのアクセスのためのアドレスが現われる。
ピンの信号は同期式であって、3状態でかつアクティブ
ローである。この信号はローカルバス上の活性状態のデ
ータアクセスを示す。断定されると、アドレスバス11
1上でそのアクセスのためのアドレスが現われる。
DREQTO−DREQTI (データ要求型)信号は
同期式であり3状態である。これらの信号は以下のとお
りローカルバス上のデータアクセスのためのアドレス空
間を指定する。(値(X)は気にしないということであ
る) DREQTI DREQTO意味 0 0 命令/データメモリアクセス0 1
入力/出力アクセス 1 x コプロセッサ転送(DTCIO4によっ
て無視される) R/ ”W (読出/@込)は双方向であって、同期式
であり、3状態信号である。DTC104がローカルバ
ススレーブであるとき、この信号はデータがローカルバ
スプロセッサからDTC1041こ(R/車Wロー)ま
たはDTC104からプロセッサに(R/車Wハイ)に
転送されているかどうかを示す。DTC104がローカ
ルバスマスタであるとき、この信号はデータがDTC1
04からローカルバスメモリに(R/*Wロー)かまた
はローカルバスメモリからDTCl 04に(R/*W
ハイ)に転送されているかどうかを示す。
同期式であり3状態である。これらの信号は以下のとお
りローカルバス上のデータアクセスのためのアドレス空
間を指定する。(値(X)は気にしないということであ
る) DREQTI DREQTO意味 0 0 命令/データメモリアクセス0 1
入力/出力アクセス 1 x コプロセッサ転送(DTCIO4によっ
て無視される) R/ ”W (読出/@込)は双方向であって、同期式
であり、3状態信号である。DTC104がローカルバ
ススレーブであるとき、この信号はデータがローカルバ
スプロセッサからDTC1041こ(R/車Wロー)ま
たはDTC104からプロセッサに(R/車Wハイ)に
転送されているかどうかを示す。DTC104がローカ
ルバスマスタであるとき、この信号はデータがDTC1
04からローカルバスメモリに(R/*Wロー)かまた
はローカルバスメモリからDTCl 04に(R/*W
ハイ)に転送されているかどうかを示す。
SUP/*US(スーパバイザ/ユーザモード)は双方
向ピンである。このピン上の信号の出力は同期式であり
、3状態信号である。この出力はアクセスの間口−カル
バスプロセッサのプログラムモード(スーパバイザモー
ドかまたはユーザモード)を示す。これらのモードは引
用された同時係属出願において規定される。DTC10
4の内部レジスタはユーザモードアクセス(読出または
書込のいずれか)から守られる。DTC104人出力ポ
ートはオプションとしてユーザモードアクセスから守ら
れてもよい。
向ピンである。このピン上の信号の出力は同期式であり
、3状態信号である。この出力はアクセスの間口−カル
バスプロセッサのプログラムモード(スーパバイザモー
ドかまたはユーザモード)を示す。これらのモードは引
用された同時係属出願において規定される。DTC10
4の内部レジスタはユーザモードアクセス(読出または
書込のいずれか)から守られる。DTC104人出力ポ
ートはオプションとしてユーザモードアクセスから守ら
れてもよい。
0PTO−OPTI (オプション制御)信号は同期式
であり、3状態信号である。これらの信号はローカルバ
スアクセスのためのデータの長さを指定する。バイトお
よびハーフワードアクセスは入出力ポートを介した遠隔
バス120上で反映されたアクセスに対してのみ有効で
ある。例示の目的で用いられているこの発明の実施例に
従えば、DTC104は遠隔バス120上の32ビツト
転送のみを支持する。これらの信号のコード化は以下の
とおりである。
であり、3状態信号である。これらの信号はローカルバ
スアクセスのためのデータの長さを指定する。バイトお
よびハーフワードアクセスは入出力ポートを介した遠隔
バス120上で反映されたアクセスに対してのみ有効で
ある。例示の目的で用いられているこの発明の実施例に
従えば、DTC104は遠隔バス120上の32ビツト
転送のみを支持する。これらの信号のコード化は以下の
とおりである。
0PTI 0PTOデータ幅
0 0 32ビツト
0 1 8ビツト
1 0 16ビツト
1 1 無効
*LOCK (ロック)は双方向であって、同期式であ
り、原始読出−修正−書込サイクルが遠隔バス120上
で行なわれるべきことを示すために用いられるアクティ
ブロー信号である。それは入出力ポートアクセスでのみ
意義がある。DTCI04はそれがローカルバスマスタ
であるときこの信号をハイに駆動する。
り、原始読出−修正−書込サイクルが遠隔バス120上
で行なわれるべきことを示すために用いられるアクティ
ブロー信号である。それは入出力ポートアクセスでのみ
意義がある。DTCI04はそれがローカルバスマスタ
であるときこの信号をハイに駆動する。
DPO−DP3 (データパリティ)は同期式であり、
3状態信号でありローカルバスメモリにストアされたデ
ータのための奇数のバイトパリティ信号である。DPO
信号はDo−D7のためのバイトパリティであって、D
PI信号はD8−DI5のためのバイトパリティであっ
て以下同様である。DMA転送の間、DTC104はパ
リティが遠隔バス120からローカルバス110にまた
その逆に転送されることを可能にする。DTCIO4は
人出力ポートを介するDMA転送かまたは遠隔からロー
カルへの転送の間、有効パリティのチェックを行なうこ
とができる。
3状態信号でありローカルバスメモリにストアされたデ
ータのための奇数のバイトパリティ信号である。DPO
信号はDo−D7のためのバイトパリティであって、D
PI信号はD8−DI5のためのバイトパリティであっ
て以下同様である。DMA転送の間、DTC104はパ
リティが遠隔バス120からローカルバス110にまた
その逆に転送されることを可能にする。DTCIO4は
人出力ポートを介するDMA転送かまたは遠隔からロー
カルへの転送の間、有効パリティのチェックを行なうこ
とができる。
”DRDY (データ作動可能)は双方向信号であって
、同期式でかつアクティブローである。口−カルバスの
読出では、この入力は有効データがデータバス111上
にあることを示す。書込では、それはアクセスが終了し
かつデータがもはやデータバス112上で駆動される必
要がないことを示す。DTC104がローカルバスアク
セスでスレーブであるとき、(*DERRもまた断定さ
れない限り)アクセスを首尾よく終了したことを示すた
めに*D RD Yを断定する。DTC104はローカ
ルバスアクセスでマスクであるとき、*DRDYはロー
カルバスメモリが(車DERRもまた断定されない限り
)アクセスを首尾よく終了したことを示す。
、同期式でかつアクティブローである。口−カルバスの
読出では、この入力は有効データがデータバス111上
にあることを示す。書込では、それはアクセスが終了し
かつデータがもはやデータバス112上で駆動される必
要がないことを示す。DTC104がローカルバスアク
セスでスレーブであるとき、(*DERRもまた断定さ
れない限り)アクセスを首尾よく終了したことを示すた
めに*D RD Yを断定する。DTC104はローカ
ルバスアクセスでマスクであるとき、*DRDYはロー
カルバスメモリが(車DERRもまた断定されない限り
)アクセスを首尾よく終了したことを示す。
*DERR(データエラー)入力は同期式でありかつア
クティブローであって、現在のローカルバスアクセスの
間エラーが発生したことを示す。
クティブローであって、現在のローカルバスアクセスの
間エラーが発生したことを示す。
”DBREQ(データバースト要求)は双方向であって
、同期式であり3状態であって、ローカルバス上のバー
ストモードデータアクセスを確立しかつバーストモード
データアクセスの間データ転送を要求するために用いら
れるアクティブロー信号である。
、同期式であり3状態であって、ローカルバス上のバー
ストモードデータアクセスを確立しかつバーストモード
データアクセスの間データ転送を要求するために用いら
れるアクティブロー信号である。
*DBACK (データバースト肯定応答)は双方向で
あって、同期式でありかつバーストモードデータアクセ
スがローカルバス上で(DTCIO4をアクセスのため
のマスクまたはスレーブのいずれかとして)確立したと
きはいつでもアクティブ状態であるアクティブロー信号
である。
あって、同期式でありかつバーストモードデータアクセ
スがローカルバス上で(DTCIO4をアクセスのため
のマスクまたはスレーブのいずれかとして)確立したと
きはいつでもアクティブ状態であるアクティブロー信号
である。
*INTR(割込要求)出力は同期式でありかアクティ
ブローであって、DTC104によって割込またはトラ
ップ要求の信号を送るために用いられてもよい。
ブローであって、DTC104によって割込またはトラ
ップ要求の信号を送るために用いられてもよい。
*TEST(テストモード)入力は同期式であって、ア
クティブローでかつ活性状態のときDTC104をテス
トモードにする。MSERRを除くすべての出力および
双方向ラインはこのモードで強制的に高インピーダンス
状態にされる。
クティブローでかつ活性状態のときDTC104をテス
トモードにする。MSERRを除くすべての出力および
双方向ラインはこのモードで強制的に高インピーダンス
状態にされる。
MSERR(マスタ/スレーブエラー)出力は同期式で
あり、アクティブハイであって、DTCl。04の出力
とオフチップドライバの内部より与えられた信号との比
較結果を示す。もしいずれかの可能化されたドライバで
相違が存在するなら、この信号は断定される。
あり、アクティブハイであって、DTCl。04の出力
とオフチップドライバの内部より与えられた信号との比
較結果を示す。もしいずれかの可能化されたドライバで
相違が存在するなら、この信号は断定される。
最後に、DTC104へのローカルバス接続では、*R
ESET(リセット)入力は同期式であって、DTC1
04をリセットするアクティブロー信号である。
ESET(リセット)入力は同期式であって、DTC1
04をリセットするアクティブロー信号である。
第2図に示される線A−Aの遠隔バス側でのピンおよび
信号は以下の目的のためである。
信号は以下の目的のためである。
この発明の好ましい実施例に従えば、すべての遠隔バス
信号はDTC104の遠隔バスインターフェイスの動作
周波数でのクロックである、RCLKと同期しているこ
とに注目すべきである。RCLKはRO5C入力(後に
説明される)の周波数の半分で発生される出力か、また
は外部のクロック発生器からの入力のいずれかである。
信号はDTC104の遠隔バスインターフェイスの動作
周波数でのクロックである、RCLKと同期しているこ
とに注目すべきである。RCLKはRO5C入力(後に
説明される)の周波数の半分で発生される出力か、また
は外部のクロック発生器からの入力のいずれかである。
遠隔バス信号はこのクロックに対して同期しているかま
たは同期していないかのいずれであってもよい。
たは同期していないかのいずれであってもよい。
RO3C(遠隔発振器)入力は、DTC104が遠隔バ
スのためにRCLKを発生するときRCLKの周波数の
2倍の発振器入力である。RCLKが外部のクロック発
生器によって発生されると、RO3Cはハイかまたはロ
ーにつながれるべきである。
スのためにRCLKを発生するときRCLKの周波数の
2倍の発振器入力である。RCLKが外部のクロック発
生器によって発生されると、RO3Cはハイかまたはロ
ーにつながれるべきである。
*RBREQ (遠隔バス要求)出力は同期式であって
、アクティブローでかつ遠隔バス120のための仲裁に
用いられる。
、アクティブローでかつ遠隔バス120のための仲裁に
用いられる。
*RBCRT (遠隔バス許可)入力は非同期式かまた
は同期式のいずれかであつもてよく、アクティブローで
、DTC104が遠隔バス120の制御をしているとい
う信号を出す。それは*RBREQがたとえ非活性状態
であってもアクティブであるかもしれない。もしDTC
104が遠隔バスを制御するが、行なうべきアクセスを
有していないなら、それは*ASTB(後に説明される
)を不活性状態に保持する。
は同期式のいずれかであつもてよく、アクティブローで
、DTC104が遠隔バス120の制御をしているとい
う信号を出す。それは*RBREQがたとえ非活性状態
であってもアクティブであるかもしれない。もしDTC
104が遠隔バスを制御するが、行なうべきアクセスを
有していないなら、それは*ASTB(後に説明される
)を不活性状態に保持する。
RADO−RAD31 (遠隔アドレス/データバス)
は双方向であって、入力/出力であり、非同期式/同期
式であり、3状態バスである。このバス上の信号は遠隔
バス120のための多重化されたアドレス/データ信号
である。”A S T Bが断定されると、このバスは
遠隔バスアクセスのバイトアドレスを保持する。*D
S T Bが断定されると、このバスはDTC104と
遠隔バス120におよびそれらからデータを転送するた
めに用いられる。
は双方向であって、入力/出力であり、非同期式/同期
式であり、3状態バスである。このバス上の信号は遠隔
バス120のための多重化されたアドレス/データ信号
である。”A S T Bが断定されると、このバスは
遠隔バスアクセスのバイトアドレスを保持する。*D
S T Bが断定されると、このバスはDTC104と
遠隔バス120におよびそれらからデータを転送するた
めに用いられる。
RADPO−RADP3 (遠隔アドレス/データパリ
ティ)は1組の双方向の3状態であって、RADO−R
AD31のための非同期/同期式奇数バイトパリティ信
号である。RDPO信号はRADO−RAD7のための
バイトパリティであって、DBI信号はRAD8−RA
DI5のためのバイトパリティであり以下同様である。
ティ)は1組の双方向の3状態であって、RADO−R
AD31のための非同期/同期式奇数バイトパリティ信
号である。RDPO信号はRADO−RAD7のための
バイトパリティであって、DBI信号はRAD8−RA
DI5のためのバイトパリティであり以下同様である。
DMA転送の間、DTC104はパリティが遠隔バス1
20からローカルバス110へとおよびその逆に転送さ
れることを可能にする。DTC104は入出力ポートを
介するDMA転送かまたは遠隔からローカルへの転送の
いずれかの間、有効パリティをチェックすることができ
る。
20からローカルバス110へとおよびその逆に転送さ
れることを可能にする。DTC104は入出力ポートを
介するDMA転送かまたは遠隔からローカルへの転送の
いずれかの間、有効パリティをチェックすることができ
る。
*ASTB(アドレスストローブ)信号は3状態であっ
て、同期式であり、DTC104がRADO−RAD3
1ライン上のアクセスのためにバイトアドレスを供給し
ていることを示すために断定されるアクティブローの出
力信号である。
て、同期式であり、DTC104がRADO−RAD3
1ライン上のアクセスのためにバイトアドレスを供給し
ていることを示すために断定されるアクティブローの出
力信号である。
M/*10(メモリ/入出力)出力は3状態であって、
同期式であり、現行の転送が遠隔バスのメモリアドレス
空間かまたは入力/出力(入出力)アドレス空間で起こ
っているかどうかを示す。
同期式であり、現行の転送が遠隔バスのメモリアドレス
空間かまたは入力/出力(入出力)アドレス空間で起こ
っているかどうかを示す。
*RMW (読出−修正−書込)出力は3状態であって
、同期式であり、現行の遠隔バスアクセスが原子(a
t om i c)の読出−修正−書込信号であること
を示す。それはそこで*LOCK信号が活性状態である
、ローカルバス上の入出力ポートアクセスに応答して活
性状態にされる。*RMWは読出−修正−書込シーケン
スの持続期間断定される。この信号は同期化および排他
演算のために利用されてもよいので、遠隔バスは原子性
(atomicity)を保証しなくてはならない。
、同期式であり、現行の遠隔バスアクセスが原子(a
t om i c)の読出−修正−書込信号であること
を示す。それはそこで*LOCK信号が活性状態である
、ローカルバス上の入出力ポートアクセスに応答して活
性状態にされる。*RMWは読出−修正−書込シーケン
スの持続期間断定される。この信号は同期化および排他
演算のために利用されてもよいので、遠隔バスは原子性
(atomicity)を保証しなくてはならない。
RR/ *RW (遠隔読出/遠隔書込)出力は3状態
であり、同期式であってデータ転送の方向を決定する。
であり、同期式であってデータ転送の方向を決定する。
ハイレベルは遠隔バス120からDTC104への転送
(読出)を示し、ローレベルはDTC104から遠隔シ
ステムへの転送(書込)を示す。
(読出)を示し、ローレベルはDTC104から遠隔シ
ステムへの転送(書込)を示す。
DSIZEO−DSIZEI (データサイズ要求)信
号は3状態であり、同期式であって要求された転送のデ
ータ幅を反映する出力である。この発明の好ましい実施
例に従えば、これらの信号のコード化は以下のとおりで
ある。
号は3状態であり、同期式であって要求された転送のデ
ータ幅を反映する出力である。この発明の好ましい実施
例に従えば、これらの信号のコード化は以下のとおりで
ある。
DSIZEI DSIZEOデータ幅0 0
32ビツト 0 1 8ビツト 1 0 16ビツト 1 1 無効 *DSTB(データストローブ)は3状態であり、同期
式であってRADO−RAD31ラインがデータ転送(
読出)で利用可能であることかまたはRADO−RAD
31ラインが書込のための有効なデータを含むことを示
しているアクティブロー出力である。
32ビツト 0 1 8ビツト 1 0 16ビツト 1 1 無効 *DSTB(データストローブ)は3状態であり、同期
式であってRADO−RAD31ラインがデータ転送(
読出)で利用可能であることかまたはRADO−RAD
31ラインが書込のための有効なデータを含むことを示
しているアクティブロー出力である。
DSACKO−DSACKI (データサイズ肯定応答
)信号は非同期式/同期式入力信号であって、これは要
求されたアクセスが終了することを示しかつアクセスさ
れたデバイスによって支持されるデータ幅(’8.16
または32ビツト)を示す。もし示されたデータ幅がD
S I ZEO−DSIZEIによって要求される転送
に十分でないなら、データ幅例外が発生する。これらの
信号のコード化は以下のとおりである。
)信号は非同期式/同期式入力信号であって、これは要
求されたアクセスが終了することを示しかつアクセスさ
れたデバイスによって支持されるデータ幅(’8.16
または32ビツト)を示す。もし示されたデータ幅がD
S I ZEO−DSIZEIによって要求される転送
に十分でないなら、データ幅例外が発生する。これらの
信号のコード化は以下のとおりである。
DSACKI DSACKOデータ幅0 0
32ビツト 0 1 8ビツト 1 0 16ビツト 1 1 無効または 応答なし *RBERRおよび*EOP (後に説明される)はも
しいかなるDSACKO−DSACKI応答も存在しな
いならアクセスを終了させるための交互の手段を提供す
ることに注目すべきである。
32ビツト 0 1 8ビツト 1 0 16ビツト 1 1 無効または 応答なし *RBERRおよび*EOP (後に説明される)はも
しいかなるDSACKO−DSACKI応答も存在しな
いならアクセスを終了させるための交互の手段を提供す
ることに注目すべきである。
”RBERR(遠隔バスエラー)は非同期式/同期式で
あって、アクティブロー入力であり、これは遠隔バス転
送のデータサイクルの間、活性状態であるとき現行の転
送の間遠隔バスでのエラー状態を示す。
あって、アクティブロー入力であり、これは遠隔バス転
送のデータサイクルの間、活性状態であるとき現行の転
送の間遠隔バスでのエラー状態を示す。
”EOP(プロセスの終わり)は非同期式/同期式のD
TC入力のアクティブローであって、遠隔バスデバイス
はこれを最後のDMA転送の間DTCにおける終了状態
に関係なくDMA転送の終わりの信号を送るために用い
てもよい。”EOPl;! D S A CK O−D
S A CK 31.:関係なく DMA転送のデー
タサイクルを終了する。
TC入力のアクティブローであって、遠隔バスデバイス
はこれを最後のDMA転送の間DTCにおける終了状態
に関係なくDMA転送の終わりの信号を送るために用い
てもよい。”EOPl;! D S A CK O−D
S A CK 31.:関係なく DMA転送のデー
タサイクルを終了する。
*DRQO−DRQ3 (DMA要求)入力は非同期式
/同期式であって、アクティブローでがっDMA転送を
要求するために遠隔バスデバイスによって用いられる。
/同期式であって、アクティブローでがっDMA転送を
要求するために遠隔バスデバイスによって用いられる。
入力*DRQO−*DRQ3はそれぞれDMAチャネル
0ないし3のためのDMA転送を要求する。この発明の
好ましい実施例に従えば、要求の相対的優先順位は固定
されるがまたは回転されるかのいずれかにプログラム可
能である。DTC104はDMA転送が発生するとき対
応するDAM肯定応答を断定する。これらの入力は対応
するDMA肯定応答出力が断定されるまで活性状態のま
まで保持されなくてはならない。
0ないし3のためのDMA転送を要求する。この発明の
好ましい実施例に従えば、要求の相対的優先順位は固定
されるがまたは回転されるかのいずれかにプログラム可
能である。DTC104はDMA転送が発生するとき対
応するDAM肯定応答を断定する。これらの入力は対応
するDMA肯定応答出力が断定されるまで活性状態のま
まで保持されなくてはならない。
最後に、出力車DAKO−車DAK3 (DMA肯定応
答)は同期式であって、アクティブローでDTC104
が遠隔バス120上でDMA転送を行なうことを肯定応
答するために用いられる。出力*DAI、KO−*DA
CK3はそれぞれDMAチャネルOないし3のためのD
MA転送を肯定応答する。
答)は同期式であって、アクティブローでDTC104
が遠隔バス120上でDMA転送を行なうことを肯定応
答するために用いられる。出力*DAI、KO−*DA
CK3はそれぞれDMAチャネルOないし3のためのD
MA転送を肯定応答する。
ローカルバス110と遠隔バス120の間のインターフ
ェイスを制御するのに有益である1組のDTC入力と出
力信号について詳細に説明してきたが、DTC自身の詳
細な機能説明およびそれがどのように様々なデータおよ
びアドレス転送を支持するかを次に述べる。この説明に
よりこの発明の動作および有用性の両方の論証を終える
。
ェイスを制御するのに有益である1組のDTC入力と出
力信号について詳細に説明してきたが、DTC自身の詳
細な機能説明およびそれがどのように様々なデータおよ
びアドレス転送を支持するかを次に述べる。この説明に
よりこの発明の動作および有用性の両方の論証を終える
。
第3図を参照すると、この図はこの発明の教示に従って
作られた4個の入出力ポートと4個のDMAチャネルを
有するDTCの機能ブロック図である。第3図の説明に
よってDTC動作の概要が述べられる。
作られた4個の入出力ポートと4個のDMAチャネルを
有するDTCの機能ブロック図である。第3図の説明に
よってDTC動作の概要が述べられる。
DTCは第1図のブロック104に対応して点線で示さ
れ、参照番号310となっている。
れ、参照番号310となっている。
矢印によって示される可能な信号方法が示されている、
以前に述べられたDTC入力および出力信号のサブセッ
トのみが第3図に示される。特に、AO−A31(!:
、*C5EL(!:、DO−D31と、DPI−DP3
と、RADO−RAD31およびRADPO−RADP
3信号75<DTC310i、:結合されて示されてい
る。どのようにデータおよびアドレス情報がDTC31
0を通ってチャネル動作されるかの概要を説明するため
にはこれらの信号だけで十分である。
以前に述べられたDTC入力および出力信号のサブセッ
トのみが第3図に示される。特に、AO−A31(!:
、*C5EL(!:、DO−D31と、DPI−DP3
と、RADO−RAD31およびRADPO−RADP
3信号75<DTC310i、:結合されて示されてい
る。どのようにデータおよびアドレス情報がDTC31
0を通ってチャネル動作されるかの概要を説明するため
にはこれらの信号だけで十分である。
DTC310がDTC31oへ入ッタリ、ソコから出た
りまたはそれを通る種々の信号、カウンタ、入力、出力
等を保持しがっ制御するために用いられる、内部レジス
タ(第3図には示されていない)を有することが当業者
には理解されるであろう。DTC310を実現するため
に用いられる特定のレジスタ構造は入出力制御器を動作
し、がつ制御するための唯一の構造ではないにしても有
益である。したがって、これらのレジスタの各々の機能
の簡単な説明とともに、この発明の好ましい実施例にお
いて用いられる内部DTCレジスタの一般的な概要は簡
潔さのために述べられる。また、特定の意味深い内部レ
ジスタがDTC310の動作を説明する際に有用である
ときは常にそれは詳細に参照される。
りまたはそれを通る種々の信号、カウンタ、入力、出力
等を保持しがっ制御するために用いられる、内部レジス
タ(第3図には示されていない)を有することが当業者
には理解されるであろう。DTC310を実現するため
に用いられる特定のレジスタ構造は入出力制御器を動作
し、がつ制御するための唯一の構造ではないにしても有
益である。したがって、これらのレジスタの各々の機能
の簡単な説明とともに、この発明の好ましい実施例にお
いて用いられる内部DTCレジスタの一般的な概要は簡
潔さのために述べられる。また、特定の意味深い内部レ
ジスタがDTC310の動作を説明する際に有用である
ときは常にそれは詳細に参照される。
内部DTCレジスタはこの発明の好ましい実施例に従え
ば、アドレスバス111を介してアドレス指定され得る
。たとえば、入出力ポートを利用する前に、アドレスの
範囲が内部のDTCレジスタにロードされてデータがそ
こに(またはそこから)iF込まれるアクセス窓を準備
し、そしてポートから検索されてもよい。この初期設定
機能はこの発明の好ましい実施例に従って第3図のアド
レス比較および制御デコーダ手段301によって行なわ
れてもよく、これはこの発明の一部を構成していないレ
ジスタをロードするための周知のハードウェアおよび/
またはソフトウェア技術によって実現されてもよい。ポ
ート窓を準備するのに加えて、ブロック301への*C
3EL入力とA−A31入力およびブロック301から
の(DTC310の内部レジスタへの)制御出力は好ま
しい実施例に従ってDTC310を構成するために用い
られ、アドレスデコードの結果またはアクティブ(ロー
)である”CS E Lの結果のいずれがとしてのロー
カルバス要求を認識する。
ば、アドレスバス111を介してアドレス指定され得る
。たとえば、入出力ポートを利用する前に、アドレスの
範囲が内部のDTCレジスタにロードされてデータがそ
こに(またはそこから)iF込まれるアクセス窓を準備
し、そしてポートから検索されてもよい。この初期設定
機能はこの発明の好ましい実施例に従って第3図のアド
レス比較および制御デコーダ手段301によって行なわ
れてもよく、これはこの発明の一部を構成していないレ
ジスタをロードするための周知のハードウェアおよび/
またはソフトウェア技術によって実現されてもよい。ポ
ート窓を準備するのに加えて、ブロック301への*C
3EL入力とA−A31入力およびブロック301から
の(DTC310の内部レジスタへの)制御出力は好ま
しい実施例に従ってDTC310を構成するために用い
られ、アドレスデコードの結果またはアクティブ(ロー
)である”CS E Lの結果のいずれがとしてのロー
カルバス要求を認識する。
手段301の他に第3図は入出力ポートo−3(手段3
02)と、DMAチャネル0−3(手段03)と、パッ
キングおよび送り込みネットワーク(手段304)と、
多重化およびトランシーバデバイス(転送手段305)
と種々のパリティチェック手段を示す。また第3図には
AO−A31(アドレスバス111)と、Do−D31
(データバス112)と、”CS E L入力とがす
べてDTC310のローカルバス側にあることが示され
ている。DTC310の遠隔バス側には、RADO−R
AD31およびRADPO−RADP3インターフェイ
スが示されている。
02)と、DMAチャネル0−3(手段03)と、パッ
キングおよび送り込みネットワーク(手段304)と、
多重化およびトランシーバデバイス(転送手段305)
と種々のパリティチェック手段を示す。また第3図には
AO−A31(アドレスバス111)と、Do−D31
(データバス112)と、”CS E L入力とがす
べてDTC310のローカルバス側にあることが示され
ている。DTC310の遠隔バス側には、RADO−R
AD31およびRADPO−RADP3インターフェイ
スが示されている。
上に述べられたように、手段301によって上述の窓が
作られ、すなわち、入出力ポート等を開放するために用
いられてもよい。この発明の好ましい実施例に従えば、
これらの窓はローカルパスワード境界で始まる2のべき
のアドレス範囲を資する。
作られ、すなわち、入出力ポート等を開放するために用
いられてもよい。この発明の好ましい実施例に従えば、
これらの窓はローカルパスワード境界で始まる2のべき
のアドレス範囲を資する。
手段302における4個の入出力ポートは例示の実施例
のRISCプロセッサによって実行されるロードおよび
ストア命令を通ってアドレス指定される。手段303の
4個のDMAチャネルはデータ転送のための開始アドレ
スを決定するためにDMAチャネルを利用するのに周知
の態様で予めプログラムされる。典型的には、この発明
はベースアドレスレジスタを増分する内部のDTCカウ
ンタの使用に基づいた、たとえば2や4などによる制限
された非シーケンシャル転送を特徴としているが、シー
ケンシャルなアドレス指定がDMA転送では利用される
。再び、手段301は手段302および303における
レジスタおよびカウンタを初期設定するために用いられ
てもよい。
のRISCプロセッサによって実行されるロードおよび
ストア命令を通ってアドレス指定される。手段303の
4個のDMAチャネルはデータ転送のための開始アドレ
スを決定するためにDMAチャネルを利用するのに周知
の態様で予めプログラムされる。典型的には、この発明
はベースアドレスレジスタを増分する内部のDTCカウ
ンタの使用に基づいた、たとえば2や4などによる制限
された非シーケンシャル転送を特徴としているが、シー
ケンシャルなアドレス指定がDMA転送では利用される
。再び、手段301は手段302および303における
レジスタおよびカウンタを初期設定するために用いられ
てもよい。
もしDTCの動作の間AO−A31に定義されたアドレ
スが人出力制御器によって入出力ポート窓内にあると認
識されるなら、アドレスは手段302内で遠隔バスアド
レス空間へと翻訳される。
スが人出力制御器によって入出力ポート窓内にあると認
識されるなら、アドレスは手段302内で遠隔バスアド
レス空間へと翻訳される。
もしアドレスが認識されないなら、いかなる翻訳も起こ
らない。
らない。
入出力ポートのためのアドレス翻訳はこの発明の好まし
い実施例に従ってDTCのアドレス入力を初期設定の間
、入出力ポートレジスタにロードされる遠隔バスアドレ
スの範囲内の対応する遠隔バスアドレスと取替えること
によって行なわれる。
い実施例に従ってDTCのアドレス入力を初期設定の間
、入出力ポートレジスタにロードされる遠隔バスアドレ
スの範囲内の対応する遠隔バスアドレスと取替えること
によって行なわれる。
これらの遠隔バスアドレスは所与のポートに準備された
ローカルバスアドレス窓と1対1対応し、また遠隔バス
につながれたデバイスのためのディスクリートなデバイ
スアドレスと対応する。
ローカルバスアドレス窓と1対1対応し、また遠隔バス
につながれたデバイスのためのディスクリートなデバイ
スアドレスと対応する。
DTC310は次に翻訳されたアドレスを用いて遠隔バ
スアクセスを行ない、すなわちそれぞれRISCプロセ
ッサのロードおよびストア命令の実行と一致して適当な
読出または書込を行なう。
スアクセスを行ない、すなわちそれぞれRISCプロセ
ッサのロードおよびストア命令の実行と一致して適当な
読出または書込を行なう。
DMAチャネル手段303に関して、各チャネルはそこ
から(またはそこに)データが転送されるべきアドレス
を決定する。手段303はこの決定を行なうために予め
プログラムされそして初期設定されていることを除いて
RISCプロセッサに関係なく動作する。以前に述べら
れたように、この発明の好ましい実施例に従えばDMA
チャネルは制限された非シーケンシャルの転送を行なう
ための柔軟性を有している。
から(またはそこに)データが転送されるべきアドレス
を決定する。手段303はこの決定を行なうために予め
プログラムされそして初期設定されていることを除いて
RISCプロセッサに関係なく動作する。以前に述べら
れたように、この発明の好ましい実施例に従えばDMA
チャネルは制限された非シーケンシャルの転送を行なう
ための柔軟性を有している。
第3図はまた、アドレスおよびデータがトランシーバと
RADO−RAD31 (および4パリテイビツト)の
インターフェイスを介して遠隔バスに出力されるかまた
は遠隔バスから受取られるときインターリーブされるこ
とを示すための手段305の多重化およびトランシーバ
回路を示す。
RADO−RAD31 (および4パリテイビツト)の
インターフェイスを介して遠隔バスに出力されるかまた
は遠隔バスから受取られるときインターリーブされるこ
とを示すための手段305の多重化およびトランシーバ
回路を示す。
第3図を参照して、手段305へのおよび手段305か
らのすべてのデータおよび入出力ポートまたはDMAチ
ャネルのいずれかはパック/送り込み回路網手段304
を通過しなくてはならないことに注目すべきである。た
とえば、もしビットD8−D15がローカルバスのデー
タバス部分からとられるべきでかつ遠隔バスに転送され
7>(書込)べきなら、これより後により詳細に説明さ
れるこの発明の好ましい実施例に従えばパック/送り込
み回路網手段304は1ワード内に並置された8ビツト
の4個のコピーを遠隔バスに「送り込む」。ローカルバ
スから遠隔バスへのハーフワード転送では、手段304
がDTCによる遠隔バスへの出力のために並置された2
組の適当な16ビツトで32ビツトワードを作る。
らのすべてのデータおよび入出力ポートまたはDMAチ
ャネルのいずれかはパック/送り込み回路網手段304
を通過しなくてはならないことに注目すべきである。た
とえば、もしビットD8−D15がローカルバスのデー
タバス部分からとられるべきでかつ遠隔バスに転送され
7>(書込)べきなら、これより後により詳細に説明さ
れるこの発明の好ましい実施例に従えばパック/送り込
み回路網手段304は1ワード内に並置された8ビツト
の4個のコピーを遠隔バスに「送り込む」。ローカルバ
スから遠隔バスへのハーフワード転送では、手段304
がDTCによる遠隔バスへの出力のために並置された2
組の適当な16ビツトで32ビツトワードを作る。
読出では、データは通常続出が行なわれるときと同じメ
モリサイクルにおいて遅れて遠隔バスから戻る。通常、
データ(8,16または32ビツト)は右に調整されて
手段304によって32とットワードに「パック」され
るが、これはローカルバスへのすべての転送が32ビツ
ト幅であるからである。再び、手段304の動作の詳細
は後に述べられる。
モリサイクルにおいて遅れて遠隔バスから戻る。通常、
データ(8,16または32ビツト)は右に調整されて
手段304によって32とットワードに「パック」され
るが、これはローカルバスへのすべての転送が32ビツ
ト幅であるからである。再び、手段304の動作の詳細
は後に述べられる。
DTC310の概要の説明を終えたが、−膜化した内部
のレジスタ説明が新規のDTCによって支持されるデー
タフォーマットの説明とともに次に述べられる。これに
よって当業者はこの発明を作りかつ利用する方法を理解
するであろう。また、入出力ポートおよび実現されてい
るDMA機能の特定の説明はRISCシステムを支持す
るためにこの発明を用いる中で述べるであろう。
のレジスタ説明が新規のDTCによって支持されるデー
タフォーマットの説明とともに次に述べられる。これに
よって当業者はこの発明を作りかつ利用する方法を理解
するであろう。また、入出力ポートおよび実現されてい
るDMA機能の特定の説明はRISCシステムを支持す
るためにこの発明を用いる中で述べるであろう。
大部分のDTC310とのソフトウェアの対話は内部D
TCレジスタへのアクセスを介して発生する。これらの
レジスタはローカルバス上の語長(すなわち32ビツト
)アクセスによって読出されかつ書込まれる。いかなる
ものも遠隔バスを通って直接にアクセス可能ではない。
TCレジスタへのアクセスを介して発生する。これらの
レジスタはローカルバス上の語長(すなわち32ビツト
)アクセスによって読出されかつ書込まれる。いかなる
ものも遠隔バスを通って直接にアクセス可能ではない。
そのレジスタは以下の4つのグループに分けられる。
1、グローバル制御レジスタ
2、DMAチャネルレジスタ
3、入出力ポートレジスタ
4、キューレジスタ
ローカルバス上のRISCプロセッサはロードおよびス
トア命令を用いてDTCレジスタをアクセスする。各レ
ジスタはRISCシステムのデータメモリまたは入出力
アドレス空間のいずれかにおいて独自のアドレスに割当
てられる。このアドレスはこの発明の好ましい実施例に
従って、ベースアドレスからのワードオフセットで指定
される。
トア命令を用いてDTCレジスタをアクセスする。各レ
ジスタはRISCシステムのデータメモリまたは入出力
アドレス空間のいずれかにおいて独自のアドレスに割当
てられる。このアドレスはこの発明の好ましい実施例に
従って、ベースアドレスからのワードオフセットで指定
される。
ベースアドレスはすべてのDTCレジスタに共通である
。DTCにおけるチップ選択マツピングレジスタはDT
Cレジスタのためのベースアドレスを指定しかつこのア
ドレスがDTC動作を例示するために用いられている具
体例に従ってそこにDTCが取付けられるRISCシス
テムのデータメモリかまたは入出力アドレス空間にある
かどうかを指定する。
。DTCにおけるチップ選択マツピングレジスタはDT
Cレジスタのためのベースアドレスを指定しかつこのア
ドレスがDTC動作を例示するために用いられている具
体例に従ってそこにDTCが取付けられるRISCシス
テムのデータメモリかまたは入出力アドレス空間にある
かどうかを指定する。
代わりに、以前に示されたように、DTCは第3図の手
段301を介してローカルバスを無視するように構成さ
れかつその間*CS E L入力が活性状態であるいず
れのレジスタアクセスにも応答することができる。この
場合、特定のレジスタはアドレスのオフセット部分によ
ってのみ選択される。
段301を介してローカルバスを無視するように構成さ
れかつその間*CS E L入力が活性状態であるいず
れのレジスタアクセスにも応答することができる。この
場合、特定のレジスタはアドレスのオフセット部分によ
ってのみ選択される。
そのうちの5個がこの発明の好ましい実施例において規
定されているグローバル制御レジスタは全体としてDT
Cのための制御および状態情報を含む。その5個の規定
されたレジスタはグローバルモードと、グローバル状態
と、ローカルバースト/ドウエルと、遠隔バースト/ド
ウエルと、チップ選択マツプレジスタとである。
定されているグローバル制御レジスタは全体としてDT
Cのための制御および状態情報を含む。その5個の規定
されたレジスタはグローバルモードと、グローバル状態
と、ローカルバースト/ドウエルと、遠隔バースト/ド
ウエルと、チップ選択マツプレジスタとである。
グローバルモードレジスタはポートまたはチャネル特有
ではないDTCオプションを形成するために用いられて
もよい。
ではないDTCオプションを形成するために用いられて
もよい。
この発明の好ましい実施例に従えば、ビットはDMAチ
ャネルおよび入出力ポートを可能化または不能化するた
めにグローバル制御レジスタに確保されており、遠隔バ
ス動作がRCLKと同期しているかまたは非同期してい
るかを決定し、DTCの内部レジスタのためのアドレス
空間(ローカルバス上のデータメモリまたは入出力アド
レス空間)を指定し、DTCが内部レジスタへのアクセ
スを検出するために*C5EL入力またはチップ選択マ
ツピングレジスタを用いるかどうかを決定し、DMAチ
ャネル要求のための相対的優先順位(これらは固定され
ていてもよいしまたは循環してもよい)を決定し、すべ
てのローカルバス転送のためのバイト順序(これより以
降rLBOJかまたはローカルバスバイト順序と呼ぶ)
を(すなわちワードおよびハーフワード内のバイトが左
から右またはその逆にアドレス指定されるべきかどうか
)を指定し、パリティチェックを可能化または不能化し
そしてDTC割込を可能化または不能化する。
ャネルおよび入出力ポートを可能化または不能化するた
めにグローバル制御レジスタに確保されており、遠隔バ
ス動作がRCLKと同期しているかまたは非同期してい
るかを決定し、DTCの内部レジスタのためのアドレス
空間(ローカルバス上のデータメモリまたは入出力アド
レス空間)を指定し、DTCが内部レジスタへのアクセ
スを検出するために*C5EL入力またはチップ選択マ
ツピングレジスタを用いるかどうかを決定し、DMAチ
ャネル要求のための相対的優先順位(これらは固定され
ていてもよいしまたは循環してもよい)を決定し、すべ
てのローカルバス転送のためのバイト順序(これより以
降rLBOJかまたはローカルバスバイト順序と呼ぶ)
を(すなわちワードおよびハーフワード内のバイトが左
から右またはその逆にアドレス指定されるべきかどうか
)を指定し、パリティチェックを可能化または不能化し
そしてDTC割込を可能化または不能化する。
LBO情報がこの発明の好ましい実施例に従えばパッキ
ングおよび送り込み動作のための順序づけを決定するた
めに用いられバイトスワツピングがローカルから遠隔へ
のまたは遠隔からローカルへの転送で行なわれるかどう
かを決定するために、これより以降に説明されるチャネ
ルモードおよびポートモードレジスタの遠隔バイト順序
(rRBO」)ビットと関連して用いられることに気付
くべきである。
ングおよび送り込み動作のための順序づけを決定するた
めに用いられバイトスワツピングがローカルから遠隔へ
のまたは遠隔からローカルへの転送で行なわれるかどう
かを決定するために、これより以降に説明されるチャネ
ルモードおよびポートモードレジスタの遠隔バイト順序
(rRBO」)ビットと関連して用いられることに気付
くべきである。
この発明の好ましい実施例に従ってグローバル状態レジ
スタにストアされている情報は以下のとおりである。
スタにストアされている情報は以下のとおりである。
保護違反ビットは内部のレジスタアクセスで保護違反が
発生したかどうかを示す。もしユーザモードアクセス(
SUP/”USによって示されるように)が内部DTC
レジスタに対して試みられるなら、DTCは*DERR
と応答する。このビットは*DERR応答のための理由
を示すようにセットされる。
発生したかどうかを示す。もしユーザモードアクセス(
SUP/”USによって示されるように)が内部DTC
レジスタに対して試みられるなら、DTCは*DERR
と応答する。このビットは*DERR応答のための理由
を示すようにセットされる。
データ幅例外ビットは内部のレジスタアクセスでのデー
タ幅例外を示す。DTCは*DERRで内部のレジスタ
への試みられたバイトまたはハーフワードアクセスに応
答する。このビットは*DERR応答の理由を示すよう
にセットされる。
タ幅例外を示す。DTCは*DERRで内部のレジスタ
への試みられたバイトまたはハーフワードアクセスに応
答する。このビットは*DERR応答の理由を示すよう
にセットされる。
アドレス指定エラーは実現されていないDTCレジスタ
をアクセスするための試みを示す。そのようなアクセス
が試みられるとき、DTCは*DERRで応答する。こ
のビットは*DERR応答の理由を示すようにセットさ
れる。
をアクセスするための試みを示す。そのようなアクセス
が試みられるとき、DTCは*DERRで応答する。こ
のビットは*DERR応答の理由を示すようにセットさ
れる。
ポートトラップビットは人出力ポートのどちらが*DE
RR応答を発生したかを示すために用いられる。もしポ
ートトラップビットがセットされるなら、後に説明され
る示されたポートのポート状態レジスタが車DERR応
答の理由を与える。
RR応答を発生したかを示すために用いられる。もしポ
ートトラップビットがセットされるなら、後に説明され
る示されたポートのポート状態レジスタが車DERR応
答の理由を与える。
チャネル割込ベンディングビットはDMAチャネルの割
込状態を反映するために用いられる。これらのビットの
1つがセットされると、割込状態がビットに関連したチ
ャネル上でベンディングしている。その状態の理由は適
当なチャネル状態レジスタ(後に説明される各チャネル
に1つ)を調べることによって決定され得る。
込状態を反映するために用いられる。これらのビットの
1つがセットされると、割込状態がビットに関連したチ
ャネル上でベンディングしている。その状態の理由は適
当なチャネル状態レジスタ(後に説明される各チャネル
に1つ)を調べることによって決定され得る。
この発明の好ましい実施例に従えば、ビットはまたDT
Cのためのデバイスリリースレベルを示すためにグロー
バル状態レジスタに確保される。
Cのためのデバイスリリースレベルを示すためにグロー
バル状態レジスタに確保される。
ローカルバースト/ドウエル−ジス歩はローカルバス利
用のグローバル制御を行なう。この発明の好ましい実施
例に従えば、このレジスタは引用された同時係属出願に
おいて説明されているバーストモード動作を支持するた
めにDTCがデータ転送で利用することができる連続し
たローカルバスブロックサイクルの最大数を指定する、
ローカルバーストカウントフィールドを含む。もしその
制限を転送上で越えるなら、DTCはローカルバスを放
棄する前にいかなる進行中のアクセスも終える。ローカ
ルドウエルカウントフィールドは首尾よくローカルバス
が転送した後、DTCはローカルバス上で遊び状態でな
くてはならないローカルバスクロックサイクルの数を指
定する。
用のグローバル制御を行なう。この発明の好ましい実施
例に従えば、このレジスタは引用された同時係属出願に
おいて説明されているバーストモード動作を支持するた
めにDTCがデータ転送で利用することができる連続し
たローカルバスブロックサイクルの最大数を指定する、
ローカルバーストカウントフィールドを含む。もしその
制限を転送上で越えるなら、DTCはローカルバスを放
棄する前にいかなる進行中のアクセスも終える。ローカ
ルドウエルカウントフィールドは首尾よくローカルバス
が転送した後、DTCはローカルバス上で遊び状態でな
くてはならないローカルバスクロックサイクルの数を指
定する。
遠隔バースト/ドウエルレジスタはDTC遠隔バス利用
のグローバル制御を行なう。遠隔バーストカウントフィ
ールドはDTCがデータ転送のために利用することがで
きる連続した遠隔バスクロックサイクルの最大数を指定
する。もしその制限を転送上で越えるなら、DTCは遠
隔バスを放棄する前にいかなる進行中のアクセスも終了
させる。
のグローバル制御を行なう。遠隔バーストカウントフィ
ールドはDTCがデータ転送のために利用することがで
きる連続した遠隔バスクロックサイクルの最大数を指定
する。もしその制限を転送上で越えるなら、DTCは遠
隔バスを放棄する前にいかなる進行中のアクセスも終了
させる。
遠隔ドウエルカウンタフィールドは連続した遠隔バス転
送の後、遠隔バス上での間DTCが遊び状態でなくては
ならない遠隔バスクロックサイクルの数を指定する。
送の後、遠隔バス上での間DTCが遊び状態でなくては
ならない遠隔バスクロックサイクルの数を指定する。
現在規定されている最後のグローバル制御レジスタはチ
ップ選択マツピングレジスタであって、これはグローバ
ルモードレジスタに関連して以前に示されたように成る
場合におけるDTCの内部レジスタのアドレス指定を制
御する。グローバル制御レジスタはまたチップ選択アド
レスフィールドを有し、これはDTCの内部レジスタの
ためのベースアドレスを指定する。
ップ選択マツピングレジスタであって、これはグローバ
ルモードレジスタに関連して以前に示されたように成る
場合におけるDTCの内部レジスタのアドレス指定を制
御する。グローバル制御レジスタはまたチップ選択アド
レスフィールドを有し、これはDTCの内部レジスタの
ためのベースアドレスを指定する。
DMAチャネルレジスタはDTCの好ましい実施例にお
いて要求される4個のDMAチャネルのための制御およ
び状態情報を含む。DMAチャネルにつき1組である4
組の同一のレジスタが存在する。11個のレジスタが各
チャネルのために規定されている。各々はすぐ後に説明
される。
いて要求される4個のDMAチャネルのための制御およ
び状態情報を含む。DMAチャネルにつき1組である4
組の同一のレジスタが存在する。11個のレジスタが各
チャネルのために規定されている。各々はすぐ後に説明
される。
チャネルモードレジスタはDMAチャネル転送を制御す
る。それはDMA転送が行なわれ得る前に利用されなく
てはならない。
る。それはDMA転送が行なわれ得る前に利用されなく
てはならない。
この発明の好ましい実施例に従えばこのレジスタは遠隔
バス転送の間、*D S T Bが活性状態のままでな
くてはならないサイクルの数(1以上)を指定する遠隔
待機カウントフィールドと、遠隔バス転送が終了した後
チャネルが遊び状態でなくてはならないサイクルの数を
指定する遠隔回復カウントフィールドとを含む。このフ
ィールドの値はDMAチャネルのためのデータサイクル
の最後と次のデータサイクルの始まりの間に要求される
サイクルの最小の数を示す。レジスタはさらに、以下の
表に従って遠隔バス上のバイトおよびハーフワードデー
タの位置を指定するデータ位置フィールドと、 フィールド値 位置 00 アドレスによって 01 固定されたハイ 10 固定されたロー 11 アドレスにより固定されたロー/バイト 割込可能化ビットと、DMAチャネルがセットされると
きおよびローカルバイトカウントレジスタ(後に説明さ
れる)がローカルアラームカウントレジスタ(これもま
た後に説明される)における値を越えるときアラーム割
込を発生することを引き起こす、ローカルアラーム可能
化ビットと、DMAチャネルがそれがセットされかつ遠
隔バイトカウントレジスタの値が遠隔アラームカウント
レジスタの値(遠隔バイトカウントおよび遠隔アラーム
レジスタは共に後に説明される)を越えるときアラーム
を発生することを引き起こす、遠隔アラーム可能化ビッ
トと、ローカル転送不能化ビットとを含む。このビット
はローカルバスメモリへのまたはローカルバスメモリか
らの転送が行なわれるとき0である。このビットが1の
とき、ローカルバスメモリへのまたはそこからの転送は
不能化されかつDMAキューはローカルバスプロセッサ
によって直接読出および書込がなされ、またそのレジス
タは以下の対応する*DRQO−*DRQ3の入力の断
定のためにDMAチャネルの行ないをビットが指定する
、DMA要求応答モードフィールドを含み、 フィールド値 応答モード 00 DMA要求無視 01 単一転送 10 要求転送 11 確保される さらにレジスタはブロックモード転送が遠隔バス上で行
なわれるかどうかを決定するブロックモードビットと、
遠隔アドレスレジスタが遠隔バス上でのDMA転送の後
増分されるかまたは減分されるかのいずれかを指定する
遠隔アドレス方向ビットと、0のとき遠隔アドレスレジ
スタが遠隔アドレス方向ビットに従って増分されるかま
たは減分されることを可能にしかつセットされると遠隔
アドレスレジスタを一定に保つ遠隔アドレス保持ビット
と、チャネルに関連したDMAキューがデータバッファ
としてかまたはパターンソースとして用いられるを選択
するキューバターンビットと、DMAチャネル転送の方
向を制御する転送方向ビットとを含み、このビットが0
のときローカルから遠隔への転送が行なわれる。このビ
ットが1のとき遠隔からローカルへの転送が行なわれる
。さらに、レジスタは遠隔転送のアドレス空間を指定す
る遠隔アドレス空間を含み、もしビットが0なら転送は
メモリアドレス空間(IO/ *MEMロー)に向けら
れる。もし1なら、転送は入出力アドレス空間(I O
/ ”MEM ハイ)に向けられる。さらにレジスタ
はDSACKO−DSACK1入力に対するDMAチャ
ネル応答を可能化または不能化するデータサイズ肯定応
答不能化ビットと、DMAチャネルのための遠隔バスバ
イトオーダを指定する遠隔バイトオーダビットを含み、
RBOビットが0のとき、バイトおよびハーフワードは
ハーフワードおよびワード内で左から右にシーケンシャ
ルにアドレス指定される。それが1のとき、それらは右
から左にシーケンシャルにアドレス指定される。そして
最後にレジスタは以下のようにDMAチャネルのための
遠隔バスデータ幅をビットが指定するデータ幅フィール
ドを含む。
バス転送の間、*D S T Bが活性状態のままでな
くてはならないサイクルの数(1以上)を指定する遠隔
待機カウントフィールドと、遠隔バス転送が終了した後
チャネルが遊び状態でなくてはならないサイクルの数を
指定する遠隔回復カウントフィールドとを含む。このフ
ィールドの値はDMAチャネルのためのデータサイクル
の最後と次のデータサイクルの始まりの間に要求される
サイクルの最小の数を示す。レジスタはさらに、以下の
表に従って遠隔バス上のバイトおよびハーフワードデー
タの位置を指定するデータ位置フィールドと、 フィールド値 位置 00 アドレスによって 01 固定されたハイ 10 固定されたロー 11 アドレスにより固定されたロー/バイト 割込可能化ビットと、DMAチャネルがセットされると
きおよびローカルバイトカウントレジスタ(後に説明さ
れる)がローカルアラームカウントレジスタ(これもま
た後に説明される)における値を越えるときアラーム割
込を発生することを引き起こす、ローカルアラーム可能
化ビットと、DMAチャネルがそれがセットされかつ遠
隔バイトカウントレジスタの値が遠隔アラームカウント
レジスタの値(遠隔バイトカウントおよび遠隔アラーム
レジスタは共に後に説明される)を越えるときアラーム
を発生することを引き起こす、遠隔アラーム可能化ビッ
トと、ローカル転送不能化ビットとを含む。このビット
はローカルバスメモリへのまたはローカルバスメモリか
らの転送が行なわれるとき0である。このビットが1の
とき、ローカルバスメモリへのまたはそこからの転送は
不能化されかつDMAキューはローカルバスプロセッサ
によって直接読出および書込がなされ、またそのレジス
タは以下の対応する*DRQO−*DRQ3の入力の断
定のためにDMAチャネルの行ないをビットが指定する
、DMA要求応答モードフィールドを含み、 フィールド値 応答モード 00 DMA要求無視 01 単一転送 10 要求転送 11 確保される さらにレジスタはブロックモード転送が遠隔バス上で行
なわれるかどうかを決定するブロックモードビットと、
遠隔アドレスレジスタが遠隔バス上でのDMA転送の後
増分されるかまたは減分されるかのいずれかを指定する
遠隔アドレス方向ビットと、0のとき遠隔アドレスレジ
スタが遠隔アドレス方向ビットに従って増分されるかま
たは減分されることを可能にしかつセットされると遠隔
アドレスレジスタを一定に保つ遠隔アドレス保持ビット
と、チャネルに関連したDMAキューがデータバッファ
としてかまたはパターンソースとして用いられるを選択
するキューバターンビットと、DMAチャネル転送の方
向を制御する転送方向ビットとを含み、このビットが0
のときローカルから遠隔への転送が行なわれる。このビ
ットが1のとき遠隔からローカルへの転送が行なわれる
。さらに、レジスタは遠隔転送のアドレス空間を指定す
る遠隔アドレス空間を含み、もしビットが0なら転送は
メモリアドレス空間(IO/ *MEMロー)に向けら
れる。もし1なら、転送は入出力アドレス空間(I O
/ ”MEM ハイ)に向けられる。さらにレジスタ
はDSACKO−DSACK1入力に対するDMAチャ
ネル応答を可能化または不能化するデータサイズ肯定応
答不能化ビットと、DMAチャネルのための遠隔バスバ
イトオーダを指定する遠隔バイトオーダビットを含み、
RBOビットが0のとき、バイトおよびハーフワードは
ハーフワードおよびワード内で左から右にシーケンシャ
ルにアドレス指定される。それが1のとき、それらは右
から左にシーケンシャルにアドレス指定される。そして
最後にレジスタは以下のようにDMAチャネルのための
遠隔バスデータ幅をビットが指定するデータ幅フィール
ドを含む。
フィールド値 データ幅
00 32ビツト
01 8ビツト
10 16ビツト
11 無効
チャネル状態レジスタはチャネルの現行の状態を保持す
る。それはDMA転送が終了するかまたは例外が発生す
るとDTCによって更新される。
る。それはDMA転送が終了するかまたは例外が発生す
るとDTCによって更新される。
このレジスタはこの発明の好ましい実施例に従えば以下
を含む。すなわち、もしチェツキングがグローバルモー
ドレジスタのパリティチェック可能化ビットによって可
能化されるなら、パリティエラーがDMA転送の量検出
されるときはいつでもセットされる、パリティエラービ
ットと、もし”RBERRが遠隔バスDMA転送の間断
室されるならセットされる、遠隔バスエラービットと、
もしDSACKO−DSACKIの遠隔バスDMA転送
に対する応答が遠隔バスデバイスまたはメモリが要求さ
れた幅の転送を取扱うことができないことを示すならセ
ットされるデータ幅例外ビットと、もしアドレス矛盾が
DMA転送の(すなわちDTCの内部のレジスタまたは
入出力ポートへの転送)の量検出されるならセットされ
るアドレス矛盾ビットと、もし*DERRがローカルバ
スDMA転送の間断室されるならセットされる、ローカ
ルバスエラービットと、もし*EOP入力が遠隔バスD
MA転送の間断室されるならセットされる、プロセスの
終わりビットと、DMA転送の終了を指定する、チャネ
ル終了ビットと、チャネルモードレジスタのローカルア
ラーム可能化ビットによって可能化されるならローカル
バイトカウントレジスタにおける値がローカルアラーム
カウントレジスタにおける値を越えるとセットされる、
ローカルアラームカウント到達ビットと、チャネルモー
ドレジスタの遠隔アラーム可能化ビットによって可能化
されるなら遠隔バイトカウントレジスタにおける値が遠
隔アラームカウントレジスタにおける値を越えるとセッ
トされる、遠隔アラームカウント到達ビットと、DMA
チャネルのための最も最近のDSACKO−DSACK
I応答の値を保持する、データサイズ肯定応答フィール
ドとを含む。もしデータ幅例外が発生するなら、このフ
ィールドは例外を引き起こした遠隔バス応答を示し、さ
らにレジスタはチャネルが不活性状態のときおよびいか
なるDMA転送も行なわれないとき0である、チャネル
アクティブビットを含み、もしそのビットが1なら、そ
のチャネルは活性状態である。このビットは終了カウン
トが達成されるかまたは例外が発生するとDTCによっ
て0にセットされる。それはDMAチャネルの上の転送
を一時的に中断するためにローカルバスプロセッサによ
って0にセットされてもよい。さらに最後にこのレジス
タはチャネルリセットビットを含む。
を含む。すなわち、もしチェツキングがグローバルモー
ドレジスタのパリティチェック可能化ビットによって可
能化されるなら、パリティエラーがDMA転送の量検出
されるときはいつでもセットされる、パリティエラービ
ットと、もし”RBERRが遠隔バスDMA転送の間断
室されるならセットされる、遠隔バスエラービットと、
もしDSACKO−DSACKIの遠隔バスDMA転送
に対する応答が遠隔バスデバイスまたはメモリが要求さ
れた幅の転送を取扱うことができないことを示すならセ
ットされるデータ幅例外ビットと、もしアドレス矛盾が
DMA転送の(すなわちDTCの内部のレジスタまたは
入出力ポートへの転送)の量検出されるならセットされ
るアドレス矛盾ビットと、もし*DERRがローカルバ
スDMA転送の間断室されるならセットされる、ローカ
ルバスエラービットと、もし*EOP入力が遠隔バスD
MA転送の間断室されるならセットされる、プロセスの
終わりビットと、DMA転送の終了を指定する、チャネ
ル終了ビットと、チャネルモードレジスタのローカルア
ラーム可能化ビットによって可能化されるならローカル
バイトカウントレジスタにおける値がローカルアラーム
カウントレジスタにおける値を越えるとセットされる、
ローカルアラームカウント到達ビットと、チャネルモー
ドレジスタの遠隔アラーム可能化ビットによって可能化
されるなら遠隔バイトカウントレジスタにおける値が遠
隔アラームカウントレジスタにおける値を越えるとセッ
トされる、遠隔アラームカウント到達ビットと、DMA
チャネルのための最も最近のDSACKO−DSACK
I応答の値を保持する、データサイズ肯定応答フィール
ドとを含む。もしデータ幅例外が発生するなら、このフ
ィールドは例外を引き起こした遠隔バス応答を示し、さ
らにレジスタはチャネルが不活性状態のときおよびいか
なるDMA転送も行なわれないとき0である、チャネル
アクティブビットを含み、もしそのビットが1なら、そ
のチャネルは活性状態である。このビットは終了カウン
トが達成されるかまたは例外が発生するとDTCによっ
て0にセットされる。それはDMAチャネルの上の転送
を一時的に中断するためにローカルバスプロセッサによ
って0にセットされてもよい。さらに最後にこのレジス
タはチャネルリセットビットを含む。
このビットは読出されるとき値0を有する「書込オンリ
ー」ビットである。1がこのビットにローカルバスプロ
セッサによってストアされると、DMAチャネルはリセ
ットされ、ローカルバイトカウントレジスタと、遠隔バ
イトカウントレジスタと、キュー状態レジスタのキュー
ヘッドとキューテイルフィールド(後に説明される)が
0にセットされる。
ー」ビットである。1がこのビットにローカルバスプロ
セッサによってストアされると、DMAチャネルはリセ
ットされ、ローカルバイトカウントレジスタと、遠隔バ
イトカウントレジスタと、キュー状態レジスタのキュー
ヘッドとキューテイルフィールド(後に説明される)が
0にセットされる。
ローカルアドレスレジスタは現行またはベンディングし
ているローカルバス転送のアドレスを保持する。それは
各連続したローカルバス転送の後4(バイト)だけ増分
される。
ているローカルバス転送のアドレスを保持する。それは
各連続したローカルバス転送の後4(バイト)だけ増分
される。
遠隔アドレスレジスタは現行またはベンディングしてい
る遠隔バス転送のいずれかのアドレスを保持する。もし
チャネルモードレジスタの遠隔アドレス保持フィールド
が0であるなら、チャネルモードレジスタにおける遠隔
アドレス方向ビットに従って、各連続した遠隔バス転送
の後に増分されるかまたは減分される。増分または減分
量はチャネルモードレジスタにおけるるデータ幅フィー
ルドによって指定される。
る遠隔バス転送のいずれかのアドレスを保持する。もし
チャネルモードレジスタの遠隔アドレス保持フィールド
が0であるなら、チャネルモードレジスタにおける遠隔
アドレス方向ビットに従って、各連続した遠隔バス転送
の後に増分されるかまたは減分される。増分または減分
量はチャネルモードレジスタにおけるるデータ幅フィー
ルドによって指定される。
フィールド値 増分/減分量
11 規定されていない
ローカルバイトカウントレジスタはローカルバス上で連
続して転送されたバイトの数を保持する。
続して転送されたバイトの数を保持する。
このカウントが終了カウントレジスタ(後に説明される
)における値と一致するかまたはそれを越えると、DM
Aチャネルローカルバス転送が終了する。各連続した転
送の後、ローカルバイトカウントレジスタにおける値は
4(バイト)だけ増分する。
)における値と一致するかまたはそれを越えると、DM
Aチャネルローカルバス転送が終了する。各連続した転
送の後、ローカルバイトカウントレジスタにおける値は
4(バイト)だけ増分する。
ローカルアラームカウントレジスタはアラーム割込が発
生する前に(可能化されているなら)ローカルバス上で
転送されるべきバイトの数を指定する。
生する前に(可能化されているなら)ローカルバス上で
転送されるべきバイトの数を指定する。
遠隔バイトカウントレジスタは遠隔バス上で連続して転
送されたバイトの数を保持する。このカウントが終了カ
ウントレジスタにおける値と一致するかまたはそれを越
えると、DMAチャネル遠隔バス転送が終わる。各連続
した転送の後、遠隔バイトカウントレジスタにおける値
はチャネルモードレジスタにおけるデータ幅フィールド
によって決定された量だけ増分される。
送されたバイトの数を保持する。このカウントが終了カ
ウントレジスタにおける値と一致するかまたはそれを越
えると、DMAチャネル遠隔バス転送が終わる。各連続
した転送の後、遠隔バイトカウントレジスタにおける値
はチャネルモードレジスタにおけるデータ幅フィールド
によって決定された量だけ増分される。
フィールド値 増分/減分量
11 規定されていない
遠隔アラームカウントレジスタはアラーム割込が発生さ
れる前に(もし可能化されるなら)、遠隔バス上で転送
されるべきバイトの数を指定する。
れる前に(もし可能化されるなら)、遠隔バス上で転送
されるべきバイトの数を指定する。
終了カウントレジスタはDMAチャネルによって転送さ
れるべきバイトの数を指定する。
れるべきバイトの数を指定する。
パック/送り込みレジスタは遠隔バスにまたは遠隔バス
から転送されているデータをバッファする。それはDM
Aチャネル上でのパッキングおよび送り込み動作の間、
目的地またはデータの源として働く。
から転送されているデータをバッファする。それはDM
Aチャネル上でのパッキングおよび送り込み動作の間、
目的地またはデータの源として働く。
規定される最後のDMAチャネルレジスタはDMAキュ
ーの現行のヘッドおよびテイルのためのワードアドレス
ポインタを保持するキュー状態レジスタである。
ーの現行のヘッドおよびテイルのためのワードアドレス
ポインタを保持するキュー状態レジスタである。
この発明の好ましい実施例に従えば、このレジスタはキ
ューから離すために利用可能な次のキューレジスタのア
ドレスを含む、キューヘッドフィールドを含み、そのフ
ィールドの値は各ワードがキューから外されると1だけ
増分しかつそのレジスタはキューに入れるのに利用可能
な次のキューレジスタのアドレスを含むキューテイルフ
ィールドを含む。そのフィールドの値は各ワードがキュ
ーに入れられると1だけ増分する。
ューから離すために利用可能な次のキューレジスタのア
ドレスを含む、キューヘッドフィールドを含み、そのフ
ィールドの値は各ワードがキューから外されると1だけ
増分しかつそのレジスタはキューに入れるのに利用可能
な次のキューレジスタのアドレスを含むキューテイルフ
ィールドを含む。そのフィールドの値は各ワードがキュ
ーに入れられると1だけ増分する。
説明される内部レジスタの次の組は入出力ポートレジス
タである。これらのレジスタはDTCにおける4個の人
出力ポートのための制御および状態情報を含む。入出力
ポート1個あたり1組である、4組の同一のレジスタが
ある。その組は6個のレジスタと、ポートモードレジス
タと、ポート状態レジスタと、ローカルベースアドレス
レジスタと、遠隔ベースアドレスレジスタと、ローカル
ポートアドレスレジスタと、ポートパック/送り込みレ
ジスタとを含む。
タである。これらのレジスタはDTCにおける4個の人
出力ポートのための制御および状態情報を含む。入出力
ポート1個あたり1組である、4組の同一のレジスタが
ある。その組は6個のレジスタと、ポートモードレジス
タと、ポート状態レジスタと、ローカルベースアドレス
レジスタと、遠隔ベースアドレスレジスタと、ローカル
ポートアドレスレジスタと、ポートパック/送り込みレ
ジスタとを含む。
ポートモードレジスタは遠隔のプログラムされた入出力
転送(後に説明される)を制御する。それは遠隔プログ
ラムされた入出力転送が行なわれる前に初期設定されな
くてはならない。この発明の好ましい実施例に従えば、
ポートモードレジスタは遠隔待機カウントフィールドを
含み、DTCが入出力ポート転送のための遠隔バスタイ
ミングを発生すると、そのフィールドは遠隔バス転送の
間”D S T Bが活性状態のままでなくてはならな
いサイクルの数(1以上)を指定し、かつそのしジスタ
は遠隔回復カウントフィールドを含み、DTCが人出力
ポート転送のための遠隔バスタイミングを発生すると、
このフィールドは遠隔バス転送が終わった後入出力ポー
トが遊び状態でなくてはならないサイクルの数を指定す
る。このフィールドの値は入出力ポートのためのデータ
のサイクルの終わりと次のデータサイクルの始まりの値
で必要とされるサイクルの最小の数を示し、がっそのレ
ジスタは以下の表 ゛ フィールド値 位置 00 アドレスによって 01 固定されたハイ 10 固定されたロー 11 アドレスにより固定されたロー/バイト に従って、遠隔バス上のバイトおよびハーフワードデー
タの位置を指定する、データ位置フィールドと、バイト
のポートの大きさの対数(ベース2)を指定することに
よって入出カポ−ドアドレス空間のサイズをコード化す
る、窓サイズフィールドとを含み、たとえばもし窓サイ
ズフィールドの値が8なら、そのポートのサイズは25
6バイトである。同様に、もし窓サイズフィールドが1
7であるなら、ポートサイズは128キロバイトである
。さらにそのレジスタはセットされると入出力ポートを
介するスーパバイザモードアクセス(SUP/*US信
号によって示される)のみを許容する、スーパバイザモ
ードアクセスオンリービットを含み、このビットがOの
ときユーザモードかまたはスーパバイザモードアクセス
のいずれかが許容される。さらにレジスタはオーバラッ
プされた入出力ビットを含み、これはポートアクセスが
直接かまたは結合から外されるかどうかを決定する。も
しそのビットが0であるなら、ポートトランザクション
は直接である。遠隔バスアクセスはローカルバスアクセ
スが終わる前に終わらなくてはならない。もしそのビッ
トが1なら、ポートアクセスは結合から外されかつロー
カルバスアクセスは遠隔バスアクセスが行なわれる前に
終了できる。このビットは先読みまたは後書き動作を人
出カポートが行なえかつ上で述べられたポートトランザ
クションに関する並列を提供するようにセットされる。
転送(後に説明される)を制御する。それは遠隔プログ
ラムされた入出力転送が行なわれる前に初期設定されな
くてはならない。この発明の好ましい実施例に従えば、
ポートモードレジスタは遠隔待機カウントフィールドを
含み、DTCが入出力ポート転送のための遠隔バスタイ
ミングを発生すると、そのフィールドは遠隔バス転送の
間”D S T Bが活性状態のままでなくてはならな
いサイクルの数(1以上)を指定し、かつそのしジスタ
は遠隔回復カウントフィールドを含み、DTCが人出力
ポート転送のための遠隔バスタイミングを発生すると、
このフィールドは遠隔バス転送が終わった後入出力ポー
トが遊び状態でなくてはならないサイクルの数を指定す
る。このフィールドの値は入出力ポートのためのデータ
のサイクルの終わりと次のデータサイクルの始まりの値
で必要とされるサイクルの最小の数を示し、がっそのレ
ジスタは以下の表 ゛ フィールド値 位置 00 アドレスによって 01 固定されたハイ 10 固定されたロー 11 アドレスにより固定されたロー/バイト に従って、遠隔バス上のバイトおよびハーフワードデー
タの位置を指定する、データ位置フィールドと、バイト
のポートの大きさの対数(ベース2)を指定することに
よって入出カポ−ドアドレス空間のサイズをコード化す
る、窓サイズフィールドとを含み、たとえばもし窓サイ
ズフィールドの値が8なら、そのポートのサイズは25
6バイトである。同様に、もし窓サイズフィールドが1
7であるなら、ポートサイズは128キロバイトである
。さらにそのレジスタはセットされると入出力ポートを
介するスーパバイザモードアクセス(SUP/*US信
号によって示される)のみを許容する、スーパバイザモ
ードアクセスオンリービットを含み、このビットがOの
ときユーザモードかまたはスーパバイザモードアクセス
のいずれかが許容される。さらにレジスタはオーバラッ
プされた入出力ビットを含み、これはポートアクセスが
直接かまたは結合から外されるかどうかを決定する。も
しそのビットが0であるなら、ポートトランザクション
は直接である。遠隔バスアクセスはローカルバスアクセ
スが終わる前に終わらなくてはならない。もしそのビッ
トが1なら、ポートアクセスは結合から外されかつロー
カルバスアクセスは遠隔バスアクセスが行なわれる前に
終了できる。このビットは先読みまたは後書き動作を人
出カポートが行なえかつ上で述べられたポートトランザ
クションに関する並列を提供するようにセットされる。
さらにレジスタはローカルバス上の入出力ポートのアド
レス空間を指定するローカルアドレス空間ビットを含む
。そのビットが0なら、入出力ポートはローカルバスの
データメモリアドレス空間にある。もしそのビットが1
なら、その入出力ポートはローカルバスの入出力アドレ
ス空間にある。さらにレジスタは遠隔転送のアドレス空
間を指定する遠隔アドレス空間ビットを含み、もしその
ビットが0なら、転送はメモリアドレス空間に向けられ
る(IO/”MEMロー)。もしそれが1なら、転送は
入出力アドレス空間に向けられる(I O/ ”MEM
ハイ)。さらにレジスタはDSACKO−DSACKI
人カニ鉤する入出力ポート応答を可能化または不能化す
るデータサイズ肯定応答不能化ビットと、入出力ポート
のための遠隔バスバイトオーダを指定する遠隔バイトオ
ーダビットを含み、そのビットが0のときバイトおよび
ハーフワードはハーフワードおよびワード内で左から右
にシーケンシャルにアドレス指定される。1のとき、そ
れらは右から左シーケンシャルにアドレス指定される。
レス空間を指定するローカルアドレス空間ビットを含む
。そのビットが0なら、入出力ポートはローカルバスの
データメモリアドレス空間にある。もしそのビットが1
なら、その入出力ポートはローカルバスの入出力アドレ
ス空間にある。さらにレジスタは遠隔転送のアドレス空
間を指定する遠隔アドレス空間ビットを含み、もしその
ビットが0なら、転送はメモリアドレス空間に向けられ
る(IO/”MEMロー)。もしそれが1なら、転送は
入出力アドレス空間に向けられる(I O/ ”MEM
ハイ)。さらにレジスタはDSACKO−DSACKI
人カニ鉤する入出力ポート応答を可能化または不能化す
るデータサイズ肯定応答不能化ビットと、入出力ポート
のための遠隔バスバイトオーダを指定する遠隔バイトオ
ーダビットを含み、そのビットが0のときバイトおよび
ハーフワードはハーフワードおよびワード内で左から右
にシーケンシャルにアドレス指定される。1のとき、そ
れらは右から左シーケンシャルにアドレス指定される。
最後に、そのレジスタは以下の通りに、
フィールド値 データ幅
00 32ビツト
01 8ビツト
10 16ビツト
11 無効
人出力ポートのための遠隔バスデータ幅を指定するデー
タ幅フィールドを含む。
タ幅フィールドを含む。
ポート状態レジスタは入出力ポートの現行の状態を保持
する。それは入出力ポート転送が例外に遭遇しかつ*D
ERRで応答するときDTCによって更新される。この
発明の好ましい実施例に従えば、このレジスタは保護違
反が入出力ポートで発生したかどうかを示す保護違反ビ
ットを含む。
する。それは入出力ポート転送が例外に遭遇しかつ*D
ERRで応答するときDTCによって更新される。この
発明の好ましい実施例に従えば、このレジスタは保護違
反が入出力ポートで発生したかどうかを示す保護違反ビ
ットを含む。
もしユーザモードアクセス(USP/*USによって示
される)が入出力ポートに対して試みられ、それに対し
てのポートモードレジスタにおけるス−パバイザモード
アクセスオンリービットは1であるなら、DTCは*D
ERRで応答する。そのビットは*DERR応答の理由
を示すようにセットされる。さらにレジスタはパリティ
エラービットを含み、もしパリティチェックがグローバ
ルモードレジスタのパリティチェック可能化によって可
能化されるなら、パリティエラービットはパリティエラ
ーが入出力ポート転送の量検出されるときはいつでもセ
ットされる。(バイトまたはハーフワードデータ幅のた
めに)「気にしない」である信号のためのパリティ入力
は無視される。パリティは遠隔バス上での読出のための
みにチェックされる。入出力ポートを介する書込に関し
てはデータ上のパリティチェックは存在しない。さらに
レジスタは入出力ポート転送の間もし”RBERRが断
定されるならセットされる遠隔バスエラーと、もし遠隔
バス入出力ポート転送に対するDSACKO−DSAC
KIが遠隔バスデバイスまたはメモリが要求された幅の
転送を取扱うことができないことを示すならセットされ
る、データ幅例外ビットと、最後に入出力ポートのため
に最も最近のDSACKO−DSACKI応答の値を保
持する、データサイズ肯定応答フィールドとを含む。
される)が入出力ポートに対して試みられ、それに対し
てのポートモードレジスタにおけるス−パバイザモード
アクセスオンリービットは1であるなら、DTCは*D
ERRで応答する。そのビットは*DERR応答の理由
を示すようにセットされる。さらにレジスタはパリティ
エラービットを含み、もしパリティチェックがグローバ
ルモードレジスタのパリティチェック可能化によって可
能化されるなら、パリティエラービットはパリティエラ
ーが入出力ポート転送の量検出されるときはいつでもセ
ットされる。(バイトまたはハーフワードデータ幅のた
めに)「気にしない」である信号のためのパリティ入力
は無視される。パリティは遠隔バス上での読出のための
みにチェックされる。入出力ポートを介する書込に関し
てはデータ上のパリティチェックは存在しない。さらに
レジスタは入出力ポート転送の間もし”RBERRが断
定されるならセットされる遠隔バスエラーと、もし遠隔
バス入出力ポート転送に対するDSACKO−DSAC
KIが遠隔バスデバイスまたはメモリが要求された幅の
転送を取扱うことができないことを示すならセットされ
る、データ幅例外ビットと、最後に入出力ポートのため
に最も最近のDSACKO−DSACKI応答の値を保
持する、データサイズ肯定応答フィールドとを含む。
もしデータ幅例外が発生すると、このフィールドは例外
を引き起こした遠隔バス応答を示す。 ローカルベース
アドレスレジスタは入出力ポートのローカルバスベース
アドレスを指定する。このポートのためのアドレス空間
はポートモードレジスタのローカルアドレス空間ビット
によって指定される。
を引き起こした遠隔バス応答を示す。 ローカルベース
アドレスレジスタは入出力ポートのローカルバスベース
アドレスを指定する。このポートのためのアドレス空間
はポートモードレジスタのローカルアドレス空間ビット
によって指定される。
遠隔ベースアドレスレジスタは入出力ポートの遠隔バス
ベースアドレスを指定する。このポートのためのアドレ
ス空間はポートモードレジスタの遠隔アドレススペース
ビットによって指定される。
ベースアドレスを指定する。このポートのためのアドレ
ス空間はポートモードレジスタの遠隔アドレススペース
ビットによって指定される。
ローカルポートアドレスレジスタは現行の入出力ポート
アクセス(先読みかまたは後書きであってよい)のため
のローカルバスを保持する。このアドレスは例外に遭遇
するアクセスを再スタートするためにソフトウェアによ
って利用されてもよい。
アクセス(先読みかまたは後書きであってよい)のため
のローカルバスを保持する。このアドレスは例外に遭遇
するアクセスを再スタートするためにソフトウェアによ
って利用されてもよい。
パック/送り込みレジスタは遠隔バスへまたは遠隔バス
から転送されているデータをバッファする。それは人出
力ポート上のパッキングおよび送り込動作の間、データ
の目的地または源として働く。先読みおよび後書きでは
、そのパック/送り込みレジスタはデータバッファとし
て働く。例外に遭遇する入出力ポートを介する書込では
、パック/送り込みレジスタは書込を再スタートするた
めにソフトウェアによって用いられるかもしれないデー
タを保持する。
から転送されているデータをバッファする。それは人出
力ポート上のパッキングおよび送り込動作の間、データ
の目的地または源として働く。先読みおよび後書きでは
、そのパック/送り込みレジスタはデータバッファとし
て働く。例外に遭遇する入出力ポートを介する書込では
、パック/送り込みレジスタは書込を再スタートするた
めにソフトウェアによって用いられるかもしれないデー
タを保持する。
内部レジスタの最後の組はキューレジスタである。キュ
ーレジスタはDMA転送のためのデータをバッファする
。これらのレジスタはキューの内容を直接読出すかまた
は書込むためにローカルバスプロセッサによってアクセ
スされてもよい。各チャネルでのキューの動作は後に詳
細に説明される。
ーレジスタはDMA転送のためのデータをバッファする
。これらのレジスタはキューの内容を直接読出すかまた
は書込むためにローカルバスプロセッサによってアクセ
スされてもよい。各チャネルでのキューの動作は後に詳
細に説明される。
これによって内部のDTCレジスタの機能の説明を終え
る。
る。
レジスタの初期設定に関する限り、DTCがリセットさ
れた後そのレジスタはグローバルモードレジスタがOに
セットされることを除いて不定の値を6する。これはす
べての入出力ポートとDMAチャネルを不能化し、割込
を不能化しかつ*C3EL入力を可能化する。
れた後そのレジスタはグローバルモードレジスタがOに
セットされることを除いて不定の値を6する。これはす
べての入出力ポートとDMAチャネルを不能化し、割込
を不能化しかつ*C3EL入力を可能化する。
この発明の好ましい実施例に従えば、RISCシステム
の状況の中で動作しなから、RISCプロセッサにおい
て実行されている初期設定ルーチンはシステムによって
要求されるようにDTCレジスタを初期設定するための
責任を有している。
の状況の中で動作しなから、RISCプロセッサにおい
て実行されている初期設定ルーチンはシステムによって
要求されるようにDTCレジスタを初期設定するための
責任を有している。
初期設定ルーチンで駆動されるプロセッサのデザインは
当業者のよく知るところであって、したがって初期設定
ルーチンはこの発明の一部を形成しない。
当業者のよく知るところであって、したがって初期設定
ルーチンはこの発明の一部を形成しない。
チップ選択マツピングレジスタが適切に初期設定される
まで、内部のDTCレジスタは*C3EL入力を断定す
ることによってのみアクセスされ得ることに注目すべき
である。
まで、内部のDTCレジスタは*C3EL入力を断定す
ることによってのみアクセスされ得ることに注目すべき
である。
この目的で、”CS E LはA31−Al1信号の1
つを直接*CS E Lに接続する(これによってDT
Cレジスタを初期設定する目的のためのビット有効アド
レスデコードが効果的に実現されることに注目されたい
)といったシステム依存の態様で断定されてもよい。−
旦チツブ選択マツピングレジスタが適切に初期設定され
ると、DTCは*C3ELに対して無間隔にされ得、レ
ジスタは次にシステムによって規定される通常のアドレ
スを用いてアクセスされる。
つを直接*CS E Lに接続する(これによってDT
Cレジスタを初期設定する目的のためのビット有効アド
レスデコードが効果的に実現されることに注目されたい
)といったシステム依存の態様で断定されてもよい。−
旦チツブ選択マツピングレジスタが適切に初期設定され
ると、DTCは*C3ELに対して無間隔にされ得、レ
ジスタは次にシステムによって規定される通常のアドレ
スを用いてアクセスされる。
次に、新規のDTCによって支持されるデータフォーマ
ットおよびどのようにそれらが取扱われるかが詳細に述
べられる。
ットおよびどのようにそれらが取扱われるかが詳細に述
べられる。
上で述べられたように、DTCの好ましい実施例は遠隔
バス上でのワード(32ビツト)と、ハーフワード(1
6ビツト)と、バイト(8ビツト)転送を支持する。入
出力ポートに向けられたローカルバスアクセスがバイト
アクセスのハーフワードであるかもしれないが、ローカ
ルバス上のデータ転送はワードに向けられる。
バス上でのワード(32ビツト)と、ハーフワード(1
6ビツト)と、バイト(8ビツト)転送を支持する。入
出力ポートに向けられたローカルバスアクセスがバイト
アクセスのハーフワードであるかもしれないが、ローカ
ルバス上のデータ転送はワードに向けられる。
ハーフワードおよびワード内のバイトおよびハーフワー
ドをアドレス指定するための事実上の標準が2個存在す
る。DTCは後に説明される形態のオプションを用いて
、いずれかの標準の周辺デバイスを支持する。
ドをアドレス指定するための事実上の標準が2個存在す
る。DTCは後に説明される形態のオプションを用いて
、いずれかの標準の周辺デバイスを支持する。
さらにDTCは遠隔バス上の所与のデータ幅の転送をロ
ーカルバス上のより大きなデータ幅の転送へおよびそれ
から変換するための規定を組込む。
ーカルバス上のより大きなデータ幅の転送へおよびそれ
から変換するための規定を組込む。
遠隔バスとローカルバスの間の転送では、ローカルバス
上のデータの幅は遠隔バス上のデータの幅より大きいか
またはそれと等しくなくてはならない。データ幅の変換
は第3図の304で示されるように以前述べられたパッ
キングおよび送り込み手段によって行なわれる。
上のデータの幅は遠隔バス上のデータの幅より大きいか
またはそれと等しくなくてはならない。データ幅の変換
は第3図の304で示されるように以前述べられたパッ
キングおよび送り込み手段によって行なわれる。
データ幅に焦点を当てると、DTCのDMAキューは常
に語長データをストアしそしてローカルバスとDMAキ
ューの間のすべての転送は32ビツト転送である。もう
一方で、遠隔バスとDMAキューの間の転送はバイトか
、ハーフワードかまたはワード転送であってもよく、バ
イトおよびハーフワード転送はこれより後に詳細に説明
されるパッキングおよび送り込み動作を含む。
に語長データをストアしそしてローカルバスとDMAキ
ューの間のすべての転送は32ビツト転送である。もう
一方で、遠隔バスとDMAキューの間の転送はバイトか
、ハーフワードかまたはワード転送であってもよく、バ
イトおよびハーフワード転送はこれより後に詳細に説明
されるパッキングおよび送り込み動作を含む。
内部のDTCレジスタへのおよびそこからの転送は常に
語長転送である。DTCレジスタへのバイトおよびハー
フワードアクセスは支持されずかつDTCは*DERR
支持で内部のレジスタの試みられたバイトまたはハーフ
ワードアクセスに対して応答する。上で述べられたよう
に、グローバル状態レジスタにおけるデータ幅例外ビッ
トは例外の原因を示すために、DTCによってセットさ
れる。
語長転送である。DTCレジスタへのバイトおよびハー
フワードアクセスは支持されずかつDTCは*DERR
支持で内部のレジスタの試みられたバイトまたはハーフ
ワードアクセスに対して応答する。上で述べられたよう
に、グローバル状態レジスタにおけるデータ幅例外ビッ
トは例外の原因を示すために、DTCによってセットさ
れる。
DTCは人出力ポートを介するバイトや、ワードや、ハ
ーフワードアクセスを許容する。もし要求されたデータ
幅が適切なポートモードレジスタによって示されるデー
タ幅より大きいなら、DTCは後に説明されるパッキン
グおよび送り込み動作を用いてサイズの不一致を取扱う
。
ーフワードアクセスを許容する。もし要求されたデータ
幅が適切なポートモードレジスタによって示されるデー
タ幅より大きいなら、DTCは後に説明されるパッキン
グおよび送り込み動作を用いてサイズの不一致を取扱う
。
まずDTCとのローカルバスインターフェイスに焦点を
当てると、DTCがローカルバススレーブのとき、関連
したデータ転送のデータ幅は0PTO−OPTI信号に
よって示される。これらの信号は引用された同時係属出
願によって規定される、転送を行なうRISCプロセッ
サロードまたはストア命令のOPTフィールドを反映す
る。0PTO−OPTI信号のコード化は以前に述べら
れている。もしDTCが所与の幅のアクセスを支持でき
ないなら(おそらく遠隔バスがアクセスを支持できない
からである)、それは*DERR支持でアクセスに対し
て応答する。グローバル状態レジスタかまたはポート状
態レジスタのデータ幅例外ビットが適切に例外の原因を
示すようにセットされる。
当てると、DTCがローカルバススレーブのとき、関連
したデータ転送のデータ幅は0PTO−OPTI信号に
よって示される。これらの信号は引用された同時係属出
願によって規定される、転送を行なうRISCプロセッ
サロードまたはストア命令のOPTフィールドを反映す
る。0PTO−OPTI信号のコード化は以前に述べら
れている。もしDTCが所与の幅のアクセスを支持でき
ないなら(おそらく遠隔バスがアクセスを支持できない
からである)、それは*DERR支持でアクセスに対し
て応答する。グローバル状態レジスタかまたはポート状
態レジスタのデータ幅例外ビットが適切に例外の原因を
示すようにセットされる。
遠隔バス上でのDMA転送のための遠隔バスデータ幅に
関して、転送のデータ幅は関連したチャネルモードレジ
スタ(以前に説明されている)のデータ幅フィールドに
よって指定される。
関して、転送のデータ幅は関連したチャネルモードレジ
スタ(以前に説明されている)のデータ幅フィールドに
よって指定される。
入力出力ポート転送では、この発明の好ましい実施例に
従って、転送のデータ幅は関連したポートモードレジス
タのデータ幅フィールドとローカルバス上の0PTO−
OPTI入力の組合わせによって指定される。
従って、転送のデータ幅は関連したポートモードレジス
タのデータ幅フィールドとローカルバス上の0PTO−
OPTI入力の組合わせによって指定される。
遠隔バス転送のためのデータ幅は転送が発生するときD
SIZEO−DSIZEI出力で反映される。もし要求
された転送が遠隔バスによって支持されないなら(なぜ
なら遠隔バス上のデバイスまたはメモリが十分に幅がな
いため)、遠隔バスは実際の支持されたデータ幅を示す
DSACKO−DSACKI応答に応答する。これによ
ってデータ幅例外が引き起こされる。”RBERR信号
がまた例外を作るために利用されてもよいがその理由を
孤立させることはない。
SIZEO−DSIZEI出力で反映される。もし要求
された転送が遠隔バスによって支持されないなら(なぜ
なら遠隔バス上のデバイスまたはメモリが十分に幅がな
いため)、遠隔バスは実際の支持されたデータ幅を示す
DSACKO−DSACKI応答に応答する。これによ
ってデータ幅例外が引き起こされる。”RBERR信号
がまた例外を作るために利用されてもよいがその理由を
孤立させることはない。
もしDMA転送がデータ幅の例外に遭遇するなら、転送
はキャンセルされ”lNTRはもし割込が可能化される
なら断定される。
はキャンセルされ”lNTRはもし割込が可能化される
なら断定される。
もし入出力アクセスがデータ幅例外に遭遇するなら、D
TCは*DERR支持でローカルバス上で応答する。先
読みまたは後書きの場合、*DERRは例外が対応する
入出力ポートを介して最も最近のアクセスで発生したと
いう信号を出す。
TCは*DERR支持でローカルバス上で応答する。先
読みまたは後書きの場合、*DERRは例外が対応する
入出力ポートを介して最も最近のアクセスで発生したと
いう信号を出す。
例外がDSACKO−DSACKI応答によって引き起
こされると、例外と関連したDSACKO−DSACK
1入力の状態が転送に関連したチャネル状態またはポー
ト状態レジスタのデータサイズ肯定応答フィールドにお
いてストアされる。
こされると、例外と関連したDSACKO−DSACK
1入力の状態が転送に関連したチャネル状態またはポー
ト状態レジスタのデータサイズ肯定応答フィールドにお
いてストアされる。
(DSACKO−DSACKI応答はどの例外のために
もストアされる)これによって割込またはトラップハン
ドラが適切なデータ幅でのアクセスを再度試みることが
できる。
もストアされる)これによって割込またはトラップハン
ドラが適切なデータ幅でのアクセスを再度試みることが
できる。
遠隔バスデバイスまたはメモリがそれが要求されるより
広いデータ幅を支持することを示す、DSACKO−D
SACKI応答を与えることが可能である。この場合、
DTCはさらに要求された幅を有するものとしてアクセ
スを取扱う。
広いデータ幅を支持することを示す、DSACKO−D
SACKI応答を与えることが可能である。この場合、
DTCはさらに要求された幅を有するものとしてアクセ
スを取扱う。
データ割当を考慮すると、ローカルおよび遠隔バス双方
上のアドレスはそれらがいずれかのバスにつけられたデ
バイスまたはメモリにおけるバイトを選択するのに十分
であるといった点で、バイトアドレスである。ハーフワ
ードまたはワードがアクセスされると、対応するアドレ
スはそれがノ\−フワードまたはワードにおける第1の
バイトを指す点で普通に位置合わせが行なわれる。位置
合わせされたハーフワードアドレスは最下位ビットにお
いて0を有し、そして位置合わせされたワードアドレス
は2個の最下位ビットにおいて00を有する。
上のアドレスはそれらがいずれかのバスにつけられたデ
バイスまたはメモリにおけるバイトを選択するのに十分
であるといった点で、バイトアドレスである。ハーフワ
ードまたはワードがアクセスされると、対応するアドレ
スはそれがノ\−フワードまたはワードにおける第1の
バイトを指す点で普通に位置合わせが行なわれる。位置
合わせされたハーフワードアドレスは最下位ビットにお
いて0を有し、そして位置合わせされたワードアドレス
は2個の最下位ビットにおいて00を有する。
DTCはその実際の値には関係なくアドレスの1個また
は2個の最下位ビットを(適切に)0として解釈するこ
とによって、すべてのハーフワードおよびワードアクセ
スのための位置合わせを強制する。これはシフティング
や、位置合わせおよび連結で多数のデータアクセスを要
求する位置合わせされないアクセスとしてそのようなア
クセスを解釈するいくつかのシステムとは対照的である
。
は2個の最下位ビットを(適切に)0として解釈するこ
とによって、すべてのハーフワードおよびワードアクセ
スのための位置合わせを強制する。これはシフティング
や、位置合わせおよび連結で多数のデータアクセスを要
求する位置合わせされないアクセスとしてそのようなア
クセスを解釈するいくつかのシステムとは対照的である
。
もしそのようなアクセスが支持されなくてはならないな
ら、それらはここで述べられるDTCがつけられるRI
SCシステムにおける位置合わせされていないアクセス
トラップによってインターセプトされなくてはならない
。
ら、それらはここで述べられるDTCがつけられるRI
SCシステムにおける位置合わせされていないアクセス
トラップによってインターセプトされなくてはならない
。
バイトがハーフワードまたはワードの部分としてアクセ
スされるかまたはハーフワードがワードの一部としてア
クセスされる場合、ハーフワードまたはワード内のバイ
トまたはハーフワードの位置は2個の確立された規定の
うちの1つによって決定される。これらの規定はバイト
またはハーフワードの位置をその対応するアドレスに関
連させかつ第4図に示される。
スされるかまたはハーフワードがワードの一部としてア
クセスされる場合、ハーフワードまたはワード内のバイ
トまたはハーフワードの位置は2個の確立された規定の
うちの1つによって決定される。これらの規定はバイト
またはハーフワードの位置をその対応するアドレスに関
連させかつ第4図に示される。
第4図において、以下の数字を付けた規定が用いられる
。
。
1、 ハーフワード内のバイトは対応するアドレスの最
下位ビットに従って番号が付けられる。
下位ビットに従って番号が付けられる。
2、 ワード内のバイトは対応するアドレスの2個の
最下位ビットに対応して番号が付けられる。
最下位ビットに対応して番号が付けられる。
3、 ハーフワードは対応するアドレスの最下位の次の
ビットに対応して番号が付けられる。
ビットに対応して番号が付けられる。
RI SCシステムでは、第4図に示される規定のうち
のいずれかがローカルバスに当てられかつそのいずれか
または両方が遠隔バスに当てられてもよい。このため、
DTCはそれらの間で変換して両方の規定を支持する。
のいずれかがローカルバスに当てられかつそのいずれか
または両方が遠隔バスに当てられてもよい。このため、
DTCはそれらの間で変換して両方の規定を支持する。
グローバルモードレジスタのローカルバイト順序(rL
BOJ)ビットは第4図に示されるように順序づけられ
た規定のいずれがローカルバスにあてはまるのかを指定
する。もしLBOビットが0なら、バイトおよびハーフ
ワードはノ1−フワードおよびワード内で左から右にシ
ーケンシャルにアドレス指定される。もしLBOビット
が1なら、それらは右から左にシーケンシャルにアドレ
ス指定される。1つの規定のみがローカルバス上のすべ
ての転送に対して可能であることに注目されたい。
BOJ)ビットは第4図に示されるように順序づけられ
た規定のいずれがローカルバスにあてはまるのかを指定
する。もしLBOビットが0なら、バイトおよびハーフ
ワードはノ1−フワードおよびワード内で左から右にシ
ーケンシャルにアドレス指定される。もしLBOビット
が1なら、それらは右から左にシーケンシャルにアドレ
ス指定される。1つの規定のみがローカルバス上のすべ
ての転送に対して可能であることに注目されたい。
チャネルモードまたはポートモードレジスタの遠隔バイ
ト順序(rRsoJ )ビットはチャネルごとまたはポ
ートごとに順序づけられている規定のいずれが遠隔バス
にあてはまるかを指定する。
ト順序(rRsoJ )ビットはチャネルごとまたはポ
ートごとに順序づけられている規定のいずれが遠隔バス
にあてはまるかを指定する。
もしRBOビットがOなら、バイトおよびハーフワード
はハーフワードおよびワード内で左から右にシーケンシ
ャルにアドレス指定される。もしRBOビットが1なら
、それらは右から左にシーケンシャルにアドレス指定さ
れる。
はハーフワードおよびワード内で左から右にシーケンシ
ャルにアドレス指定される。もしRBOビットが1なら
、それらは右から左にシーケンシャルにアドレス指定さ
れる。
一般に、LBOビットはパッキングおよび送り込み動作
の間バイトおよびハーフワー下選択を制御する。もしL
BOビットが0なら、パッキングおよび送り込みはシー
ケンシャルにアドレスを増加させるために左から右に進
む。もしLBOビットが1なら、パッキングおよび送り
込みは、シーケンシャルにアドレスを増加させるために
右から左に進む。その順序はシーケンシャルにアドレス
を減少させるためには逆にされることに注目されたい。
の間バイトおよびハーフワー下選択を制御する。もしL
BOビットが0なら、パッキングおよび送り込みはシー
ケンシャルにアドレスを増加させるために左から右に進
む。もしLBOビットが1なら、パッキングおよび送り
込みは、シーケンシャルにアドレスを増加させるために
右から左に進む。その順序はシーケンシャルにアドレス
を減少させるためには逆にされることに注目されたい。
RBOビットはバイトおよびハーフワード位置がアドレ
スに依存している場合には遠隔バス上のデータの位置を
制御する。さらに、DMAチャネルまたは入出力ポート
が転送に含まれるとき関連したチャネルモードたはポー
トモードレジスタのためのRBOビットはLBOビット
と比較される。
スに依存している場合には遠隔バス上のデータの位置を
制御する。さらに、DMAチャネルまたは入出力ポート
が転送に含まれるとき関連したチャネルモードたはポー
トモードレジスタのためのRBOビットはLBOビット
と比較される。
もし選択されたRBOビットがLBOビットと一致せず
かつ転送されたデータがバイトより広いなら、ハーフワ
ードまたはワード内のバイトはスワツピングされて2個
のアドレス指定の規定の間で変換する。このスワツピン
グは第5図でグラフで示される。
かつ転送されたデータがバイトより広いなら、ハーフワ
ードまたはワード内のバイトはスワツピングされて2個
のアドレス指定の規定の間で変換する。このスワツピン
グは第5図でグラフで示される。
第5図では、バイトは数字の代わりに文字で示されスワ
ツピングがいずれかのアドレス指定規定が他方に変換す
ることを強調する。
ツピングがいずれかのアドレス指定規定が他方に変換す
ることを強調する。
パッキングおよび送り込み動作がDTCによって支持さ
れる態様が説明される。
れる態様が説明される。
パッキングに関して、遠隔からローカルへの転送でDT
Cは遠隔バス上のバイトまたはハーフワード転送の数を
より少ないローカルバス上のハーフワードまたはワード
転送の数に変換することができる。これはバイトまたは
ハーフワードをハーフワードまたはワードにパッキング
することによって達成されひ。バイトは入出力ポートア
クセスでのみハーフワードにパッキングされ得ることを
思い出すべきである。
Cは遠隔バス上のバイトまたはハーフワード転送の数を
より少ないローカルバス上のハーフワードまたはワード
転送の数に変換することができる。これはバイトまたは
ハーフワードをハーフワードまたはワードにパッキング
することによって達成されひ。バイトは入出力ポートア
クセスでのみハーフワードにパッキングされ得ることを
思い出すべきである。
以前に示されたように各DTCDMAチャネルおよび入
出力ポートは関連した32ビツトのパック/送り込みレ
ジスタを有する。このレジスタは要求される量のデータ
が集められるまで(要求されるデータ幅は通常1ワード
であるが、入出力ポートアクセスの場合ハーフワードで
あってもよい)、バイトまたはハーフワードを集めるこ
とによってパッキング動作を支持する。パック/送り込
みレジスタにおけるデータが要求される幅に達すると、
それはパック/送り込みレジスタから適切なりMAキュ
ー(DMAチャネルのため)かまたはローカルバス(入
出力ポートのため)に転送される。−旦データがパック
/送り込みレジスタから取除かれると、さらなるパッキ
ング動作が進められてもよい。
出力ポートは関連した32ビツトのパック/送り込みレ
ジスタを有する。このレジスタは要求される量のデータ
が集められるまで(要求されるデータ幅は通常1ワード
であるが、入出力ポートアクセスの場合ハーフワードで
あってもよい)、バイトまたはハーフワードを集めるこ
とによってパッキング動作を支持する。パック/送り込
みレジスタにおけるデータが要求される幅に達すると、
それはパック/送り込みレジスタから適切なりMAキュ
ー(DMAチャネルのため)かまたはローカルバス(入
出力ポートのため)に転送される。−旦データがパック
/送り込みレジスタから取除かれると、さらなるパッキ
ング動作が進められてもよい。
パッキング動作の間のローカルおよび遠隔バス転送は以
下の表に述べられるように発生する。
下の表に述べられるように発生する。
ローカルバ 遠隔バス
スデータ幅 データ幅 遠隔バス転送の数32ビット
32ビツト 1 32ビツト 16ビツト 2 32ビツト 8ビツト 4 16ビツト 16ビツト 1(入出力ポートのみ)16
ビツト 8ビツト 2(入出力ポートのみ)8ビツト
8ビツト 1(入出力ポートのみ)遠隔バスからロ
ーカルバスに転送されるすべてのデータはたとえ遠隔バ
イアス上のデータ幅がローカルバス上のデータ幅と一致
している場合でも、適切なパック/送り込みレジスタに
おいてバッファされることに注目すべきである。
32ビツト 1 32ビツト 16ビツト 2 32ビツト 8ビツト 4 16ビツト 16ビツト 1(入出力ポートのみ)16
ビツト 8ビツト 2(入出力ポートのみ)8ビツト
8ビツト 1(入出力ポートのみ)遠隔バスからロ
ーカルバスに転送されるすべてのデータはたとえ遠隔バ
イアス上のデータ幅がローカルバス上のデータ幅と一致
している場合でも、適切なパック/送り込みレジスタに
おいてバッファされることに注目すべきである。
例外の場合には、パッキング動作は要求されるデータ幅
が得られる前にキャンセルされるかもしれない。これら
の場合は転送の間に例外があるとき(たとえばパリティ
エラー)やまたは遠隔バス転送がパッキング動作がワー
ドを作る前に終わるとき(たとえばバイトの奇数がDM
Aチャネルで転送されると)起こる。もしパッキング動
作が要求される幅のデータユニットを作ることができな
いなら、ハーフワードまたはワードの残りはこの発明の
好ましい実施例に従って0でパッディングされる。
が得られる前にキャンセルされるかもしれない。これら
の場合は転送の間に例外があるとき(たとえばパリティ
エラー)やまたは遠隔バス転送がパッキング動作がワー
ドを作る前に終わるとき(たとえばバイトの奇数がDM
Aチャネルで転送されると)起こる。もしパッキング動
作が要求される幅のデータユニットを作ることができな
いなら、ハーフワードまたはワードの残りはこの発明の
好ましい実施例に従って0でパッディングされる。
送り込みに関すれば、ローカルから遠隔への転送でDT
Cはローカルバス上のワードまたはハーフワード転送の
数をより大きな遠隔バス上のハーフワードまたはバイト
転送の数に変換する。これはワードまたはハーフワード
内のデータをハーフワードまたはバイト転送のシーケン
スに送り込むことによって達成される。ハーフワードは
入出力ポートアクセスのみのためのバイトに送り込まれ
ることに注目すべきである。
Cはローカルバス上のワードまたはハーフワード転送の
数をより大きな遠隔バス上のハーフワードまたはバイト
転送の数に変換する。これはワードまたはハーフワード
内のデータをハーフワードまたはバイト転送のシーケン
スに送り込むことによって達成される。ハーフワードは
入出力ポートアクセスのみのためのバイトに送り込まれ
ることに注目すべきである。
パック/送り込みレジスタはDMAキュー(DMAチャ
ネルのための)またはローカルバス(入出力ポートのた
めの)からデータを受取り、それを送り込み動作の間バ
ッファする。送り込みは1度に1つハーフワードまたは
バイトをパック/送り込みレジスタから抽出しそしてそ
れらを個々に遠隔バス上で転送する。パック/送り込み
レジスタ内のすべてのデータが転送されると、パック/
送り込みレジスタは転送されるべきより多くのデータで
書込まれてもよい。
ネルのための)またはローカルバス(入出力ポートのた
めの)からデータを受取り、それを送り込み動作の間バ
ッファする。送り込みは1度に1つハーフワードまたは
バイトをパック/送り込みレジスタから抽出しそしてそ
れらを個々に遠隔バス上で転送する。パック/送り込み
レジスタ内のすべてのデータが転送されると、パック/
送り込みレジスタは転送されるべきより多くのデータで
書込まれてもよい。
送り込み動作の間のローカルおよび遠隔バス転送はパッ
キングの間と同じ態様で発生し、データ幅および転送の
数の表は以前に述べられたものである。
キングの間と同じ態様で発生し、データ幅および転送の
数の表は以前に述べられたものである。
ローカルバスから遠隔バスに転送されるすべてのデータ
はたとえローカルバス上のデータ幅が遠隔バス上のデー
タ幅と一致する場合でも、適切なパック/送り込みレジ
スタにおいてバッファされることもまた注目すべきであ
る。
はたとえローカルバス上のデータ幅が遠隔バス上のデー
タ幅と一致する場合でも、適切なパック/送り込みレジ
スタにおいてバッファされることもまた注目すべきであ
る。
例外の場合においては、送り込み動作はパック/送り込
みレジスタにおけるデータがなくなる前にキャンセルさ
れてもよい。転送の間エラー(たとえばパリティエラー
)が存在するときかまたは遠隔バス転送が送り込み動作
がパック/送り込みレジスタからハーフワードまたはワ
ードのすべてを転送してしまう前に終わるとき(たとえ
ばバイトの奇数がDMAチャネルで転送されるとき)、
これらの場合が発生する。これらの場合の各々において
、パック/送り込みレジスタにおける転送されていない
いかなるデータもこの発明の好ましい実施例に従って無
視される。
みレジスタにおけるデータがなくなる前にキャンセルさ
れてもよい。転送の間エラー(たとえばパリティエラー
)が存在するときかまたは遠隔バス転送が送り込み動作
がパック/送り込みレジスタからハーフワードまたはワ
ードのすべてを転送してしまう前に終わるとき(たとえ
ばバイトの奇数がDMAチャネルで転送されるとき)、
これらの場合が発生する。これらの場合の各々において
、パック/送り込みレジスタにおける転送されていない
いかなるデータもこの発明の好ましい実施例に従って無
視される。
DTCはどのようにデータおよび支持されたフォーマッ
トを取扱うかを説明してきたが、DTCの説明は次にプ
ログラムされた入出力の支持に向けられる。
トを取扱うかを説明してきたが、DTCの説明は次にプ
ログラムされた入出力の支持に向けられる。
ここで用いられた「プログラムされた入出力」という言
葉はRISCプロセッサによるロードまたはストア命令
の実行の直接の結果である、DTCアクセスまたはデー
タ転送をいう。この言葉はRISCシステムの入出力ア
ドレス空間へのアクセスと混同してはならず、なぜなら
DTCはRISCシステムのデータメモリかまたは入出
力アドレス空間のいずれかにおいてプログラムされた入
出力を支持するからである。
葉はRISCプロセッサによるロードまたはストア命令
の実行の直接の結果である、DTCアクセスまたはデー
タ転送をいう。この言葉はRISCシステムの入出力ア
ドレス空間へのアクセスと混同してはならず、なぜなら
DTCはRISCシステムのデータメモリかまたは入出
力アドレス空間のいずれかにおいてプログラムされた入
出力を支持するからである。
DTCはプログラムされた人出力の2つのタイプ、すな
わち内部と遠隔とを支持する。内部のプログラムされた
入出力はDTCの内部のレジスタをアクセスするために
用いられる。遠隔入出力はプログラム実行に結合される
態様において遠隔バス上でのデータをアクセスするため
に用いられる(通常では結合が解除されるDMAとは対
照的に)。
わち内部と遠隔とを支持する。内部のプログラムされた
入出力はDTCの内部のレジスタをアクセスするために
用いられる。遠隔入出力はプログラム実行に結合される
態様において遠隔バス上でのデータをアクセスするため
に用いられる(通常では結合が解除されるDMAとは対
照的に)。
以上述べられたように、内部のDTCレジスタへのアク
セスはチップ選択マツピングレジスタによって制御され
る。このレジスタは内部レジスタのためのベースアドレ
スを指定しかつこのアドレスがRISCシステムのデー
タメモリまたは入出力アドレス空間にあるかどうかを指
定する。またそれは”CS E L入力を可能化および
不能化し、ベースアドレスは*CS E Lが可能化さ
れているときはいつでも不適切である。
セスはチップ選択マツピングレジスタによって制御され
る。このレジスタは内部レジスタのためのベースアドレ
スを指定しかつこのアドレスがRISCシステムのデー
タメモリまたは入出力アドレス空間にあるかどうかを指
定する。またそれは”CS E L入力を可能化および
不能化し、ベースアドレスは*CS E Lが可能化さ
れているときはいつでも不適切である。
もし*CS E Lが可能化されるなら、DTCは”C
S E L入力が活性状態であるいかなる内部アクセス
に対しても応答する。このアクセスはローカルのデータ
メモリかまたは入出力アドレス空間のいずれかにあって
もよい。もし”CS E Lが不能化されるなら、DT
Cは以下の基準にあうアクセス応答する。
S E L入力が活性状態であるいかなる内部アクセス
に対しても応答する。このアクセスはローカルのデータ
メモリかまたは入出力アドレス空間のいずれかにあって
もよい。もし”CS E Lが不能化されるなら、DT
Cは以下の基準にあうアクセス応答する。
1、 アクセスのためのアドレスのビット31−11は
チップ選択マツピングレジスタのチップ選択アドレスフ
ィールドの対応するビットに一致する。
チップ選択マツピングレジスタのチップ選択アドレスフ
ィールドの対応するビットに一致する。
2、 アクセスのためのアドレス空間(データメモリ
または入出力)がチップ選択マツピングレジスタのロー
カルアドレス空間によって特定されるものと一致する。
または入出力)がチップ選択マツピングレジスタのロー
カルアドレス空間によって特定されるものと一致する。
もし上の基準が満たされるなら、DTCは内部のレジス
タを選択するためにアドレスのオフセット部分(ビット
1O−2)を用いる。DTC内部レジスタへのすべての
アクセスは語長アクセスであって、DTCはもし0PT
O−OPTI信号が内部レジスタアクセスで00でない
なら”DERRで応答する(データ幅例外ビットまたは
グローバル状態レジスタはその例外の理由を示す)。い
かなる場合でも、AI−AO倍信号無視される。
タを選択するためにアドレスのオフセット部分(ビット
1O−2)を用いる。DTC内部レジスタへのすべての
アクセスは語長アクセスであって、DTCはもし0PT
O−OPTI信号が内部レジスタアクセスで00でない
なら”DERRで応答する(データ幅例外ビットまたは
グローバル状態レジスタはその例外の理由を示す)。い
かなる場合でも、AI−AO倍信号無視される。
ロード(R/*Wハイ)では、選択されたレジスタの内
容はローカルバスに送られる。実現されていないレジス
タビットは0と読出される。ストアCR/*Wロー)で
は、選択されたレジスタはD31−DOラインの内容で
書込まれる。実現されていないレジスタビットに対応す
るD31−DOラインのいずれも無視されるが、好まし
い実施例に従えば上向き互換性の理由では0であるべき
である。
容はローカルバスに送られる。実現されていないレジス
タビットは0と読出される。ストアCR/*Wロー)で
は、選択されたレジスタはD31−DOラインの内容で
書込まれる。実現されていないレジスタビットに対応す
るD31−DOラインのいずれも無視されるが、好まし
い実施例に従えば上向き互換性の理由では0であるべき
である。
もし以下の条件のどれかがあてはまるなら、たとえそれ
がアクセスに応答してもDTCは首尾よくアクセスを終
えることはない。すなわち、1、 DTCはローで
あるSUP/寧US出力によって示されるようにユーザ
モードである。
がアクセスに応答してもDTCは首尾よくアクセスを終
えることはない。すなわち、1、 DTCはローで
あるSUP/寧US出力によって示されるようにユーザ
モードである。
2、 アクセスのためのアドレスがDTCによって認め
られるアドレスの範囲内にあるが、オフセットは実現さ
れたレジスタを選択しない。
られるアドレスの範囲内にあるが、オフセットは実現さ
れたレジスタを選択しない。
上の場合のいずれかにおいて、DTCは”DERR指示
でアクセスに応答する。グローバル状態レジスタの保護
違反またはアクセスエラービット(適切なように)が”
DERR応答の理由を示すようにセットされる。
でアクセスに応答する。グローバル状態レジスタの保護
違反またはアクセスエラービット(適切なように)が”
DERR応答の理由を示すようにセットされる。
適切な場合、DTCはRISCプロセッサロード多重化
またはストア多重化命令に応答してバーストモードアク
セスを行なうことができる。DTCは適切なアドレス増
分論理を含み、バーストモードアクセスを適切に支持す
る。しかしなから、バーストモードアクセスはレジスタ
を連続したオフセット値でアクセスするためにのみ用い
られ得る。もし実現されていないレジスタがバーストモ
ードシーケンス内で遭遇されるなら、DTCは*DER
R指示で応答しそのアクセスをキャンセルする。
またはストア多重化命令に応答してバーストモードアク
セスを行なうことができる。DTCは適切なアドレス増
分論理を含み、バーストモードアクセスを適切に支持す
る。しかしなから、バーストモードアクセスはレジスタ
を連続したオフセット値でアクセスするためにのみ用い
られ得る。もし実現されていないレジスタがバーストモ
ードシーケンス内で遭遇されるなら、DTCは*DER
R指示で応答しそのアクセスをキャンセルする。
DMAチャネルをそのローカルバスアドレスの範囲がD
TC内部レジスタのアドレスの範囲をオーバラップする
ように形成することが可能である。
TC内部レジスタのアドレスの範囲をオーバラップする
ように形成することが可能である。
しかしなから、DTCはDMAチャネルを介して内部レ
ジスタアクセスを支持しない。もしそのようなアクセス
が試みられるなら、アドレスの矛盾が発生しかつDMA
転送がキャンセルされる。適切なチャネル状態レジスタ
のアドレス矛盾ビットは例外の理由を示すようにセット
される。
ジスタアクセスを支持しない。もしそのようなアクセス
が試みられるなら、アドレスの矛盾が発生しかつDMA
転送がキャンセルされる。適切なチャネル状態レジスタ
のアドレス矛盾ビットは例外の理由を示すようにセット
される。
第3図に従えば、この発明の概要はDTC入出力ポート
を介する遠隔のプログラムされた入出力によってローカ
ルバスに付けられたRISCプロセッサが遠隔バス上の
デバイスおよびメモリをアクセスすることができること
を示した。遠隔プログラムされた入出力がどのようにD
TCを用いて達成されるかの詳細は次に述べられる。
を介する遠隔のプログラムされた入出力によってローカ
ルバスに付けられたRISCプロセッサが遠隔バス上の
デバイスおよびメモリをアクセスすることができること
を示した。遠隔プログラムされた入出力がどのようにD
TCを用いて達成されるかの詳細は次に述べられる。
DTCは遠隔バスアクセスのための4個の独立した入出
力ポートを組込む。各入出力ポートは、1、 ローカ
ルバスアドレスの2の累乗の範囲を遠隔バスアドレスの
独立しf: 範n l:マツピングし、 2、 バイトとハーフワードとワードアクセスを支持
し、 3、 他のRISCプロセッサの動作で遠隔バスアクセ
スをオーバラップするための機能を含む。
力ポートを組込む。各入出力ポートは、1、 ローカ
ルバスアドレスの2の累乗の範囲を遠隔バスアドレスの
独立しf: 範n l:マツピングし、 2、 バイトとハーフワードとワードアクセスを支持
し、 3、 他のRISCプロセッサの動作で遠隔バスアクセ
スをオーバラップするための機能を含む。
遠隔プログラムされた入出力アクセスは入出力ポートレ
ジスタによって制御される。上で説明された(1つの入
出力ポートにつき1組の)4組の同一のレジスタが存在
する。
ジスタによって制御される。上で説明された(1つの入
出力ポートにつき1組の)4組の同一のレジスタが存在
する。
以前に示されたように、入出力ポートはローカルバスか
らアクセスを受取り、それらを遠隔バスに送る。アドレ
ス翻訳はローカルバスと遠隔バスの間で行なわれる。パ
ッキングおよび送り込み動作によってローカルバス要求
のためのデータ幅が遠隔バス要求のためのデータ幅より
大きくなることが可能になる。
らアクセスを受取り、それらを遠隔バスに送る。アドレ
ス翻訳はローカルバスと遠隔バスの間で行なわれる。パ
ッキングおよび送り込み動作によってローカルバス要求
のためのデータ幅が遠隔バス要求のためのデータ幅より
大きくなることが可能になる。
ローカルバスと遠隔バスの間の接続は直接であるか結合
が解除されてもよい。直接の接続の場合、遠隔バスアク
セスはローカルバスアクセスが終了できる前に終了しな
くてはならない。結合が解除されたアクセスの場合、デ
ータは遠隔バス動作から独立してローカルバスアクセス
が以前の遠隔バス読出の結果を読出すかまたは次の遠隔
バス書込のためのデータを書込むかするようにバッファ
される。
が解除されてもよい。直接の接続の場合、遠隔バスアク
セスはローカルバスアクセスが終了できる前に終了しな
くてはならない。結合が解除されたアクセスの場合、デ
ータは遠隔バス動作から独立してローカルバスアクセス
が以前の遠隔バス読出の結果を読出すかまたは次の遠隔
バス書込のためのデータを書込むかするようにバッファ
される。
もし遠隔バスのための入出力ポートからの要求がDMA
チャネルからの要求と同時に発生するなら、入出力ポー
トが優先順位を有する。
チャネルからの要求と同時に発生するなら、入出力ポー
トが優先順位を有する。
入出力ポートを介するアクセスは各入出力ポートと関連
したローカルベースアドレスレジスタによって制御され
る。このレジスタはそれぞれの入出力ポートのローカル
バスベースアドレスを指定しかつこのアドレスがRIS
Cシステムのデータメモリかまたは入出力アドレス空間
にあるかどうかを示す。
したローカルベースアドレスレジスタによって制御され
る。このレジスタはそれぞれの入出力ポートのローカル
バスベースアドレスを指定しかつこのアドレスがRIS
Cシステムのデータメモリかまたは入出力アドレス空間
にあるかどうかを示す。
入出力ポートは以下の条件が満たされるときはいつでも
活性状態になる。すなわち、 1、 グローバルモードレジスタの適切なポート可能
化ビットがセットされる。
活性状態になる。すなわち、 1、 グローバルモードレジスタの適切なポート可能
化ビットがセットされる。
2、 ローカルバスアドレスの適切な高順位ビットが
ローカルベースレジスタの対応するビットと一致する。
ローカルベースレジスタの対応するビットと一致する。
3、 アドレス空間(アクセスのためのデータメモリ
または入出力)がポートモードレジスタのローカルアド
レス空間ビットによって指定されるものと一致する。
または入出力)がポートモードレジスタのローカルアド
レス空間ビットによって指定されるものと一致する。
”CS E L入力は入出力ポートアクセスにいかなる
要求も及ぼしていないことを思い出すべきである。
要求も及ぼしていないことを思い出すべきである。
もし上の基準が満たされるなら、DTCは上の比較にお
いて用いられたローカルアドレスの高順位ビットを遠隔
ベースアドレスレジスタの対応するビットヒ取替える。
いて用いられたローカルアドレスの高順位ビットを遠隔
ベースアドレスレジスタの対応するビットヒ取替える。
すなわち、低順位ビット(すなわちポートオフセット)
は修正されない。
は修正されない。
結果として生じるアドレスは遠隔ベースアドレスレジス
タの遠隔アドレス空間ビットによって決定されるように
、遠隔バスのメモリまたは入出力空間のいずれかにおい
て遠隔バスアクセスのために用いられる。
タの遠隔アドレス空間ビットによって決定されるように
、遠隔バスのメモリまたは入出力空間のいずれかにおい
て遠隔バスアクセスのために用いられる。
第6図はアドレス翻訳プロセスを例示しかつ入出力ポー
トのデータフローを示す。
トのデータフローを示す。
第6図はライン601上でローカルポートアドレスレジ
スタ602に入力される32ビツトローカルバスアドレ
スを示す。DO−D31 (上で)くリティビットDO
−D3)からのデータはMUX603とパック/送り込
みレジスタ604を介してパック/送り込みレジスタ回
路網手段(第3図に示される手段304)へまたはそこ
からのいずれかに流れることができ、第6図の両方の部
分は入出力ポートに関連している。
スタ602に入力される32ビツトローカルバスアドレ
スを示す。DO−D31 (上で)くリティビットDO
−D3)からのデータはMUX603とパック/送り込
みレジスタ604を介してパック/送り込みレジスタ回
路網手段(第3図に示される手段304)へまたはそこ
からのいずれかに流れることができ、第6図の両方の部
分は入出力ポートに関連している。
もしそのアクセスがポートのアドレス空間内にあるかど
うかをまず決定することによって発生しくブロック60
5を介して)そしてもしそうであるなら、アドレスを翻
訳する(ブロック606を介して)。
うかをまず決定することによって発生しくブロック60
5を介して)そしてもしそうであるなら、アドレスを翻
訳する(ブロック606を介して)。
ブロック605において、ローカルベースアドレスレジ
スタ620の内容はポートのサイズに基づいた比較のた
めのビットを選択した後(ブロック623および624
を介して)、ローカルポートアドレスレジスタ602の
内容と比較される(比較器625を介して)。たとえば
、1キロバイトのポートでは、レジスタ602および6
2.0からの高順位の22ビツトが比較される。上で示
されるように、窓のサイズ情報はポートモードレジスタ
の窓サイズフィールドからくる。
スタ620の内容はポートのサイズに基づいた比較のた
めのビットを選択した後(ブロック623および624
を介して)、ローカルポートアドレスレジスタ602の
内容と比較される(比較器625を介して)。たとえば
、1キロバイトのポートでは、レジスタ602および6
2.0からの高順位の22ビツトが比較される。上で示
されるように、窓のサイズ情報はポートモードレジスタ
の窓サイズフィールドからくる。
もし入出力ポートが実際にアドレス指定されているなら
、ブロック606を介するアドレス翻訳は(窓サイズ情
報を再び用いて)ブロック680を介してローカルバス
アドレスから適切な高順位ビットをマスクアウトしかつ
レジスタ688内の遠隔ベースアドレスから同じ数の低
順位ビ・ソトをマスクアウトすることによって保存され
た高順位ビットで残余の低順位ビットを最後にマージす
ることによって発生する。この第2のマスクはブロック
689によって行なわれる。
、ブロック606を介するアドレス翻訳は(窓サイズ情
報を再び用いて)ブロック680を介してローカルバス
アドレスから適切な高順位ビットをマスクアウトしかつ
レジスタ688内の遠隔ベースアドレスから同じ数の低
順位ビ・ソトをマスクアウトすることによって保存され
た高順位ビットで残余の低順位ビットを最後にマージす
ることによって発生する。この第2のマスクはブロック
689によって行なわれる。
ブロック690によって行なわれる(第6図)のが示さ
れるが、マージの結果として、遠隔バスアドレスが展開
される。上で参照された1キロバイトの窓の具体例では
、翻訳されたアドレスは遠隔ベースアドレスレジスタの
内容からのその高順位22ビツトとローカルポートアド
レスレジスタからの低順位の10ビツトとを有し、実際
にアドレス翻訳プロセスにおける適切なポートオフセッ
トを維持する。
れるが、マージの結果として、遠隔バスアドレスが展開
される。上で参照された1キロバイトの窓の具体例では
、翻訳されたアドレスは遠隔ベースアドレスレジスタの
内容からのその高順位22ビツトとローカルポートアド
レスレジスタからの低順位の10ビツトとを有し、実際
にアドレス翻訳プロセスにおける適切なポートオフセッ
トを維持する。
所与の入出力ポートのためのローカルアドレスの幅や他
のポートのためのアドレスの範囲とオーバラップするこ
とは可能である。この場合、最も低い数を有する入出力
ポートがこの発明の好ましい実施例において優先順位を
有する。たとえば、もし入出力ポート0のためのアドレ
ス範囲が入出力ポート2のためのアドレス範囲とオーバ
ラップするなら、入出力ポートOが優先される。入出力
ポートのための遠隔アドレスの範囲もまた他の入出力ポ
ートの範囲とオーバラップしてもよい。しかしなから、
1個の入出力ポートしかいずれのときも遠隔バス上で活
性状態であり得ないので、いかなる競合も存在しない。
のポートのためのアドレスの範囲とオーバラップするこ
とは可能である。この場合、最も低い数を有する入出力
ポートがこの発明の好ましい実施例において優先順位を
有する。たとえば、もし入出力ポート0のためのアドレ
ス範囲が入出力ポート2のためのアドレス範囲とオーバ
ラップするなら、入出力ポートOが優先される。入出力
ポートのための遠隔アドレスの範囲もまた他の入出力ポ
ートの範囲とオーバラップしてもよい。しかしなから、
1個の入出力ポートしかいずれのときも遠隔バス上で活
性状態であり得ないので、いかなる競合も存在しない。
各ポートに関連したポートモードレジスタのスニパバイ
ザモードアクセスオンリ(rsUPJ )ビットはポー
トがユーザモードプログラムによってアクセスされても
よいかどうかを決定する。もしユーザモードアクセス(
USP7”US信号によって示される)がそのSUPと
・ットが1である入出力ごとに試みられるなら、DTC
は要求される遠隔バスアクセスを行なわない。それは”
DERR指示でそのアクセスに対して応答する。関連ポ
ート状態レジスタの保護違反ビットは亭DERR応答の
理由を示すようにセットされる。
ザモードアクセスオンリ(rsUPJ )ビットはポー
トがユーザモードプログラムによってアクセスされても
よいかどうかを決定する。もしユーザモードアクセス(
USP7”US信号によって示される)がそのSUPと
・ットが1である入出力ごとに試みられるなら、DTC
は要求される遠隔バスアクセスを行なわない。それは”
DERR指示でそのアクセスに対して応答する。関連ポ
ート状態レジスタの保護違反ビットは亭DERR応答の
理由を示すようにセットされる。
ローカルバスアドレスのその範囲が入出力ポートのため
のアドレスの幅とオーバラップするようにDMAチャネ
ルを形成することが可能である。
のアドレスの幅とオーバラップするようにDMAチャネ
ルを形成することが可能である。
しかしなから、DTCはDMAチャネルを介して人出力
ポートアクセスを支持しない。もしそのようなアクセス
が試みられるなら、アドレス矛盾が発生しかつDMA転
送がキャンセルされる。適切なチャネル状態レジスタの
アドレス矛盾ビットはその例外の理由を示すようにセッ
トされる。
ポートアクセスを支持しない。もしそのようなアクセス
が試みられるなら、アドレス矛盾が発生しかつDMA転
送がキャンセルされる。適切なチャネル状態レジスタの
アドレス矛盾ビットはその例外の理由を示すようにセッ
トされる。
各入出力ポートの通常の動作は以下のとおりである。
入出力ポートに向けられるロード(R/ ’W/\イ)
では、DTCは遠隔バス上での読出アクセスを行ない(
多数の読出はパッキングが要求されるなら発生し得る)
、アクセスされたデータはそのロードに応答して戻され
る。もし例外が遠隔バスアクセスの間に発生するなら(
たとえば*RBERR応答またはパリティエラーのため
に)、DTCはローカルバス上の”DERRで応答する
。*DERR応答では、関連のポート状態レジスタがそ
の理由を示す。
では、DTCは遠隔バス上での読出アクセスを行ない(
多数の読出はパッキングが要求されるなら発生し得る)
、アクセスされたデータはそのロードに応答して戻され
る。もし例外が遠隔バスアクセスの間に発生するなら(
たとえば*RBERR応答またはパリティエラーのため
に)、DTCはローカルバス上の”DERRで応答する
。*DERR応答では、関連のポート状態レジスタがそ
の理由を示す。
入出力ポートに向けられたストア(R/*Wロー)では
、DTCはストアのために与えられたデータを用いて遠
隔バス上で書込アクセスを行なう(多数の書込がもし送
り込みが要求されるなら発生し得る)。もし遠隔バスア
クセスの間例外が発生ずるなら、DTCはローカルバス
上の*DERRで応答する。*DERR応答の場合、そ
の関連のポート状態レジスタはその理由を示す。
、DTCはストアのために与えられたデータを用いて遠
隔バス上で書込アクセスを行なう(多数の書込がもし送
り込みが要求されるなら発生し得る)。もし遠隔バスア
クセスの間例外が発生ずるなら、DTCはローカルバス
上の*DERRで応答する。*DERR応答の場合、そ
の関連のポート状態レジスタはその理由を示す。
適切な場合、DTCはRISCプロセッサロードマルチ
プルまたはストアマルチプル命令に応答・して入出力ポ
ートを介してバーストモードアクセスを行なうことがで
きる。DTCはバーストモードアクセスを適切に支持す
るために、適切なアドレス増分論理を含む。遠隔バスで
は、この転送はブロックモードして行なわれる。
プルまたはストアマルチプル命令に応答・して入出力ポ
ートを介してバーストモードアクセスを行なうことがで
きる。DTCはバーストモードアクセスを適切に支持す
るために、適切なアドレス増分論理を含む。遠隔バスで
は、この転送はブロックモードして行なわれる。
バーストモードアクセスはローカルバス上の連続したワ
ードアドレスでデータをアクセスするためのみに用いら
れ得る。ローカルバス上のデータ幅は32ビツトである
べきである。4バイトの整数倍または2個のハーフワー
ドが(この発明の好ましい実施例に従えば)転送されな
くてはならないといった制限のもとで、パッキングおよ
び送り込みによってこれらのワードアドレスは遠隔バス
上のより狭い幅のアクセスにまたはそれから変換するこ
とができる。
ードアドレスでデータをアクセスするためのみに用いら
れ得る。ローカルバス上のデータ幅は32ビツトである
べきである。4バイトの整数倍または2個のハーフワー
ドが(この発明の好ましい実施例に従えば)転送されな
くてはならないといった制限のもとで、パッキングおよ
び送り込みによってこれらのワードアドレスは遠隔バス
上のより狭い幅のアクセスにまたはそれから変換するこ
とができる。
もし*LOCK信号が入出力ポートの読出の間活性状態
であるなら、DTCは遠隔バス上で読出−修正−書込ア
クセスを行なう。このアクセスは*RMW出力が読出ア
クセスの初めで断定されるといった点で、他の遠隔バス
アクセスと区別される。*RMWは書込アクセスが読出
−修正−書込シーケンスを終えるまで活性状態のままで
ある。
であるなら、DTCは遠隔バス上で読出−修正−書込ア
クセスを行なう。このアクセスは*RMW出力が読出ア
クセスの初めで断定されるといった点で、他の遠隔バス
アクセスと区別される。*RMWは書込アクセスが読出
−修正−書込シーケンスを終えるまで活性状態のままで
ある。
DTCは*LOCK信号の結果としていかなる特別な暗
黙の順序づけも行なわないが、ただRISCプロセッサ
ロードおよびセット命令によって行なわれる順序づけを
遠隔バスへ通過させるように働くだけである。こうして
、読出−修正−書込シーケンスを終える書込はローカル
バス上の書込の結果発生する。
黙の順序づけも行なわないが、ただRISCプロセッサ
ロードおよびセット命令によって行なわれる順序づけを
遠隔バスへ通過させるように働くだけである。こうして
、読出−修正−書込シーケンスを終える書込はローカル
バス上の書込の結果発生する。
他の同期化プロトコルは当業者によって案出されるかも
しれないが、引用された同時係属出願においてRISC
システムを参照して述べられたこの発明の好ましい実施
例はRISCプロセッサのロードおよびセット意味を実
現することのみができ、かついかなる他の同期化/排他
プロトコルも明示的に支持しない。
しれないが、引用された同時係属出願においてRISC
システムを参照して述べられたこの発明の好ましい実施
例はRISCプロセッサのロードおよびセット意味を実
現することのみができ、かついかなる他の同期化/排他
プロトコルも明示的に支持しない。
もしポートモードレジスタのオーバラップされた入出力
(010) ビットがセットされるなら、関連した入出
力ポートは先読みおよび後書き動作を遠隔バスへの直接
の続出および書込に代わって行なう。これらの特別な動
作によってローカルバスプロセッサは他の動作を遠隔バ
スアクセスとオーバラップさせることが可能となる。
(010) ビットがセットされるなら、関連した入出
力ポートは先読みおよび後書き動作を遠隔バスへの直接
の続出および書込に代わって行なう。これらの特別な動
作によってローカルバスプロセッサは他の動作を遠隔バ
スアクセスとオーバラップさせることが可能となる。
第7図は先読みおよび後書き動作のためのフローチャー
トを示す。オーバラップされた入出力の説明をする際に
第7図のブロック701−709が参照される。
トを示す。オーバラップされた入出力の説明をする際に
第7図のブロック701−709が参照される。
ポートモードレジスタのOIOビットがまずセットされ
ると(第7図のブロック701)、関連した入出力ポー
トがそれが行なわれるべき遠隔バスアクセス上で待機す
る代わりに次のアクセスに即座に応答するような状態に
置かれる(ブロック702)。もし次のアクセスがロー
ド(読出)であるなら、入出力ポートはそのパック/送
り込みレジスタの内容(それが最も規定されにくい)で
応答する(ブロック703)。もし次のアクセスがスト
ア(書込)なら、その入出力ポートはパック/送り込み
レジスタレジスタの関連したデータをストアする(ブロ
ック704)。ロードとストアの両方で、入出力ポート
はローカルポートアドレスレジスタのアクセスのための
アドレスをバッファする(ブロック709)。
ると(第7図のブロック701)、関連した入出力ポー
トがそれが行なわれるべき遠隔バスアクセス上で待機す
る代わりに次のアクセスに即座に応答するような状態に
置かれる(ブロック702)。もし次のアクセスがロー
ド(読出)であるなら、入出力ポートはそのパック/送
り込みレジスタの内容(それが最も規定されにくい)で
応答する(ブロック703)。もし次のアクセスがスト
ア(書込)なら、その入出力ポートはパック/送り込み
レジスタレジスタの関連したデータをストアする(ブロ
ック704)。ロードとストアの両方で、入出力ポート
はローカルポートアドレスレジスタのアクセスのための
アドレスをバッファする(ブロック709)。
ローカルバスアクセスは遠隔バス上のいずれのアクセス
からも独立して終了する(”DRDYは送り戻される。
からも独立して終了する(”DRDYは送り戻される。
ブロック703および705を参照)。しかしなから、
入出力ポートは最も速い機会(それは遠隔バス調停およ
び他のDTCの作業に依存しているかもしれない)で要
求される遠隔バスアクセスを行なうような状態にある。
入出力ポートは最も速い機会(それは遠隔バス調停およ
び他のDTCの作業に依存しているかもしれない)で要
求される遠隔バスアクセスを行なうような状態にある。
先読みまたは後書きを行なうために、入出力ポートはロ
ーカルポートアドレスレジスタ(このレジスタは逆の翻
訳を要求せずに例外の場合に回復を許容するために翻訳
されていないアドレスを保持する)においてアドレスを
翻訳する。次に、先読みでは、入出力ポートは翻訳され
たアドレスを用いて遠隔バス続出を行なう(ブロック7
o6)。
ーカルポートアドレスレジスタ(このレジスタは逆の翻
訳を要求せずに例外の場合に回復を許容するために翻訳
されていないアドレスを保持する)においてアドレスを
翻訳する。次に、先読みでは、入出力ポートは翻訳され
たアドレスを用いて遠隔バス続出を行なう(ブロック7
o6)。
こめ続出のためのデータは読出が終わると(パッキング
が行なわれるかもしれないことに注目されたい)、パッ
ク/送り込みレジスタにストアされる(ブロック707
)。後書きでは、入出力ポートは翻訳されたアドレスを
用いて遠隔バス書込を行なう(ブロック708)。この
書込のためのデータはパック/送り込みレジスタによっ
て与えられるおよび送り込みが行なわれるがもじれない
)。
が行なわれるかもしれないことに注目されたい)、パッ
ク/送り込みレジスタにストアされる(ブロック707
)。後書きでは、入出力ポートは翻訳されたアドレスを
用いて遠隔バス書込を行なう(ブロック708)。この
書込のためのデータはパック/送り込みレジスタによっ
て与えられるおよび送り込みが行なわれるがもじれない
)。
入出力ポートが遠隔バス上で先読みまたは後書きを行な
っている間、それはローカルバスから第2のアクセスを
受取らない(DTCは内部レジスタの他の入出力ポート
へのアクセスを受取るがもしれないが)。入出力ポート
は遠隔バスアクセスが終わった後にのみ第2のローカル
バスアクセスを受取る。通常、第2のアクセスは第1の
ものと同じ型のものである(読出または書込)。
っている間、それはローカルバスから第2のアクセスを
受取らない(DTCは内部レジスタの他の入出力ポート
へのアクセスを受取るがもしれないが)。入出力ポート
は遠隔バスアクセスが終わった後にのみ第2のローカル
バスアクセスを受取る。通常、第2のアクセスは第1の
ものと同じ型のものである(読出または書込)。
もし他の入出力ポートのアクセスが先読みまたは後書き
が始まる前に活性状態になるなら(すなわちもし遠隔バ
スを求めて争う他のアクセスが存在するなら)、第2の
アクセスは第2のアクセスが終わるまで阻止される。
が始まる前に活性状態になるなら(すなわちもし遠隔バ
スを求めて争う他のアクセスが存在するなら)、第2の
アクセスは第2のアクセスが終わるまで阻止される。
先読みの場合、同様の入出力ポートへの第2の読出はデ
ータを第1の読出から得、かつ第2の遠隔バス読出のた
めのアドレスを供給する。後書きの場合、同様の入出力
ポートへの第2の書込は付加のデータおよび第2の遠隔
バス書込のための第2のアドレスをバッファする。両方
の場合、もし第1の遠隔バスアクセスの間例外が発生し
たなら、DTCは寧DERRの指示で第2のローカルバ
スアクセスに応答する(関連のポート状態レジスタは例
外の理由を示す)。
ータを第1の読出から得、かつ第2の遠隔バス読出のた
めのアドレスを供給する。後書きの場合、同様の入出力
ポートへの第2の書込は付加のデータおよび第2の遠隔
バス書込のための第2のアドレスをバッファする。両方
の場合、もし第1の遠隔バスアクセスの間例外が発生し
たなら、DTCは寧DERRの指示で第2のローカルバ
スアクセスに応答する(関連のポート状態レジスタは例
外の理由を示す)。
先読みおよび後書きの動作のシーケンスはすべてのアク
セスが終わるまで続く。後書きが比較的真直ぐな行ない
を有する間、先読みはすべてのデータを転送するために
シーケンスの始めと終わりで付加のアクセスを要求する
。先読みは最初のローカルバス読出を要求し、第1の遠
隔バス読出のためのアドレスを与える。さらに、シーケ
ンスにおける最後のローカルバス読出はたとえこのアク
セスが不必要であっても遠隔バス上にアクセスを発生す
る。
セスが終わるまで続く。後書きが比較的真直ぐな行ない
を有する間、先読みはすべてのデータを転送するために
シーケンスの始めと終わりで付加のアクセスを要求する
。先読みは最初のローカルバス読出を要求し、第1の遠
隔バス読出のためのアドレスを与える。さらに、シーケ
ンスにおける最後のローカルバス読出はたとえこのアク
セスが不必要であっても遠隔バス上にアクセスを発生す
る。
読出および書込は先読みおよび後書きの間効果的に混ざ
り会うことができない。もし読出が以前に後書きを行な
っていたポートに対して行なわれるなら、得られるデー
タは規定されない。もし書込が以前に先読みを行なって
いたポートに対して行なわれるなら、パック/送り込み
レジスタに保持されるデータは破壊される。この発明の
好ましい実施例に従えば、ソフトウェアは所望の動作の
ための続出および書込の正しいシーケンスを発生させる
ことに責任がある。特に読出−修正−書込シーケンスは
先読みまたは後書きを行なうために形成されるポートに
よって適切に行なわれ得ないことに注目すべきである。
り会うことができない。もし読出が以前に後書きを行な
っていたポートに対して行なわれるなら、得られるデー
タは規定されない。もし書込が以前に先読みを行なって
いたポートに対して行なわれるなら、パック/送り込み
レジスタに保持されるデータは破壊される。この発明の
好ましい実施例に従えば、ソフトウェアは所望の動作の
ための続出および書込の正しいシーケンスを発生させる
ことに責任がある。特に読出−修正−書込シーケンスは
先読みまたは後書きを行なうために形成されるポートに
よって適切に行なわれ得ないことに注目すべきである。
もし先読みおよび後書きを用いて読出と書込を混合する
ことが所望であるなら、2個の入出力ポートが用いられ
なくてはならない。1つの入出力ポートは先読みのため
に用いられかつ他方の入出力ポートは後書きのために用
いられる。しかしなから、最終的な性能は遠隔バスの容
量によって制限されるかもしれない。
ことが所望であるなら、2個の入出力ポートが用いられ
なくてはならない。1つの入出力ポートは先読みのため
に用いられかつ他方の入出力ポートは後書きのために用
いられる。しかしなから、最終的な性能は遠隔バスの容
量によって制限されるかもしれない。
DTCによって支持されるプログラムされた入出力の説
明を終えるために、首尾よく転送を終えることを妨げる
、プログラムされた入出力転送の間に多数の例外が発生
することに注目すべきである。もしプログラムされた入
出力転送の間に例外が発生するなら、DTCは*DER
R指示でローカルバス上で応答する。以下の例外は適切
な優先順位でプログラムされた入出力転送の間に発生す
るかもしれない。すなわち、 1、 保護違反。ユーザモードプログラム(USP/”
US信号によって示される)はスーパバイザモードアク
セスのみのためにセットされる入出力ポートへのアクセ
スを試みるか、または内部DTCレジスタをアクセスす
るように試みる。
明を終えるために、首尾よく転送を終えることを妨げる
、プログラムされた入出力転送の間に多数の例外が発生
することに注目すべきである。もしプログラムされた入
出力転送の間に例外が発生するなら、DTCは*DER
R指示でローカルバス上で応答する。以下の例外は適切
な優先順位でプログラムされた入出力転送の間に発生す
るかもしれない。すなわち、 1、 保護違反。ユーザモードプログラム(USP/”
US信号によって示される)はスーパバイザモードアク
セスのみのためにセットされる入出力ポートへのアクセ
スを試みるか、または内部DTCレジスタをアクセスす
るように試みる。
2゜ アドレス指定エラー。内部レジスタアクセスの
ためのオフセットは実現されていないレジスタに対応す
る。
ためのオフセットは実現されていないレジスタに対応す
る。
3、 パリティエラー。DTCは転送の間無効なパリテ
ィを検出する。パリティはデータが遠隔バスから受取ら
れた直後にチエツクされる。パリティはローカルバスか
らのプログラムされた入出力書込のためにはチェックさ
れない。
ィを検出する。パリティはデータが遠隔バスから受取ら
れた直後にチエツクされる。パリティはローカルバスか
らのプログラムされた入出力書込のためにはチェックさ
れない。
4、 遠隔バスエラー。*RBERR応答は遠隔バス転
送に受取られる。
送に受取られる。
5、 データ幅例外。入出力ポート転送に対するDSA
CKO−DSACKIの応答は遠隔バスデバイスまたは
メモリが要求された幅の転送を取扱うことができないか
、DTC内部レジスタへのバイトまたはハーフワードア
クセスが試みられることを示す。
CKO−DSACKIの応答は遠隔バスデバイスまたは
メモリが要求された幅の転送を取扱うことができないか
、DTC内部レジスタへのバイトまたはハーフワードア
クセスが試みられることを示す。
例外が*DERRで報告されると、グローバル状態レジ
スタは入出力ポートのどれが例外に遭遇したかを示すか
、または例外が内部レジスタアクセスにおいて発生した
かを示すようにセットされる。もし例外が入出力ポート
アクセスで発生したなら、示された入出力ポートのポー
ト状態レジスタは例外の理由を示す。
スタは入出力ポートのどれが例外に遭遇したかを示すか
、または例外が内部レジスタアクセスにおいて発生した
かを示すようにセットされる。もし例外が入出力ポート
アクセスで発生したなら、示された入出力ポートのポー
ト状態レジスタは例外の理由を示す。
先読みまたは後書きを実現する入出力ポートの場合、そ
の報告された例外は最も最近の遠隔バスアクセスで発生
した。ローカルポートアドレスレジスタはこのアクセス
のための翻訳されていないアドレスを含みかつもし可能
ならアクセスを再スタートさせるためにソフトウェアに
よって用いられてもよい。書込では、アクセスを再スタ
ートさせるため用いられるデータはパック/送り込みレ
ジスタによって保持される。すべての他の場合、プログ
ラムされた入出力アクセスに関する情報はRISCプロ
セッサチャネルアドレスとチャネルデータとチャネル制
御レジスタとに含まれ、そしてこれらのレジスタによっ
て再スタートされ得る。
の報告された例外は最も最近の遠隔バスアクセスで発生
した。ローカルポートアドレスレジスタはこのアクセス
のための翻訳されていないアドレスを含みかつもし可能
ならアクセスを再スタートさせるためにソフトウェアに
よって用いられてもよい。書込では、アクセスを再スタ
ートさせるため用いられるデータはパック/送り込みレ
ジスタによって保持される。すべての他の場合、プログ
ラムされた入出力アクセスに関する情報はRISCプロ
セッサチャネルアドレスとチャネルデータとチャネル制
御レジスタとに含まれ、そしてこれらのレジスタによっ
て再スタートされ得る。
DTCによって支持さるDMA転送が次に詳細に説明さ
れる。
れる。
以下の説明において用いられるように、「直接メモリア
クセスJ (DMA)という言葉(または省略記号)
はRISCプロセッサにおける命令実行から独立してい
るアクセスまたはデータ転送を表わす。この言葉はいく
らか不正確であり、というのもDMA転送は必ずしもロ
ーカルバス上のメモリをアクセスしないからである。い
くつかの場合においては、遠隔バスデータはRISCプ
ロセッサがキューにおいてデータを直接に扱って、DT
CのDMAキューにおよびそこから転送される。
クセスJ (DMA)という言葉(または省略記号)
はRISCプロセッサにおける命令実行から独立してい
るアクセスまたはデータ転送を表わす。この言葉はいく
らか不正確であり、というのもDMA転送は必ずしもロ
ーカルバス上のメモリをアクセスしないからである。い
くつかの場合においては、遠隔バスデータはRISCプ
ロセッサがキューにおいてデータを直接に扱って、DT
CのDMAキューにおよびそこから転送される。
しかしなから、一般に利用されている言葉の中で、「直
接メモリアクセス」および「DMAJはDTCによって
実現される機能を最もよく表わしている。
接メモリアクセス」および「DMAJはDTCによって
実現される機能を最もよく表わしている。
上で述べられたように、DMA転送はDTCによって実
現された4個のDMAチャネルを介して発生する。これ
らのチャネルの各々は特定のデータ転送を行なうために
RISCプロセッサによって初期設定されかつ実際の転
送はプロセッサによってさらなる干渉なしに起こる。も
しそうするために可能化されるなら、チャネルは転送が
通常通りに終わるかまたは例外のためにキャンセルされ
るかするとプロセッサ割込を発生するかもしれない(”
lNTRを断定することによって)。
現された4個のDMAチャネルを介して発生する。これ
らのチャネルの各々は特定のデータ転送を行なうために
RISCプロセッサによって初期設定されかつ実際の転
送はプロセッサによってさらなる干渉なしに起こる。も
しそうするために可能化されるなら、チャネルは転送が
通常通りに終わるかまたは例外のためにキャンセルされ
るかするとプロセッサ割込を発生するかもしれない(”
lNTRを断定することによって)。
DMA転送はほとんどプロセッサの干渉を必要としない
ので、大量のデータがプロセッサの実行と同時転送され
得る。たとえば、多重プログラミングまたはタスク多重
化状況において、所与のプロセスがデータ転送を終える
ためにDMAチャネルを待機している間に他の処理が実
行されてもよい。
ので、大量のデータがプロセッサの実行と同時転送され
得る。たとえば、多重プログラミングまたはタスク多重
化状況において、所与のプロセスがデータ転送を終える
ためにDMAチャネルを待機している間に他の処理が実
行されてもよい。
DTCのDMAチャネルは広い範囲の柔軟性を支持する
ように設計される。DMA転送の性能はDTCプロセッ
サとRISCプロセッサの間のローカルバス資源のため
の競合を制限するための規定で、ローカルバスおよび遠
隔バスの双方上で最大にされる。
ように設計される。DMA転送の性能はDTCプロセッ
サとRISCプロセッサの間のローカルバス資源のため
の競合を制限するための規定で、ローカルバスおよび遠
隔バスの双方上で最大にされる。
ローカルバス上のDMA転送はDMAキューによって与
えられる大規模なバッファリングのために、遠隔バス上
の転送とは比較的独立している。
えられる大規模なバッファリングのために、遠隔バス上
の転送とは比較的独立している。
これはDMAチャネルの編成において反映され、すなわ
ち多くのレジスタはDMAチャネルのローカルバス側か
または遠隔バス側のみにもたらされる。第8図はDMA
チャネルのデータフロー図を示す。
ち多くのレジスタはDMAチャネルのローカルバス側か
または遠隔バス側のみにもたらされる。第8図はDMA
チャネルのデータフロー図を示す。
第8図は示されたDMAチャネルへの(ライン801)
またはそこからの(リンク802)D。
またはそこからの(リンク802)D。
−D31(およびパリティピット)上のデータを示す。
入ってくるデータはMUX803を介してチャネルのた
めに64ワードキユー804に多重化される。明らかに
、DTCを作る際にはより大きいかまたはより小さなキ
ューでも用いられ得る。データはパック/送り込みレジ
スタ(805)およびMUX806を介してキューから
およびパック/送り込み回路網に流れる。MUX806
はデータがキュー804からパック/送り込み回路網に
出力されることを可能にするのに加えて、レジスタ80
5とMUX803を介してパック/送り込み回路網から
キュー804にデータをチャネル動作させるように働く
。
めに64ワードキユー804に多重化される。明らかに
、DTCを作る際にはより大きいかまたはより小さなキ
ューでも用いられ得る。データはパック/送り込みレジ
スタ(805)およびMUX806を介してキューから
およびパック/送り込み回路網に流れる。MUX806
はデータがキュー804からパック/送り込み回路網に
出力されることを可能にするのに加えて、レジスタ80
5とMUX803を介してパック/送り込み回路網から
キュー804にデータをチャネル動作させるように働く
。
ローカルバス上ではDMA転送はRISCシステムのデ
ータメモリアドレス空間に対してのみ発生することに注
目すべきである。
ータメモリアドレス空間に対してのみ発生することに注
目すべきである。
遠隔からローカルへのDMA転送では、チャネルモード
レジスタによって指定されかつ遠隔アドレスレジスタに
よってトラッキングされたアドレス指定パターンで、デ
ータは遠隔バスから読出される。転送されたバイトの数
は遠隔バイトカウントレジスタによってトラッキングさ
れる。このデータは適切なりMA中に置かれ(おそらく
パッキングの後に)そしてローカルバス転送が不能化さ
れているときを除いてローカルバスに引き続き転送され
、その場合データはローカルバス上のプロセッサによっ
て転送されるかまたは検査される。
レジスタによって指定されかつ遠隔アドレスレジスタに
よってトラッキングされたアドレス指定パターンで、デ
ータは遠隔バスから読出される。転送されたバイトの数
は遠隔バイトカウントレジスタによってトラッキングさ
れる。このデータは適切なりMA中に置かれ(おそらく
パッキングの後に)そしてローカルバス転送が不能化さ
れているときを除いてローカルバスに引き続き転送され
、その場合データはローカルバス上のプロセッサによっ
て転送されるかまたは検査される。
ローカルバス転送のためのアドレスは常にシーケンシャ
ルにワードアドレスを増加させかつローカルアドレスレ
ジスタによってトラッキングされる。転送されるバイト
の数はローカルバイトカウントレジスタによってトラッ
キングされる。
ルにワードアドレスを増加させかつローカルアドレスレ
ジスタによってトラッキングされる。転送されるバイト
の数はローカルバイトカウントレジスタによってトラッ
キングされる。
遠隔バス転送は遠隔バイトカウントが終了カウントレジ
スタにおける値と一致するまで続く。それに引き続きロ
ーカルバス転送はローカルバイトカウントが終了カウン
トレジスタの値と一致するまで続く (DMAキューに
おいてバッファされるデータのために)。ローカルバイ
トカウントが終了カウントと一致すると、転送が終了し
かつ可能化されるなら*lNTRが断定される。
スタにおける値と一致するまで続く。それに引き続きロ
ーカルバス転送はローカルバイトカウントが終了カウン
トレジスタの値と一致するまで続く (DMAキューに
おいてバッファされるデータのために)。ローカルバイ
トカウントが終了カウントと一致すると、転送が終了し
かつ可能化されるなら*lNTRが断定される。
ローカルから遠隔へのDMA転送では、データはローカ
ルアドレスレジスタによってトラッキングされるアドレ
ス指定パターンをシーケンシャルに増加させて、(ロー
カルバス転送が不能化され、その場合データがローカル
バス上のプロセッサによってロードされるときを除いて
)ローカルバスから読出される。転送されるバイトの数
は適切なりMAキューによってトラッキングされかつシ
ーケンシャルに遠隔バスに転送される(おそらく送り込
みで)。
ルアドレスレジスタによってトラッキングされるアドレ
ス指定パターンをシーケンシャルに増加させて、(ロー
カルバス転送が不能化され、その場合データがローカル
バス上のプロセッサによってロードされるときを除いて
)ローカルバスから読出される。転送されるバイトの数
は適切なりMAキューによってトラッキングされかつシ
ーケンシャルに遠隔バスに転送される(おそらく送り込
みで)。
遠隔バス転送のためのアドレスはチャネルモードレジス
タによって指定されかつ遠隔アドレスレジスタによって
トラッキングされるアドレス指定パターンを有する。転
送されるバイトの数は遠隔バイトカウントレジスタによ
ってトラッキングされる。
タによって指定されかつ遠隔アドレスレジスタによって
トラッキングされるアドレス指定パターンを有する。転
送されるバイトの数は遠隔バイトカウントレジスタによ
ってトラッキングされる。
ローカルバス転送はローカルバイトカウントが終了カウ
ントレジスタの値に一致するまで続けられる。次に遠隔
バス転送は遠隔バイトカウントが終了カウントレジスタ
の値と一致するまで続く(DMAキューにおいてバッフ
ァされるデータのために)。遠隔バイトカウントが終了
カウントに一致するとき、その転送は終了し、可能化さ
れるなら”lNTRが断定される。
ントレジスタの値に一致するまで続けられる。次に遠隔
バス転送は遠隔バイトカウントが終了カウントレジスタ
の値と一致するまで続く(DMAキューにおいてバッフ
ァされるデータのために)。遠隔バイトカウントが終了
カウントに一致するとき、その転送は終了し、可能化さ
れるなら”lNTRが断定される。
各MDAチャネルがそれがローカルと遠隔バスとの間で
転送される間データをバッファする関連したDMAキュ
ーを有する。この発明の好ましい実施例に従えば、これ
らのキューの各々はサイズが256バイトでありかつ6
4ワードで編成される。再び、ワードのみがローカルバ
ス上のキューにおよびキューから転送される。遠隔バス
上では、パッキングおよび送り込み動作のためワードと
ハーフワードとバイトが転送されてもよい。DMAキュ
ーはこれより先に論じられる2つの目的に適う。
転送される間データをバッファする関連したDMAキュ
ーを有する。この発明の好ましい実施例に従えば、これ
らのキューの各々はサイズが256バイトでありかつ6
4ワードで編成される。再び、ワードのみがローカルバ
ス上のキューにおよびキューから転送される。遠隔バス
上では、パッキングおよび送り込み動作のためワードと
ハーフワードとバイトが転送されてもよい。DMAキュ
ーはこれより先に論じられる2つの目的に適う。
真のDMA転送では(すなわち実際にローカルバスメモ
リをアクセスする転送) 、DMAキューによって出さ
れるバッファリングにより、ローカルハスD M A
転送はローカルバスのバーストモード能力を用いて10
0メガバイト/秒までの範囲で進むことが可能となる。
リをアクセスする転送) 、DMAキューによって出さ
れるバッファリングにより、ローカルハスD M A
転送はローカルバスのバーストモード能力を用いて10
0メガバイト/秒までの範囲で進むことが可能となる。
全体のキューの内容は単一のバーストモードストアによ
って転送されるかまたはキューはバーストモードロード
で全て満たされてもよい。
って転送されるかまたはキューはバーストモードロード
で全て満たされてもよい。
バーストモードアクセスを支持するに加えて、DMAキ
ューはDMA転送のためののローカルバス獲得の影響を
減する。2個のサイクルが通常ローカルバスを獲得しか
つ放棄するために必要とされかつローカルバスはこれら
のサイクルの開用いられ得ない。もし1ワードのみが各
獲得で転送されたなら、これらのサイクルによって示さ
れたオーバヘッドは比較的高いであろう。64ワ=ドも
のワードが1つの獲得で転送されることを可能にするこ
とによって、DMAキューはこのオーバヘッドを最小に
するのを助ける。
ューはDMA転送のためののローカルバス獲得の影響を
減する。2個のサイクルが通常ローカルバスを獲得しか
つ放棄するために必要とされかつローカルバスはこれら
のサイクルの開用いられ得ない。もし1ワードのみが各
獲得で転送されたなら、これらのサイクルによって示さ
れたオーバヘッドは比較的高いであろう。64ワ=ドも
のワードが1つの獲得で転送されることを可能にするこ
とによって、DMAキューはこのオーバヘッドを最小に
するのを助ける。
DMAキューの第1の目的はRISCプロセッサによる
直接の操作のためのバッファ区域を提供することである
。いくつかのシステムでは、プロセッサがDMAキュー
において直接に遠隔バスに転送されるべきデータをアセ
ンブルしかつDMAキューから直接に遠隔バスから転送
されるデータを読出すことが有利である。この場合、D
MAキューはローカルバスメモリの延長として現われる
ように構成される。これによってローカルバスメモリへ
のまたはローカルバスメモリからの余分な転送に含まれ
る待ち時間が避けられる。しかしなから、直接の転送は
含まれるデータがDMAキューによって提供される64
ワードの区域に適合するときのみ直接の転送が適切であ
る。
直接の操作のためのバッファ区域を提供することである
。いくつかのシステムでは、プロセッサがDMAキュー
において直接に遠隔バスに転送されるべきデータをアセ
ンブルしかつDMAキューから直接に遠隔バスから転送
されるデータを読出すことが有利である。この場合、D
MAキューはローカルバスメモリの延長として現われる
ように構成される。これによってローカルバスメモリへ
のまたはローカルバスメモリからの余分な転送に含まれ
る待ち時間が避けられる。しかしなから、直接の転送は
含まれるデータがDMAキューによって提供される64
ワードの区域に適合するときのみ直接の転送が適切であ
る。
DMAキューはこの発明の好ましい実施例において25
6ワードアレイによって実現され、これは4つの64ワ
ードの部分に分けられる。そのキューはローカルバス上
の内部レジスタとして目視可能である。
6ワードアレイによって実現され、これは4つの64ワ
ードの部分に分けられる。そのキューはローカルバス上
の内部レジスタとして目視可能である。
各DMAチャネルに関連したキュー状態レジスタ(以前
に説明されている)は関連したDMAキ二一ニー態を与
える。キュー状態レジスタはキューの前でワードのアド
レスを含むキューヘッド(QH)フィールドと、キュー
の最後で(空の)ワードのアドレスを含むキューテイル
(QT)フィールドとを含む。
に説明されている)は関連したDMAキ二一ニー態を与
える。キュー状態レジスタはキューの前でワードのアド
レスを含むキューヘッド(QH)フィールドと、キュー
の最後で(空の)ワードのアドレスを含むキューテイル
(QT)フィールドとを含む。
DMAチャネルがDMA転送を行なうために初期設定さ
れると(チャネル状態レジスタにおいてRSTビットを
セットすることによって) 、QHおよびQTフィール
ドの両方が0にセットされる。
れると(チャネル状態レジスタにおいてRSTビットを
セットすることによって) 、QHおよびQTフィール
ドの両方が0にセットされる。
DMA転送の間、データはQTフィールドによって識別
される位置でキューに置かれ、そしてQTフィールドは
データが書込まれると1だけ増分される。QTフィール
ドはこうして常にキュー内の次の空の位置を指す。デー
タはQHフィールドによって識別されるデータでキュー
から除去されかつQHフィールドはデータが読出される
と1だけ増分される。QHフィールドT、、;1こうし
てキューが空のときを除いて次の有効のキュー位置を指
す。
される位置でキューに置かれ、そしてQTフィールドは
データが書込まれると1だけ増分される。QTフィール
ドはこうして常にキュー内の次の空の位置を指す。デー
タはQHフィールドによって識別されるデータでキュー
から除去されかつQHフィールドはデータが読出される
と1だけ増分される。QHフィールドT、、;1こうし
てキューが空のときを除いて次の有効のキュー位置を指
す。
QHフィールドの値は空のDMAキューに対してのみQ
Tフィールドの値に等しい。−杯のキューはその値がQ
Hフィールドの値より少ない(モジュロ64)QTフィ
ールドによって識別される。
Tフィールドの値に等しい。−杯のキューはその値がQ
Hフィールドの値より少ない(モジュロ64)QTフィ
ールドによって識別される。
空と、部分的に一杯と、−杯のキューのためのQHポイ
ンタとQTポインタとの関係が第9図に示される。
ンタとQTポインタとの関係が第9図に示される。
DMA−1−ニーがパターンを転送するために用いられ
ると(すなわちチャネルモードレジスタのキューバター
ンビットがセットされると)、QHフィールドはパター
ンを含むキューの位置(その位置はパターンで明示的に
書込まれなくてはならない)を識別する。QHフィール
ドはパターンが転送されると変化されない。この構造で
は、QTフィールドの値は重要ではない。
ると(すなわちチャネルモードレジスタのキューバター
ンビットがセットされると)、QHフィールドはパター
ンを含むキューの位置(その位置はパターンで明示的に
書込まれなくてはならない)を識別する。QHフィール
ドはパターンが転送されると変化されない。この構造で
は、QTフィールドの値は重要ではない。
キュー状態レジスタはキューの状態を変化するために書
込まれるかもしれないが、これはもしDMA転送が進行
中なら予想できない影響を有するかもしれない。
込まれるかもしれないが、これはもしDMA転送が進行
中なら予想できない影響を有するかもしれない。
DMA転送は種々の制御状態および形態に従っている。
これらの条件および形態そしてそれらがどのようにロー
カルバスと遠隔バスの両方上のDMA転送に関係するか
が次に述べられる。
カルバスと遠隔バスの両方上のDMA転送に関係するか
が次に述べられる。
DMAチャネルはグローバルモードレジスタの適切なチ
ャネルビットをセットすることによって可能化および不
能化される。不能化されたDMAチャネルは他の可能化
条件に関係なく転送を行なうのが妨げられる。可能化さ
れたDMAチャネルはもし他の状態が転送が起こる得り
ようなものなら転送を行なうことができる。これらは後
に述べられる。可能化されたDMAチャネルが有効な転
送のために形成されているということが仮定される。
ャネルビットをセットすることによって可能化および不
能化される。不能化されたDMAチャネルは他の可能化
条件に関係なく転送を行なうのが妨げられる。可能化さ
れたDMAチャネルはもし他の状態が転送が起こる得り
ようなものなら転送を行なうことができる。これらは後
に述べられる。可能化されたDMAチャネルが有効な転
送のために形成されているということが仮定される。
可能化されたDMAチャネルのDMA転送は所与の時間
で以下の動作状態のうちのいずれかであってよい。
で以下の動作状態のうちのいずれかであってよい。
1、 ベンディング。DMAチャネルはローカルバスま
たは遠隔バス上で転送を行なうように準備されるが、そ
の転送は実際に起こらない。DMA転送はバスの仲裁の
待ち時間またはより高い優先順位のDMA要求のために
ベンディングであるかもしれない。
たは遠隔バス上で転送を行なうように準備されるが、そ
の転送は実際に起こらない。DMA転送はバスの仲裁の
待ち時間またはより高い優先順位のDMA要求のために
ベンディングであるかもしれない。
2、 活性状態。DMAチャネルはローカルバスかまた
は遠隔バスのいずれかの上でのDMA転送を現在行なっ
ている。
は遠隔バスのいずれかの上でのDMA転送を現在行なっ
ている。
3、 不活性状態。DMA転送はチャネル状態レジスタ
のチャネル活性状態(CA)ビットによって中断される
。このビットはDMAチャネル上でDMA転送を一時的
に中断しかつ再び始めるためにソフトウェアによってリ
セットおよびセットされてもよい。
のチャネル活性状態(CA)ビットによって中断される
。このビットはDMAチャネル上でDMA転送を一時的
に中断しかつ再び始めるためにソフトウェアによってリ
セットおよびセットされてもよい。
4、 終了されている。DMAチャネルはすべての要求
されたアクセスを行なっている。チャネルデータレジス
タのCAビットはDMA転送が終わるとリセットされる
。
されたアクセスを行なっている。チャネルデータレジス
タのCAビットはDMA転送が終わるとリセットされる
。
5、 先取りされている。DMAチャネルはすべての転
送を行なっていないが、転送のシーケンスは一時的に中
断される。多くの場合、この状態はデータフロー制御の
ために起こる。しかしなから、DMA転送はバスの仲裁
や、より高い優先順位のDMA要求や、転送に直接関連
していない他の状態に先取りされる。
送を行なっていないが、転送のシーケンスは一時的に中
断される。多くの場合、この状態はデータフロー制御の
ために起こる。しかしなから、DMA転送はバスの仲裁
や、より高い優先順位のDMA要求や、転送に直接関連
していない他の状態に先取りされる。
6、 キャンセルされる。DMA転送はたとえパリティ
エラーのような成る例外の事象のために、残っているさ
らなる転送が存在しても妨げられる。チャネル状態レジ
スタのCAビットはDMA転送がキャンセルされるとリ
セットされる。
エラーのような成る例外の事象のために、残っているさ
らなる転送が存在しても妨げられる。チャネル状態レジ
スタのCAビットはDMA転送がキャンセルされるとリ
セットされる。
DMA転送が終了するかまたはキャンセルされると、対
応するDMAキューは空にされ(可能であるなら)かつ
関連のチャネル状態レジスタのCAはリセットされ、D
MAチャネルが活性状態になることを引き起こす。この
とき、もしチャネルモードレジスタの割込可能化がセッ
トされかつグローバルモードレジスタのグローバル割込
可能化ビットがセットされるなら、DTCは*lNTR
出力を断定する。これによってRISCプロセッサへの
割込(またはトラップ)が許容される。
応するDMAキューは空にされ(可能であるなら)かつ
関連のチャネル状態レジスタのCAはリセットされ、D
MAチャネルが活性状態になることを引き起こす。この
とき、もしチャネルモードレジスタの割込可能化がセッ
トされかつグローバルモードレジスタのグローバル割込
可能化ビットがセットされるなら、DTCは*lNTR
出力を断定する。これによってRISCプロセッサへの
割込(またはトラップ)が許容される。
ローカルバスと遠隔バスとの間のDMA転送はローカル
バスと遠隔バスとの間の経路におけるいくつかの点でフ
ロー制御(すなわち転送速度制御)に従う。
バスと遠隔バスとの間の経路におけるいくつかの点でフ
ロー制御(すなわち転送速度制御)に従う。
1、 ローカルバスメモリ。ローカルバスメモリは種
々の時間ですべてのDMAチャネルの集合体要求を満た
すための十分な容量を有していなくてもよい。
々の時間ですべてのDMAチャネルの集合体要求を満た
すための十分な容量を有していなくてもよい。
2、 ローカルバースト/ドウニルカウント。ローカ
ルバースト/ドウエルレジスタはローカルバス上で転送
され得るデータの量を制限しかつローカルバスメモリの
容量より厳しいデータのフローの制限を示すかもしれな
い。バースト/ドウニルカウントはDTCによって発生
されるローカルバスのための競合を制限するために設け
られる。
ルバースト/ドウエルレジスタはローカルバス上で転送
され得るデータの量を制限しかつローカルバスメモリの
容量より厳しいデータのフローの制限を示すかもしれな
い。バースト/ドウニルカウントはDTCによって発生
されるローカルバスのための競合を制限するために設け
られる。
3、遠隔バースト/ドウニルカウント。
遠隔バースト/ドウエルレジスタは遠隔バス上で転送さ
れ得るデータの量を制限し、DTCによって発生される
遠隔バスのための競合を制限する。これは1つの要求で
大量のデータが転送されるかもしれない、転送の成るモ
ード(たとえば要求モード)に対してのみあてはまる。
れ得るデータの量を制限し、DTCによって発生される
遠隔バスのための競合を制限する。これは1つの要求で
大量のデータが転送されるかもしれない、転送の成るモ
ード(たとえば要求モード)に対してのみあてはまる。
4、 遠隔バスデバイスまたはメモリ。遠隔バス上のデ
バイスまたはメモリは適切な*DRQO−*DRQ3入
力を用いてデータのフローを制限することができる。さ
らに、データのフローはDSACKO−DSACKl、
またはチャネルモードレジスタの遠隔待機カウントおよ
び遠隔回復カウントによって即座に制限されるかもしれ
ない。
バイスまたはメモリは適切な*DRQO−*DRQ3入
力を用いてデータのフローを制限することができる。さ
らに、データのフローはDSACKO−DSACKl、
またはチャネルモードレジスタの遠隔待機カウントおよ
び遠隔回復カウントによって即座に制限されるかもしれ
ない。
上の1と2の場合、DTCは1個以上のDMAチャネル
の遠隔バス側でフロー制御を行なわなくてはならず、遠
隔側へのローカルバスへの制限を反映する。もしDMA
キューが遠隔バスの書込を満たすためのいかなるデータ
も有さないかまたはDMAキューが遠隔バスの読出のデ
ータを受取るための位置を有さないなら(すなわちそれ
はたった1つの空の位置しか有さない)、DTCはその
状態がもはや存在しなくなるまで”DRQO−*DRQ
3によって要求されるDMA転送を行なわない(および
その要求を肯定応答しない)。
の遠隔バス側でフロー制御を行なわなくてはならず、遠
隔側へのローカルバスへの制限を反映する。もしDMA
キューが遠隔バスの書込を満たすためのいかなるデータ
も有さないかまたはDMAキューが遠隔バスの読出のデ
ータを受取るための位置を有さないなら(すなわちそれ
はたった1つの空の位置しか有さない)、DTCはその
状態がもはや存在しなくなるまで”DRQO−*DRQ
3によって要求されるDMA転送を行なわない(および
その要求を肯定応答しない)。
一般に、上のフロー制御メカニズムのいずれががデータ
のフローを制限し得る。しかしなから、ローカルバスか
または遠隔バスのいずれが上のバースト/ドウエルカウ
ントは進行中のアクセスを先取りすることはできない。
のフローを制限し得る。しかしなから、ローカルバスか
または遠隔バスのいずれが上のバースト/ドウエルカウ
ントは進行中のアクセスを先取りすることはできない。
もしバースト/ドウエル制限が要求されるなら、それは
進行中の転送に続く転送上に課される。
進行中の転送に続く転送上に課される。
チャネルモードレジスタのローカル転送不能化ビットニ
よって可能化されるなら、ローカルバスへのおよびロー
カルバスからのDMA転送はローカルバス上で要求され
ない(それらは遠隔バス上にあるので)。ローカルバス
DMA転送はDMAキューの状態およびDMAチャネル
の動作状態によって活性状態にされる。
よって可能化されるなら、ローカルバスへのおよびロー
カルバスからのDMA転送はローカルバス上で要求され
ない(それらは遠隔バス上にあるので)。ローカルバス
DMA転送はDMAキューの状態およびDMAチャネル
の動作状態によって活性状態にされる。
遠隔からローカルへのDMA転送では、ローカルバス転
送はDMAキューに1つの残余の用いられていないワー
ドが存在するときはいつでもベンディング状態になる。
送はDMAキューに1つの残余の用いられていないワー
ドが存在するときはいつでもベンディング状態になる。
このワードはキューヘッドおよびキューテイルポインタ
が一杯のキューではは等しくされ得ないので満たされ得
ない。通常の状態のもとでは、DMA転送はキューが空
にされるまで活性状態のままである(DMAキューは遠
隔バスから同時に満たされてもよいことに注目されたい
)。しかしなから、転送は上で述べられた他の状態(先
取りやバースト/ドウニルカウントなど)に従う。
が一杯のキューではは等しくされ得ないので満たされ得
ない。通常の状態のもとでは、DMA転送はキューが空
にされるまで活性状態のままである(DMAキューは遠
隔バスから同時に満たされてもよいことに注目されたい
)。しかしなから、転送は上で述べられた他の状態(先
取りやバースト/ドウニルカウントなど)に従う。
ローカルから遠隔への転送では、ローカルバス転送はD
MAキューが1個の転送されていないワードを含むとき
かまたはキューが空のときベンディング状態になる。通
常の状態のもとでは、DMA転送はキューが一杯になる
まで活性状態のままである(DMAキューは遠隔バスか
ら同時に空にされることに注目されたい)。しかしなか
ら、転送はいかなる他の上で論じられた条件にも従う。
MAキューが1個の転送されていないワードを含むとき
かまたはキューが空のときベンディング状態になる。通
常の状態のもとでは、DMA転送はキューが一杯になる
まで活性状態のままである(DMAキューは遠隔バスか
ら同時に空にされることに注目されたい)。しかしなか
ら、転送はいかなる他の上で論じられた条件にも従う。
もし遠隔からローカルへの転送が終わるかまたはキャン
セルされるなら、関連のDMAキューが空1こされなく
てはならない(もしたとえば寧DERRといった例外が
ローカルバスによって引き起こされないなら)。これら
の状態のうちいずれかが起こると、ローカルバス転送は
即座にベンディング状態になりかつDMAキューは*l
NTRが断定される前に空にされる(*lNTRは可能
化されるなら断定されるのみである)。
セルされるなら、関連のDMAキューが空1こされなく
てはならない(もしたとえば寧DERRといった例外が
ローカルバスによって引き起こされないなら)。これら
の状態のうちいずれかが起こると、ローカルバス転送は
即座にベンディング状態になりかつDMAキューは*l
NTRが断定される前に空にされる(*lNTRは可能
化されるなら断定されるのみである)。
各DMAチャネルはすべてここで以前に論じられたが、
転送されるデータの量を制御しかつトラッキングするた
めのいくつかのレジスタを有する。
転送されるデータの量を制御しかつトラッキングするた
めのいくつかのレジスタを有する。
これらは以下のとおりである。
1、 ローカルバイトカウントレジスタ2、 ロー
カルアラームカウントレジスタ3、 遠隔バイトカウン
ト 4、 遠隔アラームカウントレジスタ 5、 終了カウントレジスタ DMA転送が初期設定されると、ローカルバイトカウン
トレジスタおよび遠隔バイトカウントレジスタは共に0
にセットされる。DMA転送が発生すると、各レジスタ
は個々にそれぞれのバスの上で転送されるバイト数をカ
ウントする。ローカルバイトカウントレジスタは4バイ
トの単位でカラントし遠隔バイトカウントレジスタはチ
ャネルモードレジスタのデータ幅フィールドによって決
定される単位でカウントする。
カルアラームカウントレジスタ3、 遠隔バイトカウン
ト 4、 遠隔アラームカウントレジスタ 5、 終了カウントレジスタ DMA転送が初期設定されると、ローカルバイトカウン
トレジスタおよび遠隔バイトカウントレジスタは共に0
にセットされる。DMA転送が発生すると、各レジスタ
は個々にそれぞれのバスの上で転送されるバイト数をカ
ウントする。ローカルバイトカウントレジスタは4バイ
トの単位でカラントし遠隔バイトカウントレジスタはチ
ャネルモードレジスタのデータ幅フィールドによって決
定される単位でカウントする。
DMA転送の間、ローカルバイトカウントレジスタの値
はローカルアラームカウントレジスタの値と比較され遠
隔バイトカウントレジスタの値は遠隔アラームカウント
レジスタの値と比較される。
はローカルアラームカウントレジスタの値と比較され遠
隔バイトカウントレジスタの値は遠隔アラームカウント
レジスタの値と比較される。
ローカルバイトカウントレジスタおよび遠隔バイトカウ
ントレジスタの両方の値は終了カウントレジスタの値と
比較される。
ントレジスタの両方の値は終了カウントレジスタの値と
比較される。
チャネルモードレジスタのローカルアラーム可能化およ
び遠隔アラーム可能化ビットはDTCがローカルまたは
遠隔バイトカウントがそれぞれ対応するアラームカウン
トと一致するかまたはそれを越えると割込を発生するよ
うにする(もしそうでないなら可能化される)。チャネ
ル状態レジスタのローカルアラーム達成かまたは遠隔ア
ラーム達成ビットが割込を引き起こすようにセットされ
る。
び遠隔アラーム可能化ビットはDTCがローカルまたは
遠隔バイトカウントがそれぞれ対応するアラームカウン
トと一致するかまたはそれを越えると割込を発生するよ
うにする(もしそうでないなら可能化される)。チャネ
ル状態レジスタのローカルアラーム達成かまたは遠隔ア
ラーム達成ビットが割込を引き起こすようにセットされ
る。
アラーム割込はDMA転送の特定の点が終了条件のいず
れからも独立して達成されるとRISCプロセッサに割
込むための手段を設ける。たとえば、これはRISCプ
ロセッサに交信パッケージのヘッダ部分が受取られたこ
とを知らせることができ、パッケージの残余のものが転
送されている間ヘッダが検査されることを可能にする。
れからも独立して達成されるとRISCプロセッサに割
込むための手段を設ける。たとえば、これはRISCプ
ロセッサに交信パッケージのヘッダ部分が受取られたこ
とを知らせることができ、パッケージの残余のものが転
送されている間ヘッダが検査されることを可能にする。
終了カウントレジスタの値への比較によってDMAチャ
ネルが終了条件に達したことが示される。
ネルが終了条件に達したことが示される。
DMAキューによって与えられるバッファリングのため
に、DMAチャネルの遠隔バスおよびローカルバス側は
同時に終了カウントに達することはまずない。
に、DMAチャネルの遠隔バスおよびローカルバス側は
同時に終了カウントに達することはまずない。
いずれかの側が終了カウントに達すると、DMAの作業
はそれぞれのバス上で終了される。さらに、遠隔バス側
が遠隔からローカルへの転送で終了カウントに達するな
ら、DMAキューの内容はキューにおけるデータの量に
関係なく、ローカルバスに転送される(そうするように
可能化されるなら)(すなわち、そのキューは空にされ
る)。
はそれぞれのバス上で終了される。さらに、遠隔バス側
が遠隔からローカルへの転送で終了カウントに達するな
ら、DMAキューの内容はキューにおけるデータの量に
関係なく、ローカルバスに転送される(そうするように
可能化されるなら)(すなわち、そのキューは空にされ
る)。
DMA転送のためのローカルまたは遠隔バス上で転送さ
れるバイトの合計数はこのレジスタの値とローカルバス
および遠隔バス上のデータ幅との関係に依存して、終了
カウントレジスタによって指定される数よりわずかに大
きくてもよい。終了カウント値はバイトの単位である。
れるバイトの合計数はこのレジスタの値とローカルバス
および遠隔バス上のデータ幅との関係に依存して、終了
カウントレジスタによって指定される数よりわずかに大
きくてもよい。終了カウント値はバイトの単位である。
もしこのバイトの数がいずれかのバスの転送の整数によ
って転送され得ないなら、データはカウントを越えるま
で転送される。
って転送され得ないなら、データはカウントを越えるま
で転送される。
たとえば、DMA転送が初期設定されるとき終了カウン
トレジスタは値41にセットされかつ遠隔バスデータ幅
は16ビツトであることを考慮されたい。この場合、4
4バイト(117−ド)はローカルバス上で転送されか
つ42バイト(21ハーフワード)は遠隔バス上で転送
されるであろう。
トレジスタは値41にセットされかつ遠隔バスデータ幅
は16ビツトであることを考慮されたい。この場合、4
4バイト(117−ド)はローカルバス上で転送されか
つ42バイト(21ハーフワード)は遠隔バス上で転送
されるであろう。
もしチャネルモードレジスタのローカル転送不能化ビッ
トがセットされてローカルバスへのDMA転送を不能化
するなら、ローカルアドレスレジスタおよびローカルバ
イトカウントレジスタは変化しない。ローカルバイトカ
ウントレジスタの値で行なわれたすべての比較の結果は
不能化されかつ終了条件は遠隔バイトカウントレジスタ
依存する。
トがセットされてローカルバスへのDMA転送を不能化
するなら、ローカルアドレスレジスタおよびローカルバ
イトカウントレジスタは変化しない。ローカルバイトカ
ウントレジスタの値で行なわれたすべての比較の結果は
不能化されかつ終了条件は遠隔バイトカウントレジスタ
依存する。
1より多いDMA要求が特定の瞬間でベンディングして
いるとき矛盾しているDMA要求はDMA要求に優先順
位を付けることによって解決される。DMAチャネル内
の優先順位はグローバルモードレジスタのチャネル優先
順位回転ビットによって制御され、固定されているかま
たは回転しているかのいずれかであり得る。
いるとき矛盾しているDMA要求はDMA要求に優先順
位を付けることによって解決される。DMAチャネル内
の優先順位はグローバルモードレジスタのチャネル優先
順位回転ビットによって制御され、固定されているかま
たは回転しているかのいずれかであり得る。
DMAチャネルの優先順位が固定されているとき、この
発明の好ましい実施例に従えばDMAチャネルの優先順
位はDMAチャネルOが最も高い優先順位を有するよう
に数字の順に固定される。
発明の好ましい実施例に従えばDMAチャネルの優先順
位はDMAチャネルOが最も高い優先順位を有するよう
に数字の順に固定される。
こうして、DMAチャネルOの要求はDMAチャネル1
や以下のものにおける要求よりも優先される。
や以下のものにおける要求よりも優先される。
DMAチャネルの優先順位が回転するとき、DMAチャ
ネルの優先順位は時間の量によって順番が決められ、こ
れは最も最近の転送、すなわち最も長い不活性状態の期
間を有するチャネルに最も高い優先順位が与えられるか
らである。暗示されているように、サイクルごとに各チ
ャネルの要求をスキャンすることによって回転は実現さ
れないことに注目されたい。むしろ、所与のDMAチャ
ネルはそれがDMA転送を始めるや否や最も低い優先順
位が割当てられかつチャネルはそれらの要求が満たされ
ると最も低い優先順位を通って回転する。
ネルの優先順位は時間の量によって順番が決められ、こ
れは最も最近の転送、すなわち最も長い不活性状態の期
間を有するチャネルに最も高い優先順位が与えられるか
らである。暗示されているように、サイクルごとに各チ
ャネルの要求をスキャンすることによって回転は実現さ
れないことに注目されたい。むしろ、所与のDMAチャ
ネルはそれがDMA転送を始めるや否や最も低い優先順
位が割当てられかつチャネルはそれらの要求が満たされ
ると最も低い優先順位を通って回転する。
優先順位化が特定のDMA要求に合うために決定の最後
の段階に影響を及ぼすことに注目されたい。たとえば、
遠隔バス上のDMA読出の要求はもし関連のDMAキュ
ーが一杯であるならたとえチャネルが高い優先順位を有
していても優先順位化の中には含まれないであろう。
の段階に影響を及ぼすことに注目されたい。たとえば、
遠隔バス上のDMA読出の要求はもし関連のDMAキュ
ーが一杯であるならたとえチャネルが高い優先順位を有
していても優先順位化の中には含まれないであろう。
1個以上のDMAチャネルが所与の時間でローカルバス
転送を行なうことができる場合、その矛盾はそのときに
与えるチャネルの優先順位に従って解決される。
転送を行なうことができる場合、その矛盾はそのときに
与えるチャネルの優先順位に従って解決される。
もし入出力ポートアクセスがDMA転送と同時にベンデ
ィングになるなら、入出力ポートは遠隔バスの利用にお
いて優先される。さらに、もし入出力ポートアクセスが
DMA転送が活性状態の間ベンディングになるなら、そ
れは転送を先取りしてもよい。
ィングになるなら、入出力ポートは遠隔バスの利用にお
いて優先される。さらに、もし入出力ポートアクセスが
DMA転送が活性状態の間ベンディングになるなら、そ
れは転送を先取りしてもよい。
DMA転送の間に発生し得るいくつかの例外がある。こ
れらの例外のいずれかによって”lNTR出力が断定さ
れる(もし可能化されるなら)、DMA転送のキャンセ
ルが引き起こされる。遠隔からローカルへの転送では、
DMAキューは*lNTRが断定される前に流される。
れらの例外のいずれかによって”lNTR出力が断定さ
れる(もし可能化されるなら)、DMA転送のキャンセ
ルが引き起こされる。遠隔からローカルへの転送では、
DMAキューは*lNTRが断定される前に流される。
適切な場合の好ましい実施例の優先順位化された順位に
おける以下の例外はDMA転送の間に起こるかもしれな
い。
おける以下の例外はDMA転送の間に起こるかもしれな
い。
1、 パリティエラー。DTCは転送の間無効を検出す
る。パリティはデータがいずれかのバスから受取られた
後すぐにチエツクされ、その結果DMAキューのデータ
は常に有効パリティを有する。
る。パリティはデータがいずれかのバスから受取られた
後すぐにチエツクされ、その結果DMAキューのデータ
は常に有効パリティを有する。
26 遠隔バスエラー。’RBERR応答は遠隔バス
転送に受取られる。
転送に受取られる。
3、 データ幅例外。DMA転送に対するDSACKO
−DSACKI応答は遠隔バスデバイスまたはメモリが
要求された幅の転送を取扱うことができないことを示す
。
−DSACKI応答は遠隔バスデバイスまたはメモリが
要求された幅の転送を取扱うことができないことを示す
。
4、 アドレス矛盾。ローカルバス転送のためのアド
レスは入出力ポートのためのアドレスとオーバラップす
るかまたはチップ選択マツピングレジスタによって認め
られるアドレスである(これは単に活性状態の”CS
E L入力であってもよいことに注目されたい)。これ
によって例外が与えられるまで対応するDMAチャネル
によるさらなるローカルバスの転送は妨げられる。
レスは入出力ポートのためのアドレスとオーバラップす
るかまたはチップ選択マツピングレジスタによって認め
られるアドレスである(これは単に活性状態の”CS
E L入力であってもよいことに注目されたい)。これ
によって例外が与えられるまで対応するDMAチャネル
によるさらなるローカルバスの転送は妨げられる。
56 ローカルバスエラー。*DERR応答はロー
カルバス転送に受取られる。これによって例外が出るま
で対応するDMAチャネルによるさらなるローカルバス
転送が妨げられる。
カルバス転送に受取られる。これによって例外が出るま
で対応するDMAチャネルによるさらなるローカルバス
転送が妨げられる。
6、 処理の最後。*EOP入力は遠隔バス転送の間、
断定される。これはそのシステムに依存してエラーの信
号を送るかまたは送らないかのどちらでもよい。
断定される。これはそのシステムに依存してエラーの信
号を送るかまたは送らないかのどちらでもよい。
”lNTRが断定されると、グローバル状態レジスタは
DMAチャネルのどれが例外に遭遇したかを示す。示さ
れたDMAチャネルのチャネル状態レジスタはその例外
の理由を示す。もし割込が可能化されるなら、例外を報
告するこのレジスタのビットは$lNTRが断定される
ことを引き起こす。それらはその割込を非活性化するた
めにソフトウェアによってリセットされてもよい。また
1個以上のこれらのビットをセットすることによってソ
フトウェアは*lNTRが断定されることを引き起こす
かもしれないことに注目されたい。
DMAチャネルのどれが例外に遭遇したかを示す。示さ
れたDMAチャネルのチャネル状態レジスタはその例外
の理由を示す。もし割込が可能化されるなら、例外を報
告するこのレジスタのビットは$lNTRが断定される
ことを引き起こす。それらはその割込を非活性化するた
めにソフトウェアによってリセットされてもよい。また
1個以上のこれらのビットをセットすることによってソ
フトウェアは*lNTRが断定されることを引き起こす
かもしれないことに注目されたい。
遠隔バスデバイスまたはメモリがどのようにDMA転送
を要求するかが次に述べられる。
を要求するかが次に述べられる。
遠隔バスデバイスまたはメモリはそれが断定されるDM
Aチャネルに依存して、*DRQO−*DRQ3入力の
1つを断定することによってDMA転送を要求する(I
DRQOはDMAチャネル0に応答し、以下同様である
)。DTCは遠隔バス上で要求された転送を行ない、適
切に転送の初めで”DACKO−*DACK3出カの1
つを断定する。
Aチャネルに依存して、*DRQO−*DRQ3入力の
1つを断定することによってDMA転送を要求する(I
DRQOはDMAチャネル0に応答し、以下同様である
)。DTCは遠隔バス上で要求された転送を行ない、適
切に転送の初めで”DACKO−*DACK3出カの1
つを断定する。
デバイスおよびメモリは*DRQO−*DRQ3でデー
タのフローを制御する必要がない。この場合、DMAチ
ャネルは対応する”D RQ O−ゝDRQ3入力を無
視するように構成されることができかっDSACKo−
DsAcKlのような遠隔バス転送でのDTCの動作状
態および他の制限によって決定される速度でデータを転
送する。
タのフローを制御する必要がない。この場合、DMAチ
ャネルは対応する”D RQ O−ゝDRQ3入力を無
視するように構成されることができかっDSACKo−
DsAcKlのような遠隔バス転送でのDTCの動作状
態および他の制限によって決定される速度でデータを転
送する。
DMAチャネルは適切なチャネルモードレジスタのDM
A要求応答モード(DRM)フィールドによって制御さ
れて、3つのモードのうちの1つで対応する*DRQO
−*DRQ3人カに応答する。これらのモードは対応す
る”DRQQ〜*DRQ3入力の断定のためにDMAチ
ャネルの行ないを規定する。
A要求応答モード(DRM)フィールドによって制御さ
れて、3つのモードのうちの1つで対応する*DRQO
−*DRQ3人カに応答する。これらのモードは対応す
る”DRQQ〜*DRQ3入力の断定のためにDMAチ
ャネルの行ないを規定する。
もしチャネルモードレジスタのDRMフィールドが00
であるなら、DMAチャネルが対応する車DRQO−’
DRQ3入力を無視する。もしチャネルがグローバルモ
ードレジスタの適切なチャネル可能化ビットとチャネル
状態レジスタOCAビットによって転送のために可能化
されるなら、チャネルは転送が他の方法で可能なときは
いつでも(DMAキューの状態やチャネルの優先順位等
によって決定される)、データを転送する。
であるなら、DMAチャネルが対応する車DRQO−’
DRQ3入力を無視する。もしチャネルがグローバルモ
ードレジスタの適切なチャネル可能化ビットとチャネル
状態レジスタOCAビットによって転送のために可能化
されるなら、チャネルは転送が他の方法で可能なときは
いつでも(DMAキューの状態やチャネルの優先順位等
によって決定される)、データを転送する。
このモードでは、遠隔バスデバイスまたはメモリに利用
可能なデータフロー制御メカニズムしかDSAI、KO
−DSACKIによってがまたはチャネルモードレジス
タの待機/回復カウントによって提供されない。これら
のメカニズムが遠隔バス容量を用いるので、それらは効
率的でないがもしれない。
可能なデータフロー制御メカニズムしかDSAI、KO
−DSACKIによってがまたはチャネルモードレジス
タの待機/回復カウントによって提供されない。これら
のメカニズムが遠隔バス容量を用いるので、それらは効
率的でないがもしれない。
DTCはそれが遠隔バス上でのDMA転送を始めるとき
たとえ対応するDMA要求が無視されているときでも適
切な”DAKO−”DAK3出カを断定する。
たとえ対応するDMA要求が無視されているときでも適
切な”DAKO−”DAK3出カを断定する。
もしチャネルモードレジスタのDRMフィールドが01
であるなら、DMAチャネルの対応する*DRQO−*
DRQ3入力の各ハイからローへの推移のための単一の
遠隔バス転送を行なう。適切な”DACKO−1DAC
K3出力は転送の初めで(すなわちアドレスサイクルの
間)で断定される。DMA要求入力は同期式遠隔バスの
ための少なくとも1サイクルかまたは同期式の遠隔バス
のための2サイクルの間、それが他のハイからローへの
推移を行なうことができる前に不活性状態でなくてはな
らない。最大のスルーブツトでは、それゆえ、DMA要
求入力は要求される転送が終わる前に断定が解除されな
くてはならない。
であるなら、DMAチャネルの対応する*DRQO−*
DRQ3入力の各ハイからローへの推移のための単一の
遠隔バス転送を行なう。適切な”DACKO−1DAC
K3出力は転送の初めで(すなわちアドレスサイクルの
間)で断定される。DMA要求入力は同期式遠隔バスの
ための少なくとも1サイクルかまたは同期式の遠隔バス
のための2サイクルの間、それが他のハイからローへの
推移を行なうことができる前に不活性状態でなくてはな
らない。最大のスルーブツトでは、それゆえ、DMA要
求入力は要求される転送が終わる前に断定が解除されな
くてはならない。
もしチャネルモードレジスタのDRMフィールドが10
なら、DMAチャネルは適切な”DRQO−*DRQ3
入力が活性状態である限りかつ他の状態により転送が起
こるようにされる限り(たとえば他のチャネルの優先順
位など)遠隔バス転送を行なう。*DACKO−*DA
CK3出力は第1の転送のアドレスサイクルの間断窓さ
れかつ最後の転送が例外であるかもしれないが、すべて
の転送の間活性状態のままである。
なら、DMAチャネルは適切な”DRQO−*DRQ3
入力が活性状態である限りかつ他の状態により転送が起
こるようにされる限り(たとえば他のチャネルの優先順
位など)遠隔バス転送を行なう。*DACKO−*DA
CK3出力は第1の転送のアドレスサイクルの間断窓さ
れかつ最後の転送が例外であるかもしれないが、すべて
の転送の間活性状態のままである。
遠隔バスデバイスまたはメモリは最後の転送でのローか
らハイへの車DSTBの推移の前に、亨DRQO−*D
RQ3を断定解除することによって要求転送を先取りし
てもよい。さらなる転送は後に*DRQO−DRQ3を
再び断定することによって要求されるかもしれない。
らハイへの車DSTBの推移の前に、亨DRQO−*D
RQ3を断定解除することによって要求転送を先取りし
てもよい。さらなる転送は後に*DRQO−DRQ3を
再び断定することによって要求されるかもしれない。
もしDTCが活性状態の要求転送の間転送を終えるかま
たは先取りするなら、適切な”DACKO−*DACK
3出力が最後のデータ転送の間断窓される(”DSTB
の断定と同時に)。しがしなから、もし終結が遠隔バス
からの”EOPに応答しているなら、対応する寧DAC
KO−”DACK3出力は最後の転送の間活性状態のま
まである。
たは先取りするなら、適切な”DACKO−*DACK
3出力が最後のデータ転送の間断窓される(”DSTB
の断定と同時に)。しがしなから、もし終結が遠隔バス
からの”EOPに応答しているなら、対応する寧DAC
KO−”DACK3出力は最後の転送の間活性状態のま
まである。
要求モード転送でのDMAチャネル実行はもしそれが高
い優先順位を有するなら他のチャネル上でDMAのサー
ビスを妨げるかもしれないことに注目すべきである。
い優先順位を有するなら他のチャネル上でDMAのサー
ビスを妨げるかもしれないことに注目すべきである。
回転する優先順位に関しては、チャネルはそれが転送を
始めるや否や最も低い優先順位が割当てられかつ他のチ
ャネルへのサービスを妨げることができない。
始めるや否や最も低い優先順位が割当てられかつ他のチ
ャネルへのサービスを妨げることができない。
上で述べられたこの発明の好ましい実施例は、アドレス
がデータの転送のいかなる数に対しても1度転送される
「ブロック転送」やDMAチャネルがプログラムされて
固定されたパターンを遠隔バスまたはローカルバスに転
送する「パターン転送」といった特別の動作のために構
成されてもよい。
がデータの転送のいかなる数に対しても1度転送される
「ブロック転送」やDMAチャネルがプログラムされて
固定されたパターンを遠隔バスまたはローカルバスに転
送する「パターン転送」といった特別の動作のために構
成されてもよい。
新規のDTCの詳細な説明を締めくくる前に、いくつか
の詳細および全体的なシステムへの考慮が残っている。
の詳細および全体的なシステムへの考慮が残っている。
まず、第1図を参照して簡単に述べられているように(
ユニット105) 、DTCに遠隔バスを付けるために
インターフェイスはオプショナルに利用されてもよい。
ユニット105) 、DTCに遠隔バスを付けるために
インターフェイスはオプショナルに利用されてもよい。
第10図は遠隔データおよびアドレス信号および制御信
号を遠隔システムアドレスやデータおよび制御バスに結
合するための、市場で入手可能なラッチや、ドライバや
、トランシーバおよび制御インターフェイスとの典型的
な遠隔バス接続を示す。しかしなから、いくつかの場合
においては(たとえば遠隔バスへの低価格の接続を提供
するための)、遠隔バスと周辺装置との間の論理をイン
ターフェイスするバスを除去して周辺装置を直接に制御
することが有利であり得る。DTCは入出力ポートまた
はDMAチャネルの1つあたりのプログラム可能バスタ
イミングを支持することによってそのようなシステムの
設計を容易にする。
号を遠隔システムアドレスやデータおよび制御バスに結
合するための、市場で入手可能なラッチや、ドライバや
、トランシーバおよび制御インターフェイスとの典型的
な遠隔バス接続を示す。しかしなから、いくつかの場合
においては(たとえば遠隔バスへの低価格の接続を提供
するための)、遠隔バスと周辺装置との間の論理をイン
ターフェイスするバスを除去して周辺装置を直接に制御
することが有利であり得る。DTCは入出力ポートまた
はDMAチャネルの1つあたりのプログラム可能バスタ
イミングを支持することによってそのようなシステムの
設計を容易にする。
これによって回路をインターフェイスすることによって
実現されるタイミングの必要性がなくなる。
実現されるタイミングの必要性がなくなる。
DTCで制御されたバスタイミングはチャネルモードレ
ジスタかまたはポートモードレジスタの遠隔待機カウン
ト(RWC)と遠隔回復カウント(RRC)フィールド
を介してプログラムされる。
ジスタかまたはポートモードレジスタの遠隔待機カウン
ト(RWC)と遠隔回復カウント(RRC)フィールド
を介してプログラムされる。
RWCフィールドは転送のためデータサイクルでのサイ
クルの数(1サイクル以上)を示す(上で示されるよう
に)。RRCはデータサイクルの最後と次のデータサイ
クルの始まりの間のサイクルの数(0かもしれない)を
指定する(アドレスサイクルは非ブロツクモード転送の
ためのデータサイクルを先導することに注目されたい)
。これらのフィールドによって制御されるタイミングは
チャネルモードレジスタかまたはポートモードレジスタ
のデータサイズ肯定応答不能化(DAD)ビットによっ
て可能化される。
クルの数(1サイクル以上)を示す(上で示されるよう
に)。RRCはデータサイクルの最後と次のデータサイ
クルの始まりの間のサイクルの数(0かもしれない)を
指定する(アドレスサイクルは非ブロツクモード転送の
ためのデータサイクルを先導することに注目されたい)
。これらのフィールドによって制御されるタイミングは
チャネルモードレジスタかまたはポートモードレジスタ
のデータサイズ肯定応答不能化(DAD)ビットによっ
て可能化される。
DTC制御されたバスのタイミングが特定の入出力ポー
トまたはMDAチャネルのために可能化されるなら、D
TCは入出力ポートまたはチャネルを介するいかなる遠
隔バスアクセスでもDSACKO−DSACKIを無視
し、遠隔バス上のアクセスの時間を定めるためにRWC
およびRRCフィールドの値に依存する。DSACKO
−DSACKIは無視されるので、適当なデータ幅が適
切なチャネルモードレジスタまたはポートモードレジス
タにおいてプログラムされなくてはならない。
トまたはMDAチャネルのために可能化されるなら、D
TCは入出力ポートまたはチャネルを介するいかなる遠
隔バスアクセスでもDSACKO−DSACKIを無視
し、遠隔バス上のアクセスの時間を定めるためにRWC
およびRRCフィールドの値に依存する。DSACKO
−DSACKIは無視されるので、適当なデータ幅が適
切なチャネルモードレジスタまたはポートモードレジス
タにおいてプログラムされなくてはならない。
DTCはさらにそれがバスタイミングを発生するために
可能化されると、”EBERRおよび*EOPに応答す
る。これらの信号のいずれかの断定によってWRCフィ
ールドの値に関係なくデータサイクルが終了しかつその
断定はその他では普通の効果を有する。
可能化されると、”EBERRおよび*EOPに応答す
る。これらの信号のいずれかの断定によってWRCフィ
ールドの値に関係なくデータサイクルが終了しかつその
断定はその他では普通の効果を有する。
次に、遠隔バスの論理動作はバスが同期式の動作を有し
ているかまたは非同期式の動作を有しているかに依存し
ていないことを理解すべきである。
ているかまたは非同期式の動作を有しているかに依存し
ていないことを理解すべきである。
アクセスを制御するために用いられる信号はどの場合に
おいても同じ翻訳を有する。しかしなから、同期式バス
と比較して非同期式バスの物理的実現には本質的な2つ
の違いがある。すなわち、1、 非同期式バスを制御す
るDTCの入力は準安定状態に対する保護を有する。こ
の保護バスアクセスに要する時間を増す、内部同期化を
必要とする。
おいても同じ翻訳を有する。しかしなから、同期式バス
と比較して非同期式バスの物理的実現には本質的な2つ
の違いがある。すなわち、1、 非同期式バスを制御す
るDTCの入力は準安定状態に対する保護を有する。こ
の保護バスアクセスに要する時間を増す、内部同期化を
必要とする。
2、 非同期式バスでは、−次ハンドシェーク信号D
S A CK O−D S A CK 1と*RBER
Rと寧EOPのすべての遷移はDTCによって認められ
かつ同期化されなくてはならない。それに対して、これ
らの信号は同期式バス上でサンプリングされかつ遷移を
同期化するのに余分の時間は必要とされない。
S A CK O−D S A CK 1と*RBER
Rと寧EOPのすべての遷移はDTCによって認められ
かつ同期化されなくてはならない。それに対して、これ
らの信号は同期式バス上でサンプリングされかつ遷移を
同期化するのに余分の時間は必要とされない。
非同期式バスの要求によって、一般にそれは同期式バス
より遅い速度で動作するようにされる。
より遅い速度で動作するようにされる。
これは準安定の同期化時間の結果でありかつハンドシェ
ーキング信号の両方の推移は同期化されなくてはならな
いということである。
ーキング信号の両方の推移は同期化されなくてはならな
いということである。
同期式または非同期式バスのいずれに対してもアドレス
サイクルは同期式である。DTCはアドレスが単一のR
CLKサイクルで転送され得るということに依存してい
る。この同期式転送は外部のアドレスラッチによって隠
される。
サイクルは同期式である。DTCはアドレスが単一のR
CLKサイクルで転送され得るということに依存してい
る。この同期式転送は外部のアドレスラッチによって隠
される。
信号DSACKO−DSACKIは非同期式バス上でス
キューされることが許容される。これらの信号のいずれ
かの転送によってデータサイクルは同期化期間の後の終
了させられる。しかしなから、同期化期間の間他の信号
が変化するなら、DTCはそれがRCLKに関して有効
なセットアツプ時間で発生する限り変化を受取る。デー
タサイクル(IRDERR,*EOP)を終える他の信
号も同様にスキューされてもよい。
キューされることが許容される。これらの信号のいずれ
かの転送によってデータサイクルは同期化期間の後の終
了させられる。しかしなから、同期化期間の間他の信号
が変化するなら、DTCはそれがRCLKに関して有効
なセットアツプ時間で発生する限り変化を受取る。デー
タサイクル(IRDERR,*EOP)を終える他の信
号も同様にスキューされてもよい。
付加的なシステムの考慮はDTCを介して転送されるデ
ータの「以前」および「以後」の見解である。第11図
および第12図は新規のDTCへのおよびそこからのロ
ーカルバスデータ転送および遠隔バスデータ転送両方の
ためのデータの位置を例示するために提示されている。
ータの「以前」および「以後」の見解である。第11図
および第12図は新規のDTCへのおよびそこからのロ
ーカルバスデータ転送および遠隔バスデータ転送両方の
ためのデータの位置を例示するために提示されている。
第11図はローカルバス上のデータの位置の種々の可能
性を要約している。
性を要約している。
データのバイトまたはハートワードがローカルバス上の
DTCから転送されると、それはローカルバスに関して
右に位置調整される。こうして、D7−DO上でバイト
が現われかっD15−DO上でハーフワードが現われる
。この発明の好ましい実施例に従えば、残余のバス信号
はローに駆動される。
DTCから転送されると、それはローカルバスに関して
右に位置調整される。こうして、D7−DO上でバイト
が現われかっD15−DO上でハーフワードが現われる
。この発明の好ましい実施例に従えば、残余のバス信号
はローに駆動される。
データのバイトまたはハーフワードがローカルバスから
DTCに転送されると、それはそのバスに関して右に位
置調整される。こうして、バイトはD7−DOで現われ
かつハーフワードはD15−DOで現われる。残余のバ
ス信号は無視される。
DTCに転送されると、それはそのバスに関して右に位
置調整される。こうして、バイトはD7−DOで現われ
かつハーフワードはD15−DOで現われる。残余のバ
ス信号は無視される。
第12図は遠隔バス上のデータの位置の種々の可能性を
要約する。
要約する。
データのバイトまたはハーフワードがDTCから遠隔バ
スのデバイスまたはメモリに転送されると、それは遠隔
バス上の各バイトまたはハーフワード位置に反復される
。こうして、バイトはRAD31−RAD24と、RA
D 23−RAD 16、RADl 5−RAD8と、
RAD7−RADOで現われる。ハーフワードはRAD
31−RADl6おびRADl5−RADOで現われる
。
スのデバイスまたはメモリに転送されると、それは遠隔
バス上の各バイトまたはハーフワード位置に反復される
。こうして、バイトはRAD31−RAD24と、RA
D 23−RAD 16、RADl 5−RAD8と、
RAD7−RADOで現われる。ハーフワードはRAD
31−RADl6おびRADl5−RADOで現われる
。
データのバイトまたはハーフワードが遠隔バスからDT
Cに転送されると、それは転送に関連したチャネルモー
ドレジスタまたはポートモードレジスタのデータ位置フ
ィールドによって決定される位置でバス上で現われる。
Cに転送されると、それは転送に関連したチャネルモー
ドレジスタまたはポートモードレジスタのデータ位置フ
ィールドによって決定される位置でバス上で現われる。
4個の可能な位置合わせが指示される。すなわち、
1、 アドレスによって。ハーフワードまたはバイト
はそのアドレスによって決定される位置でバスに現われ
る。
はそのアドレスによって決定される位置でバスに現われ
る。
2、 固定されたハイ。バイトまたは/X−フワードは
そのバスに関して左に位置合わせされる。
そのバスに関して左に位置合わせされる。
3、 固定されたロー。バイトまたはノ1−フワード
はそのバスに関して右に位置合わせされる。
はそのバスに関して右に位置合わせされる。
4、 アドレスによって固定されたロー/バイト。ハ
ーフワードはバスに関して右に位置調整されかつバイト
はそれらのアドレスによって決定されるようにバスの低
順位16ビツト内で現われる。
ーフワードはバスに関して右に位置調整されかつバイト
はそれらのアドレスによって決定されるようにバスの低
順位16ビツト内で現われる。
バイトまたはノ\−フワードの位置がそのアドレスに依
存するなら(オプション1および4)、特定のバイトま
たはノ1−フワードの実際の位置はアドレスのみならず
適切なチャネルモードまたはポートモードレジスタの遠
隔lくイトオーダ(RB O)ビットによって指定され
るノくイトおよびノ1−フワード順序によってもまた決
定される。上のオプションの各々に関して、転送に含ま
れないいかなるバス信号も無視されることに注目すべき
である。
存するなら(オプション1および4)、特定のバイトま
たはノ1−フワードの実際の位置はアドレスのみならず
適切なチャネルモードまたはポートモードレジスタの遠
隔lくイトオーダ(RB O)ビットによって指定され
るノくイトおよびノ1−フワード順序によってもまた決
定される。上のオプションの各々に関して、転送に含ま
れないいかなるバス信号も無視されることに注目すべき
である。
DTCはシステムへの2個の1次インターフェイスのロ
ーカルバスと遠隔バスを伊込むことがここで明らかとな
るべきである。これらのインターフェイスによって様々
な異なるシステムの形態が可能となる。各インターフェ
イスは典型的には独立したクロックで動作する。
ーカルバスと遠隔バスを伊込むことがここで明らかとな
るべきである。これらのインターフェイスによって様々
な異なるシステムの形態が可能となる。各インターフェ
イスは典型的には独立したクロックで動作する。
この発明の好ましい実施例に従えば、RISCシステム
で(またはその中で)動作する環境において述べられて
いるように、ローカルバス動作は5YSCLK入力に同
期している。この入力はRISCプロセッサの5YSC
LK出力によって駆動されるかまたはRISCプロセッ
サの5yscLK入力をまた駆動する別のクロック発生
器によって駆動される。
で(またはその中で)動作する環境において述べられて
いるように、ローカルバス動作は5YSCLK入力に同
期している。この入力はRISCプロセッサの5YSC
LK出力によって駆動されるかまたはRISCプロセッ
サの5yscLK入力をまた駆動する別のクロック発生
器によって駆動される。
遠隔バス動作はRCLK信号と時間が合わされている(
遠隔バス動作はRCLKに対して同期しているかまたは
非同期しているかのいずれであってもよい)。DTCは
システムクロック発生および分配の2つの方法を提供す
る。
遠隔バス動作はRCLKに対して同期しているかまたは
非同期しているかのいずれであってもよい)。DTCは
システムクロック発生および分配の2つの方法を提供す
る。
一方のクロック動作配置では、DTCは遠隔バスのため
のRCLKクロックを発生し、このクロックはRCLK
ピン上で現われ、そして他の遠隔バスの構成要件に外部
より分配されてもよい。第2の配置では、遠隔バスのた
めの独立したクロック発生が存在し、この場合DTCは
RCLKピン上の外部から発生されたクロックを受取る
。両方の配置では、RCLKを発生しかつバッファする
回路は外部DTCクロックおよび外部遠隔バスクロック
の間の明らかなスキューを最小にするように設計される
。
のRCLKクロックを発生し、このクロックはRCLK
ピン上で現われ、そして他の遠隔バスの構成要件に外部
より分配されてもよい。第2の配置では、遠隔バスのた
めの独立したクロック発生が存在し、この場合DTCは
RCLKピン上の外部から発生されたクロックを受取る
。両方の配置では、RCLKを発生しかつバッファする
回路は外部DTCクロックおよび外部遠隔バスクロック
の間の明らかなスキューを最小にするように設計される
。
DTCはすべての他のチップ電力分配から独立している
RCLKドライバのための電源ピンを設ける。これによ
って他のDTC回路はRCLKドライバによって電源に
誘発されるかもしれない騒音と電気的に隔離される。別
の電源もまた2個の可能なりロック動作配置の間を決定
するために用いられる。
RCLKドライバのための電源ピンを設ける。これによ
って他のDTC回路はRCLKドライバによって電源に
誘発されるかもしれない騒音と電気的に隔離される。別
の電源もまた2個の可能なりロック動作配置の間を決定
するために用いられる。
もし電力(すなわち+5ボルト)がRCLK電源ピンに
与えられると、DTCは遠隔バスのためにクロックを発
生するように構成される。この場合、RCLKピンは出
力であり、ROSC上の信号は遠隔バスクロックを発生
するために用いられる。DTCはRCLKの発生におい
てRO3C信号を2つに分割し、そのためROSCは遠
隔バスの2倍の動作周波数で駆動されるべきである。
与えられると、DTCは遠隔バスのためにクロックを発
生するように構成される。この場合、RCLKピンは出
力であり、ROSC上の信号は遠隔バスクロックを発生
するために用いられる。DTCはRCLKの発生におい
てRO3C信号を2つに分割し、そのためROSCは遠
隔バスの2倍の動作周波数で駆動されるべきである。
もしRCLK電源ピンが接地されるなら、DTCは外部
から発生されるクロックを受取るように構成される。こ
の場合、RCLKピンはDTCクロックとして直接に用
いられる入力である。RCLKは遠隔バスの動作周波数
で駆動されるべきである。この構成では、RO3C入力
はこれより後に論じられる成るマスタ/スレーブ機器構
成の場合を用いてハイかまたはローにつながれるべきで
ある。
から発生されるクロックを受取るように構成される。こ
の場合、RCLKピンはDTCクロックとして直接に用
いられる入力である。RCLKは遠隔バスの動作周波数
で駆動されるべきである。この構成では、RO3C入力
はこれより後に論じられる成るマスタ/スレーブ機器構
成の場合を用いてハイかまたはローにつながれるべきで
ある。
RCLKピンは遠隔バスクロックサイクルの前半はハイ
であり、遠隔バスサイクルの後半はローである。こうし
て、サイクルはRCLKのローからハイへの推移で始ま
る。遠隔バスクロックサイクルの始まりの規定は特定の
システムのために選ばれるクロック動作配置とは独立し
ている。
であり、遠隔バスサイクルの後半はローである。こうし
て、サイクルはRCLKのローからハイへの推移で始ま
る。遠隔バスクロックサイクルの始まりの規定は特定の
システムのために選ばれるクロック動作配置とは独立し
ている。
いくつかのシステムにおいては、各々が共通のRO3C
信号によって駆動される2個以上のDTCをロックステ
ップ同期化において動作させることが望ましいかもしれ
ない。この場合、同期化は*RESET入力によって達
成される。もし*RESETの断定解除がROSCのロ
ーからハイへの推移に関する指定された準備時間と一致
するなら、RCLK出力は次の半分のサイクルにおいて
ローにあることが補償される。こうして、すべてのDT
Cは必要に応じて同期化されてもよい。
信号によって駆動される2個以上のDTCをロックステ
ップ同期化において動作させることが望ましいかもしれ
ない。この場合、同期化は*RESET入力によって達
成される。もし*RESETの断定解除がROSCのロ
ーからハイへの推移に関する指定された準備時間と一致
するなら、RCLK出力は次の半分のサイクルにおいて
ローにあることが補償される。こうして、すべてのDT
Cは必要に応じて同期化されてもよい。
DTCの電気的仕様に関する限り(RCLKに関して)
、それらは大部分の他のDTCの入力および出力の仕様
とは異なる。クロックのスキュー効果を減じるために、
RCLKピンはDTCチップを組立てるのに用いられる
TTL回路と互換性があるよりはむしろCMOS回路と
電気的に互換性がある。
、それらは大部分の他のDTCの入力および出力の仕様
とは異なる。クロックのスキュー効果を減じるために、
RCLKピンはDTCチップを組立てるのに用いられる
TTL回路と互換性があるよりはむしろCMOS回路と
電気的に互換性がある。
RCLKピンはテストモード(後に説明される)によっ
て高インピーダンス状態におかれる。もし外部から発生
されたタロツクがこの場合において与えられるなら、D
TCの状態は失われるかもしれない。
て高インピーダンス状態におかれる。もし外部から発生
されたタロツクがこの場合において与えられるなら、D
TCの状態は失われるかもしれない。
テストモードによってDTCの入力はDTCのテストま
たは診断の目的のために直接駆動され得る。テストモー
ドはすべての出力(MSERRを除く)を高インピーダ
ンス状態に置き、その結果それらは外部から与えられる
信号と電気的にインターフェイスしない。他のすべての
点において、DTCの動作は変化されない。
たは診断の目的のために直接駆動され得る。テストモー
ドはすべての出力(MSERRを除く)を高インピーダ
ンス状態に置き、その結果それらは外部から与えられる
信号と電気的にインターフェイスしない。他のすべての
点において、DTCの動作は変化されない。
テストモードは*TEST入力における活性状態レベル
によって呼出される。DTC出力の不能化は結合して行
なわれる。それはたとえクロックがDTCに与えられな
くても起こる。
によって呼出される。DTC出力の不能化は結合して行
なわれる。それはたとえクロックがDTCに与えられな
くても起こる。
いくつかの出力では、テストモードから生じる高インピ
ーダンス状態への推移は通常のDTC動作の間(たとえ
ばDTCがローカルバスを放棄するとき)与えるよりも
ずっと遅い速度で発生してもよい。このためテストモー
ドは特別のユーザが規定した目的に適していないかもし
れない。
ーダンス状態への推移は通常のDTC動作の間(たとえ
ばDTCがローカルバスを放棄するとき)与えるよりも
ずっと遅い速度で発生してもよい。このためテストモー
ドは特別のユーザが規定した目的に適していないかもし
れない。
他のシステムへの考慮は各DTC出力がDTCが出力ド
ライバに内部から与えている信号と出力での信号を比較
する関連した論理を有するということである。その2つ
の信号の比較は所与のドライバが可能化されかつテスト
モードのためのみにドラバが不能化される時間のいつで
も行なわれる。
ライバに内部から与えている信号と出力での信号を比較
する関連した論理を有するということである。その2つ
の信号の比較は所与のドライバが可能化されかつテスト
モードのためのみにドラバが不能化される時間のいつで
も行なわれる。
もしその比較が行なわれてドライバの出力がその入力と
一致していないなら、DTCはそのエラーがローカルバ
ス上で検出されるかまたは遠隔バス上で検出されるかに
依存して5YSCAKまたはRCLKの次のMSERR
出力を断定する。
一致していないなら、DTCはそのエラーがローカルバ
ス上で検出されるかまたは遠隔バス上で検出されるかに
依存して5YSCAKまたはRCLKの次のMSERR
出力を断定する。
DTCがMSERRを断定すると、それは検出された比
較の間違いに関するいかなる行動もとらない。しかしな
から、MSERRはトラップの発生を含むシステム機能
を行なうために外部から用いられてもよい。
較の間違いに関するいかなる行動もとらない。しかしな
から、MSERRはトラップの発生を含むシステム機能
を行なうために外部から用いられてもよい。
もしシステムにおいて単一のDTCが存在するなら、M
SERR出力はDTCドライバが不良であるかまたはD
TC出力において短絡が存在しているかを示す。しかし
なから、第2のDTC(「スレーブ」と呼ばれる)が第
1のDTd「マスタ」と呼ばれる)と並列に接続される
なら(スレーブDTCはそのテストモードによって不能
化された出力を有する)、ずっと高いレベルの障害検出
が可能である。
SERR出力はDTCドライバが不良であるかまたはD
TC出力において短絡が存在しているかを示す。しかし
なから、第2のDTC(「スレーブ」と呼ばれる)が第
1のDTd「マスタ」と呼ばれる)と並列に接続される
なら(スレーブDTCはそのテストモードによって不能
化された出力を有する)、ずっと高いレベルの障害検出
が可能である。
その出力をマスクの出力と比較することによってスレー
ブDTCはマスクの動作の包括的なチェックを行なう。
ブDTCはマスクの動作の包括的なチェックを行なう。
さらに、スレーブはシステムと交信するマスクによって
用いられる電気経路における開放回路および他の障害を
検出するかもしれない。マスクはさらにこの機器構成に
おける出力での比較を行なう。
用いられる電気経路における開放回路および他の障害を
検出するかもしれない。マスクはさらにこの機器構成に
おける出力での比較を行なう。
2個のDTCがマスタ/スレーブ機器構成に接続される
とき、MSERRの非論理的断定を妨げることが必要で
ある。これらはマスクの出力とスレーブDTCの出力が
一致しない状況から生じるが、双方とも正しく動作して
いる。
とき、MSERRの非論理的断定を妨げることが必要で
ある。これらはマスクの出力とスレーブDTCの出力が
一致しない状況から生じるが、双方とも正しく動作して
いる。
非論理的なエラーの1つの源はDTCレジスタにおける
実現されていないビットのための予言できない値であり
得る。この潜在的な問題はすべての実現されていないビ
ットが0と読出される好ましいDTCアーキテクチャに
よって避けられている。
実現されていないビットのための予言できない値であり
得る。この潜在的な問題はすべての実現されていないビ
ットが0と読出される好ましいDTCアーキテクチャに
よって避けられている。
非論理的エラーの第2の源は遠隔バスからローカルバス
へ転送されるデータに関する。成る場合において、たと
えば単一のバイトがローカルバスから入出力ポートを介
して転送されるとき、「気にしない」であるデータをD
TCは転送する。もし無視されたデータ入力が有効な論
理レベルでなくかつそれらが他のバス上で自体に反映さ
れるなら、2個のDTCは無効な論理レベルのためにデ
ータのための値と一致しないかもしれない。DTCはデ
ータを0でパディングすることによってかつ「気にしな
い」をマスクするためにデータを反復することによって
この問題を避ける。
へ転送されるデータに関する。成る場合において、たと
えば単一のバイトがローカルバスから入出力ポートを介
して転送されるとき、「気にしない」であるデータをD
TCは転送する。もし無視されたデータ入力が有効な論
理レベルでなくかつそれらが他のバス上で自体に反映さ
れるなら、2個のDTCは無効な論理レベルのためにデ
ータのための値と一致しないかもしれない。DTCはデ
ータを0でパディングすることによってかつ「気にしな
い」をマスクするためにデータを反復することによって
この問題を避ける。
非論理的エラーの他の源はマスクDTCとスレーブDT
Cの間の同期化不足である。マスクとスレーブ間の同期
化を維持するために、まずそれらは同一のクロックで動
作するということが必要である。スレーブにRCLKを
入力として受取られてマスクにRCLKを駆動させるよ
うにするかまたは両方のマスクとスレーブを同じ外部か
ら発生されたRCLKと駆動することによって達成され
る。
Cの間の同期化不足である。マスクとスレーブ間の同期
化を維持するために、まずそれらは同一のクロックで動
作するということが必要である。スレーブにRCLKを
入力として受取られてマスクにRCLKを駆動させるよ
うにするかまたは両方のマスクとスレーブを同じ外部か
ら発生されたRCLKと駆動することによって達成され
る。
しかしなから、両方のマスクおよびスレーブDTCは同
じクロックで動作するということは同期化を補償するの
に十分ではない。非同期入力はそれらはスレーブに影響
を与えるより1サイクル早いか遅いかでマスクに影響を
及ぼすかもしれない。
じクロックで動作するということは同期化を補償するの
に十分ではない。非同期入力はそれらはスレーブに影響
を与えるより1サイクル早いか遅いかでマスクに影響を
及ぼすかもしれない。
このため、遠隔バスはマスタ/スレーブ機器構成におい
て同期式動作を有さなくてはならないかまたは共通の点
で外部から同期化されなくてはならない。活性状態から
不活性状態への”RESETの推移は同期化されてなく
てはならないことに注目すべきである。
て同期式動作を有さなくてはならないかまたは共通の点
で外部から同期化されなくてはならない。活性状態から
不活性状態への”RESETの推移は同期化されてなく
てはならないことに注目すべきである。
いくつかのマスタ/スレーブ機器構成では、エラーが離
されているときのシステム上のスレーブDTC制御をマ
スクDTCに与えることが望ましいかもしれない。それ
をテストモードから取出しかつマスクをテストモードに
置くことによって制御をスレーブに与えることが可能で
ある。同期化はこれが終了するとき維持されていなくて
はならない。
されているときのシステム上のスレーブDTC制御をマ
スクDTCに与えることが望ましいかもしれない。それ
をテストモードから取出しかつマスクをテストモードに
置くことによって制御をスレーブに与えることが可能で
ある。同期化はこれが終了するとき維持されていなくて
はならない。
もしもとのマスクがこの場合においてRCLKを発生す
るように構成されるなら、スレーブはまたそれがマスク
にあるときRCLKを発生しなくてはならない。このた
め、RO5C信号はマスクおよびスレーブの両方に与え
られなくてはならず、両方ともクロックを発生するよう
に構成されている。
るように構成されるなら、スレーブはまたそれがマスク
にあるときRCLKを発生しなくてはならない。このた
め、RO5C信号はマスクおよびスレーブの両方に与え
られなくてはならず、両方ともクロックを発生するよう
に構成されている。
このマスタ/スレーブ機器構成において、スレーブはさ
らに以前に述べられたようにマスクからRCLKを受取
る。スレーブはテストモードのためにRCLKを駆動し
ない。しかしなから、スレーブがテストモードから取出
されるとRCLKを望み通りに駆動することができる。
らに以前に述べられたようにマスクからRCLKを受取
る。スレーブはテストモードのためにRCLKを駆動し
ない。しかしなから、スレーブがテストモードから取出
されるとRCLKを望み通りに駆動することができる。
当業者は上で述べられたスイッチング機構が2つ以上の
DTCに対して概括的に論じられてもよい。
DTCに対して概括的に論じられてもよい。
最後のシステムの機器構成として、転送のためのデータ
幅が転送の間ダイナミックに決定される、ダイナミック
バスの大きさ決め動作をいくつかの標準のバスが支持す
ることが指摘されるべきである。DTCはこの機能を直
接に支持しないが、より高いレベルでそれを支持するの
に必要な特徴を提供する。
幅が転送の間ダイナミックに決定される、ダイナミック
バスの大きさ決め動作をいくつかの標準のバスが支持す
ることが指摘されるべきである。DTCはこの機能を直
接に支持しないが、より高いレベルでそれを支持するの
に必要な特徴を提供する。
DTCは要求された転送が行なわれないことを示す(*
RBERRのDSACKO−DSACKlのいずれかに
よって)転送に対する応答を受取ると、それによってR
ISCプロセッサへのトラップまたは割込が引き起こさ
れる。入出力ポートアクセスでは、DTCは*DERR
で応答し、そしてDMAチャネルではDTCは*lNT
Rを断定する(もし割込が可能化されるなら)。
RBERRのDSACKO−DSACKlのいずれかに
よって)転送に対する応答を受取ると、それによってR
ISCプロセッサへのトラップまたは割込が引き起こさ
れる。入出力ポートアクセスでは、DTCは*DERR
で応答し、そしてDMAチャネルではDTCは*lNT
Rを断定する(もし割込が可能化されるなら)。
応答する割込またはトラップハンドラは示された入出力
ポートまたはDMAチャネル上のデータ幅を減じるかま
たはより小さなデータ幅を取扱うために他の入出力ポー
トまたはDMAチャネルを割当てるかのオプションを有
する。適切なポート状態レジスタまたはチャネル状態レ
ジスタのデータサイズ肯定応答フィールドはエラーを引
き起こしたDSACKO−DSACKI応答を示す。も
との転送は再び開始され得る。
ポートまたはDMAチャネル上のデータ幅を減じるかま
たはより小さなデータ幅を取扱うために他の入出力ポー
トまたはDMAチャネルを割当てるかのオプションを有
する。適切なポート状態レジスタまたはチャネル状態レ
ジスタのデータサイズ肯定応答フィールドはエラーを引
き起こしたDSACKO−DSACKI応答を示す。も
との転送は再び開始され得る。
もし入出力ポートまたはDMAチャネルのデータ幅が減
じられるなら、その入出力ポートまたはDMAチャネル
を介するすべての転送は指定された幅を有するように取
扱われるべきことに注目すべきである。たとえば、ワー
ドデバイスへの転送はもし入出力ポートまたはDMAチ
ャネルの幅が8ビツトとして指定されるなら1度に1バ
イト行なわれる。これは有効な動作として考えられ例外
を引き起こさない。こうして、DTCはデータ幅におけ
るダイナミックな減少を支持するが、データ幅のダイナ
ミックな増加は支持しない。
じられるなら、その入出力ポートまたはDMAチャネル
を介するすべての転送は指定された幅を有するように取
扱われるべきことに注目すべきである。たとえば、ワー
ドデバイスへの転送はもし入出力ポートまたはDMAチ
ャネルの幅が8ビツトとして指定されるなら1度に1バ
イト行なわれる。これは有効な動作として考えられ例外
を引き起こさない。こうして、DTCはデータ幅におけ
るダイナミックな減少を支持するが、データ幅のダイナ
ミックな増加は支持しない。
先読みまたは後書きを行なう入出力ポートでは、データ
幅例外はそれが遠隔バス上で発生した後に報告されかつ
両方のそのアクセスおよび*DERR応答を受取るアク
セスは再スタートされなくてはならない。この場合、最
初のアクセスはローカルポートアドレスレジスタにおけ
る翻訳されていない入出カポ−ドアドレスを用いて、ロ
ードまたはストアによって明示的に再び開始されなくて
はならない。第2のアクセスはRISCプロセッサにお
けるチャネルアドレスやチャネルデータおよびチャネル
制御レジスタによって再び開始される。
幅例外はそれが遠隔バス上で発生した後に報告されかつ
両方のそのアクセスおよび*DERR応答を受取るアク
セスは再スタートされなくてはならない。この場合、最
初のアクセスはローカルポートアドレスレジスタにおけ
る翻訳されていない入出カポ−ドアドレスを用いて、ロ
ードまたはストアによって明示的に再び開始されなくて
はならない。第2のアクセスはRISCプロセッサにお
けるチャネルアドレスやチャネルデータおよびチャネル
制御レジスタによって再び開始される。
第1のアクセスはユーザまたはスーパバイザモードのい
ずれかで再び開始されてもよいことに注目すべきである
が、これは保護違反がその先に捕まっているからである
。
ずれかで再び開始されてもよいことに注目すべきである
が、これは保護違反がその先に捕まっているからである
。
機能や、その内部レジスタや入力および出力、データフ
ォーマットや支持される転送などで新規のDTCがここ
で詳細に述べられてきたが当業者はこの発明の目的は以
前に述べられたように満たされるものであったことを認
めるであろう。
ォーマットや支持される転送などで新規のDTCがここ
で詳細に述べられてきたが当業者はこの発明の目的は以
前に述べられたように満たされるものであったことを認
めるであろう。
新規の方法および装置の好ましい実施例および例示的具
体例の上述の説明は例示および説明のためのみに提示さ
れている。この発明は余すところないわけではなく、開
示された綿密な型にこの発明を制限するようにも意図さ
れておらず、明らかに多くの修正および変化が上述の教
示に照らし合わせて可能である。
体例の上述の説明は例示および説明のためのみに提示さ
れている。この発明は余すところないわけではなく、開
示された綿密な型にこの発明を制限するようにも意図さ
れておらず、明らかに多くの修正および変化が上述の教
示に照らし合わせて可能である。
これまでに述べられた実施例および具体例はこの発明の
原理を最もよく説明するために提示され、それによって
当業者はこの発明を考えられる特定の使用に適した種々
の実施例および種々の修正においてこの発明を最もよく
利用できるであろう。
原理を最もよく説明するために提示され、それによって
当業者はこの発明を考えられる特定の使用に適した種々
の実施例および種々の修正においてこの発明を最もよく
利用できるであろう。
この発明の範囲は添付の特許請求の範囲によって規定さ
れることが意図される。
れることが意図される。
第1図はこの発明の好ましい実施例に従った、ローカル
バスを介してRISCシステムとインターフェイスしか
つ1組の周辺装置や入出力サブシステム等が取付けられ
てもよい遠隔バスとインターフェイスする、新規のDT
Cを示す。 第2図はこの発明の好ましい実施例に従った、新規のD
TCをハウジングしかつローカルバスを介する両方のR
ISCシステムおよび遠隔バスを介する1組の周辺装置
との相互接続を容易にする、集積回路パッケージのため
のピンアウト図を示す。 第3図はこの発明の好ましい実施例に従って作られた、
4個の入出力ポートと4個のDMAチャネルを有するD
TCの機能ブロック図である。 第4図はここで教示される新規のDTCによって指示さ
れる、ハーフワードおよびワード内のバイトおよびハー
フワードの位置のための確立された規定を示す。 第5図はDTCが第4図に示されるアドレス指定の規定
の間で変換するために用いられるとき、ハーフワードお
よびワード内でのバイトのスワツピングを例示する。 第6図は1個の入出力のための入出力ポートデータフロ
ーを例示するブロック図である。 第7図はDTCがどのようにオーバラップされた入出力
を指示するかを例示するかを例示するフローチャートで
ある。 第8図は1個のDMAチャネルのためのDMAチャネル
データフローを例示するブロック図である。 第9図は空のと、部分的の一杯のと、−杯のDMAQを
例示する。 第10図は市場で入手可能なデバイスがどのように新規
のDTCを遠隔バスに相互接続させるために用いられる
かの具体例である。 第11図はDO−D31上での新規のDTCへのおよび
新規のDTCからのローカルバスデータ転送のためのデ
ータ位置を例示する。 第12図はRADO−RAD31上での新規のDTCへ
のおよび新規のDTCからの両方の遠隔バスデータ転送
ためのデータ位置を例示する。 図において、101はRISCプロセッサ、102はプ
ログラムストア、103はデータメモリ、105はイン
ターフェイスユニット、110はローカルバス、111
はアドレスバス、112はデータバス、120は遠隔バ
ス、204は集積回路パッケージである。 特許出願人 アドバンスト・マイクロ・デイバイシズ・
インコーポレーテッド \ 口Nハ
ーフ”) )”[=f==丁EEEI=]/\゛什
F遍TF石=三丁E口 FIG。 バーフ−ド[IE)=コ=ヌ==【コ バ・4ト ロFヲT=【コニ下=T][コバ−77−)
″[【ゴFT=玉E1
バスを介してRISCシステムとインターフェイスしか
つ1組の周辺装置や入出力サブシステム等が取付けられ
てもよい遠隔バスとインターフェイスする、新規のDT
Cを示す。 第2図はこの発明の好ましい実施例に従った、新規のD
TCをハウジングしかつローカルバスを介する両方のR
ISCシステムおよび遠隔バスを介する1組の周辺装置
との相互接続を容易にする、集積回路パッケージのため
のピンアウト図を示す。 第3図はこの発明の好ましい実施例に従って作られた、
4個の入出力ポートと4個のDMAチャネルを有するD
TCの機能ブロック図である。 第4図はここで教示される新規のDTCによって指示さ
れる、ハーフワードおよびワード内のバイトおよびハー
フワードの位置のための確立された規定を示す。 第5図はDTCが第4図に示されるアドレス指定の規定
の間で変換するために用いられるとき、ハーフワードお
よびワード内でのバイトのスワツピングを例示する。 第6図は1個の入出力のための入出力ポートデータフロ
ーを例示するブロック図である。 第7図はDTCがどのようにオーバラップされた入出力
を指示するかを例示するかを例示するフローチャートで
ある。 第8図は1個のDMAチャネルのためのDMAチャネル
データフローを例示するブロック図である。 第9図は空のと、部分的の一杯のと、−杯のDMAQを
例示する。 第10図は市場で入手可能なデバイスがどのように新規
のDTCを遠隔バスに相互接続させるために用いられる
かの具体例である。 第11図はDO−D31上での新規のDTCへのおよび
新規のDTCからのローカルバスデータ転送のためのデ
ータ位置を例示する。 第12図はRADO−RAD31上での新規のDTCへ
のおよび新規のDTCからの両方の遠隔バスデータ転送
ためのデータ位置を例示する。 図において、101はRISCプロセッサ、102はプ
ログラムストア、103はデータメモリ、105はイン
ターフェイスユニット、110はローカルバス、111
はアドレスバス、112はデータバス、120は遠隔バ
ス、204は集積回路パッケージである。 特許出願人 アドバンスト・マイクロ・デイバイシズ・
インコーポレーテッド \ 口Nハ
ーフ”) )”[=f==丁EEEI=]/\゛什
F遍TF石=三丁E口 FIG。 バーフ−ド[IE)=コ=ヌ==【コ バ・4ト ロFヲT=【コニ下=T][コバ−77−)
″[【ゴFT=玉E1
Claims (89)
- (1)少なくとも1個の中央処理装置(CPU)を含む
第1の組の高性能デバイスに取付けられる第1のバスへ
およびそこから、かつ第2の組の比較的より低い性能の
デバイスが取付けられる第2のバスへおよびそこからデ
ータを転送するためのデータ転送制御器であって、前記
第1のバスおよび第2のバスへのおよびそれらからのデ
ータの転送が前記第1の組のデバイスと第2の組のデバ
イスの間の通信を容易にする一方で、前記第1の組のデ
バイスの性能を前記第2の組のデバイスの比較的より低
い性能から隔離し、 (a)前記第1のバスと前記第2のバスに結合され、少
なくとも1個の直接メモリアクセスチャネル手段を含み
、前記第1のバスから前記第2のバスへの直接メモリア
クセス転送および前記第2のバスから前記第1のバスへ
の直接メモリアクセス転送をチャネル動作させるための
直接メモリアクセス手段と、 (b)前記第1のバスと前記第2のバスに結合され、少
なくとも1個のアドレスマッピングされた入力/出力ポ
ート手段を含み、前記CPUにより直接メモリアクセス
を前記第2の組のデバイスに与えるための入力/出力制
御器手段と、(c)前記第1のバスを前記直接メモリア
クセス手段と前記入力/出力制御器手段とに相互接続す
るための手段と、 (d)前記第2のバスを前記直接メモリアクセス手段と
前記入力/出力制御器手段とに相互接続するための手段
とを含む、データ転送制御器。 - (2)前記第2のバスを前記アクセス手段と前記制御器
手段とに相互接続するための前記手段が、 (a)前記アクセス手段と前記制御器手段の両方に結合
され、前記第1のバスと前記第2のバスの間で可変幅デ
ータ転送を適応させるためのパッキングおよび送り込み
回路網手段と、 (b)前記パッキングおよび送り込み回路網手段と、前
記アクセス手段と、前記制御器手段と、前記第2のバス
との間に結合され、前記第2のバスに転送されるアドレ
ス信号およびデータ信号を多重化するための多重化手段
を含む、転送手段とをさらに含む、請求項1に記載のデ
ータ転送制御器。 - (3)前記転送手段が、前記多重化手段と前記第2のバ
スの間に結合される、前記第2のバスへおよびそこから
転送される信号を送受信するための送受信器を含む、請
求項2に記載のデータ転送制御器。 - (4)前記ポート手段および前記チャネル手段へのアク
セスに優先順位をつけるための手段をさら含む、請求項
2に記載のデータ転送制御器。 - (5)複数個のポート手段が存在するときはいつでも、
前記ポート手段へのアクセスに優先順位をつけるための
手段をさらに含む、請求項4に記載のデータ転送制御器
。 - (6)複数個のチャネル手段が存在するときはいつでも
、前記チャネル手段へのアクセスに優先順位をつけるた
めの手段をさらに含む、請求項4に記載のデータ転送制
御器。 - (7)データ転送とアドレス転送の両方に対しパリティ
をチェックするための手段をさらに含む、請求項2に記
載のデータ転送制御器。 - (8)複数個の組の内部レジスタを含み、前記複数個の
組のレジスタが (a)データ転送制御器のグローバルな動作の状態を制
御および維持するための1組の内部レジスタと、 (b)前記チャネル手段の状態を制御および維持するた
めの1組の内部レジスタと、 (c)前記ポート手段の状態を制御および維持するため
の1組の内部レジスタと、 (d)前記チャネル手段を介してデータ転送をバッファ
するための1組の内部レジスタとを含む、データ転送制
御器。 - (9)前記第1のバスを前記アクセス手段および前記制
御器手段に相互接続するための前記手段が、前記複数個
の組のレジスタを初期設定するための手段をさらに含む
、請求項8に記載のデータ転送制御器。 - (10)前記CPUにより前記アクセス手段の動作をプ
ログラム実行から結合解除するための手段をさらに含む
、請求項1に記載のデータ転送制御器。 - (11)前記アクセス手段がプログラム可能である、請
求項1に記載のデータ転送制御器。 - (12)前記アクセス手段が、データ転送制御器の動作
の間CPUとは無関係にデータ転送アドレスを決定する
ように前記CPUにより初期化の間プログラミングされ
る、請求項11に記載のデータ転送制御器。 - (13)前記アクセス手段がシーケンシャルでない転送
を実施するための手段をさらに含む、請求項1に記載の
データ転送制御器。 - (14)前記アクセス手段が、 (a)前記第1のバスと前記第2のバスの間で転送され
るデータをバッファするためのキュー手段と、 (b)前記キュー手段の動作を制御するためのプログラ
ム可能内部レジスタ手段とをさらに含む、請求項2に記
載のデータ転送制御器。 - (15)前記チャネル手段の各々が、 (a)前記第1のバスから前記アクセス手段に入力され
る語長データを選択的に転送するための、かつ前記パッ
キングおよび送り込み回路網手段から前記アクセス手段
へ入力されるパッキングされたデータを前記キュー手段
へと選択的に転送するための第1の多重化手段と、 (b)前記第1の多重化手段と前記パッキングおよび送
り込み回路網手段とに結合され、パッキングおよび送り
込み動作の間データをストアするための第1のパッキン
グ/送り込みレジスタ手段と、 (c)前記第1のレジスタ手段を介して前記パッキング
および送り込み回路網手段に送り込まれるように前記キ
ュー手段から出力されるデータを選択的に転送するため
の、かつ前記第1のレジスタ手段を介して前記パッキン
グおよび送り込み回路網から前記第1の多重化へ入力さ
れるパッキングされたデータを選択的に転送するための
第2の多重化手段とをさらに含む、請求項14に記載の
データ転送制御器。 - (16)前記キュー手段においてバッファされるデータ
が、前記第1のバスと前記キュー手段との間でのデータ
転送と関連する待ち時間を回避するように前記CPUに
より直接的に操作され得る、請求項14に記載のデータ
転送制御器。 - (17)前記アクセス手段が、前記第1のバスと前記第
2のバスの間の経路において転送速度制御手段をさらに
含む、請求項1に記載のデータ転送制御器。 - (18)バスの大きさ決めを実施するための手段をさら
に含む、請求項1に記載のデータ転送制御器。 - (19)ポート手段動作を前記第1のバスに取付けられ
る前記デバイスの組の動作とオーバラップさせるための
手段をさらに含む、請求項1に記載のデータ転送制御器
。 - (20)チャネル手段動作を前記第1のバスに取付けら
れる前記デバイスの組の動作とオーバラップさせるため
の手段をさらに含む、請求項1に記載のデータ転送制御
器。 - (21)データパッキングおよびパッキング解除を実施
するための手段をさらに含む、請求項1に記載のデータ
転送制御器。 - (22)制御器を介して転送されるワードにおいてデー
タパケット場所をスワッピングするための手段をさらに
含む、請求項1に記載のデータ転送制御器。 - (23)データ転送動作を初期設定および制御するよう
に働く、前記複数個の組の内部レジスタへおよびそれら
からCPUおよびデバイスが発生した信号を搬送するた
めに使用される複数個の信号経路をさらに含む、請求項
9に記載のデータ転送制御器。 - (24)前記複数個の信号経路が集積回路パッケージの
ピンを含む、請求項23に記載のデータ転送制御器。 - (25)前記CPUにより前記制御器手段内のポート手
段の動作をプログラム実行から結合解除するための手段
をさらに含む、請求項2に記載のデータ転送制御器。 - (26)前記結合解除が、先読み/後書き動作の実現を
介してオーバラップされた入力/出力を実施するための
手段を介して達成される、請求項25に記載のデータ転
送制御器。 - (27)前記ポート手段に入力される第1のバスアドレ
スが予め選択されたポート手段アドレス空間内にあるか
どうかを決定するための手段をさらに含む、請求項2に
記載のデータ転送制御器。 - (28)ポートが前記第1のバスによりアドレスされる
ときはいつでも、前記入力/出力ポート手段の各々が、
ポートに入力される第1のバスアドレスとポートから出
力される第2のバスアドレスとの間でアドレス変換を実
施するための手段をさらに含む、請求項27に記載のデ
ータ転送制御器。 - (29)前記アドレス変換が、前記第1のバスのアドレ
スの2の累乗の範囲を越えて前記第2のバスのアドレス
の独立した範囲まで実施される、請求項28に記載のデ
ータ変換制御器。 - (30)前記アドレス変換を実施するための手段が、第
1のバスアドレスから予め選択された数の上位ビットを
マスキングアウトしかつ前記ビットを第2のバスアドレ
スの同数の上位ビットと置換するための手段をさらに含
む、請求項29に記載のデータ転送制御器。 - (31)前記ポート手段の各々が、前記パッキングおよ
び送り込み回路網手段へのおよびそこからのデータを多
重化するための手段をさらに含む、請求項27に記載の
データ転送制御器。 - (32)前記ポート手段の各々が、前記ポート手段によ
り前記パッキングおよび送り込み回路網手段へおよびそ
こから転送されるデータをバッファするためのパック/
送り込みレジスタをさらに含む、請求項26に記載のデ
ータ転送制御器。 - (33)オーバラップされた入力/出力を実施するため
の前記手段が、 (a)所与のポート手段が直接読出/書込動作の代わり
に先読み/後書き動作を実施することを可能にされるか
どうかを決定するための手段と、(b)前記第2のバス
によるアクセスが進行中であり得たとしても、先読み/
後書き動作が可能化されるときはいつでも、前記第1の
バスによるアクセスに直ちに応答するための手段とをさ
らに含む、請求項32に記載のデータ転送制御器。 - (34)前記応答するための手段が、 (a)前記第1のバスアクセスのアドレスをラッチする
ための手段と、 (b)前記アクセスが読出であるかどうかを決定するた
めの手段と、 (c)前記第2のバス上のいずれのアクセスとも無関係
に、前記アクセスが読出であることかが決定されるとき
はいつでも、前記読出を実施するための手段とをさらに
含む、請求項33に記載のデータ転送制御器。 - (35)前記第2のバス上のいずれのアクセスとも無関
係に、前記アクセスが読出でないことが決定されるとき
はいつでも、書込を実施するための手段をさらに含む、
請求項34に記載のデータ転送制御器。 - (36)前記読出を実施するための前記手段が、 (a)前記第1のバスに結合され、所与のポート手段が
第1のバス読出によりアクセスされるときはいつでも、
前記パック/送り込みレジスタの内容を前記第1のバス
に直ちに転送するための手段と、 (b)前記第1のバスに結合され、第1のバスアクセス
の変換されていない入力アドレスをバッファするための
手段と、 (c)変換されていないアドレスをバッファするための
前記手段に結合されて、前記入力アドレスを変換するた
めの手段と、 (d)前記第2のバスに結合されて、前記変換されたア
ドレスを用いて第2のバス読出を実施するためのかつ前
記第2のバスから読出されたデータを前記パック/送り
込みレジスタにストアするための手段とをさらに含む、
請求項35に記載のデータ転送制御器。 - (37)前記パック/送り込みレジスタに結合され、前
記パック/送り込みレジスタにおける記憶のために前記
パッキングおよび送り込み回路網手段からパッキングさ
れたデータを得るための手段をさらに含む、請求項36
に記載のデータ転送制御器。 - (38)前記ポートが先読み/後書き動作を実施する間
は前記第1のバスを介する所与のポートへのその後のア
クセスを抑制するための手段をさらに含む、請求項37
に記載のデータ転送制御器。 - (39)前記書込を実施するための前記手段が、 (a)前記第1のバスに結合され、前記ポート手段が第
1のバス書込によりアクセスされるときはいつでも、前
記第1のバスから前記第2のバスへ転送されるデータを
前記ポート手段を介して前記パック/送り込みレジスタ
にストアするための手段と、 (b)前記第1のバスに結合され、第1のバスアクセス
の変換されていない入力アドレスをバッファするための
手段と、 (c)変換されていないアドレスをバッファするための
前記手段に結合され、前記入力アドレスを変換するため
の手段と、 (d)前記第2のバスに結合され、前記変換されたアド
レスと前記パック/送り込みレジスタにストアされたデ
ータを用いて第2のバス書込を実施するための手段とを
さらに含む、請求項35に記載のデータ転送制御器。 - (40)前記パック/送り込みレジスタに結合され、デ
ータが前記パッキングおよび送り込み回路網手段を介し
て前記パック/送り込みレジスタから前記第2のバスへ
送り込まれることを可能にする手段をさらに含む、請求
項39に記載のデータ転送制御器。 - (41)前記ポートが先読出/後書込動作を実施する間
は、前記第1のバスを介する所与のポートへのその後の
アクセスを抑制するための手段をさらに含む、請求項4
0に記載のデータ転送制御器。 - (42)前記先読出および後書込動作を並列に実施する
ための手段をさらに含み、前記ポート手段の第1のもの
が前記先読出機能を実施するために利用される一方で、
前記ポート手段の第2のものが後書込機能を並列に実施
するために使用される、請求項26に記載のデータ転送
制御器。 - (43)前記パッキングおよび送り込み回路網手段が、 (a)前記第2のバス上の多数のバイトおよびハーフワ
ード転送を前記第1のバス上のより少数のハーフワード
およびワード転送へ変換するための手段を含む、前記第
2のバスから前記第1のバスへの転送の際にデータをパ
ッキングするための手段と、 (b)前記第1のバスへのパッキングされたデータの全
ワード転送を容易にするために、前記パッキングするた
めの手段によりパッキングされるデータをバッファする
ための手段とをさらに含む、請求項2に記載のデータ転
送制御器。 - (44)前記パッキングおよび送り込み回路網手段が、 (a)前記第1のバス上の多数のワードおよびハーフワ
ード転送を前記第2のバス上のより多数のハーフワード
およびバイト転送に変換するための手段を含む、前記第
1のバスから前記第2のバスへの変換の際にデータを送
り込むための手段と、 (b)前記送り込むための手段が前記第2のバスへの転
送に対し1度に1個バッファされたデータのハーフワー
ドおよびバイトを抽出することを可能にするために、前
記送り込むための手段により送り込まれるデータをバッ
ファするための手段とをさらに含む、請求項2に記載の
データ転送制御器。 - (45)(a)内部プログラミングされた 入力/出力を支持するための手段と、 (b)遠隔プログラミングされた入力/出力を支持する
ための手段とをさらに含む、請求項1に記載のデータ転
送制御器。 - (46)両方のバス上のアクセス間の同時実行で、前記
第1のバス上のアクセスの待ち時間および帯域幅を前記
第2のバス上のアクセスの待ち時間および帯域幅から結
合解除するための手段をさらに含む、請求項1に記載の
データ転送制御器。 - (47)前記アクセス手段が、前記第1のバスと第2の
バスの間でブロックおよびパターン転送を支持するよう
に構成され得る、請求項1に記載のデータ転送制御器。 - (48)2個の同期バス間でデータを転送するのに適す
る、請求項1に記載のデータ転送制御器。 - (49)2個の非同期バス間でデータを転送するのに適
する、請求項1に記載のデータ転送制御器。 - (50)制御器出力が診断目的で駆動されることを可能
にする動作のテストモードを有する、請求項1に記載の
データ転送制御器。 - (51)マスタ/スレーブ関係で、それが接続される少
なくとも1個のデータ転送制御器と並列に動作可能であ
る、請求項1に記載のデータ転送制御器。 - (52)少なくとも1個の中央処理装置(CPU)を含
む第1の組の高性能デバイスが取付けられる第1のバス
へおよびそこから、かつ第2の組の比較的より低い性能
のデバイスが取付けられる第2のバスへおよびそこから
データを転送するための方法であって、 (a)前記バスに連結される、少なくとも1個の直接メ
モリアクセスチャネル手段を含む、直接メモリアクセス
手段を利用して前記第1のバスと前記第2のバスの間で
データを転送するためのステップと、 (b)前記第1のバスと第2のバスの間で前記アクセス
手段を介してデータを転送する場合に、前記チャネル手
段を介して、前記第1の組のデバイスの性能を前記第2
の組のデバイスの比較的より低い性能から隔離するステ
ップと、 (c)前記バスに連結される、少なくとも1個のアドレ
スマッピングされた入力/出力ポート手段を含む、入力
/出力制御器手段を利用して前記第1のバスと前記第2
のバスの間でデータを転送するステップと、 (d)前記制御器手段を介して前記第1のバスと前記第
2のバスの間でデータを転送する場合に、前記ポート手
段を介して、前記第1の組のデバイスの性能を前記第2
の組のデバイスの比較的より低い性能から隔離するステ
ップとを含む、方法。 - (53)可変幅データ転送を適用させるように、前記第
2のバスから前記第1のバスへ転送されるデータをパッ
キングするステップをさらに含む、請求項52に記載の
方法。 - (54)可変幅データ転送を適用させるように、前記第
1のバスから前記第2のバスへ転送されるデータを送り
込むステップをさらに含む、請求項53に記載の方法。 - (55)前記第2のバスへ転送されるデータ信号ととも
に、前記アクセス手段と前記制御器手段により前記第2
のバスへ転送されるアドレス信号を多重化するステップ
をさらに含む、請求項52に記載の方法。 - (56)前記ポート手段と前記チャネル手段へのアクセ
スに優先順位をつけるステップをさらに含む、請求項5
2に記載の方法。 - (57)複数個のポート手段が存在するときはいつでも
、前記ポート手段へのアクセスに優先順位をつけるステ
ップをさらに含む、請求項56に記載の方法。 - (58)複数個のチャネル手段が存在するときはいつで
も、前記チャネル手段へのアクセスに優先順位をつける
ステップをさらに含む、請求項56に記載の方法。 - (59)データ転送とアドレス転送の両方に対しパリテ
ィをチェックするステップをさらに含む、請求項52に
記載の方法。 - (60)前記制御器手段と前記チャネル手段とを制御す
るために使用される複数個の組のレジスタを初期設定す
るステップをさらに含む、請求項52に記載の方法。 - (61)前記アクセス手段を介して転送する場合の前記
隔離するステップが、前記CPUにより前記アクセス手
段の動作をプログラム実行から結合解除するステップを
さらに含む、請求項52に記載の方法。 - (62)前記アクセス手段を介する前記隔離する方法が
、CPU動作とは無関係にデータ転送アドレスを決定す
るように前記アクセス手段をプログラミングするステッ
プをさらに含む、請求項52に記載の方法。 - (63)前記アクセス手段を介する前記転送するステッ
プがシーケンシャルでなく実施される、請求項52に記
載の方法。 - (64)前記チャネル手段を介する前記隔離するステッ
プが、プログラミングされたレジスタ手段の制御のもと
で、巻第2のバスと前記第2のバスの間で転送されるデ
ータをキュー手段へバッファするステップをさらに含む
、請求項54に記載の方法。 - (65)前記チャネル手段を介する前記隔離するステッ
プが、前記キュー手段においてバッファするために、前
記アクセス手段を介して前記第2のバスから転送される
パッキングされた語長データを有する前記第1のバスか
ら前記アクセス手段に入力される語長データを多重化す
るステップをさらに含む、請求項64に記載の方法。 - (66)前記キュー手段においてバッファされるデータ
が、前記第1のバスと前記キュー手段の間でのデータ転
送と関連する待ち時間を回避するように前記CPUによ
り直接的に操作され得る、請求項64に記載の方法。 - (67)前記チャネル手段を介する前記隔離するステッ
プが、前記第1のバスと前記ステップ2のバスの間で転
送速度を制御するステップをさらに含む、請求項52に
記載の方法。 - (68)バスの大きさ決めを実施するステップをさらに
含む、請求項52に記載の方法。 - (69)前記ポート手段を介する前記隔離するステップ
が、ポート手段動作を前記第1のバスに取付けられる前
記デバイスの組の動作とオーバラップさせるステップを
さらに含む、請求項52に記載の方法。 - (70)前記チャネル手段を介する前記隔離するステッ
プが、チャネル手段動作を前記第1のバスに取付けられ
る前記デバイスの組の動作オーバラップさせるステップ
をさらに含む、請求項52に記載の方法。 - (71)前記ポート手段を介する前記隔離するステップ
が、前記CPUにより前記制御器手段内の前記ポート手
段の動作をプログラム実行から結合解除するステップを
さらに含む、請求項52に記載の方法。 - (72)前記結合解除が、先読み動作および後書き動作
の実現によりオーバラップされた入力/出力を実施する
ことを介して達成される、請求項72に記載の方法。 - (73)前記ポート手段に入力される第1のバスアドレ
スが予め選択されたポート手段アドレス空間内にあるか
どうかを決定するステップをさらに含む、請求項52に
記載の方法。 - (74)ポートが前記第1のバスにより されているときはいつでも、ポートに入力される第1の
バスアドレスをポートから出力される第2のバスアドレ
スに変換するステップをさらに含む、請求項73に記載
の方法。 - (75)前記変換するステップが、前記第1のバスアド
レスから予め選択された数の上位ビットをマスキングア
ウトしかつ前記ビットを第2のバスアドレスの同数の上
位ビットと置換することにより実施される、請求項74
に記載のデータ転送制御器。 - (76)前記結合解除するステップが、前記ポート手段
により前記第2のバスへおよびそこから転送されるデー
タをバッファするステップをさらに含む、請求項72に
記載の方法。 - (77)前記オーバラップされた入力/出力を実施する
ステップが、 (a)所与のポート手段が直接読出/書込動作の代わり
に先読み/後書き動作を実施することを可能にされるか
どうかを決定するステップと、(b)前記第2のバスに
よるアクセスが進行中であり得るとしても、先読み/後
書き動作が可能化されるときはいつでも前記第1のバス
によるアクセスに即座に応答するステップとをさらに含
む、請求項76に記載の方法。 - (78)前記応答するステップが、 (a)前記第1のバスアクセスのアドレスをラッチする
ステップと、 (b)前記アクセスが読出であるかどうかを決定するス
テップと、 (c)前記第2のバス上のいずれのアクセスとも無関係
に、前記アクセスが読出であることが決定されるときは
いつでも、前記読出を実施するステップとをさらに含む
、請求項77に記載のデータ転送制御器。 - (79)前記第2のバス上のいずれのアクセスとも無関
係に、前記アクセスが読出でないことが決定されるとき
はいつでも、読出を実施するステップをさらに含む、請
求項78に記載の方法。 - (80)前記読出を実施する前記ステップが、(a)所
与のポート手段が第1のバス読出によりアクセスされる
ときはいつでも、前記ポート手段にストアされたパッキ
ングされたデータを前記第1のバスに転送するステップ
と、 (b)第1のバスアクセスの変換されていない入力アド
レスをバッファするステップと、(c)前記入力アドレ
スを対応する第2のバスアドレスに変換するステップと
、 (d)前記変換されたアドレスを用いて前記第2のバス
からデータを読出ステップと、 (e)前記第2のバスから読出されたデータを前記ポー
ト手段にストアするステップとをさらに含む、請求項7
9に記載の方法。 - (81)所与のポートが先読み/後書き動作を実施する
間は、前記第1のバスを介する前記ポートへのその後の
アクセスを抑制するステップをさらに含む、請求項80
に記載の方法。 - (82)前記書込を実施する前記ステップが、(a)前
記ポート手段が第1のバス書込によりアクセスされると
きはいつでも、前記第1のバスから前記第2のバスへ前
記ポート手段を介して転送されるデータを前記ポート手
段にストアするステップと、 (b)第1のバスアクセスの変換されていない入力アド
レスをバッファするステップと、(c)前記入力アドレ
スを対応する第2のバスアドレスに変換するステップと
、 (d)前記変換されたアドレスと前記ポート手段にスト
アされたデータを用いて前記バス書込を実施するステッ
プとをさらに含む、請求項79に記載のデータ転送制御
器。 - (83)パッキングおよび送り込み回路網手段を介して
前記ポート手段から前記第2のバスへデータを送り込む
ステップをさらに含む、請求項82に記載の方法。 - (84)所与のポートが先読み/後書き動作を実施する
間は、前記第1のバスを介する前記ポートへのその後の
アクセスを抑制するステップをさらに含む、請求項83
に記載の方法。 - (85)前記先読み動作および後書き動作を別に実施す
るステップをさらに含み、前記ポート手段の第1のもの
が前記先読み機能を実施するために利用される一方で、
前記ポート手段の第2のものが後書き機能を並列に実施
するために利用される、請求項72に記載の方法。 - (86)(a)前記第2のバスからの転送 の際にデータをパッキングするステップをさらに含み、
前記パッキングするステップが、前記第2のバス上の多
数のバイトおよびハーフワード転送を前記第1のバス上
のより少数のハーフワードおよびワード転送に変換する
ステップをさらに含み、さらに (b)前記第1のバスへのパッキングされたデータの全
ワード転送を容易にするために、パッキングされたデー
タをバッファするステップをさらに含む、請求項52に
記載の方法。 - (87)前記第1のバスから前記第2のバスへの変換の
際にデータを送り込むステップをさらに含み、前記送り
込むステップが、前記第1のバス上の多数のワードおよ
びハーフワード転送を前記転送を前記第2のバス上のよ
り多数のハーフワードおよびバイト転送に変換するステ
ップをさらに含む、請求項52に記載の方法。 - (88)前記変換するステップが、 (a)送り込まれるデータをバッファするステップと、 (b)前記第2のバスへの転送のために、1度に1個、
バッファされたデータのハーフワードおよびバイトを抽
出するステップとをさらに含む、請求項87に記載の方
法。 - (89)両方のバス上のアクセス間の同時実行で、前記
第1のバス上のアクセスの待ち時間および帯域幅を前記
第2のバス上のアクセスの待ち時間および帯域幅から結
合解除するステップをさらに含む、請求項52に記載の
方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US132,296 | 1987-12-15 | ||
US07/132,096 US5142672A (en) | 1987-12-15 | 1987-12-15 | Data transfer controller incorporating direct memory access channels and address mapped input/output windows |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01205366A true JPH01205366A (ja) | 1989-08-17 |
Family
ID=22452455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63316046A Pending JPH01205366A (ja) | 1987-12-15 | 1988-12-14 | データを転送するための方法およびそのためのデータ転送制御器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5142672A (ja) |
EP (1) | EP0321156B1 (ja) |
JP (1) | JPH01205366A (ja) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317715A (en) * | 1987-12-15 | 1994-05-31 | Advanced Micro Devices, Inc. | Reduced instruction set computer system including apparatus and method for coupling a high performance RISC interface to a peripheral bus having different performance characteristics |
US5546553A (en) * | 1990-09-24 | 1996-08-13 | Texas Instruments Incorporated | Multifunctional access devices, systems and methods |
US5333294A (en) * | 1990-10-09 | 1994-07-26 | Compaq Computer Corporation | Configurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width |
US5274763A (en) * | 1990-12-28 | 1993-12-28 | Apple Computer, Inc. | Data path apparatus for IO adapter |
US5369748A (en) * | 1991-08-23 | 1994-11-29 | Nexgen Microsystems | Bus arbitration in a dual-bus architecture where one bus has relatively high latency |
JPH0561951A (ja) * | 1991-08-30 | 1993-03-12 | Fujitsu Ltd | イメージ処理装置 |
CA2069711C (en) * | 1991-09-18 | 1999-11-30 | Donald Edward Carmon | Multi-media signal processor computer system |
US5341508A (en) * | 1991-10-04 | 1994-08-23 | Bull Hn Information Systems Inc. | Processing unit having multiple synchronous bus for sharing access and regulating system bus access to synchronous bus |
US5341495A (en) * | 1991-10-04 | 1994-08-23 | Bull Hn Information Systems, Inc. | Bus controller having state machine for translating commands and controlling accesses from system bus to synchronous bus having different bus protocols |
JPH07122865B2 (ja) * | 1992-01-02 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | バス動作の動作速度を制御するようにしたバス・インターフェースを有するコンピュータ・システム |
CA2134459C (en) * | 1992-05-15 | 2002-07-30 | Clark L. Buxton | Enhanced parallel port |
JPH05324546A (ja) * | 1992-05-18 | 1993-12-07 | Canon Inc | 情報処理システム |
US5499384A (en) * | 1992-12-31 | 1996-03-12 | Seiko Epson Corporation | Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device |
US5546548A (en) * | 1993-03-31 | 1996-08-13 | Intel Corporation | Arbiter and arbitration process for a dynamic and flexible prioritization |
US5550989A (en) * | 1993-05-28 | 1996-08-27 | International Business Machines Corporation | Bridge circuit that can eliminate invalid data during information transfer between buses of different bitwidths |
EP0706687A4 (en) * | 1993-07-02 | 1997-07-16 | Elonex Technologies Inc | HIGH SPEED CENTRAL UNIT INTERCONNECTION BUS ARCHITECTURE |
JP3619532B2 (ja) * | 1993-11-08 | 2005-02-09 | 株式会社ルネサステクノロジ | 半導体集積回路装置 |
US5805927A (en) * | 1994-01-28 | 1998-09-08 | Apple Computer, Inc. | Direct memory access channel architecture and method for reception of network information |
US5828856A (en) * | 1994-01-28 | 1998-10-27 | Apple Computer, Inc. | Dual bus concurrent multi-channel direct memory access controller and method |
US5655151A (en) * | 1994-01-28 | 1997-08-05 | Apple Computer, Inc. | DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer |
DE4407571A1 (de) * | 1994-03-07 | 1995-09-14 | Siemens Ag | System zur Verarbeitung von Daten einer technischen Anlage |
US5526496A (en) * | 1994-04-22 | 1996-06-11 | The University Of British Columbia | Method and apparatus for priority arbitration among devices in a computer system |
US5572687A (en) * | 1994-04-22 | 1996-11-05 | The University Of British Columbia | Method and apparatus for priority arbitration among devices in a computer system |
US5649127A (en) * | 1994-05-04 | 1997-07-15 | Samsung Semiconductor, Inc. | Method and apparatus for packing digital data |
US5524216A (en) * | 1994-05-13 | 1996-06-04 | Hewlett-Packard Company | Coherent transaction ordering in multi-tiered bus system |
US5721882A (en) * | 1994-08-05 | 1998-02-24 | Intel Corporation | Method and apparatus for interfacing memory devices operating at different speeds to a computer system bus |
US5623694A (en) * | 1994-10-03 | 1997-04-22 | International Business Machines Corporation | Aborting an I/O operation started before all system data is received by the I/O controller after detecting a remote retry operation |
US5495614A (en) * | 1994-12-14 | 1996-02-27 | International Business Machines Corporation | Interface control process between using programs and shared hardware facilities |
US5619497A (en) * | 1994-12-22 | 1997-04-08 | Emc Corporation | Method and apparatus for reordering frames |
US5799207A (en) * | 1995-03-28 | 1998-08-25 | Industrial Technology Research Institute | Non-blocking peripheral access architecture having a register configure to indicate a path selection for data transfer between a master, memory, and an I/O device |
US5673400A (en) * | 1995-06-06 | 1997-09-30 | National Semiconductor Corporation | Method and apparatus for identifying and controlling a target peripheral device in a multiple bus system |
US5909560A (en) * | 1995-06-06 | 1999-06-01 | National Semiconductor Corporation | Target peripheral device detection in a multi-bus system |
WO1997044739A1 (en) * | 1996-05-23 | 1997-11-27 | Advanced Micro Devices, Inc. | Apparatus for converting data between different endian formats and system and method employing same |
EP0817085A1 (en) * | 1996-06-25 | 1998-01-07 | Motorola, Inc. | Addressing means and method |
US5715197A (en) | 1996-07-29 | 1998-02-03 | Xilinx, Inc. | Multiport RAM with programmable data port configuration |
US5832205A (en) * | 1996-08-20 | 1998-11-03 | Transmeta Corporation | Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed |
US6199152B1 (en) | 1996-08-22 | 2001-03-06 | Transmeta Corporation | Translated memory protection apparatus for an advanced microprocessor |
US6504854B1 (en) | 1998-04-10 | 2003-01-07 | International Business Machines Corporation | Multiple frequency communications |
JP2000020490A (ja) * | 1998-07-01 | 2000-01-21 | Fujitsu Ltd | 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 |
US6968469B1 (en) | 2000-06-16 | 2005-11-22 | Transmeta Corporation | System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored |
US7519779B2 (en) * | 2002-08-26 | 2009-04-14 | International Business Machines Corporation | Dumping using limited system address space |
US20050216716A1 (en) * | 2004-03-29 | 2005-09-29 | Hoffman Philip M | System and method for licensing and distribution of I/O in partitioned computer systems |
US20060069818A1 (en) * | 2004-09-27 | 2006-03-30 | Cliff Mather | Synchronizing direct memory access and evacuation operations in a computer system |
US10403333B2 (en) * | 2016-07-15 | 2019-09-03 | Advanced Micro Devices, Inc. | Memory controller with flexible address decoding |
US11574372B2 (en) | 2017-02-08 | 2023-02-07 | Upstream Data Inc. | Blockchain mine at oil or gas facility |
US11678615B2 (en) | 2018-01-11 | 2023-06-20 | Lancium Llc | Method and system for dynamic power delivery to a flexible growcenter using unutilized energy sources |
US11016553B2 (en) | 2018-09-14 | 2021-05-25 | Lancium Llc | Methods and systems for distributed power control of flexible datacenters |
US11031787B2 (en) | 2018-09-14 | 2021-06-08 | Lancium Llc | System of critical datacenters and behind-the-meter flexible datacenters |
US10873211B2 (en) | 2018-09-14 | 2020-12-22 | Lancium Llc | Systems and methods for dynamic power routing with behind-the-meter energy storage |
US10367353B1 (en) | 2018-10-30 | 2019-07-30 | Lancium Llc | Managing queue distribution between critical datacenter and flexible datacenter |
US10452127B1 (en) * | 2019-01-11 | 2019-10-22 | Lancium Llc | Redundant flexible datacenter workload scheduling |
US11128165B2 (en) | 2019-02-25 | 2021-09-21 | Lancium Llc | Behind-the-meter charging station with availability notification |
CA3139776A1 (en) | 2019-05-15 | 2020-11-19 | Upstream Data Inc. | Portable blockchain mining system and methods of use |
US11397999B2 (en) | 2019-08-01 | 2022-07-26 | Lancium Llc | Modifying computing system operations based on cost and power conditions |
US11868106B2 (en) | 2019-08-01 | 2024-01-09 | Lancium Llc | Granular power ramping |
US11016458B2 (en) | 2019-10-28 | 2021-05-25 | Lancium Llc | Methods and systems for adjusting power consumption based on dynamic power option agreement |
US11042948B1 (en) | 2020-02-27 | 2021-06-22 | Lancium Llc | Computing component arrangement based on ramping capabilities |
EP4196876A4 (en) | 2020-08-14 | 2024-04-10 | Lancium Llc | PERFORMANCE-CONSCIOUS PLANNING |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58223833A (ja) * | 1982-06-23 | 1983-12-26 | Fujitsu Ltd | ダイレクト・メモリ・アクセス制御方式 |
JPS59721A (ja) * | 1982-06-28 | 1984-01-05 | Panafacom Ltd | 情報転送制御方式 |
JPS6010379A (ja) * | 1983-06-30 | 1985-01-19 | Nec Corp | デ−タ処理システムのデ−タ転送方式 |
JPS61285566A (ja) * | 1985-06-13 | 1986-12-16 | Panafacom Ltd | 入出力制御装置 |
JPS6275867A (ja) * | 1985-09-30 | 1987-04-07 | Toshiba Corp | デ−タ転送制御方式 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3940743A (en) * | 1973-11-05 | 1976-02-24 | Digital Equipment Corporation | Interconnecting unit for independently operable data processing systems |
US4313160A (en) * | 1976-08-17 | 1982-01-26 | Computer Automation, Inc. | Distributed input/output controller system |
US4309754A (en) * | 1979-07-30 | 1982-01-05 | International Business Machines Corp. | Data interface mechanism for interfacing bit-parallel data buses of different bit width |
IT1121031B (it) * | 1979-09-19 | 1986-03-26 | Olivetti & Co Spa | Sistema di elaborazione di dati multiprocessore |
JPS58105371A (ja) * | 1981-10-15 | 1983-06-23 | コンバ−ジエント・テクノロジ−ズ・インコ−ポレ−テツド | 多重計算装置とそれらに用いる通信バスの構造 |
US4568930A (en) * | 1983-01-21 | 1986-02-04 | E-Systems, Inc. | Multinodal data communication network |
US4716523A (en) * | 1985-06-14 | 1987-12-29 | International Business Machines Corporation | Multiple port integrated DMA and interrupt controller and arbitrator |
US4847750A (en) * | 1986-02-13 | 1989-07-11 | Intelligent Instrumentation, Inc. | Peripheral DMA controller for data acquisition system |
US4821185A (en) * | 1986-05-19 | 1989-04-11 | American Telephone And Telegraph Company | I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer |
US4851990A (en) * | 1987-02-09 | 1989-07-25 | Advanced Micro Devices, Inc. | High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure |
US4947366A (en) * | 1987-10-02 | 1990-08-07 | Advanced Micro Devices, Inc. | Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities |
-
1987
- 1987-12-15 US US07/132,096 patent/US5142672A/en not_active Expired - Lifetime
-
1988
- 1988-12-09 EP EP88311680A patent/EP0321156B1/en not_active Expired - Lifetime
- 1988-12-14 JP JP63316046A patent/JPH01205366A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58223833A (ja) * | 1982-06-23 | 1983-12-26 | Fujitsu Ltd | ダイレクト・メモリ・アクセス制御方式 |
JPS59721A (ja) * | 1982-06-28 | 1984-01-05 | Panafacom Ltd | 情報転送制御方式 |
JPS6010379A (ja) * | 1983-06-30 | 1985-01-19 | Nec Corp | デ−タ処理システムのデ−タ転送方式 |
JPS61285566A (ja) * | 1985-06-13 | 1986-12-16 | Panafacom Ltd | 入出力制御装置 |
JPS6275867A (ja) * | 1985-09-30 | 1987-04-07 | Toshiba Corp | デ−タ転送制御方式 |
Also Published As
Publication number | Publication date |
---|---|
EP0321156A3 (en) | 1991-04-03 |
US5142672A (en) | 1992-08-25 |
EP0321156A2 (en) | 1989-06-21 |
EP0321156B1 (en) | 1998-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH01205366A (ja) | データを転送するための方法およびそのためのデータ転送制御器 | |
US4947366A (en) | Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities | |
US4878166A (en) | Direct memory access apparatus and methods for transferring data between buses having different performance characteristics | |
US5317715A (en) | Reduced instruction set computer system including apparatus and method for coupling a high performance RISC interface to a peripheral bus having different performance characteristics | |
US5191656A (en) | Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters | |
US5471488A (en) | Clock fault detection circuit | |
US4851990A (en) | High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure | |
EP1047994B1 (en) | Intelligent data bus interface using multi-port memory | |
US7526626B2 (en) | Memory controller configurable to allow bandwidth/latency tradeoff | |
US5664223A (en) | System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively | |
US6493776B1 (en) | Scalable on-chip system bus | |
US6353867B1 (en) | Virtual component on-chip interface | |
JP4447892B2 (ja) | マルチコア通信モジュールを組み入れたデータ通信システム及び方法 | |
US5644729A (en) | Bidirectional data buffer for a bus-to-bus interface unit in a computer system | |
US5386517A (en) | Dual bus communication system connecting multiple processors to multiple I/O subsystems having a plurality of I/O devices with varying transfer speeds | |
US5544346A (en) | System having a bus interface unit for overriding a normal arbitration scheme after a system resource device has already gained control of a bus | |
US6370611B1 (en) | Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data | |
US5448558A (en) | Method and apparatus for managing packet FIFOS | |
US6415348B1 (en) | Flexible microcontroller architecture | |
US5274795A (en) | Peripheral I/O bus and programmable bus interface for computer data acquisition | |
US6553439B1 (en) | Remote configuration access for integrated circuit devices | |
US20020184453A1 (en) | Data bus system including posted reads and writes | |
US6567881B1 (en) | Method and apparatus for bridging a digital signal processor to a PCI bus | |
JPH0954746A (ja) | コンピュータシステム | |
WO2004064286A2 (en) | Flow-through register |