第1课-计算机体系结构与嵌入式CPU要点课件_第1页
第1课-计算机体系结构与嵌入式CPU要点课件_第2页
第1课-计算机体系结构与嵌入式CPU要点课件_第3页
第1课-计算机体系结构与嵌入式CPU要点课件_第4页
第1课-计算机体系结构与嵌入式CPU要点课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

计算机体系结构与嵌入式CPU设计浙江大学超大规模集成电路设计研究所孟建熠mengjy@《系统芯片设计导论》之2008-10-081计算机体系结构与嵌入式CPU设计浙江大学超大规模集成电路设计课程内容计算机体系结构基础知识指令集技术流水线与指令级并行设计技术存储系统与Cache技术系统芯片与嵌入式CPU嵌入式CPU设计方法与流程CSKY嵌入式CPU介绍2《系统芯片设计导论》课程内容计算机体系结构基础知识2《系统芯片设计导论》计算机体系结构基础知识3《系统芯片设计导论》计算机体系结构基础知识3《系统芯片设计导论》计算机体系结构具体内容它是一门设计计算机的学科,包括计算机的指令系统设计,结构设计,实现技术,以及与系统软件操作系统和编译器相关的技术;它主要研究软件、硬件功能分配和对软件、硬件界面的确定,即确定哪些功能由软件完成,哪些功能由硬件实现。MIS&OA,其它应用软件工程理论数据结构各种程序设计语言数据库原理编译原理操作系统离散数学计算机系统结构计算机组成及实现数字逻辑数字电路微电子技术LSI、VLSI计算机软件计算机硬件4《系统芯片设计导论》计算机体系结构具体内容它是一门设计计算机的学科,包括计算机的经典计算机模型图灵模型计算机是由一个有限状态读写头和一个存储器构成。有限状态读写头从一个初始状态开始,对存储器上的(输入)数据进行读或写操作,经过有限步操作之后停机,此时存储器上的(输出)数据就是计算结果。这样的计算机模型叫做图灵机。冯·诺依曼结构约翰·冯·诺伊曼在为第一台存储程序计算机EDVAC研发计划做顾问时,写了一个草案报告描述了这种带有中央处理器、内存、I/O、总线的存储程序计算机。所以存储程序计算机还有另外一个学名,叫做冯·诺伊曼体系架构(VonNeumannArchitecture)。它的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。5《系统芯片设计导论》经典计算机模型图灵模型5《系统芯片设计导论》体系结构Flynn分类法SISD指令部件只对一条指令处理,只控制一个操作部件操作。如一般的串行单处理机。SIMD由单一指令部件同时控制多个重复设置的处理单元,执行同一指令下不同数据的操作。如阵列处理机。MISD多个指令部件对同一数据的各个处理阶段进行操作。这种机器很少见。MIMD多个独立或相对独立的处理机分别执行各自的程序、作业或进程。例如多处理机。6《系统芯片设计导论》体系结构Flynn分类法SISD6《系统芯片设计导论》计算机的发展历史及分类(1)传统的计算机分类:大型机、小型机、巨型机(成熟超级计算机)1980年代产生了新的机型:个人(PC)机、工作站、服务器1990年代产生了嵌入式系统:高性能家电、机顶盒、电子游戏机、手机、网络路由器、交换机等7《系统芯片设计导论》计算机的发展历史及分类(1)传统的计算机分类:7《系统芯片计算机的发展历史及分类(2)后PC时代(移动互联网)8《系统芯片设计导论》计算机的发展历史及分类(2)后PC时代(移动互联网)8《系计算机体系结构的研究方法用定量方法进行计算机设计;用定量方法作为工具分析程序实际运行结果、各类实验和仿真;用定量方法寻找计算机体系结构的新思路、新技术,保证计算机性能继续按现在速率提高。9《系统芯片设计导论》计算机体系结构的研究方法用定量方法进行计算机设计;9《系统大概率事件原则计算机设计中一个最重要、最普遍的原则和罕见事件相比,更应该注意经常出现的事件。改变常见事件的处理速度更加有助于提高机器的性能。10《系统芯片设计导论》大概率事件原则计算机设计中一个最重要、最普遍的原则10《系Amdahl定律计算机执行某个任务的总时间中可被改进部分的时间所占的百分比,即(可改进部分占用的时间)/(改进前整个任务的执行时间),记为Fe,它总小于1。改进部分采用改进措施后比没有采用改进措施前性能提高倍数,即(改进前改进部分的执行时间)/(改进后改进部分的执行时间),记为Se,它总大于1。 改进后整个任务的执行时间为: Tn=T0(1-Fe+Fe/Se) 其中T0为改进前的整个任务的执行时间 改进后整个系统的加速比为 Sn=To/Tn=1/(1-Fe+Fe/Se)11《系统芯片设计导论》Amdahl定律计算机执行某个任务的总时间中可被改进部分的时计算机与集成电路(1)体系结构不断创新12《系统芯片设计导论》计算机与集成电路(1)体系结构不断创新12《系统芯片设计导计算机与集成电路(2)摩尔定律发展技术进步集成电路技术的进步,包括存储器(包括内外存)和各类外设的进步。特点:稳定发展,即按Moore定律发展,即微处理器性能(按芯片上晶体管数定义)每18个月翻一番,即每年提高58%。13《系统芯片设计导论》计算机与集成电路(2)摩尔定律发展技术进步13《系统芯片设计算机体系结构设计任务指令集设计——这是传统计算机体系结构的任务,即程序员面对的(看得见的)指令系统的设计计算机组织设计——存储器设计,CPU设计,I/O总线结构设计等高层内容,同一个指令集可以对应不同组织设计硬件设计——芯片的逻辑设计、封装、冷却。

