1 引言 SPARC(Scalable Processor ARChitecture)可擴展處理器架構是SUN公司在1985年提出的體系結構標準,它基于1980年到1982年間加州大學(xué)伯克利分校關(guān)于Berkeley RISC的研究成果,并由一個(gè)獨立、非盈利組織SPARC International負責SPARC架構標準的管理和開(kāi)發(fā)認證,是國際上流行的RISC(Reduced Instruction Set Computer)微處理器體系架構之一。 SPARC是開(kāi)放的,任何機構或個(gè)人均可研究或開(kāi)發(fā)基于SPARC架構的產(chǎn)品,如東芝、富士通、Aeroflex、ESA(Europen Space Agent)等都在此架構上開(kāi)發(fā)出了自己的SPARC微處理器。 SPARC微處理器(基于SPARC架構的微處理器)的顯著(zhù)特點(diǎn)就是它的可擴展性,從筆記本到超級計算機上的微處理器均可采用SPARC架構。1987年由SUN和TI公司合作開(kāi)發(fā)的微處理器,稱(chēng)為“Sparc”,是業(yè)界出現的第一款有可擴展性功能的微處理器。 “Sparc”用于Sun-4 計算機中,它的推出為SUN奠定了其在高端微處理器發(fā)展中的領(lǐng)先地位。在服務(wù)器領(lǐng)域,以性能卓越而聞名SUN服務(wù)器采用的就是SPARC架構;在高可靠嵌入式應用方面,國際空間站上的控制計算機 DMS-R和太空觀(guān)測臺JEM-EUSO上均使用SPARC微處理器。 2 SPARC架構及其微處理器的發(fā)展歷史 1987年,SUN發(fā)布了業(yè)界第一款有可擴展性功能的32位微處理器“Sparc”。因為它采用了SPARC 的首款架構SPARC V7,所以獲得了更高的流水線(xiàn)硬件執行效率和更為優(yōu)化的編譯器,并縮短了其開(kāi)發(fā)周期,滿(mǎn)足了Sun-4 計算機迅速投放市場(chǎng)的要求。 由SUN在1985年發(fā)布的SPARC V7是世界上第一個(gè)32位可擴展處理器架構標準,它基于加州大學(xué)伯克利分校的關(guān)于RISC微處理器項目的研究成果,如寄存器窗口結構。V7定義了SPARC體系結構的數據類(lèi)型、寄存器、指令、存儲器模型和異常處理,處理器指令字長(cháng)是32位。它采用獨立的指令(SAVE,RESTORE )來(lái)進(jìn)行寄存器管理,用LOAD和STORE指令訪(fǎng)問(wèn)內存。 1990年,SPARC International發(fā)布了32位SPARC V8架構標準。它在SPARC V7的基礎上增加了乘法和除法指令,加速乘除法的處理,使得用戶(hù)不必使用子程序完成相同操作。 為了在本世紀微處理器發(fā)展上仍具有競爭性,SPARC International在1994年發(fā)布了64位SPARC V9架構標準。相對于SPARC V8,這一版本的顯著(zhù)變化在于:數據和地址的位寬由32位變到64位,支持超標量微處理器的實(shí)現,支持容錯及多層嵌套陷阱,具有超快速陷阱處理及上下文切換能力。 圖1:SPARC架構及其微處理器發(fā)展歷史 圖1 顯示了SPARC架構及其微處理器發(fā)展歷史。1995年以前,基于SPARC V7或V8架構的微處理器種類(lèi)不多,而且基本上只有SUN一家公司在研制開(kāi)發(fā)。從1995年以后,基于SPARC V9 架構的64位SPARC微處理器日漸豐富,其面向高性能計算和服務(wù)器的微處理器得到了市場(chǎng)廣泛的接受,如SUN的UltraSPARCT1/T2系列及富士通的SPARC64系列等。 隨著(zhù)基于SPARC V8架構的LEON2在2003年的發(fā)布,面向高可靠嵌入式領(lǐng)域(如工業(yè)控制、軍工電子、空間應用等)的SPARC微處理器的研制得到了眾多公司的青睞。ESA研制了基于SPARC V7架構的ERC32微處理器,ATMEL制造了SPARC V8架構的AT697微處理器。 國內也有多家公司和大學(xué)從事SPARC微處理器的研發(fā)。值得說(shuō)明的是,北京時(shí)代民芯科技有限公司已成功研制出基于SPARC V8架構的高性能、高可靠嵌入式微處理器MXT0105及其片上系統芯片(SoC)產(chǎn)品MXT0106,微處理器MXT0105性能已達到且部分指標超過(guò)ATMEL公司的AT697。MXT0106是集成多路模擬量與開(kāi)關(guān)量數據采集、多路模擬與數字信號輸出、1553B通訊、多種外設接口的高性能、高可靠片上系統,內部通過(guò)AMBA總線(xiàn)將高性能CPU、浮點(diǎn)處理器、A/D、模擬開(kāi)關(guān)、1553B總線(xiàn)控制器、I2C總線(xiàn)控制器、計數器、定時(shí)器、通用I/O、PWM輸出等功能模塊集成在單一芯片上,適合測試、實(shí)時(shí)計算以及控制領(lǐng)域應用,有效實(shí)現電氣系統的集成化、小型化、輕量化、智能化以及低功耗。MXT0106的主頻可達到150MHz,支持8/16/32位外部存儲器數據訪(fǎng)問(wèn),帶有64路模擬開(kāi)關(guān)、4路12位高速A/D轉換器和1553B總線(xiàn)控制器,具備成熟的編譯器、可視化集成開(kāi)發(fā)環(huán)境、驅動(dòng)程序、例程、BSP軟件包、SoC 開(kāi)發(fā)板支持。 3 SPARC微處理器特點(diǎn)及其嵌入式應用 SPARC 微處理器具備精簡(jiǎn)指令集、支持32 位/64 位數據精度,架構運行穩定、可擴展性?xún)?yōu)良、體系標準開(kāi)放等特點(diǎn)。此外,寄存器窗口技術(shù)既是SPARC微處理器的顯著(zhù)特點(diǎn),也是SPARC架構不同于由斯坦福大學(xué)提出的MIPS微處理器架構的主要不同點(diǎn)之一。 采用這項技術(shù)可以顯著(zhù)減少過(guò)程調用和返回執行時(shí)間、執行的指令條數和訪(fǎng)問(wèn)存儲器的次數,從而易于實(shí)現直接高效的編譯。如圖2所示,它將工作寄存器組成若干個(gè)窗口,建立起環(huán)形結構,利用重疊寄存器窗口技術(shù)來(lái)加快程序的運轉。每個(gè)過(guò)程分配一個(gè)寄存器窗口(含有一組寄存器),當發(fā)生過(guò)程調用時(shí),可以把處理器轉換到不同寄存器窗口使用,無(wú)需保存和恢復操作。相鄰寄存器窗口部分重疊,便于調用參數傳送。為每個(gè)過(guò)程提供有限數量的寄存器窗口,各個(gè)過(guò)程的部分寄存器窗口重疊。 圖2:寄存器窗口 伴隨LEON2的發(fā)布,SPARC微處理器在嵌入式應用領(lǐng)域獲得了巨大的發(fā)展空間,全球大約已有3萬(wàn)多個(gè)成功的應用案例。比較著(zhù)名的是國際空間站上的控制計算機DMS-R及空間自動(dòng)轉移器ATV中均使用了SPARC微處理器ERC32,而在太空觀(guān)測臺JEM-EUSO上則使用了SPARC V8架構的微處理器。國內研制的SPARC微處理器在軍工電子領(lǐng)域已得到應用,在民用領(lǐng)域正處于普及推廣應用過(guò)程中。 4 SPARC微處理器未來(lái)發(fā)展趨勢和展望 經(jīng)過(guò)20多年的發(fā)展,SPARC微處理器憑借其持續的創(chuàng )新研發(fā)能力,不斷取得驕人成績(jì)。在服務(wù)器等高端處理器領(lǐng)域,SPARC Enterprise 服務(wù)器系列的M8000機型就是一個(gè)典型的例子,2007年,它在SAPERP2005、Oracle Database 10g和Solaris10運行環(huán)境下,刷新了16 路處理器級別系統中SAP SD 2-tier 標準應用基準測試的世界記錄。在空間應用等高可靠嵌入式應用領(lǐng)域,SPARC微處理器也發(fā)揮著(zhù)越來(lái)越重要的作用。ESA決定在2013年發(fā)射的水星探測任務(wù)中采用SPARC微處理器。 SPARC架構標準的開(kāi)放和最先進(jìn)的多核心、多線(xiàn)程SPARC微處理器的設計代碼開(kāi)放,促使世界上越來(lái)越多的公司、機構和大學(xué)加入到SPARC微處理器的研發(fā)中。到目前為止,對于開(kāi)源的SPARC微處理器設計代碼,已經(jīng)有超過(guò)10,000個(gè)下載。而業(yè)界對研究SPARC微處理器的積極響應,必將推動(dòng)SPARC微處理器持續進(jìn)步,讓它始終具有超強的競爭性。 |