999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RISC-V的服務器管理控制器FPGA原型設計①

2021-08-02 11:08:40鄒曉峰林寧亞劉同強周玉龍李仁剛
計算機系統應用 2021年7期
關鍵詞:調試設計

李 拓,鄒曉峰,林寧亞,張 璐,劉同強,周玉龍,李仁剛

1(高效能服務器和存儲技術國家重點實驗室,濟南 250013)

2(浪潮電子信息產業股份有限公司,濟南 250013)

指令集,是在CPU 設計初期規定,用于控制處理器內部運行的一系列指令的集合.指令集設計的優劣,對CPU的性能有重要影響.RISC-V 指令集[1]是2014年發布的一套完全開源的精簡指令集(RISC),始于加州大學伯克利分校的相關項目.憑借前瞻性的設計與后發優勢,RISC-V 成為了開放指令集架構領域的佼佼者.

圖靈獎得主John Hennessy 曾經就未來的芯片設計提出了一種DSA (Domain Specific Architecture)的概念,即針對應用領域做優化的處理器架構.ARM 作為一種通用且固化的指令集架構,設計靈活性有限,而RISCV 架構不僅僅開源,同時還具有模塊化、可擴展的特點,支持用戶自定義指令.

服務器管理控制器是應用于服務器等數據中心基礎設施的一種專用SoC,主要功能包括對系統設備進行信息監測、記錄以及恢復等,它以獨立系統運行,通過網絡還可以實現對服務器的遠程訪問、遠程監控和管理[2].目前,服務器管理控制器主要基于ARM 架構處理器進行設計,尚未有公開的基于RISC-V 設計方案.本文從SoC 設計底層入手,基于RISC-V 架構處理器進行服務器管理控制器的設計和測試,探究方案可行性并與ARM 架構進行對比.

本文首先介紹了RISC-V 及開源亂序執行處理器BOOM[3,4],然后詳細描述了基于該處理器實現服務器管理控制器FPGA 原型系統的過程.該原型系統移植了OpenBMC 開源組件,實現了智能平臺管理接口規范(Intelligent Platform Management Interface,IPMI)協議的基本功能,同時還介紹了LXDE 等定制化組件.本文主要工作是驗證了RISC-V 替代ARM 設計服務器管理控制器的可行性和性能水平.

1 RISC-V 與BOOM 介紹

自RISC-V 發布以來,RISC-V的工具鏈與產品越發多樣,生態逐步完善.2015年,非盈利組織RISCV 基金會(RISC-V Foundation)成立,著手構建開放、合作的軟硬件交流平臺,推動RISC-V 生態的快速完善與發展.很快就有幾百家加入了基金會,其中包括谷歌、IBM、英偉達、浪潮等國際企業以及加州大學伯克利分校、麻省理工學院、普林斯頓大學、中科院計算所等學術機構.

在國內,芯來科技于2017年10月開源了其“蜂鳥”低功耗處理器,這是國內由企業開源的第一款基于RISC-V 架構的處理器.目前在中國已經有多家成熟的RISC-V CPU 企業,如睿思芯科、平頭哥等.在物聯網、智能家電等領域,RISC-V 相關產品已經有大量應用案例.目前,基于RISC-V 架構的開源處理器已經涵蓋嵌入式、AI、5G 射頻、硬盤控制器等多種應用場景.處理器核心也由最初的低功耗標量處理器逐漸向亂序超標量的復雜架構演進[5].產業環節中的各種相關工具如GCC/LLVM 編譯器、Linux內核支持、高層次設計語言、總線通訊協議等也在不斷完善.

在2015年,伯克利分校的研究團隊推出了基于RISC-V 架構的亂序執行核心BOOM (Berkeley Out-of-Order Machine),并將其完全開源.這款CPU 使用Chisel語言編寫,指令集為RISC-V中的RV64G 指令和特權指令,該核心是一款64 位RISC-V 超標量Berkeley 亂序機的源存儲庫,計算性能與ARM中高端處理器相當,經過多次流片,實際性能表現優異.

BOOM的流水線結構主要分為6個階段:取指、譯碼/重命名/指令調度、發射/讀寄存器、執行、訪存以及寫回.由于Chisel是一種面向硬件的高層次設計語言,BOOM 處理器可以實現參數的靈活配置,包括:取指寬度、譯碼寬度、指令發射寬度、物理寄存器堆的大小、有序發射或無序發射;L1 Cache 及L2 Cache的路數等參數.BOOM 流水線結構[3]如圖1所示.

圖1 BOOM 處理器流水線結構

2 控制器原型設計

常見的服務器管理控制器的基本架構如圖2所示.本文依托RISC-V 開源生態環境,設計實現了管理控制器基本的外設和接口模塊,包括:

圖2 通用RISC-V 原型系統架構

1)I2C/SMBus:用于實現與CPLD的通信和獲取溫度、電壓等傳感器回傳的數據;

2)LPC:BIOS 與監控管理系統之間通信,BIOS 向監控管理系統上報啟動信息;

3)KVM:視頻、鼠標和鍵盤的控制信息重定向到監控管理系統;

4)SPI:BIOS 固件的升級更新接口;

5)JTAG:CPLD的固件更新接口;

6)IPMB:ME (Management Engine)與監控管理系統之間的通信;

7)Ethernet:監控管理系統接入網絡接口;

8)VGA:實現視頻流的顯示;

9)PWM:實現風扇轉速的控制和監控;

10)USB:鼠標、鍵盤等USB 設備接口;

11)Timer、RTC、WDT 等基礎模塊:實現復位、實時時鐘等.

RISC-V 控制器FPGA 原型平臺處理器選型工作中,我們對比了開源的Rocket[6]、BOOM、PULPino[7]等,通過公開的性能數據分析,選用性能最優,并經流片驗證的BOOM V2 核心,并基于BOOM V2 SoC 開發環境進行開發.將上述外設、接口模塊與處理器核心進行集成后,對系統地址空間進行了劃分,同時,利用RISCV的工具鏈對OpenBMC 系統進行重新編譯和文件系統移植.

本文主要從4個方面對FPGA 原型平臺進行了功能擴展和優化:

1)原型系統主處理器實現了BOOM 雙核,嵌入L2 Cache和一致性協議總線,實現核間Cache 一致性.實際應用可以對核數配置,滿足不同場景性能需求.

2)針對BOOM 總線進行了擴展優化,增加對AXI總線的擴展支持,并基于該總線擴展了DDR 等外設接口.

3)鑒于RISC-V 指令集的靈活性,對指令集進行了向量指令擴展[8]的探索.RVGC64 指令集目前已經滿足SoC 設計需求,擴展的向量指令主要目的是探究RISC-V 擴展指令集開發流程,為其他高性能應用場景提供支持.

4)DRAM 容量達到8 GB,系統啟動時,通過DDR將固件直接加載到DRAM中,加快固件加載和系統啟動速度.

2.1 基于RISC-V的控制器系統結構

服務器管理控制器主要利用傳感器監控計算機或服務器的運行狀態[9],具有本地和遠程診斷、控制臺支持,配置管理,硬件管理和故障排除等功能.

我們結合服務器管理控制器實際應用場景,進行了RISC-V SoC的定向設計與優化,控制器結構如圖3所示.SoC 采用雙核BOOM 作為主處理器,集成服務器管理控制器所需IIC、LPC、QSPI 等外設接口,并支持服務器監控管理協議(IPMI),實現與控制器上層接口的完全兼容.

圖3 特定場景優化后架構

2.2 系統總線

BOOM SoC 使用的是TileLink 總線協議,該總線是加州大學伯克利分校設計的一種高速片上總線協議[10],我們根據需求配置設計了TileLink 轉AXI4 協議轉換模塊,其總線互連和轉換功能集中在SystemBus 模塊中,詳細功能模塊劃分如圖4所示.

圖4 總線設計架構框圖

TileLink 設計之初,考慮了滿足支持緩存一致性(cache coherence)協議,并針對現有的多種一致性協議,其將總線設計與協議設計相分離,提高了TileLink 總線的適應性.

TileLink 總線的有向無環圖結構主要是作為處理器的BoomTile,可外接測控模塊的FrontBus 接口與MMIO_AXI4的外設接口、PeripheryBus 外設接口、TLError和TLBroadcast的數據和控制交互.其中主要包含了兩部分功能:

1)TileLink 網絡拓撲實現,包含了多主多從接口的Crossbar Agent、一從多主的Crossbar Agent和主從轉換接口的Cache Agent 實現.

2)TileLink 協議轉AXI4 協議功能實現.

2.3 地址空間與外設

根據服務器管理控制器外設需求,我們對內部地址空間進行了劃分,如表1所示.

表1 地址空間劃分

2.4 固件與Linux內核

RISC-V內核啟動過程中分為4 部分:ZSBL、FSBL、BBL和Linux Core.在啟動過程中,我們利用了Register 存儲空間的劃分,通過配置參數指定了各自的起始存儲位置和大小,啟動程序可以讀取并分析Register 存儲空間的配置參數,獲得FSBL、BBL和Linux Core 在SD 卡的存儲位置和大小,然后將其搬運到指定的DDR中運行.

基于改進的RISC-V內核啟動流程,我們實現了對SD 卡的壞塊進行管理的設計.通過Register 配置空間可以任意指定ZSBL、FSBL、BBL和Linux Core的存儲起始位置和大小,如果SD 卡某一塊出現壞塊,可以通過配置Register 配置空間的參數修改存儲位置,跳過壞塊部分,后期可以將Register 配置空間的參數通過寄存器的方式存儲在RISC-V 處理器中,可以在RISC-V 處理器啟動前通過外部進行配置啟動參數.上述壞塊管理操作可以大大提高SD 卡的可用性.

針對服務器管理控制器在人機交互上的便捷性需求,我們移植了LXDE 作為簡潔易用的交互界面.LXDE是一款面向低功耗的輕量級桌面環境,支持GTK 特性,用戶界面更貼近Microsoft Windows的菜單.其在設計之初就考慮到了用戶體驗性與較低的資源占用,注重模塊化設計,組件可以靈活增刪,滿足了定制化需求,也實現了以極低的內存與CPU 負載承擔功能豐富的桌面環境.以上優點同時使其更容易移植在服務器管理控制器的系統上,而且在低運行頻率的FPGA 原型平臺上就可以進行安裝調試.

在應用層,我們集成了OpenBMC.OpenBMC 由微軟,英特爾,IBM,谷歌和Facebook 發起,是一個開源的軟件架構,其功能是用于打造一個完整可用的負責基板管理控制的Linux 代碼庫.OpenBMC 使用Yocto Project 作為發布框架,為移植提供了便利.

移植后使用浪潮自有的UI 界面管理,如圖5所示.

圖5 服務器管理界面圖

隨著對OpenBMC的持續優化,其已經能夠實現帶外的在線升級,在不占用服務器網絡帶寬的情況下,通過Web UI 界面和軟件包實現固件的刷新和維護工作.通過提升OpenBMC的模塊化、規范化程度,將來可以為各類數據中心,尤其是大規模、超大規模數據中心,提供下一代開放技術管理方案.

3 控制器功能驗證方法

Boom-template 工程集成了Verilator 仿真環境.在versim 目錄下執行make 命令,可以生成有關BOOM的simulator,該simulator為一可執行文件,名稱為simulator-boom-system-BoomConfig,可以執行任何RV64G的ISA 測試,包括單一測試用例以及整個測試集.

仿真環境的組成如圖6,其中MMIO AXI4和MEM AXI4 接口分別接兩塊mem,DMI_debug port 接SimDTM 模塊,該模塊負責產生仿真時的激勵.

圖6 邏輯仿真示意圖

SimDTM 模塊提供了C++與Verilog的接口,由C++產生激勵,并通過驅動DMI_debug bus 上的信號來驅動DUT,從而完成仿真.

4 原型實現與驗證

4.1 工程實現

該系統基于Xilinx的Virtex Ultra Scale 440 FPGA進行了原型構建,然后將整套系統從VU440 移植到使用了Kintex-7 系列的FPGA 定制板卡上.Kintex-7 系列FPGA 實現了最佳成本/性能/功耗平衡,芯片功能強大,資源豐富.其480T 型號FPGA 支持8 通道PCIE接口,提供了478K 邏輯單元,高達400個I/O 口,完全滿足原型驗證需求.測試使用SD 卡啟動的方式實現邏輯代碼的加載.

我們為FPGA 原型系統開發了服務器管理控制器相關的外設模塊,如UART、Timer、SPI、外部存儲、調試邏輯等,結構如圖7所示.

圖7 外圍模塊示意圖

服務器管理控制器場景下RISC-V SoC的實現分兩步:(1)基于BOOM 多核的原型平臺,針對服務器管理控制器的各項需求進行擴展和優化,集成外設接口,進行穩定性和功能測試,作為硬件研究和軟件開發的基礎平臺.(2)將整套系統從VU440 移植到FPGA 定制板卡上,如圖8所示.該定制板卡使用了Kintex-7 系列XC7K480T 芯片,集成網口、串口等用于通信、調試的接口,可通過PCIE 接口連接服務器主板,借此可以順利進行上層移植以及功能性能測試.

圖8 測試板卡

4.2 FPGA 原型調試

當設計從模擬實現到硬件實現時,用戶對系統當前狀態的控制和理解會急劇下降.為了幫助啟動和調試低級軟件和硬件,在硬件中內置良好的調試支持至關重要.當core 運行操作系統時,軟件可以處理許多調試任務.但是,在許多情況下,硬件支持至關重要.我們重新制作了根文件系統以及相關組件,增加了更多便于調試的命令,啟動界面如圖9所示.

圖9 系統啟動圖

Debug 系統debug host和RISC-V 平臺組成,其中debug host 包括運行調試器的調試主機(如筆記本電腦),調試器經常使用的如GDB 工具,調試器通過調試轉換器與調試傳輸硬件進行通信,調試轉換器模塊可以使用OpenOCD,其可以包括硬件驅動器,DTM為調試傳輸硬件,即USB-JTAG 適配器調試傳輸硬件將調試主機連接到平臺的調試傳輸模塊(DTM).DTM 使用調試模塊接口(DMI)提供對一個或多個調試模塊(DM)的訪問.

平臺中的每個硬件線程都由一個DM 控制.硬件線程可能是異質的.對硬件線程與DM 之間的映射沒有限制,但通常單個core中的所有硬件線程都由相同的DM 控制.在大多數平臺上,只有一個DM 可以控制平臺中的所有硬件線程.

Program Buffer 允許調試器在硬件線程上執行任意指令.這種機制也可用于訪問內存.可選的系統總線訪問塊允許在不使用RISC-V Hart來執行訪問的情況下進行存儲器訪問.

每個RISC-V 可以實現觸發模塊(Trigger Module,TM).當滿足觸發條件時,硬件線程將停止并通知調試模塊它們已停止.

DMI 連接調試模塊DM和DTM,其中DTM是master,DM 作為slave.調試模塊接口可以是具有一個主設備和一個從設備的普通總線,或者是更全功能的總線,如TileLink 或AMBA 高級外設總線.DMI 使用7 到32個地址位,支持讀寫操作.地址空間的開始段用于第一個DM,額外空間可用于自定義調試設備、其他內核、附加DM 等.如果此DMI 上有其他DM,則DMI 地址空間中下一個DM的基址將在nextdm中給出.調試模塊通過對其DMI 地址空間的寄存器訪問來進行操作.

4.3 性能測試

在使用RISC-V BOOM 搭建的服務器管理控制器FPGA 原型系統上,應用層的程序均可正常運行,與上一代ARM 架構原型系統相比,該系統啟動時間縮短15%.

我們對服務器管理控制器FPGA 原型系統進行了軟硬件測試和上層應用適配,包括軟件兼容性、系統穩定性、IO 時延等參數,優化后的系統可滿足產品化的各項指標.在進行各方面的適配后,經Benchmarks基準測試,系統性能測試分數超過ARM Cortex-A9,具體性能如表2所示.

表2 RISC-V Core 與ARM Cortex-A9 跑分對照

5 結語

本文首先對RISC-V的BOOM 處理器進行了相關的擴展和優化,并集成了服務器管理控制器所需外設,移植了開源的上層應用框架,構建了一套基于RISC-V處理器核的服務器管理控制器原型系統,并進行了Benchmarks 測試.測試結果顯示,該系統處理性能優于ARM Cortex-A9 處理器26%.結果證明了RISC-V在面向具體應用場景上對ARM 替代可行性.

猜你喜歡
調試設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
核電廠主給水系統調試
中國核電(2017年1期)2017-05-17 06:10:11
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
調壓柜的調試與試運行探討
工業電氣設備控制系統的安裝與調試
主站蜘蛛池模板: 亚欧美国产综合| 99视频在线免费| 99ri精品视频在线观看播放| 亚洲国产综合精品一区| 国产成人无码综合亚洲日韩不卡| 国产十八禁在线观看免费| 日韩不卡高清视频| 伊人成色综合网| 久久永久免费人妻精品| 成人在线观看一区| 国产第一页第二页| 国产欧美在线观看精品一区污| 91久久性奴调教国产免费| 亚洲欧洲自拍拍偷午夜色| 国产91九色在线播放| a毛片在线| 香蕉视频在线精品| 狠狠操夜夜爽| 亚洲无线国产观看| 日韩成人午夜| 欧美日韩国产成人高清视频| 手机在线看片不卡中文字幕| 精品一区二区三区四区五区| 国产亚洲欧美日韩在线一区二区三区| Jizz国产色系免费| 国产成人亚洲毛片| 日韩午夜片| 99er精品视频| 欧美另类第一页| 在线观看亚洲精品福利片| 99福利视频导航| 五月天综合网亚洲综合天堂网| 日本五区在线不卡精品| 亚洲精品视频免费| 欧美三级视频在线播放| 欧美特级AAAAAA视频免费观看| 成年午夜精品久久精品| 国产男女XX00免费观看| 色综合中文综合网| 国产剧情国内精品原创| 国产91久久久久久| 日本亚洲国产一区二区三区| 一级毛片在线免费视频| 久久婷婷五月综合97色| 国产夜色视频| 亚洲男人的天堂在线| 日韩大乳视频中文字幕| 无码中文AⅤ在线观看| 亚洲中文字幕日产无码2021| 日本在线国产| aaa国产一级毛片| 国产精品入口麻豆| 99久久国产综合精品2020| 国产成人精品优优av| 精品综合久久久久久97| 国产亚洲欧美日韩在线一区二区三区| 91九色最新地址| 国产高颜值露脸在线观看| 亚洲日韩第九十九页| 国产成人一区免费观看| 婷婷久久综合九色综合88| 国产精品网址你懂的| 999国产精品永久免费视频精品久久 | 波多野结衣视频一区二区| 91网红精品在线观看| 日韩欧美高清视频| 全免费a级毛片免费看不卡| 少妇极品熟妇人妻专区视频| 好久久免费视频高清| 亚洲天堂色色人体| 国产欧美精品午夜在线播放| 伊人久久精品亚洲午夜| 精品丝袜美腿国产一区| 免费欧美一级| 中文字幕伦视频| 亚洲精品久综合蜜| 亚洲第一成年人网站| 手机精品视频在线观看免费| 欧美国产在线看| 国产在线视频欧美亚综合| 茄子视频毛片免费观看| a级毛片在线免费|