GB2385688A - Minimising power loss in addressing memory - Google Patents
Minimising power loss in addressing memory Download PDFInfo
- Publication number
- GB2385688A GB2385688A GB0204509A GB0204509A GB2385688A GB 2385688 A GB2385688 A GB 2385688A GB 0204509 A GB0204509 A GB 0204509A GB 0204509 A GB0204509 A GB 0204509A GB 2385688 A GB2385688 A GB 2385688A
- Authority
- GB
- United Kingdom
- Prior art keywords
- address
- memory address
- current memory
- addressing
- increment
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
In order to minimise the number of address line state changes and hence power loss due to charge/discharge of the address line(s), address differences are passed from a CPU 2 to a memory 4. The difference between a current address and a previous address latched at 6 is formed by a subtractor 10 and sent in parallel or serial form on address bus 12. Adder 14 receives the difference, adds it to a previous address from latch 16 to form a new absolute address for the memory, and latches 6 and 16 are updated.
Description
<Desc/Clms Page number 1>
MEMORY ADDRESSING
This invention relates to a method and apparatus for addressing solid state'memory devices.
Known solid state memory devices are addressed by multi-bit digital words. These can be supplied to a memory device either in parallel on a plurality of address lines or as a serial address by time division multiplexing on a single address line. Addressing in these known devices uses what is known as absolute addressing. This means that each time a location is addressed the full address is sent on the address line or lines. In the case of parallel address lines there will be changes in the states of a plurality of the address lines with each new address. In the case of serial address line there will be a plurality of changes of state sent along the address line as the new address is sent along it.
These changes in state on address lines result in dissipation of power. It is desirable to minimise power loss in electronic devices, particularly in portable devices where batteries are relied upon to provide electrical power.
Specific embodiments of the present invention seek to overcome this problem with power dissipation when addresses are changed by transmitting only a differential address change. In the case of parallel addressing, this leads to address lines being kept at constant value when addresses are incrementing at a constant rate. In the case of serial addressing, it results in fewer state changes having to be sent along the serial address line for each incremental address.
The invention is defined with more precision in the appended claims to which reference should now be made.
Embodiments of the invention will now be described in detail by way of example with reference to the accompanying drawing in which:
<Desc/Clms Page number 2>
Figure 1 shows a block diagram of an embodiment of a memory interface in accordance with the invention.
In the figure there is shown a central processing unit (CPU) 2 which is used to address a memory 4. A plurality of address bits 0-N are output by the CPU 2 and are latched in a latch 6 in response to a clock pulse provided on clock line 8. This clock pulse simultaneously clocks a subtractor 10 to subtract a previous value stored in latch 6 from the current value provided on the address lines 0-N and to output the result of the subtraction on address lines 12. The subtracter 10 and latch 6 are provided physically in close proximity to the CPU 2 and are preferably provided in an integrated package 12.
Initially, the latch 6 will have a zero value stored in it and thus the effect of subtraction in subtracter 10 where the memory is first addressed will be to leave the values of the address line as 0-N unchanged. However, on subsequent address changes, either incremental or address jumps, there will be a value stored in the latch. Thus, this value will be subtracted from the new address value in the subtracter 10 and the output on lines 12 will then be the differential between the last address and the new address. For sequential addressing with an increment of 1 this means that only a single bit needs to be provided on output lines 12 and this will be the least significant bit provided on a single address line. Thus, only one address line has a state transmitted on it, and as long as the increment remains the same, there is no alternative current power dissipated by charging and discharging of address lines, i. e. the status of all lines remain the same.
Some larger addressing increments will lead to charging and discharging of address lines but this will usually result in fewer charges and discharges than with conventional addressing, thereby reducing the power dissipated.
<Desc/Clms Page number 3>
When the address jumps the number of address line changes which are required will usually be fewer than in conventional addressing but may on sometimes be larger.
However, most addressing is incremental and this incremental addressing is what usually leads to the dissipation of power in address lines. Jumps in addresses occur much less frequently and therefore power dissipated in them is not such a problem.
The memory being addressed is memory 4. Address lines 12 are input to adder 14. This also receives a previous address from a further latch 16. Thus, the incremental address is added to the previous address in the adder 14 the obsolete address is output on address lines 18 which form the address input to the memory. The output of the adder also forms an input to the latch 16 which latches this value in its registers as the adder is clocked, for use in a following address.
A reset line 20 is provided as an input to latch 6 and latch 16 and this is able to reset the value stored in these to 0 when a new addressing program is desired to commence. This reset will therefore cause absolute addressing to the memory unit 4 until reset is released and a differential addressing recommences.
The invention could also be used with serial address lines with address bits suitably synchronised by the clock 8. This would again lead to lower power dissipation as there would be fewer changes in state on the address lines 12, i. e. most bits will be zero.
The memory 4, adder 14 and latch 16 are preferably provided in close proximity. In a preferred embodiment they are provided in a single package.
Claims (14)
- CLAIMS 1. A method for addressing a memory device comprising the steps of storing a current memory address receiving an increment for the current memory address and incrementing the current memory address with the recorded increment.
- 2. A method according to claim 1 in which the step of incrementing the current memory address comprises adding the increment to the current memory address.
- 3. A method according to claim 1 and 2 including the step of storing the incremented address.
- 4. A method according to claim 3 in which the incremented address replaces the current memory address.
- 5. A method according to claim 1,2, 3 or 4 in which the current memory address is stored at the memory device and at an address generator.
- 6. A method according to claim 5 in which the steps of generating a new memory address at the address generator, comprises subtracting the current memory address from the new memory address to generate the increment.
- 7. Apparatus for addressing a memory device comprising means for storing a current memory address, means for receiving an increment to the current memory address, and means for incrementing the current memory address with the received increment.
- 8. Apparatus according to claim 7 in which means for incrementing comprises an address for adding the increment to the current memory address.<Desc/Clms Page number 5>
- 9. Apparatus according to claim 8 in which the storing means stores the incremented address.
- 10. Apparatus according to claim 9 in which the storing means replaces the current memory address with the incremented address.
- 11. Apparatus according to claim 7,8, 9, or 10 including an address generator which includes a further storing means for the current memory address.
- 12. Apparatus according to claim 7 in which the address generator generates a new memory address and includes a subtractor to subtract the stored current memory address from the new memory address to generate the increment.
- 13. A method for addressing a memory device substantially as herein described.
- 14. Apparatus for addressing a memory device substantially as herein described with reference to the figure.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0204509A GB2385688A (en) | 2002-02-26 | 2002-02-26 | Minimising power loss in addressing memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0204509A GB2385688A (en) | 2002-02-26 | 2002-02-26 | Minimising power loss in addressing memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| GB0204509D0 GB0204509D0 (en) | 2002-04-10 |
| GB2385688A true GB2385688A (en) | 2003-08-27 |
Family
ID=9931825
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GB0204509A Withdrawn GB2385688A (en) | 2002-02-26 | 2002-02-26 | Minimising power loss in addressing memory |
Country Status (1)
| Country | Link |
|---|---|
| GB (1) | GB2385688A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1607886A3 (en) * | 2004-06-16 | 2006-03-22 | Matsushita Electric Industrial Co., Ltd. | Design method and program for a bus control portion in a semiconductor integrated device |
| US7363465B2 (en) | 2004-06-25 | 2008-04-22 | Seiko Epson Corporation | Semiconductor device, microcomputer, and electronic equipment |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01269139A (en) * | 1988-04-20 | 1989-10-26 | Sharp Corp | random access memory |
| JPH01286054A (en) * | 1988-05-13 | 1989-11-17 | Nec Corp | Memory reader |
| JPH06290138A (en) * | 1993-03-31 | 1994-10-18 | Fujitsu Ten Ltd | Address bus control system |
| JPH08202612A (en) * | 1995-01-31 | 1996-08-09 | Mitsubishi Electric Corp | Semiconductor integrated circuit |
| US5649146A (en) * | 1994-03-31 | 1997-07-15 | Sgs - Thomson Microelectronics S.A. | Modulo addressing buffer |
| DE19935092C1 (en) * | 1999-07-27 | 2000-10-12 | Siemens Ag | Arrangement for transferring address information in serial transmission system, esp. in multiprocessor system, is simple to implement, significantly reduces access addresses transfer time |
-
2002
- 2002-02-26 GB GB0204509A patent/GB2385688A/en not_active Withdrawn
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01269139A (en) * | 1988-04-20 | 1989-10-26 | Sharp Corp | random access memory |
| JPH01286054A (en) * | 1988-05-13 | 1989-11-17 | Nec Corp | Memory reader |
| JPH06290138A (en) * | 1993-03-31 | 1994-10-18 | Fujitsu Ten Ltd | Address bus control system |
| US5649146A (en) * | 1994-03-31 | 1997-07-15 | Sgs - Thomson Microelectronics S.A. | Modulo addressing buffer |
| JPH08202612A (en) * | 1995-01-31 | 1996-08-09 | Mitsubishi Electric Corp | Semiconductor integrated circuit |
| DE19935092C1 (en) * | 1999-07-27 | 2000-10-12 | Siemens Ag | Arrangement for transferring address information in serial transmission system, esp. in multiprocessor system, is simple to implement, significantly reduces access addresses transfer time |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1607886A3 (en) * | 2004-06-16 | 2006-03-22 | Matsushita Electric Industrial Co., Ltd. | Design method and program for a bus control portion in a semiconductor integrated device |
| US7363465B2 (en) | 2004-06-25 | 2008-04-22 | Seiko Epson Corporation | Semiconductor device, microcomputer, and electronic equipment |
Also Published As
| Publication number | Publication date |
|---|---|
| GB0204509D0 (en) | 2002-04-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100236536B1 (en) | Modulo address generator and its method | |
| EP0425303B1 (en) | Delay measuring circuit | |
| US6480942B1 (en) | Synchronized FIFO memory circuit | |
| JPH03101537A (en) | Apparatus for bit rate adaptation | |
| GB2385688A (en) | Minimising power loss in addressing memory | |
| US7376763B2 (en) | Method for transferring data from a memory subsystem to a network adapter by extending data lengths to improve the memory subsystem and PCI bus efficiency | |
| JP3453570B2 (en) | Digital data addition circuit | |
| US5379410A (en) | Data generating apparatus generating consecutive data and having a data skip scheme and a method of operating the same | |
| US6763401B2 (en) | Direct memory access controller | |
| US6023442A (en) | Semiconductor integrated circuit memory | |
| TW201238253A (en) | Frequency synthesizer and frequency synthesizing method for converting frequency's spurious tones into noise | |
| US5946369A (en) | High-speed binary synchronous counter with precomputation of carry-independent terms | |
| US6643793B1 (en) | Apparatus for transferring and holding data based on a selected clock rate | |
| US5574451A (en) | Digital circuit for the introduction of dither into an analog signal | |
| US6052768A (en) | Circuit and method for modulo address generation with reduced circuit area | |
| JP3009300B2 (en) | Arbitrary waveform generator | |
| KR19990055985A (en) | Elastic buffer circuit in synchronous transmission device | |
| US20100153609A1 (en) | Non-system bus width data transfer executable at a non-aligned system bus address | |
| EP0068859A3 (en) | Static-type semiconductor memory device | |
| KR101991864B1 (en) | Method and apparatus of correcting clock frequency of eliminating error in converting sub-nano second into nano second unit | |
| JPH05266685A (en) | Storage device | |
| KR0170213B1 (en) | First-in, first-out buffer memory device and its status flag generation method | |
| KR940009823B1 (en) | Address Expansion Logic in Computer Systems | |
| JP3205074B2 (en) | Address generation circuit | |
| JP2002118846A (en) | Image coding device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |