JP4266900B2 - Image processing system - Google Patents

Image processing system Download PDF

Info

Publication number
JP4266900B2
JP4266900B2 JP2004257391A JP2004257391A JP4266900B2 JP 4266900 B2 JP4266900 B2 JP 4266900B2 JP 2004257391 A JP2004257391 A JP 2004257391A JP 2004257391 A JP2004257391 A JP 2004257391A JP 4266900 B2 JP4266900 B2 JP 4266900B2
Authority
JP
Japan
Prior art keywords
read
write
image processing
unit
dram
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
JP2004257391A
Other languages
Japanese (ja)
Other versions
JP2006072832A (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.)
NEC AccessTechnica Ltd
Original Assignee
NEC AccessTechnica Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2004257391A priority Critical patent/JP4266900B2/en
Publication of JP2006072832A publication Critical patent/JP2006072832A/en
Application granted granted Critical
Publication of JP4266900B2 publication Critical patent/JP4266900B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Image Processing (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storing Facsimile Image Data (AREA)

Description

本発明は、画像処理システムに関し、特に画像データを一次記憶するDRAM(Dynamic Random Access Memory)とキャッシュメモリを有する画像処理システムに関する。   The present invention relates to an image processing system, and more particularly to an image processing system having a DRAM (Dynamic Random Access Memory) that primarily stores image data and a cache memory.

近年、画像処理の複雑化・高精度化に伴い、画像処理に必要な一次記憶領域は、増加する一方である。このような一次記憶として、SRAM(Static Random Access Memory)を用いることが不可能、もしくは高コストになるため、安価で大容量のDRAMが用いられている。しかし、DRAMは、その構造上、SRAMに比べてアクセスの待ち時間(レイテンシ)が大きいため、DRAMのデータ転送帯域がボトルネックとなって画像処理速度が遅くなることが多い。   In recent years, the primary storage area required for image processing is increasing as the image processing becomes more complicated and more accurate. As such a primary storage, an SRAM (Static Random Access Memory) cannot be used or becomes expensive, so an inexpensive and large-capacity DRAM is used. However, because of the structure of the DRAM, the access waiting time (latency) is larger than that of the SRAM. Therefore, the data transfer bandwidth of the DRAM is often a bottleneck, resulting in a slow image processing speed.

そこで、DRAMと画像処理部との間にキャッシュメモリを配置し、高速な画像処理を実現するシステムが知られている。例えば、特許文献1には、DRAMを細分化して、キャッシュメモリに近接配置することで配線長を短くするようにして、高速転送と低消費電力化を可能とした画像処理回路が記載されている。このキャッシュメモリは、1リード/1ライト/1リード・ライトの3ポート構成を取るため、演算部への読出し、演算結果の書込み、ならびにメインメモリ(DRAM)とのデータ転送を同時に実行することができる。また、キャッシュメモリは、図示はされていないが、画素データを保持するブロック以外にキャッシュメモリ内にあるいずれのデータが新たに書込まれたものであるかを示すフラグデータをも保持するように構成されている。このフラグは、キャッシュメモリに演算結果データの書込みを行なったとき、そのデータに対応するビットがセットされ、キャッシュメモリからメインメモリヘデータを書き戻すとき、フラグビットがセットされているデータのみを書込み、フラグビットはリセットされているものはデータが書込まれない。これにより、不必要な書込バッファの動作を取除くことができ、消費電力を小さくすることができる。なお、このフラグによるメインメモリへの書込制御は、外部制御信号によって指定することができる。このフラグのリセットは、データをメインメモリからキャッシュメモリへ転送したとき、あるいは外部からの制御信号によって行なわれる。   Therefore, a system that realizes high-speed image processing by arranging a cache memory between the DRAM and the image processing unit is known. For example, Patent Document 1 describes an image processing circuit that enables high-speed transfer and low power consumption by subdividing a DRAM and placing it close to a cache memory to shorten the wiring length. . Since this cache memory has a three-port configuration of 1 read / 1 write / 1 read / write, it is possible to simultaneously execute reading to the arithmetic unit, writing of the arithmetic result, and data transfer to the main memory (DRAM). it can. Although not shown in the figure, the cache memory also holds flag data indicating which data in the cache memory is newly written in addition to the block holding pixel data. It is configured. For this flag, when operation result data is written to the cache memory, the bit corresponding to that data is set, and when data is written back from the cache memory to the main memory, only the data for which the flag bit is set is written. If the flag bit is reset, no data is written. As a result, unnecessary write buffer operations can be eliminated, and power consumption can be reduced. Note that writing control to the main memory by this flag can be designated by an external control signal. This flag is reset when data is transferred from the main memory to the cache memory or by an external control signal.

また、関連する技術として、特許文献2には、安価なDRAM等のメモリをフレームバッファとして用いて、描画速度を高速に維持できるような画像生成装置が開示されている。この装置は、描画エンジン等の描画処理手段により生成された画素データを一時的に先読み可能なFIFO(First In First Out)メモリ等のメモリに一時的に蓄え、この先読み可能なFIFOメモリとフレームバッファとの間に高速のキャッシュメモリを設け、キャッシュ制御手段により上記先読み可能なFIFOメモリの内容を先読みして上記キャッシュメモリの読み書きの制御を行っている。   Further, as a related technique, Patent Document 2 discloses an image generation apparatus that can maintain a drawing speed at a high speed by using an inexpensive memory such as a DRAM as a frame buffer. This apparatus temporarily stores pixel data generated by a drawing processing means such as a drawing engine in a memory such as a FIFO (First In First Out) memory that can be prefetched temporarily, and the FIFO memory and frame buffer that can be prefetched. A high-speed cache memory is provided between them, and the cache control means pre-reads the contents of the pre-readable FIFO memory to control the read / write of the cache memory.

特開平7−249116号公報 (図1、図15、27頁)Japanese Patent Laid-Open No. 7-249116 (pages 1, 27 and 27) 特開平9−212661号公報 (図3)Japanese Patent Laid-Open No. 9-212661 (FIG. 3)

従来のDRAMを用いた画像処理システムにおいて、画像処理部とDRAMとの間に配置したキャッシュメモリによりDRAMに対するアクセスレイテンシを減らして画像処理システムの画像処理速度を向上させている。特に、特許文献1に記載のキャッシュメモリは、1リード/1ライト/1リード・ライトの3ポート構成を取るため、演算部への読出し、演算結果の書込み、ならびにメインメモリ(DRAM)とのデータ転送を同時に実行することができ、画像処理速度を高めることが可能である。しかしながら、このキャッシュメモリは、DRAMとのデータ転送を1リード・ライトの一つのポートで行うために、DRAMとキャッシュメモリとの間の転送速度の高速化が十分とはいえなかった。したがって、画像処理速度をより高めようとすると、キャッシュメモリとDRAMとの間の転送速度がボトルネックとなってしまい、画像処理速度をより高めることが困難であった。特に、画像処理を複数同時に実行させるような場合において顕著であった。   In a conventional image processing system using a DRAM, an access latency to the DRAM is reduced by a cache memory arranged between the image processing unit and the DRAM to improve the image processing speed of the image processing system. In particular, since the cache memory described in Patent Document 1 has a three-port configuration of 1 read / 1 write / 1 read / write, it reads data to the arithmetic unit, writes arithmetic results, and data with the main memory (DRAM). The transfer can be executed simultaneously, and the image processing speed can be increased. However, since the cache memory performs data transfer with the DRAM through one read / write port, the transfer speed between the DRAM and the cache memory cannot be increased sufficiently. Therefore, when trying to increase the image processing speed, the transfer speed between the cache memory and the DRAM becomes a bottleneck, and it is difficult to increase the image processing speed. This is particularly noticeable when a plurality of image processes are executed simultaneously.

本発明の目的は、より処理速度を高めることのできる画像処理システムを提供することにある。   An object of the present invention is to provide an image processing system capable of further increasing the processing speed.

前記目的を達成する本発明の一つのアスペクトに係る画像処理システムは、画像データを一次記憶するDRAM(Dynamic Random Access Memory)と、DRAMのリードライト制御を行うDRAM制御部と、画像データに対して所定の画像処理を行う画像処理部と、DRAM制御部と画像処理部との間に配置され、画像データの転送を行うキャッシュシステムと、を備える。キャッシュシステムは、DRAMに対してリードアドレスの先出しによる先読み動作を行うリード系キャッシュシステムと、DRAMに対してデータをまとめて後から書き込むライトバック動作を行うライト系キャッシュシステムと、から構成され、リード系キャッシュシステムは、リードキャッシュメモリと、DRAM制御部から画像データを読み出し、読み出した画像データをリードキャッシュメモリによって一時蓄積するように制御するリードキャッシュ制御部と、DRAM制御部から画像データを読み出す際に、DRAMのリードアドレスを所定のアドレス生成パターンに従って出力して先読み動作を行うリードDMA(Direct Memory Access)部と、を備える。 An image processing system according to one aspect of the present invention that achieves the above object includes a DRAM (Dynamic Random Access Memory) that primarily stores image data, a DRAM control unit that performs read / write control of the DRAM, and image data. An image processing unit that performs predetermined image processing, and a cache system that is disposed between the DRAM control unit and the image processing unit and that transfers image data. Cache system is configured and read system cache system to perform a pre-read operation by the first-out of the read address for DRAM, from, and write system cache system to perform a write-back operation to write later collectively data to the DRAM, read The system cache system reads the image data from the read cache memory and the DRAM control unit, reads the image data from the DRAM control unit, and the read cache control unit that controls the read image data to be temporarily stored in the read cache memory. And a read DMA (Direct Memory Access) unit that outputs a read address of the DRAM according to a predetermined address generation pattern and performs a pre-read operation.

の展開形態の画像処理システムにおいて、リードDMA部は、DRAMのリードアドレスを所定のアドレス生成パターンに基づいて計算してリードキャッシュ制御部に対して出力し、リードキャッシュ制御部から入力されるリード応答信号によって次のリードアドレスを出力するリードアドレス出力部と、リードキャッシュ制御部から入力される画像データを一時蓄積して画像処理部に出力するリード用FIFO(First In First Out)と、を備えることが好ましい。 In the image processing system of the first development form, the read DMA unit calculates a read address of the DRAM based on a predetermined address generation pattern, outputs the calculated address to the read cache control unit, and is input from the read cache control unit. A read address output unit that outputs a next read address in response to a read response signal; and a read FIFO (First In First Out) that temporarily stores image data input from the read cache control unit and outputs the read image data to the image processing unit. It is preferable to provide.

の展開形態の画像処理システムにおいて、リードキャッシュメモリは、n(nは2以上の整数)組のメモリ群から構成され、リードキャッシュ制御部は、n組のメモリ群の各組毎に、出力すべき有効な画像データが溜まったか否かを管理し、画像データが溜まったメモリ群から画像処理部に出力するように制御することが好ましい。 In the image processing system of the second development form, the read cache memory is composed of n (n is an integer of 2 or more) sets of memory groups, and the read cache control unit is provided for each of the n sets of memory groups. It is preferable to control whether or not valid image data to be output has been accumulated, and control to output from the memory group in which the image data has been accumulated to the image processing unit.

の展開形態の画像処理システムにおいて、DRAMのデータビット幅をk(kは自然数)ビット、DRAMへの連続アクセス回数をm(mは自然数)回とする場合、リードキャッシュメモリは、k×mビット幅でリードデータをDRAM制御部から入力するように構成されることが好ましい。 In the image processing system of the third development form, when the data bit width of the DRAM is k (k is a natural number) bits and the number of continuous accesses to the DRAM is m (m is a natural number) times, the read cache memory is k × It is preferable that the read data is input from the DRAM controller with an m-bit width.

本発明の他のアスペクトに係る画像処理システムは、画像データを一次記憶するDRAM(Dynamic Random Access Memory)と、DRAMのリードライト制御を行うDRAM制御部と、画像データに対して所定の画像処理を行う画像処理部と、DRAM制御部と画像処理部との間に配置され、画像データの転送を行うキャッシュシステムと、を備える。キャッシュシステムは、DRAMに対してリードアドレスの先出しによる先読み動作を行うリード系キャッシュシステムと、DRAMに対してデータをまとめて後から書き込むライトバック動作を行うライト系キャッシュシステムと、から構成され、ライト系キャッシュシステムは、ライトキャッシュメモリと、画像処理部から画像データを読み出してライトキャッシュメモリに対して書き込むに際し、DRAMのライトアドレスを所定のアドレス生成パターンに従って出力してライトバック動作を行うライトDMA部と、ライトキャッシュメモリによって一時蓄積された画像データをDRAM制御部に対して書き込むように制御するライトキャッシュ制御部と、を備える。 An image processing system according to another aspect of the present invention includes a DRAM (Dynamic Random Access Memory) that primarily stores image data, a DRAM control unit that performs read / write control of the DRAM, and predetermined image processing on the image data. An image processing unit to be performed, and a cache system that is arranged between the DRAM control unit and the image processing unit and transfers image data. The cache system is composed of a read cache system that performs a read-ahead operation by first writing a read address to a DRAM, and a write cache system that performs a write-back operation that writes data to the DRAM and writes them later. The system cache system includes a write cache memory and a write DMA unit that outputs a write address of a DRAM according to a predetermined address generation pattern and performs a write back operation when reading image data from the image processing unit and writing to the write cache memory If a write cache control unit for controlling to write the temporarily stored image data by the write cache memory to the DRAM controller, Ru comprising a.

の展開形態の画像処理システムにおいて、ライトDMA部は、DRAMのライトアドレスを所定のアドレス生成パターンに基づいて計算してライトキャッシュ制御部に対して出力し、ライトキャッシュ制御部から入力されるライト応答信号によって次のライトアドレスを出力するライトアドレス出力部と、画像処理部から入力される画像データを一時蓄積してライトキャッシュ制御部に出力するライト用FIFOと、を備えることが好ましい。 In the image processing system according to the fourth development mode, the write DMA unit calculates a write address of the DRAM based on a predetermined address generation pattern, outputs the calculated address to the write cache control unit, and is input from the write cache control unit. It is preferable to include a write address output unit that outputs the next write address in response to a write response signal, and a write FIFO that temporarily stores image data input from the image processing unit and outputs the data to the write cache control unit.

の展開形態の画像処理システムにおいて、ライトキャッシュメモリは、n(nは2以上の整数)組のメモリ群から構成され、ライトキャッシュ制御部は、n組のメモリ群の各組毎に、出力すべき有効な画像データが溜まったか否かを管理し、画像データが溜まったメモリ群からDRAM制御部に対して書き込むように制御することが好ましい。 In the image processing system of the fifth development form, the write cache memory is composed of n (n is an integer of 2 or more) sets of memory groups, and the write cache control unit is provided for each of the n sets of memory groups. It is preferable to manage whether or not valid image data to be output is accumulated, and to control to write to the DRAM controller from the memory group in which the image data is accumulated.

の展開形態の画像処理システムにおいて、DRAMのデータビット幅をk(kは自然数)ビット、DRAMへの連続アクセス回数をm(mは自然数)回とする場合、ライトキャッシュメモリは、k×mビット幅でライトデータをDRAM制御部へ出力するように構成されることが好ましい。 In the image processing system of the sixth development mode, when the data bit width of the DRAM is k (k is a natural number) bits and the number of continuous accesses to the DRAM is m (m is a natural number) times, the write cache memory is k × It is preferable that the write data is output to the DRAM controller with an m-bit width.

の展開形態の画像処理システムにおいて、所定のアドレス生成パターンは、アドレス生成パターンによるアドレス生成を要求する画像処理部における画素のアクセス順に基づいて定めることが好ましい。 In the image processing system according to the seventh development form, it is preferable that the predetermined address generation pattern is determined based on the pixel access order in the image processing unit that requests the address generation by the address generation pattern.

の展開形態の画像処理システムにおいて、画像処理部は、複数の画像処理部からなり、ライト系キャッシュシステムは、複数の画像処理部にそれぞれ対応させたライトDMA部を複数備え、複数のライトDMA部からのアクセス要求を調停するライトDMA調停部をさらに備え、ライトDMA調停部は、複数のライトDMA部から優先順位に従って選択したライトDMA部をライトキャッシュ制御部に接続することが好ましい。 In the image processing system according to the eighth development mode, the image processing unit includes a plurality of image processing units, and the write cache system includes a plurality of write DMA units respectively corresponding to the plurality of image processing units. It is preferable to further include a write DMA arbitration unit that arbitrates an access request from the DMA unit, and the write DMA arbitration unit connects a write DMA unit selected from a plurality of write DMA units according to a priority order to the write cache control unit.

の展開形態の画像処理システムにおいて、複数の画像処理部の一部を、画像入力部に置き換え、画像入力部は、画像入力装置から入力される画像データを、複数のライトDMA部から選択される1つのライトDMA部に転送することが好ましい。 In the image processing system according to the ninth development mode, a part of the plurality of image processing units is replaced with an image input unit, and the image input unit selects image data input from the image input device from the plurality of write DMA units. It is preferable to transfer to one write DMA unit.

第1の展開形態の画像処理システムにおいて、画像処理部は、複数の画像処理部からなり、リード系キャッシュシステムは、複数の画像処理部にそれぞれ対応させたリードDMA部を複数備え、複数のリードDMA部からのアクセス要求を調停するリードDMA調停部をさらに備え、リードDMA調停部は、複数のリードDMA部から優先順位に従って選択したリードDMA部をリードキャッシュ制御部に接続することが好ましい。 The image processing system of the deployed configuration of the first 0, the image processing unit includes a plurality of image processing unit, the read system cache system includes a plurality of read DMA section respectively corresponding to the plurality of the image processing unit, a plurality of It is preferable to further include a read DMA arbitration unit that arbitrates an access request from the read DMA unit, and the read DMA arbitration unit connects the read DMA unit selected from the plurality of read DMA units according to the priority order to the read cache control unit.

第1の展開形態の画像処理システムにおいて、複数の画像処理部の一部を、画像出力部に置き換え、画像出力部は、複数のリードDMA部から選択される1つのリードDMA部から転送される画像データを画像出力装置に出力することが好ましい。 In the image processing system according to the first development form, a part of the plurality of image processing units is replaced with an image output unit, and the image output unit is transferred from one read DMA unit selected from the plurality of read DMA units. It is preferable to output the image data to the image output device.

第1の展開形態の画像処理システムにおいて、画像処理部がCPU(Central Processing Unit)あるいはDSP(Digital Signal Processor)で構成されてもよい。
The image processing system of the first and second deployed configuration, the image processing unit may be constituted of a CPU (Central Processing Unit) or a DSP (Digital Signal Processor).

本発明によれば、DRAMへの読出し系と書き込み系とのそれぞれに対し、リードキャッシュ側はリードアドレスの先出しによる先読み動作を行い、ライトキャッシュ側はライト動作を後から行うライトバック動作を行うようにキャッシュシステムを構成することで、画像処理部とDRAMとの間の転送速度を高速化することができる。したがって、処理速度の極めて速い画像処理システムを構成することができる。   According to the present invention, for each of the read system and the write system to the DRAM, the read cache side performs a read-ahead operation based on read-out of a read address, and the write cache side performs a write-back operation that performs a write operation later. By configuring the cache system, the transfer speed between the image processing unit and the DRAM can be increased. Therefore, it is possible to configure an image processing system having a very high processing speed.

図1は、本発明の実施形態に係る画像処理システムの構成を示すブロック図である。画像処理システム1は、画像入力装置2から画像データを入力する画像入力部13と、入力される画像データに対して各種の画像処理を行う画像処理部15a、15b、15cと、画像処理がなされた画像データを画像出力装置3に出力する画像出力部14と、キャッシュシステム10と、DRAM制御部12と、DRAM11とを備える。キャッシュシステム10は、画像入力部13、画像処理部15a、15b、15c、画像出力部14とそれぞれデータのやり取りをDMA(Direct Memory Access)で行うDMA部24a、24b、24c、24d、24eを備える。さらに、DMA部24a、24b、24c、24d、24eからの要求を調停するDMA調停部23と、DRAM11からのリードデータを一時蓄積するリードキャッシュ21と、DRAM11へのライトデータを一時蓄積するライトキャッシュ22と、リードキャッシュ21およびライトキャッシュ22の制御を行うキャッシュ制御部20とを備える。   FIG. 1 is a block diagram showing a configuration of an image processing system according to an embodiment of the present invention. The image processing system 1 includes an image input unit 13 that inputs image data from the image input device 2, image processing units 15a, 15b, and 15c that perform various types of image processing on the input image data, and image processing. An image output unit 14 for outputting the image data to the image output device 3, a cache system 10, a DRAM control unit 12, and a DRAM 11. The cache system 10 includes DMA units 24a, 24b, 24c, 24d, and 24e that perform data exchange with the image input unit 13, the image processing units 15a, 15b, and 15c, and the image output unit 14 using DMA (Direct Memory Access). . Further, a DMA arbitration unit 23 that arbitrates requests from the DMA units 24a, 24b, 24c, 24d, and 24e, a read cache 21 that temporarily stores read data from the DRAM 11, and a write cache that temporarily stores write data to the DRAM 11 22 and a cache control unit 20 that controls the read cache 21 and the write cache 22.

以上のように構成される画像処理システム1は、キャッシュシステム10において、リードキャッシュ21でリードデータの先読み動作を行い、ライトキャッシュ22でライトバック動作を行うことにより、DRAM11へのアクセスの待ち時間を減らし、画像入力部13、画像処理部15a、15b、15c、画像出力部14での処理をほとんど連続的に行うことができる。さらに、キャッシュメモリの構成をDRAM11への連続アクセスに必要なビット幅とすることで、DRAM11へ連続的にアクセスできるようにしている。したがって、画像処理システム1は、画像処理のための参照メモリにDRAM11を用い、DRAM11と、画像入力部13、画像処理部15a、15b、15c、画像出力部14とのデータのやりとりを行う部分に、キャッシュシステム10を適用することによって、高速な画像処理を実現している。以下、画像処理システム1について実施例に即してさらに詳細に説明する。   In the image processing system 1 configured as described above, in the cache system 10, the read data is pre-read by the read cache 21, and the write back operation is performed by the write cache 22. Therefore, the processing in the image input unit 13, the image processing units 15a, 15b, and 15c, and the image output unit 14 can be performed almost continuously. Further, the cache memory is configured to have a bit width necessary for continuous access to the DRAM 11 so that the DRAM 11 can be continuously accessed. Therefore, the image processing system 1 uses the DRAM 11 as a reference memory for image processing, and exchanges data between the DRAM 11 and the image input unit 13, the image processing units 15a, 15b, and 15c, and the image output unit 14. By applying the cache system 10, high-speed image processing is realized. Hereinafter, the image processing system 1 will be described in more detail with reference to examples.

図2は、本発明の第1の実施例に係る画像処理システムの構成を示すブロック図である。画像処理システム1は、画像入力装置2(例えば、スキャナやカメラ)からの画像データを受け取る画像入力部13と、例えば、輪郭強調、拡大縮小などの画像処理を行う画像処理部15a、15bと、画像出力装置3(例えば、テレビやプリンタ)へ画像データを出力する画像出力部14と、キャッシュシステム10と、DRAM11を制御するDRAM制御部12と、DRAM11とを備える。キャッシュシステム10は、画像入力部13、画像処理部15a、15bからのデータをそれぞれ読み込んでライトキャッシュ制御部31に対してDMAによって書き込みを行うライトDMA部34a、34b、34cと、リードキャッシュ制御部30からデータを読み込んで画像処理部15a、15b、画像出力部14に対してそれぞれDMAによって書き込みを行うリードDMA部35b、35c、35aと、ライトDMA部34a、34b、34c、リードDMA部35b、35c、35aからの要求を受けてタイミングや優先度などに応じてそれぞれの要求を調整するDMA調停部23と、DRAM11からのデータのキャッシュを制御するリードキャッシュ制御部30と、DMA調停部23からのデータのキャッシュを制御するライトキャッシュ制御部31とを備える。   FIG. 2 is a block diagram showing the configuration of the image processing system according to the first embodiment of the present invention. The image processing system 1 includes an image input unit 13 that receives image data from an image input device 2 (for example, a scanner or a camera), image processing units 15a and 15b that perform image processing such as contour enhancement and enlargement / reduction, and the like. An image output unit 14 that outputs image data to an image output device 3 (for example, a television or a printer), a cache system 10, a DRAM control unit 12 that controls the DRAM 11, and a DRAM 11 are provided. The cache system 10 includes a write DMA unit 34a, 34b, 34c that reads data from the image input unit 13 and the image processing units 15a, 15b and writes the data to the write cache control unit 31 by DMA, and a read cache control unit. Read DMA units 35b, 35c, 35a that read data from 30 and write to the image processing units 15a, 15b, and image output unit 14 by DMA, write DMA units 34a, 34b, 34c, read DMA unit 35b, From the DMA arbitration unit 23 that receives requests from 35c and 35a and adjusts the respective requests according to the timing and priority, the read cache control unit 30 that controls the cache of data from the DRAM 11, and the DMA arbitration unit 23 Control the data cache And a preparative cache control unit 31.

ライトDMA部34a、34b、34cには、それぞれDMA調停部23に対してDMAのアドレスを生成するライトアドレス生成部36a、36b、36cを備える。また、リードDMA部35b、35c、35aには、それぞれDMA調停部23に対してDMAの先読みのためのリードアドレスを生成する先読みリードアドレス生成部37b、37c、37aを備える。さらに、リードキャッシュ制御部30には、リードデータをキャッシュするキャッシュメモリ80を備え、ライトキャッシュ制御部31には、ライトデータをキャッシュするキャッシュメモリ67を備える。   The write DMA units 34a, 34b, and 34c include write address generation units 36a, 36b, and 36c that generate DMA addresses for the DMA arbitration unit 23, respectively. The read DMA units 35b, 35c, and 35a include prefetch read address generation units 37b, 37c, and 37a that generate read addresses for DMA prefetching to the DMA arbitration unit 23, respectively. Further, the read cache control unit 30 includes a cache memory 80 that caches read data, and the write cache control unit 31 includes a cache memory 67 that caches write data.

処理対象となる画像データは、例えば経路Pに沿って転送され処理される。まず、画像データは、画像入力装置2から入力され、画像入力部13、ライトDMA部34a、DMA調停部23、ライトキャッシュ制御部31、DRAM制御部12、DRAM11の順番で転送され、DRAM11に格納される。次に、DRAM11に格納された画像データは、DRAM11、DRAM制御部12、リードキャッシュ制御部30、DMA調停部23、リードDMA部35b、画像処理部15aの順番で画像処理部15aに転送され、所定の画像処理が画像処理部15aで施される。画像処理部15aにおける画像処理後の画像データは、ライトDMA部34b、DMA調停部23、ライトキャッシュ制御部31、DRAM制御部12、DRAM11の順番で転送され、DRAM11に再度格納される。   The image data to be processed is transferred and processed along the path P, for example. First, image data is input from the image input device 2, transferred in the order of the image input unit 13, the write DMA unit 34 a, the DMA arbitration unit 23, the write cache control unit 31, the DRAM control unit 12, and the DRAM 11, and stored in the DRAM 11. Is done. Next, the image data stored in the DRAM 11 is transferred to the image processing unit 15a in the order of the DRAM 11, the DRAM control unit 12, the read cache control unit 30, the DMA arbitration unit 23, the read DMA unit 35b, and the image processing unit 15a. Predetermined image processing is performed by the image processing unit 15a. The image data after the image processing in the image processing unit 15a is transferred in the order of the write DMA unit 34b, the DMA arbitration unit 23, the write cache control unit 31, the DRAM control unit 12, and the DRAM 11, and is stored again in the DRAM 11.

また、画像処理部15aで画像処理された画像データに対して更に画像処理部15bで画像処理を施す場合、DRAM11に再度格納された画像データは、DRAM11、DRAM制御部12、リードキャッシュ制御部30、DMA調停部23、リードDMA部35c、画像処理部15bの順番で転送され、必要な画像処理が画像処理部15bで施される。画像処理部15bにおける画像処理後の画像データは、ライトDMA部34c、DMA調停部23、ライトキャッシュ制御部31、DRAM制御部12、DRAM11の順番で転送され、DRAM11へ再度格納される。   When image processing is further performed on the image data processed by the image processing unit 15a by the image processing unit 15b, the image data stored again in the DRAM 11 is stored in the DRAM 11, the DRAM control unit 12, and the read cache control unit 30. The DMA arbitration unit 23, the read DMA unit 35c, and the image processing unit 15b are transferred in this order, and necessary image processing is performed by the image processing unit 15b. The image data after the image processing in the image processing unit 15b is transferred in the order of the write DMA unit 34c, the DMA arbitration unit 23, the write cache control unit 31, the DRAM control unit 12, and the DRAM 11, and is stored again in the DRAM 11.

さらに、画像処理が終了した画像データは、DRAM11、DRAM制御部12、リードキャッシュ制御部30、DMA調停部23、リードDMA部35a、画像出力部14の順番で画像出力部14に転送され、最終的に画像出力装置3に出力される。   Further, the image data that has undergone the image processing is transferred to the image output unit 14 in the order of the DRAM 11, DRAM control unit 12, read cache control unit 30, DMA arbitration unit 23, read DMA unit 35 a, and image output unit 14. Are output to the image output device 3.

次に、リードDMA部35a、35b、35cの詳細について説明する。図3は、本発明の第1の実施例に係るリードDMA部の構成を示すブロック図である。リードDMA部35a、35b、35cは同一構成であり、図3において、リードDMA部35で表す。リードDMA部35は、要求アドレスを算出して出力するアドレス計算部45と、所定のアドレス生成パターンに基づいて次のアドレスを生成してアドレス計算部45に渡すアドレスパターン生成部44と、リードDMA調停部38に対してリード要求信号を出力するリード要求制御部43と、リードDMA調停部38からのリードデータを格納して画像処理部へリードデータを出力するFIFO41と、FIFO41の残りを管理するカウンタ42と、を備える。   Next, details of the read DMA units 35a, 35b, and 35c will be described. FIG. 3 is a block diagram showing the configuration of the read DMA unit according to the first embodiment of the present invention. The read DMA units 35a, 35b, and 35c have the same configuration, and are represented by the read DMA unit 35 in FIG. The read DMA unit 35 calculates and outputs a request address, an address pattern generation unit 44 that generates a next address based on a predetermined address generation pattern and passes the address to the address calculation unit 45, and a read DMA A read request control unit 43 that outputs a read request signal to the arbitration unit 38, a FIFO 41 that stores read data from the read DMA arbitration unit 38 and outputs the read data to the image processing unit, and manages the rest of the FIFO 41 Counter 42.

リード要求制御部43は、カウンタ42からFull信号が出力されない限り、リード要求信号をリードDMA調停部38とカウンタ42とに出力する。アドレス計算部45は、リードDMA調停部38からリード応答信号が返って来た場合、次のアドレスを計算して要求アドレスとしてリードDMA調停部38に出力する。リードDMA調停部38からのリードデータは、データ有効信号に同期してFIFO41に格納される。FIFO41に格納されたデータは、画像処理部15(画像処理部15a、15b、画像出力部14を代表して表す)からのリード信号によりFIFO41から出力される。また、FIFO41の内容が空である場合には、ウェイト信号が画像処理部15に出力される。カウンタ42は、リセット直後の値は0であって、リード要求信号でインクリメントされ、リード信号でデクリメントされ、FIFO41の段数と同じ値になった場合に、FIFO41内のデータが一杯であることを示すFull信号をリード要求制御部43に出力する。   The read request control unit 43 outputs a read request signal to the read DMA arbitration unit 38 and the counter 42 unless a full signal is output from the counter 42. When a read response signal is returned from the read DMA arbitration unit 38, the address calculation unit 45 calculates the next address and outputs the next address to the read DMA arbitration unit 38 as a request address. Read data from the read DMA arbitration unit 38 is stored in the FIFO 41 in synchronization with the data valid signal. The data stored in the FIFO 41 is output from the FIFO 41 by a read signal from the image processing unit 15 (representing the image processing units 15a and 15b and the image output unit 14). When the content of the FIFO 41 is empty, a wait signal is output to the image processing unit 15. The counter 42 indicates that the data in the FIFO 41 is full when the value immediately after the reset is 0, is incremented by the read request signal, is decremented by the read signal, and becomes the same value as the number of stages of the FIFO 41. The Full signal is output to the read request control unit 43.

図4は、本発明の第1の実施例に係るリードDMA部におけるタイミングチャートである。図4に示すように、要求アドレスと共に出力されるリード要求信号に対応するリード応答信号と、リードデータの有効性を示すデータ有効信号とを時間的に分けて、アドレスフローとデータフローとをパイプライン化している。パイプライン化によってリードデータの先読みを行うことができる。   FIG. 4 is a timing chart in the read DMA unit according to the first embodiment of the present invention. As shown in FIG. 4, the read response signal corresponding to the read request signal output together with the request address and the data valid signal indicating the validity of the read data are divided in time, and the address flow and the data flow are piped. Lined up. Pre-reading of read data can be performed by pipelining.

次に、ライトDMA部34a、34b、34cの詳細について説明する。図5は、本発明の第1の実施例に係るライトDMA部の構成を示すブロック図である。ライトDMA部34a、34b、34cは、同一構成であり、図5において、ライトDMA部34と表す。ライトDMA部34は、要求アドレスを算出して出力するアドレス計算部55と、所定のアドレス生成パターンに基づいて次のアドレスを生成してアドレス計算部55に渡すアドレスパターン生成部54と、ライトDMA調停部39に対してライト要求信号を出力するライト要求制御部53と、画像処理部15からのデータを格納してライトDMA調停部39に出力するFIFO51と、を備える。ライト要求制御部53は、FIFO51にデータが入っている(Empty信号が出力されていない)場合に、ライト要求信号をライトDMA調停部39に対して出力する。アドレス計算部55は、ライトDMA調停部39からライト応答信号が返って来た場合、次のアドレスを計算してライトDMA調停部39に出力する。   Next, details of the write DMA units 34a, 34b, and 34c will be described. FIG. 5 is a block diagram showing the configuration of the write DMA unit according to the first embodiment of the present invention. The write DMA units 34a, 34b, and 34c have the same configuration and are represented as the write DMA unit 34 in FIG. The write DMA unit 34 calculates and outputs a request address, an address pattern generation unit 54 that generates a next address based on a predetermined address generation pattern and passes it to the address calculation unit 55, and a write DMA A write request control unit 53 that outputs a write request signal to the arbitration unit 39; and a FIFO 51 that stores data from the image processing unit 15 and outputs the data to the write DMA arbitration unit 39. The write request control unit 53 outputs a write request signal to the write DMA arbitration unit 39 when data is stored in the FIFO 51 (the Empty signal is not output). When the write response signal is returned from the write DMA arbitration unit 39, the address calculation unit 55 calculates the next address and outputs it to the write DMA arbitration unit 39.

図6は、本発明の第1の実施例に係るライトDMA部におけるタイミングチャートである。図4に示すリードDMA部と異なり、要求アドレスとライトデータとは同期して出力され、データフローとアドレスフローとのパイプライン化は行わない。   FIG. 6 is a timing chart in the write DMA unit according to the first embodiment of the present invention. Unlike the read DMA unit shown in FIG. 4, the request address and the write data are output in synchronization, and the data flow and the address flow are not pipelined.

次に、リードDMA、ライトDMAにおけるアドレス生成、すなわちアドレスパターン生成部44およびアドレスパターン生成部54におけるアドレス生成について説明する。画像処理の場合、CPUのキャッシュの場合とは異なり、生成されるアドレスの進み方には、画像処理に固有の一定のパターンが存在する。図7は、アドレス生成部における単純増加の場合のアドレスの進み方の例を示す図である。アドレスは、多くの場合に単純増加であり、図7に示すように、0、1、…、6、7、10、11、…、16、17、20、…と順番に変化して行く。   Next, address generation in the read DMA and write DMA, that is, address generation in the address pattern generation unit 44 and the address pattern generation unit 54 will be described. In the case of image processing, unlike the case of the CPU cache, there is a specific pattern unique to image processing in the way the generated address advances. FIG. 7 is a diagram illustrating an example of how the address advances in the case of a simple increase in the address generation unit. In many cases, the address is simply increased, and changes in the order of 0, 1,..., 6, 7, 10, 11,..., 16, 17, 20,.

また、図8は、画像処理のために画素フィルタを用いる場合のアドレスの進み方の例を示す図である。ここでは、3×3画素の画像演算フィルタで画像処理を行う例を示しており、アドレスは、単純増加ではなく、ある一定のパターンで増加する。アドレスは、0、10、20、1、11、21、2、21、22、…、7、17、27、10、20、30、11、21、31、…のように変化していく。   FIG. 8 is a diagram illustrating an example of how to advance an address when a pixel filter is used for image processing. Here, an example is shown in which image processing is performed with an image calculation filter of 3 × 3 pixels, and the address increases not in a simple increase but in a certain pattern. The addresses change like 0, 10, 20, 1, 11, 21, 2, 21, 22,..., 7, 17, 27, 10, 20, 30, 11, 21, 31,.

以上の例のように画像処理において生成されるアドレスの進み方には、画像処理に固有の一定のパターンが存在するため、このパターンに基づいて簡単な回路によるアドレスの先読みが可能である。なお、アドレスパターン生成部44およびアドレスパターン生成部54には、不図示の制御部によって、設定するアドレスパターンを変更するよう構成してもよい。   As in the above example, there is a certain pattern unique to the image processing in the advance of the address generated in the image processing. Therefore, it is possible to prefetch the address by a simple circuit based on this pattern. The address pattern generation unit 44 and the address pattern generation unit 54 may be configured to change the address pattern to be set by a control unit (not shown).

次に、ライトキャッシュ制御部31の詳細について説明する。図9は、ライトキャッシュ制御部の構成を示すブロック図である。ライトキャッシュ制御部31は、ライトDMA調停部39とDRAM制御部12との間にあって、内部にライト用のキャッシュメモリ67を持ち、キャッシュメモリ67には0〜n−1(nは自然数)までの番号が割り当てられている。キャッシュメモリ67の構成は、DRAM11へ連続的にデータを転送させるために、DRAM11のビット幅×連続回数のビット幅を持つこととする。   Next, details of the write cache control unit 31 will be described. FIG. 9 is a block diagram illustrating a configuration of the write cache control unit. The write cache control unit 31 is located between the write DMA arbitration unit 39 and the DRAM control unit 12 and has a write cache memory 67 therein, and the cache memory 67 has 0 to n-1 (n is a natural number). A number is assigned. The configuration of the cache memory 67 has a bit width of the DRAM 11 times a bit width of the continuous number in order to continuously transfer data to the DRAM 11.

以下の説明の例では、ライトDMA部34a、34b、34cからのデータのバス幅が32ビットで、DRAM11のビット幅が32ビット、連続アクセス回数を8回として、キャッシュメモリ67の構成を、32ビット×8×n個とする。加えて、DRAM制御部12へのデータ転送帯域を多く取るために、メモリ構成としては、32ビット×nの2ポートメモリを8個持つこととし、32ビット×8=256ビット幅でライトデータをDRAM制御部12へ出力する。   In the example described below, the bus width of data from the write DMA units 34a, 34b, and 34c is 32 bits, the bit width of the DRAM 11 is 32 bits, the number of consecutive accesses is 8, and the configuration of the cache memory 67 is 32. The number of bits is 8 × n. In addition, in order to increase the data transfer bandwidth to the DRAM controller 12, the memory configuration has eight 32-bit × n 2-port memories, and write data is written in a width of 32 bits × 8 = 256 bits. Output to the DRAM controller 12.

すなわち、例えば、図10に示すようにn=6とすると、キャッシュメモリ67は、32ビット幅で入力し、256ビット幅で出力するように構成される。なお、図10では、有効なデータを黒印で表し、キャッシュ番号4のデータが十分となって出力される例を示している。   That is, for example, when n = 6 as shown in FIG. 10, the cache memory 67 is configured to input with a 32-bit width and output with a 256-bit width. Note that FIG. 10 illustrates an example in which valid data is represented by black marks, and the data of the cache number 4 is sufficient and output.

図9において、ライトキャッシュ制御部は、ライトキャッシュを制御するために、フラグレジスタ64、アドレスレジスタ65、ライトイネーブルレジスタ66の各制御レジスタを備える。フラグレジスタ64は、1ビット×n個で構成され、ビット1でキャッシュメモリ67に有効データが格納されていることを示す。アドレスレジスタ65は、p(pは自然数)ビット×n個で構成され、ライトアドレスを格納し、DRAM制御部12へ出力する。ライトイネーブルレジスタ66は、8ビット×n個で構成され、8個のキャッシュメモリ67のどこにデータが書かれているかを表す情報を保持し、この情報がバイトイネーブルとしてDRAM制御部12へ出力される。   In FIG. 9, the write cache control unit includes control registers of a flag register 64, an address register 65, and a write enable register 66 in order to control the write cache. The flag register 64 is composed of 1 bit × n, and bit 1 indicates that valid data is stored in the cache memory 67. The address register 65 is composed of p (p is a natural number) bits × n, stores a write address, and outputs it to the DRAM controller 12. The write enable register 66 is composed of 8 bits × n, holds information indicating where data is written in the eight cache memories 67, and outputs this information to the DRAM controller 12 as byte enable. .

上記の各レジスタを制御するために、ライトDMA部34a、34b、34cからの各要求信号を調停し、処理対象のDMAチャンネルを決定するライトDMA調停部39と、ライトDMA調停部39からのライト要求を受けてライト応答を返し、各レジスタのライト制御を行うライト制御部63と、要求されたライトアドレスとレジスタの値から、キャッシュ番号を判断するキャッシュ番号判断部61と、ライトイネーブルレジスタ66からキャッシュメモリ67へのライト状況を判断し、DRAM11へライトバックを行うライトバック制御部62とを備える。   In order to control each register described above, each request signal from the write DMA units 34a, 34b, and 34c is arbitrated, and a write DMA arbitration unit 39 that determines a DMA channel to be processed, and a write DMA arbitration unit 39 From the write control unit 63 that receives a request and returns a write response and performs write control of each register, the cache number determination unit 61 that determines the cache number from the requested write address and the value of the register, and the write enable register 66 A write back control unit 62 that determines a write status to the cache memory 67 and writes back to the DRAM 11 is provided.

一方、ライトDMA調停部39は、セレクタ68a、68b、68cと、優先順位決定部69を備え、優先順位決定部69は、ライトDMA部34a、34b、34cから出力される各要求信号の優先順位に基づいて選択したライト要求をライト制御部63に出力する。また、優先順位に基づいて選択した処理チャネルをセレクタ68a、68b、68cに出力する。セレクタ68aは、ライト制御部63が出力するライト応答を、処理チャネルを基に選択した対応のライトDMA部34a、34b、34cのいずれかに各ライト応答信号として出力する。また、セレクタ68bは、ライトDMA部34a、34b、34cから出力される各ライトアドレスを、処理チャネルを基に選択し、キャッシュ番号判断部61、アドレスレジスタ65、ライトイネーブルレジスタ66に出力する。さらに、セレクタ68cは、ライトDMA部34a、34b、34cから出力される各ライトデータを、処理チャネルを基に選択し、キャッシュメモリ67に出力する。   On the other hand, the write DMA arbitration unit 39 includes selectors 68a, 68b, and 68c and a priority order determination unit 69. The priority order determination unit 69 prioritizes each request signal output from the write DMA units 34a, 34b, and 34c. The write request selected based on is output to the write control unit 63. In addition, the processing channel selected based on the priority order is output to the selectors 68a, 68b and 68c. The selector 68a outputs the write response output from the write control unit 63 to each of the corresponding write DMA units 34a, 34b, 34c selected based on the processing channel as each write response signal. The selector 68b selects each write address output from the write DMA units 34a, 34b, and 34c based on the processing channel, and outputs the selected address to the cache number determination unit 61, the address register 65, and the write enable register 66. Further, the selector 68 c selects each write data output from the write DMA units 34 a, 34 b, 34 c based on the processing channel and outputs it to the cache memory 67.

次に、制御レジスタの状態変化の例を用いて、ライトキャッシュ制御部の動作について説明する。図11は、ライトキャッシュ制御部における制御レジスタの状態変化を表す図である。なお、図11において、キャッシュ番号n=8であり、「1」が書き込まれている状態をハッチで示し、クリアされている状態「0」を空白で示す。   Next, the operation of the write cache control unit will be described using an example of state change of the control register. FIG. 11 is a diagram illustrating a state change of the control register in the write cache control unit. In FIG. 11, the cache number n = 8, the state where “1” is written is indicated by hatching, and the state “0” which is cleared is indicated by blank.

(1)の状態は、初期状態を示しており、全てのレジスタはクリアされている。   The state (1) indicates the initial state, and all the registers are cleared.

(2)の状態は、ライトDMA調停部39からライト要求が来た場合の状態を示している。ライト要求が発生するとライト制御部63は、キャッシュ番号判断部61からFull信号が出力されていないかを判断してライト応答を各レジスタとキャッシュメモリ67に出力する。キャッシュ番号判断部61では以下の優先順位で判断を行い、キャッシュ番号を各レジスタとキャッシュメモリ67に出力する。
1.フラグレジスタが1で、そのアドレスレジスタとライトアドレスとが一致するもの。
2.フラグレジスタが0のもの。
3.それ以外はキャッシュFull信号を出力する。
このライト応答により、キャッシュメモリ67にライトデータが格納され、対応するフラグレジスタの値は1となり、アドレスレジスタには要求されたライトアドレスが格納され、ライトイネーブルレジスタには格納されたデータに対応するビットが1となる。
The state (2) indicates a state when a write request is received from the write DMA arbitration unit 39. When a write request is generated, the write control unit 63 determines whether a full signal is output from the cache number determination unit 61 and outputs a write response to each register and the cache memory 67. The cache number determination unit 61 performs determination according to the following priority order, and outputs the cache number to each register and the cache memory 67.
1. The flag register is 1, and the address register matches the write address.
2. The flag register is 0.
3. Otherwise, the cache full signal is output.
As a result of this write response, write data is stored in the cache memory 67, the value of the corresponding flag register becomes 1, the requested write address is stored in the address register, and the stored data is stored in the write enable register. The bit becomes 1.

(3)の状態は、キャッシュ番号1(上から2段目)のライトイネーブルレジスタ(バイトイネーブルビットを表す)が全て1になった状態を示す。この状態をライトバック制御部62は、バイトイネーブルビットの状態から判断し、DRAM制御部12に対してキャッシュ番号1のデータのライト要求を行う。   The state (3) indicates a state where all the write enable registers (representing byte enable bits) of the cache number 1 (second stage from the top) are set to 1. The write back control unit 62 determines this state from the state of the byte enable bit, and makes a write request for data of cache number 1 to the DRAM control unit 12.

(4)の状態は、DRAM部へのライトが完了した状態を示している。DRAM制御部12からのライト応答により、キャッシュ番号1に対応するフラグレジスタとライトイネーブルレジスタとは、0にクリアされる。もし、全てのキャッシュが埋められていて、違うアドレスへのライト要求が来た場合には、キャッシュ番号判断部61は、キャッシュFull信号をライト制御部63とライトバック制御部62とに出力する。ライト制御部63は、ライト応答を出力しない。また、キャッシュFull信号を受けたライトバック制御部62は、バイトイネーブルビットが全て1になっていなくても、強制的に適当なキャッシュ番号のデータのライト要求をDRAM制御部12に対して行う。この際のキャッシュ番号の選び方は、キャッシュ番号の若い順、バイトイネーブルビットが埋められている順、最後にライトバックされた時間の古い順などがある。   The state (4) indicates a state in which writing to the DRAM portion is completed. The flag register and the write enable register corresponding to the cache number 1 are cleared to 0 by the write response from the DRAM control unit 12. If all the caches are filled and a write request to a different address is received, the cache number determination unit 61 outputs a cache full signal to the write control unit 63 and the write back control unit 62. The write control unit 63 does not output a write response. Further, the write back control unit 62 that has received the cache full signal forcibly makes a write request for data of an appropriate cache number to the DRAM control unit 12 even if the byte enable bits are not all set to 1. In this case, the cache number is selected in the order of the smallest cache number, the order in which the byte enable bits are filled, the order in which the last write-back time is old, or the like.

次に、リードキャッシュ制御部30の詳細について説明する。図12は、リードキャッシュ制御部の構成を示すブロック図である。リードキャッシュ制御部30は、ライトキャッシュ制御部31と同様に、内部にリード用のキャッシュメモリ80を持ち、0〜n−1の番号が振り当てられている。キャッシュメモリ80の構成もライト用のキャッシュメモリ67と同様に構成され、32ビット×nの2ポートメモリを8個含むものである。   Next, details of the read cache control unit 30 will be described. FIG. 12 is a block diagram showing the configuration of the read cache control unit. Like the write cache control unit 31, the read cache control unit 30 has a read cache memory 80 and is assigned numbers 0 to n−1. The configuration of the cache memory 80 is the same as that of the write cache memory 67, and includes eight 32-bit × n 2-port memories.

リード用のキャッシュメモリ80を制御するために、受付レジスタ76、アドレスレジスタ77、回数レジスタ78、フラグレジスタ79、の各レジスタを備える。フラグレジスタ79は、1ビット×n個で構成され、ビット1でキャッシュメモリ80に有効データが格納されていることを示す。受付レジスタ76は、1ビット×n個で構成され、ビット1でDRAM制御部12に対してリード要求をしていることを示す。アドレスレジスタ77は、pビット×n個で構成され、リードアドレスを格納する。回数レジスタ78は、4ビット×n個で構成され、キャッシュメモリ80からリードされた回数を示す。   In order to control the read cache memory 80, each of a reception register 76, an address register 77, a frequency register 78, and a flag register 79 is provided. The flag register 79 is composed of 1 bit × n, and bit 1 indicates that valid data is stored in the cache memory 80. The reception register 76 is composed of 1 bit × n, and bit 1 indicates that a read request is made to the DRAM control unit 12. The address register 77 is composed of p bits × n and stores a read address. The number register 78 is composed of 4 bits × n and indicates the number of times read from the cache memory 80.

上記の各レジスタを制御するために、リードDMA35a、35b、35cからの各リード要求信号を調停し、処理対象のDMAチャンネルを決定するリードDMA調停部38と、リードDMA調停部38からのリード要求を受け、DRAM制御部12へのリード要求を発行し、リードDMA調停部38への応答信号を出力するリード制御部72と、要求されたリードアドレスからキャッシュ番号やキャッシュHit信号を出力するキャッシュ番号判断部71と、リード制御部72からの応答信号などを格納するリード応答FIFO73と、リード制御部72からのリード要求などを格納するリード要求FIFO75と、リード応答FIFO73のデータとキャッシュメモリ80へのデータ格納状況とに基づいてリードデータを出力するデータ出力制御部74とを備える。なお、DRAM制御部12は、一般的なものでありDRAM11の種類によって適切なものが選ばれる。   In order to control each of the above registers, each read request signal from the read DMAs 35a, 35b, and 35c is arbitrated to determine a DMA channel to be processed, and a read request from the read DMA arbitration unit 38 The read control unit 72 that issues a read request to the DRAM control unit 12 and outputs a response signal to the read DMA arbitration unit 38, and a cache number that outputs a cache number and a cache hit signal from the requested read address. The determination unit 71, a read response FIFO 73 for storing a response signal from the read control unit 72, a read request FIFO 75 for storing a read request from the read control unit 72, the data of the read response FIFO 73 and the cache memory 80 Data that outputs read data based on the data storage status And an output control section 74. The DRAM control unit 12 is a general one, and an appropriate one is selected depending on the type of the DRAM 11.

一方、リードDMA調停部38は、セレクタ81a、81b、81c、81dと、優先順位決定部82を備え、優先順位決定部82は、リードDMA部35a、35b、35cから出力される各リード要求信号の優先順位に基づいて選択したリード要求をリード制御部72に出力する。また、優先順位に基づいて選択した処理チャネルをセレクタ81a、81b、リード応答FIFO73に出力する。セレクタ81aは、リードDMA部35a、35b、35cから出力される各リードアドレスを、処理チャネルを基に選択し、キャッシュ番号判断部71、リード要求FIFO75、アドレスレジスタ77、リード応答FIFO73に出力する。また、セレクタ81bは、リード制御部72が出力する応答信号を、処理チャネルを基に選択したリード応答信号としてリードDMA部35a、35b、35cのいずれかに出力する。また、セレクタ81cは、データ出力制御部74が出力するデータ有効信号を、リード応答FIFO73が出力するチャネルの情報を基に選択したデータ有効信号としてリードDMA部35a、35b、35cのいずれかに出力する。さらに、セレクタ81dは、リード応答FIFO73が出力するチャネルの情報を基にキャッシュメモリ80からリードデータをリードDMA部35a、35b、35cに出力する。   On the other hand, the read DMA arbitration unit 38 includes selectors 81a, 81b, 81c, and 81d and a priority order determination unit 82. The priority order determination unit 82 receives each read request signal output from the read DMA units 35a, 35b, and 35c. The read request selected based on the priorities is output to the read control unit 72. The processing channel selected based on the priority order is output to the selectors 81a and 81b and the read response FIFO 73. The selector 81 a selects each read address output from the read DMA units 35 a, 35 b, and 35 c based on the processing channel, and outputs the selected address to the cache number determination unit 71, read request FIFO 75, address register 77, and read response FIFO 73. The selector 81b outputs the response signal output from the read control unit 72 to any of the read DMA units 35a, 35b, and 35c as a read response signal selected based on the processing channel. The selector 81c outputs the data valid signal output from the data output control unit 74 to any of the read DMA units 35a, 35b, and 35c as the data valid signal selected based on the channel information output from the read response FIFO 73. To do. Further, the selector 81d outputs the read data from the cache memory 80 to the read DMA units 35a, 35b, and 35c based on the channel information output from the read response FIFO 73.

次に、各制御レジスタの状態変化の例を用いて、リードキャッシュ制御部の動作について説明する。図13は、リードキャッシュ制御部における制御レジスタの状態変化を表す図である。なお、図13において、キャッシュ番号n=8であり、回数レジスタを除き、「1」が書き込まれている状態をハッチで示し、クリアされている状態「0」を空白で示す。   Next, the operation of the read cache control unit will be described using an example of the state change of each control register. FIG. 13 is a diagram illustrating a state change of the control register in the read cache control unit. In FIG. 13, the cache number n = 8, except for the number register, the state where “1” is written is indicated by hatching, and the cleared state “0” is indicated by blank.

(1)の状態は、初期状態を示しており、全てのレジスタがクリアされている。   The state (1) shows the initial state, and all the registers are cleared.

(2)の状態は、リードDMA調停部38からリード要求が来た場合の状態を示している。リード要求が発生すると、リード制御部72は、キャッシュ番号判断部71からのキャッシュHit信号とキャッシュFull信号、リード要求FIFO75からの要求Full信号、リード応答FIFO73からの応答Full信号を見て、リード要求信号と応答信号を出力する。キャッシュ番号判断部71は、以下の優先順位で判断を行いキャッシュ番号を出力する。
1.フラグレジスタが1で、アドレスレジスタとリードアドレスとが一致するもの(この場合、キャッシュ番号判断部71は、キャッシュHit信号をリード制御部72に出力する)。
2.フラグレジスタが0で、受付レジスタも0のもの。
3.受付レジスタが0で、回数レジスタがもっとも多いもの。
4.それ以外はキャッシュFull信号を出力する。
最初は、まだキャッシュメモリ80に要求されたアドレスのデータは入っていない状態であるので、キャッシュHit信号は、出力されず、リード制御部72は、リード要求と応答信号とを出力する。リード要求により、受付レジスタ76は、1にセットされ、アドレスレジスタ77にはリードアドレスが格納され、回数レジスタ78、フラグレジスタ79は、0にクリアされる。リード制御部72からのリード要求を受けたリード要求FIFO75は、DRAM制御部12に対してリード要求を行う。
The state (2) indicates a state when a read request is received from the read DMA arbitration unit 38. When a read request occurs, the read control unit 72 looks at the cache Hit signal and cache Full signal from the cache number determination unit 71, the request Full signal from the read request FIFO 75, and the response Full signal from the read response FIFO 73, and reads the read request. Output signal and response signal. The cache number determination unit 71 performs determination according to the following priority order and outputs a cache number.
1. The flag register is 1 and the address register and the read address match (in this case, the cache number determination unit 71 outputs a cache Hit signal to the read control unit 72).
2. The flag register is 0 and the reception register is 0.
3. The reception register is 0, and the number of times register is the most.
4). Otherwise, the cache full signal is output.
Initially, the cache memory 80 does not yet contain the requested address data, so the cache hit signal is not output, and the read control unit 72 outputs a read request and a response signal. In response to the read request, the reception register 76 is set to 1, the read address is stored in the address register 77, and the number register 78 and the flag register 79 are cleared to 0. The read request FIFO 75 that has received a read request from the read control unit 72 makes a read request to the DRAM control unit 12.

(3)の状態は、キャッシュ番号0(最上段)のキャッシュメモリに、DRAM制御部12からリードデータが格納された状態を示す。DRAM制御部12からのデータ有効信号により、受付レジスタ76が0にクリアされ、フラグレジスタ79が1にセットされる。フラグレジスタ79が1になることにより、データ出力制御部74は、リード応答FIFO73からの応答信号の処理を行い、データ有効信号を出力する。リードDMA調停部38は、リードDMA35a、35b、35cへリードデータ、データ有効信号を出力する。データ有効信号により、回数レジスタ78の値は、+1される。   The state (3) indicates a state in which read data from the DRAM control unit 12 is stored in the cache memory having the cache number 0 (the uppermost stage). The reception register 76 is cleared to 0 and the flag register 79 is set to 1 by the data valid signal from the DRAM controller 12. When the flag register 79 becomes 1, the data output control unit 74 processes the response signal from the read response FIFO 73 and outputs a data valid signal. The read DMA arbitration unit 38 outputs read data and a data valid signal to the read DMAs 35a, 35b, and 35c. The value of the number register 78 is incremented by 1 by the data valid signal.

(4)の状態は、全てのキャッシュメモリ80がDRAM11からのリードデータにより埋められた状態、もしくは埋められる予定である状態を示す。この状態で新たなリード要求が来た場合は、回数レジスタ78中のもっとも値の大きいもの(この例では上から5段目が回数8でもっとも多い)が廃棄(キャッシュフラッシュ)される。   The state (4) indicates a state in which all the cache memories 80 are filled with read data from the DRAM 11 or are scheduled to be filled. When a new read request comes in this state, the one with the largest value in the number register 78 (in this example, the fifth stage from the top is the largest with the number 8) is discarded (cache flush).

