一、计算机硬件的五大单元
- 五大单元
输入单元、 输出单元、CPU 内部的控制单元、算数逻辑单元与主存储器五大部分。
CPU:具有特定的功能的芯片,含有微指令集,内部含有的两个主要的单元,算数逻辑单元和控制单元。算数逻辑单元主要负责程序运算和逻辑判断,控制单元主要协调各周边组件和各单元的间的工作。
主存储器:CPU读取的数据都从主存储器中来。其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。主存储器是按地址存放信息的,存取速度一般与地址无关。如DDR3。
输入单元:包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触控屏幕等。
输出单元:例如屏幕、打印机等等。
二、 CPU 的架构
我们所使用的软件都要经过 CPU 内部的微指令集来达成才行。那这些指令集的设计主要又被分为两种设计理念,这就是目前世界上常见到的两种主要 CPU 架构, 分别是:精简指令集 (RISC)与复杂指令集 (CISC) 系统。
精简指令集 (RISC):每个指令的运行时间都很短,完成的动作也很单纯,指令
的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成。
目前世界上使用范围最广的 CPU 可能就是 ARM 这种架构。
复杂指令集 (CISC): CISC 在微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂, 每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长, 但每条个别指令可以处理的工作较为丰富。
常见的 CISC 微指令集 CPU 主要有 AMD、Intel、VIA 等的 x86 架构的 CPU。
64 位 CPU 代表 CPU 一次可以读写 64bits这么多的数据。
三、CPU 的细节
1)运算器:算术逻辑单元(ALU)以及一些列的寄存器构成,其中累加寄存器、商除寄存器、操 作数寄存器(运算器必须含有的三大寄存器)等寄存器。
2)控制器:由三部分构成,包括控制单元、程序计数器(PC)、指令寄存器(IR)。
3)通用寄存器:暂时存放操作数的寄存器。
4)内存地址寄存器(MAR):存放来自内存的操作数的地址。
5)内存数据寄存器(MDR):存放来自内存操作数本身。
主存(内存)还有CPU内部的寄存器MDR和MAR。
内存本质上是一个存储字节的线性数组,这个数组中的存储单元存储着数据、指令等内容,每一个存储单元旁边都有唯一的二进制地址来对其进行唯一的标识。
程序执行的过程:
1、一个程序当中包含指令和数据两大部分,当一个内存中的进程(程序的一次运行、也可以看作是程序的抽象)运行需要调用处理器(CPU)时,处理器需要获取进程当中相应的指令以及数据。
2、CPU从内存中读取数据和指令的时候,二者之间的控制总线会提前发出命令,判断CPU要从内存当中进行读操作还是写操作,判断是读操作以后,内存中的指令的地址会通过地址总线到达MAR,然后由MAR传输给PC,由PC对指令进行保存。
3、接下来指令会通过数据总线到达MDR,由MDR传输给IR,由IR分析以后将指令的操作码传输给CU(控制单元)有控制单元对指令的操作码进行译码,来识别指令想要进行什么样的操作,而指令的地址码则会由IR传输给MAR,由MAR通过控制总线、地址总线去内存里面将相应的数据取出来,放到CPU的通用寄存器当中。
参考:
https://blog.csdn.net/weixin_59658448/article/details/125883768#_26