Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site anasazi.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!whuxl!houxm!ihnp4!mhuxn!mhuxr!ulysses!allegra!mit-eddie!genrad!panda!talcott!harvard!seismo!hao!noao!terak!anasazi!steve From: steve@anasazi.UUCP (Steve Villee) Newsgroups: net.arch,net.micro,net.micro.68k,net.micro.pc,net.lang.c Subject: Re: M680*0 "small model" Message-ID: <223@anasazi.UUCP> Date: Tue, 18-Jun-85 13:47:33 EDT Article-I.D.: anasazi.223 Posted: Tue Jun 18 13:47:33 1985 Date-Received: Sun, 23-Jun-85 04:42:27 EDT References: <167@mot.UUCP> Organization: Anasazi, Phoenix Az. Lines: 52 Xref: watmath net.arch:1455 net.micro:10850 net.micro.68k:954 net.micro.pc:4344 net.lang.c:5396 > > 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". > > 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. I don't think it's quite fair to compare this "small model" with the small model provided by the Intel 8086 or 8088. If your 68000 system has an MMU, it might be almost reasonable, but even there, many OS's are not set up to let user programs address the range ffff8000 to ffffffff. So it might well be that all code and data would have to fit in the first 32K. In any case, this 68000 "small model" does not readily upgrade to something analogous to the Intel medium model (separate code and data, with 64K for each). The real problem is if your 68000 system does not have an MMU. This is the case with the Macintosh, Jackintosh, Amiga, etc. that are in the same price league with the IBM PC and clones. In this case, you are limited to one "small model" process running at once, and it is very unlikely that the range ffff8000 to ffffffff is available. You also have to watch out for the interrupt vectors. Don't get me wrong. I'm no fan of the 8086 architecture. But at least things like PC/IX are possible on an 8086 system without an MMU, with lots of small model processes running that the OS can switch between easily. While there is no rigid memory protection, it's pretty tough to step on other processes accidentally. You have go into assembly language and muck with the ES or something. A fairer "small model" for the 68000 would use (Am,Dn.W) addressing modes, with the 16-bit pointer in Dn and some kind of base address in Am. This would provide closer to the same capability that Intel small model provides. But of course this would be slower than the large model! --- Steve Villee (asuvax!anasazi!steve) International Anasazi, Inc. 2219 East University Drive Phoenix, Arizona 85034 (602) 275-0302