Computer Architecture Study Guide
Computer architecture provides an introduction to system design basics for most computer science students.
Students are typically expected to know the architecture of the CPU and the primary CPU components, the role of primary memory and differences between RAM and ROM.
Other topics of study include the purpose of cache memory, the machine instruction cycle, and the role secondary memory plays in computer architecture.
Computer Architecture Checklist
The following definitions will help you understand modern computer architecture:
- Machine instruction cycle
- Main memory
- Random access memory (RAM)
- Read-only memory (ROM)
- Secondary Memory
The central processing unit (CPU) is where most calculations take place. It is an internal component of the computer that is often referred to as the "brains" of the computer. Modern CPUs are small and square and contain multiple metallic connectors or pins on the underside. The CPU is inserted directly into a CPU socket, pin side down, on the motherboard. The CPU is the most important element of a computer system in terms of computing power.
The Arithmetic Logic Unit
The arithmetic logic unit (ALU) performs arithmetic and logical operations. It is where data is held temporarily and where calculations take place.
The Control Unit
The control unit (CU) controls and interprets the execution of instructions It extracts instructions from memory and decodes and executes them, calling on the ALU when necessary.
The following diagram showing the relationship between the elements of the CPU, input and output, and storage.
There are two types of physical memory: primary and secondary memory. Primary memory is volatile memory. Secondary memory (secondary storage) is non-volatile.
The main functions of primary memory (also called main memory or primary storage) is to execute program code and store temporary data. Primary memory is the memory that the processor accesses first. The memory is on chips located on the motherboard. The primary memory stores applications to run the operating system (OS), the user interface and installed software utilities.
The computer can manipulate only the data that is in main memory. Every program executed and every file accessed must be copied from a storage device into main memory. The amount of main memory in a computer system determines how many programs can be executed at one time and how much data can be readily available to a program.
Did You Know...? A small program (called a boot loader or bootstrap loader) is stored in primary memory. It loads the operating system into the computer's memory when the system is booted and the program also starts the operating system. This process is known as "booting up" the computer.
Examples of primary memory include RAM and ROM.
What is RAM?
Random access memory (RAM) is a type of volatile memory and is the most common type of memory found in computers and other devices, such as printers. RAM requires a flow of electricity to retain data (e.g., the computer is powered on).
What is ROM?
Read-only memory (ROM) is a type of non-volatile memory and is computer memory on which data has been prerecorded. ROM will retain data without the flow of electricity (e.g., when the computer is powered off).
Recommended Reading: Tech FAQ: What is the Difference Between RAM and ROM?
Secondary memory (also called auxiliary memory) is storage devices: hard drives, solid state drives, removable storage media -- including flash drives and DVDs.
Secondary memory is not accessed directly by the CPU as it is with primary memory. Instead, data from secondary memory is loaded into RAM then sent to the processor. It transfers the requested data to an intermediate area in primary storage. While secondary memory is much slower than primary memory, it offers greater storage capacity.
Persistent storage (storage that doesn't lose its data after it loses its power supply) is extremely important in a computer system. It is needed to store data in a non-volatile device during and after the running of a program to keep files and data for later use. The hard disk drive is a common example of persistent storage.
Cache memory (also called CPU cache) is a high-speed storage mechanism that is a reserved section of main memory or an independent high-speed storage device. The CPU cache reduces the time required to access data from the main memory. Modern CPUs have different independent caches, such as instruction and data caches.
There are two types of caching commonly used in computer systems: memory caching and disk caching.
What is Memory Cache?
Memory cache, sometimes called RAM cache, is a portion of memory made of high-speed static RAM (SRAM) instead of the slower and cheaper dynamic RAM (DRAM) used for main memory. Memory caching is effective because most programs access the same data or instructions over and over.
What is Disk Caching?
Disk caching works under the same principle as memory caching, but instead of using high-speed SRAM, a disk cache uses conventional main memory. Disk caching can dramatically improve the performance of applications, because accessing a byte of data in RAM can be thousands of times faster than accessing a byte on a hard disk.
The instruction cycle refers to the time period during which one instruction is fetched from memory and executed when a computer is given an instruction in machine language. The CPU carries out the following four stages of an instruction cycle:
1. Fetch the instruction from memory. This step brings the instruction into the instruction register, a circuit that holds the instruction so that it can be decoded and executed.
2. Decode the instruction. Mathematical and logical operations used in reference to data.
3. Read the effective address from memory if the instruction has an indirect address.
4. Execute the instruction. This combines all steps.
Note: Steps 1 and 2 are called the fetch cycle and are the same for each instruction. Steps 3 and 4 are called the execute cycle and will change with each instruction.
Recommended Reading: Webopedia's instruction cycle definition.
Additional Resources for Learning Computer Architecture
Courtesy of Carnegie Mellon Computer Architecture, the following lecture covers the introduction and basics of computer architecture.
The following facts and statistics capture the changing landscape of cloud computing and how service providers and customers are keeping up with... Read More »Facts about Computer Science: Education and Jobs
The following computer science facts and statistics provide a quick introduction to the changing trends in education and related careers. Read More »Texting & Chat Abbreviations
From A3 to ZZZ this guide lists 1,500 text message and online chat abbreviations to help you translate and understand today's texting lingo. Read More »