Look for online version of RAM in
March
issue of MAXIMUM PC (pp. 67-69.).
Supercomputers,
Competing Countries; nice short sound bite and graph. (my backup copy)
NEC
laser chips and petaflop supercomputers. (my backup copy)
Japan'
quest for "supercomputer on a chip".

LAST
UPDATE: 10/15/07
Under
Reconstruction!

LEARNING MODULE
IIIB
THE CENTRAL
PROCESSING
UNIT
& PRIMARY
MEMORY
In the OVERVIEW OF COMPUTERS
the hardware involved in the input-Process-Output mechanism was
outlined;
the following presentation amplifies these ideas although it is
important
to remember that this is still greatly simplified. While keeping in
mind
that "a little knowledge is a dangerous thing!", it is important to
have
a "feeling" for how a computer accomplishes its processing.
This
LM is separated from LM IIIC in order to distinguish concepts
that
apply to all types of computers from those that apply to
microcomputers
(covered in LM IIIC), so our goals of this Learning
Module
IIIB are to help the student learn:
- to
distinguish hardware concepts apply to all types of computers,
in
general,
- to
distinguish four basic categories of computers and their subcategories,
- to
distinguish the categories computer memory and storage
- the
fundamental hardware components of a generic computer system
- a simplified
view of how programs are executed by a generic computer
- the
basic designs of processors
- to
distinguish basic computing environments
NOTE:
If you are an independent learner (not attending the on-campus
classes),
it is especially important to read the study
guide for this LM.
Even
though it is virtually impossible to simulate the interactive in-class
presentation on this Web site, I do try. However, I need your
help,
so read the study guide to try to understand what I am trying to
do.
(I'd appreciate your feedback on how to imporve this simulations of the
class environment.)
TPQ
1: Rewrite the preceding objectives in terms of personal
accomplishments
to be attained after finishing the study of this learning module.
The sequence of
presentations
in this learning module is as follows. You can click on any link
to jump directly to that section.
- MICROS,
MINICOMPUTERS,
MAINFRAMES, & SUPERCOMPUTERS
- CATEGORIES
OF COMPUTER MEMORY
- THE CENTRAL
PROCESSING UNIT (CPU )
- HOW
DOES A COMPUTER EXECUTE A PROGRAM?
- PROCESSOR
DESIGN
- COMPUTING
ENVIRONMENTS
- SUMMARY
1 MICROS, MINICOMPUTERS,
MAINFRAMES,
& SUPER COMPUTERS:
The distinction between microcomputers, minicomputers, mainframes, and
super computers is vague and ever-changing; there is also a great deal
of overlap in capabilities especially when comparing new models of one
type with old models of another type. Textbook specifications, being a
year or so out of date, are not reliable as to the state of the art. In
the sequence below the prices, size and processing power increases with
each category. These four categories are traditional but are, I
think,
obsolete.
There
is no clear, time independent distinction between computers, but I
would
prefer to categorize computers as personal computers, multiuser
computers,
and super computers.
1.1 Micros are built around a
Microprocessor
(MP):
- Microcomputers are
distinguished from
all the others in that they are designed for the single user,
i.e.
the microprocessor is actually in the user's computer.
- Older micros use words
that
are 8 bits (IBM PC and XT, Apple IIe, Commodore 64, etc.) 16 bits (IBM
AT, Apple Macintosh, Atari ST, Commodore Amiga 2000, etc.), or 32 bits
or 64 bits (current PCs).
- The micro category can
be
subdivided
(See Learning Module IIIC, PERSONAL COMPUTERS.)
into:
- personal computers
- workstations:
special purpose,
high performance, client-server microcomputers connected
to networks.
- portables
(including "laptops", "notebooks", "palmtops", etc): specifically
designed
to perform anywhere. They are compact and use batteries for power.
- "Pen-based
computers"
include Personal
Digital assistants (PDAs) or Personal Information
Managers
(PIMs) are a recent evolution combining digitizing tablets and
screen
input. Both are actually like hand-held writing tablets that allow
users
to input text, graphics, or commands by writing or drawing directly on
a flat-panel screen. PDAs currently have very little "computer"
facilities
other than personal productivity software and communications. They are
not truly programmable.
- modern cellphones are essentially networked
computers although they are very specialized and consequently wouldn't
be called a computer in the classic sense.
1.2 Minis and Superminis:
- Minicomputers are the
smallest multiuser
computers in which the user sits at a terminal (keyboard and monitor)
which
is connected with a central CPU at another location; they were
originally
designed as scaled-down, special purpose mainframes servicing several
hundred terminals.
- may have coupled
CPUs or parallel
(simultaneous) processing CPUs; and
- sit on the floor,
fill a small
room, and need little or no environmental control.
1.3 Mainframes (See Figure
CPU-1.):
- Mainframes, the oldest
category of
computers, are designed to be accessed by a large number of users (several
thousand terminals), perhaps for all the employees of a given
company.
- may have parallel processing
CPUs for simultaneous operations;
- take up a whole room
and older
types often require temperature and humidity control.
1.4 Supercomputers (now called "High
Performance
Computers", HPC):
- are usually custom
designed from
modular components.
- have vector
processing
CPUs which
handle huge number collections all at once;
- usually provide parallel
processing
(multiple CPU/Memory modules capable of processing independent parts of
a single program simultaneously) and often involve massively
parallel
processing (MPP), with thousands of cooperating CPUs.
SAQ
1: Categorize the preceding types of computers as to whether they are
PCs
or multiuser computers.
SAQ
2: Distinguish the different types of multiuser computers.
2.
CATEGORIES
OF COMPUTER MEMORY AND STORAGE:
Although
secondary storage doesn't really belong in this learning module (See
Learning
Module
V, Secondary Storage),
it is instructive include it in the following summary to show how it
interacts
with primary memory and how it is an integral part of the overall
computer
system. (The organization of the following summary is from slowest
to fastest and cheapest to most expensive.) For
more details and informative pictures, see
How
Computer Memory Works from How Stuff Works.
- Secondary
Storage
(slowest data access) (This is covered in more detail in LM
IV.)
- Tape
(permanent magnetic
storage) is, by far, the slowest access storage. It is now used
only
for backup.
- Magnetic disks
(permanent
magnetic storage) include diskettes (floppies), hard disks, and
removable
cartridges.
- Magneto-optical
disks
(permanent magnetic storage; laser assisted writing; permanent) combine
magnetic and optical techniques.
- Optical disks
(e.g. DVD,
recordable CDs, etc.) utilizing laser technology allow data to be
stored
in much greater densities than magnetic storage media. This will
revolutionize secondary storage capabilities.
- USB
Flash drives are
flash memory devices that plug into a USB port, serving as secondary
storage; they are also called
"flash drives", "pen drives", "keychain drives", "jump drives",
"thumb drives",
etc. Small and light
enough to hook onto a key chain, they serve efficient portable
secondary storage devices
allows data to be transferred at much higher rates than disk media. See section 2.B.c.iii, below and the
explanation
in the TechEncyclopedia which has illustrations of the
numerous
kinds of flash memory.
- Primary Memory
- RAM,
Random
Access Memory,
(read/write; electronic; volatile) provides temporary storage of
programs
in execution and the data being processed. There are
several
different types of RAM, the most popular of which include:
- SRAM,
static RAM, unlike
DRAM, does not need to be refreshed; its storage is fixed (as long as
power
is supplied to the computer). This newer, more dependable type of
RAM is faster, but more expensive than DRAM. SRAM is often used
for
cache memory; see below.
- DRAM,
dynamic RAM, although
its name sounds sophisticated, is the oldest and simplest (and
therefore
the slowest) type of RAM used today. The word "dynamic" comes
from
the fact that it must be electronically "refreshed" constantly in order
to maintain the data it stores.
- EDO RAM,
enhanced data
output DRAM, is a type of RAM that improves the memory access
time
on faster microprocessors such as the Intel Pentium. EDO RAM was
initially
optimized for the 66 MHz Pentium. It is now being superseded by . . .
- SDRAM,
synchronous DRAM,
is a new form of RAM that can be synchronized to the clock speed
of the computer, a powerful feature that optimizes data access by the
system
buses.
- RDRAM,
Rambus DRAM, is
Intel's designated successor to SDRAM has an effective speed of 800 MHz
and a peak data transfer rate of 1.6 GBps. However, it has yet to prove
itself, and there are several rivals, e.g.
- DDR
(double
data rate RAM) is SDRAM, that is slower than RDRAM but uses a
technology
that can theoretically double older transfer rates. It
activates output on both the rising and falling edge of the system
clock
rather than on just the rising edge, potentially doubling output.
DDR2
is the second generation of DDR.
For
more information on these subtypes of RAM as well as other
less-important
subtypes see the excellent article, CNET
Lab's Guide to buying RAM. Two more acronyms
associated with RAM,
SIMM
and DIMM, are not different types of RAM; they are two different
ways
to modularize memory chips for installation on a PC
motherboard.
The SIMM (single in-line memory module) is the oldest and is
limited
to a data path (word) of 32 bits; the DIMM (dual in-line memory
modules) provides 64-bit path which, everything else being equal, make
data access ______(1) as fast as on a DIMM.
- ROM,
read-only memory, PROM, programmable
ROM (write once) are used for permanent storage of
programs
and data built into the computer by the manufacturer.
- EPROM, EEPROM,
and flash memory are rewritable PROM, that, unlike RAM, retains
its storage when power is turned off.
- EPROM
(erasable PROM)
is erased by shining ultraviolet light on the exposed chip. To
write
to or erase and EPROM, one must use a PROM burner.
- EEPROM
(electronically
erasable PROM) is more convenient than EPROM because it can be erased
electronically
and can be written to in bytes.
- Unlike flash memory (See next item.), EEPROM is erased and
rewritten at the byte level,
which is slower than flash memory updating.
- Flash memory (also
called "flash RAM"), a
special
type of EEPROM, can be erased and rewritten in multi-byte blocks rather
than the single bytes characteristic of EEPROM. Although, in
theory, it could be, flash memory is not used
as primary memory because RAM needs to be addressable at the
byte (not the block) level.
- Flash memory
is most
often used in motherboard chips to hold control code escpecilly
the BIOS of microcomputers which are called "flash BIOS". When BIOS needs to be changed
(rewritten), the
flash memory can be written to in block (rather than byte) sizes,
making it easy to update.
- Flash memory is much less expensive than EEPROM; therefore
it is commonly used when large amounts of non-volatile, solid-state storage is
needed.
- It
is now used in efficient, very
portable,
nonvolital
secondary storage devices called "USB drives", "Embedded Flash
drives", etc.
- Cache
memory
(small,
fast RAM) is designed to hold frequently used data. (See section
2.1, below.)
- Registers
(fastest data
access) are built into the CPU itself. There are many kinds of
registers
and their number and type depend on the manufacturer's design. An
oversimplified generic set of registers (described in subsequent
sections)
would include the following: (Explanations are give in section 3,
below.)
- accumulator (ALU)
- storage
registers
(ALU)
- decoder (CU)
- instruction
register
(CU)
- address register
(CU)
- program register
or
program
counter (CU)
- several others
(depending on
the CPU)
SAQ
3: What is the difference between memory and storage as used above?
SAQ
4: (a) What is the difference between the various types of RAM given
above?
What is the (b) similarity and (c)
difference between RAM and flash memory?
SAQ
5: What are the differences between ROM, PROM, EPROM, EEPROM and Flash
memory?
2.1 Reducing the Time of Primary Memory
Access:
- In
general, Cache (high
speed RAM that is configured to hold the most frequently used data) is
used to improve system performance. Memory cache or CPU
cache
is a dedicated bank of high-speed RAM chips used to cache data from
primary
memory. When data is read from primary memory, a larger block than is
immediately
necessary is stored in the cache under the assumption that the next
data
needed by a program will be located near the data being read; when that
data is needed, it will then be waiting in the high-speed cache. (See disk
cache, in section 2.2.)
- There are three types of cache:
- Level 1 or L1 cache is built into
the CPU (e.g. Pentiums and PowerPCs)
- Level 2 or L2 cache is contained in
separate chips (level 2, or L2, cache,).
- Level 3 or L3
cache is built into motherboards between the microprocessor and the
main memory, i.e. L3 cache is L2 cache that is built into a
motherboard. According to Webopedia, " what was once L2
cache on motherboards now becomes L3 cache when used with
microprocessors containing built-in L2 caches."
2.2 Reducing the Time of Secondary Storage
Access:
- RAM disks are
external add-on
RAM boards that can add megabytes of RAM that can act like high-speed
disk
drives.
- Disk cashe is a
reserved section
of primary memory used to cache data from secondary storage.
It operates using the same principles as memory cache.
Figure
CPU-2,
from MAXIMUM PC,
March 2000, p68, is a illustrative analogy of the relative CPU-memory
access
times.
|
FIGURE
CPU-2
|
 |
| From MaximumPC,
March 2000, p. 68. |
SAQ: What is the (a) similarity and
(b) difference between L2 cache and L3 cache?
3. THE
CENTRAL
PROCESSING UNIT (CPU ):
The
processor of a computer is a very complex VLSI circuit. However,
from an over simplistic illustrative viewpoint it can be thought of as
an collection of processing and storage units within an Arithmetic
Logic
Unit (ALU) and Control Unit (CU) that are linked internally and
externally
by busses which carry binary signals between. In its most general
form, multiuser computers, is illustrated, from a simplified viewpoint,
in Figure. CPU-2. The three
generic
components of the CPU are discussed below and amplified in Learning
Module IIIC, Personal Computers.
|
FIGURE
CPU-3
|
 |
3.1 The Arithmetic Logic Unit (ALU):
- ALU (greatly
oversimplified
for illustrative purposes) consists of:
- the accumulator,
the main data register where all the intermediate results of a
calculation
are kept ("accumulated") until the final result is determined (which is
then stored in memory.
- data registers
are supplemental
storage registers that support the operations of the accumulator.
- computational
circuits (e.g.
a binary adder) that performs mathematical operations, and
- operational
circuits that
perform logic operations.
- All math
operations
are
performed in _________(2) numbers.
- All logic
operations
are performed using binary operations.
- Logical operations
allow programs
to contain repetition and selection, the two essential control
structures
of programming.
- Boolean variable
=
variable
that can only be true or false (1 or 0 in a computer).
- Logical expression (or
Boolean
expression) = statement (question or condition)
combining
boolean variables with the operators and, or, and
not; all expression
must
reduce to values which are either true or false (1 or 0).
- Expression examples:
- Repetition:
repeat PROCESS until
OutOfData {OutOfData is a ________(3) variable}
- Selection:
If (Grade <=
100) and (Grade >= 0) {the
terms following If are a _________ ____________(4)}
then print
Grade
else
print
"Warning: bad Grade data!"
3.2 The Control Unit (CU), "Manager" (or
"Traffic
Cop") of the CPU:
- CU (greatly
oversimplified
for illustrative purposes) components:
- decoders which
interpret program
instructions (object code written in machine language),
- a timer (or clock)
which sequences
all CPU activities,
- logical gates and
circuits which
distribute signals which activate various components of the CPU,
- program
counter/register
which
keeps track of the next instruction to execute, and
- registers (e.g.
instruction,
address, etc).
- Primary CU Functions
(in
addition to those in section A, above):
- reads and
interprets
machine language instructions
- controls the
transmission
of data between ALU, registers, cashes, primary memory, and
auxiliary
memory.
- controls the
sequence of
execution of program instruction (i.e. governs branching jumping
around
within a program) which allows repetition and selection.
- directs
ALU as to what math or logic operations to perform.
SAQ
6: What are the similarities and the difference between the CU and ALU?
3.3
Buses:
In general, a computer bus,
which
transports signals in________(5) form throughout the computer, is
really a combination of three separate kinds of busses .
- The data bus
carries
________
between the microprocessor and other components. The size of the bus
(number
of lines) determines the amount of data that can be transmitted
simultaneously,
e.g. a 32 bit data bus could transmit a number that is no larger than
_____(6)
(base ten) or _____(7) characters. (Larger numbers would simply have to
be sent in two or more parts.)
- The address bus
carries the
address between the CPU and _________(8) thus selecting the exact
location
where data is read or stored. Each line carries one bit so the number
of
lines (wires) in the address bus determines the amount of primary
memory
that can be directly addressed, e.g. a 32 bit address bus could
read/write
to __________(9) memory locations.
- The control bus
carries a code
the actual "commands" of the microprocessor, e.g. ____________,
__________, (10)etc.
Specific types of buses used in
today's
PC's are discussed in the architecture
section of Learning Module IIIC, Personal Computers.
SAQ
7: (a) What are the similarities and the difference between the the
buses
described above? (b) Are these three enough to describe all types
of bus architectures?
4.
HOW DOES A COMPUTER EXECUTE A PROGRAM?
From
a simplistic viewpoint, computers function by "running" programs.
These programs must be in _________(11) language and stored in
______(12)
in order to be executed. The following subsections describe basic
functions of a generic computer (multiuser or PC).
4.1 "Typical Machine Cycle" (Over
simplified):
The system clock of a computer synchronizes the execution of machine
language
programs by the CPU. Again, from a simplistic viewpoint, this is
explained in terms of the machine cycle which consists of two
subcycles,
the instruction and execution cycle. (WARNING:
there are many different ways of explaining this, so you may find
descriptions
that use different terms and specify a different number of steps;
however,
they all reduce to the same basic operation!)
SEE FIGURE 4-5
IN SHELLY & CASHMAN (WHICH HAS A FOUR STEP CYCLE).
- Instruction
Cycle (also
called the I-cycle):
- The CU fetches
an instruction
from RAM and places it in the instruction register.
- The CU decodes
(interprets), the instruction, typically into two parts (address
and operation)
- the address
part is placed
in address
register.
- the
operation
part
("opcode")
is placed in operation
register
- Execution Cycle
(also
called the E-cycle):
- The ALU executs
the instruction
- The CU
fetches
the data
pointed to by the numbers in the address registers and places it in the
Memory
Buffer Register(s).
- The CU
Directs
ALU to
perform instruction.
- The CU stores
results
(intermediate & final) in the appropriate storage location.
- If the
instruction
is an arithmetic
operation, the result is placed in the accumulator.
- If the
instruction
is a store
operation the accumulator contents is placed in RAM or cache.
4.2 A Example
of the
execution of a Machine Language Instruction:
A simple instruction, from the machine language for the
Motorola 6800 processor (covered in LM
X, Programming languages) is ADD
A Y that adds a number from a location Y, in primary memory, to
a number already in the accumulator, A (from a previous
operation). Assuming the above machine cycle, this is what
happens:
- Instruction
Cycle:
- The
CU fetches
an instruction, ADD
A Y,
from RAM and places it in the instruction register.
- The
CU decodes ADD A Y:
- the address
part, Y,
is placed
in address
register.
- the opcode, ADD,
is placed in operation
register
- Execution
Cycle:
- The
ALU executes
the instruction, ADD.
- The CU
fetches
the data value
pointed to by Y in the
address registers and places that value in the Memory
Buffer Register.
- The CU
Directs
ALU to
perform instruction, adding the value in the Memory Buffer Register to the
value in the accumulator, A.
- The
CU continues to the next instruction (because there is no storing
in this instruction; the result stays in the accumulator where
it may be used in further math operations).
SAQ
8: What are the similarities and the difference between the machine
cycle
presented in this learning module and that in the text?
4.3 CPU Speed Is Determined by the
Internal
Clock:
- Each clock pulse
activates
one stage of a machine cycle.
- One machine code
instruction may
require several machine cycles.
- Units of measurement of CPU
speed:
- Hertz is a
general
unit of
"frequency" for electromagnetic phenomenon. Megahertz (MHz z) is the
current
unit of electronic speed for processors.
- Two older units: MIPS,
millions
of (machine cycle) instructions per second, is used to measure the
speed
of execution of machine language instructions. Mflops (million
floating
point operations per sec.) is the a complementary unit used to measure
the execution speed of real (mixed) numbers. Mflops was
primarily
used for supercomputers and mainframes which perform floating point
operations
in the CPU; however, current microprocessors are now capable of this,
so
measurement of their floating point calculation speeds are now
important.
- Two new types of units
are
now being
used as benchmarks; these should be used only for relative
performance
comparisons. Because
there are so many benchmarks it is virtually impossible to get absolute
measurements of CPU speeds, so one should only compare computers
using
the same benchmarks. Examples of benchmarks include:
- Linpack which is
used
to rate high-performance computers (supercomputers).
- Futuremark.com produces a suite of
benchmarks for Windows PCs. The Call for Help people at TechTV
recommend PCMARK for basic consummer benchmarking, for example:
- PCMark
05 Basic v1.10:
PCMark®05 (freeware) is
everything you need
to reliably and easily measure the performance of your PC and determine
its strengths and weaknesses. With PCMark05, you will be able to select
the optimal upgrades for your existing PC, or choose the right new PC
that fits your specific needs. This easy-to-use product gives you the
same tools and knowledge that virtually every professional tester in
the industry uses.
- For a detailed
list of types of benchmarks and examples see Wikipedia.
- Of course, it is not
just
the CPU
speed that is important to the user; the overall speed of the whole
computer system that is most significant! This depends not only on
the CPU speed but on:
- whether or not accelerator
boards
are added (and their speed),
- speed of the various
computer busses
(connections between the computer components),
- amount of cache and
RAM,
- efficiency of
software
(O.S.
as well as applications; they often do not take advantage of the latest
hardware facilities). Some applications are specifically designed to
improve
system performance, e.g. RAM Doubler and Speed Doubler
which
do what they say!
Like the old adage, "A chain
is only
as strong as its weakest link", a computer is only as fast as its
slowest
component! Obviously the best way to compare computers
is
to run one of your own applications on two computers
and
compare their performance. These ideas are amplified in LM
IIIC.
5.0
PROCESSOR
DESIGN:
- Processor technology:
There are two basic types of technology, CISC and RISC, but in practice
the older CISC technology has included significant features of
RISC.
(See section 2 of LM
IIIC.)
- CISC (Complex
Instructional
Set Computing) technology; all early microprocessors have non uniform
instruction
sets.
- RISC (Reduced
instruction Set
Computing) technology, a newer approach than CISC, achieves higher
performance
via a simplified language (with instructions of the same
length)
manipulating a sophisticated architecture containing more registers
than corresponding CISC chips. This combination gives it greater
efficiency
than pure CISC.
- Pipelining is
a processor
technique of overlapping the execution of computer instructions
by simultaneously performing different operations on adjacent
instructions each
in its own conceptual "pipe". In our simplified view of the
machine
cycle, a pipelined CPU would be performing the execution cycle
operations
on a set of instructions while it is performing the instruction cycle
operations
on the subsequent set of instructions, i.e. when the pipeline first
fills
up, the following operations would be performed simultaneously in the
six
pipes of the CPU:
- the first
instruction results
would be stored
- the second
instruction would
be executed
- the third
instruction's data
would be _________(13)
- the fifth
instruction would
be _________(14)
See Shelly & Cashman, Figure 4-6.
- Multiprocessing
(discussed, previously
in the context of operating systems) is the technology where
multiple processors are utilized;
the
actual hardware can have many forms,
e.g. multiple cores on one die (See LM IIIC.), multiple chips in one package, multiple packages in one system
unit, etc. It is important to
note that in addition to multiple
processors, the system must have (1) an multiprocessing operating system
capable of managing multiple processors and (2) multiprocessing software, i.e. the
software, itself, must be written to utilize multiple processors.
- Parallel processing
is a particular application of multiprocessing. It is a combination
of hardware and software techniques speeds up the processing of a
program
by dividing them among multiple processors. In these systems, two or
more
processors shared the work to be done.
See Shelly & Cashman, Figure 4-10.
- The earliest
versions
had
a master/slave
configuration. One processor (the master) was programmed to be
responsible
for all of the work in the system; the other (the slave) performed only
those tasks it was assigned by the master. This arrangement was
necessary
because it was not then understood how to program the machines so they
could cooperate in managing the resources of the system.
- In modern symmetric
multiprocessing
systems (SMP) system, each processor is equally capable and
responsible
for managing the flow of work through the system. Initially, the goal
was
to make SMP systems appear to programmers to be exactly the same as
single
processor, multiprogramming systems. (This standard of behavior is
known
as sequential consistency). However, engineers found that system
performance
could be increased by someplace in the range of 10-20% by executing
some
instructions out of order and requiring programmers to deal with the
increased
complexity, hence the software/harware cooperation requirement
The
question of how SMP machines should behave on shared data is not yet
resolved.
Parallel processing on a large scale (thousands of SMP processors) is
called massively
parallel processing (MPP). See SMP in Wikipedia.
- For
examples of parallel processing supercomputers see Wikipedia's
"Special-purpose supercomputers" and "The fastest supercomputers today",
Wikipedia's "Top
500" (unclassified) supercomputers in the world, and the official Website of The Top500.
SAQ 9:
What is the (a) similarity and (b) difference between pipelining and
parallel processing.
6.
COMPUTING ENVIRONMENTS:
- Real-time
processing
systems facilitate online interaction between human user or electronic
device (such as a nuclear power plant safety monitoring system), i.e.
it
provides immediate response.
- Teleprocessing
systems
consist of two
remote nodes that exchange
transmissions
via a communication channel. These nodes can be computers,
terminals (I/O stations), or devices (storage, I/O, etc.). (This
will be covered more thoroughly in LM
VI COMMUNICATIONS AND NETWORKING
and LM VII, OVERVIEW OF CYBERSPACE.)
- Distributed
processing
systems consist of remote computers or workstations that are networked
to provide optimum processing power to a variety
of users at different locations. (This will be covered more
thoroughly in LM VI COMMUNICATIONS
AND NETWORKING and LM
VII, OVERVIEW OF CYBERSPACE.)
- Embedded
systems consist
of equipment with dedicated microprocessors. They are permanently
programmed
(software in ROM) to control the equipment, usually in response to
sensor
inputs.
- Types of
General-purpose Terminals:
- Dumb
terminals can only
input to a separate CPU.
- Smart
terminals have
their own memory and editing capability.
- Intelligent
terminals
are smart terminals with their own CPU. These include:
- Desktop
microcomputers
- Portable
micros can be
used for remote input for later transfer into larger systems.
- Workstations
are microprocessor
based intelligent terminals with powerful, special purpose
capabilities.
Microcomputers can be used as workstations by connecting them to
networks.
- "Network
Computers ("NCs")
which are innovative, inexpensive devices just coming to market. With
this
technology all programs are stored on "servers" and are "downloaded
over
a computer network before they are executed. Thus they will be much
less
expensive than any other computing device. The battle cry of NC
exponents
is "The network is the computer!", a provocative idea indeed!
SAQ 10:
What does the sentence "The network is the computer!" mean?
7. SUMMARY OF
THIS LEARNING MODULE:
- The traditional
categories
for classifiying computers are:
- microcomputers
whose
CPU is a microprocessors; they are typically personal computers.
- minicomputers
are multiuser
computers that are cost efficient alternatives to ...
- mainframes
are large
scale multiuser computers (They were the original type of computer
developed
in the early '50s.)
- super
computers
(more
properly called High Performance Computer or HPCs) are typically custom
designed for the most processing intensive applications
There is considerable
overlab
in the preceding categories especially in different time periods.
The microcomputers of today are equivalent to the super computers of a
decade ago! Perhaps a better classification of computers would be
personal computers, multiuser computers, and super computers.
- The categories of
computer storage
and memory include the following (from slowest and least expensive to
fastest
and most costly)
- Secondary
Storage
(covered
in detail in LM IV) is permanent, but programs must be loaded into RAM
to be executed.
- Tape is
primarily used
only for backup.
- Magnetic
disks
are currently
the primary media for storage, but will probably be superceded by
optical
media in the near future
- Magneto-optical
disks
store data magnetically but use lasers to assist the read/write process
- Optical
disks
utilizing
laser technology allow data to be stored in much greater densities than
magnetic storage media.
- USB Flash drives are
flash memory devices that plug into a USB port, serving as efficient,
extremely portable secondary storage with data transfer rates far in
excess of disk media.
- Primary Memory
- RAM,
Random
Access Memory,
(read/write; electronic; volatile) provides temporary storage of
programs
in execution and the data being processed. There are
several
different types of RAM, the most popular of which include DRAM, SRAM,
EDO
RAM, and SDRAM.
- There are two
types of packages
for RAM:
- SIMM
(single in-line
memory module) is the oldest and is limited to a data path (word) of 32
bits.
- DIMM
(dual in-line memory
modules) provides 64-bit path, effectively doubling the access time of
a DIMM.
- ROM,
read-only memory, PROM, programmable
ROM (write once) are used for permanent storage of
programs
and data built into the computer by the manufacturer.
- EPROM, EEPROM,
and flash memory are rewritable PROM, that, unlike RAM, retains
its storage when power is turned off.
- Cache
memory
(small,
fast RAM) is designed to hold frequently used data.
- Registers
(fastest data
access) are memory locations built into the CPU itself.
- The central
processing unit
(CPU) carries out all processing in a computer. From a simplified
point of view, the a CPU consists of:
- Arithmetic
logic
unit
(ALU) which
- consists of
the
accumulator,
registers, and associated circuits,
- performs all
math
and logic
operations
- Control unit (CU)
which
- consists of
decoders, a timer,
program counter, registers, and associated circuits
- performs
interpretation of machine
language instructions and manages the operations of the CPU
- busses
which
are have
three generic forms: address, data, and control
- Simplified view
of
CPU operations:
- The most
common
description
of a computer's machine cycle has the sequence:
- Instruction
Cycle:
- the CU fetches
an instruction
from RAM into the instruction register.
- The CU decodes
the instruction.
- The CU stores
the instruction
in CPU registers
- Execution
Cycle:
- The CU fetches
the data
from RAM into data registers.
- The CU Directs
ALU to
perform the instruction.
- The CU stores
the results
in the accumulator or RAM
- CPU speed is
determined by the
system clock
- Each clock pulse
activates
one stage of a machine cycle.
- One machine code
instruction may
require several machine cycles.
- CPU speed is
measured in MHz,
MIPS, Mflops, and benchmarks.
- Actual computer
performance speed
depend on numerous interacting components such as accelerators, busses,
cache, software efficiency, etc.
- A computer is
only as
fast as its
slowest component!
- Variables in CPU
design
include:
- two basic types of
technology:
- CISC (Complex
Instructional
Set Computing) have non uniform instruction sets.
- RISC (Reduces
instruction Set
Computing) have a streamlined language and a sophisticated
architecture
containing more registers than corresponding CISC chips.
- Pipelining is a
hardware technology that allows a single processor to speed up
program execution by executing different instruction subcycles of
different instructions (each with a separate pipeline) simultaneously. See
Shelly & Cashman, Figure 4-6.
- Parallel processing:
This combination
of hardware and software techniques speeds up the processing of a
program
by dividing them among multiple processors operating simultaneously on
independent parts of a program.
- Various types
of
computing
environments include:
- Real-time
processing
allows immediate, interactive responses to the user.
- Teleprocessing
systems
consist of two terminals exchanging transmissions via communication
channels.
- Distributed
processing
systems consist of remote computers that interact via a
network.
- Embedded
systems consist
of equipment with built-in microprocessors designed for specific
purposes.
- The three basic
types of network
terminals are dumb terminals, smart terminals, and intelligent
terminals.