Leon2處理器IP核技術(shù)(一)
Leon2是GaislerResearch公司于2003年研制完成的一款32位、符合IEEE-1754(SPARCVS)結(jié)構(gòu)的處理器IP核。它的前身是歐空局研制的Leon以及ERC32。Leon2的目標(biāo)主要是權(quán)衡性能和價(jià)格、高的可靠性、可移植性、可擴(kuò)展性、軟件兼容性等.其內(nèi)部硬件資源可裁剪(可配置)、主要面向嵌入式系統(tǒng),可以用FPGA/CPLD和ASIC等技術(shù)實(shí)現(xiàn)。
Leon2處理器的片上資源如下:分離的指令和數(shù)據(jù)Cache、硬件乘法器和除法器、中斷控制器、具有跟蹤緩沖器的調(diào)試支持單元(DSU)、2個(gè)24位定時(shí)器、2個(gè)通用異步串口(UART)、低功耗模式、看門狗電路、16位I/O端口、靈活的存儲(chǔ)控制器、以太網(wǎng)MAC和PCI接口。Leon2的VHDL模塊可以在大多數(shù)綜合工具上進(jìn)行綜合,可以在任何符合VHDL-87標(biāo)準(zhǔn)的仿真器上進(jìn)行仿真;采用AMBA AHB/APB總線結(jié)構(gòu)的用戶設(shè)計(jì)新模塊,可以很容易加入到Leon2中,完成用戶的定制應(yīng)用。
為了使Leon2得到國(guó)內(nèi)業(yè)界的了解和進(jìn)一步的應(yīng)用,本文將從Leon2的結(jié)構(gòu)、技術(shù)特點(diǎn)、軟硬件的開發(fā)過(guò)程和應(yīng)用實(shí)例等四個(gè)方面進(jìn)行介紹。在技術(shù)特點(diǎn)中,主要介紹了它所遵循的SPARCV8規(guī)范、采用的AMBH2.0內(nèi)部系統(tǒng)總線協(xié)議、容錯(cuò)設(shè)計(jì)方法和VHDL編程風(fēng)格等。
1 Leon2的結(jié)構(gòu)
圖1是Leon2的片上結(jié)構(gòu)框圖。整個(gè)系統(tǒng)結(jié)構(gòu)由AMBA AHB和APB支撐,連接著SPARC處理器、Cache系統(tǒng)及片上外設(shè)等設(shè)備。
(1)處理器單元
處理器單元由整數(shù)單元IU、浮點(diǎn)單元FPU、協(xié)處理器單元CP構(gòu)成。整數(shù)單元的特點(diǎn)有:5級(jí)指令流水、分離的數(shù)據(jù)和指令Cache、支持2~32個(gè)寄存器窗口、可選的4個(gè)觀察口寄存器、可配置乘法器、可選的16×16位MAC(40位累加器)、基2除法器??芍С值母↑c(diǎn)處理器有GaislerResearch的GRFPU,Sun Microsystems的Meiko FPU或其他通用浮點(diǎn)處理單元。Leon2提供了一個(gè)通用的用戶可定義的協(xié)處理器,同IU并行運(yùn)行增強(qiáng)了系統(tǒng)功能。
(2)Cache子系統(tǒng)
可配置的模式有直接映射模式和2~4組相聯(lián)的多組相聯(lián)模式;可選的三種替換算法是LRU、LRR和偽隨機(jī)。
(3)片上外設(shè)
片上外設(shè)包括:2個(gè)中斷控制器、2個(gè)UART、2個(gè)Timer和1個(gè)Watchdog、16位的I/O口、存儲(chǔ)器控制器(PROM、SRAM、S13RAM)、PCI橋接器、Ethernet接口、高級(jí)片上調(diào)試支持單元(DSU)和跟蹤緩沖器等.中斷控制器可以最大處理46個(gè)內(nèi)部和外部中斷。2個(gè)串行通信口 (UART),支持8位數(shù)據(jù)幀、1位校驗(yàn)位、1位停止位,支持硬件流控功能。調(diào)試支持單元(DSU)能夠把處理器設(shè)置到調(diào)試模式,通過(guò)它可以讀寫處理器的所有寄存器和Cache。DSU還包括一個(gè)跟蹤緩存,可以保存已執(zhí)行了的指令和AHB上傳輸?shù)臄?shù)據(jù)。
2 Leon2的技術(shù)特點(diǎn)
Leon2的技術(shù)特點(diǎn)主要有:采用SPARCV8結(jié)構(gòu)、采用內(nèi)部AMBA總線結(jié)構(gòu)、容錯(cuò)設(shè)計(jì)和VHDL編程風(fēng)格。
2.1 SPARC V8
SPARC是可擴(kuò)展處理器體系架構(gòu)的首字母縮略詞,是一個(gè)從RISC派生出的CPU指令集結(jié)構(gòu)(ISA)。指令集結(jié)構(gòu)是指:定義了指令、寄存器、指令和數(shù)據(jù)存儲(chǔ)器、指令執(zhí)行對(duì)寄存器和存儲(chǔ)器的影響、控制指令執(zhí)行的算法等內(nèi)容,但不定義時(shí)鐘周期、每條指令的執(zhí)行時(shí)鐘周期數(shù)(CPI)、數(shù)據(jù)通路等內(nèi)容。作為一個(gè)結(jié)構(gòu),SPARC允許在具有不同性能價(jià)格比的廣泛應(yīng)用中,實(shí)現(xiàn)不同系列的芯片和系統(tǒng),包括科學(xué)、工程、編程、實(shí)時(shí)和商業(yè)應(yīng)用等。SPARC的設(shè)計(jì)目標(biāo)是優(yōu)化編譯器和易于硬件流水線實(shí)現(xiàn)。
SPARC處理器由整數(shù)單元(IU)、浮點(diǎn)和協(xié)處理器單元(FPU和CP)構(gòu)成。它們各自都有自己的寄存器,其中IU有8個(gè)全局寄存器、2~3N個(gè)寄存器窗口(由
評(píng)論