ARM7TDMI.docx

上传人:牧羊曲112 文档编号:3152849 上传时间:2023-03-11 格式:DOCX 页数:5 大小:38.71KB
返回 下载 相关 举报
ARM7TDMI.docx_第1页
第1页 / 共5页
ARM7TDMI.docx_第2页
第2页 / 共5页
ARM7TDMI.docx_第3页
第3页 / 共5页
ARM7TDMI.docx_第4页
第4页 / 共5页
ARM7TDMI.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《ARM7TDMI.docx》由会员分享,可在线阅读,更多相关《ARM7TDMI.docx(5页珍藏版)》请在三一办公上搜索。

1、ARM7TDMIARM7TDMI介绍 ARM7TDMI核,是从最早实现了32位地址空间编程模式的ARM6核发展而来的,可稳定地在低于5V的电源电压下可靠地工作。增加了64位乘法指令、支持片上调试、Thumb指令集和EmbeddedICE片上断点和观察点。ARM7TDMI是ARM公司最早为业界普遍认可且得到了广泛应用的核,特别是在手机和PDA应用中。随着ARM技术的发展,它已是目前最低端的ARM核。 ARM7TDMI处理器区别于其他ARM7处理器的一个重要特征是其独有的称之为Thumb的架构策略。该策略为基本ARM架构的扩展,由36种基于标准32位ARM指令集、但重新采用16位宽度优化编码的指令

2、格式构成。由于Thumb指令的宽度只为ARM指令的一半,因此能获得非常高的代码密度。当Thumb指令被执行时,其16位的操作码被处理器解码为等效的32位标准ARM指令,然后ARM处理器核就如同执行32位的标准ARM指令一样执行16位的Thumb指令。也即是Thumb架构为16位的系统提供了一条获得32位性能的途径。 ARM7TDMI内核既能执行32位的ARM指令集,又能执行16位的Thumb指令集,因此允许用户以子程序段为单位,在同一个地址空间使用Thumb指令集和ARM指令集混合编程,采用这种方式,用户可以在代码大小和系统性能上进行权衡,从而为特定的应用系统找到一个最佳的编程解决方案。 32

3、位的ARM指令集由13种基本的指令类型组成,可分为如下四大类。 1)4类分支指令用于控制程序的执行流程、指令的特权等级可在ARM代码与Thumb代码之间进行切换。 2)3类数据处理指令用于操作片上的ALU、桶型移位器和乘法器,以完成在31个32位的通用寄存器之间的高速数据处理。 3)3类加载/存储指令用于控制在存储器和寄存器之间的数据传输。一类为方便寻址进行了优化,另一类用于快速的上下文切换,第三类用于数据交换。 4)3类协处理器指令用于控制外部的协处理器,这些指令以开放统一的方式扩展用于片外功能指令集。 几乎所有的32位ARM指令都可以条件执行。 16位的Thumb指令集为32位ARM指令集

4、的扩展,共包含36种指令格式,可分为如下四个功能组。 1)4类分支指令。 2)12类数据处理指令,为标准ARM数据处理指令的一个子集。 3)8类加载/存储寄存器指令。 4)4类加载/存储乘法指令。 在同一种处理模式下,每一条16位的Thumb指令都有对应的32位ARM指令。 如前所述,ARM7TDMI内核支持两种工作状态和七种操作模式,当系统响应中断或异常或者访问受保护的系统资源时,处理器会进入特权模式。 ARM7TDMI核的部件和主要信号路径如图2.7所示。 由图2.7我们可以看出ARM7TDMI主要由三部分构成:调试部分、总线分割和ARM7TDMI的处理器核。 1.调试部分 调试部分在第9

5、章有较详细的介绍,这里主要说明几个信号的功能。 SCREG3:0:确定当前扫描链的ID编号,即当前使用的是哪一条扫描链。 IR(TAP controller instruction register)3:0:表明加载到TAP控制器指令寄存器的当前指令。指令寄存器共有4位,在Capture-IR时装入指令、在Shift-IR时作为TI和TO之间的串行通路、在Update-IR时指令寄存器的值成为当前指令。用于加载到TAP指令寄存器中的指令共10条,如表2.5所示。 表2.5? TAP指令 指? 令 EXTEST SCAN_N INTEST IDCODE BYPASS CLAMP HIGHZ 二进

6、制代码 0000 0010 1100 1110 1111 0101 0111 功? 能 使被选中的扫描链进入测试模式,用于内部部件测试 在TDI和TDO之间连接扫描链路径选择寄存器 使被选中的扫描链进入测试模式,用于核测试 在TDI和TDO之间连接设备标识寄存器 在TDI和TDO之间连接旁路寄存器,扫描链进入系统操作模式 在TDI和TDO之间连接旁路寄存器,输出信号的值是当前装入扫描链的值 在TDI和TDO之间连接旁路寄存器,使相应的信号进入高阻状态 CLAMPZ 1001 在TDI和TDO之间连接旁路寄存器,确保测试时非0、1的信号无效 在AMR7TDMI中仅可用于产品测试,扫描链上未用。在

7、AMR9TDMI中选中的扫描链进入正常操作模式 在TDI和TDO之间连接旁路寄存器,从调试状态重新启动处理器 SAMPLE/PRELOAD 0011 RESTART 0100 TAPSM3:0:表明TAP控制器状态机的当前状态。 2. 总线分割 ARM7TDMI和存储器之间的两种数据总线形式单向总线输入DIN31:0、单向总线输出DOUT31:0和双向总线D31:0。总线分割在调试情况下经常用来进行状态的切换。 3. ARM7TDMI的处理器核 ARM7TDMI的处理器核的框图如图2.8所示。我们首先看看它完成的功能和工作过程。对于ARM7的3级流水线工作模式,它实际完成取指、译码和执行的整个

8、过程。左上部分实际主要完成指令执行,指令执行主要是由算术逻辑单元ALU完成,其上部的通道主要完成数据的供给,并能根据执行指令的不同进行适当的调整,如进行移位等操作。右上部分主要是完成指令译码和整个处理器逻辑的控制。下边的两部分主要分别完成指令和数据的读取、数据存储操作。从图2.8中可以看出指令译码和控制逻辑同数据通道是分离的,这样有利于流水线的实现。 表2.5? TAP指令 指? 令 EXTEST SCAN_N INTEST IDCODE BYPASS CLAMP HIGHZ CLAMPZ 二进制代码 0000 0010 1100 1110 1111 0101 0111 1001 功? 能 使

9、被选中的扫描链进入测试模式,用于内部部件测试 在TDI和TDO之间连接扫描链路径选择寄存器 使被选中的扫描链进入测试模式,用于核测试 在TDI和TDO之间连接设备标识寄存器 在TDI和TDO之间连接旁路寄存器,扫描链进入系统操作模式 在TDI和TDO之间连接旁路寄存器,输出信号的值是当前装入扫描链的值 在TDI和TDO之间连接旁路寄存器,使相应的信号进入高阻状态 在TDI和TDO之间连接旁路寄存器,确保测试时非0、1的信号无效 在AMR7TDMI中仅可用于产品测试,扫描链上未用。在AMR9TDMI中选中的扫描链进入正常操作模式 在TDI和TDO之间连接旁路寄存器,从调试状态重新启动处理器 SAMPLE/PRELOAD 0011 RESTART 0100

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号