Will multicore CPUs have identical cores?
CASTalk.com Forum Index CASTalk.com
Discussion of DSP, FPGA, storage and embedded system.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web castalk.com
Will multicore CPUs have identical cores?
Goto page 1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Computer Architecture
Author Message
Douglas Siebert
Guest





Posted: Sat Dec 18, 2004 8:40 pm    Post subject: Will multicore CPUs have identical cores? Reply with quote

Intel and AMD are both talking about 4 and 8 cores on a chip for 65nm and
45nm generations. Will they be identical, or would a hybrid approach that
combines complex and simple or cut-down cores work better? Something like
the combination of two regular cores and a bunch of simple integer only
cores ala Niagara (what Paul DeMone calls the "idiot convention on a chip")

Once we get to say 32nm where 16 current cores could fit easily on a chip,
would they even execute the same ISA? Perhaps there'd be a few that
execute Java or .NET bytecode directly, a couple that do vector FP (or
heck, IA-64), a few traditional cores, and an idiot convention? OK, hell
to debug so probably not, but I see no reason for them all to be identical
once you get beyond four.

--
Douglas Siebert dsiebert@excisethis.khamsin.net

"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety" -- Thomas Jefferson
Back to top
Wes Felter
Guest





Posted: Sun Dec 19, 2004 1:55 am    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

On 2004-12-18 14:40:27 -0600, Douglas Siebert
<dsiebert@excisethis.khamsin.net> said:

Quote:
Once we get to say 32nm where 16 current cores could fit easily on a chip,
would they even execute the same ISA? Perhaps there'd be a few that
execute Java or .NET bytecode directly, a couple that do vector FP (or
heck, IA-64), a few traditional cores, and an idiot convention? OK, hell
to debug so probably not, but I see no reason for them all to be identical
once you get beyond four.

Of course, the best core to execute Java or .NET bytecode is the same
brainiac as is used for normal code (with a JIT).

The Alpha Tarantula vector unit was so big (same size as EV8) that some
people consider it a separate core, so I guess that idea is already out
there. (I don't consider Tarantula a separate core since it can't
operate independently.)

A lot of people will be watching Cell to see how effective it is.

--
Wes Felter - wesley@felter.org - http://felter.org/wesley/
Back to top
Dan Koren
Guest





Posted: Sun Dec 19, 2004 7:55 am    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

"Douglas Siebert" <dsiebert@excisethis.khamsin.net> wrote in message
news:cq24jr$91k$1@narsil.avalon.net...
Quote:

Intel and AMD are both talking about 4 and 8 cores on a
chip for 65nm and 45nm generations. Will they be identical,
or would a hybrid approach that combines complex and simple
or cut-down cores work better? Something like the combination
of two regular cores and a bunch of simple integer only cores
ala Niagara (what Paul DeMone calls the "idiot convention on a
chip")

Once we get to say 32nm where 16 current cores could fit easily
on a chip, would they even execute the same ISA? Perhaps there'd
be a few that execute Java or .NET bytecode directly, a couple
that do vector FP (or heck, IA-64), a few traditional cores,
and an idiot convention? OK, hell to debug so probably not,
but I see no reason for them all to be identical once you
get beyond four.


IMHO a better tradeoff would be the ability to trade off
processors against cache -- e.g. fewer processors with
larger L1/L2 caches, or more with smaller caches. I
would also like to see shared L2 caches. This could
help performance significantly for large memory
footprint workloads, e.g. database servers.



dk
Back to top
Alex Colvin
Guest





Posted: Mon Dec 20, 2004 1:42 pm    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

Quote:
Once we get to say 32nm where 16 current cores could fit easily on a chip,
would they even execute the same ISA? Perhaps there'd be a few that
execute Java or .NET bytecode directly, a couple that do vector FP (or
heck, IA-64), a few traditional cores, and an idiot convention? OK, hell
to debug so probably not, but I see no reason for them all to be identical
once you get beyond four.

So whatever ISA my code is, I can only use part of the chip?

Of course, this is already true when I run code that doesn't use MMX,
8087, SSE floating point, segmented memory, more than 32K cache, ...

--
mac the naïf
Back to top
Nick Maclaren
Guest





Posted: Mon Dec 20, 2004 6:58 pm    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

In article <cq6krv$av0$1@pcls4.std.com>,
Alex Colvin <alexc@TheWorld.com> writes:
|>
|> >Once we get to say 32nm where 16 current cores could fit easily on a chip,
|> >would they even execute the same ISA? Perhaps there'd be a few that
|> >execute Java or .NET bytecode directly, a couple that do vector FP (or
|> >heck, IA-64), a few traditional cores, and an idiot convention? OK, hell
|> >to debug so probably not, but I see no reason for them all to be identical
|> >once you get beyond four.
|>
|> So whatever ISA my code is, I can only use part of the chip?

Not necessarily. All the cores could support the same ISA, but
be optimised differently. The following is something I suggested
a long time ago:

For example, half might be strictly in-order, with really slow
floating-point, graphics and other gizmos, but with support for
access to hardware devices, the specialised and privileged I/O
and other instructions and so on. And half might be out-of-order,
with fast floating-point, graphics, but no support for access to
devices.

It is VERY rare that you would want more than half the CPUs for
running those parts of the kernel and the limitation on performance
for applications is more often memory than CPU, so half the cores
would be ample. But 'ordinary' kernel threads and utilities
processes could run on either type of core.


Regards,
Nick Maclaren.
Back to top
Alex Colvin
Guest





Posted: Mon Dec 20, 2004 8:12 pm    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

Quote:
For example, half might be strictly in-order, with really slow
floating-point, graphics and other gizmos, but with support for
access to hardware devices, the specialised and privileged I/O
and other instructions and so on.

kind of an extension to the U and V integer pipelines on the Pentium,
or the PPC 604's Simple and Complex integer units.

--
mac the naïf
Back to top
John Dallman
Guest





Posted: Mon Dec 20, 2004 10:06 pm    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

In article <cq24jr$91k$1@narsil.avalon.net>,
dsiebert@excisethis.khamsin.net (Douglas Siebert) wrote:

Quote:
Intel and AMD are both talking about 4 and 8 cores on a chip for 65nm
and 45nm generations. Will they be identical, or would a hybrid
approach that combines complex and simple or cut-down cores work better?
Something like the combination of two regular cores and a bunch of
simple integer only cores ala Niagara (what Paul DeMone calls the
"idiot convention on a chip")

Trying to optimise a scheduler for this setup sounds a mite hard. If you
gave the whole chip to a process, it would be possible, but then you'd
lose the ability to have more processes running simultaneously. Making all
the cores the same gives you more flexibility.

---
John Dallman jgd@cix.co.uk
"Any sufficiently advanced technology is indistinguishable from a
well-rigged demo"
Back to top
Stephen Fuld
Guest





Posted: Mon Dec 20, 2004 10:35 pm    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

"Nick Maclaren" <nmm1@cus.cam.ac.uk> wrote in message
news:cq6lq6$760$1@gemini.csx.cam.ac.uk...
Quote:

In article <cq6krv$av0$1@pcls4.std.com>,
Alex Colvin <alexc@TheWorld.com> writes:
|
|> >Once we get to say 32nm where 16 current cores could fit easily on a
chip,
|> >would they even execute the same ISA? Perhaps there'd be a few that
|> >execute Java or .NET bytecode directly, a couple that do vector FP (or
|> >heck, IA-64), a few traditional cores, and an idiot convention? OK,
hell
|> >to debug so probably not, but I see no reason for them all to be
identical
|> >once you get beyond four.
|
|> So whatever ISA my code is, I can only use part of the chip?

Not necessarily. All the cores could support the same ISA, but
be optimised differently. The following is something I suggested
a long time ago:

For example, half might be strictly in-order, with really slow
floating-point, graphics and other gizmos, but with support for
access to hardware devices, the specialised and privileged I/O
and other instructions and so on.

I wonder how much die area one would save by doing this? Is it really
significant? How about some of the cores eliminating the floating point and
graphics instructions totally. These could execute any kernal thread and
the the compiler/linker could mark user programs that were OK to run on the
"reduced instruction set" cores. Of course the OS would have to handle the
scheduling a little more carefully, but not to big a deal. Many simple
programs would execute perfectly well on the small core. Of course, if you
go one step further and restrict some of the cores to specialized programs
written by the vendor and delivered as part of the OS, you have some models
of S/360 descendants.

Quote:
And half might be out-of-order,
with fast floating-point, graphics, but no support for access to
devices.

One note. You might want the cores with the fancy graphics instructions to
have access to the graphics devices.

--
- Stephen Fuld
e-mail address disguised to prevent spam
Back to top
Nick Maclaren
Guest





Posted: Mon Dec 20, 2004 10:59 pm    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

In article <q3Exd.1129653$Gx4.891539@bgtnsc04-news.ops.worldnet.att.net>,
"Stephen Fuld" <s.fuld@PleaseRemove.att.net> writes:
|>
|> > For example, half might be strictly in-order, with really slow
|> > floating-point, graphics and other gizmos, but with support for
|> > access to hardware devices, the specialised and privileged I/O
|> > and other instructions and so on.
|>
|> I wonder how much die area one would save by doing this? Is it really
|> significant? ...

I doubt it, but that's not where the gain would be. The real gain
would be that you could abandon perfect interruptability on the
other cores, which could considerably simplify performance (as
usual, depending on a lot of things). And, by supporting only
in-order execution, you make some of the nastier kernel interactions
a LOT simpler.

One point is that trying to be all things to all men is hard to get
right, and a second is that you don't need to have different ISAs
to have two simpler designs. The ability to switch the unspecialised
threads also means that you get the efficiency of having a uniform
design.

|> How about some of the cores eliminating the floating point and
|> graphics instructions totally. These could execute any kernal thread and
|> the the compiler/linker could mark user programs that were OK to run on the
|> "reduced instruction set" cores. ...

That would work, too.


Regards,
Nick Maclaren.
Back to top
Joe Seigh
Guest





Posted: Mon Dec 20, 2004 11:22 pm    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

Nick Maclaren wrote:
Quote:

In article <q3Exd.1129653$Gx4.891539@bgtnsc04-news.ops.worldnet.att.net>,
"Stephen Fuld" <s.fuld@PleaseRemove.att.net> writes:


|> How about some of the cores eliminating the floating point and
|> graphics instructions totally. These could execute any kernal thread and
|> the the compiler/linker could mark user programs that were OK to run on the
|> "reduced instruction set" cores. ...

That would work, too.


VM used to run virtual machines on any processor. If hardware like a vector
processor wasn't present, VM would get an exception and reschedule the program
on a processor with a vector unit.

Joe Seigh
Back to top
Alex Colvin
Guest





Posted: Mon Dec 20, 2004 11:37 pm    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

Quote:
Also, power might be a good reason for heterogeniety -- use a simple
core when idle or doing little work, switch to more complex core only
when required.
B
In some sense, the ARM MPCore design is a variant of this: keep slowing
down and speeding up several cores to match the workload. Making the
cores different rather than identical is a small step further in this
process.

So this is an idea I think is good: there is too much inefficiency in
having identical cores...

It's not that uncommon to have attached coprocessors in embedded systems.
But those systems tend to have fixed processing requirements.
And I suppose a PC-on-a-chip includes a keyboard processor.

Don't forget that an OS for your combined chip has to be an OS for all the
cores.

For a general-purpose system, I'd rather have more general-purpose
processers, so I can adapt them to my varying needs. Same reason I prefer
general-purpose registers.

--
mac the naïf
Back to top
fepp
Guest





Posted: Tue Dec 21, 2004 2:01 am    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

Alex Colvin wrote:
Quote:
For example, half might be strictly in-order, with really slow
floating-point, graphics and other gizmos, but with support for
access to hardware devices, the specialised and privileged I/O
and other instructions and so on.

kind of an extension to the U and V integer pipelines on the Pentium,
or the PPC 604's Simple and Complex integer units.

--
mac the naïf

There was a research paper I read on combining Alpha EV5 and EV4 cores
on the same chip, roughly 5 EV4 took the same place as 1 EV5. Result:
for multithreaded workloads, IO-intense threads used EV4s efficiently,
while compute-hungry threads used EV5s. Think of it as Pentiums +
Niagaras on the same chip. For general-purpose computing, this is a
fairly good idea.

Also, power might be a good reason for heterogeniety -- use a simple
core when idle or doing little work, switch to more complex core only
when required.

In some sense, the ARM MPCore design is a variant of this: keep slowing
down and speeding up several cores to match the workload. Making the
cores different rather than identical is a small step further in this
process.

So this is an idea I think is good: there is too much inefficiency in
having identical cores...

On the other hand, this has already happened: the TI OMAP series of
chip, as an example, combines TI DSPs with ARMs on the same chip.
Which is what the earlier posts talking about heterogeneous ISAs was
all about. Nothing strange at all, combine specialized functions onto
a single chip. Also, you the Freescale PowerQUICC chips: PowerPC core
+ specialized communications processor. Or Intel and IBM "Network
Processors", with XScale and PowerPC cores + many little programmable
microengines.

The only combination not seen is same ISA, different implemenattions on
a single chip.
Back to top
Nick Maclaren
Guest





Posted: Tue Dec 21, 2004 3:09 am    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

In article <memo.20041220220627.1144G@jgd.compulink.co.uk>,
John Dallman <jgd@cix.co.uk> wrote:
Quote:
In article <cq24jr$91k$1@narsil.avalon.net>,
dsiebert@excisethis.khamsin.net (Douglas Siebert) wrote:

Intel and AMD are both talking about 4 and 8 cores on a chip for 65nm
and 45nm generations. Will they be identical, or would a hybrid
approach that combines complex and simple or cut-down cores work better?
Something like the combination of two regular cores and a bunch of
simple integer only cores ala Niagara (what Paul DeMone calls the
"idiot convention on a chip")

Trying to optimise a scheduler for this setup sounds a mite hard. If you
gave the whole chip to a process, it would be possible, but then you'd
lose the ability to have more processes running simultaneously. Making all
the cores the same gives you more flexibility.

No, it isn't, if done right. Whether it is worthwhile is another
matter.


Regards,
Nick Maclaren.
Back to top
Stephen Fuld
Guest





Posted: Tue Dec 21, 2004 4:33 am    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

"Nick Maclaren" <nmm1@cus.cam.ac.uk> wrote in message
news:cq73uj$79g$1@gemini.csx.cam.ac.uk...
Quote:

In article <q3Exd.1129653$Gx4.891539@bgtnsc04-news.ops.worldnet.att.net>,
"Stephen Fuld" <s.fuld@PleaseRemove.att.net> writes:
|
|> > For example, half might be strictly in-order, with really slow
|> > floating-point, graphics and other gizmos, but with support for
|> > access to hardware devices, the specialised and privileged I/O
|> > and other instructions and so on.
|
|> I wonder how much die area one would save by doing this? Is it really
|> significant? ...

I doubt it, but that's not where the gain would be. The real gain
would be that you could abandon perfect interruptability on the
other cores, which could considerably simplify performance (as
usual, depending on a lot of things). And, by supporting only
in-order execution, you make some of the nastier kernel interactions
a LOT simpler.

One point is that trying to be all things to all men is hard to get
right, and a second is that you don't need to have different ISAs
to have two simpler designs. The ability to switch the unspecialised
threads also means that you get the efficiency of having a uniform
design.

But if the two types of cores had differences in handling precision of
interrupts, etc. could you switch between the two types arbitrarily? If you
expected precision interrupts, were executing on a core without them and got
one, couldn't that cause problems for you?

--
- Stephen Fuld
e-mail address disguised to prevent spam
Back to top
fepp
Guest





Posted: Tue Dec 21, 2004 7:57 am    Post subject: Re: Will multicore CPUs have identical cores? Reply with quote

Quote:
It's not that uncommon to have attached coprocessors in embedded
systems. But those systems tend to have fixed processing requirements.


To some extent they have narrower areas of application... but a
cellphone, for example, has a fairly general-purpose main processor
requirement today. GUI + GAMES + media...

That you run with shared of separate memory is really a matter of taste
-- some phones run the same OS for different processors (OSE for main
processor, OSE for DSP, for example). On the MPCore, you can select
shared or separate memories.

Actually, it might be useful in a PC to have separate memory areas: I
would love to have Linux running as a service-providing machine on a
couple of cores (running fat simulations, for example), with Windows on
the CPUs directly visible to the user. And then some fast "network"
connecting my desktop to an X client on the Linux side.
Think outside the box!
Back to top
 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Computer Architecture All times are GMT
Goto page 1, 2, 3, 4, 5, 6  Next
Page 1 of 6

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




VoIP Electronics Powered by phpBB