[comp.sys.nsc.32k] More on build your own box

heppell@sim.berkeley.edu (Kevin G. Heppell) (11/22/88)

    echo \$0.02 > net  :-)

    With all of this recent discussion, since I've been planning a
32k series box for some time I thought I'd cast my vote.  I'v given
a summary first for the vote counters, but read the whole thing before
hitting 'F' (for flame :-)

 1) Definitely go with the motherboard option, instead of a plug in
    for some other system.  While we're at it, make the motherboard
    an SBC: full 32032 chip set (CPU, MMU, FPU, TCU, ICU), 4 Meg DRAM
    in 1meg DIPs, SCSI, dual floppy, 2 serial and one parallel on board.

 2) Make the board fast enough to run at 15 MHz with the 23C032 chip
    set.

 3) Provide for expansion with 6 or 8 _NuBus_ slots.

 4) With good expansion slots and an MMU (25 bit addr), we can add:
	- 16 meg addtl memory using simms on 1 or 2 boards
	- 332 or 532 co-processor boards (or both)
	- Ethernet (or other LAN) and more serial ports.
	- A CG16-based video co-processor board (details below)
	   I'm willing to design this one.
	- 'foreign' co-processor cards (68k or x86, or whatever)
        - Other cards as desired.
    
 5) The OS would be a variant of MINIX, with utilities (GCC esp.)
    adapted from other public domain sources.

Now for some explanation:

1)  Everybody wants to get away from brain-dead Intel architecture, otherwise
why would we be trying so hard to get a 32k system up.  Why fix _just_
the processor, when we can fix the whole board?  I say 32032 instead of
32016 because of the improved performance for as little as $20 more.
The speed hungries (myself being one of them) can put in as much performance
as they like or can afford.  Those who want a PC-bus card should go with
Dave Rand's design, already stable with something of a user base (there was
a user's group, but the contact I had has slipped a little).

2)  A simple consideration which will improve performance and ease
of upgrade.

3)  The PC bus architecture is just as slow and awkward as the rest of
the system.  NuBus, at least, is an IEEE standard, supports 32 bits,
and has a connector which can perform at reasonable speeds.  From what
I've seen of the inside of a Mac II, the AT-chassis form factor can be met
with NuBus cards.
    Economies of scale still apply here.  I think I could re-produce (with
some work) most of the clone periphs on the market (at least the simpler
ones) in quantity one for what I would pay at one of the local swap meets.
And I thought the idea here was to split up the work to cut time and
prototype costs.  Besides, NuBus periphs are quantity items now.
    If anyone has a better bus standard, I'm open for suggestions.

4)  With 25 bits of addressing, 20 out of a possible 32 Meg of space
in DRAM seems reasonable.  My personal preference is to use an ECC
memory design, but that carries a 25-30% hardware overhead, and a
wait-state speed penalty.  Since I don't have a good feel for the
frequency of dropped bits, this may not be necessary, but a simple
parity checker that croaks anyway like the PC is not what I want.
    Since the 32k series is supposed to be upwardly compatible, it should
not matter whether or not the on-board 032 or an added 332 or 532 is
doing the work.  An add-in card will keep initial costs down, allow
for easy up-grade, and provide for an I/O processor with the high-perf
one.  For those who _really_ want a 532 based motherboard, consider
this: you will get a much larger user base through the method I have suggested,
which makes software and hardware support much cheaper.  And by designing
in the upgrade, the initial $1000 outlay doesn't disappear when you
go up a class.  See below for software considerations.
    No comments on serial I/o, except that NS16450 chips are a good choice,
since one can shift to 16550s to get a FIFO buffer for better bandwidth.
DMA is probably best added as an option.
    Apple is supposedly offering (or planning) co-processor boards for the
Mac II - there is no reason (other than mass-storage overhead) why those
couldn't be interfaced to this system, or a PC-emulator either.  The BIOS
would have to reside in RAM, with artifical hooks to the outside world, however.
    My personal favorite topic is the video I/O.  I think it would be fairly
simple to wire up a CG16 with one to eight 1Mbit pixel planes (4x64Kx4 video
rams) on a single card.  These could be configured in groups of 1, 2, or 4
1 Mbit blocks to provide just about any combination of pixel and color
resolution, with the ability to link up to three cards (1024x1024x24bit
resolution).  Video data rates would also be variable by selection of time
base, up to about 80MHz using AS or F shift registers.  The hard part is
isolating the processor from the data bus (no MMU for protection), and finding
a source for the fast D/A's.

