8 ms·
A 286 running like a 386? (2021)
- h2odragon 3y agoYou could push the clocks on some of those boards quite high, but the rest of the system still had limits: 8 or 12 Mhz for the ISA bus, for example.
- jacquesm 3y agoAnd with a 287, Weitek or DSP32 you could even get fairly decent floating point performance (for the time, and the budget).
- NoZebra120vClip 3y agoMy third home computer was an IBM PS/2 Model 30 286. I was already an systems architecture nerd at that age, and so I was excited to get this new machine. I believe it came equipped with 256KiB RAM and 20MB HDD, among other things. Of course I ran DOS for the most part, and DOS did absolutely nothing with 286's special protected-mode features. Really, Windows 3.1 didn't do anything with it either. Later, I eschewed DOS, upgraded to 2MiB RAM, and installed Minix, which turned into a really fun exploration of protected mode and its strict limitations, like the 64/64 code/data limit on each task. 286 protected mode, for its segmented memory model and all the fascinating advanced features, was more or less neglected by the consumer OSes of its time, and they bided their time until the fully 32-bit 386 with its flat memory model, able to address a huge amount of physical RAM. In retrospect, probably the correct decision. The 286 was a logical transition along the 8-to-32-bit path.
- npsomaratna 3y agoThat reminds me of the undocumented LOADALL instruction, and how you could use it to access memory without switching to protected mode. Good times!
- pavlov 3y agoThere was also OS/2 which was co-created by Microsoft and IBM as the DOS replacement. At IBM’s insistence it was designed to target the 286 protected mode. Bill Gates grumbled a lot about that, he would have preferred to wait to use the 386 instead. And he was right because no interesting applications emerged for OS/2 1.x.
- bell-cot 3y agoGiven how [cough] successful the 386-specific version of OS/2 was, even after IBM put a load of money and marketing behind it...perhaps the real problem was not the 286's protected mode.
- pavlov 3y agoI don't know. MS and IBM wasted several years trying to make OS/2 for 286. If they'd started on a 386-only system back in 1985 when the cooperation was signed, maybe they could have shipped a compelling 32-bit GUI operating system by 1989 and avoided the acrimony that broke the alliance. (Probably not though — the technology choices were only one ingredient in the divorce.)
- bell-cot 3y agoOS/2 for '286 came out in 1987. Then it took them 5 more years to get the '386 version out the door. Vs. tiny SCO was able to get the '386 version of their (Unix-based) Xenix OS out the door in 1987.
- lproven 3y agoThis is absolutely true, but the thing is, SCO didn't have to be backwards compatible with a damned thing. Also note that the base addition of Xenix didn't support graphics, or sound, or networking, or come with a C compiler or anything. It was basically a runtime, for text only apps, and most machines only ran a single app. I put in dozens of boxes running Xenix back then. In my world, the bulk of them ran one binary: an accountancy application provided by Tetra Corporation, and we sold one called Tetraplan. SCO Xenix was a wonderful little operating system, extremely resource efficient, and astonishingly stable in use. Some of those boxes had uptimes in years. But that's relatively easy when it's not connected to anything, not connected to the outside world in any way, and only runs a single program. I am absolutely not denigrating Xenix. Xenix was my first experience of UNIX of any kind, I supported it for years, right into the 21st-century for one exceptional customer, and it caused me remarkably little pain of any kind. It was great. But it was not a mass market, general-purpose product.
- justin_ 3y agoAIUI, another big problem with the 80286 was that it did not support returning to real mode after switching to protected mode. This made compatibility a huge issue, which was a big problem for Microsoft. The 80836, besides marking a switch to 32-bit, added virtual 8086 mode, which allowed for emulating real mode after already having switched to protected mode. https://web.archive.org/web/20021003235610/http://osdev.berlios.de/v86.html https://web.archive.org/web/20021003235610/http://osdev.berl... This "virtual 8086" mode is what was used for the VMM kernel of Windows 9x, and later the NTVDM system on 32-bit versions of Windows NT. I remember being able to run some DOS software on Windows XP (but it wasn't perfect).
- achairapart 3y agoThere was an OS especially made for the new 286 and its protected mode: Concurrent DOS by Digital Research (aka Gary Killdall). This OS would function strictly in protected-mode, allowing users to take full advantage of the protected mode to perform multi-user, multitasking operations while running 8086 emulation. But, by an irony of fate, this only worked on the B-1 prototype step of the chip. When Intel went out for production with a new C-1 step, it broke everything and Concurrent DOS was delayed[0] until it was too late, and then the OS was recycled as a Point of Sale for cash register software[1]. [0]: https://books.google.com/books?id=2y4EAAAAMBAJ&pg=PA17&redir_esc=y#v=onepage&q&f=false https://books.google.com/books?id=2y4EAAAAMBAJ&pg=PA17&redir... (Super DOS awaits new 80286) [1]: https://books.google.com/books?id=oi8EAAAAMBAJ&pg=PA12&redir_esc=y#v=onepage&q&f=false https://books.google.com/books?id=oi8EAAAAMBAJ&pg=PA12&redir... (IBM to use a DRI Operating System)
- nekoashide 3y agoAnd now I know why that weird version of DOS existed a few decades ago when I was working on cash registers. Back then you ran across a lot of DOS compatible OS's and documentation. As long as all the same commands worked you were usually fine.
- rep_lodsb 3y agoThe 8086 emulation would work by trapping every segment register load, emulating the instruction's real mode semantics, and then loading the new CPU state using the undocumented LOADALL instruction. In principle this should work on any stepping. I'm not sure how Digital Research implemented it, but they might have relied on some detail of the exception handling that changed between steppings. For example, if early steppings left "invalid" values in segment registers instead of zeroing them, DR might have used these instead of going to the effort of emulating the faulting instruction? Concurrent DOS/286 became FlexOS, which seems to be available here (but I haven't tested it to see if this actually includes the real-mode emulation, it might have been a feature that was only in the prototype): http://bitsavers.trailing-edge.com/bits/DigitalResearch/FlexOS/ http://bitsavers.trailing-edge.com/bits/DigitalResearch/Flex... In any case, this way of running real mode code might just be too impractical. For "large model" programs using more than 64K data, every pointer dereference would have to be trapped and emulated, taking possibly thousands of clock cycles instead of just a few. You could optimize accesses to code and static data segments by defining protected-mode selectors for those, but running code that e.g. walks a linked list allocated on the heap might be intolerably slow. Also all of the memory allocated to the program would have to be in one contiguous block, since there is no linear->physical address translation in the 286.
- PaulHoule 3y agoBefore I got a 286 around 1987 or so I had a TRS-80 Color Computer and then a Coco 3. Those booted into BASIC but could run OS-9 which was a miniature Unix-like operating system w/ a C compiler, bytecode based structured BASIC, and even a graphical windowing system. I did all the data entry and analysis for a customer survey my uncle needed and spent the money to get a new 286 machine at 12MHz which utterly devastated 8-bit machines in performance. It was so fast that it could emulate the Z80 for CP/M development much faster than any real Z-80! At that time people were jumping ship from 8-bit platforms frequently onto the PC because it had finally become superior in all respects, you could even write good games for the EGA. Some people were going to Amiga and such platforms but the 68k turned out to be a dead end. My uncle told me later on that the information I'd gotten for him had saved his employer a vast amount of money, knowing that I should have asked for enough money to buy a 386 machine and a used car.
- morpheos137 3y agoI don't understand the fascination with obsolete commodity hardware on HN. What would be fascinating would be if modern software could run as fast as 1980s/1990s software with the same functionality...!
- kazinator 3y agoI was trying to find a way to copy the ruler in Libre Office Writer the other day, and had a flashback to how easy it was in 1990 in ClarisWorks on a Mac.
- sgt 3y agoIt kinda does now. Just buy a M1/M2 Mac and you will see :-)
- wslh 3y ago> I don't understand the fascination with obsolete commodity hardware on HN. Older hardware had (obviously?) more restrictions and less to no documentation to current one. That ignited creative and search activities that are lower or non-existant now. For example, now GPUs are more or less blackboxes while before you should study some basic linear algebra to modify and display objects in 3D.
- anthk 3y ago>basic linear algebra So, like before, then?
- bluescrn 3y agoBefore GPUs, you'd first have to master assembly language optimisation if you wanted to do anything worthwhile with realtime 3D. (But for some people, that was a whole lot more fun than building games in Unity or Unreal Engine...)
- bdcravens 3y agoA significant portion of HN readers used that hardware at some point. Far more relevant than San Francisco socioeconomics.
- kazinator 3y ago> Skip forward a full 5 years to 1991 and the most budget-oriented PC was still running a green-screen 8088 CPU for the price of around £300! This is true and the reason is that most people were using PC's to run operating systems from Microsoft, which at the time treated everything in real mode, thus effectively like an 8088. The fact that an 80386 had VAX-like virtual memory didn't mean a damn thing, unless you were trying to run some kind of Unix or Unix-like or at least a "DOS extender".
- jakedata 3y agoMy folks bought a 286-20 from Dell and it was the fastest machine I had ever worked on. Early in my career as a computer entrepreneur I incrementally upgraded it from mono/Hercules to VGA, added a '287 math-co and eventually a bigger hard drive. I think they got 10 years out of that box before jumping to a 486-DX-100. For my honors thesis in college I splurged on an 80386-40 and ULSI math co-processor. It was a 386 running like a 486. For a brief and shining moment I had the fastest personal machine on campus. As always the moment was fleeting but I didn't replace that machine until Windows 95 came out.
- sidewndr46 3y agoThe tech side of this is right but the corporate history may be a bit off > The fastest 80286 CPU produced was the 25 MHz variant manufactured by Harris, who were later acquired by Intersil. I worked at Harris (post split with Intersil) and we still used the same parking lot. Everyone at both companies said that Harris acquired Interstil, merged it with Harris semiconductor, then split it off from Harris as Intersil once more. Intersil never acquired Harris.
- msla 3y agoIt is a little like profiling the 27.5 MHz VLSI VL82C201 80286, which would out-benchmark an 80386 in DOS mode, but at the end, the 80386 could boot Linux and become a workstation and the 80286 could not, and there was no point in trying to run Xenix. Just tickled a few old neurons.
- garaetjjte 3y ago>Later on, AMD and Cyrix legally reverse-engineered the Intel 80386 Am386 was exact copy of Intel 386. Cyrix and C&T were independent compatible designs.
- glonq 3y agoSince computers were super expensive back then, I skipped the 286. I went from an XT clone w/CGA to a 386sx w/ VGA. Quite an improvement!
- Snawoot 3y ago> The PC market was very good at catering to every price point. No wonder, it's because processors were actually cheap, but higher price points were created artificially. Great example is Intel 486SX ($333) vs 486DX ($588). In fact, they had to disable co-processor in 486DX in order to produce 486SX, so SX net cost per unit was higher. [1] Referenced article has many more such anecdotal examples. [1]: https://www2.econ.iastate.edu/faculty/langinier/teaching2005/615-fall2005/paper-hom2/damagegoods.pdf https://www2.econ.iastate.edu/faculty/langinier/teaching2005...
- sacnoradhq 3y agoI never realized the 386DX had motherboards with L2. The 386SX could be thought of as a 286 with 386 compatibility, much like how the 8088 was a chopped bus width 8086. Another fun romp through history: 80186 and 80188. The 80188 used the 8087 while the 80186 could use the 80187 which had an 80387 core.