JP3647078B2 - Processor - Google Patents
Processor Download PDFInfo
- Publication number
- JP3647078B2 JP3647078B2 JP08411995A JP8411995A JP3647078B2 JP 3647078 B2 JP3647078 B2 JP 3647078B2 JP 08411995 A JP08411995 A JP 08411995A JP 8411995 A JP8411995 A JP 8411995A JP 3647078 B2 JP3647078 B2 JP 3647078B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- control signal
- decoding
- output
- brs
- 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
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Description
【0001】
【産業上の利用分野】
本発明は、消費電力および発熱量を低減することのできるプロセッサに関する。
【0002】
【従来の技術】
プロセッサの内部または外部のメモリに記憶されたプログラムに従って、内部のデータまたは外部から入力されたデータを処理し、内部のメモリへ記憶しまたは外部に出力するプロセッサの構成要素には、以下のものがある。
【0003】
前記メモリに比して、高速に記憶データの読み出しあるいは書き込みが可能な記憶手段であるレジスタ群。論理演算・算術論理演算等を行うALU。ビットシフト処理等を行うバレルシフタ。メモリへのアドレスを保持するメモリアドレスレジスタ。アドレスレジスタから出力されたアドレスのメモリとデータの授受を行うメモリデータレジスタ。メモリの接続構成に基づいて、メモリアドレスレジスタから出力されたメモリアドレスを変換し、メモリの動作制御を行うメモリ制御手段。メモリ内に記憶されたプログラムの実行アドレスを生成するマクロシーケンサ。マクロシーケンサでアドレスされたメモリ出力をデコードし、各構成要素の制御端子を駆動しプログラム処理を行うマイクロシーケンサ、などである。
【0004】
マクロシーケンサおよびマイクロシーケンサの初期化入力に初期化信号を印加するとマクロシーケンサからは、あらかじめ定められたアドレスが出力され、前記アドレスに記憶されたプログラムの先頭の命令がマイクロシーケンサに読み込まれる。
【0005】
マイクロシーケンサは読み込まれた命令をデコードし、各制御信号を命令にしたがって駆動する。各制御信号は前述の構成要素に接続されており、所望のシーケンスで、データソースからデータが読み出され必要に応じてデータ型を変換し演算を行い、命令コードに応じた出力先に出力する。またマイクロシーケンサは命令に従い、次の命令プログラムアドレスの選択信号をマクロシーケンサに出力する。この命令がマイクロシーケンサに取り込まれるとマクロシーケンサが次の命令アドレスを発生する。以下初期化以降の前記シーケンスを繰り返すことによりプログラムを実行する。
【0006】
ここで、各命令コードを実行するときの内部の各制御信号のシーケンスは、予め定められていた。
【0007】
【発明が解決しようとする課題】
各命令コードを実行するときに内部で動作する必要がない制御信号もある。従来は、このような制御信号を例えばオール0(faulse) またはオール1(true)に変化させていた場合が多い。しかしながら、LSI、特にC−MOSタイプのLSIは、信号の状態を保つためには余り電力を消費しないが、信号の状態を変化させるときに電力を大きく消費する。従って、命令コードにより動作する従来のLSIは、制御信号をオール0または1に変化させる場合等に無駄な電力を消費していた。また電力の消費により、LSIが高温化し、放熱フィンやファンが必要になる場合があった。更に、電池により駆動する機器においては、駆動時間が短くなるという課題があった。
【0008】
特に近年、CPUは高速化に伴い消費電力が増加し、それに伴い発熱量も増大している。このため温度がボトルネックとなり、CPUの動作周波数を上げることができない場合があった。
【0009】
そこで本発明は、このような課題を解決することのできるプロセッサを提供することを目的とする。
【0010】
【課題を解決するための手段】
このような目的を達成するために、請求項1に記載の発明は、複数の命令コードをデコード手段によりデコードし、デコードにより得られた複数の制御信号を用いて動作するプロセッサであって、前記デコード手段が、前記各々の制御信号に対応づけた、当該制御信号を変化させる必要がないことを示す保持信号を出力する手段を有し、前記保持信号が出力されていない場合は前記デコード手段から出力された前記制御信号を選択し、前記保持信号が出力された場合には格納手段に格納された信号を選択する選択手段を備え、前記格納手段は、前記各命令コードの実行毎に、前記選択手段により選択された信号を格納することを特徴とする。
【0011】
請求項2に記載の発明は、複数の命令コードをデコード手段によりデコードし、デコードにより得られた複数の制御信号を用いて動作するプロセッサであって、前記デコード手段が、前記各々の制御信号に対応づけた、当該制御信号を変化させる必要がないことを示す保持信号を出力する手段を備えたことを特徴とする。
【0014】
【作用】
本発明によれば、CPUの内部で出力される一部の制御信号の値が記憶手段に格納され、記憶手段に格納した値を用いて、コマンドを実行する際に動作が必要でない制御信号の値が保持される。このため、CPU内部で動作する信号の数が減少し、CPUの消費電力を下げることができ、ひいてはCPUの発熱量を下げることができる。
【0015】
【実施例】
以下、図面を参照して本発明の実施例を詳細に説明する。
【0016】
図1に、実施例における本発明「プロセッサ」の構成の一部を示す。同図において1はプログラムが記憶されているメモリ(MEM)、2はメモリから読み出された命令コードを一時記憶するインストラクションレジスタ(IR)、3は インストラクションレジスタの出力をデコードして演算要素、記憶要素等の制御信号を生成するデコード回路(DEC)である。デコード回路3は、組み合わせ論理回路やROM(マイクロプログラムROM)等で構成されている。
【0017】
41〜44は本発明の「選択手段」の一例としてのセレクタ(MUX)、51〜54はフリップフロップ(FF)、6は演算ユニット(ALU)、7はバレルシフタ(BRS)である。ALU6およびバレルシフタ7には、制御信号として、ALUコマンド制御信号(alu_c)100、データ入力選択信号(sel_b)101、およびBRSコマンド制御信号(brs_c)110が入力される。またALU6へは、演算データとして、src_b,src_iが入力されているセレクタ45の出力120と、データ入力src_aとが接続されている。
【0018】
バレルシフタ7へは、演算データ入力としてsrc_aが接続され、シフト量を指定するbrs_nが入力されている。
【0019】
ALUに対する加算a,b、加算a,i、減算a,b、減算a,iコマンド、およびバレルシフタ7に対する右シフトn、左シフトnコマンドのそれぞれのコードがメモリ1から読み出され、インストラクションレジスタ2から出力されると、デコード回路3は各出力端子に以下の制御信号を出力する。
【0020】
【表1】
【0021】
空欄は任意の値でよい。
【0022】
本発明の「保持信号」の一例としてのalu_hold,brs_hold,mux_hold,brs_hold信号は、それぞれセレクタ41〜44の選択入力に接続されている。セレクタ41〜44は、選択入力に入力された「保持信号」がtrueのとき、それぞれフリップフロップ51〜54の出力を選択する。これによって使用されない構成要素への制御信号の実行前の状態を、命令コマンド毎に保存する。
【0023】
(その他)
以上、本発明の「格納手段」の一例としてフリップフロップを用いたが、「格納手段」はデータを格納し保持する機能を有すれば足り、必ずしもフリップフロップである必要はない。例えばラッチを用いることにより、内部のゲート数を削減することができる。これに対してフリップフロップを用いた場合は、出力に影響を与えずに入力を変化させることのできる期間が広くなるという効果がある。
【0024】
【発明の効果】
以上説明したように、本発明によれば、コマンドを実行する際に動作が必要でない制御信号の値が保持される。このため、CPU内部で動作する信号の数が減少し、CPUの消費電力を下げることができ、ひいてはCPUの発熱量を下げることができる。このため、CPUの放熱フィン、放熱ファン、電源等を小型化し、本発明CPUを用いた装置全体を小型化、低価格化することができる。
【0025】
さらに、電池により駆動する機器においては、駆動時間が長くなるという効果がある。また、温度がボトルネックとなっていた機器においては、CPUの動作速度を速めることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例にかかるプロセッサのハードウエア構成を説明する説明図である。
【符号の説明】
1 メモリ
2 インストラクションレジスタ
3 命令デコーダ
6 演算ユニット(ALU)
7 バレルシフタ(BRS)
41〜44 セレクタ(MUX)
51〜54 フリップフロップ
100 ALUコマンド制御信号(alu_c)
101 ALUデータセレクタ制御信号(sel_b)
110 BRSコマンド制御信号(brs_c)
111 BRSシフト量制御信号(brs_n)
121 ALUコマンドデコード信号(alu_com)
122 ALUコマンドホールド信号(aul_hold)
123 BRSコマンドデコード信号(brs_com)
124 BRSコマンドホールド信号(brs_hold)
125 ALUデータセレクタデコード信号(mux_com)
126 ALUデータセレクタホールド信号(mux_hold)
127 BRSシフト量デコード信号(brs_num)
128 BRSシフト量デコード信号(brs_hold)[0001]
[Industrial application fields]
The present invention relates to a processor capable of reducing power consumption and heat dissipation.
[0002]
[Prior art]
The processor components that process internal data or externally input data according to a program stored in the internal or external memory of the processor, and store or output the internal data to the internal memory are as follows. is there.
[0003]
A register group which is a storage means capable of reading or writing stored data at a higher speed than the memory. ALU that performs logical operations and arithmetic logical operations. Barrel shifter that performs bit shift processing. A memory address register that holds the address to the memory. A memory data register that exchanges data with the memory at the address output from the address register. Memory control means for converting the memory address output from the memory address register based on the memory connection configuration and controlling the operation of the memory. A macro sequencer that generates the execution address of a program stored in memory. A microsequencer that decodes the memory output addressed by the macro sequencer, drives the control terminal of each component, and performs program processing.
[0004]
When an initialization signal is applied to the initialization input of the macro sequencer and the micro sequencer, a predetermined address is output from the macro sequencer, and the first instruction of the program stored at the address is read into the micro sequencer.
[0005]
The microsequencer decodes the read instruction and drives each control signal according to the instruction. Each control signal is connected to the above-described components, and in a desired sequence, data is read from the data source, converted as necessary, and converted, and output to an output destination corresponding to the instruction code. . The microsequencer outputs a selection signal for the next instruction program address to the macro sequencer according to the instruction. When this instruction is taken into the microsequencer, the macrosequencer generates the next instruction address. Thereafter, the program is executed by repeating the sequence after initialization.
[0006]
Here, the sequence of each internal control signal when executing each instruction code has been determined in advance.
[0007]
[Problems to be solved by the invention]
Some control signals do not need to operate internally when executing each instruction code. Conventionally, such a control signal is often changed to, for example, all 0 (faulse) or all 1 (true). However, LSIs, particularly C-MOS type LSIs, do not consume much power in order to maintain the signal state, but consume a large amount of power when changing the signal state. Therefore, the conventional LSI that operates according to the instruction code consumes wasted power when the control signal is changed to all 0 or 1. In addition, due to the consumption of power, the temperature of the LSI has increased, and there have been cases in which a fin and fan are required. Furthermore, in the apparatus driven by a battery, there existed a subject that drive time became short.
[0008]
Particularly in recent years, the power consumption of CPUs has increased with increasing speed, and the amount of heat generated has also increased. For this reason, the temperature becomes a bottleneck, and the operating frequency of the CPU may not be increased.
[0009]
Accordingly, the present invention aims at providing a processor which can solve such problems.
[0010]
[Means for Solving the Problems]
In order to achieve such an object, the invention described in claim 1 is a processor which decodes a plurality of instruction codes by a decoding means and operates using a plurality of control signals obtained by the decoding, decoding means, wherein associating with each of the control signals comprises means for outputting a holding signal to indicate that it is not necessary to change the control signal, when said holding signal is not output from the decode means A selection means for selecting the output control signal and selecting the signal stored in the storage means when the holding signal is output, the storage means for each execution of each instruction code, The signal selected by the selection means is stored.
[0011]
The invention according to claim 2 is a processor that decodes a plurality of instruction codes by a decoding means, and operates using a plurality of control signals obtained by the decoding, wherein the decoding means includes each of the control signals. A means for outputting a holding signal that indicates that there is no need to change the control signal is provided.
[0014]
[Action]
According to the present invention, the values of some control signals output inside the CPU are stored in the storage means, and the control signals that do not require any operation when executing a command using the values stored in the storage means. The value is retained. For this reason, the number of signals operating inside the CPU can be reduced, the power consumption of the CPU can be reduced, and consequently the amount of heat generated by the CPU can be reduced.
[0015]
【Example】
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0016]
FIG. 1 shows a part of the configuration of the “processor” of the present invention in the embodiment. In the figure, 1 is a memory (MEM) in which a program is stored, 2 is an instruction register (IR) that temporarily stores an instruction code read from the memory, and 3 is an arithmetic element and memory that decodes the output of the instruction register. It is a decoding circuit (DEC) that generates control signals such as elements. The decode circuit 3 is composed of a combinational logic circuit, a ROM (microprogram ROM), and the like.
[0017]
[0018]
To the barrel shifter 7, src_a is connected as an operation data input, and brs_n specifying a shift amount is input.
[0019]
Codes of addition a, b, addition a, i, subtraction a, b, subtraction a, i command for the ALU, and right shift n and left shift n commands for the barrel shifter 7 are read from the memory 1, and the instruction register 2 The decoding circuit 3 outputs the following control signals to each output terminal.
[0020]
[Table 1]
[0021]
The blank can be any value.
[0022]
The alu_hold, brs_hold, mux_hold, and brs_hold signals as an example of the “holding signal” of the present invention are connected to the selection inputs of the
[0023]
(Other)
As described above, the flip-flop is used as an example of the “storage unit” of the present invention. However, the “storage unit” only needs to have a function of storing and holding data, and is not necessarily a flip-flop. For example, the number of internal gates can be reduced by using a latch. On the other hand, when the flip-flop is used, there is an effect that a period during which the input can be changed without affecting the output is widened.
[0024]
【The invention's effect】
As described above, according to the present invention, the value of the control signal that does not require an operation when the command is executed is held. For this reason, the number of signals operating inside the CPU can be reduced, the power consumption of the CPU can be reduced, and consequently the amount of heat generated by the CPU can be reduced. For this reason, it is possible to reduce the size of the heat radiating fins, the heat radiating fan, the power source and the like of the CPU, and to reduce the size and cost of the entire apparatus using the CPU of the present invention.
[0025]
Furthermore, in the apparatus driven by a battery, there exists an effect that drive time becomes long. Further, in an apparatus where the temperature has become a bottleneck, there is an effect that the operating speed of the CPU can be increased.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram illustrating a hardware configuration of a processor according to an embodiment of the present invention.
[Explanation of symbols]
1 Memory 2 Instruction Register 3
7 Barrel shifter (BRS)
41-44 selector (MUX)
51-54 flip-
101 ALU data selector control signal (sel_b)
110 BRS command control signal (brs_c)
111 BRS shift amount control signal (brs_n)
121 ALU command decode signal (alu_com)
122 ALU command hold signal (aul_hold)
123 BRS command decode signal (brs_com)
124 BRS command hold signal (brs_hold)
125 ALU data selector decode signal (mux_com)
126 ALU data selector hold signal (mux_hold)
127 BRS shift amount decode signal (brs_num)
128 BRS shift amount decode signal (brs_hold)
Claims (2)
前記デコード手段が、前記各々の制御信号に対応づけた、当該制御信号を変化させる必要がないことを示す保持信号を出力する手段を有し、
前記保持信号が出力されていない場合は前記デコード手段から出力された前記制御信号を選択し、前記保持信号が出力された場合には格納手段に格納された信号を選択する選択手段を備え、
前記格納手段は、前記各命令コードの実行毎に、前記選択手段により選択された信号を格納する
ことを特徴とするプロセッサ。A processor that decodes a plurality of instruction codes by a decoding unit and operates using a plurality of control signals obtained by decoding,
The decoding means includes means for outputting a holding signal associated with each control signal and indicating that the control signal does not need to be changed;
When the holding signal is not output, the control signal output from the decoding means is selected, and when the holding signal is output, the selection means for selecting the signal stored in the storage means,
The storage means stores the signal selected by the selection means for each execution of each instruction code.
前記デコード手段が、前記各々の制御信号に対応づけた、当該制御信号を変化させる必要がないことを示す保持信号を出力する手段を備えたことを特徴とするプロセッサ。A processor that decodes a plurality of instruction codes by a decoding unit and operates using a plurality of control signals obtained by decoding,
A processor characterized in that the decoding means comprises means for outputting a holding signal associated with each control signal and indicating that it is not necessary to change the control signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08411995A JP3647078B2 (en) | 1995-04-10 | 1995-04-10 | Processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08411995A JP3647078B2 (en) | 1995-04-10 | 1995-04-10 | Processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08286907A JPH08286907A (en) | 1996-11-01 |
JP3647078B2 true JP3647078B2 (en) | 2005-05-11 |
Family
ID=13821639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08411995A Expired - Fee Related JP3647078B2 (en) | 1995-04-10 | 1995-04-10 | Processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3647078B2 (en) |
-
1995
- 1995-04-10 JP JP08411995A patent/JP3647078B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08286907A (en) | 1996-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3592230B2 (en) | Data processing device | |
US4870562A (en) | Microcomputer capable of accessing internal memory at a desired variable access time | |
US20060265571A1 (en) | Processor with different types of control units for jointly used resources | |
JPS589454B2 (en) | Programmable control latch mechanism | |
JPH10124310A (en) | Arithmetic processor and microprocessor | |
US6353880B1 (en) | Four stage pipeline processing for a microcontroller | |
US20030033503A1 (en) | Single instruction having opcode and stack control field | |
WO2007037930A2 (en) | PERFORMING AN N-BIT WRITE ACCESS TO AN MxN-BIT-ONLY PERIPHERAL | |
US7913069B2 (en) | Processor and method for executing a program loop within an instruction word | |
US7047396B1 (en) | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system | |
US7308553B2 (en) | Processor device capable of cross-boundary alignment of plural register data and the method thereof | |
JPH02162422A (en) | Preference branch circuit | |
JP3647078B2 (en) | Processor | |
US8631173B2 (en) | Semiconductor device | |
US5604876A (en) | Apparatus for handling differing data length instructions using either directly specified or indirectly specified data lengths | |
JP2009507292A (en) | Processor array with separate serial module | |
KR100188374B1 (en) | Processing unit | |
US5875323A (en) | Processor using implicit register addressing | |
JP2567134B2 (en) | Bit field logical operation processing device and monolithic microprocessor having the same | |
JP3027627B2 (en) | Arithmetic processor of programmable controller | |
JP7384374B2 (en) | central processing unit | |
JPH06149563A (en) | Data processor | |
JP2004362176A (en) | Integrated circuit | |
JP2002297376A (en) | Programmable controller | |
JPS6188337A (en) | Microprogram controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041019 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041220 |
|
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: 20050121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050208 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080218 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120218 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130218 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140218 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |