[comp.unix.xenix] Wanted: Suggestion for 286==>386

mdc@eddie.MIT.EDU (Marty Connor) (12/02/87)

I am seeking advice from folks in the community about how to best
upgrade my AT clone to a 386.  I want to start a news distribution
service, and hacker haven in the Boston Area.

Here's what it currently looks like.

	Wyse 286 (10 mhz) (640k)
	Intel Above board (4 meg)
        4 port Digiboard serial card on COM2:
        1 port serial card on COM1:
	40 meg hard drive (primary)
 	20 meg hard drive (secondary)

I would like to turn this into a 386 box.

I hear tell of the INBOARD from Intel.

Questions:

  - Can I use an INBOARD/386 with my ABOVE BOARD with no trouble?

  - Can I get an INBOARD/386 with a Numeric Coprocessor?

  - How does the performance compare to a 386 machine?

I could also get a 386 machine and move the disk drives and such to
it;  
        
  - Is it ok to use the 16 bit memory with a 386, or would I have to
    buy a new 4 meg?

If you have any other ideas or advice, please feel free to give
them... ("I am as you humans say, 'all ears'").

Thanks,

Marty


  

caf@omen.UUCP (12/04/87)

In article <7560@eddie.MIT.EDU> mdc@eddie.MIT.EDU (Marty Connor) writes:
:  - Is it ok to use the 16 bit memory with a 386, or would I have to
:    buy a new 4 meg?

Depending on the motherboard, the answer is yes and yes and maybe.
this site runs an Intel 386 motherboard with a total of 2.5 MB of
32 bit ram.  I have 2 MB of 16 bit ram which I switch in to play
with VP/ix (SCO's DOS virtual machine).

Despite warnings in the SCO documentation, I have not identified any
errors caused by 16 bit memory on the Intel motherboard.  However,
16 bit memory causes programs to run very slowly, equivalent to a
4 mHz AT.  So, the system runs faster without that memory.  If there
were a way to specify the 16 bit memory (higher addresses) were used
only for buffers, I'd turn it back on.

If you get a motherboard with cache memory, the performance hit from
16 bit memory might not be so terrible.

sl@van-bc.UUCP (12/04/87)

In article <7560@eddie.MIT.EDU> mdc@eddie.MIT.EDU (Marty Connor) writes:
>
>I am seeking advice from folks in the community about how to best
>upgrade my AT clone to a 386.  I want to start a news distribution
>service, and hacker haven in the Boston Area.
>
>Here's what it currently looks like.
>
>	Wyse 286 (10 mhz) (640k)
>	Intel Above board (4 meg)
>        4 port Digiboard serial card on COM2:
>        1 port serial card on COM1:
>	40 meg hard drive (primary)
> 	20 meg hard drive (secondary)
>
>I would like to turn this into a 386 box.

>If you have any other ideas or advice, please feel free to give
>them... ("I am as you humans say, 'all ears'").
>

One option that I'm looking at is a 386 AT mother board. There seem to be
several available (Intel, Mini 386 from Taiwan, etc). 

These typically have either 32 bit slots for the 32 bit memory or room for
memory on board. For example the Intel mother board has .5MB on board with
two slots, 2 and 8 MB cards are available (although the 8's are very
pricey). The Mini 386 has no 32 bit slots but allows 1/2/4/8 MB on board by
using 4/8 256kb or 4/8 1MB SIM Strips.

These machines are very fast, (Intel 16Mhz 1 wait state, Mini 386 16Mhz 0
wait states) when accessing the 32 bit memory. But they are typically much
slower accessing 16bit memory. So if you're running Unix you don't want to
use anything but 32 bit. 

As an example a 32 bit read on the Intel mother board will take either 187.5 
or 312.5 nano-seconds depending on whether the data is coming from a "busy" 
bank. This is compared to a 32 bit read from 8 bit memory taking 1000 nano
seconds, and from 16 bit memory taking 3125 nano seconds (this is from the
Intel manual, personally I'm convinced that it's probably 1000 for 16 bit
and 3125 for 8 bit, but then who am I to argue :-) ).

In theory you should be able to take any 286 AT and simply replace the
mother board using all of your existing hardware and software. If you wish
to run Unix then you will want additional 32bit memory (2MB minimum).

Guestimates on cost: Intel about $1400 for motherboard, $800 for 2MB memory
card. Mini 386 about $1020 for a 1MB board. Upgrade to 2MB is inexpensive
($200), to 4 or 8MB is quite expensive ($1200/$2400, if you can get the 1MB
SIM's).

I'm currently using the Intel board in a Bell Tech machine at work. We are
fairly happy with it using Microport System V/386. It certainly run's rings
around my little Callan ( 10Mhz 68010 ) here at home. The Mini 386 would
probably be a little faster due to 0 wait state for interleaved memory
access.

We just did some tests tonight on loading down a dumb serial card (vintage
1983 Hostess 8 port card). Basically terminal I/O for a couple of terminals
at 19.2 was fine. One trailblazer at 19.2 was fine as long as nothing much
else was happening (on the other serial ports). I don't think there would 
be any problem with up to four 2400 uucp links although I won't be able to 
test that until next week. 

I don't know yet where the problems with multiple high speed uucp links
lies. It's probably lost characters due to interrupt loading, but could be 
lack of clists to put the incoming data. With two 9600 and one 2400 uucp
links going there was not a whole lot of processor power left :-)

