Computer Organisation – IBDP Computer Science Simplified

A complete and detailed summary and explanation of IBDP Computer Science Chapter 2: Computer Organisation. Part of Prodat Blogs.

Table of Contents

Hey! My name is Minh, and I am currently studying IBDP Computer Science. This is CS Simplified for Chapter 2: Computer Organisation. If you want to check out more blogs like this, in both CS and other subjects, visit our homepage.

In this blog post, we will delve into the main details and knowledge about Chapter 2 that you should know, along with explanations of critical concepts and tips for studying.

Computer Architecture

‘Computer architecture’ sounds quite fancy (well, it is) but fret not. It just refers to the structure, layout and function of computers and their components. The textbook I’m using (Core Computer Science for IBDP – Dimitrou & Hatzitaskos, Express Publishing) has another subchapter named Secondary Memory, which I will also explain here.

Computers are machines with many smaller components, each containing more subcomponents. They take input, process the data, keep the data (both permanently and temporarily) with storage, and output results. One of the most essential components of computers is its central processing unit, otherwise more commonly known as the CPU.

Diagram of CPU subcomponents in computer organisation
Diagram of CPU subcomponents. Credits: Core Computer Science for IBDP

The CPU contains:

  • CU – control unit: manages instructions and sequence of execution. Contains MDR and MAR
  • ALU – arithmetic logic unit: does basic calculations or logical processing (aka quick mafs)
  • MAR – memory address register: holds the memory address of data that should be used
  • MDR – memory data register: contains the data that should be used
  • Memory address bus & data bus: routes for the memory address and data to go to and from the CPU to primary memory
  • L1 and L2 cache: temporary data storage which is much much faster than RAM but has much less storage capacity

There are two types of primary memory: RAM (random access memory) and ROM (read-only memory). The one most commonly used for normal PC usage and functions is RAM, which comes in 2 types: dynamic RAM (DRAM) and static RAM (SRAM). More on that later.

RAM is volatile, which means that its data is not stored permanently. As such, turning the power off would also wipe all current data in RAM. This is why sometimes a computer works better than before when restarting: it has fresh and cleared RAM, ready for use. On the other hand, ROM is non-volatile; its data is permanent.

RAM has two types, as mentioned right above. The first one, dynamic RAM, is the preferred RAM type for primary memory because it can store data in high capacities, is less expensive and is generally small in size. On the other hand static RAM is a lot faster, and the data can sustain for longer periods.

Another type of storage commonly used in computers is secondary storage. These are designed to store data that should be kept for the long term and doesn’t need to be continuously accessed. As such, it is generally much slower than primary memory but is non-volatile and has dramatically higher storage capacity. The most common examples of secondary storage are HDDs, SSDs and others such as CDs and floppy disks.

Finally, you should be aware of the machine instruction cycle: Fetch → Decode → Execute → Store. This is how the computer computes and processes data and instructions. Fetch the instruction and data, decode it, execute the instruction and process the data, and then store it. Simple, right?

Operating and application system

An operating system (OS) is a type of software that directly communicates with a computer’s components to run programs and services used by the user. Some famous examples of operating systems are Windows, Linux and macOS. It acts as an intermediary between applications and hardware. An OS provides certain services such as:

  • Peripheral communication
  • Memory management
  • Resource monitoring and multitasking
  • Networking
  • Disk access and data management
  • Security

There are many types of software that can run on an OS, such as:

  • Word processors (e.g. Word, LibreOffice Writer)
  • Spreadsheets (e.g. Excel, LibreOffice Calc)
  • Database management systems (e.g. MySQL)
  • Web browsers (e.g. Chrome, Opera GX)
  • Email (e.g. Microsoft Outlook)
  • Computer-aided design software (e.g. AutoCAD)
  • Graphic processing software (e.g. Adobe Illustrator)

When considering the method of display, softwares have 2 major types: ones with a GUI (graphical user interface) and ones with a CLI (command line interface). Both have their pros and cons. GUIs are intuitive, user-friendly and effective, but need a lot of time to design and sufficient image processing power (either from the CPU’s integrated graphics or the GPU). CLIs, on the other hand, are difficult to read, can be overwhelming and complex to use, but are much easier to implement and faster as they require little power to display and run.

Computer software display types
GUI vs CLI. Credits: Sciencerack.com

Computer Organisation – Binary representation

Remember the part above where we talked about storage? Well, we’re now going to look at what data they store and what structures or types it has.

Computer systems utilise a binary data system. ‘Binary’ is derived from the Latin word bini, which means ‘two together’. Indeed, the binary system uses 0s and 1s together in order to represent data. Each 0 and 1 is called a bit (b). One bit of data is essentially one unit of data, and 8 bits of data together form a byte (B). Bytes can also form together to a large enough capacity that we can use other units to represent the amount of data, such as kilobytes (KB), megabytes (MB), gigabytes (GB), etc…

The number system humans use is called decimal, or denary. It utilises 10 digits, so sometimes it is also referred to as a base-10 positional system. Similarly, binary is base-2. In base-10, each subsequent digit denotes a value with a multiplier of 10 than the one before. For binary, each subsequent digit denotes a value with a multiplier of 2 than the one before.

An example of binary numbering. Credits: Khan Academy

Another number system that is relevant is the hexadecimal system, which is base-16. The digits starts from 0 to 9, then A to F. You might have seen hexadecimal numbers being used before, like in colour codes represented with a hash sign and 3 pairs of hexadecimal numbers (e.g. #FF2400 – scarlet). As it is base-16, each subsequent digit has a multiplier of 16 over the digit before.

That’s the basics of the 3 number systems commonly utilised in CS, but how do you convert between them. Well, no worries, I’ve created a library of programs in Python (sorry, I know IB uses Java, but I’m way more familiar with Python :p) to convert between denary, binary and hexadecimal. To further understand and remember how the programs work, you can try writing the Python code into your own Java code! Please fork it or show more files to see all the conversions. Each type of conversion is in one file of the repo.

Logic gates

Logic gates are basically representations of logical, boolean-like processes. Here are some common logic gates you should remember:

Types of logic gates. Credit: Core Computer Science for IBDP

Each logic gate needs 2 values to work with, except for NOT, which just reverses the value of the input. Here’s how each of them works (assume the 2 values inputted are A and B):

  • OR: either A or B is 1
  • AND: both A and B simultaneously are 1
  • NOT: reverses the value entered. 0 becomes 1, 1 becomes 0
  • XOR: exclusive or. A fancy word for where either A or B is 1, but not when both is 1 (hence, exclusive or)
  • NAND: the child of the AND gate and the NOT gate. Essentially the reverse of AND
  • NOR: similarly, the reverse of OR

Well, that’s all for this chapter. Thank you so much for reading this, and I hope this is helpful for your studying as a reference note!


Credits:

  • Main Image: Best Buy Canada
Share the Post:

Related Posts

en_USEnglish