Newsgroups: comp.arch Path: utzoo!utgpu!jarvis.csri.toronto.edu!neat.ai.toronto.edu!ephemeral.ai.toronto.edu!bradb From: bradb@ai.toronto.edu (Brad Brown) Subject: Re: unconventional architectures Message-ID: <89May7.001514edt.39763@neat.ai.toronto.edu> Organization: Department of Computer Science, University of Toronto References: <112@centaure.UUCP> <422@unicads.UUCP> <11579@cgl.ucsf.EDU> <89May6.165030edt.10782@ephemeral.ai.toronto.edu> <1989May6.234007.23517@utzoo.uucp> Date: Sun, 7 May 89 00:15:07 EDT In article <1989May6.234007.23517@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes: >In article <89May6.165030edt.10782@ephemeral.ai.toronto.edu> bradb@ai.toronto.edu (Brad Brown) writes: >>Unfortunately, a machine like this can't run C very well, 'cause C presupposes >>a flat, uniform memory space... > >Untrue. (Consider all the C compilers for the revolting 8086 and its ugly >descendants, which most definitely don't have a flat uniform memory space.) >There would be problems in implementing C on one of those machines, but >segmentation per se isn't among them. But consider how C is implemented on the 8086 and it's brethren: You simulate a flat address space and give the programmer a bunch of different memory models so they can decide how big their flat space is. The point is that C wants to be able to point anywhere in memory, more or less, whereas really segmented machines like the Buroughs I was talking about get thier protection ability from having a segment for each (more or less) object in the system. I'm sure that C *could* be implemented on that machine, but the architecture would get in the way. I'm sure that C does not literally require a perfectly flat address space, but it sure encourages it! (-: Brad :-)