软件行业非常迅速,以前流行C,C++java,spring,现在springcloud,docker,微服务,k8s云原生等概念火热,还有各种各样的新技术在不断的涌现出来。但是计算机底层原理 这几十年一直并没有太大的变化,与其不断去尝试新技术,不如耐住性子,深入学习底层的知识,好好修炼“内功”。
计算机的软硬件概念
计算机系统由"软件"和"硬件"2大部分组成
其中软件如果按应用范围分类,一般分为系统软件和应用软件
:
- 系统软件是各类操作系统,如windows、Linux、UNIX等,还包括操作系统的补丁程序及硬件驱动程序,都是系统软件类。
- 应用软件可以细分的种类就更多了,如工具软件、游戏软件、管理软件等都属于应用软件类。
其中计算机硬件经过发展历程:
冯·诺依曼体系结构
1946年,第一台计算机ENIAC诞生,人类进入计算机时代,冯诺依曼和其他计算机科学家们 提出了计算机"存储程序"
的计算机设计理念,即将计算机指令进行编码后存储在计算机的存储器中,需要的时候可以顺序地执行程序代码,从而控制计算机运行。还定义计算机基本结构为 5 个部分,分别是运算器、控制器、存储器、输入设备、输出设备
,这就是冯.诺依曼计算机
。
实线箭头表示 数据线,虚线箭头表示 控制线和反馈线
冯·诺依曼计算机特点:
- 计算机由 运算器、存储器、控制器、输入设备和输出设备 五大部件组成, 侧重于硬件抽象
- 将计算机的计算和记忆分开,负责计算的部分由运算器和控制器组成,负责记忆的部分称为存储器
- 指令和数据均用 二进制数 表示
- 指令和数据以同等地位存放于存储器内,并可 按地址寻访
- 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置
- 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果
或根据设定的条件改变执行顺序
- 以运算器为中心
现代计算机系统与冯·诺依曼计算机差别不大,最大的区别冯·诺依曼计算机 是 以运算器为中心的 ,而现代计算机 以储存器为中心:
接下来,我们分别介绍一下这几个重要组成部分
- 存储器
存储器是用来存放数据和程序。存储器 包含主存和辅存
- 运算器
运算器也叫算数逻辑单元
,是进行算数运算和逻辑运算的部件,在控制器的控制下,对取自内存储器的数据进行算术运算或逻辑运算,并将运算的结果送到内存储器。
- 控制器
控制器用来控制、指挥程序和数据的输人、运行以及处理运算结果。计算机在工作时,控制器首先从内存储器中按顺序取出一条指令,并对该指令进行译码分析,根据指令的功能向相关部件发出操作命令,使这些部件执行该命令所规定的任务,执行之后再取出第二条指令进行分析执行。如此反复,直到所有指令都执行完成。
- 输入设备
输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等
- 输出设备
输出设备可将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输出等。
- 中央处理器(CPU)
由于运算器和控制器在逻辑关系和电路结构上联系十分精密,特别是大型集成电路时代的到来,所以往往会将运算器和控制器集成到同一个芯片上,统称 在中央处理器(CPU),其功能是从内存储器中取出指令、解释指令并执行指令。
- CPU中 还有一个常见的组件,寄存器
寄存器是CPU内部用来存放数据的一些小型的存储区域,用来暂时存放参与运算的数据以及运算结果。寄存器由电子线路组成,存取速度非常快,与CPU的速度相当,寄存器的成本较高,因而数量较少。CPU内部的寄存器类型有指令寄存器、程序计数器、数据寄存器、地址寄存器以及状态寄存器等。
总线
总线
是贯穿整个系统的是一组电子管道,称作总线
,它携带信息字节并负责在各个计算机部件间传递。通常总线被设计成传送定长的字节块,也就是字(word)。字中的字节数(即字长)是一个基本的系统参数,各个系统中都不尽相同。现在的大多数机器字长要么是4个字节(32位),要么是8个字节(64位)。本文我们不对字长做任何固定的假设
另外计算机最小的存储单位
是 字节( byte ) ,1 字节等于 8 位(1Byte=8bit
),而 位/比特(bit) 是计算机最小的数据传输单位
。1 字节等于 8 位(1Byte=8bit)这个换算规则大家需要牢记
我们顺便把内存相关的知识串起来:计算机将8个bit归为一组,为字节,每一个字节都对应一个内存地址。内存的地址是从 0
开始编号的,然后自增排列,最后一个地址为内存总字节数 - 1
。CPU只需要知道某个数据类型的地址, 就可以直接去到对应的内存位置去提取数据了。
总线可分为 3 种:
- 地址总线 ,一般用于指定 CPU 将要操作的内存地址;
- 数据总线 ,一般用于读写内存的数据;
- 控制总线 ,一般用于发送和接收信号,比如中断、设备复位等信号,CPU 收到信号后,通过控制总线进行响应;
-
cpu
+关注
关注
68文章
10824浏览量
211095 -
二进制
+关注
关注
2文章
792浏览量
41593 -
储存器
+关注
关注
1文章
93浏览量
17453
发布评论请先 登录
相关推荐
评论