Topic 7 - Fundamentals of Computer Organisation and Architecture Flashcards
What is a bus?
A series of parallel wires that connects the internal components of a computer system
What is the address bus?
A bus that is used to transport memory addresses, specifying where data is sent to or retrieved from
What does increasing the width of the address bus do?
It increases the computer’s amount of addressable memory (a portion of memory that can be accessed by its address)
What is the data bus?
A bus that sends data and instructions to and from the different components of the computer system.
What does increasing the width of the data bus do?
Increases the volume of data that can be transferred over a bus at any one time
What is the Control Bus?
Used to send control signals to the registers and the data/address buses
The signals are to control the flow of data - to ensure data is at the right place at the right time
What are the I/O Controllers?
Pieces of hardware that control the communication of data between the processor and external hardware devices
What way does the data travel in an address bus?
One way from the CPU to the address bus and one way from the address bus to memory/IO Controllers
What way does data travel in Control or Data Buses?
Bidirectionally
What are the differences between Von Neumann Architecture and Harvard Architecture?
1) Harvard architecture has separate buses for data and instructions, whereas they are combined in Von Neumann - this makes Harvard quicker as there are fewer bits of data in each of the buses, so the data can travel more quickly and have fewer collisions
2) Harvard CPUs can access and read/write at the same time, Von Neumann can’t.
3) Harvard Architecture can be controlled by multiple processors, Von Neumann only one.
4) Harvard is more expensive
What is the Stored Program Concept?
Serially fetching and executing machine code instructions stored in main memory by a processor that performs logical and arithmetic functions
Fetch - Execute Cycle
1) The Content of the PC is copied to MAR
2) The content of MAR is sent to the main memory by the address bus
3) The instruction is sent from main memory to MBR by the data bus
4) The PC is incremented by one
5) The content of the MBR is copied to CIR
Decode -
1) The Content of the CIR is decoded by the control unit, splitting it into two parts - opcode and operands
Execute -
1) The instruction is executed by relevant part of the processor
2) Results of any calculations are stored in the accumulator
Checking for Interrupts -
Between the execute and fetch stage of the cycle, the status register is checked for interrupts
What is a register?
A small storage location within the CPU, which is used to hold data temporarily. They have high read/write speeds
What is an interrupt?
A signal sent to the processor by another part of the computer requesting the attention of the processor
What are some examples of an interrupt?
The computer’s I/O controller informing the processor that a key on the keyboard has been pressed
Software can send interrupts, including errors such as stack overflow or dividing by 0
What is the vectored interrupt method?
1) When an interrupt occurs, the processor stops executing the current program and places the content of its registers onto the system stack (saving the volatile environment)
2) It then loads the appropriate Interrupt Service Routine (ISR) - a series of instructions for handling the interrupt that is specific to that interrupt
3) Once the ISR has been executed, the processor restores the volatile environment from the system stack and resumes the execution.
How does increasing the number of cores affect processor performance?
Each core can perform its own fetch execute cycle independently, this means the more cores, the more multitasking that can be done as each application can be allocated a different core
Increases execution speed of each individual application
How does increasing cache memory affect processor performance?
Cache is a small portion of memory stored within the CPU - it has much higher read/write speed.
Cache is used to store frequently used information and reduces time wasted in fetching the same information from memory repeatedly.
The more cache means the more memory that can be stored and therefore the more time saved by fetching the information from main memory
How does the clock speed affect processor performance?
The higher the clock speed, the more fetch-execute cycles that can be completed in he same period of time - means each instruction is executed more quickly
However can cause errors if a clock speed is increased too far
How does the data bus width affect processor performance?
Increasing data bus width means more data can be transferred over the bus at one time, which allows us to fetch more data from main memory in one fetch-execute cycle.
This reduces the number of fetch execute cycles needed to fetch large volumes of data, therefore increasing processor speed.
What is purpose of the program counter?
Used to hold the memory address of the next instruction to be executed
What is purpose of the MAR?
Stores the memory address of a memory location that is to be read from or written to
What is purpose of the MBR?
Holds the contents of a memory location that has been read from or data that is to be stored
What is purpose of the CIR?
Holds the instruction that is currently being executed by the processor
Why does increasing the amount of addressable memory increase processor performance?
1) It means that the processor can store a larger range of memory addresses, meaning it can store more data and instructions - so fewer transfers between CPU and memory are required. Means less time waiting for data to be fetched, faster speed