JP2009128920A - 情報処理装置、及び、情報処理装置の制御方法 - Google Patents

情報処理装置、及び、情報処理装置の制御方法 Download PDF

Info

Publication number
JP2009128920A
JP2009128920A JP2007299569A JP2007299569A JP2009128920A JP 2009128920 A JP2009128920 A JP 2009128920A JP 2007299569 A JP2007299569 A JP 2007299569A JP 2007299569 A JP2007299569 A JP 2007299569A JP 2009128920 A JP2009128920 A JP 2009128920A
Authority
JP
Japan
Prior art keywords
memory
dynamic random
banks
random access
refill
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
JP2007299569A
Other languages
English (en)
Other versions
JP5145890B2 (ja
Inventor
Hiroki Kimura
裕樹 木村
Tetsuo Kaneko
哲夫 金子
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2007299569A priority Critical patent/JP5145890B2/ja
Priority to US12/289,368 priority patent/US20090132759A1/en
Priority to TW97143665A priority patent/TW200928752A/zh
Priority to KR20080115060A priority patent/KR20090051710A/ko
Publication of JP2009128920A publication Critical patent/JP2009128920A/ja
Application granted granted Critical
Publication of JP5145890B2 publication Critical patent/JP5145890B2/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Abstract

【課題】ダイナミックランダムアクセスメモリのバンド幅の使用効率をより高くする情報処理装置を提供する。
【解決手段】ダイナミックランダムアクセスメモリ11と、メモリコントローラ12と、キャッシュメモリ14と、画像処理ブロック15とを備え、キャッシュメモリ14は、画像処理ブロック15が行ったリードアクセスに対するキャッシュミスに応じてダイナミックランダムアクセスメモリ11に記憶されているデータをキャッシュするリフィル要求を、メモリコントローラ12がバンク単位で管理している各記憶領域に対して生成するリフィル要求生成部142と、リフィル要求がメモリコントローラが管理している複数のバンクのうち所定数のバンクに対して揃ったとき、リフィル要求を連結してダイナミックランダムアクセスメモリにリードアクセスを行うシステムバスインタフェース146とを有することを特徴とする。
【選択図】 図3

Description

本発明は、キャッシュメモリを介してダイナミックランダムアクセスメモリにアクセスする情報処理ブロックから構成される情報処理装置、及び、この情報処理装置の制御方法に関するものである。
MPEG2(Moving Picture Experts Group 2)に代表される画像圧縮技術が進歩し、各種の分野で利用されている。このMPEG2方式でエンコードされた画像データのデコードは、マクロブロック単位で行われる。具体的にエンコードに係る処理においては、可変長復号処理された注目マクロブロックの画像データから、DCT係数と動きベクトルが分離される。ここで、イントラマクロブロックの場合、DCT係数が、逆DCT変換処理されることで、元の画像とされる。一方、ノンイントラマクロブロックの場合、例えば、予測マクロブロックは、番号順にフレームメモリから読み出され、逆DCT変換された対応する注目マクロブロックの画像データと加算される。そして、デコードされたマクロブロックは、出力されると共に、フレームメモリへ転送され、記憶される。
上述の処理では、例えば、予測マクロブロックが、マクロブロック単位で、フレームメモリから読み出される。通常ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)で構成されるフレームメモリは、1ラインが2個または3個程度のページに区分されており、読み出しアドレスが不連続となるため、メモリページミスの発生頻度が高くなるという問題がある。
また、マクロブロックは、フレームメモリに格納されるが、このときも頻繁に書き込みアドレスが不連続となるため、メモリページミスが発生し易くなると共に、マクロブロック単位でデータが転送されるため、フレームメモリのバンド幅の使用効率が悪くなるという問題があった。
このような問題に対して、特許文献1には、入力された画像データを、スライス単位で復号処理し、さらに、復号処理された画像データを、スライス単位で、DRAMに転送することにより、フレーム単位でデータを記憶するメモリのバンド幅の使用効率を向上させる画像処理装置が記載されている。この画像処理装置では、ノンイントラマクロブロックに対応する予測マクロブロックの画像データを、フレーム単位でデータを記憶するメモリのアドレスの順番に転送するので、ページミスの発生頻度を低下させることができるという利点がある。
しかしながら、この画像処理装置では、1スライス分の画像データを格納する大きな容量を持つキャッシュメモリが必要である。また、この画像処理装置では、ページミスの発生頻度を低下させることはできるが、発生したページミスによるフレームメモリのバンド幅の使用効率の悪化を回避する点について考慮されていない。また、この画像処理装置ではページ単位という大きな転送長でのアクセスが発生するため、フレームメモリをDRAMのようなシステムメモリを使用して実装した場合、システムメモリにアクセスする他のバスマスターが本アクセスと競合し、アクセス待ち合わせになると、システム全体の処理性能が悪化するという問題があった。
特開2000―175201号公報
本発明は、このような実情に鑑みて提案されたものであり、ダイナミックランダムアクセスメモリのバンド幅の使用効率をより高くする情報処理装置、及び、この情報処理装置の制御方法を提供することを目的とする。
上述した課題を解決するための手段として、本発明に係る情報処理装置は、複数の記憶素子からなり、データを保持するため該記憶素子に電荷を補充するプリチャージ操作を必要とするダイナミックランダムアクセスメモリと、ダイナミックランダムアクセスメモリの記憶領域を複数に分割したバンク毎に、ダイナミックランダムアクセスメモリに行われたアクセスを管理するメモリコントローラと、バスを介してメモリコントローラと接続され、ダイナミックランダムアクセスメモリに記憶されているデータをキャッシュするキャッシュメモリと、キャッシュメモリを介して、ダイナミックランダムアクセスメモリにリードアクセスを行う情報処理ブロックとを備え、キャッシュメモリは、情報処理ブロックが行ったリードアクセスに対するキャッシュミスに応じてダイナミックランダムアクセスメモリに記憶されているデータをキャッシュするリフィル要求を、メモリコントローラがバンク単位で管理している各記憶領域に対して生成するリフィル要求生成手段と、リフィル要求生成手段により生成されたリフィル要求がメモリコントローラが管理している複数のバンクのうち、所定数のバンクに対して揃ったとき、所定数のバンクに対するリフィル要求を連結して上記ダイナミックランダムアクセスメモリにリードアクセスを行うリードアクセス手段とを有することを特徴とする。
また、本発明に係る情報処理装置の制御方法は、複数の記憶素子からなり、データを保持するため記憶素子に電荷を補充するプリチャージ操作を必要とするダイナミックランダムアクセスメモリと、ダイナミックランダムアクセスメモリの記憶領域を複数に分割したバンク毎に、ダイナミックランダムアクセスメモリに行われたアクセスを管理するメモリコントローラと、バスを介してメモリコントローラと接続され、ダイナミックランダムアクセスメモリに記憶されているデータをキャッシュするキャッシュメモリと、キャッシュメモリを介して、ダイナミックランダムアクセスメモリにリードアクセスを行う情報処理ブロックとを備える情報処理装置の制御方法において、キャッシュメモリは、情報処理ブロックが行ったリードアクセスに対するキャッシュミスに応じてダイナミックランダムアクセスメモリに記憶されているデータをキャッシュするリフィル要求を、メモリコントローラがバンク単位で管理している各記憶領域に対して生成するステップと、生成されたリフィル要求がメモリコントローラが管理している複数のバンクのうち所定数のバンクに対して揃ったとき、所定数のバンクに対するリフィル要求を連結してダイナミックランダムアクセスメモリにリードアクセスを行うステップとを有することを特徴とする。
本発明は、情報処理ブロックが行ったリードアクセスに対するキャッシュミスに応じて生成したリフィル要求がメモリコントローラが管理している複数のバンクのうち所定数のバンクに対して揃ったとき、これらのリフィル要求を連結してキャッシュメモリがダイナミックランダムアクセスメモリにアクセスするので、あるバンクによって管理されているダイナミックランダムアクセスメモリの記憶領域のプリチャージ操作の終了を待つことなく、他のバンクによって管理されているダイナミックランダムアクセスメモリの記憶領域にアクセスする頻度が高まることによって、プリチャージ操作によるダイナミックランダムアクセスメモリがデータ転送を行うことができない時間を削減することができ、ダイナミックランダムアクセスメモリのバンド幅の使用効率を改善することができる。
以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。
本発明が適用された情報処理装置は、キャッシュメモリを介してダイナミックランダムアクセスメモリにアクセスする情報処理ブロックから構成される装置である。以下では、この情報処理ブロックの具体例として、画像データに対して冗長度を削減する符号化処理に係る動き予測処理ブロック、及び、該符号化処理によって符号化されたデータを復号する復号処理に係る動き補償処理ブロックが組み込まれた図1に示すような画像処理装置1を用いて説明する。
画像処理装置1は、図1に示すように、画像データを記憶するダイナミックランダムアクセスメモリ11と、ダイナミックランダムアクセスメモリ11の記憶領域を管理するメモリコントローラ12と、システムバス13を介してメモリコントローラ12と接続されダイナミックランダムアクセスメモリ11に記憶されているデータをキャッシュするキャッシュメモリ14と、キャッシュメモリ14を介してダイナミックランダムアクセスメモリ11に対してリードアクセスをする画像処理ブロック15とを備える。また、画像処理装置1は、例えば、システムバス13を介してメモリコントローラ12と接続されダイナミックランダムアクセスメモリ11にアクセスする2つのバスマスタ16、17を備えている。
ダイナミックランダムアクセスメモリ11は、複数の記憶素子からなり、後述するように、データを保持するため記憶素子に電荷を補充するプリチャージ操作を必要とするランダムアクセス可能なメモリである。
また、画像処理装置1において、ダイナミックランダムアクセスメモリ11は、画像データの符号化処理系又は復号処理系のフレームメモリとして機能し、画像処理ブロック15により用いられる参照画像データを記憶する。なお、ダイナミックランダムアクセスメモリ11は、参照画像データに加えて、プログラムを記憶する領域を設けるようにしてもよい。
メモリコントローラ12は、ダイナミックランダムアクセスメモリ11の記憶領域を複数に分割したバンク毎に、ダイナミックランダムアクセスメモリ11に行われたアクセスを管理する。また、メモリコントローラ12は、後述するように、参照画像データを、バンク毎に分割したダイナミックランダムアクセスメモリ11の各記憶領域に記憶する。
システムバス13は、メモリコントローラ12と、メモリコントローラ12を介してダイナミックランダムアクセスメモリ11に対してアクセスを行う処理ブロックとして、キャッシュメモリ14、及び、2つのバスマスタ16、17が接続されており、これらの接続された処理ブロック間でアクセスを行うためのデータを伝送する。また、システムバス13には、接続された処理ブロック間でアクセスがコンフリクトしないようにするため、接続された処理ブロックのうち、何れか1つの処理ブロックにダイナミックランダムアクセスメモリ11に対するアクセスを許可するかを制御するバスアービタ13aが設けられている。
キャッシュメモリ14は、システムバス13を介してメモリコントローラ12と接続され、ダイナミックランダムアクセスメモリ11に記憶されている参照画像データをキャッシュする。具体的に、キャッシュメモリ14は、画像処理ブロック15と接続され、画像処理ブロック15が行ったリード要求に対するキャッシュミスに応じてリフィル要求を生成する。そして、キャッシュメモリ14は、この生成したリフィル要求に応じて、ダイナミックランダムアクセスメモリ11にリードアクセスして参照画像データをキャッシュする。
また、キャッシュメモリ14は、ダイナミックランダムアクセスメモリ11に対してリードアクセス及びライトアクセスを両方行うものでもよいが、画像処理ブロック15でリードアクセスされたデータをダイナミックランダムアクセスメモリ11から読み出せばよいので、特に、リードオンリーキャッシュとして機能する構成のメモリを用いることで、機能の簡易化とメモリ回路の回路規模の低減を図ることができる。
画像処理ブロック15は、キャッシュメモリ14を介して、ダイナミックランダムアクセスメモリ11に対してリードアクセスをする処理ブロックである。画像処理ブロック15は、例えば、符号化処理に係る動き予測処理を行う動き予測処理部151と、符号化された画像データを復号する復号処理に係る動き補償処理部152と、動き予測処理部151と動き補償処理部152とをそれぞれキャッシュメモリ14に接続するローカルバス153とから構成される。
動き予測処理部151は、符号化対象の注目マクロブロックを水平方向に走査して順次選択して、選択した注目マクロブロックの動きベクトルを予測するために用いる参照画像データを取得するため、ダイナミックランダムアクセスメモリ11にリードアクセスする。
動き補償処理部152は、復号対象の注目マクロブロックを水平方向に走査して順次選択して、選択した注目マクロブロックの動きベクトルに応じてダイナミックランダムアクセスメモリ11にリードアクセスすることにより参照画像データを読み出す。そして、動き補償処理部152は、読み出した参照画像データを用いて注目マクロブロックの動き補償を行う。
ここで、動き予測処理部151、及び、動き補償処理部152は、水平方向に走査して注目マクロブロックが選択されるので、参照マクロブロックも水平方向に走査して選択される可能性が高い。
また、動き予測処理部151、及び、動き補償処理部152は、所望とする参照画像データを読み出すリードアクセス要求を、ローカルバス153を介してキャッシュメモリ14に供給する。また、動き予測処理部151、及び、動き補償処理部152は、このリードアクセス要求に応じて、リフィル要求を連結することなくキャッシュメモリ14にリードアクセスをさせる非連結通知信号をキャッシュメモリ14に供給する。
また、動き予測処理部151及び動き補償処理部152は、キャッシュメモリ14において後述するようにリードアクセス要求に応じたリフィル要求が生成されるので、アドレス指定の順番や転送長に制限が無いリード要求をキャッシュメモリ14に出力することができる。これにより、動き予測処理部151及び動き補償処理部152は、アドレス生成の簡易化と回路規模の低減を実現することができる。
バスマスタ16、17は、それぞれシステムバス13を介して、メモリコントローラ12と接続され、ダイナミックランダムアクセスメモリ11に対して、参照画像データ用の画像データを書き込むライトアクセスや、出力用画像データとして読み出すリードアクセスなどを行う。なお、バスマスタ16、17は、画像データのアクセスに限定されない。すなわち、ダイナミックランダムアクセスメモリ11が画像データに加えてプログラムを記憶しているのであれば、バスマスタ16、17は、プログラムが記憶されている領域にアクセスするようにしてもよい。
以上のような構成からなる画像処理装置1において、メモリコントローラ12は、参照画像データの各ピクチャの画像領域を複数のユニットに分割して、各ユニットの画像領域を更に分割したサブユニットに対応するデータを、それぞれ各バンクで管理しているダイナミックランダムアクセスメモリ11の記憶領域に割り当てて記憶する。
具体的に、メモリコントローラ12は、各ユニットを水平方向にm(mは、正の整数。)分割するとともに垂直方向にn(nは、正の整数。)分割した合計m×n個のサブユニットに対応するデータを、それぞれ、ダイナミックランダムアクセスメモリ11の記憶領域を分割した少なくとも1個のバンクに割り当てて記憶する。
以下では、m、及びnの値を具体的に設定したメモリマップ構造によってダイナミックランダムアクセスメモリ11が管理された画像処理装置1の構成と動作について説明する。
<第1の実施例>
第1の実施例として、画像処理装置1では、例えば、システムバス13のデータ幅を64ビットとして、図2に示すように、メモリコントローラ12が、水平方向に720ピクセル、垂直方向に480ピクセルからなる画サイズの参照画像データの各ピクチャを領域分割してダイナミックランダムアクセスメモリ11の記憶領域上で管理するものとする。
メモリコントローラ12は、図2(A)に示すように、参照画像データの各ピクチャを、水平方向に32ピクセル、垂直方向に4ピクセルからなる合計2700個のユニットに分割する。図2(A)においては、2700個のユニットの番号0〜2699を示している。
次に、メモリコントローラ12は、各ユニットを、水平方向に16ピクセル、垂直方向に2ピクセルからなる合計4個のサブユニットに分割する。
次に、メモリコントローラ12は、各ユニット内の4個のサブユニットに対応する画像データを、それぞれ、ダイナミックランダムアクセスメモリ11の記憶領域を4分割した各バンクA、B、C、Dに割り当てて記憶する。具体的に、メモリコントローラ12は、垂直方向に並んだユニット間で、各ユニット内の上部1組2個のサブユニットに対してバンクA、Bを互い違いに割り当て、下部1組2個のサブユニットに対してバンクC、Dを互い違いに割り当てる。このような各サブユニットのデータを各バンクに割り当てるメモリマップ構造を、以下、千鳥格子状メモリマップ構造と呼ぶ。
また、メモリコントローラ12は、サブユニットを、水平方向に8ピクセル、垂直方向に1ピクセルからなる4wordに分割して各バンク毎に管理する。ここで、wordのデータ幅は、システムバスのデータ幅である64ビットに対応している。
また、メモリコントローラ12は、各wordのアドレスを、図2(B)に示すように設定して管理する。すなわち、各wordのアドレスは、例えば32ビット長のアドレスであって、0〜2番目のビットに64ビット長を示す情報を割り当て、3、4番目のビットにバンク内部のアドレスを割り当て、5、6番目のビットに各バンクA、B、C、Dのアドレスを割り当て、7〜31番目のビットに各ユニットのアドレスを任意に割り当てる。具体的に、3、4番目のビットに割り当てられたバンク内部のアドレスは、word0〜3を示す。また、5、6番目のビットに割り当てられたアドレスでは、2進数表記で00、01、10、11がそれぞれバンクA、B、C、Dを示している。
以上のようにしてメモリコントローラ12により管理されたダイナミックランダムアクセスメモリ11に対して、キャッシュメモリ14は、メモリコントローラ12が管理している複数のバンクのうち所定数のバンク、具体的には合計4個のバンクA、B、C、Dに対するリフィル要求が揃ったときに、これらのリフィル要求を連結してリードアクセスを行う。このようにしてデータをキャッシュすることにより、画像処理装置1では、後述するように、ダイナミックランダムアクセスメモリ11がデータ転送を行うことができない時間を低減して、ダイナミックランダムアクセスメモリ11のバンド幅の使用効率の改善を実現する。
このようなリードアクセスをダイナミックランダムアクセスメモリ11に対して行うため、第1の実施例に係るキャッシュメモリ14では、図3に示すように、ローカルバス153との間でデータの入出力を行うローカルバスインタフェース141と、画像処理ブロック15が行ったリードアクセス要求に対するキャッシュミスに応じてダイナミックランダムアクセスメモリ11に記憶されているデータをキャッシュするリフィル要求を生成するリフィル要求生成部142と、バンクA及びバンクBに対するリフィル要求を格納する2つのバンクAB用キュー143、バンクC及びバンクDに対するリフィル要求を格納するバンクCD用キュー144と、リフィル要求に応じたリードアクセス要求を出力する制御を行うキュー制御部145と、リードアクセス要求をシステムバス13へ出力するシステムバスインタフェース146とを備える。
ローカルバスインタフェース141は、画像処理ブロック15から、所望とする参照画像データを読み出すリードアクセス要求、及び、リフィル要求を連結することなくリードアクセスさせる非連結通知信号が供給される。そして、ローカルバスインタフェース141は、リードアクセス要求をリフィル要求生成部142に、非連結通知信号をキュー制御部145にそれぞれ供給する。
リフィル要求生成部142は、リードアクセス要求に対するキャッシュミスに応じて、ダイナミックランダムアクセスメモリ11に記憶されている参照画像データをキャッシュするリフィル要求を、メモリコントローラ12がバンク単位で管理している記憶領域に対して生成する。
すなわち、リフィル要求生成部142は、リードアクセス要求に対して、水平方向又は垂直方向に隣接して並んだ1組複数個のサブユニットに対応するデータ単位で、キャッシュミスしたか否かを判断して、キャッシュミスをしたデータを管理する複数個のバンクを1組としたバンク群に対するリフィル要求を生成する。具体的に、リフィル要求生成部142は、リードアクセス要求に対して、水平方向に隣接して並んだ1組2個のサブユニットに対応するデータ単位で、キャッシュミスしたか否かを判断して、キャッシュミスをしたデータを管理する合計2個のバンクを1組としたバンク群に対するリフィル要求を生成する。このバンク群は、ユニット内の水平方向に隣接する2個1組のサブユニットに限定されず、異なるユニット間で水平方向に隣接する2個1組のサブユニットを管理するものであってもよい。
バンクAB用キュー143、及び、バンクCD用キュー144は、それぞれ、リフィル要求生成部142により生成したリフィル要求を、メモリコントローラ12が管理しているバンク単位で振り分けて格納するリフィル要求格納手段である。具体的に、バンクAB用キュー143は、バンクA及びバンクBを1組としたバンク群に対するリフィル要求を格納するリフィル要求格納手段である。また、バンクCD用キュー144は、バンクC及びバンクDを1組としたバンク群に対するリフィル要求を格納するリフィル要求格納手段である。
キュー制御部145は、バンクAB用キュー143及びバンクCD用キュー144に格納されているリフィル要求が、各バンクに対して揃ったとき、すなわちバンクA、B、C、Dに対してそれぞれ揃ったとき、これらのバンクに対するリフィル要求を連結して、ダイナミックランダムアクセスメモリ11に対するリードアクセス要求をシステムバスインタフェース146に出力する。すなわち、キュー制御部145は、各バンクA、B、C、Dに対するリードアクセスを連結したリードアクセス要求をシステムバスインタフェース146に出力する。
ここで、キュー制御部145は、ローカルバスインタフェース141から非連結通知信号が供給された場合、バンクAB用キュー143及びバンクCD用キュー144に格納されているリフィル要求が、各バンクに対してそれぞれ揃うまで格納することなく、すなわち、リフィル要求を連結することなくリードアクセス要求をシステムバスインタフェース146に出力する。
システムバスインタフェース146は、システムバス13に設けられたバスアービタ13aからバス使用権を取得して、システムバス13を介してメモリコントローラ12にリードアクセスを行う。
次に、以上のような構成を有する第1の実施例に係るキャッシュメモリ14の動作について説明する。
例えば、図4(A)に示すように、画像処理ブロック15は、水平方向に8ピクセル、垂直方向に16ピクセルの画サイズの参照マクロブロックを取得するため、垂直方向に5個連続して並んだサブユニット1〜5、及び、サブユニット6〜10に対するリードアクセス要求を、キャッシュメモリ14を介してダイナミックランダムアクセスメモリ11に行うものとする。
具体的に、リードアクセス要求は、サブユニット1のデータを管理しているバンクAへのリードアクセス、サブユニット2のデータを管理しているバンクCへのリードアクセス、サブユニット3のデータを管理しているバンクBへのリードアクセス、サブユニット4のデータを管理しているバンクDへのリードアクセス、サブユニット5のデータを管理しているバンクAへのリードアクセス、サブユニット6のデータを管理しているバンクBへのリードアクセス、サブユニット7のデータを管理しているバンクDへのリードアクセス、サブユニット8のデータを管理しているバンクAへのリードアクセス、サブユニット9のデータを管理しているバンクCへのリードアクセス、及び、サブユニット10のデータを管理しているバンクBへのリードアクセスから構成される。
キャッシュメモリ14では、これらのリードアクセス要求に応じたデータをキャッシュしているか否かを判断して、例えば、図4(B)に示すように、サブユニット1、2、3、6、7に対応するデータがキャッシュヒットし、サブユニット4、5、8、9、10に対応するデータがキャッシュミスした場合、リフィル要求生成部142は、サブユニット4とサブユニット4の左に隣接するサブユニットとを管理するバンクC、Dからなるバンク群に対するリフィル要求4:Miss、サブユニット5とサブユニット5の右に隣接するサブユニット10とを管理するバンクA、Bからなるバンク群に対するリフィル要求5:Miss、サブユニット8とサブユニット8の右に隣接するサブユニットとを管理するバンクA、Bからなるバンク群に対するリフィル要求8:Miss、サブユニット9とサブユニット9の右に隣接するサブユニットとを管理するバンクC、Dからなるバンク群に対するリフィル要求9:Missを生成する。
次に、キャッシュメモリ14では、図4(C)に示すように、リフィル要求5:Miss、リフィル要求8:MissをバンクAB用キュー143に順次格納し、リフィル要求4:Miss、リフィル要求9:MissをバンクCD用キュー144に順次格納する。
次に、キャッシュメモリ14では、キュー制御部145が、バンクAB用キュー143、バンクCD用キュー144に格納されているリフィル要求が各バンクA、B、C、Dに対してそれぞれ揃ったときに順次リードアクセス要求を生成する。すなわち、キャッシュメモリ14は、図4(D)に示すように、リフィル要求5:Missとリフィル要求4:Missとを連結したリードアクセス要求1−ABCD、リフィル要求8:Missとリフィル要求9:Missとを連結としたリードアクセス要求2−ABCDを順次出力する。なお、非連結通知信号がローカルバスインタフェース141から供給されたとき、キュー制御部145は、バンクAB用キュー143及びバンクCD用キュー144に格納されたリフィル要求に応じて、上述した連結処理を行うことなくリードアクセス要求を出力する。
以上のようにして、キャッシュメモリ14では、合計4個のバンクA、B、C、Dに対するリードアクセス要求を連結してシステムバス13を介してダイナミックランダムアクセスメモリ11にアクセスする。また、各バンクに対するアクセスが4wordすなわち4バースト長であるため、キャッシュメモリ14は、1回に16バースト長のアクセスをダイナミックランダムアクセスメモリ11に対して行う。
ここで、例えば、システムバス13に設けられたバスアービタ13aが、8バースト長を1トランザクションとしてバス使用権をキャッシュメモリ14及び2つのバスマスタ16、17に許可している場合、キャッシュメモリ14に8バート長のアクセスを2つ連結した16バースト長のアクセスを許可する必要がある。
そこで、システムバス13を用いたアクセス制御においては、図5Aに示すように、従来のバス伝送に用いられている信号に加えて、連結したアクセスを許可するための信号ARCONCATを用いてシステムバス13のバス使用権を取得する。
図5Aは、キャッシュメモリ14とシステムバス13との間のリードアクセス処理に関するタイミングチャートを示し、図5Bは、システムバス13とダイナミックランダムアクセスメモリ11との間のリードアクセス処理に関するタイミングチャートを示している。
図5A、及び、図5Bにおいて、信号ARREADY、ARVALID、ARLEN、ARADDR、RREADY、RVALID、RLAST、RDATAは、通常のバス伝送に用いられる信号である。
すなわち、信号ARREADYは、HIGHのときに、リードアクセス要求に応じた1トランザクションの読み出し処理の準備が整ったことを示す信号である。また、信号ARVALIDは、HIGHのときにリードアクセスが有効であることを示す信号である。信号ARLENは、各トランザクションのリードアクセスのバースト長を示す信号である。信号ARADDRは、リードアドレス、具体的には各バンクA、B、C、Dのアドレスを示す信号である。信号RREADYは、HIGHのとき、リードアクセスの準備が整っていることを示す信号である。信号RVALIDは、HIGHのとき、リードアクセスが有効であることを示す信号である。信号RLASTは、HIGHのとき、各トランザクションのリードアクセスの終了を示す信号である。信号RDATAはリードデータを示す信号である。
また、信号ARCONCATは、HIGHの立ち上がりのリードアドレスから、立ち下がった次のリードアドレスまでのリードアクセスを連結する連結情報を示す信号である。
キャッシュメモリ14は、図5Aに示すように、バンクA、Bの両方に対するリフィル要求と、バンクC、Dの両方に対するリフィル要求を、それぞれ1トランザクションとし、これら2つのトランザクションを連結するための連結情報として、信号ARCONCATをバスアービタ13aに供給する。一方、バスアービタ13aは、信号ARCONCATに応じて、キャッシュメモリ14が2つのリフィル要求を連結して1つのリードアクセス要求としてアクセスすることを許可する。このようにすることで、システムバス13を介してダイナミックランダムアクセスメモリ11に2つのバスマスタ16、17からリードアクセス要求があったとしても、例えば図5Bに示すように、キャッシュメモリ14のリードアクセス要求に応じたデータを連続してダイナミックランダムアクセスメモリ11から読み出して、読み出したデータを連続してキャッシュメモリ14に供給することができる。
また、2つのバスマスタ16、17は、上述したキャッシュメモリ14の処理と同様に、1回当たり16バースト長未満のリードアクセス要求をダイナミックランダムアクセスメモリ11に対して行う場合、信号ARCONCATを出力してトランザクションを連結してバス使用権を取得して、1回当たり16バースト長のリードアクセスをダイナミックランダムアクセスメモリ11に対して行うようにする。
以上のようにして、キャッシュメモリ14、及び、バスマスタ16、17により、各バンクA、B、C、Dに対するリードアクセス要求が連続して供給されるダイナミックランダムアクセスメモリ11では、図6Aに示すように、メモリコントローラ12によって各バンクA、B、C、Dに管理されている記憶領域からデータが読み出される。
図6Aは、各バンクA、B、C、D毎のリードアクセス要求に対する読み出し処理のタイミングチャートである。ここで、図6Aにおいて、コマンドACTは、記憶領域内のアドレスデータ線を指定するコマンドであり、コマンドREADは、コマンドACTにより指定されたデータ線からデータを読み出すコマンドであり、コマンドPREは、コマンドREADでデータが読み出されたデータを保持するため、データ線上に並んだ記憶素子に電荷を補充するプリチャージ操作を行うコマンドである。
したがって、メモリコントローラ12は、個々のバンクA、B、C、Dにおいて、コマンドACT、READ、PREの順で行って、それぞれ管理している記憶領域からデータを読み出す処理を行う。
ここで、図6Bに示すように、仮にバンクA、Bに管理されている記憶領域から交互にデータを読み出す処理を行った場合には、各バンク内において、コマンドACT、READ、PREのコマンド間隔をできるだけ短くしても、リードデータReadDataをシステムバス13に出力することができない時間が生じてしまう。
これに対して、メモリコントローラ12は、各バンクA、B、C、Dに対するリードアクセスが連続して供給されるため、図6Aに示すように、あるバンクによって管理されている記憶領域のプリチャージ操作の終了を待つことなく、他のバンクによって管理されているダイナミックランダムアクセスメモリの記憶領域にアクセスする頻度を高くすることができる。これにより、メモリコントローラ12は、プリチャージ操作によるダイナミックランダムアクセスメモリ11からリードデータを連続して出力することができる。
このようにして、画像処理装置1では、キャッシュメモリ14が、合計4個のバンクA、B、C、Dに対するリフィル要求、すなわちリードアクセス要求が揃ったときに、これらのリードアクセス要求を連結してリードアクセスを行うことによって、例えば図6Aに示すように、ダイナミックランダムアクセスメモリ11からシステムバス13を介してキャッシュメモリ14にリードデータを連続して転送することができ、この結果、ダイナミックランダムアクセスメモリ11のバンド幅の使用効率を改善できる。
なお、キャッシュメモリ14は、メモリコントローラ12が管理している4個のバンクのうち全てもバンクに対するリードアクセス要求が揃わなくても、例えば4個未満の複数のバンクに対するリードアクセス要求が揃ったとき、これらのバンクに対するリードアクセス要求を連結してダイナミックランダムアクセスメモリ11にアクセスすることによっても、ダイナミックランダムアクセスメモリ11がデータ転送を行うことができない時間を削減することができる。これは、仮に、連続してリードデータを出力することができなくても、より多くのバンクに対するリードアクセス要求を連続して行うことによって、あるバンクによって管理されている記憶領域のプリチャージ操作の終了を待つことなく、他のバンクによって管理されているダイナミックランダムアクセスメモリの記憶領域にリードアクセスする頻度を高めることができるからである。
ところで、第1の実施例において、メモリコントローラ12は、垂直方向に並んだユニット間で、各ユニット内の上部1組2個のサブユニットに対してバンクA、Bを互い違いに割り当て、下部1組2個のサブユニットに対してバンクC、Dを互い違いに割り当てることで、参照画像データを千鳥格子状メモリマップ構造により管理している。このようなマップ構造以外にも、メモリコントローラ12は、各ユニットを水平方向及び垂直方向に2分割した合計4個のサブユニットのうち、位置関係が右上、左上、右下、及び左下に対応するサブユニットのデータを、それぞれ、バンクA、バンクB、バンクC、及び、バンクDに割り当てて記憶するようにしてもよい。このような各サブユニットのデータを各バンクに割り当てるメモリマップ構造を、以下、格子状メモリマップ構造と呼ぶ。この格子状メモリマップ構造に割り当てられた参照画像データに対して、キャッシュミスとなりうるサブユニットは、例えば、水平方向16ピクセル、垂直方向に16ピクセルからなる参照マクロブロックを、水平方向に走査して順次選択した場合、次のようにして選択される。
図7(A)において、領域Miss1は、第1番目に選択される参照マクロブロックのリード要求に対してキャッシュミスとなりうる画像領域を示している。また、領域Miss3は、第3番目に選択される参照マクロブロックのリード要求に対してキャッシュミスとなりうる画像領域を示している。また、領域Miss4は、第4番目に選択される参照マクロブロックのリード要求に対してキャッシュミスとなりうる画像領域を示している。また、領域Miss5は、第5番目に選択される参照マクロブロックのリード要求に対してキャッシュミスとなりうる画像領域を示している。
このように、格子状メモリマップ構造では、水平方向に走査して選択されうる参照マクロブロック毎に、キャッシュミスとなってシステムバス13を介してリードアクセスされるデータ量が変動してしまう。
そこで、上述した図7(B)に示すような千鳥格子状メモリマップ構造により参照画像データをメモリコントローラ12が管理することにより、水平方向に走査して選択されうる参照マクロブロック毎に、キャッシュミスとなってシステムバス13を介してリードアクセスされるデータ量を平均化することができる。
なお、図7(B)において、領域Miss1は、第1番目に選択される参照マクロブロックのリード要求に対してキャッシュミスとなりうる画像領域を示している。領域Miss2は、第2番目に選択される参照マクロブロックのリード要求に対してキャッシュミスとなりうる画像領域を示している。また、領域Miss3は、第3番目に選択される参照マクロブロックのリード要求に対してキャッシュミスとなりうる画像領域を示している。また、領域Miss4は、第4番目に選択される参照マクロブロックのリード要求に対してキャッシュミスとなりうる画像領域を示している。また、領域Miss5は、第5番目に選択される参照マクロブロックのリード要求に対してキャッシュミスとなりうる画像領域を示している。
ここで、千鳥格子状メモリマップ構造とは、垂直方向に並んだユニット間で、水平方向に2分割した1組2個のサブユニットに対応するデータを、それぞれ、1組2個のバンクに対して互い違いに割り当てたメモリマップの構造である。上述したように、メモリコントローラ12は、垂直方向に並んだユニット間で、各ユニット内の上部1組2個のサブユニットに対してバンクA、Bを互い違いに割り当て、下部1組2個のサブユニットに対してバンクC、Dを互い違いに割り当てることで、図8に示すように、参照画像データを千鳥格子状メモリマップ構造により管理する。
図8(A)は、千鳥格子状メモリマップ構造により管理された水平方向に1280ピクセル、垂直方向に720ピクセルの画サイズの参照画像データの一例を示している。なお、図8(A)の点線で示される水平方向16ピクセル、垂直方向720ピクセルの領域は、千鳥格子状メモリマップ構造にするために、参照画像データが存在しない領域である。
図8(B)は、千鳥格子状メモリマップ構造により管理された水平方向に1440ピクセル、垂直方向に1088ピクセルの画サイズの参照画像データの一例を示している。なお、図8(B)の斜線で示される水平方向に16ピクセル、垂直方向に1088ピクセルの領域は、千鳥格子状メモリマップ構造にするために、参照画像データが存在しない領域である。
次に図9を参照して、格子状メモリマップ構造及び千鳥格子状メモリマップ構造を適用した適用例について説明する。
図9(A)は、格子状メモリマップ構造で参照画像データが管理され、水平方向に16ピクセル、垂直方向に8の参照マクロブロックを水平方向に走査して選択した具体例である。ここで、1ユニットの水平方向に並んだ画素数が、参照マクロブロックの水平方向に並んだ画素数の2倍である32ピクセルから構成されているので、1から5回目に亘って水平方向に走査して選択された参照マクロブロックによって生じる各データ取得量は、40word(1回目)、32word(2回目)、0word(3回目)、32word(4回目)、0word(5回目)となる。
これに対して、図9(B)は、千鳥格子状メモリマップ構造で参照画像データが管理され、水平方向に16ピクセル、垂直方向に8ピクセルの参照マクロブロックを水平方向に走査して選択した具体例である。ここで、1ユニットの水平方向に並んだ画素数が、参照マクロブロックの水平方向に並んだ画素数の2倍である32ピクセルから構成されているので、1から6回目に亘って水平方向に走査して選択された参照マクロブロックによって生じる各データ取得量は、40word(1回目)、16word(2回目)、16word(3回目)、16word(4回目)、32word(5回目)、24word(6回目)となる。
したがって、参照マクロブロックの番号を横軸、データ取得量を縦軸として、格子状メモリマップ構造及び千鳥格子状メモリマップ構造の具体例を比較すると、図9(C)に示すように、千鳥格子状メモリマップ構造の方が単位時間当たりのデータ取得量を平均化することができていることが分かる。
したがって、メモリコントローラ12は、ユニットの水平方向に並んだ画素数を参照マクロブロックの水平方向に並んだ画素数の略2倍に設定し、垂直方向に並んだユニット間で、水平方向に2分割した1組2個のサブユニットに対応するデータを、それぞれ、1組2個のバンクに対して互い違いに割り当てることによって、単位時間当たりのデータ取得量を平均化することができる。
<第2の実施例>
次に、第2の実施例に係る画像処理装置1では、例えば、システムバス13のデータ幅を32ビットとし、図10に示すように、メモリコントローラ12が、水平方向に720ピクセル、垂直方向に480ピクセルの画サイズの参照画像データの各ピクチャを領域分割してダイナミックランダムアクセスメモリ11の記憶領域上で管理する。
メモリコントローラ12は、図10(A)に示すように、参照画像データの各ピクチャを、水平方向に32ピクセル、垂直方向に2ピクセルからなる合計5400個のユニットに分割する。図10(A)においては、5400個のユニットの番号0〜5399を示している。
次に、メモリコントローラ12は、各ユニットを、水平方向に16ピクセル、垂直方向に1ピクセルからなる合計4個のサブユニットに分割する。
次に、メモリコントローラ12は、各ユニット内の4個のサブユニットに対応する画像データを、それぞれ、ダイナミックランダムアクセスメモリ11の記憶領域を4分割した各バンクA、B、C、Dに割り当てて記憶する。具体的に、メモリコントローラ12では、各ユニットを水平方向及び垂直方向に2分割した合計4個のサブユニットに対応するサブユニットのデータを、それぞれ、上述した千鳥格子状メモリマップ構造にしたがって、バンクA、バンクB、バンクC、及び、バンクDに割り当てて記憶する。
また、メモリコントローラ12は、サブユニットを、水平方向に16ピクセル、垂直方向に1ピクセルからなる4wordに分割して各バンク毎に管理する。ここで、wordのデータ幅は、システムバスのデータ幅である32ビットに当たる。
また、メモリコントローラ12は、各wordのアドレスを、図10(B)に示すようにして設定して管理する。すなわち、各wordのアドレスは、例えば32ビット長のアドレスであって、0〜1番目のビットに32ビット長を示す情報を割り当て、2、3番目のビットにバンク内部のアドレスを割り当て、4、5番目のビットに各バンクA、B、C、Dのアドレスを割り当て、6〜31番目のビットに各ユニットのアドレスを任意に割り当てる。具体的に、2、3番目のビットに割り当てられたバンク内部のアドレスは、word0〜3を示す。また、4、5番目のビットに割り当てられたアドレスでは、2進数表記で00、01、10、11がそれぞれバンクA、B、C、Dを示している。
以上のようにしてメモリコントローラ12により管理されたダイナミックランダムアクセスメモリ11に対して、キャッシュメモリ14は、メモリコントローラ12が管理している複数のバンクのうち所定数のバンク、具体的には合計4個のバンクA、B、C、Dのに対するリードアクセス要求が揃ったときにアクセスしてデータをキャッシュすることにより、ダイナミックランダムアクセスメモリ11がデータ転送を行うことができない時間を削減して、ダイナミックランダムアクセスメモリ11のバンド幅の使用効率を改善する。
このようなアクセスをダイナミックランダムアクセスメモリ11に対して行うため、第2の実施例に係るキャッシュメモリ200は、図11に示すように、ローカルバス153との間でデータの入出力を行うローカルバスインタフェース201と、画像処理ブロック15が行ったリードアクセス要求に対するキャッシュミスに応じてダイナミックランダムアクセスメモリ11に記憶されているデータをキャッシュするリフィル要求を生成するリフィル要求生成部202と、リフィル要求に応じたリードアクセス要求を出力する制御を行い、リードアクセス要求をシステムバス13へ出力するシステムバスインタフェース203とを備える。
ローカルバスインタフェース201は、画像処理ブロック15から、所望とする参照画像データを読み出すリード要求が供給される。そして、ローカルバスインタフェース141は、リードアクセス要求をリフィル要求生成部202に供給する。
リフィル要求生成部202は、リード要求に対するキャッシュミスに応じて、ダイナミックランダムアクセスメモリ11に記憶されている参照画像データをキャッシュするリフィル要求を、メモリコントローラ12がバンク単位で管理している記憶領域に対して生成する。具体的に、リフィル要求生成部202は、サブユニットに対応するデータ単位でキャッシュミスしたか否かを判断して、キャッシュミスをしたサブユニットとこのサブユニットに隣接するサブユニットとに対応するデータが管理されているバンクA、B、C、Dに対するリフィル要求を生成する。
システムバスインタフェース203は、リフィル要求生成部202が生成したリフィル要求に応じたリードアクセス要求を出力する制御を行い、リードアクセス要求をシステムバス13へ出力するシステムバス13に設けられたバスアービタ13aからバス使用権を取得して、システムバス13を介してメモリコントローラ12にリードアクセスを行う。
次に、以上のような構成を有する第2の実施例に係るキャッシュメモリ200の動作について説明する。
例えば、図12(A)に示すように、画像処理ブロック15は、水平方向に16ピクセル、垂直方向に8ピクセルの画サイズの参照マクロブロックを取得するため、垂直方向に8個連続して並んだサブユニット1〜8、及び、サブユニット9〜16に対するリードアクセス要求を、キャッシュメモリ200を介してダイナミックランダムアクセスメモリ11に行うものとする。
具体的に、リードアクセス要求は、サブユニット1のデータを管理しているバンクDへのリードアクセス、サブユニット2のデータを管理しているバンクAへのリードアクセス、サブユニット3のデータを管理しているバンクCへのリードアクセス、サブユニット4のデータを管理しているバンクBへのリードアクセス、サブユニット5のデータを管理しているバンクDへのリードアクセス、サブユニット6のデータを管理しているバンクAへのリードアクセス、サブユニット7のデータを管理しているバンクCへのリードアクセス、サブユニット8のデータを管理しているバンクBへのリードアクセス、サブユニット9のデータを管理しているバンクCへのリードアクセス、サブユニット10のデータを管理しているバンクBへのリードアクセス、サブユニット11のデータを管理しているバンクDへのリードアクセス、サブユニット12のデータを管理しているバンクAへのリードアクセス、サブユニット13のデータを管理しているバンクCへのリードアクセス、サブユニット14のデータを管理しているバンクBへのリードアクセス、サブユニット15のデータを管理しているバンクDへのリードアクセス、及び、サブユニット16のデータを管理しているバンクAへのリードアクセスから構成される。
キャッシュメモリ14では、これらのリードアクセス要求に応じたデータをキャッシュしているか判断して、例えば、図12(B)に示すように、サブユニット1、2、3、4、5、7、13、14、15に対応するデータがキャッシュヒットし、サブユニット6、8、9、12、16に対応するデータがキャッシュミスした場合、リフィル要求生成部202は、サブユニット6とこのサブユニット6に隣接するサブユニット7、14、15とを管理するバンクA、B、C、Dに対するリフィル要求6:Miss、サブユニット8とこのサブユニットに対して左、左下、下に隣接するサブユニットとを管理するバンクA、B、C、Dに対するリフィル要求8:Miss、サブユニット9とこのサブユニット9に対して右、右上、上に隣接するサブユニットとを管理するバンクA、B、C、Dに対するリフィル要求9:Miss、サブユニット12とこのサブユニット12に対して右、右下、下に隣接するサブユニットとを管理するバンクA、B、C、Dに対するリフィル要求12:Miss、及び、サブユニット16とこのサブユニット16に対して右、右下、下に隣接するサブユニットとを管理するバンクA、B、C、Dに対するリフィル要求16:Missを生成する。
次に、キャッシュメモリ14では、図12(C)に示すように、システムバスインタフェース203が、各バンクA、B、C、Dに対して揃ったリフィル要求6:Miss、8:Miss、9:Miss、12:Miss、16:Missを、それぞれ、リードアクセス要求1−ABCD、2−ABCD、3−ABCD、4−ABCD、5−ABCDとして順次出力する。
キャッシュメモリ200では、システムバスインタフェース203が、リフィル要求生成部202により生成されるリフィル要求が、合計4個のバンクA、B、C、Dに対して揃ったリードアクセス要求となっているので、システムバス13を介してダイナミックランダムアクセスメモリ11にリードアクセスして、データをキャッシュする。
そして、キャッシュメモリ200は、第1の実施例に係るキャッシュメモリ14と異なり、信号ARCONCATを出力せず、バス使用権を取得する。これは、1トランザクションのバースト長が16のバンクABCDへのアクセスとなりデータを連続して出力できるため、連結する必要はないからである。
このようにして、画像処理装置1では、キャッシュメモリ14が、合計4個のバンクA、B、C、Dに対してするリードアクセス要求を連結してリードアクセスを行うことによって、上述した第1の実施例と同様に、ダイナミックランダムアクセスメモリ11からシステムバス13を介してキャッシュメモリ14にリードデータを連続して出力することができ、この結果、ダイナミックランダムアクセスメモリ11のバンド幅の使用効率を改善できる。
ここで、第2の実施例に係るキャッシュメモリ200は、リフィル要求生成部202が、キャッシュミスをしたサブユニットとこのサブユニットに隣接するサブユニットとに対応するデータが管理されているバンクA、B、C、Dに対するリフィル要求を生成するため、第1の実施例と比べて、読み出しが不要なサブユニットの画像データを読み出す頻度が高くなるが、リフィル要求を格納するリフィル要求格納手段を設ける必要がないことによって、回路規模の増大を抑制しつつ、ダイナミックランダムアクセスメモリ11のバンド幅の使用効率を改善することができる。
<第3の実施例>
次に、第3の実施例として、画像処理装置1では、例えば、システムバス13のデータ幅を128ビットとし、図13に示すように、メモリコントローラ12が、水平方向に720ピクセル、垂直方向に480ピクセルからなる画サイズの参照画像データの各ピクチャを領域分割してダイナミックランダムアクセスメモリ11の記憶領域上で管理する。
メモリコントローラ12は、図13(A)に示すように、参照画像データの各ピクチャを、水平方向に32ピクセル、垂直方向に8ピクセルからなる合計1350個のユニットに分割する。図13(A)においては、1350個のユニットの番号0〜1349を示している。
次に、メモリコントローラ12は、各ユニットを、水平方向に32ピクセル、垂直方向に2ピクセルからなる合計4個のサブユニットに分割する。
次に、メモリコントローラ12は、各ユニット内の4個のサブユニットに対応する画像データを、それぞれ、ダイナミックランダムアクセスメモリ11の記憶領域を4分割した各バンクA、B、C、Dに割り当てて記憶する。具体的に、メモリコントローラ12では、各ユニットを垂直方向に4分割した合計4個のサブユニットのうち、位置関係が上から順に並んだサブユニットのデータを、それぞれ、バンクA、バンクB、バンクC、及び、バンクDに割り当てて記憶する。
また、メモリコントローラ12は、サブユニットを、水平方向に8ピクセル、垂直方向に2ピクセルからなる4wordに分割して各バンク毎に管理する。ここで、wordのデータ幅は、システムバスのデータ幅である128ビットに当たる。
また、メモリコントローラ12は、各wordのアドレスを、図13(B)に示すようにして設定して管理する。すなわち、各wordのアドレスは、例えば32ビット長のアドレスであって、0〜3番目のビットに128ビット長を示す情報を割り当て、4、5番目のビットにバンク内部のアドレスを割り当て、6、7番目のビットに各バンクA、B、C、Dのアドレスを割り当て、8〜31番目のビットに各ユニットのアドレスを任意に割り当てる。具体的に、4、5番目のビットに割り当てられたバンク内部のアドレスは、word0〜3を示す。また、6、7番目のビットに割り当てられたアドレスでは、2進数表記で00、01、10、11がそれぞれバンクA、B、C、Dを示している。
以上のようにしてメモリコントローラ12により管理されたダイナミックランダムアクセスメモリ11に対して、第3の実施例に係るキャッシュメモリ300は、メモリコントローラ12が管理している複数のバンクのうち所定数のバンク、具体的には合計4個のバンクA、B、C、Dに対するリードアクセス要求が揃ったときに、これらのリフィル要求を連結してリードアクセスを行う。このようにしてデータをキャッシュすることにより、画像処理装置1では、後述するように、ダイナミックランダムアクセスメモリ11がデータ転送を行うことができない時間を削減して、ダイナミックランダムアクセスメモリ11のバンド幅の使用効率を改善する。
このようなアクセスをダイナミックランダムアクセスメモリ11に対して行うため、第3の実施例に係るキャッシュメモリ300は、図14に示すように、ローカルバス153との間でデータの入出力を行うローカルバスインタフェース301と、画像処理ブロック15が行ったリードアクセス要求に対するキャッシュミスに応じてダイナミックランダムアクセスメモリ11に記憶されているデータをキャッシュするリフィル要求を生成するリフィル要求生成部302と、バンクAに対するリフィル要求を格納する2つのバンクA用キュー303、バンクBに対するリフィル要求を格納するバンクB用キュー304、バンクCに対するリフィル要求を格納するバンクC用キュー305と、バンクDに対するリフィル要求を格納するバンクD用キュー306と、リフィル要求に応じたリードアクセス要求を出力する制御を行うキュー制御部307と、リードアクセス要求をシステムバス13へ出力するシステムバスインタフェース308とを備える。
ローカルバスインタフェース301は、画像処理ブロック15から、所望とする参照画像データを読み出すリード要求、及び、リフィル要求を連結することなくリードアクセスさせる非連結通知信号が供給される。そして、ローカルバスインタフェース301は、リード要求をリフィル要求生成部302に、非連結通知信号をキュー制御部307にそれぞれ供給する。
リフィル要求生成部302は、リード要求に対するキャッシュミスに応じて、ダイナミックランダムアクセスメモリ11に記憶されている参照画像データをキャッシュするリフィル要求を、メモリコントローラ12がバンク単位で管理している記憶領域に対して生成する。具体的に、リフィル要求生成部302は、画像処理ブロック15が行ったリード要求に対して、サブユニットに対応するデータ単位でキャッシュミスをしたか否かを判断して、キャッシュミスをしたデータを管理するバンクに対してリフィル要求を生成する。
バンクA用キュー303、バンクB用キュー304、バンクC用キュー305、及び、バンクD用キュー306は、それぞれ、リフィル要求生成部302により生成したリフィル要求を、メモリコントローラ12が管理しているバンク単位で振り分けて格納するリフィル要求格納手段である。具体的に、バンクA用キュー303は、バンクAに対するリフィル要求を格納するリフィル要求格納手段である。バンクB用キュー304は、バンクBに対するリフィル要求を格納するリフィル要求格納手段である。バンクC用キュー305は、バンクCに対するリフィル要求を格納するリフィル要求格納手段である。バンクD用キュー306は、バンクDに対するリフィル要求を格納するリフィル要求格納手段である。
キュー制御部307は、バンクA用キュー303、バンクB用キュー304、バンクC用キュー305、及び、バンクD用キュー306のそれぞれにリフィル要求が格納されたとき、すなわち、各バンクに対するリフィル要求がそれぞれ揃ったとき、これらのバンクに対するリフィル要求を連結して、ダイナミックランダムアクセスメモリ11に対するリードアクセス要求をシステムバスインタフェース308に出力する。すなわち、キュー制御部307は、各バンクA、B、C、Dに対するリードアクセスを連結したリードアクセス要求をシステムバスインタフェース308に出力する。
ここで、キュー制御部307は、ローカルバスインタフェース301から非連結通知信号が供給されたときには、バンクA用キュー303、バンクB用キュー304、バンクC用キュー305、及び、バンクD用キュー306にそれぞれリフィル要求が格納される前に、リフィル要求を連結することなくリードアクセス要求をシステムバスインタフェース308に出力する。
システムバスインタフェース308は、システムバス13に設けられたバスアービタ13aからバス使用権を取得して、システムバス13を介してメモリコントローラ12にリードアクセスを行う。
次に、以上のような構成を有する第3の実施例に係るキャッシュメモリ300の動作について説明する。
例えば、図15(A)に示すように、画像処理ブロック15は、水平方向に16ピクセル、垂直方向に8ピクセルの画サイズの参照マクロブロックを取得するため、合計7個のサブユニット1〜7に対するリード要求を、キャッシュメモリ300を介してダイナミックランダムアクセスメモリ11に行うものとする。
具体的に、リード要求は、サブユニット1のデータを管理しているバンクCへのリードアクセス、サブユニット2のデータを管理しているバンクDへのリードアクセス、サブユニット3のデータを管理しているバンクAへのリードアクセス、サブユニット4のデータを管理しているバンクBへのリードアクセス、サブユニット5のデータを管理しているバンクCへのリードアクセス、サブユニット6のデータを管理しているバンクCへのリードアクセス、及び、サブユニット7のデータを管理しているバンクDへのリードアクセスから構成される。
キャッシュメモリ300では、これらのリードアクセス要求に応じたデータをキャッシュしているか判断して、例えば、図15(B)に示すように、サブユニット1、2、3に対応するデータがキャッシュヒットし、サブユニット4、5、6、7に対応するデータがキャッシュミスした場合、リフィル要求生成部302は、サブユニット4を管理するバンクBに対するリフィル要求4:Miss、サブユニット5を管理するバンクCに対するリフィル要求5:Miss、サブユニット6を管理するバンクCに対するリフィル要求6:Miss、及び、サブユニット7を管理するバンクDに対するリフィル要求7:Miss、を生成する。
次に、キャッシュメモリ300では、図15(C)に示すように、リフィル要求4:MissをバンクB用キュー304に格納し、リフィル要求5:Miss、リフィル要求6:MissをバンクC用キュー305に順次格納し、リフィル要求7:MissをバンクD用キュー306に格納する。
次に、キャッシュメモリ300では、キュー制御部307が、バンクA用キュー303、バンクB用キュー304、バンクC用キュー305、及び、バンクD用キュー306のそれぞれにリフィル要求が格納されたときに順次リードアクセス要求を生成する。このとき、非連結通知信号が供給されたときには、図15(D)に示すように、キャッシュメモリ14は、リフィル要求4:Miss、5:Miss、6:Miss、7:Missを、それぞれ、リードアクセス要求1−B、1−C、2−C、1−Dとして順次出力する。
以上のようにして、キャッシュメモリ300では、合計4個のバンクA、B、C、Dに対するリードアクセス要求を連結してシステムバス13を介してダイナミックランダムアクセスメモリ11にアクセスする。
そして、キャッシュメモリ300は、第1の実施例に係るキャッシュメモリ14と同様に、信号ARCONCATを出力してトランザクションを連結したバス使用権を取得する。
このようにして、画像処理装置1では、キャッシュメモリ14が、合計4個のバンクA、B、C、Dに対するリードアクセス要求を連結してリードアクセスを行うことによって、上述した第1の実施例と同様に、ダイナミックランダムアクセスメモリ11からシステムバス13を介してキャッシュメモリ14にリードデータを連続して転送することができ、この結果、ダイナミックランダムアクセスメモリ11のバンド幅の使用効率を改善できる。
ここで、第3の実施例に係るキャッシュメモリ300は、リフィル要求生成部302が、リード要求に対するキャッシュミスに応じて、ダイナミックランダムアクセスメモリ11に記憶されている参照画像データをキャッシュするリフィル要求を、メモリコントローラ12がバンク単位で管理している記憶領域に対して生成するため、第1の実施例と比べて、リフィル要求格納手段に全てのリフィル要求が格納されるまで比較的時間がかかるが、読み出しが不要なサブユニットの画像データを読み出すことがなく、ダイナミックランダムアクセスメモリ11のバンド幅の使用効率を改善することができる。
なお、上述した実施例1〜3においては、4バンクに分割したダイナミックランダムアクセスメモリを用いているが、例えば8バンクなどで分割したダイナミックランダムアクセスメモリ11に適用することも可能である。
<第4の実施例>
第4の実施例として、ダイナミックランダムアクセスメモリ11の記憶領域を8バンクに分割する場合、メモリコントローラ12は、例えば、各ユニットを水平方向に4分割するとともに垂直方向に2分割した合計8個のサブユニットに対応するデータを、それぞれ、ダイナミックランダムアクセスメモリ11の記憶領域を分割した8個のバンクA〜Hに割り当てて記憶する。
このようにして、メモリコントローラ12によって合計8個のバンクA〜Hに記憶領域が分割されたダイナミックランダムアクセスメモリ11に対してアクセスを行うため、キャッシュメモリ400は、図16に示すように、ローカルバス153との間でデータの入出力を行うローカルバスインタフェース401と、画像処理ブロック15が行ったリードアクセス要求に対するキャッシュミスに応じてダイナミックランダムアクセスメモリ11に記憶されているデータをキャッシュするリフィル要求を生成するリフィル要求生成部402と、バンクAに対するリフィル要求を格納する2つのバンクA用キュー403、バンクBに対するリフィル要求を格納するバンクB用キュー404、バンクCに対するリフィル要求を格納するバンクC用キュー405と、バンクDに対するリフィル要求を格納するバンクD用キュー406と、バンクEに対するリフィル要求を格納するバンクE用キュー407と、バンクFに対するリフィル要求を格納するバンクF用キュー408と、バンクGに対するリフィル要求を格納するバンクG用キュー409と、バンクHに対するリフィル要求を格納するバンクH用キュー410と、リフィル要求に応じたリードアクセス要求を出力する制御を行うキュー制御部411と、リードアクセス要求をシステムバス13へ出力するシステムバスインタフェース412とを備える。
ローカルバスインタフェース401は、画像処理ブロック15から、所望とする参照画像データを読み出すリード要求、及び、リフィル要求を連結することなくリードアクセスさせる非連結通知信号が供給される。そして、ローカルバスインタフェース401は、リード要求をリフィル要求生成部402に、非連結通知信号をキュー制御部411にそれぞれ供給する。
リフィル要求生成部402は、リード要求に対するキャッシュミスに応じて、ダイナミックランダムアクセスメモリ11に記憶されている参照画像データをキャッシュするリフィル要求を、メモリコントローラ12がバンク単位で管理している記憶領域に対して生成する。具体的に、リフィル要求生成部402は、画像処理ブロック15が行ったリード要求に対して、サブユニットに対応するデータ単位でキャッシュミスをしたか否かを判断して、キャッシュミスをしたデータを管理するバンクに対してリフィル要求を生成する。
バンクA用キュー403、バンクB用キュー404、バンクC用キュー405、バンクD用キュー406、バンクE用キュー407、バンクF用キュー408、バンクG用キュー409、及び、バンクH用キュー410は、それぞれ、リフィル要求生成部402により生成したリフィル要求を、メモリコントローラ12が管理しているバンク単位で振り分けて格納するリフィル要求格納手段である。具体的に、バンクA用キュー403は、バンクAに対するリフィル要求を格納するリフィル要求格納手段である。バンクB用キュー404は、バンクBに対するリフィル要求を格納するリフィル要求格納手段である。バンクC用キュー405は、バンクCに対するリフィル要求を格納するリフィル要求格納手段である。バンクD用キュー406は、バンクDに対するリフィル要求を格納するリフィル要求格納手段である。バンクE用キュー407は、バンクEに対するリフィル要求を格納するリフィル要求格納手段である。バンクF用キュー408は、バンクFに対するリフィル要求を格納するリフィル要求格納手段である。バンクD用キュー409は、バンクGに対するリフィル要求を格納するリフィル要求格納手段である。バンクH用キュー410は、バンクHに対するリフィル要求を格納するリフィル要求格納手段である。
キュー制御部411は、バンクA用キュー403、バンクB用キュー404、バンクC用キュー405、バンクD用キュー406、バンクE用キュー407、バンクF用キュー408、バンクG用キュー409、及び、バンクF用キュー410のうち、4つのキューにリフィル要求が格納されたとき、これらのバンクに対するリフィル要求を連結して、ダイナミックランダムアクセスメモリ11に対するリードアクセス要求をシステムバスインタフェース308に出力する。
このように、キュー制御部411が、8つのバンクに対するリフィル要求が揃う前に、4つのバンクに対するリフィル要求が揃ったときにリードアクセス要求を行うのは、4つのバンクに対するリフィル要求に対応するバースト長が、システムバス13が1回当たり転送可能なバースト長に対応しているからである。すなわち、キャッシュメモリ400内において4つに比べて8つのバンクに対するリフィル要求が揃うまでの平均時間が長くなるのに加えて、仮に8つのバンクに対するリフィル要求が揃った時点でリードアクセスを行ったとしても、図17に示すように、例えばバンクA〜D、バンクE〜Hに対するリードアクセスに分割して、システムバス13に対して2回の転送要求を行うこととなるからである。
したがって、キュー制御部411は、システムバス13が一度に転送可能なバースト長に対応した所定数のバンクに対するリフィル要求が揃ったときに、リードアクセス要求をシステムバスインタフェース412に出力することによって、上述した要因により転送速度を低下させることなくダイナミックランダムアクセスメモリ11に対してリードアクセスを行うことができる。すなわち、仮に6つのバンクに対するリフィル要求に対応するバースト長がシステムバス13が1回当たりに転送可能なバースト長と対応しているのであれば、キュー制御部411は、6つのバンクに対するリフィル要求が揃ったときに、リードアクセス要求を行うように動作すればよい。
また、キュー制御部411は、ローカルバスインタフェース401から非連結通知信号が供給されたときには、所定数のキューにリフィル要求が格納される前に、リフィル要求を連結することなくリードアクセス要求をシステムバスインタフェース412に出力する。
システムバスインタフェース412は、システムバス13に設けられたバスアービタ13aからバス使用権を取得して、システムバス13を介してメモリコントローラ12にリードアクセスを行う。
このようにして、画像処理装置1では、第4の実施例に係るキャッシュメモリ400を用いることによって、8バンクに分割されたダイナミックランダムアクセスメモリ11に対してリードアクセスする場合にも、ダイナミックランダムアクセスメモリ11のバンド幅の使用効率を改善することができる。
画像処理装置の全体構成を示すブロック図である。 第1の実施例において管理される参照画像データを示す図である。 第1の実施例に係るキャッシュメモリの構成を示す図である。 第1の実施例に係るキャッシュメモリの動作を説明するための図である。 システムバスによるデータ伝送を説明するためのタイミングチャートである。 システムバスによるデータ伝送を説明するためのタイミングチャートである。 ダイナミックランダムアクセスメモリによるデータの読み出し処理を説明するための図である。 ダイナミックランダムアクセスメモリによるデータの読み出し処理を説明するための図である。 格子状メモリマップ構造及び千鳥格子状メモリマップ構造について説明するための図である。 千鳥格子状メモリマップ構造により管理される参照画像データを示す図である。 格子状メモリマップ構造及び千鳥格子状メモリマップ構造を適用した場合の、リードアクセス処理について適用例について説明するための図である 第2の実施例において管理される参照画像データを示す図である。 第2の実施例に係るキャッシュメモリの構成を示す図である。 第2の実施例に係るキャッシュメモリの動作を説明するための図である。 第3の実施例において管理される参照画像データを示す図である。 第3の実施例に係るキャッシュメモリの構成を示す図である。 第3の実施例に係るキャッシュメモリの動作を説明するための図である。 第4の実施例に係るキャッシュメモリの構成を示す図である。 システムバスによるデータ伝送を説明するためのタイミングチャートである。
符号の説明
1 画像処理装置、11 ダイナミックランダムアクセスメモリ、12 メモリコントローラ、13 システムバス、13a バスアービタ、14、200、300 キャッシュメモリ、141、201、301、401 ローカルバスインタフェース、142、202、302、402 リフィル要求生成部、143 バンクAB用キュー、144 バンクCD用キュー、145、307、411 キュー制御部、146、203、308、412 システムバスインタフェース、15 画像処理ブロック、151 動き予測処理部、152 動き補償処理部、153 ローカルバス、16、17 バスマスタ、303、403 バンクA用キュー、304、404 バンクB用キュー、305、405 バンクC用キュー、306、406 バンクD用キュー、407 バンクE用キュー、408 バンクF用キュー、409 バンクG用キュー、410 バンクH用キュー

