新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Leon2微處理器IP核原理及應(yīng)用

Leon2微處理器IP核原理及應(yīng)用

作者: 時間:2015-05-09 來源:網(wǎng)絡(luò) 收藏

  引 言

本文引用地址:http://m.butianyuan.cn/article/273879.htm

  是GaislerResearch公司于2003年研制完成的一款32位、符合IEEE-1754(SPARCVS)結(jié)構(gòu)的處理器。它的前身是歐空局研制的Leon以及ERC32。的目標(biāo)主要是權(quán)衡性能和價格、高的可靠性、可移植性、可擴(kuò)展性、軟件兼容性等.其內(nèi)部硬件資源可裁剪(可配置)、主要面向嵌入式系統(tǒng),可以用FPGA/CPLD和ASIC等技術(shù)實現(xiàn)。處理器的片上資源如下:分離的指令和數(shù)據(jù)Cache、硬件乘法器和除法器、中斷控制器、具有跟蹤緩沖器的調(diào)試支持單元(DSU)、2個24位定時器、2個通用異步串口(UART)、低功耗模式、看門狗電路、16位I/O端口、靈活的存儲控制器、以太網(wǎng)MAC和PCI接口。Leon2的VHDL模塊可以在大多數(shù)綜合工具上進(jìn)行綜合,可以在任何符合VHDL-87標(biāo)準(zhǔn)的仿真器上進(jìn)行仿真;采用AMBA AHB/APB總線結(jié)構(gòu)的用戶設(shè)計新模塊,可以很容易加入到Leon2中,完成用戶的定制應(yīng)用。

  Leon2在歐洲和美國都有眾多的應(yīng)用者;國內(nèi)航天部77l所和中科院國家天文臺等單位正在研制基于Leon2的應(yīng)用系統(tǒng)。為了使Leon2得到國內(nèi)業(yè)界的了解和進(jìn)一步的應(yīng)用,本文將從Leon2的結(jié)構(gòu)、技術(shù)特點、軟硬件的開發(fā)過程和應(yīng)用實例等四個方面進(jìn)行介紹。在技術(shù)特點中,主要介紹了它所遵循的SPARCV8規(guī)范、采用的AMBH2.0內(nèi)部系統(tǒng)總線協(xié)議、容錯設(shè)計方法和VHDL編程風(fēng)格等。

  1 Leon2的結(jié)構(gòu)

  圖1是Leon2的片上結(jié)構(gòu)框圖。整個系統(tǒng)結(jié)構(gòu)由AMBA AHB和APB支撐,連接著SPARC處理器、Cache系統(tǒng)及片上外設(shè)等設(shè)備。

  

 

  (1)處理器單元

  處理器單元由整數(shù)單元IU、浮點單元FPU、協(xié)處理器單元CP構(gòu)成。整數(shù)單元的特點有:5級指令流水、分離的數(shù)據(jù)和指令Cache、支持2~32個寄存器窗口、可選的4個觀察口寄存器、可配置乘法器、可選的16×16位MAC(40位累加器)、基2除法器??芍С值母↑c處理器有GaislerResearch的GRFPU,Sun Microsystems的Meiko FPU或其他通用浮點處理單元。Leon2提供了一個通用的用戶可定義的協(xié)處理器,同IU并行運行增強(qiáng)了系統(tǒng)功能。

  (2)Cache子系統(tǒng)

  可配置的模式有直接映射模式和2~4組相聯(lián)的多組相聯(lián)模式;可選的三種替換算法是LRU、LRR和偽隨機(jī)。

  (3)片上外設(shè)

  片上外設(shè)包括:2個中斷控制器、2個UART、2個Timer和1個Watchdog、16位的I/O口、存儲器控制器(PROM、SRAM、S13RAM)、PCI橋接器、Ethernet接口、高級片上調(diào)試支持單元(DSU)和跟蹤緩沖器等.中斷控制器可以最大處理46個內(nèi)部和外部中斷。2個串行通信口 (UART),支持8位數(shù)據(jù)幀、1位校驗位、1位停止位,支持硬件流控功能。調(diào)試支持單元(DSU)能夠把處理器設(shè)置到調(diào)試模式,通過它可以讀寫處理器的所有寄存器和Cache。DSU還包括一個跟蹤緩存,可以保存已執(zhí)行了的指令和AHB上傳輸?shù)臄?shù)據(jù)。

  2 Leon2的技術(shù)特點

  Leon2的技術(shù)特點主要有:采用SPARCV8結(jié)構(gòu)、采用內(nèi)部AMBA總線結(jié)構(gòu)、容錯設(shè)計和VHDL編程風(fēng)格。

  2.1 SPARC V8

  SPARC是可擴(kuò)展處理器體系架構(gòu)的首字母縮略詞,是一個從RISC派生出的CPU指令集結(jié)構(gòu)(ISA)。指令集結(jié)構(gòu)是指:定義了指令、寄存器、指令和數(shù)據(jù)存儲器、指令執(zhí)行對寄存器和存儲器的影響、控制指令執(zhí)行的算法等內(nèi)容,但不定義時鐘周期、每條指令的執(zhí)行時鐘周期數(shù)(CPI)、數(shù)據(jù)通路等內(nèi)容。作為一個結(jié)構(gòu),SPARC允許在具有不同性能價格比的廣泛應(yīng)用中,實現(xiàn)不同系列的芯片和系統(tǒng),包括科學(xué)、工程、編程、實時和商業(yè)應(yīng)用等。SPARC的設(shè)計目標(biāo)是優(yōu)化編譯器和易于硬件流水線實現(xiàn)。

  SPARC處理器由整數(shù)單元(IU)、浮點和協(xié)處理器單元(FPU和CP)構(gòu)成。它們各自都有自己的寄存器,其中IU有8個全局寄存器、2~3N個寄存器窗口(由用戶設(shè)定),浮點和協(xié)處理器單元的選擇依賴于具體應(yīng)用。

  (1)寄存器窗口

  它是SPARC的最大技術(shù)特點。SPARC處理器包括兩種寄存器:一種是通用寄存器,另一種是控制/狀態(tài)寄存器。IU的通用寄存器叫r寄存器。一個IU的實現(xiàn)可能包括40~520個32位r寄存器。這些寄存器又被分成8個全局寄存器,再加上2~32個與實現(xiàn)有關(guān)的16位寄存器組,每一個寄存器組又進(jìn)一步分為8個輸入寄存器和8個輸出寄存器。圖2是一個8窗口寄存器結(jié)構(gòu)示意圖。在任何一個時刻,一條指令只能訪問8個全局寄存器和由當(dāng)前窗口指針(CWP)指定的當(dāng)前窗口。這個窗口是由8個輸入寄存器、8個局部寄存器和8個輸入寄存器構(gòu)成。從圖2中可以看出,兩個相鄰窗口的入和出寄存器是共享的。當(dāng)前是按窗口號順序(或前或后)轉(zhuǎn)換的,正好上一次的輸出寄存器成為當(dāng)前窗口的輸入寄存器,這樣可以減少存儲器讀寫和運行時的現(xiàn)場保護(hù)。

  

 

  (2)支持的數(shù)據(jù)格式

  基本有三種:8/16/32/64位有符號整數(shù)、8/16/32/64位無符號整數(shù)、32/64/128位浮點數(shù)。浮點數(shù)格式符合ANSI/IEEE Standard 754-1985。

  (3)Traps

  它是一種矢量化的、通過一個包含每個陷阱句柄的前4條指令的特殊陷阱表,將控制轉(zhuǎn)向監(jiān)視軟件。陷阱種類有精確陷阱、延遲陷阱和中斷陷阱。

  (4)指令集有

  所有指令都編碼成32位格式,可以分成六個基本的類型,一共有72條指令。六種基本的指令分別是:①Load/store;②Arthmetic/logical/shift;③Control transfer;④Read/write control register;⑤Floating-point operate;⑥

  Coprocessor operate。

  (5)存儲器模式

  SPARC的存儲器模型定義了存儲器操作的語義,指定了處理器發(fā)射出這些操作的順序與這些指令被存儲器執(zhí)行的順序是如何進(jìn)行關(guān)聯(lián)的。標(biāo)準(zhǔn)的存儲器模型叫作TSO(Total Store Ordering),所有的SPARC實現(xiàn)必須提供這個模型;另一個模型叫作PSO,它可以提供更高性能的存儲系統(tǒng)。

c++相關(guān)文章:c++教程


存儲器相關(guān)文章:存儲器原理


矢量控制相關(guān)文章:矢量控制原理

上一頁 1 2 下一頁

關(guān)鍵詞: Leon2 IP核

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