segmented memory models
Chuck Guzis
cclist at sydex.com
Mon Aug 4 18:03:58 CDT 2008
On 4 Aug 2008 at 14:15, Rich Alderson wrote:
> It's not that the PDP-10 has "oddball pointers", but rather that
> "address" is not the same data type as "(byte) pointer". I assume that
> something similar is true on the CDC 6x00 family, but I haven't looked
> at one since September, 1970, before I dropped the Compass programming
> class at UT Austin.
I never used C on a 6600 (or any other CDC machine for that matter),
but yeah, the addressing granularity is a 60-bit word. Oddly, that
didn't seem to affect the efficiency of languages such as COBOL that
rely heavily on character data. In fact, COBOL on a 6600 was one of
the fastest implementations of any machine of the time. Character
move loops for example, were typically coded (except by "brain dead"
programmers) to move 10 characters per loop pass--and duplexed load
units made it easy to write an in-stack loop where an instruction
issued every cycle and memory was kept busy.
I have no idea how the implementors of 6000-series C decided to
fashion their character pointers. I can well imagine that they were
"weird".
But byte (whatever you want to call a byte) addressability is just an
artificial convenience anyway if your CPU has a wider datapath than a
byte. The CDC STAR, for example, had bit addressability.
Cheers,
Chuck
More information about the cctalk
mailing list