If it is simply processor loading I'm not to sure that it might be curable
by a better driver design. One test showed that we could cause an incoming
uucp link at 9600 to loose characters simply by cat'ing a small file to a
screen (on a lower port number). That is simply bad design, a driver should
always give priority to incoming data if it can. 

If you are going to really load down the system with serial I/O you should
look at a smart card. We've got the Bell Tech ICC card and after some
initial teething problems with the modem control software which they have
almost got fixed (the remaining problems are fairly obscure for low speed
links, with the only serious problem being supporting high speed modems).
They are aware of the problems and have promised a to get a working version
in short order. I like this card and it now works very well for terminals
and low speed modems (up to 2400 bps tested). Given their low cost (about
50% more on a per port basis than most dumb cards) they are a pretty good
deal. 




-- 
{ihnp4!alberta!ubc-vision,uunet}!van-bc!Stuart.Lynne Vancouver,BC,604-937-7532

neighorn@qiclab.UUCP (12/06/87)

In article <7560@eddie.MIT.EDU> mdc@eddie.MIT.EDU (Marty Connor) writes:
>
>I could also get a 386 machine and move the disk drives and such to
>it;  
>        
>  - Is it ok to use the 16 bit memory with a 386, or would I have to
>    buy a new 4 meg?
>
Whether or not you can use 16-bit memory on a 386 box is dependent on the
box, but most of the 386-based AT platforms I have seen allow you to use
16-bit memory cards. A word of warning on using 16-bit memory cards in
a '386 though: They are slow.

Most of my experience in this area comes from using two iSBC 386AT boards
from Intel. One system (catlabs - running Microport V/386) has 4.5 meg
of memory - 512k of 32-bit memory on the motherboard, 2 meg of 32-bit memory
in one of the 32-bit slots, and 2 meg of 16-bit memory on an Everex AT
expansion card sitting in one of the 16-bit slots.

The first thing you notice is while the machine is running the memory
check, it blazes through the first 2.5 meg, then slows down while going
through the next 2 meg. Microport (and I believe SCO Xenix) uses memory
from low-to-high, leaving the unused memory at the top for user-memory.
Microport allocates 1.3 meg for buffers, leaving me approximately 2.9
meg of user-memory. In my current configuration, that means about 1 meg
of my user-mem is 32-bit memory and 2 meg is 16-bit. The lack of options
on the 32-bit card and the Everex card prevent me from switching the cards
so the 16-bit memory is used for buffers and the 2 meg 32-bit card is
used for user-mem. I am unaware of any way to change the location of
the buffer allocation, so it looks like, for the moment, I am stuck with
the current configuration.

Now the numbers: General testing (ie memory intensive programs, the venerable
dhrystone bench, the MUSBUS bench stuff posted awhile ago) reveal that the
16-bit memory runs at about the same speed as 16-bit memory in a 6Mhz PC/AT.

A look in my iSBC 386 manual shows the reason why: (A note - the iSBC386
uses dual-bank memory on the motherboard and the 32-bit memory slots. Only
one wait-state is needed to access sequential memory in the alternating
banks.)

Operation                          CPU Clock at 16MHz    Time
---------                          ------------------    ----
32-bit (motherboard/32-bit slots):
       Read from alternating bank       3                187.5
       Read from same bank              5                312.5
       Write to alternate bank          4                250.0
       Write to busy bank               6                312.5
       ROM Read (two 16-bit accesses)  12                750.0

8-bit expansion slot read/write:
       8-bit (PC-compatible slot)       8                500.0
       16-bit (AT-compatible slot)     13                812.5

16-bit expansion slot read/write:
       8-bit (PC-compatible slot)       8                500.0
       16-bit (AT-compatible slot)     25               1562.5

32-bit expansion slot read/write:
       8-bit (PC-compatible slot)      16               1000.0
       16-bit (AT-compatible slot)     50               3125.0

Depending on the previous cycle, the 8/16/32 bit expansion operations
might take an additional 62.5 ns clock cycle.

If you are seriously thinking of getting an 80386 box, and speed is the
name of the game, then spring for all the 32-bit memory you can get. My
applications are such that more user-memory and larger buffers outweigh 
the slowness of the 16-bit memory. Good luck in your search.
-- 
Steven C. Neighorn            !tektronix!{psu-cs,reed,ogcvax}!qiclab!neighorn
Portland Public Schools      "Where we train young Star Fighters to defend the
(503) 249-2000 ext 337           frontier against Xur and the Ko-dan Armada"