(5)の状態は、(4)の状態において新たなリード要求が来たときに、キャッシュフラッシュが実行された状態を示す。これにより、古いリードキャッシュは、順次廃棄され、次の新しいリードデータを格納する。   The state (5) indicates a state in which a cache flush is executed when a new read request comes in the state (4). As a result, the old read cache is sequentially discarded and the next new read data is stored.

次に、本発明の第2の実施例について図面を参照して説明する。図14は、本発明の第2の実施例に係る画像処理システムの構成を示すブロック図である。図14において、図2と同一の符号は、同一物あるいは相当物を表し、その説明を省略する。CPU(DSP(Digital Signal Processor))90a、90bは、それぞれROM92a、92bに内蔵されるプログラムに基づいて所定の画像処理を実行するものであって、図2における画像処理部15a、15bに相当する。また、リードDMA部35d、35e、あるいはライトDMA部34d、34eの設定などはCPU(DSP)90a、90bが必要に応じて行うことができる。なお、ROM92a、92bは、FROMやディスクシステムなどの書き換え可能なデバイスに置き換えてもよく、プログラムを入れ替えることで画像処理内容をフレキシブルに変更することもできる。SRAM91a、91bは、それぞれCPU(DSP)90a、90bが動作する際のワークメモリとして機能する。このように構成される画像処理システムは、第1の実施例と同様に動作する。   Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 14 is a block diagram showing a configuration of an image processing system according to the second embodiment of the present invention. In FIG. 14, the same reference numerals as those in FIG. CPUs (Digital Signal Processors) 90a and 90b execute predetermined image processing based on programs built in the ROMs 92a and 92b, respectively, and correspond to the image processing units 15a and 15b in FIG. . Further, the CPU (DSP) 90a and 90b can perform setting of the read DMA units 35d and 35e or the write DMA units 34d and 34e as required. The ROMs 92a and 92b may be replaced with rewritable devices such as FROM and disk systems, and the image processing content can be flexibly changed by replacing programs. The SRAMs 91a and 91b function as work memories when the CPUs (DSPs) 90a and 90b operate. The image processing system configured as described above operates in the same manner as in the first embodiment.

