Upload
bernie
View
50
Download
0
Tags:
Embed Size (px)
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
Citation preview
1
TK6123: COMPUTER ORGANISATION & ARCHITECTURE
Prepared By: Associate Prof. Dr Masri Ayob
Lecture 6: CPU and Memory (1)
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.
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
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
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!
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
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
8
CPU Organization
The data path of a typical Von Neumann machine.The data path of a typical Von Neumann machine.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Prepared by: Dr Masri Ayob - TK2123
20
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.
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.
Prepared by: Dr Masri Ayob - TK212323
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)
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.
Prepared by: Dr Masri Ayob - TK2123
26
Thank youQ & A