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 Exam
1. Functional Units
(5 pts)
a. How many can perform an ADD? Name them.
six; .L1, .L2, .D1, .D2, .S1, .S2
(5 pts)
b. Which support memory loads/stores?
.M
.S
.P
X
.D
.L
2. C6000 Peripherals
(5 pts)
a. What does EMIF stand for?
External Memory Interface (how you connect to memory)
(5 pts)
b. What do we call the C6000s audio serial port?
McASP
(5 pts)
c. Which 'C6000 devices have Ethernet support?
C6412, C6455, DM64x, DM643x, DM644x
3. Conditional Code
a. Which registers can be used as condl
registers?
A1, A2, B0, B1, B2 (C64x allows A0, too)
(10 pts)
(10 pts)
b. Which
can be conditional?
All of instructions
them
4. Performance
(5 pts)
a. What is the 'C6201 instruction cycle time?
5 ns (C6201 can run up to 200 MHz)
(10 pts)
b. How can the 'C6201 execute 1600 MIPs?
1600 MIPs = 8 instructions (units) x 200 MHz
*
How
many
can thexC6416
8000
MIPsMIPs
(8 instructions
1 GHz) execute?
*
not counting the affect of Packed Data Processing (like ADD4)
4c. Performance
(10 pts)
can
c. How many 16-bit MMACs (millions of MACs)
the 'C6201 perform?
400 MMACs (two .M units x 200 MHz)
How about the 'C64x+ devices?
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
MV
A0, A1
or
ADD
A0, 0, A1
or
AND
A0, -1, A1
or
OR
A0, 0, A1
(5 pts)
b. Clear register A5
ZERO A5
or
SUB
A5, A5, A5
or
MPY
A5, 0, A5
or
CLR
A5, 0, 31, A5
or
MVK
0, A5
or
XOR
A5,A5,A5
or
AND
A5, 0, A5
5c - 5e. Coding Problems
(5 pts)
c. A2 = A02 + A1
MPY.M1
ADD.L1
A0, A0, A2
A2, A1, A2
(10 pts)
d. If (B1 0) then B2 = B5 * B6
[B1] MPY.M2
B5, B6, B2
(5 pts)
e. Load an unsigned constant (0x19ABC) into
register A6.
see next two slides
5e. Solutions that Dont Work
mvk 0x19abc, a6
A6
mvkl
mvkh
mvk
0x9abc, a6
F F F F 9 A B C
mvkl 0x9abc, a6
mvkh
1, a6
mvkl
mvkl 0x00009abc, a6
mvkh 00000001 , a6
F F F F 9 A B C
0 0 0 0 9 A B C
5e. Solutions that Work
mvkl 0x00019abc, a6
mvkh 0x00019abc, a6
mvkl
mvkl
mvkh
mvkl
mvklh
mvkl 0x00009abc, a6
mvkh 0x00019abc, a6
F F F F 9 A B C
0 0 0 1 9 A B C
mvkl 0x9abc, a6
mvklh
1, a6
mvkl
mvkl 0x00009abc, a6
mvklh 00000001, a6
F F F F 9 A B C
0 0 0 1 9 A B C
5f. Coding problems
(10 pts)
f. Load A7 with contents of mem1 and postincrement the selected pointer.
x16 mem
A7
mem1
load_mem1:
0x10
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
80-89
0-79
(no one likes Ds or Fs!)