本発明の利用分野として、デジタル複写機やFAX、プリンタ、デジタルカメラ、HDD(Hard Disk Drive)レコーダやDVD(Digital Versatile Disc)プレーヤ等の画像処理を必要とする用途に適用できる。   The field of application of the present invention is applicable to applications requiring image processing, such as a digital copying machine, a FAX, a printer, a digital camera, an HDD (Hard Disk Drive) recorder, and a DVD (Digital Versatile Disc) player.

本発明の実施形態に係る画像処理システムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of an image processing system according to an embodiment of the present invention. 本発明の第1の実施例に係る画像処理システムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of an image processing system according to a first embodiment of the present invention. 本発明の第1の実施例に係るリードDMA部の構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of a read DMA unit according to the first embodiment of the present invention. 本発明の第1の実施例に係るリードDMA部におけるタイミングチャートである。3 is a timing chart in the read DMA unit according to the first embodiment of the present invention. 本発明の第1の実施例に係るライトDMA部の構成を示すブロック図である。FIG. 3 is a block diagram showing a configuration of a write DMA unit according to the first embodiment of the present invention. 本発明の第1の実施例に係るライトDMA部におけるタイミングチャートである。6 is a timing chart in the write DMA unit according to the first embodiment of the present invention. アドレス生成部における単純増加の場合のアドレスの進み方の例を示す図である。It is a figure which shows the example of how to advance the address in the case of simple increase in an address generation part. 画像処理のために画素フィルタを用いる場合のアドレスの進み方の例を示す図である。It is a figure which shows the example of how to advance the address in the case of using a pixel filter for image processing. ライトキャッシュ制御部の詳細を示すブロック図である。It is a block diagram which shows the detail of a write cache control part. キャッシュメモリの構成の例を表す図である。It is a figure showing the example of a structure of a cache memory. ライトキャッシュ制御部における制御レジスタの状態変化を表す図である。It is a figure showing the state change of the control register in a write cache control part. リードキャッシュ制御部の詳細を示すブロック図である。It is a block diagram which shows the detail of a read cache control part. リードキャッシュ制御部における制御レジスタの状態変化を表す図である。It is a figure showing the state change of the control register in a read cache control part. 本発明の第2の実施例に係る画像処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the image processing system which concerns on 2nd Example of this invention.

