Modern-day computers have become so complex that it numbs the mind of a regular person. We hear people talk about “Moore’s Law,” which suggests that the number of transistors on an integrated circuit doubles every two years, essentially doubling computer speed and its capabilities. Growth like this is simply unimaginable, yet it has been happening consistently since the statement was uttered by Gordon Moore in 1965. The innovation and advancements in the technology sector are truly marvelous!
Commonly at the center of computer development and innovation are two types of processors; Central Processing Units, known as a CPUs, and microprocessors. To fully appreciate the technology embedded in the devices we know and love, we must understand what these two types of processors are and how they are different. We will start by dissecting what exactly a CPU is.
Central Processing Units are in nearly every electronic device on the market. Generally, CPUs are discussed when talking about laptops and desktop computers. Although they reside in almost all electronic devices, they become the center of conversations with personal computers. Why? Perhaps because CPUs can be the difference between a fast or slow or a good or bad computer in devices like this.
A Central Processing Unit is generally described as the “brains” of a computer system. The human brain is the central processing unit for our bodies and is responsible for receiving and sending commands to other parts of our bodies; a CPU does the same thing, but instead of sending messages over the nervous system, a CPU sends electrical messages with its transistors over wires on a circuit board.
Much like our human bodies, computers have various “limbs” that help them do different things. Just as we have hands that help us interact with the world around us and feet that take us from point A to point B, a computer has different components that allow it to do specialized tasks.
For example, a computer will have memory slots for RAM storage, SATA ports for onboard memory, and PCIe slots for peripherals like network/Wi-Fi cards, GPUs, and SSDs. Each of these components helps with a different task. To complicate the situation, these components also may communicate in a different computer language than the other. Although it seems chaotic, the CPU is the system that brings order to the system; it is used to regulate and translate communication to and from each component. When a key is pressed on a keyboard, that action is translated into binary 1s and 0s, sent to the CPU, translated, decoded, and processed by the CPU, then sent to be visualized on display. This is an oversimplified example of what the CPU does in this specific scenario. Transactions like this happen on the scale of billions of requests, messages, and commands per second.
The primary purpose of a CPU is to relay communications to and from other components in the system. The CPU performs basic arithmetic, logic control, and input/output operations specified by the instructional program. Put more simply, the CPU is where all the central processing is done and where all communication between different components happens.
CPUs continue to grow in capability allowing them to process more information quicker. Intel’s first CPU in 1971 contained a total of 2,300 transistors whereas today the CPU in the latest Xbox game system contains 5 billion transistors and the latest MacBook computers with the M2 CPU contains a whopping 25 billion! Remind you, each transistor is capable of processing a command; that means 25 billion commands can be processed in a single second!
A microprocessor is more similar to a CPU than it is different. In fact, a CPU is often referred to as a microprocessor. All CPUs are microprocessors, but not all microprocessors are CPUs.
Returning to the brain and human body example, the human brain is what we said a CPU is like. In this example, the legs and hands of a body would be areas in a computer that microprocessors would be. We likened body parts in this analogy to components in a computer. The specific components included the device RAM, storage, graphics cards, Wi-Fi cards, etc. Each one of these components houses its own embedded system and hence microprocessor. Each component in a computer is capable of specific processes, and to execute those processes, there needs to be a powerful and task-specific processor.
As mentioned in the section above, microprocessors and CPUs are more similar that they are different. In fact, all CPUs are microprocessors however not all microprocessors are CPUs. The main difference between the two is their functionality and purpose within a computer system. A CPU is a type of processor tasked with a variety of roles. A microprocessor is generally tasked with one specific task and does that one task exceedingly well. A CPU issues commands to microprocessors and in return the microprocessors send data to the CPU or other component as specified by the CPU. Microprocessors are tasked with executing specific and repeatable actions whereas a CPU is tasked with executing a wide and diverse range of tasks.
Like all embedded systems, CPUs and microprocessors need to be programmed for their specific applications. Although a variety of development tools can be used for programming CPUs and microprocessors, some very popular development tools include the Total Phase suite of I2C and SPI tools.
From the Aardvark I2C/SPI Host Adapter, Cheetah SPI Host Adapter, Promira Serial Platform, to the Beagle I2C/SPI Protocol Analyzer, Total Phase offers a range of tools and solutions to fit almost any SPI and I2C development applications. With programming speeds ranging from 4 MHz to 80 MHz as an SPI master, from 4 MHz to 20 MHz as an SPI slave, and from 800 kHz to 3.4 kHz as an I2C master and slave, these adapters make for an excellent choice for developing I2C- and SPI-based embedded systems. On the other hand, the Beagle I2C/SPI Protocol Analyzer allows users to non-intrusively monitor both the I2C and SPI bus in real-time, allowing for greater insight into the traffic occurring on the bus.
These tools allow engineers to create and debug their solutions so that their products work seamlessly in their intended applications.
Microprocessors and CPUs are at the heart of almost all electronics we have in our lives. Without these modern-day components, we would not be where we are with advancements in AI, self-driving, IoT devices, and much more.