M680*0 "small model"
Jim Hanko
hanko at mot.UUCP
Thu Jun 13 03:27:28 AEST 1985
In the endless debate over the relative performance of various micros,
much discussion centers around whether "small model" 80*86 code can outperform
M680*0 code developed for 24+ bit addresses and 32 bit integers (a
"huge model"). In fact, Intel has recently been running a glossy ad which
is implicitly based on this type of comparison. Overlooked in the debate,
however, is the fact that the M680*0 has a logically consistent subset of
addressing modes and operations which constitute a "small model".
The features of the M680*0 small model are:
32k program - logical addresses 0 to 7fff
- absolute short & PC-relative addressing modes
32k stack&data - logical addresses f...f8000 to f...fffff
- absolute short addressing mode
16 bit integers - full set of word operations
16 bit pointers - the CPU sign-extends word addresses to 32 bits
This M680*0 small model is fully self-consistent (including sizeof(int)
being equal to sizeof(int *)), is easy to implement, and is capable of
supporting virtually all published benchmarks that work with the 80*86 small
model. M680*0 small model code is significantly smaller and faster than
M680*0 huge model code (eg. absolute addressing takes two fewer bytes and
eight fewer cycles on the M68000).
The M680*0 small model is not generally supported in M680*0 systems
and compilers for the following resons:
1. Small models are not as generally applicable as huge models.
2. The M680*0 huge model is also relatively easy to implement.
3. The M680*0 huge model takes a relatively small performance
'hit' (compared to other common architectures :-)
4. Supporting multiple models requires extra compiler code and
redundant libraries.
Perhaps, if the small model is as good an idea as Intel claims, more
M680*0 systems should support it.
The bottom line in performance measurement is, therefore, not whether
a small model 80*86 can or cannot beat a huge model M680*0, but which
small model and which huge model outperforms the other.
From now on, let's compare apples to apples.
================================
Jim Hanko, UNIX group, Motorola Microsystems, Tempe, AZ U.S.A
{seismo | ihnp4 } ! ut-sally ! oakhill ! mot ! hanko
================================
Disclaimer: the opinions expressed here are my own, but anyone may adopt them.
More information about the Comp.lang.c
mailing list