Unit for the electricity to go through to









Unit 19

















Task 1


Motherboard: The motherboard is a PCB (Printed Circuit Board)
which is made for all of the components in a computer to connect to which has
all of the routes for the electricity to go through to move data from one
component to another. The motherboard is also the part of the computer that is
limiting the speed of everything in the computer, this is because motherboards
have only been made to a max speed and architecture, and most modern
motherboards work on 64 bit which is the number of bits that can travel across
the buses on the motherboard. The reason that motherboard have not gotten any
faster is because it is very expensive, and it will create a lot of heat which
means that they will have to put more heat sinks on the mother board and there
is no space on the current motherboards and this means that they will have to
make motherboard bigger just so that they can fit the heat sinks on.

CPU: The CPU is the main bit of the computer it is the part
of the computer that acts like a brain. The way that the CPU controls an action
on word let’s say, it will do a fetch execute cycle, so let’s say that you
click the “K” so what the CPU will firstly do is a fetch where it sends an
address to the RAM on the address bus and will grab the instruction and then
will back on the data bus where the CPU will decode the instruction and then
will execute the instruction which will then make the letter “K” appear on the
work document. In the CPU there are many small units that do many things on the
CPU, the first being the control unit, which directs the entire computer
systems to carry out stored program instructions, this part of the CPU does not
execute the instructions, another part is the Arithmetic logic unit this does
arithmetic and bitwise logic operations, and last is the memory management
unit, this translates logical addresses into physical RAM addresses, which in
turn provides memory protection and paging abilities.

RAM: The RAM is a type of memory that is in the computer, RAM
is volatile memory, and this means that when the computer is turned off the
data in the RAM will be emptied. What the RAM does is it holds instructions for
applications that are open so that it is fast for an action to be completed,
like stated above with clicking the letter “K”, old but new technology has made
it so that the memory will analyse what you do every day and will find patterns
with what you do and will preload the applications instructions when it has
used you pattern so that it will be a lot quicker for the application to load
and be used. The RAM acts like a buffer for the HDD as the hard drive can have
information taken from it by the RAM and then the RAM communicates with the CPU
as the HDD cannot communicate to the CPU directly.

HDD: The Hard Disk Drive is the storage device of the
computer and its non-volatile meaning that the data that is stored on it will
stay when the power is switched off. The HDD is like a CD as it uses disks for
all of the data there are multiple disks that are stacked, the way that the
data is inputted on the HDD is by using the read write arm that uses magnets
that magnetises microscopic parts of the disk which turns it in to binary with
the 1 being magnetised and 0 being non magnetised, this is why when putting a
magnet near or on the HDD it will break and or corrupt all of the data on the
disk. The HDD is connected to the motherboard by a SATA cable which allow up to
6GBps transfer speed, and some of the older motherboards and cables allowing up
to 3GBps. The HDD does not speak to the CPU directly this is because the HDD
uses RPM and the CPU uses GHz meaning that that they will never sync to be able
to send data as they use different speeds, instead the HDD uses the RAM to
transfer data across to the CPU, as the RAM will load the necessary data from
the HDD and store until the data is no longer needed.


L1: Level 1 memory is the fastest possible cache memory that
can be attached to a CPU, this is because it has the least travel, the downside
of having it fast, is that it will produce a lot of heat. It is getting hot
means that the size of the cache has to be small, the usual size is between 2KB
and 64KB. The speed of the L1 cache is around 700GBps. The L1 cache will have
the most important instructions and or the ones that may be used soon.

L2: Level 2 cache is the second fastest cache and the second
smallest. The size usually is between 256KB and 512KB. This is also on the CPU,
but is has further to travel meaning that it will be slower, this is a step
down from the L1 cache meaning that if instructions that are important but not
needed imminently then it will be stored here. The speed that the L2 cache
works at is about 200GBps, it is slower as it has further to travel.

L3: Level 3 cache is the largest and slowest of the caches.
Even though it’s the slowest cache it is still faster than the RAM. The L3
cache can also be built on to the motherboard but on more modern CPUs it has
the cache built on the CPU. The size if the L3 cache is in the MBs usually
sized between 1MB to 8MB. This shared cache is used for instructions and data
meaning that both instructions and small amounts of data that are needed soon
will be stored here.



This is the Memory data register or memory buffer register.
This stores the data that is transferred to and from the immediate access
storage. It holds a copy of designated addresses from the memory address
register. The MDR is a two-way register, so when data is fetched from the memory
it is placed in the MDR, it is written to go in one direction.


