7
\$\begingroup\$

It's been a long time since x86 was introduced (80386 for example was manufactured 27 years ago... Oh god I am old), so I wonder, what is stopping 3rd party companies from manufacturing x86-compatible processors?

Also, I've heard that one cannot patent instruction set architecture, what is patented then which prevents from manufacturing compatible processors?

I can understand that one cannot use Intel or x86 trademarks, but what else?

Update: Does anyone have a link to oldest 'blocking patent' on any x86 tech (486, Pentium) which is still in effect?

\$\endgroup\$
12
  • 3
    \$\begingroup\$ Uh. There's nothing to stop people from manufacturing x86 processors. And people do. Look at AMD. Or Via. \$\endgroup\$ Commented Aug 16, 2012 at 4:13
  • 2
    \$\begingroup\$ "What is stopping 3rd party companies from manufacturing x86-compatible processors?" Lack of customers, high start up costs, and the probability of Intel undercutting your prices dramatically in the unlikely event you do find a market. A new x86 would have to compete with all the much-improved alternative architectures (ARM, etc.) now on the market. \$\endgroup\$
    – The Photon
    Commented Aug 16, 2012 at 4:14
  • 2
    \$\begingroup\$ @FakeName AMD had x86 license from the very beginning, thanks to US DOD :-) Cyrix also eventually signed cross-license agreement with Intel. \$\endgroup\$ Commented Aug 16, 2012 at 4:31
  • \$\begingroup\$ @ThePhoton Yeah, economic side is clear. I am just wondering which obstacles are still on the field other than economics of scale. \$\endgroup\$ Commented Aug 16, 2012 at 4:32
  • 1
    \$\begingroup\$ @BarsMonster: Is that really an 8-bit processor, or a 24-bit processor with an 8-bit data bus? Given that it can perform 24-bit register-to-register adds in a single cycle, I'd be inclined to say the latter. Further, I would posit that in many cases, being able to use two-byte pointers to operate upon data structures up to 64K which can be located on arbitrary 16-byte boundaries is apt to be more convenient than having to use three-byte pointers for everything. \$\endgroup\$
    – supercat
    Commented Aug 16, 2012 at 7:38

2 Answers 2

10
+500
\$\begingroup\$

Why isn't anyone interested in licensing the Ford T? That was a great car!

Well it was. And at the time the x86 probably was a good processor too (though we had to suffer from its 64 kB segment limit for several computer generations). But for high end it has been surpassed by several generations of Pentium, and for embedded we've seen the advance of ARM, which is a lot cheaper and consumes much less power.

\$\endgroup\$
5
  • 1
    \$\begingroup\$ The memory architecture of the 8088 was the best I've seen to date for any machine which had a 16-bit primary register width and needed to access over 64K of memory. There are some things Intel could have done to improve it (e.g. load segment immediate or 'normalize' instructions) but given the 16-bit primary register size I think Intel did quite nicely with the design. I think 16-bit machines with odd pointer sizes like 20 or 24 bits seem a bit awkward; once one is going to go beyond 16 bits, 32 seems the next logical step. \$\endgroup\$
    – supercat
    Commented Aug 16, 2012 at 7:45
  • 1
    \$\begingroup\$ @supercat - a question of taste, I guess. Personally I preferred the 16 MB linear address space of the 68000. The 8086's 64 kB segments were a leftover from the 8085 it inherited from, while Motorola had decided not to go for 6800 compatibility. \$\endgroup\$
    – stevenvh
    Commented Aug 16, 2012 at 8:04
  • 1
    \$\begingroup\$ The 680x0 was fundamentally a 32-bit architecture; even though 32-bit computations took longer than 16-bit computations, and even though multiply operations were limited to 16x16 bits, all computations on address registers were always performed as 32 bits. I certainly agree that a 32-bit processor will have an easier time going beyond 64K than will a 16-bit processor. My point is that the 80x86 did a better job than anything else that could really be called a 16-bit processor; I think the use of "memory models" on the development-system side was a bit over-simplistic, but... \$\endgroup\$
    – supercat
    Commented Aug 16, 2012 at 14:53
  • \$\begingroup\$ ...that's not really the fault of the silicon. The concept of segment descriptors introduced with the 80286 was actually a good one which I think could have some merit even today if optimized for object-oriented frameworks (an object reference could be a 32-bit index into a table of object descriptors, each of which could then contain a 64-bit base address; since many data structures hold a lot of object references, reducing them from 64 bits to 32 bits would allow more to fit in each cache line). If the 80286 had added FS and GS, and provided some means... \$\endgroup\$
    – supercat
    Commented Aug 16, 2012 at 15:09
  • \$\begingroup\$ ...of virtualizing 8086 code, that might have been a good architecture; having only one free segment descriptor, though, was a pretty severe handicap. \$\endgroup\$
    – supercat
    Commented Aug 16, 2012 at 15:11
1
\$\begingroup\$

Your going to have to be a lot more specific. 'x86' spans generations of processors and numerous instruction sets.

The players at hand are also diverse. Depending on what subset of 'x86' your defining you may have to talk to different partys. AMD for example owns the 64bit extensions to x86 but they have a cross licensing agreement with Intel that clears that up between the two.

\$\endgroup\$
1
  • \$\begingroup\$ I am interested in oldest non-expired thing, and as expiry term is 20 years - it should be slightly younger than 20 years I guess. 20 years ago (2012-20 = 1992) we had 486 and Pentium started to appear. \$\endgroup\$ Commented Aug 19, 2012 at 5:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.