ITEC 1011 Introduction to Information Technologies 6. The CPU and Memory Chapt. 7.

34
ITEC 1011 Introduction to Information Technologies 6. The CPU and Memory Chapt. 7

Transcript of ITEC 1011 Introduction to Information Technologies 6. The CPU and Memory Chapt. 7.

ITEC 1011 Introduction to Information Technologies

6. The CPU and Memory

Chapt. 7

ITEC 1011 Introduction to Information Technologies

Introduction

• The Little Man Computer (LMC) is cute, but…• Real computers…

• Memory is separate from the CPU

• Data are in binary (not decimal)CentralProcessingUnit

ITEC 1011 Introduction to Information Technologies

Components of a CPU

• ALU (arithmetic and logic unit)• Perform arithmetic and logic operations• Arithmetic: add, subtract, multiply, divide, etc.• Logic: AND, OR, NOT, Shift, etc.

• Control unit• Interprets instructions• Controls the flow of information within the CPU• Works with a “program counter” (address of next

instruction)• Input/output interface

• Provides mechanism for input and output of data• Many variations possible

p. 166

ITEC 1011 Introduction to Information Technologies

LMC Counterparts

05

123123500199500399

123

000102030405

9596979899

456

789

ALU

Control unit

Program counter

Input/outputinterface

p. 167

ITEC 1011 Introduction to Information Technologies

System Block Diagram

ALU

CPU

Input/outputinterface

Control unit

Program counter

Memory

ITEC 1011 Introduction to Information Technologies

Registers

• A register is a single storage location within the CPU• Unlike memory, which is “outside” the CPU• Examples of registers:

• Accumulator (ACC)• Program counter (PC)• Instruction register (IR)• Memory address register (MAR)• Memory data register (MDR)• Status register

• General purpose registers (R0, R1, …)• Included on some CPUs• Used for high-speed temporary storage of program

variables

ITEC 1011 Introduction to Information Technologies

Memory Unit

Mem

ory

addr

ess

regi

ster

Add

ress

dec

oder

bit n - 1

bit 0

bit 101234

2n-1

Memory data register

Memory celln bits

m bits

0 1 2 m - 1

p. 170

ITEC 1011 Introduction to Information Technologies

Memory Capacity

• 2n x m

• n address bits = 2n addresses

• m data bits

• m is the “width” of the data path

• Typical values:• n: 16, 17, 18, 19, 20, 21, 22, etc.• m: 8, 16, 32, 64

ITEC 1011 Introduction to Information Technologies

Question

• Q: How many bits of memory are contained in a memory unit with 512KB of memory?

A: 512 = 29, K = 210, B = byte = 8 = 23

29 x 210 x 23 = 222 = 4,194,304

ITEC 1011 Introduction to Information Technologies

Exercise – Memory Capacity

• Q: How many bits of memory are contained in a memory unit with 2MB of memory?

A:

Skip answer Answer

ITEC 1011 Introduction to Information Technologies

Exercise – Memory Capacity

• Q: How many bits of memory are contained in a memory unit with 2MB of memory?

A: 2 = 21, M = 220, B = byte = 8 = 23

21 x 220 x 23 = 224 = 16,777,216

Answer

ITEC 1011 Introduction to Information Technologies

Memory Implementations

• RAM – random access memory• Static RAM• Dynamic RAM

• ROM – read-only memory

p. 175

ITEC 1011 Introduction to Information Technologies

Fetch-Execute Cycle

• Two steps, or cycles, in the execution of every instruction• Fetch – fetch the code for the instruction from

memory and place it in the IR (instruction register)

• Execute – execute the instruction

• A pretty picture sometimes helps…

Fetch Execute

time

ITEC 1011 Introduction to Information Technologies

The Store Instruction

PC MAR

MDR IR

IR[address] MAR

A MDR

PC + 1 PC

Fetch

Execute

time

ITEC 1011 Introduction to Information Technologies

The Add Instruction

PC MAR

MDR IR

IR[address] MAR

A + MDR A

PC + 1 PC

Fetch

Execute

time

ITEC 1011 Introduction to Information Technologies

Buses

• Definition: a collection of wires with a common purpose

• Each wire is called a line

• Typically, buses carry information from one place to another

From our first lecture…

ITEC 1011 Introduction to Information Technologies

Ports

CPU

RAM

Diskcontroller

Graphicscard

Soundcard

Networkcard

Printer

Mouse

Keyboard

ModemMonitor

Speakers

bus

Computer

ITEC 1011 Introduction to Information Technologies

Types of Buses (1 of 3)

• Point-to-point

Serialport

Modem

Controlunit ALU

ITEC 1011 Introduction to Information Technologies

Types of Buses (2 of 3)

• Multipoint

Computer

CPU

Disk controller

Computer

Computer Computer

Memory

Video controller

ITEC 1011 Introduction to Information Technologies

Types of Buses (3 of 3)

• Daisy chainDevice controller

Device

Device

Device

Terminator

ITEC 1011 Introduction to Information Technologies

Buses Inside a Computer

Data busAddress busControl bus

MemoryI/O Module

I/O Device

CPU

Motherboard• Many

configurations possible

ITEC 1011 Introduction to Information Technologies

Data Bus

• Carries data between the CPU and memory or I/O devices

• Bi-directional• Data transferred “out of” the CPU for write operations

• Data transferred “into” the CPU for read operations

• Typical sizes: 8, 16, 32, 64 lines• Signal names:

• D0, D1, D2, D3, etc.

ITEC 1011 Introduction to Information Technologies

Address Bus

• Carries an address from the CPU to Memory or I/O devices

• Unidirectional• The address is always supplied by the CPU

(There is one exception to this, which we’ll discuss later.)

• Typical sizes: 16, 20, 24 lines• Signal names:

• A0, A1, A2, A3, etc.

ITEC 1011 Introduction to Information Technologies

Control Bus

• Collection of signals for coordinating CPU activities• Each signal has a unique purpose• Typical sizes: 10-20 lines• Signals are output, input, or bi-directional• Typical signals

• /RD (read)• /WR (write• CLK (clock)• /IRQ (interrupt request)• etc.

ITEC 1011 Introduction to Information Technologies

Memory Maps

• The usage of memory space on a system is commonly depicted in a “memory map”

• The height of the map is determined by the number of addresses

• The width of the map is usually 8 bits

• E.g., • a system with a capacity of 216 bytes…

ITEC 1011 Introduction to Information Technologies

7 6 5 4 3 2 1 0

FFFF

000200010000

Hexadecimaladdress

Data bitposition

Memory Map

The “bottom” of memory

ITEC 1011 Introduction to Information Technologies

Use of Memory Maps

• Memory maps are usually drawn to show “what is where” on a system

• The possibilities for “what”• RAM, ROM, I/O, nothing

• The possibilities for “where”• Determined by the starting/ending addresses for each

“block” of RAM, ROM, I/O, nothing

• E.g., • a memory map for a system with a capacity of 224 bytes

with two 1 MB RAM modules residing consecutively at the bottom of memory…

ITEC 1011 Introduction to Information Technologies

FFFFFF

2000001FFFFF

1000000FFFFF

000000

Memory Map

224 bytes = 16 MB “capacity”

1 MB RAM

14 MB

empty

1 MB RAM

ITEC 1011 Introduction to Information Technologies

Exercise – Memory Space

Q: A system with a memory capacity of 128 GB has four 32 MB memory modules installed consecutively at the bottom of memory. The rest of the memory is unused. How much memory space is available for future expansion? (Give your answer in decimal in megabytes.)

A: ?

Skip answer Answer

ITEC 1011 Introduction to Information Technologies

Exercise – Memory Space

Q: A system with a memory capacity of 128 GB has four 32 MB memory modules installed. The rest of the memory is unused. How much memory space is available for future expansion? (Give your answer in decimal in megabytes.)

A: 128 GB – 4 x 32 MB = 27 x 210 MB - 22 x 25 MB= (217 – 27) MB= (131,072 – 128) MB= 130,944 MB

Answer

ITEC 1011 Introduction to Information Technologies

Exercise – Memory Maps

• Draw a memory map for a system with a capacity of 2 GB. Assume the system has three 32 MB memory modules residing consecutively at the bottom of memory. Illustrate the size of each block in MB and the starting and ending address of each block of memory in hexadecimal.

Skip answer Answer

ITEC 1011 Introduction to Information Technologies

7FFFFFFF

0600000005FFFFFF

0400000003FFFFFF

0200000001FFFFFF

00000000

Memory Map

231 bytes = 2 GB “capacity”

32 MB RAM

1,952 MB

empty

32 MB RAM

32 MB RAM

Note:2 GB = 2,048 MB

Answer

ITEC 1011 Introduction to Information Technologies

Memory vs. I/O

• Our system block diagram shows memory and I/O connected to the same buses (data, address, & control)

• This raises the question…• How is I/O differentiated from memory?

• (We’ll answer this in the next topic)

ITEC 1011 Introduction to Information Technologies

Thank you