JPH0831080B2 - Dma制御装置 - Google Patents

Dma制御装置

Info

Publication number
JPH0831080B2
JPH0831080B2 JP63027008A JP2700888A JPH0831080B2 JP H0831080 B2 JPH0831080 B2 JP H0831080B2 JP 63027008 A JP63027008 A JP 63027008A JP 2700888 A JP2700888 A JP 2700888A JP H0831080 B2 JPH0831080 B2 JP H0831080B2
Authority
JP
Japan
Prior art keywords
transfer
data
information
dma
programmable logic
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
Application number
JP63027008A
Other languages
English (en)
Other versions
JPH01201760A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63027008A priority Critical patent/JPH0831080B2/ja
Priority to EP89400344A priority patent/EP0328450B1/en
Priority to US07/306,952 priority patent/US5119487A/en
Priority to DE68927015T priority patent/DE68927015D1/de
Priority to KR1019890001426A priority patent/KR920009448B1/ko
Publication of JPH01201760A publication Critical patent/JPH01201760A/ja
Publication of JPH0831080B2 publication Critical patent/JPH0831080B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】 〔概要〕 DMA制御装置、特にCPUを有するデータ処理装置におい
てCPUがシステムバスの専有権を放棄している期間に記
憶装置と入出力装置との間でCPUを介さず直接にデータ
を高速で転送するDMAを制御するDMA制御装置に関し、 マイクロプログラムによる条件判断の負担を軽減する
と共にランダム論理のハードウエアの大規模化を防止
し、データ転送のビット長が大きい場合でも高速なデー
タ転送を可能とすることを目的とし、 DMAによるデータ転送を制御するDMA制御装置におい
て、データ転送の制御用情報を入力条件に応答してラン
ダム論理により生成出力するプログラマブル・ロジック
・アレイと、該プログラマブル・ロジック・アレイから
の信号に基づいて次の転送状態を指示する情報を更新す
ると共に該プログラマブル・ロジック・アレイに供給す
る状態指示回路とを備え、該プログラマブル・ロジック
・アレイは、該状態指示回路からの情報を該入力条件の
一部として該制御用情報を順次生成出力するように構成
する。
〔産業上の利用分野〕
本発明はDMA(ダイレクト・メモリ・アクセス)制御
装置、特にCPU(中央処理装置)を有するデータ処理装
置においてCPUがシステムバスの専有権を放棄している
期間に記憶装置と入出力装置との間でCPUを介さず直接
にデータを高速で転送するDMAを制御するDMA制御装置に
関する。
〔従来の技術〕
従来のDMA制御装置は、DMAによるデータ転送をマイク
ロプログラム又はランダム論理を用いて制御していた。
しかし、従来のDMAでは、データ転送のビット長が例え
ば8,16ビットと小さいため、アドレスの制御及びどのバ
イトをアクセスするかのバイト制御が比較的簡単であ
る。従って、DMA制御にマイクロプログラムを用いた場
合の転送速度の低下及びランダム論理を用いた場合のハ
ードウエア(物量)増大の問題は、特に大きな問題では
なかった。
しかし、最近のDMAでは、データ転送のビット長が例
えば32ビットと大きくなって来ており、システム全体も
大規模化して来ている。これに伴ない、より複雑な条件
で転送処理を行なう必要が生じて来ている。つまり、ア
ドレスの制御、バイト制御及びこれらの制御を行なうた
めに使用される制御信号の発生出力の制御が非常に複雑
になって来た。このため、ポートサイズ、オペランドサ
イズ、ミスアライン等の組合わせを考慮すると、ビット
長が32ビットのDMAを制御するDMA制御装置の場合、デー
タ転送の組合わせが4000通り以上考えられる。ここで、
ポートサイズとは、周辺入出力装置の物理的なビット長
を意味し、オペランドサイズとは、周辺入出力装置の論
理的なビット長を意味する。
第5図は、DMA制御にマイクロプログラムを用いた考
えられるDMA制御装置の一例の要部を示す。同図中、40
は要求制御部、41はマイクロプログラムを格納している
マイクロシーケンサ、42はアドレスレジスタ、43はバス
コントローラである。
転送要求が要求制御部40に入来すると、バスコントロ
ーラ43は要求制御部40からの指示に従ってリード/ライ
ト信号等のシステムバスを制御するための信号を出力す
る。他方、アドレスレジスタ42は、要求制御部40からの
指示に応じたアドレスを出力すると共に、次のアドレス
をカウントアップ動作により生成する。マイクロシーケ
ンサ41は要求制御部40からの要求に応じて、データ転送
の制御用情報を生成出力する。
〔発明が解決しようとする問題点〕
従って、データ転送のビット長が例えば32ビットと大
きい場合、DMA制御にマイクロプログラムを用いたので
は条件判断が複雑であるためにプログラムステップ数が
大となり、条件判断に時間がかかるためにデータ転送速
度が低下するという問題を生じていた。他方、DMA制御
にランダム論理を用いたのではハードウエアが非常に大
規模になってしまい、論理設計上に誤りが存在していた
場合の論理修正は極めて難しいという問題も生じてい
た。
更に、第5図の如き構成の場合、アドレスレジスタ42
のカウントアップ値を自由に制御可能とする必要がある
が、特にデータ転送のビット長が大きい場合にはカウン
トアップ値の制御が複雑となり、マイクロシーケンサ41
によりこの制御を行なうとプログラムステップ数が更に
大となるという問題もあった。
そこで、本発明はマイクロプログラムによる条件判断
の負担を軽減すると共にランダム論理のハードウエアの
大規模化を防止し、データ転送のビット長が大きい場合
でも高速なデータ転送を可能とすることのできるDMA制
御装置を提供することを目的とする。
〔問題点を解決するための手段〕
第1図は、本発明の原理説明図である。同図中、1は
プログラマブル・ロジック・アレイ、2は状態指示回路
である。
〔作用〕
プログラマブル・ロジック・アレイ1は入力条件に応
答してランダム論理によりデータ転送の制御用情報を生
成出力し、状態指示回路2は、プログラマブル・ロジッ
ク・アレイ1からの信号に基づいて次の転送状態を指示
する情報を更新すると共にプログラマブル・ロジック・
アレイ1に供給する。プログラマブル・ロジック・アレ
イ1は状態指示回路からの情報を前記入力条件の一部と
して前記制御用情報を順次生成出力する。
従って、マイクロプログラムによる条件判断の負担を
軽減すると共にランダム論理のハードウエアの大規模化
を防止し、データ転送のビット長が大きい場合でも高速
なデータ転送が可能となる。
〔実施例〕
第2図は、本発明装置の一実施例を示す。同図中、10
は転送モードレジスタ、11はゲート制御用PLA(プログ
ラマブル・ロジック・アレイ)部、12はリクエストハン
ドラ、13はオア回路、14はマイクロシーケンサ、15はAL
U(算術論理演算装置)、16はデータハンドラ、17は内
部データバス、18はシステムデータバス、19はシステム
アドレスバスである。
システムデータバス18およびシステムアドレスバス19
には、CPU,入出力装置やメモリ装置(いずれも図示せ
ず)が接続されている。
PLA部11は、第1図の原理図に示した様に、PLA1と状
態指示回路2とからなる。このPLA部11が、本発明の要
部を構成する。
転送モードレジスタ10は、バースト、シングル、デュ
アル、サイクルスチール等の転送モードを登録するため
のものであり、システムデータバス18に接続している。
PLA部11は、転送モードレジスタ10からの転送モード
に加えて、ALU15からの転送アドレスの下位2ビットと
バイトカウントの下位3ビットとを供給される。PLA部1
1の出力は、後述する如く、マイクロシーケンサ14及び
内部データバス17に供給される。
リクエストハンドラ12には、DMA制御装置外部からの
転送要求が供給され、転送要求の優先順位の決定やDMA
制御装置の内部処理の起動をかけて転送要求をDMA制御
装置の各部への通知などを行なう。リクエストハンドラ
12は、前記内部処理の起動をかけるための転送要求信号
TREQXをオア回路13及びマイクロシーケンサ14に供給す
る。なお、リクエストハンドラ12は、例えばDMA制御装
置の外部からのアボート要求などの転送以外の処理要求
OREQXをマイクロシーケンサ14に供給する。
マイクロシーケンサ14内にはマイクロプログラムが格
納されており、各種マイクロ命令をオア回路、ALU15及
びデータハンドラ16に供給してPLA部11、ALU15及びデー
タハンドラ16を制御する。なお、マイクロシーケンサ14
には、転送モード定義用の条件も供給されている。
ALU15は、次の転送アドレス及びバイトカウントを出
力する。ユーザは、任意に何バイト転送するかの指示を
予めしているので、ALU15は1回の転送が完了するとバ
イトカウントを更新して計算によりあと何バイトの転送
が残っているかを求める。ALU15は、内部データバス17
に接続している。
データハンドラ16は、システムバスとのデータのやり
とりを制御するものであり、CPU(図示せず)のホール
ド要求などを発生する。このデータハンドラ16は、シス
テムデータバス18、システムアドレスバス19及び内部デ
ータバス17に接続されている。
次に、本実施例の要部の動作について説明する。PLA
部11は、ALU15からの転送アドレスの下位2ビットとバ
イトカウントの下位3ビットとから、転送するべきアド
レスのミスアラインの有無を判断する。PLA部11が出力
する3ビットのゲート情報G0〜G2及び4ビットのバイト
コントロールBC0〜BC3は、データハンドラ16内のバイト
スワッパにおいてデータの並べ換え(アセンブリ、ディ
スアセンブリ等)を行なうための情報として使用される
信号である。PLA部11が出力する1ビットのネクストサ
イドNEXTSは、次の転送がソースの転送処理かデスティ
ネーションの転送処理であるかを指示する信号である。
ネクストサイドNEXTSは、マイクロシーケンサ14に供給
されると共に、内部データバス17を介してデータハンド
ラ16にも供給される。
PLA部11が出力する1ビットのコンティニューCONT
は、現在行なっている処理を再度行なうように指示する
信号である。ユーザは1回の転送要求しか出さないが、
DMA制御装置内ではソースとデスティネーションとの2
回の転送が必要なため、前記コンティニューCONTが必要
となって来る。PLA部11が出力する各1ビットのバイト
カウントオフセットBCOFFSET及びアドレスオフセットAD
ROFFSETは、ALU15内で加減算を行なう際に用いられるバ
イトカウントの加減算値と次の転送アドレスを計算する
ための情報とよりなるオフセット情報である。PLA部11
が出力する1ビットのファイナルFINALは、現在行なっ
ている転送が最後の転送であることを指示する信号であ
る。転送するべきアドレスがミスアラインしている場
合、転送が1転送サイクルで終わるという保証はないた
め、マイクロシーケンサに前記転送の最後を指示するた
めにファイナルFINALを供給する。PLA部11が出力する信
号のうち、ファイナルFINALだけがマイクロシーケンサ
のみへ供給される。
第3図は、本実施例の要部の動作タイミングを示す。
第3図(a)はシステムクロックCLK、第3図(b)はP
LA部11の処理、第3図(c)はマイクロシーケンサ14の
処理、第3図(d)はデータハンドラ16の処理のタイミ
ングを夫々示す。ここでは、便宜上1転送サイクル(1
バスサイクル)が3システムクロックサイクルに対応す
るものとする。
従って、PLA部11は、ファイナルFINALなどの現在の情
報を表わす例外を除いて基本的には次の転送に必要な制
御用情報を1転送サイクル中に出力する。他方、マイク
ロシーケンサ14は、各システムクロックサイクルにおい
て現在の転送中に内部データバス17をどのように使用す
るかを制御する(即ち、現在の1転送サイクル中DMA制
御装置の各部を制御する)。更に、データハンドラ16
は、1転送サイクル中にソース又はデスティネーション
との間でデータ転送を行なう。
一般的に、DMAによるデータ転送を行なう場合、最初
に転送を行なうための転送アドレス、転送モード等の情
報を書き込んだ後に転送を実行する。従って、どのよう
に転送を行なえばよいのかという情報は予め予測可能で
ある。そこで、本実施例では、次の転送に必要な情報を
1転送サイクル単位で予測するPLA部11を設け、マイク
ロシーケンサ14内のマイクロプログラムによる条件判断
の負担を軽減しているので、データ転送のビット長が大
きい場合でも高速なデータ転送が可能である。
又、DMA転送では、初期条件を設定すればその後の処
理はシーケンシャルな処理となることが多い。しかし、
データ転送のビット長が大きい場合及びシステム全体が
大規模な場合には、この初期条件が複雑である。そこ
で、本発明では、複雑な入力条件を比較的処理し易いPL
A1を用いて処理している。更に、シーケンシャルな処理
を行なうために状態指示回路2を設け、PLA1からの信号
に基づいて次の転送状態を指示する状態を更新すると共
にPLA1に供給している。従って、PLA1は、状態指示回路
2からの情報を前記入力条件の一部として制御用情報を
順次生成出力する。つまり、次の転送状態は、状態指示
回路2の出力情報を参照して決定される。
状態指示回路2としては、例えば状態カウンタを用い
得る。状態カウンタは、カウンタとは言っても加算器等
の特別な回路は不要であり、PLA1からの得た信号そのも
ので値を更新するラッチ回路の如き回路で良い。従っ
て、状態カウンタの内容は、単なる昇順又は降順の数字
である必要はなく、何らかの状態を表わす符号のような
ものでも良い。これにより、より複雑な入力条件に応じ
た処理、即ち、データ転送の制御を容易に行なうことが
できる。
次に、1回に8ビットずつデータを出力する入出力装
置等の8ビットの装置から32ビットのメモリ装置へデー
タ転送を行なう場合のDMA制御装置のPLA部11の動作につ
いて説明する。この場合、8ビットの装置から4回に分
けてデータを出力して、データ部分A,B,C,Dがメモリ装
置の第4図に示すアドレスに書き込まれて32ビットのデ
ータ転送が完結する。データ部分E以降からなる次の32
ビットのデータも同様にメモリ装置へ転送される。デー
タ部分A,B,C,Dの処理を特徴付ける処理は、8ビット単
位に割り振られているデータのアドレスの最下位2ビッ
トのA1,A0の値である。従って、最下位2ビットのA1,A0
の値が同一であるデータ部分Aとデータ部分Eとの処理
は同一であり、この例では4通りの処理情報を予め用意
しておけば4通りの処理を繰り返すことにより各32ビッ
トのデータをメモリ装置へ転送できることがわかる。
そこで、データ部分A,B,C,Dの処理に例えば状態指示
番号「0」,「1」,「2」,「3」を付ける。先ず、
状態指示回路2(状態カウンタ)の初期値を番号「0」
に設定しておき、入力条件及び状態指示回路2からの番
号「0」に応答してPLA1から生成出力されるデータ部分
Aの制御用情報に基づいてデータ部分Aをメモリ装置へ
転送する。これと同時に、番号「1」をPLA1から得て状
態指示回路2に設定する。次に、PLA1は入力条件及び状
態指示回路2からの番号「1」に応答してデータ部分B
の制御用情報を生成出力する。これによりPLA1の出力制
御用情報に基づいてデータ部分Bがメモリ装置へ転送さ
れ、これと同時に、番号「2」をPLA1から得て状態指示
回路2に設定する。その後、状態指示回路2に設定され
た番号が「3」になったら次には「0」に戻し、以下同
様の動作を行なうことにより、データ部分A,B,C,Dから
なる32ビットのデータ、データ部分E.F,G,Hからなる32
ビットのデータ等をメモリ装置へ転送することができ
る。
本実施例によれば、ALU等の複雑な回路を用いること
なく次の転送状態を指示する情報を順次PLA1に供給で
き、マイクロシーケンサの条件判断の負担を増加するこ
となく複雑なデータ転送の制御を行なうことができる。
又、システムの仕様変更にも柔軟に対応可能である。
以上本発明を実施例により説明したが、本発明は本発
明の主旨に従い種々の変形が可能であり、本発明からこ
れらを排除するものではない。
〔発明の効果〕
本発明によれば、データ転送の制御用情報を入力条件
に応答してランダム論理により生成出力するプログラマ
ブル・ロジック・アレイと、プログラマブル・ロジック
・アレイからの信号に基づいて次の転送状態を指示する
情報を更新すると共にプログラマブル・ロジック・アレ
イに供給する状態指示回路とを設け、状態指示回路から
の情報を入力条件の一部として制御用情報を順次生成出
力しているので、マイクロプログラムによる条件判断の
負担を軽減すると共にランダム論理のハードウエアの大
規模化を防止し得、データ転送のビット長が大きい場合
でも高速なデータ転送ができ、実用的には極めて有用で
ある。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は本発明装置の一実施例を示すブロック系統図、 第3図は第2図の実施例の動作を説明するタイミングチ
ャート、 第4図はメモリ装置へのデータ転送を説明するための
図、 第5図は考えられるDMA制御装置の一例の要部を示すブ
ロック図である。 第1図〜第4図において、 1はプログラマブル・ロジック・アレイ、2は状態指示
回路、10は転送モードレジスタ、11はPLA部、12はリク
エストハンドラ、13はオア回路、14はマイクロシーケン
サ、15はALU、16はデータハンドラ、17は内部データバ
ス、18はシステムデータバス、19はシステムアドレスバ
ス である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 斎藤 正 神奈川県川崎市中原区上小田中1015番地 富士通マイコンシステムズ株式会社内 (56)参考文献 特開 昭59−212938(JP,A) 日経エレクトロニクス、1982[8−2 ](昭和57−8−2)日経マグロウヒル 社、P.129−P.158

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】DMAによるデータ転送を制御するDMA制御装
    置において、 データ転送の制御用情報を入力条件に応答してランダム
    論理により生成出力するプログラマブル・ロジック・ア
    レイ(1)と、 該プログラマブル・ロジック・アレイとは独立して設け
    られ、該プログラマブル・ロジック・アレイからの信号
    に基づいて次の転送状態を指示する情報を更新すると共
    に該プログラマブル・ロジック・アレイに供給する状態
    指示回路(2)とを備え、 該プログラマブル・ロジック・アレイは、該状態指示回
    路からの情報を該入力条件の一部として該制御用情報を
    順次生成出力することを特徴とするDMA制御装置。
