SlideShare una empresa de Scribd logo
1 de 82
CSC204: Computer Architecture
and Assembly Language
Prepared by:
NZABONITEGEKA Gilbert(MSc.)
1
MODULE DESCRIPTION
• Module Code : CSC204
• Module Title:Computer Architecture and Assembly
Language
• Year: 2
• Credits: 10
• Pre-requisite:CSC101:Introduction
to information technology and CSC102:Module
CSC102 Computing Basics.
2
ASSESSMENT
• CAT1:20% + CAT2:20% + CAT2:20% = 60%
• Final Exam:40%
• Total=100%
3
Why do we study
CSC204:Computer Architecture and Assembly
Language Programming?
4
• 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
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
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
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
PART 1:
COMPUTER ARCHITECTURE II
9
CSC204:COMPUTER ARCHITECTURE AND
ASSEMBLY LANGUAGE
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
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
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
1.2 FUNCTIONAL UNITS OF COMPUTER
SYSTEM
13
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
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
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
1.5 AN EXAMPLE SYSTEM
Consider this advertisement:
What does it all mean??
17
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
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
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
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
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
1.5 AN EXAMPLE SYSTEM (cont.)
This system has
ten ports.
Ports allow movement of data
between a system and its external
devices.
23
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
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
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
1.7 THE VON NEUMANN MODEL(cont.)
• The instruction is decoded into a language that the ALU
can understand.
40
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
1.7 THE VON NEUMANN MODEL(cont.)
• The ALU executes the instruction and places results in
registers or memory.
42
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
1.7 THE VON NEUMANN MODEL(cont.)
44
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
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
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
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
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
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
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
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
1.8 CPU BASICS AND ORGANIZATION(cont.)
53
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
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
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
• 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
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
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
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
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
1.11MEMORY ORGANIZATION AND
ADDRESSING(cont.)
62
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
1.11MEMORY ORGANIZATION AND
ADDRESSING(cont.)
32-bit word length example
64
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
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
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
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
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
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
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
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
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
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
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
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.)
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
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
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
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
1.16 DEVICE CONTROLLER(cont.)
– One or more CPUs, device controllers connect through
common bus providing access to shared memory
81
End of Part I.
Thank You for your Attention!
Wish you success!
See youin test and Final Examination!
82

Más contenido relacionado

La actualidad más candente

Computer architecture
Computer architectureComputer architecture
Computer architectureZuhaib Zaroon
 
Computer organuzaton & architecture
Computer organuzaton & architectureComputer organuzaton & architecture
Computer organuzaton & architectureSubhankar Bisoyi
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architecturejeetesh036
 
Chapter 1 com org (student copy)
Chapter 1   com org (student copy)Chapter 1   com org (student copy)
Chapter 1 com org (student copy)Al Sabiaga
 
Lecture 1
Lecture 1Lecture 1
Lecture 1GIKI
 
Co question bank LAKSHMAIAH
Co question bank LAKSHMAIAH Co question bank LAKSHMAIAH
Co question bank LAKSHMAIAH veena babu
 
Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Subhasis Dash
 
Advanced computer architecture
Advanced computer architectureAdvanced computer architecture
Advanced computer architectureAjithaSomasundaram
 
Co module1a introdctnaddressingmodes
Co module1a introdctnaddressingmodesCo module1a introdctnaddressingmodes
Co module1a introdctnaddressingmodesManu Jose
 
Unit 1 computer architecture (1)
Unit 1   computer architecture (1)Unit 1   computer architecture (1)
Unit 1 computer architecture (1)DevaKumari Vijay
 
Computer architecture
Computer architectureComputer architecture
Computer architectureBurhan Ahmed
 
Processor architecture
Processor architectureProcessor architecture
Processor architectureMuuluu
 
Introduction to computer architecture and organization
Introduction to computer architecture and organizationIntroduction to computer architecture and organization
Introduction to computer architecture and organizationMuhammad Ishaq
 
Basic structure of computers
Basic structure of computersBasic structure of computers
Basic structure of computersKumar
 
Chapter 01 - Introduction
Chapter 01 - IntroductionChapter 01 - Introduction
Chapter 01 - IntroductionCésar de Souza
 
Computer organisation -morris mano
Computer organisation  -morris manoComputer organisation  -morris mano
Computer organisation -morris manovishnu murthy
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureBalaji Vignesh
 
Computer Organization (Unit-1)
Computer Organization (Unit-1)Computer Organization (Unit-1)
Computer Organization (Unit-1)Harsh Pandya
 

La actualidad más candente (20)

Computer architecture
Computer architecture Computer architecture
Computer architecture
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
 
Computer organuzaton & architecture
Computer organuzaton & architectureComputer organuzaton & architecture
Computer organuzaton & architecture
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architecture
 
Chapter 1 com org (student copy)
Chapter 1   com org (student copy)Chapter 1   com org (student copy)
Chapter 1 com org (student copy)
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Co question bank LAKSHMAIAH
Co question bank LAKSHMAIAH Co question bank LAKSHMAIAH
Co question bank LAKSHMAIAH
 
Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1)
 
Advanced computer architecture
Advanced computer architectureAdvanced computer architecture
Advanced computer architecture
 
Co module1a introdctnaddressingmodes
Co module1a introdctnaddressingmodesCo module1a introdctnaddressingmodes
Co module1a introdctnaddressingmodes
 
Unit 1 computer architecture (1)
Unit 1   computer architecture (1)Unit 1   computer architecture (1)
Unit 1 computer architecture (1)
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
 
Processor architecture
Processor architectureProcessor architecture
Processor architecture
 
Introduction to computer architecture and organization
Introduction to computer architecture and organizationIntroduction to computer architecture and organization
Introduction to computer architecture and organization
 
Basic structure of computers
Basic structure of computersBasic structure of computers
Basic structure of computers
 
Chapter 01 - Introduction
Chapter 01 - IntroductionChapter 01 - Introduction
Chapter 01 - Introduction
 
Cao u1
Cao u1Cao u1
Cao u1
 
Computer organisation -morris mano
Computer organisation  -morris manoComputer organisation  -morris mano
Computer organisation -morris mano
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer Architecture
 
Computer Organization (Unit-1)
Computer Organization (Unit-1)Computer Organization (Unit-1)
Computer Organization (Unit-1)
 

Destacado

Computer function-and-interconnection 3
Computer function-and-interconnection 3Computer function-and-interconnection 3
Computer function-and-interconnection 3Mujaheed Sulantingan
 
Multilevel architecture& structured org.
Multilevel architecture& structured org.Multilevel architecture& structured org.
Multilevel architecture& structured org.Mahesh Kumar Attri
 
Multilevel arch & str org.& mips, 8086, memory
Multilevel arch & str org.& mips, 8086, memoryMultilevel arch & str org.& mips, 8086, memory
Multilevel arch & str org.& mips, 8086, memoryMahesh Kumar Attri
 
top level view of computer function and interconnection
top level view of computer function and interconnectiontop level view of computer function and interconnection
top level view of computer function and interconnectionSajid Marwat
 
Computer Architecture – An Introduction
Computer Architecture – An IntroductionComputer Architecture – An Introduction
Computer Architecture – An IntroductionDilum Bandara
 

Destacado (7)

Computer function-and-interconnection 3
Computer function-and-interconnection 3Computer function-and-interconnection 3
Computer function-and-interconnection 3
 
Multilevel architecture& structured org.
Multilevel architecture& structured org.Multilevel architecture& structured org.
Multilevel architecture& structured org.
 
Multilevel arch & str org.& mips, 8086, memory
Multilevel arch & str org.& mips, 8086, memoryMultilevel arch & str org.& mips, 8086, memory
Multilevel arch & str org.& mips, 8086, memory
 
top level view of computer function and interconnection
top level view of computer function and interconnectiontop level view of computer function and interconnection
top level view of computer function and interconnection
 
Computer system bus
Computer system busComputer system bus
Computer system bus
 
Computer Architecture – An Introduction
Computer Architecture – An IntroductionComputer Architecture – An Introduction
Computer Architecture – An Introduction
 
Memory hierarchy
Memory hierarchyMemory hierarchy
Memory hierarchy
 

Similar a CSC204PPTNOTES

Brief Introduction.ppt
Brief Introduction.pptBrief Introduction.ppt
Brief Introduction.pptMollyZolly
 
Organization of modern digital computers
Organization of modern digital computersOrganization of modern digital computers
Organization of modern digital computersDrRamaPrasathAssista
 
Ch01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxcccccc
Ch01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxccccccCh01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxcccccc
Ch01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxcccccctasheebedane
 
Ch01 .pptssysueueueueu65egegeg3f3geye6d6yeueu
Ch01 .pptssysueueueueu65egegeg3f3geye6d6yeueuCh01 .pptssysueueueueu65egegeg3f3geye6d6yeueu
Ch01 .pptssysueueueueu65egegeg3f3geye6d6yeueutasheebedane
 
Introduction to Embedded System
Introduction to Embedded SystemIntroduction to Embedded System
Introduction to Embedded SystemZakaria Gomaa
 
SPL 1 | Introduction to Structured programming language
SPL 1 | Introduction to Structured programming languageSPL 1 | Introduction to Structured programming language
SPL 1 | Introduction to Structured programming languageMohammad Imam Hossain
 
CS304PC:Computer Organization and Architecture Session 1 Introduction .pptx
CS304PC:Computer Organization and Architecture Session 1 Introduction .pptxCS304PC:Computer Organization and Architecture Session 1 Introduction .pptx
CS304PC:Computer Organization and Architecture Session 1 Introduction .pptxAsst.prof M.Gokilavani
 
Introduction to computer systems. Architecture of computer systems.
Introduction to computer systems. Architecture of computer systems.Introduction to computer systems. Architecture of computer systems.
Introduction to computer systems. Architecture of computer systems.TazhikDukenov
 
module 1 computer architecture diploma
 module 1 computer architecture diploma   module 1 computer architecture diploma
module 1 computer architecture diploma Manoharan Ragavan
 
Computer System Architecture Lecture Note 1: introduction
Computer System Architecture Lecture Note 1: introductionComputer System Architecture Lecture Note 1: introduction
Computer System Architecture Lecture Note 1: introductionBudditha Hettige
 
COA-Unit-1-Basics.ppt
COA-Unit-1-Basics.pptCOA-Unit-1-Basics.ppt
COA-Unit-1-Basics.pptRuhul Amin
 
Operating systems and technologies
Operating systems and technologiesOperating systems and technologies
Operating systems and technologiesPhannida Panyasit
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 finalKhalid Elmeadawy
 

Similar a CSC204PPTNOTES (20)

Brief Introduction.ppt
Brief Introduction.pptBrief Introduction.ppt
Brief Introduction.ppt
 
Organization of modern digital computers
Organization of modern digital computersOrganization of modern digital computers
Organization of modern digital computers
 
Ch01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxcccccc
Ch01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxccccccCh01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxcccccc
Ch01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxcccccc
 
ch1.pptx
ch1.pptxch1.pptx
ch1.pptx
 
Ch01 .pptssysueueueueu65egegeg3f3geye6d6yeueu
Ch01 .pptssysueueueueu65egegeg3f3geye6d6yeueuCh01 .pptssysueueueueu65egegeg3f3geye6d6yeueu
Ch01 .pptssysueueueueu65egegeg3f3geye6d6yeueu
 
Introduction to Embedded System
Introduction to Embedded SystemIntroduction to Embedded System
Introduction to Embedded System
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
 
Week 01.pdf
Week 01.pdfWeek 01.pdf
Week 01.pdf
 
01CHAP_1.PPT
01CHAP_1.PPT01CHAP_1.PPT
01CHAP_1.PPT
 
SPL 1 | Introduction to Structured programming language
SPL 1 | Introduction to Structured programming languageSPL 1 | Introduction to Structured programming language
SPL 1 | Introduction to Structured programming language
 
CS304PC:Computer Organization and Architecture Session 1 Introduction .pptx
CS304PC:Computer Organization and Architecture Session 1 Introduction .pptxCS304PC:Computer Organization and Architecture Session 1 Introduction .pptx
CS304PC:Computer Organization and Architecture Session 1 Introduction .pptx
 
Lecture1 ch01
Lecture1 ch01Lecture1 ch01
Lecture1 ch01
 
ESD unit 1.pptx
ESD unit 1.pptxESD unit 1.pptx
ESD unit 1.pptx
 
Introduction to computer systems. Architecture of computer systems.
Introduction to computer systems. Architecture of computer systems.Introduction to computer systems. Architecture of computer systems.
Introduction to computer systems. Architecture of computer systems.
 
module 1 computer architecture diploma
 module 1 computer architecture diploma   module 1 computer architecture diploma
module 1 computer architecture diploma
 
Computer System Architecture Lecture Note 1: introduction
Computer System Architecture Lecture Note 1: introductionComputer System Architecture Lecture Note 1: introduction
Computer System Architecture Lecture Note 1: introduction
 
COA-Unit-1-Basics.ppt
COA-Unit-1-Basics.pptCOA-Unit-1-Basics.ppt
COA-Unit-1-Basics.ppt
 
Unit 1.pptx
Unit 1.pptxUnit 1.pptx
Unit 1.pptx
 
Operating systems and technologies
Operating systems and technologiesOperating systems and technologies
Operating systems and technologies
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 final
 

CSC204PPTNOTES

  • 1. CSC204: Computer Architecture and Assembly Language Prepared by: NZABONITEGEKA Gilbert(MSc.) 1
  • 2. MODULE DESCRIPTION • Module Code : CSC204 • Module Title:Computer Architecture and Assembly Language • Year: 2 • Credits: 10 • Pre-requisite:CSC101:Introduction to information technology and CSC102:Module CSC102 Computing Basics. 2
  • 3. ASSESSMENT • CAT1:20% + CAT2:20% + CAT2:20% = 60% • Final Exam:40% • Total=100% 3
  • 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
  • 9. PART 1: COMPUTER ARCHITECTURE II 9 CSC204:COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE
  • 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
  • 13. 1.2 FUNCTIONAL UNITS OF COMPUTER SYSTEM 13
  • 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
  • 44. 1.7 THE VON NEUMANN MODEL(cont.) 44
  • 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
  • 53. 1.8 CPU BASICS AND ORGANIZATION(cont.) 53
  • 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