电脑是如何进行数据计算的呢? #计算机(电脑是如何进行数据计算的呢英语)

发明计算机的人真是个天才。计算机执行的所有计算都可以分解成一系列简单的数学运算。计算机不断地进行数字相加、相乘、比较大小、移动数字等操作,以便高效地解决问题。为了使这些操作变得实用,计算机需要能够快速执行这些操作。

以其中一种操作为例,计算机如何进行数字相加?又如何能够快速地解决复杂的问题?其基本策略与人计算数字并没有太大的区别。

·如果要将两组数字相加,可能会一次处理一对数字,先加第一对数字,然后是下一对,依此类推。有时可能会加一对数字,并留下一个进位,然后影响下一对数字的加法。计算机也是这样做的,只不过是用二进制位代替十进制数字。

一个称为全加器的电路可以将两个位相加,还可能有一个进位位,然后它产生一个和及可能的进位。例如,如果用输入进位位为0来相加1和0,则和将是1而没有输出进位。但是如果用输入进位位为1来相加1和0,那么情况就变了。现在输出一个进位为1,而和位为0。

电脑是如何进行数据计算的呢? #计算机(电脑是如何进行数据计算的呢英语)

这些全加器在位上执行非常简单的操作,但可以将它们组合起来,以相加更大的数字。要将两个四位数相加,可以将四个全加器串联成一个脉动进位加法器。第一个全加器将右侧位相加并产生一个和,它还将一个进位位传递给下一个全加器,后者计算出一个和,并将可能的进位位传递给下一个加法器

通过连接足够多的这些单位加法器,可以设计出添加数字尺寸任意大的电路。但随着相加的数字变得更大,会注意到加法所需的时间越来越长,大多数加法器大部分时间都在等待传递进位位,以便开始计算,但这并不是很有效的时间利用。

电脑是如何进行数据计算的呢? #计算机(电脑是如何进行数据计算的呢英语)

理想情况下,所有这些加法器都希望立即开始计算它们的和,但它们不能,因为它们的和取决于上一个加法器是否有进位输出。进位前瞻逻辑在这里就可以发挥重要作用。在进位前瞻加法器中,基本思想是添加逻辑,来快速且同时地计算所有进位,并将它们传递给需要的加法器。这使得单个位加法器无需等待所有先前的加法器即可完成工作。

但这是如何实现的?这个进位前瞻加法器如何知道所有进位是什么而不必进行完整的加法?为了回答这个问题,让我们看看其中一个单位加法器并考虑它是否会产生进位。

根据输入值,我们可能能够对这个加法作出一些断言。对于某些输入值,我们可能会说这个加法"产生"进位。产生进位意味着无论是否有输入进位,加法都会产生一个进位。如果要添加的两个位都是1,则会出现这种情况。当两个1相加时,无论是否有输入进位都会产生一个进位输出,因此我们说这个加法会产生一个进位。

电脑是如何进行数据计算的呢? #计算机(电脑是如何进行数据计算的呢英语)

更正式地说,如果我们要相加的两个位是A和B,则我们可以说该加法会在A和B都是1时产生一个进位。对于其他输入值,我们可能会说这个加法"传播"进位。传播进位意味着如果有输入进位,则会有一个输出进位。

例如,如果输入位是1和0,则这个加法会传播进位;如果有输入进位,则输出也会有进位。但如果输入位都是两个0,则该加法不会传播进位。即使有输入进位,也不会有输出进位。换句话说,如果我们要相加的两个位是A和B,则当A或B是1时,该加法会传播进位。

电脑是如何进行数据计算的呢? #计算机(电脑是如何进行数据计算的呢英语)

从产生和传播进位的角度考虑,这些单位加法的思路有两个用处。

·首先,对于每一对位,我们可以立即计算出该加法是否产生或传播进位,而不需要等待任何其他计算的结果。这意味着当加法开始时,我们可以同时计算所有位对的这些产生和传播值。

·其次,我们可以使用这些产生和传播值来计算所有的进位。对于任何给定的位相加,我们可以按照以下方式计算出进位输出。如果加法产生进位,或者如果有输入进位且加法传播进位,则加法会产生一个进位为1。

我们可以利用这个思想得到这个四位加法器中每个进位的公式。假设我们正在相加的只是这四位数,没有进位输入到它们,那么第一次加法的进位输出就等于该加法是否产生进位。第二次加法的进位输出为1,如果第二次加法产生进位。或者如果第一次加法产生进位,且第二次加法传播了该进位,第三次加法的进位输出为1。如果第三次加法产生进位,或者如果第二次加法产生了进位,且第三次加法传播了该进位,或者如果第一次加法产生了进位,且第二次和第三次加法都传播了该进位。

电脑是如何进行数据计算的呢? #计算机(电脑是如何进行数据计算的呢英语)

也许你可以看到这里形成了一个模式,我们可以为第四次加法的进位输出构建类似的公式。注意,所有这些公式都是根据我们可以快速计算和同时计算的产生和传播值计算出来的。这些公式本身也可以快速计算,将公式中的这些单独项进行与运算只需一个逻辑步骤,然后再进行或运算将这些项组合在一起以得到进位值。

电脑是如何进行数据计算的呢? #计算机(电脑是如何进行数据计算的呢英语)

