home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.sys.intel:3117 comp.arch:12433
- Newsgroups: comp.sys.intel,comp.arch
- Path: 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
-
- 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
- ------------------------------------------------------------------------
-