Image Map Image Map
Results 1 to 8 of 8

Thread: Does Windows 95 really have an SSE bug? (Pentium III)

  1. #1

    Default Does Windows 95 really have an SSE bug? (Pentium III)

    I remember reading a long time ago that there is a bug if Windows 95 is installed on a cpu with SSE like a Pentium III. If more than one program that uses SSE is running at the same time, then one of the programs will crash. Is this really true or will I, by all means, have no problems running Windows 95 on my Pentium III 450?


    I know there’s folks here who would recommend I use Windows 98, but I only use Windows 95 on my retro PC's. It feels far less buggy in daily use. IE4 ruined win9x.

  2. #2
    Join Date
    Dec 2014
    Location
    The Netherlands
    Posts
    2,024

    Default

    It's not a bug, it's just lack of support.
    See, SSE introduces new registers (unlike MMX, which was remapped onto the FPU registers for exactly this reason). In a multi-tasking OS, any task-switch will have to save all registers from the current task, and restore the registers for the next task.
    Since Windows 95 doesn't 'know' that there are SSE registers (they didn't exist yet when Windows 95 was developed), it cannot save and restore them.
    As a result, if you run more than one SSE program at the same time, everytime the task switches, the registers will still contain the values of the other task, leading to unpredictable behaviour.
    With a single SSE program you 'get away with it', because no other task is using the SSE registers, so they will just retain the values by default.

  3. #3

    Default

    I'm assuming Win95 has no problems with 3Dnow? (AMD K6 series and Athlon)

    Considering the K6-2 was the first to come with 3Dnow and it was released in early 1998, so it should work just fine in Windows 95? Would I need to use at least 95B or 95C? I am aware of the AMD K6 patch for 333MHz and faster cpus, but Windows 95 will have no problems on the 233MHz and 266MHz models?

  4. #4
    Join Date
    Dec 2014
    Location
    The Netherlands
    Posts
    2,024

    Default

    Quote Originally Posted by computerdude92 View Post
    I'm assuming Win95 has no problems with 3Dnow? (AMD K6 series and Athlon)
    Correct, because 3DNow! re-uses the MMX registers, which in turn re-use the FPU registers. Which means that any multitasking OS that supports FPU will work fine.

  5. #5
    Join Date
    Jan 2013
    Location
    Marietta, GA
    Posts
    2,510

    Default

    I don't know if it is specifically related to any "sse bug", but I have one program that crashes on my 95 setup if it detects SSE. The problem did not occur under tests on the same hardware with Windows 98. If I use Wcpuid to disable SSE before running it, it runs fine. The CPU in question was an Athlon XP.

  6. #6

    Default

    Quote Originally Posted by SomeGuy View Post
    I don't know if it is specifically related to any "sse bug", but I have one program that crashes on my 95 setup if it detects SSE. The problem did not occur under tests on the same hardware with Windows 98. If I use Wcpuid to disable SSE before running it, it runs fine. The CPU in question was an Athlon XP.
    Windows 98&ME work well with SSE, now I wonder if they can use SSE2?.... Very likely WinME can, because it was sold with the first Pentium 4 PC's which are the Willamette core models.

  7. #7
    Join Date
    Dec 2014
    Location
    The Netherlands
    Posts
    2,024

    Default

    Quote Originally Posted by computerdude92 View Post
    Windows 98&ME work well with SSE, now I wonder if they can use SSE2?.... Very likely WinME can, because it was sold with the first Pentium 4 PC's which are the Willamette core models.
    SSE2 is an extension of the instructionset, but does not change the registers. So any OS that supports SSE will automatically work correctly with SSE2. The same goes for all newer versions of SSE (SSE3, SSSE3, SSE4).
    AVX has superceded SSE though, and AVX introduces new registers, so that won't work unless the OS supports it.

  8. #8
    Join Date
    Mar 2011
    Location
    Norway/Japan
    Posts
    861

    Default

    (I would like to send a "thank you" to Scali - from those three replies I learned more about how the SSE/SSE2 and MMX extensions are done than I've managed to gather by other means over the years. Not that I've actually tried to read the literature, it's just that I haven't come across any simple explanations like that before - I've just occasionally had to fiddle with compiling code that used it, and scratching my head along the way.. - and I hadn't even heard about AVX before.
    Suddenly it's much clearer!)

    Cheers!)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •