riscy
[Top] [All Lists]

Re: My thoughts on the MB design...

To: drew@nagina.cs.Colorado.EDU
Subject: Re: My thoughts on the MB design...
From: Pat Mackinlay <SMACKINLA@cc.curtin.edu.au>
Date: 29 Jun 1993 20:36:48 +0800
Cc: riscy@pyramid.com
>I'd also like to recommend that we move the low-bandwidth I/O
>off the system board (keeping it on a 10Mhz bus of the 3070
>or whatever) to these slots, since 

[...list of good reasons deleted...]

It seems the most strident opposition to this is actually coming from Neil. 
It looks to me like Steve, Drew and myself are all for the "proprietry" 
slow I/O bus rather than attempting to do an ISA bus. Basically, the only 
device that really _has_ to have high bandwidth is the video system, so 
that _must_ end up on the motherboard. All other devices, including SCSI 
and Ethernet, would do very well on a little custom I/O bus. Sure, we have 
to make cards for it, but I don't think there'll be a huge price difference 
between doing this and buying the equivalent "off the shelf".

>Since we've been told about the 34076 / NS RAMDAC / timing 
>generator, I don't think the 34010 is the best route to 
>go in terms of either cost or performance.

Right. At the moment, Steve's suggestion of the 34076 + NSC thingy is the 
best option, in my mind. This gives us high performance, minimal 
complexity and ease of programming. We _really_ need some prices and details
on the availability of these chips. Steve?

>We're all guilty of wild speculation on this. [pricing]

Yeah. It's pretty hard for me to get any decent pricing information down 
here in Australia. I think this is pretty much going to have to be done by 
you Yanks... <grin>

>       I have no great objection to a SIMPLE video interface such as
>       the DMA-driven one Neil mentioned

>I agree.  It's an elegant solution, that should give admirable 
>performance at the same time.

I think there's a bit of misunderstanding here. Essentially, we _either_ 
use the 3730's special DMA stuff for video from DRAM (obviously a bad 
choice for our requirements), or we use VRAM and the 34076. I think we've 
pretty much settled on the second of these, haven't we? If so, then the 
special "video DMA" stuff on the 3730 will be unused.

Here's another attempt at a summary of what I think we're looking at:

* CPU: I think (hope) we've settled this one. We'll decide on the specific 
model of IDT R30xx when the time comes.

* Expansion: There are two opposing camps here. Some people want an ISA bus 
while others (including myself) think a "custom" 16 bit bus clocked at 
something like 10MHz would be better. The advantages of the ISA bus are all 
to do with the availability of boards. The potential advantages of a custom 
bus is that it can be made smaller and simpler, and can be targetted to our 
system more directly. I really think we stand to gain a lot more by using 
our own bus design than by making a "cut-down" version of the ISA bus. 
There are not really that many ISA cards that would be useful, in any case, 
and the ones that are are fairly easy to do ourselves with minimal effort 
(ie: floppy, parallel, more serial ports etc.).

* Video: To me, the best option at the moment is a dumb framebuffer. The 
video image would be stored in VRAM (possibly Mac VRAM SIMMs?). A 34076 
would be responsible for extracting pixel data from the VRAM and pushing it 
through the DAC/palette system to produce analog RGB signals. The NSC chip 
(can't remember the damn number) mentioned by Steve would be responsible 
for producing monitor sync and blanking signals.

* SCSI: I think we're going to be pretty much ok with either the NCR53C94 
or the 53CF94. I'm suggesting that we logically attach it to our "low 
speed" I/O bus, but physically place it on the motherboard. SCSI is not a 
problem as far as bandwidth goes, but I think it's a critical enough 
component that it deserves a place on the motherboard.

* Ethernet: I don't think anyone's come up with a convincing argument as to 
why this needs to be on the motherboard, so I think it should be placed on 
a card also. If there is a good reason for it to go onboard, it should 
still be logically attached to the I/O bus.

* DRAM: At the moment, the best option for DRAM control looks like the 
3730. As for the number of SIMM sockets used, I'd go for 16, mainly to 
reduce board space (and cost).

* Serial: The NS16552 looks like it might be a good choice here. Again, I'd 
suggest that we logically attach it to the I/O bus, but physically place it 
on the motherboard. Doing this will allow us to expand the serial 
capabilities of the machine fairly easily by adding another card with 
perhaps a 4 or 8 port chip, but without increasing board complexity or 
space.

* Keyboard: It still looks like a pre-programmed 8041 is the ticket here. 
I'm starting to think that it's actually not an essential component, 
however, and would do quite well on an expansion card (initial development 
will be over a serial port).

* RTC and NVRAM: No one's suggested anything here yet, but again - although 
they're essential from an OS perspective, they're not fundamental to the 
operation of the hardware. I suggest putting the keyboard controller, RTC 
and NVRAM all on one expansion card.

* Floppy and parallel: I think this would be best left to an expansion 
card. These will not be essential components during the initial development 
phases, and would be much better off being physically placed on a card 
(possibly along with the above mentioned keyboard/RTC/NVRAM).

* Sound and other junk: Again, other "frilly" devices don't really deserve 
a place on the system board. We need to keep the main board down to 
essentials as much as possible.

Here's an ASCII "picture" of my ideas:

    +------+   +-------------+   +------+
    |      |   | CPU + DRAM  |   |      |
    | DRAM +---+ control and +---+ VRAM |
    |      |   | I/O control |   |      |
    +------+   +------+------+   +--+---+
                      |             |
                      |      +------+-------+
                      |      | Video system |
                      |      +------+-------+
(I/O bus)             |             |
    ---+-----------+--+----------+--+--- - - - ---+---
       |           |             |                |
    +--+---+   +---+----+   +----+-----+     +----+----+
    | SCSI |   | Serial |   | Ethernet |     |  Other  |
    +------+   +--------+   +----------+     | devices |
                                             +---------+

BTW: I think all the I/O devices can be easily handled by the CPU, without 
the need for a second CPU (re: Steve's 3041 idea). I much prefer the idea 
of using a dedicated I/O chip like the 3730 over introducing another CPU 
and all the problems that go along with that.

Pat -- "There's only one thing left to do Mama, I got to ding a ding dang
        my dang a long ling long" (Jesus Built My Hotrod -- Ministry)
GCS d* -p+ c++ l++ m--- s+/- !g w- t- r

 

<Prev in Thread] Current Thread [Next in Thread>