Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!sun-barr!oliveb!amiga!cbmvax!daveh From: daveh@cbmvax.UUCP (Dave Haynie) Newsgroups: comp.sys.amiga.tech Subject: Re: Address Spaces (was Re: (Fairly) Complete Amiga VM design) Message-ID: <7096@cbmvax.UUCP> Date: 19 Jun 89 14:55:51 GMT References: <55595@linus.UUCP> Organization: Commodore Technology, West Chester, PA Lines: 44 in article <55595@linus.UUCP>, eachus@mbunix.mitre.org (Robert Eachus) says: > Keywords: virtual memory, address space > Summary: Physical addresses will still be needed > In article <377@xdos.UUCP> doug@xdos.UUCP (Doug Merritt) writes: > However, beginning with the PDP-11, a technique called position independant > code was available which permitted code to be loaded without relocation. > The VAX and 68000 were both desinged to support this since it made linking > and loading much easier. > The Amiga from day one has required that code be written this way, Well, actually, the Amiga does do relocation on absolute hunks during a code load. It's important to be able to have full 32 bit addressing -- plain 68000 relative (eg, position independent) addressing only allows a relative address space of 64K, which is fine for smaller programs, but ugly for large ones. > and on the 68000 family this type of code is generally faster. That's certainly true, and in fact, most of the Amiga compilers these days allow code and data to be relative, which as I said, makes sense for smaller programs. >You would have to ask Dave Haynie, but I assume that if ROM is remapped he >sets up four or five table entries to cover all of memory. Well, actually I map everything as 128K "pages" (except I/O devices mapped with the CARDROM file in SetCPU V1.5, which get subtables mapped on smaller (I think 8K) boundaries. For a 16 meg system you have 128 table entires, and so will occasionally have an ATC miss, though I'm not sure this could actually be noticed (The MMU will find the page entry very quickly, since except for CARDROM translations it's only a 1-level page table). I supposed I could build a smaller table, and my do just that as folks start to commonly have memory outside of the 68000's 24 bit space. The 68030 has a smaller ATC, but also have these transparent translation registers, which I may use in the future to more efficiently map things. > Robert I. Eachus -- Dave Haynie "The 32 Bit Guy" Commodore-Amiga "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: D-DAVE H BIX: hazy Amiga -- It's not just a job, it's an obsession