.   What is computer architecture?
.   What are the three categories of computer architecture?
   .   What are some of the components of a microprocessor?
   .   What is MESI?
   .   What are the different hazards?
   .   What is pipelining?
   .   What is a cache?
   .   What is a snooping protocol?
   .   What are the different types of interrupts in a microprocessor system?
   .   What is the easiest way to determine cache locations in which to store
       memory blocks?
   .   What is a virtual memory on a computer?
   .   Can you state some of the common rules of assembly language?
   .   What is a RAID system?
   .   What are the two hardware methods to establish a priority? Explain
       each method.
   .   What are flip-flops?
   .   What's the difference between interrupt service routine and
       subroutine?
   .   What are the different types of fields that are part of instruction?
   .   What are the steps involved in an instruction cycle?
   .   What are the five stages in a DLX pipeline?
   .   What are the types of micro-operations?
   .   What is the write-through method?
   .   What is associate mapping?
   .   What does wait state mean?
   .   What is a DMA?
   .   What is a horizontal microcode?
1. What is computer architecture?
Example: "Computer architecture refers to hardware instructions, software
standards and technology infrastructure that define how computer platforms, systems
and programs operate. This means that computer architecture outlines the system's
functionality, design and compatibility."Related: Computer Skills: Definition and
Examples
2. What are the three categories of computer architecture?
Example: "Computer architecture has three categories. These include:
System design
This includes all the hardware components in the system such as the data processors,
direct memory access and graphics processing unit. It also includes data paths,
memory controllers and miscellaneous things such as virtualization and
multiprocessing.
Instruction Set Architecture
This is a part of the central processing unit that is visible to the compiler writer and
programmer. It defines the CPU's capabilities and functions based on what
programming it can process and perform. This includes the data formats, memory
addressing modes, processor register types, word size and the instruction set that
programmers use.
Microarchitecture
Also known as "computer organization," this kind of architecture defines storage
elements, data processing and data paths, as well as how they should be implemented
in the ISA."
3. What are some of the components of a microprocessor?
Example: "Some of the components of a microprocessor include the arithmetic and
logic unit, which performs math computations such as division, addition and
subtraction and Boolean functions; registers, which act as the temporary data
holding places of microprocessors; control units, which receive signals from the CPU
and move data from one microprocessor to another; and memory caches, which
accelerate the computing process, as the CPU doesn't have to use the slower RAM to
retrieve data."
4. What is MESI?
Example: "MESI stands for the four states of the cache blocks, which are Modified,
Exclusive, Shared and Invalid. It's also known as the "Illinois protocol". It's used to
maintain cache coherency in hierarchical memory systems. MESI is the most common
protocol that supports write-back cache. Its use in personal computers became
common with the introduction of Intel's Pentium processor."
5. What are the different hazards?
Example: "Hazards have three classes. These include the structural hazards, which
occur from resource conflicts when the hardware can't support all possible
combinations of instructions in synchronized overlapped execution; data hazards,
which occur when instructions that manifest data dependence change data in different
stages of a pipeline; and control hazards, which occur from the pipelining of
branches and other instructions that modify the PC."
6. What is pipelining?
Example: "Pipelining, also known as "pipeline processing", is the process of
collecting instruction from the processor through a pipeline. It stores and executes
instructions in an orderly process."Related: 15 Great Computer Science Resume
Objective Examples
7. What is a cache?
Example: "A cache is a small amount of memory, which is a part of the CPU. It's
placed closer to the CPU than the RAM. It temporarily holds data and instructions
that the CPU is likely to reuse."
8. What is a snooping protocol?
Example: "A snooping protocol, also referred to as a "bus-snooping protocol,"
maintains cache coherency in symmetric multiprocessing environments. All caches on
the bus snoop or monitor the bus to determine if they have a copy of the block of data
that is requested on the bus. Each cache holds a copy of the sharing status of every
block of physical memory it has. Typically, several copies of a file in a
multiprocessing environment can be read without any problem of coherence.
However, a processor should have exclusive access to the bus to write."
9. What are the different types of interrupts in a microprocessor
system?
Example: "Interrupts can either be internal or external. Internal interrupts, which
are also referred to as "software interrupts", are caused by software instruction and
operate similar to a branch or jump instruction. An external interrupt, which is also
referred to as a "hardware interrupt," is caused by an external hardware module."
10. What is the easiest way to determine cache locations in which to
store memory blocks?
Example: "Direct mapping is the easiest way to define cache locations in which to
store memory blocks. It maps each block of the main memory into only one possible
cache line. The cache in a direct-mapped cache structure is organized into several
sets, with a single line per set. Based on the memory block's address, it can only use a
single cache line. The cache can be framed as a column matrix."
11. What is a virtual memory on a computer?
Example: "A virtual memory is an operating systems' memory management feature
that uses software and hardware to allow computers to compensate for the shortages
of physical memory by temporarily moving data from RAM to disk storage."
12. Can you state some of the common rules of assembly language?
Example: "Some of the common rules of assembly language include the following:
      In assembly language, the label field can either be empty or may
       define a symbolic address.
      Instruction fields can specify machine pseudo instructions.
      Comment fields can be commented with or left empty.
      In the case of symbolic addresses, up to four characters are only
       allowed.
      The comment field begins with a forward slash while the symbolic
       addresses field is terminated by a comma."
