词条 | ARM7TMDI |
释义 | ARM7TDMI是从最早实现了32位地址空间编程模式的ARM6核发展而来的,可稳定地在低于5V的电源电压下可靠地工作。增加了64位乘法指令(带M后缀)、支持片上调试(带D后缀)、Thumb指令集(带T后缀)和EmbeddedICE片上断点和观察点(带I后缀)。ARM7TDMI是ARM公司最早为业界普遍认可且得到了广泛应用的核,特别是在手机和PDA应用中。随着ARM技术的发展,它已是目前最低端的ARM核。 ARM7TDMI处理器区别于其他ARM7处理器的一个重要特征是其独有的称之为Thumb的架构策略。该策略为基本ARM架构的扩展,由36种基于标准32位ARM指令集、但重新采用16位宽度优化编码的指令格式构成。由于Thumb指令的宽度只为ARM指令的一半,因此能获得非常高的代码密度。当Thumb指令被执行时,其16位的操作码被处理器解码为等效的32位标准ARM指令,然后ARM处理器核就如同执行32位的标准ARM指令一样执行16位的Thumb指令。也即是Thumb架构为16位的系统提供了一条获得32位性能的途径。 ARM7TDMI内核既能执行32位的ARM指令集,又能执行16位的Thumb指令集,因此允许用户以子程序段为单位,在同一个地址空间使用Thumb指令集和ARM指令集混合编程,采用这种方式,用户可以在代码大小和系统性能上进行权衡,从而为特定的应用系统找到一个最佳的编程解决方案。 指令集分为四大类:1)4类分支指令用于控制程序的执行流程、指令的特权等级可在ARM代码与Thumb代码之间进行切换。 2)3类数据处理指令用于操作片上的ALU、桶型移位器和乘法器,以完成在31个32位的通用寄存器之间的高速数据处理。 3)3类加载/存储指令用于控制在存储器和寄存器之间的数据传输。一类为方便寻址进行了优化,另一类用于快速的上下文切换,第三类用于数据交换。 4)3类协处理器指令用于控制外部的协处理器,这些指令以开放统一的方式扩展用于片外功能指令集。 几乎所有的32位ARM指令都可以条件执行。 ARM7TDMI主要由三部分构成:调试部分、总线分割和ARM7TDMI的处理器核。 1.调试部分 调试部分这里主要说明几个信号的功能。 SCREG(scan chain register)[3: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 0000 使被选中的扫描链进入测试模式,用于内部部件测试 SCAN_N 0010 在TDI和TDO之间连接扫描链路径选择寄存器 INTEST 1100 使被选中的扫描链进入测试模式,用于核测试 IDCODE 1110 在TDI和TDO之间连接设备标识寄存器 BYPASS 1111 在TDI和TDO之间连接旁路寄存器,扫描链进入系统操作模式 CLAMP 0101 在TDI和TDO之间连接旁路寄存器,输出信号的值是当前装入扫描链的值 HIGHZ 0111 在TDI和TDO之间连接旁路寄存器,使相应的信号进入高阻状态 CLAMPZ 1001 在TDI和TDO之间连接旁路寄存器,确保测试时非0、1的信号无效 SAMPLE/PRELOAD 0011 在AMR7TDMI中仅可用于产品测试,扫描链上未用。在AMR9TDMI中选中的扫描链进入正常操作模式 RESTART 0100 在TDI和TDO之间连接旁路寄存器,从调试状态重新启动处理器 TAPSM(TAP controller state machine)[3:0]:表明TAP控制器状态机的当前状态。 2. 总线分割 ARM7TDMI和存储器之间的两种数据总线形式——单向总线输入DIN[31:0]、单向总线输出DOUT[31:0]和双向总线D[31:0]。总线分割在调试情况下经常用来进行状态的切换。 3. ARM7TDMI的处理器核 ARM7TDMI的处理器核的框图如图2.8所示。我们首先看看它完成的功能和工作过程。对于ARM7的3级流水线工作模式,它实际完成取指、译码和执行的整个过程。左上部分实际主要完成指令执行,指令执行主要是由算术逻辑单元ALU完成,其上部的通道主要完成数据的供给,并能根据执行指令的不同进行适当的调整,如进行移位等操作。右上部分主要是完成指令译码和整个处理器逻辑的控制。下边的两部分主要分别完成指令和数据的读取、数据存储操作。从图2.8中可以看出指令译码和控制逻辑同数据通道是分离的,这样有利于流水线的实现。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。