wuzhengmin 发表于 2025-11-20 13:03:01

今天开始学习第十集下处理器内核和存储空间
工程设计师对加法电路和减法电路研究后发现:
A+b 的电路和a-b的电路有什么不同?经过研究发现,a+b的电路和a+(b取反+1)是一样的这样减法就可以用加法电路,无非是加补码。这样就节约很多晶体管。所以把减法变成加补码,是因为物理上电路决定的。
在一个有符号的算数运算中,正数的原码和补码是相同的,负数的补码就是取反加1
其实我们都是在运算补码,不过正数的补码和原码相同。

wuzhengmin 发表于 2025-11-20 13:04:36

处理器内核和存储空间映射:

wuzhengmin 发表于 2025-11-20 13:06:00

地址变成24位:原来我的片内数据区寻找是16位,现在的地址空间变成24位,那么16位和24位有什么样的关联?原来是256个字节,现在变成是4K字节,越来我将近4K的空间现在变成了8K的空间,现在4K+8K=12K空间了,怎么做到的?是寻址指令的支持下才能做到。
先看传统8051的内核框图:

wuzhengmin 发表于 2025-11-20 13:07:23

从上图可知,该单片机内包含了处理器核、存储器、外设和时钟系统共4个子系统

wuzhengmin 发表于 2025-11-20 13:08:57

在MCS-51单片机中,提供了独立的程序存储器和数据存储器

wuzhengmin 发表于 2025-11-20 13:10:25

实际是通过特殊功能寄存器的集合(Specifical Function Register,SFR),处理器核就可以访问片上的外部设备(简称外设)

接着看看总线:

wuzhengmin 发表于 2025-11-20 13:11:25

控制器是处理器核中最重要的功能单元之一作用是保证处理器核内其他功能单元的按节奏有顺序的正常工作比如,控制器根据指令要求发出正确的控制信号,使得运算器能正确的实现加法运算

wuzhengmin 发表于 2025-11-20 13:12:49

打开一个程序,debug环境下,演示一下:

我们现在是32位单片机,程序计数器PC现在是0xFF0112,6个16位数,每个16进制是4位2进制数,6*4=24,所以是24位的。而8位的单片机,程序计数器PC是16位的。可以把我们现在的程序计数器PC的FF取掉,当成0x0112,单步执行后PC指向下一条指令:




wuzhengmin 发表于 2025-11-20 13:13:54

程序计数器PC变成0x0114,PC 总是指向下一条要执行的指令………..以前是说pc=pc+1;现在就不能这样说,现在可能是+2,也可能是+4,因为指令不定长,可能是2字节,也可能是4字节……………..

wuzhengmin 发表于 2025-11-20 13:14:26

接着学习程序运行的顺序:
页: 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31
查看完整版本: 跟着何宾老师学习STC32位8051单片机原理及应用-STC32G12K128