Csa - Unit-4
Csa - Unit-4
CHIDAMBARAM
(Affiliated to Annamalai University)
Study Material
For
III-CS
BSc-Computer Science
Prepared By
Prof.P.Sankar.,M.C.A.,M.Phil.,(P.hD).,
Faculty of Computer Science & Application
2024
COMPUTER SYSTEM ARCHITECTURE
Unit – I: (12Hours)
Digital Logic Circuits: Combinational Circuits – Flip-Flops. Data Representation: Data Types
– Complements – Fixed and Floating Point Representation – Other Binary Codes – Error
Detection Codes.
Unit – II: (12Hours)
Register Transfer and Microoperations: Register Transfer Language – Register Transfer –
Arithmetic Microoperations – Logic Micro operations – Shift Micro operations – Arithmetic
Logic Shift Unit. Basic Computer Organization and Design: Instruction Codes – Computer
Registers – Computer Instructions – Timing and Control – Instruction Cycle – Memory
Reference Instructions – Input/Output and Interrupt.
Unit – III: (12Hours)
Central Processing Unit : General Register Organization – Stack Organization – Instruction
Formats – Addressing Modes – Data Transfer and Manipulation – Program Control –
Reduced Instruction Set Computer.
Unit – IV: (12Hours)
Computer Arithmetic: Addition and Subtraction - Multiplication Algorithms – Division
Algorithms. Pipeline and Vector Processing: Parallel processing – Pipelining – Arithmetic
pipeline – Instruction pipeline – Vector Processing – Array Processor.
Unit – V: (12Hours)
Memory Organization: Memory Hierarchy – Main Memory – Auxiliary Memory –
Associative Memory – Cache Memory – Virtual Memory – Memory Management Hardware.
Multiprocessors: Characteristics of Multiprocessors – Interconnection Structures –
Interprocessor Arbitration
UNIT-IV
COMPUTER ARITHMETIC:
Computer arithmetic refers to the set of rules and methods used by computers to perform
mathematical operations, such as addition, subtraction, multiplication, and division. This
includes:
1. Binary arithmetic: The use of binary numbers (0s and 1s) to represent and perform
arithmetic operations.
4. Integer arithmetic: The use of integers (whole numbers) to perform arithmetic operations.
5. Modular arithmetic: A system of arithmetic where numbers "wrap around" after reaching a
certain value (modulus).
1. Scientific simulations
2. Cryptography
3. Graphics rendering
4. Machine learning
5. Financial calculations
What Is Parallel Processing?
Parallel processing is a computing technique when multiple streams of
calculations or data processing tasks co-occur through numerous
central processing units (CPUs) working concurrently.
When processing is done in parallel, a big job is broken down into several
smaller jobs better suited to the number, size, and type of available
processing units. After the task is divided, each processor starts working on
its part without talking to the others. Instead, they use software to stay in
touch with each other and find out how their tasks are going.
After all the program parts have been processed, the result is a fully
processed program segment. This is true whether the number of processors
and tasks and processors were equal and they all finished simultaneously or
one after the other.
1. Scientific simulations
2. Data analytics
3. Machine learning
5. Cryptography
1. SISD (Single Instruction, Single Data): One instruction is executed at a time, and it
operates on a single data element. This is the traditional von Neumann architecture.
5. MMP (Massively Parallel Processing): This is not part of Flynn's original taxonomy, but it
refers to a system with a large number of processing units, often in a SIMD or MIMD
configuration, working together to solve complex problems.
PIPELINING:
Pipelining is a technique for breaking down a sequential process into various sub-operations
and executing each sub-operation in its own dedicated segment that runs in parallel with all
other segments.
The most significant feature of a pipeline technique is that it allows several computations to
run in parallel in different parts at the same time.
By associating a register with every segment in the pipeline, the process of computation can
be made overlapping. The registers provide separation and isolation among every segment,
allowing each to work on different data at the same time.
An input register for each segment, followed by a combinational circuit, can be used to
illustrate the structure of a pipeline organisation. To better understand the pipeline
organisation, consider an example of a combined multiplication and addition operation.
A stream of numbers is used to perform the combined multiplication and addition operation,
such as:
for i = 1, 2, 3, ……., 7
Ai* Bi + Ci
The operation to be done on the numbers is broken down into sub-operations, each of which
is implemented in a segment of a pipeline. We can define the sub-operations performed in
every segment of the pipeline as:
R1 ← Ai, R2 ← Bi
R3 ← R1 * R2, R4 ← Ci
R5 ← R3 + R4
The output of a given segment’s combinational circuit is used as an input register for the next
segment. The register R3 is used here as one of the input registers for a combinational adder
circuit, as shown in the block diagram. The pipeline organisation, in general, is applicable to
two areas of computer design. It includes:
VECTOR PROCESSING: