ch4-2

advertisement
System components
Timing diagrams.
Memory.
Busses and interconnect.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Timing diagrams
 A timing diagram shows a trace through the operation of
a system.
Generally used for asynchronous machines with timing
constraints.
enq
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
ack
Timing diagram syntax
Constant value:
1
0
Stable:
Changing:
Unknown:
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Timing constraints
Minimum time between two events:
enq
20 ns
ack
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Origin of timing
constraints
Control signals are passed on the bus:
D
20 ns
c
a
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Q
Memory device
organization
n
r
Memory array
c
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Memory parameters
Size.
Address width.
Aspect ratio.
Data width.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Types of memory
ROM:
Mask-programmable.
Flash programmable.
RAM:
DRAM.
SRAM.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
SRAM vs. DRAM
SRAM:
Faster.
Easier to integrate with logic.
Higher power consumption.
DRAM:
Denser.
Must be refreshed.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Typical generic SRAM
CE’
R/W’
SRAM
Adrs
Data
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Generic SRAM timing
CE’
R/W’
Adrs
Data
From SRAM
read
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
From CPU
write
time
Generic DRAM device
CE’
R/W’
RAS’
CAS’
Adrs
DRAM
Data
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Generic DRAM timing
CE’
R/W’
RAS’
CAS’
Adrs
row
adrs
col
adrs
Data
© 2000 Morgan
Kaufman
data
Overheads for Computers as
Components
time
Page mode access
CE’
R/W’
RAS’
CAS’
Adrs
Data
© 2000 Morgan
Kaufman
row
adrs
col
adrs
data
Overheads for Computers as
Components
col
adrs
data
col
adrs
data
time
RAM refresh
Value decays in approx. 1 ms.
Refresh value by reading it.
Can’t access memory during refresh.
CAS-before-RAS refresh.
Hidden refresh.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Other types of memory
Extended data out (EDO): improved page
mode access.
Synchronous DRAM: clocked access for
pipelining.
Rambus: highly pipelined DRAM.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Flash issues
Flash is programmed at system voltages.
Erasure time is long.
Must be erased in blocks.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Generic bus structure
Address:
m
n
Data:
Control:
© 2000 Morgan
Kaufman
c
Overheads for Computers as
Components
Electrical bus design
Bus signals are usually tri-stated.
Address and data lines may be multiplexed.
Every device on the bus must be able to drive
the maximum bus load:
Bus wires.
Other bus devices.
Bus may include clock signal.
Timing is relative to clock.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Four-cycle handshake
3
1
enq
data
4
2
ack
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Busses as communicating
machines
enq = 1
ack = 0
0
0
ack
enq
1
1
enq = 0
ack
ack = 1
1
enq
0
M1
© 2000 Morgan
Kaufman
0
M2
Overheads for Computers as
Components
1
When should you
handshake?
When response time cannot be
guaranteed in advance:
Data-dependent delay.
Component variations.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Fixed-delay memory
access
read = 1
adrs = A
R/W
data
R/W
R
reg = data
adrs
mem[adrs] =
data
data = mem[adrs]
memory
CPU
© 2000 Morgan
Kaufman
W
Overheads for Computers as
Components
Variable-delay memory
access
read = 1
adrs = A
R/W
done = 0
data
R/W
R
done
n
y
reg = data
adrs
data = mem[adrs]
done = 1
done
memory
CPU
© 2000 Morgan
Kaufman
W mem[adrs] =
data
done = 1
Overheads for Computers as
Components
Typical bus access
clock
R/W’
Address
enable
adrs
Data
Ready’
data
write time
read
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Bus mastership
Bus master controls operations on the
bus.
CPU is default bus master.
Other devices may request bus
mastership.
Separate set of handshaking lines.
CPU can’t use bus when it is not master.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Direct memory access
(DMA)
DMA provides parallelism on bus by
controlling transfers without CPU.
I/O
memory
CPU
DMA
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
DMA operation
CPU sets up DMA transfer:
Start address.
Length.
Transfer block length.
Style of transfer.
DMA controller performs transfer, signals when
done:
Cycle-stealing.
Priority.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
ARM busses
Open standard.
Many external
devices.
memory
CPU
Two varieties:
AMBA HighPerformance Bus
(AHB).
AMBA Peripherals
Bus (APB).
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
AHB
bridge
AMBA:
I/O
APB
Download