A computer's central processing unit (CPU) executes instructions and performs calculations. It is often called the processor, although other processors, such as GPUs, handle specialized work. Software engineers need to know what a processor is because, along with RAM, it plays a major role in the speed of a device. Performance depends on the workload, processor design, memory and other components. Curious how a processor operates in relation to software engineering? Read on for more!
What is a Processor?
A processor processes inputs into outputs and controls computer speed. Processors contain transistors arranged into logic circuits that operate on binary data. Chips designed for a smartwatch, phone or desktop have different performance and power requirements; their small size does not make them equally fast.
What is a CPU?
CPU stands for Central Processing Unit; it is the general-purpose processor that runs a computer's instructions. A CPU is a hardware component in the circuit board of a smart device or computer that receives information from an input, fulfills the command, and delivers the result to the designated output. A CPU performs basic computations.
CPU components include the following, along with registers and cache:
- Arithmetic logic unit (ALU): performs mathematical and logical functions
- Control unit (CU): decodes instructions and coordinates the processor's operations.
- Memory management unit (MMU): translates virtual addresses to physical addresses and enforces memory access permissions. Operating systems and language runtimes handle program and object allocation.
Does a CPU rely on low-level programming?
Holberton School mentor, Olivier Chatry, explains that CPUs rely on machine code or assembly (asm). This is different from the low-level programming languages that we think of today, like C and C++.
“The only true low level programming is machine code or assembly (asm). Assembly is as close as possible to what the CPU (the computer's processor) can execute, as it is literally a text translation of the binary code which the CPU understands. For example, compression libraries are typically built in C, and very specific parts would be built using assembly, but the amount of assembly is getting lesser because compilers are getting so much better at optimization.” Olivier Chatry, Holberton School mentor
What is RAM?
RAM stands for Random Access Memory, and it is used for quick access to things actively being worked on. RAM holds working data and instructions for quick access. Desktop computers, smartphones and tablets use it as short-term memory. RAM stores data rather than executing instructions, and overall speed also depends on the workload and other hardware.
What is a motherboard?
The motherboard of a computer is the fundamental piece of circuitry that connects all the operating pieces (like the CPU and hard drive) and enables them to communicate with each other. A motherboard is the part of the computer that all inputs and outputs connect to and coordinate their tasks. If a motherboard fails, a computer cannot operate.
Components installed on or connected to a motherboard can include:
- Hard drives (HDD or SSD)
- Processors (CPU)
- Memory sticks (RAM)
- Optical drives (DVD, CD-ROM, etc)
- Video cards and sound cards.
Some tech bootcamps, like Code Fellows, actually teach students about motherboards! Code Fellows graduate Courtney says, “Code Fellows gave us an intro to computer operations where we literally took computers apart, broke down the tower, examined the motherboard, and removed and replaced the RAM. They wanted us to get familiar with exactly what was under the hood.”
The History of Processors
Processors have come a long way to the ones used today! By 1947, Bell Labs had invented the first transistor. In 1958, the first working integrated circuit was developed, and in just two years, IBM developed the first automatic mass-production facility. Moore’s Law about integrated circuits was observed in 1965, and by 1969 Advanced Micro Devices (AMD) was founded.
The quest has been to make processors faster and less expensive. The MOS Technology 6502 was introduced in 1975 and later powered personal computers such as the Apple II and Commodore PET; related designs were also used in game consoles. Processors continued to evolve from the 1970s to present day, with Intel and AMD leading the way. Intel made waves when they introduced the world’s first microprocessor, the Intel 4004, in 1971. Motorola introduced their first processor in 1974, the same year Intel released an improved microprocessor chip, the 8080, which became the computer industry standard.
How Processors Are Used on the Job
Processors sort information, execute input commands, and impact a computer’s efficiency and speed. This is relevant to software engineers because it impacts how quickly they can work as well as offer the ability to troubleshoot and debug issues in software. The faster the processing power, the faster a software engineer can process their code.
Software engineers do not usually write machine code directly. Compilers and interpreters let them work in higher-level languages; the CPU ultimately executes machine instructions defined by its instruction set. A simplified instruction cycle is fetch, decode, execute and store.
Do all software engineers need to understand the exact ins and outs of a processor? Not necessarily. But the best and most senior engineers are constantly digging deeper to optimize their code, and understanding processors is one part of that process.











