7

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?

BarsMonster
  • 3,267
  • 4
  • 45
  • 79
  • 3
    Uh. There's nothing to stop people from manufacturing x86 processors. And people do. Look at AMD. Or Via. – Connor Wolf Aug 16 '12 at 04:13
  • 2
    "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. – The Photon Aug 16 '12 at 04:14
  • 2
    @FakeName AMD had x86 license from the very beginning, thanks to US DOD :-) Cyrix also eventually signed cross-license agreement with Intel. – BarsMonster Aug 16 '12 at 04:31
  • @ThePhoton Yeah, economic side is clear. I am just wondering which obstacles are still on the field other than economics of scale. – BarsMonster Aug 16 '12 at 04:32
  • @BarsMonster - So aside from the 800 lb gorilla that is the economics, do you think anything else actually matters? – Connor Wolf Aug 16 '12 at 04:55
  • There have been some companies that have made 80x86-compatible microcontrollers without, to my knowledge, licensing them. Many programmers have maligned that processor's segment addressing, and a few tweaks to the instruction set could have improved it considerably, but I can't think of any other 16-bit processor that can access memory beyond 64K more smoothly. – supercat Aug 16 '12 at 05:42
  • @supercat Even 8-bit ones can access 16Mb ;-) http://en.wikipedia.org/wiki/Zilog_eZ80 – BarsMonster Aug 16 '12 at 06:56
  • 1
    @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. – supercat Aug 16 '12 at 07:38
  • @BarsMonster: Incidentally, I'd interesting that they used "ld reg,samereg" as prefix instructions. Way back when, I've thought that those would be nice as prefix instructions for "substitute register _ for A in the following instruction". Actually, it probably would have been possible to use them for that and for operand-length control since the only instructions where there would be a conflict would be "ld a,(abs)" and "ld (abs),a"; one could get around that conflict by offering a different means of using absolute addressing. – supercat Aug 16 '12 at 07:48
  • I dug around a bit, but the impression I got is that this question would be best answered by a lawyer. – mng Aug 19 '12 at 17:02
  • x86 processors ARE available from 3rd party (not Intel) companies. I dont understand the question. – old_timer Aug 19 '12 at 22:32
  • @dwelch At the moment they all are license holders from Intel. The question is what is still left, which prohibits companies not holding Intel license to manufacture x86 processors. – BarsMonster Aug 20 '12 at 17:56

2 Answers2

10

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.

stevenvh
  • 145,145
  • 21
  • 455
  • 667
  • 1
    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. – supercat Aug 16 '12 at 07:45
  • 1
    @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. – stevenvh Aug 16 '12 at 08:04
  • 1
    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... – supercat Aug 16 '12 at 14:53
  • ...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... – supercat Aug 16 '12 at 15:09
  • ...of virtualizing 8086 code, that might have been a good architecture; having only one free segment descriptor, though, was a pretty severe handicap. – supercat Aug 16 '12 at 15:11
1

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.

Mark
  • 11,627
  • 1
  • 31
  • 38
  • 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. – BarsMonster Aug 19 '12 at 05:07