智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

設計一個自己專用處理器該怎么完成?

來源:網絡

點擊:904

A+ A-

所屬頻道:新聞中心

關鍵詞: 芯片設計,專用處理器,ARM處理器

    做芯片設計的各位,在某個時刻,你也許會產生一個想法,“為什么不自己設計一個處理器呢?”或許是手頭的處理器并不好用;或許是想用的處理器貴的離譜;或許是你希望做出差異化的產品;又或者僅僅因為它是個誘人的挑戰,你想嘗試一下...既然如此,我很高興能和你討論一下怎么完成這個任務。

    交付物

    我們先從結果說起,也就是這項任務的最終交付物。這里不妨參考ARM處理器核的deliverables。當然,如果只是一個自己用的專用處理器,不一定要有這么完整的交付物。

    硬件:主要是處理器相關的RTL代碼,驗證環境,EDA工具的腳本,文檔等等。

    工具:主要包括編譯工具(compiler),調試工具(debugger),仿真工具(simulator)和性能分析工具(profiler)。下圖是ARM的編譯工具的例子,主要包括armclang(C編譯器),armasm(匯編器),armlink(鏈接器)和fromelf(image工具)。

    設計一個自己專用處理器該怎么完成?

    轉自arm.com

    仿真工具一般至少包括一個指令仿真器 instruction set simulator (ISS),做的好的有cycle-accurate ISS。

    模型:此外,現在一般的處理器IP還會提供一些處理器的模型來支持系統級設計,比如用于虛擬平臺(virtual platform的處理器model。虛擬平臺可以在沒有硬件的情況下支持軟件開發,它可以模擬一個完整的芯片或者一個硬件板卡,比如ARM的Fixed Virtual Platform (FVP)。而專用的處理器模型(比如ARM的Fast Model)是虛擬平臺的重要組成部分,和總線模型以及其它IP模型一起模擬系統的功能。

    在上述交付物中,紅色為必不可少的內容。即使你做的專用處理器功能簡單,沒有這幾部分它也幾乎是無法正常使用的。當然,你可以說,我不需要ISS做指令驗證,不需要debugger做調試,不需要C編譯器而只用匯編,我也只能“呵呵”了。

    看到這一大堆工作,如果你沒有膽怯,而是覺得很有意思。那么我也很愿意給你點幫助,看看是不是可以把你的想法變成現實。其實方法也很簡單 — 自己做不了就找“別人”幫忙唄。

    具體來說,根據你的預算情況,可以分為“窮”和“富”兩種玩法。我先說說有錢的玩法吧。

    富玩法

    其實,不止你一個人想做專用處理器,很多大公司也有這樣的需求。所以,就有人為這種需求專門提供了解決方案,比如Synopsys的ASIP-designer工具和Cadence的Xtensa可擴展處理器(參見Cadence(Tensilica)的可定制處理器),都是為了滿足定制處理器的需求而設計的。

    其中Cadence的可擴展處理器是在一個基礎處理器上給你提供了配置(configure)和擴展(extension)的方法和工具。它提供的功能可以通過下圖感受一下。

    設計一個自己專用處理器該怎么完成?

    轉自cadence.com

    這套工具的輸入包括三個部分:1)一個處理器模板(Processor Template);2)用戶配置(Configuratoin Options);3)定制的指令(Custom Instructions)。最簡單的情況,你只要選一個處理器模板扔給工具就可以了。如果這個不能滿足要求,那么你可能要做一些配置。這個也很簡單,基本是菜單選擇。最有技術含量的是第三種情況,你要設計一些定制的指令。有了這些輸入,剩下的事情就都交給工具了。我們在第一節說的那些交付物,都可以自動生成。

    那么我們怎么知道要不要自己定制指令呢?工具也提供了方法。首先,輸入你的算法程序輸入,經過編譯,進行仿真和profiling,得到性能評估的結果。然后判斷是否滿足需求。答案是NO的話,就嘗試更新Configuration;如果還是不行,再嘗試定制指令的方法,直到滿意為止。由于工具幫助你做了大部分工作,這個迭代的過程(也可以看作是Design Space Exploration)會非常快。

    設計一個自己專用處理器該怎么完成?

    轉自cadence.com

    為了實現定制指令(對原有指令集進行擴展),Cadence(Tensilica)設計了一種專用的描述語言:Tensilica Instruction Extension (TIE) language。由于Xtensa處理器有一個基本的架構模板,使用TIE語言對它進行擴展是有一定的限制,不是說你想做的指令和架構改動都能夠實現。

    Synopsys提供的工具直接就叫ASIP designer,ASIP(Application-Specific Processor)專用處理器設計工具。和Tensilica的可擴展處理器不同,ASIP designer支持從零開始設計和實現一個專用處理器。相應的,它比Tensilica可擴展處理器有更高的靈活性。你可以非常自由的設計指令集和微結構,覆蓋從Extensible processor,到Application-specific uP/DSP,到Programmable datapath這樣一個更大的架構空間,如下圖所示。這里也可以看出,這個工具的目標并不是設計通用處理器。

    設計一個自己專用處理器該怎么完成?

    轉自synopsys.com

    下圖是這個工具完整的方法學。

    設計一個自己專用處理器該怎么完成?

    轉自synopsys.com

    它的輸入就是兩個,算法(C/C++代碼)和處理器模型(Processor Model),輸出則是一個處理器相關的所有設計和工具鏈。從輸入到輸出的過程同樣是自動化完成的。當然,這個過程并不像看起來那么簡單,處理器建模的門檻不低。而且,工具賦予你的靈活性越高,掌握這種工具的門檻也越高。ASIP designer的處理器建模需要使用一種專門的語言,即nML,對處理器的指令集和架構進行高層次建模;此外還需要很多和編譯器相關的設計,(具體的信息大家可以訪問synopsys網站)。所以,即使你能買得起,要玩好這套工具,還得具備兩個條件:第一,是你必須熟悉處理器架構和編譯方面知識;第二,是要學習這套建模語言和工具。

    總的來說,如果你有專用處理器設計的需求,足夠的資金和學習的耐心,可以考慮引入這類輔助設計工具。在經歷過一定的學習周期后,你不僅可以完成一個設計,還能獲得快速、高效設計處理器的能力。

    窮玩法

    看了上面的介紹,你是不是也對“自動”設計專用處理器的方法很眼饞呢?可惜,你可能沒有足夠的資金來購買這樣的工具,或者是你的目標收益還不值得做出這樣的投資。這種情況下,我建議你從開源的處理器(或者指令集)開始做你自己的專用處理器。其實這也算是廢話吧。所以還是得給個具體的例子,假設你想在RSIC-V的基礎上做定制處理器。RSIC-V是現在一個相對成熟的開源處理器指令,已經有很多相關實現和非常活躍的社區。相信大家都聽說過,就不科普了。這里得說明一下,我并沒有對RISC-V進行過深入的研究和嘗試,以下的說法基本上是紙上談兵,不對的地方請大家批評指正。

    首先,你要好好學習一下RISC-V指令集手冊中的“Chapter 10 Extending RISC-V”,這里明確介紹了給RISC-V指令集增加指令的規則。

    第二,在現有的RISC-V的硬件實現基礎上,增加新指令對應的硬件。可能需要增加專用的寄存器,運算單元,pipeline寄存器,控制信號等等。或者,你可以按照新的指令集(假設叫“RISC-V++ ISA”)自己做完整的硬件實現。其實我覺得第二種方法還更靠譜一點。很多時候,修改別人的東西,要比自己做困難的多。

    第三,在RISC-V原有的工具鏈(比如GNU或者LLVM的編譯器)基礎上做出修改,支持新的指令。相對來說,這項工作是有比較完善的規則的,只要按照編譯工具的規則就可以把新增的指令加進去。當然,如果你增加的指令比較特殊,比如是向量操作,那么工具鏈的設計會困難很多。這種情況下的一個選擇是在高級程序語言的編譯器中不增加對新指令的支持,這些新的指令以匯編或者intrinsic的方法實現。

    最后,這套方法是不是也能支持在第二節中所說的快速design space exploration呢?基本的思路也是差不多的。你可以先用基本指令集來仿真你的算法;根據profiling的結果(比如性能指標,指令效率,code size等)考慮對指令集進行的修改;然后更新相應的硬件實現和工具鏈,再編譯和仿真你的算法,并不斷迭代。現在你實現這個過程沒有自動化工具的幫忙,可能需要更長的時間才能完成,特別是需要對功耗面積等implementation結果進行優化的情況。當然,如果現在RSIC-V的生態中已經有了輔助設計工具,那么可能情況會輕松一些。

    這種方法看起來行的通,不過中間的坑非常多,要求你對基礎處理器(比如RISC-V)非常熟悉。適合那些已經完整的做過RISC-V實現的玩家嘗試。否則,也許有的坑你根本過不去。

    最后,我寫這篇文章并不是想鼓勵大家都自己做專用處理器,而是希望大家清楚做這件事情要付出的代價。

    (審核編輯: 林靜)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 清尼龙滤膜-清洁度检测设备-清洁度分析仪-清洁度萃取机-优昂(百科) | 土壤养分测定仪-土壤养分速测仪-生产厂家-托普云农土壤仪器站 | 京建鹏达_商用无烟烧烤设备多少钱|开店商用自助旋转烧烤炉价格|无烟电烧烤炉批发厂家|无烟烧烤桌定做厂商-京建鹏达烧烤设备网 | 潜水搅拌机|潜水推流机|曝气机|刮吸泥机|格栅除污机-南京远蓝环境设备 | 深圳蓝枫印刷_画册印刷_彩页印刷_宣传册印刷_包装盒印刷_彩盒印刷厂_不干胶印刷厂 | 装盒机|装箱机|封箱机|全自动化包装生产线尽在利悦包装机械 | 输送机|滚筒输送机|皮带输送机|滚筒|无动力滚筒|万向球生产厂家-上海霞韵输送机械设备有限公司 | 中证金服投资控股(深圳)有限公司 | 宁波雷豹机电科技有限公司|雷豹冷风机|雷豹工业大风扇|MFC18000|MFC16000|MFC6000|EF3622|EF4222|EF4822|移动工业蒸发式冷风机空气冷却器|大型工业空调扇|雷豹移动式工业大风扇|雷豹大风扇|生产厂家|公司官网 | 自装卸(挂桶)车|钩臂垃圾车|压缩垃圾车|密封自卸车|环卫垃圾车|餐厨车泔水车湖北程力专用车厂家 自建房外墙砖|地砖|墙砖,农村|别墅瓷砖-佛山燊陶丰 | 喵走共享单车网 - 共享电动车_共享电单车骑行门户网站 倡导绿色出行 | 洗地机,洗地机价格,扫地机,工业吸尘器,手推式洗地机,驾驶式洗地机,北京洗地机【北京高美环保科技有限公司】 | 洛阳轴承研究所有限公司| 养殖污水处理设备厂家-废水处理设备-固液分离设备-诸城市赛瑞环保 | 水溶肥料-大量元素水溶肥-含氨基酸水溶肥料-高塔复合肥-水溶肥生产厂家-河南中黄特肥科技有限责任公司 | 云南昆明微信公众号小程序开发公司|抖音|网站建设APP制作-鸿翥网络 | 塑料胶水|PVC胶水|PP胶水|橡胶胶水|强力胶水|透明胶水|胶粘剂|粘合剂|UV胶-聚力胶水厂家 | 石家庄华龙鼎电动门,石家庄电动门电话,石家庄电动门配件,石家庄电动门维修电话,石家庄电动门安装电话,石家庄华龙电动门 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 组合式空调机组-吊顶式新风换气机-消防高温排烟风机-德州宏楚空调设备有限公司 | 陶瓷-超高速胶体磨-高剪切胶体磨厂家价格-上海思峻机械设备有限公司 | 一体化净水器设备-浸没式膜水处理设备-智慧水务-超滤膜-模块化净水设备-浙江华晨环保有限公司 | 孝感东方妇科医院_孝感妇科医院哪家好_孝感人流多少钱 | 全国产品维权打假真伪验证系统-石家庄市海略科技有限公司官方网站 | 矿用三环链|锻打/焊接三环链|矿车万能环|三环链销子-济宁卓力工矿设备有限公司 | 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 - 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 秦皇岛市信恒电子科技有限公司 秦皇岛市华谊彩印有限公司 | 太阳能路灯生产厂家-郑州太阳能高杆灯价格-道路照明智能路灯-河南坤德照明 | 曙海培训-仿真培训Linux培训html5培单片机培训PCB培训python培训PLC培训C语言培训android培训物联网培训无线电培训欧姆龙培训工业机器人培训5G培训Hadoop培训CFD培训项目外包开发咨询 | 膨胀节_波纹膨胀节_非金属膨胀节_波纹管补偿器_膨胀节厂家-江苏苏创管业科技有限公司 | 轻触开关,拨动开关,德艺隆(DEALON)精密工业股份有限公司 | 河卵石制砂机|鹅卵石制砂机-移动制砂机-制砂设备-郑州秦星机械设备有限公司 | 首页--南京俊全科技有限公司,环保监测无人机,大疆无人机,农用无人机,植保无人机,巡检无人机,无人机环境监测仪,消防,无人机,航拍测绘,固定翼无人机,无人机电力巡检,四旋翼无人机 | 伸缩接头,限位伸缩接头,传力接头,可拆卸接头,橡胶接头,衬四氟橡胶接头,橡胶软连接,橡胶补偿器,防水套管- 巩义市隆盛管道设备有限公司 | 卷帘门,防火卷帘,快速门,硬质快速门,提升门,伸缩门,堆积门,车库门维修-烟台捷曼门业有限公司 | 江苏鹤心食品有限公司-茶叶_果浆果酱_固体饮料 | 微型直流减速电机-直流永磁电机-直流永磁电机厂家-微型直流减速电机定制-东莞市鑫辉传动科技有限公司 - 鑫辉传动科技 | 上海前 傲信息技术有限公司-企业信息化建设及品牌推广服务商 | 三轴伺服机械手_五轴伺服机械手_注塑机械手_东莞市浩能自动化机械有限公司 | 深圳车牌识别系统厂家_人脸识别厂家_通道闸厂家_车位引导系统_智慧社区管理系统_深圳市利普诺科技有限公司官网 | 郑州建网站,郑州做网站,郑州网站建设,郑州网站制作,郑州高端定制网站,郑州APP开发 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 |