Section 5: Computer Organisation and architecture Flashcards
control Bus.
- a bus is a set of parallel wires connecting two or more components of a computer.
- Control bus; a bi-directional bus, the purpose of the control bus is to transmit commands timing and specific status information between system components.
- control lines include - memory write = causes data on the data bus to be written into the addressed location, clock = used to synchronize operations.
- a bus is a ___ of ____ wires _______ two or more _______ of a ________.
- _____ __; a __-_____ bus, the purpose of the control bus is to transmit ______ _____ and _____ status information between system components.
- control lines include - ____ write = causes ___ on the data bus to be ____ into the ________ location, clock = used to synchronise operations.
Data Bus.
- typically consisting of 8, 16, 32 or 64 separate lines provides a bi-directional path for moving data and instruction.
- the width of the data bus is a key factor in determining overall system performance.
- typically consisting of 8, __, __ or 64 ______ lines provides a __-______ path for ____ data and ________.
- the ____ of the ___ bus is a _____ factor in ________ overall system ________.
Address Bus.
- Memory is divided up internally into units called words, a word is fixed size group of digits, each word in memory has its own specific address.
- when the processor wishes to read a word of data from memory, the width of the address bus determines the maximum possible memory capacity of the system.
- E.g. if the address bus consisted of only 8 lines, the the maximum address it could transmit would be 2^8 = 255.
- Memory is ______ up internally into ____ called ____, a word is ____ ___ group of digits, each word in memory has its own _____ _____.
- when the processor wishes to read a word of data from memory, the ____ of the address bus determines the ______ ______ memory capacity of the system.
- E.g. if the address bus consisted of only 8 lines, the the maximum address it could transmit would be 2^8 = 255.
Von Neumann Architecture.
- this specifies the basic components of the computer and processor in which a shared bus is used for both data and instruction.
- a program must be resident in the main memory to be executed.
- the instruction and data are both stored in the same place.
- this specifies the basic components of the ______ and _______ in which a _____ bus is used for both ____ and _______.
- a ______ must be resident in the ____ memory to be ______.
- the _______ and ____ are both _____ in the _____ place.
Harvard Architecture.
- a computer architecture with physically separate memories for instruction and data.
- used extensively with embedded digital processing.
- a computer architecture with _______ separate _______ for ______ and ___.
- used ________ with _________ ______ processing.
Control Unit.
- used to control and coordinates the activities of the CPU, directing the flow of data between the CPU and other devices.
- it accepts the next instruction, breaks down its processing into several sequential steps, manages its execution and stores the resulting data back in memory or a registers.
- used to _____ and ______ the _____ of the CPU, ______ the _____ of _____ between the ____ and other ______.
- it _____ the ____ ______, _____ down its __________ into _____ ________ steps, manages its execution and ______ the _______ data back in _______ or a _____.
Arithmetic Logic Unit (ALU).
- this performs arithmetic and logic operations on the data.
- it can perform instructions such; add, subtract, multiply or divide.
- this operation can be done on fixed or floating point numbers.
it can perform shift operations, Boolean logic operation, compare two values and logical gates such as AND, OR, NOT and XOR.
- this performs _____ and _____ operations on the ___.
- it can perform instructions such; ____, subtract, _____ or ____.
- this ______ can be done on _____ or _____ ____ ______.
it can ______ _____ operations, ______ logic _______, ______ two ___ and logical _____ such as AND, ___, NOT and ___.
The System Clock.
- this generates a series of signals, switching between 0 and 1, billions of times per second.
- this synchronises the CPU operations.
- this ______ a _____ of _____, ______ between _ and _, _______ of times per _____.
- this _________ the ____ operations.
General Purpose Registers.
- there are typically up to 16 general purpose registers in the CPU.
- all the arithmetic, logical or shift operations take place in registers.
- an ACCUMULATOR is another general purpose register, used when there is just a single register in which to store the result of each calculation.
- there are ______ up to __ _____ purpose ______ in the ___.
- all the _______, _____ or ______ operations take place in _____.
- an ACCUMULATOR is another general purpose register, used when there is _____ a ____ register in which to ____ the ____ of each _______.
Dedicated Registers: Program Counter.
- hold the address of the next instruction to be executed.
- or it can hold the address to jump to if the current instruction is a branch or jump instruction.
- hold the ______ of the _____ ______ to be ______.
- or it can ____ the _______ to _____ to if the current instruction is a _____ or ______ instruction.
General Purpose Registers: Current Instruction Register.
- this only holds the current instruction being executed.
- this only ____ the ______ ______ being ______.
General Purpose Registers: Memory Address Register.
- holds the address of the memory location from which data or instruction is to be fetched or to which data is to be written to.
- holds the _______ of the ______ _____ from which ____ or ________ is to be ______ or to which ___ is to be ______ to.
General Purpose Registers: Memory Buffer Register.
- used to temporarily store the data read or written to memory.
- it is also sometimes known as the memory data register.
- used to _______ _____ the _____ _____ or _____ to ______.
- it is also sometimes known as the _______ _____ register.
The Fetch-Execute Cycle: Fetch phase.
- the address of the next instruction is copied from the program counter to the memory address register, the address is sent via the address bus to main memory.
- the instruction held at that address is returned along the data bus to the memory buffer register, simultaneously the content of the program counter is incremented so that it holds the address of the next instruction.
- the content of the memory buffer register is copied to the current instruction register.
- the ______ of the next ________ is _____ from the ______ ______ to the ______ _______ ______, the ______ is sent via the ______ bus to ______ ______.
- the ________ held at that _______ is ______ along the ____ ___ to the _____ _____ register, __________ the _______ of the _______ ______ is ________ so that it holds the ________ of the ____ ________.
- the ______ of the _______ _____ ______ is ______ to the ______ _______ register.
The Fetch-Execute Cycle: Decode phase.
- the instruction held in the current instruction register is decoded. The instruction is split into opcode and operand and the opcode is used to determine the type of instruction and what hardware to use to execute it.
- the _______ held in the ________ ________ ______ is decoded. The instruction is ___ into ______ and ______ and the _____ is used to _______ the _____ of _______ and what ______ to use to _____ it.
Opcode and Operand.
- Opcode - this consists of binary digits representing the basic operation such as add or load, and a 2-digit code representing the addressing mode.
- Operand - depending on the type of addressing (immediate or direct), the operand could take the actual value to be used in the operation or the memory address of the value to be used for an operation.
- _____ - this _____ of _____ digits _________ the basic _______ such as ___ or ____, and a _-___ code representing the _______ ____.
- _____ - ______ on the type of ________ (______ or ______), the _______ could take the _____ value to be used in the operation or the _______ _______ of the value to be used for an operation.
The Fetch-Execute Cycle: Execute phase.
- the instruction is executed, using the ALU is necessary, and results are stored in the accumulator, general purpose register or maim memory.
- the _________ is executed, using the ___ is necessary, and _____ are stored in the _______, _____ purpose ______ or ______ ______.
Factors Affecting Processor Performance: Number of Cores used.
- in a traditional computer, von Neumann, instructions are exited one at a time in a serial manner.
- a CPU can have multiple cores, which in theory allow the CPU to process different instructions at the same time with its own fetch-execute cycle.
- however, having more cores does not always mean it can improve in performance, as other factor can still affect the processor.
- in a traditional computer, von _______, instructions are _____ ___ at a _____ in a _____ manner.
- a CPU can have _______ ____, which in theory allow the CPU to process ______ _______ at the same time with its own ____-_____ cycle.
- however, having more cores does ___ ______ mean it can ______ in _______, as other factor can still affect the ________.
Factors Affecting Processor Performance: the amount and type of cache memory.
- cache is a very small or expensive, very fast memory inside or very close the CPU.
- levels of cache; level 1 - extremely fast but small (2 - 64KB) \/\ level 2 - fairly fast and medium-sized (256KB - 2MB) \/\ some CPU have level 3 cache.
- cache is a very ______ or _________, very ____ memory ______ or very ____ the CPU.
- levels of cache; level 1 - _______ _____ but _____ (2 - 64KB) \/\ level 2 - __ __ and ____-___ (256KB - 2MB) \/\ some ___ have level 3 cache.
Factors Affecting Processor Performance: Clock Speed.
- one clock cycle per second = 1Hz, measured in (GHz) so 1 billion cycles per second.
- a typical PC has clock speed of 2-4GHz.
- the greater the clock speed the faster instructions will be executed.
- one clock cycle per second = ___, measured in (___) so 1 _____ _____ per _____.
- a typical PC has _____ _____ of - ____.
- the ______ the clock speed the _____ ______ will be _____.
Format of a machine code.
- the instruction is split in two parts the opcode and the operand.
- the opcode contains the basic machine operation and the addressing mode.
- the operand contains the actual value to be used or the address location in memory where it can be found, depending on the addressing mode.
Addressing mode.
- a 2-digit code.
- immediate addressing; the operand is the actual value to be used.
- direct addressing; the operand holds the memory address of the value to be used.
Assembly language.
- a way of programing a computer with mnemonics that can be easier to understand that just machine code.
- example; machine code (0100 1100) == assembly code (LDA #12), easier to understand over 1’s and 0’s.
- the (#) symbol represent immediate addressing, meaning that the value 12 is used.
Assembly Language: Codes.
- LDR Rd, ; load the value stored in the memory location specified by into register d.
- STR Rd, ; store the value that is in register d to the memory location specified by the .
- ADD/SUB Rd, Rn, ; add or subtract the value specified by the to the value in register n and store the result in register d.
- CMP Rn, ; compare the value stored in register n with the value specified by the .