Computer Science Glossary

Computer science is full of tricky words to follow as you look to apply computers to solved problem. We have tried to capture and explain as many as we can here but it’s not an exhaustive list so we’ll keep adding to them as we learn more ourselves. If you know of any do let us know and we’ll add them in good time.

A

A CPU register that temporarily stores the results of a calculation or logical state from a previous instruction so it can be used for a following instruction or sent back to RAM/cache. The accumulator is part of/closely linked to the arithmetic logic unit (ALU) as the ALU accesses data from the accumulator to do the arithmetic/logic before storing it back in the accumulator. For example when a CPU adds two numbers it first stores one in the accumulator to allow it to be add to the next number. The result can be stored in the accumulator again or returned to memory depending on the setup.

The processor bit of the CPU. Does all the calculation and logic checks on data that is directly provided or copied from the accumulator. Once the process has been done the result is copied back to the accumulator where another instruction can be sent to store it or for another process to happen.

A low level computer programming language that can be read by humans and easily turned into the lower level machine language which is expressed in binary. An example of instruction in assembly would be ADD then a memory address e.g. ADD 4. This assembly language instruction would be translated into machine code.

B

A set of instructions that load from the computer’s ROM at start up or boot-up. As the instructions connect the hardware components together through software the BIOS is a type of firmware.

A way of storing data as a number expressed in base 2. Note: binary stores data as a number not all data is a number as the binary number is translated into specific outputs the computer needs.

An electronic channel between two components of an electronic system for example between memory and the CPU. Buses have specific functions and carry specific sign

C

A register in the CPU that holds the instruction that the Control Unit will decode (setup) and then execute. Works with the other registers in the CPU: MAR and MDR.

A CPU architecture that can do a large and variable set of instructions (a CPU that can do very fancy stuff). Compare RISC.

The heart beat and air traffic control in the CPU. The control unit manages the CPU Fetch-Decode-Execute (FED) cycle which fetches data or instructions from memory so that things are done in an ordered way.

The part of the CPU that performs the work – the processor: executing instructions and performing calculations and passing the results onto a storage area. The CPU can be divided into three components: 1) data storage (registers), 2) data transport (buses), 3) processor. A CPU can have the same registers and buses but multiple processors or cores. Today’s computers commonly have 12 cores or more to deal with more data that needs processing.

The brains of the computer that takes instructions and data from memory, does the instruction asked (add something together or compare data) and then outputs the result. Compare GPU.

D

A way/model/paradigm of writing computer programs that declare what you want the code to do and the programming language provides that ability to execute the statement. Compare imperative computer programming.

A

A type of computer memory that is kept by refreshing the memory through a memory refresh circuit. DRAM or commonly called RAM and is the memory that is stuck into the motherboard. DRAM can be bought and installed easily to improve the per

E

A type of programmable read-only memory (PROM) that is updated via exposing the chip to ultra violet light (or x-rays). Not to be confused with EEPROM which uses a different method for updating the data stored in the ROM.

A type of programmable read-only memory (PROM) that is updated via electronic signals (different voltages). Found in BIOS chips and flash memory.

Final part of the FDE cycle where instructions are executed such as store data or perhaps some arithmetic or do some logic.

F

The first process in the CPU fetch-decode-execute cycle where instructions or data are fetched from memory (DRAM) by the Memory Address Register (MAR) to the Memory Data Register (MDR) then the Current Instruction Register (CIR) if an instruction, and finally copied to the

The CPU cycle where data or instructions or both (depends how big the register is) are fetched from memory, decoded (unpackaged/read/setup), and then executed (load data, add data together, store data, etc). The way I look at it like this: you are given an address of something in a cupboard and told to fetch it which you do and bring back. Next you look what the thing is that you fetched – this is decoding. Finally you do or execute what the thing is that you fetched. This can be an ingredient like eggs (data) or an instruction like add to frying pan (instruction). Next fetch another thing from the cupboard (fetch), read it (decode) and execute in this case fry eggs. After more instructions you’ll finally get to fried eggs.

A combination of software and hardware that together provide the connection between computer hardware (motherboard, hard drive, video card etc) and the operating system (OS) through instructions instructions written on the computers basic input/output system (BIOS) chip. Firmware is found on all electronic devices that need to software to talk to hardware through software. Firmware is set as Read Only Memory (ROM) but it can be written to on EEPROM by “flashing the memory” which create a new stable set of memory instructions.

A type of storage that can be written to very quickly (specifically EEPROM). Often found in devices that are used for recording something commonly video and sound. Called flash memory as when invented by Fujio Masuoka in the 1980s it was as quick as camera flash compared to other technologies at the time as it uses electrical voltages to write new data that is stable when the computer is turned off.

G

Specialised processor for rendering graphics on a screen. The specialisation is in executing instructions in parallel as the results are independent of each other (the position of one pixel doesn’t affect the position of another). The CPU and the GPU work together with the CPU sending instructions to the GPU to execute as it is better at it taking pressure off the CPU which has other things to do. See CPU.

H

