本发明专利技术提供一种可编程序控制器。该可编程序控制器执行顺序程序,其具备:处理器,其从外部存储器读出命令代码来执行该命令代码;指令高速缓冲存储器,其存储上述顺序程序中包含的分支命令的分支目的地的程序代码,高速缓存控制器,上述分支命令的命令代码包含表示向上述指令高速缓冲存储器的记录的优先度的数据,该高速缓存控制器按照表示该优先度的数据将分支目的地的程序代码记录到上述指令高速缓冲存储器中。
【技术实现步骤摘要】
本专利技术涉及一种可编程序控制器,特别涉及具有用于高速地处理分支命令的指令高速缓冲存储器的可编程序控制器。
技术介绍
在执行顺序程序的可编程序控制器中,调用(CALL)、跳转(JUMP)等分支命令的执行步骤如下。<1>将外部存储器的地址数据设置在处理器内部的顺序程序用程序计数器(PC)中。<2>处理器向外部存储器输出地址数据。<3>外部存储器输出程序代码数据。<4>处理器取入程序代码数据并执行。在将顺序程序存储在可编程序控制器的外部的存储器中的情况下,如图5所示,从PC设置(设置程序计数器的时刻)到开始执行程序为止,具有时滞。该时滞成为延长分支命令的处理时间的原因。为了避免该分支命令的处理时间延长的问题,例如如日本特开2001-22577号公报、日本特表2010-509680号公报所公开的那样,通常设置存储分支目的地的程序代码的指令高速缓冲存储器,在发生分支时从该高速缓冲存储器中高速地读取程序代码,由此缩短发生分支时的处理时间(参照图6、图7)。如以上说明那样,在使用指令高速缓冲存储器的结构中,在分支目的地的数量比指令高速缓冲存储器的条目数多的情况下,在处理器参照指令高速缓冲存储器之前,始终被覆盖,存在产生完全没有高速缓冲存储器命中的现象的问题,指令高速缓冲存储器并非始终有效地起作用。
技术实现思路
因此,本专利技术的目的在于,提供一种可编程序控制器,其在将顺序程序存储在处理器外部的存储器中的可编程序控制器中,能够缩短在顺序程序中使用的分支命令的一部分或全部的处理时间。本专利技术的可编程序控制器执行顺序程序,其具备:处理器,其从外部存储器读出命令代码来执行该命令代码;指令高速缓冲存储器,其存储上述顺序程序中包含的分支命令的分支目的地的程序代码,高速缓存控制器,上述分支命令的命令代码包含表示向上述指令高速缓冲存储器的记录的优先度的数据,该高速缓存控制器按照该优先度数据将分支目的地的程序代码记录到上述指令高速缓冲存储器中。本专利技术的可编程序控制器执行顺序程序,其具备:处理器,其从外部存储器读出命令代码来执行该命令代码;指令高速缓冲存储器,其存储上述顺序程序中包含的分支命令的分支目的地的程序代码;计数器,其在执行上述顺序程序的过程中,对程序中包含的各个分支命令的执行次数进行计数;高速缓冲存储器行归档单元,其从执行次数多的分支命令的分支目的地程序代码开始按顺序记录到上述指令高速缓冲存储器中。也可以按照上述顺序程序中包含的各个分支命令的执行次数,向各分支命令代码附加表示处理的优先度的数据。本专利技术的可编程序控制器执行顺序程序,具备:处理器,其从外部存储器读出命令代码来执行该命令代码;指令高速缓冲存储器,其存储上述顺序程序中包含的分支命令的分支目的地的程序代码;锁定部,如果上述指令高速缓冲存储器的全部条目已被归档,则进行锁定以便以后不进行上述指令高速缓冲存储器的写入。本专利技术通过具备以上的结构,能够提供一种可编程序控制器,其在将顺序程序存储在处理器外部的存储器中的可编程序控制器中,能够缩短在顺序程序中使用的分支命令的一部分或全部的处理时间。【附图说明】通过参照附图对以下的实施例进行说明,本专利技术的上述目的和特征变得明确。在这些附图中:图1是说明本专利技术的可编程序控制器的结构的图。图2是表示指令高速缓冲存储器的存储内容的图。图3是表示分支命令的目标代码的例子的图。图4是表示在顺序程序的分支命令中组入的高速缓冲存储器记录优先度数据的图。图5是表示从PC设置到开始执行程序为止有时滞的图。图6是表示使用指令高速缓冲存储器缩短处理时间的图。图7是表示在指令高速缓冲存储器中存储的分支目的地的程序代码数据的图。【具体实施方式】图1是说明本专利技术的若干个实施方式的可编程序控制器的结构的图。图2是表示指令高速缓冲存储器的存储内容的图。图3是表示分支命令的目标代码的例子的图。图4是表示在顺序程序的分支命令中组入的高速缓冲存储器记录优先度数据的图。在本专利技术的若干个实施方式中,在将顺序程序存储在附加的SDRAM等处理器外部的存储器中的可编程序控制器中,具备用于高速地处理调用(CALL)、跳转(JUMP)等分支命令的结构。如图1所示,可编程序控制器I具备处理器10、主存储器13、缓存器14、指令高速缓冲存储器15以及高速缓存控制器16。处理器10具备程序计数器(PC) 11和指令解码器12ο在可编程序控制器I的内部具备用于存储若干个分支目的地的代码的指令高速缓冲存储器(参照图1?图4)。此外,在图2中,d表示脏比特(dirty bit),v表示有效比特,L表示锁定比特。另外,在图3中,标志C(FLAG C)表示高速缓冲存储器使用标志,标志L (FLAG L)表示高速缓冲存储器锁定标志。在刚刚设置了 PC后,并不从主存储器13取出代码数据,而是从该指令高速缓冲存储器15取出代码数据来执行顺序程序,由此削除在从主存储器13取出代码数据时产生的时滞(参照图6)。但是,在现有的高速缓冲存储器中,在程序中的子例行程序等的分支目的地的数量比高速缓冲存储器的条目数多的情况下,在处理器10参照高速缓冲存储器之前始终被覆盖,有时发生完全不会命中高速缓冲存储器的现象。另一方面,在顺序程序中,与普通的处理器所处理的程序同样地,存在执行频度多的分支命令和非常少地执行的分支命令。为了避免现有技术的问题点,最大限度地有效利用指令高速缓冲存储器15,追加了以下这样的规格。可编程序控制器I的用户针对高速缓冲存储器的条目选择以下(I)?(3)这些方法中的某个方法。例如,在程序中的分支目的地的数量比高速缓冲存储器的条目数小的情况下,选择⑶的方法。(I)在CALL、JUMP等分支命令的命令代码上附加表示高速处理的优先度、即表示向指令高速缓冲存储器15记录的优先度的数据。例如,如以下那样将优先度分为3个阶段,与该优先度对应地如以下那样区分使用高速缓冲存储器。优先度O:不使用高速缓冲存储器。从主存储器13读出分支目的地命令代码。优先度1:优先度低。许可条目的覆盖。在为如果进行了一次调当前第1页1 2 本文档来自技高网...
【技术保护点】
一种可编程序控制器,其执行顺序程序,其特征在于,具备:处理器,其从外部存储器读出命令代码来执行该命令代码;指令高速缓冲存储器,其存储上述顺序程序中包含的分支命令的分支目的地的程序代码,高速缓存控制器,上述分支命令的命令代码包含表示向上述指令高速缓冲存储器的记录的优先度的数据,该高速缓存控制器按照该优先度数据将分支目的地的程序代码记录到上述指令高速缓冲存储器中。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:宫地基好,野本靖司,
申请(专利权)人:发那科株式会社,
类型:发明
国别省市:日本;JP
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。