JP2014211673A - マイクロコンピュータ、および記憶装置 - Google Patents

マイクロコンピュータ、および記憶装置 Download PDF

Info

Publication number
JP2014211673A
JP2014211673A JP2013086327A JP2013086327A JP2014211673A JP 2014211673 A JP2014211673 A JP 2014211673A JP 2013086327 A JP2013086327 A JP 2013086327A JP 2013086327 A JP2013086327 A JP 2013086327A JP 2014211673 A JP2014211673 A JP 2014211673A
Authority
JP
Japan
Prior art keywords
storage
sram
storage means
microcomputer
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.)
Pending
Application number
JP2013086327A
Other languages
English (en)
Other versions
JP2014211673A5 (ja
Inventor
西本 正輝
Masateru Nishimoto
正輝 西本
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2013086327A priority Critical patent/JP2014211673A/ja
Priority to US14/222,064 priority patent/US20140317342A1/en
Priority to EP14161385.1A priority patent/EP2793142A2/en
Priority to CN201410150667.XA priority patent/CN104111802A/zh
Publication of JP2014211673A publication Critical patent/JP2014211673A/ja
Publication of JP2014211673A5 publication Critical patent/JP2014211673A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】マイクロコンピュータにおいて、命令コード実行時の消費電力を抑える。【解決手段】マイクロコンピュータ100において、プログラムメモリ40を、小規模な複数のSRAM41a〜41jと、複数のSRAMの出力データの各々を入力し、入力した複数のSRAMの出力データの何れか一つを選択して出力するセレクタ43と、マイクロプロセッサ10から送られるアドレスデータを入力し、該アドレスデータに基づき複数のSRAMの何れか一つを選択すると共に、複数のSRAMのうちの選択されたSRAMの出力データをセレクタから出力するようにセレクタを制御するアドレスデコーダ42とで構成し、命令コード実行時の消費電力を抑える。【選択図】図5

Description

本発明は、マイクロコンピュータおよび記憶装置に関するものである。
一般的なマイクロコンピュータは、マイクロプロセッサがプログラムと呼ばれる命令コードを格納したプログラムメモリから該命令コードを読み出して実行する(例えば、特許文献1)。
図1は、一般的なマイクロコンピュータ100の機能回路構成を示すブロック図である。同図において、処理を実行するマイクロプロセッサ10が、命令コードを記憶したプログラムメモリ20、及びデータメモリ30と接続される。
マイクロコンピュータ100には、システムクロックCLKとリセット信号RESETとが外部から与えられる。またマイクロプロセッサ10は、プログラムメモリ20にチップセレクト信号PMCSを出力すると共に、PMアドレスバスを介してプログラムメモリ20のアドレスを指定することで、当該アドレスに格納されている命令コードをPMデータバスを介して読み出す。
さらにマイクロプロセッサ10は、データメモリ30に対してチップセレクト信号DMCS、読み出し信号DMOE、書き込み信号DMWEを出力すると共に、DMアドレスバスを介してアドレスを指定し、当該アドレスへのデータの書き込みと読み出しとをDMデータバスを介して行なう。
図2は、マイクロプロセッサ10が命令コードを実行する際のタイミングチャートである。同図において、図2(A)はマイクロプロセッサ10のシステムクロックCLKであり、図2(B)に示すように1命令コードを、命令フェッチステージ「IF」、命令デコードステージ「ID」、命令実行ステージ「EX」、メモリアクセスステージ「MEM」、及びレジスタライトバックステージ「WB」の計5ステージ、5サイクルで実行している場合を例示する。
図3は、マイクロプロセッサ10内で命令コードを実行するためのブロック構成を示す図である。同図において、PM制御部13は、上記プログラムメモリ20にチップセレクト信号PMCSとPMアドレスとを出力する。プログラムメモリ20からPMデータバスを介して読み出されてきた命令コードは、命令レジスタ(IR)部11に入力されて保持される(命令フェッチステージ「IF」)。
命令レジスタ(IR)部11の保持する命令コードは、命令デコーダ(ID)部12が読み出してデコードし、デコード結果をPM制御部13へ出力する共に(命令デコードステージ「ID」)、デコード結果に応じて適宜DM制御部14、ロードメモリデータレジスタ(LMDR)部15、レジスタファイル(RF)部16、算術演算ユニット(ALU)部17をそれぞれ制御する(命令実行ステージ「EX」)。
DM制御部14は、DMアドレスバスを介して上記データメモリ30のアドレス指定を行なうと共に、データメモリ30に対して上記チップセレクト信号DMCS、読み出し信号DMOE、書き込み信号DMWEを出力する。
ロードメモリデータレジスタ(LMDR)部15及びレジスタファイル(RF)部16は、DMデータバスを介して上記データメモリ30と接続され、保持しているデータをデータメモリ30へ出力し、またデータメモリ30から出力されてきたデータを保持する(メモリアクセスステージ「MEM」)。
算術演算ユニット(ALU)部17は、命令デコーダ(ID)部12からの制御に基づいてレジスタファイル(RF)部16とデータを送受しながら、通常の四則演算及び論理演算等、指定された演算を実行し、演算結果をレジスタファイル(RF)部16へ出力する(レジスタライトバックステージ「WB」)。
特開平5−265754号公報
近年のマイクロコンピュータは、該マイクロコンピュータを搭載する機器の高機能化、高性能化に伴い、プログラムの命令コード量が増え、命令コードを格納するプログラムメモリの容量が増大している。そのため、実行すべき命令コードを、プログラムメモリから毎回読み出す命令フェッチ動作の電力消費が大きくなってしまうという課題があった。
本発明は上記のような実情に鑑みてなされたもので、その目的とするところは、命令コード実行時の消費電力を抑えることが可能なマイクロコンピュータおよび記憶装置を提供することにある。
上記課題を解決するため、本発明のマイクロコンピュータは、命令コードを格納したプログラム記憶装置と、該プログラム記憶装置から前記命令コードを読み出して実行するマイクロプロセッサとを備えたマイクロコンピュータであって、前記プログラム記憶装置は、前記命令コードを記憶する複数の記憶手段と、前記複数の記憶手段の出力データの各々を入力し、入力した前記複数の記憶手段の出力データの何れか一つを選択して出力するセレクタと、前記マイクロプロセッサから送られるアドレスデータを入力し、該アドレスデータに基づき前記複数の記憶手段の何れか一つを選択すると共に、前記複数の記憶手段のうちの選択された記憶手段の出力データを前記セレクタから出力するように前記セレクタを制御するアドレスデコーダと、を備えたことを特徴とする。
上記課題を解決するため、本発明の記憶装置は、データを記憶する複数の記憶手段と、前記複数の記憶手段の出力データの各々を入力し、入力した前記複数の記憶手段の出力データの何れか一つを選択して出力するセレクタと、アドレスデータを入力し、該アドレスデータに基づき前記複数の記憶手段の何れか一つを選択すると共に、前記複数の記憶手段のうちの選択された記憶手段の出力データを前記セレクタから出力するように前記セレクタを制御するアドレスデコーダと、を備えたことを特徴とする。
本発明のマイクロコンピュータおよび記憶装置は、命令コード実行時の消費電力を抑えることが可能となる。
一般的なマイクロコンピュータの機能回路構成を示すブロック図である。 一般的なマイクロプロセッサが命令コードを実行する際のタイミングチャートである。 図1のマイクロプロセッサ内で命令コードを実行するためのブロック構成を示す図である。 1個の大規模なSRAMでプログラムメモリを構成した一般的なマイクロコンピュータの機能回路構成を示すブロック図である。 本発明の第1実施形態に係る10個の小規模なSRAMでプログラムメモリを構成したマイクロコンピュータの機能回路構成を示すブロック図である。 同実施形態に係るアドレスデコーダの入出力信号を示すブロック図である。 同実施形態に係るSRAMの入出力信号を示すブロック図である。 同実施形態に係るセレクタの入出力信号を示すブロック図である。 同実施形態に係るマイクロコンピュータの各信号のタイミングチャートである。 SRAM構成の違いによる消費電力の差異を示すグラフである。 本発明の第2実施形態に係る6個の小規模なSRAMと1個の中規模なSRAMでプログラムメモリを構成したマイクロコンピュータの機能回路構成を示すブロック図である。 SRAM構成の違いによる回路面積と消費電力の差異を示すグラフである。
(第1実施形態)
以下、本発明の第1実施形態に係るマイクロプロセッサについて図面を参照して説明する。なお、以下の説明および図4〜図9において、本発明の動作に関係しない信号、並びにデータメモリについては、説明を省略し図示しない。
図4は、1個の大規模なSRAMでプログラムメモリを構成した一般的なマイクロコンピュータ100の機能回路構成を示すブロック図である。同図において、プログラムメモリ20は、16bit×1280ワードの命令コードを格納する1個のSRAM(PM00)21で構成されている。本構成においては、マイクロプロセッサ10は上記説明したように、アドレスバスを介してアドレスを指定することで、SRAM(PM00)21の当該アドレスに格納されている命令コードをデータバスを介して読み出す。
図5は、本発明の第1実施形態におけるマイクロコンピュータ100のブロック図である。同図において、プログラムメモリ40の容量は、図4のプログラムメモリ20と全体容量は同じ16bit×1280ワードであるが、10個の小規模なSRAMに分割し、16bit×128ワードの小規模SRAM(PM0〜PM9)41a〜41jで構成されている。
図5において、アドレスデコーダ42は、マイクロプロセッサ10が指定するアドレスrd_addr[10:0](B)がアドレスバスを介して入力され、入力されたアドレスrd_addr[10:0](B)の上位4bitをデコードして10個のSRAM(PM0〜PM9)41a〜41jの、どのSRAMにアクセスするかを決定する。
また、セレクタ43は、アクセスするSRAMの出力データを選択し、データバスを介してマイクロプロセッサ10へ、アクセスしたSRAMに格納されている命令コードrd_data[15:0](Y)を出力する。
図6は、アドレスデコーダ42の入出力信号を示すブロック図である。同図において、rd_addr[10:0](B)は、マイクロプロセッサ10が指定する11bitのアドレスである。ceb0〜ceb9(D、F、H、J、L、N、P、R、T、V)は、10個のSRAM(PM0〜PM9)41a〜41jの、どのSRAMをイネーブルにするかを決めるチップイネーブル信号である。dec_addr[6:0](C)は、入力された11bitのアドレスrd_addr[10:0](B)の下位7bitで、10個のSRAM(PM0〜PM9)41a〜41jのそれぞれに出力される。sel[3:0](X)は、イネーブルになっているSRAMの出力信号をセレクタ43が選択するように指定する選択信号である。
図7は、10個のSRAM(PM0〜PM9)41a〜41jそれぞれの入出力信号を示すブロック図である。同図において、dec_addr[6:0](C)は、アドレスデコーダ42において、マイクロプロセッサ10が指定する11bitのアドレスrd_addr[10:0](B)の下位7bitを取り出したものである。cebx(D、F、H、J、L、N、P、R、T、V)は、チップイネーブル信号で、Lowレベルの信号で当該SRAMがイネーブルとなる。rd_datax[15:0](E、G、I、K、M、O、Q、S、U、W)は、dec_addr[6:0](C)で指定したアドレスに格納されている命令コードである。
図8は、セレクタ43の入出力信号を示すブロック図である。同図において、rd_data0[15:0]〜rd_data9[15:0](E、G、I、K、M、O、Q、S、U、W)は、10個のSRAM(PM0〜PM9)41a〜41jそれぞれから出力された命令コードである。sel[3:0](X)は、選択されたSRAMの出力信号を選択する選択信号である。rd_data[15:0](Y)は、10個のSRAM(PM0〜PM9)41a〜41jの内の何れかが出力した命令コードであり、rd_data0[15:0]〜rd_data9[15:0](E、G、I、K、M、O、Q、S、U、W)の内、sel[3:0](X)で選択した命令コードである。
以下、プログラムメモリ40の動作について詳しく説明する。
今、マイクロプロセッサ10からアドレスバスを介して11bitのアドレスrd_addr[10:0](B)がアドレスデコーダ42に入力されると、アドレスデコーダ42は11bitのアドレスを上位4bitと下位7bitに分割する。上位4bitは10個のSRAM(PM0〜PM9)41a〜41jの、どのSRAMにアクセスするかを決めるbitで、0の場合はSRAM(PM0)41aがイネーブル状態になるようにチップイネーブル信号ceb0(D)をLowレベルにすると同時に、ceb0(D)以外をHighレベルとしてSRAM(PM0)41a以外をディセーブル状態にする。また、セレクタ43がSRAM(PM0)41aからの出力信号を選択するように、sel[3:0](X)を0とする。
以下、上位4bitが1の場合はチップイネーブル信号ceb1(F)をLowレベル、sel[3:0](X)を1、上位4bitが2の場合はチップイネーブル信号ceb2(H)をLowレベル、sel[3:0](X)を2、・・・、上位4bitが9の場合はチップイネーブル信号ceb9(V)をLowレベル、sel[3:0](X)を9とする。
またアドレスデコーダ42は、11bitのアドレスrd_addr[10:0](B)の下位7bitを抜き出し、10個のSRAM(PM0〜PM9)41a〜41jそれぞれのアドレスを指定するアドレスデータdec_addr[6:0](C)として、10個のSRAM(PM0〜PM9)41a〜41jそれぞれに出力する。
10個のSRAM(PM0〜PM9)41a〜41jの内、チップイネーブル信号cebx(D、F、H、J、L、N、P、R、T、V)がLowレベルのSRAMがイネーブル状態になっており、アドレスデータdec_addr[6:0](C)が指し示すアドレスに格納されている命令コードrd_datax[15:0](E、G、I、K、M、O、Q、S、U、W)をセレクタ43に出力する。
セレクタ43には、10個のSRAM(PM0〜PM9)41a〜41jそれぞれの出力rd_datax[15:0](E、G、I、K、M、O、Q、S、U、W)が入力されており、選択信号sel[3:0](X)の値に基づいて、rd_datax[15:0](E、G、I、K、M、O、Q、S、U、W)の何れか一つを選択して、命令コードrd_data[15:0](Y)をデータバスに出力する。
今、例えば、sel[3:0](X)が0であれば、セレクタ43はrd_data0[15:0](E)を命令コードrd_data[15:0](Y)として出力する。
以下、sel[3:0](X)が1の場合はrd_data1[15:0](E)を、sel[3:0](X)が2の場合はrd_data2[15:0](E)を、・・・、sel[3:0](X)が9の場合はrd_data9[15:0](E)を、命令コードrd_data[15:0](Y)として出力する。
図9は、マイクロコンピュータ100の各信号のタイミングチャートである。
システムクロックCLK(A)に同期してマイクロプロセッサ10からアドレスバスを介して11bitのアドレスrd_addr[10:0](B)が、0x000、0x37F、0x4A8、0x086、0x3DE、0x265、0x13B、0x453、0x2F7、0x192の順にアドレスデコーダ42に入力される。
アドレスデコーダ42は、0x000が入力されると、上位4bitが0であるのでceb0(D)をLowレベルにすると同時に、ceb0(D)以外をHighレベルとし、sel[3:0](X)を0とする。また、下位7bitをdec_addr[6:0](C)として0x00を出力する。
以下、0x37Fが入力されると、上位4bitが6であるのでceb6(P)をLowレベルにすると同時に、ceb6(P)以外をHighレベルとし、sel[3:0](X)を6とする。また、下位7bitをdec_addr[6:0](C)として0x7Fを出力する。
0x4A8が入力されると、上位4bitが9であるのでceb9(V)をLowレベルにすると同時に、ceb9(V)以外をHighレベルとし、sel[3:0](X)を9とする。また、下位7bitをdec_addr[6:0](C)として0x28を出力する。
0x086が入力されると、上位4bitが1であるのでceb1(F)をLowレベルにすると同時に、ceb1(F)以外をHighレベルとし、sel[3:0](X)を1とする。また、下位7bitをdec_addr[6:0](C)として0x06を出力する。
0x3DEが入力されると、上位4bitが7であるのでceb7(R)をLowレベルにすると同時に、ceb7(R)以外をHighレベルとし、sel[3:0](X)を7とする。また、下位7bitをdec_addr[6:0](C)として0x5Eを出力する。
0x265が入力されると、上位4bitが4であるのでceb4(L)をLowレベルにすると同時に、ceb4(L)以外をHighレベルとし、sel[3:0](X)を4とする。また、下位7bitをdec_addr[6:0](C)として0x65を出力する。
0x13Bが入力されると、上位4bitが2であるのでceb2(H)をLowレベルにすると同時に、ceb2(H)以外をHighレベルとし、sel[3:0](X)を2とする。また、下位7bitをdec_addr[6:0](C)として0x3Bを出力する。
0x453が入力されると、上位4bitが8であるのでceb8(T)をLowレベルにすると同時に、ceb8(T)以外をHighレベルとし、sel[3:0](X)を8とする。また、下位7bitをdec_addr[6:0](C)として0x53を出力する。
0x2F7が入力されると、上位4bitが5であるのでceb5(N)をLowレベルにすると同時に、ceb5(N)以外をHighレベルとし、sel[3:0](X)を5とする。また、下位7bitをdec_addr[6:0](C)として0x77を出力する。
0x192が入力されると、上位4bitが3であるのでceb3(J)をLowレベルにすると同時に、ceb3(J)以外をHighレベルとし、sel[3:0](X)を3とする。また、下位7bitをdec_addr[6:0](C)として0x12を出力する。
上記の様にアドレスデコーダ42が動作すると、SRAM(PM0〜PM9)41a〜41jは、SRAM0(PM0)41a、SRAM6(PM6)41g、SRAM9(PM9)41j、SRAM1(PM1)41b、SRAM7(PM7)41h、SRAM4(PM4)41e、SRAM2(PM2)41c、SRAM8(PM8)41i、SRAM5(PM5)41f、SRAM3(PM3)41dの順にイネーブルとなり、アドレスdec_addr[6:0](C)は、0x00、0x7F、0x28、0x06、0x5E、0x65、0x3B、0x53、0x77、0x12と変化し、各SRAMは当該アドレスに記憶されている命令コードrd_datax[15:0](E、G、I、K、M、O、Q、S、U、W)をセレクタ43に出力する。
セレクタ43は、選択信号cel[3:0](X)が、0、6、9、1、7、4、2、8、5、3と変化するので、順番にrd_data0[15:0](E)の値0、rd_data6[15:0](Q)の値1、rd_data9[15:0](W)の値2、rd_data1[15:0](G)の値3、rd_data7[15:0](S)の値4、rd_data4[15:0](M)の値5、rd_data2[15:0](I)の値6、rd_data8[15:0](U)の値7、rd_data5[15:0](O)の値8、rd_data3[15:0](K)の値9を、命令コードrd_data[15:0](Y)としてデータバスに出力する。
図10は、SRAM構成の違いによる消費電力の差異を示すグラフである。
図10は、3つの異なる処理をマイクロコンピュータ100で実行した場合の消費電力の比率を表したもので、従来構成である大規模な1個のSRAMで構成した場合を1とした時、本実施例による小規模なSRAM10個に分割した場合の消費電力がどのようになるかを示している。
図10で示すように、従来構成では、大規模なSRAMからリード動作を行うため、消費電力が大きくなってしまうが、本実施例の分割方式のSRAM構成では、10個に分割した内の1個の小規模なSRAMからのリード動作になるため、消費電力が約4割〜5割減に抑えられているのがわかる。
(第2実施形態)
図11は、本発明の第2実施形態におけるマイクロコンピュータ100のブロック図である。同図において、プログラムメモリ50の容量は、図4のプログラムメモリ20と全体容量は同じ16bit×1280ワードであるが、6個の小規模なSRAMと1個の中規模なSRAMに分割し、16bit×128ワードの小規模SRAM(PM0〜PM5)51a〜51fと、16bit×512ワードの中規模SRAM(PM6)51gで構成されている。
なお、プログラムメモリ50のアドレスデコーダ52、セレクタ53、並びに、各SRAM(PM0〜PM6)51a〜51gの動作は、プログラムメモリ40と同様であるため、説明は省略する。
プログラムメモリ50では、プログラムをコンパイルした際に、使用されている命令(サブルーチン)の回数を解析して、多く使用されている命令(サブルーチン)を小規模SRAM(PM0〜PM5)51a〜51fに格納し、使用頻度の少ない命令(サブルーチン)を中規模SRAM(PM6)51gに格納している。
第2実施形態の構成では、第1実施形態の10個の小規模なSRAMの構成と同等な消費電力を実現すると同時に、第1実施形態の構成よりもプログラムメモリの回路面積を小さく出来る。
図12は、SRAM構成の違いによる回路面積と消費電力の差異を示すグラフである。
図12で示すように、第2実施形態の構成では、第1実施形態の10個の小規模なSRAMの構成と同等な消費電力を実現すると同時に、第1実施形態の構成よりもプログラムメモリの回路面積が小さく抑えられているのがわかる。
以上、本発明によるプログラムメモリを複数の小規模なSRAMに分割したマイクロプロセッサは、従来の大規模なSRAM1個の構成によるプログラムメモリに比べて、命令コード実行時の消費電力を抑えることが可能となる。
なお、各回路の構成は、前記実施形態に例示したものは一例であり、これに限られるものではなく、これらは本発明の作用効果が得られる範囲内であれば適宜変更が可能であり、変更後の実施形態も特許請求の範囲に記載された発明、及びその発明と均等の発明の範囲に含まれる。
以下に、本出願の特許請求の範囲に記載された発明を付記する。
[請求項1]
命令コードを格納したプログラム記憶装置と、該プログラム記憶装置から前記命令コードを読み出して実行するマイクロプロセッサとを備えたマイクロコンピュータであって、
前記プログラム記憶装置は、前記命令コードを記憶する複数の記憶手段と、
前記複数の記憶手段の出力データの各々を入力し、入力した前記複数の記憶手段の出力データの何れか一つを選択して出力するセレクタと、
前記マイクロプロセッサから送られるアドレスデータを入力し、該アドレスデータに基づき前記複数の記憶手段の何れか一つを選択すると共に、前記複数の記憶手段のうちの選択された記憶手段の出力データを前記セレクタから出力するように前記セレクタを制御するアドレスデコーダと、を備えたことを特徴とするマイクロコンピュータ。
[請求項2]
前記複数の記憶手段は、それぞれ同一容量の記憶手段であることを特徴とする請求項1記載のマイクロコンピュータ。
[請求項3]
前記複数の記憶手段は、複数の異なる容量の記憶手段で構成されていることを特徴とする請求項1記載のマイクロコンピュータ。
[請求項4]
前記複数の記憶手段は、少なくとも一つの第1の記憶容量の記憶手段と、少なくとも一つの前記第1の記憶容量より大きい第2の記憶容量の記憶手段で構成されていることを特徴とする請求項1記載のマイクロコンピュータ。
[請求項5]
前記第1の記憶容量の記憶手段には良く使用される命令コードを格納し、前記第2の記憶容量の記憶手段には使用頻度の少ない命令コードを格納することを特徴とする請求項4記載のマイクロコンピュータ。
[請求項6]
前記複数の記憶手段はSRAMであることを特徴とする請求項1乃至5に記載のマイクロコンピュータ。
[請求項7]
前記プログラム記憶装置と前記マイクロプロセッサを、一つの半導体に集積したことを特徴とする請求項1記載のマイクロコンピュータ。
[請求項8]
データを記憶する複数の記憶手段と、
前記複数の記憶手段の出力データの各々を入力し、入力した前記複数の記憶手段の出力データの何れか一つを選択して出力するセレクタと、
アドレスデータを入力し、該アドレスデータに基づき前記複数の記憶手段の何れか一つを選択すると共に、前記複数の記憶手段のうちの選択された記憶手段の出力データを前記セレクタから出力するように前記セレクタを制御するアドレスデコーダと、
を備えたことを特徴とする記憶装置。
[請求項9]
前記複数の記憶手段はSRAMであることを特徴とする請求項8に記載の記憶装置。
[請求項10]
前記複数の記憶手段と前記セレクタと前記アドレスデコーダを、一つの半導体に集積したことを特徴とする請求項8記載の記憶装置。
10 マイクロプロセッサ
11 命令レジスタ(IR)部
12 命令でコーダ(ID)部
13 PM制御部
14 DM制御部
15 ロードメモリデータレジスタ(LMDR)部
16 レジスタファイル(RF)部
17 算術演算ユニット(ALU)部
20 プログラムメモリ
21 SRAM(PM00)
30 データメモリ
40 プログラムメモリ
41a SRAM(PM0)
41b SRAM(PM1)
41c SRAM(PM2)
41d SRAM(PM3)
41e SRAM(PM4)
41f SRAM(PM5)
41g SRAM(PM6)
41h SRAM(PM7)
41i SRAM(PM8)
41j SRAM(PM9)
42 アドレスデコーダ
43 セレクタ
50 プログラムメモリ
51a SRAM(PM0)
51b SRAM(PM1)
51c SRAM(PM2)
51d SRAM(PM3)
51e SRAM(PM4)
51f SRAM(PM5)
51g SRAM(PM6)
52 アドレスデコーダ
53 セレクタ

Claims (10)

  1. 命令コードを格納したプログラム記憶装置と、該プログラム記憶装置から前記命令コードを読み出して実行するマイクロプロセッサとを備えたマイクロコンピュータであって、
    前記プログラム記憶装置は、前記命令コードを記憶する複数の記憶手段と、
    前記複数の記憶手段の出力データの各々を入力し、入力した前記複数の記憶手段の出力データの何れか一つを選択して出力するセレクタと、
    前記マイクロプロセッサから送られるアドレスデータを入力し、該アドレスデータに基づき前記複数の記憶手段の何れか一つを選択すると共に、前記複数の記憶手段のうちの選択された記憶手段の出力データを前記セレクタから出力するように前記セレクタを制御するアドレスデコーダと、を備えたことを特徴とするマイクロコンピュータ。
  2. 前記複数の記憶手段は、それぞれ同一容量の記憶手段であることを特徴とする請求項1記載のマイクロコンピュータ。
  3. 前記複数の記憶手段は、複数の異なる容量の記憶手段で構成されていることを特徴とする請求項1記載のマイクロコンピュータ。
  4. 前記複数の記憶手段は、少なくとも一つの第1の記憶容量の記憶手段と、少なくとも一つの前記第1の記憶容量より大きい第2の記憶容量の記憶手段で構成されていることを特徴とする請求項1記載のマイクロコンピュータ。
  5. 前記第1の記憶容量の記憶手段には良く使用される命令コードを格納し、前記第2の記憶容量の記憶手段には使用頻度の少ない命令コードを格納することを特徴とする請求項4記載のマイクロコンピュータ。
  6. 前記複数の記憶手段はSRAMであることを特徴とする請求項1乃至5に記載のマイクロコンピュータ。
  7. 前記プログラム記憶装置と前記マイクロプロセッサを、一つの半導体に集積したことを特徴とする請求項1記載のマイクロコンピュータ。
  8. データを記憶する複数の記憶手段と、
    前記複数の記憶手段の出力データの各々を入力し、入力した前記複数の記憶手段の出力データの何れか一つを選択して出力するセレクタと、
    アドレスデータを入力し、該アドレスデータに基づき前記複数の記憶手段の何れか一つを選択すると共に、前記複数の記憶手段のうちの選択された記憶手段の出力データを前記セレクタから出力するように前記セレクタを制御するアドレスデコーダと、
    を備えたことを特徴とする記憶装置。
  9. 前記複数の記憶手段はSRAMであることを特徴とする請求項8に記載の記憶装置。
  10. 前記複数の記憶手段と前記セレクタと前記アドレスデコーダを、一つの半導体に集積したことを特徴とする請求項8記載の記憶装置。
JP2013086327A 2013-04-17 2013-04-17 マイクロコンピュータ、および記憶装置 Pending JP2014211673A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013086327A JP2014211673A (ja) 2013-04-17 2013-04-17 マイクロコンピュータ、および記憶装置
US14/222,064 US20140317342A1 (en) 2013-04-17 2014-03-21 Microcomputer and storing apparatus
EP14161385.1A EP2793142A2 (en) 2013-04-17 2014-03-25 Microcomputer and storing apparatus
CN201410150667.XA CN104111802A (zh) 2013-04-17 2014-04-15 微型计算机及存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013086327A JP2014211673A (ja) 2013-04-17 2013-04-17 マイクロコンピュータ、および記憶装置

Publications (2)

Publication Number Publication Date
JP2014211673A true JP2014211673A (ja) 2014-11-13
JP2014211673A5 JP2014211673A5 (ja) 2014-12-25

Family

ID=50473025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013086327A Pending JP2014211673A (ja) 2013-04-17 2013-04-17 マイクロコンピュータ、および記憶装置

Country Status (4)

Country Link
US (1) US20140317342A1 (ja)
EP (1) EP2793142A2 (ja)
JP (1) JP2014211673A (ja)
CN (1) CN104111802A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63120346A (ja) * 1986-11-10 1988-05-24 Hitachi Ltd ワンチツプ・プロセツサ
JPH06103779A (ja) * 1992-09-22 1994-04-15 Nec Ic Microcomput Syst Ltd 半導体集積回路
JPH0793280A (ja) * 1993-09-28 1995-04-07 Nec Corp メモリ内蔵型プロセッサlsi
US20060268648A1 (en) * 2005-05-11 2006-11-30 Texas Instruments Incorporated High performance, low-leakage static random access memory (SRAM)
JP2007072928A (ja) * 2005-09-09 2007-03-22 Fujitsu Ltd 半導体記憶装置及びそれを用いた半導体集積回路システム並びに半導体記憶装置の制御方法
JP2012008747A (ja) * 2010-06-24 2012-01-12 Nec Corp 集積装置、メモリ割り当て方法、および、プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2760694B2 (ja) 1992-03-19 1998-06-04 シャープ株式会社 マイクロプロセッサ
US7062619B2 (en) * 2002-01-31 2006-06-13 Saifun Semiconductor Ltd. Mass storage device architecture and operation
US7210005B2 (en) * 2002-09-03 2007-04-24 Copan Systems, Inc. Method and apparatus for power-efficient high-capacity scalable storage system
US7243204B2 (en) * 2003-11-25 2007-07-10 International Business Machines Corporation Reducing bus width by data compaction
US20090052262A1 (en) * 2006-02-08 2009-02-26 Koji Nii Semiconductor memory device
KR101446191B1 (ko) * 2006-05-25 2014-10-01 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
US7817490B1 (en) * 2009-04-14 2010-10-19 Texas Instruments Incorporated Low-power operation of static memory in a read-only mode
CN102855090B (zh) * 2012-07-23 2015-12-16 深圳市江波龙电子有限公司 存储设备及其运行方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63120346A (ja) * 1986-11-10 1988-05-24 Hitachi Ltd ワンチツプ・プロセツサ
JPH06103779A (ja) * 1992-09-22 1994-04-15 Nec Ic Microcomput Syst Ltd 半導体集積回路
JPH0793280A (ja) * 1993-09-28 1995-04-07 Nec Corp メモリ内蔵型プロセッサlsi
US20060268648A1 (en) * 2005-05-11 2006-11-30 Texas Instruments Incorporated High performance, low-leakage static random access memory (SRAM)
JP2007072928A (ja) * 2005-09-09 2007-03-22 Fujitsu Ltd 半導体記憶装置及びそれを用いた半導体集積回路システム並びに半導体記憶装置の制御方法
JP2012008747A (ja) * 2010-06-24 2012-01-12 Nec Corp 集積装置、メモリ割り当て方法、および、プログラム

Also Published As

Publication number Publication date
EP2793142A2 (en) 2014-10-22
US20140317342A1 (en) 2014-10-23
CN104111802A (zh) 2014-10-22

Similar Documents

Publication Publication Date Title
CN103034617B (zh) 用于实现可重构系统配置信息存储的缓存结构和管理方法
US20140359225A1 (en) Multi-core processor and multi-core processor system
US9342478B2 (en) Processor with reconfigurable architecture including a token network simulating processing of processing elements
CN105404525A (zh) 管理计算机系统中的基本输入输出系统配置的方法及装置
JP2015531934A (ja) パターン認識処理における電力管理のための方法およびシステム
US10318165B2 (en) Data operating method, device, and system
RU2643499C2 (ru) Управление памятью
CN111666330A (zh) 数据的读写方法和装置
US20140372734A1 (en) User-Level Hardware Branch Records
US8555097B2 (en) Reconfigurable processor with pointers to configuration information and entry in NOP register at respective cycle to deactivate configuration memory for reduced power consumption
JP2014211673A (ja) マイクロコンピュータ、および記憶装置
CN107221349B (zh) 一种基于flash存储器的微控制器芯片
CN106796505B (zh) 指令执行的方法及处理器
US6687821B1 (en) System for dynamically configuring system logic device coupled to the microprocessor to optimize application performance by reading from selection table located in non-volatile memory
CN105404591A (zh) 处理器系统及其存储器控制方法
CN103853694A (zh) 一种可重构状态机的实现方法
CN104407367B (zh) 提高卫星导航终端接收机基带信号处理能力的装置与方法
US8964495B2 (en) Memory operation upon failure of one of two paired memory devices
JP5982148B2 (ja) 半導体記憶装置
US20090037645A1 (en) Non-volatile memory device and data access circuit and data access method
CN102541745A (zh) 微控制器数据存储器的寻址方法和微控制器
CN104391563A (zh) 一种寄存器堆的循环缓冲电路及其方法,处理器装置
JP2014160393A (ja) マイクロプロセッサ及び演算処理方法
US9519599B2 (en) Memory location determining device and method for determining locations of compressed data in a memory by using first and second arithmetic operations
CN109478162A (zh) 半导体存储装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150609

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150818