符号の説明Explanation of symbols

1 画像処理システム
2 画像入力装置
3 画像出力装置
10 キャッシュシステム
11 DRAM
12 DRAM制御部
13 画像入力部
14 画像出力部
15、15a、15b、15c 画像処理部
20 キャッシュ制御部
21 リードキャッシュ
22 ライトキャッシュ
23 DMA調停部
24a、24b、24c、24d、24e DMA部
30 リードキャッシュ制御部
31 ライトキャッシュ制御部
34、34a、34b、34c、34d、34e ライトDMA部
35、35a、35b、35c、35d、35e リードDMA部
36a、36b、36c ライトアドレス生成部
37a、37b、37c 先読みリードアドレス生成部
38 リードDMA調停部
39 ライトDMA調停部
41、51 FIFO
42 カウンタ
43 リード要求制御部
44、54 アドレスパターン生成部
45、55 アドレス計算部
53 ライト要求制御部
61 キャッシュ番号判断部
62 ライトバック制御部
63 ライト制御部
64 フラグレジスタ
65 アドレスレジスタ
66 ライトイネーブルレジスタ
67、80 キャッシュメモリ
68a、68b、68c、81a、81b、81c、81d セレクタ
69、82 優先順位決定部
71 キャッシュ番号判断部
72 リード制御部
73 リード応答FIFO
74 データ出力制御部
75 リード要求FIFO
76 受付レジスタ
77 アドレスレジスタ
78 回数レジスタ
79 フラグレジスタ
90a、90b CPU
91a、91b SRAM
92a、92b ROM
DESCRIPTION OF SYMBOLS 1 Image processing system 2 Image input device 3 Image output device 10 Cache system 11 DRAM
12 DRAM control unit 13 Image input unit 14 Image output unit 15, 15a, 15b, 15c Image processing unit 20 Cache control unit 21 Read cache 22 Write cache 23 DMA arbitration unit 24a, 24b, 24c, 24d, 24e DMA unit 30 Read cache Control unit 31 Write cache control unit 34, 34a, 34b, 34c, 34d, 34e Write DMA unit 35, 35a, 35b, 35c, 35d, 35e Read DMA unit 36a, 36b, 36c Write address generation unit 37a, 37b, 37c Read address generation unit 38 Read DMA arbitration unit 39 Write DMA arbitration unit 41, 51 FIFO
42 Counter 43 Read request control unit 44, 54 Address pattern generation unit 45, 55 Address calculation unit 53 Write request control unit 61 Cache number determination unit 62 Write back control unit 63 Write control unit 64 Flag register 65 Address register 66 Write enable register 67 , 80 Cache memories 68a, 68b, 68c, 81a, 81b, 81c, 81d Selectors 69, 82 Priority determination unit 71 Cache number determination unit 72 Read control unit 73 Read response FIFO
74 Data output control unit 75 Read request FIFO
76 Reception register 77 Address register 78 Number of times register 79 Flag register 90a, 90b CPU
91a, 91b SRAM
92a, 92b ROM

Claims (14)

画像データを一次記憶するDRAM(Dynamic Random Access Memory)と、
前記DRAMのリードライト制御を行うDRAM制御部と、
画像データに対して所定の画像処理を行う画像処理部と、
前記DRAM制御部と前記画像処理部との間に配置され、画像データの転送を行うキャッシュシステムと、
を備え、
前記キャッシュシステムは、
前記DRAMに対してリードアドレスの先出しによる先読み動作を行うリード系キャッシュシステムと、
前記DRAMに対してデータをまとめて後から書き込むライトバック動作を行うライト系キャッシュシステムと、
から構成され、
前記リード系キャッシュシステムは、
リードキャッシュメモリと、
前記DRAM制御部から画像データを読み出し、読み出した画像データを前記リードキャッシュメモリによって一時蓄積するように制御するリードキャッシュ制御部と、
前記DRAM制御部から画像データを読み出す際に、前記DRAMのリードアドレスを所定のアドレス生成パターンに従って出力して先読み動作を行うリードDMA(Direct Memory Access)部と、
を備えることを特徴とする画像処理システム。
DRAM (Dynamic Random Access Memory) that primarily stores image data;
A DRAM controller for performing read / write control of the DRAM;
An image processing unit that performs predetermined image processing on the image data;
A cache system disposed between the DRAM control unit and the image processing unit for transferring image data;
With
The cache system is
A read cache system for performing a read-ahead operation by a read-out of a read address to the DRAM;
A write cache system that performs a write-back operation of writing data to the DRAM and writing the data later;
Consisting of
The read cache system is
Read cache memory,
A read cache control unit that reads image data from the DRAM control unit and controls the read image data to be temporarily stored by the read cache memory;
When reading image data from the DRAM control unit, a read DMA (Direct Memory Access) unit that outputs a read address of the DRAM according to a predetermined address generation pattern and performs a pre-read operation;
An image processing system comprising:
前記リードDMA部は、
前記DRAMのリードアドレスを前記所定のアドレス生成パターンに基づいて計算して前記リードキャッシュ制御部に対して出力し、前記リードキャッシュ制御部から入力されるリード応答信号によって次のリードアドレスを出力するリードアドレス出力部と、
前記リードキャッシュ制御部から入力される画像データを一時蓄積して前記画像処理部に出力するリード用FIFO(First In First Out)と、
を備えることを特徴とする請求項記載の画像処理システム。
The read DMA unit
A read that calculates the read address of the DRAM based on the predetermined address generation pattern and outputs the calculated read address to the read cache control unit, and outputs the next read address according to a read response signal input from the read cache control unit An address output section;
Read FIFO (First In First Out) that temporarily stores image data input from the read cache control unit and outputs the image data to the image processing unit;
The image processing system according to claim 1, further comprising:
前記リードキャッシュメモリは、n(nは2以上の整数)組のメモリ群から構成され、
前記リードキャッシュ制御部は、前記n組のメモリ群の各組毎に、出力すべき有効な画像データが溜まったか否かを管理し、画像データが溜まったメモリ群から前記画像処理部に出力するように制御することを特徴とする請求項記載の画像処理システム。
The read cache memory is composed of n (n is an integer of 2 or more) sets of memory groups,
The read cache control unit manages whether or not valid image data to be output is accumulated for each of the n groups of memory groups, and outputs the image data from the memory group in which the image data is accumulated to the image processing unit. the image processing system according to claim 1, wherein the controller controls so.
前記DRAMのデータビット幅をk(kは自然数)ビット、前記DRAMへの連続アクセス回数をm(mは自然数)回とする場合、前記リードキャッシュメモリは、k×mビット幅でリードデータを前記DRAM制御部から入力するように構成されることを特徴とする請求項または記載の画像処理システム。 When the data bit width of the DRAM is k (k is a natural number) bits and the number of continuous accesses to the DRAM is m (m is a natural number) times, the read cache memory reads the read data with a width of k × m bits. claim 1 or 3 image processing system according to characterized in that it is configured to input from the DRAM control unit. 画像データを一次記憶するDRAM(Dynamic Random Access Memory)と、
前記DRAMのリードライト制御を行うDRAM制御部と、
画像データに対して所定の画像処理を行う画像処理部と、
前記DRAM制御部と前記画像処理部との間に配置され、画像データの転送を行うキャッシュシステムと、
を備え、
前記キャッシュシステムは、
前記DRAMに対してリードアドレスの先出しによる先読み動作を行うリード系キャッシュシステムと、
前記DRAMに対してデータをまとめて後から書き込むライトバック動作を行うライト系キャッシュシステムと、
から構成され、
前記ライト系キャッシュシステムは、
ライトキャッシュメモリと、
前記画像処理部から画像データを読み出して前記ライトキャッシュメモリに対して書き込むに際し、前記DRAMのライトアドレスを所定のアドレス生成パターンに従って出力してライトバック動作を行うライトDMA部と、
前記ライトキャッシュメモリによって一時蓄積された画像データを前記DRAM制御部に対して書き込むように制御するライトキャッシュ制御部と、
を備えることを特徴とする画像処理システム。
DRAM (Dynamic Random Access Memory) that primarily stores image data;
A DRAM controller for performing read / write control of the DRAM;
An image processing unit that performs predetermined image processing on the image data;
A cache system disposed between the DRAM control unit and the image processing unit for transferring image data;
With
The cache system is
A read cache system for performing a read-ahead operation by a read-out of a read address to the DRAM;
A write cache system that performs a write-back operation of writing data to the DRAM and writing the data later;
Consisting of
The write cache system is
Write cache memory,
A write DMA unit that outputs a write address of the DRAM according to a predetermined address generation pattern and performs a write-back operation when reading image data from the image processing unit and writing it to the write cache memory;
A write cache control unit that controls to write image data temporarily stored in the write cache memory to the DRAM control unit;
An image processing system comprising:
前記ライトDMA部は、
前記DRAMのライトアドレスを前記所定のアドレス生成パターンに基づいて計算して前記ライトキャッシュ制御部に対して出力し、前記ライトキャッシュ制御部から入力されるライト応答信号によって次のライトアドレスを出力するライトアドレス出力部と、
前記画像処理部から入力される画像データを一時蓄積して前記ライトキャッシュ制御部に出力するライト用FIFOと、
を備えることを特徴とする請求項記載の画像処理システム。
The write DMA unit
Lights, calculated on the write address of the DRAM to the predetermined address generation pattern and outputs to the write cache controller, and outputs the next write address by the write response signal inputted from the write cache control unit An address output section ;
A write FIFO that temporarily stores image data input from the image processing unit and outputs the image data to the write cache control unit;
The image processing system according to claim 5, further comprising:
前記ライトキャッシュメモリは、n(nは2以上の整数)組のメモリ群から構成され、
前記ライトキャッシュ制御部は、前記n組のメモリ群の各組毎に、出力すべき有効な画像データが溜まったか否かを管理し、画像データが溜まったメモリ群から前記DRAM制御部に対して書き込むように制御することを特徴とする請求項記載の画像処理システム。
The write cache memory is composed of n (n is an integer of 2 or more) memory groups,
The write cache control unit manages whether or not valid image data to be output has accumulated for each of the n groups of memory groups, and the memory control unit stores the image data from the memory group to the DRAM control unit. 6. The image processing system according to claim 5 , wherein the image processing system is controlled to write.
前記DRAMのデータビット幅をk(kは自然数)ビット、前記DRAMへの連続アクセス回数をm(mは自然数)回とする場合、前記ライトキャッシュメモリは、k×mビット幅でライトデータを前記DRAM制御部へ出力するように構成されることを特徴とする請求項または記載の画像処理システム。 When the data bit width of the DRAM is k (k is a natural number) bits and the number of continuous accesses to the DRAM is m (m is a natural number) times, the write cache memory has the write data in the k × m bit width. the image processing system according to claim 5 or 7, wherein being configured to output to the DRAM controller. 前記所定のアドレス生成パターンは、前記アドレス生成パターンによるアドレス生成を要求する画像処理部における画素のアクセス順に基づいて定めることを特徴とする請求項1、2、5、6のいずれか一に記載の画像処理システム。 Said predetermined address generation pattern according to any one of claims 1, 2, 5, 6, characterized in that determined based on the access order of the pixels in the image processing unit that requests the address generation by the address generation pattern Image processing system. 前記画像処理部は、複数の画像処理部からなり、
前記ライト系キャッシュシステムは、前記複数の画像処理部にそれぞれ対応させた前記ライトDMA部を複数備え、前記複数のライトDMA部からのアクセス要求を調停するライトDMA調停部をさらに備え、
前記ライトDMA調停部は、前記複数のライトDMA部から優先順位に従って選択したライトDMA部を前記ライトキャッシュ制御部に接続することを特徴とする請求項記載の画像処理システム。
The image processing unit includes a plurality of image processing units,
The write cache system includes a plurality of write DMA units respectively corresponding to the plurality of image processing units, and further includes a write DMA arbitration unit that arbitrates access requests from the plurality of write DMA units,
The image processing system according to claim 5, wherein the write DMA arbitration unit connects a write DMA unit selected from the plurality of write DMA units according to a priority order to the write cache control unit.
前記複数の画像処理部の一部を、画像入力部に置き換え、
前記画像入力部は、画像入力装置から入力される画像データを、前記複数のライトDMA部から選択される1つのライトDMA部に転送することを特徴とする請求項10記載の画像処理システム。
Replacing a part of the plurality of image processing units with an image input unit;
11. The image processing system according to claim 10 , wherein the image input unit transfers image data input from the image input device to one write DMA unit selected from the plurality of write DMA units.
前記画像処理部は、複数の画像処理部からなり、
前記リード系キャッシュシステムは、前記複数の画像処理部にそれぞれ対応させた前記リードDMA部を複数備え、前記複数のリードDMA部からのアクセス要求を調停するリードDMA調停部をさらに備え、
前記リードDMA調停部は、前記複数のリードDMA部から優先順位に従って選択したリードDMA部を前記リードキャッシュ制御部に接続することを特徴とする請求項記載の画像処理システム。
The image processing unit includes a plurality of image processing units,
The read cache system includes a plurality of read DMA units corresponding to the plurality of image processing units, and further includes a read DMA arbitration unit that arbitrates access requests from the plurality of read DMA units,
The read DMA arbitration unit, an image processing system according to claim 1, wherein the connecting the read DMA section selected according to priority from the plurality of read DMA section in the read cache controller.
前記複数の画像処理部の一部を、画像出力部に置き換え、
前記画像出力部は、前記複数のリードDMA部から選択される1つのリードDMA部から転送される画像データを画像出力装置に出力することを特徴とする請求項12記載の画像処理システム。
Replacing a part of the plurality of image processing units with an image output unit;
13. The image processing system according to claim 12 , wherein the image output unit outputs image data transferred from one read DMA unit selected from the plurality of read DMA units to an image output device.
前記画像処理部がCPU(Central Processing Unit)あるいはDSP(Digital Signal Processor)で構成されることを特徴とする請求項1〜13のいずれか1に記載の画像処理システム。 The image processing system according to any one of claims 1 to 13, wherein the image processing unit is configured of a CPU (Central Processing Unit) or a DSP (Digital Signal Processor).
JP2004257391A 2004-09-03 2004-09-03 Image processing system Expired - Fee Related JP4266900B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004257391A JP4266900B2 (en) 2004-09-03 2004-09-03 Image processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004257391A JP4266900B2 (en) 2004-09-03 2004-09-03 Image processing system

Publications (2)

Publication Number Publication Date
JP2006072832A JP2006072832A (en) 2006-03-16
JP4266900B2 true JP4266900B2 (en) 2009-05-20

Family

ID=36153374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004257391A Expired - Fee Related JP4266900B2 (en) 2004-09-03 2004-09-03 Image processing system

Country Status (1)

Country Link
JP (1) JP4266900B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183692A (en) * 2005-12-29 2007-07-19 Fujitsu Ltd Data processor
JP5338008B2 (en) 2009-02-13 2013-11-13 ルネサスエレクトロニクス株式会社 Data processing device
JP5747489B2 (en) * 2010-11-30 2015-07-15 富士ゼロックス株式会社 Printed document processing system, cache device, and program
JP5708072B2 (en) * 2011-03-14 2015-04-30 大日本印刷株式会社 Image transformation device and command adding device
JP5658612B2 (en) 2011-05-11 2015-01-28 株式会社東芝 Image processing apparatus, image processing system, and image processing method
JP6294732B2 (en) * 2014-03-31 2018-03-14 株式会社メガチップス Data transfer control device and memory built-in device
CN112732603A (en) * 2019-10-14 2021-04-30 广州飒特红外股份有限公司 Multi-channel VDMA control method and application thereof
CN112597079B (en) * 2020-12-22 2023-10-17 上海安路信息科技股份有限公司 Data write-back system of convolutional neural network accelerator

Also Published As

Publication number Publication date
JP2006072832A (en) 2006-03-16

Similar Documents

Publication Publication Date Title
JP4181576B2 (en) Caching mechanism
JP5417879B2 (en) Cache device
JP3323212B2 (en) Data prefetching method and apparatus
US5526508A (en) Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
JP2003504757A (en) Buffering system bus for external memory access
US20130254493A1 (en) Cache memory capable of adjusting burst length of write-back data in write-back operation
JP2006268801A (en) Memory access control circuit
US6671196B2 (en) Register stack in cache memory
JP2001216194A (en) Arithmetic processor
US6253262B1 (en) Arbitrating FIFO implementation which positions input request in a buffer according to its status
US6449692B1 (en) Microprocessor circuits, systems, and methods with combined on-chip pixel and non-pixel cache structure
JP4266900B2 (en) Image processing system
JP3506024B2 (en) Information processing equipment
US6008823A (en) Method and apparatus for enhancing access to a shared memory
JP2007018222A (en) Memory access control circuit
JP4536189B2 (en) DMA transfer apparatus and DMA transfer system
JP3961371B2 (en) Information processing device
JP2005182538A (en) Data transfer device
JP2004240616A (en) Memory controller and memory access control method
JP5091548B2 (en) Memory system
JP4583981B2 (en) Image processing device
KR100337138B1 (en) Cache memory device using for high speed image processing and processor mounting the cache memory device
JP2010061498A (en) Memory control device, semiconductor test apparatus and memory control method
US20060129762A1 (en) Accessible buffer for use in parallel with a filling cacheline
CA2502390C (en) Pixel engine data caching mechanism

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090113

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees