CS 231 - Micro Electronics
Chapter 2: Introduction to Systems Architecture
This lesson discusses some historical concepts about computers, general
definitions of hardware and software types, and basic classes of
important to this lesson:
- Development of automated computing
- General capabilities of a computer
- Hardware components and functions
- Computer system classes
- Application and system software
- Components and functions of networks
The chapter begins with a definition of the title of the book. "Systems architecture describes the structure, interaction, and technology
of computer components." (page 21) It is useful for general computer
users to know something about the subject, even if they do not know
what the subject is called, in order to make good buying decisions. It
is important for IT professionals to know something about it so they
can work with technology and make good decisions about the components
of systems they design, service, or use.
The text begins some history lessons about computers on page 22 with a very general definition of a computer:
- A computer accepts numeric inputs.
- A computer can perform computational functions, like addition and subtraction.
- A computer can communicate the results of its computations.
The author admits that most computers we use can do much more
than these three things, but it is a starting point that allows us to
consider many devices to be computers.
Computing devices were mechanical long before they were
electronic. The text mentions the Difference Engine designed, but never
completely built, by Charles Babbage.
The prototype built by Babbage was capable of doing computations. The
full version would have done more complex calculations, as has been
proven by people who built working models from Babbage's plans.
World War II led to a need for complex calculations that had
to be done quickly, which led to the need for electronic computers. Work on computers
was done by people on both sides of the war, before and afterward.
Watch the video behind the link in the last sentence, and you will
understand that the evolution of computers has been something that has
occurred over a long time, and improvements continue.
On page 26, the text refines its definition of a computer to make it apply to more modern electronic equipment.
- A computer has a general purpose processor.
- A computer has enough storage capacity to hold program instructions and data.
- A computer has flexible communication capability.
The text proceeds to expand on each of these points. A processor is described as having the ability to do computation (math functions), comparison (logical functions), and data movement (storing and moving data from one location to another). Associated vocabulary:
- instruction - a single command to a processor to perform one function
- execution - the action of performing a command
- program - a series of instructions for a processor that may or may not be stored
- general-purpose processor - a processor that can do many kinds of processing
- special-purpose processor - usually a processor that is limited to doing one kind of processing, such as a processor in a kitchen appliance or a car
- formula - a sequence of computation and data movement instructions that solve one kind of problem, such as a formula for computing sales tax in a particular city, county, or state
- algorithm - a set of instructions in which different computations and data movements are performed depending on the data
that are supplied to the computer, such as an algorithm for computing
wages that is dependent on a varying rate of pay based on shift,
holiday hours, and overtime, in addition to a standard formula
- comparisons and branching -
- Programs typically use three structures to accomplish what they do. The simplest structure is sequence: instructions are executed one at a time in a particular order.
- A program may make decisions about what to do, based on the value of an input or the result of an operation. This is called selection. The program must make a comparison between a stored value and the value of the input to make this kind of decision. When the program selects between several possible instructions to run next, this is called branching.
- A program can also choose to run a part of itself several
times, until a condition becomes true that causes it to stop doing
that. This is called iteration or looping.
Computers are typically meant to give results to their users by any of several output mechanisms. Output is often sent to a screen, saved as a file, or sent as an email or text message.
The text moves on with a discussion of various elements of computer hardware. Its presentation is based on the idea that there are four essential functions of computer hardware: processing, storage, external communication, and internal communication.
Most processing in a computer is done by the Central Processing Unit (CPU). The text discusses the classic internal architecture of a CPU:
- Arithmetic Logic Unit (ALU) - the part of the CPU that executes instructions
- Registers - storage areas inside the CPU
- Control Unit - a traffic cop device that reads program
instructions, passes them to the ALU, and moves data to the registers
and to other devices
The system bus is usually a set of copper paths in a motherboard that allows data to flow from one device to another inside the computer. As the text should explain, we pass one bit at a time along each wire or path in the bus to and from the CPU, hard drives, memory, and other internal devices. The number of wires determines the width of the system bus, which determines how much data we can feed each device at once.
Storage on a computer comes in three major types: registers, primary storage, and secondary storage.
- registers - a limited number of storage locations inside a CPU, usually only able to hold one data item or instruction at a time; the contents of registers are lost when a computer is turned off
- primary storage - the working memory of a computer, usually called Random Access Memory (RAM), used for holding instructions and data that the computer is using at the moment; the contents of RAM are lost when a computer is turned off
- secondary storage - usually hard drives, solid state drives,
and/or optical storage discs, typically used to store information that
the computer is not using at the moment, or information for long term
storage; the contents of secondary storage are not lost when the computer is turned off
Input and output
devices are two classic categories of computer equipment, both internal
and external. Some devices do both, such as touch screens.
- input device examples - mice, keyboards, touch pads, microphones, scanners
- output device examples - screens, speakers, printers, headphones
The text breaks most computer models into five computer system classes:
- microcomputer - This class includes what are usually called desktop computers and sometimes called workstations. The text uses the term "personal computer",
which is also correct in that computers in this class are usually
providing service to one person at a time, but that is true of the next
class as well.
- portable - The class includes laptops and notebooks (which are the same thing to most people), as well as netbooks
(computers use primarily for connection to services on a network), and
personal digital assistants (PDAs). This class should also include tablets and smart devices.
- midrange computer (minicomputer) - A computer that is more powerful than a desktop, designed to provide services to multiple network users, typically by running a virtual device on the minicomputer for each connected user. It can typically support dozens of users, and may support hundreds if it is a high end machine.
- mainframe - A networked device that can support hundreds or thousands
of users, depending on the kind of request it is answering. This kind
of device is needed by a large enterprise with many users, perhaps in
- A very powerful, expensive device meant to be used for the most
intensive kinds of calculations and processing, such as video
rendering, weather prediction, and code breaking. This kind of computer
is used when it would take too long for a lesser computer to do the
job. It may be implemented as a collection of clusters of smaller
The text introduces the idea of a cluster of computers on page 38. It defines four related terms:
- cluster - an arrangement of similar
computers that are linked in some way to provide better service (faster
performance), redundant/failover service (in case of hardware failure),
or a required level of service for specific applications; devices in a
cluster are typically located near each other, in one room or one rack
- a blade is typically one of several smalll servers mounted in a
cabinet or rack (a blade enclosure), which each take up less space and
pull less power than similarly capable free standing servers; blade
servers can act like a cluster, but may be easier to configure as a
cluster than a group of free standing machines
- grid - an arrangement of dissimilar
computers which may or may not be in one location, which are connected
by a high speed network, and which may work cooperatively or
- cloud - a computing
solution that includes devices that users operate, and services used by
those users across network connections, typically implemented through
clusters or grids
On page 44, the text turns to software of various types.
Oddly, it begins by discussing the idea of a programmer writing
instructions that have to bridge the gap between human instructions and
machine language. Many programmers use high level languages (such as C)
which are translated in multiple stages before they are understandable
by a machine. Some, however, program devices more directly with low level languages (such as assembly language), which is only about one step removed from machine language.
The text switches direction for a bit to talk about types of software. Most can be classified as one of two types:
- application software - software that serves a particular,
specific purpose, such as communications, word processing, or game
- system software - typically, operating system software,
which serves as an interface between the user, applications, and the
computer hardware; users typically use applications, which make
requests to the operating system, which sends requests to the system
components; some examples of operating systems are Windows, Linux,
UNIX, and OSx
The text another category of software: application development
software. This can be classed as a kind of application itself, but it
is special in that its purpose is the creation of other applications or
The chapter ends with a short discussion of computer networks.
Most networks are either client-server networks or peer to peer
networks. In a client-server network, which is more common, devices
either request services or provide services to other computers. Devices
that request services are clients. Devices that provide services are
servers. In a peer to peer network, all devices can request and provide
services to each other at any time.
In a client-server network, clients need network software to
make requests to use network resources. Servers need network software
as well, but their version allows them to listen for service requests,
answer service requests, and advertise services on the network.