Computer System Architecture
Computer System Architecture
Introduction
Today, we often take for granted the impressive array of computing machinery that
surrounds us and helps us manage our daily lives. Because you are studying computer
architecture and digital hardware, you no doubt have a good understanding of these machines,
and you’ve probably written countless programs on your PCs and workstations. However, it is
very easy to become jaded and forget the evolution of the technology that has led us to the
point where every Nintendo Game Boy has 100 times the computing power of the computer
systems on the first Mercury space missions.
A digital computer consists of an interconnected system of processors, memories, and
input/output devices. This chapter is an introduction to these three components and to the
methods by which computers are interconnected.
Digital Computer
A digital computer is a device for storing and manipulating numbers using a small set of
discrete states of a given physical system. It is the opposite of an analog computer, in which
quantities are represented using a continuous variable. A watch, with blades rotating smoothly
and continuously around the clock face, is a good example of an analog system: any position of
the blades is allowed. In contrast, counting using our fingers is an example of a digital process.
Only full values are meaningful and we don't count using "half a finger". In fact, the word
"digital" comes from "digits". Digital computers count using "digits", i.e. a discrete
representation of numbers.
The earliest example of a digital computer is the Analytical Engine, designed by Charles
Babbage in England in the nineteenth century, but never completed. The Analytical Engine,
stored numbers using rotating wheels. Each of them could represent ten digits, from zero to
nine, depending on its angle relative to the rest position. This was the method used to store
numbers in mechanical calculators until they were replaced by electronic computers and
electronic calculators in the twentieth century.
Modern digital computers operate using the binary system. The only digits needed are
"0" and "1", i.e. the binary digits or "bits". Binary components are usually cheaper and easier to
manufacture than components for other numerical bases. However, when the first digital
computers were built in the USA and in Europe, it was not yet totally clear which technology
should be used for the internal design. The American ENIAC and Mark I computers used binary
signals but also a decimal internal representation for numbers. They were digital computers with
a hybrid numerical base.
A Digital computer is a machine that can perform computation. It is difficult to give a precise
definition of computation. Intuitively, a computation involves the following components:
MICROPROCESSOR: In mainframe computers CU and ALU are both separate units but
since 1971 both units have existed on the same chip. This was the beginning of the
microprocessor era and PC computers. The quality of the microprocessor performance is
measured by several parameters. Two of them are: Clock rate and word size.
CLOCK RATE: The computer has a master clock that determines the speed at which
the microprocessor can execute an instruction. The speed at which the microprocessor
completes an instruction execution cycle is measured in MHz – megahertz (Millions of
cycles per second) or GHz – gigahertz (Billions of cycles per second).
WORD SIZE: The number of bits the microprocessor can manipulate at one time varies
from computer to computer. A microprocessor with a large word size can process more
data in each instruction cycle. (a 32 bits word size computer can process 32 bit data at a
time.)
2) MEMORY
Sri Satya Sai University of Technology & Medical Sciences
Memory is one of the most important elements of every computer. The computer memory is
electronic circuitry that holds data and program instructions until it is their turn to be
processed. There are three types of computer memory: RAM, CMOS, and ROM.
RAM – Random Access Memory: It is a temporary holding area for data before and after
they are processed. It is like scratch paper – volatile (after the computer is turned off all
data is gone). It consists of thousands of circuits that each hold one bit of data. The
computer holds (stores) data in RAM and copies it to the CPU and from the CPU
(processor) back to RAM. RAM is a holder of data and also instructions. When the
processor turns into a “word processor” the instructions for this activity are copied from
the disk to RAM. 32 MB RAM means that the RAM can hold 32 million bytes of data.
ROM – Read Only Memory: A set of chips containing permanent instructions about the
“boot process.” Because RAM is empty at the beginning of the processing, the computer
must have a separate system for loading all the instructions to RAM. All this is done
through the “BOOT PROCESS.” The processor performs step by step instructions that
are given by ROM. The boot process is therefore a series of instructions from ROM that
are preparing the computer to perform its work.
3) BUS:
It is an electronic path that connects the main parts of the computer. The system bus transports
data back and forth between the processor and RAM or hard disk drive. Data bus transports
data between the processor and parts of the computer. A 32-bit bus transports 32 bits of data at
a time. It works like a “normal” bus with 32 seats. (Data bus is a sub-unit of system bus).
4) STORAGE:
None of the computer operations would be useful for practical life if we did not have a place to
store it. The main storage computer device is the hard disk drive. Hard disk drive: It consists of
one or more platters (flat and rigid disks made of aluminum or glass that are coated with
magnetic oxide.) Each platter has a read-write head associated with it. The hard disk drive is
formatted into the tracks, cylinders, sectors and groups of sectors. Tracks are concentric circles
in a disk that hold the data. Cylinders are stacks of tracks in a disk. Sectors are subdivisions of
the platters and tracks (9 sectors each stores 512 bytes) and 40 tracks usually.
Floppy diskette
CD-ROM, CD-RW
DVD
Sri Satya Sai University of Technology & Medical Sciences
Flash memory
Input Devices are the devices using which the user provides input instances. In a programmable
computer, input devices are also used to input programs. Examples: keyboard, mouse.
Output devices notify the user about the outputs of a computation. Example: screen, printer.
Interconnection Structures
A computer consists of a set of components or modules of three basic types (processor,
memory, I/O) that communicate with each other. In effect, a computer is a network of basic
modules. Thus, there must be paths for connecting the modules.
The collection of paths connecting the various modules is called the interconnection structure.
The design of this structure will depend on the exchanges that must be made between modules.
Figure suggests the types of exchanges that are needed by indicating the major forms of input
and output for each module type:
* Memory
* Input/Output
* CPU
exchange data directly with memory, without going through the processor, using direct memory
access (DMA).
Over the years, a number of interconnection structures have been tried. By far the most
common is the bus and various multiple-bus structures.
Computer Architecture
What's Computer Architecture?
Computer Architecture is the science and art of selecting and interconnecting hardware
components to create computers that meet functional, performance and cost goals. Computer
architecture is not about using computers to design buildings.
To understand digital signal processing systems, we must understand a little about how
computers compute. The modern definition of a computer is an electronic device that performs
calculations on data, presenting the results to humans or other computers in a variety of
(hopefully useful) ways.
The generic computer contains input devices (keyboard, mouse, A/D (analog-to-digital)
converter, etc.), a computational unit, and output devices (monitors, printers, D/A converters).
The computational unit is the computer's heart, and usually consists of a central processing unit
(CPU), a memory, and an input/output (I/O) interface.
Thus, computer architecture refers to those attributes of the system that are visible to a
programmer Those attributes that have a direct impact on the execution of a program
Instruction sets
Data representations
Addressing
I/O
Computer Organization
Sri Satya Sai University of Technology & Medical Sciences
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
Computer organization refers to the operational units and their interconnections that
realized the architectural specifications. Examples of architectural attributes include the
instruction set, the number of bits used to represent various data type(e,g, numbers and
character) , I/O mechanisms, and techniques for addressing mode 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.
Computer Organization and Architecture
In describing computer system, a distinction is often made between computer architecture
and computer organization.
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.
Computer organization refers to the operational units and their interconnection that
realize the architecture specification.
Examples of architecture attributes include the instruction set, the number of bit to
represent various data types (e.g.., numbers, and characters), I/O mechanisms, and technique
for addressing memory.
Examples of organization attributes include those hardware details transparent to the
programmer, such as control signals, interfaces between the computer and peripherals, and the
memory technology used.
As an 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
organization decision may be bases 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.
Historically, and still today, the distinction between architecture and organization has
been an important one. Many computer manufacturers offer a family of computer model, all with
the same architecture but with differences in organization. Consequently, the different models in
the family have different price and performance characteristics. Furthermore, an architecture
may survive many years, but its organization changes with changing technology.
Architecture and organization are independent; you can change the organization of a
computer without changing its architecture. For example, a 64-bit architecture can be internally
organized as a true 64-bit machine or as a 16-bit machine that uses four cycles to handle 64-bit
values.
The difference between architecture and organization is best illustrated by a non-
Sri Satya Sai University of Technology & Medical Sciences
computer example. Is the gear lever in a car part of its architecture or organization? The
architecture of a car is simple; it transports you from A to B. The gear lever belongs to the
car’s organization because it implements the function of a car but is not part of that function.
Function Of Computer
The basic function performed by a computer is execution of a program, which consists of
a set of instructions stored in memory. The processor does the actual work by executing
instructions specified in the program. In its simplest form, instruction processing consists of two
steps: The processor reads (fetches) instructions from memory one at a time and executes each
instruction. Program execution consists of repeating the process of instruction fetch and
instruction execution. The Instruction execution may involve several operations and depends on
the nature of the instruction.
The processing required for a single instruction is called an instruction cycle. Using the
simplified two-step description given previously, the instruction cycle is depicted in Figure
4. Store results
Also called write back to memory. The result generated by the operation is stored in the main
memory, or sent to an output device. Based on the condition feedback from the ALU, the PC is
either incremented to address the next instruction or updated to a different address where the
next instruction will be fetched. The cycle is then repeated.
Fetch cycle
Steps 1 and 2 of the Instruction Cycle are
called the Fetch Cycle. These steps are the
same for each instruction. The fetch cycle
processes the instruction from the
instruction word which contains an opcode
and an operand.
Execute cycle
Steps 3 and 4 of the Instruction Cycle are
part of the Execute Cycle. These steps will
change with each instruction.
The first step of the execute cycle is the
Process-Memory. Data is transferred
between the CPU and the I/O module. Next
is the Data-Processing uses mathematical
Sri Satya Sai University of Technology & Medical Sciences
operations as well as logical operations in reference to data. Central alterations is the next step,
is a sequence of operations, for example a jump operation. The last step is a combined operation
from all the other steps.
Compiler
languages were
also developed for
the second
generation
computers.
What is in store for the future? The computer industry still has a long way to go in the field of
miniaturization. You can expect to see the power of large mainframe computers on a single super
chip. Massive data bases, such as the Navy's supply system, may be written into read-only
memory (ROM) on a piece of equipment no bigger than a desktop calculator (more about ROM in
chapter 2). The future challenge will not be in increasing the storage or increasing the
computer's power, but rather in properly and effectively using the computing power available.
This is where software (programs such as assemblers, report generators, subroutine libraries,
compilers, operating systems, and applications programs) will come into play (see chapter 3).
Some believe developments in software and in learning how to use these extraordinary, powerful
machines we already possess will be far more important than further developments in hardware
over the next 10 to 20 years. As a result, the next 20 years (during your career) may be even
more interesting and surprising than the last 20 years.
The summary of Generations of Computer
* Vacuum tube - 1946-1957
* Transistor - 1958-1964
* Small scale integration: 1965
Up to 100 devices on a chip
* Medium scale integration: -1971
100-3,000 devices on a chip
* Large scale integration :1971-1977
3,000 - 100,000 devices on a chip
* Very large scale integration: 1978 -1991
100,000 - 100,000,000 devices on a chip
* Ultra large scale integration : 1991
Over 100,000,000 devices on a chip