Welcome, Guest. Please login or register.

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

Description:

0 Members and 1 Guest are viewing this topic.

Offline freqmaxTopic starter

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
What's so bad about Intel 8086 in technical terms?
« on: June 10, 2014, 08:04:30 PM »
Most people here I guess finds the Motorola 68000 a really good design given the limitations at the time (economy, tech and market). The Intel 8086 and descendants were a less well thought design. But what specific technical aspects of it were made worse that any circumstance would had enforced?

I can think of some personal points:
 * Segmentation registers
 * Lacks the "MOVE" instruction?
 etc..
 

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show only replies by matthey
Re: What's so bad about Intel 8086 in technical terms?
« Reply #1 on: June 10, 2014, 08:57:23 PM »
Quote from: freqmax;766140
Most people here I guess finds the Motorola 68000 a really good design given the limitations at the time (economy, tech and market). The Intel 8086 and descendants were a less well thought design. But what specific technical aspects of it were made worse that any circumstance would had enforced?


First off, there is a difference between how good the CPU design is and how good the ISA design is. IMO, for it's time, the 68000 was an average implementation of a great ISA design. There were 8 bit upgraded to 16 bits processors that were faster than the 68000 although the 68000 had an advantages with complex code, large code and ease of optimizing. The 68000 ISA was created with the foresight that it would become a 32 bit processor (32 bit registers and operations). It had no major disadvantages when it became 32 bit. The x86 started out 8 bits with no foresight for 16 bits. There is a big difference between 8 bit memory banks and 16 bit direct addressing. The 8 bit x86 processors were using 2 variable registers with an accumulator for the result. Only certain registers were allowed to do specific functions. Orthogonality wasn't even conceived when they were designed. Growing to 16 bits was a big change with 8 bit legacy baggage. Then came 32 bit and extensions after most of the shorter efficient instruction encodings were taken. Some common instructions were dropped (INC) and new replaced (MOVSX/MOVZX). Compatibility modes were created adding complexity. Some things work and others still seem like bolt-ons and throwbacks to the 8 bit days. The x86 does have some advantages. The original instructions and addressing modes were generally simple so easy to clock fast. Certain instructions were more common and shorter which was easier to optimize internally in the CPU. The code density was good especially for 8 bit text. The 8 bit x86 processors weren't bad 8 bit processors. The ISA suffered from 8->16->32 bits while the 68k was designed for 32 bits from the beginning. Ironically, the x86 has been developed into the fastest consumer processor while the 68k was dropped after only 1 major ISA update.
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #2 on: June 10, 2014, 09:43:03 PM »
Quote from: matthey;766146
Ironically, the x86 has been developed into the fastest consumer processor while the 68k was dropped after only 1 major ISA update.

Not sure if the AMD64 really counts as x86... I know it has full x86 compatibility, but the ISA is so far removed from the old x86 design, I would call it a new architecture.

Offline NorthWay

  • Full Member
  • ***
  • Join Date: Jun 2003
  • Posts: 209
    • Show only replies by NorthWay
Re: What's so bad about Intel 8086 in technical terms?
« Reply #3 on: June 10, 2014, 11:15:40 PM »
In an era when people still hand-coded in asm, the 68K had room to breathe and express ideas, while the x86 was so cramped it gave you headaches.

Use a high-level language and it doesn't matter really.
A good architecture will probably go faster than a worse one. Throw billions of transistors at it and architecture disappears in the tech fog.
When your transistor budget was limited it was hard and expensive to transform something bad to something good. Nowadays you don't see the stuff that makes it go fast.
You don't want to try to write optimal assembler code these days, that is better left to the compiler.

How times have changed.
There is however someone trying to do both architecture and technology at the same time to go faster - search for "The Mill". Or just go to their site at http://millcomputing.com/
 

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show only replies by commodorejohn
    • http://www.commodorejohn.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #4 on: June 11, 2014, 12:00:10 AM »
Ugly segmented architecture, slow memory addressing coupled with a smallish register file, just enough orthogonality to trick you into thinking orthogonally only to be confronted with all the stupidly special-purpose register functions, and the added insult of all of that being to achieve not even binary compatibility with the 8080, but only source-compatibility. Bleah.
« Last Edit: June 11, 2014, 12:02:15 AM by commodorejohn »
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #5 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 matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show only replies by matthey
Re: What's so bad about Intel 8086 in technical terms?
« Reply #6 on: June 11, 2014, 12:48:34 AM »
Quote from: bloodline;766150
Not sure if the AMD64 really counts as x86... I know it has full x86 compatibility, but the ISA is so far removed from the old x86 design, I would call it a new architecture.


Adding 8 somewhat general purpose 16 bit registers and 16 bit addressing instead of segmented memory banks may have been a bigger ISA change that the jump from 16 bit to 32 or even 32 bit to 64 bit with x86_64. It's true that the x86_64 ISA is so different than the original 8 bit x86 that it really isn't the same thing anymore. I would call it a new architecture also but I would do the same for any new ISA (Instruction Set Architecture).
 

Offline danbeaver

Re: What's so bad about Intel 8086 in technical terms?
« Reply #7 on: June 11, 2014, 01:18:19 AM »
And the rational for IBM using an 8088 rather than the 8086?  Well other than usual...
 

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show only replies by commodorejohn
    • http://www.commodorejohn.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #8 on: June 11, 2014, 02:15:39 AM »
Quote from: danbeaver;766178
And the rational for IBM using an 8088 rather than the 8086?  Well other than usual...
Just the usual: 8-bit support components were cheaper than 16-bit ones.
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline persia

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 3753
    • Show only replies by persia
Re: What's so bad about Intel 8086 in technical terms?
« Reply #9 on: June 11, 2014, 03:38:22 AM »
A core i7 is so far removed from an 8086 it isn't funny.
[SIGPIC][/SIGPIC]

What we\'re witnessing is the sad, lonely crowing of that last, doomed cock.
 

Offline freqmaxTopic starter

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: What's so bad about Intel 8086 in technical terms?
« Reply #10 on: June 11, 2014, 03:42:31 AM »
Are you sure?

The P4 was at least an expensive air heater.. hot air if you like ;)
And then marketing seemed to learn that performance not Hz is the measure that the market uses.
 

Offline persia

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 3753
    • Show only replies by persia
Re: What's so bad about Intel 8086 in technical terms?
« Reply #11 on: June 11, 2014, 06:03:05 PM »
The original Core Duos were basically two Pentium 4s on a chip, the i series developed out of this but fixed many of the pentium core issues, but yeah, somewhere deep in the cores lie remnants of the old 8086...
[SIGPIC][/SIGPIC]

What we\'re witnessing is the sad, lonely crowing of that last, doomed cock.
 

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show only replies by commodorejohn
    • http://www.commodorejohn.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #12 on: June 11, 2014, 06:51:27 PM »
Actually the Core line was derived from the Pentium M, which was basically a Pentium III with a DDR bus. Pentium 4s were Netburst, which was so bad that they pretty much abandoned it after that.
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: What's so bad about Intel 8086 in technical terms?
« Reply #13 on: June 11, 2014, 06:56:54 PM »
Quote from: persia;766227
The original Core Duos were basically two Pentium 4s on a chip, the i series developed out of this but fixed many of the pentium core issues, but yeah, somewhere deep in the cores lie remnants of the old 8086...


Actually the CoreDuo and later processors were develops from the Pentium M... Which was itself developed from the Pentium III. The Pentium 4, known as netburst was discontinued.

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.

Offline psxphill

Re: What's so bad about Intel 8086 in technical terms?
« Reply #14 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.