Download Embedded Systems Architecture

Transcript
Embedded Processors
Like many CUs, the PowerPC’s sequencer unit isn’t one physically separate, explicitly
defined unit; rather, it is made up of several circuits distributed within the CPU that all work
together to provide the managing capabilities. Within the sequencer unit these components
are mainly an address generation unit (provides address of next instruction to be processed), a
branch prediction unit (processes branch instructions), a sequencer (provides information and
centralized control of instruction flow to the other control sub-units), and an instruction queue
(stores the next instructions to be processed and dispatches the next instructions in the queue
to the appropriate execution unit).
The CPU and the System (Master) Clock
A processor’s execution is ultimately synchronized by an external system or master clock,
located on the board.The master clock is an oscillator along with a few other components,
such as a crystal. It produces a fixed frequency sequence of regular on/off pulse signals
(square waves), as seen in Figure 4-37. The CU, along with several other components on an
embedded board, depends on this master clock to function. Components are driven by either
the actual level of the signal (a “0” or a “1”), the rising edge of a signal (the transition from
“0” to “1”), and/or the falling edge of the signal (the transition from “1” to “0”). Different
master clocks, depending on the circuitry, can run at a variety of frequencies, but typically
must run so the slowest component on the board has its timing requirements met. In some
cases, the master clock signal is divided by the components on the board to create other clock
signals for their own use.
Rising
Edge
Falling
Edge
1 Cycle
Pulse
Width
Time
Figure 4-37: Clock signal
In the case of the CU, for instance, the signal produced by the master clock is usually divided
or multiplied within the CPU’s CU to generate at least one internal clock signal. The CU then
uses internal clock signals to control and coordinate the fetching, decoding, and execution of
instructions.
165