Hardware and software - video 104 - 107 Flashcards
what does paradigm mean in a computing context
to describe an example of a way of doing things
what languages are programs grouped into
-low level languages
- high level languages
summarise machine language
- accesses the hardware directly
- works with binary numbers representing different instructions
- the instructions as well as the addresses in memory where data was being stored also had to be referred to as nimbers
summarise assembly language
- each opcode was replaced by a mnemonic which gave a clue to what the operator was doing
- the operand was replaced by a decimal or hexadecimal number
- one to one relationship
advantages of assembly language
made programming more accessible
- executes code as fast as possible
- occupies little space
- can manipulate individual bits and bytes
- used in stuff like interrupt handlers and time systems
why are machine language and assembly language called low level languages
because they are very close to the actual hardware
What are high-level programming languages?
Languages where each instruction could give rise to many lines of machine code
example of high level languages
- FORTRAN
- PYTHOM
- C#
what is imperative language
when program code is executed one line at a time, written using sequence, selection, iteration and subroutines/procedures
advantages of low level language
- not all low level languages need to be translated, all high level languages do
- low level languages program are likely to use less memory when executing
- low level languages programs may execute faster than HLL
- low level language programs can directly interact interact with hardware
disadvantages of machine/assembly language
- machine dependent, code produced is very hard to port
- finding programmers that are capable of writing efficiently in assembler is hard
- it can be long and tedious to write
- is very bug prone
- the code can be difficult to understand, making it hard to modify and maintain
things that will affect processor performance
- clock speed - increasing clock speed increases the number of instructions executed per unit time
- word length - increasing word length means the processor can handle more data per instruction
- bus width (adress or data)- increasing the address bus size means we can address more unique memory locations
- the number of cores linked together on a single chip
- the amount and type of cache memory
what are the roles of the address hus, data bus and main memory in the fetch part of the cycle
- Adress in the MAR is sent down address bus to main memory
- contents of address location sent down the data bus
why can the fetch steps occur at the same time
because one step does not rely on the prior completion of the other
when might the status register have a bit set
when there is an interrupt
- when there is an illegal instruction
- overflow or underflow