0% found this document useful (0 votes)
134 views21 pages

Computer Storage Memory Device

Download as docx, pdf, or txt
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 21

SECTION 1

INTRODUCTION

1.1 BACKGROUND OF STUDY

Since the dawn of time, man has tried to record important events and techniques for everyday
life. At first, it was sufficient to paint on the family cave wall how one hunted. Then came
the people who invented spoken languages and the need arose torecord what one was saying
without hearing it firsthand. Therefore, years later, earlier scholars invented writing to
convey what was being said. Pictures gave way to letters which represented spoken sounds.
Eventually clay tablets gave way to parchment, which gave way to paper. Paper was, and still
is, the main way people convey information. However, in the mid twentieth century
computers began to come into general use.
Computers have gone through their own evolution in storage media. In the forties,fifties, and
sixties, everyone who took a computer course used punched cards to give the computer
information and store data. In 1956, researchers at IBM developed the first disk storage
system. This was called RAMAC (Random Access Method of Accounting and Control)
Since the days of punch cards, computer manufacturers have strived to squeeze more data
into smaller spaces. That mission has produced both competing and complementary data
storage technology including electronic circuits, magnetic media like hard disks and tape,
and optical media such as compact disks. Today, companies constantly push the limits of
these technologies to improve their speed, reliability, and throughput -- all while reducing
cost. The fastest and most expensive storage technology today is based on electronic storage
in a circuit such as a solid state "disk drive" or flash RAM. This technology is getting faster
and is able to store more information thanks to improved circuit manufacturing techniques
that shrink the sizes of the chip features. Plans are underway for putting up to a gigabyte of
data onto a single chip.
Magnetic storage technologies used for most computer hard disks are the most common and
provide the best value for fast access to a large storage space. At the low end, disk drives cost
as little as 25 cents per megabyte and provide access time to data in ten milliseconds. Drives
can be ganged to improve reliability or throughput in a Redundant Array of Inexpensive
Disks (RAID). Magnetic tape is somewhat slower than disk, but it is significantly cheaper
per megabyte. At the high end, manufacturers are starting to ship tapes that hold 40 gigabytes
of data. These can be arrayed together into a Redundant Array of Inexpensive Tapes (RAIT),
if the throughput needs to be increased beyond the capability of one drive.
For randomly accessible removable storage, manufacturers are beginning to ship low-cost
cartridges that combine the speed and random access of a hard drive with the low cost of
tape. These drives can store from 100 megabytes to more than one gigabyte Standard
compact disks are also gaining a reputation as an incredibly cheap wayof delivering data to
desktops. They are the cheapest distribution medium around when purchased in large
quantities ($1 per 650 megabyte disk). This explains why so much software is sold on CD-
ROM today. With desktop CD-ROM recorders, individuals are able to publish their own CD-
ROMs.
With existing methods fast approaching their limits, it is no wonder that a number of new
storage technologies are developing. Currently, researches are looking at protienbased
memory to compete with the speed of electronic memory, the reliability of magnetic hard-
disks, and the capacities of optical/magnetic storage. We contend that three-dimensional
optical memory devices made from bacteriorhodopsin utilizing the two photon read and
write-method is such a technology with which the future of memory lies. In a prototype
memory system, bacteriorhodopsin stores data in a 3-D matrix. The matrix can be build by
placing the protein into a cuvette (a transparent vessel) filled with a polyacrylamide gel. The
protein, which is in the bR state, gets fixed in by the polymerization of the gel. A battery of
Krypton lasers and a charge-injection device (CID) array surround the cuvette and are used
to write and read data.
In computing, memory refers to the computer hardware devices used to store information for
immediate use in a computer; it is synonymous with the term "primary storage". Computer
memory operates at a high speed, for example random-access memory (RAM), as a
distinction from storage that provides slow-to-access program and data storage but offers
higher capacities. If needed, contents of the computer memory can be transferred to
secondary storage, through a memory management technique called "virtual memory". An
archaic synonym for memory is store. The term "memory", meaning "primary storage" or
"main memory", is often associated with addressable semiconductor memory, i.e. integrated
circuits consisting of silicon-based transistors, used for example as primary storage but also
other purposes in computers and other digital electronic devices. While, storage devices are
the devices that are used for data storage in the computers. The computer has many types of
data storage devices and they can be broadly divided as - Removable Data Storage Devices
and the others as the Non-removable Data Storage Devices. There are two main types of
semiconductor memory, volatile and non-volatile. Examples of non-volatile memory are
flash memory (used as secondary memory) and ROM, PROM, EPROM and EEPROM
memory (used for storing firmware such as BIOS). Examples of volatile memory are primary
storage, which is typically dynamic random-access memory (DRAM), and fast CPU cache
memory, which is typically static random-access memory (SRAM) that is fast but energy-
consuming, offering lower memory areal density than DRAM. Most semiconductor memory
is organized into memory cells or bistable flip-flops, each storing one bit (0 or 1). Flash
memory organization includes both one bit per memory cell and multiple bits per cell (called
MLC, Multiple Level Cell). The memory cells are grouped into words of fixed word length,
for example 1, 2, 4, 8, 16, 32, 64 or 128 bit. Each word can be accessed by a binary address
of N bit, making it possible to store 2 raised by N words in the memory. This implies that
processor registers normally are not considered as memory, since they only store one word
and do not include an addressing mechanism. Typical secondary storage devices are hard
disk drives and solid-state drives. It is amazing how many different types of electronic
memory you encounter in daily life. Many of them have become an integral part of our
vocabulary: RAM, ROM, Cache, Dynamic RAM, Static RAM, Flash memory, Memory
Sticks, Virtual memory, Video memory, BIOS.
1.2 STATEMENT OF THE PROBLEM
1. Infastructure: Data needs a place to rest, the same way objects need a shelf or
container; data must occupy space.
2. Cost: Running your own data center is an expensive operation.
3. Security is a major issue to overcome. Hyppothetically, if your data is stored
somewhere, it is possible for a third party to obtain it.
4. Corruption: Practically every form of data storage has the potential to be corrupted.
5. Scale
6. Compactibility
1.3 SCOPE OF THE STUDY
SECTION 2

LITERATURE REVIEW

2.1 ROLE OF MEMORY

The term "memory" applies to any electronic component capable of temporarily storing data.
There are two main categories of memories:

1. Internal memory that temporarily memorises data while programs are running.
Internal memory uses microconductors, i.e. fast specialized electronic circuits.
Internal memory corresponds to what we call random access memory (RAM).
2. Auxiliary memory (also called physical memory or external memory) that stores
information over the long term, including after the computer is turned off. Auxiliary
memory corresponds to magnetic storage devices such as the hard drive, optical
storage devices such as CD-ROMs and DVD-ROMs, as well as read-only memories.
2.2 CLASSIFICATION OF MEMEORY

Computer Memory can be classified basically into two types:

2.2.1 Primary Memory

It is also called as the Main Memory or Internal Memory. Primary Memory is accessible
directly by the processing unit. RAM is an example of primary memory. As soon as the
computer is turned off, the contents of the primary memory would be lost. You can store and
retrieve data much faster with primary memory compared to secondary memory. And
Primary memory is also more expensive than secondary memory as the size of primary
memory is lesser than that of secondary memory. Computer memory stores two things:

1. instructions to execute a programme and


2. data.

When the computer is performing any job, the data that have to be processed are stored in the
primary memory. This data may come from an input device like keyboard or from a
secondary storage device like a floppy disk. It stores the data for processing and the Program
instructions. It is also the Immediate Access Memory. It is temporary memory and of limited
capacity. The standard base capacity for Primary memory starts from 640 KB, 1MB, 2MB,
8MB, 128MB, 256MB, 1GB, 2GB, 4GB etc (in multiples of 2). Depending on the needs of
the user. Primary Memory can be further classified as RAM and ROM and more.

2.2.1.1 Functions of Primary Memory:


1. It holds the OS instructions while the computer is booting.
2. It temporarily holds the input instructions from the input devices while the data is
being input and processed.
3. It stores the results temporarily until it is transferred to the respective output devices.
2.2.1.2 Types of Primary Memory
1. RAM – Random Access Memory
a. Static RAM
b. Dynamic RAM
2. ROM – Read Only Memory
a. PROM – Programmable Read Only Memory
b. EPROM – Erasable Programmable Read Only Memory
c. EEPROM – Electronic Erasable Programmable Read Only Memory
2.2.1.3 RAM or Random Access Memory

