IT theory notes
Hardware
Concept Definition/ explanation/ example
CPU
CPU CPU (Central processing unit (linked to the northbridge)
Three main components of the CPU:
ALU
Registers
CU
FPU
Other components:
L1 cache
L2 cache
(Above makes up one core)
L3 cache
Clock
GPU
Improve CPU
Increase register size - increases the size of the number the cpu can work
with
Increase clock speed - makes cpu process more instructions per second -
this led to clock multipliers that let the cpu work faster than the motherboard
Decrease size of components - for more transistors
Add maths co-processor
Add hyper threading
Add multiple cores
Include GPU
Add AI processing units
CPU manufacturers
Desktop computers - Intel/Apple/Motorola/AMD.
Intel®, AMD, Qualcomm, NVIDIA, IBM, Samsung, Motorola, HP, ARM,
Huawei
CPU Socket Chips fit in different sockets, so if a motherboard uses one socket and the upgrade
is a different socket it is not possible
IRQ A device number which the CPU uses to identify which device is interrupting it
(interrupt
request) Interrupt
A signal sent to the CPU from hardware or software indicating the need for the
CPU’s attention.
software interrupt, interrupt that is caused either by a special instruction in
the instruction set or by an exceptional condition in the processor itself.
hardware interrupt, electronic alerting signal sent to the processor from an
, external device
Switch A network switch is a small device that centralises communications among several
connected devices in one local area network (LAN).
Transistors Can act as a switch or a gate for electronic signals
(solid state
switch) A transistor is a three-terminal electronic device that amplifies or switches
electronic signals. Its essential components are two semiconductor materials,
typically silicon, with opposing properties, known as p-type and n-type.
“The number of transistors in a dense integrated circuit(IC) doubles about every 2
years” - gordon moore
Integrated Is circuitry built into one component - commonly called a chip
circuits
A cpu is not an integrated circuit
Chips Integrated circuit
Smaller chips generate less heat - they work at lower voltage
Parallel Multiprocessing
processing Hyperthreading
Parallel processing is a method of simultaneously breaking up and running program
tasks on multiple microprocessors in order to speed up performance time. Parallel
processing may be accomplished with a single computer that has two or more
processors (CPUs) or with multiple computer processors connected over a
computer network. Parallel processing may also be referred to as parallel
computing.
Serial What is serial processing? Serial processing means strictly sequential, without
processing overlap of the successive processing times on objects or distinct subsystems.
Microprocess 2 or more processors simultaneously process 2 or more portions of the same
ors program
multiprocessing, in computing, a mode of operation in which two or more
processors in a computer simultaneously process two or more different portions of
the same program (set of instructions).
Multiprocess Multiprocessing focuses on improving overall system performance by using
ing vs multiple processors or cores to execute independent tasks simultaneously. It
parallel doesn't necessarily require close coordination between tasks.
processing
Parallel processing aims to solve a single, complex problem more quickly by
dividing it into smaller subproblems that can be solved in parallel. This approach
demands coordination and synchronisation among processing units to ensure
correct results.
Both concepts are essential in modern computing, with multiprocessing being a
common feature in everyday computing devices, while parallel processing is crucial
, for solving computationally intensive and parallelizable tasks efficiently
Hyperthreadi process multiple threads at the same time on a single microprocessor.
ng
Hyper-threading (officially called Hyper-Threading Technology or HT Technology
and abbreviated as HTT or HT) is Intel's proprietary simultaneous multithreading
(SMT) implementation used to improve parallelization of computations (doing
multiple tasks at once) performed on x86 microprocessors
Hyperthreading is a feature that simulates multiple CPU cores.
Hyperthreading - what it is and how it works
This is when the CPU tells the OS scheduler that it is actually two
processors (instead of the one that it is). Not all CPUS have this feature
This results in the scheduler sending two srams or threads of data to the
CPU at the same time
The CPU switches between the threads in sequential order to follow the
program instructions - but the amount of times it “stalls” and waits for data is
greatly reduced, resulting in a performance increase.
Os will tell you that a hyperthreaded 4 core CPU has 8 “logical” CPU
Hyperthreading:
Hyperthreading is a technology developed by Intel to improve the performance of
multi-
core processors. It’s also known as Simultaneous Multi-Threading (SMT). Here’s
what it is
and how it works:
What it is:
Hyperthreading is a hardware technology that allows a single physical CPU core to
behave
like two virtual cores. In essence, it enables a processor to execute multiple threads
simultaneously, making it appear as if you have more CPU cores than you actually
do.
How it works:
1. thread Scheduling: When a CPU has Hyperthreading enabled, it can work on
two threads (sets of instructions) at the same time. These threads are
scheduled by the operating system.
2. Resource Sharing: Hyperthreading allows the two virtual cores to share
certain resources within the physical core, such as the execution units,
caches, and pipelines. This resource sharing is crucial for improving
efficiency.
Advantages:
1. Better Multitasking: Hyperthreading improves multitasking performance by
allowing the CPU to handle more threads simultaneously. This is especially
beneficial for tasks like video editing, 3D rendering, or running multiple
applications at once.
, 2. Resource Efficiency: It makes better use of CPU resources by keeping the
execution units busy more often, reducing idle time, and maximising overall
CPU utilisation.
3. Cost-Effective: Hyperthreading can provide a significant boost in
performance without the need for adding physical cores, making it a cost-
effective solution for improving CPU performance.
Disadvantages:
1. Diminishing Returns: Hyper Threading benefits are most noticeable in
scenarios where CPU-bound tasks are running concurrently. In certain
applications, you may not see a substantial improvement in performance.
2. Power Consumption: Enabling Hyperthreading can increase power
consumption since the CPU core is more active. This can affect laptops;
battery life and may require better cooling solutions in desktops.
3. Compatibility: Not all software is optimised to take full advantage of
Hyperthreading.Some older applications or games may not see a significant
performance boost.
How to Enable/Disable:
Hyperthreading is typically enabled or disabled in the BIOS or UEFI settings
of a computer’s motherboard. You can access these settings during the
system boot-up process.
Multithreadin Multithreading allows the execution of multiple parts of a program at the same time.
g These parts are known as threads and are lightweight processes available within
the process. So multithreading leads to maximum utilisation of the CPU by
multitasking.
pros :This model provides more concurrency than the many-to-one model. It also
allows another thread to run when a thread makes a blocking system call. It
supports multiple threads to execute in parallel on microprocessors. Disadvantage
of this model is that creating a user thread requires the corresponding Kernel
thread.
cons:It needs more careful synchronisation.
It can consume a large space of stocks of blocked threads.
It needs support for thread or process.
If a parent process has several threads for proper process functioning, the
child processes should also be multithreaded because they may be required.
Pretends to be multiple cpus
Multicores A multi-core processor is a microprocessor on a single integrated circuit with
two or more separate processing units, called cores (for example, dual-core or
quad-core), each of which reads and executes program instructions.
What does cores mean
How many physical working cpus are on the chip