Hacker News new | past | comments | ask | show | jobs | submit login
Pentium on a 386 Motherboard (dependency-injection.com)
153 points by userbinator on Oct 31, 2021 | hide | past | favorite | 50 comments



This led me to this gem on Wikipedia: The i487SX (P23N) was marketed as a floating-point unit coprocessor for Intel i486SX machines. It actually contained a full-blown i486DX implementation. When installed into an i486SX system, the i487 disabled the main CPU and took over all CPU operations. The i487 took measures to detect the presence of an i486SX and would not function without the original CPU in place.

https://en.m.wikipedia.org/wiki/X87#80487


There was also 486 in a 386 socket called Sidewinder at Intel, but it never shipped. It had an ASIC on the back of the package. There's no record of this anywhere on Google.


The cyrix "486DLC" which wasn't really as fast as an Intel 486dx/25 or 33 came in a standard interface to mount into a 386DX socket on most taiwanese clone motherboards.


They probably didn't want to do anything to prolong any 386 after AMD reaffirmed their license to make them: https://www.latimes.com/archives/la-xpm-1991-03-02-fi-1893-s...


Wasn't that RapidCad?


I was bought a 80287 maths co pro unit for my PC so I could run AutoCAD. That was a 80286 with 1MB of RAM and a 20MB hard disc.


"The MR BIOS on my board is quite confused and reports the CPU to be 586SX, which I like"

I think that's correct though. From what I can find, Intel renamed 586 to 586SX after they released their MMX capable Pentiums. So "non-MMX Pentium" is supposed to be 586SX. "MMX Capable Pentium" is 586DX.


Yeah, it's why it's Pentium has the 'pent' in it, being the '5'86.. IIRC the trademark office told them they couldn't just trademark a number so they did the next best thing.


I prefer the joke explanation. Each new processor line got its name by doing the calculation of incrementing the previous one by 100:

286 --> 386 --> 486 --> 585


For those that weren't around for the release of the original Pentium CPUs, this off-by-one error is a callback to the bug[0] in the FPU. Hilarious.

0: https://en.m.wikipedia.org/wiki/Pentium_FDIV_bug


Yep, at the time we were jokingly speculating if the next generation would be called Hexium. =)


I'm still disappointed that AM4 isn't PGA1337 and that they never released an AMD Furion.


I was relatively young at that time, and actually a bit disappointed that it was called "Pentium Pro" instead.


That’s fascinating to know! I’d personally had a 386 and 486 before I finally got a Pentium, and I never understood the significance of the nomenclature. That’s super neat!


They were also often prefixed with "80" until the 486, before the first of them, because they all came from the 8086, which was the first of the successor line of the 8080 CPU (or rather its 8 bit bus sibling 8088 was).

After that came the 80186, which was not used in IBM compatible PCs (but in non-compatible ones) because it was more of a microcontroller and came with integrated but incompatible peripherals (like an interrupt controller). The CPU itself was still compatible, though.

So were 80286, 80386, 80486 and everything after that. They all added stuff obviously, often massively, but they still all can run 8086 software. Though I've lost track of what's happening with Intel CPU as of recently, I just have some dim and unreliable recollection that real mode might finally have been removed altogether, not sure.


> until the 486, before the first of them

Should read "until the 486, before the Pentium".


Wasn't the Pentium Pro also known as i686?

I don't think there was ever an Intel 786 though.


If you go by the CPUID family identifier, then essentially everything from the Pentium Pro to the latest x-Lake are all in the P6/686 family. The only exceptions are Netburst (P4) with a family of 15(!), the GPU-ish Knight's Ferry/Corner in family 11, and Quark with its Pentium-level instruction set still in family 5.

https://en.wikichip.org/wiki/intel/cpuid


It was. You can see that in gcc target triples.


I'm old enough (50) and (80)486 was the last numbered chip from Intel, in my experience. 586 never happened.

The SX DX thing happened at the 386 and 486 level. All a bit confused and boiled down to whether you got a maths co-processor or not.

Looking back it was a pretty rubbish thing. We consumers have been treated like complete twats by all CPU manufacturers for decades.


Yes, they didn't market it that way, but CPUID returned '5', where a 486 returned '4', a 386 '3', etc. You'll find the 586 references in lots of Intel documentation.


It's also in the DX register (DH specifically) after reset. Earlier CPUs did not have CPUID, so that's what the BIOS most likely used.

"DX holds a component identifier and revision number after RESET as Figure 10-1 illustrates. DH contains 3, which indicates an 80386 component."


Confusing, but 386SX vs 386DX had nothing to do with math coprocessors.

That was only on the 486DX which had a math coprocessor vs 486SX which did not.

https://dfarq.homeip.net/386sx-vs-386dx-a-misunderstood-diff...


Just like difference between 8086 and 8088


Penta = five, the chip was slated to become the 586 but then marketing got involved and wanted something more sexy than just another number.


Total speculation, but the "5" could well be because the BIOS displays whatever the CPU had in its DH (the upper half of DX) register after reset. I remember a few tools that were made before the Pentium was a thing, that also reported "586" when you tried them out on one. (If I remember correctly, the BIOS also has/had a BIOS function to relay that value to a program.)

From the 80386 programmer's reference manual: "DX holds a component identifier and revision number after RESET as Figure 10-1 illustrates. DH contains 3, which indicates an 80386 component."


Awesome hack! For anyone wondering what the limits of this are: The 386 to Pentium (slash Pentium MMX) line use basic logic levels on their pins. There's a core voltage, and an I/O voltage, which are usually printed on the chip. With simple motherboard VRM mods, you can adapt a 386 motherboard to connect to a Pentium CPU. However, the Pentium has wide I/O busses, so trying to use a 386 in a Pentium motherboard might not work (chipset might want to use all 64 data pins, for instance).

