Hacker News new | past | comments | ask | show | jobs | submit login
MyNOR – The yet minor computer. No CPU, no ALU, one NOR-gate is enough (mynor.org)
118 points by ColinWright on June 21, 2023 | hide | past | favorite | 29 comments



Back in time you could buy a 1-bit microprocessor:

https://en.m.wikipedia.org/wiki/Motorola_MC14500B


Makes sense as a simple on off controller. Surprise they don’t still make them


1 bit CPUs don't really make sense anymore because their gate count niche doesn't really exist anymore in discrete chips. The I/O pads around the perimeter of a chip haven't been able to shrink nearly as much as the logic within even on very mature process nodes in the hundreds of nanometers. Basically there's so much die area that for analog reasons can't be shrunk much taken up by simply getting on and off of the die that logic in the few thousand gate count range is basically free.

That's why you see 8 bit MCUs with a useful set of peripherals even in the ~$0.03/ea range where almost all the cost is in testing and packaging the dies.


Which is incredible! Just think about it: a fully functional processor for less than the price of your average candy.


I love it how the whole thing uses ICs but the actual NOR gate is discrete.


Do you mean because all of the 74H* series registers would have within them lots of different logic gates? I don't think this invalidates the premise -- ie. if you were using a CPU you'd still have registers.


There's more than just registers and flip flops there. The 74HC08 is a quad 2-input and gate, and the 74HC32 is a quad 2-input or gate. Arguably the demuxes (74HC138 and 74HC139) are simply combinatorial logic too.

But I'm of the opinion that the lack of an integrated logic ALU still makes it cute enough for discussion and praise, despite the anachronism of it's constituent components.


It's like a "tube amplifier" that has a single pair of tubes at the output, with all the rest being done in ICs.


Direct link to the MyNOR, http://www.mynor.org/mynor.htm


While not the subject of the article, his My4TH reminds me:

Back in "the day", there was a replacement ROM for the ZX81/TS1000 that turned it into a FORTH machine. Was a cheap way to learn FORTH when the host machines were deep discounted near the end of their run.


It also reminds me of a similar option, the Jupiter Ace [1] which ran FORTH natively. The co-founders worked on the speccy and certainly borrowed some design aspects from the ZX81 (had a better keyboard though - ha!)

The manual was great for its time, a little dated now but still a decent read [2]. It was reprinted in 2018 and still available [3].

[1] https://en.wikipedia.org/wiki/Jupiter_Ace

[2] https://archive.org/details/vickers_steven_jupiter_ace_4000_...

[3] https://www.amazon.com/Jupiter-ACE-Manual-Anniversary-Progra...


And you can buy a modern reimplementation: https://www.thefuturewas8bit.com/shop/tynemouth-products/min...


Hmm this makes me wonder what are the pros/cons of Forth on the Z80 versus the 6502?


Good question! I have a ton of time on both of those CPUs and have written my own FORTH for both of them (as well as the 6809, 68K and another one in C just for the heck of it). The 6502 has an easier instruction set to work with but I don't think that makes all that much difference for the implementation of FORTH, it is so incredibly small that you're out of the scaffolding after the first few hours and it's all FORTH after that point.

The register sets are roughly comparable.

The hard part is dealing with interrupts (which FORTH does not have any particular method of handling), if you want to do high level (so in FORTH) interrupt service routines you're going to deal with the CPU state in a tiny bit of assembly and then run the threaded interpreter loop until you're ready to exit the ISR. IIRC this was much harder to do cleanly on the Z80 than it was on the 6502 (or maybe I just knew the 6502 better).

FORTH's tiny language core means you are abstracting out the CPU quirks very early on to the point that it is almost irrelevant which CPU it runs on. The lack of a clear dividing line between 'system' and 'user/application' programming makes it ideal for control tasks but it is hard to remain disciplined as the line count goes up.


One nice implementation of a Forth on the 6502 is Tali Forth. The documentation is wonderful too. And it's easy to extend. One thing to keep in mind when adding any assembly code of your own is that it uses part of the zero page and the X register to implement the data stack and pointer, so the X register always needs to be saved.

https://github.com/SamCoVT/TaliForth2


Just call Jeff Dean. https://i.imgur.com/0t9HJ.jpg


Memory is always the main issue for the computers like this. Unless you go with something like delay lines or Williams tubes, your total gate count will be dominated by memory.


Thank goodness it's not something that's for sale, cause that would have been another thing for my random tech pile.


He has the gerber files (and list of parts) though. I tried the gerber zip file at PCBWay and it's $51.33 for 5 boards ($63.12 for 10) with shipping to the US. It would be a lot less if it wasn't bigger than 100x100mm. Buying all the right parts would be a lot of work if you don't usually do it though.


Whyyyyy... Why couldn't you let me live in blissful ignorance?


Furthermore, they sell a kit will all the parts =) https://www.budgetronics.eu/en/building-kits/mynor-single-bo...


Whoa, so, has anyone written a compiler to compile a high-level language to this architecture target?


Yeah, and can it run Doom?


For a brief moment, and only if it previously didn't.


GP is clearly a sadist, I feel for you. And I'll be happy to supply some of the missing parts if you can't find them ;)


but it is


I realize most folks here are probably familiar with this, but for those who aren't:

The reason this is possible with just a nor gate (or alternatively just a nand gate) and won't work or/and (without mot), is because of functional completeness.

https://en.m.wikipedia.org/wiki/Functional_completeness

Edit: phrasing, typos


If MyNOR didn't have a NOR gate, could you construct one from the other chips on the board?


Love the "Homebuilt CPUs WebRing" at the bottom of the page.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: