Overview
315
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Programmable Real-Time Unit Subsystem (PRUSS)
The Programmable Real-Time Unit Subsystem (PRUSS) consists of:
•
Two programmable real-time units (PRU0 and PRU1) and their associated memories.
•
An interrupt controller (INTC) for handling system interrupt events. The INTC also supports posting
events back to the device level host CPU.
•
A Switched Central Resource (SCR) for connecting the various internal and external masters to the
resources inside the PRUSS.
The two PRUs can operate completely independently or in coordination with each other. The two PRUs
can also work in coordination with the device level host CPU. This is determined by the nature of the
program that is loaded into the two PRUs instruction memory. Several different signaling mechanisms are
available between the two PRUs and the device level host CPU.
The two PRUs are optimized for performing embedded tasks that require manipulation of packed memory-
mapped data structures, handling of system events that have tight real-time constraints and interfacing
with systems external to the device.
13.1 Overview
The PRU is a optimized for performing embedded tasks that require manipulation of packed memory
mapped data structures, handling of system events that have tight realtime constraints and interfacing with
systems external to the DSP/SoC. The PRU is both very small and very efficient at handling such tasks.
The major attributes of the PRU are as follows:
Attribute
Value
IO Architecture
Load / Store
Data Flow Architecture
Register to Register
Core Level Bus Architecture
Type
4-Bus Harvard (1 Instruction, 3 Data)
Instruction I/F
32-Bit
Memory I/F 0
32-Bit
Memory I/F 1
32-Bit
Execution Model
Issue Type
Scalar
Pipelining
None
Ordering
In-order
ALU Type
Unsigned Integer
Registers
General Purpose (GP)
30 (R1 – R30)
External Status
1 (R31)
GP / Indexing
1 (R0)
Addressability
Bit, Byte (8-bit), Halfword (16-bit), Word (32-bit), Pointer