Speed of light is really starting to matter. That's about a nanosecond just for signal to propogate, and that's assuming a straight wire with no intermediate components.
The speed of light often seems so fast as to be infinite, or at least hard to comprehend, in daily life. I was surprised the first time I calculated the minimum possible round trip time from New York to San Francisco, as the crow flies: it's just under 28ms not counting any overhead whatsoever from switching, electronics, etc. It amazes me that an actual network ping is only about double that, considering all the overhead of switching, and that light doesn't travel at full speed in fiber optic cables.
I worked on an algorithmic trade platform for an options broker/market maker. We bought rack space next to the ISE exchange's racks, which comes at a premium over rack space ACROSS THE ROOM.
It's a problem in mobile comms too. There's a concept called timing advance: in order for TDMA frames to arrive in the correct time slot and not crap all over the neighbouring frames from other users, they have to be sent earlier by the handset, depending on the distance from the base station.
(At least it's not GPS where the orbit speed plus lack of gravity means you have to factor relativity into the mix too!)
One of the best demos I remember from university, was on the first day of a digital logic class. The professor passed out a bunch of short pieces of yarn, then proceeded to explain that they were the length of a clock cycle in a typical CPU.
I think that by most definitions it is a work of art. It is not practically useful, it is beautiful to look at (at least, to me it is), it is unique (for now) and it took a labor of love to be brought into this world.
I can't get enough of that project, it's brilliant in picking the one target that is still feasible and yet so complex that it illustrates the magic that makes an integrated circuit useful: the only reason you are using a CPU is because it is integrated. A non-integrated CPU would be prohibitively expensive and terribly slow, even with today's surface mounted devices.
Wow, as that Wikipedia article explains, the 8008 was effectively developed through a prototyping process involving 100 TTL chips. Also, it sounds like CTC (Computer Terminal Corporation) invented the circuit and later gave Intel full rights to turn it into a chip and improve upon it. Intel was simply a contractor who knew when to do some work for free in exchange for IP rights. Did Intel have any idea how successful their strategy would turn out? Amazing!
Prototyping using TTL chips to validate the logic design was still common throughout the 1970s. 100 TTL chips is pretty small.
The Motorola 68000 team published several papers that are still available through IEEE that describe the design process. They built a prototype from TTL chips which allowed them to rapidly iterate the microcode, nanocode, and programmed logic arrays without having to wait for samples to come back from manufacturing.
Which is not practical for board size, so it most likely would have been some kind of backplane with plug-in boards for the various main sections of the CPU.
I wish they had a variable speed, even down to manual clock cycles. Once they add the new LEDs on the next revision, it would be a wonderful learning tool to watch the state changes.
I wonder if it could be done in a similar way but run full speed? From the FAQ:
> Does it run at the full speed of an original 6502 chip?
>
> No. The MOnSter 6502 is relatively slow compared to the original, thanks to the much larger capacitance of the design. The maximum reliable clock rate is around 60 kHz. The primary limit to the clock speed is the gate capacitance of the MOSFETs that we are using, which is much larger than the capacitance of the MOSFETs on an original 6502 die.
I think I'm imagining most of an entire motherboard of something similar to the C64 or Apple ][ implemented this way, wall mounted along with a display and controls, with a classic software library.
I saw this on display at the NYC maker and also asked about what it would take to run full speed. He said the gate capacitances of discrete MOSFETs are 100's of times greater than the tiny ones in a chip. This would require traces that could handle dozens of amps and a power supply for the whole board that could provide over 100 amps. So not really feasible - but then again, neither is building a circuit board to duplicate a chip
The N-type enhancement mode MOSFETs it uses require a positive gate-to-source voltage to turn on, and are turned off by pulling the gate-to-source voltage down to 0v. The gate itself forms a capacitor which must be charged to allow the gate-to-source voltage to increase and the MOSFET to turn on. Running a higher voltage than the standard 5v (SOT-23 small signal MOSFETs often can handle 20vgs, depending on the specific part) would allow the gate capacitance to charge much faster and the MOSFETs to turn on much faster. However, the clock speed will still be limited by how quickly that gate charge can drain to 0v in order to turn the MOSFET off.
It could be done if you switched from MOSFET to BJT. That's how they built discrete processors back in the day. At least low double digit MHz clocks would be doable as long as you pay attention to trace lengths, capacitance, power consumption/heat, etc (in other words, all the same design considerations they had when BJTs were state of the art)
That said, I think the objective was to duplicate the processor rather than the systems it ran in so their existing MOSFET design is true to that.
This is one of the key things that integrated circuits bought you, when moving from discrete to integrated circuits you could switch the transistors faster because they needed either less current (TTL) or less charge (NMOS/CMOS) to switch. Or conversely, the same charge could switch them faster.
So if you look at the highest performance discrete computers of their time, things like the CRAY the CDC machines, etc. You'll see that they consumed larger and larger currents to achieve the switching rates they needed to achieve and increasingly exotic cooling systems (with the Cray's flourinert systems being pretty damn awesome).
I find it fascinating to walk from the ENIAC to the 704 to the B5500s, and PDP-8's and 11's, to microprocessors to systems on chips. Each step in integration let you make things smaller and run them faster. It wasn't until Moore's law broke down in 2004[1] and the world became multi-core that this really stopped happening.
>> The Apple A8X, found in the iPad Air 2, contains about 3 billion transistors. (This is comparable to the number of transistors in modern desktop computer CPUs as well.) At the scale of the MOnSter 6502, that would take about 885,000 square feet (over 20 acres or 8 hectares) — an area about 940 ft (286 m) square.
For comparison, a large footprint 35 floor high rise office tower might have 550,000 sq ft of total space, including central hallways/elevator lobby areas.
And the latest generation of high end mobile phone system-on-chip is up in the 6-7 billion transistor range, so we can double that size again from 20 to 40 acres for whatever apple are in the middle of announcing for a new phone right about now...
At that scale, I imagine the speed of electricity is a significant issue limiting clock speed.
It would take light about 956 nanoseconds to travel the 940 feet across that theoretical CPU. Assuming that was the limiting factor in your clock speed, that would cap it at 1.05 Mhz.
Obviously, it's going to be far more complex than that, but I'd be really surprised if they could get the clock any faster than that.
You would be murdered by the capacitance of the discrete components before even seeing MHz on the horizon. (The author cites gate capacitance here as limiting _this_ "small" CPU to 60 KHz)
I wonder how much would it cost to make them in a factory. How long does it take a robot to place 5K components on a board and send it through the oven?
Cost of placing a component like the FETs here, would be roughly $0.04, plus say $0.01 for the part. The PCB would be something like $50, maybe a bit more to get the nice looking ENIG finish. There would be a bit of extra money required for the power supply, connectors, handling, solder stencil, etc.
seeedstudio.com does online quotes, but you'll need design files.
> The MOnSter 6502 is relatively slow compared to the original, thanks to the much larger capacitance of the design.
Though that is all true and good, decent speeds are possible with discrete designs. A decade before the 6502, discrete component mainframes hit clock speed like 35 Mhz.
Those used BJT's; that's the main difference. Low impedance inputs exhibiting low parasitic capacitance.
I wish projects like this caught on and became an art trend, as in digital artists would create pieces like this and put them for sale. I love the idea of smart "paintings" that illustrate the technical detail and inner workings of a CPU, running a simple program, source code of which is printed out and put inside the frame. Perfect addition to a geek nest, as I detest the name "man cave".
(I'm joking of course… this is impressive. Apparently they had to use the chips because discrete 4-terminal NMOS transistors are no longer manufactured!)
Looks like a modern replica of a KIM-1 or another early single-board trainer. Something like that would be useful for testing, since the replica CPU won't work if you just drop it into an Apple II or other 8-bit consumer PC.
I read the answer but didn't understand the answer given. Can someone elaborate on this? Wasn't the original 6502 an "integrated" chip? When I think about a "discrete" CPU I think of something like an older main frame where the different functional units of the CPU might be spread over a few different circuit boards with busses connecting those boards. Is my understanding of a "discrete" CPU incorrect?
The context here revolves around the definition of the word "discrete" and the fact that they are using "discrete" in terms of "transistors" as in "discrete transistors".
When used in that manner, "discrete transistors" generally means that each individual transistor is on/in one single package. The item pictured here: https://www.sparkfun.com/products/retired/12852 is a "discrete transistor" (the plastic package contains one single transistor, the three leads connect directly to the collector, emitter, and base).
Now, in the case of this design, they explain that they are unable to purchase actual discrete transistor packages because no one makes the appropriate MOSFET transistors as single transistor to a package items anymore. So they had to use four transistor packages instead of single transistor packages. So under a strict definition of "discrete" they did not use "discrete transistors". They then provide their rationale for why one could view this as still discrete in a less strict usage. It is then up to you to decide if you accept their rationale.
I remember reading about someone making a working version of some very small ARM core in conductive ink on a T-shirt. However, i can't find any description of this on the web. Did i dream this?
81 comments
[ 2.8 ms ] story [ 144 ms ] threadSpeed of light is really starting to matter. That's about a nanosecond just for signal to propogate, and that's assuming a straight wire with no intermediate components.
Approximately 0m/s over any practical distance. :)
There were some pretty serious limitations on parallel buses and backplane designs back in the day. Hence everything went serial (USB, PCIe, etc).
[1]: https://arstechnica.com/information-technology/2016/11/priva...
(At least it's not GPS where the orbit speed plus lack of gravity means you have to factor relativity into the mix too!)
https://news.ycombinator.com/item?id=11703596
The Motorola 68000 team published several papers that are still available through IEEE that describe the design process. They built a prototype from TTL chips which allowed them to rapidly iterate the microcode, nanocode, and programmed logic arrays without having to wait for samples to come back from manufacturing.
I wonder if it could be done in a similar way but run full speed? From the FAQ:
> Does it run at the full speed of an original 6502 chip? > > No. The MOnSter 6502 is relatively slow compared to the original, thanks to the much larger capacitance of the design. The maximum reliable clock rate is around 60 kHz. The primary limit to the clock speed is the gate capacitance of the MOSFETs that we are using, which is much larger than the capacitance of the MOSFETs on an original 6502 die.
I think I'm imagining most of an entire motherboard of something similar to the C64 or Apple ][ implemented this way, wall mounted along with a display and controls, with a classic software library.
Much more expensive than regular PCBs, of course.
That said, I think the objective was to duplicate the processor rather than the systems it ran in so their existing MOSFET design is true to that.
So if you look at the highest performance discrete computers of their time, things like the CRAY the CDC machines, etc. You'll see that they consumed larger and larger currents to achieve the switching rates they needed to achieve and increasingly exotic cooling systems (with the Cray's flourinert systems being pretty damn awesome).
I find it fascinating to walk from the ENIAC to the 704 to the B5500s, and PDP-8's and 11's, to microprocessors to systems on chips. Each step in integration let you make things smaller and run them faster. It wasn't until Moore's law broke down in 2004[1] and the world became multi-core that this really stopped happening.
[1] https://ieeexplore.ieee.org/document/1430623/
>> How big would a modern CPU be at this scale?
>> The Apple A8X, found in the iPad Air 2, contains about 3 billion transistors. (This is comparable to the number of transistors in modern desktop computer CPUs as well.) At the scale of the MOnSter 6502, that would take about 885,000 square feet (over 20 acres or 8 hectares) — an area about 940 ft (286 m) square.
It would take light about 956 nanoseconds to travel the 940 feet across that theoretical CPU. Assuming that was the limiting factor in your clock speed, that would cap it at 1.05 Mhz.
Obviously, it's going to be far more complex than that, but I'd be really surprised if they could get the clock any faster than that.
I love the LEDs illustrating what is going on internally.
seeedstudio.com does online quotes, but you'll need design files.
I'd totally pay $300~400 for one.
Though that is all true and good, decent speeds are possible with discrete designs. A decade before the 6502, discrete component mainframes hit clock speed like 35 Mhz.
Those used BJT's; that's the main difference. Low impedance inputs exhibiting low parasitic capacitance.
edit: elaborated on art trend
If you're ever in Cambridge (UK), pop along to the Computing History Museum and see "Mega Processor" (http://www.megaprocessor.com/).
Eh. That's kinda cheating.
(I'm joking of course… this is impressive. Apparently they had to use the chips because discrete 4-terminal NMOS transistors are no longer manufactured!)
It will inspire kids / young people to learn and create things beyond what's possible today.
>"Is it truly a "discrete 6502?"
I read the answer but didn't understand the answer given. Can someone elaborate on this? Wasn't the original 6502 an "integrated" chip? When I think about a "discrete" CPU I think of something like an older main frame where the different functional units of the CPU might be spread over a few different circuit boards with busses connecting those boards. Is my understanding of a "discrete" CPU incorrect?
When used in that manner, "discrete transistors" generally means that each individual transistor is on/in one single package. The item pictured here: https://www.sparkfun.com/products/retired/12852 is a "discrete transistor" (the plastic package contains one single transistor, the three leads connect directly to the collector, emitter, and base).
Now, in the case of this design, they explain that they are unable to purchase actual discrete transistor packages because no one makes the appropriate MOSFET transistors as single transistor to a package items anymore. So they had to use four transistor packages instead of single transistor packages. So under a strict definition of "discrete" they did not use "discrete transistors". They then provide their rationale for why one could view this as still discrete in a less strict usage. It is then up to you to decide if you accept their rationale.