[comp.sys.intel] Difference between a 386 and a 386sx

tlhilde@ecn.purdue.edu (Troy Hildebrand) (09/17/90)

Can anybody help me with the difference between a 80386 and a 80386sx?  
I have been warned _not_ to go with a 386sx when purchasing a computer,
no matter what the cost difference is.  What exactly is the difference
between an 386 based motherboard and an 386sx motherboard?  This is in 
regards to third party motherboards.  Are there any particular features
which distinguish the 386 and 386sx boards?  

I am looking at several different systems and am having difficulty with
the price/performance difference.  A 16 Mhz clock speed is fine for me,
and I probably won't want more than 4 megs of memory.

Please e-mail responses.

Thanks.
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     Troy Hildebrand      | That'll be the last |  The Internet: more than just
tlhilde@en.ecn.purdue.edu | teacup I have...    |  a free phone system! Whee!
tiptop@vet.vet.purdue.edu | 

jaa@sppy00.UUCP (Jeff Anderson) (09/17/90)

In article <1990Sep16.194605.11968@ecn.purdue.edu> tlhilde@ecn.purdue.edu (Troy Hildebrand) writes:
>
>Can anybody help me with the difference between a 80386 and a 80386sx?  
>I have been warned _not_ to go with a 386sx when purchasing a computer,
>no matter what the cost difference is.  What exactly is the difference
>between an 386 based motherboard and an 386sx motherboard?  This is in 
>regards to third party motherboards.  Are there any particular features
>which distinguish the 386 and 386sx boards?  

386sx boards do not support 32 bit bussing.  The processor supports 32 bit
instructions, but the memory buss (for example) is only 16 bits.  A sx is like
a 286 with 32 bit instructions and more speed.

------------------------------------------------------------------------------
Jeff Anderson                                  jaa@sppy00.UUCP
Online Computer Library Center (OCLC)          killer!osu-cis!sppy00!jaa  
614-764-6222
------------------------------------------------------------------------------

msandifo@ucs.adelaide.edu.au (Martin Sandiford) (09/18/90)

From article <935@sppy00.UUCP>, by jaa@sppy00.UUCP (Jeff Anderson):
> In article <1990Sep16.194605.11968@ecn.purdue.edu> tlhilde@ecn.purdue.edu (Troy Hildebrand) writes:
>>I have been warned _not_ to go with a 386sx when purchasing a computer,

This would seem to be a little unreasonable to me.  Maybe this person has
an axe to grind?

> 386sx boards do not support 32 bit bussing.  The processor supports 32 bit
> instructions, but the memory buss (for example) is only 16 bits.  A sx is like
> a 286 with 32 bit instructions and more speed.

It would be more correct to say a 386sx is like a 386dx with a 24 bit bus and
16 bit data path.

Martin.

poffen@sj.ate.slb.com (Russell Poffenberger) (09/18/90)

In article <935@sppy00.UUCP> jaa@sppy00.UUCP (Jeff Anderson) writes:
>In article <1990Sep16.194605.11968@ecn.purdue.edu> tlhilde@ecn.purdue.edu (Troy Hildebrand) writes:
>>
>>Can anybody help me with the difference between a 80386 and a 80386sx?  
>>I have been warned _not_ to go with a 386sx when purchasing a computer,
>>no matter what the cost difference is.  What exactly is the difference
>>between an 386 based motherboard and an 386sx motherboard?  This is in 
>>regards to third party motherboards.  Are there any particular features
>>which distinguish the 386 and 386sx boards?  
>
>386sx boards do not support 32 bit bussing.  The processor supports 32 bit
>instructions, but the memory buss (for example) is only 16 bits.  A sx is like
>a 286 with 32 bit instructions and more speed.
>

Don't confuse the 286 and 386sx, they are quite different. Basically the 386sx
is the SAME CPU as the 386(dx), except that the DATA bus is only 16 bits. This
means that when it needs a 32 bit instruction or 32 bit data, it takes two bus
cycles to do it. I also think that its address bus is limited (at least 16
Mbytes). Other than that, it can run ALL 386 programs fine, just slower.