The memory address register, this a part of the CPU that
either stores the memory address from which data will be fetched to the CPU or
the address to which the data will be sent and stored. This means that the MAR
will hold the memory location of the data that needs to be accessed.


The current instruction register does as it says on the tin
it holds that current instruction to be executed when it has been fetched form
the memory.


All the memory types that are in a computer have many things
that can be compared. The first thing we can compare about all the different
types of memory in the computer is speed. The fastest type of memory is level 1
cache which will do about 700GBps which is very fast but then it also limits
the size that is can be as this is also the smallest sized memory in the
computer, and all the other levels of cache so 2 and 3 are also small but are
bigger meaning that they are slower, but they are still faster than the RAM.
Ram is another type of memory that is in the computer this is the fastest
memory that is not connected to the RAM physically. Let’s uses the latest RAM
for example so DDR-4, there are many types of DDR-4 the speeds vary to what
type of DDR-4 you get, so the it can be from 12.8GBps to 25.6GBps which is
faster than all the other types of memory that is not physically connected to
the CPU. Now all these types of memory are volatile meaning that they get
cleared and data is not saved when the computer is shutdown. Another comparison
is that some memory is volatile, and some is non-volatile. The non-volatile memory
is RAM L1, L2 and L3 memory as they wipe everything that is on them which means
that the computer needs different types of memory that is non-volatile, this is
HDD, SSD and SSHD, these types of memory will store memory even if the computer
has been turned off. The speeds of the HDD and SSD are considerably slower then
the other types of memory, the average speed if a basic hard drive is about
100MBps, and the average speed of a basic SSD is about 200MBps, but the reason
that they are slower it is because they can have a lot more storage, so the HDD
can get very big the biggest consumer hard drive is 10TB which is thousands of
times bigger then cache. And SSDs can be very fast and some very expensive PCIe
SSDs can work at GB/s and can also have a very big capacity in comparison to
the other types of memory.

Task 2


Polling: Polling in a summery has slots for all of the
programs and will have a specific timing as well. This means that there is a
cycle, so if an application is wanting to print something and they are
currently in their slot it will print, but if the application is not in its
slot and there is something in the current slot then the application that is
waiting will have to wait instead of interrupting for a small amount of time.
This will also happen if a slot is empty but the application that is assigned
for does not need to use it, it will have to wait for its assigned slot as the
computer will go through the slots until it reaches the applications slot.

For hardware the polling is terrible as if you move you mouse
as said above the computer will wait until the slot for the mouse comes up so
if you move your mouse just after the slot, you will have to wait until the
slot that is assigned to the mouse comes up, so the mouse will move. It is the
same with the keyboard you will type, and it will take maybe a couple of
seconds to input what you have typed as they it must wait for its slot.

Interrupts: Interrupts is completely different to polling as
interrupts allows things to interrupt the current process if it is more
important like a mouse movement, this will interrupt the current process so
that it allows the movement of the mouse quickly instead of waiting like
polling. The way that the interrupts work is by a range on the interrupt
request queue, this uses a list from highest to lowest and the higher the
number means that it will have more chance than lower software or hardware to
skip the queue to allow its interrupt, an example of this is a mouse movement
it is going to allow the interrupt as the mouse is high on the interrupt
request queue.


The font side bus is a passage data that comes from the
memory and L2 cache. The front side bus can have its speed changed in the bios
and the range of the is from 66MHz and up. The front side bus has multiple
buses in side of it the first being the address bus and this takes the address
that is requested by the CPU, so the address bus will take it to the memory and
the register with the data will be found using the address bus. The address bus
also is like a one-way street it will take the address, but it will not need
the address back after it has found the register. The next bus is the data bus
is bi directional, this is because the data that is grabbed by the address bus
will go down the data bus to get to the CPU, and is bi directional as when the
CPU has finished with the data it will go back along the data bus. The last of
the is the control bus which carries the command that is sent with the address or
the data for example if a command is to store the data in the data bus the
address will be sent in the address bus, and the command will string it and the
data will be stored at the address specified. At the moment the front side bus
has an architecture of 64 bits this means that the maximum string of bits at
once in the bus at once its 64 and this means that if any thing more than 64
bits will need to be sent in multiple strings.

The way that the Ram is used from the FSB, the RAM stores
instructions which it collects from the HDD, and it stores these instructions
on the RAM. And as stated above when an instruction is needed an address will
come down the address bus and a command will come down the control bus. And
once it has found the address it will send the instruction/data back in the
data bus and then the CPU will continue its cycle. Level two and three caches
use the FSB. They use it so that the cache can be shared. So, this means that
it will be used like the RAM if needed as a small superfast alternative. But it
will mainly store instruction that have been collected form the RAM for instant

All I/O devices use all of the buses so the data bus, address
bus and control bus. When the CPU needs to talk to an I/O device a pin on the CPU
will change so that it will stop being an address bus for the RAM to an address
bus for semi-intelligent chips, this is also called I/O port addressing. When
it comes to the data bus only one chip can be connected to the bus at one time.
The bus allows up to 64 bits meaning that it will be able to send more data
meaning that it will be faster. But it tends to be PCI cards that use all 64
bits to send and receive data. When an input device is used for example a mouse
when it is move it will send a small packet of data along the data bus to the
CPU which it will have an interrupt request and as a mouse is general high up
on the queue it will interrupt the current execution and it will have its
request done before anything else allow for the mouse movement to be done or
the click to be done. The same for the keyboard when a click happens it send a
request on the data bus.

Task 3


Reduced input set computer: RISC is used when they want a
processor that only uses simple instructions that can be executed in one clock
cycle. This is different to CISC as RISC allows instructions to be done easier,
so a programmer using this will only need to type four lines to have a set
done, for example LOAD, PROD and STORE, so the load is where it moves data form
the memory bank to a register, the PROD finds the instruction from the register
and then the STORE will put the data back in to the memory.

Complex instruction set computer: CISC was produced as an
architecture to make it so a task is completed in a few lines of assembly as
possible. To make this possible the processor hardware must be capable of
understanding and executing a series of operations. A CISC processor needs to
come prepared with a specific instruction. When this is executed, the
instruction will load two values into separate registers, then it multiplies
the operands in the execution unit, and then stores the sum in the right
register. By doing this it means that a multiplication of two numbers is easily
done in one instruction. This is a lot more efficient than RISC as it allows
more calculations and instructions to be done quicker. It also allows more to
be done within a specific time frame instead of waiting for each section to be
done like in RISC.

There are many differences between CISC and RISC, the first
being that CISC relies on the hardware, while RISC is mainly based around
software so that means that it will not need as many transistors leaving space
for more general-purpose transistors, and the CISC will need more transistors
to have the instructions executed. The RISC can do all of its instructions in
one cycle, but it will take the same amount of time as doing a multi cycle for
CISC, this is because the code for the RISC is larger as they must write each
step out, were as CISC can be written in a small amount of code it has to do
multi cycles as the it has to understand the code and then execute it.

Task 4


The instruction

The instruction
register is a part of the control unit. What it does is it holds the
instruction that is currently being executed or decoded. In simple processors
each instruction that is going to be executed is loaded in to the instruction
register, where it holds it while its being decoded, prepared and executed,
which can be several steps. In more complex processors they can use pipeline of
instruction registers, and this is where each part of the pipeline does part of
the decoding, preparation or execution. The more modern processors can do
decoding out of sync meaning that several instructions can be done in parallel.

The general-purpose

The general-purpose
register is used to store any transit data required by a program. When the CPU
has more registers the faster it will be. When a program is interrupted, all of
the specialised registers may save their data in to the general-purpose
register waiting for the program to need it again.

The accumulator:

The accumulator
register is where intermediate arithmetic and logic results are stored. If
there was not an accumulator register, the calculation results would have to be
stored in the main memory. Most modern day computer systems often have multiple
general purpose registers that operate as accumulators.

The program

The program counter
is a register. It has that address of the instructions that is currently being
executed. When each instruction is fetched, the counter increases the stored
value by one. After it has fetched the instruction the program counter points
to the next instruction in the sequence.

The stack pointer:

The stack pointer
is a register that stores addresses of the last program request in a stack. The
stack is a type of buffer, this holds the past requests, the most recent
request will be at the top of the stack, and is another request is made than
the top will be pushed down so that the most recent request will be at the top.














The is a little man computer that counts to a number that is
inputted, the first part of the little man computer is that it will load a
number from 17 which is zero and it will store this number in 99 so that it
will be able to count to the number is inputted in the next line, so this will
stop the instruction until a number has been inputted, after the number has
been entered the instruction will continue until it has counted up to the
number inputted.

The next bit of code is the branch if zero, so it will look
in the register with the address of 13 and if this is zero, it will then make it,
so it goes to a different part of the code, and this branch will stop the
program as it has reach zero from what it was counting to.

Store inputted number 98

Load 99

Add 14 number to add up to inputted number

Store this number in 99 and output

Subtract 995 by number in accumulator

Branch if positive step 12

Brach 5 goes to step 5 and carries on counting

Branch 00 will go to the beginning


Data 14 is the number it will count up in

Data 15, 16 and 17 are there to keep three register 0

Task 5