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

Dmaコントローラ Download PDF

Info

Publication number
JP2006215991A
JP2006215991A JP2005031045A JP2005031045A JP2006215991A JP 2006215991 A JP2006215991 A JP 2006215991A JP 2005031045 A JP2005031045 A JP 2005031045A JP 2005031045 A JP2005031045 A JP 2005031045A JP 2006215991 A JP2006215991 A JP 2006215991A
Authority
JP
Japan
Prior art keywords
bit width
initialization data
memory
initialization
dma controller
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
JP2005031045A
Other languages
English (en)
Inventor
Atsushi Tanaka
篤志 田中
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 JP2005031045A priority Critical patent/JP2006215991A/ja
Publication of JP2006215991A publication Critical patent/JP2006215991A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】 初期化データレジスタの物量の増加を抑えつつ、メモリの初期化を高速に行なうことができるDMAコントローラを提供することを目的とする。
【解決手段】 初期化データが設定される第1のビット幅を有する初期化データ格納手段12と、初期化データ格納手段12に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力するビット幅拡張手段11とを備えており、第2のビット幅の初期化データをメモリ2にDMA転送してメモリ2の初期化を行なうことを特徴とするDMAコントローラ3により上記課題を解決する。
【選択図】 図1

Description

本発明はDMAコントローラに係り、特にメモリの初期化を行なうDMAコントローラに関する。
近年、映像処理や音声処理などのアプリケーションプログラムが要求する処理の1つには大量のデータが格納されたメモリの初期化が挙げられる。例えばプリンタ等における画像処理のように複数枚の画像を連続で処理する場合は、大量のデータが格納されたメモリの初期化を複数回行なう為、メモリの初期化を高速に行なう必要があった。
マイクロプロセッサとメモリとを含むマイクロプロセッサシステムにおいてメモリを初期化する方法としては、マイクロプロセッサがメモリ初期化プログラムを実行することによりメモリを初期化する方法が知られている。しかし、この方法では初期化するメモリの容量が大きくなるとメモリの初期化に要する時間が長くなるため、マイクロプロセッサシステムの処理能力が低下するという問題があった。
この問題の解決方法としては、初期化データを設定するレジスタ(以下、初期化データレジスタという)をDMAコントローラに用意し、DMAコントローラが初期化データでメモリの初期化を行なうことが知られている(例えば、特許文献1参照)。
特開昭64−25224号公報
しかしながら、特許文献1の方法では、マイクロプロセッサシステムにおけるデータバスのビット幅と初期化データレジスタのビット幅とを等しくする必要がある為、データバスが高速データ転送バスであるときに初期化データレジスタのビット幅が大きくなるという問題があった。また、バースト転送可能な高速データ転送バスにおいても同様な問題があった。さらに、複数チャネルを有するDMAコントローラでは、各チャネルにメモリ初期化機能を持たせた場合、初期化データレジスタのビット幅がチャネル数に応じて増大するという問題があった。
本発明は、上記の点に鑑みなされたもので、初期化データレジスタの物量の増加を抑えつつ、メモリの初期化を高速に行なうことができるDMAコントローラを提供することを目的とする。
そこで、上記課題を解決するため、本発明のDMAコントローラは、初期化データが設定される第1のビット幅を有する初期化データ格納手段と、前記初期化データ格納手段に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力するビット幅拡張手段とを備えており、前記第2のビット幅の初期化データをメモリにDMA転送して前記メモリの初期化を行なうことを特徴とする。
本発明では、ビット幅拡張手段を備えたことにより、初期化データ格納手段のビット幅を拡張することなく、初期化データのビット幅を拡張できる。したがって、本発明では初期化データ格納手段のビット幅を拡張することなく、より大きいビット幅のバスを介してDMAコントローラによるメモリの初期化が可能となる。
また、上記課題を解決するため、本発明のDMAコントローラは、初期化データが設定される第1の容量を有する初期化データ格納手段と、前記初期化データ格納手段に設定された第1の容量の初期化データをバースト転送させるバースト転送制御手段とを備えており、前記第1の容量の初期化データをメモリにバースト転送して前記メモリの初期化を行なうことを特徴とする。
本発明では、バースト転送制御手段を備えたことにより、バースト転送の各ビートで同じ初期化データ格納手段に設定された初期化データを使用でき、初期化データ格納手段の容量を大きくする必要がない。したがって、本発明では初期化データ格納手段のハードウェア量の増加を軽減しつつ、バースト転送によるメモリの初期化が可能となる。
上述の如く、本発明によれば、初期化データ格納手段のハードウェア量(物量)の増加を抑えつつ、メモリの初期化を高速に行なうことができるDMAコントローラを提供可能である。
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。
図1は、本発明によるマイクロプロセッサシステムの一実施例の構成図である。図1のマイクロプロセッサシステムは、マイクロプロセッサ1,メモリ2,DMAコントローラ3,アドレスバス4及びデータバス5を有する構成である。
DMAコントローラ3は、ビット幅拡張回路11,初期化データレジスタ12,データバッファ13,DMA制御回路14,アドレスレジスタ15,転送数カウンタ16を有する構成である。また、DMA制御回路14は、起動レジスタ101,初期化モードレジスタ102,転送量レジスタ103,バーストモードレジスタ104,バースト転送制御回路105を有する構成である。
なお、本実施例ではDMAコントローラ3のチャネル数が1つの例を示しているが、チャネル数を1つに限定するものではない。また、本実施例では初期化データレジスタ12のビット幅が32ビット、データバス5のビット幅が64ビットの例を示しているが、初期化データレジスタ12及びデータバス5のビット幅を限定するものではない。
なお、データバス5のビット幅は、初期化データレジスタ12のビット幅よりも大きいものとする。マイクロプロセッサシステムは、マイクロプロセッサ1,メモリ2及びDMAコントローラ3が,アドレスバス4及びデータバス5を介して接続されている。
マイクロプロセッサ1は、DMAコントローラ3の初期化データレジスタ12,アドレスレジスタ15,転送数カウンタ16,起動レジスタ101,初期化モードレジスタ102,転送量レジスタ103,バーストモードレジスタ104に値を設定する。
メモリ2は、初期化を行なう対象である。DMAコントローラ3は、メモリ2の初期化をDMA転送により行なう。この際、バースト転送により高速な初期化が可能である。DMA転送とは、マイクロプロセッサ1を介さずにデータ転送を行なうデータ転送方法である。バースト転送とは、データを連続的に転送するデータ転送方法である。
DMAコントローラ3は、メモリ2の初期化すべき全てのアドレスに初期化データを転送することにより初期化を行なう。メモリ2の初期化すべき全てのアドレスは、アドレスレジスタ15に設定されたアドレスと転送量レジスタ103に設定された転送量とに応じて決定される。また、初期化データは初期化データレジスタ12に設定されている。
初期化データレジスタ12から出力された初期化データは、ビット幅拡張回路11でビット幅が拡張される。例えば図1の例では、ビット幅が32ビットの初期化データレジスタ12から出力されたビット幅が32ビットの初期化データが、ビット幅拡張回路11でビット幅が64ビットの初期化データに拡張される。
図2は、ビット幅拡張回路の一実施例の構成図である。ビット幅拡張回路11は、初期化データレジスタ12から出力されたビット幅が32ビットの初期化データを分配してビット幅が64ビットの初期化データに拡張している。図2の例では、初期化データレジスタ12から出力されたビット幅が32ビットの初期化データが、0〜31ビット目および32〜63ビット目に分配されたビット幅が64ビットの初期化データに拡張される。ビット幅拡張回路11によりビット幅が拡張された初期化データは、データバス5を介してメモリ2に転送される。
DMA転送によりメモリ2を初期化する場合は、64ビット単位の任意の初期化データを設定できないというデメリットもあるが、初期化データレジスタ12のビット幅を半分にすることができる。もっとも、メモリ2を初期化する場合に利用される初期化データは単一の値(例えば0や255など)であることが多く、デメリットよりもメリットの方が大きい。
なお、DMAコントローラ3はメモリ初期化機能の他、メモリ間のデータコピー機能を備える。この為、DMAコントローラ3はデータバッファ13を備えている。DMAコントローラ3は、メモリ間のデータコピーを行なう場合にデータバッファ13を使用し、メモリ2の初期化を行なう場合に初期化データレジスタ12を使用する。メモリ初期化機能とメモリ間のデータコピー機能との切り替えは、初期化モードレジスタ102に設定された値に基づいて行なう。
アドレスレジスタ15は、メモリ2の初期化およびメモリ間のデータコピーを行なう際の先頭アドレスが設定される。転送数カウンタ16は、現在のデータ転送数を記憶するものである。DMAコントローラ3は、転送数カウンタ16のデータ転送数が転送量レジスタ103に設定された転送量に達したときに、例えば初期化データの転送を停止する。
また、本発明によるマイクロプロセッサシステムでは、バースト転送機能を有する高速データ転送バスにおいてもバースト転送制御回路105により初期化データレジスタ12の容量を増加させることなく、メモリ2の初期化を高速に行なうことができる。例えば8回連続でデータを出力可能な高速データ転送バスでは、バースト転送制御回路105からの制御信号に応じて、8回連続で同一の初期化データレジスタ12に設定されている初期データを出力可能である。
バースト転送によりメモリ2を初期化する場合は、64バイト(64ビット×8回)単位の任意の初期化データを設定できないというデメリットもあるが、初期化データレジスタ12の容量を8分の1にすることができる。もっとも、メモリ2を初期化する場合に利用される初期化データは単一の値(例えば0や255など)であることが多く、デメリットよりもメリットの方が大きい。
次に、本発明によるマイクロプロセッサシステムの動作をフローチャートを参照しつつ説明していく。図3は、本発明によるマイクロプロセッサシステムの動作を表した一例のフローチャートである。
メモリ2の初期化を行なう場合、マイクロプロセッサ1はステップS10に進み、DMAコントローラ3を起動する為のDMAコントローラ起動処理を行う。ステップS10のDMAコントローラ起動処理は、例えば図4に示すような手順で行なう。
図4は、DMAコントローラ起動処理の一例のフローチャートである。ステップS11に進み、マイクロプロセッサ1はDMAコントローラ3の初期化モードレジスタ102にメモリ初期化機能を表す「1」を設定する。即ち、DMAコントローラ3はメモリ2の初期化を行なう状態となる。
ステップS12に進み、マイクロプロセッサ1はバーストモードレジスタ104に値を設定する。ここでは、バースト転送を行なう場合に「1」が設定され、バースト転送を行わない場合に「0」が設定される。ステップS13に進み、マイクロプロセッサ1は初期化データレジスタ12に初期化データを設定する。
ステップS14に進み、マイクロプロセッサ1はアドレスレジスタ15にメモリ2の初期化を行なう際の先頭アドレスを設定する。ステップS15に進み、マイクロプロセッサ1は転送量レジスタ103に初期化データの転送量を設定する。ここで初期化データの転送量は、初期化を行なうサイズ(容量)を指定するものである。
ステップS16に進み、マイクロプロセッサ1は転送数カウンタ16に「0」を設定する。即ち、マイクロプロセッサ1は転送数カウンタ16をリセットする。ステップS17に進み、マイクロプロセッサ1は起動レジスタ101に「1」を設定する。ステップS11〜S17の処理により、マイクロプロセッサ1によるDMAコントローラ起動処理が終了する。
図3に戻り、DMAコントローラ3は起動レジスタ101に「1」が設定されたことにより起動され、ステップS20のメモリ初期化処理を行なう。ステップS20のメモリ初期化処理は、例えば図5に示すような手順で行う。
図5は、メモリ初期化処理の一例のフローチャートである。ステップS21に進み、DMAコントローラ3は初期化データレジスタ12に設定されている初期化データをアドレスレジスタ15に設定されているメモリ2のアドレスに転送する。
ステップS22に進み、DMAコントローラ3はアドレスレジスタ15及び転送数カウンタ16に、ステップS21で転送したデータ量を加算する。ステップS23に進み、DMAコントローラ3は転送数カウンタ16が転送量レジスタ103の値に一致するか否かを判定する。
一致しない場合(S23においてNO)、DMAコントローラ3はステップS21の処理に戻る。一致する場合(S23においてYES)、DMAコントローラ3は起動レジスタ101に「0」を設定したあと、メモリ初期化処理を終了する。
以上のように、本発明によるマイクロプロセッサシステムでは、ビット幅拡張回路11を備えたことにより、初期化データレジスタ12のビット幅を拡張することなく、初期化データのビット幅を拡張できる。したがって、初期化データレジスタ12のビット幅を拡張することなく、より大きいビット幅のデータバス5を介してメモリ2の初期化が可能となる。
また、本発明によるマイクロプロセッサシステムでは、バースト転送制御回路105を備えたことにより、バースト転送の各ビートで初期化データレジスタ12に設定された初期化データを使用することができ、初期化データレジスタ12の容量を大きくする必要がない。したがって、本発明では初期化データレジスタ12のハードウェア量の増加を軽減しつつ、バースト転送によるメモリ2の初期化が可能となる。
なお、本発明はDMAコントローラ3への適用に限定されることなく、DMA転送又はバースト転送の機能を有する半導体装置(例えばチップセット等)にも適用できる。本発明は、DMAコントローラ3を有するマイクロプロセッサシステムの他、マザーボードや情報処理装置にも適用可能である。
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
初期化データが設定される第1のビット幅を有する初期化データ格納手段と、
前記初期化データ格納手段に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力するビット幅拡張手段とを備えており、
前記第2のビット幅の初期化データをメモリにDMA転送して前記メモリの初期化を行なうことを特徴とするDMAコントローラ。
(付記2)
前記ビット幅拡張手段は、前記初期化データ格納手段に設定された第1のビット幅の初期化データを前記バスのビット幅に拡張することを特徴とする付記1記載のDMAコントローラ。
(付記3)
前記ビット幅拡張手段は、前記初期化データ格納手段に設定された第1のビット幅の初期化データを分配して前記第2のビット幅に拡張することを特徴とする付記1又は2記載のDMAコントローラ。
(付記4)
初期化データが設定される第1の容量を有する初期化データ格納手段と、
前記初期化データ格納手段に設定された第1の容量の初期化データをバースト転送させるバースト転送制御手段とを備えており、
前記第1の容量の初期化データをメモリにバースト転送して前記メモリの初期化を行なうことを特徴とするDMAコントローラ。
(付記5)
前記初期化データ格納手段に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力するビット幅拡張手段を更に備えており、
前記第2のビット幅の初期化データをメモリにバースト転送して前記メモリの初期化を行なうことを特徴とする付記4記載のDMAコントローラ。
(付記6)
初期化データが設定される第1のビット幅を有する初期化データ格納手段と、
前記初期化データ格納手段に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力するビット幅拡張手段とを備えており、
前記第2のビット幅の初期化データをメモリにDMA転送して前記メモリの初期化を行なうことを特徴とするチップセット。
(付記7)
マイクロプロセッサ,メモリ,DMAコントローラ及びバスを有するマイクロプロセッサシステムであって、
前記DMAコントローラは、
初期化データが設定される第1のビット幅を有する初期化データ格納手段と、
前記初期化データ格納手段に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力するビット幅拡張手段とを備えており、
前記第2のビット幅の初期化データをメモリにDMA転送して前記メモリの初期化を行なうことを特徴とするマイクロプロセッサシステム。
(付記8)
マイクロプロセッサ,メモリ,DMAコントローラ及びバスを有するマイクロプロセッサシステムにより構成される情報処理装置であって、
前記DMAコントローラは、
初期化データが設定される第1のビット幅を有する初期化データ格納手段と、
前記初期化データ格納手段に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力するビット幅拡張手段とを備えており、
前記第2のビット幅の初期化データをメモリにDMA転送して前記メモリの初期化を行なうことを特徴とする情報処理装置。
(付記9)
第1のビット幅を有する初期化データ格納手段に初期化データが設定される段階と、
前記初期化データ格納手段に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力する段階とを備えており、
前記第2のビット幅の初期化データをメモリにDMA転送して前記メモリの初期化を行なうことを特徴とするメモリ初期化方法。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
本発明によるマイクロプロセッサシステムの一実施例の構成図である。 ビット幅拡張回路の一実施例の構成図である。 本発明によるマイクロプロセッサシステムの動作を表した一例のフローチャートである。 DMAコントローラ起動処理の一例のフローチャートである。 メモリ初期化処理の一例のフローチャートである。
符号の説明
1 マイクロプロセッサ
2 メモリ
3 DMAコントローラ
4 アドレスバス
5 データバス
11 ビット幅拡張回路
12 初期化データレジスタ
13 データバッファ
14 DMA制御回路
15 アドレスレジスタ
16 転送数カウンタ
101 起動レジスタ
102 初期化モードレジスタ
103 転送量レジスタ
104 バーストモードレジスタ
105 バースト転送制御回路

