Jim Leonard wrote:
woodelf wrote:
For the 8088, and its implementation in the IBM PC 5150 and
compatbiles, the timings in the opcode tables are indeed correct -- if
the instructions are already in the prefetch queue. The 8088 only has
a prefetch queue of 4 bytes, so if your instructions aren't already
prefetched it will take 4 cycles per byte for the Bus Interface Unit
to fetch them. For example, "POP reg" is listed as taking 8 cycles,
but if it's NOT been fetched it takes an additional 4 cycles to read
the opcode itself. So the total time if not prefetched is actually 12
cycles.
I thought the pre-fetch queue was longer than that. Still most
instructions I bet are 3 to 4 bytes long when you
have to acess memory. I just tend to count memory cycles on
instructions for ball park timing.
What I do find odd that the 8086 came out first then a few years later
the 8088.
It still think the 8086/8086 could have had two instruction sets --
8080 emulation and
a better 16 bit design.