JP4893822B2 - 半導体集積回路および半導体メモリのアクセス制御方法 - Google Patents

半導体集積回路および半導体メモリのアクセス制御方法 Download PDF

Info

Publication number
JP4893822B2
JP4893822B2 JP2009504915A JP2009504915A JP4893822B2 JP 4893822 B2 JP4893822 B2 JP 4893822B2 JP 2009504915 A JP2009504915 A JP 2009504915A JP 2009504915 A JP2009504915 A JP 2009504915A JP 4893822 B2 JP4893822 B2 JP 4893822B2
Authority
JP
Japan
Prior art keywords
access
start address
dimensional
access information
rectangular area
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 - Fee Related
Application number
JP2009504915A
Other languages
English (en)
Other versions
JPWO2008114322A1 (ja
Inventor
清訓 森岡
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
Publication of JPWO2008114322A1 publication Critical patent/JPWO2008114322A1/ja
Application granted granted Critical
Publication of JP4893822B2 publication Critical patent/JP4893822B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、データを二次元アクセス情報に対応する二次元データとして記憶する半導体メモリをアクセスするための半導体集積回路に関する。
一般に、画像データを処理するデジタルカメラ等のシステムは、データをマトリックス状の二次元データとして扱うことが多い。この種のシステムでは、アクセスするデータの位置を示すアクセス情報も二次元で表現されることが多い。一方、画像データ等を記憶するSDRAM等の半導体メモリでは、例えば、順次増加するアドレスに対応してデータ領域が割り当てられている。すなわち、半導体メモリに記憶されたデータをアクセスするためのアクセス情報(アドレス)は、一次元で表現される。
システムで扱う二次元アクセス情報を用いて半導体メモリをアクセスするために、二次元アクセス情報を一次元アクセス情報に変換するメモリ制御装置(半導体集積回路)が提案されている(例えば、特許文献1、2参照)。
特開2001−243112号公報 特開昭63−234361号公報
近時、画像データを処理するシステムの機能が高くなってきており、二次元アクセス情報と一次元アクセス情報の両方を扱うシステムも提案されている。一方、半導体メモリの記憶容量が増加してきており、二次元アクセス情報で読み書きされるデータと、一次元アクセス情報で読み書きされるデータとが、1つの半導体メモリに記憶可能になってきている。
このような場合に、半導体メモリのアクセスを制御するためにシステム内に設けられるメモリ制御装置は、一次元アクセス情報と二次元アクセス情報を用いて半導体メモリをアクセスする必要がある。さらに、二次元アクセス情報によりアクセスされるデータ領域を一次元アクセス情報を用いてアクセス可能にし、あるいは、一次元アクセス情報によりアクセスされるデータ領域を二次元アクセス情報を用いてアクセス可能にするためには、半導体メモリに読み書きされるデータを相互にアクセスするための変換処理部を新たに開発する必要がある。この場合、新たに開発した変換処理部のインタフェースに合わせて、既存のデータ処理部(IPコア)のインタフェース部も変更する必要がある。IPコアを少しでも変更した場合、設計データの検証作業が再度必要になる。この結果、新たなメモリ制御装置の開発期間だけでなく、既にあるIPコアの設計変更および検証作業が必要になり、システムの開発期間が長くなり、開発コストが増加する。
本発明の目的は、既存の設計資産を有効に利用し、システムの開発期間を短縮し、システムの開発コストを削減することである。
領域検出部は、少なくとも1つの一次元アクセス処理部から出力される一次元アクセス情報で示されるアクセス開始アドレスが、二次元アクセス情報に対応する複数のメイン矩形領域の何れに含まれるかを検出する。アドレス変換部は、領域検出部により検出されたメイン矩形領域を複数のサブ矩形領域に分割し、一次元アクセス情報で示されるアクセス開始アドレスがサブ矩形領域のいずれに含まれるかを検出する。さらに、アドレス変換部は、検出されたメイン矩形領域の開始アドレスを基準とするときの、アクセス開始アドレスを含むサブ矩形領域の相対位置に基づいて一次元アクセス情報を第1二次元アクセス情報に変換する。メモリコントローラは、アドレス変換部により変換された第1二次元アクセス情報と、二次元アクセス処理部から出力される第2二次元アクセス情報とを受け、受けた第1および第2二次元アクセス情報を、半導体メモリにアクセスするためのアクセスアドレスに変換する。
一次元アクセス情報を第1二次元アクセス情報に変換することで、二次元アクセス情報を受けて半導体メモリをアクセスするメモリコントローラを変更することなくそのまま使用できる。また、一次元アクセス処理部および二次元アクセス処理部も変更する必要がない。したがって、一次元アクセス処理部と二次元アクセス処理部が同じ半導体メモリをアクセスする場合に、既存の設計資産を有効に利用できる。この結果、システムの開発期間を短縮でき、システムの開発コストを削減できる。
本発明の第1の実施形態を示すブロック図である。 第1の実施形態の矩形領域の割り当て例を示す説明図である。 図1に示した領域検出部の詳細を示すブロック図である。 図1に示したアドレス変換部の詳細を示すブロック図である。 図3に示したアドレス変換部の動作を示すフロー図である。 図3に示したアドレス変換部の動作の一例を示す説明図である。 本発明前に発明者が検討したメモリコントローラを有する半導体集積回路の概要を示すブロック図である。 本発明の第2の実施形態のアドレス変換部を示すブロック図である。
以下、本発明の実施形態を図面を用いて説明する。
図1は、本発明の第1の実施形態を示している。この実施形態のシステムSYSは、例えば、デジタルカメラ等の携帯機器として実現される。システムSYSは、半導体集積回路SEMおよびSDRAMを有している。特に図示していないが、システムSYSは、画像を撮影する撮像素子、画像を表示するモニタおよび操作スイッチ等を有している。半導体集積回路SEMは、複数のIP10、IP11、IP12、IP20、IP21、IP22(IPコア)、アクセス制御部ACNTおよびメモリコントローラMCNTを有している。なお、図1では、発明に必須の構成のみ記載している。このため、後述するアクセス情報の伝達経路のみを示し、データの伝達経路等の記述は省略している。
IP10−12は、一次元のアクセス情報を用いてSDRAMをアクセスする一次元アクセス処理部として動作する。IP20−22は、二次元のアクセス情報を用いてSDRAMをアクセスする二次元アクセス処理部として動作する。一次元アクセス情報および二次元アクセス情報については、図2で説明する。この例では、IP10−12は、JPEGデータ等の静止画像データあるいは画像データに重ねる額縁画像データ等を処理するデータ処理部である。具体的には、IP10−12は、画像のトリミング、画像の拡大や縮小、画像の色の変換処理、二次元のFIRフィルタ、画像のノイズ除去あるいは画像のディスプレイへの表示等の処理を行う機能を有する。これら処理が、二次元のアクセス情報を用いて実施される場合、一次元アクセス処理部は、処理に用いる二次元のアクセス情報を一次元のアクセス情報に変換する機能を有する。IP20−22は、MPEGデータ等の動画像データ等を処理するデータ処理部である。IP10−12、IP20−22は、別のシステムの開発時に設計したものを利用可能である。
アクセス制御部ACNTは、アービタARB1、領域検出部ADET、アドレス変換部ACNV、領域情報テーブルAITBL、分割ラインテーブルDLTBLおよびアービタARB2を有している。アービタARB1は、IP10−12からのアクセス要求(一次元アクセス情報)が競合するときに、アクセス要求の優先順を判定し、判定した順にアクセス要求を領域検出部ADETに出力する。IP10−12およびアービタARB1は、一次元アクセス情報として、アクセス開始アドレスAADおよびアクセスデータサイズL1を出力する。
領域検出部ADETは、領域情報テーブルAITBLに記憶されているメイン矩形領域RA、開始アドレスSA、幅Wおよび高さHの情報に基づいて、アービタARB1から供給された一次元アクセス情報(ADD、L1)を含む矩形領域の情報RA、SA、W、Hであるアドレス領域情報AIIを出力する。
アドレス変換部ACNVは、アドレス領域情報AIIに含まれる高さHを分割するための分割ライン数LNを分割ラインテーブルDLTBLから取り出し、一次元アクセス情報(AAD、L1)を第1二次元アクセス情報(メイン矩形領域RA、アクセス開始座標X、Y、アクセスする幅w、高さh)に変換して出力する。アクセス開始座標X、Yは、アクセス開始アドレスAADに対応する座標であり、メイン矩形領域RAの先頭アドレス(原点)からの相対座標である。幅w、高さhは、座標X、Yを原点としたときのアクセスする矩形領域の幅と高さである。
アービタARB2は、アドレス変換部ACNVおよびIP20からのアクセス要求(第1および第2二次元アクセス情報)が競合するときに、アクセス要求の優先順を判定し、判定した順にアクセス要求をメモリコントローラMCNTに出力する。アクセス制御部ACNT内にアービタARB1、ARB2を設けることにより、IP10−12から供給される複数のアクセス要求、あるいはIP20から供給されるアクセス要求を、メモリコントローラMCNTの1つの入力ポートに供給できる。このため、搭載されるIPの数が増えても、メモリコントローラMCNTを変更する必要はない。すなわち、既存の設計資産(IP10−12、IP20−22およびメモリコントローラMCNT)を有効に利用して半導体集積回路SEMを設計できる。なお、後述するアービタSDARBを、ポート数を増やすために修正し、アービタSDARBにIP20を接続する場合、アドレス変換部ACNV内にアービタARB2を形成する必要はない。アービタARB2を設計するか、アービタSDARBを修正するかの判断は、設計・検証期間を考慮して決められる。また、領域情報テーブルAITBLおよび分割ラインテーブルDLTBLは、レジスタ等の書き換え可能なハードウエアで構成してもよく、ワークデータとしてソフトウエアでアクセス可能に記憶してもよい。
メモリコントローラMCNTは、アービタSDARB、アドレス変換部SDACNVおよびメモリコントローラSDRAMCを有している。メモリコントローラMCNTは、二次元アクセス情報を扱う3つのIPに接続可能であり、別のシステムの開発時に設計したものを利用可能である。アービタSDARBは、アクセス制御部ACNTおよびIP21−22からのアクセス要求(第1および第2二次元アクセス情報)が競合するときに、アクセス要求の優先順を判定し、判定した順にアクセス要求をアドレス変換部SDACNVに出力する。アドレス変換部SDACNVは、アービタSDARVからの二次元アクセス情報をSDRAMのアクセスコマンドおよびアクセスアドレスに変換し、メモリコントローラSDRAMCに出力する。
メモリコントローラSDRAMCは、アクセス要求(アクセスコマンドおよびアクセスアドレス)を、SDRAMをアクセス動作させるためのコマンドおよびアドレスに変換して出力する。例えば、コマンドは、ロウアドレスストローブ信号/RAS、コラムアドレスストローブ信号/CAS、ライトイネーブル信号/WEの論理の組み合わせにより表される。アドレスは、コマンドに同期して受けるバンクアドレス信号、ロウアドレス信号およびコラムアドレス信号により表される。例えば、バンクアドレス信号/ロウアドレス信号とコラムアドレス信号は、同じアドレスバス線を介して伝達される。なお、メモリコントローラSDRAMCは、アクセス要求が書き込みコマンドを示すときにIPコアからの書き込みデータをSDRAMに出力し、アクセス要求が読み出しコマンドを示すときにSDRAMから読み出しデータをIPコアに出力する。
SDARMは、例えば、IP10−12、IP20−22にそれぞれ対応して割り当てられた領域A10−12、A20−22を有している。しかしながら、後述するように、領域A10−12、A20−22は、他のIPによって相互にアクセス可能である。
図2は、第1の実施形態の矩形領域RAの割り当て例を示している。図に示したn個の矩形領域RA(RA0、RA1、RA2、...、RAn−2、RAn−1)は、例えば、IP20−22用に割り当てられている。このため、通常、これらの矩形領域RAは、二次元アクセス情報によりアクセスされる。しかしながら、本発明では、アクセス制御部ACNTにより、一次元アクセス情報を出力するIP10−12からも自在にアクセス可能である。
各矩形領域RAは、SDRAMのアドレスマップ(リニアアドレスLAD)上に割り当てられている。各矩形領域RAは、開始アドレスSAと、矩形領域RAの幅Wおよび高さHにより定義される。開始アドレスSAは、リニアアドレスLAD上の物理アドレス(絶対アドレス)である。なお、終了アドレスEAは、リニアアドレスLADのマップとの対応のために示しており、矩形領域RAを定義するパラメータではない。図の開始アドレスSA、幅W、高さHおよび終了アドレスEAの末尾の数字は、矩形領域RAの番号に対応する。矩形領域RA、開始アドレスSA、幅Wおよび高さHなどのパラメータは、システムSYSの製造時に、システムSYSに搭載されるフラッシュメモリ等の不揮発メモリにテーブル(図3に示す領域情報テーブルAITBL)として記憶される。あるいは、これらパラメータは、半導体集積回路SEMの設計時に決められ、その値は、ハードワイヤードロジック(組み合わせ回路)、ヒューズ等のROM、または、強誘電体メモリセルを用いて構成される不揮発性のレジスタや不揮発性のラッチなどにプログラムされる。
例えば、矩形領域RA1内に網掛けで示したアクセス領域AA1は、IP20によりアクセスされる領域を示している。IP20は、二次元アクセス情報として、矩形領域R1、アクセス開始座標(X、Y)、アクセスする領域の幅wおよびアクセスする領域の高さhを出力する。アクセス開始座標(X、Y)は、開始アドレスSAを原点とするときの相対座標である。なお、アクセス開始座標(X、Y)の代わりに、開始アドレスSAに対する相対値であるアクセス開始アドレスASA1を用いてもよい。
これに対して、例えば、IP10は、矩形領域RA1の所定の領域をアクセスするために、アクセス開始アドレスAADとアクセスデータサイズL1を出力する。アクセス開始アドレスAADは、リニアアドレスLAD上の物理アドレス(絶対アドレス)である。このため、従来、IP10は、一次元アクセス情報を専用に処理するアクセス制御部(アクセス処理部)を用いてSDRAMをアクセスする必要があった。あるいは、一次元アクセス情報と二次元アクセス情報を相互に変換可能なアクセス制御部を新たに開発し、このアクセス制御部のインタフェースに合わせてIP10のインタフェースを変更する必要があった。
図3は、図1に示した領域検出部ADETの詳細を示している。領域検出部ADETは、矩形領域RA0−RAn−1に対応する複数のコンパレータCOMP0−COMPn−1、プライオリティエンコーダPENCおよびテーブル参照部TREFを有している。領域検出部ADETが参照する領域情報テーブルAITBLは、上述したように、例えばシステムSYS内に搭載されるフラッシュメモリ等に格納されている。領域情報テーブルAITBLは、半導体集積回路SEM内にハードウエア(上述したハードワイヤードロジック、ROM、レジスタやラッチなど)として組み込まれてもよい。
コンパレータCOMP0−COMPn−1は、アクセス開始アドレスAAD(一次元アクセス情報)を、領域情報テーブルAITBLから受ける矩形領域RA0−RAn−1に対応する開始アドレスSA0−SAn−1を比較し、比較結果CRSLT1を出力する。アクセス開始アドレスAADが各矩形領域RAの開始アドレスSA以上の場合、低レベルLの比較結果CRSLT1が出力される。アクセス開始アドレスAADが各矩形領域RAの開始アドレスSAより小さい場合、高レベルHの比較結果CRSLT1が出力される。図の比較結果CRSLT1に示したレベルH/Lは、図2に示したように、アクセス開始アドレスAADが、矩形領域RA1に含まれる例を示している。
プライオリティエンコーダPENCは、比較結果CRSLT1に基づいて、アクセス開始アドレスAADを含む矩形領域RAを示す矩形領域情報RAIを出力する。具体的には、プライオリティエンコーダPENCは、LレベルとHレベルとを出力する隣接するコンパレータCOMP(この場合、COMP1−2)のうち、Lレベルを出力するコンパレータCOMPに対応する矩形領域RA(この場合、RA1)を示す矩形領域情報RAIを出力する。
テーブル参照部TREFは、矩形領域情報RAIが示す矩形領域RAと、この矩形領域RAに対応する開始アドレスSA、幅Wおよび高さHとを領域情報テーブルAITBLから読み出し、アクセス領域情報AAIとして出力する。このように、領域検出部ADETは、一次元アクセス情報を扱うIP10−12がSDRAMをアクセスするために出力するアクセス開始アドレスAADを受け、アクセス開始アドレスAADを含む矩形領域RAを検出し、アクセス領域情報AAIとして出力する。プライオリティエンコーダPENCおよびテーブル参照部TREFは、コンパレータCOMP0−COMPn−1の出力CRSLT1に基づいてアクセス開始アドレスAADを含む矩形領域RAを検出し、検出した矩形領域RAを示すアドレス領域情報AAIをアドレス変換部ACNVに出力する検出制御部として動作する。
図4は、図1に示したアドレス変換部ACNVの詳細を示している。アドレス変換部ACNVは、シフタSFT、ロード機能付きのレジスタREG、8個の定数乗算器MUL、8個のコンパレータCOMP0−7、プライオリティエンコーダPENC、アドレス減算器ASUB(相対アドレス検出部)、領域判定部ADCI、ライン加算部LADDおよびアドレス演算部AOPを有している。
シフタSFTは、アドレス変換前の初期状態において、アクセス領域情報AAIに含まれる矩形領域RAの高さH方向の分割ライン数LNを分割ラインテーブルDLTBLから取り出し、取り出した分割ライン数LNを分割ライン数DLNとして出力する。分割ラインテーブルDLTBLには、2の階乗の分割ライン数LNが記憶されている。シフタSFTは、アクセス領域情報AAIに含まれる高さH以上の最小値(但し、2の階乗)を8で除した値の分割ライン数LNを取り出す。例えば、図6に示すように、矩形領域RA1の高さH1が150ラインの場合、最少値は256になり、分割ライン数LNは、32に設定される。また、シフタSFTは、領域判定部ADCIから出力される相対開始アドレスDRSAの出力タイミングに同期して、保持している現在の分割ライン数DLNを8で除して、新たな分割ライン数DLNとして出力する。すなわち、シフタSFTは、領域判定部ADCIの判定毎に、2進数で示される分割ライン数DLNを下位側に3ビットシフトする。
レジスタREGは、領域判定部ADCIからの相対開始アドレスDRSAを保持し、コンパレータCOMP0−7に出力する。ここで、相対開始アドレスDRSAは、アクセス開始アドレスAADを、矩形領域RAの先頭アドレスからの相対値、または矩形領域RAを複数に分割したサブ矩形領域SUBAの先頭アドレスからの相対値で示したものである。定数乗算器MULは、分割ライン数DLNをそれぞれ0倍、2倍、3倍、...、7倍し、サブ分割ライン数SDLNとして対応するコンパレータCOMP0−7に出力する。例えば、分割ライン数DLNが32の場合、定数乗算器MULは、0、32、64、96、...、192、224を示すサブ分割ライン数SDLNをそれぞれ出力する。
コンパレータCOMP0−7は、相対開始アドレスDRSAを、乗算器MULから出力されるサブ分割ライン数SDLNと比較し、比較結果CRSLT2を出力する。コンパレータCOMP0−7の動作は、図3に示したコンパレータCOMP0−COMPn−1の動作と同じである。すなわち、相対開始アドレスDRSAが各サブ分割ライン数SDLN以上の場合、低レベルLの比較結果CRSLT2が出力される。相対開始アドレスDRSAが各サブ分割ライン数SDLNより小さい場合、高レベルHの比較結果CRSLT2が出力される。プライオリティエンコーダPENCは、図3に示したプライオリティエンコーダPENCと同様に動作し、比較結果CRSLT2に基づいて、相対開始アドレスDRSAを含むサブ矩形領域SUBAを示す分割矩形領域情報DRAIを出力する。
アドレス減算器ASUBは、アクセス開始アドレスAADから、アクセス領域情報AAIに含まれる矩形領域RAの開始アドレスSAを差し引き、相対開始アドレスRSAを求める。相対開始アドレスRSAは、アクセス開始アドレスAADを矩形領域RAの開始アドレスSAからの相対値で示したものである。
領域判定部ADCIは、分割矩形領域情報DRAIを受ける前の初期状態において、減算器ASUBから受ける相対開始アドレスRSAを、相対開始アドレスDRSAとして出力する。また、領域判定部ADCIは、判定動作時に、相対開始アドレスRSAを含むサブ矩形領域SUBA(分割矩形領域情報DRAIにより示される)の先頭アドレスまでのライン数LN1(高さ)を求め、ライン加算部LADDに出力する。さらに、領域判定部ADCIは、2回目以降の判定動作時に、前回求めた相対開始アドレスDRSAを、新たに受けた分割矩形領域情報DRAIが示す新たなサブ矩形領域SUBAの先頭アドレスからの相対値で示した値に変換し、変換した値を相対開始アドレスDRSAとして出力する。ライン加算器LADDは、ライン数LN1を累積し、累積値を累積ライン数ALNとして出力する。
アドレス演算部AOPは、領域判定部ADCIが最後の判定を実施したとき、すなわち、分割ライン数DLNが1になったときに動作する。領域判定部ADCIは、累積ライン数ALN、矩形領域RAの幅W、相対開始アドレスRSAに対応する幅方向の座標Xを求め、累積ライン数ALNを相対開始アドレスRSAに対応する高さ方向の座標Yとする。座標Xは、累積ライン数ALNと幅Wの積を相対開始アドレスRSAから差し引くことで求められる。そして、アクセスする領域の幅wをアクセスデータサイズL1(一次元アクセス情報)として出力し、アクセスする領域の高さhを1として出力する。すなわち、一次元アクセス情報(AAD、L1)から変換された二次元アクセス情報(RA、X、Y、w、h)が、アドレス変換部ACNVから出力される。
図5は、図3に示したアドレス変換部ACNVの動作を示している。図に示した動作は、領域検出部ADETからアドレス領域情報AIIを受けてから二次元アクセス情報(RA、X、Y、w、h)が出力されるまでを示している。なお、アドレス変換部ACNVの動作は、ハードウエアでなくソフトウエアでも実現可能である。この場合、アドレス変換部ACNVの動作は、システムSYSに搭載されるCPU等のコントローラが、図5に示したフローに対応するアドレス変換プログラムを実行することにより実現される。
まず、ステップS10において、アドレス減算器ASUBにより求めた相対開始アドレスRSAが相対開始アドレスDRSAとしてレジスタREGに保持される。また、分割ラインテーブルDLTBLから読み出された分割ライン数LNが分割ライン数DLNとしてシフタSFTに取り込まれる。
次に、ステップS12において、定数乗算器MULから出力されるサブ分割ライン数SDLNと、相対開始アドレスDRSAとが比較され、大小関係が判定される。ステップS14において、比較結果CRSLT2に基づいて相対開始アドレスDRSAを含むサブ矩形領域SUBAが求められ、分割矩形領域情報DRAIとして出力される。
次に、ステップS16において、求めたサブ矩形領域SUBAの先頭アドレスまでのライン数LN1が求められ、累積ライン数ALNに加算される。ステップS18において、分割ライン数DLNが1になったか否かが判定される。すなわち、相対開始アドレスRSAの位置が1ライン単位まで求められたか否かが判定される。分割ライン数DLNが1ラインより大きいとき、処理はステップS20に移行する。分割ライン数DLNが1ラインのとき、処理はステップS24に移行する。
ステップS20において、サブ矩形領域SUBAの開始アドレス(原点)を基準にして新たな相対開始アドレスDRSAが求められる。ステップS22において、サブ矩形領域SUBAを分割してさらに細かい新たなサブ矩形領域SUBAを割り当てるために、新たな分割ライン数DLNが求められる。そして、ステップS12、S14、S16の処理が再び実施される。すなわち、サブ矩形領域SUBAの大きさを順次小さくして、分割矩形領域情報DRAIが再帰的に求められる。一方、分割ライン数DLNが1ラインのとき、ステップS24において、二次元アクセス情報(RA、X、Y、w、h)が生成され、出力される。分割するサブ矩形領域SUBAの大きさを徐々に小さくしながら、再帰的に演算処理を実施することにより、アドレス変換部ACNVの規模を小さくできる。このため、半導体集積回路SEMのチップサイズを小さくでき、システムSYSのコストを削減できる。
図6は、図3に示したアドレス変換部ACNVの動作の一例を示している。この例では、図2に示したように、一次元アクセス情報のアクセス開始アドレスAADが矩形領域RA1に含まれている。このため、アドレス変換部ACNVは、領域検出部ADETから矩形領域RA1のアドレス領域情報AII(RA1、SA1、W1、H1)を受ける。例えば、矩形領域RA1の幅W1、高さH1は、それぞれ140、150である。
まず、図の左側のマップにおいて、矩形領域RA1の高さH1が140(0から139)のため、分割ライン数DLNは32に設定される。すなわち、8個のサブ矩形領域SUBA0−7が割り当てられる。矩形領域RA1は、サブ矩形領域SUBA0−5に含まれる。ここで、相対開始アドレスDRSA(初回はRSAと同じ)は、サブ矩形領域SUBA3に含まれるため、サブ矩形領域SUBA3を示す分割矩形領域情報DRAI(=3)が出力される。また、サブ矩形領域SUBA3の先頭アドレスまでのライン数LN1として、96が求められる。初回の動作では、ライン加算部LADDは蓄積ライン数ALNをゼロにリセットしているため、蓄積ライン数ALNも96に設定される。
次に、図の中央のマップにおいて、相対開始アドレスDRSAが、サブ矩形領域SUBA3の先頭アドレスからの相対値で示した値に変換される。また、サブ矩形領域SUBA3が新たな8個のサブ矩形領域SUBA0−7に分割され、分割ライン数DLNは8分の1の4に設定される。そして、相対開始アドレスDRSAを含むサブ矩形領域SUBA2が検出される(DRAI=2)。新たに求められたサブ矩形領域SUBA2の先頭アドレスまでのライン数LN1として8が求められ、蓄積ライン数ALNに累積される(96+8)。
次に、図の右側のマップにおいて、相対開始アドレスDRSAが、サブ矩形領域SUBA2の先頭アドレスからの相対値で示した値に変換される。サブ矩形領域SUBA2は、4ラインで構成されるため、新たに分割された8個のサブ矩形領域SUBA0−7のうちの4つに対応する。分割ライン数DLNは0.5(4を8で除した値)を切り上げた1に設定される。そして、相対開始アドレスDRSAを含む新たなサブ矩形領域SUBA1が検出される(DRAI=1)。求めたライン数LN1(=1)を加えた最終の蓄積ライン数ALN(=105)が求まる。
最終の蓄積ライン数ALNは、アクセス開始アドレスAADを含む矩形領域RAの開始アドレスSAを基準とするときの、最後に検出したサブ矩形領域SUBA1の高さ方向Hの相対位置を示す。分割ライン数DLNが1のため、アドレス変換処理は終了する。そして、二次元アクセス情報として、RA=RA1、X=RSA−ALN×W1、Y=ALN、w=L1、h=1が求められる。これにより、一次元アクセス情報および二次元アクセス情報を用いて、SDRAMをアクセスできる。すなわち、IP10−12、IP20−22は、SDRAMの領域A10−12、A20−22を相互にアクセスできる。
図7は、本発明前に発明者が検討したメモリコントローラMCNTを有する半導体集積回路SEMの概要を示している。図1と同じ要素には、同じ符号を付している。ARBは、アクセス要求を調停するアービタである。本発明前には、IP10−12からの一次元アクセス情報を処理するメモリコントローラと、IP20−22からの二次元アクセス情報を処理するメモリコントローラとを組み合わせてアドレス変換部ACNV0を設計することが検討された。しかしながら、この場合、新たに設計するアドレス変換部ACNV0を、IP10−12、IP20−22で共通に使用可能にするために、IP10−12、IP20−22のインタフェースをアドレス変換部ACNV0のインタフェースに合わせて変更する必要がある。これにより、IP10−12、IP20−22の設計データの検証作業を再度行わなくてはならない。
また、一次元アクセス情報を扱うIP10−12によりアクセスされる領域A10−12と、二次元アクセス情報を扱うIP20−22によりアクセスされる領域A20−12とを、IPコアに依存せず相互にアクセス可能にするためには、一次元アクセス情報と二次元アクセス情報とを相互に変換するための相互アクセス制御部MUTCNTを新たに設計する必要がある。
以上より、図7の検討では、新規の回路設計だけでなく既にあるIPの設計変更および検証作業が必要になるため、システムSYSの開発期間が長くなり、開発コストが増加する。さらに、相互アクセス制御部MUTCNTを動作させるアクセス要求では、SDRAMをアクセスするときのレイテンシが長くなり、データ転送効率が低下する。
以上、第1の実施形態では、IP10−12からのアクセス要求(一次元アクセス情報)をIP20−22からのアクセス要求の形式と同じ二次元アクセス情報に変換することで、二次元アクセス情報用のメモリコントローラMCNTを変更することなくそのまま利用できる。また、IP10−12、IP20−22を変更する必要はない。したがって、SDRAMが、IP10−12、IP20−22から共通にアクセスされるシステムSYSにおいて、既存の設計資産を有効に利用できる。メモリコントローラMCNTおよびIP10−12、IP20−22の設計データの再検証が不要なため、システムSYSの開発期間を短縮でき、システムSYSの開発コストを削減できる。
アクセス開始アドレスAADと、メイン矩形領域RAの開始アドレスSAとをそれぞれ大小比較することで、アクセス開始アドレスAADが含まれるメイン矩形領域RAを容易に検出できる。同様に、アクセス開始アドレスAADと、サブ矩形領域SUBAの開始アドレスとをそれぞれ大小比較することで、アクセス開始アドレスAADが含まれるサブ矩形領域SUBAを容易に検出できる。
図8は、本発明の第2の実施形態のアドレス変換部ACNVを示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これらについては、詳細な説明を省略する。この実施形態では、第1の実施形態のアドレス変換部ACNVの定数乗算器MUL、コンパレータCOMP0−7、プライオリティエンコーダPENCおよび領域判定部ADCIで構成される処理ブロックBLK1、BLK2、BLK3が直列に配置されている。その他の構成は、第1の実施形態と同じである。すなわち、図1に示したように、半導体集積回路SEMは、複数のIP10、IP11、IP12、IP20、IP21、IP22、アクセス制御部ACNTおよびメモリコントローラMCNTを有している。システムSYSは、デジタルカメラ等の携帯機器として実現され、半導体集積回路SEMおよびSDRAMを有している。
処理ブロックBLK1は、アクセスされる矩形領域RAの高さHに対応する分割ライン数LN(例えば32)を用いる。処理ブロックBLK2は、分割ライン数LNを除算器DIV8を用いて8で除した分割ライン数DLN8(例えば4)を用いる。処理ブロックBLK3は、分割ライン数LNを除算器DIV64を用いて64で除した分割ライン数DLN64(正の整数;例えば1)を用いる。処理ブロックBLK2(BLK3)は、上位の処理ブロックBLK1(BLK2)により生成される相対開始アドレスDRSAを、サブ分割ライン数SDLNと比較する。ライン加算部LADD2は、3つの領域判定部ADCIから出力されるライン数LN1を用いて、累積ライン数ALNを一度に求める。
以上、第2の実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、再帰処理をすることなく二次元アクセス情報(RA、X、Y、w、h)を求めることができるため、一次元アクセス情報から二次元アクセス情報への変換時間を短縮できる。この結果、SDAMのアクセス効率を向上できる。
なお、上述した実施形態では、矩形領域RAまたはサブ矩形領域SUBAをライン方向に8分割して、アクセス開始アドレスAADが含まれる領域を検出する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、分割数は任意の値に設定可能である。また、初期の分割ライン数LNは、32に限定されず、2の階乗(例えば、16や64)であればよい。
上述した実施形態では、本発明を、SDRAMをアクセスするメモリコントローラMCNTを有する半導体集積回路SEMに適用する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、アクセス対象の半導体メモリは、DRAMやSRAM、強誘電体メモリでもよい。
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
本発明は、データを二次元アクセス情報に対応する二次元データとして記憶する半導体メモリをアクセスするための半導体集積回路に適用可能である。

Claims (10)

  1. 1次元アクセス情報を出力する少なくとも1つの一次元アクセス処理部と、
    前記一次元アクセス情報で示されるアクセス開始アドレスが、二次元アクセス情報に対応する複数のメイン矩形領域の何れに含まれるかを検出する領域検出部と、
    前記領域検出部により検出されたメイン矩形領域を複数のサブ矩形領域に分割し、前記一次元アクセス情報で示されるアクセス開始アドレスが前記サブ矩形領域のいずれに含まれるかを検出し、前記検出されたメイン矩形領域の開始アドレスを基準とするときの、前記アクセス開始アドレスを含むサブ矩形領域の相対位置に基づいて前記一次元アクセス情報を第1二次元アクセス情報に変換するアドレス変換部と、
    第2二次元アクセス情報を出力する少なくとも1つの二次元アクセス処理部と、
    前記第1二次元アクセス情報および第2二次元アクセス情報を、半導体メモリにアクセスするためのアクセスアドレスに変換するメモリコントローラと
    を備えていることを特徴とする半導体集積回路。
  2. 請求項1記載の半導体集積回路において、
    前記領域検出部は、
    前記一次元アクセス情報に含まれるアクセス開始アドレスと、複数の前記メイン矩形領域の開始アドレスとをそれぞれ比較する複数の第1コンパレータと、
    前記第1コンパレータの出力に基づいて前記アクセス開始アドレスを含むメイン矩形領域を検出し、検出したメイン矩形領域を示すアドレス領域情報を前記アドレス変換部に出力する検出制御部と
    を備えていることを特徴とする半導体集積回路。
  3. 請求項1又は2記載の半導体集積回路において、
    前記アドレス変換部は、
    前記領域検出部により検出されたメイン矩形領域の開始アドレスを基準として、前記一次元アクセス情報に含まれるアクセス開始アドレスに対応する相対開始アドレスを求める相対アドレス検出部と、
    前記相対開始アドレスと、複数の前記サブ矩形領域の開始アドレスとをそれぞれ比較する複数の第2コンパレータと、
    前記第2コンパレータの出力に基づいて前記アクセス開始アドレスを含むサブ矩形領域を検出し、前記検出されたメイン矩形領域の開始アドレスを基準とするときの、前記アクセス開始アドレスを含むサブ矩形領域の相対位置に基づいて前記一次元アクセス情報を前記第1二次元アクセス情報に変換する変換制御部と
    を備えていることを特徴とする半導体集積回路。
  4. 請求項3記載の半導体集積回路において、
    前記アドレス変換部は、前記変換制御部が検出したサブ矩形領域をさらに分割し、この分割したサブ矩形領域の開始アドレスを、前記第2コンパレータにより前記一次元アクセス情報に含まれるアクセス開始アドレスの相対開始アドレスと比較する再帰処理を、サブ矩形領域の高さが1ラインになるまで実施することを特徴とする半導体集積回路。
  5. 請求項1〜4のいずれか一つに記載の半導体集積回路において、
    複数の前記一次元アクセス処理部から出力される複数の一次元アクセス情報を受け、前記複数の一次元アクセス情報が競合するときに、前記複数の一次元アクセス情報の優先順を判定し、判定した順に前記複数の一次元アクセス情報を前記領域検出部に出力するアービタを備えていることを特徴とする半導体集積回路。
  6. 請求項1〜5のいずれか一つに記載の半導体集積回路において、
    前記アドレス変換部から出力される変換された第1二次元アクセス情報と、二次元アクセス処理部から出力される第2二次元アクセス情報とを受け、受けた二次元アクセス情報が競合するときに、前記受けた二次元アクセス情報の優先順を判定し、判定した順に前記受けた二次元アクセス情報を前記メモリコントローラに出力するアービタを備えていることを特徴とする半導体集積回路。
  7. 少なくとも1つの一次元アクセス処理部から出力される一次元アクセス情報と、少なくとも1つの二次元アクセス処理部から出力される二次元アクセス情報とに応じて、半導体メモリをアクセスする半導体メモリのアクセス制御方法であって、
    前記一次元アクセス処理部から出力される一次元アクセス情報で示されるアクセス開始アドレスが、前記二次元アクセス情報に対応する複数のメイン矩形領域の何れに含まれるかを検出し、
    検出したメイン矩形領域を複数のサブ矩形領域に分割し、
    前記アクセス開始アドレスが前記サブ矩形領域のいずれに含まれるかを検出し、
    前記検出したメイン矩形領域の開始アドレスを基準とするときの、前記アクセス開始アドレスを含むサブ矩形領域の相対位置に基づいて前記一次元アクセス情報を第1二次元アクセス情報に変換し、
    変換された前記第1二次元アクセス情報および前記二次元アクセス処理部から出力される第2二次元アクセス情報を、半導体メモリにアクセスするためのアクセスアドレスに変換する
    ことを特徴とする半導体メモリのアクセス制御方法。
  8. 請求項7記載の半導体メモリのアクセス制御方法において、
    前記アクセス開始アドレスを含むメイン矩形領域の検出は、前記一次元アクセス情報に含まれるアクセス開始アドレスと、複数の前記メイン矩形領域の開始アドレスとをそれぞれ比較することで実施することを特徴とする半導体メモリのアクセス制御方法。
  9. 請求項7又は8に記載の半導体メモリのアクセス制御方法において、
    前記アクセス開始アドレスを含むサブ矩形領域の検出は、検出したメイン矩形領域の開始アドレスを基準として、前記一次元アクセス情報に含まれるアクセス開始アドレスに対応する相対開始アドレスを求め、前記相対開始アドレスと、複数の前記サブ矩形領域の開始アドレスとをそれぞれ比較することで実施することを特徴とする半導体メモリのアクセス制御方法。
  10. 請求項9記載の半導体メモリのアクセス制御方法において、
    検出したサブ矩形領域をさらに分割し、分割したサブ矩形領域の開始アドレスを、前記一次元アクセス情報に含まれるアクセス開始アドレスの相対開始アドレスと比較する再帰処理を、サブ矩形領域の高さが1ラインになるまで実施することを特徴とする半導体メモリのアクセス制御方法。
JP2009504915A 2007-03-20 2007-03-20 半導体集積回路および半導体メモリのアクセス制御方法 Expired - Fee Related JP4893822B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/000273 WO2008114322A1 (ja) 2007-03-20 2007-03-20 半導体集積回路および半導体メモリのアクセス制御方法

Publications (2)

Publication Number Publication Date
JPWO2008114322A1 JPWO2008114322A1 (ja) 2010-06-24
JP4893822B2 true JP4893822B2 (ja) 2012-03-07

Family

ID=39765443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009504915A Expired - Fee Related JP4893822B2 (ja) 2007-03-20 2007-03-20 半導体集積回路および半導体メモリのアクセス制御方法

Country Status (3)

Country Link
US (1) US8209502B2 (ja)
JP (1) JP4893822B2 (ja)
WO (1) WO2008114322A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120132871A (ko) * 2011-05-30 2012-12-10 삼성전자주식회사 프로세서, 이의 데이터 처리 방법, 및 이를 포함하는 메모리 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63234361A (ja) * 1987-03-23 1988-09-29 Fujitsu Ltd 画像メモリ制御方式
JPH04213775A (ja) * 1990-02-02 1992-08-04 Philips Gloeilampenfab:Nv 画像処理用メモリ記憶方法とその方法を実施する装置
JPH04218847A (ja) * 1990-02-21 1992-08-10 Matsushita Electric Ind Co Ltd 多次元アドレス発生器およびその制御方式
US6667745B1 (en) * 1999-12-22 2003-12-23 Microsoft Corporation System and method for linearly mapping a tiled image buffer
JP2006072449A (ja) * 2004-08-31 2006-03-16 Digital Electronics Corp 転送回路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69125874T2 (de) * 1990-02-21 1997-11-20 Matsushita Electric Ind Co Ltd Generator für mehrdimensionale Adressen und Anordnung zum Steuern desselben
JP3033844B2 (ja) * 1990-11-28 2000-04-17 株式会社日立製作所 印刷制御装置
JP2001243112A (ja) 2000-02-25 2001-09-07 Canon Inc 画像メモリアクセス装置
JP2007183692A (ja) * 2005-12-29 2007-07-19 Fujitsu Ltd データ処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63234361A (ja) * 1987-03-23 1988-09-29 Fujitsu Ltd 画像メモリ制御方式
JPH04213775A (ja) * 1990-02-02 1992-08-04 Philips Gloeilampenfab:Nv 画像処理用メモリ記憶方法とその方法を実施する装置
JPH04218847A (ja) * 1990-02-21 1992-08-10 Matsushita Electric Ind Co Ltd 多次元アドレス発生器およびその制御方式
US6667745B1 (en) * 1999-12-22 2003-12-23 Microsoft Corporation System and method for linearly mapping a tiled image buffer
JP2006072449A (ja) * 2004-08-31 2006-03-16 Digital Electronics Corp 転送回路

Also Published As

Publication number Publication date
US20100011175A1 (en) 2010-01-14
US8209502B2 (en) 2012-06-26
WO2008114322A1 (ja) 2008-09-25
JPWO2008114322A1 (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
US20080126643A1 (en) Semiconductor circuit
JP4872402B2 (ja) マルチプロセッサシステムのメモリアクセス負荷分散装置および方法
KR101517712B1 (ko) 이미지 병진을 위한 에지의 알파 값을 이용한 레이어 혼합
JP2009518753A (ja) メモリアクセス要求のアービトレーション
Meng et al. Efficient memory partitioning for parallel data access in multidimensional arrays
JP2009199414A (ja) マイクロコンピュータ
KR101117145B1 (ko) 데이터 저장 장치, 데이터 저장 제어 장치 및, 데이터 저장 제어 방법
JP4893822B2 (ja) 半導体集積回路および半導体メモリのアクセス制御方法
US20020169900A1 (en) Direct memory access controller, and direct memory access control method
US11775809B2 (en) Image processing apparatus, imaging apparatus, image processing method, non-transitory computer-readable storage medium
JP4053545B2 (ja) グラフィックスプロセッサおよび図形処理装置
JP4725130B2 (ja) 分散共有メモリ装置およびメモリアクセス方法
JPS59188764A (ja) メモリ装置
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
JP2005107873A (ja) 半導体集積回路
JP6165104B2 (ja) 情報処理装置および調停方法
JP4583981B2 (ja) 画像処理装置
JPS6382530A (ja) 半導体記憶装置
JP5266651B2 (ja) ローカル分岐履歴を用いた分岐予測装置及び分岐予測方法
JP2004287963A (ja) 検索要求を並列処理する検索装置、検索方法、及びプログラム
JP2007108858A (ja) ピン共有装置およびピン共有方法
JP4071225B2 (ja) 転送回路
JP2007110602A (ja) 動きベクトル検出装置
JP6757141B2 (ja) 画像処理装置、その制御方法、及びプログラム
US7249226B2 (en) Semiconductor system and memory sharing method

Legal Events

Date Code Title Description
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: 20111122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111205

R150 Certificate of patent or registration of utility model

Ref document number: 4893822

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees