[go: up one dir, main page]

JP2000322375A - Dma制御付fifo、並びに、それを用いたdma転送システム及び方法 - Google Patents

Dma制御付fifo、並びに、それを用いたdma転送システム及び方法

Info

Publication number
JP2000322375A
JP2000322375A JP11134394A JP13439499A JP2000322375A JP 2000322375 A JP2000322375 A JP 2000322375A JP 11134394 A JP11134394 A JP 11134394A JP 13439499 A JP13439499 A JP 13439499A JP 2000322375 A JP2000322375 A JP 2000322375A
Authority
JP
Japan
Prior art keywords
fifo
data
transfer
dma
bit
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.)
Granted
Application number
JP11134394A
Other languages
English (en)
Other versions
JP3544146B2 (ja
Inventor
Ikuo Shimazaki
育男 嶋崎
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP13439499A priority Critical patent/JP3544146B2/ja
Publication of JP2000322375A publication Critical patent/JP2000322375A/ja
Application granted granted Critical
Publication of JP3544146B2 publication Critical patent/JP3544146B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 データバス幅が異なるバスのデータ転送速度
の違いを吸収して、高速で効率の良いデータ転送を行
う。 【解決手段】 一方が32bitデータバス105に、
他方が16bitデータバス109に接続されている2
つの32バイトのFIFOとDMA制御機能を含むFI
FO制御部を持つDMA制御付FIFO107は、DM
A要求(REQ−B)により、I/Oデバイス108か
ら一方のFIFOにDMA転送にてデータを受信する。
他方のFIFOは、1回のDMA転送バースト長分のデ
ータを受信した後、一方のFIFOに受信データをロー
ドする。一方のFIFOがデータを受け取った後、DM
A制御付FIFO107からのDMA要求(REQ−
A)により、DMAC104は、一方のFIFOからD
MA転送にてデータを受信する。一方のFIFOがDM
AC104にデータを送信しているのと同時に、I/O
デバイス108が他方のFIFOに次のデータを送信す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、DMA(Direct
Memory Access)によるデータ転送を行うシステムに関
し、特に同一バス上のDMAC(DMA Controller)
とデータバス幅が異なるデバイス間でDMA転送を行う
場合に、FIFOを使用した転送方式に関するものであ
る。
【0002】
【従来の技術】上記のようなFIFO及びDMA転送方
式においては、従来は、同一バス上のDMACとデータ
バス幅が異なるデバイス間でDMA転送を行う場合、2
つのバッファメモリを使用して、各バッファメモリに順
次データを書込み、その後、同時にそのバッファメモリ
からデータを読み出すことによって、データバス幅の変
換を行っていたが、この方式では、バス幅が広いデータ
バスのDMA転送に要する時間が長くなってしまい、高
速で効率の良いデータ転送を行うことが困難であった。
また、異なる2つのバス間でDMA転送を行う時にFI
FOを中継する方式があるが、このFIFOは、2つの
バス上にそれぞれDMACを必要とするため、本発明の
ような同一バス上のデバイス間におけるDMA転送の場
合には、使用することができない。
【0003】そして、特開平7−152683号公報に
は、バス幅が異なるデータバス間に、複数のバッファメ
モリと、複数のバッファメモリの書込みを制御する書込
み制御回路を備え、書込み制御回路によりバス幅が狭い
方のデータを複数のバッファメモリに順次書込み、複数
のバッファメモリに書込まれたデータが、バス幅の広い
データバスに同時に出力されることを特徴とするバッフ
ァメモリ回路が記載されている。
【0004】また、特開平10−293742号公報に
は、互いに異なる第1のバスと第2のバスにおいて、F
IFOのようなバス中継器を介して接続して、双方向に
DMA転送を行うことを特徴とするデータ転送方法及び
装置が記載されている。
【0005】
【発明が解決しようとする課題】本発明の第1の目的
は、上記従来技術において、DMA転送を行う場合、バ
ス幅が狭い方のデータを複数のバッファメモリに順次書
込んでいる間、バス幅が広いデータバスも、このDMA
転送のためにバスを占有しておく必要があり、高速で効
率の良いデータ転送が困難であることを鑑みて、DMA
制御機能を内蔵したビット幅の変換可能な双方向FIF
Oを使用することにより、各バスのデータ転送速度の違
いを吸収して、高速で効率の良いデータ転送を行うこと
である。
【0006】また、第2の目的は、従来技術において、
バス幅が狭い方のデータを複数のバッファメモリに順次
書込んでいる間、バス幅が広いデータバスにデータを送
信することができないことを鑑みて、前記DMA制御機
能を内蔵したビット幅の変換可能な双方向FIFOの内
部のFIFOブロックを複数で構成して、相互のデータ
交換を可能にすることにより、送受信同時動作を行っ
て、より高速で効率の良いデータ転送を行うことであ
る。
【0007】そして、第3の目的は、上記従来技術にお
いて、DMA転送を行う場合、DMACの設定が同じで
あっても転送を開始するアドレスによっては、転送の最
初と最後に半端なバイト数を転送する場合があるため、
アドレスの調整を行い、半端なバイト数の転送をなくす
必要があったことを鑑みて、DMA制御機能を内蔵した
ビット幅の変換可能な双方向FIFOを使用し、そのF
IFOの転送バイト数を、DMACの転送バースト長に
対応してプログラマブルに設定することにより、任意の
DMACの転送バースト長に対応することである。
【0008】さらに、第4の目的は、上記従来技術にお
いて、DMA転送を行う場合、任意のバス幅に適したバ
ッファメモリ回路を構成した時、他のバス幅でのデータ
転送が困難であることを鑑みて、FIFOのビット幅を
プログラマブルに設定可能にすることにより、接続する
バス幅を指定する必要がなく、回路変更を行うことなく
任意のデータバス間のデータ転送を行うことである。
【0009】
【課題を解決するための手段】請求項1の発明は、同一
バス上のビット幅の異なるデバイス間のDMAによるデ
ータ転送において、前記デバイス間をDMA制御機能を
内蔵したビット幅の変換可能な双方向FIFOにより中
継するDMA転送方式に関する。
【0010】請求項2の発明は、請求項1に記載のDM
A転送方式に用いるDMA制御機能を内蔵したビット幅
の変換可能な双方向FIFOであって、内部のFIFO
ブロックを複数となしたFIFOに関する。
【0011】請求項3の発明は、同一バス上のビット幅
の異なるデバイス間のDMAによるデータ転送におい
て、前記デバイス間を請求項2に記載の内部のFIFO
ブロックを複数となしたFIFOにより中継するDMA
転送方法である。
【0012】請求項4の発明は、同一バス上のビット幅
の異なるデバイス間のDMAによるデータ転送におい
て、前記デバイス間を請求項2に記載の内部のFIFO
ブロックを複数となしたFIFOにより中継するDMA
転送システムである。
【0013】請求項5の発明は、請求項1に記載のDM
A転送方式において、前記DMA制御機能を内蔵したビ
ット幅の変換可能な双方向FIFOの転送バイト数をプ
ログラマブルに設定可能にしたものである。
【0014】請求項6の発明は、請求項1に記載したD
MA転送方式において、前記DMA制御機能を内蔵した
ビット幅の変換可能な双方向FIFOのビット幅をプロ
グラマブルに設定可能にしたものである。
【0015】
【発明の実施の形態】この発明の実施例を図面に基づい
て説明する。図1は、本発明のDMA転送システムの一
実施例を示すブロック図である。この図において、10
1は、このシステムを制御する中央演算処理装置(CP
U)である。102は、CPU101と共に、このシス
テムを構築するシステムコントローラであり、通常、C
PUバスインターフェース,メモリデバイスインターフ
ェースを備えており、DMACを内蔵している場合もあ
る。103は、データを記憶しておくメモリであり、通
常、DRAMが使用される。
【0016】104は、DMA転送を制御するDMAC
である。DMA転送は、このDMAC104がCPU1
01を介さずに、メモリ103とI/Oデバイス108
間のデータ転送を行うことである。105は、32bi
t幅のデータバスであり、32bitのデータバス幅を
持つシステムコントローラ102,メモリ103,DM
AC104,DMA制御付FIFO107が接続されて
いる。106は、システムコントローラ102が生成す
る各種制御信号であり、アドレスバス,RD信号,WR
信号,CS信号等から構成されている。
【0017】107は、内部に2つの32バイトのFI
FOとDMA制御機能を含むFIFO制御部を持つDM
A制御付FIFOであり、片方のFIFOが32bit
データバス105に、もう片方のFIFOが16bit
データバス109に接続されている。108は、16b
itのデータバスと、DMAインターフェースを持つI
/Oデバイスである。109は、16bit幅のデータ
バスであり、16bitのデータバス幅を持つI/Oデ
バイス108とDMA制御付FIFO107を接続して
いる。
【0018】110は、DMAC104が、DMA制御
付FIFO107との間でDMA転送を行う時に出力す
る信号(ACK−A)であり、この信号に同期してデー
タの送受信を行う。111は、DMA制御付FIFO1
07がDMAC104に対してデータの送受信を要求す
る信号(REQ−A)である。112は、DMA制御付
FIFO107がI/Oデバイス108との間でDMA
転送を行う時に出力する信号(ACK−B)であり、こ
の信号に同期してデータの送受信を行う。113は、I
/Oデバイス108がDMA制御付FIFO107に対
してデータの送受信を要求する信号(REQ−B)であ
る。
【0019】以上のシステム構成において、DMAC1
04とI/Oデバイス108間でDMAによるデータ転
送を行う場合を想定し、以下にDMA制御付FIFO1
07を用いたDMA転送方式を詳細に説明する。
【0020】図2は、図1におけるDMA制御付FIF
O107の構成を示すブロック図である。201は、F
IFO−A203,FIFO−B204から構成される
FIFO部であり、FIFO−A203,FIFO−B
204は、互いにデータのロードが可能である。FIF
O−A203の入力は、32bitデータバス105に
接続され、FIFO−A203の出力は、3ステートバ
ッファ210を介して32bitデータバス105に接
続されている。
【0021】また、FIFO−B204の入力は、16
bitデータバス109に接続され、FIFO−B20
4の出力は、3ステートバッファ211を介して16b
itデータバス109に接続されている。202は、F
IFOコントロールレジスタ205,転送バイト数レジ
スタ206,転送バイトカウンタA207、及び転送バ
イトカウンタB208から構成されるFIFO制御部で
ある(詳細は図6を参照)。209は、32bitデー
タバス105と16bitデータバス109を中継して
いるバイパススイッチであり、FIFOコントロールレ
ジスタ205にて制御されるBypsOe信号によっ
て、32bitデータバスと16bitデータバスを直
結することができる。
【0022】また、3ステートバッファ210,211
のイネーブルラインに、FIFOコントロールレジスタ
205にて制御されるBypsOe信号とDir信号を
入力することにより、データの転送方向の制御を行う。
【0023】図3は、図2におけるFIFO部201の
内部構成を示すブロック図である。FIFO−A20
3,FIFO−B204は、32個のラッチからなるメ
モリセルを8段接続した32バイトのFIFOである。
各メモリセルは、セレクタ制御信号によって、データバ
ス幅を8bit,16bit,32bitに変更するこ
とができ、またメモリセルの入力を、前段のメモリセル
の出力か、受信FIFOからのデータのロードかを切り
換えることができる(詳細は図4,図5を参照)。
【0024】また、各FIFOは、データ転送方向によ
ってラッチタイミングが異なっており、データ転送方向
がA→Bの時(Dir=1)は、FIFO−A203
は、信号ACK−Aの立ち上がりエッジ、FIFO−B
204は、信号ACK−Bの立ち下がりエッジ、データ
転送方向がB→Aの時(Dir=0)は、FIFO−A
203は、信号ACK−Aの立ち下がりエッジ、FIF
O−B204は、信号ACK−Bの立ち上がりエッジに
よってデータをラッチする。
【0025】図4は、図3における各メモリセルの内部
構造を示すブロック図である。401は、32個のラッ
チで構成されたラッチ部であり、ACK−A,/ACK
−A(ACK−Aの反転),ACK−B,/ACK−B
(ACK−Bの反転)の各信号の立ち上がりエッジにて
入力データをラッチする。402は、ラッチ401に入
力するデータを選択する入力セレクタ部であり、セレク
タ制御信号によって〜のどのデータをラッチに入力
するかを切り換える。403は、ラッチ401から出力
するデータの出力先を選択する出力セレクタ部であり、
セレクタ制御信号によって〜のどの出力先にデータ
を出力するかを切り換える。
【0026】図5は、セレクタ制御信号の設定による図
4のメモリセル内部のラッチ構成パターンを示す図であ
る。FIFO−A203からFIFO−B204、また
はFIFO−B204からFIFO−A203へデータ
をロードする場合(条件c501)は、入力セレクタ部
402及び出力セレクタ部403は、が選択され、ラ
ッチ部401の入力には、一方のFIFOからのデータ
がセットされる。
【0027】また、FIFOが、32bitデータバス
に接続された時に、前段のメモリセルのデータをラッチ
する場合(条件c502)は、入力セレクタ部402及
び出力セレクタ部403は、が選択され、ラッチ部4
01の入力には、前段のメモリセルのデータ(bit
(31:0))がセットされる。そして、FIFOが1
6bitデータバスに接続された時に、前段のメモリセ
ルのデータをラッチする場合(条件c503)は、入力
セレクタ部402及び出力セレクタ部403は、が選
択され、ラッチ部401の(bit(31:24),b
it(23:16))の入力には、前段のメモリセルの
データ(bit(15:0))がセットされ、ラッチ部
401の(bit(15:8),bit(7:0))の
入力には、ラッチ部401の(bit(31:24),
bit(23:16))の出力がセットされる。
【0028】さらに、FIFOが、8bitデータバス
に接続された時に、前段のメモリセルのデータをラッチ
する場合(条件c504)は、入力セレクタ部402及
び出力セレクタ部403は、が選択され、ラッチ部4
01の(bit(31:24))の入力には、前段のメ
モリセルのデータ(bit(7:0))がセットされ、
ラッチ部401の(bit(23:16))の入力に
は、ラッチ部401の(bit(31:24))の出力
がセットされ、ラッチ部401の(bit(15:
8))の入力には、ラッチ部401の(bit(23:
16))の出力がセットされ、ラッチ部401の(bi
t(7:0))の入力には、ラッチ部401の(bit
(15:8))の出力がセットされる。
【0029】図6は、図2のFIFO制御部の各ブロッ
クの動作内容を説明する図である。FIFOコントロー
ルレジスタ205は、このFIFOの動作モードを決定
するレジスタである。転送バイト数レジスタ206は、
1回のDMA転送で行うバースト長を設定するレジスタ
であり、設定された値をもとに、後述する転送バイトカ
ウンタA207,転送バイトカウンタB208を制御し
て、バースト長の変更をプログラマブルに行う。転送バ
イトカウンタA207は、DMAC104が出力する信
号ACK−Aをカウントするカウンタであり、転送バイ
トカウンタB208は、このFIFOが出力する信号A
CK−Bをカウントするカウンタである。それぞれのカ
ウンタ値を基にFIFO−A,FIFO−Bの状況を判
断し、セレクタ制御信号,信号REQ−A、及び信号A
CK−Bの出力タイミングを制御する。
【0030】また、転送バイトカウンタA207,転送
バイトカウンタB208の初期値はデータの転送方向に
よって異なり、FIFOが、データを受信する場合は、
受信回数がセットされる。FIFOがデータを送信する
場合は、初期値は0であり、FIFOが、一方のFIF
Oから送信データをロードした時に、送信回数がセット
される。受信回数,送信回数は、転送バイト数レジスタ
206の値をもとに設定する。
【0031】図7は、図1の32bitバス上のDMA
C104から16bitバス上のI/Oデバイス108
へのDMA転送におけるフローチャートである。まず、
I/Oデバイス108からDMA制御付FIFO107
にDMA要求(信号REQ−Bを出力)を行う(ステッ
プS701)。DMA制御付FIFO107は、信号R
EQ−Bを受信した後、DMAC104にDMA要求
(信号REQ−Aを出力)を行う(ステップS70
2)。
【0032】信号REQ−Aを受信したDMAC104
は、FIFO−A203にDMA転送にてデータを送信
する(ステップS703)。FIFO−A203は、1
回のDMA転送バースト長分のデータを受信した後、F
IFO−B204に受信データをロードする(ステップ
S704)。FIFO−B204は、データを受け取っ
た後、I/Oデバイス108にDMA転送にてデータを
送信する(ステップS705)。FIFO−B204
が、I/Oデバイス108にデータを送信しているのと
同時に、DMAC104が、FIFO−A203に次の
データを送信する(ステップS701〜703)。
【0033】図8は、図1のDMAC104からI/O
デバイス108へのDMA転送における32bitデー
タバスから16bitデータバスへのDMA転送タイミ
ング図である。まず、初期設定として、転送バイト数レ
ジスタ206を、DMAC104のバースト長の設定に
合わせて設定する(この実施例では32バイトに設定す
る)。
【0034】また、FIFOコントロールレジスタ20
5を、FIFOモード切換ビット=0(コンフィグレー
ションモード)、Dir=1(A→B)、BypsOe
=0(バイパスしない)、FIFO−Aビット幅変換=
2(32bit幅)、FIFO−Bビット幅変換=1
(16bit幅)に設定した後、FIFOモード切換ビ
ットのみ1(動作モード)に設定する。この初期設定に
て、このDMA制御付FIFO107は、Ready状
態となり、転送バイトカウンタA207、転送バイトカ
ウンタB208のカウント値が、それぞれ8,0にセッ
トされ、I/Oデバイス108から信号REQ−Bのア
サートを待つ。
【0035】タイミングt801で、信号REQ−Bが
アサートされ、その時の転送バイトカウンタA207の
値が8(FIFO−Aが空の状態)であるので、該FI
FOは、DMAC104に対して信号REQ−Aをアサ
ートする(タイミングt802)。信号REQ−Aを受
けたDMAC104は、信号ACK−Aに同期して、3
2bitデータバスにデータを出力する。FIFO−A
203は、信号ACK−Aの立ち上がりエッジで、デー
タをラッチし、転送バイトカウンタA207は、−1デ
ィクリメントされ7になる(タイミングt803)。
【0036】DMAC104は、バースト長が32バイ
トあるので、信号ACK−Aを合計8回出力する。FI
FO−A203は、信号ACK−Aを8回受信するとデ
ータフルの状態になり、転送バイトカウンタA207は
0になる(タイミングt804)。転送バイトカウンタ
A207の値が0になると、その時の転送バイトカウン
タB208の値を確認し、1か0であれば、FIFO−
B204が空であるということなので、FIFO−B2
04の各ラッチの入力は、FIFO−A側に切り換えら
れ、転送バイトカウンタB208の値を16に設定する
(タイミングt805)。転送バイトカウンタB208
の値が16に設定されたら、信号ACK−Bの立ち下が
りエッジで、FIFO−B204は、FIFO−A20
3のデータをラッチし、16bitデータバスにデータ
を出力する(タイミングt806)。
【0037】次の信号ACK−Bの立ち上がりエッジ
で、転送バイトカウンタA207の値を8にリセット
し、FIFO−B204の各ラッチの入力をFIFO−
B204の前段側に切り換える(タイミングt80
7)。転送バイトカウンタA207の値が8(FIFO
−Aが空の状態)にリセットされたので、該FIFO
は、その時の信号REQ−Bの状態を確認して、もし、
まだアサートされていれば、DMAC104に対して信
号REQ−Aをアサートする(タイミングt808)。
再度、信号REQ−Aを受けたDMAC104は、信号
ACK−Aに同期して次のデータを出力する(タイミン
グt809)。
【0038】FIFO−A203は、信号ACK−Aを
8回受信して転送バイトカウンタA207の値が0(デ
ータフルの状態)となるが、この時、転送バイトカウン
タB208の値が0ではない(まだFIFO−Bにデー
タが残っている)ため、FIFO−B204の各ラッチ
の入力はFIFO−A側に切り換えられない(タイミン
グt810)。転送バイトカウンタB208の値が1に
なった時、FIFO−B204の各ラッチの入力は、F
IFO−A側に切り換えられ、転送バイトカウンタB2
08の値を16に設定する(タイミングt811)。転
送バイトカウンタB208の値が16に設定されたら、
信号ACK−Bの立ち下がりエッジで、FIFO−B2
04は、FIFO−A203のデータをラッチし、16
bitデータバスにデータを出力する(タイミングt8
12)。
【0039】次の信号ACK−Bの立ち上がりエッジ
で、転送バイトカウンタA207の値を8にリセット
し、FIFO−B204の各ラッチの入力をFIFO−
B204の前段側に切り換える(タイミングt81
3)。もし、タイミングt811で、転送バイトカウン
タA207が0でない(FIFO−A203がフルでは
ない)場合、転送バイトカウンタB208の値は0(F
IFO−B204が空の状態)になり、転送バイトカウ
ンタA207が0になるのを待つことになる。タイミン
グt814からは、以上の繰り返しである。
【0040】図9は、図1の16bitバス上のI/O
デバイス108から32bitバス上のDMAC104
へのDMA転送におけるフローチャートである。まず、
I/Oデバイス108から、DMA制御付FIFO10
7にDMA要求(信号REQ−Bを出力)を行う(ステ
ップS901)。信号REQ−Bを受信したDMA制御
付FIFO107は、I/Oデバイス108からFIF
O−B204にDMA転送にてデータを受信する(ステ
ップS902)。FIFO−B204は、1回のDMA
転送バースト長分のデータを受信した後、FIFO−A
203に受信データをロードする(ステップS90
3)。FIFO−A203がデータを受け取った後、D
MA制御付FIFO107からDMAC104にDMA
要求(信号REQ−Aを出力)を行う(ステップS90
4)。信号REQ−Aを受信したDMAC104は、F
IFO−A203からDMA転送にてデータを受信する
(ステップS905)。FIFO−A203がDMAC
104にデータを送信しているのと同時に、I/Oデバ
イス108は、FIFO−B204に、次のデータを送
信する(ステップS901〜902)。
【0041】図10は、図1のI/Oデバイス108か
らDMAC104へのDMA転送における16bitデ
ータバスから32bitデータバスへのDMA転送タイ
ミング図である。まず、初期設定として、転送バイト数
レジスタ206をDMACのバースト長の設定に合わせ
て設定する(この実施例では32バイトに設定)。ま
た、FIFOコントロールレジスタ205を、FIFO
モード切換ビット=0(コンフィグレーションモー
ド),Dir=0(B→A),BypsOe=0(バイ
パスしない),FIFO−Aビット幅変換=2(32b
it幅),FIFO−Bビット幅変換=1(16bit
幅)に設定した後、FIFOモード切換ビットのみ1
(動作モード)に設定する。
【0042】この初期設定にて、このDMA制御付FI
FO107は、Ready状態となり、転送バイトカウ
ンタA207,転送バイトカウンタB208の初期値
が、それぞれ0,16にセットされ、I/Oデバイス1
08から信号REQ−Bのアサートを待つ。タイミング
t1001で、信号REQ−Bがアサートされ、その時
の転送バイトカウンタB208の値が16(FIFO−
Bが空の状態)であるので、該FIFOは、I/Oデバ
イス108に対して信号ACK−Bを出力し、信号AC
K−Bを受けたI/Oデバイス108は、信号ACK−
Bに同期して、16bitデータバスにデータを出力す
る。
【0043】FIFO−B204は、信号ACK−Bの
立ち上がりエッジでデータをラッチし、転送バイトカウ
ンタB208は、−1ディクリメントされ15になる
(タイミングt1002)。DMAC104のバースト
長が32バイトであるので、該FIFOは、FIFO−
B204がフルになるまで、信号ACK−Bを16回出
力し、データを受信する。信号ACK−Bを16回出力
すると、転送バイトカウンタB208は0になる(タイ
ミングt1003)。転送バイトカウンタB208が0
になると、その時の転送バイトカウンタA207の値を
確認し、0であればFIFO−A203が空であるとい
うことなので、FIFO−A203の各ラッチの入力
は、FIFO−B側に切り換えられ、転送バイトカウン
タA207を8に設定する(タイミングt1004)。
転送バイトカウンタA207の値が8に設定されたら、
該FIFOは、DMAC104に対して信号REQ−A
をアサートする(タイミングt1005)。
【0044】信号REQ−Aを受けたDMAC104
は、信号ACK−Aを出力するので、信号ACK−Aの
立ち下がりエッジで、FIFO−A203は、FIFO
−B204のデータをラッチし、32bitデータバス
にデータを出力する(タイミングt1006)。次の信
号ACK−Aの立ち上がりエッジで、転送バイトカウン
タB208を16にリセットし、FIFO−A203の
各ラッチの入力をFIFO−Aの前段側に切り換える
(タイミングt1007)。転送バイトカウンタB20
8が16(FIFO−B204が空の状態)にリセット
されたので、該FIFOは、その時の信号REQ−Bの
状態を確認して、もし、まだアサートされていれば、I
/Oデバイス108に対して信号ACK−Bを出力し
て、次のデータを受信する(タイミングt1008)。
【0045】FIFO−A203は、信号ACK−Aを
8回出力して、転送バイトカウンタA207が0(デー
タ空の状態)となるが、この時、転送バイトカウンタB
208が0ではない(まだFIFO−B204がデータ
受信中)ため、すぐにはFIFO−A203の各ラッチ
の入力をFIFO−B側に切り換えず、転送バイトカウ
ンタB208が0になるのを待つことになる(タイミン
グt1009)。以降は、タイミングt1003からの
繰り返しである。
【0046】
【発明の効果】本発明によれば、ビット幅の異なるデバ
イス間において、このFIFOを中継してDMA転送す
ることにより、それぞれのデバイスの持つビット幅でデ
ータ転送を行うため、狭い方のビット幅に合わせたデー
タ転送をする必要がなくなり、高速で効率の良いデータ
転送が可能となる。
【0047】そして、内部のFIFOブロックを複数で
構成することにより、片方のFIFOがデータを送信し
ている時に、もう片方のFIFOがデータを受信するこ
とが可能となるため、より高速な効率の良いデータ転送
が可能となる。
【0048】さらに、FIFOの転送バイト数をプログ
ラマブルに設定可能にすることにより、DMACの任意
の転送バースト長の設定に対してDMA転送が可能とな
る。
【0049】また、FIFOのビット幅をプログラマブ
ルに設定可能にすることにより、接続するデバイスのビ
ット幅を指定する必要がなく、回路変更を行うことなく
任意のデバイス間のDMA転送が可能となる。
【図面の簡単な説明】
【図1】本発明のDMA転送システムの一実施例を示し
たブロック図である。
【図2】図1におけるDMA制御付FIFOのブロック
図である。
【図3】図2におけるDMA制御付FIFOに内蔵され
ているFIFO部のブロック図である。
【図4】図3におけるFIFO部を構成するメモリセル
部の内部構造を示すブロック図である。
【図5】図4におけるFIFO部を構成するメモリセル
内部のラッチ構成パターンを示す図である。
【図6】図2におけるDMA制御付FIFOに内蔵され
ているFIFO制御部を構成する各ブロックの動作内容
を示す図である。
【図7】本発明における32bitデータバスから16
bitデータバスへのDMA転送処理のフローチャート
図である。
【図8】本発明における32bitデータバスから16
bitデータバスへのDMA転送を行う場合のタイミン
グ図である。
【図9】本発明における16bitデータバスから32
bitデータバスへのDMA転送処理のフローチャート
図である。
【図10】本発明における16bitデータバスから3
2bitデータバスへのDMA転送を行う場合のタイミ
ング図である。
【符号の説明】
101…中央演算処理装置(CPU)、102…システ
ムコントローラ、103…メモリ、104…DMAC、
105…32bit幅データバス、106…各種制御信
号、107…DMA制御付FIFO、108…I/Oデ
バイス、109…16bit幅データバス、201…F
IFO、202…FIFO制御部、203…FIFO−
A、204…FIFO−B、205…FIFOコントロ
ールレジスタ、206…転送バイト数レジスタ、207
…転送バイトカウンタA、208…転送バイトカウンタ
B、209…バイパススイッチ、210,211…3ス
テートバッファ、401…ラッチ部、402…入力セレ
クタ部、403…出力セレクタ部。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 同一バス上のビット幅の異なるデバイス
    間のDMAによるデータ転送において、前記デバイス間
    をDMA制御機能を内蔵したビット幅の変換可能な双方
    向FIFOにより中継することを特徴とするDMA転送
    方式。
  2. 【請求項2】 請求項1に記載のDMA転送方式に用い
    るDMA制御機能を内蔵したビット幅の変換可能な双方
    向FIFOであって、内部のFIFOブロックを複数と
    なしたことを特徴とするFIFO。
  3. 【請求項3】 同一バス上のビット幅の異なるデバイス
    間のDMAによるデータ転送において、前記デバイス間
    を請求項2に記載のFIFOにより中継することを特徴
    とするDMA転送方法。
  4. 【請求項4】 同一バス上のビット幅の異なるデバイス
    間のDMAによるデータ転送において、前記デバイス間
    を請求項2に記載のFIFOにより中継することを特徴
    とするDMA転送システム。
  5. 【請求項5】 請求項1に記載のDMA転送方式におい
    て、前記DMA制御機能を内蔵したビット幅の変換可能
    な双方向FIFOの転送バイト数をプログラマブルに設
    定可能にしたことを特徴とするDMA転送システム。
  6. 【請求項6】 請求項1に記載したDMA転送方式にお
    いて、前記DMA制御機能を内蔵したビット幅の変換可
    能な双方向FIFOのビット幅をプログラマブルに設定
    可能にしたことを特徴とするDMA転送システム。
JP13439499A 1999-05-14 1999-05-14 Dma制御付fifo、並びに、それを用いたdma転送システム Expired - Fee Related JP3544146B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13439499A JP3544146B2 (ja) 1999-05-14 1999-05-14 Dma制御付fifo、並びに、それを用いたdma転送システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13439499A JP3544146B2 (ja) 1999-05-14 1999-05-14 Dma制御付fifo、並びに、それを用いたdma転送システム

Publications (2)

Publication Number Publication Date
JP2000322375A true JP2000322375A (ja) 2000-11-24
JP3544146B2 JP3544146B2 (ja) 2004-07-21

Family

ID=15127384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13439499A Expired - Fee Related JP3544146B2 (ja) 1999-05-14 1999-05-14 Dma制御付fifo、並びに、それを用いたdma転送システム

Country Status (1)

Country Link
JP (1) JP3544146B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167937B2 (en) 2002-03-01 2007-01-23 Nec Electronics Corporation Bus system
US7185122B2 (en) 2003-01-27 2007-02-27 Yamaha Corporation Device and method for controlling data transfer
JP2008192150A (ja) * 2007-02-01 2008-08-21 Internatl Business Mach Corp <Ibm> 直接メモリ・アクセスを使用してプログラマブル論理装置を初期化するための方法、集積回路、システム及びコンピュータ・プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167937B2 (en) 2002-03-01 2007-01-23 Nec Electronics Corporation Bus system
US7185122B2 (en) 2003-01-27 2007-02-27 Yamaha Corporation Device and method for controlling data transfer
JP2008192150A (ja) * 2007-02-01 2008-08-21 Internatl Business Mach Corp <Ibm> 直接メモリ・アクセスを使用してプログラマブル論理装置を初期化するための方法、集積回路、システム及びコンピュータ・プログラム
US8495545B2 (en) 2007-02-01 2013-07-23 International Business Machines Corporation Using direct memory access to initialize a programmable logic device
US8589834B2 (en) 2007-02-01 2013-11-19 International Business Machines Corporation Using direct memory access to initialize a programmable logic device

Also Published As

Publication number Publication date
JP3544146B2 (ja) 2004-07-21

Similar Documents

Publication Publication Date Title
US6925512B2 (en) Communication between two embedded processors
JPH02227766A (ja) デジタル・コンピユータのデータ転送装置
US12306787B2 (en) Communication device, communication system, and communication method
US20030167368A1 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
JP2962787B2 (ja) 通信制御方式
JPH10143466A (ja) バス通信システム
JP2000322375A (ja) Dma制御付fifo、並びに、それを用いたdma転送システム及び方法
JPH0337221B2 (ja)
US7484028B2 (en) Burst-capable bus bridges for coupling devices to interface buses
US7334061B2 (en) Burst-capable interface buses for device-to-device communications
JP3269530B2 (ja) シリアル通信システムおよびシリアル通信方法
JP2009098778A (ja) ハブ装置
US8427955B2 (en) Method and apparatus for transferring data
JPH027212B2 (ja)
JP2538901B2 (ja) バス結合装置
CN119292672A (zh) 一种移位寄存器控制方法、控制电路和电子设备
JPH01147648A (ja) データ記憶装置
JP3458383B2 (ja) バス間接続方式
JPS583048A (ja) 共通メモリの制御方式
JPH0635841A (ja) バス制御装置
JPH02211571A (ja) 情報処理装置
JPS58169612A (ja) バス制御方式
JPH04153976A (ja) 多機能ファーストイン・ファースト・アウトメモリ装置
JPS6149271A (ja) 半導体装置
JPS61267161A (ja) 多重系デ−タの転送装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040331

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080416

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees