-
程序本身数据是存放在硬盘中的,需要被加载进内存才能被执行,CPU被设计成只能从内存中读取数据,处理完数据再将结果写入内存,然后可持久化到硬盘中。
-
内存和磁盘:首先,在计算机中保存信息的有两类,一类是内部存储器,即我们说的内存,特点是存储信息速度快,但容量不大,而且很重要的一点是一断电就会丢失信息;第二类是外部存储器,就是磁盘,特点是存储的数据不会受到断电的影响,但速度比内存慢很多。
接下来是磁盘的分类,主要有硬盘和软盘两类
磁盘缓存:磁盘缓存是在内存中,而且这里的磁盘一般是指硬盘。磁盘缓存是指把磁盘中读取到的数据保存到内存中,下次读取该数据的时候不会再从磁盘中读取,而是直接从内存中读取。
**CPU缓存:**这个很熟悉,因为CPU速度快内存慢,为了解决这一速度差异问题
虚拟内存:(直接copy) 程序需要加载进内存供CPU读取运行,如果内存空间不够,如何运行大内存程序呢?比如说现在内存空间仅剩10M,但是现在有个大小20M的程序需要运行,在没有虚拟内存的情况下,这个程序是无法被运行的,但是有了虚拟内存就可以,虚拟内存通过特定技术把磁盘中的一部分容量作为内存来使用,也就是说会把这个20M大小的程序的部分数据存放在磁盘中的这块虚拟内存中,然后在真正的内存中也存放部分这个程序的数据,在运行这个程序的时候,如果所需要的数据没有在内存中,而是在磁盘中的虚拟内存中,那么就会发生数据交换,把虚拟内存中需要现在用到的数据与内存中这段程序暂时不用的数据进行交换,以此来保证程序的正常运行。这就是虚拟内存。 -
CPU主要做的四件事情:
——从内存中读取数据,然后放到寄存器中
——把寄存器中的数据写入到内存
——进行数学运算和逻辑运算(加减乘除,AND,OR)
——依据相应的条件进行跳转,执行其他指令(一条指令跳转到另一条指令) -
CPU的结构:
1)运算器
可以看作是一个数据加工厂,就是对寄存器中的数据做运算,这些运算包含基本的算术和逻辑运算。
接下来介绍运算器的几个重要角色:
——算术逻辑单元(ALU)
主要负责对数据的处理,从而实现对数据的算术和逻辑运算
——累计寄存器(AC)
ALU处理完算术运算和逻辑运算后,会得到一个结果,结果会保存在AC中
——数据缓冲寄存器(DR)
也是存放数据的,从内存中读过来的数据会暂时存放在这个DR中,相当于内存和CPU之间数据传送的一个中转站,能起到速度缓冲的作用
——状态条件寄存器
也是保存某一类数据的,它保存的主要是由算术指令和逻辑指令运行或者测试的结果建立的各种条件码内容,一般分为状态标志和控制标志
2)控制器
控制整个CPU的工作,一般能保证程序的正确执行以及能处理异常事件
——指令寄存器IR
用来保存指令
——程序计数器PC
保存着下一条要执行的指令
——地址寄存器AR
保存着CPU访问内存上的那一块内存内存地址
——指令译码器ID
简单说是对指令做分析
3)寄存器
CPU的大部分就是寄存器,种类有很多,这里不在叙述