Michael Piper, Senior
You probably spend at least an hour a day on some kind of computer, be it a phone or laptop or desktop. But how well do you know your devices? Maybe all you do is browse the internet and social media, or maybe you are fluent with your operating system. You may even do some programming. But even if you can pass a computer science class, you probably don’t know exactly what’s going on in your computer at the hardware level.
A very basic digital computer can be broken down into three major components: a clock, the CPU, and memory. The clock is fairly straightforward: typically a crystal that oscillates at a certain frequency in the presence of current, it steps the CPU forward at a set rate. The CPU, or Central Processing Unit, is the real heart of a computer. Within the CPU, there are three sections tasked with different roles. The control unit interprets instructions fed into the processor as machine code, represented by a series of zeros and ones. A second section, the arithmetic and logic unit (ALU), crunches mathematical operations, like addition, and logical operations, like comparisons, as requested by the control unit. The third section consists of several “registers,” which hold whatever data the processor is currently doing work with.
With just a clock and a processor, you have a functioning computer. However, it won’t be very useful because you have no way to give it instructions. The processor needs to have some memory to read instructions and data from, as well as somewhere to store data for later. Modern solid-state memory consists of an array of transistors that hold a certain charge. Memory can be volatile, meaning it loses its charges when current is removed, or non-volatile, meaning it retains its charges. Memory can also be either read-only, where the processor cannot change the contents, or read-and-write, where it can. Devices that are not meant to be reprogrammed, like washing machines, will store their programs on non-volatile, read-only memory. Your laptop and phone contain all types of memory for their many different programs.
It should be noted that a clock, CPU, and some memory form only the most basic digital computer. Since the early 2000s, practically every personal computer has had a multi-core CPU. Each core is a distinct processor with its own control unit, ALU, and registers, but they work together to divide workloads. Most computers also include some kind of graphics processor, either as a discrete chip or within the CPU, to generate a visual output. Further, there are many types of processor architectures and instruction sets, making a 32-bit x86 processor quite different from a 32-bit RISC-V processor, which is different from a 64-bit RISC-V processor. If you’re confused at this point, it only gets more confusing – which is why I find low-level computing fascinating.