English
Language : 

UPSD3422_06 Datasheet, PDF (23/293 Pages) STMicroelectronics – Turbo Plus Series Fast Turbo 8032 MCU with USB and Programmable Logic
uPSD34xx
8032 MCU core performance enhancements
5
8032 MCU core performance enhancements
Before describing performance features of the uPSD34xx, let us first look at standard 8032
architecture. The clock source for the 8032 MCU creates a basic unit of timing called a
machine-cycle, which is a period of 12 clocks for standard 8032 MCUs. The instruction set
for traditional 8032 MCUs consists of 1, 2, and 3 byte instructions that execute in different
combinations of 1, 2, or 4 machine-cycles. For example, there are one-byte instructions that
execute in one machine-cycle (12 clocks), one-byte instructions that execute in four
machine-cycles (48 clocks), two-byte, two-cycle instructions (24 clocks), and so on. In
addition, standard 8032 architecture will fetch two bytes from program memory on almost
every machine-cycle, regardless if it needs them or not (dummy fetch). This means for one-
byte, one-cycle instructions, the second byte is ignored. These one-byte, one-cycle
instructions account for half of the 8032's instructions (126 out of 255 opcodes). There are
inefficiencies due to wasted bus cycles and idle bus times that can be eliminated.
The uPSD34xx 8032 MCU core offers increased performance in a number of ways, while
keeping the exact same instruction set as the standard 8032 (all opcodes, the number of
bytes per instruction, and the native number a machine-cycles per instruction are identical to
the original 8032). The first way performance is boosted is by reducing the machine-cycle
period to just 4 MCU clocks as compared to 12 MCU clocks in a standard 8032. This
shortened machine-cycle improves the instruction rate for one- or two-byte, one-cycle
instructions by a factor of three (Figure 7 on page 23) compared to standard 8051
architectures, and significantly improves performance of multiple-cycle instruction types.
The example in Figure 7 on page 23 shows a continuous execution stream of one- or two-
byte, one-cycle instructions. The 5V uPSD34xx will yield 10 MIPS peak performance in this
case while operating at 40MHz clock rate. In a typical application however, the effective
performance will be lower since programs do not use only one-cycle instructions, but special
techniques are implemented in the uPSD34xx to keep the effective MIPS rate as close as
possible to the peak MIPS rate at all times. This is accomplished with an instruction Pre-
Fetch Queue (PFQ), a Branch Cache (BC), and a 16-bit program memory bus as shown in
Figure 8 on page 24.
Figure 7. Comparison of uPSD34xx with Standard 8032 Performance
1- or 2-byte, 1-cycle Instructions
Turbo uPSD34xx
Instruction A
Execute Instruction and
Pre-Fetch Next Instruction
Instruction B
Execute Instruction and
Pre-Fetch Next Instruction
Instruction C
Execute Instruction and
Pre-Fetch Next Instruction
MCU Clock
4 clocks (one machine cycle)
one machine cycle
one machine cycle
Standard 8032
12 clocks (one machine cycle)
Fetch Byte for Instruction A
Instruction A
Execute Instruction A
and Fetch a Second Dummy Byte
Dummy Byte is Ignored (wasted bus access)
Turbo uPSD34xx executes instructions A, B, and C in the same
amount of time that a standard 8032 executes only Instruction A.
AI10411
23/293