Lastly, software.  I would like to see full source available, without licensing
costs (well, $200 is OK), and MINIX is about the only thing available _now_.
I don't expect an exact port of MINIX; the memory manager would have to be
written, but the file system and such are good enough to get everybody started.
I think GCC is almost a necessity, but hasn't that port been done?
GNU would be even better, but I don't want to wait for it (and with public
domain hardware out, the FSF people may even help us port it).  Consider also
that with MINIX's message passing kernel and process queues, adding an
additional processor is as easy as starting up another memory manager, with
only one file system and kernel process.  Different processors could be
restricted to using different queues, i.e. with a 532, the 032 could run
the fs process almost constantly.

  One more comment - if the interest to help design this is as big as it
  seems, we may have an economy of scale here - perhaps 1000 units if we
  consider those who haven't time, resources or skill to build one of the
  units, but who would gladly be willing to software hack if such a box
  existed.  I think we could get a good deal on chips in 1000 unit quantities.

  I apologize for the length of this, but I saw a lot of people not thinking
  ahead very far, and I beleive design flexibility may be one of the strengths
  of the whole project.  I'd be glad to help coordinate, but my time is
  quite limited with graduate school - isn't everybody's :-)

  Comments welcome,
    Kevin

-------------------------------------------------------------------------------
    Kevin G. Heppell                            784 Santa Barbara Rd.
    ucbvax!sim!heppell                          Berkeley, CA  94707-2046
    arpa:   heppell@sim.Berkeley.EDU            (415) 528-6396

meo@stiatl.UUCP (Miles O'Neal) (11/22/88)

In article <7648@pasteur.Berkeley.EDU> heppell@sim.berkeley.edu (Kevin G. Heppell) writes:
(some VERY sensible suggestions)

Obviously, I concur with Kevin.
I don't care whether it's Nu-Bus or not, but it seems as good
a suggestion as any, and a LOT better than the PC buses,
altho the new standard from Compaq et al may be worthwhile.
But since the ONLY reasons I will be on a PC-derivative are
for developing PC software (and I VERY seldom do this!),
or for using existing business products
while I wait for someone to do them in UNIX (or I do them),
I really have no use for anything else to be PC-compatible.
That's what RS-232, Ethernet, and the like are for!

-MileS

bga@raspail.UUCP (Bruce Albrecht) (11/23/88)

In article <7648@pasteur.Berkeley.EDU>, heppell@sim.berkeley.edu (Kevin G. Heppell) writes:
> 3)  The PC bus architecture is just as slow and awkward as the rest of
> the system.  NuBus, at least, is an IEEE standard, supports 32 bits,
> and has a connector which can perform at reasonable speeds.  From what
> I've seen of the inside of a Mac II, the AT-chassis form factor can be met
> with NuBus cards.

I don't have any problems with using NuBus.  Whose version would we use,
since I believe Apple and NeXT have both modified it.

>     Since the 32k series is supposed to be upwardly compatible, it should
> not matter whether or not the on-board 032 or an added 332 or 532 is
> doing the work.  An add-in card will keep initial costs down, allow
> for easy up-grade, and provide for an I/O processor with the high-perf
> one.  For those who _really_ want a 532 based motherboard, consider
> this: you will get a much larger user base through the method I have suggested,
> which makes software and hardware support much cheaper.  And by designing
> in the upgrade, the initial $1000 outlay doesn't disappear when you
> go up a class.  See below for software considerations.

I don't think we should base it on an 016 or 032.  That's like building a
68k system on a 010.  Sure it's cheaper, but it's also going to be slower
and need an upgrade all that much sooner.  Also, if you use the 082 MMU,
you'll probably want to get a '382 for an upgrade to the 332/532, but you
may not need to get a new 382 for an upgrade of the 332 to 532.  Also, the
082 and 382 are programmed differently, so I think it would be better if
we only used one.

I think there may be a number of people who would not be interested in this
design if it uses the 032.  If I had a choice between a home-brew 032, and
a commercial 68030 (i.e., Atari or Commodore) for $3-4k, I'd probably go
for the commercial system, but a $1500-2500 32332 or 32532 system would be
my first choice.

Bruce

dtynan@sultra.UUCP (Der Tynan) (11/23/88)

In article <1724@stiatl.UUCP>, meo@stiatl.UUCP (Miles O'Neal) writes:
>
> But since the ONLY reasons I will be on a PC-derivative are
> for developing PC software (and I VERY seldom do this!),
> or for using existing business products
> I really have no use for anything else to be PC-compatible.
> That's what RS-232, Ethernet, and the like are for!
> 
> -MileS

No.  That's not the reason for using the PC bus.
The reason is simple -- cost of peripherals.
Where else can you get a floppy-disk controller for $25?
Or, a serial I/O card for $20.
If you go with some wonderful, non-PC bus, you end up paying
heavily for your "RS-232, Ethernet, and the like" cards.
						- Der
-- 
	dtynan@zorba.Tynan.COM  (Dermot Tynan @ Tynan Computers)
	{apple,mips,pyramid,uunet}!Tynan.COM!dtynan

 ---  If the Law is for the People, then why do we need Lawyers? ---

ford@stout.ucar.edu (Chris Ford) (11/23/88)

I'd like to put in a few words for 32k fans with "modest" needs.

In article <1052@raspail.UUCP>, bga@raspail.UUCP (Bruce Albrecht) writes:
> I don't think we should base it on an 016 or 032.  That's like building a
> 68k system on a 010.  Sure it's cheaper, but it's also going to be slower
> and need an upgrade all that much sooner.

Factoring in the support a 532 deserves, MUCH cheaper.  And the pressing
"need" for an upgrade depends on one's motivation.  My goals are to dive into
ns32k-land as deeply as possible and to obtain a useful single-user system
cheaply in the process.  Sure, 'useful' is another subjective term.  The 532
accomplishes essentially what the 032 does, just (!) a helluva lot faster.

Bruce continues:
> I think there may be a number of people who would not be interested in this
> design if it uses the 032.

I submit that there definitely are a number of people who _would_ be
interested in an affordable board for the 032, namely its DK owners and
prospective owners.

My intent is not to change Bruce's mind; by all means, pursue high-end speed
if you need it.  I'm just fishing for support for a low-end (though certainly
non-toy) board.  A succussful PD effort will require some volume up front.
Who else else out there would trade latest-chip speed for a truly cheap entry
into the 32-bit realm and the best CISC architecture going?
--
ford@stout.Ucar.EDU	(Chris Ford)

josef@ugun21.UUCP (11/28/88)

In his response, Chris Ford (ford@stout.UUCP ) writes:
> I'm just fishing for support for a low-end (though certainly
> non-toy) board.

I support this idea: I want an entry into the NS32k world and,
for myself, would live with an '016 ('couse I already got one on a
Multibus (ugh!) board). As all the 32k CPUs are SW-comaptible,
I don't care.

Just to add my $0.02:
This is what I envision:
1.) A single board computer comprised of
    a) a CPU block with 32016 CPU, '081 FPU, '082 MMU, '203 DMAC
       (I might go for a hight CPU if I can get one)
    b) a "local resources" block with EPROM, SRAM (23Kx16), UART,
       PIO etc
    c) main memory 4/16MByte dynamic RAM with parity(?)
    d) AT expansion slots.
    e) on-board periph's: graphics (Hitachi ACRTC?), bulk storage
       (SCSI?), Comm (Ethernet?)
2.) Software written in MODULA-2, THE language for the NS32K

I'm a "building block" type, I love the modular approach to HW and
SW.
I would build the motherboard with steps a) and b) first, then d), c) and e).
This would allow me to play with it, test it at an early stage.
As far as the SW is concerned, I would even think of re-writing a UNIX
(V7??) from scratch in M-2 (Lion's source is some 10,000 lines of code)

Apart from airing my ideas, what I want to express is that I personally
don't want to pay multi-k $$ for a high-end system that I will not use
professionally.
All I want is an entry-level systemI can play with.

Running the risk of dividing the world:
Why not go for two systems: a low-power/low-cost and a high-power/high-cost
or vote!

		Josef Moellers

	paper mail:			e-mail:
c/o Nixdorf Computer AG		USA:  uunet!linus!nixbur!nixpbe!mollers.pad
Abt. EG-3			!USA: mcvax!unido!nixpbe!mollers.pad
Unterer Frankfurter Weg
D-4790 Paderborn
tel.: (+49) 5251 104691

Standard disclaimer: Blablabla opinion blablabla employer blablabla!