Claims (5)

  1. 初期化データが設定される第1のビット幅を有する初期化データ格納手段と、
    前記初期化データ格納手段に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力するビット幅拡張手段とを備えており、
    前記第2のビット幅の初期化データをメモリにDMA転送して前記メモリの初期化を行なうことを特徴とするDMAコントローラ。
  2. 前記ビット幅拡張手段は、前記初期化データ格納手段に設定された第1のビット幅の初期化データを前記第2のビット幅を有するバスのビット幅に拡張することを特徴とする請求項1記載のDMAコントローラ。
  3. 前記ビット幅拡張手段は、前記初期化データ格納手段に設定された第1のビット幅の初期化データを分配して前記第2のビット幅に拡張することを特徴とする請求項1又は2記載のDMAコントローラ。
  4. 初期化データが設定される第1の容量を有する初期化データ格納手段と、
    前記初期化データ格納手段に設定された第1の容量の初期化データをバースト転送させるバースト転送制御手段とを備えており、
    前記第1の容量の初期化データをメモリにバースト転送して前記メモリの初期化を行なうことを特徴とするDMAコントローラ。
  5. 前記初期化データ格納手段に設定された第1のビット幅の初期化データを第2のビット幅に拡張してバスに出力するビット幅拡張手段を更に備えており、
    前記第2のビット幅の初期化データをメモリにバースト転送して前記メモリの初期化を行なうことを特徴とする請求項4記載のDMAコントローラ。
