This is only a preview of the December 1990 issue of Silicon Chip. You can view 58 of the 120 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Articles in this series:
Articles in this series:
Articles in this series:
Articles in this series:
|
••••••••••••••••••••••
I
UNDERSTANDING
•
•
()
Memory is one of the most important
parts of a personal computer but is
probably the least understood. This
article will describe how the PC uses
memory, what types of memory are
available and how to make best use
of the options.
By BRIAN RICHARDS*
Let's start with a little history. IBM
introduced the PC in 1981, with the
capability of using up to 640 kilobytes (640Kb) of memory. At the time,
this was 10 times the memory available in virtually all other personal
computers. This was enough for most
users for the following 2-3 years, during which the IBM PC developed as
the number one personal computer. It
also became the standard upon which
many other manufacturers would base
their own designs.
·
• Brian Richards is Marketing Manager
of Hypertec Pty Ltd, 408 Victoria Road,
Gladesville, NSW 2111.
4
SILICON CHIP
As PC users became more numerous, the demand increased for more
powerful software and with this came
the demand for more memory to run
this software. Also, more power was
demanded by users no longer content
with the processing speed of the 8088
chip. This resulted in the development of the 80286, the 80386 and the
80486 processors, each delivering
more power and functionality. Added
to this was the introduction of networks and the memory hungry software needed to run them, often alongside the operating system and the
applications.
Today, it is commonplace to buy a
PC or PS/2 machine with 1Mb or 2Mb
(Mb = megabytes) of memory as standard. However, many business machines are running with 8, 10, 12Mb
and more, with the advent of operating systems like OS/2 and Xenix,
which need large amounts of memory to load and run individual applications.
DOS&memory
The original and still the most
popular operating system for the PC
is DOS. To understand how PC memory works we need to look at how
DOS uses memory.
Each PC has a set amount of memory that it can address. This includes
the ROM (Read Only Memory for
controlling the display, the hard disc
and the movement of data in and out
of the computer); RAM (Random
Access Memory for the software to
use); and Video Memory (for controlling the display image). The system
used by PC designers to address
memory through DOS is shown diagramatically in Fig, 1.
The total amount of memory available to the PC is 1Mb but only 640Kb
is available to the operating system
and application programs. This segment is known as system memory.
This is normally found installed
on the motherboard when you get
your PC, unless you have a system
with less than 640Kb. This is more
common in older PCs, which often
came with 256Kb or 512Kb of memory. One of the most cost-effective
upgrades for the PC is to install a
board which brings it up to the full
640Kb of system memory.
Most of the more popular application programs now need at least
640Kb to run, shutting out machines
with less memory. For the PC or XT,
the Hypertec Hyper 256 and Hyper
512 are examples of boards available
for just this purpose. If there is a need
to add further serial or parallel ports
to the machine, then both of these
boards are available with the option
of extra ports.
If a PC AT needs to be upgraded,
then the Hyper 128-16 will give an
extra 128Kb of memory. All of these
products come with easy to understand instructions for installation and
a comprehensive manual.
Expanded Memory
Expanded memory came about
because program developers became
frustrated with the fact that DOS could
only make 640Kb available to them to
work in. So three major companies in
the PC industry, Lotus, Intel and
Microsoft, got together and developed
LIM EMS (Lotus-Intel-Microsoft Expanded Memory Specification). What
this in effect did was to use a 64Kb
window of memory on the "free" area
of addressable memory (see Fig.1) to
access a much larger region of expanded memory. In EMS version 3.2,
there can be up to 8Mb and in version
4.0, up to 32Mb.
Now, because DOS came before
EMS, it does not know it exists. So to
use an expanded memory board, an
expanded memory device driver is
required. This is loaded from the
CONFIG.SYS file during the boot process.
Once the hardware and software
drivers have been installed, application programs use the expanded
memory by making a request to the
driver, and must therefore be written
specifically for EMS 3.2, 4.0 or both.
The driver translates the requests into
the correct commands to the EMS
memory board, to move the window
to the correct position in the expanded
memory to retrieve the page requested
STANDARD
MEMORY
SYSTEM
BIOS
VIDEO
ROM
EXPANDED
MEMORY
Fig.1: this diagram shows the system used by the PC to address
memory through DOS. The first 640Kb is reserved for system memory,
with the space above that used for video memory & B1OS ROM. If
expanded memory is used, this is accessed via a "free" area of
addressable memory (the EMS window).
NORMAL MEMORY
T
EXTENDED MEMORY
Fig.2: unlike the earlier XT machines (8086 & 8088 processors), the
80286 & 80386 processors can address up to 16MB of memory. The
memory above 1Mb is called extended memory and is accessed via the
"protected mode" of the processor.
(see Fig.2). Each page is 16Kb in size.
The window is divided into 16Kb
sections, so a number of pages can be
accessed at one time.
EMS Version 3.2 has been out for
some time now and all expanded
memory boards on the market should
support it. Version 4.0, which is rapidly becoming the new standard, is a
radical upgrade to the capabilities of
EMS. Version 4.0 does everything 3.2
does and more.
The enhancements of Version 4.0
open the way to new applications,
such as the multi-tasking capabilities
of Microsoft Windows. Hypertec's
Hyperam 286 and Hyperam MC 32/
16 Expanded/Extended memory
boards offer Version 4.0 support.
How much memory
It is also important to be clear about
how much memory you will need. If
the multi-tasking capabilities of Version 4.0 are to be used, then it is
advisable to specify at least 2Mb.
However, if EMS is to be used only to
allow larger spreadsheets, it should
be remembered spreadsheets can only
use about 1Mb of expanded memory.
This is because most spreadsheet
applications store information in system memory about the information
stored in expanded memory. Typically, a spreadsheet runs out of system memory when about 1Mb of expanded memory has been used. This
is, of course, just a rule of thumb.
This principle applies to all application programs that use expanded
memory, not just spreadsheets.
However, it is also possible to use
expanded memory for utilities such
as RAM discs and print spooling. A
RAM disc will improve the performance of disc intensive processes,
while a print spooler can significantly
reduce the amount of machine time
you waste while waiting for a print
job to finish. Hypertec boards are
supplied with some of these utilities
as standard.
Extended memory boards
Extended memory is memory in the
address space above 1Mb, the maximum addressable by the PC. The
80286 processor on the AT bus can
address 16Mb of memory. The region
between 1Mb and 16Mb is called extended memory, and is accessed via
the "protected mode"of the 80286
processor.
The 80286 can run in two modes:
real and protected. In real mode it
behaves like a faster 8088, while in
protected mode it allows access to all
the extra facilities of the 80286, including the 16Mb of memory. The
80386 also has protected and real
modes, as well as a third mode called
virtual, in which it operates like a
number of 8088 processors, so it can
run a number of different programs
simultaneously. Extended memory
cannot be used in a PC or any maDECEMBER 1990
5
machine. The only difference is that
when installed in a 286 machine, it
can be configured as extended memory as well as system or expanded
memory. A multi-function version is
also available with one serial and
parallel port.
80386 (32-hit) machines
AT-style machines with an 80386
or 80486 processor sometimes have a
proprietary 32-bit slot for add-in
memory boards. The advantage of this
is higher performance for the memory; the disadvantage is that the addin memory boards are typically supplied by the machine manufacturer,
at substantial -extra cost. It is worth
remembering that 16-bit memory can
still be used in the AT bus, at greatly
reduced cost, and the performance
difference may not be noticeable.
MCA machines
The Hyperam MC 32/16 can be used to provide extended memory in virtually
any MCA (Micro Channel Architecture) machine and can act either as a 32-hit
or 16-hit board. It can he supplied as a multifunction version and offers EMS
Version 4.0 support.
chine with an 8088 or 8086 processor.
No device driver
No device driver is needed for, extended memory as it is assumed that
programs needing this amount of
space will be able to control it themselves. There are, however, special
programs such as IBM's VDISK driver,
which provides an extended memory
RAM disc. VDISK puts the processor
into real mode and returns control to
DOS.
Extended memory becomes particularly important with the new generation of operating systems, such as OS/
2 and Xenix. OS/2 Standard Edition
requires at least 1Mb of extended
memory to be able to boot and, for
satisfactory performance, at least 4Mb
is likely to be needed. A rule of thumb
for estimating the memory needed to
run Xenix is 1Mb to start plus 512Kb
6
SILICON CHIP
for each user on the system. As with
OS/2, the more extended memory
available, the faster the system will
run.
The right memory board
The PC (ie, a machine using the
original PC bus) can only use system
or expanded memory. Expanding the
system memory to the 640Kb limit is
the first step in upgrading, as mentioned previously. If expanded memory is required above the system
memory, then a board such as the
Hyperam 286 is the answer.
The Hyperam 286 is a 16-bit board
but has been designed so that it also
runs in 8-bit PC slots. It supplies 2, 4
or 8Mb of memory which can be used
iri PCs as system or expanded memory.
As a 16-bit board, Hyperam 286,
may also be used to offer the same
memory upgrades to a 286 or AT-bus
Roughly the same considerations
apply to the PS/2 range as for the AT.
A PS/2 MCA (Micro Channel Architecture) machine has at least 1Mb already installed, which supplies 640Kb
of system memory and 384Kb of extended memory. Some of these machines allow you to place more memory on the motherboard but this will
not necessarily provide expanded
memory capability. A more flexible
and cost effective solution may be a
memory board and in the case of MCA
machines, there are 32-bit boards
available from third party manufacturers.
The Hyperam MC 32/16 is one such
board and it may be used in any MCA
machine. It acts as a 32-bit board in
the Models 70-386, 70-486, P70 and
80, while also acting as a 16-bit board
in the Models 50, 50z, 60 and 65SX. It
can come in a multifunction version
and offers EMS Version 4.0 support.
So, before purchasing a memory
upgrade for your particular machine,
think carefully about what you are
currently using it for and what you
may wish to use it for in the future .
This much determined, use the guidelines above to ascertain how much
and what type of memory you require.
Remember, applications are getting
more and more memory hungry with
each new release.
You are probably going to be using
your PC for some years yet, so a little
forethought should ensure fewer problems ih the long term.
|