第3章节arm9芯片s3c2410片上资源.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章节arm9芯片s3c2410片上资源

嵌入式系统 第三章 ARM9芯片S3C2410 片上资源 主要内容 3.0 ARM9处理器简介 3.1 S3C2410处理器介绍 3.2 S3C2410处理器片上资源的定义和使用 3.3 参考软件项2410test.mcp 3.0 ARM9处理器简介 ARM9通过增加时钟频率和减少指令执行周期提高性能。 (1)时钟频率的提高 ARM9采用了五级流水线,提高了时钟频率和并行处理能力。ARM9 TDMI处理器的时钟频率是ARM7 TDMI的2倍左右。 (2)指令周期的改进:性能提高的幅度依赖于代码执行时指令的重叠。 ① load指令和store指令:指令执行时间缩短30% ② 互锁(interlock)技术 ③ 分支指令:ARM9和ARM7的分支指令周期相同,没有采用分支预测。 2.ARM9体系结构的五级流水线 (1)取指:从存储器中取出指令放入指令流水线(fetch)。 (2)译码:对指令进行译码(dec)。 (3)执行:执行运算ALU(exe) (4)访存(缓冲/数据):如果需要,则访问数据存储器 (5)回写:将指令产生的结果回写到寄存器(wtbk res),包括任何从存储器中读取的数据。 3.0.1 ARM9工作模式 ARM9 TDMI处理器核共支持7种工作模式: ●用户模式(usr):正常执行程序时的处理。 ●快速中断模式(fiq):用于高速数据传输或通道处理。 ●外部中断模式(irq):用于通用的中断处理。 ●管理模式(svc):操作系统使用的保护模式。 ●指令/数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 ●系统模式(sys):运行具有特权的操作系统任务时的模式。 ●未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。 3.0.1 ARM9工作模式 ARM9 TDMI处理器核的运行(工作)模式可以通过软件的控制改变,也可以通过外部中断或异常处理改变。 大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的所有6种模式特权模式。 每种工作模式下均有其附加的某些寄存器,因此,即使有异常情况发生,异常模式下的处理程序也不至于破坏用户模式的数据及状态。 ARM9处理器有两种工作状态:ARM状态和Thumb状态。 3.0.2 ARM9存储器组织结构 ARM9体系结构采用32位长度地址,地址范围:0xffffffff,存储容量:2^32=4GB字节)。因此,ARM9体系结构允许使用现有的存储器和I/O器件进行各种存储器系统设计。 大端存储和小端存储 3.0.3 I/O端口的访问方式 I/O端口的访问有两种方式,一种是端口地址和存储器统一编址,即存储器映射方式;另一种是I/O端口地址与存储器分开独立编址,即I/O映射方式(独立编址)。 ARM9体系结构使用存储器映射方式实现I/O端口的访问。由于存储器映射方式是为每个I/O端口分配特定的存储器地址,当从这些地址读出或向这些地址写入时,实际上就完成了I/O功能。即从存储器映射的I/O加载即是输入,而向存储器映射的I/O地址存储即是输出。 3.0.4 内部寄存器 ARM9处理器内部共有37个32位寄存器 分成通用寄存器和状态寄存器两大类 通用寄存器用于保存数据或地址; 状态寄存器用来标识或设置存储器的工作模式或工作状态等功能。 ARM9处理器的37个寄存器中,31个用作通用寄存器,6个用作状态寄存器,每个状态寄存器只使用了其中的12位。 这37个寄存器根据处理器的工作状态及工作模式的不同而被分成不同的组。程序代码运行时涉及的工作寄存器组是由ARM9处理器的工作模式确定的。 1.通用寄存器 通用寄存器用于保存数据或地址,用字母R前缀加该寄存器的序号来标识。通用寄存器包括R0~R15寄存器,可分成未分组寄存器、分组寄存器及程序计数器三种。 (1)未分组寄存器R0~R7 未分组寄存器包括R0~R7,在所有工作模式下,它们在物理上是同一个寄存器。也就是说,不管在哪种工作模式下,若访问R0寄存器,访问到的是同一个32位的物理寄存器R0;若访问R1寄存器,访问到的是同一个32位的物理寄存器R1;依次类推。由于不同的处理器工作模式均使用相同的未分组寄存器,可能会造成寄存器中数据的破坏。 (2)分组寄存器R8~R14 分组寄存器包括R8~R14。对于分组寄存器,它们每一次所访问的物理寄存器与处理器当前的工作模式有关,如图2.5所示。对于R8~R12寄存器,每个寄存器对应两个不同的物理寄存器。当使用fiq模式时,访问寄存器R8_fiq~R12_fiq;当使用fiq模式以外的其他模式

文档评论(0)

rachel + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档