7. Fundamentals of Computer Organisation and Architecture Flashcards

1
Q

What is the CPU, and what does it do?

A

The CPU is the Central Processing Unit. It is the component of the computer which executes the Instructions which make up computer programs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the System Bus, and what does it consist of?

A

The System Bus is the connections between the CPU and different components in the computer. It consists of the Address Bus (which carries Addresses), the Data Bus (which carries Data), and the Control Bus (which carries Control Signals).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the purpose of the Control Bus?

A

The Control Bus carries Control Signals between components of the computer. It is a bi-directional Bus. Control signals may be related to memory access (read/write), interrupts, bus requests, and clock signals.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the purpose of the Data Bus?

A

The Data Bus carries data between components of the computer. It is a bi-directional Bus. The speed of transfer of data is determined by the Data Bus Width, which is how much data can be transferred per clock cycle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the purpose of the Address Bus?

A

The Address Bus carries addresses from the CPU to other components in the computer. It is a one-directional Bus. The Address Bus Width determines the number of bits used to represent an address in memory. The more bits used to represent an address, the higher the limit on available system memory. In modern 64-bit computer architectures the upper limit is 2^64 bytes of memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is an I/O Controller?

A

An I/O Controller is the hardware which interfaces with an external device (such as a keyboard, or a printer). An example is a USB (Universal Serial Bus) controller which is used to connect external devices using USB cables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the von Neumann Architecture?

A

The von Neumann Architecture specifies how the core components of a computer are organised and their purpose. In this type of architecture a single Main Memory unit stores the Data and Instructions for the currently executing processes. Instructions are fetched one at a time into the CPU over the System Bus and executed. The idea of storing the instructions for processes in the Main Memory is called the Stored Program Concept, and allows the concept of a General Purpose Programmable Computer. Most modern computers have a von Neumann Architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the Harvard Architecture?

A

In the Harvard Architecture there are separate Memory units for Instructions and Data which each have their own Bus. This allows Instructions and Data to be fetched into the CPU at the same time (in parallel). This type of architecture can be useful for special purpose processing of large amounts of data, such as in Digital Signal Processing (e.g. for Computer Vision applications).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the ALU?

A

The Arithmetic Logic Unit is specialised circuitry inside the CPU for performing mathematical and logical operations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the Control Unit?

A

The Control Unit is the circuitry inside the CPU which controls and coordinates the components of the CPU and other components inside the computer. It is involved in decoding and executing Instructions for processes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the purpose of the System Clock?

A

The System Clock sends timing signals around the computer which synchronises the actions of components. The speed of the System Clock is an upper speed limit on the processing of Instructions on the computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a Register? Name all the special purpose Registers in the CPU and their purposes.

A

A Register is a memory unit inside the CPU. The following are special purpose Registers:
- Program Counter (PC) - stores the Address of the next Instruction from the current process.
- Current Instruction Register (CIR) - stores the Instruction which is currently executing.
- Memory Address Register (MAR) - stores the address used for a memory access (Load or Store), connected to the Address Bus.
- Memory Data Register (MDR) - stores data loaded or to be stored during memory access, connected to the Data Bus.
- Status Register (SR) - stores information about the current status of the CPU, for example whether an integer overflow has occurred.
- Accumulator (ACC) - stores the result of an instruction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the purpose of the Fetch stage in the Fetch-Execute Cycle? Describe the steps of the Fetch stage.

A

The Fetch Stage fetches the Instruction at the Address stored in the Program Counter from Main Memory (RAM) into the Current Instruction Register inside the CPU.

  1. The Address in the Program Counter (PC) is copied to the Memory Address Register (MAR). MAR ← [PC]
  2. The Address in the PC is incremented. PC ← [PC] + 1
  3. The Address in the MAR is sent over the Address Bus to Main Memory, and the Instruction at that Address is sent over the Data Bus to the Memory Data Register (MDR). MDR ← [[MAR]]
  4. The Instruction in the MDR is copied to the Current Instruction Register (CIR). CIR ← [MDR]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is an Instruction? What are the Opcode and Operand?

A

An Instruction is an individual action to be undertaken by the CPU, computer programs consist of many Instructions usually translated from High Level Languages.

An Opcode is the type of Instruction - what to do.

An Operand is the input(s) required to perform the Instruction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is an Addressing Mode? Which Addressing Modes are available on CPUs?

A

An Addressing Mode defines how the Operand is to be interpretted.

Immediate Addressing means that the Operand is a value (i.e. a number).

Direct Addressing means that the Operand is the address in memory of the value which is input to the Instruction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is an Interrupt, what is Interrupt Handling?

A

An Interrupt is an event which must be handled immediately, interrupting the current process. When this occurs the state of the current process will be moved into an idle state, and stored into RAM. Then an Interrupt Service Routine will be loaded into the CPU and executed to handle the Interrupt (Interrupt Handling). When this is finished the original process is restored and resumed.

17
Q

What is a Core? How does having multiple Cores affect CPU performance?

A

A Core is an independent execution unit inside the CPU which can execute Instructions. A CPU which has multiple Cores can execute multiple Instructions simultaneously (in parallel) which speeds up the computer. Not all processes are written in a way which can take advantage of this, more commonly each Core will execute Instructions from a different process which will speed up Multi-tasking.

18
Q

What is Cache Memory? How does the amount of Cache Memory affect CPU performance?

A

Cache Memory sits between the CPU and Main Memory (RAM). When data is fetched from RAM into the CPU, the CPU checks whether that data is in the Cache - if it is (Cache Hit) it is fetched into the Memory Data Register (MDR), otherwise (Cache Miss) the block of memory containing the data is fetched into the Cache and then the data into the MDR. This means the Cache is always populated with the data surrounding previous requested data from RAM, which gives a higher probability of Cache Hits in the future. Storing data closer to the CPU increases the speed of memory access, and the more Cache Memory the higher the probability of a Cache Hit which further increases this benefit. Modern CPUs have a hierarchy of up to three levels of Cache.

19
Q

What is the Word Length? How does it affect CPU performance?

A

The Word Length is the unit of data which can be processed in a Register on the CPU, for modern computers this is usually 64-bit. Data larger than the Word Length may take multiple clock cycles to process, so larger Word Length improves the performance of the CPU.

20
Q

How does Data Bus Width affect CPU performance?

A

The Data Bus Width is the amount of data which can be transferred over the Data Bus in a single Clock Cycle. The larger the Data Bus Width, the quicker data moves around, and therefore the faster the computer.

21
Q

Explain the operation of a Magnetic Hard Disk Drive (HDD).

A

A Magnetic Hard Disk Drive contains a disk coated in a magnetic material. Suspended in that material are particles which can be polarised (north/south) to represent 0’s and 1’s. The Disk is partitioned into concentric tracks on the disk. The disk moves and a read/write head is positioned over the data it needs to access. The read/write head can determine the polarisation of the disk at a location to read, or change the polarisation to write to the disk.

Magnetic Hard Disk Drives tend to be relatively slow and can break due to the moving parts, yet are cheap per Megabyte of storage.

22
Q

Explain the operation of a Solid State Drive (SSD).

A

A Solid State Drive consists of silicon chips arranged on a circuit board. These chips contain NAND flash memory cells. The individual cells can trap electrons inside, and the state of the cell is determined by measuring its charge (no charge = 1, charge = 0). In order to write data the cells must be erased first, so to change the values in cells a whole block must be stored, then erased, and finally re-written.

SSDs are fast, quiet, and lightweight, but cost more per Megabyte of storage than Magnetic HDDs.