ARM流水线结构是什么??
答案:2 悬赏:80 手机版
解决时间 2021-02-16 16:45
- 提问者网友:凉末
- 2021-02-16 01:04
ARM流水线结构是什么??
最佳答案
- 五星知识达人网友:逃夭
- 2021-02-16 01:51
1.指令预取
2.译码
3.执行
4.数据缓存
5.写回
2.译码
3.执行
4.数据缓存
5.写回
全部回答
- 1楼网友:一叶十三刺
- 2021-02-16 02:00
arm处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理与存储器系统之间的操作更加流畅,连续,能提供0.9mips/mhz的指令执行速度。
pc代表程序计数器,流水线使用三个阶段,因此指令分为三个阶段执行:1.取指(从存储器装载一条指令);2.译码(识别将要被执行的指令);3.执行(处理指令并将结果写回寄存器)。而r15(pc)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,因此pc总是指向第三条指令。当arm状态时,每条指令为4字节长,所以pc始终指向该指令地址加8字节的地址,即:pc值=当前程序执行位置+8;
周期1 周期2 周期3 周期4 周期5 周期6
pc-8 取指 译码 执行
pc-4 取指 译码 执行
pc 取指 译码 执行
2.................................................................
如果arm7的主频是60m的话,实际代码运行速度是60*0.9=54mips,对于arm9则是60*1.1=66mips吗?
另外对于3级流水线的arm,一条指令从取指到执行完毕,实际时间也是3周期吧?还有如此算的话一周期执行一条指令,那60m的主频,实际代码运行速度为什么不是60mips,而要乘0.9呢?是不是把一些特殊指令,还有分支任务时指令延时也算了,才乘个系数0.9?还有arm9的1.1mips/hz是怎么实现的?
为分支和循环操作的存在,使得在执行这些指令时需要清空流水线,导致arm7的指令执行效率降低,所以arm7的指令性能是0.9mips/mhz。
而arm9相对于arm7,由于是harvard结构,取指令和取操作数的效率更高,即执行某些指令的效率更高,所以其指令性能达到1.1mips/mhz。但这并不意味着,arm9在1个指令周期内可以执行超过1条指令。
3..............................................................
归根结底:就是——
取指
译码
执行
主要在循环程序的设计上可以优化程序
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