By small modification of the hardware and another Microcode it is possible to copy other CPUs (e.g. 6502)
Didn't steve wozniack use the 6502 back when he made the apple ][. Hell overall, i bet you steve used less chips too. With the technology we have today i'm sure steve could've designed an insane system for what it cost him back then.
Besides, in this day and age, anything this clueful deserves a brownie point or two. If you think otherwise, try working around all the A+ certified ijits (that I call coworkers) for 8 hours.
Re:Karma Whore
by
UserGoogol
·
· Score: 2, Insightful
Well, those links were kinda useless because if it goes down, (which it did) those links go down with it. It would've been easier to just copy the text out of your browser.
Thanks for the karma whoring, at any rate.
-- "Never attribute to malice that which can be adequately explained by stupidity." -- Hanlon's Razor
Give the guy a break!
by
PHAEDRU5
·
· Score: 4, Insightful
I remember dreaming my own CPU with bit slice logic. In fact, I'm pretty sure I can find some BYTE photocopies and other notes from my first attempt in like 1980, or so.
I remember dreaming of building cards to hook to an S100 bus, including a Z-80 CPU with a ROM and redirection logic.
I mean, I can see how things change. It's kind of interesting to see a whole generation of hardware hackers think in terms of gate arrays, or their children. Who never smelt solder.
-- 668: Neighbour of the Beast
So what's so special?
by
HungWeiLo
·
· Score: 2, Insightful
This is a typical double-E undergrad computer architecture design project. Or are other schools falling so far behind (I go a public school, and FAR from being the top student) that this stuff stands out as impressive?
-- There are a huge number of yeast infections in this county. Probably because we're downriver from the bread factory.
For All You "Does it run Linux folks"
by
jtshaw
·
· Score: 3, Insightful
You can build your own CPU in and FPGA these days and run linux on it..... Though a big FPGA isn't exactly cheap.
Anyway, most of us that went through college engineering programs did something similar to this at one time. Whether it was building a computer out of parts or designing and architecture in VHDL and throwing it with some assembly code on an FPGA. It is a good way to learn how architectures really work.
Re:big deal
by
Anonymous Coward
·
· Score: 5, Insightful
Undergrads at most universities build their own CPUs. It's just a matter of coughing up the $$ to fabricate them.
So what you meant to say was Undergrads at most universites design their own cpus. Using your definition I could go build another Great Pyramid. I just wouldn't have to actually BUILD it, just draw some pictures.
Re:The real translation:
by
Vej
·
· Score: 2, Insightful
guess you've never been a programmer or engineer. you don't learn on the job:)
Re:All the news that's
by
Captain+Nitpick
·
· Score: 3, Insightful
I use year/month/day. It makes sense logically, and is understood by Americans.
It's also the ISO standard ordering, and is useful in filenames since sorting by name also sorts by date.
Yes, but plugging a computer chip into a slot on the motherboard isn't very educational.
-- "Can of worms? The can is open... the worms are everywhere."
Re:And the point?
by
Skim123
·
· Score: 5, Insightful
Yeah, it lacks a point. Kind of like playing computer games, reading, watching TV, or any other hobby. Oh wait, all those things are fun and enjoyable (save the watching TV part). Maybe that's why he did it?
--
I could not justify my existence if I were a turkey farmer. Would I terminate myself? Undoubtably, yes.
Use an FPGA, and there's no fabrication time, no back-end development time, and the verification time is significantly reduced.
As an Undergrad Comp Eng, I've designed and implemented (some 74xx ICs + several PALs) a similar, smaller-scale design in a 4-week lab project.
The only impressive thing about his cpu is the fact that he only used the 74xx series and eproms. Impressive, because routing between 50+ ICs is a bitch:).
-- Never underestimate the bandwidth of a 747 filled with CD-ROMs.
Yep, big deal
by
duck_prime
·
· Score: 4, Insightful
Undergrads at most universities build their own CPUs. It's just a matter of coughing up the $$ to fabricate them.
At Berkeley in the early 90's we were still doing this. So the guy's claim is hardly unique.
That said... It is pretty hard, and is something to be proud of. This guy's accomplishment is going past a basic fetch-ALU-store implementation and actually building something useful on top. Also, his documentation is superb. This last is a jewel beyond price in professional IT.
Making your own CPU has great pedagogical value too... it really demystifies what goes on inside the machine, and gets you ready for ars technica digests!;)
I have 40 or so OS's on my network at home. Arcnet, token ring, ethernet, localtalk, omninet, ATM, FDDI... 68k machines (macs, amigas, atari's, NeXT, cisco routers, trs-80 model 6000), a few vaxen, an ARM 610 (apple newton), sparcstations, apple2's. A PDP-11/04. A Intergraph InterPRO 6000 clipper cpu machine (c300). PPC machines (macs, tivo, rs6000). A POWER cpu rs6000. An SGI Indy and DECstation round out the MIPS cpu machines. The 65xx and 68xx are too numerous to list. A few z80 machines. I even have the TMS9900 cpu, in the form or a ti994a. Sadly, only one Alpha Multia, and no OSF to load on it. Still looking for a PArisc. But I know practically nothing.
Excluding isa, pci and agp, how many expansion busses could you name, or would recognize on sight? How many OS's have you used? Tell me, how many platforms were ever made into a laptop/notebook form factor? Better yet, I'll answer that, 4. Name them. I mean, big AC, bring it on... I'm sure you're so much more knowledgeable than I...
Re:The real translation:
by
msheppard
·
· Score: 2, Insightful
Nobody has too much time on their hands. I used to think I knew what that comment meant, but now I tend to classify it in the same bin as the comment "Whatever." A sort of brush off or dismisal from a person who does not understand what is being presented.
I know I'm kind of babeling here, but telling a person who hacks up something like this that "They have too much time on their hands" is a very destructive comment. If I had heard that more when I was younger I would probably be flipping burgers now instead of programming computers. A *LOT* of what computer programmers do early on can be classifed into "too much time on your hands" and if they get that comment too much they might start to resemble it and do something the ignorant person who said it thinks they should do, which usually falls into one of two channels, sports or fashion.
The More Interesting Thing is...
by
Frogmanalien
·
· Score: 2, Insightful
People don't get their hands dirty anymore. It's a lost art- children (admittedly before my time) use to fiddle with electronics, take things apart, build something new. There was a lot to discover, a lot of flexibility. Components could be coupled together in very different ways. Now, when a kid tells me he's built a PC, big whoop- he stuck some boards into slots, plugged some cables in. What's missing, and may stunt future growth- are products that can be disassembled easily- and rebuilt or modified... I once built a record player out of cardboard, wax and and an old motor. It palyed good for about five minutes, but then went up in flames. I learnt a lot from that- but if I start to build something based on a current digital tech it's impossible- my stereo is one chipboard- what can kids do with that?
The future of science depends on us being able to make new areas exciting and visible to kids- quantum mechanics and splitting atoms remains impossible for 5 year olds.
Congraulations to this guy- he's done a good job- but please, think of the children...!
-- The only thing that saves us from the bureaucracy is its inefficiency (Eugene McCarthy)
'correctly'?
by
Trepidity
·
· Score: 2, Insightful
It's simply a convention. Of the six possible ways to arrange month, day, and year, three are in widespread use: mm/dd/yy, dd/mm/yy, and yy/mm/dd (yy might be yyyy as well).
The US standard makes sense in some ways: mm/dd is what you commonly write, with an implicit year (though this used to be more true in the past). This is in the normal sense-making big-endian format (rather than the crazy European little-endian format). Then when you want to denote the year explicitly you tack it into the end. This is admittedly a bad place for it -- it really should go on the front, but it makes sense in a way, since it's being tacked on as an annotation. I.e. "It's 12/24. In 2003." That makes sense, whereas "The year is 2003. It's 12/24." doesn't really.
Designing a CPU is not difficult. What IS difficult, is to design something sophisticated like a Pentium-4. But a simple CPU can be done in 1-2 days. Basically, when you already know a hardware language like VHDL or Verilog, and know how a CPU works in general, it's just as simple as designing a software virtual machine (like JAVA) or an interpreted tokenized language (like some BASIC dialects).
The main problem with self-designed CPUs is that you don't have any support tool chain. You have to write your own assembler (and possibly disassembler), or adapt one of those meta-assemblers (eg XCASM). And you have to write your own C compiler, or port one of the free ones (LCC or GCC), if you want to do larger projects with your CPU.
In most cases it is not worth the hassle to design your own CPU, because recently the FPGA vendors started to give out CPUs for free (eg NIOS, or MicroBlaze/PicoBlaze) with free toolchain support (usually GCC).
When you start a CPU design TODAY, it's usually for one of these reasons:
- educational (many textbooks design a CPU while teaching logic)
- prototype a new revolutionary approach (like eg PACT's XPP)
- you need a little bit more than a statemachine, but the smallest "real"
CPU is already too big for you (in this case, the toolchain problem is
non-existant - you can code the "firmware" manually)
Heh, you'd be surprised with what you'd get if you let a routing progran route 50 ICs on a two-layer board:). There's still a lot of human intervention needed to get good results.
-- Never underestimate the bandwidth of a 747 filled with CD-ROMs.
By small modification of the hardware and another Microcode it is possible to copy other CPUs (e.g. 6502)
Didn't steve wozniack use the 6502 back when he made the apple ][. Hell overall, i bet you steve used less chips too. With the technology we have today i'm sure steve could've designed an insane system for what it cost him back then.
----
Go canucks, habs, and sens!
Never heard of an FPGA?
Besides, in this day and age, anything this clueful deserves a brownie point or two. If you think otherwise, try working around all the A+ certified ijits (that I call coworkers) for 8 hours.
Well, those links were kinda useless because if it goes down, (which it did) those links go down with it. It would've been easier to just copy the text out of your browser.
Thanks for the karma whoring, at any rate.
"Never attribute to malice that which can be adequately explained by stupidity." -- Hanlon's Razor
I remember dreaming my own CPU with bit slice logic. In fact, I'm pretty sure I can find some BYTE photocopies and other notes from my first attempt in like 1980, or so.
I remember dreaming of building cards to hook to an S100 bus, including a Z-80 CPU with a ROM and redirection logic.
I mean, I can see how things change. It's kind of interesting to see a whole generation of hardware hackers think in terms of gate arrays, or their children. Who never smelt solder.
668: Neighbour of the Beast
This is a typical double-E undergrad computer architecture design project. Or are other schools falling so far behind (I go a public school, and FAR from being the top student) that this stuff stands out as impressive?
There are a huge number of yeast infections in this county. Probably because we're downriver from the bread factory.
You can build your own CPU in and FPGA these days and run linux on it..... Though a big FPGA isn't exactly cheap.
Anyway, most of us that went through college engineering programs did something similar to this at one time. Whether it was building a computer out of parts or designing and architecture in VHDL and throwing it with some assembly code on an FPGA. It is a good way to learn how architectures really work.
Undergrads at most universities build their own CPUs. It's just a matter of coughing up the $$ to fabricate them.
So what you meant to say was Undergrads at most universites design their own cpus. Using your definition I could go build another Great Pyramid. I just wouldn't have to actually BUILD it, just draw some pictures.
guess you've never been a programmer or engineer. you don't learn on the job :)
It's also the ISO standard ordering, and is useful in filenames since sorting by name also sorts by date.
But then again, I could be wrong.
Yes, but plugging a computer chip into a slot on the motherboard isn't very educational.
"Can of worms? The can is open... the worms are everywhere."
Yeah, it lacks a point. Kind of like playing computer games, reading, watching TV, or any other hobby. Oh wait, all those things are fun and enjoyable (save the watching TV part). Maybe that's why he did it?
I could not justify my existence if I were a turkey farmer. Would I terminate myself? Undoubtably, yes.
Use an FPGA, and there's no fabrication time, no back-end development time, and the verification time is significantly reduced.
:).
As an Undergrad Comp Eng, I've designed and implemented (some 74xx ICs + several PALs) a similar, smaller-scale design in a 4-week lab project.
The only impressive thing about his cpu is the fact that he only used the 74xx series and eproms. Impressive, because routing between 50+ ICs is a bitch
Never underestimate the bandwidth of a 747 filled with CD-ROMs.
That said... It is pretty hard, and is something to be proud of. This guy's accomplishment is going past a basic fetch-ALU-store implementation and actually building something useful on top. Also, his documentation is superb. This last is a jewel beyond price in professional IT.
Making your own CPU has great pedagogical value too
I have 40 or so OS's on my network at home. Arcnet, token ring, ethernet, localtalk, omninet, ATM, FDDI... 68k machines (macs, amigas, atari's, NeXT, cisco routers, trs-80 model 6000), a few vaxen, an ARM 610 (apple newton), sparcstations, apple2's. A PDP-11/04. A Intergraph InterPRO 6000 clipper cpu machine (c300). PPC machines (macs, tivo, rs6000). A POWER cpu rs6000. An SGI Indy and DECstation round out the MIPS cpu machines. The 65xx and 68xx are too numerous to list. A few z80 machines. I even have the TMS9900 cpu, in the form or a ti994a. Sadly, only one Alpha Multia, and no OSF to load on it. Still looking for a PArisc. But I know practically nothing.
Excluding isa, pci and agp, how many expansion busses could you name, or would recognize on sight? How many OS's have you used? Tell me, how many platforms were ever made into a laptop/notebook form factor? Better yet, I'll answer that, 4. Name them. I mean, big AC, bring it on... I'm sure you're so much more knowledgeable than I...
Nobody has too much time on their hands. I used to think I knew what that comment meant, but now I tend to classify it in the same bin as the comment "Whatever." A sort of brush off or dismisal from a person who does not understand what is being presented.
I know I'm kind of babeling here, but telling a person who hacks up something like this that "They have too much time on their hands" is a very destructive comment. If I had heard that more when I was younger I would probably be flipping burgers now instead of programming computers. A *LOT* of what computer programmers do early on can be classifed into "too much time on your hands" and if they get that comment too much they might start to resemble it and do something the ignorant person who said it thinks they should do, which usually falls into one of two channels, sports or fashion.
M@
Krispy Cream is people
CPU my ass. You couldn't design a fucking adder. And who modded this tripe informative anyway?
-Looking for a job as a materials chemist or multivariat
People don't get their hands dirty anymore. It's a lost art- children (admittedly before my time) use to fiddle with electronics, take things apart, build something new. There was a lot to discover, a lot of flexibility. Components could be coupled together in very different ways. Now, when a kid tells me he's built a PC, big whoop- he stuck some boards into slots, plugged some cables in. What's missing, and may stunt future growth- are products that can be disassembled easily- and rebuilt or modified... I once built a record player out of cardboard, wax and and an old motor. It palyed good for about five minutes, but then went up in flames. I learnt a lot from that- but if I start to build something based on a current digital tech it's impossible- my stereo is one chipboard- what can kids do with that? The future of science depends on us being able to make new areas exciting and visible to kids- quantum mechanics and splitting atoms remains impossible for 5 year olds. Congraulations to this guy- he's done a good job- but please, think of the children...!
The only thing that saves us from the bureaucracy is its inefficiency (Eugene McCarthy)
It's simply a convention. Of the six possible ways to arrange month, day, and year, three are in widespread use: mm/dd/yy, dd/mm/yy, and yy/mm/dd (yy might be yyyy as well).
The US standard makes sense in some ways: mm/dd is what you commonly write, with an implicit year (though this used to be more true in the past). This is in the normal sense-making big-endian format (rather than the crazy European little-endian format). Then when you want to denote the year explicitly you tack it into the end. This is admittedly a bad place for it -- it really should go on the front, but it makes sense in a way, since it's being tacked on as an annotation. I.e. "It's 12/24. In 2003." That makes sense, whereas "The year is 2003. It's 12/24." doesn't really.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
> Yes, but did you design your own CPU?
Designing a CPU is not difficult. What IS difficult, is to design something
sophisticated like a Pentium-4. But a simple CPU can be done in 1-2 days.
Basically, when you already know a hardware language like VHDL or Verilog,
and know how a CPU works in general, it's just as simple as designing a
software virtual machine (like JAVA) or an interpreted tokenized language
(like some BASIC dialects).
The main problem with self-designed CPUs is that you don't have any support
tool chain. You have to write your own assembler (and possibly disassembler),
or adapt one of those meta-assemblers (eg XCASM). And you have to write
your own C compiler, or port one of the free ones (LCC or GCC), if you want
to do larger projects with your CPU.
In most cases it is not worth the hassle to design your own CPU, because
recently the FPGA vendors started to give out CPUs for free (eg NIOS, or
MicroBlaze/PicoBlaze) with free toolchain support (usually GCC).
When you start a CPU design TODAY, it's usually for one of these reasons:
- educational (many textbooks design a CPU while teaching logic)
- prototype a new revolutionary approach (like eg PACT's XPP)
- you need a little bit more than a statemachine, but the smallest "real"
CPU is already too big for you (in this case, the toolchain problem is
non-existant - you can code the "firmware" manually)
Marc
Heh, you'd be surprised with what you'd get if you let a routing progran route 50 ICs on a two-layer board :). There's still a lot of human intervention needed to get good results.
Never underestimate the bandwidth of a 747 filled with CD-ROMs.