RISC (reduced instruction set computer)
assembly code is broken into a number of single cycle instructions
CISC (complex instruction set computer)
aims to carry out a given task in as few lines of code possible
hardwired control unit
uses logic circuits, e.g. flip flops
microprogrammed control unit
uses programs, code will compile, run and generate output
what is pipelining?
pipelining during the fetch-execute cycle in RISC processors
interrupt handling with pipelining
when an interrupt occurs:
option 1: erase the pipeline
option 2: construct individual units in processor with individual program counters. this allows current data to be stored for all instructions in pipeline while interrupt is handled.
SISD
single instruction single data
processor executes one set of instructions on one data set
only one processor
commonly used among early personal computers
no ability for parallel processing
SIMD
single instruction multiple data
- many processors execute the same instruction using different data sets
- has several ALUs
- each ALU executes the same instruction on different data sets at the same time
used in sound sampling
MISD
multiple instruction single data
several processors
* many processors execute different instructions on the same data set at the same time
not commercially used
MIMD
multiple instruction multiple data
* several processors
* many processors executing different instructions on different data sets
used in most modern personal systems
uses parallel processing
massively parallel computers
hardware issue in massively parallel computers and cluster computing (they are not the same though)
software issue in massively parallel computers
appropriate programming language should be used
which allows data to be processed by multiple processors simultaneously
cluster computing
large number of computers/PCs are linked/networked together.
each computer’s processor forms part of a larger pseudo-parallel system, acting as a supercomputer.
characteristics of massively parallel computers
virtual machines
software that emulates a different computer system
allows the guest OS to operate on the computer’s hardware through the host OS
tasks of a virtual machine
requesting a file using a virtual machine
role of virtual machine software in the testing of an app
applications of a virtual machine
software development
allow running of legacy applications
advantages of a virtual machine
disadvantages of a virtual machine
half adder
fundamental operation in computing binary addition.
two inputs and two outputs:
sum = A XOR B
carry = A AND B