关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » HTML5 »揭开计算机的神秘面纱

    揭开计算机的神秘面纱

    2015-02-28 00:00:00 出处:ImportNew - 进林
    分享

    写在前面的话:从接触电脑以来,就一直对电脑充满好奇。当电脑连接上电源,按下开机键,我们就可以做所有我们想 做的事情,打游戏、写文章、看电影、搭建web服务器、自己写程序等等。随着接触电脑的时间越长,反而对电脑更加的陌生,不断的问自己,计算机到底是怎么 组成的?为什么就能够实现这些功能?假如让我穿越回多少年前,该如何搭建一台电脑?恰好这几天读完这本书《code:the hidden Language of computer hardware and software》,确实一本好书,许多的疑惑得以解开,这篇博客就写写那些深深触动我的点,我认为,理解了这些点,也就理解了整本书的内容,进而理解了 计算机是怎么回事。

    =====正文开始========

    1.继电器

    看下面两幅图:

      

    (1)左图中:一个铁芯,缠上一些线圈,当没有通电时,开关A是断开的,Out端没有电压,我们认为输出为0.

    (2)右图中:当线圈通电后,铁芯被磁化,相当于变成了一块磁铁,进而可以吸引上面的开关A,Out端有电压,我们认为输出为1.

    上面这么一个小小的简单的东西,就是继电器,它的意义非凡,因为我们可以人为的去控制:输出0和1了。

    虽然在计算机中,继电器逐渐被真空管、晶体管取代,但是他们要实现的作用是一致的:输出0和1。

    2.二进制

    我们生活中采用十进制,可是计算机内的计算采用二进制,我认为这是非常重要的改变。请看下面的逻辑:

    (1)二进制只有0和1,进而也导致二进制的加减乘除的结果只有0和1,二进制的与或非的结果也只有0和1

    (2)进而可以将二进制的加减乘除与二进制的与或非进行等价

    (3)而继电器可以输出0和1,因此可以通过继电器的各种”变着花样的组合“实现各种与或非

    (4)因此可以通过继电器的各种”变着花样的组合“实现二进制的加减乘除运算。

    理解了上面的逻辑,接下来要做的仅仅是实现所需功能而已。如何实现功能,也只是时间而已,下面贴一些图,展示一下如何通过继电器实现复杂的逻辑 结构,作为一个实现思路的引子,而实现各种自己想要的逻辑,经过几个夜晚的苦思冥想,是可以想出来的,假如不想自己去想,那么可以看看Code一书,算作 一个捷径。

    继电器实现逻辑与

    继电器实现逻辑或

    继电器实现半加器

    继电器实现全加器

    不要被上面的图吓到,他们仅仅是继电器的变着花样的组合而已,假如我们沉下心来,也可以实现这样的组合,甚至可以实现更多我们所需要的,比如8位加法器、减法器、乘法器、除法器等等。

    于是我们已经能够实现了计算机中CPU的一个重要功能:逻辑运算。

    然而上面的操作,例如输入,都需要我们人为的去操作,我们可以去想象一下:一个人坐在那里,拨着开关,进行着操作,是多么的枯燥。假如实现自动运行,也就是说无需人为的操作,实现0、1的输出,是多么好的一件事清,我们确实也可以做到,接着往下看。

    3.另外一种连接方式的继电器:反馈

    看下面两幅图:

    左图中,继电器没有通电的时候,继电器上面的开关B是闭合的;右图中,一旦给继电器通电(也就是开关A闭合),奇妙的事情就发生了:

    (1)继电器通电,会吸引上面的开关B,进而使电路断开。

    (2)电路一旦断开,开关B又恢复原位,使电路接通。(注意开关A一直是闭合的)

    (3)上面两个过程自动重复进行下去了。

    上面实现了这样的一种可能:继电器的输出可以在0和1之间自动完成,而能够自动完成的根本原因,在于下面两点:

    (1)继电器在断电的情况下,开关B是闭合的(常闭型继电器),而前面的讲到的继电器在断电的情况下,开关B都是断开的(常开型继电器),这是一点不同。

    (2)继电器的输入和输出没有分开,而是组成了一个回路,确切的说:是有反馈了。

    经过上面两点小小的改变,我们可以利用这种思想,实现一系列其他所需的功能:

    (1)我们可以实现RS触发器              (2)我们可以实现D触发器:实现对1位数据的保存。

                 

    其中D触发器可以称为1位锁存器;通过对D触发器的各种变着花样的组合,我们可以实现边沿电源触发的触发器,进而实现多位锁存器;

    通过将边沿触发的D触发器的输出反馈至输入,我们又可以实现分频器,进而实现计数器,同时计数器可以作为各个部分的时钟触发信号。

    假如忽略上面的细节,我们知道我们已经可以实现锁存器、计数器、时钟信号。

    于是锁存器构成了CPU中的寄存器和电脑中的内存RAM以及显卡的显存RAM;

    计数器和时钟信号构成了计算机中的时钟驱动信号。

    4.总线

    上面我们可以说已经实现了CPU和RAM(内存、显 存),一旦将CPU与RAM连接,在能够自动运行的时钟信号的驱动下,CPU和RAM就能够协同工作实现所需的功能。CPU与RAM连接后,既可以实现 RAM的输出给CPU进行运算,又可以实现CPU的输出给RAM进行存储。

    这些的输入输出都是通过实实在在的导线连接的。为了不至于使导线密密麻麻的难以辨识,我们可以对各个电路部件进行”各种变着花样的组合“,并把线路梳理清楚,总结为三种线路:数据总线、控制总线、地址总线。

    (1)数据总线:上面传输的是数据,假如能够传输8位,那么就说数据位宽为8位。当然这里8位也是与前面提到的锁存器的位数是对应的;也可以说是与CPU中的寄存器的位数是对应的,其实都一回事。

    (2)地址总线:地址总线也一根根的实际的导线,通过这些导线,就可以能够方便的选取RAM中的特定的锁存器;地址总线的数目决定了能够寻址的最大RAM。

    (3)控制总线:传送控制信号,实现特定的控制功能,比如确定是读RAM中的数据,还是往RAM中写入数据。

    还是要说上一句:这些线都是实实在在的导线。

    5.机器语言

    总线上面传输着0和1信号,通过0和1信号的各种变换,表示着传送不同的信息;RAM具有存储的功能,因此我们可以把一下0和1的信息存储进RAM,进而就可以让CPU去执行该命令了,这些命令就可以称为机器语言。

    机器语言的0和1我们可以通过开关等多种方式写入RAM中,毕竟RAM是可以存储信息的;假如每次都写01太繁琐和不方便,于是将这些01的代 码用特定的符号表示,出现了汇编语言,汇编语言变成01代码的机器语言,需要通过汇编程序来实现,而汇编程序将汇编源程序汇编成机器代码,其实就是去查一 下机器代码和汇编符号的对照表格而已。

    随着时间的发展,高级语言也相应出现了。

    CPU本质上来说是由继电器构成的,确切一点是晶体管构成,不同的公司的不同工程师造出来的cpu,相应的构成也会有一些差别,导致机器指令代码也就不同,于是出现了不同的指令集,如X86指令集,RISC指令集等等。

    6.外部存储介质

    前面提到的RAM,本质上是由继电器构成的,确切的说是由半导体构成,这都无所谓,他们都有一个共同的特 点:当断电的瞬间,一切都没有了,为什么呢?因为电这个东西比较奇怪,说没就没了,假如想要长久的存储数据,得需要其他的方式:例如通过磁性物质来存储, 于是出现了磁带、磁盘;通过光信息来存储i信息,如光盘;以及其他的东西:如ROM、Flash等。

    计算机的构成越来越复杂,以至于掩盖我们内心最初的好奇与冲动。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    windows 7应用程序无法启动出现窗口提示找不到应用程序

    SQL中数据类型转换函数的使用

    MySQL使用变量的注意事项

    SQL Server 锁自定义的示例演示

    如何在Linux命令行中创建以及展示演示稿

    windows 7任务栏显示标题的方法(windows 7任务栏缩略图不显示出

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。