From: slb1b@cc.usu.edu (Holographic Banana)
Newsgroups: comp.sys.amiga.misc
Subject: Re: 68010
Date: 11 Sep 92 19:38:14 MDT
Followup-To: comp.sys.amiga.misc
Organization: Utah State University

In article <4444@equinox.unr.edu>, dollens@equinox.unr.edu (C Blake Dollens) writes:
> Someone on a local BBS suggested to me recently that a 68010 processor supports
> virtual memory.  My immediate response was no, because you need a PMMU for that
> purpose.  On the other hand, I realize that I know very little about the '010

I was about to say NO when I pulled off Motorolla's Programmer's Reference
Manual. Page 1-8 (in part, I'm not typing the whole thing!)

"...The MC68010/MC68012 provides hardware support for virtual memory with the
capability of suspending an instruction's execution when a bus error is
signaled and then completing the instruction after the physical memory has been
updated as necessary.

"The MC68010/MC68012 uses instruction continueation rather than instruction
restart to support virtual memory.... when a page fault occurs the processor
stores its internal state and then after the page fault is repaired, restores
that internal state and continues execution of the instruction. In order for
the MC68010/MC68012 to utilize instruction continuation, it stores its internal
state on the supervisor stack when a bus cycle is terminated with a buss error
signal. It then loads the program counter from vector table entry number tow
(offset $008) and resumes program execution at the new address. When the bus
error execption hander routine has completed execution, and RTE instruction is
executed which reloads the MC68010/MC68012 with the internal state stored on
the stack, re-runs the faulted bus cycle, and continues the suspended
instruction....."


This seems like a messy way to do it with MMUs available on the '020 and
better. But an interesting intelectual exercize.  Am I wrong in thinking that
the entire 16Mb address area is mapped on the A500? If so, it would render the
aforementioned capability useless.

In a nutshell, VM is not available on the '010 in any practical sense.

Comments, people?????

.
> Am I right?  What is the difference between the 68000 and the 68010?  I was 
> under the impression that the '010 had slightly more efficient instruction code
> in some areas, and that's all.  Benchmarks wouldn't increase with an '010
> significantly, would they?  I think this was covered in this newsgroup a while
> back; I apologize if everybody's already heard this.  Thanks in advance.

The speed-up issue is one of great contention. The type of stuff that I use and
program for makes use of the optimised instructions, but the best that I ever
see is at MOST 40%, but this is in rare cases. I've had the '010 in my A500 for
three years, and the difference is noticable, but nothing to get excited over.

This is got to be one of the most controversial subject: '010 replacement vs.
leaving the bloody case on the A500 :-)

> "That's All"            | "Fundamentally, every bar is the same as every other
>   -Phil, Mike, and Tony |  one, if it's the kind you're drinking in, to end a
> Blake Dollens           |  sentence with a preposition, which I haven't."
> dollens@equinox.unr.edu |                            -Walter Slovotsky
                             ^^^^^^^^^^^^^^ 
				I love the joking around about dangling
prepositions in those books!

James