Top 47 Computer Architecture Interview Questions You Must Prepare 24.Apr.2024

  1. address lines to refer to the address of a block
  2. data lines for data trfer
  3. IC chips 4 processing data

In a way virtualization appears similar to emulation but actually it shares hardware resources from the host OS.

  • This method is slower as compared to partition method but is faster than emulation.
  • Virtualization had also vast support considering it can also provide with 3d support.
  • With the help of virtualization it enable users to create virtual clusters.
  • But virtualization systems require a lot of memory in form of ram.
  • For virtualization it is mandatory that the virtualized platform has the same architecture as the host pc otherwise due to incompatibilities it is not possible.

Subroutine are the part of executing processes(like any process can call a subroutine for achieve task),while the interrupt subroutine never be the part.interrupt subroutine are subroutine that are external to a process.

In the normal execution of a program there are three types of interrupts that can cause a break:

External Interrupts: These types of interrupts generally come from external input / output devices which are connected externally to the processor. They are generally independent and oblivious of any programming that is currently running on the processor.

Internal Interrupts: They are also known as traps and their causes could be due to some illegal operation or the erroneous use of data. Instead of being triggered by an external event they are usually triggered due to any exception that has been caused by the program itself. Some of the causes of these types of interrupts can be due to attempting a division by zero or an invalid opcode etc.

Software interrupts: These types if interrupts can occur only during the execution of an instruction. They can be used by a programmer to cause interrupts if need be. The primary purpose of such interrupts is to switch from user mode to supervisor mode.

They are also known as traps and their causes could be due to some illegal operation or the erroneous use of data. Instead of being triggered by an external event they are usually triggered due to any exception that has been caused by the program itself. Some of the causes of these types of interrupts can be due to attempting a division by zero or an invalid opcode etc.

  • Although Assembly level languages are not easy to understand they are relatively easier as compared to machine level languages.
  • The programs written in this language are not portable and the debugging process is also not very easy.
  • The programs developed in assembly language are thoroughly machine dependent.

Vertical microcode can be considered to be a segment of code or operators that have been clubbed together into fields. In this field every micro operation is given a unique value.

Like java have a feature for handling exception handling "prime catch".the exception like divide by zero,out of bound.

Partitioning involves the user to partition their hard drives and then they can implement / install multiple operating systems on them. The user requires a boot manager to switch between different operating systems.

The main components of the Von Neumann architecture were as follows:

  • It consisted of a main memory which would be used to store all the data and instructions.
  • It would consist of an arithmetic logical unit also known as the ALU. This part was to be able to work with binary data.
  • It also comprised of a control unit which would be responsible for the interpretation of instructions and their execution.
  • The control unit would also be controlled by the control unit itself.

Vertical microcode can be considered to be a segment of code or operators that have been clubbed together into fields. In this field every micro operation is given a unique value.

  • This helps in efficient organization of related code together.
  • An effective design strategy could be in case of 2 micro operations occurring at the same state, to assign them two different fields.
  • A no operation NOP can be included in each field if necessary.
  • The remaining micro operations can be distributed among the other operation field bits.
  • Also micro operations that modify the same registers could be grouped together in the same field.

Considered to be the simplest this method involves the updating of the main memory corresponding to every write operation. With this the cache memory is also updated in parallel in case it also contains the word specified at the address. The primary advantage of this method is data integrity, the primary and the cache memory both contain the same data.

Two different ways of establishing hardware priority are Daisy Chaining and parallel priority.

  • Daisy chaining is a form of a hardware implementation of the polling procedure.
  • Parallel priority is quicker of the two and uses a priority encoder to establish priorities.
  • In parallel priority interrupt a register is used for which the bits are separated by the interrupt signals from every device.
  • The parallel priority interrupt may also contain a mask register which is primarily used to control the status of every request regarding interrupts.

  • In case of vertical micro code every action is encoded in density.
  • Vertical micro code are slower but they take less space and their actions at execution time need to be decoded to a signal.

These types if interrupts can occur only during the execution of an instruction. They can be used by a programmer to cause interrupts if need be. The primary purpose of such interrupts is to switch from user mode to supervisor mode.

For any computer generally the memory space is lesser as compared to the address space this implies that the main memory is lesser as compared to the secondary memory.

  • On the basis of the demands of the CPU data is trferred between the two memories.
  • Due to this a mapping technique is required which can be implemented using page-table.
  • The page table can be organized in two ways namely in the R/W memory and by using associative logic.
  • In case of R/W memory the speed of execution of programs is slow as it requires two main memory references to read data. It is also known as memory page table.
  • In case of associative logic it is considered to be more effective because it can be built with simply keeping mind to have equal no. of blocks in the memory as many as there are words.

The main components of the Von Neumann architecture were as follows:

  • It consisted of a main memory which would be used to store all the data and instructions.
  • It would consist of an arithmetic logical unit also known as the ALU. This part was to be able to work with binary data.
  • It also comprised of a control unit which would be responsible for the interpretation of instructions and their execution.
  • The control unit would also be controlled by the control unit itself.

Cloud architecture provide large pool of dynamic resources that can be accessed any time whenever there is a requirement, which is not being given by the traditional architecture. In traditional architecture it is not possible to dynamically associate a machine with the rising demand of infrastructure and the services. Cloud architecture provides scalable properties to meet the high demand of infrastructure and provide on-demand access to the user.

