PROGRAM CONTROL UNIT (PCU) ARCHITECTURE
MOTOROLA
PROGRAM CONTROL UNIT
5 - 5
The program control unit implements a three-stage (prefetch, decode, execute) pipeline
and controls the five processing states of the DSP: normal, exception, reset, wait, and
stop.
5.3
PROGRAM CONTROL UNIT (PCU) ARCHITECTURE
The PCU consists of three hardware blocks: the program decode controller (PDC), the
program address generator (PAG), and the program interrupt controller (PIC).
5.3.1 Program Decode Controller
The PDC contains the program logic array decoders, the register address bus generator,
the loop state machine, the repeat state machine, the condition code generator, the inter-
rupt state machine, the instruction latch, and the backup instruction latch. The PDC
decodes the 24-bit instruction loaded into the instruction latch and generates all signals
necessary for pipeline control. The backup instruction latch stores a duplicate of the
prefetched instruction to optimize execution of the repeat (REP) and jump (JMP)
instructions.
5.3.2 Program Address Generator (PAG)
The PAG contains the PC, the SP, the SS, the operating mode register (OMR), the SR,
the LC register, and the LA register (see Figure 5-1).
The PAG provides hardware dedicated to support loops, which are frequent constructs in
DSP algorithms. A DO instruction loads the LC register with the number of times the loop
should be executed, loads the LA register with the address of the last instruction word in
the loop (fetched during one loop pass), and asserts the loop flag in the SR. The DO in-
struction also supports nested loops by stacking the contents of the LA, LC, and SR prior
to the execution of the instruction. Under control of the PAG, the address of the first in-
struction in the loop is also stacked so the loop can be repeated with no overhead. While
the loop flag in the SR is asserted, the loop state machine (in the PDC) will compare the
PC contents to the contents of the LA to determine if the last instruction word in the loop
was fetched. If the last word was fetched, the LC contents are tested for one. If LC is not
equal to one, then it is decremented, and the SS is read to update the PC with the address
of the first instruction in the loop, effectively executing an automatic branch. If the LC is
equal to one, then the LC, LA, and the loop flag in the SR are restored with the stack con-
tents, while instruction fetches continue at the incremented PC value (LA + 1). More
information about the LA and LC appears in Section 5.3.4 Instruction Pipeline Format.
The repeat (REP) instruction loads the LC with the number of times the next instruction is
to be repeated. The instruction to be repeated is only fetched once, so throughput is in-
creased by reducing external bus contention. However, REP instructions are not
Summary of Contents for DSP56K
Page 12: ...xii LIST of TABLES MOTOROLA List of Tables Continued Table Page Number Title Number ...
Page 13: ...MOTOROLA DSP56K FAMILY INTRODUCTION 1 1 SECTION 1 DSP56K FAMILY INTRODUCTION ...
Page 31: ...MOTOROLA DATA ARITHMETIC LOGIC UNIT 3 1 SECTION 3 DATA ARITHMETIC LOGIC UNIT ...
Page 50: ...DATA ALU SUMMARY 3 20 DATA ARITHMETIC LOGIC UNIT MOTOROLA ...
Page 51: ...MOTOROLA ADDRESS GENERATION UNIT 4 1 SECTION 4 ADDRESS GENERATION UNIT ...
Page 77: ...MOTOROLA PROGRAM CONTROL UNIT 5 1 SECTION 5 PROGRAM CONTROL UNIT ...
Page 124: ...INSTRUCTION GROUPS 6 30 INSTRUCTION SET INTRODUCTION MOTOROLA ...
Page 125: ...MOTOROLA PROCESSING STATES 7 1 SECTION 7 PROCESSING STATES STOP WAIT EXCEPTION NORMAL RESET ...
Page 167: ...STOP PROCESSING STATE MOTOROLA PROCESSING STATES 7 43 ...
Page 168: ...STOP PROCESSING STATE 7 44 PROCESSING STATES MOTOROLA ...
Page 169: ...MOTOROLA PORT A 8 1 SECTION 8 PORT A ...
Page 176: ...PORT A INTERFACE 8 8 PORT A MOTOROLA ...
Page 177: ...MOTOROLA PLL CLOCK OSCILLATOR 9 1 SECTION 9 PLL CLOCK OSCILLATOR x x d Φ VCO ...
Page 191: ...10 2 ON CHIP EMULATION OnCE MOTOROLA SECTION 10 ON CHIP EMULATION OnCE ...
Page 218: ...USING THE OnCE MOTOROLA ON CHIP EMULATION OnCE 10 29 ...
Page 604: ...INSTRUCTION ENCODING A 338 INSTRUCTION SET DETAILS MOTOROLA ...
Page 605: ...MOTOROLA BENCHMARK PROGRAMS B 1 APPENDIX B BENCHMARK PROGRAMS T T T T T P1 P3 P2 P4 T T T ...
Page 609: ...BENCHMARK PROGRAMS MOTOROLA BENCHMARK PROGRAMS B 5 ...
Page 611: ...BENCHMARK PROGRAMS MOTOROLA BENCHMARK PROGRAMS B 7 ...
Page 613: ...BENCHMARK PROGRAMS MOTOROLA BENCHMARK PROGRAMS B 9 ...
Page 615: ...BENCHMARK PROGRAMS MOTOROLA BENCHMARK PROGRAMS B 11 ...