Computers are made up of other computers.
You prod a bit of hardware and it's like "Surprise! I'm actually another computer in a trench coat!". Nesting isn't uncommon; they're fractal
You prod a bit of hardware and it's like "Surprise! I'm actually another computer in a trench coat!". Nesting isn't uncommon; they're fractal
I know that there are at least *three* different CPU architectures present inside the LX2160A SoC in our new home server:
* The main CPUs are AArch64
* The NIC contains at least one PowerPC CPU
* The DDR4 controller(!) contains an ARCompact
* The main CPUs are AArch64
* The NIC contains at least one PowerPC CPU
* The DDR4 controller(!) contains an ARCompact
There are possibly more I haven't dug out yet. These are just the ones where you have to load the firmware as part of the boot process; there may be others hiding, particularly if their firmware is embedded in ROMs
The motherboard has a Cortex-M. There's an eMMC onboard; as of 7 years ago, SD cards and similar typically contained an 8051 or ARM7, they've probably upgraded to Cortex-M or R by now
https://www.bunniestudios.com/blog/?p=3554
https://www.bunniestudios.com/blog/?p=3554
The SSD installed in the M.2 slot is a multi-core computer with a sizable quantity of its' own SDRAM.
There's probably another small CPU inside the DRAM controller inside the SSD controller.
It's fractal.
There's probably another small CPU inside the DRAM controller inside the SSD controller.
It's fractal.
This might sound like modern complexity, but it's pretty much always been this way
The floppy drives for the Commodore home computers? Pretty much all of them contained a 6502 CPU, same as the PC they were connected to.
The floppy drives for the Commodore home computers? Pretty much all of them contained a 6502 CPU, same as the PC they were connected to.
Some models contain two of them! The Commodore 4040 floppy drive has twice as much CPU power as the computer it's designed to plug into!
(But a lot less RAM)
(But a lot less RAM)
The original IBM PC keyboard controller is a micro-controller, and there's also one inside the keyboard that plugs into it
If you look at minicomputers, it's a similar story. And one step further back: offloading things is the whole point of mainframe "channel IO"
If you look at minicomputers, it's a similar story. And one step further back: offloading things is the whole point of mainframe "channel IO"
Firmware is everywhere, and it's surprising how much compute power you find in places where you aren't looking