It is the unit in a computer system. The primary storage is called as Random Access Memory
(RAM) because it is possible to randomly select and use any location of the memory, directly
store and retrieve data. It takes same time to reach any address of the memory as it takes for
the first address. It is also called read / write memory. The storage of data and instructions
inside the primary storage are temporary. They disappear from RAM as soon as the power to
the computer is turned off. The memories, which lose their content on failure of power
supply, are known as volatile memories. So, we can say that RAM is a volatile memory. It is
the place in a computer where the operating system, application programs and the data in
current use are kept temporarily so that they can be accessed by the computer’s processor. It
is said to be ‘volatile’ since its contents are accessible only as long as the computer is on. The
contents of RAM are no more available once the computer is turned off. There are two types
of RAM which are

1. Static RAM: It retains the stored information until the computer is working.
2. Dynamic RAM: It retains stored information only until the progam is working and loses
the information once the program execution is completed.

Figure 1: RAM

2.2.1.4 ROM or Read Only Memory

It is a special type of memory which can only be read and contents of which are not lost even
when the computer is switched off. The storage of program and data in the ROM is
permanent. The ROM stores some standard processing programmes supplied by the
manufacturers to operate the personal computer. The ROM can only be read by the CPU but
it cannot be changed. The basic input/ output programme is stored in the ROM that examines
and initialises various equipment attached to the PC when the switch is made ON. The
memories, which do not lose their content on failure of power supply, are known as
nonvolatile memories. ROM is non-volatile memory. It typically contains manufacturer’s
instructions. Among other things, ROM also stores an initial program called the ‘bootstrap
loader’ whose function is to start the operation of computer system once the power is turned
on. ROM is shown in the diagram below; There are three types of ROM which are

1. PROM

There is another type of primary memory in computer, which is called Programmable Read
Only Memory (PROM). You know that it is not possible to modify or erase programs stored
in ROM, but it is possible for you to store your program in PROM chip. Once the
programmes are written it cannot be changed and remain intact even if power is switched off.
Therefore programmes or instructions written in PROM or ROM cannot be erased or
changed.

2. EPROM

This stands for Erasable Programmable Read Only Memory, which overcome the problems
faced by PROM and RO M. EPROM chip can be programmed time and again by erasing
previously stored information in it. Information stored in EPROM can be erased by exposing
the chip to ultraviolet light for some time and the chip can reprogrammed by using a special
programming facility. When the EPROM is in use, information stored in it can only be read.

3. EEPROM

Electronic Erasable Programmable Read Only Memory It is advancement over EPROM, and
the chip need not be taken out from the machine. Instead the programming is done using
software. These chips are used in Point-of-sale (POS) terminals to record price related
information and can be updated as and when needed. However they are expensive compared
to the normal ROM chips.
Figure 2: ROM

2.2.1.5 Cache Memory

The speed of CPU is extremely high compared to the access time of main memory. Therefore
the performance of CPU decreases due to the slow speed of main memory. To decrease the
mismatch in operating speed, a small memory chip is attached between CPU and Main
Memory whose access time is very close to the processing speed of CPU. It is called CACHE
memory. CACHE memories are accessed much faster than conventional RAM. To store
programs or data currently being executed or temporary data frequently used by the CPU. So
each memory makes main memory to be faster and larger than it really is. It is also very
expensive to have bigger size of cache memory and its size is normally kept small.

2.2.1.6 Registers

The CPU processes data and instructions with high speed; there is also movement of data
between various units of computer. It is necessary to transfer the processed data with high
speed. So the computer uses a number of special memory units called registers. They are not
part of the main memory but they store data or information temporarily and pass it on as
directed by the control unit.

2.2.2 The secondary Memory

Secondary Memory is used for permanent storage of data in the computer. This is also
known as auxiliary memory. It differs from primary storage in that it is not directly
accessible by the CPU. The secondary memory provides backup storage for instructions
(computer programs) and data. The instructions and data stored on secondary storage devices
are permanent in nature. They can only be removed if the user wants it so or the device is
destroyed. Secondary storage are categorized as follows; Some of the secondary storage
devices are - Hard Disk Drives – which are the most common type of storage devices that are
used in almost all the computer systems. The other ones include the Floppy Disk Drives, the
CD ROM and the DVD ROM, the Flash Memory, the USB data card etc.

2.2.2.1 Floppy Discs

Floppy Disks, which are soft magnetic disks, (often also called Floppies or Diskettes) are
portable. They can be removed from a disk drive. Disk drives for floppy disks are called
Floppy Drives. Floppy Disks are slower to access than hard disks and would have less
storage capacity, however, they are much cheaper when it comes to cost. Floppies come in
three basic sizes: Floppy Disks, initially as 8-inch (200 mm) media and later in 5.25-inch
(133 mm) and 3.5-inch (90 mm) sizes. They were everywhere in the form of data storage and
exchange from the mid-1970s well into the first decade of the 21st century. They are read
and written by a floppy disk drive (FDD). Figure of floppies of 8-inch (200 mm), 5.25- inch
(133 mm) and 3.5-inch (90 mm) sizes shown here. Floppies use where small files such as
word processing, small spreadsheets and databases need to be moved from one computer to
another. Useful to backup small data files.

2.2.2.2 Fixed Hard Discs (HDD)

A Hard Disk Discs (HDD) is a data storage device used for storage and retrieving such stored
digital information using rapidly rotating disks (Platters) coated with magnetic material. An
HDD retains its data even when powered off. Data is read in a random-access manner,
meaning individual blocks of data can be stored or retrieved in any order rather than
sequentially. Hard Disk Drives can be used for storing operating systems software and
working data. These are suitable for any application which requires very fast access to data
for both reading and writing too. However, Hard disk drives may not be suitable for
applications which need portability. Almost all computers used a fixed hard disc. Used for
on-line and real time processes requiring direct access. Used in file servers for computer
networks to store large amount of data. Figure of 2.5" SATA Hard Drive shown here. This
HDD is used to store operating system softwares which can be installed in computer to run it,
and the data. Their capacity has been enlarged by the year.

2.2.2.3 Portable Hard Discs

Portable Hard Discs are good fun because you can carry data all over the place and transfer
information, programmes, pictures between computers. Portable Discs are used to store very
large files which need transporting from one computer to another and price is not an issue.
Hard drives have to be handled quite carefully and when being transported should be
wrapped in something soft and put in a padded bag. These are more expensive than other
forms of removable media.

2.2.2.4 Magnetic Tapes

Magnetic Tape has been used for data storage for over 50 years. When storing large amounts
of data, tape can be substantially less expensive than disk or other data storage options. Tape
storage has always been used with large computer systems. Modern usage is primarily as a
high capacity medium for backups and archives. Magnetic tapes are used for applications
which require extremely large storage capacity where speed of access is not an issue. It is
commonly used for backups of file servers for computer networks, in a variety of batch
processing applications such as reading of bank cheques, payroll processing and general
stock control. Writing and retrieving data is slow. It uses serial access for reading and
writing.

2.2.2.5 Optical backing storage media such as CDs and DVDs

CDs are used for large files (but smaller than 1GB) which are too big for a floppy disc to
hold such as music and general animation. DVDs are used to hold very large files (several
GB) such as movies. Both CDs and DVDs are portable i.e. they can be transported from one
computer to another. Both can be used to store computer data. CD ROM/DVD ROM
Applications which require the prevention of deletion of data, accidental or otherwise. CDs
used by software companies for distributing software programs and data; by Music
companies for distributing music albums and by book publishers for distributing
encyclopedias, reference books etc. DVDs used by film distributors. CD R/DVD R
Applications which require a single ‘burning’ of data, e.g. CDs - recording of music
downloads from the Internet, recording of music from MP3 format, recording of data for
archiving or backup purposes. DVDs – recording of film movies and television programs.
CD RW/DVD RW Applications which require the updating of information and ability to
record over old data. Not suitable for music recording but is very useful for keeping
generations of files. DVDs have between five and ten times the capacity of CDs. These are
the smallest form of memory available in the market today. • Widely used as removable
storage. They are more robust than other forms of storage. Though expensive than other
forms they can be easily written to and updated.

2.2.2.6 Memory Sticks/Pen Drives

USB flash drives are typically removable and rewritable, much smaller than a floppy disk.
Storage capacities typically range from 64 MB to 64 GB. USB flash drives offer potential
advantages over other portable storage devices, particularly the floppy disk. They have a
more compact shape, operate faster, hold much more data, have a more durable design and
operate more reliably due to their lack of moving parts. Flash drives are widely used to
transport files and backup data from computer to computer.

2.2.2.7 Flash Memory Cards

A Memory Card or Flash Memory Card is a solid-state electronic flash memory data storage
device used with digital cameras, handheld and Mobile computers, telephones, music
players, video game consoles and other electronics. These days, most of the new PCs have
built-in slots for a variety of memory cards; Memory Stick, Compact Flash, SD etc. Some
digital gadgets support more than one memory card to ensure compatibility.

2.3 Technical Characteristics

The main characteristics of a memory are:

1. Capacity, representing the global volume of information (in bits) that the memory can
store
2. Access time, corresponding to the time interval between the read/write request and
the availability of the data
3. Cycle time, representing the minimum time interval between two successive accesses
4. Throughput, which defines the volume of information exchanged per unit of time,
expressed in bits per second
5. Non-volatility, which characterises the ability of a memory to store data when it is not
being supplied with electricity

The ideal memory has a large capacity with restricted access time and cycle time, a high
throughput and is non-volatile. However, fast memories are also the most expensive. This is
why memories that use different technologies are used in a computer, interfaced with each
other and organized hierarchically. The fastest memories are located in small numbers close
to the processor. Auxiliary memories, which are not as fast, are used to store information
permanently.
SECTION 3

ARCHITECHURAL DESIGN

3.1 Main memory organization

Main memory can be considered to be organised as a matrix of bits. Each row represents a
memory location, typically this is equal to the word size of the architecture, although it can
be a word multiple (e.g. 2xWordsize) or a partial word (e.g. half the wordsize). For
simplicity we will assume that data within main memory can only be read or written a
single row (memory location) at a time. For a 96-bit memory we could organise the
memory as 12x8 bits, or 8x12 bits or, 6x16 bits, or even as 96x1 bits or 1x96 bits. Each row

also has a natural number called its address13 which is used for selecting the row:

Table 1: Address 8 Bit


0
1
2
3
4
5
6
7
8
9
10
11
Table 2: Address 12 bits
0
1
2
3
4
Table 3: Address 16 bit
0
1
2
3
4
5
3.1.1 Byte Addressing
Main-memories generally store and recall rows, which are multi-byte in length (e.g. 16-bit
word = 2 bytes, 32-bit word = 4 bytes). Many architectures, however, make main memory
byte-addressable rather than word addressable. In such architectures the CPU and/or the
main memory hardware is capable of reading/writing any individual byte. Here is an example
of a main memory with 16-bit memory locations14. Note how the memory locations (rows)
have even addresses.
Word Address 16 bit = 2 bytes

0
2
4
6
8
10
12
14
16
18
20
Byte Ordering
The ordering of bytes within a multi-byte data item defines the endian- ness of the
architecture.
In BIG-ENDIAN systems the most significant byte of a multi-byte data item always has the
lowest address, while the least significant byte has the highest address.
In LITTLE-ENDIAN systems, the least significant byte of a multi-byte data item always has
the lowest address, while the most significant byte has the highest address.
In the following example, table cells represent bytes, and the cell numbers indicate the address
of that byte in main memory. Note: by convention we draw the bytes within a memory word
left-to-right for big-endian systems, and right-to-left for little-endian systems.
Word Big-Endian Word Little-Endian
Address Address

0 0 1 2 3 0 3 2 1 0
4 4 5 6 7 4 7 6 5 4
8 8 9 10 11 8 11 10 9 8
12 12 13 14 15 12 15 14 13 12
MSB –––––––––-> LSB MSB –––––––––
––> LSB

Note: an N-character ASCII string value is not treated as one


large multi- byte value, but rather as N byte values, i.e. the first
character of the string always has the lowest address, the last
character has the highest address. This is true for both big-endian
and little-endian. An N-character Unicode string would be
treated as N two-byte value and each two-byte value would
require suitable byte-ordering.
Example: Show the contents of memory at word address 24 if
that word holds the number given by 122E 5F01H in both the
big-endian and the little-endian schemes?
Big Endian Little
Endian
MS ––––––– LS MS ––––––– LS
B ––> B B ––> B
24 25 26 27 27 26 25 24
Word 24 12 2E 5F 01 Word 24 12 2E 5F 01
www.studymafia.org

Example: Show the contents of main memory from word address 24 if


those words hold the text JIM SMITH.
Big Endian Little Endian
+0 +1 +2 +3 +3 +2 +1 +0
Word 24 J I M Word 24 M I J
Word 28 S M I T Word 28 T I M S
Word 32 H ? ? ? Word 32 ? ? ? H

The bytes labelled with ? are unknown. They could hold important data,
or they could be don’t care bytes – the interpretation is left up to the
programmer.
Unfortunately computer systems15, in use today are split between those
that are big-endian, and those that are little-endian16. This leads to
problems when a big-endian computer wants to transfer data to a little-
endian computer. Some architectures, for example the PowerPC and ARM,
allow the endian-ness of the architecture to be changed programmatically.

Word Alignment

Although main-memories are generally organised as byte-addressed rows


of words and accessed a row at a time, some architectures, allow the CPU
to access any word-sized bit-group regardless of its byte address. We say
that accesses that begin on a memory word boundary are aligned accesses
while accesses that do not begin on word boundaries are unaligned
accesses.
www.studymafia.org

Address Memory (16-bit)


word
0 MSB LSB Word starting at Address 0 is Aligned
2
4 MSB Word starting at Address 5 is
Unaligned
6 LSB
Reading an unaligned word from RAM requires (i) reading of adjacent
words, (ii) selecting the required bytes from each word and (iii)
concatenating those bytes together => SLOW. Writing an unaligned word
is more complex and slower17. For this reason some architectures prohibit
unaligned word accesses. e.g. on the 68000 architecture, words must not be
accessed starting from an odd-address (e.g. 1, 3, 5, 7 etc), on the SPARC
architecture, 64-bit data items must have a byte address that is a multiple
of 8.

Memory Modules, Memory Chips

So far, we have looked at the logical organisation of main memory.


Physically RAM comes on small memory modules (little green printed
circuit-boards about the size of a finger). A typical memory module holds
512MB to 2GB. The computer’s motherboard will have slots to hold 2, 4
maybe 8 memory modules. Each memory module is itself comprised of
several memory chips. For example here are 3 ways of forming a 256x8 bit
memory module.

1
1 1 1
1
1 1 1
11
0 1 1
0 0 0
1 1 0
1 0
1
1
1

Eight
256 x 1bit RAMs
www.studymafia.org

In the first case, main memory is built with a single memory chip. In the
second, we use two memory chips, one gives us the most significant 4 bits,
the other, the least significant 4 bits. In the third we use 8 memory chips,
each chip gives us 1 bit - to read an 8 bit memory word, we would have to
access all 8 memory chips simultaneously and concatenate the bits.

On PCs, memory modules are known as DIMMs (dual inline memory


modules) and support 64-bit transfers. The previously generation of
modules were called SIMMs (single inline memory modules) and
supported 32-bit data transfers.
Example: Given Main Memory = 1M x 16 bit (word addressable),
RAM chips = 256K x 4 bit
Module 0 Module 1 Module 2 Module 3

C C C C C C C C C C C C C C C C
H H H H H H H H H H H H H H H H
I I I I I I I I I I I I I I I I
P P P P P P P P P P P P P P P P
1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2
8
4x4 bits 4x4 bits 4x4 bits 4x4 bits

RAM chips per memory module = Width of Memory = 16/4 =


Word 4
Width of RAM Chip

18
18 bits are required to address a RAM chip (since 256K = 2 = Length of
RAM Chip )
www.studymafia.org

A 1Mx16 bit word-addressed memory requires 20 address bits (since


1M
20
=2 )
Therefore 2 bits (=20–18) are needed to select a module.
The total number of RAM Chips = (1M x 16) / (256K x 4) = 16.
Total number of Modules = Total number of RAM chips /
RamChipsPerModule = 16/4 = 4

Interleaved Memory

When memory consists of several memory modules, some address


bits will select the module, and the remaining bits will select a
row within the selected module.
When the module selection bits are the least significant
bits of the memory address we call the resulting memory a
low-order interleaved memory.
When the module selection bits are the most significant
bits of the memory address we call the resulting memory a
high-order interleaved memory.
Interleaved memory can yield performance advantages if more
than one memory module can be read/written at a time:-
(I) for low-order interleave if we can read the same row in each
module. This is good for a single multi-word access of
sequential data such as program instructions, or elements in
a vector,
(ii) for high-order interleave, if different modules can be
independently accessed by different units. This is good if
the CPU can access rows in one module, while at the same
time, the hard disk (or a second CPU) can access different
rows in another module.
Example: Given that Main Memory = 1Mx8bits, RAM chips
= 256K x 4bit. For this memory we would require 4x2=8 RAM
18
chips. Each chip would require 18 address bits (ie. 2 = 256K)
and the full 1Mx16 bit memory would requires 20 address bits
20
(ie. 2 = 1M )

