Professional Documents
Culture Documents
Lecture 13
Programmable Processor
Programmable Processors
A programmable processor, also known as a general purpose
Programmable Processor
Programmable Processors
The representation of that processing task in the memory is
known as a program.
ARM, MIPS, PIC processors, Pentium Processor, Power PC etc.
Programmable Processor
Programmable Processors
A benefit of the programmable processor is that its circuit can
Programmable Processor
Basic Architecture
A programmable processor consists of two main parts:
Datapath
Control Unit
Programmable Processor
Basic Datapath
We can view processing generally as :
Loading data: reading the data on which we wish to work from some input
locations
Transforming data: performing some computations with that data that
result in new data.
Storing the new data: writing the new data to some output locations.
A data memory holds all the data that a programmable processor can access, as
Programmable Processor
Basic Datapath
The basic circuit shown is known as the programmable
processors datapath. The basic dataptah can perform the
following possible datapath operations in a given clock
cycle:
Load operation
ALU operation
Store operation
Notice that the datapath cannot directly operate on data
Programmable Processor
Basic Datapath
These possible datapath operations are illustrated in the figure
Programmable Processor
Instruction memory:
The desired program is stored as words in another memory called the
instruction memory.
How to represent these instructions?
9
Programmable Processor
10
Programmable Processor
fetched instruction.
The control unit needs to keep track of the location in instruction memory
from which to fetch the next instruction.
Program counter(PC): A counter that is used to keep track of the
current instruction.
11
Programmable Processor
12
Programmable Processor
13
Programmable Processor
Programmable Processor
15
Programmable Processor
Programmable Processor
17
Programmable Processor
2.
3.
2.
3.
19
Programmable Processor
and 1s.
A program represented as 0s and 1s is known as machine code.
An assembler allows us to write instructions using mnemonics,
or symbols, that the assembler automatically translates to machine
code.
Thus an assembler may allow us to write instructions from out threeinstruction instruction set using the following mnemonics:
1.
2.
3.
20
Programmable Processor
21
Programmable Processor
22
Programmable Processor
A SIX-INSTRUCTION PROGRAMMABLE
PROCESSOR
23
Programmable Processor
24
Programmable Processor
25
26
Programmable Processor
27
Programmable Processor
28
Programmable Processor
Performance Extensions
The difference between our basic processor architecture and real
control unit may then perform multiple ALU operations in the datapath
simultaneously.
The processor designs discussed are extremely simplistic and used for
29
Programmable Processor
Performance Extensions
Pipelining:
One method of obtaining speed from
digital circuits is through the use of
pipelining.
Pipelining means to break a large task into
Programmable Processor
Performance Extensions
Pipelining:
Consider a system with data inputs W,X,Y and Z that should
repeatedly output the sum S=W+X+Y+Z.
31
Programmable Processor
Summary
Programmable Processors are widely used for implementing a systems desired
functionality due in part to their easy availability and short design time (namely,
writing software).
datapath having a register file and ALU; a control unit having a controller, PC
and IR; and memories for storing the program and data.
The control unit would fetch the next instruction from program memory,
decode the instruction, and then execute the instruction by configuring the
datapath to carry out the instructions specified operation.
32
Programmable Processor
Summary
We went further to design a six- instruction programmable processor ,
Modern commercial processors are based on the same principles Instructions are stored as machine code in the memory
Control units fetch, decode and execute the instructions,
Datapath supports the operation of the instructions using register files and
ALUs.
Modern processors just do a much better job, using pipelining and many
33
Programmable Processor
34
Programmable Processor