
[1] 0. Introduction
It’s taken years of waiting before it could come to this: The final CPU upgrade the XIN.at server will ever have seen, as [vaguely announced]. Being an IBM PC Server 704 8650-4M0, it features four socket 8, supporting up two four Intel Pentium Pro 200MHz 1M CPUs as the absolute maximum. And to make the 1M CPUs from 1997 work, you need IBM 12J3352 CPU riser boards as upgrades as well.
Now there is one particularly interesting thing when it comes to the socket that hosted the first real 686, and that’s that there is an Overdrive chip for it. For those of you too young to know: Back in the 90’s, when upgrading a whole computer was seriously expensive, Intel offered special upgrade processors for older platforms, so you could e.g. plug a Pentium processor into a 486 mainboard. And the final Overdrive Intel ever made was for socket 8, so you could replace your Pentium Pro chip(s) with a Pentium II (actually, Xeon) class CPU: The Intel Pentium II Overdrive, which Intel themselves only officially supported for single and dual socket systems, but not for quad socket, like with the machine that is hosting this web site.
1. A bit of backstory & the first test
I always thought that the IBM server would most likely not allow for any CPU to run, unless it’s supported by Intel and IBM for that machine. Reason being that I needed new riser boards to get those 1M Pentium Pro’s working. Here’s one of my old chips, or rather a spare I had lying around, as usual, click to enlarge:
Now there, a German guy named [S2 Sedan]
– salvager on the side – has been looking for old IBM PC Server 704 machines for me for many years. Chances to find any was really low, but just recently, he hit the jackpot, securing a good source of spare parts for me. Just look at that, including the sacrilege that I ordered to be committed:
- Happy server family [2]
- Another happy server family [2]
- Server family slaughtered & stripped for parts [2]
The rightmost picture still makes me wanna cry… But, to get back on topic, S2 Sedan also managed to get one of them to boot up, and given the nature of his side business, he was already in possession of four Pentium II Overdrive chips in their retail version:
So I had sent him two IBM 12J3352 spare riser boards I had in stock, and he tried to get it up and running. Some jumper configurations and some switching servers was necessary, but in the end:
- The Overdrives are recognized as “Pentium Pro” chips [2]
- Some ECC errors and processor warnings [2]
I couldn’t believe my eyes! I mean, of course this didn’t mean that it would really boot up into an operating system and work in a stable fashion, but at the very least one can get past the power on self test, which is in itself already much more than what I’d hoped for!
Those photos really got me fired up, so I went to eBay USA and looked for Overdrives. I actually wanted the OEM versions without fans attached, and there is one seller who’s always selling a single OEM unit at any given time. I won’t link to it, but just search for “Pentium II Overdrive” on eBay.com, and you’ll find it. If you want multiple units for your system(s), just ask him, and he will likely be able to deliver. It appears he has quite a lot in stock, at least at the time of writing.
Thanks to Corona-chan and Pitney Bowes being a slow logistics company it took a month for them to arrive, but there they were!
2. The processors
The OEM versions have no flashy boxes, but are just sitting in sealed blister packages. Parts of the package rip / break when opening them, which was the case here. Those were truly still sealed?! Unbelievable.

A set of five Pentium II Overdrive 333MHz CPUs in their OEM versions, four for using, one as a spare
More images:
- Passive cooler attached to the carrier board
- Closeup of the passive cooler
- Pin-side view
- Closeup showing the pins and a part of the carrier board
The passive cooler is surprisingly small. Given the 45W TDP of the Pentium Pro 200MHz 1M chips, I was a bit concerned about this. I mean, the IBM PC Server 704 has thermal zones and really good airflow, but still. I couldn’t find any TDP specifications for the Overdrives, so I just looked at the regular Pentium II 333MHz with 0.25Âĩm “Deschutes” core, which is also a part of this upgrade CPU (the original “Klamath” Pentium II was fabricated at a 0.35Âĩm node). [According to CPU-World], it’s 23.7W, so not bad. A pretty cool chip in comparison, if we assume that the Overdrive would be roughly in the same ballpark.
The carrier board has some voltage regulators soldered onto it of course, so I tried to peek a little:
- A look at some of the components between cooler and carrier #1
- A look at some of the components between cooler and carrier #2
- A look at some of the components between cooler and carrier #3
I couldn’t make out too much, so I decided to crack it open, also to inspect the state of the thermal grease on the CPU and its L2 cache chip:
- Pentium II Overdrive with cooler removed
- Closeup of the P II Overdrive carrier board with CPU and L2 cache chip
- The cover that the cooler gets clamped onto can be removed
- A look at the carrier with pin cover removed
I was really surprised to see that the black cover on the pins could be removed. We can see that the thermal grease is still in excellent shape, which was another surprise after 23 years in storage! Not bad. Aside from the core (the chip without heatspreader) and the larger cache chip, you can also make out some voltage regulators, as expected.
I reassembled the CPU and got ready for the first installation attempt.
3. Testing my new Eaton 9PX UPS unit
I haven’t actually written about this, but due to another not battery related UPS unit failure, I decided to give up on APC and switch to Eaton for my UPS units. I went a bit overboard and got the following to protect XIN.at recently (sorry, no hardware photos):
- Eaton 9PX 1000W RT2U VFI (9PX1000IRT2U)
- Eaton 9PX extended battery module (9PXEBM48RT2U)
- Eaton Network Management Gigabit Network card (Network-M2)
- Eaton Environmental Monitoring Probe Gen2 (EMPDT1H1C2)
- Eaton Hotswap MBP (MBP3KID)
- Eaton Cable kit for the Hotswap MBP for “small” UPS’s (CBLMBP10EU)
To be able to power off & reboot the machine remotely, I’m using a KVM-over-IP box with client software adapted & re-released by myself plus the power cycling capability of the UPS unit, controlled via its web interface. This had to be tested for the new Eaton 9PX as well, and this was the perfect opportunity. So I used my convertible tablet, went online fia LTE, and connected to my server using [XViewer], which is specific to a single TrendNet KVM box:
Here I would pick “Beenden” which means “Power off”. Then, since the machine has no ACPI yet, it would shut all processes down, flush all caches to disk and tell you that “You can now switch off the computer”. This is where the power cycle capability of the UPS comes in. It’s divided into two power groups, just like with the APC SmartUPS series. So you can power cycle one group (here: the server) while keeping a second one online (here: all the networking hardware):
Thankfully, everything worked perfectly, just as planned!
I had decided to take a highly compressed full backup of the server’s system drive (36GB 15000rpm SCSI) and the data RAID-5 (roughly 55GiB, also SCSI) afterwards. It took a whopping 12 hours to get it done on those sluggish CPUs, so it was around Saturday 04:00 am when the following pictures were made. ![]()
4. Installation attempt
I opened the server and did some cleaning, of which I do not have any current photos, so I’ll just give you some really old ones so you roughly can see what it looks like inside:
- Insides of the IBM PC Server 704
- IBM #12J3352 CPU riser board with one 1MB CPU installed
I pulled the CPU riser boards from the machine, removed tha passively cooled Pentium Pro CPUs and plugged in the “new” Overdrives:
- IBM 12J3352 board with Pentium Pro’s inserted
- IBM 12J3352 board with Pentium Pro’s inserted (closeup)
- IBM 12J3352 board with Pentium II Overdrives inserted
- IBM 12J3352 board with Pentium II Overdrives inserted (closeup)
The interesting part here is that while the heatsinks are clamped into the carrier board – or rather the plastic cover underneath the bottom of it – there is no clamp included to fix them to the socket! So they’re fixed only by the friction between the pins and the socket. That’s a bit scary, given how two of the processors will be hanging heads down. I tested this outside of the machine for a night, and they didn’t fall out. I also grabbed a board by one of the heatsinks and lifted it up, tried to “shake” the board off the CPU. But that didn’t work, so it’s probably okay.
I’ll keep checking from time to time though…
After the CPUs were attached, I still needed to set the L2 configuration jumpers back from 1M to 512k for both sockets, so that the machine would boot up. Yes, there is actually a jumper for that, as specified in the [IBM Netfinity 7000 Hardware Maintenance Manual Supplement]:

IBM 12J3352 riser board, L2 cache jumper documentation
Now my server isn’t an original Netfinity 7000, but the two are quite similar, and share some parts as well. Like the CPU risers.
So let’s switch them to 512k:
- IBM 12J3352, J1C1 jumper set to 1MiB of L2 cache
- IBM 12J3352, J1C1 jumper set to 512kiB of L2 cache
Given the opportunity, I also reinstalled the Delta WFB1212ME-R00 fan I [had serviced], and put the spare back into storage. More service time for that old thing!
When that was done, it was time to put everything back together, take a deep breath and push that button!
5. Power on
I was really happy to see the machine come back online! Here’s a comparison of P.O.S.T. screens during the CPU detection phase, on the left side with the old, officially supported CPUs and on the right side with the new Overdrives:
- P.O.S.T. with Pentium Pro 200MHz 1M CPUs
- P.O.S.T. with Pentium II Overdrive 333@331MHz 512k CPUs
The system runs its FSB at 66.2MHz once the new chips are installed, resulting in a very mild underclocking from 333MHz to 331MHz, but that’s fine. It’s actually working! Naturally, lacking any Âĩcodes for those chips, the BIOS has no choice other than to show them as unknown processors or as Pentium Pro’s. Maybe the “Pentium Pro” string was even hard-coded into the BIOS, could be.
Now there’s a funny part too, look at this:
- Front LCD showing actual Pentium Pro chips
- Front LCD showing… heh?!
Uhm, alright, so the front LCD panel thinks I’m running 75MHz chips. That’d be quite the downgrade.
So what’s happening here? What I think: The LCD is attached to a controller board, which is in turn hooked up to the system board. I am assuming that the small memory area delivering the clock speed value to the LCD is likely just 8 bits wide. If true, then it can represent only 28 = 256 values. Since 0MHz make no sense, it’d likely start counting at 1.
That would mean that in this configuration the LCD would be able to support displaying speeds from 1..256MHz. But we’re running 331MHz. Here’s what supports my theory: 331 – 256 = 75!
This is a classic unsigned byte overflow! At 257, the first number it cannot represent, it just trips and represents that value as 1 again. Made me chuckle to see an overflow in hardware like this.
That’s what can happen when using unsupported processors.
The machine continued to boot happily after that, with the operating system coming up perfectly fine! Before the benchmarks, let’s look at another little detail!
6. Heat and power consumption
Like I said before, those Pentium Pro 1M chips were really hungry and hot. The die is massive after all, like the area of a grown man’s thumb, only wider. 45W of TDP vs. maybe around 27W? Let’s take an actual look:
- Eaton 9PX UPS unit showing power consumption with 4 Pentium Pro 200MHz 1M CPUs
- Eaton 9PX UPS unit showing power consumption with 4 Pentium II Overdrive 333MHz 512k CPUs
Take a look at “Output group 1” only here, as group 2 drives the networking hardware only, and the first value denotes the power consumption of just the UPS unit by itself.
I already had a feeling when I put my hand behind the server, where the air from the CPU & RAM compartment is leaving the case. It was suspiciously cool, even under load. And you can clearly see why: With the CPUs changed, the whole system consumes 80 watts less power than before! That’s quite the amount! If we sum up the TDPs they’d amount to 180W for the Pentium Pro’s, and given our assumption from before is correct, roughly 95W for the Overdrives. Maybe 100W given the added voltage regulation circuitry.
And those numbers fit together really well…
So, more performance, less load on the CPU riser board voltage regulators, less heat, lower cost. Nice. Well, “lower cost” being a bit of an eyewash, given the amount I had to pay to get the CPUs. It’s not like they can amortize that so quickly. But hey, it’s okay, I’ve got time. ![]()
7. Benchmarks
Note: All benchmarks were run while the server was in productive use (Web-, Mail-, IRC servers etc.), so results are to be taken with a grain of salt.
Now, I also did some quick (or not so quick, actually) benchmarks to show the difference between old and new. One test was to open two connections to my FTP server using the AES256-GCM-SHA374 cipher through the TLS v1.2 protocol, and to download two large files in parallel for some time while being limited to my maximum WAN bandwidth of 8Mbit/s.
Secondly, I benchmarked Cinebench R10 on it, to visualize performance scaling not just from Pentium Pro to Pentium II Overdrive, but also in terms of parallelism, from 1 CPU to 4 CPUs under load. Thirdly, I will run my own [x264 benchmark] in its special build for SSE-less CPUs on it, but that’ll probably take 2 weeks, so you’ll just have to sit and wait for that. Turns out it managed to complete it in less than a week. ![]()
First, the FTP test:
- FTP+TLS load test on the Pentium Pros
- FTP+TLS load test on the Overdrives
Hmm, this looks rather inconclusive. We can see that the load is more compact across cores with the Overdrives, but I couldn’t make out a clear winner here. The load starts where the top traffic graph starts peaking in red. The reason why it’s not 2 CPUs being loaded constantly with 2 being idle is that the operating system’s thread scheduler is pushing the threads around all the time.
Even when trying to merge the graphs, it’s still not clear:
Well, it’s mostly an unintelligible mess I guess. But even when looking very closely, one couldn’t determine any kind of clear result here. After ending the test on the Overdrives, I noticed that the base load of the server was just too high. You can also see that before the test begun; The seas were just calmer for the Pentium Pros at the time of the test. Maybe there was some load on the web server or something.
I will have to redo this on the Overdrives when the conditions are better for comparability. I will update the article later on to show my findings.
The thing is, several other services like the weblog interface (which is what I’m writing posts with) feel quite a bit more snappy, so I’m a bit disappointed that I couldn’t visualize this with FTP+TLS load. Well, we’ll see how it goes after a re-test, maybe tonight.
Update 2020-09-01:
Alright, I re-ran the FTP test, but unfortunately, the result is still somewhat inconclusive. Here’s the combined graph. I tried to make it more readable this time around:
Well, still hard to say. Maybe, uhm, a little bit better? I think I’ll change my test method, just to make sure. I’ll compare the speed over LAN instead of WAN, so I’ll fully load 2 CPUs, again with two parallel connections. Speed with the Pentium Pro chips was 1.3MiB/s per connection in that case, so 2.6MiB/s in total. Variation per connection was Âą0.2MiB/s. Once the x264 benchmark is through, I’ll check what kind of throughput I’ll get with encrypted FTPS on the local network.
End of update
Update 2020-09-07:
The encrypted FTP throughput test has been completed, and I think it speaks for itself. Even if we account for the variation, it’s been at most 3MiB/s in total before, and now?
While monitoring that transfer, the lowest I’ve seen was 1.9MiB/s per transfer, so 3.8MiB/s in total. The screenshot above shows the peak, 4.5MiB/s. In any case, it’s much better than before, so yeah!
End of update
Now, let’s take a look at Cinebench R10, which shows some really interesting results:
- Cinebench R10 on 4 Ã Pentium Pro 200MHz 1M chips
- Cinebench R10 on 4 Ã Pentium II Overdrive 333MHz 512k chips
Now, here’s the thing: In pure single-CPU load, the performance increases by roughly +50%. That’s really not too bad given the clock speed increase is exactly +66%.
But it got more challenging when I started to load all of the CPUs. The MP ratio factor of the old Pentium Pro’s wasn’t all that shabby at 3.31Ã. Pretty healthy for an ancient quad socket machine such as this one. But with the Overdrives, that value drops sharply, down to 2.78Ã!
So when loading all CPUs with Cinebench, the performance improvement is only +25% when compared to the old processors. This might be another reason for Intel not supporting those chips in that configuration. They don’t scale well. And showing off diminishing performance increases when scaling up to 4 sockets might’ve not sold well at all. This kind of issue is likely going to be very application-dependent, but for processes doing lots of transfers from and to RAM, I’d think you’d see relatively bad numbers when utilizing all four processors.
My assumption is that the chips are just too fast for the underlying i450GX platform and its slow 66MHz FPM-DRAM memory subsystem. While the memory is 4-way bank interleaved to improve bandwidth, that interleaving doesn’t work all that well most of the time it seems. Probably needs large burst transfers to work well or something.
As for the x264 benchmark: As said it’ll take a while. It’ll be published here as soon as I have results ready! Of course including a comparison with the old CPUs. Hint: It’ll start pretty much now, so performance will remain impacted for at least two weeks starting with 2020-08-31!
Update 2020-09-07, x264 benchmark results are in:
My x264 benchmark has now concluded, and the results [can be seen here], in a direct comparison of the old vs. the new chips. I’ll give the results to you here as well:
- 243:18:19.359 | 4 Ã Intel Pentium PRO 1MB 200MHz @ 199MHz | 2GiB ECC+P FPM-DRAM | IBM PC Server 704 8550-4M0 | Intel 450GX Orion | Windows 2000 Server SP4 (Custom GCC Build)
- 159:08:01.156 | 4 Ã Intel Pentium II Overdrive 333MHz @ 331MHz | 2GiB ECC+P FPM-DRAM | IBM PC Server 704 8550-4M0 | Intel 450GX Orion | Windows 2000 Server SP4 (Custom GCC Build)
The result is better than I’d thought it’d be; For +66% clock speed we get +52.9% performance, which is quite respectable. This also supports my theory that processes which don’t use a lot of memory bandwidth (like x264) can scale pretty well, whereas processes which do will scale much worse.
End of update
8. Conclusion
- CPU-Z with 4 Ã Pentium Pro 200MHz 1M
- CPU-Z with 4 Ã Pentium II Overdrive 333MHz 512k
| Pentium Pro 200MHz 1M | Pentium II Overdrive 333MHz 512k |
|---|---|
| Manufacturing node / transistor gate width: 0.35Âĩm (350nm) | Manufacturing node / transistor gate width: 0.25Âĩm (250nm) |
| Core clock speed: 200MHz | Core clock speed: 333MHz |
| L2 cache clock speed: 200MHz (full) | L2 cache clock speed: 333MHz (full) |
| Level 1 instruction cache: 8kiB, 4-way set associative | Level 1 instruction cache: 16kiB, 4-way set associative |
| Level 1 data cache: 8kiB, 2-way set associative | Level 1 data cache: 16kiB, 4-way set associative |
| Level 2 cache: 1024kiB, 4-way set associative | Level 2 cache: 512kiB, 4-way set associative |
| Instruction set extensions: None (pure 686) | Instruction set extensions: MMX |
| Â | Â |
A total downtime of 12 hours for the full backup and another 1-2 hours of impaired uptime due to CPU cycles being consumed by Cinebench. Was it worth it? Absolutely, in my opinion. While the results for full load don’t look all that perfect, and the FTP results remain inconclusive, I can tell from actually using the server that it’s faster now.
When I’m saying that, I mostly mean PHP performance in the web server context, which means single CPU load if the server is otherwise not overly loaded. It’s really noticable and “feels” more like what Cinebench’s showing. It’s still very slow by today’s standards of course, but given my workflow using the weblog software, it’s far more bearable now. Less time just sitting there, staring at the screen and waiting for the software to scale down that image or send that comment or edit that post. I still have to wait here and there, but I feel less handicapped and can publish things faster.
I’m thinking that when posting comments here now, you should be able to expect a 20-40% more responsive server. It’ll still suck of course, but at least a little less than before.
Also, it’ll suck for the 2 or so weeks that the x264 benchmark run will need to complete. ![]()
Sending and receiving eMails also feels a slight bit more responsive, but of course, that only affects what few users are actually using XIN.at for their eMail services.
The IRC server’s M.o.t.D. / message of the day (A reminder: There is a [webchat interface] as well), [PRTG] and several informational pages here have already been edited to reflect the hardware change.
9. What else?
All that I’m waiting for now is the Pentium II Overdrive stickers I ordered from Lukas / lukparts, who also made my second batch of FreeBSD stickers, which I [used] on my AMD Threadripper box. He has shown me a prototype based on a design I sent to him already (the logo for this post), see the image below!
I can’t wait! As soon as they’re here, I’ll post another picture of it on the case of my IBM PC Server 704! ![]()
As mentioned, updated FTP benchmarks, photos of that sticker when it’s arrived as well as other updates related to the use of Pentium II Overdrive CPUs in my IBM PC Server 704 will arrive as edits!
Update 2020-09-11:
And here it is!

Pentium II Overdrive case badge by [lukparts]
End of update
It took a really long time, but finally, the upgrade I’d thought most unlikely to work has been applied successfully! ![]()
[1] Logo image is ÂĐ Lukas Wojdyla a.k.a. lukparts on etsy.
[2] Photographs are ÂĐ S2 Sedan.



















































Sure there are ways to compile the components of my x264 benchmark on [


So, there is this mainboard, an Intel D850EMV2, or rather D850EMVR, which is a sub-version of the former, i850E Rambus chipset. What’s special about that old Pentium 4 board? Well, I won it once in a giveaway at one of the largest german hardware websites, [














It seems that some miracle has happened. I have now tried quite some builds of ReactOS when i stumbled over a certain [
And so the quest continues, today, a new operating system type: BeOS, in its modern open source form: Haiku. BeOS was originally developed in the 90s as a multimedia operating system to compete with Microsoft Windows and Apple MacOS. However, the operating system never quite took off. In more recent times, the entire OS has been resurrected under a new, japanese name: Haiku.
I have played around with PHP a little again, and actually managed to generate PNG images with some elements rendered to them using a few basic GD functions of the scripting language. This is all still very new to me, so don’t be harsh!