Sciextor

Security is Everyone's Job

Central Processing Unit

A CPU, or central processing unit, is the main component of a computer that performs calculations and executes instructions.

How CPU Works

Fetch

The CPU fetches an instruction from the memory, which is a device that stores data and programs. The instruction tells the CPU what to do, such as add, subtract, compare, or jump to another instruction.


Decode

The CPU decodes the instruction and breaks it down into smaller parts that can be understood by its components. The CPU has two main components: the control unit (CU) and the arithmetic logic unit (ALU). The CU controls the flow of instructions and data in the CPU and sends signals to the ALU and other parts of the computer. The ALU performs arithmetic and logical operations, such as addition, subtraction, multiplication, division, and comparison.


Execute

The CPU executes the instruction and performs the operation specified by the instruction. The CPU may use registers, which are small storage units inside the CPU, to store intermediate results or data. The CPU may also communicate with other devices, such as the input/output (I/O) devices, which allow the user to interact with the computer.


The CPU repeats this process billions of times per second, and each core of the CPU can process an instruction in parallel. The speed of the CPU is measured in hertz (Hz), which is the number of cycles per second that the CPU can perform. For example, a 5 GHz CPU can perform 5 billion cycles per second.

What a CPU is made of

CPUs are made of silicon, which is a chemical element that can be found in sand. Silicon is used to create transistors, which are tiny switches that control the flow of electricity in a circuit.

Transistors are the basic building blocks of CPUs and other microchips. CPUs can have billions of transistors arranged on a single chip, which is called a die.

The die is then attached to a package that connects the CPU to the motherboard and other components of the computer

CPUs can also contain other materials, such as copper, gold, aluminum, and plastic, to form wires, contacts, pins, and sockets that enable the CPU to communicate with other devices.

Some CPUs may also use alternative materials, such as carbon nanotubes, graphene, diamond, or alloys, to improve their performance or reduce their power consumption

CPU architectures

A CPU architecture is an abstract model of a CPU that defines its instruction set, data types, registers, memory, and input/output.

A CPU architecture can have multiple implementations that vary in performance, size, and cost.

Here are some architectures

x86: This is a family of CPU architectures that originated from the Intel 8086 processor in 1978. It is also known as IA-32 or Intel Architecture 32-bit. It is widely used in personal computers, laptops, servers, and embedded systems. It supports 32-bit and 64-bit modes, as well as various extensions, such as MMX, SSE, AVX, and x86-64

ARM: This is a family of CPU architectures that originated from the Acorn RISC Machine processor in 1985. It is also known as Advanced RISC Machine or ARM Architecture. It is widely used in smartphones, tablets, smart TVs, and other devices. It supports 32-bit and 64-bit modes, as well as various versions, such as ARMv7, ARMv8, and ARMv9

MIPS: This is a family of CPU architectures that originated from the Stanford MIPS processor in 1981. It is also known as Microprocessor without Interlocked Pipeline Stages or MIPS Architecture. It is widely used in routers, game consoles, and embedded systems. It supports 32-bit and 64-bit modes, as well as various extensions, such as MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS32, and MIPS64

RISC-V: This is a family of CPU architectures that originated from the University of California, Berkeley RISC-V processor in 2010. It is also known as Reduced Instruction Set Computer - Five or RISC-V Architecture. It is an open-source and modular architecture that can be customized for various applications and platforms. It supports 32-bit, 64-bit, and 128-bit modes, as well as various extensions, such as RV32I, RV64I, RV128I, RV32E, RV32G, RV64G, and RV128G

PowerPC: This is a family of CPU architectures that originated from the IBM POWER processor in 1991. It is also known as Performance Optimization With Enhanced RISC or PowerPC Architecture. It is widely used in servers, workstations, game consoles, and embedded systems. It supports 32-bit and 64-bit modes, as well as various versions, such as PowerPC 601, PowerPC 603, PowerPC 604, PowerPC G3, PowerPC G4, PowerPC G5, and PowerPC e6500

Some security challanges

Known Vulnerabilities

Meltdown and Spectre: These are two families of side-channel attacks that exploit the speculative execution feature of modern CPUs. They allow attackers to read arbitrary memory locations from the CPU’s cache, including those belonging to other processes or the kernel. Meltdown affects mainly Intel CPUs, while Spectre affects Intel, AMD, and ARM CPUs

Downfall and Inception: These are two new side-channel attacks that exploit the Gather instruction and the frequency scaling feature of modern CPUs. They allow attackers to read internal hardware registers from the CPU, which may contain encryption keys or other secrets. Downfall affects Intel CPUs from Skylake to Tiger Lake architectures, while Inception affects AMD Ryzen processors

Hertzbleed: This is a new side-channel attack that exploits the dynamic voltage and frequency scaling (DVFS) feature of modern CPUs. It allows attackers to infer the power consumption of the CPU by measuring the response time of specific queries. This can reveal cryptographic keys or other secrets processed by the CPU. Hertzbleed affects Intel and AMD CPUs from 8th to 12th generation