Table Of Contents
- 1 What is Computer Architecture?
- 2 Types of Computer Architecture
- 3 Von Neumann Architecture
- 4 Harvard Architecture
- 5 Modified Harvard Architecture
- 6 RISC And CISC Architectures
- 7 Basic Components of Computer Architecture
- 8 Instruction Set Architecture
- 9 Pipelining and Parallelism in Computer Architecture
- 10 Power Consumption and Performance
- 11 Latest trends in Computer architecture
- 12 Conclusion
Computer architecture is a study of the logical aspects of a computer including its basic technology, interface, design methodologies, data storage, and more. Being a fast-evolving domain, computer architecture has undergone massive transformations over the years.
Today, some kind of computing device is a necessary part of our daily lives. The significant role of computers in the modern era calls for a detailed inspection of their structural aspects. Let’s explore the depths of computer architecture and the logical aspects of its functioning.
What is Computer Architecture?
Computer architecture encompasses the complete structure of a computer design and the interaction between its components. It dictates how each complex part of a computer system operates together to perform specific tasks.
A study of computer architecture includes knowledge of how its hardware and software components are organized, how memory is stored, and how data is processed. Over the years, different configurations of computer architecture have been designed to speed up data processing and satisfy evolving needs.
Types of Computer Architecture
Computer architecture can be broadly classified into many categories. Although they share similar basic components, the way they are set up makes them different. Let’s examine the four major types of computer architecture and their unique features.
Von Neumann Architecture
Von Neumann Architecture is based on a design proposed by mathematician and physicist John von Neumann. This design is followed by most modern computers and is characterized by its simplicity and versatility.
It comprises a single, shared memory for programs and data, a single bus for memory access, an arithmetic unit, and a program control unit. In this system, all instructions are carried out sequentially. Both data and instructions are stored in the same memory unit. The CPU can perform only one task at a time which limits the system’s performance.
Harvard Architecture
Harvard Architecture is a kind of computer system that has separate storage and buses for data and instructions. It is named after an IBM computer at a famed university, Harvard Mark I. It features separate memory spaces for data and instructions which gives the advantage of simultaneous access to both and gives more efficient data access. Moreover, having separate buses reduces the chances of data corruption. It requires a more complex architecture that can be hard to implement.
Modified Harvard Architecture
Modified Harvard architecture is a variation of Harvard Architecture that allows memory-containing instructions to be accessed as data. This modification lifts the rigid separation between data and instructions. Modern computers that are often featured as Harvard architecture, in fact, follow modified Harvard architecture.
RISC And CISC Architectures
In the case of processor architecture, the primary approach was CISC or complex instruction set computer. These processes have a single processing unit and perform a single task at a time. They require more time to complete an instruction and use less memory. Hence this design was modified and led to the development of RISC.
Basic Components of Computer Architecture
Computer architecture is a complicated system made of different components that work together to produce outcomes. Let’s examine the basic components of computer architecture in detail.
Central Processing Unit
The central processing unit is the major component of a computer that is responsible for processing data and instructions. The CPU controls its surrounding components through instructions written as binary bits.
The working of all other components of a computer depends on the functioning of the CPU. It is the invisible manager of a computer where data input is transformed into information output. It is composed of five major components. They are general purpose registers, special purpose registers, ALU, buses, and the control unit.
Memory
A computer system’s memory is designed to store data, which may be permanent or instructions issued by the CPU. Memory can be broadly divided into primary and secondary memory. Primary memory is the only memory unit that can communicate directly with the CPU.
It stores data and programs that are currently used. Primary memory is of two types, RAM and ROM. While RAM stores data only while the computer is being used, ROM stores information even after turning off the system.
Input/Output Devices
These are hardware components that help individuals communicate with a computer by receiving and delivering data. While input devices help enter data into a computer, output devices provide output information to users from the computer. Devices like mouse, keyboard, and microphone are input devices. Examples of output devices are printers, monitors, and speakers.
Buses
Buses are used to communicate with the internal components of a computer. They consist of a connector or set of wires that provide transportation for data. Three types of buses are used by most computer systems.
They are the data bus, address bus, and control bus. The data bus transmits data from the CPU to memory and input or output devices. The address bus carries the address that indicates the location the CPU wants to access. The control bus transfers control from one component of the system to another.
Instruction Set Architecture
Instruction set Architecture defines how software controls the CPU. It decides which software can be installed in a processor and how efficiently it can work. ISA is divided into three types based on the placement of instructions.
In the case of stack-based ISA, the instructions are placed in the stack. The other types are accumulator-based ISA and register-based ISA. Most modern computers use register-based ISA.
Pipelining and Parallelism in Computer Architecture
Pipelining refers to processing multiple instructions at the same time. It is of two types- instruction pipelines and arithmetic pipelines. Instruction pipelines are used for fixed-point multiplications, floating-point operations, and similar calculations. Arithmetic pipelines are used to read consecutive instructions from memory.
In Parallelism, multiple processors are used to process data simultaneously. This helps in processing a large amount of data within a short time. The two types of parallelism involved are data parallelism and task parallelism.
Data Parallelism performs the same task with multiple cores and varying data. Task parallelism performs multiple tasks with multiple cores and similar or different data.
Power Consumption and Performance
Power consumption is one of the most important aspects of computer architecture. Overlooking this factor can lead to excessive power consumption, high operating costs, and reduced machine life. The following techniques are implemented in computer architecture to lower power consumption:
- Dynamic Voltage and Frequency Scaling: This helps scale voltage depending on the requirement.
- Clock gating: When the circuit is not in use, clock gating helps shut off the clock signal.
- Power gating: This shuts off the power to circuit blocks when not used.
The performance of a computer is measured as follows:
- Instructions per second: This measures efficiency at any clock frequency
- Floating point operations per second: It measures the numerical computing performance.
- Benchmarks: This is used to measure how long the system takes to complete a series of tasks.
Latest trends in Computer architecture
The growing and evolving demands in computing have led to the development of various trends. Let’s have a look at some trending components in computer Architecture:
- Specialized hardware: Hardware that is specially designed to carry out specific tasks is called specialized hardware. Examples are field-programmable gate arrays, graphics processing units, and digital signal processors.
- Cloud-based Computing: It uses remote servers and networks instead of computers to store, administer, and process data. This increases the flexibility and scalability of computer resources.
- Edge Computing: Edge computing analyzes and processes data on devices that are close to the data generation source. This speeds up data processing and reduces lagging.
- Quantum Computing: It uses quantum mechanics to tackle complex computing problems that cannot be solved by traditional computers. Quantum computing has the potential to transform industries including banking and cryptography.
- Neuromorphic Computing: It uses specialized hardware and software to replicate the brain’s neuronal structure. It relies on analogs and is more energy efficient. Neuromorphic computing can be applied in fields like Artificial intelligence and robotics.
- Advanced Memory technologies: Advanced memory technologies have emerged and are undergoing research to tackle shortcomings in current memory solutions. They are designed to address the most prominent aspects of computer architecture like performance, and power consumption.
Conclusion
As we have observed in this article, computer architecture plays an inevitable role in determining the performance and speed of a computer. Today, computing devices have become a necessary part of our lives.
Ever-changing needs and demands have made computer architecture a forever-evolving domain that ultimately aims to maximize output. While so many trends have both been implemented and are currently undergoing research, Computer architecture is about to break records in terms of scalability and performance. Ongoing innovations in the landscape of computing imply that an ideal system with top-notch performance is about to be unveiled.