• 【12】理解电路:从电报机到门电路,我们如何做到“千里传信”?


    【计算机组成原理】学习笔记——总目录


    • 本节比较简单,大致了解,可以直接看总结

    引言

    我们前面讲过机器指令,你应该知道,所有最终执行的程序其实都是使用“0”和“1”这样的二进制代码来表示的

    这一讲,我和你一起来看看,计算机在硬件层面究竟是怎么表示二进制的,以此你就会明白,为什么计算机会选择二进制。

    一、从信使到电报,我们怎么做到“千里传书”?

    • 送信:马拉松的故事【派人跑腿,传口信或者送信的方式】
    • 声音传输:中国古代的军队有“击鼓进军”和“鸣金收兵”【“金”和“鼓”类似“0”和“1”,可以组成不同的信息:前进、后退、左转。。 】
    • 光速传输:灯塔、烽火台。

    以上方式,受限于只有“1”和“0”这两种信号,不能传递太复杂的信息,那电报的发明就解决了这个问题。

    • 电报传输的信号有两种,一种是短促的点信号(dot 信号),一种是长一点的划信号(dash 信号)。我们把“点”当成“1”,把“划”当成“0”。这样一来,我们的电报信号就是另一种特殊的二进制编码了。

    • 特点:1.电信号传播的,所以从输入信号到输出信号基本上没有延时;2.输入信号的速度加快了很多。只要一个手指,就能快速发送电报。

    • 摩尔斯密码:电影里最常见的电报信号是“SOS”,这个信号表示出来就是 “点点点划划划点点点”。

    在这里插入图片描述
    制造一台电报机也非常容易。电报机本质上就是一个“蜂鸣器 + 长长的电线 + 按钮开关”。
    在这里插入图片描述

    二、理解继电器,给跑不动的信号续一秒

    距离太长时,电线电阻太大,没有办法成功传输信号。为了能够实现这样接力传输信号,在电路里面,工程师们造了一个叫作继电器(Relay)的设备。【继电器 又叫 电驿

    • 继电器的组成:“螺旋线圈 + 磁性开关”的方式
      在这里插入图片描述

    引出 基本逻辑电路
    有了继电器之后,我们不仅有了一个能够接力传输信号的方式,更重要的是,和输入端通过开关的“开”和“关”来表示“1”和“0”一样,我们在输出端也能表示“1”和“0”了。【输出端的信号 还可以作为后续线路的输入信号】

    “与(AND)”“或(OR)”“非(NOT)”【异或(XOR)】

    • 我们在输入端的电路上,提供串联的两个开关,只有两个开关都打开,电路才接通,输出的开关也才能接通,这其实就是模拟了计算机里面的“”操作。
    • 我们在输入端的电路,提供两条独立的线路到输出端,两条线路上各有一个开关,那么任何一个开关打开了,到输出端的电路都是接通的,这其实就是模拟了计算机中的“”操作。
    • 当我们把输出端的“螺旋线圈 + 磁性开关”的组合,从默认关掉,只有通电有了磁场之后打开,换成默认是打开通电的,只有通电之后才关闭,我们就得到了一个计算机中的“”操作。输出端开和关正好和输入端相反。这个在数字电路中,也叫作反向器(Inverter)
      在这里插入图片描述
      与、或、非的电路都非常简单,要想做稍微复杂一点的工作,我们需要很多电路的组合。不过,这也彰显了现代计算机体系中一个重要的思想,就是通过分层和组合,逐步搭建起更加强大的功能

    电报机输入输错后,不容易纠正,引出现代的计算机

    回到我们前面看的电报机原型,虽然一个按钮开关的电报机很“容易”操作,但是却不“方便”操作。因为电报员要熟记每一个字母对应的摩尔斯电码,并且需要快速按键来进行输入,一旦输错很难纠正。但是,因为电路之间可以通过与、或、非组合完成更复杂的功能,我们完全可以设计一个和打字机一样的电报机,每按下一个字母按钮,就会接通一部分电路,然后把这个字母的摩尔斯电码输出去

    虽然在电报机时代,我们没有这么做,但是在计算机时代,我们其实就是这样做的。我们不再是给计算机“0”和“1”,而是通过千万个晶体管组合在一起,最终使得我们可以用“高级语言”,指挥计算机去干什么

    总结【个人总结的重点】

    • 了解二进制信息传输的演变:
      人送信【跑腿】—>击鼓传声【声信号】—>灯塔、烽火台【光信号】—>电报机【电信号】—>现代的计算机【逻辑电路】
    • 继电器(Relay)的引入:又叫 电驿,起到中继的作用。由“螺旋线圈 + 磁性开关”开关组成。
    • 摩尔斯电码:“点“(代表0)和” 划 “(代表1)信号的组合。SOS的摩尔斯电码:点点点划划划点点点(• • •- - - • • • )

    【计算机组成原理】学习笔记——总目录

  • 相关阅读:
    那个写出最烂代码的程序员,不但进了Google,还财务自由了!
    34基于MATLAB的杨氏双孔干涉条纹,可调节距离,孔的大小等参数,程序已调试通过,可直接运行。
    QT With OpenGL(泛光)(Bloom)
    彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-用户系统EP03
    CTF-综合测试(高难度)【超详细】
    【多线程】进程与线程
    基于C++和C#窗体实现各种无损压缩算法并进行比较分析
    在 Python 中将 Unicode 转换为 ASCII
    【SQL刷题】Day3----SQL必会的常用函数专项练习
    神经网络的优势及特点,神经网络方法特点
  • 原文地址:https://blog.csdn.net/sinat_40003796/article/details/125992939