JP2006011645A - Semiconductor integrated circuit - Google Patents

Semiconductor integrated circuit Download PDF

Info

Publication number
JP2006011645A
JP2006011645A JP2004185302A JP2004185302A JP2006011645A JP 2006011645 A JP2006011645 A JP 2006011645A JP 2004185302 A JP2004185302 A JP 2004185302A JP 2004185302 A JP2004185302 A JP 2004185302A JP 2006011645 A JP2006011645 A JP 2006011645A
Authority
JP
Japan
Prior art keywords
memory
address
cpu
arbiter
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004185302A
Other languages
Japanese (ja)
Other versions
JP4427393B2 (en
Inventor
Tomohiro Shima
智広 島
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004185302A priority Critical patent/JP4427393B2/en
Publication of JP2006011645A publication Critical patent/JP2006011645A/en
Application granted granted Critical
Publication of JP4427393B2 publication Critical patent/JP4427393B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor having a memory arbiter generating an interrupt to memory access to a specific position or a specific area on a memory to perform more diversified interrupt processing. <P>SOLUTION: This semiconductor integrated circuit has: a DMA controller 4 delivering inputted image data to the memory 5 not through a CPU; and the memory arbiter 3 connected to the externally installed CPU and memory 5. The memory arbiter 3 is provided with a register designating the specific area on the memory by an address. When write access of the image data from the DMA controller 4 is the access to the specific area, the memory arbiter 3 generates the interrupt in reference to the designation address of the register to notify the CPU. The designation address of the register is a start address and an end address of an area forbidden with writing of the image data. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、スキャナ等からの画像データをメモリにライト又はリードする際に、メモリアクセスに対して割り込みを発生させるメモリ調停機能を備えた半導体集積回路に関する。   The present invention relates to a semiconductor integrated circuit having a memory arbitration function for generating an interrupt for memory access when image data from a scanner or the like is written to or read from a memory.

スキャナ等のエンジンから送られてきた画像データについて、メモリ空間の或る特定の領域であるバッファ1とバッファ2(スタートアドレスとエンドアドレスとがバッファ1と2とでそれぞれを指定されている)に記憶する際に、メモリへのライトアクセスでバッファ1のエンドアドレスに達するとこれを検知して、割り込みを発生してCPUに通知し、CPUは割り込みによってDMACを起動してバッファ1の読み出しを行うとともにバッファ2へのライトアクセスをバッファ2のスタートアドレスから始めるという手法が従来から提案されている(例えば、特許文献1を参照)。   For image data sent from an engine such as a scanner, buffer 1 and buffer 2 (start address and end address are designated by buffers 1 and 2 respectively) which are specific areas of the memory space. When storing, when the end address of the buffer 1 is reached by write access to the memory, this is detected, an interrupt is generated and notified to the CPU, and the CPU activates the DMAC by the interrupt and reads the buffer 1 At the same time, a method of starting write access to the buffer 2 from the start address of the buffer 2 has been proposed (see, for example, Patent Document 1).

また、複数ソースからのアクセスに対してDMAC同士で調停を行った上でメモリバスを専有する権利を得たDMAリクエストと、CPUリクエストとを調停するものにおいて、CPUリクエストがどの外部メモリにアクセスしたかにより分割し、分割したCPUリクエストのそれぞれに対して、同時に入力されるDMAリクエストに対する優先順位付けを行うことで、効率的なメモリバスの使用を可能とするような技術が提案されている(例えば、特許文献2を参照)。
特開2003−283710 特開2001−51943
In addition, the arbitration between DMACs for access from multiple sources and arbitration between the DMA request and the CPU request that have acquired the right to occupy the memory bus, and which external memory the CPU request accessed There has been proposed a technique that enables efficient use of the memory bus by dividing each of the divided CPU requests and prioritizing the DMA requests that are simultaneously input to each of the divided CPU requests ( For example, see Patent Document 2).
JP 2003-283710 A JP 2001-51943 A

しかしながら、特許文献1に示すような従来技術においては、メモリ空間内のバッファ1とバッファ2をトグルで使用するために、バッファの最終アドレスへのライトアクセスを要因として割り込みを発生させていて、割り込み発生の要因がバッファのトグル使用態様に限られていた。さらに、特許文献1においては、ライトアクセスがあった場合に、CPUからのアクセスであるかスキャナからの直接のメモリアクセスかに関わらず、割り込みを発生させていたが、バッファのトグル回数を用いて原稿の読み取りライン数を決定する手法を採用しているので、CPUからのアクセスに対してもトグル回数をカウントしてしまうと、原稿のライン数を誤って計算してしまうという不具合があった。   However, in the prior art as shown in Patent Document 1, in order to use the buffer 1 and the buffer 2 in the memory space as a toggle, an interrupt is generated due to write access to the final address of the buffer. The cause of the occurrence was limited to the buffer toggle usage mode. Further, in Patent Document 1, when a write access is made, an interrupt is generated regardless of whether the access is from the CPU or the direct memory access from the scanner, but the number of toggles of the buffer is used. Since a method of determining the number of original reading lines is employed, if the number of toggles is counted even for access from the CPU, the number of original lines is erroneously calculated.

また、特許文献2に示すような従来技術、CPUリクエストとDMAリクエストの同時発生時に、正常なプリントデータの保障ができなくなるようなオーバーランの発生防止を発明課題としており、CPUリクエストとDMAリクエストのそれぞれのアクセスをカウントしてアクセスの優先順位付けを調停しているものであり、メモリへのアクセスにおける割り込みの発生という観点とは異なるものである。 Further, the prior art as shown in Patent Document 2, when the simultaneous occurrence of CPU requests and DMA requests, and the invention object of prevention of comprising such overrun can not guarantee the normal print data, CPU requests and DMA requests of are those that is arbitrating the prioritization count to access the respective access, the viewpoint of the occurrence of the interruption in the access to the memory is different.

本発明の目的は、メモリ上の或る特定の箇所または特定の領域へのメモリアクセスに対して割り込みを発生させて、より多様な割り込み処理を行うことのできるメモリアービタを含めた半導体集積回路を提供することにある。 An object of the present invention is to provide a semiconductor integrated circuit including a memory arbiter capable of generating an interrupt for a memory access to a specific location or a specific area on a memory and performing various interrupt processing. It is to provide.

前記課題を解決するために、本発明は主として次のような構成を採用する。
入力される画像データをCPUを介さずにメモリに受け渡しを行うDMAコントローラと、外部設置されたCPUとメモリに接続されたメモリアービタと、を備えた半導体集積回路であって、前記メモリアービタは、前記メモリ上の特定領域をアドレスで指定するレジスタを設け、前記DMAコントローラからの前記画像データのライトアクセスが前記特定領域へのアクセスであるときに、前記メモリアービタは前記レジスタの指定アドレスを参照して割り込みを発生させ前記CPUに通知する構成とする。
In order to solve the above problems, the present invention mainly adopts the following configuration.
A DMA controller for transferring the image data to be input to the memory without passing through the CPU, a semiconductor integrated circuit including a memory arbiter coupled to the external the installed CPU and memory, wherein the memory arbiter A register for designating a specific area on the memory by an address is provided. When the write access of the image data from the DMA controller is an access to the specific area, the memory arbiter refers to the designated address of the register. The interrupt is generated and notified to the CPU.

また、前記半導体集積回路において、前記レジスタの指定アドレスは、画像データの書き込みを禁止する領域のスタートアドレスとエンドアドレスである構成とする。   In the semiconductor integrated circuit, the designated address of the register is a start address and an end address of an area where writing of image data is prohibited.

また、入力される画像データをCPUを介さずにメモリに受け渡しを行うDMAコントローラと、外部設置されたCPUとメモリに接続されたメモリアービタと、を備えた半導体集積回路であって、前記メモリアービタは、前記メモリ上の周期的な繰り返し箇所をアドレスで指定するレジスタを設け、前記DMAコントローラからの前記画像データのライトアクセスが前記周期的繰り返し箇所へのアクセスであるときに、前記メモリアービタは前記レジスタの指定アドレスを参照して割り込みを発生させ前記CPUに通知する構成とする。 Further, a DMA controller for transferring the image data to be input to the memory without passing through the CPU, a semiconductor integrated circuit including a memory arbiter coupled to the external the installed CPU and memory, the memory arbiter Is provided with a register for designating a periodic repetition location on the memory by an address, and when the write access of the image data from the DMA controller is an access to the periodic repetition location, the memory arbiter An interrupt is generated by referring to the designated address of the register and notified to the CPU.

また、前記半導体集積回路において、前記メモリはデュアルポートを有するメモリであり、前記画像データのライトとリードを前記デュアルポートを通して同時並行で実施する構成とする。   Further, in the semiconductor integrated circuit, the memory is a memory having a dual port, and the image data is written and read through the dual port in parallel.

本発明によれば、メモリへのデータ転送において、メモリアービタに各種レジスタを設定してDMACからのアクセス要求のアクセスを監視することによって、より多様な割り込みを発生させることができる。   According to the present invention, in data transfer to a memory, various types of interrupts can be generated by setting various registers in the memory arbiter and monitoring access requests from the DMAC.

また、メモリにライト又はリードする際に、メモリアービタによる割り込みの発生とCPUによるDMACの起動とによって、上書き禁止領域にデータを書き込むことを無くすることができる。   Further, when writing to or reading from the memory, it is possible to eliminate writing of data in the overwrite-inhibited area by the generation of an interrupt by the memory arbiter and the activation of the DMAC by the CPU.

また、デュアルポートメモリを用いてライトとリードとの同時並行的な動作を実施する上で、一定量のデータ転送毎に割り込みを発生させてその都度リードDMACを起動させてリードすることによって、データの処理速度を高めるとともにメモリの利用効率を向上させることができる。 Further, when performing simultaneous operations of writing and reading using a dual port memory, an interrupt is generated every time a certain amount of data is transferred, and each time a read DMAC is activated to read data. As a result, the memory utilization efficiency can be improved.

本発明の実施形態に係る半導体集積回路について、図1〜図5を参照しながら以下詳細に説明する。図1は本発明の実施形態に係る半導体集積回路(ASIC:Applicatoin Specified I.C.)の内部構成とこれに接続される外部構成を示すブロック図である。図2は本実施形態に係る半導体集積回路に接続されるメモリ空間の構成例を示す図である。図3は本実施形態に係る半導体集積回路内のメモリアービタに存する各種レジスタを示す図である。図4はデュアルポートを有するRAMなどにおけるメモリ空間の構成例と割り込み発生を示す図である。図5はデュアルポートを有するRAMなどにおけるメモリ空間の他の構成例と割り込み発生を示す図である。 A semiconductor integrated circuit according to an embodiment of the present invention will be described below in detail with reference to FIGS. FIG. 1 is a block diagram showing an internal configuration of a semiconductor integrated circuit (ASIC: Applied Specific IC) according to an embodiment of the present invention and an external configuration connected to the internal configuration. FIG. 2 is a diagram showing a configuration example of a memory space connected to the semiconductor integrated circuit according to the present embodiment. FIG. 3 is a view showing various registers in the memory arbiter in the semiconductor integrated circuit according to the present embodiment. FIG. 4 is a diagram showing a configuration example of a memory space in a RAM having a dual port and the occurrence of an interrupt. FIG. 5 is a diagram showing another configuration example of a memory space in a RAM having a dual port and the occurrence of an interrupt.

ここで、1は汎用バス(PCIバスなど)、2は割り込み信号、3はメモリアービタ、4はDMAコントローラ(Direct Memory Access Controller:DMAC)、5はメモリデバイス(SDRAMなど)、6は少なくともメモリアービタ3やDMAC4を含むASIC、7はスタートアドレスレジスタで設定したアドレス、8はエンドアドレスレジスタで設定したアドレス、9はアクセスを監視する領域の内のルックアップテーブル領域、10アクセスを監視する領域の内のディスクリプタデータ領域、をそれぞれ表す。なお、メモリアービタ3には、アクセス監視領域設定用のスタートアドレスレジスタ、エンドアドレスレジスタ、エラーステータスレジスタ、マスクアドレスレジスタを内蔵している。 Here, 1 is a general-purpose bus (PCI bus or the like), 2 is an interrupt signal, 3 is a memory arbiter, 4 is a DMA controller ( Direct Memory Access Controller: DMAC), 5 is a memory device (SDRAM or the like), 6 is at least a memory arbiter ASIC including 3 and DMAC4 , 7 is an address set in the start address register, 8 is an address set in the end address register, 9 is a look-up table area in an area for monitoring access, and 10 in an area for monitoring access Represents the descriptor data area . The memory arbiter 3 includes a start address register, an end address register, an error status register, and a mask address register for setting an access monitoring area.

図1において、スキャナなどのエンジンからの画像データは、PCIバスなどの汎用バスを通して、少なくともDMAC4やメモリアービタ3を含むASICに送られ、メモリにライトされる。また、メモリからのデータがリードされてASIC6を介しプロッタに出力される。さらに、ASIC6はメモリ5からデータをリードしてHDDやSDカードに格納する。ASIC6は、各種レジスタを有してメモリ5へのアクセスを調停するメモリアービタ3と、外部装置であるスキャナやプロッタ、HDDやSDカード等とのインタフェースであるPCII/F、HDDI/F、SDI/Fと、各I/Fとメモリアービタ3との間でデータを授受するリードDMAC及びライトDMAC4と、メモリ5からリードしたデータに圧縮、伸長処理を施す圧縮伸長器(圧縮されたデータは符号データとして再びメモリ5に記憶されても良く、この圧縮伸長器は必ずしも必須要素ではない)と、を備えている。また、メモリ5にアクセスしてライト又はリードの処理の最中に別の処理を行わせるように、メモリアービタ3が割り込み信号2を発生してこれをCPUに通知するようになっている。なお、割り込み信号2を受けたCPUは適宜のDMACを起動して所要の処理を実行させる。 In FIG. 1, image data from an engine such as a scanner is sent to an ASIC 6 including at least a DMAC 4 and a memory arbiter 3 through a general-purpose bus 1 such as a PCI bus, and is written in a memory 5 . Further, data from the memory 5 is read and output to the plotter via the ASIC 6. Further, the ASIC 6 reads data from the memory 5 and stores it in the HDD or SD card. The ASIC 6 includes a memory arbiter 3 that has various registers and arbitrates access to the memory 5 and an external device such as a scanner, plotter, HDD, SD card, or the like, such as PCI II / F, HDD I / F, SDI / F, a read DMAC and a write DMAC 4 that exchange data between each I / F and the memory arbiter 3, and a compression / expansion unit that compresses and decompresses the data read from the memory 5 (the compressed data is encoded data) And may be stored in the memory 5 again, and this compression / decompression device is not necessarily an essential element). In addition, the memory arbiter 3 generates an interrupt signal 2 and notifies the CPU of this so that another process can be performed during the write or read process by accessing the memory 5. The CPU that has received the interrupt signal 2 activates an appropriate DMAC 4 to execute a required process.

