浙江大学嵌入式课件--嵌入式系统3.ppt_第1页
浙江大学嵌入式课件--嵌入式系统3.ppt_第2页
浙江大学嵌入式课件--嵌入式系统3.ppt_第3页
浙江大学嵌入式课件--嵌入式系统3.ppt_第4页
浙江大学嵌入式课件--嵌入式系统3.ppt_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微处理器结构与实现技术简介 浙江大学计算机学院陈天洲tzchen 2005年3月 2 微处理器的系统结构设计微处理器的执行机制设计微处理器流水线结构设计微处理器逻辑设计与实现处理器逻辑综合 Synopsys 处理器物理综合 Candence 处理器的验证与测试 3 今天计算机体系结构的研究内容 进一步提高单个微处理器的性能基于微处理器的多处理器体系结构 全面提高计算机的系统性能 可用性 可维护性 可缩放性 新型器件的处理器 4 进一步提高单个微处理器的性能 器件技术 2005年的IC技术 200Mtransistors 0 1featuresize onechip 2 0 3 5GHz Pentium1GHz 0 9 1 2V 工作电压 高性能体系结构EmbeddedComputerSystemReconfigurablecomputerArchitecturePower awarecomputerArchitecture 5 高性能处理器所采用的一些技术 on chipmultilevelcache及pre fetchbuffer硬件实现进程的上下文切换大规模的片上分布式DRAM深度流水线8 12 20级以上AdvancedSuper scalar 16 32指令 clockcycleSuper speculativeProcessor fine grainheavyspeculationTraceProcessorVectorIntelligentRAMProcssor V IRAMon chipmultiprocessorInstruction levelDistributedProcessing ILDP ClusteredDependence basedArchitecture 6 新型器件的处理器 光速极限问题IC电路有极限 线宽不能无限缩小 性能价格 低功耗新型器件光计算机分子计算机DNA计算机 利用DNA保存复杂信息的巨大存储能力 用核苷酸的排列表示各种信息 生物酶充当加减乘除操作 通过化学反应得出计算结果 7 8 9 instructionset software hardware 10 11 指令集体系结构的设计内容 数据格式 硬件能直接识别和处理的数据类型和格式等寻址方式 寻址方式的种类 表示方法和地址计算等寄存器组织 操作数寄存器 变址寄存器 控制寄存器 及专用寄存器等的定义 数量和使用方法 指令系统 指令的选取 指令的操作数类型和格式 指令操作码优化和控制机构等 存贮器系统 最大可编址空间 最小编址单位 编址方式和主存容量等 中断机构 中断的类型 中断分级 中断处理功能和中断入口地址等 机器级的 结构 的联接方式 设备访问方式 数据的源 目的和吞吐量等 其它还包括 操作结束和出错指示 机器工作状态的定义和切换 信息保护保护方式等 12 指令系统结构评价的常规方法 13 测试程序的选择 1 实际程序用户用来解决问题的实际工作程序 即实际的工作负载 尽管不知道在工作负载中所占的比例 一般选择被用户广泛使用的 具有一定代表性的实际程序 如C编译器 文本编辑器等 有输入 输出 参数核心基准测试程序 kernelbenchmark 从实际程序中抽出来的能代表整个程序运行的主要工作的核心代码段 适于独立评价某一方面的性能抽取条件 这一段代码必须决定整个程序的执行时间如LivemoreLoops 浮点循环 Linpack等 14 测试程序的选择 2 简单基准测试程序 toybenchmark 事先知道结果的小程序 10 100行 如快速排序 八皇后问题等综合基准程序 syntheticbenchmark 和核心基准程序有点类似 但它不是从单个实际程序中提取 而是通过对大量的实际程序的执行情况进行统计 根据各类操作和操作数的使用频率 人为设计出来的一段小规模测试程序 如Whetstone Dhrystone等 15 指令系统与处理器结构的关系 16 指令系统与处理器结构的关系 17 指令系统考虑的问题 18 微处理器的系统结构设计微处理器的执行机制设计微处理器流水线结构设计微处理器逻辑设计与实现处理器逻辑综合 Synopsys 处理器物理综合 Candence 处理器的验证与测试 19 微处理器的执行机制设计 20 微处理器的执行机制设计 21 微处理器的执行机制设计 22 微处理器的执行机制设计 23 微处理器的执行机制设计 24 微处理器的执行机制设计 25 流水线相关说明 26 微处理器的执行机制设计 27 微处理器的执行机制设计 28 微处理器的执行机制设计 29 30 31 32 33 多线索处理器举例 34 微处理器的系统结构设计微处理器的执行机制设计微处理器流水线结构设计微处理器逻辑设计与实现处理器逻辑综合 Synopsys 处理器物理综合 Candence 处理器的验证与测试 35 微处理器流水线结构设计 流水深度流水段的任务分配流水线相关时钟设计 周期 双时钟寄存器与锁存器 36 流水深度 37 流水段的任务分配 38 微处理器的系统结构设计微处理器的执行机制设计微处理器流水线结构设计微处理器逻辑设计与实现处理器逻辑综合 Synopsys 处理器物理综合 Candence 处理器的验证与测试 39 微处理器逻辑设计与实现 处理器结构级评价工具总结寄存器级结构图指令逻辑寄存器级描述指令物理寄存器级描述数据通路设计控制器设计中断控制设计处理器集成 40 处理器结构级评价工具总结 指令级模拟 41 寄存器级结构图 42 微处理器设计 43 处理器逻辑设计 数据通路和控制器 44 微处理器的系统结构设计微处理器的执行机制设计微处理器流水线结构设计微处理器逻辑设计与实现处理器逻辑综合 Synopsys 处理器物理综合 Candence 处理器的验证与测试 45 5行为级 逻辑级验证 功能级验证确保处理器与系统结构一致等价验证确保设计结果与功能模型相匹配电子验证确保电路的正确性 在运行电压温度等环境下的稳定性流片前验证流片后验证 46 验证的层次 系统验证芯片上系统验证行为级验证验证所实现的与所描述的一致性寄存器传输级结构验证模拟验证模型检验门级 晶体管级逻辑等式检验 47 微处理器的系统结构设计微处理器的执行机制设计微处理器流水线结构设计微处理器逻辑设计与实现处理器逻辑综合 Synopsys 处理器物理综合 Candence 处理器的验证与测试 48 6逻辑综合 49 逻辑综合 50 工艺库 51 嵌入式体系结构 嵌入式指令集嵌入式CPU存储器IO设计SOC 52 设计嵌入式系统的第一步 确定指令系统 以指导选择嵌入式内核 53 嵌入式微内核 嵌入式微处理器嵌入式控制器嵌入式DSPSOC 在片系统 本章介绍微处理器 ARM DSP SHARC 54 一 计算机体系结构 1 冯 诺依曼结构五大部件 ALU Controller Memory Input Output核心部件 早期是CPU 后来是Memory存储程序 storedprogram 程序以数字形式存在 可以与数据一样被读写 55 指令执行次序 顺序跳转程序计数器ProgramCounter PC 56 2 哈佛体系结构 程序与数据有单独的存储器PC只能指向程序存储器目前仍然广泛应用指令cache与数据cache适用于实时信号处理 大部分的DSP 大量数据流入计算机数据必须在精确的时间内处理完成 57 3 RISC与CISC CISC 复杂指令系统计算机RISC 精简指令系统计算机RISC一般性能比CISC高 58 4 汇编语言种类 1 堆栈型汇编PushaPushbAddPopc 59 2 累加器型汇编 LoadaAddbStorec 60 3 通用寄存器型汇编 Load 1 ALoad 2 BAdd 3 1 2Store 3 C 61 二 ARM处理器 属于RISC体系自己不制造VLSI设备 只提供授权ARM 只设计内核的英国公司 62 ARM内核系列 ARM720T 63 ARM720T特性 Features 32 16 bitRISCarchitecture ARMv4T Power efficientthree stagepipeline32 bitALUandhigh performancemultiplier8KByteunifiedcacheMemoryManagementUnit MMU Extensivedebugfacilities EmbeddedICE RTreal timedebugunit JTAGinterfaceunit InterfacefordirectconnectiontoEmbeddedTraceMacrocell ETM 64 集成ARM内核的芯片 ARM720T CirrusLogic公司EP7312三星 应用于手持设备与网络设备Intel StrongArm系列 Xscale系列Motorola 手持设备 由68改过来 CirrusLogic EP7312 65 ARM内核 ARM内核被授权给数百家厂商ARM主要应用于无线局域网 3G 手机 手持设备 有线网络通讯应用形式 集成到专用芯片中作控制器 66 ARM体系结构 ARM7采用冯 诺依曼体系ARM9采用哈佛体系对汇编程序员透明 67 ARM基本数据类型 两种 32位长的字4个8bit的字节 68 地址 32位地址长度可以配置为低序或者高序字的最低位放最低位字节 低序 字的最低位放最高位字节 高序 69 2 1汇编书写模式 属于通用寄存器型 GPR 汇编Load Store结构数据必须装载到寄存器才能运算Load从内存装到寄存器Store从寄存器存储到内存 70 ARM的寄存器 16个通用寄存器r0 r15r15同时做PC1个特殊寄存器 当前程序状态寄存器CPSR在进行运算时被自动设置 71 CPSR 高四位为NZCVN 负数Z 为0C 进位V 溢出 72 2 2数据运算 1 寄存器型指令 addr0 r1 r2r1寄存器的内容加r2寄存器的内容 存到r0 73 算术运算 Add加Adc进位加Sub减Sbc进位减Rsb 逆减Rsc 进位逆减Mul 乘Mla 乘且累加 74 逻辑运算 And 按位与Orr 按位或EOR 按位异或BIC 位清除 75 移位运算 LSL 逻辑左移 添0 LSR 逻辑右移 添0 ASL 算术左移ASR 算术右移ROR 循环右移RRX 带进位位的循环右移 76 比较指令 CMP 比较CMN 比较求反TST 按位测试TEQ 按位测试求反 77 移动指令 MOV 移动MVN 移动求反 78 内存访问指令 LDR 装入STR 存储LDRH 装入半字STRH 存储半字LDRSH 装入半个带符号字LDRB 装入字节STRB 存储字节ADR 设置寄存器为地址 79 2 立即数寻址 Addr0 r1 2 80 3 寄存器间接寻址 LDRr0 r1 4 81 4 自动变址 LDRr0 r1 16 r1的内容加16 然后用这个新值作为地址 82 5 后变址 LDRr0 r1 16把r1为地址的内存数据载入到r0 然后把r1的值加入16并把新值赋值给r1 83 6 例子 x a b c ADRr4 aLDRr0 r4 ADRr5 bLDRr1 r5 ADDr3 r0 r1ADRr4 cLDRr2 r4 SUBr3 r3 r2LDRr4 xSTRr3 r4 84 2 3控制流 1 B指令分支指令分支目标计算例子B 100表示当前程序计数器的值加上400 100字长 85 2 条件码 EQ 等于0 Z 1NE 不等于0 Z 0CS 进位置1 C 1CC 进位清除 C 0MI 负数 N 1PL 非负数 N 0 86 VS 溢出 V 1VC 非溢出 V 0HI 无符号大于 C 1且Z 0LS 无符号小于或等于 C 0或Z 1GE 有符号小于或等于 N VLT 有符号小于 N VGT 有符号大于 Z 0且N VLE 有符号小于或等于 Z 1或N V 87 3 例子 If a b X 5 Y c d ElseX c d 88 ADRr4 aLDRr0 r4 ADRr4 bLDRr1 r4 CMPr0 r1 a b gotofblockMOVr0 5ADRr4 xSTRr0 r4 89 ADRr4 cLDRr0 r4 ADRr4 dLDRr1 r4 ADDr0 r0 r1 a bADRr4 ySTRr0 r4 Bafter branchtoend 90 fblock ADRr4 cLDRr0 r4 ADRr4 dLDRr1 r4 SUBr0 r0 r1 a bADRr4 xSTRr0 r4 after 91 同样c程序 用汇编可以写成不需要跳转的 如下 92 ADRr4 aLDRr0 r4 ADRr4 bLDRr1 r4 CMPr0 r1 a b 93 MOVLTr0 5ADRLTr4 xSTRLTr0 r4 ADRLTr4 cLDRLTr0 r4 ADRLTr4 dLDRLTr1 r4 ADDLTr0 r0 r1 a bADRLTr4 ySTRLTr0 r4 94 ADRGEr4 cLDRGEr0 r4 ADRGEr4 dLDRGEr1 r4 SUBGEr0 r0 r1 a bADRGEr4 xSTRGEr0 r4 95 2 4函数 X a b Foo x Y c d 汇编 BLfoo 分支链接分支前将当前pc值存在r14中 返回只要MOVr15 r14调用过程必须注意不覆盖r14 96 嵌套调用 上述方法不适用于嵌套调用嵌套调用时 将返回地址存堆栈Voidf1 inta f2 a 97 f1LDRr0 r13 STRr13 r14 STRr13 r0 BLf2SUBr13 4LDRr13 r15 98 三 SHARC处理器 使用哈佛结构的DSP例子 R1 DM M0 I0 R2 PM M8 I8 注释LABEL R3 R1 R2 每条指令用分号结束 开始为注释 99 3 1存储器结构 SHARC指令48位基本数据字32位地址位32位片上带大量的存储器系列中的21061有1Mbit片上存储器存储器包括PM 程序存储器DM 数据存储器芯片外还能够加更多的存储器 100 数据类型 32位IEEE单精度浮点40位IEEE扩展精度浮点32位整数主要设计为浮点密集型运算适用DSP 101 改进的哈佛结构 程序存储器可以包含数据与指令数据可以并行取出 102 3 2体系结构 整数操作使用R0到R15 16个整数寄存器浮点操作使用F0到F15 16个浮点寄存器所有数据都是40bit 如果32位数据存储时 存在高32位 103 三个数据功能单元 一个ALU一个乘法器一个移位器 104 三个模式寄存器 算术状态 ASTAT 粘着 STKY 模式1 MODE1 105 3 3整数运算 Rn Rx Ry加Rn Rx Ry减Rn Rx Ry CI进位加Rn Rx Ry CI 1借位减Rn Rx Ry 2平均COMP Rx Ry 比较Rn Rx CI进位加Rn Rx CI 1借位加 106 Rn Rx 1加1Rn Rx 1减1Rn Rx求反Rn ABSRx绝对值Rn PASSRx将Rx拷贝到RnRn RxandRy逻辑加Rn RxorRy逻辑或 107 Rn RxxorRy逻辑异或Rn NotRx逻辑非Rn Min Rx Ry 求最小值Rn Max Rx Ry 求最大值Rn ClipRxbyRy在 Ry Ry 范围内截取Rx 108 溢出处理 溢出导致最大范围的值不是循环 109 3 4浮点运算 Fn Fx FyFn Fx FyFn ABS Fx Fy Fn ABS Fx Fy Fn Fx Fy 2COMP Fx Fy Fn Fx 110 Fn ABSFxFn PassFxFn RNDFx舍入Fn ScalbFxbyRy用Ry换算成Fx的指数Rn MantFx提取Fx的尾数Rn LOGBFx把Fx的指数换算成整数Rn FIXFx Rn TRUNCFx将浮点转换成整数Rn FLOATRxbyRy FLOATRx将整数换成浮点 111 Fn RECIPSFx为倒数创建种子Fn RSQRTSFx为倒数平方根创建种子Fn FxCOPYSIGNFy把Fy的符号拷贝到FxFn Min Fx Fy Fn Max Fx Fy Fn ClipFxbyFy 112 3 5SHARC的移位操作 Rn LSHIFTRxbyRy逻辑移位Ry位Rn RnORSHIFTRxbyRy逻辑移位并逻辑或Rn ASHIFTRxbyRy算术移位Rn RnORASHIFTRxbyRy算术移位并逻辑或Rn ROTRxbyRy循环移位Ry位Rn BCLRRxbyRy清Rx中的一位Rn BSETRxbyRY设Rx中的一位 113 Rn BTGLRxbyRy切换Rx中的1位BTSTRxbyRy测试Rx中的1位Rn FDEPRxbyRy将Rx中的域累计进Rn中Rn RnORFDEPRxbyRy使用OR操作累计并符号扩展Rn FEXTRxbyRy提取Rx中的域Rn EXPRx提取指数域 114 Rn EXPRx Ex 从ALU中提取指数域Rn LEFTZRx提取引导0的个数Rn LEFTORx提取引导1的个数Rn FPACKFx将32位浮点数转换为16位浮点数Rn FUNPACKRn将16位浮点数转换为32位浮点数 115 3 6数操作状态位 ASTAT中有AZ AU AN AV AC AI MN MV MU MI SZ SV SSSTKY中溢出位AOS MOS MVS MUS MIS具体含义略 116 3 7内存操作 装入存储体系结构提供用来控制装入和存储的特殊寄存器两个数据地址发生器 DAG 一个是数据存储器一个是程序存储器DAG能够象对数组一样进行访问数据 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论