This document provides an overview of the CSC204 module on computer architecture and assembly language. It covers the module description, assessment criteria, objectives, and content including computer components, the Von Neumann model, CPU organization, and functional units. The key topics are computer architecture, assembly language programming, computer organization, and how computers work at different levels of abstraction from the digital logic level to the user level.
4. Why do we study
CSC204:Computer Architecture and Assembly
Language Programming?
4
5. • This module is aimed to teach students how computer
works internally and Computer organization.
• We must become familiar with how various circuits and
components fit together to create working computer
systems. We do this through the study of computer
architecture and assembly language.
5
6. OBJECTIVES
• Having successfully completed the module; students should be
able to demonstrate knowledge and understanding of:
• Criticize various computer architectures, their merits and
demerits.
• Describe different computer components
• Assembly Language Programming
• Use ICT in research, preparation and presentation of
coursework
• Use current knowledge for further acquisition of advanced
knowledge.
• Explain acquired knowledge to future learners in effective
manner. 6
7. COURSE CONTENT
• Part 1: Computer Architecture II
• Functional components of computers based on the Von
Neumann architecture, control unit, ALU,CPU registers,
control signals, Interrupts, Memory, Buses and device
controllers, Bus standards, Serial and parallel interfaces.
• RISC/CISC architectures,
• Special purpose co-processors,
• Multiprocessor systems.
7
8. COURSE CONTENT(cont.)
• Part 2: Assembly Language Programming
• Concepts and instruction formats: Instruction sets,
instruction types, Memory organization and various
addressing schemes, absolute, relative, indexed, indirect
etc.
• Implementation of high level language operations and
constructs in assembly language.
• Stacks and Stack operations.
• Procedures and parameter passing.
• I/O instructions and device handling.
• Hardwired and Microprogramming.
• Pipelining.
8
10. 1.1 OVERVIEW
• Computer organization
– Computer organization addresses issues such as
control signals (how the computer is controlled),
signalling methods, and memory types.
– It encompasses all physical aspects of computer
systems.
– Computer organization examines the computer as a
collection of interacting “functional units”
– Functional units may be built out of the circuits
already studied.
– It helps us to answer the question :How does a
computer work?
10
11. 1.1 OVERVIEW(cont.)
• Computer architecture
– It focuses on the structure and behaviour of the
computer system and
– It refers to the logical aspects of system
implementation as seen by the programmer.
– Computer architecture includes many elements such as
instruction sets and formats, operation codes, data
types, the number and types of registers, addressing
modes, main memory access methods, and various I/O
mechanisms.
– Studying computer architecture helps us to answer the
question: How do I design a computer? 11
12. 1.1 OVERVIEW(cont.)
• The computer architecture for a given machine is the
combination of its hardware components plus its
instruction set architecture (ISA).
• The ISA is the agreed-upon interface between all the
software that runs on the machine and the hardware that
executes it.
• The ISA allows you to talk to the machine.
12
14. 1.2 FUNCTIONAL UNITS OF COMPUTER
SYSTEM(cont.)
• The input unit accepts coded information from human
operators, from electromechanical devices such as keyboards,
or from other computers over digital communication lines.
• The information received is either stored in the computer's
memory for later reference or immediately used by the
arithmetic and logic circuitry to perform the desired operations.
• The processing steps are determined by a program stored in the
memory.
• Finally, the results are sent back to the outside world through
the output unit.
• All of these actions are coordinated by the control unit.
14
15. 1.3 COMPUTER COMPONENTS
• A computer: An electronic device that takes information and
processes that information according to a set of instructions (a
program), and gives back a result.
• A Computer is an electronic system capable of performing
various operational tasks at a fast rate.
• The expression “Computer” involves two big domains: the
software and the hardware.
• Principle of Equivalence of Hardware and Software:
– Anything that can be done with software can also be done
with hardware, and anything that can be done with
hardware can also be done with software.
15
16. 1.4 COMPUTER COMPONENTS(cont.)
• At the most basic level, a computer is a device
consisting of three pieces:
– A processor to interpret and execute programs
– A memory to store both data and programs
– A mechanism for transferring data to and from the
outside world.
16
17. 1.5 AN EXAMPLE SYSTEM
Consider this advertisement:
What does it all mean??
17
18. 1.5 AN EXAMPLE SYSTEM (cont.)
A system bus moves data within the
computer. The faster the bus the better.
This one runs at 400MHz.
The microprocessor is the “brain” of
the system. It executes program
instructions. This one is a Pentium
(Intel) running at 4.20GHz.
18
19. 1.5 AN EXAMPLE SYSTEM (cont.)
• Large main memory capacity means you can run
larger programs with greater speed than computers
having small memories.
• RAM = random access memory. Time to access
contents is independent of its location.
• Cache is a type of temporary memory that can be
accessed faster than RAM.
19
20. 1.5 AN EXAMPLE SYSTEM (cont.)
… and two levels of cache memory, the level 1 (L1)
cache is smaller and (probably) faster than the L2 cache.
Note that these cache sizes are measured in KB.
This system has 256MB of (fast)
synchronous dynamic RAM
(SDRAM) . . .
20
21. 1.5 AN EXAMPLE SYSTEM
(cont.)
This one can store 80GB. 7200 RPM is the rotational
speed of the disk. Generally, the faster a disk rotates,
the faster it can deliver data to RAM. (There are many
other factors involved.)
Hard disk capacity determines
the amount of data and size of
programs you can store.
21
22. 1.5 AN EXAMPLE SYSTEM (cont.)
ATA stands for advanced technology attachment, which
describes how the hard disk interfaces with (or
connects to) other system components.
A CD can store about 650MB of data. This drive
supports rewritable CDs, CD-RW, that can be written
to many times.. 48x describes its speed.
22
23. 1.5 AN EXAMPLE SYSTEM (cont.)
This system has
ten ports.
Ports allow movement of data
between a system and its external
devices.
23
24. 1.5 AN EXAMPLE SYSTEM (cont.)
• Serial ports send data as a series of pulses along one or
two data lines.
• Parallel ports send data as a single pulse along at least
eight data lines.
• USB, Universal Serial Bus, is an intelligent serial interface
that is self-configuring.(It supports “plug and play.”)
24
25. 1.5 AN EXAMPLE SYSTEM (cont.)
System buses can be augmented by
dedicated I/O buses. PCI, peripheral
component interface, is one such bus.
This system has three PCI devices: a video
card, a sound card, and a data/fax modem.
25
26. 1.5 AN EXAMPLE SYSTEM (cont.)
The number of times per second that the image on a
monitor is repainted is its refresh rate. The dot pitch
of a monitor tells us how clear the image is.
This one has a dot pitch of 0.24mm and a refresh rate of 75Hz.
The video card contains memory and
programs that support the monitor.
26
27. 1.6 THE COMPUTER LEVEL HIERARCHY
• Writing complex programs requires a “divide and
conquer” approach, where each program module solves
a smaller problem.
• Complex computer systems employ a similar technique
through a series of virtual machine layers.
27
28. • Each virtual machine layer
is an abstraction of the level
below it.
• The machines at each level
execute their own particular
instructions, calling upon
machines at lower levels to
perform tasks as required.
• Computer circuits ultimately
carry out the work.
1.6 THE COMPUTER LEVEL HIERARCHY(cont.)
28
29. 1.6 THE COMPUTER LEVEL HIERARCHY(cont.)
• Level 6: The User Level
– It is composed of applications and is the level with
which everyone is most familiar.
– At this level, we run programs such as word processors,
graphics packages, or games.
– It is program execution and user interface level.
– The lower levels are nearly invisible from the User
Level.
29
30. 1.6 THE COMPUTER LEVEL HIERARCHY(cont.)
• Level 5: High-Level Language Level
– The level with which we interact when we write programs in
languages such as C, Pascal, C++, Java, etc.
– These languages must be translated using either
(a compiler or an interpreter) to a language the machine can
understand.
– Compiled languages are translated into assembly language
and then assembled into machine code. (They are translated
to the next lower level.)
– The user at this level sees very little of the lower levels.
30
31. 1.6 THE COMPUTER LEVEL HIERARCHY(cont.)
• Level 4: Assembly Language Level
– Acts upon assembly language produced from Level 5, as well
as instructions programmed directly at this level.
• Level 3: System Software Level
– It deals with operating system instruction.
– This level controls executing processes on the system.
– It is responsible for protecting system resources,
multiprogramming, synchronization processes.
– Often, instructions translated from assembly language to
machine language are passed through this level unmodified.
31
32. 1.6 THE COMPUTER LEVEL HIERARCHY(cont.)
• Level 2: Machine Level
– Also known as the Instruction Set Architecture (ISA)
Level.
– Consists of instructions that are particular to the
architecture of the machine.
– Programs written in a computer’s true machine language
on a hardwired computer (see below) can be executed
directly by the electronic circuits without compilers or
interpreter or translator.
32
33. 1.6 THE COMPUTER LEVEL HIERARCHY(cont.)
• Level 1: Control Level
– A control unit decodes and executes instructions and moves
data through the system.
– Control units can be microprogrammed or hardwired.
– A microprogram is a program written in a low-level
language that is implemented by the hardware.
– Hardwired control units consist of hardware that directly
executes machine instructions.
33
34. 1.6 THE COMPUTER LEVEL HIERARCHY(cont.)
• Level 0: Digital Logic Level
– This level is where we find digital circuits (the chips).
– Digital circuits consist of gates and wires.
– These components implement the mathematical logic of all
other levels.
34
35. 1.7 THE VON NEUMANN MODEL
• In the earliest electronic computing machines,
programming was synonymous with connecting wires to
plugs.
• No layered architecture existed, so all programming was
done at the digital logic level. (Programming the computer
involved moving plugs and wires).
• A different hardware configuration was needed to solve
every unique problem type.
• Configuring the ENIAC to solve a “simple” problem
required many days labor by skilled technicians.
35
36. 1.7 THE VON NEUMANN MODEL(cont.)
• After reading Mauchly and Eckert’s proposal for the
EDVAC, Von Neumann(Hungarian mathematician
pronounced von noy-man) published and publicized the
idea, the invention of stored program computers.
• All stored-program computers have come to be known
as von Neumann systems using the von Neumann
architecture
36
37. 1.7 THE VON NEUMANN MODEL(cont.)
• Today’s stored-program computers have the following
characteristics:
– Three hardware systems:
• A central processing unit (CPU) with control unit, ALU,
registers(small storage areas) and program counters.
• A main memory system(which holds programs that
control the computer’s operation)
• An I/O system
– The capacity to carry out sequential instruction processing.
– A single data path between the CPU and main memory.
• This single path is known as the von Neumann
bottleneck.
37
38. 1.7 THE VON NEUMANN MODEL(cont.)
• This is a general
description of a von
Neumann system:
• These computers
employ a fetch-
decode-execute
cycle to run programs
as shown in the fig.
40
38
39. 1.7 THE VON NEUMANN MODEL(cont.)
• The control unit fetches the next instruction from memory
using the program counter to determine where the
instruction is located.
39
40. 1.7 THE VON NEUMANN MODEL(cont.)
• The instruction is decoded into a language that the ALU
can understand.
40
41. 1.7 THE VON NEUMANN MODEL(cont.)
• Any data operands required to execute the instruction are
fetched from memory and placed into registers within the
CPU to be processed.
41
42. 1.7 THE VON NEUMANN MODEL(cont.)
• The ALU executes the instruction and places results in
registers or memory.
42
43. 1.7 THE VON NEUMANN MODEL(cont.)
• The ideas present in the von Neumann architecture
have been extended so that programs and data
stored in a slow-to-access storage medium, such as
a hard disk, can be copied to a fast-access, volatile
storage medium such as RAM prior to execution.
• This architecture has also been streamlined into
what is currently called the system bus model,
which is shown in Figure below.
43
45. 1.7 THE VON NEUMANN MODEL(cont.)
• The data bus moves data from main memory to the
CPU registers (and vice versa).
• The address bus holds the address of the data that the
data bus is currently accessing.
• The control bus carries the necessary control signals
that specify how the information transfer is to take
place.
• Until recently, almost all general-purpose computers
followed the von Neumann design.
45
46. 1.7 THE VON NEUMANN MODEL(cont.)
• In the late 1960s, high-performance computer systems were
equipped with dual processors to increase computational throughput.
• In the 1970s supercomputer systems were introduced with 32
processors.
• Supercomputers with 1,000 processors were built in the 1980s.
• In 1999, IBM announced its Blue Gene system containing over 1
million processors.
• Parallel processing is only one method of providing increased
computational power.
• DNA computers, quantum computers, and dataflow systems were
also built.
46
47. 1.8 CPU BASICS AND ORGANIZATION
• The memory is used to store both data and program
instructions (also in binary).
• Somehow, the program must be executed and the data must
be processed correctly.
• All computers have a central processing unit.
47
48. 1.8 CPU BASICS AND ORGANIZATION(cont.)
• The two principal parts of the CPU are the datapath and the
control unit.
– The datapath consists of an arithmetic-logic unit and
storage units (registers) that are interconnected by a data
bus(capable of moving data from place to place) that is
also connected to main memory.
– Various CPU components perform sequenced operations
according to signals provided by its control unit.
• The computer’s CPU fetches, decodes, and executes
program instructions.
48
49. 1.8 CPU BASICS AND ORGANIZATION(cont.)
ALU
• The arithmetic logic unit (ALU) carries out the logic
operations (such as comparisons) and arithmetic operations
(such as add or multiply) required during the program
execution.
• Generally an ALU has two data inputs and one data output.
Operations performed in the ALU often affect bits in the
status register (bits are set to indicate actions such as
whether an overflow has occurred). The ALU knows which
operations to perform because it is controlled by signals
from the control unit. 49
50. 1.8 CPU BASICS AND ORGANIZATION(cont.)
CU
• The control unit is the “policeman” or “traffic manager” of the CPU.
• It monitors the execution of all instructions and the transfer of all
information.
• The control unit extracts instructions from memory, decodes these
instructions, making sure data is in the right place at the right time,
• It tells the ALU which registers to use.
• The control unit uses a program counter register to find the next
instruction for execution.
• Control units can be microprogrammed or hardwired.
• Hardwired control units give better performance, while
microprogrammed units are more adaptable to changes.
50
51. 1.8 CPU BASICS AND ORGANIZATION(cont.)
REGISTER
• Register is a hardware device that stores binary data.
• Registers are located on the processor so information can be accessed
very quickly.
• They can be implemented using D flip-flops.
• One D flip-flop is equivalent to a 1-bit register, so a collection of D
flip-flops is necessary to store multi-bit values.
– A 32-bit register requires 32 D flip-flops.
• The number of registers in a machine varies from architecture to
architecture, but is typically a power of 2, with 16 and 32 being most
common.
• Registers contain data, addresses, or control information. 51
52. 1.8 CPU BASICS AND ORGANIZATION(cont.)
• There are seven registers, as follows:
• AC: The accumulator, a 16-bit register that holds data values. This is a
general purpose register and holds data that the CPU needs to process.
• MAR: The memory address register, a 12-bit register that holds the
memory address of the data being referenced.
• MBR: The memory buffer register, , a 16-bit register that holds either the
data just read from memory or the data ready to be written to memory.
• PC: The program counter, a 12-bit register that holds the address of the
next instruction to be executed in the program.
• IR: The instruction register, which holds the next instruction to be
executed.
• InREG: The input register, an 8-bit register that holds data from the input
device.
• OutREG: The output register, an 8-bit register that holds data for the
output device.
52
54. 1.8 CPU BASICS AND ORGANIZATION(cont.)
BUS
• The CPU communicates with the other components via a bus.
• A bus is a set of wires that acts as a shared but common data path to
connect multiple subsystems within the system.
• It consists of multiple lines, allowing the parallel movement of bits.
• Buses consist of data lines, control lines, address lines and power
lines.
• While the data lines carry bits from one device to another, control lines
determine the direction of data flow, and when each device can access
the bus , address lines determine the location of the source or
destination of the data and power lines provide the electrical power
necessary.
• The speed of the bus is affected by its length as well as by the number of
devices sharing it. 54
55. 1.8 CPU BASICS AND ORGANIZATION(cont.)
The figure above shows a typical bus consisting of data lines, address
lines, control lines, and power lines.
Figure: The Components of a Typical Bus
55
56. 1.9 CLOCKS
• Every computer contains an internal clock that regulates how quickly
instructions can be executed.
• The clock also synchronizes all of the components in the system.
• Therefore, instruction performance is often measured in clock cycles.
• The clock frequency (sometimes called the clock rate or clock speed) is
measured in MHz(megahertz) or GHz (gigahertz) determines the speed
with which all operations are carried out.
• 1MHz is equal to 1 million cycles per second(1 hertz is 1 cycle per
second).
• Clock cycle time (clock period) is the reciprocal of clock frequency.
– For example, an 800MHz machine has a clock cycle time of
1/800,000,000 or 1.25ns.
– If a machine has a 2ns cycle time, then it is a 500MHz machine.56
57. • Clock speed should not be confused with CPU performance.
• The CPU time required to run a program is given by the general
performance equation:
– We see that we can improve CPU throughput when we reduce the
number of instructions in a program, reduce the number of cycles
per instruction, or reduce the number of nanoseconds per clock
cycle.
1.9 CLOCKS(cont.)
57
58. 1.9 CLOCKS(cont.)
• It is important to note that the architecture of a machine has a large
effect on its performance.
• Two machines with the same clock speed do not necessarily execute
instructions in the same number of cycles.
• For example, a multiply operation on an older Intel 286 machine
required 20 clock cycles, but on a new Pentium, a multiply operation
can be done in 1 clock cycle, which implies the newer machine would
be 20 times faster than the 286 even if they both had the same internal
system clock.
• In general, multiplication requires more time than addition, floating
point operations require more cycles than integer ones
58
59. 1.10 INTERRUPTS
• Interrupts are events that alter (or interrupt) the normal flow of
execution in the system.
• The CPU is changed to such an event through an interrupt.
• Interrupts can be triggered by I/O requests, arithmetic errors (such as
division by zero), hardware malfunction or when an invalid
instruction is encountered.
• There are three major types of interrupts that cause a break in the
normal execution of a program.
• They can be classified as:
1. External interrupts
2. Internal interrupts
3. Software interrupts
59
60. 1.10 INTERRUPTS(cont.)
• External interrupts come from input-output (I/O) devices, from a
circuit monitoring the power supply, or from any other external source.
• Examples that cause external interrupts are:I/O device requesting
transfer of data, I/O device finished transfer of data, elapsed time of an
event, or power failure.
• Internal interrupts(also called traps) arise from illegal or erroneous use
of an instruction or data.
• Examples of interrupts caused by internal error conditions are attempt
to divide by zero, an invalid operation code and protection violation.
• The difference between internal and external interrupts is that the
internal interrupt is initiated by some exceptional condition caused by
the program itself rather than by an external event.
• A software interrupt is initiated by executing an instruction.
60
61. 1.11MEMORY ORGANIZATION AND
ADDRESSING
• A memory is like a matrix of bits.
• Computer memory consists of a linear array of addressable storage
cells that are similar to registers.
• Memory can be byte-addressable, or word-addressable, where a word
typically consists of two or more bytes.
• Memory is constructed of RAM chips, often referred to in terms of
length width.
• If the memory word size of the machine is 16 bits, then a 4M 16
RAM chip gives us 4 megabytes of 16-bit memory locations.
61
63. second word
first word
nbits
last word
i th word
•
•
•
•
•
•
Memory consists of
many millions of
storage cells, each of
which can store 1 bit.
Data is usually
accessed in n-bit
groups.
n is called word length.
1.11MEMORY ORGANIZATION AND
ADDRESSING(cont.)
63
65. 1.11 MEMORY ORGANIZATION AND
ADDRESSING(cont.)
• To retrieve information from memory, either for
one word or one byte (8-bit), addresses for each
location are needed.
• A k-bit address memory has 2k memory locations,
namely 0 to 2k-1, called memory space.
• 24-bit memory: 224 = 16,777,216 = 16M (1M=220)
• 32-bit memory: 232 = 4G (1G=230)
• 1K(kilo)=210
• 1T(tera)=240
65
66. 1.12 CISC vs. RISC
• A computer with a large number of instructions is classified as a
Complex Instruction Set Computer, abbreviated CISC whereas
computers use fewer instructions with simple constructs so they
can be executed much faster within the CPU without having to
use memory as often, this type of computer is classified as a
Reduced Instruction Set Computer or RISC.
• Each member of the x86 family of Intel architectures is known
as a CISC machine, whereas the Pentium family and the MIPS
architectures are examples of RISC machines.
66
67. 1.12 CISC vs. RISC(cont.)
• The major characteristics of CISC architecture are:
o A large number of instructions—typically from 100 to 250
instructions.
o Instructions take multiple clocks to execute
o Some instructions that perform specialized tasks and are
used infrequently.
o A large variety of addressing modes—typically from 5 to 20
different modes.
o It contains variable-length instruction formats
o Instructions can operate directly on memory
67
68. 1.12 CISC vs. RISC(cont.)
• The concept of RISC architecture involves an attempt to reduce
execution time by simplifying the instruction set of the computer.
The major characteristics of a RISC processor are:
o Relatively few instructions
o Relatively few addressing modes
o Memory access limited to load and store instructions
o All operations done within the registers of the CPU
o Fixed-length, easily decoded instruction format
o Single-cycle instruction execution
o Hardwired rather than micro programmed control
68
69. 1.13 I/O SUBSYSTEM
• Input and output (I/O) devices allow us to communicate with the
computer system.
• I/O is the transfer of data between primary memory and various I/O
peripherals.
• Input devices such as keyboards, mice, card readers, scanners, voice
recognition systems, and touch screens allow us to enter data into the
computer.
• Output devices such as monitors, printers, plotters, and speakers allow
us to get information from the computer.
• These devices are not connected directly to the CPU. Instead, there is an
interface that handles the data transfers. This interface converts the
system bus signals to and from a format that is acceptable to the given
device.
• The CPU communicates to these external devices via input/output
registers.
69
70. A serial interface or serial
communication is the process of
sending data one bit at time
sequentially over a
communication channel or
computer bus.
Two digital systems transmits
data as a series of voltage pulses
down a wire.
This is in contrast to parallel
interface or parallel
communication, where several
bits are sent as a whole, on a link
with several parallel channels. 70
1.13 SERIAL INTERFACE
vs.
PARALLEL INTERFACE
71. 1.13 SERIAL INTERFACE
vs.
PARALLEL INTERFACE(cont.)
Parallel interface
• All bits of data are transmitted
simultaneously on separate
communication lines.
• In order to transmit n bits, n wires
or n lines are used
• It used for short distance
communication(computer to
printer).
• It is faster than serial transmission.
• More costly
• Data can be transmitted in less
time.
Serial interface
• All bits of data are transmitted on
single communication line, one bit
comes after another , one by one.
• In order to transmit n bits, one wire
or one line is used.
• It used for long distance
communication(computer to
computer, local to wide network).
• It is slower than serial transmission
• Less costly
• Data can be transmitted in more
time. 71
72. 1.14 COPROCESSOR
• Coprocessors:an architecture that contains a general-purpose
CPU plus one or more special-purpose processor
• A coprocessor is used to supplement the functions of the primary
processor (the CPU).
• Each coprocessor is designed to perform a specific function
therefore all coprocessors function under of the CPU
• Operations performed by the coprocessor may be floating
point arithmetic, graphics, signal processing, string
processing, encryption or I/O Interfacing with peripheral devices.
• Coprocessors can accelerate system performance.
• It can also be a small logic circuit that performs one operation, it
does not need general-purpose instructions, and does not need a
fetch-execute cycle 72
73. 1.14 COPROCESSOR(cont.)
• A coprocessor is a piece of hardware that operates under control
of the CPU
• A processor need not be sophisticated; the coprocessor only need
to perform on specific task
• A coprocessor may not be a general-purpose processor in its
own right.
• Coprocessors cannot fetch instructions from memory, do
input/output operations, manage memory, and so on.
• The coprocessor requires the host (main) processor to fetch
the coprocessor instructions and handle all other operations
aside from the coprocessor functions.
73
74. 1.15 MULTIPROCESSORS SYSTEM
• A computer system in which two or more CPUs share full access
to a common RAM is known as multiprocessor system.
• It can be defined also as collection of independent CPUs (or
computers) that appears to the users/applications as a single
system.
• Technology trends:
– Powerful,
– Advances in communications.
– Physical limits on computing power of a single CPU.
• Examples
– Network of workstations.
– Network of computers of a company. 74
75. 75
Design Issues
• Transparency: How to achieve a single-system image
– How to hide distribution of memory from applications?
– How to maintain consistency of data?
• Performance
– How to exploit parallelism?(many tasks at the same time)
– How to reduce communication delays?(speed up communication)
• Scalability:
– As more components (say, processors) are added, performance
should not degrade.
– The ability to increase speedup as the number of processors
increase.
• Security : it is more secure than mainframe
1.15 MULTIPROCESSORS SYSTEM(cont.)
76. 76
Advantages
• Data sharing: allows many users to share a common data
base.
• Resource sharing: expensive devices such as a color printer.
• Parallelism and speed-up: multiprocessor system can have
more computing power than a mainframe.
• Better performance ratio than mainframes
• Reliability: Fault-tolerance can be provided against crashes
of individual machines.
• Flexibility: spread the workload over available machines
• Modular expandability: Computing power can be added in
small increments (upgrading CPUs like memory)
1.15 MULTIPROCESSORS SYSTEM(cont.)
77. 1.15 MULTIPROCESSORS SYSTEM(cont.)
• Multiprocessors
– Multiple CPUs with shared memory
– Memory access delays about 10 – 50
nsec
• Multicomputers
– Multiple computers, each with own
CPU and memory, connected by a high-
speed interconnect
– Tightly coupled with delays in micro-
seconds
• Distributed Systems
– Loosely coupled systems connected
over Local Area Network (LAN), or
even long-haul networks such as
Internet
– Delays can be seconds, and
unpredictable.
77
Classification of multiprocessor systems
78. 1.16 DEVICE CONTROLLER
• A device controller is a part of a computer system that
makes sense of the signals going to, and coming from
the CPU.
• Each device controller has a local buffer(special purpose
registers ) and a command register. It communicates with
the CPU by interrupts.
• The Device Controller receives the data from a connected
device and stores it temporarily in some special purpose
registers (i.e. local buffer) inside the controller. Then it
communicates the data with a Device Driver.
78
79. 1.16 DEVICE CONTROLLER(cont.)
• A device's controller plays an important role in the
operation of that device; it functions as a bridge between the
device and the operating system.
• I-O devices generally contain two parts. One is mechanical
and another is electrical part.
• This electrical part is known as a device controller and can
take the form of a chip on personal computers.
• Device controller informs CPU that it has finished its
operation by causing an interrupt.
79
80. 1.16 DEVICE CONTROLLER(cont.)
• A computer system contains a multitude of I/O devices and
their respective controllers:
– Network card
– Graphics adapter
– Disk controller
– DVD-ROM controller
– Serial port
– USB
– Sound card
• All devices in a computer are connected through a
complicated bus system.
80
81. 1.16 DEVICE CONTROLLER(cont.)
– One or more CPUs, device controllers connect through
common bus providing access to shared memory
81
82. End of Part I.
Thank You for your Attention!
Wish you success!
See youin test and Final Examination!
82