comp.lang.ada
 help / color / mirror / Atom feed
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.



  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