嵌入式系統(tǒng)架構(gòu):RISC家族之MIPS處理器
掃描二維碼
隨時(shí)隨地手機(jī)看文章
MIPS是美國(guó)歷史悠久的RISC處理器體系,其架構(gòu)的設(shè)計(jì),也如美國(guó)人的性格一般,相當(dāng)?shù)拇髿馇依硐牖?。MIPS架構(gòu)起源,可追溯到1980年代,斯坦福大學(xué)和伯克利大學(xué)同時(shí)開始RISC架構(gòu)處理器的研究。
MIPS公司成立于1984年,隨后在 1986年推出第一款R2000處理器,在1992年時(shí)被SGI所并購(gòu),但隨著MIPS架構(gòu)在桌面市場(chǎng)的失守,后來在1998年脫離了SGI,成為MIPS技術(shù)公司,并且在1999年重新制定 公司策略,將市場(chǎng)目標(biāo)導(dǎo)向嵌入式系統(tǒng),并且統(tǒng)一旗下處理器架構(gòu),區(qū)分為32-bit以及64-bit兩大家族,以技術(shù)授權(quán)成為主要營(yíng)利模式。
MIPS除了在手機(jī)中應(yīng)用得比例極小外,其在一般數(shù)字消費(fèi)性、網(wǎng)絡(luò)語音、個(gè)人娛樂、通訊、與商務(wù)應(yīng)用市場(chǎng)有著相當(dāng)不錯(cuò)的成績(jī),不過近年來因?yàn)槠渌麵P授權(quán)公司的興起,其占有比率稍有衰退。MIPS應(yīng)用最為廣泛的應(yīng)屬家庭視聽電器(包含機(jī)頂盒)、網(wǎng)通產(chǎn)品以及汽車電子方面。
對(duì)于MIPS,其核心技術(shù)強(qiáng)調(diào)的是多執(zhí)行緒處理能力(Multiple issue,國(guó)內(nèi)也通常稱作多發(fā)射核技術(shù),以下以此稱謂)。一般來說,多核心與多發(fā)射是兩個(gè)并不是互斥的體系,可以彼此結(jié)合,然而在嵌入式領(lǐng)域,ARM與MIPS這兩大處理器IP廠商對(duì)這兩個(gè)架構(gòu)的態(tài)度不同,造成這兩個(gè)架構(gòu)在嵌入式市場(chǎng)上對(duì)抗的結(jié)果。
MIPS的多發(fā)射體系為MIPS34K系列,此為32位架構(gòu)處理器,從架構(gòu)上來看,其實(shí)多發(fā)射核技術(shù)只是為了盡量避免處理單元閑置浪費(fèi)而為的折衷手段,就是將處理器中的閑置處理單元,分割出來虛擬為另一個(gè)核心,以提高處理單元的利用率。在技術(shù)上,為了實(shí)現(xiàn)硬件多重處理,多核心與多發(fā)射兩者對(duì)于軟件最佳化的復(fù)雜度方面同樣都比單核心架構(gòu)來得復(fù)雜許多。
34K核心能執(zhí)行現(xiàn)有的對(duì)稱式二路SMP操作系統(tǒng)(OSes)與應(yīng)用軟件,通過操作系統(tǒng)的主動(dòng)管理,現(xiàn)有的應(yīng)用軟件也能善用多發(fā)射處理能力。它亦能應(yīng)用在多個(gè)執(zhí)行線程各自有不同角色的(AMP或非對(duì)稱式多重處理)環(huán)境下。此外,34K核心能設(shè)定一或兩個(gè)虛擬處理組件(VPE)以及多至5個(gè)線程內(nèi)容(Thread Content),提供相當(dāng)高的設(shè)計(jì)彈性。MIPS的多發(fā)射在任務(wù)切換時(shí),有多余的硬件緩存器可以記錄執(zhí)行狀態(tài),避免切換任務(wù)時(shí),因?yàn)楸仨氈匦录虞d指令,或者是重新執(zhí)行某部分的工作,造成整個(gè)執(zhí)行線程的延遲。不過即便能夠達(dá)到同時(shí)執(zhí)行多個(gè)任務(wù)的能力,多發(fā)射處理器本質(zhì)上仍然是單核心處理器,在單一執(zhí)行緒面臨高負(fù)載時(shí),其它執(zhí)行緒的處理時(shí)間就有可能會(huì)被壓縮,甚至被暫停。而不同執(zhí)行緒在執(zhí)行的過程中,諸如內(nèi)存鎖定、解鎖以及同步等處理過程在多發(fā)射體系上也會(huì)發(fā)生,因此在極端情況下,多發(fā)射的性能是明顯比不上原生多核心架構(gòu)的(以兩個(gè)執(zhí)行緒對(duì)兩個(gè)核心的比較而言)。
不過多發(fā)射體系的優(yōu)點(diǎn)在于硬件效率高,理論上功耗也能有效降低。部分IC設(shè)計(jì)公司也推出了基于MIPS架構(gòu)的平行架構(gòu)多核心,形成兼具多核與多發(fā)射的應(yīng)用架構(gòu),相信在未來這種體系將會(huì)納入MIPS的原生架構(gòu)當(dāng)中,以應(yīng)付更復(fù)雜的應(yīng)用。