嵌入式计算2

上传人:野鹰 文档编号:2634118 上传时间:2017-07-26 格式:PPT 页数:113 大小:1.87MB
返回 下载 相关 举报
嵌入式计算2_第1页
第1页 / 共113页
嵌入式计算2_第2页
第2页 / 共113页
嵌入式计算2_第3页
第3页 / 共113页
嵌入式计算2_第4页
第4页 / 共113页
嵌入式计算2_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《嵌入式计算2》由会员分享,可在线阅读,更多相关《嵌入式计算2(113页珍藏版)》请在金锄头文库上搜索。

1、嵌入式计算系统设计原理,第2章指令系统2010.09,主要内容,计算机体系结构 ARM处理器 TIC55x DSP,2.1.1 计算机体系结构分类,两种典型的结构冯诺依曼结构又称为普林斯顿结构。是一种经典的体系结构,有CPU,总线,外部存储器组成。这种体系结构采用程序代码存储器与数据存储器合并在同一存储器里,但程序代码存储器地址与数据存储器地址分别指向不同的物理地址。程序指令宽度与数据宽度一样。数据总线和地址总线共用。哈佛体系结构,2.1.1 计算机体系结构分类,哈佛体系结构但是随着CPU设计的发展,pipeline的增加,指令和数据的互斥读取很影响CPU指令执行的scale程度。后来,哈佛大

2、学提出一种的新的结构,这种结构采用数据存储器与程序代码存储器分开,各自有自己的数据总线与地址总线。但这是需要CPU提供大量的数据线,因而很少使用哈佛结构作为CPU外部构架来使用。但是对于 CPU内部,通过使用不同的数据和指令cache,可以有效的提高指令执行的效率,因而目前大部分计算机体系都是CPU内部的哈弗结构+CPU外部的风诺伊曼的结构。,计算机体系结构,冯诺依曼结构,采用ARM芯片的Skylight智能本,戴尔周二将公布一款采用ARM芯片的首款高端笔记本Latitude,哈佛体系结构,指令寄存器,控制器,数据通道,输入,输出,中央处理器,程序存储器,指令0,指令1,指令2,数据存储器,数

3、据0,数据1,数据2,地址,指令,地址,数据,多核音频DSP芯片,另一种分法,复杂指令集计算机CISC(Comlex instruction set computer)精简指令集计算机RISC(Reduced instruction set computer),CPU主要的性能指标,主频:即CPU内部核心工作的时钟频率,单位一般是兆赫兹(MHz)。外频和倍频数:外频即CPU的外部时钟频率。CPU的主频与外频的关系是:CPU主频 外频倍频数内部缓存(L1 Cache):采用速度极快的SRAM制作,与 CPU共同封装于芯片内部的高速缓存,用于暂时存储CPU运算时的最近的部分指令和数据,存取速度与C

4、PU主频相同二级缓存(L2 Cache):集成于CPU外部的高速缓存,L2 Cache 的一般容量是128K2M。容量越大,系统的综合性能越高。,CPU,MMX技术:是多媒体扩展指令集的缩写。MMX是Intel公司为增强 Pentium CPU 在音像、图形和通信应用方面而采取的新技术。这一技术为CPU增加了全新的57条MMX指令3D指令技术:MMX指令解决了多媒体运算的瓶颈,但只是加速了整数运算速度,对于需要大规模浮点运算的3D图形处理和游戏就无能为力了。针对日益增长的3D处理要求,支持3D指令将同支持MMX指令一样重要。目前支持3D指令的CPU只有AMD一家,使用3DNow!技术的CPU可

5、以大幅度加速三维处理速度,从而把游戏和图形处理带入一个崭新的境界。,2.1.2 汇编语言,17,处理器模式:程序状态寄存器PSR(Program Status Register)的最低8位I、F、T和M4:0用作控制位,非用户模式或特权模式,异常模式,各种处理器模式下的寄存器,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态CPSR:Current Program Status Register. SPSR:Saved Program Status Register,各种处理器模式下的寄存器,ARM寄存器介绍,2.1.2 汇编语言,Label1 ADR r4, c LDR

6、 r0, r4 ADR r4, d LDR r1, r4 SUB r0, r0,r1,ADDGT r0,r3,#5,cond field: GT condition (1100), opcode field: binary code for the ADD instruction (0100), first operand register: Rn set to 3 for r3, destination register: Rd set to 0 for r0 operand 2 field: set to the immediate value of 5,pseudo-ops,help p

7、rogrammers create programs Set constants to be set into memory ARM - BIGBLOCK % 10 SHARC - .global BIGBLOCK- .var BIGBLOCK 10 = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;,2.2 ARM处理器,ARM RISC处理器 LDR r0, r8 ; a commentLabel ADD r4, r0, r1ADD Rd, Rn, operand2 算术运算加法运算指令ADD 指令将operand2 的值与Rn 的值相加, 结果保存到Rd 寄存器,2.2.1处

8、理器和存储器组织,ARM7冯诺伊曼体系结构ARM9哈佛体系结构标准ARM字是32位长的每个字可划分为4个8位的字节,2.2.1处理器和存储器组织,2.2.2数据操作,Variables are implemented as memory locations int a, b, c, x, y, z;x = (a + b) - c;y = a*(b + c);z = (a 2) | (b & 15);,ARM programming model,arithmetic and logical operations cannot be performed on memory locations lo

9、ad-store architecture (装入-存储体系结构)data operands must first be loaded into the CPU and then stored back to main memory to save the results,registers in ARM,registers in ARM,ARM has 16 general-purpose registers, r0 through r15 r15 register has the same as other registers, but used as program counter -

10、program counter value to be used as an operand in computations,current program status register (CPSR),set automatically during every arithmetic, logical, or shifting operation negative (N) bit: set when result is negative in twos-complement arithmetic.zero (Z) bit: set when result is zero.carry (C)

11、bit: set when there is a carryoverflow (V) bit: set when results in an overflow进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确。,Status Bit Computation in the ARM,-1 + 1 = 0: 0xffffffff + 0x1 = 0x0,- NZCV= 0110.0-1=-1:0x0 - 0x1 = 0xffffffff, - NZCV = 1000.231 -1 + 1 = -231: - 0x7fffffff

12、+ 0x1 = 0x80000000, - NZCV =0101.,basic form of a data instruction,ADD r0,r1,r2sets register r0 to the sum of the values stored in r1 and r2.,basic form of a data instruction,provide immediate operands, which encode a constant value directly in the instruction ADD r0,r1,#2- sets r0 to r1 + 2,ARM dat

13、a instructions,MLA r0,rl,r2,r3 ,r0=r1 x r2 + r3,ARM data instructions,BIC r0,r1,r2 sets r0 to r1 and not r2 - uses the second source operand as a mask, a bit in mask is 1, the corresponding bit in first source operand is cleared,ARM data instructions,ARM comparison instructions,only set the values o

14、f the NZCV bits,TST指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的与运算,并根据运算结果更新CPSR中条件标志位的值。操作数1是要测试的数据,而操作数2是一个位掩码,该指令一般用来检测是否设置了特定的位。,ARM move instructions,TST 指令对 Rn 中的值和 Operand2 的值按位进行“与”运算。除了结果会被丢弃以外,这与 ANDS 指令功能相同。TEQ 指令对 Rn 中的值和 Operand2 的值按位进行“异或”运算。除了结果会被丢弃以外,这与 EORS 指令功能相同。利用 TEQ 指令可在不影响 V 或 C 标记的情况下,测试

15、两个值是否相等(如同 CMP)。,ARM load-store instructions,Register-indirect addressing,Register-indirect addressing,LDR r0,r1 ;load r0 from memory location 0xl00 indirected by r1. STR r0,r1 ;store r0 to memory location by r1LDR r0,r1, - r2 ;loads r0 from the address given by (r1 - r2) LDR r0,r1, #4 ;loads r0 from the address r1 + 4.,how to get an address into a register,set a register to an addressperforming arithmetic on the program counter, which is stored in r15. desired address = PC +/- distance(current instruction - desired location),Computing an absolute address using the PC,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号