図2はメモリ5におけるメモリ空間を示し、このメモリ空間には、アクセスを監視する領域として、例えば、ディザ処理のためのテーブルを示すルックアップテーブル領域(画像処理を実施するためのテーブル領域)がスタートアドレス(SA1)とエンドアドレス(EA1)で指定されて領域が確保されている。同様に、例えば、DMACへの指示内容であるスタートアドレス、ライン数、画像種類(符号データ等)が書き込まれたディスクリプタデータ領域10がスタートアドレス(SA2)とエンドアドレス(EA2)で指定されて領域が確保されていて、スキャナ等のエンジンからの画像データについて書き込み禁止したいデータ領域であることを示している。なお、割り込み発生を通知されたCPUによって起動されたDMACは(CPUは割り込みによってDMACを起動する)、DMACへの指示内容(例えば、スタートアドレス、ライン数など)を記載したディスクリプタデータ領域10にアクセスして読み出しを行いその指示内容にしたがってデータをメモリに転送する。 Figure 2 shows the memory space in the memory 5, this memory space, and the realm of monitoring access, for example, to implement a lookup table area 9 (image processing showing a table for dithering The table area is designated by the start address (SA1) 7 and the end address (EA1) 8 to secure the area. Similarly, for example, the descriptor data area 10 in which the start address, the number of lines, and the image type (code data, etc.) which are instructions to the DMAC 4 are written is designated by the start address (SA2) 7 and the end address (EA2) 8 . This indicates that the area is reserved and is a data area in which image data from an engine such as a scanner is to be prohibited from being written. Note that the DMAC 4 activated by the CPU that has been notified of the occurrence of an interrupt (the CPU activates the DMAC 4 by an interrupt) is a descriptor data area in which contents of instructions to the DMAC 4 (for example, a start address, the number of lines, etc.) are described. 10 is read out and data is transferred to the memory in accordance with the contents of the instruction.

図1に示すメモリアービタ3には、図3に示すように、メモリ5への上述した書き込み禁止のスタートアドレスやエンドアドレスを設定するスタートアドレスレジスタとエンドアドレスレジスタが備わっており、図2に示す符号7は、メモリアービタ内のスタートアドレスレジスタで設定したアドレスであり、符号8はメモリアービタ内のエンドアドレスレジスタで設定したアドレスである。すなわち、メモリアービタ3は、アクセス監視領域用のスタートアドレスレジスタ、エンドアドレスレジスタの他に、マスクアドレスレジスタやエラーステータスレジスタを内蔵している。ここで、メモリアービタ3は、スタートアドレスレジスタで設定したメモリ5への書き込み禁止のスタートアドレスと、スキャナからの読み出しデータをDMACによるライトの指定アドレスとを監視して、このライト指定アドレスがスタートアドレスに達したときに、メモリアービタ3は割り込み信号2を発生してCPUに通知して、その後の処理によって(後述する)、スキャナからの画像データをルックアップテーブル領域(当該領域のデータ保護のため)に上書きすることを禁止している。 The memory arbiter 3 shown in FIG. 1, as shown in FIG. 3, and equipped with a start address register and the end address register to set the start address 7 and end address 8 of the above-mentioned write-protected to the memory 5, Fig. 2 reference numeral 7 shown in is the address set in the start address register in the memory arbiter 3, reference numeral 8 is an address set in the end address register in the memory arbiter 3. That is, the memory arbiter 3 includes a mask address register and an error status register in addition to the start address register and end address register for the access monitoring area. Here, the memory arbiter 3 monitors the start address 7 for prohibiting writing to the memory 5 set by the start address register and the designated address for writing the read data from the scanner by the DMAC 4 , and the write designated address is determined. When the start address 7 is reached, the memory arbiter 3 generates an interrupt signal 2 to notify the CPU, and the image data from the scanner is stored in the lookup table area 9 (in this area) by subsequent processing (described later). Overwriting is prohibited for data protection).

このように、メモリアービタには上書き禁止領域の監視機能とエラー情報の保持機能(例えば、割り込み信号2を発生した要因となったエラーの内容)を備えているものである。そして、図2に示すように、スキャナからの画像データ(ASICの外部から送られてきたデータに限らず、ASIC6内部の圧縮伸長器からのデータでも良い)がメモリ空間の空いた箇所から順に記憶されてSA1(7)(図2参照)に達すると、割り込み信号2を発生してCPUに通知し、この通知によってCPUはメモリアービタのエラーレジスタ(上書きのエラービットのフラグが立っているか否か)をリードして、ルックアップテーブル領域9への上書きを検知することとなる。そうした場合に、CPUは、ディスクリプタデータ領域10の、例えばDMACへの指示内容であるスタートアドレス7をリードして上書きしないように当該アドレスをソフトウェアにより更新する(画像データをメモリ5に記憶するライトアドレスをCPUが更新する)。更新した指示内容に基づいてDMAC4はデータライトすることで監視領域への上書きを防ぐことができる。監視領域であるルックアップテーブル領域やディスクリプタデータ領域10へのDMAC4によるデータ上書きは禁止するが、CPUによる更新はメモリアービタ3の機能で可能となっている。 As described above, the memory arbiter 3 is provided with a function for monitoring an overwriting-prohibited area and a function for retaining error information (for example, the content of the error that caused the interrupt signal 2 ). Then, as shown in FIG. 2, image data from the scanner (not limited to data sent from outside the ASIC 6 but may be data from the compression / decompressor inside the ASIC 6 ) is sequentially from the empty part of the memory space. When it is stored and reaches SA1 (7) (see FIG. 2), an interrupt signal 2 is generated and notified to the CPU, and the CPU notifies the error register of the memory arbiter 3 (whether the error bit flag of overwriting is set) No)) is read and overwriting to the lookup table area 9 is detected. In such a case, the CPU updates the address by software so as not to read and overwrite the start address 7 which is an instruction content to the DMAC 4 , for example, in the descriptor data area 10 (write data storing the image data in the memory 5). The CPU updates the address) . The DMAC 4 can prevent overwriting to the monitoring area by writing data based on the updated instruction content. Data overwriting by the DMAC 4 to the look-up table area 9 and the descriptor data area 10 , which are monitoring areas, is prohibited, but updating by the CPU is possible by the function of the memory arbiter 3.

