All questions of Computer Architecture & Organisation (CAO) for Computer Science Engineering (CSE) Exam

Which of the following is not involved in a memory write operation?
  • a)
    MAR
  • b)
    PC
  • c)
    MDR
  • d)
    data bus
Correct answer is option 'B'. Can you explain this answer?

Ravi Singh answered
Program counter register used to read the value or instruction not in write operation. For write operation MAR, IR and MDR registers are used.

The correct matching for the following pairs is:
(A) DMA I/O (1) High speed RAM
(B) Cache (2) Disk
(C) Interrupt I/O (3) Printer
(D) Condition Code Register (4) ALU
  • a)
    A-4 B-3 C-1 D-2
  • b)
    A-2 B-1 C-3 D-4
  • c)
    A-4 B-3 C-2 D-1
  • d)
    A-2 B-3 C-4 D-1
Correct answer is option 'B'. Can you explain this answer?

Explanation:

- DMA I/O (1) High speed RAM: DMA (Direct Memory Access) is used for transferring data between peripherals and memory without involving the CPU. It is commonly used for high-speed data transfers to and from high-speed RAM.

- Cache (2) Disk: Cache memory is a small, fast type of volatile computer memory used to temporarily store data that is frequently accessed. It helps in reducing the access time to data stored on slower storage devices like disks.

- Interrupt I/O (3) Printer: Interrupt I/O involves the use of interrupts to signal the CPU that a peripheral device needs attention. This is commonly used for devices like printers where the CPU needs to be informed when data is ready to be printed.

- Condition Code Register (4) ALU: The Condition Code Register (CCR) is a register used to store the condition codes generated by the ALU (Arithmetic Logic Unit) during arithmetic and logical operations. These codes are used to determine the outcome of operations and make decisions based on them.

Which of the following is/are true of the auto-increment addressing mode?
I. It is useful in creating self-relocating code
II. If it is included in an Instruction Set Architecture, then an additional ALU is required for effective address calculation
III. The amount of increment depends on the size of the data item accessed
  • a)
    I only
  • b)
    II only
  • c)
    III only
  • d)
    II and III only
Correct answer is option 'C'. Can you explain this answer?

Moumita Chavan answered
In auto increment addressing mode, the base address is incremented after operand fetch. This is useful in fetching elements from an array. But this has no effect in self-relocating code (where code can be loaded to any address) as this
works on the basis of an initial base address.
An additional ALU is desirable for better execution especially with pipelining, but never a necessity.
Amount of increment depends on the size of the data item accessed as there is no need to fetch a part of a data.
So, answer must be C only.

A hardware interrupt is
  • a)
    Also called an internal interrupt
  • b)
    Also called an external interrupt
  • c)
    An I/O interrupt
  • d)
    A clock interrupt
Correct answer is option 'B'. Can you explain this answer?

Roshni Kumar answered
Introduction:
A hardware interrupt is a signal generated by a hardware device to interrupt the normal execution of a program and transfer control to a specific interrupt handler routine. It allows the hardware device to communicate with the processor, informing it of events that require immediate attention.

Explanation:
A hardware interrupt can be either internal or external, depending on the source of the interrupt. Let's understand each option in detail:

a) Also called an internal interrupt:
- An internal interrupt, also known as a software interrupt, is generated by the CPU itself.
- It is triggered by a special instruction in the program code that causes the CPU to transfer control to a specific interrupt handler routine.
- Internal interrupts are not directly related to hardware devices, so they do not fall under the category of hardware interrupts.

b) Also called an external interrupt:
- An external interrupt is generated by an external hardware device.
- When a hardware device needs to interrupt the normal execution of a program, it sends a signal to the processor, indicating that an interrupt has occurred.
- The processor then transfers control to the corresponding interrupt handler routine to handle the event.
- External interrupts are directly related to hardware devices and are commonly used for input/output operations, such as keyboard input, mouse input, etc.

c) An I/O interrupt:
- An I/O interrupt is a specific type of hardware interrupt that is generated by input/output devices.
- When an input/output device, such as a disk drive or a network card, completes a task or encounters an error, it can generate an I/O interrupt to inform the processor.
- The processor then interrupts the current program execution and transfers control to the appropriate interrupt handler routine to handle the I/O operation.

d) A clock interrupt:
- A clock interrupt is a specific type of hardware interrupt generated by the system clock or a timer device.
- It is used to keep track of time and schedule tasks.
- The clock interrupt occurs at regular intervals and is used by the operating system to perform various time-related operations, such as updating the system time, scheduling tasks, etc.

Conclusion:
In conclusion, a hardware interrupt is a signal generated by a hardware device to interrupt the normal execution of a program. An external interrupt, also known as a hardware interrupt, is triggered by an external hardware device and is used for input/output operations. Therefore, the correct answer is option 'B' - Also called an external interrupt.

If an exception is raised and the succeeding instructions are executed completely, then the processor is said to have ______
  • a)
    Generation word
  • b)
    Exception handling
  • c)
    Imprecise exceptions
  • d)
    None of the mentioned
Correct answer is option 'C'. Can you explain this answer?

Ipsita Patel answered
Imprecise exceptions

In computer programming, an exception is a condition that occurs during the execution of a program that disrupts the normal flow of instructions. When an exception is raised, it typically causes the program to terminate abruptly or to jump to an exception handler to handle the error. However, the behavior of the processor when an exception is raised and the succeeding instructions are executed completely can vary depending on the architecture and design of the processor.

Imprecise exceptions
When an exception is raised and the succeeding instructions are executed completely, it is referred to as imprecise exceptions. This means that the processor executes the instructions following the exception even though the exception has not been resolved or handled. This behavior can lead to incorrect or unpredictable results because the program continues to execute without properly handling the exception.

Impact of imprecise exceptions
Imprecise exceptions can have significant implications for the correctness and reliability of a program. When an exception occurs, it is typically important to handle the exception properly in order to ensure that the program continues to execute correctly. However, if the processor allows the program to continue executing without resolving the exception, it can result in incorrect computations, data corruption, or other unexpected behavior.

Handling exceptions
To ensure the proper handling of exceptions, it is important to design and implement exception handling mechanisms in the program. These mechanisms typically involve defining exception handlers that specify how to handle specific types of exceptions. When an exception occurs, the processor can then jump to the appropriate exception handler to handle the error and take the necessary actions.

Conclusion
In summary, when an exception is raised and the succeeding instructions are executed completely, the processor is said to have imprecise exceptions. This behavior can have significant implications for the correctness and reliability of a program, as it can lead to incorrect computations or unexpected behavior. Therefore, it is important to design and implement proper exception handling mechanisms to ensure that exceptions are handled appropriately and the program continues to execute correctly.

Consider the C struct defined below:
struct data {
int marks [100];
char grade;
int cnumber;
};
struct data student;
The base address of student is available in register R1. The field student.grade can be accessed efficiently using
  • a)
    Post-increment addressing mode, (R1)+
  • b)
    Pre-decrement addressing mode, -(R1)
  • c)
    Register direct addressing mode, R1
  • d)
    Index addressing mode, X(R1), where X is an offset represented in 2's complement 16-bit representation.
Correct answer is option 'D'. Can you explain this answer?

Option (D)
Displacement Mode :-
Similar to index mode, except instead of a index register a base register will be used. Base register contains a pointer to a memory location. An integer (constant) is also referred to as a displacement. The address of the operand is obtained by
adding the contents of the base register plus the constant. The difference between index mode and displacement mode is in the number of bits used to represent the constant. When the constant is represented a number of bits to access the
memory, then we have index mode. Index mode is more appropriate for array accessing; displacement mode is more appropriate for structure (records) accessing.

For interval arithmetic best rounding technique use is ________.
  • a)
    Rounding to plus and minus infinity
  • b)
    Rounding to zero
  • c)
    Rounding to nearest
  • d)
    None of these
