《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模拟设计 > 设计应用 > 针对VLIW DSP编译器弊端及异常处理方案
针对VLIW DSP编译器弊端及异常处理方案
电子技术应用
韦凯,洪泽
中国电子科技集团公司第五十八研究所
摘要: 随着高性能处理器并行度要求的提高,VLIW编译器的弊端也逐步显现,如何平衡代码的正确性和性能成为首要目标。VLIW编译器无法通过有限的代码信息去深度挖掘指令并行性,从而导致指令资源冲突等问题。因此,提出一种基于内核的异常处理方案,在保证代码运行正确性的同时,提高指令的并行度。以C6000系列DSP为例,针对C6000编译器的弊端,开发内核异常处理方案,通过内核异常中断确保代码优化的正确性。最后通过C66x内核资源冲突的典型案例,验证了该异常处理方案的实用性,为VLIW架构处理器程序优化提供方向。
中圖分類(lèi)號(hào):TP314 文獻(xiàn)標(biāo)志碼:A DOI: 10.16157/j.issn.0258-7998.256429
中文引用格式: 韋凱,洪澤. 針對(duì)VLIW DSP編譯器弊端及異常處理方案[J]. 電子技術(shù)應(yīng)用,2026,52(1):92-95.
英文引用格式: Wei Kai,Hong Ze. Aiming at VLIW DSP compiler defect and exception handling method[J]. Application of Electronic Technique,2026,52(1):92-95.
Aiming at VLIW DSP compiler defect and exception handling method
Wei Kai,Hong Ze
The 58th Research Institute China Electronics Technology Group Corporation
Abstract: With the increasing parallelism requirements of high-performance processors, the disadvantages of VLIW compilers have gradually emerged. How to balance the correctness and performance of the code has become the primary goal. The VLIW compiler cannot use limited code information to deeply mine instruction parallelism, causing problems such as instruction resource conflicts. Therefore, a kernel-based exception handling scheme is proposed to improve the parallelism of instructions while ensuring the correctness of code execution. Taking the C6000 series DSP as an example, in view of the shortcomings of the C6000 compiler, a kernel exception handling scheme is developed to ensure the correctness of code optimization through kernel exception interrupts. Finally, through a typical case of C66x kernel resource conflict, the practicability of the exception handling solution is verified, providing a direction for VLIW architecture processor program optimization.
Key words : VLIW;compiler;resource conflicts;C6000;exception handling

引言

隨著高性能處理器的飛速發(fā)展,在處理器內(nèi)核并行等方面也出現(xiàn)了VLIW(超長(zhǎng)指令字)和超標(biāo)量等多種架構(gòu)[1],其中編譯器如何高效發(fā)揮處理器性能也成了重重之重。其中高性能DSP通常采用VLIW構(gòu)架開(kāi)發(fā)[2-4]。目前許多公司和機(jī)構(gòu)開(kāi)始研發(fā)新型高性能DSP,如TI公司的C6678 DSP、Tensilica公司的ConnX545CK8-MAC處理器、CEVA的SensPro專用處理器[5-7]等。VLIW構(gòu)架利用編譯器可以將多條互相獨(dú)立的指令進(jìn)行打包(Pack)達(dá)到指令級(jí)別并行(ILP),而超標(biāo)量架構(gòu)需要增加亂序設(shè)計(jì)等硬件復(fù)雜度來(lái)保證指令的并行性。因此VLIW構(gòu)架的處理器對(duì)編譯器的性能要求更高。

VLIW架構(gòu)硬件設(shè)計(jì)簡(jiǎn)單,但是編譯器的工作量大大增加。編譯器需要實(shí)現(xiàn)靜態(tài)調(diào)度、流水優(yōu)化去找到N條互相獨(dú)立的指令組成指令包,進(jìn)而實(shí)現(xiàn)應(yīng)用程序并行化優(yōu)化[8]。程序并行優(yōu)化主要有循環(huán)展開(kāi)、軟件流水等手段。而循環(huán)展開(kāi)因子過(guò)小會(huì)導(dǎo)致部分硬件資源被閑置無(wú)法效率最大化,循環(huán)展開(kāi)因子過(guò)大又可能會(huì)導(dǎo)致資源沖突等問(wèn)題[9]。

針對(duì)VLIW程序并行優(yōu)化問(wèn)題,目前很多人提出了很多方法,例如:賀春林等人[10]提出的正確性粗細(xì)粒度差異化分析技術(shù),可快速準(zhǔn)確定位出測(cè)試用例的關(guān)鍵優(yōu)化選項(xiàng);池昊宇等人[11]提出的基于機(jī)器學(xué)習(xí)的編譯優(yōu)化方法,提升程序性能;趙宵磊等人[12]實(shí)現(xiàn)的面向飛騰邁創(chuàng)數(shù)字處理器代碼自動(dòng)生成框架,可提高代碼并行度。這些方法雖然有效,但依然不能完全保證編譯器編出的正確性。

本文將以TMS320C6000系列DSP為例進(jìn)行分析,針對(duì)VLIW編譯器的弊端提出一種結(jié)合內(nèi)核異常處理方案,在提升代碼優(yōu)化的同時(shí)保證運(yùn)行的正確性。其中TMS320C6000系列DSP采用VLIW構(gòu)架進(jìn)行設(shè)計(jì),具有8個(gè)并行操作的功能單元(L1、S1、D1、M1、L2、S2、D2、M2),最高可以完成單周期八指令并行運(yùn)算。


本文詳細(xì)內(nèi)容請(qǐng)下載:

http://m.ihrv.cn/resource/share/2000006919


作者信息:

韋凱,洪澤

(中國(guó)電子科技集團(tuán)公司第五十八研究所,江蘇 無(wú)錫 214035)


官方訂閱.jpg

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。