这是第二步,结果是当相加的两个四位数的第一对位被相加时,我们可以计算出传播和产生值,并开始将它们组合起来,这样就得到了所有的进位值,然后可以将它们传递给所有其他单个位加法器,以便它们可以同时进行工作。

理论上,随着我们相加的数字越来越大,通过这种进位前瞻逻辑节省的时间也越来越多。在传统的脉动进位加法器中,添加更大的数字意味着等待时间更长。因为进位从一个加法器传递到下一个加法器,但在进位前瞻加法器中,我们可以一次计算出所有进位。

然而在实践中,计算后面的进位的公式,随着项数增多而变得更大。用两个步骤计算出这些公式的电路也不再那么实用。相反,我们经常会将四位进位前瞻加法器的逻辑封装在一起,然后将它们串联起来以构建一个更大的加法器。每个四位加法器可以依次运行,并将进位传递给下一个。

电脑是如何进行数据计算的呢? #计算机(电脑是如何进行数据计算的呢英语)

但是现在我们知道了一个更有效的方法来做到这一点,我们可以再次使用进位前瞻逻辑,只是在更大的范围内,每个四位组现在可以为其组计算生成和传播值,而较大的进位前瞻单元可以使用该信息来计算出每个四位加法器的进位,以便它们可以在不等待彼此的情况下并行地工作。

在添加大数时应用进位前瞻逻辑可以节省大量时间。当我们谈论电路时,这段时间以纳秒为单位衡量,但当计算机执行数十亿次操作时,这些纳秒就会累加起来。

通过利用计算机电路可以同时执行多个任务的事实,我们的逻辑现在更快了。因此,通过给予它们多个任务,它们可以在不需要等待其他逻辑完成的情况下执行任务,从而使我们的计算更加高效。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年4月12日 下午5:11
下一篇 2024年4月12日 下午5:23

相关推荐

  • 铜仁碧江:活用“智慧党建云”助力基层党建提“智”增效(党建智慧化)

    来源:人民网-贵州频道 原创稿 近年来,铜仁市碧江区积极探索党建工作智能化、智慧化工作,狠抓“铜仁智慧党建云”平台建设和运行,同步活用平台各项功能,高质高效开展党员教育管理、联系服…

    科研百科 2023年7月6日
    147
  • 水稻所成果转化示范基地揭牌成立

      9月17日,中国水稻研究所在江苏省盐城市盐南高新区举行“中国水稻研究所科技成果转化(盐城)示范基地”揭牌仪式。所领导及相关职能部门负责人和专家出席活动。   示范基地占地共10…

    科研百科 2022年5月12日
    277
  • 漫画《金钱游戏》(漫画《金钱游戏》在线观看)

    人性并不是纯粹的善和恶,而是更复杂更加多面。本篇故事中,四个各怀鬼胎的人,为了100万奖金参与了名为“金钱密码”的游戏。不料这个游戏不单单是游戏,一旦出错,生死难料!

    科研百科 2023年3月13日
    248
  • 会计学硕导师科研项目少怎么办

    会计学硕导师科研项目少怎么办 随着会计学硕教育的普及,会计学硕导师越来越需要承担更多的科研项目,以支持学生的学术发展。然而,很多会计学硕导师面临科研项目缺乏的问题。本文将探讨会计学…

    科研百科 2024年4月8日
    125
  • “苏禽绿壳蛋鸡”正式成为国家级蛋鸡新品种

        近日,中国农业科学院家禽研究所副所长王克华主持培育的蛋鸡新品种(配套系)“苏禽绿壳蛋鸡”通过了国家畜禽遗传资源委员会审…

    科研百科 2022年5月17日
    2.2K
  • 科研经费财务管理

    科研经费财务管理 科研经费财务管理是科研工作中至关重要的一部分。科研经费的财务管理不仅仅是为了满足科研的需要,同时也是保证科研经费合理使用、有效管理的重要保障。本文将从科研经费的财…

    科研百科 2024年5月29日
    121
  • 项目资源管理软件是什么(项目资源管理软件)

    项目资源管理软件是一种用于管理项目资源和进度的软件工具,能够帮助项目经理和团队成员更好地协调工作,提高项目的成功几率。本文将介绍项目资源管理软件的一些基本概念、功能和应用。 什么是…

    科研百科 2024年6月9日
    76
  • 研究生的科研任务是什么

    研究生的科研任务是什么? 在进入研究生阶段后,每个人都有一个共同的目标:通过深入研究,掌握最新的科学技术,为未来的职业发展打下坚实的基础。然而,要实现这个目标,研究生需要完成一系列…

    科研百科 2024年10月18日
    1
  • 科研项目一周要闻第四期

    科研项目一周要闻第四期:人工智能在医疗领域的应用 随着人工智能技术的不断发展,它在医疗领域的应用也越来越广泛。人工智能可以帮助医生更准确地诊断疾病,为病人提供更好的治疗方案。在本期…

    科研百科 2024年4月10日
    95
  • 刚刚,福州仓山沸腾了!全部解封(2020年2日7日福州仓山区有封闭吗-)

    仓山全部解封啦! 刚刚 仓山区城门镇 最后一个封(管)控区—— 白云管控区、封控区 正式解封! “终于解封啦!” 解封现场 永南路卡点的伸缩铁马缓缓收回 居民群众兴奋之情溢于言表 …

    科研百科 2023年6月25日
    245