Chapter One
Basic Concepts and
Computer Evolution
1.1 Organization and Architecture
• Computer architecture refers to those attributes of a
system visible to a programmer or, put another way,
those attributes that have a direct impact on the logical
execution of a program.
• A term that is often used interchangeably with computer
architecture is instruction set architecture (ISA).
• The ISA defines instruction formats, instruction
opcodes, registers, instruction and data memory; the
effect of executed instructions on the registers and
memory; and an algorithm for controlling instruction
execution.
Cont…
• Computer organization refers to the operational
units and their interconnections that realize the
architectural specifications.
• Examples of 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.
• Organizational attributes include those hardware
details transparent to the programmer, such as control
signals; interfaces between the computer and
peripherals; and the memory technology used.
Cont…
• For example, it is an architectural design issue
whether a computer will have a multiply
instruction. It is an organizational issue whether
that instruction will be implemented by a special
multiply unit or by a mechanism that makes
repeated use of the add unit of the system.
• The organizational decision may be based on the
anticipated frequency of use of the multiply
instruction, the relative speed of the two
approaches, and the cost and physical size of a
special multiply unit.
Cont…
• Historically, and still today, the distinction between
architecture and organization has been an important
one. Many computer manufacturers offer a family of
computer models, all with the same architecture but
with differences in organization.
• Consequently, the different models in the family
have different price and performance characteristics.
• Furthermore, a particular architecture may span
many years and encompass a number of different
computer models, its organization changing with
changing technology.
1.2 Structure and Function
• A computer is a complex system; contemporary
computers contain millions of elementary electronic
components.
• A hierarchical system is a set of interrelated subsystems,
each of the latter, in turn, hierarchical in structure until
we reach some lowest level of elementary subsystem.
• The hierarchical nature of complex systems is essential
to both their design and their description. The designer
need only deal with a particular level of the system at a
time. At each level, the system consists of a set of
components and their interrelationships.
Cont…
• The behavior at each level depends only on a simplified,
abstracted characterization of the system at the next lower
level. At each level, the designer is concerned with structure
and function:
• ■■ Structure: The way in which the components are
interrelated.
• ■■ Function: The operation of each individual component
as part of the structure.
• In terms of description, we have two choices: starting at the
bottom and building up to a complete description, or
beginning with a top view and decomposing the system into
its subparts. Evidence from a number of fields suggests that
the top-down approach is the clearest and most effective
Function
• Both the structure and functioning of a computer are, in
essence, simple. In general terms, there are only four
basic functions that a computer can perform:
• Data processing: Data may take a wide variety of forms,
and the range of processing requirements is broad.
However, we shall see that there are only a few
fundamental methods or types of data processing.
• Data storage: Even if the computer is processing data on
the fly (i.e., data come in and get processed, and the
results go out immediately), the computer must
temporarily store at least those pieces of data that are
being worked on at any given moment.
Cont…
• Thus, there is at least a short-Term data storage function.
Equally important, the computer performs a long-term data
storage function. Files of data are stored on the computer for
subsequent retrieval and update.
• Data movement: The computer’s operating environment
consists of devices that serve as either sources or destinations
of 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 referred to as a peripheral.
When data are moved over longer distances, to or from a
remote device, the process is known as data communications.
Cont…
• Control: Within the computer, a control unit
manages the computer’s resources and
orchestrates the performance of its functional
parts in response to instructions.
Structure
• We now look in a general way at the internal structure of a
computer. We begin with a traditional computer with a single
processor that employs a microprogrammed control unit, then
examine a typical multicore structure.
• simple single-processor computer Figure 1.1 provides a
hierarchical view of the internal structure of a traditional single-
processor computer. There are four main structural components:
• Central processing unit (CPU): Controls the operation of the
computer and performs its data processing functions; often
simply referred to as processor.
• Main memory: Stores data.
Cont…
• I/O: Moves data between the computer and
its external environment.
• System interconnection: Some mechanism
that provides for communication among CPU,
main memory, and I/O. A common example of
system interconnection is by means of a
system bus, consisting of a number of
conducting wires to which all the other
components attach.
Figure 1.1 The Computer: Top-
Level Structure
Cont…
• The most interesting and in some ways the most
complex component is the CPU. Its major
structural components are as follows:
• Control unit: Controls the operation of the CPU
and hence the computer.
• Arithmetic and logic unit (ALU): Performs the
computer’s data processing functions.
• Registers: Provides storage internal to the CPU.
• CPU interconnection: Some mechanism that
provides for communication among the control
unit, ALU, and registers.
Cont…
• multicore computer structure As was mentioned,
contemporary computers generally have multiple processors.
When these processors all reside on a single chip, the term
multicore computer is used, and each processing unit
(consisting of a control unit, ALU, registers, and perhaps
cache) is called a core.
• To clarify the terminology, this text will use the following
definitions.
• Central processing unit (CPU): That portion of a computer
that fetches and executes instructions. It consists of an ALU, a
control unit, and registers.
• In a system with a single processing unit, it is often simply
referred to as a processor.
Cont…
• Core: An individual processing unit on a processor chip. A
core may be equivalent in functionality to a CPU on a
single-CPU system. Other specialized processing units,
such as one optimized for vector and matrix operations, are
also referred to as cores.
• Processor: A physical piece of silicon containing one or
more cores. The processor is the computer component that
interprets and executes instructions. If a processor contains
multiple cores, it is referred to as a multicore processor.
• Another prominent feature of contemporary computers is
the use of multiple layers of memory, called cache memory,
between the processor and main memory.
Cont…
• Cache memory is smaller and faster than main
memory and is used to speed up memory
access, by placing in the cache data from main
memory, that is likely to be used in the near
future.
• A greater performance improvement may be
obtained by using multiple levels of cache, with
level 1 (L1) closest to the core and additional
levels (L2, L3, and so on) progressively farther
from the core. In this scheme, level n is smaller
and faster than level n + 1.
Cont…
• Figure 1.2 is a simplified view of the principal components
of a typical multicore computer.
• Most computers, including embedded computers in
smartphones and tablets, plus personal computers, laptops,
and workstations, are housed on a motherboard. Before
describing this arrangement, we need to define some terms.
• Figure 1.2 is a simplified view of the principal components
of a typical multicore computer. Most computers, including
embedded computers in smartphones and tablets, plus
personal computers, laptops, and workstations, are housed
on a motherboard. Before describing this arrangement, we
need to define some terms.