- 嵌入式操作系統(tǒng)原理及應(yīng)用
- 嚴(yán)海蓉編著
- 1956字
- 2018-12-27 15:16:49
2.1 運(yùn)行平臺(tái)介紹
了解運(yùn)行硬件平臺(tái)要從兩個(gè)方面入手,一是其基本硬件特性和外圍接口I/O的情況,二是微處理器的相關(guān)情況。了解外圍接口是為了了解嵌入式操作系統(tǒng)中可能需要編寫哪些外圍設(shè)備驅(qū)動(dòng)程序。了解基本硬件特性如內(nèi)存大小,將了解嵌入式操作系統(tǒng)中存儲(chǔ)管理的相關(guān)問題和是否適合運(yùn)行嵌入式操作系統(tǒng)。以此為目標(biāo),下面將首先介紹硬件平臺(tái)Spartan-6的特性和外圍接口。
Spartan-6系列不僅擁有先進(jìn)系統(tǒng)集成能力,同時(shí)還能實(shí)現(xiàn)適用于大批量應(yīng)用的最低總成本。該系列由13個(gè)成員組成,可提供的密度從3840個(gè)邏輯單元到147443個(gè)邏輯單元不等。與上一代Spartan系列相比,該系列功耗僅為其50%,且速度更快,連接功能更豐富全面。Spartan-6系列采用成熟的45nm低功耗銅制程技術(shù)制造,實(shí)現(xiàn)了性價(jià)比與功耗的完美平衡,能夠提供全新且更高效的雙寄存器6輸入查找表(LUT)邏輯和一系列豐富的內(nèi)置系統(tǒng)級(jí)模塊,其中包括18KB(2×9KB)Block RAM、第二代DSP48A1 Slice、SDRAM存儲(chǔ)器控制器、增強(qiáng)型混合模式時(shí)鐘管理模塊、SelectI/O技術(shù)、功率優(yōu)化的高速串行收發(fā)器模塊、PCI Express兼容端點(diǎn)模塊、高級(jí)系統(tǒng)級(jí)電源管理模式、自動(dòng)檢測(cè)配置選項(xiàng),以及通過AES和Device DNA保護(hù)功能實(shí)現(xiàn)的增強(qiáng)型IP安全性。這些優(yōu)異特性以前所未有的易用性為定制ASIC產(chǎn)品提供了低成本的可編程替代方案。Spartan-6 FPGA可為大批量邏輯設(shè)計(jì)、以消費(fèi)類為導(dǎo)向的DSP設(shè)計(jì)以及成本敏感型嵌入式應(yīng)用提供最佳解決方案。
Spartan-6 系列產(chǎn)品的主要技術(shù)特征見表2.1。
表2.1 Spartan-6系列產(chǎn)品的主要技術(shù)特征
了解了以上一些基本的硬件信息后,還需要繼續(xù)了解這個(gè)硬件中的核心即微處理器相關(guān)的信息。所有的操作系統(tǒng)必然是運(yùn)行在一個(gè)微處理器里的,此類FPGA可以采用MircoBlaze軟核作為微處理器來(lái)運(yùn)行操作系統(tǒng)。MicroBlaze軟核內(nèi)部采用RISC架構(gòu)和哈佛結(jié)構(gòu)的32位指令及數(shù)據(jù)總線,內(nèi)部有32個(gè)通用寄存器R0~R31、2個(gè)特殊寄存器程序指針(PC)和處理器狀態(tài)寄存器(MSR)、1個(gè)ALU單元、1個(gè)移位單元和兩級(jí)中斷響應(yīng)單元等基本模塊,還可具有3/5級(jí)流水線、桶形移位器、內(nèi)存管理/內(nèi)存保護(hù)單元、浮點(diǎn)單元(FPU)、高速緩存、異常處理和調(diào)試邏輯等可根據(jù)性能需求和邏輯區(qū)域成本任意裁剪的高級(jí)特性,極大地?cái)U(kuò)展了MicroBlaze的應(yīng)用范圍。MicroBlaze內(nèi)部架構(gòu)如圖2.1所示。MicroBlaze支持的外設(shè)接口如圖2.2所示。

圖2.1 MicroBlaze內(nèi)部架構(gòu)示意圖
OPB是對(duì)IBM Core Connect片上總線標(biāo)準(zhǔn)的部分實(shí)現(xiàn),適用于將IP核作為外設(shè)連接到MicroBlaze系統(tǒng)中。LMB用于實(shí)現(xiàn)對(duì)片上的Block RAM的高速訪問。FSL是MicroBlaze軟核特有的一個(gè)基于FIFO的單向鏈路,可以實(shí)現(xiàn)用戶自定義IP核與MicroBlaze內(nèi)部通用寄存器的直接相連;而XCL則是MicroBlaze軟核新增加的,用于實(shí)現(xiàn)對(duì)片外存儲(chǔ)器的高速訪問。MicroBlaze軟核還有專門的調(diào)試接口,通過參數(shù)設(shè)置,開發(fā)人員可以只使用特定應(yīng)用所需要的處理器特性。Xilinx提供了大量的外設(shè)IP Core,可外掛到MicroBlaze的OPB總線上,如DMA單元、以太網(wǎng)MAC層處理器、PCI/PCIe接口、串口以及USB等(圖2.2)。

圖2.2 MicroBlaze支持的外設(shè)接口示意圖
MicroBlaze的內(nèi)核結(jié)構(gòu)如圖2.1所示,其內(nèi)部有32個(gè)通用寄存器和5個(gè)特殊寄存器(均為32位);它以大端、位翻轉(zhuǎn)的格式來(lái)描述數(shù)據(jù),支持的數(shù)據(jù)類型有字、半字、字節(jié);所有指令字長(zhǎng)為32位,采用三級(jí)流水線結(jié)構(gòu);處理器有三個(gè)訪問存儲(chǔ)器的接口,分別為L(zhǎng)ocal Memory Bus(LMB)、On2Chip Perip Heral Bus (OPB)、Xilinx Cache Link (XCL)。
1.通用寄存器
MicroBlaze內(nèi)核中的32個(gè)32位通用寄存器記為R0~R31。寄存器并不是由外部復(fù)位輸入(如reset或debug-rst腳)復(fù)位,而是在比特流下載的時(shí)候復(fù)位。通用寄存器功能表見2.2。
表2.2 MicroBlaze通用寄存器功能表
2.特殊寄存器
程序指針(PC)寄存器:存儲(chǔ)下一條指令的地址。它可以由一個(gè)MFS指令讀出且不能由MTS指令寫入。當(dāng)使用MFS指令的時(shí)候,將sa置為00000或rpc將定義PC寄存器。表中內(nèi)容為程序指針執(zhí)行中的指令的地址。也就是說(shuō),“mfs r2 rpc” 指令將把mfs指令自己的地址存入R2中。
機(jī)器狀態(tài)寄存器(MSR):包含了處理器的控制和狀態(tài)比特,可以通過MFS指令讀,也可以通過MTS指令或者專用的指令MSRSET、MSRCLR寫。當(dāng)對(duì)MSR進(jìn)行讀操作時(shí),bit29作為進(jìn)位位被復(fù)制到bit0位。寫MSR需要一個(gè)時(shí)鐘周期的延時(shí),當(dāng)用MTS指令向MSR寫指令時(shí),在MTS指令執(zhí)行結(jié)束一個(gè)時(shí)鐘周期之后,寫入的值才生效。所有寫入bit0的值將被忽略。當(dāng)使用MTS指令或MFS指令的時(shí)候,將sx置為0001或rmsr被定義為對(duì)MSR的操作。
3.MicroBlaze指令集
MicroBlaze指令字為32位,有A型和B型兩種類型的指令。A型指令有兩個(gè)源寄存器和一個(gè)目的寄存器,用于完成寄存器到寄存器間的數(shù)據(jù)運(yùn)算。B型指令有一個(gè)源寄存器、一個(gè)目的寄存器和一個(gè)16位的立即數(shù)(通過在B型指令前加一個(gè)IMM指令可將其擴(kuò)展到32位),可以進(jìn)行寄存器和立即數(shù)間的數(shù)據(jù)運(yùn)算。其指令按功能劃分為邏輯運(yùn)算、算術(shù)運(yùn)算、分支、存儲(chǔ)器讀寫和特殊指令等。A型和B型指令格式如圖2.3所示。

圖2.3 MicroBlaze指令格式
MicroBlaze指令執(zhí)行的流水線是并行流水線,它分為三級(jí)流水:取指、譯碼和執(zhí)行,如圖2.4所示。

圖2.4 MicroBlaze的流水線
EDK是Xilinx公司推出的基于FPGA的嵌入式開發(fā)工具,包括了嵌入式硬件平臺(tái)開發(fā)工具(Platform Studio)、嵌入式軟件開發(fā)工具(Platform Studio SDK)、嵌入式IBM PowerPC硬件處理器核、Xilinx MicroBlaze軟處理器核、開發(fā)所需的技術(shù)文檔和IP,為設(shè)計(jì)嵌入式可編程系統(tǒng)提供了全面的解決方案。
- Dreamweaver 8中文版商業(yè)案例精粹
- 大數(shù)據(jù)安全與隱私保護(hù)
- Docker High Performance(Second Edition)
- Microsoft System Center Confi guration Manager
- 單片機(jī)C語(yǔ)言程序設(shè)計(jì)完全自學(xué)手冊(cè)
- 從零開始學(xué)PHP
- 奇點(diǎn)將至
- Ansible 2 Cloud Automation Cookbook
- 生成對(duì)抗網(wǎng)絡(luò)項(xiàng)目實(shí)戰(zhàn)
- 新世紀(jì)Photoshop CS6中文版應(yīng)用教程
- EDA技術(shù)及其創(chuàng)新實(shí)踐(Verilog HDL版)
- Mastering SQL Server 2014 Data Mining
- Office 2010輕松入門
- 嵌入式系統(tǒng)原理與接口技術(shù)
- Linux應(yīng)用程序設(shè)計(jì)