Jump to content

Recommended Posts

P4s are perfect for XP machines, excellent chips. I loved them during the aughts, very snappy. I looked into using one for making a Windows 98 machine a little while back, but most of the revisions of it have hyper threading which would cause issues with 98. I believe the earlier versions of the chip though, 2000-02 or so, would be perfectly compatible, but I decided a P3 would be more suitable for a 98 machine. 

2 hours ago, OLD CS1 said:

In my business environments, yes.  In particular, AutoDesk software, Office 2003 and 2007 especially when working with large Excel data sets, a big accounting package, among others.  IIRC, the problem was two-fold: the compilers were not yet optimized for the HT cores, and the HT cores were far too ambitious and it was much easier to stall a pipeline.

Were the machines actually crashing?

9 hours ago, profholt82 said:

P4s are perfect for XP machines, excellent chips. I loved them during the aughts, very snappy. I looked into using one for making a Windows 98 machine a little while back, but most of the revisions of it have hyper threading which would cause issues with 98. I believe the earlier versions of the chip though, 2000-02 or so, would be perfectly compatible, but I decided a P3 would be more suitable for a 98 machine. 

 

I tried installing Windows 98 on this and it almost went through although it would lock up just before entering Windows 98 (after setup completed). I suspect it was the RAM as I have 1GB in here. I know there is a patch for that but I just said screw it and installed XP.

 

My BIOS has the option to turn of HT entirely. I wonder if in your case turning it off would have allowed 98 to run normally without issues.

 

 

Turning off HT did solve a lot of problems for the Pentium 4. However, having the $1,000 CPU wind up slower than the $500 CPU unless the feature that made it cost $1,000 was turned off does not make for a favorable marketing impression. 

 

The reworked Hyperthreading in Nehalem was much better. Indeed, many of the lessons from the Pentium 4 like the power reductions when idling proved very beneficial with later designs. 

  • Like 1

The chip was unworkable without those power-cutting measures. In pre-tapeout simulations the chip would virtually fail, till those power controls were put in place. The MHz race was all marketing blab. The engineers knew better. And, besides, IPC for IPC intel had to have more MHz than AMD, just to stay competitive. It was a brainburning time 4sure.

 

One good thing was that Intel always made great chipsets. And the P4 mainstays, 850, 850e, 865, and 875, were no exception. It’s been an area where AMD was (and remains) 2nd rate.

Edited by Keatah
1 hour ago, Keatah said:

One good thing was that Intel always made great chipsets. And the P4 mainstays, 850, 850e, 865, and 875, were no exception. It’s been an area where AMD was (and remains) 2nd rate.

i820 with memory translation hub was the epitome of a badly implemented chipset. Intel's standard i820 with RDIMMs was slow and expensive because RAMBUS production was inadequate to meet demand and most of the benefits of RAMBUS didn't apply to a Pentium III system. The recall at first because RAMBUS couldn't support 3 memory slots started the i820 off poorly.  Intel's fascination with RAMBUS also led to lawsuits against VIA for Pentium 4 motherboards that supported DDR memory. VIA chipsets had issues but those were the only way at the time to get a reasonable amount of memory without needing a second mortgage. 

The Pentium 4 was so badly designed it needed RAMBUS memory to work correctly and to its fullest capacity. 
 

And the i820, i850, and i850e, were made specifically for RAMBUS. Nothing was wrong with the 820.

 

Pentium III used regular memory and was not well matched to RAMBUS-anything.

 

The 820 only appeared to suck because it was forced to work with the ill-fated Memory Translator Hub. 
 

And pairing a Pentium 4 with SDRAM-anything was lame. 

  • 1 month later...

I had a P4 Northwood. Those were great chips at the time and allowed Intel to retake the performance lead. What really ended up killing the P4 was the introduction of Prescott. They redesigned the microarchitecture to support x86-64 and then shipped a chip with it disabled, resulting in a slower, hotter 32-bit chip than the Northwood that it replaced. Prescott was an embarrassment.

64-bit wasn't ready for consumer use at the time of Prescott's introduction. Remember that Windows 7 Pro 64-bit had to include XP mode to handle all the 16-bit applications (especially installers) still in common use. That was about 5 years after Prescott. 

 

Cedar Mill though was a nice processor even though it was just a quick adaption of Prescott to the 65 nm process for testing purposes and only had 6 months before Core 2 took over. 

On 4/18/2022 at 2:54 PM, Keatah said:

Were the machines actually crashing?

 

On 4/18/2022 at 6:59 PM, OLD CS1 said:

Not that I remember, just running abysmally slow.  Turn off HT in the BIOS and everything went back to normal.

In our case hyperthreading caused crashing.  It wasn't very often but enough that work lost was a problem.  Turning off hyperthreading fixed it.  Didn't notice a performance difference either way.

HT is not TRUE SMT, which is the problem. It is "Kinda sorta fake SMT".  The OS did not differentiate real SMT from HT.  This meant that programs that actually knew how to multithread, (or OS functions that expected an ACTUAL CORE to work with) would have waitstates out the wazoo waiting for APUs to be free, and could end up with spinlock hell.

 

