一、简答题
1.简述ARM处理器系列及其特点。
答:ARM处理器包含很多种类型,分别如下:
ARM7内核为低功耗的32位RISC处理器,其采用冯·诺依曼体系结构,数据和指令使用同一条总线。ARM7内核有一条3级流水线,执行ARMv4指令集。
ARM9内核为32位RISC处理器,采用哈佛结构,其在高性能和低功耗特性方面提供最佳的性能。ARM9内核微处理器采用5级整数流水线,支持32位ARM指令集和16位Thumb指令集。ARM9系列内核包括ARM920T、ARM922T和ARM940T三种类型
ARM9E 系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。ARM9E系列微处理器采用5级整数流水线,支持32 位 ARM 指令集和 16 位 Thumb 指令集,主频最高可达 300MIPS。ARM9E 系列内核包括ARM926EJ-S、ARM946E-S和ARM966E-S三种类型。
ARM10E内核为32位RISC处理器,支持DSP指令集,6级整数流水线,支持32位ARM指令集和16位Thumb指令集,主频最高可达400MIPS。ARM10E系列内核包括ARM1020E、ARM1022E和ARM1026EJ-S三种类型。
ARM1136J-S 是第一个执行 ARMv6 架构指令的处理器,其集成了一条具有独立的load-sotore和算术流水线的8级流水线。
Xscale处理器是基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的32位处理器。它也支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。Xscale处理器是Intel目前主要推广的一款ARM微处理器。
Cortex-M3是ARM新推出的内核,具有Thumb-2指令集架构(ISA)的子集,包含所有基本的16位和32位Thumb-2指令。Cortex-M3采用哈佛处理器架构,三级流水线。
2.简述ARM Cortex-M3的结构。
答:ARM Cortex-M3内核主系统由四个驱动单元:内核ICode总线(I-bus)、DCode总线(D-bus)、系统总线(S-bus)和GP-DMA(通用DMA)构成。ICode总线将Cortex-M3内核的指令总线与Flash指令接口相连接。指令预取在此总线上完成。DCode总线将Cortex-M3内核的DCode总线与闪存存储器的数据接口相连接(常量加载和调试访问)。系统总线连接 Cortex-M3 内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。DMA总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到SRAM、闪存和外设的访问。
3.简述ARM Cortex-M3的编程模型。
答:Cortex-M3处理器采用ARM v7-M架构。它包括所有的16位thumb指令集和基本的32位thumb-2 指令集架构。Cortex-M3 处理器不能执行ARM 指令。Cortex-M3处理器支持两种工作模式,线程模式和处理模式。Cortex-M3处理器有两种工作状态:Thumb 状态和调试状态。Cortex-M3 处理器代码可以是特权执行或非特权执行。非特权执行时对有些资源的访问受到限制或不允许访问。特权执行可以访问所有资源。处理模式始终是特权访问,线程模式可以是特权或非特权访问。
4.简述ARM Cortex-M3的存储器格式。
答: Cortex-M3处理器能够以小端格式或大端格式访问存储器中的数据字,而访问代码时始终使用小端格式。在小端格式中,一个字中最低地址的字节为该字的最低有效字节,最高地址的字节为最高有效字节。存储器系统地址0的字节与数据线7-0相连。这里需要注意的是,小端格式是ARM Cortex-M3处理器默认的存储器格式。
5.简述ARM Cortex-M3的数据类型。
答:Cortex-M3处理器支持以下数据类型:32位字、16位半字和8位字节。一般来说,存储器系统应该支持所有的数据类型。尤其是要求在不破坏一个字中的相邻字节的情况下支持小于1个字(subword)的写操作。
6.简述ARM Cortex-M3的存储器结构。
答:Cortex-M3内核定义了统一的存储器映射,各厂商生产的基于Cortex-M3内核的微控制器芯片都具有一致的存储器映射,对用户使用各种基于 Cortex-M3 的 MCU 及代码在不同MCU上的移植带来了很大的便利。固定的Cortex-M3存储器映射,可以参阅图3-1所示。