Computer Architecture A Quantitative Approach, Fifth Edition Prof

Download Report

Transcript Computer Architecture A Quantitative Approach, Fifth Edition Prof

Computer Architecture
A Quantitative Approach, Fifth Edition
Prof. Zhang Gang
[email protected]
School of Computer Sci. & Tech.
Tianjin University, Tianjin, P. R. China
Computer Architecture
A Quantitative Approach, Fifth Edition
 SIMD architectures can exploit significant data-level
parallelism for:
 matrix-oriented scientific computing
 media-oriented image and sound processors
 SIMD is more energy efficient than MIMD
 Only needs to fetch one instruction per data operation
 Makes SIMD attractive for Personal Mobile Devices
 SIMD allows programmer to continue to think
sequentially
 Yet achieves parallel speedup by having parallel data
operations
Computer Architecture
A Quantitative Approach, Fifth Edition
 Three variations of SIMD
 Vector architectures
 too expensive for microprocessors
 Transistors and DRAM bandwidth
 Multimedia SIMD instruction set extensions
 x86 architectures
 MMX-Multimedia Extensions
 SSE-Streaming SIMD Extensions
 AVX-Advanced Vector Extensions
 Graphics Processor Units (GPUs)
 Offering higher potential performance than
traditional multi-core computers
Computer Architecture
A Quantitative Approach, Fifth Edition
 For x86 processors:
 Expect two additional cores per chip per year
 SIMD width to double every four years
 Potential speedup from SIMD to be twice that
from MIMD!
Computer Architecture
A Quantitative Approach, Fifth Edition
Figure 4.1 Potential speedup via parallelism from MIMD, SIMD, and both MIMD and SIMD over time for
x86 computers. This figure assumes that two cores per chip for MIMD will be added every two years and the
number of operations for SIMD will double every four years.
Computer Architecture
A Quantitative Approach, Fifth Edition
Why do people pay attention to the SIMD
computer again?
2. Why do SIMD architectures can exploit datalevel parallelism for image and sound processors?
3. Which is better for programmers to think
sequentially and to think in parallel?
1.