Russ Poffenberger               DOMAIN: poffen@sj.ate.slb.com
Schlumberger Technologies       UUCP:   {uunet,decwrl,amdahl}!sjsca4!poffen
1601 Technology Drive		CIS:	72401,276
San Jose, Ca. 95110             (408)437-5254

mlord@bwdls58.bnr.ca (Mark Lord) (09/19/90)

In article <1990Sep16.194605.11968@ecn.purdue.edu> tlhilde@ecn.purdue.edu (Troy Hildebrand) writes:
>
>Can anybody help me with the difference between a 80386 and a 80386sx?  
>I have been warned _not_ to go with a 386sx when purchasing a computer,

Absolute foolishness..  The ONLY difference you care about,
is that a 386sx is slower than a 386dx.  Other than that, they behave
identically, and each will run any existing software for the 80386.

The 386sx is slower due to a narrower data path to memory, requiring
more cycles to move the same amount of data around.  It is also slower
because Intel does not yet sample this chip at the same speeds as the 386dx,
which results in 386sx systems running at 16Mhz/20Mhz, instead of 25/33 Mhz.

The SX can also not address as much memory as the DX, but it can certainly
handle 4Meg.. as much as 16Meg I believe (mine has 8Meg).

Software compatibility is guaranteed by the simple fact that no existing
software is even  ABLE to tell the difference!  Because there is none.
(it is theoretically possible to write code to distinguish, but nobody has
published it, and I'm not telling either!).
-- 
 ___Mark S. Lord__________________________________________
| ..uunet!bnrgate!mlord%bmerh724 | Climb Free Or Die (NH) |
| MLORD@BNR.CA   Ottawa, Ontario | Personal views only.   |
|________________________________|________________________|

edgincd2@mentor.cc.purdue.edu (Chris Edgington *Computer Science Major*) (09/19/90)

If you wanted to determine whether or not the chip you are using is a 386
or a 386sx, couldn't you just execute some 32 bit intructions and time the
number of machine cycles it takes to execute them.

Chris Edgington

rlr@bbt.UUCP (rader) (09/19/90)

Mark Lord writes:
>Troy Hildebrand writes:
>>
>>Can anybody help me with the difference between a 80386 and a 80386sx?  
>>I have been warned _not_ to go with a 386sx when purchasing a computer,
>
>Absolute foolishness..  The ONLY difference you care about,
>is that a 386sx is slower than a 386dx.  Other than that, they behave
>identically, and each will run any existing software for the 80386.
>
>The 386sx is slower due to a narrower data path to memory, requiring
>more cycles to move the same amount of data around.  It is also slower
>because Intel does not yet sample this chip at the same speeds as the 386dx,
>which results in 386sx systems running at 16Mhz/20Mhz, instead of 25/33 Mhz.
>

  Just as an aside, the 386sx relationship to the 386dx is a direct parallel
to the 8088 relationship to the 8086.  That is, the 386sx data bus is 16 bits
while the 386dx data bus is a full 32 bits.  8088 data bus is 8 bits while
the 8086 data bus is 16 bits.

  The reason for the major cost differential?  The surrounding motherboard
hardware is much less complex for the 386sx.

  However, thanks go to Mark Lord.  I was unaware that no 386 software
distiguishes between the 386sx or dx.  This should ease my financial woes in
my unavoidable home PC upgrade (from an old PC clone :( ).

-- 
ron rader, jr               rlr%bbt@rti.rti.org = Opinions are my own and do not
| |  i gotta six-    rlr%bbt$rti.rti.org@CUNYVM = necessarily reflect those of
 | | pack, & nothin' to do ...!mcnc!rti!bbt!rlr = BroadBand Tech. (SO THERE!)
*** Punk ain't no religious cult, punk means thinking for yourself - DKs ***

paulc@hp-lsd.COS.HP.COM (Paul Carroll) (09/19/90)

> / jaa@sppy00.UUCP (Jeff Anderson) /  8:41 am  Sep 17, 1990 /
> 
> 386sx boards do not support 32 bit bussing.  The processor supports 32 bit
> instructions, but the memory buss (for example) is only 16 bits.  A sx is like
> a 286 with 32 bit instructions and more speed.

	Actually, it is probably better to characterize the
	80386sx as an 80386dx with a 16-bit bus.  Other than
	that, they should act exactly the same.  Saying the
	80386sx is just a 286 with 32-bit instructions isn't
	doing it justice.  (Who needs/likes 64k segments anyway?)

	As far as memory differences go, the 80386sx will only
	address up to 16 Megabytes of memory (24 address bits), 
	while the 80386 will address 4 Gigabytes (32 address bits).
	Since you only need 4 Megabytes of memory, either would work.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+	Paul Carroll			"I don't believe there is a single   +
+	HP Logic Systems Division	 man, woman, or child alive in       +
+	paulc%hp-lsd@hplabs.hp.com	 America today that doesn't enjoy a  +
+					 lovely beverage!" - David Letterman +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rcollins@altos86.Altos.COM (Robert Collins) (09/19/90)

In article <4383@bwdls58.UUCP> mlord@bwdls58.bnr.ca (Mark Lord) writes:
>
>Software compatibility is guaranteed by the simple fact that no existing
>software is even  ABLE to tell the difference!  Because there is none.
>(it is theoretically possible to write code to distinguish, but nobody has
>published it, and I'm not telling either!).

Sure it's possible to tell the difference between the two...if you make the
code hardware dependent.  As far as I know, it is impossible to tell the
difference in a generic way.  If you try and preload the prefetch queue
and use self modifying code, then that method will work on certain machines,
but will fail on others...due to memory and bus wait states, and any
memory cache.  Sure, I have a method that works on a 16Mhz SX & 16Mhz DX.
But that same algorithm fails on my 33Mhz DX with cache!  So, if you have
a generic method, and it works on ALL DX's and SX's regardless of speed,
memory, cache, and bus width (remember, many early 386 machines simply used
'286 motherboards with the 386 figured in the schematic -- hence a 16-bit
data path), then POST IT! 

-- 
"Worship the Lord your God, and serve him only."  Mat. 4:10
Robert Collins                 UUCP:  ...!sun!altos86!rcollins
HOME:  (408) 225-8002
WORK:  (408) 432-6200 x4356

md89mch@cc.brunel.ac.uk (Martin Howe) (09/21/90)

In article <1990Sep16.194605.11968@ecn.purdue.edu> tlhilde@ecn.purdue.edu (Troy Hildebrand) writes:

>Can anybody help me with the difference between a 80386 and a 80386sx?  
The SX is to the DX what the 8088 is to the 8086, that is it is the SAME
internal execution unit, but the external bus size is smaller in order
to be able to make cheaper systems from it, with about 40% loss of
performance (depending on cache hit rates).

CHIP NAME		8088    8086    386SX   386DX
**internal** CPU	8086	8086	386DX	386DX
Prefetch queue		4       6	?	 16	bytes
External Addr Bus	20	20	24	 32	bits
External Data Bus	8	16	16	 32	bits


>I have been warned _not_ to go with a 386sx when purchasing a computer,
>no matter what the cost difference is.  What exactly is the difference
>between an 386 based motherboard and an 386sx motherboard?  This is in 
>regards to third party motherboards.  Are there any particular features
>which distinguish the 386 and 386sx boards?  

The SX motherboards are pretty much the same as DXs, performance-wise, *if*
they're ISA BUS (16-bits) based; a 386DX running over ISA bus is approx ==
to an SX, except when running out of any 32-bit memory installed on the CPU
local bus. On an EISA or PS2 bus, a 386DX will win easily, unless the menory
speed is lousy or the cache is badly implemented.  Also, the max. SX chip
speed is 20MHz and that's unofficial at the moment. The DX can be obtained
up to 33MHz. Again, this means nil over the ISA bus, which is the limiting
factor in speed for I/O or AT-style memory cards.

Anyone making an EISA (32-bit) SX motherboard is likely to be off
his or her trolley. If you see one, tell me what the hell a 32-bit
motherboard does for an SX chip (:-).

Regards,
Martin
-- 
  -   /|  . . JCXZ ! MOVSB ! SGDT ! iAPX ! | "Good morning Citizens. I would
  \`O.O' .    Martin Howe, Microelectronics|  remind you that Armed Robbery
  ={___}=     System Design MSc, Brunel U. |  is illegal in Megacity One." - JD
   ` U '      Any unattributed opinions are mine -- Brunel U. can't afford them.

peter@ficc.ferranti.com (Peter da Silva) (09/23/90)

In article <1824@Terra.cc.brunel.ac.uk> md89mch@cc.brunel.ac.uk (Martin Howe) writes:
> The SX motherboards are pretty much the same as DXs, performance-wise, *if*
> they're ISA BUS (16-bits) based;

Not so. Most 386DX systems have 32 bit memory on the motherboard, even if
they have an ISA peripheral bus. Many have at least one straight 32-bit
slot for memory cards (I don't know how standard these have become on
clones: Compaq has different versions for their 16- 20- and 25- MHz
machines!).

> On an EISA or PS2 bus,

Or ISA with 32-bit RAM

> a 386DX will win easily...

In fact the SX is just fine, even for UNIX, if speed isn't a big deal. It's
unacceptably slow for X, though.
-- 
Peter da Silva.   `-_-'
+1 713 274 5180.   'U`
peter@ferranti.com

marcb@hp-ptp.HP.COM (Marc Brandis) (09/26/90)

Yes, there is a way to distinguish, but it involves measuring the
time. Just do a long DWORD string instruction (like STOSD), do it
once aligned on a dword boundary and once aligned on a word boundary
but unaligned on a dword boundary (that is at the same address+2).
Time both runs. On a 386DX, the time for these two access sequences
differs quite a lot, as it needs one access for each doubleword in
the aligned case and two in the unaligned case. On the 386SX, the
times are the same as it requires two bus cycles anyway.


(* I speak only for myself.
	Marc-Michael Brandis
	Institut fuer Computersysteme
	ETH Zentrum
	CH-8092 Zuerich, Switzerland
	e-mail: brandis@inf.ethz.ch
		brandis@iis.ethz.ch
   Temporarily at HP, marcb@hp-ptp.ptp.hp.com
*)

rcollins@altos86.Altos.COM (Robert Collins) (09/28/90)

In article <1310001@hp-ptp.HP.COM> marcb@hp-ptp.HP.COM (Marc Brandis) writes:
>time. Just do a long DWORD string instruction (like STOSD), do it
>once aligned on a dword boundary and once aligned on a word boundary
>but unaligned on a dword boundary (that is at the same address+2).

This will fail on early DX motherboards that used a 286 design (16-bit
data path).



-- 
"Worship the Lord your God, and serve him only."  Mat. 4:10
Robert Collins                 UUCP:  ...!sun!altos86!rcollins
HOME:  (408) 225-8002
WORK:  (408) 432-6200 x4356

tlhilde@ecn.purdue.edu (Troy Hildebrand) (09/29/90)

Ok, everybody...I've decided to go with a 386sx, thanks for all the
useful information you provided.  In short, it seems that all software
written for the 386DX will work with the 386sx.  The jury is still
out on whether or not software is able to tell the difference between
the two.  Some people claim yes, some no.

Now that the processor has been decided, I have ordered a computer.
And I want to run Intel Unix on it.

The problem is, the manager at the firm from which I purchased the
computer claims that the usual controller card they normally ship 
with SCSI drives is 'incompatable with Unix'. (He indicated that it 
was not compatable with any versions of Unix.)

The controller card is the ST02 Seagate conrtoller, the drive is a
Seagate 80 Mb SCSI drive.  Is there any reason why this is so?  Is this
true?

I thought maybe they just did not have the proper device driver
for the drive...Could this be so?  If so, does anyone have a driver
program for the ST02 controller?

He did offer me an alternative (of course!)...For an additional chunk
of money I can purchase a Future Domain (controller card) 'clone'.

Is this necessary?  I hope not, because I am already over budget.

Please respond by mail, with suggestions of what i might do, explanations
of anything which i seem to mis-understand (or which you know better 
than I) or pointers on how i might investigate writing a driver for this
hardware setup.

Thanks..

Troy
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     Troy Hildebrand      | That'll be the last |  The Internet: more than just
tlhilde@en.ecn.purdue.edu | teacup I have...    |  a free phone system! Whee!
tiptop@vet.vet.purdue.edu |