什么类型的情况是程序集不够快,所以你需要一个直接的硬件/布尔逻辑解决方案?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么类型的情况是程序集不够快,所以你需要一个直接的硬件/布尔逻辑解决方案?相关的知识,希望对你有一定的参考价值。

我已经开始阅读Art of Assembly,并且有一个关于布尔逻辑的部分,其中指出:

当然,使用Pascal,C甚至汇编语言等语言来指定编程问题的解决方案要比使用布尔方程指定解决方案容易得多。因此,您不可能使用一组状态机和其他逻辑电路来实现整个程序。然而,有时硬件实现更好。硬件解决方案可以比同等软件解决方案快一个,两个,三个或更多个数量级。因此,一些时间关键操作可能需要硬件解决方案。

在什么情况下“有时硬件实现更好”?

答案

计算机中的显卡就是一个很好的例子。

内置于计算机CPU指令集中的加密原语将是另一个原语。

另一答案

还有一些特殊情况,CPU没有执行特定计算的指令或速度。一个例子是在Raid 6设置上使用的有限域数学运算,其中Reed Solomon数学运算在特殊硬件中实现(尽管校正算法的某些部分可以在固件/软件中实现)。 CRC或其他Reed Solomon类型的纠错码通常以硬件实现。已经提到加密,AES加密可能有10个并行运行的硬件编码器。

另一答案

Art of Assembly可能触及旧世界,硬件(7400,4000系列)从未失败,软件是“纯粹的魔力”。

我认为片段暗示的是Karnaugh Mapping。将逻辑元素放入网格中,标记所需的输入和输出,对其进行灰度代码分析,然后弹出最简单的逻辑门组合以实现所需的输出。易于构建,非常快速,保证工作,并且不涉及“魔法”。当时使用处理器做等效的工作既缓慢又麻烦。

以上是关于什么类型的情况是程序集不够快,所以你需要一个直接的硬件/布尔逻辑解决方案?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA面试真题集

当机器学习遇到数据量不够时,这几个Python技巧为你化解难题

在 Web 视图中获取值的速度不够快

当机器学习遇到数据量不够时,这几个 Python 技巧为你化解难题

SDN第一次作业

C#如何通过类名获取类,并进行相应的操作?