JPH05204825A - 直接メモリ・アクセス・コントローラ及び情報処理装置 - Google Patents

直接メモリ・アクセス・コントローラ及び情報処理装置

Info

Publication number
JPH05204825A
JPH05204825A JP4247939A JP24793992A JPH05204825A JP H05204825 A JPH05204825 A JP H05204825A JP 4247939 A JP4247939 A JP 4247939A JP 24793992 A JP24793992 A JP 24793992A JP H05204825 A JPH05204825 A JP H05204825A
Authority
JP
Japan
Prior art keywords
circuit
control
information
signal
direct memory
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
Application number
JP4247939A
Other languages
English (en)
Inventor
Nader Amini
ナーデル・アミーニー
Bechara F Boury
ベーチャーラ・フォウアド・ボウリー
Terence J Lohman
テレンス・ジョーゼフ・ローマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05204825A publication Critical patent/JPH05204825A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling 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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【目的】 この発明の目的は、他の情報の処理が完了し
た後に、DMAコントローラの外部からレジスタ回路に
元の情報を再ロードする手間を簡略化することである。 【構成】 この発明によれば、直接メモリ・アクセス・
コントローラに、レジスタ回路ならびにレジスタ回路に
接続されたバックアップ・メモリを設けることによっ
て、元の情報をバックアップ・メモリに記憶したまま
で、レジスタ回路が他の情報を処理できるようになる。
このようにして、他の情報の処理が完了した後に元の情
報をレジスタ回路に直接ロードすることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理システムに関
し、具体的には、パーソナル・コンピュータ・システム
におけるメモリの直接メモリ・アクセスに関する。
【0002】
【従来の技術および発明が解決しようとする課題】一般
に、コンピュータ・システム、特にパーソナル・コンピ
ュータ・システムでは、データは、中央処理装置(CP
U)、メモリ装置、直接メモリ・アクセス(DMA)制
御回路などの様々な要素、ならびに、入出力(I/O)
アダプタ、バス・コントローラ(すなわち、コンピュー
タ・システムを制御できる要素)、バス・スレーブ(す
なわち、バス・コントローラによって制御される要素)
などの拡張装置の間で転送される。拡張装置は、しばし
ばシステム入出力バスを介して相互接続される。DMA
制御回路は、メモリへまたはメモリからのCPUを使用
しない情報転送に使用される。一般に、情報がそこから
移動されるソース位置、データ情報が移動する宛先アド
レス、および移動すべきデータ情報のサイズなどの制御
情報を、CPUがDMA制御回路に供給すると、DMA
制御回路はそのデータ情報の転送を制御する。
【0003】それぞれが独立のデータ転送を行える複数
のチャネルを、DMA制御回路に設けることが知られて
いる。複数のDMAチャネルを使用する一例は、ハード
・ディスク上に記憶された情報をバックアップする時で
ある。この場合、情報は、DMA制御回路を介して、ハ
ード・ディスクから受け取られ、バックアップ装置に直
接供給される。このバックアップが行われている間に、
他のDMAチャネルを使用して他のメモリ転送を行うこ
ともできる。複数のDMAチャネルを提供するために、
各DMAチャネルごとにデータ情報を転送するためのバ
ッファ回路を設ける必要があることがしばしばである。
【0004】
【課題を解決するための手段】直接メモリ・アクセス・
コントローラに、レジスタ回路ならびにレジスタ回路に
接続されたバックアップ・メモリを設けることによっ
て、元の情報をバックアップ・メモリに記憶したまま
で、レジスタ回路が他の情報を処理できるようになり、
有利であることが明らかになった。このようにして、他
の情報の処理が完了した後に元の情報をレジスタ回路に
直接ロードすることができ、DMAコントローラの外部
の情報からレジスタ回路に情報を再ロードする必要がな
くなる。
【0005】
【実施例】図1を参照すると、コンピュータ・システム
10は、システム・ボード(すなわちプレーナ)12な
らびにプロセッサ複合体14を含んでいる。プロセッサ
複合体14は、プロセッサ複合体コネクタ15を介して
プレーナ12に接続される。プレーナ12は、メモリ1
6、17と入出力バス18を含んでいる。入出力バス1
8は、たとえば、マイクロ・チャネル・コンピュータ・
アーキテクチャに準拠するものでよい。メモリ16、1
7は、インターリーブ式システム・メモリとして配置さ
れる。拡張装置19は、入出力バス18を介してコンピ
ュータ・システム10に接続できる。プレーナ12は、
コンピュータ・システム10によって通常動作中に使用
される、従来型のビデオ回路、タイミング回路、キーボ
ード制御回路および割込み回路(すべて図示せず)をも
含むことができる。
【0006】プロセッサ複合体14は、プロセッサ部分
20とベース部分22を含む。プロセッサ部分20は、
ローカル・バス・コネクタ24を介してベース部分22
に接続される。プロセッサ部分20は50MHzで動作
し、ベース部分22は40MHzで動作する。
【0007】プロセッサ部分20は、マイクロプロセッ
サ30(たとえば、Intel, Inc.から商品名486で市
販のもの)、キャッシュ制御モジュール32、メモリ3
4(たとえば、スタティック・ランダム・アクセス・メ
モリ(SRAM))、周波数制御モジュール35ならび
にアドレス・バッファ36とデータ・バッファ38を含
んでいる。データ情報経路が、マイクロプロセッサ30
とメモリ34とデータ・バッファ38の間に設けられて
いる。アドレス情報経路が、マイクロプロセッサ30と
キャッシュ制御モジュール32とアドレス・バッファ3
6の間に設けられている。制御情報経路が、マイクロプ
ロセッサ30とキャッシュ制御モジュール32と周波数
制御モジュール35の間に設けられている。さらに、ア
ドレス情報経路と制御情報経路が、キャッシュ制御モジ
ュール32とメモリ34の間に設けられている。データ
情報経路、アドレス情報経路および制御情報経路は、プ
ロセッサ・バスを表す。
【0008】メモリ34は、メモリ16、17から、ま
たは拡張装置19上にあるメモリからのメモリ情報を短
期間記憶することによって、キャッシュ機能を提供す
る。キャッシュ制御モジュール32は、メモリ34に記
憶されている情報と対応するメモリ16、17のアドレ
スを記憶する、タグ・ランダム・アクセス・メモリ(R
AM)37を含んでいる。
【0009】周波数制御モジュール35は、50MHz
のプロセッサ部分を40MHzのベース部分と同期させ
る。周波数制御モジュール35は、アドレス・バッファ
36とデータ・バッファ38も制御する。したがって、
周波数制御モジュール35は、情報がアドレス・バッフ
ァ36またはデータ・バッファ38によっていつ取り込
まれるのか、およびアドレス・バッファ36またはデー
タ・バッファ38に記憶されている情報がいつ上書きさ
れるのかを決定する。アドレス・バッファ36とデータ
・バッファ38は、メモリ16、17からの2つの書込
みをアドレス・バッファ36とデータ・バッファ38に
同時に記憶できるように構成されている。アドレス・バ
ッファ36とデータ・バッファ38は、双方向式であ
る。すなわち、アドレス・バッファ36とデータ・バッ
ファ38は、プロセッサ部分20から供給される情報お
よびプロセッサ部分20に供給される情報をラッチする
ことができる。アドレス・バッファ36とデータ・バッ
ファ38が双方向式であるので、標準のベース部分22
をそのままに保ちながら、プロセッサ部分20を交換ま
たはグレードアップすることができる。
【0010】ベース部分22は、メモリ・コントローラ
50、直接メモリ・アクセス(DMA)コントローラ5
2、中央アービトレーション制御点(CACP)回路5
3、バス・インターフェース・ユニット54およびバッ
ファ/誤り訂正コード(ECC)回路56を含んでい
る。ベース部分22はまた、ドライバ回路58、読取り
専用メモリ(ROM)60、自己試験回路62およびバ
ッファ回路64を含んでいる。制御情報経路が、メモリ
・コントローラ50とプロセッサ部分20の周波数制御
モジュール35の間に設けられている。制御情報経路は
また、メモリ・コントローラ50とDMAコントローラ
52とバス・インターフェース・ユニット54の間、メ
モリ・コントローラ50とドライバ回路58の間、ドラ
イバ回路58とメモリ16、17の間、バス・インター
フェース・ユニット54とバッファ回路64の間、バッ
ファ回路64とプレーナ12の入出力バス18の間、お
よび、CACP53とプレーナ12の入出力バス18の
間にも設けられている。アドレス情報経路が、メモリ・
コントローラ50、ROM60および自己試験回路62
ならびにプロセッサ部分20のアドレス・バッファ36
の間に設けられている。アドレス情報経路はまた、メモ
リ・コントローラ50とDMAコントローラ52とバス
・インターフェース・ユニット54の間、メモリ・コン
トローラ50とドライバ回路58の間、ドライバ回路5
8とメモリ16、17の間、バス・インターフェース・
ユニット54とバッファ回路64の間、およびバッファ
回路64とプレーナ12の入出力バス18の間にも設け
られている。データ情報経路が、バッファ/ECC回路
56とROM60と自己試験回路62とプロセッサ部分
20のデータ・バッファ38との間に設けられている。
データ情報経路はまた、バッファ/ECC回路56とD
MAコントローラ52とバス・インターフェース・ユニ
ット54の間、バッファ/ECC回路56とメモリ16
の間、バッファ/ECC回路56とメモリ17の間、バ
ス・インターフェース・ユニット54とバッファ回路6
4の間、およびバッファ回路64とプレーナ12の入出
力バス18の間にも設けられている。
【0011】メモリ・コントローラ50は、プロセッサ
部分20から受け取ったアドレス情報を分析して、この
情報が、メモリ16、17のアドレスと、拡張装置19
上のメモリ(すなわち拡張メモリ)のアドレスのどちら
に対応するのかを判定する。このアドレス情報がメモリ
16、17のアドレスに対応する場合、メモリ・コント
ローラ50は、メモリ16、17に対してプレーナ・メ
モリ・サイクルを開始する。プレーナ・メモリ・サイク
ル中にメモリ16、17に供給されるアドレスは、プロ
セッサ部分20から供給されるアドレスに基づくもので
ある。しかし、メモリ・コントローラ50とメモリ1
6、17は、はるかに大きなアドレス範囲に対するそれ
ら自体の位置を知っているので、プロセッサ部分20か
ら供給されるアドレスが32ビット幅であるのと比較し
て、メモリ16、17に供給されるアドレスは10ビッ
ト幅であれば十分である。プレーナ・メモリ・サイクル
の発生中に、メモリ・コントローラ50は、DMAコン
トローラ52またはバス・マスタ拡張装置19が入出力
バス18を介して情報にアクセスできるようにする。
【0012】このアドレス情報が拡張メモリ・アドレス
に対応する場合は、メモリ・コントローラ50は、拡張
メモリで拡張メモリ・サイクルを開始する。拡張メモリ
・サイクル中には、メモリ・コントローラ50に供給さ
れたアドレスが、バス・インターフェース・ユニット5
4を介して入出力バス18に供給される。このアドレス
に対応するメモリを含む拡張装置が、入出力バス18か
らこのメモリ・アドレスを受け取る。データを拡張メモ
リから検索しようとする場合には、拡張メモリに記憶さ
れているデータ情報が、入出力バス18、バッファ回路
64、バス・インターフェース・ユニット54およびバ
ッファ/ECC回路56を介してプロセッサ部分20に
供給される。データを拡張メモリに書き込もうとする場
合には、そのデータ情報が、バス・インターフェース・
ユニット54および入出力バス18を介して拡張メモリ
に供給される。また、DMAコントローラ52は、メモ
リ16、17と拡張装置19上のメモリとの間での情報
の交換を制御する。
【0013】DMAコントローラ52は、プロセッサ複
合体14に3つの機能を提供する。DMAコントローラ
52は、小型コンピュータのサブシステム制御ブロック
(SCB)アーキテクチャを利用してDMAチャネルを
構成しており、したがってプログラム式入出力を使用し
てDMAチャネルを構成する必要はない。DMAコント
ローラ52はまた、低速の拡張装置と高速の記憶装置の
間での転送を最適化するための緩衝機能を提供する。D
MAコントローラ52はまた、8チャネル、32ビット
・データ、アドレスおよびバイト転送カウント式直接メ
モリ・アクセス機能を提供する。このDMA機能を提供
する際に、DMAコントローラ52は、2つのモードで
機能することができる。第1のモードでは、DMAコン
トローラ52はプログラム式入出力モードで機能し、こ
の時、DMAコントローラ52は機能的には入出力スレ
ーブになる。第2のモードでは、DMAコントローラ5
2がDMAバス・マスタとして機能し、この時、DMA
コントローラ52は入出力バス18のアービトレーショ
ンと制御を行う。この第2のモードの間、DMAコント
ローラ52は、先入れ先出し(FIFO)レジスタを使
用する。すなわち、ソースからのデータは、宛先に供給
される前に、このFIFOレジスタを通過する。したが
って、直列DMA動作が行われる。
【0014】CACP53は、コンピュータ・システム
10用のアービタとして機能する。CACP53は、D
MAコントローラ52および拡張装置19からアービト
レーション制御信号を受け取り、アービトレーション制
御情報を供給することによって、どの装置が入出力バス
18を介して情報を転送できるか、および特定の装置が
入出力バス18をどれだけの間制御(すなわち所有)で
きるかを制御する。
【0015】バス・インターフェース・ユニット54
は、プロセッサ複合体14のアーキテクチャと入出力バ
ス18のアーキテクチャの間での双方向インターフェー
スを提供する。バス・インターフェース・ユニット54
はまた、この2つのアーキテクチャの間のインターフェ
ースを最適化するための緩衝機能を提供する。バス・イ
ンターフェース・ユニット54はまた、バス・サイジン
グ機能をも提供する。すなわち、バス・インターフェー
ス・ユニット54は、32ビット幅のセグメントで情報
を受け取り、プロセッサ複合体14が通信中の相手の拡
張装置19の要件に応じて、より小さいセグメントで入
出力バス18に情報を供給することができる。
【0016】バッファ/ECC回路56は、プロセッサ
部分20とメモリ16、17の間のデータ経路、および
メモリ16、17とDMAコントローラ52とバス・イ
ンターフェース・ユニット54の間のデータ経路を提供
する。バッファ/ECC回路56はまた、プロセッサ部
分20とDMAコントローラ52とバス・インターフェ
ース・ユニット54の間のデータ経路をも提供する。バ
ッファ/ECC回路56は、誤り訂正コードを使ってエ
ラーを検査する。さらに、バッファ/ECC回路56
は、パリティ・メモリと一緒に動作し、パリティ・メモ
リをサポートして、パリティ・メモリを含むプレーナ1
2との下方互換性を与えることができる。
【0017】ドライバ回路58は、メモリ・コントロー
ラ50からの制御情報とアドレス情報をメモリ16、1
7に供給する。ドライバ回路58は、メモリ16、17
を実施するのに使用されるシングル・インライン・メモ
リ・モジュール(SIMM)の数に基づいて、この情報
を駆動する。すなわち、ドライバ回路58は、メモリ1
6、17に供給される制御情報とアドレス情報の信号強
度を、メモリ16、17のサイズに基づいて変化させ
る。メモリ16、17のサイズは、コンピュータ・シス
テム10の初期設定中にソフトウェアによって決定され
る。
【0018】バッファ回路64は、ベース部分22とプ
レーナ12を分離する。バッファ回路64は、バッファ
を使用することによって、入出力バス18とバス・イン
ターフェース・ユニット54の間の境界情報をリアルタ
イムで取り込めるようになっている。すなわち、このバ
ッファは、プロセッサ複合体コネクタ15に現れる情報
を、そのままの形で記憶する。したがって、コンピュー
タ・システム10が障害状態を経験した場合、コンピュ
ータ修理担当者が、バッファ回路64にアクセスして、
コンピュータ・システム10の障害の際にプロセッサ複
合体コネクタ15上に存在していた情報を求めることが
できる。
【0019】自己試験回路62は、ベース部分22内の
複数の位置に接続されており、複数の自己試験機能を提
供する。自己試験回路62は、バッファ回路64にアク
セスして、障害状態が存在するか否かを判定する。自己
試験回路62はまた、電源投入時にベース部分22の他
の主要な構成要素を試験して、コンピュータ・システム
10が動作可能であるか否かを判定する。
【0020】図2を参照すると、DMAコントローラ5
2は、DMAサイクル実行回路100、バス制御回路1
01、制御信号ジェネレータ回路102、ルック・アヘ
ッド回路103、先入れ先出し(FIFO)レジスタ回
路104、FIFOバックアップ・メモリ(FIFOレ
ジスタ・バックアップ回路)108、DMA制御バック
アップ回路110、プレーナ入出力インターフェース回
路112およびプログラム/入出力(PIO)レジスタ
回路114を含んでいる。DMAサイクル実行回路10
0、制御信号ジェネレータ回路102、ルック・アヘッ
ド回路103およびDMA制御バックアップ回路110
があいまって、DMA制御回路として機能する。
【0021】DMAサイクル実行回路100は、DMA
制御状態機械120を含み、DMAコントローラ52の
全体的コントローラとして機能する。すなわち、DMA
サイクル実行回路100は、高水準制御情報を供給する
ことによって、DMAコントローラ52の動作を調整す
る。DMAサイクル実行回路100は、制御信号ジェネ
レータ回路102に制御情報を供給し、制御信号ジェネ
レータ回路102からカウント情報を受け取る。また、
DMAサイクル実行回路100は、ルック・アヘッド回
路103およびDMA制御バックアップ回路110と情
報をやり取りする。また、DMAサイクル実行回路10
0は、バス制御回路101を介して、ベース部分22の
メモリ・コントローラ50とDMAコントローラ52と
バス・インターフェース・ユニット54の間の制御情報
経路を通じて、DMA制御信号をやり取りする。
【0022】バス制御回路101は、DMAコントロー
ラ52と、これと通信するすべての回路との間のインタ
ーフェースとして機能する。バス制御回路101は、外
部信号を受け取り、これらの信号をDMAコントローラ
52の適当な回路に供給するのに必要な回路を含んでい
る。バス制御回路101はまた、DMAコントローラ5
2の回路によって生成された信号を送出するのに必要な
論理回路も含んでいる。
【0023】制御信号ジェネレータ回路102は、DM
Aコントローラ52の基本的な機能コントローラであ
る。すなわち、制御信号ジェネレータ回路102は、D
MAサイクル実行回路100から受け取った高水準制御
情報に基づいて、個々の制御信号を生成する。制御信号
ジェネレータ回路102は、FIFOレジスタ回路10
4ならびにルック・アヘッド回路103と情報をやり取
りする。制御信号ジェネレータ回路102はまた、DM
A制御バックアップ回路110と情報をやり取りする。
制御信号ジェネレータ回路102もまた、バス制御回路
101を介して、ベース部分22のメモリ・コントロー
ラ50とDMAコントローラ52とバス・インターフェ
ース・ユニット54の間のアドレス情報経路にアドレス
信号を供給する。
【0024】ルック・アヘッド回路103は、動的バス
・サイズ設定機能を実行する。ルック・アヘッド回路1
03は、バス・サイクルが始まると同時に、複数のバス
・サイズ(たとえば、8ビット、16ビットおよび32
ビット幅のバス)についての制御情報を生成する。この
制御情報には、DMAサイクル実行回路100のDMA
制御状態機械120用の入力変数、ならびに、制御信号
ジェネレータ回路102用のバイト・イネーブル信号、
FIFO制御信号、アドレス制御信号、カウント制御信
号およびデータ制御信号が含まれる。この情報を連続的
に生成することによって、ルック・アヘッド回路103
は、DMAコントローラの走行中に各バス・サイクル毎
に異なるバス・サイズに切り替えができるようにする。
制御情報を並行に生成することによって、ルック・アヘ
ッド回路103は、DMAコントローラ52がメモリ転
送または入出力転送を追加の待ち状態なしで実行できる
ようにする。たとえば、メモリ・パケット転送には6ク
ロック・サイクルだけが必要であり、入出力転送または
単一メモリ転送には3クロック・サイクルだけが必要で
ある。
【0025】ルック・アヘッド回路103はまた、ある
バス・サイクルの最初の転送に必要な制御情報も生成す
る。したがって、ルック・アヘッド回路103はまた、
DMAコントローラがメモリ16、17へのパケット転
送を待ち状態なしに行えるようにもする。
【0026】20バイトのFIFOであるFIFOレジ
スタ回路104は、DMAコントローラ52のための保
持機能を実行する。FIFOレジスタ回路104は、転
送メモリ部が16バイトのパケット境界に位置合せでき
るように、データを蓄積することが可能であり、したが
って、16バイト・パケット転送でメモリ転送を行え
る。パケット転送を用いると、複数のデータ・バイトに
対して1つのアドレス(たとえば、4つの32ビット・
ワードに対して1つのアドレス)を指定できるようにな
る。20バイトのFIFOを設けることによって、16
バイト・パケットのパケット境界を発見する機会が増え
る。FIFOレジスタ回路104は、バス制御回路10
1を介して、DMAコントローラ52とバス・インター
フェース・ユニット54とバッファ/ECC回路56の
間のデータ情報経路を通じてデータ情報をやり取りす
る。FIFOレジスタ回路104はまた、FIFOバッ
クアップ・メモリ108とデータ情報をやり取りし、ま
たDMA制御バックアップ回路110に制御情報を供給
する。
【0027】FIFOレジスタ回路104は、データの
サブシステム制御ブロック(SCB)をロードするのに
も使用される。各SCBは、長さ16バイトである。S
CBは、DMAコントローラ52がバス・マスタ・モー
ドで機能している時に、DMA制御バックアップ回路1
10に記憶される。したがって、DMAコントローラ5
2は、PIOインターフェースと個々の入出力サイクル
を使用してDMAチャネルをプログラミングする場合と
は対照的に、1回の16バイト・パケット転送でDMA
チャネルを構成することができる。DMAコントローラ
52を使用してDMAチャネルを構成することによっ
て、マイクロプロセッサ30が不要になる。
【0028】FIFOバックアップ・メモリ108は、
DMAコントローラ52に対するチャネル・バックアッ
プ機能を実行する。FIFOバックアップ・メモリ10
8は、8チャネルのバックアップ回路である。各チャネ
ルは、20バイトのデータおよび29個のFIFO状態
制御ビットを記憶する能力を有する。FIFOレジスタ
回路104と同じ幅のバックアップ・メモリを設けるこ
とによって、任意の所与の時刻にFIFOレジスタ回路
104に記憶されたすべての情報を、単一のメモリ・ク
ロック・サイクルの間にバックアップし記憶することが
できる。FIFOバックアップ・メモリ108を使用す
ることによって、DMAコントローラ52は、DMA許
可サイクル間に情報を記憶することができる。この情報
を、残余(residual)情報と称する。したがって、特定
のDMAチャネルが入出力バス18の制御を再獲得する
時、情報をメモリから検索する必要がないので、クロッ
ク・サイクルが節約される。この情報は、FIFOバッ
クアップ・メモリ108とFIFOレジスタ回路104
の間で並列に転送される。
【0029】DMA制御バックアップ回路110は、8
チャネルの記憶装置であって、制御信号ジェネレータ回
路102から供給される制御情報を記憶し、制御信号ジ
ェネレータ回路102に制御情報を供給する。DMA制
御バックアップ回路110は、PIO動作中にプレーナ
入出力インターフェース回路112とバックアップ・プ
ログラミング情報をやり取りする。DMA制御バックア
ップ回路110はまた、SCB取出し中にFIFOレジ
スタ回路104を介してバス制御回路101と制御情報
をやり取りする。
【0030】プレーナ入出力インターフェース回路11
2は、PIOレジスタ回路114およびDMA制御バッ
クアップ回路110への情報の転送と記憶を制御する。
プレーナ入出力インターフェース回路は、PIOレジス
タ回路114とPIOプログラミング情報をやり取りす
る。
【0031】PIOレジスタ回路114は、DMAコン
トローラ52の動作中に使用されるプログラム情報を記
憶する。PIOレジスタは、DMAコントローラ52の
8本のチャネルに対応する8本のチャネルを含んでい
る。各チャネルは、DMAコントローラ52の対応する
チャネル用の制御情報を記憶する。
【0032】図3を参照すると、バス制御回路101
は、32ビットのデータ信号(D(0−31))、30
ビットのアドレス信号(A(2−31))および4ビッ
トのバイト・イネーブル信号(BE(0−3))をやり
取りし、かつデータ・レディ信号(RDY)およびバー
スト・データ・レディ信号(BRDY)を受け取る。バ
ス制御回路は、DMA制御信号であるDMAACK、T
IMEOUT、BURSTおよびACT CHNL(0
−2)も受け取る。DMAACK信号は、DMAコント
ローラ52が入出力バス18の制御を有することを示す
DMA肯定応答信号であり、TIMEOUT信号は、D
MAコントローラ52が情報の転送を終了すべきことを
示すエラー指示信号であり、BURST信号は、外部装
置が複数のデータ転送を1行で送受できることを示す、
外部装置から供給される信号であり、ACT CHNL
(0−2)信号は、DMAコントローラ52のどのチャ
ネルが活動状態であるのかを示すDMAチャネル・アク
ティブ指示信号である。バス制御回路101は、DMA
コントローラ52がパケット転送を提供する意図を有す
ることを示す、DMAコントローラ52から供給される
バースト継続信号(BLAST)と、アドレス情報と制
御情報をいつサンプリングするのかを示すアドレス・ス
トローブ信号(ADS)と、読取り動作と書込み動作の
どちらが行われるのかを示す読取り/書込み信号(W/
R)と、メモリと入出力装置のどちらにアクセス中であ
るのかを示すメモリ入出力信号(M/IO)を送出す
る。バス制御回路101は、DMA制御信号であるME
MFLUSH、TCおよびDMAACTIVEも送出す
る。MEMFLUSH信号は、DMAコントローラ52
のあるチャネルの残りの動作がメモリ書込み動作だけで
あることを示す信号である。TC信号は、最後の入出力
サイクルの終りに供給される終端カウント信号である。
DMAACTIVE信号は、DMAコントローラ52が
活動状態(すなわち、転送を実行中)である限り活動状
態であり続けるDMA活動状態信号である。バス制御回
路101は、バス・サイズ有効信号(BSV)とバス・
サイズ指示信号(BS16、BS32)も受け取る。バ
ス制御回路101が受け取る情報は、DMA制御状態機
械120、DMA制御バックアップ回路110、FIF
Oバックアップ・メモリ108およびFIFOレジスタ
回路104に供給される。ルック・アヘッド回路103
および制御信号ジェネレータ回路102との間でも情報
がやり取りされる。
【0033】制御信号ジェネレータ回路102は、SC
B取出しコントローラ122、DMA転送コントローラ
123およびFIFOコントローラ134を含んでい
る。DMA転送コントローラ123は、モード・コント
ローラ124、第1アドレス・ジェネレータ126、第
2アドレス・ジェネレータ128、転送カウント・コン
トローラ130およびバイト・イネーブル・ジェネレー
タ132を含んでいる。SCB取出しコントローラ12
2とFIFOコントローラ134は、制御信号ジェネレ
ータ回路102の制御回路である。モード・コントロー
ラ124、第1アドレス・ジェネレータ126、第2ア
ドレス・ジェネレータ128、転送カウント・コントロ
ーラ130およびバイト・イネーブル・ジェネレータ1
32も、制御信号ジェネレータ回路102の制御回路で
ある。
【0034】SCB取出しコントローラ122は、SC
B転送が発生すべきかどうかを決定する。発生すべき場
合には、SCB取出しコントローラ122は、FIFO
レジスタ回路104を介してDMA制御バックアップ回
路110へのSCB転送を開始し、完了する。SCB転
送が完了すると、SCB取出しコントローラ122は、
DMA転送が開始できることを示す制御信号をDMA制
御状態機械に供給する。DMAコントローラ52が、あ
る転送用に構成された後、その転送が完了するまでDM
Aコントローラ52を再構成する必要はない。また、S
CB取出しコントローラ122を用いると、複数のデー
タ・ブロックを連鎖することができ、したがって、不連
続な情報データ・ブロックを互いに連鎖できるようにな
る。
【0035】DMA転送コントローラ123は、DMA
転送を引き起こすのに必要なDMA転送信号を生成す
る。DMA転送コントローラ123は、DMA制御状態
機械から受け取る制御信号に基づいてこれらの信号を生
成する。具体的に言うと、DMA転送コントローラ12
3の制御信号が、これらのDMA転送信号を生成する。
【0036】DMA転送コントローラ123のモード・
コントローラ124は、DMA制御バックアップ回路1
10に記憶されたモード情報を解釈し、このモード情報
に基づいて、DMAサイクル実行回路100のDMA制
御状態機械120に制御情報を供給する。DMAコント
ローラ52が機能することのできる異なるモードの例と
しては、入出力装置からメモリへの転送、メモリから入
出力装置への転送、およびメモリ間転送がある。これら
のモードのそれぞれについて、制御信号ジェネレータ回
路102の制御回路は、DMA制御状態機械120の制
御下で異なる動作を実行できる。また、モード・コント
ローラ124は、たとえば特定のDMA転送のためにF
IFOレジスタ回路104が必要であり、したがってこ
れをイネーブルする必要があるか否かなど、DMA転送
の他の態様も指示する。
【0037】DMA転送コントローラ123の第1アド
レス・ジェネレータ126および第2アドレス・ジェネ
レータ128は、DMA転送のソース・アドレスと宛先
アドレスを表すアドレス信号を生成する。転送が入出力
装置との間で行われる場合、第1アドレス・ジェネレー
タは、一定の値を保つ。転送がメモリ間転送である場
合、両方のアドレス信号が転送中に連続して生成され
る。第1アドレス・ジェネレータ126および第2アド
レス・ジェネレータ128は、DMA制御状態機械12
0の制御下でアドレス信号を生成する。第1アドレス・
ジェネレータ126は、ソース・アドレスまたは宛先ア
ドレスのどちらかを生成できる。第2アドレス・ジェネ
レータ128は、第1アドレス・ジェネレータ126に
よって生成されなかったアドレスを生成する。
【0038】転送カウント・コントローラ130は、特
定の転送の間に転送される情報のブロック・サイズに基
づいて、転送制御情報を生成する。転送が開始される
時、転送カウント・コントローラ130に、転送される
情報のブロック・サイズを表す制御情報がロードされ
る。この情報は、各バイトが転送されるごとに減分され
る。転送カウントが0に等しくなった時、転送カウント
・コントローラ130は、転送が完了したことを示す転
送カウント信号をDMA制御状態機械120に供給す
る。
【0039】バイト・イネーブル・ジェネレータ132
は、各サイクルの開始時に必要なバイト・イネーブル信
号を生成し、これによって、どのバイトを特定のDMA
転送中に転送すべきかを示す。バイト・イネーブル・ジ
ェネレータ132はまた、バイト・イネーブル信号を生
成し、これがFIFOコントローラ134に供給され
て、FIFOレジスタ回路104のどの位置に有効な情
報が記憶されているのかを、FIFOコントローラ13
4が判定できるようにする。
【0040】FIFOコントローラ134は、データ情
報のバイトをFIFOレジスタ回路104のスタックに
移動するのに使用されるFIFO制御信号を生成する回
路を含んでいる。この制御信号は、何バイトの情報がF
IFOレジスタ回路104にロードされているのかのカ
ウントも提供する。このカウント情報は、FIFOレジ
スタ回路104がどの程度満たされているかを判定し
て、いつ状態間遷移を行うかを決定するのに使用され
る。FIFOコントローラ134によって生成されるF
IFO制御情報は、FIFOバックアップ・メモリ10
8にも供給される。
【0041】ルック・アヘッド回路103は、マルチプ
レクサ回路148に制御情報を供給する初期値回路14
0、サイズ8ルック・アヘッド回路142、サイズ16
ルック・アヘッド回路144およびサイズ32ルック・
アヘッド回路146、ならびに、マルチプレクサ回路1
48に制御入力情報を供給するバス・サイズ選択回路1
50を含んでいる。初期値回路140は、バス・サイク
ルの初期転送に必要な制御情報を生成する。この初期転
送情報を生成する際に、初期値回路140は、最も幅広
い転送サイズ、すなわち、32ビット幅転送を仮定す
る。サイズ8ルック・アヘッド回路142、サイズ16
ルック・アヘッド回路144およびサイズ32ルック・
アヘッド回路146は、それぞれのバス・サイズに基づ
いて、情報の転送に必要な制御情報の組を並行に生成す
る。マルチプレクサ回路148は、バス・サイズ選択回
路150の制御下で、現サイクルのバス・サイズに基づ
いて、これらの制御情報の組のうちの1組を次の制御情
報の組としてパスする。バス・サイズ選択回路150
は、データ情報転送に必要なバス・サイズを示すBSV
信号、BS32信号およびBS16信号をバス制御回路
101から受け取り、これらの信号に基づいて、次サイ
クル用にパスすべき適当な制御情報を選択する。各バス
・サイズの制御情報が並行に生成されるので、バス・サ
イズが選択されると同時に、このバス・サイズ用の制御
情報を制御信号ジェネレータ回路102に即座に供給し
て、次サイクル用の制御情報を生成することができ、し
たがって、連続するDMAバス・サイクル間の待ち時間
が減少する。拡張装置19は異なるバス・サイズで情報
を転送するので、バス・サイズが変化する可能性もあ
る。したがって、DMAコントローラ52は、第1サイ
クル中は第1のバス・サイズで情報を転送し、引き続く
第2のバス・サイクル中は第2のバス・サイズで情報を
転送することができる。このように、DMAコントロー
ラ52は、システム装置のそれぞれのバス幅について前
もって何も知らずに、かつシステム性能を全く低下させ
ずに、システム装置間でデータを転送する能力を有す
る。
【0042】マルチプレクサ回路148の出力信号は、
制御信号ジェネレータ回路102の制御回路とDMA制
御状態機械120に供給される。また、これらの制御回
路は、DMA制御状態機械120と信号をやり取りし、
サイズ8ルック・アヘッド回路142、サイズ16ルッ
ク・アヘッド回路144およびサイズ32ルック・アヘ
ッド回路146に制御信号を供給する。
【0043】図3と図4を参照すると、DMAコントロ
ーラ52のFIFO部分は、FIFOレジスタ回路10
4、FIFOバックアップ・メモリ108、および制御
信号ジェネレータ回路102のFIFOコントローラ1
34を含んでいる。制御信号ジェネレータ回路102の
FIFOコントローラ134は、FIFOレジスタ回路
104とFIFOバックアップ・メモリ108に制御信
号を供給する。FIFOバックアップ・メモリ108
は、FIFOレジスタ回路104とデータ情報を並列に
やり取りする。したがって、FIFOバックアップ・メ
モリ108とFIFOレジスタ回路104の間で、単一
のメモリ・サイクルでデータ情報が転送できる。データ
の転送は、FIFOコントローラ134の制御下で行わ
れる。
【0044】FIFOレジスタ回路104は、入力ステ
アリング・マルチプレクサ202、複数のバッファ・セ
ル(たとえば、終段セル204、中間段セル206およ
び初段セル208)および出力ステアリング・マルチプ
レクサ210を含んでいる。バッファ・セルは、行(す
なわち、バンク)と列に配列され、各行は、1つの終段
セル204、1つまたは複数の中間段セル206および
1つの初段セル208からなり、各列は、複数の終段セ
ル204または中間段セル206または初段セル208
からなる。20バイトFIFOレジスタ回路では、FI
FOレジスタ回路104は、3列の中間セルならびに4
行のセルを含む(図4では4行3列のセルを示す)。
【0045】入力ステアリング・マルチプレクサ202
は、バス制御回路101から32ビットのデータ信号を
受け取る。各入力ステアリング・マルチプレクサ202
は、FIFOコントローラ134の制御下で、それぞれ
の行のバッファ・セル、すなわち、それぞれの終段セル
204、当該の中間段セル206および当該の初段セル
208に8ビットのデータ信号を並列に供給する。終段
セル204、中間段セル206および初段セル208
は、FIFOバックアップ・メモリ108からもデータ
情報を並列に受け取る。各終段セル204は、データ情
報信号をそれぞれの中間段セル206に供給する。各中
間段セル206は、データ情報信号を別の中間段セル2
06またはそれぞれの初段セル208に供給する。初段
セル208は、出力ステアリング・マルチプレクサ21
0にデータ情報信号を並列に供給し、出力ステアリング
・マルチプレクサ210は、初段セル208から受け取
った信号を組み合わせて、32ビットのデータ信号をバ
ス制御回路101に供給する。
【0046】各終段セル204は、終段セル・マルチプ
レクサ212と終段セル制御回路213を含んでいる。
各中間段セル206は、中間段セル・マルチプレクサ2
14と中間段セル制御回路215を含んでいる。各初段
セルは、初段セル・マルチプレクサ216と初段セル制
御回路217を含んでいる。終段セル・マルチプレクサ
212と中間段セル・マルチプレクサ214または初段
セル・マルチプレクサ216の唯一の相違は、終段セル
・マルチプレクサが2:1マルチプレクサであるのに対
して、中間段セル・マルチプレクサ214および初段セ
ル・マルチプレクサ216が3:1マルチプレクサであ
ることである。終段セル・マルチプレクサ212、中間
段セル・マルチプレクサ214および初段セル・マルチ
プレクサ216は、すべてFIFOバックアップ・メモ
リ108からデータ入力信号を受け取る。バッファ・セ
ルの1行の終段セル・マルチプレクサ212、中間段セ
ル・マルチプレクサ214および初段セル・マルチプレ
クサ216はまた、すべてそれぞれの入力ステアリング
・マルチプレクサ202からデータ入力信号を並列に受
け取る。中間段セル・マルチプレクサ214は、終段セ
ル制御回路213からデータ情報信号を受け取る。初段
セル・マルチプレクサ216は、中間段セル制御回路2
15からデータ情報信号を受け取り、終段セル・マルチ
プレクサ212、中間段セル・マルチプレクサ214お
よび初段セル・マルチプレクサ216は、FIFOコン
トローラ134の制御下で、どの入力信号をパスするか
を選択する。
【0047】FIFOコントローラ134は、読取りポ
インタ回路220、書込みポインタ回路222、データ
・イン・ステア・コントローラ226およびデータ・ア
ウト・ステア・コントローラ224、ならびに、バック
アップ・メモリ制御回路228およびFIFO制御信号
レジスタ回路230を含んでいる。読取りポインタ回路
220は、読取りストローブ信号(RD STR)を受
け取り、読取りポインタ信号を生成する。この読取りポ
インタ信号は、データ・アウト・ステア・コントローラ
224とFIFOバックアップ・メモリ108に供給さ
れる。書込みポインタ回路222は、書込みストローブ
信号(WR STR)を受け取り、書込みポインタ信号
を生成する。この書込みポインタ信号は、データ・イン
・ステア・コントローラ226とFIFOバックアップ
・メモリ108に供給される。データ・アウト・ステア
・コントローラ224とデータ・イン・ステア・コント
ローラ226は、FIFOバイト・イネーブル信号(F
IFOBE)、転送カウント信号(XFERCNT)お
よび並列書込み信号(P WR STR)をも受け取
る。データ・イン・ステア・コントローラ226は、こ
れらの信号に基づいて入力ステアリング・マルチプレク
サ202を制御し、データ・アウト・ステア・コントロ
ーラ224は、これらの信号に基づいて出力ステアリン
グ・マルチプレクサ210を制御する。バックアップ・
メモリ制御回路228は、3ビットの活動チャネル指示
信号(ACT CHNL(0−2))、メモリ読取り/
書込み信号(RAM W/R)およびメモリ・クロック
信号(RAM CLK)を受け取る。FIFO制御信号
レジスタ回路230は、複数のFIFO制御信号を受け
取り、制御信号をFIFOレジスタ回路104に供給す
る。
【0048】図5を参照すると、中間段セル制御回路2
15は、バイト有効制御回路250、バイト有効フリッ
プフロップ252、セル・クロック制御回路254およ
びセル・データ・レジスタであるフリップフロップ25
6を含んでいる。バイト有効制御回路250は、複数の
制御信号に基づいて、あるバイトを各中間段セル206
が記憶するか否かを決定する。バイト有効制御回路25
0は、次クロック・サイクルの後に、あるデータ・バイ
トが有効であるべきことを示す。バイト有効フリップフ
ロップ252は、バイト有効制御回路250の出力をC
LOCK信号と同期させ、次いでセル・クロック制御回
路254、バイト有効制御回路250および隣接する他
のバイト有効制御回路250にBYTE VALID
(バイト有効)信号を供給する。セル・クロック制御回
路254は、バッファ・セルが実行中の動作のタイプに
基づいて、BYTE VALID信号を適当なストロー
ブ信号と同期させる。同期されたBYTE VALID
信号は、フリップフロップ256のクロック・ゲーティ
ング入力である。フリップフロップ256は、中間段セ
ル・マルチプレクサ214からの入力に基づいて、FI
FOデータ出力信号を同期させる。
【0049】バイト有効制御回路250は、WR ST
R信号とRD STR信号ならびにバイト有効信号(B
V(I−1)、BV(I)およびBV(I+1))を受
け取る。BV(I−1)は、FIFOレジスタ回路10
4のそれぞれの前段のセルからのBYTE VALID
信号(すなわち、終段セル204からのBYTE VA
LID信号)であり、BV(I+1)は、FIFOレジ
スタ回路104のそれぞれの後段のセルからのBYTE
VALID信号(すなわち、初段セル208からまた
は中間段セル206からのBYTE VALID信号)
である。また、バイト有効制御回路250は、下記のバ
イト制御信号、すなわちFIFOバックアップ・メモリ
108に記憶されるデータ情報に対応するBYTE V
ALID信号であるバックアップ・バイト有効信号(B
ACKUP BYTE VALID)、データ情報をF
IFOレジスタ回路104に書き込むのかそれともそこ
から読み取るのかを示すFIFO書込み非読取り信号
(FIFO WNR)、バッファ・セル内の情報をFI
FOバックアップ・メモリ108にバックアップした後
にそのバッファ・セルをいつクリアするのかを示すFI
FOフラッシュ信号(FIFOFLUSH)、およびF
IFO回路内の情報をすべてリセットするシステム・リ
セット信号(RESET)を受け取る。バイト有効制御
回路250は、セル・クロック信号(CLOCK)によ
って刻時されるバイト有効フリップフロップ252にバ
イト有効信号を供給する。バイト有効フリップフロップ
252は、刻時されたBYTE VALID信号をセル
・クロック制御回路254に供給する。
【0050】セル・クロック制御回路254はまた、下
記のセル・クロック信号、すなわちRD STR信号、
WR STR信号、P RD STR信号およびP W
RSTR信号、ならびにCLOCK信号を受け取る。セ
ル・クロック制御回路254は、刻時されたBYTE
VALID信号をフリップフロップ256のクロック入
力端子に供給する。フリップフロップ256は、中間段
セル・マルチプレクサ214からデータ出力信号を受け
取る。
【0051】図1ないし図3と図6を参照すると、動作
の際に、CACP53は、当該CACPに含まれるアー
ビトレーション状態機械300の制御下で、アービトレ
ーション機能を実行する。アービトレーション中に、D
MAコントローラ52が入出力バス18の所有権を勝ち
取った場合、DMAACK信号がCACP53によって
活動化され、DMA制御状態機械120の監視状態機械
302に制御が移る。DMA制御状態機械120は、D
MA実行状態機械304をも含んでいる。監視状態機械
302は、初期設定機能を実行し、活動状態のDMAG
O信号によって示されるように、その後、DMA実行状
態機械304に制御が与えられる。DMA実行状態機械
304は、直接メモリ・アクセス情報の実際の転送を制
御する。活動状態のDONE信号によって示されるよう
に、転送が完了した後に、監視状態機械302に制御が
移り、監視状態機械302は完了機能を実行し、その
後、非活動状態のDMAACK信号によって示されるよ
うに、アービトレーション状態機械300に制御が移
り、別のアービトレーション・サイクルが開始される。
【0052】図7を参照すると、監視状態機械302
は、DMAACK信号が活動化されるまで、遊休(ID
LE)状態350で循環する。DMAACK信号を受け
取ると、待機(WAIT)状態352に制御が移り、こ
れによって、DMAACTIVE信号が活動化され、メ
モリ読取り(MEM READ)状態354へ遷移する
前に制御信号が決定できるようになる。MEM REA
D状態354では、DMA制御バックアップ回路110
からのDMA制御情報とSCB制御情報の取出しと読取
りが行われ、この情報が、制御信号ジェネレータ回路1
02に供給される。具体的に言うと、この制御情報が、
モード・コントローラ124、第1アドレス・ジェネレ
ータ126、第2アドレス・ジェネレータ128、転送
カウント・コントローラ130およびバイト・イネーブ
ル・ジェネレータ132にロードされる。さらに、FI
FOバックアップ・メモリ108に記憶されたFIFO
情報が、FIFOレジスタ回路104とFIFOコント
ローラ134にロードされる。MEM READ状態3
54の間に、SCB取出しコントローラ122に記憶さ
れた情報によって、たとえばDMA転送とSCB転送の
どちらが行われるのかなど、制御信号ジェネレータ回路
102にロードされる転送情報のタイプが決定される。
【0053】DMA転送の場合、待機(WAIT)状態
358に制御が移り、DMAGO信号が活動化される。
DMAGO信号が活動化される時、DMA実行(DMA
EXEC)状態360に制御が移り、これを介して、
DMA実行状態機械304に制御が移る。DMA実行状
態機械304が転送を完了すると、DONE信号が活動
化され、監視状態機械302に制御が戻り、書込み(M
EM WRITE)状態362に制御が移る。MEM
WRITE状態362では、制御信号ジェネレータ回路
102の制御回路内にある制御情報が、DMA制御バッ
クアップ回路110に記憶される。また、MEM WR
ITE状態362で、データ情報が、FIFOレジスタ
回路104からFIFOバックアップ・メモリ108に
転送される。さらに、MEM WRITE状態362
で、DMAACTIVE信号が非活動状態にセットさ
れ、その結果、CACP53がDMAACK信号を非活
動状態にセットし、IDLE状態350に制御が戻る。
DMAACK信号がもう一度CACP53によって活動
化されるまで、制御はIDLE状態350に留まる。
【0054】SCB転送の場合、初期MEM READ
状態354の間に、SCBポインタを含む制御情報が、
DMA制御バックアップ回路110から制御信号ジェネ
レータ回路102にロードされる。制御がMEM RE
AD状態354からSCB実行(SCB EXEC)状
態366に渡される。SCB EXEC状態366の間
に、SCBプログラミング情報がシステム・メモリから
検索される。SCB取出しコントローラ122が、SC
B情報の検索に使用される取出しカウントを供給する。
SCB EXEC状態366では、ルック・アヘッド回
路103を使用して、可能なすべてのバス・サイズに基
づいて適切な制御情報を生成し、その結果、BSV信号
が活動状態になると同時にSCB情報が検索できるよう
になる。このSCB情報は、一時的にFIFOレジスタ
回路104に置かれる。SCB取出しコントローラ12
2から情報を検索した後に、MEM WRITE状態3
62に制御が移り、その状態で、SCBプログラミング
情報がDMA制御バックアップ回路110に記憶され
る。SCB情報がDMA制御バックアップ回路110に
記憶された後に、MEM READ状態354に制御が
移って、DMA転送を開始する。検索されるSCB情報
は、16バイト幅である。そのうちの4バイトが転送の
モードを示し、4バイトが第1アドレス(この第1アド
レスは、入出力拡張装置19を使用する転送の場合には
入出力アドレス、メモリ間転送の場合には第1メモリ・
アドレスである)を示し、4バイトが第2アドレスを示
し、4バイトが転送カウントを示す。
【0055】監視状態機械302はまた、データ連鎖動
作を制御する能力を有する。データ連鎖動作は、SCB
EXEC状態366の間にロードされる最初の16バ
イトSCBのモード情報の部分によって示される。直接
メモリ・アクセス転送では、データ情報を連続するメモ
リ位置に記憶することが必要である。したがって、情報
が不連続なブロックに記憶されている場合、データ連鎖
を使用して、直接メモリ・アクセス転送を分散させたり
まとめたりする。
【0056】データ連鎖動作では、監視状態機械302
は、最初の16バイトSCBの他に、間接リスト(IL
IST)情報を検索する。ILISTは、8バイトIL
ISTSCBのグループである。各ILIST SCB
は、4バイトの第2アドレスと4バイトの転送カウント
を含む。SCB EXEC状態366の間に検索される
SCBのモード情報でデータ連鎖動作が示される時は、
MEM WRITE状態362の間にこのSCBをメモ
リに書き込んだ後、SCB ILISTメモリ読取り
(SCB ILIST MEM READ)状態368
に制御が移り、この状態の間に、ILIST情報の検索
に必要な制御情報が制御信号ジェネレータ回路102に
ロードされる。この情報をロードした後に、ILIST
取出し(ILIST FETCH)状態370に制御が
移り、この状態の間に、ILIST情報が、システム・
メモリから検索され、一時的にFIFOレジスタ回路1
04に置かれる。
【0057】その後、書込み(ADDR2 & XFE
R MEM WRITE)状態372に制御が移り、こ
の状態で、ILIST情報がDMA制御バックアップ回
路110に書き込まれる。その後、書込み(LIST
PTR & CNT MEMWRITE)状態374に
制御が移り、この状態で、ILISTポインタとILI
STカウンタがDMA制御バックアップ回路110に記
憶される。ILISTポインタとILISTカウンタ
は、次のDMA転送に特定のデータ連鎖のうちのどのI
LIST SCBが使用されるかを追跡するのに使用さ
れる。その後、DMA転送がもう行われない場合は、I
DLE状態350に制御が戻り、DMAコントローラ5
2がまだ入出力バス18の所有権を有する場合は、ME
M READ状態354に制御が移って、DMA転送が
開始される。
【0058】監視状態機械302の動作状態に加えて、
監視状態機械302は、エラー(ERROR)状態37
6をも含む。特定のエラー状態が発生した時、MEM
READ状態354などの動作状態からERROR状態
376に制御が移る。タイムアウト状態が、エラー状態
の1例である。ERROR状態376では、IDLE状
態350に戻る前に所与の完了タスクが実行され、した
がって、DMAコントローラ52は、エラー状態から優
雅に(gracefully)脱出することができる。すなわち、
ERROR状態376の間に、制御信号ジェネレータ回
路102の制御回路の内容がメモリに供給され、したが
って、この情報が後続サイクル中に回復できるようにな
る。
【0059】図8を参照すると、DMA実行状態機械3
04は、2つの部分に編成されており、遊休(IDL
E)状態400の右側にはFIFO使用可能部分、ID
LE状態400の左側にはFIFO使用不能部分があ
る。両方の部分の動作中、FIFOレジスタ回路104
は保持機構として使用される。ただし、DMA実行状態
機械304の動作がFIFO使用可能部分を介するもの
である時は、FIFOレジスタ回路はデータ情報で満た
される。これは、たとえばFIFOレジスタ回路104
をバースト転送や入出力拡張装置19とシステム・メモ
リの間の転送の最適化に使用する時である。DMA実行
状態機械304の異なる状態の動作は、DMA転送のモ
ードにも依存する。
【0060】制御は、DMA実行状態機械304に移る
まで、IDLE状態400に留まる。DMAGO信号が
非活動状態である限り、制御はIDLE状態400に留
まる。DMAGO信号が活動状態になった時、FIFO
EN信号の状態に応じて、DMA実行状態機械304の
FIFO使用可能部分、またはDMA実行状態機械30
4のFIFO使用不能部分に制御が移る。DMAGO信
号が活動状態であり、FIFOEN信号も活動状態であ
る時は、バス・サイズ有効読取り(BSV READ)
状態402に制御が移る。
【0061】モード・コントローラ124に記憶される
モード情報によって示されるように、入出力装置からメ
モリへの転送の場合、データ情報は、そのサイクルの始
めに入出力装置から読み取られる。BSV信号が活動状
態になるのを待っている間に、ルック・アヘッド回路1
03のサイズ8ルック・アヘッド回路142、サイズ1
6ルック・アヘッド回路144およびサイズ32ルック
・アヘッド回路146が、制御信号ジェネレータ回路1
02の制御回路から情報を受け取り、制御信号ジェネレ
ータ回路102の制御回路とDMA実行状態機械304
に供給される制御情報を、BS16信号とBS32信号
によって示される拡張装置の幅に応じて生成する。BS
V信号が活動状態になった時、制御信号ジェネレータ回
路102の制御回路が更新され、制御が読取りレディ
(RDY READ)状態404に移る。
【0062】制御は、RDY信号が活動状態にならない
限り、RDY READ状態404に留まる。RDY信
号が活動状態になった時、データ情報が、入出力バス1
8からバス制御回路101にラッチされる。その1クロ
ック・サイクル後に、このデータ情報がFIFOレジス
タ回路104に供給され、バス制御回路101は、次の
データ情報をラッチできる状態になる。RDY REA
D状態404の間に、ルック・アヘッド回路103によ
って生成されているルック・アヘッド信号を監視して、
さらにデータを読み取る必要があるか否かを判定する。
さらにデータを読み取る必要がある場合には、BSV
READ状態402に制御が戻り、この処理を繰り返
す。読み取るべきデータ情報がもう存在しない場合に
は、入出力装置からメモリへの転送の場合、バス・サイ
ズ有効書込み(BSV WRITE)状態406に制御
が移る。
【0063】BSV WRITE状態406の間に、バ
ス・サイズに関する制御情報がベース部分22の制御情
報経路に供給される。BSV WRITE状態406で
は、32ビット幅の経路を仮定し、FIFOレジスタ回
路104に含まれるのが4バイト未満であるか、または
メモリ・アドレスがダブル・ワード境界に位置合せされ
ていないのでない限り、FIFOレジスタ回路104か
らのデータを、ベース部分22のデータ情報経路に32
ビット・セグメントで供給されるように位置決めする。
BSV信号が活動状態になった時、書込みレディ(RD
Y WRITE)状態408に制御が移り、RDY信号
が活動状態になった時、データ情報が、FIFOレジス
タ回路104からメモリへ、バーストで書き込まれる。
RDYWRITE状態408の間、ルック・アヘッド回
路103によって生成されているルック・アヘッド情報
を監視して、さらにデータを書き込む必要があるか否か
を判定する。さらにデータを書き込む必要がある場合に
は、BSV WRITE状態406に制御が戻り、この
処理を繰り返す。FIFOレジスタ回路104に転送を
実施するのに十分なデータが含まれていない限り、デー
タ情報が書き込まれる。
【0064】FIFOレジスタ回路104からデータを
書き込んだ後に、まだDMAコントローラ52が入出力
バス18を所有している場合は、BSV READ状態
402に制御が移り、別の読取りサイクルを開始する。
このチャネルのデータ転送が完了したことが活動状態の
CNL DONE信号によって示される場合、実行完了
(DONE)状態410に制御が移る。DONE状態4
10で、制御信号ジェネレータ回路102の制御回路の
内容が更新され、DONE信号が活動化され、制御がI
DLE状態400に、したがって、監視状態機械302
に戻る。入出力装置からさらにデータを読み取る必要が
ある場合には、BSV READ状態402に制御が戻
り、この処理を繰り返す。
【0065】モード・コントローラ124に記憶される
モード情報によって示されるように、メモリから入出力
装置への転送の場合、その転送は、入出力装置からメモ
リへの転送に類似している。DMA実行状態機械304
は、FIFO使用可能部分を使用し、BSV READ
状態402に制御を移す。データ情報は、そのサイクル
の始めにメモリ装置から読み取られる。BSV信号が活
動状態になるのを待っている間に、ルック・アヘッド回
路103のサイズ8ルック・アヘッド回路142、サイ
ズ16ルック・アヘッド回路144およびサイズ32ル
ック・アヘッド回路146が、制御信号ジェネレータ回
路102の制御回路から情報を受け取り、制御信号ジェ
ネレータ回路102の制御回路とDMA実行状態機械3
04に供給される制御情報を、BS16信号とBS32
信号によって示されるメモリ装置の幅に応じて生成す
る。BSV信号が活動状態になった時、制御信号ジェネ
レータ回路102の制御回路が更新され、RDY RE
AD状態404に制御が移る。制御は、FIFOレジス
タ回路104がデータ情報で満たされるまで、BSVR
EAD状態402とRDY READ状態404の間で
循環する。
【0066】RDY信号が活動状態になり、BURST
信号も活動状態である時、データ情報がメモリから読み
取られ、BSV WRITE状態406に制御が移る。
BSV WRITE状態406の間に、メモリから入出
力装置への転送の場合は、入出力バス18からのバス・
サイズ情報を待っている間に、制御情報がルック・アヘ
ッド回路103によって生成される。したがって、BS
V信号が活動状態になった時、RDY WRITE状態
408に制御を移すことができ、FIFOレジスタ回路
104に保持されるデータ情報を入出力拡張装置19に
書き込むことができる。データ情報は、FIFOレジス
タ回路104が空になるまで入出力拡張装置19に書き
込まれる。FIFOレジスタ回路104が空になるの
は、ある入出力転送を完了するのに十分なデータがFI
FOレジスタ回路104内に残っていない場合である。
その時点で、入出力装置からメモリへの転送の場合と同
様に、BSV READ状態402またはDONE状態
410のどちらかに制御が移る。
【0067】RDY READ状態404の間に、RD
Y信号が活動状態になった時、BURST信号は非活動
状態であって、入出力拡張装置19が、(たとえば、入
出力拡張装置19がバースト動作不能であるなどの理由
で)1つの転送しか受け取れないことを示す場合は、バ
ス・サイズ有効書込み(BSV WRITE)状態41
2に制御が移る。BSV WRITE状態412の間
に、データ情報の転送に必要な情報がルック・アヘッド
回路103によって生成され、その結果、BSV信号が
活動化される時、書込みレディ(RDY WRITE)
状態414に制御を移すことができる。RDY信号が活
動状態になった時、データ情報が入出力拡張装置19に
転送され、カウントおよびアドレス調節(ADJ CO
UNT ADDR)状態416に制御が移る。ADJ
COUNT ADDR状態416の間に、FIFOレジ
スタ回路104内にある残存データ情報を追跡するため
に、DMA転送コントローラ123に記憶されたカウン
トとアドレスが調節され、DONE状態410に制御が
移る。
【0068】メモリから入出力装置への転送の場合、D
MA実行状態機械304に制御が移る時、FIFOレジ
スタ回路104が、前の転送サイクル中に受け取ったデ
ータ情報を有する可能性がある。たとえば、入出力拡張
装置19が、1つの転送サイクルでFIFOレジスタ回
路104の全内容を受け取ることのできないバースト動
作不能の装置であるなどの理由から、FIFOレジスタ
回路104内に情報が存在する可能性がある。したがっ
て、後続の転送サイクルの間にFIFOレジスタ回路1
04を再ロードする必要はなく、IDLE状態400か
らBSV WRITE状態406に直接に制御が移るこ
とができる。
【0069】DMA実行状態機械304のIDLE状態
400に制御が移る時、FIFOEN信号が非活動状態
であって、FIFOレジスタ回路104が使用可能でな
いことを示し、またはMEMVER信号が活動状態であ
って、メモリ検証動作が使用可能であることを示すと同
時に、DMAGO信号が活動状態である場合には、DM
A実行状態機械304のFIFO使用不能部分が使用さ
れ、バス・サイズ有効読取り(BSV READ)状態
418に制御が移る。BSV READ状態418の間
に、ルック・アヘッド回路103が、転送を実施するの
に必要な制御情報を生成する。BSV信号が活動状態に
なった時、この制御情報が制御信号ジェネレータ回路1
02の制御回路にロードされ、読取りレディ(RDY
READ)状態420に制御が移る。RDY信号が非活
動状態である間、制御はRDYREAD状態420に留
まる。RDY信号が活動状態になった時、MEMVER
信号が活動状態であるならば、DONE状態410に制
御が移る。メモリ検証動作は、データ保全性を試験せず
に転送サイクルを試験するのに使用される。
【0070】MEMVER信号が非活動状態である場合
は、バス・サイズ有効書込み(BSV WRITE)状
態422に制御が移る。BSV WRITE状態422
の間に、ルック・アヘッド回路103は、FIFOレジ
スタ回路104に保持されるデータ情報を書き込むのに
必要な制御情報を生成する。BSV信号が活動状態にな
った時、書込みレディ(RDY WRITE)状態42
4に制御が移る。RDY信号が非活動状態である時は、
制御はRDY WRITE状態424に留まる。RDY
信号が活動状態になった時、BURST信号が活動状態
であり、少なくとも4バイトがFIFOレジスタ回路1
04内に残っている場合は、BSV WRITE状態4
22に制御が戻り、さらにデータ情報が書き込まれる。
CNLDONE信号がNO RESIDUAL信号と共
に活動状態である場合、DONE状態410に制御が移
る。CNL DONE信号がRESIDUAL信号と共
に活動状態である場合は、ADJ COUNT ADD
R状態416に制御が移る。DMA転送コントローラ1
23のアドレス情報とカウント情報が調節され、DON
E状態410に制御が移る。
【0071】再び図1、図3および図4を参照すると、
動作中に、DMAコントローラ52がなんらかのタイプ
の転送を開始する時、転送しようとする情報が、たとえ
ばメモリ16、17などの装置から読み取られ、FIF
Oレジスタ回路104に書き込まれる。次いでFIFO
レジスタ回路104に保持される情報が、FIFOレジ
スタ回路104から読み取られ、入出力拡張装置19な
ど別の装置に書き込まれる。したがって、システム読取
りはFIFO書込みを生じ、FIFO読取りはシステム
書込みを生じる。FIFOレジスタ回路104に保持さ
れるデータ情報は、読取りポインタ回路220および書
込みポインタ回路222によって生成される読取りポイ
ンタと書込みポインタを使って追跡される。読取りポイ
ンタは、FIFOレジスタ回路104に保持されるデー
タの第1バイトがどこにあるか、すなわち、この情報が
どのセル内に保持されるのかを識別する。書込みポイン
タは、データの次のバイトがFIFOレジスタ回路10
4に書き込まれる場所を識別する。FIFOレジスタ回
路104に書き込まれるデータの第1バイトでは、これ
ら2つのポインタは同一である。データ情報の後続バイ
トがそれぞれFIFOレジスタ回路104に書き込まれ
るごとに、書込みポインタが増分される。読取りポイン
タは同じままである。このようにして、データ情報の次
のバイトを書き込むセルを決定することができる。書込
みポインタを増分するほかに、データがセルに書き込ま
れる時、そのセルのBYTE VALID信号が活動状
態にセットされて、有効なデータ情報がそのセルに記憶
されていることを示す。データ情報をFIFOレジスタ
回路104から読み取る時は、データを1バイト読み取
るごとに、読取りポインタが増分される。読取りポイン
タと書込みポインタは、バッファ・セルからのデータ情
報と共にFIFOバックアップ・メモリ108に記憶さ
れる。
【0072】監視状態機械302は、ある転送が、初期
転送サイクル、すなわちFIFOレジスタ回路104を
使用する最初の転送であるか否かも判定する。ある転送
が初期転送である場合は、FIFOバックアップ・メモ
リ108からのデータ情報をロードするのではなく、デ
ータ情報をソース装置から直接に読み取る。
【0073】監視状態機械302によって、ある転送が
初期転送でないと判定された場合は、情報をソース装置
から読み取る前に、FIFOレジスタ回路104がFI
FOバックアップ・メモリ108からロードされる。F
IFOレジスタ回路104がバックアップされる時にデ
ータ情報と共に記憶されるBYTE VALID信号を
使用して、FIFOレジスタ回路104によってデータ
情報が検索された後にどのバッファ・セルがデータ情報
を記憶したのかを判定する。
【0074】FIFOレジスタ回路104に対する最初
の書込みの場合、データ情報の第1バイトが初段セル2
08aに書き込まれる。データの次のバイトは、初段セ
ル208bに書き込まれ、以下同様である。4つの初段
セルがすべて書き込まれた後は、データ情報の次のバイ
トは中間段セル206aに書き込まれる。データは、F
IFOレジスタ回路104のバッファ・セルのすべてに
データ情報が含まれるまで書き込むことができ、したが
って、FIFOレジスタ回路104から全くデータを読
み取らずに、20バイトのデータをFIFOレジスタ回
路104に書き込むことができる。データを1バイト書
き込むごとに、書込みポインタが増分され、その結果、
FIFOレジスタ回路104の内容をFIFOバックア
ップ・メモリ108から検索する時に、次の使用可能セ
ルにデータが書き込めるようになる。データ情報は、初
段セル208に直接に書き込まれる(すなわち、データ
情報は、FIFOレジスタの前端にロードされる)の
で、このデータ情報は、即座にFIFOレジスタ回路1
04から読み取れるようになる。したがって、後続サイ
クルでFIFO書込みとFIFO読取りが行える。
【0075】読取りポインタは、読取りが行われる位置
を追跡するのに使用される。たとえば、初期読取りの場
合、読取りポインタは初段セル208aを指す。読取り
を行うごとに、読取りポインタが増分される。したがっ
て、初期サイクルの間に2バイトが読み取られ、次いで
FIFOレジスタ回路104の内容がFIFOバックア
ップ・メモリ108に記憶された場合、読取りポインタ
は、FIFOレジスタ回路104がFIFOバックアッ
プ・メモリ108から再ロードされる時、初段セル20
8cを指すことになる。
【0076】データ・アウト・ステア・コントローラ2
24は、出力ステアリング・マルチプレクサ210のう
ちのどのマルチプレクサが、データのどのバイトをパス
するかを決定する。たとえば、初期読取りの場合、出力
ステアリング・マルチプレクサ210は、初段セル20
8aから受け取るデータ情報をパスする。読取りポイン
タが初段セル208cを指している状態での読取りの場
合、出力ステアリング・マルチプレクサ210は、初段
セル208Cから受け取ったデータ情報をパスする。
【0077】再び図5を参照すると、バイト有効制御回
路250は、BYTE VALID信号の状態を決定
し、したがって、あるバッファ・セルに記憶されている
情報が有効な情報として解釈されるか否かを決定する。
このようにして、バイト有効制御回路は、FIFOレジ
スタ回路104の行方向のデータ情報のシフトを制御す
る。
【0078】初段セル208では、BYTE VALI
D信号が非活動状態で、書込み動作を実行する時は、B
YTE VALID信号の次の値は活動状態である。B
YTE VALID信号が活動状態で、書込み動作を実
行する時は、BYTE VALID信号の次の値は活動
状態である。BYTE VALID信号が非活動状態
で、読取り動作を実行する時は、BYTE VALID
信号の次の値は非活動状態である。BYTE VALI
D信号が活動状態で、読取り動作を実行する時は、BY
TE VALID信号の次の値はBV(I−1)であ
る。
【0079】中間段セル206では、BYTE VAL
ID信号が非活動状態で、書込み動作を実行する時、B
YTE VALID信号の次の値はBV(I+1)であ
る。BYTE VALID信号が活動状態で、書込み動
作を実行する時は、BYTEVALID信号の次の値は
活動状態である。BYTE VALID信号が非活動状
態で、読取り動作を実行する時は、BYTE VALI
D信号の次の値は非活動状態である。BYTE VAL
ID信号が活動状態で、読取り動作を実行する時は、B
YTE VALID信号の次の値はBV(I−1)であ
る。
【0080】終段セル204では、BYTE VALI
D信号が非活動状態で、書込み動作を実行する時、BY
TE VALID信号の次の値はBV(I+1)であ
る。BYTE VALID信号が活動状態で、書込み動
作を実行する時は、BYTEVALID信号の次の値は
活動状態である。BYTE VALID信号が非活動状
態で、読取り動作を実行する時は、BYTE VALI
D信号の次の値は非活動状態である。BYTE VAL
ID信号が活動状態で、読取り動作を実行する時は、B
YTE VALID信号の次の値は非活動状態である。
【0081】他の実施態様として以下のようなものがあ
る。
【0082】たとえば、FIFOレジスタ回路104を
5つの中間セル列を含むように変更して、32ビット幅
のFIFOレジスタ回路を提供し、したがって、16バ
イトの情報パケットの位置合せに最適なサイズを提供す
ることができる。
【0083】たとえば、FIFOレジスタ回路104
を、二重ポートを含むように変更することによって、書
込みと読取りを同時に行えるように構成することもでき
る。
【図面の簡単な説明】
【図1】本発明によるDMAコントローラを含むコンピ
ュータ・システムの概略ブロック図である。
【図2】本発明によるDMAコントローラの概略ブロッ
ク図である。
【図3】図2のDMAコントローラの一部分の概略ブロ
ック図である。
【図4】図2および図3のDMAコントローラのFIF
O回路の概略ブロック図である。
【図5】図4のFIFO回路のFIFOレジスタ回路の
バッファ回路の概略ブロック図である。
【図6】図2および図3のDMAコントローラの動作に
使用される高水準状態機械の状態図である。
【図7】図6の状態機械の監視状態機械の状態図であ
る。
【図8】図6の状態機械の実行状態機械の状態図であ
る。
【符号の説明】
100 DMAサイクル実行回路 101 バス制御回路 102 制御信号ジェネレータ回路 103 ルック・アヘッド回路 104 先入れ先出し(FIFO)レジスタ回路 108 FIFOバックアップ・メモリ(FIFOレジ
スタ・バックアップ回路) 110 DMA制御バックアップ回路 112 プレーナ入出力インターフェース回路 114 プログラム/入出力(PIO)レジスタ回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ベーチャーラ・フォウアド・ボウリー アメリカ合衆国33434、フロリダ州ボカ・ ラトン、28番アベニュー、ノース・ウェス ト 3008番地 (72)発明者 テレンス・ジョーゼフ・ローマン アメリカ合衆国33486、フロリダ州ボカ・ ラトン、5番ストリート、 サウス・ウェ スト 1069番地

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】プロセッサ部分から制御情報を受け取り、
    システム・メモリおよび入出力バスにデータ情報を供給
    し、システム・メモリおよび入出力バスからデータ情報
    を受け取るように接続された、メモリへの直接アクセス
    を可能にするための直接メモリ・アクセス・コントロー
    ラであって、 データ情報を受け取り、保持し、供給するように接続さ
    れたレジスタ回路と、 前記レジスタ回路からデータ情報を受け取り、記憶する
    ように接続されたバックアップ回路と、 プロセッサ回路から制御情報を受け取り、前記レジスタ
    回路および前記バックアップ回路に制御情報を供給する
    ように接続された直接メモリ・アクセス制御回路とを含
    み、 前記直接メモリ・アクセス制御回路から受け取った制御
    情報に基づいて、前記バックアップ回路が、前記レジス
    タ回路からの前記データ情報を記憶する一方、前記レジ
    スタ回路が、前記データ情報とは別のデータ情報を受け
    取り、保持し、供給する、 直接メモリ・アクセス・コントローラ。
  2. 【請求項2】前記直接メモリ・アクセス制御回路が、高
    水準制御情報を生成することによって、前記レジスタ回
    路と前記バックアップ回路の高水準制御を提供する、直
    接メモリ・アクセス・サイクル実行回路を含む請求項1
    の直接メモリ・アクセス・コントローラ。
  3. 【請求項3】前記直接メモリ・アクセス制御回路が、前
    記高水準制御情報に基づいて直接メモリ・アクセス制御
    信号を生成する制御信号ジェネレータ回路を含み、 前
    記直接メモリ・アクセス制御信号が、前記レジスタ回路
    に供給され、かつ前記レジスタ回路からの前記データ情
    報と共に前記バックアップ回路に記憶される、 請求項2の直接メモリ・アクセス・コントローラ。
  4. 【請求項4】独立して直接にメモリにアクセスする能力
    を有する、複数の直接メモリ・アクセス・チャネルを含
    み、 前記バックアップ回路が、前記複数の直接メモリ・アク
    セス・チャネルに対応する複数のバックアップ・チャネ
    ルを含み、各バックアップ・チャネルが、前記レジスタ
    回路から前記データ情報を記憶する請求項1の直接メモ
    リ・アクセス・コントローラ。
  5. 【請求項5】データ情報が、前記レジスタ回路と前記バ
    ックアップ回路の間で並列に転送される請求項1の直接
    メモリ・アクセス・コントローラ。
  6. 【請求項6】前記レジスタ回路が、先入れ先出しレジス
    タ回路であり、 前記レジスタ回路に保持される前記データ情報が、前記
    データ情報が前記レジスタ回路に供給された順序で前記
    レジスタ回路から検索される請求項1の直接メモリ・ア
    クセス・コントローラ。
  7. 【請求項7】プロセッサ部分と、 システム・メモリと、 入出力バスと、 プロセッサ部分から制御情報を受け取り、システム・メ
    モリおよび入出力バスにデータ情報を供給し、システム
    ・メモリおよび入出力バスからデータ情報を受け取るよ
    うに接続された直接メモリ・アクセス・コントローラと
    を含み、 前記直接メモリ・アクセス・コントローラが、 前記データ情報を受け取り、保持し、供給するように接
    続されたレジスタ回路と、 前記レジスタ回路からのデータ情報を受け取り、記憶す
    るように接続されたバックアップ回路と、 前記プロセッサ回路から前記制御情報を受け取り、前記
    レジスタ回路および前記バックアップ回路に制御情報を
    供給するように接続された直接メモリ・アクセス制御回
    路とを含み、 前記直接メモリ・アクセス制御回路から受け取った制御
    情報に基づいて、前記バックアップ回路が、前記レジス
    タ回路からの前記データ情報を記憶する一方、前記レジ
    スタ回路が、前記データ情報とは別のデータ情報を受け
    取り、保持し、供給する、 メモリの直接アクセスを可能にするための情報処理装
    置。
JP4247939A 1991-10-15 1992-09-17 直接メモリ・アクセス・コントローラ及び情報処理装置 Pending JPH05204825A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US778042 1991-10-15
US07/778,042 US5381538A (en) 1991-10-15 1991-10-15 DMA controller including a FIFO register and a residual register for data buffering and having different operating modes

Publications (1)

Publication Number Publication Date
JPH05204825A true JPH05204825A (ja) 1993-08-13

Family

ID=25112129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4247939A Pending JPH05204825A (ja) 1991-10-15 1992-09-17 直接メモリ・アクセス・コントローラ及び情報処理装置

Country Status (3)

Country Link
US (1) US5381538A (ja)
EP (1) EP0540206A3 (ja)
JP (1) JPH05204825A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100827287B1 (ko) * 2006-12-29 2008-05-07 주식회사 태진인포텍 반도체 보조 기억 장치 및 이를 이용한 데이터 저장 방법

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535414A (en) * 1992-11-13 1996-07-09 International Business Machines Corporation Secondary data transfer mechanism between coprocessor and memory in multi-processor computer system
US5548796A (en) * 1993-11-02 1996-08-20 National Semiconductor Corporation Method of automatic retransmission of frames in a local area network
US5696993A (en) * 1993-12-03 1997-12-09 Intel Corporation Apparatus for decoding and providing the decoded addresses to industry standard PCMCIA card through the data lines of the parallel port
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
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
US5805927A (en) * 1994-01-28 1998-09-08 Apple Computer, Inc. Direct memory access channel architecture and method for reception of network information
US5652886A (en) * 1994-10-03 1997-07-29 United Technologies Corporation System for loading a boot program into an initially blank programmable memory of a microprocessor using state machine and serial bus
US5611075A (en) * 1994-10-04 1997-03-11 Analog Devices, Inc. Bus architecture for digital signal processor allowing time multiplexed access to memory banks
US5619720A (en) * 1994-10-04 1997-04-08 Analog Devices, Inc. Digital signal processor having link ports for point-to-point communication
US5685005A (en) * 1994-10-04 1997-11-04 Analog Devices, Inc. Digital signal processor configured for multiprocessing
EP0784823A2 (en) * 1994-10-04 1997-07-23 Analog Devices, Inc. Digital signal processor
US5634076A (en) * 1994-10-04 1997-05-27 Analog Devices, Inc. DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer
DE69524916T2 (de) * 1994-10-11 2002-11-14 Sun Microsystems, Inc. Verfahren und Vorrichtung zur Datenübertragung im Bereich der Rechnersysteme
US5557756A (en) * 1994-10-28 1996-09-17 Hewlett-Packard Company Chained arbitration
CA2135505C (en) * 1994-11-09 1999-11-09 Patrick K. Kam Dma emulation for non-dma capable interface cards
US5732279A (en) * 1994-11-10 1998-03-24 Brooktree Corporation System and method for command processing or emulation in a computer system using interrupts, such as emulation of DMA commands using burst mode data transfer for sound or the like
US5628026A (en) * 1994-12-05 1997-05-06 Motorola, Inc. Multi-dimensional data transfer in a data processing system and method therefor
US5652915A (en) * 1995-02-21 1997-07-29 Northern Telecom Limited System for controlling mode of operation of a data cache based on storing the DMA state of blocks by setting the DMA state to stall
US5826106A (en) * 1995-05-26 1998-10-20 National Semiconductor Corporation High performance multifunction direct memory access (DMA) controller
US5752081A (en) * 1995-06-08 1998-05-12 Vlsi Technology, Inc. Signalling system and method for allowing a direct memory access (DMA) input/output (I/O) device on the peripheral component interconnect (PCI) bus to perform DMA transfers
US5752076A (en) * 1995-08-31 1998-05-12 Intel Corporation Dynamic programming of bus master channels by intelligent peripheral devices using communication packets
US6810449B1 (en) 1995-10-19 2004-10-26 Rambus, Inc. Protocol for communication with dynamic memory
US6470405B2 (en) 1995-10-19 2002-10-22 Rambus Inc. Protocol for communication with dynamic memory
US5748914A (en) * 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
US5802550A (en) * 1996-01-17 1998-09-01 Apple Computer, Inc. Processor having an adaptable mode of interfacing with a peripheral storage device
US5956492A (en) * 1996-03-29 1999-09-21 Lsi Logic Corporation N-deep fixed latency fall-through FIFO architecture
US6317803B1 (en) 1996-03-29 2001-11-13 Intel Corporation High-throughput interconnect having pipelined and non-pipelined bus transaction modes
US5911051A (en) * 1996-03-29 1999-06-08 Intel Corporation High-throughput interconnect allowing bus transactions based on partial access requests
US5896550A (en) * 1997-04-03 1999-04-20 Vlsi Technology, Inc. Direct memory access controller with full read/write capability
US6145027A (en) * 1997-07-09 2000-11-07 Texas Instruments Incorporated DMA controller with split channel transfer capability and FIFO buffering allowing transmit channel to get ahead of corresponding receive channel by preselected number of elements
US6128728A (en) 1997-08-01 2000-10-03 Micron Technology, Inc. Virtual shadow registers and virtual register windows
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
AU9604698A (en) * 1997-10-10 1999-05-03 Rambus Incorporated Method and apparatus for two step memory write operations
JP2001154976A (ja) * 1999-11-25 2001-06-08 Canon Inc Dmaコントローラ及びその制御方法
US7139848B1 (en) * 2000-12-08 2006-11-21 Xilinx, Inc. DMA protocol extension for packet-based transfer
US8391039B2 (en) * 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
US7975094B2 (en) * 2004-04-15 2011-07-05 Marvell International Technology Ltd. Programmable I/O interface
US7301831B2 (en) * 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
JP4303719B2 (ja) * 2005-12-08 2009-07-29 Necエレクトロニクス株式会社 半導体集積回路およびその制御方法
US20100088433A1 (en) * 2008-10-03 2010-04-08 An Chen Computer Co., Ltd. Direct memory access (DMA) system
US8943238B2 (en) * 2012-05-18 2015-01-27 Atmel Corporation Operations using direct memory access
US9183041B2 (en) * 2012-09-21 2015-11-10 International Business Machines Corporation Input/output traffic backpressure prediction
US10303618B2 (en) 2012-09-25 2019-05-28 International Business Machines Corporation Power savings via dynamic page type selection
US9658926B1 (en) * 2014-07-08 2017-05-23 EMC IP Holding Company LLC Systems and methods for dynamic save streams
CN114328322B (zh) * 2022-03-17 2022-08-05 之江实验室 一种可配置功能模式的dma控制器运行方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0296261A (ja) * 1988-09-30 1990-04-09 Nec Corp Dma転送装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4259661A (en) * 1978-09-01 1981-03-31 Burroughs Corporation Apparatus and method for recognizing a pattern
US4491916A (en) * 1979-11-05 1985-01-01 Litton Resources Systems, Inc. Large volume, high speed data processor
US4521871A (en) * 1982-04-12 1985-06-04 Allen-Bradley Company Programmable controller with back-up capability
US4896262A (en) * 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
US4809166A (en) * 1986-08-27 1989-02-28 Advanced Micro Devices, Inc. Data assembly apparatus and method
BG45675A1 (en) * 1987-10-16 1989-07-14 Tsentralen Inst Za Izchislitel Controlling device for direct access
US4942553A (en) * 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
JPH0264834A (ja) * 1988-08-31 1990-03-05 Midori Denshi Kk 小型コンピュータシステムにおけるデータ転送装置
US4996687A (en) * 1988-10-11 1991-02-26 Honeywell Inc. Fault recovery mechanism, transparent to digital system function
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
US4944679A (en) * 1989-10-02 1990-07-31 The United States Of America As Represented By The Secretary Of The Navy Generic radar display
US5175825A (en) * 1990-02-02 1992-12-29 Auspex Systems, Inc. High speed, flexible source/destination data burst direct memory access controller
JP3647975B2 (ja) * 1996-07-04 2005-05-18 前田金属工業株式会社 ボルト・ナット締付機

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0296261A (ja) * 1988-09-30 1990-04-09 Nec Corp Dma転送装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100827287B1 (ko) * 2006-12-29 2008-05-07 주식회사 태진인포텍 반도체 보조 기억 장치 및 이를 이용한 데이터 저장 방법

Also Published As

Publication number Publication date
EP0540206A3 (en) 1993-05-12
US5381538A (en) 1995-01-10
EP0540206A2 (en) 1993-05-05

Similar Documents

Publication Publication Date Title
JP2599539B2 (ja) 直接メモリ・アクセス装置及びルック・アヘッド装置
JPH05204825A (ja) 直接メモリ・アクセス・コントローラ及び情報処理装置
JPH05204786A (ja) 直接メモリ・アクセス装置
US4682284A (en) Queue administration method and apparatus
EP0622737A2 (en) High performance memory system
US20020184462A1 (en) Pipelined memory controller
US5859990A (en) System for transferring data segments from a first storage device to a second storage device using an alignment stage including even and odd temporary devices
EP1271542A2 (en) Method and system for fast data access using a memory array
US5911053A (en) Method and apparatus for changing data transfer widths in a computer system
JPS6297036A (ja) 計算機システム
JP3360849B2 (ja) データ情報保持装置
US20030196004A1 (en) Buffering and presenting chunks
US7310717B2 (en) Data transfer control unit with selectable transfer unit size
US6154807A (en) Memory system performing fast access to a memory location by omitting the transfer of a redundant address
US6625711B1 (en) Method and/or architecture for implementing queue expansion in multiqueue devices
US6691200B1 (en) Multi-port PCI-to-PCI bridge with combined address FIFOs but separate data FIFOs for concurrent transactions
EP1607869B1 (en) Data cache system
JP3028932B2 (ja) 入出力バッファメモリ回路
EP0359232A2 (en) Computer system and method for setting recovery time
JPS6159557A (ja) 仮想記憶制御装置
JP3528198B2 (ja) 計算機システム
JPH02187849A (ja) バス・インターフェース装置
EP0369935A2 (en) Multiple posting cache memory
JPH0516062B2 (ja)
JPH05241948A (ja) パーソナルコンピュータ