Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of
Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet.
†
IEEE Standard 1149.1–1990, IEEE Standard Test Access Port and Boundary-Scan Architecture
PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of Texas Instruments
standard warranty. Production processing does not necessarily include
testing of all parameters.
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
Copyright 1997, Texas Instruments Incorporated
1
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
description
The TMS320C80 is a single chip, MIMD parallel processor capable of performing over two billion operations
per second. It consists of a 32-bit RISC master processor with a 120-MFLOP IEEE floating-point unit, four 32-bit
parallel processing digital signal processors (DSPs), a transfer controller with up to 480M-byte/s off-chip
transfer rate, and a video controller. All the processors are coupled tightly through an on-chip crossbar that
provides shared access to on-chip RAM. This performance and programmability make the ’C80 ideally suited
for video, imaging, and high-speed telecommunications applications.
BS1–BS0I
CT2–CT0ICycle-timing selection. CT2–CT0 signals determine the timing of the current memory access.
D63–D0I/OData bus. D63–D0 transfer up to 64 bits of data per memory cycle into or out of the ’C80.
DBENO
DDINO
FAULTI
PS3–PS0I
READYI
RLO
RETRYI
STATUS5–STATUS0O
UTIMEI
CAS/DQM7–
CAS
/DQM0
DSFO
RASORow-address strobe. RAS drives the RAS inputs of DRAMs, VRAMs, and SDRAMs.
TRG/CASO
WO
†
I = input, O = output, Z = high impedance
†
LOCAL MEMORY INTERFACE
Address bus. A31– A0 output the 32-bit byte address of the external memory cycle. The address can be
multiplexed for DRAM accesses.
Address-shift selection. AS2–AS0 determine how the column address appears on the address bus. Eight
shift values are supported, including zero.
Bus-size selection. BS1–BS0 indicate the bus size of the memory or other device being accessed, allowing
dynamic bus sizing for data buses less than 64-bits wide.
Data-buffer enable. DBEN drives the active-low output-enables of bi-directional transceivers that can be
used to buffer input and output data on D63–D0.
Data-direction indicator. DDIN indicates the direction of the data that passes through the transceivers. When
is low, the transfer is from external memory into the ’C80.
DDIN
Fault. FAULT is driven low by external circuitry to inform the ’C80 that a fault has occurred on the current
memory row-access.
Page-size indication. PS3 – PS0 indicate the page size of the memory device(s) being accessed by the
current cycle. The ’C80 uses this information to determine when to begin a new row-access.
Ready. READY indicates that the external device is ready to complete the memory cycle. READY is driven
low by external circuitry to insert wait states into a memory cycle.
Row latch. The high-to-low transition of RL can be used to latch the valid 32-bit byte address that is present
on A31–A0.
Retry. RETRY is driven low by external circuitry to indicate that the addressed memory is busy. The ’C80
memory cycle is rescheduled.
Status code. At row time, STATUS5–STA TUS0 indicate the type of cycle being performed. At column time,
they identify the processor and type of request that initiated the cycle.
User-timing selection. UTIME causes the timing of RAS and CAS/DQM7–CAS/DQM0 to be modified so
that custom memory timings can be generated. During reset, UTIME
’C80 operates.
DRAM, VRAM, AND SDRAM CONTROL
Column-address strobes. CAS/DQM7–CAS/DQM0 drive the CAS inputs of DRAMs and VRAMs, or the
O
DQM input of SDRAMs. The eight strobes provide byte-write access to memory.
Special function. DSF selects special VRAM functions such as block-write, load color register, split-register
transfer, and SGRAM block write.
Transfer/output enable or column-address strobe. TRG/CAS is used as an output-enable for DRAMs and
VRAMs, and also as a transfer-enable for VRAMs. TRG
Write enable. W is driven low before CAS during write cycles. W controls the direction of the transfer during
VRAM transfer cycles.
/CAS also drives the CAS inputs of SDRAMs.
selects the endian mode in which the
12
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
DESCRIPTION
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
Terminal Functions (Continued)
TERMINAL
NAMETYPE
HACKO
HREQI
REQ1, REQ0O
CLKINI
CLKOUTO
EINT1, EINT2, EINT3I
LINT4I
RESETI
XPT2–XPT0IExternal packet transfer. XPT2–XPT0 are used by external devices to request a high-priority XPT by the TC.
EMU0, EMU1
‡
TCK
‡
TDI
TDOOTest data output. TDO provides output data for all IEEE-1149.1 instructions and data scans of the ’C80.
‡
TMS
TRST
†
I = input, O = output, Z = high impedance
‡
This pin has an internal pullup and can be left unconnnected during normal operation.
§
This pin has an internal pulldown and can be left unconnnected during normal operation.
‡
§
†
HOST INTERFACE
Host acknowledge. The ’C80 drives HACK output low following an active HREQ to indicate that it has driven
the local-memory-bus signals to the high-impedance state and is relinquishing the bus. HACK
asynchronously following HREQ
Host request. An external device drives HREQ low to request ownership of the local-memory bus. When
HREQ
is high, the ’C80 owns and drives the bus. HREQ is synchronized internally to the ’C80’s internal clock.
Also, HREQ
of RESET
occurrence on EINT3
Internal cycle request. REQ1 and REQ0 provide a two-bit code indicating the highest-priority memory-cycle
request that is being received by the TC. External logic can monitor REQ1 and REQ0 to determine if it is
necessary to relinquish the local-memory bus to the ’C80.
Input clock. CLKIN generates the internal ’C80 clocks to which all processor functions (except the frame
timers) are synchronous.
Local output clock. CLKOUT provides a way to synchronize external circuitry to internal timings. All ’C80
output signals (except the VC signals) are synchronous to this clock.
Edge-triggered interrupts. EINT1, EINT2 and EINT3 allow external devices to interrupt the master processor
(MP) on one of three interrupt levels (EINT1
EINT3
the MP to unhalt and fetch its reset vector (the EINT3
Level-triggered interrupt. LINT4 provides an active-low level-triggered interrupt to the MP. Its priority falls
below that of the edge-triggered interrupts. Any interrupt request should remain low until it is recognized by
the ’C80.
Reset. RESET is driven low to reset the ’C80 (all processors). During reset, all internal registers are set to
their initial state and all outputs are driven to their inactive or high-impedance levels. During the rising edge
of RESET
and UTIME pins, respectively.
Emulation pins. EMU0 and EMU1 are used to support emulation host interrupts, special functions targeted
I/O
at a single processor, and multiprocessor halt-event communications.
Test clock. TCK provides the clock for the ’C80 IEEE-1149.1 logic, allowing it to be compatible with other
I
IEEE-1149.1 devices, controllers, and test equipment designed for different clock rates.
IT est data input. TDI provides input data for all IEEE-1149.1 instructions and data scans of the ’C80.
IT est-mode select. TMS controls the IEEE-1149.1 state machine.
Test reset. TRST resets the ’C80 IEEE-1149.1 module. When low, all boundary-scan logic is disabled,
I
allowing normal ’C80 operation.
is used at reset to determine the power-up state of the MP. If HREQ is low at the rising edge
, the MP comes up running. If HREQ is high, the MP remains halted until the first interrupt
.
also serves as an unhalt signal. If the MP is powered-up halted, the first rising edge on EINT3 causes
, the MP reset mode and the ’C80’s operating endian mode are determined by the levels of HREQ
EMULATION CONTROL
being detected inactive, and then the ’C80 resumes driving the bus.
SYSTEM CONTROL
is the highest priority). The interrupts are rising-edge triggered.
interrupt-pending bit is not set in this case).
is driven high
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
13
TMS320C80
DESCRIPTION
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
Terminal Functions (Continued)
TERMINAL
NAMETYPE
CAREA0, CAREA1O
CBLNK0 / VBLNK0,
CBLNK1
CSYNC0 / HBLNK0,
CSYNC1
FCLK0, FCLK1I
HSYNC0,
HSYNC1
SCLK0, SCLK1I
VSYNC0,
VSYNC1
V
V
No ConnectNo connect serves as an alignment key and must be left unconnected.
FF2–FF1FF2–FF1 (GF package only) are reserved for factory use and should be left unconnected.
†
I = input, O = output, Z = high-impedance
‡
For proper operation, all VDD and VSS pins must be connected externally.
SS
DD
/ VBLNK1
/ HBLNK1
‡
‡
†
VIDEO INTERFACE
Composite area. CAREA0 and CAREA1 define a special area such as an overscan boundary . This area
represents the logical OR of the internal horizontal and vertical area signals.
Composite blanking / vertical blanking. Each of CBLNK0 / VBLNK0 and VBLNK1 provides one of two
blanking functions, depending on the configuration of the CSYNC
Composite blanking disables pixel display/capture during both horizontal and vertical retrace periods
O
I/O/Z
I/O/Z
I/O/Z
IGround. Electrical ground inputs
IPower. Nominal 3.3-V power supply inputs
and is enabled when CSYNC
Vertical blanking disables pixel display/capture during vertical retrace periods and is enabled when
HBLNK
is selected for separate-sync video systems.
Following reset, CBLNK0
respectively.
Composite sync/horizontal blanking. CSYNC0 / HBLNK0 and CSYNC1 / HBLNK1 can be programmed
for one of two functions:
Composite sync is for use on composite-sync video systems and can be programmed as an input,
output, or high-impedance signal
information from externally generated active-low sync pulses. As an output, the active-low composite
sync pulses are generated from either external HSYNC
video timers. In the high-impedance state, the pin is neither driven nor allowed to drive circuitry.
Horizontal blank disables pixel display /capture during horizontal retrace periods in separate-sync
video systems and can be used as an output only.
Immediately following reset, CSYNC0
high-impedance CSYNC0
Frame clock. FCLK0 and FCLK1 are derived from the external video system’s dotclock and are used to
drive the ’C80 video logic for frame timer 0 and frame timer 1.
Horizontal sync. HSYNC0 and HSYNC1 control the video system. They can be programmed as input,
output, or high impedance signals. As an input, HSYNC
generated horizontal sync pulses. As an output, HSYNC
by the ’C80 on-chip frame timer. In the high-impedance state, the pin is not driven, and no internal
synchronization is allowed to occur. Immediately following reset, HSYNC0
high-impedance state.
Serial-data clock. SCLK0 and SCLK1 are used by the ’C80 SRT controller to track the VRAM tap point
when using midline reload. SCLK0 and SCLK1 should be the same signals that clock the serial register
on the VRAMs controlled by frame timer 0 and frame timer 1, respectively.
Vertical sync. VSYNC0 and VSYNC1 control the video system. They can be programmed as inputs,
outputs, or high-impedance signals. As inputs, VSYNCx
generated vertical-sync pulses. As outputs, VSYNCx
’C80 on-chip frame timer. In the high-impedance state, the pin is not driven and no internal synchronization
is allowed to occur. Immediately following reset, VSYNCx
MISCELLANEOUS
is selected for composite sync video systems.
/ VBLNK0 and CBLNK1 / VBLNK1 are configured as CBLNK0 and CBLNK1,
and CSYNC1, respectively.
POWER
/HBLNK pin:
. As an input, the ’C80 extracts horizontal and vertical sync
and VSYNC signals or the ’C80’s internal
/ HBLNK0 and CSYNC1 / HBLNK1 are configured as
synchronizes the video timer to externally
is an active-low horizontal sync pulse generated
and HSYNC1 are in the
synchronizes the frame timer to externally
are active-low vertical-sync pulses generated by the
is in the high-impedance state.
14
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
architecture
Figure 1 shows the major components of the ’C80: the master processor (MP), the parallel digital signal
processors (PPs), the transfer controller ( TC), the video controller (VC), and the IEEE-1149.1 emulation
interface. Shared access to on-chip RAM is achieved through the crossbar. Crossbar connections are
represented by
instruction (I) ports. The MP can access two RAMs per cycle through its crossbar/data (C/D) and instruction
(I) ports, and the TC can access one RAM through its crossbar interface. Up to 15 simultaneous accesses are
supported in each cycle. Addresses can be changed every cycle, allowing the crossbar matrix to be changed
on a cycle-by-cycle basis. Contention between processors for the same RAM in the same cycle is resolved by
a round-robin priority scheme. In addition to the crossbar, a 32-bit datapath exists between the MP and the TC
and VC. This allows the MP to access TC and VC on-chip registers that are memory mapped into the MP
memory space.
The ’C80 has a 4G-byte address space as shown in Figure 2. The lower 32M bytes are used to address internal
RAM and memory-mapped registers.
. Each PP can perform three accesses per cycle through its local ( L), global ( G ), and
PP3
LGI
3264
32
Data RAM2
Data RAM1
Parameter RAM
LGI
3264
Data RAM0
Parameter RAM
Instruction Cache
PP2
32
Data RAM2
Data RAM1
Data RAM0
Instruction Cache
PP1
LGI
3264
32
Data RAM2
Data RAM1
Parameter RAM
LGI
3264
Data RAM0
Parameter RAM
Instruction Cache
PP0
32
Data RAM2
Data RAM1
Data RAM0
Instruction Cache
Figure 1. Block Diagram Showing Datapaths
MP
OCR
C/DI
64
Parameter RAM
32
Data RAM2
Data RAM1
VC
32
IEEE-
1149.1
(JTAG)
64
64
TC
Data RAM0
Instruction Cache
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
15
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
architecture (continued)
PP0 Data RAM0
(2K Bytes)
PP0 Data RAM1
(2K Bytes)
PP1 Data RAM0
(2K Bytes)
PP1 Data RAM1
(2K Bytes)
PP2 Data RAM0
(2K Bytes)
PP2 Data RAM1
(2K Bytes)
PP3 Data RAM0
(2K Bytes)
PP3 Data RAM1
(2K Bytes)
Reserved
(16K Bytes)
PP0 Data RAM2
(2K Bytes)
Reserved
(2K Bytes)
PP1 Data RAM2
(2K Bytes)
Reserved
(2K Bytes)
PP2 Data RAM2
(2K Bytes)
Reserved
(2K Bytes)
PP3 Data RAM2
(2K Bytes)
Reserved
(16730112 Bytes)
PP0 Parameter RAM
(2K Bytes)
Reserved
(2K Bytes)
PP1 Parameter RAM
(2K Bytes)
Reserved
(2K Bytes)
PP2 Parameter RAM
(2K Bytes)
Reserved
(2K Bytes)
PP3 Parameter RAM
(2K Bytes)
0x00000000
0x000007FF
0x00000800
0x00000FFF
0x00001000
0x000017FF
0x00001800
0x00001FFF
0x00002000
0x000027FF
0x00002800
0x00002FFF
0x00003000
0x000037FF
0x00003800
0x00003FFF
0x00004000
0x00007FFF
0x00008000
0x000087FF
0x00008800
0x00008FFF
0x00009000
0x000097FF
0x00009800
0x00009FFF
0x0000A000
0x0000A7FF
0x0000A800
0x0000AFFF
0x0000B000
0x0000B7FF
0x0000B800
0x00FFFFFF
0x01000000
0x010007FF
0x01000800
0x01000FFF
0x01001000
0x010017FF
0x01001800
0x01001FFF
0x01002000
0x010027FF
0x01002800
0x01002FFF
0x01003000
0x010037FF
Reserved
(51200 Bytes)
MP Parameter RAM
(2K Bytes)
Reserved
(8327168 Bytes)
PP0 Instruction Cache
(2K Bytes)
Reserved
(6K Bytes)
PP1 Instruction Cache
(2K Bytes)
Reserved
(6K Bytes)
PP2 Instruction Cache
(2K Bytes)
Reserved
(6K Bytes)
PP3 Instruction Cache
(2K Bytes)
Reserved
(32K Bytes)
MP Data Cache
(4K Bytes)
Reserved
(28K Bytes)
MP Instruction Cache
(4K Bytes)
Reserved
(28K Bytes)
Memory-Mapped TC Registers
(512 Bytes)
Memory-Mapped VC Registers
(512 Bytes)
Reserved
(8327168 Bytes)
External Memory
(4064M Bytes)
0x01003800
0x0100FFFF
0x01010000
0x010107FF
0x01010800
0x018017FF
0x01801800
0x01801FFF
0x01802000
0x018037FF
0x01803800
0x01803FFF
0x01804000
0x018057FF
0x01805800
0x01805FFF
0x01806000
0x018077FF
0x01807800
0x01807FFF
0x01808000
0x0180FFFF
0x01810000
0x01810FFF
0x01811000
0x01817FFF
0x01818000
0x01818FFF
0x01819000
0x0181FFFF
0x01820000
0x018201FF
0x01820200
0x018203FF
0x01820400
0x01FFFFFF
0x02000000
0xFFFFFFFF
16
Figure 2. Memory Map
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
master processor (MP) architecture
The master processor (MP) is a 32-bit RISC processor with an integral IEEE-754 floating-point unit. The MP
is designed for effective execution of C code and is capable of performing at well over 130K dhrystones/s. Major
tasks which the MP typically performs are:
D
Task control and user interface
D
Information processing and analysis
D
IEEE-754 floating point (including graphics transforms)
MP functional block diagram
Figure 3 shows a block diagram of the master processor. Key features of the MP include:
Floating-point operation and parallel load or store
Multiply and accumulate
D
High performance
–60 million instructions per second (MIPS)
–120 million floating-point operations per second (MFLOPS)
–Over 130K dhrystones/s
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
17
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
MP functional block diagram (continued)
(Thirty-One 32-Bit Registers)
Register File
Barrel Rotator
Mask Generator
Zero Comparator
Integer ALU
Leftmost/Rightmost One
Timer
Control Registers
Instruction Register
Program Counters
PC Incrementer
Scoreboard
Double-Precision
Floating-Point Multiplier
(Single-Precision Core)
Double-Precision Floating-Point
Accumulators
Double-Precision
Floating-Point Adder
Emulation Logic
Instruction Cache
Controller
Crossbar Interface
Endian Multiplexers
Data/Cache
Controller
Figure 3. MP Block Diagram
MP general-purpose registers
The MP contains 31 32-bit general-purpose registers, R1–R31. Register R0 always reads as zero and writes
to it are discarded. Double precision values are always stored in an even-odd register pair with the higher
numbered register always holding the sign bit and exponent. The R0/R1 pair is not available for this use. A
scoreboard keeps track of which registers are awaiting loads or the result of a previous instruction and stalls
the instruction pipeline until the register contains valid data. As a recommended software convention, typically
R1 is used as a stack pointer and R31 as a return-address link register.
Figure 4 shows the MP general-purpose registers.
18
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
Not Available
R2, R3
R4, R5
R30, R31
Floating Point
Integer
Unsi
Bit
Integer
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
MP general-purpose registers (continued)
Zero/Discard
R1
R2
R3
R4
R5
••••••
R30
R31
32-Bit Registers64-Bit Register Pairs
Figure 4. MP General-Purpose Registers
The 32-bit registers can contain signed-integer, unsigned-integer, or single precision floating-point values.
Signed and unsigned bytes and halfwords are sign extended or zero-filled. Doublewords may be stored in a
64-bit even/odd register pair. Double-precision floating-point values are referenced using the even register
number or the register pair. Figure 5 through Figure 7 show the register data formats.
Single Precision
Signed 32-bit
gned 32-
31220
S E E E E E E E E M M M M M M M M M M M M M M M M M M M M M M M
MSLS
310
SIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
MSLS
310
U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U
MSLS
Figure 5. MP Register 32-Bit Data Formats
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
19
TMS320C80
Unsi
d
Halfword
Double Precision
Double Precision
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
MP general-purpose registers (continued)
3170
Signed Byte
Unsigned Byte
Signed Halfword
S S S S S S S S S S S S S S S S S S S S S S S SIIIIIII
S
3170
0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 U U U U U U U U
31150
S S S S S S S S S S S S S S S S S IIIIIIIIIIIIIII
MSLS
MSLS
MSLS
gne
31150
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 U U U U U U U U U U U U U U U U
MSLS
Figure 6. MP Register 8-Bit and 16-Bit Data
310
Odd Register
MS
310
Even RegisterLeast Significant 32-Bit Word
-
Floating-Point
Odd Register
Floating-Point
Even Register
31190
S E E E E E E E E E E E M M M M M M M M M M M M M M M M M M M M
310
M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M
M
Most Significant 32-Bit Word
MS
Figure 7. MP Register 64-Bit Data
MP double-precision floating-point accumulators
LS
LS
a0
a1Accumulator 1
a2Accumulator 2
a3Accumulator 3
20
There are four double-precision floating-point registers (see Figure 8) to accumulate intermediate floating-point
results.
In addition to the general-purpose registers, there are a number of control registers that are used to represent
the state of the processor. Table 1 shows the control register numbers of the accessible registers.
Table 1. Control Register Numbers
NO.NAMEDESCRIPTIONNO.NAMEDESCRIPTION
0x0000EPCException Program Counter0x0015–0x001F—Reserved
0x0001EIPException Instruction Pointer0x0020SYSSTKSystem Stack Pointer
0x0002CONFIGConfiguration0x0021SYSTMPSystem Temporary Register
0x0003—Reserved0x0022–0x002F—Reserved
0x0004INTPENInterrupt Pending0x0030MPCEmulator Exception Program Cntr
0x0005—Reserved0x0031MIPEmulator Exception Instruction Ptr
0x0006IEInterrupt Enable0x0032—Reserved
0x0007—Reserved0x0033ECOMCNTLEmulator Communication Control
0x0008FPSTFloating-Point Status0x0034ANASTA TEmulation Analysis Status Reg
0x0013FLTDTLFaulting Data (low)0x4002OUTPV ector Store Pointer
0x0014FLTDTHFaulting Date (high)
MP pipeline registers
The MP uses a three-stage fetch, execute, access (FEA) pipeline. The primary pipeline registers are
manipulated implicitly by branch and trap instructions and are not accessible by the user. The exception and
emulation pipeline registers are user accessible as control registers. All pipeline registers are 32 bits.
Program Execution Mode
NormalExceptionEmulation
Program CounterPCEPCMPC
Instruction PointerIPEIPMIP
Instruction RegisterIR
• Instruction register (IR) contains the instruction being
executed.
• Instruction pointer (IP) points to the instruction being
executed.
• Program counter (PC) points to the instruction being
fetched.
• Exception/emulator instruction pointer (EIP/MIP) points to the
instruction that would have been executed had the exception /
emulation trap not occurred.
• Exception/emulator program counter (EPC/MPC) points to the
instruction to be fetched on returning from the exception/emulation
trap.
Figure 9. MP FEA Pipeline Registers
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
21
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
configuration (CONFIG) register (0x0002)
The CONFIG register controls or reflects the state of certain options as shown in Figure 10.
The IE register contains enable bits for each of the interrupts/traps as shown in Figure 11. The
global-interrupt-enable (ie) bit and the appropriate individual interrupt-enable bit must be set in order for an
interrupt to occur.
pe x4x3 bp pbpc mip3 p2 p1p0iomfx2 x1tif1f0fxfufofzfiie
PP2 message interrupt
PP error
pe
External interrupt 4 (LINT4
x4
x3
External interrupt 3 (EINT3
Bad packet transfer
bp
Packet transfer busy
pb
Packet transfer complete
pc
Message (MP self) interrupt
mi
PP3 message interrupt
p3
p2
PP1message interrupt
)
)
p1
PP0 message interrupt
p0
Integer overflow
io
Memory fault
mf
External interrupt 2 (EINT2
x2
x1
External interrupt 1 (EINT1
ti
MP timer interrupt
)
)
Frame-timer 1 interrupt
f1
Frame-timer 0 interrupt
f0
Floating-point inexact
fx
Floating-point underflow
fu
Floating-point overflow
fo
Floating-point divide-by-zero
fz
Floating-point invalid
fi
Global-interrupt enable
ie
Figure 11. IE Register
interrupt-pending (INTPEN) register (0x0004)
The bits in INTPEN register show the current state of each interrupt/trap. Pending interrupts do not occur unless
the ie bit and corresponding interrupt-enable bit are set. Software must write a 1 to the appropriate INTPEN bit
to clear an interrupt. Figure 12 shows the INTPEN register locations.
pe x4x3 bp pbpc mip3 p2 p1p0iomfx2 x1tif1f0fxfufofzfi
Figure 12. INTPEN Register
22
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
floating-point status register (FPST) (0x0008)
FPST contains status and control information for the FPU as shown in Figure 13. Bits 17–21 are read/write
floating-point unit (FPU) control bits. Bits 22–26 are read/write accumulated status bits. All other bits show the
status of the last FPU instruction to complete and are read only.
The bits in the PPERROR register reflect parallel processor errors (see Figure 14). The MP can use these when
a PP error interrupt occurs to determine the cause of the error.
PKTREQ controls the submission and priority of packet-transfer requests as shown in Figure 15. It also
indicates that a packet transfer is currently active.
The ILRU and DLRU registers track least-recently-used (LRU) information for the sixteen instruction-cache and
sixteen data-cache blocks. The ITAGxx registers contain block addresses and the present flags for each
sub-block. DT AGxx registers are identical to IT AGxx registers but include dirty bits for each sub-block. Figure 17
shows the cache registers.
mru, nmru, nlru, and lru have the value 0, 1, 2, or 3 representing the block number and are mutually exclusive for each set.
lru
Least-recently-used block
P
Sub-block present
D
Sub-block dirty
Figure 17. Cache Registers
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
25
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
MP cache architecture
The MP contains two four-way set-associative, 4K caches for instructions and data. Each cache is divided into
four sets with four blocks in each set. Each block represents 256 bytes of contiguous instructions or data and
is aligned to a 256-byte address boundary. Each block is partitioned into four sub-blocks that each contain
sixteen 32-bit words and are aligned to 64-byte boundaries within the block. Cache misses cause one sub-block
to be loaded into cache. Figure 18 shows the cache architecture for one of the four sets in each cache. Figure 19
shows how addresses map into the cache using the cache tags and address bits.
T – Tag Address Bitss – Sub-Block (within block) Select (0–3)B – Byte (within word) Select (0–3)
S – Set Select Bits (0–3)W – Word (within sub-block) Select (0–15)A – Block Select (which tag matched) (0–3)
Bank 1
Set 2
11109876
SSAAss
Address in On-Chip
Cache Bank
543210
WWWWBB
26
Figure 19. MP Cache Addressing
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C80
DIGITAL SIGNAL PROCESSOR
SPRS023B – JULY 1994 – REVISED OCT OBER 1997
MP parameter RAM
The parameter RAM is a noncachable, 2K-byte, on-chip RAM which contains MP-interrupt vectors,
MP-requested TC task buffers, and a general-purpose area. Figure 20 shows the parameter RAM address map.
0x01010000–0x0101007F
0x01010080–0x010100DF
0x010100E0–0x010100FB
0x010100FC–0x010100FF
0x01010100–0x0101017F
0x01010180–0x0101021F
0x01010220–0x0101029F
0x010102A0–0x010107FF
Suspended PT Parameters
(128 Bytes)
Reserved
(96 Bytes)
XPT Linked List Start Addresses
(28 Bytes)
MP Linked List Start Address
Off-Chip to Off-Chip PT Buffer
(128 Bytes)
Interrupt and Trap Vectors
(160 Bytes)
XPT Off-Chip to Off-Chip PT Buffer
(128 Bytes)
General-Purpose RAM
(1376 Bytes)
Figure 20. MP Parameter RAM
XPT7/SOF0 Linked List Start Add. 0x010100E0
XPT6/SAM0 Linked List Start Add. 0x010100E4
XPT5/SOF1 Linked List Start Add. 0x010100E8
XPT4/SAM1 Linked List Start Add. 0x010100EC
XPT3 Linked List Start Add.0x010100F0
XPT2 Linked List Start Add.0x010100F4
XPT1 Linked List Start Add.0x010100F8
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
27
Loading...
+ 141 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.