JP2005078483A - Fifoメモリ制御装置およびfifoメモリ装置の制御方法 - Google Patents

Fifoメモリ制御装置およびfifoメモリ装置の制御方法 Download PDF

Info

Publication number
JP2005078483A
JP2005078483A JP2003309903A JP2003309903A JP2005078483A JP 2005078483 A JP2005078483 A JP 2005078483A JP 2003309903 A JP2003309903 A JP 2003309903A JP 2003309903 A JP2003309903 A JP 2003309903A JP 2005078483 A JP2005078483 A JP 2005078483A
Authority
JP
Japan
Prior art keywords
access
fifo memory
fifo
memory
remainder
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
JP2003309903A
Other languages
English (en)
Inventor
Naotaka Imakurusu
尚孝 今久留主
Nariyuki Ochiai
成幸 落合
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003309903A priority Critical patent/JP2005078483A/ja
Publication of JP2005078483A publication Critical patent/JP2005078483A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】FIFOメモリの任意サイズのデータアクセスにおいて、1バイト単位のアクセスを不要にし、ソフトウェア処理負荷を軽減する。
【解決手段】FIFOメモリ104に対するアクセスバス幅を指定するソフトウェア設定可能なサイズ指定手段106と、アクセスバス幅に応じてFIFOメモリへのアクセスデータ幅を制御する外部インターフェイス手段107とを備える。
【選択図】 図1

Description

本発明はFIFO構造のメモリ制御技術に係り、特に、FIFO構造のメモリ(FIFOメモリ)を内部に持つ周辺機能に対してバイトサイズを指定できない場合においても、CPUから連続してFIFOメモリをアクセスするFIFOメモリ制御装置およびFIFOメモリ装置の制御方法に関する。
USBデバイスのように内部のデータ領域にFIFO構造のメモリを有する周辺機能において、このFIFOメモリに対してCPUから連続してアクセスする従来の方法を以下に説明する(例えば、特許文献1参照)。
図3は従来のFIFOメモリ制御方法を示す装置構成のブロック図である。図3において、301はCPU、302はCPU301が外部のメモリや周辺機能ブロックにアクセスするための外部バスインターフェイス、303は周辺機能ブロック、307はCPU301が使用する外部メモリである。なお、外部バスインターフェイス302は一般的なものであり、周辺機能ブロック303と外部メモリ307へのアクセスは個別に制御される。
周辺機能ブロック303はUSBデバイス機能ブロックを実現しており、その内部において、305はUSBデータを通信する周辺機能コア、304は周辺機能コア305の機能を制御するレジスタや外部との通信データを格納するFIFOメモリを有するメモリ群、306はCPU301からメモリ群304へのアクセスを制御する外部インターフェイスである。
まず、周辺機能ブロック303が受信したUSBデータをCPU301が読み出す場合について説明する。CPU301は、周辺機能ブロック303と外部メモリ307にアクセスするために、外部バスインターフェイス302の設定を行う。またCPU301は、プログラム制御により、メモリ群304のレジスタに動作開始指示を与えて周辺機能ブロック303を動作させる。
周辺機能ブロック303は、外部からのデータを任意のタイミングで任意のデータ数受信し、これをメモリ群304のFIFO領域に格納し、さらにレジスタ領域に受信数を格納する。図4はメモリ群304のFIFO領域に格納された受信データ例を示すメモリマップである。
周辺機能ブロック303の受信処理が完了すると、CPU301は割込み信号などによりこの受信動作の完了を認識し、この受信データをメモリ群304のFIFO領域より読み出し、外部メモリ307に格納する。
このとき、4バイト境界で4の倍数や2バイト境界で2の倍数のサイズのデータは、CPU301から外部バスインターフェイス302を介して32ビットまたは16ビット幅で連続して読み出しを行うことができるが、サイズが4の倍数+1あるいは4の倍数+3や2の倍数+1のデータを読み出す場合は、処理時間をかけて最小の1バイト単位で読み出しを行っている。
もしくは、メモリ群304のFIFO構造のメモリ領域に対してアドレス信号の上位2本を使用して、図5のメモリマップのようにアクセスビット幅毎に仮想アドレスマップを設けて読み出しを行っている。また、CPU301からUSBデータを送信する場合も、上記受信時の処理と同様の処理を行っている。
特開平9−190390号公報
しかしながら、上記従来例のように1バイト単位で処理時間をかけてアクセスする方法や、アドレス信号の上位2本を使用して仮想アドレスマップでアクセスビット幅を作成してアクセスする方法では、ソフトウェア処理の負荷が大きく効率が悪いという欠点を有していた。
本発明は上記従来の問題点を解決するもので、周辺機能ブロックのFIFO構造のメモリにおける任意サイズのデータアクセスにおいて、1バイト単位のアクセスを不要にし、ソフトウェア処理負荷を軽減することができるFIFOメモリ制御装置およびFIFOメモリ装置の制御方法を提供することを目的とする。
この目的を達成するために、本発明のFIFOメモリ制御装置は、FIFO構造を有するメモリ(FIFOメモリ)の制御装置であって、前記FIFOメモリに対するアクセスバス幅を指定するソフトウェア設定可能なサイズ指定手段と、前記アクセスバス幅に応じて前記FIFOメモリへのアクセスデータ幅を制御する外部インターフェイス手段とを備える。
上記構成によれば、サイズ指定手段によりFIFOメモリに対するアクセスバス幅をソフトウェアで設定すると、これに応じて外部インターフェイスがFIFOメモリへのアクセスデータ幅を制御するため、ソフトウェア制御によりサイズ指定手段の設定を適宜変更することにより、任意サイズのデータを連続アクセスすることが可能となる。
さらに、本発明のFIFOメモリ制御装置において、前記FIFOメモリへのアクセス起動に応じて前記FIFOメモリの格納データ数を前記サイズ指定手段の設定値で除算した商の回数だけ前記FIFOメモリに対するアクセス制御を行うFIFOバスアクセスカウンタを備え、前記サイズ指定手段は前記設定値を2で除算した再設定値に変更する機能を有し、前記FIFOメモリに対する前記商の回数のアクセス終了時における前記除算の剰余を検出して、前記サイズ指定手段は前記設定値を前記再設定値に変更し、かつ前記FIFOバスアクセスカウンタは前記再設定値で前記除算剰余を除算した商の回数だけ前記FIFOメモリに対するアクセス制御を行い、前記再設定値による除算の剰余を検出して、前記サイズ指定手段による再設定値への変更と、前記FIFOバスアクセスカウンタによる前記再設定値で最新の除算剰余を除算した商の回数だけ前記FIFOメモリに対して行うアクセス制御とを除算の剰余がなくなるまで繰り返す。
上記構成によれば、FIFOメモリに対するアクセスバス幅の初期値をサイズ指定手段に設定すれば、その後はFIFOバスアクセスカウンタがFIFOメモリに対するアクセス回数を自動的に制御し、サイズ指定手段がアクセスデータ幅を自動的に制御するため、ソフトウェアによりサイズ指定手段に初期値を設定するだけで、任意サイズのデータを連続アクセスすることができる。
本発明のFIFOメモリ装置の制御方法は、FIFOメモリに対するアクセスバス幅を指定するソフトウェア設定可能なサイズ指定手段と、前記アクセスバス幅に応じて前記FIFOメモリへのアクセスデータ幅を制御する外部インターフェイス手段とを有するFIFOメモリ装置の制御方法であって、前記FIFOメモリへのアクセス起動に応じて前記FIFOメモリの格納データ数を前記サイズ指定手段の設定値で除算した商の回数だけ前記FIFOメモリに対するアクセスを行い、前記除算の剰余がある場合は、前記サイズ指定手段の設定値を2で除算した再設定値に変更し、前記除算剰余を前記再設定値で除算した商の回数だけ前記FIFOメモリに対するアクセスを行い、前記再設定値による除算の剰余がある場合は、前記サイズ指定手段による設定値を2で除算する再設定値への変更と、前記再設定値で最新の除算剰余を除算した商の回数だけ前記FIFOメモリに対して行うアクセスとを除算の剰余がなくなるまで繰り返す。
上記構成によれば、サイズ指定手段によりFIFOメモリに対するアクセスバス幅をソフトウェアで設定すると、これに応じて外部インターフェイスがFIFOメモリへのアクセスデータ幅を制御するため、例えばソフトウェア制御によりサイズ指定手段の設定を適宜変更することにより、任意サイズのデータを連続アクセスすることが可能になる。
本発明によれば、ソフトウェア制御可能なサイズ指定手段によりFIFOメモリに対するアクセスバス幅を設定すると、これに応じて外部インターフェイスがFIFOメモリへのアクセスデータ幅を制御するため、FIFOメモリへのアクセスバス幅の初期値を最大にすることが可能になり、FIFOメモリとの間のデータ転送回数を減少させることができ、任意サイズのデータを連続アクセスすることが可能になることでCPUの負荷を軽減することができる。
以下、本発明の最良の実施形態について図面を参照しながら説明する。図1は本発明の実施の形態1に係るFIFOメモリ制御装置のブロック図である。図1において、101はCPU、102はCPU101が外部のメモリや周辺機能ブロックにアクセスするための外部バスインターフェイス、103は周辺機能ブロック、108はCPU101が使用する外部メモリである。
なお、外部バスインターフェイス102は一般的なものであり、周辺機能ブロック103と外部メモリ108へのアクセスは個別に制御される。また、外部バスインターフェイス102は任意のバス幅の設定が可能で、最大バス幅は4バイトであるものとする。
周辺機能ブロック103はUSBデバイス機能ブロックを実現しており、その内部において、105はUSBデータを通信する周辺機能コア、104は周辺機能コア105の機能を制御するレジスタや外部との通信データを格納するFIFO構造のメモリを有するメモリ群、106はメモリ群104のFIFO構造のメモリへのアクセスバス幅を指定するサイズ指定手段、107はCPU101からメモリ群104へのアクセスをサイズ指定手段106に設定されたバス幅に応じて制御する外部インターフェイスである。
まず、周辺機能ブロック103が受信したUSBデータをCPU101が読み出す場合について説明する。CPU101は、周辺機能ブロック103と外部メモリ108にアクセスするために、外部バスインターフェイス102の設定を行う。またCPU101は、プログラム制御により、メモリ群104のレジスタに動作開始指示を与えて周辺ブロック103を動作させる。
周辺機能ブロック103は、外部からのデータを任意のタイミングで任意のデータ数受信し、これをメモリ群104のFIFO領域に図4のメモリマップに示すように格納し、さらにレジスタ領域に受信数を格納する。
周辺機能ブロック103の受信処理が完了すると、CPU101は割込み信号などによりこの受信動作の完了を認識し、プログラム制御により、レジスタ領域の受信数を基に、まず4バイト幅でアクセスするためにサイズ指定手段106に4を設定する。さらに、レジスタ領域の受信データ数をサイズ指定手段106の設定値で除算し、その商の回数だけ受信データをメモリ群104のFIFO領域よりより読み出し、外部メモリ108に格納する。
前記除算で割り切れない場合は、サイズ指定手段106に2を設定し、前記除算の余りをサイズ指定手段106の設定値で除算し、その商の回数だけ受信データをメモリ群104より読み出す。その際に、外部インターフェイス107は読み出すデータのバス幅を2バイトに制御する。
さらに、この除算で割り切れない場合は、残りのデータは1バイトであるのでサイズ指定手段に1を設定し、1回だけ受信データをメモリ群104より読み出す。その際に、外部インターフェイス107は読み出すデータのバス幅を1バイトに制御する。
CPU101から周辺機能ブロック103によりUSBデータを送信する場合も、受信の場合と同様にサイズ指定手段106にアクセスサイズを設定し、CPU101から送信データをメモリ群104のFIFO領域に書込む処理を行う。
このように、外部インターフェイス107にて、サイズ指定手段106に設定されたバス幅に応じてFIFOメモリへのアクセス制御を行うことにより、周辺機能ブロック内のFIFOメモリへのアクセスバス幅を大きくすることが可能になり、CPU101のデータ転送回数が減少する。また、ソフトウェア負荷が軽減され、FIFO構造のメモリへの連続アクセスが可能となる。
図2は本発明の実施の形態2に係るFIFOメモリ制御構成のブロック図である。図2において、図1と同一構成部分には同一符号を付して説明する。
図2の周辺機能ブロック203においては、周辺機能ブロック103の構成に対して、FIFOバスアクセスカウンタ209が新たに追加されている。また、サイズ指定手段206は、サイズ指定手段106に対して、初期値として4が設定された後で設定値を2、1と自動的に変更する機能が追加されている。
FIFOバスアクセスカウンタ209は、サイズ指定手段206に設定したサイズに応じて、メモリ群104のFIFO構造のメモリへのアクセスカウントの制御を行う。
まず、周辺機能ブロック203が受信したUSBデータをCPU101が読み出す場合について説明する。CPU101は、周辺機能ブロック203と外部メモリ108にアクセスするために、外部バスインターフェイス102の設定を行う。またCPU101は、プログラム制御により、メモリ群104のレジスタに動作開始指示を与え、同時にサイズ指定手段206にバス幅の4を設定し、周辺ブロック203を動作させる。
周辺機能ブロック203は、外部からのデータを任意のタイミングで任意のデータ数受信し、これをメモリ群104のFIFO領域に図4のメモリマップに示すように格納し、さらにレジスタ領域に受信数を格納する。周辺機能ブロック203の受信処理が完了すると、CPU101は割込み信号などによりこの受信動作の完了を認識し、メモリ群104のFIFメモリにアクセスする。
このアクセスに応じて、FIFOバスアクセスカウンタ209は、レジスタ内の受信データ数をサイズ指定手段206の設定値4で除算し、その商の回数だけメモリ群104のFIFOメモリへのアクセス制御を行う。
除算の余りが1の場合は、サイズ指定手段206の値が1になり1バイト分のデータをさらに1回読み出すように制御する。除算の余りが2の場合は、サイズ指定手段206の値が2になり2バイト分のデータをさらに1回読み出すように制御する。
除算の余りが3の場合は、サイズ指定手段206の設定が2に変更され2バイト分のデータを1回読み出し、さらにサイズ指定手段206の設定が1に変更され1バイト分のデータを1回読み出すことで、合計2回の読み出しを行うように制御する。
一方、CPU101は、FIFOバスアクセスカウンタ209がレジスタ内の受信データ数をサイズ指定手段206の設定値4で除算した商の回数だけメモリ群104のFIFOメモリから連続して読み出し、除算の余りが1または2の場合は商の回数+1回連続して読み出し、余りが3の場合は自動的にサイズ指定手段206の設定が変更されて商の回数+2回の連続して読み出す。あるいは、割込み等で読み終りを認識する間、受信データ数分連続して読み出し処理を行う。
CPU101から周辺機能ブロック203によりUSBデータを送信する場合も、受信の場合と同様にサイズ指定手段206の設定とFIFOバスアクセスカウンタ209の制御により、CPU101から送信データをメモリ群104のFIFO領域に書込む処理を行う。
以上のように本実施形態によれば、FIFOメモリに対するアクセスバス幅の初期値をサイズ指定手段に設定した後は、FIFOバスアクセスカウンタがFIFOメモリに対するアクセス回数を自動的に制御し、サイズ指定手段がアクセスデータ幅を自動的に制御するため、ソフトウェアによりサイズ指定手段に初期値を設定するだけで、任意サイズのデータを連続アクセスすることができる。
本発明のFIFOメモリ制御装置およびFIFOメモリ装置の制御方法は、ソフトウェア制御可能なサイズ指定手段によりFIFOメモリに対するアクセスバス幅を設定すると、これに応じて外部インターフェイスがFIFOメモリへのアクセスデータ幅を制御するため、FIFOメモリへのアクセスバス幅の初期値を最大にすることが可能になり、FIFOメモリとの間のデータ転送回数を減少させることができ、任意サイズのデータを連続アクセスすることが可能になることでCPUの負荷を軽減することができるという効果を有し、FIFO構造のメモリ制御技術等として有用である。
本発明の実施の形態1に係るFIFOメモリ制御装置の構成を示すブロック図。 本発明の実施の形態2に係るFIFOメモリ制御装置の構成を示すブロック図。 従来のFIFOメモリ制御装置の構成を示すブロック図。 メモリ群のFIFO領域に格納された受信データ例を示すメモリマップ。 アクセスビット幅毎に仮想アドレスマップを設ける従来方式を示す図。
符号の説明
101、301 CPU
102、302 CPUの外部バスインターフェイス
103、203、303 周辺機能ブロック
104、304 レジスタおよびFIFO構造のメモリ群
105、305 周辺機能コア
106、206 サイズ指定手段
107、306 外部インターフェイス
108、307 外部メモリ
209 FIFOバスアクセスカウンタ

Claims (4)

  1. FIFO構造を有するメモリ(FIFOメモリ)の制御装置であって、
    前記FIFOメモリに対するアクセスバス幅を指定するソフトウェア設定可能なサイズ指定手段と、
    前記アクセスバス幅に応じて前記FIFOメモリへのアクセスデータ幅を制御する外部インターフェイス手段と、
    を備えるFIFOメモリ制御装置。
  2. 前記FIFOメモリへのアクセス起動に応じて前記FIFOメモリの格納データ数を前記サイズ指定手段の設定値で除算した商の回数だけ前記FIFOメモリに対するアクセス制御を行うFIFOバスアクセスカウンタを備え、
    前記サイズ指定手段は前記設定値を2で除算した再設定値に変更する機能を有し、
    前記FIFOメモリに対する前記商の回数のアクセス終了時における前記除算の剰余を検出して、前記サイズ指定手段は前記設定値を前記再設定値に変更し、かつ前記FIFOバスアクセスカウンタは前記再設定値で前記除算剰余を除算した商の回数だけ前記FIFOメモリに対するアクセス制御を行い、
    前記再設定値による除算の剰余を検出して、前記サイズ指定手段による再設定値への変更と、前記FIFOバスアクセスカウンタによる前記再設定値で最新の除算剰余を除算した商の回数だけ前記FIFOメモリに対して行うアクセス制御とを除算の剰余がなくなるまで繰り返す請求項1記載のFIFOメモリ制御装置。
  3. FIFO構造を有するメモリ(FIFOメモリ)に対するアクセスバス幅を指定するソフトウェア設定可能なサイズ指定手段と、前記アクセスバス幅に応じて前記FIFOメモリへのアクセスデータ幅を制御する外部インターフェイス手段とを有するFIFOメモリ装置の制御方法であって、
    前記FIFOメモリへのアクセス起動に応じて前記FIFOメモリの格納データ数を前記サイズ指定手段の設定値で除算した商の回数だけ前記FIFOメモリに対するアクセスを行い、
    前記除算の剰余がある場合は、前記サイズ指定手段の設定値を2で除算した再設定値に変更し、前記除算剰余を前記再設定値で除算した商の回数だけ前記FIFOメモリに対するアクセスを行い、
    前記再設定値による除算の剰余がある場合は、前記サイズ指定手段による設定値を2で除算する再設定値への変更と、前記再設定値で最新の除算剰余を除算した商の回数だけ前記FIFOメモリに対して行うアクセスとを除算の剰余がなくなるまで繰り返すFIFOメモリ制御方法。
  4. 請求項1または2記載のFIFOメモリ制御装置を有する集積回路。
JP2003309903A 2003-09-02 2003-09-02 Fifoメモリ制御装置およびfifoメモリ装置の制御方法 Pending JP2005078483A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003309903A JP2005078483A (ja) 2003-09-02 2003-09-02 Fifoメモリ制御装置およびfifoメモリ装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003309903A JP2005078483A (ja) 2003-09-02 2003-09-02 Fifoメモリ制御装置およびfifoメモリ装置の制御方法

Publications (1)

Publication Number Publication Date
JP2005078483A true JP2005078483A (ja) 2005-03-24

Family

ID=34411928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003309903A Pending JP2005078483A (ja) 2003-09-02 2003-09-02 Fifoメモリ制御装置およびfifoメモリ装置の制御方法

Country Status (1)

Country Link
JP (1) JP2005078483A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008164563A (ja) * 2007-01-05 2008-07-17 Yokogawa Electric Corp データ転送回路および半導体試験装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008164563A (ja) * 2007-01-05 2008-07-17 Yokogawa Electric Corp データ転送回路および半導体試験装置

Similar Documents

Publication Publication Date Title
US20090177816A1 (en) Method and system for communication with sd memory and sdio devices
JPS62206658A (ja) 記憶管理装置
JP2845433B2 (ja) 集積回路装置
JP2008009817A (ja) 半導体装置及びデータ転送方法
JP2007299227A (ja) 情報処理装置及び情報処理装置のブート方法
JPH0830550A (ja) インターフェース装置、情報処理装置、情報処理システム及びデータ転送方法
JPH10334037A (ja) 通信dma装置
JP2005078483A (ja) Fifoメモリ制御装置およびfifoメモリ装置の制御方法
JP2002024158A (ja) データ転送装置及びマイクロコンピュータ
US7293153B2 (en) Method and system for direct access to a non-memory mapped device memory
JP4793798B2 (ja) マイクロコンピュータ
KR20070081981A (ko) 중앙처리 장치가 없는 시스템에서의 인터페이스 방법 및장치
JP2003186666A (ja) マイクロコンピュータおよびdma制御回路
JP4860811B2 (ja) マイクロコンピュータ
JP2003036241A (ja) ウェイトサイクル制御装置およびウェイトサイクル制御方法
JP3127620B2 (ja) 命令解読装置
JP2003330871A (ja) データ転送装置
JP2000298641A (ja) 情報処理装置およびそのデータ転送方法ならびにデータ転送制御プログラムを格納した記憶媒体
JPS61183764A (ja) ダイレクトメモリアクセス制御方式
JP2001043182A (ja) パラレルバスシステム
JP2003187583A (ja) 半導体記憶装置及び制御装置
JP2004280291A (ja) カードインタフェース回路、及びカードインタフェース装置
KR20050060921A (ko) 휴대용 단말기의 디스플레이 제어 방법
JPH0260015B2 (ja)
JPH06149724A (ja) Dma転送装置

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060325