JP2012103967A - 情報処理装置及びそのデータ退避方法 - Google Patents

情報処理装置及びそのデータ退避方法 Download PDF

Info

Publication number
JP2012103967A
JP2012103967A JP2010252972A JP2010252972A JP2012103967A JP 2012103967 A JP2012103967 A JP 2012103967A JP 2010252972 A JP2010252972 A JP 2010252972A JP 2010252972 A JP2010252972 A JP 2010252972A JP 2012103967 A JP2012103967 A JP 2012103967A
Authority
JP
Japan
Prior art keywords
data
address
memory
sram
flag
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
Application number
JP2010252972A
Other languages
English (en)
Inventor
Masatoshi Yamazaki
政利 山崎
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2010252972A priority Critical patent/JP2012103967A/ja
Publication of JP2012103967A publication Critical patent/JP2012103967A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】 通常動作時、時間及び負荷のかかる処理を要することなく、転送データ量を抑える情報処理装置とそのデータ退避方法を提供することにある。
【解決手段】 電源遮断可能な第1の電源網を有する第1のドメインと第2のドメインとを有し、第1のドメインは、データと電源遮断時にデータが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、フラグ付きメモリにデータに加えて退避対象を示すフラグを書き込む第1の命令を含む複数の命令を実行するCPUと、フラグ付きメモリを制御するメモリコントローラとを有し、第2のドメインは退避メモリを有し、メモリコントローラは、第1の命令の実行時にデータに加えてフラグをフラグ付きメモリに書き込み、第1のドメインの電源遮断直前に退避対象データとその退避対象データアドレスを退避メモリに書き込む。
【選択図】 図4

Description

本発明は、情報処理装置及びそのデータ退避方法に関する。
近年の情報処理装置は、消費電力を抑えるためにスタンバイモードを備え、電源の浪費防止及び駆動時間の長期化を図っている。具体的に、例えば、情報処理装置は、複数のドメインを有し、スタンバイモードでは複数ドメインのうち動作していないドメインの電源を遮断することによってその消費電力を抑えている。
このようなスタンバイモードでは、情報処理装置は、スタンバイモードからの復帰時にスタンバイモード移行前の状態を再現する。そのため、情報処理装置は、電源遮断対象のドメインにSRAMを搭載している場合、スタンバイモード移行時、SRAMのデータを電源が遮断されないドメインに搭載されたバックアップ用メモリに転送して退避する。そして、情報処理装置は、スタンバイモードからの復帰時に、バックアップ用メモリからデータを電源遮断ドメインのSRAMに転送することによって、モード移行前の状態を再現する。
このような情報処理装置では、スタンバイモード移行時の退避対象のデータ量を抑えることにより、データ転送時間の短縮とバックアップ用メモリのサイズの節約に伴う低消費電力化及びコストダウンを実現できる。そこで、例えば、特許文献1のような情報処理装置が提案されている。
特開2008−282137号公報
しかしながら、従来の情報処理装置は、転送データ量を抑えるために、退避対象のデータのアドレスを記録したアドレステーブルを有し、通常動作時、アドレステーブルの初期処理及び更新処理に加え、アドレステーブルの各アドレスと処理対象のデータの照合処理を行う。このため、通常動作時、アドレステーブルに係る処理を要し時間及び負荷がかかっていた。
そこで、本発明は、通常動作時、時間及び負荷のかかる処理を要することなく、転送データ量を抑える情報処理装置とそのデータ退避方法を提供することを目的とする。
情報処理装置の第1の側面は、電源遮断可能な第1の電源網を有する第1のドメインと、
前記第1の電源網とは異なる第2の電源網を有する第2のドメインとを有し、
前記第1のドメインは、
データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、
前記フラグ付きメモリに前記データに加えて退避対象を示す前記フラグを書き込む第1の命令を含む複数の命令を実行するCPUと、
前記フラグ付きメモリを制御するメモリコントローラとを有し、
前記第2のドメインは、
退避メモリを有し、
前記メモリコントローラは、前記第1の命令の実行時に前記データに加えて前記フラグを前記フラグ付きメモリに書き込み、前記第1のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する退避対象データとその退避対象データアドレスを前記退避メモリに書き込む情報処理装置。
第1の側面によれば、通常動作時、時間及び負荷のかかる処理を要することなく、転送データ量を抑えることができる。
スタンバイモードを備える一般的な情報処理装置の構成の一例を表す図である。 アドレステーブルを有する情報処理装置の構成を表す図である。 本実施の形態例における情報処理装置の構成の一例を表す図である。 本実施の形態例におけるフラグ付きSRAMの構成の一例を表す図である。 STBU命令とその処理を表す図である。 スタンバイモード移行/復帰時におけるフラグ付きSRAMとB−SRAMとのデータ変移を説明する図である。 SRAMインタフェースの回路の一例を表す図である。 通常処理時のSRAM(フラグ付きSRAM)に係る処理を説明する図である。
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
図1は、スタンバイモードを備える一般的な情報処理装置30の構成の一例を表す図である。このような情報処理装置30の一例として、システムLSI(Large Scale Integration)がある。同図の情報処理装置30は、例えば、電源装置(Regulator)8とパワースイッチ(PSW)10、電源遮断対象のドメイン(以下、CPU−D)31、バックアップ用のドメイン(以下、BUP−D)32を有し、各ドメイン内の電源網が電源線9を介して電源装置8に接続されている。
また、図1のCPU−D31は、例えば、CPU11、ROM(Read Only Memory)12、SRAM(Static Random Access Memory)13、タイマーやリソース等の周辺機器(Peripheral)14を有し、それぞれがバス15を介して接続されている。一方、BUP−D32は、例えば、パワーマネジメントユニット(PMU)21と、スタンバイモード移行時におけるCPU−D31のSRAM13のデータ退避先であるバックアップ用SRAM(B−SRAM)22を有する。そして、同様にして、それぞれがバス23を介して接続されている。
そして、図1の情報処理装置30は、BUP−D32のパワーマネジメントユニット21によってパワースイッチ10を制御し、BUP−D32の電源網とは異なるCPU−D31の電源網への電源供給を遮断することによって、通常動作モードからスタンバイモード移行する。一方、情報処理装置30は、パワーマネジメントユニット21によってパワースイッチ10を制御し、CPU−D31の電源網への電源供給が復帰することにより、スタンバイモードから通常動作モード移行する。このような情報処理装置30は、スタンバイモード移行時に、CPU−D31の電源供給が遮断される直前に、CPU−D31のSRAM13のデータをBUP−D32のB−SRAM22に退避する。この際、退避対象のデータが少ない程、データ転送時間の短縮と、B−SRAM22の容量の節約につながる。
一方、図2は、アドレステーブルATを有する情報処理装置40の構成を表す図である。同図の情報処理装置40は、図1の情報処理装置30に対し退避対象のデータ量を抑えたものであり、BUP−D41にアドレステーブルATを有する。アドレステーブルATには、SRAM13におけるBUP−D41への退避対象のデータのアドレスが保持される。このような情報処理装置40は、通常動作時、SRAM13への書き込み処理及び読み出し処理に加えて、例えば、アドレステーブルATの初期設定及び更新処理、処理対象アドレスとアドレステーブルATの各アドレスとを照合する判定処理を行う。そして、情報処理装置40は、アドレスが一致した場合、処理対象アドレスのデータを逐一、B−SRAM22に退避する。
このようにして、情報処理装置40(図2)は、スタンバイモード移行時の退避対象のデータを抑制する。しかしながら、情報処理装置40は、通常動作時、前述したアドレステーブルATに係る処理を要することにより、時間及び負荷がかかっていた。
そこで、本実施の形態例における情報処理装置は、データと電源遮断時にデータが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、フラグ付きメモリにデータに加えてフラグを書き込む第1の命令と、フラグ付きメモリを制御するメモリコントローラとを有する電源遮断対象の第1のドメインと、第1のドメインと接続可能な第2のドメインとを有する。そして、メモリコントローラは、第1のデータ書き込み命令実行時、データに加えてフラグをフラグ付きメモリに書き込み、第1のドメインの電源の遮断直前に、フラグ付きメモリからフラグに基づいて退避対象データを読み出し、当該退避対象データとフラグ付きメモリにおける退避対象データアドレスを第2のドメインの有する退避メモリに書き込む。
図3は、本実施の形態例における情報処理装置50の構成の一例を表す図である。同図の情報処理装置50のCPU−D51は、図1の情報処理装置30に対し、SRAM13の代わりに、フラグ付きSRAM54とSRAMインタフェース53を有する。フラグ付きSRAM54は、SRAM55及びBフラグメモリ56を有し、Bフラグメモリ56はSRAM55のメモリセル毎に、例えば、1ビットのフラグ(以下、Bフラグ)を有する。また、SRAMインタフェース53は、通常動作時におけるフラグ付きSRAM54への書き込み及び読み出し処理、スタンバイモード移行/復帰時におけるデータ制御処理を行う。
そして、図3のBUP−D52は、図1の情報処理装置30に対し、レジスタ(Register)RGを有する。また、同図の情報処理装置50において、例えば、SRAMインタフェース53とBUP−D52のB−SRAM22は専用バス58で、SRAMインタフェース53とレジスタRGは専用バス57で接続される。レジスタRG、フラグ付きSRAM54、SRAMインタフェース53の処理の詳細については、後述する。
図1の情報処理装置30と同様にして、本実施の形態例における情報処理装置50は、BUP−D52の電源網とは異なるCPU−D51の電源網への電源供給を遮断することにより通常動作モードからスタンバイモードに移行する。その際、情報処理装置50は、フラグ付きSRAM54におけるBフラグ値「1」のデータを退避対象データとする。そして、情報処理装置50は、CPU−D51の電源網への電源が復帰し、通常動作モードへ移行する際に、BUP−D52のB−SRAM22に退避したデータを読み出しフラグ付きSRAM54に再び書き込む。
なお、図3の情報処理装置50において、BUP−D52にパワーマネジメントユニット21を搭載しCPU−D51の電源のみを遮断する例をあげているが、この例に限定されるものではない。例えば、情報処理装置50は、さらにパワーマネジメントユニット21を搭載する別のドメインを有し、通常動作時はBUP−D52の電源を遮断しておき、スタンバイモードの間のみBUP−D52の電源を供給してもよい。
図4は、本実施の形態例におけるフラグ付きSRAM54の構成の一例を表す図である。同図のフラグ付きSRAM54は、前述したとおり、データを保持するメモリセル55毎に、当該メモリセル55に対応するBフラグメモリ56を有する。Bフラグメモリ56はフリップフロップで構成され、スタンバイモード移行時、同アドレスのメモリセルのデータが退避対象であるか否かを表す値を保持する。本実施の形態例におけるBフラグメモリ56は、同アドレスのメモリセルのデータが退避対象データである場合は「1」、非退避対象データの場合は「0」の1ビットの値を保持するものとする。
図4のフラグ付きSRAM54は、前述したバス(CPUバス)15、専用バス58に加えて、後述するSRAMインタフェース53の制御部や判定回路部に接続される。フラグ付きSRAM54の読み出し及び書き込み処理時、アドレスバスからアドレスデコーダADに入力されたアドレスがデコードされ、ワード線駆動回路W1、W2に入力されワード線が、ビット線セレクタB1、B2に入力されビット線がそれぞれ選択される。そして、ワード線及びビット線によって、アドレスに対応するメモリセル及びBフラグメモリが選択される。
そして、データ及びBフラグ値の書き込み時には、制御部63が、フラグ付きSRAM54に対応するチップセレクト信号CSと、Hレベルのデータライト制御信号及びフラグライト制御信号を入力すると、クロックに同期して、R/W64、65のデータ及びBフラグ値がメモリセル55及びBフラグメモリ56に書き込まれる。一方、制御部63が、データのみの書き込み時には、対応するチップセレクト信号CSと、Hレベルのデータライト制御信号及びLレベルのフラグライト制御信号を入力すると、クロックに同期して、R/W64のデータのみがメモリセル55に書き込まれる。さらに、Bフラグ値のみの書き込み時には、制御部63は、対応するチップセレクト信号CSと、Lレベルのデータライト制御信号及びHレベルのフラグライト制御信号を入力する。
続いて、図4のフラグ付きSRAM54からデータを読み出す場合、制御部63は、フラグ付きSRAM54に対応するチップセレクト信号CSと、Lレベルのデータライト制御信号及びフラグライト制御信号を入力する。これにより、クロックに同期して、R/W64、65を介して、メモリセル55及びBフラグメモリ56からデータ及びBフラグ値が読み出される。そして、必要に応じて、読み出されたデータ及びBフラグ値が使用される。
なお、本実施の形態例におけるフラグ付きSRAM54のBフラグメモリ56は、0または1の値を保持するが、例えば、退避対象データである場合にのみ所定の値を保持してもよいし、反対に、非退避対象データである場合にのみ所定の値を保持してもよい。また、図4のフラグ付きSRAM54は、メモリセル55とBフラグメモリ56にそれぞれワード線駆動回路W1、W2、及びビット線セレクタB1、B2を有する。これにより、メモリセル55、Bフラグメモリ56いずれかへの書き込み、読み出し処理を可能にする。しかしながらこの例に限定されるものではなく、フラグ付きSRAM54は、メモリセル55とBフラグメモリ56に共有のワード線駆動回路及びビット線セレクタを有してもよい。
このようなフラグ付きSRAM54は、通常動作時、2つの命令によって書き込み処理が行われる。ひとつ目の命令は、フラグ付きSRAM54に対してBフラグの値を書き込まずにデータを書き込む従来の書き込み命令である。ふたつ目の命令は、フラグ付きSRAM54に対して、データに加えて退避対象データであることを示すBフラグの値(本実施の形態例では「1」)を書き込む命令(以下、Bフラグ対応命令)である。このため、ユーザーは、例えば、予め、退避対象データについてはBフラグ対応命令を、非退避対象データについては従来の書き込み命令を使用してプログラムを記述する。そして、通常動作時にプログラムが実行されると、フラグ付きSRAM54に対して、退避対象データについてはBフラグ値「1」が、非退避対象データについてはデータのみが書き込まれる。なお、この場合、フラグ付きSRAM54の各Bフラグメモリ56全てに予め値「0」が書き込まれているものとする。
ただし、Bフラグ対応命令は、データに加えてBフラグ値「1」を書き込む命令に限定されるものではなく、オペランドに指定した任意のBフラグの値(本実施の形態例では、「0」「1」)を書き込む命令であってもよい。ところで、メモリへの書き込み命令は一般的に複数種類あるため、複数種類の各命令に対応して各Bフラグ対応命令が用意される。
図5は、Bフラグ対応命令の一例であるSTBU命令(ストアバックアップ命令)とその処理を表す例図である。例えば、STBU命令のオペランドには、書き込み対象のデータと、フラグ付きSRAM54における書き込み対象のアドレスとが指定されるものとする。具体的に、STBU命令は、例えば「STBU R3(書き込み対象のデータを保持するレジスタ), @Rj(書き込み対象のアドレス)」のように使用される。以下に、Rjがアドレス「0003xxx5」を指す場合のSTBU命令の処理について説明する。
図5のSTBU命令実行前の状態において、CPUの汎用レジスタR2に「12345678」が、汎用レジスタR3に「87654321」が保持されている。また、フラグ付きSRAM54のアドレス「0003xxx5」に対して、データは書き込まれておらず、Bフラグに予め値「0」が書き込まれている。この状態で、「STBU R3, @Rj(0003xxx5)」が実行されると、フラグ付きSRAM54のアドレス「0003xxx5」に、Bフラグ「1」と汎用レジスタR3のデータ「87654321」が書き込まれる。
このように、本実施の形態例における情報処理装置50は、通常動作時、フラグ付きSRAM54に対して、スタンバイモード移行時に退避対象のデータについては、Bフラグ対応命令を使用してデータ及び当該データが退避対象であることを表すBフラグ値とを書き込む。また、情報処理装置50は、非退避対象データについては、従来のSRAM書き込み命令によってデータのみをフラグ付きSRAM54に書き込む。または、情報処理装置50は、退避対象であるか否かに基づいてBフラグ対応命令のオペランドに指定された任意の値(Bフラグ値)とデータとをフラグ付きSRAM54に書き込む。これにより、情報処理装置50は、通常動作時、時間及び負荷を伴うことなく、フラグ付きSRAM54にデータ及びBフラグ値を書き込むことができる。
続いて、スタンバイモード移行時におけるフラグ付きSRAM54(図3)からB−SRAM22(図3)へのデータ退避処理、及び、スタンバイモードからの復帰時におけるB−SRAM22からフラグ付きSRAM54へのデータ復帰処理について説明する。
図6は、スタンバイモード移行/復帰時におけるフラグ付きSRAM54とB−SRAM22とのデータ変移を説明する図である。同図において、スタンバイモード移行処理前(左)の状態では、例えば、前述したSTBU命令によって、退避対象のデータについてはBフラグ値「1」が共に書き込まれている。具体的に、同図のスタンバイモード移行処理前のフラグ付きSRAM54において、アドレス「0003xxx1」にデータ「A」とBフラグ値「0」が、アドレス「0003xxx2」にデータ「B」とBフラグ値「1」が書き込まれている。以降のアドレスについても同様にして、データとBフラグ値が書き込まれている。
そして、スタンバイモード移行処理において、図3のSRAMインタフェース53は、Bフラグ値「1」のデータと当該データのアドレスとを、BUP−D52のB−SRAM22に退避する。具体的に、図6のスタンバイモード移行処理前のフラグ付きSRAM54において、Bフラグ値が「1」のデータとそのアドレスは、例えば、「アドレス:0003xxx2/データ:B」、「アドレス:0003xxx5/データ:E」、「アドレス:0003xxxB/データ:K」である。スタンバイモード移行処理によって、これらのデータ及びアドレスがB−SRAM22に転送され、スタンバイモード移行処理後のB−SRAM22(図6の中央)に同様のデータ及びアドレスが書き込まれる。
そして、スタンバイモードからの復帰処理において、SRAMインタフェース53は、B−SRAM22(図6の中央)から順次データ及びアドレスを読み出し、フラグ付きSRAM54の読み出したアドレス位置に、読み出したデータとBフラグ値「1」を書き込む。具体的に、SRAMインタフェース53は、B−SRAM22から、まず、アドレス「0003xxx2」及びデータ「B」を読み出し、フラグ付きSRAM54におけるアドレス「0003xxx2」位置にデータ「B」とBフラグ値「1」を書き込む。以降のアドレス及びデータについても同様にして、SRAMインタフェース53は、フラグ付きSRAM54における読み出したアドレス位置に読み出したデータを書き込む。
なお、図6のB−SRAM22(中央)において、アドレスとデータとを別々のアドレスに保持しているが、各アドレスのビット数を増やして、各アドレスにアドレスとデータとを保持してもよい。さらに、上述した例では、B−SRAM22に、アドレス、データの順に書き込まれるが、この順に限定されるものではない。
続いて、本実施の形態例におけるSRAMインタフェース53の回路図に基づいて、命令によるBフラグ付きSRAM54への書き込み処理、及び、スタンバイモード移行/復帰時の処理について説明する。まず、命令によるフラグ付きSRAM54への書き込み処理について説明する。
図7は、本実施の形態例におけるSRAMインタフェース53の回路の一例を表す図である。同図はSRAMインタフェース53の回路であるが、説明のために、図中にBフラグSRAM54のSRAM55及びBフラグメモリ56が表されている。SRAMインタフェース53の回路は、例えば、判定回路部CE、セレクタS1〜S3、フリップフロップFF、制御部CTを有する。以下、具体的に述べる。
初めに、命令によるフラグ付きSRAM54への書き込み処理の流れを説明する。図7において、CPU11によって前述したSTBU命令が実行されると、STBU命令のオペランドに指定されたデータ書き込み先アドレスがCPUバス(アドレス)15−1を介してセレクタS1に、書き込み対象データがCPUバス(データ)15−2を介してセレクタS2に出力される。また、同時に、CPUバス(制御)15−3を介して、Bフラグメモリ56へ値「1」の書き込み指示が制御部CTに出力される。
続いて、各セレクタS1、SにおいてCPUバス15からの出力が選択され、SRAM55に、データ書き込み先アドレス及び書き込み対象データが入力され、当該アドレスに当該データが書き込まれる。また、セレクタS1に入力されたデータ書き込みアドレスは、Bフラグメモリ56にも出力され、制御部CTから出力された値「1」の書き込み指示を示すライト制御信号に応答して、Bフラグメモリ56の当該アドレス位置にBフラグ値「1」が書き込まれる。
具体的に、例えば、命令が前述した「STBU R3, @Rj(0003xxx5)」であった場合、セレクタS1には「0003xxx5」が、セレクタS2には「87654321」が入力される。そして、フラグ付きSRAM54におけるSRAM55のアドレス「0003xxx5」位置にデータ「87654321」が書き込まれると共に、Bフラグメモリ56のアドレス「0003xxx5」位置に値「1」が書き込まれる。このようにして、Bフラグ対応命令によって、データ及びBフラグ値が書き込まれる。
続いて、同じ図7に基づいて、スタンバイモード移行時の処理を説明する。前述した通り、スタンバイモード移行時、フラグ付きSRAM54のデータにおけるBフラグ値「1」のデータとそのアドレスがB−SRAM22へ退避される。
図7の判定回路部CEは、フラグ付きSRAM54におけるBフラグの値が「1」の最上位のアドレスを出力する回路である。判定回路部CEは、フラグ付きSRAM54におけるメモリセル数に応じた数のAND回路A1〜An(図示せず)と、各AND回路からの出力を入力とするOR回路R1を有する。そのため、同図の判定回路部CEではAND回路A1、A2、A3が表されているものの、実際には、判定回路部CEは各メモリセル分のAND回路を有する。
判定回路部CEの各AND回路は、Bフラグメモリ56の各アドレスに対応し、対応するアドレスと、当該アドレスに対応するBフラグ値、及び、そのアドレスより下位のアドレスのBフラグ値の反転値を入力とする。例えば、各AND回路A1〜Anには、予め、決められたBフラグメモリ56の各アドレスが常時入力される。そして、判定回路部CEは、各AND回路A1〜Anに対応するアドレスをBフラグメモリ56に順次出力し、当該アドレスに対応するBフラグ値を読み出す。そして、読み出したBフラグ値をAND回路A1〜Anの対応する入力端子に入力する。
以下、判定回路部CEの処理について、図6のスタンバイモード移行処理前のフラグ付きSRAM54に基づいて具体的に説明する。図6のフラグ付きSRAM54において、Bフラグ値が「1」のアドレスは、次の3つ0003xxx2、0003xxx5、0003xxxBである。従って、判定回路部CEは、1回目のサイクルでアドレス0003xxx2を、2回目のサイクルでアドレス0003xxx5を、3回目のサイクルでアドレス0003xxxBを出力する。1回目のサイクルから順に説明する。
[1回目のサイクル]
まず、AND回路A1は、先頭アドレスに対応するため、そのアドレスより下位のアドレスは存在しない。そのため、AND回路A1は、図6のフラグ付きSRAM54におけるデータAが格納された先頭アドレス「0003xxx1」と、当該アドレスに対応するBフラグ値「0」とを入力とする。この場合、Bフラグ値が「0」であることにより、AND回路A1は、アドレス「0003xxx1」ではなく「0」を出力する。
また、AND回路A2は、図6のフラグ付きSRAMにおけるデータBが格納された2番目のアドレス「0003xxx2」に対応する。このため、AND回路A2は、アドレス「0003xxx2」と、当該アドレスに対応するBフラグ値「1」に加え、そのアドレスより下位のアドレス、即ち、「0003xxx1」のBフラグ値「0」の反転値「1」を入力とする。この場合、アドレス以外の入力値が共に「1」であることにより、AND回路A2は、アドレス「0003xxx2」を出力する。
また、AND回路A3は、図6のフラグ付きSRAMにおけるデータCが格納された3番目のアドレス「0003xxx3」に対応する。このため、AND回路A3は、アドレス「0003xxx3」と、当該アドレスに対応するBフラグ値「0」に加え、そのアドレスより下位のアドレス、即ち、「0003xxx1(データA)、0003xxx2(データB)」の各Bフラグ値の反転値を入力とする。この場合、アドレス「0003xxx1(データA)」のBフラグ値の反転値は「1」、アドレス「0003xxx2」のBフラグ値の反転値は「0」である。アドレス以外の入力値が「0」及び「1」であるため、AND回路A3は、アドレス「0003xxx3」ではなく「0」を出力する。
同様にして、AND回路A3より上位のアドレスに対応するAND回路An(図示せず)についても、n番目のアドレスと、当該アドレスに対応するBフラグ値と、そのアドレスより下位のアドレスのBフラグ値の反転値を入力とする。1回目のサイクルでは、アドレス「0003xxx2」のBフラグ値が「1」であることにより、それより上位のアドレスに対応するAND回路A3〜Anは、当該Bフラグ値の反転値「0」を入力とする。このため、この例の1回目のサイクルにおいて、AND回路A3〜Anは、必ず「0」を出力することになる。
このように、本実施の形態例の判定回路部CEにおける2番目以降のAND回路A2〜Anは、それぞれのAND回路に対応するアドレスより下位のアドレスのBフラグ値が全て「0」(非退避対象データ)であって、当該AND回路に対応するアドレスのBフラグ値が「1」(退避対象データ)である場合にのみ、当該AND回路に対応するアドレスを出力する。
そして、OR回路R1は、各AND回路の出力の論理和を出力する。この例において、OR回路R1に対して、AND回路A1、A3〜Anからは「0」が、AND回路A2からはアドレス「0003xxx2」が入力される。このため、OR回路R1は、アドレス「0003xxx2」、つまり図6のフラグ付きSRAM54のBフラグ値「1」の最上位のアドレスを出力する。このようにして、判定回路部CEは、フラグ付きSRAM54におけるBフラグ値が「1」の最上位のアドレスを出力する。
続いて、判定回路部CEから出力されたアドレス「0003xxx2」は、セレクタS1及びセレクタS3に入力され、セレクタS1に入力されたアドレス「0003xxx2」は、SRAM55及びBフラグメモリ56に入力される。そして、SRAM55に入力されたアドレス「0003xxx2」に対応するデータ「B」が読み出され、セレクタS3に出力される。従って、セレクタS3には、判定回路部CEから出力されたフラグ付きSRAM54におけるBフラグ値が「1」の最上位のアドレス「0003xxx2」と、当該アドレスのSRAM55のデータ「B」が入力される。
そして、制御部CTは、セレクタS3に出力制御信号を出力することにより、まず、アドレス「0003xxx2」とデータ「B」のうちアドレスを選択し、B−SRAMへの専用バス58に出力する。同時に、制御部CTは、ライト制御信号及びB−SRAM22への書き込み先アドレス(この場合、例えば、B−SRAM22の先頭アドレス)をB−SRAMへの専用バス58に出力する。これにより、B−SRAM22の先頭アドレスに、セレクタS3から出力されたアドレス「0003xxx2」が書き込まれる。
続いて、制御部CTは、同様にして、セレクタS3に出力制御信号を出力して、次はデータ「B」を選択し、B−SRAMへの専用バス58に出力する。同様にして、制御部CTは、ライト制御信号及びインクリメントしたB−SRAM22への書き込み先アドレスをB−SRAM専用バス58に出力する。これにより、B−SRAM22において、アドレス「0003xxx2」の次に、当該アドレスに対応するデータ「B」が書き込まれる。このようにして、フラグ付きSRAM54におけるBフラグ値が「1」の最上位のアドレス「0003xxx2」と、当該アドレスに対応するデータ「B」がB−SRAM22に順に書き込まれる。
なお、前述したとおり、判定回路部CEから出力されたBフラグ値が「1」の最上位のアドレス「0003xxx2」はBフラグメモリ56にも出力される。そして、制御部CTが、Bフラグに値「0」を書き込むライト制御信号を出力すると、Bフラグメモリ56の判定回路部CEから出力されたアドレス位置のBフラグ値が「1」から「0」に書き換えられる。
[2回目のサイクル]
判定回路部CEは、続いて、次の、フラグ付きSRAM54におけるBフラグ値が「1」の最上位アドレス2を出力する。1回目のサイクルで判定回路部CEから出力されたアドレス「0003xxx2」のBフラグ値は、既に「1」から「0」に書き換えられている。そのため、判定回路部CEは、1回目のサイクルと同様にして、再度、各AND回路A1〜Anに対応するBフラグ値を読み出し、読み出したBフラグ値またはその反転値を対応するAND回路A1〜Anに入力する。図6のフラグ付きSRAM54によると、データBより上位のアドレスのうちBフラグ値が「1」のアドレスは「0003xxx5」であるため、判定回路部CEはアドレス「0003xxx5」を出力する。
1回目のサイクルでアドレスを出力したAND回路A2については、当該AND回路A2に対応するアドレス「0003xxx2」と、当該アドレスに対応するBフラグ値「0」と、そのアドレスより下位のアドレス「0003xxx1」のBフラグ値「0」の反転値「1」を入力とする。この場合、当該AND回路A2に対応するBフラグ値が既に「1」から「0」に書き換えられていることから、2回目のサイクルでは、AND回路A2は「0」を出力する。
そして、図7の判定回路部CEに図示していないが、アドレス「0003xxx5」に対応するAND回路A5(図示せず)は、当該AND回路に対応するBフラグ値が「1」であり、そのアドレスより下位のアドレスのBフラグ値が全て「0」(この反転値は「1」)である。この場合、AND回路A5に対応するBフラグ値と、当該AND回路に対応するアドレスより下位のアドレスのBフラグ値の反転値が全て「1」であることから、AND回路A5はアドレス「0003xxx5」を出力する。
そして、1回目のサイクルと同様にして、判定回路部CEから出力されたアドレス「0003xxx5」とそのデータ「E」がB−SRAM22に書き込まれると共に、アドレス「0003xxx5」のBフラグ値が「0」に書き換えられる。
[3回目のサイクル]
同様にして、判定回路部CEは、次の、フラグ付きSRAM54におけるBフラグ値が「1」の最上位アドレスを出力する。2回目のサイクルで判定回路部CEから出力されたアドレス「0003xxx5」のBフラグ値が既に「1」から「0」に書き換えられているため、判定回路部CEは、図6のフラグ付きSRAM54によると、次に、アドレス「0003xxxB」を出力する。
判定回路部CEがアドレス「0003xxxB」を出力する処理については、1、2回目のサイクルと同様である。そして、同様に、判定回路部CEから出力されたアドレス「0003xxxB」とそのデータ「K」がB−SRAM22に書き込まれると共に、アドレス「0003xxxB」のBフラグ値が「0」に書き換えられる。
このように、SRAMインタフェース53は、スタンバイモード移行時、フラグ付きSRAM54におけるBフラグ値が「1」のアドレス及びデータを、順次、B−SRAM22に書き込む。なお、SRAMインタフェース53の制御部CTはカウンタ(図示せず)を有し、B−SRAM22へデータ転送された回数をカウントする。そして、Bフラグ値が「1」の全てのアドレス及びデータがB−SRAM22に書き込まれると、制御部CTはその転送回数をレジスタ専用バス57に出力し、BUP−D52のレジスタRGに保持させる。この転送回数は、スタンバイモードからの復帰時に使用される。
そして、この後、情報処理装置50は、CPU−D51の電源を遮断し、通常動作モードからスタンバイモードに移行する。この時、CPU−D51の電源が遮断されることにより、フラグ付きSRAM54の全データが失われる。
続いて、同じ図7に基づいて、スタンバイモードからの復帰時の処理を説明する。
初めに、制御部CTは、レジスタ専用バス57を介して、BUP−D52のレジスタRGからデータの転送回数を取得する。続いて、制御部CTは、B−SRAM22の読み出しアドレス(この場合、例えば、B−SRAM22の先頭アドレス)をB−SRAMへの専用バス58に出力し、B−SRAM22から値を読み出す。本実施の形態例におけるB−SRAM22には、データ、アドレスの順に値が記憶されていることから、B−SRAM22から、まず、先頭に書き込まれたアドレスが読み出され、フリップフロップFFに保持される。
続いて、制御部CTが、インクリメントした読み出しアドレスを出力すると、B−SRAM22から次の値(データ)が読み出されセレクタS2に入力される。この時、同時に、フリップフロップFFの保持するアドレスがセレクタS1に入力され、セレクタS1から入力されたアドレスと、セレクタS2から入力されたデータとがSRAM55に出力される。これにより、SRAM55の当該アドレス位置に、当該データが書き込まれる。また、セレクタS1から出力されたアドレスは、Bフラグメモリ56にも出力される。そして、制御部CTが、Bフラグ値「1」の書き込みを指示するライト制御信号を出力すると、Bフラグメモリ56のアドレス位置にBフラグ値「1」が書き込まれる。
同様にして、読み出し数がレジスタRGに保持された転送回数に達するまで、B−SRAM22からのアドレス及びデータが読み出され、フラグ付きSRAM54における当該読み出されたアドレス位置に、当該読み出されたデータとBフラグ値「1」が書き込まれる。そして、B−SRAM22に転送された全ての値がフラグ付きSRAM54に書き込まれると、情報処理装置50は、スタンバイモードから通常動作モードに復帰する。
このようにして、本実施の形態例の情報処理装置50は、電源遮断対象のドメイン(本実施の形態例ではCPU−D51)において、データと当該データが退避対象であるか否かを表すBフラグ値とを記憶するフラグ付きSRAM54と、当該フラグ付きSRAM54の制御を行うSRAMインタフェース53を一例とするメモリコントローラを有する。また、情報処理装置50は、別のドメイン(本実施の形態例ではBUP−D52)に、退避対象データと、当該データのフラグ付きSRAM54における退避対象データアドレスとを記憶するB−SRAM22を有する。
そして、そして、メモリコントローラは、Bフラグ対応命令によってデータ及びBフラグ値をフラグ付きSRAM54に書き込むと共に、スタンバイモード移行処理時、フラグ付きSRAM54から、Bフラグ値に基づいて退避対象データ及び退避対象アドレスとをB−SRAM22に書き込む。そして、メモリコントローラは、スタンバイモードからの復帰時には、B−SRAM22から体位対象データ及び退避対象アドレスとを読み出し、フラグ付きSRAM54における退避対象アドレス位置に退避対象データを書き込む。これにより、スタンバイモード移行前のフラグ付きSRAM54のデータ及びBフラグ値が復元される。
このように、本実施の形態例における情報処理装置50は、通常動作時、Bフラグ対応命令によってデータとBフラグ値とをフラグ付きSRAM54に書き込む。これにより、情報処理装置50は、アドレステーブルATを有する必要がなく、つまり退避対象のアドレスを保持する必要がなく、通常動作時、アドレステーブルATに係る処理の遅れや負荷増加を伴わずに、スタンバイモード移行/復帰時における退避対象のデータ量を抑えることができる。
図8は、通常動作時におけるアドレステーブルを有する情報処理装置40(図2)のSRAMに係る処理(同図の処理X)と、本実施の形態例の情報処理装置50(図3)のフラグ付きSRAM54に係る処理(同図の処理Y)との対比を表す図である。アドレステーブルATを有する情報処理装置40(図2)は、処理Xのように、通常動作時、SRAM13(図2)への書き込み処理及び読み出し処理80に加え、アドレステーブルATの初期設定及び更新処理81、書き込み及び読み出し処理対象のSRAM13のアドレスとアドレステーブルATの各アドレスとを照合する判定処理82を要する。このように、情報処理装置40(図2)は、通常動作時、アドレステーブルATに係る処理を行う必要があり、処理の遅れや負荷の増加が伴うことがあった。
それに対し、本実施の形態例における情報処理装置50(図3)は、フラグ付きSRAM54を有し、従来の書き込み命令に加え、Bフラグ対応命令によって、フラグ付きSRAM54にBフラグ値を合わせて書き込む。このため、図8の処理Yのように、通常動作時、フラグ付きSRAM54(図3)への書き込み及び読み出し処理の他に、アドレステーブルATに係る処理を要しない。そして、情報処理装置50は、スタンバイモード移行/復帰時、フラグ付きSRAM54のBフラグ値に基づいて退避対象データを判別可能であるため、退避対象のデータ量を抑えることができる。
これにより、本実施の形態例における情報処理装置50は、通常動作時の処理を最小限にしながら、スタンバイモード移行/復帰時の退避対象のデータを抑えることができる。これにより、低消費電力化及びコストダウンを実現できる。
以上の実施の形態をまとめると、次の付記のとおりである。
(付記1)
電源遮断可能な第1の電源網を有する第1のドメインと、
前記第1の電源網とは異なる第2の電源網を有する第2のドメインとを有し、
前記第1のドメインは、
データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、
前記フラグ付きメモリに前記データに加えて退避対象を示す前記フラグを書き込む第1の命令を含む複数の命令を実行するCPUと、
前記フラグ付きメモリを制御するメモリコントローラとを有し、
前記第2のドメインは、
退避メモリを有し、
前記メモリコントローラは、前記第1の命令の実行時に前記データに加えて前記フラグを前記フラグ付きメモリに書き込み、前記第1のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する退避対象データとその退避対象データアドレスを前記退避メモリに書き込む情報処理装置。
(付記2)
付記1において、
前記メモリコントローラは、電源遮断された前記第1のドメインへの電源復帰時、前記第2のドメインの前記退避メモリから前記退避対象データと前記退避対象アドレスとを読み出し、前記フラグ付きメモリにおける前記退避対象アドレスに前記退避対象データを書き込む情報処理装置。
(付記3)
付記2において、
前記メモリコントローラは、前記第1のドメインへの電源復帰時、前記フラグ付きメモリの前記退避対象アドレスに、前記退避対象データに加えて前記退避対象を示すフラグを書き込む情報処理装置。
(付記4)
付記1乃至3のいずれかにおいて、
前記複数の命令は、前記フラグ付きメモリに前記フラグを書き込まずに前記データを書き込む第2の命令を有する情報処理装置。
(付記5)
付記1乃至4のいずれかにおいて、
前記メモリコントローラは、
前記フラグ付きメモリの最下位または最上位の第1のアドレスに対応して設けられ、前記第1のアドレスの前記フラグの値が退避対象を示す場合に前記第1のアドレスを出力する第1の演算器と、
前記第1のアドレスが前記最下位のアドレスの場合はそれより上位、前記最上位のアドレスの場合はそれより下位の第2のアドレスに対応して設けられ、前記第2のアドレスの前記フラグの値が退避対象を示し、前記第1のアドレスを含む前記第2のアドレスより下位または上位の前記フラグが非退避対象を示す場合に前記第2のアドレスを出力する、前記第1のアドレスを除く前記フラグ付きメモリの各アドレスにそれぞれ対応するひとつまたは複数の第2の演算器と、
前記第1、2の演算器の出力の論理和を出力する論理和器とを有し、
前記論理和器の出力を前記退避対象データアドレスとし、当該退避対象データアドレスと、前記フラグ付きメモリ内の当該前記退避対象データアドレスの前記退避対象データを前記退避メモリに書き込み、当該退避対象データアドレスに対応する前記フラグを非退避対象を示す値に書き換える処理を、前記退避対象を示すフラグの数分、順次繰り返す情報処理装置。
(付記6)
電源遮断可能な第1の電源網を有する第1のドメインと、前記第1の電源網とは異なる第2の電源網を有する第2のドメインとを備える情報処理装置のデータ退避方法であって、
データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリに、前記データに加えて退避対象を示す前記フラグを書き込む第1の命令を実行する第1のメモリ書き込み工程と、
前記第1のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する前記退避対象データとその退避対象データアドレスを前記退避メモリに書き込むデータ退避工程と、
を有する情報処理装置のデータ退避方法。
(付記7)
付記6において、さらに、
電源遮断された前記第1のドメインへの電源復帰時、前記第2のドメインの前記退避メモリから前記退避対象データと前記退避対象アドレスとを読み出し、前記フラグ付きメモリにおける前記退避対象アドレスに前記退避対象データを書き込むデータ復帰工程を、
有する情報処理装置のデータ退避方法。
(付記8)
付記7において、
前記データ復帰工程において、前記フラグ付きメモリの前記退避対象アドレスに、前記退避対象データに加えて前記退避対象を示すフラグを書き込む情報処理装置のデータ退避方法。
(付記9)
付記6乃至8のいずれかにおいて、さらに、
前記フラグ付きメモリに、前記フラグを書き込まずに前記データを書き込む第2の命令を実行する第2のメモリ書き込み工程を有する情報処理装置のデータ退避方法。
50:情報処理装置、51:CPU−D、52:BUP−D、
11:CPU、12:ROM、14:Peripheral、15:バス、53:SRAMインタフェース、54:フラグ付きSRAM、55:SRAM、56:Bフラグメモリ、
21、PMU、22:B−SRAM

Claims (5)

  1. 電源遮断可能な第1の電源網を有する第1のドメインと、
    前記第1の電源網とは異なる第2の電源網を有する第2のドメインとを有し、
    前記第1のドメインは、
    データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、
    前記フラグ付きメモリに前記データに加えて退避対象を示す前記フラグを書き込む第1の命令を含む複数の命令を実行するCPUと、
    前記フラグ付きメモリを制御するメモリコントローラとを有し、
    前記第2のドメインは、
    退避メモリを有し、
    前記メモリコントローラは、前記第1の命令の実行時に前記データに加えて前記フラグを前記フラグ付きメモリに書き込み、前記第1のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する退避対象データとその退避対象データアドレスを前記退避メモリに書き込む情報処理装置。
  2. 請求項1において、
    前記メモリコントローラは、電源遮断された前記第1のドメインへの電源復帰時、前記第2のドメインの前記退避メモリから前記退避対象データと前記退避対象アドレスとを読み出し、前記フラグ付きメモリにおける前記退避対象アドレスに前記退避対象データを書き込む情報処理装置。
  3. 請求項2において、
    前記メモリコントローラは、前記第1のドメインへの電源復帰時、前記フラグ付きメモリの前記退避対象アドレスに、前記退避対象データに加えて前記退避対象を示すフラグを書き込む情報処理装置。
  4. 請求項1乃至3のいずれかにおいて、
    前記複数の命令は、前記フラグ付きメモリに前記フラグを書き込まずに前記データを書き込む第2の命令を有する情報処理装置。
  5. 電源遮断可能な第1の電源網を有する第1のドメインと、前記第1の電源網とは異なる第2の電源網を有する第2のドメインとを備える情報処理装置のデータ退避方法であって、
    データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリに、前記データに加えて退避対象を示す前記フラグを書き込む第1の命令を実行する第1のメモリ書き込み工程と、
    前記第1のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する前記退避対象データとその退避対象データアドレスを前記退避メモリに書き込むデータ退避工程と、
    を有する情報処理装置のデータ退避方法。
JP2010252972A 2010-11-11 2010-11-11 情報処理装置及びそのデータ退避方法 Pending JP2012103967A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010252972A JP2012103967A (ja) 2010-11-11 2010-11-11 情報処理装置及びそのデータ退避方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010252972A JP2012103967A (ja) 2010-11-11 2010-11-11 情報処理装置及びそのデータ退避方法

Publications (1)

Publication Number Publication Date
JP2012103967A true JP2012103967A (ja) 2012-05-31

Family

ID=46394266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010252972A Pending JP2012103967A (ja) 2010-11-11 2010-11-11 情報処理装置及びそのデータ退避方法

Country Status (1)

Country Link
JP (1) JP2012103967A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015121839A (ja) * 2013-12-20 2015-07-02 オンキヨー株式会社 電子機器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015121839A (ja) * 2013-12-20 2015-07-02 オンキヨー株式会社 電子機器
US9471487B2 (en) 2013-12-20 2016-10-18 Onkyo Corporation Data restoration in electronic device

Similar Documents

Publication Publication Date Title
JP6030085B2 (ja) キャッシュメモリおよびプロセッサシステム
JP5323828B2 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
TWI405076B (zh) 平台式閒置時間處理
JP6092649B2 (ja) 演算装置、アレイ型演算装置およびその制御方法、情報処理システム
CN103064503B (zh) 片上系统及其缓存器
TWI503662B (zh) 記憶體控制裝置及方法
JP5108690B2 (ja) Dma装置及びdma転送方法
US20130132659A1 (en) Microcontroller and method of controlling microcontroller
JP4491365B2 (ja) 直列インタフェース回路
WO2013048536A1 (en) Apparatus and method for managing register information in a processing system
JP2012103967A (ja) 情報処理装置及びそのデータ退避方法
US20100115323A1 (en) Data store system, data restoration system, data store method, and data restoration method
JP2012168724A (ja) 半導体装置
JP2005182538A (ja) データ転送装置
JP2000215068A (ja) マルチタスクスケジュ―リング装置
JP2005523510A (ja) マイクロプロセッサおよびその電力を管理する方法
JP5231496B2 (ja) 情報処理装置及びそのサスペンド/リジューム方法
WO2017113247A1 (zh) 降低内存功耗的方法及计算机设备
WO2014184985A1 (ja) 半導体集積回路及びその電源制御方法
JP2004086556A (ja) マイクロコントローラ
JP2008262349A (ja) データ処理装置及びこれに用いるデータ制御回路
JP4509946B2 (ja) 割り込み優先順位設定回路
JP3197045B2 (ja) 拡張中央演算処理装置
JP2012178099A (ja) 制御装置およびプログラム変更方法
JP2013196112A (ja) メモリシステムとその省電力制御方法