You are on page 1of 11

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!)

You might also like