Computers employ many different types of memory (semi-conductor, magnetic disks and tapes,
DVDs etc.) to hold data and programs. Each type has its own characteristics and uses. We will
look at the way that Main Memory (RAM) is organized and very briefly at the characteristics of
Register Memory and Disk Memory. Let’s locate these 3 types of memory in an abstract
computer: CPU Main Memory

Registers
Control Unit RAM RAM

Arithmetic & Logic Unit

I/O

Controller(s)

Disk Drive Disk Drive Disk Drive

Figure 3: Main Memory Organization

3.1.1 Register Memory


Registers are memories located within the Central Processing Unit (CPU). They are few in
number (there are rarely more than 64 registers) and also small in size, typically a register
is less than 64 bits; 32-bit and more recently 64-bit are common in desktops.
The contents of a register can be “read” or “written” very quickly 1 however, often an order
of magnitude faster than main memory and several orders of magnitude faster than disk
memory.
Different kinds of register are found within the CPU. General Purpose Registers2 are
available for general3 use by the programmer. Unless the context implies otherwise we’ll
use the term "register" to refer to a General Purpose Register within the CPU. Most
modern CPU’s have between 16 and 64 general purpose registers. Special Purpose
Registers have specific uses and are either non-programmable and internal to the CPU or
accessed with special instructions by the programmer. Examples of such registers that we
will encounter later in the course include: the Program Counter register (PC), the
Instruction Register (IR), the ALU Input & Output registers, the Condition Code
(Status/Flags) register, the Stack Pointer register (SP). The size (the number of bits in the
register) of the these registers varies according to register type. The Word Size of an
architecture is often (but not always!) defined by the size of the general purpose registers.
In contrast to main memory and disk memory, registers are referenced directly by specific
instructions or by encoding a register number within a computer instruction. At the
programming (assembly) language level of the CPU, registers are normally specified with
special identifiers (e.g. R0, R1, R7, SP, PC)
As a final point, the contents of a register are lost if power to the CPU is turned off, so
registers are unsuitable for holding long-term information or information that is needed for
retention after a power-shutdown or failure. Registers are however, the fastest memories,
and if exploited can result in programs that execute very quickly.
3.1.2 Main Memory (RAM)
If we were to sum all the bits of all registers within CPU, the total amount of memory probably
would not exceed 5,000 bits. Most computational tasks undertaken by a computer require a lot
more memory. Main memory is the next4 fastest memory within a computer and is much larger
in size. Typical main memory capacities for different kinds of computers are: PC 512MB5,
fileserver 2GB, database server 8GB. Computer architectures also impose an architectural
WordSize
constraint on the maximum allowable RAM. This constraint is normally equal to 2
memory locations.
RAM6 (Random7 Access Memory) is the most common form of Main Memory. RAM is
normally located on the motherboard and so is typically less than 12 inches from the CPU.
ROM (Read Only Memory) is like RAM except that its contents cannot be overwritten and its
contents are not lost if power is turned off (ROM is non-volatile).
Although slower than register memory, the contents of any location 8 in RAM can still be “read”
or “written” very quickly9. The time to read or write is referred to as the access time and is
constant for all RAM locations.
In contrast to register memory, RAM is used to hold both program code (instructions) and data
(numbers, strings etc). Programs are “loaded” into RAM from a disk prior to execution by the
CPU.
Locations in RAM are identified by an addressing scheme e.g. numbering the bytes in RAM
from 0 onwards10. Like registers, the contents of RAM are lost if the power is turned off.
3.1.3 Disk Memory
Disk memory11 is used to hold programs and data over the longer term. The contents of a disk
are NOT lost if the power is turned off.
29
Typical hard disk capacities range from 40GB to over 500 GB (5x10 ). Disks are much slower
than register and main memory, the access-time (known as the seek-time) to data on disk is
typically between 2 and 4 milli-seconds, although disk drives can transfer thousands of bytes in
one go achieving transfer rates from 25MB/s to 500MB/s.
Disks can be housed internally within a computer “box” or externally in an enclosure connected
by a fast USB or firewire cable12. Disk locations are identified by special disk addressing
schemes (e.g. track and sector numbers).

3.2 Summary of Characteristics

You might also like