Upload
prabir-k-das
View
33
Download
1
Embed Size (px)
DESCRIPTION
Computer
Citation preview
1
http://www.francisxavier.ac.in
DEPARTMENT OF INFORMATION TECHNOLOGY
ODD SEMESTER-2014
QUESTION BANK
SUBJECT CODE/ NAME: CS 6303/COMPUTER ARCHITECTURE
STAFF NAME: Mrs.S.Muthumariammal YEAR/SEMESTER: II/III
PART-A-TWO MARK QUESTIONS AND ANSWERS
UNIT-I OVERVIEW & INSTRUCTIONS
1.Define Computer Architecture.
It is concerned with the structure and behavior of the computer.
It includes the information formats, the instruction set and techniques for addressing memory.
2.Define Computer Organization.
It describes the function and design of the various units of digital computer that store and process information.
It refers to the operational units and their interconnections that realize the architectural specifications.
3.What are the components of a computer.
Input unit
Memory unit
Arithmetic and Logic Unit
Output unit
Control unit
2
http://www.francisxavier.ac.in
4.Draw the block diagram of computer.
5. What is Execution time/Response time?
Response time also called execution time. The total time required for the computer to complete a
task, including disk accesses, memory accesses, I/O activities, operating system overhead, CPU
execution time, and so on.
6. What is CPU execution time, user CPU time and system CPU time?
CPU time : The actual time the CPU spends computing for a specific task.
user CPU time: The CPU time spent in a program itself.
system CPU time: The CPU time spent in the operating system performing tasks on behalf
the program.
7.What is clock cycle and clock period?
clock cycle :The time for one clock period, usually of the processor clock, which runs at a
constant rate.
clock period :The length of each clock cycle.
6. Define CPI
The term Clock Cycles Per Instruction Which is the average number of clock cycles each
3
http://www.francisxavier.ac.in
instruction takes to execute, is often abbreviated as CPI.
7.State and explain the performance equation?
N denotes number of machine Instructions, Suppose that the average number of basic steps needed
to execute one machine instruction is S, where each basic step is completed in one clock cycle. If the
clock cycle rate is R cycles per second, the processor time is given by
T = (N x S) / R This is often referred to as the basic performance equation.
8. Define MIPS .
MIPS:One alternative to time as the metric is MIPS(Million Instruction Per Second)
MIPS=Instruction count/(Execution time x1000000).This MIPS measurement is also called Native MIPS
to distinguish it from some alternative definitions of MIPS.
9.Define MIPS Rate:
The rate at which the instructions are executed at a given time.
10.Define Throughput and Throughput rate.
Throughput -The total amount of work done in a given time.
Throughput rate-The rate at which the total amount of work done at a given time.
11.What are the various types of operations required for instructions?
Data transfers between the main memory and the CPU registers
Arithmetic and logic operation on data
Program sequencing and control
I/O transfers
12. What is a Program?
A program is a set of instructions that specify the operations, operands and the sequence by
which processing has to occur.
13. What is a Computer Instruction?
A Computer instruction is a binary code that specifies a sequence of micro operations for
the computer.
4
http://www.francisxavier.ac.in
14. What is a Instruction Code?
An instruction code is a group of bits that instruct the computer to perform a specific
operation.
15. What is a Operation Code (Opcode)?
The operation code of an instruction is a group of bits that define operations as add,
subtract, multiply, shift and complement etc.
16. Define Instruction Format.
Instructions are represented as numbers .Therefore, entire programs can be stored in
memory to be read or written just like numbers (data).Thus simplifies software/Hardware of computer
systems. Each instruction is encoded in binary called machine code.
17.What are the Most Common Fields Of An Instruction Format?
An operation code field that specifies the operation to be performed.
An address field that designates, a memory address or register.
A mode field that specifies the way the operand or the effective address is determined
18.Explain the following the address instruction?
Three-address instruction-it can be represented as
ADD A, B, C
Operands a,b are called source operand and c is called destination operand.
Two-address instruction-it can be represented as
ADD A, B
One address instruction-it can be represented as
LOAD A
ADD B
STORE C
19. What is the straight-line sequencing?
5
http://www.francisxavier.ac.in
The CPU control circuitry automatically proceed to fetch and execute instruction, one at a time in
the order of the increasing addresses. This is called straight line sequencing.
20.Wrie down the MIPS Assembly language notation for arithmetic operations.
Categor
y
Instruction Example Meanin
g
Commen
ts
Arithme
tic
add add
$s1,$s2,$s
3
$s1 = $s2 + $s3 Three register operands
subtract sub
$s1,$s2,$s
3
$s1 = $s2 $s3 Three register operands add
immediate addi
$s1,$s2,20
$s1 = $s2 + 20 Used to add constants
21.Wrie down the MIPS Assembly language notation for data transfer operations.
Categor
y
Instruction Example Meanin
g
Commen
ts
Data
trans
fer
load word lw
$s1,20($s2
)
$s1 = Memor y[$s2 +
20]
Word from memor y to
register store word sw
$s1,20($s2
)
Memor y[$s2 + 20] =
$s1
Word from register to
memor y load half lh
$s1,20($s2
)
$s1 = Memor y[$s2 +
20]
Halfword memor y to
register load half
unsigned lhu
$s1,20($s2
)
$s1 = Memor y[$s2 +
20]
Halfword memor y to
register store half sh
$s1,20($s2
)
Memor y[$s2 + 20] =
$s1
Halfword register to
memor y load byte lb
$s1,20($s2
)
$s1 = Memor y[$s2 +
20]
Byte from memor y to
register load byte
unsigned lbu
$s1,20($s2
)
$s1 = Memor y[$s2 +
20]
Byte from memor y to
register store byte sb
$s1,20($s2
)
Memor y[$s2 + 20] =
$s1
Byte from register to
memor y load linked
word ll
$s1,20($s2
)
$s1 = Memor y[$s2 +
20]
Load word as 1st half of
atomic swap store
condition.
word
sc
$s1,20($s2
)
Memory[$s2+20]=$s
1;$s1=0 or 1
Store word as 2nd half of
atomic swap load upper
immed. lui
$s1,20 $s1 = 20 * 216 Loads constant in upper
16 bits
22.Wrie down the MIPS Assembly language notation for Logical operations.
Categor
y
Instruction Example Meanin
g
Comme
nts
and and
$s1,$s2,$s
3
$s1 = $s2 & $s3 Three reg. operands; bit-
by-bit AND or or
$s1,$s2,$s
3
$s1 = $s2 | $s3 Three reg. operands; bit-
by-bit OR nor nor
$s1,$s2,$s
3
$s1 = ~ ($s2 | $s3) Three reg. operands; bit-
by-bit NOR and
immediate andi
$s1,$s2,20
$s1 = $s2 & 20 Bit-by-bit AND reg
with constant
6
http://www.francisxavier.ac.in
Logical or immediate ori
$s1,$s2,2
0
$s1 = $s2 | 20 Bit-by-bit OR reg with
constant shift left
logical sll
$s1,$s2,1
0
$s1 = $s2 > 10 Shift right by constant
23.Wrie down the MIPS Assembly language notation for conditional branch operations.
Categor
y
Instruction Example Meanin
g
Comment
s
Conditi
onal
branch
branch on
equal beq
$s1,$s2,25
if ($s1 == $s2) go to
PC + 4 + 100
Equal test; PC-relative
branch branch on not
equal bne
$s1,$s2,25
if ($s1!= $s2) go to
PC + 4 + 100
Not equal test; PC-
relative set on less
than slt
$s1,$s2,$s3 if ($s2 < $s3) $s1 =
1;
else $s1 = 0
Compare less than; for
beq, bne set on less
than
unsigned
sltu
$s1,$s2,$s3 if ($s2 < $s3) $s1 =
1;
else $s1 = 0
Compare less than
unsigned set less
than
immediat
e
slti
$s1,$s2,20 if ($s2 < 20) $s1 = 1;
else $s1 = 0
Compare less than
constant set less than
immediate
unsigned
sltiu
$s1,$s2,20 if ($s2 < 20) $s1 = 1;
else $s1 = 0
Compare less than
constant unsigned
24.Wrie down the MIPS Assembly language notation for Unconditional branch operations.
Categor
y
Instruction Example Meanin
g
Commen
ts
Uncondi
tional
jump
jump j 2500 go to 10000 Jump to target address
jump register jr $ra go to $ra For switch, procedure
return jump and link jal 2500 $ra = PC + 4; go to
10000
For procedure call
25. What is Addressing Modes?
The different ways in which the location of an operand is specified in an instruction is called as
Addressing mode.
26.What are the different types of addressing Modes?
7
http://www.francisxavier.ac.in
Immediate mode Register mode Absolute mode Indirect mode Index mode Base with index Base with index and offset Relative mode Auto-increment mode Auto-decrement mode
27.Define Register mode and Absolute Mode with examples.
Register mode
The operand is the contents of the processor register.
The name (address) of the register is given in the instruction.
Absolute Mode(Direct Mode):
The operand is in new location.
The address of this location is given explicitly in the instruction.
Eg: MOVE LOC,R2
The above instruction uses the register and absolute mode.
The processor register is the temporary storage where the data in the register are accessed using register
mode.
The absolute mode can represent global variables in the program.
Mode Assembler Syntax Addressing Function
Register mode Ri EA=Ri
Absolute mode LOC EA=LOC
Where EA-Effective Address
28.What is a Immediate addressing Mode?
The operand is given explicitly in the instruction.
Eg: Move 200 immediate ,R0
8
http://www.francisxavier.ac.in
It places the value 200 in the register R0.The immediate mode used to specify the value of source
operand.
In assembly language, the immediate subscript is not appropriate so # symbol is used. It can be re-
written as
Move #200,R0
Assembly Syntax: Addressing Function
Immediate #value Operand =value
29.Define Indirect addressing Mode.
The effective address of the operand is the contents of a register .
We denote the indirection by the name of the register or new address given in the instruction.
Fig:Indirect Mode
Address of an operand(B) is stored into R1 register.If we want this operand,we can get it through
register R1(indirection).
The register or new location that contains the address of an operand is called the pointer.
Mode Assembler Syntax Addressing Function
Indirect Ri , LOC EA=[Ri] or EA=[LOC]
30.Define Index addressing Mode.
The effective address of an operand is generated by adding a constant value to the contents of a
register.
The constant value uses either special purpose or general purpose register. We indicate the index mode symbolically as,
X(Ri)
Where X denotes the constant value contained in the instruction Ri It is the name of the register involved.
The Effective Address of the operand is,
EA=X + [Ri]
9
http://www.francisxavier.ac.in
The index register R1 contains the address of a new location and the value of X defines an
offset(also called a displacement).
To find operand,
First go to Reg R1 (using address)-read the content from R1-1000
Add the content 1000 with offset 20 get the result.
1000+20=1020
Here the constant X refers to the new address and the contents of index register define the
offset to the operand.
The sum of two values is given explicitly in the instruction and the other is stored in register.
Eg: Add 20(R1) , R2 (or) EA=>1000+20=1020
31.What is a Relative Addressing mode?
It is same as index mode. The difference is, instead of general purpose register, here we can use
program counter(PC).
Relative Mode:
The Effective Address is determined by the Index mode using the PC in place of the general
purpose register (gpr).
This mode can be used to access the data operand. But its most common use is to specify the
target address in branch instruction.Eg. Branch>0 Loop
It causes the program execution to goto the branch target location. It is identified by the
name loop if the branch condition is satisfied.
Mode Assembler Syntax Addressing Function
Relative X(PC) EA=[PC]+X
32.Define Auto-increment addressing mode.
The Effective Address of the operand is the contents of a register in the instruction.
After accessing the operand, the contents of this register is automatically incremented
Index Mode Assembler Syntax Addressing Function
Index X(Ri) EA=[Ri]+X
Base with Index (Ri,Rj) EA=[Ri]+[Rj]
Base with Index and offset X(Ri,Rj) EA=[Ri]+[Rj] +X
10
http://www.francisxavier.ac.in
to point to the next item in the list.
Mode Assembler syntax Addressing Function
Auto-increment (Ri)+ EA=[Ri]; Increment Ri
33.Define Auto-decrement addressing mode.
The Effective Address of the operand is the contents of a register in the instruction.
After accessing the operand, the contents of this register is automatically decremented
to point to the next item in the list.
Mode Assembler Syntax Addressing Function
Auto-decrement -(Ri) EA=[Ri]; Decrement Ri
34. Write the formula for CPU execution time for a program.
35. Write the formula for CPU clock cycles required for a program.
36. Define MIPS Million Instructions Per Second (MIPS) is a measurement of program execution speed based on
the number of millions of instructions.
MIPS is computed as:
37. What are the eight great ideas in computer architecture?
11
http://www.francisxavier.ac.in
The eight great ideas in computer architecture are:
1. Design for Moores Law
2. Use Abstraction to Simplify Design
3. Make the Common Case Fast
4. Performance via Parallelism
5. Performance via Pipelining
6. Performance via Prediction
7. Hierarchy of Memories
8. Dependability via Redundancy
38. What are the five classic components of a computer?
The five classic components of a computer are input, output, memory, datapath, and control, with the last
two sometimes combined and called the processor.
39. Define ISA
The instruction set architecture, or simply architecture of a computer is the interface between the
hardware and the lowest-level software. It includes anything programmers need to know to make a binary
machine language program work correctly, including instructions, I/O devices, and so on.
40. Define ABI
Typically, the operating system will encapsulate the details of doing I/O, allocating memory, and other
low-level system functions so that application programmers do not need to worry about such details. The
combination of the basic instruction set and the operating system interface provided for application
programmers is called the application binary interface (ABI).
41. Define Moores Law Moores Law has provided so much more in resources that hardware designers can now build much faster multiplication and division hardware. Whether the multiplicand is to be added or not is known at the
beginning of the multiplication by looking at each of the 32 multiplier bits.
12
http://www.francisxavier.ac.in
UNIT-2 ARITHMETIC OPERATIONS
1. State the principle of operation of a carry look-ahead adder.
The input carry needed by a stage is directly computed from carry signals obtained from all the
preceding stages i-1,i-2,..0, rather than waiting for normal carries to supply slowly from stage to stage. An adder that uses this principle is called carry look-ahead adder.
2. What are the main features of Booths algorithm?
1) It handles both positive and negative multipliers uniformly.
2) It achieves some efficiency in the number of addition required when the multiplier has a few
large blocks of 1s.
3. How can we speed up the multiplication process?(CSE Nov/Dec 2003)
There are two techniques to speed up the multiplication process:
1) The first technique guarantees that the maximum number of summands that must be added is n/2
for n-bit operands.
2) The second technique reduces the time needed to add the summands.
4. What is bit pair recoding? Give an example.
Bit pair recoding halves the maximum number of summands. Group the Booth-recoded
multiplier bits in pairs and observe the following: The pair (+1 -1) is equivalent to the pair (0 +1).
That is instead of adding -1 times the multiplicand m at shift position i to +1 ( M at position i+1, the
same result is obtained by adding +1 ( M at position i.
Eg: 11010 Bit Pair recoding value is 0 -1 -2
5. What is the advantage of using Booth algorithm?
1) It handles both positive and negative multiplier uniformly.
2) It achieves efficiency in the number of additions required when the multiplier has
a few large blocks of 1s.
3) The speed gained by skipping 1s depends on the data.
13
http://www.francisxavier.ac.in
6. Write the algorithm for restoring division.
Do the following for n times:
1) Shift A and Q left one binary position.
2) Subtract M and A and place the answer back in A.
3) If the sign of A is 1, set q0 to 0 and add M back to A.
Where A- Accumulator, M- Divisor, Q- Dividend.
7. Write the algorithm for non restoring division.
Do the following for n times:
Step 1: Do the following for n times:
1) If the sign of A is 0 , shift A and Q left one bit position and subtract M from A; otherwise , shift
A and Q left and add M to A.
2) Now, if the sign of A is 0,set q0 to 1;otherwise , set q0 to0.
Step 2: if the sign of A is 1, add M to A.
8. When can you say that a number is normalized?
When the decimal point is placed to the right of the first (nonzero) significant digit, the number is
said to be normalized.
9. Explain about the special values in floating point numbers.
The end values 0 to 255 of the excess-127 exponent E( are used to represent special values such
as:
When E(= 0 and the mantissa fraction M is zero the value exact 0 is represented.
When E(= 255 and M=0, the value ( is represented.
When E(= 0 and M (0 , denormal values are represented.
When E(= 2555 and M(0, the value represented is called Not a number.
10. Write the Add/subtract rule for floating point numbers.
1) Choose the number with the smaller exponent and shift its mantissa right a number of steps equal to
the difference in exponents.
2) Set the exponent of the result equal to the larger exponent.
14
http://www.francisxavier.ac.in
3) Perform addition/subtraction on the mantissa and determine the sign of the result
4) Normalize the resulting value, if necessary.
11. Write the multiply rule for floating point numbers.
1) Add the exponent and subtract 127.
2) Multiply the mantissa and determine the sign of the result .
3) Normalize the resulting value , if necessary.
12. What is the purpose of guard bits used in floating point arithmetic
Although the mantissa of initial operands are limited to 24 bits, it is important to retain extra bits,
called as guard bits.
13. What are the ways to truncate the guard bits?
There are several ways to truncate the guard bits:
1) Chooping
2) Von Neumann rounding
3) Rounding
14. Define carry save addition(CSA) process.
Instead of letting the carries ripple along the rows, they can be saved and introduced into the next
roe at the correct weighted position. Delay in CSA is less than delay through the ripple carry adder.
15. What are generate and propagate function?
The generate function is given by
Gi=xiyi and
The propagate function is given as
Pi=xi+yi.
16. What is floating point numbers?
In some cases, the binary point is variable and is automatically adjusted as computation proceeds.
In such case, the binary point is said to float and the numbers are called floating point numbers.
17. In floating point numbers when so you say that an underflow or overflow has occurred?
15
http://www.francisxavier.ac.in
In single precision numbers when an exponent is less than -126 then we say that an underflow has
occurred. In single precision numbers when an exponent is less than +127 then we say that an
overflow has occurred.
18. What are the difficulties faced when we use floating point arithmetic?
Mantissa overflow: The addition of two mantissas of the same sign may result in a carryout of the
most significant bit
Mantissa underflow: In the process of aligning mantissas ,digits may flow off the right end of the
mantissa.
Exponent overflow: Exponent overflow occurs when a positive exponent exceeds the maximum
possible value.
Exponent underflow: It occurs when a negative exponent exceeds the maximum possible
exponent value.
19.In conforming to the IEEE standard mention any four situations under which a processor sets
exception flag.
Underflow: If the number requires an exponent less than -126 or in a double precision, if the
number requires an exponent less than -1022 to represent its normalized form the underflow occurs.
Overflow: In a single precision, if the number requires an exponent greater than -127 or in a
double precision, if the number requires an exponent greater than +1023 to represent its normalized form
the underflow occurs.
Divide by zero: It occurs when any number is divided by zero.
Invalid: It occurs if operations such as 0/0 are attempted.
20. Why floating point number is more difficult to represent and process than integer?(CSE
May/June 2007)
An integer value requires only half the memory space as an equivalent.IEEEdouble-precision
floatingpoint value. Applications that use only integer based arithmetic will therefore also have
significantly smaller memory requirement
A floating-point operation usually runs hundreds of times slower than an equivalent integer based
arithmetic operation.
21.Give the booths recoding and bit-pair recoding of the computer.
1000111101000101(CSE May/June 2006)
Booths recoding
1 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0
16
http://www.francisxavier.ac.in
-1 0 0 +1 0 0 0 -1 +1 -1 0 0 +1 -1 +1 -1
Bit-Pair recoding:
1 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0
-2 +1 0 -1 +1 0 +1 1
22.Draw the full adder circuit and give the truth table (CSE May/June 2007)
23. Add 610 to 710 in binary and Subtract 610 from 710 in binary.
Addition,
Subtraction directly,
Inputs Outputs
A B C Carry Sum
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
17
http://www.francisxavier.ac.in
Or via twos complement of -6,
24. Write the overflow conditions for addition and subtraction.
Operation Operand A Operand B Result
Indicating
overflow
A+B 0 0
18
http://www.francisxavier.ac.in
UNIT-3
PROCESSOR AND CONTROL UNIT
1.Define pipelining.
Pipelining is a technique of decomposing a sequential process into sub operations with each sub
process being executed in a special dedicated segment that operates concurrently with all other segments.
2.Define parallel processing.
Parallel processing is a term used to denote a large class of techniques that are used to provide
simultaneous data-processing tasks for the purpose of increasing the computational speed of a computer
system. Instead of processing each instruction sequentially as in a conventional computer, a parallel
processing system is able to perform concurrent data
19
http://www.francisxavier.ac.in
processing to achieve faster execution time.
3.Define instruction pipeline.
The transfer of instructions through various stages of the CPU instruction cycle.,including fetch
opcode, decode opcode, compute operand addresses. Fetch operands, execute Instructions and store
results. This amounts to realizing most (or) all of the CPU in the form of multifunction pipeline called an
instruction pipelining.
4. What are the steps required for a pipelinened processor to process the instruction?
F Fetch: read the instruction from the memory
D Decode: decode the instruction and fetch the source operand(s).
E Execute: perform the operation specified by the instruction.
W Write: store the result in the destination location
5. What are Hazards?
A hazard is also called as hurdle .The situation that prevents the next instruction in the instruction
stream from executing during its designated Clock cycle. Stall is introduced by hazard. (Ideal stage)
6. State different types of hazards that can occur in pipeline.
The types of hazards that can occur in the pipelining were,
1. Data hazards.
2. Instruction hazards.
3. Structural hazards.
7. Define Data hazards
A data hazard is any condition in which either the source or the destination operands of
an instruction are not available at the time expected in pipeline. As a result some operation has
to be delayed, and the pipeline stalls.
8. Define Instruction hazards
The pipeline may be stalled because of a delay in the availability of an instruction. For
20
http://www.francisxavier.ac.in
example, this may be a result of miss in cache, requiring the instruction to be fetched from the
main memory. Such hazards are called as Instruction hazards or Control hazards.
9.Define Structural hazards?
The structural hazards is the situation when two instructions require the use of a given
hardware resource at the same time. The most common case in which this hazard may arise is
access to memory.
10. What are the classification of data hazards?
Classification of data hazard: A pair of instructions can produce data hazard by referring
reading or writing the same memory location. Assume that i is executed before J. So, the hazards
can be classified as,
1. RAW hazard
2. WAW hazard
3. WAR hazard
11.Define RAW hazard : ( read after write)
Instruction j tries to read a source operand before instruction i writes it.
12. Define WAW hazard :( write after write)
Instruction j tries to write a source operand before instruction i writes it.
13.Define WAR hazard :( write after read)
Instruction j tries to write a source operand before instruction i reads it.
14. How data hazard can be prevented in pipelining?
Data hazards in the instruction pipelining can prevented by the following techniques.
a)Operand Forwarding
b)Software Approach
15.How Compiler is used in Pipelining?
A compiler translates a high level language program into a sequence of machine instructions. To
reduce N, we need to have suitable machine instruction set and a compiler that makes good use of it. An
optimizing compiler takes advantages of various features of the target processor to reduce the product
N*S, which is the total number of clock cycles needed to execute a program. The number of cycles is
21
http://www.francisxavier.ac.in
dependent not only on the choice of instruction, but also on the order in which they appear in the program.
The compiler may rearrange program instruction to achieve better performance of course, such changes
must not affect of the result of the computation.
16. How addressing modes affect the instruction pipelining?
Degradation of performance is an instruction pipeline may be due to address dependency where
operand address cannot be calculated without available informatition needed by addressing mode for e.g.
An instructions with register indirect mode cannot proceed to fetch the operand if the previous
instructions is loading the address into the register. Hence operand access is delayed degrading the
performance of pipeline.
17. What is locality of reference?
Many instruction in localized area of the program are executed repeatedly during some time
period and the remainder of the program is accessed relatively infrequently .this is referred as locality of
reference.
18. What is the need for reduced instruction chip?
Relatively few instruction types and addressing modes.
Fixed and easily decoded instruction formats.
Fast single-cycle instruction execution.
Hardwired rather than micro programmed control
19. Define memory access time?
The time that elapses between the initiation of an operation and completion of that operation ,for
example ,the time between the READ and the MFC signals .This is Referred to as memory access time.
20. Define memory cycle time.
The minimum time delay required between the initiations of two successive memory operations,
for example, the time between two successive READ operations.
21.Define Static Memories.
Memories that consist of circuits capable of retaining the state as long as power is applied are
known as static memories.
22. List out Various branching technique used in micro program control unit?
a) Bit-Oring
b) Using Conditional Variable
c) Wide Branch Addressing
22
http://www.francisxavier.ac.in
23. How the interrupt is handled during exception?
* CPU identifies source of interrupt
* CPU obtains memory address of interrupt handles
* pc and other CPU status information are saved
* Pc is loaded with address of interrupt handler and handling program to handle it.
24. List out the methods used to improve system performance.
The methods used to improve system performance are
1. Processor clock
2.Basic Performance Equation
3.Pipelining
4.Clock rate
5.Instruction set
6.Compiler
25. What is meant by data path element? A data path element is a unit used to operate on or hold data within a processor. In the MIPS
implementation, the data path elements include the instruction and data memories, the register file, the
ALU, and adders.
26. What is the use of PC register?
Program Counter (PC) is the register containing the address of the instruction in the program being
executed.
27. What is meant by register file?
The processors 32 general-purpose registers are stored in a structure called a register file. A register file is a collection of registers in which any register can be read or written by specifying the
number of the register in the file. The register file contains the register state of the computer.
28. What is meant by pipelining? Pipelining is an implementation technique in which multiple instructions are overlapped in execution.
Pipelining improves performance by increasing instruction throughput, as opposed to decreasing the
execution time of an individual instruction.
29. What are the five steps in MIPS instruction execution?
23
http://www.francisxavier.ac.in
1. Fetch instruction from memory.
2. Read registers while decoding the instruction. The regular format of MIPS
instructions allows reading and decoding to occur simultaneously.
3. Execute the operation or calculate an address.
4. Access an operand in data memory.
5. Write the result into a register.
30. Write the formula for calculating time between instructions in a pipelined processor.
31. What is pipeline stall? Pipeline stall, also called bubble, is a stall initiated in order to resolve a hazard. They can be seen
elsewhere in the pipeline.
32. What is meant by branch prediction?
Branch prediction is a method of resolving a branch hazard that assumes a given outcome for the branch
and proceeds from that assumption rather than waiting to ascertain the actual outcome.
33. What are exceptions and interrupts?
Exception, also called interrupt, is an unscheduled event that disrupts program execution used to detect
overflow. Eg. Arithmetic overflow, using an undefined instruction.
Interrupt is an exception that comes from outside of the processor.
Eg. I/O device request
34. Define Vectored Interrupts
Vectored interrupt is an interrupt in that the address to which the control is transferred is determined by
the cause of the exception.
24
http://www.francisxavier.ac.in
UNIT-4
PARALLELISM
1. What is Instruction Level Parallelism? (NOV/DEC 2011)
Pipelining is used to overlap the execution of instructions and improve performance. This potential
overlap among instructions is called instruction level parallelism (ILP).
2. Explain various types of Dependences in ILP.
Data Dependences
Name Dependences
Control Dependences 3. What is Multithreading?
Multithreading allows multiple threads to share the functional units of a single processor in an
overlapping fashion. To permit this sharing, the processor must duplicate the independent state of
each thread.
4. What are multiprocessors? Mention the categories of multiprocessors?
Multiprocessor are used to increase performance and improve availability. The different categories are
SISD, SIMD, MIMD.
5. What are two main approaches to multithreading?
Fine-grained multithreading
Coarse-grained multithreading
6. What is the need to use multiprocessors?
1. Microprocessors as the fastest CPUs
Collecting several much easier than redesigning 1
2. Complexity of current microprocessors
Do we have enough ideas to sustain 1.5X/yr?
Can we deliver such complexity on schedule?
3. Slow (but steady) improvement in parallel software (scientific apps, databases, OS)
4. Emergence of embedded and server markets driving microprocessors in addition to desktops
Embedded functional parallelism, producer/consumer model
5. Server figure of merit is tasks per hour vs. latency.
7. Write the advantages of Multithreading.
25
http://www.francisxavier.ac.in
If a thread gets a lot of cache misses, the other thread(s) can continue, taking advantage of the
unused computing resources, which thus can lead to faster overall execution, as these resources would
have been idle if only a single thread was executed. If a thread cannot use all the computing resources of
the CPU (because instructions depend on each other's result), running another thread permits to not leave
these idle.
If several threads work on the same set of data, they can actually share their cache, leading to
better cache usage or synchronization on its values.
8. Write the disadvantages of Multithreading.
Multiple threads can interfere with each other when sharing hardware resources such as caches
or translation lookaside buffers (TLBs). Execution times of a single-thread are not improved but can be
degraded, even when only one thread is executing. This is due to slower frequencies and/or additional
pipeline stages that arc necessary to accommodate thread-switching hardware. Hardware support for
Multithreading is more visible to software, thus requiring more changes to both application programs and
operating systems than Multi processing.
9. What is CMT?
Chip multiprocessors - also called multi-core microprocessors or CMPs for short - are now the
only way to build high-performance microprocessors, for a variety of reasons. Large uniprocessors are no
longer scaling in performance, because it is only possible to extract a limited amount of parallelism from
a typical instruction stream using conventional superscalar instruction issue techniques. In addition, one
cannot simply ratchet up the clock speed on today's processors, or the power dissipation will become
prohibitive in all but water-cooled systems.
10. What is SMT?
Simultaneous multithreading, often abbreviated as SMT, is a technique for improving the overall
efficiency of superscalar CPUs with hardware multithreading. SMT permits multiple independent threads
of execution to better utilize the resources provided by modern processor architectures.
11. Write the advantages of CMP?
CMPs have several advantages over single processor solutions energy and silicon area efficiency
i. By Incorporating smaller less complex cores onto a single chip
ii. Dynamically switching between cores and powering down unused cores
iii. Increased throughput performance by exploiting parallelism
iv.Multiple computing resources can take better advantage of instruction, thread, and process level
12. What are the Disadvantages of SMT?
Simultaneous multithreading cannot improve performance if any of the shared resources are
limiting bottlenecks for the performance. In fact, some applications run slower when simultaneous
multithreading is enabled. Critics argue that it is a considerable burden to put on software developers that
they have to test whether simultaneous multithreading is good or bad for their application in various
situations and insert extra logic to turn it off if it decreases performance.
13. What are the types of Multithreading?
Block multi-threading
26
http://www.francisxavier.ac.in
Interleaved multi-threading
14. What Thread-level parallelism (TLP)?
Explicit parallel programs already have TLP (inherent)
Sequential programs that are hard to parallelize or ILP-limited can be speculatively parallelized in hardware.
15. List the major MIMD Styles
Centralized shared memory ("Uniform Memory Access" time or "Shared Memory Processor")
Decentralized memory (memory module CPU) get more memory bandwidth, lower memory
Drawback: Longer communication latency
Drawback: Software model more complex
16. Distinguish between shared memory multiprocessor and message-passing multiprocessor.
A multiprocessor with a shared address space, that address space can be used to communicate data implicitly via load and store operations is shared memory multiprocessor.
A multiprocessor with a multiple address space, communication of data is done by explicitly passing message among processor is message-passing multiprocessor.
17. Draw the basic structure of Basic Structure of a Symmetric Shared Memory Multiprocessor
18. What is multicore'?
At its simplest, multi-core is a design in which a single physical processor contains the core logic
of more than one processor. It's as if an Intel Xeon processor were opened up and inside were packaged
all the circuitry and logic for two (or more) Intel Xcon processors. The multi-core design takes several
such processor "cores" and packages them as a single physical processor.The goal of this design is to
enable a system to run more tasks simultaneously and thereby achieve greater overall system
performance.
27
http://www.francisxavier.ac.in
19. Write the software implications of a multicore processor?
Multi-core systems will deliver benefits to all software, but especially multi-threaded programs.All code
that supports HT Technology or multiple processors, for example, will benefit automatically from multi-
core processors, without need for modification. Most server-side enterprise packages and many desktop
productivity tools fall into this category.
20. What is coarse grained multithreading?
It switches threads only on costly stalls. Thus it is much less likely to slow down the execution
an individual thread.
21. What is multiple issue? Write any two approaches. Multiple issue is a scheme whereby multiple instructions are launched in one clock cycle. It is a method
for increasing the potential amount of instruction-level parallelism. It is done by replicating the internal
components of the computer so that it can launch multiple instructions in every pipeline stage. The two
approaches are:
1. Static multiple issue (at compile time)
2. Dynamic multiple issue (at run time)
22. What is meant by speculation?
One of the most important methods for finding and exploiting more ILP is speculation. It is an approach
whereby the compiler or processor guesses the outcome of an instruction to remove it as dependence in
executing other instructions.
For example, we might speculate on the outcome of a branch, so that instructions after the branch could
be executed earlier.
23. Define Static Multiple Issue
Static multiple issue is an approach to implement a multiple-issue processor where many decisions are
made by the compiler before execution.
24. Define Issue Slots and Issue Packet
Issue slots are the positions from which instructions could be issued in a given clock cycle. By analogy,
these correspond to positions at the starting blocks for a sprint.
Issue packet is the set of instructions that issues together in one clock cycle; the packet may be
determined statically by the compiler or dynamically by the processor.
25. Define VLIW
Very Long Instruction Word (VLIW) is a style of instruction set architecture that launches many
operations that are defined to be independent in a single wide instruction, typically with many separate
opcode fields.
26. Define Superscalar Processor
28
http://www.francisxavier.ac.in
Superscalar is an advanced pipelining technique that enables the processor to execute more than one
instruction per clock cycle by selecting them during execution. Dynamic multiple-issue processors are
also known as superscalar processors, or simply superscalars.
27. What is meant by loop unrolling?
An important compiler technique to get more performance from loops is loop unrolling, where multiple
copies of the loop body are made. After unrolling, there is more ILP available by overlapping instructions
from different iterations.
28. What is meant by anti-dependence? How is it removed?
Anti-dependence is an ordering forced by the reuse of a name, typically a register, rather than by a true
dependence that carries a value between two instructions. It is also called as name dependence.
Register renaming is the technique used to remove anti-dependence in which the registers are renamed by
the compiler or hardware.
29. What is the use of reservation station and reorder buffer?
Reservation station is a buffer within a functional unit that holds the operands and the operation.
Reorder buffer is the buffer that holds results in a dynamically scheduled processor until it is safe to store
the results to memory or a register.
30. Differentiate in-order execution from out-of-order execution.
Out-of-order execution is a situation in pipelined execution when an instruction is blocked from executing
does not cause the following instructions to wait. It preserves the data flow order of the program.
In-order execution requires the instruction fetch and decode unit to issue instructions in order, which
allows dependences to be tracked, and requires the commit unit to write results to registers and memory in
program fetch order. This conservative mode is called in-order commit.
31. What is meant by hardware multithreading?
Hardware multithreading allows multiple threads to share the functional units of a single processor in an
overlapping fashion to try to utilize the hardware resources efficiently. To permit this sharing, the
processor must duplicate the independent state of each thread. It Increases the utilization of a processor.
32. What are the two main approaches to hardware multithreading?
There are two main approaches to hardware multithreading. Fine-grained multithreading switches
between threads on each instruction, resulting in interleaved execution of multiple threads. This
interleaving is often done in a round-robin fashion, skipping any threads that are stalled at that clock
cycle.
Coarse-grained multithreading is an alternative to fine-grained multithreading. It switches threads only on
costly stalls, such as last-level cache misses.
33. What is SMT?
Simultaneous Multithreading (SMT) is a variation on hardware multithreading that uses the resources of a
multiple-issue, dynamically scheduled pipelined processor to exploit thread-level parallelism. It also
exploits instruction level parallelism.
34. Differentiate SMT from hardware multithreading.
29
http://www.francisxavier.ac.in
Since SMT relies on the existing dynamic mechanisms, it does not switch resources every cycle. Instead,
SMT is always executing instructions from multiple threads, leaving it up to the hardware to associate
instruction slots and renamed registers with their proper threads.
35. What are the three multithreading options?
The three multithreading options are:
1. A superscalar with coarse-grained multithreading
2. A superscalar with fine-grained multithreading
3. A superscalar with simultaneous multithreading
36. Define SMP
Shared memory multiprocessor (SMP) is one that offers the programmer a single physical address space
across all processors - which is nearly always the case for multicore chips. Processors communicate
through shared variables in memory, with all processors capable of accessing any memory location via
loads and stores.
UNIT-5
MEMORY AND I/O SYSTEMS
1. What are the multimedia applications which use caches?
Some Multimedia application areas where cache is extensively used are
*Multimedia Entertainment
*Education
*Office Systems
*Audio and video Mail
30
http://www.francisxavier.ac.in
*Computer Architecture - Set 6
2. Explain virtual memory technique.
Techniques that automatically move program and data blocks into the physical memory
when they are required for execution are called virtual memory technique
3. What are virtual and logical addresses?
The binary addresses that the processor issues for either instruction or data are called
virtual or logical addresses.
4. Define translation buffer.
Most commercial virtual memory systems incorporate a mechanism that can avoid the bulk of the
main memory access called for by the virtual to physical addresses translation buffer. This may be done
with a cache memory called a translation buffer.
5. What is branch delay slot?
The location containing an instruction that may be fetched and then discarded because of
the branch is called branch delay slot.
6. What is optical memory?
Optical or light based techniques for data storage, such memories usually employ optical
disk which resemble magnetic disk in that they store binary information in concentric tracks on
an electromechanically rotated disks. The information is read as or written optically, however
with a laser replacing the read write arm of a magnetic disk drive. Optical memory offer high
storage capacities but their access rate is are generally less than those of magnetic disk.
7. What are static and dynamic memories?
Static memory are memories which require periodic no refreshing. Dynamic memories
are memories, which require periodic refreshing.
8. What are the components of memory management unit?
A facility for dynamic storage relocation that maps logical memory references into
physical memory addresses.
31
http://www.francisxavier.ac.in
A provision for sharing common programs stored in memory by different users .
9. What is the role of MAR and MDR?
The MAR (memory address register) is used to hold the address of the location to or from
which data are to be transferred and the MDR(memory data register) contains the data to be
written into or read out of the addressed location.
10. Distinguish Between Static RAM and Dynamic RAM?
Static RAM are fast, but they come at high cost because their cells require several
transistors. Less expensive RAM can be implemented if simpler cells are used. However such
cells do not retain their state indefinitely; Hence they are called Dynamic RAM.
11. Distiguish between asynchronies DRAM and synchronous RAM.
The specialized memory controller circuit provides the necessary control signals, RAS
And CAS ,that govern the timing. The processor must take into account the delay in the response
of the memory. Such memories are referred to as asynchronous DRAMS.The DRAM whose
operations is directly synchronized with a clock signal. Such Memories are known as
synchronous DRAM.
12. What do you mean associative mapping technique?
The tag of an address received from the CPU is compared to the tag bits of each block of the cache
to see if the desired block is present. This is called associative mapping technique.
13. What is SCSI?
Small computer system interface can be used for all kinds of devices including RAID
storage subsystems and optical disks for large- volume storage applications.
14. What are the two types of latencies associated with storage?
The latency associated with storage is divided into 2 categories
1. Seek Latencies which can be classified into Overlapped seek,Mid transfer seek and Elevator seek
32
http://www.francisxavier.ac.in
2. Rotational Latencies which can be reduced either by Zero latency read or Write and Interleave factor.
15. What do you mean by Disk Spanning?
Disk spanning is a method of attaching drives to a single host uadapter. All drives appear as a
single contiguous logical unit. Data is written to the first drive first and when the drive is full, the
controller switches to the second drive, then the second drive writes until its full.
16. What is SCSI?
Small computer system interface can be used for all kinds of devices including RAID storage
subsystems and optical disks for large- volume storage applications.
17. Define the term RELIABILITY
Means feature that help to avoid and detect such faults. A realible system does not silently continue and delivery result that include interrected and corrupted data, instead it corrects the corruption
when possible or else stops
18.Define the term AVAILABLITY:
Means features that follow the systerm to stay operational even offen faults do occur. A highly available systerm could dis able do the main functioning portion and continue operating at the reduced
capacity
19. How the interrupt is handled during exception?
* cpu identifies source of interrupt
* cpu obtains memory address of interrupt handles
* pc and other cpu status information are saved
* Pc is loaded with address of interrupt handler and handling program to handle it
20. What is IO mapped input output?
A memory reference instruction activated the READ M (or)WRITE M control line and does not
affect the IO device. Separate IO instruction are required to activate the READ IO and WRITE IO lines
,which cause a word to be transferred between the address aio port and the CPU. The memory and IO
address space are kept separate.
21.Specify the three types of the DMA transfer techniques?
--Single transfer mode(cyclestealing mode)
--Block Transfer Mode(Brust Mode)
--Demand Transfer Mode --Cascade Mode
33
http://www.francisxavier.ac.in
22. What is an interrupt?
An interrupt is an event that causes the execution of one program to be suspended and another
program to be executed.
23.What are the uses of interrupts?
*Recovery from errors
*Debugging
*Communication between programs
*Use of interrupts in operating system
24.Define vectored interrupts.
In order to reduce the overhead involved in the polling process, a device requesting an interrupt
may identify itself directly to the CPU. Then, the CPU can immediately start executing the corresponding
interrupt-service routine. The term vectored interrupts refers to all interrupthandling schemes base on this
approach.
25. Name any three of the standard I/O interface.
*SCSI (small computer system interface),bus standards
*Back plane bus standards
*IEEE 796 bus (multibus signals)
*NUBUS & IEEE 488 bus standard
26. What is an I/O channel?
An i/o channel is actually a special purpose processor, also called peripheral processor.The main
processor initiates a transfer by passing the required information in the input output channel. the channel
then takes over and controls the actual transfer of data.
27.What is a bus?
A collection of wires that connects several devices is called a bus.
28.Define word length?
Each group of n bits is referred to as a word of information and n is called the word length.
29. Why program controlled I/O is unsuitable for high-speed data transfer?
In program controlled i/o considerable overhead is incurred..because several program instruction
have to be executed for each data word transferred between the external devices and MM.Many high
speed peripheral; devices have a synchronous modes of operation.that is data transfer are controlled by a
clock of fixed frequency, independent of the cpu.
34
http://www.francisxavier.ac.in
30.what is the function of i/o interface?
The function is to coordinate the transfer of data between the cpu and external devices.
31.what is NUBUS?
A NUBUS is a processor independent, synchronous bus standard intended for use in 32 bitmicro
processor system. It defines a backplane into which upto 16 devices may be plugged each in the form of
circuit board of standard dimensions.
32. Name some of the IO devices.
*Video terminals
*Video displays
*Alphanumeric displays
*Graphics displays
* Flat panel displays
*Printers
*Plotters
33. What are the steps taken when an interrupt occurs?
*Source of the interrupt
*The memory address of the required ISP
* The program counter &cpu information saved in subroutine
*Transfer control back to the interrupted program
34.Define interface.
The word interface refers to the boundary between two circuits or devices
35.What is programmed I/O?
Data transfer to and from peripherals may be handled using this mode. Programmed I/O
operations are the result of I/O instructions written in the computer program.
36.Types of buses.
-Synchronous bus
-Asynchronous bus
35
http://www.francisxavier.ac.in
37.Define Synchronous bus.
- Synchronous bus on other hand contains synchronous clock that is used to validate each and every
signal.
- Synchronous buses are affected noise only when clock signal occurs.
- Synchronous bus designers must control with meta stability when attempting different clock signal
Frequencies
- Synchronous bus of meta stability arises in any flip flop. when time will be violated.
38. Define Asynchronous bus.
- Asynchronous buses can mistake noise pulses at any time for valid handshake signal.
- Asynchronous bus designer must deal with events that like synchronously.
- It must contend with meta stability when events that drive bus transaction.
-When flip flop experiences effects can occur in downstream circuitry unless proper design technique
which are used
39. What are the temporal and spatial localities of references? Temporal locality (locality in time): if an item is referenced, it will tend to be
referenced again soon.
Spatial locality (locality in space): if an item is referenced, items whose
addresses are close by will tend to be referenced soon.
40. Write the structure of memory hierarchy.
36
http://www.francisxavier.ac.in
41. What are the various memory technologies? The various memory technologies are:
1. SRAM semiconductor memory
2. DRAM semiconductor memory
3. Flash semiconductor memory
4. Magnetic disk
42. Differentiate SRAM from DRAM.
SRAMs are simply integrated circuits that are memory arrays with a single access port that can provide
either a read or a write. SRAMs have a fixed access time to any datum. SRAMs dont need to refresh and so the access time is very close to the cycle time. SRAMs typically use six to eight transistors per bit to
prevent the information from being disturbed when read. SRAM needs only minimal power to retain the
charge in standby mode.
In a dynamic RAM (DRAM), the value kept in a cell is stored as a charge in a capacitor. A single
transistor is then used to access this stored charge, either to read the value or to overwrite the charge
stored there. Because DRAMs use only a single transistor per bit of storage, they are much denser and
cheaper per bit than SRAM.
43. What is flash memory?
Flash memory is a type of electrically erasable programmable read-only memory (EEPROM). Unlike
disks and DRAM, EEPROM technologies can wear out flash memory bits. To cope with such limits, most
flash products include a controller to spread the writes by remapping blocks that have been written many
times to less trodden blocks. This technique is called wear levelling.
44. Define Rotational Latency
Rotational latency, also called rotational delay, is the time required for the desired sector of a disk to
rotate under the read/write head, usually assumed to be half the rotation time.
45. What is direct-mapped cache?
Direct-mapped cache is a cache structure in which each memory location is mapped to exactly one
location in the cache. For example, almost all direct-mapped caches use this mapping to find a block,
(Block address) modulo (Number of blocks in the cache)
46. Consider a cache with 64 blocks and a block size of 16 bytes. To what block number does byte
address 1200 map?
37
http://www.francisxavier.ac.in
The block is given by,
47. How many total bits are required for a direct-mapped cache with 16 KiB of
data and 4-word blocks, assuming a 32-bit address?
48. What are the writing strategies in cache memory? Write-through is a scheme in which writes always update both the cache and the next lower level of the
memory hierarchy, ensuring that data is always consistent between the two.
Write-back is a scheme that handles writes by updating values only to the block in the cache, then writing
the modified block to the lower level of the hierarchy when the block is replaced.
49. What are the steps to be taken in an instruction cache miss?
The steps to be taken on an instruction cache miss are
1. Send the original PC value (current PC 4) to the memory. 2. Instruct main memory to perform a read and wait for the memory to
38
http://www.francisxavier.ac.in
complete its access.
3. Write the cache entry, putting the data from memory in the data portion of the entry, writing the upper
bits of the address (from the ALU) into the tag
field, and turning the valid bit on.
4. Restart the instruction execution at the first step, which will refetch the
instruction, this time finding it in the cache.
50. Define TLB Translation-Lookaside Buffer (TLB) is a cache that keeps track of recently used address mappings to try
to avoid an access to the page table.
51. What is meant by virtual memory? Virtual memory is a technique that uses main memory as a cache for secondary storage. Two major motivations for virtual memory: to allow efficient and safe sharing of memory among multiple programs,
and to remove the programming burdens of a small, limited amount of main memory.
52. Differentiate physical address from logical address.
Physical address is an address in main memory.
Logical address (or) virtual address is the CPU generated addresses that corresponds to a location in
virtual space and is translated by address mapping to a physical address when memory is accessed.
53. Define Page Fault
Page fault is an event that occurs when an accessed page is not present in main memory.
54. What is meant by address mapping?
Address translation also called address mapping is the process by which a virtual address is mapped to an
address used to access memory.
39
http://www.francisxavier.ac.in
PART-B
16 MARK QUESTIONS
UNIT-I
OVERVIEW & INSTRUCTIONS
1. Explain the Eight ideas of the Computer architects in detail.(8)
The eight great ideas in computer architecture are:
1. Design for Moores Law
2. Use Abstraction to Simplify Design
3. Make the Common Case Fast
4. Performance via Parallelism
5. Performance via Pipelining
6. Performance via Prediction
40
http://www.francisxavier.ac.in
7. Hierarchy of Memories
8. Dependability via Redundancy
2. Explain the components of a computer with the block diagram in detail.(16)
3. Explain the technologies for building computer over time with a neat graph.(6)
Electronics technology continues to evolve
Increased capacity and performance
Reduced cost
4. Explain the chip manufacturing process with a neat diagram in detail.(10)
Silicon: semiconductor
Add materials to transform properties:
Conductors
Insulators
Switch
41
http://www.francisxavier.ac.in
4.Explain the techniques used to measure the performance of a computer.(8)
Response time
How long it takes to do a task
Throughput
Total work done per unit time
e.g., tasks/transactions/ per hour
How are response time and throughput affected by
Replacing the processor with a faster version?
Adding more processors?
Define Performance = 1/Execution Time
X is n time faster than Y
2area/2)) Diearea per (Defects(1
1Yield
area Diearea Wafer waferper Dies
Yield waferper Dies
waferper Costdie per Cost
n XY
YX
time Executiontime Execution
ePerformancePerformanc
42
http://www.francisxavier.ac.in
Example: time taken to run a program
10s on A, 15s on B
Execution TimeB / Execution TimeA = 15s / 10s = 1.5
So A is 1.5 times faster than B
Elapsed time
Total response time, including all aspects
Processing, I/O, OS overhead, idle time
Determines system performance
CPU time
Time spent processing a given job
Discounts I/O time, other jobs shares
Comprises user CPU time and system CPU time
Different programs are affected differently by CPU and system performance
CPU Clocking
CPU Time
Instruction Count and CPI
Performance depends on
Algorithm: affects IC, possibly CPI
Programming language: affects IC, CPI
Compiler: affects IC, CPI
Instruction set architecture: affects IC, CPI, Tc
cycle Clock
Seconds
nInstructio
cycles Clock
Program
nsInstructioTime CPU
43
http://www.francisxavier.ac.in
5.(i)Prove that how performance and execution are inverse to each other.(2)
(ii) If computer A runs a program in 10 seconds and computer B runs the same program in 15 seconds,
how much faster is A than B?(2)
(iii)Write the formula to calculate the CPU execution time for a program.(2)
(iv) Write the formula to calculate the CPU clock cycles.(2)
(v) Write the formula to calculate the classic CPU Performance equation.(2)
6. Explain how clock rate and power are related to each other in microprocessor over years with a
neat graph.(6)
Suppose a new CPU has
n XY
YX
time Executiontime Execution
ePerformancePerformanc
Rate Clock
Cycles Clock CPU
Time Cycle ClockCycles Clock CPUTime CPU
Rate Clock
CPICount nInstructio
Time Cycle ClockCPICount nInstructioTime CPU
nInstructio per CyclesCount nInstructioCycles Clock
cycle Clock
Seconds
nInstructio
cycles Clock
Program
nsInstructioTime CPU
FrequencyVoltageload CapacitivePower 2
44
http://www.francisxavier.ac.in
85% of capacitive load of old CPU 15% voltage and 15% frequency reduction
7. Explain the need to switch from uniprocessors to multiprocessors and draw the performance
chart for processors over years. (6)
Multicore microprocessors More than one processor per chip
Requires explicitly parallel programming Compare with instruction level parallelism
Hardware executes multiple instructions at once Hidden from the programmer
Hard to do Programming for performance Load balancing Optimizing communication and synchronization
8. Explain the basic instruction types with examples.(6)
Instructions fall into several broad categories that you should be familiar with:
Data movement. Arithmetic. Boolean. Bit manipulation.
0.520.85FVC
0.85F0.85)(V0.85C
P
P 4
old
2
oldold
old
2
oldold
old
new
45
http://www.francisxavier.ac.in
I/O. Control transfer. Special purpose.
9. (i)Explain the different types of instruction set architecture in detail(6)
Instruction set architectures are measured according to:
Main memory space occupied by a program. Instruction complexity. Instruction length (in bits). Total number of instructions in the instruction set.
In designing an instruction set, consideration is given to:
Instruction length. Whether short, long, or variable.
Number of operands. Number of addressable registers. Memory organization.
Whether byte- or word addressable. Addressing modes.
Choose any or all: direct, indirect or indexed. Byte ordering, or endianness, is another major architectural consideration. If we have a two-byte integer, the integer may be stored so that the least significant byte is
followed by the most significant byte or vice versa.
In little endian machines, the least significant byte is followed by the most significant byte. Big endian machines store the most significant byte first (at the lower address).
Stack architectures require us to think about arithmetic expressions a little differently. We are accustomed to writing expressions using infix notation, such as: Z = X + Y. Stack arithmetic requires that we use postfix notation: Z = XY+.
This is also called reverse Polish notation, (somewhat) in honor of its Polish inventor, Jan Lukasiewicz (1878 - 1956).
10. What do you mean by addressing modes? Explain various addressing modes with the help of
examples.(16)
Immediate addressing is where the data is part of the instruction.
Direct addressing is where the address of the data is given in the instruction.
Register addressing is where the data is located in a register.
Indirect addressing gives the address of the address of the data in the instruction.
Register indirect addressing uses a register to store the address of the address of the data.
46
http://www.francisxavier.ac.in
Indexed addressing uses a register (implicitly or explicitly) as an offset, which is added to the address in the operand to determine the effective address of the data.
Based addressing is similar except that a base register is used instead of an index register.
The difference between these two is that an index register holds an offset relative to the address given in the instruction, a base register holds a base address where the address field represents a
displacement from this base.
In stack addressing the operand is assumed to be on top of the stack.
There are many variations to these addressing modes including:
Indirect indexed.
Base/offset.
Self-relative
Auto increment - decrement.
47
http://www.francisxavier.ac.in
UNIT-2
ARITHMETIC OPERATIONS
1.Explain the design of ALU in detail.(16)
An arithmetic logic unit (ALU)
Performs arithmetic and logic operations
A fundamental building block of the Central Processing Unit (CPU) of a computer
Even the simplest microprocessors contain one for purposes such as maintaining timers
A combinational logic circuit
48
http://www.francisxavier.ac.in
2.Explain with an example how to multiply two unsigned binary numbers.(8)
Paper and pencil example (unsigned):
Multiplica 1000
Multiplier 1001
1000
0000
0000
1000
Produc 01001000
49
http://www.francisxavier.ac.in
m bits x n bits = m+n bit product
Binary makes it easy:
0 => place 0 ( 0 x multiplicand)
1 => place a copy ( 1 x multiplicand)
4 versions of multiply hardware & algorithm:
successive refinement
3.Describe in detail booths multiplication algorithm and its hardware implementation?
Current Bit Bit to the Right Explanation Example Op
1 0 Begins run of 1s 000111100 sub
1 1 Middle of run of 1s 0001111000 none
0 1 End of run of 1s 0001111000 add
0 0 Middle of run of 0s 0001111000 none
Originally for Speed (when shift was faster than add)
Replace a string of 1s in multiplier with an initial subtract when we first see a one and then later add for the bit after the last one
Booth's algorithm can be implemented by repeatedly adding (with ordinary unsigned binary addition) one
of two predetermined values A and S to a product P, then performing a rightward arithmetic shift on P.
Let m and r be the multiplicand and multiplier, respectively; and let x and y represent the number of bits
in m and r.
1. Determine the values of A and S, and the initial value of P. All of these numbers should have a length equal to (x + y + 1).
50
http://www.francisxavier.ac.in
1. A: Fill the most significant (leftmost) bits with the value of m. Fill the remaining (y + 1) bits with zeros.
2. S: Fill the most significant bits with the value of (m) in two's complement notation. Fill the remaining (y + 1) bits with zeros.
3. P: Fill the most significant x bits with zeros. To the right of this, append the value of r. Fill the least significant (rightmost) bit with a zero.
2. Determine the two least significant (rightmost) bits of P.
1. If they are 01, find the value of P + A. Ignore any overflow.
2. If they are 10, find the value of P + S. Ignore any overflow.
3. If they are 00, do nothing. Use P directly in the next step.
4. If they are 11, do nothing. Use P directly in the next step.
3. Arithmetically shift the value obtained in the 2nd step by a single place to the right. Let P now equal this new value.
4. Repeat steps 2 and 3 until they have been done y times.
5. Drop the least significant (rightmost) bit from P. This is the product of m and r.
4.Explain the Working of a Carry-Look Ahead adder. (16)
51
http://www.francisxavier.ac.in
5.Derive and explain an algorithm for adding and subtracting two floating point binary
numbers.(8)
ADDITION
example on decimal value given in scientific notation:
3.25 x 10 ** 3
+ 2.63 x 10 ** -1
-----------------
first step: align decimal points
second step: add
3.25 x 10 ** 3
+ 0.000263 x 10 ** 3
--------------------
3.250263 x 10 ** 3
(presumes use of infinite precision, without regard for accuracy)
third step: normalize the result (already normalized!)
52
http://www.francisxavier.ac.in
SUBTRACTION
like addition as far as alignment of radix points
then the algorithm for subtraction of sign mag. numbers takes over.
before subtracting,
compare magnitudes (don't forget the hidden bit!)
change sign bit if order of operands is changed.
don't forget to normalize number afterward.
Step 1: Calculate difference d of the two exponents - d=|E1 - E2|
Step 2: Shift significand of smaller number by d base- positions to the right
Step 3: Add aligned significands and set exponent of result to exponent of larger operand
Step 4: Normalize resultant significand and adjust exponent if necessary
Step 5: Round resultant significand and adjust exponent if necessary
6.Describe the algorithm for integer division with suitable examples.(16)
53
http://www.francisxavier.ac.in
7.Perform the integer division using non-restoring and restoring division. (10)
9 / 4
The restoring-division algorithm:
S1: DO n times
Shift A and Q left one binary position.
Subtract M from A, placing the answer back in A.
If the sign of A is 1, set q0 to 0 and add M back to A (restore A); otherwise, set q0 to 1.
The non-restoring division algorithm:
S1: Do n times
If the sign of A is 0, shift A and Q left one binary position and subtract M from A; otherwise, shift A
and Q left and add M to A.
S2: If the sign of A is 1, add M to A.
54
http://www.francisxavier.ac.in
UNIT-3
PROCESSOR AND CONTROL UNIT
1.Discuss the basic concepts of pipelining.
F4I4
F1
F2
F3
I1
I2
I3
D1
D2
D3
D4
E1
E2
E3
E4
W1
W2
W3
W4
Instruction
Figure 8.2. A 4-stage pipeline.
Clock cy cle 1 2 3 4 5 6 7
(a) Instruction execution div ided into f our steps
F : Fetchinstruction
D : Decodeinstructionand f etchoperands
E: Executeoperation
W : Writeresults
Interstage buff ers
(b) Hardware organization
B1 B2 B3
Time
55
http://www.francisxavier.ac.in
2.State and explain the different types of hazards that can occur in a pipeline.
Data Hazards
Instruction Hazards
3. Explain the basic MIPS implementation of instruction set
Our implementation of the MIPS is simplified
l memory-reference instructions: lw, sw
l arithmetic-logical instructions: add, sub, and, or, slt
l control flow instructions: beq, j
Generic implementation
l use the program counter (PC) to supply the instruction address and fetch the instruction from memory (and update the PC)
l decode the instruction (and read registers)
l execute the instruction
All instructions (except j) use the ALU after reading the registers
Clocking Methodologies
The clocking methodology defines when signals can be read and when they are written
l An edge-triggered methodology
Fetching instructions involves
l reading the instruction from the Instruction Memory
l updating the PC to hold the address of the next instruction
Decoding instructions involves
l sending the fetched instructions opcode and function field bits to the control unit
Executing R Format Operations
R format operations (add, sub, slt, and, or)
Executing Load and Store Operations
Load and store operations involves
56
http://www.francisxavier.ac.in
l compute memory address by adding the base register (read from the Register File during decode) to the 16-bit signed-extended offset field in the instruction
l store value (read from the Register File during decode) written to the Data Memory
l load value, read from the Data Memory, written to the Register File
4.What is data hazard?Explain the methods for dealing with the data hazards
Data hazards occur when data is used before it is ready
The use of the result of the SUB instruction in the next three instructions causes a data hazard, since
the register $2 is not written until after those instructions read it
Solutions for Data Hazards
57
http://www.francisxavier.ac.in
Stalling
Forwarding:
connect new value directly to next stage
Reordering
5.Describe the data and control path techniques in pipelining.(10)
Data path part of the CPU where data signals flow
Control unit guides data signals through data path
Pipelining a way of achieving greater performance
Data Path:
The whole point of pipelining is to allow multiple instructions to execute at the same time.
We may need to perform several operations in the same cycle.
Increment the PC and add registers at the same time.
Fetch one instruction while another one reads or writes data.
Clock cycle
1 2 3 4 5 6 7 8 9
lw $t0, 4($sp) IF ID EX MEM WB
sub $v0, $a0,
$a1
IF ID EX MEM WB
and $t1, $t2,
$t3
IF ID EX MEM WB
or $s0, $s1,
$s2
IF ID EX MEM WB
add $t5, $t6,
$0
IF ID EX MEM WB
Thus, like the single-cycle datapath, a pipelined processor will need to duplicate hardware elements that are needed several times in the same clock cycle.
58
http://www.francisxavier.ac.in
Control Path:
Control unit guides data signals through data path
6.What is instruction hazard?Explain in detail how to handle the instruction hazards in
pipelining with relevant examples.(10)
Whenever the stream of instructions supplied by the instruction fetch unit is interrupted, the pipeline stalls.
Cache miss
Branch
Scoreboards are designed to control the flow of data between registers and multiple arithmetic units in
the presence of conflicts caused by hardware resource limitations (structural hazards) and by
dependencies between instructions (data hazards). Data hazards can be classified as flow
dependencies (Read-After-Write), output dependencies (Write-After-Write) and anti-
dependencies (Write-After-Read).
Read-After-Write (RAW) Hazards
A Read-After-Write hazard occurs when an instruction requires the the result of a previously
issued, but as yet uncompleted instruction. In the RAW example shown in the figure, the second
instruction requires the value in R6 which has not yet been produced by the first instruction.
Write-After-Write (WAW) Hazards
A Write-After-Write hazard occurs when an instruction tries to write its result to the same register
as a previously issued, but as yet uncompleted instruction. In the WAW example shown in the
figure, both instructions write their results to R6. Although this latter example is unlikely to arise
in normal programming practice, it must nevertheless give the correct result. Without proper
interlocks the add operation would complete first and the result in R6 would then be overwritten
by that of the multiplication.
Write-After-Read (WAR) Hazards
A Write-After-Read hazard occurs when an instruction tries to write to a register which has not yet
been read by a previously issued, but as yet uncompleted instruction. This hazard cannot occur in
most systems, but could occur in the CDC 6600 because of the way instructions were issued to the
arithmetic units. The WAR example shown in the figure is based on the CDC 6600, in which
floating-point values were held in X registers.
59
http://www.francisxavier.ac.in
The WAR hazard here is on register X4 in the third instruction. It arises because instructions which are held up by a RAW hazard are nevertheless issued to their arithmetic unit, where they
wait for their operands. Thus the second instruction can be issued immediately after the first, but it
is held up in the add unit waiting for its operands because of the WAR hazard on X3 which cannot
be read until the divide unit completes its operation. The third instruction can likewise be issued
immediately after the second and it can start its operation. The floating-point add operation
completes in very much less time than division, however, and the add unit is therefore ready to
store its result in X4 before the multiply unit has read the current value in X4. Thus there has to be
an interlock between the multiply and add instructions to prevent the add instruction from writing
to X4 before the multiply instruction has read its current value
7.Describe the techniques for handling control hazards in pipelining.(10)
Control hazards - attempt to make decision before condition is evaluated
Solution to control hazard:
Stall
stop loading instructions until result is available
Predict
assume an outcome and continue fetching (undo if prediction is wrong)
lose cycles only on mis-prediction
Delayed branch
specify in architecture that the instruction immediately following branch is always executed
8.Write note on exception handling.(6)
Exceptions definition: unexpected change in control flow
Another form of control hazard.
For example:
add $1, $2, $1; causing an arithmetic overflow
sw $3, 400($1);
add $5, $1, $2;
60
http://www.francisxavier.ac.in
Invalid $1 contaminates other registers or memory locations!
Two Types of Exceptions: Interrupts and Traps
Interrupts
Caused by external events:
Network, Keyboard, Disk I/O, Timer
Page fault - virtual memory
System call - user request for OS action
Asynchronous to program execution
May be handled between instructions
Simply suspend and resume user program
Traps
Caused by internal events
Exceptional conditions (overflow)
Undefined Instruction
Hardware malfunction
Usually Synchronous to program execution
Condition must be remedied by the handler
Instruction may be retried or simulated and program continued or program may be aborted
UNIT 4
Instruction Level