相同的指令集和组织可以对应不同的硬件实现形成一个产品系列。

14《系统芯片设计导论》计算机体系结构设计任务指令集设计14《系统芯片设计导论》指令集技术15《系统芯片设计导论》指令集技术15《系统芯片设计导论》指令集的概念CPU能执行的指令的集合二进制形式,通常用汇编代码表示机器指令的元素:操作码源操作数目标操作数下一条指令在机器码中每条指令都有唯一的比特形式为了编程方便,操作码可以写成助记符形式如ADD,SUB,LOAD16《系统芯片设计导论》指令集的概念CPU能执行的指令的集合16《系统芯片设计导论指令类型数据处理add/sub数据存取load/store数据移动mov程序流控制branch17《系统芯片设计导论》指令类型数据处理17《系统芯片设计导论》寻址方式操作数引用的形式立即寻址:ADDAX,5直接寻址:ADDAX,[24]间接寻址:ADDR,(A)寄存器寻址:ADDAX,BX寄存器间接寻址:MOVAX,[BX]偏移寻址:MOVBX,80[SI]堆栈寻址:ADD—将栈顶两元素相加18《系统芯片设计导论》寻址方式操作数引用的形式18《系统芯片设计导论》指令格式指令比特字段的布局包括:操作码操作数(隐式或显式)位分配:操作码数目和寻址能力之间的平衡操作数的数目寄存器/存储器寄存器组地址范围地址粒度19《系统芯片设计导论》指令格式指令比特字段的布局19《系统芯片设计导论》指令系统的分类-CISCCISC发展历史计算机发展早期,为了方便软件编程和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式。CISC的缺点为了指令兼容的需求,新的指令系统必须包含原系统的指令,指令规模迅速膨胀,芯片设计复杂度大幅度提升。执行概率较低的指令会浪费存储空间,执行概率高但长度长的指令会增加取指的延时,降低性能;20%的指令被使用,80%的指令处于闲置状态;20《系统芯片设计导论》指令系统的分类-CISCCISC发展历史20《系统芯片设计指令系统的分类-RISCRISC发展历史寻找一种代码长度规范且高度优化的指令系统,降低单条指令的专用化程度。RSIC优点简化了硬件设计提高处理器运行频率RISC缺点增加了软件设计与优化的复杂度21《系统芯片设计导论》指令系统的分类-RISCRISC发展历史21《系统芯片设计CSICvsRISCCISC

RISC

