Architecture of Adsp 2105
Architecture of Adsp 2105
The ADSP - 2105 is a single -chip microcomputer optimized for digital signal
processing (DSP) and other high-speed numeric processing applications. The ADSP - 2105 is
the industry’s leading cost/performance DSP. It is an ideal choice in applications needing the
performance advantages of a DSP processor at the cost of today’s standard microcontrollers.
The ADSP - 2105’s flexible architecture and comprehensive instruction set support a
high degree of operational parallelism. In one cycle the ADSP - 2105 can:
The processor contains three independent computational units: the ALU, the
multiplier/accumulator (MAC) and the shifter. The computational units process 16-bit data
directly and have provisions to support multiprecision computations. The ALU performs a
standard set of arithmetic and logic operations; division primitives are also supported. The
MAC performs single cycle multiply, multiply/add and multiply/subtract operations. The
shifter performs logical and arithmetic shifts, normalization, denormalization, and derive
exponent operations. The shifter can be used to efficiently implement numeric format control
including multiword floating-point representations.
1
In s t r u c t i o n
R e g is t e r P ro g ra m D a ta Bo ot
SRAM SRAM A d d re ss
D a ta D a ta 1K 24 512 16 G e n e ra to r
A d d re ss A d d re ss P ro g ra m
G e n e ra to r G e n e ra to r Sequencer
# 1 # 1
PM A
14 BU S 14 E x te r n a l
A d d re s s
M U X
14 D M A BU S
Bus
24 PM D BU S
Bus 24 E x te rn a l
M U X
Exc h a n g e
D a ta
16 D M D BU S
Bus
In p u t r e g s In p u t r e g s In p u t r e g s C o m p a n d in g
c ir c u it r y
A LU M AC S h ifte r C o n tro l
O u tp u t re g s O u tp u t re g s Lo g ic T r a n s m it R e g T im e r
R e c e iv e r R e g
16
RBU S
S e r ia l P o r t
1
RBU S
5
F Fig
i g A . 3.1
1 . 1 1 : Block
A D S P - 2 Diagram
1 0 5 B l o c k D iof
a g r ADSP-2105
am
The internal result (R) bus directly connects the computational units so that the output
of any unit may be the input of any unit on the next cycle.
A powerful program sequencer and two dedicated data address generators ensure
efficient use of these computational units. The sequencer supports conditional jumps,
subroutine calls and returns in a single cycle. With internal loop counters and loop stacks, the
ADSP - 2105 executes looped code with zero over head; no explicit jump instructions are
The data address generators (DAGs) handle address pointer updates. Each DAG
maintains four address pointers. Whenever the pointer is used to access data (indirect
may be associated with each pointer to implement automatic modulo addressing for circular
buffers. With two independent DAGs, the processor can generate two data addresses
simultaneously for dual operand fetches. The circular buffering feature is also used by the
2
Efficient data transfer is achieved with the use of five internal buses.
The two address buses (PMA and DMA) share a single external address bus, and the
two data buses (PMD and DMD) share a single external data bus. The BMS , DMS and PMS
signals indicate which memory space the external buses are being used for.
Program memory can store both instructions and data, permitting the ADSP - 2105 to
fetch two operands in a single cycles, one from program memory and the other from data
memory. The ADSP - 2105 can fetch an operand from on-board program memory and the
The memory interface supports slow memories and memory mapped peripherals with
programmable wait state generation. External devices can gain control of buses with bus
request/ grant signals ( BR and BG ). One execution mode allows the ADSP-2105 to continue
running from internal memory. A second execution mode requires the processor to halt while
The ADSP -2105 can respond to up to three external interrupts, configured as edge or
level sensitive. Internal interrupts can be generated by the timer and the serial port (SPORT).
Boot circuitry provides for loading on-chip program memory automatically from byte-
wide external memory. After RESET three wait states are automatically generated. This allows,
3
for example, a 80 ns ADSP - 2105 to use an external 250 ns EPROM as boot memory.
Multiple programs can be selected and loaded from the EPROM with no additional hardware.
A programmable interval timer can generate periodic interrupts. A 16-bit count register
(TCOUNT) is decremented every n cycles, where n-l is a scaling value stored in an 8 - bit
register (TSCALE). When the value of the count register reaches zero, an interrupt is
generated and the count register is reloaded from a 16-bit period register (T PERIOD).
The ADSP - 2105 instruction set provides flexible data moves and multifunction (one or
two data moves with a computation) instructions. Every instruction can be executed in a
single processor cycle. The ADSP - 2105 assembly language uses an algebraic syntax for ease
of coding and readability. A comprehensive set of development tools supports program
development.d