A type of CPU architecture where instructions and data are stored in separate memory blocks from each other. Compare the von Neumann Architecture where data and instructions are stored in the same memory block and are accessed via the same wiring or buses. Popular in computers where the instructions are set but can be updated. Separating instructions for data mean data can move in and out very fast without being restricted by the data and instructions using the same busses as you have in the von Neumann architecture.

Named after the Harvard Mark 1 computer that helped design the atomic bomb in the Second World War.

I

A way/model/paradigm of writing computer programs that commands the computer to execute instructions. Compare to declarative computer programming.

J

K

L

A binary gate which changes the output signal depending on the gate and the input. Inputs and outputs are defined as either 0 or 1 or on or off. There are seven basic logic gates (only three are covered in GCSE level): 1)NOT, 2)AND, 3)OR, 4)NAND, 5)NOR, 6)XOR, 7)XNOR.

NOT = 1 input – inverts input to opposite 0 becomes 1 and vice versa
AND = 2 inputs. If both inputs are 1 then output is 1 otherwise 0
OR = 2 inputs. If either inputs are 1 then output is 1 otherwise 0
NAND = 2 inputs. If both inputs are 0 then output is 1 otherwise 0 (opposite of AND)
NOR = 2 inputs. If either inputs are 0 then output is 1 otherwise 0 (opposite of OR)
XOR = 2 inputs. If both inputs are the same then output is 0 otherwise 1
XNOR = 2 inputs. If both inputs are the same then output is 1 otherwise 0

M

Stores the current address in memory to go to for the next instruction or data from memory (like the address of a building). Part of the Fetch process from the Fetch-Decode-Execute (FDE) cycle. Connected to the memory through the address bus.

Stores the current data that the CPU will use as part of an instruction or the current data that has been processed before return to RAM. Connected to RAM via the data bus.

An electronic chip that contains all the components to take a defined input and produce a defined output. They contain memory, buses, processor found in a computer but with limited to no capacity to expand function above the one programmed. Microcontrollers control micro things. Ardunino is a microcontrolled controller board which means it can take in different inputs, program the microcontroller chip to do simple things and then produce an output e.g. detect light – sound a buzzer, create a countdown clock. It doesn’t require calculation. Compare to Microprocessor.

The processor or the central processor unit of the computer. Designed to do calculations and logic based on external memory provided. The simplest microprocessor only contains the ALU and Control Unit. As computers developed more was move to the single chip changing the language from a computers microprocessor to its CPU. A raspberry pi has a microprocessor. Compare to Microcontroller.

N

O

A logical state where an positive output signal will occur if either of 2 input signals are positive

P

A type of ROM that can be updated or programmed. The method of “programming” depends on the PROM type. There are two main types: EPROM and EEPROM which although sounding the same are very different in how they program the ROM.

See ROM

Q

R

A type of computer architecture designed to run a reduced number of instructions so the CPU can run faster. Common architecture in mobile phones which have limited instructions when compared to larger computers. Compare CISC architecture.

A type of computer memory that holds the data that the computer is working on or will be. On most computers RAM is more specifically called DRAM – Dynamic RAM to separate it from other memory like flash memory and static RAM. All RAM is volatile as it is stores the data as electrical charges in tiny capacitors which are maintained by the computers power supply.

Registers are special memory storage areas that are used by the CPU when performing a processing cycle. At the basic level there are:

Program Counter – states which address the MAR should look for the current data. Increases by one once the fetch of this data has been copied to the CIR.
Memory Address Register (MAR) – stores the current address to go to get data. This is set by the program counter so the first address is 0 then 1 to get the next instruction or data from memory (like the address of a building). Part of the Fetch process from the Fetch-Decode-Execute (FDE) cycle.
Memory Data Register (MDR) – stores the next set of data or instruction that has just been fetched
Current Instruction Register (CIR) – stores the current (latest copy from the MDR) instruction
Accumulator – stores the starting number and results of a computation

ROM is a type of memory that is non-volatile which means it keeps it’s data even when there is no power in the computer. This may seem like a hard drive as that keeps it’s data when the power goes and you could classify all things that keep data or instructions as ROM but the key difference is that a hard drive can be written to over and over when ROM is not designed to do that. Lots of electronics that keep their functionality when the power is off will have ROM, like a calculator. On boot up of a computer the data in the ROM is the first to be copied to the RAM then taken up by the CPU to get the basics started before handing over to the hard disk for the operating system. When the ROM can be updated to take into account new hardware then it’s Programmable ROM or PROM.

S

SRAM – Static Random Access Memory

SRAM is a different technology to DRAM in that it will keep its data over time once it’s been written as long as there is a power supply (DRAM needs to be refreshed). As it doesn’t need to be refreshed SRAM is used in CPU registers and caches (memory stored on the CPU that is not a register). More expensive and takes up more room than DRAM.

T

U

V

A form of CPU architecture where the data and instructions are stored in the same memory block and the instructions and data are accessed via the same wiring or ‘bus’ (how the electrical signals go from memory to CPU and back again). Although a simple architecture the shared bus for data and instructions causes a slow down as the CPU pulls data then instructions then push the result down the same channel. This is called the Von Neumann bottleneck. It can be overcome by having some memory closer via CPU caches which use more local buses.

W

X

Y

Z

Numbers

Symbols