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