You are on page 1of 18

Buses

Buses
• Definition: a collection of wires with a
common purpose
• Each wire is called a line
• Definition: a collection of wires with a
• Typically, buses carry information from one
place to another
common purpose
• Each wire is called a line From our first lecture…

• Typically, buses carry information from one


place to another

From our first


lecture…
bus
Disk
Printer
controller
Mouse Ports
Keyboard
Graphics
Modem Monitor
card

CPU Speakers
Sound
card

RAM
Network
card
Computer
Types of Buses (1 of 3)
• Point-to-point

Serial
Modem
port

Control
unit ALU
Types of Buses (2 of 3)
• Multipoint
Computer Computer

Computer Computer

CPU Memory

Disk controller Video controller


Types of Buses (3 of 3)
• Daisy chain Device controller

Device

Device

Device

Terminator
Buses Inside a Computer
Data bus
Address bus
Control bus

CPU

I/O Module
Motherboard
• Many
Memory configurations
possible

I/O Device
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.
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.
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.
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…
Memory 7 6 5
4 3
Map FFFF 2 1
0 Data bit
position

0002 The “bottom” of


Hexadecimal 0001 memory
address 0000
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…
Memory
FFFFFF
Map

14 MB
empty
224 bytes = 16 MB
“capacity”

200000
1FFFFF
1 MB RAM
100000
0FFFFF
1 MB RAM
000000
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
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
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


Answer
Memory
Map 7FFFFFFF

1,952 MB
empty

231 bytes = 2 GB
06000000
“capacity”
05FFFFFF
32 MB RAM
04000000
03FFFFFF
32 MB RAM
Note:
2 GB = 2,048 02000000
MB 01FFFFFF
32 MB RAM
00000000
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)

You might also like