Correct answer is option 'A'. Can you explain this answer?

Diya Chauhan answered
Rounding to plus and minus infinity are useful in implementing a technique known as interval arithmetic. Interval arithmetic provides an efficient method for monitoring and controlling errors in floating point computations by producing two values for each result. The two values correspond to the lower and upper endpoints of an interval that contains the true result. The width of the interval, which is the difference between the upper and lower endpoints, indicates the accuracy of the result of the endpoints of an interval are not representable then the interval endpoints are rounded down and up respectively.

What is computer architecture?
  • a)
    set of categories and methods that specify the functioning, organisation, and implementation of computer systems
  • b)
    set of principles and methods that specify the functioning, organisation, and implementation of computer systems
  • c)
    set of functions and methods that specify the functioning, organisation, and implementation of computer systems
  • d)
    None of the mentioned
Correct answer is option 'B'. Can you explain this answer?

Rohan Patel answered
Computer architecture refers to the set of principles and methods that specify the functioning, organization, and implementation of computer systems. It encompasses the structure, behavior, and design of computers, including the hardware components and the software systems that control and coordinate their operation.

Key Points:
- Set of principles and methods: Computer architecture defines the fundamental principles and techniques for designing and implementing computer systems. It provides a framework for understanding how different components of a computer system interact and work together.
- Functioning: Computer architecture determines how the various components of a computer system, such as the CPU, memory, and input/output devices, function and interact with each other. It specifies the operations and functionalities that can be performed by the system.
- Organization: Computer architecture involves the organization and arrangement of the components within a computer system. It defines the structure and hierarchy of the various hardware components and their connections, as well as the organization of data and instructions in memory.
- Implementation: Computer architecture also deals with the implementation of computer systems, including the design and construction of the hardware components and the development of the software systems that run on them. It encompasses both the physical aspects of computer systems, such as the circuits and chips, as well as the software layers that enable their operation.

Importance of Computer Architecture:
- Performance: Computer architecture plays a crucial role in determining the performance of a computer system. By optimizing the design and organization of the components, it can enhance the speed and efficiency of computations and data processing.
- Scalability: Computer architecture also enables the scalability of computer systems, allowing them to handle larger workloads and accommodate future technological advancements. It provides a foundation for building systems that can be easily upgraded and expanded.
- Compatibility: Computer architecture ensures compatibility between different hardware and software components, allowing them to work together seamlessly. It defines standard interfaces and protocols that enable interoperability and easy integration of various system components.
- Reliability: A well-designed computer architecture enhances the reliability and fault tolerance of a system. By incorporating redundancy and error detection mechanisms, it can prevent and recover from hardware and software failures.
- Power Efficiency: Computer architecture also considers power efficiency and energy consumption. It aims to minimize power usage while maintaining optimal performance, especially in mobile and embedded systems.

In conclusion, computer architecture is a set of principles and methods that define the functioning, organization, and implementation of computer systems. It provides the foundation for designing and building efficient, scalable, and reliable computer systems.

 The CPU initializes the DMA by sending ______ .
  • a)
    The starting address of the memory blocks where data is available or where data is to be stored.
  • b)
    The word count.
  • c)
    Control for mode and start the transfer.
  • d)
    All of these
Correct answer is option 'D'. Can you explain this answer?

Soumya Dey answered
The CPU initializes the DMA by sending:
The starting address of the memory blocks where data are available (for read) or where data are to be stored. (For write)
The word count, which is the number of words in the memory.
Control to specify the mode of transfer such as read or write.

An 8-Bit DMA Device is operating'is Cycle Stealing Mode (Single Transfer Mode). Each DMA cycle is of 6 clock states and DMA clock is 2 MHz. Intermediate CPU machine cycle takes 2 μsa, determine the DMA Data Transfer Rat
  • a)
    100 Kbytes/sec
  • b)
    200 Kbytes/sec
  • c)
    350 Kbytes/sec
  • d)
    None of these
Correct answer is option 'B'. Can you explain this answer?

