Path: chuka.playstation.co.uk!news From: "Craig Graham" Newsgroups: scee.yaroze.freetalk.english Subject: Re: S*ga Dreamc*st Date: 6 Aug 1998 15:36:39 GMT Organization: PlayStation Net Yaroze (SCEE) Lines: 43 Message-ID: <01bdc14f$5c65e240$f30b0a0a@Angela1.intelligent-group.com> References: <3569980E.51FC@saqnet.co.uk> <356A77BD.596@dma-design.com> <356a4d1f.24746116@news.scea.sony.com> <356A8BBD.5DD9@dma-design.com> <35C13E1E.4A99D280@mail.datasys.net> <1dd416x.1cqaclz4vkpc1N@a1-88-110.a1.nl> <6q1g2e$fvf13@chuka.playstation.co.uk> <1dd8b4y.1g33oa41ggvfzhN@[194.151.88.144]> <35C829EA.55EFA3B1@scee.sony.co.uk> <35C9787F.3CD3A9AA@scee.sony.co.uk> NNTP-Posting-Host: 194.131.235.3 X-Newsreader: Microsoft Internet News 4.70.1155 James Russell wrote in article <35C9787F.3CD3A9AA@scee.sony.co.uk>... > > Again, it's a matter of OS support. An MMU is useful if you've got the > > support for it already there. There's no reason why a game has to be a single > > process, and in fact, there's no reason why the OS has to be a single process > > either. > > Why do you need an MMU for multi-tasking? The Amiga didn't have one, and neither did the Mac. You > need an MMU for memory _protection_, and I don't believe that's important enough to > developers to warrant adding the extra silicon in for it. The Atari ST didn't have one either, and that has two versions of Unix available on it (very stable as well). MMU's are used to do 3 things (generally): 1) Process isolation. Stop one process stomping on another process' memory. Not a truly good thing in a game where you want performance over technical elegance (overheads incurred by task swapping are quite large if you're swapping fast enough to load balance correctly). 2) Virtual memory. Page table management for VM, not really applicable without a fast writable storage device. 3) Make a non-contiguous address space appear as a linear space. Not obvious, but it actually helps make hardware cheaper if you can just take a single address line as a device select to a single chip. You'll get a funny memory map though, so you can use the MMU to make it look linear to the programmer. I only mention 3 because I was asked the question in a job interview and didn't know 3 (the guy interviewing was a real Uni. Prof type egghead, who lectured me about it afterwards). > James Craig.