Path: csiph.com!xmission!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: George Neuner Newsgroups: comp.compilers Subject: Re: PR1ME C compiler sources Date: Fri, 27 Sep 2019 20:56:58 -0400 Organization: A noiseless patient Spider Lines: 30 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <19-09-015@comp.compilers> References: <19-09-003@comp.compilers> <19-09-004@comp.compilers> <19-09-006@comp.compilers> <19-09-007@comp.compilers> <19-09-009@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="13900"; mail-complaints-to="abuse@iecc.com" Keywords: C, history, architecture Posted-Date: 28 Sep 2019 08:40:53 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2365 On Thu, 26 Sep 2019 11:53:20 +0100, "Derek M. Jones" wrote: >John, > >> [The Prime machines suffered from having too many versions of >> everything. Page 41 of that quick reference card has a 48 bit pointer >> format with a bit number in the low 16 bits. It seems unlikely that a >> C compiler would use that as a general pointer format since it doesn't >> fit in any sort of normal int, and it's not what you'd want to point >> at an int or a function or anything bigger than a char. -John] > >Some Cray machines and DSP chips have a similar problem with using >word addressing. > >Several solve the problem by defining the word to be the smallest >addressable unit, making chars 48-bits in the case of some DSPs. Just curious - what DSPs have 48-bit characters? I have worked with Analog Devices chips that had 16/32/48 bit words in internal memory and 32/48 bit words in external memory. Instructions - and extended floats - were 48 bit, but all other data was either 16 or 32 bit. Due to addressing, an individual character could be a 16 or 32 bit value in internal memory, but had to be a 32-bit value in external memory. Strings - if you used them - were packed to occupy as few words as possible, and library string functions (mostly) expected packed sequences rather than arrays of characters. George