Download File - drschlaak.com

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Computer Memory
Storage
Decoding
Addressing
1
Memories We've Seen
SIMM = Single Inline Memory Module
DIMM = Dual IMM
SODIMM = Small Outline DIMM
RAM = Random Access Memory
SDRAM = Synchronous Dynamic RAM
RDRAM = Direct Rambus DRAM
A type of SDRAM
Rambus = The developing company
ROM = Read Only Memory
Some Definitions
DRAM Comparison
Levels of the Memory Hierarchy
Part of The On-chip
CPU Datapath
ISA 16-128
Registers
One or more levels (Static RAM):
Level 1: On-chip 16-64K
Level 2: On-chip 256K-2M
Level 3: On or Off-chip 1M-16M
Dynamic RAM (DRAM)
256M-16G
Interface:
SCSI, RAID,
IDE, 1394
80G-300G
CPU
Registers
Cache
Level(s)
Main Memory
Farther away from
the CPU:
Lower Cost/Bit
Higher Capacity
Increased Access
Time/Latency
Lower Throughput/
Bandwidth
Magnetic Disc
Optical Disk or Magnetic Tape
5
Memory Hierarchy Comparisons
Capacity
Access Time
Cost
CPU Registers
100s Bytes
<10s ns
Cache
K Bytes
10-100 ns
1-0.1 cents/bit
Main Memory
M Bytes
200ns- 500ns
$.0001-.00001 cents /bit
Disk
G Bytes, 10 ms
(10,000,000 ns)
-5
-6
10 - 10 cents/bit
Tape
infinite
sec-min
-8
10
Staging
Xfer Unit
faster
Registers
Instr. Operands
prog./compiler
1-8 bytes
Cache
Blocks
cache cntl
8-128 bytes
Memory
Pages
OS
4K-16K bytes
Files
user/operator
Mbytes
Disk
Larger
Tape
6
Memory Arrays (Hierarchy)
Memory Arrays
Random Access Memory
Read/Write Memory
(RAM)
(Volatile)
Static RAM
(SRAM)
Dynamic RAM
(DRAM)
Mask ROM
Programmable
ROM
(PROM)
Content Addressable Memory
(CAM)
Serial Access Memory
Read Only Memory
(ROM)
(Nonvolatile)
Shift Registers
Serial In
Parallel Out
(SIPO)
Erasable
Programmable
ROM
(EPROM)
Queues
Parallel In
Serial Out
(PISO)
Electrically
Erasable
Programmable
ROM
(EEPROM)
55:035 Computer Architecture and Organization
First In
First Out
(FIFO)
Last In
First Out
(LIFO)
Flash ROM
7
Memory Comparisons
Non-Volatile Memories (ROM / Flash)

Floating-gate transistor
Floating gate
Gate
Source
D
Drain
G
tox
tox
n+
p
n+_
S
Substrate
Device cross-section
Schematic symbol
9
6T SRAM Cell (6 transistors)

Cell size accounts for most of array size


6T SRAM Cell



Used in most commercial chips
Data stored in cross-coupled inverters
Read:



Reduce cell size at expense of complexity
bit
bit_b
Raise wordline
word
Read bit, bit_b (complement of bit)
Write:



Drive complementary data
onto bit, bit_b
Raise wordline
Bit lines overpower old data
10
1-Transistor DRAM Cell



Write: Cs is charged or discharged by asserting WL
and BL
Read: Charge redistribution takes place between bit
line and storage capacitance
Voltage swing is small; typically around 250 mV
55:035 Computer Architecture and Organization
11
Read-Write Memories (RAM)

Static (SRAM)





Data stored as long as supply is applied
Large (6 transistors/cell)
Fast
Differential
Dynamic (DRAM)




Periodic refresh required
Small (1-3 transistors/cell)
Slower
Single Ended
55:035 Computer Architecture and Organization
12
Connecting Memory
Processor
Memory
k-bit
address bus
MAR
n-bit
data bus
MDR
Up to 2 k addressable
locations
Word length = n bits
Control lines
( R / W, MFC, etc.)
MAR = Memory Address Register
MDR = Memory Data Register
MFC = Memory Function Complete signal
55:035 Computer Architecture and Organization
13
Memory Array Architecture


2n words of 2m bits each
If n >> m, fold by 2k into fewer rows of more columns
wordlines
bitline conditioning
bitlines
row decoder
memory cells:
2n-k rows x
2m+k columns
n-k
column
circuitry
k
n


column
decoder
2m bits
Good regularity – easy to design
Very high density if good cells are used
55:035 Computer Architecture and Organization
15
Decoders

n:2n decoder consists of 2n n-input AND gates


One needed for each row of memory
Build AND from NAND or NOR gates
A1
A0
word0
word1
word2
word3
55:035 Computer Architecture and Organization
17
Large Decoders

For n > 4, NAND gates become slow

Break large gates into multiple smaller gates
A3
A2
A1
A0
word0
word1
word2
word3
word15
55:035 Computer Architecture and Organization
18
Column Circuitry

Some circuitry is required for each column



Bitline conditioning
Sense amplifiers
Column multiplexing
55:035 Computer Architecture and Organization
19
Column Multiplexing


Recall that array may be folded for good aspect ratio
Ex: 2 kword x 16 folded into 256 rows x 128 columns


Must select 16 output bits from the 128 columns
Requires 16 8:1 column multiplexers
55:035 Computer Architecture and Organization
20
Memory Timing: Approaches
DRAM Timing
Multiplexed Adressing
55:035 Computer Architecture and Organization
SRAM Timing
Self-timed
21
DRAM Timing
55:035 Computer Architecture and Organization
22
Serial Access Memories

Serial access memories do not use an address





Shift Registers
Tapped Delay Lines
Serial In Parallel Out (SIPO)
Parallel In Serial Out (PISO)
Queues (FIFO, LIFO)
55:035 Computer Architecture and Organization
23
Shift Register
Shift registers store and delay data
 Simple design: cascade of registers


Watch your hold times!
clk
Din
Dout
8
55:035 Computer Architecture and Organization
24
Serial In Parallel Out

1-bit shift register reads in serial data

After N steps, presents N-bit parallel output
clk
Sin
P0
P1
P2
P3
55:035 Computer Architecture and Organization
25
Parallel In Serial Out

Load all N bits in parallel when shift = 0

Then shift one bit out per cycle
P0
P1
P2
P3
shift/load
clk
Sout
55:035 Computer Architecture and Organization
26
Queues
Queues allow data to be read and written at
different rates.
 Read and write each use their own clock, data
 Queue indicates whether it is full or empty
 Build with SRAM and read/write counters
(pointers)

WriteClk
WriteData
FULL
ReadClk
Queue
ReadData
EMPTY
55:035 Computer Architecture and Organization
27
FIFO, LIFO Queues

First In First Out (FIFO)






Initialize read and write pointers to first element
Queue is EMPTY
On write, increment write pointer
If write almost catches read, Queue is FULL
On read, increment read pointer
Last In First Out (LIFO)


Also called a stack
Use a single stack pointer for read and write
55:035 Computer Architecture and Organization
28
Related documents