Fundamentals of computer systems

From Computer Science Wiki

Students must be able to identify key hardware components (Single core CPU/Multi-core CPU, memory [ROM, RAM, cache – L1 and L2], and input/output devices) and the key software components (operating system).

There are several key hardware components that are found in most computers, including:

Single core CPU/Multi-core CPU: The CPU (central processing unit) is the brain of the computer, and is responsible for executing instructions and performing calculations. A single core CPU has a single processing unit, while a multi-core CPU has two or more processing units.

Memory: Memory is a component of a computer that stores data and instructions for use by the CPU. There are several types of memory, including ROM (read-only memory), RAM (random access memory), and cache (a small, high-speed memory that stores frequently accessed data). Cache is further divided into L1 and L2 cache, with L1 cache being faster but smaller in size, and L2 cache being slower but larger.

Input/output devices: Input/output (I/O) devices allow a computer to interact with the outside world. Input devices allow a user to enter data into the computer, such as a keyboard or mouse. Output devices allow the computer to present data to the user, such as a display or printer.

There is also a key software component called the operating system (OS) that is responsible for managing the hardware and software resources of a computer. The operating system controls the operation of the computer and provides a platform for running other software applications.

Overall, these hardware and software components work together to enable a computer to perform a wide range of tasks and functions.

Students must be able to explain binary representation of different values and file types, and storage capacity (measured in bytes). Students do not need to consider quantum and genetic computing.

In computer systems, data is represented and stored using a series of binary digits, or bits. Each bit can have a value of 0 or 1, and multiple bits can be combined to represent different values or data types.

For example, the binary representation of different values can be as follows:

  1. 0: 00110001
  2. 1: 00110010
  3. 2: 00110011
  4. 3: 00110100

Binary representation is also used to store different file types, such as text files, image files, and video files. The specific sequence of bits used to represent a particular file type depends on the file format and the specific data that the file contains.

Storage capacity is typically measured in bytes, with 1 byte being equal to 8 bits. Different storage devices, such as hard drives and solid state drives, have different storage capacities, measured in gigabytes (GB) or terabytes (TB). For example, a hard drive with a storage capacity of 1 TB can store approximately 1 trillion bytes of data.

Overall, the use of binary representation and the measurement of storage capacity in bytes are important for enabling computers to efficiently store and process data.

Students must be able to outline the purpose of the Control unit, the Arithmetic logic unit (ALU), and the Immediate access store including registers (PC, CIR, MAR, MDR, Accumulator).


The purpose of the Control unit in a computer is to manage the flow of data and instructions within the system. It reads the instructions that are stored in memory, decodes them, and then sends the appropriate control signals to the other parts of the system to execute the instructions.

The Arithmetic Logic Unit (ALU) is responsible for performing arithmetic and logical operations on data. It can add, subtract, multiply, divide, and perform other operations on data as directed by the control unit.

The Immediate Access Store (IAS), also known as main memory or RAM, is the place where the computer stores data and instructions that are being used or processed. It is a high-speed memory that is directly accessible to the CPU.

Registers are small, high-speed storage areas within the CPU. There are several types of registers, including:

  1. The Program Counter (PC) stores the address of the next instruction to be executed.
  2. The Current Instruction Register (CIR) stores the current instruction being executed.
  3. The Memory Address Register (MAR) holds the address of a memory location being read from or written to.
  4. The Memory Data Register (MDR) holds the data being transferred to or from memory.
  5. The Accumulator is a register that is used to store intermediate results of arithmetic and logical operations.
  6. All of these registers play important roles in the operation of a computer, and they work together to enable the CPU to fetch, decode, and execute instructions.


The speed (rate) of the CPU indicates how many instructions per second can be handled by the CPU, and how the CPU fetches, decodes and executes instructions in either each machine cycle or simultaneously in parallel via pipelining.


Instructions are stored in memory in the form of binary code, which is a series of 0s and 1s that represent the instructions that the CPU needs to execute. The instructions are stored in memory locations that have unique addresses, so that the CPU can locate and access them as needed.

The clock speed of the CPU, typically measured in GHz, indicates how many instructions per second the CPU is capable of handling. The higher the clock speed, the more instructions the CPU can execute in a given period of time.

To fetch, decode, and execute instructions, the CPU follows a cycle known as the fetch-decode-execute cycle. During each cycle, the CPU performs the following steps:

Fetch: The CPU retrieves an instruction from memory using the program counter (PC) and the memory address register (MAR). The instruction is transferred from memory to the memory data register (MDR), and then from the MDR to the current instruction register (CIR).

Decode: The CPU decodes the instruction in the CIR to determine what operation needs to be performed.

Execute: The CPU executes the instruction by sending the appropriate control signals to the other parts of the system, such as the ALU or the I/O devices.

Some modern CPUs are able to execute multiple instructions simultaneously through a process called pipelining. In a pipeline, each instruction is divided into multiple stages, and different stages of multiple instructions can be executed at the same time. This can increase the overall performance of the CPU by allowing it to work on multiple instructions at once.


Students must be able to identify binary inputs, deduce binary outputs, and construct Truth tables and Logic circuits comprised of logic gates including AND, OR, NOT, XOR, NAND, NOR

Binary inputs are values that are used as inputs to a logic circuit. In a digital system, these inputs can be either 1 or 0, which correspond to the two states of a digital signal (on or off, high or low, etc.).

Binary outputs are the values that are produced by a logic circuit as a result of processing the inputs. Like the inputs, these outputs can be either 1 or 0.

A Truth table is a table that lists all possible inputs to a logic circuit and the corresponding outputs. It is used to show the output of a logic circuit for all possible combinations of inputs.

A Logic circuit is a network of logic gates that performs a specific function on one or more inputs to produce an output. There are several types of logic gates, including:

  1. AND gates: An AND gate produces an output of 1 only if all of its inputs are 1.
  2. OR gates: An OR gate produces an output of 1 if any of its inputs are 1.
  3. NOT gates: A NOT gate inverts the input; if the input is 1, the output is 0, and if the input is 0, the output is 1.
  4. XOR gates: An XOR gate produces an output of 1 if exactly one of its inputs is 1.
  5. NAND gates: A NAND gate is a combination of an AND gate and a NOT gate; it produces an output of 0 only if all of its inputs are 1.
  6. NOR gates: A NOR gate is a combination of an OR gate and a NOT gate; it produces an output of 0 if any of its inputs are 1.

Logic circuits can be constructed using any combination of these gates to perform a variety of functions. For example, a logic circuit that performs the AND function will have an output of 1 only if both of its inputs are 1. A logic circuit that performs the OR function will have an output of 1 if either of its inputs is 1.