Upload
sitaram1
View
217
Download
0
Embed Size (px)
DESCRIPTION
DSP Module 1
Citation preview
DSP Module 1
Open Exam
Module 1 Exam
• You have 20 minutes to complete the exam.• Exam is open mind, open book, open eyes.
Sharing answers, cheating, asking the instructor questions, anything to get the highest possible grade is completely acceptable, encouraged, and expected.
• Good luck!
Module 1 Exam1. Functional Units
(5 pts) a. How many can perform an ADD? Name them.
(5 pts) b. Which support memory loads/stores?
.M .S .P .D .L
six; .L1, .L2, .D1, .D2, .S1, .S2
X2. C6000 Peripherals
(5 pts) a. What does EMIF stand for?
(5 pts) b. What do we call the C6000’s audio serial port?
(5 pts) c. Which 'C6000 devices have Ethernet support?
External Memory Interface (how you connect to memory)
McASP
C6412, C6455, DM64x, DM643x, DM644x
3. Conditional Code(10 pts) a. Which registers can be used as cond’l registers?
(10 pts) b. Which instructions can be conditional?
4. Performance(5 pts) a. What is the 'C6201 instruction cycle time?
(10 pts) b. How can the 'C6201 execute 1600 MIPs?
How many MIPs can the ‘C6416 execute?
A1, A2, B0, B1, B2 (‘C64x allows A0, too)
All of them
5 ns (C6201 can run up to 200 MHz)
1600 MIPs = 8 instructions (units) x 200 MHz
8000 MIPs* (8 instructions x 1 GHz)
* not counting the affect of Packed Data Processing (like ADD4)
4c. Performance(10 pts) c. How many 16-bit MMACs (millions of MACs) can
the 'C6201 perform?
How about the 'C64x+ devices?
400 MMACs (two .M units x 200 MHz)
8000 MMACs
2 .M units x 4 16-bit MACs (per .M unit per cycle)x 1 GHz---------------- 8000 MMACs
If interested in 8-bit MACs, then the total would be:8000 MMACs
5a - 5b. Coding Problems
(5 pts) a. Move contents of A0 A1
(5 pts) b. Clear register A5
MV A0, A1or ADD A0, 0, A1or AND A0, -1, A1or OR A0, 0, A1
ZERO A5or SUB A5, A5, A5or MPY A5, 0, A5or CLR A5, 0, 31, A5or MVK 0, A5or XOR A5,A5,A5or AND A5, 0, A5
5c - 5e. Coding Problems
(5 pts) c. A2 = A02 + A1
(10 pts) d. If (B1 0) then B2 = B5 * B6
(5 pts) e. Load an unsigned constant (0x19ABC) into register A6.
MPY.M1 A0, A0, A2ADD.L1 A2, A1, A2
[B1] MPY.M2 B5, B6, B2
see next two slides
5e. Solutions that Don’t Work
mvk 0x19abc, a6
F F F F 9 A B CA6
mvkl 0x9abc, a6mvkh 1, a6
F F F F 9 A B Cmvkl
mvk 0x9abc, a6
mvkl 0x00009abc, a6mvkh 00000001 , a6
0 0 0 0 9 A B Cmvklmvkh
5e. Solutions that Work
mvkl 0x9abc, a6mvklh 1, a6
F F F F 9 A B Cmvkl
mvkl 0x00009abc, a6mvklh 00000001, a6
0 0 0 1 9 A B Cmvklmvklh
mvkl 0x00019abc, a6mvkh 0x00019abc, a6
F F F F 9 A B Cmvkl
mvkl 0x00009abc, a6mvkh 0x00019abc, a6
0 0 0 1 9 A B Cmvklmvkh
5f. Coding problems
(10 pts) f. Load A7 with contents of mem1 and post-increment the selected pointer.
x16 mem
mem1 0x10
A7
load_mem1: MVKL .S1 mem1, A6
MVKH .S1 mem1, A6
LDH .D1 *A6++, A7
Chapter 1 Exam Scoring
Points Earned (Questions #1-5): ______/100
Grade (circle one): 90-100 A
80-89 B
0-79 C
(no one likes Ds or Fs!)