From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: 64 bit codes
Date: Wed, 28 Sep 2011 03:36:24 -0700 (PDT)
Date: 2011-09-28T03:36:24-07:00 [thread overview]
Message-ID: <ce3baaba-aaf4-46eb-9494-d7f802bfcece@i23g2000yqm.googlegroups.com> (raw)
In-Reply-To: 4e82ee92$0$6573$9b4e6d93@newsspool3.arcor-online.net
Georg Bauhaus wrote on comp.lang.ada:
> On 27.09.11 17:49, Bill Findlay wrote:
>> So, while your caveats are of course valid, there certainly are workloads
>> that benefit greatly from working in 64 bits.
>
> IBM confirms:
>
> "64 bit register use in 32 bit applications: GCC will exploit the
> availability of 64 bit registers in 32 bit applications when compiling
> with -m31 -mzarch. This provides a significant performance gain for 32
> bit applications built this way. The versions of the Linux Kernel,
> GNU Binutils, GNU C Library and GDB as documented here provide the
> support required by this GCC feature."
>
> http://www.ibm.com/developerworks/linux/linux390/toolchain.html
>
> I hadn't known that there are 31-bit systems and correspondingly,
> a -m31 switch for GCC. Wow.
S/370-XA (introduced 1983) and subsequent IBM mainframes had 31-bit
address and 32-bit data buses. The addresses were really 32-bit, of
course, but one bit is reserved to distinguish 31-bit addresses from
24-bit (!) addresses for compatibility with the earlier S/360 and S/
370 architectures. Each process thus has a 2 GiB address space. The
entire system can have much more than that in physical RAM, of course.
The mainframes moved to full 64-bit support (z/Architecture) in 2000
but the 31-bit/24-bit mode still exists for backward compatibility.
The quote from IBM clearly applies only to these later (current)
mainframes, as the earlier ones did not even have 64-bit registers.
Hence the requirement for "-mzarch" in addition to the "-m31".
BTW, I never disputed that the use of 64-bit registers improved
performance. What I claimed was this performance gain might be
offset, in whole or in part, by losses in cache hit rates and higher
memory bandwidth requirements. Sun Microsystems moved to full 64-bit
support as early as 1995 but used to recommend that applications be
compiled in 32-bit mode, unless they required more than 4 GiB of
memory, for this reason. The kernel was of course 64-bit.
--
Ludovic Brenta.
next prev parent reply other threads:[~2011-09-28 10:43 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-27 6:59 64 bit codes Mok-Kong Shen
2011-09-27 7:48 ` Georg Bauhaus
2011-09-27 9:04 ` Mok-Kong Shen
2011-09-27 9:14 ` Ludovic Brenta
2011-09-27 9:54 ` Mok-Kong Shen
2011-09-27 10:08 ` Ludovic Brenta
2011-09-27 11:21 ` Mok-Kong Shen
2011-09-27 13:09 ` Ludovic Brenta
2011-09-27 13:25 ` Georg Bauhaus
2011-09-27 13:51 ` Mok-Kong Shen
2011-09-27 14:15 ` Mok-Kong Shen
2011-09-27 14:40 ` Ludovic Brenta
2011-09-27 13:48 ` Mok-Kong Shen
2011-09-27 14:50 ` Ludovic Brenta
2011-09-27 15:49 ` Bill Findlay
2011-09-28 9:53 ` Georg Bauhaus
2011-09-28 10:36 ` Ludovic Brenta [this message]
2011-09-28 0:38 ` Rugxulo
2011-09-29 17:08 ` Rugxulo
2011-09-29 19:20 ` Pascal Obry
2011-09-29 19:26 ` Ludovic Brenta
2011-09-29 19:35 ` Pascal Obry
2011-09-29 19:38 ` Pascal Obry
2011-10-06 2:48 ` mjamesb
2011-09-27 15:39 ` Simon Wright
2011-09-27 19:13 ` Simon Wright
2011-09-28 7:16 ` Georg Bauhaus
2011-09-28 12:26 ` Fritz Wuehler
2011-09-28 13:41 ` Yannick Duchêne (Hibou57)
2011-09-28 14:28 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox