标签:rip xor 理解 alt add 疑问 完成后 shift 基础
微型计算机的组成和通用计算机组成相似,最大的特点是微型计算机采用总线结构(通常是三总线结构AB、DB、CB),如图(这张图很重要,理解了这张图,基本上单片机的架构就理解了),地址总线是单向总线,CPU通过地址总线发送地址寻找内存单元地址(寻址),然后将数据通过双向数据总线进行传送,控制总线用来传送控制信号,控制整个系统有序进行;
再具体一点,一个单片机的基本组成架构可以用下面这张图来表示
MCU Structure
——CPU
——Memory
——Peripheral
存储器和片上外设在此不作详细介绍,因为微处理器是微机核心,所以重点深入说微处理器:
微处理器就是一块CPU,CPU全称为Center Process Uint(中央处理单元),那它处理什么呢?毫无疑问,数据!
1、怎样处理数据?
数据处理最基本的是可以对数据进行逻辑运算,包括算术运算(add,subtract,multiply,divide),逻辑运算(and,or,not,xor),位运算(shift,rotation);完成这个工作的单元叫做ALU(Arithmetic Logic Unit,逻辑运算单元),高级的单片机还可以进行浮点运算(例如STM32F429拥有浮点运算单元),ALU的大致结构如图:A,B是两个操作数,S0,S1决定进行哪个运算,S2,S3决定输出哪个结果;
所以,ALU要进行运算,需要提供至少两个操作数,对外输出运算结果,以及一些进位标志,还需要告诉它要进行什么运算,下面一一解决这些这些问题;
2、标志位放在哪?
标志位主要有四个:零标志位,负标志位,溢出标志位,进位标志位,这些标志位都存放在一个专用寄存器PSW中——程序状态寄存器,方便别的单元查询,每执行一条指令,这些标志位都会更新;
3、操作数来源于哪?运算结果存放在哪?
操作数一般来源于数据存储器中,也就是RAM中,也可以来源于通用寄存器组中;
在计算完成后运算结果一般被重新写回数据存储器中或者通用寄存器组中;
4、谁控制这一切的自动运行?
什么时候送入操作数进行计算?进行什么计算?什么时候读取计算结果和标志位?这些工作都是在控制单元的控制下有序进行的;
控制单元主要通过解析指令确定需要执行何种操作以及数据流向的;
(控制单元的工作时钟是时钟电路提供的,这不属于CPU的范畴)
5、控制系统解析的指令来源于哪?
单片机运行的程序其实就是一系列指令的有序组合,存储在程序存储器中,这些指令依次进入CPU执行;CPU通过寻址来找到这些存储在ROM中的指令,指令地址保存在程序计数器PC中;
标签:rip xor 理解 alt add 疑问 完成后 shift 基础
原文地址:https://www.cnblogs.com/Mculover666/p/8930852.html