JP4532969B2 - Data processing apparatus and method - Google Patents
Data processing apparatus and method Download PDFInfo
- Publication number
- JP4532969B2 JP4532969B2 JP2004121817A JP2004121817A JP4532969B2 JP 4532969 B2 JP4532969 B2 JP 4532969B2 JP 2004121817 A JP2004121817 A JP 2004121817A JP 2004121817 A JP2004121817 A JP 2004121817A JP 4532969 B2 JP4532969 B2 JP 4532969B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bus
- address information
- signal
- address
- 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
Links
Images
Landscapes
- Image Input (AREA)
Description
本発明は、データ処理装置及び方法に関し、特に、デジタルスチルカメラやテレビ電話端末装置、複写機、プリンタ、及びファクシミリ等の画像処理装置に適用可能なデータ処理装置及び方法に関する。 The present invention relates to a data processing apparatus and method, and more particularly to a data processing apparatus and method applicable to an image processing apparatus such as a digital still camera, a videophone terminal device, a copying machine, a printer, and a facsimile.
近年、処理すべきデータの増大や処理すべきアルゴリズムの複雑化に伴って、メモリ・インテンシブなデータ処理を必要とする画像処理装置が増えてきている。例えば、画像処理装置としてのデジタルスチルカメラでは、CCDから取り込んだ画像データに対し、リアルタイムの信号処理を施しつつ、表示やデータ圧縮を行う必要がある。この場合、CCDから取り込まれたRAWデータ(信号処理前生データ)は、一旦メモリに格納された後、該メモリから順次読み出されて信号処理が施され、またメモリに格納される。 In recent years, with the increase in data to be processed and the complexity of algorithms to be processed, image processing apparatuses that require memory-intensive data processing have increased. For example, in a digital still camera as an image processing apparatus, it is necessary to perform display and data compression while performing real-time signal processing on image data captured from a CCD. In this case, RAW data (raw data before signal processing) captured from the CCD is temporarily stored in a memory, then sequentially read out from the memory, subjected to signal processing, and stored in the memory.
一方、デジタルスチルカメラにおける表示部は、信号処理後の画像データをメモリから読み出しながら表示を行う。データ圧縮部において、信号処理後の画像データをメモリから読み出し、これを圧縮、エンコードした後に再びメモリに書き戻す。特に、表示部は、メモリからの画像データの読み出しが滞ると画像が乱れるなどの問題が発生するため、リアルタイム性が要求される。また、CCDから取り込まれたRAWデータのメモリへの書き込み時、特に、連写時には、滞りなくメモリアクセスが必要とされる。 On the other hand, the display unit in the digital still camera performs display while reading the image data after signal processing from the memory. In the data compression unit, the image data after the signal processing is read from the memory, compressed and encoded, and then written back to the memory. In particular, the display unit is required to have a real-time property because problems such as an image being disturbed occur when reading of image data from the memory is delayed. In addition, when writing RAW data captured from a CCD to a memory, particularly during continuous shooting, memory access is required without delay.
このように、メモリに対して大量のデータ転送が発生するデータ処理装置においては、従来、高速ページモードあるいはEDOモード付のDRAMや、シンクロナスDRAMのような連続的なアドレスに対する連続的なデータ転送が高速化されたメモリデバイスがよく用いられている。理由としては、高速アクセスの可能なSRAMはビット単価が高いため、画像のようなデータ量の多いデータを扱う場合はシステム全体の価格が増大してしまう点、及び、多くの画像処理は、メモリアクセスのアドレス変化がシーケンシャルであるため、連続的なアドレスに対するデータ転送が上記DRAMを用いても比較的パフォーマンスをあげやすいという点が挙げられる。 As described above, in a data processing apparatus in which a large amount of data is transferred to a memory, conventionally, continuous data transfer to a continuous address such as a DRAM with a high-speed page mode or an EDO mode, or a synchronous DRAM. A memory device with a high speed is often used. The reason is that an SRAM capable of high-speed access has a high bit unit price, and therefore, when handling a large amount of data such as an image, the price of the entire system increases. Since the address change of access is sequential, the data transfer to continuous addresses can be relatively easily improved even if the DRAM is used.
上記DRAMが連続的なアドレスに対して高速にアクセス可能な共通的且つ基本的な原理は次のようなものである。すなわち、所定のローアドレスに対応するセンスアンプを一度アクティブにすると、同一ローアドレスに対するアクセスはアクティブになっているセンスアンプに対して行うため高速になる(ページ・ヒット)。一方、異なるローアドレスに対するアクセスが連続的に起こる場合(ページ・ミス・ヒット)は、センスアンプをプリチャージする必要があり、このプリチャージに時間(ペナルティ)がかかるため高速アクセスを行うことができない。 The common and basic principle by which the DRAM can access continuous addresses at high speed is as follows. That is, once a sense amplifier corresponding to a predetermined row address is activated, the access to the same row address is performed on the active sense amplifier, resulting in high speed (page hit). On the other hand, when accesses to different row addresses occur continuously (page miss hit), it is necessary to precharge the sense amplifier, and since this precharge takes time (penalty), high speed access cannot be performed. .
DDR型、RAMBUS型を含むシンクロナスDRAMにおいては、さらに単一のメモリデバイスの中に複数のバンクを備えており、異なるバンクに対応する複数のローアドレスをアクティブにしておくことが可能である。この場合は、異なるローアドレスに対するアクセスに関してもバンクが異なるならば高速なアクセスが可能になる(例えば、特許文献1参照)。 In a synchronous DRAM including a DDR type and a RAMBUS type, a plurality of banks are provided in a single memory device, and a plurality of row addresses corresponding to different banks can be made active. In this case, access to different row addresses can be performed at high speed if the banks are different (see, for example, Patent Document 1).
従来技術においては、さらにデータ処理部によりアクセスされるメモリアドレスをデータ転送に先立って発行し、先行するアドレスに対するデータ転送中に次のアドレスに対するメモリアクセスの準備を行うような方法(パイプライン化)も採られている。例えば、シンクロナスDRAMを用いる場合には、先行するアドレスに対するデータ転送中に、後続のアドレスを次々にキューに格納しておき、キューの先頭(すなわち、現在アクセス中のアドレスの直後にアクセスされるアドレス)が、別バンクに対してページ・ミス・ヒットしていることが判明した場合、先行するデータ転送の最中においても別バンクのプリチャージを並行して行うことができるので、全体としてはプリチャージのためのペナルティを小さくすることができる。 In the prior art, a method of issuing a memory address accessed by the data processing unit prior to data transfer and preparing for memory access to the next address during data transfer to the preceding address (pipelining) Has also been adopted. For example, when a synchronous DRAM is used, subsequent data are stored one after another in the queue during data transfer to the preceding address, and accessed at the head of the queue (that is, immediately after the currently accessed address). Address) is found to be a page miss hit to another bank, it is possible to precharge another bank in parallel even during the preceding data transfer. The penalty for precharging can be reduced.
一方、装置全体の制御やユーザインターフェースをつかさどるCPUは、通常、ROMデバイスに格納された命令を実行し、データ参照が生じたときにのみメインメモリであるDRAMにアクセスする。また、通常は、命令参照時、データ参照時のレイテンシーがCPUの性能に影響を及ぼすため、キャッシュメモリを内蔵している場合が多い。このようなCPUでは、DRAMアクセスはキャッシュミス時のデータ参照であり、頻度はさほど多くないがレイテンシーを小さくする必要がある。そのため、従来技術においては、回路構造の簡易なノンパイプライン型の外部バスを備え、バスアクセスのレイテンシーを小さくするような方法が取られている。 On the other hand, the CPU that controls the entire apparatus and the user interface usually executes instructions stored in the ROM device and accesses the DRAM as the main memory only when data reference occurs. In general, since the latency at the time of instruction reference and data reference affects the performance of the CPU, it often has a built-in cache memory. In such a CPU, DRAM access is a data reference at the time of a cache miss, and the frequency is not so high, but the latency needs to be reduced. Therefore, in the prior art, a method of providing a non-pipeline type external bus having a simple circuit structure and reducing the latency of bus access is taken.
上記画像処理用のDRAMとCPUのデータ参照用のDRAMは、それぞれ専用に備えることが可能であるが、より安価にシステムを構成する必要がある場合は、共用のDRAMを備える場合が多い。この場合、回路構成を簡易化するために、パイプラインアドレス用のキューの1エントリーをCPUのデータ参照アドレス用に割り当てるという方式が考えられた。
しかしながら、従来技術はCPUがキャッシュミス時のデータ参照にのみDRAMのアクセスを行うようなデータ処理には有効であったが、例えばDRAMからCPUバスに接続されたメモリカードにデータをコピーするような処理を行う場合には問題となる。例えば、DRAM容量以上の複数枚画像データを連続撮影する場合、DRAM上のデータを速やかにメモリカードにコピーできなければ、高速の連続撮影を行うことができないという問題が発生する。 However, the prior art is effective for data processing in which the CPU accesses the DRAM only for data reference when a cache miss occurs. For example, data is copied from the DRAM to a memory card connected to the CPU bus. This is a problem when processing. For example, when continuously shooting a plurality of pieces of image data having a capacity larger than that of a DRAM, there is a problem that high-speed continuous shooting cannot be performed unless data on the DRAM can be quickly copied to a memory card.
上記従来技術では、アドレスキューに格納されるアドレスの数は固定されているため、例えば100MB/sのデータ転送能力(バンド幅)を有するDRAMに対し、10段のアドレスキューを備えたメモリコントローラでは、最もメモリアクセスが込み合っている場合に、ノンパイプラインバスに100×(1/10)=10MB/sのバンド幅が割り付けられ、パイプラインバスに100×(9/10)=90MB/sのバンド幅が割り付けられる。EVF(Electrical View Finder)動作時にはノンパイプラインバスのメモリアクセスはほとんど発生しないが、画像処理に90MB/s必要であり、一方、連続撮影時には、メモリカードへのデータコピーのために20MB/s必要だが、撮像のための画像処理には80MB/sあればよいとしても、バンド幅の割付を変更することはできなかった。 In the above prior art, since the number of addresses stored in the address queue is fixed, for example, in a memory controller having a 10-stage address queue for a DRAM having a data transfer capability (bandwidth) of 100 MB / s. When the memory access is most busy, a bandwidth of 100 × (1/10) = 10 MB / s is allocated to the non-pipeline bus, and 100 × (9/10) = 90 MB / s is allocated to the pipeline bus. Bandwidth is allocated. When EVF (Electrical View Finder) is operating, non-pipeline bus memory access rarely occurs. However, 90 MB / s is required for image processing. On the other hand, during continuous shooting, 20 MB / s is required for copying data to a memory card. However, even if 80 MB / s is sufficient for image processing for imaging, the allocation of bandwidth could not be changed.
本発明は、上記問題に鑑みてなされたもので、動作モードによりパイプラインバスとノンパイプラインバスに必要なバンド幅の割り付けを容易に行うことが可能なデータ処理装置及び方法を提供することを目的とする。 The present invention has been made in view of the above problems, and provides a data processing apparatus and method capable of easily allocating a bandwidth necessary for a pipeline bus and a non-pipeline bus according to an operation mode. Objective.
上記目的を達成するために、請求項1記載のデータ処理装置は、データを処理する複数のデータ処理手段と、前記複数のデータ処理手段により処理されるデータを格納するメモリと、前記メモリへのデータ・アクセスを制御するメモリ制御手段とを備えるデータ処理装置において、前記複数のデータ処理手段のうちの少なくとも1つは、アクセスすべき複数のデータに対応する複数の第1のアドレス情報をデータ転送に先立って発行し、前記複数のデータ処理手段のうちの少なくとも他の1つは、アクセスすべきデータに対応する第2のアドレス情報を前記データ転送が完了するまで発行し続け、前記メモリ制御手段は、前記複数の第1のアドレス情報及び前記第2のアドレス情報を格納するアドレス情報格納手段を備え、前記アドレス情報格納手段は、格納可能な前記アドレス情報の数が変更可能に構成されていることを特徴とする。
In order to achieve the above object, a data processing apparatus according to
請求項2記載のデータ処理装置は、請求項1記載のデータ処理装置において、前記第1のアドレス情報はパイプラインアドレス情報であり、前記第2のアドレス情報はノンパイプラインアドレス情報であることを特徴とする。
The data processing device according to
上記目的を達成するために、請求項3記載のデータ処理方法は、データを処理する複数のデータ処理手段と、前記複数のデータ処理手段により処理されるデータを格納するメモリと、前記メモリへのデータ・アクセスを制御するメモリ制御手段とを備えるデータ処理装置のデータ処理方法において、前記メモリ制御手段は、アドレス情報格納手段に格納可能なアドレス情報の数を設定しておき、前記複数のデータ処理手段のうちの少なくとも1つは、アクセスすべき複数のデータに対応する複数の第1のアドレス情報をデータ転送に先立って発行し、前記複数のデータ処理手段のうちの少なくとも他の1つは、アクセスすべきデータに対応する第2のアドレス情報を前記データ転送が完了するまで発行し続け、前記メモリ制御手段は、前記複数の第1のアドレス情報及び前記第2のアドレス情報を前記設定された数だけ前記アドレス情報格納手段に格納することを特徴とする。
In order to achieve the above object, a data processing method according to
請求項4記載のデータ処理方法は、請求項3記載のデータ処理方法において、前記第1のアドレス情報はパイプラインアドレス情報であり、前記第2のアドレス情報はノンパイプラインアドレス情報であることを特徴とする。
The data processing method according to
請求項1記載の装置及び請求項2記載の方法によれば、複数のデータ処理手段のうちの少なくとも1つは、アクセスすべき複数のデータに対応する複数の第1のアドレス情報をデータ転送に先立って発行し、複数のデータ処理手段のうちの少なくとも他の1つは、アクセスすべきデータに対応する第2のアドレス情報をデータ転送が完了するまで発行し続け、当該複数の第1のアドレス情報及び第2のアドレス情報の数が変更可能に構成されているので、動作モードによりパイプラインバスとノンパイプラインバスに必要なバンド幅の割り付けを容易に行うことができる。
According to the apparatus of
以下、本発明の実施の形態を図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の実施の形態に係るデータ処理装置を搭載したデジタルスチルカメラの内部構成を示すブロック図である。同図において、各ブロック間を結合する線の表記は、データ系の接続を太い実線で図示し、制御系の接続を細い実線で図示した。ただし、すべての接続が図示されているわけではなく、説明に必要な代表的な接続のみを図示した。 FIG. 1 is a block diagram showing an internal configuration of a digital still camera equipped with a data processing apparatus according to an embodiment of the present invention. In the same drawing, the notation of the lines connecting the blocks indicates the data system connection with a thick solid line, and the control system connection with a thin solid line. However, not all the connections are illustrated, and only representative connections necessary for the description are illustrated.
デジタルスチルカメラは、主要なブロックとして、画像取り込みに関わる画像取り込みコントローラ1と、画像処理に関わる信号処理プロセッサ2と、画像表示に関わる表示コントローラ3と、画像メモリを制御するメモリコントローラ4と、全体制御に関わるCPU5と、CPU5により実行される命令が格納されたROM18を制御するROMコントローラ17と、撮影した画像データが格納されるメモリカード20を制御するメモリカードコントローラ19とを備える。
The digital still camera includes, as main blocks, an
次に、図1のデジタルスチルカメラの動作を説明するために、上述した各ブロックの動作を説明する。 Next, in order to describe the operation of the digital still camera of FIG. 1, the operation of each block described above will be described.
まず、レンズモジュール6(LENSE)に入力された画像は、CCD7に結像する。レンズモジュール6は、レンズ、オートアイリスのための駆動部、及びオートフォーカスのための駆動部等から成る。駆動部の制御は、CPU5による図示しない制御信号によって行われる。
First, an image input to the lens module 6 (LENSE) is formed on the
CCD7に結像した画像データは、画像データに前処理を行う前処理モジュール8(CDS・AGC)に入力される。なお、CCD7の取り込む有効画素数は640×480画素(VGA相当)である。
The image data imaged on the
前処理モジュール8は、CDS(相関二重サンプリング)及びAGC(自動利得制御)から成る。タイミング生成回路9(TG)は、CCD7及び前処理モジュール8に対して、クロック及びタイミング信号を供給する。
The preprocessing
前処理が行われた画像データは、AD変換器10(ADC)により10ビットのディジタルデータに変換されて、タイミング生成回路11(SG)により生成されるピクセルクロックに同期して画像取り込みコントローラ1に入力される。画像取り込みコントローラ1に入力された画像データは、まず取り込み回路1a(Capture)によって取り込まれ、直ちに有効画素データのみがメモリであるFIFO1bに書き込まれる。
The preprocessed image data is converted into 10-bit digital data by the AD converter 10 (ADC), and is sent to the
バスインターフェース回路1c(BUS IF)は、FIFO1bに書き込まれたデータ数が所定値を超えると、Image Bus100上に書き込みのバストランザクションを発生し、メモリコントローラ4にFIFO1bから読み出したデータを転送する。
When the number of data written to the
バストランザクションは、データ転送を行うための転送先開始アドレス送出(アドレス・フェーズ)と転送すべきデータ送出(データ・フェーズ)の2つのフェーズから成る。本実施の形態では、1回のデータ・フェーズにおいて転送されるデータ量は固定されており、32ビットデータバスを用いて4クロックサイクルで128ビットのデータを転送する。なお、バスインターフェース回路1cは、通常、画像取り込みクロック(Latch Clock)とは非同期のバスクロックで動作している。したがって、FIFO1bの読み出しクロックは、書き込みクロックと非同期であり、FIFO1bはこの非同期データ転送を緩衝するためにも用いられる。
A bus transaction is composed of two phases: transmission of a transfer destination start address for data transfer (address phase) and transmission of data to be transferred (data phase). In this embodiment, the amount of data transferred in one data phase is fixed, and 128-bit data is transferred in 4 clock cycles using a 32-bit data bus. Note that the bus interface circuit 1c normally operates with a bus clock asynchronous with the image capture clock (Latch Clock). Therefore, the read clock of the
Image Bus100には、他にもバストランザクションを発生するバスマスター(例えば、信号処理プロセッサ2、表示コントローラ3等)が複数接続されているので、同時に複数のバストランザクションが発生する可能性がある。しかしながら、バスアービター12(Arbiter)は、バスマスターが1度に1つだけのバストランザクションを発生できるようにImage Bus100を調停する。
Since a plurality of other bus masters (for example, the
メモリコントローラ4は、バスインターフェース回路4a(BUS IF)においてImage Bus100からバストランザクションを受信し、アドレス・フェーズにおいてアドレス情報をアドレス情報キュー4b(QUEUE)に書き込む。
The
DRAMインターフェース回路4c(DRAM IF)は、画像メモリであるDRAM13への制御信号を出力すると共に、アドレス、データをEDOモードでDRAM13に対して出力する。ここで、メモリアドレスは、バストランザクションのアドレス・フェーズにおいて得られたアドレスから生成される。
The DRAM interface circuit 4c (DRAM IF) outputs a control signal to the
また、DRAMインターフェース回路4cは、上記アドレスから始まる連続アドレスに対して、128ビット分のデータをEDOモードで連続的にDRAM13に転送する。なお、バスインターフェース回路4a(BUS IF)、アドレス情報キュー4b、及びDRAMインターフェース回路4cはバスクロックに同期して動作する。
The DRAM interface circuit 4c continuously transfers 128-bit data to the
信号処理プロセッサ2は、読み出しのためのバストランザクションを発生し、バスクロックで動作するバスインターフェース回路2a(BUS IF)によって、画像メモリから画像取り込みコントローラ1によって取り込まれた画像データを読み出す。読み出されたデータは、バスクロックに同期して双方向FIFO2bに書き込まれる。
The
DSP2cは、バスクロックと異なるクロック(DSPクロック)で動作しており、DSPクロックに同期して双方向FIFO2bに書き込まれている画像データにアクセスして、カラーマトリクス処理によりYC分離を行い、つづいて色補正、エッジ強調、ホワイトバランス調整、及びガンマ補正などの処理を行う。このようにして得られた画像データは、表示用に用いられるほか画像圧縮にも用いられる。表示用に用いられる場合は、表示コントローラ3が読み出せるように、バスインターフェース回路2aを起動して書き込みのバストランザクションを発生し、DRAM13にデータを転送する。
The
信号処理プロセッサ2においても、バストランザクションはデータ転送を行うための転送先開始アドレス送出(アドレス・フェーズ)と転送すべきデータ送出(データ・フェーズ)の2つのフェーズから成る。但し、アドレス・フェーズにおいては、読み出しか書き込みかを示す信号も合わせて送出される。
Also in the
CPU5は、CPU Bus200上にバストランザクションを発生する。このバストランザクションは、Image Bus100上のトランザクションと異なり、アドレスフェーズ・データフェーズの区別はない。
The
CPU5よりアドレスが送出されると、データの授受が終了するまでアドレス送出は持続される。メモリコントローラ4は、バストランザクションのアドレスがDRAM13の領域内である場合、バスインターフェース回路4dにおいてバストランザクションを受信し、アドレス情報をアドレス情報キュー4bに書き込む。同時にImage Bus100からのアドレス情報書き込みが発生した場合、Image Bus100のアドレス情報書き込みをWAITさせる。
When the address is transmitted from the
次に、図1のデジタルスチルカメラにおける動作モードについて説明する。動作モードとしては、EVFモード、撮影モード、及び再生モードがある。 Next, operation modes in the digital still camera of FIG. 1 will be described. The operation modes include an EVF mode, a shooting mode, and a playback mode.
EVFモードにおいては、上述した動作を1フレーム分の画像を取り込む毎に繰り返すことによって、連続したフレームを画像メモリに取り込む。信号処理プロセッサ2が画像メモリ上の領域にデータライトする動作としては、同一領域に上書きする動作でよい。
In the EVF mode, the above-described operation is repeated each time an image for one frame is captured, so that consecutive frames are captured in the image memory. The
表示コントローラ3は、信号処理プロセッサ2がデータライトした画像メモリ上の領域より画像データを読み出すことにより表示データを得る。また、表示コントローラ3は、表示データ読み出しのためのバストランザクションを発生し、バスクロックで動作するバスインターフェース回路3aによって画像メモリから表示データを読み出す。
The
次に、この表示データをバスクロックに同期してFIFO3bの書き込みポートに入力する。NTSCのモニタや液晶ディスプレイに代表されるように、一般に表示装置は、画面を絶え間なくリフレッシュする必要があるため、有効画面期間中は所定の表示ピクセルクロックで動作し続けなければならない。そのため、バスインターフェース回路3aは、FIFO3bがフル状態になるまでデータを読み出し続ける。
Next, the display data is input to the write port of the
次に、読み出し回路3c(Data Read)は、表示ピクセルクロックに同期してFIFO3bよりデータを読み出し、NTSCエンコーダ3d(NTSC)に送出する。NTSCエンコーダ3dによってNTSCフォーマットに変換されたディジタルデータは、DAコンバータ14(DAC)によってアナログ信号に変換された後にNTSCモニタ15(MONITOR)によって表示される。
Next, the
上記動作をフレーム毎に連続して実行することにより、EVFモードの動作となる。 By continuously executing the above operation for each frame, the operation becomes an EVF mode operation.
EVFモードにおいては、画像取り込みコントローラ1の書き込みと信号処理プロセッサ2の読み出しが画像メモリの1つのメモリ領域を共有し、信号処理プロセッサ2の書き込みと表示コントローラ3の読み出しが画像メモリのもう1つのメモリ領域を共有し、これら2つの領域へのメモリアクセスは並列的に行われる。
In the EVF mode, the writing of the
次に、撮影モードの動作を説明する。撮影モードでは、1フレーム分の画像を取り込んだ後、該データをJPEG圧縮して外部記憶装置(不図示)等に記録する。 Next, the operation in the shooting mode will be described. In the shooting mode, after an image for one frame is captured, the data is JPEG compressed and recorded in an external storage device (not shown) or the like.
まず、スイッチ群16(SW)のうちの1つはシャッターボタンであり、該ボタンの押下がCPU5によって検出されると、CPU5は図示しない制御信号により画像取り込みコントローラ1に対し、次の1フレームを取り込み終わったら以降のフレームは取り込まないように指示する。同様に、信号処理プロセッサ2に対し、次の1フレームは画像圧縮処理を行うことを通知する。
First, one of the switch groups 16 (SW) is a shutter button. When the
画像取り込みコントローラ1は、EVFモードの場合とは異なり、1フレーム分の画像データを取り込んで画像メモリにデータ転送を行い、終わると一時停止する。一方、信号処理プロセッサ2は、取り込まれた画像データを読み出して、上述した表示データを生成した場合とまったく同様に、YC分離、色補正、エッジ強調、ホワイトバランス調整、及びガンマ補正等の画像処理を行った後、直ちに該データに対して、DCT演算処理、量子化処理、及び可変長符号化処理などを施して得た符号データを、画像メモリ内の表示用データ領域とは別の領域に書き込む。
Unlike the EVF mode, the
CPU5は、CPU Bus200上にリード・トランザクションを発生してメモリコントローラ4にアクセスすることによって符号データを読み出し、当該符号データに必要なマーカー等を付加してJPEGデータとした後に、再びCPU Bus200上にライト・トランザクションを発生して、メモリカードコントローラ19(Memory Card Controller)にアクセスすることによりメモリカード17(MEMORY CARD)に当該JPEGデータを格納する。1フレーム分の画像データの格納が終了すると、CPU5は画像取り込みコントローラ1に対して取り込み再開を通知する。
The
撮影モードにおいては、画像取り込みコントローラ1の書き込みと信号処理プロセッサ2の読み出しが1つのメモリ領域を共有し、信号処理プロセッサ2の書き込みとCPU5の読み出しがもう1つのメモリ領域を共有するが、これら2つの領域へのメモリアクセスは順次的に行われる。
In the photographing mode, the writing of the
次に、再生モードの動作を説明する。再生モードでは、画像取り込みコントローラ1は停止している。
Next, the operation in the playback mode will be described. In the reproduction mode, the
CPU5は、CPU Bus200上にリード・トランザクションを発生してメモリカードコントローラ19にアクセスすることによりメモリカード17に格納されているJPEGデータを読み出し、マーカー等の削除を行って符号データとする。
The
つづいて、CPU5は、CPU Bus200上にライト・トランザクションを発生し、メモリコントローラ4にアクセスすることによってDRAM13に符号データを書き込む。信号処理プロセッサ2は、符号データをDRAM13より読み出して、復号化、逆量子化、及び逆DCT変換等の画像伸長処理を行って表示可能な画像データとした後に、再びDRAM13に書き戻す。表示コントローラ3は、表示可能データをDRAM13より読み出して表示動作を行う。
Subsequently, the
再生モードにおいては、CPU5の書き込みと信号処理プロセッサ2の読み出しが1つのメモリ領域を共有し、信号処理プロセッサ2の書き込みと表示コントローラ3の読み出しがもう1つのメモリ領域を共有するが、これら2つの領域へのメモリアクセスは順次的に行われる。
In the reproduction mode, writing by the
動作モードの変更は、ユーザによるスイッチ群16の操作によって行われる。スイッチの構成は様々な例が考えられるが、例えば、本実施の形態ではダイアルと押しボタンにより構成する。ダイアルの回転により動作モードの候補が順次更新され、押しボタンの押下により候補が選択される。選択のイベントによりCPU5に割り込みが発生する。ROM19に格納された割り込み処理ルーチンは動作モード変更ルーチンをコールする。
The operation mode is changed by operating the
動作モード変更ルーチンでは新たに選択された動作モードを読み取る。読み取られた動作モードに対応して各モジュールの設定を行う。 In the operation mode change routine, the newly selected operation mode is read. Each module is set according to the read operation mode.
次に、アドレス情報キュー4bへのアドレス情報書き込み動作における、CPU Bus200の基本プロトコルを図2のタイミングダイアグラムを参照して説明する。
Next, the basic protocol of the
CPU5は、転送開始信号(start_L)をアサート(「0」)すると共に、32ビットの転送開始アドレス信号(addr[31:0])、バイトイネーブル信号(byteEn[3:0])及びライトインジケータ信号(wr_L)を出力する(サイクル3)。バイトイネーブル信号は、32ビット以下の1,2,3バイト転送時に有効なバイトレーンを示す。ライトインジケータ信号は、リード時に「1」、ライト時に「0」が出力される。
The
CPU5は、バススレーブによってアサートされるデータアクノレッジ信号(rdy_L)が入力されるまで(サイクル5)、転送開始アドレス信号、バイトイネーブル信号、及びライトインジケータ信号の各信号を有効な値に保つ。
The
CPU5は、リード・トランザクションの場合、データアクノレッジ信号のアサートされたサイクル(5)でデータ信号(data[31:0])にドライブされている値を読み取る。一方、ライト・トランザクションの場合は、転送開始信号(start_L)のアサート(サイクル19)からデータアクノレッジ信号(rdy_L)のアサート(サイクル20)まで、CPU5はデータ信号(data[31:0])上に書き込む値をドライブし続ける。
In the case of a read transaction, the
次に、Image Bus100の基本プロトコルを図3のタイミングダイアグラムを参照して説明する。
Next, the basic protocol of
まず、バストランザクションを行いたいバスマスターは、バス要求信号(req)をアサートする(サイクル0)。ここで、バスアービター12は、バス使用権を与えるバスマスターに対してバス許可信号(gnt)をアサートする(サイクル1)。バス使用権を与えられたバスマスターは、アドレスバス使用信号(addrBusy)をアサートすると共に、32ビットの転送開始アドレス信号(addr[31:0])及びリードインジケータ信号(read)を出力する(サイクル2)。リードインジケータ信号には、リード時に「1」、ライト時には「0」が出力される。
First, a bus master who wants to perform a bus transaction asserts a bus request signal (req) (cycle 0). Here, the
バスマスターは、バススレーブ(メモリコントローラ4)によってアサートされるアドレスアクノレッジ信号(ack)が入力されるまで(サイクル3)、アドレスバス使用信号(addrBusy)をアサートし続けると共に、転送開始アドレス信号(addr),リードインジケータ信号(read)の各信号を有効な値に保つ。アドレスバス使用信号(addrBusy)がアサートされている期間がアドレス・フェーズである。 The bus master keeps asserting the address bus use signal (addrBusy) and inputs the transfer start address signal (addr) until the address acknowledge signal (ack) asserted by the bus slave (memory controller 4) is input (cycle 3). ), Each signal of the read indicator signal (read) is kept at a valid value. The period during which the address bus use signal (addrBusy) is asserted is the address phase.
バスアービター12は、アドレス・フェーズ中、トランザクションの識別信号であるtxID[3:0]を出力する。この識別信号は、バススレーブに取り込まれて、データ・フェーズ開始時にどのアドレス・フェーズに対応するデータ・フェーズを開始するのかを通知するために用いられる。
During the address phase, the
アドレス・フェーズの最中であっても、引き続き転送要求のあるマスターはreq信号をアサートし続けてよい(サイクル2,3)。現在処理中のアドレス・フェーズが終了すると、直ちに次のアービトレーションに移って、次のアドレス・フェーズのためのgnt信号がアサートされる(サイクル4)。図2では、サイクル2,3のアドレス・フェーズでアドレス情報としてaddr=A1,read=「1」,txID=「0001」が取り込まれ、サイクル5,6のアドレス・フェーズでアドレス情報としてaddr=A2,read=「0」,txID=「0010」が取り込まれる。
Even during the address phase, a master with a transfer request may continue to assert the req signal (
データ・フェーズは、バススレーブ(メモリコントローラ4)がデータ送受信の準備完了信号(slvDRdy)をアサートすることにより開始される。バススレーブは、準備完了信号(slvDRdy)をアサートすると共にこのデータ・フェーズがどのアドレス・フェーズに対応するデータ転送を行うかを示すために、アドレス・フェーズ時に取り込んでおいた識別信号(txID)をnextID[3:0]信号として出力する(サイクル4)。図2のサイクル4では、nextIDが「0001」であるので、これは一番目のアドレス・フェーズに対応するデータ・フェーズであることがわかる。
The data phase starts when the bus slave (memory controller 4) asserts a data transmission / reception ready signal (slvDRdy). The bus slave asserts the ready signal (slvDRdy) and uses the identification signal (txID) acquired during the address phase in order to indicate which address phase corresponds to the data transfer in this data phase. It is output as a nextID [3: 0] signal (cycle 4). In
準備完了信号(slvDRdy)及び識別信号(nextID)はバスアービター12に入力される。バスアービター12は、識別信号(txID)に基づいてどのマスターとどのスレーブのペアがデータ転送を行うかを判定し、それぞれにデータバス使用許可信号(mstDGnt,slvDGnt)をアサートする。
The preparation completion signal (slvDRdy) and the identification signal (nextID) are input to the
データバス使用許可信号(mstDGnt)をアサートされたバスマスターは、データバス使用信号(dataBusy)をアサートしてバスアービター12に対してデータバスを使用中であることを通知する。一方、バススレーブは、4クロックサイクル間のデータストローブ信号(dataStrobe)をアサートすると共に、リードの場合はデータバス上にデータをドライブする(サイクル6,7,8,9)。ライトの場合は、データストローブ信号に同期してデータバス上のデータをフェッチする(サイクル15,16,17,18)。データを直ちにドライブ又はフェッチすることができない場合は、データストローブ信号をデアサート状態に保っておく(サイクル13,14)。
The bus master asserted with the data bus use permission signal (mstDGnt) asserts the data bus use signal (dataBusy) to notify the
バスマスターは、4クロックサイクル間のデータストローブ信号(dataStrobe)を検出したときは、データバス使用信号(dataBusy)をデアサートする(サイクル10)。バスアービター12は、データバス使用信号(dataBusy)がデアサートされたことを検出すると次のデータバスグラントのサイクル(サイクル1)に移行する。
When the bus master detects the data strobe signal (dataStrobe) for 4 clock cycles, it deasserts the data bus use signal (dataBusy) (cycle 10). When the
バススレーブがアドレスの発行順序とデータ転送の順序を並び替える場合は、準備完了信号(slvDRdy)とともに出力する識別信号(nextID)を用いる。図2では、addr=A3に対応する識別信号「0011」(リード),addr=A4に対応する識別信号「0100」(ライト)の順にアドレス・フェーズが発生しているが、サイクル19においてnextIDとして「0011」ではなく「0100」が出力されていることから、addr=A4に対するライト転送が先に開始される。 When the bus slave rearranges the address issuance order and the data transfer order, an identification signal (nextID) output together with the preparation completion signal (slvDRdy) is used. In FIG. 2, the address phase is generated in the order of the identification signal “0011” (read) corresponding to addr = A3 and the identification signal “0100” (write) corresponding to addr = A4. Since “0100” is output instead of “0011”, the write transfer for addr = A4 is started first.
次に、図1におけるバスインターフェース回路1c,2a,3aの各動作を説明する。なお、バスインターフェース回路1cはライト動作のみを行い、バスインターフェース回路2aはリード及びライト動作を行い、バスインターフェース回路3aはリード動作のみを行うので、バスインターフェース回路2aを例として説明する。
Next, each operation of the
図4は、図1におけるバスインターフェース回路2aの内部構成を示すブロック図である。
FIG. 4 is a block diagram showing an internal configuration of the
アドレス・フェーズ生成部2a1には、FIFO2bが出力するFIFOポインタステータス信号が入力され、FIFO2bの空き容量が転送データ長(本実施の形態では32ビット×4)以上になったことを示すステータスに応じてバス要求信号(req)をアサートする。
A FIFO pointer status signal output from the
バスアービター12よりバス許可信号(gnt)が入力されると、アドレス・フェーズが開始される。アドレス・フェーズ生成部2a1は、アドレス・フェーズにおいては転送開始アドレス信号(addr[31:0])、リードインジケータ信号(read)、及びバス使用信号(addrBusy)を出力すると共に、ペンディングアドレスFIFO2a3に対してリードインジケータをプッシュ(push)する。また、アドレス・フェーズ生成部2a1は、ペンディングアドレスFIFO2a3のフルフラグをモニタしており、当該ペンディングアドレスFIFO2a3がフルの場合は新たにバス要求信号をアサートしない。
When a bus permission signal (gnt) is input from the
本実施の形態では、ペンディングアドレスFIFO2a3は、4つのエントリーを備えており、最大4つまでのアドレス・フェーズをペンディングにすることが可能である。アドレス・フェーズは、バススレーブの出力するアドレスアクノレッジ信号(ack)が入力されると一度終了し、バスマスターはバス使用信号(addrBusy)をデアサートする。 In this embodiment, the pending address FIFO 2a3 includes four entries, and up to four address phases can be made pending. The address phase ends once the address acknowledge signal (ack) output from the bus slave is input, and the bus master deasserts the bus use signal (addrBusy).
アドレス生成部2a2は、CPU5から入力されるアドレス設定信号に応じて開始アドレスが設定され、Image Bus100への32ビットの転送開始アドレス信号(addr[31:0])を生成する。
The address generation unit 2a2 sets a start address according to an address setting signal input from the
データ・フェーズ生成部2a4は、ペンディングアドレスFIFO2a3のエンプティフラグの反転信号をスタート信号としてデータ・フェーズの待機に入る。バスアービター12によりデータバス使用許可信号(mstDGnt)がアサートされると直ちにデータバス使用信号(dataBusy)をアサートしデータストローブ信号の受信待ちとなる。
The data phase generation unit 2a4 enters a data phase standby using the inverted signal of the empty flag of the pending address FIFO2a3 as a start signal. As soon as the data bus use permission signal (mstDGnt) is asserted by the
データライト時は、バススレーブからのデータストローブ信号に応じてFIFO制御信号を駆動してFIFO2bから32ビットのFIFOデータ[31:0]を取り出し、Image Bus100上に32ビットのデータ信号(data[31:0])を出力する。データリード時は、データストローブ信号に応じてImage Bus100上のデータを取り込み、FIFO制御信号を駆動してFIFOへデータを書き込む。本実施の形態では、1回のデータ転送に対して4クロックサイクル分のデータストローブ信号が出力されるので、データ・フェーズ生成部2a4は、4クロックサイクル分のデータストローブ信号を検知すると、データバス使用信号(dataBusy)をデアサートすると同時に、ペンディングアドレスFIFO2a3の先頭エントリーを引き抜く(pop)する。
At the time of data writing, the FIFO control signal is driven in accordance with the data strobe signal from the bus slave to extract the 32-bit FIFO data [31: 0] from the
次に、図1におけるバスアービター12の動作を図5を参照して説明する。
Next, the operation of the
図5は、図1におけるバスアービターの内部構成を示す図である。 FIG. 5 is a diagram showing an internal configuration of the bus arbiter in FIG.
本実施の形態では、Image Bus100上のバスマスターは、画像取り込みコントローラ1、信号処理プロセッサ2、及び表示コントローラ3の3つであり、バス要求信号(req)、バス許可信号(gnt)はバスマスター毎に1本ずつ、それぞれ3ビットのバスとしてリクエストエンコード・ID生成回路12a(req Decoding and ID generation)に接続されている。
In the present embodiment, there are three bus masters on the Image Bus 100: the
リクエストエンコード・ID生成回路12aは、アサートされているすべてのバス要求信号(req)より、ローテーション方式の公平プライオリティ・スキームを用いて1つのバスマスターを選択する。さらに、リクエストエンコード・ID生成回路12aは、アドレスバス使用信号(addrBusy)がデアサートされているならば、選択したバスマスターに対応するバス許可信号(gnt)をアサートすると同時に、識別信号(txID)を生成する。
The request encoding /
本実施の形態では、ペンディングになり得るアドレス・フェーズは1マスターにつき最大4つまでであるので、1つのバスマスターに対しては2bitで「00」→「01」→「10」→「11」→「00」→「01」→の順にシーケンシャルに変化するIDをそれぞれのバスマスターに割り当てる。また、バスマスターが3つあるので、どのマスターかを識別するために2bitを用い、画像取り込みコントローラ1に対しては「00」、信号処理プロセッサ2に対しては「01」、表示コントローラ3に対しては「10」を割り当てる。マスター識別用の2bitを上位に、マスター内のシーケンシャルなID2bitを下位に連結した4bitを識別信号(txID[3:0])とする。
In the present embodiment, there are a maximum of four address phases per master, so that one bus master is “00” → “01” → “10” → “11” in 2 bits. IDs that change sequentially in the order of “00” → “01” → are assigned to each bus master. Further, since there are three bus masters, 2 bits are used to identify which master, which is “00” for the
リクエストエンコード・ID生成回路12aは、バス許可信号(gnt)をアサートすると同時に、識別信号(txID)をバススレーブ(メモリコントローラ)に通知すると共に、バスアービター12の内部に備えるIDキュー12b(ID Queue)にプッシュする。
The request encoding /
IDキュー12bは、6エントリーを備えるキューであり、フルフラグがたっている場合は、リクエストエンコード・ID生成回路12aはどのマスターにもバス許可信号(gnt)をアサートしない。したがって、3つのバスマスターのペンディングできるアドレス・フェーズは合計6個までとなる。
The
バススレーブが識別信号(nextID)を有効にすると共に準備完了信号(slvDRdy)をアサートすると、比較器12c(Comparator)はIDキュー12b内のすべての有効なエントリーとnextID入力とを比較し、6bitの一致信号(match[5:0])のうちの1本のみをアサートする。例えば、IDキュー12bの先頭から3番目のエントリーがマッチすると、match=「000100」となる。
When the bus slave validates the identification signal (nextID) and asserts the ready signal (slvDRdy), the
match信号がデータグラント生成回路12d(mstDGnt and slvDGnt generation)に入力されると、データグラント生成回路12dは6bitのキューエントリー引き抜き信号(popPos[5:0])のうちの1ビットを1クロックサイクルだけアサートすることによりIDキュー12bのエントリーを取り出す。IDキュー12bから取り出された4ビットデータのうちの上位2bitをデコードすることにより、どのバスマスターにデータバスの使用権を与えるべきかが特定できるので、データバス使用信号(dataBusy)がデアサートされ次第、対応するデータバス使用許可信号(mstDGnt)の3bitのうちの1bitをアサートすると同時に、データバス使用許可信号(slvDGnt)をアサートする。
When the match signal is input to the data grant
図6は、図3のサイクル19におけるIDキュー12bの内容と各信号の状態を示したものである。
FIG. 6 shows the contents of the
図3におけるサイクル19の時点では、IDキュー12bの先頭にはtxID=「0011」すなわちマスター「00」からの「11」番目のトランザクションがキューイングされており,2番目のエントリーにはtxID=「0100」すなわちマスター「01」からの「00」番目のトランザクションがキューイングされている。バススレーブが準備完了信号(slvDRdy)をアサートすると共に、出力している識別信号(nextID)は「0100」であるから、比較器12cが出力するmatch信号は「000010」となり、2番目のエントリーがマッチしていることがわかる。
At the time of
データグラント生成回路12dは、キューエントリー引き抜き信号(popPos[5:0])を1クロックサイクル間で「000010」とすることにより、2番目のエントリーを取り込み、上位2ビットをデコードすることにより、データバス使用許可信号(mstDGnt[1])のみを「1」にアサートすることができる。
The data grant
次に、図1のメモリコントローラ4のアドレス情報キュー4bにおいてアドレス情報が格納される動作を図7を参照して説明する。
Next, an operation of storing address information in the
図7は、図1におけるバスインターフェース回路4a,4dとアドレス情報キュー4bの接続を示すブロック図である。
FIG. 7 is a block diagram showing the connection between the
図7において、バスインターフェース回路4a,4d(Bus Interface)は、各々のバストランザクションを検出すると、調停選択回路4e(Arbitration and Select)に対し、それぞれバストランザクション検出信号をアサートする。
In FIG. 7, when the
調停選択回路4eは、アドレス情報キュー4b(Address Queue)からのアドレスキューfull信号がアサートされていなければ、CPU Bus200又はImage Bus100のいずれか一方を選択し、選択信号をマルチプレクサ4f(MUX)に伝達する。
If the address queue full signal from the
マルチプレクサ4fは、上記選択信号に基づきアドレス情報キュー4bに入力するアドレスをCPU Busアドレス又はImage Busアドレスのいずれか一方より選択する。同時に、調停選択回路4eは、アドレス情報キュー4bに対し、アドレス情報取り込み(push)信号をアサートする。
The
次に、メモリコントローラ4内のDRAMインターフェース4cとDRAM13との接続状態の代表的な例を図8に示す。
Next, a typical example of the connection state between the DRAM interface 4c in the
図8において、13a(DRAM_H),13b(DRAM_L)は、共に1Mワード×16ビットのEDOモードDRAMであり、データバス(D)の上位16ビットがDRAM_H13aに、下位16ビットがDRAM_L13bに接続されている。CASがそれぞれ一対一の接続になっている以外は、DRAMの制御線は13a,13bで共用している。アドレス(A)は10ビットであり、ローアドレス、カラムアドレスともに10ビットである。 In FIG. 8, 13a (DRAM_H) and 13b (DRAM_L) are both 1M words × 16 bits EDO mode DRAM, and the upper 16 bits of the data bus (D) are connected to DRAM_H13a and the lower 16 bits are connected to DRAM_L13b. Yes. The control lines of the DRAM are shared by 13a and 13b except that the CASs are connected one to one. The address (A) is 10 bits, and both the row address and the column address are 10 bits.
このような構成に対するアドレス情報キュー4bの内部構成を図9に示す。
The internal configuration of the
Image Bus100上、CPU Bus200上のアドレス(addr[31:0])は、共にバイトアドレスであるので、メモリに対して32ビットアクセスを行う場合は下位2ビットが無視される。本実施の形態では、addr[21:12]をローアドレスに割り付け、addr[11:2]をカラムアドレスに割り付ける。
Since the address (addr [31: 0]) on the
図中の4b1,4b3,4b5,4b7,4b9,4b11がローアドレスを格納するためのキュー要素であり、4b2,4b4,4b6,4b8,4b10,4b12がカラムアドレスを格納するためのキュー要素である。それぞれのキュー要素(i)は、新規入力(addr)、前段(i−1)、後段(i+1)、及び自分自身(i)の4つの値のいずれかによって置換可能となっており、どの値で置換するかをプッシュ・ポップ制御回路4b13が出力するshift[1:0]信号によって制御する。具体的には、shift=「00」のときは「自分自身」、shift=「01」のときは「前段」、shift=「10」のときは「後段」、shift=「11」のときは「新規入力」で置換する。 In the figure, 4b1, 4b3, 4b5, 4b7, 4b9, 4b11 are queue elements for storing row addresses, and 4b2, 4b4, 4b6, 4b8, 4b10, 4b12 are queue elements for storing column addresses. . Each queue element (i) can be replaced by any one of four values: new input (addr), preceding stage (i-1), following stage (i + 1), and itself (i). Is controlled by a shift [1: 0] signal output from the push / pop control circuit 4b13. Specifically, when shift = “00”, “self”, when shift = “01”, “previous stage”, when shift = “10”, “following stage”, when shift = “11” Replace with "new input".
マルチプレクサ4c1(MUX)は、通常、DRAMインターフェース4c内に装備され、DRAMのローサイクル、カラムサイクルに応じてキュー要素の最前段4b11,4b12の出力を選択してメモリアドレスA[9:0]としてメモリに出力する。 The multiplexer 4c1 (MUX) is usually provided in the DRAM interface 4c, and selects the output of the first stages 4b11 and 4b12 of the queue element according to the row cycle and column cycle of the DRAM as the memory address A [9: 0]. Output to memory.
プッシュ・ポップ制御回路4b13は、内部にカウンタ(pointer)を備えており、上記調停選択回路4eからのアドレス情報取り込み信号(push)がアサートされるたびにpointerをインクリメントする。また、DRAMインターフェース回路4cからのアドレス情報削除信号(pop)がアサートされるたびにpointerをデクリメントする。アドレス情報取り込み信号(push)とアドレス情報削除信号(pop)が同時にアサートされた場合はpointerの増減は行わない。
The push / pop control circuit 4b13 includes a counter inside and increments the pointer every time the address information fetch signal (push) from the
プッシュ・ポップ制御回路4b13は、pointerの現在値に応じて必要なshift信号を生成する。例えば、初期状態でpointer=0の場合にpush信号がアサートされると、キュー要素4b11,4b12に対応するshift[1:0]を「11」にドライブすることによりキュー位置0に新規入力を取り込み、pointer=1とする。さらに、push信号がアサートされると、キュー要素4b9,4b10に対応するshift[1:0]を「11」にドライブし、キュー要素4b11,4b12に対応するshift[1:0]は「00」にドライブすることにより、キュー位置0の内容は保持し、キュー位置1に新規入力を取り込む。さらにpointer=2とする。
The push / pop control circuit 4b13 generates a necessary shift signal according to the current value of the pointer. For example, if the push signal is asserted when pointer = 0 in the initial state, the shift [1: 0] corresponding to the queue elements 4b11 and 4b12 is driven to “11” to fetch a new input at the
次に、プッシュ・ポップ制御回路4b13は、メモリインターフェース回路4cよりpop信号を受信すると、キュー要素4b11,4b12に対応するshift[1:0]を「01」にドライブすることによりキュー位置0にキュー位置1に格納されていた情報をシフトし、pointer=1とする。
Next, upon receiving the pop signal from the memory interface circuit 4c, the push / pop control circuit 4b13 drives the shift [1: 0] corresponding to the queue elements 4b11 and 4b12 to “01” to queue at the
pointerの値の上限は、キュー深さ設定回路4b14(Queue Depth)により決定される。キュー深さは図示しない制御信号を使用してCPU5により設定される。設定値は、比較器4b15(pointer ≧ Queue Depth)によりpointer値と比較され、pointer値≧設定値となったときにキューfull信号がアサートされ、バスインターフェース回路4aまたは4dからの新たなアドレス情報の格納が停止する。
The upper limit of the pointer value is determined by the queue depth setting circuit 4b14 (Queue Depth). The queue depth is set by the
次に、キュー深さの設定が4の場合に、アドレス情報キュー4bへアドレス情報が格納される動作を図10及び図11を用いて説明する。
Next, an operation of storing address information in the
図10は、キュー深さの設定が4の場合のアドレス情報の格納動作のタイミングダイアグラムを示す図であり、図11は、図10のタイミングダイアグラムにおけるアドレス情報キュー4bの状態遷移を示す図である。
10 is a diagram showing a timing diagram of the address information storing operation when the queue depth is set to 4. FIG. 11 is a diagram showing state transition of the
サイクル2においてImage Busトランザクションが発生し、追ってサイクル3でCPU Busトランザクションが発生する。この場合、サイクル3においてImage Bus100のアドレスA1がアドレス情報キュー4bにプッシュされる。つづいて、サイクル5においてCPU Bus200のアドレスa1がプッシュされる。Image Bus100上では、後続のアドレス・フェーズが発生しているので、サイクル7においてアドレスA2がプッシュされ、サイクル10ではアドレスA3がプッシュされる。この結果、pointerが4になるため、full信号がアサートされ、アドレスA4のキューイングはウエイトされる(図11(d))。
In
サイクル14において、A1に対応するデータ転送が終了し、A1がポップされる。結果、pointerが3になるため(図11(e))、full信号がネゲートされる。サイクル15において、直ちにアドレスA4がプッシュされる。サイクル18において、CPU Bus200のa1に対応するデータ転送が終了し、a1がポップされると同時に、CPU Bus200上でデータアクノレッジ信号(rdy_L)がアサートされる。CPU Bus200は、ノンパイプラインバスであるため、次のトランザクションはサイクル19より開始される。サイクル19では、直ちにCPU Bus200のアドレスa2がプッシュされ、その後、ポップが発生するとImage Bus100のアドレスA5,A6がプッシュされる。
In
図10に示すタイミングダイアグラムからわかるように、Image Busトランザクションがメモリアクセスを行う機会は、CPU Busトランザクションがメモリアクセスを行う機会よりも3倍多くなっている。 As can be seen from the timing diagram shown in FIG. 10, the opportunity for the Image Bus transaction to perform memory access is three times as large as the opportunity for the CPU Bus transaction to perform memory access.
次に、キュー深さの設定が2の場合に、アドレス情報キュー4bへアドレス情報が格納される動作を図12及び図13を参照して説明する。
Next, an operation of storing address information in the
図12は、キュー深さの設定が2の場合のアドレス情報の格納動作のタイミングダイアグラムを示す図であり、図13は、図12のタイミングダイアグラムにおけるアドレス情報キュー4bの状態遷移を示す図である。
12 is a diagram showing a timing diagram of the address information storing operation when the queue depth is set to 2. FIG. 13 is a diagram showing state transition of the
サイクル2においてImage Busトランザクションが発生し、追ってサイクル3でCPU Busトランザクションが発生する。この場合、サイクル3においてImage Bus100のアドレスA1がアドレス情報キュー4bにプッシュされる。つづいて、サイクル5においてCPU Bus200のアドレスa1がプッシュされる。この結果、pointer値が2になるためfull信号がアサートされ、アドレスA2のキューイングはウエイトされる。サイクル10においてA1に対応するデータ転送が終了し、A1がポップされる。結果、pointerが1になるため、full信号がネゲートされる(図12(c))。
In
サイクル11において、直ちにアドレスA2がプッシュされる。サイクル14において、CPU Bus200のa1に対応するデータ転送が終了し、a1がポップされると同時に、CPU Bus200上でデータアクノレッジ信号(rdy_L)がアサートされる。CPU Bus200は、ノンパイプラインバスであるため、次のトランザクションはサイクル15より開始される。
In
Image Bus100上では、すでにアドレスA3が出力されているが、CPU Bus200の優先度が高いため、サイクル15で直ちにCPU Bus200のアドレスa2がプッシュされる。この後、ポップが発生する毎に、Image BusアドレスA3、CPU Busアドレスa3、Image BusアドレスA4、CPU Busアドレスa4の順にプッシュされる。
Although the address A3 has already been output on the
図11に示すタイミングダイアグラムからわかるように、Image Busトランザクションがメモリアクセスを行う機会とCPU Busトランザクションがメモリアクセスを行う機会とは、ほぼ一対一となっている。 As can be seen from the timing diagram shown in FIG. 11, the opportunity for the Image Bus transaction to perform memory access and the opportunity for the CPU Bus transaction to perform memory access are almost one-to-one.
上記実施の形態によれば、Image Busトランザクションがメモリアクセスを行う機会とCPU Busトランザクションがメモリアクセスを行う機会との比率は、キュー深さの設定によって容易に制御することが可能である。 According to the above-described embodiment, the ratio of the opportunity for the Image Bus transaction to perform memory access and the opportunity for the CPU Bus transaction to perform memory access can be easily controlled by setting the queue depth.
したがって、EVFモードのように、CPU5がメモリアクセスを行う機会は少ないが、Image Bus100上のデバイスが並列的に大量のデータ転送をメモリとの間で行う必要があるときにキュー深さを例えば6に設定し、撮影モードのように、EVFモードに比べるとImage Bus100上のデータ転送レートは低いが、CPU5がメモリからメモリカードにデータ転送を行うデータ転送レートを高くしなければ連続撮影性能が低下するようなときは、キュー深さを例えば3に設定するように制御を行うことにより、動作モードに応じた最適なメモリバンド幅の分配が可能になる。
Therefore, unlike the EVF mode, the
1 画像取り込みコントローラ
2 信号処理プロセッサ
3 表示コントローラ
4 メモリコントローラ
4b アドレス情報キュー
4c DRAMインターフェース回路
5 CPU
100 Image Bus
200 CPU Bus
DESCRIPTION OF
100 Image Bus
200 CPU Bus
Claims (4)
前記複数のデータ処理手段のうちの少なくとも1つは、アクセスすべき複数のデータに対応する複数の第1のアドレス情報をデータ転送に先立って発行し、
前記複数のデータ処理手段のうちの少なくとも他の1つは、アクセスすべきデータに対応する第2のアドレス情報を前記データ転送が完了するまで発行し続け、
前記メモリ制御手段は、前記複数の第1のアドレス情報及び前記第2のアドレス情報を格納するアドレス情報格納手段を備え、
前記アドレス情報格納手段は、格納可能な前記アドレス情報の数が変更可能に構成されていることを特徴とするデータ処理装置。 In a data processing apparatus comprising a plurality of data processing means for processing data, a memory for storing data processed by the plurality of data processing means, and a memory control means for controlling data access to the memory,
Prior to data transfer, at least one of the plurality of data processing means issues a plurality of first address information corresponding to a plurality of data to be accessed,
At least another one of the plurality of data processing means continues to issue second address information corresponding to data to be accessed until the data transfer is completed,
The memory control means includes address information storage means for storing the plurality of first address information and the second address information,
The data processing apparatus according to claim 1, wherein the address information storage means is configured to change the number of address information that can be stored.
前記メモリ制御手段は、アドレス情報格納手段に格納可能なアドレス情報の数を設定しておき、
前記複数のデータ処理手段のうちの少なくとも1つは、アクセスすべき複数のデータに対応する複数の第1のアドレス情報をデータ転送に先立って発行し、
前記複数のデータ処理手段のうちの少なくとも他の1つは、アクセスすべきデータに対応する第2のアドレス情報を前記データ転送が完了するまで発行し続け、
前記メモリ制御手段は、前記複数の第1のアドレス情報及び前記第2のアドレス情報を前記設定された数だけ前記アドレス情報格納手段に格納することを特徴とするデータ処理方法。 Data processing of a data processing device comprising a plurality of data processing means for processing data, a memory for storing data processed by the plurality of data processing means, and a memory control means for controlling data access to the memory In the method
The memory control means sets the number of address information that can be stored in the address information storage means,
Prior to data transfer, at least one of the plurality of data processing means issues a plurality of first address information corresponding to a plurality of data to be accessed,
At least another one of the plurality of data processing means continues to issue second address information corresponding to data to be accessed until the data transfer is completed,
The memory control means stores the plurality of first address information and second address information in the address information storage means in the set number.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004121817A JP4532969B2 (en) | 2004-04-16 | 2004-04-16 | Data processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004121817A JP4532969B2 (en) | 2004-04-16 | 2004-04-16 | Data processing apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005309510A JP2005309510A (en) | 2005-11-04 |
JP4532969B2 true JP4532969B2 (en) | 2010-08-25 |
Family
ID=35438278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004121817A Expired - Fee Related JP4532969B2 (en) | 2004-04-16 | 2004-04-16 | Data processing apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4532969B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012059152A (en) | 2010-09-10 | 2012-03-22 | Internatl Business Mach Corp <Ibm> | System for performing data processing and method for allocating memory |
-
2004
- 2004-04-16 JP JP2004121817A patent/JP4532969B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005309510A (en) | 2005-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4210303B2 (en) | Memory access bandwidth allocation and latency control in digital cameras | |
US6981073B2 (en) | Multiple channel data bus control for video processing | |
US8601192B2 (en) | Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device | |
US7996603B2 (en) | DRAM controller that forces a refresh after a failed refresh request | |
JP2000211210A (en) | Method and apparatus for control of composite device | |
JP3976927B2 (en) | Bus control device | |
JP2003101951A (en) | Image pickup device, image processing method, recording medium, and program | |
JP2000148650A (en) | Controller for composite equipment | |
JP4532969B2 (en) | Data processing apparatus and method | |
JP4298358B2 (en) | Image processing system | |
JP4328906B2 (en) | Bus control method and apparatus, and digital camera | |
JP2000215149A (en) | Controller for composite device | |
WO2017212524A1 (en) | Data transfer device, image processing device, and image pickup device | |
JPWO2018134882A1 (en) | Memory access device, image processing device, and imaging device | |
JP2008172410A (en) | Imaging apparatus, image processing apparatus, image processing method, program for image processing method, and recording medium recorded with program for image processing method | |
KR100776943B1 (en) | Video capture card having a high quality and capture method of multichannel video | |
US7516258B2 (en) | Electronic apparatus and control method | |
JP2006039672A (en) | Bus request control circuit | |
JP2006099585A (en) | Data processing system | |
JP4126959B2 (en) | Data transfer system and access monitor device | |
JP2003122705A (en) | Digital camera | |
JP2002351815A (en) | Bus control method and device | |
JP4481458B2 (en) | Data processing circuit of imaging device | |
JP4640434B2 (en) | Digital camera | |
JP2006189919A (en) | Electronic equipment, control method and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060418 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070413 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20070626 |
|
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: 20100518 |
|
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: 20100611 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4532969 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |