学习视频:B站
1.2_1 计算机硬件的基本组成
计算机组成的五大部件:
输入设备:将信息转换成机器能识别的形式;(采购部门)
输出设备:将结果转换成人们熟悉的形式;(销售部门)
运算器:算术运算,逻辑运算;(生产加工部门)
存储器:存放数据和程序;(仓储部门)
控制器:指挥程序运行。(霸道总裁)
ps:在计算机系统中,软件和硬件在逻辑上是等效的。
早期冯·诺依曼计算机:以运算器为中心。
现代计算机:以存储器为中心。
冯·诺依曼计算机特点:
1、计算机由五大部件组成
2、指令和数据以同等地位存于存储器,可按地址寻访
3、指令和数据用二进制表示
4、指令由操作码和地址码组成
5、存储程序(将指令以二进制码的形式事先输入计算机的主存储器,即内存中)
6、以运算器为中心(输入/输出设备与存储器之间的数据传送同个运算器完成)
现代计算机的结构
现代计算机:CPU = 运算器 + 控制器
主存:即 手机参数中的【运行内存】。(内存)
辅存:即 手机参数中的【机身存储】。(电脑里的机械硬盘,固态硬盘)
ps:
手机里的APP是安装到辅存中的。
只有当app需要启动运行时,才将辅存中app相关的程序数据、代码数据读到主存中。
指令会放到控制器中,由控制器解析指令的含义并发出相应的控制信号。
主存储器和CPU,统称为计组中的主机。
知识回顾与重要考点
1.2_2 各个硬件的工作原理
主存储器的基本组成
存储体:用于存放数据(按地址存储)。(由可存放0和1的一系列存储元件组成)
MAR 存储地址寄存器:存放和地址相关的数据。
MDR 存储数据寄存器:存放实际的数据。
(寄存器其实也是用于存放数据的)
CPU想从主存储器中获取数据时:(CPU读出数据)
1、CPU将数据的存放地址写到MAR中;
2、主存储器根据MAR中接收到的地址信息,从存储体中拿出相应的数据;
3、主存储器将拿出的数据写到MDR中;
4、CPU通过数据线路从MDR中取走想要的数据。
-------------------
CPU想将数据写入到主存储器中时:(CPU写入数据)
1、CPU在MAR中指明想要写入的位置(即数据的存放地址);
2、CPU在MDR中放入 要写入的具体数据;
3、CPU通过控制总线告诉主存储器当前想执行的操作是写操作而不是读操作;
4、主存储器根据以上三个信息(数据地址、具体数据,当前操作),就可以往对应的位置写入CPU想写入的数据。
数据在存储体中按地址存储。
一整个存储体会被分成多个存储单元。
每一个存储单元会存放一串二进制代码。
每个存储单元中的二进制代码,被称为一个存储字(word)。
每个存储字所包含的二进制位,被称为存储字长。(即每个存储单元中可放下的二进制位)
通常每个存储单元可存放的二进制数都是8个bit的整数倍,如8bit、16bit、32bit等常见的存储字长。
每个存储单元会对应一个地址信息(地址是从0开始的)。(该地址信息即MAR中应该指明的地址信息)
存储元:用于存储二进制数据的电子元件(用电容的原理来制造的)。
电容可以存储电荷,因此可以用一个电容存放一个二进制的bit位。
由多个存储元件和相应的电路就可以构成存储单元。
(即每个存储元件,每个存储元可存放一个比特)
∵ MAR指明了要访问哪一个存储单元,即指明存储单元的地址。
∴ MAR的位数直接反映了存储体中有多少个存储单元,即 MAR位数反映存储单元的个数。
---------------
∵ 从存储单元取出的数据是放到MDR当中。
∴ MDR的二进制位数与存储单位是保持一致的,即 MDR为主=存储字长。
(4个二进制位最多只能表示2^4个地址)
一个字节(Byte)=8个比特位,即1B=8bit。
一个字=多少个比特位取决于计算机的结构,即一个字的大小有可能是8bit,或16bit或32bit。(具体要看寄存器硬件是如何设计的)
ps:1B 和 1b 是不同的。
如:
办宽带时显示是100MbPS,但下载东西时只有差不多10m。
即宽度时是每秒可传送100M的比特位,下载时是100/8的比特位。
因为宽带用的是b字,下载东西时的单位是B字节。
运算器的基本组成
ACC:存放【加减乘除或逻辑运算的操作数】,或运算结果。
MQ:只在乘除时用得到,同样用于存放乘除的操作数或运算结果。
x:通用操作数寄存器,简称通用寄存器。(可能会有多个,但理论上只要有一个即可实现想要的算术运算)
ALU:算术逻辑单元,运算器的核心部件,制造成本最高的部件。实现算数运算和逻辑运算。
(前三个寄存器都只是存放一些数据的,硬件构造并不怎么复杂)
控制器的基本组成
CU:控制单元,控制器中最核心的部件,【分析指令】,给其他部件发出控制信号。(霸道总裁的老婆)(分析指令后,控制其他部件完成指令)
IR:指令寄存器,用于存放当前执行的指令。(取完指令后放在该处,再给CU分析)
PC:程序计数器,存放下一条指令的地址,能自动+1。(取指令)
完成一条指令:(取指令,分析指令,执行指令)
1)PC 指向下一条指令的地址,并根据地址从内存中取出指令;
2)IR 存放取出的指令,即当前要执行的指令;
3)CU 分析指令,分析完后控制其他部件配合完成指令的具体执行。