Title :
A parameterizable SIMD stream processor
Author :
Munshi, Asad ; Wong, Alexander ; Clinton, Andrew ; Braganza, Sherman ; Bishop, William ; McCool, Michael
Author_Institution :
Waterloo Univ., Ont.
Abstract :
Stream processing is a data processing paradigm in which long sequences of homogeneous data records are passed through one or more computational kernels to produce sequences of processed output data. Applications that fit this model include polygon rendering (computer graphics), matrix multiplication (scientific computing), 2D convolution (media processing), and data encryption (security). Computers that exploit stream computations process data faster than conventional microcomputers because they utilize a memory system and an execution model that increases on-chip bandwidth and delivers high throughput. We have designed a general-purpose, parameterizable, SIMD stream processor that operates on IEEE single-precision floating point data. The system is implemented in VHDL, and consists of a configurable FPU, execution unit array, and memory interface. The FPU supports pipelined operations for multiplication, addition, division, and square root. The data width is configurable. The execution array operates in lock-step with an instruction controller, which issues 32-bit instructions to the execution array. To exploit stream parallelism, the number of execution units as well as the number of interleaved threads is specified as a parameter at compilation time. The memory system allows all execution units to access one element of data from memory in every clock cycle. All memory accesses also pass through a routing network to support conditional reads and writes of stream data. Functional and timing simulations have been performed using a variety of benchmark programs. The system has also been synthesized into an Altera FPGA to verify resource utilization
Keywords :
floating point arithmetic; hardware description languages; parallel processing; 2D convolution; Altera FPGA; IEEE single-precision floating point data; SIMD; VHDL; clock cycle; computer graphics; configurable FPU; data encryption; data processing; execution unit array; instruction controller; matrix multiplication; media processing; memory interface; memory system; on-chip bandwidth; polygon rendering; resource utilization; routing network; scientific computing; security; stream processing; Application software; Computer graphics; Computer security; Convolution; Cryptography; Data processing; Data security; Kernel; Rendering (computer graphics); Scientific computing;
Conference_Titel :
Electrical and Computer Engineering, 2005. Canadian Conference on
Conference_Location :
Saskatoon, Sask.
Print_ISBN :
0-7803-8885-2
DOI :
10.1109/CCECE.2005.1557051