What is computer architecture?
Computer architecture is often misunderstood with many people thinking that it only refers to the way the computers are built. However, computer architecture is a science that defines how computer hardware parts interact with their software components and include a set of rules that determine the interactions between the aforementioned components. This means that computer architecture also includes all the technologies that a computer system contains and determines the kind of programming that the technology can handle. With the ever increasing growth in the technology world, it has allowed programmers to build more complex programs because the hardware components are capable of handling them. Computer architecture guides programmers on the kind of programs they can build and on which technologies these programs can be run.
Types of computer architecture
Computer architecture is largely divisible into three main components, that is;
- Input/ Output devices: These mainly refers to the devices via which instructions are put into a computer such as a keyboard or output is viewed such as a monitor. However, there are other input and output mechanisms such as interrupt signals.
- Central Processing Unit/ Processor: The processing unit is the component of a system that performs all logic and arithmetic computations on data. The modern computing systems have more than one processor effectively meaning they possess more processing power.
- Memory/ Storage devices: These three components make up a computer system.
From an advanced perspective, computer architecture can be categorized into three main categories as listed below:
- System design
- Instruction set architecture
This part includes all the tangible parts of a computer system which include the display system, processors, memory controllers and data processors.
Instruction Set Architecture
These include all the software components that define how the hardware components handle user input. The computer’s operating system is in this category. Examples of operating systems include Windows, Linux, and iOS.
This category includes all data processing parts and processes and the rules that determine how data and storage elements are implemented into the instruction set architecture.
Computer organization VS. Computer architecture
Computer organization and architecture are terms that may be used synonymously, but they are not quite similar as there are subtle differences between the two. Computer organization is, generally, the computer system from the point of view of the user and is mainly concerned with how the computer system behaves after receiving a set of instructions. On the other hand, computer architecture is the computer system from a programmer’s point of view and is mainly concerned with how computer hardware parts are connected together to form a system and how the various components interact with each other.
Computer organization perspective allows programmers to deal with low-level design issues. In the case of computer architecture, the high-level design issues that actually determines the actual working of a computer system are tackled. Thirdly, computer architecture involves logic components of a computer system such as instruction sets, data types and addressing modes. However, computer organization is concerned with the physical components such as adders, circuit designs and signals.
Computer systems architecture is a critical area of study in computer science and for learners, it is important that they have an in-depth understanding of computer systems, all their components and how these various components interact with each other. This thorough understanding enables them to develop software applications that optimally utilize the available computer hardware resources. However, this field of study can prove difficult and in such cases, it is only prudent that these learners seek computer architecture help from experts online as well as from other resources.