算术逻辑单元如何知道比较的逻辑?

 520sweet跃_322 发布于 2023-02-05 12:58

我正在我的大学学习系统工具和架构课程,第一堂课是关于如何CPURAM谈话以及CPU如何处理数据.正如教授所解释的,CPU有一个ALU (Arithmetic Logic unit)执行算术,如添加和比较.但他没有解释它是如何做到的.

所以我做了一些搜索,发现这个链接指向一个youtube视频,解释了如何执行添加 - 很好地为初学者解释.甚至这个链接也解释了CPU指向算术处理ALU但不处理如何ALU执行它.

我的问题是怎么样ALUcomparison.作为人类,我们知道5小于7.但是如何ALU知道这一点,它是否在某种程度上是硬编码的.我确信它必须使用一些logic进行比较,这是什么逻辑.

很高兴知道这是如何成为CS的主要工作

1 个回答
  • 您是否熟悉典型的ALU如何设置标志以指示发生溢出,或者操作结果为零还是负?通常,通过减法和更新标志但丢弃数字结果来执行比较.

    例如,如果从5中减去7,则结果为负数.因此,5小于7.


    我应该注意,这绝对不是实现比较的唯一方法.稍加思考,可以构造一个算法(可以制作成电路)直​​接比较两个整数的二进制表示而不减去它们.但是,减法是一种基本操作,(几乎)所有CPU都已经非常有效地实现它,并且没有理由不重用该实现进行比较.

    2023-02-05 13:00 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有