6 ms·
Show HN: Homebrew 16bit CPU from 74HC logic with C compiler and Unix-like OS
This is a 16bit CPU+Minicomputer from pure 74 series logic. It has user/kernel modes, virtual memory, prioritized IRQ's and DMA. It has a full C compiler and a unix-like OS. It's still in development.
- quantified 3y agoI love it. Looks fairly well-rounded. I didn't see in the written artifacts: what's the effective instructions per second?
- B1FF_PSUVM 3y agoI checked https://en.wikipedia.org/wiki/7400-series_integrated_circuits https://en.wikipedia.org/wiki/7400-series_integrated_circuit... and gate delay (tpd) for 74HC is 15 ns. I wouldn't expect more than 1 MIPS, which is what the DEC VAX 11/780 was doing around 1980. (Awesome one-man project, if that's the case.)
- jacquesm 3y agoIf it gets 1 MIPS I'd be absolutely amazed, check out the size of the wire wrap boards: http://www.sol-1.org/images/sol/board-1.jpg http://www.sol-1.org/images/sol/board-1.jpg
- dboreham 3y agoThey're normal sized boards fwiw.
- kjs3 3y agoThose are Multibus-1 prototyping boards, so they'd be 12"x6.75". It's a good size for building non-trivial things.
- jacquesm 3y agoI didn't mean to imply that they are abnormal, just that they are large and large boards like that tend to be harder to make stable when using wire wrap as a technique. I've done this - and stacks of them too - but I've also spent days tracing a faulty wire, and the chance of such faults goes up as the number of wires goes up.
- marktangotango 3y agoWire length matching would seem to be a big factor in attaining the highest performance.
- userbinator 3y agoWas this inspired by http://www.homebrewcpu.com/ http://www.homebrewcpu.com/ ? Seems to be very similar in specs.
- Evidlo 3y agoHow about serving the website from the machine you built?
- samus 3y agoShould definitely be possible with mostly static content and Cloudflare caches in front. I bet there are many personal websites out there served from an old smartphone or from a Raspberry Pi Zero.
- actionfromafar 3y agoI agree it should be possible, but a Raspberry Pi Zero is a super computer.
- tw1984 3y agothat would require a lot of extra work - * tcpip stack in the OS * nic and driver * homebrew web server assuming the OS doesn't have the compatible APIs to support those open source ones
- junon 3y agoIf it has SPI support throw in a w3 line nic and use Rust with Smoltcp.
- nerpderp82 3y agoYou could implement a simple http over serial line and then front with nginx. No TCP necessary at all. Or throw an esp32 on it, and use its tcp stack.
- Someone 3y ago> and use Rust The page mentions gcc nor clang, so chances are high the “Full C compiler” is home-grown. If so, there probably is work to do to built a Rust compiler for it.
- jacquesm 3y agoWow, that's super impressive! Be sure to check out the photos and videos. How fast is it? Do you plan on using this for real or just as a hobby project?
- LispSporks22 3y agoLove it. Had fond memories of building big 7400 circuits in undergrad. Bullet speed detector iirc.
- cristeigabriel 3y agoSo lovely!
- louismerlin 3y agoVery cool project! That’s funny, I started working on a 16bit CPU for a stack computer a couple of months ago, and ended up naming it "sola". https://git.sr.ht/~louismerlin/sola https://git.sr.ht/~louismerlin/sola
- immmmmm 3y agoThere's a discrete risc-v cpu too! https://www.hackster.io/news/filip-szkandera-s-pineapple-one-is-a-risc-v-computer-built-entirely-from-discrete-logic-components-09ad4d7cbfdb https://www.hackster.io/news/filip-szkandera-s-pineapple-one...
- blackhaz 3y agoSir, this is incredible. Really enjoyed the photos/videos section and the way the computer is so neatly laid out. Mind-blowing amount of effort. I wish I would be able to see this live in a university.
- RagnarD 3y agoI'm curious if he's self-taught. I get that vibe from seeing his desk.
- nerpderp82 3y agoFrom this http://www.sol-1.org/images/sol/desk-2.jpg http://www.sol-1.org/images/sol/desk-2.jpg ? Looks like half the labs in the basement of the physics building. At some point, we are all self taught.
- cristeigabriel 3y agoDo you have something like exceptions and segments? Itd be cool if it didn't IMO (besides for permission situations, I guess)
- Luc 3y agoCongratulations. Amazing. What was your workflow for the design like? On your github I see you used verilog. I have never used it. Do you use software that converts the verilog to a list of 74HC ICs and how to connect them?
- pconst167 3y agoHey there! The verilog is separate from the 74HC design. The verilog was written simply for completion. I plan to put it into an FGPA sometime.
- Taniwha 3y agoTiny tapeout 6 is coming up you should knock one out https://tinytapeout.com/ https://tinytapeout.com/
- kleiba 3y agoQuick, someone port Doom to it!
- c-c-c-c-c 3y agoThis is fun, I stumbled upon his youtube channel recently after he trash talked a lecture by Jan M. Rabaey calling his book the biggest piece of garbage ever written. Impressive stuff nonetheless.
- pconst167 3y agoHehe you got me laughing :P Thank you for visiting friend.
- crispyambulance 3y ago> Sol-1 is a homebrew CPU and Minicomputer built from 74HC logic [with C compiler and Unix-like OS] ==> lifetime elite nerd union card for the author. Amazing stuff. The dedication needed to carry something like that through is unimaginable to me.
- cbm-vic-20 3y agoWow; this looks a lot like the smaller PDP-11 minis from the 1970s: a stack of wire-wrapped cards with edge connectors plugged into a backplane, a few ribbon cables for other connections. Except DEC had a big team of engineers to do this. This is good stuff!
- tails4e 3y agoExtremely impressive, well done.
- jmclnx 3y agovery nice!
- tw1984 3y agothis is cool stuff, I have the feeling that using FPGA to implement a more powerful CPU could get you more fun down the road. anyway, this is just hardcore engineering, hat off to the guy behind all these.
- shortrounddev2 3y agoI've worked on similar projects before and people always suggest FPGAs to me as a simpler option, but I feel it misses the point. Doing these kinds of projects is about getting closer to the metal, and not about raw power or simplicity
- allenrb 3y agoThis is spectacular. Aside from, you know, actually making it work and having a software stack on top of it, it’s also beautiful. The wire wrapping and the chassis/backplane complete with retaining clips, everything. As a kid, I would see magazine photos of S-100 systems and various minis. What’s been built here would fit right in. Wow!
- peter_d_sherman 3y agoWell done and amazing! You just earned yourself a GitHub follower! (me!) I would follow you on Twitter/X as well -- but you don't seem to have a Twitter/X account (which I would argue is yet more proof of your intelligence! :-) <g> :-) ) Anyway, great job! Amazing and well done!
- accrual 3y agoI adore this project. I hope one day to write my own micro OS, I started one using OSDev[0], but never finished it. Building your own OS on top of your own hardware is on another level though. Excellent and nicely documented project, Paulo! [0] https://wiki.osdev.org/Expanded_Main_Page https://wiki.osdev.org/Expanded_Main_Page
- danieg 3y agoThis is super cool, well done! Some fun historical context: the 74181 chip (part of the 74HC series) was one of the key technologies behind the Xerox Alto. It was the first complete ALU on a single chip using a medium-scale integration (MSI) design. This was what enabled the Alto to be much smaller than minicomputers like the PDP-8, which used small-scale integration (SSI) that spread the processor over many individual logic gate chips and circuit boards.
- jandrese 3y agoSometimes I feel bad for kids today who experience computers that are so powerful that they are many layers divorced from the hardware. Long gone are the days when there was only the thinnest layer of BASIC between you and the CPU when you boot the machine. But then something like this comes along and reminds me that there is no reason you can't just fire up a 16 bit machine with a paper thin OS if you wanted. Not everything has to be a smartphone or modern system. My hat is off to the author for going a step further and building a minicomputer from scratch.
- nxobject 3y agoGood 'ol interpreted, sequenced microcode :)