Article View: comp.sys.intel
Article #1484Re: Clock counts for 8086/88?
From: David Fox
Date: Thu, 28 Jan 1993 06:48
Date: Thu, 28 Jan 1993 06:48
75 lines
3391 bytes
3391 bytes
In article <PHR.93Jan27005427@napa.telebit.com> phr@telebit.com (Paul Rubin) writes:
>I notice that the Intel datasheet for the 8086/88 (Microprocessors
>vol. 2) doesn't give the clock counts for the different instructions,
>unlike the sheets for the 286/386/486. Is there another reference for
>this info? In particular I want to know how many clocks it takes to
>do a 16-bit integer multiply, and also a 32->16,16 divide. Also, does
>anyone know if the NEC V20 does these operations faster than an 8088?
>(Yes, some people still write programs for these processors). Thanks.
You could call Intel and see if they still provide data sheets and/or
programmer's manuals for the 8088/8086. They may not, since the chip
is so old :) but you may never know. If they still provide these
documents, they're free, and can be ordered by writing:
Intel Literature Sales
P.O. Box 7641
Mt. Prospect, IL 60056-7641
Phone number is 800-548-4725.
Another reference I have handy gives the information you want. This is from
_Assembly Language Programming for the IBM PC, by Karen A. Lemone, published
in 1985 by Little Brown and Co., ISBN 0-316-52069-1.
As you probably know, there are two types of multiply on the 8088/8086, IMUL,
and MUL, and two kinds of division, DIV and IDIV, for signed and unsigned
multiply/divide respectively.
For IMUL:
reg16 operand: 128-154
mem16 operand: 98-104 + EA clocks (additional clocks require to do
effective address calculations)
For MUL:
reg16 operand: 118-133
mem16 operand: 124-139 + EA clocks
For IDIV:
reg16 operand: 165-184
mem16 operand: 171-190 + EA clocks
For DIV:
reg16 operand: 144-162
mem16 operand: 150-168 + EA clocks
The V20 did speed up MUL/DIV, string, and various other operations
(AAM/AAD) on the 8088. I don't know how much they speeded it up
though, as I don't have that information. It also added some
real-mode 80186/80286 instructions like push immed, rotate/shift
immediate, etc.
>#include disclaimer.h.
On an 8088? Naa, that would take too many clocks. :)
BTW, while I'm here, can someone point me to timing and architecture
differences between the Cyrix FasMath chip in comparison with the Intel
387? I called Intel and got their (nice and complete) data sheet for
the 387, but I have a Cyrix, and when I called Cyrix, they said they don't
publish that information anymore. :(
x
--
------------------------------------------------------------------------
in real life: david fox email: dfox@quack.sac.ca.us
5479 Castle Manor Drive,
San Jose, CA 95129 "Thanks for letting me change some
USA magnetic patterns on your HD" -me
408-253-7992
"You've just won an absolutely FREE trip to the Isles of Langerhans" -me
------------------------------------------------------------------------
Technical Details
Message-ID:
<fYyJas4@quack.sac.ca.us>Path:
arc1-ca.pugleaf.net!sparky!uunet!indetech!daver!quack!dfoxReferences:
<PHR.93Jan27005427@napa.telebit.com>Show Full Headers
Complete Article Headers
Newsgroups: comp.sys.intel,comp.arch Path: arc1-ca.pugleaf.net!sparky!uunet!indetech!daver!quack!dfox From: dfox@quack.sac.ca.us (David Fox) Subject: Re: Clock counts for 8086/88? Message-ID: <fYyJas4@quack.sac.ca.us> Organization: The Duck Pond public unix: +1 408 249 9630, log in as 'guest'. References: <PHR.93Jan27005427@napa.telebit.com> Distribution: usa Date: 28 Jan 1993 06:48:24 UTC Lines: 75