Nilesh Chavan answered
DMA Clock is 2 MHz ⇒ Each DMA Clock state is 0.5μs 
Each DMA Cycle has 6 Clock States ⇒ Each DMA cycle is of 3 μs
In Cycle Stealing 1 CPU and 1 DMA Cycles run alternately and the CPU Cycle takes 2 μs.
Therefore, every 3 + 2 = 5 μs, 1 byte is transferred by DMA device.
Data Transfer Rate = 1000000/5 x 1 Byte
= 200 Kbytes / Sec

______ is a piece of hardware that executes a set of machine-language instructions.
  • a)
    Controller
  • b)
    Bus
  • c)
    Processor
  • d)
    Motherboard
Correct answer is option 'C'. Can you explain this answer?

Processor or processing unit is an electronic CKT which perform operations on some external source, usually memory or some data stream. Processor executes a set of machine language instructions.

The 2’s complement representation of the decimal value - 15 is
  • a)
    1111
  • b)
    11111
  • c)
    111111
  • d)
    10001
Correct answer is option 'D'. Can you explain this answer?

The 2’s complement of negative numbers are represented as the binary number that when added to a positive number of the same magnitude equals zero 
+15 = 0 1 1 1 1
The 2’s complement representation of the decimal value -15 is
-15 in 2’s complement = 10001

A 5 stage pipeline with the stages taking 1, 1, 3, 1, 1 units of time has a throughput of
  • a)
    1/3
  • b)
    1/7
  • c)
    7
  • d)
    3
Correct answer is option 'A'. Can you explain this answer?

Akshay Singh answered
First output will come after 5 time units, then after every 3 time units, we will get the output. So throughput 1/3.

________ are the different type/s of generating control signals.
  • a)
    Hardwired
  • b)
    Micro-instruction
  • c)
    Micro-programmed
  • d)
    Both Micro-programmed and Hardwired
Correct answer is option 'D'. Can you explain this answer?

Amar Majumdar answered
Generating Control Signals

There are different types of generating control signals, which are as follows:

1. Hardwired Control Signals:
Hardwired control signals are generated by using the combinational logic circuits. These circuits are designed using logic gates, such as AND, OR, NOT gates, etc. The control signals generated by these circuits are directly applied to the control unit.

2. Micro-instruction Control Signals:
Micro-instruction control signals are generated by using micro-instructions. These micro-instructions are stored in the control memory. The control unit reads these micro-instructions and generates the control signals accordingly.

3. Micro-programmed Control Signals:
Micro-programmed control signals are generated by using micro-programs. Micro-programs are stored in the control memory. These programs are written in machine language and are executed by the control unit. The control unit reads these programs and generates the control signals accordingly.

Both Micro-programmed and Hardwired:
Both micro-programmed and hardwired control signals are used in modern computing systems. Some control signals are generated by using combinational logic circuits, while others are generated by using micro-instructions or micro-programs.

Conclusion:
In conclusion, generating control signals is an important aspect of computer architecture. The choice of control signal generation method depends on the specific requirements of the system. Hardwired, micro-instruction, and micro-programmed control signals are the different types of generating control signals.

Which of the following is the subcategories of computer architecture?
  • a)
    All of the mentioned
  • b)
    Instruction set architecture
  • c)
    Systems design
  • d)
    Microarchitecture
Correct answer is option 'A'. Can you explain this answer?

Rohan Patel answered
Introduction:
Computer architecture refers to the design and organization of the various components (hardware and software) in a computer system. It encompasses the structure, behavior, and functionality of a computer system. There are several subcategories of computer architecture that focus on different aspects of the design and implementation of a computer system.

Microarchitecture:
Microarchitecture, also known as computer organization, is a subcategory of computer architecture that deals with the internal structure and design of a computer processor. It focuses on how the processor implements the instructions specified by the instruction set architecture. Microarchitecture includes components such as the control unit, arithmetic logic unit, memory hierarchy, and data paths.

Instruction Set Architecture:
Instruction Set Architecture (ISA) is another subcategory of computer architecture. It defines the set of instructions that a computer can understand and execute. It specifies the operations that can be performed, the data types supported, the addressing modes, and the format of instructions. The ISA acts as an interface between the hardware and software layers of a computer system.

Systems Design:
Systems design is a broader subcategory of computer architecture that encompasses the overall design and organization of a computer system. It includes considerations such as the selection of hardware components, the design of the memory hierarchy, the interconnection of components, and the configuration of the system. Systems design takes into account factors such as performance, reliability, scalability, and cost.

Conclusion:
In summary, microarchitecture, instruction set architecture, and systems design are all subcategories of computer architecture. Microarchitecture focuses on the internal structure of a computer processor, instruction set architecture defines the instructions that a computer can understand, and systems design encompasses the overall design and organization of a computer system.

Which of the following control signals has separate destinations?
  • a)
    Data Paths
  • b)
    ALU & System Bus
  • c)
    Data Paths, ALU & System Bus
  • d)
    None of the above
Correct answer is option 'A'. Can you explain this answer?

Sudhir Patel answered
The data path is the collection of functional units such as arithmetic logic units or multipliers. The data path is required to perform data processing operations.
Typically, in a microprocessor, the units in at least one of the datapaths would be: instruction registers, decode latch, ALU registers, load-store unit, writeback unit, and the memory.
To perform any operation in the CPU, data follows a specific path within the CPU to execute the instruction. 

Which of the following is not valid class of interrupts?
1. Program
2. Timer
3. I/O
4. Hardware failure
  • a)
    1 and 3
  • b)
    1, 2 and 4
  • c)
    2 and 3
  • d)
    None of these
Correct answer is option 'D'. Can you explain this answer?

1, 2, 3, 4 are valid classes of interrupts:
1. Program: generated by some condition that occurs as a result of an instruction execution, such as arithmetic overflow, division by zero etc.
2. Timer: generated by a timer within the processor. This allows the operating system to perform certain functions on a regular basis.
3. I/O: generated by an I/O controller, to signal normal completion of an operation or to signal a variety of error condition.
4. Hardware failure: generated by failure such as power failure or memories parity error.

Assume that the time required for the eight functional units, which operate in each of the eight cycles, are as follows 5 ns, 8 ns, 6 ns, 10 ns, 15 ns, 12 ns, 6 ns, 8 ns. Assume that pipe lining adds 1 ns of overhead. Find the speedup versus the single cycle data path.
  • a)
    4.67
  • b)
    4.375
  • c)
    4.44
  • d)
    4.285
Correct answer is option 'B'. Can you explain this answer?

Avantika Yadav answered
Since the unpipelined machine executes all instructions in a single clock cycle, its average time per instruction is simply clock time. The dock is equal to the sum of the times for each step in the execution.
∴ Average instructions execution time
= 5 + 8 + 6 + 1 0 + 15 + 12 + 6 + 8 
= 70
The dock cycle time on the pipelined machine must be the largest time for any stage in the pipeline (15 ns) + the overhead of 1 ns for a total of 16 ns.
∴ Speed from pipelining

Chapter doubts & questions for Computer Architecture & Organisation (CAO) - Question Bank for GATE Computer Science Engineering 2025 is part of Computer Science Engineering (CSE) exam preparation. The chapters have been prepared according to the Computer Science Engineering (CSE) exam syllabus. The Chapter doubts & questions, notes, tests & MCQs are made for Computer Science Engineering (CSE) 2025 Exam. Find important definitions, questions, notes, meanings, examples, exercises, MCQs and online tests here.

Chapter doubts & questions of Computer Architecture & Organisation (CAO) - Question Bank for GATE Computer Science Engineering in English & Hindi are available as part of Computer Science Engineering (CSE) exam. Download more important topics, notes, lectures and mock test series for Computer Science Engineering (CSE) Exam by signing up for free.

Signup to see your scores go up within 7 days!

Study with 1000+ FREE Docs, Videos & Tests
10M+ students study on EduRev