1、 ARM处理器概述本章学习重点 ARM处理器是什么?应用领域和特点 主流的ARM处理器介绍 S3C2440处理器简介 通过本章的学习我们了解何为ARM,ARM的现状和ARM应用情况;了解市面上的主流ARM处理器及其应用领域;了解我们使用的S3C2440处理。什么是ARM处理器 ARM(AdvancedRISCMachines)处理器是一种低功耗高性能的32位RISC(精简指令集)处理器,ARM也是一个公司的名字。ARM处理器就是由ARM公司设计。ARM处理器目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线
2、系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。ARMARM处理器的应用领域和特点处理器的应用领域和特点 应用领域在信息化程度很高的今天,ARM微处理器及其技术的应用已经深入到了各个领域,不断的发展和革新,为人们的生活带来了极大的方便,在我们生活和工作中随处可见。主要应用领域包括:嵌入式领域 企业领域 家庭领域 移动领域ARMARM处理器的应用领域和特点处理器的应用领域和特点 应用领域嵌入式领域企业领域家庭领域移动领域ARMARM处理器的应用领域和特点处理器的应用领域和特点 ARM处理器的特点ARM处
3、理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。具体来说,有以下六个主要特点:体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。主流的ARM处理器介绍 ARM与业界最广泛的体系相结合,已推出的一系列20多种处理器可以解决几乎每个应用难题,是真正意义上的The Architecture for the Digital World(数字世界的体系结构)。目前,ARM微处理器宏伟而丰富的体系主要包括以下四个
4、部分:ARM Cortex应用程序处理器;ARM Cortex嵌入式处理器;经典ARM处理器;ARM专家处理器。主流的ARM处理器介绍 ARM不同系列处理器在性能、功能和兼容性之间的关系主流的ARM处理器介绍 ARM体系结构的命名规则后缀变量后缀变量含义含义x系列号,如ARM7、ARM9等y存储管理/保护单元ZCacheT支持16位压缩指令集ThumbD拥有JTAG调试器,支持片上调试M内嵌硬件乘法器(Multiplier)I嵌入式ICE,支持片上断点和调试E增强指令(基于TDMI)JJazell加速F向量浮点单元S可综合版本主流的ARM处理器介绍 ARM Cortex应用程序处理器作为目前A
5、RM处理器中最高端的系列,Cortex应用程序处理器在高级工艺节点中已经可实现高达2GHz+标准频率的卓越性能。主要包括Cortex-A系列:Cortex-A5、Cortex-A8、Cortx-A9、Cortex-A15。卓越性能表现在:移动Internet的理想选择高性能多核技术高级扩展主流的ARM处理器介绍 Cortex-ACortex-A处理器的应用场合处理器的应用场合主流的ARM处理器介绍 ARM Cortex嵌入式处理器区别于Cortex应用程序处理器对操作系统和移动Internet的支持偏向,Cortex嵌入式处理器旨在为各种不同的市场提供服务。包括Cortex-M系列和Corte
6、x-R系列。Cortex-M系列面向具有确定性的微控制器应用的成本敏感型解决方案;Cortex-R系列面向实时应用的卓越性能。Cortex-M系列基本特征:成本低 能耗低可兼容性好 易于使用主流的ARM处理器介绍 ARM Cortex嵌入式处理器应用领域Cortex-R系列基本特征 快速 确定性 安全 成本效益Cortex-M系列应用领域Cortex-R系列应用领域主流的ARM处理器介绍 经典ARM处理器ARM经典处理器适用于那些希望在新应用中使用经过市场验证的技术的组织。这些处理器提供了许多的特性、卓越的功效和范围广泛的操作能力,适用于成本敏感型解决方案。经典ARM处理器包括我们耳熟能详的A
7、RM7、ARM9、ARM11三个系列:ARM7系列面向普通应用的经典处理器;ARM9系列基于ARMv5体系结构的常用处理器;ARM11系列基于ARMv6体系结构的高性能处理器。ARM9是本书所采用的微处理器,下面关于ARM9的介绍也是更多地集中于ARM9E。主流的ARM处理器介绍 ARM9处理器的特点 1、流水线对嵌入式系统设计者来说,硬件通常是第一考虑的因素。每一级流水都对应CPU的一个时钟周期,如果一级流水中的逻辑过于复杂,使得执行时间居高不下,必然导致所需的时钟周期变长,造成CPU的主频不能提升。所以流水线的拉长,有利于CPU主频的提高。Arm7使用三级流水线、ARM9使用五级流水线。主
8、流的ARM处理器介绍5级流水线的具体内容如下:取指:从存储器中取出指令并将其放入指令流水线。译码:对取出的指令进行译码。执行:把一个操作数移位,产生ALU的结果。缓冲:如果需要则访问数据存储器,否则ALU的结果只是简单地缓冲一个时钟周期,以便所有的指令具有相同的流水线流程。回写:将指令产生的结果回写到寄存器堆,包括从存储器取出的数据。2、采用哈佛结构根据计算机的存储器结构及其总线连接形式,计算机系统可以分为冯诺依曼结构和哈佛结构。ARM9采用的就是哈佛结构,而ARM7采用的则是冯诺依曼结构。主流的ARM处理器介绍冯诺依曼结构哈佛结构在RISC架构的处理器中大约有30%的指令是Load-Stor
9、e指令,而采用哈佛结构将大大提升这两个指令的执行速度,提高系统效率。主流的ARM处理器介绍 3、引入高速缓存和写缓存一般来说处理器的处理速度远远高于存储器的访问速度,而当存储器访问成为系统性高速缓存(Cache)和写缓存(Write Buffer)可以很好地解决这个问题,它们存储了最近常用的代码和数据,以供CPU快速存储。能的瓶颈时,处理器再快也无法发挥作用。4、支持MMUMMU是存储器管理单元的缩写,是用来管理虚拟内存系统的器件。MMU通常是CPU的一部分,本身有少量存储空间存放从虚拟地址到物理地址的匹配表。MMU的主要功能如下:将虚地址转换成物理地址。控制存储器存取允许,MMU关掉时,虚地
10、址直接输出到物理地址总线。主流的ARM处理器介绍 经典ARM处理器系列主要参数对比 ARM9系列处理器应用主流的ARM处理器介绍 ARM专家处理器ARM专家处理器旨在满足特定市场的苛刻需求。其主要分为SecurCore和FPGA内核两个系列:SecurCore面向高安全性应用的处理器;FPGA内核面向FPGA的处理器。1、SecurCore系列处理器SecurCore系列微处理器专为安全需求而设计,提供了完善的32位RISC技术的安全解决方案,除了具有ARM体系结构的低功耗、高性能的特点外,还提供了安全解决方案的支持。在系统安全方面具有如下特点:带有灵活的保护单元,以确保操作系统和应用数据的安
11、全;采用软内核技术,防止外部对其进行扫描探测;可集成用户自己的安全特性和其他协处理器。主流的ARM处理器介绍SecurCore系列微处理器主要应用于一些安全产品及应用系统,包括电子商务、电子银行业务、网络、移动媒体和认证系统等。2、FPGAARM Cortex-M1处理器满足FPGA应用的高质量、标准处理器体系结构的需要,支持范围广泛的FPGA设备主流的ARM处理器介绍 其他ARM处理器除了ARM公司提供的四种类别的ARM处理器以外,常用的还有Intel公司开发的Xscale系列和StrongARM系列。1、Xscale系列Xscale是基于ARMv5TE体系结构的一种内核,相比于ARM处理器
12、功耗更低,系统伸缩性更好,核心频率也得到提高。目前已使用在数字移动到电话、个人数字助理和网络产品等场合。2、StrongARM系列StrongARM系列采用ARM公司推出的一款旨在支持WinCE3.0-PocketPC系统的RISC(精简指令集)处理器作为内核。优点:StrongARM处理器的性能不错,甚至表现不比新款产品差。兼容性好。缺点:功耗过大一直是困扰高频率处理器首要问题,是的频率不能得到大的提升。S3C2440A处理器我们使用的开发板是基于S3C2440A处理器的。S3C2440A是一款由Samsung公司使用ARM920T核,它的低功耗、精简而出色的全静态设计特别适用于对成本和功耗
13、敏感的领域。S3C2440A实现了MMU、AMBA(Advanced Micro controller Bus Architecture)BUS和哈佛高速缓冲体系结构。S3C2440A处理器 AMBA、AHB、APB总线ARM研发的AMBA(Advanced Microcontroller Bus Architecture)提供一种特殊的机制,可将RISC处理器集成在其它IP芯核和外设中,2.0版AMBA标准定义了三组总线:AHB(Advanced High-performance Bus,AMBA高性能总线)、ASB(Advanced System Bus,AMBA系统总线)和APB(Adv
14、anced Peripheral Bus,AMBA外设总线)。1、AHBAHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,具有一下特征:数据突发传输(burst transfer)。数据分割传输(split transaction)。流水线方式。一个周期内完成总线主设备(master)对总线控制权的交接。单时钟沿操作。更宽的数据总线宽度(最低32位,最高可达1024位,但推荐不要超过256位)。S3C2440A处理器2、APBAPB主要用于低带宽的周边外设之间的连接,例如UART、1284等,具有一下特征:两个时钟周期传输。无需等待周期和回应信号。控制
15、逻辑简单,只有四个控制信号。存储控制器S3C2440A的存储控制器提供访问外部存储器所需的存储器控制信号,其有以下特性。支持小/大端模式;支持高速总线模式和异步总线模式;寻址空间:每个bank有128MB(总共1GB);支持可编程的每bank 8/16/32位数据总线带宽;从bank 0到bank 6都采用固定的bank起始寻址;bank 7具有可编程的bank的起始地址和大小;8个存储器bank:S3C2440A处理器 所有的存储器bank都具有可编程的操作周期;支持外部等待信号延长总线周期;支持掉电时的SDRAM自刷新模式;支持各种型号的ROM引导(NOR/NAND Flash、EEPRO
16、M或其他)。S3C2440A处理器 Cache存储器S3C2440A Cache存储器特性如下。采用I-Cache(16KB)和D-Cache(16KB);每行8字长度,其中每行带有一个有效位和两个dirty位;伪随机数或轮转循环替换算法;采用写穿式(write-through)和写回式(write-back)cache操作来更新主存储器;写缓冲器可以保存16个字的数据和4个地址。S3C2440A处理器 时钟和电源管理S3C2440A的时钟电源管理模块包含了3部分:Clock控制、USB控制、POWER控制。1、时钟时钟控制逻辑单元能够产生S3C2440A需要的时钟信号,包括CPU使用的主频F
17、CLK,AHB总线设备使用的HCLK,以及APB总线设备使用的PCLK。2440内部有2个PLL(锁相环):一个对应FCLK、HCLK、PCLK,另外一个是UPLL,对应的是USB使用(48MHz)。S3C2440A处理器 2、电源管理S3C2440A有4种电源模式,分别为正常、慢速、空闲和掉电模式,下面将详细叙述每个电源管理模式,各个模式之间转换需要满足一定条件。NORMAL MODE:在NORMAL模式,所有的外围设备以及基本模块,包括电源管理模块、CPU核、总线控制器、内存控制器、中断控制器、DMA、以及外部主控都可以完整的操作。SLOW模式(非PLL模式):这个模式可以减少电源消耗,通过提供一个慢速时钟且关闭了PLL模块电源供应。IDLE MODE:在IDLE模式中,CPU核的时钟被关闭了,而总线控制器、内存控制器、中断控制器和电源管理模块除外。SLEEP模式:电源管理模块关闭内部电源,因此,CPU和内部逻辑模块都没有电源消耗,除了此模式下的唤醒模块。