Hello, > Sure enough, a number of instructions are down at the 1 cycle level. But > others are in the 10s of cycles (still a vast improvement over the 8088 > timings I vaguely remembered). > The INT opcode seems to take a lot more cycles in protected mode, and IRET > takes 8-27 cycles. So perhaps 50-100 cycles for interrupt overhead? > So it looks to me like there's time for anywhere between 10 to maybe 250 > instructions per interrupt, on a 500MHz machine (500 cycles/interrupt). > Dunno what your interrupt routine will do, but if there are N cycles > left over at the end, that leaves N MHz for the "non-interrupt" code to > run at; having a 50MHz or 100MHz machine for the other stuff doesn't seem > too bad to me (certainly if windows isn't running). Hm, I made a "digital oscilloskope" for my diploma thesis about 1,5 year ago. It worked under plain DOS, disabled all INTs, and waited in a busy loop for any activity on the parallel port. Upon recognizing something there, it time-stamped that event (with RDTSC, the command to read to time stamp counter from the Pentium), store the value of the port and the time-stamp in memory, and waited for more. Oh, I did not disable all interrupts: A keyboard interrupt stopped the process of waiting, immediately when it occured. So I'm sure no interrupt disturbed me. Anyway, after stopping the acquisition of data, I showed the results on the screen. I did measurements and saw that I had a resolution of about 4 µs, that is, my maximum frequency was about 250 kHz. That's because taking the time-stamp and storing the data took so much time. Another observation was that I modified this for a "ping-pong" test, giving me a round-trip delay of approx. 11 µs, so any one side only needed 5.5 µs, approx. the same value as the other. Ah yes, I forgot: I used a Pentium-150 for this purpose. I'm not sure if it was MMX or not. So, possibly, with a faster CPU, you could achieve 1 MHz. Anyway, I'm not sure if the I/O area will be that fast (the IN commands and the RDTSC took most time if I remember correctly). Spiro. - This message was sent through the cbm-hackers mailing list. To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tml.hut.fi.
Archive generated by hypermail 2.1.1.