APPENDIX
INTRODUCTION
This benchmark report compares the capabilities
of
Intel's iAPX 88/10 microprocessor with those
of
the
Motorola MC6809. The purpose
of
the report
is
to aid
the user in his evaluation
of
the two processors, and to
provide him with some
of
the information
he
will
need
in making a knowledgeable decision regarding which
processor best satisfies the requirements
of
his applica-
tion.
Because the requirements can vary so greatly from one
system to the next, no one program can adequately
display the capabilities
of
each processor. For this
reason, ten programs have been chosen to demonstrate
the performance
of
the iAPX 88/10 and MC6809 in
several areas. The benchmark programs cover some
of
the basic tasks which are relevant to many
of
the ap-
plications for which
these
two
processors might be con-
sidered. These ten programs demonstrate the proces-
sors' capabilities in the areas
of
data manipulation,
computation, and processor control. Each program
was
defined in such a way
as
to be relatively straight-
forward, while still allowing the processors to
use
their
instruction set efficiently in implementing the program.
The benchmark programs were used to evaluate the
iAPX
88/10 and MC6809 on the basis
of
execution
speed, memory usage, and ease
of
programming (num-
ber
of
lines
of
code). These factors were considered
because they are often the
key
requirements evaluated
when a design decision
is
made. Execution speed
is
a
direct measure
of
how fast a processor
will
complete a
task. This can be the critical requirement for many real-
time control or multi-user systems. Here, cost may not
be the primary issue because a
less
expensive but slower
system may be inadequate, regardless
of
the cost sav-
ings.
On the other hand, many systems do have critical
cost requirements for which it may make sense to sacri-
fice
some execution speed in order to reduce costs. For a
memory intensive system, the cost can be reduced signi-
ficantly by using less memory, or cheaper, lower speed
memory. For this reason, coding efficiency and memory
access time
were
examined to help evaluate pricel
performance tradeoffs. Another factor, the ease
of
pro-
gramming,
is
becoming more and more important
as
the
cost
of
memory decreases and the
size
of
the typical
microcomputer application rapidly grows. For many
applications, software development costs have become
greater than hardware development costs. This means
that the total development costs
of
such a project can be
substantially reduced by using the processor which
ac-
complishes the most in the least number
of
lines
of
code.
To demonstrate performance in this area, the processors
have also been evaluated on the basis
of
the number
of
lines
of
code required for each program which has been
defmed as
"ease
of
programming."
The benchmark programs in this report were written for
the purpose
of
comparing the iAPX 88/10 and
MC6809
microprocessors. They should be used only
as
a guide in
21
evaluating processor performance
and
are not an ab-
solute measure
of
performance for all applications.
The
programs were written to perform the tasks in a clear
and straightforward manner. They
do
not necessarily
show an optimized implementation
of
the task. The
benchmark programs do, however, provide relevant in-
formation and a consistent comparison which may be
useful to the designer in choosing the microprocessor
which delivers the best solution to the requirements
of
his design.
PROCESSOR DESCRIPTION
A brief description
of
some
of
the
key
features
of
the
iAPX
88
and MC6809
is
included
here
and in Table 1.
Table
1.
Architectural Features
Feature
iAPX88/10
MC6809
Memory Addressability
1 megabyte
64K bytes
General Registers
Number
8
or
8+4-
2
or
1··
Size (bits)
16
or 8,16· 8
or
16--
Instruction
Sizes
(bytes)
1,2,3,4,5,6
1,2,3,4,5
Operand Addressing Modes
Register
Yes
Yes
Immediate
Yes
Yes
Direct Address
Yes
Yes
Register Indirect
Yes
Yes
Indexed
or
Based
Yes
. Yes
Base + Indexed
Yes
No
Base
+ Displacement
Yes
No
Index + Displacement
Yes
Yes
Base + Indexed + Displacement
Yes
No
Indexed Indirect
No
Yes
Auto
Increment/Decrement
Yes
Yes
Data
Types
BCD Digits
Yes
Yes
ASCII Digits
Yes
No
Bytes
Yes
Yes
Words
Yes
Yes
Unsigned Integers
Yes
Yes
Signed Integers
Yes
Yes
General Double Operand
Operations
Reg with Reg
to
Reg
Yes
No
Reg with Mem
to
Reg
Yes
Yes
Reg with Mem
to
Mem
Yes
No
Reg with Imed
to
Reg
Yes
Yes
Mem with Imed
to
Mem
Yes
No
Mem with Mem
to
Mem
Yes
No
Interrupts .
NMI
Yes
Yes
Software Interrupts (#)
Yes
(256)
Yes
(3)
Fast External Interrupts (#) No
-
Yes
(1)
Multi-Vectored Interrupts (#)
Yes
(256)
No
*The
AX,
BX,
ex and DX registers
can
be
used
as
four
16-bit
registers, or
as
eight 8-bit registers. With the index and pointer registers, this gives eight l6-bit
registers,
or
eight 8-bit and four l6-bit registers.
··The
A and B registers can
be
used as two
B-bit
registers
or
as one 16-bit
register.
AFN
01532A