Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Project - Build A PC motherboard from scratch

2,425 views
Skip to first unread message

Gary Cho

unread,
Aug 14, 2001, 10:47:18 AM8/14/01
to
Hello All,

I am tempted to build a PC motherboard from the PCB level. This is out
of curiosity and self challenge. Personally I have some experience
building simple embedded systems but a x86 motherboard would be very
challenging indeed. Objective here it to learn from hands on experience.

If anyone is interested in such project, we can work together in
designing it. E-mail me.

John Devereux

unread,
Aug 14, 2001, 1:11:01 PM8/14/01
to
On Tue, 14 Aug 2001 14:47:18 GMT, Gary Cho
<nga...@iastate.edu> wrote:

>Hello All,
>
>I am tempted to build a PC motherboard from the PCB level. This is out
>of curiosity and self challenge. Personally I have some experience
>building simple embedded systems but a x86 motherboard would be very
>challenging indeed. Objective here it to learn from hands on experience.

You must be mad! :)

Seriously, I doubt that anything approaching a modern PC
motherboard can be made at all, by a "home constructor". The
only way would be to have made a 6+ layer board that is the
same as a real one - very expensive for a one-off (or even a
thousand-off!)

You could probably manage a 386-era one, but it's not my
idea of a fun project.

-- John Devereux

jo...@devereux.demon.co.uk


Gary Cho

unread,
Aug 14, 2001, 2:28:14 PM8/14/01
to

John Devereux wrote:

> On Tue, 14 Aug 2001 14:47:18 GMT, Gary Cho
> <nga...@iastate.edu> wrote:
>
> >Hello All,
> >
> >I am tempted to build a PC motherboard from the PCB level. This is out
> >of curiosity and self challenge. Personally I have some experience
> >building simple embedded systems but a x86 motherboard would be very
> >challenging indeed. Objective here it to learn from hands on experience.
>
> You must be mad! :)

Yes... quite ambitious. In fact very ambitious.

>
> Seriously, I doubt that anything approaching a modern PC
> motherboard can be made at all, by a "home constructor". The
> only way would be to have made a 6+ layer board that is the

There are ways to get around it without 6+ layers... but it will be quite a
mess. Again, I am not trying to produce a product... just educational
experiment.

>
> same as a real one - very expensive for a one-off (or even a
> thousand-off!)
>
> You could probably manage a 386-era one, but it's not my
> idea of a fun project.

That is exactly what I am looking forward to - the pre-486 era - let it be
286 or 386 but more specificly embedded 386. Even if I can get my hands on a
complete set of chips to assemble a 186, I would be happy.

>
> -- John Devereux
>
> jo...@devereux.demon.co.uk

Steven Van Hulle

unread,
Aug 14, 2001, 2:45:23 PM8/14/01
to
"Gary Cho" <nga...@iastate.edu> wrote in message
news:3B793A61...@iastate.edu...

I agree with John about being mad ;-)
A PC-board doesn't look like the right choice for a DIY project to me.
Firstly, you're gonna spend huge amounts of money to get a board performing
poorly compared to *extremely cheap* COTS boards, with frustration being the
most important result.
Secondly, do you have the tools to test boards carrying *really fast*
signals? I don't. The quality of a design is limited by the quality of the
test tools and the skills of their user.
And thirdly, there are already zillions of them; nobody's waiting for yours.
Another frustration.

Maybe a *small* general-purpose SBC would be more satisfying.

Steven


Michael Black

unread,
Aug 14, 2001, 1:52:33 PM8/14/01
to

Steve Ciarcia described an IBM PC clone in a three-part article
in Byte years ago. At the moment, they year does not come to mind,
perhaps late 1983 or 84. I seem to recall that in a followup,
there was mention of people building the thing with wirewrap,
though there were circuit boards available. None of the parts
were special; of course, if one wanted to build that nowadays,
the simplest source of parts would be an IBM clone of the same
vintage.

He later described a 286 clone.

When Steve left Byte, he started his own magazine, Circuit Cellar
Ink. From a period when I was a subscriber, there were a number of
later "IBM clones" described, though more fore embedded applications.
I'm sure there was a 386 described, though I can't rememeber the
year. The problem at that level is that integration became more
important. You might have to do a lot of looking toi get the parts
for an 8088 clone, but they were all common parts that you could
buy in single quantities. Later, there was a tremendous reliance
on chipsets, and those were less likely to be available to the
individual at the time. Again, nowadays the parts are probably
most available on an old motherboard.

Michael


Gary Cho

unread,
Aug 14, 2001, 3:34:38 PM8/14/01
to
Michael,

At last... someone who has an idea what I am trying to learn. I was inspired
to build a simple x86 system by this professor who teaches embedded system. It
seems during his days in the 80s, he built a 286 motherboard with
off-the-shelf parts from Radioshack. Again, that was then. Could probably pull
out a 286 motherboard and see what chip I could pull from it.

I am so bored bombarded with all the theories in computer architecture
(working on a MS in Computer Engineering) that I want to try something real
for a change. Computer engineering students in my univeristy are way too
pampered with all the high-level software programming that they lack
fundamentals on what makes a computer run. Even assembly language seems quite
horrific to them let alone make then work on computer-related digital
circuits.

Gary

Spehro Pefhany

unread,
Aug 14, 2001, 3:43:48 PM8/14/01
to
The renowned Gary Cho <nga...@iastate.edu> wrote:

> At last... someone who has an idea what I am trying to learn. I was inspired
> to build a simple x86 system by this professor who teaches embedded system. It
> seems during his days in the 80s, he built a 286 motherboard with
> off-the-shelf parts from Radioshack. Again, that was then. Could probably pull
> out a 286 motherboard and see what chip I could pull from it.

Why does it have to be x86? What about a nice ARM or Coldfire board?

Best regards,
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Spehro Pefhany --"it's the network..." "The Journey is the reward"
sp...@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
Contributions invited->The AVR-gcc FAQ is at: http://www.BlueCollarLinux.com
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

William L. Bahn

unread,
Aug 14, 2001, 4:34:37 PM8/14/01
to
I would recommend centering your design on something like an 8088 - simpler
than the x86 parts but with nearly all of the same features for your
purposes.

There is a book that I have - haven't found the free time to do it and don't
see the book right now - on building an 8088 computer from scratch and it is
done on wirewrap. The system is built up and tested subsystem by subsystem
and the later part of the book talks about migrating it to a 2 sided PCB.

This book was intended as a one semester college and/or tech school course
and appears pretty complete - like I say, I haven't actually built it yet.

Gary Cho wrote in message <3B796E2A...@iastate.edu>...

Gary Cho

unread,
Aug 14, 2001, 4:43:12 PM8/14/01
to

Spehro Pefhany wrote:

> The renowned Gary Cho <nga...@iastate.edu> wrote:
>
> > At last... someone who has an idea what I am trying to learn. I was inspired
> > to build a simple x86 system by this professor who teaches embedded system. It
> > seems during his days in the 80s, he built a 286 motherboard with
> > off-the-shelf parts from Radioshack. Again, that was then. Could probably pull
> > out a 286 motherboard and see what chip I could pull from it.
>
> Why does it have to be x86? What about a nice ARM or Coldfire board?

It is possible. But parts are harder to find. At least with x86, you can pull chips
from old motherboards - just to solder it on again - : ) . And I believe these
microcontrollers boards are easier to build because everything is intregrated unlike
early x86s - I might be wrong since I have not really look into its datasheet.

Gary

John Woodgate

unread,
Aug 14, 2001, 4:24:51 PM8/14/01
to
I read in sci.electronics.design that Spehro Pefhany
<sp...@interlog.com> wrote (in <Ubfe7.6092$hO5.1...@news3.rdc1.on.hom
e.com>) about 'Project - Build A PC motherboard from scratch', on Tue,
14 Aug 2001:

>Why does it have to be x86? What about a nice ARM or Coldfire board?

I agree. Instead of wasting time, frankly, on legacy technology, get
with ARM, which is current, and probably within you resources.
--
Regards, John Woodgate, OOO - Own Opinions Only. http://www.jmwa.demon.co.uk
Eat mink and be dreary!

Christopher R. Carlen

unread,
Aug 14, 2001, 6:21:34 PM8/14/01
to
John Devereux wrote:
>
> On Tue, 14 Aug 2001 14:47:18 GMT, Gary Cho
> <nga...@iastate.edu> wrote:
>
> >Hello All,
> >
> >I am tempted to build a PC motherboard from the PCB level. This is out
> >of curiosity and self challenge. Personally I have some experience
> >building simple embedded systems but a x86 motherboard would be very
> >challenging indeed. Objective here it to learn from hands on experience.
>
> You must be mad! :)
>
> Seriously, I doubt that anything approaching a modern PC
> motherboard can be made at all, by a "home constructor". The
> only way would be to have made a 6+ layer board that is the
> same as a real one - very expensive for a one-off (or even a
> thousand-off!)


$324 each for a quantity of 3, $149 each for a quantity of 10 from
www.4pcb.com, 8" by 10" 6 layers with solder mask and silk screen.

Expensive yes, but not out of the question, if one is really that
ambitious. An alternative would simply be to get a job at a motherboard
making company!

_______________________
Christopher R. Carlen
Sr. Laser/Optical Tech.
Sandia National Labs

Christopher R. Carlen

unread,
Aug 14, 2001, 6:31:56 PM8/14/01
to
Gary Cho wrote:
>
> Michael,
>
> At last... someone who has an idea what I am trying to learn. I was inspired
> to build a simple x86 system by this professor who teaches embedded system. It
> seems during his days in the 80s, he built a 286 motherboard with
> off-the-shelf parts from Radioshack. Again, that was then. Could probably pull
> out a 286 motherboard and see what chip I could pull from it.
>
> I am so bored bombarded with all the theories in computer architecture
> (working on a MS in Computer Engineering) that I want to try something real
> for a change. Computer engineering students in my univeristy are way too
> pampered with all the high-level software programming that they lack
> fundamentals on what makes a computer run. Even assembly language seems quite
> horrific to them let alone make then work on computer-related digital
> circuits.
>
> Gary


Very troubling. You guys should be getting hammered with CPU core and
peripheral design, core OS design, hardware design, and applications
software design rather evenly distributed.

I have considered a single board computer at the 8088 or 80188 level at
times. It still is a little intimidating, so I'm working my way up the
microcontroller ladder at the moment. I having a blast with AVRs, have
bought some evaluation hardware for the H8S, and will look at ARM after
that. Then maybe GAL/CPLD/FPGA stuff and DSP.

I think there is a line somewhere in speed above which you need
simulation software to look at signal propagation on the board.
Probably from the 386 (or even 486-25 maybe 33) level on down, a
reasonably carefully laid-out PCB would run without such
considerations. Assuming the hardware is wired correctly in the first
place! I'm speculating a bit here.

Perhaps you could do something in the 186 or 286 department with a 4
layer PCB. You can manage that with about $300 for a board about 5" x
7". This is certainly accessible.

Gary Cho

unread,
Aug 14, 2001, 8:10:33 PM8/14/01
to
Christopher,

Thank you for sharing your experience.


> Very troubling. You guys should be getting hammered with CPU core and
> peripheral design, core OS design, hardware design, and applications
> software design rather evenly distributed.

Indeed. Maybe it's Iowa State University or maybe it's the system in general.
Everyting is going at snail pace that at the end of a 4 year degree, there's no way
they can cover all those mentioned above. That is more like graduate level stuff I
am doing.

> I have considered a single board computer at the 8088 or 80188 level at
> times. It still is a little intimidating, so I'm working my way up the
> microcontroller ladder at the moment. I having a blast with AVRs, have
> bought some evaluation hardware for the H8S, and will look at ARM after
> that. Then maybe GAL/CPLD/FPGA stuff and DSP.

Heard quite a bit about ARM and Coldfire. Knowing them makes you quite marketable as
I have figured out after some job interviews.

> I think there is a line somewhere in speed above which you need
> simulation software to look at signal propagation on the board.
> Probably from the 386 (or even 486-25 maybe 33) level on down, a
> reasonably carefully laid-out PCB would run without such
> considerations. Assuming the hardware is wired correctly in the first
> place! I'm speculating a bit here.

I get what you mean. But I am not going that 'fast'. Maybe 1-2 Mhz for starters.
People tend to assume just because the processor is designed max out at that speed,
it has to run at that speed. I for one, design embedded system running at 1 Khz with
less than 5 mW power consumption mainly because you don't need tens of Mhz trying to
capture few inputs to control a few output pins.

> Perhaps you could do something in the 186 or 286 department with a 4
> layer PCB. You can manage that with about $300 for a board about 5" x
> 7". This is certainly accessible.

From what I heard people did make a 186 motherboard wire-wrapping. So I guess it
won't be that complex (hopefully).

Geoffrey G. Rochat

unread,
Aug 14, 2001, 10:15:27 PM8/14/01
to
Having designed a specialized custom Celeron PC motherboard for an
embedded application, let me give you some first-hand experience: You
will find designing a PC as obtrusive as the abstractions your
professors are feeding you. PCs these days are highly-evolved creatures
built of many layers, full of proprietary circuitry and firmware not
readily amenable to low-level experimentation. BIOSes are locked up by
licenses, and are the result of many man-years of hard effort. I would
not recommend that a beginner seeking knowledge go that way at first,
but if you insist take a look at one or more of the reference designs
provided by Intel at developer.intel.com. If they do not scare you off
it is because you do not understand them sufficiently.

Far better for a beginner is to look back to what home computer
hobbyists did in the days before PCs when, of necessity, we had to do
what you are looking to do now. Another poster who mentioned Steve
Ciarcia is on that track. Find a copy (used, since it's no longer
published) of Ciarcia's "Build Your Own Z80 Computer", published by Byte
Books in 1981, ISBN 0-07-010962-1. All the circuitry in there is still
available ( www.digikey.com, www.mouser.com, www.bgmicro.com,
www.unicornelectronics.com and all the usual suspects elsewhere), and by
building it you'll have a machine simple enough to build in a term or
so, and simple enough to program that you'll be able to comprehend it
entirely. If you want you can stretch the machine enough to be able to
run CP/M, an early OS. (Monitor the comp.os.cpm newsgroup and do a
Goggle search for more information.) If Ciarcia's book is unavailable
(check out www.circuitcellar.com before giving up), a Google search on
"Z80" will provide plenty of information.

(For partisans of a competing architectural camp, substitute "6502" for
"Z80" in the previous sentence. Also, look at comp.sys.apple2, or even
comp.sys.m6809.)

Is building something like this instructive? Very. Is it fun? Yes
indeed. Can it be accomplished without so much work or expense that the
original poster will give up in disgust before getting anywhere? By all
means. Is it practical? If by practical one means having a hot machine
on which to write term papers, surf the Web and download MP3s, heck no.
If that sort of practicality is the goal throw together a PC from an
off-the-shelf motherboard and assorted sundry parts. But my
understanding is that the original poster is not out for practicality,
but rather understanding. For that, start simple.


Steven Van Hulle

unread,
Aug 15, 2001, 1:29:34 AM8/15/01
to

"Gary Cho" <nga...@iastate.edu> wrote in message
news:3B79BE66...@iastate.edu...
>
> [snip]

>
> I get what you mean. But I am not going that 'fast'. Maybe 1-2 Mhz for
starters.
> People tend to assume just because the processor is designed max out at
that speed,
> it has to run at that speed. I for one, design embedded system running at
1 Khz with
> less than 5 mW power consumption mainly because you don't need tens of Mhz
trying to
> capture few inputs to control a few output pins.

OK, but 1-2 MHz designs are very different from 100-200 MHz designs. There's
plenty of hobbyists who can perfectly build a 1 MHz uC system but have never
heard of, let's say, transmission lines.
I think you'll want the fast designs. Maybe using the ARM as Spehro
suggested. But you don't want a PC motherboard. Yuck! ;-)

BTW, talking about The Old Times (Ciarcia in BYTE), what happened to the
Transputer? I kinda liked the concept. Which in turn brings supercomputers
to mind; Ciarcia built one with 8-64 ordinary 8-bit controllers (8751 IIRC).
Gary, how about a supercomputer with Transputer-like parts (uC core + n-way
communication block). Of course, you'll have to see if an appropriate
compiler exists :-(

Steven


~^Johnny^~

unread,
Aug 15, 2001, 6:39:45 AM8/15/01
to

Forget the printed circuit - use wire wrap! ;->

<g,r,d>


--
-john

~^Johnny^~

unread,
Aug 15, 2001, 6:53:17 AM8/15/01
to
On Tue, 14 Aug 2001 20:43:12 GMT, Gary Cho <nga...@iastate.edu>
wrote:

>At least with x86, you can pull chips
>from old motherboards

Nah, forget chips. Build it from a vast array of 6201's. ;->

--
-john

Tom Del Rosso

unread,
Aug 15, 2001, 11:13:21 AM8/15/01
to
"Christopher R. Carlen" <crc...@sandia.gov> wrote in message
news:3B79A46E...@sandia.gov...

>
> Expensive yes, but not out of the question, if one is really that
> ambitious. An alternative would simply be to get a job at a
motherboard
> making company!

But it costs even more to have your furniture moved to China.


Martin Griffith

unread,
Aug 15, 2001, 1:01:07 PM8/15/01
to
On Tue, 14 Aug 2001 19:34:38 GMT, Gary Cho <nga...@iastate.edu>
scribbled:

>I am so bored bombarded with all the theories in computer architecture
>(working on a MS in Computer Engineering) that I want to try something real
>for a change. Computer engineering students in my univeristy are way too
>pampered with all the high-level software programming that they lack
>fundamentals on what makes a computer run. Even assembly language seems quite
>horrific to them let alone make then work on computer-related digital
>circuits.
>
>Gary
>

What a refreshing attitude!


Martin

"The large print giveth
and the small print taketh away..." Tom Waits.

Dirk Bruere

unread,
Aug 15, 2001, 5:14:59 PM8/15/01
to

"John Woodgate" <j...@jmwa.demon.co.uk> wrote in message
news:u6f+IwAT...@jmwa.demon.co.uk...

> I read in sci.electronics.design that Spehro Pefhany
> <sp...@interlog.com> wrote (in <Ubfe7.6092$hO5.1...@news3.rdc1.on.hom
> e.com>) about 'Project - Build A PC motherboard from scratch', on Tue,
> 14 Aug 2001:
> >Why does it have to be x86? What about a nice ARM or Coldfire board?
>
> I agree. Instead of wasting time, frankly, on legacy technology, get
> with ARM, which is current, and probably within you resources.

It would certainly look good on the CV.

Dirk


Anton T.

unread,
Oct 20, 2020, 9:48:23 AM10/20/20
to
I know it's been almost a decade since this was first published, but I, a non-engineer with no experience whatsoever in electronics, would like to build one myself. Were you successful in this project?

Tom Del Rosso

unread,
Oct 20, 2020, 11:24:48 AM10/20/20
to
It's been 2 decades, and I'm sure he wasn't. Even 19 years ago the bus
speeds required software costing many thousands to compute the trace
characteristics.




Ricketty C

unread,
Oct 20, 2020, 1:22:17 PM10/20/20
to
I seem to recall that was about the time of higher speed memory which did require careful attention to signal integrity issues which was new to the PC industry with resultantly poor results from some manufacturers. Memory errors were commonly blamed on "poor" memory modules with users switching them around trying to find the "right" combination. The reality was they were simply modifying the reflections of the poor motherboard designs allowing the memory bus to work a little more often or a little less often.

--

Rick C.

- Get 1,000 miles of free Supercharging
- Tesla referral code - https://ts.la/richard11209

Bill Sloman

unread,
Oct 20, 2020, 11:04:06 PM10/20/20
to
They didn't. The problem was that the then standard computer buses weren't designed to work as terminated transmission lines.

Emitter-coupled logic had always been fast enough that it was designed to drive terminated transmission lines, and LVDS - low voltage digital signalling - essentially stuck with the approach of keeping the signal levels low enough to allow for resistive termination with small resistors that generated only tolerable amounts of heat that could be dissipated locally.

If you stuck to LVDS signalling, laying out the bus is pretty straight-forward, but when I last did it, I needed lots of buffers between the memory chips and the bus. Some programmable gate arrays had started offering LVDS compatible inputs and outputs, but - back then (1997-98) they were very expensive.

Some ten years earlier I'd been able to buy ECL static RAM, but by 1998, it wasn't commercially available - too useful for very fast military radar systems.

--
Bill Sloman, Sydney

Bill Sloman

unread,
Oct 21, 2020, 1:09:22 AM10/21/20
to
This is probably the wrong project. Modern programmable logic devices can replicate all the hardware on a computer motherboard, including the random access memory.

https://en.wikipedia.org/wiki/Field-programmable_gate_array

What you probably ought to do is buy one with enough USB-C ports to communicate with the mass memory and I/O ports that you would need.

Having a separate USB-C port for each of

1. Mass memory
2. Visual display
3. Keyboard
4. Printer
5,. Audio output
6. Audio input
7. Camera
8. Internet

would probably be an overkill, but I don't know enough about USB links to be to too confident about multiplexing them.

A package that had enough pins to deal with that and power supply would probably only need pins around the periphery of the package, making for a fairly simple layout, but it would probably still need a four layer board, and you might need to go for buried strip-lines to keep the connections from device to the USB-C sockets clean enough to handle the frequencies involved.

There's probably even a Linux -licensed design for the processor that would go inside the FPGA. There's even a user-group for people with those kinds of interests - comp.arch.fpga. Sometimes we used to get stuff cross-posted from there, but I can't recall anything recent..

--
Bill Sloman, Sydney

Ricketty C

unread,
Oct 21, 2020, 2:15:17 AM10/21/20
to
The latency of USB is too high for a practical memory interface. Perhaps you meant mass storage or maybe you are talking about making a PC from 2000 where the main memory would only be measured in MBs, but even then... it would be a large and expensive FPGA to hold half a GB of RAM. But it is practical to hang main memory devices on FPGA I/Os. This would be easy and fast with the FPGA memory constituting cache.

I'm sure people have built such machines. Heck they have simulated 8 bit controlled game machines that run much faster than the original. It seems like a huge amount of work to recreate a 2000 era PC on an FPGA. Why not do something more interesting like find a way to optimize through parallelism tasks like SETI at home? Well, looks like that one is no longer running. Maybe they've already converted to FPGAs or even ASICs. At some point performing processing needs to account for the energy being consumed. That's why bit coin is no longer practical on PCs or even FPGAs. The energy costs are higher than the return for producing results.

So much silicon, so little time.

--

Rick C.

+ Get 1,000 miles of free Supercharging
+ Tesla referral code - https://ts.la/richard11209

Bill Sloman

unread,
Oct 21, 2020, 3:21:00 AM10/21/20
to
What I wrote - and you don't seem to have fully processed - was
"Modern programmable logic devices can replicate all the hardware on a computer motherboard, including the random access memory".

> Perhaps you meant mass storage

I explicitly listed "mass storage" as one of the USB-C ports the device would need.

> or maybe you are talking about making a PC from 2000 where the main memory would only be measured in MBs, but even then... it would be a large and expensive FPGA to hold half a GB of RAM. But it is practical to hang main memory devices on FPGA I/Os.

That tends to take up a lot of pins. USB-C can be spectaculary fast

https://en.wikipedia.org/wiki/USB-C

so you might be able to get away with an affordable amount of cache RAM on-chip.

> This would be easy and fast with the FPGA memory constituting cache.
>
> I'm sure people have built such machines. Heck they have simulated 8 bit controlled game machines that run much faster than the original. It seems like a huge amount of work to recreate a 2000 era PC on an FPGA.

That's why I suggested getting onto comp.arch.fpga and asking around.

> Why not do something more interesting like find a way to optimize through parallelism tasks like SETI at home? Well, looks like that one is no longer running. Maybe they've already converted to FPGAs or even ASICs. At some point performing processing needs to account for the energy being consumed. That's why bit coin is no longer practical on PCs or even FPGAs. The energy costs are higher than the return for producing results.
>
> So much silicon, so little time.

Ho hum.

--
Bill Sloman, Sydney

Ricketty C

unread,
Oct 21, 2020, 1:33:22 PM10/21/20
to
Yep, read it, processed it and realized it was wrong for the reason I stated, latency.


> > Perhaps you meant mass storage
>
> I explicitly listed "mass storage" as one of the USB-C ports the device would need.

Ah, I interpreted that confusing term as main memory.


> > or maybe you are talking about making a PC from 2000 where the main memory would only be measured in MBs, but even then... it would be a large and expensive FPGA to hold half a GB of RAM. But it is practical to hang main memory devices on FPGA I/Os.
>
> That tends to take up a lot of pins. USB-C can be spectaculary fast
>
> https://en.wikipedia.org/wiki/USB-C

The issue is not speed, but latency. Perhaps you didn't fully process what I wrote.


> so you might be able to get away with an affordable amount of cache RAM on-chip.

"Affordable" is the key term. "Affordable" FPGAs don't have GBs of RAM on chip, at least not available as useful memory. Cache, perhaps, but main memory will still be external to the FPGA over a high speed bus with minimal latency. Have you read anything about the speeds and operation of DRAM these days?


> > This would be easy and fast with the FPGA memory constituting cache.
> >
> > I'm sure people have built such machines. Heck they have simulated 8 bit controlled game machines that run much faster than the original. It seems like a huge amount of work to recreate a 2000 era PC on an FPGA.
>
> That's why I suggested getting onto comp.arch.fpga and asking around.

Probably not the best place to search, although there is one fellow, can't recall his name just now, who has a compendium of MCU cores with performance specs. He has actually built and run a number of them. I don't recall anything in the list that would be anything like a full fledged PC CPU although some are quite capable.


> > Why not do something more interesting like find a way to optimize through parallelism tasks like SETI at home? Well, looks like that one is no longer running. Maybe they've already converted to FPGAs or even ASICs. At some point performing processing needs to account for the energy being consumed. That's why bit coin is no longer practical on PCs or even FPGAs. The energy costs are higher than the return for producing results.
> >
> > So much silicon, so little time.
>
> Ho hum.

Indeed. One thing Larkin is right about is that you primarily come here to argue with people about pretty much everything and nothing. There are many opportunities to have fruitful conversations on many topics. No need to always focus on disputing every detail of every post.

It is amazing how much computing power exists in the world. Sometimes I wonder how far we are from the singularity. Once it happens we will be so automated that it might not be much different from Terminator, says the guy with a self driving car!

--

Rick C.

-- Get 1,000 miles of free Supercharging
-- Tesla referral code - https://ts.la/richard11209

Bill Sloman

unread,
Oct 21, 2020, 11:08:28 PM10/21/20
to
There's going to be latency in the link inside the programmable logic device?

> > > Perhaps you meant mass storage
> >
> > I explicitly listed "mass storage" as one of the USB-C ports the device would need.
>
> Ah, I interpreted that confusing term as main memory.

Strange. I'd already said that the programmable logic device should have room for random access memory, which yo should have recognised as "main memory".

> > > or maybe you are talking about making a PC from 2000 where the main memory would only be measured in MBs, but even then... it would be a large and expensive FPGA to hold half a GB of RAM. But it is practical to hang main memory devices on FPGA I/Os.
> >
> > That tends to take up a lot of pins. USB-C can be spectacularly fast
> >
> > https://en.wikipedia.org/wiki/USB-C
>
> The issue is not speed, but latency. Perhaps you didn't fully process what I wrote.

Perhaps you don't understand where latency comes from? Any modern serial link processes data in packets, so there's a latency implied in the length of the packet, but it is a function of the speed of the link.

Rotating memory has a latency that come from the data only becoming available once per rotation of the media - 7200 rpm implies a maxi,um wait of 8.3 msec. It doesn't stop hard disks being a useful form of memory.

> > so you might be able to get away with an affordable amount of cache RAM on-chip.
>
> "Affordable" is the key term. "Affordable" FPGAs don't have GBs of RAM on chip, at least not available as useful memory. Cache, perhaps, but main memory will still be external to the FPGA over a high speed bus with minimal latency. Have you read anything about the speeds and operation of DRAM these days?

Whenever I think about buying more of it.

> > > This would be easy and fast with the FPGA memory constituting cache.
> > >
> > > I'm sure people have built such machines. Heck they have simulated 8 bit controlled game machines that run much faster than the original. It seems like a huge amount of work to recreate a 2000 era PC on an FPGA.
> >
> > That's why I suggested getting onto comp.arch.fpga and asking around.
>
> Probably not the best place to search, although there is one fellow, can't recall his name just now, who has a compendium of MCU cores with performance specs. He has actually built and run a number of them. I don't recall anything in the list that would be anything like a full fledged PC CPU although some are quite capable.

So what would be a better place to start searching?

> > > Why not do something more interesting like find a way to optimize through parallelism tasks like SETI at home?

That wasn't what the original poster was asking for.

> > > Well, looks like that one is no longer running. Maybe they've already converted to FPGAs or even ASICs. At some point performing processing needs to account for the energy being consumed. That's why bit coin is no longer practical on PCs or even FPGAs. The energy costs are higher than the return for producing results.
> > >
> > > So much silicon, so little time.
> >
> > Ho hum.
>
> Indeed. One thing Larkin is right about is that you primarily come here to argue with people about pretty much everything and nothing. There are many opportunities to have fruitful conversations on many topics. No need to always focus on disputing every detail of every post.

So your unspecific claim about "latency" was constructive?

> It is amazing how much computing power exists in the world. Sometimes I wonder how far we are from the singularity. Once it happens we will be so automated that it might not be much different from Terminator, says the guy with a self driving car!

At the moment there's still a lot more computing power between even Larkin's ears than you could buy anywhere. It isn't fast but it is massively parallel - 86 billion neurones worth of it. Getting it properly programmed is a challenge.

https://www.frontiersin.org/articles/10.3389/neuro.09.031.2009/full

--
Bill Sloman, Sydney

Ricketty C

unread,
Oct 22, 2020, 12:32:52 AM10/22/20
to
USB is designed to be a party line. While you can get high data rates and dedicated bandwidth, it is not set up to be a memory interface. It has inherent latencies. But you were talking about mass storage which is not so sensitive to latency.

The interface to memory is what it is because that is what works properly. Even internal flash drives don't use USB for an interface because other interfaces are faster and better. USB has compromises to facilitate hot swapping and sharing interfaces. If USB were optimal for Flash they would not have invented yet another interface.


> > > > Perhaps you meant mass storage
> > >
> > > I explicitly listed "mass storage" as one of the USB-C ports the device would need.
> >
> > Ah, I interpreted that confusing term as main memory.
>
> Strange. I'd already said that the programmable logic device should have room for random access memory, which yo should have recognised as "main memory".

I've never seen anyone mix the terms mass and memory. Mass storage or various memories, not mass memory. Your statements about main memory are also wrong unless you are talking about machines from the 1990s.


> > > > or maybe you are talking about making a PC from 2000 where the main memory would only be measured in MBs, but even then... it would be a large and expensive FPGA to hold half a GB of RAM. But it is practical to hang main memory devices on FPGA I/Os.
> > >
> > > That tends to take up a lot of pins. USB-C can be spectacularly fast
> > >
> > > https://en.wikipedia.org/wiki/USB-C
> >
> > The issue is not speed, but latency. Perhaps you didn't fully process what I wrote.
>
> Perhaps you don't understand where latency comes from? Any modern serial link processes data in packets, so there's a latency implied in the length of the packet, but it is a function of the speed of the link.
>
> Rotating memory has a latency that come from the data only becoming available once per rotation of the media - 7200 rpm implies a maxi,um wait of 8.3 msec. It doesn't stop hard disks being a useful form of memory.

Now you seem to be confusing main memory with mass storage.


> > > so you might be able to get away with an affordable amount of cache RAM on-chip.
> >
> > "Affordable" is the key term. "Affordable" FPGAs don't have GBs of RAM on chip, at least not available as useful memory. Cache, perhaps, but main memory will still be external to the FPGA over a high speed bus with minimal latency. Have you read anything about the speeds and operation of DRAM these days?
>
> Whenever I think about buying more of it.

So that's a no or a yes? Regardless, you don't seem to understand either memory or FPGAs or perhaps both.


> > > > This would be easy and fast with the FPGA memory constituting cache.
> > > >
> > > > I'm sure people have built such machines. Heck they have simulated 8 bit controlled game machines that run much faster than the original. It seems like a huge amount of work to recreate a 2000 era PC on an FPGA.
> > >
> > > That's why I suggested getting onto comp.arch.fpga and asking around.
> >
> > Probably not the best place to search, although there is one fellow, can't recall his name just now, who has a compendium of MCU cores with performance specs. He has actually built and run a number of them. I don't recall anything in the list that would be anything like a full fledged PC CPU although some are quite capable.
>
> So what would be a better place to start searching?

It's your hunt. You can ask in c.a.f. I ended up getting a response there to a VHDL question when no one responded in c.l.vhdl. Got a much better response in stackexchange from someone who used to post in newsgroups, but not so much anymore. It proved to be a good discussion because there was no consensus if I was violating the language or the simulator had a bug. The vendors are not very responsive to reporting bugs when you aren't under a maintenance contract, so it may never get fixed unless someone else also finds it and reports it.


> > > > Why not do something more interesting like find a way to optimize through parallelism tasks like SETI at home?
>
> That wasn't what the original poster was asking for.

Precisely. Exactly what I said. I am suggesting something I think is more fun. Is that not allowed?


> > > > Well, looks like that one is no longer running. Maybe they've already converted to FPGAs or even ASICs. At some point performing processing needs to account for the energy being consumed. That's why bit coin is no longer practical on PCs or even FPGAs. The energy costs are higher than the return for producing results.
> > > >
> > > > So much silicon, so little time.
> > >
> > > Ho hum.
> >
> > Indeed. One thing Larkin is right about is that you primarily come here to argue with people about pretty much everything and nothing. There are many opportunities to have fruitful conversations on many topics. No need to always focus on disputing every detail of every post.
>
> So your unspecific claim about "latency" was constructive?

What, you don't understand it? Do you understand the need for low latency in a main memory interface?


> > It is amazing how much computing power exists in the world. Sometimes I wonder how far we are from the singularity. Once it happens we will be so automated that it might not be much different from Terminator, says the guy with a self driving car!
>
> At the moment there's still a lot more computing power between even Larkin's ears than you could buy anywhere. It isn't fast but it is massively parallel - 86 billion neurones worth of it. Getting it properly programmed is a challenge.
>
> https://www.frontiersin.org/articles/10.3389/neuro.09.031.2009/full

Apples and oranges. It is good at some jobs, like sorting apples and oranges. It's not so good at other tasks like predicting the path of an incoming missile to know if it is headed to Washington, DC or New York City. It is often not even very good a balancing a check book. I think the main issue with it is the lack of reliability. In many tasks that is a very important feature. Even 1 failure in 1,000 is not so good while we accept that from the vast majority of our mental processes.

--

Rick C.

-+ Get 1,000 miles of free Supercharging
-+ Tesla referral code - https://ts.la/richard11209

Bill Sloman

unread,
Oct 22, 2020, 5:17:12 AM10/22/20
to
Except that you don't specify what these latencies are.

> The interface to memory is what it is because that is what works properly. Even internal flash drives don't use USB for an interface because other interfaces are faster and better. USB has compromises to facilitate hot swapping and sharing interfaces. If USB were optimal for Flash they would not have invented yet another interface.

Parallel interfaces are faster than serial interfaces. They also use more pins.

.> > > > > Perhaps you meant mass storage
> > > >
> > > > I explicitly listed "mass storage" as one of the USB-C ports the device would need.
> > >
> > > Ah, I interpreted that confusing term as main memory.
> >
> > Strange. I'd already said that the programmable logic device should have room for random access memory, which you should have recognised as "main memory".
>
> I've never seen anyone mix the terms mass and memory. Mass storage or various memories, not mass memory. Your statements about main memory are also wrong unless you are talking about machines from the 1990s.

What - exactly - was wrong with my statements about main memory? So far, you strike me as not knowing what you are talking about and hiding the fact by being picky about my word choices.

> > > > > or maybe you are talking about making a PC from 2000 where the main memory would only be measured in MBs, but even then... it would be a large and expensive FPGA to hold half a GB of RAM. But it is practical to hang main memory devices on FPGA I/Os.
> > > >
> > > > That tends to take up a lot of pins. USB-C can be spectacularly fast
> > > >
> > > > https://en.wikipedia.org/wiki/USB-C
> > >
> > > The issue is not speed, but latency. Perhaps you didn't fully process what I wrote.
> >
> > Perhaps you don't understand where latency comes from? Any modern serial link processes data in packets, so there's a latency implied in the length of the packet, but it is a function of the speed of the link.
> >
> > Rotating memory has a latency that come from the data only becoming available once per rotation of the media - 7200 rpm implies a maxi,um wait of 8.3 msec. It doesn't stop hard disks being a useful form of memory.
>
> Now you seem to be confusing main memory with mass storage.

No. I was being specific about a particular form of "latency" which isn't something yo9u seem to be able to manage.

> > > > so you might be able to get away with an affordable amount of cache RAM on-chip.
> > >
> > > "Affordable" is the key term. "Affordable" FPGAs don't have GBs of RAM on chip, at least not available as useful memory. Cache, perhaps, but main memory will still be external to the FPGA over a high speed bus with minimal latency. Have you read anything about the speeds and operation of DRAM these days?
> >
> > Whenever I think about buying more of it.
>
> So that's a no or a yes? Regardless, you don't seem to understand either memory or FPGAs or perhaps both.

It was a yes. It seems you can only understand comments about memory when people use precisely the form of words that you are used to.

> > > > > This would be easy and fast with the FPGA memory constituting cache.
> > > > >
> > > > > I'm sure people have built such machines. Heck they have simulated 8 bit controlled game machines that run much faster than the original. It seems like a huge amount of work to recreate a 2000 era PC on an FPGA.
> > > >
> > > > That's why I suggested getting onto comp.arch.fpga and asking around.
> > >
> > > Probably not the best place to search, although there is one fellow, can't recall his name just now, who has a compendium of MCU cores with performance specs. He has actually built and run a number of them. I don't recall anything in the list that would be anything like a full fledged PC CPU although some are quite capable.
> >
> > So what would be a better place to start searching?
>
> It's your hunt.

Not exactly. I suggested comp.arch.fpga and you don't seem to like it, but can't come up with anything specific that might be better.

> You can ask in c.a.f. I ended up getting a response there to a VHDL question when no one responded in c.l.vhdl. Got a much better response in stackexchange from someone who used to post in newsgroups, but not so much anymore. It proved to be a good discussion because there was no consensus if I was violating the language or the simulator had a bug. The vendors are not very responsive to reporting bugs when you aren't under a maintenance contract, so it may never get fixed unless someone else also finds it and reports it.
>
> > > > > Why not do something more interesting like find a way to optimize through parallelism tasks like SETI at home?
> >
> > That wasn't what the original poster was asking for.
>
> Precisely. Exactly what I said. I am suggesting something I think is more fun. Is that not allowed?

It's quite a way from what the original poster seems to have had in mind.

> > > > > Well, looks like that one is no longer running. Maybe they've already converted to FPGAs or even ASICs. At some point performing processing needs to account for the energy being consumed. That's why bit coin is no longer practical on PCs or even FPGAs. The energy costs are higher than the return for producing results.
> > > > >
> > > > > So much silicon, so little time.
> > > >
> > > > Ho hum.
> > >
> > > Indeed. One thing Larkin is right about is that you primarily come here to argue with people about pretty much everything and nothing. There are many opportunities to have fruitful conversations on many topics. No need to always focus on disputing every detail of every post.
> >
> > So your unspecific claim about "latency" was constructive?
>
> What, you don't understand it? Do you understand the need for low latency in a main memory interface?

If you can't put a number on the time delay involved, you clearly don't understand it any useful way.

> > > It is amazing how much computing power exists in the world. Sometimes I wonder how far we are from the singularity. Once it happens we will be so automated that it might not be much different from Terminator, says the guy with a self driving car!
> >
> > At the moment there's still a lot more computing power between even Larkin's ears than you could buy anywhere. It isn't fast but it is massively parallel - 86 billion neurones worth of it. Getting it properly programmed is a challenge.
> >
> > https://www.frontiersin.org/articles/10.3389/neuro.09.031.2009/full
>
> Apples and oranges. It is good at some jobs, like sorting apples and oranges. It's not so good at other tasks like predicting the path of an incoming missile to know if it is headed to Washington, DC or New York City. It is often not even very good a balancing a check book. I think the main issue with it is the lack of reliability. In many tasks that is a very important feature. Even 1 failure in 1,000 is not so good while we accept that from the vast majority of our mental processes.

There are mechanisms - double entry book-keeping is one of them - that add enough error-detection and correction to make data processing by human being pretty reliable.
I've been doing a bit of it here.

--
Bill Sloman, Sydney
0 new messages