Starting with the Pentium Pro and the Pentium II, Intel started using non-standard logic levels (which they patented). This effectively made Intel motherboards incompatible with non-Intel CPUs, and previous generations of Intel CPUs.

Other CPUs that might work in a 386 socket: AMD (up to K6-III), and various other Socket 7 CPUs (including a very rare MIPS chip!)


How can you patent voltages?


https://en.wikipedia.org/wiki/Gunning_transceiver_logic

It's actually a standard (JESD8-3), but the patent is mentioned in it as 5023488 and it's not owned by Intel. It expired in 2010.

https://patents.google.com/patent/US5023488A/en


The patent was probably on the signalling technology devised to be able to operate at these "non-standard" voltages.


I'm utterly baffled that this worked. Ignoring an entire border of pins? Voltage levels from the chipset? Bios recognition? IO timing diagrams?

I kinda don't believe this, but I'm too lazy to look up old datasheets.


However, looking at the Pentium Overdrive pinout the extra row of pins doesn’t seem to be at all essential. There is a number of extra power points and some signalling pins to support L1 cache coherency when using write-back. Nothing too much to worry about.

Uh... sure, if you say so.


Yeah, if I well remember from similar Intel manuals, no power/GND pins are marked as optional, quite the contrary

Though, given how it might be using low power (and maybe with some overdrive adaptor quirk), it might have worked this time


Yeah I was baffled as well. I at least expected some logic in between, but nope... anyway, a quick glance at the socket diagram in the post made me go "I guess", and here are some entirely unfounded, speculative maybe-answers to your questions (I didn't check the data sheets either):

> Voltage levels from the chipset?

Wasn't it just 3.3V at the time (or maybe even 5V)?

> Bios recognition?

Not necessarily? Software-wise, a Pentium is still compatible with a 486, and 486s did not even have CPUID yet (only some later steppings did). The BIOS might have not set some bits in some of the control registers as it would otherwise do, but that does not prevent the CPU from working...

> IO timing diagrams?

That's the hardest one, but remember that this was not a "true Pentium" but an "Overdrive", which is basically a Pentium with a 486 bus interface. And the board does accept 486s.


I tried searching but couldn't find an answer, is PODP == Pentium Over Drive Processor? The top of the CPU shows PODP5V, so maybe Pentium Over Drive Processor 5 Volt?


Correct.


Now put a raspberry pi in there. Emulate the cpu etc. This approach worked for the 68k, eg PiStorm.

Or perhaps put in a FPGA...

Don't even necessarily need it to be an x86 emulator. Use the motherboard as an oddball I/O facility. An ARM machine (ab)using ISA cards would be an odd duck. Throw in a software x86 emulator with a bridge to the ISA bus for added compatibility. Of course there are simpler ways...

All that said, I'm not sure exactly what the benefit really is other than having a cool project. But thats maybe the point. Maybe that's enough in itself.


With how easy that was, I’m surprised we didn’t see more cursed Pentiums in the 90s.


It might not have been economically viable. The pace of obsolescence at that point in time was so fast that it might have been cheaper, over the course of two or three years, to just buy a whole new system than to retrofit a Pentium to a 386 mainboard.

Consider what else happened in the 386 through Pentium transition:

* The PCI bus became standard; your peripheral cards all needed to change.

* SDRAM became standard; the memory bus became significantly wider / faster, and you bottlenecked on RAM if you used older mainboards.

* IDE, while it was already used for hard drives, was now used for your CD drive too - you probably wanted a CD drive and not a second floppy drive (different controller) in your machine, which was harder if you only had a primary IDE bus.


And cache RAM moved on-chip.


...thus being much, much faster than any onboard cache, presumably. In such a configuration, benchmarks with and without onboard cache would be fun.


I recall upgrading my 286 to a 468. Correction, it was one of those Cyrix 486 clones on a 368 motherboard[1].

I bought the motherboard, CPU and RAM. Half the cost was the 8MB of RAM. CPU was the next most expensive item.

Worked fairly well, but it was speed limited in certain cases by the 386 motherboard/memory combo. Also not all applications/games would run since they didn't properly detect it as a proper 486.

[1]: https://ancientelectronics.wordpress.com/tag/486-in-386-moth...


There was even a "Make it 486" CPU for 286 motherboards so you might have been correct. All the upgrades were terrible though really and everyone knew it. Better to save up and get a real 486 or Pentium.


They cost almost as much as the real thing and were barely faster than your starting position in most cases.


This is very interesting, but IMO missing something very important: benchmarks!

As far as I'm concerned, the point of ricing is to see what can be achieved with exotic configurations. I'm running a Ryzen 3950X in a B350 board, which is barely supported, but it works fine. Memory speed is at the edge of stability, which isn't much on that board - about 2900 MHz. My "benchmarks" are compile times.

For old computers, I don't care which benchmarks, as long as they are the same in the "before" and "after" configurations.

My first computer had a 486DLC. I had no idea at the time that it's close to a 386 and is a little slower than a 486SX-25. But I was in school and I had to take what my parents were willing to pay for. It would be fun to see what could have been achieved with a crazy CPU swap. I guess a board that could take an almost 486 could also take a Pentium Overdrive as in the article.


Shout out to MR BIOS which was decades ahead of competition and somehow had to be discontinued. Its setup was way easier to use, the boot up speed was unbelievably fast, like sub-second POST times on 386SX-25 and you could boot into DOS just in a second especially if you had a VGA card without long POST delays unlike Trident.


It is the Pentium Overdrive designed for 486 sockets. I used them to upgrade 486 systems to Pentium systems.


This is great.

And I hadn't seen the name weitek in.. Well I can't remember!


Great job!!! And even funny to do I suppose!


Truly living up to the URL! Great stuff




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: