JP4532969B2 - Data processing apparatus and method - Google Patents

Data processing apparatus and method Download PDF

Info

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
Application number
JP2004121817A
Other languages
Japanese (ja)
Other versions
JP2005309510A (en
Inventor
愼二 白神
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004121817A priority Critical patent/JP4532969B2/en
Publication of JP2005309510A publication Critical patent/JP2005309510A/en
Application granted granted Critical
Publication of JP4532969B2 publication Critical patent/JP4532969B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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のデータ参照アドレス用に割り当てるという方式が考えられた。
特開平11−45225号公報
The above-mentioned DRAM for image processing and DRAM for data reference of the CPU can be provided exclusively for each. However, if it is necessary to configure the system at a lower cost, a common DRAM is often provided. In this case, in order to simplify the circuit configuration, a method of allocating one entry of the queue for the pipeline address for the data reference address of the CPU has been considered.
Japanese Patent Laid-Open No. 11-45225

しかしながら、従来技術は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 claim 1 includes 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, wherein at least one of the plurality of data processing means transfers a plurality of first address information corresponding to the plurality of data to be accessed. And 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, and the memory control means Comprises address information storage means for storing the plurality of first address information and the second address information, and the address information Paid means, characterized in that the number of storable said address information is configured to be changed.

請求項2記載のデータ処理装置は、請求項1記載のデータ処理装置において、前記第1のアドレス情報はパイプラインアドレス情報であり、前記第2のアドレス情報はノンパイプラインアドレス情報であることを特徴とする。   The data processing device according to claim 2 is the data processing device according to claim 1, wherein the first address information is pipeline address information, and the second address information is non-pipeline address information. Features.

上記目的を達成するために、請求項3記載のデータ処理方法は、データを処理する複数のデータ処理手段と、前記複数のデータ処理手段により処理されるデータを格納するメモリと、前記メモリへのデータ・アクセスを制御するメモリ制御手段とを備えるデータ処理装置のデータ処理方法において、前記メモリ制御手段は、アドレス情報格納手段に格納可能なアドレス情報の数を設定しておき、前記複数のデータ処理手段のうちの少なくとも1つは、アクセスすべき複数のデータに対応する複数の第1のアドレス情報をデータ転送に先立って発行し、前記複数のデータ処理手段のうちの少なくとも他の1つは、アクセスすべきデータに対応する第2のアドレス情報を前記データ転送が完了するまで発行し続け、前記メモリ制御手段は、前記複数の第1のアドレス情報及び前記第2のアドレス情報を前記設定された数だけ前記アドレス情報格納手段に格納することを特徴とする。   In order to achieve the above object, a data processing method according to claim 3 includes a plurality of data processing means for processing data, a memory for storing data processed by the plurality of data processing means, In a data processing method of a data processing device comprising memory control means for controlling data access, the memory control means sets the number of address information that can be stored in address information storage means, and the plurality of data processing At least one of the means issues a plurality of first address information corresponding to a plurality of data to be accessed prior to data transfer, and at least the other one of the plurality of data processing means includes: The memory control means continues to issue the second address information corresponding to the data to be accessed until the data transfer is completed. Characterized by storing the first address information and the second address information in the address information storage means the number which is the setting.

請求項4記載のデータ処理方法は、請求項3記載のデータ処理方法において、前記第1のアドレス情報はパイプラインアドレス情報であり、前記第2のアドレス情報はノンパイプラインアドレス情報であることを特徴とする。   The data processing method according to claim 4 is the data processing method according to claim 3, wherein the first address information is pipeline address information and the second address information is non-pipeline address information. Features.

請求項1記載の装置及び請求項2記載の方法によれば、複数のデータ処理手段のうちの少なくとも1つは、アクセスすべき複数のデータに対応する複数の第1のアドレス情報をデータ転送に先立って発行し、複数のデータ処理手段のうちの少なくとも他の1つは、アクセスすべきデータに対応する第2のアドレス情報をデータ転送が完了するまで発行し続け、当該複数の第1のアドレス情報及び第2のアドレス情報の数が変更可能に構成されているので、動作モードによりパイプラインバスとノンパイプラインバスに必要なバンド幅の割り付けを容易に行うことができる。   According to the apparatus of claim 1 and the method of claim 2, at least one of the plurality of data processing means transfers a plurality of first address information corresponding to a plurality of data to be accessed to data transfer. Issued in advance, at least one of the plurality of data processing means continues to issue second address information corresponding to the data to be accessed until the data transfer is completed, and the plurality of first addresses Since the number of the information and the second address information can be changed, it is possible to easily allocate the bandwidth necessary for the pipeline bus and the non-pipeline bus depending on the operation mode.

以下、本発明の実施の形態を図面を参照して詳細に説明する。   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 image capturing controller 1 related to image capturing, a signal processor 2 related to image processing, a display controller 3 related to image display, a memory controller 4 for controlling an image memory, and the whole. A CPU 5 related to the control, a ROM controller 17 that controls the ROM 18 that stores instructions executed by the CPU 5, and a memory card controller 19 that controls the memory card 20 that stores captured image data.

次に、図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 CCD 7. The lens module 6 includes a lens, a drive unit for auto iris, a drive unit for auto focus, and the like. The drive unit is controlled by a control signal (not shown) from the CPU 5.

CCD7に結像した画像データは、画像データに前処理を行う前処理モジュール8(CDS・AGC)に入力される。なお、CCD7の取り込む有効画素数は640×480画素(VGA相当)である。   The image data imaged on the CCD 7 is input to a preprocessing module 8 (CDS / AGC) that preprocesses the image data. The number of effective pixels captured by the CCD 7 is 640 × 480 pixels (corresponding to VGA).

前処理モジュール8は、CDS(相関二重サンプリング)及びAGC(自動利得制御)から成る。タイミング生成回路9(TG)は、CCD7及び前処理モジュール8に対して、クロック及びタイミング信号を供給する。   The preprocessing module 8 consists of CDS (correlated double sampling) and AGC (automatic gain control). The timing generation circuit 9 (TG) supplies a clock and a timing signal to the CCD 7 and the preprocessing module 8.

前処理が行われた画像データは、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 image capture controller 1 in synchronization with the pixel clock generated by the timing generation circuit 11 (SG). Entered. Image data input to the image capture controller 1 is first captured by a capture circuit 1a (Capture), and only valid pixel data is immediately written in the FIFO 1b, which is a memory.

バスインターフェース回路1c(BUS IF)は、FIFO1bに書き込まれたデータ数が所定値を超えると、Image Bus100上に書き込みのバストランザクションを発生し、メモリコントローラ4にFIFO1bから読み出したデータを転送する。   When the number of data written to the FIFO 1b exceeds a predetermined value, the bus interface circuit 1c (BUS IF) generates a bus transaction for writing on the Image Bus 100 and transfers the data read from the FIFO 1b to the memory controller 4.

バストランザクションは、データ転送を行うための転送先開始アドレス送出(アドレス・フェーズ)と転送すべきデータ送出(データ・フェーズ)の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 FIFO 1b is asynchronous with the write clock, and the FIFO 1b is also used to buffer this asynchronous data transfer.

Image Bus100には、他にもバストランザクションを発生するバスマスター(例えば、信号処理プロセッサ2、表示コントローラ3等)が複数接続されているので、同時に複数のバストランザクションが発生する可能性がある。しかしながら、バスアービター12(Arbiter)は、バスマスターが1度に1つだけのバストランザクションを発生できるようにImage Bus100を調停する。   Since a plurality of other bus masters (for example, the signal processor 2 and the display controller 3) that generate bus transactions are connected to the Image Bus 100, there is a possibility that a plurality of bus transactions may occur simultaneously. However, the bus arbiter 12 (Arbiter) arbitrates the Image Bus 100 so that the bus master can generate only one bus transaction at a time.

メモリコントローラ4は、バスインターフェース回路4a(BUS IF)においてImage Bus100からバストランザクションを受信し、アドレス・フェーズにおいてアドレス情報をアドレス情報キュー4b(QUEUE)に書き込む。   The memory controller 4 receives the bus transaction from the Image Bus 100 in the bus interface circuit 4a (BUS IF), and writes the address information to the address information queue 4b (QUEUE) in the address phase.

DRAMインターフェース回路4c(DRAM IF)は、画像メモリであるDRAM13への制御信号を出力すると共に、アドレス、データをEDOモードでDRAM13に対して出力する。ここで、メモリアドレスは、バストランザクションのアドレス・フェーズにおいて得られたアドレスから生成される。   The DRAM interface circuit 4c (DRAM IF) outputs a control signal to the DRAM 13, which is an image memory, and outputs addresses and data to the DRAM 13 in the EDO mode. Here, the memory address is generated from the address obtained in the address phase of the bus transaction.

また、DRAMインターフェース回路4cは、上記アドレスから始まる連続アドレスに対して、128ビット分のデータをEDOモードで連続的にDRAM13に転送する。なお、バスインターフェース回路4a(BUS IF)、アドレス情報キュー4b、及びDRAMインターフェース回路4cはバスクロックに同期して動作する。   The DRAM interface circuit 4c continuously transfers 128-bit data to the DRAM 13 in the EDO mode with respect to the continuous addresses starting from the above address. The bus interface circuit 4a (BUS IF), the address information queue 4b, and the DRAM interface circuit 4c operate in synchronization with the bus clock.

信号処理プロセッサ2は、読み出しのためのバストランザクションを発生し、バスクロックで動作するバスインターフェース回路2a(BUS IF)によって、画像メモリから画像取り込みコントローラ1によって取り込まれた画像データを読み出す。読み出されたデータは、バスクロックに同期して双方向FIFO2bに書き込まれる。   The signal processor 2 generates a bus transaction for reading out, and reads out the image data captured by the image capturing controller 1 from the image memory by the bus interface circuit 2a (BUS IF) operating with the bus clock. The read data is written to the bidirectional FIFO 2b in synchronization with the bus clock.

DSP2cは、バスクロックと異なるクロック(DSPクロック)で動作しており、DSPクロックに同期して双方向FIFO2bに書き込まれている画像データにアクセスして、カラーマトリクス処理によりYC分離を行い、つづいて色補正、エッジ強調、ホワイトバランス調整、及びガンマ補正などの処理を行う。このようにして得られた画像データは、表示用に用いられるほか画像圧縮にも用いられる。表示用に用いられる場合は、表示コントローラ3が読み出せるように、バスインターフェース回路2aを起動して書き込みのバストランザクションを発生し、DRAM13にデータを転送する。   The DSP 2c operates at a clock (DSP clock) different from the bus clock, accesses the image data written in the bidirectional FIFO 2b in synchronization with the DSP clock, performs YC separation by color matrix processing, and then Processing such as color correction, edge enhancement, white balance adjustment, and gamma correction is performed. The image data obtained in this way is used not only for display but also for image compression. When used for display, the bus interface circuit 2 a is activated to generate a write bus transaction so that the display controller 3 can read data, and the data is transferred to the DRAM 13.

信号処理プロセッサ2においても、バストランザクションはデータ転送を行うための転送先開始アドレス送出(アドレス・フェーズ)と転送すべきデータ送出(データ・フェーズ)の2つのフェーズから成る。但し、アドレス・フェーズにおいては、読み出しか書き込みかを示す信号も合わせて送出される。   Also in the signal processor 2, the bus transaction is composed of two phases, that is, a transfer destination start address transmission (address phase) for data transfer and a data transmission (data phase) to be transferred. However, in the address phase, a signal indicating whether reading or writing is also sent.

CPU5は、CPU Bus200上にバストランザクションを発生する。このバストランザクションは、Image Bus100上のトランザクションと異なり、アドレスフェーズ・データフェーズの区別はない。   The CPU 5 generates a bus transaction on the CPU Bus 200. Unlike the transaction on the Image Bus 100, this bus transaction has no distinction between the address phase and the data phase.

CPU5よりアドレスが送出されると、データの授受が終了するまでアドレス送出は持続される。メモリコントローラ4は、バストランザクションのアドレスがDRAM13の領域内である場合、バスインターフェース回路4dにおいてバストランザクションを受信し、アドレス情報をアドレス情報キュー4bに書き込む。同時にImage Bus100からのアドレス情報書き込みが発生した場合、Image Bus100のアドレス情報書き込みをWAITさせる。   When the address is transmitted from the CPU 5, the address transmission is continued until the data transfer is completed. When the address of the bus transaction is within the area of the DRAM 13, the memory controller 4 receives the bus transaction in the bus interface circuit 4d and writes the address information to the address information queue 4b. At the same time, when address information writing from the Image Bus 100 occurs, the address information writing of the Image Bus 100 is caused to WAIT.

次に、図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 signal processor 2 may write data to the area on the image memory by overwriting the same area.

表示コントローラ3は、信号処理プロセッサ2がデータライトした画像メモリ上の領域より画像データを読み出すことにより表示データを得る。また、表示コントローラ3は、表示データ読み出しのためのバストランザクションを発生し、バスクロックで動作するバスインターフェース回路3aによって画像メモリから表示データを読み出す。   The display controller 3 obtains display data by reading out image data from an area on the image memory to which the signal processor 2 has written data. The display controller 3 generates a bus transaction for reading display data, and reads the display data from the image memory by the bus interface circuit 3a that operates with the bus clock.

次に、この表示データをバスクロックに同期してFIFO3bの書き込みポートに入力する。NTSCのモニタや液晶ディスプレイに代表されるように、一般に表示装置は、画面を絶え間なくリフレッシュする必要があるため、有効画面期間中は所定の表示ピクセルクロックで動作し続けなければならない。そのため、バスインターフェース回路3aは、FIFO3bがフル状態になるまでデータを読み出し続ける。   Next, the display data is input to the write port of the FIFO 3b in synchronization with the bus clock. As represented by NTSC monitors and liquid crystal displays, a display device generally needs to continuously refresh the screen, and therefore must continue to operate at a predetermined display pixel clock during the effective screen period. Therefore, the bus interface circuit 3a continues to read data until the FIFO 3b becomes full.

次に、読み出し回路3c(Data Read)は、表示ピクセルクロックに同期してFIFO3bよりデータを読み出し、NTSCエンコーダ3d(NTSC)に送出する。NTSCエンコーダ3dによってNTSCフォーマットに変換されたディジタルデータは、DAコンバータ14(DAC)によってアナログ信号に変換された後にNTSCモニタ15(MONITOR)によって表示される。   Next, the read circuit 3c (Data Read) reads data from the FIFO 3b in synchronization with the display pixel clock, and sends it to the NTSC encoder 3d (NTSC). The digital data converted into the NTSC format by the NTSC encoder 3d is converted into an analog signal by the DA converter 14 (DAC) and then displayed on the NTSC monitor 15 (MONITOR).

上記動作をフレーム毎に連続して実行することにより、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 image capturing controller 1 and the reading of the signal processor 2 share one memory area of the image memory, and the writing of the signal processor 2 and the reading of the display controller 3 are another memory of the image memory. The areas are shared, and memory access to these two areas is performed in parallel.

次に、撮影モードの動作を説明する。撮影モードでは、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 CPU 5 detects that the button is pressed, the CPU 5 sends the next frame to the image capture controller 1 by a control signal (not shown). When capturing is complete, it is instructed not to capture subsequent frames. Similarly, the signal processor 2 is notified that image compression processing is performed for the next frame.

画像取り込みコントローラ1は、EVFモードの場合とは異なり、1フレーム分の画像データを取り込んで画像メモリにデータ転送を行い、終わると一時停止する。一方、信号処理プロセッサ2は、取り込まれた画像データを読み出して、上述した表示データを生成した場合とまったく同様に、YC分離、色補正、エッジ強調、ホワイトバランス調整、及びガンマ補正等の画像処理を行った後、直ちに該データに対して、DCT演算処理、量子化処理、及び可変長符号化処理などを施して得た符号データを、画像メモリ内の表示用データ領域とは別の領域に書き込む。   Unlike the EVF mode, the image capture controller 1 captures image data for one frame, transfers the data to the image memory, and pauses when the image capture controller 1 is finished. On the other hand, the signal processor 2 reads out the captured image data and performs image processing such as YC separation, color correction, edge enhancement, white balance adjustment, and gamma correction, exactly as in the case where the display data is generated. Immediately after that, the code data obtained by subjecting the data to DCT arithmetic processing, quantization processing, variable-length coding processing, etc. is put in a region different from the display data region in the image memory. Write.

CPU5は、CPU Bus200上にリード・トランザクションを発生してメモリコントローラ4にアクセスすることによって符号データを読み出し、当該符号データに必要なマーカー等を付加してJPEGデータとした後に、再びCPU Bus200上にライト・トランザクションを発生して、メモリカードコントローラ19(Memory Card Controller)にアクセスすることによりメモリカード17(MEMORY CARD)に当該JPEGデータを格納する。1フレーム分の画像データの格納が終了すると、CPU5は画像取り込みコントローラ1に対して取り込み再開を通知する。   The CPU 5 reads the code data by generating a read transaction on the CPU Bus 200 and accessing the memory controller 4, adds necessary markers to the code data to make the JPEG data, and then returns the code data to the CPU Bus 200 again. A write transaction is generated, and the JPEG data is stored in the memory card 17 (MEMORY CARD) by accessing the memory card controller 19 (Memory Card Controller). When the storage of the image data for one frame is completed, the CPU 5 notifies the image capturing controller 1 of the resumption of capturing.

撮影モードにおいては、画像取り込みコントローラ1の書き込みと信号処理プロセッサ2の読み出しが1つのメモリ領域を共有し、信号処理プロセッサ2の書き込みとCPU5の読み出しがもう1つのメモリ領域を共有するが、これら2つの領域へのメモリアクセスは順次的に行われる。   In the photographing mode, the writing of the image capturing controller 1 and the reading of the signal processor 2 share one memory area, and the writing of the signal processor 2 and the reading of the CPU 5 share another memory area. Memory access to one area is performed sequentially.

次に、再生モードの動作を説明する。再生モードでは、画像取り込みコントローラ1は停止している。   Next, the operation in the playback mode will be described. In the reproduction mode, the image capture controller 1 is stopped.

CPU5は、CPU Bus200上にリード・トランザクションを発生してメモリカードコントローラ19にアクセスすることによりメモリカード17に格納されているJPEGデータを読み出し、マーカー等の削除を行って符号データとする。   The CPU 5 generates a read transaction on the CPU Bus 200 and accesses the memory card controller 19 to read the JPEG data stored in the memory card 17 and delete the marker or the like to obtain the code data.

つづいて、CPU5は、CPU Bus200上にライト・トランザクションを発生し、メモリコントローラ4にアクセスすることによってDRAM13に符号データを書き込む。信号処理プロセッサ2は、符号データをDRAM13より読み出して、復号化、逆量子化、及び逆DCT変換等の画像伸長処理を行って表示可能な画像データとした後に、再びDRAM13に書き戻す。表示コントローラ3は、表示可能データをDRAM13より読み出して表示動作を行う。   Subsequently, the CPU 5 generates a write transaction on the CPU Bus 200 and writes code data to the DRAM 13 by accessing the memory controller 4. The signal processor 2 reads the code data from the DRAM 13, performs image expansion processing such as decoding, inverse quantization, and inverse DCT conversion to obtain displayable image data, and then writes the data back to the DRAM 13 again. The display controller 3 reads displayable data from the DRAM 13 and performs a display operation.

再生モードにおいては、CPU5の書き込みと信号処理プロセッサ2の読み出しが1つのメモリ領域を共有し、信号処理プロセッサ2の書き込みと表示コントローラ3の読み出しがもう1つのメモリ領域を共有するが、これら2つの領域へのメモリアクセスは順次的に行われる。   In the reproduction mode, writing by the CPU 5 and reading by the signal processor 2 share one memory area, and writing by the signal processor 2 and reading by the display controller 3 share another memory area. Memory access to the area is performed sequentially.

動作モードの変更は、ユーザによるスイッチ群16の操作によって行われる。スイッチの構成は様々な例が考えられるが、例えば、本実施の形態ではダイアルと押しボタンにより構成する。ダイアルの回転により動作モードの候補が順次更新され、押しボタンの押下により候補が選択される。選択のイベントによりCPU5に割り込みが発生する。ROM19に格納された割り込み処理ルーチンは動作モード変更ルーチンをコールする。   The operation mode is changed by operating the switch group 16 by the user. Various examples of the configuration of the switch are conceivable. For example, in the present embodiment, the switch is configured by a dial and a push button. The operation mode candidates are sequentially updated by rotating the dial, and the candidates are selected by pressing the push button. The CPU 5 is interrupted by the selected event. The interrupt processing routine stored in the ROM 19 calls an operation mode change routine.

動作モード変更ルーチンでは新たに選択された動作モードを読み取る。読み取られた動作モードに対応して各モジュールの設定を行う。   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 CPU Bus 200 in the address information write operation to the address information queue 4b will be described with reference to the timing diagram of FIG.

CPU5は、転送開始信号(start_L)をアサート(「0」)すると共に、32ビットの転送開始アドレス信号(addr[31:0])、バイトイネーブル信号(byteEn[3:0])及びライトインジケータ信号(wr_L)を出力する(サイクル3)。バイトイネーブル信号は、32ビット以下の1,2,3バイト転送時に有効なバイトレーンを示す。ライトインジケータ信号は、リード時に「1」、ライト時に「0」が出力される。   The CPU 5 asserts a transfer start signal (start_L) (“0”), and also transfers a 32-bit transfer start address signal (addr [31: 0]), a byte enable signal (byteEn [3: 0]), and a write indicator signal. (Wr_L) is output (cycle 3). The byte enable signal indicates a valid byte lane when transferring 1, 2, or 3 bytes of 32 bits or less. The write indicator signal is “1” at the time of reading and “0” at the time of writing.

CPU5は、バススレーブによってアサートされるデータアクノレッジ信号(rdy_L)が入力されるまで(サイクル5)、転送開始アドレス信号、バイトイネーブル信号、及びライトインジケータ信号の各信号を有効な値に保つ。   The CPU 5 keeps the transfer start address signal, the byte enable signal, and the write indicator signal at valid values until the data acknowledge signal (rdy_L) asserted by the bus slave is input (cycle 5).

CPU5は、リード・トランザクションの場合、データアクノレッジ信号のアサートされたサイクル(5)でデータ信号(data[31:0])にドライブされている値を読み取る。一方、ライト・トランザクションの場合は、転送開始信号(start_L)のアサート(サイクル19)からデータアクノレッジ信号(rdy_L)のアサート(サイクル20)まで、CPU5はデータ信号(data[31:0])上に書き込む値をドライブし続ける。   In the case of a read transaction, the CPU 5 reads the value driven by the data signal (data [31: 0]) in the cycle (5) in which the data acknowledge signal is asserted. On the other hand, in the case of a write transaction, from the assertion of the transfer start signal (start_L) (cycle 19) to the assertion of the data acknowledge signal (rdy_L) (cycle 20), the CPU 5 moves on the data signal (data [31: 0]). Continue to drive the value to write.

次に、Image Bus100の基本プロトコルを図3のタイミングダイアグラムを参照して説明する。   Next, the basic protocol of Image Bus 100 will be described with reference to the timing diagram of FIG.

まず、バストランザクションを行いたいバスマスターは、バス要求信号(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 bus arbiter 12 asserts a bus grant signal (gnt) to the bus master that gives the right to use the bus (cycle 1). The bus master given the bus use right asserts the address bus use signal (addrBusy) and outputs a 32-bit transfer start address signal (addr [31: 0]) and a read indicator signal (read) (cycle). 2). As the read indicator signal, “1” is output during reading and “0” is output during writing.

バスマスターは、バススレーブ(メモリコントローラ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 bus arbiter 12 outputs txID [3: 0], which is a transaction identification signal. This identification signal is taken into the bus slave and used to notify which address phase starts the data phase at the start of the data phase.

アドレス・フェーズの最中であっても、引き続き転送要求のあるマスターは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 (cycles 2 and 3). As soon as the address phase currently being processed ends, the next arbitration is entered and the gnt signal for the next address phase is asserted (cycle 4). In FIG. 2, addr = A1, read = “1”, txID = “0001” are taken in as address information in the address phase of cycles 2 and 3, and addr = A2 as address information in the address phase of cycles 5 and 6 , Read = “0”, txID = “0010” are fetched.

データ・フェーズは、バススレーブ(メモリコントローラ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 cycle 4 of FIG. 2, since nextID is “0001”, it can be seen that this is the data phase corresponding to the first address phase.

準備完了信号(slvDRdy)及び識別信号(nextID)はバスアービター12に入力される。バスアービター12は、識別信号(txID)に基づいてどのマスターとどのスレーブのペアがデータ転送を行うかを判定し、それぞれにデータバス使用許可信号(mstDGnt,slvDGnt)をアサートする。   The preparation completion signal (slvDRdy) and the identification signal (nextID) are input to the bus arbiter 12. The bus arbiter 12 determines which master / slave pair performs data transfer based on the identification signal (txID), and asserts a data bus use permission signal (mstDGnt, slvDGnt) to each.

データバス使用許可信号(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 bus arbiter 12 that the data bus is being used. On the other hand, the bus slave asserts a data strobe signal (data Strobe) for 4 clock cycles and drives data on the data bus in the case of reading (cycles 6, 7, 8, 9). In the case of writing, data on the data bus is fetched in synchronization with the data strobe signal (cycles 15, 16, 17, and 18). If the data cannot be driven or fetched immediately, the data strobe signal is kept in the deasserted state (cycles 13 and 14).

バスマスターは、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 bus arbiter 12 detects that the data bus use signal (dataBusy) has been deasserted, the bus arbiter 12 proceeds to the next data bus grant cycle (cycle 1).

バススレーブがアドレスの発行順序とデータ転送の順序を並び替える場合は、準備完了信号(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 bus interface circuits 1c, 2a, 3a in FIG. 1 will be described. Since the bus interface circuit 1c performs only a write operation, the bus interface circuit 2a performs a read and write operation, and the bus interface circuit 3a performs only a read operation, the bus interface circuit 2a will be described as an example.

図4は、図1におけるバスインターフェース回路2aの内部構成を示すブロック図である。   FIG. 4 is a block diagram showing an internal configuration of the bus interface circuit 2a in FIG.

アドレス・フェーズ生成部2a1には、FIFO2bが出力するFIFOポインタステータス信号が入力され、FIFO2bの空き容量が転送データ長(本実施の形態では32ビット×4)以上になったことを示すステータスに応じてバス要求信号(req)をアサートする。   A FIFO pointer status signal output from the FIFO 2b is input to the address / phase generation unit 2a1, and according to the status indicating that the free capacity of the FIFO 2b is equal to or greater than the transfer data length (32 bits × 4 in this embodiment). The bus request signal (req) is asserted.

バスアービター12よりバス許可信号(gnt)が入力されると、アドレス・フェーズが開始される。アドレス・フェーズ生成部2a1は、アドレス・フェーズにおいては転送開始アドレス信号(addr[31:0])、リードインジケータ信号(read)、及びバス使用信号(addrBusy)を出力すると共に、ペンディングアドレスFIFO2a3に対してリードインジケータをプッシュ(push)する。また、アドレス・フェーズ生成部2a1は、ペンディングアドレスFIFO2a3のフルフラグをモニタしており、当該ペンディングアドレスFIFO2a3がフルの場合は新たにバス要求信号をアサートしない。   When a bus permission signal (gnt) is input from the bus arbiter 12, an address phase is started. The address phase generation unit 2a1 outputs a transfer start address signal (addr [31: 0]), a read indicator signal (read), and a bus use signal (addrBusy) in the address phase, and also for the pending address FIFO2a3. To push the lead indicator. The address / phase generation unit 2a1 monitors the full flag of the pending address FIFO2a3, and does not assert a new bus request signal when the pending address FIFO2a3 is full.

本実施の形態では、ペンディングアドレス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 CPU 5, and generates a 32-bit transfer start address signal (addr [31: 0]) to the Image Bus 100.

データ・フェーズ生成部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 bus arbiter 12, the data bus use signal (dataBusy) is asserted to wait for reception of the data strobe signal.

データライト時は、バススレーブからのデータストローブ信号に応じて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 FIFO 2b, and the 32-bit data signal (data [31] is transferred onto the Image Bus 100. : 0]). At the time of data read, the data on the Image Bus 100 is taken in response to the data strobe signal, the FIFO control signal is driven, and the data is written into the FIFO. In the present embodiment, a data strobe signal for 4 clock cycles is output for one data transfer. Therefore, when the data phase generator 2a4 detects a data strobe signal for 4 clock cycles, the data bus At the same time as the use signal (dataBusy) is deasserted, the top entry of the pending address FIFO2a3 is extracted (popped).

次に、図1におけるバスアービター12の動作を図5を参照して説明する。   Next, the operation of the bus arbiter 12 in FIG. 1 will be described with reference to FIG.

図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 image capture controller 1, the signal processor 2, and the display controller 3. The bus request signal (req) and the bus permission signal (gnt) are the bus master. Each one is connected to a request encoding / ID generation circuit 12a (req Decoding and ID generation) as a 3-bit bus.

リクエストエンコード・ID生成回路12aは、アサートされているすべてのバス要求信号(req)より、ローテーション方式の公平プライオリティ・スキームを用いて1つのバスマスターを選択する。さらに、リクエストエンコード・ID生成回路12aは、アドレスバス使用信号(addrBusy)がデアサートされているならば、選択したバスマスターに対応するバス許可信号(gnt)をアサートすると同時に、識別信号(txID)を生成する。   The request encoding / ID generation circuit 12a selects one bus master from all the asserted bus request signals (req) using a rotation-type fair priority scheme. Further, if the address bus use signal (addrBusy) is deasserted, the request encode / ID generation circuit 12a asserts the bus permission signal (gnt) corresponding to the selected bus master and at the same time receives the identification signal (txID). Generate.

本実施の形態では、ペンディングになり得るアドレス・フェーズは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 image capture controller 1, “01” for the signal processor 2, and the display controller 3. For this, “10” is assigned. The identification signal (txID [3: 0]) is defined as 4 bits obtained by concatenating 2 bits for master identification at the upper level and sequential ID2 bits within the master at the lower level.

リクエストエンコード・ID生成回路12aは、バス許可信号(gnt)をアサートすると同時に、識別信号(txID)をバススレーブ(メモリコントローラ)に通知すると共に、バスアービター12の内部に備えるIDキュー12b(ID Queue)にプッシュする。   The request encoding / ID generation circuit 12a asserts the bus permission signal (gnt) and simultaneously notifies the identification signal (txID) to the bus slave (memory controller), and also includes an ID queue 12b (ID Queue) provided in the bus arbiter 12. ).

IDキュー12bは、6エントリーを備えるキューであり、フルフラグがたっている場合は、リクエストエンコード・ID生成回路12aはどのマスターにもバス許可信号(gnt)をアサートしない。したがって、3つのバスマスターのペンディングできるアドレス・フェーズは合計6個までとなる。   The ID queue 12b is a queue having 6 entries. When the full flag is set, the request encoding / ID generation circuit 12a does not assert the bus permission signal (gnt) to any master. Therefore, a total of up to six address phases can be pending by the three bus masters.

バススレーブが識別信号(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 comparator 12c (Comparator) compares all valid entries in the ID queue 12b with the nextID input, and the 6-bit Assert only one of the match signals (match [5: 0]). For example, when the third entry from the top of the ID queue 12b matches, match = “000100”.

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 generation circuit 12d (mstDGnt and slvDGnt generation), the data grant generation circuit 12d outputs one bit of the 6-bit queue entry extraction signal (popPos [5: 0]) for one clock cycle. The entry of the ID queue 12b is taken out by asserting. By decoding the upper 2 bits of the 4-bit data fetched from the ID queue 12b, it is possible to specify which bus master should be given the right to use the data bus, and as soon as the data bus use signal (dataBusy) is deasserted. , 1 bit of 3 bits of the corresponding data bus use permission signal (mstDGnt) is asserted, and at the same time, the data bus use permission signal (slvDGnt) is asserted.

図6は、図3のサイクル19におけるIDキュー12bの内容と各信号の状態を示したものである。   FIG. 6 shows the contents of the ID queue 12b and the state of each signal in the cycle 19 of FIG.

図3におけるサイクル19の時点では、IDキュー12bの先頭にはtxID=「0011」すなわちマスター「00」からの「11」番目のトランザクションがキューイングされており,2番目のエントリーにはtxID=「0100」すなわちマスター「01」からの「00」番目のトランザクションがキューイングされている。バススレーブが準備完了信号(slvDRdy)をアサートすると共に、出力している識別信号(nextID)は「0100」であるから、比較器12cが出力するmatch信号は「000010」となり、2番目のエントリーがマッチしていることがわかる。   At the time of cycle 19 in FIG. 3, txID = “0011”, that is, the “11” th transaction from the master “00” is queued at the head of the ID queue 12b, and txID = “0011” is stored in the second entry. 0100 ”, that is, the“ 00 ”th transaction from the master“ 01 ”is queued. Since the bus slave asserts the ready signal (slvDRdy) and the output identification signal (nextID) is “0100”, the match signal output from the comparator 12c is “000010” and the second entry is You can see that they match.

データグラント生成回路12dは、キューエントリー引き抜き信号(popPos[5:0])を1クロックサイクル間で「000010」とすることにより、2番目のエントリーを取り込み、上位2ビットをデコードすることにより、データバス使用許可信号(mstDGnt[1])のみを「1」にアサートすることができる。   The data grant generation circuit 12d captures the second entry by setting the queue entry extraction signal (popPos [5: 0]) to “000010” for one clock cycle, and decodes the upper 2 bits to obtain the data. Only the bus use permission signal (mstDGnt [1]) can be asserted to “1”.

次に、図1のメモリコントローラ4のアドレス情報キュー4bにおいてアドレス情報が格納される動作を図7を参照して説明する。   Next, an operation of storing address information in the address information queue 4b of the memory controller 4 of FIG. 1 will be described with reference to FIG.

図7は、図1におけるバスインターフェース回路4a,4dとアドレス情報キュー4bの接続を示すブロック図である。   FIG. 7 is a block diagram showing the connection between the bus interface circuits 4a and 4d and the address information queue 4b in FIG.

図7において、バスインターフェース回路4a,4d(Bus Interface)は、各々のバストランザクションを検出すると、調停選択回路4e(Arbitration and Select)に対し、それぞれバストランザクション検出信号をアサートする。   In FIG. 7, when the bus interface circuits 4a and 4d (Bus Interface) detect each bus transaction, they assert a bus transaction detection signal to the arbitration selection circuit 4e (Arbitration and Select).

調停選択回路4eは、アドレス情報キュー4b(Address Queue)からのアドレスキューfull信号がアサートされていなければ、CPU Bus200又はImage Bus100のいずれか一方を選択し、選択信号をマルチプレクサ4f(MUX)に伝達する。   If the address queue full signal from the address information queue 4b (Address Queue) is not asserted, the arbitration selection circuit 4e selects either the CPU Bus 200 or the Image Bus 100 and transmits the selection signal to the multiplexer 4f (MUX). To do.

マルチプレクサ4fは、上記選択信号に基づきアドレス情報キュー4bに入力するアドレスをCPU Busアドレス又はImage Busアドレスのいずれか一方より選択する。同時に、調停選択回路4eは、アドレス情報キュー4bに対し、アドレス情報取り込み(push)信号をアサートする。   The multiplexer 4f selects an address to be input to the address information queue 4b based on the selection signal from either a CPU bus address or an image bus address. At the same time, the arbitration selection circuit 4e asserts an address information fetch (push) signal to the address information queue 4b.

次に、メモリコントローラ4内のDRAMインターフェース4cとDRAM13との接続状態の代表的な例を図8に示す。   Next, a typical example of the connection state between the DRAM interface 4c in the memory controller 4 and the DRAM 13 is shown in FIG.

図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 address information queue 4b for such a configuration is shown in FIG.

Image Bus100上、CPU Bus200上のアドレス(addr[31:0])は、共にバイトアドレスであるので、メモリに対して32ビットアクセスを行う場合は下位2ビットが無視される。本実施の形態では、addr[21:12]をローアドレスに割り付け、addr[11:2]をカラムアドレスに割り付ける。   Since the address (addr [31: 0]) on the Image Bus 100 and the CPU Bus 200 are both byte addresses, the lower 2 bits are ignored when performing 32-bit access to the memory. In this embodiment, addr [21:12] is assigned to the row address, and addr [11: 2] is assigned to the column address.

図中の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 arbitration selection circuit 4e is asserted. The pointer is decremented every time the address information deletion signal (pop) from the DRAM interface circuit 4c is asserted. When the address information fetch signal (push) and the address information deletion signal (pop) are asserted at the same time, the pointer is not increased or decreased.

プッシュ・ポップ制御回路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 queue position 0. , Pointer = 1. Further, when the push signal is asserted, shift [1: 0] corresponding to the queue elements 4b9 and 4b10 is driven to "11", and shift [1: 0] corresponding to the queue elements 4b11 and 4b12 is "00". , The contents of the cue position 0 are retained, and a new input is taken into the cue position 1. Further, pointer = 2 is set.

次に、プッシュ・ポップ制御回路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 queue position 0. The information stored at position 1 is shifted, and pointer = 1 is set.

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 CPU 5 using a control signal (not shown). The set value is compared with the pointer value by the comparator 4b15 (pointer ≧ Queue Depth). When the pointer value ≧ the set value is satisfied, the queue full signal is asserted, and new address information from the bus interface circuit 4a or 4d is obtained. Storage stops.

次に、キュー深さの設定が4の場合に、アドレス情報キュー4bへアドレス情報が格納される動作を図10及び図11を用いて説明する。   Next, an operation of storing address information in the address information queue 4b when the queue depth setting is 4 will be described with reference to FIGS.

図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 address information queue 4b in the timing diagram of FIG. .

サイクル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 cycle 2, an image bus transaction is generated, and in cycle 3, a CPU bus transaction is generated. In this case, the address A1 of the Image Bus 100 is pushed to the address information queue 4b in cycle 3. Subsequently, in cycle 5, the address a1 of the CPU Bus 200 is pushed. On the Image Bus 100, since the subsequent address phase has occurred, the address A2 is pushed in the cycle 7, and the address A3 is pushed in the cycle 10. As a result, since the pointer becomes 4, the full signal is asserted, and the queuing of the address A4 is waited (FIG. 11 (d)).

サイクル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 cycle 14, the data transfer corresponding to A1 ends and A1 is popped. As a result, the pointer becomes 3 (FIG. 11E), and the full signal is negated. In cycle 15, address A4 is immediately pushed. In cycle 18, the data transfer corresponding to a1 of CPU Bus 200 is completed, and a1 is popped, and at the same time, the data acknowledge signal (rdy_L) is asserted on CPU Bus 200. Since the CPU Bus 200 is a non-pipeline bus, the next transaction starts from cycle 19. In cycle 19, the address a2 of the CPU Bus 200 is immediately pushed, and when a pop occurs thereafter, the addresses A5 and A6 of the Image Bus 100 are pushed.

図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 address information queue 4b when the queue depth setting is 2 will be described with reference to FIGS.

図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 address information queue 4b in the timing diagram of FIG. .

サイクル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 cycle 2, an image bus transaction is generated, and in cycle 3, a CPU bus transaction is generated. In this case, the address A1 of the Image Bus 100 is pushed to the address information queue 4b in cycle 3. Subsequently, in cycle 5, the address a1 of the CPU Bus 200 is pushed. As a result, since the pointer value becomes 2, the full signal is asserted, and the queuing of the address A2 is waited. In cycle 10, the data transfer corresponding to A1 is completed, and A1 is popped. As a result, the pointer becomes 1, and the full signal is negated (FIG. 12C).

サイクル11において、直ちにアドレスA2がプッシュされる。サイクル14において、CPU Bus200のa1に対応するデータ転送が終了し、a1がポップされると同時に、CPU Bus200上でデータアクノレッジ信号(rdy_L)がアサートされる。CPU Bus200は、ノンパイプラインバスであるため、次のトランザクションはサイクル15より開始される。   In cycle 11, address A2 is immediately pushed. In cycle 14, the data transfer corresponding to a1 of CPU Bus 200 is completed, and a1 is popped, and at the same time, a data acknowledge signal (rdy_L) is asserted on CPU Bus 200. Since the CPU Bus 200 is a non-pipeline bus, the next transaction starts from cycle 15.

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 Image Bus 100, since the priority of the CPU Bus 200 is high, the address a2 of the CPU Bus 200 is immediately pushed in cycle 15. Thereafter, every time a pop occurs, the image bus address A3, the CPU bus address a3, the image bus address A4, and the CPU bus address a4 are pushed in this order.

図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 CPU 5 has few opportunities to access the memory, but when the device on the Image Bus 100 needs to transfer a large amount of data to and from the memory in parallel, the queue depth is set to 6 for example. As in the shooting mode, the data transfer rate on the Image Bus 100 is lower than in the EVF mode, but the continuous shooting performance is degraded unless the data transfer rate at which the CPU 5 transfers data from the memory to the memory card is increased. In such a case, by performing control so that the queue depth is set to 3, for example, it becomes possible to distribute the optimum memory bandwidth according to the operation mode.

本発明の実施の形態に係るデータ処理装置を搭載したデジタルスチルカメラの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the digital still camera carrying the data processor which concerns on embodiment of this invention. 図1におけるCPU Busの基本プロトコルのタイミングダイアグラムを示す図である。It is a figure which shows the timing diagram of the basic protocol of CPU Bus in FIG. 図1におけるImage Busの基本プロトコルのタイミングダイアグラムを示す図である。It is a figure which shows the timing diagram of the basic protocol of Image Bus in FIG. 図1におけるバスインターフェース回路の内部構成を示す構成図である。It is a block diagram which shows the internal structure of the bus interface circuit in FIG. 図1におけるバスアービターの内部構成を示す図である。It is a figure which shows the internal structure of the bus arbiter in FIG. 図3のサイクル19におけるIDキュー12bの内容と各信号の状態を示す図である。It is a figure which shows the content of the ID queue 12b in the cycle 19 of FIG. 3, and the state of each signal. 図1におけるバスインターフェース回路4a,4dとアドレス情報キュー4bの接続状態を示すブロック図である。FIG. 2 is a block diagram showing a connection state between bus interface circuits 4a and 4d and an address information queue 4b in FIG. 図1におけるDRAMインターフェース4cとDRAM13との接続状態を示す図である。It is a figure which shows the connection state of DRAM interface 4c and DRAM13 in FIG. 図1におけるアドレス情報キュー4bの内部構成を示す図である。It is a figure which shows the internal structure of the address information queue 4b in FIG. キュー深さの設定が4の場合のアドレス情報の格納動作のタイミングダイアグラムを示す図である。It is a figure which shows the timing diagram of the storing operation | movement of the address information in case the setting of queue depth is 4. FIG. 図10のタイミングダイアグラムにおけるアドレス情報キュー4bの状態遷移を示す図である。It is a figure which shows the state transition of the address information queue 4b in the timing diagram of FIG. キュー深さの設定が2の場合のアドレス情報の格納動作のタイミングダイアグラムを示す図である。It is a figure which shows the timing diagram of the storage operation | movement of the address information in case the setting of queue depth is 2. FIG. 図12のタイミングダイアグラムにおけるアドレス情報キュー4bの状態遷移を示す図である。It is a figure which shows the state transition of the address information queue 4b in the timing diagram of FIG.

符号の説明Explanation of symbols

1 画像取り込みコントローラ
2 信号処理プロセッサ
3 表示コントローラ
4 メモリコントローラ
4b アドレス情報キュー
4c DRAMインターフェース回路
5 CPU
100 Image Bus
200 CPU Bus
DESCRIPTION OF SYMBOLS 1 Image capture controller 2 Signal processor 3 Display controller 4 Memory controller 4b Address information queue 4c DRAM interface circuit 5 CPU
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のアドレス情報はパイプラインアドレス情報であり、前記第2のアドレス情報はノンパイプラインアドレス情報であることを特徴とする請求項1記載のデータ処理装置。   2. The data processing apparatus according to claim 1, wherein the first address information is pipeline address information, and the second address information is non-pipeline address information. データを処理する複数のデータ処理手段と、前記複数のデータ処理手段により処理されるデータを格納するメモリと、前記メモリへのデータ・アクセスを制御するメモリ制御手段とを備えるデータ処理装置のデータ処理方法において、
前記メモリ制御手段は、アドレス情報格納手段に格納可能なアドレス情報の数を設定しておき、
前記複数のデータ処理手段のうちの少なくとも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.
前記第1のアドレス情報はパイプラインアドレス情報であり、前記第2のアドレス情報はノンパイプラインアドレス情報であることを特徴とする請求項3記載のデータ処理方法。   4. The data processing method according to claim 3, wherein the first address information is pipeline address information, and the second address information is non-pipeline address information.
JP2004121817A 2004-04-16 2004-04-16 Data processing apparatus and method Expired - Fee Related JP4532969B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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