13. What is the RAID system?
Example: "RAID, which stands for Redundant Array of Independent Disks, refers to
the hard drives connected and set up in ways to help accelerate or protect the
performance of a computer's disk storage. It is typically used on servers and high-
performance computers."
14. What are the two hardware methods to establish a priority? Explain
each method.
Example: "The two different ways to establish hardware priority are the parallel
priority and daisy-chaining. Daisy-chaining is a method that involves connecting all
the devices that can request an interrupt in a serial manner. This setting is governed
by the priority of the devices, in which the device with the highest priority is placed
first.Parallel priority, on the other hand, uses a register for which bits are configured
separately by the interrupt signal from each device. It may also come with a mask
register, which is used to control the status of each interrupt request."
15. What are flip-flops?
Example: "Flip-flops, also called "latches", are electronic circuits that have two
stable states used to store binary data. The data stored in the states can be modified
by using varying inputs. Flip-flops are fundamental components of digital electronic
systems used in communications, computers and many other kinds of systems."
16. What's the difference between interrupt service routine and
subroutine?
Example: "Subroutine is a part of code within a larger program, which performs a
specific task and is relatively independent of the remaining code. Interrupt service
routines deal with hardware interrupts. They are not independent threads, but more
like signals. They are used if an interrupt suspends any thread. Unlike subroutine,
which runs when we call it, ISR runs whenever there's a signal from either the
software or hardware. The big difference is we can determine where the subroutine
runs while we can't determine when the ISR will be executed."
17. What are the different types of fields that are part of instruction?
Example: "An instruction is like a command to a computer to perform a particular
operation. The instruction format is composed of various fields in them such as:
      Operation code field. Also called the "op-code field", this field is
       used to specify the operation to be performed for the instruction.
      Address field. As the term implies, this field is used to designate the
       various addresses, such as memory address and register address.
      Mode field. This field specifies as to how an operand performs or
       how effective an address is."
18. What are the steps involved in an instruction cycle?
Example: "A program that resides in the memory contains a set of instructions that
the computer needs to perform sequentially. The cycle for every instruction is called
the instruction cycle, which consists of the following steps:
      Fetch instruction. The CPU fetches the instruction from the memory.
       The computer gets loaded with the address of the instruction.
      Decode. This allows the CPU to determine what instruction must be
       performed and how many operands are needed to fetch to perform an
       instruction.
      Execute. At this step, the instruction is performed. If the instruction
       has logic or arithmetic, the ALU is utilized. This is the only step of the
       instruction cycle that's useful from the end user's perspective."
19. What are the five stages in a DLX pipeline?
Example: "Each DLX instruction has five stages. These include:
   .   Instruction fetch
   .   Instruction decode and register fetch
   .   Execution
   .   Memory access
   .   Writeback"
20. What are the types of micro-operations?
Example: "Micro-operations are executed on data stored in registers. They are basic
math operations performed on the information stored in one or more registers. The
types of micro-operations are:
      Shift micro-operations: They perform shift operations on data
       stored in registers.
      Logic micro-operations: They execute bit manipulation operations
       on nonnumerical data saved in registers.
      Arithmetic micro-operations: They perform arithmetic operations,
       such as subtractions and additions, on digital data stored in registers.
      Register transfer micro-operations: They transfer binary
       information between registers."
21. What is the write-through method?
Example: "Write-through is the preferred method of data storage in many
applications, especially in banking and medical device control, as it's good at
preventing data loss. In less critical applications, and especially when the volume of
data is large, an alternative method known as "write-back" speeds up system
performance because updates are typically written exclusively to the cache and are
saved in the main memory only under certain conditions or at specified
intervals."Related: Top Computer Coding Skills for Your Resume
22. What is associative mapping?
Example: "The associative mapping technique uses several mapping functions to
transfer data from the main memory to the cache memory. This means that any main
memory is mapped into any line of the cache. As a result, the cache memory address
is not in use. The associative cache controller processes and interprets the request by
utilizing the main memory address format."
23. What does wait state mean?
Example: "A wait state means that the computer processor experiences a delay when
accessing a device or an external memory that is slow in its response. Wait states are
considered wasteful in processor performance, which is why modern-day designs try
to either minimize or eliminate wait states. These include pipelines, instruction pre-
fetch and pipelines, caches, branch prediction and simultaneous multithreading.
While these techniques can't eliminate wait states, they can significantly minimize the
problem when they work together."
24. What is DMA?
Example: "DMA, which stands for Direct Memory Access, is a feature of computer
systems that allows an input/output device to receive or send data directly from or to
the main memory, bypassing the CPU to boost memory operations. The process is
performed by a chip known as the DMA controller."
25. What is a horizontal microcode?
Example: "Horizontal microcode, which is usually contained in a fairly wide control
store, comes with several discrete micro-operations that are combined into one
micro-instruction for simultaneous operation."