JP2010181998A - Data processor - Google Patents
Data processor Download PDFInfo
- Publication number
- JP2010181998A JP2010181998A JP2009023406A JP2009023406A JP2010181998A JP 2010181998 A JP2010181998 A JP 2010181998A JP 2009023406 A JP2009023406 A JP 2009023406A JP 2009023406 A JP2009023406 A JP 2009023406A JP 2010181998 A JP2010181998 A JP 2010181998A
- Authority
- JP
- Japan
- Prior art keywords
- dram
- data
- signal
- program
- area
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
本発明は、DRAM(ダイナミックランダムアクセスメモリ)を使用するプリンタや複写機などのデータ処理装置に関し、特に節電モードを有するデータ処理装置に関する。 The present invention relates to a data processing apparatus such as a printer or a copying machine using a DRAM (dynamic random access memory), and more particularly to a data processing apparatus having a power saving mode.
近年のプリンタや複写機などの電子機器においては、データ処理の高速化と消費電力の低減の両立が求められている。データの高速処理を行うために、低速なROM内にあるプログラムを高速なDRAMにコピーし、DRAM上でプログラムを動作させることが従来、一般に行われている。しかしながら、DRAMには消費電力が大きいという問題があり、これを解決しなければならない。 In recent electronic devices such as printers and copiers, there is a demand for both high-speed data processing and low power consumption. Conventionally, in order to perform high-speed data processing, a program in a low-speed ROM is generally copied to a high-speed DRAM and the program is operated on the DRAM. However, DRAM has a problem of high power consumption, and this must be solved.
例えば特許文献1(特開平7―129287号公報)には、ROMのデータをDRAMにコピーした後、ROMの電源をオフすること、及び、ROMのデータをDRAMにコピーした後に電源仮停止要求があった場合に、以降のROMデータアクセスはROMに対して行うようにするとともに、DRAMの電源をオフする。そしてレジューム時にはDRAMへのリフレッシュを再開し、DRAMに対してROMデータのコピー処理を行うことが開示されている(段落21乃至段落31参照)。
For example, in Patent Document 1 (Japanese Patent Laid-Open No. 7-129287), there is a request to temporarily turn off the power of the ROM after copying the ROM data to the DRAM, and to temporarily stop the power after copying the ROM data to the DRAM. If there is, the subsequent ROM data access is made to the ROM and the DRAM power is turned off. It is disclosed that refresh to the DRAM is resumed at the time of resume and ROM data is copied to the DRAM (see
また特許文献2(特開2007−38580号公報)には、節電モードに移行する前に、DRAM上で機器設定情報などを書き込み可能な不揮発性メモリに退避させてDRAMを節電モードにし、ROM上でプログラムを動作させる発明が開示されている。 Further, in Patent Document 2 (Japanese Patent Laid-Open No. 2007-38580), before shifting to the power saving mode, device setting information or the like is saved in a writable non-volatile memory on the DRAM, and the DRAM is set in the power saving mode. An invention for operating a program is disclosed.
しかしながら上記特許文献1、2においては、節電モードから通常モードに復旧する際に、プログラムと退避したデータをDRAMに再度展開しなければならないので、復旧に時間を要するという問題があった。特に、上記特許文献2においては、メモリの内容を細分化することにより、復旧に必要か不必要かを判断し、必要充分な情報のみを復旧させるようにしているが、上記特許文献2において、節電モード時にROM上でプログラムを動作させる理由は、1個のDRAMがデータバスの一部のビットを構成する図15に示すようなデータ処理装置では、プログラムがすべてのDRAMに展開されるために、プログラムが動作している間はDRAMを節電モードにできないためである。なお図15はデータ処理装置の一例を示すブロック図である。なお図15において、51はCPU、52はデータバス、53a〜53dはDRAMである。
However, in the
本発明は、上記課題に鑑みてなされたもので、節電モード時においてもプログラムをDRAM上で動作させるようにして、節電モードから通常モードへの復旧に要する時間を短縮したデータ処理装置を提供することを目的とする。 The present invention has been made in view of the above problems, and provides a data processing device that shortens the time required for recovery from the power saving mode to the normal mode by operating the program on the DRAM even in the power saving mode. For the purpose.
上記課題を解決するために本発明は、不揮発性メモリに格納されたプログラム情報を揮発性メモリに展開して実行するデータ処理装置において、前記揮発性メモリを複数設け、前記複数の揮発性メモリは、前記不揮発性メモリに格納された前記プログラム情報が展開されずにデータのみが展開される第1の揮発性メモリと、前記プログラム情報が展開されるとともにデータが展開される第2の揮発性メモリとから成り、前記第2の揮発性メモリの前記プログラム情報にアクセスする場合は小さなデータバス幅でアクセスし、データにアクセスする場合は、大きなデータ幅でアクセスする制御部を設けたことを特徴とするものである。 In order to solve the above-described problems, the present invention provides a data processing apparatus that executes program information stored in a non-volatile memory by developing the program information in a volatile memory. The volatile memory includes a plurality of the volatile memories. A first volatile memory in which only the data is expanded without expanding the program information stored in the nonvolatile memory; and a second volatile memory in which the program information is expanded and the data is expanded A control unit is provided that accesses the program information of the second volatile memory with a small data bus width and accesses the data with a large data width. To do.
上記構成の本発明によれば、第2の揮発性メモリの前記プログラム情報にアクセスする場合は小さなデータバス幅でアクセスするので、第1の揮発性メモリが節電モード時であってもプログラムを動作させることが可能になり、節電モードから通常モードへの復旧に要する時間が短縮できる。 According to the present invention configured as described above, since the program information in the second volatile memory is accessed with a small data bus width, the program is operated even when the first volatile memory is in the power saving mode. This makes it possible to reduce the time required to recover from the power saving mode to the normal mode.
以下、本発明を実施するための形態を図面に従って説明する。なお各図面に共通する要素には同一の符号を付す。図1は本発明の実施例1のデータ処理装置を示すブロック図である。 DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. In addition, the same code | symbol is attached | subjected to the element common to each drawing. FIG. 1 is a block diagram showing a data processing apparatus according to the first embodiment of the present invention.
実施例1のデータ処理装置は、Nビットのデータ信号を持つDRAMをM個使用してN×Mビットのデータバスを構成し、プログラムがDRAM上に格納されているデータ処理装置において、DRAMのメモリ空間をプログラム領域とデータ領域に分割して使用し、プログラム領域はデータバスの一部のみを使用するようにアドレスをマッピングし、データ領域はデータバスの全部を使用するようにアドレスをマッピングし、節電モード時にはプログラムが格納されていないDRAMをセルフリフレッシュモードにすることにより、DRAM上でプログラムを動作させるとともに、消費電力を低減するというものである。 In the data processing apparatus according to the first embodiment, an M × N-bit data bus is configured by using M DRAMs having N-bit data signals, and a program is stored on the DRAM. The memory space is divided into a program area and a data area. The program area maps addresses so that only part of the data bus is used, and the data area maps addresses so that the entire data bus is used. In the power saving mode, the DRAM in which no program is stored is set in the self-refresh mode, so that the program is operated on the DRAM and the power consumption is reduced.
図1は実施例1のデータ処理装置としてのプリンタ装置を含む印刷システムを示すブロック図である。図1において、実施例1のプリンタ装置1は、データ処理部2、メカ制御部3およびメカ部4を有し、またパーソナルコンピュータ5に接続されている。パーソナルコンピュータ5とはLANやUSBなどの標準的なインタフェースで接続されている。
FIG. 1 is a block diagram illustrating a printing system including a printer apparatus as a data processing apparatus according to the first embodiment. In FIG. 1, a
データ処理部2は、パーソナルコンピュータ5と通信を行い、プリント命令を受信して画像データを生成してメカ制御部3へ送信する。メカ制御部3は、メカ部4を制御してデータ処理部2から受信したデータを用紙に印刷する。メカ部4は画像データを用紙に印刷する機構部を構成する。
The
図2は実施例1のデータ処理部の構成を示すブロック図である。図2において、データ処理部2には、CPU6、DRAMコントローラ7、DRAM(1)(揮発性メモリ)9、DRAM(2)(揮発性メモリ)10、ホストインタフェース制御部11、メカ制御インタフェース部12、ROMコントローラ13、ROM(不揮発性メモリ)14およびアービタ22を有する。CPU6、DRAMコントローラ7、ROMコントローラ13、ホストインタフェース制御部11、メカ制御インタフェース部13およびアービタ22はそれぞれシステムバス15で接続されている。
FIG. 2 is a block diagram illustrating the configuration of the data processing unit according to the first embodiment. 2, the
システムバス15は、バスリクエスト信号S_REQ、バスグラント信号S_GNT、アドレス信号S_A、16ビットのデータ信号S_D[15:0]、アドレス有効信号S_ASTB、データレディー信号S_DRDY、データアック信号S_DACK、ライト信号S_WRから構成される。
The
DRAM(1)9、DRAM(2)10は、8ビットのデータ信号を持つ標準のDDR(dynamic device reconfiguration) SDRAMである。DRAMコントローラ7とDRAM(1)9、DRAM(2)10との間には、DRAMアドレスバス17及びDRAM制御信号18が接続される。DRAMコントローラ7とDRAM(1)9とは、チップ選択信号(1)19とDRAMデータバス[15:0]21の下位8ビットで接続され、またDRAMコントローラ7とDRAM(2)10とは、チップ選択信号(2)20とDRAMデータバス[15:0]21の上位8ビットで接続される。DRAM制御信号18は、チップ選択信号を除く標準のDDR SDRAMの制御信号で構成される。またROMコントローラ13はROM14と接続される。
The DRAM (1) 9 and the DRAM (2) 10 are standard DDR (dynamic device reconfiguration) SDRAM having an 8-bit data signal. A
上記構成を有する実施例1は、二つの特徴を有する。一つは、DRAM(1)9、DRAM(2)10のそれぞれにチップ選択信号(1)19、チップ選択信号(2)20が個別に接続することにより、DRAM(1)9、DRAM(2)10を個別にセルフリフレッシュモードにできることである。もう一つは、DRAM(1)9がDRAMデータバス[15:0]21の下位8ビットを構成し、DRAM(2)10がDRAMデータバス[15:0]21の上位8ビットを構成することにより、画像データのような大容量のデータのアクセスには、DRAM(1)9、DRAM(2)10の両方を使用して16ビットの高速アクセスを行い、プログラムのような小さなデータのアクセスにはDRAM(1)9だけを使用する8ビットアクセスが可能になる点である。 The first embodiment having the above configuration has two characteristics. One is that the chip selection signal (1) 19 and the chip selection signal (2) 20 are individually connected to the DRAM (1) 9 and the DRAM (2) 10, respectively. ) 10 can be individually set to the self-refresh mode. In the other, DRAM (1) 9 constitutes the lower 8 bits of the DRAM data bus [15: 0] 21 and DRAM (2) 10 constitutes the upper 8 bits of the DRAM data bus [15: 0] 21. Therefore, for accessing large-capacity data such as image data, both DRAM (1) 9 and DRAM (2) 10 are used for 16-bit high-speed access, and small data such as programs are accessed. Is that 8-bit access using only DRAM (1) 9 becomes possible.
図3はROM14に格納されるデータを示す説明図である。図3において、ROM14にはブートプログラム31と圧縮されたシステムプログラム32が格納されている。
FIG. 3 is an explanatory diagram showing data stored in the
図4はCPU6の空間アドレス上へのマッピングを示す説明図である。図4において、CPU6のアドレス空間には、DRAM領域33、ROM領域34、IO領域35に分割されてマッピングされる。DRAM領域33はさらに、プログラム領域33aおよびデータ領域33bに分割される。プログラム領域33aはプログラム変数、機器設定情報などを一時的に記憶するワーク領域を含む。プログラム領域33aはアドレス0x0からアドレス0x2^m−1(0x2の(m−1)乗)まで、データ領域33bはアドレス0x2^m*2以上をマッピングしている。またアドレス0x2^m からアドレス0x2^m*2−1までは使用不能領域33cである。
FIG. 4 is an explanatory diagram showing the mapping of the CPU 6 onto the space address. In FIG. 4, the address space of the CPU 6 is divided and mapped into a
図5はDRAM(1)9、DRAM(2)10で構成されるDRAM領域へのマッピングを示す説明図である。図5において、アドレス0x0からアドレス0x2^m*2−1までがプログラム領域36aにマッピングされ、0x2^m*2以上にデータ領域36bをマッピングしている。またアドレス0x0 からアドレス0x2^m*2−1までの領域の奇数アドレスは使用不能領域36cである。
FIG. 5 is an explanatory diagram showing mapping to a DRAM area composed of DRAM (1) 9 and DRAM (2) 10. In FIG. 5, addresses 0x0 to 0x2 ^ m * 2-1 are mapped to the
次に実施例1の動作を説明する。図6、図7は実施例1の動作を示すフローチャートで、図6はプリンタ装置1が待機状態になるまでの動作を示し、図7は待機状態以降の動作を示す。まずプリンタ装置1に電源が投入されると(ステップ1)、CPU6はROM14からブートプログラム31を読み込み、ブートプログラム31にしたがって動作を開始する。CPU6はコマンドを発行してDRAM(1)9、DRAM(2)10の初期設定を行なう。DRAMコントローラ7は、DRAMアドレスバス17、DRAM制御信号18を制御してDRAM(1)9、DRAM(2)10の初期設定を行なう(ステップ2)。
Next, the operation of the first embodiment will be described. 6 and 7 are flowcharts showing the operation of the first embodiment. FIG. 6 shows the operation until the
初期設定が終了すると、DRAM(1)9、DRAM(2)10がリードライト可能になる。CPU6はROM14からDRAM(2)10のプログラム領域にシステムプログラム32をコピーする(ステップ3)。これ以降はCPU6はDRAM(2)10にコピーされたシステムプログラム32によりプリンタ装置1を動作させる(ステップ4)。これによりプリンタ装置1は、パーソナルコンピュータ5から印刷要求が発生するまで待機状態となる(ステップ5)。
When the initial setting is completed, the DRAM (1) 9 and the DRAM (2) 10 can be read / written. The CPU 6 copies the
これ以降は図7のフローチャートにしたがって説明する。CPU6は待機状態中に時間をカウントして規定時間が経過すると(ステップ12)、節電モードへ移行するために、DRAM(1)9をセルフリフレッシュモードにすべくDRAMコントローラ7にコマンドを発行する。DRAMコントローラ7はDRAM制御信号18とチップ選択信号(1)19の状態を制御してDRAM(1)9をセルフリフレッシュモードに設定し、データ処理部2を節電モードにする(ステップ13)。
The subsequent steps will be described with reference to the flowchart of FIG. When the CPU 6 counts the time during the standby state and the specified time elapses (step 12), the CPU 6 issues a command to the
データ処理部2が節電モード中にパーソナルコンピュータ5から印刷要求をホストインタフェース部11に受信すると、ホストインタフェース部11は割り込みを発生してCPU6に印刷要求を通知する(ステップ14)。これを受けたCPU6は、DRAM(1)9をセルフリフレッシュモードからアイドル状態に移行させるために、DRAMコントローラ7にコマンドを発行する。DRAMコントローラ7は、DRAM制御信号18とチップ選択信号(1)19の状態を制御してDRAM(1)9をアイドル状態に設定する(ステップ15)。
When the
DRAM(1)9がアクセス可能な状態になると、ホストインタフェース部11が画像データを受信し、受信した画像データをDRAMコントローラ7に送信する。DRAMコントローラ7はDRAM(1)9、DRAM(2)10のそれぞれのデータ領域36bに画像データを書き込む(ステップ16)。CPU6は受信したデータを画像処理してDRAM(1)9、DRAM(2)10のそれぞれのデータ領域36bにラスタデータを生成し、メカ制御インタフェース部12が、生成されたラスタデータをメカ部4に出力する(ステップ17)。
When the DRAM (1) 9 becomes accessible, the
データ処理部2が待機状態中にパーソナルコンピュータ5から印刷要求が発生すると(ステップ11)、ホストインタフェース部11を介して受信した画像データをDRAMコントローラ7に送信し、DRAMコントローラ7はDRAM(1)9、DRAM(2)10のそれぞれのデータ領域36bに画像データを書き込む(ステップ16)。CPU6は受信したデータを画像処理してDRAM(1)9、DRAM(2)10のそれぞれのデータ領域36bにラスタデータを生成し、メカ制御インタフェース部12が、生成されたラスタデータをメカ部4に出力する(ステップ17)。
When a print request is generated from the
DRAMコントローラ7は、システムバス14上に発生したDRAM(1)9、DRAM(2)10へのアクセスがプログラム領域へのアクセスなのか、データ領域へのアクセスなのかを判定する。プログラム領域へのライトアクセスの場合はシステムバス15の16ビットライトデータを8ビットデータ2個に変換してDRAMデータバス[15:0]21の上位8ビットに出力し、DRAM(2)10に書き込む。このときDRAM(1)9にもライトアクセスが発生するが、無効データである。
The
プログラム領域へのリードアクセスの場合は、DRAMコントローラ7は、DRAM(2)10から出力された8ビットデータのみを読取り、読取った8ビットデータ2個を16ビットデータに変換してシステムバス15に出力する。このときDRAM(1)9からもデータが出力されるが、無効データであるので、読み捨てる。
In the case of read access to the program area, the
またデータ領域へのライトアクセスの場合は、DRAMコントローラ7は、システムバス15の16ビットライトデータをそのままDRAMデータバス[15:0]21に出力してDRAM(1)9、DRAM(2)10に書き込む。またデータ領域へのリードアクセスの場合は、DRAMコントローラ7は、DRAM(1)9、DRAM(2)10から出力されたデータをDRAMデータバス[15:0]21にラッチしてシステムバス15に出力する。
In the case of a write access to the data area, the
図8はDRAMコントローラの構成を示すブロック図である。図8において、DRAMコントローラ7は、データバス幅判定部7a、アドレスコマンド制御部7b、データバスバッファ7cを有する。データバス幅判定部7aは、システムバス15を介してCPU6から送られる信号により、送信されてくるデータをDRAMデータバス21の上位ビットに出力するか、又はDRAMデータバス21の全ビットに出力するかを判定する。アドレスコマンド制御部7bはCPU6からのコマンドによりDRAMアドレスバス17、DRAM制御信号18、チップ選択信号(1)19、チップ選択信号(2)20を出力する。
FIG. 8 is a block diagram showing the configuration of the DRAM controller. In FIG. 8, the
次にCPU6がDRAM(1)9、DRAM(2)10のプログラム領域にライトアクセスした場合の動作を詳細に説明する。図9はDRAMのプログラム領域へのライトアクセス動作を示すタイムチャートである。
まずクロック0(clk0)において、CPU6はシステムバス15の使用権を取得するためにバスリクエスト信号S_REQをオンする。アービタ22は、使用権をCPU6に許可するためにバスグラント信号S_GNTをオンする。
Next, the operation when the CPU 6 performs write access to the program areas of the DRAM (1) 9 and the DRAM (2) 10 will be described in detail. FIG. 9 is a time chart showing a write access operation to the program area of the DRAM.
First, at clock 0 (clk0), the CPU 6 turns on the bus request signal S_REQ in order to acquire the right to use the
クロック1(clk1)において、CPU6は、バスグラント信号S_GNTがオンされると、アドレス信号S_AにアドレスA0を出力し、アドレス有効信号S_ASTBとライト信号S_WRを1サイクル間オンする。
クロック2(clk2)において、DRAMコントローラ7は、アドレス信号S_Aとライト信号S_WRをラッチしてデコードし、プログラム領域へのライトアクセスであると認識する。CPU6は、データ信号S_D[15:0]にデータD[15:0]を出力し、データレディー信号S_DRDYをオンする。DRAMコントローラ7は、データを受信するためデータアック信号S_DACKをオンする。DRAMコントローラ7はチップ選択信号(2)20をオンし、DRAM制御信号18にアクティベートコマンドを出力し、DRAMアドレスバス17にRow adrを出力する。
In the clock 1 (clk1), when the bus grant signal S_GNT is turned on, the CPU 6 outputs the address A0 to the address signal S_A, and turns on the address valid signal S_ASTB and the write signal S_WR for one cycle.
At clock 2 (clk2), the
クロック3(clk3)において、CPU6は全てのデータの出力が完了すると、データレディー信号S_DRDYをオフする。DRAMコントローラ7は、データレディー信号S_DRDYのオフを検知して、データアック信号S_DACKをオフし、チップ選択信号(2)20をオフする。DRAM(2)10はROW(ロー)アクティブ状態になり、DRAM(1)9はアイドル状態のままである。
クロック4(clk4)において、DRAMコントローラ7は、チップ選択信号(2)20をオンしてDRAM制御信号18にライトコマンドを出力し、DRAMアドレスバス17にcolum adr0を出力し、DRAMデータバス[15:8]にラッチしたデータD[15:8]を出力する。
In clock 3 (clk3), the CPU 6 turns off the data ready signal S_DRDY when the output of all data is completed. The
In clock 4 (clk4), the
クロック5(clk5)において、DRAM(2)10にデータD[15:8]が書き込まれる。DRAMコントローラ7は、チップ選択信号(2)20をオンしてDRAM制御信号18にライトコマンドを出力し、DRAMアドレスバス17にcolum adr1を出力し、DRAMデータバス[15:8]にラッチしたデータD[7:0]を出力する。
クロック6(clk6)において、DRAM(2)10にデータD[7:0]が書き込まれる。DRAMコントローラ7は、チップ選択信号(2)20をオフしてアクセスを終了する。
At clock 5 (clk5), data D [15: 8] is written into DRAM (2) 10. The
At clock 6 (clk6), data D [7: 0] is written to DRAM (2) 10. The
次にCPU6がDRAM(1)9、DRAM(2)10のプログラム領域にリードアクセスした場合の動作を図10にしたがって詳細に説明する。図10はDRAMのプログラム領域へのリードアクセス動作を示すタイムチャートである。
まずクロック0(clk0)において、CPU6はシステムバス15の使用権を取得するためにバスリクエスト信号S_REQをオンする。アービタ22は、使用権をCPU6に許可するためにバスグラント信号S_GNTをオンする。
クロック1(clk1)において、CPU6は、バスグラント信号S_GNTがオンされると、アドレス信号S_AにアドレスA0を出力し、アドレス有効信号S_ASTBとライト信号S_WRを1サイクル間オンする。
Next, the operation when the CPU 6 performs read access to the program areas of the DRAM (1) 9 and the DRAM (2) 10 will be described in detail with reference to FIG. FIG. 10 is a time chart showing the read access operation to the program area of the DRAM.
First, at clock 0 (clk0), the CPU 6 turns on the bus request signal S_REQ in order to acquire the right to use the
In the clock 1 (clk1), when the bus grant signal S_GNT is turned on, the CPU 6 outputs the address A0 to the address signal S_A, and turns on the address valid signal S_ASTB and the write signal S_WR for one cycle.
クロック2(clk2)において、DRAMコントローラ7は、アドレス信号S_Aとライト信号S_WRをラッチしてデコードし、プログラム領域へのリードアクセスであると認識する。CPU6は、データを受信するためデータレディー信号S_DRDYをオンする。DRAMコントローラ7は、チップ選択信号(2)20をオンし、DRAM制御信号18にアクティベートコマンドを出力し、DRAMアドレスバス17にRow adrを出力する。
クロック3(clk3)において、DRAMコントローラ7は、チップ選択信号(2)20をオフする。DRAM(2)10はROW(ロー)アクティブ状態になり、DRAM(1)9はアイドル状態のままである。
At clock 2 (clk2), the
In clock 3 (clk3), the
クロック4(clk4)において、DRAMコントローラ7は、チップ選択信号(2)20をオンしてDRAM制御信号18にリードコマンドを出力し、DRAMアドレスバス17にcolum adr0を出力する。
クロック5(clk5)において、DRAMコントローラ7は、チップ選択信号(2)20をオンしてDRAM制御信号18にリードコマンドを出力し、DRAMアドレスバス17にcolum adr1を出力する。
At clock 4 (clk4), the
At clock 5 (clk5), the
クロック6(clk6)において、DRAM(2)10は、Row adr、colum adr0に記憶されていたデータD[15:8]をDRAMデータバス[15:8]21に出力する。DRAMコントローラ7は、チップ選択信号(2)20をオフする。
クロック7(clk7)において、DRAMコントローラ7は、データD[15:8]をラッチする。DRAM(2)10は、Row adr、colum adr1に記憶されていたデータD[7:0]をDRAMデータバス[15:8]21に出力する。
クロック8(clk8)において、DRAMコントローラ7は、データD[7:0]をラッチする。
At clock 6 (clk6), the DRAM (2) 10 outputs the data D [15: 8] stored in the Row adr and colum adr0 to the DRAM data bus [15: 8] 21. The
At clock 7 (clk7), the
At clock 8 (clk8), the
クロック9(clk9)において、DRAMコントローラ7は、ラッチしたデータD[15:0]を、システムバス15のデータ信号S_D[15:0]に出力し、データ信号S_D[15:0]が有効であることを示すためにデータアック信号S_DACKをオンする。
クロック10(clk10)において、CPU6はデータアック信号S_DACKがオンしたのを検知して、システムバス15のデータ信号S_D[15:0]に出力されたデータD[15:0]をラッチし、データレディー信号S_DRDYをオフする。DRAMコントローラ7は、データアック信号S_DACKをオフしてアクセスを終了する。
At clock 9 (clk9), the
At the clock 10 (clk10), the CPU 6 detects that the data ACK signal S_DACK is turned on, latches the data D [15: 0] output to the data signal S_D [15: 0] of the
プログラム領域へのライトアクセスおよびリードアクセスの場合、DRAMコントローラ7は、システムバス15からラッチしたアドレスを2倍してDRAM(2)10に出力する。上述のクロック2、4、5(clk2、clk4、clk5)で出力したRow adr、colum adr0、colum adr1は、アドレスA0を2倍したアドレスであり、colum adr1はcolum adr0+1である。
In the case of write access and read access to the program area, the
次にCPU6がDRAM(1)9、DRAM(2)10のデータ領域にライトアクセスした場合の動作を図11にしたがって詳細に説明する。図11はDRAMのデータ領域へのライトアクセス動作を示すタイムチャートである。
まずクロック0(clk0)において、CPU6はシステムバス15の使用権を取得するためにバスリクエスト信号S_REQをオンする。アービタ22は、使用権をCPU6に許可するためにバスグラント信号S_GNTをオンする。
クロック1(clk1)において、CPU6は、バスグラント信号S_GNTがオンされると、アドレス信号S_AにアドレスA0を出力し、アドレス有効信号S_ASTBとライト信号S_WRを1サイクル間オンする。
Next, the operation when the CPU 6 performs write access to the data areas of the DRAM (1) 9 and the DRAM (2) 10 will be described in detail with reference to FIG. FIG. 11 is a time chart showing a write access operation to the data area of the DRAM.
First, at clock 0 (clk0), the CPU 6 turns on the bus request signal S_REQ in order to acquire the right to use the
In the clock 1 (clk1), when the bus grant signal S_GNT is turned on, the CPU 6 outputs the address A0 to the address signal S_A, and turns on the address valid signal S_ASTB and the write signal S_WR for one cycle.
クロック2(clk2)において、DRAMコントローラ7は、アドレス信号S_Aとライト信号S_WRをラッチしてデコードし、データ領域へのライトアクセスであると認識する。CPU6は、データ信号S_D[15:0]にデータD[15:0]を出力し、データレディー信号S_DRDYをオンする。DRAMコントローラ7は、データを受信するためデータアック信号S_DACKをオンする。DRAMコントローラ7は、チップ選択信号(1)19、チップ選択信号(2)20をオンし、DRAM制御信号18にアクティベートコマンドを出力し、DRAMアドレスバス17にRow adrを出力する。
At clock 2 (clk2), the
クロック3(clk3)において、CPU6は全てのデータの出力が完了すると、データレディー信号S_DRDYをオフする。DRAMコントローラ7は、データレディー信号S_DRDYのオフを検知して、データアック信号S_DACKをオフし、チップ選択信号(1)19、チップ選択信号(2)20をオフする。DRAM(1)9、DRAM(2)10はともにROW(ロー)アクティブ状態になる。
In clock 3 (clk3), the CPU 6 turns off the data ready signal S_DRDY when the output of all data is completed. The
クロック4(clk4)において、DRAMコントローラ7は、チップ選択信号(1)19、チップ選択信号(2)20をオンしてDRAM制御信号18にライトコマンドを出力し、DRAMアドレスバス17にcolum adrを出力し、DRAMデータバス[15:0]にラッチしたデータD[15:0]を出力する。
クロック5(clk5)において、DRAM(1)9にデータD[7:0]が書き込まれ、DRAM(2)10にデータD[15:8]が書き込まれる。DRAMコントローラ7は、チップ選択信号(1)19、チップ選択信号(2)20をオフしてアクセスを終了する。
At clock 4 (clk4), the
At clock 5 (clk5), data D [7: 0] is written to DRAM (1) 9, and data D [15: 8] is written to DRAM (2) 10. The
プログラム領域へのライトアクセスとデータ領域へのライトアクセスの相違は、データ領域へのライトアクセスの場合は、Row adrとcolum adrはシステムバス15のアドレス信号S_Aと同じであること、及び、DRAM(1)9、DRAM(2)10に同時にアクセスし、16ビットのデータアクセスを行うということにある。
The difference between the write access to the program area and the write access to the data area is that the row adr and the colum adr are the same as the address signal S_A of the
次にCPU6がDRAM(1)9、DRAM(2)10のデータ領域にリードアクセスした場合の動作を図12にしたがって詳細に説明する。図12はDRAMのデータ領域へのリードアクセス動作を示すタイムチャートである。
まずクロック0(clk0)において、CPU6はシステムバス15の使用権を取得するためにバスリクエスト信号S_REQをオンする。アービタ22は、使用権をCPU6に許可するためにバスグラント信号S_GNTをオンする。
クロック1(clk1)において、CPU6は、バスグラント信号S_GNTがオンされると、アドレス信号S_AにアドレスA0を出力し、アドレス有効信号S_ASTBとライト信号S_WRを1サイクル間オンする。
Next, the operation when the CPU 6 performs read access to the data areas of the DRAM (1) 9 and the DRAM (2) 10 will be described in detail with reference to FIG. FIG. 12 is a time chart showing a read access operation to the data area of the DRAM.
First, at clock 0 (clk0), the CPU 6 turns on the bus request signal S_REQ in order to acquire the right to use the
In the clock 1 (clk1), when the bus grant signal S_GNT is turned on, the CPU 6 outputs the address A0 to the address signal S_A, and turns on the address valid signal S_ASTB and the write signal S_WR for one cycle.
クロック2(clk2)において、DRAMコントローラ7は、アドレス信号S_Aとライト信号S_WRをラッチしてデコードし、データ領域へのリードアクセスであると認識する。CPU6は、データを受信するためデータレディー信号S_DRDYをオンする。DRAMコントローラ7は、チップ選択信号(1)19、チップ選択信号(2)20をオンし、DRAM制御信号18にアクティベートコマンドを出力し、DRAMアドレスバス17にRow adrを出力する。
At clock 2 (clk2), the
クロック3(clk3)において、DRAMコントローラ7は、チップ選択信号(1)19、チップ選択信号(2)20をオフする。DRAM(1)9、DRAM(2)10はともにROW(ロー)アクティブ状態になる。
クロック4(clk4)において、DRAMコントローラ7は、チップ選択信号(1)19、チップ選択信号(2)20をオンしてDRAM制御信号18にリードコマンドを出力し、DRAMアドレスバス17にcolum adrを出力する。
クロック5(clk5)において、DRAMコントローラ7は、チップ選択信号(1)19およびチップ選択信号(2)20をオフする。
In clock 3 (clk3), the
In the clock 4 (clk4), the
In clock 5 (clk5), the
クロック6(clk6)において、DRAM(1)9、DRAM(2)10は、Row adr、colum adrに記憶されていたデータD[15:8]をDRAMデータバス[15:8]に出力する。またDRAM(1)9は、Row adr、colum adrに記憶されていたデータD[7:0]をDRAMデータバス[7:0]に出力する。
クロック7(clk7)において、DRAMコントローラ7は、データD[15:0]をラッチする。
At clock 6 (clk6), DRAM (1) 9 and DRAM (2) 10 output data D [15: 8] stored in Row adr and colum adr to DRAM data bus [15: 8]. The DRAM (1) 9 outputs the data D [7: 0] stored in the Row adr and colum adr to the DRAM data bus [7: 0].
At clock 7 (clk7), the
クロック8(clk8)において、DRAMコントローラ7は、ラッチしたデータD[15:0]を、システムバス15のデータ信号S_D[15:0]に出力し、データ信号S_D[15:0]が有効であることを示すためにデータアック信号S_DACKをオンする。
クロック9(clk9)において、CPU6はデータアック信号S_DACKがオンしたのを検知して、システムバス15のデータ信号S_D[15:0]に出力されたデータD[15:0]をラッチし、データレディー信号S_DRDYをオフする。DRAMコントローラ7は、データアック信号S_DACKをオフしてアクセスを終了する。
At clock 8 (clk8), the
At the clock 9 (clk9), the CPU 6 detects that the data ACK signal S_DACK is turned on, latches the data D [15: 0] output to the data signal S_D [15: 0] of the
プログラム領域へのリードアクセスとデータ領域へのリードアクセスの相違は、データ領域へのリードアクセスの場合は、Row adrとcolum adrはシステムバス15のアドレス信号S_Aと同じであること、及び、DRAM(1)9、DRAM(2)10に同時にアクセスし、16ビットのデータアクセスを行うということにある。
The difference between the read access to the program area and the read access to the data area is that the row adr and the colum adr are the same as the address signal S_A of the
以上のように実施例1によれば、DRAM上のアドレス領域をプログラム領域とデータ領域に分けてマッピングし、プログラム領域を記憶するDRAMはデータバスを構成する一部のDRAMのみを使用し、小さなデータバス幅でアクセスすることにより、節電モード時においてもプログラムをDRAM上で動作させることができ、節電モードから通常モードへの復旧に要する時間を大幅に短縮することができる。またプログラム退避用の不揮発性メモリが不要となり、コストダウンを実現できる。 As described above, according to the first embodiment, the address area on the DRAM is mapped separately into the program area and the data area, and the DRAM storing the program area uses only a part of the DRAM constituting the data bus and is small. By accessing with the data bus width, the program can be operated on the DRAM even in the power saving mode, and the time required to recover from the power saving mode to the normal mode can be greatly shortened. In addition, a non-volatile memory for saving programs is not necessary, and cost reduction can be realized.
次に実施例2を説明する。実施例2は、プログラム領域を割込み処理のプログラム領域と割込み処理以外のプログラム領域に分け、割込み処理のプログラム領域のみを、実施例1のように一部のDRAMのみに記憶させ、割込み処理以外のプログラム領域はデータ領域と同様に全てのDRAMを使用することにより、データ処理速度を向上させるようにしたものである。 Next, Example 2 will be described. In the second embodiment, the program area is divided into a program area for interrupt processing and a program area other than for interrupt processing, and only the program area for interrupt processing is stored in only some DRAMs as in the first embodiment. As in the data area, the program area uses all DRAMs to improve the data processing speed.
実施例2の構成は、実施例1の構成に対して、CPUのアドレスのマッピングとプログラムの構成が異なる。図13は実施例2におけるCPUのアドレス空間上へのマッピングを示す説明図である。図13において、CPU6のアドレス空間は、DRAM領域43、ROM領域44、IO領域45に分割されてマッピングされる。DRAM領域43はさらに、割込み処理領域43a、プログラム領域43bおよびデータ領域43cに分割される。割込み処理領域43aは、割込み処理を行うプログラムの領域と割込み処理に必要なワーク領域である。プログラム領域43bは、割込み処理のプログラムを除くプログラムの領域と、処理に必要なワーク領域を含む。
The configuration of the second embodiment differs from the configuration of the first embodiment in CPU address mapping and program configuration. FIG. 13 is an explanatory diagram illustrating mapping of the CPU onto the address space in the second embodiment. In FIG. 13, the address space of the CPU 6 is divided and mapped into a
割込み処理領域43aは、アドレス0x0からアドレス0x2^mまで、プログラム領域43bは、アドレス0x2^m*2からアドレス0x2^p−1まで、データ領域43cは、アドレス0x2^p以上にマッピングしている。またアドレス0x2^m からアドレス0x2^m*2−1までは使用不能領域43dである。
The interrupt
通常のデータ処理に必要なプログラムはプログラム領域43bに記憶されており、一般にプログラム容量は大きく、データ処理時には大量のアクセスが発生する。割込み処理領域43aのプログラムは小さく、アクセス頻度も少ないのが一般的である。
A program necessary for normal data processing is stored in the
図14は実施例2におけるDRAM(1)9、DRAM(2)10で構成されるDRAM領域へのマッピングを示す説明図である。図14において、アドレス0x0からアドレス0x2^m*2−1までが割込み処理領域46aにマッピングされ、アドレス0x2^m*2からアドレス0x2^p−1までがプログラム領域46bにマッピングされ、アドレス0x2^p以上にデータ領域46cをマッピングしている。またアドレス0x0 からアドレス0x2^m*2−1までの領域の奇数アドレスは使用不能領域46dである。
FIG. 14 is an explanatory diagram showing mapping to the DRAM area constituted by the DRAM (1) 9 and the DRAM (2) 10 in the second embodiment. In FIG. 14, addresses 0x0 to 0x2 ^ m * 2-1 are mapped to the interrupt
以上のように構成した実施例2の動作は、次の点で実施例1の動作と異なる。即ち、実施例1ではプログラム領域にアクセスしたときに、DRAMコントローラ7はDRAMデータバス21の[15:8]ビットのみを使用してアクセスしたが、実施例2においては、割込み処理領域のときのみDRAMデータバス21の[15:8]ビットのみを使用してアクセスし、プログラム領域とデータ領域へのアクセスはDRAMデータバス21のすべてのビット信号[15:0]ビットを使用する。そのため高速なアクセスが可能になる。
The operation of the second embodiment configured as described above is different from the operation of the first embodiment in the following points. That is, in the first embodiment, when accessing the program area, the
以上のように実施例2によれば、割込み処理プログラムとデータ処理プログラムを分割してアドレスをマッピングし、データ処理プログラムへのアクセスにはデータバス幅をすべて使用した高速アクセスを行い、割込み処理プログラムへのアクセスはデータ幅の一部を使用したアクセスを行うようにしたので、高速なデータ処理と節電モードを両立することが可能になる。 As described above, according to the second embodiment, the interrupt processing program and the data processing program are divided to map addresses, and the data processing program is accessed at high speed using the entire data bus width. Since access is performed using a part of the data width, it is possible to achieve both high-speed data processing and a power saving mode.
以上のように上記各実施例では、DRAMとしてDDR SDRAMを使用した実施例を説明したが、これに限らず、DDR2 SDRAMを使用してもよい。またDRAMデータバス17を16ビットのものとして説明したが、64ビットとしてデータ信号が8ビットのDRAMを8個、または16ビットのDRAMを4個用いて、プログラム領域を1つのDRAM上で動作させるようにしてもよい。
As described above, in each of the above embodiments, the DDR SDRAM is used as the DRAM. However, the present invention is not limited to this, and a DDR2 SDRAM may be used. Although the
また上記実施例では、データ処理装置としてプリンタ装置を例にして説明したが、DRAM上にプログラムを記憶させて動作させる他の電子機器にも本発明は適用可能である。とくに、ファクシミリ装置や多機能プリンタ装置など、常時通電が必要な電子機器に好適である。 In the above-described embodiments, the printer apparatus is described as an example of the data processing apparatus. However, the present invention can be applied to other electronic devices that operate by storing a program on a DRAM. In particular, it is suitable for electronic devices that require constant energization, such as facsimile machines and multi-function printers.
1 プリンタ装置
2 データ処理部
6 CPU
7 DRAMコントローラ
9 DRAM(1)
10 DRAM(2)
14 ROM
19、20 チップ選択信号
22 DRAMデータバス
DESCRIPTION OF
7 DRAM controller 9 DRAM (1)
10 DRAM (2)
14 ROM
19, 20
Claims (5)
前記揮発性メモリを複数設け、
前記複数の揮発性メモリは、前記不揮発性メモリに格納された前記プログラム情報が展開されずにデータのみが展開される第1の揮発性メモリと、前記プログラム情報が展開されるとともにデータが展開される第2の揮発性メモリとから成り、
前記第2の揮発性メモリの前記プログラム情報にアクセスする場合は小さなデータバス幅でアクセスし、データにアクセスする場合は、大きなデータ幅でアクセスする制御部を設けたことを特徴とするデータ処理装置。 In a data processing apparatus that develops and executes program information stored in a nonvolatile memory in a volatile memory,
A plurality of the volatile memories;
The plurality of volatile memories include a first volatile memory in which only the data is expanded without expanding the program information stored in the nonvolatile memory, and the program information is expanded and the data is expanded. A second volatile memory
A data processing apparatus comprising a control unit that accesses the program information of the second volatile memory with a small data bus width and accesses the data with a large data width. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009023406A JP2010181998A (en) | 2009-02-04 | 2009-02-04 | Data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009023406A JP2010181998A (en) | 2009-02-04 | 2009-02-04 | Data processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010181998A true JP2010181998A (en) | 2010-08-19 |
Family
ID=42763556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009023406A Pending JP2010181998A (en) | 2009-02-04 | 2009-02-04 | Data processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010181998A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016534484A (en) * | 2013-09-20 | 2016-11-04 | クアルコム,インコーポレイテッド | System and method for reducing memory bus bandwidth according to workload |
-
2009
- 2009-02-04 JP JP2009023406A patent/JP2010181998A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016534484A (en) * | 2013-09-20 | 2016-11-04 | クアルコム,インコーポレイテッド | System and method for reducing memory bus bandwidth according to workload |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007199841A (en) | Controller of electronic apparatus, and bus control device | |
KR101762242B1 (en) | Information processing apparatus, control method of information processing apparatus and non-transitory computer redable storage medium storing control program | |
JP2011095916A (en) | Electronic apparatus | |
JP4298610B2 (en) | Data storage device | |
JP2008152687A (en) | Memory controller | |
JP2014078128A (en) | Information processor and the control method thereof, and the program thereof and storage medium | |
US20110292448A1 (en) | Program execution control method | |
JP2010181998A (en) | Data processor | |
JP5966305B2 (en) | Printing device | |
US7457943B2 (en) | Controller, image processing apparatus, and method of controlling execution of program | |
GB2583562A (en) | Electronic apparatus including device configured to be shifted to power saving state and connected to PCI device, and control method thereof | |
JP2006260092A (en) | Information processor or data transfer controller | |
JP2002157163A (en) | Image processing device and method | |
JP4633078B2 (en) | Color image processing apparatus and image memory access control method | |
JP2008117242A (en) | Data transfer control device and data transfer control method | |
JP5439338B2 (en) | Image forming apparatus | |
JP2004287530A (en) | Memory control circuit, printer controller, and method for controlling operating mode of printer controller having storage device capable of switching operating mode | |
JP2004287989A (en) | Printer controller, printer, and method for changing refresh interval in printer controller | |
JP3317592B2 (en) | Memory system and image forming system | |
JP2021117740A (en) | Information processing apparatus, method fo controlling the same, and program therefor | |
JP2019109557A (en) | Semiconductor storage apparatus and image processing apparatus | |
KR20060066889A (en) | The graphic execution device for reducing the transaction with the system bus | |
JPH05327955A (en) | Image forming device and method for processing control program therein | |
JP5494055B2 (en) | Image forming apparatus, control method, program, and recording medium | |
JP2019091175A (en) | Information processing apparatus, control method of information processing apparatus, and program |