US7533232B2 - Accessing data from different memory locations in the same cycle - Google Patents

Accessing data from different memory locations in the same cycle Download PDF

Info

Publication number
US7533232B2
US7533232B2 US10/717,085 US71708503A US7533232B2 US 7533232 B2 US7533232 B2 US 7533232B2 US 71708503 A US71708503 A US 71708503A US 7533232 B2 US7533232 B2 US 7533232B2
Authority
US
United States
Prior art keywords
same
subline
processor
read
controller
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, expires
Application number
US10/717,085
Other versions
US20050108493A1 (en
Inventor
Ramesh V. Peri
John S. Fernando
Ravi Kolagotla
Srinivas P. Doddapaneni
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to US10/717,085 priority Critical patent/US7533232B2/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DODDAPANENI, SRINIVAS P., FERNANDO, JOHN S., KOLAGOTLA, RAVI, PERI, RAMESH V.
Publication of US20050108493A1 publication Critical patent/US20050108493A1/en
Application granted granted Critical
Publication of US7533232B2 publication Critical patent/US7533232B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0853Cache with multiport tag or data arrays

Definitions

  • This invention relates generally to digital signal processors.
  • a digital signal processor is an integrated circuit designed for high speed data manipulation. Digital signal processors may be used in audio, communications, image manipulation, and other data acquisition and data control applications.
  • Digital signal processors may use a modified Harvard architecture with dual ported memory where two data address buses are used to fetch data items from two different vectors located in memory at the same time. By accessing two data items at the same time, the computation units may be continuously fed with data. Dual ported memory is typically implemented using several banks of single ported memory. In such implementations, two data fetches may be done in one cycle when the data that must be accessed are in different memory banks that may be accessed at the same time.
  • FIG. 1 is an architectural level view of a digital signal processor in accordance with one embodiment of the present invention
  • FIG. 2 is a more detailed depiction of a portion of the embodiment shown in FIG. 1 in accordance with one embodiment of the present invention
  • FIG. 3 is a flow chart for one embodiment of the present invention.
  • FIG. 4 is a schematic system depiction of one embodiment of the present invention.
  • a digital signal processor 10 may include a system bus interface 12 coupled to an L 1 data memory 14 .
  • the memory 14 may include ports coupled to the buses data 0 and data 1 which carry data back to a core 24 .
  • parallel memory accesses may be achieved using the buses DA 0 and DA 1 when data in different memory banks are targeted for data sought by the core 24 .
  • the digital signal processor core 24 may have an address interface 26 , a video processing unit 28 , an accumulator 30 , a shifter 32 , a multiplier 34 a , a multiplier 34 b , and a pair of arithmetic logic units 36 .
  • the system bus interface 12 may also be coupled to an L 1 instruction memory 38 which operates with a sequencer 40 .
  • a memory controller 16 may include an address interface 18 and a pair of arithmetic logic units 20 and 22 .
  • the controller 16 receives the signals on LD 0 and LD 1 buses which provide data to the core 24 .
  • the controller 16 outputs addresses on the data buses DA 0 and DA 1 .
  • the separate DA 0 and DA 1 buses may be utilized to address two locations at the same time in the same cycle.
  • a controller 18 may be provided on the output of the controller 16 (or as part of the controller 16 ) between the data buses DA 0 and DA 1 .
  • the controller 18 may compare the addresses on buses DA 0 and DA 1 to see if they are directed to access the same memory subline.
  • a subline may be 64 bits while a line is 256 bits in one embodiment. If the targeted data is in the same subline, then a 64 bit read from the same or different 32 bit segments in the same subline may be implemented in the same cycle. The 64 bit read may be accomplished from the same subline at the same time, even though each of these accesses target the same memory bank.
  • the controller 18 may include a comparator 42 that compares the addresses on the DA 0 and DA 1 buses as shown in FIG. 2 . If the same 64 bit subline is being addressed, and if 64 bit addressing is enabled ( 64 b _enabled), then the output of the AND gate 44 is provided to the 64 bit read port in the L 1 data memory 14 .
  • the 64 bit read port is simply the combination of the conventional ports 0 and 1 of a modified Harvard architecture. The ports 0 and 1 are used to address two locations in different memory banks in the memory 14 in the same cycle.
  • Different 32 bit segments of the same subline may be read at the same time in the same cycle when a signal is received by the 64 bit read port.
  • a first 32 bit data output from the data memory 14 may be sent on data 0 and the other 32 bit data output may be provided on data 1 .
  • that same 32 bit segment may be provided on both data 0 and data 1 .
  • FIG. 3 illustrates the operation of the hardware and further provides an illustration of a software based approach.
  • the code may be stored in a processor-based controller 18 , as one example, or the core 24 , as another example.
  • an initial check at diamond 44 determines whether different memory banks are being accessed. If so, parallel read operations may be done to save cycles as indicated in block 48 . However, even if different memory banks are not accessed, as determined in diamond 44 , if the same subline would be accessed, as determined in diamond 46 , the operation can proceed to read both segments in the same cycle.
  • the system 50 may be used in wireless devices such as, for example, a personal digital assistant (PDA), a laptop or portable computer with wireless capability, a web tablet, a wireless telephone, a pager, an instant messaging device, a digital music player, a digital camera, or other devices that may be adapted to transmit and/or receive information wirelessly.
  • PDA personal digital assistant
  • System 50 may be used in any of the following systems: a wireless local area network (WLAN) system, a wireless personal area network (WPAN) system, or a cellular network, although the scope of the present invention is not limited in this respect.
  • WLAN wireless local area network
  • WPAN wireless personal area network
  • cellular network although the scope of the present invention is not limited in this respect.
  • System 50 may include the digital signal processor 10 , a general purpose processor 56 , an input/output (I/O) device 56 (e.g. a keypad, display), a memory 60 , and a wireless interface 58 and, coupled to each other via, a bus 54 . It should be noted that the scope of the present invention is not limited to embodiments having any or all of these components.
  • I/O input/output
  • the general purpose processor 52 may comprise, for example, one or more microprocessors, micro-controllers, or the like.
  • Memory 60 may be used to store messages transmitted to or by system 50 .
  • Memory 60 may also optionally be used to store instructions that are executed by the processors 10 and 52 during the operation of system 50 , and may be used to store user data.
  • Memory 60 may be provided by one or more different types of memory.
  • memory 60 may comprise a volatile memory (any type of random access memory) or a non-volatile memory such as a flash memory.
  • the I/O device 56 may be used to generate a message.
  • the system 50 may use the wireless interface 58 to transmit and receive messages to and from a wireless communication network with a radio frequency (RF) signal.
  • RF radio frequency
  • Examples of the wireless interface 58 may include an antenna, or a wireless transceiver, such as a dipole antenna, although the scope of the present invention is not limited in this respect.
  • the I/O device 56 may deliver a voltage reflecting what is stored as either a digital output (if digital information was stored), or it may be analog information (if analog information was stored).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

In a modified Harvard architecture, conventionally, read operations in the same cycle are only implemented when different memory banks are to be accessed by the different read operation. However, when different sublines in the same memory bank are being accessed, cycles may be saved by accessing both sublines in the same cycle.

Description

BACKGROUND
This invention relates generally to digital signal processors.
A digital signal processor is an integrated circuit designed for high speed data manipulation. Digital signal processors may be used in audio, communications, image manipulation, and other data acquisition and data control applications.
Digital signal processors may use a modified Harvard architecture with dual ported memory where two data address buses are used to fetch data items from two different vectors located in memory at the same time. By accessing two data items at the same time, the computation units may be continuously fed with data. Dual ported memory is typically implemented using several banks of single ported memory. In such implementations, two data fetches may be done in one cycle when the data that must be accessed are in different memory banks that may be accessed at the same time.
As a result, when the data to be accessed is in the same memory bank, then this parallel processing is not possible. As a result, extra cycles may be required.
Thus, there is a need for better ways to access data in digital signal processing.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an architectural level view of a digital signal processor in accordance with one embodiment of the present invention;
FIG. 2 is a more detailed depiction of a portion of the embodiment shown in FIG. 1 in accordance with one embodiment of the present invention;
FIG. 3 is a flow chart for one embodiment of the present invention; and
FIG. 4 is a schematic system depiction of one embodiment of the present invention.
DETAILED DESCRIPTION
Referring to FIG. 1, a digital signal processor 10 may include a system bus interface 12 coupled to an L1 data memory 14. The memory 14 may include ports coupled to the buses data 0 and data 1 which carry data back to a core 24. In a modified Harvard architecture, parallel memory accesses may be achieved using the buses DA0 and DA1 when data in different memory banks are targeted for data sought by the core 24.
The digital signal processor core 24 may have an address interface 26, a video processing unit 28, an accumulator 30, a shifter 32, a multiplier 34 a, a multiplier 34 b, and a pair of arithmetic logic units 36. The system bus interface 12 may also be coupled to an L1 instruction memory 38 which operates with a sequencer 40.
A memory controller 16 may include an address interface 18 and a pair of arithmetic logic units 20 and 22. The controller 16 receives the signals on LD0 and LD1 buses which provide data to the core 24. The controller 16 outputs addresses on the data buses DA0 and DA1. When different memory banks in the memory 14 are addressed by the core 24, the separate DA0 and DA1 buses may be utilized to address two locations at the same time in the same cycle.
Moreover, a controller 18 may be provided on the output of the controller 16 (or as part of the controller 16) between the data buses DA0 and DA1. The controller 18 may compare the addresses on buses DA0 and DA1 to see if they are directed to access the same memory subline. For example, a subline may be 64 bits while a line is 256 bits in one embodiment. If the targeted data is in the same subline, then a 64 bit read from the same or different 32 bit segments in the same subline may be implemented in the same cycle. The 64 bit read may be accomplished from the same subline at the same time, even though each of these accesses target the same memory bank.
The controller 18, in one embodiment, may include a comparator 42 that compares the addresses on the DA0 and DA1 buses as shown in FIG. 2. If the same 64 bit subline is being addressed, and if 64 bit addressing is enabled (64 b_enabled), then the output of the AND gate 44 is provided to the 64 bit read port in the L1 data memory 14. The 64 bit read port is simply the combination of the conventional ports 0 and 1 of a modified Harvard architecture. The ports 0 and 1 are used to address two locations in different memory banks in the memory 14 in the same cycle.
Different 32 bit segments of the same subline may be read at the same time in the same cycle when a signal is received by the 64 bit read port. A first 32 bit data output from the data memory 14 may be sent on data 0 and the other 32 bit data output may be provided on data 1. However, if each access is directed to the same 32 bit segment of the same subline, that same 32 bit segment may be provided on both data 0 and data 1.
Even in situations where the same memory bank is being accessed, it is possible nonetheless to do the read in the same cycle. Under the modified Harvard architecture this is not possible. As a result, the number of cycles that are utilized over a large number of read operations may be reduced in some embodiments of the present invention. In some embodiments, this improvement may be completely transparent to the instruction set architecture. However, the programmer can take advantage of this capability to get vector-like performance from traditional microprocessors.
While a hardware implementation is illustrated, a flow chart, shown in FIG. 3, illustrates the operation of the hardware and further provides an illustration of a software based approach. In a software based approach, the code may be stored in a processor-based controller 18, as one example, or the core 24, as another example.
In any case, an initial check at diamond 44 determines whether different memory banks are being accessed. If so, parallel read operations may be done to save cycles as indicated in block 48. However, even if different memory banks are not accessed, as determined in diamond 44, if the same subline would be accessed, as determined in diamond 46, the operation can proceed to read both segments in the same cycle.
Turning to FIG. 4, a portion of a system 50 in accordance with an embodiment of the present invention is described. The system 50 may be used in wireless devices such as, for example, a personal digital assistant (PDA), a laptop or portable computer with wireless capability, a web tablet, a wireless telephone, a pager, an instant messaging device, a digital music player, a digital camera, or other devices that may be adapted to transmit and/or receive information wirelessly. System 50 may be used in any of the following systems: a wireless local area network (WLAN) system, a wireless personal area network (WPAN) system, or a cellular network, although the scope of the present invention is not limited in this respect.
System 50 may include the digital signal processor 10, a general purpose processor 56, an input/output (I/O) device 56 (e.g. a keypad, display), a memory 60, and a wireless interface 58 and, coupled to each other via, a bus 54. It should be noted that the scope of the present invention is not limited to embodiments having any or all of these components.
The general purpose processor 52 may comprise, for example, one or more microprocessors, micro-controllers, or the like. Memory 60 may be used to store messages transmitted to or by system 50. Memory 60 may also optionally be used to store instructions that are executed by the processors 10 and 52 during the operation of system 50, and may be used to store user data. Memory 60 may be provided by one or more different types of memory. For example, memory 60 may comprise a volatile memory (any type of random access memory) or a non-volatile memory such as a flash memory.
The I/O device 56 may be used to generate a message. The system 50 may use the wireless interface 58 to transmit and receive messages to and from a wireless communication network with a radio frequency (RF) signal. Examples of the wireless interface 58 may include an antenna, or a wireless transceiver, such as a dipole antenna, although the scope of the present invention is not limited in this respect. Also, the I/O device 56 may deliver a voltage reflecting what is stored as either a digital output (if digital information was stored), or it may be analog information (if analog information was stored).
While an example is provided of a line of 256 bits, a subline of 64 bits and two 32 bit portions thereof, the present invention is not limited to embodiments with any particular number of bits per line and portion of a line.
While an example in a wireless application is provided above, embodiments of the present invention may also be used in non-wireless applications as well.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.

Claims (28)

1. A method comprising:
reading out the same portion of a memory line in the same cycle on two different buses.
2. The method of claim 1 including determining whether two read accesses are to the same portion of a memory line by determining whether the read accesses are to the same subline.
3. The method of claim 1 including using a modified Harvard architecture.
4. The method of claim 2 including providing a first portion of the subline on a first bus and a second portion of the subline on a second bus.
5. The method of claim 2 including determining that the read accesses are to the same half of a subline and providing that same half on two different output lines.
6. The method of claim 1 wherein determining includes comparing the addresses of two read accesses to determine whether those read accesses access the same subline.
7. The method of claim 6 including generating a read signal if those read accesses access the same subline.
8. The method of claim 7 including determining whether a 64 bit read has been enabled and, if so, accessing two different portions of the same subline in the same read cycle.
9. A processor comprising:
a data memory; and
a controller to access said data memory, said controller to read from the same portion of a memory line in the same cycle on two different buses.
10. The processor of claim 9 wherein said controller determines whether the read accesses are to the same subline.
11. The processor of claim 9 wherein said processor uses a modified Harvard architecture.
12. The processor of claim 10 wherein said controller to provide a first portion of the subline on a first bus and a second portion of the subline on a second bus.
13. The processor of claim 10 wherein said controller to determine that the read accesses are to the same half of a subline and provide that same half on two different output lines.
14. The processor of claim 9 wherein said controller to compare the addresses of two read accesses to determine whether said read accesses access the same subline.
15. The processor of claim 14 wherein said controller determines whether a 64 bit read has been enabled and, if so, accesses two different portions of the same subline in the same read cycle.
16. The processor of claim 14 wherein said controller includes a comparator coupled to an AND gate in turn coupled to said data memory.
17. A system comprising:
a digital signal processor;
a general purpose processor;
a bus coupled to said digital signal processor and said general purpose processor; and
said digital signal processor including a data memory and a controller to access the data memory, said controller to determine whether two reads are to the same portion of a memory line and, if so, read from the same portion in the same cycle on two different buses.
18. The system of claim 17 wherein said controller determines whether the read accesses are to the same subline.
19. The system of claim 18 wherein said digital signal processor uses a modified Harvard architecture.
20. The system of claim 18 wherein said controller to provide a first portion of said subline on a first bus and a second portion of said subline on a second bus.
21. The system of claim 18 wherein said controller to determine that the read accesses are to the same half subline and provide that same half on two different output lines.
22. The system of claim 18 wherein said controller to compare the addresses of two read accesses to determine whether said read accesses access the same subline.
23. An article comprising a medium storing instructions that, if executed, enable a processor-based system to:
determine whether two read accesses are to the same portion of a memory line; and
if so, read from the portion in the same cycle on two different buses.
24. The article of claim 23 further storing instructions that enable the processor-based system to determine whether the read accesses are to the same subline.
25. The article of claim 24 further storing instructions that enable a processor-based system to provide a first portion of the subline on a first bus and a second portion of the subline on a second bus.
26. The article of claim 24 further storing instructions that enable the processor-based system to determine that the read accesses are to the same half of a subline and provide that same half on two different output lines.
27. The article of claim 23 further storing instructions that enable the processor-based system to compare addresses to determine whether the read accesses access the same subline.
28. The article of claim 27 further storing instructions that enable the processor-based system to determine whether a 64 bit read has been enabled and, if so, access two different portions of the same subline in the same read cycle.
US10/717,085 2003-11-19 2003-11-19 Accessing data from different memory locations in the same cycle Expired - Fee Related US7533232B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/717,085 US7533232B2 (en) 2003-11-19 2003-11-19 Accessing data from different memory locations in the same cycle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/717,085 US7533232B2 (en) 2003-11-19 2003-11-19 Accessing data from different memory locations in the same cycle

Publications (2)

Publication Number Publication Date
US20050108493A1 US20050108493A1 (en) 2005-05-19
US7533232B2 true US7533232B2 (en) 2009-05-12

Family

ID=34574515

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/717,085 Expired - Fee Related US7533232B2 (en) 2003-11-19 2003-11-19 Accessing data from different memory locations in the same cycle

Country Status (1)

Country Link
US (1) US7533232B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236036A1 (en) * 2005-04-13 2006-10-19 Gschwind Michael K Method and apparatus for predictive scheduling of memory accesses based on reference locality
US20070150667A1 (en) * 2005-12-23 2007-06-28 Intel Corporation Multiported memory with ports mapped to bank sets

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247649A (en) * 1988-05-06 1993-09-21 Hitachi, Ltd. Multi-processor system having a multi-port cache memory
US5274790A (en) * 1990-04-30 1993-12-28 Nec Corporation Cache memory apparatus having a plurality of accessibility ports
US5557768A (en) * 1993-07-28 1996-09-17 International Business Machines Corporation Functional pipelined virtual multiport cache memory with plural access during a single cycle
US5742790A (en) * 1991-04-24 1998-04-21 Kabushiki Kaisha Toshiba Detection circuit for identical and simultaneous access in a parallel processor system with a multi-way multi-port cache
US5958038A (en) * 1997-11-07 1999-09-28 S3 Incorporated Computer processor with two addressable memories and two stream registers and method of data streaming of ALU operation
US5983328A (en) * 1987-03-13 1999-11-09 Texas Instruments Incorporated Data processing device with time-multiplexed memory bus
US20020188813A1 (en) * 2001-05-04 2002-12-12 Hugo Cheung On-chip hardware breakpoint generator with comprehensive memory operation detection
US6629206B1 (en) * 1999-12-31 2003-09-30 Koninklijke Philips Electronics N.V. Set-associative cache-management using parallel reads and serial reads initiated during a wait state
US6728856B2 (en) * 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US6928525B1 (en) * 2000-04-28 2005-08-09 Hewlett-Packard Development Company, L.P. Per cache line semaphore for cache access arbitration

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983328A (en) * 1987-03-13 1999-11-09 Texas Instruments Incorporated Data processing device with time-multiplexed memory bus
US5247649A (en) * 1988-05-06 1993-09-21 Hitachi, Ltd. Multi-processor system having a multi-port cache memory
US5274790A (en) * 1990-04-30 1993-12-28 Nec Corporation Cache memory apparatus having a plurality of accessibility ports
US5742790A (en) * 1991-04-24 1998-04-21 Kabushiki Kaisha Toshiba Detection circuit for identical and simultaneous access in a parallel processor system with a multi-way multi-port cache
US5557768A (en) * 1993-07-28 1996-09-17 International Business Machines Corporation Functional pipelined virtual multiport cache memory with plural access during a single cycle
US5958038A (en) * 1997-11-07 1999-09-28 S3 Incorporated Computer processor with two addressable memories and two stream registers and method of data streaming of ALU operation
US6629206B1 (en) * 1999-12-31 2003-09-30 Koninklijke Philips Electronics N.V. Set-associative cache-management using parallel reads and serial reads initiated during a wait state
US6928525B1 (en) * 2000-04-28 2005-08-09 Hewlett-Packard Development Company, L.P. Per cache line semaphore for cache access arbitration
US20020188813A1 (en) * 2001-05-04 2002-12-12 Hugo Cheung On-chip hardware breakpoint generator with comprehensive memory operation detection
US6728856B2 (en) * 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space

Also Published As

Publication number Publication date
US20050108493A1 (en) 2005-05-19

Similar Documents

Publication Publication Date Title
US8443162B2 (en) Methods and apparatus for dynamically managing banked memory
US7921274B2 (en) Computer memory addressing mode employing memory segmenting and masking
US9632781B2 (en) Vector register addressing and functions based on a scalar register data value
US20120054468A1 (en) Processor, apparatus, and method for memory management
JP2014182810A (en) Parallel apparatus for high-speed, highly compressed lz77 tokenization and huffman encoding for deflate compression
US9367468B2 (en) Data cache way prediction
KR20130051999A (en) Method and apparatus for reducing power consumption in a processor by powering down an instruction fetch unit
US20050081014A1 (en) Dynamic prefetch in continuous burst read operation
US7376791B2 (en) Memory access systems and methods for configuring ways as cache or directly addressable memory
EP2609595B1 (en) System and method of reducing power usage of a content addressable memory
US20030196044A1 (en) Cache-line reuse-buffer
WO2021061269A1 (en) Storage control apparatus, processing apparatus, computer system, and storage control method
KR20050018255A (en) Device and method for composing cache memory of wireless terminal having coprocessor
US7533232B2 (en) Accessing data from different memory locations in the same cycle
US20030079103A1 (en) Apparatus and method to perform address translation
US7631127B2 (en) Methods and systems for varying bus frequencies
US20020103977A1 (en) Low power consumption cache memory structure
US20050213399A1 (en) Method and apparatus to write data
US20040117556A1 (en) Dynamic pipelining and prefetching memory data
US20070047329A1 (en) Configurable flash memory
US7707378B2 (en) DDR flash implementation with hybrid row buffers and direct access interface to legacy flash functions
KR100710626B1 (en) Digital processing device and method for having extend structure of data-bus
US20180081815A1 (en) Way storage of next cache line
US8200907B2 (en) Compressed cache controller valid word status using pointers
KR200182184Y1 (en) A combined cache with memory

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PERI, RAMESH V.;FERNANDO, JOHN S.;KOLAGOTLA, RAVI;AND OTHERS;REEL/FRAME:014731/0003

Effective date: 20031114

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20210512