系统与设计
的意见

什么是ASIP?

半导体扩展问题意味着需要更多特定领域的处理才能继续提高性能。

受欢迎程度

ASIP代表“特定于应用程序的指令集处理器”,简单地说就是为特定应用程序或领域设计的最佳处理器。

通用处理器与特定于应用程序或领域的处理器

到目前为止,大多数处理器核心都是通用的,这意味着它们被设计成以良好的平均性能处理广泛的应用程序。这可能意味着,如果您有一些特殊的计算密集型算法,如音频处理,您可能需要一个高性能的核心(例如SIMD单元,或零开销循环)或高时钟频率来实现您的需求。这可能会导致超出您的硅或电源预算。

另一种方法是创建一个具有专门架构的ASIP,该ASIP经过优化可以有效地实现音频处理所需的性能。ASIP通常不会被设计为最优地处理更通用的操作,比如操作系统所需的那些操作。相反,如果需要一个操作系统,你可能会在一个单独的通用核心上运行它,而不受需要运行音频处理算法的限制。因此,ASIP设计在性能上进行了优化,具有足够的灵活性以满足其用例。

asip一直是世界各地大学的研究课题,并已应用于音频信号处理、图像传感器和基带信号处理等多个领域。事实上,Codasip创始人兼首席执行官Karel Masařík与CTO zdenk picikryl在布尔诺工业大学研究了asip的设计自动化。

登纳德尺度分解

由于半导体的扩展问题,asip或领域特定处理器在未来可能会得到更广泛的应用。几十年来,soc的开发人员依靠摩尔定律和登纳德标度,通过不断细化的硅几何形状来获得越来越多的性能和电路密度。

DRAM先驱Robert Dennard博士观察到,随着每一代技术的发展,晶体管的尺寸下降了约30%,从而减少了50%的面积,并且随着延迟的减小,最大时钟频率可以增加约40%。此外,如果电源电压降低30%,晶体管在最大频率下工作的功耗就会减半。总结:每一代晶体管的密度都翻了一番,速度提高了1.4倍,同时保持相同的功耗。

虽然适用这种缩放,但使用通用处理器核心和依靠新一代硅技术来提供可接受的功耗所需的性能通常是合理的。然而,Dennard Scaling从2006年开始就已经被打破了,性能改善的增量较小,泄漏电流恶化了功耗。因此,半导体行业必须改变,需要一种新的处理方法。

异构处理——新方法

到目前为止,Dennard Scaling的故障已经通过在单个SoC上集成不同类型的通用核心来解决。例如,手机soc结合了应用处理器、gpu、dsp和mcu,但这些处理器都没有特定于应用程序的指令集。

随着新产品对人工智能、高级图形和高级安全性的新算法的要求越来越高,人们需要并正在开发更专业的加速器。这样的加速器被设计用来有效地处理计算要求高的算法。每个加速器都需要一个优化的指令集和微架构——换句话说,就是一个ASIP。

ASIP或加速器不是“一刀切”的概念,而是可以根据所涉及的专门化程度而有所不同。在一端,你可以从一个MCU开始,通过添加自定义指令来提高性能或代码密度。另一方面,您可能创建具有非常有限的可编程性的专用逻辑。

在开发指令集时,不一定要从头开始。例如,如果RISC-V编程模型是合适的,你就可以从基本集开始,然后开发任何您需要的自定义指令

软件开发的重要性

虽然应用软件开发人员越来越多地转向更高的抽象级别,但嵌入式软件仍然主要使用C或c++语言完成。它们提供了与处理器硬件的紧密映射,同时保持ISA不可知,并且在处理器和体系结构之间相对可移植。创建定制硬件的一个挑战是确保软件开发人员的需求也得到满足。内在指令等技术允许从C直接访问指令集,但降低了代码的灵活性。当复杂的函数被封装在一条指令中时,它们可能仍然是一个可行的答案。但是更好的是为特定领域的加速器创建的编译器,能够自动针对您创建的自定义指令。这与指令集模拟器和分析器一起,加快了您尝试不同设计迭代以收敛于最佳解决方案的速度。Codasip Studio为这个过程提供了一个完整的解决方案,能够从一个简单的指令级模型生成ISA和编译器。

设计自动化与验证

由于需要开发许多不同的加速器,手动开发指令集和微架构效率不高。应用软件可以通过概要分析和针对这些需求调整的指令集进行分析。一个处理器设计自动化工具集Codasip工作室然后可以用来生成软件工具链和指令集模拟器。具体来说,它自动生成C/ c++编译器,该编译器完全了解指令集,并可以自动推断特定的指令。在循环中使用C/ c++编译器是很重要的,可以看到特定于应用程序的指令的影响。这同样适用于SDK中自动生成的指令集模拟器、调试器、分析器和其他工具。Codasip Studio还可以用于生成硬件设计,包括RTL、测试台和UVM环境。Codasip最初成立是为了创造co-d设计工具ASIP(因此得名“Co-dASIP”),尽管Codasip Studio随后被用于创建更多通用内核,如RISC-V嵌入式内核和应用程序内核。

处理器设计并不是生成RTL代码就结束了——设计周期的主要部分是验证,它需要严格。正如Philippe Luc向《半导体工程》杂志解释的那样RTL验证是多层次、复杂的。Codasip Studio可以自动化验证过程的关键部分,以帮助更快地完成ASIP设计的整个流程。除此之外,它还为优化的指令提供了自动覆盖点。所提供的UVM环境使得在模型和RTL上运行程序(包括新指令)并进行结果比较变得很容易。提供了一个约束随机程序生成器,以帮助关闭覆盖范围,并确保为我们的客户更快地验证。

推荐阅读
MASAŘÍK卡雷尔,ASIP设计中的UML, IFAC论文集第39卷(17):209-214,2006年9月。

ZACHARIÁŠOVÁ Marcela, PŘIKRYL zdenk, HRUŠKA Tomáš和KOTÁSEK zdenk。应用特定指令集处理器的自动功能验证。《信息与通信技术进展》第4卷,第1期。403,第128-138页。ISSN 1868 - 4238。

PŘIKRYL Zdeněk。ASIP仿真器中管道的快速仿真。第十五届微处理器测试与验证国际研讨会。奥斯汀:IEEE计算机学会,2014,第1-6页。ISBN 978-0-7695-4000-9。

HUSÁR Adam, PŘIKRYL zdenk, DOLÍHAL ludk, MASAŘÍK Karel和HRUŠKA Tomáš。自动生成C/ c++编译器的ASIP设计。海法,2013年。



留下回复


(注:此名称将公开显示)

Baidu