微控制器双端口ram操作中冲突检测的装置和方法

文档序号:6650558阅读:313来源:国知局
专利名称:微控制器双端口ram操作中冲突检测的装置和方法
技术领域
本发明一般涉及存储器存储结构,更具体地,涉及对双端口RAM操作的冲突检测。
双端口存储器用于在两个数据源如微控制器和外设数据源间执行共享存储空间。因为从双端口存储器中读回的数据不改变它的内容,所以同时读处理不产生问题而同时写入处理却会产生问题。更特别地,因为数据能在任何时间被传递到任何地址的存储器中,因而对同一地址同时写入操作可能将内容改变成为一个不确定的值。发生的这种情况就称为“写入冲突”。
写入冲突问题已经通过防止冲突发生的约束确定如确定重缓冲结构或通过总线仲裁的时分复用得到解决。这种仲裁通常是写入要求和授权协议的形式,授权协议暂停从处理直到主处理放弃对该地址的访问并将一授权返回到从处理。在这种总线仲裁结构中,共享存取是按时间计划的,当主处理没有及时授权总线让从处理向其内写入数据时给出错误指示。另一个仲裁的通用形式是将写入存取分时,这样就不会有两个装置能够同时写入任何一个地址。这种分时仲裁设计要求以一预定的方式定时以防止同时写入的出现。
这些关于写入冲突问题的解决方法引入了一个对存储器的任何位置的存储器写入处理的不可预知的时间延迟。任何一个预定时间的仲裁涉及一个时间处罚,以及仲裁硬件设计的复杂性。所以,现在需要的是可以排除或减轻这些问题的存储器存储结构。
同时写入处理发生在允许微控制器和外设都对双端口RAM(“DPR”)执行读出和写入的操作的情况。如果微控制器和外设都访问DPR的相同地址,则微控制器的存取被禁止而外设的存取继续。如果微控制器被中断,可以采取诸如对作为错误的存取操作计数或重试该存取之类的合适的动作。
在本发明的实施例中,通过微控制器数据总线和微控制器地址总线将微控制器耦合到双端口RAM。通过外设数据总线和外设地址总线将外设耦合到双端口RAM。地址比较器有输入端口,输入端口耦合到微控制器写入信号、微控制器地址总线、和外设地址总线。地址比较器具有在耦合到微控制器中断口的控制总线上产生中断信号的功能。在微控制器和双端口RAM之间插入的是逻辑功能单元,逻辑功能单元可以由例如电路或软件实现。逻辑功能单元的输出端耦合到双端口RAM。中断信号是至少部分根据微控制器地址总线的第一地址和外设地址总线的第二地址的比较,以及微控制器和外设是否同时访问双端口RAM而产生的。
通过下面结合示例性地说明本发明的特点,从对附图进行的详细描述中,本发明的其他方面和优点将会变得更加清楚。


