5 ms·
I'm not sure why there is an obsession with 8-bit architectures for these sorts of projects. Are there no 32-bit CPUs with a simple architecture and easy progra
by 01100011 3y ago
I'm not sure why there is an obsession with 8-bit architectures for these sorts of projects. Are there no 32-bit CPUs with a simple architecture and easy programming model? I say this as an old fart who has a great deal of nostalgia for the 8 and 16 bit days. If I were teaching my kids computer architecture these days, I don't think I'd start with an underpowered, out dated arch.
- deleted 3y ago[deleted]
- avhon1 3y ago> Are there no 32-bit CPUs with a simple architecture and easy programming model? There really aren't. You could consider Arm (maybe with the simplified but 16-bit "thumb" instruction set), or MIPS, or RISC-V. Between all of those, it's rare to find bare CPUs; usually you get them in a system-on-a-chip, with things like DDR memory and other sophisticated peripherals built-in. You need complicated drivers and a bootloader, maybe even with signed payloads. Nothing as architecturally simple as wiring the address and data lines of a CPU into the address and data lines of some RAM or 7800 logic directly wired into a keyboard. In principle those devices could exist, but as a hobbyist you can only really get your hands on hardware with that kind of conceptual simplicity by either programming it into an FPGA, or by using hardware that dates back to when that approach to computer design was cutting-edge. edit: you could maybe consider some kinds of microcontrollers? The Parallax Propeller comes to mind.
- noone_youknow 3y agoProbably not exactly what you’re looking for (since you mention “outdated”) but there are similar projects with 16 and 32 bit architectures, e.g. https://github.com/rosco-m68k/rosco_m68k https://github.com/rosco-m68k/rosco_m68k (Disclosure: I’m the designer and lead developer on that project).
- 01100011 3y agoCool. It's more or less what I did for my senior project back in the late 90s. I think the 68k is the perfect choice for something like this due to the simplicity and much more reasonable performance compared to, say, a 6502 based design.
- noone_youknow 3y agoThanks I couldn’t agree more, the m68k is a great architecture, powerful enough yet simple enough that a person can keep the whole thing in their head. That said, we _do_ have a slightly-related 6502 too https://github.com/rosco-6502/rosco_6502 https://github.com/rosco-6502/rosco_6502
- spc476 3y agoThe Motorola 68k series. A very nice 32-bit architecture that was fun to program. The downside, Motorola isn't making new ones, and I'm not sure who owns the property. Another nice 32-bit architecture was the VAX. It had the most regular assembly language I've ever seen, despite being a CISC architecture. But sadly, both are obsolete these days.
- avhon1 3y agoFreescale owned the IP after Motorola, and they've since been acquired by NXP. For now, they are still available in the form of the derivative (simplified) ColdFire processors. Available ColdFire ICs: https://www.nxp.com/products/product-selector:PRODUCT-SELECTOR?category=c731_c754_c63&page=1&filter=%7B%22filters%22%3A%7B%22h803%22%3A%7B%22value%22%3A%5B%22Active%22%5D%2C%22type%22%3A%22checkbox%22%2C%22logical_operator%22%3A%22OR%22%7D%7D%7D https://www.nxp.com/products/product-selector:PRODUCT-SELECT... Differences between ColdFire and 68k: https://microapl.com/Porting/ColdFire/cf_68k_diffs.html https://microapl.com/Porting/ColdFire/cf_68k_diffs.html
- spc476 3y agoOh God! It sounds dreadful to program on a ColdFire CPU. Some instructions I agree (CALLM), but the ROL/ROR instructions? ADD only applies to long words? Insane.
- Marazan 3y agoYou can hand clock a Z80. It is kind of magical.
- Tuna2020 3y agoIf you want to learn how modern computers work, you should probably give up on the idea of building something yourself - since any modern architecture relies on busses, peripherals and processor functionality that are way beyond hand soldered kits. Get a Raspberry Pi and accept that even light switches run Linux these days! More seriously, since the time of 8-bit CPUs, hardware has essentially split into deeply embedded system on chip designs (often ARM or RiscV cores) or monster multi-core 64 bit CPUs. The intervening 16 and 32 bit processors have largely been consigned to history (genuinely a shame - but that's the reason there are so few kits based on them). Ironically, it's the old Z80 and 6502 that are still being manufactured today in volume and at low cost as a convenient building block for simple "computer" devices. So, no - this sort of kit does not teach you how your M3 Mac works - but it does provide you with a system that you can completely understand and control, that you can build your own peripherals for, that you can write a complete operating system for, or games and programs, that you can have the satisfaction of building yet still has the basic architecture of any modern computer. And for the sort of task you're likely to undertake, it's surprisingly capable. Alternatively, if you want hardware with a simple programming model that abstracts the difficult stuff away, get an Arduino. That's really the choice you're making - either 'close to the metal' coding on older CPUs, or the modern approach of abstracting everything into software. Both are equally valid.