A decoding logic method is arranged to perform a zero overhead cycle in an embedded digital signal processor (DSP). In this method, the instruction data is extracted from the memory, and a plurality of instruction tokens obtained from the instruction data are stored in the token buffer. From the token buffer of one or more instructions in the first part of the first token passed to the decoding module, the decoding module can be the first instruction decoding module, the second part of one or more instructions and token from the token buffer transfer to second decoding module, the decoding module is second cycle decoding module. The second decoding module detects a special loop instruction token, and tests the cycle counter on a conditional basis, based on the detection of the special loop instruction token. The first decoding module is used to compile at least one instruction token of the iterative algorithm to a single instruction, which is executable in a single execution cycle. Based on the conditional test of the cyclic counter, the first decoding module further computes the cyclic branch instruction of the iterative algorithm to the executable single instruction in one execution cycle.
【技术实现步骤摘要】
嵌入式数字信号处理器中的零开销循环
本披露总体上涉及嵌入式数字信号处理器(DSP)。更具体地,但非排他地,本披露涉及嵌入式DSP中的零开销循环。
技术介绍
传统的嵌入式数字信号处理器(DSP)广泛用于工业应用、消费者应用、以及许多其他应用中。传统的嵌入式DSP专注于使支持更广泛的应用的专用数字算法加速。例如,传统的移动蜂窝电话可以包括应用处理器以控制用户界面、用于应用程序、多媒体的存储和分发等。在这些情况下,传统的移动蜂窝电话还将包括嵌入式DSP以用于移动无线电处理、图像处理、以及其他算法工作量大的功能。更确切地,嵌入式DSP用于实现快速傅里叶变换(FFT)、有限脉冲响应(FIR)滤波器、卷积油和编解码、以及更多。许多数字信号算法的一个共同特征是几百次、几千次、或甚至几百万次地重复执行少量的特定指令以得出单一结果。在背景部分中讨论的所有主题无需是现有技术并且不应当仅仅由于其在背景部分的讨论而被假定为是现有技术。据此,除非特别说明是现有技术,对在背景部分中所讨论的现有技术中存在的问题或与这种主题相关联的问题的任何认识不应该被看作现有技术。替代地,对在背景部分中的任何主题的讨论都应该被看做专利技术人解决具体问题的方法的一部分,其本身以及本质上也可以是有创造性的。
技术实现思路
使用具有解码逻辑的嵌入式DSP解决了使计数器减量、测试该计数器以及跳回循环的开始的控制指令的开销所造成的内核循环低效的问题,该解码逻辑将新的循环指令和正常指令组合并将两者作为单条指令一起执行。在处理器中,如数字信号处理(DSP)处理器,新的循环指令具有特殊格式,并且新的解码逻辑检测该新的循环 ...
【技术保护点】
一种被安排成用于执行零开销循环的解码逻辑模块,包括:提取逻辑模块;令牌缓冲器,所述令牌缓冲器耦接至所述提取逻辑模块并被安排成用于存储从所述提取逻辑模块传递的多个指令令牌;第一解码模块;第二解码模块;第一多路复用器,所述第一多路复用器耦接在所述令牌缓冲器与所述第一解码模块之间并被安排成用于将多个指令令牌从所述令牌缓冲器传递至所述第一解码模块;第二多路复用器,所述第二多路复用器耦接在所述令牌缓冲器与所述第二解码模块之间并被安排成用于将多个指令令牌从所述令牌缓冲器传递至所述第二解码模块;以及循环控制模块,所述循环控制模块被安排成用于测试循环计数器并进一步被安排成用于与所述第二解码模块检测特殊循环指令令牌合作更新所述循环计数器,其中,所述第一解码模块被安排成用于将迭代算法的至少一个指令令牌汇编至在单个执行周期中可执行的单条指令中,并且基于所述循环控制模块测试所述循环计数器,所述第一解码模块进一步被安排成用于将所述迭代算法的循环分支指令汇编至所述单个执行周期中可执行的所述单条指令。
【技术特征摘要】
1.一种被安排成用于执行零开销循环的解码逻辑模块,包括:提取逻辑模块;令牌缓冲器,所述令牌缓冲器耦接至所述提取逻辑模块并被安排成用于存储从所述提取逻辑模块传递的多个指令令牌;第一解码模块;第二解码模块;第一多路复用器,所述第一多路复用器耦接在所述令牌缓冲器与所述第一解码模块之间并被安排成用于将多个指令令牌从所述令牌缓冲器传递至所述第一解码模块;第二多路复用器,所述第二多路复用器耦接在所述令牌缓冲器与所述第二解码模块之间并被安排成用于将多个指令令牌从所述令牌缓冲器传递至所述第二解码模块;以及循环控制模块,所述循环控制模块被安排成用于测试循环计数器并进一步被安排成用于与所述第二解码模块检测特殊循环指令令牌合作更新所述循环计数器,其中,所述第一解码模块被安排成用于将迭代算法的至少一个指令令牌汇编至在单个执行周期中可执行的单条指令中,并且基于所述循环控制模块测试所述循环计数器,所述第一解码模块进一步被安排成用于将所述迭代算法的循环分支指令汇编至所述单个执行周期中可执行的所述单条指令。2.根据权利要求1所述的解码逻辑模块,其中,以嵌入式数字信号处理器的内核模式执行所述迭代算法。3.根据权利要求1所述的解码逻辑模块,其中,所述循环控制模块被安排成用于测试所述循环计数器包括所述循环控制模块被安排成用于将所述循环计数器与零进行比较,并且其中,所述循环控制模块被安排成用于进一步更新所述循环计数器包括所述循环控制模块被安排成用于使所述循环计数器减量。4.根据权利要求1所述的解码逻辑模块,包括:令牌指针,所述令牌指针被安排成用于指引多个指令令牌通过所述第一多路复用器传递至所述第一解码模块,所述令牌指针进一步被安排成用于基于所述循环控制模块对所述循环控制器的测试来指引所述特殊循环指令令牌通过所述第一多路复用器传递至所述第一解码模块。5.根据权利要求1所述的解码逻辑模块,其中,在单个时钟周期内完成所述单个执行周期。6.根据权利要求1所述的解码逻辑模块,其中,所述解码逻辑模块被安排在嵌入式数字信号处理器中。7.根据权利要求1所述的解码逻辑模块,其中,所述第一解码模块被安排成用于选择将哪些指令令牌从所述令牌缓冲器通过所述第二多路复用器传递至所述第二解码模块。8.一种用于执行零开销循环的解码逻辑方法,包括:从存储器提取指令数据;将多个指令令牌存储在令牌缓冲器中,所述多个指令令牌是从所述指令数据中得到的;将一个或多个指令令牌中的至少第一部分从所述令牌缓冲器传递至第一解码模块,所述第一解码模块是指令解码模块;将一个或多个指令令牌中的至少第二部分从所述令牌冲缓器传递至第二解码模块,所述第二解码模块是循环解码模块;使用所述第二解码模块检测特殊循环指令令牌;基于对所述特殊循环指令令牌的所述检测,有条件地测试循环计数器;使用所述第一解...
【专利技术属性】
技术研发人员:朱鹏飞,焦小康,
申请(专利权)人:世意法北京半导体研发有限责任公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。