Welcome, Guest. Please login or register.

Author Topic: What's so bad about Intel 8086 in technical terms?  (Read 21040 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« on: June 11, 2014, 12:31:02 AM »
Quote from: freqmax;766140
* Segmentation registers
* Lacks the "MOVE" instruction?

Segmentation registers are somewhat similar to address registers in 68000
It has MOV instead of MOVE.
 
The main benefit 68000 had was loads of registers and they were mostly orthogonal.
 
The main benefit of the 8086 was that it was source compatible with earlier intel processors and it was cheap.
 
The 8086 was the kind of chip that commodore would have put out in it's 8 bit days.
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #1 on: June 11, 2014, 10:30:29 PM »
Quote from: bloodline;766236
The Pentium 4, known as netburst was discontinued.

Intel knew they had a problem with the P4 before it launched, they hacked the design up to make it work but that unbalanced the chip so that a lot of the design decision no longer made sense. Hyper threading allowed more of the chip to be utilised and they managed to hold on long enough for the core series to make it out of the door.
 
The P4 had a successor that was cancelled.
 
Quote from: bloodline;766236

I doubt there is anything of the 8086 in there, except the real mode emulator that the chip boots in... Hmmm, that's only true if the system is using an IBM PC compatible BIOS... All my x86 machines use EFI, which AFAIK has no real mode code in it.

They all boot in real mode, EFI just switches to protected mode within the first few instructions.
 
No matter what mode it's in the cpu is executing instructions by translating them. So if you class real mode an emulator then protected or x64 mode is also an emulator.
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #2 on: June 12, 2014, 09:46:16 AM »
Quote from: Hans_;766262
but meant that programmers had to be very careful with setting the register that selects the bank before accesing memory. This made it a nightmare to program. To quote one of my university lecturers, "this set back programming by 10 years."

Segmented memory made address calculation more complex, but you have to be very careful setting any register before accessing memory on any cpu.
 
MOVE.W 6(A6), D0

If you don't set a6 correctly on 68000, it will fail as badly as not setting the ds/es segment correctly on 8086.
 
Your lecturers quote sounds like hyperbole. The 8086 came out in 1978, the 68000 came out in 1979. There weren't any microprocessors ten years prior to that. Mini computers and main frames were still using segmented memory then. I'd be interested in what two years he thinks it was set back from and to and why.
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #3 on: June 12, 2014, 02:32:39 PM »
Quote from: commodorejohn;766315
The big problem was that it did awful things to higher-level languages - most 8086 compilers have distinct memory models you have to select based on whether you want more than 64KB for code, data, stack, or any combination thereof, and have distinct types for near (same-segment, 16-bit) or far (different-segment, 32-bit) pointers - which plays merry hell with C, where pointers and pointer manipulation are a way of life.

I never had that much of a problem with memory models in C. I thought SAS/C also had the concept of near and far pointers.
 
Quote from: commodorejohn;766315
Also, some minicomputers and mainframes did use segmented memory, but most of them weren't designed that way from the ground up the way the 8086 was (the PDP-11, for example, originally only had a 16-bit address bus, and wasn't provided with an MMU until later - same goes for the TI-990.) They're kludgy because that functionality was actually a kludge; the 8086 was weird and balky right from day one.

The 8086 was mainly designed by one person & based in part on the 8085 architecture. You can call it a kludge all you want but the compromises made it commercially successful.
 
The iAPX 432 was their proper cpu, which was a failure (like all proper projects tend to do).
 
The history of the 80xx series is interesting http://research.microsoft.com/en-us/um/people/gbell/computer_structures_principles_and_examples/csp0631.htm The 8008 that started the series off was a contract to put a TTL cpu into a single package, which I think Intel just did the design shrink and the manufacture was done by TI.
 
Quote from: freqmax;766322
There's no performance enchancing technique to get around it?
I guess m68k suffers from an extra cycle?

68000 doesn't allow unaligned access for 16 bit fetches, so all 16 bits will be available in one read. I don't know if the 68008 stalls until the 16 bits are fetched or whether it can start working with partial results, I suspect it stalls though.
« Last Edit: June 12, 2014, 05:14:00 PM by psxphill »
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #4 on: June 12, 2014, 05:32:12 PM »
Quote from: commodorejohn;766326
I never argued that it wasn't commercially successful - it's just ugly.

People wanted a more advanced chip that could have CPM software easily ported to it and then easily multitask. The 8086 is a good design for that requirement. The original IBM PC came with either 16k or 64k, so segments were still not a major issue.
 
I don't think anyone predicted how successful the PC would be and how important backward compatibility would become. Until dos extenders came along you had to deal with segments, expanded and extended memory. Any decent programmer wasn't spending an appreciable amount of time on that though.
 
It was successful because it was good enough. People don't care that programmers have to spend an extra 5 minutes a day writing their code.
« Last Edit: June 12, 2014, 05:36:03 PM by psxphill »
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #5 on: June 12, 2014, 07:52:39 PM »
Quote from: commodorejohn;766336
I also never claimed that there weren't reasons for the ugliness - but it's still ugly.

It was more complex, for certain things & those things aren't always necessary even in big programs. The 8086 wasn't designed for large data, because the applications it was designed for wasn't using a lot of ram at the time.
 
Ugly is an emotive term and we're having a technical discussion.
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #6 on: June 12, 2014, 08:58:49 PM »
Quote from: commodorejohn;766348
I'm not going to play at being some kind of impassive robot thing.

Then your value in any technical discussion is going to be limited.
 
Like if we were talking about Ford cars you'd be screaming at the top of your lungs about how Ferrari's are so much better.
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #7 on: June 12, 2014, 10:03:11 PM »
Quote from: commodorejohn;766362
But whatever, you just keep insisting that the fact that I display emotional reactions proves that my assessment of the technical issues that induce those reactions must be wrong, Mr. Spock.

I don't know what the assessment of the technical issues are, because you just keep repeating that it's ugly. That isn't a technical term for why 8086 is "so bad", how much of an emotional reaction you have says more about you than the design of the 8086. And yes, emotions generally do make you make incorrect assessments. Which is why people end up in harmful relationships, or become addicted to drink/illegal substances/etc.
 
Many people can cope with discussing things rationally, not just fictional science officers.
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #8 on: June 13, 2014, 04:44:21 PM »
Quote from: freqmax;766447
IBM wanted to a bite of the personal computer market so they throw together a team that put together some crappy chips from some crappy chip designer like Intel. They then tried to get CP/M but were too important to wait for a good deal so got a crap software to go with this design.

The 68000 was on the table for the PC but Intel came in and priced the 8086 aggressively to make sure their chip got used. Motorola missed their chance.
 
Microsoft sent IBM to Digital Research, but Gary Kildal wanted a royalty and not an outright payment & didn't want it sold as PC DOS. So Microsoft bought QDOS and sold it to IBM, they didn't want a per copy royalty but wanted to be able to sell it to other people. The Gary Kildal was out flying story is a lie. IBM did a deal with Digital Research, including an advance in royalties (and according to Tom Rolander a payment for writing the BIOS). The IBM PC wasn't bundled with an operating system. PC DOS was $40, CPM86 was $240. The majority spoke and PC DOS became standard.
 
Quote from: nicholas;766453
The current solution seems to be that x86 is to inefficient and Windows is just a too big blob of code for mobile environments where power and resources utilization really counts. Besides Microsoft was just too busy entrenching themself in a market that was soon to be competing with a whole new market they perhaps didn't "get".

The problem with being big is that it becomes hard to move. People have wanted more and more functionality from Windows and dropping functionality to make it smaller isn't always that easy (maybe you need to drop 50% of every sub system which effectively means you're re-writing it all). They could have done like Apple did and just start mostly from scratch, but Microsoft try to avoid fragmentation.
 
Android is the most fragmented, but because it's so cheap it has really taken off.
 
Quote from: nicholas;766453
Even if IBM had chosen the 68k as the CPU and CP/M as the OS it would still have been crap. The Atari ST is proof.

Interestingly the person that drove the PC project through at IBM wanted to buy Atari, to get their expertise at designing and manufacturing consumer level micro computers.
 
Instead of the ST being sold by Atari it would have the less catch name of Tramel Technology, Ltd.
« Last Edit: June 13, 2014, 05:40:06 PM by psxphill »
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #9 on: June 13, 2014, 06:26:06 PM »
Quote from: nicholas;766456
http://www.computerhistory.org/atchm/gary-kildall-40th-anniversary-of-the-birth-of-the-pc-operating-system/
 
More historical info from the original developer of QDOS here: http://dosmandrivel.blogspot.co.uk/

I'll go with the account of the person who was in the plane at the time that IBM turned up.
 
http://www.podtech.net/scobleshow/technology/1593/the-rest-of-the-story-how-bill-gates-beat-gary-kildall-in-os-war-part-1
 
Gary Kildall was in a plane on that day, but IBM waited and they sorted out the NDA issue. But IBM didn't want to pay a royalty and so they went away. Digital Research contacted IBM because they were going to sue over QDOS and IBM gave into all their licensing demands & said they weren't going to bundle either PC DOS or CPM86 and just let the customers choose plus giving them $100,000 dollars to do the BIOS. Gary signed thinking that IBM wouldn't be successful but they should just take the money and run, he was wrong.
 
You can argue that IBM overpriced CPM86 on purpose, but Gary let them do it because he didn't think it would matter. But PC DOS winning over CPM86 was nothing to do with IBM not wanting to wait.
 
CPM86 supposedly supported multitasking, but for people buying the 16k model you had so little memory that multitasking wasn't viable. The choice of PC DOS and the 8086 made less sense once shipping in quantity pushed the prices of all the chips down, but nobody predicted that volume would be reached. There isn't enough technical details about CPM86 online, but it appears that it's pretty much the same as DOS 1 apart from the multitasking (it's not even clear that what they shipped supported multitasking). I'm not convinced it would have made much technical difference if CPM86 had been the one and only OS, it just wouldn't be Bill Gates that made all the money.
« Last Edit: June 13, 2014, 07:02:14 PM by psxphill »
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #10 on: June 13, 2014, 07:08:45 PM »
Quote from: nicholas;766464
Which is the same as the write up in the computerhistory article narrates it.

Not really, it says:
 
"With some alternative approaches in mind, Kildall tried to renew the negotiations a week later but IBM did not respond."
 
And according to the interview that didn't happen. He wrote to them saying they were considering suing over QDOS and IBM did respond.
 
"Kildall and Davis negotiated a resolution that required IBM to market CP/M-86 alongside PC DOS"
 
According to the interview it was IBM that suggested both operating systems be available & the deal that IBM came up with was a no brainer for them, they were so quick to bite the hand off IBM that they didn't negotiate anything.
 
It also doesn't have anything about IBM paying $100,000 for BIOS development.
 
But you're right, it doesn't validate the IBM not wanting to wait for Gary to come back from flying his plane story (which I think Bill Gates might have made up).
 
Without being there we can't know what happened, supposedly he was there and there is nobody else who was there that has covered the story in so much detail. So unless someone can offer better evidence we might as well take his word (some of Bil Herd's stories change with every telling and because so many of them have been documented online you can compare how they diverge but you can't tell which one is true).
 
 
Quote from: Nlandas;766458
The really sad thing is that Motorola didn't position the 68000 into markets that would end up winning the PC wars.

They were pricing it for the mini computer market, if they'd priced it to compete with the 8086 then they'd have lost money from the mini computer sales they were making. Someone (or lots of someones) at Motorola failed to predict the microcomputer taking over. The also priced the 6809 too high, which is how the 6502 came about in the first place. You could argue that Motorola were evil money grabbers.
« Last Edit: June 13, 2014, 07:32:34 PM by psxphill »
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #11 on: June 14, 2014, 09:58:10 AM »
Quote from: A6000;766556
I read somewhere that IBM developed a version of the 68000 that executed the IBM 360 instruction set, I wonder if they did anything with that.

They tried to sell it in the XT/370, I don't know how successful they were.
 
I don't know how true the custom microcode story is http://marc.info/?l=classiccmp&m=109279766418496&w=2
It might be that there was external hardware that translated the instructions.
« Last Edit: June 14, 2014, 10:00:59 AM by psxphill »
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #12 on: June 14, 2014, 06:20:55 PM »
Quote from: freqmax;766646
Makes you wonder what would have happened if the "PC" got an 68000 and CP/M to go with it ;)

CP/M had stagnated due to lack of competition & it was expensive, so I'd expect the PC wouldn't have been so successful. At that point it's hard to predict, we might not have become so reliant on computers at all. The butterfly effect of something that big could have caused the Amiga to never exist. It's unlikely the Atari ST would have ended up with software by digital research if they had IBM breathing down their necks for new stuff.
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #13 on: June 16, 2014, 12:59:43 PM »
Quote from: freqmax;766697
Seems the conclusion on x86 is that it was all haphazard and then nobody wanted to do a clean break.

Most successful things are haphazard. The last successful good design I have seen is the PlayStation, but even that has some hardware bugs that they had to maintain throughout the life of the console because fixing them would hurt compatibility.
 
Quote from: freqmax;766823
So now that processors have a frequency ceiling the businesses that stay with x86 will see their competitors run other stuff way faster due efficiencies .. ;)

x86 has always run faster than arm, the only thing arm has is lower power consumption. Which is very important in a phone, tablet or handheld games console. When the device is constantly tethered to the mains it becomes a less important consideration. I have an arm powered NAS, because it's cheap and quiet but it's woefully underpowered.
 
Intel have managed to get power usage for their phone chipsets down a lot in the last few years though. In some cases they have performed identically with lower power, Arm continues to dominate the market because of momentum.
« Last Edit: June 16, 2014, 01:21:54 PM by psxphill »
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #14 on: June 16, 2014, 08:33:43 PM »
Quote from: bloodline;766855
But as you will find if you try a low power intel chip, when they get the power usage down to ARM levels they struggle to offer the performance that ARM can. The converse is also true, as ARM ramp up performance, power usage increases to Intel x86 levels.

The benchmarks I saw were identical performance with Intel showing lower power usage. Supposedly the problem for Intel today is they haven't got a chipset with 4G support.
 
Arm architecture has changed a lot since the beginning, it's not a simple RISC processor anymore.