Paper 1 (my version) Flashcards
ALU definition
part of the CPU that completes all the arithmetical and logical calculations
Control Unit definition
component of the processor which directs the operations of the CPU
CU jobs (5)
- accepting next instruction
- decoding instructions
- storing resulting data into memory
- managing flow of data between CPU and other components
- controlling and coordinating CPU activities
PC definition
holds address of next instruction to be executed
ACC definition
stores results from calculation
MAR definition
holds address of location that is to be read from or written to
MDR definition
temporarily stores data that has been read or data that needs to be written
CIR definition
holds the current instruction being executed, divided up into operand and opcode
Data bus
bi-directional bus used for transporting data and instructions between components
Address bus
used to transmit the memory addresses specifying where data is to be sent to or retrieved from
Control bus
bi-directional bus carrying command and control signals to and from every other component in a computer
Fetch Decode Execute
The complete process of retrieving an instruction from store, decoding it and carrying it out. Also known as the instruction cycle.
Factors affecting performance of CPU (3)
- clock speed
- cache
- number of cores
What is the purpose of pipelining?
To reduce the amount of CPU which is kept idle, thereby improving efficiency and performance
Von Neumann Architecture definition (3)
- a computer architecture with a single control unit, ALU and special registers within the CPU
- instructions and data are stored in the same place in memory, in the same format
- instructions and data use the same set of buses
Approaches to overcome Von Neumann bottlenecking (3)
Caching, prefetching, multithreading
Von Neumann bottleneck
idleness of the processor due to the shared buses being unable to fetch instructions and data from memory fast enough
Von Neumann Architecture disadvantages (3)
program can be corrupt, overwritten, bottleneck
Harvard Architecture Advantage
quicker execution as memory and data can be fetched in parallel
RISC advantages (4)
- enables pipelining as each instruction is the same length and takes a single cycle to complete
- program runs faster
- simple hardware as fewer circuits are needed for the lower number of operations,
- lighter and produces less heat
RISC definition (2)
- Reduced instruction set computer
- instruction set is comprised of a small number of simple, fixed length instructions
CISC definition (2)
- Complex instruction set computer
- instruction set comprised of a large number of complex variable length instructions
CISC advantages (2)
- programming simple as single instruction can do complex operation
- code small so little RAM needed to store instructions
CISC info (6)
- emphasis on hardware
- multiple instruction sizes and formats
- less registers
- more addressing modes
- extensive use of microprogramming
- pipelining difficult
RISC info (6)
- emphasis on software
- instructions of same set with few formats
- uses more registers
- fewer addressing modes
- instructions take one cycle time
- pipelining is easy
GPU definition
coprocessor that has a large number of cores allowing it to process multiple streams of data at the same time, and has its own RAM, effective for simpler operations on larger data sets, designed to perform a single repetitive task
CSS definition
Cascading style sheets and defines the appearance of a webpage using selectors such as classes. Can be place within HTML or externally in a file.
Server definition
a device that provides a central point of access
client definition
a device that requests data stored on a server
Pipelining definition (4)
- concurrent processing of multiple instructions
- one instruction is fetched while the previous one is being decoded and the one before is being executed
- increases speed of execution
- in case of a branch, the pipeline is flushed
HTML definition
hypertext markup language, and defines the structure and content of a webpage using tags
Indexing (4)
- a spider visits a site, either by selecting it from an existing list or following a link
- it then records information, such as text and metatags and records the position of each word within the page
- storing them in an index
- it the follows links to other sites
Damping factor
a value from 0 to 1 that is the probability that a user will not follow a link
object
instantiated from a class
method
an action an object performs
attribute
a value held by the object
3 factors affecting output value by the PageRank algorithm
- damping factor
- number of links to target site
- PageRank score of other sites linking to it
PageRank algorithm (2)
- checks the number and quality of links to a page to determine roughly how important the page is
- the assumption is that websites of greater importance are more likely to be linked to from other websites
client-side processing advantages (2)
- reduces load on server
- websites will work quicker for user
server-side processing advantages (1)
- processing done away from user’s control
packet switching (5)
- data split into equally sized chunks called packets
- each packet has a header of information that includes destination device IP address and TTL
- each packet is then placed on the network and may travel by a different route
- at each node, the destination address is read and the best rope is found
- packets need to be reordered at the destination
Why are protocols important for networking?
allows devices to communicate by ensuring all devices follow the same rules so they interpret data the same way
Benefits of OOP (4)
- modularity: easier to test and debug as objects are self-contained with their data and behaviours. This allows a team to work on multiple objects simultaneously
- reusability of code: inheritance and polymorphism can be used to create subclasses that allow, with a small amount of extra code, to have many objects with various functionalities and characteristics. the high level of abstraction means classes can be used as a black box which saves development time
- flexibility: polymorphism allows the same method to acquire different behaviours from the parent class
- encapsulation of data: maintains the object’s data’s security , as encapsulation forces developers and user to use methods (with built in validation) to change data stored in attributes
Object-oriented programming
Makes use of classes (templates that have methods and attributes) from which objects that represent real-world items are made
encapsulation
a method of maintaining data integrity by only allowing class methods access data in an object’s attributes
disadvantages of OOP (5)
- different style of programming and requires alternative style of thinking
- difficult for programmers accustomed to other paradigms to pick up
- not suited to all types of problems
- where few components are reused, OOP may lead to longer more inefficient program
- unsuitable for smaller problems
encapsulation advantages (3)
- protects data
- reduces the chance of inconsistencies
- ensures objects can only be changed in the intended way
inheritance (2)
- when a class takes on the attributes and methods of a parent class
- may override and have additional attributes of its own
LAN
group of devices connected over a small geographical area, where infrastructure is usually owned by the network owner
advantages of inheritance (2)
- promotes reusability: when a class inherits another class, it can access all the functionality of the parent class
- reliability: the parent class’s code will already be tested and debugged
disadvantages of inheritance (2)
- inherited methods work slower than normal functions as there is indirection
- data members in the parent class are often left unused which may lad to memory wastage
polymorphism (3)
- when methods behave differently according to the context in which they are used
- overriding is used to redefine a method within a subclass and alter the code so that it functions differently and produces a different output
- overloading is passing in different parameters into a method
advantages of polymorphism (2)
- subclass can have their own behaviours from parent class
- supports a single variable name for multiple variable types
immediate addressing (3)
- operand holds the actual data to be used
- allows quick and simple data access (as no fetch required)
- limited by the size of the operand
direct addressing (3)
- operand holds the address of the data to be used
- data can potentially be larger than that of immediate addressing
- address range limited by size of operand
indirect addressing (3)
- operand holds the address of where the data to be used is stored
- allows larger range of addresses to be fetched
- multiple fetches required to access data
indexed addressing (2)
- operand holds an address which is offset using Index Register to find true address of data to be used
- allows Index register to be manipulated to access data stored sequentially
switch (2)
- joins devices on a LAN
- receives packets and sends them to the devices with a MAC address corresponding to the MAC address in the packets header
bridge
a device that connects two similar networks
router (3)
- a device that routes packets between networks based on network-layer addresses
- determines the best path across a network
- used to connect separate LANs to form a WAN
TCP/IP stack layers (in order of application) (4)
- Application: specifies what protocol needs to be used to relate the application that’s being sent (e.g. HTTP, POP3)
- Transport: establishes an end-to-end connection between the source and recipient devices, breaks the application data down into segments (TCP) or datagrams (UDP). Sequence numbers are allocated, and source and destination port numbers are added to the header. For TCP, delivery is acknowledged, and lost segments are retransmitted
- Internet: prepares packets for the internet. Source and destination IP addresses are added at this stage
Link: this is the connection between network devices
Von Neumann Architecture (3)
- computer architecture with a single control unit, ALU and special registers within the CPU
- instructions and data are store in the same place in memory and in the same format
- instructions and data use the same set of buses
Functions of an OS (5)
- provides a user interface
- manage peripherals
- handling interrupts
- provide security
- provide utilities for system maintenance
Harvard Architecture
a computer architecture with separate memory and buses for instructions and data
prefetching
fetching instructions or data from their original storage in slower memory to a faster local memory before it is actually needed
caching (2)
- temporary storage of program instructions or data that has already been used once and may be needed again
- they can be fetched again more quickly increasing processing speed
virtual storage
storing information remotely and accessing it through a computer with access to the same system
virtual storage limitations (2)
- network connection speed
- high costs
RAM
random access memory, a form of primary storage used to hold programs in use and is volatile
fastest cache
L1
largest cache
L3
co-processor
an additional processor used for a specific task
GPU (3)
- graphical processing unit
- a coprocessor that has a large number of cores, allowing it to process multiple streams of data at the same time, and has its own RAM
- effective for simpler operations on larger data sets
gateway
Provides a connection between two dissimilar networks
Firewall
A piece of software that monitors/filters packets going to and from a network
paging (2)
- memory split into fixed size physical divisions called pages
- causes internal fragmentation
segmentation (2)
- memory split into unevenly sized divisions call segments
- causes external fragmentation
Why scheduling is important (3)
- to process as many jobs as possible, quickly and fairly
- maximise number of interactive users with fast response time
- efficient use of recourses
Why memory management important (4)
- organises use of main memory by converting logical addresses to physical addresses
- allows programs to share or allocate memory
- protects processes and data from each other
- enables programs larger than main memory to run
Preemptive scheduling algorithm
Jobs are actively made to start and stop
Non preemptive scheduling algorithm
Once a job is started, it is left alone until (it is) finished