A
Alexei A. Frounze
Flightless Bird
On Mar 25, 12:54 pm, Rugxulo <rugx...@gmail.com> wrote:
> Hi,
>
> On Mar 25, 1:15 am, "Alexei A. Frounze" <alexfrun...@gmail.com> wrote:
>
> > On Mar 24, 9:28 pm, "Skybuck Flying" <IntoTheFut...@hotmail.com>
> > wrote:
>
> > > Q2: Has the x86 instruction set received any major or minor extension(s) for
> > > operating system usage (kernel-space) through the years ?
>
> > > (Maybe new instructions ?, maybe new registers ?)
>
> > Now, new non-system instructions that don't come in with new CPU
> > registers or special state structures (e.g. MMX/XMM regs, MXCSR)
> > should work equally well under either system. Think of POPCNT, for
> > example. It works with the same general purpose regs and as long it's
> > supported by the CPU (check with CPUID), you can use it.
>
> Be sure to also check if CPUID is supported before using it!
Must be on all Pentium class CPUs. Anyone still has 80486?
> > But you're
> > out of luck with XMM under Win9x/2K because the OS isn't gonna save
> > and restore them as part of a context switch (switch between threads)
> > and even if you can execute those SSE instructions, as soon as two
> > threads start executing them concurrently, the XMM reg state will get
> > trashed.
>
> I don't know first-hand, but from what I've read, the following all
> support SSE state saving (FXSAVE/FXRSTOR): Win95 OSR2, Win98, WinNT
> 4.0 SP4 + driver, WinNT 5.0 beta 2, or newer. As you probably know,
> WinNT 5 was officially renamed to Win2k.
>
> Not sure what Linux version introduced support, 2.2 or 2.4, somewhere
> in there.
> EDIT: Seems old patches for 2.2.5 and 2.2.12 are available athttp/sourceware.org/gdb/papers/linux/linux-sse.html.
>
> FXSAVE/FXRSTOR are meant to be faster at saving FPU/XMM and were
> actually introduced in late model Pentium II cpus. Of course, SSE1
> only came with Pentium III (or Athlon XP).
I might be wrong and you right. I've rarely needed to use this
instruction subset, so I don't know/remember all the historical
details.
Alex
> Hi,
>
> On Mar 25, 1:15 am, "Alexei A. Frounze" <alexfrun...@gmail.com> wrote:
>
> > On Mar 24, 9:28 pm, "Skybuck Flying" <IntoTheFut...@hotmail.com>
> > wrote:
>
> > > Q2: Has the x86 instruction set received any major or minor extension(s) for
> > > operating system usage (kernel-space) through the years ?
>
> > > (Maybe new instructions ?, maybe new registers ?)
>
> > Now, new non-system instructions that don't come in with new CPU
> > registers or special state structures (e.g. MMX/XMM regs, MXCSR)
> > should work equally well under either system. Think of POPCNT, for
> > example. It works with the same general purpose regs and as long it's
> > supported by the CPU (check with CPUID), you can use it.
>
> Be sure to also check if CPUID is supported before using it!
Must be on all Pentium class CPUs. Anyone still has 80486?
> > But you're
> > out of luck with XMM under Win9x/2K because the OS isn't gonna save
> > and restore them as part of a context switch (switch between threads)
> > and even if you can execute those SSE instructions, as soon as two
> > threads start executing them concurrently, the XMM reg state will get
> > trashed.
>
> I don't know first-hand, but from what I've read, the following all
> support SSE state saving (FXSAVE/FXRSTOR): Win95 OSR2, Win98, WinNT
> 4.0 SP4 + driver, WinNT 5.0 beta 2, or newer. As you probably know,
> WinNT 5 was officially renamed to Win2k.
>
> Not sure what Linux version introduced support, 2.2 or 2.4, somewhere
> in there.
> EDIT: Seems old patches for 2.2.5 and 2.2.12 are available athttp/sourceware.org/gdb/papers/linux/linux-sse.html.
>
> FXSAVE/FXRSTOR are meant to be faster at saving FPU/XMM and were
> actually introduced in late model Pentium II cpus. Of course, SSE1
> only came with Pentium III (or Athlon XP).
I might be wrong and you right. I've rarely needed to use this
instruction subset, so I don't know/remember all the historical
details.
Alex