1. Basic Computer Architecture Models
The 5 Component Model
A computer system can be divided into 5 components:
- Hardware
- Software
- Data
- Procedures
- Personnel
In studying Computer Systems' Architecture, only the first 3 of these are of direct interest.
Hardware
- Processor
- a.k.a. CPU / Central Processing Unit
- Components:
- ALU / Arithmetic Logic Unit: arithmetic & Boolean logic operations
- CU / Control Unit: instruction processing sequencing and control
- Interface Unit: (internal) bus structure
- Alternate View
- Execution Unit: instruction circuits (including ALU)
- Control Unit: instruction retrieval, sequencing, and EU sub-circuit selection
- Registers: limited, quick-access data "containers" and "flags"
- Internal Bus Interface
- Input & Output Devices
- Actual electrical or electro-mechanical IO devices (e.g. keyboards, printers, video
monitor) will not be considered as significant in our study of Computer Systems'
Architectures.
- Input & Output Interface
- External Bus Structure
- collection of "wires" that carries power and signals
between different computer components
- Channel
- separate, special purpose IO processor connecting an IO device
to the CPU (or "main memory"); may perform signal conversion,
timing control, buffering, etc.
- Communications
- direct/indirect connection to other computer systems based on
pre-agreed upon "protocol" (shared rules for how communication is
to take place
- Storage / Memory
- (Main) Memory / Primary Storage
- addressed cells
- each containing a binary pattern
- units:
- byte
- (typically 8 "bits") - character
- word
- (typically 32 "bits" but many different sizes are found on different
computer systems) - basic numeric unit; basic unit of data transfer
- Kbytes
- 210 bytes (1024)
- Mbytes
- 220 bytes (1,048,576)
- Gbytes
- 230 bytes (1,300,109,824)
- usage:
-
- "active" data and instructions (i.e. instructions and data currently being
processed
- John vonNeumann & stored program concept vs. Babbage's engine with
separate data and instruction stores
- RAM vs. ROM
- ROM is non-modifiable (by normal computer operation)
- (Secondary) Storage
- long-term (inactive) data and program storage
- examples: disk, tape, CD
- units: typically stored in "blocks" of multiple words/bytes (physical records)
| REGISTERS | MAIN MEMORY | SECONDARY STORAGE |
SPEED | very fast | fast | slow |
DURATION | very short-term | short-term (while program is active) | long-term |
POWER DOWN EFFECT | data lost | RAM- data lost; ROM - data maintained | maintained |
SIZE OF UNIT TRANSFERRED | bit, byte, or word | byte or word | physical record most common |
ALU ACCESS | yes | indirect only | no |
Software
- System Software
- Operating System
- Utilities (may be built into OS or external programs)
- Application Software
- Application tools: word processors, spreadsheet managers, etc.
- Corporate applications: in-house systems e.g. inventory management
- High-level vs. Machine-level Software
- High-level: "source" instructions in a language such as COBOL
- Machine-level: binary patterns with no immediate human meaning
- High-level instructions must be converted into Machine-level instructions before they
can be processed by a "processor"; this conversion is a one-to-many process
- Instruction Classes
- data transfer (copying data)
- data transform (modifying data)
- instruction flow control (changing the default sequence)
Data
One of the major requirements of any computer system is the ability to represent and
manipulate values ("data").
In general, digital computers (the only type considered in
this course) represent values as patterns of "off" and "on" signals. Each value
requires a different pattern (or, at least, a pattern which is different from any
other value of the same type). Different types of values generally are represented
using different "encoding schemes". An "encoding scheme" specifies how many
"off" and "on" signals are required for each value, and provides a unique pattern
of signals for each possible value.
Data vs. Information
Two terms common in any discussion of computer systems are "data" and "information". The
difference in meaning between these two terms is based on the concept that "information" is
"data" which has "meaning" to someone (or something) outside of the computer system.
"Information" is "data" which has meaning. The most common task of a computer system
(especially when the input source and the output destination are the same) is to transform data
into information. In fact, this is sometimes used as the basis for alternative definitions of a
computer system .
The concept of "meaning" can be difficult. Generally, we think of "meaning" as implying that
something with intelligence exists for which the "data" has meaning. When the output of a
computer system is the automated control of some other system (as in CAD, Computer Aided
Manufacturing), we end up debating, the unresolved question of what is meant by "intelligence".
1. The IPO(S) Model
A computer system can be thought of as a collection of components which together are capable of
3 operations: Input, Processing, and Output. A fourth operation, Storage, is also required for
practical computer systems.
Note that the IPO(S), Input-Process-Output(-Storage), model is applied to at least two different
areas:
- the collection of "equipment" that makes up a computer system
- the "actions" that a computer system is capable of performing.
Input:
A computer system must include a method for accepting "data" and "instructions" from outside
the system.
Power or energy sources required to enable operation of the computer system
are not "inputs".
Processing:
A computer system must include the ability to change or "transform" data which has been input.
These "transformations" typically include (but are not limited to)
- selecting subsets of the data
- counting and accumulating totals of selected data values
- re-arranging the sequence or "format" of data
Output:
A computer system must include the ability to send processed data to outside the system in a form
that can be used by the "outside world". This "outside world" might be the human "users" of the
computer system, but alternatively could be electrical or mechanical controls for automated
equipment, or the "inputs" for some other system.
Storage:
We would not normally consider a collection to be a computer system unless it included some
form of memory of previous input or processed data. For example, system composed of an
electrical power supply, an on/off switch, a light bulb, and appropriate wiring to connect the other
three components would not normally be considered to be a computer system (although it
contains IPO elements of a basic form). Replacing the on/off switch with a "toggle button",
which would reverse the current on/off "state" of the light, would give us something closer to a
computer system.
For the purposes of this course memory (or "storage") will be considered to be an essential
element of any computer system.