ITEC 1011 Introduction to Information Technologies 6. The CPU and Memory Chapt. 7.
-
Upload
drusilla-mclaughlin -
Category
Documents
-
view
240 -
download
4
Transcript of 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)