第2章_ARM体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 ARM体系结构
本章主要介绍的内容: ARM体系结构、寄存器结构、异常处理、
中断、存储器结构、数据类型、工作模式和工 作状态。 重点内容:
寄存器结构、异常处理、中断、存储器结 构、数据类型、工作模式和工作状态。 目的和要求:
了解ARM分类方法,掌握存储结构、寄存 器结构、处理器状态与模式及两种状态集。
2.1.1 ARM体系结构的技术特征
测试
ARM
接口
CPU
SDRAM Control
高性能 总线
AHB
并行 接口
串行 接口
外部
桥
总线 APB
SRAM
LCD Control
Timer
UART
基于AMBA总线的典型系统
2.1 ARM体系结构简介
JTAG ARM7TDMI边界 扫描节拍控制器
CPU 单元 写缓冲器 ARM7TDMI核 8KB Cache
在ARM内部,所有操作都面向32位的操作数,只 有数据传送指令支持较短的字节和半字的数据类型。 当从存储器读入一个字节或半字时,根据其数据类型 将其扩展到32位。
2.2 ARM处理器的数据格式
2.2.2 ARM存储器结构 ARM存储器以8位为一个单元存储数据(一个字节),
每个存储单元分配一个存储地址。 ARM将存储器看作是从0地址开始的字节的线性组合。
2.1 ARM体系结构简介
2.1.1 ARM体系结构的技术特征
1.ARM的体系结构采用了若干Berkeley RISC 处理器设计中的特征 Load/store体系结构 固定的32位指令 3地址指令格式
2.也放弃了其它若干Berkeley RISC特征 寄存器窗口 延迟转移 所有的指令单周期执行
2.1 ARM体系结构简介
2.1.3 ARM体系结构的命名规则
ARM/Thumb体系版本由下面几部分组成: 1.基本字符串ARMv。 2.基本字符串后为ARM指令集版本号,目前
是1-8的数字字符。 3.ARM指令集版本号后为表示所含变种的字
符。由于在ARM体系版本4以后,M变种成 为系统的标准部件,所以字符M通常也不 单独列出来。 4.最后使用的字符x表示排除某种功能。
2.1.3 ARM体系结构的命名规则
例:ARM7TDMI支持32位寻址范围,ARM7TDMI 的后缀意义为:
ARM7 T D M I - S
ARM7TDMI的可综合版本(软核), 对应用工程师来说其编程模型与 ARM7TDMI一致 支持Embeded ICE观察硬件
支持64位乘法
支持片上调试
支持高密度16位的Thumb指令集
2.1.2 ARM体系结构的演变
3.增强型DSP指令(E变种) E变种的ARM体系增加了一些增强处理器
对典型的DSP算法处理能力的附加指令。 4.Java加速器Jazelle(J变种)
ARM的Jazelle技术是Java语言和先进的 32位RISC芯片完美结合的产物。 5.ARM媒体功能扩展(SIMD变种)
2.2 ARM处理器的数据格式
总线仲裁器
存储器ROM/SRAM
系
DRAM/SDRAM
统
总 LCD DMA LCD CONT
线
中断控制器
AHB
时钟产生器 (PLL)
电源管理
ZDMA(2路)
系统总线桥&仲裁/BDMA(两路)
模拟量输入 AIN[7:0]
A/D转换器
外
围
设
看门狗定时器 备
总
32768Hz
线
APB
实时时钟RTC
GPIO(控制器) Iห้องสมุดไป่ตู้C总线控制器 I2S总线控制器
2.1.1 ARM体系结构的技术特征
RISC架构的ARM微处理器特点: (1)支持Thumb(16位)/ARM(32位)双指令集; (2)指令执行采用3级流水线/5级流水线技术; (3)带有指令cache和数据cache,大量使用寄存器; (4)支持大端格式和小端格式两种方法存储字数据; (5)支持用户、快速中断、中断、管理、中止、系统
UART0、1 同步输入/输出口 PWM定时器0~4、5
TCLK EXTCLK
/
通 用 输 入 输 出
SIOCK
2.1.2 ARM体系结构的演变
1.Thumb指令集(T变种) Thumb指令集是把32位的ARM指令集的一
个子集重新编码后而形成的一个特殊的16位 的指令集。 2.长乘指令(M变种)
长乘指令是一种生成64位相乘结果的乘 法指令(此指令为ARM指令),M变种增加了 两条长乘指令。
即地址末位为0x0、0x4、0x8、0xc。 半字对齐:半字单元地址的最低位 A0=0b0
地址末位为0x0、0x2、0x4、0x6、0x8、 0xa、0xc、0xe。
2.2 ARM处理器的数据格式
2.2.1 ARM存储数据类型 对于指令:ARM指令系统分为32位ARM指令集和16位的
Thumb指令集,在存储时分别以32位和16 位的两种不同长度存储。 对于数据:ARM支持对32位字数据,16位半字数据,8 位字节数据操作。因此数据存储器可以存 储32位,16位,8位三种不同长度数据。
2.2 ARM处理器的数据格式
2.2.1 ARM存储数据类型 ARM处理器支持以下6种数据类型:
(1)8位有符号和无符号字节(Byte)。 (2)16位有符号和无符号半字(Halfword)。
它们必须以两字节的边界对齐(半字对齐)。 (3)32位有符号和无符号字(word)。
它们必须以4字节的边界对齐(字对齐)。 注意:在ARM中一个字是4个字节,不是2个字节。 字对齐:字单元地址的低两位 A1A0=0b00。
作为32位的微处理器,ARM体系结构所支持的最大寻址空 间为4GB(232字节)。
从0字节到3字节放置第一个存储的字数据,从第4个 字节到第7个字节放置第二个存储的字数据,依次排列。
32位的字数据要使用4个地址单元,16位半数据要使 用2个地址单元。
这样,就存在一个所存储的字或半字数据的排列顺序 问题。ARM体系结构可以用两种方法存储字数据,称为大 端格式和小端格式。
和未定义这7种处理器模式; (6)使用JTAG仿真调试ARM体系结构芯片; (7)具有片上总线AMBA(Advanced Microcontroller
Bus Architecture)。AMBA定义了3组总线:先进高性能 总线AHB、先进系统总线ASB和先进外围总线APB。
2.1 ARM体系结构简介
本章主要介绍的内容: ARM体系结构、寄存器结构、异常处理、
中断、存储器结构、数据类型、工作模式和工 作状态。 重点内容:
寄存器结构、异常处理、中断、存储器结 构、数据类型、工作模式和工作状态。 目的和要求:
了解ARM分类方法,掌握存储结构、寄存 器结构、处理器状态与模式及两种状态集。
2.1.1 ARM体系结构的技术特征
测试
ARM
接口
CPU
SDRAM Control
高性能 总线
AHB
并行 接口
串行 接口
外部
桥
总线 APB
SRAM
LCD Control
Timer
UART
基于AMBA总线的典型系统
2.1 ARM体系结构简介
JTAG ARM7TDMI边界 扫描节拍控制器
CPU 单元 写缓冲器 ARM7TDMI核 8KB Cache
在ARM内部,所有操作都面向32位的操作数,只 有数据传送指令支持较短的字节和半字的数据类型。 当从存储器读入一个字节或半字时,根据其数据类型 将其扩展到32位。
2.2 ARM处理器的数据格式
2.2.2 ARM存储器结构 ARM存储器以8位为一个单元存储数据(一个字节),
每个存储单元分配一个存储地址。 ARM将存储器看作是从0地址开始的字节的线性组合。
2.1 ARM体系结构简介
2.1.1 ARM体系结构的技术特征
1.ARM的体系结构采用了若干Berkeley RISC 处理器设计中的特征 Load/store体系结构 固定的32位指令 3地址指令格式
2.也放弃了其它若干Berkeley RISC特征 寄存器窗口 延迟转移 所有的指令单周期执行
2.1 ARM体系结构简介
2.1.3 ARM体系结构的命名规则
ARM/Thumb体系版本由下面几部分组成: 1.基本字符串ARMv。 2.基本字符串后为ARM指令集版本号,目前
是1-8的数字字符。 3.ARM指令集版本号后为表示所含变种的字
符。由于在ARM体系版本4以后,M变种成 为系统的标准部件,所以字符M通常也不 单独列出来。 4.最后使用的字符x表示排除某种功能。
2.1.3 ARM体系结构的命名规则
例:ARM7TDMI支持32位寻址范围,ARM7TDMI 的后缀意义为:
ARM7 T D M I - S
ARM7TDMI的可综合版本(软核), 对应用工程师来说其编程模型与 ARM7TDMI一致 支持Embeded ICE观察硬件
支持64位乘法
支持片上调试
支持高密度16位的Thumb指令集
2.1.2 ARM体系结构的演变
3.增强型DSP指令(E变种) E变种的ARM体系增加了一些增强处理器
对典型的DSP算法处理能力的附加指令。 4.Java加速器Jazelle(J变种)
ARM的Jazelle技术是Java语言和先进的 32位RISC芯片完美结合的产物。 5.ARM媒体功能扩展(SIMD变种)
2.2 ARM处理器的数据格式
总线仲裁器
存储器ROM/SRAM
系
DRAM/SDRAM
统
总 LCD DMA LCD CONT
线
中断控制器
AHB
时钟产生器 (PLL)
电源管理
ZDMA(2路)
系统总线桥&仲裁/BDMA(两路)
模拟量输入 AIN[7:0]
A/D转换器
外
围
设
看门狗定时器 备
总
32768Hz
线
APB
实时时钟RTC
GPIO(控制器) Iห้องสมุดไป่ตู้C总线控制器 I2S总线控制器
2.1.1 ARM体系结构的技术特征
RISC架构的ARM微处理器特点: (1)支持Thumb(16位)/ARM(32位)双指令集; (2)指令执行采用3级流水线/5级流水线技术; (3)带有指令cache和数据cache,大量使用寄存器; (4)支持大端格式和小端格式两种方法存储字数据; (5)支持用户、快速中断、中断、管理、中止、系统
UART0、1 同步输入/输出口 PWM定时器0~4、5
TCLK EXTCLK
/
通 用 输 入 输 出
SIOCK
2.1.2 ARM体系结构的演变
1.Thumb指令集(T变种) Thumb指令集是把32位的ARM指令集的一
个子集重新编码后而形成的一个特殊的16位 的指令集。 2.长乘指令(M变种)
长乘指令是一种生成64位相乘结果的乘 法指令(此指令为ARM指令),M变种增加了 两条长乘指令。
即地址末位为0x0、0x4、0x8、0xc。 半字对齐:半字单元地址的最低位 A0=0b0
地址末位为0x0、0x2、0x4、0x6、0x8、 0xa、0xc、0xe。
2.2 ARM处理器的数据格式
2.2.1 ARM存储数据类型 对于指令:ARM指令系统分为32位ARM指令集和16位的
Thumb指令集,在存储时分别以32位和16 位的两种不同长度存储。 对于数据:ARM支持对32位字数据,16位半字数据,8 位字节数据操作。因此数据存储器可以存 储32位,16位,8位三种不同长度数据。
2.2 ARM处理器的数据格式
2.2.1 ARM存储数据类型 ARM处理器支持以下6种数据类型:
(1)8位有符号和无符号字节(Byte)。 (2)16位有符号和无符号半字(Halfword)。
它们必须以两字节的边界对齐(半字对齐)。 (3)32位有符号和无符号字(word)。
它们必须以4字节的边界对齐(字对齐)。 注意:在ARM中一个字是4个字节,不是2个字节。 字对齐:字单元地址的低两位 A1A0=0b00。
作为32位的微处理器,ARM体系结构所支持的最大寻址空 间为4GB(232字节)。
从0字节到3字节放置第一个存储的字数据,从第4个 字节到第7个字节放置第二个存储的字数据,依次排列。
32位的字数据要使用4个地址单元,16位半数据要使 用2个地址单元。
这样,就存在一个所存储的字或半字数据的排列顺序 问题。ARM体系结构可以用两种方法存储字数据,称为大 端格式和小端格式。
和未定义这7种处理器模式; (6)使用JTAG仿真调试ARM体系结构芯片; (7)具有片上总线AMBA(Advanced Microcontroller
Bus Architecture)。AMBA定义了3组总线:先进高性能 总线AHB、先进系统总线ASB和先进外围总线APB。
2.1 ARM体系结构简介