CPU逻辑运算原理_第1页
CPU逻辑运算原理_第2页
CPU逻辑运算原理_第3页
CPU逻辑运算原理_第4页
CPU逻辑运算原理_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CPUCPU 逻辑运算原理逻辑运算原理 第一季 继电器 先不要扯什么图灵 冯诺依曼这些先贤 因为他们都太遥远 计算机一切计算的源头 其实是源自一个非常非常中二的东西 继电器 Relay 继电器是什么鬼 看下 图 其 实就是一个线圈利用电磁感应做成的电磁铁 原理和 电报机 一样 当开关闭合 黄色电路通电 线圈是金属棒变成磁铁 吸引中间的小开关 Anker 接通右边灰 色的电路 点亮灯泡 简单说 就是你在家一按开关 隔壁老王家的灯亮了 第二季 反相器 和 非门 为什么说继电器是个很中二的东西 因为这不就是开关吗 我按了它才亮 不按绝对 不亮 但 CPU 真就是这货发展而来的 它的变种就开始好玩了 最简单的一个变种 就是 反继电器 或者叫 反相器 Inverter 就是隔壁老王家的灯本来是亮 着的 我手上的开关一按 灯就灭了 反相器 到了现代计算机里 就叫做 非门 NOT Gate 本来开关 T1 是接通的 Output 是 1 5V 高位电平 一旦闭合开关 T1 电路中断 输出变为 0 1V 低位 电平 非门 用下面这个符号表示 简单说 就是输出永远和输入是反的 输入 1 输出 就是 0 输入 0 输出就是 1 第三季 逻辑门家族 和 非门 一样 我们能得到一堆其他特性的门 比如 与门 AND Gate 就是两个开关串联 必须两个开关同时闭合 灯泡才能亮 或门 OR Gate 两个开关并联 只要其中一个开关闭合 灯泡就会亮 长话短说 下图是所能得到的几个基本 逻辑门 Logic Gates 虽然看上去比较复杂 但 逻辑门 在本质上和之前讲的 继电器 都是 控制电路 或者说都是我手里握着控制老王家花式吊灯的各种开关 老王一定很郁闷 第四季 逻辑 逻辑门虽然被我说得很淳朴 就是控制隔壁老王家吊灯的开关 但其中却可能蕴含着 人类大脑 甚至是这个世界终极奥义的一部分 逻辑 Logic 这也是为什么它被叫 做逻辑门 爱因斯坦曾说过 世界上最不可思议的事情 就是这个世界是可以被 理解 的 简直是细思极恐有木有 最简单的例子 亚里士多德给出的经典 Barbara 三段论 如果所有人 M 都是必死的 P 大前提 并且所有希腊人 S 都是人 M 小前提 那么所有希腊人 S 都是必死的 P 结论 数学上 一个形式系統 Formal system 的野心就是想通过一组公理 和逻辑推理 过程 来描述和证明我们的客观世界 说到这里我们计算机的祖师爷们就都出来了 莱布尼兹 康托尔 布尔 图灵 等等等等 著名的图灵机就是在这个议题的争论中 无心插柳的副产品 这个主题无法展开 感兴趣推荐看 逻辑的引擎 豆瓣 这本书 这里只举一个最简单的 布尔代数 Boolean algebra 的例子 我喜欢 长头发 的 不是 蛇精脸 的女生 用布尔代数来表示就是 长头发 AND NOT 蛇精脸 说到这里 是不是和前面说的逻辑门联系起来了 第五季 逻辑电路 但是逻辑是逻辑 继电器是继电器 就算上面的花式继电器也是继电器 把逻辑和继 电器联系起来的是一位不得不提的大师 克劳德 艾尔伍德 香农 Claude Elwood Shannon 和他的那篇史上最牛硕士论文 继电器与开关电路的符号分析 绝对 最牛 没有之一 还是之前那个例子 我喜欢 长头发 的 不是 蛇精脸 的女生 如果 A 代表 长头发 B 代表 蛇精脸 那我喜欢的女生就可以写成一个布尔函数 把一个逻辑命题用符号写成一个公式有什么用呢 那是因为这样就可以很方便地转换 成一个 逻辑表决器 如下图 原理很简单 当 A 1 时 纵向的 A 总线为 1 当 A 0 时 总线输出 1 B 也是 如此 最后的输出线搭在 A 总线和总线上 用个与门连接 所以只有当 A 的输入 为 1 B 的输入为 0 时 Out 才为 1 代表我能接受这个女孩 不信大家可以人肉推演 一下 理论上任何布尔函数 都能转换成上面这样的表决器 就好像电路有了人类逻辑思考 的能力 第六季 图灵机 和 累加器 总算要说到计算机的祖师爷图灵 Turing 了 图灵机模型 相比上面说到的逻辑电 路 要多一个 存储器 因为根据图灵机模拟人类计算时大脑的工作状态的模型 人类的任何计算都可以抽象成一个机械化的过程 考虑 5 7 12 这个加法 5 加 7 等于 12 写下 2 然后心中默记产生一个进位 最终 写成 12 5 7 12 换成二进制 是一个道理 0000 0101 0000 0111 0000 1100 其中每一位的加法还是能分解成两个动作 1 同一位的两个数字相加 2 如果当前位结果大于 1 则向前进一位 第一个动作可能的结果 真值表 有 0 XOR 0 0 1 XOR 0 1 0 XOR 1 1 1 XOR 1 0 这个真值表和一个简单的 异或门 是一致的 第二步进位 只有 1 1 才需要进位 1 所以真值表如下 0 AND 0 0 1 AND 0 0 0 AND 1 0 1 AND 1 1 这和 与门 的真值表是一致的 所以把一个 异或门 和一个 与门 组合到一起 就构成了一个 一位半加器 但事实上一位半加器只适用于末位数的加法 高位的二进制加法需要考虑 3 个输入 就是还需要额外考虑上一位得到的进位 这个过程可以用两个半加器来完成 两个半加器组合起来 构成一个完整的 一位全加器 把 8 个这样的一位全加器组合起来 就构成了一个 八位全加器 从最末尾开始相加 刚才的 5 7 0000 0101 0000 0111 反过来就变成 1010 0000 1110 0000 0011 0000 把最初的进位c in设为 0 得到的结果反过来就是 0000 1100 12 至此 计算机好像拥有了人脑的部分智能 既然一组逻辑门 能计算加法 就一定能 做减法 乘法 除法 和其他计算 第六季 寄存器 加减乘除远远不是逻辑门能做的全部事情 实际上电脑里出了硬盘 风扇 电池 其 他几乎全是由逻辑电路和逻辑门组成的 包括我们说的内存 说内存先要说一下寄存 器 这东西我觉得是比 CPU 更神奇的一个东西 绝对是一大黑魔法 用几个简单的逻 辑门 就能在不断电的情况下一直 记住 上次的输入值 最简单的储存部件叫 SR 锁存器 Latch 其实就是两个 或非门 再看一眼或非门的真值表 只有两个输入都为 0 才输出 1 0 NOR 0 1 1 NOR 0 0 0 NOR 1 0 1 NOR 1 0 其中具体电流怎么通过互相博弈达到稳态的细节就不展开了 总之这个黑科技的最终 效果就是 假设初始状态都是零 S 0 R 0 输出 Q 0 0 当 S 端给个信号 1 输出 Q 1 0 当 S 端变回信号 0 输出还是保持 Q 1 0 也就是说 这个元件记住了之前 S 端的输入 1 直到我们把 R 端设为 1 输出 Q 才变 回 0 虽然这个 SR 锁存器离我们真实的 RAM 内存 还很遥远 但让逻辑门产生 记忆 的核心逻辑稳态锁就是这么简单的两个或非门 当我们把 SR 锁存器的两个输入端捏合成一个 D 输入端 再加上一个由时钟信号控制 端 E 就得到一个更高级的 时序 D 锁存器 如果不想头痛 只要记住这是一个能 在时钟开关 E 打开的情况下 记住 D 输入端进来的信号的装置 之后我们一直可以从 Q 端得到之前 D 端的值 如果再复杂一点 把两个相反的时序 D 锁存器组合在一起 就能构成一个 D 触发器 D Flip Flop 触发器和之前的锁存器的区别是 只有当时钟信号处在上升沿 从 1V 向 5V 跃迁 的 一瞬间 D 端的输入值才能写入触发器 并在随后的时间内 只要没有新的 D 输入写 入 Q 一直保持这个值 D 触发器离我们的内存就没那么远了 只要再套上一个用于寻址的 解码器 和之前 说过的 选择器 就能实现从特定一组触发器中读取数据的效果啦 所以我们都知道 CPU 需要时钟来同步时序电路 但这个晶振时钟并不是像想象的那样 直接作用在 ALU 逻辑运算单元 上 而是通过寄存器来实现时序控制 感兴趣的可 以看这个回答 为什么 CPU 需要时钟才能工作 胖胖的回答 第七季 硬件 V s 软件 虽然 几乎所有计算都能设计出一个专门的逻辑运算器 但这样做似乎并不明智 否 则逻辑部件的数量将以指数级增长 一个合理的方案 应该是用硬件实现部分必须的 基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论