Assembly 组装速度不够快的情况有哪些,因此需要直接的硬件/布尔逻辑解决方案?

Assembly 组装速度不够快的情况有哪些,因此需要直接的硬件/布尔逻辑解决方案?,assembly,hardware,Assembly,Hardware,我已经开始通读了,其中有一节是关于布尔逻辑的,内容是: 当然,使用Pascal、C甚至汇编语言来指定编程问题的解决方案要比使用布尔方程来指定解决方案容易得多。因此,您不太可能使用一组状态机和其他逻辑电路来实现整个程序。然而,有时硬件实现会更好。硬件解决方案可以比同等软件解决方案快一个、两个、三个或更多数量级。因此,某些时间关键型操作可能需要硬件解决方案 在什么情况下“有时硬件实现会更好”计算机中的图形卡就是一个很好的例子 计算机CPU指令集中内置的加密原语是另一种 还有一些特殊情况,CPU没有执

我已经开始通读了,其中有一节是关于布尔逻辑的,内容是:

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


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

计算机中的图形卡就是一个很好的例子


计算机CPU指令集中内置的加密原语是另一种

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

这可能会触及到旧世界,那里的硬件(74004000系列)从未失败过,软件是“纯粹的魔法”


我想这个片段暗示的是。将您的逻辑元素放入一个网格,标记您想要的输入和输出,对其进行一些格雷码分析,然后弹出最简单的逻辑门组合以实现所需的输出。易于构建,速度非常快,保证可以工作,而且不涉及“魔法”。当时使用处理器进行等效处理既慢又麻烦。

任何顺序编程设备的有效并行量都是有限的。直接使用硬件可以大大减少顺序限制(尽管通常要付出相当大的代价)。更好的方法是加载单词,因此此票据可能会被关闭(请尝试programmers.stackexchange)。任何需要大量并行处理的硬件都会更快,使用专用硬件与可编程硬件(处理器等)相比,几乎所有东西都会更快。但“更好”需要一份优先事项清单和指导方针,以确定你对更好的定义。不惜任何代价严格加快速度,以同样的代价加快速度,以更低的代价加快速度,可维护性,可编程性等。这些只是定义“更好”一词所需项目的一小部分: