3 ms·
I’m reminded of that scene in Battlestar Galactica (2004) where Starbuck cuts open a crashed Cylon raider, climbs in, and finds it’s actually organic rather tha
by NobodyNada 4y ago
I’m reminded of that scene in Battlestar Galactica (2004) where Starbuck cuts open a crashed Cylon raider, climbs in, and finds it’s actually organic rather than robotic — instead of the neatly-organized metal and wires and computers you’d expect to see in a hi-tech starship, it’s full of messy flesh and blood and organs.
In the same way, here they cut open a microcontroller and instead of finding a neatly organized CPU with all the usual recognizable bits and software written in a straightforward ISA, there’s this weird, surprisingly analog amalgamation between hardware and software, between control and data. It’s not obvious how anything even functions because it’s so alien compared to our nice, clean, modular general-purpose CPU. Instead it feels…almost natural, like the hardware and software grew and evolved together as a single unit (which, to be fair, they probably did). It’s beautiful and terrifying at the same time.
At least, that’s how it feels to me as a (sleep-deprived) software engineer. Maybe to a hardware guy, this is just Thursday.
- moffkalast 4y ago> as a (sleep-deprived) software engineer So say we all.
- mmastrac 4y agoThe line between "chip" and CPU has always been a bit blurry. Anything that deals with USB or any other complex protocol is probably based on a tiny CPU (8051s are still weirdly common). Software runs the world, but some of it is just cleverly disguised as hardware.
- sidewndr46 4y agoI can second this, I remember looking at the spec sheet for an early USB interface chip. It includes a complete processor. No MMU, but the datasheet even showed how to prevent someone from reading the contents of the ROM.
- retrac 4y agoAs early as the mid-1970s, minicomputers and mainframes started incorporated microprocessors for things like system monitoring, booting, and peripheral interfaces. In 1981, the original IBM PC's keyboard had a 8048 microcontroller internally to handle communication with the PC. Architecturally, this is still how it's done, usually just all shrunk down to a single IC now. Pretty much any expansion card or USB device will have a microcontroller in it, possibly multiple.
- NobodyNada 4y agoOh, for sure. But my surprise is less because there’s a CPU in the chip, and more because the CPU is so weird, and so tightly integrated with the rest of the chip, rather than being a “normal” general-purpose processor that communicates using a set of cleanly-defined I/O interfaces.