第2章基于ARM920T核微处理器第2章基于ARM920T核微处理器2.1ARM处理器简介2.2ARM920T简介2.3三星S3C2410X处理器详解第2章基于ARM920T核微处理器ARM微处理器的特点采用RISC指令集低功耗、低成本、高性能使用大量的寄存器ARM/THUMB指令支持三/五级流水线2.1ARM处理器简介第2章基于ARM920T核微处理器ARM微处理器的特点—采用RISC体系结构采用RISC架构的ARM处理器一般具有如下特点:固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种;使用单周期指令,便于流水线操作执行;大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。第2章基于ARM920T核微处理器ARM微处理器的特点—大量使用寄存器ARM处理器共有37个寄存器,被分为若干个组,这些寄存器包括:31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器;6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位。第2章基于ARM920T核微处理器ARM微处理器的特点—高效的指令系统ARM微处理器支持两种指令集:ARM指令集和Thumb指令集。ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。第2章基于ARM920T核微处理器ARM微处理器的特点—其他技术除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:所有的ARM指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。可用加载/存储指令批量传输数据,以提高数据的传输效率。可在一条数据处理指令中同时完成逻辑处理和移位处理。在循环处理中使用地址的自动增减来提高运行效率。第2章基于ARM920T核微处理器ARM微处理器系列ARM7系列ARM9系列ARM9E系列ARM10E系列SecurCore系列Intel的Xscale其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。第2章基于ARM920T核微处理器ARM7微处理器系列ARM7系列是低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7系列有如下特点:具有嵌入式ICE-RT逻辑,调试开发方便;极低的功耗,适合对功耗要求较高的应用,如便携式产品;能够提供0.9MIPS/MHz的三级流水线结构;兼容16位的Thumb指令集,代码密度高;对操作系统的支持广泛,如WindowsCE、Linux、PalmOS等;指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代;主频最高可达130M,高速的运算处理能力能胜任绝大多数的复杂应用。第2章基于ARM920T核微处理器ARM7微处理器系列主要应用领域:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体等。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:T:支持16位压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上断点和调试点;第2章基于ARM920T核微处理器ARM9微处理器系列ARM9系列微处理器在高性能和低功耗特性方面提供最佳的表现。具有以下特点:5级流水线,指令执行效率更高。提供1.1MIPS/MHz的哈佛结构。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。MPU支持实时操作系统。支持数据Cache和指令Cache。第2章基于ARM920T核微处理器ARM9微处理器系列ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。第2章基于ARM920T核微处理器ARM9E微处理器系列ARM9E系列微处理器的主要特点如下:支持DSP指令集,适合于需高速数字信号处理的场合。5级流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。支持VFP9浮点处理协处理器。全性能的MMU,支持众多主流嵌入式操作系统。支持数据Cache和指令Cache,具有更高的处理能力。主频最高可达300M。第2章基于ARM920T核微处理器ARM9E微处理器系列ARM9E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型,以适用于不同的应用场合。第2章基于ARM920T核微处理器ARM10E微处理器系列ARM10E系列微处理器的主要特点如下:支持DSP指令集,适合于需要高速数字信号处理的场合。6级流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。支持VFP10浮点处理协处理器。全性能的MMU,支持众多主流嵌入式操作系统。支持数据Cache和指令Cache,具有更高的处理能力主频最高可达400M。内嵌并行读/写操作部件。第2章基于ARM920T核微处理器ARM10E微处理器系列ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。第2章基于ARM920T核微处理器SecurCore微处理器系列SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点:带有灵活的保护单元,确保操作系统和应用数据的安全。采用软内核技术,防止外部对其进行扫描探测。可集成用户自己的安全特性和其他协处理器。第2章基于ARM920T核微处理器SecurCore微处理器系列SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。SecurCore系列微处理器SecurCoreSC100、SecurCoreSC110、SecurCoreSC200和SecurCoreSC210四种类型。第2章基于ARM920T核微处理器StrongARM微处理器系列IntelStrongARM处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。IntelStrongARMSA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Intel公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系结构。第2章基于ARM920T核微处理器Xscale处理器Xscale处理器是基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。Xscale处理器是Intel目前主要推广的一款ARM微处理器。第2章基于ARM920T核微处理器2.2ARM920T简介ARM920T是ARM920TDMI系列中的一款通用性的微处理器,ARM920TDMI系列微处理器包含如下几种类型的内核。ARM9TDMI:只有内核。ARM940T:由内核、高速缓存和内存保护单元组成。ARM920T:由内核、高速缓存和内存管理单元(MMU)组成。第2章基于ARM920T核微处理器ARM920T提供完善的高性能CPU子系统:包括如下方面:●ARM9TDMIRISC整数CPU●16K字节指令与16K字节数据缓存●指令与数据存储器管理单元(MMUs)●写缓冲器●高级微处理器总线架构(AMBA™)总线接口●ETM(内置追踪宏单元)接口第2章基于ARM920T核微处理器ARM9TDMI采用5级流水线,具体如下。(1)取指:从存储器中取出指令,并将其放入指令流水线。(2)译码:对指令进行译码。(3)执行:把一个操作数移位,产生ALU的结果。(4)缓冲/数据:如果需要,则访问数据存储器;否则ALU的结果只是简单地缓冲1个时钟周期,以便所有的指令具有同样的流水线流程。(5)回写:将指令产生的结果回写到寄存器,包括任何从存储器中读取的数据。第2章基于ARM920T核微处理器ARM920T以ARM9TDMI为内核,增加了高速缓存和内存管理单元,系统结构图如图2.1所示。第2章基于ARM920T核微处理器2.2.1ARM920T内核编程模型字(Word)——字的长度为32位半字(Half-Word)——半字的长度为16位字节(Byte)——字节的长度均为8位指令长度:在ARM状态下是32位在Thumb状态下为16位ARM920T中支持字节(8位)、半字(16位)、字(32位)3种数据类型。其中,字需要4字节对齐,半字需要2字节对齐。第2章基于ARM920T核微处理器1.ARM微处理器的工作状态ARM920T微处理器的工作状态一般有两种:ARM状态:处理器执行32位的、字对齐的ARM指令;Thumb状态:处理器执行16位的、半字对齐的Thumb指令。第2章基于ARM920T核微处理器2.ARM体系结构的存储器格式ARM920T体系结构将存储器看做是从零地址开始的字节的线性组合。从0字节到3字节放置第1个存储的字数据;从第4个字节到第7个字节放置第2个存储的字数据,依次排列。作为32位的微处理器,ARM920T体系结构所支持的最大寻址空间为4GB(232字节)。第2章基于ARM920T核微处理器ARM920T体系结构有用两种方法存储字数据:大端格式和小端格式。大端格式中字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,如图2.2所示。图2.2大端格式存储字数据第2章基于ARM920T核微处理器与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。如图2.3所示图2.3小端格式存储字数据第2章基于ARM920T核微处理器3.处理器模式ARM920T支持7种运行模式,分别为:用户模式(usr),ARM处理器正常的程序执行状态;快速中断模式(fiq),用于高速数据传输或通道处理;外部中断模式(irq),用于通用的中断处理;管理模式(svc),操作系统使用的保护模式;数据访问终止模式(abt),当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;系统模式(sys),运行具有特权的操作系统任务;未定义指令中止模式(und),当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。除用户模式以外,其余的6种模式称为非用户模式或特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及访问受保护的系统资源等情况。第2章基于ARM920T核微处理器2.2.4.寄存器组织ARM微处理器共有37个32位寄存器,其中:31个为通用寄存器6个为状态寄存器通用寄存器R14~R0程序