那些程序跑动中冷僻的知识点(上)

本文深入探讨了程序运行的基础,从半导体、晶体管到集成电路,再到CPU的工作原理,揭示了机器语言为何采用二进制,以及现代计算机如何从早期庞大设备发展到微型化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为像老猫一样的土著程序员,只懂随时发车却不懂如何修车,放弃了基础理论容易翻车,刚巧最近看了半天关于程序运行的书籍,咱分两期聊一聊《那些程序跑动中冷僻的知识点》。
在这里插入图片描述

定场诗:广知世事休开口,纵会人前只点头。假若连头俱不点,一生无恼亦无愁

发车!!! !!!!


引子:
在这里插入图片描述
如果有人问当在服务器上部署了一套可用于外界访问的服务,针对主机(客户端所在电脑也暂且认为是主机)是如何这个服务运行起来的呢,之前我会拿出类似上面的这幅图来聊一聊,从JVM的内部构成,到其是什么编译,解析,装载,双亲委派,但实际上这只是一门高级编程语言运行起来的过程,而不是一个程序能够运行起来的本质原因,刚好近期也看了一本书,希望能够通过阅读这本书加入一些自己的理解和梳理的资料方便自己服务他人。

那么今天主要来聊一聊 什么是半导体,什么是晶体管,什么是集成电路,什么是CPU以及为什么机器语言要使用二进制?


半导体:

半导体( semiconductor),指常温下导电性能介于导体(conductor)与绝缘体(insulator)之间的材料。半导体在收音机、电视机以及测温上有着广泛的应用。如二极管就是采用半导体制作的器件。半导体是指一种导电性可受控制,范围可从绝缘体至导体之间的材料。无论从科技或是经济发展的角度来看,半导体的重要性都是非常巨大的。今日大部分的电子产品,如计算机、移动电话或是数字录音机当中的核心单元都和半导体有着极为密切的关连。常见的半导体材料有硅、锗、砷化镓等,而硅更是各种半导体材料中,在商业应用上最具有影响力的一种。

在这里插入图片描述
有人会说,懵逼,懵逼,要么绝缘,要么导体,怎么叫半导体,难到说手戳电门一会被电一会不会?是的通常意义上你如果有个开关来控制的话的确是这样的,其实对于半导体而言达到的实际效果可能一致,在某种条件下能够导电,在另一种情况下可能又绝缘,说到半导体最最基本的理论-PN结,我还是别误人子弟了,大家有需要可以请点击 PN结的形成原理或视频《史上最通俗易懂的半导体与PN结原理》 详细了解。

PN结:采用不同的掺杂工艺,通过扩散作用,将P型半导体与N型半导体制作在同一块半导体(通常是硅或锗)基片上,在它们的交界面就形成空间电荷区称为PN结(英语:PN junction)。PN结具有单向导电性,是电子技术中许多器件所利用的特性,例如半导体二极管、双极性晶体管的物质基础。


晶体管:

晶体管(transistor):是一种固体半导体器件,具有检波、整流、放大、开关、稳压、信号调制等多种功能。晶体管作为一种可变电流开关,能够基于输入电压控制输出电流。与普通机械开关(如Relay、switch)不同,晶体管利用电讯号来控制自身的开合,而且开关速度可以非常快,实验室中的切换速度可达100GHz以上。来源:百度百科

上面讲到的总感觉是浮在科学理论的一些知识点上,要想真正的应用到现实生活中呢科学家们做出了卓越的贡献,就像上文讲到的半导体实现的开关理论一样,晶体管可以作为电流的开关,只是这种开关并发物理意义上的开关而是通过电讯号来控制自身的开合来实现,晶体管的发明相较早期的电子管其有着使用寿命高,消耗电能低,不需预热,结实可靠的优点。

2016年,劳伦斯伯克利国家实验室,将现有的最精尖的晶体管制程从14nm缩减到了1nm,完成了计算技术界的一大突破,1nm什么概念,来在你那帅气的空气刘海里拔下一根头发然后把它轴向平均剖成5万根,每根的厚度大约就是1纳米,也就是说你一根头发横截面上可以插入5万个晶体管,这是要上天的节奏。


集成电路
在这里插入图片描述
这是世界第一台计算机“ENIAC”,占地150平方米、重达30吨的庞然大物,里面的电路使用了17468只电子管、7200只电阻、10000只电容、50万条线,耗电量150千瓦,每秒钟可进行5000次运算。

