执行连续的数据处理指令的数据处理装置,所述装置包括:响应一个或多个所述指令访问数据存储器的存储器访问设备,所述存储器访问设备包括检测每一存储器访问是否无效的设备; 响应由以前执行的指令产生的所述装置的处理状态和在每一指令的执行时可操作的条件测试设备,用于检测该指令是否应该被执行;和 响应所述存储器访问设备和所述条件测试设备的条件控制设备,如果所述存储器访问设备检测出由先行指令起动的存储器访问无效或所述条件测试设备检测出所述当前指令不应该被执行,则防止条件控制设备完全执行当前指令。(*该技术在2014年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术涉及数据处理指令的执行。现有技术的叙述一些数据处理器包括中央处理器(CPU),它在当前执行的数据处理指令的控制下通过一中间存储器管理单元能够访问存储在随机存取存储器(RAM)中的数据。以前提出的这种数据处理器的例子是ARM6处理器,它已由高级里斯克(Risc)机器股份有限公司在1993年发表的“ARM6数据表”中叙述。在存储器访问时,存储器管理单元可以产生一个中止信号,指明当前存储器访问不可能完成。中止信号产生的原因可能很多。在一个例子中,一个被中止的存储器访问能在使用虚拟存储器的数据处理系统中出现,其中数据在RAM和较慢的磁盘存储器之间交换而形成一种假像,认为可编址的存储器空间大于所提供的RAM的数量。在这种系统中,如果相应于所需虚拟地址的数据当前保存在磁盘存储器中而不是在RAM中,则在这些数据在访问前有一延迟,在该延迟中数据必须从磁盘存储器传输到RAM中。在这种情况下,当前的存储器访问被中止,稍后重新尝试访问这些数据。从存储器管理单元提供的中止信号产生得太晚,以至不能停止起动失效的存储器访问的指令的执行,但是可以代而用于取消后继的数据处理指令的执行,亦即在起动失效的存储器访问的指令的后面的数据处理指令。这是有用的,因为以后的指令可能依赖存储器访问成功。使用中止信号以取消紧接着起动失效的存储器访问指令的指令执行需要对中止信号严格定时。或者,必须提供一复杂的机构来“擦除”紧接的指令在其执行完成后产生的效果。附图中的附图说明图1是一原理定时图,表明在上面提到的以前提出的数据处理器中中止信号在数据写操作时(其中数据写到RAM中)的定时需求。参考图1,时钟信号10控制数据处理器执行数据处理指令。在起动一数据写操作时,数据处理器向存储器管理单元提供一存储器地址20,在时钟信号半个周期后写到该地址的数据30由数据处理器输出。如果存储器管理单元检测出存储器地址20无效(例如,因为相应于该地址的数据当前保存在虚拟存储器系统中的磁盘存储器中),则由存储器管理单元产生一中止信号40并提交给数据处理器。在数据写指令后面的下一指令马上执行,因为在要写的数据被放在数据总线上之后无须等待(在正常环境下)从存储器管理单元来的响应。相应地,为使中止信号及时到达以便取消直接跟随指令的执行,上面提到的以前提出的数据处理器要求中止信号在数据处理器输出要写的数据之前半个时钟信号周期有效。在实际中,这个定时限制很难达到,需要存储器管理单元特别快的操作(伴随相应的该管理单元高的功率消耗)。上面提到的以前提出的数据处理器也提供其整个指令集的条件执行。这是靠直至把四个处理标志的当前状态与由在每一指令中包含的条件码定义的各自的状态比较而实现的。这种比较与该指令的执行同时进行。如果处理标志的状态与由条件代码指定的状态不匹配时,禁止指令的完整执行。专利技术总结本专利技术提供一种执行连续的数据处理指令的数据处理装置,该装置包括响应一条或多条指令而访问数据存储器的存储器访问设备,该存储器访问设备包括检测每一存储器访问是否无效的设备;响应该装置由以前执行的指令产生并在每一指令执行时可操作的处理状态,用于检测该指令是否应该被执行的条件测试设备;以及响应存储器访问设备和条件测试设备的条件控制设备,如果该存储器访问设备测试出由先行指令起动的存储器访问无效或者该条件测试设备测试出当前指令不应该执行,则防止完全执行当前指令。在按照本专利技术的数据处理装置中,使用一个完整的条件指令集,还使用有条件地阻止每一指令完整执行的机构来处理存储器的中止。从而由先行指令起动的关于存储器访问的存储器中止信号可以在每一指令执行时与条件测试设备测试该指令是否应该执行的同时接收。这可以允许每一指令的存储器中止的处理比在上面描述的以前提出的数据处理器所允许的要晚一些。在一个优选的实施例中,该装置包括一个或多个用来存储该数据处理装置的一个当前处理状态的数据指示性的处理标志位;每一指令包括一个定义对被执行的指令所需要的处理标志的状态的条件代码;和条件测试设备可以用于比较由每一指令中的条件代码所定义的处理标志位所需要的状态和该处理标志的实际状态。条件代码可以规定,一个特定的处理标志应该置位成一个特定的逻辑状态,或该处理标志的状态对当前指令是否应该执行没有影响。在一极端的情况下,一个可能的条件代码可以规定一个特定的指令应该执行而无视任何处理标志的状态。处理标志可以规定该装置的处理状态的各种特征。在优选的实施例中该装置包括四个处理标志,分别表示(i)该装置的一个以前数据处理操作是否产生一个负结果;(ii)该装置的一个以前的数据处理操作是否产生一个零结果;(iii)是否由该装置的一个以前的数据处理操作置一进位位;和(iv)是否在该装置的一个以前的数据处理操作时产生一算术溢出。优选存储器访问设备包括把存储器地址传送给数据存储器的设备;相继把数据传送给数据存储器或从数据存储器接受数据的设备。为了使条件控制设备方便地响应存储器访问设备以及条件测试设备两者,优选存储器访问设备是可操作的以产生一中止控制信号来指明存储器访问是无效的;条件测试设备是可操作的以产生一条件失效控制信号来指明当前指令不应该执行;以及该装置包括把中止控制信号和条件失效控制信号结合的设备以产生一组合控制信号用来提供给条件控制设备。在一个有利的简单的实施例中,该结合设备包括一逻辑或门。在一方便的实施例中,该装置的数据处理操作由一时钟信号控制。从第二方面来看,本专利技术提供一个包括上面定义的装置的集成电路。从第三方面来看,本专利技术提供一种数据处理方法,其中连续的数据处理指令被有条件地执行,该方法包括的步骤有响应一条或多条指令的访问数据存储器;检测每一存储器访问是否无效;在每一指令执行时检测该指令是否应该被执行,这依赖于由以前执行的指令产生的该装置的处理状态;以及如果检测出由先行指令起动的存储器访问无效或当前指令不应该被执行时,则阻止当前指令的完整执行。附图的简要描述本专利技术以参照附图的示例的方式描述,描述中相同的部分以相同的参考数字表示,其中图1是原理定时图,表明由以前提出的数据处理器在一数据写操作时中止信号的定时需要;图2是按照本专利技术的实施例的数据处理装置的原理框图;图3是一中央处理器的一部分的原理框图;图4是原理定时图,表明由图2中的数据处理装置在一数据写操作时中止信号的定时需要。优选实施例的说明现在参考图2,图中示出按照本专利技术的一个实施例的数据处理装置的原理框图。该装置包括一中央处理器(CPU)100,一存储器管理单元(MMU)110和一随机存取存储器(RAM)120。CPU100和MMU110由用于交换存储器地址的地址总线130和用于交换数据的数据总线140连接。从MMU110到CPU100还提供中止控制线150用于传输失效的或无效的存储器访问的中止信号指示信号。对CPU100和MMU110提供一时钟信号以控制这两个单元的操作。每一数据处理指令由CPU100以特定数目的时钟信号周期执行(取决于指令的性质)并且存储器访问由MMU110与时钟信号同步执行。MMU110在CPU100和时钟信号的控制下访问存储在RAM120中的数据。相应地MMU通过多条地址和数据线160连接到RAM上。图3是中央处理器110的部分原理框图。CPU100本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:D·V·贾加,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。