Vector processor system
First Claim
1. A system comprising:
- a plurality of floating point execution units compatible with operation according to a plurality of execution threads;
a plurality of memory channels each enabled to access at least one Dynamic Random Accessible read/write Memory (DRAM) element;
a memory buffer switch unit coupling the floating point execution units to the memory channels;
an instruction control unit enabled to control the floating point execution units according to a stream of vector instructions;
a processor interface compatible with an x86 processor and enabled to receive the stream of vector instructions from the x86 processor;
and wherein the memory buffer switch unit is enabled to consolidate at least two memory requests from the floating point execution units into a single memory access operation directed to one of the memory channels and the at least two memory requests are processed according to a coherency domain implemented by the x86 processor, and wherein respective parts of multiple vector instructions are executed independently by respective ones of the floating point execution units.
0 Assignments
0 Petitions
Accused Products
Abstract
A vector processing system provides high performance vector processing using a System-On-a-Chip (SOC) implementation technique. One or more scalar processors (or cores) operate in conjunction with a vector processor, and the processors collectively share access to a plurality of memory interfaces coupled to Dynamic Random Access read/write Memories (DRAMs). In typical embodiments the vector processor operates as a slave to the scalar processors, executing computationally intensive Single Instruction Multiple Data (SIMD) codes in response to commands received from the scalar processors. The vector processor implements a vector processing Instruction Set Architecture (ISA) including machine state, instruction set, exception model, and memory model.
379 Citations
18 Claims
-
1. A system comprising:
-
a plurality of floating point execution units compatible with operation according to a plurality of execution threads; a plurality of memory channels each enabled to access at least one Dynamic Random Accessible read/write Memory (DRAM) element; a memory buffer switch unit coupling the floating point execution units to the memory channels; an instruction control unit enabled to control the floating point execution units according to a stream of vector instructions; a processor interface compatible with an x86 processor and enabled to receive the stream of vector instructions from the x86 processor; and wherein the memory buffer switch unit is enabled to consolidate at least two memory requests from the floating point execution units into a single memory access operation directed to one of the memory channels and the at least two memory requests are processed according to a coherency domain implemented by the x86 processor, and wherein respective parts of multiple vector instructions are executed independently by respective ones of the floating point execution units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
operating a plurality of execution threads on a plurality of floating point execution units; accessing at least one Dynamic Random Accessible read/write Memory (DRAM) element via a plurality of memory channels; coupling the floating point execution units to the memory channels via a memory buffer switch unit; controlling the floating point execution units according to a stream of vector instructions; receiving the stream of vector instructions from an x86 processor via a processor interface compatible with the x86 processor; consolidating at least two memory requests from the floating point execution units into a single memory access operation directed to one of the memory channels, and processing the at least two memory requests according to a coherency domain implemented by the x86 processor and independently executing respective parts of multiple vector instructions by respective ones of the floating point execution units. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification