威尼斯人棋牌-威尼斯欢乐娱人城-首页

带有可重新组合的程序状态字的微控制器的制作方法

文档序号:6409597
专利名称:带有可重新组合的程序状态字的微控制器的制作方法
技术领域
本发明的领域本发明涉及包含可操作以保持特定格式的程序状态字的状态位的一个程序状态字(PSW)寄存器的微控制器。
背景技术
微控制器正在用来在越来越短的时间内实行越来越复杂的任务。这便要求将微控制器重新设计得更复杂与更快。较复杂的微控制器具有许多需要监控的功能与操作。结果,重新设计的微控制器的程序状态字(PSW)由于带有大量的状态位已越来越大。例如,当微控制器从8位体系结构增长到16位体系结构时,PSW能增长到12或16位。出于重新设计过程的体系结构与布局考虑,以及PSW规模考虑,与前一代微控制器中出现的位布置相比,有时有必要重新布置与重新分PSW的状态位。然而,前一代微控制器的用户不愿意丢弃或改写为前一代设计的App,并希翼后代微控制器能运行老App。
本发明的目的本发明的一个目的为得到与先前各代兼容的较新一代的微控制器的PSW。
另一个目的为即使在各代间改变了PSW的规模与位布置,也能保证兼容性。
另一个目的为容许老的或先前代指令与新一代的指令,或老的与新的操作模式,共存在同一微控制器中。
本发明的概述本发明通过提供前序部分中所说明的并具有下述特征的微控制器而达到上述目的,其特征在于操作PSW寄存器保持与第一格式不同的第二格式的另一个程序状态字的其它状态位,及该微控制器包括耦合在所述寄存器上并可操作以有选择地传送去往与/或来自寄存器的状态位的选择与传送装置。
程序状态字能重新组合以与前一代微控制器兼容并容许多种微控制器模式共存。更具体地,选择与传送装置响应微控制器的多种模式,进行选择与重新布置程序状态字的位。每当微控制器在与前一代微控制器指令兼容的模式中时或在愿意的任何时间,选择与传送装置便将当前代的PSW的位放置在总线上适合于供前一代微控制器处理的位置上。这便容许老的与新的操作模式共存。选择与传送装置还进行从与前一代兼容的布置的总线上读取位,并将它们存储在当前代的布置中。本发明提供一种系统,它能根据微控制器的模式将PSW的位引导到适当的位置上,并将一个较大的PSW转换成前一代微控制器的较小的PSW。
参照附图以示例方式进一步详细说明本发明,附图中

图1描绘本发明的微控制器的体系结构;图2示出该微控制器的程序状态字(PSW);图3描绘本发明的专用功能寄存器的位地址编码;图4示出前一代微控制器所使用的PSW位的布置;图5描绘按照本发明的PSW读取电路的一个实例;以及图6描绘按照本发明的PSW写入电路的一个实例。
在全体图中,相同的参照标记指示相同或对应的特征。
较佳实施例的描述图1中示出了本发明的微控制器系统10的体系结构。这一系统10包含实行16位算术运算的一个单片微控制器12,该微控制器12包含内部指令与数据存储器。微控制器12支撑外部设备14与16,并通过24位外部地址容量,支撑16兆字节外部指令存储器18及16兆字节外部数据存储器20。微控制器12包含一个总线接口单元22,它在一条外部双向地址与数据总线24上与外部存储器18与20通信。微控制器12通过可作为专用功能寄存器(SFR)40寻址的I/O端口26-28与外部设备14与16通信。端口26-28以及其它专用功能寄存器是可以经过总线接口单元22通过一条内部外围总线42寻址的。数据存储器20也能通过I/O端口26-28作为离片存储器映射的I/O(off-chip memorymopped I/O)存取,这是用虚线示出的存取。在片专用功能寄存器(on-chip special function register)40,其中某些是位可寻址的,还包含一个耦合在一个中断控制单元84上的程序状态字(PSW)寄存器44,中断控制单元84与外部设备以及ALU72、实行单元70及解码单元74通讯,用于标志与通用控制。一个中断寄存器46、定时器寄存器50及包含系统配置位的一个系统配置寄存器(SCR)54也设置一个专用功能寄存器40。PSW寄存器44对于通用寄存器操作是可以通过外围总线42寻址的,同时对于其它与实行相关的操作是可以通过对内部总线86的连接寻址的。PSW寄存器44还耦合在ALU 72上,以及与ALU72及实行单元70关联的奇偶校验、溢出故障、零故障及运算符故障电路上。总线接口单元22将外围专用功能寄存器40与微控制器核心60隔离开。核心60包含实行单元70,它是可以微代码可编程的并控制ALU72及其它单元的指令实行。解码单元74所解码的指令是由取指单元78从作为指令存储器空间一部分的一个内部EPROM 76或从外部指令存储器18取出的。作为数据存储器空间的一部分的静态RAM 80以及寄存器文件82的通用寄存器也可用作指令与数据存储器。
程序状态字寄存器44包含可由新一代指令存取的图2中所示的一个程序状态字100。PSW寄存器44为位可寻址的SFR空间40中的一个字寄存器。高位字节(PSWH)102为包含系统/监控器级标志的受保护的一半。第二或低字节(PSWL)104包含所有用户级标志并且其功能如下所述。大多数算术逻辑及数据传送指令更新某些或全部状态标志。在写入PSW期间,抑制PSW状态标志的更新。写入PSW的数据优先于正常标志更新。在将一字节写入一半PSW期间,这适用于PSW的两个字节。C为进位标志,这一标志的主要功能为存储ALU72的算术运算的最高位的进位。AC为一个辅助进位标志,它在算术指令期间更新为ALU72的最低半字节的进位。RS1与RS2为寄存器体选择位,它们标识寄存器文件82中在一个给定的时间上活跃的寄存器R0至R7的四组或四个体中之一。这四个寄存器体也能作为数据存储器的底部32个字节直接与间接寻址。V为溢出标志,并在ALU72实行算术指令期间由2的补码算术溢出条件置位。SM为系统模式位标志。系统模式是在复位时选择,可以在中断处理中改变,并从中断返回(RETI)时通过弹出PSW写入。这是旨在作为多任务应用的一种帮助。TM为跟踪模式位并用于协助程序开发以容许逐条指令跟踪。Z为第一运算指示或零故障标志,并在数据运算后如果运算返回结果0时将Z标志设置为1,否则将Z标志清0。N为一个负指示标志,并在数据运算之后如果运算返回一个设置了符号位(MSB)的结果便将N标志设置为1,否则将N标志清0。IM3-IM0为实行优先级中断屏蔽位,这些位用于标识当前实行代码的实行优先级。在中断的情况中,这些位设置为正在进行的中断的中断优先级。这些位也能在中断处理期间改变或写入。微控制器12在陷阱、中断及从中断返回期间支撑这些位的保存与恢复,并且提供从这些位通过中断控制单元84到达核心外面的任何中断控制模块的线路。对IM位的写入仅限于系统模式代码。另外一个既不反映在PSW中又不是运行中的程序所能直接观察到的标志存在于微控制器12中。这便是累加器零标志(AZ)。这是用来实现80C51微控制器的零跳转(JZ)与非零跳转(JNZ)指令的。80C51代码直接测试A寄存器内容来实行这些指令。微控制器12在任何改变R4L的操作期间更新隐藏的AZ标志,R4L为用来模拟80C51微控制器累加器的寄存器。
系统配置寄存器(SCR)54为一包含系统配置标志的字节寄存器。这一寄存器54包含复位后打算只编程一次便留下不再动它的标志。因此在中断或其它过程中不用保存这些标志。这些标志之一便是本发明中的重要的CM标志。CM是兼容模式标志。这涉及使用80C51的PSW的模式。当然在CM=0时其它时间也能访问80C51的PSW。
微控制12使用指令支撑PSW的位寻址。图3中示出了用于位寻址的一条指令内的10位字段130的编码。位9与8确定所寻址的寄存器是在SFR空间40(位9)还是在寄存器文件82(位8)中。位7-3识别被寻址的寄存器的字节而位2-0识别该字节内的特定的位。
如相对于图2所讨论的,微控制器12的PSW 100具有在设计过程中产生的一定布置。另一方面,80C51微控制器使用图4中所示的PSW 200。PSW的这一版本可由80C51的指令访问,允许在同一程序内存在不同模式或代的指令。在PSW的这一版本中,取决于所提供的PSW的特定地址,使得状态位C、AC、FO、RS1、RS0、V、VF与P可以向或目寄存器44写或读。FO或F1为用户可定义的标志并可由用户程序读与写。P为奇偶标志,而这一位对于寄存器R4L的当前内容表示为偶(寄存器4的低字节)(使用这一寄存器是为了与Philips半导体企业的80C51微控制器的A寄存器兼容,这是前一代微控制器的实例)。取决于该地址也能利用PSW100的高一半与低一半。当在SFR空间140中进行一次外围总线专用功能寄存器(SFR)读期间使用一个特定地址时,PSW100的低一半或字节PSWL 104是提供在外围总线42上的。当使用另一个特定地址时,提供PSWH102,而当使用另一特定地址时,便提供PSW 200。在写期间,只将特定格式PSW的特定位从总线42上传送给寄存器44。
为了从同一物理寄存器44提供PSW 100及PSW 200的不同字节,如同5中所示的地址解码与位选择电路判定正在寻址的是哪一种PSW与/或字节,并选择适当的8位施加在外围数据总线212上。在读操作中,地址解码器214经过总线接口单元(BIU)22通过外围地址总线216从取出单元78接收一个地址,并判定正在寻址的是PSW 100的哪个字节或是否PSW200。解码器214产生施加在多路复用器218上的三种选择信号之一。多路复用器218是一个8位的,取决于所提供的选择信号从三组8位中选择的三对一多路复用器。当确立PSWH时,多路复用器218选择SM、TM、RS1、RS0与IM3-IM0,当确立PSWL时,多路复用器输出C、AC、“0”、“0”、“0”、V、N与Z,因为微控制器12不使用F0、F1与P位,为这三位生成二进制“0”,而在确立PSW 200时,多路复用器218选择与输出C、AC、F0、RS1、RS0、V、F1与P。多路复用器218将所选择的8位提供给连接在外围数据总线212上的一个8位3态驱动器220。当选择信号之一通过“或”门222并与BIU22施加在“与”门224上的一个外围总线读信号一致时便启动驱动器220。BIU 22将在总线212上的所选择的PSW或字节的位传送到目的核心单元。
PSW位的写入是在微代码程序控制下通过下述方式实行的,BIU 22首先通过外围总线42上从寄存器44读取特定的字节,实行单元70修正指定的特定位,然后BIU 22将该字节写回寄存器44。在从总线42向寄存器44的传送中,只将修正过的特定位传送给寄存器44。写是受地址解码与位选择电路240控制的,如图6中所示。
和在图5的读电路中一样,待写入的字节或PSW的地址是由解码器214检测的。当解码器214(见图6)检测到正在寻址PSWH或PSW200且位选择字段(见图3)指示待写入的是C位时,一个3对1、单位多路复用器224根据“或”门246、“与”门248及“或非”门250所提供的选择信号从外围总线212上选择C位。当C位要从ALU 72更新时,多路复用器244选择ALU72供给的该位。当选择信号指示未改变的位的再重复时,便由触发器(FF)252将多路复用器244的输出反馈给其输入。一旦将C位提交给PSW寄存器44,实行单元70便提供该特定位的启动信号,这导致时钟脉冲输入该值到寄存器44的该位中。AC与V位具有与C位相同的位选择布置,但具有与来自供给数据的外围总线212的不同的位(分别是线6与2)。N与Z位也与C位同样对待但特定位也不同(线0与2)。
当解码器214检测到正在寻址PSW 200且指令字段(见图4)指示正在寻址F0位时,受“与”门258及反相器260控制的2对1、单位多路复用器256选择外围总线212的适当线(线5)并通过FF262将该位提供给PSW寄存器44。又一次只启动PSW寄存器44的该位。F1位是用同一电路写入的但该位来自总线212的线1。
在检测到确立PSWH或PSW 200之一且正在寻址RS0时,一个三对一、单位多路复用器266响应来自“与”门268、270及“或非”门272的选择信号,从总线212上选择适当的位,并通过FF274将该位提供给寄存器44。寄存器44在该特定位的启动信号时加载该位。以相同方式从总线212线路的不同对写入位RS1。
当要写入TM位时,受“与”门280及反相器282控制的一个2对1、单位多路复用器278通过FF284将该位写入寄存器44中。SM与IM0-IM3位是类似地处理的,但来自不同的总线线路。
本发明允许微控制器12操作与处理前一代微控制器的指令,从而提供了向后兼容性,同时满足了对更复杂的微控制器体系结构的需求。
已经以PSW寄存器44呈现为位于特定单元中的连续的位组描述了本发明。有可能及有时希翼在诸如微控制器12的复杂体系结构中,将特定的状态寄存器位定位或物理分布在使用这些位的单元附近。例如,C位可位于ALU 72中,并“呈现”为似乎它是位于SFR44区中的。
权利要求
1.一种微控制器,包括一个程序状态字(PSW)寄存器(44),可操作以保存第一格式的程序状态字的状态位;其特征在于可操作PSW寄存器以保存与第一格式不同的第二格式的另一种程序状态字的另外的状态位;微控制器包括耦合在所述寄存器上并可操作以有选择地传送去往与/或来自该寄存器的状态位的选择与传送装置(22、214、218、220、222、224;244、250、252、256、258、260、262)。
2.权利要求1的微控制器,其中该选择与传送装置在寄存器上实行一个读操作期间,并行地从该寄存器传送多个位。
3.权利要求1的微控制器,其中该选择与传送装置在寄存器上实行的一个写操作中,修改该寄存器中的位中至少一个单一的特定位。
4.权利要求1、2或3的微控制器,其中该选择与传送装置可操作以接收一个地址;该选择与传送装置包括一个解码器(214),可操作以检测该地址是涉及第一格式的还是第二格式的程序状态字;以及一个多路复用器(218、244、256、266、278),在解码器的控制下,可操作以选择与传送去往或来自该寄存器的一位或多位。
5.一种微控制器,包括一种程序状态字(PSW)寄存器(44),可操作以存储各种不同格式的多个相应的程序状态字;一个处理单元(60),用于实行微代码操作及可操作以提供参照各程序状态字中特定的一个的地址,及有条件地操作以提供要写入PSW寄存器中的一位;一个总线接口(22),连接在处理单元上并可操作进行地址传送;总线装置(212、216),连接在总线接口上并可操作以传送地址与位;一个写电路(244、252、256、258、260、262),连接在PSW寄存器上及总线装置上,并在地址的控制下,进行操作将位从总线装置传送到PSW寄存器;以及一个读电路(218、220、222、224),连接在PSW寄存器上及总线装置上,并在地址的控制下,进行操作将多个位从寄存器并行传送到总线装置。
全文摘要
一种微控制器传送去往与来自总线的一个程序状态字(PSW)的多个位。每当在与前一代微控制器兼容的模式中时,选择与传送电路在读操作中将当前一代的PSW的位放置在总线上,但组合成供前一代微控制器处理的模式。在写操作中,电路以与前一代兼容的布置移动来自总线的位,并以当前一代的布置存储它们。该电路还允许诸如ALU等各种单元直接更新PSW寄存器位而无须进行总线传送。
文档编号G06F9/455GK1135800SQ95190889
公开日1996年11月13日 申请日期1995年8月24日 优先权日1994年9月16日
发明者J·王 申请人:菲利浦电子有限企业
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

威尼斯人棋牌|威尼斯欢乐娱人城

XML 地图 | Sitemap 地图