
从上图中,我们可以看到cpu的内部结构在虚线框中。 8位mcs-51 cpu具有算术逻辑单元alu(算术逻辑单元)和累加器a(8位),寄存器b(8位),程序状态字psw(8位),程序计数器pc(有时称为指令)指针,即ip,16位),地址寄存器ar(16位),数据寄存器dr(8位),指令寄存器ir(8位),指令ID,控制器和其他组件。
1、 alu的主要功能。
a)算术和逻辑运算可以对半字节(一个字节为8位,一个半字节为4位)和单字节数据进行操作。
b)算术运算,例如加法,减法,乘法,除法,加法1、和减法1、比较。
c)逻辑运算,例如AND,OR,XOR,补码和循环。
d)位处理功能(即布尔处理器)。

因为alu内没有寄存器,所以参与运算的操作数必须放在累加器a中。累加器a还用于存储运算结果。
例如:执行指令添加a,b
执行该指令时,累加器a的内容通过输入端口in_1输入到alu,寄存器b通过内部数据总线通过输入端口in_2输入到alu,而a + b的结果通过alu输出输入端口输出和通过内部数据总线的内部数据总线。 ,将其发送回累加器a。
2、程序计数器pc
pc的功能是存储要执行的指令的地址,总共16位,可以直接寻址64k rom,pc的低8位通过p0端口输出,高8位位通过p2端口输出。换句话说,无论在何处执行程序,程序计数器pc都指向它,并且它始终跟随程序的执行。我们知道用户程序存储在内部rom中。如果要执行该程序,则必须从rom中逐个读取字节,然后在cpu中执行它。那么rom执行哪一个呢?这需要我们的程序计数器pc进行指示。
程序计数器pc具有自动递增1的功能,也就是说,从存储器中读取一个指令代码字节后,pc将自动递增1(指向下一个存储单元)。
3、指令寄存器ir
指令寄存器的功能是存储要执行的指令代码。
在这里,我们简要了解了cpu执行指令的过程。首先,从程序存储器(rom)中读取指令代码,并将其发送到指令寄存器,由解码,然后由定时和控制电路发布。控制信号完成指令的功能。关于微控制器中指令的执行过程,我们将在下一课中详细解释。
4、指令ID
它用于解码发送到指令寄存器的指令。所谓解码是将指令转换为执行指令所需的电信号。指令发送到后,对指令进行解码。 cpu控制电路根据输出的信号,周期性地生成执行指令所需的各种控制信号,使单片机能够正确执行程序所需的各种操作。
5、地址寄存器ar(16位)
ar的功能是存储要寻址的外部存储单元的地址信息。指令计数器所在的存储单元的地址代码由程序计数器pc生成,指令中操作数所在的存储单元的地址代码由指令“操作数”生成。从上图可以看出,地址寄存器ar通过地址总线ab连接到外部存储器。
6、数据寄存器dr

用于存储写入外部存储器或I / O端口的数据信息。可以看出,数据寄存器具有用于输出数据的锁存功能。数据寄存器直接连接到外部数据总线db。
7、程序状态字psw
用于记录操作期间的状态,例如溢出,进位等。
例如,如果累加器a的内容为83h,则执行:
添加#8ah;将累加器a添加到立即数8ah中,并将结果存储在a中。
指令后,总和的结果为[1] 0dh,累加器a只有8位,只能存储低8位,即0dh,而element方法则存储最高位结果中为b8。因此,在CPU中设置了进位标志c,并且在加法运算中发生进位时,进位标志c为1。
8、计时组件
它由时钟电路和脉冲分配器组成,用于产生微操作控制单元所需的定时脉冲信号。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-369606-1.html
我们加紧建设我们的
美帝此次行动
#杨洋2015金投赏##杨洋icon##杨洋h