JPH0831079B2 - Dma制御装置 - Google Patents

Dma制御装置

Info

Publication number
JPH0831079B2
JPH0831079B2 JP63027007A JP2700788A JPH0831079B2 JP H0831079 B2 JPH0831079 B2 JP H0831079B2 JP 63027007 A JP63027007 A JP 63027007A JP 2700788 A JP2700788 A JP 2700788A JP H0831079 B2 JPH0831079 B2 JP H0831079B2
Authority
JP
Japan
Prior art keywords
transfer
dma
programmable logic
control device
logic array
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
JP63027007A
Other languages
English (en)
Other versions
JPH01201759A (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 JP63027007A priority Critical patent/JPH0831079B2/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 JPH01201759A publication Critical patent/JPH01201759A/ja
Publication of JPH0831079B2 publication Critical patent/JPH0831079B2/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制御装置におい
て、マイクロプログラムにより現在の1転送サイクル中
に該DMA制御装置の各部を1システムクロックサイクル
単位で制御するマイクロシーケンサと、次の1転送サイ
クル中に必要な制御用情報を所定数のシステムクロック
サイクルに対応する1転送サイクル中に出力するプログ
ラマブル・ロジック・アレイとを備え、該マイクロシー
ケンサのマイクロプログラム及び該プログラマブル・ロ
ジック・アレイのランダム論理によりデータ転送を制御
するように構成する。
〔産業上の利用分野〕
本発明はDMA(ダイレクト・メモリ・アクセス)制御
装置、特にCPU(中央処理装置)を有するデータ処理装
置においてCPUがシステムバスの専有権を放棄している
期間に記憶装置と入出力装置との間でCPUを介さず直接
にデータを高速で転送するDMAを制御するDMA制御装置に
関する。
〔従来の技術〕
従来のDMA制御装置は、DMAによるデータ転送をマイク
ロプログラム又はランダム論理を用いて制御していた。
しかし、従来のDMAでは、データ転送のビット長が例え
ば8,16ビットと小さいため、アドレスの制御及びどのバ
イトをアクセスするかのバイト制御が比較的簡単であ
る。従って、DMA制御にマイクロプログラムを用いた場
合の転送速度の低下及びランダム論理を用いた場合のハ
ードウエア(物量)増大の問題は、特に大きな問題では
なかった。
しかし、最近のDMAでは、データ転送のビット長が例
えば32ビットと大きくなって来た。これに伴ない、アド
レスの制御、バイト制御及びこれらの制御を行なうため
に使用される制御信号の発生出力の制御が非常に複雑に
なって来た。このため、ポートサイズ、オペランドサイ
ズ、ミスアライン等の組合わせを考慮すると、ビット長
が32ビットのDMAを制御するDMA制御装置の場合、データ
転送の組合わせが4000通り以上考えられる。ここで、ポ
ートサイズとは、周辺入出力装置の物理的なビット長を
意味し、オペランドサイズとは、周辺入出力装置の論理
的なビット長を意味する。
〔発明が解決しようとする問題点〕
従って、データ転送のビット長が例えば32ビットと大
きい場合、DMA制御にマイクロプログラムを用いたので
は条件判断が複雑であるためにプログラムステップ数が
大となり、条件判断に時間がかかるためにデータ転送速
度が低下するという問題を生じていた。他方、DMA制御
にランダム論理を用いたのではハードウエアが非常に大
規模になってしまい、論理設計上に誤りが存在していた
場合の論理修正は極めて難しいという問題も生じてい
た。
そこで、本発明はマイクロプログラムによる条件判断
の負担を軽減すると共にランダム論理のハードウエアの
大規模化を防止し、データ転送のビット長が大きい場合
でも高速なデータ転送を可能とすることのできるDMA制
御装置を提供することを目的とする。
〔問題点を解決するための手段〕
第1図は、本発明の原理説明図である。同図中、1は
マイクロシーケンサ、2はプログラマブル・ロジック・
アレイである。
〔作用〕
マイクロシーケンサ1は、マイクロプログラムにより
現在の1転送サイクル中にDMA制御装置の各部を1シス
テムクロックサイクル単位で制御する。プログラマブル
・ロジック・アレイ2は、次の1転送サイクル中に必要
な制御用情報を所定数のシステムクロックサイクルに対
応する1転送サイクル中に出力する。DMAによるデータ
転送は、マイクロシーケンサ1のマイクロプログラム及
びプログラマブル・ロジック・アレイ2のランダム論理
により制御される。
従って、マイクロプログラムによる条件判断の負担を
軽減すると共にランダム論理のハードウエアの大規模化
を防止し、データ転送のビット長が大きい場合でも高速
なデータ転送が可能となる。
〔実施例〕
第2図は、本発明装置の一実施例を示す。同図中、10
は転送モードレジスタ、11はゲート制御用PLA(プログ
ラマブル・ロジック・アレイ)、12はリクエストハンド
ラ、13はオア回路、14はマイクロシーケンサ、15はALU
(算術論理演算装置)、16はデータハンドラ、17は内部
データバス、18はシステムデータバス、19はシステムア
ドレスバスである。
転送モードレジスタ10は、バースト、シングル、デュ
アル、サイクルスチール等の転送モードを登録するため
のものであり、システムデータバス18に接続している。
PLA11は、転送モードレジスタ10からの転送モードに
加えて、ALU15からの転送アドレスの下位2ビットとバ
イトカウントの下位3ビットとを供給される。PLA11の
出力は、後述する如く、マイクロシーケンサ14及び内部
データバス17に供給される。
リクエストハンドラ12には、DMA制御装置外部からの
転送要求が供給され、転送要求の優先順位の決定やDMA
制御装置の内部処理の起動をかけて転送要求をDMA制御
装置の各部への通知などを行なう。リクエストハンドラ
12は、前記内部処理の起動をかけるための転送要求信号
TREQXをオア回路13及びマイクロシーケンサ14に供給す
る。なお、リクエストハンドラ12は、例えばDMA制御装
置の外部からのアボート要求などの転送以外の処理要求
OREQXをマイクロシーケンサ14に供給する。
マイクロシーケンサ14内にはマイクロプログラムが格
納されており、各種マイクロ命令をオア回路、ALU15及
びデータハンドラ16に供給してPLA11、ALU15及びデータ
ハンドラ16を制御する。なお、マイクロシーケンサ14に
は、転送モード定義用の条件も供給されている。
ALU15は、次の転送アドレス及びバイトカウントを出
力する。ユーザは、任意に何バイト転送するかの指示を
予めしているので、ALU15は1回の転送が完了するとバ
イトカウントを更新して計算によりあと何バイトの転送
が残っているかを求める。ALU15は、内部データバス17
に接続している。
データハンドラ16は、システムバスとのデータのやり
とりを制御するものであり、CPU(図示せず)のホール
ド要求などを発生する。このデータハンドラ16は、シス
テムデータバス18、システムアドレスバス19及び内部デ
ータバス17に接続されている。
次に、本実施例の要部の動作について説明する。PLA1
1は、ALU15からの転送アドレスの下位2ビットとバイト
カウントの下位3ビットとから、転送するべきアドレス
のミスアラインの有無を判断する。PLA11が出力する3
ビットのゲート情報G0〜G2及び3ビットのバイトコント
ロールBC0〜BC3は、データハンドラ16内のバイトスワッ
パにおいてデータの並べ換え(アセンブリ、ディスアセ
ンブリ等)を行なうための情報として使用される信号で
ある。PLA11が出力する1ビットのネクストサイドNEXTS
は、次の転送がソースの転送処理かデスティネーション
の転送処理であるかを指示する信号である。ネクストサ
イドNEXTSは、マイクロシーケンサ14に供給されると共
に、内部データバス17を介してデータハンドラ16にも供
給される。PLA11が出力する1ビットのコンティニューC
ONTは、現在行なっている処理を再度行なうように指示
する信号である。ユーザは1回の転送要求しか出さない
が、DMA制御装置内ではソースとデスティネーションと
の2回の転送が必要なケースがあるため、前記コンティ
ニューCONTが必要となって来る。PLA11が出力する各1
ビットのバイトカウントオフセットBCOFFSET及びアドレ
スオフセットADROFFSETは、ALU15内で加減算を行なう際
に用いられるバイトカウントの加減算値と次の転送アド
レスを計算するための情報とよりなるオフセット情報で
ある。PLA11が出力する1ビットのファイナルFINALは、
現在行なっている転送が最後の転送であることを指示す
る信号である。転送するべきアドレスがミスアラインし
ている場合、転送が1転送サイクルで終わるという保証
はないため、マイクロシーケンサに前記転送の最後を指
示するためにファイナル(FINAL)を供給する。PLA11が
出力する信号のうち、ファイナル(FINAL)だけがマイ
クロシーケンサのみへ供給される。
第3図は、本実施例の要部の動作タイミングを示す。
第3図(a)はシステムクロックCLK、第3図(b)はP
LA11の処理、第3図(c)はマイクロシーケンサ14の処
理、第3図(d)はデータハンドラ16の処理のタイミン
グを夫々示す。ここでは、便宜上1転送サイクル(1バ
スサイクル)が3システムクロックサイクルに対応する
ものとする。
従って、PLA11は、ファイナル(FINAL)などの現在の
情報を表わす例外を除いて基本的には次の転送に必要な
制御用情報を1転送サイクル単位で出力する。他方、マ
イクロシーケンサ14は、各システムクロックサイクルに
おいて現在の転送中に内部データバス17をどのように使
用するか等の制御をする(即ち、現在の1転送サイクル
中DMA制御装置の各部を制御する)。更に、データハン
ドラ16は、1転送サイクル中にソース又はデスティネー
ションとの間でデータ転送を行なう。
一般的に、DMAによるデータ転送を行なう場合、最初
に転送を行なうための転送アドレス、転送モード等の情
報を書き込んだ後に転送を実行する。従って、どのよう
に転送を行なえばよいのかという情報は予め予測可能で
ある。そこで、本実施例では、次の転送に必要な情報を
1転送サイクル単位で予測するPLA11を設け、マイクロ
シーケンサ14内のマイクロプログラムによる条件判断の
負担を軽減しているので、データ転送のビット長が大き
い場合でも高速なデータ転送が可能である。
以上本発明を実施例により説明したが、本発明は本発
明の主旨に従い種々の変形が可能であり、本発明からこ
れらを排除するものではない。
〔発明の効果〕
本発明によれば、マイクロプログラムにより現在の1
転送サイクル中にDMA制御装置の各部を1システムクロ
ックサイクル単位で制御するマイクロシーケンサと次の
1転送サイクル中に必要な制御用情報を所定数のシステ
ムクロックサイクルに対応する1転送サイクル中に出力
するプログラマブル・ロジック・アレイとを設けている
ので、マイクロプログラムによる条件判断の負担を軽減
すると共にランダム論理のハードウエアの大規模化を防
止し得、データ転送のビット長が大きい場合でも高速な
データ転送ができ、実用的には極めて有用である。
【図面の簡単な説明】 第1図は本発明の原理説明図、 第2図は本発明装置の一実施例を示すブロック系統図、 第3図は第2図の実施例の動作を説明するタイミングチ
ャートである。 図において、 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 (6)

    【特許請求の範囲】
  1. 【請求項1】DMAによるデータ転送を制御するDMA制御装
    置において、 マイクロプログラムにより現在の1転送サイクル中に該
    DMA制御装置の各部を1システムクロックサイクル単位
    で制御するマイクロシーケンサ(1)と、 次の1転送サイクル中に必要な制御用情報を所定数のシ
    ステムクロックサイクルに対応する1転送サイクル中に
    該各部にも出力するプログラマブル・ロジック・アレイ
    (2)とを備え、 該マイクロシーケンサのマイクロプログラム及び該プロ
    グラマブル・ロジック・アレイのランダム論理によりデ
    ータ転送を制御することを特徴とするDMA制御装置。
  2. 【請求項2】前記プログラマブル・ロジック・アレイ
    (2)は、データの並べ換えを行なうための情報(G0〜
    G2,BC0〜BC3)を出力することを特徴とする特許請求の
    範囲第1項記載のDMA制御装置。
  3. 【請求項3】前記プログラマブル・ロジック・アレイ
    (2)は、次の転送がソースの転送処理かデスティネー
    ションの転送処理かを指示する情報(NEXTS)を出力す
    ることを特徴とする特許請求の範囲第1項又は第2項記
    載のDMA制御装置。
  4. 【請求項4】前記プログラマブル・ロジック・アレイ
    (2)は、現在行なっている処理を再度行なうように指
    示する情報(CONT)を出力することを特徴とする特許請
    求の範囲第1項から第3項のうちいずれか一項記載のDM
    A制御装置。
  5. 【請求項5】前記プログラマブル・ロジック・アレイ
    (2)は、少なくとも次の転送アドレスを計算するため
    の情報(BCOFFSET,ADROFFSET)を出力することを特徴と
    する特許請求の範囲第1項から第4項のうちいずれか一
    項記載のDMA制御装置。
  6. 【請求項6】前記プログラマブル・ロジック・アレイ
    (2)は、現在行なっている転送が最後の転送であるこ
    とを指示する情報(FINAL)を出力することを特徴とす
    る特許請求の範囲第1項から第5項のうちいずれか一項
    記載のDMA制御装置。
JP63027007A 1988-02-08 1988-02-08 Dma制御装置 Expired - Lifetime JPH0831079B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63027007A JPH0831079B2 (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
JP63027007A JPH0831079B2 (ja) 1988-02-08 1988-02-08 Dma制御装置

Publications (2)

Publication Number Publication Date
JPH01201759A JPH01201759A (ja) 1989-08-14
JPH0831079B2 true JPH0831079B2 (ja) 1996-03-27

Family

ID=12209059

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH0831079B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01237864A (ja) * 1988-03-18 1989-09-22 Fujitsu Ltd 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
JPH01201759A (ja) 1989-08-14

Similar Documents

Publication Publication Date Title
US5423009A (en) Dynamic sizing bus controller that allows unrestricted byte enable patterns
US5664117A (en) Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US4144562A (en) System and method for increasing microprocessor output data rate
EP0203304B1 (en) Data processor controller
US5640518A (en) Addition of pre-last transfer acknowledge signal to bus interface to eliminate data bus turnaround on consecutive read and write tenures and to allow burst transfers of unknown length
WO1997015001A2 (en) Risc microprocessor architecture
JPH02227768A (ja) データ処理システム
JPH0642226B2 (ja) データ処理システム
US4622630A (en) Data processing system having unique bus control protocol
US5119487A (en) Dma controller having programmable logic array for outputting control information required during a next transfer cycle during one transfer cycle
US6457121B1 (en) Method and apparatus for reordering data in X86 ordering
US5757685A (en) Data processing system capable of processing long word data
US5734927A (en) System having registers for receiving data, registers for transmitting data, both at a different clock rate, and control circuitry for shifting the different clock rates
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
US7310717B2 (en) Data transfer control unit with selectable transfer unit size
JPH0831079B2 (ja) Dma制御装置
US5677859A (en) Central processing unit and an arithmetic operation processing unit
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
JPH0831080B2 (ja) Dma制御装置
WO2001025941A1 (en) Multiprocessor computer systems with command fifo buffer at each target device
US5931930A (en) Processor that indicates system bus ownership in an upgradable multiprocessor computer system
JPH04286048A (ja) 競合最小化プロセッサおよびシステム・バス・システム
US5708852A (en) Apparatus for serial port with pattern generation using state machine for controlling the removing of start and stop bits from serial bit data stream
JPH07182271A (ja) データ処理システムおよびロングワード・アドレスをサイクルする方法