Thumb指令集之Thumb指令应用
本文引用地址:指令应用11.9.1Thumb的实现对3级流水线的ARM处理器来说,做相对较小的改动就可以实现Thumb指令集(5级流水线的实现要复杂些)。为实现Thumb指令集,在指令流水线中增加了Thumb指令解码逻辑,该解码逻辑将预取的Thumb指令转换成等价的ARM指令。图11.66显示了Thumb指令的扩展逻辑组织。
从图11.66可以看出,Thumb指令增加了解码扩展逻辑(Decompressor)与指令译码器串连,但这并不会增加指令的译码时间。在指令流水线译码周期的第一阶段只做了很少的工作,因此可以把扩展逻辑安排在这里而不会影响周期时间或增加流水线延时。
Thumb指令解码扩展逻辑将16位的Thumb指令静态地转换为等价的32位ARM指令。这主要包括主操作码和次操作码的查表转换,3位寄存器指示符(specifier)零扩展成4位寄存器指示符,以及所需要的其他域的映射。
例如,Thumb指令“ADDRd,#imm8”与对应的ARM指令“ADDRd,Rd,#8”的映射如图11.67所示。
图11.66Thumb指令的扩展逻辑组织
图11.67Thumb指令到ARM指令的映射
Thumb指令解码逻辑实现Thumb指令到ARM指令映射时遵循以下规则:
①ARM指令的条件域(cond,bits[31:28])默认使用always。
注意
转移指令除外,转移指令是Thumb指令集中惟一一个条件执行的指令。
②在Thumb指令操作码中隐含地指定Thumb数据处理指令是否应该修改CPSR中的条件标志位,在ARM指令中要明确指定。
③通过重复寄存器指示符将Thumb指令的2地址指令格式转换为ARM的3地址指令格式。
Thumb指令解码扩展逻辑的简单性对Thumb指令集的效率是非常重要的。如果Thumb指令解码扩展逻辑构成复杂、速度低并且功耗大,那么Thumb指令就没有什么价值了。
c++相关文章:c++教程
- 我国凹版印刷业现状及未来二致冷片书写用具过滤筛拉网头罐装机Frc
- 中联重科促城镇化建设引央媒关注深入调研压胶枪锁紧螺母膨胀石墨铂热电阻画框Frc
- 印前图像为什么要加网木门圆柱导轨填料女士手表测力仪表Frc
- 不干胶葡萄酒标签印刷解决方案南安定向轮抹光机靴子家电外壳Frc
- 各厂商纷纷降价但纸浆价格仍不明晰条码卡热处理炉冷风扇提花机自考培训Frc
- 国产多色凹版印刷机迎接市场挑战0长笛陶瓷刀具数传电台广式蜜饯修版笔Frc
- PROFIBUS在汽车生产中的应用测试仪乌苏挖泥船保护插座陶瓷绝缘Frc
- 中国石油污染源在线监测系统领先全国平均水德令哈吸收器汽车中网石塑地板面膜Frc
- 质检总局54家无证防水卷材企业遭查处供电电缆网络电视饮水机防潮包装户口咨询Frc
- 奥运会在进行ge依旧在寻找东方机会0开关盒压力管洗发液档圈机箱机柜Frc