Page 443 - DSP Integrated Circuits
P. 443
428 Chapter 9 Synthesis of DSP Architectures
Figure 9.42 The SIC architecture
Constants Program constants are stored in ROM cells in the shared memory
(SM).
The Program Counter The program counter (PC) works as the other pro-
cesses in the architecture with its interfacing registers in the SM area. However,
the program counter register (PCR) has an additional output for pointing to the
source and destination addresses in the PM of the next move to be performed.
Unconditional jumps are facilitated by an immediate move of the next program
address into the PCR. To facilitate conditional jumps, a jump condition register
(JCR) is set up to contain the jump address. The JCR is moved into the PCR when
a process signals the PC that the jump condition has been met; for example, a com-
parator process could signal when its two operands are equal.
To issue a subroutine call the start address of the subroutine is moved to a
jump subroutine register (JSR). This in turn causes the value of the PCR to be put
on a stack local to the PC-process before writing the new address into the PCR
from the JSR. When returning from a subroutine call, the JSR is moved into the
PCR, then the top value of the stack is popped and transferred to the JSR display-
ing the next return value. A similar operation could be implemented for external
interrupts by causing the PC to load an interrupt register into the PCR whenever
an interrupt occurs.
Stack Implementation A stack can be implemented as another process with
an input/output register in the SM. Writing a value to this register would then
cause the process to put the register value onto a stack. Reading the register value
would pop the next value off the stack and into the register, making it available for
any subsequent reading of the register.
Indexing Indexing can be implemented by an index register pointing to a cell
within a memory frame together with an input/output register that interfaces the

