关于ARM9体系架构理解方面的问题

success5can 2014-02-09 09:16:48
求教高人:
因我现在刚学嵌入式linux,先现在对ARM9体系架构有一个大概的了解,具体的问题是:
我想大概的明白:在ARM9中,CPU在读取指令内容的时候的操作跟CPU硬件资源中的数据总线
,地址总线和控制总线是个什么关系,另外,CPU在读取指令,然后执行的过程是怎么样的,
跟硬件资源上的总线有什么联系?
非常感谢您的帮忙!
...全文
1230 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
天朗-星空 2014-05-02
  • 打赏
  • 举报
回复
可以找一本《计算机组成原理》的书,看一下指令执行的流程,你现在还没有建立起CPU体系模型,所以还不了解ARM指令的执行过程
zhouchenhui0828 2014-04-03
  • 打赏
  • 举报
回复
同新手,记得老师上课说过一般CPU执行一段指令后 会发生相应的中断,然后地址总线,数据总线等开始工作。
inurlcn 2014-03-28
  • 打赏
  • 举报
回复
《ARM体系结构与编程》
inurlcn 2014-03-28
  • 打赏
  • 举报
回复
<ARM体系结构与编程>
超能钙片 2014-03-28
  • 打赏
  • 举报
回复
arm的体系架构类的书去看看吧,结合手册。
猪头三小队长 2014-03-03
  • 打赏
  • 举报
回复
地址总线,数据总线和控制总线对于arm的体系结构来说都属于arm核心之外的东西,这些方面的具体资料需要你去阅读amba总线规范来理解,2.0规范介绍到ahb总线,3.0规范介绍到axi总线,不过想要理解这些内容需要你对基本的计算机体系结构有较为深刻的理解。下面使用的是kernel这个词,只是arm的最核心部分。 简单地说当kernel读取指令时,kernel会执行以下几步操作。 1)向总线仲裁发出读取请求(cpu核心只是amba总线上的多个master之一,arbiter会对所有master的请求按照一定的优先级策略进行响应,kernel并不一定拥有更高优先级) 2)当arbiter将总线使用权赋予kernel之后,kernel会发出相应地址的读请求,然后在原地等待。 3)总线上的decoder会根据自己的记录解析地址,如果是非法地址就给出data abort异常,如果是合法地址就把请求传递给相应的slave器件。 4)slave会根据自身的情况给出控制信号,比如ready,error或者split之类的,如果一切正常就会迅速给出数据并通知master已经ready,随后的周期中kernel会采样数据,并认为这就是需要拿到的指令。 以上描述只是针对单个指令的读取的简单描述,如果涉及到流水线(armv6前arm没有真正的流水线结构,armv7之后没有具体了解)或者指令预测之类的操作会更复杂,同时如果mmu,cache,读写buffer也参与的话就更复杂了,lz还是一步步了解吧。
  • 打赏
  • 举报
回复
楼主的问题,最好好看下ARM相关的介绍. CPU 是通过数据总线及地址总线读取存放在存储器中的指令,然后根据流水线的方式指靠指令.
inurlcn 2014-02-12
  • 打赏
  • 举报
回复
这个你要看时序图就知道了
对面就是MTK 2014-02-12
  • 打赏
  • 举报
回复
这个属于嵌入式linux领域的东西么?

1,025

社区成员

发帖
与我相关
我的任务
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
  • CPU和硬件区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