oxalis@ccb.ucsf.edu (Michael Sintchak) (06/03/89)
Hi, I am looking for any information people have dealing with the company Micro Generation (a division of Continental Technology). In this months computer shopper they offer what appears to be a great deal - a 33.6 MHz '386 base system for only $1795. If anybody has recently gotten one of these systems or any system from Micro Generation please email me your opinions. A related question is: what is the best memory cacheing available (price/performance) for these '386 machines. Micro Generation's board uses "interleaved/page memory access" - is this comparable to cacheing? Also, I see that some boards advertise an 80387 socket, others an 80387/80287 socket. Will I be able to use my 80287 or does it depend on the BIOS on the motherboard? My final question is about memory. How much memory will I need on a '386 machine to run some form of un*x? What is the cheapest form of un*x that runs on the '386 platform? If I get a cheap un*x, will I be able to run something like X windows on it (if yes, how much more memory would I need)? Thanks in advance for your help. -- Mike. ================================= Mike Sintchak (oxalis@ccb.ucsf.edu) Dept. of Pharm. Chem. - UC San Francisco =================================
madd@bu-cs.BU.EDU (Jim Frost) (06/05/89)
In article <2021@ucsfcca.ucsf.edu> oxalis@ccb.ucsf.edu (Michael Sintchak) writes: | A related question is: what is the best memory cacheing available |(price/performance) for these '386 machines. Micro Generation's board |uses "interleaved/page memory access" - is this comparable to |cacheing? Which is better depends on your application. To give you some idea of why, what follows is a brief summary of what each does and why. Don't trust this to be completely accurate, but it should give you some idea. It's pretty easy to make generalizations as to how a program is likely to read memory. The text portion of memory is likely to be quite sequential, the data portion is likely to be localized, and the stack is very likely to be localized. With this in mind you can attempt to cut down the frequency that particular chips are accessed, cutting out wait-states. Caching is a technique where you have a (relatively) small amount of very high-speed memory which gets loaded in blocks from low-speed memory. So long as accesses fall within this cache, you get no wait-states. Cache misses are generally a little more expensive than directly accessing the slow memory would have been -- and there's also the time needed to load the cache (and other considerations), so there are tradeoffs. Since code and stack are usually very localized (especially when high-level languages such as Pascal and C are used), cache memory tends to work very well. Interleaving is a technique where sequential memory locations are spread amongst multiple chips. Four-way interleaving would give you four locations in a row which may be accessed sequentially with no waiting, after which the first bank would probably be ready to be accessed again. If your code is very sequential, interleaving is very good. Even if it is not sequential, you have at least a 1 in 4 chance (in my example) of getting a "ready" memory location. At worst case interleaved memory works no worse than straight memory. Generally interleaved systems don't work as well as cached ones, but it depends on your application. Personally I like cached memory systems, but they tend to be more expensive than interleaved (they are more difficult to make and also require some amount of high-speed memory) so it's another tradeoff. For better discussions, you should look in back issues of PC-oriented magazines right around the time the 80386 machines were starting to come out. I recall several excellent articles, although I cannot remember which specific magazines they were in. Check out "PC Magazine" back-issues, I'm pretty sure they had one of those articles. | My final question is about memory. How much memory will I need on |a '386 machine to run some form of un*x? What is the cheapest form of |un*x that runs on the '386 platform? If I get a cheap un*x, will I be |able to run something like X windows on it (if yes, how much more |memory would I need)? How much you need depends on which UNIX you want to run and what you want to do with it. XENIX will run with 2Mb of memory (so the docs say), although I'd say that you really want 4Mb if you're doing development. I haven't tried X Windows under it so I can't help there. Interactive's 386/ix (my favorite of the SysV versions and which I like better than XENIX) needs at least 4Mb (I guess it'll run with less but it won't be fun). If you're running only a single user without X Windows this will work fine. If you're running X (they have probably the best 386 X product there is, excluding those with hardware assist) then you want 6-8Mb, with 8 highly recommended. Running X with 4Mb works but it is constantly swapping so performance is poor. If you would like additional information, feel free to email me. jim frost madd@bu-it.bu.edu