That meant crashiness, instability, and other un-fun things.

 

When it DID work, it was a nice thing.  It was just that most of the time it did not work right.

1 hour ago, Keatah said:

HT seems like a desperate way to keep that 34+ stage pipeline full.

Which was difficult for regular software which expected SMT.  As @wierd_w mentioned, HyperThreading is not true multi-core, though it kind-of presents itself, and some software can detect it, as such.  Software at the time was not designed to take advantage of HT without being compiled with Intel's updated kit.  So some software ran fine because it did not attempt to use it as a multi-core CPU, other software would often stall the pipeline thinking it was using multiple cores.  To give Intel credit, it tried, but HT was just as much of a failure as its 64-bit (EM64T or IA64) architecture.

 

Intel hit the mark with the Core and Core2 processors (IIRC, Core was "back-ported" into Pentium-4 Dual-Core, or at least the P4DC is based upon the first Core cores,) and by adopting AMD's 64-bit architecture.

Core was a Pentium-M with the additional 32-bit instructions of the Pentium 4 added and allowed to hit a competitive clock speed. The dual core Pentium 4s had nothing in common with it. IIRC, the Core Duo was introduced about the same time as Cedar Mill which would have been Intel's third dual core Pentium 4 design. 

 

Hyperthreading is SMT with an Intel trademark attached. The Pentium 4 included a very poor implementation*, and it took Intel another 3 years to resolve the problems.

 

* There were a few cases like video encoding where the Pentium 4 HT was amazing and actually provided better performance increases than other SMT implementations including the version used by Intel i chips. But Nehalem HT never suffers the really big performance loss that could happen with Prescott HT.

7 hours ago, Krebizfan said:

The dual core Pentium 4s had nothing in common with it.

ISTR the original Core and Pentium 4 dual-core T-series share a common core architecture derived from the Pentium-M.

 

7 hours ago, Krebizfan said:

Hyperthreading is SMT with an Intel trademark attached.

Intel's literature says Hyper-Threading is designed to run two threads on one core.  Being SMT is technically correct, but not in the sense of multi-core CPUs (at least not pre-Core2.)  I fall victim to that assumption (that SMT is multi-CPU,) as well.

 

I was under the impression that the video performance increases under the Pentium 4 HT CPUs was due to the inclusion of a new set of SSE instructions and increased performance of existing.  But Hyper-Threading was responsible?

Edited by OLD CS1
Clarification

There is a significant difference between "multi-threading" and "Symmetrical multi processing"

 

HT is quasi multi-threading.  It allows more than one thread to be run, but only under certain, very constricting conditions.

Symmetrical multi processing on the other hand, provides a coherent cache, with two or more entire processor cores that are always available.

 

Programs that are written with the latter in mind, trying to run on the former, will run into all kinds of problems.

 

The OS tried to present an HT capable core, as 2 cores.

 

that was the crux of the problem.  Software needed to be aware of the fact that it could not be doing two math floating point operations concurrently, or two logic operations concurrently etc.

Edited by wierd_w
  • Like 1

Modern multi-core processors are a combination of SMT (Multi-threading, usually with 2 hardware threads), and on-chip SMP.  That is probably why there is confusion. (and why a quad core chip shows up with 8 threads in task manager)

 

HyperThreading was... Not true multithreading.  A multithreading capable CPU has sufficient APUs inside to handle 2 genuine hardware threads at once.  HT on the other hand, can handle 1 hardware thread and sometimes, another thread-- depending on what parts of the CPU were not being used by the first thread.

 

EG, logic operations in one thread, and floating point in the other, is perfectly peachy.

 

However, when you have a video driver going "Oh, the system load on 'core 0' (because the OS did not have a way to tell software "no, this is really hardware thread 0!") is really high, I will use 'Core 1' for this math intensive task! (or maybe storage driver, say-- disk compression needing math functions?), when the main thread is already using those processor functions--- you get processes that get desyncronized, processes forced into waitstates, or into spinlock hell, which, for time-sensitive IO operations, can lead to bluescreens and crashes.

 

HT was an interesting idea. Just, SMP, with multiple actual CPUs on the board, each capable of 1 thread-- had already been in the market for many many years. Software had already made the association that another thread being able to run, meant a whole other CPU to work with.  That is why the OS reported it that way.

 

 

SMT chips in development showed large performance gains on workloads the Pentium 4 was bad at. The Pentium 4's superscalar design had too many execution units for many workloads. Plug in SMT, the CPU keeps running during a stall, the excess execution units get something to do, and performance soars. At least that was the theory. Intel marketing's misguided efforts to push HT into the consumer market when most software was being designed to run on Win98 caused a lot of users to pay more in order to get less performance. 

 

SMT can't add a full core's worth of resources to the problem. The whole point of an SMT design was to get about 20% performance gains in some workloads with only a 5% increase in die size. 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...