APPENDIX

10. Interrupt Response

This program accepts an interrupt, pushes all the proc- essor registers (except the Stack Pointer) on to the stack, and jumps to a service routine. All registers are restored before returning from the service routine. This program also considers the worst case latency due to finishing the longest instruction. This is because when an interrupt occurs it must wait to be processed until after the com- pletion of the current instruction. The times are mea- sured both with and without this latency. (For each application where interrupt response is critical, the designer should only consider the longest instruction his system will use.)

RESULTS

The benchmark results are presented in Tables 2, 3, 4,5, 6, and 7. These tables contain performance measure- ments figures in terms of execution speed, ease of use, and memory usage. For a description of these cate- gories, see the Performance Measurements section.

Tables 2 and 3 show that the iAPX 88 executed nine of the ten programs faster than the Z80A, and that the iAPX 88 was faster than the Z80B for eight of the ten programs. The Computer Graphics program had the largest performance difference. Here the iAPX 88 was

faster than the Z80A and Z80B by relative execution time figures of 14.61 and 9.74. The major reason for this difference is the sixteen bit divide instruction of the iAPX 88. The sixteen bit multiply instruction of the iAPX 88 also gave it a substantial performance advan- tage in the Sixteen Bit Multiply benchmark. The Z80B (but not the Z80A) was faster for the Block Translate' program where the alternate register set and the string move instruction were used effectively. Both the Z80A and Z80B were faster than the iAPX 88 for the Interrupt Response benchmark. (The Z80 could have used the alternate register set for even faster interrupt response, but this would not allow multiple level interrupts.) The two times given for each processor show its execution time with and without latency due to finishing a previous instruction. The relative execution time figures for this program used the average of these numbers. Here the Z80 gained a large advantage on instruction latency time because it does not have the time consum- ing (but powerful) sixteen bit divide and multiply in- structions of the iAPX 88. The hardware interrupt response time of the Z80 is also faster than that of the iAPX 88.

The Average Relative Execution Times from Tables 2 and 3 show that iAPX 88 executed the programs faster than the Z80A and Z80B by ratios of 3.78 to 1 and 2.52 to 1, respectively.

 

Table 2. Execution Times (iAPX 88 vs ZSOA)

 

 

Absolute Time"

 

Relative Execution Time

Benchmark Programs

iAPX 88110 (5 MHz)

ZSOA (4 MHz)

Z80AlIAPX 88

Computer Graphics

2.32

33.9

14.61

16-Bit Multiply

40.8

354.0

8.68

Vector Add

295.00

480.0

1.63

Block Move

328.00

661.0

2.02

Block Translate

1507.00

1980.0

1.31

Character Search

136.00

220.0

1.62

Word Shift

13.00

48.6

3.60

Bubble Sort

2406.00

4596.0

1.91

Reentrant Call

87.60

140.0

1.60

Interrupt Response"

107/61.5

75.5/69.7

0.86

Average Relative Execution Time'·'

 

3.79

Adjusted Average Relative Execution Timet

 

2.79

NOTES:

*The times are given in microseconds except for the Computer Graphics benchmark where the times are in seconds.

··The times given for the Interrupt Response benchmark show two times. The first the time includes the latency due to finishing the previous instruction. The second

time does not include this latency.

The Relative Execution Time and the averages use the average of these two times.

··*The Average Relative Execution Time is the sum of the processor's normalized times for all programs divided by the number of programs (10).

trhe Adjusted Average Relative Execution Time is the average of the normalized times. excluding the highest and lowest normalized times. This prevents significant shifts in results due to anomalies for one particular benchmark and may be viewed as a better measure of expected relative performance.

5

AFN·01664A

Page 274
Image 274
Intel 210200-002 manual Interrupt Response