Hardware and Software Flashcards
ALU
Arithmetic and Logic Unit - a part of the processor which performs binary arithmetic and Boolean logical comparisons.
FPU
Floating-point Unit - a part of the processor which operates on floating-point numbers.
Main Memory
A storage area which contains program instructions and data. It is volatile, and each byte has a unique memory address.
Word
A fixed-size collection of data handled by the processor.
Register
A small memory location used to hold temporary data in the processor.
Cache Memory
A form of memory contained within the processor which is used to exchange data between the registers and main memory. It prevents bottlenecking as the speed of data written and read by registers is faster than that of main memory. It is split into multiple levels, and is volatile.
Level 1 Cache
The fastest and smallest level of cache, used for data and instructions to be immediately transferred to registers. If data cannot be found in level 1 cache, level 2 will be searched.
Level 2 Cache
A larger but slower level of cache memory. There may be two more levels of cache beyond level 2, which are slower and larger still.
Bottlenecking
Limiting the capacity or speed of the processor due to a specific component.
Accumulator
A register which stores the result of ALU operations.
SR
Status Register - holds information about the last operation executed, such as overflow or the sign of the result.
CU
Control Unit - coordinates movement within the processor by sending electrical pulses known as control signals that activate required connections.
Control Signal
An electrical pulse sent by the CU to activate needed connections.
Address Register
A register which holds the memory address of the next instruction to be executed. It is incremented each time to point towards the next instruction to be processed if they are sequential in memory.
Data Register
A register where data is stored when being transferred to the ALU or FPU or back to main memory.
Multi-Core Processor
A chip which contains two or more cores (containing a processor), which can run at the same time, increasing speed. Some levels of cache and main memory can be shared between them.
Threading
The process of splitting a task into multiple independent sub-tasks which can be completed by a different core.
Volatile Memory
Any memory where data is lost when the device is powered off.
RAM
Random Access Memory - any volatile memory where data can be directly accessed at any memory address. Main memory is a form of RAM.
ROM
Read-Only Memory - the non-volatile memory which stores information to be kept after a computer is powered down, such as boot programs.
Non-Volatile Memory
Any memory where data is kept when the device is powered off.
Boot Program
The program which is automatically executed when a computer is turned on. It typically tests memory before loading larger programs such as the OS into main memory.
Persistent Memory
Any memory which stores data even after a device a powered down or a process ends.
Bootstrapping
Using a small program to load a larger program.
Memory Address
An indicator of a unique location in memory. The first memory location is given an address of zero and each after that has a value one greater than the last. Hexadecimal is used to represent addresses as binary addresses would likely become too long. Hex values often begin with 0x to indicate the number base.
Bus
A wire which connects components of a computer.
Control Bus
A bus which carries the control signals sent by the CU to parts of the computer.
Address Bus
A bus which carries addresses of memory locations to be accessed.