Professional Documents
Culture Documents
Architectures
Miodrag Bolic
CEG3151
Outline
• Types of architectures
• Superscalar
• Differences between CISC, RISC and VLIW
• VLIW
Parallel processing [2]
Processing instructions in parallel requires three
major tasks:
1. checking dependencies between instructions to
determine which instructions can be grouped
together for parallel execution;
2. assigning instructions to the functional units on
the hardware;
3. determining when instructions are initiated
placed together into a single word.
Major categories [2]
• Epilogue A6 &x
A7 &Y
– Store the result into Y
Example: Vector Dot Product
A0 a(n )
Coefficients a(n) A1 x(n )
A2 N -n
A3 a(n ) x(n )
A4 Y
Data x(n) A5 &a
A6 &x
A7 &Y
Using A data path only
; clear A4 and initialize pointers A5, A6, and A7
MVK .S1 40,A2 ; A2 = 40 (loop counter)
loop LDH .D1 *A5++,A0 ; A0 = a(n)
LDH .D1 *A6++,A1 ; A1 = x(n)
MPY .M1 A0,A1,A3 ; A3 = a(n) * x(n)
ADD .L1 A3,A4,A4 ; Y = Y + A3
SUB .L1 A2,1,A2 ; decrement loop counter
[A2] B .S1 loop ; if A2 != 0, then branch
STH .D1 A4,*A7 ; *A7 = Y
References
1. Advanced Computer Architectures, Parallelism, Scalability,
Programmability, K. Hwang, 1993.
2. M. Smotherman, "Understanding EPIC Architectures and Implementations"
(pdf) http://www.cs.clemson.edu/~mark/464/acmse_epic.pdf
3. Lecture notes of Mark Smotherman,
http://www.cs.clemson.edu/~mark/464/hp3e4.html
4. An Introduction To Very-Long Instruction Word (VLIW) Computer
Architecture, Philips Semiconductors,
http://www.semiconductors.philips.com/acrobat_download/other/vliw-
wp.pdf
5. Lecture 6 and Lecture 7 by Paul Pop, http://www.ida.liu.se/~TDTS51/
6. Texas Instruments, Tutorial on TMS320C6000 VelociTI Advanced VLIW
Architecture.
http://www.acm.org/sigs/sigmicro/existing/micro31/pdf/m31_seshan.pdf
7. Morgan Kaufmann Website: Companion Web Site for Computer
Organization and Design