Megaprocessor - bloke makes 16 bit computer from 14,000 discrete transistors - Page 1
Forum section: electronics / general

author: Howardlong
author_rank: Super Contributor
timestamp: June 24, 2015, 08:58:22 pm
content: Apologies if this has already been covered, it made El Reg a day or so ago.In summary, an FPGA engineer is making a complete 16 bit computer from 14,000 discrete transistors. Quite a project.http://megaprocessor.com/index.htmlhttp://www.theregister.co.uk/2015/06/23/brit_mega_processor/

author: Mechanical Menace
author_rank: Super Contributor
timestamp: June 25, 2015, 12:57:44 am
content: 14,000 discrete transistors and counting...I've started similar but admittedly much, much less ambitious projects myself and always get to the point where I think "Well we know how to build gates using transistors what's the point in not using logic IC's? And now we can make a carry lookahead adder, get that to subtract etc why not use an MPU..."Thanks for sharing this, I'll definitely follow any progress.

author: John Coloccia
author_rank: Super Contributor
timestamp: June 25, 2015, 01:29:19 am
content: I'll be impressed when he can do it with nothing but batteries, like that other guy that was posting here a couple of weeks ago.(edit: dear oh dear...I tried to find what happened to the battery idea, and he appears to have had a meltdown)Seriously, it's a very cool project, made all the cooler by how utterly impractical and more or less worthless it is! The ultimate doing just for the sake of doing.I hope he finishes it and it gets displayed and used somewhere to do some other utterly impractical and worthless thing...like, maybe program it to run a gigantic and complicated Useless Box, and stick it in science museum for everyone to marvel at.

author: GK
author_rank: Super Contributor
timestamp: June 25, 2015, 04:04:07 am
content: I have to get my EDUC16 website started.

author: JoeN
author_rank: Frequent Contributor
timestamp: June 25, 2015, 04:28:25 am
content: Quote from: MegaprocessorOCDGuy on June 24, 2015, 08:58:22 pmIf he believed this, he should make it out of relays, that would show the world how it really works. This guy already did it, though, and obviously many tens of thousands of transistorized computers were built before the IC came to market.http://www.nablaman.com/relay/

author: edavid
author_rank: Super Contributor
timestamp: June 25, 2015, 05:37:14 am
content: Did he post schematics anywhere?I was surprised that he took the approach of building simple gate modules, because if you are doing that, why not just use IC gates? The fun of transistor level logic design is inventing crazy minimized functions.Also, he made the computer architecture way more complicated than necessary (e.g. autoincrement).

author: EEVblog
author_rank: Unknown
timestamp: June 25, 2015, 06:43:10 am
content: Quote from: Mechanical Menace on June 25, 2015, 12:57:44 amThat's the slippery slope isn't it.Personally I'd prefer to do it with 7400 logic, just because.

author: codeboy2k
author_rank: Super Contributor
timestamp: June 25, 2015, 08:40:53 am
content: I haven't read his whole website yet to determine his reasons for his choices.. but first off, if his goal is to "get inside and see what's going on" then he doesn't need to go lower than 7400 logic. That's good enough.But second, since he decided to use discrete parts to build gates on PCB's, I can't believe he's using through-hole parts, like TO-92's and leaded resistors. Unless he got a shitload of them for free, it's way cheaper these days to use smd parts (in both board size and component costs)It would also make his 2 room beast likely fit on just 1 wall of a single room.(PS: I won't buy any argument that through-hole is "old-school". If that's the reason for through-hole parts, then he should be making a tube computer. That's older-school and through-hole too)

author: GK
author_rank: Super Contributor
timestamp: June 25, 2015, 09:45:29 am
content: 74XX has crap noise immunity and only a numpty would consider building with them a large scale demonstration processor (as per the construction under discussion) down to the gate (NAND/NOR/NOT) level where individual stages may be connected via several feet of wire.

author: McBryce
author_rank: Super Contributor
timestamp: June 25, 2015, 09:52:57 am
content: Quote from: EEVblog on June 25, 2015, 06:43:10 amBecause... You like pulling as many amps as possible?How about 4000 Series CMOS?McBryce.

author: tautech
author_rank: Super Contributor
timestamp: June 25, 2015, 09:55:21 am
content: Quote from: GK on June 25, 2015, 04:04:07 amPlease link here when you do.

author: Mechanical Menace
author_rank: Super Contributor
timestamp: June 25, 2015, 10:44:19 am
content: Quote from: wilfred on June 25, 2015, 04:41:17 amThe original motivation was purely educational, for myself and whoever was interested. Writing games for old basic systems got me interested in computers and then electronics, taking what I've learned and starting from the bottom up should (and has) taught me more, or at least given me a different perspective on the problem.Hopefully the answer of if I'm up to the challenge won't be no, but I get sidetracked easily and over obsess over details like diode or transistor matrix for the ROM?, lol.QuoteAnd on that one I think you must be thinking of someone else. But pretty soon I should have a couple of months with nothing to do so I should get at least one DIY computer project into good enough shape to share. Should...

author: John Coloccia
author_rank: Super Contributor
timestamp: June 25, 2015, 11:26:52 am
content: I think some of you guys are completely missing the point. If he wanted to simply build a computer, he would just simply build a computer. The goal is to build it out of discrete components. There's no point using SMD to reduce the size. Have you seen his board layout? Does it look like he's trying to reduce the size? He's doing it like this for the hell of it, because he can. Frankly, it's the only thing that makes this project super cool. If he started simplifying it in any way, the end result would be a very lame, worthless hunk of junk. Doing it the way he's doing it turns it into the electronic equivalent of a kinematic sculpture.

author: nctnico
author_rank: Super Contributor
timestamp: June 25, 2015, 12:38:25 pm
content: Quote from: EEVblog on June 25, 2015, 06:43:10 amWhy not ECL logicDuring an internship I got a (last) glimps of mainframes build from discrete TTL and ECL logic. Huge 5V power supplies and lots of fans. On some board they did use programmable logic (PLD) though where other boards had Z80s to offload tasks like dealing with serial ports. I vividly recall having to repair a SCSI controller with 50 (or so) programmable logic chips on it. They told me the problem with that particular board was that one of the PLDs would fail but they didn't know which one. The only solution was to pull each PLD from it's socket and compare using a PROM programmer. Fortunately for me it was the 20th or so chip that turned out to be bad...

author: amyk
author_rank: Super Contributor
timestamp: June 25, 2015, 12:57:29 pm
content: Quote from: edavid on June 25, 2015, 05:37:14 amAgreed. What logic family is he using? From the pictures it looks like BJTs and NRTLto me, but his AND-2 and OR-2 both use 5 transistors, which doesn't remind me of anything, although the fact that he gets inverters "for free" sounds like (P)ECL?QuoteActually, it seems more limited than a Z80, which has fewer transistors but more instructions and registers.If I were doing this (and I have considered it...) I'd definitely use SMD, not really for the density but for the ease of assembly - just paste/place all the parts and cook them in the reflow oven.

author: edavid
author_rank: Super Contributor
timestamp: June 25, 2015, 03:11:33 pm
content: Quote from: amyk on June 25, 2015, 12:57:29 pmI think maybe NMOS, since I don't see base resistors. Funny that he doesn't say anything about his actual circuits.Oh, and he should work on speeding up his slow paths

author: zapta
author_rank: Super Contributor
timestamp: June 25, 2015, 03:38:57 pm
content: Quote from: McBryce on June 25, 2015, 09:52:57 amThe red LEDs on each signal suggest that low power and high speed are not design goals.

author: Kostas
author_rank: Regular Contributor
timestamp: June 25, 2015, 04:58:20 pm
content: Quote from: edavid on June 25, 2015, 03:11:33 pmIf you look carefully at the photograph of thefrontpage, you will notice that the transistors are Fairchild's 2N7000 N-channel mosfets, so it is highly likely that he made a NMOS implementation. The extra mosfets at the gate circuits are for the leds (one for each led), not for the gate itself, something that he mentions somewhere in there.

author: edavid
author_rank: Super Contributor
timestamp: June 25, 2015, 05:04:02 pm
content: Quote from: Kostas on June 25, 2015, 04:58:20 pmThanks. Of course that raises the question of why he needs separate LED drivers... he could just use negative logic, and drive the LED cathodes from his regular gate outputs.

author: Howardlong
author_rank: Super Contributor
timestamp: June 25, 2015, 10:20:07 pm
content: It'd be great to see the schematic of the gates he's using, I haven't quite figured out why the speed is so slow, although looking at the edges on a scope trace I saw I may be mistaken but it looks like an open collector/drain pullup rather than totem pole style may be implemented. I stand to be corrected of course.Irrepective, while we're all here just talking about it and having our 2c, this guy's actually _doing_ it. For that I believe he should be commended and encouraged. There is a huge difference between the likes of you and I suggesting it should be done like this or like that, he's drawn his line in the sand and is getting on with it. Equally, I was rather taken aback by the El Reg response, it's universally positive which was encouraging.Edit: typo due to operator error on tablet touch keyboard.

author: GK
author_rank: Super Contributor
timestamp: June 26, 2015, 01:21:24 pm
content: Quote from: tautech on June 25, 2015, 09:55:21 amNo

author: amyk
author_rank: Super Contributor
timestamp: June 26, 2015, 01:35:57 pm
content: Quote from: Kostas on June 25, 2015, 04:58:20 pmYou have extremely good eyes!Those are far more sensitive to ESD than BJTs, so I hope he has taken some very good ESD precautions when working on the system. Very long runs of wire, and with no protection diodes either... and on hisprogress pageyou do see mentions of dead transistors.

author: JoeN
author_rank: Frequent Contributor
timestamp: June 27, 2015, 08:06:57 am
content: Quote from: John Coloccia on June 25, 2015, 11:26:52 amThe thing that should be pointed out is that this is hardly new. It was the standard way of achieving digital computers from the mid 1950s through the mid 1960s before ICs became available. I'm sure examples still exist.https://en.wikipedia.org/wiki/List_of_transistorized_computers

author: tggzzz
author_rank: Super Contributor
timestamp: June 27, 2015, 09:09:43 am
content: Quote from: amyk on June 26, 2015, 01:35:57 pmSounds like he is trying to replicate the operational characteristics of valve computers.

author: tggzzz
author_rank: Super Contributor
timestamp: June 27, 2015, 09:21:09 am
content: Quote from: edavid on June 25, 2015, 05:37:14 amJust so.The first computer I used was an Elliott 803, one of which is now in the National Museum of Computing at Bletchley Park. Since transistors were expensive, each gate used only ony one germanium transistor.http://theadamsons.co.uk/elliott803.htm

author: Howardlong
author_rank: Super Contributor
timestamp: June 27, 2015, 09:23:10 am
content: Quote from: wilfred on June 27, 2015, 08:26:19 amAgreed. Back in the 70s I was programming an Elliott 803 based on germanium OC series transistors. Cycle time was 576us (half that for a jump), so about 1/10th the speed of Megaprocessor, although the 803 was 39 bit and had floating point, including a square root function. The main reason the 803 was so slow was that it was a serial architecture which substatially reduced the transistor count and therefore cost.In many places in the 803, "Minilog" devices were used which were potted boards containing a few OC series transistors to perform single gate functions, perhaps these could be considered a form of hybrid or precursor to ICs.There is a functioning and regularly demonstrated Elliott 803 at the National Museum of Computing at Bletchley Park.

author: Howardlong
author_rank: Super Contributor
timestamp: June 27, 2015, 09:29:03 am
content: Quote from: tggzzz on June 27, 2015, 09:21:09 amThanks for that link, I hadn't seen that page before.For some trivia, the curator of the Elliott 803 at TNMOC is the same guy who discovered the photosensitive RPi feature. We both started our computer careers on the same 803.

author: TerraHertz
author_rank: Super Contributor
timestamp: June 27, 2015, 01:54:59 pm
content: Quote from: tggzzz on June 27, 2015, 09:09:43 amSuch as extremely slow speed, and pathetic reliability?He'll certainly achieve the second, since I see he's using lots and lots and lots of IDC ribbon cable connectors.Can MTBF be a negative number? He's going to find out.I think it's a Quixotic Quest. Aka utterly insane.If he really wanted the computing process to be visible while taking up an entire room, what's wrong with good old clockwork?It was good enough for Babbage.Also he should power it with steam. It would get a lot more interest.'Visible processor' projects likehttp://www.visual6502.org/make a lot more sense.

author: Mechanical Menace
author_rank: Super Contributor
timestamp: June 27, 2015, 02:28:56 pm
content: Quote from: TerraHertz on June 27, 2015, 01:54:59 pmIt's much less intuitive, especially as a teaching tool, even if the possibility of easily working in base 10 would make you think otherwise. It's easier to get your head around switches than weird cams and gears.

author: TerraHertz
author_rank: Super Contributor
timestamp: June 27, 2015, 02:53:53 pm
content: Quote from: Mechanical Menace on June 27, 2015, 02:28:56 pmIn that part I was joking. Wasn't the mention of Babbage and steam power enough?

author: Mechanical Menace
author_rank: Super Contributor
timestamp: June 27, 2015, 03:12:52 pm
content: Quote from: TerraHertz on June 27, 2015, 02:53:53 pmAh right, sorry. I've a long lived obsession with mechanical TVs, calculators, computers, and anything a bit Heath Robinson/Rube Goldbergish so missed the implied inflection lol.

author: tggzzz
author_rank: Super Contributor
timestamp: June 27, 2015, 04:16:16 pm
content: Quote from: Howardlong on June 27, 2015, 09:29:03 amHa! Small world.I still have the sound of a 803 soundinglike a broody hen. It was "fetching Algol" i.e. reading in the compiler from magnetic film. Yes, youngsters, I mean film not tape: it was 35mm wide with sprocket holes. It is, of course, entirely incidental that the 803 was developed down the road from the movie film production industry.And its playing music is as bad as you might expect.

author: tggzzz
author_rank: Super Contributor
timestamp: June 27, 2015, 04:19:30 pm
content: Quote from: Howardlong on June 27, 2015, 09:23:10 amI didn't know about the floating point nor square root. The latter doesn't surprise me, the former does.I hear one hero at Hatfield Polytechnic modified an 803 so that it could be used as a timesharing system, with as many as 3 terminals.

author: Howardlong
author_rank: Super Contributor
timestamp: June 27, 2015, 05:10:16 pm
content: The floating point unit was an option.Although we had two mag tape units a la Joe 90, we rarely used them. Instead it was paper tape, loading Algol in off two tapes I think. At some point the compiler emitted a two tone siren informing you to do something, I can't remember whether that was to load your program tape in or that it was about to generte results, or that it had compiled your program.But the loudspeaker was genius because you could tell audibly at what stage proceedings were without having to repeatedly look at any displays. As I remember it it was driven from the top bit of the instruction. Because it ran so slowly the tone was audible, although in those days it was still a marvel and didn't seem slow at all, far from it in fact.It's been a very long time since those days, 40 or so years since I first wrote my first Algol program.

author: tggzzz
author_rank: Super Contributor
timestamp: June 27, 2015, 05:30:40 pm
content: Quote from: Howardlong on June 27, 2015, 05:10:16 pmThat "blipping" was useful with much faster processors, since it was effectively a simple form of PWM. Carefully positioned AM radios were also used! With faster processors the main use was detecting infinite loops.I remember the light-bulb-of-understanding when I realised exactly what the Algol compiler was doing; I was only 15/16yo at the time. Nothowit was doing it - I still don't care mumble decades later.I'm still rather proud that I unwittingly reinvented FSMs when writing my first assembly program. It was an FSM than converted 5-channel baudot code (the teleprinters at my school) into Elliott code.I met Tony Hoare ~20 years ago and thanked him for his compiler. He looked surprised that anyone would remember using it!

author: retrolefty
author_rank: Super Contributor
timestamp: June 27, 2015, 05:58:01 pm
content: Quote from: EEVblog on June 25, 2015, 06:43:10 amI too, if attempted, would use 74xx00 series ICs. There was a thriving and competitive mini-computer industry in the 70-80s designed with such and many manuals are available to observe the variation between designs and features. Lots of examples to look over before diving in in a DIY version. Main warning is that one needs rather large amperage 5 vdc power supply.

author: EEMarc
author_rank: Regular Contributor
timestamp: June 29, 2015, 05:53:22 am
content: Is that RTL? It has been a long time since I've seen that used.

author: N2IXK
author_rank: Frequent Contributor
timestamp: June 29, 2015, 10:01:46 pm
content: I've got a PSU I pulled out of a junked TTL mainframe at a scrapyard years ago. Output is 5V @ 200A.Connections via 3/8"-16 threaded studs.Anyone interested in valve computing should check out the EDSAC recreation project at TNMOC:http://www.tnmoc.org/special-projects/edsacYou could always take a tour of the Vacuum Tube Supercomputing Center (VTSC):http://www.ominous-valve.com/vtsc.html

author: matseng
author_rank: Frequent Contributor
timestamp: January 10, 2016, 09:35:21 am
content: I stumbled onto the Megaprocessor website again and saw that he'd made some progress. Among others realising that using 2n7000 with 10k pullups is *really* slow and a finishing off his 256 bytes of memory frame. It make a great LED matrix display :-)http://megaprocessor.com/progress.htmlI wish I could meet this guy and see the machine in person.....

author: kripton2035
author_rank: Super Contributor
timestamp: January 10, 2016, 09:44:04 am
content: some people are just crazy ...I don't imagine how much this costs to the guy, but the good fact is that he comes to the end of his project !also note that he uses a "real" computer to make his project work !

author: German_EE
author_rank: Super Contributor
timestamp: January 10, 2016, 11:26:06 am
content: Yes, very good, every computer should fill a room and have lots of blinkenlights. That way you young folk will appreciate how $&£%")$@ amazing these devices are the next time you log on to Facebook or Twitter.

author: JoeN
author_rank: Frequent Contributor
timestamp: January 10, 2016, 08:22:11 pm
content: Quote from: matseng on January 10, 2016, 09:35:21 amI haven't looked into this in detail, but why would you do this? I thought the general design of logic circuits with FETs is push-pull and you don't use resistors at all. In other words, like this:I have an interest in transistorized discrete circuits too. I just sent this out to fab. It should be a discretely implemented 7408 in CMOS with the same pinout, drop-in replacement subject to space limitations and obviously with different timing constraints. We will see how well it performs. 4 gates * 6 transistors per gate = 24 transistors.

author: edavid
author_rank: Super Contributor
timestamp: January 10, 2016, 08:53:26 pm
content: Quote from: JoeN on January 10, 2016, 08:22:11 pmBecause it uses half as many transistors, or maybe because you don't know any better.QuoteThat is the difference between CMOS logic and NMOS (or PMOS) logic. For whatever reason, he is using NMOS logic.QuoteI wonder what the shoot-through current will be. What transistors did you use?

author: JoeN
author_rank: Frequent Contributor
timestamp: January 10, 2016, 08:56:05 pm
content: Quote from: edavid on January 10, 2016, 08:53:26 pmWell, none yet, waiting on the board, and I can always change them as long as the pinout is the same and the package is SOT-23. The plan is 2N7002LT1G (ON) and BSS84 (NXP) because I have them.

author: calexanian
author_rank: Super Contributor
timestamp: January 10, 2016, 10:35:52 pm
content: Bill Buzbee made a TTL machine. For those of you who have never seen the videos here they are.Short form Maker Faire interviewHere is the long form explanation.

author: JoeN
author_rank: Frequent Contributor
timestamp: January 10, 2016, 11:33:07 pm
content: I've TELNETed into that machine before. It's very interesting. I even bought the ALU ICs that he speced on eBay (74F381/2) for aspirational reasons. I might want to do the same someday.It's up right now. (password is 'magic')Code:telnet magic-1.orgMinix Release 2 Version 0.4Magic-1 login: guestPassword:* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - ** ** Bill Buzbee's Magic-1 HomebrewCPU TTL Minicomputer ** ** Running 16-bit Minix 2.0.4 at a blazing 4.09 Mhz...... ** ** - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *A verbal contract isn't worth the paper it's written on.- S. GoldwynMagic-1:/usr/home/guest # lsCode TinyBasic hello_from_alg hello_from_per test.cHELLO_FROM_POL caveno1 hello_from_ama hello_from_sa test.sHpyNwYr.2016 ex.c hello_from_bar hello_from_sbn test1.cOldMessages ex.s hello_from_che hello_from_yg test1.sOldMessages1 fibo.bas hello_from_chi hi_billOldMessages2 hello from swi hello_from_dre questionOldMessages3 hello_from_AMS hello_from_mar rogue.esaveREADME hello_from_ANU hello_from_mpd testMagic-1:/usr/home/guest # cat READMEHi - and welcome to Magic-1/Minix. The system is starting to get fairlystable, though there are still a few things I'd like to do to make itfeel more responsive (in particular, implement "copy on write" to makefork()/exec() go faster). The Minix TCP/IP stack is a bit slow - so telnetperformance suffers (response is much better on a dedicated terminal here).I recently moved the games to /usr/local/games - take a look. Also,see some of the many ported applications in /bin, /usr/bin and /usr/local/bin.Some of the more popular are: life, adv, yahtzee, pom. I've also got theold spreadsheet sc, elvis (a vi clone), Tom Pittman's Tiny Basic, and thesmall C compiler.Feel free to poke around, but I'd appreciate it if you wouldn't try tobreak what little security I've set up. I'd like to keep this system asopen as possible.Thanks for dropping by,...Bill BuzbeeMagic-1:/usr/home/guest #

author: free_electron
author_rank: Super Contributor
timestamp: January 10, 2016, 11:54:29 pm
content: real men start with a bag of sand ...

author: JoeN
author_rank: Frequent Contributor
timestamp: January 11, 2016, 12:48:18 am
content: Quote from: free_electron on January 10, 2016, 11:54:29 pmIf you can't start with protium, you have no game.

author: Brumby
author_rank: Unknown
timestamp: January 11, 2016, 01:16:17 am
content: Someone here just mentioned getting serious with a quark...... but I can't see how that would work

author: calexanian
author_rank: Super Contributor
timestamp: January 11, 2016, 01:53:40 am
content: Tangent.... Quark, Garak, and Odo. 3 of the best written characters in all of television. They never get their due.

author: jwm_
author_rank: Frequent Contributor
timestamp: January 11, 2016, 04:16:35 am
content: Amazing project, I love how he is silkscreening the logic gates onto the boards along with LEDs. I can see just sitting in that thing watching it go, tracing signals as it computes. Would be a fantastic addition to any science and technology museum.Not sure why people thought clockwork was a joke, A project I have been working on in my spare time for a while is a clockwork compiler, that takes source code and compiles it to 3d models of clockwork (more rod logic than gears at moment, but fully mechanical). I'll write it up at some point, 3d printers are getting to the point I will be able to 'compile' something for real pretty soon.

author: AlxDroidDev
author_rank: Frequent Contributor
timestamp: January 12, 2016, 01:19:59 pm
content: Quote from: matseng on January 10, 2016, 09:35:21 amAm I the only one here that thought about the WOPR when I saw that pic?

author: DJohn
author_rank: Regular Contributor
timestamp: July 01, 2016, 12:56:36 pm
content: It's finished, and it works. He's made a video giving a tour, and playing Tetris:There's a lot more on the site since I last looked at it, too. Most of the questions people have asked here are answered there somewhere.He's got a list of videos (which I haven't had a chance to watch yet) going through the technology athttp://www.megaprocessor.com/stepping-stones.html, which look like they have the potential to be an excellent educational companion to the machine itself.Quote