APPENDIX
This program demonstrates the processor's call and re-
entrant procedures
and
its ability to pass variables to a
called procedure. Support
of
these features
is
essential
for structured programming.
9. Interrupt Response
I.
Single-Vectored Interrupt
The Single-Vectored Interrupt pushes all the processor
registers (except the
Stack Pointer) onto the stack, and
jumps to a service routine. All registers are restored
before returning. The time also includes the length
of
time the processor requires to execute the longest
instruction before recognizing the interrupt.
II. Multi-Vectored Interrupt
The Multi-Vectored Interrupt stacks only the Instruc-
tion
Pointer/Program Counter and Flags/Condition
Code registers. The processor must determine which
of
eight possible devices initiated the interrupt request, and
jump to the corresponding service routine. The return
time
is
also included.
RESULTS
The results
of
this study are presented in terms
of
execu-
tion speed, memory usage, and ease
of
programming.
To
be
relevant to applications where speed
is
the crucial
factor, the processors are first compared
at
their highest
performance, with no wait states. Then for the cases
where memory cost
is
an issue, comparisons are made
for
execution speed with (nearly) equal memory access
times, and for coding efficiency. The processors are also
compared on the ease
of
programming (number
of
lines
of
code) which can be an important factor in the
development costs
of
a project.
The zero wait state execution speed
of
the iAPX 88/10
is
compared to that
of
the MC6809 in Table
2.
For. each
program, the execution time
is
given in terms
of
Ab-
solute Time and Normalized Time for each processor.
The Normalized Time
is
the Absolute Time required by
the pIOcessor for that benchmark divided by the Ab-
solute Time
ofthe
iAPX 88/10 for that benchmark. The
Average Normalized Time was computed by adding the
Normalized Times and dividing by the total number
of
benchmarks (10). The Adjusted Average Normalized
Time
is
calculated in the same manner as the Average
Normalized Time, except that the highest and the lowest
numbers were eliminated from this average. This was
done because the Average Normalized Time was greatly
affected by the Computer Graphics benchmark. This
method
is
used when computing averages for other
categories as well.
The execution speed comparison made in Table
2 shows
that the
iAPX 88/10 performed faster for eight
of
the
ten benchmarks. The
MC6809's Average Normalized
Time
of
3.65 says that it required
2651110
more time
than
the iAPX 88/10. The Adjusted Average Normalized
Time (1.86), which eliminated the Computer Graphics
and Single-Vectored Interrupt benchmarks, shows that
the
MC6809
is
86% slower, or requires 86% more time,
than the
iAPX 88/10 to complete these benchmarks.
For
applications where the cost
of
memory
is
a critical
factor, both the speed
of
memory, and the amount
of
memory must be considered.
By
speed
of
memory,
we
are referring to the memory access time, which
is
a ma-
jor
factor in the price
of
memory. Because the memory
access time
of
the iAPX
88
is
460
nsec with no wait
states, one wait state
is
added to the MC6809. This gives
a
445
nsec memory access time, which
is
still less than
the
460 nsec zero wait state time
of
the iAPX 88. A com-
parison
of
the execution speeds
of
the two processors
for this case
is
made in Table 3 (Execution Times With
"Equal"
Memory Access Times), showing that the
iAPX 88/10 was again faster
than
the MC6809 for eight
Table
2.
Execution Times
(5
MHz
88/10 vs 2
MHz
6809)
Absolute Time
Normalized Time
Benchmark Programs
iAPX
88/10
MC6809
iAPX88/10
Computer
Graphics
2.32
sec
49.7
sec.
16-Bit
Multiply
40.8
us
,
J
82.0
us
Vector
Add
295.0
us
325.0
us
Block
Move
328.0
us
674.0
us
Block
Translate
1507.0
us
2687.0
us
Character
Search
136.0
us
284.0
us
Word Shift
13.0
us
44.5
us
Reentrant
Call
87.6
us
76.5
us
Single-Vectored
Interrupt
102.6
us
25.5
us
Multi-Vectored
Interrupt
24.6
us
45.5
us
Average
Normalized
Execution
Time·
Adjusted
Average
Normalized
E~ecution
Time··
*The Average Normalized Time
is
the sum
of
the processor"s nonnalized times for all programs divided by the number
of
programs (10).
"The
Adjusted Average Normalized Execution Time
is
the average
of
the normalized times, excluding the highest
and
lowest normalized times.
24
MC6809
21.42
2.01
1.10
2.05
1.78
2.09
3.42
0.87
0.27
1.85
3.69
1.90
AFN 01532A