Solved

Why is DOS slow on a Pentium?

Posted on 1999-01-02
3
267 Views
Last Modified: 2012-06-27
My workhorse PC is a 486DX2-66 with h/w disk cache running DRDOS6.  I program in MS "QuickBasic" (compiled) for DOS and for a 486 my PC is very fast.  I also have a P100 laptop (Toshiba 210CS).  In DOS this is much slower than the 486.  I think any instruction that writes to the text screen slows a program down.

Worse I now find that some (if not all) Pentiums have a more sinsiter speed problem.  I have written a QuickBasic front end controlling an interrupt-driven serial-port driver written in assembler.  Works fine on my 486.  On some Pentiums (e.g. a 166MHz) it misses great chunks of date e.g. incoming on COM1 at 9600 baud - often over 20 bytes in succession, so cant be solved by invoking 16550 16-byte buffer.  This makes my software unusable on Pentiums.  Does anyone know why this is?

Surely the 166MHz P cannot be inherently slower than a 486? It can't be anything simply if it affects an interrupt routine.  Is it some goblin put into modern BIOS's that aartificially slow down DOS software in an attempt to kill it dead?
0
Comment
Question by:microlit
  • 2
3 Comments
 
LVL 2

Accepted Solution

by:
Laphroaig earned 100 total points
ID: 1014503
Pentium Processor architecture is somewhat different from 486 architecture. Do you have a copy of Intels Programming Reference Manual and Instruction Sets for Pentium Processors.

If you are writing code purely based on 486's, then you are not taking advantage of newer, faster routines that Pentiums provide in their Instruction sets for trapping interupts etc. Pentiums provide faster routines for doing everything that previous *86's could do, but there is a trade off in speed against backward compatability.

At machine level, the faster the processor, and the faster the bus speed, then the faster your program will run. It does'nt matter about operating systems because you are writing code specifically for the processor.

Code compiled from Basic is clumsy to say the least. C++ is better, but Assembly is best of all because it is processor specific.

If you go to Intel's website then you can download their Programmers Reference Manual. It will give you all the info that you need to know.
0
 

Author Comment

by:microlit
ID: 1014504
Thanks for a starting point: I find it hard to believe that optimising the P for its "own code" leaves it so very much slower in backwards compatible X86 code, but I will do as you suggest and consult the Intel Prog Ref.  
0
 

Author Comment

by:microlit
ID: 1014505
having uploaded some stuff from Intel, and searched around their site, I regret I can find no info explaining my problem.

Intel do claim all thier chips are fully backward compatible as surely they must be.

I repeat, what I am bugging about is a GROSS reduction in speed that cannot I think be because a P is optimised for something else.  We are talking about a P166 going an estimated 10x slower than a 486-66.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Is it worth it to buy an Echo? In a word, yes! For me it was definitely worth it. I use mine on a daily basis. Prologue & Privacy At first, I was very skeptical about the Amazon Echo. In general, I don't like voice assistants. I don't li…
I use more than 1 computer in my office for various reasons. Multiple keyboards and mice take up more than just extra space, they make working a little more complicated. Using one mouse and keyboard for all of my computers makes life easier. This co…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question