memory - La Salle University

Download Report

Transcript memory - La Salle University

MEMORY
Digital Principles, Roger Tokheim
Chapter 9
PHY 201 (Blum)
1
Combinatorial Logic vs.
Sequential Logic
A circuit is said to be “combinatorial” if its
output is determined solely by its inputs.
Such a circuit can be realized in terms of logical gates
(ANDs, ORs and NOTs).
A circuit is said to be “sequential” if its output is
in part determined by its history.
History dependence here means bits (high or low
states) that were previously stored by the circuit.
If the sole purpose of the circuit is to store
values, it is called memory.
PHY 201 (Blum)
2
Flip-flops and Registers
A circuit that can store a single bit is known
as a flip-flop.
A group of flip-flops working in parallel as
a unit to hold a “word” is known as a
register.
A group of addressable registers (done with
a decoder) is known as memory.
PHY 201 (Blum)
3
Memory Address Register
The Memory Address Register is for
holding the address of the memory that is
currently being processed.
It is the input to the decoder. The decoder in
turn connects to a series of registers.
At this lowest level, addresses are absolute
but at a higher level addresses may be
relative or absolute.
PHY 201 (Blum)
4
Like an Array
PHY 201 (Blum)
Address
Value
0000
AB
0001
34
0002
73
0003
84
0004
CC
…
…
5
Reading and Writing
The action of placing a value in a memory circuit
(a.k.a. a cell) is called writing.
Putting a high value into a cell is referred to as
“setting.”
Putting a low value into a cell is referred to as
“resetting.”
Accessing the value in a memory cell without
affecting it is called reading.
Grammatically, the CPU is the subject; the
memory is the object
The CPU writes to memory.
The CPU reads from memory.
PHY 201 (Blum)
6
The Clock
The timing of these actions, especially the “write”
are controlled by the clock.
One can think of a computer’s clock as something
that steadily oscillates betweens the values 0 and 1
Units of memory (flip flops) will can have three
types of input:
Control: whether or not to write
Timing: when to write
Data: what to write
Sometimes control and timing are combined.
PHY 201 (Blum)
7
ROM
Read Only Memory
As the name suggests the user only reads this type
of memory; the writing is typically done by the
manufacturer.
ROM is nonvolatile, that is, a supply of energy is
not required to keep the data intact.
That is, ROM is not lost when the computer is turned
off.
PHY 201 (Blum)
8
Using ROM
Most personal computers contain a small
amount of ROM that stores critical
programs such as the program that boots the
computer. In addition, ROMs are used
extensively in calculators and peripheral
devices such as laser printers, whose fonts
are often stored in ROMs.
PHY 201 (Blum)
9
Types of ROM
ROM: data is written by manufacturer
PROM: programmable read-only memory,
data is written by user
PROMs are manufactured as blank chips on
which data can be written with a special device
called a PROM programmer (a.k.a. burner)
Like burning a CD
PHY 201 (Blum)
10
Types of PROM
PROM usually implies “write once”
EPROM erasable programmable read only
memory data can be erased and rewritten
Some use ultraviolet (UV) light, requires removing it
from the computer
EEPROM, electrically erasable programmable
read-only memory, is erased by electronic means
Does not have to be removed from computer
PHY 201 (Blum)
11
Uses Of ROM
Microcode portion of CPU
The lowest-level instructions that directly control a
microprocessor.
A “plus” instruction will be stored in a program in
RAM; the code that tells the hardware what to do when
it encounters a plus is in ROM
Basic Input/Output System (BIOS)
Code burned into motherboard’s ROM; it handles
interfacing between the operating system and
peripherals (IO).
PHY 201 (Blum)
12
RAM
RAM Random Access Memory
Data can be accessed (read)
Sequentially: you start at the beginning and go through
the sequence of locations
• Like a cassette or video tape
Randomly: you can jump to any location without
proceeding through all previous locations
• Like a CD or DVD (no need for fast-forwarding, rewinding,
etc.)
ROM is also random access, but the term RAM
refers to volatile memory, memory requiring an
energy source.
PHY 201 (Blum)
13
Types of RAM
SRAM: Static RAM
The objective of memory is to hold a value, so
being static is good. The value is held without
the need for “refreshing.”
Fast but expensive.
DRAM: Dynamic RAM
The value must be “refreshed” or it will
become lost or corrupted.
Slow but cheap.
PHY 201 (Blum)
14
Types of DRAM
Synchronous DRAM (SDRAM) actually
synchronizes itself with the CPU's bus
Deals with data in “bursts” so it doesn’t have to go
through the addressing process of successive data
locations
DDR SDRAM – Double Data Rate SDRAM
Double data refers to the number of times that data
can be sent along the bus connecting processor
and memory
Also DDR2 and DDR3
PHY 201 (Blum)
15
Blurring the distinction between
RAM and ROM
NVRAM: Non-Volatile Random Access
Memory, is RAM that does not lose its data
when the power goes off.
A separate power source such as a battery
allows the RAM to hold onto its information
until it can be written to more permanent form:
to EEPROM or to storage (disk)
Some modems use it to keep phone numbers
and/or modem profiles.
PHY 201 (Blum)
16
Blurring the Distinction II
Flash memory: A version of EEPROM
that can be erased and reprogrammed in
blocks rather than one byte at a time. This
makes writing (burning) easier/faster.
Many PCs use flash memory for their BIOS –
a flash BIOS.
Flash memory is often used in modems, as it
allows the manufacturer to support new
protocols as they become standardized.
PHY 201 (Blum)
17
Cache
A generic term used to describe guessing what
data will be used next and placing it where it can
be accessed more quickly
A cache hit is a correct guess
A cache miss is an incorrect guess
Memory Cache uses SRAM which is faster than
DRAM
L1: SRAM that is right on the microprocessor
chip
L2: (originally) not on the chip
PHY 201 (Blum)
18
Cache
When writing to cache, there are different
scenarios
Write back: updates cache first and memory
later (faster)
Write through: updates cache and memory
together (slower but maintains consistency)
PHY 201 (Blum)
19
SRAM Pros
Speed
SRAM is faster than DRAM, because DRAM
requires refreshing which takes time
Simplicity
SRAM is simpler to use than DRAM, again
because DRAM requires refreshing
PHY 201 (Blum)
20
SRAM Cons
Size
SRAM is a more complicated circuit, it involves more
transistors than DRAM, and hence it is larger
Cost
Again SRAM is more transistors and so it costs more
Power
Since SRAM involves a constant current, it uses more
power than DRAM
Heat
Again since SRAM involves a constant current, it
produces more heat
PHY 201 (Blum)
21
Error Detection
Parity
Odd parity: add an extra bit to a word and insist
that the total number of 1’s be odd
Even parity, ditto but number of 1’s even
Example of odd parity
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
PHY 201 (Blum)
22
Vertical parity
0
0
0
0
0
0
0
0
1
PHY 201 (Blum)
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
23
Error Detection and Error Correction
Code
If a parity check reveals a parity error, one
can request data be resent
Parity
CRC (cyclic redundancy check)
checksum
Error Correction Code: in addition to
detecting a mistake can help fix it
Hamming code
PHY 201 (Blum)
24
Virtual memory
What if there’s not enough memory for a
program?
The operating system has a book-keeping scheme
called virtual memory.
It assigns the program virtual addresses.
At any given time, only a part of the program is
really in memory.
The operating system keeps track of the
correspondence between virtual addresses and real
addresses (in storage, i.e. the disk).
PHY 201 (Blum)
25
Virtual memory (cont.)
As program runs, different parts of the
program need to be in the real memory.
The operating systems breaks the code into
pieces called pages.
Putting the new part of the code into real
memory is called swapping or paging.
Swapping is slow; it’s why adding memory
might improve speed
PHY 201 (Blum)
26
Shadowing
Putting parts of the ROM BIOS which can
be slow into RAM which can improve
speed.
In some sense this is another version of
caching.
PHY 201 (Blum)
27
Memory Packaging
SIPP: single inline chip packages (OLD)
Little circuit board with memory chip
Has pins, hard to install
SIMM single inline memory module (OLD)
Like SIPP but no pins, easier to install
a 32-bit path to the memory
DIMM dual in-line memory module,
a 64-bit path
PHY 201 (Blum)
28