大工13春《嵌入式原理与开发》辅导资料六
大工13春《嵌入式原理与开发》辅导资料六主 题:第三章基于ARM架构的嵌入式微处理器:基于指令集体系结构的分类版本和 ARM微处理器系列产品及性能简介
基于ARM的处理器体系结构基于ARM架构的嵌入式微处理器
这周我们将学习第3章中的第1节,这部分重点介绍基于ARM架构的嵌入式微处理器,下面整理出的理念框架供同学们学习。
第三章 基于ARM的处理器体系结构
3.1 基于ARM架构的嵌入式微处理器
在多媒体技术、网络互连和开放操作系统等方面的应用,是8位机体系结构所难以逾越的障碍,也就正好成为选择32位嵌入式系统的主要理由。
所有的ARM芯片在内核上保持高度的兼容性,这样在学习和开发嵌入式系统中就可以使用通用的开发、调试工具。
3.1.1 基于指令集体系结构的分类版本
ARM架构处理器定义了6种不同的版本:
V1版架构:
基本的数据处理指令(无乘法);字节、半字和字的Load/Store指令;转移指令,包括子程序调用及链接指令;软件中断指令;寻址空间64MB(226)。
V2版架构:
在V1版上畸形了扩充,例如ARM2和ARM3架构,并增加了以下功能:乘法和乘加指令;支持协处理器操作指令;快速中断模式;SWP/SWPB的基本存储器与寄存器交换指令;寻址空间64MB。
3.1.2 ARM微处理器系列产品及性能简介
1.系列产品分类
ARM处理器当前有5个产品系列:ARM7、ARM9、ARM9E、ARM10和ARM11。进一步的产品来自于合作伙伴,例如Intel Xscale微体系结构和产品。
ARM7、ARM9、ARM9E和ARM10是4个通用处理器系列。每个系列提供一套特定的性能来满足设计者对功耗、性能、和体积的需求。
ARM11是第5个产品系列,是专门为安全设备而设计的。性能高达1.2MIPS(Xscale微体系结构),功耗测量为μW/MHz,并且所有体系结构兼容。
ARM公司是嵌入式RISC处理器的知识产权IP供应商,它为ARM架构处理器提供了ARM处理器内核和ARM处理器核。
处理器内核只保持了最基本的组织架构。
ARM7微处理器系列主要特点
ARM7微处理器系列为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。其具有如下特点:
兼容16位Thumb指令集;对操作系统的支持广泛,包括Win CE、Linux等 ;指令系统与ARM9、ARM10E系列兼容,便于用户的产品升级换代;主频通常为20-100MHZ。速度为0.9MIPS/MHz 。 ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器内核。主要性能:工艺0.35um(新近0.25um)、电压3.3V(新近1.2v)、时钟20-133MHZ、功耗87mW。
注:MPU只支持实时操作系统。
ARM9微处理器系列主要特点
ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能,在相同的工艺下其性能是ARM7的2倍,具有以下特点:
5级整数流水线,工作频率一般为200MHz左右,提供1.1MIPS/MHZ的哈佛结构。
支持32位ARM指令集和16位Thumb指令集。
支持32位的高速AMBA总线接口。
采用哈佛体系结构。
全性能的MMU,支持包括Win CE、Linux等操作系统,MPU支持实时操作系统。
支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9是低价、低功耗、高性能系统处理器。
典型产品ARM9TDMI主要性能:工艺0.25um(新近0.18um)、电压2.5V(新近1.2v)、时钟0-200MHZ、功耗150mW。
ARM9系列主要用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。
ARM9E微处理器系列主要特点
ARM9E系列微处理器为综合型处理器,使用单一的处理器内核提供了微处理器、DSP、Java应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。具有以下特点:
支持DSP指令集,应用高速数字信号处理的场合;
5级整数流水线;最高主频可达300MHZ;
支持32位ARM指令集和16位Thumb指令集;
支持32位的高速AMBA总线接口;
支持VFP9浮点处理协处理器;
全性能的MMU,支持包括Win CE、Linux等操作系统,MPU支持实时操作系统。
支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。
ARM10E系列概述
ARM10E微处理器系列主要特点
ARM10E系列微处理器由于采用了新的体系结构,与同等的ARM9处理器相比较,在同样的时钟频率下,性能提高了近50%,同时又大大减少了芯片的功耗,在相同的工艺下其性能是ARM9的2倍。具有以下特点:
支持DSP指令集,适合高速数字信号处理的场合;
6级整数流水线;工作频率一般为400/600MHz左右;
支持32位ARM指令集和16位Thumb指令集;
支持32位的高速AMBA总线接口;
支持VFP10浮点处理协处理器;
内嵌并行读/写操作部件;
全性能的MMU,支持包括Win CE、Linux等操作系统,MPU支持实时操作系统。 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 ARM10E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。
ARM9 vs ARM10流水线的对比
ARM11微处理器系列主要特点
ARM11 是采用ARM V6结构,内部具有8级流水线处理、动态分支预测与返回堆栈。在0.13um工艺下, ARM11TM的运行频率高达500-1000Mhz。在1.2V电压的条件下其功耗可以低至0.4mW/Mz。
ARM11中另一个重要的结构改进,是静、动组合的跳转予判。 动态预测和静态预测的组合使ARM11处理器能达到85%的预测正确性。
ARM11包含一个64位端口、4种状态的跳转目标地址缓存。新的ARM11支持SIMD指令,可使某些算法的运算的速度提高2-3倍。
ARM V6保持了100%的二进制向下兼容,使用户过去开发的程序可以进一步继承下去。 增加了多媒体处理指令单元扩展,单指令流多数据流(SIMD)。
增加了快速浮点运算和向量浮点运算。
目前ARM公布了三个新的ARM11系列微处理器内核系列,分别是ARM1136J内核、 ARM1156T2内核、 ARM1176JZ内核。
(5)XScale结构
Intel公司发展了新一代代微处理器体系结构就是XScale处理器。XScale处理器是基于ARM v5TE(第5版)体系结构所设计的,具有协处理器接口,可以直接扩展DSP处理器。目前已使用在数字移动电话、个人数字助理和网络产品等场合。 XScale处理器是目前主要推广的一款ARM处理器。
(6)ARM和DSP双核微处理器简介
TI公司的OMAP5910处理器是一款具有DSP(TMS320C55X,175MHZ)+RISC ( ARM925核,175MHZ)的双核定点数字信号运算的微处理器。其具有高速度、低功耗,并提高了编程的灵活性,有利于对产品的软硬件升级,用于实现就有特殊功能的产品。
主要特性如下:
ARM925核是ARM RISC体系结构的先进代表,工作主频问175MHz。它包括存储器管理单元、16k字节的高速指令缓冲存储器、8k字节的数据高速缓冲存储器和17个字的写缓冲器。片内有192k字节的内部SRAM,可为液晶显示器等应用提供大量的数据和代码存储空间。ARM925核共有13个内部中断和19个外部中断,采用两级中断管理。此外,核内还有ARM CP15协处理和保护模块。
(7)Power PC架构微处理器简介
Power PC架构的特点是可伸缩性好,方便灵活。Power PC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备等各个方面。
目前Power PC独立微处理器与嵌入式微处理器的主频从25MHz-700MHz不等,它们的能量消耗、大小、整合程度、价格差异悬殊,主要产品模块有主频350MHz-700MHz Power PC 750CX和750CXe以及主频400MHz的Power PC440GP等。
PowerPC系列-MPC555特点:
带有浮点单元的PowerPC内核。
26K字节的快速RAM和6K字节的TPU微码RAM。
5V编程电压的448K字节的flash EEPROM。
5V的I/O系统。
串行系统:基于队列的串行多通道模块,两个CAN2.0B控制器模块。
双定时处理单元(TPU3),模块化I/O系统。
32个模拟量输入:两个基于队列的A/D转换器(QADC64)。
272引脚的PBGA封装。
工作频率40MHz,-40℃~+125℃,双电源供电
(9)典型的嵌入式处理器(中国)
ARM已经与中兴、华为、东南大学、上海集成电路设计中心、中芯国际和大唐电信签订了技术授权协议。国内的微处理器系列有方舟系列 :
方舟1号:性能166MHz,功耗1.2瓦@166MHz,0.25微米CMOS,1层多晶硅,5层金属,封装HS-BGA,272个管脚,27mm*27mm。
方舟2号:性能400MHz,功耗360mW@400MHz,0.18微米CMOS,1层多晶硅,6层金属,封装PBGA,304个管脚,23mm*23mm。
龙芯系列是神州龙芯公司推出的兼顾通用和嵌入式微处理器特点的新一代32微处理器。采用0.18微米CMOS工艺制造,平均功耗0.4W。
3.1.3 ARM微处理器体系结构
1.ARM微处理器结构特征
(1)ARM微处理器的工作状态
从编程的角度看,ARM微处理器的工作状态有两种,可在两种状态之间切换:
第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;
第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。
ARM微处理器存储格式
ARM的寻址空间是线性的地址空间,为232=4G
Bytes 0to3 存储第一个word, bytes 4to7 存储第二个word
ARM支持大端(Big-endian)和小端(Little-endian)的内存数据方式,可以通过硬件的方式设置(没有提供软件的方式)端模式
大端格式(big-endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
小端格式(low-endian):与大端存储格式相反。低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。缺省设置为小端格式
存储单元概念说明
字(Word):字的长度为32位,而在16位处理器体系结构中,字的长度为16位。
半字(Half-Word):半字的长度为16位,与16位处理器体系结构中字的长度一致。
字节(Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。 ARM体系结构使用232个8位字节的单一、线性地址空间,字节地址为0—232-1;也可以将地址空间看作为由230个32位的字组成,字地址可被4整除,且按字对准。也可以看作成由231个16位半字组成。
字符的存储方式
在图形操作系统中,字符(包括:中文、英文)通常有2种存储方式。
一种方式存储的是字符的图形点阵
另一种方式是存储汉字的矢量图形
在嵌入式处理中,因为处理器的性能和嵌入式系统资源还不如PC机,而且,嵌入式只是针对专一控制而应用的系统。基本上,没有必要使用矢量字库。
为了进一步加快处理速度,在本系统中,保存有12x12、16x16和24x24三种分辨率的点阵字库。
(3)处理器运行模式
ARM微处理器支持7种运行模式,分别为:
用户模式(USR):ARM处理器正常程序执行的模式。
快速中断模式( FIQ ):用于高速数据传输或通道处理用于快速中断服务程序。当处理器的快速中断请求引脚有效,且CPSR(6位)中F位为0时(开中断),会产生FIQ异常。
外部中断模式( IRQ ):用于通用的中断处理,当处理器的外部中断请求引脚有效,且CPSR(7位)中I位为0时(开中断),会产生IRQ异常。系统的外设可通过该异常请求中断服务。
除用户模式之外的其他6种处理器模式称为特权模式。在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。其中,除系统模式外,其他5种特权模式又称异常模式。 处理器模式可以通过软件进行切换,也可以通过外部中断或者异常处理过程进行切换。大多数用户工作在用户模式下。这时,应用程序不能够访问一些受操作系统保护的系统资源。应用程序也不能直接进行处理器模式的切换
当必须要进行处理器模式切换时,应用程序可以产生异常中断,在异常中断过程中进行模式切换。这种体系结构可以使操作系统控制整个系统的资源。 系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄存器。但是系统模式属于特权模式,可以访问所以的系统资源,也可以直接进行处理器模式切换。它主要供操作系统任务使用。
ARM微处理器:CPU模式
2.ARM处理器的寄存器
如ARM处理器共有37个寄存器被分为若干个组(BANK) :30个通用寄存器;6个状态寄存器(1个专用于记录当前状态,5个备用于记录状态切换前的状态);1个程序计数器PC。
ARM处理器有7种不同的处理器模式,在每一种模式下都有一组相应的寄存器与之对应。即在每一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0-R14)、1至2个状态寄存器和程序计数器。在使用的寄存器中,有些是公用的、有些是独立使用的。
ARM的寄存器组织Ⅱ
(1)通用寄存器:包括R0~R15,以及程序计数器PC。当C和汇编互相调用时,R0 - R3用来传递函数参数,可记为a0- a3。通用寄存器可以分为下面3类: ①无备份寄存器R0~R7,也称为不分组寄存器;即在所有处理器模式下,它们都是同一个物理寄存器,可被同样的访问,没有体系结构所隐含的特殊用途。但正因为如此,在工作在不同处理器模式下,容易造成寄存器中的数据被破坏。
②备份寄存器R8~R14也被称为分组寄存器;意味着对它们的访问与当前处理器的模式有关。
例如:R8~R12有两组物理寄存器。一组属于快速模式(R8_fiq~R12_fiq),另一组属于其它模式(R8_usr-R12_usr) 。在这两种情况下使用的是不同的物理寄存器。
对于备份寄存器R13和R14,有6组不同的物理寄存器。其中只在用户模式和系统模式共用一组,在其他模式下都是专用的。另外5种对应其他5种处理器模式。采用下标—<mode>来区分各个物理寄存器。
寄存器R13通常作为堆栈指针(SP),每一种模式都拥有自己物理的R13。应用程序应当初始化该R13,使其指向该模式专用的栈地址,这样就使处理程序不会破坏被其中断的程序现场。 寄存器R14又被常称为程序连接寄存器(LR)。每种处理器模式自有的物理R14中,存放当前子程序的返回地址。在子程序中,把R14的值复制到程序计数器PC(R15)中时,子程序即返回。当然,R14也可作为通用寄存器使用。
③寄存器R15,又称为程序计数器PC。它虽然可以作为一般的通用寄存器使用,但是有一些指令在使用R15时有一些特殊限制。如违反了,该指令执行的结果将不可预料。
2)状态寄存器
当前程序状态寄存器CPSR,可以在任何工作模式下被访问;备份程序状态寄存器SPSR,只有在异常模式下,才能被访问
ARM微处理器:程序状态寄存器
CPSR(当前程序状态寄存器)在所有的模式下都是可以读写的,它主要包含:
条件标志
中断使能标志
当前处理器的模式
其它的一些状态和控制标志
3.ARM微处理器:异常
ARM CPU将引起异常的类型分为7种
(1)将下一条指令的地址存入相应连接寄存器LR(R14),以便程序在处理异常返回时能从正确的位置重新开始执行。
(2)将CPSR复制到相应的SPSR中,工作模式不同使用的SPSR也不同。
(3)根据异常类型,强制设置CPSR的运行模式位。
(4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
4.异常返回后的处理操作
5.异常向量
习题
1. ARM架构处理器定义了几种不同的版本:
6种,分别是V1-V6.
2,ARM处理器当前有5个产品系列包括?
ARM7、ARM9、ARM9E、ARM10和ARM11。
3,ARM7微处理器系列为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。请列举其特点。
调试方便,功耗低,采用流水线结构。
4,ARM CPU起异常的类型分为哪几种?
页:
[1]