我想,当看到这些数字的时候,或许我们就能够明白集成的意义在哪,对,就是缩小,缩小,再缩小。尤其在现有社会发展过程中,人们对电子电器设备高效,功能,智能,便携的需求越来越高,在有限面积下如何能够最大程度提高和增加更多的电路和功能,所以我们又给它起了一个新的名字,叫做“集成电路”,因为半导体可以把电路“集成化”。或者说,把很多电路的功能都集成在了一起。这就使得在电子行业有个定律即摩尔定律 :当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍,这也能体现出其发展的速度惊人。


二进制:

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0

有很多人以为有了电脑的诞生才有了二进制计数的产生,其实是完全搞错了,早在1697年德国的莱布尼茨就已经确定了二进制的数学学说。说到二进制和我们的周易文化还有着一些渊源。
莱布尼茨1697年已完成了论文《二进制算术》的理论著作,1701年莱布尼茨给在北京的法国传教士白晋(康熙的数学老师)的信中提到了“二进制”。白晋收到信后感觉莱布尼茨的“二进制”似乎与中国的八卦图形有某种联系,比如八卦中的阴爻“——”就像“二进制”中的“0”,阳爻“——”就像“1”。于是他在回信中说明了自己的这个想法,并且把一幅“伏羲六十四卦方位图”一并寄回
在这里插入图片描述
莱布尼茨见到那张六十四卦图后发现与自己的研究成功及其相似于是就发表了一篇叫《关于只用两个记号0和1的二进制算术的解释——和对它的用途以及它所给出的中国古代伏羲图的意义的评注》的文章到国际权威杂志上

因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。

嗯,作为程序员以后如果有人问你会不会周易八卦,那必须略知1,0!


CPU芯片:

在这里插入图片描述
IBM Think 2018大会上,IBM展示了号称是全球最小的电脑,该微型电脑的尺寸为1毫米×1毫米,比一粒盐还小,制造成本不到10美分。该微型电脑具有带“数十万”晶体管的处理器、SRAM存储器、用于供电的光伏电池以及使用LED和光电检测器与外界通信的通信单元

在这里插入图片描述
上面讲了半天,终于来到了和电脑有关系部件,CPU是使用纯净的硅材料制造出来的。CPU芯片内部集成了上百万个微型晶体管,想想上面讲到的微的处理器如果是在第一台计算器诞生的时候需要集成上百万个晶体管这个工作量和所需要的场地是不可想象的,而且这仅仅是CPU 所集成的。正因为上文也提到晶体管所具有的电子开关的能力,从而确定了在开和关之间的正好能够映射为二进制中的0和1,这种方式使得人们又能力来使用电脑具有了信息处理的能力(从上到下费这么大劲,就是为了说明白物理上的矿物质,电流等怎么就能操作电脑???)。CPU并不是一个装东西的罐子,其内部也有着严谨的沟通和会话机制,按照当前的职责分配方式可定义为以下几部分:
在这里插入图片描述

  • 寄存器:可用来暂存指令、数据等处理对象,可以将其看作是内存的一种。根据种类的不同,一个CPU内部会有>20~100个寄存器
  • 控制器:绝对的统治者,其负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果向相应的部件发出微操作控制信号从而来控制整个计算机。
  • 运算器:算从内存读入寄存器的数据,可执行算术运算和逻辑运算,该模块是基于控制器发出命令而进行操作的。
  • CPU时钟:时钟负责发出CPU开始计时的时钟信号
  • 程序启动后,根据时钟信号,控制器会从内存中读取指令和数据。通过对这些指令加以解释和运行,运算器就会对数据进行运算,控制器根据该运算结果来控制计算机

在这里插入图片描述

关于CPU内部的生命周期运行过程,从此图已经描述的非常清晰,CPU控制单元在指令计数器所指向的指令下将即将要执行的指令推送到地址总线中,随即CPU控制器将指令读取到指令寄存器临时存储,一旦需要执行则从指令寄存器中读出,并通过微操作控制信号控制存储单元和运算单元,对于命令执行的结果进行数据存储,在这个过程中CPU时钟起着非常重要的角色,他会计时并进行cpu时间片的切换 从而不断的重复上面的过程


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值