By: David Kanter (dkanter.delete@this.realworldtech.com), August 7, 2008 8:37 pm
Room: Moderated Discussions
Linus Torvalds (torvalds@linux-foundation.org) on 8/7/08 wrote:
---------------------------
>Potatoswatter (potswa_m@c.com) on 8/7/08 wrote:
>>
>>So what you're saying is, Merom and successors store a pair
>>of 64-bit regs in a physical 128-bit reg, or else vice
>>versa.
>
>You're trying much too hard to pack things tightly, for
>no reason.
>
>No, you'd never try to store a pair of 64-bit registers
>in a 128-bit reg (well, "never" is obviously not true:
>it is how some people do extended doubles). The much
>simpler approach is to just have 128 bits per register,
>and if that's more than you need, who cares? The integer
>ops would only use the mantissa bits.
>
>The advantage is that you can share all the paths to the
>register file - which can be important since there are a
>number of ops that actually do mix integer and FP
>values.
>
>The most trivial example is sharing the divider(s), but
>there are actually instructions to move from one "type"
>of register to another (ie "movd"/"movq" to move from an
>integer register to a XMM register in x86).
>
>And if you want to do that with zero latencies (ie doing
>it as a register rename rather than any actual physical data
>movement between register files), then you need to have a
>unified register file.
>
>Note that historically, floating point and integer
>were a lot more separate than they are today. It used to be
>uncommon to have to convert from one to another. But the
>FP units have been turned into vector units and often work
>on integer or fixed-point data, and the separation of FP
>and integer isn't nearly as clear as it used to be.
My impression is that there's a 1 cycle latency for any communication between int and fp reg files for Merom & Co....is that incorrect?
DLK
---------------------------
>Potatoswatter (potswa_m@c.com) on 8/7/08 wrote:
>>
>>So what you're saying is, Merom and successors store a pair
>>of 64-bit regs in a physical 128-bit reg, or else vice
>>versa.
>
>You're trying much too hard to pack things tightly, for
>no reason.
>
>No, you'd never try to store a pair of 64-bit registers
>in a 128-bit reg (well, "never" is obviously not true:
>it is how some people do extended doubles). The much
>simpler approach is to just have 128 bits per register,
>and if that's more than you need, who cares? The integer
>ops would only use the mantissa bits.
>
>The advantage is that you can share all the paths to the
>register file - which can be important since there are a
>number of ops that actually do mix integer and FP
>values.
>
>The most trivial example is sharing the divider(s), but
>there are actually instructions to move from one "type"
>of register to another (ie "movd"/"movq" to move from an
>integer register to a XMM register in x86).
>
>And if you want to do that with zero latencies (ie doing
>it as a register rename rather than any actual physical data
>movement between register files), then you need to have a
>unified register file.
>
>Note that historically, floating point and integer
>were a lot more separate than they are today. It used to be
>uncommon to have to convert from one to another. But the
>FP units have been turned into vector units and often work
>on integer or fixed-point data, and the separation of FP
>and integer isn't nearly as clear as it used to be.
My impression is that there's a 1 cycle latency for any communication between int and fp reg files for Merom & Co....is that incorrect?
DLK
| Topic | Posted By | Date |
|---|---|---|
| POWER7's new instruction set "VSX" | M.Isobe | 08/04/08 04:59 AM |
| POWER7's new instruction set "VSX" | Anonymous4 | 08/04/08 05:56 AM |
| POWER7's new instruction set "VSX" | Potatoswatter | 08/04/08 02:17 PM |
| POWER7's new instruction set "VSX" | M.Isobe | 08/04/08 03:13 PM |
| POWER7's new instruction set "VSX" | Potatoswatter | 08/04/08 10:35 PM |
| POWER7's new instruction set "VSX" | M.Isobe | 08/04/08 11:32 PM |
| POWER7's new instruction set "VSX" | Potatoswatter | 08/04/08 11:55 PM |
| POWER7's new instruction set "VSX" | M.Isobe | 08/05/08 12:50 AM |
| POWER7's new instruction set "VSX" | Potatoswatter | 08/05/08 02:58 AM |
| POWER7's new instruction set "VSX" | Michael S | 08/05/08 03:26 AM |
| POWER7's new instruction set "VSX" | Potatoswatter | 08/05/08 03:42 AM |
| Sorry, i mean not before Power6 | Potatoswatter | 08/05/08 03:43 AM |
| POWER7's new instruction set "VSX" | M.Isobe | 08/05/08 05:12 AM |
| POWER7's new instruction set "VSX" | Anil Maliyekkel | 08/05/08 07:42 PM |
| POWER7's new instruction set "VSX" | Potatoswatter | 08/06/08 04:19 AM |
| POWER7's new instruction set "VSX" | Anil Maliyekkel | 08/06/08 02:17 PM |
| POWER7's new instruction set "VSX" | Potatoswatter | 08/06/08 08:24 PM |
| POWER7's new instruction set "VSX" | RagingDragon | 08/06/08 10:25 PM |
| shared register file | Michael S | 08/07/08 12:06 AM |
| shared register file | Potatoswatter | 08/07/08 06:59 AM |
| shared register file | Michael S | 08/07/08 08:27 AM |
| Oh, duh (NT) | Potatoswatter | 08/07/08 09:25 AM |
| shared register file | Linus Torvalds | 08/07/08 08:45 AM |
| shared register file | David Kanter | 08/07/08 08:37 PM |
| shared register file | Michael S | 08/08/08 07:54 AM |
| shared register file | David Kanter | 08/08/08 10:05 AM |
| shared register file | Potatoswatter | 08/08/08 11:33 AM |
| AMD Greyhound? | anon | 08/08/08 02:58 PM |
| Greyhound = Barcelona (NT) | EduardoS | 08/08/08 05:25 PM |
| shared register file | Anil Maliyekkel | 08/07/08 07:45 AM |
| shared register file | Michael S | 08/07/08 08:51 AM |
| shared register file | Anil Maliyekkel | 08/07/08 12:18 PM |
| shared register file | RagingDragon | 08/09/08 02:35 AM |
| shared register file | EduardoS | 08/09/08 08:23 AM |
| shared register files | David Kanter | 08/09/08 09:12 AM |
| shared register files | Thiago Kurovski | 08/09/08 11:17 AM |
| shared register files | David Kanter | 08/09/08 01:38 PM |
| shared register files | Thiago Kurovski | 08/09/08 03:54 PM |
| shared register files | David Kanter | 08/09/08 10:11 PM |
| shared register files | Potatoswatter | 08/09/08 01:09 PM |
| shared register files | Michael S | 08/10/08 12:01 AM |
| shared register files | Potatoswatter | 08/10/08 02:31 AM |
| shared register files | Michael S | 08/10/08 03:33 AM |
| shared register files | Potatoswatter | 08/10/08 05:46 AM |
| shared register files | Michael S | 08/10/08 06:35 AM |
| shared register files | Potatoswatter | 08/10/08 08:50 AM |
| shared register files | David Kanter | 08/10/08 09:41 AM |
| shared register files | RagingDragon | 08/10/08 09:48 AM |
| shared register files | Potatoswatter | 08/10/08 10:12 AM |
| shared register files | Jouni Osmala | 08/10/08 11:10 AM |
| shared register files | M.Isobe | 08/10/08 01:38 AM |
| shared register files | Potatoswatter | 08/10/08 02:33 AM |
| shared register files | RagingDragon | 08/10/08 09:43 AM |
| POWER7's new instruction set "VSX" | Anil Maliyekkel | 08/05/08 07:29 PM |
| POWER7's new instruction set "VSX" | Jouni Osmala | 08/05/08 09:23 PM |
| POWER7's new instruction set "VSX" | Potatoswatter | 08/06/08 04:16 AM |



