?
Solved

Why is DOS slow on a Pentium?

Posted on 1999-01-02
3
Medium Priority
?
285 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 2

Accepted Solution

by:
Laphroaig earned 300 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 learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

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

Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
This paper addresses the security of Sennheiser DECT Contact Center and Office (CC&O) headsets. It describes the DECT security chain comprised of “Pairing”, “Per Call Authentication” and “Encryption”, which are all part of the standard DECT protocol.
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…

752 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