By Mike Scott
Summary
Computer architecture forms the backbone of computer science. So, it comes as no surprise it’s one of the most researched fields of computing.
But what is computer architecture, and why does it matter?
Basically, computer architecture dictates every aspect of a computer’s functioning, from how it stores data to what it displays on the interface. Not to mention how the hardware and software components connect and interact.
With this in mind, it isn’t difficult to realize the importance of this structure. In fact, computer scientists did this even before they knew what to call it. The first documented computer architecture can be traced back to 1936, 23 years before the term “architecture” was first used when describing a computer. Lyle R. Johnson, an IBM senior staff member, had this honor, realizing that the word organization just doesn’t cut it.
Now that you know why you should care about it, let’s define computer architecture in more detail and outline everything you need to know about it.
Computer architecture is an elaborate system where each component has its place and function. You’re probably familiar with some of the basic computer architecture components, such as the CPU and memory. But do you know how those components work together? If not, we’ve got you covered.
The central processing unit (CPU) is at the core of any computer architecture. This hardware component only needs instructions written as binary bits to control all its surrounding components.
Think of the CPU as the conductor in an orchestra. Without the conductor, the choir is still there, but they’re waiting for instructions.
Without a functioning CPU, the other components are still there, but there’s no computing.
That’s why the CPU’s components are so important.
Since the binary bits used as instructions by the CPU are numbers, the unit needs an arithmetic component to manipulate them.
That’s where the arithmetic logic unit, or ALU, comes into play.
The ALU is the one that receives the binary bits. Then, it performs an operation on one or more of them. The most common operations include addition, subtraction, AND, OR, and NOT.
As the name suggests, the control unit (CU) controls all the components of basic computer architecture. It transfers data to and from the ALU, thus dictating how each component behaves.
Registers are the storage units used by the CPU to hold the current data the ALU is manipulating. Each CPU has a limited number of these registers. For this reason, they can only store a limited amount of data temporarily.
Storing data is the main purpose of the memory of a computer system. The data in question can be instructions issued by the CPU or larger amounts of permanent data. Either way, a computer’s memory is never empty.
Traditionally, this component can be broken into primary and secondary storage.
Primary memory occupies a central position in a computer system. It’s the only memory unit that can communicate with the CPU directly. It stores only programs and data currently in use.
There are two types of primary memory:
With secondary memory, or auxiliary memory, there’s room for larger amounts of data (which is also permanent). However, this also means that this memory is significantly slower than its primary counterpart.
When it comes to secondary memory, there’s no shortage of choices. There are magnetic discs (hard disk drives (HDDs) and solid-state drives (SSDs)) that provide fast access to stored data. And let’s not forget about optical discs (CD-ROMs and DVDs) that offer portable data storage.
The input/output devices allow humans to communicate with a computer. They do so by delivering or receiving data as necessary.
You’re more than likely familiar with the most widely used input devices – the keyboard and the mouse. When it comes to output devices, it’s pretty much the same. The monitor and printer are at the forefront.
When the CPU wants to communicate with other internal components, it relies on buses.
Data buses are physical signal lines that carry data. Most computer systems use three of these lines:
There’s more than one type of computer architecture. These types mostly share the same base components. However, the setup of these components is what makes them differ.
The Von Neumann architecture was proposed by one of the originators of computer architecture as a concept, John Von Neumann. Most modern computers follow this computer architecture.
The Von Neumann architecture has several distinguishing characteristics:
Since data and instructions are located in the same place, fetching them is simple and efficient. These two adjectives can describe working with the Von Neumann architecture in general, making it such a popular choice.
Still, there are some disadvantages to keep in mind. For starters, the CPU is often idle since it can only access one bus at a time. If an error causes a mix-up between data and instructions, you can lose important data. Also, defective programs sometimes fail to release memory, causing your computer to crash.
Harvard architecture was named after the famed university. Or, to be more precise, after an IBM computer called “Harvard Mark I” located at the university.
The main difference between this computer architecture and the Von Neumann model is that the Harvard architecture separates the data from the instructions. Accordingly, it allocates separate data, addresses, and control buses for the separate memories.
The biggest advantage of this setup is that the buses can fetch data concurrently, minimizing idle time. The separate buses also reduce the chance of data corruption.
However, this setup also requires a more complex architecture that can be challenging to develop and implement.
Today, only specialty computers use the pure form of Harvard architecture. As for other machines, a modified Harvard architecture does the trick. These modifications aim to soften the rigid separation between data and instructions.
When it comes to processor architecture, there are two primary approaches.
The CISC (Complex Instruction Set Computer) processors have a single processing unit and are pretty straightforward. They tackle one task at a time. As a result, they use less memory. However, they also need more time to complete an instruction.
Over time, the speed of these processors became a problem. This led to a processor redesign, resulting in the RISC architecture.
The new and improved RISC (Reduced Instruction Set Computer) processors feature larger registers and keep frequently used variables within the processor. Thanks to these handy functionalities, they can operate much more quickly.
Instruction set architecture (ISA) defines the instructions that the processor can read and act upon. This means ISA decides which software can be installed on a particular processor and how efficiently it can perform tasks.
There are three types of instruction set architecture. These types differ based on the placement of instructions, and their names are pretty self-explanatory. For stack-based ISA, the instructions are placed in the stack, a memory unit within the address register. The same principle applies for accumulator-based ISA (a type of register in the CPU) and register-based ISA (multiple registers within the system).
The register-based ISA is most commonly used in modern machines. You’ve probably heard of some of the most popular examples. For CISC architecture, there are x86 and MC68000. As for RISC, SPARC, MIPS, and ARM stand out.
In computer architecture, pipelining and parallelism are methods used to speed up processing.
Pipelining refers to overlapping multiple instructions and processing them simultaneously. This couldn’t be possible without a pipeline-like structure. Imagine a factory assembly line, and you’ll understand how pipelining works instantly.
This method significantly increases the number of processed instructions and comes in two types:
Parallelism entails using multiple processors or cores to process data simultaneously. Thanks to this collaborative approach, large amounts of data can be processed quickly.
Computer architecture employs two types of parallelism:
Multicore processors are crucial for increasing the efficiency of parallelism as a method.
In computer system architecture, memory hierarchy is essential for minimizing the time it takes to access the memory units. It refers to separating memory units based on their response times.
The most common memory hierarchy goes as follows:
The cache memory is a small and fast memory located close to a processor core. The CPU uses it to reduce the time and energy needed to access data from the primary memory.
Cache memory can be further broken into levels.
When it comes to determining where the data will be stored in the cache memory, three mapping techniques are employed:
The performance of cache memory directly impacts the overall performance of a computing system. The following cache replacement policies are used to better process big data applications:
The input/output or I/O systems are designed to receive and send data to a computer. Without these processing systems, the computer wouldn’t be able to communicate with people and other systems and devices.
There are several types of I/O systems:
There are three standard I/O interfaces used for physically connecting hardware devices to a computer:
Power consumption has become one of the most important considerations when designing modern computer architecture. Failing to consider this aspect leads to power dissipation. This, in turn, results in higher operating costs and a shorter lifespan for the machine.
For this reason, the following techniques for reducing power consumption are of utmost importance:
Besides power consumption, performance is another crucial consideration in computer architecture. The performance is measured as follows:
Computer architecture is continuously evolving to meet modern computing needs. Keep your eye out on these fascinating trends:
As you can tell, computer architecture directly affects your computer’s speed and performance. This launches it to the top of priorities when building this machine.
High-performance computers might’ve been nice-to-haves at some point. But in today’s digital age, they’ve undoubtedly become a need rather than a want.
In trying to keep up with this ever-changing landscape, computer architecture is continuously evolving. The end goal is to develop an ideal system in terms of speed, memory, and interconnection of components.
And judging by the current dominant trends in this field, that ideal system is right around the corner!
Visit our FAQ page or get in touch with us!
Write us at +39 335 576 0263
Get in touch at hello@opit.com
Talk to one of our Study Advisors
We can speak in: