Computer Science Flashcards
what is Von Neumann Architecture
Von Neumann architecture describes a system in which the CPU runs programs stored in the memory
What does the Program Counter do
the program counter holds the memory address of the instruction for each cycle
What does the Accumulator Do
the accumulator stores the intermediate results of the calculations performed by the ALU
what does the memory address register do
the MAR holds any Memory Address about to be used by the CPU. The Address might point to data or a CPU instruction
what does the Memory data register do
the memory data register holds the actual data or instruction. This may have been fetched from the memory or be waiting to be written to the memory.
What does the memory store
The memory holds the program instructions and the program data
describe what happens in the Fetch-Decode-Execute (FDE) cycle
Fetch stage -
the memory address is copied from the program counter into the memory address register
instruction stored in the memory address register is copied into the memory data register
the program counter is then incremented to point to the memory address of the next instruction ready for the new cycle
decode stage -
the instruction stored in the memory data register is decoded by the control unit. The control unit then prepares for the next step by for example loading values into the memory address register or memory data register
execute stage -
instruction is carried out
what does the control unit do
the control unit manages the fetching , decoding and execution of the program instructions in the FDE cycle
the control unit also controls flow of data inside and outside the CPU
what does the arithmetic logic unit do
the ALU performs all calculations such as arithmetic like addition and subtraction and even multiplication and division by repeated addition and subtraction
the ALU also does all logic operations such as AND OR NOT and also binary shifts
the register stored in the ALU is called the accumulator
what is cache and its job/properties
the cache is very fast onboard memory. which is slower than the registers but quicker than the RAM.
the cache stores frequently used data so that the CPU can access it quickly when needed
the cache has very low capacity and is very expensive compared to the RAM and secondary storage devices
there are 3 levels of cache memory
what are registers
registers are super fast pieces of onboard CPU memory that temporarily hold tiny bits of data needed by the CPU. the Registers are very quick to read/write to meaning that the CPU can access data from the registers extremely quickly
what is volatile and non-volatile memory
volatile memory is temporary memory as it doesn’t retain its contents once the power is turned of whereas non volatile memory is permanent memory as it retains information when power is turned of
what happens when a computer/applications boot up
when a computer boots up the operating system is copied from the secondary storage into the RAM
when applications boot up they are copied from the secondary storage into the RAM
what is the RAMS general purpose
to hold applications currently being used (volatile and slower than cache but much faster than secondary storage)
what happens when the RAM becomes full. When might the virtual memory be used
When the RAM is full it needs to transfer data that has not been used recently to a location on the secondary storage which we call virtual memory. Virtual memory
what are the downsides of virtual memory
if the CPU needs to read data stored in the virtual memory then it must move back into the RAM. However this is a problem as data transfer rates are very slow in the secondary storage compared to the RAM
give an in depth description of the ROM
ROM is non-volatile memory ( meaning it retains data upon power being terminated ) . also the ROM is read only. The ROM contains the instructions the computer needs in order to boot up properly which we call the BIOS ( basic input and output system ). When the computer first turns on the CPU reads instructions from the ROM which communicate to tell the CPU to perform self - checks and set up the computer for example check for if hardware is installed properly and load operating system located in the secondary storage into the RAM
describe clock speed and what overclocking is
clock speed refers to the number of instructions a single processor core can carry out per second measured in HZ
the higher the clock speed the greater number of instructions that can be carried out per second.
overclocking is the process of a CPUs clock speed being incremented higher than factory set rate. If not done properly this can very risky seen as the CPU will overheat causing crashes and potentially permanent damage to the system so often time a high performance cooling system will be needed such as water cooling system
how do cores affect CPU performance
- each core within a CPU can process data independently
- the more cores a CPU has the more instructions that can be carried out at once meaning that processing large amounts of data takes less time
- however doubling the number of cores doesn’t actually double performance this is because software needs to designed around multi core processing. Also a processing tasks cant usually be split evenly between cores resulting in these cores having to wait on one another.
how does cache size effect CPU peformance
the cache is a data storage inside the CPU much faster than the RAM
effectively the higher the cache capacity the more data that can be quickly accessed and processed by the CPU
how can RAM size affect CPU performance
if the RAM size within a computer is to low it may cause it to run slowly due to the frequent use of virtual memory. This is because if the CPU wants to read data from the virtual memory then it will have to transfer back to the RAM yet this is a problem as data transfer rates are extremely slow in secondary storage devices such that will make the computer extremely slow to respond when switching between applications or use of a memory intensive application as data will need to constantly alter between virtual memory and RAM just to keep the program running
- effectively the higher the RAM capacity the more applications and more memory intensive applications will be able to run smoothly increasing performance
how do GPUs affect CPU performance
GPUs are specialised circuits used to manage graphics and image processing . The GPU essentially decreases processing load on the CPU so that its free to do other things
a higher end GPU can greatly improve performance in graphic intensive applications such as designing software