JPH05342143A - Dmaコントローラ - Google Patents

Dmaコントローラ

Info

Publication number
JPH05342143A
JPH05342143A JP14545692A JP14545692A JPH05342143A JP H05342143 A JPH05342143 A JP H05342143A JP 14545692 A JP14545692 A JP 14545692A JP 14545692 A JP14545692 A JP 14545692A JP H05342143 A JPH05342143 A JP H05342143A
Authority
JP
Japan
Prior art keywords
dma
priority
signal
controller
dreq1
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
JP14545692A
Other languages
English (en)
Inventor
Shojiro Nishigaki
正二郎 西垣
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP14545692A priority Critical patent/JPH05342143A/ja
Publication of JPH05342143A publication Critical patent/JPH05342143A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 現実に優先的に処理する必要がある DMA要求
を優先的に実行可能なように DMA要求の優先順位を設定
し得る DMAコントローラを提供する。 【構成】 DMA要求の過去の最新の履歴を使用すること
により、最も新しい DMA要求の所定の回数についてそれ
ぞれがいずれの装置から要求されたかを計数し、その回
数が多い順に優先順位を高くするように動作するプライ
オリティエンコーダを備えており、このプライオリティ
エンコーダが過去の最新の所定回数の DMA要求において
実際に DMA要求を多く発生した順に優先順位を高く付与
することにより、実際の DMA要求の頻度に対応して DMA
転送を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロコンピュータシ
ステムの DMA(Direct Memory Access)制御のための DMA
コントローラに関する。
【0002】
【従来の技術】図3は DMAコントローラを使用したマイ
クロコンピュータシステムの一般的なシステム構成例を
示すブロック図であり、たとえば日本電気株式会社発行
のデータブック「マイクロプロセッサ/周辺」 (1990年
1月5日) のP191乃至P192に記載されている。なお、こ
こで使用されている DMAコントローラは、上記文献に高
性能プログラマブル DMAコントローラμPD8237A として
示されている従来の DMAコントローラである。
【0003】図3において、参照符号31は中央制御ユニ
ットとしての CPUであり、メモリ32, ハードディスク(H
D)コントローラ35, フロッピィディスク(FD)コントロー
ラ37, 通信制御装置39及び DMAコントローラ40等とシス
テムバス33で接続されている。
【0004】メモリ32はCPU 31のプログラム, データ等
を格納する。HDコントローラ35は、補助記憶装置として
のハードディスク(HD)装置34とメモリ32との間のデータ
転送を制御する。FDコントローラ37は補助記憶装置とし
てのフロッピィディスク(FD)装置36とメモリ32との間の
データ転送を制御する。また、参照符号38はシステム外
部とのデータ通信ラインであり、通信制御装置39により
メモリ32との間のデータ転送が制御される。
【0005】DMAコントローラ40は、メモリ32とハード
ディスクコントローラ35との間, メモリ32とフロッピィ
ディスクコントローラ37との間及びメモリ32と通信制御
装置39との間のダイレクトメモリアクセスを制御する。
この DMAコントローラ40の入出力信号は以下の如くであ
る。
【0006】参照符号41, 42, 43はそれぞれハードディ
スクコントローラ35, フロッピィディスクコントローラ
37, 通信制御装置39から DMAコントローラ40に対する D
MA要求を示す DREQ1, DREQ2, DREQ3信号である。参照符
号44は DMAコントローラ40からCPU 31に対してシステム
バス33を使用する権利を獲得するためのHOLD信号であ
り、45はこのHOLD信号44の応答信号としてのCPU 31から
DMAコントローラ40にシステムバス33の制御権を移すこ
とを示すHLDA信号である。また、参照符号46, 47, 48は
各 DREQ1, DREQ2, DREQ3信号41, 42, 43に対する応答信
号としての各コントローラに転送権利が移ったことを示
す DACK1, DACK2, DACK3信号である。
【0007】DMAコントローラ40の内部には図4に示さ
れているようなプライオリティエンコーダ51が備えられ
ており、 DMAコントローラ40のデータ転送の際の優先順
位を決定する。なお、図4において参照符号40乃至48は
図3の各信号と同様の信号を示している。
【0008】次に、このような従来の DMAコントローラ
40の動作について説明する。いまたとえば、ハードディ
スク装置34にデータを書込む場合について考えると、CP
U 31は DMAコントローラ40とハードディスクコントロー
ラ35とに対して所定の初期設定を行った後、ハードディ
スクコントローラ35に対して起動をかけると以下のよう
な動作が行われてハードディスク装置34にデータが書き
込まれる。
【0009】まず、ハードディスクコントローラ35から
DMAコントローラ40に対して DMA要求である DREQ1信号
41をアサートする。 DMAコントローラ40に入力された D
REQ1信号41はプライオリティエンコーダ51により優先順
位が比較されるが、他に DMA要求がない場合はプライオ
リティエンコーダ51はCPU 31に対してHOLD信号44をアサ
ートしてシステムバス33を使用する権利を要求する。こ
のHOLD信号44の応答信号としてCPU 31がHLDA信号45をア
サートすることにより、システムバス33を使用する権利
が DMAコントローラ40に渡される。そして、 DREQ1信号
41の応答信号としてプライオリティエンコーダ51が DAC
K1信号46をハードディスクコントローラ35に与えること
により、メモリ32からハードディスク装置34へのデータ
転送が行われる。
【0010】同様にして、フロッピィディスク装置36あ
るいはデータ通信ライン38からメモリ32へ、またはメモ
リ32からフロッピィディスク装置36あるいはデータ通信
ライン38へのデータ転送が行われる。
【0011】次に、プライオリティエンコーダ51の優先
順位決定の動作について説明する。従来のプライオリテ
ィエンコーダ51には優先順位決定の手法として二種類の
手法が設定されている。
【0012】その一つは固定優先順位であり、たとえば
下記に示されているように DREQ1信号に最も高い優先順
位が、 DREQ3信号に最も低い優先順位が、 DREQ2信号に
両者の中間の優先順位がそれぞれ付与されている。 DREQ1 > DREQ2> DREQ3
【0013】もう一つは回転優先順位であり、下記表1
に示されているようにDREQ信号のサービスが行われる都
度、優先順位が回転して変動し、最後にサービスを受け
たDREQ信号に最低優先順位が付与され、それに伴って他
のDREQ信号の優先順位も変化する。
【0014】
【表1】
【0015】
【発明が解決しようとする課題】従来の DMAコントロー
ラは以上のように、 DMA要求の優先順位は固定されてい
るかまたは回転するかのいずれかに構成されている。こ
のため、実際の DMA要求の頻度には対応してはいないの
で、現実に優先的に処理する必要がある DMA要求に従っ
て DMA転送を行うことが出来ず、また過去の DMA要求の
頻度の履歴に対応した DMA転送を行うことも出来ない場
合が生じるという問題点がある。
【0016】本発明はこのような事情に鑑みてなされた
ものであり、現実に優先的に処理する必要がある DMA要
求を優先的に実行可能なように DMA要求の優先順位を設
定し得る DMAコントローラの提供を目的とする。
【0017】
【課題を解決するための手段】本発明に係る DMAコント
ローラは、 DMA要求の過去の最新の履歴を使用すること
により、最も新しい DMA要求の所定の回数についてそれ
ぞれがいずれの装置から要求されたかを計数し、その回
数が多い順に優先順位を高くするように動作するプライ
オリティエンコーダを備えている。
【0018】
【作用】本発明の DMA要求では、過去の最新の所定回数
の DMA要求において実際に DMA要求を多く発生した順に
プライオリティエンコーダにより優先順位が高く付与さ
れることにより、実際の DMA要求の頻度に対応して DMA
転送が実行される。
【0019】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。
【0020】図1は本発明の DMAコントローラの構成を
示すブロック図である。なお、本発明の DMAコントロー
ラは前述の図3に示されている構成と同様のマイクロコ
ンピュータシステムに使用されるので、その説明は省略
する。
【0021】本発明の DMAコントローラ40の内部にはプ
ライオリティエンコーダ11が備えられており、本発明の
DMAコントローラ40のデータ転送の際の優先順位を決定
する。
【0022】なお、図1において参照符号40乃至48は前
述の従来例と同一の信号を示しており、参照符号41, 4
2, 43はそれぞれ図3に示されているハードディスクコ
ントローラ35, フロッピィディスクコントローラ37, 通
信制御装置39から DMAコントローラ40に対する DMA要求
を示す DREQ1, DREQ2, DREQ3信号である。参照符号44は
DMAコントローラ40からCPU 31に対してシステムバス33
を使用する権利を獲得するためのHOLD信号であり、45は
このHOLD信号44の応答信号としてのCPU 31から DMAコン
トローラ40にシステムバス33の制御権を移すことを示す
HLDA信号である。また、参照符号46, 47, 48は DREQ1,
2, 3信号41, 42, 43に対する応答信号としての各コント
ローラに転送権利が移ったことを示す DACK1, DACK2, D
ACK3信号である。
【0023】図2はプライオリティエンコーダ11が優先
順位を決定する際の動作手順を示すフローチャートであ
る。ステップS1は「 DREQ1, DREQ2, DREQ3信号」のいず
れか一つまたは複数がプライオリティエンコーダ11に入
力される処理を示している。
【0024】ステップS2は「最新の過去10回分のDREQ信
号をカウントする」処理、即ち最新の過去10回分のDREQ
信号の入力の内、 DREQ1, DREQ2, DREQ3信号がそれぞれ
何回あったかをカウントする処理である。ステップS3は
「10回分の内の多い順から優先順位を付与する」処理で
あり、ステップS2においてカウントされた DREQ1, DREQ
2, DREQ3信号それぞれのカウント数に従ってそれぞれに
優先順位が付与される処理である。
【0025】ステップS4は「DREQ信号が同時に2つ以上
アサートされたか否か」を判定する処理である。ステッ
プS5は「入力されたDREQ信号に従って DMA転送を行う」
処理、即ち一つだけDREQ信号が入力された場合にそのDR
EQ信号 (DREQ1, DREQ2またはDREQ3 信号) に従って DMA
転送を実行する処理である。ステップS6は「ステップS3
の結果に従って DMA転送を行う」処理、即ち同時に二つ
以上のDREQ信号が入力された場合にステップS3で付与さ
れた優先順位に従って DMA転送を実行する処理である。
【0026】次に動作について説明する。DMA転送自体
については従来例と同様であるので、ここでは省略す
る。図2に示されているように、本発明の DMAコントロ
ーラ40のプライオリティエンコーダ11は以下のように動
作する。
【0027】いまたとえば、ハードディスクコントロー
ラ35からの DMA要求信号である DREQ1信号41とフロッピ
ィディスクコントローラ37からの DMA要求信号である D
REQ2信号42とが同時に DMAコントローラ40にアサートさ
れたとする (ステップS1)。このような場合、プライオ
リティエンコーダ11は最新の過去10回分の各DREQ1, DRE
Q2, DREQ3 信号の入力数をカウントする (ステップS
2)。
【0028】ここでたとえば、DREQ信号の最新の10回分
の入力数が以下のようになっているとする。 DREQ1 3回 DREQ2 5回 DREQ3 2回
【0029】このような過去10回分入力数の内の多い順
から優先順位を決定すると、各DREQ信号の優先順位は以
下のようになる (ステップS3)。 DREQ1 中位の優先順位 DREQ2 最高位の優先順位 DREQ3 最低位の優先順位
【0030】次にプライオリティエンコーダ11は、DREQ
信号が同時に二つ以上アサートされているか否かを判断
する (ステップS4)。ここでは DREQ1信号41と DREQ2信
号42とが同時にアサートされているため、プライオリテ
ィエンコーダ11はステップS3で付与された優先順位に従
って DMA転送を行う (ステップS6)。以上により、上述
したような二つ以上のDREQ信号が同時にアサートされた
場合には、過去10回の履歴に従って DREQ2信号42に対す
る DMA転送が実行され、フロッピィディスク装置36とメ
モリ32との間で DMA転送が実行される。
【0031】なお、最新の過去10回分のDREQ信号のカウ
ント数が同一である場合は、従来と同様にプライオリテ
ィエンコーダ11に予め設定されている固定優先順位が適
用される。
【0032】なお上記実施例では、ステップS2において
最新の過去10回分のDREQ信号のカウントを行ったが、10
回である必要はなく、種々の条件に応じて適宜の回数に
設定することが可能である。
【0033】また上記実施例では、ステップS2において
DREQ信号の回数のカウントを行っているが、ステップS1
において実行してもよい。
【0034】
【発明の効果】以上に詳述したように本発明の DMAコン
トローラによれば、プライオリティエンコーダを最新の
過去のDREQ信号の要求回数の多さに従って優先順位を決
定するように構成したので、実動作の転送負荷に従って
優先順位がリアルタイムで変更可能になり、現実に即し
た効率のよい DMA転送が実現される。
【図面の簡単な説明】
【図1】本発明の DMAコントローラの構成を示すブロッ
ク図である。
【図2】本発明の DMAコントローラのプライオリティエ
ンコーダが優先順位を決定する際の動作手順を示すフロ
ーチャートである。
【図3】DMAコントローラを使用したマイクロコンピュ
ータシステムの一般的なシステム構成例を示すブロック
図であり、
【図4】従来の DMAコントローラの構成を示すブロック
図である。
【符号の説明】
11 プライオリティエンコーダ 40 DMAコントローラ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年11月4日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図3
【補正方法】変更
【補正内容】
【図3】

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 メモリと、該メモリとの間でデータの授
    受をそれぞれ行う複数の装置とを備えたコンピュータシ
    ステム内の前記メモリと前記複数の装置との間でダイレ
    クトメモリアクセスを制御するDMAコントローラにお
    いて、 前記複数の装置のいずれかがDMA要求を発生したこと
    を検出する第1の手段と、 該第1の手段がDMA要求を検出した場合に、過去の所
    定回数のDMA要求がそれぞれ前記複数の装置のいずれ
    からであったかを計数する第2の手段と、 該第2の手段の計数結果が大である順に前記複数の装置
    間にDMA転送の優先順位を付与する第3の手段と、 前記第1の手段によりDMA要求の発生が検出された場
    合に、前記複数の装置の内の他の装置からのDMA要求
    が同時に発生しているか否かを検出する第4の手段と、 該第4の手段により複数のDMA要求が同時に発生して
    いることが検出された場合に、前記第3の手段により付
    与された優先順位に従ってDMA転送を実行する第5の
    手段とを有するプライオリティエンコーダを備えたこと
    を特徴とするDMAコントローラ。
JP14545692A 1992-06-05 1992-06-05 Dmaコントローラ Pending JPH05342143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14545692A JPH05342143A (ja) 1992-06-05 1992-06-05 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14545692A JPH05342143A (ja) 1992-06-05 1992-06-05 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JPH05342143A true JPH05342143A (ja) 1993-12-24

Family

ID=15385654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14545692A Pending JPH05342143A (ja) 1992-06-05 1992-06-05 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JPH05342143A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316866A (ja) * 2004-04-30 2005-11-10 Mitsubishi Electric Corp バス装置
WO2017216840A1 (ja) * 2016-06-13 2017-12-21 オリンパス株式会社 メモリアクセス制御装置、画像処理装置、および撮像装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316866A (ja) * 2004-04-30 2005-11-10 Mitsubishi Electric Corp バス装置
WO2017216840A1 (ja) * 2016-06-13 2017-12-21 オリンパス株式会社 メモリアクセス制御装置、画像処理装置、および撮像装置

Similar Documents

Publication Publication Date Title
EP0644487A2 (en) Scalable system interrupt structure for a multiprocessing system
US5619705A (en) System and method for cascading multiple programmable interrupt controllers utilizing separate bus for broadcasting interrupt request data packet in a multi-processor system
US20030204655A1 (en) Prioritizing vector generation in interrupt controllers
SE7505994L (sv) Databehandlingsanleggning innefattande enheter for behandling av inmatning/utmatning-instruktioner
EP0644489A2 (en) Method and apparatus for signalling interrupt information in a data processing system
JP2002073527A (ja) Dmaコントローラ
US6665746B1 (en) System and method for prioritized context switching for streaming data memory transfers
US5072365A (en) Direct memory access controller using prioritized interrupts for varying bus mastership
JPH05342143A (ja) Dmaコントローラ
JPS6046748B2 (ja) コンピユ−タの割込処理方式
JP4150853B2 (ja) 資源競合制御システム及び制御方法並びにプログラム
US7721033B2 (en) Interrupt notification block
JP2004537809A (ja) システムオンチップ設計用の効率的な割り込みシステム
JP2806771B2 (ja) バス調停回路
JPS63311450A (ja) ファイルアクセス排他制御方式
JP5644197B2 (ja) コンピュータシステムおよび割込要求処理方法
JP2752894B2 (ja) ファイル転送装置
JPH08272739A (ja) オンライン・レスポンス向上方法
JP2004220309A (ja) マルチプロセッサシステム
JP2584082B2 (ja) 高速割込み処理装置
JPH03152648A (ja) バス使用権調停回路
JPH04186459A (ja) 入出力制御方式
JPS6010381A (ja) マルチプロセツサシステムにおける入出力割込受付プロセツサの決定方式
JPS60159947A (ja) 多重割込み処理方式
JP2003186666A (ja) マイクロコンピュータおよびdma制御回路