MCS51系列MCU双数据指针的实现制造技术

技术编号:3880203 阅读:214 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于处理器内核电路领域,针对目前广泛使用的MCS51系列MCU提出一种提高其处理能力和处理速度的技术,本技术对MCU的内核电路进行修改,并增加一些辅助电路,对MCU原有内核没有任何功能以及兼容性的影响,但能达到明显提高MCU性能的目的。本发明专利技术也适用于其他类型的8位MCU,以及集成该类MCU的SOC,ASIC和其它采用该类MCU的应用系统,以提高其灵活性和兼容性。

【技术实现步骤摘要】

本技术适用于MCS51系列单片机和集成该类MCU的S0C,ASIC,以及用其它方式采 用该类MCU内核的应用系统。该技术可以提高其系统整体MCU资源利用率和大幅度提高 CPU数据处理速度等。二.
技术介绍
单片机体积小,功耗低,功能强大,技术成熟,诸多的优点使得各类型的单片机在 人类生产、生活中日益发挥着越来越重要的作用。目前,最常用的单片机莫过于Intel公司 开发的80C51系列,这一系列的单片机因为结构简单,价格低廉,容易开发且存在大量的用 户群。正是基于这些优点,很多消费类SOC产品中都集成了 80C51用作中央控制器。随着 人们消费水平的提高,越来越多的功能被附加到这些产品中,这就要求8051要完成更多的 操作,管理更多的系统资源,对8051的数据传输速度,以及代码数量提出了新的要求。双数 据指针的设计正式基于这种要求应运而生,该技术能有效的提高8051的系统性能和处理 速度,以满足更高的用户需求。三.
技术实现思路
在标准的Intel 80C51中,字节地址为82H,83H的两个字节SFR(special functionregister)组成一个 16 位的 DPTR (DATA pointer register)。在实现与数据存储 器相关的数据传送时,8051要依靠DPTR来实现这一操作,尤其是在实现数据存储器中数据 的拷贝或搬移动作,更是会反复的使用DPTR来完成。8051只有一个DPTR,为了实现将源地 址的数据移到目标地址要不停的更新DPTR的值,使之指向目标地址或源地址。而双DPTR 很好的解决了这个问题,在实现上述的传送中可同时使用这两个DPTR,从而避免了不停的 更换DPTR指向的问题,达到节省系统操作时间和代码空间,提高系统整体能力的目的。为了实现双数据指针,要在原有数据指针的基础上增加一个指针,需要更改8051 原有内核的硬件设计。在8051的程序中,所有涉及到与DPTR相关的指令只能将DPTR的地 址译码为82H(word address),这是由于标准的8051指令译码是固定的,这一点是设计中 必须要考虑的。考虑到与标准8051指令兼容性以及软件实现问题,新的DPTR地址在指令 译码和地址控制器输出上只有能和原始DPTR地址一样。在本设计中,采用硬件修改地址的 方式,来区别两个DPTR。将新的DPTR放在SFR的C2H和C3H中,它与原始的DPTR地址的区 别仅在于地址位A6有区别。利用这一特点,可以加入A6的取反电路(参见图1)。当需要使 用新DPTR时,选择取反地址位A6,这样与DPTR相关的指令给出82H的地址,会被指向C2H的 物理地址,便实现了双地址指针的功能。本设计在SFR位寻址空间中定义一个保留位(本设 计中采用的是位地址为F8H的保留位)来实现DPTR的区分选择,以有效使用两个DPTR。四.附图说明图1 双数据指针示意图,其中DPTRO是MCU原有的数据指针,而DPTRl是本设计3所增加数据指针。图2 双数据指针寄存器以及选择位在SFR中的定义。 五.具体实施例方式在嵌入式系统中,经常会有数据的搬移和拷贝操作,采用本设计可以有效的解决 数据的传输效率问题。下面是不采用该设计和采用该设计设计两种情况下,数据搬移操作 的实际实现程序设计(请参见图1)。不难看出,采用双数据指针的方式不仅在程序运行时 间上会缩短,而且在代码空间上也有不小的节省。1采用单数据指针的方式;Block move using single data pointer MOVDPTR, #S0URCE;address of sourceMOVA, ODPTR;get a byte from sourceINCDPTR;increment source addressMOVR0, DPL;move low byte source address to ROMOVRl, DPH;move high byte source address to RlMOVDPTR, #DEST;address of destinationMOVXiDPTR,A;write the byte to destinationINCDPTR;increment destination addressMOVR2, DPL;move low byte destination address toR2MOVR3, DPH;move high byte destination address toR3LOOP MOVDPL,RO;move low byte source address to DPLMOVDPH, Rl;move high byte source address toDPHMOVA, ODPTR;get a byte from sourceINCDPTR;increment source addressMOVR0, DPL;move low byte source address to ROMOVRl, DPH;move high byte source address to RlMOVDPL,R2;move low byte destination address toDPLMOVDPH, R3;movehigh byte destination address toDPHMOVXiDPTR,A;write the byte to destinationINCDPTR;increment destination addressMOVR2, DPL;movelow byte destination address toR2MOV R3, DPH ;movehigh byte destination address toR3JNZ LOOP;check for 0 to terminate2采用双数据指针的方式;Block move usingdualdata pointers MOV DPTR,#S0URCE;address of sourceCPL F8H;switch data pointersMOV DPTR,#DEST;address of destinationLOOP CPL F8H;switch data pointersMOVXA,@DPTR;get a byte from sourceINC DPTR;increment source addressCPL F8H;switch data pointersM0VX@DPTR,A;write the byte to destinationINC DPTR;increment destination addressJNZ LOOP;check for 0 to terminate权利要求MCS51系列内核内部SFR针对双数据指针的扩展。2.内部地址控制器输出地址的修改电路。3.对内部地址控制器A6的选择设计,以及由此种方式来产生新DPTR的其他SFR地址。4.双数据指针的寻址方式设计。全文摘要本专利技术属于处理器内核电路领域,针对目前广泛使用的MCS51系列MCU提出一种提高其处理能力和处理速度的技术,本技术对MCU的内核电路进行修改,本文档来自技高网...

【技术保护点】
MCS51系列内核内部SFR针对双数据指针的扩展。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘伟
申请(专利权)人:龙迅半导体科技合肥有限公司合肥力杰半导体科技有限公司
类型:发明
国别省市:34[中国|安徽]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1