JP2019091191A - 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム - Google Patents

半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム Download PDF

Info

Publication number
JP2019091191A
JP2019091191A JP2017218753A JP2017218753A JP2019091191A JP 2019091191 A JP2019091191 A JP 2019091191A JP 2017218753 A JP2017218753 A JP 2017218753A JP 2017218753 A JP2017218753 A JP 2017218753A JP 2019091191 A JP2019091191 A JP 2019091191A
Authority
JP
Japan
Prior art keywords
unit
read
data
reading
bank
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
JP2017218753A
Other languages
English (en)
Inventor
ヴァン ニャット ウィン
Van Huynh Nhat
ヴァン ニャット ウィン
誠二 望月
Seiji Mochizuki
誠二 望月
勝重 松原
Katsushige Matsubara
勝重 松原
俊之 加谷
Toshiyuki Kaya
俊之 加谷
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2017218753A priority Critical patent/JP2019091191A/ja
Priority to US16/128,310 priority patent/US10782886B2/en
Priority to EP18196132.7A priority patent/EP3484156A1/en
Priority to TW107139117A priority patent/TWI768147B/zh
Priority to CN201811326029.3A priority patent/CN109785880B/zh
Publication of JP2019091191A publication Critical patent/JP2019091191A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Input (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Hardware Redundancy (AREA)
  • Memory System (AREA)

Abstract

【課題】処理の遅延を抑制する半導体装置を提供する。【解決手段】半導体装置100は、複数のバンクを有するメモリ110内の複数のバンクに跨って記憶されているデータを読み取る複数のリード部132及び142と、複数のリード部132及び142のうち一のリード部がデータを読み取る場合に読取りを開始するバンク番号である読取り開始バンク番号を、一のリード部を除くリード部の動作状況に応じて決定し、決定した読取り開始バンク番号を一のリード部に指示するアクセス方法管理部と、を備えたものである。【選択図】図1

Description

本発明は半導体装置、データ処理システム、データ読取り方法、及び画データ読取りプログラムに関する。
入力された複数の画像を合成させる処理を行う画像処理装置などにおいて、同一のメモリバンクに記憶されたデータを参照しながら複数の処理を並列的に行う場合がある。このような場合、同一の参照データに対して複数の処理系が同時にアクセスすると、メモリのバンク競合が発生することがある。このような、処理時間の遅延につながるバンク競合を避けるための様々な工夫が提案されている。
特許文献1には、参照画像メモリから読み出す複数ラインの画素データが同一バンクにある場合にバンク競合を回避する技術が提案されている。かかる提案によれば、動画像符号化における動き探索装置は、競合バンク先行読み出し制御部によって、一方のラインの画素データを先行して読み出し、読み込みデータ保持回路によってプログラマブルエレメントアレイ部への入力タイミングまで保持しておく。
特開2009−71569号公報
しかし、上述の動き探索装置は、バンク競合が発生するか否かの判定を、かかる装置の外部で行っていない。そのため、かかる装置を複数個並べたような構成の場合には、複数のメモリリード部が共通のメモリに対してアクセスすることになる。したがって、このような場合には、バンク競合を回避することが出来ない。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、
複数のバンクを有するメモリに前記複数のバンクに跨って記憶されているデータを読み取る複数のリード部と、
前記複数のリード部のうち一のリード部が前記データを読み取る場合に読取りを開始するバンク番号である読取り開始バンク番号を、前記一のリード部を除くリード部の動作状況に応じて決定し、決定した前記読取り開始バンク番号を前記一のリード部に指示するアクセス方法管理部と、
を備えたものである。
一実施の形態によれば、データ読取り方法は、
複数のバンクを有するメモリに前記複数のバンクに跨って記憶されているデータを読み取る複数のリード部を用意し、
前記複数のリード部のうち一のリード部が前記データを読み取る場合に読取りを開始するバンク番号である読取り開始バンク番号を、前記一のリード部を除くリード部の動作状況に応じて決定し、
決定した前記読取り開始バンク番号を前記一のリード部に指示するものである。
一実施の形態によれば、データ読取りプログラムは、
コンピュータに、
複数のバンクを有するメモリに前記複数のバンクに跨って記憶されているデータを読み取る複数のリード部を用意させ、
前記複数のリード部のうち一のリード部が前記データを読み取る場合に読取りを開始するバンク番号である読取り開始バンク番号を、前記一のリード部を除くリード部の動作状況に応じて決定させ、
決定させた前記読取り開始バンク番号を前記一のリード部に指示させるものである。
前記一実施の形態によれば、処理の遅延を抑制する半導体装置を提供することができる。
実施の形態1にかかる半導体装置のブロック図である。 リード部132の機能を説明するためのブロック図である。 実施の形態1にかかる画像データのロウ座標と画素座標を例示した図である。 ライト部134の機能を説明するためのブロック図である。 メモリ110のアドレス空間を説明するための模式図である。 実施の形態にかかる画像データ読取り処理を説明するためのフローチャートである。 第2画像処理部140が読み取る物理アドレスの推移を示す模式図である。 第1画像処理部130が読み取る物理アドレスの推移を示す模式図である。 第1画像処理部130及び第2画像処理部140のアクセス状態を説明するための図である。 実施の形態1の変形例にかかる半導体装置のブロック図である。 実施の形態2にかかる半導体装置のブロック図である。 実施の形態3にかかる半導体装置のブロック図である。 第2画像処理部440が第2アクセス方法により画像データを読み取る際の論理アドレスの推移を示す模式図である。 第1画像処理部430が第3アクセス方法により画像データを読み取る際の論理アドレスの推移を示す模式図である。 第1画像処理部430及び第2画像処理部440のアクセス状態を説明するための図である。 実施の形態4にかかる画像処理システムのブロック図である。
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
<実施の形態1>
以下に、図面を参照しながら、実施の形態1について説明する。
まず、図1に例示した半導体装置について説明する。図1は、実施の形態1にかかる半導体装置のブロック図である。半導体装置100は、例えばカーナビゲーションシステムや自動運転システムなどカメラを有する車載システム等に搭載される。半導体装置100は、メモリ110に記憶されている複数の画像データを読み取り、読み取った複数の画像を合成処理し、合成処理した画像データをメモリ110に書き込む機能を有している。
半導体装置100が行う合成処理は、例えば、車載ナビゲーションシステムが生成する地図データに、アイコン等を合成させる処理である。また、半導体装置100が行う合成処理は、例えば、車載カメラが取得した画像データに、フィルタ処理などを施す処理も含まれる。このような合成処理において、地図データなど背景として利用される画像データを、親画像と称し、親画像に合成させるアイコンなどの画像データを、子画像と称する。また、親画像と子画像とを合成した画像データを合成画像と称する。つまり、半導体装置100に入力される画像は、親画像及び子画像であり、半導体装置100は、合成画像を出力する。
半導体装置100は、主な構成として、メモリコントローラ120、第1画像処理部130、第2画像処理部140、及びCPU160を有している。
メモリコントローラ120は、メモリ110に記憶された情報を読み取り、又は、メモリ110に対して情報を書き込む機能を主に有している。例えば、メモリ110がDRAM(Dynamic Random Access Memory)の場合、メモリコントローラ120は、半導体装置が指示する論理アドレスをメモリ110の物理アドレスに変換し、メモリ110のロウ番号と、カラム番号とを切り替えながらメモリ110のデータにアクセスする。メモリコントローラ120は、第1画像処理部130、第2画像処理部140、及びCPU160に接続している。また、メモリコントローラ120は、メモリ構成情報記憶部121を有している。メモリ110の情報を読み取る場合、メモリコントローラ120は、接続されている各構成から指示を受けてメモリ110の情報を読み取るとともに、読み取った情報を各構成に出力する。メモリ110に情報を書き込む場合、メモリコントローラ120は、接続されている各構成から情報を受け取るとともに、受け取った情報をメモリ110に書き込む。
メモリ構成情報記憶部121は、メモリ110の構成情報を記憶する。メモリ110の構成情報とは、例えば、メモリ110のバンク数、ロウサイズ、論理アドレス等である。メモリ構成情報記憶部121は、第1画像処理部130及び第2画像処理部130にメモリ110の構成情報を提供する。
第1画像処理部130は、CPU160から受け取った情報に基づいて、複数の画像データを合成する合成処理を行う。合成処理において、第1画像処理部130は、メモリコントローラ120を介して複数の画像データを取得し、取得した複数の画像データを合成し、合成した画像データをメモリコントローラ120に出力する。第1画像処理部130は、レジスタ部131、リード部132、合成処理部133、ライト部134、及び起動管理部135を有している。
レジスタ部131は、第1画像処理部130の動作を決定するための情報をCPU160から受け取り、受け取った情報を記憶する記憶部である。また、レジスタ部131は、起動管理部135に接続し、レジスタ部131が記憶する情報を提供する。レジスタ部131は、アクセス方法レジスタ136、動作レジスタ137、及び画像情報レジスタ138を有している。レジスタ部131が有するこれらの構成の詳細についてはリード部132及びライト部134の詳細とともに後述する。
リード部132は、メモリコントローラ120を介してメモリ110に記憶されている複数の画像データを読み取り、読み取った複数の画像データを合成処理部133に出力する機能を主に有する。
ここで、図2を参照しながら、リード部132の詳細について説明する。図2は、リード部132の機能を説明するためのブロック図である。リード部132は、起動管理部135、アクセス方法レジスタ136、メモリ構成情報記憶部121、画像情報レジスタ138、メモリコントローラ120、合成処理部133に接続している。
また、リード部132は、ロウ座標生成部132a、画素座標変換部132b、コマンド生成部132c、コマンド発行部132d、及びレスポンスデータ格納バッファ132eを有している。
リード部132の起動に際して、起動管理部135は、動作レジスタ137に記憶された動作開始フラグなどの動作情報を検知する。起動管理部135は、動作情報を検知すると、リード部132を起動させる。
ロウ座標生成部132aは、リード部132が起動指示を受けると、読み取りを開始するロウ座標を生成する。ここで、ロウ座標とは、情報が記憶されているメモリのバンク番号及びロウ番号を含む座標のことである。ロウ座標生成部132aは、アクセス方法レジスタ136から、アクセス開始バンク番号136aを受け取る。アクセス開始バンク番号136aは、CPU160から書き込まれた情報である。CPU160は、メモリ110の構成情報と、第2画像処理部140の動作状況とに応じて、リード部132のアクセス開始バンク番号136aの値を決定する。リード部132のアクセス開始バンク番号136aの値が第2画像処理部140のアクセス中のバンク番号と同じでない場合、バンク競合は抑制される。また、ロウ座標生成部132aは、画像情報レジスタ138から親画像のプロファイル情報138aを受け取る。親画像のプロファイル情報138aは、読取りを開始する親画像の読取り開始論理アドレスが含まれる。読取り開始論理アドレスは、画像データの記録が開始される論理アドレスであり、CPU160により予め設定されたものである。ロウ座標生成部132aは、アクセス開始バンク番号136aと、読取り開始論理アドレスを受け取ると、これらをロウ座標に変換して画素座標変換部132bに出力する。続いて、ロウ座標生成部132aは、生成したロウ座標に含まれるロウ番号をインクリメントして画素座標変換部132bに順次出力する。このように、ロウ座標生成部132aは、親画像の読取り開始論理アドレスに対応したロウ座標を起点として、メモリの物理アドレスの配列に従ったロウ座標を生成する。
つまり、ロウ座標生成部132aは、第2画像処理部の動作状況と、読み取る画像データの読取り開始論理アドレスと、に応じて、ロウ座標を決定する。
また、ロウ座標生成部132aは、画素座標変換部132bからバンク遷移情報を受け取る。バンク遷移情報は、ロウ座標に含まれるバンク番号をインクリメントすることを指示する情報である。ロウ座標生成部132aは、受け取ったバンク遷移情報に応じて、ロウ座標のバンク番号をインクリメントする。また、アクセス方法レジスタ136は、更新されたバンク番号を、アクセス中バンク番号136bとして記憶する。アクセス中バンク番号136bは、CPU160が読み取り、第2画像処理部140のアクセス開始バンク番号を決定する際に参照する。
画素座標変換部132bは、ロウ座標生成部132aからロウ座標を受け取ると、受け取ったロウ座標を画素座標に変換し、読み取る画像データの画素座標をコマンド生成部132cに出力する。ここで、画素座標とは、画像データのX座標及びY座標の画素数及び各画素の色深度のビット数の定義に従って配列された論理アドレスである。画素座標は、例えば、X座標とY座標により示される。
図3を参照しながら、ロウ座標と画素座標の関係を示す。図3は、実施の形態1にかかる画像データのロウ座標と画素座標を例示した図である。図3は、ロウ座標RAと、画素座標PCとを、画像データに対応させて配列している。すなわち、図の矢印Xは、画像のX方向(ラスタ方向)に対応し、矢印Yは、画像のY方向(ライン方向)に対応している。メモリから読み取る画像データの任意の画素座標(Xn、Yn)には、対応する画素位置におけるARGB(Alpha/Red/Green/Blue)の輝度情報が含まれる。X座標は、画像における画素のX座標と色情報を並べた場合の座標である。Y座標は、画像における画素のY座標である。例えば、画像データがX方向7680画素、Y方向4320画素を有し、且つ、各画素がARGBの輝度情報として4バイト有している場合、画素座標のX方向には、7680×4=30720バイトの色情報を有している。そして、30720バイト分並べられた色情報のラインが、Y方向に4320行並べられている。つまり、図3に示す例は、(X0、Y0)から(X7679、Y4319)までの画素座標を有している。
一方、ロウ座標は、ライン0の一端側である画素座標(X0、Y0)からラスタ方向に沿って配列され、ライン0の他端側である画素座標(X7679、Y0)まで進むと、隣のラインに遷移する。ロウ座標は、そこからライン方向にバンク番号をインクリメントさせながら配列される。つまり、メモリ110は、1のロウ座標において、バンク番号をインクリメントさせながら全てのカラムにアクセスする。ロウ座標は、1のロウ番号に対する全てのバンク番号をインクリメントしたら、今度はロウ番号をインクリメントさせる。本実施の形態の場合、画素座標(X0、Y0)に対応するロウ座標はbank0.row0である。ロウ座標は、ラスタ方向に、bank1.row0、bank2.row0、と配列され、bank3.row0の次には、ロウ番号をインクリメントし、bank0.row1となる。
また、本実施の形態の場合、1のロウは、4096バイトの画像データを記録する。したがって、例えば、bank0.row0は、画素座標(X0、Y0)から画素座標(X1023、Y0)までの4096バイトのデータを記録する。また、ラスタ方向の端部の画素座標の画像データを記録した後は、隣のラインに遷移して画像データの記録を行う。例えば、bank3.row1は、画素座標(X7679、Y0)の画像データを記録すると、ライン1の画素座標(X0、Y1)に遷移し、画像データの記録を続ける。
図2に戻って説明を続ける。画素座標を出力するに際し、画素座標変換部132bは、ロウ座標生成部132aから受け取ったロウ座標と、メモリ構成情報記憶部121から受け取ったメモリ構成情報と、画像情報レジスタ138が有する親画像のプロファイル情報138aとを参照する。そして、画素座標変換部132bは、参照した情報から読み取る順に画素座標を生成し、生成した画素座標をコマンド生成部132cに出力する。
また、画素座標変換部132bは、バンク遷移情報を、ロウ座標生成部132aに出力する。バンク遷移情報は、ロウ座標生成部132aから受け取ったロウ座標と、画像情報レジスタ138から受け取った親画像のプロファイル情報138aとを照合し、ロウ座標に含まれるバンク番号をインクリメントする必要がある場合に出力される情報である。具体的には、例えば、現在読み取っている画像データにおいて、現在読み取っているバンク番号が有するロウ番号を全て読み取ったと判定した場合、画素座標変換部132bは、ロウ座標生成部132aに対してバンク遷移情報を出力する。
コマンド生成部132cは、画素座標変換部132bが出力した画素座標を受け取ると、読み取る画素座標に対応した読取りコマンドを生成し、合成処理部133及びコマンド発行部132dに出力する。読取りコマンドには、画素座標が含まれる。コマンド生成部132cは、生成した読取りコマンドを、合成処理部133にも出力する。尚、合成処理部133は、受け取った読取りコマンドと、処理した合成画像データとを、ライト部134に出力する。
コマンド発行部132dは、コマンド生成部132cが出力した読取りコマンドを受け取るとともに、レスポンスデータ格納バッファ132eの空き容量に関する情報を受け取る。読取コマンドには、画素座標に対応した論理アドレスが含まれている。これらの情報を受け取り、コマンド発行部132dは、適宜、読取りコマンドをメモリコントローラ120に出力する。
レスポンスデータ格納バッファ132eは、メモリコントローラ120から画像データを受け取り、受け取った画像データを、合成処理部133に出力する。また、レスポンスデータ格納バッファ132eは、内部の空き容量に関する情報をコマンド発行部132dに出力する。
尚、リード部132が行う読取処理は、1枚分の画像データを一度に処理するのではなく、予め設定された量のデータ毎に分割して行われる。例えば、予め設定された量のデータとは、1ロウ分の画像データである。その場合、ロウ座標生成部132aが出力するロウ座標は、1ロウ分で一端終了する。そして、画素座標変換部132bは、1ロウ分のロウ座標に応じた画素座標を出力する。このように、予め設定された量のデータとして、例えば1ロウ分のデータ毎に処理を行う場合、ロウ座標生成部132aは、メモリ構成情報記憶部121から1ロウ分のデータ量に関する情報を受け取り、受け取った情報に応じて、ロウ座標の生成及び出力を終了させる。つまり、この場合、ロウ座標生成部132aは、メモリ構成情報と、第2画像処理部の動作状況と、読取り開始論理アドレスと、に応じて、ロウ座標を決定する 。
次に、図4を参照しながら、ライト部134の詳細について説明する。図4は、ライト部134の機能を説明するためのブロック図である。ライト部134は、合成処理部133、画像情報レジスタ138、及びメモリコントローラ120に接続している。
また、ライト部134は、コマンド生成部134a、送出バッファ134b、及びコマンド発行部134cを有している。
コマンド生成部134aは、合成処理部133が出力した合成画像データを受け取るとともに、かかる合成画像データに対応した画素座標を受け取る。コマンド生成部134aは、これらの情報を受け取ると、出力画像のプロファイル情報138cに応じて、合成画像の画像データをメモリ110に書き込むための書込みコマンドを生成し、生成した書込みコマンドを、コマンド発行部134cに出力する。書込みコマンドは、合成画像の画像データと、画像データに対応した画素座標を含んでいる。コマンド生成部134aは、合成処理部133から受け取った情報と、出力画像のプロファイル情報138cとを照合し、合成画像の全ての画素に対応する合成画像データを処理したか否かを判定する。
送出バッファ134bは、合成処理部133から合成画像を受け取り、バッファリングするとともに、コマンド発行部134cに合成画像の画像データと、残存画素数に関する情報とを出力する。
コマンド発行部134cは、コマンド生成部134aが生成した書込みコマンドを受け取るとともに、送出バッファ134bが出力した合成画像の画像データと、残存画素数に関する情報とを受け取る。そして、コマンド発行部134cは、メモリコントローラ120に対して書込みコマンドと合成画像の画像データとをそれぞれ出力する。
図1に戻り説明を続ける。合成処理部133は、リード部132が読み取った複数の画像データを受け取り、受け取った複数の画像データを合成して合成画像を生成する機能を主に有している。合成処理部133は、リード部132、ライト部134、レジスタ部131と接続している。合成処理部133は、リード部132が読み取った複数の画像データを受け取る。本実施例において、複数の画像データとは、例えば、地図データである親画像及び、親画像に合成するアイコン等の子画像の画像データである。合成処理部133は、レジスタ部131の情報を参照し、複数の画像をどのように合成するかを決定しながら処理をおこなう。複数の画像を合成する方法は従来技術であるため、ここでは説明を省略する。合成処理部133は、生成した合成画像データ及び合成画像に対応する画素座標を、ライト部134に出力する。
起動管理部135は、リード部132及びライト部134の起動を管理する。リード部132及びライト部134を起動するに際し、起動管理部135は、レジスタ部131からリード部132及びライト部134の起動トリガとなる起動レジスタ値を検出する。起動管理部135は、検出した起動レジスタ値に応じて、リード部132及びライト部134に対して起動を指示する。
第2画像処理部140は、第1画像処理部130と同様の機能及び構成を有する。具体的には、第2画像処理部140は、レジスタ部141、リード部142、合成処理部143、ライト部144、起動管理部145を有している。各構成の機能は、第1画像処理部130のそれぞれ対応する構成と同様である。
CPU160は、半導体装置100の中央演算装置である。CPU160は、複数のリード部のうち一のリード部が画像データを読み取る場合に読取りを開始する論理アドレスである読取開始論理アドレスを決定する。
また、CPU160は、メモリコントローラ120を介して、画像データのプロファイル情報を読み取る。CPU160は、読み取った画像データのプロファイル情報を、第1画像処理部130が有するレジスタ部131に書き込む。同様に、CPU160は、読み取った画像データのプロファイル情報を、第2画像処理部140が有するレジスタ部141に書き込む。
また、CPU160は、第1画像処理部130が画像データを読み取る際のアクセス開始バンク番号を決定し、決定したアクセス開始バンク番号を、レジスタ部131のアクセス方法レジスタ136に書き込む。第1画像処理部130のアクセス開始バンク番号を決定するに際し、CPU160は、第2画像処理部140のレジスタ部141に含まれるアクセス方法レジスタ146に記録されているアクセス中バンク番号を参照する。
CPU160は、第1画像処理部130と第2画像処理部140とがバンク競合を発生させないように、アクセス開始バンク番号を決定する。すなわち、CPU160は、第2画像処理部がアクセスしているバンク番号とは異なるバンク番号を、第1画像処理部130のアクセス開始バンク番号として決定する。同様に、CPU160は、第2画像処理部140が画像データを読み込む際のアクセス開始バンク番号を決定し、決定したアクセス開始バンク番号を、レジスタ部141のアクセス方法レジスタ146に書き込む。CPU160は、かかるアクセス開始バンク番号をアクセス方法レジスタ146に書き込むことにより、第1画像処理部130に対してアクセス方法を指示している。CPU160は、上述したように、アクセス方法を管理する機能を含んでいるということができる。
次に、図5を参照しながら、図1に例示したメモリ110のアドレス空間について説明する。図5は、メモリ110のアドレス空間を説明するための模式図である。メモリ110は、例えばDRAM(Dynamic Random Access Memory)等の記憶装置である。本実施の形態において、メモリ110は、4つのバンク(bank0〜bank3)を有している。また、1つのバンクには、16ビット(row0〜row65535)のロウアドレスを有している。また、1つのロウアドレスに対応する論理アドレスは例えば32ビットあり、かかる論理アドレスは、上述した16ビットのロウアドレスと、2ビットのバンクアドレスと、14ビットのバイトアドレスとを含んでいる。尚、これらのアドレスは、あくまで一例を示したものであり、アドレス空間内の割り当ては設定により変更可能であってもよい。
本実施の形態において開示する例において、任意の親画像データは、それぞれ、メモリ110に対してバンク0、ロウ0から記録されるように設定されている。また、半導体装置100は、メモリ110から親画像又は子画像の画像データを読み取る際に、読取り開始論理アドレスの初期値がバンク0、ロウ0に設定されている。尚、メモリ内の物理アドレスと、読取り開始論理アドレスとは、CPU160によりそれぞれが紐づいて管理されていれば上述した内容でなくともよい。
次に、図6を参照しながら、CPU160が行う処理について説明する。図6は、実施の形態にかかる画像データ読取り処理を説明するためのフローチャートである。図6は、CPU160が第1画像処理部130に対して画像データの読取りを指示する場合の処理を示している。
まず、CPU160は、第1画像処理部130に入力するためのアクセス開始バンク番号、画像プロファイル情報などをリセットする(ステップS10)。
次に、CPU160は、第2画像処理部140が動作中か否かを判定する(ステップS11)。具体的には、CPU160は、第2画像処理部140の動作レジスタを読み取り、読み取った値から第2画像処理部140が動作中であることを判定する。
第2画像処理部140が動作中ではない場合、CPU160は、第2画像処理部140が動作中であると判定しない(ステップS11:No)。この場合、メモリ110にアクセスするのは第1画像処理部130だけであるため、バンク競合は発生しない。したがって、CPU160は、予め設定された初期値に基づいて、第1画像処理部130を起動させる処理を行う(ステップS15)。この場合の初期値とは、例えば、アクセス開始バンク番号は、バンク0である。また、例えば、アクセスを開始するロウ番号は、ロウ0である。
第2画像処理部140が動作中の場合、CPU160は、第2画像処理部140が動作中であると判定する(ステップS11:Yes)。この場合、メモリ110にアクセスするのは第1画像処理部130及び第2画像処理部140であるため、バンク競合は発生する可能性がある。
第2画像処理部140が動作中であることを判定した場合(ステップS11:Yes)、CPU160は、第1画像処理部130と第2画像処理部140のアクセス速度が同じか否かを判定する(ステップS12)。
第1画像処理部130と第2画像処理部140のアクセス速度が異なる場合、CPU160は、第1画像処理部130と第2画像処理部140のアクセス速度が同じと判定しない(ステップS12:No)。この場合、CPU160は、第1画像処理部130のアクセス開始バンク番号を設定しない。そこで、CPU160は、上述した初期値に基づいて、第1画像処理部130を起動させる処理を行う(ステップS15)。
一方、第1画像処理部130と第2画像処理部140のアクセス速度が同じ場合、CPU160は、第1画像処理部130と第2画像処理部140のアクセス速度が同じと判定する(ステップS12:Yes)。この場合、第1画像処理部130がアクセスするバンクと、第2画像処理部140がアクセスするバンクとが同じになると、バンク競合は発生する。そこで、CPU160は、第2画像処理部140のアクセス中バンク番号を参照する(ステップS13)。より具体的には、CPU160は、第2画像処理部140のレジスタ部141が有するアクセス中バンク番号を読み取る。
次に、CPU160は、第1画像処理部130のアクセス中バンク番号を設定する(ステップS14)。具体的には、CPU160は、ステップS13において読み取った第2画像処理部140のアクセス中バンク番号を参照し、これと競合しないバンク番号を決定する。例えば、第2画像処理部140のアクセス中バンク番号がバンク0の場合、CPU160は、第1画像処理部130のアクセス開始バンク番号をバンク0ではないものに設定する。第1画像処理部130のアクセス開始バンク番号は、例えば、以下の式(1)に基づいて決定されてもよい。
Figure 2019091191
ここで、BAは、第1画像処理部130のアクセス開始バンク番号である。BNは、第2画像処理部140のアクセス中バンク番号である。BTは、バンク数である。この場合、例えばBN=3、BT=4とすると、BA=1となる。
次に、CPU160は、第1画像処理部130を起動する(ステップS15)。この場合、CPU160は、第1画像処理部130を起動した後、レジスタ部131のアクセス中バンク番号に、ステップS14において設定された値を書き込む。
尚、図6は、CPU160が第1画像処理部130に対して画像データの読取りを指示する場合の処理を示したが、CPU160が第2画像処理部140に対して画像データの読取りを指示する場合の処理も、上述した処理と同様に行われる。
次に、図7及び図8を参照しながら、第1画像処理部130と第2画像処理部140がメモリ110の画像データを読み取る際の物理アドレスの推移について説明する。
図7は、第2画像処理部140が読み取る物理アドレスの推移を示す模式図である。図7は、メモリ110の物理アドレスを模式的に示している。図7において、画像データを記憶する1ロウ分のメモリは矩形状に示されており、同一のバンク番号が縦に配置され、同一のロウ番号が横に配置されている。メモリ110は4つのバンク番号(bank0〜bank3)を有している。したがって、矩形状のメモリは横に4列配置されている。また、メモリ110は65536個のロウ番号(row0〜row65535)を有している。したがって、矩形状に示した1ロウ分のメモリは縦に65536行配置されている。尚、ここに示したバンク番号及びロウ番号は説明のため便宜上付与した番号である。
図7に示した例において、第2画像処理部140は、バンク番号ごとに画像データを読み取る。つまり、第2画像処理部140のリード部142は、読取開始論理アドレスを指示された場合、読取開始論理アドレスに対応したバンク番号に記憶されている画像データを読み取る。そして、リード部142は、次のバンク番号に記憶されている画像データを読み取る動作を順次行う。具体的には、リード部142は、予め設定された初期値に基づいて、画像データの読取りを開始する。予め設定された初期値は、例えば、バンク0、ロウ0である。そして、リード部142は、バンク0の全てのロウに記憶された画像データを順次読み取る。このように、第2画像処理部140は、バンク番号ごとに画像データを読み取る。そのため、第2画像処理部140が読み取る画像データのロウ座標の順序と、図3を参照しながら説明した画像データのラスタ方向のロウ座標の順序とは異なる。
リード部142は、バンク0の画像データを全て読み取ると、バンク番号をインクリメントし、バンク1の画像データを読み取る。リード部142は、このような処理を順次行い、バンク3の画像データを全て読み取る。リード部は、全てのバンクに対して画像データを順次読取り、処理を完了させる。図7において、実線の矢印は、各メモリにおけるリード部142の読取り処理を示している。また、破線の矢印は、読取り処理を移行する際の流れを示している。図7において、リード部142が読取りを開始したメモリは、メモリ116である。そして、リード部142が読取りを最後に行ったメモリは、メモリ117である。
次に、図8を参照しながら、第1画像処理部130が読み取る物理アドレスの推移を説明する。図8は、第1画像処理部130が読み取る物理アドレスの推移を示す模式図である。図8に示した模式図は、図7において説明したものと同じメモリ構成を示したものである。第1画像処理部130は、第2画像処理部と同様に、バンク番号ごとに画像データを読み取る。ただし、第1画像処理部130は、CPU160によりアクセス開始バンク番号が指示されている。
CPU160は、例えば、第2画像処理部140のアクセス中バンク番号をバンク0と読み取る。この場合、CPU160は、第1画像処理部130のアクセス中バンク番号を、例えば、バンク2と設定する。第1画像処理部130のリード部132は、レジスタ部131のアクセス方法レジスタ136に記憶されたアクセス開始バンク番号を読取り、バンク2から画像データの読取を開始する。尚、本実施の形態では、読取開始するロウ番号は、初期値であるロウ番号と同じロウ0である。すなわち、第1画像処理部130は、バンク2、ロウ0のメモリ118から画像データの読取を開始する。
第1画像処理部130は、バンク2の画像データを全て読み取ると、バンク番号をインクリメントし、バンク3の画像データを読み取る。そして、メモリ117の画像データを読み取り終えると、第1画像処理部130は、バンク0、ロウ0のメモリ116の画像データの読取りを開始する。図8において、メモリ117からメモリ116への移行は、一点鎖線の矢印により示されている。第1画像処理部130は、このように順次バンク番号ごとに画像データの読取りを行い、バンク1、ロウ65535のメモリ119まで読み取りを行う。
次に、図9を参照しながら、第1画像処理部130及び第2画像処理部140のアクセス状態を説明する。図9は、第1画像処理部130及び第2画像処理部140のアクセス状態を説明するための図である。図9において、横軸は時間を示している。つまり、図9は、第1画像処理部130及び第2画像処理部140が、どの物理アドレスにアクセスしているかを例示している。
時刻t0から時刻t1にかけて、第1画像処理部130は、バンク0、ロウ0のメモリにおいて、画像1の画像データにアクセスしている。一方、第2画像処理部140は、バンク2、ロウ16200のメモリにおいて、画像1の画像データにアクセスしている。時刻t1から時刻t2にかけて、第1画像処理部130は、バンク0、ロウ8100のメモリにおいて、画像2の画像データにアクセスしている。一方、第2画像処理部140は、バンク2、ロウ24300のメモリにおいて、画像2の画像データにアクセスしている。
このように、第1画像処理部130と、第2画像処理部140とは、同じ処理速度により、異なるバンク番号の画像データにそれぞれアクセスしている。また、第1画像処理部130及び第2画像処理部140は、画像1の画像データと、画像2の画像データとに交互にアクセスし、それぞれの画像データを読み取っている。この場合、例えば、時刻t0から時刻t1にかけて第1画像処理部130が読み取る画像1の画像データの画素座標と、時刻t1から時刻t2にかけて第1画像処理部130が読み取る画像2の画像データの画素座標とは対応している。このように画像データを読み取ることにより、半導体装置100は、親画像と子画像のそれぞれ対応する画像データを順次読み取ることができる。
第1画像処理部130は、時刻t0から時刻t3にかけてバンク0に記憶されている画像1及び画像2の画像データをそれぞれ読み取る。そして、時刻t3以降は、バンク番号をインクリメントし、バンク1の画像データを順次読み取る。同時に、第2画像処理部140は、時刻t0から時刻t3にかけてバンク2に記憶されている画像1及び画像2の画像データをそれぞれ読み取る。そして、時刻t3以降は、バンク番号をインクリメントし、バンク3の画像データを順次読み取る。このように、半導体装置100において、第1画像処理部130と第2画像処理部140とは、バンク競合を回避しながらそれぞれ複数の画像データを読み取る。
以上に説明した構成により、実施の形態1は、処理の遅延を抑制する半導体装置を提供することができる。
なお、画像データの合成処理を例として説明を行ったが、処理はこの例に限られない。複数の処理系が複数のバンクに跨って記憶されているデータを読み取るような処理であれば同様の効果を得ることができる。例えば、画像からノイズを除去するノイズ除去処理や、画像のインターレースとプログレッシブの変換処理なども同様の効果を得ることができる。また、読み取られるデータも画像データに限られない。複数のバンクに跨って記憶されているデータであって、読み取られるバンクの順番に制限がないデータであれば同様の効果を得ることができる。これらは以降に説明する他の実施の形態及びその変形例においても同様である。
<実施の形態1の変形例>
次に、図10を参照しながら実施の形態1の変形例について説明する。図10は、実施の形態1の変形例にかかる半導体装置のブロック図である。図10に示す実施の形態1の変形例にかかる半導体装置200は、図1に示す実施の形態にかかる半導体装置100とは、アクセス方法を指示する構成が異なる。
半導体装置200は、主な構成として、メモリコントローラ120、第1画像処理部230、第2画像処理部240、アクセス方法指示部250、及びCPU160を有している。
第1画像処理部230は、レジスタ部131、リード部132、合成処理部133、及びライト部134を有している。第1画像処理部230は、起動管理部135に代えて、アクセス方法指示部250に接続している。第2画像処理部240は、レジスタ部141、リード部142、合成処理部143、及びライト部144を有している。第2画像処理部240は、起動管理部145に代えて、アクセス方法指示部250に接続している。
アクセス方法指示部250は、第1画像処理部230及び第2画像処理部240に、バンク競合が発生しないように、メモリ110に対するアクセス方法を指示する。具体的には、アクセス方法指示部250は、メモリコントローラ120が有するメモリ構成情報記憶部121に接続し、メモリ構成情報を読み取る。また、アクセス方法指示部250は、第1画像処理部230が有するレジスタ部131に接続し、第1画像処理部230が処理する画像データのプロファイル情報を読み取る。同様に、アクセス方法指示部250は、第2画像処理部240が有するレジスタ部141に接続し、第2画像処理部240が処理する画像データのプロファイル情報を読み取る。
また、アクセス方法指示部250は、第1画像処理部230及び第2画像処理部240の動作状況を監視する。すなわち、アクセス方法指示部250は、第1画像処理部230及び第2画像処理部240が動作中であるか否か、及び、それぞれがアクセス中のバンク番号を監視する。
さらに、アクセス方法指示部250は、第1画像処理部230及び第2画像処理部240に対して、それぞれの読取開始論理アドレスを決定し、決定した読取開始論理アドレスをそれぞれに出力する。
つまり、アクセス方法指示部250は、リード部132及びリード部142のアクセス方法を管理する機能を有している。すなわち、アクセス方法指示部250は、メモリ構成情報と各リード部の動作状況とに応じて読取り開始バンク番号を決定し、決定した読取り開始バンク番号をそれぞれのリード部に指示する。
このような構成を採用することにより、実施の形態1の変形例は、処理の遅延を抑制する半導体装置を提供することができる。
尚、実施の形態1の変形例はこれに限らない。例えば、実施の形態1にかかる半導体装置は、画像処理部を3つ以上有していてもよい。また、実施の形態1にかかる半導体装置は、1つのアクセス方法指示部を有し、さらに各画像処理部が起動管理部を有していてもよい。この場合、アクセス方法指示部は、例えば、複数の画像処理部に接続し、各画像処理部の動作状況を監視するとともに、各画像処理部に対してアクセス競合しないように読取り開始バンク番号を出力する。
<実施の形態2>
次に、図11を参照しながら実施の形態2について説明する。図11は、実施の形態2にかかる半導体装置のブロック図である。図11に示す実施の形態2にかかる半導体装置300は、図10に示す実施の形態1にかかる半導体装置とは、表示インタフェイスを有する点において異なる。また、半導体装置300は、第1画像処理部330が起動管理部335を有し、第2画像処理部340が起動管理部345を有している。
半導体装置300は、主な構成として、メモリコントローラ120、CPU160、第1画像処理部330、第2画像処理部340、アクセス方法指示部350、及び表示インタフェイス部380を有している。
第1画像処理部330は、表示インタフェイス部380と接続している点において、実施の形態1にかかる第1画像処理部と異なる。第1画像処理部330は、合成処理した合成画像を、メモリ110に書き込む機能に加えて、表示インタフェイス部380に出力する機能を有している。すなわち、第1画像処理部330は、合成画像の出力先を選択するスイッチ(不図示)を少なくとも有している。これにより、第1画像処理部330は、合成画像を表示インタフェイス部380に出力するか、ライト部334に出力するかを選択する。
また、第1画像処理部330は、起動管理部335を有している。起動管理部335は、リード部332及びライト部334の起動を管理する。リード部332及びライト部334を起動するに際し、起動管理部335は、レジスタ部331からリード部332及びライト部334の起動トリガとなる起動レジスタ値を読み取る。起動管理部335は、読み取った起動レジスタ値に応じて、リード部332及びライト部334に対して起動を指示する。
アクセス方法指示部350は、第1画像処理部330が有する所定のレジスタを読取り、合成画像の出力先を検知する。アクセス方法指示部350は、検知した出力先に応じて、リード部332のアクセス方法を決定する。
アクセス方法指示部350は、例えば2つのアクセス方法を決定することが出来る。第1のアクセス方法は、実施の形態1において説明した方法である。すなわち、第1アクセス方法は、読取りを開始する論理アドレスに含まれるバンク番号の画像データを読み取り、バンク番号の画像データを読み取り終えた後に、次のバンク番号の画像データを読み取る動作を順次行う。そして、第2アクセス方法は、読取りを開始する論理アドレスからラスタ方向に沿って画像データを読み取る動作を順次行う。すなわち、図3において説明したように、ラスタ方向に沿って画像データを読み取る第2アクセス方法は、1ロウ分の画像データを読み取ると、バンク番号をインクリメントする。そして、所定のロウ番号の全てのバンク番号の画像データを読み取ると、第2アクセス方法は、ロウ番号をインクリメントする。アクセス方法指示部350は、これらのアクセス方法のうちいずれか一のアクセス方法を、リード部に対して指示する。
具体的には、合成画像の出力先がライト部334の場合、アクセス方法指示部350は、リード部332に対して、第1アクセス方法によりメモリ110にアクセスすることを指示する。すなわち、アクセス方法指示部350は、メモリ構成情報記憶部121から受け取ったメモリ構成情報と第2画像処理部340の動作状況とに応じて読取り開始バンク番号を決定する。そして、アクセス方法指示部350は、決定した読取り開始バンク番号をリード部332に指示する。
一方、合成画像の出力先が表示インタフェイス部380の場合、アクセス方法指示部350は、リード部332に対して、第1アクセス方法を指示しない。アクセス方法指示部350が第1アクセス方法を指示しないことにより、リード部332は、表示インタフェイス部380に接続された表示部の表示方法に対応した順序により画像データを読み取る。表示部の表示方法に対応した順序とは、例えば、画像のラスタデータの配列順序にしたがって行うアクセスである。すなわち、リード部332は、第2アクセス方法によるアクセスを行う。
このように、半導体装置300は、画像データを表示部に出力するための表示インタフェイス部380と、メモリ110に画像データを書き込むライト部334とを有している。そして、アクセス方法指示部350は、リード部332が読み取った画像データの出力先が表示インタフェイス部380かライト部334かに応じてアクセス方法を選択する。
合成画像の出力先を選択する構成の例を以下に説明する。まず、CPU160は、合成画像の出力先を第1画像処理部330が有する所定のレジスタに記録する。起動管理部335は、第1画像処理部330を起動させる際に、所定のレジスタの値から、合成画像の出力先を検知する。起動管理部335は、合成画像の出力が表示インタフェイス部380の場合、所定の要求信号パルスをアクセス方法指示部350に出力する。アクセス方法指示部350は、起動管理部335から所定の要求信号を受けると、これに応じて、リード部332に対するアクセス開始バンク番号の指示を停止する。
合成画像の出力先を選択する構成の別の例を以下に説明する。
まず、CPU160は、合成画像の出力先を第1画像処理部330が有する所定のレジスタに記録する。アクセス方法指示部350は、第1画像処理部330が有する所定のレジスタを読み取り、合成画像の出力先を検知する。アクセス方法指示部350は、検知した出力先に応じて、リード部332に対して第1アクセス方法の指示を行うか否かを判定する。
上述したアクセス方法指示部350の機能は、次のように説明することもできる。アクセス方法指示部350は、リード部332が読み取った画像データの出力先が、ライト部334の場合は、第1アクセス方法を決定する。また、アクセス方法指示部350は、リード部332が読み取った画像データの出力先が、表示インタフェイス部380の場合は、第2アクセス方法を決定する。
一方、アクセス方法指示部350は、第2画像処理部340のリード部342に対してアクセス方法を指示する場合は、第1画像処理部のリード部332が行っているアクセス方法を参照する。そして、アクセス方法指示部350は、リード部332が行っているアクセス方法に応じて、リード部342のアクセス方法を決定する。
第1画像処理部330が生成する合成画像データの出力先がライト部334の場合、実施の形態2にかかる半導体装置300は、実施の形態1と同様に、第1アクセス方法により読取処理を行う。そのため、この場合、半導体装置300は、画像データを読み取る際のバンク競合が回避される。
第1画像処理部330が生成する合成画像データの出力先が表示インタフェイス部380の場合、実施の形態2にかかる半導体装置300は、実施の形態1において説明した構成と異なる。この場合、第1画像処理部330は、画像のラスタデータの配列順序にしたがって画像データにアクセスする第2アクセス方法により読取り処理を行う。一方、第2画像処理部340は、読取開始論理アドレスに含まれるバンク番号に記憶されている画像データを読み取る第1アクセス方法により読取り処理を行う。
このように、第1画像処理部330が第2アクセス方法による処理を行い、第2画像処理部340が第1アクセス方法による処理を行う場合、第1画像処理部330がメモリ110に対して行うアクセスと、第2画像処理部340がメモリ110に対して行うアクセスは、一定の確率で互いに競合する。具体的には、メモリ110の論理アドレスがバンクを4つ有している場合、バンク競合は、4分の1すなわち25パーセントの確率で発生する可能性がある。しかし、この場合、バンク競合が発生する確率は予測可能である。そのため、予測されるバンク競合の範囲内において処理速度の遅延を抑えることが出来る。
また、この場合の第2画像処理部340のアクセスするバンクごとのアクセス方法は、画像データのライン方向に近い。そのため、第1画像処理部330が行うラスタ方向に沿ったアクセス方法とは、直行に近い関係を有している。したがって、バンク競合が発生しても短時間にバンク競合が解消される。
以上に説明したように、実施の形態2によれば、処理の遅延を抑制する半導体装置を提供することができる。
<実施の形態3>
次に、図12を参照しながら実施の形態3について説明する。図12は、実施の形態3にかかる半導体装置のブロック図である。図12に示す実施の形態3にかかる半導体装置400は、図1に示す実施の形態1にかかる半導体装置100とは、起動管理部の構成が異なる。実施の形態3にかかる半導体装置400は、複数の画像処理部がそれぞれ読み取る画像データの画像プロファイルを比較する機能を有している。また、実施の形態3にかかる半導体装置400は、起動管理部が指示するアクセス方法が、実施の形態1とは異なる。
半導体装置400は、主な構成として、メモリコントローラ120、CPU160、第1画像処理部430、及び第2画像処理部440を有している。
第1画像処理部430は、レジスタ部431、リード部432、合成処理部433、ライト部434、及び起動管理部435を有している。また、第2画像処理部440は、レジスタ部441、リード部442、合成処理部443、ライト部444、及び起動管理部445を有している。
リード部432は、ロウ座標を逐次生成する処理と、ロウ座標を画素座標に変換する処理とを行わない点において、実施の形態1と異なる。つまり、リード部432は、ロウ座標生成部と、画素座標変換部とを有していない。
起動管理部435は、レジスタ部431に記憶された情報を検知し、リード部432及びライト部434の起動を指示する。また、起動管理部435は、レジスタ部431に記憶された情報を検知し、リード部432に対して第3アクセス方法を指示する。起動管理部445も、起動管理部435と同様の構成を有している。
また、起動管理部435と、起動管理部445とは、互いに接続している。起動管理部435は、レジスタ部431から第1画像処理部430が読み取る画像データのプロファイル情報に含まれるブロックサイズに関する情報を受け取る。また、起動管理部445は、レジスタ部441から第2画像処理部440が読み取る画像データのプロファイル情報に含まれるブロックサイズに関する情報を受け取る。ブロックサイズとは、画像処理部が1度に読み取る画像データのサイズであって、例えば、ロウサイズにバンク数を乗じたもの、又は画像1ラインのバイト数、等である。
例えば、第1画像処理部430が画像データの読取りを開始するに際し、起動管理部435は、起動管理部445から第2画像処理部440が読み取っている画像のプロファイル情報を受け取る。そして、起動管理部435は、第2画像処理部440が読み取っている画像のプロファイル情報と、第1画像処理部430が読み取ろうとしている画像のプロファイル情報とを比較する。比較した結果、ブロックサイズが互いに異なり、バンク競合が発生する確率が予め設定された値より小さい場合、起動管理部435は、リード部432に対して第3アクセス方法の指示を行わない。ここで、第3アクセス方法の指示を行わないというのは、予め設定された初期値に基づくアクセス方法を採用するということである。予め設定された初期値に基づくアクセス方法とは、例えば、画像のラスタデータの配列に沿って画像データにアクセスすることである。すなわち、この場合、リード部432は、第2アクセス方法によるアクセスを行う。
一方、第2画像処理部440が読み取っている画像のプロファイル情報と、第1画像処理部430が読み取ろうとしている画像のプロファイル情報とが共通するブロックサイズを有し、バンク競合が発生する確率が予め設定された値を超える場合、起動管理部435は、リード部432に対して第3アクセス方法を指示する。
起動管理部435がリード部432に対して指示する第3アクセス方法について、図面を参照しながら説明する。まず、図13は、第2画像処理部440が第2アクセス方法により画像データを読み取る際の論理アドレスの推移を示す模式図である。上述のように、第2アクセス方法は、画像のラスタデータの配列に沿ってアクセスする方法である。図13は、図7と同様に、メモリ110の内部を模式的に示している。
図13に示した例において、ブロックサイズは、図13に示す横一行分(1ロウ×4バンク)のデータである。第2画像処理部440は、1度の読取り処理に、ブロック内のバンク番号をインクリメントさせながら画像データを読み取る。図13において、実線矢印は、リード部442のアクセス順序を示している。また、破線矢印は、リード部442のアクセスが移行する論理アドレスを示している。
第2画像処理部440のリード部442は、読取開始論理アドレスを指示された場合、読取開始論理アドレスに含まれるロウ番号に記憶されている画像データを読み取る。そして、リード部442は、同一のロウ番号に記憶されている次のバンク番号の画像データを読み取る。そして、同一のロウ番号に記憶されている全てのバンク番号の画像データを、バンク番号をインクリメントさせながら読み取る。リード部442は、同一のロウ番号に記憶されている画像データの読取りが完了すると、次のロウ番号に移行し、かかるロウ番号において同様に画像データを読み取る。
図13の例においては、リード部442は、バンク0、ロウ0のメモリ411から読取を開始する。そして、リード部442は、バンク0、ロウ0のメモリに記憶されている画像データの読取りを完了すると、バンク番号をインクリメントし、バンク1、ロウ0のメモリに記憶されている画像データの読取りを行う。リード部442は、バンク3、ロウ0の画像データの読取りを完了すると、ロウ番号1に移行し、バンク0、ロウ1のメモリに記憶されている画像データの読取りを行う。リード部442は、このようにして順次画像データの読取りを行い、最後にバンク3、ロウ65535のメモリ412に記憶されている画像データの読取りを行う。
次に、図14を参照しながら、第1画像処理部430が読み取る論理アドレスの推移について説明する。図14は、第1画像処理部430が第3アクセス方法により画像データを読み取る際の論理アドレスの推移を示す模式図である。図14に示した例において、ブロックサイズは、図14に示す横一行分のデータ(1ロウ×4バンク)である。第1画像処理部430は、1度の読取り処理に、ブロック内のバンク番号をデクリメントさせながら画像データを読み取る。
第1画像処理部430のリード部432は、読取開始論理アドレスを指示された場合、読取開始論理アドレスに含まれるロウ番号に記憶されている画像データを読み取る。そして、リード部432は、同一のロウ番号に記憶されている次のバンク番号の画像データを読み取る。そして、同一のロウ番号に記憶されている全てのバンク番号の画像データを、バンク番号をデクリメントさせながら読み取る。リード部432は、同一のロウ番号に記憶されている画像データの読取りが完了すると、次のロウ番号に移行し、かかるロウ番号において同様に画像データを読み取る。
図14の例においては、リード部432は、バンク3、ロウ0のメモリ413から読取を開始する。そして、リード部432は、バンク3、ロウ0のメモリに記憶されている画像データの読取りを完了すると、バンク番号をデクリメントし、バンク2、ロウ0のメモリに記憶されている画像データの読取りを行う。リード部432は、バンク0、ロウ0の画像データの読取りを完了すると、ロウ番号1に移行し、バンク3、ロウ1のメモリに記憶されている画像データの読取りを行う。リード部432は、このようにして順次画像データの読取りを行い、最後にバンク0、ロウ65535のメモリ414に記憶されている画像データの読取りを行う。
次に、図15を参照しながら、第1画像処理部430及び第2画像処理部440のアクセス状態を説明する。図15は、第1画像処理部430及び第2画像処理部440のアクセス状態を説明するための図である。図15において、横軸は時間を示している。つまり、図15は、第1画像処理部430及び第2画像処理部440が、どの論理アドレスにアクセスしているかを例示している。
時刻t0から時刻t1にかけて、第1画像処理部430は、バンク0、ロウ0にアクセスしている。一方第2画像処理部440は、バンク3、ロウ0にアクセスしている。次に、時刻t1から時刻t2にかけて、第1画像処理部430は、バンク1、ロウ0にアクセスしている。一方第2画像処理部440は、バンク2、ロウ0にアクセスしている。
時刻t0から時刻t4にかけて、第1画像処理部430はロウ0の画像データを、バンク番号をインクリメントさせながらアクセスしている。時刻t0から時刻t4にかけて、第2画像処理部440はロウ0の画像データを、バンク番号をデクリメントさせながらアクセスしている。その結果、同一のロウ番号にアクセスしている第1画像処理部430と第2画像処理部440とは、バンク競合が発生していない。同様に、時刻t4から後は、ロウ番号nにおいて第1画像処理部430と第2画像処理部440とは、バンク競合を回避しながらアクセスする。
このような構成を採用することにより、共通するプロファイル情報を有する画像データに対して複数のリード部が読取アクセスを行う場合に、バンク競合を回避しながらアクセスすることが出来る。以上に説明したように、実施の形態3によれば、処理の遅延を抑制する半導体装置を提供することができる。
<実施の形態4>
次に、図16を参照しながら実施の形態4について説明する。図16は、実施の形態4にかかる画像処理システムのブロック図である。図16に示す実施の形態4にかかる画像処理システム600は、上述した実施の形態1から実施の形態3にかかる半導体装置のうちいずれかの半導体装置が含まれる、画像処理システムである。画像処理システム600は、複数のカメラ、複数のテレビチューナ、及び複数の表示部を備えている。画像処理システム600は、メモリに記憶した複数の画像を、半導体装置が有する複数の画像処理部により並列に合成処理を行う。
画像処理システム600は、メモリ510、半導体装置500、第1カメラ601、第1テレビチューナ602、第1表示部603、第2カメラ604、第2テレビチューナ605、第2表示部606、等を備えている。
第1カメラ601、第1テレビチューナ602、第2カメラ604、第2テレビチューナ605は、画像をそれぞれ生成する装置である。第1カメラ601、第1テレビチューナ602、第2カメラ604、第2テレビチューナ605は、それぞれ生成した画像を、半導体装置500に出力する。
半導体装置500は、メモリ510に接続しているメモリコントローラ520、CPU560、第1画像処理部530、第2画像処理部540、アクセス方法指示部550等を有している。また、半導体装置500は、第1カメラ入力インタフェイス501、第1チューナインタフェイス502、第1表示インタフェイス503、第2カメラ入力インタフェイス504、第2チューナインタフェイス505、及び第2表示インタフェイス506等を有している。
例えば、画像処理システム600は、第1カメラ601、第1テレビチューナ602、及び第2カメラ604からそれぞれ入力された画像をメモリ510に記憶する。そして、半導体装置500は、メモリ510に記憶されたこれらの画像と、メモリ510が予め記憶しているアイコンデータとを合成する。このとき、例えば、第1画像処理部530は、第1カメラ601から取得した画像データと、第1テレビチューナ602から取得した画像データと、メモリ510が記憶しているアイコンAとを合成する。同時に、第2画像処理部540は、第1カメラ601から取得した画像データと、第2テレビチューナ605から取得した画像データと、メモリ510が記憶しているアイコンBとを合成する。
このようなシステムにおいて、上述の実施の形態において説明した半導体装置を用いることにより、このような構成を採用することにより、バンク競合を回避しながらメモリ510にアクセスすることが出来る。これにより、実施の形態5によれば、処理の遅延を抑制する画像処理システムを提供することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
上記実施の形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない
(付記1)
複数のバンクを有するメモリに前記複数のバンクに跨って記憶されているデータを読み取る複数のリード部と、
前記複数のリード部のうち一のリード部が前記データを読み取る場合に読取りを開始するバンク番号である読取り開始バンク番号を、前記一のリード部を除くリード部の動作状況に応じて決定し、決定した前記読取り開始バンク番号を前記一のリード部に指示するアクセス方法管理部と、
を備えた半導体装置。
(付記2)
前記アクセス方法管理部は、前記一のリード部を除くリード部がアクセスしている前記バンク番号とは異なるバンク番号を前記読取り開始バンク番号として決定する、
付記1に記載の半導体装置。
(付記3)
前記メモリのメモリ構成情報と前記データの読取り開始論理アドレスとを記憶したメモリ構成情報記憶部をさらに有し、
前記リード部は、前記読取り開始バンク番号と、前記メモリ構成情報と、前記読取り開始論理アドレスと、に応じて、前記メモリへアクセスする論理アドレスを決定する、
付記2に記載の半導体装置。
(付記4)
前記リード部は、前記読取り開始バンク番号を指示された場合、前記メモリの内、前記読取り開始バンク番号のバンク内に記憶されている前記データを読み取り、前記読取り開始バンク番号のバンク内に記憶されている前記データを読み取り終えた後に、読み取り終えたバンク番号とは異なるバンク番号のバンク内に記憶されている前記データを読み取る動作を順次行う、
付記3に記載の半導体装置。
(付記5)
前記データは画像データであって、
前記アクセス方法管理部は、
読取り開始バンク番号のバンク内に記憶されている前記データを読み取り、前記バンク番号のバンク内に記憶されている前記データを読み取り終えた後に、読み取り終えたバンク番号とは異なるバンク番号のバンク内に記憶されている前記データを読み取る動作を順次行う、第1アクセス方法と、
読取りを開始する前記データから画像のラスタ方向に沿って読取り動作を順次行う、第2アクセス方法と、
のうちいずれか一のアクセス方法を、前記リード部に対してさらに指示する、
付記1の半導体装置。
(付記6)
前記データを表示部に出力するための表示インタフェイス部と、
前記メモリに前記データを書き込むライト部と、を更に有し、
前記アクセス方法管理部は、前記一のリード部が読み取ったデータの出力先が前記表示インタフェイス部か前記ライト部かに応じて前記アクセス方法を選択する、
付記5に記載の半導体装置。
(付記7)
前記アクセス方法管理部は、
前記一のリード部が読み取ったデータの出力先が、前記ライト部の場合は、前記第1アクセス方法を決定し、
前記一のリード部が読み取ったデータの出力先が、前記表示インタフェイス部の場合は、前記第2アクセス方法を決定する、
付記6に記載の半導体装置。
(付記8)
前記アクセス方法管理部は、
前記一のリード部が起動する際に、前記一のリード部を除くリード部が行っている前記メモリに対するアクセス方法に応じて、前記一のリード部に対する前記アクセス方法を決定する、
付記5に記載の半導体装置。
(付記9)
前記アクセス方法管理部は、
前記一のリード部が起動する際に、前記一のリード部を除くリード部が行っている前記アクセス方法が前記第2アクセス方法を含む場合は、前記一のリード部に対して、前記第1アクセス方法を決定する、
付記5に記載の半導体装置。
(付記10)
前記複数のリード部は第1のリード部と第2のリード部であり、
前記アクセス方法管理部は、第1のリード部が前記バンク番号をインクリメントさせながら前記データを読み取り、前記第2のリード部に対して、前記バンク番号をデクリメントさせながら前記データを読み取ることをさらに指示する、
付記3に記載の半導体装置。
(付記11)
前記データを生成するデータ生成装置と、
前記データが記憶される前記メモリと、
付記1に記載の半導体装置と、
を備える、データ処理システム。
(付記12)
複数のバンクを有するメモリに前記複数のバンクに跨って記憶されているデータを読み取る複数のリード部を用意し、
前記複数のリード部のうち一のリード部が前記データを読み取る場合に読取りを開始するバンク番号である読取り開始バンク番号を、前記一のリード部を除くリード部の動作状況に応じて決定し、
決定した前記読取り開始バンク番号を前記一のリード部に指示する、
データ読取り方法。
(付記13)
前記読取り開始バンク番号を決定する処理は、
前記一のリード部を除くリード部がアクセスしている前記バンク番号とは異なるバンク番号を前記読取り開始バンク番号として決定する、
付記12に記載のデータ読取り方法。
(付記14)
前記メモリのメモリ構成情報と前記データの読取り開始論理アドレスとをさらに記憶し、
前記読取り開始バンク番号と、前記メモリ構成情報と、前記読取り開始論理アドレスと、に応じて、前記メモリへアクセスする論理アドレスを決定する、
付記13に記載のデータ読取り方法。
(付記15)
前記リード部は、前記読取り開始バンク番号を指示された場合、前記読取り開始バンク番号のバンク内に記憶されている前記データを読み取り、前記読取り開始バンク番号のバンク内に記憶されているデータを読み取り終えた後に、読み取り終えたバンク番号とは異なるバンク番号のバンク内に記憶されている前記データを読み取る処理を順次行う、
付記14に記載のデータ読取り方法。
(付記16)
前記データは画像データであって、
読取り開始バンク番号のバンク内に記憶されている前記データを読み取り、前記バンク番号のバンク内に記憶されている前記データを読み取り終えた後に、読み取り終えたバンク番号とは異なるバンク番号のバンク内に記憶されている前記データを読み取る処理を順次行う、第1アクセス方法と、
読取りを開始する前記データから画像のラスタ方向に沿って読取り処理を順次行う、第2アクセス方法と、
のうちいずれか一のアクセス方法を、前記リード部に対して指示する、
付記12に記載のデータ読取り方法。
(付記17)
前記リード部は、前記データを表示インタフェイス部に出力する場合と、前記メモリに前記データを書き込むライト部に出力する場合と、があり、
前記アクセス方法は、前記データの出力先が前記表示インタフェイス部か前記ライト部かに応じて決定される、
付記16に記載のデータ読取り方法。
(付記18)
前記リード部に対して指示するアクセス方法は、
前記一のリード部が読み取ったデータの出力先が、前記ライト部の場合は、前記第1アクセス方法であり、
前記一のリード部が読み取ったデータの出力先が、前記表示インタフェイス部の場合は、前記第2アクセス方法である、
付記17に記載のデータ読取り方法。
(付記19)
前記一のリード部に対する前記アクセス方法は、
前記一のリード部が起動する際に、前記一のリード部を除くリード部が行っている前記メモリに対するアクセス方法に応じて、決定される、
付記14に記載のデータ読取り方法。
(付記20)
前記一のリード部に対する前記アクセス方法は、
前記一のリード部が起動する際に、前記一のリード部を除くリード部が行っている前記アクセス方法が前記第2アクセス方法を含む場合は、前記第1アクセス方法が決定される、
付記17に記載のデータ読取り方法。
(付記21)
前記複数のリード部は第1のリード部と第2のリード部であり、
第1のリード部が前記バンク番号をインクリメントさせながら前記データを読み取り、
前記第2のリード部が前記バンク番号をデクリメントさせながら前記データを読み取ることをさらに指示する、
付記12に記載のデータ読取り方法。
(付記22)
コンピュータに、
データが記憶されているメモリのメモリ構成情報を記憶させ、
前記メモリに記憶されている前記データを読み取る複数のリード部を用意させ、
前記複数のリード部のうち一のリード部が前記データを読み取る場合に読取りを開始する論理アドレスである読取開始論理アドレスを、前記メモリ構成情報と前記一のリード部を除くリード部の動作状況とに応じて決定させ、
決定した前記読取開始論理アドレスを前記一のリード部に指示させる、
データ読取りプログラム。
(付記23)
前記データのプロファイル情報をさらに記憶させ、
前記読取開始論理アドレスを、前記メモリ構成情報と、前記一のリード部を除くリード部の動作状況と、前記プロファイル情報と、に応じて決定させる、
付記22に記載のデータ読取りプログラム。
(付記24)
前記メモリは複数のバンクを有し、前記論理アドレスは前記複数のバンクの内どのバンクかを示すバンク番号を含み、
前記読取開始論理アドレスを、前記一のリード部を除くリード部がアクセスしている前記バンク番号とは異なるバンク番号を含む論理アドレスに決定させる、
付記23に記載のデータ読取りプログラム。
(付記25)
前記リード部に対し、前記読取開始論理アドレスを指示した場合、
前記読取開始論理アドレスに含まれるバンク番号の前記データを読み取らせ、
前記バンク番号のデータを読み取り終えた後に、次のバンク番号の前記データを読み取らせる処理を順次行う、
付記24に記載のデータ読取りプログラム。
(付記26)
前記データは画像データであって、
読取りを開始する論理アドレスに含まれるバンク番号の前記データを読み取らせ、前記バンク番号のデータを読み取り終えた後に、次のバンク番号の前記データを読み取らせる動作を順次行う、第1アクセス方法と、
読取りを開始する前記データから画像のラスタ方向に沿って前記データを読み取らせる動作を順次行う、第2アクセス方法と、
のうちいずれか一のアクセス方法を、前記リード部に対して指示させる、
付記22に記載のデータ読取りプログラム。
(付記27)
前記リード部は、前記データを表示インタフェイス部に出力する場合と、前記メモリに前記データを書き込むライト部に出力する場合と、があり、
前記アクセス方法は、前記データの出力先が前記表示インタフェイス部か前記ライト部かに応じて決定される、
付記26に記載のデータ読取りプログラム。
(付記28)
前記リード部に対して指示させるアクセス方法は、
前記一のリード部が読み取ったデータの出力先が、前記ライト部の場合は、前記第1アクセス方法であり、
前記一のリード部が読み取ったデータの出力先が、前記表示インタフェイス部の場合は、前記第2アクセス方法である、
付記27に記載のデータ読取りプログラム。
(付記29)
前記一のリード部に対する前記アクセス方法は、
前記一のリード部が起動する際に、前記一のリード部を除くリード部が行っている前記メモリに対するアクセス方法に応じて、決定される、
付記24に記載のデータ読取りプログラム。
(付記30)
前記一のリード部に対する前記アクセス方法は、
前記一のリード部が起動する際に、前記一のリード部を除くリード部が行っている前記アクセス方法が前記第2アクセス方法を含む場合は、前記第1アクセス方法が決定される、
付記27に記載のデータ読取りプログラム。
(付記31)
前記複数のリード部は第1のリード部と第2のリード部であり、
第1のリード部が前記バンク番号をインクリメントさせながら前記データを読み取り、
前記第2のリード部が前記バンク番号をデクリメントさせながら前記データを読み取ることをさらに指示させる、
付記22に記載のデータ読取りプログラム。
100、200、300、400、500 半導体装置
110、510 メモリ
120、520 メモリコントローラ
121 メモリ構成情報記憶部
130、230、330、430、530 第1画像処理部
131、141、331、431、441 レジスタ部
132、142、332、342、432、442 リード部
133、143、433、443 合成処理部
134、144、334、434、444 ライト部
135、145、335、345、435、445 起動管理部
140、240、340、440、540 第2画像処理部
250、350、550 アクセス方法指示部
380 表示インタフェイス部
501 第1カメラ入力インタフェイス
502 第1チューナインタフェイス
503 第1表示インタフェイス
504 第2カメラ入力インタフェイス
505 第2チューナインタフェイス
506 第2表示インタフェイス
600 画像処理システム
601 第1カメラ
602 第1テレビチューナ
603 第1表示部
604 第2カメラ
605 第2テレビチューナ
606 第2表示部

Claims (20)

  1. 複数のバンクを有するメモリに前記複数のバンクに跨って記憶されているデータを読み取る複数のリード部と、
    前記複数のリード部のうち一のリード部が前記データを読み取る場合に読取りを開始するバンク番号である読取り開始バンク番号を、前記一のリード部を除くリード部の動作状況に応じて決定し、決定した前記読取り開始バンク番号を前記一のリード部に指示するアクセス方法管理部と、
    を備えた半導体装置。
  2. 前記アクセス方法管理部は、前記一のリード部を除くリード部がアクセスしている前記バンク番号とは異なるバンク番号を前記読取り開始バンク番号として決定する、
    請求項1に記載の半導体装置。
  3. 前記メモリのメモリ構成情報と前記データの読取り開始論理アドレスとを記憶したメモリ構成情報記憶部をさらに有し、
    前記リード部は、前記読取り開始バンク番号と、前記メモリ構成情報と、前記読取り開始論理アドレスと、に応じて、前記メモリへアクセスする論理アドレスを決定する、
    請求項2に記載の半導体装置。
  4. 前記リード部は、前記読取り開始バンク番号を指示された場合、前記メモリの内、前記読取り開始バンク番号のバンク内に記憶されている前記データを読み取り、前記読取り開始バンク番号のバンク内に記憶されている前記データを読み取り終えた後に、読み取り終えたバンク番号とは異なるバンク番号のバンク内に記憶されている前記データを読み取る動作を順次行う、
    請求項3に記載の半導体装置。
  5. 前記データは画像データであって、
    前記アクセス方法管理部は、
    読取り開始バンク番号のバンク内に記憶されている前記データを読み取り、前記バンク番号のバンク内に記憶されている前記データを読み取り終えた後に、読み取り終えたバンク番号とは異なるバンク番号のバンク内に記憶されている前記データを読み取る動作を順次行う、第1アクセス方法と、
    読取りを開始する前記画像データから画像のラスタ方向に沿って読取り動作を順次行う、第2アクセス方法と、
    のうちいずれか一のアクセス方法を、前記リード部に対してさらに指示する、
    請求項1の半導体装置。
  6. 前記データを表示部に出力するための表示インタフェイス部と、
    前記メモリに前記データを書き込むライト部と、を更に有し、
    前記アクセス方法管理部は、前記一のリード部が読み取った画像データの出力先が前記表示インタフェイス部か前記ライト部かに応じて前記アクセス方法を選択する、
    請求項5に記載の半導体装置。
  7. 前記アクセス方法管理部は、
    前記一のリード部が読み取ったデータの出力先が、前記ライト部の場合は、前記第1アクセス方法を決定し、
    前記一のリード部が読み取ったデータの出力先が、前記表示インタフェイス部の場合は、前記第2アクセス方法を決定する、
    請求項6に記載の半導体装置。
  8. 前記アクセス方法管理部は、
    前記一のリード部が起動する際に、前記一のリード部を除くリード部が行っている前記メモリに対するアクセス方法に応じて、前記一のリード部に対する前記アクセス方法を決定する、
    請求項5に記載の半導体装置。
  9. 前記アクセス方法管理部は、
    前記一のリード部が起動する際に、前記一のリード部を除くリード部が行っている前記アクセス方法が前記第2アクセス方法を含む場合は、前記一のリード部に対して、前記第1アクセス方法を決定する、
    請求項5に記載の半導体装置。
  10. 前記複数のリード部は第1のリード部と第2のリード部であり、
    前記アクセス方法管理部は、第1のリード部が前記バンク番号をインクリメントさせながら前記データを読み取り、前記第2のリード部に対して、前記バンク番号をデクリメントさせながら前記データを読み取ることをさらに指示する、
    請求項3に記載の半導体装置。
  11. 前記データを生成するデータ生成装置と、
    前記データが記憶される前記メモリと、
    請求項1に記載の半導体装置と、
    を備える、データ処理システム。
  12. 複数のバンクを有するメモリに前記複数のバンクに跨って記憶されているデータを読み取る複数のリード部を用意し、
    前記複数のリード部のうち一のリード部が前記データを読み取る場合に読取りを開始するバンク番号である読取り開始バンク番号を、前記一のリード部を除くリード部の動作状況に応じて決定し、
    決定した前記読取り開始バンク番号を前記一のリード部に指示する、
    データ読取り方法。
  13. 前記読取り開始バンク番号を決定する処理は、
    前記一のリード部を除くリード部がアクセスしている前記バンク番号とは異なるバンク番号を前記読取り開始バンク番号として決定する、
    請求項12に記載のデータ読取り方法。
  14. 前記メモリのメモリ構成情報と前記データの読取り開始論理アドレスとをさらに記憶し、
    前記読取り開始バンク番号と、前記メモリ構成情報と、前記読取り開始論理アドレスと、に応じて、前記メモリへアクセスする論理アドレスを決定する、
    請求項13に記載のデータ読取り方法。
  15. 前記リード部は、前記読取り開始バンク番号を指示された場合、前記読取り開始バンク番号のバンク内に記憶されている前記データを読み取り、前記読取り開始バンク番号のバンク内に記憶されているデータを読み取り終えた後に、読み取り終えたバンク番号とは異なるバンク番号のバンク内に記憶されている前記データを読み取る処理を順次行う、
    請求項14に記載のデータ読取り方法。
  16. 前記データは画像データであって、
    読取り開始バンク番号のバンク内に記憶されている前記データを読み取り、前記バンク番号のバンク内に記憶されている前記データを読み取り終えた後に、読み取り終えたバンク番号とは異なるバンク番号のバンク内に記憶されている前記データを読み取る処理を順次行う、第1アクセス方法と、
    読取りを開始する前記データから画像のラスタ方向に沿って読取り処理を順次行う、第2アクセス方法と、
    のうちいずれか一のアクセス方法を、前記リード部に対して指示する、
    請求項12に記載のデータ読取り方法。
  17. 前記リード部は、前記データを表示インタフェイス部に出力する場合と、前記メモリに前記データを書き込むライト部に出力する場合と、があり、
    前記アクセス方法は、前記データの出力先が前記表示インタフェイス部か前記ライト部かに応じて決定される、
    請求項16に記載のデータ読取り方法。
  18. 前記リード部に対して指示するアクセス方法は、
    前記一のリード部が読み取ったデータの出力先が、前記ライト部の場合は、前記第1アクセス方法であり、
    前記一のリード部が読み取ったデータの出力先が、前記表示インタフェイス部の場合は、前記第2アクセス方法である、
    請求項17に記載のデータ読取り方法。
  19. 前記複数のリード部は第1のリード部と第2のリード部であり、
    第1のリード部が前記バンク番号をインクリメントさせながら前記データを読み取り、
    前記第2のリード部が前記バンク番号をデクリメントさせながら前記データを読み取ることをさらに指示する、
    請求項14に記載のデータ読取り方法。
  20. コンピュータに、
    複数のバンクを有するメモリに前記複数のバンクに跨って記憶されているデータを読み取る複数のリード部を用意させ、
    前記複数のリード部のうち一のリード部が前記データを読み取る場合に読取りを開始するバンク番号である読取り開始バンク番号を、前記一のリード部を除くリード部の動作状況に応じて決定させ、
    決定させた前記読取り開始バンク番号を前記一のリード部に指示させる、
    データ読取りプログラム。
JP2017218753A 2017-11-14 2017-11-14 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム Pending JP2019091191A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017218753A JP2019091191A (ja) 2017-11-14 2017-11-14 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム
US16/128,310 US10782886B2 (en) 2017-11-14 2018-09-11 Semiconductor device, data processing system, data reading method, and data reading program
EP18196132.7A EP3484156A1 (en) 2017-11-14 2018-09-23 Semiconductor device, data processing system, data reading method, and data reading program
TW107139117A TWI768147B (zh) 2017-11-14 2018-11-05 半導體裝置、資料處理系統、資料讀取方法及資料讀取程式
CN201811326029.3A CN109785880B (zh) 2017-11-14 2018-11-08 半导体器件、数据处理***、数据读取方法以及数据读取程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017218753A JP2019091191A (ja) 2017-11-14 2017-11-14 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム

Publications (1)

Publication Number Publication Date
JP2019091191A true JP2019091191A (ja) 2019-06-13

Family

ID=63682993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017218753A Pending JP2019091191A (ja) 2017-11-14 2017-11-14 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム

Country Status (5)

Country Link
US (1) US10782886B2 (ja)
EP (1) EP3484156A1 (ja)
JP (1) JP2019091191A (ja)
CN (1) CN109785880B (ja)
TW (1) TWI768147B (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659631A (en) * 1995-02-21 1997-08-19 Ricoh Company, Ltd. Data compression for indexed color image data
US6944731B2 (en) 2001-12-19 2005-09-13 Agere Systems Inc. Dynamic random access memory system with bank conflict avoidance feature
US7401177B2 (en) * 2004-04-19 2008-07-15 Sony Corporation Data storage device, data storage control apparatus, data storage control method, and data storage control program
JP2008135813A (ja) 2006-11-27 2008-06-12 Fujitsu Ltd ターボ復号器及びターボ復号方法
JP4695124B2 (ja) 2007-09-13 2011-06-08 日本電信電話株式会社 動画像符号化における動き探索装置
US8587598B2 (en) * 2009-10-29 2013-11-19 Mediatek Inc. Memory address mapping method for controlling storage of images in memory device and memory address mapping circuit thereof
US8688649B2 (en) * 2010-10-12 2014-04-01 Clinicomp International, Inc. Scalable computer arrangement and method
JP6195342B2 (ja) * 2013-03-27 2017-09-13 キヤノン株式会社 情報処理装置およびメモリアクセス制御方法
KR102202575B1 (ko) * 2013-12-31 2021-01-13 삼성전자주식회사 메모리 관리 방법 및 장치
JP2016091205A (ja) * 2014-10-31 2016-05-23 キヤノン株式会社 画像処理装置、画像処理装置の制御方法およびプログラム
KR20180097026A (ko) * 2017-02-22 2018-08-30 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치 및 데이터 저장 장치의 동작 방법

Also Published As

Publication number Publication date
EP3484156A1 (en) 2019-05-15
US20190146683A1 (en) 2019-05-16
CN109785880B (zh) 2023-09-29
TWI768147B (zh) 2022-06-21
US10782886B2 (en) 2020-09-22
CN109785880A (zh) 2019-05-21
TW201933357A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
WO2019128306A1 (zh) 图像数据读取方法、装置、电子设备及可读存储介质
JP5194703B2 (ja) データ処理装置及び共有メモリのアクセス方法
JP6676162B2 (ja) メモリアクセス制御装置、画像処理装置、および撮像装置
KR102531741B1 (ko) 멀티플 버퍼를 가지는 메모리 장치 및 멀티플 버퍼를 가지는 메모리를 구동하는 방법
CN107204199B (zh) 半导体存储器装置及其地址控制方法
US8902240B2 (en) Image processing device
US20050232027A1 (en) Data storage device, data storage control apparatus, data storage control method, and data storage control program
JP2019091191A (ja) 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム
US20110235936A1 (en) Routable image pipeline device
KR20200063017A (ko) 영상 처리를 위한 전자 장치 및 영상 처리 방법
US20070165039A1 (en) Method and apparatus for decoding video data
JP4293503B2 (ja) 画像処理装置
JP4555642B2 (ja) 信号処理回路
US20100053184A1 (en) Apparatus and method for processing image data
TWI635747B (zh) 扭曲畫面校正裝置及方法
JP2015034891A (ja) レジスタ設定制御装置
JP6750502B2 (ja) メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
US8564603B2 (en) Apparatus for controlling memory device and related method
JP3815316B2 (ja) メモリ制御装置
JP4821410B2 (ja) メモリ制御方法、メモリ制御装置、画像処理装置およびプログラム
JPH0752337B2 (ja) メモリ制御装置
JPH08329233A (ja) メモリー制御回路
JP2010204360A (ja) 画像処理装置および表示用画像メモリアクセス方法
JP2006163464A (ja) 画像処理装置
JP2010204360A5 (ja)