図3はメモリアービタ3におけるマスクアドレスレジスタを説明する図であり、メモリアービタ3は、スタートアドレスレジスタ、エンドアドレスレジスタに加えて、マスクアドレスレジスタを有している。マスクアドレスレジスタで指定した値により、32bitのアドレスにおける上位アドレスを任意にマスクすることができ、図3の例示では、上位16bitをマスクする設定になっており、当該マスクアドレスレジスタで設定したアドレスとアクセス要求されたアドレスとを比較する対象のアドレスは下位の16bitとなる。このマスクアドレスレジスタは、メモリ上の周期的な繰り返し箇所をアドレスで指定するものである。 FIG. 3 is a diagram for explaining a mask address register in the memory arbiter 3. The memory arbiter 3 has a mask address register in addition to a start address register and an end address register. The upper address in the 32-bit address can be arbitrarily masked by the value specified in the mask address register. In the example of FIG. 3, the upper 16 bits are set to be masked, and the address set in the mask address register The target address to be compared with the address requested to be accessed is the lower 16 bits. This mask address register is used to specify a periodic repetition location on the memory by an address.

メモリアービタ3は、各DMAC及びCPUからのアクセス要求のアドレスを見張っていて、すなわち、マスクアドレスレジスタでマスクされていない下位16bitを比較対象として、それらのアドレスが等しくなったときに割り込み信号2を発生する。図3のマスクアドレスレジスタのマスク設定の場合、DMACからの要求アドレスはインクリメントされていくので、スタートアドレスからエンドアドレスの範囲において、一定のデータ転送毎(図示の設定例では256Byte毎)に、下位16bitが0x0000になり割り込みが発生するという構成例となっている。換言すると、マスクアドレスレジスタで設定したアドレスとDMACからの要求アドレスとを、マスクしたあとの有効アドレス部分においてアドレスが等しくなるとき割り込み信号2を発生させる。例えば、マスクアドレスレジスタを上位23bitマスクするように設定すれば(下位9bitを比較対象)、図4に示すように512Byteの転送ごとに割り込み信号2を発生させる。 The memory arbiter 3 watches the address of the access request from each DMAC 4 and the CPU, that is, the lower 16 bits not masked by the mask address register are compared, and when the addresses become equal, the interrupt signal 2 Is generated. In the mask setting of the mask address register of FIG. 3, since the request address from the DMAC 4 is incremented, every fixed data transfer (every 256 bytes in the setting example shown) in the range from the start address to the end address. In the configuration example, the lower 16 bits become 0x0000 and an interrupt occurs. In other words, the interrupt signal 2 is generated when the address set in the mask address register and the request address from the DMAC 4 become equal in the effective address portion after masking. For example, if the mask address register is set to mask the upper 23 bits (lower 9 bits are to be compared) , an interrupt signal 2 is generated for every 512 bytes transferred as shown in FIG.

