本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。
继上一篇外甥问我计算机问题之后,外甥女就显得格外勤奋了,竟然也对计算机感兴趣了
生活中有一类人特别让人害怕,就是突然 对某件事非常感兴趣
也不知道是真的感兴趣了,还是觉得我对他弟偏心了,哈哈
不管咋说,这姐弟俩是非常优秀的,碾压我姐弟俩一大截,是真的后浪
上次发文章之后,外甥女晚上发消息问我 计算机是如何组成的?
本篇文章就来唠唠这个问题
因为外甥女是医学类专业,对计算机了解犹如我对女孩子的了解一般生疏
所以先说点简单的问题和一些专业名词介绍
什么是计算机
说一个小故事,看下有没有相同经历
接触计算机是因为计算器的经历
就这个东西,应该没人没用过吧,让我接触了计算机
初中那会已经有函数概念了、也在解二元一次方程了,中考是允许用计算器的
中考之前老师会让我们练习计算器的使用
那时候买不起计算器,日常练习的时候都是借别人的计算器使用
可那时候我偏偏分不清计算器和计算机,总有那么几次把计算器说成是计算机
此时那个女同学就用一个让我非常不能理解的眼神看着我,然后冷冷的回答道 没有
我在想这女同学咋回事啊,明明在桌子上却睁眼说瞎话,难道她是真的视力障碍了
年纪亲亲摊上这事,真是替他未来的男朋友了担忧,细思极恐啊,我赶紧换一个女同学询问
当然这个计算器,还有另外一个大妙处,在我们的成长岁月中 他是一个信息载体
初中时载着给女孩的 小纸条、表白信 ;老师不让上课说话,此时计算器变成了 电话线,承载着老师不能懂的秘密
高中那会开始用点高级功能了,考试的时候 他会载着好学生的答案 驶向每一个像我一样优秀的少年
还有一个高级功能就是表白,土豪学生表白都是送贺卡、送奶茶,而我只能让这计算器 物尽所能
此时他会载着 我的一时才华和绵绵爱意,驶向那个从来不敢正视的女神
女神收到计算器的一瞬间嘴角上扬,而我的心 也随之欣喜若狂,世界此时都在微笑
言归正传哈,女孩到是没有的事,不过从此我对计算机有了概念了,产生兴趣了
计算机,俗称电脑 ,是一种高速计算的电子计算机器,可以进行数值计算、逻辑计算还具有存储记忆功能
看来我冒然的把计算器称为计算机也不算太离谱,起码都具有计算功能
一些名词解释
CPU:中央处理器是计算机系统的运算和控制核心模块,分为运算器和控制器
下面这图是CPU的工作原理
- 取指令:即将一条指令从主存储器中取到指令寄存器的过程
- 指令译码阶段:取出指令后,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法
- 执行指令阶段:执行具体指令的功能,例如sum=a+b
存储器:许多存储单元的集合,按单元号顺序排列
存储器分为主存(内存)、辅存(磁盘)和缓存
主存用于存放活动的程序和数据,其速度高、容量较小、每位价位高
外存主要用于存放当前不活跃的程序和数据,其速度慢、容量大、每位价位低
缓存主要在两个不同工作速度的部件起缓冲作用
计数器:用来指示当前指令在主存中的位置,当 一条指令被取出后,PC中的数值将根据指令字长度自动递增
内存地址:内存地址是一种用于软件及硬件等不同层级中的数据概念,用来访问电脑主存中的数据,也就是上面说的存储单元的单元号
程序:存放在磁盘文件中的可执行文件或者源代码
计算机是如何组成的
说完了什么是计算机和一些基本概念,再来说说计算机是如何组成的
为了了解计算机的组成,我是拆过笔记本的,拆完就废了,当然拆的是一个被我淘汰的本
在拆本的那个时候,只有光驱、风扇我能命名,其他的都统称为芯片和集成电路,无法对他们准确命名
要是以一名工程师的身份去拆这个电脑,那这个被拆的电脑透出的价值可能会更大一些
而在那时候,他只不过是一个被我拆过的众多机中满足我好奇心的其中一个罢了
在拆完这个本之后,很长一段时间我认为计算机就是一堆集成电路和芯片组成的
但是在大多数人士看来,一台计算机由主机、显示器、键盘、鼠标和音箱等部件所组成
这种说法当然也没错,只是站在不同的角度来说
今天、站在一名专业的工程师(程序员,oh no 打工人)的角度说说计算机是如何组成的
首先计算机是由计算机硬件和计算机软件两部分组成
硬件部分包括中央处理器、存储器、输入输出设备
软件部门包括操作系统、驱动软件、编译器软件、应用软件等
上图就是计算机的主要组成,这种典型的组成结构就是冯·诺依曼体系结构
当然计算机除了冯·诺依曼体系结构还有一种较为常用的叫做ARM结构(哈佛结构)
既然说到了冯·诺依曼 体系和ARM体系,龙叔就带大家聊聊这块内容
先说冯·诺依曼体系,冯·诺依曼是一位数学家,但是被称为 现代计算机之父,听着头衔就够一个大写的牛掰了
二战期间,美军试图开发全球首台计算机ENIAC,在当时已经有了最先进的电子技术,但是缺乏理论上的指导
美军没办法开发出来,这时,冯·诺依曼出现了
冯·诺依曼的出现,瞬间让计算机发展的步伐走上了一条快速道
- 定义了计算机的组成结构,计算机应包括运算器、存储器、控制器、输入和输出设备五大基本部件。
- 计算机内部应该采用二进制来表示指令和数据。
- 将编好的程序存储在内存中,程序存储思想。
这几点构成了 冯·诺依曼 体系,该体系计算机的特点是 程序存储,共享数据,顺序执行
冯·诺依曼 体系结构的工作示意图
冯·诺依曼除了在计算机领域有杰出贡献,在数学领域、量子理论、原子弹等等领域都有杰出贡献
介绍了 冯·诺依曼 结构再来说说哈佛结构
冯·诺依曼结构是由五部分组成的,哈佛结构的计算机分为三大部件:
(1)CPU;(2)程序存储器;(3)数据存储器。
哈佛结构把程序和数据进行了分离,分别独立为程序存储器和数据存储器,程序存储器和数据存储器采用不同的总线
两个存储器采用不同的总线意味着可以同时读取两个存储器的内容,这点大大提高了程序运行时的访存效率
冯·诺依曼和哈佛结构对比
首先 冯·诺依曼 结构的特点是:
- 单处理机结构,机器以运算器为核心
- 采用程序存储的思想
- 指令和数据都可以参与运算
- 数据以二进制表示
- 软件和硬件完全分离
- 指令由操作码和操作数组成
- 顺序执行
冯·诺依曼结构的缺点:
指令和数据存储在同一个存储器中,形成系统对存储器的过分依赖,计算的效率受到存储设备的影响
指令在存储器中按其执行顺序存放,由指令计数器PC指明要执行的指令所在的单元地址。 然后取出指令执行操作任务。所以指令的执行是串行,影响了系统执行的速度。
存储器是按地址访问的线性编址,按顺序排列的地址访问,利于存储和执行的机器语言指令,适用于作数值计算。但是高级语言表示的存储器则是一组有名字的变量,按名字调用变量,不按地址访问。机器语言同高级语言在语义上存在很大的间隔, 称之为冯·诺依曼语 义间隔。
冯·诺依曼体系结构计算机是为算术和逻辑运算而诞生的,目前在数值处理方面已经到达较高的速度和精度,而非数值处理应用领域发展缓慢,需要在体系结构方面有重大的突破。
哈佛结构的优点:
- 使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存
- 使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联
哈佛结构的缺点:
独立两个存储器导致结构复杂,一个电脑得装两个内存条和两个磁盘
各自都有优缺点,现在主流电脑都使用 冯·诺依曼结构 ,嵌入式设备基本采用的ARM体系结构
以上就是本期的全部内容了,感谢各位阅读,求点赞、求在看、求分享,一键三连就是对我创作的最大鼓励
我是龙叔,一个半吊子架构师,我们下期见