Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!sun-barr!cs.utexas.edu!uunet!peregrine!ccicpg!zardoz!tgate!irsx01!ka3ovk!drilex!axiom!linus!mbunix!eachus From: eachus@mbunix.mitre.org (Robert Eachus) Newsgroups: comp.sys.amiga.tech Subject: Re: MEMF_PHYSICAL? Summary: The reason was address space! Keywords: virtual memory, address space Message-ID: <54912@linus.UUCP> Date: 2 Jun 89 02:12:31 GMT References: <8906010252.AA11810@jade.berkeley.edu> <367@xdos.UUCP> Sender: news@linus.UUCP Reply-To: eachus@mbunix.mitre.org (Robert I. Eachus) Organization: The MITRE Corporation, Bedford, Mass. Lines: 83 In article <367@xdos.UUCP> doug@xdos.UUCP (Doug Merritt) writes: >In article <8906010252.AA11810@jade.berkeley.edu> 451061@UOTTAWA.BITNET (Valentin Pepelea) writes: >>> > allowed to access each other's memory. The only reason current Minis and >>> > Mainframes, give tasks their own address space is because two decades ago, >>> > processors could access only a limited amount of ram. (say 64K) Thus for > >I disagreed, and Valentin said in the early 60's ram was limited even on >mainframes. True, but the point is that limited ram is *not* why separate >address space support was designed into MMU's and OS's. It was because >this was considered to be a feature. Each program thought it owned the >whole machine. Again, this is desirable for *most* programs, even on >the Amiga, due to the way most programmers write code. Some programs >behave very well and take the whole environment into account, but far more >do not. I was there Charlie! And the reason most 70's computers gave each user his own address space was that they had run out of address bits, and putting each user in his own box, postponed the architectural doom date for a few more years. The clearest example is the PDP-11 which started life with 16-bit hardware and instruction-set adresses. As this limit became more and more intolerable, the hardware addresses were upped (to a final figure I think of 22-bits), but addresses in programs were still required to be 16-bits max. Having separate data and instruction address spaces was added to give programmers one more effective address bit, but boy did it make things messy. Writing programs which do page table swapping is even messier, but many of the early sixties architectures were even more brain-dead than the PDP-11. The PDP-1 had 12-bit address (to 18-bit words), and four pages. The PDP-8 had 128-word pages (of 12-bit words), and the in the IBM-360 most addresses were 10-bit offsets from 32-bit registers (but the addresses were calculated modulo 2**24 -- 16 Meg). Fortunately, all machines which require page table swapping in user progams have been obsolete for years and have all probably been scrapped by now...or in the case of IBM-PC's and clones, should have been. :-) Of course, some people, forced by necessity or brain death to use such obsolete architectures, claim that in memory paging is an advantage. But I would never, even with a gun to my head, buy a machine which supported more physical memory than was directly addressable in normal address modes. If all users can share a portion of their address space with the operating system, many operations become vastly easier. When the Amiga makes full use of the virtual memory capabilities of the 2620 boards or the 68030, I expect that it will still maintain a model where all addresses are unique, so that messages paseed between processes can contain pointers, etc... At least until the Amiga 9000 is released, with support for 16 Gigabytes or more of RAM. (Or maybe it will change in the Amiga 8000, with only 4 Gig, because of virtual memory. :-) Gordon Bell said it all: (this may not be exact) "No computer architecture has ever become obsolete for any reason other than a lack of address bits." He should know, he designed the PDP-15 nee PDP-1 instruction set archecture (with other incarnations as the PDP-4, PDP-7, and PDP-9), the PDP-8 nee PDP-5 ISA, the DECsystem-20 nee PDP-6 ISA (a.k.a PDP-10, and Decsystem-10) and the PDP-11 ISA all of which bit the dust for just that reason. (There are still some DEC-20's around. By then the address space had been increased to 256K of 36-bit words. But the others are all dead, dead, dead.) The Amiga architecture may outlive the VAX, because it has one or two more effective address bits available. (The VAX uses the top two bits of 32-bit addresses as mode bits, but I expect that when they hit the limit that will change.) Recently the need for address bits has been increasing at a rate of almost one a year. If we say that with 1.3 Amigas require 1-Meg, then most of the current Amigas will run out of physical address space in about 3 or 4 years, but it will take another 10 years to hit the architectural limit of the 680x0 family. Note that reserving 4 Meg of address space for CHIP RAM was a foresighted decision. But a new address map will be needed in say 1992, but that one would be needed to support more than 16 Meg on the FAST bus anyway. Robert I. Eachus with STANDARD_DISCLAIMER; use STANDARD_DISCLAIMER; function MESSAGE (TEXT: in CLEVER_IDEAS) return BETTER_IDEAS is...