【问题标题】:Mathematical division in circuitry?电路中的数学除法?
【发布时间】:2012-01-02 20:48:00
【问题描述】:

(这是这个问题的正确网站吗?)

我最近一直在研究电路,特别是用于执行数学函数(例如加法、减法、乘法和除法)的电路。我从图书馆得到了一本关于一般电路的书,主要阅读关于数学的部分,但他们似乎没有任何关于除法的部分。我完全理解所有逻辑门及其在加法、减法和乘法中的用途,但是这本书没有关于除法的内容。事实证明,谷歌也没有多大帮助。所以我的问题是

A) 处理器做除法吗?还是稍后再做,比如机器代码或更高级别的编程语言?

如果开头的答案是肯定的,那么我想知道

B) 他们如何进行划分?他们使用什么二进制除法?它使用什么样的逻辑门排列(最好是门图)?

【问题讨论】:

  • 虽然在这里提出这个特定问题是合理的,但您可能有兴趣知道有一个更具体的电子产品姊妹网站:electronics.stackexchange.com
  • 谢谢,下次我会记住的。

标签: math computer-science circuit


【解决方案1】:

A) 是的,在很多情况下(x86 就是一个例子)。在其他情况下,可能存在执行部分除法操作的操作码。在其他情况下,整个事情可能必须在软件中进行模拟。

B)A variety of techniques。本书有一整章讲除法技巧:Finite Precision Number Systems and Arithmetic

二进制恢复除法可能是最容易理解的,它相当于你在学校会做的long division二进制非还原除法是同样的东西,但重新排列,导致需要的操作更少。 SRT 部门 更进一步。然后您可以进入非二进制除法(即基于更高的基数)。

除了基本的除法算法之外,您还需要处理负数、特殊情况和浮点数(如果您喜欢这类事情)。同样,存在许多技术。

每种方法都有取舍;我怀疑哪个特定变体是常识,例如英特尔使用。

【讨论】:

  • 非常感谢!那么有没有标准的划分方法呢?快速浏览后,对我来说最简单的一种似乎是 SRT 除法,如果我理解正确的话,它有一个查找表来查找每个长除法的商。如果没有标准的逻辑门安排来完成这项工作,那么创建能够做到这一点的东西似乎并不是非常复杂(至少,只有正数),只是创建查找表很耗时。
  • @nk565:我从来没有实现过 SRT,所以我不能确定它是否是最简单的。让某些东西工作起来并不是很困难。获得高度优化的东西可能非常棘手......
  • 好吧,你必须从某个地方开始。我可能会做出一个糟糕的设计,但只要它有效,我就会很高兴。我才 16 岁,这就是我打算在大学学习的内容,所以在那之前我不需要完美,只需要很好的理解。
  • 除此之外,Ercegovac's Digital Arithmetic 还有一章介绍倒数和平方根算法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多