flat assembler
Message board for the users of flat assembler.

Index > Main > is speculation of the RISC core?

Author
Thread Post new topic Reply to topic
lazer1



Joined: 24 Jan 2006
Posts: 185
lazer1 07 Apr 2007, 19:21
x86 documentation suggests speculation is of x86 asm,

but as I understand it x86 asm is emulated above a RISC core
and AFAICS speculative execution must be done in hardware,

so as x86 is in software doesnt that mean that
speculative execution is speculated RISC core execution
and NOT speculated x86 asm execution??

Mad
Post 07 Apr 2007, 19:21
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 08 Apr 2007, 22:19
Heh, what difference does it make? Smile

The x86 architecture of today consists of multiple layers anyway, both in depth and breadth.
Post 08 Apr 2007, 22:19
View user's profile Send private message Visit poster's website Reply with quote
lazer1



Joined: 24 Jan 2006
Posts: 185
lazer1 10 Apr 2007, 21:44
f0dder wrote:
Heh, what difference does it make? Smile


well that itself is a question!

to the programmer no difference as speculative code is
an implementation optimisation,

but if the speculation is in the RISC core then it will
be less impressive at the x86 level, eg if the RISC core
speculates 20 instructions ahead but each x86 instruction
is implemented in 4 RISC instructions then that presumably
is 5 x86 instructions of speculation??

I guess the x86 instruction cache is a data cache for the
RISC core,

is anything at all known about the x86 RISC cores?

how do they compare to conventional RISC cpus such
as PPC and MIPS,

eg how would an x86 emulator above PPC compare
to RISC core x86?

(say you reversed the PPC CPU endianess flag)

I wonder if the RISC core uses just in time emulation?

those MSR's must be just global variables in write
protected pages,
Post 10 Apr 2007, 21:44
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 10 Apr 2007, 22:05
Well, one thing that springs to mind is that recent (pentium4+) intel processors don't have a regular L1 code cache, it has a "trace cache" instead of decoded x86 instructions...
Post 10 Apr 2007, 22:05
View user's profile Send private message Visit poster's website Reply with quote
Xorpd!



Joined: 21 Dec 2006
Posts: 161
Xorpd! 10 Apr 2007, 23:51
f0dder wrote:
Well, one thing that springs to mind is that recent (pentium4+) intel processors don't have a regular L1 code cache, it has a "trace cache" instead of decoded x86 instructions...

Not so. P4 was the result of a whole generation of computer architects growing up on Hennesy & Patterson thinking that RISC was the only way to design a processor. Intel gave up on that failed architecture and its hated trace cache last year: Core Duo and Core 2 Duo have real instructions caches.
If there were a RISC core in Intel processors, one would think that macro-op fusion would synthesize a three-register opcode out of

movapd xmm2, xmm0
addpd xmm0, xmm1

instead of the worthless combinations which really can get fused.
Post 10 Apr 2007, 23:51
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
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
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.