图1示出了一个根据本发明原理的存储器存储结构的例子。
如图1所示,为了说明的目的,微控制器10和外设14共享通用的双端口存储器12。微控制器和外设的对同一地址同时存取,例如写入操作,会产生写入冲突错误或中断微控制器但允许外设继续执行存取操作的中断信号。
对于微控制器10和外设14的数据流是流入双端口RAM(“DPR”)12和从双端口RAM中流出的。微控制器10和外设14每个都有地址总线和数据总线使从DPR12两侧都可以随机存取。微控制器10具有内置中断能力。如果发生了通过微控制器10和外设14在同一地址的同时存取(例如,写入)操作,则通过线16上的中断信号中断微控制器,这样只有外设被允许访问DPR12中的该地址。接着微控制器10可以进行合适的动作。
根据图1所示的实施例,微控制器10通过微控制器数据总线18和微控制器地址总线20和DPR12的第一数据端口相连。微控制器10在微控制器数据总线18上对DPR12进行存取。逻辑功能单元22插入在微控制器10和DPR12之间。逻辑功能单元22的输出连接到DPR12的第一数据端口。
外设14通过外设数据总线30和外设地址总线32连接到DPR12的第二数据端口。外设14通过外设数据总线30访问DPR12。
地址比较器36有四个输入端口。地址比较器36的这四个输入端口耦合到微控制器写入信号、微控制器地址总线20、外设写入信号、和外设地址总线32。地址比较器36在线16上产生冲突错误信号。冲突错误信号的产生是基于(a)微控制器地址总线20的第一地址和外设地址总线32的第二地址的比较,以及(b)微控制器10和外设14是否是同时存取DPR12(例如,写入到)。
例如,(a)外设14和微控制器10不同时写入时,或(b)外设写入的DPR中的地址和微控制器写入的DPR中的地址是不同的,则地址比较器36不产生冲突错误信号。但是,如果外设14和微控制器同时写入,以及如果外设写入的DPR中的地址和微控制器写入的DPR中的地址是相同的,则地址比较器36就产生冲突错误信号。在本例中,冲突错误信号指示一个写入冲突。
在图1所示的特定的实施例中,地址比较器36产生的写入冲突的中断信号通过控制线16的方式施加到微控制器10的中断端口。冲突信号也连接到逻辑功能单元的输入端口。
地址比较器36输出的冲突错误信号通常是一个逻辑假状态(例如,代表“0”)。当在其假状态的中断信号输入到逻辑功能单元22时,逻辑功能单元22的输出是(a)当在微控制器数据总线18上的从微控制器10输出的数据是真时,在其为逻辑真状态(例如,代表“1”)或(b)当在微控制器数据总线18上的从微控制器10输出的数据是假时,在其为逻辑假状态(例如,代表“0”)。作为例子,逻辑功能单元可以实现如下表所描述的逻辑功能。本领域技术人员都知道,该表表示的逻辑功能可以通过多种方法实现,包括硬件或软件逻辑“与”操作。
因此,当冲突错误信号是逻辑假状态时,逻辑功能单元22的输出跟随着逻辑功能单元22的输入B。
微控制器10在其中断端口接收来自线16的冲突错误信号。微控制器10根据冲突错误信号确定是否使能或不使能从微控制器输出数据。当通常是逻辑假状态时的该冲突错误信号变成逻辑真状态时,从微控制器10到DPR12的写入信号被有效地不使能。因此,在外设14的写入操作进行的同时,微控制器的写入操作被中断并被禁止。
在到DPR12的存取时间需要被预知的应用中,本发明保证对于外设14到DPR12的存取。由于微控制器10和外设14二者试图同时存取操作(例如,写入操作)而产生错误并按照上述示范的实施例中的描述该同时存取操作是可以防止的。外设14在写入到DPR12时有优先权并且微控制器10在错误发生前预先被中断。根据本发明的特定应用,微控制器10可以具有优先权而不是外设14具有优先权。在这种情况下,如图所示的微控制器10和外设14的相对位置关系则要被翻转,冲突错误信号施加到外设14上。并且,DPR12不限于存储器设备且可以是任何合适的双端口装置。
在本发明的特定形式已经被说明和描述的同时,可以看出在不背离本发明的精神和范围的前提下可以有多种改进。
权利要求
1.一种装置,包括双端口设备;第一设备,包括中断输入,以及实施地耦合到双端口设备的第一数据总线和第一地址总线;第二设备,包括第二数据总线,以及实施地耦合到双端口设备的第二据总线和第二址总线;和地址比较器,实施地耦合到第一地址总线和第二地址总线,以便通过第一和第二设备根据预定的双端口设备的同时存取产生的冲突错误信号。
2.如权利要求1中的装置,还包括逻辑功能单元,实施地耦合在第一和第二装置之间,以响应冲突错误信号禁止第一装置而停止对双端口装置的访问;
3.如权利要求2中的装置,其中,第一装置产生存取信号,以及逻辑功能单元包括至少一个冲突错误信号和存取信号的逻辑“与”;
4.如权利要求3中的装置,其中,存取信号包括第一装置提供的写入信号;
5.如权利要求4中的装置,其中,第一装置包括微控制器以及第二装置包括外设;
6.如权利要求4中的装置,其中,第一装置包括外设,以及第二装置包括微控制器;
7.如权利要求1中的装置,其中,预定的同时存取包括通过第一和第二装置对双端口装置的同时写入;
8.如权利要求7中的装置,其中,地址比较器相应于第一和第二地址总线的比较产生的冲突错误信号;
9.一种通过第一和第二装置对双端口装置的控制存取的方法,包括通过第一装置启动对双端口装置的第一地址的存取;通过第二装置启动对双端口装置的第二地址的存取;和通过第一装置至少部分根据第一地址和第二地址的比较而禁止存取。
10.如权利要求9所述的方法,还包括通过第一设备和第二设备根据预定的双端口装置的同时存取产生的冲突错误信号;
11.如权利要求10所述的方法,还包括响应冲突误差信号禁止第一装置的存取;
12.如权利要求12所述的方法,其,第一装置产生存取信号以及该方法还包括根据冲突错误信号可控地传递存取信号到双端口装置;
13.如权利要求12所述的方法,其中,存取包括到双端口装置的写入操作;
14.如权利要求11所述的方法,其中,第一装置产生存取信号并且禁止第一装置的存取包括将冲突错误信号和存取信号执行一个逻辑“与”。
全文摘要
通过微控制器地址总线将微控制器耦合到双端口RAM。通过外设地址总线将外设耦合到双端口RAM。地址比较器比较微控制器地址总线和外设地址总线以产生一个中断微控制器的冲突错误信号。逻辑功能单元耦合在微控制器和双端口RAM之间。错误信号至少是部分根据微控制器地址总线的第一地址和外设地址总线上的第二地址的比较,以及是否微控制器和外设之间是对双端口RAM同时访问。因此,当微控制器同时存取被禁止和通过冲突错误信号禁止被通知到微控制器的时候,外设是被允许存取的。
文档编号G06F13/16GK1319806SQ0110158
公开日2001年10月31日 申请日期2001年1月18日 优先权日2000年2月4日
发明者西奥多·J·迪佩纳尔, 斯蒂芬纳斯·P·杜文哈格, 迈克尔·S·派斯卡 申请人:密克罗奇普技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1