(嵌入式Linux系统设计)ARM体系结构课件_第1页
(嵌入式Linux系统设计)ARM体系结构课件_第2页
(嵌入式Linux系统设计)ARM体系结构课件_第3页
(嵌入式Linux系统设计)ARM体系结构课件_第4页
(嵌入式Linux系统设计)ARM体系结构课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于ARM的处理器体系结构1课程大纲2

嵌入式处理器及其体系结构

ARM处理器

XScale体系结构

PXA系列处理器冯.诺依曼和哈佛体系结构冯·诺依曼型计算机3冯·诺依曼型计算机组成结构处理器使用同一个存储器,经由同一个总线传输。完成一条指令需要3个步骤,即:取指令、指令译码和执行指令指令和数据共享同一总线的结构4哈佛体系结构哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的

PIC16芯片的程序指令是14位宽度,而数据是8位宽度。5CISC与RISC6CISC

(Complex

Instruction

Set

Computer)

复杂指令集计算机处理器在分析每一条指令之后执行一系列初级指令运算来完成所需的功能一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条采用CISC结构的计算机数据线和指令线是分时复用的,即所谓的冯.诺依曼结构RISC

(Riduced

Instruction

Set

Computer)

精简指令集计算机采用RISC结构的单片机数据线和指令线分离,即所谓的哈佛结构计算机指令多为单字节,程序存储器的空间利用率大大提高,有利于实现超小型化课程大纲7

嵌入式处理器及其体系结构

ARM处理器

XScale体系结构

PXA系列处理器基于ARM架构的嵌入式微处理器8在多媒体技术、网络互连和开放操作系统等方面的应用,是8位机体系结构所难以逾越的障碍,也就正好成为选择32位嵌入式系统的主要理由。所有的ARM芯片在内核上保持高度的兼容性,这样在学习和开发嵌入式系统中就可以使用通用的开发、调试工具。目前ARM

CPU内核里面都有一个Embedded

ICE逻辑模块,用于采集CPU总线信号,而对Embedded

ICE以及CPU执行单元的通信是通过扫描线来进行的,所有的扫描线都受到测试访问控制端口(TAP)控制,并通过芯片与JTAG接口连接,故可保持不同CPU之间的接口控制的兼容性。调试工具只要支持TAP端口访问,就能进行ARM的系统调试。32位体系结构的性能优势9寻址空间大

在ARM的体系结构里,所有的资源,如存储器、控制寄存器、I/O端口等都是在有效地址空间内采用统一编址的,方便了程序在不同处理器间的移植。运算和数据处理强

采用了先进的CPU设计理念、多总线接口(哈佛结构)、多级流水线、高速缓存、数据处理增强等技术,这样几乎所有的通信协议栈都能在32位CPU中轻松实现。使得C、C++、Java等高级语言得到了广泛的应用空间。另外多数的微处理器都包含有DMA控制器,这样就进一步提高了整个芯片的数据能力。32位体系结构的性能优势10(3)操作系统的支持如果某个系统需要有多任务的调度、图形化的人机界面、文件管理系统、网络协议等需求,那么就必须使用嵌入式操作系统。一般复杂的操作系统在多进程管理中还需要有硬件存储器保护单元(MPU)或管理单元(MMU)的支持。目前ARM9以上的微处理器均有这些支持,可运行Linux、Win

CE和VxWorks等众多操作系统。基于指令集体系结构的分类版本11ARM架构处理器定义了6种不同的版本:V1 版架构:

基本的数据处理指令(无乘法);字节、半字和字的Load

/Store 指令;转移指令,包括子程序调用及链接指令;软件中断指令;寻址空间64MB(226

)。V2 版架构:

在V1版上进行了扩充,例如ARM2和ARM3架构,并增加了以下功能:乘法和乘加指令;支持协处理器操作指令;快速中断模式;SWP/SWPB的基本存储器与寄存器交换指令;寻址空间64MB。基于指令集体系结构的分类版本12V3版架构:

V3架构对ARM体系结构作了较大的改动,把寻址空间增至32位,增加了当前程序状态寄存器CPSR和存储程序状态寄存器SPSR,以便增强对异常情况的处理。增加了中止和未定义二种处理模式。ARM6就是采用该版架构。V4版架构:

它在V3版架构上作了进一步扩充,使ARM使用更加灵活。ARM7、ARM8、ARM9 都采用该版结构。增加功能有符号化和半符号化半字及符号化字节的存取指令;增加了16位的Thumb指令集;完善了软件中断SWI指令的功能;处理器系统模式引进特权方式时使用用户寄存器操作;把一些未使用的指令空间扑获为未定义指令。基于指令集体系结构的分类版本13V5版架构:ARM10 和XScale都采用该版架构。新增指令有:带有连接和交换的转移BLX指令;计数前导零CLZ指令;BBK中断指令;增建了数字信号处理指令;为协处理器增加了更多可选择的指令。V6版架构:是在低功耗的同时,还强化了图形处理性能,追加有效进行多媒体处理的SIMD功能。于2002年推出,ARM11 采用该架构,具体新增加了以下功能:THUMBTM

