详情请进入 湖南阳光电子学校 已关注:人 咨询电话:0731-85579057 微信号:yp941688, yp94168
每个save指令都是在被调用的函数的第一条指令处开始执行。而SAVE的指令与ADD的指令相同,其功能是可以将sparcCWP减一。让CWP-1窗口成为新的当前的窗口。
当函数执行完成后,则执行restore指令,让窗口指令加一。窗口就回归原位了。
4.sparc设计对于嵌入式编程的优劣
对于嵌入式来说,如果只设计可控的程序,逻辑设计上尽可能的单一可控,并且 好函数的嵌套深度不应该超过8个, 好不发生上溢或者下溢操作。这样不用访问存储器,并且底层的指令很少,对于程序的执行效率很有保障。有上溢或者下溢,一次性就需要压栈或者出栈操作,使得其程序的执行效率不在那么高效。
而对于rtos来说,设计上也稍微复杂了一些,需要不仅需要判断当前窗口的溢出情况,还需要保存窗口寄存器的栈,这样对于系统上下文的线程栈需要的空间消耗是非常大的。目前也没有想到合适方式去减少栈的消耗,而且在rtos上,sparc架构所占的优势并不是很明显,以上仅仅是我对这种架构在嵌入式上使用的一些看法。
总结起来,sparc架构的好处是由于有了窗口寄存器模型,如果程序设计的优秀简单,这个是非常好的,效率也可以非常高,简洁的寄存器、简洁的控制状态,需要编程人员要有很高的水平。缺点就是不考虑sparc架构的编程方式,将会使得程序的效率非常的低下,sparc芯片的使用也变得十分的困难。
责任编辑:xj
原文标题:sparc体系架构的窗口寄存器的深入理解
文章出处:【微信公众号:嵌入式IoT】欢迎添加关注!文章转载请注明出处。
.(编辑:松北电工培训学校)