JP2005031045A 2005-02-07 2005-02-07 Dmaコントローラ Pending JP2006215991A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005031045A JP2006215991A (ja) 2005-02-07 2005-02-07 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005031045A JP2006215991A (ja) 2005-02-07 2005-02-07 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JP2006215991A true JP2006215991A (ja) 2006-08-17

Family

ID=36979163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005031045A Pending JP2006215991A (ja) 2005-02-07 2005-02-07 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JP2006215991A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011253250A (ja) * 2010-05-31 2011-12-15 Toshiba Corp データ記憶装置及びメモリ調整方法
US9489295B2 (en) 2014-01-31 2016-11-08 Fujitsu Limited Information processing apparatus and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011253250A (ja) * 2010-05-31 2011-12-15 Toshiba Corp データ記憶装置及びメモリ調整方法
US8868823B2 (en) 2010-05-31 2014-10-21 Kabushiki Kaisha Toshiba Data storage apparatus and method of calibrating memory
US9489295B2 (en) 2014-01-31 2016-11-08 Fujitsu Limited Information processing apparatus and method

Similar Documents

Publication Publication Date Title
US11385832B2 (en) Memory controller and method performed by the memory controller
JP2006338538A (ja) ストリームプロセッサ
JP2008033721A (ja) Dma転送制御装置
JP2006215991A (ja) Dmaコントローラ
US20060010263A1 (en) Direct memory access (DMA) devices, data transfer systems including DMA devices and methods of performing data transfer operations using the same
US8688947B1 (en) Aligned data access
JP2007141255A (ja) プロセッサの介入あり又はなしでのハードウェアの初期化
JP3803196B2 (ja) 情報処理装置、情報処理方法および記録媒体
JP5675278B2 (ja) データ処理装置および画像処理装置
JP3526401B2 (ja) 画像処理装置
JP5360594B2 (ja) Dma転送装置及び方法
JP2009116386A (ja) 情報処理装置および方法、並びにプログラム
JP4790545B2 (ja) 画像処理装置、画像処理方法
JP4723334B2 (ja) Dma転送システム
JP2008210280A (ja) 半導体装置及びdmaコントローラ
JP2009153020A (ja) データ処理装置
JP2007208696A (ja) 暗号処理回路及び印刷装置
JP2006059303A (ja) コンピュータシステム
JP7310536B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2009031935A (ja) A/d変換装置、a/d変換装置のデータ転送方法及びa/d変換装置のデータ転送プログラム
US7779330B1 (en) Method and apparatus for computing checksum of packets
JP2006139416A (ja) データ転送装置およびデータ転送方法
JP2009028964A (ja) データ転送装置、データ転送方法及びデータ転送プログラム
JP2008083772A (ja) データ処理装置
US20090222597A1 (en) Data transfer device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100112