IP Library › Granted Patent US 10,163,468
Granted Patent B2
US 10,163,468 · App. 15/855,618 · Granted Dec 25, 2018

Multiple register memory access instructions, processors, methods, and systems

Inventors: Glenn Hinton (Portland, OR); Bret Toll (Hillsboro, OR); Ronak Singhal (Portland, OR)
Assignee: Intel Corporation
G11C7/1036G06F9/30043G06F9/30109G06F9/30163
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,163,468
App. No.
15/855,618
Granted
Dec 25, 2018
Kind
B2
Abstract

A processor includes N-bit registers and a decode unit to receive a multiple register memory access instruction. The multiple register memory access instruction is to indicate a memory location and a register. The processor includes a memory access unit coupled with the decode unit and with the N-bit registers. The memory access unit is to perform a multiple register memory access operation in response to the multiple register memory access instruction. The operation is to involve N-bit data, in each of the N-bit registers comprising the indicated register. The operation is also to involve different corresponding N-bit portions of an M×N-bit line of memory corresponding to the indicated memory location. A total number of bits of the N-bit data in the N-bit registers to be involved in the multiple register memory access operation is to amount to at least half of the M×N-bits of the line of memory.

Claims (52)

1. A system on a chip (SoC) comprising:

an integrated memory controller; and

a processor coupled to the integrated memory controller, the processor comprising:

a cache to store a plurality of cache lines;

a plurality of general purpose registers;

a plurality of 128-bit packed data registers, including a first source 128-bit packed data register, and a second source 128-bit packed data register;

an instruction fetch unit to fetch instructions, including a store to memory instruction;

a decode unit to decode the store to memory instruction, the store to memory instruction having a first field to specify the first source 128-bit packed data register, having a second field to specify the second source 128-bit packed data register, and indicating a starting memory location in a memory at which to store data; and

a memory access unit coupled to the decode unit, and coupled to the plurality of 128-bit packed data registers, the memory access unit to perform a store to memory operation, in response to the decoded store to memory instruction, the store to memory operation to:

store a first 128-bit data from the first source 128-bit packed data register to the memory starting at the indicated starting memory location; and

store a second 128-bit data from the second source 128-bit packed data register to the memory at a location adjacently after the first 128-bit data.

2. The SoC of claim 1 , further comprising a plurality of write mask registers to predicate result vector writes.

3. The SoC of claim 1 , further comprising a 16-wide vector processing unit to execute double-precision float instructions.

4. The SoC of claim 1 , wherein the cache is to store 512-bit cache lines.

5. The SoC of claim 1 , wherein the cache is to store 1024-bit cache lines.

6. The SoC of claim 1 , wherein the cache is to store cache lines that are a multiple of a width of the 128-bit packed data registers.

7. The SoC of claim 1 , further comprising:

a branch prediction unit; and

a translation lookaside buffer (TLB).

8. The SoC of claim 1 , wherein the processor is a reduced instruction set computing (RISC) processor.

9. The SoC of claim 1 , further comprising a communication processor coupled to the processor.

10. The SoC of claim 1 , further comprising a network processor coupled to the processor.

11. The SoC of claim 1 , further comprising an image processor coupled to the processor.

12. The SoC of claim 1 , further comprising a display unit coupled to the processor, the display unit to couple an external display.

13. The SoC of claim 1 , further comprising a graphics processing unit coupled to the processor.

14. The SoC of claim 1 , further comprising an audio processor coupled to the processor.

15. The SoC of claim 1 , further comprising an interconnect coupled to the processor and the integrated memory controller.

16. The SoC of claim 15 , wherein the interconnect comprises a ring interconnect.

17. The SoC of claim 1 , further comprising a direct memory access (DMA) unit coupled to the processor.

18. The SoC of claim 1 , further comprising a coprocessor coupled to the processor.

19. A method performed by a system on a chip (SoC), the method comprising:

loading a plurality of cache lines from a memory with an integrated memory controller of the SoC;

storing the plurality of cache lines in a cache of a processor of the SoC;

storing data in a plurality of general purpose registers of the processor;

storing a first 128-bit data in a first source 128-bit packed data register of the processor;

storing a second 128-bit data in a second source 128-bit packed data register of the processor;

fetching a store to memory instruction with an instruction fetch unit of the processor;

decoding the store to memory instruction with a decode unit of the processor, the store to memory instruction having a first field specifying the first source 128-bit packed data register, having a second field specifying the second source 128-bit packed data register, and indicating a starting memory location in a memory at which to store data; and

performing a store to memory operation, in response to the decoded store to memory instruction, the store to memory operation including:

storing the first 128-bit data from the first source 128-bit packed data register to the memory starting at the indicated starting memory location; and

storing the second 128-bit data from the second source 128-bit packed data register to the memory at a location adjacently after the first 128-bit data.

20. An article of manufacture comprising a non-transitory machine-readable storage medium, the non-transitory machine-readable storage medium storing a set of instructions, including a store to memory instruction, the set of instructions if processed by a system on a chip (SoC) to cause the SoC to perform operations comprising to:

load a plurality of cache lines from a memory with an integrated memory controller of the SoC;

store the plurality of cache lines in a cache of a processor of the SoC;

store data in a plurality of general purpose registers of the processor;

store a first 128-bit data in a first source 128-bit packed data register of the processor; and

store a second 128-bit data in a second source 128-bit packed data register of the processor; and

the store to memory instruction if processed by the SoC to cause the SoC to perform operations comprising to:

decode the store to memory instruction with a decode unit of the processor, the store to memory instruction having a first field to specify the first source 128-bit packed data register, having a second field to specify the second source 128-bit packed data register, and to indicate a starting memory location in the memory at which to store data; and

perform a store to memory operation, in response to the decoded store to memory instruction, the store to memory operation to:

store the first 128-bit data from the first source 128-bit packed data register to the memory starting at the indicated starting memory location; and

store the second 128-bit data from the second source 128-bit packed data register to the memory at a location adjacently after the first 128-bit data.

Continuity (4)
Continuation 15728293 · Oct 9, 2017
Continuation 15238186 · Aug 16, 2016
Continuation 13931008 · Jun 28, 2013
Related Publication 20180122432A1 · May 3, 2018
Cited By (1)
US 12,530,295