引言:随着CPU不断的升级和总线速度的不断提高,存储器的速度远远不能与之匹配,高速缓存的存取速度和CPU相匹配,但价格高,且容量小;内存由DRAM构成,速度比高速缓存慢,但容量大;辅助存储器速度比内存慢的多,但容量又比内存大得多。为使存储空间足够大且又能满足CPU的存取速度要求而且价格适中,计算机采用层次化的存储体系结构,在系统运行时,把使用最频繁的程序和数据放在高速缓存中,经常使用的程序和数据放在内部存储器中,把不太常用且容量较大的程序和数据放在辅助存储器中,提高存储体的性能价格比。
上面所述为网络摘取的有关计算机采用层次化的存储体系结构的相关说明,在此处想说的是PLC的存储区域是否也存在与此类似或相同的结构?
在S7-200系统手册的附录F中STL指令的执行时间一节中,我们可以明显地看到一些指令访问不同的存储区域有着不同的执行时间,例如LD指令,其中以访问I区时间最短,0.22us,而在访问SM、T、C、V、S、Q、M存储区域时为0.8us,访问L存储区域时执行时间相较最长,达到6us。
在“缩短程序扫描周期的方法(共享讨论)”一帖中,yanxiao版主作过如下推测陈述“用富余的I、Q区域,当作数据处理时的变量,的确可以省时间,甚至比M区还省。I、Q、M区的体积都很小,生成的指令代码短,或许执行时还对这些区域的访问有优先,所以执行起来就快。”
由于没有过开发PLC的从业经历,所以对其真正的存储机理知之甚少,当然不知道这些东西也对PLC的使用没有太大的影响,纯属个人好奇,所以在此提出此问题,深盼从事过开发工作或者具有真知灼见的朋友能够指点迷津。不胜感谢。