0% found this document useful (0 votes)
22 views26 pages

Unit 1

The document provides an overview of computer architecture and its key components. It discusses how computers are divided into the processor, memory, and I/O subsystem. The processor executes programs, memory provides storage for programs and data, and the I/O subsystem allows interaction with external devices. Programs are translated from high-level languages to machine code by compilers and linkers in order to be executed by the processor. Large programs are divided into modules that are compiled and linked together during the translation process.

Uploaded by

Frederick
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views26 pages

Unit 1

The document provides an overview of computer architecture and its key components. It discusses how computers are divided into the processor, memory, and I/O subsystem. The processor executes programs, memory provides storage for programs and data, and the I/O subsystem allows interaction with external devices. Programs are translated from high-level languages to machine code by compilers and linkers in order to be executed by the processor. Large programs are divided into modules that are compiled and linked together during the translation process.

Uploaded by

Frederick
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

COMPUTER ARCHITECTURE

UNIT 1
COMPUTER ORGANIZATION

1
INTRODUCTION TO COMPUTER
ARCHITECTURE
• Computer systems are divided into three main subsystems:
 The processor
 The memory
 The input-output subsystem.

2
• The processor is responsible for program executions, the memory provides space
for programs and the data they reference, and the I/O subsystem allows the
processor and memory to control devices that interact with the outside world or
store data.
• On the motherboard, all the components are interconnected by buses (signal
highways).
• The lowest level in a computer is its hardware – the electronic circuits from which
it is made.
• The lowest level is its architecture in the interconnection of hardware elements
and the structure and features provided by someone using the machine (some
people refer to this as hardware also).

3
• The highest level is the software. It is the deference of instructions or programs
that make the computer to do useful work.
• Most computers in use today are digital as opposed to analog. An analog computer
represents numbers by a continuous varying phenomenon, such as pressure,
position or voltage.
•  An electronic analog computer performs a computation by means of electrical
circuits whose operating characteristics emulate the desired computation. E.g.
Addition of 2 numbers can be emulated by a circuit whose voltage is the sum of
two (2) inputs.

4
• The most distinguishiThe distinguishing characteristic of a digital computer is that
it stores and manipulates entities representing digits. Most of the physical
phenomena that have been exploited I modern computer technology have one of
two (2) stable states; thereby representing one of two digits. Hence digital
computers process digits using the binary mode. A bit has two values. That is 0 or
1, the 0 state and the 1 state, the lowest state and the highest state, closed state and
the opened state; false and the true state.

5
• The most distinguishing character of any computer system is its size: not the physical
size but its computing capacity. The size of a computer system is the amount of
processing that can be accomplished by a computer system per unit of time.
• Mini computers have greater computing capacities than microcomputers. Mainframe
computers have greater computing capacities than minicomputers. Supercomputers are
the biggest of all.
• All computers, no matter how small or large, have the same functional capabilities ie
processing, storage, input and output. Microcomputers use micro processors: it is a
product of the micro miniature form of electronic circuit, it is literally called microchip.
• Microcomputers that give users the flexibility to configure the system with a variety of
peripherals are said to have an open architecture or bus … otherwise it might have a
closed architecture.

6
The Von Neumann Inheritance and Automata Theory

• Computers are machines whose actions are governed by a program. A program is


simply a carefully prepared list of instructions. All types of digital computers are
fundamentally similar in this regard.
• These instructions can only be understood by the computer if they are in special
binary form. Compilers are used to generate this binary format. From programs
expressed in a more convenient manner.
• Data also has to be manipulated and stored in binary format. For users, the
personality of a computer depends more on the operating system software than the
underlying hardware.

7
• The fundamental structure of the current generation of digital computers, software
and hardware, is credited to John Von Neumann. Certainly, it was Von Neumann’s
clear description and explanations through automata theory and other
mathematical models which first captured the imagination of engineers and
scientists during the 1940s. the essential scheme: input – process – output was all
to be controlled by a special, custom-made program.
• The first working electrical digital computer was constructed in the late 1930s.
John Von Neumann proposed the use of binary (base 2) for numeric
representation, more suited to be implemented by electronic switches than the
normal base 10.

8
• The electro-mechanical computing was the genesis of computing using electro-
mechanical relays. From there to the use of mercury filled. The revolution went on
to the matrix of permanent magnets then to transistors and finally to the integrated
circuits with millions of capacitors on a single chip.
• Von Neumann’s original idea was that of an executable program controlling the
action of a general-purpose machine. In this context, a program is a list of
instructions used to direct a task. The complex activities of a computer are only
possible through a close interaction of hardware and software. While the software
is stored in memory, the Central Processing Unit (CPU) has the hardware which
actually executes the program instructions.
• Most computers employ general-purpose hardware and so depend on different
programs, rather than hardware to produce a particular action required. In order to
store the program in memory and render it “understandable” to the computer
(CPU) the instructions and data have to be in a special coded form

9
Instruction Codes - Machine Action Repertoire
• Computers have a small fixed repertoire of instructions, known as the machine
instruction set. Every manufacturer such as IBM, Intel or Sun designs and
produces computers containing a CPU which has its own native instruction set.
This typically includes between 100 and 200 instructions. There is no standard
instruction set recognized by the industry in the way that the ASCII and Unicode
data codes have been universally accepted. Because of this varying instruction
codes, there was great enthusiasm for the development of standardized High Level
Languages (HLL). An example of these high level languages is the Assembler.
•  The major problem that presented itself to the early pioneers when it came to
testing the first digital computers using programs was how to introduce the set of
instructions into the machines memory. Programs were written by hand in binary
and manually entered into memory using a row of toggle switches.

10
Translation – Compilers and Assembler
• Most programs are now written using HLL such as C, C++, Java or BASIC.
Programs called compilers translate these HLL instructions into machine code –
binary, capable of being executed directly on the computer. Compilers have
become critical components of computer systems, often determining how
efficiently the hardware will be exploited by the programmers. Before HLL
compilers were widely available, programmers used assembler. This also had the
advantage of removing the need to write programs directly in binary machine
code. In assembler language each machine code instruction is given a mnemonic
name, such as ADD, SUB or MOVE and so on. The program is written as a list of
mnemonics which can easily be converted into their corresponding binary
machine codes.

11
• The translation of HLL instructions into machine codes is now done automatically
by another program as shown below.

• This translation can be done on-the-fly by an interpreter or beforehand by a


compiler.

12
Linking – Bring it all together

• Because programs have grown so big, requiring many years of efforts to produce,
they are now divided, at the start of the project, into several separate parts or
modules. In order to produce a runnable program, each module has to be
designed, coded and compiled, and then the resulting parts are joined together by
the linker. This means the linking up process is not simply splicing together the
pieces, but involves resolving external references.
• When a large program is partitioned into modules there will be frequent occasions
when code in one module needs to reference data or subroutines in a sister module
(see fig below). Compilers only translate one module at a time.

13
LARGE PROGRAM PARTITION INTO MODUES

14
• when the compiler tries to determine a numeric equivalent for these symbolic
references, it will discover that no values are available within the current module.
The unresolved symbols are known as external references and remain symbolic
(not numeric) until the linker gets to work, sorting out the references to items in
other modules.

• The linker phase is often overlooked by programmers because the compiler may
automatically pass onto the linker with no user involvement. If you consider the
Unix cc command, which compiles and links code, it is easy to read it as “compile
C”, without adding “and link too if possible”. The use of library routines always
results in inter-module external references in need of resolution by the linker

15
The System Bus

• The signals sent out by the CPU along the system bus are separated
into three distinct groups
Data bus – usually 32bits or 64bits wide
Address bus - 32bits wide
Control bus - about 15 lines responsible for starting and stopping activities.

