You probably know that computers are designed and built in various shapes and sizes. Micro technologies like microprocessors and NRAMs make it possible to cram a lot of power in a small space. All the required components of a computer system can fit into a small chip. In fact, we are slowly doing away with configurable motherboards. Trendy devices on the market like smart watches and super slim smart phones are only possible because of SoC technologies. This shift does not seem to be a fad. We are looking at a future with bio-inspired robotics so micro technologies are here to stay!
Early on, we looked into our views of what a computer system is. Many of us drew a specific type of computer. Your view of what a computer should be changed after Chapter 2.
We can now recognise a computer in its abstract form as depicted below.
Any digital device that has a component for all the main modules, no matter the size, power or purpose... is a computer system.
Glossary
Chip | Also known as an Integrated Circuit (IC). A set of miniature electrical switches on a flat piece of silicon. |
Microprocessor | A CPU chip typically found in personal computers. |
Microcontroller | A chip with a microprocessor and memory components. |
SoC | A chip that has all components to make up a complete system. |
Dedicated system | A computer designed to do one task. |
GPU | Graphics Processing Unit, a processor that is designed to efficiently process graphical data. |
NIC | Network Interface Card, a component found in laptops and smartphones to make it possible to connect to the internet. |
CPU, processor, microprocessor 🍅
This reminds me of the tom-a-toe, tomato argument where words sound different but there isn't really a difference in meaning. The processor, CPU and microprocessor all refer to the circuitry that is responsible for processing data and performing logical operations in the computer system. However ☝️, manufacturers use the term microprocessor to emphasise that all the circuitry that is required for a CPU which is typically found in a personal computer, therefore some kind of multicore processor, is in one chip.
Microcontroller 🤖
We human beings are not defined by what we do, for example you are more than a student and I am more than a teacher. However we have been defining computers by what the a microprocessor does since their inception: as data processors!
In reality, a computer can only perform complex logical operations because it has memory. Machine code that can initialise the state of the microprocessor is written into memory. Data and instructions are stored in a much larger working memory. And finally, the results most valuable to us, are persisted into secondary memory.
In specialised workstations and high-end laptops you will find that memory is completely detached from the microprocessor. This enables a user to make certain upgrades when needed. However there are many scenarios in which this kind of flexibility is not important and this is most particularly true for dedicated systems which we will explore in Chapter 39.
A microcontroller is a single chip that contains all the circuitry for a microprocessor and all the memory
components required. Most microcontrollers also include programmable components for input and output peripherals.
SoC
SoC simply stands for System on a Chip and you can probably guess that this means having all components that make up a full-fledged system on a single chip including the operating system. This implies that not only would you have the circuitry for a microprocessor and memory, but other components e.g., a GPU or a NIC would also be integrated on the same chip. Hereunder is a development board that houses the ARM Cortex M-4. Do you think you know where this is used ? Let me give you a small hint...⌚.
We have made transistors as small as they could possibly get, and they are so small that a general purpose computer can comfortably sit on your wrist! You might be wondering why we still have microprocessors and microcontrollers. Well, just because we can it does not mean we should. One should always weigh in the pros and cons.
Advantages 👍
An SoC consumes much less power overall because in traditional motherboards most of the power is consumed by the physical cabling.
Small and lightweight.
Has become affordable to mass produce.
Provides greater security at the hardware level.
Very resource efficient.
Disadvantages 👎
They are difficult to design and this incurs an initial cost.
Even if only a single component is damaged the complete circuit has to be replaced.
Not suitable for power-intensive applications.
Finally a few examples
All these chips look pretty similar. Figuring out what is what can be overwhelming.
The image below visually explains why all different kinds of components are useful in our systems with some examples.
Comments