Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
-by
RAMA KRISHNA THELAGATHOTI
(M.Tech CSE from IIT Madras)
Distribution of Marks
Total marks: 100
Chapter – Marks
1. CO1 – 11
2. CO2 – 19
3. CO3 – 28
4. CO4 – 14
5. CO5 – 28 -
CHAPTER 1
Organization and Architecture -1
• Is there any distinction between Computer Organization and
Architecture?
• Computer Architecture
• is those attributes of a system visible to the programmer
• those attributes that have a direct impact on the logical execution of a
program
• e.g -Instruction set, number of bits used for data representation, I/O
mechanisms, addressing techniques.
• Computer Organization
• attributes include those hardware details transparent to the programmer
such as Control signals, interfaces, memory technology.
• Operational units and their interconnections that realize the architectural
specifications
Organization and Architecture - 2
• For example
• It is an architectural design issue
• whether a computer will have a multiply instruction.
• It is an organizational issue
• whether that instruction will be implemented by a special
multiply unit or by a mechanism that makes repeated use
of the add unit of the system.
Organization and Architecture - 3
• There are family of computer models, all with the same
architecture but with differences in organization.
• Consequently, the different models in the family have
different price and performance characteristics.
• e.g scenario IBM System/370 architecture
• introduced in 1970 with a number of models.
• The customer with modest requirements could buy a cheaper, slower model
and, later upgrade to a more expensive, faster model without having to
abandon software that had already been developed.
• Over the years, IBM has introduced many new models with improved
technology to replace older models, offering the customer greater speed,
lower cost, or both.
Processor Organization -1
Processor Requirements -
• Fetch instruction
• The processor reads an instruction from memory (register, cache, main memory)
• Interpret instruction
• The instruction is decoded to determine what action is required
• Fetch data
• The execution of an instruction may require reading data from memory or an I/O
module
• Process data
• The execution of an instruction may require performing some arithmetic or logical
operation on data
• Write data
• The results of an execution may require writing data to memory or an I/O module
Processor Organization - 2
CPU with system bus -
• This figure shows processor units
and its connection to the rest of
the system via the system bus.
• Major components of the
processor are
• ALU – Arithmetic Logic Unit
• It does the actual computation or
processing of data.
• CU – Control Unit
• controls the movement of data and
instructions into and out of the
processor and controls the operation of
the ALU.
• Registers - minimal internal memory,
consisting of a set of storage
locations, called registers
Processor Organization - 3
CPU Internal structure -
• This id slightly more detailed view
of the processor.
• Internal CPU bus - transfers data
between the various registers and the
ALU because the ALU in fact operates
only on data in the internal processor
memory.
• The figure also shows typical basic
elements of the ALU
Instruction Cycle
Typical instruction cycle includes the following stages:
• Fetch: Read the next instruction from memory into
the processor.
• Execute: Interpret the opcode and perform the
indicated operation.
• Interrupt: If interrupts are enabled and an interrupt
has occurred, save the current process state and
service the interrupt.
Introduction to parallel processing(trends
towards parallel processing)
• Single instruction, single data stream - SISD
• Single instruction, multiple data stream - SIMD
• Multiple instruction, single data stream - MISD
• Multiple instruction, multiple data stream- MIMD
parallel computer structures -1
What is Parallel Processing ?
• Execution of several activities at the same time.
• 2 multiplications at the same time on 2 different
processes,
• Printing a file on two printers at the same time.
• Parallel Computers can be divided into 3 architectural
configurations
• PipeLine computers
• Array Processors
• Multiprocessor Systems
parallel computer structures -2
• A pipeline computer performs overlapped computations to
achieve temporal parallelism.
• An Array Processors uses multiple synchronized Arithmetic
Logic Units to achieve Spatial Parallelism.
• A multi processor system achieves asynchronous parallelism
through a set of interactive processors with shared
resources (memories, data bases etc).
• Fundamental difference between array processor and multi
processor – processing elements in array processors operate
synchronously but in multi processors its asynchronous.
parallel computer structures -3
Pipeline computers
• Instruction execution involves 4 major steps
• Instruction fetch from main memory [IF]
• Instruction decoding [ID]
• Operand Fetch [OF]
• Execution [EX] – optional and depends on instruction type
parallel computer structures -4
Pipeline computers
• Example 2:
DADDU R1,R2,R3 • Assume R4 isn’t used after skip
BEQZ R12,skip • Possible to move DSUBU before
DSUBU R4,R5,R6 the branch
DADDU R5,R4,R9
skip:
OR R7,R8,R9
Pipelining, Principles of Linear pipelining -1
Pipelining: an overlapped parallelism
• Pipelining is similar to the concept of assembly lines in an
industrial plant
Pipelining, Principles of Linear pipelining -2
Pipelining: an overlapped parallelism
• To achieve pipelining
• Divide the process into sequence of sub tasks which can be processed
concurrently.
• Successive tasks are streamed to pipe and get executed in an overlapped
fashion.
Pipelining, Principles of Linear pipelining -3
Principles of Linear Pipelining
• Consider Assembly lines in industrial plants as an example
• If more number of Assembly lines then productivity will be increased
• Should have equal assembly speeds , otherwise, slowest station becomes
bottleneck or congestion due to improper buffering may result in many stations
idle waiting for new task.
• The precedence relation of a set of subtasks {T1, T2,…, Tk} for
a given task T implies that the same task Tj cannot start until
some earlier task Ti finishes.
• •The inter dependencies of all subtasks form the precedence
graph.
Pipelining, Principles of Linear pipelining -4
Principles of Linear Pipelining
• With a linear precedence relation, task Tj cannot start until
earlier subtasks { Ti} for all (i < j) finish.
• A linear pipeline can process subtasks with a linear precedence
graph. Basic Linear pipeline