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.
Basic Components of Computer Architecture
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.
Central Processing Unit (CPU)
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.
Arithmetic Logic Unit (ALU)
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.
Control Unit (CU)
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
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.
Memory
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
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:
- RAM (Random Access Memory). In computer architecture, this is equivalent to short-term memory. RAM helps start the computer and only stores data as long as the machine is on and data is being used.
- ROM (Read Only Memory). ROM stores the data used to operate the system. Due to the importance of this data, the ROM stores information even when you turn off the computer.
Secondary 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.
Input/Output (I/O) Devices
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.
Buses
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:
- Data bus – Transmitting data from the CPU to memory and I/O devices and vice versa
- Address bus – Carrying the address that points to the location the CPU wants to access
- Control bus – Transferring control from one component to the other
Types of Computer Architecture
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.
Von Neumann Architecture
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:
- All instructions are carried out sequentially.
- It doesn’t differentiate between data and instruction. They’re stored in the same memory unit.
- The CPU performs one operation at a time.
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
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.
Modified Harvard Architecture
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.
RISC and CISC Architectures
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)
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.
Pipelining and Parallelism in Computer Architecture
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:
- Instruction pipelines – Used for fixed-point multiplication, floating-point operations, and similar calculations
- Arithmetic pipelines – Used for reading consecutive instructions from memory
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:
- Data parallelism – Executing the same task with multiple cores and different sets of data
- Task parallelism – Performing different tasks with multiple cores and the same or different data
Multicore processors are crucial for increasing the efficiency of parallelism as a method.
Memory Hierarchy and Cache
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:
- Level 1: Processor registers
- Level 2: Cache memory
- Level 3: Primary memory
- Level 4: Secondary memory
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.
- L1 cache (the primary cache) – The fastest cache unit in the system
- L2 cache (the secondary cache) – The slower but more spacious option than Level 1
- L3 cache (a specialized cache) – The largest and the slowest cache in the system used to improve the performance of the first two levels
When it comes to determining where the data will be stored in the cache memory, three mapping techniques are employed:
- Direct mapping – Each memory block is mapped to one pre-determined cache location
- Associative mapping – Each memory block is mapped to a single location, but it can be any location
- Set associative mapping – Each memory block is mapped to a subset of locations
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:
- FIFO (first in, first out) – The memory block first to enter the primary memory gets replaced first
- LRU (least recently used) – The least recently used page is the first to be discarded
- LFU (least frequently used) – The least frequently used element gets eliminated first
Input/Output (I/O) Systems
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:
- Programmed I/O – The CPU directly issues a command to the I/O module and waits for it to be executed
- Interrupt-Driven I/O – The CPU moves on to other tasks after issuing a command to the I/O system
- Direct Memory Access (DMA) – The data is transferred between the memory and I/O devices without passing through the CPU
There are three standard I/O interfaces used for physically connecting hardware devices to a computer:
- Peripheral Component Interconnect (PCI)
- Small Computer System Interface (SATA)
- Universal Serial Bus (USB)
Power Consumption and Performance in Computer Architecture
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:
- Dynamic Voltage and Frequency Scaling (DVFS) – Scaling down the voltage based on the required performance
- Clock gating – Shutting off the clock signal when the circuit isn’t in use
- Power gating – Shutting off the power to circuit blocks when they’re not in use
Besides power consumption, performance is another crucial consideration in computer architecture. The performance is measured as follows:
- Instructions per second (IPS) – Measuring efficiency at any clock frequency
- Floating-point operations per second (FLOPS) – Measuring the numerical computing performance
- Benchmarks – Measuring how long the computer takes to complete a series of test programs
Emerging Trends in Computer Architecture
Computer architecture is continuously evolving to meet modern computing needs. Keep your eye out on these fascinating trends:
- Quantum computing (relying on the laws of quantum mechanics to tackle complex computing problems)
- Neuromorphic computing (modeling the computer architecture components on the human brain)
- Optical computing (using photons instead of electrons in digital computation for higher performance)
- 3D chip stacking (using 3D instead of 2D chips as they’re faster, take up less space, and require less power)
A One-Way Ticket to Computing Excellence
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!
Related posts
Soon, we will be launching four new Degrees for AY24-25 at OPIT – Open Institute of Technology
I want to offer a behind-the-scenes look at the Product Definition process that has shaped these upcoming programs.
🚀 Phase 1: Discovery (Late May – End of July)
Our journey began with intensive brainstorming sessions with OPIT’s Academic Board (Francesco Profumo, Lorenzo Livi, Alexiei Dingli, Andrea Pescino, Rosario Maccarrone) . We also conducted 50+ interviews with tech and digital entrepreneurs (both from startups and established firms), academics and students. Finally, we deep-dived into the “Future of Jobs 2023” report by the World Economic Forum and other valuable research.
🔍 Phase 2: Selection – Crafting Our Roadmap (July – August)
Our focus? Introducing new degrees addressing critical workforce shortages and upskilling/reskilling needs for the next 5-10 years, promising significant societal impact and a broad market reach.
Our decision? To channel our energies on full BScs and MScs, and steer away from shorter courses or corporate-focused offerings. This aligns perfectly with our core mission.
💡 Focus Areas Unveiled!
We’re thrilled to concentrate on pivotal fields like:
- Cybersecurity
- Advanced AI
- Digital Business
- Metaverse & Gaming
- Cloud Computing (less “glamorous”, but market demand is undeniable).
🎓 Phase 3: Definition – Shaping the Degrees (August – November)
With an expert in each of the above fields, and with the strong collaboration of our Academic Director, Prof. Lorenzo Livi , we embarked on a rigorous “drill-down process”. Our goal? To meld modern theoretical knowledge with cutting-edge competencies and skills. This phase included interviewing over 60+ top academics, industry professionals, and students and get valuable, program-specific, insights from our Marketing department.
🌟 Phase 4: Accreditation and Launch – The Final Stretch
We’re currently in the accreditation process, gearing up for the launch. The focus is now shifting towards marketing, working closely with Greta Maiocchi and her Marketing and Admissions team. Together, we’re translating our new academic offering into a compelling value proposition for the market.
Stay tuned for more updates!
Far from being a temporary educational measure that came into its own during the pandemic, online education is providing students from all over the world with new ways to learn. That’s proven by statistics from Oxford Learning College, which point out that over 100 million students are now enrolled in some form of online course.
The demand for these types of courses clearly exists.
In fact, the same organization indicates that educational facilities that introduce online learning see a 42% increase in income – on average – suggesting that the demand is there.
Enter the Open Institute of Technology (OPIT).
Delivering three online courses – a Bachelor’s degree in computer science and two Master’s degrees – with more to come, OPIT is positioning itself as a leader in the online education space. But why is that? After all, many institutions are making the jump to e-learning, so what separates OPIT from the pack?
Here, you’ll discover the answers as you delve into the five reasons why you should trust OPIT for your online education.
Reason 1 – A Practical Approach
OPIT focuses on computer science education – a field in which theory often dominates the educational landscape. The organization’s Rector, Professor Francesco Profumo, makes this clear in a press release from June 2023. He points to a misalignment between what educators are teaching computer science students and what the labor market actually needs from those students as a key problem.
“The starting point is the awareness of the misalignment,” he says when talking about how OPIT structures its online courses. “That so-called mismatch is generated by too much theory and too little practical approach.” In other words, students in many classes spend far too much time learning the “hows” and “whys” behind computerized systems without actually getting their hands dirty with real work that gives them practical experience in using those systems.
OPIT takes a different approach.
It has developed a didactic approach that focuses far more on the practical element than other courses. That approach is delivered through a combination of classroom sessions – such as live lessons and masterclasses – and practical work offered through quizzes and exercises that mimic real-world situations.
An OPIT student doesn’t simply learn how computers work. They put their skills into practice through direct programming and application, equipping them with skills that are extremely attractive to major employers in the tech field and beyond.
Reason 2 – Flexibility Combined With Support
Flexibility in how you study is one of the main benefits of any online course.
You control when you learn and how you do it, creating an environment that’s beneficial to your education rather than being forced into a classroom setting with which you may not feel comfortable. This is hardly new ground. Any online educational platform can claim that it offers “flexibility” simply because it provides courses via the web.
Where OPIT differs is that it combines that flexibility with unparalleled support bolstered by the experiences of teachers employed from all over the world. The founder and director of OPIT, Riccardo Ocleppo, sheds more light on this difference in approach when he says, “We believe that education, even if it takes place physically at a distance, must guarantee closeness on all other aspects.” That closeness starts with the support offered to students throughout their entire study period.
Tutors are accessible to students at all times. Plus, every participant benefits from weekly professor interactions, ensuring they aren’t left feeling stuck on an educational “island” and have to rely solely on themselves for their education. OPIT further counters the potential isolation that comes with online learning with a Student Support team to guide students through any difficulties they may have with their courses.
In this focus on support, OPIT showcases one of its main differences from other online platforms.
You don’t simply receive course material before being told to “get on with it.” You have the flexibility to learn at your own pace while also having a support structure that serves as a foundation for that learning.
Reason 3 – OPIT Can Adapt to Change Quickly
The field of computer science is constantly evolving.
In the 2020s alone, we’ve seen the rise of generative AI – spurred on by the explosive success of services like ChatGPT – and how those new technologies have changed the way that people use computers.
Riccardo Ocleppo has seen the impact that these constant evolutions have had on students. Before founding OPIT, he was an entrepreneur who received first-hand experience of the fact that many traditional educational institutions struggle to adapt to change.
“Traditional educational institutions are very slow to adapt to this wave of new technologies and trends within the educational sector,” he says. He points to computer science as a particular issue, highlighting the example of a board in Italy of which he is a member. That board – packed with some of the country’s most prestigious tech universities – spent three years eventually deciding to add just two modules on new and emerging technologies to their study programs.
That left Ocleppo feeling frustrated.
When he founded OPIT, he did so intending to make it an adaptable institution in which courses were informed by what the industry needs. Every member of its faculty is not only a superb teacher but also somebody with experience working in industry. Speaking of industry, OPIT collaborates with major companies in the tech field to ensure its courses deliver the skills that those organizations expect from new candidates.
This confronts frustration on both sides. For companies, an OPIT graduate is one for which they don’t need to bridge a “skill gap” between what they’ve learned and what the company needs. For you, as a student, it means that you’re developing skills that make you a more desirable prospect once you have your degree.
Reason 4 – OPIT Delivers Tier One Education
Despite their popularity, online courses can still carry a stigma of not being “legitimate” in the face of more traditional degrees. Ocleppo is acutely aware of this fact, which is why he’s quick to point out that OPIT always aims to deliver a Tier One education in the computer science field.
“That means putting together the best professors who create superb learning material, all brought together with a teaching methodology that leverages the advancements made in online teaching,” he says.
OPIT’s degrees are all accredited by the European Union to support this approach, ensuring they carry as much weight as any other European degree. It’s accredited by both the European Qualification Framework (EQF) and the Malta Qualification Framework (MQF), with all of its courses having full legal value throughout Europe.
It’s also here where we see OPIT’s approach to practicality come into play via its course structuring.
Take its Bachelor’s degree in computer science as an example.
Yes, that course starts with a focus on theoretical and foundational knowledge. Building a computer and understanding how the device processes instructions is vital information from a programming perspective. But once those foundations are in place, OPIT delivers on its promises of covering the most current topics in the field.
Machine learning, cloud computing, data science, artificial intelligence, and cybersecurity – all valuable to employers – are taught at the undergraduate level. Students benefit from a broader approach to computer science than most institutions are capable of, rather than bogging them down in theory that serves little practical purpose.
Reason 5 – The Learning Experience
Let’s wrap up by honing in on what it’s actually like for students to learn with OPIT.
After all, as Ocleppo points out, one of the main challenges with online education is that students rarely have defined checkpoints to follow. They can start feeling lost in the process, confronted with a metaphorical ocean of information they need to learn, all in service of one big exam at the end.
Alternatively, some students may feel the temptation to not work through the materials thoroughly, focusing instead on passing a final exam. The result is that those students may pass, but they do so without a full grasp of what they’ve learned – a nightmare for employers who already have skill gaps to handle.
OPIT confronts both challenges by focusing on a continuous learning methodology. Assessments – primarily practical – take place throughout the course, serving as much-needed checkpoints for evaluating progress. When combined with the previously mentioned support that OPIT offers, this approach has led to courses that are created from scratch in service of the student’s actual needs.
Choose OPIT for Your Computer Science Education
At OPIT, the focus lies as much on helping students to achieve their dream careers as it does on teaching them. All courses are built collaboratively. With a dedicated faculty combined with major industry players, such as Google and Microsoft, it delivers materials that bridge the skill gap seen in the computer science field today.
There’s also more to come.
Beyond the three degrees OPIT offers, the institution plans to add more. Game development, data science, and cloud computing, to name a few, will receive dedicated degrees in the coming months, accentuating OPIT’s dedication to adapting to the continuous evolution of the computer science industry. Discover OPIT today – your journey into computing starts with the best online education institution available.
Have questions?
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 are international
We can speak in: