INTRODUCTION
TO COMPUTER SYSTEM ORGANIZATION
·
In
describing computers, a distinction is often made between computer
architecture and computer organization.
·
CA: attributes of a system visible to a
programmer or that have a direct impact on the logical execution of a program
(Stallings 2003).
·
CO: operational units and their interconnections
that realize the architectural specifications (Stallings 2003).
·
CA: architectural attributes include the
instruction set, the number of bits used to represent various data types (e.g.,
numbers, characters), I/O mechanisms, and techniques for addressing memory.
·
CO: organizational attributes include those HW
details transparent to the programmer, such as control signals, interfaces
between the computer and peripherals, and the memory technology used.
·
Historically,
a computer was a job title, not a piece of equipment!
·
Requirements
of a computer include process data, store data, move data
between the computer and the outside world and control the operation of
the above.
·
Process
data: the data may take a wide variety of forms, and the range of processing
requirements is broad.
·
Store
data: the computer must temporarily store at least those pieces of data that
are being worked on at any given moment (short term and long term data storage
function).
·
Move
data: When data are received from or delivered to a device that is directly
connected to the computer, the process is known as input/output (I/O),
and the device is known as a peripheral.
·
Move
data: When data are moved over longer distances, to/from a remote device, the
process is known as data communications.
·
Control:
is exercised by the individual(s) who provides the computer with instructions.
·
History
of computers is classified into the mechanical era and the electronic
era.
·
ME: 1600s-1940s.
·
Wilhelm
Schickhard (1623):
o
Astronomer
and mathematician.
o
Automatically
add, subtract, multiply, and divide.
·
Blaise
Pascal (1642):
o
Mathematician.
o
Mass-produced
the first working machine (50 copies).
o
Could
only add and subtract.
o
Maintenance
and labor problems.
·
Gottfried
Liebniz (1673):
o
Mathematician.
o
Improved
on Pascal’s machine.
o
Add,
subtract, multiply, and divide.
·
Charles
Babbage (1822):
o
Mathematician.
o
“Father
of modern computer”.
o
Difference
engine.
§
Government/science
agreement.
§
Automatic
computation of math tables.
o
Analytic
engine.
§
Perform
any math operation.
§
Punch
cards.
§
Modern
structure: I/O, storage, ALU.
§
Add
in 1 second and multiply in 1 minute.
o
Both
engines plagued by mechanical problems.
·
George
Boole (1847):
o
Mathematical
analysis of logic.
o
Investigation
of laws of thought.
·
Herman
Hollerith (1889):
o
Modern
day punched card machine.
o
Formed
Tabulating Machine Company (became IBM).
o
1880
census took 5 years to tabulate.
o
Tabulation
estimates 1890: 7.5 years.
o
Tabulation
estimates 1900: 10+ years.
o
Hollerith’s
machine tabulating machine reduced the 7.5-year estimate to 2 months.
·
Konrad
Zuse (1938):
o
Built
the first working mechanical computer the Z1.
o
Binary
machine.
o
German
government decided not to pursue development due to the WWII already started.
·
Howard
Aiken (1943):
o
Designed
the Harvard Mark I.
o
Implementation
of Babbage’s machine.
o
Built
by IBM.
·
ME
summary:
o
Mechanical
computers were designed to reduce the time required for calculations and
increase accuracy of the results.
o
1st
Drawback: Speed of operation limited by
the inertia of moving parts (gears and pulleys).
o
2nd
Drawback: Cumbersome, unreliable, and expensive.
·
EE:
1940s-????
·
Generation
1 (1946-1957).
o
ENIAC:
Short form of Electronic Numerical Integrator and Computer.
o
ENIAC:
Developed for calculating artillery-firing tables.
o
ENIAC:
Designed by Mauchly and Echert of the
o
ENIAC:
Regarded as the first electronic computer-Colossus probably the first but was
classified until recently.
o
ENIAC
was so big (18,000 tubes+70,000 resistors+10,000 capacitors+6,000
switches+30x50 feet size+140 kW of power rating).
o
ENIAC:
Used a decimal number system.
o
ENIAC:
Programmed by manually setting switches.
o
IAS:
Short form of Institute for Advanced Studies.
o
IAS:
Designed by von Neumann and Goldstine.
o
IAS:
Took idea of ENIAC and developed concept of storing a program in the memory.
o
IAS:
This architecture came to be known as the “von Neumann” architecture/machine
and has been the basis for virtually every machine designed since then.
o
IAS:
1st feature is data and instructions (programs) are stored in a
single read-write (R/W) memory.
o
IAS:
2nd feature is memory contents are addressable by location,
regardless of the content itself.
o
IAS:
3rd feature is sequential execution.
o
IAS:
Lots of initial and long-term fighting over patents, rights, credits, firsts,
etc.
·
Generation
2 (1958-1964).
o
Transistors
widely used.
o
ZSI
(discrete component) used.
o
High-level
languages used.
o
Floating-point
arithmetic.
·
Generation
3 (1965-1971).
o
Introduction
of integrated circuits (ICs).
o
Semiconductor
memory used.
o
Microprogramming
implemented.
o
Multiprogramming
implemented.
·
Generation
4 (1972-1977).
o
Large-scale
integration (LSI) techniques used.
o
LSI:
>1,000 components per IC.
o
Very
LSI (VLSI) also introduced.
o
VLSI:
>10,000 components per IC.
o
Single
board computers.
·
Generation
5 (1978-????).
o
VLSI:
>100,000 components per IC.
o
Ultra
LSI (ULSI) and Giga Scale Integration (GSI) techniques also used.
o
Computer
communication networks developed (LAN, MAN and WAN).
o
Artificial
Intelligence developed.
o
Massively
parallel machines.
·
Summary
of generations.
G |
Example Machines |
HW
|
SW |
Performance |
1 |
ENIAC UNIVAC I UNIVAC II IBM 700 |
Vacuum tubes, magnetic drums, electrostatic tubes
memory |
Machine code, stored programs |
2-4 KB memory, 40 KIPS |
2 |
IBM 7094 PDP-1 |
Transistors, core memory, ZSI |
High level languages |
4-32 KB memory, 200 KIPS |
3 |
IBM 360 370, PDP-2 |
ICs, semiconductor memory, microprocessors, SSI, MSI |
Timesharing, graphics, structure programming |
2-8 MB memory, 1 MIPS |
4 |
IBM 3090 Cray XMP IBM PC Intel 4004-Intel 8088 |
LSI, VLSI, networks, optical disks |
Packaged programs, object-oriented languages, expert
systems |
8-64 MB memory, 10 MIPS, 108 KHz-5 MHz clock speeds |
5 |
Sun Sparc Intel Paragon (80286-Itanium) PowerPC 601-PowerPC G4 |
VLSI, ULSI, GSI, GaAs, parallel systems |
Parallel languages symbolic processing, Artificial
Intelligence |
64 MB-1 GB (currently) memory, 100 MIPS, 6 MHz-1.8
GHz (currently) clock speeds |
·
There
are four basic components of the modern computer system:
1.
HW
component.
2.
SW
component.
3.
Data.
4.
Communication
component.
·
HW
o
Provides
the physical mechanisms to input and output data, for manipulating data, and
for electronically controlling the various input, output, and storage
components.
o
The
most visible part.
o
Keyboard
and mouse is used to provide input of program text and data, as well as for
commands to the computer.
o
A
display screen or printer is used to observe output.
o
These
are all physical components.
o
Calculations
and other operations are performed by a central processing unit (CPU)
inside the computer.
o
Memory
is provided to hold programs and data while processing is taking place.
o
Other
I/O devices, such as disk and tape are used to provide long-term storage of
program and data files.
o
The
CPU itself composed of three subunits:
1.
The
arithmetic logic unit (ALU), where arithmetic and Boolean logical
calculations are performed.
2.
The
control unit (CU), which controls the processing of instructions
and the movement of internal CPU data from one part of the CPU to another.
3.
The
interface unit, which moves program instructions and data between the
CPU and other HW components.
o
In
many computer systems, a bus interconnects the CPU, memory, and all of
the I/O components.
o
A
bus is simply a bundle of wires that carry signals and power between different
components.
o
In
other systems, the I/O modules are connected to the CPU through 1 or more
separate processors known as channels.
o
The
main memory/primary storage/working storage/random access memory (RAM)
holds programs and data for access by the CPU.
o
RAM
is made up of a large number of cells, each numbered and individually
addressable.
o
Each
cell holds a single binary number representing data or an instruction.
o
The
basic size of the cell in most current computers is 8 bits, known as a byte
of memory.
o
In
may systems, for example, 4 bytes of memory combine to form a word.
o
A
single CPU can process only 1 instruction at a time.
o
Multiple
CPUs can increase processing speed by allowing instructions that do not affect
each other to be executed in parallel.
·
SW
o
SW
consists of the programs that tell the computer what to do.
o
Two
major categories of SW are:
1.
System
SW.
2.
Application
SW.
o
System
SW helps user to manage files, to load and execute programs, and to accept
commands from the mouse and keyboard.
o
System
SW program is collectively known as an operating system (OS), and
differs from the application programs, such as MS Word, etc.
o
Windows
2000, Windows XP, UNIX, and LINUX are the best-known examples of an OS.
o
The
application program interface (API), acts as an interface for
application programs and utilities to access the internal services provided by
the OS (such as services, I/O services, data communication services, user
interface services, program execution services, and more).
o
The
kernel module provides many of the internal services.
o
The
remaining services are provided by other modules that are controlled by the
kernel.
o
The
kernel manages memory by locating and allocating space to programs that need
it, schedules time for each application to execute, provides communication between
programs that are being executed, manages/arranges services/resources provided
by other modules, and provides security.
o
The
file management system allocates/manages secondary storage space and translates
file requests from their name-based form into specific I/O requests.
o
The
I/O drivers that comprise the I/O component perform the actual
storage/retrieval of the files.
o
Each
I/O driver controls 1 or more HW devices of similar type.
o
The
OS SW is nearly always stored on a HD but on a few systems, the OS is provided
as a network service when the program is turned on.
o
In
either case, the bootstrap or Initial Program Load (IPL) program in the OS is
stored within the computer using the Read Only Memory (ROM).
o
The
bootstrap program provides the tools to test the system/to load the remainder
of the OS from the disk/network.
o
The
SW is considered intangible although it is stored in the physical medium.
·
Data.
o
The
component, which is being manipulated.
o
It
may be numeric or alphanumeric or graphic or in some other form.
o
It
must be representable to be manipulated by the computer.
·
Communication
component.
o
Most
modern computers do not operate alone.
o
Instead,
they are tied to other computers directly via a network (LAN/MAN/WAN).
o
The
communication component requires both HW and SW.
o
A communication
channel provides the connection between computers.
o
The
channel may be a wire cable, a fiber optic cable, a telephone line, or a
wireless technology, such as infrared (IR) light or radio frequency (RF).
o
Special
I/O HW consisting of a modulator demodulator (modem) or network
interface card (NIC) within the computer serves as an interface
between the computer and the communication channel.
o
The
SW component consists of additional programs within the OS of each computer
that establish a common set of ground rules known as protocols (such as
OSI, TCP/IP, IPX/SX, ATM, NetBios, Netware etc.) that make it possible for each
computer to understand what other computers that they are connected with are
saying.
o
International
standards ensure that the protocols are universally compatible.
o
The
Internet is a measure of the success to which protocols have been standardized.
·
Since
computers all operates so similarly, regardless of size or type, it is not
difficult today to transfer data between these different systems, allowing each
system to do part of the processing for higher overall efficiency (known as the
distributed computing concept).
·
The
fact that different types of computers can work together, share files, and
communicate successfully is known as open computing.
·
Generally,
computers are classified based on its variety sizes, from tiny to monstrous, in
both appearance and power.
·
Traditionally,
they have been classified as mainframes and supercomputers (large
systems), minicomputers and superminis (middle-sized systems) and
personal computers, microcomputers and workstations (small
systems).
·
However,
technology continues to advance rapidly, blurring edges of such
classifications.
·
Mainframes:
Capable of processing data at very fast speeds at MIPS and have access to
billions of data characters.
·
Mainframes:
Principal use is for processing vast amounts of data quickly, thus, obvious
customers are ISPs, banks, insurance companies and manufacturers.
·
Supercomputers: Process data at a speed of BIPS.
·
Supercomputers: Although their number is limited compared to
the cheaper mainframes, they are used for mammoth jobs, such as worldwide
weather forecasting, the census, oil exploration, and military uses.
·
Minicomputers: Smaller computers which are slower and less
costly than mainframes (fall within the price range of many SMEs).
·
Minicomputers: Became known as superminis as their
popularity, power and speed grew until the top of the line.
·
Personal
Computers (PCs): The smallest computers
also known as microcomputers.
·
PCs: The top of the line became known as
supermicros or referred as workstations.
·
The
characteristics used differentiate mainframes and minicomputers are speed, instruction
repertoire, number of CPU registers, word length, main memory size, complexity
of I/O modules, OS complexity, physical size, cost, virtual address space,
secondary memory size, and degree of multiprogramming.
·
Computer
system model can be classified into three models:
1.
von
Neumann model.
2.
Onion
model.
3.
Neural
network (NN) model.
·
Von
Neumann model:
o
Have
3 basic components:
1.
CPU.
2.
Main
memory.
3.
I/O
system.
o
Use
program and data that can be manipulated in computer memory.
o
Use
multipurpose processor to process instruction (sequential) by instruction:
fetch cycle and execute cycle.
o
Use
bus system between memory and CPU: data
and parallel access.
·
Onion
model:
o
Computer
system is distributed into several layers.
·
NN
model:
o
Computer
system is assumed to be equal to human body (brain-nerve cells).
o
NN
is a computational and engineering methodology based on emulating how nature
has implemented biological brain (in particular, the brain’s massively
parallel and learning aspects).
o
CPU
becomes as the brain of computer.