机械必威体育网址

找回密码
注册会员

QQ登录

只需一步,快速开始

搜索
查看: 1617 | 回复: 1
打印 上一主题 下一主题

单片机的存储器及地址--整理的资料

[复制链接]
跳转到指定楼层
1#
发表于 2015-2-8 09:21:31 | 只看该作者 回帖奖励 | 倒序浏览 | 阅读模式
MCS-51 使用哈弗结构 ,它的程序空间和数据空间是分开编址的,即各自有各自的地址空间,互不重叠。所以即使地址一样,但因为分开编址,所以依然要说哪一个空间内的某地址。
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如 Microchip 公司的 PIC16 芯片的程序指令是 14 位宽度,而数据是 8 位宽度。
程序存储器 ,有片内和片外两部分。而且无论片内程序存储器,还是片外程序存储器,他们的地址是共享的。如果片内4k ROM的话,地址就是0x0000-0x0FFF,从0x1000-0xFFFF就是外部ROM的地址空间。可外部ROM的0x0000-0x0FFF的这一部分是否使用呢,这取决于单片机EA引脚的电平值。EA=1时就是使用内部ROM的这一部分,外部ROM的这一部分浪费不用;EA=0时就是使用外部ROM的这一部分,内部ROM浪费不用。从CODE段读取数据要使用汇编的MOVC指令,单片机会根据MOVC指令、EA状态、要读取的地址值,来自动地判断从什么存储器里取数据。
数据存储器, 则分为内部数据存储器( IDATA/RAM )和外部数据存储器( XDATA )两个部分,但这两个存储器就不像 code 存储器那样共享地址空间的了。一般的 8051 芯片,内部 RAM 只有 128B ,从 0x00-0x7F ,而从 0x80-0xFF 则是 SFR CPU 工作寄存器和各种外设寄存器都在此)的区域。对于 8052 来说,内部 RAM 256B ,所以 0x80-0xFF 是高 128B RAM 在使用。可这部分不是 SFR 专用的吗?是 SFR 专用,但注意, SFR 的访问只能使用 直接寻址方式 (使用特定的汇编指令来实现),区别就在这里。只有通过直接寻址访问的地址才是 SFR ,否则就是普通的 RAM 。至于外扩的 RAM XDATA ),地址也是从 0x0000-0xFFFF 的,而且这里的 0x0000 和内部 RAM 0x00 是不同的,是完全独立的两个空间。他们的访问方法也是不同的。 MCS-51 使用 MOVX 指令,来读写 XDATA 区。而且,访问 XDATA 区,是需要 DPTR 寄存器来辅助的。因为只有 DPTR 才能装得下十六位的 XDATA 地址。
data:固定指前面0x00-0x7f的128个RAM,可以用a寄存器直接读写的,速度最快,生成的代码也最小。
idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:movACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)
xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movxACC,@Rx读写。
ARM (甚至是x86)这种冯诺依曼 结构的 MCU/CPU ,它的地址空间是统一并且连续的,代码存储器 /RAM/CPU 寄存器,甚至 PC 机的显存,都是统一编址的,只是不同功能的存储器占据不同的地址块,各自为政。
冯诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086 中央处理器的程序指令和数据都是16 位宽。
6 k) e: K5 O& p0 G8 J- a

% z0 h; K# q$ V; R+ l6 L3 B& @0 A

m4 e! b _* P
2#
发表于 2015-2-8 13:20:36 | 只看该作者
楼主是搞IT的吗
您需要登录后才可以回帖 登录| 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址(京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号)

GMT+8, 2024-6-19 13:48, Processed in 0.052695 second(s), 18 queries , Gzip On.

Powered byDiscuz!X3.4Licensed

? 2001-2017Comsenz Inc.

快速回复 返回顶部 返回列表