JP63027008A 1988-02-08 1988-02-08 Dma制御装置 Expired - Lifetime JPH0831080B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63027008A JPH0831080B2 (ja) 1988-02-08 1988-02-08 Dma制御装置
EP89400344A EP0328450B1 (en) 1988-02-08 1989-02-07 Direct memory access controller
US07/306,952 US5119487A (en) 1988-02-08 1989-02-07 Dma controller having programmable logic array for outputting control information required during a next transfer cycle during one transfer cycle
DE68927015T DE68927015D1 (de) 1988-02-08 1989-02-07 Direktspeicherzugriffssteuerung
KR1019890001426A KR920009448B1 (ko) 1988-02-08 1989-02-08 프로그램어블 로직 어레이를 갖는 다이렉트 메모리 액세스 제어장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63027008A JPH0831080B2 (ja) 1988-02-08 1988-02-08 Dma制御装置

Publications (2)

Publication Number Publication Date
JPH01201760A JPH01201760A (ja) 1989-08-14
JPH0831080B2 true JPH0831080B2 (ja) 1996-03-27

Family

ID=12209085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63027008A Expired - Lifetime JPH0831080B2 (ja) 1988-02-08 1988-02-08 Dma制御装置

Country Status (1)

Country Link
JP (1) JPH0831080B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008026273A1 (ja) * 2006-08-31 2010-01-14 富士通株式会社 Dmaコントローラ

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59212938A (ja) * 1983-05-18 1984-12-01 Nec Corp Dmaコントロ−ラ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日経エレクトロニクス、1982[8−2(昭和57−8−2)日経マグロウヒル社、P.129−P.158

Also Published As

Publication number Publication date
JPH01201760A (ja) 1989-08-14

Similar Documents

Publication Publication Date Title
US4144562A (en) System and method for increasing microprocessor output data rate
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
US5481734A (en) Data processor having 2n bits width data bus for context switching function
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
JPH02227768A (ja) データ処理システム
AU677673B2 (en) Method and apparatus for executing an atomic read-modify-write instruction
US6401197B1 (en) Microprocessor and multiprocessor system
US5119487A (en) Dma controller having programmable logic array for outputting control information required during a next transfer cycle during one transfer cycle
US4670835A (en) Distributed control store word architecture
US5757685A (en) Data processing system capable of processing long word data
JPH10207717A (ja) マイクロコンピュータ
US4309753A (en) Apparatus and method for next address generation in a data processing system
JPH0380324A (ja) 中央演算処理装置
JPH0831080B2 (ja) Dma制御装置
US5151993A (en) Data processor performing operation on data having length shorter than one-word length
JP2847316B2 (ja) プロセッサ
JPH0831079B2 (ja) Dma制御装置
US5220670A (en) Microprocessor having ability to carry out logical operation on internal bus
JP2922979B2 (ja) 中央演算処理装置
JP2542120B2 (ja) 情報処理装置
JP2671325B2 (ja) データ処理装置
JP2894854B2 (ja) 中央演算処理装置
JP3539914B2 (ja) マイクロコンピュータ
JPS603049A (ja) バスインタ−フエ−ス装置
WO1986000435A1 (en) Three word instruction pipeline