tk6123: computer organisation & architecture

26
1 TK6123: COMPUTER ORGANISATION & ARCHITECTURE Prepared By: Associate Prof. Dr Masri Ayob Lecture 6: CPU and Memory (1)

Upload: bernie

Post on 05-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

TK6123: COMPUTER ORGANISATION & ARCHITECTURE. Lecture 6: CPU and Memory (1). Prepared By: Associate Prof. Dr Masri Ayob. Contents. This lecture will discuss: Computer Systems Organisation . Instruction Execution. Design Principles for Modern Computers. Program Concept. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

1

TK6123: COMPUTER ORGANISATION & ARCHITECTURE

Prepared By: Associate Prof. Dr Masri Ayob

Lecture 6: CPU and Memory (1)

Page 2: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK2123

2

Contents

This lecture will discuss:This lecture will discuss:• Computer Systems Organisation.Computer Systems Organisation.• Instruction Execution.Instruction Execution.• Design Principles for Modern Computers.Design Principles for Modern Computers.

Page 3: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

3

Program Concept

Hardwired systems are inflexibleHardwired systems are inflexible

General purpose hardware can do different General purpose hardware can do different tasks, given correct control signalstasks, given correct control signals

Instead of re-wiring, supply a new set of Instead of re-wiring, supply a new set of control signalscontrol signals

Page 4: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

4

What is a program?

A sequence of stepsA sequence of steps

For each step, an arithmetic or logical For each step, an arithmetic or logical operation is doneoperation is done

For each operation, a different set of control For each operation, a different set of control signals is neededsignals is needed

Page 5: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

5

Function of Control Unit

For each operation a unique code is providedFor each operation a unique code is provided• e.g. ADD, MOVEe.g. ADD, MOVE

A hardware segment accepts the code and A hardware segment accepts the code and issues the control signalsissues the control signals

We have a computer!We have a computer!

Page 6: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

6

Components of Computer

Central Processing Unit (CPU) has:Central Processing Unit (CPU) has:• The Control Unit (CU) The Control Unit (CU) • the Arithmetic and Logic Unit (ALU).the Arithmetic and Logic Unit (ALU).

Data and instructions need to get into the Data and instructions need to get into the system and results outsystem and results out• Input/outputInput/output

Temporary storage of code, data and results Temporary storage of code, data and results is neededis needed• Main memoryMain memory

Page 7: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

7

Central Processing Unit

The organisation of a simple computer with The organisation of a simple computer with one CPU and two I/O devicesone CPU and two I/O devices

Page 8: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

8

CPU Organization

The data path of a typical Von Neumann machine.The data path of a typical Von Neumann machine.

Page 9: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

9

Components of the CPU

The arithmetic/logic unit is the component of The arithmetic/logic unit is the component of the CPU where data is held temporarily and the CPU where data is held temporarily and where calculations take place. where calculations take place.

The control unit controls and interprets the The control unit controls and interprets the execution of instructions .execution of instructions .

The control unit determines the particular The control unit determines the particular instruction to be executed by reading the instruction to be executed by reading the contents of a program counter (PC), contents of a program counter (PC), sometimes called an instruction pointer, sometimes called an instruction pointer, which is a part of the control unit. which is a part of the control unit.

Page 10: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

10

Components of the CPU

Normally, instructions are executed Normally, instructions are executed sequentially. sequentially. • The sequence of instructions is modified by The sequence of instructions is modified by

executing instructions that change the contents of executing instructions that change the contents of the program counter.the program counter.

A Memory Management Unit within the control A Memory Management Unit within the control unit supervises the fetching of instructions unit supervises the fetching of instructions and data from memory. and data from memory.

Page 11: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

11

The Concept Of Registers

A register is a single, permanent storage location A register is a single, permanent storage location within the CPU used for a particular, defined purpose. within the CPU used for a particular, defined purpose.

A register is used to hold a binary value temporarily A register is used to hold a binary value temporarily for storage, for manipulation, and/or for simple for storage, for manipulation, and/or for simple calculations.calculations.

Each register is wired within the CPU to perform its Each register is wired within the CPU to perform its specific role. specific role. • each register serves a particular purpose. each register serves a particular purpose. • The register’s size, the way it is wired, and even The register’s size, the way it is wired, and even

the operations that take place in the register reflect the operations that take place in the register reflect the specific function that the register performs in the specific function that the register performs in the computer. the computer.

Page 12: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

12

The Concept Of Registers

They are not addressed as a memory They are not addressed as a memory location, but instead are manipulated directly location, but instead are manipulated directly by the control unit during the execution of by the control unit during the execution of instructions. instructions.

They may be as small as a single bit or as They may be as small as a single bit or as wide as several bytes, ranging usually from wide as several bytes, ranging usually from one to 128 bits. one to 128 bits.

Page 13: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

13

The Concept Of Registers

A register may hold:A register may hold:• data being processed, data being processed, • an instruction being executed, an instruction being executed, • a memory or I/O address to be accessed, a memory or I/O address to be accessed, • or even special binary codes used for some or even special binary codes used for some

other purpose.other purpose.

Some registers serve many different purposes, Some registers serve many different purposes, while others are designed to perform a single, while others are designed to perform a single, specialised task. specialised task.

Page 14: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

14

The Concept Of Registers

Registers are basic working components of the Registers are basic working components of the CPU.CPU.

The control unit contains several important The control unit contains several important registers:registers:

a)a) the program counter (PC) register holds the the program counter (PC) register holds the address of the current instruction being address of the current instruction being executed.executed.

b)b) The instruction register (IR) holds the actual The instruction register (IR) holds the actual instruction being executed currently by the instruction being executed currently by the computer. computer.

Page 15: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

15

The Concept Of Registers

c)c) The memory address register (MAR) holds The memory address register (MAR) holds the address of a memory location.the address of a memory location.

d)d) The memory data register (MDR), The memory data register (MDR), sometimes known as the memory buffer sometimes known as the memory buffer register, will hold a data value that is being register, will hold a data value that is being stored to or retrieved from the memory stored to or retrieved from the memory location currently addressed by the memory location currently addressed by the memory address register. address register.

Page 16: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

16

The Concept Of Registers

The CU also contain several 1-bit registers, The CU also contain several 1-bit registers, sometimes known as flags, that are used to sometimes known as flags, that are used to allow the computer to keep track of special allow the computer to keep track of special conditions such as:conditions such as:• arithmetic carry and overflow,arithmetic carry and overflow,• power failure, and internal computer error. power failure, and internal computer error.

Usually, several flags are grouped into one or Usually, several flags are grouped into one or more status registers.more status registers.

Page 17: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

17

The Concept Of Registers

Most registers support four primary types of Most registers support four primary types of operations:operations:a)a) Registers can be loaded with values from other Registers can be loaded with values from other

locations, in particular from other registers or from locations, in particular from other registers or from memory locations. memory locations.

b)b) Data from another location can be added to or Data from another location can be added to or subtracted from the value previously stored in a subtracted from the value previously stored in a register, leaving the sum or difference in the register, leaving the sum or difference in the register.register.

Page 18: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK2123

18

The Concept Of Registers

c)c) Data in a register can be shifted or rotated Data in a register can be shifted or rotated right or left by one or more bits.right or left by one or more bits.

d)d) The value of data in a register can be tested The value of data in a register can be tested for certain conditions, such as zero, for certain conditions, such as zero, positive, negative, or too large to fit in the positive, negative, or too large to fit in the register.register.

Page 19: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK2123

19

THE MEMORY UNIT

The memory address register (MAR) and the memory The memory address register (MAR) and the memory data register (MDR), act is an interface between the data register (MDR), act is an interface between the CPU and memory. CPU and memory. • The MDR is called the memory buffer register by The MDR is called the memory buffer register by

some computer manufacturers.some computer manufacturers.

Each cell in the memory unit holds one bit of data. Each cell in the memory unit holds one bit of data.

The cells are organized in rows. The cells are organized in rows. • Each row consists of a group of one or more bytes. Each row consists of a group of one or more bytes.

In modern computers, it is common to address eight In modern computers, it is common to address eight bytes at a time to speed up memory access between bytes at a time to speed up memory access between the CPU and memory. the CPU and memory.

Page 20: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK2123

20

Page 21: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK2123

21

THE MEMORY UNIT

The MAR holds the address in the memory that The MAR holds the address in the memory that is to be “opened” for data. is to be “opened” for data. • The MAR is connected to a decoder that The MAR is connected to a decoder that

interprets the address and activates a single interprets the address and activates a single address line into the memory. address line into the memory.

Page 22: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK2123

22

THE MEMORY UNIT

The MDR is designed such that it is effectively The MDR is designed such that it is effectively connected to every cell in the memory unit. connected to every cell in the memory unit. • Each bit of the MDR is connected in a Each bit of the MDR is connected in a

column to the corresponding bit of every column to the corresponding bit of every location in memory. location in memory.

• The addressing method assures that only a The addressing method assures that only a single row of cells is activated at any given single row of cells is activated at any given time. time.

• Only one memory location is addressed at Only one memory location is addressed at any one time. any one time.

Page 23: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK212323

Page 24: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK2123

24

Memory Capacity

The number of bits in the MAR determines how The number of bits in the MAR determines how many different address locations can be many different address locations can be decoded.decoded.• For a MAR of width k bits, the number of possible For a MAR of width k bits, the number of possible

memory addresses ismemory addresses is

M = 2M = 2kk

• For example: A 32-bit memory address allows a For example: A 32-bit memory address allows a memory capacity of 4 gigabytes (GB) memory capacity of 4 gigabytes (GB)

Page 25: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK2123

25

Memory Capacity

• The size of the word to be retrieved or stored in a The size of the word to be retrieved or stored in a single operation is determined by the size of the single operation is determined by the size of the MDR and by the width of the bus connecting MDR and by the width of the bus connecting memory to the CPU. memory to the CPU. • In most modern computers, data and instructions In most modern computers, data and instructions

found in memory are addressed in multiples of 8-found in memory are addressed in multiples of 8-bit bytes. bit bytes.

• the MDR is usually designed to retrieve the data the MDR is usually designed to retrieve the data or instruction(s) from a sequence of several or instruction(s) from a sequence of several successive addresses all at once, and the MDR successive addresses all at once, and the MDR will be several bytes wide. will be several bytes wide.

Page 26: TK6123:  COMPUTER ORGANISATION & ARCHITECTURE

Prepared by: Dr Masri Ayob - TK2123

26

Thank youQ & A