6 ms·
> I like the Raspberry Pi RP2040 a lot. It's relatively cheap (around $1 USD) and has tons of on-board RAM - 264 KB in fact! It also has what is called Programm
by zahlman 9mo ago
> I like the Raspberry Pi RP2040 a lot. It's relatively cheap (around $1 USD) and has tons of on-board RAM - 264 KB in fact! It also has what is called Programmable IO, or PIO.
I wonder how benchmarks would compare between the RP2040 and, say, a Z80.
- burnte 9mo agoIt would destroy the Z80. It's a 32bit, dual core CPU running at 133MHz. Even single cored it'll thrash a Z80. Heck, I bet you could create a drop-in replacement board for the Z80 using an RP2040.
- ge96 9mo agoCrazy what you can buy nowadays like the Teensy 4.0 with 600MHz base clock Granted that's $20 not $1
- fortran77 9mo agoThe key here is the "PIO" which you won't find on a Teensy. It lets you do extreme "bit banging" tricks including generating video. People have even implemented Ethernet on it. I've used it for some custom serial protocols ("Weigand") used by alarm panels.
- ge96 9mo agoReally I guess I don't know what that is then as I buy the Teensy since it has so much IO, multiple UART, multiple I2C busses, sd card reading, etc... edit: interesting (Teensy | Pico) Special Features: CAN Bus (3x), SDIO, S/PDIF | PIO (Programmable I/O) (8 SMs)
- fortran77 9mo agoThe Pico PIO has an instruction set and can be programmed. You write PIO assembly that runs autonomously on a state machine, with explicit timing (e.g., out, in, set, mov, jmp, wait) and cycle‑accurate interfaces. The CPU communicates via small FIFOs, and interrupts are optional; the PIO can be “fire‑and‑forget” for many protocols.
- ge96 9mo agoThat's cool, I'm not at that level right now, side note I bought an FPGA like 5 years ago and still haven't used it.
- MPSimmons 9mo agoMy sweet spot of choice between power and price is the ESP32 S3 (2x core @ 240mhz) at ~$6 per board, but yeah, the power to dollar ratio is crazy these days, across the board. And they are absolutely tiny and sip power if you write the code well.
- PaulHoule 9mo agoNote it was possible to use a Z80 to function as a display controller, people used to do it back in the day... https://archive.org/details/Cheap_Video_Cookbook_Don_Lancaster https://archive.org/details/Cheap_Video_Cookbook_Don_Lancast...
- TapamN 9mo agoThe Galaksija computer used it's Z80 to help generate the video signal. I'm not sure how its implementation compares to your link. https://en.wikipedia.org/wiki/Galaksija_(computer) https://en.wikipedia.org/wiki/Galaksija_(computer) https://media.ccc.de/v/29c3-5178-en-the_ultimate_galaksija_talk_h264 https://media.ccc.de/v/29c3-5178-en-the_ultimate_galaksija_t...
- burnte 9mo agoThe Z80 was a very powerful CPU for the day. Its still used here and there.
- sgerenser 9mo agoApparently the Zilog Z80 just stopped being produced in 2024: https://www.techspot.com/news/102684-zilog-discontinuing-z80-microprocessor-after-almost-50-years.html https://www.techspot.com/news/102684-zilog-discontinuing-z80...
- zahlman 9mo agoYes, there was considerable HN discussion, and I chose it for the example specifically because of its long reign.
- zahlman 9mo agoYes, I understand that, but I wonder about the multiple (obviously there is more to it than clock speed). I chose the Z80 because of its long-standing reputation.
- burnte 9mo agoI know, I 'm just saying the RP would dominate the Z80 in literally every way. You could design a Z80 replacement with the RP as the CPU and it'd blow away everything.
- ajross 9mo agoThe RP2040 is a Cortex-M0, which is about the smallest core you find on modern systems but still a pipelined 32 bit RISC machine running in the dozens of MHz. Note though, that the article is really about the PIO device on these SOCs', which isn't part of the main CPU at all. It's sort of a very limited programmable hardware engine for the specific task of doing PCB level interconnect using GPIO and lightly buffered streaming. In some sense it's like a thematic midpoint between an FPGA and a CPU. It's... honestly it's just really weird. And IMHO has really, really, REALLY limited application. It's for people who would otherwise be tempted to bitbang an I2C or UART, but not for ones who can put hardware on the board themselves, or who have a FPGA handy, or even for people who want to do non-trivial stuff like QSPI displays[1] or whatnot. Basically PIO smells like a wart to me. I genuinely don't know who wants it. Regular hackers aren't sophisticated enough to use it productively and the snobby nerds have better options. [1] The linked article appears to be doing a quarter-VGA display in 3-bit/8-color, and is sort of right at the limit of the power of the engine.
- dmitrygr 9mo ago>Basically PIO smells like a wart to me. I genuinely don't know who wants it. Regular hackers aren't sophisticated enough to use it productively and the snobby nerds have better options. what are you blathering on about, sir? driving complex displays with no spu use: https://dmitry.gr/?r=06.%20Thoughts&proj=09.ComplexPioMachines https://dmitry.gr/?r=06.%20Thoughts&proj=09.ComplexPioMachin... (my work) pretending to be memory stick and sd card at dozens of mhz as a slave to a sync bus (my work) ethernet: https://github.com/kingyoPiyo/Pico-10BASE-T https://github.com/kingyoPiyo/Pico-10BASE-T (not my work) 68k bus slave (my work) usb host https://github.com/sekigon-gonnoc/Pico-PIO-USB https://github.com/sekigon-gonnoc/Pico-PIO-USB (not my work) all on a $1 chip
- ajross 9mo ago> what are you blathering on about, sir? Please don't. I mean, I applaud your work. But let's also be honest (in the "tough love" sense): those are all toys with significant limitations that preclude anyone shipping any of them on an actual device to an actual consumer. I mean, your SOC (maybe a $2 one) surely already includes a SPI master and USB host! Actual interconnects that solve real market problems have big boring spec books and competing implementations and silicon vendors. The application for PIO is basically limited to "I have to connect to this crazy old junk and no one makes the part I'd otherwise need".