【日拱一卒行而不辍20220930】自制操作系统

存储器模式

普林斯顿结构的特点是微机只有一个地址空间,ROM和RAM地址统一编址,一个地址对应唯一的一个地址单元,CPU访问ROM和RAM使用的是相同的访问指令。

哈佛结构的特点是微机的ROM和RAM被分别安排在两个不同的地址空间,ROM和RAM可以有相同的地址,CPU访问ROM和RAM使用的是不同的访问指令。

51单片机采用哈佛结构。

C51单片机定义变量时,如果省略存储器类型,KeilC51编译系统会按编译模式SMALL、COMPACT、LARGE所规定的默认存储器类型去指定变量的存储区域,无论什么存储模式都可以声明变量在任何的8051存储区范围,但是把最常用的命令如循环计数器和队列索引放在内部数据区可以显著提高系统性能。

SMALL模式

本模式中所有变量在缺省情况下位于8051系统的内部存储区(这和用data存储类型标识符明确声明一样)

本模式中变量访问数据最快,然而所有的东西包括堆栈必须放在内部RAM中,堆栈的大小是不确定的,它取决于嵌套的深度。

在写小型应用程序时,变量和数据放在Data内部数据存储器中是很好的,因为访问速度快,但在较大的程序中Data区最好只放小的变量、数据或常用的变量(如循环计数、数据索引),而大的数据则放在别的存储区域,否则Data区就容易溢出。

COMPACT模式

本模式把变量都定位在MCS-51系统的外部数据存储器中,外部数据存储段可有最多256字节。这时对变量的访问是通过寄存器间接寻址(MOV @Ri)进行的。

采用这种编译模式时,变量的高8位地址由P2口确定,因此必须适当改变启动程序STARTUP.A51中的参数PDATASTARTPDATALEN,用L51进行连接时还必须采用连接控制命令PDATA来对P2口地址进行定位,这样才能确保P2口为所需的高8位地址。

编程比较复杂。

LARGE模式

本模式中,所有的函数和过程的变量以及局部变量数据段都被定义在51系统的外部数据存储器中,外部数据存储器最多可有64K,这要求用DPTR数据指针来间接访问数据,因此访问效率并不高,尤其是对2个或多个字节的变量,用这种模式访问数据程序的代码将会很大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值