QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1267|回复: 1

关于指令周期的疑问

[复制链接]
发表于 2009-12-15 10:46:33 | 显示全部楼层 |阅读模式
最近在学习Skyeye时从其源码中看到NumScycles, NumNcycles, NumIcycles, NumCcycles四个变量是用来统计指令周期的,我从ARM7TDMI Technical Reference Manual-r4p1.pdf中看到ARM的指令周期(执行一条指令所需要的时间)可分为N、S、I、C四类:

      N:非连续周期,在此周期中ARM7TDMI内核请求与一个内存地址进行数据传送,该地址与前一个周期所使用的地址无关。

      S:连续周期,在此周期中ARM7TDMI内核请求与一个内存地址进行数据传送,该地址比前一个周期所使用的地址大一个字或半个字。

      I:内部周期,在此周期中ARM7TDMI内核不请求内存数据传送,因为它正在执行一个内部功能,这时没有有用的预取指能够被执行。

      C:协处理器传输周期,在此周期中ARM7TDMI内核使用数据总线与协处理器进行通信,但不请求内存操作。

      据我了解,指令周期还可以再细分为若干个CPU时钟周期(由CPU时钟频率决定),一个N、S、I、C周期都有可能包含若干个CPU时钟周期,如当CPU执行从内存中取操作数操作,若cache miss时则需要从内存中读取数据,此时指令周期中就有可能插入若干个CPU时钟周期来等待内存(我们把它称为等待周期)。那么,如果我们把D- cache和I-cache都关掉,在N、S、I、C这四种周期中究竟应该插入多少个等待周期呢?
 楼主| 发表于 2009-12-28 09:03:00 | 显示全部楼层
有谁对ARM的CPU核熟悉,帮帮我啊兄弟们~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 02:34 , Processed in 0.086762 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表