By: Michael S (already5chosen.delete@this.yahoo.com), September 30, 2009 1:01 am
Room: Moderated Discussions
Mark Roulo (nothanks@xxx.com) on 9/29/09 wrote:
---------------------------
>Linus Torvalds (torvalds@linux-foundation.org) on 9/29/09 wrote:
>---------------------------
>>Mark Roulo (nothanks@xxx.com) on 9/29/09 wrote:
>>---------------------------
>>>Linus Torvalds (torvalds@linux-foundation.org) on 9/29/09 wrote:
>>>---------------------------
>>>>And the thing is, in-order hits a huge complexity and
>>>>performance wall. I can't recall anybody ever having done
>>>>more than two-way superscalar, even on things that are
>>>>much easier to decode than x86. There's just not enough of
>>>>an upside to the complexity ....
>>>
>>>My recollection of SuperSPARC was that it was 3-issue and in-order.
>>>
>>>Wiki claims that UltraSPARC, which came later, was 4-issue
>>>and in-order.
>>
>>Right you seem to be. And I have to admit that I should
>>have remembered the Alpha 21164, which was also quad-issue.
>>
>>So it's been done, and it's generally much simpler to do
>>on fixed-width (and simple) instruction sets. I do think
>>that the upside tends to be fairly limited, and at least
>>on the 21164 you had to have a pretty specific instruction
>>mix (and I think the four instructions had to be 16-byte
>>aligned) to actually get quad-issue.
>>
>>But clearly I was wrong. Dual-issue may be the common case,
>>but three and four have both been done.
>
>Yep. I suspect, however, that the 3rd and 4th pipes help very little
>for the SPARC, and I don't see how they could have helped the Alpha
>on integer loads as only two of the pipelines were for integer stuff.
>
UltraSPARC is pretty unusual in the balance (or lack of) between memory instructions and "other" integer instructions. I can't think about any other wide superscalar processor that can issue only one load or one store per clock. However, from theoretical point of view UltraSPARC is capable of issuing four integer instructions per clock: 2 to ALUs, 1 to LSU and 1 to branch unit.
Please, don't forget Power6 and Itanium2. Both are examples of working wide superscalar in-order engines.
Looking at integer resources only, Power6 has 2 FXUs, 2 LSUs and one branch unit for peak integer issue rate =5.
Itanium2 integer side is wider yet (6 pipes) and has fewer limitations on selection of instructions in the issue group. In fact, if you want all 6 instructions could be of integer ALU type.
Earlier example of wider-than-2-way in-order integer engine is IBM Power2 (2 FXU/LSU + 1 branch unit + 1 conditional registers unit).
AFAIR, MIPS R8000 also was capable of issuing more than 2 integer instructions per clock. 2 ALU + 2 AGU or something like that.
---------------------------
>Linus Torvalds (torvalds@linux-foundation.org) on 9/29/09 wrote:
>---------------------------
>>Mark Roulo (nothanks@xxx.com) on 9/29/09 wrote:
>>---------------------------
>>>Linus Torvalds (torvalds@linux-foundation.org) on 9/29/09 wrote:
>>>---------------------------
>>>>And the thing is, in-order hits a huge complexity and
>>>>performance wall. I can't recall anybody ever having done
>>>>more than two-way superscalar, even on things that are
>>>>much easier to decode than x86. There's just not enough of
>>>>an upside to the complexity ....
>>>
>>>My recollection of SuperSPARC was that it was 3-issue and in-order.
>>>
>>>Wiki claims that UltraSPARC, which came later, was 4-issue
>>>and in-order.
>>
>>Right you seem to be. And I have to admit that I should
>>have remembered the Alpha 21164, which was also quad-issue.
>>
>>So it's been done, and it's generally much simpler to do
>>on fixed-width (and simple) instruction sets. I do think
>>that the upside tends to be fairly limited, and at least
>>on the 21164 you had to have a pretty specific instruction
>>mix (and I think the four instructions had to be 16-byte
>>aligned) to actually get quad-issue.
>>
>>But clearly I was wrong. Dual-issue may be the common case,
>>but three and four have both been done.
>
>Yep. I suspect, however, that the 3rd and 4th pipes help very little
>for the SPARC, and I don't see how they could have helped the Alpha
>on integer loads as only two of the pipelines were for integer stuff.
>
UltraSPARC is pretty unusual in the balance (or lack of) between memory instructions and "other" integer instructions. I can't think about any other wide superscalar processor that can issue only one load or one store per clock. However, from theoretical point of view UltraSPARC is capable of issuing four integer instructions per clock: 2 to ALUs, 1 to LSU and 1 to branch unit.
Please, don't forget Power6 and Itanium2. Both are examples of working wide superscalar in-order engines.
Looking at integer resources only, Power6 has 2 FXUs, 2 LSUs and one branch unit for peak integer issue rate =5.
Itanium2 integer side is wider yet (6 pipes) and has fewer limitations on selection of instructions in the issue group. In fact, if you want all 6 instructions could be of integer ALU type.
Earlier example of wider-than-2-way in-order integer engine is IBM Power2 (2 FXU/LSU + 1 branch unit + 1 conditional registers unit).
AFAIR, MIPS R8000 also was capable of issuing more than 2 integer instructions per clock. 2 ALU + 2 AGU or something like that.
Topic | Posted By | Date |
---|---|---|
Thoughts and questions on the Cortex A9 | Gabriele Svelto | 2009/09/26 01:46 AM |
Thoughts and questions on the Cortex A9 | none | 2009/09/26 02:27 AM |
Thoughts and questions on the Cortex A9 | jeff | 2009/09/27 04:06 AM |
Thoughts and questions on the Cortex A9 | Michael S | 2009/09/27 04:29 AM |
Thoughts and questions on the Cortex A9 | none | 2009/09/27 05:01 AM |
Thoughts and questions on the Cortex A9 | Howard Chu | 2009/09/27 09:39 AM |
Thoughts and questions on the Cortex A9 | Wilco | 2009/09/27 06:03 AM |
Thoughts and questions on the Cortex A9 | jeff | 2009/09/27 07:00 AM |
Thoughts and questions on the Cortex A9 | a reader | 2009/09/27 07:17 AM |
Thoughts and questions on the Cortex A9 | David Kanter | 2009/09/27 07:37 AM |
Thoughts and questions on the Cortex A9 | a reader | 2009/09/27 07:46 AM |
Thoughts and questions on the Cortex A9 | Mat | 2009/10/01 12:04 PM |
Thoughts and questions on the Cortex A9 | Wilco | 2009/10/01 05:09 PM |
Thoughts and questions on the Cortex A9 | anon | 2009/10/01 07:19 PM |
Thoughts and questions on the Cortex A9 | RagingDragon | 2009/09/28 04:11 PM |
Thoughts and questions on the Cortex A9 | Linus Torvalds | 2009/09/27 08:05 AM |
OOO hw vs SW&in-order hw | no thanks | 2009/09/27 03:47 PM |
OOO hw vs SW&in-order hw | Linus Torvalds | 2009/09/28 05:22 AM |
OOO hw vs SW&in-order hw | ? | 2009/09/28 10:37 AM |
OOO hw vs SW&in-order hw | RagingDragon | 2009/09/28 04:22 PM |
OOO hw vs SW&in-order hw | Megol | 2009/09/29 03:35 AM |
OOO hw vs SW&in-order hw | Anders Jensen | 2009/09/28 10:50 PM |
OOO hw vs SW&in-order hw | Linus Torvalds | 2009/09/29 06:44 AM |
OOO hw vs SW&in-order hw | Mark Roulo | 2009/09/29 08:58 AM |
OOO hw vs SW&in-order hw | Linus Torvalds | 2009/09/29 09:30 AM |
3- and 4-issue in-order CPUs | Mark Roulo | 2009/09/29 10:06 AM |
3- and 4-issue in-order CPUs | Linus Torvalds | 2009/09/29 10:29 AM |
3- and 4-issue in-order CPUs | Gian-Carlo Pascutto | 2009/09/29 11:35 PM |
3- and 4-issue in-order CPUs | Michael S | 2009/09/30 01:01 AM |
OOO hw vs SW&in-order hw | mpx | 2009/09/30 03:14 AM |
OOO hw vs SW&in-order hw | Pun Zu | 2009/10/02 01:44 AM |
OOO hw vs SW&in-order hw | none | 2009/10/02 04:22 AM |
OOO hw vs SW&in-order hw | Linus Torvalds | 2009/10/02 06:11 AM |
OOO hw vs SW&in-order hw | a reader | 2009/10/02 08:30 AM |
OOO hw vs SW&in-order hw | Linus Torvalds | 2009/10/02 08:59 AM |
Moorestown | David Kanter | 2009/10/02 09:59 AM |
What's the difference between Moorestown and Pine Trail cores? | anon | 2009/10/03 07:37 PM |
Moorestown | none | 2009/11/03 03:34 PM |
Moorestown | Anon | 2009/11/04 02:17 PM |
Moorestown | none | 2009/11/05 12:38 AM |
Moorestown | David Kanter | 2009/11/05 03:45 PM |
Moorestown | IntelUser2000 | 2009/11/06 03:17 AM |
Moorestown | Anon | 2009/11/06 12:51 PM |
Moorestown | none | 2009/11/07 06:07 AM |
OOO hw vs SW&in-order hw | Anon | 2009/10/02 06:55 PM |
Cluebat for graphics | David Kanter | 2009/10/02 08:19 PM |
Cluebat for graphics | Anon | 2009/10/03 04:45 PM |
Cluebat for graphics | David Kanter | 2009/10/04 12:57 AM |
Cluebat for graphics | Anon | 2009/10/04 07:15 PM |
Cluebat for graphics | David Kanter | 2009/10/05 02:09 AM |
Cluebat for graphics | Anon | 2009/10/05 02:36 PM |
Cluebat for graphics | David Kanter | 2009/10/05 08:54 PM |
Cluebat for graphics | Anon | 2009/10/06 04:58 PM |
OOO hw vs SW&in-order hw | Linus Torvalds | 2009/10/03 05:58 AM |
OOO hw vs SW&in-order hw | slacker | 2009/10/02 08:11 PM |
Linux graphics drivers | RagingDragon | 2009/10/03 07:27 PM |
Linux graphics drivers | anon | 2009/10/04 06:15 AM |
Linux graphics drivers | none | 2009/10/04 09:12 AM |
Thoughts and questions on the Cortex A9 | jeff | 2009/09/27 05:31 PM |
Thoughts and questions on the Cortex A9 | someone | 2009/09/27 08:30 AM |
Thoughts and questions on the Cortex A9 | none | 2009/09/27 09:09 AM |
Thoughts and questions on the Cortex A9 | Wilco | 2009/09/27 10:35 AM |
Thoughts and questions on the Cortex A9 | someone | 2009/09/27 10:55 AM |
Thoughts and questions on the Cortex A9 | Wilco | 2009/09/28 01:08 AM |
Thoughts and questions on the Cortex A9 | someone | 2009/09/28 04:58 AM |
Thoughts and questions on the Cortex A9 | none | 2009/09/28 05:18 AM |
Thoughts and questions on the Cortex A9 | someone | 2009/09/28 06:35 AM |
Thoughts and questions on the Cortex A9 | Wilco | 2009/09/28 07:25 AM |
Thoughts and questions on the Cortex A9 | Michael S | 2009/09/28 10:02 AM |
Thoughts and questions on the Cortex A9 | Wilco | 2009/09/29 12:35 AM |
Thoughts and questions on the Cortex A9 | Chuck | 2009/09/28 06:15 PM |
samples | AM | 2009/09/27 10:20 PM |
samples | Wilco | 2009/09/28 12:51 AM |
samples | AM | 2009/09/28 03:16 AM |
Shrinks and process tech | David Kanter | 2009/09/29 12:22 AM |
Thoughts and questions on the Cortex A9 | someone | 2009/09/27 10:42 AM |
Thoughts and questions on the Cortex A9 | none | 2009/09/27 11:52 AM |
Atom to stay in-oder or go OoO? | AM | 2009/09/27 10:09 PM |
Atom to stay in-oder or go OoO? | Ungo | 2009/09/28 04:34 AM |
Atom to stay in-oder or go OoO? | a reader | 2009/09/28 09:15 AM |
Atom to stay in-oder or go OoO? | anon | 2009/09/28 06:25 PM |
Atom to stay in-oder or go OoO? | AM | 2009/09/30 02:32 AM |
Atom to stay in-oder or go OoO? | baxeel | 2009/09/30 07:25 AM |
Atom to stay in-oder or go OoO? | AM | 2009/09/30 10:12 PM |
Atom to stay in-oder or go OoO? | Ungo | 2009/10/01 02:00 AM |
Atom to stay in-oder or go OoO? | AM | 2009/10/01 04:08 AM |
Atom to stay in-oder or go OoO? | anonymous | 2009/10/01 04:33 AM |
Atom to stay in-oder or go OoO? | AM | 2009/10/03 06:24 AM |
Atom to stay in-oder or go OoO? | Pun Zu | 2009/10/02 12:30 AM |
Atom to stay in-oder or go OoO? | Ungo | 2009/10/02 12:11 PM |
Atom to stay in-oder or go OoO? | AM | 2009/10/03 06:22 AM |
Atom to stay in-oder or go OoO? | Ungo | 2009/10/03 01:53 PM |
Atom to stay in-oder or go OoO? | AM | 2009/10/04 07:44 AM |
Atom to stay in-oder or go OoO? | David Kanter | 2009/10/04 10:02 PM |
Atom to stay in-oder or go OoO? | AM | 2009/10/05 06:18 AM |
Atom to stay in-oder or go OoO? | David Kanter | 2009/10/05 10:12 AM |
Atom to stay in-oder or go OoO? | AM | 2009/10/06 03:51 AM |
Atom to stay in-oder or go OoO? | anonymous | 2009/10/06 06:58 AM |
Do you have any proof? | David Kanter | 2009/10/06 08:58 AM |
Do you? | AM | 2009/10/06 10:30 PM |
Of course I do! | anonymous | 2009/10/07 04:58 AM |
Thanks :-) | AM | 2009/10/08 02:17 AM |
Thanks :-) | anonymous | 2009/10/08 04:52 AM |
Thanks :-) | AM | 2009/10/09 02:13 AM |
Thanks :-) | anonymous | 2009/10/09 05:03 AM |
Thanks :-) | Foo_ | 2009/10/09 05:47 AM |
Thanks :-) | AM | 2009/10/10 12:15 AM |
That's what I thought... | David Kanter | 2009/10/07 08:00 AM |
That's what I thought... | AM | 2009/10/08 02:26 AM |
That's what I thought... | anonymous | 2009/10/08 05:02 AM |
let's see... | AM | 2009/10/09 02:09 AM |
let's see... | anonymous | 2009/10/09 04:43 AM |
let's see... | AM | 2009/10/09 04:52 AM |
let's see... | anonymous | 2009/10/09 05:15 AM |
let's see... | AM | 2009/10/10 12:18 AM |
Atom to stay in-oder or go OoO? | someone | 2009/09/28 05:09 AM |
I call Troll | hobold | 2009/09/28 03:51 AM |
I call Troll | someone | 2009/09/28 05:15 AM |
OT: categories of motivation in a forum | hobold | 2009/09/29 05:01 AM |
Thoughts and questions on the Cortex A9 | Michael S | 2009/09/28 09:43 AM |
Thoughts and questions on the Cortex A9 | a reader | 2009/09/28 03:12 PM |
Thoughts and questions on the Cortex A9 | someone else | 2009/09/28 11:25 PM |
Why Cortex A9? | hobold | 2009/09/29 06:20 AM |
Why Cortex A9? | someone else | 2009/09/29 09:57 AM |
Why Cortex A9? | Richard Cownie | 2009/09/29 05:09 PM |
Why Cortex A9? | hobold | 2009/09/29 11:38 PM |
Why Cortex A9? | Richard Cownie | 2009/09/30 05:49 AM |
Why Cortex A9? | hobold | 2009/09/30 06:46 AM |
Why Cortex A9? | none | 2009/09/30 06:56 AM |
Marvell Sheeva and plug computing | Richard Cownie | 2009/09/30 08:03 AM |
Why Cortex A9? | Michael S | 2009/09/30 09:07 AM |
Why Cortex A9? | none | 2009/09/30 09:40 AM |
Why Cortex A9? | Gabriele Svelto | 2009/09/30 11:43 AM |
ARM architectural license | David Kanter | 2009/09/30 04:57 PM |
ARM architectural license | a reader | 2009/10/01 06:25 AM |
ARM architectural license | Richard Cownie | 2009/10/01 07:21 AM |
Why Cortex A9? | slacker | 2009/09/30 06:12 PM |
ARM architectural license | David Kanter | 2009/09/30 06:16 PM |
Why Cortex A9? | Michael S | 2009/10/01 06:45 AM |
Why Cortex A9? | slacker | 2009/10/02 01:41 AM |
Why Cortex A9? | Richard Cownie | 2009/10/02 09:28 AM |
Questions... | David Kanter | 2009/10/02 09:56 AM |
Questions... | Richard Cownie | 2009/10/02 10:29 AM |
Questions... | Wilco | 2009/10/02 12:05 PM |
Questions... | slacker | 2009/10/02 07:51 PM |
Why Cortex A9? | slacker | 2009/10/02 07:44 PM |
Why Cortex A9? | David W. Hess | 2009/09/30 07:42 AM |
Thoughts and questions on the Cortex A9 | Gabriele Svelto | 2009/09/28 12:28 AM |
Thoughts and questions on the Cortex A9 | Wilco | 2009/09/26 06:38 AM |
Thoughts and questions on the Cortex A9 | Gabriele Svelto | 2009/09/28 12:38 AM |
Thoughts and questions on the Cortex A9 | Costanza | 2009/10/01 02:45 PM |
Thoughts and questions on the Cortex A9 | sylt | 2009/09/28 04:54 AM |
Thoughts and questions on the Cortex A9 | Wilco | 2009/09/29 12:15 AM |