Xref: utzoo comp.sys.ibm.pc.programmer:422 comp.sys.ibm.pc:46548 Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!mcgill-vision!bloom-beacon!snorkelwacker!usc!cs.utexas.edu!wuarchive!udel!rochester!pt.cs.cmu.edu!b.gp.cs.cmu.edu!Ralf.Brown@B.GP.CS.CMU.EDU From: Ralf.Brown@B.GP.CS.CMU.EDU Newsgroups: comp.sys.ibm.pc.programmer,comp.sys.ibm.pc Subject: Re: How is a 68000 as fast as an 80386?? Message-ID: <25fe3a99@ralf> Date: 14 Mar 90 11:35:37 GMT Sender: ralf@b.gp.cs.cmu.edu Followup-To: comp.sys.ibm.pc.programmer Organization: Carnegie Mellon University School of Computer Science Lines: 43 In-Reply-To: <908@tijc02.UUCP> In article <908@tijc02.UUCP>, rdo031@tijc02.UUCP (Rick Odle ) wrote: }From article <3666@plains.UUCP>, by harlow@plains.UUCP (Jay B. Harlow): }> In article <505@bilver.UUCP> alex@bilver.UUCP (Alex Matulich) writes: }>>Naturally, I wanted more speed, so I ported the program to an AT&T 386WGS }>>at work, which is a 25 MHz 80386 IBM compatible. I compiled it using }>>Turbo C 2.0, large memory model. Then I watched in chagrined disbelief as }>>that number-crunching section still took about a minute to execute -- }>>actually a few seconds longer than my Amiga. All source code was the same! }>> }>>5) I know the 80386 has special modes of operation, incompatible with }>> previous chips, that allow it to run at its full potential. Is this }>> the reason my program isn't running at its rightful speed? Are these }> Yes partly, 1) 32-bit inst in real mode 2) 32-bit Protected mode }>> special modes accessible when using DOS? If so, how? }> }> Alex, }> the reason your program ran 'slow' on the 386 is because you compiled it }> for a 286 (at best) LARGE model, a large model on a x86 means all addresses }> have segment offset, haveing the x86 load segments is very 'expensive' } }The only fair test here is to do the test with large model. While it }is true that the 80x86 processors will let you execute code in a small }model architecture, this is only applicable to fairly small applications }( I know this is relatively speaking, and that 10 years ago 64k of code }was a fairly large application). The 680x0 family architecture ALWAYS }fetches long word addresses (32 bits), so the most fair comparision }is the x86 large model. Ahem, since we're talking about a 386, the only fair comparison is to 386 small model, which is one 4 gigabyte code segment and another 4 gigabyte segment for data/stack/heap. Which 680x0 addresses 8 gigs at once? }BTW, this very feature (large linear address space) on the 68k family is }what makes it a somewhat more desirable processor to program on (no Gee, 4 gigabytes per segment looks pretty large and linear to me.... -- UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf -=- 412-268-3053 (school) -=- FAX: ask ARPA: ralf@cs.cmu.edu BIT: ralf%cs.cmu.edu@CMUCCVMA FIDO: Ralf Brown 1:129/46 "How to Prove It" by Dana Angluin Disclaimer? I claimed something? 16. proof by cosmology: The negation of the proposition is unimaginable or meaningless. Popular for proofs of the existence of God.