Nothing Special   »   [go: up one dir, main page]

Computer Organization and Architecture Cs2253: Part-A

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 21

COMPUTER ORGANIZATION AND ARCHITECTURE CS2253 PART-A

UNIT I

1. What are the basic functional units of a computer? Input, memory, arithmetic and logic unit, output and control units are the basic functional units of a computer

2. Define Response time and Throughput. Response time is the time between the start and the completion of the event. Also referred to as execution time or latency. Throughput is the total amount of work done in a given amount of time.

3. Define a program? A list of instructions that performs a task is called as a program

4.Define data. Data are numbers and encoded characters that are used as operands by the instructions. The term data, however is often used to mean any digital information.

5.Give some examples for input devices. Keyboard,joysticks,trackballs and mousse are some examples for input devices.

6.Compute the effective CPI for the processor, for the following instruction mix: Instruction type ALU operation Loads Stores Branch taken Branch untaken Clock cycle count Frequency 1 40 3 20 2 10 3 20 2 10

Adding a branch prediction unit makes an enhancement to the processor. This decreases the number of cycle taken to execute a branch from 3 to 2. What is the improvement in performance? Speed up= execution time old / execution time
new

execution time old or CPU time= I.C. * Clk Cycles * Cycle time execution time old =[40*1+20*3+10*2+20*2+10*2] Cycles * cycles time. The enhancement decreases the number of cycles taken for branch instruction from 3 to 2. execution time new =[40*1+20*3+10*2+20*2+10*2] Cycles * cycles time = 180 Cycles * cycles time \\ Speed up = 200 Cycles * cycles time / 180 Cycles * cycles time = 1.1

7. Suppose that we are considering an enhancement to the processor of a server system used for web serving. The new CPU is 10 times faster on computation in the web serving application than the original processor. Assuming that the original CPU is busy with computation 40% of the time and is waiting for I/O 60% of the time. What is the overall speedup gained by incorporating the enhancement? Fraction enhanced = 0.4 Speedup enhanced = 10 Speedup overall = 1/(0.6+0.4/10) =1/0.64 = 1.56

8. Explain the different types of locality. Temporal locality, states that recently accessed items are likely to be

accessed in the near future.Spatial locality, says that items whose addresses are near one another tend to be referenced close together in time.

9. What is the function of memory unit? how will you classify it? The function of the memory unit is to store programs and data, there are two classes of storage, called primary and secondary.

10. Specify the CPU performance equation. CPU time = Instruction Count x Clock cycle Time x cycles per instruction

11. Explain the hybrid approach for encoding an instruction set? The hybrid approach reduces the variability in size and work of the variable architecture but provide multiple instruction lengths to reduce code size.

12. What are the registers used for MIPS processors. MIPS has 34, 64-bit general purpose registers (GPRs), named R0, R1R31. GPRs are sometimes called as integer registers. There are also a set of 32 floating point registers (FPRs), named F0,F1.F31, which can hold 32 single precision values and 32 double precision values.

13. Explain the concept behind pipelining. Pipelining is an implementation technique whereby multiple instructions are overlapped in execution. It takes advantage of parallelism that exists among actions needed to execute an instruction.

14. Write about pipe stages and processor cycle. Different steps in an instruction are completed in different parts of different instruction is parallel. Each of these steps is called a pipe stage or pipe segment. The time required between moving an instruction one step down the pipeline is called processor cycle.

15. Explain pipeline hazard and mention the different hazards in pipeline. Hazards are situations that prevent the next instruction in the instruction stream from executing during its designated clock cycle. Hazards reduce the overall performance from the ideal speedup gained by pipelining. The three classes of hazards are, Structural hazards. Data hazards. Control hazards

16. Explain the concept of forwarding. Forwarding can be generalized to include passing a result directly to the functional unit that fetches it. The result is forwarded from the pipeline register corresponding to the output of one unit to the input of the same unit.

17. Mention the different schemes to reduce pipeline branch penalties. a. Freeze or flush the pipeline b. Treat every branch as not taken c. Treat every branch as taken d. Delayed branch

18. what are timing signals?

Timing signals are signals that determines when a given action is to take place.the actual timing signals that govern the transfers are generated by control circuits.

19.how will you compute the SPEC rating? SPEC stands for system performance evaluation corporation Running time on the reference computer SPEC rating= _________________________________ Running time on the computer under test

20. When do data hazards arise? Data hazards arise when an instruction depends on the results of a previous instruction in a way that is expressed by the overlapping of instructions in the pipeline.

UNIT II

1. what are the two approaches to reduce delay in address?


To use fastest possible electronic technology in implementing the ripple-carry logic design or variations of it. To use an augmented logic gate network structure

2. What is Instruction Level Parallelism? Pipelining is used to overlap the execution of instructions and improve performance. This potential overlap among instructions is called

instruction level parallelism (ILP) since the instruction can be evaluated in parallel.

3. what is the purpose of fast adder? A fast adder circuit must speedup the generation of the carry signals.

4. What is the limitation of the simple pipelining technique? These technique uses in-order instruction issue and execution. Instructions are issued in program order, and if an instruction is stalled in the pipeline, no later instructions can proceed.

5. Briefly explain the idea behind using reservation station? Reservation station fetches and buffers an operand as soon as available, eliminating the need to get the operand from a register.

6. How does propagate function mean? The propagate function means that an input carry will produce an output carry when either xi is 1 or yi is 1

7.what is booths algorithm? Booths algorithm is a technique for generating a 2 nbit product. it treats both positive and negative 2s complement n bit operands uniformly..

8. what is bit pair recoding?

Bit pair recoding of multipliers is a technique that halves the maximum number of summands ,it is derived directly from booth algorithm. on a different pipeline.

9.Give the expression for generate and propagate functions for stage i. Generate function Gi=XiYi Propagate function Pi=Xi+Yi

10. What are the techniques used to reduce the time needed to perform Bit pair recoding of multiplier Carry save addition of summands Look ahead addition.

multiplication?

11. What are branch-target buffers? To reduce the branch penalty we need to know from what address to fetch by end of IF (instruction fetch). A branch prediction cache that stores the predicted address for the next instruction after a branch is called a branch-target buffer or branch target cache.

12. Briefly explain the goal of multiple-issue processor? The goal of multiple issue processors is to allow multiple instructions to issue in a clock cycle. They come in two flavors: superscalar processors and VLIW processors.

13. What is speculation?

Speculation allows execution of instruction before control dependences are resolved.

14. what is chopping? Chopping is a simple way to truncate or remove the guard bits and make no changes in the retained bits.

15. What are super scalar processors? Superscalar processors issue varying number of instructions per clock and are either statically scheduled or dynamically scheduled. 16. what is the process involved in von-Neumann rounding? If the bits to be removed are all 0s they are simply dropped, with no changes to retained bits.however,if any of the bits to be removed are , the least significant bit of retained bit is set to 1.

17. Define a normalized number A normalized number is one in which the most significant digit of the significant is zero.

18.Give the range of negative numbers in floating point format. the range of negative numbers in floating point format (2-2-23) x 2 128 and -2-127

19. Give the range of positive numbers in floating point format. the range of positive numbers in floating point format 2-127 and (2-2-23) x 2128

20.List the conditions produced during a floating point operation. during a floating point operation, the conditions produced are

Exponent overflow Exponent underflow Significant underflow Significant overflow

UNIT III

1. What is loop unrolling? A simple scheme for increasing the number of instructions relative to the branch and overhead instructions is loop unrolling. Unrolling simply replicates the loop body multiple times, adjusting the loop termination code.

2. When static branch predictors are used? They are used in processors where the expectation is that the branch behavior is highly predictable at compile time. Static predictors are also used to assists dynamic predictor.

3. Mention the different methods to predict branch behavior? Predict the branch as taken Predict on basis of branch direction (either forward or backward) Predict using profile information collected from earlier runs.

4. Explain the VLIW approach?

They uses multiple, independent functional units. Rather than attempting to issue multiple, independent instructions to the units, a VLIW packages the multiple operations into one very long instruction.

5. Mention the techniques to compact the code size in instructions? Using encoding techniques Compress the instruction in main memory and expand them when they are read into the cache or are decoded.

6. Mention the advantage of using multiple issue processor? They are less expensive. They have cache based memory system. And More parallelism.

7. What are loop carried dependence? They focuses on determining whether data accesses in later iterations are dependent on data values produced in earlier iterations; such a dependence is called loop carried dependence. e.g for(i=1000;i>0;i=i-1) x[i]=x[i]+s;

8. Mention the tasks involved in finding dependences in instructions? Good scheduling of code. Determining which loops might contain parallelism Eliminating name dependence 9. Use the G.C.D test to determine whether dependence exists in the following loop: for(i=1;i<=100;i=i+1)

X[2*i+3]=X[2*i]*5.0; Solution: a=2,b=3,c=2,d=0 GCD(a,c)=2 and d-b=-3 Since 2 does not divide -3, no dependence is possible.

10. What is meant by pipelining? Software pipelining is a technique for reorganizing loops such that each iteration in the software pipelined code is made from instruction chosen from different iterations of the original loop.

11. What is global code scheduling? Global code scheduling aims o compact code fragment with internal control structure into the shortest possible sequence that preserves the data and control dependence. Finding a shortest possible sequence is finding the shortest sequence for the critical path.

12. What is trace? Trace selection tries to find a likely sequence of basic blocks whose operations will be put together into a smaller number of instructions; this sequence is called trace.

13. Mention the steps followed in trace scheduling? Trace selection Trace compaction

14. What is superblock? Superblocks are formed by a process similar to that used for traces, but are a form of extended basic block, which are restricted to a single entry point but allow multiple exits.

15. Mention the advantages of predicated instructions? Remove control dependence Maintain data flow enforced by branch Reduce overhead of global code scheduling

16. Mention the limitations of predicated instructions? They are useful only when the predicate can be evaluated early. Predicated instructions may have speed penalty.

17. What is poison bit? Poison bits are a set of status bits that are attached to the result registers written by the speculated instruction when the instruction causes exceptions. The poison bits cause a fault hen a normal instruction attempts to use the register.

18. What are the disadvantages of supporting speculation in hardware? Complexity Additional hardware resources required

19. Mention the methods for preserving exception behavior? Ignore Exception Instructions that never raise exceptions are used

Using poison bits Using hardware buffers

20. What is an instruction group? It is a sequence of consecutive instructions with no register data dependence among them. All the instructions in the group could be executed in parallel. An instruction group can be arbitrarily long.

UNIT IV

1. What is cache miss and cache hit? When the CPU finds a requested data item in the cache, it is called cache miss. When the CPU does not find that data item it needs in the cache, a cache miss occurs.

2. What is write through and write back cache? Write through- the information is written to both the block in the cache and to the block in the lower level memory.write back- The information is written only to the block in the cahce. The modified cache block is written to main memory only when it is replaced.

3. What is miss rate and miss penalty? Miss rate is the fraction of cache access that result in a miss. Miss penalty depends on the number of misses and clock per miss.

4. Give the equation for average memory access time?

Average memory access time= Hit time + Miss rate x Miss penalty

5. What is striping? Spreading multiple data over multiple disks is called striping, which automatically forces accesses to several disks.

6. Mention the problems with disk arrays? When devices increases, dependability increases Disk arrays become unusable after a single failure

7. What is hot spare? Hot spares are extra disks that are not used in normal operation. When failure occurs, an idle hot spare is pressed into service. Thus, hot spares reduce the MTTR.

8. What is mirroring? Disks in the configuration are mirrored or copied to another disk. With this arrangement data on the failed disks can be replaced by reading it from the other mirrored disks.

9. Mention the drawbacks with mirroring? Writing onto the disk is slower Since the disks are not synchronized seek time will be different Imposes 50% space penalty hence expensive.

10. Mention the factors that measure I/O performance measures? Diversity

Capacity Response time Throughput Interference of I/o with CPU execution

11. What is transaction time? The sum of entry time, response time and think time is called transaction time.

12. State littles law? Littles law relates the average number of tasks in the system. Average arrival rate of new asks. Average time to perform a task.

13. Give the equation for mean number of tasks in the system? Mean number of arrival in the system = Arrival rate x Mean response time.

14. What is server utilization? Mean number of tasks being serviced divided by service rate Server utilization = Arrival Rate/Server Rate The value should be between 0 and 1 otherwise there would be more tasks arriving than could be serviced.

15. What are the steps to design an I/O system?

Nave cost-performance design and evaluation Availability of nave design Response time Realistic cost-performance, design and evaluation Realistic design for availability and its evaluation.

16. Briefly discuss about classification of buses? I/O buses - These buses are lengthy ad have any types of devices connected to it. CPU memory buses They are short and generally of high speed.

17. Explain about bus transactions? Read transaction Transfer data from memory Write transaction Writes data to memory

18. What is the bus master? Bus masters are devices that can initiate the read or write transaction. E.g CPU is always a bus master. The bus cn have many masters when there are multiple CPUs and when the Input devices can initiate bus transaction.

19. Mention the advantage of using bus master? It offers higher bandwidth by using packets, as opposed to holding the bus for full transaction.

20. What is spilt transaction? The idea behind this is to split the bus into request and replies, so that the bus can be used in the time between request and the reply

UNIT V

1. What are multiprocessors? Mention the categories of multiprocessors? Multiprocessors are used to increase performance and improve availability. The different categories are SISD, SIMD, MISD, MIMD

2. What are threads? These are multiple processors executing a single program and sharing the code and most of their address space. When multiple processors share code and data in the way, they are often called threads.

3. What is cache coherence problem? Two different processors have two different values for the same location.

4. What are the protocols to maintain coherence? Directory based protocol Snooping Protocol

5. What are the ways to maintain coherence using snooping protocol? Write Invalidate protocol Write update or write broadcast protocol

6. What is write invalidate and write update? Write invalidate provide exclusive access to caches. This exclusive caches ensure that no other readable or writeable copies of an item exists when the write occurs. Write update updates all cached copies of a data item when that item is written.

7. What are the disadvantages of using symmetric shared memory? Compiler mechanisms are very limited Larger latency for remote memory access Fetching multiple words in a single cache block will increase the cost.

8. Mention the information in the directory? It keeps the state of each block that are cached. It keeps track of which caches have copies of the block.

9. What the operations that a directory based protocol handle? Handling read miss Handling a write to a shares clean cache block 10. What are the states of cache block? Shared, Uncached, Exclusive 11. What are the uses of having a bit vector?

When a block is shared, the bit vector indicates whether the processor has the copy of the block. When block is in exclusive state, bit vector keep track of the owner of the block.

12. When do we say that a cache block is exclusive? When exactly one processor has the copy of the cached block, and it has written the block. The processor is called the owner of the block.

13. Explain the types of messages that can be send between the processors and directories? Local node Node where the requests originates Home Node Node where memory location and directory entry of the address resides. Remote Node - The copy of the block in the third node called remote node

14. What is consistency? Consistency says in what order must a processor observe the data writes of another processor.

15. Mention the models that are used for consistency? Sequential consistency Relaxed consistency model

16. What is sequential consistency? It requires that the result of any execution be the same, as if the memory accesses executed by each processor were kept in order and the accesses among different processors were interleaved.

17. What is relaxed consistency model? Relaxed consistency model allows reads and writes to be executed out of order. The three sets of ordering are: W-> R ordering W->W ordering R->W and R-> R ordering.

18. What is multi threading? Multithreading allows multiple threads to share the functional uits of the single processor in an overlapping fashion.

19. What is fine grained multithreading? It switches between threads on each instruction, causing the execution of multiple threads to be interleaved.

20. What is coarse grained multithreading? It switches threads only on costly stalls. Thus it is much less likely to slowdown the execution of an individual thread.

You might also like