Claims (12)

  1. 複数の記憶素子からなり、データを保持するため該記憶素子に電荷を補充するプリチャージ操作を必要とするダイナミックランダムアクセスメモリと、
    上記ダイナミックランダムアクセスメモリの記憶領域を複数に分割したバンク毎に、該ダイナミックランダムアクセスメモリに行われたアクセスを管理するメモリコントローラと、
    バスを介して上記メモリコントローラと接続され、上記ダイナミックランダムアクセスメモリに記憶されているデータをキャッシュするキャッシュメモリと、
    上記キャッシュメモリを介して、上記ダイナミックランダムアクセスメモリにリードアクセスを行う情報処理ブロックとを備え、
    上記キャッシュメモリは、
    上記情報処理ブロックが行ったリードアクセスに対するキャッシュミスに応じて上記ダイナミックランダムアクセスメモリに記憶されているデータをキャッシュするリフィル要求を、上記メモリコントローラがバンク単位で管理している各記憶領域に対して生成するリフィル要求生成手段と、
    上記リフィル要求生成手段により生成されたリフィル要求が上記メモリコントローラが管理している複数のバンクのうち、所定数のバンクに対して揃ったとき、該所定数のバンクに対するリフィル要求を連結して上記ダイナミックランダムアクセスメモリにリードアクセスを行うリードアクセス手段とを有することを特徴とする情報処理装置。
  2. 上記メモリコントローラは、画像データに対して冗長度を削減する符号化処理に係る動き予測処理、又は、該符号化処理によって符号化されたデータを復号する復号処理に係る動き補償処理において用いられる参照画像データの各ピクチャを複数の第1の画像領域に分割し、該分割した各第1の画像領域内を更に複数分割した第2の画像領域に対応するデータを、それぞれ、上記各バンクで管理している上記ダイナミックランダムアクセスメモリの記憶領域に割り当てて記憶し、
    上記情報処理ブロックは、上記ダイナミックランダムアクセスメモリが記憶する参照画像データを用いて、上記動き予測処理又は上記動き補償処理を行うことを特徴とする請求項1記載の情報処理装置。
  3. 上記メモリコントローラは、上記第1の画像領域を水平方向及び/又は垂直方向に分割した第2の画像領域に対応するデータを、それぞれ、上記ダイナミックランダムアクセスメモリの記憶領域を分割した各バンクに割り当てて記憶することを特徴とする請求項2記載の情報処理装置。
  4. 上記リフィル要求生成手段は、上記情報処理ブロックが行ったリードアクセスに対して、上記第2の画像領域に対応するデータ単位でキャッシュミスしたか否かを判断して、該キャッシュミスをした第2の画像領域と該第2の画像領域に隣接する第2の画像領域とに対応するデータが管理されている上記所定数のバンクに対する上記リフィル要求を生成することを特徴とする請求項3記載の情報処理装置。
  5. 上記メモリコントローラは、上記各第1の画像領域を水平方向にm(mは、正の整数。)分割するとともに垂直方向にn(nは、正の整数。)分割した合計m×n個の上記第2の画像領域に対応するデータを、それぞれ、上記ダイナミックランダムアクセスメモリの記憶領域を分割した少なくとも1個のバンクに割り当てて記憶し、
    上記キャッシュメモリは、上記リフィル要求生成手段により生成したリフィル要求を、上記メモリコントローラが管理しているバンク単位で振り分けて格納するリフィル要求格納手段を更に備え、
    上記リフィル要求生成手段は、上記情報処理ブロックが行ったリードアクセスに対して、水平方向又は垂直方向に隣接して並んだ1組複数個の第2の画像領域に対応するデータ単位で、キャッシュミスしたか否かを判断して、該キャッシュミスをしたデータを管理する複数のバンクを1組としたバンク群に対するリフィル要求を生成し、
    上記リフィル要求格納手段は、上記リフィル要求生成手段により生成されたリフィル要求を、上記バンク群毎に振り分けて格納し、
    上記リードアクセス手段は、上記リフィル要求格納手段に格納されている上記リフィル要求が、上記所定数のバンクに対して揃ったとき、該所定数のバンクに対するリフィル要求を連結して、上記ダイナミックランダムアクセスメモリにリードアクセスして、上記参照画像データをキャッシュすることを特徴とする請求項3記載の情報処理装置。
  6. 上記キャッシュメモリは、上記リフィル要求生成手段により生成したリフィル要求を、上記メモリコントローラが管理しているバンク単位で振り分けて格納するリフィル要求格納手段を更に備え、
    上記リフィル要求生成手段は、上記情報処理ブロックが行ったリードアクセスに対して、上記第2の画像領域に対応するデータ単位でキャッシュミスをしたか否かを判断して、該キャッシュミスをしたデータを管理する上記各バンクに対してリフィル要求を生成し、
    上記リフィル要求格納手段は、上記リフィル要求生成手段が生成したリフィル要求を上記バンク単位で振り分けて格納し、
    上記リードアクセス手段は、上記リフィル要求格納手段に格納されている上記リフィル要求が、上記所定数のバンクに対して揃ったとき、該所定数のバンクに対するリフィル要求を連結して上記ダイナミックランダムアクセスメモリにリードアクセスすることを特徴とする請求項3記載の情報処理装置。
  7. 上記情報処理ブロックは、上記リフィル要求を連結することなくリードアクセスさせる非連結通知信号を上記キャッシュメモリに供給し、
    上記キャッシュメモリのリードアクセス手段は、上記情報処理ブロックから供給される非連結通知信号に応じて、上記所定数のバンクに対して上記リフィル要求が揃う前に、上記リフィル要求格納手段に格納されたリフィル要求を連結することなく上記ダイナミックランダムアクセスメモリに対してリードアクセスすることを特徴とする請求項5又は6記載の情報処理装置。
  8. 上記メモリコントローラは、上記各第1の画像領域を水平方向及び垂直方向に2分割した合計4個の上記第2の画像領域に対応するデータを、それぞれ、上記ダイナミックランダムアクセスメモリの記憶領域を4分割したバンクに割り当てて記憶し、
    上記情報処理ブロックは、注目画像ブロックを水平方向に順次選択して、該選択した注目画像ブロックに対して処理を行う参照画像データを、上記キャッシュメモリを介して上記ダイナミックランダムアクセスメモリに対してリードアクセスすることにより読み出し、
    上記メモリコントローラは、
    上記第1の画像領域の水平方向に並んだ画素数を、上記注目画素ブロックの水平方向に並んだ画素数の略2倍に設定し、
    垂直方向に並んだ上記第1の画像領域間で、上記水平方向に2分割した1組2個の第2の画像領域に対応するデータを、それぞれ、1組2個の上記バンクに対して互い違いに割り当てることを特徴とする請求項3記載の情報処理装置。
  9. 上記バスには、他の情報処理ブロックが接続されており、
    上記他の情報処理ブロックは、上記メモリコントローラが管理している複数のバンクのうち上記所定数のバンクに対してリードアクセスが揃ったときに、上記ダイナミックランダムアクセスメモリに対して上記バスを介してアクセスを行うことを特徴とする請求項1記載の情報処理装置。
  10. 上記情報処理ブロックが行うリードアクセスは、アドレス指定の順番や転送長に制限が無いことを特徴とする請求項1記載の情報処理装置。
  11. 上記キャッシュメモリは、上記ダイナミックランダムアクセスメモリに対してリードアクセスのみを行うことを特徴とする請求項1記載の情報処理装置。
  12. 複数の記憶素子からなり、データを保持するため該記憶素子に電荷を補充するプリチャージ操作を必要とするダイナミックランダムアクセスメモリと、
    上記ダイナミックランダムアクセスメモリの記憶領域を複数に分割したバンク毎に、該ダイナミックランダムアクセスメモリに行われたアクセスを管理するメモリコントローラと、
    バスを介して上記メモリコントローラと接続され、上記ダイナミックランダムアクセスメモリに記憶されているデータをキャッシュするキャッシュメモリと、
    上記キャッシュメモリを介して、上記ダイナミックランダムアクセスメモリにリードアクセスを行う情報処理ブロックとを備える情報処理装置の制御方法において、
    上記キャッシュメモリは、
    上記情報処理ブロックが行ったリードアクセスに対するキャッシュミスに応じて上記ダイナミックランダムアクセスメモリに記憶されているデータをキャッシュするリフィル要求を、上記メモリコントローラがバンク単位で管理している各記憶領域に対して生成するステップと、
    上記生成されたリフィル要求が上記メモリコントローラが管理している複数のバンクのうち所定数のバンクに対して揃ったとき、該所定数のバンクに対するリフィル要求を連結して上記ダイナミックランダムアクセスメモリにリードアクセスを行うステップとを有することを特徴とする情報処理装置の制御方法。
JP2007299569A 2007-11-19 2007-11-19 情報処理装置、及び、情報処理装置の制御方法 Expired - Fee Related JP5145890B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007299569A JP5145890B2 (ja) 2007-11-19 2007-11-19 情報処理装置、及び、情報処理装置の制御方法
US12/289,368 US20090132759A1 (en) 2007-11-19 2008-10-27 Information processing apparatus and method for controlling information processing apparatus
TW97143665A TW200928752A (en) 2007-11-19 2008-11-12 Information processing apparatus and method for controlling information processing apparatus
KR20080115060A KR20090051710A (ko) 2007-11-19 2008-11-19 정보처리장치, 및 정보처리장치의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007299569A JP5145890B2 (ja) 2007-11-19 2007-11-19 情報処理装置、及び、情報処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2009128920A true JP2009128920A (ja) 2009-06-11
JP5145890B2 JP5145890B2 (ja) 2013-02-20

Family

ID=40643181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007299569A Expired - Fee Related JP5145890B2 (ja) 2007-11-19 2007-11-19 情報処理装置、及び、情報処理装置の制御方法

Country Status (4)

Country Link
US (1) US20090132759A1 (ja)
JP (1) JP5145890B2 (ja)
KR (1) KR20090051710A (ja)
TW (1) TW200928752A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4962381B2 (ja) * 2008-03-28 2012-06-27 富士通株式会社 情報処理装置、情報処理装置制御方法および情報処理装置制御プログラム
US8843709B2 (en) * 2011-11-28 2014-09-23 Mediatek Inc. Method and apparatus for performing dynamic configuration
US9122616B2 (en) 2011-11-28 2015-09-01 Mediatek Inc. Method and apparatus for performing dynamic configuration
JP6050583B2 (ja) * 2011-12-27 2016-12-21 株式会社メガチップス 画像処理装置及びメモリアクセス制御方法
US9323679B2 (en) * 2012-08-14 2016-04-26 Nvidia Corporation System, method, and computer program product for managing cache miss requests
CA3027768C (en) * 2016-07-01 2024-02-27 Assa Alboy Accessories And Door Controls Group, Inc. Apparatus for minimizing closing force of a door
US11269643B2 (en) * 2017-04-09 2022-03-08 Intel Corporation Data operations and finite state machine for machine learning via bypass of computational tasks based on frequently-used data values
CN109714630B (zh) * 2018-12-17 2021-10-26 新视家科技(北京)有限公司 图片存储方法及其装置、电子设备、计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07249116A (ja) * 1994-01-21 1995-09-26 Mitsubishi Electric Corp 画像処理回路、それを備えた半導体集積回路装置、その半導体集積回路装置を用いた画像記憶処理システムおよびその半導体集積回路装置のためのテスト方法
JP2004021896A (ja) * 2002-06-20 2004-01-22 Nec Corp キャッシュフィル制御方法及びcpu

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5883679A (en) * 1997-02-20 1999-03-16 C-Cube Microsystems, Inc. Scanning scheme for images stored in dynamic random access memory
JP4451717B2 (ja) * 2004-05-31 2010-04-14 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
US20060007235A1 (en) * 2004-07-12 2006-01-12 Hua-Chang Chi Method of accessing frame data and data accessing device thereof
US20070165042A1 (en) * 2005-12-26 2007-07-19 Seitaro Yagi Rendering apparatus which parallel-processes a plurality of pixels, and data transfer method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07249116A (ja) * 1994-01-21 1995-09-26 Mitsubishi Electric Corp 画像処理回路、それを備えた半導体集積回路装置、その半導体集積回路装置を用いた画像記憶処理システムおよびその半導体集積回路装置のためのテスト方法
JP2004021896A (ja) * 2002-06-20 2004-01-22 Nec Corp キャッシュフィル制御方法及びcpu

Also Published As

Publication number Publication date
KR20090051710A (ko) 2009-05-22
JP5145890B2 (ja) 2013-02-20
US20090132759A1 (en) 2009-05-21
TW200928752A (en) 2009-07-01

Similar Documents

Publication Publication Date Title
JP5145890B2 (ja) 情報処理装置、及び、情報処理装置の制御方法
US7805587B1 (en) Memory addressing controlled by PTE fields
US20080285652A1 (en) Apparatus and methods for optimization of image and motion picture memory access
US8918589B2 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
JP4416694B2 (ja) データ転送調停装置およびデータ転送調停方法
US7737986B2 (en) Methods and systems for tiling video or still image data
CN102055973B (zh) 存储器地址映射方法及存储器地址映射电路
JP5266096B2 (ja) 画像データストリームを生成するための方法及び装置、画像データストリームから現在の画像を再構成するための方法及び装置
US20080055328A1 (en) Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory
KR100606812B1 (ko) 비디오 디코딩 시스템
JP2006520551A (ja) メモリワードアレイ構成およびメモリアクセス予測結合
CN101340569A (zh) 高速缓存及其数据处理方法
US9916251B2 (en) Display driving apparatus and cache managing method thereof
JP5194703B2 (ja) データ処理装置及び共有メモリのアクセス方法
US7401177B2 (en) Data storage device, data storage control apparatus, data storage control method, and data storage control program
CN100444636C (zh) 提高视频解码器中sdram总线效率的方法
KR100282389B1 (ko) 에이치디티브이 비디오 디코더의 메모리 제어 방법
EP3298496A1 (en) Systems and methods for addressing a cache with split-indexes
WO2007052203A2 (en) Data processing system
US20110142128A1 (en) Method and apparatus interleaving pixel of reference image within single bank of frame memory, and video codec system having the same
JP2014013506A (ja) 情報処理装置、制御方法、及びプログラム
JP4983160B2 (ja) 動画像処理装置
JP2008054183A (ja) 動画像処理方法及び動画像処理装置
JP6329521B2 (ja) 参照画像バッファ
JP2001128108A (ja) ビデオ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120925

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: 20121030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121112

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

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees