JP3647078B2 - Processor - Google Patents

Processor Download PDF

Info

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
Application number
JP08411995A
Other languages
Japanese (ja)
Other versions
JPH08286907A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP08411995A priority Critical patent/JP3647078B2/en
Publication of JPH08286907A publication Critical patent/JPH08286907A/en
Application granted granted Critical
Publication of JP3647078B2 publication Critical patent/JP3647078B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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】

Figure 0003647078
【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]
Reference numerals 41 to 44 denote selectors (MUX) as examples of “selecting means” of the present invention, 51 to 54 are flip-flops (FF), 6 is an arithmetic unit (ALU), and 7 is a barrel shifter (BRS). ALU command control signal (alu_c) 100, data input selection signal (sel_b) 101, and BRS command control signal (brs_c) 110 are input to ALU 6 and barrel shifter 7 as control signals. The ALU 6 is connected to the output 120 of the selector 45 to which src_b and src_i are input as operation data and the data input src_a.
[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]
Figure 0003647078
[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 selectors 41 to 44, respectively. The selectors 41 to 44 select the outputs of the flip-flops 51 to 54, respectively, when the “holding signal” input to the selection input is true. As a result, the state before execution of the control signal to the component not used is saved for each instruction command.
[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 Instruction Decoder 6 Arithmetic Unit (ALU)
7 Barrel shifter (BRS)
41-44 selector (MUX)
51-54 flip-flop 100 ALU command control signal (alu_c)
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.
JP08411995A 1995-04-10 1995-04-10 Processor Expired - Fee Related JP3647078B2 (en)

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)

Also Published As

Publication number Publication date
JPH08286907A (en) 1996-11-01

Similar Documents

Publication Publication Date Title
JP3592230B2 (en) Data processing device
EP0238090B1 (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
US20070073953A1 (en) Performing an N-bit write access to an MxN-bit-only peripheral
US20030033503A1 (en) Single instruction having opcode and stack control field
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
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
JP2520882B2 (en) Data processing device and data processing method
KR100188374B1 (en) Central processing unit and an arithmetic operation processing unit
US5875323A (en) Processor using implicit register addressing
US20080244240A1 (en) Semiconductor device
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
JPH11163736A (en) Processor
JP2004362176A (en) Integrated circuit

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