JP4427393B2 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP4427393B2
JP4427393B2 JP2004185302A JP2004185302A JP4427393B2 JP 4427393 B2 JP4427393 B2 JP 4427393B2 JP 2004185302 A JP2004185302 A JP 2004185302A JP 2004185302 A JP2004185302 A JP 2004185302A JP 4427393 B2 JP4427393 B2 JP 4427393B2
Authority
JP
Japan
Prior art keywords
memory
address
cpu
data
access
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
JP2004185302A
Other languages
English (en)
Other versions
JP2006011645A (ja
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.)
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/ja
Publication of JP2006011645A publication Critical patent/JP2006011645A/ja
Application granted granted Critical
Publication of JP4427393B2 publication Critical patent/JP4427393B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、スキャナ等からの画像データをメモリにライト又はリードする際に、メモリアクセスに対して割り込みを発生させるメモリ調停機能を備えた半導体集積回路に関する。
スキャナ等のエンジンから送られてきた画像データについて、メモリ空間の或る特定の領域であるバッファ1とバッファ2(スタートアドレスとエンドアドレスとがバッファ1と2とでそれぞれを指定されている)に記憶する際に、メモリへのライトアクセスでバッファ1のエンドアドレスに達するとこれを検知して、割り込みを発生してCPUに通知し、CPUは割り込みによってDMACを起動してバッファ1の読み出しを行うとともにバッファ2へのライトアクセスをバッファ2のスタートアドレスから始めるという手法が従来から提案されている(例えば、特許文献1を参照)。
また、複数ソースからのアクセスに対してDMAC同士で調停を行った上でメモリバスを専有する権利を得たDMAリクエストと、CPUリクエストとを調停するものにおいて、CPUリクエストがどの外部メモリにアクセスしたかにより分割し、分割したCPUリクエストのそれぞれに対して、同時に入力されるDMAリクエストに対する優先順位付けを行うことで、効率的なメモリバスの使用を可能とするような技術が提案されている(例えば、特許文献2を参照)。
特開2003−283710 特開2001−51943
しかしながら、特許文献1に示すような従来技術においては、メモリ空間内のバッファ1とバッファ2をトグルで使用するために、バッファの最終アドレスへのライトアクセスを要因として割り込みを発生させていて、割り込み発生の要因がバッファのトグル使用態様に限られていた。さらに、特許文献1においては、ライトアクセスがあった場合に、CPUからのアクセスであるかスキャナからの直接のメモリアクセスかに関わらず、割り込みを発生させていたが、バッファのトグル回数を用いて原稿の読み取りライン数を決定する手法を採用しているので、CPUからのアクセスに対してもトグル回数をカウントしてしまうと、原稿のライン数を誤って計算してしまうという不具合があった。
また、特許文献2に示すような従来技術、CPUリクエストとDMAリクエストの同時発生時に、正常なプリントデータの保障ができなくなるようなオーバーランの発生防止を発明課題としており、CPUリクエストとDMAリクエストのそれぞれのアクセスをカウントしてアクセスの優先順位付けを調停しているものであり、メモリへのアクセスにおける割り込みの発生という観点とは異なるものである。
本発明の目的は、メモリ上の或る特定の箇所または特定の領域(例えば、ルックアップテーブル領域又はディスクリプタデータ領域)へのメモリアクセスに対してCPUへの割り込みを発生させ、入力された画像データを当該特定の箇所または特定の領域に上書きすることを禁止するメモリアービタを提供することにある。
前記課題を解決するために、本発明は次のような構成を採用する。
入力される画像データをCPUを介さずにメモリに受け渡しを行うDMAコントローラと、外部設置されたCPUとメモリに接続されたメモリアービタと、を備えた半導体集積回路であって、前記メモリアービタには、前記メモリへのアクセスを監視するアクセス監視領域用のスタートアドレスレジスタと、前記アクセス監視領域用のエンドアドレスレジストと、前記画像データの上書き書き込みのエラービットのフラグが立っているか否かのエラーステータスレジスタと、が内蔵されており、前記メモリアービタは、前記スタートアドレスレジスタで設定した前記メモリへのアクセス監視領域のスタートアドレスと、前記DMAコントローラによる前記画像データのライト指定アドレスと、を監視し、前記ライト指定アドレスが前記スタートアドレスに達したとき、割り込み信号を発生して前記CPUに通知し、前記通知で前記CPUによる前記エラーステータスレジスタの前記フラグのリードによって、前記CPUによる前記DMAコントローラへのライトアドレス指示内容が更新され、前記更新されたライトアドレス指示内容に基づいて前記DMAコントローラが前記画像データをライトすることで、前記アクセス監視領域への上書きを禁止する構成とする。
本発明によれば、メモリへのデータ転送において、メモリアービタに各種レジスタを設定してDMACからのアクセス要求のアクセスを監視することによって、メモリにライト又はリードする際に、メモリアービタによる割り込みの発生とCPUによるDMACの起動とによって、上書き禁止領域にデータを書き込むことを無くすることができる。
本発明の実施形態に係る半導体集積回路について、図1〜図5を参照しながら以下詳細に説明する。図1は本発明の実施形態に係る半導体集積回路(ASIC:Applicatoin Specified I.C.)の内部構成とこれに接続される外部構成を示すブロック図である。図2は本実施形態に係る半導体集積回路に接続されるメモリ空間の構成例を示す図である。図3は本実施形態に係る半導体集積回路内のメモリアービタに存する各種レジスタを示す図である。図4はデュアルポートを有するRAMなどにおけるメモリ空間の構成例と割り込み発生を示す図である。図5はデュアルポートを有するRAMなどにおけるメモリ空間の他の構成例と割り込み発生を示す図である。
ここで、1は汎用バス(PCIバスなど)、2は割り込み信号、3はメモリアービタ、4はDMAコントローラ(Direct Memory Access Controller:DMAC)、5はメモリデバイス(SDRAMなど)、6は少なくともメモリアービタ3やDMAC4を含むASIC、7はスタートアドレスレジスタで設定したアドレス、8はエンドアドレスレジスタで設定したアドレス、9はアクセスを監視する領域の内のルックアップテーブル領域、10アクセスを監視する領域の内のディスクリプタデータ領域、をそれぞれ表す。なお、メモリアービタ3には、アクセス監視領域設定用のスタートアドレスレジスタ、エンドアドレスレジスタ、エラーステータスレジスタ、マスクアドレスレジスタを内蔵している。
図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を起動して所要の処理を実行させる。
図2はメモリ5におけるメモリ空間を示し、このメモリ空間には、アクセスを監視する領域として、例えば、ディザ処理のためのテーブルを示すルックアップテーブル領域(画像処理を実施するためのテーブル領域)がスタートアドレス(SA1)とエンドアドレス(EA1)で指定されて領域が確保されている。同様に、例えば、DMACへの指示内容であるスタートアドレス、ライン数、画像種類(符号データ等)が書き込まれたディスクリプタデータ領域10がスタートアドレス(SA2)とエンドアドレス(EA2)で指定されて領域が確保されていて、スキャナ等のエンジンからの画像データについて書き込み禁止したいデータ領域であることを示している。なお、割り込み発生を通知されたCPUによって起動されたDMACは(CPUは割り込みによってDMACを起動する)、DMACへの指示内容(例えば、スタートアドレス、ライン数など)を記載したディスクリプタデータ領域10にアクセスして読み出しを行いその指示内容にしたがってデータをメモリに転送する。
図1に示すメモリアービタ3には、図3に示すように、メモリ5への上述した書き込み禁止のスタートアドレスやエンドアドレスを設定するスタートアドレスレジスタとエンドアドレスレジスタが備わっており、図2に示す符号7は、メモリアービタ内のスタートアドレスレジスタで設定したアドレスであり、符号8はメモリアービタ内のエンドアドレスレジスタで設定したアドレスである。すなわち、メモリアービタ3は、アクセス監視領域用のスタートアドレスレジスタ、エンドアドレスレジスタの他に、マスクアドレスレジスタやエラーステータスレジスタを内蔵している。ここで、メモリアービタ3は、スタートアドレスレジスタで設定したメモリ5への書き込み禁止のスタートアドレスと、スキャナからの読み出しデータをDMACによるライトの指定アドレスとを監視して、このライト指定アドレスがスタートアドレスに達したときに、メモリアービタ3は割り込み信号2を発生してCPUに通知して、その後の処理によって(後述する)、スキャナからの画像データをルックアップテーブル領域(当該領域のデータ保護のため)に上書きすることを禁止している。
このように、メモリアービタには上書き禁止領域の監視機能とエラー情報の保持機能(例えば、割り込み信号2を発生した要因となったエラーの内容)を備えているものである。そして、図2に示すように、スキャナからの画像データ(ASICの外部から送られてきたデータに限らず、ASIC6内部の圧縮伸長器からのデータでも良い)がメモリ空間の空いた箇所から順に記憶されてSA1(7)(図2参照)に達すると、割り込み信号2を発生してCPUに通知し、この通知によってCPUはメモリアービタのエラーレジスタ(上書きのエラービットのフラグが立っているか否か)をリードして、ルックアップテーブル領域9への上書きを検知することとなる。そうした場合に、CPUは、ディスクリプタデータ領域10の、例えばDMACへの指示内容であるスタートアドレス7をリードして上書きしないように当該アドレスをソフトウェアにより更新する(画像データをメモリ5に記憶するライトアドレスをCPUが更新する)。更新した指示内容に基づいてDMAC4はデータライトすることで監視領域への上書きを防ぐことができる。監視領域であるルックアップテーブル領域やディスクリプタデータ領域10へのDMAC4によるデータ上書きは禁止するが、CPUによる更新はメモリアービタ3の機能で可能となっている。
図3はメモリアービタ3におけるマスクアドレスレジスタを説明する図であり、メモリアービタ3は、スタートアドレスレジスタ、エンドアドレスレジスタに加えて、マスクアドレスレジスタを有している。マスクアドレスレジスタで指定した値により、32bitのアドレスにおける上位アドレスを任意にマスクすることができ、図3の例示では、上位16bitをマスクする設定になっており、当該マスクアドレスレジスタで設定したアドレスとアクセス要求されたアドレスとを比較する対象のアドレスは下位の16bitとなる。このマスクアドレスレジスタは、メモリ上の周期的な繰り返し箇所をアドレスで指定するものである。
メモリアービタ3は、各DMAC及びCPUからのアクセス要求のアドレスを見張っていて、すなわち、マスクアドレスレジスタでマスクされていない下位16bitを比較対象として、それらのアドレスが等しくなったときに割り込み信号2を発生する。図3のマスクアドレスレジスタのマスク設定の場合、DMACからの要求アドレスはインクリメントされていくので、スタートアドレスからエンドアドレスの範囲において、一定のデータ転送毎(図示の設定例では256Byte毎)に、下位16bitが0x0000になり割り込みが発生するという構成例となっている。換言すると、マスクアドレスレジスタで設定したアドレスとDMACからの要求アドレスとを、マスクしたあとの有効アドレス部分においてアドレスが等しくなるとき割り込み信号2を発生させる。例えば、マスクアドレスレジスタを上位23bitマスクするように設定すれば(下位9bitを比較対象)、図4に示すように512Byteの転送ごとに割り込み信号2を発生させる。
図4にはデュアルポートを備えたRAMなどのメモリ空間において、デュアルポートを用いてライトとリードを同時並行的に行う動作態様を示したものであり、ライト領域を先頭アドレス(スタートアドレスSA)と最終アドレス(エンドアドレスEA)でまず指定する。さらに、メモリアービタ3内のマスクアドレスレジスタで上位の任意のbitをマスクして下位の任意数のアドレスが一致する都度に、すなわち、一定量のデータ転送毎に、例えば図4で512Byte毎のデータ量に対応するアドレスがライトDMAC(図4に図示)から現出する毎に(ライトDMACからのアドレスとマスクアドレスの下位数bitを比較して一致する毎に)、メモリアービタは割り込み信号2を発生してCPUに通知する。
割り込みを通知されたCPUはメモリアービタのレジスタをリードしてメモリへの一定量のデータ書き込みがあったことを検知して、適宜のリードDMAC(図4に図示)を起動する。図4の例では、512Byte毎のライトに達したときにリードDMACを起動してHDDやSDカードにリードデータを転送する。ここで、512Byteの一定量データはHDDやSDカードが取り扱うデータの単位量(セクタ単位)である。このように、メモリへのライトとリードを同時並行して行うことにより、データの処理速度を高めるとともにメモリ5の利用効率を向上させることになる。また、図4の動作説明で、メモリ5にライトしたデータをリードしてHDDやSDカードに書き込むことについて述べたが、これに限らず、メモリへの一定量のデータ転送があった場合に、リードDMACでリードして圧縮処理を施し符号データに変換して、メモリの他の領域に書き戻すようにしても良い。
図5はメモリアービタの内部にカウンタを備え、図4に示すメモリへの一定量のデータ書き込み(一定量のメモリアクセス)が指定した回数Nに達すると割り込み信号2を発生する場合の例である。HDDへ1回のアクセスで一度に書き込むデータ量はセクタ数(例えば、256セクタ)で規定されているので、このデータ量のアクセスで割り込みを発生させ、CPUによるリードDMACを起動してHDDにデータ転送する。すなわち、セクタの概念をもつHDD等のデータを扱う際に、(セクタサイズ×N)の単位で定期的に割り込みを発生させるものである。
また、メモリをリングバッファとして使用する場合、一定量のデータ書き込みが指定回数Nに達し、その指定回数N分のデータについてリードが完了したことを検知して割り込み信号2を発生させ、この割り込み信号2によってCPUはDMACを起動して当該指定回数N分の領域に新たなデータを書き込むようにする。指定回数分のデータの読み出しが完了していない段階で当該領域に新たなデータを書き込むと旧データを破壊してしまうことが発生し得るからである。この場合においては、割り込み発生の要因はリードの完了である。
本発明の実施形態に係る半導体集積回路の内部構成とこれに接続される外部構成を示すブロック図である。 本実施形態に係る半導体集積回路に接続されるメモリ空間の構成例を示す図である。 本実施形態に係る半導体集積回路内のメモリアービタに存する各種レジスタを示す図である。 デュアルポートを有するRAMなどにおけるメモリ空間の構成例と割り込み発生を示す図である。 デュアルポートを有するRAMなどにおけるメモリ空間の他の構成例と割り込み発生を示す図である。
符号の説明
1 汎用バス(PCIバスなど)
2 割り込み信号
3 メモリアービタ
4 DMAコントローラ
5 メモリデバイス(SDRAMなど)
6 ASIC(半導体集積回路)
7 スタートアドレスレジスタで設定したアドレス
8 エンドアドレスレジスタで設定したアドレス
9 アクセスを監視する領域の内のルックアップテーブル領域
10 アクセスを監視する領域の内のディスクリプタデータ領域

Claims (1)

  1. 入力される画像データをCPUを介さずにメモリに受け渡しを行うDMAコントローラと、外部設置されたCPUとメモリに接続されたメモリアービタと、を備えた半導体集積回路であって、
    前記メモリアービタには、前記メモリへのアクセスを監視するアクセス監視領域用のスタートアドレスレジスタと、前記アクセス監視領域用のエンドアドレスレジストと、前記画像データの上書き書き込みのエラービットのフラグが立っているか否かのエラーステータスレジスタと、が内蔵されており、
    前記メモリアービタは、前記スタートアドレスレジスタで設定した前記メモリへのアクセス監視領域のスタートアドレスと、前記DMAコントローラによる前記画像データのライト指定アドレスと、を監視し、前記ライト指定アドレスが前記スタートアドレスに達したとき、割り込み信号を発生して前記CPUに通知し、前記通知で前記CPUによる前記エラーステータスレジスタの前記フラグのリードによって、前記CPUによる前記DMAコントローラへのライトアドレス指示内容が更新され、前記更新されたライトアドレス指示内容に基づいて前記DMAコントローラが前記画像データをライトすることで、前記アクセス監視領域への上書きを禁止する
    ことを特徴とする半導体集積回路。
JP2004185302A 2004-06-23 2004-06-23 半導体集積回路 Expired - Fee Related JP4427393B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004185302A JP4427393B2 (ja) 2004-06-23 2004-06-23 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004185302A JP4427393B2 (ja) 2004-06-23 2004-06-23 半導体集積回路

Publications (2)

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

Family

ID=35778868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004185302A Expired - Fee Related JP4427393B2 (ja) 2004-06-23 2004-06-23 半導体集積回路

Country Status (1)

Country Link
JP (1) JP4427393B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5540979B2 (ja) * 2010-08-06 2014-07-02 株式会社リコー 半導体集積回路、情報記憶方法
KR20120105150A (ko) 2011-03-15 2012-09-25 삼성전자주식회사 이미지 디스플레이 시스템 및 이미지 데이터 처리 방법
JP2015187833A (ja) * 2014-03-14 2015-10-29 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
JP2006011645A (ja) 2006-01-12

Similar Documents

Publication Publication Date Title
JP4945053B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
JP4587756B2 (ja) 半導体集積回路装置
US20100306421A1 (en) Dma transfer device
JP2695017B2 (ja) データ転送方式
JP2007080220A (ja) メモリ制御装置。
JP5057360B2 (ja) 半導体装置、データ処理装置、及び記憶装置へのアクセス方法
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
JP4427393B2 (ja) 半導体集積回路
JP2008262390A (ja) プログラム
JP3824122B2 (ja) Dma装置
JP4446968B2 (ja) データ処理装置
JP2006243811A (ja) Dma転送システム及びdma転送方法
US6801988B2 (en) Data buffer for block unit data transfer to SDRAM
US10515036B2 (en) Bit manipulation capable direct memory access
TWI676104B (zh) 記憶體控制器與資料儲存裝置
JP4895264B2 (ja) 記憶装置および情報処理装置
JP2007048090A (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
JP2005346582A (ja) システムlsi及び画像処理装置
JP2011164669A (ja) メモリアクセス制御システムおよびメモリアクセス制御方法
JP2005301714A (ja) マルチcpuシステム、そのデータ転送方法、及びそのプログラム
JP2000347929A (ja) メモリic
JP4164452B2 (ja) 情報処理方法及び装置
JP4583981B2 (ja) 画像処理装置
JP2008083772A (ja) データ処理装置
JP4560398B2 (ja) データ処理回路

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 (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event 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