図4にはデュアルポートを備えたRAMなどのメモリ空間において、デュアルポートを用いてライトとリードを同時並行的に行う動作態様を示したものであり、ライト領域を先頭アドレス(スタートアドレスSA)と最終アドレス(エンドアドレスEA)でまず指定する。さらに、メモリアービタ3内のマスクアドレスレジスタで上位の任意のbitをマスクして下位の任意数のアドレスが一致する都度に、すなわち、一定量のデータ転送毎に、例えば図4で512Byte毎のデータ量に対応するアドレスがライトDMAC(図4に図示)から現出する毎に(ライトDMACからのアドレスとマスクアドレスの下位数bitを比較して一致する毎に)、メモリアービタは割り込み信号2を発生してCPUに通知する。 FIG. 4 shows an operation mode in which writing and reading are simultaneously performed in parallel using a dual port in a memory space such as a RAM having a dual port. The write area is defined as a start address (start address SA). First, the final address (end address EA) is specified. Further, every time the upper-order arbitrary bits are masked by the mask address register in the memory arbiter 3 and the lower-order arbitrary number of addresses match, that is, every time a certain amount of data is transferred, for example, the data for every 512 bytes in FIG. Each time an address corresponding to the amount appears from the write DMAC (shown in FIG. 4) (every time the address from the write DMAC matches the low-order bit of the mask address), the memory arbiter 3 sends an interrupt signal 2 To notify the CPU.

