JP2515367B2 - Dma転送制御装置 - Google Patents
Dma転送制御装置Info
- Publication number
- JP2515367B2 JP2515367B2 JP63054366A JP5436688A JP2515367B2 JP 2515367 B2 JP2515367 B2 JP 2515367B2 JP 63054366 A JP63054366 A JP 63054366A JP 5436688 A JP5436688 A JP 5436688A JP 2515367 B2 JP2515367 B2 JP 2515367B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data
- dma transfer
- address
- control device
- 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
Links
Landscapes
- Bus Control (AREA)
Description
【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術(第2、3図) 発明が解決しようとする問題点 問題点を解決するための手段 作用 実施例 本発明の一実施例(第1図) 発明の効果 〔概要〕 DMA転送に必要な転送情報を定義するディスクリプタ
フォーマットを複数備えたDMA転送制御装置に関し、 DMA転送の初期設定を有効に行ってメモリ効率の向上
を図ることのできるDMA転送制御装置を提供することを
目的とし、 メモリと入出力装置あるいはメモリ同志のデータ転送
を行うDMA転送制御装置において、転送に必要な情報を
定義する複数のディスクリプタフォーマットを設け、該
ディスクリプタフォーマットを登録する登録手段とを備
えて構成する。また、前記登録手段に登録されたディス
クリプタフォーマットに基づき、データ転送に必要な転
送情報を判断、選択して、外部記憶より取り出し、デー
タ転送を制御する制御記憶に該転送情報を設定する転送
情報設定手段と、を備えて構成する。
フォーマットを複数備えたDMA転送制御装置に関し、 DMA転送の初期設定を有効に行ってメモリ効率の向上
を図ることのできるDMA転送制御装置を提供することを
目的とし、 メモリと入出力装置あるいはメモリ同志のデータ転送
を行うDMA転送制御装置において、転送に必要な情報を
定義する複数のディスクリプタフォーマットを設け、該
ディスクリプタフォーマットを登録する登録手段とを備
えて構成する。また、前記登録手段に登録されたディス
クリプタフォーマットに基づき、データ転送に必要な転
送情報を判断、選択して、外部記憶より取り出し、デー
タ転送を制御する制御記憶に該転送情報を設定する転送
情報設定手段と、を備えて構成する。
本発明は、DMA転送制御装置に関し、詳細にはDMA転送
に必要な転送情報を定義するディスクリプタフォーマッ
トを複数備えたDMA転送制御装置に関する。
に必要な転送情報を定義するディスクリプタフォーマッ
トを複数備えたDMA転送制御装置に関する。
近時、パーソナルコンピュータやワークステーション
では扱うことのできるデータ量の増加に伴って非常に高
速なデータ、例えばディスク装置等補助的記憶装置、あ
るいは画像データや非常に多量のデータを外部機器との
間で扱う必要があり、これに対応してCPUを介さずにデ
ータ転送を行ういわゆるDMA転送が行われている。通常
のデータ転送はCPUを介して行われていることから、デ
ータ転送の速度はCPUの処理速度が支配的であるが、CPU
の処理速度が追いつかないような高速データを扱う場合
にはCPUを介してデータ転送を行うことは不可能であ
る。また、さほど高速ではないデータであってもその量
が多い場合には処理に時間がかかる。そこで、処理速度
の遅いCPUを介さずに外部の入出力機器と内部のメモリ
あるいはメモリ同志でデータ転送を直接行うDMA転送制
御装置を用いてデータ転送速度の高速化を図ることによ
り、高速データや大量のデータを効率よく処理すること
を意図している。
では扱うことのできるデータ量の増加に伴って非常に高
速なデータ、例えばディスク装置等補助的記憶装置、あ
るいは画像データや非常に多量のデータを外部機器との
間で扱う必要があり、これに対応してCPUを介さずにデ
ータ転送を行ういわゆるDMA転送が行われている。通常
のデータ転送はCPUを介して行われていることから、デ
ータ転送の速度はCPUの処理速度が支配的であるが、CPU
の処理速度が追いつかないような高速データを扱う場合
にはCPUを介してデータ転送を行うことは不可能であ
る。また、さほど高速ではないデータであってもその量
が多い場合には処理に時間がかかる。そこで、処理速度
の遅いCPUを介さずに外部の入出力機器と内部のメモリ
あるいはメモリ同志でデータ転送を直接行うDMA転送制
御装置を用いてデータ転送速度の高速化を図ることによ
り、高速データや大量のデータを効率よく処理すること
を意図している。
DMA転送制御装置(以下、DMAコントローラ:DMACとい
う)は前述のようなマイクロコンピュータやワークステ
ーションの一部であり、まずDMA転送の概念を第2図を
参照して説明する。なお、DMA転送によるデータの転送
は機器内部のメモリ同志で行う場合と外部機器と機器内
のメモリ間で行う場合があるが、ここでは後者を例にあ
げて説明する。
う)は前述のようなマイクロコンピュータやワークステ
ーションの一部であり、まずDMA転送の概念を第2図を
参照して説明する。なお、DMA転送によるデータの転送
は機器内部のメモリ同志で行う場合と外部機器と機器内
のメモリ間で行う場合があるが、ここでは後者を例にあ
げて説明する。
同図において、CPU4は制御バス、アドレスバスおよび
データバスを専有して処理を行っており、DMA転送の要
求が発生すると、I/Oポート1からのリクエスト信号REQ
がDMAC5に入力される。この場合、リクエスト信号REQは
外部機器からDMAC5に送出される。リクエスト信号REQが
発生すると、CPU4によりあらかじめ登録されている転送
元のアドレス(ソースアドレス)、あるいは転送先のア
ドレス(ディストネーションアドレス)と転送データの
量(バイトカウント)に基づいてDMA転送を行うため
に、DMAC5からCPU4に対してホールド要求信号HOLDが送
出され、CPU4に対して各バスの解放を要求する。ホール
ド要求信号HOLDが発生すると、CPU4からホールド許可信
号HOLDACKが返送され、各データバスがCPU4から解放さ
れてDMAC5に明け渡される。これにより、DMAC5はCPU4に
替わって各バスを専有し、DMA転送を行い、I/Oポート1
に対してDMAC5からリクエスト応答信号REQACKが送出さ
れる。
データバスを専有して処理を行っており、DMA転送の要
求が発生すると、I/Oポート1からのリクエスト信号REQ
がDMAC5に入力される。この場合、リクエスト信号REQは
外部機器からDMAC5に送出される。リクエスト信号REQが
発生すると、CPU4によりあらかじめ登録されている転送
元のアドレス(ソースアドレス)、あるいは転送先のア
ドレス(ディストネーションアドレス)と転送データの
量(バイトカウント)に基づいてDMA転送を行うため
に、DMAC5からCPU4に対してホールド要求信号HOLDが送
出され、CPU4に対して各バスの解放を要求する。ホール
ド要求信号HOLDが発生すると、CPU4からホールド許可信
号HOLDACKが返送され、各データバスがCPU4から解放さ
れてDMAC5に明け渡される。これにより、DMAC5はCPU4に
替わって各バスを専有し、DMA転送を行い、I/Oポート1
に対してDMAC5からリクエスト応答信号REQACKが送出さ
れる。
DMAC5は第3図に示すように、データハンドラ(以
下、Dユニットという)6、リクエストハンドラ(以
下、Rユニットという)7およびマイクロユニット(以
下、Mユニットという)8からなり、Rユニット7にリ
クエスト信号REQが入力されると、Rユニット7はリク
エスト応答信号REQACKを返送し、Dユニット6およびM
ユニット8に対して転送リクエスト信号TREQを出力す
る。Mユニット8は転送リクエスト信号TREQを受けて所
定のDMA転送を行うために必要な制御情報CDAをDユニッ
ト6に出力するとともに、応答信号ACKをRユニット7
に出力する。また、転送リクエスト信号TREQを受けたD
ユニット6はホールド要求信号HOLDをCPU4に出力し、ホ
ールド許可信号HOLDACKがDユニット6に入力されると
Dユニット6およびデータバス、アドレスバス等を介し
て所定のDMA転送が行われる。
下、Dユニットという)6、リクエストハンドラ(以
下、Rユニットという)7およびマイクロユニット(以
下、Mユニットという)8からなり、Rユニット7にリ
クエスト信号REQが入力されると、Rユニット7はリク
エスト応答信号REQACKを返送し、Dユニット6およびM
ユニット8に対して転送リクエスト信号TREQを出力す
る。Mユニット8は転送リクエスト信号TREQを受けて所
定のDMA転送を行うために必要な制御情報CDAをDユニッ
ト6に出力するとともに、応答信号ACKをRユニット7
に出力する。また、転送リクエスト信号TREQを受けたD
ユニット6はホールド要求信号HOLDをCPU4に出力し、ホ
ールド許可信号HOLDACKがDユニット6に入力されると
Dユニット6およびデータバス、アドレスバス等を介し
て所定のDMA転送が行われる。
DMA転送の概要は以上の通りであるが、DMA転送の方法
には大別するとレジスタダイレクト(REGDir)およびデ
ィスクリプタチェインの二つがある。
には大別するとレジスタダイレクト(REGDir)およびデ
ィスクリプタチェインの二つがある。
前者はソースおよびディストネーションの各アドレス
とバイトカウントをCPU4がDMAC5のレジスタに直接書き
込んでDMA転送を行うものであり、後者はDMAC5が内部に
格納されたマイクロプログラムに従ってメモリ2あるい
はメモリ3にテーブル化されているソースおよびディス
トネーションの各アドレスとバイトカウントの情報をDM
AC5内のレジスタに書き込んでDMA転送を行うものであ
る。この場合、ソースおよびディストネーションの各ア
ドレスとバイトカウントの情報のテーブルをディスクリ
プタフォーマット(DF)といい、DFは三つの情報からな
り、固定されている。
とバイトカウントをCPU4がDMAC5のレジスタに直接書き
込んでDMA転送を行うものであり、後者はDMAC5が内部に
格納されたマイクロプログラムに従ってメモリ2あるい
はメモリ3にテーブル化されているソースおよびディス
トネーションの各アドレスとバイトカウントの情報をDM
AC5内のレジスタに書き込んでDMA転送を行うものであ
る。この場合、ソースおよびディストネーションの各ア
ドレスとバイトカウントの情報のテーブルをディスクリ
プタフォーマット(DF)といい、DFは三つの情報からな
り、固定されている。
しかしながら、このような従来のDNA転送制御装置に
あっては、ディスクリプタフォーマットが固定されたも
のであったために、ディスクリプタチェインによるDMA
転送時の初期設定、すなわち、ソースアドレス、ディス
トネーションアドレスおよびバイトカウントの情報設定
に無駄が生じる場合があった。
あっては、ディスクリプタフォーマットが固定されたも
のであったために、ディスクリプタチェインによるDMA
転送時の初期設定、すなわち、ソースアドレス、ディス
トネーションアドレスおよびバイトカウントの情報設定
に無駄が生じる場合があった。
例えば、メモリ2とメモリ3の間のDMA転送であれ
ば、ソースおよびディストネーションの各アドレスを設
定するとともに、バイトカウントを設定する必要があ
る。この場合、アドレスバスにソースとディストネーシ
ョンの各アドレスを乗せるために2度のバスサイクルが
必要であり、これをデュアル転送という。ところが、メ
モリ2、3とI/Oポート1の間のDMA転送ではI/Oポート
1がアドレスではなくリクエスト応答信号REQACKにより
管理されるため、ソースあるいはディストネーションの
どちらか一方のアドレスは必要がない。具体的には、メ
モリ2、3からI/Oポート1へのDMA転送ではソースアド
レスおよびバイトカウントを設定することによりデータ
バス上のデータがI/Oポート1に取り込まれ、逆に、I/O
ポート1からメモリ2、3へのDMA転送ではディストネ
ーションアドレスおよびバイトカウントを設定すること
によりデータバス上のデータがメモリ2、3に書き込ま
れる。このような一度のバスサイクルで転送が行われる
ものを前述のデュアル転送に対してシングル転送という
が、シングル転送の場合、DFが固定された1種類のもの
であったために設定する必要のない情報を設定すること
になる。したがって、ディストネーションあるいはソー
スのアドレス値をテーブル化するためにメモリ2、2内
に確保している領域は無駄となりメモリ効率が低下する
という問題点があった。
ば、ソースおよびディストネーションの各アドレスを設
定するとともに、バイトカウントを設定する必要があ
る。この場合、アドレスバスにソースとディストネーシ
ョンの各アドレスを乗せるために2度のバスサイクルが
必要であり、これをデュアル転送という。ところが、メ
モリ2、3とI/Oポート1の間のDMA転送ではI/Oポート
1がアドレスではなくリクエスト応答信号REQACKにより
管理されるため、ソースあるいはディストネーションの
どちらか一方のアドレスは必要がない。具体的には、メ
モリ2、3からI/Oポート1へのDMA転送ではソースアド
レスおよびバイトカウントを設定することによりデータ
バス上のデータがI/Oポート1に取り込まれ、逆に、I/O
ポート1からメモリ2、3へのDMA転送ではディストネ
ーションアドレスおよびバイトカウントを設定すること
によりデータバス上のデータがメモリ2、3に書き込ま
れる。このような一度のバスサイクルで転送が行われる
ものを前述のデュアル転送に対してシングル転送という
が、シングル転送の場合、DFが固定された1種類のもの
であったために設定する必要のない情報を設定すること
になる。したがって、ディストネーションあるいはソー
スのアドレス値をテーブル化するためにメモリ2、2内
に確保している領域は無駄となりメモリ効率が低下する
という問題点があった。
そこで本発明は、複数のディスクリプタフォーマット
を設けることによりDMA転送の初期設定を有効に行って
メモリ効率の向上を図ることのできるDMA転送制御装置
を提供することを目的としている。
を設けることによりDMA転送の初期設定を有効に行って
メモリ効率の向上を図ることのできるDMA転送制御装置
を提供することを目的としている。
本発明によるDMA転送制御装置は上記目的達成のた
め、メモリと入出力装置あるいはメモリ同志のデータ転
送を行うDMA転送制御装置において、転送に必要な情報
を定義する複数のディスクリプタフォーマットを設け、
該ディスクリプタフォーマットを登録する登録手段とを
備えている。また、前記登録手段に登録されたディスク
リプタフォーマットに基づき、データ転送に必要な転送
情報を判断、選択して、外部記憶より取り出し、データ
転送を制御する制御記憶に該転送情報を設定する転送情
報設定手段と、を備えている。
め、メモリと入出力装置あるいはメモリ同志のデータ転
送を行うDMA転送制御装置において、転送に必要な情報
を定義する複数のディスクリプタフォーマットを設け、
該ディスクリプタフォーマットを登録する登録手段とを
備えている。また、前記登録手段に登録されたディスク
リプタフォーマットに基づき、データ転送に必要な転送
情報を判断、選択して、外部記憶より取り出し、データ
転送を制御する制御記憶に該転送情報を設定する転送情
報設定手段と、を備えている。
本発明では、ディスクリプタチェインによるDMA転送
時の初期設定を定義するディスクリプタフォーマットが
複数設けられ、DMA転送の型式、例えばデュアル転送や
シングル転送等に応じて最適なディスクリプタフォーマ
ットがマイクロプログラムに従って選択される。
時の初期設定を定義するディスクリプタフォーマットが
複数設けられ、DMA転送の型式、例えばデュアル転送や
シングル転送等に応じて最適なディスクリプタフォーマ
ットがマイクロプログラムに従って選択される。
したがって、DMA転送時の初期設定に無駄が発生する
ことがなく、外部メモリの領域が有効に利用されてメモ
リ効率が向上する。
ことがなく、外部メモリの領域が有効に利用されてメモ
リ効率が向上する。
以下、本発明の実施例を図面に基づいて説明する。
第1図は本発明に係るDMA転送制御装置の一実施例を
示す要部構成図であり、第3図に示した従来例と同一構
成部材には同一符号を付しその説明を省略する。なお、
本実施例ではDMA転送時の初期設定にその特徴があり、
初期設定に直接関係する要部のみを説明してDユニット
6、Rユニット7の細部については省略する。
示す要部構成図であり、第3図に示した従来例と同一構
成部材には同一符号を付しその説明を省略する。なお、
本実施例ではDMA転送時の初期設定にその特徴があり、
初期設定に直接関係する要部のみを説明してDユニット
6、Rユニット7の細部については省略する。
同図において、8はMユニットであり、Mユニット8
にはディスクリプタフォーマットレジスタ(DFR:登録手
段)11が設けられる。DFR11は図示は略されているが、
転送モードレジスタの一部を形成する。転送モードレジ
スタにはシングル転送、デュアル転送の区別やREG Di
r、ディスクリプタチェインの区別等をセットするもの
であり、DFR11とともに使用者が予め設定する。DFR11に
は前述のディスクリプタフォーマット(DF)を設定する
が、本実施例ではディスクリプタフォーマットを3種類
用意してあり、2ビットのコードを表わす。次表1はDF
のコードとその内容を対比させたものである。
にはディスクリプタフォーマットレジスタ(DFR:登録手
段)11が設けられる。DFR11は図示は略されているが、
転送モードレジスタの一部を形成する。転送モードレジ
スタにはシングル転送、デュアル転送の区別やREG Di
r、ディスクリプタチェインの区別等をセットするもの
であり、DFR11とともに使用者が予め設定する。DFR11に
は前述のディスクリプタフォーマット(DF)を設定する
が、本実施例ではディスクリプタフォーマットを3種類
用意してあり、2ビットのコードを表わす。次表1はDF
のコードとその内容を対比させたものである。
DFR11のデータはセレクタPLA(SELPLA)12に入力され
ており、SEL PLA12はマトリックステーブルを形成す
る。SEL PLA12にはジャンプコード(JUMP C)が入力さ
れており、SEL PLA12はジャンプコードが入力されるとD
ER11のデータ、すなわちDFに基づいて条件判定を行う。
SEL PLA12の条件判定結果はセレクタ(SEL)13に入力さ
れ、SEL13の入力にはインクリメント素子(INC)14およ
びマッピングPLA(MAP PLA)15からの出力とジャンプア
ドレス(JUMP A)が入力される。SEL13はSEL PLA12の条
件判定結果に基づき入力を選択し、マイクロROM(μRO
M)16のアドレス情報として出力する。ジャンプアドレ
スは制御情報CDAの一つであるが、このジャンプアドレ
スについては後述する。INC14は例えば、カウンタから
なり、SEL13の出力を+1だけインクリメントして出力
する。したがって、SEL13の出力が選択されたときはμR
OM16に対応するアドレス情報は順次+1だけインクリメ
ントしたものとなる。μROM16にはDMA転送に必要な初期
設定を行うプログラム(以下、マイクロプログラムとい
う)が格納されており、SEL13の出力に応じてマイクロ
プログラムの進行が制御される。MAP PLA15にはマイク
ロプログラムのスタートアドレスが設定されており、R
ユニット7からの転送リクエスト信号REQが入力される
とMAP PLA15はこのスタートアドレスをSEL13に出力す
る。μROM16はマイクロプログラムの進行に従ってμROM
16から出力される情報は、データラッチ(DLATCH)17を
経て制御情報CDAとして出力される。
ており、SEL PLA12はマトリックステーブルを形成す
る。SEL PLA12にはジャンプコード(JUMP C)が入力さ
れており、SEL PLA12はジャンプコードが入力されるとD
ER11のデータ、すなわちDFに基づいて条件判定を行う。
SEL PLA12の条件判定結果はセレクタ(SEL)13に入力さ
れ、SEL13の入力にはインクリメント素子(INC)14およ
びマッピングPLA(MAP PLA)15からの出力とジャンプア
ドレス(JUMP A)が入力される。SEL13はSEL PLA12の条
件判定結果に基づき入力を選択し、マイクロROM(μRO
M)16のアドレス情報として出力する。ジャンプアドレ
スは制御情報CDAの一つであるが、このジャンプアドレ
スについては後述する。INC14は例えば、カウンタから
なり、SEL13の出力を+1だけインクリメントして出力
する。したがって、SEL13の出力が選択されたときはμR
OM16に対応するアドレス情報は順次+1だけインクリメ
ントしたものとなる。μROM16にはDMA転送に必要な初期
設定を行うプログラム(以下、マイクロプログラムとい
う)が格納されており、SEL13の出力に応じてマイクロ
プログラムの進行が制御される。MAP PLA15にはマイク
ロプログラムのスタートアドレスが設定されており、R
ユニット7からの転送リクエスト信号REQが入力される
とMAP PLA15はこのスタートアドレスをSEL13に出力す
る。μROM16はマイクロプログラムの進行に従ってμROM
16から出力される情報は、データラッチ(DLATCH)17を
経て制御情報CDAとして出力される。
上記SEL PLA12、SEL13、INC14およびMAP PLA15は転送
情報設定手段18を構成する。制御情報CDA(転送情報)
はDユニット6に接続されるとともに、ソースアドレス
レジスタ(SAR)19、ディストネーションアドレスレジ
スタ(DAR)20およびバイトカウントレジスタ(BCR)21
にそれぞれ接続される。SAR19はソースアドレス、DAR20
はディストネーションアドレス、BCR21はバイトカウン
トをそれぞれ設定するレジスタ(制御記憶)であり、制
御情報CDAに従ってデータバス22上のデータを対応する
レジスタ内に格納する。
情報設定手段18を構成する。制御情報CDA(転送情報)
はDユニット6に接続されるとともに、ソースアドレス
レジスタ(SAR)19、ディストネーションアドレスレジ
スタ(DAR)20およびバイトカウントレジスタ(BCR)21
にそれぞれ接続される。SAR19はソースアドレス、DAR20
はディストネーションアドレス、BCR21はバイトカウン
トをそれぞれ設定するレジスタ(制御記憶)であり、制
御情報CDAに従ってデータバス22上のデータを対応する
レジスタ内に格納する。
次に、作用を説明する。
転送リクエスト信号TREQがMAP PLA15に入力されると
マイクロプロクラムの起動アドレスがSEL13を経てμROM
16に入力され、μROM16に格納されているマイクロプロ
グラムが起動される。
マイクロプロクラムの起動アドレスがSEL13を経てμROM
16に入力され、μROM16に格納されているマイクロプロ
グラムが起動される。
いま、DFR11にDFとして〔0、0〕のコードが設定さ
れているとすると、SEL PLA12により条件設定を行い、S
EL13がINC14の出力を選択する。この場合、μROM16のア
ドレスは順次インクリメントされるのでマイクロプログ
ラムの実行は次のように行われる。
れているとすると、SEL PLA12により条件設定を行い、S
EL13がINC14の出力を選択する。この場合、μROM16のア
ドレスは順次インクリメントされるのでマイクロプログ
ラムの実行は次のように行われる。
まず、Dユニット6に制御情報CDAを出力し、ソース
アドレス情報をDユニット6内に取り込み、データバス
22を介してSAR19にその情報を書き込む。次いで、Dユ
ニット6にディストネーションアドレス情報を取り込
み、データバス22を介してDAR20に書き込む。最後に、
Dユニット6にバイトカウント情報を取り込んでBCR21
に書き込む。すなわち、ソース、ディストネーション、
バイトの順にそれぞれを該当するレジスタに書き込む。
これは従来と同様であり、シングル転送時には無駄が発
生することは前述の通りである。これに対して本実施例
ではDFを複数備えており、以下、DF〔1、0〕および
〔1、1〕の場合を説明する。
アドレス情報をDユニット6内に取り込み、データバス
22を介してSAR19にその情報を書き込む。次いで、Dユ
ニット6にディストネーションアドレス情報を取り込
み、データバス22を介してDAR20に書き込む。最後に、
Dユニット6にバイトカウント情報を取り込んでBCR21
に書き込む。すなわち、ソース、ディストネーション、
バイトの順にそれぞれを該当するレジスタに書き込む。
これは従来と同様であり、シングル転送時には無駄が発
生することは前述の通りである。これに対して本実施例
ではDFを複数備えており、以下、DF〔1、0〕および
〔1、1〕の場合を説明する。
DF〔1、0〕 このとき外部記憶から取り込まれるデータはソースア
ドレスおよびバイトカウントであり、これはシングル転
送モード、すなわち、メモリからI/Oポートを介して外
部へデータ転送を行う場合に好適なDFである。
ドレスおよびバイトカウントであり、これはシングル転
送モード、すなわち、メモリからI/Oポートを介して外
部へデータ転送を行う場合に好適なDFである。
転送リクエスト信号TREQによりμROM16内のマイクロ
プログラムが起動すると、まず、ジャンプコードJUMP C
が発生し、SEL PLA12によりDFR11の条件判定が行われ
る。いま、DFは〔1、0〕が設定されているので、ソー
スアドレスの書き込みが必要であると判断してSEL13に
よりINC14の出力を選択し、マイクロプログラムに従っ
て外部記憶からソースアドレスを取り込み、SAR19に書
き込む。SAR19の書き込みが完了すると再びジャンプコ
ードJUMP CがSEL PLA12に入力され、SEL PLA12はDFR11
を参照してDAR20の書き込みは不要であると判断し、SEL
13はジャンプアドレスJUMP Aを選択する。ジャンプアド
レスJUMP AはSAR19の書き込みが完了するとマイクロプ
ログラムに従ってμROM16により出力されており、この
場合、バイトカウントを書き込むマイクロプログラムが
格納されているアドレスデータが出力される。したがっ
て、SAR19の書き込みが完了するとDAR20の書き込みはジ
ャンプしてBCR21の書込みが行われる。
プログラムが起動すると、まず、ジャンプコードJUMP C
が発生し、SEL PLA12によりDFR11の条件判定が行われ
る。いま、DFは〔1、0〕が設定されているので、ソー
スアドレスの書き込みが必要であると判断してSEL13に
よりINC14の出力を選択し、マイクロプログラムに従っ
て外部記憶からソースアドレスを取り込み、SAR19に書
き込む。SAR19の書き込みが完了すると再びジャンプコ
ードJUMP CがSEL PLA12に入力され、SEL PLA12はDFR11
を参照してDAR20の書き込みは不要であると判断し、SEL
13はジャンプアドレスJUMP Aを選択する。ジャンプアド
レスJUMP AはSAR19の書き込みが完了するとマイクロプ
ログラムに従ってμROM16により出力されており、この
場合、バイトカウントを書き込むマイクロプログラムが
格納されているアドレスデータが出力される。したがっ
て、SAR19の書き込みが完了するとDAR20の書き込みはジ
ャンプしてBCR21の書込みが行われる。
DF〔1、1〕 このとき、外部記憶から取り込まれるデータはディス
トネーションアドレスおよびバイトカウントであり、こ
れはシングル転送モード、すなわち、外部機器がI/Oポ
ートを介してメモリにデータ転送を行う場合に好適なDF
である。
トネーションアドレスおよびバイトカウントであり、こ
れはシングル転送モード、すなわち、外部機器がI/Oポ
ートを介してメモリにデータ転送を行う場合に好適なDF
である。
マイクロプログラムが起動するとジャンプコードJUMP
Cが発生し、SEL PLA12はDFR11の条件判定を行う。この
場合、DFが〔1、1〕であるのでソースアドレスの書き
込みはは不要であると判断してSEL13はジャンプアドレ
スJUMP Aを選択する。このとき、ジャンプアドレスJUMP
Aにはディストネーションアドレスの書き込みを行うマ
イクロプログラムが格納されているアドレスデータが出
力されており、このアドレスデータがμROM16に入力さ
れてDAR20の書き込みが行われる。DAR20の書込みが完了
すると、再びジャンプコードが発生し、SEL PLA12はDFR
11を参照して条件判定を行うが、この場合、DFが〔1、
1〕であるのでバイトカウントの書き込みを行うために
SEL13はINC14の出力を選択し、バイトカウントの書き込
みを行うマイクロプログラムが起動される。これによ
り、BCR21の書き込みが行われる。
Cが発生し、SEL PLA12はDFR11の条件判定を行う。この
場合、DFが〔1、1〕であるのでソースアドレスの書き
込みはは不要であると判断してSEL13はジャンプアドレ
スJUMP Aを選択する。このとき、ジャンプアドレスJUMP
Aにはディストネーションアドレスの書き込みを行うマ
イクロプログラムが格納されているアドレスデータが出
力されており、このアドレスデータがμROM16に入力さ
れてDAR20の書き込みが行われる。DAR20の書込みが完了
すると、再びジャンプコードが発生し、SEL PLA12はDFR
11を参照して条件判定を行うが、この場合、DFが〔1、
1〕であるのでバイトカウントの書き込みを行うために
SEL13はINC14の出力を選択し、バイトカウントの書き込
みを行うマイクロプログラムが起動される。これによ
り、BCR21の書き込みが行われる。
このように、本実施例ではDFとして〔0、0〕の他に
〔1、0〕および〔1、1〕という三つのDFを設けるこ
とにより、シングル転送時に必要のないアドレスデー
タ、すなわち、ソースあるいはディストネーションのア
ドレスデータをメモリに登録しておく必要がなくなって
メモリ領域を有効に利用することができ、メモリ効率を
向上させることができる。
〔1、0〕および〔1、1〕という三つのDFを設けるこ
とにより、シングル転送時に必要のないアドレスデー
タ、すなわち、ソースあるいはディストネーションのア
ドレスデータをメモリに登録しておく必要がなくなって
メモリ領域を有効に利用することができ、メモリ効率を
向上させることができる。
なお、本実施例ではディスクリプタチェインを想定し
たDMA転送の初期設定について示したが、ディスクリプ
タチェインとREG Dirを組合わせることも可能である。
例えば、ソースアドレスとバイトカウントはディスクリ
プタチェイン(DFが〔1、0〕の態様)により設定し、
ディストネーションアドレスはREG Dirによることも可
能である。このようにするとディストネーションアドレ
スが一定であるような場合、初期設定値として利用する
ことができ、ソースアドレスとバイトカウントを書き替
えることで初期設定が完了する。
たDMA転送の初期設定について示したが、ディスクリプ
タチェインとREG Dirを組合わせることも可能である。
例えば、ソースアドレスとバイトカウントはディスクリ
プタチェイン(DFが〔1、0〕の態様)により設定し、
ディストネーションアドレスはREG Dirによることも可
能である。このようにするとディストネーションアドレ
スが一定であるような場合、初期設定値として利用する
ことができ、ソースアドレスとバイトカウントを書き替
えることで初期設定が完了する。
また、本実施例ではDFを3種類用意したが、これに限
らず他のDFを定義して増設することも可能である。
らず他のDFを定義して増設することも可能である。
本発明によれば、複数のディスクリプタフォーマット
を設け、DMA転送の型式、例えばデュアル転送やシング
ル転送等に応じた最適なディスクリプタフォーマットを
マイクロプログラムに従って選択しているので、DMA転
送時の初期設定に無駄が発生することがなく、外部メモ
リの領域を有効に利用でき、メモリ効率の向上を図った
DMA転送制御装置を得ることができる。
を設け、DMA転送の型式、例えばデュアル転送やシング
ル転送等に応じた最適なディスクリプタフォーマットを
マイクロプログラムに従って選択しているので、DMA転
送時の初期設定に無駄が発生することがなく、外部メモ
リの領域を有効に利用でき、メモリ効率の向上を図った
DMA転送制御装置を得ることができる。
第1図は本発明に係るDMA転送制御装置の一実施例を示
すその要部構成図、 第2、3図は従来のDMA転送制御装置の一例を示す図で
あり、 第2図はそのDMA転送の概念を説明する図、 第3図はそのDMAコントローラの内部構成を示す概略
図、である。 8……マイクロユニット(制御手段)、11……ディスク
リプタフォーマットレジスタ(登録手段)、12……セレ
クタPLA、13……セレクタ、14……インクリメント素
子、15……マップPLA、18……転送情報設定手段。
すその要部構成図、 第2、3図は従来のDMA転送制御装置の一例を示す図で
あり、 第2図はそのDMA転送の概念を説明する図、 第3図はそのDMAコントローラの内部構成を示す概略
図、である。 8……マイクロユニット(制御手段)、11……ディスク
リプタフォーマットレジスタ(登録手段)、12……セレ
クタPLA、13……セレクタ、14……インクリメント素
子、15……マップPLA、18……転送情報設定手段。
Claims (2)
- 【請求項1】メモリと入出力装置あるいはメモリ同志の
データ転送を行うDMA転送制御装置において、 転送に必要な情報を定義する複数のディスクリプタフォ
ーマットを設け、 前記ディスクリプタフォーマットを登録する登録手段を
備えたことを特徴とするDMA転送制御装置。 - 【請求項2】前記登録手段に登録されたディスクリプタ
フォーマットに基づき、データ転送に必要な転送情報を
判断、選択して、外部記憶より取り出し、データ転送を
制御する制御記憶に該転送情報を設定する転送情報設定
手段と、 を備えたことを特徴とする請求項1記載のDMA転送制御
装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63054366A JP2515367B2 (ja) | 1988-03-08 | 1988-03-08 | Dma転送制御装置 |
US07/318,283 US5077664A (en) | 1988-03-08 | 1989-03-03 | Direct memory access controller |
DE68925048T DE68925048D1 (de) | 1988-03-08 | 1989-03-07 | Direktspeicherzugriffssteuerung |
EP89104032A EP0332151B1 (en) | 1988-03-08 | 1989-03-07 | Direct memory access controller |
KR1019890002811A KR920007950B1 (ko) | 1988-03-08 | 1989-03-07 | 다이렉트 메모리 액세스 제어장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63054366A JP2515367B2 (ja) | 1988-03-08 | 1988-03-08 | Dma転送制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01228050A JPH01228050A (ja) | 1989-09-12 |
JP2515367B2 true JP2515367B2 (ja) | 1996-07-10 |
Family
ID=12968656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63054366A Expired - Lifetime JP2515367B2 (ja) | 1988-03-08 | 1988-03-08 | Dma転送制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2515367B2 (ja) |
-
1988
- 1988-03-08 JP JP63054366A patent/JP2515367B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH01228050A (ja) | 1989-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0333594B1 (en) | Direct memory access controller | |
US5937200A (en) | Using firmware to enhance the functionality of a controller | |
JPH02267634A (ja) | 割込み処理装置 | |
US5930488A (en) | Semiconductor integrated circuit device with a central processing unit, a data transfer controller and a memory storing data transfer parameters | |
US5287471A (en) | Data transfer controller using direct memory access method | |
EP0332151B1 (en) | Direct memory access controller | |
JPS62192867A (ja) | イメ−ジデ−タを扱うワ−クステ−シヨン | |
US5905912A (en) | System for implementing peripheral device bus mastering in a computer using a list processor for asserting and receiving control signals external to the DMA controller | |
WO2024051122A1 (zh) | 一种PCIe中断处理方法、装置、设备及非易失性可读存储介质 | |
JP2822782B2 (ja) | シングルチップマイクロコンピュータ | |
JP2515367B2 (ja) | Dma転送制御装置 | |
KR100534613B1 (ko) | 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법 | |
JP2568017B2 (ja) | マイクロプロセッサ及びそれを使用したデータ処理システム | |
JP2594611B2 (ja) | Dma転送制御装置 | |
JPS603229B2 (ja) | 情報処理方式 | |
JPH0666062B2 (ja) | シーケンス制御装置 | |
JPS63310060A (ja) | マルチプロセツサシステム | |
JP3345050B2 (ja) | 二次元配列型メモリシステム | |
JPH03111961A (ja) | マルチcpuのプログラムロード方式 | |
JP3265582B2 (ja) | マイクロコンピュータ | |
JP2883489B2 (ja) | 命令処理装置 | |
Sebbel | Input/output microprogramming for the 7.755 central processing unit of siemens system 7.000 | |
JP2003186666A (ja) | マイクロコンピュータおよびdma制御回路 | |
JPH10283062A (ja) | リアルタイムクロックおよびこのリアルタイムクロックを備えたコンピュータシステム | |
JPH03152647A (ja) | 割込み制御方式 |