(57)【要約】      （修正有）【課題】低消費電力で動作可能なマイクロプロセッサとこれを短期間で設計できるマイクロプロセッサ設計プログラム及びマイクロプロセッサ設計装置を提供する。【解決手段】マイクロプロセッサ設計プログラムは実行プログラム毎になされるアドレス領域の指定に応じて実行プログラムの各々を当該指定されたアドレス領域に記憶する実行プログラム記憶手段Ｓ３１と、アドレス領域の各々について演算処理部がアクセスした通算回数を計数するアクセス回数通算手段Ｓ３２と、実行プログラムの名称を前記通算回数に基づいた順番にて出力する実行プログラム名出力手段Ｓ３３とを含む。マイクロプロセッサは通算回数の多いアドレス領域の各々に記憶されていた実行プログラムの各々をメモリ領域内に近接若しくは連続するアドレス領域の各々に蓄積している。【選択図】図３
2008242731.tif 000002
【特許請求の範囲】
【請求項１】
複数のアドレス領域からなるメモリと前記アドレス領域の内の何れかにアクセスして当該アクセスしたアドレス領域に記憶されている実行プログラムの命令を実行する演算処理部とを含むマイクロプロセッサを設計するマイクロプロセッサ設計プログラムであって、
前記実行プログラム毎になされるアドレス領域の指定に応じて前記実行プログラムの各々を当該指定されたアドレス領域に記憶する実行プログラム記憶手段と、
前記アドレス領域の各々について前記演算処理部がアクセスした通算回数を計数するアクセス回数通算手段と、
前記実行プログラムの名称を前記通算回数に基づいた順番にて出力する実行プログラム名出力手段とを含むことを特徴とするマイクロプロセッサ設計プログラム。
【請求項２】
請求項１に記載のマイクロプロセッサ設計プログラムを実装し、
前記実行プログラム名出力手段によって出力された実行プログラムの名称を文字表示する実行プログラム名表示手段を含むことを特徴とするマイクロプロセッサ設計装置。
【請求項３】
メモリ識別子毎に記憶容量の情報を対応付けたデータベースと、
前記通算回数の多いアドレス領域の各々に記憶されている実行プログラムの各々に対応付けられている名称を前記データベースにおいて他の記憶容量よりも小さい記憶容量が対応付けられているメモリ識別子に対応付けて出力すると共に前記通算回数の多いアドレス領域以外のアドレス領域の各々に記憶されている実行プログラムの各々に対応付けられている名称を前記データベースにおいて前記小さい記憶容量よりも大きい記憶容量が対応付けられている少なくとも１のメモリ識別子に対応付けて出力するメモリ別実行プログラム名出力手段と、を含むことを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項４】
前記通算回数の多いアドレス領域の各々に記憶している実行プログラムを記憶した小容量内部メモリと、前記通算回数の多いアドレス領域以外のアドレス領域の各々に記憶している実行プログラムを記憶してかつ前記小容量内部メモリよりも容量の大きい少なくとも１の通常内部メモリとを含むことを特徴とする請求項１に記載のマイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロプロセッサと、これを設計するマイクロプロセッサ設計プログラム及びマイクロプロセッサ設計装置に関する。
【背景技術】
【０００２】
近年、用途に応じて最適に動作するマイクロプロセッサを短期間で設計することを目的とした設計環境、設計システム、設計支援プログラムあるいは設計支援装置が提案されている。これらは主に、冗長処理や不要な機能の削減などによる演算処理の高速化、演算処理を行うプログラムの障害の発見及び修正などマイクロプロセッサの演算処理性能の向上を目的としている。例えば特許文献１には、マイクロプロセッサにバイトコード命令を実行させる２つの処理命令実行部を有し、実行頻度が高いバイトコード命令を第１の処理命令実行部が処理し、比較的実行頻度が低いバイトコード命令を第２の処理命令実行部が処理することにより、実行頻度が高いバイトコード命令を優先的かつ高速に実行して演算処理性能を向上させることを目的としたシステム、方法及びプログラムが開示されている。
【特許文献１】特開２００３−２０２９９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところでマイクロプロセッサの演算処理性能の向上とは別に、マイクロプロセッサの低消費電力化が要望されている。マイクロプロセッサは演算処理やメモリへのアクセスなどによって電力を消費する。通常、マイクロプロセッサの消費電力が大きくなるに従い発熱量や電源ノイズ量が増加するため、これらへの対策として冷却装置を大型化させたり、マイクロプロセッサ周辺に配置するコンデンサの数量を増加させたりしなければならないという問題が生じる。これらの問題を回避するためにもマイクロプロセッサが消費する電力を低減させることは重要である。
【０００４】
しかしながら、例えば特許文献１に開示されるシステムがそうであるように従来技術の多くは演算処理の性能向上に比重が置かれている。一方、演算処理を効率化することによって消費電力を低減する方法も考えられる。演算処理効率化の手段としては例えば冗長処理や不要な機能の削除などが挙げられるが、これらを実際に行うには多くの時間を要する。また、これらの手段による効率化の効果は限られており、演算処理の効率化による低消費電力化にも限界がある。
【０００５】
本発明は上記した如き問題点に鑑みてなされたものであって、低消費電力で動作可能なマイクロプロセッサとこれを短期間で設計できるマイクロプロセッサ設計プログラム及びマイクロプロセッサ設計装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明によるマイクロプロセッサ設計プログラムは、複数のアドレス領域からなるメモリと前記アドレス領域の内の何れかにアクセスして当該アクセスしたアドレス領域に記憶されている実行プログラムの命令を実行する演算処理部とを含むマイクロプロセッサを設計するマイクロプロセッサ設計プログラムであって、前記実行プログラム毎になされるアドレス領域の指定に応じて前記実行プログラムの各々を当該指定されたアドレス領域に記憶する実行プログラム記憶手段と、前記アドレス領域の各々について前記演算処理部がアクセスした通算回数を計数するアクセス回数通算手段と、前記実行プログラムの名称を前記通算回数に基づいた順番にて出力する実行プログラム名出力手段とを含むことを特徴とする。
【０００７】
本発明によるマイクロプロセッサ設計装置は、請求項１に記載のマイクロプロセッサ設計プログラムを実装し、前記実行プログラム名出力手段によって出力された実行プログラムの名称を文字表示する実行プログラム名表示手段を含むことを特徴とする。
【０００８】
本発明によるマイクロプロセッサは、通算回数の多いアドレス領域の各々に記憶されていた実行プログラムの各々を前記メモリ内に互いに近接若しくは連続するアドレス領域の各々に蓄積していることを特徴とする。
【発明を実施するための最良の形態】
【０００９】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
【００１０】
図１はマイクロプロセッサ１の構成の一例をプログラム用外部メモリ７とデータ用外部メモリ８と共に表すブロック図である。
【００１１】
マイクロプロセッサ１は、演算処理部２と、プログラムバス３と、データバス４と、プログラム用通常内部メモリ５−１及び５−２と、プログラム用小容量内部メモリ５−３と、データ用内部メモリ６−１〜ｍとを含む（ここでのｍは正整数）。
【００１２】
演算処理部２はプログラム用通常内部メモリ５−１、５−２、プログラム用小容量内部メモリ５−３、データ用内部メモリ６−１〜ｍ、プログラム用外部メモリ７及びデータ用外部メモリ８にアクセスして、これらに記憶されている実行プログラムを実行する機能を有する。演算処理部２はプログラムバス３を経由してプログラム用通常内部メモリ５−１及び５−２、プログラム用小容量内部メモリ５−３及びプログラム用外部メモリ７にアクセスする。また、演算処理部２はデータバス４を経由してデータ用内部メモリ６−１〜ｍ及びデータ用外部メモリ８にアクセスする。
【００１３】
プログラム用内部メモリ５−１、５−２、プログラム用小容量内部メモリ５−３及びプログラム用外部メモリ７の各々はマイクロプロセッサ１が実行するための実行プログラムを記憶している。ここでの実行プログラムとは例えばＣ、Ｃ＋＋言語などで記述されたソースコードをコンパイルした後のプログラムである。また、ここでの実行プログラムは例えばフィルタ演算関数などの機能を実現できる。プログラム用通常内部メモリ５−１及び５−２は通常サイズの容量を有するプログラム用内部メモリである。また、プログラム用小容量内部メモリ５−３は、プログラム用通常内部メモリ５−１及び５−２よりも容量が小さいプログラム用内部メモリであり、同図中においてはプログラム用通常内部メモリ５−１及び５−２よりも小さいサイズで表されている。例えばプログラム用通常内部メモリ５−１は容量５００ｎＦ、プログラム用通常内部メモリ５−２は容量４００ｎＦ、プログラム用小容量内部メモリ５−３は容量１００ｎＦなどというようにそれぞれ容量値が異なる。なお、本実施例においてはプログラム用通常内部メモリを２つ、プログラム用小容量内部メモリを１つとしているが、本発明にはかかるプログラム用通常内部メモリ数及びプログラム用小容量内部メモリ数の制限は無い。
【００１４】
データ用内部メモリ６−１〜ｍ及びデータ用外部メモリ８の各々はマイクロプロセッサ１がプログラムを実行するときに参照するデータを記憶している。ここでのデータとは例えばプログラムで使用する初期値や定数などである。
【００１５】
プログラム用外部メモリ７はマイクロプロセッサ１の外部に実装されるメモリである。通常、プログラム用外部メモリ７には演算処理部２による実行頻度の少ない実行プログラムが記憶される。データ用外部メモリ８はマイクロプロセッサ１の外部に実装されるメモリである。通常、データ用外部メモリ８には演算処理部２によるアクセス回数少ない初期値や定数などのデータが記憶される。
【００１６】
図２は実行プログラムを記憶するメモリ領域の一例を表す図である。ここではメモリのアドレスを仮に０ｘ００００〜０ｘ９０００とする。
【００１７】
通常、実行プログラムを記憶するメモリ領域は複数のアドレス領域２１−１〜２１−ｓからなる（ここでのｓは正整数）。アドレス領域２１−１〜２１−ｓの各々は同じ大きさでなくても良い。通常、アドレス領域２１−１〜２１−ｓの各々には実行プログラムが記憶されている。例えばアドレス領域２１−１０にはフィルタ演算関数、アドレス領域２１−１５にはループ処理関数などといったように、通常、アドレス領域２１−１〜２１−ｓの各々に記憶される実行プログラムが実現する機能は互いに異なる。
【００１８】
なお、同図のメモリ領域は最終的に実装されるハードウェアとしてのメモリ領域を示すものではなく、マイクロプロセッサ設計プログラムを実行するコンピュータ内の仮想的なメモリ領域である。
【００１９】
図３はマイクロプロセッサ設計プログラムの処理ルーチンの一例を表すフローチャートである。
【００２０】
マイクロプロセッサ設計プログラムは、実行プログラム記憶手段（Ｓ３１）と、アクセス回数通算手段（Ｓ３２）と、実行プログラム名出力手段（Ｓ３３）と、を含む。
【００２１】
実行プログラム記憶手段は、実行プログラム毎になされるアドレス領域の指定に応じて実行プログラムの各々を当該指定されたアドレス領域に記憶する。マイクロプロセッサ１の設計者が実行プログラム毎にアドレス領域を指定する。例えばマイクロプロセッサ設計プログラムを実装した装置に付属する入力装置（図示せず）などを用いてアドレス領域を指定する。例えば図２に表されるメモリ領域のアドレス領域２１−１０にはフィルタ演算関数、アドレス領域２１−１５にはループ処理関数など、アドレス領域２１−１〜２１−ｓの各々に実行プログラムが記憶される。
【００２２】
アクセス回数通算手段は、アドレス領域の各々について演算処理部２がアクセスした通算回数を計数する。アクセス回数通算手段は、通常、演算処理部２がアドレス領域にアクセスしつつ実行プログラムを実行するのに併行して通算回数を計数する。アドレス領域の各々には通常、互いに異なる機能を実現する実行プログラムが記憶されている。実行プログラムの各々が実現する機能が互いに異なるため、通常、アドレス領域毎に演算処理部２がアクセスする回数が異なる。例えば、演算処理部２がフィルタ演算関数を使用する頻度が高い場合、フィルタ演算関数が記憶されているアドレス領域２１−１０に演算処理部２がアクセスする通算回数（以下、アクセス通算回数と称する）が多くなる。
【００２３】
実行プログラム名出力手段は、実行プログラムの名称をアクセス通算回数に基づいた順番にて出力する。実行プログラムの名称は予めマイクロプロセッサ１内に記憶しておく。実行プログラム名出力手段は、例えばアドレス領域に記憶されている実行プログラムの名称をアクセス通算回数の多いものから順に出力する。また、マイクロプロセッサ設計プログラムを実装した装置は、実行プログラム名出力手段によって出力された実行プログラムの名称を文字表示する実行プログラム名表示手段を含む。実行プログラムの名称が文字表示されるため、マイクロプロセッサ１の設計者は、アドレス領域に記憶されている実行プログラムの名称を例えばアクセス通算回数の多いものから順に確認できる。
【００２４】
図４はマイクロプロセッサ設計プログラムによるマイクロプロセッサ１の設計フローの一例を表すフローチャートである。以下に図４を参照しつつマイクロプロセッサ１の設計フローについて説明する。
【００２５】
先ず、マイクロプロセッサ１の設計者は例えばＣ、Ｃ＋＋などのプログラミング言語でマイクロプロセッサ１のソースコードを作成する（Ｓ４１）。次に一般的なコンパイル手段などを用いてソースコードを実行プログラムに変換する（Ｓ４２）。続いて、マイクロプロセッサ１の設計者は実行プログラム毎にアドレス領域を指定する。
【００２６】
マイクロプロセッサ設計プログラムの実行プログラム記憶手段は実行プログラムの各々を指定されたアドレス領域に記憶する（Ｓ４３）。アドレス領域２１−１〜ｎの各々に異なる実行プログラムが記憶されるが、ここでは一例として、アドレス領域２１−１０にフィルタ演算関数、アドレス領域２１−１５にループ処理関数、アドレス領域２１−３０に積分演算関数、アドレス領域２１−５０に文字列処理関数がそれぞれ記憶されたものとする。
【００２７】
マイクロプロセッサ設計プログラムのアクセス回数通算手段は、演算処理部２がアドレス領域２１−１〜ｎにアクセスしつつ実行プログラムを実行するのに併行して、アドレス領域の各々について演算処理部２がアクセスした通算回数を計数する（Ｓ４４）。ここでの演算処理部２は通算でアドレス領域２１−１０に１０００回、アドレス領域２１−１５に８００回、アドレス領域２１−３０に６００回、アドレス領域２１−５０に５００回、それぞれアクセスしたものとする。また、これらのアドレス領域２１−１０、２１−１５、２１−３０及び２１−５０が、全てのアドレス領域２１−１〜２１−ｎの中でアクセス通算回数が多い上位４者であるとする。
【００２８】
マイクロプロセッサ設計プログラムの実行プログラム名出力手段は、実行プログラムの名称をアクセス通算回数に基づいた順番にて出力する（Ｓ４５）。ここでは、実行プログラム名出力手段はアドレス領域に記憶されている実行プログラムの名称をアクセス通算回数の多いものから順に出力する。また、マイクロプロセッサ設計プログラムを実装した装置は、実行プログラム名表示手段によって実行プログラムの名称を文字表示する。図５は実行プログラムの名称の表示例を表す図である。ここでの実行プログラム名表示手段は実行プログラムの名称としてアクセス通算回数の多い順、すなわち、フィルタ演算関数、ループ処理関数、積分演算関数、文字列処理関数の順に表示する。図５はこのとき実行プログラムの名称と併せてアクセス通算回数を文字表示した場合の例である。なお、これらと併せてアドレス領域も同時に文字表示しても良い。
【００２９】
実行プログラムの名称が文字表示されるため、マイクロプロセッサ１の設計者は実行プログラムの名称をアクセス通算回数の多いものから順に確認できる。マイクロプロセッサ１の設計者は表示された結果に基づいて実行プログラムをアドレス領域に記憶し直すか否かを判断する（Ｓ４６）。なお、通常、実行プログラムを記憶し直すアドレス領域は現状のアドレス領域２１−１〜ｎとは異なる大きさに再度メモリ領域を分割して作成した新しいアドレス領域である。
【００３０】
現状、図２に表されるようにアクセス通算回数の多いアドレス領域２１−１０、２１−１５、２１−３０及び２１−５０は、メモリ領域内に分散している。マイクロプロセッサ１の設計者は通算回数の多いアドレス領域の各々に記憶されていた実行プログラムの各々をメモリ領域内に近接若しくは連続するアドレス領域の各々に集約して記憶させる。ここでは設計者がアクセス通算回数の多いアドレス領域２１−１０、２１−１５、２１−３０及び２１−５０の各々に記憶されているフィルタ演算関数、ループ処理関数、積分演算関数及び文字列処理関数をメモリ領域内の一部に連続するアドレス領域の各々に集約して記憶し直すと判断したとする。マイクロプロセッサ１の設計者は実行プログラム記憶手段により再度実行プログラムを所望のアドレス領域に記憶させることができる（Ｓ４３）。
【００３１】
図６は実行プログラム記憶手段により実行プログラムを記憶し直したときのメモリ領域の一例を表す図である。このときのメモリ領域は複数のアドレス領域６１−１〜ｔからなる（ここでのｔは正整数）。ここでの実行プログラム記憶手段はアドレス領域６１−１にフィルタ演算関数、アドレス領域６１−２にループ処理関数、アドレス領域６１−３に積分演算関数、アドレス領域６１−４に文字列処理関数をそれぞれ記憶したものとする。なお、同図のメモリ領域は最終的に実装されるハードウェアとしてのメモリ領域を示すものではなく、マイクロプロセッサ設計プログラムを実行するコンピュータ内の仮想的なメモリ領域である。
【００３２】
これら実行プログラムを記憶し直す処理（Ｓ４３）に続いて、アドレス領域６１−１〜ｔの各々へのアクセス通算回数の計数（Ｓ４４）及びアクセス通算回数に基づいた実行プログラム名の出力（Ｓ４５）が同様になされる。マイクロプロセッサ１の設計者が実行プログラムをアドレス領域に記憶し直す必要がないと判断すれば、マイクロプロセッサ１内にプログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３を実装する（Ｓ４７）。
【００３３】
例えば図２に表されるようにメモリ領域を０ｘ００００〜０ｘ３０００、０ｘ３００１〜０ｘ６０００及び０ｘ６００１〜０ｘ９０００の３つに分割したとする。メモリ領域０ｘ００００〜０ｘ３０００にはアドレス領域２１−３１〜ｓ、メモリ領域０ｘ３００１〜０ｘ６０００にはアドレス領域２１−１５〜３０、メモリ領域０ｘ６００１〜０ｘ９０００にはアドレス領域２１−１〜１４が含まれる。アドレス領域２１−３１〜ｓに記憶されている実行プログラムはプログラム用通常内部メモリ５−１に、アドレス領域２１−１５〜３０に記憶されている実行プログラムはプログラム用通常内部メモリ５−２に、アドレス領域２１−１〜１４に記憶されている実行プログラムはプログラム用小容量内部メモリ５−３に記憶されているとする。この場合、アクセス通算回数の多いフィルタ演算関数がプログラム用小容量内部メモリ５−３に、ループ処理関数及び積分演算関数がプログラム用通常内部メモリ５−２に、文字列処理関数がプログラム用通常内部メモリ５−１に、それぞれ記憶される。したがって、演算処理部２はプログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３に頻繁にアクセスすることになる。通常、演算処理部２が頻繁にアクセスするメモリの個数が多い程、また、アクセスするメモリの記憶容量が大きい程、マイクロプロセッサ１が消費する電力が大きくなる。上記した如くマイクロプロセッサ内にプログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３に実装すると、演算処理部２が頻繁にアクセスする内部メモリの個数はプログラム用内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３の３つであり、かつ、プログラム用内部メモリ５−１及び５−２の各々は上記した関数４以外にも実行プログラムを記憶しておりプログラム用小容量内部メモリ５−３よりも記憶容量が大きいため、マイクロプロセッサ１全体での消費電力が大きくなる。
【００３４】
例えば図６に表されるようにメモリ領域を０ｘ００００〜０ｘ４０００、０ｘ４００１〜０ｘ８０００及び０ｘ８００１〜０ｘ９０００の３つに分割したとする。メモリ領域０ｘ００００〜０ｘ４０００にはアドレス領域６１−３６〜ｔ、メモリ領域０ｘ４００１〜０ｘ８０００にはアドレス領域６１−５〜３５、メモリ領域０ｘ８００１〜０ｘ９０００にはアドレス領域６１−１〜４が含まれる。
【００３５】
図1に示されるプログラム用小容量内部メモリ５−３はプログラム用通常内部メモリ５−１及び５−２よりも容量が小さいため、プログラム用小容量内部メモリ５−３のデータにアクセスするために消費する電力は、プログラム用通常内部メモリ５−１及び５−２のデータにアクセスするために消費する電力よりも低い。例えば、図６に示されるアドレス領域６１−１〜４に記憶されている実行プログラムをプログラム用小容量内部メモリ５−３に記憶したとすると、アクセス通算回数の多いフィルタ演算関数、ループ処理関数、積分演算関数及び文字列処理関数の全てがプログラム用小容量内部メモリ５−３に記憶される。この場合、演算処理部２が頻繁にアクセスするのはプログラム用小容量内部メモリ５−３のみになり、マイクロプロセッサ１全体での消費電力を低減できる。
【００３６】
上述の如くマイクロプロセッサ１の設計者がプログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３の個数や記憶容量を決定して実行プログラムをこれらに振分けることもできるが、マイクロプロセッサ設計プログラムがプログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３の個数や記憶容量などのメモリ構成を決定して出力することもできる。この場合、プログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３のハードウェア情報をマイクロプロセッサ設計プログラムに入力できるようにしておく。ここでのハードウェア情報とは例えば記憶容量、実装面積、消費電力などである。入力されたハードウェア情報はマイクロプロセッサ設計プログラム内にデータベースとして記憶される。
【００３７】
図７はプログラム用内部メモリのハードウェア情報のデータベースの一例を表す図である。「メモリ識別子」に示されるＭ５−１、Ｍ５−２及びＭ５−３はプログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３の各々を識別するための識別子を表す。「ハードウェア情報」はプログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３の各々に対応付けられたハードウェア情報であり、ここでは一例として記憶容量、実装面積、消費電力の３項目に分かれている。マイクロプロセッサ設計プログラムは演算処理部２によるアクセス通算回数が多い実行プログラムの一群を、当該データベースにおける他の記憶容量と比較して小さい記憶容量が対応付けられているメモリ識別子（ここでは記憶容量１００ｎＦに対応付けられているＭ５−３）に対応付けた形式でメモリ構成を出力するのが好ましい。
【００３８】
図８はマイクロプロセッサ設計プログラムが当該データベースに基づいて出力するメモリ構成の一例を表す図である。「メモリ識別子」に示されるＭ５−１、Ｍ５−２及びＭ５−３はプログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３の各々を識別するための識別子を表す。「実行プログラム名」は実行プログラムの名称を表す。「アクセス通算回数」は演算処理部２が各実行プログラムにアクセスした通算回数を表す。マイクロプロセッサ設計プログラムはハードウェア情報のデータベースに含まれる記憶容量の情報に基づいて、アクセス通算回数の多い実行プログラムＰＰＰ、ＱＱＱ及びＲＲＲを比較的小さい記憶容量情報（ここでは１００ｎＦ）が対応づけられているメモリ識別子Ｍ５−３に対応付けて出力する。また、マイクロプロセッサ設計プログラムは、実行プログラムＰＰＰ、ＱＱＱ及びＲＲＲに比較してアクセス通算回数の少ない実行プログラムＪＪＪ、ＫＫＫ及びＬＬＬを、メモリ識別子Ｍ５−３に比較して大きい記憶容量情報（ここでは４００ｎＦ）が対応づけられているメモリ識別子Ｍ５−２に対応付けて出力する。同様に、マイクロプロセッサ設計プログラムは、実行プログラムＪＪＪ、ＫＫＫ及びＬＬＬに比較してアクセス通算回数の少ない実行プログラムＡＡＡ、ＢＢＢ及びＣＣＣを、メモリ識別子Ｍ５−２に比較して大きい記憶容量情報（ここでは５００ｎＦ）が対応づけられているメモリ識別子Ｍ５−１に対応付けて出力する。
【００３９】
上記の処理はマイクロプロセッサ設計プログラムが記憶容量情報に基づいて実行プログラムをメモリ識別子に対応付ける例であるが、マイクロプロセッサ設計プログラムは実装面積及び消費電力の情報若しくはこれらの情報の組み合わせに基づいて、実行プログラムをメモリ識別子に対応付けても良い。なお、図７に示したデータベースは一例であり、ハードウェア情報は記憶容量、実装面積及び消費電力の３項目に限定されるものではない。
【００４０】
図９はメモリ構成の出力処理を含むマイクロプロセッサ１の設計フローの一例を表すフローチャートである。同図中のＳ８１〜Ｓ８５までは上述した処理と同様である。ここでは、マイクロプロセッサ設計プログラム自身がアクセス回数通算手段によって得られた結果に基づいて実行プログラムをアドレス領域に記憶し直すか否かを判断する（Ｓ８６）。マイクロプロセッサ設計プログラムが実行プログラムを記憶し直さないと判断すれば、プログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３のハードウェア情報に基づいて、プログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３の個数や記憶容量などのメモリ構成を決定して出力する（Ｓ８７）。マイクロプロセッサ１の設計者は出力されたメモリ構成に基づいて、マイクロプロセッサ１内にプログラム用通常内部メモリ５−１、５−２及びプログラム用小容量内部メモリ５−３を実装できる（Ｓ８８）。この場合、設計者がメモリ構成を考える工数が削減できるため、より短期間でマイクロプロセッサ１を設計することができる。
【００４１】
上記したように本実施例に拠れば、アドレス領域の各々について演算処理部がアクセスした通算回数を計数し、実行プログラムの名称を当該通算回数に基づいた順番にて出力する。更に、メモリのハードウェア情報に基づいてプログラム用内部メモリの個数や記憶容量などのメモリ構成を出力することもできる。マイクロプロセッサ１の設計者はこれらの出力内容から実行回数の多い実行プログラムや望ましいメモリ構成を確認できる。設計者が実行回数の多い実行プログラムをメモリ領域内の特定の一部分に集中するようにアドレス領域を指定すれば、実行プログラム記憶手段により実行プログラムの各々は当該指定されたアドレス領域に記憶される。このとき実行回数の多い実行プログラムが記憶されるアドレス領域はメモリ領域内の一部分に集約されているため、これらのアドレス領域記憶されている実行プログラムをまとめて記憶容量の小さいプログラム用内部メモリに実装することができる。このようにすれば、演算処理部が頻繁にアクセスするプログラム用内部メモリの個数及び記憶容量を減らすことができるため、マイクロプロセッサが消費する電力を低減できる。また、設計者は出力されるメモリ構成に基づいてプログラム用内部メモリを実装することもできるため、設計者自身がメモリ構成を考える工数を削減でき、より短期間でマイクロプロセッサを設計することができる。したがって本実施例に拠れば低消費電力で動作可能なマイクロプロセッサを短期間で設計可能である。
【図面の簡単な説明】
【００４２】
【図１】マイクロプロセッサの構成の一例をプログラム用外部メモリとデータ用外部メモリと共に表すブロック図である。
【図２】実行プログラムを記憶するメモリ領域の一例を表す図である。
【図３】マイクロプロセッサ設計プログラムの処理ルーチンの一例を表すフローチャートである。
【図４】マイクロプロセッサ設計プログラムによるマイクロプロセッサの設計フローの一例を表すフローチャートである。
【図５】実行プログラムの名称の表示例を表す図である。
【図６】実行プログラムを記憶し直したときのメモリ領域の一例を表す図である。
【図７】プログラム用内部メモリのハードウェア情報のデータベースの一例を表す図である。
【図８】マイクロプロセッサ設計プログラムがハードウェア情報のデータベースに基づいて出力するメモリ構成の一例を表す図である。
【図９】メモリ構成の出力処理を含むマイクロプロセッサの設計フローの一例を表すフローチャートである。
【符号の説明】
【００４３】
１  マイクロプロセッサ
２  演算処理部
３  プログラムバス
４  データバス
５−１、５−２  プログラム用通常内部メモリ
５−３  プログラム用小容量内部メモリ
６−１〜ｍ  データ用内部メモリ
７  プログラム用外部メモリ
８  データ用外部メモリ
２１−１〜ｓ  アドレス領域
６１−１〜ｔ  アドレス領域
【図１】
2008242731.tif 000003
【図２】
2008242731.tif 000004
【図３】
2008242731.tif 000005
【図４】
2008242731.tif 000006
【図５】
2008242731.tif 000007
【図６】
2008242731.tif 000008
【図７】
2008242731.tif 000009
【図８】
2008242731.tif 000010
【図９】
2008242731.tif 000011