Top Banner
S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model Topics Basic components of a computer Instruction processing Examples from the LC-3 simulator Changing the sequence of execution
32

CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

Jan 22, 2016

Download

Documents

Stacy

CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model. Topics Basic components of a computer Instruction processing Examples from the LC-3 simulator Changing the sequence of execution. Basic Components of a Computer System. The basic components are: Central processing unit (CPU) Memory - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

CHAPTER 4COMPUTER SYSTEM – Von Neumann Model

Topics

Basic components of a computer

Instruction processing

Examples from the LC-3 simulator

Changing the sequence of execution

Page 2: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Basic Components of a Computer System

The basic components are:

• Central processing unit (CPU) • Memory • Input devices • Output devices

A clock controls all the operations performed in a computer system.

A computer system is a synchronous machine.

Page 3: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Von Neumann Model of a Computer System

M E M ORY

CON TR OL UN IT

M AR M DR

IR

P R OCE S S IN G UN IT

ALU TEM P

PC

OUTP UTM on ito rP rin terLEDD isk

IN P UTK eyboardM ouseS c anne rD is k

Page 4: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Central Processing Unit (CPU)

The CPU consists of:• Arithmetic logic unit (ALU)• Control unit (CU)• Small set of storage areas, called registers

Arithmetic Logic Unit (ALU)

The ALU is the primary processing unit in a computer.

It performs all the arithmetic and logic operations.

Control Unit (CU)

The CU controls all the operations performed by a computer and determines what operations the program calls for and in what order they need to be carried out.

Page 5: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

CPU (Continued)

The CPU is responsible for:• The complete processing of information • All the decision-making operations

Word Size of a processor:• Number of bits the processor reads from or writes

into the memory in one clock cycle• Number of bits normally processed by ALU in one

instruction• Also width of registers• LC-3 is a 16 bit processor

Page 6: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Memory

Memory provides the storage space for• the program that is currently being executed • the data that is needed during the execution of the

program

The memory unit consists of a number of memory locations of the same width.

The number of bits that can be stored in a memory location corresponds to the memory width.

Each memory location is identified by a unique address.

Memory capacity = Total number of memory locations * memory width

Page 7: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Interface to Memory

M E M OR Y

M AR M DR

MAR: Memory Address Register

MDR: Memory Data Register

Page 8: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Block Diagram of a Memory Unit

memory width

7 6 5 4 3 2 1 0 0 1 2 .

MAR 10 bits . 8 bits MDR .

10-bit memory address . 8-bit data

(A9 – A0) . (D7 – D0) . 1023

For this example, memory capacity = 210 x 8 bits = 1 Kbytes

(The above figure does not show the control signals needed to control the memory read and memory write

operations.)

Page 9: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Memory - Basic Operations

LOAD - Read data from a memory location1. Write the address of the location into the MAR.

2. Send a “read” signal to the memory.

3. Read the data from MDR.

STORE - Write data to a memory location1. Write the data to the MDR.

2. Write the address of the location into the MAR.

3. Send a “write” signal to the memory.

Page 10: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Input/Output (I/O) Devices

Input devices transfer information from the outside world into the memory of a computer system.

Examples: Keyboard, disk drives, scanner, mouse

Output devices transfer information from the memory of a computer system into the outside world.

Examples: Printers, display units, plotters, disk drives

Some devices provide both input and outputExamples: disk, network

Driver - Program that controls access to a device

Page 11: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Buses in a Computer System

Buses are the physical link between the various

components within the computer.

The computer employs mainly three types of buses:

• Address bus

• Data bus • Control bus

Page 12: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Buses in a Computer System (Continued)

Three types of buses in a computer system:

• Address bus: Carries the address generated by the CPU to the memory and I/O.

• Data bus: Allows the transfer of data between the CPU, memory and I/O.

• Control bus: Carries the control signals, generated by the control unit, to the various components in

the system in order to ensure proper sequencing of data and instruction movement.

Page 13: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Block Diagram of a Basic Computer Architecture

CPU 

Clock CU ALU Clock Generator 

Address Bus p 

Data Bus q

Control Bus r

   Main Memory I/O Unit 

I/O Bus (represents address, data, & control)

   Keyboard Printer Secondary Memory 

Page 14: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction

The instruction specifies two items:• Opcode: operation to be performed• Operands: data/locations to be used for operation

An instruction is encoded as a sequence of bits. Often,but not always, instructions have a fixed length, such as16 or 32 bits.

Instruction Format – The binary representation of an instruction

Page 15: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction (Continued)

Control unit• interprets the instruction • generates sequence of control signals to carry

out operation.

A computer’s instructions and their formats is known as

its Instruction Set Architecture (ISA).

Page 16: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing

Decode instructionDecode instruction

Evaluate addressEvaluate address

Fetch operands from memoryFetch operands from memory

Execute operationExecute operation

Store resultStore result

Fetch instruction from memoryFetch instruction from memory

Page 17: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing: FETCH

Load the instruction from memory into Instruction Register

• Copy contents of PC into MARMAR ← PC

• Increment PC so that PC points to the next instruction in sequence

PC ← PC + 1• Send “read” control signal to memory

MDR ← Memory [MAR] • Copy contents of MDR into IR

IR ← MDR

EAEA

OPOP

EXEX

SS

FF

DD

Page 18: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Example Instruction: LDR Instruction

LDR R2, R3, #6 – Loads (reads) data from memory

into the destination register R2

Memory address: Base register + SEXT (offset)Memory address = R3 + 6 Load the contents of the memory location [R3 + 6] to R2

Page 19: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing: DECODE

• First identify the opcode• Identify the operands

Example: LDR R2, R3, #6

Opcode: IR[15:12] = 0110

Operands:

Offset: IR[5:0] = #6 (6 decimal; 000110 binary)

Base register: IR[8:6] = 011 = R3

EAEA

OPOP

EXEX

SS

FF

DD

Page 20: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing: EVALUATE ADDRESS

For instructions that require memory access,

compute address used for memory access.

Example: LDR R2, R3, #6

Address = SEXT (offset) + Base Register

MAR ← 6 + R3

EAEA

OPOP

EXEX

SS

FF

DD

Page 21: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing: FETCH OPERANDS

Obtain source operands needed to

perform operation.

Example: LDR R2, R3, #6

Load data from memory (LDR)

MDR ← Memory [MAR]

EAEA

OPOP

EXEX

SS

FF

DD

Page 22: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing: EXECUTE

Perform the operation, using the source

operands.

Example: LDR R2, R3, #6

No operation done in this step

EAEA

OPOP

EXEX

SS

FF

DD

Page 23: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing: STORE RESULT

Write results to destination.

Destination can be a register or

Memory.

Example: LDR R2, R3, #6

Data read from the memory is placed in

destination register.

R2 ← MDR

EAEA

OPOP

EXEX

SS

FF

DD

Page 24: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Changing the Sequence of Instructions

In the FETCH phase, we increment PC by 1.

Need special instructions called control instructions to

change the contents of the PC during the Execute

phase.• jumps (unconditional)

Always change the PC• branches (conditional)

PC is changed only if the specified condition is

true

Page 25: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Examples: LC-3 Control Instructions

JMP R2 ; PC ← R2

RET ; PC ← R7

BRzp NEXT ; if the last result was zero or positive then

PC ← address corresponding to NEXT

Page 26: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing Summary

Three basic kinds of instructions:• Arithmetic/logic instructions (ADD, AND, …)• Data transfer instructions (LD, ST, …)• Control instructions (JMP, BRnz, …)

Six basic phases of instruction processing:

F D EA OP EX S

Not all phases are needed by every instruction

Phases may take variable number of machine cycles

Page 27: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Example Instruction: LDR Instruction

LDR R2, R3, #6 ; R2 ← mem [R3 + 6]Opcode: IR[15:12] = 0110

Operands:

Base register: R3 given by IR[8:6]Offset: 6 given by IR[5:0]

Destination: R2 given by IR[11:9]

Page 28: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing: LDR R2, R3, #6

FetchMAR ← PCPC ← PC + 1MDR ← Memory [MAR] IR ← MDR

DecodeIdentify the opcodeIdentify the operands

Execute MAR ← 6 + R3 MDR ← Memory [MAR] R2 ← MDR

Page 29: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Example Instruction: ADD Instruction

ADD R6, R2, R6 ; R6 ← R2 + R6

Opcode: IR[15:12] = 0001

Operands:

Source1: R2 given by IR[8:6]Source2: R6 given by IR[2:0]

Destination: R6 given by IR[11:9]

Page 30: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing: ADD R6, R2, R6

Fetch

MAR ← PC

PC ← PC + 1

MDR ← Memory [MAR]

IR ← MDR

Decode

Identify the opcode

Identify the operands

Execute

R6 ← R2 + R6

Page 31: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Example Instruction: JMP Instruction

JMP R3 ; PC ← R3

Opcode: IR[15:12] = 0001

Operand: Base register R3 given by IR[8:6]

Page 32: CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model

S. Barua – CPSC 240 [email protected] http://sbarua.ecs.fullerton.edu

Instruction Processing: JMP R3

Fetch

MAR ← PC

PC ← PC + 1

MDR ← Memory [MAR]

IR ← MDR

Decode

Identify the opcode

Identify the operand

Execute

PC ← R3