JP5609657B2 - Low power design support apparatus and method for semiconductor integrated circuit - Google Patents

Low power design support apparatus and method for semiconductor integrated circuit Download PDF

Info

Publication number
JP5609657B2
JP5609657B2 JP2011003459A JP2011003459A JP5609657B2 JP 5609657 B2 JP5609657 B2 JP 5609657B2 JP 2011003459 A JP2011003459 A JP 2011003459A JP 2011003459 A JP2011003459 A JP 2011003459A JP 5609657 B2 JP5609657 B2 JP 5609657B2
Authority
JP
Japan
Prior art keywords
access
memory
simulation
cache
data
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
JP2011003459A
Other languages
Japanese (ja)
Other versions
JP2012146099A (en
Inventor
文豪 呉
文豪 呉
廣 岡野
廣 岡野
川辺 幸仁
幸仁 川辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Ltd filed Critical Fujitsu Ltd
Priority to JP2011003459A priority Critical patent/JP5609657B2/en
Publication of JP2012146099A publication Critical patent/JP2012146099A/en
Application granted granted Critical
Publication of JP5609657B2 publication Critical patent/JP5609657B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、半導体集積回路における低電力なメモリの設計を支援する技術に関する。   The present invention relates to a technology for supporting design of a low-power memory in a semiconductor integrated circuit.

近年、半導体集積回路の高密度化すると共に、その消費電力を削減することが重要な課題となっている。半導体集積回路において、RAM(Random Access Memory)の電力が占める割合は大きく、RAMの無駄な動作を削除した低電力な集積回路を設計することによって、大きな電力削減の効果を得ることができる。   In recent years, increasing the density of semiconductor integrated circuits and reducing their power consumption have become important issues. In a semiconductor integrated circuit, the proportion of RAM (Random Access Memory) power is large, and by designing a low-power integrated circuit that eliminates unnecessary operations of the RAM, a great power reduction effect can be obtained.

例えば、多ウェイ・セットアソシアティブ対応のキャッシュメモリにおいて、ウェイ数分のタグアドレスを格納した大規模なアドレスメモリと、タグアドレスに対応するデータメモリの内容の有効/無効を示す有効ビットを格納した小規模な有効ビットメモリとに分離して配置し、有効ビットが無効であるウェイに関しては大規模なアドレスメモリの読み出し又は出力の動作を停止させるように構成したり、RAMの後続回路をモニタして、RAMから読み出したデータが後続回路に使われたか否かをチェックすることにより、無駄なRAMのread動作を検出する等が提案されている。   For example, in a cache memory that supports multi-way set associative, a large-scale address memory that stores tag addresses for the number of ways and a small bit that stores valid / invalid indicating the validity / invalidity of the contents of the data memory corresponding to the tag address. It is arranged separately from the large effective bit memory, and for the way where the effective bit is invalid, the read or output operation of the large address memory is stopped or the subsequent circuit of the RAM is monitored. It has been proposed to detect a useless read operation of a RAM by checking whether or not data read from the RAM is used in a subsequent circuit.

特開平10−111832号公報Japanese Patent Laid-Open No. 10-111182

"PowerPro MG automates memory power optimization"、[online]、Calypto、[平成22年10月5日検索]、インターネット<URL: http://www.calypto.com/powerpromg.php>"PowerPro MG automates memory power optimization", [online], Calypto, [October 5, 2010 search], Internet <URL: http://www.calypto.com/powerpromg.php>

しかしながら、上述した従来技術では、実際のデータアクセスにおけるRAMの無駄な動作を十分に検出することができていなかった。   However, the above-described conventional technology cannot sufficiently detect a useless operation of the RAM in actual data access.

例えば、RAMから読み出したデータが後続回路に使われたか否かをチェックする検出方法では、RAMの後段の全ての回路を網羅的にチェックすることが困難であり、モニタした回路が無駄なアクセスで動作してその更に後段のモニタしきれなかった回路でデータが捨てられた場合、必要最小限のRAMのread動作回数の論理値を参照していないため、すべての無駄なアクセスを検出できないと言った問題があった。   For example, in the detection method for checking whether or not the data read from the RAM is used in the subsequent circuit, it is difficult to comprehensively check all the circuits in the subsequent stage of the RAM, and the monitored circuit is used in a wasteful access. When data is discarded in a circuit that cannot be monitored after the operation, all unnecessary accesses cannot be detected because the logical value of the minimum number of RAM read operations is not referred to. There was a problem.

開示の技術は、記憶領域に格納される半導体集積回路を評価するための評価用プログラムを用いた第一のシミュレーションによって得られる、メモリへのアクセスに応じて該メモリ内での対象データに対するアクセスに係る回数情報を用いて、論理的なread回数及び論理的なwrite回数を計算する計算手段と、前記評価用プログラムを用いて、前記記憶領域に格納される前記半導体集積回路の設計データに従った第二のシミュレーションによって、前記メモリへの実際のread回数及び実際のwrite回数を取得する取得手段と、前記実際のread回数が前記論理的なread回数より大きい場合、又は、前記実際のwrite回数が前記論理的なwrite回数より大きい場合、前記メモリに無駄な電力が有ると判定する無駄電力判定手段とを有することを特徴とする半導体集積回路の低電力設計支援装置として構成される。 In the disclosed technique, access to target data in the memory is obtained according to the access to the memory, which is obtained by the first simulation using the evaluation program for evaluating the semiconductor integrated circuit stored in the storage area. Using the number information, calculation means for calculating a logical read number and a logical write number, and using the evaluation program, according to the design data of the semiconductor integrated circuit stored in the storage area According to a second simulation, acquisition means for acquiring the actual number of reads and the actual number of writes to the memory, and when the actual number of reads is larger than the logical number of reads, or when the actual number of writes is wherein if logical larger write count, a semiconductor collector characterized in that it comprises a waste power determination means for determining a wasteful power is in the said memory Configured as a low power design support apparatus of the circuit.

また、上記課題を解決するための手段として、コンピュータに上記低電力設計支援装置として機能させるためのプログラム、そのプログラムを記録した記録媒体、及び半導体集積回路の低電力設計支援方法とすることもできる。   Further, as means for solving the above problems, a program for causing a computer to function as the low power design support apparatus, a recording medium recording the program, and a low power design support method for a semiconductor integrated circuit can be used. .

開示の技術では、メモリを構成するRAMへのアクセス回数の論理値を定め、その論理値と、RAMへの実際のアクセス回数との比較によって、メモリ全体で無駄なアクセスが存在するか否かを判定できる。よって、メモリ全体での無駄な電力の有無を判定可能とする。   In the disclosed technique, a logical value of the number of accesses to the RAM constituting the memory is determined, and whether or not there is useless access in the entire memory is determined by comparing the logical value with the actual number of accesses to the RAM. Can be judged. Therefore, it is possible to determine whether or not there is wasted power in the entire memory.

低電力設計支援装置のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of a low power design support apparatus. 低電力設計支援装置の第一の機能構成例を示す図である。It is a figure showing the example of the 1st functional composition of a low power design support device. RAMアクセスの無駄を判断する第一の処理例を説明するためのフローチャート図である。It is a flowchart for demonstrating the 1st process example which judges the waste of RAM access. 低電力設計支援装置の第二の機能構成例を示す図である。It is a figure which shows the 2nd function structural example of a low-power design assistance apparatus. RAMアクセスの無駄を判断する第二の処理例を説明するためのフローチャート図である。It is a flowchart for demonstrating the 2nd process example which judges the waste of RAM access. メモリシステムの構成例を示す図である。It is a figure which shows the structural example of a memory system. 適用例における計算方法(手順3)を説明するための図である。It is a figure for demonstrating the calculation method (procedure 3) in an application example. キャッシュの動作対応表を示す図である。It is a figure which shows the operation | movement correspondence table of a cache.

以下、本発明の実施の形態を図面に基づいて説明する。本実施の形態に係る低電力設計支援装置は、例えば、図1に示すようなハードウェア構成を有する。図1は、低電力設計支援装置のハードウェア構成を示す図である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The low power design support apparatus according to the present embodiment has a hardware configuration as shown in FIG. 1, for example. FIG. 1 is a diagram illustrating a hardware configuration of a low power design support apparatus.

図1において、低電力設計支援装置100は、コンピュータによって制御される装置であって、CPU(Central Processing Unit)11と、メモリユニット12と、表示ユニット13と、出力ユニット14と、入力ユニット15と、通信ユニット16と、記憶装置17と、ドライバ18とを有し、システムバスBに接続される。   In FIG. 1, a low power design support apparatus 100 is an apparatus controlled by a computer, and includes a CPU (Central Processing Unit) 11, a memory unit 12, a display unit 13, an output unit 14, and an input unit 15. The communication unit 16, the storage device 17, and the driver 18 are connected to the system bus B.

CPU11は、メモリユニット12に格納されたプログラムに従って低電力設計支援装置100を制御する。メモリユニット12には、RAM(Random Access Memory)及びROM(Read-Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、メモリユニット12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。   The CPU 11 controls the low power design support apparatus 100 according to a program stored in the memory unit 12. The memory unit 12 uses a RAM (Random Access Memory), a ROM (Read-Only Memory), or the like, and is obtained by a program executed by the CPU 11, data necessary for processing by the CPU 11, and processing by the CPU 11. Stored data. A part of the memory unit 12 is allocated as a work area used for processing by the CPU 11.

表示ユニット13は、CPU11の制御のもとに必要な各種情報を表示する。出力ユニット14は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット15は、マウス、キーボード等を有し、利用者が低電力設計支援装置100が処理を行なうための必要な各種情報を入力するために用いられる。   The display unit 13 displays various information required under the control of the CPU 11. The output unit 14 has a printer or the like, and is used for outputting various types of information in accordance with instructions from the user. The input unit 15 includes a mouse, a keyboard, and the like, and is used by a user to input various information necessary for the low-power design support apparatus 100 to perform processing.

通信ユニット16は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。記憶装置17には、例えば、ハードディスクユニットが用いられ、各種処理を実行するプログラム等のデータを格納する。   The communication unit 16 is a device that is connected to, for example, the Internet, a LAN (Local Area Network), and the like and controls communication with an external device. For example, a hard disk unit is used as the storage device 17 and stores data such as programs for executing various processes.

低電力設計支援装置100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって低電力設計支援装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライバ18にセットされると、ドライバ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがシステムバスBを介して記憶装置17にインストールされる。そして、プログラムが起動されると、記憶装置17にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。   A program for realizing the processing performed by the low power design support apparatus 100 is provided to the low power design support apparatus 100 by a storage medium 19 such as a CD-ROM (Compact Disc Read-Only Memory). That is, when the storage medium 19 storing the program is set in the driver 18, the driver 18 reads the program from the storage medium 19, and the read program is installed in the storage device 17 via the system bus B. . When the program is activated, the CPU 11 starts its processing according to the program installed in the storage device 17. The medium for storing the program is not limited to a CD-ROM, and any medium that can be read by a computer may be used. As a computer-readable storage medium, in addition to a CD-ROM, a portable recording medium such as a DVD disk or a USB memory, or a semiconductor memory such as a flash memory may be used.

また、消費電力解析装置100によって行われる処理を実現するプログラムが、通信ユニット16を介して外部装置から提供されてもよい。   In addition, a program that realizes processing performed by the power consumption analysis device 100 may be provided from an external device via the communication unit 16.

図2は、低電力設計支援装置の第一の機能構成例を示す図である。図2において、低電力設計支援装置100は、論理シミュレータ121と、性能評価シミュレータ123と、アクセス数計算部125と、無駄電力有無判定部126等の処理部を有する。CPU11が対応するプログラムを実行することによって、これらの各処理部として機能する。   FIG. 2 is a diagram illustrating a first functional configuration example of the low power design support apparatus. In FIG. 2, the low-power design support apparatus 100 includes processing units such as a logic simulator 121, a performance evaluation simulator 123, an access count calculation unit 125, and a waste power presence / absence determination unit 126. The CPU 11 functions as each of these processing units by executing a corresponding program.

また、低電力設計支援装置100は、メモリユニット12又は/及び記憶装置17の記憶領域170に、設計データ171、評価用プログラム172、実際のアクセス数175を含む論理評価結果173、性能評価結果174、論理的なアクセス数176、判定結果176等の第一の機能構成例における処理を行うためのデータ等を格納する。   The low-power design support apparatus 100 also includes a logic evaluation result 173 and a performance evaluation result 174 including design data 171, an evaluation program 172, and the actual number of accesses 175 in the storage area 170 of the memory unit 12 and / or the storage device 17. , Data for performing processing in the first functional configuration example such as the logical access number 176 and the determination result 176 are stored.

論理シミュレータ121は、評価用プログラム172を用いて、設計データ171に従って論理シミュレーションを行う処理部である。論理シミュレーションによるRAMマクロへのアクセス回数が抽出されて、実際のアクセス数175として記憶領域170に格納される。   The logic simulator 121 is a processing unit that performs a logic simulation according to the design data 171 using the evaluation program 172. The number of accesses to the RAM macro by the logic simulation is extracted and stored in the storage area 170 as the actual access number 175.

性能評価シミュレータ123は、評価用プログラム172を用いて、半導体集積回路を構成する機能ブロックの動作を表すマクロ(CPUマクロ、RAMマクロ、I/Oマクロ等を含む)の性能評価シミュレーションを行う処理部である。性能評価シミュレーションから、RAMマクロに係るLoad/store回数、キャッシュミス率、MOVE IN/MOVE OUT回数が抽出されて性能評価結果174として記憶領域170に格納される。   The performance evaluation simulator 123 uses the evaluation program 172 to perform a performance evaluation simulation of a macro (including a CPU macro, a RAM macro, an I / O macro, etc.) that represents the operation of the functional blocks constituting the semiconductor integrated circuit. It is. From the performance evaluation simulation, the load / store count, cache miss rate, and MOVE IN / MOVE OUT count related to the RAM macro are extracted and stored in the storage area 170 as the performance evaluation result 174.

アクセス数計算部125は、設計データ171と性能評価結果174とを用いて、論理的なRAMマクロのアクセス数を計算して、論理的なアクセス数176として記憶領域170に格納する処理部である。   The access number calculation unit 125 is a processing unit that calculates the logical RAM macro access number using the design data 171 and the performance evaluation result 174 and stores the logical RAM macro access number in the storage area 170 as the logical access number 176. .

無駄電力有無判定部126は、実際のアクセス数175と、論理的なアクセス数176とを記憶領域170から取得して比較することにより、RAMへのアクセスに関して無駄電力が有ったか否かを判定する処理部である。判定した結果を示す判定結果176が記憶領域170に格納される。   The waste power presence / absence determination unit 126 determines whether or not there is waste power with respect to access to the RAM by acquiring the actual access number 175 and the logical access number 176 from the storage area 170 and comparing them. Is a processing unit. A determination result 176 indicating the determination result is stored in the storage area 170.

記憶領域170に格納された判定結果176が、表示ユニット13に表示されることにより、半導体集積回路の設計者は、低電力化の設計を見直すことができる。   By displaying the determination result 176 stored in the storage area 170 on the display unit 13, the designer of the semiconductor integrated circuit can review the design for reducing power consumption.

設計データ171は、ウェイ数、ライン構造、セル間の入出力関係等を示すデータを含む。   The design data 171 includes data indicating the number of ways, line structure, input / output relationship between cells, and the like.

評価用プログラム172は、論理シミュレータ121及び性能評価シミュレータ123で動作する評価用のプログラムであり、少なくともRAMマクロに係る動作パタンを含んでいる。また、評価用プログラム172は、各マクロの動作を評価するための動作パタンを含んでいる。   The evaluation program 172 is an evaluation program that operates on the logic simulator 121 and the performance evaluation simulator 123, and includes at least an operation pattern related to the RAM macro. The evaluation program 172 includes an operation pattern for evaluating the operation of each macro.

論理評価結果173は、論理シミュレータ121が評価用プログラム172を用いて、設計データ171に基づく論理シミュレーションを行うことによって得られた結果を示すデータである。論理評価結果173には、実際のRAMマクロのアクセス数が含まれる。   The logic evaluation result 173 is data indicating a result obtained when the logic simulator 121 performs a logic simulation based on the design data 171 using the evaluation program 172. The logical evaluation result 173 includes the actual number of RAM macro accesses.

性能評価結果174は、性能評価シミュレータ123が評価用プログラム172を用いて、性能評価シミュレーションを行うことによって得られた結果を示すデータである。性能評価結果174には、RAMマクロへのLoad/store回数、キャッシュミス率、下位のメモリへのMOVE IN/MOVE OUT回数が含まれる。   The performance evaluation result 174 is data indicating a result obtained by the performance evaluation simulator 123 performing a performance evaluation simulation using the evaluation program 172. The performance evaluation result 174 includes the load / store count to the RAM macro, the cache miss rate, and the MOVE IN / MOVE OUT count to the lower memory.

実際のアクセス数175は、論理シミュレータ121が評価用プログラム172を用いて、設計データ171に基づく論理シミュレーションを行うことによって得られた実際のRAMマクロのアクセス数を示す。   The actual access number 175 indicates the actual access number of the RAM macro obtained by the logic simulator 121 using the evaluation program 172 to perform a logic simulation based on the design data 171.

論理的なアクセス数176は、性能評価シミュレータ123が評価用プログラム172を用いて、性能評価シミュレーションを行うことによって得られた論理的なRAMマクロのアクセス数を示す。   The logical access number 176 indicates the logical RAM macro access number obtained by the performance evaluation simulator 123 using the evaluation program 172 to perform a performance evaluation simulation.

判定結果176は、無駄電力有無判定部126による判定結果を示し、無駄電力が有ると判定されたか、無駄電力が無いと判定されたかを示す。   The determination result 176 indicates a determination result by the waste power presence / absence determination unit 126 and indicates whether it is determined that there is waste power or there is no waste power.

次に、上述した処理部121〜126によって行われるRAMアクセスの無駄を判断する処理について説明する。図3は、RAMアクセスの無駄を判断する第一の処理例を説明するためのフローチャート図である。図3では、図2に示す第一の機能構成例における処理例を示している。   Next, processing for determining waste of RAM access performed by the processing units 121 to 126 described above will be described. FIG. 3 is a flowchart for explaining a first processing example for determining waste of RAM access. FIG. 3 shows a processing example in the first functional configuration example shown in FIG.

図3において、性能評価シミュレータ123は、記憶領域170に格納されている評価用プログラム172を入力して、半導体集積回路の性能を評価する性能評価シミュレーションを実行し、その結果を示す性能評価結果174を記憶領域170に格納する(ステップS11)。性能評価シミュレータ123によって評価用プログラム172が実行されている一定の期間において、RAMマクロに係るLoad/store回数、キャッシュミス率、MOVE IN/MOVE OUT回数が抽出されるため、性能評価結果174にそれらデータが含まれている。   In FIG. 3, the performance evaluation simulator 123 inputs the evaluation program 172 stored in the storage area 170, executes a performance evaluation simulation for evaluating the performance of the semiconductor integrated circuit, and shows a performance evaluation result 174 indicating the result. Is stored in the storage area 170 (step S11). Since the load / store count, cache miss rate, and MOVE IN / MOVE OUT count related to the RAM macro are extracted in a certain period during which the evaluation program 172 is executed by the performance evaluation simulator 123, the performance evaluation result 174 Contains data.

性能評価シミュレーションの実行後、アクセス数計算部125は、性能評価結果174からRAMマクロに係るLoad/store回数、キャッシュミス率、MOVE IN/MOVE OUT回数を取得する(ステップS12)。   After executing the performance evaluation simulation, the access count calculation unit 125 acquires the load / store count, cache miss rate, and MOVE IN / MOVE OUT count related to the RAM macro from the performance evaluation result 174 (step S12).

そして、アクセス数計算部125は、設計データ171を記憶領域170から読み込んでRAMの構成情報を取得して、取得したRAMの構成情報に基づいて、ステップS12で取得したRAMマクロに係るLoad/store回数、キャッシュミス率、MOVE IN/MOVE OUT回数を用いて、論理的なRAMマクロへのアクセス(read/write)回数を算出する(ステップS13)。算出した論理的なRAMマクロへのアクセス(read/write)回数を示す論理的なアクセス数176を記憶領域170に格納する。   Then, the access count calculation unit 125 reads the design data 171 from the storage area 170 to acquire the RAM configuration information, and based on the acquired RAM configuration information, the Load / store related to the RAM macro acquired in step S12. The number of accesses to the logical RAM macro (read / write) is calculated using the number of times, the cache miss rate, and the number of MOVE IN / MOVE OUT (step S13). A logical access number 176 indicating the calculated number of accesses (read / write) to the logical RAM macro is stored in the storage area 170.

一方、論理シミュレータ121は、記憶領域170に格納されている設計データ171と評価用プログラム172とを入力して、設計データ171に従って論理シミュレーションを実行、その結果を示す論理評価結果173を記憶領域170に格納する(ステップS21)。この論理シミュレーションの実行によって、RAMマクロのアクセス数を示す実際のアクセス数175が抽出されるため、論理評価結果173にそのデータが含まれている。   On the other hand, the logic simulator 121 inputs the design data 171 and the evaluation program 172 stored in the storage area 170, executes a logic simulation according to the design data 171, and outputs a logic evaluation result 173 indicating the result thereof to the storage area 170. (Step S21). By executing this logic simulation, the actual number of accesses 175 indicating the number of accesses of the RAM macro is extracted, so that data is included in the logic evaluation result 173.

性能評価シミュレーションと論理シミュレーションの実行後、無駄電力有無判定部126は、記憶領域170から実際のアクセス数175を読み出して実際のRAMマクロのアクセス数Mに設定する(ステップS22)。また、無駄電力有無判定部126は、記憶領域170から論理的なアクセス数176を読み出して論理的なRAMマクロのアクセス数Nに設定する(ステップS23)。   After executing the performance evaluation simulation and the logic simulation, the waste power presence / absence determination unit 126 reads the actual access number 175 from the storage area 170 and sets it as the actual RAM macro access number M (step S22). In addition, the waste power presence / absence determination unit 126 reads the logical access number 176 from the storage area 170 and sets it as the logical RAM macro access number N (step S23).

そして、無駄電力有無判定部126は、アクセス数Mがアクセス数Nより大きいか否かを判定し、その判定結果176を記憶領域170に出力して格納する(ステップS24)。アクセス数Mがアクセス数Nより大きい場合、無駄電力有無判定部126は、RAMマクロの動作において無駄電力が有ることを示す判定結果176を記憶領域170に出力する。一方、アクセス数Mがアクセス数N以下である場合、無駄電力有無判定部126は、RAMマクロの動作において無駄電力が無いことを示す判定結果176を記憶領域170に出力する。   Then, the waste power presence / absence determination unit 126 determines whether or not the number of accesses M is greater than the number of accesses N, and outputs and stores the determination result 176 in the storage area 170 (step S24). When the access number M is greater than the access number N, the waste power presence / absence determination unit 126 outputs a determination result 176 indicating that there is waste power in the operation of the RAM macro to the storage area 170. On the other hand, when the access number M is less than or equal to the access number N, the waste power presence / absence determination unit 126 outputs a determination result 176 indicating that there is no waste power in the operation of the RAM macro to the storage area 170.

図3において、ステップS21での論理シミュレーションの実行と、ステップS11での性能評価シミュレーションの実行の順序を問わない。即ち、ステップS11での性能評価シミュレーションの実行前に、論理シミュレーションを実行してもよい。   In FIG. 3, the order of execution of the logic simulation in step S21 and the execution of the performance evaluation simulation in step S11 is not limited. That is, a logic simulation may be executed before the performance evaluation simulation in step S11.

図4は、低電力設計支援装置の第二の機能構成例を示す図である。図4に示す第二の機能構成例において、図2に示す第一の機能構成例と同様の構成部には同様の符号を付し、その説明を省略する。図2の第一の機能構成例との違いは、設計データ171にイベントの統計情報をカウントするイベントカウンタ(PA17a)を内蔵させ、論理シミュレータ121による論理シミュレーションから得られる論理評価結果173のみを用いて、性能評価シミュレータ123を必要とせずに、RAMマクロの無駄電力の有無を判定する点にある。   FIG. 4 is a diagram illustrating a second functional configuration example of the low-power design support apparatus. In the second functional configuration example shown in FIG. 4, the same components as those in the first functional configuration example shown in FIG. The difference from the first functional configuration example of FIG. 2 is that an event counter (PA 17a) for counting event statistical information is built in the design data 171 and only the logic evaluation result 173 obtained from the logic simulation by the logic simulator 121 is used. Thus, the presence / absence of RAM macro waste power is determined without the need for the performance evaluation simulator 123.

図4に示す第二の機能構成例では、低電力設計支援装置100は、論理シミュレータ121と、アクセス数計算部135と、無駄電力有無判定部126等の処理部を有する。CPU11が対応するプログラムを実行することによって、これらの各処理部として機能する。   In the second functional configuration example illustrated in FIG. 4, the low power design support apparatus 100 includes processing units such as a logic simulator 121, an access count calculation unit 135, and a waste power presence / absence determination unit 126. The CPU 11 functions as each of these processing units by executing a corresponding program.

また、低電力設計支援装置100は、メモリユニット12又は/及び記憶装置17の記憶領域170に、PA17aを有する設計データ171、評価用プログラム172、実際のアクセス数175を含む論理評価結果173、論理的なアクセス数176、判定結果176等の第二の機能構成例における処理を行うためのデータ等を格納する。   In addition, the low power design support apparatus 100 stores the logic evaluation result 173 including the design data 171 having the PA 17a, the evaluation program 172, and the actual access number 175 in the storage area 170 of the memory unit 12 and / or the storage device 17. The data for performing processing in the second functional configuration example such as the number of accesses 176 and the determination result 176 are stored.

論理シミュレータ121は、評価用プログラム172を用いて、PA17aを内蔵した設計データ171に従って論理シミュレーションを行う処理部である。   The logic simulator 121 is a processing unit that performs a logic simulation using the evaluation program 172 according to the design data 171 with the PA 17a built therein.

アクセス数計算部135は、設計データ171と論理評価結果173とを用いて、論理的なRAMマクロのアクセス数を計算して、論理的なアクセス数176として記憶領域170に格納する処理部である。   The access number calculation unit 135 is a processing unit that calculates the access number of the logical RAM macro using the design data 171 and the logical evaluation result 173 and stores it in the storage area 170 as the logical access number 176. .

設計データ171には、Load/storeの発生、キャッシュミスの発生、MOVE IN/MOVE OUTの発生を夫々カウントするPA17aが回路的に設計されている。キャッシュミスが発生した回数に基づいてキャッシュミス率が求められ、Load/store回数、キャッシュミス率、下位のメモリへのMOVE IN/MOVE OUT回数が、PA情報として論理評価結果173に含まれて、記憶領域170に出力され格納される。   In the design data 171, a PA 17 a that counts occurrence of Load / store, occurrence of cache miss, and occurrence of MOVE IN / MOVE OUT is designed as a circuit. A cache miss rate is obtained based on the number of times a cache miss has occurred, and the load / store count, the cache miss rate, and the number of MOVE IN / MOVE OUT to the lower memory are included in the logic evaluation result 173 as PA information, It is output and stored in the storage area 170.

次に、上述した処理部121、135、及び126によって行われるRAMアクセスの無駄を判断する処理について説明する。図5は、RAMアクセスの無駄を判断する第二の処理例を説明するためのフローチャート図である。図5では、図4に示す第二の機能構成例における処理例を示している。   Next, processing for determining waste of RAM access performed by the processing units 121, 135, and 126 described above will be described. FIG. 5 is a flowchart for explaining a second processing example for determining waste of RAM access. FIG. 5 shows a processing example in the second functional configuration example shown in FIG.

図5において、論理シミュレータ121は、記憶領域170に格納されているPA17aを内蔵した設計データ171と評価用プログラム172とを入力して、設計データ171に従って論理シミュレーションを実行し、その結果を示す論理評価結果173を記憶領域170に格納する(ステップS31)。論理シミュレータ121によって論理シミュレーションが実行されることにより、PA17aでカウントしたLoad/store回数、キャッシュミス率、MOVE IN/MOVE OUT回数が抽出されるため、論理評価結果173にそれらデータが含まれている。   In FIG. 5, the logic simulator 121 receives design data 171 containing the PA 17 a stored in the storage area 170 and an evaluation program 172, executes a logic simulation according to the design data 171, and shows a logic indicating the result. The evaluation result 173 is stored in the storage area 170 (step S31). When the logic simulation is executed by the logic simulator 121, the load / store count, the cache miss rate, and the MOVE IN / MOVE OUT count counted by the PA 17a are extracted. Therefore, the data is included in the logic evaluation result 173. .

論理シミュレーションの実行後、アクセス数計算部135は、論理評価結果173からRAMマクロに係るLoad/store回数、キャッシュミス率、MOVE IN/MOVE OUT回数を取得する(ステップS32)。   After executing the logic simulation, the access count calculation unit 135 acquires the load / store count, cache miss rate, and MOVE IN / MOVE OUT count related to the RAM macro from the logic evaluation result 173 (step S32).

そして、アクセス数計算部135は、設計データ171を記憶領域170から読み込んでRAMの構成情報を取得して、取得したRAMの構成情報に基づいて、ステップS32で取得したRAMマクロに係るLoad/store回数、キャッシュミス率、MOVE IN/MOVE OUT回数を用いて、論理的なRAMマクロへのアクセス(read/write)回数を算出する(ステップS33)。算出した論理的なRAMマクロへのアクセス(read/write)回数を示す論理的なアクセス数176を記憶領域170に格納する。   Then, the access number calculation unit 135 reads the design data 171 from the storage area 170 to acquire the RAM configuration information, and based on the acquired RAM configuration information, the Load / store related to the RAM macro acquired in step S <b> 32. The number of accesses (read / write) to the logical RAM macro is calculated using the number of times, the cache miss rate, and the number of MOVE IN / MOVE OUT (step S33). A logical access number 176 indicating the calculated number of accesses (read / write) to the logical RAM macro is stored in the storage area 170.

その後、無駄電力有無判定部126は、記憶領域170から実際のアクセス数175を読み出して実際のRAMマクロのアクセス数Mに設定する(ステップS34)。また、無駄電力有無判定部126は、記憶領域170から論理的なアクセス数176を読み出して論理的なRAMマクロのアクセス数Nに設定する(ステップS35)。   Thereafter, the waste power presence / absence determination unit 126 reads the actual access number 175 from the storage area 170 and sets the actual access number M of the RAM macro (step S34). In addition, the waste power presence / absence determining unit 126 reads the logical access number 176 from the storage area 170 and sets it as the logical RAM macro access number N (step S35).

そして、無駄電力有無判定部126は、アクセス数Mがアクセス数Nより大きいか否かを判定し、その判定結果176を記憶領域170に出力して格納する(ステップS35)。   Then, the waste power presence / absence determination unit 126 determines whether or not the access number M is greater than the access number N, and outputs and stores the determination result 176 in the storage area 170 (step S35).

次に、図6に示すようなメモリシステム200におけるRAMのアクセス回数の計算例について説明する。図6は、メモリシステムの構成例を示す図である。図6において、メモリシステム200は、L1キャッシュとL2キャッシュとからなる階層構造のメモリシステムである。   Next, a calculation example of the RAM access count in the memory system 200 as shown in FIG. 6 will be described. FIG. 6 is a diagram illustrating a configuration example of a memory system. In FIG. 6, the memory system 200 is a hierarchical memory system including an L1 cache and an L2 cache.

L1キャッシュを構成するRAMは、ウェイ1〜ウェイn毎に分かれ、タグRAMとデータラインRAMとが一体になっているもので、ラインデータを一回で読み出せる構成を有する。また、同一インデックスを有するタグとラインデータの集合を1セットとする。   The RAM constituting the L1 cache is divided for each way 1 to way n, the tag RAM and the data line RAM are integrated, and has a configuration in which line data can be read at a time. A set of tags and line data having the same index is set as one set.

アドレスメモリ61は、アドレスの所定の上位ビットを示すタグと、データラインを指定するインデックスと、バイトオフセットとを有する。   The address memory 61 has a tag indicating a predetermined upper bit of the address, an index for designating a data line, and a byte offset.

各ウェイ1〜ウェイnは、インデックス毎に、データラインの有効/無効を示す有効ビットと、アドレスの所定の上位ビットを示すタグと、データが格納されるデータラインとで構成される。   Each way 1 to way n is composed of a valid bit indicating validity / invalidity of the data line, a tag indicating a predetermined higher bit of the address, and a data line storing data for each index.

各ウェイ1〜ウェイnに対応する各比較部62は、アドレスメモリ61のタグと各ウェイ1〜ウェイnのインデックスで指定されたタグとを比較する。各ウェイ1〜ウェイnに対応する各AND回路62は、対応するウェイのインデックスで指定された有効ビットと比較部62の比較結果との論理積を出力する。   Each comparison unit 62 corresponding to each way 1 to way n compares the tag in the address memory 61 with the tag specified by the index of each way 1 to way n. Each AND circuit 62 corresponding to each way 1 to way n outputs a logical product of the effective bit designated by the index of the corresponding way and the comparison result of the comparison unit 62.

OR回路64は、全AND回路62からの出力の論理和を出力し、データのヒット又はミスを示す。n:1マルチプレクサ65は、各AND回路62からの出力に応じてウェイを選択して、インデックスで指定されたデータラインのデータを出力する。   The OR circuit 64 outputs a logical sum of outputs from all the AND circuits 62, and indicates a data hit or miss. The n: 1 multiplexer 65 selects a way according to the output from each AND circuit 62, and outputs the data of the data line designated by the index.

バッファ66は、L1キャッシュとL2キャッシュ間で行われるデータの書き込み、読み取り時に一時的にデータを保存するためのメモリである。   The buffer 66 is a memory for temporarily storing data when data is written and read between the L1 cache and the L2 cache.

このメモリシステム200では、L1キャッシュの書き込み方式はライトバック方式とする。また、L1キャッシュはnウェイセット・アソシアティブ方式とする。   In this memory system 200, the write method of the L1 cache is the write back method. The L1 cache is an n-way set associative method.

本実施例に係る処理は、L1キャッシュは、必ずしもRAMがウェイ毎に分かれている必要はなく、また、タグRAMとデータRAMとが分離されている構成でも適用でき、一回の読み出しでラインデータの一部を読み出せる構成であっても適用できる。   The processing according to the present embodiment does not necessarily require the RAM to be divided for each way in the L1 cache, and can also be applied to a configuration in which the tag RAM and the data RAM are separated. Even if it is the structure which can read a part of, it is applicable.

次に、上述したメモリシステム200を例として、無駄電力の有無を判定する方法の適用例を説明する。   Next, an application example of a method for determining the presence or absence of wasted power will be described using the above-described memory system 200 as an example.

(手順1)図3のステップS21、図5のステップS31に相当
評価用プログラム172を用いて、設計データ171に従った論理シミュレーションを実行することにより、L1キャッシュを構成するRAMへのアクセス回数Mを取得する。アクセス種別毎の、Read回数M(R1)、write回数M(W1)を取得する。なお、本実施例において、カウントされるL1キャッシュを構成するRAMへのreadアクセスは、L1キャッシュを構成するウェイ数分のRAMへの合計値である。writeアクセスについても同様である。
(Procedure 1) Equivalent to step S21 in FIG. 3 and step S31 in FIG. 5 By executing a logic simulation according to the design data 171 using the evaluation program 172, the number of accesses M to the RAM constituting the L1 cache To get. The number of reads M (R1) and the number of writes M (W1) are acquired for each access type. In this embodiment, the read access to the RAM constituting the L1 cache to be counted is the total value to the RAM for the number of ways constituting the L1 cache. The same applies to write access.

(手順2)図3のステップS11、図5のステップS31に相当
評価用プログラム172を用いた性能評価シミュレーション、又は、PA17aを内蔵している設計データ171に従った論理シミュレーションにより、Load/store回数、キャッシュミス率、L2キャッシュからL1キャッシュへのバッファ66を介したMOVE IN/MOVE OUT回数がカウントされる。カウントした回数を含む性能評価結果174、又は、論理評価結果173が記憶領域170に格納される。
(Procedure 2) Corresponds to step S11 in FIG. 3 and step S31 in FIG. 5 The number of load / store times by performance evaluation simulation using the evaluation program 172 or logic simulation according to the design data 171 incorporating the PA 17a , The cache miss rate, and the number of MOVE IN / MOVE OUT through the buffer 66 from the L2 cache to the L1 cache is counted. The performance evaluation result 174 or the logic evaluation result 173 including the counted number is stored in the storage area 170.

(手順3)図3のステップS12及びS13、図5のステップS32及びS33に相当
上述した手順2でカウントした回数と、設計データ171から得られるメモリシステム200の構成情報に基づいて、理論上L1キャッシュを構成するRAMへのアクセス回数Nを計算する。アクセス種別毎の、Read回数M(R1)、write回数M(W1)を取得する。計算方法は、例えば、図7を参照しつつ下記の手順で示される。図7は、適用例における計算方法(手順3)を説明するための図である。
(Procedure 3) Corresponds to steps S12 and S13 in FIG. 3 and steps S32 and S33 in FIG. 5 and theoretically based on the number of times counted in the procedure 2 described above and the configuration information of the memory system 200 obtained from the design data 171. The number of accesses N to the RAM constituting the cache is calculated. The number of reads M (R1) and the number of writes M (W1) are acquired for each access type. The calculation method is shown in the following procedure with reference to FIG. FIG. 7 is a diagram for explaining a calculation method (procedure 3) in the application example.

L1キャッシュの動作に関して、下記のケースを考える。(a)、(b)、及び(c)のL1キャッシュへのloadの場合、(d)、(e)、及び(f)のstoreとなる。図8に、図7の(a)から(f)に対応するL1キャッシュの動作を示す。図7及び図8を参照しつつ、以下に計算方法(手順3)を、図7及び図8に対応させて(a)から(f)に詳述する。   Consider the following case for L1 cache operation. In the case of load to the L1 cache of (a), (b), and (c), the store is (d), (e), and (f). FIG. 8 shows the operation of the L1 cache corresponding to (a) to (f) of FIG. With reference to FIGS. 7 and 8, the calculation method (procedure 3) will be described in detail from (a) to (f) in correspondence with FIGS. 7 and 8.

(a)loadで、L1キャッシュにヒットした場合
L1キャッシュを構成するRAMに対して、初期のn回のreadアクセスで済む。CPU69は、L1キャッシュからデータを取得する。
(A) When L1 cache is hit by load, initial read access to the RAM constituting the L1 cache is sufficient. The CPU 69 acquires data from the L1 cache.

動作回数は、初期のreadアクセスの1回となる。図6に示すように、L1キャッシュはn個のウェイで構成されるため、loadの場合に、タグ情報を読むと同時に、nウェイ個のデータラインも同時に読み出して、その後、ヒットかミスかを示す情報に基づき、マルチプレクサで必要なデータを選ぶ。その時、L1キャッシュを構成するnウェイ個のRAMに対して、同時に1回のアクセスが発生しているので、初期でn回のreadアクセス(1回*n(way))が必要となる。   The number of operations is one for the initial read access. As shown in FIG. 6, since the L1 cache is composed of n ways, in the case of load, the tag information is read and at the same time the n way data lines are read at the same time. Based on the information shown, the required data is selected by the multiplexer. At that time, since n-way RAMs constituting the L1 cache are accessed once at the same time, n read accesses (1 * n (way)) are required in the initial stage.

(b)loadで、L1キャッシュでミスした場合
まず、L1キャッシュのヒット/ミス判定時の初期のreadアクセスがn回必要となる。その次に、L2キャッシュからデータを読み出して、対応するL1キャッシュの書き換え対象のデータラインに書き込む必要がある。書き換え対象のデータラインの旧データがcleanである場合に(若しくは空)、旧データは上書き可能であるので、CPU69は、L2キャッシュから1回のMOVE INで書き換え対象のデータラインに新データを書き込む。
(B) When a load misses in the L1 cache First, the initial read access at the time of L1 cache hit / miss determination is required n times. Next, it is necessary to read data from the L2 cache and write it to the data line to be rewritten in the corresponding L1 cache. When the old data of the data line to be rewritten is clean (or empty), the old data can be overwritten, so the CPU 69 writes new data to the data line to be rewritten from the L2 cache with one MOVE IN. .

動作回数は、初期のreadアクセスのn回と、MOVE INによるwriteアクセスの1回となる。L1キャッシュでミスした場合に、L2キャッシュから持ってきたデータは直接にloadオーダー先(プロセッサなど)に渡すと同時に、通常、L1キャッシュにも書き込まれる。そのデータは近いうちに使われる可能性か高いからである。下記(c)に関しても同様である。   The number of operations is n times of initial read access and one time of write access by MOVE IN. When there is a miss in the L1 cache, the data brought from the L2 cache is directly transferred to the load order destination (processor or the like) and is usually written to the L1 cache. This is because the data is likely to be used soon. The same applies to (c) below.

(c)loadで、L1キャッシュにミスした場合
まず、L1キャッシュのヒット/ミス判定時の初期のreadアクセスがn回必要となる。その次に、L2キャッシュからデータを読み出して、対応するL1キャッシュの書き換え対象のデータラインに書き込む必要がある。書き換え対象のデータラインの旧データがdirtyとなる場合に、CPU69は、旧データをMOVE OUTでL2キャッシュに一回書き戻してから、書き換え対象のデータラインにL2キャッシュから読み出した新データを書き込む。
(C) When L1 cache is missed by load First, initial read access at the time of L1 cache hit / miss determination is required n times. Next, it is necessary to read data from the L2 cache and write it to the data line to be rewritten in the corresponding L1 cache. When the old data of the data line to be rewritten becomes dirty, the CPU 69 writes the old data once to the L2 cache with MOVE OUT, and then writes the new data read from the L2 cache to the data line to be rewritten.

但し、初期のreadアクセスで旧データをバッファ66に格納し、MOVE OUTではL1キャッシュからでなく、バッファ66からL2キャッシュに書き込む場合を想定すると、L1キャッシュに対してMOVE OUTによる1回のreadアクセスを無視する。   However, assuming that the old data is stored in the buffer 66 by the initial read access and the MOVE OUT is written from the buffer 66 to the L2 cache instead of from the L1 cache, one read access by the MOVE OUT to the L1 cache is assumed. Is ignored.

動作回数は、初期のreadアクセスのn回と、MOVE INによるwriteアクセスの1回となる。L1キャッシュのヒット/ミス判定の際に読み出したデータをバッファ66に格納してL2キャッシュに書き戻すため、L1キャッシュに対してMOVE OUTによる1回のreadアクセスは無視される。   The number of operations is n times of initial read access and one time of write access by MOVE IN. Since the data read at the time of hit / miss determination of the L1 cache is stored in the buffer 66 and written back to the L2 cache, one read access by MOVE OUT to the L1 cache is ignored.

(d)storeで、L1キャッシュにヒットした場合
L1キャッシュのヒット/ミス判定で、L1キャッシュを構成するRAMに対して初期のreadアクセスがn回必要となる。その後、CPU69によるstoreデータの書き込みで、対象となるウェイへの1回のwriteアクセスとなる。
(D) When L1 cache is hit in store In the L1 cache hit / miss determination, the initial read access to the RAM constituting the L1 cache is required n times. After that, when the store data is written by the CPU 69, one write access to the target way is performed.

動作回数は、初期のreadアクセスのn回と、storeデータの書き込みによるwriteアクセスの1回となる。storeデータはL1キャッシュのヒット/ミス判定時に読み出したデータとマージして、L1キャッシュに書き戻す。   The number of operations is n times of initial read access and one time of write access by writing store data. The store data is merged with the data read at the time of hit / miss determination of the L1 cache and written back to the L1 cache.

(e)storeで、L1キャッシュでミスした場合
まず、L1キャッシュのヒット/ミス判定で、L1キャッシュを構成するRAMに対して初期のreadアクセスがn回必要となる。その後、CPU69は、対応データラインのデータをバッファ66に格納し、storeデータに対応する箇所を更新して、L1キャッシュに書き込む。L1キャッシュの書き込み対象のデータラインの旧データがcleanとなる場合には、旧データをL2キャッシュに書き戻す必要がない。
(E) When the L1 cache misses in the store First, in the L1 cache hit / miss determination, the initial read access to the RAM constituting the L1 cache is required n times. Thereafter, the CPU 69 stores the data of the corresponding data line in the buffer 66, updates the location corresponding to the store data, and writes it in the L1 cache. When the old data of the data line to be written in the L1 cache is clean, it is not necessary to write the old data back to the L2 cache.

動作回数は、初期のreadアクセスのn回と、storeデータの書き込みによるwriteアクセスの1回となる。Storeの場合、L2キャッシュからL1キャッシュのMOVE INとなるデータラインに存在するデータを一旦バッファ66に格納して、storeデータの部分を更新してL1キャッシュに書き込むため、storeデータの書き込みとMOVE INデータの書き込みは、合わせて1回のwriteアクセスとしてカウントされる。従って、L1キャッシュに対してそのMOVE INによる1回のwriteアクセスは無視される。   The number of operations is n times of initial read access and one time of write access by writing store data. In the case of the Store, the data existing in the data line that becomes the MOVE IN of the L1 cache from the L2 cache is temporarily stored in the buffer 66, and the store data part is updated and written to the L1 cache. Data writing is counted as one write access. Therefore, one write access by the MOVE IN to the L1 cache is ignored.

(f)storeで、L1キャッシュでミスした場合
まず、L1キャッシュのヒット/ミス判定で、L1キャッシュを構成するRAMに対して初期のreadアクセスがn回必要となる。その後、CPU69は、対応データラインのデータをバッファ66に格納し、storeデータに対応する箇所を更新して、L1キャッシュに書き込む。L1キャッシュの書き込む対象のラインの旧データがdirtyとなる場合には、MOVE OUTで旧データをL2キャッシュに書き戻す必要がある。
(F) When the L1 cache misses in the store First, in the L1 cache hit / miss determination, the initial read access to the RAM constituting the L1 cache is required n times. Thereafter, the CPU 69 stores the data of the corresponding data line in the buffer 66, updates the location corresponding to the store data, and writes it in the L1 cache. When the old data of the line to be written in the L1 cache becomes dirty, it is necessary to write the old data back to the L2 cache with MOVE OUT.

動作回数は、初期のreadアクセスのn回と、storeデータの書き込みによるwriteアクセスの1回となる。L1キャッシュのヒット/ミス判定の際に読み出したデータをバッファ66に格納してL2キャッシュに書き戻すため、L1キャッシュに対してMOVE OUTによる1回のreadアクセスは無視される。また、Storeの場合、L2キャッシュからL1キャッシュのMOVE INとなるデータラインに存在するデータを一旦バッファ66に格納して、storeデータの部分を更新してL1キャッシュに書き込むため、storeデータの書き込みとMOVE INデータの書き込みは、合わせて1回のwriteアクセスとしてカウントされる。従って、L1キャッシュに対してそのMOVE INによる1回のwriteアクセスは無視される。   The number of operations is n times of initial read access and one time of write access by writing store data. Since the data read at the time of hit / miss determination of the L1 cache is stored in the buffer 66 and written back to the L2 cache, one read access by MOVE OUT to the L1 cache is ignored. In the case of Store, since data existing in the data line that becomes MOVE IN of the L1 cache from the L2 cache is temporarily stored in the buffer 66 and the store data portion is updated and written to the L1 cache, Writing MOVE IN data is counted as one write access. Therefore, one write access by the MOVE IN to the L1 cache is ignored.

上述したRAMに係るアクセス情報に基づいて、下記のように変数を設定する。   Based on the access information related to the RAM described above, variables are set as follows.

・Load回数を、変数Lに設定する
・store回数を、変数Sに設定する
・L1キャッシュのstoreミス率を、MW1%に設定する
・L1キャッシュに対するMOVE IN回数を、MI1に設定する
・L1キャッシュに対するMOVE OUT回数を、MO1に設定する
そして、メモリシステム200において、そのnウェイのL1キャッシュに関して、
L1キャッシュの理論上のreadアクセス回数は、
N(R1) = n×(L + S) (1)
によって計算される。また、L1キャッシュの理論上のwriteアクセス回数は、
N(W1) = S + MI1 − S×MW1% (2)
によって計算される。
-Set Load count to variable L-Set store count to variable S-Set L1 cache store miss rate to MW 1%-Set MOVE IN count to L1 cache to MI1-L1 cache And set the number of MOVE OUT times for MO1 to MO1 and in memory system 200 for that n-way L1 cache,
The theoretical number of read accesses for the L1 cache is
N (R1) = n × (L + S) (1)
Calculated by The theoretical number of write accesses for the L1 cache is
N (W1) = S + MI1−S × MW1% (2)
Calculated by

(手順4)図3のステップS22〜S24、図5のステップS34〜S36に相当
上述した(手順1)で求めたRead回数M(R1)及びwrite回数M(W1)を、アクセス種別毎の実際のRAMマクロのアクセス数として取得し、上述した(手順3)の(f)の計算式(1)及び(2)で計算した論理的なreadアクセス回数N(R1)及び論理的なwriteアクセス回数N(W1)と夫々比較する。
(Procedure 4) Corresponds to Steps S22 to S24 in FIG. 3 and Steps S34 to S36 in FIG. 5. The logical read access count N (R1) and the logical write access count which are obtained as the number of accesses of the RAM macro and calculated by the above-described calculation formulas (1) and (2) of (f) in (Procedure 3). Compare with N (W1).

M(R1)>N(R1)であるか否かを判断することによって、M(R1)>N(R1)である場合に、L1キャッシュを構成するRAMに対して無駄なreadアクセスがあると判断することができる。   By judging whether M (R1)> N (R1) or not, if M (R1)> N (R1), there is a useless read access to the RAM constituting the L1 cache. Judgment can be made.

M(W1)>N(W1)であるか否かを判断することによって、M(W1)>N(W1)である場合に、L1キャッシュを構成するRAMに対して無駄なwriteアクセスがあると判断することができる。 By judging whether or not M (W1)> N (W1), if M (W1)> N (W1), there is a useless write access to the RAM constituting the L1 cache. Judgment can be made.

L1キャッシュとL2キャッシュとの構成に従って、L1キャッシュに係る無駄なアクセスの存在を判定する方法について説明したが、L2キャッシュと更に下位のメモリ間とのアクセスに関しても上記同様な方法によって、L2キャッシュの無駄アクセスを抽出することができる。   The method of determining the presence of useless access related to the L1 cache according to the configuration of the L1 cache and the L2 cache has been described. However, the access between the L2 cache and the lower-level memory can also be performed using the same method as described above. Unnecessary access can be extracted.

上述したように、本実施例では、RAMに対する必要最小限のアクセス回数の論理値を定めて(図3のステップS12、S13、S23、又は、図5のS32、S33、S34)、論理シミュレーションによる実際のRAMに対するアクセス回数と比較する(図3のS24、又は、図5のS36)。   As described above, in this embodiment, the logical value of the minimum necessary number of accesses to the RAM is determined (steps S12, S13, and S23 in FIG. 3 or S32, S33, and S34 in FIG. 5), and the logical simulation is performed. The actual number of accesses to the RAM is compared (S24 in FIG. 3 or S36 in FIG. 5).

従って、階層構造を有するメモリシステムであっても、下位メモリのMOVE IN/MOVE OUT回数を抽出しておくことで、メモリシステム全体で無駄なアクセスが存在するか否かを判定できる。無駄なアクセスが存在すると判定した場合には、無駄な電力が消費されていると判断することができる。   Therefore, even in a memory system having a hierarchical structure, it is possible to determine whether or not there is useless access in the entire memory system by extracting the number of MOVE IN / MOVE OUT times in the lower memory. When it is determined that useless access exists, it can be determined that useless power is consumed.

本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。   The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.

以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
記憶領域に格納される半導体集積回路を評価するための評価用プログラムを用いた第一のシミュレーションによって得られる、メモリへのアクセスに応じて該メモリ内での対象データに対するアクセスに係る回数情報を用いて、論理的なアクセス回数を計算する計算手段と、
前記評価用プログラムを用いて、前記記憶領域に格納される前記半導体集積回路の設計データに従った第二のシミュレーションによって、前記メモリへの実際のアクセス回数を取得する取得手段と、
前記実際のアクセス回数が前記論理的なアクセス回数より大きい場合、前記メモリに無駄な電力が有ると判定する無駄電力判定手段と
を有することを特徴とする半導体集積回路の低電力設計支援装置。
(付記2)
前記評価用プログラムを用いて、前記第一のシミュレーションを実行する性能評価シミュレータを有し、
前記評価用プログラムを用いて、前記設計データに従った前記第二のシミュレーションを実行する論理シミュレータを有することを特徴とする付記1記載の低電力設計支援装置。
(付記3)
前記設計データは、イベントカウンタを有し、
前記評価用プログラムを用いて、前記イベントカウンタを有する設計データに従って、前記第二のシミュレーションを含む前記第一のシミュレーションを実行する論理シミュレータを有し、
前記回数情報は、前記第一のシミュレーションにより前記イベントカウンタが動作することによって抽出され、
前記取得手段は、前記第一のシミュレーションから前記実際のアクセス回数を取得すること
を特徴とする付記1記載の低電力設計支援装置。
(付記4)
前記回数情報は、load/store回数、キャッシュミス率、MOVE IN/MOVE OUT回数を含むことを特徴とする付記1乃至3のいずれか一項記載の低電力設計支援装置。
(付記5)
前記メモリは、階層構造を有するキャッシュメモリであることを特徴とする付記1乃至4のいずれか一項記載の低電力設計支援装置。
(付記6)
前記アクセス回数は、前記メモリに対するreadアクセス回数とwriteアクセス回数であり、
前記無駄電力判定手段は、前記readアクセス回数とwriteアクセス回数の各々について、前記メモリの無駄な電力の有無を判定することを特徴とする付記1乃至5のいずれか一項記載の低電力設計支援装置。
(付記7)
記憶領域に格納される半導体集積回路を評価するための評価用プログラムを用いた第一のシミュレーションによって得られる、メモリへのアクセスに応じて該メモリ内での対象データに対するアクセスに係る回数情報を用いて、論理的なアクセス回数を計算し、
前記評価用プログラムを用いて、前記記憶領域に格納される前記半導体集積回路の設計データに従った第二のシミュレーションによって、前記メモリへの実際のアクセス回数を取得し、
前記実際のアクセス回数が前記論理的なアクセス回数より大きい場合、前記メモリに無駄な電力が有ると判定すること
をコンピュータが実行する半導体集積回路の低電力設計支援方法。
(付記8)
記憶領域に格納される半導体集積回路を評価するための評価用プログラムを用いた第一のシミュレーションによって得られる、メモリへのアクセスに応じて該メモリ内での対象データに対するアクセスに係る回数情報を用いて、論理的なアクセス回数を計算し、
前記評価用プログラムを用いて、前記記憶領域に格納される前記半導体集積回路の設計データに従った第二のシミュレーションによって、前記メモリへの実際のアクセス回数を取得し、
前記実際のアクセス回数が前記論理的なアクセス回数より大きい場合、前記メモリに無駄な電力が有ると判定すること
をコンピュータに実行させて半導体集積回路の低電力設計支援装置として機能させるためのプログラムを格納したコンピュータ読取可能な記憶媒体。
The following additional notes are further disclosed with respect to the embodiment including the above examples.
(Appendix 1)
Using frequency information related to access to target data in the memory according to the access to the memory, obtained by the first simulation using the evaluation program for evaluating the semiconductor integrated circuit stored in the storage area Calculating means for calculating the logical access count;
Using the evaluation program, acquisition means for acquiring the actual number of accesses to the memory by a second simulation according to design data of the semiconductor integrated circuit stored in the storage area;
A low-power design support apparatus for a semiconductor integrated circuit, comprising: a waste power determination unit that determines that there is waste power in the memory when the actual access number is larger than the logical access number.
(Appendix 2)
Using the evaluation program, having a performance evaluation simulator for executing the first simulation,
The low-power design support apparatus according to appendix 1, further comprising a logic simulator that executes the second simulation according to the design data using the evaluation program.
(Appendix 3)
The design data has an event counter;
Using the evaluation program, and having a logic simulator for executing the first simulation including the second simulation according to design data having the event counter,
The number information is extracted by operating the event counter by the first simulation,
The low-power design support apparatus according to appendix 1, wherein the acquisition unit acquires the actual number of accesses from the first simulation.
(Appendix 4)
The low-power design support apparatus according to any one of appendices 1 to 3, wherein the number information includes a load / store number, a cache miss rate, and a MOVE IN / MOVE OUT number.
(Appendix 5)
The low-power design support apparatus according to any one of appendices 1 to 4, wherein the memory is a cache memory having a hierarchical structure.
(Appendix 6)
The number of accesses is the number of read accesses and the number of write accesses to the memory,
The low power design support according to any one of appendices 1 to 5, wherein the waste power determination unit determines whether or not there is useless power in the memory for each of the number of read accesses and the number of write accesses. apparatus.
(Appendix 7)
Using frequency information related to access to target data in the memory according to the access to the memory, obtained by the first simulation using the evaluation program for evaluating the semiconductor integrated circuit stored in the storage area Calculate the number of logical accesses,
Using the evaluation program, the actual number of accesses to the memory is obtained by a second simulation according to design data of the semiconductor integrated circuit stored in the storage area,
A low-power design support method for a semiconductor integrated circuit, in which a computer determines that the memory has wasted power when the actual access count is larger than the logical access count.
(Appendix 8)
Using frequency information related to access to target data in the memory according to the access to the memory, obtained by the first simulation using the evaluation program for evaluating the semiconductor integrated circuit stored in the storage area Calculate the number of logical accesses,
Using the evaluation program, the actual number of accesses to the memory is obtained by a second simulation according to design data of the semiconductor integrated circuit stored in the storage area,
When the actual access count is larger than the logical access count, a program for causing a computer to determine that there is wasted power in the memory and causing the computer to function as a low power design support device for a semiconductor integrated circuit A stored computer-readable storage medium.

11 CPU
12 メモリユニット
13 表示ユニット
14 出力ユニット
15 入力ユニット
16 通信ユニット
17 記憶装置
18 ドライバ
19 記憶媒体
61 アドレスメモリ
62 比較器
63 AND回路
64 OR回路
65 n:1マルチプレクサ
66 バッファ
100 低電力設計支援装置
121 論理シミュレータ
123 性能評価シミュレータ
125 アクセス数計算部
126 無駄電力有無判定部
170 記憶領域
171 設計データ
172 評価用プログラム
173 論理評価結果
174 性能評価結果
175 実際のアクセス数
176 論理的なアクセス数
177 判定結果
11 CPU
12 memory unit 13 display unit 14 output unit 15 input unit 16 communication unit 17 storage device 18 driver 19 storage medium 61 address memory 62 comparator 63 AND circuit 64 OR circuit 65 n: 1 multiplexer 66 buffer 100 low power design support device 121 logic Simulator 123 Performance evaluation simulator 125 Access count calculation section 126 Waste power presence / absence determination section 170 Storage area 171 Design data 172 Evaluation program 173 Logic evaluation result 174 Performance evaluation result 175 Actual access count 176 Logical access count 177 Determination result

Claims (5)

記憶領域に格納される半導体集積回路を評価するための評価用プログラムを用いた第一のシミュレーションによって得られる、メモリへのアクセスに応じて該メモリ内での対象データに対するアクセスに係る回数情報を用いて、論理的なread回数及び論理的なwrite回数を計算する計算手段と、
前記評価用プログラムを用いて、前記記憶領域に格納される前記半導体集積回路の設計データに従った第二のシミュレーションによって、前記メモリへの実際のread回数及び実際のwrite回数を取得する取得手段と、
前記実際のread回数が前記論理的なread回数より大きい場合、又は、前記実際のwrite回数が前記論理的なwrite回数より大きい場合、前記メモリに無駄な電力が有ると判定する無駄電力判定手段と
を有することを特徴とする半導体集積回路の低電力設計支援装置。
Using frequency information related to access to target data in the memory according to the access to the memory, obtained by the first simulation using the evaluation program for evaluating the semiconductor integrated circuit stored in the storage area Calculating means for calculating the number of logical reads and the number of logical writes ;
Using the evaluation program, an acquisition means for acquiring an actual read count and an actual write count to the memory by a second simulation according to design data of the semiconductor integrated circuit stored in the storage area; ,
If the actual read times greater than the logical read count, or, if the actual write times larger than the logical write times, and wasteful power determination means for determining a wasteful power is in the said memory A low-power design support apparatus for a semiconductor integrated circuit, comprising:
前記評価用プログラムを用いて、前記第一のシミュレーションを実行する性能評価シミュレータを有し、
前記評価用プログラムを用いて、前記設計データに従った前記第二のシミュレーションを実行する論理シミュレータを有することを特徴とする請求項1記載の低電力設計支援装置。
Using the evaluation program, having a performance evaluation simulator for executing the first simulation,
The low-power design support apparatus according to claim 1, further comprising a logic simulator that executes the second simulation according to the design data using the evaluation program.
前記設計データは、イベントカウンタを有し、
前記評価用プログラムを用いて、前記イベントカウンタを有する設計データに従って、前記第一のシミュレーションを含む前記第二のシミュレーションを実行する論理シミュレータを有し、
前記回数情報は、前記第二のシミュレーションにより前記イベントカウンタが動作することによって抽出され、
前記取得手段は、前記第二のシミュレーションから前記実際のアクセス回数を取得すること
を特徴とする請求項1記載の低電力設計支援装置。
The design data has an event counter;
Using the evaluation program, and having a logic simulator for executing the second simulation including the first simulation according to design data having the event counter,
The number information is extracted by operating the event counter by the second simulation,
The low-power design support apparatus according to claim 1, wherein the acquisition unit acquires the actual number of accesses from the second simulation.
前記回数情報は、load/store回数、キャッシュミス率、MOVE
IN/MOVE OUT回数を含むことを特徴とする請求項1乃至3のいずれか一項記載の低電力設計支援装置。
The number information includes load / store number, cache miss rate, MOVE
The low power design support apparatus according to any one of claims 1 to 3, further comprising an IN / MOVE OUT count.
記憶領域に格納される半導体集積回路を評価するための評価用プログラムを用いた第一のシミュレーションによって得られる、メモリへのアクセスに応じて該メモリ内での対象データに対するアクセスに係る回数情報を用いて、論理的なread回数及び論理的なwrite回数を計算し、
前記評価用プログラムを用いて、前記記憶領域に格納される前記半導体集積回路の設計データに従った第二のシミュレーションによって、前記メモリへの実際のread回数及び実際のwrite回数を取得し、
前記実際のread回数が前記論理的なread回数より大きい場合、又は、前記実際のwrite回数が前記論理的なwrite回数より大きい場合、前記メモリに無駄な電力が有ると判定すること
をコンピュータが実行する半導体集積回路の低電力設計支援方法。
Using frequency information related to access to target data in the memory according to the access to the memory, obtained by the first simulation using the evaluation program for evaluating the semiconductor integrated circuit stored in the storage area And calculate the logical read count and logical write count,
Using the evaluation program, the second simulation according to the design data of the semiconductor integrated circuit stored in the storage area is used to obtain the actual number of reads and the actual number of writes to the memory,
If the actual number of reads is greater than the logical number of reads, or if the actual number of writes is greater than the logical number of writes , the computer executes a determination that there is wasted power in the memory A low power design support method for a semiconductor integrated circuit.
JP2011003459A 2011-01-11 2011-01-11 Low power design support apparatus and method for semiconductor integrated circuit Expired - Fee Related JP5609657B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011003459A JP5609657B2 (en) 2011-01-11 2011-01-11 Low power design support apparatus and method for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011003459A JP5609657B2 (en) 2011-01-11 2011-01-11 Low power design support apparatus and method for semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JP2012146099A JP2012146099A (en) 2012-08-02
JP5609657B2 true JP5609657B2 (en) 2014-10-22

Family

ID=46789605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011003459A Expired - Fee Related JP5609657B2 (en) 2011-01-11 2011-01-11 Low power design support apparatus and method for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP5609657B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6191240B2 (en) * 2013-05-28 2017-09-06 富士通株式会社 Variable update device, variable update system, variable update method, variable update program, conversion program, and program change verification system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154172A (en) * 1996-06-05 1998-06-09 Sharp Corp Power consumption detection system of integrated circuit and recording medium recording computer program calculating power consumption of integrated circuit
US7549069B2 (en) * 2006-03-15 2009-06-16 Fujitsu Limited Estimating software power consumption
JP5262442B2 (en) * 2008-08-27 2013-08-14 富士通株式会社 Design support program, design support apparatus, and design support method

Also Published As

Publication number Publication date
JP2012146099A (en) 2012-08-02

Similar Documents

Publication Publication Date Title
CN102498477B (en) TLB prefetching
US9223710B2 (en) Read-write partitioning of cache memory
CN105183663B (en) Pre-fetch unit and data prefetching method
US9195606B2 (en) Dead block predictors for cooperative execution in the last level cache
CN105701033A (en) Multi-mode set associative cache memory dynamically configurable to selectively select one or a plurality of its sets depending upon mode
CN105701030A (en) Dynamic cache replacement way selection based on address tag bits
US9201806B2 (en) Anticipatorily loading a page of memory
CN105701031A (en) Multi-mode set associative cache memory dynamically configurable to selectively allocate into all or subset or tis ways depending on mode
JP6478843B2 (en) Semiconductor device and cache memory control method
KR102161192B1 (en) Method and apparatus for data mining from core trace
CN102236541A (en) Preload instruction control
CN101645034B (en) Method and apparatus for detecting a data access violation
Pan et al. Caching-aware garbage collection to improve performance and lifetime for NAND flash SSDs
Daly et al. Cache restoration for highly partitioned virtualized systems
JP5609657B2 (en) Low power design support apparatus and method for semiconductor integrated circuit
CN101833517B (en) Quick memory system and its access method
JP5687603B2 (en) Program conversion apparatus, program conversion method, and conversion program
JP6877381B2 (en) Information processing equipment, information processing methods and programs
JP6873942B2 (en) Estimator, estimation method and program
Huber et al. WCET driven design space exploration of an object cache
WO2013114911A1 (en) Risk assessment system, risk assessment method, and program
Gawanmeh et al. Enhanced Not Recently Used Algorithm for Cache Memory Systems in Mobile Computing
Lee et al. Write buffer-oriented energy reduction in the L1 data cache for embedded systems
US10025717B1 (en) Multi-dimensional prefetching
Guo et al. Application performance prediction method based on cross-core performance interference on multi-core processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140818

R150 Certificate of patent or registration of utility model

Ref document number: 5609657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees