Computer organisation and Architecture is the study of a computer system’s internal workings, structure, and implementation. Architecture refers to the outwardly visible properties of a computer system, just as it does anywhere else. In computer science, externally visual qualities refer to how a system is visible to programme logic. The method of practical implementation that results in the realisation of a computer system’s architectural specifications is known as the computer framework.
Computer organisation and Architecture provide in-depth knowledge of internal working, structuring, and implementation of a computer system.
In general terms, the architecture of a computer system can be considered as a catalogue of tools or attributes that are visible to the user such as instruction sets, the number of bits used for data, addressing techniques, etc. Whereas, organisation defines the way the system is structured so that all those catalogued tools can be used properly.
Computer organisation and Architecture help understand the composition and working of a computer system. It describes the functionality of the system.
There are some common terms associated with the topic like:
Basic Computer Instructions:
This gives us an idea of how instruction is dealt with by a computer system. A basic computer system has 16-bit registers to store the instructions (IR) which can represent memory reference(to store memory instruction), register reference( to store register instruction) or input-output instructions.
- Memory Reference: It depicts the memory address as an operand. The operand is always an accumulator. The instructions are represented as a 12-bit address, 3-bit opcode (except 111) and 1-bit addressing mode for direct and indirect addressing.
- Register Reference: These instructions perform operations on registers rather than memory addresses. The IR(14 – 12) is valued at 111 which differentiates it from memory reference and IR(15) stores 0 which differentiates it from input/output instructions. The remaining 12 bits stores register operation.
- Input/Output instructions: The goal of these instructions is to help communicate between computers and the outside environment(user). The IR(14 – 12) is 111 which differentiates it from memory reference and IR(15) is 1 which differentiates it from register reference instructions as its value is 0 for IR(0). The rest 12 bits specify I/O operation.
Instruction Design and Format:
The computer performs a task based on the instruction provided. Instructions have groups called fields. For computers, everything is in 0 and 1, so these fields contain different information and have different significance based on which a CPU decides what to perform.
- Operation field: specifies the operation to be performed like addition.
- Address field: which contains the location of the operand, i.e., register or memory location.
- Mode field: which specifies how operand is to be founded.
An instruction contains addresses which can be of variable length, depending upon the number of addresses it contains it can be differentiated.CPU organisation is of three types based on the number of address fields: Single Accumulator, General Register, and Stack organisation. A mix of these organisations is used in the real world. Based on the number of addresses, instructions are classified as zero-address instructions, one-address instructions, two-address instructions and three-address instructions. These have different working, applications and functions.
Computer Arithmetic:
An instruction format defines the different components of instruction. The main components of instruction are opcode and operands. Opcode represents which instruction is to be executed and operand represents the data on which instruction to be executed.
The different terms related to instruction format are:
- Instruction set size – It represents the total number of instructions already defined in the processor.
- Opcode size – It represents the number of bits occupied by the opcode. It is calculated by taking a log of instruction set size.
- Operand size – It represents the number of bits occupied by the operand.
- Instruction size – It is calculated as the sum of bits occupied by opcode and operands.
Microprogrammed Control:
The control unit is the part of the computer’s central processing unit (CPU), which determines the operation of the processor. It is the responsibility of the Control Unit to tell the computer’s memory, arithmetic/logic unit and input and output devices how to respond to the instructions that have been sent to the processor. It takes internal instructions of the programs from the main memory to the processor instruction register and generates a control signal that supervises the execution of these instructions based on the register’s contents.
A control unit receives input signals and converts them into control signals which are sent to the central processor. There are 3 types of control units based on their working and function; hardwired, micro-programmed, horizontal and vertical control units.
Input and output system:
The I/O interface is the technique for transferring information between internal storage and external I/O devices. The peripherals connected to any computer system use particular communication lines to interface with the CPU; these are called the I/O devices. These communication channels are utilised to reconcile CPU and peripheral discrepancies. These I/O devices help us to take instructions from the user and give the results. Interface units(I/O devices) are specific hardware components that sit between the CPU and peripherals. These devices supervise and synchronise all input and output transactions.
What is pipelining?
Pipelining is a process of arrangement of hardware elements of the CPU such that its overall performance is increased. More than one instruction is executed simultaneously in a pipelined processor. It supports multi-processing which is an important function of a computer system. It improves the performance of the system by facilitating the execution of multiple instructions at a time. There are many stages in the pipeline and based on that there are two types of pipelining; uniform delay pipelining and non-uniform delay pipelining.
Memory organisation:
In Computer System Design, Memory Hierarchy is an enhancement to organise the memory such that it can minimise the access time. The Memory Hierarchy was developed based on a program behaviour known as the locality of references.
The computer system uses the concept of Cache memory. Cache Memory is a special very high-speed memory. It is used to speed up and synchronise with high-speed CPUs. Cache memory is more expensive than the main memory (disk memory) and it is more economical than CPU registers. It acts as a buffer between RAM and the CPU. It holds frequently requested data and instructions so that they are immediately available to the CPU when needed hence it is an extremely fast memory type.
The cache is a smaller and faster memory that stores copies of the data from frequently used main memory locations which is why it is used to reduce the average time to access data from the Main memory.
Conclusion:
Computer organisation and Instruction tell us about the internal working, storage and processing of a computer system. It describes the internal and external components of a system along with how the addressing system works and how the instructions are carried from the input to the output device using the registers. It gives us an insight into the working, organisation and architecture of the system which helps in advancing and designing new concepts for the system. This can help in increasing the efficiency and performance of the system.