龍芯採用intel x86的指令界面,也算是侵權嗎?
龍芯如果得不到intel的授權,但是用自己的方法來實現x86指令集,只是保持了界面的一致,從而讓上層軟體(bios, compiler, os)都能夠直接使用龍芯,這樣做依然會被intel告侵權嗎?
*************看了幾個回答,都沒有什麼價值。還是我自己來吧。
根據網上查到的資料,指令集本身不是專利,但是某個指令的實現思路是。這樣的情況下,如果自己實現MIPS指令集,很容易被對方盯上。畢竟法律這個東西是一種商業攻擊性武器,最終官司輸贏不重要,拖住你就達到目的了。
指令集當然有專利了,要不然當年搞x64的時候,Intel也不用那麼偷偷摸摸去學AMD了,當年Intel為了這事賠了AMD12.5億美元(包括其它的交叉專利授權):
詳訊:英特爾支付12.5億美元與AMD達成和解
Intel to pay AMD $1.25 billion in antitrust settlement在x64 wiki詞條里有這麼一句:Intel licenses to AMD the right to use the original x86 architecture (upon which AMD"s x86-64 is based).
[80]
[81]
In 2009, AMD and Intel settled several lawsuits and cross-licensing disagreements, extending their cross-licensing agreements.
[82]
[83]
指令集中有專利的部分包括:
1. 指令的名字,比如MOV/SYSENTER等,這些泛指指令集的某個大塊或者某個子集,單單抄一個MOV不算侵權(需要評估)。
2. 指令集的定址方式等,比如MOV EAX, [ESI+imm],Intel手冊里有講具體有多少種直接、間接定址方式,單抄一個可能不算,大規模複製肯定算侵權。
3. 指令集的二進位編碼方式,比如寄存器如何編址、定址方式如何編址等,但不包含單個op code的值。
4. 公開的控制寄存器(位)的使用方式。
不在專利範圍內的包括:
1. 具體某條指令的實現,比如SYSENTER指令背後的動作(註:AMD/Intel實現是不太一樣的)。
2. 未公開的寄存器(位)的使用。
3. 某個指令的op code的值。
以上只是指令集這一塊,你以為只實現了指令集,你的CPU就能兼容Windows、Linux了?太天真了吧。ACPI怎麼實現?APIC怎麼實現?這些玩意都是專利保護的,沒有這些東西,只有一個CPU,操作系統根本跑不起來,連DOS都不行。
龍芯當年的規避策略是:
1. 不公開指令的名字,比如你叫LD,那我叫MOV好了。
2. 不公開寄存器編製方式,其實這是侵權的,但不公開就不好查。
好在龍芯是MIPS平台,中斷控制器這些東西不需要依賴x86的這套技術,跑個Linux自然沒問題,但在x86上根本行不通。
有x86授權的包括Intel、AMD、VIA三家。指令集跟性能無關。指令集也算是知識產權的一部分吧,龍芯使用MIPS的指令集,最後也還是乖乖給MIPS交錢了設計一個指令集出來也很費腦子的
題主你這自答純屬扯淡,x86是一個指令集體系,有很多專利的。主要控制在Intel手裡,AMD也有部分。VIA也有部分授權。另外,不是所有技術都必須申請專利才會被保護,就算沒有專利,知識產權也一樣受保護。
這事你問甲骨文
題主的問題讓我想起了當年的Transmeta,當年Transmeta基於VLIW的Crusoe和Efficeon就是可轉換x86編碼到其原生指令集的處理器,末期的轉換效能實際上已經相當的不錯了。後來2006年給Intel流氓的告了,雖然Transmeta最終和Intel和解了,但也被這場官司被活活的拖死了。實際上Transmeta的處理器在執行x86命令的時候就是基於軟體的軟體翻譯器,動態地編譯或模擬x86指令。當年索尼VAIO超小本就是用的Transmeta的處理器,一直大愛啊!
龍芯做了x86的模擬器,就是用龍芯指令實現x86的功能,能跑起來XP。
然而並沒有什麼卵用,因為專利限制根本不能公開。
所以wintel聯盟真的是無解。主要是二十年專利保護期對於指令集真的太tm長了。。。推薦閱讀: