嵌入式系统设计与开发 教学课件 ppt 作者 马文华 主编 邓耀华 汤秀春 胡伟 副主编 10ARM9 处理器

上传人:E**** 文档编号:89156164 上传时间:2019-05-19 格式:PPT 页数:51 大小:461.51KB
返回 下载 相关 举报
嵌入式系统设计与开发 教学课件 ppt 作者 马文华 主编 邓耀华 汤秀春 胡伟 副主编 10ARM9 处理器_第1页
第1页 / 共51页
嵌入式系统设计与开发 教学课件 ppt 作者 马文华 主编 邓耀华 汤秀春 胡伟 副主编 10ARM9 处理器_第2页
第2页 / 共51页
嵌入式系统设计与开发 教学课件 ppt 作者 马文华 主编 邓耀华 汤秀春 胡伟 副主编 10ARM9 处理器_第3页
第3页 / 共51页
嵌入式系统设计与开发 教学课件 ppt 作者 马文华 主编 邓耀华 汤秀春 胡伟 副主编 10ARM9 处理器_第4页
第4页 / 共51页
嵌入式系统设计与开发 教学课件 ppt 作者 马文华 主编 邓耀华 汤秀春 胡伟 副主编 10ARM9 处理器_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《嵌入式系统设计与开发 教学课件 ppt 作者 马文华 主编 邓耀华 汤秀春 胡伟 副主编 10ARM9 处理器》由会员分享,可在线阅读,更多相关《嵌入式系统设计与开发 教学课件 ppt 作者 马文华 主编 邓耀华 汤秀春 胡伟 副主编 10ARM9 处理器(51页珍藏版)》请在金锄头文库上搜索。

1、第10章 ARM9 处理器,10.1 ARM9TDMI 特点及其与ARM9TDMI 的比较 10.2 ARM920T处理器 10.3 S3C2410芯片,10.1 ARM9TDMI 特点及其与ARM9TDMI的比较,ARM9TDMI和ARM7TDMI分别是ARM9和ARM7系列芯片 的处理器核,下面将从与ARM7TDMI做比较的角度阐述 ARM9TDMI的特点。 1)ARM9系列处理器和ARM7系列处理器的最大区别就 是指令执行过程由原来的3级流水线(取指、译码和执行), 变成了5级流水线(取址、译码、执行、数据存储器/数据 cache访问和寄存器回写)。两种内核的指令执行流水线对照 图如图1

2、0.1所示。其中ARM9TDMI的第四步,数据存储器访问 操作主要作用是更新数据cache中的数据,实际上是对数据 cache的访问。,(a)ARM7TDMI流水线 (b)ARM9TDMI流水线 图10.1 ARM7TDMI和ARM9TDMI流水线对照图,ARM9TDMI 5级流水线组织结构图如图10.2所 示。 ARM9TDMI和ARM7TDMI相比,其中的译码部分 是通过硬件实现Thumb指令解码,即执行Thumb指令 时由ARM7TDMI的软解码到ARM9TDMI的Thumb指 令的硬解码,这使得ARM9TDMI相对ARM7TDMI的解 码速度提高了。 2)ARM9TDMI同ARM7TD

3、MI相比较除了采用硬 件Thumb解码外,其指令流水线由3级变成5级也使得 程序的执行时间缩短了,这是根据程序的执行时间 Tprog,由式(10.1)决定。 (10.1),式(10.1)中,Ninst:即程序中执行的ARM指 令数;CPI:即平均每条指令的时钟周期数;fclk:表 示处理器时钟频率。这样对于给定的程序即Ninst固定 的情况下,只有通过提高处理器时钟频率fclk和增加平 均每条指令时钟周期数CPI的方法来缩短程序执行的 时间,提高处理器的执行能力。这样如果同一指令的 执行时间在处理器的时钟频率不方便更改时,可以通 过更改CPI以显著地缩短程序执行时间。,图10.2 ARM9TD

4、MI 5级流水线组织结构,3)虽然ARM7TDMI和ARM9TDMI都是基于ARM 体系结构的v4T版本,但在数据中止模式时ARM9TDMI采用的 是基地址重新装入(base restored data abort model)模式, 而ARM7TDMI采用的是基址更新模式(base updated data abort model)。在ARM9TDMI中,当出现访问存储器数据中 止时,处理器硬件在数据中止指令执行前,自动保存相应发生 数据中止时基地址寄存器的值,这样消除了数据中止句柄去一 一查找引起数据中止操作的指令确定的基地址寄存器更新。 4)ARM7TDMI是基于冯诺依曼体系结构,而 A

5、RM9TDMI是基于哈佛结构。一般将这两个结构放在一起进行 对比说明时,主要是指存储器结构设计不同。在早期设计中冯 诺依曼体系结构将指令存储器和数据存储器放在一起,而后期 的哈佛结构是将两者分开的。,后者在处理器的设计中增加了cache,把指令cache和数据 cache分开实现并且相应的MMU也分开实现,就形成了现在的 哈佛结构。而把指令和数据cache放在一起是冯诺依曼体系结 构的特点。下面简单分析这两种体系的优缺点。 冯诺依曼结构是在同一个存储空间取指令和数据,两者分时复用一条总线,故限制了工作带宽,使控制电路较复杂。哈佛结构,指令和数据空间完全分开,可以同时访问,且一次读出从而减少存贮

6、器的读取次数,简化控制电路,方便实现流水线。 在冯诺依曼体系结构中,数据和程序存储器是共享数据总线。数据总线共享,有很多优点,比如减小总线开销、能够把RAM映射到程序空间。而对于哈佛体系结构的计算机,程序和数据总线是分开的,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。程序存储器和数据存储器独立编址的优势在于能够在一个时钟周期内同时读取程序和数据,这样就相应地减少了执行每一条指令所需的时钟周期,即可以达到高速、并行工作。 5)还有一点就是ARM9TDMI可以完全执行ARM体系结构 v4和v4T的未定义异常指令扩展空间上的指令集,而 ARM7TDMI是不能执行的。

7、这些指令扩展空间包括:算术指令 扩展空间、控制指令扩展空间、协处理器指令扩展空间和加载/ 存储扩展空间。,10.2 ARM920T处理器,10.2.1 ARM920T功能模块 10.2.2 ARM920T功能概述,本节主要讨论ARM920T处理器的相关的组织结构和功能 划分。 ARM9系列处理器/芯片可分为:以ARM9TDMI为CPU核 的基于ARMv4T体系结构的普通ARM9系列处理器/芯片;以 ARM9E和ARM9EJ为处理器核的基于ARMv5TE和ARMv5TEJ 体系结构的、具有DSP和Java扩展功能的系列处理器/芯片。 基于ARM9TDMI CPU核的处理器包括ARM920T、AR

8、M922T 和ARM940T,它们的特性见表10.1,其中的“”号表示具有该 特性,“”号表示不具有该特性。,表10.1 基于ARM9TDMI处理器核的处理器性能对比,10.2.1 ARM920T功能模块,ARM920T是在ARM9TDMI的基础上分别增加了 16K的指令和数据cache、数据和指令存储器管理单元 MMU、写缓冲器及协处理器CP15,各单元之间通过 AMBA(advanced microcontroller bus architecture) 总线同总线主控单元相连。其功能模块框图如图10.3 所示。,图10.3 ARM920T功能模块框图,10.2.2 ARM920T功能概述

9、,1. 指令、数据caches 指令和数据cache的大小都是16KB,采用64路相连的 分段式CAM-RAM组织。每个cache分为8段,每段64 行。段由A7:5寻址。每行8个字(32字节),支持以 256字节为单位的锁定(对应每段一行),替换策略 为伪随机或循环替换策略,由CP15寄存器1的RR位 (位14)决定,CP15将在下面详细介绍。如果cache 未命中,就从存储器中一次将整行8个字全部重新读 入。其中指令cache是只读的,数据cache采用读出和回写策略。,2. 写缓冲器 写缓冲器是可以保存4个地址和16个数据字的buffer。 3. AMBA总线接口 ARM920T有一个双

10、向的ASB(advanced system bus)总 线接口,用于完成ASB上的主模块接口功能。如果添加三态驱 动则该接口也可以完成ASB总线上的从模块接口功能,这样接 口就变成了主从都可以运行的接口。通过增加一个组合包装 (synthesizable wrapper)ARM920T就可以完成AHB总线主 从接口的功能(有关ARM总线见10.3.1节)。 4. 跟踪接口 跟踪接口完成嵌入式跟踪宏ETM9和外界连接、通信的功 能。,5. 指令、数据MMU 由于ARM9采用的哈佛结构即数据和指令分开存储,这样相应的cache 和MMU都是由两个分开部分构成。MMU是用来管理虚拟内存系统的硬件。

11、用于完成将虚拟地址转换成物理地址和控制存储器的存储权限,主要对 ARM9TDMI的指令和数据地址接口提供传输和访问允许检查,提供地址信 号的传输和保护规划。MMU中少量存储空间存放从虚拟地址到物理地址的 匹配表TLB(translation lookaside buffers)。TLB中是虚拟地址及其对应 的物理地址、访问权限、域和映射类型等。当ARM9TDMI对某一虚拟地址 进行访问时,MMU首先查看自己的TLB表,如果没有查到对应的地址信息 则进行转换表漫游操作,并将查到的信息保存在TLB中,而后根据TLB表进 行操作。是否使用MMU的两级虚拟地址管理功能在ARM920T中实际上是由 CP

12、15协处理器决定。如果MMU被关掉,那么如图10.3所示相应的指令和数 据虚拟地址直接由IMVA(instruction modified virtual address)和DMVA (data modified virtual address)输入到IPA(instruction physical address)和DPA(data physical address)中,即由虚拟地址直接变成物 理地址。,6. 系统控制协处理器(system control coprocessor)CP15 提供ARM9TDMI寄存器以外的寄存器,用于配置 并控制ARM920T的caches、MMU、时钟类型

13、和大小 端操作等系统操作。从某种意义上说,CP15实际上 就是ARM920T的系统控制器。下面主要是结合CP15 各个寄存器的介绍来说明CP15的工作原理和在 ARM920T中的作用。 CP15寄存器和功能描述见表10.2,表中的未知 表示这种操作产生的结果是未知的,或者说是没意义 的,即表示对应的寄存器是只读的或者只写的。其中的未定义表示寄存器保留未使用。下面介绍部分寄存器的使用和功能,以便读者对CP15的功能有所了解。,表10.2 CP15寄存器和功能描述,见表10.2,表中有两个寄存器0,使用的时候怎样区别 呢?通过第3章的学习可以知道协处理器寄存器的访问只能通 过MCR/MRC来完成,

14、这里两个0寄存器的访问是通过opcode2 来确定的,如下: MRC p15,0,Rd,c0,c0,0;opcode2位是0,返回ID码寄存 器,标识处理器的相关信息 MRC p15,0,Rd,c0,c0,1;opcode2位是1,返回 cache 类型 寄存器1是32位控制寄存器,各位的功能见表10.3。 这里仅说明第0位如果为0则MMU就关闭,否则开启,这 就是MMU是否工作是由CP15决定的原因。其他各位的功能如 表10.3所示。,表10.3 寄存器1各位功能表,CP15正常情况下,在保存完相关寄存器后会读取CP15的 c6、c5和c13 3个寄存器。这3个寄存器分别是失效地址寄存器 (

15、FAR)、失效状态寄存器(FSR)和进程号寄存器。然后根 据具体的失效类型来进行处理。 在ARM920T处理器中,无论是指令还是数据都有3种地址 类型:VA(virtual address)、PA(physical address)和 MVA(modified virtual address))。VA也就是我们通常说的虚 拟地址或逻辑地址,是通过CP15按照PT(page table)转换 后的地址,而PA则是对应于AMBA的地址,对应存储器的地址 也就是物理地址。而MVA则是对应于cache和TLB中转换地 址,从虚拟地址VA到物理地址PA中间是经过修正虚拟地址 MVA的。如图10.3所示,

16、通过CP15的寄存器13将VA转换成 MVA后,如果MMU工作即如表10.3所示CP15的寄存器1的第0 位为1,就经过MMU将MVA转换为PA,如果MMU不工作则直 接用MVA地址作为PA。,10.3 S3C2410芯片,10.3.1 AMBA总线 10.3.2 S3C2410框图 10.3.3 S3C2410功能概述,10.3.1 AMBA总线,AMBA(advanced microcontroller bus architecture)总线是ARM公司推出的微控制器/宏单 元之间通信的片上系统总线体系结构。AMBA总线规 范定义了3种总线标准,这3种标准分别是: AHB(advanced high-performance bus):用于连接高性能高时钟频率的系统模块。支持突发数据传输方式和单个数据传输方式,时序都采用同一触发沿形式。 ASB(advanced system bus):用于连接高性能系统模块,可以支持突发数据传输模式。 APB(advanced peripheral bus):为低性能的外围部件提供较简单的接口,可以用于和其

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号