CSC 205 - 1
CSC 205 - 1
CSC 205 - 1
by
© 2021
Basic Concepts and Computer Evolution
Organization and Architecture
The study of Computer Architecture is the study of the organization and
interconnection of components of computer systems. Computer architects
construct computers from basic buildings blocks such as memories, arithmetic
units and buses.
Ø Computer Architecture refers to those attributes of a system that have a
direct impact on the logical execution of a program. Examples:
– Control signals
– the instruction set
– the number of bits used to represent various data types
– I/O mechanisms
– memory addressing techniques
Ø Computer Organization refers to the operational units and their
interconnections that realize the architectural specifications. Examples are
things that are transparent to the programmer:
– Control signals
– Interfaces between computer and peripherals
– The memory technology being used
Structure and Function
We begin with the major components of a computer, describing their structure
and function, and proceed to successively lower layers of the hierarchy. The
remainder of this section provides a very brief overview of this plan of attack.
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.
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.
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.
The First Generation Computer: Vacuum Tubes
The first generation of computers used vacuum tubes for digital logic elements
and memory. A number of research and then commercial computers were built
using vacuum tubes. For our purposes, it will be instructive to examine perhaps
the most famous first-generation computer, known as the IAS computer.
In 1946, von Neumann and his colleagues began the design of a new stored-
program computer, referred to as the IAS computer, at the Princeton Institute for
Advanced Studies. The IAS computer, although not completed until 1952, is the
prototype of all subsequent general-purpose computers.
The contents of this memory are addressable by location, without regard to the
type of data contained there.
With rare exceptions, all of today’s computers have this same general structure
and function and are thus referred to as von Neumann machines.
Thus, it is worthwhile at this point to describe briefly the operation of the IAS
computer. the terminology and notation of von Neumann are changed in the
following to conform more closely with modern usage.
The memory of the IAS consists of 1000 storage locations, called words, of 40
binary digits (bits) each. Both data and instructions are stored there. Numbers are
represented in binary form, and each instruction is a binary code. A word may
also contain two 20-bit instructions, with each instruction consisting of an 8- bit
operation code (opcode) specifying the operation to be performed and a 12-bit
address designating one of the words in memory (numbered from 0 to 999).
The control unit operates the IAS by fetching instructions from memory and
executing them one at a time. the control unit and the ALU contain storage
locations, called registers, defined as follows:
Figure 3 IAS Structure
Memory address register (MAR): Specifies the address in memory of the word
to be written from or read into the MBR.
Instruction register (IR): Contains the 8-bit opcode instruction being executed.
Instruction buffer register (IBR): Employed to hold temporarily the right hand
instruction from a word in memory.
The IAS computer had a total of 21 instructions, which are listed in Table 1
below. These can be grouped as follows:
Data transfer: Move data between memory and ALU registers or between two
ALU registers.
Address modify: Permits addresses to be computed in the ALU and then inserted
into instructions stored in memory. This allows a program considerable
addressing flexibility.
Table 1 The IAS Instruction Set
The first major change in the electronic computer came with the replacement of
the vacuum tube by the transistor. The transistor, which is smaller, cheaper, and
generates less heat than a vacuum tube, can be used in the same way as a vacuum
tube to construct computers. Unlike the vacuum tube, which requires wires, metal
plates, a glass capsule, and a vacuum, the transistor is a solid-state device, made
from silicon.
Later Generations
Embedded Systems: The term embedded system refers to the use of electronics
and software within a product, as opposed to a general-purpose computer, such
as a laptop or desktop system. Types of devices with embedded systems are
almost too numerous to list. Examples include cell phones, digital cameras, video
cameras, calculators, micro- wave ovens, home security systems, washing
machines, lighting systems, thermostats, printers, various automotive systems
(e.g., transmission control, cruise control, fuel injection, anti-lock brakes, and
suspension systems), tennis rackets, toothbrushes, and numerous types of sensors
and actuators in automated systems.
Figure 4 Organization of an Embedded System
Computer System
At a top level, a computer consists of CPU (central processing unit), memory,
and I/O components, with one or more modules of each type. These components
are interconnected in some fashion to achieve the basic function of the computer,
which is to execute programs. Thus, at a top level, we can characterize a computer
system by describing (1) the external behavior of each component, that is, the
data and control signals that it exchanges with other components, and (2) the
interconnection structure and the controls required to manage the use of the
interconnection structure.
Bus Interconnection
A bus is a communication pathway connecting two or more devices. A key
characteristic of a bus is that it is a shared transmission medium. Multiple devices
connect to the bus, and a signal transmitted by any one device is available for
reception by all other devices attached to the bus. If two devices transmit during
the same time period, their signals will overlap and become garbled. Thus, only
one device at a time can successfully transmit. Typically, a bus consists of
multiple communication pathways, or lines. Each line is capable of transmitting
signals representing binary 1 and binary 0. Over time, a sequence of binary digits
can be transmitted across a single line.
Data lines provide a path for moving data among system modules. These lines,
collectively, are called the data bus.
Address lines are used to designate the source or destination of the data on the
data bus. For example, if the processor wishes to read a word (8, 16, or 32 bits)
of data from memory, it puts the address of the desired word on the address lines.
Clearly, the width of the address bus determines the maximum possible memory
capac- ity of the system.
Control lines are used to control the access to and the use of the data and address
lines. Because the data and address lines are shared by all components, there must
be a means of controlling their use. Control signals transmit both com- mand and
timing information among system modules. Timing signals indicate the validity
of data and address information. Command signals specify operations to be
performed. Typical control lines include:
▪ Memory write: causes data on the bus to be written into the addressed
location.
▪ Memory read: causes data from the addressed location to be placed on the
bus.
▪ I/O write: causes data on the bus to be output to the addressed I/O port.
▪ I/O read: causes data from the addressed I/O port to be placed on the bus.
▪ Transfer ACK: indicates that data have been accepted from or placed on the
bus.
▪ Bus request: indicates that a module needs to gain control of the bus.
▪ Bus grant: indicates that a requesting module has been granted control of the
bus.
▪ Interrupt request: indicates that an interrupt is pending.
▪ Interrupt ACK: acknowledges that the pending interrupt has been recognized.
Universal Serial Bus (USB) : interface provides a simple (from the user's
viewpoint) interface for connecting a wide variety of peripheral devices to a
computer system. USB cables have easily identifiable connector types and
support hot-plugging (plugging devices together while powered on). USB devices
are self-configuring, and, in most cases, users do not need to concern themselves
with installing device drivers when attaching a new device to a computer with a
USB cable.