Mobiprep has created last-minute notes for all topics of CAO to help you with the revision of concepts for your university examinations. So let’s get started with the lecture notes on CAO.
Our team has curated a list of the most important questions asked in universities such as DU, DTU, VIT, SRM, IP, Pune University, Manipal University, and many more. The questions are created from the previous year's question papers of colleges and universities.
What is the difference between studying Computer Organization and Computer Architecture?
State the difference between the following three categories of languages: High level, assembly level and machine level language.
Explain various abstraction layers in the computer architecture?
Explain various abstraction layers in the computer architecture?
Explain the execution process of the instruction stored within the memory?
What is the Von Neumann bottleneck? What was the proposed solution?
Fundamentals of computer systems
Question 1) What is the difference between studying Computer Organization and Computer Architecture?
Answer) Computer Architecture of a system is concerned with the structure and behavior of the Computer as seen by the user. It includes the Instruction Formats, Instruction sets, and techniques for addressing memory. It includes attributes such as: Instruction Formats, Addressing Modes, Instruction Sets, I/O Mechanisms.
A computer architect develops the performance specifications for various components of the computer system and denies the interconnections between them.
Computer Organization is how features are implemented, typically hidden from the programmer. E.g. control signals, interfaces, memory technology etc. It is concerned with the way the hardware components operate and the way they are connected together to form the computer system.
Organization is how features are implemented Control signals, interfaces, memory technology. e.g. Is there a hardware multiply unit or is it done by repeated addition? Working of Accelerator, Break, Clutch
Question 2) State the difference between the following three categories of languages: High level, assembly level and machine level language.
Answer) High level language
High level language is the language which is not limited by the computer. They are more human readable thus need to be converted into low level language in order to be processed by the computer.
This is the second-generation programming language. It is a development on the machine language, where instead of using only numbers, we use English words, names, and symbols. It is the most basic computer language necessary for any processor. It is a programming language that uses symbolic names to represent operations, registers and memory locations. ″ Slightly higher-level language ″ .Readability of instructions is better than machine language ″ and it have one-to-one correspondence with machine language instructions.
Low level language
Low level language (LLL) are the basic machine codes. In order to process any command, it need to be converted into computer friendly languages. These low-level languages are Native to processor and consist of binary code: 1 and 0 The main function of low-level languages is to interact with the hardware of the device. They handle all the instructions which are the part of the hardware architecture of a system
Question 3) Draw the layered architecture of a computer system.
The main aim of this architecture is to break down the complex mechanism into small pieces in which each lower layer adds its services to the higher layer to provide a full set of services in order to manage communications and run the applications.
It provides modularity and clear interfaces, i.e., provides interaction between subsystems and ensures the independence between layers by providing the services from lower to higher layer without defining how the services are implemented. Therefore, any modification in a layer will not affect the other layers.
1. The basic elements of layered architecture are services, protocols, and interfaces.
Service: It is a set of actions that a layer provides to the higher layer.
Protocol: It defines a set of rules that a layer uses to exchange the information with a peer entity. These rules mainly concern both the contents and order of the messages used.
Interface: It is a way through which the message is transferred from one layer to another layer.
2. In a layer n architecture, layer n on one machine will have a communication with the layer n on another machine and the rules used in a conversation are known as a layer-n protocol.
Question 4) Explain the attributes of computer architecture.
Answer) Computer Architecture Is concerned with the structure and behavior of the computer as seen by the user/programmer. It includes attributes such as: Instruction Formats, Addressing Modes, Instruction Sets and I/O Mechanisms
An instruction consists of an opcode always, along with some additional information such as where the operands come from and where the final results go to etc. Different machines have different instruction formats.
Addressing basically refers to the way in which the operands are specified in an instruction. There are different ways in which the bits of an address field can be interpreted to find the operand. Addressing modes refer to these different ways.
The instruction set, also called ISA (instruction set architecture), is part of a computer that pertains to programming, which is more or less machine language. The instruction set provides commands to the processor, to tell it what it needs to do. The instruction set consists of addressing modes, instructions, native data types, registers, memory architecture, interrupt, and exception handling, and external input output.
The I/O mechanism is a subsystem of Computer to communicate between the computer system and the external environment.
Question 5) Explain various abstraction layers in the computer architecture?
Application Programs (Level 5)
Written in high-level programming languages
Such as Java, C++, Pascal, Visual Basic
Programs compile into assembly language level (Level 4)
Assembly Language (Level 4)
Instruction mnemonics are used
Have one-to-one correspondence to machine language
Calls functions written at the operating system level (Level 3)
Programs are translated into machine language (Level 2)
Operating System (Level 3)
Provides services to level 4 and 5 programs
Translated to run at the machine instruction level (Level 2)
Instruction Set Architecture (Level 2)
Specifies how a processor function
Machine instructions, registers, and memory are exposed
Machine language is executed by Level 1 (microarchitecture)
Microarchitecture (Level 1)
Controls the execution of machine instructions (Level 2)
Implemented by digital logic (Level 0)
Digital Logic (Level 0)
Implements the microarchitecture
Uses digital logic gates
Logic gates are implemented using transistors
Question 6) Explain the execution process of the instruction stored within the memory?
Answer) The execution process of the instruction stored in the memory happens in three phases
In this phase the instructions retrieved picked from the memory
Contents of PC are transferred to Memory address registers
Mani memory is accessed and current instruction is fetched into Memory buffer registers
Instruction is transferred from Memory buffer registers to instruction registers
Once the instructions are retrieved these are decoded by the control unit
Opcode of the instructions is decoded
Contents of the program counter are incremented by 1 (in case of 1-byte instructions or equal to the number of bytes of the instruction currently being executed.
Execution phase follows
Once the instructions are decoded, they are executed by the ALU.
Execute the instructions
Store the results in the proper place (go to the fetch phase to execute the net instruction)
Question 7) What is Harvard Architecture? Draw and explain.
Harvard Architecture is the computer architecture that contains separate storage and separate buses (signal path) for instruction and data. It was basically developed to overcome the bottleneck of Von Neumann Architecture. The main advantage of having separate buses for instruction and data is that the CPU can access instructions and read/write data at the same time hence speeding up this process.
The main disadvantage of the architecture is that the separate mechanism to fetch data and the programs.
Question 8) What is the Von Neumann bottleneck? What was the proposed solution?
Answer) The von Neumann bottleneck is the idea that computer system throughput is limited due to the relative ability of processors compared to top rates of data transfer. According to this description of computer architecture, a processor is idle for a certain amount of time while memory is accessed.
This problem of Von Neumann bottleneck can be solved in two ways:
Use of cache memory between CPU and main memory
Using RISC computers
This performance problem can be reduced by introducing a cache memory (special type of fast memory) in between the CPU and the main memory. This is because the speed of the cache memory is almost the same as that of the CPU. So, there is no waiting time for the CPU and data-word to come to it for processing.
Another way of solving the problem is by using a special type of computer known as Reduced Instruction Set Computers (RISC). The main intention of the RISC is to reduce the total number of memory references made by the CPU; instead it uses a large number of registers for the same purpose.