注重硬件优化注重软件优化包含多周期的复杂指令只包含单周期的精简指令支持存储器到存储器的指令只支持寄存器到寄存器的指令,需要额外的的存储器读与写的指令代码空间小,每条指令的周期长代码空间大,每条指令执行周期短设计中更加注重对复杂指令的硬件实现设计中更加注重存储器的硬件设计22《系统芯片设计导论》CSICvsRISCCISCRISC注重硬件优化注重指令集设计中需要考虑的若干问题结合功能的指令列表多少条指令指令的功能与操作数选择单条指令的复杂性数据类型选择8位/16位/32位指令格式操作码的长度地址数23《系统芯片设计导论》指令集设计中需要考虑的若干问题结合功能的指令列表23《系统流水线与指令级并行设计技术24《系统芯片设计导论》流水线与指令级并行设计技术24《系统芯片设计导论》CPU性能指标CPUtime=IC×CPI×CCCPUtime——执行一般代码所需的中央处理站(CPU)时间IC——代码的指令条数(InstructionCount),与指令集设计编译器的优化有关CPI——平均执行每条指令的时钟周期数(CyclePerInstruction),与指令集设计、体系结构等技术有关CC——时钟周期(ClockCycle)与计算机组成,IC工艺等技术有关25《系统芯片设计导论》CPU性能指标CPUtime=IC×CPI×CCCPU的极限性能理想情况下,每条只能在一个CPU时钟周期内完成,即CPI=1。早期CPU设计中,所有的指令都能在单周期内完成,但速度非常慢,尽管CPI能接近与理论值,但总体吞吐率不高;无法提高总体吞吐率的原因:频率提升要求时钟周期不断缩短,复杂工作无法在规定的时钟周期内完成;26《系统芯片设计导论》CPU的极限性能理想情况下,每条只能在一个CPU时钟周期内完提高CPU性能的方法——流水线27《系统芯片设计导论》提高CPU性能的方法——流水线27《系统芯片设计导论》指令流水线的基本原理28《系统芯片设计导论》指令流水线的基本原理28《系统芯片设计导论》流水线的竞争实际流水线不可能像上述理想流水线那样完美存在三种流水线竞争结构竞争:由硬件资源不足造成流水线停顿数据竞争:由前后指令之间存在数据相关性造成流水线停顿控制竞争:由转移指令造成流水线停顿实际流水线的CPI=理想流水线的CPI+结构竞争造成的停顿周期

+数据竞争造成的停顿周期

+控制竞争造成的停顿周期要提高CPU的性能就是要消除或减少三种竞争造成的停顿周期

29《系统芯片设计导论》流水线的竞争实际流水线不可能像上述理想流水线那样完美29《流水线竞争解决的总体思路结构竞争通过增加硬件资源来解决数据竞争和控制竞争通过挖掘代码指令之间的并行性,即通过开发和发现指令之间存在的可并行(重叠)执行的可能性,然后对指令执行顺序进行调度,即用不相关的指令来填补本来应该停顿周期的方法,达到消除或减少停顿周期,提高指令执行速度。ILP设计技术分两大类:基于硬件的ILP技术,又称动态开发ILP技术基于软件的ILP技术,又称静态开发ILP技术30《系统芯片设计导论》流水线竞争解决的总体思路结构竞争30《系统芯片设计导论》用于解决数据竞争的ILP设计技术

静态调度动态调度采用重命名的动态调度技术编译分析数据相关性软件流水线路经调度31《系统芯片设计导论》用于解决数据竞争的ILP设计技术静态调度31《系统芯片设用于解决控制相关性的ILP技术静态转移预测技术动态转移预测技术静脉投机技术动态投机技术循环体展开技术延时转移技术32《系统芯片设计导论》用于解决控制相关性的ILP技术静态转移预测技术32《系统芯存储系统与Cache技术33《系统芯片设计导论》存储系统与Cache技术33《系统芯片设计导论》CPU与存储器的速度鸿沟34《系统芯片设计导论》CPU与存储器的速度鸿沟34《系统芯片设计导论》“MemoryWall”问题概括说明单纯地改善CPU的设计,一味追求提高CPU的速度,并不能提高计算机整机的性能,因为高速CPU的性能被低速的存储器访问所抵销。为了提高计算机整机性能,必须消除两者性能差,或者仅可能缩小两者性能差。35《系统芯片设计导论》“MemoryWall”问题概括35《系统芯片设计导论》存储器架构36《系统芯片设计导论》存储器架构36《系统芯片设计导论》解决办法

在高速CPU与低速Memory之间引入一个小容量的高速缓冲存储器(Cache)CPUCacheMainMemory速度严重不匹配速度匹配速度不匹配37《系统芯片设计导论》解决办法在高速CPU与低速Memory之间引入一个小容量的组相连Cache的基本原理38《系统芯片设计导论》组相连Cache的基本原理38《系统芯片设计导论》为什么Cache能提高CPU性能局部性原理程序总是倾向于重用那些刚刚用过的数据和指令,这是计算机程序非常重要的性质。局部性原理的另一种表述:程序90%的执行时间是花在10%的代码上。局部性原理告诉我们:可以根据程序最近访问的数据和指令来预测程序将要调用的数据和指令,且这一预测正确度是比较高的。所以小容量的Cache能满足程序存取数据和指令的需求39《系统芯片设计导论》为什么Cache能提高CPU性能局部性原理39《系统芯片设系统芯片与嵌入式CPU40《系统芯片设计导论》系统芯片与嵌入式CPU40《系统芯片设计导论》从嵌入式系统到系统芯片SoC系统单芯片解决方案将板级多芯片方案集成到单芯片内41《系统芯片设计导论》从嵌入式系统到系统芯片SoC系统单芯片解决方案将板级多芯片方SoC设计方法的直观概括把各个功能单元抽象设计成各个IP单元根据应用的需求将IP进行合理的集成完成相关功能验证设计软件调度硬件资源工作42《系统芯片设计导论》SoC设计方法的直观概括把各个功能单元抽象设计成各个IP单元典型SoC架构基本概念IP总线桥存储器43《系统芯片设计导论》典型SoC架构基本概念43《系统芯片设计导论》如何设计IP的通信接口命令解码单元IP内核IP数据通路系统总线接口片外接口嵌入式CPU其他IP映射寄存器单元地址仲裁器44《系统芯片设计导论》如何设计IP的通信接口命令解码单元IP内核IP数据通路系统总嵌入式CPU与SoC协同工作ldr1,(r3)r3=0x10011000uartdataregister:remappingaddress0x1001100045《系统芯片设计导论》嵌入式CPU与SoC协同工作ldr1,(r3)r3=0x1SoC中IP通信的基本原理将所有的需要与软件互动的接口按照地址的方式映射到CPU的内存空间范围内。软件就像操作内存一样访问资源,查询外设状态,控制IP工作。46《系统芯片设计导论》SoC中IP通信的基本原理将所有的需要与软件互动的接口按照地SoC的软硬件协同设计47《系统芯片设计导论》SoC的软硬件协同设计47《系统芯片设计导论》嵌入式CPU设计关键技术48《系统芯片设计导论》嵌入式CPU设计关键技术48《系统芯片设计导论》嵌入式CPU设计的主要挑战平衡成本、功耗与性能之间的矛盾最优解:成本、功耗最低,性能最佳通常情况下:成本低——则性能较低、功耗也较低功耗低——则成本不高、性能也较低性能高——功耗高、成本高49《系统芯片设计导论》嵌入式CPU设计的主要挑战平衡成本、功耗与性能之间的矛盾49嵌入式CPU指令集16位/32位指令集,32位数据通路Load/Store架构功能较弱的基本指令集+面向应用的扩展简洁的指令编码50《系统芯片设计导论》嵌入式CPU指令集16位/32位指令集,32位数据通路50嵌入式CPU体系结构RISC架构单周期指令8、16、32位数据通路精简的流水线架构冯诺依曼结构/哈佛结构3操作数格式嵌入式CPU极低功耗、极低成本超高性能高功耗和高成本嵌入式CPU体系结构发展趋势通用CPU单片机51《系统芯片设计导论》嵌入式CPU体系结构RISC架构嵌入式CPU极低功耗、超高性嵌入式CPU设计流程确立市场定位与技术指标指令集设计ISA模型与原型设计、验证定制微体系结构与规范VLSI设计与验证流片验证典型SoC应用验证大规模产业化阶段产品验证52《系统芯片设计导论》嵌入式CPU设计流程确立市场定位与技术指标52《系统芯片设VLSI设计与验证的方法全定制所有模块都采用电路级设计,通常采用自底而上的设计方法;优点:性能好,功耗低;缺点:工艺跃迁差,设计复杂度高;半定制部分模块采用电路级设计,其余模块采用硬件描述语言+工具综合;优点:能打破CPU设计中的性能瓶颈;缺点:工艺跃迁相对较差;全综合完全采用硬件描述语言,通过工具综合成目标电路;优点:工艺跃迁相当灵活;缺点:性能相对较差;53《系统芯片设计导论》VLSI设计与验证的方法全定制53《系统芯片设计导论》嵌入式CPU设计的所需的关键技术计算机体系结构了解嵌入式CPU针对的嵌入式应用领域的特征,平衡性能、功耗与成本之间的Trade-off,设计出适合应用的最佳方案;必须与应用特征紧密结合;VLSI设计技术数字集成电路设计前端、后端技术;超大规模集成电路的验证技术;54《系统芯片设计导论》嵌入式CPU设计的所需的关键技术计算机体系结构54《系统芯嵌入式CPU的体系结构实例经典5级流水线MIPS嵌入式CPU55《系统芯片设计导论

温馨提示

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

评论

0/150

提交评论