SYSTEM AND METHOD FOR REDUCING POWER CONSUMPTION IN A DEVICE USING REGISTER FILES
A device and method for reducing the power consumption of an electronic device using register file with bypass mechanism. The width of a pulse controlling the word write operation may be extended twice as long so that the extended portion substantially overlaps a following word read pulse. The extension of the pulse width of the read operation may enable lowering the Vcc Min value for the electronic device and thus may lower the power consumption of the device.
Latest Patents:
Hand held electronic devices, portable electronic devices, wireless communication devices and the like need to operate using a portable energy source, such as a rechargeable battery. Many efforts are made in the design of these devices, their circuitry and their modes of operation in order to lower their power consumption as much as possible without substantially affecting their performance. One of the parameters by which power consumption of such devices may be affected is the control of the supply voltage to the active units in the electronic circuitry. The lower the supply voltage, the lower the consumed power.
For certain needs two different levels of supply voltage to an electronic circuit may be defined. The first is the minimum level of power supply voltage which may still guarantee that the logical levels at the various pins of units in the circuit are retained. This voltage level is sometimes called stand-by VccMin. The other level is the minimum level of power supply voltage at which the associated unit may still operate. This voltage is sometimes called active VccMin. Active VccMin may further have two different typical values. The first is defined as the lowest voltage at which lowering of the frequency will no longer enable to write to a memory cell in the register file. This value is sometimes defined as DC Write VccMin. The other value of active VccMin is the lowest voltage value which still allows completion of ‘write’ operation to a memory cell in register file for a given frequency. This voltage value is sometimes called AC Write VccMin. The actual level of any of these voltage levels may be affected by several factors, comprising the functionality of the unit, the technology of the unit, the scale and density of the unit, the frequency of operation of the unit, the pulse width at given lines and pins, etc.
One type of electronic unit that may be affected by at least the pulse width is the register file, which is, generally speaking, an array of storage registers that may have more than one set of ports for Read/Write operations, thus allowing more than one source/destination of data to cooperate with the register file.
The subject matter disclosed in this application is particularly pointed out and distinctly claimed in the concluding portion of the specification. Embodiments of the invention, however, both as to organization and method of operation, together with objects, features and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanied drawings in which:
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
DETAILED DESCRIPTION OF THE INVENTIONIn the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the subject matter disclosed herein. However, it will be understood by those of ordinary skill in the art that embodiments of the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure embodiments of the present invention.
Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.
Embodiments of the present invention may include apparatus for performing the operation herein. This apparatus may be specially constructed for the desired purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk, including floppy disks, optical disks, magnetic-optical disks, read-only memories (ROM's), compact disc read-only memories (CD-ROM's), random access memories (RAM's), electrically programmable read-only memories (EPROM's), electrically erasable and programmable read only memories (EEPROM's), FLASH memory, magnetic or optical cards, or any other type of media suitable for storing electronic instructions and capable of being coupled to a computer system bus.
The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of embodiments of the invention as described herein.
Some embodiments of the present invention may be implemented in machine-executable instructions embodied for example on a computer-readable medium such as a memory or disk. These instructions may be used to cause a general-purpose or special-purpose processor that is programmed with the instructions to perform the operations described. Alternatively, the operations may be performed by specific hardware that may contain hardwired logic for performing the operations, or by any combination of programmed computer components and custom hardware components.
A computer program product that may include a machine-readable medium having stored thereon instructions that may be used to program a computer (or other electronic devices) to perform embodiments of the invention. For the purposes of this specification, the terms “machine-readable medium” may include any medium that is capable of storing or encoding a sequence of instructions for execution by the machine and that cause the machine to perform any one of the methodologies of embodiments of the present invention. The term “machine-readable medium may accordingly include, but is not limited to, solid-state memories, optical and magnetic disks, and a carrier wave that encodes a data signal.
Although the scope of the present invention is not limited in this respect, the system and method disclosed herein may be implemented in many wireless, handheld and portable communication devices. By way of example, wireless, handheld and portable communication devices may include wireless and cellular telephones, smart telephones, personal digital assistants (PDAs), web-tablets and any device that may provide wireless access to a network such, an intranet or the internet. It should be understood that embodiments of the present invention may be used in a variety of applications.
Attention is made to
Register file 50 may include control circuitry, such as control unit 28 in
Register file 50 may include a bypass scheme. A bypass scheme may be used for example to enable shortening of the time between write action and read of the content of the write action from the registers in a register file. In order to avoid the need to wait after a write action until the data in the registers is stable and valid and only then read the associated content of the register, a bypass scheme may allow presenting the data that is being written to the register also at the output terminal 59 of the register file at the same time. Bypass reading may be done through for example the BP_WRBL line and the timing of the data at BP_WRBL line with a data received from register file array 51 on RDBL line so as to present a valid data at the output terminal 59 is done by Muxi 60, as is explained in more details herein. Since the relevant data to be read is present and valid on lines BP_RDBL and RDBL at different times and possibly at overlapping times a multiplexer (Mux) 60 may be used to select which of the lines in its inputs will be present at its output. Mux 60 may be controlled by control signal RDBL_MUX, which may be driven by control unit 28 of
Attention is directed to
A configuration that may limit the lower value of Active VccMin for a register file may include a read-after-write operation in back-to-back phases for example as shown in
Attention is directed to
According to embodiments of the present invention a method of extending the pulse-width of the signal controlling the write word operation (WRWL) is presented. Attention is directed to
The modification of the operation of register file 50 may be achieved as a result of the modification of a known register file as depicted in
Signals CLK, RDWL and WRBL in this figure have been described in details above. However, different from the traditional write word line (WRWL) signal scheme, according to some embodiments of the present invention, signal WRWL may be extended substantially twice as long compared with WRWL signal of known register files to last substantially two consecutive phases of clock CLK signal, where the extended portion of the pulse substantially fully overlaps the following RD pulse. The extended WRWL pulse will be denoted herein as
Although the scope of the present invention is not limited in this respect, the wireless communications technologies may include radio frequency (RF) and infrared. Non-limiting examples of RF wireless standards are protocols, such as, for example, Bluetooth, IEEE-Std 802.11a, IEEE-Std 802.11b, 1999 edition, IEEE-Std 802.11g and HomeRF. Non-limiting examples of infrared light signals are protocols, such as, for example, InfraRed Data Association (IrDA) standard.
While embodiments of the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications and other applications of the invention may be made. Embodiments of the present invention may include other apparatuses for performing the operations herein. The appended claims are intended to cover all such modifications and changes.
Claims
1. A device comprising:
- a register file array;
- at least one input terminal to provide received data for writing to said register file array via at least one write bit line, the write bit line including at least signal lines, the writing of received data performed in association with a write word signal carried on a write word line having signal lines, and at least one output terminal to receive data from at least said register file array via at least one read bit line; and
- a control unit to control the operation of said register file array and said input and output terminals, said control unit to provide: a clock signal to control the propagation of operations in said register file, said clock signal operating in a basic rate having two phases; and the write word signal to enable writing to a row of registers comprising at least one register;
- wherein the write word signal is extended to last substantially two consecutive phases of said clock in a read-after-write operation.
2. The device of claim 1 further comprising a bypass mechanism to allow presenting input data being written to said register file simultaneously at said output terminal, regardless of the propagation of the writing.
3. The device of claim 2, comprising latch units on the at least signal lines of write bit line and signal lines of the write word line to enable time-coordination of write bit signals with said extended write word signal.
4. The device of claim 1 wherein said register file array comprises a two-dimensional array.
5. The device of claim 1, comprising a multiplexer to receive an output data bit from a register in said register file array at a first input and an input data bit to said register in a second input and to provide an output data bit to said output terminal.
6. The device of claim 5, comprising a control signal to control said multiplexer, said control signal is a logic result of an AND function of a write control signal and a logic XOR of write set address signal and read set address signal.
7. The device of claim 2 wherein said bypass mechanism comprises a multiplexer to provide at its output one of an output data bit signal from a register in said register file array and an input data bit signal to be written to said register.
8. The device of claim 1 wherein the extended write word signal is to lower the value of active VccMin of said device.
9. The device of claim 8 wherein said lowering of the value of active VccMin is to lower power consumption of said device.
10. A device comprising:
- a register file array;
- an input terminal, said input terminal to provide received data to said register file array;
- an output terminal, said output terminal to receive data from at least said register file array via at least one read bit line;
- at least one write bit line having signal lines;
- at least one write word line having signal lines, said write word line to operate in association with operation of said at least one write bit line; and
- a control unit to control the operation of said register file array and said input terminals and said output terminals, said control unit to provide: a clock signal to control the propagation of operations in said register file, said clock signal operating in a basic rate having two phases; and a write word signal to enable writing to a row of registers comprising at least one register;
- wherein the write word signal is extended to last substantially two subsequent consecutive phases of said clock in a read-after-write operation.
11. The device of claim 10 comprising a bypass mechanism to present input data being written to said register file at said output terminal simultaneously to said write word signal, regardless of the propagation of the write-operation.
12. The device of claim 11, comprising:
- a plurality of latch units disposed on the signal lines of write bit line and on the signal lines of word write line to enable time-coordination of write bit line and write word line signals with said extended write word signal.
13. The device of claim 12 wherein said register file array comprises a two-dimensional array.
14. The device of claim 12, comprising:
- a multiplexer comprising inputs, the multiplexer to receive an output data bit from a register in said register file array at a first input and to receive an input data bit to said register in a second input and to provide an output data bit to select which of the lines in the multiplexer inputs are presented at a multiplexer output.
15. The device of claim 14, comprising a control signal to control said multiplexer, said control signal being a logic result of an AND function of a write control signal and a logic XOR of write set address signal and read set address signal.
Type: Application
Filed: Mar 28, 2008
Publication Date: Oct 1, 2009
Patent Grant number: 8356202
Applicant:
Inventors: Satish Damaraju (El Dorado Hills, CA), Scott Siers (Elk Grove, CA), Omar Malik (El Dorado Hills, CA)
Application Number: 12/057,685
International Classification: G06F 1/04 (20060101); G06F 9/305 (20060101);