[HN Gopher] Show HN: Homebrew 16bit CPU from 74HC logic with C c...
___________________________________________________________________
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.
Author : pconst167
Score : 182 points
Date : 2023-12-08 01:32 UTC (21 hours ago)
(HTM) web link (www.sol-1.org)
(TXT) w3m dump (www.sol-1.org)
| quantified wrote:
| I love it. Looks fairly well-rounded.
|
| I didn't see in the written artifacts: what's the effective
| instructions per second?
| B1FF_PSUVM wrote:
| I checked
| 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 wrote:
| If 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
| dboreham wrote:
| They're normal sized boards fwiw.
| kjs3 wrote:
| Those are Multibus-1 prototyping boards, so they'd be
| 12"x6.75". It's a good size for building non-trivial
| things.
| jacquesm wrote:
| I 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 wrote:
| Wire length matching would seem to be a big factor in
| attaining the highest performance.
| userbinator wrote:
| Was this inspired by http://www.homebrewcpu.com/ ? Seems to be
| very similar in specs.
| Evidlo wrote:
| How about serving the website from the machine you built?
| samus wrote:
| Should 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 wrote:
| I agree it should be possible, but a Raspberry Pi Zero is a
| super computer.
| tw1984 wrote:
| that 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 wrote:
| If it has SPI support throw in a w3 line nic and use Rust
| with Smoltcp.
| nerpderp82 wrote:
| You 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 wrote:
| > 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 wrote:
| Wow, 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 wrote:
| Love it. Had fond memories of building big 7400 circuits in
| undergrad. Bullet speed detector iirc.
| cristeigabriel wrote:
| So lovely!
| louismerlin wrote:
| Very 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
| immmmmm wrote:
| There's a discrete risc-v cpu too!
| https://www.hackster.io/news/filip-szkandera-s-pineapple-one...
| blackhaz wrote:
| Sir, 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 wrote:
| I'm curious if he's self-taught. I get that vibe from seeing his
| desk.
| nerpderp82 wrote:
| From this 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 wrote:
| Do you have something like exceptions and segments? Itd be cool
| if it _didn 't_ IMO (besides for permission situations, I guess)
| Luc wrote:
| Congratulations. 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?
| Taniwha wrote:
| Tiny tapeout 6 is coming up you should knock one out
|
| https://tinytapeout.com/
| kleiba wrote:
| Quick, someone port Doom to it!
| c-c-c-c-c wrote:
| This 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.
| crispyambulance wrote:
| > 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 wrote:
| Wow; 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 wrote:
| Extremely impressive, well done.
| jmclnx wrote:
| very nice!
| tw1984 wrote:
| this 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 wrote:
| I'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 wrote:
| This 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 wrote:
| Well 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 wrote:
| I 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
| danieg wrote:
| This 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 wrote:
| Sometimes 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 wrote:
| Good 'ol interpreted, sequenced microcode :)
___________________________________________________________________
(page generated 2023-12-08 23:02 UTC)