One of the control bus lines is the System Clock. It is generated by a high –
frequency crystal oscillator which is identified on the motherboard as a small silver
cylinder, often situated close to the CPU.
• The CPU usually starts an operation by sending signals along the bus wires to
other units. These units then respond by signaling back along the bus lines.
Sometimes an action is triggered by a non- CPU units, which may take control of
the bus for a while at the expense of the CPU.
• The sequence of bus signals ,must follow a very precise timing pattern. If the
timing is completely locked into the system clock signal the bus is termed
‘synchronous’
Synchronous Buses and Asynchronous Buses

• Synchronous Buses require all attached units. Memory and i/o chips to operate at
the same speed. This arrangement is quite simple to implement from the hardware
viewpoint, but lacks the flexibility to easily accommodate a range of devices
operating at a variety of speed.
•  Asynchronous Buses are more flexible but more complicated. They allow the
CPU to adopt its cycle period to the speed of the units with which it is actively
communicating. The important difference between the system is the removal of
the centralized system clock and the introduction of Address Latch Enable (ALE)
and Data Transfer Acknowledge (DTA).
Address Latch Enable (ALE)

• ALE is controlled by the CPU and is used to indicate units on the bus when the
address signal is valid. (It actually fulfils parts of the role of the system clock.

• The data signals does not emerge from the CPU, it is generated by the bus units. It
tells the CPU when the data write has been completely successfully, or when the
data is valid
The memory System

• The memory system acts as a storage area for the data and programs used by the
computer. Most computers have two types of memory:
Read-only memory (ROM)
Random -Access Memory (RAM).

• The contents of ROM cannot be modified by the computer but may be read. In
general, ROM is used to hold a program, called the bootstrap, that is executed
automatically by the computer every time it is turned on or reset.
• The bootstrap or ‘boot’ loader instructs the computer to load its operating system
off of its hard disk or other I/O device.
• The Ram can be both Read and written, and is used to hold the programs,
operating system, and data required by the computer. RAM is volatile, i.e. it does
not retain the data stored on it when the computer’s power is turned off.

• Memory (both RAM and ROM) is divided into a set of storage locations, each of
which can hold byte (8 bits) of data. The storage locations are numbered, and the
number of a storage location (called its address) is used to tell the memory
system which location the processor wants to reference.
• Most computers allow more than 1 byte of memory to be loaded are stored one
time. Generally, a load or store operation operates on a quantity of data equals to
the system’s bit width, and the address sent to the memory system specifies the
location of the lowest-addressed byte of data to be loaded or stored
The Input/Output Subsystem

• The I/O subsystem contains the devices that the computer uses to communicate with
the outside world and to store data, including hard disks, video displays, printers and
tape drives
• I/O devices communicate with the processor through an I/O bus, which is separate
from the memory bus that the processor uses to communicate with the memory
system.
• The use of I/O bus allows a complete to interface with a wide range of I/O devices
without having to implement a specific interface for each I/O devices.
• An I/O bus can also support a variable number of devices, allowing users to add
devices to a computer after it has been purchased. All that is required is a device
driver for each operating system – a program that allows the operating system to
control the I.O devices.
• The downsides of using an I.O bus interface to I/O devices is that all of the I/O
devices on a computer must share the I/O bus and I/O buses are slower than
dedicated connections between the processor and an I/O device because I/O buses
are designed for maximum compatibility and flexibility.
Data Representation and computer Arithmetic

• The CPU has two main components:


The control unit (CU)
 The Arithmetic and logic Units (ALU)

• The ALU provides arithmetic and logic processing for the computer. The ALU is
an electronic component of the computer and thus is based on the use of simple
digital logic devices that can store binary digits and perform simple Boolean logic
operations.
Control Unit ALU
Flags
Registers Registers

• Data are presented to the ALU in registers and the results of an operation are stored in
registers.
• These registers are temporary storage locations within the processor that are
connected by signal paths to the ALU. The ALU may also set flags as the result of an
operation.
• The flag values are also stored in register within the processor. The CPU provides
signal that control the operation of the ALU and the movement of the data into and
out of the ALU.

You might also like