-35% 代码压缩;DSP扩充-高性能定点DSP功能;JazelleTM-

Java性能优化,可提高8倍;Media扩充-音/视频性能优化,可提高4倍。另外还支持多微处理器内核。ARM微处理器系列产品及性能简介141 )系列产品分类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处理器核。处理器内核只保持了最基本的组织架构。

处理器核是在最基本的处理器内核基础上增加了Cache、存储器管理单元MMU、协处理器C15、先进微控制器总线架构AMBA接口以及EMT宏单元等部件,这样就构成了ARM处理器核。15ARM微处理器系列产品及性能简介由集成电路厂商在处理器内核和处理器核基础上设计,嵌入各种外围和处理部件,形成各种嵌入式微处理器MPU。例如:Intel公司:PXA25X、27X系列微处理器(采用XScale 核);TI公司:OMAP59XX微处理器,(采用ARM+DSP双核);Motorola公司:MX1微处理器MPU(ARM922T核);ATMEL公司:AT91系列MPU(采用ARM7TDMI内核、ARM920T核);Philips公司:IPC2XXX系列(ARM7TDMI内核)等等。16AMRPMU微的处生理产器厂系家列简产介品及性能简介ARM微处理器后缀命名的含义标志含义说明T支持Thumb指令集Thumb指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上调试DebugM支持长乘法32位乘32位得到64位,32位的乘加得到64位IEmbedded

ICE在线仿真EDSP指令增加了DSP算法处理器指令:16位乘加指令,带符号数的加减法,双字数据操作,cache预取指令JJava加速器Jazelle提高java代码的运行速度S可综合提供VHDL或Verilog语言设计文件17ARM处理器内核/处理器核的分类(1)

ARM7T和ARM7E

FamilyUnifiedCache内存管理流水线级别ThumbDSPJazelleARM7TDMI无无3有无无ARM7TDMI-S无无3有无无ARM710T/720T8kMMU3有无无ARM740T8k或4kMPU3有无无ARM7EJ-S无无3有有有18乘法器指令解码地址自增器BIGENDMCLKnWAITnRWMAS[1:0]ISYNCnIRQnFIQnRESETABORTnTRANSnMREQSEQLOCKnM[4:0]nOPCnCPICPACPBD[31:0]桶移位器32

位ALUDBE写数据寄存器读数据寄存器地址寄存器寄存器Bank及控制逻辑PCUpdate解码站指令解压缩IncrementerPCABusBBusALUBusARM7TDMI内核ABE

A[31:0]内核19ARM7微处理器系列主要特点20ARM7微处理器系列为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。其具有如下特点:具有嵌入式ICE-RT逻辑,调试方便。极低的功耗(100mW左右),适合对功耗要求较高的应用,如便携式产品。采用三级流水线。采用ARM

V4指令集。ARM7微处理器系列主要特点21能够提供0.9MIPS/MHZ的三级流水线结构。

兼容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只支持实时操作系统。ARM7TDMIARM7TDMI内核地址地址数据读AMBA接口写缓冲MMU数据写数据ARM7xxT控制逻辑CacheAMBA总线接口JTAG

和非AMBA

信号CP15带Cache的ARM7TDMI22ARM710T8K统一的cache完整的内存管理单元(MMU),支持虚拟地址和存储器保护写缓冲ARM720T同ARM710T,但支持WinCEARM740T8K统一的cache内存管理单元写缓冲(2)ARM9

Family23Cache内存管理流水线级别ThumbDSPJazelleARM9TDMI无无5有无无ARM920T16K/16kMMU5有无无ARM922T8k/8kMMU5有无无ARM940T4k/4kMPU5有无无FETCH24DECODEEXECUTEMEMORYWRITEARM9TDMIInstructionFetchARM

orThumbInst

DecodeShift

+

ALUMemoryAccessRegWriteRegDecodeRegReadInstructionFetchThumb→ARMdecompressARM

decodeRegReadShiftALURegWriteReg

SelectFETCHDECODEEXECUTEARM9TDMIARM7TDMI流水线ARM9TDMIARM9TDMID

CacheMMUI

CacheGLUE外部存储器ARM940T2x

4KcachesMPU写缓冲ARM9xxTARM920T2x

16KcachesMMU支持虚拟地址和内存保护写缓冲带Cache的ARM9TDMI25ARM9TDMI体系结构框图指令接口JTAG接口数据接口ARM9TDMI

CPU指令地址接口跟踪接口数据地址接口ARM9TDMI结构框图26ARM920T体系结构框图27ARM920T体系结构框图28ARM9微处理器系列主要特点29ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能,在相同的工艺下其性能是ARM7的2倍,具有以下特点:5级整数流水线,工作频率一般为200MHz左右,提供1.1MIPS/MHZ的哈佛结构。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。采用哈佛体系结构。ARM9微处理器系列主要特点30

全性能的MMU,支持包括WinCE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9是低价、低功耗、高性能系统处理器。典型产品ARM9TDMI 主要性能:工艺0.25um(新近0.18um)、电压2.5V(新近1.2v)、时钟0-200MHZ、功耗150mW。ARM9系列主要用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。ARM9E

Family31Cache内存管理流水线级别ThumbDSPJazelleARM9E-S无无5有有无ARM946E-S4k-1M/4k-1MMPU5有有无ARM966E-S无无5有有无ARM968E-S无无5有有无ARM9EJ-S无无5/6有有有ARM926EJ-S14k-128k/4k-128kMMU5/6有有有ARM9E微处理器系列主要特点32ARM9E系列微处理器为综合型处理器,使用单一的处理器内核提供了微处理器、DSP、Java应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。具有以下特点:ARM9E微处理器系列主要特点33支持DSP指令集,应用高速数字信号处理的场合;5级整数流水线;最高主频可达300MHZ;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口;支持VFP9浮点处理协处理器;全性能的MMU,支持包括Win

CE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。(3)

ARM10E和ARM10T

FamilyCache内存管理流水线级别ThumbDSPJazelleARM10E无无6有有无ARM1020E32k/32kMMU6有有无ARM1022E16k/16kMMU6有有无ARM10EJ-S无无6有有有ARM1026EJ-S0,4-128k/0,4-128kMMU6有有有ARM10TDMI无无6有无无ARM1020T32k/32kMMU6有无无34ARM10E

系列概述v5TE架构CPI

1.36级流水线静态分支预测32kB指令cache和32kB数据cache支持“Hit

under

miss”非阻塞的执行单元每周期64位的LDM/STM操作EmbeddedICE逻辑-RT-II支持新的VFPv1结构同ARM1020E,除了cache大小为16kB对SUDL(single

user

design

license)有效ARM1020EARM1022E35ARM10E微处理器系列主要特点36ARM10E系列微处理器由于采用了新的体系结构,与同等的ARM9处理器相比较,在同样的时钟频率下,性能提高了近50%,同时又大大减少了芯片的功耗,在相同的工艺下其性能是ARM9的2倍。具有以下特点:ARM10E微处理器系列主要特点37支持DSP指令集,适合高速数字信号处理的场合;6级整数流水线;工作频率一般为400/600MHz左右;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口;支持VFP10浮点处理协处理器;内嵌并行读/写操作部件;全性能的MMU,支持包括Win

CE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM10E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。ARM9

vsARM10流水线的对比38(4)

ARM11

Family内存 流水线管理 级别39Cache

ThumbDSP

Jazelle浮点运算ARM1136J-S4-64k

MMU8有有有无ARM1136JF-S

4-64k

MMU8有有有有ARM1156T2-S可配置9Thumb-2有无无ARM1156T2F-S可配置9Thumb-2有无有ARM11微处理器系列主要特点40••

ARM11 是采用ARM

V6结构,内部具有8级流水线处理、动态分支预测与返回堆栈。在0.13um工艺下,ARM11TM的运行频率高达1000Mhz。在1.2V电压的条件下其功耗可以低至0.4mW/Mz。ARM11中另一个重要的结构改进,是静、动组合的跳转予判。 动态预测和静态预测的组合使ARM11处理器能达到85%的预测正确性。ARM11包含一个64位端口、4种状态的跳转目标地址缓存。新的ARM11支持SIMD指令,可使某些算法的运算的速度提高2-3倍。ARM11微处理器系列主要特点41••

ARM

V6保持了100%的二进制向下兼容,使用户过去开发的程序可以进一步继承下去。增加了多媒体处理指令单元扩展,单指令流多数据流(SIMD)。增加了快速浮点运算和向量浮点运算。目前ARM公布了三个新的ARM11系列微处理器内核系列,分别是ARM1136J内核、ARM1156T2内核、

ARM1176JZ内核。(5)XScale结构42Intel公司发展了新一代微处理器体系结构就是XScale处理器。XScale处理器是基于ARM

v5TE(第5版)体系结构所设计的,具有协处理器接口,可以直接扩展DSP处理器。目前已使用在数字移动电话、个人数字助理和网络产品等场合。XScale处理器是目前主要推广的一款ARM处理器。(5)XScale结构43基于XScale

PXA250微处理器性能如下:–内核工作频率:100-400MHZ;I-Cache

32KB和D-Cache

32KB;I-MMU

+

D-MMU (各32路变换后备缓冲器TLB快表);7/8级流水线–系统存储器接口:100MHZ

SDRAM;4-256MB

SDRAM;支持16-256MB

DRAM;4个SDRAM区,每个区支持64MB存储器;支持2个PCMCIA/CF卡插槽。–外围接口:具有16个通道的DMA控制器;LCD控制器(支持被动DSTN和主动TFT显示,最大分辨率

800*600*16;系统集成模块(GPIO、中断控制器、

PWM);USB,3个UART,红外(FIR)、I2C总线接口、多媒体通信口、动态电源管理技术。(6)典型的嵌入式处理器(中国)44ARM已经与中兴、华为、东南大学、上海集成电路设计中心、中芯国际和大唐电信签订了技术授权协议。国内的微处理器系列有方舟系列:方舟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。ARM微处理器体系结构45ARM微处理器的工作状态从编程的角度看,ARM微处理器的工作状态有两种可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的

ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。(2)ARM微处理器存储格式46ARM的寻址空间是线性的地址空间,为232=4GBytes

0

to

3存储第一个word,bytes

4

to7存储第二个wordARM支持大端(Big-endian)和小端(Little-endian)的内存数据方式,可以通过硬件的方式设置(没有提供软件的方式)端模式(2)ARM体系结构的存储器格式47大端格式:被存放字数据的高字节存储在存储系统的低地址中,而被存放的字数据的低字节则存放在存储系统的高地址中。小端格式:与大端存储格式相反,在小端存储格式中,存储系统的低地址中存放的是被放字数据中的低字节内容,存储系统的高地址存放的是被存字数据中的高字节内容。(3)处理器运行模式48ARM微处理器支持7种运行模式,分别为:用户模式(USR):ARM处理器正常程序执行的模式。快速中断模式(

FIQ ):用于高速数据传输或通道处理用于快速中断服务程序。当处理器的快速中断请求引脚有效,且CPSR(6位)中F位为0时(开中断),会产生FIQ异常。外部中断模式(

IRQ ):用于通用的中断处理,当处理器的外部中断请求引脚有效,且CPSR(7位)中I位为0时(开中断),会产生IRQ异常。系统的外设可通过该异常请求中断服务。特权模式或管理员模式(SVE):操作系统使用的保护模式。当执行软件中断SWI指令和复位指令时,就进入管理模式,在对操作系统运行时工作在该模式下数据访问中止模式(ABT):用于虚拟存储器和存储保护,当存储器数据访问无效时就进入该模式 。若处理器数据访问指令的地址不存在或该地址不允许当前指令访问时,也产生数据中止异常。未定义指令中止模式(UND):用于支持硬件协处理器的软件仿真。当ARM处理器或协处理器遇到不能处理的指令时,就要产生未定义指令异常。用户可使用该异常机制进行软件仿真,即用软件来模拟硬件功能,比如浮点运算。系统模式(SYS):运行具有特权的操作系统任务。与用户模式共用使用寄存器组,但是其使用权限要比在用户模式下高。49((3)3)处处理理器器运运行行模模式式(3)处理器运行模式50除用户模式之外的其他6种处理器模式称为特权模式。在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。其中,除系统模式外,其他5种特权模式又称异常模式。处理器模式可以通过软件进行切换,也可以通过外部中断或者异常处理过程进行切换。大多数用户工作在用户模式下。这时,应用程序不能够访问一些受操作系统保护的系统资源。应用程序也不能直接进行处理器模式的切换。源程序文件文件名说

明汇编程序文件*.S用ARM汇编语言编写的ARM程序或Thumb程序。C程序文件*.C用C语言编写的程序代码。头文件*.H为了简化源程序,把程序中常用到的常量命名、宏定义、数据结构定义等等单独放在一个文件中,一般称为头文件。51(4)ARM源程序文件格式ARM汇编中的文件格式(5)ARM的开发工具ADS1.252SDT的英文全称是ARM

SoftwareDevelopment

Kit ,是ARM公司为方便用户在ARM芯片上进行应用软件开发而推出的一整套集成开发工具包。目前的最新版本是2.5.2,但从版本2.5.1开始,ARM公司宣布推出一套新的集成开发工具ARM

ADS ,取而代之。ARM

SDT支持最高到ARM9的所有ARM处理器芯片的开发,包括Strong

ARM。ADS1.2开发环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论