割り込みを通知されたCPUはメモリアービタのレジスタをリードしてメモリへの一定量のデータ書き込みがあったことを検知して、適宜のリードDMAC(図4に図示)を起動する。図4の例では、512Byte毎のライトに達したときにリードDMACを起動してHDDやSDカードにリードデータを転送する。ここで、512Byteの一定量データはHDDやSDカードが取り扱うデータの単位量(セクタ単位)である。このように、メモリへのライトとリードを同時並行して行うことにより、データの処理速度を高めるとともにメモリ5の利用効率を向上させることになる。また、図4の動作説明で、メモリ5にライトしたデータをリードしてHDDやSDカードに書き込むことについて述べたが、これに限らず、メモリへの一定量のデータ転送があった場合に、リードDMACでリードして圧縮処理を施し符号データに変換して、メモリの他の領域に書き戻すようにしても良い。 The CPU notified of the interrupt reads the register of the memory arbiter 3 to detect that a certain amount of data has been written to the memory, and activates an appropriate read DMAC (shown in FIG. 4) . In the example of FIG. 4, when the write for every 512 bytes is reached, the read DMAC is activated to transfer the read data to the HDD or SD card. Here, a certain amount of data of 512 bytes is a unit amount (sector unit) of data handled by the HDD or SD card. As described above, by simultaneously writing to and reading from the memory 5 , the data processing speed is increased and the utilization efficiency of the memory 5 is improved. In the operation description of FIG. 4, it has been described that data written to the memory 5 is read and written to the HDD or SD card. However, the present invention is not limited to this, and when a certain amount of data is transferred to the memory 5 . Alternatively, the data may be read by the read DMAC, compressed, converted into code data, and written back to another area of the memory.

図5はメモリアービタの内部にカウンタを備え、図4に示すメモリへの一定量のデータ書き込み(一定量のメモリアクセス)が指定した回数Nに達すると割り込み信号2を発生する場合の例である。HDDへ1回のアクセスで一度に書き込むデータ量はセクタ数(例えば、256セクタ)で規定されているので、このデータ量のアクセスで割り込みを発生させ、CPUによるリードDMACを起動してHDDにデータ転送する。すなわち、セクタの概念をもつHDD等のデータを扱う際に、(セクタサイズ×N)の単位で定期的に割り込みを発生させるものである。 FIG. 5 shows an example in which a counter is provided in the memory arbiter 3 and an interrupt signal 2 is generated when a certain amount of data writing (a certain amount of memory access) to the memory 5 shown in FIG. It is. Since the amount of data to be written at one time with one access to the HDD is defined by the number of sectors (for example, 256 sectors), an interrupt is generated by accessing this amount of data, and the read DMAC by the CPU is activated to transfer data to the HDD. Forward. That is, when data such as an HDD having the concept of a sector is handled, an interrupt is periodically generated in units of (sector size × N).

また、メモリをリングバッファとして使用する場合、一定量のデータ書き込みが指定回数Nに達し、その指定回数N分のデータについてリードが完了したことを検知して割り込み信号2を発生させ、この割り込み信号2によってCPUはDMACを起動して当該指定回数N分の領域に新たなデータを書き込むようにする。指定回数分のデータの読み出しが完了していない段階で当該領域に新たなデータを書き込むと旧データを破壊してしまうことが発生し得るからである。この場合においては、割り込み発生の要因はリードの完了である。 When the memory 5 is used as a ring buffer, a predetermined amount of data writing reaches the designated number N, and it is detected that the reading of the data for the designated number N has been completed, and an interrupt signal 2 is generated. In response to the signal 2 , the CPU activates the DMAC 4 so that new data is written in an area corresponding to the designated number N. This is because if new data is written to the area at a stage where data reading for the specified number of times has not been completed, the old data may be destroyed. In this case, the cause of the interrupt generation is the completion of reading.

本発明の実施形態に係る半導体集積回路の内部構成とこれに接続される外部構成を示すブロック図である。1 is a block diagram showing an internal configuration of a semiconductor integrated circuit according to an embodiment of the present invention and an external configuration connected to the internal configuration. FIG. 本実施形態に係る半導体集積回路に接続されるメモリ空間の構成例を示す図である。It is a figure which shows the structural example of the memory space connected to the semiconductor integrated circuit which concerns on this embodiment. 本実施形態に係る半導体集積回路内のメモリアービタに存する各種レジスタを示す図である。It is a figure which shows the various registers which exist in the memory arbiter in the semiconductor integrated circuit which concerns on this embodiment. デュアルポートを有するRAMなどにおけるメモリ空間の構成例と割り込み発生を示す図である。It is a figure which shows the structural example of memory space in RAM etc. which have a dual port, and an interrupt generation. デュアルポートを有するRAMなどにおけるメモリ空間の他の構成例と割り込み発生を示す図である。It is a figure which shows the other structural example of memory space in RAM etc. which have a dual port, and interruption generation | occurrence | production.

符号の説明Explanation of symbols

1 汎用バス(PCIバスなど)
2 割り込み信号
3 メモリアービタ
4 DMAコントローラ
5 メモリデバイス(SDRAMなど)
6 ASIC(半導体集積回路)
7 スタートアドレスレジスタで設定したアドレス
8 エンドアドレスレジスタで設定したアドレス
9 アクセスを監視する領域の内のルックアップテーブル領域
10 アクセスを監視する領域の内のディスクリプタデータ領域
1 General-purpose bus (PCI bus, etc.)
2 Interrupt signal 3 Memory arbiter 4 DMA controller 5 Memory device (SDRAM etc.)
6 ASIC (semiconductor integrated circuit)
7 Address set in the start address register 8 Address set in the end address register 9 Look-up table area in the area where access is monitored
10 Descriptor data area in the area to monitor access

Claims (7)

入力される画像データをCPUを介さずにメモリに受け渡しを行うDMAコントローラと、外部設置されたCPUとメモリに接続されたメモリアービタと、各種I/Fと、を備えた半導体集積回路であって、
前記メモリアービタは、前記メモリ上の特定領域をアドレスで指定するレジスタを設け、
前記DMAコントローラからの前記画像データのライトアクセスが前記特定領域へのアクセスであるときに、前記メモリアービタは前記レジスタの指定アドレスを参照して割り込みを発生させ前記CPUに通知する
ことを特徴とする半導体集積回路。
A semiconductor integrated circuit including a DMA controller that transfers input image data to a memory without using a CPU, a CPU that is externally installed, a memory arbiter that is connected to the memory, and various I / Fs. ,
The memory arbiter is provided with a register for designating a specific area on the memory by an address,
When the write access of the image data from the DMA controller is an access to the specific area, the memory arbiter generates an interrupt with reference to a specified address of the register and notifies the CPU. Semiconductor integrated circuit.
請求項1において、
前記レジスタの指定アドレスは、画像データの書き込みを禁止する領域のスタートアドレスとエンドアドレスである
ことを特徴とする半導体集積回路。
In claim 1,
The semiconductor integrated circuit, wherein the designated address of the register is a start address and an end address of an area where writing of image data is prohibited.
入力される画像データをCPUを介さずにメモリに受け渡しを行うDMAコントローラと、外部設置されたCPUとメモリに接続されたメモリアービタと、各種I/Fと、を備えた半導体集積回路であって、
前記メモリアービタは、前記メモリ上の周期的な特定の箇所をアドレスで指定するレジスタを設け、
前記DMAコントローラからの前記画像データのライトアクセスが前記周期的特定箇所へのアクセスであるときに、前記メモリアービタは前記レジスタの指定アドレスを参照して割り込みを発生させ前記CPUに通知する
ことを特徴とする半導体集積回路。
A semiconductor integrated circuit including a DMA controller that transfers input image data to a memory without using a CPU, a CPU that is externally installed, a memory arbiter that is connected to the memory, and various I / Fs. ,
The memory arbiter is provided with a register for designating a specific periodic part on the memory by an address,
When the write access of the image data from the DMA controller is an access to the periodic specific portion, the memory arbiter generates an interrupt with reference to a specified address of the register and notifies the CPU. A semiconductor integrated circuit.
請求項3において、
前記レジスタの指定アドレスは、上位ビットをマスクするマスクアドレスレジスタによる下位ビットのアドレスである
ことを特徴とする半導体集積回路。
In claim 3,
The specified address of the register is an address of lower bits by a mask address register that masks upper bits.
請求項3又は4において、
前記メモリはデュアルポートを有するメモリであり、前記画像データのライトとリードを前記デュアルポートを通して同時並行で実施する
ことを特徴とする半導体集積回路。
In claim 3 or 4,
The memory is a memory having a dual port, and the writing and reading of the image data are simultaneously performed in parallel through the dual port.
入力される画像データをCPUを介さずにメモリに受け渡しを行うDMAコントローラと、外部設置されたCPUとメモリに接続されたメモリアービタと、各種I/Fと、を備えた半導体集積回路であって、
前記メモリはデュアルポートを有するメモリであり、
前記メモリアービタは、前記メモリ上の周期的な特定の箇所をアドレスで指定するレジスタを設け、
さらに、前記メモリアービタは、前記DMAコントローラからの前記画像データのライトアクセスが前記周期的特定箇所へアクセスした回数をカウントし、前記カウント回数が指定回数に達したときに、前記メモリアービタは割り込みを発生させ前記CPUに通知する
ことを特徴とする半導体集積回路。
A semiconductor integrated circuit including a DMA controller that transfers input image data to a memory without using a CPU, a CPU that is externally installed, a memory arbiter that is connected to the memory, and various I / Fs. ,
The memory is a memory having a dual port;
The memory arbiter is provided with a register for designating a specific periodic part on the memory by an address,
Further, the memory arbiter counts the number of times that the write access of the image data from the DMA controller accesses the periodic specific location, and the memory arbiter issues an interrupt when the count reaches the specified number. A semiconductor integrated circuit characterized in that it is generated and notified to the CPU.
入力される画像データをCPUを介さずにメモリに受け渡しを行うDMAコントローラと、外部設置されたCPUとメモリに接続されたメモリアービタと、各種I/Fと、を備えた半導体集積回路であって、
前記メモリはデュアルポートを有してリングバッファとして使用するメモリであり、
前記メモリアービタは、前記メモリ上の周期的な特定の箇所をアドレスで指定するレジスタを設け、
さらに、前記メモリアービタは、前記メモリへのリードアクセスが前記周期的特定箇所へアクセスした回数をカウントし、前記カウント回数が指定回数に達したときに、前記メモリアービタは割り込みを発生させ前記CPUに通知し、
前記CPUからの指示で前記指定回数に達したメモリ領域に前記画像データを書き込む
ことを特徴とする半導体集積回路。
A semiconductor integrated circuit including a DMA controller that transfers input image data to a memory without using a CPU, a CPU that is externally installed, a memory arbiter that is connected to the memory, and various I / Fs. ,
The memory is a memory having a dual port and used as a ring buffer;
The memory arbiter is provided with a register for designating a specific periodic part on the memory by an address,
Further, the memory arbiter counts the number of times that the read access to the memory accesses the periodic specific location, and when the count reaches the specified number, the memory arbiter generates an interrupt to the CPU. Notify
The semiconductor integrated circuit, wherein the image data is written in a memory area that has reached the specified number of times according to an instruction from the CPU.
JP2004185302A 2004-06-23 2004-06-23 Semiconductor integrated circuit Expired - Fee Related JP4427393B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004185302A JP4427393B2 (en) 2004-06-23 2004-06-23 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004185302A JP4427393B2 (en) 2004-06-23 2004-06-23 Semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JP2006011645A true JP2006011645A (en) 2006-01-12
JP4427393B2 JP4427393B2 (en) 2010-03-03

Family

ID=35778868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004185302A Expired - Fee Related JP4427393B2 (en) 2004-06-23 2004-06-23 Semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP4427393B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012038065A (en) * 2010-08-06 2012-02-23 Ricoh Co Ltd Semiconductor integrated circuit and information storage method
US8868128B2 (en) 2011-03-15 2014-10-21 Samsung Electronics Co., Ltd. Image display systems and methods of processing image data
JP2015187833A (en) * 2014-03-14 2015-10-29 株式会社リコー Information processor, information processing method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012038065A (en) * 2010-08-06 2012-02-23 Ricoh Co Ltd Semiconductor integrated circuit and information storage method
US8868128B2 (en) 2011-03-15 2014-10-21 Samsung Electronics Co., Ltd. Image display systems and methods of processing image data
JP2015187833A (en) * 2014-03-14 2015-10-29 株式会社リコー Information processor, information processing method, and program

Also Published As

Publication number Publication date
JP4427393B2 (en) 2010-03-03

Similar Documents

Publication Publication Date Title
JP5688823B2 (en) Streaming translation in display pipes
US7581039B2 (en) Procedure and device for programming a DMA controller in which a translated physical address is stored in a buffer register of the address processing unit and then applied to the data bus and stored in a register of the DMA controller
US9740636B2 (en) Information processing apparatus
JP4587756B2 (en) Semiconductor integrated circuit device
TWI668704B (en) Data management method and storage controller using the same
JP2007080220A (en) Memory control device
JP2006260525A (en) Cache circuit
JP2006113689A (en) Bus bridge device and data transfer method
US20080065855A1 (en) DMAC Address Translation Miss Handling Mechanism
JP2016143422A (en) Configuring serial devices
JP2008262390A (en) Program
JP4427393B2 (en) Semiconductor integrated circuit
JP2008040905A (en) Semiconductor device and access method to storage device
JP2006243811A (en) Dma transfer system and dma transfer method
US9092486B2 (en) Extensible I/O activity logs
JP3824122B2 (en) DMA device
JP2010061220A (en) Data transfer apparatus, data transfer method and processor
US10515036B2 (en) Bit manipulation capable direct memory access
US6801988B2 (en) Data buffer for block unit data transfer to SDRAM
JP2007048090A (en) Nand type flash memory device compatible with sequential rom interface, and controller therefor
JP2005301714A (en) Multi-cpu system, its data transfer method, and its program
JP2010140440A (en) Bus arbitration device
JP2008135051A (en) Electronic device, data processing method, and computer program
JP2008083772A (en) Data processor
JP2008077389A (en) Data processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090902

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

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

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees