[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
About the Kestrel (was: Re: gEDA-user: Free Dog meetings at MIT starting this September!)
On Monday 23 August 2004 09:33 am, Dave McGuire wrote:
> I understand your point, and I respect your point of view, I just
> don't agree with it. I believe these people should FIND some
> breadboards and learn a little bit more about what they're getting
> into before trying to build an entire computer.
OK. For a minute there, I thought you were being antagonistic for the
sake of antagonism. My apologies -- this was my misunderstanding.
> (as an aside, can you tell me more about the Kestrel?)
The Kestrel's intended purpose is to be a rational, grass-roots computer
design employing half-way modern technology, where (quite unlike the PC)
*EVERYTHING* is documented openly, BUT, not adopting every possible
technology under the sun just because it exists. I sorely dislike fads,
and that includes things like bus architectures, graphics architectures,
operating system architectures, etc. The model of inspiration is the
Commodore 64 -- you could purchase one book, the Commodore 64
Programmers Manual, and you'd get the circuit schematics, register-level
programming information, timing diagrams, and descriptions of the
ROM-resident OS interfaces (which most people simply didn't use anyway,
except for talking to the disk drive).
Originally, the Kestrel was to be built around the 65816 microprocessor,
running at 12.5MHz (half VGA dot-clock rate, synchronized with VGA
interface). But since I couldn't find modern, DIP-form factor RAM chips
that could keep up with the 65816's bus timings, I switched to using
surface-mount RAMs. It was a slippery slope from there.
Attempting to model the bus controller circuit in Verilog, I realized
that I couldn't accurately describe the bus timings of the 65816 (I was
using a Verilog 6502 implementation that I hacked up to try and emulate
a 65816's bus tenures, since they are nearly identical. Verilog
wouldn't have anything to do with it, unfortunately). So I decided to
make a stub processor in Verilog that matched the 65816's bus tenures,
and then decided, "Wait a minute, if I've gone through this amount of
work, I might as well just design my own CPU."
That was the birth of the FTS-1001 MISC CPU architecture, which is
currently documented on the website
(http://www.falvotech.com/kestrel.html). The problem is, as I've later
found out, the FTS-1001 MISC architecture compromised at least one
active patent, so I decided to investigate a transport-triggered
architecture.
The design of the FTS-1001 TTA architecture isn't on the site. It's also
rather incomplete at this stage, but after careful design and
examination (e.g., I couldn't find a way to get single-cycle flow
control operations, for example), I decided against using the TTA as
well. So I started looking at the OpenRISC architecture.
Anyway, at about the same time, I *finally* heard back from Insight
Electronics a price for the FPGA needed to implement the OR1200 design,
and that immediately caused me to shut the project down.
The Kestrel is currently suspended on the basis that, no matter what I
do, I won't be able to meet the target price point. It's in, "I'm
starting over from scratch" stage.
So, as Dave mentions elsewhere in his original message, I'm going to
rebrand the Kestrel as an ADVANCED kit, and will make extensive use of
SMT chips. Though, for sanity reasons, I'm probably not going to use
SMT resistors or capacitors. Those are just too small, even for me. :)
The over-arching goals of the project remain the same:
* An open, completely documented architecture, able to be described in a
SINGLE BOOK. This is obviously inspired by the Commodore 64.
* Fan-less design, which means, low power, even at the expense of
computation speed. The AT91-device I'm looking at has roughly 66MHz
clock. The MIPS has a 125MHz external clock, but even so, still draws
around 1W tops. Note that I'm not aiming for the lowEST power -- but
fanless design is critical.
* Integrated language and minimal OS, making it usable, if not useful,
even without a harddrive. Forth satisfies this requirement on both
levels at the same time. And besides, let's face it -- Forth is easy to
learn, runs very fast, and consumes very, very little amount of code
space. It's a win-win-win decision.
* System RAM checks on-demand, not always. I'm sick and tired of
purchasing ever-faster PCs, and waiting ever-longer for the #*$&#$^ BIOS
to check RAM! C'MON! If it booted yesterday, it's more than likely
it'll boot today.
* Instant on, (nearly) instant off. One of the biggest reasons for my
increased power bill is the sheer expense of shutting my computer down.
It takes forever for Linux to just shut down. On the Amiga, you just
waited 5 seconds, without touching anything, (that's it) for the disk
caches to sync with the volumes, and then you flicked the power switch.
End of discussion. Not so with Windows or Linux. Anyway, boot-up is
way, way more expensive. It has to check RAM every freaking time (which
requires my intervention to prevent), it probes the buses and takes its
damn sweet time doing it, etc. AmigaOS did all this in a fraction of a
second. Heck, even just spending 5 seconds is sufficient for me. But
remember that this is added on to the start-up time of the OS you're
loading too! The goal: instant on, instant off. Trust me -- it really
DOES make a difference!
* NVRAM-less design. Autodetect everything that you can, as fast as you
can. Time-of-day clock would be the only exception, but since it's more
a "peripheral" than a general purpose configuration storage system, I
consider this acceptable.
* Lightning fast I/O auto-detection. I think I've mentioned this four
times now. If not, here it is again.
* Lightning fast I/O auto-detection. If the Amiga can do it with 8MHz
processor technology, so can we with 66MHz. I simply cannot emphasize
this enough.
* Relatively easy to build. Since this is now an advanced kit idea, this
isn't nearly as weighted as it used to be. Nonetheless, it is a goal to
strive for.
* Minimum cost. I am considering sacrificing expansion slots on the "low
end" model to save PCB space and make the whole kit cheaper. The higher
end machines would have a bus architecture modeled after the Wishbone
bus system.
* If you need to join a SIG to make and commercially sell peripherals for
a kind of interface, we don't officially support that interface.
Besides being a total pain in the butt to implement the bus itself, it's
just plain too damn hard to make a PCI card. You have to spend a
gazillion dollars to get a mfr ID. And while I'd like to support USB,
it's still not high on my priority list. It's nice if you have a
finished product idea, but it's just too hard to "hack" around with for
quick, one-off electronics designs. Yeah, you can get those RS-232 to
USB converter chips and all that -- but those don't go terribly far when
you think about it. The biggest expense with USB, though, is the host
controller.
The whole purpose is to have FUN with this computer -- to have fun
building it, to have fun using it, to have fun expanding it. Part of
this fun factor is being able to hack the hardware as much as you can
hack the software. Commodore's IEC bus, HP's HP-IL, and Amiga's Zorro
bus are all inspirations here. Maybe also Mac's NuBus too, but I don't
know too much about it. All I know is, it wasn't hard to build a Zorro
card that fully interoperated with the system, you didn't need to be
registered with anyone but Commodore (and they gave away mfr IDs for
FREE), and full hardware interface details were available in the Amiga
HRM for a cost of $29.99 US. It was bliss.
* Everything is LGPLed. So if you DID want to include PCI slots or
whatever, please feel free!! Just because it's not my personal priority
with the system doesn't mean it's not someone else's. This is the
beauty of open source and, indeed, open hardware.
* In the event that the Kestrel ended up selling rather well, and I was
unable to fulfill orders fast enough, I also wanted to use the Kestrel
to explore a combination multi-level-marketing *and*
multi-level-distribution scheme. My inspiration for this model is the
patently obvious successes of Amway distributors (no, I'm not affiliated
with Amway, and never will be), combined with the distribution model
employed by In-N-Out Burger (having been a former employee of INO, I
clearly know that it works). The end result is essentially a
franchising operation. However, unlike most other franchises, my
philosophy is, "If I help my distributors make money, then I'll make
money too." I don't believe in whoring cash. If I did, I wouldn't make
this project LGPL.
* Support for new business opportunities. Some might argue that I lack
the experience to even persue this ambitious a project, even in kit
form. Whether that's true or not, it's DEFINITELY true for the case of
pre-fabricated boards, design for computer cases, etc. Those who wish
to sell pre-made Kestrel systems are just as welcome to enter this
market as anyone else. And, since everything is all open anyway, if I
wanted to sell them, I could just make arrangements to *re-sell* them on
my site, while I also continue to sell kits. This ties into the prime
goal of this whole thing, which is,
* The creation of a vibrant and healthy user and developer community,
capable of supporting itself on both software AND hardware fronts.
This is all just a dream. Maybe I'm being anachronistic. I don't know.
But all I know is that the PC industry has cancer, and it's spreading to
everything else we do. Especially with Windows Longhorn and it's fully
integrated Palladium technology.
> On that topic...I've seen mention of those MIPS processors a few
> times here. What chips are these? Do you have a URL or a part
> number?
I apologize for this gargantuan URL.
http://www.insight-electronics.com/cgi-bin/bvutf8sq/memec/scripts/local/mc_loc_para_product_search.jsp?type=contain&Div=INSIGHT&Reg=AMERICAS&Country=UNITED_STATES&Lang=EN&PnACountry=UNITED_STATES&cursor=null&searchType=PartSearch&search=RM5231A&text=RM5231A&ili=1&uid=-4379
If you don't feel like clicking on that, there you'll find the RM5231A at
300MHz for $22.40 in quantities of one. The 400MHz version goes for
$27.73.
--
Samuel A. Falvo II