JP2853809B2 - 周辺コントローラのためのバッファメモリサブシステムおよび方法 - Google Patents
周辺コントローラのためのバッファメモリサブシステムおよび方法Info
- Publication number
- JP2853809B2 JP2853809B2 JP1222791A JP22279189A JP2853809B2 JP 2853809 B2 JP2853809 B2 JP 2853809B2 JP 1222791 A JP1222791 A JP 1222791A JP 22279189 A JP22279189 A JP 22279189A JP 2853809 B2 JP2853809 B2 JP 2853809B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- data
- buffer memory
- buffer
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
Description
ァメモリサブシステムに関し、特に、周辺コントローラ
によってバッファメモリにストアされているデータのア
クセスを容易にするバッファメモリサブシステムに関す
る。
タ、モデムおよび同等のような周辺装置は適切な動作の
ために特定の制御ロジックをしばしば必要とする。初期
の簡単なシステムでは、中央処理装置(CPU)は直接周
辺装置の動作を制御した。しかしシステムがより複雑に
なり、より多くの周辺装置が複雑なシステムに加えられ
て、データ処理動作の速度が向上すると、CPUが十分に
周辺装置を制御しかつまだ他の業務、たとえばシステム
制御、インターフェースおよびデータ取扱いに利用でき
るのは不可能であることが明らかとなった。
ルまたはバスを介して1つまたはそれ以上の周辺装置に
接続されていた。しかし、単一のデータ通信バスのスル
ープットはCPUが2つまたはそれ以上の装置とアクセス
または通信を試みようとする間もなく低下した。
作業をより速く行なうことができ、全体のデータ通信バ
ス使用を増やした。バス通信のこの増加はデータのボト
ルネックという増大したリスクが結果として生じた。こ
うして、より高度なアービトレーション機構が周辺装置
とCPUとの間の通信を制御するために必要となった。
周辺装置を知的に制御するように開発されてCPUが他の
動作のために解放されるようになると大きな進歩が見ら
れた。各周辺コントローラはバスの個々の周辺装置を制
御するように与えられた。周辺装置が最も効率的なのは
同じ種類の装置(たとえば磁気ハードディスク)を1つ
またはそれ以上制御することである。
通信バスが設けられた。この方法で、高速の効率的なデ
ータ通信バスが周辺コントローラと周辺装置の間の高速
通信のために使うことができた。他方、CPUとコントロ
ーラの間のデータ通信は全体的システム管理のためにコ
ントローラと周辺装置の間の通信と同じ高いスピード率
で取扱う必要は一般にないので、より遅いより効率的で
ないCPUデータ通信バスをCPUと周辺コントローラの間で
使うことができる。
れたバッファ装置としての動的メモリの使用も非常に効
率的であることがわかった。バッファメモリは周辺装置
(たとえばディスク)からのデータを一時的にストアす
る、たとえば修正をペンディングさせることを可能にし
た。これは、ホストプロセッサに接続されている小さな
コンピュータシステムインターフェイス(SCSI)のよう
な高速データ通信バスからのシステムへのデータ入力が
直接周辺コントローラに伝送することができる間起こり
得る。この方法だと、周辺装置と周辺コントローラの間
の通信は、ホストプロセッサと残りの周辺サブシステム
の間の他のより高速な通信を制限する必要はない。
データ通信バスはバッファバスとして知られている。周
辺コントローラはほとんどの場合バッファバスへのアク
セスを有するが、時たまバッファバスにある装置へのア
クセスが必要なのはCPUである。その場合、CPUと周辺コ
ントローラがバッファバスに対して競合するとき、アー
ビトレーション機構が必要となる。
コントローラとCPUの間で与えられた。このアービタは
外部ロジックからなり、周辺コントローラとのまたCPU
との通信のために別々のトランシーバを必要とする。最
近、より少ない構成部品で印刷回路基板のスペースをよ
り少なくとる要求が前記の説明したアービタを不適当に
している。
辺コントローラ自体の中にアービトレーション機構が設
けられたバッファメモリサブシステムを提供することで
ある。
ラと競合することなくCPUがバッファバスへアクセスす
ることを可能にされたバッファメモリサブシステムを提
供することである。
つの別々の通信バスで動作することが可能にされたバッ
ファメモリサブシステムを提供することである。
リアクセス開始装置からのバッファバスアクセス要求を
アービトレートするようアービトレーション機構が周辺
コントローラに設けられたバッファメモリサブシステム
を提供することである。
メモリサブシステムが与えられる。CPUはデータ転送を
開始するために与えられる。ホストアダプタも与えられ
る。メモリバッファはデータを一時的にストアするため
に使われる。周辺コントローラは少なくとも2つのデー
タ通信バス、CPUと周辺コントローラの間に接続されるC
PUデータ通信バスと、CPUデータ通信バスから分離され
て周辺コントローラに、メモリバッファに、そしてホス
トアダプタに、接続されるバッファデータ通信バスを有
する環境で動作するために適合される。この方法で、CP
Uが周辺コントローラによってメモリバッファをアクセ
スすることがでるための機構が与えられる。
ときに、添付の図面を参照することによって得ることが
できる。
ローラとしても知られるバッファメモリサブシステムの
ブロック図が示される。サブシステムはマイクロプロセ
ッサまたはマイクロコントローラに対する知的周辺装置
であり、データ直列フォーマット取扱い、データ完全性
およびディスクデータ管理のタスクを引受ける。参照番
号10の仮想線で一般に示されるプロセッサはRAM/ROMメ
モリ12、中央処理装置14およびディスクインターフェイ
ス16を含む。プロセッサ10は図で仮想線で示されるよう
に1つの集積化された回路チップの上に製作することが
できるが、プロセッサ10は3つの別々のコンポーネン
ト、メモリ12、CPU14およびディスクインターフェイス1
6を有する論理的装置であることを理解するべきであ
る。プロセッサ10はSCSIコマンド解読、ディスクデータ
スペース割当て、ディスクメカニカル制御およびシステ
ムインターフェース管理を行なう。説明の簡潔のため、
また以下で説明されるホストプロセッサとの混乱を避け
るために、プロセッサ10は以降はCPU10と呼ばれる。
ス22によってCPU10のコンポーネントに接続される。
トアダプタ24である。ホストアダプタ24はSCSIバスのよ
うに適当な高速データ通信バスを通って図示されていな
いホストプロセッサに接続される。ホストアダプタ24は
8ビット幅のバッファ26によって周辺コントローラ20に
接続される。このバッファバス26はこの図では区別され
ないアドレス部分とデータ部分から実際なる。さらにバ
ッファバス26に接続されるのは外部バッファメモリ28と
エラープロセッサ30である。
バス26のマスタである。CPU10は、以下でより詳細に説
明されるように、周辺コントローラ20が必要なアービト
レーションを行なうときのみこのバス26をアクセスする
ことができる。図示されていないプロセッサのようなSC
SI装置と外部バッファメモリ28の間のホストデータ転送
は、CPUデータバス22に影響することなくバッファバス2
6で行なうことができる。すなわち、周辺コントローラ
データインターフェイスのホストはCPU10に対して完全
に自律および独立している。直接の制御/データ接続は
2つの装置が最小のCPU介入で予めプログラムされたデ
ータ転送を行なうことを可能とする。
よってCPU10に接続される。ディスク32は好ましい実施
例では磁気ハードディスクであるが、光ハードディスク
または他の適当な大容量記憶の形であってもよい。ディ
スク32と周辺コントローラ20の間に接続されるのはデー
タエンコーダとデコーダ36ならびにディスク読取/書込
論理装置38である。
(第1図)のブロック図が示されている。バッファバス
インターフェイスコントローラ40はバッファバス26を通
って伝送される予定のデータのアービトレーションに使
われる。
42はホストアダプタ24(第1図)に対応し、バッファイ
ンターフェイスコントローラ40に接続される。同様に、
エラープロセッサ制御装置44もバッファバスインターフ
ェイスコントローラ40に接続され、エラープロセッサ30
(第1図)に対応する。バッファメモリ制御装置46も同
様にバッファバスインターフェイスコントローラ40に接
続され、外部バッファメモリ28(第1図)に対応する。
バッファメモリ制御装置46はデータバッファリングおよ
び取扱いに対して責任がある。最高4メガバイトの動的
バッファメモリを直接制御して、ディスク32とホストプ
ロセッサバスの間のデータの流れはCPUの介入なしでバ
ッファメモリ制御装置46経由でなされる。
ターフェイスコントローラ42に、ユーザレジスタファイ
ル50の他に、内部シーケンサRAM52、および16ビットシ
ーケンサ54とシーケンサプログラムROM56を含むシーケ
ンサ装置53が接続される。
マットコントローラ60である。フォーマット制御は好ま
しい実施例のソフトウェアに与えられる機能であって、
予め定められらユーザディスクプロトコル基準に従って
ロードすることができる。フォーマットコントローラ60
はしかし、代替の実施例において、固定ファーマット制
御を与えるためにハードワイヤされることもできる。
接続され、それはバッファバス26につながれているバッ
ファ66に接続される。
ジスタ64に接続される。並直列変換器70はデータをディ
スク32(第1図)にとって適当な形に変換するためにFI
FO64に接続される。
参照番号72で示される。この装置72はディスク32からの
読取りまたは書込みの前に信号を開始させる。開始信号
はフォーマットコントローラ60によっても発生すること
ができる。ユーザレジスタファイル50に接続されるのは
CPUインターフェイス74であり、これはCPUバス22(第1
図)につながれている。
のバッファバスインターフェイスコントローラ40(第2
図)で実施されるように、本発明のアービトレーション
機構の詳細なブロック図が示される。
レスバス22aとデータバス22bを含むCPU通信バス22とバ
ッファバス26の2つの部分(アドレスおよびデータ)の
間に配置される。バッファバスインターフェイスコント
ローラ40の中心はバッファバスアービタ装置100であ
る。アービタ100は先取り可能であるように設計される
ことができ、またユーザのアプリケーションの要求に依
存して1つのバイトまたは複数のバイトのバーストをサ
ポートすることができる。
セス論理演算装置102、ホストアダプタリクエスト論理
演算装置104、データFIFO制御論理演算装置106、リフレ
ッシュリクエスト論理演算装置108、およびCPUアクセス
リクエスト論理演算装置110である。前述の装置102−11
0の各々は従来の態様で使われているリクエストおよび
肯定応答ラインによってアービタ100に接続される。
れるのはホストアダプタ制御42へのラインである。イン
ターフェイスポート112はバッファバス26のデータ部分
であるバッファデータバス26bに接続される。インター
フェイスポート112に接続されるのは、CPUデータバス22
bに接続されるライン115である。
算装置106に、またライン114によってインターフェイス
ポート112の両方に接続される。ディスクデータFIFO装
置116も、ディスクデータ並直列変換器70(第2図)に
データを伝送するために、またディスクデータ直並列変
換器62からデータを受取るために適合される。
照番号120で示される一連のポインタである。ポインタ1
20はシーケンサポインタ120a、CPUポインタ120b、ディ
スクデータポインタ120c、およびリフレッシュアドレス
ポインタ120dを含む。ポインタ120とバッファアドレス
バス26aの間に接続されるのはアドレスマルチプレクサ
ドライバ122であり、これは一度にポインタ1つずつか
らのアドレスをバッファバス26にアドレス部分にロード
されることを可能にする。
参照番号124によって識別される。装置124は複数個のバ
ッファメモリ読取/書込制御信号だけでなく、装置読取
および装置書込信号ならびにホストアダプタおよびエラ
ープロセッサ選択信号を発生させるために適合される。
のアドレス割当図が示される。
アドレススペースを有する。これらの256ロケーション
のうち、128のアドレス(00から7F)は内部レジスタに
写像(map)される。残りのアドレス(80からFF)はCPU
10がバッファバス26で装置/メモリへのアクセスを可能
にする。
タ、操作パラメータ、コマンドパラメータおよび状態パ
ラメータに分けることができる。その上、マスタ制御レ
ジスタは全体の装置制御を与える。
のロケーションは一般に参照番号200として示される。
ロケーション80から9Fは32個のロケーションを示し、参
照番号202として示される。これらのロケーションはホ
ストアダプタ装置24(第1図)に写像される。アドレス
A0からBFを有する予約ロケーション204の後には、アド
レスC0からDFまでの32個のロケーションがあり、エラー
プロセッサ30(第1図)に写像されるロケーションを表
わし、参照番号206として示される。最後に、アドレスE
0からFFまでは外部バッファメモリ28(第1図)に写像
される32個のロケーション208が示される。
によってCPU10によってアクセスすることができる。3
つのデータアクセス機構、固定モード、シーケンシャル
モードおよびランダムモードが与えられる。固定モード
では、CPUはCPUのポインタが指しているロケーションを
繰返しアクセスすることができる。シーケンシャルモー
ドでは、CPUはポインタを更新することなくメモリの隣
接するロケーションをアクセスすることができる。(周
辺コントローラは各アクセスの後ポインタを増分す
る。)ランダムモードでは、ポインタを再書込みするこ
となくいかなる32バイトセクションへのランダムなアク
セスも可能である。
構の詳細が示される。24ビット幅のポインタ260は周辺
コントローラ20の内部レジスタスペース200(第4図)
で3バイト幅のロケーションを占める。ポインタ260の
ビット23と24は、好ましい実施例では周辺コントローラ
は4メガバイト外部メモリ28しかサポートしないので使
われない。
き、バッファメモリ28において32バイトの領域またはパ
ラグラフ256を識別する17ビットのパラグラフポインタ2
50と、32バイトパラグラフ256内で特定のバイトを識別
する5ビットオフセットポインタ252がある。
ドが与えられる。5ビットオフセット値は直接CPU10に
よって与えられることができる。
アクセスモードを使ってバッファの装置およびメモリを
CPU10がアクセスすることができるように働く。ここで
フロースルーアクセスモードとは、メモリの選択された
範囲内の複数のメモリロケーションを介してCPUがラン
するモードを意味している。サブシステムの合計アドレ
ススペース(256ロケーション−A[7:0])のうち、下
位の128のロケーション(00から7F)が内部レジスタに
写像される。CPU10がアドレススペースの上位128バイト
(80からFF)のロケーションをアクセスすると、このリ
クエストはバッファバス26に対するアクセスリクエスト
にトランスレートされる。
ワーアップシーケンスの間、誤り回復(比較的たまに起
こる)の間、およびデータ転送動作が開始されるとき
に、バッファメモリ28をアクセスすることができる。
以下のとおり: 1) CPU10は80からFFまでの範囲のメモリロケーショ
ンをアクセスすることによってフロースルーサイクルを
開始する; 2) サイクルはREADY信号を否定にすることによって
引き延ばされる; 3) アドレスがCPUアクセスリクエスト論理110によっ
てデコードされてアクセスするべきバッファバス装置/
メモリを決定し、内部バスアービタ100のリクエストが
発生される; 4) バスアービタ100がCPUアクセスリクエストを引き
受けることができるとき、適当なサイクルが実行され
る; 5) サイクルはREADY信号を表明(assert)すること
によって終了される。
優先事項に基づいて一定の優先機構を使用する: CPUクリエスト 内部シーケンサリクエスト(エラー修正のため) リフレッシュリクエスト バッファへ/からFIFO バッファへ/からホストアダプタ 前述のように、バッファメモリ28に加えて、バッファ
バス26に2つの装置、ホストアダプタ装置24とエラープ
ロセッサ30がサポートされる。CPU10がこれらの装置24
または30の1つに写像されたアドレスをアクセスすると
き、アクセスを選択された装置で行なわれる。装置24ま
たは30に与えられたアドレスはCPUアドレスライン(A
[4:0])の下位5ビット258のアドレスと同じである。
上位ビット260はローにされる。
され、C0からDFまでのアドレスは外部エラープロセッサ
30に写像される。
るレジスタスペースの読取りまたは書込みを実行するこ
とによっていつでもCPU10によってアクセスすることが
できる。すなわち、バッファメモリロケーションはCPU1
0にとってサブシステムのレジスタロケーションとして
見える。CPU10が適切なレジスタスペースをアクセスす
ることによってバッファメモリアクセスを開始すると、
リクエストされたアクセスが行なわれる。このアクセス
を行なうには、アービタ100はバッファバス26がそのと
き他のサイクルで使われるかもしれないのでアービトレ
ートしなければならない。READY信号は必要に応じてCPU
サイクルを長くするために使われる。
ドレスの部分は、CPU10によって前の書込サイクルでロ
ードされたバッファメモリポインタ260によって発生さ
れる。3つのバッファメモリアクセスモード、固定アク
セスモード、シーケンシャルアクセスモードおよびパラ
グラフランダムモードが与えられる。これらは図示され
ていないポインタ制御レジスタを適当にプログラムする
ことによって選択することができる。
レスされたロケーションに対してアクセスが与えられ
る。CPU10がアドレスロケーションE0をアクセスすると
きはいつも、CPUポインタがポイントするロケーション
がアクセスされる。そのメモリロケーションにストアさ
れている値はCPU10に返されて読取操作を完成させる。
バッファメモリへのデータ書込みは前述のポインタ機構
を使っていつでも同様に達成することができるのは理解
されるべきである。言い変えると、ここでの記述におい
て、メモリがアクセスできるときはいつでも、データは
同じアクセス機構を使うことによって読取りまたは書込
みすることができる。バッファメモリ28における他のロ
ケーションに対する後のCPUアクセスはCPUポインタを更
新する必要がある。
とおり: 1) CPUはCPUポインタを望ましいメモリロケーション
のアドレスでプログラムする; 2) CPUはポインタ制御レジスタを固定アクセスモー
ドのコードでプログラムする; 3) CPUは周辺コントローラアクセスサイクルを適切
なレジスタロケーション(好ましい実施例ではE0)で開
始する; 4) CPUは適する読取サイクルまたは書込サイクルを
開始する; 5) CPUアクセスリクエスト論理はCPUアクセスを検出
し、バスアービタのリクエストを発生させ、READY信号
を否定にすることによってCPUサイクルを長くする; 6) バスアービタがCPUアクセスサイクルが実行され
るのを可能にすると、CPUポインタは望ましいロケーシ
ョンのアドレスをバッファメモリに送る; 7) データはアドレスされたメモリロケーションから
読取られてCPUに返される(読取サイクル)、またはCPU
によって与えられたデータはアドレスされたメモリロケ
ーションに書込まれる(書込サイクル); 8) CPUアクセスサイクルはREADY信号を表明すること
によって終了させられる。
ションアドレスE0をアクセスするときはいつも、CPUポ
インタかポイントするロケーションがアクセスされる。
読取動作のため、そのメモリロケーションにストアされ
る値はCPU10に返される。その上、CPUポインタは増分さ
れる。
ロケーションE0を再度アクセスすると、次のシーケンシ
ャルメモリロケーションがアクセスされて、読取動作に
おいて、そのメモリロケーションにストアされた値はCP
U10に返される。これはCPU10によるCPUポインタの更新
を繰返すことなくバッファメモリ28への迅速なシーケン
シャルアクセスを可能にする。
プは以下のとおり: 1) CPUはCPUポインタを順々にアクセスされるべき第
1のメモリロケーションアレイのアドレスでプログラム
する; 2) CPUはポインタ制御レジスタをシーケンシャルア
クセスモードのコードでプログラムする; 3) CPUは周辺コントローラアクセスサイクルを適切
なレジスタロケーション(好ましい実施例ではE0)で開
始する; 4) CPUは適する読取サイクルまたは書込サイクルを
開始する; 5) CPUアクセスリクエスト論理はCPUアクセスを検出
し、バスアービタのリクエストを発生させ、READY信号
を否定にすることによってCPUサイクルを長くする; 6) バスアービタがCPUアクセスサイクルが実行され
るのを可能にすると、CPUポインタは望ましいロケーシ
ョンのアドレスをバッファメモリに送る; 7) データはアドレスされたメモリロケーションから
読取られてCPUに返される(読取サイクル)、またはCPU
によって与えられたデータはアドレスされたメモリロケ
ーションに書込まれる(書込サイクル); 8) CPUアクセスサイクルはREADY信号を表明すること
によって終了される; 9) 周辺コントローラはCPUポインタを増分してバッ
ファメモリの次のロケーションをポイントする; 10) CPUは上記のステップ(3)−(8)を実行する
ことによってバッファメモリの次のロケーションを随意
にアクセスする。
ンE0からFFまでをアクセスするときはいつも、アクセス
されるべきロケーションのアドレスは、CPUポインタの
上位ビットとCPU10によって与えられるレジスタアドレ
スからの下位5ビットを連接することによって計算され
る。このように形成されたアドレスはバッファメモリ28
をアクセスするために使われ、そこにストアされている
値は読取動作においてCPU10に返される。
スをCPUポインタに書込むことによって、CPU10がバッフ
ァメモリ28の32バイトパラグラフにポインタを立てるこ
とを可能にする。次にCPU10はこのメモリのブロックを
迅速でランダムな態様でアクセスすることができる。ア
ドレスE0からFFはバッファメモリ28に写像される。
テップは以下のとおり: 1) CPUは、ポインタの下位5ビットがこのモードで
は使われていないので、CPUポインタをパラグラフのい
ずれかのメモリロケーションのアドレスのベースアドレ
スでプログラムする; 2) CPUはポインタ制御レジスタをパラグラフランダ
ムアクセスモードのコードでプログラムする; 3) CPUは周辺コントローラアクセスサイクルを適切
なレジスタロケーション(好ましい実施例ではE0−FF)
で開始する; 4) CPUは適する読取サイクルまたは書込サイクルを
開始する; 5) CPUアクセスリクエスト論理はCPUアクセスを検出
し、バスアービタのリクエストを発生され、READY信号
を否定にすることによってCPUサイクルを長くする; 6) バスアービタがCPUアクセスサイクルが実行され
るのを可能にすると、CPUポインタはアドレスの上位19
ビットを送り、アドレスの下位5ビットは現行のアクセ
スサイクルにおいてCPUによって与えられたものから得
られる; 7) データはアドレスされたメモリロケーションから
読取られてCPUに返される(読取サイクル)、またはCPU
によって与えられたデータはアドレスされたメモリロケ
ーションに書込まれる(書込サイクル); 8) CPUアクセスサイクルはREADY信号を表明すること
によって終了させられる; 9) CPUは上記のステップ(3)−(8)を実行する
ことによってバッファメモリのアドレスされた32バイト
ブロックのいかなる他のロケーションを随意にアクセス
する。
の方法は上記で説明されたが、CPU10は特別にホストア
ダプタレジスタを以下のとおりアクセスすることができ
る: 1) CPUは周辺コントローラアクセスサイクルを適切
なレジスタロケーション(好ましい実施例では80−9F)
で開始する; 2) CPUはレジスタへの読取りまたは書込みのため
に、適する読取サイクルまたは書込サイクルを開始す
る; 3) CPUアクセスリクエスト論理はCPUアクセスを検出
し、バスアービタのリクエストを発生させ、READY信号
を否定にすることによってCPUサイクルを長くする; 4) アービタがCPUアクセスサイクルを実行するのを
可能にすると、CPUアドレスバスの下位5ビットに与え
られる値はホストアダプタ装置のレジスタアドレスとし
て与えられる; 5) 上位アドレスビットは0にされる; 6) データはアドレスされたレジスタから読取られて
CPUに返される(読取サイクル)、またはCPUによって与
えられるデータはアドレスされたレジスタに書込まれる
(書込サイクル); 7) 適当な選択信号および読取または書込制御信号が
活性化される; 8) CPUアクセスサイクルはREADY信号を表明すること
によって終了させられる。
以下のとおりアクセスすることができる: 1) CPUは周辺コントローラアクセスサイクルを適切
なレジスタロケーション(好ましい実施例ではC0−DF)
で開始する; 2) CPUはレジスタへの読取りまたは書込みのため
に、適する読取サイクルまたは書込サイクルを開始す
る; 3) CPUアクセスリクエスト論理はCPUアクセスを検出
し、バスアービタのためのリクエストを発生させ、READ
Y信号を否定にすることによってCPUサイクルを長くす
る; 4) バスアービタがCPUアクセスサイクルが実行され
るのを可能にするとき、CPUアドレスバスの下位5ビッ
トに与えられた値はエラープロセッサ装置のレジスタア
ドレスとして与えられる; 5) 上位アドレスビットは0にされる; 6) データはアドレスされたレジスタから読取られて
CPUに返される(読取サイクル)、またはCPUによって与
えられたデータはアドレスされたレジスタに書込まれる
(書込サイクル); 7) 適する選択信号および読取または書込制御信号が
活性化される; 8) CPUアクセスサイクルはREADY信号を表明すること
によって終了させられる。
の修正および変更は当業者にとって明らかであるので、
この発明の開示の目的のために選ばれた例に制限される
ものではなく、この発明の真の精神および範囲から逸脱
することがなくすべての変更および修正を網羅する。
ブロック図である。 第2図はバッファメモリサブシステムの周辺コントロー
ラのブロック図である。 第3図は周辺コントローラのアービトレーション機構の
ブロック図である。 第4図は周辺コントローラのアドレス割当図である。 第5図はメモリアクセスを制御するポインタ制御機構を
示すブロック図である。 図において10はプロセッサ、12はRAM/ROMメモリ、14は
中央処理装置、16はディスクインターフェイス、20は周
辺コントローラ、22はCPUバス、24はホストアダプタ、2
6はバッファバス、28は外部バッファメモリ、30はエラ
ープロセッサ、32はディスク、34はライン、36はデータ
エンコーダおよびデコーダ、38はディスク読取/書込論
理演算装置、40はバッファバスインターフェイスコント
ローラ、42は制御装置、44はエラープロセッサ制御装
置、46はバッファメモリ制御装置、48は内部シーケンサ
データバス、50はユーザレジスタファイル、52は内部シ
ーケンサRAM、53はシーケンサ装置、54は16ビットシー
ケンサ、56はシーケンサプログラムROM、60はフォーマ
ットコントローラ、62は直並列変換器、64は先入れ先出
し(FIFO)レジスタ、68は内部エラー検出および修正論
理、70は並直列変換器、72は装置、74はCPUインターフ
ェイス、100はアービタ、102は内部シーケンサアクセス
論理演算装置、104はホストアダプタリクエスト論理演
算装置、106はデータFIFO制御論理演算装置、108はリフ
レッシュリクエスト論理演算装置、110はCPUアクセスリ
クエスト論理演算装置、112はインターフェイスポー
ト、115はライン、116はディスクデータFIFO装置、114
はライン、120はポインタ、122はアドレスマルチプレク
サドライバ、124は制御信号発生論理演算装置、200は内
部レジスタスペース、202はホストアダプタ装置、204は
予約ロケーション、250はパラグラフポインタ、252は5
ビットオフセットポインタ、256は32バイトパラグラ
フ、260は24ビット幅ポインタである。
Claims (28)
- 【請求項1】バッファメモリサブシステムであって、 a) 少なくとも2つのデータ通信バスと、 b) 前記データ通信バス上のデータ転送を制御するよ
うにされた周辺コントローラと、 c) 前記データ通信バス上のデータ転送を開始するた
めのCPUと、 d) ホストシステムへの接続のためのホストアダプタ
と、 e) 前記データ通信バス上を転送されるデータを一時
的にストアするためのメモリバッファと、 f) 前記2つのデータ通信バスの一方は、前記周辺コ
ントローラと前記CPUとを作動的に結合して前記周辺コ
ントローラと前記CPUとの間でデータの転送を行なうた
めのCPUデータ通信バスであり、 g) 前記2つのデータ通信バスの他方は、前記周辺コ
ントローラと前記ホストアダプタと前記メモリバッファ
とを作動的に結合して前記周辺コントローラと前記ホス
トアダプタと前記メモリバッファとの間でデータの転送
を行なうためのバッファデータ通信バスであり、 h) 前記周辺コントローラは、前記CPUからのリクエ
ストに応じて前記CPUデータ通信バスを前記バッファデ
ータ通信バスに選択的に接続するようにされた、バッフ
ァメモリサブシステム。 - 【請求項2】前記周辺コントローラは、前記バッファデ
ータ通信バスへのアクセスを要求する複数個のアクセス
要求装置からのアクセスリクエストをアービトレートす
るための手段を含む、請求項1に記載のバッファメモリ
サブシステム。 - 【請求項3】前記バッファメモリはRAM装置である、請
求項2に記載のバッファメモリサブシステム。 - 【請求項4】前記複数個のアクセス要求装置の1個は前
記CPUである、請求項2に記載のバッファメモリサブシ
ステム。 - 【請求項5】前記複数個のアクセス要求装置の1個はエ
ラー修正動作の間リクエストを発生させるための内部シ
ーケンサである、請求項2に記載のバッファメモリサブ
システム。 - 【請求項6】前記複数個のアクセス要求装置の1個は大
容量記憶装置からデータを受取りかつデータを伝送する
ためのデータFIFO制御論理である、請求項2に記載のバ
ッファメモリサブシステム。 - 【請求項7】前記複数個のアクセス要求装置の1個は前
記バッファメモリのデータをリフレッシュするためのリ
フレッシュ論理である、請求項3に記載のバッファメモ
リサブシステム。 - 【請求項8】前記複数個のアクセス要求装置の1個は前
記ホストアダプタである、請求項2に記載のバッファメ
モリサブシステム。 - 【請求項9】さらに、g)大容量記憶手段を含む、請求
項2に記載のバッファメモリサブシステム。 - 【請求項10】前記大容量記憶手段は磁気ハードディス
クを含む、請求項9に記載のバッファメモリサブシステ
ム。 - 【請求項11】前記大容量記憶手段は磁気テープ装置を
含む、請求項9に記載のバッファメモリサブシステム。 - 【請求項12】さらに、g)複数個のデータ処理および
データ記憶コンポーネントに接続されるように適合可能
なネットワークを含む、請求項2に記載のバッファメモ
リサブシステム。 - 【請求項13】前記複数個のデータ処理コンポーネント
の1つはCPUである、請求項12に記載のバッファメモリ
サブシステム。 - 【請求項14】前記複数個のデータ記憶コンポーネント
の1つはハードディスクである、請求項12に記載のバッ
ファメモリサブシステム。 - 【請求項15】前記ホストアダプタはSCSIインターフェ
イスを含む、請求項1に記載のバッファメモリサブシス
テム。 - 【請求項16】前記大容量記憶手段は光ディスクを含
む、請求項9に記載のバッファメモリサブシステム。 - 【請求項17】さらに、h)光ディスクエラーを修正す
るために前記バッファデータ通信バスに作動的に接続さ
れるエラープロセッサを含む、請求項16に記載のバッフ
ァメモリサブシステム。 - 【請求項18】前記バッファにストアされるデータのプ
ロセッサアクセスは前記周辺コントローラによってのみ
可能である、請求項1に記載のバッファメモリサブシス
テム。 - 【請求項19】前記プロセッサは前記周辺コントローラ
によってのみ前記ホストアダプタへのアクセスを有す
る、請求項1に記載のバッファメモリサブシステム。 - 【請求項20】前記プロセッサは前記周辺コントローラ
によってのみ前記エラープロセッサへのアクセスを有す
る、請求項17に記載のバッファメモリサブシステム。 - 【請求項21】前記周辺コントローラは、前記ホストア
ダプタ、前記エラープロセッサおよび前記バッファメモ
リを識別するための制御レジスタを含む、請求項2に記
載のバッファメモリサブシステム。 - 【請求項22】前記周辺コントローラは、前記バッファ
メモリにおいて予め定められたメモリロケーションを識
別するためのポインタ制御手段をさらに含む、請求項21
に記載のバッファメモリサブシステム。 - 【請求項23】複数個のレジスタを有する周辺コントロ
ーラによってCPUがデータバスを介してメモリ装置のデ
ータをアクセスすることを可能にする方法であって、 a) 前記周辺コントローラのCPUポインタを予め定め
られたメモリロケーションのアドレスでプログラムする
ステップと、 b) ポインタ制御レジスタをプログラムするステップ
と、 c) 前記周辺コントローラにおけるアクセスサイクル
を予め定められたレジスタロケーションで開始するステ
ップと、 d) 前記CPUにおけるアクセスサイクルを開始するス
テップと、 e) 前記CPUが前記データバスを用いることを可能に
するようバスアービタのリクエストを発生するステップ
と、 f) READY信号を否定にすることによって前記CPUアク
セスサイクルを延長するステップと、 g) 前記バスアービタが前記CPUにおけるアクセスサ
イクルが実行されるのを可能にするときにメモリロケー
ションの前記アドレスを前記CPUから前記データバスを
介して前記メモリ装置へ送るステップと、 h) 前記メモリ装置の前記アドレスされたメモリロケ
ーションにおけるデータを前記CPUが前記データバスを
介してアクセスするステップと、 i) 前記READY信号がアサートすることによって前記C
PUアクセスサイクルを終了するステップとを含む、方
法。 - 【請求項24】前記データアクセスは、前記メモリ装置
にストアされたデータを読取ることを含む、請求項23に
記載の方法。 - 【請求項25】前記データアクセスは、前記メモリ装置
にデータをストアすることを含む、請求項23に記載の方
法。 - 【請求項26】さらに、j)前記CPUポインタを増分し
て前記メモリ装置の次のメモリロケーションをポイント
するステップと、 k) ステップ(c)−(i)を実行することによって
前記次のメモリロケーションをアクセスするステップと
を含む、請求項23に記載の方法。 - 【請求項27】前記データアクセスは、前記メモリ装置
にストアされたデータを読取ることを含む、請求項26に
記載の方法。 - 【請求項28】前記データアクセスは、前記メモリ装置
にデータをストアすることを含む、請求項26に記載の方
法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/242,743 US5239636A (en) | 1988-09-09 | 1988-09-09 | Buffer memory subsystem for peripheral controllers |
US242,743 | 1988-09-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02114350A JPH02114350A (ja) | 1990-04-26 |
JP2853809B2 true JP2853809B2 (ja) | 1999-02-03 |
Family
ID=22916012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1222791A Expired - Lifetime JP2853809B2 (ja) | 1988-09-09 | 1989-08-29 | 周辺コントローラのためのバッファメモリサブシステムおよび方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5239636A (ja) |
EP (1) | EP0358423B1 (ja) |
JP (1) | JP2853809B2 (ja) |
AT (1) | ATE153150T1 (ja) |
DE (1) | DE68928040T2 (ja) |
ES (1) | ES2102979T3 (ja) |
GR (1) | GR3023419T3 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999994A (en) * | 1991-01-31 | 1999-12-07 | Ast Research, Inc. | Dual path computer control system |
US5829043A (en) * | 1991-04-15 | 1998-10-27 | Gilet, Deceased; Roger | Coupler circuit and its use in a card and process |
JPH0561951A (ja) * | 1991-08-30 | 1993-03-12 | Fujitsu Ltd | イメージ処理装置 |
US6343363B1 (en) | 1994-09-22 | 2002-01-29 | National Semiconductor Corporation | Method of invoking a low power mode in a computer system using a halt instruction |
US5524268A (en) * | 1992-06-26 | 1996-06-04 | Cirrus Logic, Inc. | Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases |
US5613135A (en) * | 1992-09-17 | 1997-03-18 | Kabushiki Kaisha Toshiba | Portable computer having dedicated register group and peripheral controller bus between system bus and peripheral controller |
TW276312B (ja) * | 1992-10-20 | 1996-05-21 | Cirrlis Logic Inc | |
US5588125A (en) * | 1993-10-20 | 1996-12-24 | Ast Research, Inc. | Method and apparatus for increasing bus bandwidth on a system bus by inhibiting interrupts while posted I/O write operations are pending |
US5666516A (en) * | 1993-12-16 | 1997-09-09 | International Business Machines Corporation | Protected programmable memory cartridge having selective access circuitry |
US5564023A (en) * | 1994-06-30 | 1996-10-08 | Adaptec, Inc. | Method for accessing a sequencer control block by a host adapter integrated circuit |
US5625800A (en) * | 1994-06-30 | 1997-04-29 | Adaptec, Inc. | SCB array external to a host adapter integrated circuit |
JPH08106733A (ja) * | 1994-10-07 | 1996-04-23 | Hitachi Ltd | 情報記憶媒体利用システム |
WO1996032674A2 (en) * | 1995-04-13 | 1996-10-17 | Cirrus Logic, Inc. | Semiconductor memory device for mass storage block access applications |
US5564027A (en) * | 1995-04-20 | 1996-10-08 | International Business Machines Corporation | Low latency cadence selectable interface for data transfers between busses of differing frequencies |
US5983025A (en) * | 1995-06-07 | 1999-11-09 | International Business Machines Corporation | Computer system buffers for providing concurrency and avoid deadlock conditions between CPU accesses, local bus accesses, and memory accesses |
US7076149B1 (en) * | 1998-07-20 | 2006-07-11 | Thomson Licensing | Digital video apparatus user interface |
JP4233373B2 (ja) * | 2003-04-14 | 2009-03-04 | 株式会社ルネサステクノロジ | データ転送制御装置 |
JPWO2009139109A1 (ja) * | 2008-05-13 | 2011-09-15 | パナソニック株式会社 | メモリ制御装置、およびこれを備えた情報処理装置 |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL7507050A (nl) * | 1975-06-13 | 1976-12-15 | Philips Nv | Geheugensysteem. |
US4075691A (en) * | 1975-11-06 | 1978-02-21 | Bunker Ramo Corporation | Communication control unit |
US4236210A (en) * | 1978-10-02 | 1980-11-25 | Honeywell Information Systems Inc. | Architecture for a control store included in a data processing system |
JPS57169865A (en) * | 1981-04-14 | 1982-10-19 | Fuji Xerox Co Ltd | Picture information storage device |
US4543627A (en) * | 1981-12-14 | 1985-09-24 | At&T Bell Laboratories | Internal communication arrangement for a multiprocessor system |
US4538224A (en) * | 1982-09-30 | 1985-08-27 | At&T Bell Laboratories | Direct memory access peripheral unit controller |
US4875154A (en) * | 1983-10-13 | 1989-10-17 | Mitchell Maurice E | Microcomputer with disconnected, open, independent, bimemory architecture, allowing large interacting, interconnected multi-microcomputer parallel systems accomodating multiple levels of programmer defined heirarchy |
US4604683A (en) * | 1984-12-10 | 1986-08-05 | Advanced Computer Communications | Communication controller using multiported random access memory |
JPS61189386A (ja) * | 1985-02-13 | 1986-08-23 | 三菱電機株式会社 | 配管用絶縁接続装置の製造方法 |
US4672613A (en) * | 1985-11-01 | 1987-06-09 | Cipher Data Products, Inc. | System for transferring digital data between a host device and a recording medium |
JPS6344364A (ja) * | 1986-08-12 | 1988-02-25 | Olympus Optical Co Ltd | 光デイスク制御装置 |
WO1989000312A1 (en) * | 1987-07-02 | 1989-01-12 | Exabyte Corporation | Method and apparatus for data buffer management |
-
1988
- 1988-09-09 US US07/242,743 patent/US5239636A/en not_active Expired - Lifetime
-
1989
- 1989-08-29 JP JP1222791A patent/JP2853809B2/ja not_active Expired - Lifetime
- 1989-09-04 DE DE68928040T patent/DE68928040T2/de not_active Expired - Lifetime
- 1989-09-04 AT AT89308916T patent/ATE153150T1/de not_active IP Right Cessation
- 1989-09-04 ES ES89308916T patent/ES2102979T3/es not_active Expired - Lifetime
- 1989-09-04 EP EP89308916A patent/EP0358423B1/en not_active Expired - Lifetime
-
1997
- 1997-05-15 GR GR970400982T patent/GR3023419T3/el unknown
Also Published As
Publication number | Publication date |
---|---|
DE68928040D1 (de) | 1997-06-19 |
EP0358423B1 (en) | 1997-05-14 |
EP0358423A2 (en) | 1990-03-14 |
ATE153150T1 (de) | 1997-05-15 |
ES2102979T3 (es) | 1997-08-16 |
GR3023419T3 (en) | 1997-08-29 |
JPH02114350A (ja) | 1990-04-26 |
US5239636A (en) | 1993-08-24 |
DE68928040T2 (de) | 1998-01-08 |
EP0358423A3 (en) | 1991-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2853809B2 (ja) | 周辺コントローラのためのバッファメモリサブシステムおよび方法 | |
US5740466A (en) | Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses | |
US5613162A (en) | Method and apparatus for performing efficient direct memory access data transfers | |
KR970000842B1 (ko) | 정보 처리 시스템 및 컴퓨터 시스템 | |
KR100420706B1 (ko) | 가변폭버스의동시적인액세스를이용하는다중프로세서시스템에서i/o제어를위한방법및시스템 | |
US4937734A (en) | High speed bus with virtual memory data transfer and rerun cycle capability | |
US5621902A (en) | Computer system having a bridge between two buses with a direct memory access controller and an alternative memory access controller | |
US6636927B1 (en) | Bridge device for transferring data using master-specific prefetch sizes | |
US5918028A (en) | Apparatus and method for smart host bus adapter for personal computer cards | |
US6012106A (en) | Prefetch management for DMA read transactions depending upon past history of actual transfer lengths | |
US6772237B2 (en) | Host controller interface descriptor fetching unit | |
US5678064A (en) | Local bus-ISA bridge for supporting PIO and third party DMA data transfers to IDE drives | |
US5121487A (en) | High speed bus with virtual memory data transfer capability using virtual address/data lines | |
EP0141742A2 (en) | Buffer system for input/output portion of digital data processing system | |
US5274795A (en) | Peripheral I/O bus and programmable bus interface for computer data acquisition | |
US6128674A (en) | Method of minimizing host CPU utilization in driving an adapter by residing in system memory a command/status block a soft interrupt block and a status block queue | |
JPH0713908A (ja) | 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置 | |
JPH077327B2 (ja) | データ転送方法 | |
US6070204A (en) | Method and apparatus for using universal serial bus keyboard to control DOS operations | |
KR930002787B1 (ko) | 주변 제어기와 어댑터 인터페이스 | |
EP0133015A2 (en) | Data transfer system | |
US6014717A (en) | PCMCIA host adapter and method for variable data transfers | |
US6957280B2 (en) | Streamlining ATA device initialization | |
US5097483A (en) | Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off | |
JP3602435B2 (ja) | 制御チップセット間におけるデータトランザクション方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071120 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081120 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091120 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091120 Year of fee payment: 11 |