JP2574821B2 - ダイレクトメモリアクセス・コントローラ - Google Patents

ダイレクトメモリアクセス・コントローラ

Info

Publication number
JP2574821B2
JP2574821B2 JP62303189A JP30318987A JP2574821B2 JP 2574821 B2 JP2574821 B2 JP 2574821B2 JP 62303189 A JP62303189 A JP 62303189A JP 30318987 A JP30318987 A JP 30318987A JP 2574821 B2 JP2574821 B2 JP 2574821B2
Authority
JP
Japan
Prior art keywords
data
transfer
address
input
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.)
Expired - Fee Related
Application number
JP62303189A
Other languages
English (en)
Other versions
JPH01145753A (ja
Inventor
淳 吉田
仁昌 平松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi Ltd
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 Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP62303189A priority Critical patent/JP2574821B2/ja
Publication of JPH01145753A publication Critical patent/JPH01145753A/ja
Application granted granted Critical
Publication of JP2574821B2 publication Critical patent/JP2574821B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理システムにおいて高速にデータ転送
を行うダイレクトメモリアクセス(DMA)コントローラ
に係り、特にワークステーションおよびパーソナルコン
ピュータ等の小規模コンピュータに好適なDMAコントロ
ーラに関する。
〔従来の技術〕
従来のDMAコントローラは特開昭60−72057号公報に記
載されているように、転送データカウンタにより、ある
いは特定のデータパターンの検出によりDMA転送の終了
を認識することが可能であった。すなわち、DMA転送の
終了をDMAコントローラ内部で検出していた。
〔発明が解決しようとする問題点〕
上記従来技術のように、転送データカウンタを具備し
ていると大規模な回路が必要でありコスト高の要因とな
っていた。そこで、この回路を削減できればコスト低減
効果が大きいことになる。ところが、メモリと入出力ポ
ートのデータバス幅(ビット数)が異なる場合、メモリ
と入出力ポート間には両者のデータバス幅を調整するた
めのデータラッチバッファが必要であり、上記従来技術
のようにDMAコントローラ内部でDMA転送の終了を検出す
る手段を有する場合は問題はないが、DMAコントローラ
内部でDMA転送の終了を検出する手段を有さないDMAコン
トローラでは、入出力ポートからデータをメモリに転送
する場合、上記データラッチバッファに一時記憶したデ
ータをメモリに転送できない場合がある。
本発明の目的は、転送データカウンタを削除し、コス
ト低減を図ると共に、メモリと入出力ポートのデータバ
ス幅が異なる場合でも、DMA転送を正常に動作させるDMA
コントローラを提供することにある。
〔問題点を解決するための手段〕
上記目的は、入出力ポートからメモリにデータをDMA
転送する際、DMAコントローラを管理するCPUに対して入
出力ポートからDMA転送終了時に出力される信号(通常
は割込み信号)を利用し、この信号が入出力ポートから
出力された時、上記データラッチバッファ内にメモリへ
転送されるべき入出力ポートからのデータが残っている
場合、メモリへこのデータを転送し、しかるのちに前記
信号をCPUに伝達することにより達成される。
〔作用〕
入出力ポートは所定の数のデータがDMAコントローラ
の作用によりメモリへ出力されると、転送終了を割込み
信号によりCPUに伝達し、CPUはDMA転送の終了を認識す
る。この転送終了を示す割込み信号をDMAコントローラ
に入力し、DMAコントローラはこの信号が入力されると
上記データラッチバッファの状態を調べ未転送のデータ
が残っている場合はDMAサイクルを実行しメモリに残り
データを転送し、データが残っていない場合はそのまま
の状態となる。従って、入出力ポートからメモリへ転送
されるべきデータは全て転送されかつDMAコントローラ
は転送データ数カウンタなしで転送終了を認識できる。
〔実施例〕
以下、本発明の一実施例を図により説明する。本実施
例では、入出力ポートのデータバスは8ビット,メモリ
のデータバスは16ビットでメモリのアクセスは8ビット
単位に行われ、DMA転送開始アドレスは任意の値に設定
できるものとし、入出力ポートからのデータをメモリに
DMA転送するものとして以下説明する。
第1図,第2図および第3図は本発明を適用しない場
合(通常のDMAコントローラから転送データ数カウンタ
を削除した場合)のそれぞれ回路ブロック図,DMAコント
ローラブロック図およびタイミングチャートで、11は本
発明を適用しないDMAコントローラ,12は8ビットのデー
タバスを有する入出力ポート,13は16ビットのバスを有
するメモリ,14はCPU,21は入出力ポート12からのデータ
転送要求によりDMAを制御するための回路,22は入出力ポ
ート12からの8ビットデータをメモリ13の16ビットデー
タバスの上位および下位8ビットに分配するためのスイ
ッチ回路,23は入出力ポート12からのデータをメモリ13
の下位8ビットに転送するためのデータラッチバッフ
ァ,24は同じく上位8ビットに転送するためのデータラ
ッチバッファ,25はDMA転送アドレスカウンタ,26はアド
レスカウンタ25によりカウントされたアドレスをメモリ
13へ出力するためのアドレス出力バッファ,27はアドレ
スカウンタ25の最下位ビットの状態によりアドレスの偶
数奇数を判定しメモリ13にデータを転送する際データバ
ス(16ビット)の上位8ビットの有効性をメモリ13に伝
達するためのアドレス偶数判定回路である。本例では、
入出力ポート12からメモリ13へ転送すべきデータの数を
3個(3バイト=24ビット),CPU14がDMAコントローラ1
1に設定したDMA転送開始アドレスの値が偶数であるとす
る。入出力ポート12は1番目のデータの出力準備が完了
するとデータ要求信号(DRQ)によりデータ転送をDMA制
御回路21に要求しデータをデータバス(8ビット)上に
出力する。DRQを受け取るとDMA制御回路21はデータ要求
応答信号(DACK)により応答したことを入出力ポート12
に伝達すると同時にデータバス(8ビット)上のデータ
をスイッチ回路22を制御し下位データラッチバッファ23
にラッチする。ここでアドレスカウンタ25は1だけカウ
ントアップされる。2番目のデータ要求では同様に上位
データラッチバッファ24にラッチする。ここでアドレス
カウンタ25は再び1だけカウントアップされる。これら
2回のデータ要求によりデータラッチバッファ23および
24は充足され、また、アドレス偶数判定回路27によるア
ドレス判定によりDMA制御回路21はCPU14に対しバスホー
ルド要求(HOLD)を行いCPU14はバスホールド応答(HOL
DACK)によりバスを解放したことをDMAコントローラ11
に伝達し、DMAコントローラ11はデータラッチバッファ2
3および24にラッチされているデータをデータバス(16
ビット)上に、またアドレス出力バッファ26のアドレス
をアドレスバス上に出力しデータバス(16ビット)上の
データをメモリ13に書込む。次に3番目(最後)のデー
タ要求が入出力ポート12より出力されるとDMAコントロ
ーラ11は1番目のデータと同様に下位データラッチバッ
ファ23にラッチする。ここで、アドレスカウンタ25は再
び1だけカウントアップされる。ここで入出力ポート12
では全てのデータ転送が終了したため転送終了を示す割
込み(IRQ)をCPU14に出力しCPU14もDMA転送終了を認識
する。しかし、DMAコントローラ11ではデータラッチバ
ッファのうち上位バッファ24は未だ充足されていないた
め下位バッファ23にラッチされている3番目のデータは
メモリ13には転送されない状態のままとなり不具合が生
じる。
そこで従来では、転送アドレスカウンタ25に最初に設
定するアドレス値を2の倍数(偶数)にすることおよび
転送するデータの数を2の倍数(偶数)とする条件を設
けることにより不具合が発生することを回避していた。
次に上記不具合を改善するために本発明を適用した例
を第4図,第5図および第6図により説明する。第4図
は回路ブロック図,第5図はDMAコントローラのブロッ
ク図,第6図はタイミングチャートを示し、それぞれ第
1図,第2図および第3図に対応するものである。
41は本発明を適用したDMAコントローラ、51は前述のD
MA制御回路21に対し、入出力ポート12からの転送終了を
示す割込み信号(IRQ)とIRQが出力された時点でのアド
レスカウンタ25の最下位ビット(アドレスA0)によりア
ドレスの偶奇判定回路27の出力が奇数である場合、デー
タラッチバッファ23に未転送データが残っているか否か
を判定するためのDMA転送終了識別回路58からの出力に
よりCPU14にバスホールドを要求する機能を追加したDMA
制御回路,58は上記にて説明したDMA転送終了識別回路で
ある。ここで、上記と同様に3バイトのデータをDMA転
送開始アドレスの値を偶数として入出力ポート12からメ
モリ13へ転送する場合について説明する。ここで入出力
ポート12が出力する1番目および2番目のデータについ
ては第1図,第2図および第3図での説明と同様であ
り、3番目のデータを下位データラッチバッファ23にラ
ッチするまでの過程も上記と同様である。3番目のデー
タ出力完了後入出力ポート12から出力される転送終了を
示す割込み信号(IRQ)はDMコントローラ41内のDMA転送
終了識別回路58へ入力される。識別回路58へは、転送ア
ドレスカウンタ25の最下位ビットも入力されている。こ
こで、3番目のデータをラッチバッファ23にラッチした
時点でアドレスカウンタの最下位ビットは“1"(つまり
奇数)を示しているためDMA転送終了識別回路58は入出
力ポートからのIRQ入力時点でデータラッチバッファ23
内のデータが未だメモリ13へ転送されていないことを識
別しDMA制御回路51を起動しメモリ13にデータラッチバ
ッファ23のデータを転送する。このとき上位データラッ
チバッファ24のデータは不要であるためアドレス偶奇判
定回路27の上位データ有効信号をインアクティブ(偽)
にしてメモリ13に対し上位データを書込まないよう指示
する。このとき、入出力ポート12からのIRQ信号は3番
目のデータのDMA転送が終了するまではCPU14に伝達しな
いようDMA転送終了識別回路にて制御する。なお、上記
実施例にてデータを4バイト転送する場合、入出力ポー
ト12からの転送終了を示すIRQ信号は、4番目のデータ
を上位データラッチバッファ24にラッチしDMA制御回路5
1の作用により下位および上位のデータをメモリ13に転
送した後に出力されるが、このとき転送アドレスカウン
タ25の最下位ビット(A0)は“0"(つまり偶数)である
ためDMA転送終了識別回路58は上位および下位ともにデ
ータ転送終了済みであるものと判定し入出力ポート12か
らのIRQ信号出力があっても不要なDMA転送を行わないよ
う制御する。ここでCPU14から転送アドレスカウンタ25
に最初に設定されたDMA転送開始アドレス値が奇数であ
る場合は、入出力ポート12からの最初のDRQ信号がDMA制
御回路51に入力されたとき、入出力ポートからの出力デ
ータは上位データラッチバッファ24にデータがラッチさ
れ、アドレス偶奇判定回路27の制御によりDMA制御回路5
1はメモリに対してDMA転送を行う。このとき、アドレス
バスの最下位ビットは“1"(奇数)であり、またアドレ
ス偶奇判定回路27の上位データ有効信号がアクティブと
なりメモリには上位データラッチバッファ24から出力さ
れたデータのみ(位位8ビットのみ)が書込まれる。こ
れは第1図,第2図の場合でも同様である。
以上の説明では、データバスの幅を入出力ポートは8
ビット、メモリは16ビットとしたが、メモリが32ビット
であるときはデータラッチバッファは8ビット構成が4
個、また、入出力ポートが16ビット、メモリが32ビット
であるような場合はデータラッチバッファは16ビット構
成が2個であるとすれば同様な動作が保証されることは
言うまでもない。
尚、上記では入出力ポートからメモリに対してデータ
を転送する場合について述べたが、メモリからのデータ
を入出力ポートに転送する場合はデータの転送方向が逆
になるが、入出力ポートからのDRQ信号が入力された時
点でアドレス偶奇判定回路27により、メモリからのデー
タリードを行いそのデータをデータラッチバッファ23あ
るいは24にラッチしその一方を入出力ポートに出力する
か否か、あるいはメモリからデータバッファ24にラッチ
されているデータを入出力ポートに出力するか否かのい
ずれかを判定し制御を行うだけであるので、データラッ
チバッファ23あるいは24に未転送のデータが残存するこ
とはない。
第7図はメモリ13の構成を示す。データバスは16ビッ
トであり、71はデータバスの下位8ビット(アドレス値
が偶数)、72はデータバスの上位8ビット(アドレス値
が奇数)をそれぞれ担当するメモリである。メモリのア
ドレスはアドレスバスと上位データ有効信号とにより選
択される。メモリ71あるいは72のいずれかを選択するか
はアドレスバスの最下位ビットと上位データ有効信号と
により決定される。
〔発明の効果〕
以上説明した通り本発明によれば、入出力ポートのデ
ータバス幅とメモリのデータバス幅が異なりかつDMAコ
ントローラ内に転送データ数カウンタを有さない場合で
あっても転送アドレスの設定値および転送データ数に条
件を付加することなくDMAデータ転送は正常に行えると
ともに正しいタイミング(真にデータ転送が終了した時
点)でCPUにデータ転送の終了を通知することができる
ため、DMAコントローラから転送データ数カウンタを削
除可能となり転送データ数カウンタを構成する回路素子
の規模分の論理回路をDMAコントローラから削除可能で
ある。
【図面の簡単な説明】
第1図は本発明を適用しない回路の全体ブロック図、第
2図は同じくDMAコントローラ、第3図は同じくタイミ
ングチャート、第4図は本発明の一実施例回路の全体ブ
ロック図、第5図は同じくDMAコントローラ、第6図は
同じくタイミングチャート、第7図はメモリの構成を示
す。 11……DMAコントローラ、12……入出力ポート、13……
メモリ、14……CPU、21……DMA制御回路、22……スイッ
チ回路、23……下位データラッチバッファ、24……上位
データラッチバッファ、25……転送アドレスカウンタ、
26……アドレス出力バッファ、27……アドレス偶奇判定
回路、41……DMAコントローラ、51……DMA制御回路、58
……DMA転送終了識別回路。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−276655(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】メモリと入出力ポートとの間でデータ転送
    を行うダイレクトメモリアクセスを制御し、前記メモリ
    をアクセスする第一のデータバスのバス幅と前記入出力
    ポートをアクセスする第二のデータバスのバス幅とが異
    なるダイレクトメモリアクセス・コントローラであっ
    て、 ダイレクトメモリアクセスにより転送するデータを一時
    的に記憶し前記第一のバスと前記第二のバスとの相違を
    補正するデータラッチ手段と、ダイレクトメモリアクセ
    スの先頭アドレスを記憶するアドレスカウント手段と、
    データ転送要求に応じて前記データラッチ手段へのデー
    タラッチを制御するとともに前記転送アドレスカウンタ
    をカウントアップし、前記アドレスカウント手段内に記
    憶したアドレスに基づいて前記データラッチ手段にラッ
    チしたデータの転送を制御する制御手段と、前記入出力
    ポートから出力されるデータ転送終了信号を入力し、前
    記データラッチ手段に未転送データが残っているか否か
    を判定する転送終了識別手段とを有し、前記転送終了識
    別手段は前記データ転送終了信号の入力に応じて、前記
    アドレスカウント手段内に記憶したアドレスに基づいて
    前記データラッチ手段内に前記メモリに転送していない
    データが存在するか否かを判断し、転送していないデー
    タが存在しない場合はそのまま前記データ転送終了信号
    をCPUに伝達し、転送していないデータが存在する場合
    は前記制御手段を起動して前記メモリに該データを転送
    した後、前記データ転送終了信号を前記CPUに伝達する
    ことを特徴とするダイレクトメモリアクセス・コントロ
    ーラ。
JP62303189A 1987-12-02 1987-12-02 ダイレクトメモリアクセス・コントローラ Expired - Fee Related JP2574821B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62303189A JP2574821B2 (ja) 1987-12-02 1987-12-02 ダイレクトメモリアクセス・コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62303189A JP2574821B2 (ja) 1987-12-02 1987-12-02 ダイレクトメモリアクセス・コントローラ

Publications (2)

Publication Number Publication Date
JPH01145753A JPH01145753A (ja) 1989-06-07
JP2574821B2 true JP2574821B2 (ja) 1997-01-22

Family

ID=17917953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62303189A Expired - Fee Related JP2574821B2 (ja) 1987-12-02 1987-12-02 ダイレクトメモリアクセス・コントローラ

Country Status (1)

Country Link
JP (1) JP2574821B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3525070B2 (ja) * 1999-01-27 2004-05-10 松下電器産業株式会社 アクセス制御装置及びアクセス方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61286955A (ja) * 1985-06-13 1986-12-17 Yokogawa Medical Syst Ltd デ−タ転送方法
JPS62276655A (ja) * 1986-05-26 1987-12-01 Pfu Ltd Dma転送方式

Also Published As

Publication number Publication date
JPH01145753A (ja) 1989-06-07

Similar Documents

Publication Publication Date Title
US5497501A (en) DMA controller using a predetermined number of transfers per request
JP2821534B2 (ja) デュアルポートランダムアクセスメモリ装置
US5274795A (en) Peripheral I/O bus and programmable bus interface for computer data acquisition
JPH0250499B2 (ja)
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
EP0587370A1 (en) Method and apparatus for software sharing between multiple controllers
JP3165598B2 (ja) 先入先出メモリのバスインタフェース装置
JP2565916B2 (ja) メモリアクセス制御装置
JP3057754B2 (ja) メモリ回路および分散処理システム
JP3019323B2 (ja) イメージメモリのダイレクトアクセス方法
EP0568678B1 (en) Device for transmission of data
EP0439594B1 (en) Device for interfacing a main processor bus connected to a main processor to a peripheral bus having a number of peripheral devices connected thereto
JP2594611B2 (ja) Dma転送制御装置
JP3371978B2 (ja) 情報処理装置
KR100606698B1 (ko) 인터페이스 장치
JP2882202B2 (ja) マルチポートアクセス制御回路
JP2537541B2 (ja) Dma制御方式
JP2768022B2 (ja) メモリコントローラ
JP3299147B2 (ja) キャッシュ制御回路
JP2581144B2 (ja) バス制御装置
JP2671743B2 (ja) マイクロコンピュータ
JPH04337851A (ja) メモリアクセス方式
JPS63155254A (ja) 情報処理装置
JPH02211571A (ja) 情報処理装置
JPH04165438A (ja) メモリアクセス方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees