?
我們都知道目前主流構(gòu)架有三種:X86,ARM 和 MIPS,X86 在 PC 時代稱霸江湖,ARM 趕上了移動通信的好時機(jī),在手持端風(fēng)風(fēng)光光,而 MIPS 似乎就有些尷尬,還未美麗就已老去。
ARM 的合作伙伴們基于 ARM 的設(shè)計向移動和嵌入式市場的出貨量已經(jīng)達(dá) 500 億片。對于安卓系統(tǒng),ARM 已然成為標(biāo)準(zhǔn),這對 Intel 和 MIPS 而言是個問題。盡管安卓的主要編程語言是 Java,開發(fā)者也可以使用現(xiàn)有的代碼(比如 C 或者 C++)去開發(fā)應(yīng)用。這些固定平臺的應(yīng)用通常都編譯成 ARM 處理器的程序,不全都會編譯成 Intel 或者 MIPS 處理器的程序。了解決這個問題,Intel 和 MIPS 要使用特殊的轉(zhuǎn)換軟件把 ARM 的指令轉(zhuǎn)換成他們處理器使用的指令,這當(dāng)然是會降低性能的。
本期《處理器史話》我們就來講講 MIPS 的歷史,讓我們看看這個曾經(jīng)的主流構(gòu)架有著如何風(fēng)光的發(fā)展史。
MIPS 是世界上很流行的一種 RISC 處理器。MIPS(Microprocessor without interlocked piped stages),意思是“無內(nèi)部互鎖流水級的微處理器”,其機(jī)制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問題。它最早是在 80 年代初期由斯坦福(Stanford)大學(xué) Hennessy 教授領(lǐng)導(dǎo)的研究小組研制出來的,是一種簡潔、優(yōu)化、具有高度擴(kuò)展性的 RISC 架構(gòu)。它的基本特點(diǎn)是:包含大量的寄存器、指令數(shù)和字符、可視的管道延時時隙,這些特性使 MIPS 架構(gòu)能夠提供最高的每平方毫米性能和當(dāng)今 SoC 設(shè)計中最低的能耗。
MIPS 架構(gòu)是一種采取 RISC 的處理器架構(gòu)。1981 年出現(xiàn),由 MIPS 科技公司 開發(fā)并授權(quán),廣泛被使用在許多電子產(chǎn)品、網(wǎng)絡(luò)設(shè)備、個人娛樂裝置與商業(yè)裝置上。最早的 MIPS 架構(gòu)是 32 位,最新的版本已經(jīng)變成 64 位。
MIPS 公司的 R 系列就是在此基礎(chǔ)上開發(fā)的 RISC 工業(yè)產(chǎn)品的微處理器,這些系列產(chǎn)品為很多計算機(jī)公司采用構(gòu)成各種工作站和計算機(jī)系統(tǒng)。
每款處理器構(gòu)架的誕生總是和它的創(chuàng)造者有著分不開的關(guān)系,因此在介紹 MIPS 架構(gòu)之前,我們先來認(rèn)識一下它的締造者:John Hennessy。
現(xiàn)任斯坦福大學(xué)校長——約翰·亨尼斯
約翰·亨尼斯(John Hennessy),美國加州大學(xué)伯克利分校計算機(jī)系教授和斯坦福大學(xué)計算機(jī)系教授,是現(xiàn)今計算機(jī)設(shè)計領(lǐng)域非常受人尊敬的學(xué)者和開創(chuàng)者,現(xiàn)任斯坦福大學(xué)校長。2015 年 6 月,斯坦福大學(xué)發(fā)表聲明,這位校長計劃于 2016 年 9 月份退休,據(jù)說離任后將全身心投入教學(xué)工作。
作為一名計算機(jī)科學(xué)家,John Hennessy 同時還是谷歌和思科公司的董事會成員,在美國硅谷一直擁有巨大影響力。他精通硬件、軟件,是具有傳奇色彩的 MIPS 編譯器和幾代 MIPS 硬件產(chǎn)品的技術(shù)上的領(lǐng)導(dǎo)者。
?
下面的內(nèi)容將展示這位傳奇人物的傳奇經(jīng)歷:
- 美國國家工程研究院和國家科學(xué)研究院成員;
- 于 Villanova 大學(xué)獲得電子工程學(xué)士,在紐約州立大學(xué)獲得計算機(jī)科學(xué)碩士和博士學(xué)位 ;
- 1977 年,受聘于斯坦福大學(xué);
- 1981 年,組織研究人員致力于研究 RISC,并被稱為“RISC 之父”;
- 1984 年,合作研制出 MIPS 計算機(jī)系統(tǒng);
- 1999 年,任主管學(xué)術(shù)和財務(wù)的副校長,致力于生物科學(xué)和生物工程方面的跨學(xué)科建設(shè),并努力提高教職員工的工資待遇;
- 2000 年,任斯坦福大學(xué)校長。
神人!牛人!
崇拜完畢,請走進(jìn) MIPS 架構(gòu)及其處理器的世界。
1. 關(guān)于 MIPS
MIPS 是星球上第一個 RISC 研究項目的結(jié)晶,由 John Hennessy 領(lǐng)導(dǎo)的小組在 1981 年就開始設(shè)計。
從技術(shù)甚或?qū)W術(shù)角度來看,MIPS 大概是最干凈和有效的 RISC 架構(gòu)體系了。因此,全世界學(xué)習(xí)處理器架構(gòu)設(shè)計的人,無不以 MIPS 作為學(xué)習(xí)和研究目標(biāo)的。至今在處理器本身的許多技術(shù)路線上,也要領(lǐng)先 ARM 兩年以上,比如多處理(多線程和多核)、64 位等等。不過,在商業(yè)上,ARM 架構(gòu)比 MIPS 成功許多,以年化的收入來衡量的話,ARM 收入比 MIPS 大約多 4 倍,以出貨片數(shù)計的話,差距更大(大至約 9~10 倍)。關(guān)于 ARM 架構(gòu)及其產(chǎn)品,在以后的章節(jié)中會詳細(xì)講解并與其對比。
MIPS 處理器是八十年代中期 RISC CPU 設(shè)計的一大熱點(diǎn)。MIPS 是賣的最好的 RISC CPU,可以從任何地方,如 Sony,Nintendo 的游戲機(jī),Cisco 的路由器和 SGI 超級計算機(jī),看見 MIPS 產(chǎn)品在銷售。和英特爾相比,MIPS 的授權(quán)費(fèi)用比較低,因此受到除英特爾外的大多數(shù)芯片廠商親睞。
早期 MIPS 架構(gòu)處理器 R2000
MIPS 作為一個開放體系優(yōu)點(diǎn)很多,它更偏重于服務(wù)器、高端點(diǎn)產(chǎn)品,接下來,我們走進(jìn) MIPS 的世界。
2.MIPS32 位架構(gòu)
MIPS32 架構(gòu)刷新了 32 位嵌入式處理器的性能標(biāo)準(zhǔn)。
它是 MIPS 科技公司下一代高性能 MIPS-Based 處理器 SoC 發(fā)展藍(lán)圖的基礎(chǔ),并向上兼容 MIPS64 64 位架構(gòu)。
MIPS 架構(gòu)擁有強(qiáng)大的指令集、從 32 位到 64 位的可擴(kuò)展性、廣泛的軟件開發(fā)工具以及眾多 MIPS 科技公司授權(quán)廠商的支持,是領(lǐng)先的嵌入式架構(gòu)。MIPS32 架構(gòu)是以前的 MIPS I? 和 MIPS II?指令集架構(gòu)(ISA)的擴(kuò)展集,整合了專門用于嵌入式應(yīng)用的功能強(qiáng)大的新指令,以及以往只在 64 位 R4000 和 R5000 MIPS 處理器中能見到的已經(jīng)驗證的存儲器管理和特權(quán)模式控制機(jī)制。通過整合強(qiáng)大的新功能、標(biāo)準(zhǔn)化特權(quán)模式指令以及支持前代 ISA,MIPS32 架構(gòu)為未來所有基于 32 位 MIPS 的開發(fā)提供了一個堅實的高性能基礎(chǔ)。
?
MIPS32 架構(gòu)基于一種固定長度的定期編碼指令集,并采用導(dǎo)入 / 存儲(load/store)數(shù)據(jù)模型。經(jīng)改進(jìn),這種架構(gòu)可支持高級語言的優(yōu)化執(zhí)行。其算術(shù)和邏輯運(yùn)算采用三個操作數(shù)的形式,允許編譯器優(yōu)化復(fù)雜的表達(dá)式。此外,它還帶有 32 個通用寄存器,讓編譯器能夠通過保持對寄存器內(nèi)數(shù)據(jù)的頻繁存取進(jìn)一步優(yōu)化代碼的生成性能。
MIPS 常用指令集有 31 條,下面請出鏡率最高的三位登場:
助記符 |
示例 |
示例含義 |
操作及解釋 |
AND |
AND? $1, $2, $3 |
$1=$2?&?$3 |
與運(yùn)算,兩個寄存器中的內(nèi)容相與 |
OR |
OR $1, $2, $3 |
$1=$2?|?$3 |
或運(yùn)算,兩個寄存器中的內(nèi)容相或 |
XOR |
XOR $1, $2, $3 |
$1=$2?^?$3 |
異或運(yùn)算,兩個寄存器中的內(nèi)容相異或 |
沒有看錯,這就是 MIPS 指令集!簡單的程度簡直是“毫無道理”可言!看來,只要有些基礎(chǔ)的學(xué)生都可以上手,是不是有同感呢?
不管元芳怎么看,反正我是有同感的。
估計看到這里,大家一定會理解,為什么 MIPS 如此受歡迎了吧?
感嘆完畢,下文接上。
MIPS32 架構(gòu)從流行的 R4000/R5000 類 64 位處理器衍生出特權(quán)模式異常處理和存儲器管理功能。它采用一組寄存器來反映緩存器、MMU、TLB 及各個內(nèi)核中實現(xiàn)的其它特權(quán)功能的配置。通過對特權(quán)模式和存儲器管理進(jìn)行標(biāo)準(zhǔn)化,并經(jīng)由配置寄存器提供信息,MIPS32 架構(gòu)能夠使實時操作系統(tǒng)、其它開發(fā)工具和應(yīng)用代碼同時被執(zhí)行,并在 MIPS32 和 MIPS64 處理器系列的各個產(chǎn)品之間復(fù)用。
它的高性能緩存器及存儲器管理方案的靈活性,仍繼續(xù)成為 MIPS 架構(gòu)的一大優(yōu)勢。MIPS32 架構(gòu)利用定義良好的緩存控制選項進(jìn)一步擴(kuò)展了這種優(yōu)勢:
- 指令和數(shù)據(jù)緩存器的大小可以從 256byte 到 4Mbyte。數(shù)據(jù)緩存可采用回寫或直寫策略,無緩存也是可選配置。存儲器管理機(jī)制可以采用 TLB 或塊地址轉(zhuǎn)換(BAT)策略 。
- 由于增加了密集型數(shù)據(jù)處理、數(shù)據(jù)流和斷言操作(predicated operations) ,可滿足嵌入式市場不斷增長的計算需求。
- 條件數(shù)據(jù)移動(Conditional data move)和數(shù)據(jù)緩存預(yù)取(prefetch)指令被引入,以期提高通信及多媒體應(yīng)用的數(shù)據(jù)吞吐量。固定浮點(diǎn) DSP 型指令可進(jìn)一步增強(qiáng)多媒體處理能力。
這些新指令,包括乘法、乘加、乘減和“前導(dǎo)計數(shù)(count leading)0s/1s”,在處理音頻、視頻和多媒體等數(shù)據(jù)流時,無需在系統(tǒng)中增加額外的 DSP 硬件即可提供更高的性能。功能強(qiáng)大的浮點(diǎn)指令可加快某些任務(wù)的執(zhí)行速度,比如一些 DSP 算法的處理、圖形操作的實時計算。浮點(diǎn)操作可選擇軟件仿真。最后,為簡化系統(tǒng)集成任務(wù),MIPS32 標(biāo)準(zhǔn)定義 EJTAG(增強(qiáng)型 JTAG)選項功能作為非入侵式、片上實時調(diào)試系統(tǒng)。
與非網(wǎng)原創(chuàng)內(nèi)容,謝絕轉(zhuǎn)載!
與非網(wǎng)原創(chuàng)內(nèi)容,謝絕轉(zhuǎn)載!
系列匯總:
之二:處理器的春秋戰(zhàn)國時代:8 位處理器的恩怨與紛爭(上)
之三:處理器的春秋戰(zhàn)國時代:8 位處理器的恩怨與紛爭(下)
之五:處理器的三國時代:DR 公司盛氣凌人,IBM 轉(zhuǎn)身成就微軟
之六:32 位處理器的攻“芯”計:英特爾如何稱霸 PC 江湖?
之七:AMD 稱霸 PC 處理器市場的“曇花一現(xiàn)”
之八:CPU 兩大陣營對擂,X86 構(gòu)架讓英特爾如日中天