-
Computer System Organization
2.4
Memory Subsystem Organization
Memory is
also
known as internal
memory
or main memory.
It
refers to
the circuits in the computer
that hold whatever programs and data are
available for immediate use by the CPU.
In this section we will review
the
different
types
of
physical
memory
and
discuss
the
memory
hierarchy.
2.4.1 Types of memory
There
are two major types of memory: Random Access
Memory (RAM) and
Read
Only
Memory
(ROM).
Many
computer
systems
,
including
personal
computers
,
include
both ROM and RAM.
1.
RAM
RAM, also called
read/write memory, can be used to store data that
changes.
Unlike
ROM,
RAM
is
erasable,
temporary,
and
volatile
----
meaning
that it blanks out
each time you turn the computer off. RAM is
essential
to
a
computer
because
it
provides
rapidly
accessible
circuitry
where
the
CPU can run your
programs and process your data. You may have
dozens of
computer games or other
application software programs stored on a disk,
but
the
computer
cannot
use
them
there;
when
you
select
a
program
to
run,
the
computer must first copy it from the disk to RAM
where the CPU can
access
it.
It
’
s
particularly
important
to
remember
that
all
the
data
you
type
into
the
computer
goes
directly
to
RAM.
If
you
want
to
keep
your
data
permanently,
you
must
save
it
by
copying
it
to
a
secondary
storage
device
such as a disk. The
amount of RAM in a computer can be very important.
If your computer has too little memory,
complicated programs will run
slowly or
won
’
t run at all. To stretch
the amount of RAM, an operating
system
can
use
a
strategy
called
virtual
memory
that
reserves
part
of
the
hard
disk
for
use
as
an
extension
to
RAM.
In
a
computer
with
virtual
memory,
less-used parts of
programs are shifted from RAM to a hard disk and
are
moved back only when needed.
Although virtual memory may allow your
computer to run large programs, it will
reduce the amount of secondary
storage
and
may
cause
programs
to
run
slowly
because
it
takes
time
to
swap
data to and from the
hard disk.
(1)DRAM
RAM
chips
are
differentiated
by
how
they
maintain
their
data.
Dynamic
RAM or DRAM chips
are like
leaky
capacitors.
Initially
data is stored in
the DRAM
chip, charging its memory cells to their maximum
values. The
charge
slowly
leaks
out
and
would
eventually
go
too
low
to
represent
valid
data.
Before
this
happens,
however,
refresh
circuitry
reads
the
contents
of
the
DRAM
and
rewrites
the
data
to
its
original
locations,
thus
restoring
the memory cells
to
their maximum
charges.
DRAM
is used to
construct
the
RAM in personal computers.
(2)SRAM
Static
RAM,
or
SRAM,
is
more
like
a
register
than
a
leaky
capacitor.
Once
data is written to SRAM, its contents
stay valid, and it does not have
to
be
refreshed.
Static
RAM
id
faster
than
DRAM,
but
it
is
also
much
more
expensive. The cache memory in personal
computers is constructed from
SRAM.
2.
ROM
ROM
chips
are
designed
for
applications
in
which
data
only
read.
These
chips
are programmed with data by external programming
unit before they
are
added
to
the
computer
system.
Once
this
is
done,
the
data
usually
does
not
change.
A
ROM
chip
is
well
suited
for
this
purpose
it
is
nonvolatile,
meaning that the instructions recorded
in it do not disappear when the
power
is off. When you turn the computer on, the
permanent software in
ROM boots the
computer. To boot the computer, ROM first tells
the CPU to
determine what input,
output, and storage devices happen to be attached
to your computer. Then it instructs the
CPU to check a disk to see if it
contains
operating
system
software
that
will
let
you
start
giving
commands.
The ROM in a
typical personal computer also has a variety of
self-test
routines to make it easier to
diagnose and repair hardware failures.
There
are
several
types
of
ROM
chips,
which
are
differentiated
by
how
and how often they can
be programmed.
(1)Masked ROM
A masked ROM, or simply a ROM, is
programmed with data as the chip is
fabricated.
The
mask
used
to
create
the
chip
is
designed
with
the
required
data
hard-wired
into
it.
There
chips
are
useful
for
consumer
appliances,
where
large
numbers
of
units
are
produced,
and,
once
installed,
data
will
not be changed.
(2)PROM
A PROM is a
programmable ROM. Unlike the ROM, the PROM can be
programmed
by
the
user
with
any
standard
PROM
programmer.
Rather
than
being
hard-
wired,
the
PROM
has
a
series
of
internal
connections
similar
to
fuses.
Programming
data
into
the
PROM
essentially
blows
the
proper
fuses
so
that
each
word
of
memory
stores
the
correct
value.
Because
these
fuses
cannot
be
restored
once
they are
blown, PROM
can only
be programmed once.
These
chips are well suited for applications
that could use a ROM but will not
have
a sufficient quantity of units manufactured to
justify the cost of
the ROM mask.
(3)EPROM
An EPROM is an
erasable PROM. As its name implies, an EPROM can
be
programmed like a PROM, but its
contents can be erased and the chip
reprogrammed. Programming an EPROM is
akin to charging capacitors. The
charged and uncharged capacitors cause
each word id memory to store the
correct value.
These chips
have
a small
clear window on
their faces.
The
chip is erased by being placed
under ultraviolet light that causes the
capacitors
to
leak
their
charge,
thus
we
can
reset
the
chip
’
s contents.
When in use, the window is usually
covered with opaque tape to prevent
any
ultraviolet
rays
in
room
light
or
sunlight
from
inadvertently
destroying the
contents of the chip. Because they are erasable,
but are
used
in
applications
where
their
data
does
change,
EPROM
is
typically
used
in
product development labs and in prototypes.
(4)EEPROM or
E
2
PROM
An EEPROM, sometimes denoted as
E
2
PROM, is an
electrically erasable
PROM. It works
like an EPROM, except that its contents are erased
and
reprogrammed
electrically,
rather
than
by
using
ultraviolet
light.
Unlike the EPROM, which must be
entirely erased and then reprogrammed,
it
is
possible
to
modify
individual
locations
if
the
EEPROM
while
leaving
other locations unchanged. EEPROM can
be used in applications where the
contents
will
by
changed
only
rarely,
as
long
as
the
programming
hardware
needed to reprogram the chip is
included in the system circuitry. One
common use for EEPTOM is the basic
input/output system, or BIOS, of
personal computers. This chip is
usually not modified, except once or
twice in the
computer
’
s
lifetime when the
BIOS are
updated with
a newer
version
of its software.
(5) Flash EEPROM
A
special
type
of
EEPROM
called
a
flash
EEPROM
is
electrically
erasable
in
blocks
of
data,
rather
than
individual
locations. It
is
well
suited
for applications that write blocks of data and can
be used as a
solid stated. It is
also used
for
data storage in digital cameras. Flash
EEPROM can only be rewritten with data
a finite number of times, which
currently limits its widespread use in
computer systems.
RAM
and
ROM
chips
are
available
in
a
variety
of
sizes.
If
the
memory
needed for the computer is larger than
the capacity of one chip, it is
necessary
to combine a
number
of chips
to form the
required memory size.
2.4.2
Memory hierarchy
The
memory
hierarchy
system
consists
of
all
storage
devices
employed
in
a
computer
system from
the
slow
but
high-capacity
auxiliary
memory
to
a
relatively
faster
main
memory,
to
an
even
small
and
faster
cache
memory
accessible
to
the
high-speed
processing
logic.
The
components
in
a
typical
memory
hierarchy are shown in Figure 2-3.
The
memory
unit
that
communicates
directly
with
the
CPU
is
called
the
main memory. Devices that provide
backup storage are called auxiliary
memory.
The
most
common
auxiliary
memory
devices
used
in
computer
system
are
magnetic
disks
and
tapes.
They
are
used
for
storing
system
programs,
large data files,
and other backup information. Only programs and
data
currently needed by the CPU reside
in main memory when needed. When
programs
not
resided
in
main
memory
are
needed
by
the
CPU,
they
are
brought
in from auxiliary memory. Programs not
currently needed in main memory
are
transferred
into
auxiliary
memory
to
provide
space
for
currently
used
programs and data.
A
special
very-
high-speed
memory
called
a
cache
is
sometimes
used
to
increase the speed of processing by
making current programs and data
available to the CPU at a rapid rate.
The cache memory is employed in
computer systems to compensate for the
speed differential between main
memory
access
time
and
processor
logic.
CPU
logic
is
usually
faster
than
main
memory
access
time
and
processing
speed
is
limited
primarily
by
the
speed of main memory.
A
technique used
to compensate for the
mismatch in
operating
speeds
is
to
employ
an
extremely
fast,
small
cache
between
the
CPU
and main memory whose access time is close to
processor logic clock
cycle
time.
The
cache
is
used
for
storing segments
of
programs currently
being
executed in the CPU and temporary data frequently
needed in the
present calculations. By
making programs and data available at a rapid
rate, it is possible to increase the
performance rate of the computer.
Figure 2-3 shows the CPU has direct
access to both cache and main
memory
but not to auxiliary memory. In memory hierarchy
system, each
component is involved with
a different level. The reason for having two
or
three
levels
of
memory
hierarchy
is
economics.
As
storage
capacity
of
the memory increases, the
cost per bit for storing binary information
decreases
and
the
access
time
of
the
memory
becomes
longer.
The
auxiliary
memory has a large storage capacity, is
relatively inexpensive, but has
low
access
speed
compared
to
main
memory.
The
cache
memory
is
very
small,
relatively
expensive,
and
has
very
high
access
speed.
Thus
as the
memory
access speed
increases, so does its relative cost. The overall
goal of
using
a
memory
hierarchy
is
to
obtain
the
highest-possible
average
access
speed while minimizing the total cost
of the entire memory system.
2.5 I/O
Subsystem Organization
In
this
section,
we
will
describe
the
I/O
interface,
and
modes
of
transfer.
2.5.1 I/O Devices
1. Keyboards
Computer
keyboards were originally designed to imitate to
imitate
electric typewrites so that
typists could learn to use computer more
easily.
The
demands
of
computer
technology,
however,
have
led
to
keys
and
keyboard layouts never before seen on a
typewriter. While a typewriter
has only
about 50 keys, a computer keyboard may have 100 or
more. A
computer
’
s keys
are generally divided into four clusters:
alphanumeric
key,
function
keys,
cursor
keys,
and
the
numeric
keypad.
Alphanumeric
keys
include letters, numbers, and
punctuation marks. They are arranged much
like the keys on a typewriter. Function
keys are labeled F1, F2, and so
on up
to F12 or F15. They can be used for giving common
commands such as
“
Print
”
or
“
Quit
program
”
. The precise
purpose of any function key
varies
from
one
program
to
another.
Cursor
keys
are
used
to
move
the
cursor
around
on the screen. The cursor is the little blinking
symbol that
indicates
where
things
will
happen
next
on
the
screen.
When
you
are
typing,
the
cursor
always
blinks
just
to
the
tight
of
the
last
character
you
typed.
Cursor keys include
the
arrow keys for
moving
up, down,
left, and right,