Key Terminology Flashcards
ALU
Arithmetic logic unit: This is used in comparing binary values and for any mathematical
calculations that must be done are done here.
Control Unit
This is used in order to send signals to interrupt the fetch decode cycle.
Register
A register is an area in memory within the processor. These are extremely fast in order to
prevent slowing down the system.
PC
The program counter is incremented at the end of each fetch decode execute cycle and then at
the beginning is copied to the Memory address register.
ACC
The accumulator stores result of calculations made by the ALU.
MAR
Memory address register stores the address of the data or instructions that are to be fetched
from or sent to.
MDR
Memory data register stores the data that has been fetched from or stored to memory.
CIR
Current instruction register stores the most recently fetched instruction waiting for it to be
decoded then executed.
Busses
These are communication channels through which data can be sent through the computer
system.
Data Bus
This carries data between memory and the processor.
Address Bus
The address bus carries the address of the memory location being fetched.
Control Bus
Sends signals that originate from the control unit.
Fetch-Decode-Execute
The PC is copied to the MAR
The fetch signal is sent across the address bus
The contents of the memory location sorted in the MAR are sent across the data bus and stored in the CIR
Fetch complete.
The contents of the CIR are sent to the control unit
The control unit then decodes the instructions
Decode complete.
The registers can be changed in different ways during the executions phase depending on the instructions
If a memory location is to be read from or written to (this is, LDA or STA) then the address stored within the instruction will be
loaded into the MAR. In the case of the STA the data is stored in the ACC and sent to and sent into memory, in the case of STA
the data is stored in the ACC and sent to memory.
CPU
Central processing unit this is used in all processing and mathematics done by the computers
system.
Clock Speed
Clock speed is a factor linked in the speed of a computer system the higher the clock speed the
higher number of fetch decode execute cycle that can occur every second.
Cache
A cache is a small piece of RAM attached to the CPU that stores commonly used instructions or
recently used instructions so that they don’t have to be continually fetched.
Pipelining
Pipelining is the process of speeding up processing. As the instruction is being decoded the one
after that can be fetched. This can only occur if the next instruction can be predicted therefore
sometimes the wrong instruction is fetched and must be discarded and the correct one
fetched.
Von Neumann Architecture
Stores data and instructions in the same memory unit and in the same format
Harvard Architecture
Stores data and instructions in 2 seperate memory units.
Contemporary Architecture
This is a architecture that is commonly used in modern computers.
CISC
Complex Instruction Set Computing
RISC
Reduced instruction set computing
GPU
Graphical processing unit this is extremely good at processing repetitive instructions.
Multicore System
A multi core system uses a CPU with many cores to improve overall efficiency of the system.
Parallel Processor System
A parallel processor system means that a fetch decode execute cycle is done at the same time
as each other.
Input Device
An input device is a device that can input data into a computer system. One example would be
a microphone.
Output Device
An output device is a device that can output data from a computer system such as speakers.
Storage Device
A storage device is something that can either temporarily or permanently store data.
Magnetic Storage
Uses pattered magnetic material to represent binary values.
Hard disk and magnetic tape.
Flash Storage
Flash storage is a type of storage that uses silicon chips and electricity in order to store data.
Uses a type of ROM that can be re-written.
USB sticks.
Optical Storage
CD’s and DVD’s.
Works by shooting a lazer along the surface to determine where there are peaks and troughs
which represent 1 and 0.
RAM
Random access memory a type of volatile storage.
ROM
Read Only Memory this is memory that cant be altered so holds crucial data such as POST.
Operating System
The operating system is used in running and maintaining a computer system.
Memory management
Memory is used in efficient ways
Data in memory cant be accessed without correct permission.
Paging
Where programs are divided physically into equal sized blocks.
Segmentation
Where programs are divided logically split into blocks containing modules or routines.
Virtual Memory
Virtual memory is when RAM becomes full and a segment of storage is used as a temporary
type of RAM in order to prevent a bottleneck.
Interrupt
In most computer systems interrupts are done on a 4 level priority 1 being the most serious.
These are used by the control unit in order to prevent failure in the computer system at higher
levels at lower levels it allows for inputs such as typing.
ISR
Interrupt service routine: this is the process that interrupts are processed by priority.
Scheduling
This is a process controlled by the operating system. It must ensure that each job get sufficient
processing time as well as the user. There are many different methods used.
RR
Round robin is a type of scheduling that means each process is given a specified times to run
and if uncompleted are put back into the queue.
FCFS
First come first serve this means that the first job that comes into the queue will be processed
and then the next and so on.
MLFQ
Multi level feedback queue: This has many queues each with different priority levels in order
to determine which needs processing first.
SJF
Shortest job first meaning that the shortest job is run and then the next shortest on so on.
SRT
Shortest remaining time this means that the job with the shortest remaining time is processed
first.
Distributed OS
Distributed operating system allows for many machines to work on a single job at one time.
Embedded OS
This is commonly used in devices such as kettles and washing machines and is high specialised
for single used jobs.
Multi-tasking OS
Multi tasking operating systems allow for many jobs to run simultaneously without the system
being slowed down to a large extent.
Multi-user OS
Multi- user operating systems allow for multiple users to use the system and allow for
separate file storage between users but software is often shared.
Real Time OS
This is used to process data at extremely high speeds commonly used in things such as planes.
BIOS
Basic Input Output System
Device Drivers
This is a piece of software that is usually supplied with a device that when installed allows for
the computer system to communicate and take action with it.
Virtual Machine
A program that has the same functionality as a physical computer.
Utilities
Small Programs that are usually concerned with the maintenance.
Open Source
Open source is free software that’s source code is made available so that users can make
changes to the code. This often means overall lower quality code and can be used maliciously.
Closed Source
Closed source is precompiled programs that only the executable file is given to the user. These
can have high costs but tend to be overall higher quality.
Source Code
This is the original code that the program is written in before any compilation has occurred.
This made available for open source software.
Translator
These follow instructions that allow for the source code to transfer it into machine code.
Interpreter
A translator program that reads and executes a program line by line. This can be an incredibly
slow process when combined with error checking.
Compiler
A translator program that converts high level language source code into an executable
machine code file.
Assembler
Assemblers convert higher level source code into assembly code which consist of opcode
which is represented by mnemonics and the operand represented by denary or Hex.
Lexical Analysis
White space and comments are removed from the program.
The code is turned into a series of tokens.
A symbol table is created to track variables and their scope and subrotines.
Syntax Analysis
An abstract syntax tree is built from tokens produced.
If any errors are present by errors against the syntax of the language error messages created.
Code Generation
During the code generation the abstract code tree is converted to object code. Object code is
machine code before the final step.
Optimisation
Tweaks to the code is made so it will run more efficiently and will unnecessary functions or
repeating code.
Linker
A linker is used to combine complied code with that from a library into a single executable file.
Loaders
A loader is a part of the operating system and is responsible for loading the program into
memory.
Libraries
A pre-written collection of code that allows programmers to import their functionality into
their own programs. Pre-complied
SDLC
Software development life cycle
Waterfall Model
A sequence of stages each stage only begins when the prior one has been completed. Some
regression can occur if required.
Requires a clear set of goals
Not suited for high risk projects.
Agile Methodologies
A group of methodologies designed to cope with volatility by producing in an iterative
manner.
Iterations made until one is deemed suitable as a final project.
Extreme Programming
A representative of the customer becomes a member of the development team.
Uses an iterative nature the same as RAD
Each iteration produces a version the system with code of a good enough quality to be used
as the final product.
Spiral Model
Step one: Determine objectives- This is to determine objectives of the rotation of the spiral according to the biggest
potential risk.
Step two: Identify and resolve risks- In the next stage the possible risk are identified and alternative options considered. If
risks are considered too high at this stage the project may be stopped.
Step three: development and testing- The third stage allows the part of the project being worked on to be made and
tested
Step four: plan next iteration- The fourth stage determines what will happen in the next iteration of the spiral.
RAD
The user is shown the prototype and gives feedback that is used to inform how the
prototype is further developed.
This continues until the end user is happy that the prototype has required all the
functionality. At this point it becomes the end product.
Well suited to projects that don’t have well defined requirements.
Due to high user involvement is likely to be very high quality
Don’t suit large projects.
Assembly Language
An assembly language is a low level languge that uses mnemonics. It uses simple commands.
Machine Code
Binary Code
Low Level Language
A low level language is a language that is written in binary values. But is uncommonly used
because it is extremely hard to use.
High Level Language
A high level language is similar to English and must be converted in order to be read to by a
computer. Uses a system of English key words.
LMC
Little man computing an example of a mock assembly language.
Immediate Addressing
This is the process that data is directly linked to an instruction
Direct Addressing
Direct addressing means that code refers directly to a location in memory.