1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Re: x86 instruction set usage-difference between windows 95 andwindows xp ?

Discussion in 'Windows XP' started by Alexei A. Frounze, Mar 25, 2010.

  1. Alexei A. Frounze

    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
     

Share This Page