In direct mapping the RAM is made use of to store data and some is stored in the cache. An address space is split into two parts index field and tag field. The cache is used to store the tag field whereas the rest is stored in the main memory. Direct mapping`s performance is directly proportional to the Hit ratio.

In a way virtualization appears similar to emulation but actually it shares hardware resources from the host OS.

  • This method is slower as compared to partition method but is faster than emulation.
  • Virtualization had also vast support considering it can also provide with 3d support.
  • With the help of virtualization it enable users to create virtual clusters.
  • But virtualization systems require a lot of memory in form of ram.
  • For virtualization it is mandatory that the virtualized platform has the same architecture as the host pc otherwise due to incompatibilities it is not possible.

For any computer generally the memory space is lesser as compared to the address space this implies that the main memory is lesser as compared to the secondary memory.

The different types of instructions are as follows:

  • Immediate Mode: As the name suggests the instruction in itself contains the operand.
  • Register Mode: In this mode the operands of an instruction are placed in the registers which themselves are placed inside the CPU.
  • Direct address mode: The address part of an instruction in this mode is the effective address.
  • Indexed addressing mode: In this mode in order to obtain the effective address the contents of the index register is added to the instructions address part.
  • Relative address mode: In this mode in order to find out the effective address the contents of the program counter are added to the address part of the instruction.

  • Arise a non maskable interrupt.
  • Then give jump instruction to required subroutine.

Two different ways of establishing hardware priority are Daisy Chaining and parallel priority.

  • Daisy chaining is a form of a hardware implementation of the polling procedure.
  • Parallel priority is quicker of the two and uses a priority encoder to establish priorities.
  • In parallel priority interrupt a register is used for which the bits are separated by the interrupt signals from every device.
  • The parallel priority interrupt may also contain a mask register which is primarily used to control the status of every request regarding interrupts.

Some of the common rules of assembly level language are as follows:

  • In assembly language the label field can be either empty or may specify a symbolic address.
  • Instruction fields can specify pseudo or machine instructions.
  • Comment fields can be left empty or can be commented with.
  • Up to 4 characters are only allowed in the case of symbolic addresses.
  • The symbolic addresses field are terminated by a comma whereas the comment field begins with a forward slash.

The MESI protocol is also known as Illinois protocol due to its development at the University of Illinois at Urbana-Champaign and MESI is a widely used cache coherency and memory coherence protocol.

MESI is the most common protocol which supports write-back cache. Its use in personal computers became widespread with the introduction of Intel's Pentium processor to "support the more efficient write-back cache in addition to the write-through cache previously used by the Intel 486 processor"

RISC meaning reduced instruction set as the acronym say aims to reduce the execution times of instructions by simplifying the instructions.

The major characteristics of RISC are as follows:

  • Compared to normal instructions they have a lower number of instructions.
  • The addressing modes in case of RISC is also lower.
  • All the operations that are required to be performed take place within the CPU.
  • All instruction are executed in a single cycle hence have a faster execution time.
  • in this architecture the processors have a large number of registers and a much more efficient instruction pipeline.
  • Also the instruction formats are of fixed length and can be easily decoded.

The instruction sets can be differentiated by:

  • Operand storage in the CPU
  • Number of explicit operands per instruction
  • Operand location
  • Operations
  • Type and size of operands

There are situations, called hazards, that prevent the next instruction in the instruction stream from executing during its designated clock cycle. Hazards reduce the performance from the ideal speedup gained by pipelining.

There are three classes of Hazards:

  1. Structural Hazards: It arise from resource conflicts when the hardware cannot support all possible combinations of instructions simultaniously in ovelapped execution.
  2. Data Hazards: It arise when an instruction depends on the results of previous instruction in a way that is exposed by the ovelapping of instructions in the pipeline.
  3. Control Hazards: It arise from the pipelining of branches and other instructions that change the PC.

computer have different type of memory like primary memory , Auxiliary memory , buffer memory , Cache memory , virtual memory ,the work of all memory heterogeneously primary memory is directly communicate with the CPU . Auxiliary memory are used for storing the data for long time . Buffer memory are mainly used for storing the intermediate data between the travel . cache memory are used for storing the those data that currently required at process time for increase the speed of the data . virtual memory are put in between the two memory for increase the speed of data or instruction it me it put between HDD and RAM .

Virtual memory is that when the available RAM memory is not sufficient for the system to run the current applications it will take some memory from hard disk.This memory is termed as Virtual memory.

The micro-operations in computers are classified into the following categories:

Register trfer micro-operations: These type of micro operations are used to trfer from one register to another binary information.
Arithmetic micro-operations: These micro-operations are used to perform on numeric data stored in the registers some arithmetic operations.
Logic micro-operations: These micro operations are used to perform bit style operations / manipulations on non numeric data.
Shift micro operations: As their name suggests they are used to perform shift operations in data store in registers.

An instruction can be considered to be a command that has been issued to a computer to perform a particular operation. The instruction format contains various field in them such as:

  • Operation Code Field: Also known as the op code field, this field is used to specify the operation to be performed for the instruction.
  • Address Field: This field as its name specifies is used to designate the various addresses such as register address and memory address.
  • Mode field: This field specifies as to how effective address is derives or how an operand is to perform.

For ex: ADD R0, R@In this case the ADD is the operand whereas the R1, R0 are the address fields.

Flip flops are also known as bi-stable multi-vibrators. They are able to store one bit of data.

  • Flip flops are able to be in two stable states namely one and zero. They can be in either states and in order to change their states they have to be driven by a trigger.
  • Certain flip flops are edge triggered meaning they only respond to voltage changes from one level to another. They can be either positive edged triggering or negative edged triggering.
  • Flip flops turn on in a random manner that is they can be in either of the states when they are turned on. In order to have a uniform state when they are powered on a CLEAR signal has to be sent to the flip flops. They can also be made to turn on in a particular state by applying PRESET.

Any program residing in the memory contains a set of instruction that need to be executed by the computer in a sequential manner. This cycle for every instruction is known as the instruction cycle . The cycle consists of the following steps:

  • Fetch instruction: Like the name stated in this process the cpu fetches the instruction from the memory. The PC get loaded with the address of the instruction.
  • Decode: the instruction: In this process the instruction gets decoded by the processor.In case the instruction has an indirect address the effective address is read from the memory.Fetch the operand from the memory
  • Execution: once the instruction gets decoded the processor executes the instruction.
  • Result: Store the result in the appropriate place.

Some of the common rules of assembly level language are as follows:

  • In assembly language the label field can be either empty or may specify a symbolic address.
  • Instruction fields can specify pseudo or machine instructions.
  • Comment fields can be left empty or can be commented with.
  • Up to 4 characters are only allowed in the case of symbolic addresses.
  • The symbolic addresses field are terminated by a comma whereas the comment field begins with a forward slash.

In this type of mapping the associative memory is used to store content and addresses both of the memory word. This enables the placement of the any word at any place in the cache memory. It is considered to be the fastest and the most flexible mapping form.

Emulation is the process in which a target CPU and its corresponding hardware would be emulated exactly the same way.

  • Emulation is a relatively old concept and is not widely used to emulate full scale OS usage.
  • It is considered to be the best platform for embedded/os development.
  • Emulation is possible for any hardware and it does not affect the underlying OS ( host ).
  • Although there are many positives of emulation there are few downside of it as well, Emulation can be extremely slow.
  • Complete thorough hardware support cannot be possible in emulation.
  • Emulation is also very resource hungry and requires a lot of ram to function smoothly.

Snooping is the process where the individual caches monitor address lines for accesses to memory locations that they have cached. When a write operation is observed to a location that a cache has a copy of, the cache controller invalidates its own copy of the snooped memory location.

Snarfing is where a cache controller watches both address and data in an attempt to update its own copy of a memory location when a second master modifies a location in main memory

The following are the main reasons for pipe line conflicts in the processor:

  • When the same resource is accessed at the same time by two different segments it results in resource conflicts. The only way to resolve this problem is to use separate data memories.
  • In case an instruction's execution depends on the result of a previous instruction and that result is unavailable it leads to data dependency conflicts.
  • Instructions that change the count of the PC can cause a lot of problems. This is prevalent particularly in the case of Branch instructions. A method to resolve this issue is known as delayed load where certain instruction are made to execute in a delayed manner to avoid conflicts.

An instruction can be considered to be a command that has been issued to a computer to perform a particular operation.

The instruction format contains various field in them such as:

Operation Code Field: Also known as the op code field, this field is used to specify the operation to be performed for the instruction.
Address Field: This field as its name specifies is used to designate the various addresses such as register address and memory address.
Mode field: This field specifies as to how effective address is derives or how an operand is to perform.
For ex:. ADD R0, R@In this case the ADD is the operand whereas the R1, R0 are the address fields.

Partitioning involves the user to partition their hard drives and then they can implement / install multiple operating systems on them. The user requires a boot manager to switch between different operating systems.

  • Partitioning allows each operating system to work optimally.
  • Each os has the complete access to the hardware of the system on which it is being executed.
  • Also depending on the file system used the user is free to resize his partition according to his needs.
  • But manual partition is not a simple task and requires patience.
  • The system needs to be restarted in case the user wants to switch operating systems.

In this method only the location in the cache is updated. Whenever such an update occurs a flag is set which makes sure that in case the word is removed from the cache the correct copy is saved to the main memory. This approach is usually taken when a word is constantly updated at frequent intervals.

  • A no operation NOP can be included in each field if necessary.
  • The remaining micro operations can be distributed among the other operation field bits.
  • Also micro operations that modify the same registers could be grouped together in the same field.

The following are the main reasons for pipe line conflicts in the processor:

  • When the same resource is accessed at the same time by two different segments it results in resource conflicts. The only way to resolve this problem is to use separate data memories.
  • In case an instruction's execution depends on the result of a previous instruction and that result is unavailable it leads to data dependency conflicts.
  • Instructions that change the count of the PC can cause a lot of problems. This is prevalent particularly in the case of Branch instructions. A method to resolve this issue is known as delayed load where certain instruction are made to execute in a delayed manner to avoid conflicts.

The latency of the architecture increases with the pipeline stages. Penalty due to the flushing of the pipeline for instance will also increase Cycles Per Instruction of the CPU architecture

These types of interrupts generally come from external input / output devices which are connected externally to the processor. They are generally independent and oblivious of any programming that is currently running on the processor.