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