硬件/软件实施

时间:2011-04-21 21:52:26

标签: c

一个函数(例如模乘,正弦)是用硬件而不是软件实现的意思是什么意思?

4 个答案:

答案 0 :(得分:4)

在硬件中实现意味着电路(通过逻辑门等)可以执行操作。

例如,在ALU中,处理器在物理上能够将一个字节添加到另一个字节。

在软件中实现的操作通常是在硬件功能中实现的非常复杂的基本组合。

答案 1 :(得分:3)

通常,“软件”是来自所讨论硬件支持的一小组精确正式指令的指令列表。硬件(cpu)以无限循环运行,执行存储在“memory”中的指令流。

当我们谈论算法的软件实现时,我们的意思是我们通过让CPU按照外部程序员放在一起的顺序执行一些这些指令来实现最终答案。

当我们谈论硬件实现时,我们的意思是最后的答案是通过中间步骤来执行的,这些步骤不是来自程序员编码的正式(低效)软件流,而是通过中间步骤执行没有暴露在外面的世界。因此,硬件实现可能更快,因为(a)它们对于正在实现的算法非常特殊,不需要达到外部将看到的明确定义的状态,并且(b)不必同步与外界隔绝。

请注意,我正在调用sine(x),“algorithms”等字样。

为了更具体地说明效率,软件指令作为正式接口的一部分,在等待下一个时钟周期时具有预定义的启动/停止点。在某种程度上需要这些同步点,以允许其他软件指令和其他硬件干净且明确地访问这些定义良好的计算。相比之下,硬件实现更有可能使其内部实现的大量异步,这意味着它们运行完成而不是停留在许多中间点以等待时钟滴答。

例如,大多数处理器都有一个执行整数加法的指令。计算最终位位置的整个过程可能是异步完成的。停止/同步点仅在达到添加结果后发生。反过来,比“添加”更复杂的算法,并且在包含许多这样的添加的软件中完成,必然部分地异步执行(例如,在每次添加之间)但具有许多同步点(在每次添加之后,跳转,测试等,结果已知)。如果更复杂的算法完全在硬件中完成,则可能从头到尾完全独立于定时时钟运行完成。在该算法的硬件计算过程中,不会查阅外部程序指令。

答案 2 :(得分:1)

这意味着它背后的逻辑是在硬件中(即,使用门AND / OR / XOR等)而不是所述硬件逻辑的软件重新创建。

答案 3 :(得分:1)

硬件实现通常意味着创建了一个电路来执行所引用的操作。不需要CPU也不需要虚拟计算。您可以从字面上看到通过电路本身的线路和架构执行的算法。