Chapter 04 - The Von Neumann Model
Download
Report
Transcript Chapter 04 - The Von Neumann Model
Chapter 4
The Von Neumann Model
Concepts to Learn…
Computer Architecture
Von Neumann vs. Harvard
MSP430 Architecture
RISC / CISC
Anatomy of an Instruction
MSP430 Instructions
Instruction Cycles
Clocks
MSP430 Finite State Machine
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
2
Forecasting Computer Technology
“I think there is a world market for maybe five computers.” Thomas
Watson, IBM Chairman, 1943
“Computers in the future may weigh no more than 1.5 tons.” Popular
Mechanics, 1949
“There is no reason anyone would want a computer in their home.”
Ken Olsen, DEC founder, 1977
“DOS addresses only 1 MB of RAM because we cannot imagine any
applications needing more.” Microsoft, 1980
“The 32-bit machine would be an overkill for a personal computer.” Sol
Libes, ByteLines, 1981
“640K ought to be enough for anybody.” Bill Gates, 1981
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
3
Von Neumann
The Von Neumann Computer
Memory
INPUT
* keyboard
* mouse
* scanner
* A/D
* serial
* disk
Address Bus
Data Bus
Processing Unit
ALU
BYU CS/ECEn 124
* monitor
* printer
* LEDs
* D/A
* disk
Registers
Control Unit
Program Counter
OUTPUT
Instruction Register
Von Neumann
proposed this
model in 1946
Datapath
Control
The Von Neumann model:
Program instructions and Data
are both stored as sequences
of bits in computer memory
Chapter 4 - The Von Neumann Model
4
Von Neumann
Memory Interface
Memory Address Bus
Memory Address Register (MAR) stores the memory
address for the address bus (address space)
used to address peripherals as well as memory
Memory Data Bus
Memory Select (MSEL) connects memory to the data
bus (addressability)
Memory Write Enable (MWE) is the control signal that
is asserted when writing to memory
bi-directional bus
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
5
Von Neumann
Memory Terminology
Address Space = amount of data that can be
stored (also called the memory size)
Addressability = number of bits stored in each
memory location
1 byte
1 Kilobyte (KB)
1 Megabyte (MB)
1 Gigabyte (GB)
1 Terabyte (TB)
1 Petabyte (PB)
1 Exabyte (EB)
BYU CS/ECEn 124
= 8 bits
= 210 bytes = 1024 bytes
20
= 2 bytes
= 230 bytes
= 240 bytes
= 250 bytes
= 260 bytes
Chapter 4 - The Von Neumann Model
6
MSP430 Architecture
MSP430 Architecture
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
7
MSP430 Architecture
The Processing Unit
Performs the arithmetic and logical operations
ALU = Arithmetic and Logic Unit
Arithmetic operations: add, subtract, compare
Logical operations: and, xor, bit
Sets condition codes
The word length of a computer is the number of
bits processed by the ALU.
Includes a small amount of very fast memory
close to the ALU (operand registers, register file).
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
8
MSP430 Architecture
The Control Unit
The control unit directs the execution of the
program
The program counter or PC points to the next
instruction to be executed
The instruction register or IR contains the currently
executing instruction
The status register or SR contains information about
the last instruction executed as well as system
parameters
The control unit prevents bus conflicts and
timing/propagation problems
The control unit is a Finite State Machine driven
by a clock
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
9
MSP430 Architecture
MSP430 Memory
Interrupt vectors
Flash / ROM
0100h – 01FFh 16-bit peripherals
0010h – 00FFh 8-bit peripherals
Special Function Registers
BYU CS/ECEn 124
Volatile storage
Peripherals
Used for both code and data
RAM
Upper 16 words of Flash
Lower 16 bytes
Chapter 4 - The Von Neumann Model
10
MSP430 Architecture
Input and Output
Used to get information in and out of the
computer.
External devices attached to a computer
are called peripherals.
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
11
The MSP430
BYU CS/ECEn 124
Memory Unit MSP430 Architecture
Processing Unit
Control Unit
I/O Unit
Chapter 4 - The Von Neumann Model
12
RISC / CISC
RISC / CISC Instruction Set
RISC
CISC
Emphasis on software
Single-clock
Reduced instructions
Low cycles/second
Large code sizes
More transistors on
memory registers
Pipelining friendly
BYU CS/ECEn 124
Emphasis on
hardware
Multi-clock
Complex instructions
Small code sizes
High cycles/second
More transistors for
complex instructions
Compiler friendly
Chapter 4 - The Von Neumann Model
13
RISC / CISC
MSP430 RISC/CISC Instruction Set
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
14
Computer Instructions
Anatomy of an Instruction
Opcode
Source Operand
1st data object manipulated by the instruction
Destination Operand
What the instruction does - Operator
2nd data object manipulated by the
instruction
Where results of operation is stored.
Addressing Modes
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
15
MSP430 Instructions
3 Instruction Formats
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
16
MSP430 Instructions
Double Operand Instructions
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
17
MSP430 Instructions
Single Operand Instruction
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
18
MSP430 Instructions
Jump Instructions
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
19
MSP430 Instructions
Addressing Modes
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
20
Instruction Cycles
The Instruction Cycle
INSTRUCTION FETCH
DECODE
Load destination operand
Not all instructions
require all six phases
EXECUTE
Load source operand
DESTINATION OPERAND FETCH
Examine the instruction, and determine how to execute it
SOURCE OPERAND FETCH
Obtain the next instruction from memory
Carry out the execution of the instruction
STORE RESULT
Store the result in the designated destination
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
21
Instruction Cycles
The Instruction Fetch Phase
Computer programs consist of sequence
of instructions
each instruction = 1-3 Binary Words
stored in memory as 1’s and 0’s
called machine code.
Instructions are fetched from memory
using the program counter (PC) as the
address of the memory location.
Program counter “increments” for each
instruction.
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
22
Instruction Cycles
Instruction Decode Phase
Pick apart the instruction stored in the IR
Determines
control unit in control logic does all this
instruction format
operation
operand sources
operand destination
Combinational logic (ie. Does not require
a clock cycle.)
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
23
Instruction Cycles
Source Operand Fetch Phase
Instruction format defines addressing
mode
Register mode - Rn
Indexed mode - x(Rn)
Symbolic mode - addr
Absolute mode - &addr
Indirect register mode - @Rn
Indirect autoincrement mode - @Rn+
Immediate mode - #n
Constant Generator
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
24
Instruction Cycles
Destination Operand Fetch Phase
Instruction format defines addressing
mode
Register mode - Rn
Indexed mode - x(Rn)
Symbolic mode - addr
Absolute mode - &addr
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
25
Instruction Cycles
Execute Phase
ALU is combinational logic and does not
require a clock
Some instructions are multi-functional and
require several operations
PUSH - stack decremented
RETI - status register restored from stack,
stack incremented, program counter restored
from stack, stack incremented
CALL - stack decremented, program register
saved on stack.
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
26
Instruction Cycles
Store Phase
ALU results are stored in register or
memory
Location of destination operand is the
target of the result of the instruction.
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
27
Clocks
Clocks
With a clock cycle, the processor performs an
action that corresponds to an instruction phase.
CPI (Cycles Per Instruction) is the average
number of clock cycles required for a
microprocessor to execute an instruction.
A microprocessor power is characterized by the
number of instructions per second that it is
capable of processing.
MIPS (millions of instructions per second) is the unit
used and corresponds to the processor frequency
divided by the cycles per second (CPI).
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
28
Clocks
Faster Clock Shorter Running Time
S olutio n
1 G Hz
4 s teps
20 s teps
2 G Hz
Faster steps do not necessarily mean shorter travel time.
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
29
Clocks
Basic Clock System
Basic Clock Module
provides the clocks
for the MSP430
devices
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
30
Clocks
Multiple Clocks
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
31
Clocks
Stopping the Clock
Control unit will repeat instruction
processing sequence as long as clock is
running
If not processing instructions from your
application, then it is processing instructions
from the Operating System (OS)
To stop the computer, set the CPUOFF bit
in the status register (R2) - disables MCLK
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
32
MPS430 FSM
MSP430 Finite State Machine
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
33
MPS430 FSM
Finite State Machine
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
34
MPS430 FSM
Finite State Machine
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
35
Review
Von Neumann In Review
Programs are stored in memory as
instructions
instructions are simply collections of 1’s and 0’s
our MSP430 machine has 16-bit instructions
Data is also stored in memory as 1’s and 0’s
A program is executed by
fetching next instruction from memory
decoding it
fetching its operands
doing the requested operation and
storing the result
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
36
Review
The Von Neumann Bottleneck
You may hear of the term “Von Neumann
Bottleneck”
All instructions / data has to be fetched from
memory
the path to memory is a bottleneck
In spite of this, the Von Neumann model is
today’s computing model
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
37
BYU CS/ECEn 124
Chapter 4 - The Von Neumann Model
38