【微机原理】CPU 的结构和功能
CPU 的结构和功能CPU基本介绍中央处理器central processing unit简称CPU是电子计算机的主要设备之一电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令对指令译码并执行指令的核心部件。图形处理器英语graphics processing unit缩写GPU又称显示核心、视觉处理器、显示芯片是一种专门在个人电脑、工作站、游戏机和一些移动设备如平板电脑、智能手机等上做图像和图形相关运算工作的微处理器。CPU主要功能指令控制取指令、分析指令、执行指令操作控制以若干微操作实现指令时间控制控制操作执行时间、避免冲突数据加工对数据进行算术和逻辑运算中断处理对异常情况和特殊请求进行处理逻辑电路原理门电路组合逻辑电路半加器全加器乘法器乘法运算最终可分解为一系列的移位、相加操作。如对数字5进行2乘本质上是寄存器数据向左位移一位5101101010 5 101 \\ 10 10105101101010而对数字数字5进行3乘则是寄存器数据向左位移一位并再加5。510110101015105101001011111 5 101\\10 1010\\15 10 5 1010 0101 1111510110101015105101001011111触发器触发器FF的作用是存储1bit数据用,4个或者8个并联来保存4位或者8位数据。这种我们称之为寄存器Register。选择器判断基于门电路、运算电路、存储、判断电路等可以进一步实现循环等功能。从而达成计算机的基本要求图灵完备性汇编语言0100数据读入寄存器 0001数据与寄存器相加结果保存到寄存器 0010寄存器数据向左位移N位乘2^N0100 0001 寄存器存入1 0001 0100 寄存器的数字加4 0010 0001 乘2 0001 0011 再加三MOV 1 寄存器存入1 ADD 4 寄存器的数字加4 SHL 1 乘2 ADD 3 再加三CPU工作原理CPU设计思想在第一个计算机诞生的时候虽然采取了最先进的电子技术但缺少设计思想上的指导导致很多逻辑都是硬化在电路板上软硬件耦合严重。这会造成一旦修改程序就要重新组装电路板的问题这样的编程效率很低。致使编程最开始的本质是把线来回插冯·诺依曼提出了一个至关重要的设计思路计算机要有一定的逻辑结构将软硬件分离要求CPU顺序地从存储器中取出指令和数据然后进行相应的计算主要的思想二进制程序、数据的最终形态都是二进制编码、存储在存储器中二进制编码也是CPU能够识别、执行的编码指令、数据可存储指令序列和数据存在主内存储器中以便于CPU在工作时能够高速地从存储器中提取指令并加以分析和执行计算机组成确定了计算机的五个基本组成部分运算器、控制器、存储器、输入设备、输出设备冯诺依曼机结构框图CPU具体架构CPU主存框架CPU CORECPU CORE是一种根据指令进行各种处理的电子电路。一般由控制器、运算器、寄存器组成。控制器控制器又称为控制单元Control Unit简称CU是计算机的指挥中心只有在它的控制下整个CPU才能够有条不紊地工作、自动执行程序。CU包括指令寄存器、指令计数器其中指令寄存器存放当前正在执行的指令指令计数器总是指向下一条要执行指令的地址。CU的工作流程为从内存中取指令、翻译指令、分析指令。然后根据指令的含义向有关部件发送控制命令控制相关部件执行指令所包含的操作。运算器运算器是一个负责算术运算和逻辑运算的模块主要包含算术逻辑单元Arithmetic Logic Unit简称ALU和浮点运算单元Floating Point Unit简称FPU。大多数通用CPU是以16、32、64位数据作为运算器一次处理数据的长度即CPU位数。ALU的主要功能在控制信号的作用下完成加、减、乘、除等算术运算以及与、或、非、异或等逻辑运算以及移位、补位等运算。寄存器寄存器的主要功能是存储数据、地址及指令并且能够高速、自动地完成数据的存储。寄存器是有记忆功能的器件而且采用两种稳定状态0或1来记录数据信息所以CPU中的程序和数据都要转换为二进制才可以存储和操作。地址映射物理地址物理地址缺陷用户程序可以寻址内存的任意一个字节它们就可以很容易地破坏操作系统从而使系统停止运行。物理地址寻址方式使得操作系统中同时运行两个或以上的程序几乎是不可能的。虚拟地址内存映射单元MMU作为CPU和物理地址间的中转。CPU中每个进程都拥有一个自己的虚拟地址空间MMU负责将记录对应映射将虚拟地址转化为物理地址。每个进程可以有相同的虚拟地址MMU会将其映射到不同物理地址中这有助于防止非法访问、实现进程的独立性。Cache由于CPU与内存之间存在很大的速度差两者相差上百倍那么我们可以把内存中的部分代码提前加载到访问更快的Cache里面以减少数据读取的时间开销存储介绍运行过程CPU从cache或主存中取出指令然后放入指令寄存器控制器对该指令进行译码。最终把指令分解成一系列的微操作然后发出各种控制命令执行微操作序列从而完成一条指令的执行。指令的构造如下取址将一条指令从cache或主存中获取指令 到指令寄存器的过程。译码在指令译码阶段指令译码器按照预定的指令格式对取回的指令进行拆分和解释分解成一系列的微操作。执行此阶段是完成指令所规定的各种操作实现具体指令的功能。访存根据指令需要有可能要访问主存读取操作数这样就进入了访存取数的阶段。写回结果写回Write Back简称WB阶段 一 般把执行指令阶段的运行结果数据写回到内部寄存器中以便被后续的指令快速地存取。CPU中断在正常情况下CPU 可以顺序执行也可以分支执行这些总归是按照既定顺序去执行。现实中有时需要暂时中断CPU的当前执行流让CPU去做点其他的工作再回头来继续原来的执行流。因此CPU硬件提供了一种中断机制可以先让CPU停下等异常或中断服务程序执行完后再切回来保存PC保存当前的 PC 的值到内存的某个位置修改PC修改PC 的值让执行其他执行流回原PC其他执行流执行结束之后通过将刚才保存的 PC 值恢复到PC 寄存器现实中有时需要暂时中断CPU的当前执行流让CPU去做点其他的工作再回头来继续原来的执行流。因此CPU硬件提供了一种中断机制可以先让CPU停下等异常或中断服务程序执行完后再切回来保存PC保存当前的 PC 的值到内存的某个位置修改PC修改PC 的值让执行其他执行流回原PC其他执行流执行结束之后通过将刚才保存的 PC 值恢复到PC 寄存器继续原执行流继续中断前的执行流