第1课计算机体系结构与嵌入式CPU要点课件.ppt

上传人(卖家):晟晟文业 文档编号:5066973 上传时间:2023-02-07 格式:PPT 页数:62 大小:2.56MB
下载 相关 举报
第1课计算机体系结构与嵌入式CPU要点课件.ppt_第1页
第1页 / 共62页
第1课计算机体系结构与嵌入式CPU要点课件.ppt_第2页
第2页 / 共62页
第1课计算机体系结构与嵌入式CPU要点课件.ppt_第3页
第3页 / 共62页
第1课计算机体系结构与嵌入式CPU要点课件.ppt_第4页
第4页 / 共62页
第1课计算机体系结构与嵌入式CPU要点课件.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、1计算机体系结构与计算机体系结构与嵌入式嵌入式CPU设计设计浙江大学超大规模集成电路设计研究所浙江大学超大规模集成电路设计研究所孟建熠孟建熠系统芯片设计导论系统芯片设计导论之之 系统芯片设计导论系统芯片设计导论2课程内容课程内容v计算机体系结构基础知识计算机体系结构基础知识v指令集技术指令集技术v流水线与指令级并行设计技术流水线与指令级并行设计技术v存储系统与存储系统与Cache技术技术v系统芯片与嵌入式系统芯片与嵌入式CPUv嵌入式嵌入式CPU设计方法与流程设计方法与流程vCSKY嵌入式嵌入式CPU介绍介绍 系统芯片设计导论系统芯片设计导论3计算机体系结构基础知识计算机体系结构基础知识 系统

2、芯片设计导论系统芯片设计导论4计算机体系结构具体内容计算机体系结构具体内容v它是一门设计计算机的学科,它是一门设计计算机的学科,包括计算机的指令系统设计,包括计算机的指令系统设计,结构设计,实现技术,以及结构设计,实现技术,以及与系统软件操作系统和编译与系统软件操作系统和编译器相关的技术;器相关的技术;v它主要研究软件、硬件功能它主要研究软件、硬件功能分配和对软件、硬件界面的分配和对软件、硬件界面的确定,即确定哪些功能由软确定,即确定哪些功能由软件完成,哪些功能由硬件实件完成,哪些功能由硬件实现。现。MISMISOAOA,其它应用其它应用软件工程理论软件工程理论数据结构数据结构各种程序设计语言

3、各种程序设计语言数据库原理数据库原理编译原理编译原理操作系统操作系统离散数学离散数学计算机系统结构计算机系统结构计算机组成及实现计算机组成及实现数字逻辑数字逻辑数字电路数字电路微电子技术微电子技术LSILSI、VLSIVLSI计算机软件计算机软件计算机硬件计算机硬件 系统芯片设计导论系统芯片设计导论5经典计算机模型经典计算机模型v 图灵模型图灵模型 计算机是由一个有限状态读写头和一个存储器构成。有限状态读写头从一个初始状态开始,对存储器上的(输入)数据进行读或写操作,经过有限步操作之后停机,此时存储器上的(输出)数据就是计算结果。这样的计算机模型叫做图灵机。v 冯冯诺依曼结构诺依曼结构 约翰冯

4、诺伊曼在为第一台存储程序计算机EDVAC研发计划做顾问时,写了一个草案报告描述了这种带有中央处理器、内存、I/O、总线的存储程序计算机。所以存储程序计算机还有另外一个学名,叫做冯诺伊曼体系架构(Von Neumann Architecture)。它的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。系统芯片设计导论系统芯片设计导论6体系结构体系结构Flynn分类法分类法 v SISD 指令部件只对一条指令处理,只控制一个操作部件操作。如一般的串行单处理机。v SIMD 由单一指令部件同时控制多个重复设置的处理单元,执行同一指令下不同数据的操作。如阵列处理机。v MISD 多个指令

5、部件对同一数据的各个处理阶段进行操作。这种机器很少见。v MIMD 多个独立或相对独立的处理机分别执行各自的程序、作业或进程。例如多处理机。系统芯片设计导论系统芯片设计导论7计算机的发展历史及分类(计算机的发展历史及分类(1 1)v传统的计算机分类:传统的计算机分类:大型机、小型机、巨型机(成熟超级计算机)v19801980年代产生了新的机型:年代产生了新的机型:个人(PC)机、工作站、服务器v19901990年代产生了嵌入式系统:年代产生了嵌入式系统:高性能家电、机顶盒、电子游戏机、手机、网络路由器、交换机等 系统芯片设计导论系统芯片设计导论8计算机的发展历史及分类(计算机的发展历史及分类(

6、2 2)v后后PC时代(移动互联网)时代(移动互联网)系统芯片设计导论系统芯片设计导论9计算机体系结构的研究方法计算机体系结构的研究方法v用定量方法进行计算机设计;用定量方法进行计算机设计;v用定量方法作为工具分析程序实际运行结果、各用定量方法作为工具分析程序实际运行结果、各类实验和仿真;类实验和仿真;v用定量方法寻找计算机体系结构的新思路、新技用定量方法寻找计算机体系结构的新思路、新技术,保证计算机性能继续按现在速率提高。术,保证计算机性能继续按现在速率提高。系统芯片设计导论系统芯片设计导论10大概率事件原则大概率事件原则v计算机设计中一个最重要、最普遍的原则计算机设计中一个最重要、最普遍的

7、原则v和罕见事件相比,更应该注意经常出现的事件。和罕见事件相比,更应该注意经常出现的事件。v改变常见事件的处理速度更加有助于提高机器的改变常见事件的处理速度更加有助于提高机器的性能。性能。系统芯片设计导论系统芯片设计导论11Amdahl定律定律v计算机执行某个任务的总时间中可被改进部分的时间计算机执行某个任务的总时间中可被改进部分的时间所占的百分比,即(可改进部分占用的时间)所占的百分比,即(可改进部分占用的时间)/(改(改进前整个任务的执行时间),记为进前整个任务的执行时间),记为Fe,它总小于,它总小于1。v改进部分采用改进措施后比没有采用改进措施前性能改进部分采用改进措施后比没有采用改进

8、措施前性能提高倍数,即(改进前改进部分的执行时间)提高倍数,即(改进前改进部分的执行时间)/(改(改进后改进部分的执行时间),记为进后改进部分的执行时间),记为Se,它总大于,它总大于1。改进后整个任务的执行时间为:Tn T0(1-Fe+Fe/Se)其中T0为改进前的整个任务的执行时间改进后整个系统的加速比为Sn To/Tn=1/(1-Fe+Fe/Se)系统芯片设计导论系统芯片设计导论12计算机与集成电路(计算机与集成电路(1)系统芯片设计导论系统芯片设计导论13计算机与集成电路(计算机与集成电路(2)摩尔定律发展摩尔定律发展集成电路技术的进步,包括存储器(包括内外存)和各类外设的进步。特点:

9、稳定发展,即按Moore定律发展,即微处理器性能(按芯片上晶体管数定义)每18个月翻一番,即每年提高58%。系统芯片设计导论系统芯片设计导论14计算机体系结构设计任务计算机体系结构设计任务v指令集设计指令集设计这是传统计算机体系结构的任务,即程序员面对的(看得见的)指令系统的设计v计算机组织设计计算机组织设计存储器设计,CPU设计,I/O总线结构设计等高层内容,同一个指令集可以对应不同组织设计v硬件设计硬件设计芯片的逻辑设计、封装、冷却。相同的指令集和组织可以对应不同的硬件实现形成一个产品系列。系统芯片设计导论系统芯片设计导论15指令集技术指令集技术 系统芯片设计导论系统芯片设计导论16指令集

10、的概念指令集的概念vCPU能执行的指令的集合能执行的指令的集合v二进制形式,通常用汇编代码表示二进制形式,通常用汇编代码表示v机器指令的元素:机器指令的元素:操作码 源操作数 目标操作数 下一条指令v在机器码中每条指令都有唯一的比特形式在机器码中每条指令都有唯一的比特形式v为了编程方便,操作码可以写成助记符形式为了编程方便,操作码可以写成助记符形式 如ADD,SUB,LOAD 系统芯片设计导论系统芯片设计导论17指令类型指令类型v数据处理数据处理 add/subv数据存取数据存取 load/storev数据移动数据移动 movv程序流控制程序流控制 branch 系统芯片设计导论系统芯片设计导

11、论18寻址方式寻址方式v操作数引用的形式操作数引用的形式 立即寻址:ADD AX,5 直接寻址:ADD AX,24 间接寻址:ADD R,(A)寄存器寻址:ADD AX,BX 寄存器间接寻址:MOV AX,BX 偏移寻址:MOV BX,80SI 堆栈寻址:ADD将栈顶两元素相加 系统芯片设计导论系统芯片设计导论19指令格式指令格式v 指令比特字段的布局指令比特字段的布局v 包括:包括:操作码 操作数(隐式或显式)v 位分配:位分配:操作码数目和寻址能力之间的平衡 操作数的数目 寄存器/存储器 寄存器组 地址范围 地址粒度 系统芯片设计导论系统芯片设计导论20指令系统的分类指令系统的分类-CIS

12、Cv CISC发展历史发展历史 计算机发展早期,为了方便软件编程和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式。v CISC的缺点的缺点 为了指令兼容的需求,新的指令系统必须包含原系统的指令,指令规模迅速膨胀,芯片设计复杂度大幅度提升。执行概率较低的指令会浪费存储空间,执行概率高但长度长的指令会增加取指的延时,降低性能;20%的指令被使用,80%的指令处于闲置状态;系统芯片设计导论系统芯片设计导论21指令系统的分类指令系统的分类-RISCvRISC发展历史发展历史 寻找一种代码长度规范且高度优化的指令系统,降低单条指令的专用化程度。vRSIC优点优

13、点 简化了硬件设计 提高处理器运行频率vRISC缺点缺点 增加了软件设计与优化的复杂度 系统芯片设计导论系统芯片设计导论22CSIC vs RISCCISC RISC 注重硬件优化注重硬件优化注重软件优化注重软件优化包含多周期的复杂指令包含多周期的复杂指令只包含单周期的精简指令只包含单周期的精简指令支持存储器到存储器的指令支持存储器到存储器的指令只支持寄存器到寄存器的指令,只支持寄存器到寄存器的指令,需要额外的的存储器读与写的需要额外的的存储器读与写的指令指令代码空间小,每条指令的周期长代码空间小,每条指令的周期长代码空间大,每条指令执行周期代码空间大,每条指令执行周期短短设计中更加注重对复杂

14、指令的硬设计中更加注重对复杂指令的硬件实现件实现设计中更加注重存储器的硬件设设计中更加注重存储器的硬件设计计 系统芯片设计导论系统芯片设计导论23指令集设计中需要考虑的若干问指令集设计中需要考虑的若干问题题v结合功能的指令列表结合功能的指令列表 多少条指令 指令的功能与操作数选择 单条指令的复杂性v数据类型选择数据类型选择 8位/16位/32位v指令格式指令格式 操作码的长度 地址数 系统芯片设计导论系统芯片设计导论24流水线与指令级并行设计技术流水线与指令级并行设计技术 系统芯片设计导论系统芯片设计导论25CPU性能指标性能指标vCPU time=IC CPI CCvCPU time 执行一

15、般代码所需的中央处理站执行一般代码所需的中央处理站(CPU)时间)时间vIC代码的指令条数(代码的指令条数(Instruction Count),与指令集设计编译器的优化有关),与指令集设计编译器的优化有关vC P I 平 均 执 行 每 条 指 令 的 时 钟 周 期 数平 均 执 行 每 条 指 令 的 时 钟 周 期 数(Cycle Per Instruction),与指令集设计、),与指令集设计、体系结构等技术有关体系结构等技术有关vCC时钟周期(时钟周期(Clock Cycle)与计算机组)与计算机组成,成,IC工艺等技术有关工艺等技术有关 系统芯片设计导论系统芯片设计导论26CPU

16、的极限性能的极限性能v理想情况下,每条只能在一个理想情况下,每条只能在一个CPU时钟周期内完时钟周期内完成,即成,即CPI=1。v早期早期CPU设计中,所有的指令都能在单周期内完设计中,所有的指令都能在单周期内完成,但速度非常慢,尽管成,但速度非常慢,尽管CPI能接近与理论值,能接近与理论值,但总体吞吐率不高;但总体吞吐率不高;v无法提高总体吞吐率的原因:无法提高总体吞吐率的原因:频率提升要求时钟周期不断缩短,复杂工作无法在规定的时钟周期内完成;系统芯片设计导论系统芯片设计导论27提高提高CPU性能的方法性能的方法流水线流水线 系统芯片设计导论系统芯片设计导论28指令流水线的基本原理指令流水线

17、的基本原理 系统芯片设计导论系统芯片设计导论29流水线的竞争流水线的竞争v 实际流水线不可能像上述理想流水线那样完美实际流水线不可能像上述理想流水线那样完美v 存在三种流水线竞争存在三种流水线竞争 结构竞争:由硬件资源不足造成流水线停顿 数据竞争:由前后指令之间存在数据相关性造成流水线停顿 控制竞争:由转移指令造成流水线停顿v 实际流水线的实际流水线的CPI=理想流水线的理想流水线的CPI +结构竞争造成的停顿周期结构竞争造成的停顿周期 +数据竞争造成的停顿周期数据竞争造成的停顿周期 +控制竞争造成的停顿周期控制竞争造成的停顿周期v 要提高要提高CPU的性能就是要消除或减少三种竞争造成的停的性

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

19、解决数据竞争的用于解决数据竞争的ILPILP设计技术设计技术 v静态调度静态调度v动态调度动态调度v采用重命名的动态调度技术采用重命名的动态调度技术v编译分析数据相关性编译分析数据相关性v软件流水线软件流水线v路经调度路经调度 系统芯片设计导论系统芯片设计导论32用于解决控制相关性的用于解决控制相关性的ILP技术技术v静态转移预测技术静态转移预测技术v动态转移预测技术动态转移预测技术v静脉投机技术静脉投机技术v动态投机技术动态投机技术v循环体展开技术循环体展开技术v延时转移技术延时转移技术 系统芯片设计导论系统芯片设计导论33存储系统与存储系统与Cache技术技术 系统芯片设计导论系统芯片设计

20、导论34CPU与存储器的速度鸿沟与存储器的速度鸿沟 系统芯片设计导论系统芯片设计导论35“Memory Wall”问题概括问题概括v说明单纯地改善说明单纯地改善CPU的设计,一味追求提高的设计,一味追求提高CPU的速度,并不能提高计算机整机的性能,因为高的速度,并不能提高计算机整机的性能,因为高速速CPU的性能被低速的存储器访问所抵销。的性能被低速的存储器访问所抵销。v为了提高计算机整机性能,必须消除两者性能差,为了提高计算机整机性能,必须消除两者性能差,或者仅可能缩小两者性能差。或者仅可能缩小两者性能差。系统芯片设计导论系统芯片设计导论36存储器架构存储器架构 系统芯片设计导论系统芯片设计导

21、论37解决办法解决办法 v在高速在高速CPU与低速与低速Memory之间引入一个小容之间引入一个小容量的高速缓冲存储器(量的高速缓冲存储器(Cache)CPUCacheMain Memory速度严重不匹配速度严重不匹配速度匹配速度匹配速度不匹配速度不匹配 系统芯片设计导论系统芯片设计导论38组相连组相连Cache的基本原理的基本原理 系统芯片设计导论系统芯片设计导论39为什么为什么Cache能提高能提高CPU性能性能v局部性原理局部性原理 程序总是倾向于重用那些刚刚用过的数据和指程序总是倾向于重用那些刚刚用过的数据和指令令,这是计算机程序非常重要的性质。局部性原理的另一种表述:程序90%的执行

22、时间是花在10%的代码上。局部性原理告诉我们:可以根据程序最近访问的数据和指令来预测程序将要调用的数据和指令,且这一预测正确度是比较高的。所以小容量的Cache能满足程序存取数据和指令的需求 系统芯片设计导论系统芯片设计导论40系统芯片与嵌入式系统芯片与嵌入式CPU 系统芯片设计导论系统芯片设计导论41从嵌入式系统到系统芯片从嵌入式系统到系统芯片SoCv系统单芯片解决方案系统单芯片解决方案将板级多芯片方案集成到单芯片内 系统芯片设计导论系统芯片设计导论42SoC设计方法的直观概括设计方法的直观概括v把各个功能单元抽象设计成各个把各个功能单元抽象设计成各个IP单元单元v根据应用的需求将根据应用的

23、需求将IP进行合理的集成进行合理的集成v完成相关功能验证完成相关功能验证v设计软件调度硬件资源工作设计软件调度硬件资源工作 系统芯片设计导论系统芯片设计导论43典型典型SoC架构架构v基本概念基本概念 IP 总线 桥 存储器 系统芯片设计导论系统芯片设计导论44如何设计如何设计IP的通信接口的通信接口命令解码单元IP内核IP数据通路系统总线接口片外接口嵌入式CPU其他IP映射寄存器单元地址仲裁器 系统芯片设计导论系统芯片设计导论45嵌入式嵌入式CPU与与SoC协同工作协同工作ld r1,(r3)r3=0 x10011000uart data register:remapping address

24、0 x10011000 系统芯片设计导论系统芯片设计导论46SoC中中IP通信的基本原理通信的基本原理v将所有的需要与软件互动的接口按照地址的方式将所有的需要与软件互动的接口按照地址的方式映射到映射到CPU的内存空间范围内。软件就像操作内的内存空间范围内。软件就像操作内存一样访问资源,查询外设状态,控制存一样访问资源,查询外设状态,控制IP工作。工作。系统芯片设计导论系统芯片设计导论47SoC的软硬件协同设计的软硬件协同设计 系统芯片设计导论系统芯片设计导论48嵌入式嵌入式CPU设计关键技术设计关键技术 系统芯片设计导论系统芯片设计导论49嵌入式嵌入式CPU设计的主要挑战设计的主要挑战v 平衡

25、成本、功耗与性能之间的矛盾平衡成本、功耗与性能之间的矛盾 最优解:成本、功耗最低,性能最佳v 通常情况下:通常情况下:成本低则性能较低、功耗也较低 功耗低则成本不高、性能也较低 性能高功耗高、成本高 系统芯片设计导论系统芯片设计导论50嵌入式嵌入式CPU指令集指令集v16位位/32位指令集,位指令集,32位数据通路位数据通路vLoad/Store架构架构v功能较弱的基本指令集功能较弱的基本指令集+面向应用的扩展面向应用的扩展v简洁的指令编码简洁的指令编码 系统芯片设计导论系统芯片设计导论51嵌入式嵌入式CPU体系结构体系结构vRISC架构架构v单周期指令单周期指令v8、16、32位数据通路位数

26、据通路v精简的流水线架构精简的流水线架构v冯诺依曼结构冯诺依曼结构/哈佛结构哈佛结构v3操作数格式操作数格式嵌入式CPU极低功耗、极低成本超高性能高功耗和高成本嵌入式CPU体系结构发展趋势通用CPU单片机 系统芯片设计导论系统芯片设计导论52嵌入式嵌入式CPU设计流程设计流程v确立市场定位与技术指标确立市场定位与技术指标v指令集设计指令集设计vISA模型与原型设计、验证模型与原型设计、验证v定制微体系结构与规范定制微体系结构与规范vVLSI设计与验证设计与验证v流片验证流片验证v典型典型SoC应用验证应用验证v大规模产业化阶段产品验证大规模产业化阶段产品验证 系统芯片设计导论系统芯片设计导论5

27、3VLSI设计与验证的方法设计与验证的方法v 全定制全定制 所有模块都采用电路级设计,通常采用自底而上的设计方法;优点:性能好,功耗低;缺点:工艺跃迁差,设计复杂度高;v 半定制半定制 部分模块采用电路级设计,其余模块采用硬件描述语言+工具综合;优点:能打破CPU设计中的性能瓶颈;缺点:工艺跃迁相对较差;v 全综合全综合 完全采用硬件描述语言,通过工具综合成目标电路;优点:工艺跃迁相当灵活;缺点:性能相对较差;系统芯片设计导论系统芯片设计导论54嵌入式嵌入式CPU设计的所需的关键技术设计的所需的关键技术v计算机体系结构计算机体系结构 了解嵌入式CPU针对的嵌入式应用领域的特征,平衡性能、功耗与

28、成本之间的Trade-off,设计出适合应用的最佳方案;必须与应用特征紧密结合;vVLSI设计技术设计技术 数字集成电路设计前端、后端技术;超大规模集成电路的验证技术;系统芯片设计导论系统芯片设计导论55嵌入式嵌入式CPU的体系结构实例的体系结构实例经典经典5级流水线级流水线MIPS嵌入式嵌入式CPU 系统芯片设计导论系统芯片设计导论56ARM Cortex A8处理器处理器v 13级流水线,双发射级流水线,双发射v 主频主频1GHzv 2.0DMIPS/MHzv NEON多媒体流水线多媒体流水线v 2级片上级片上Cachev 分支预测技术分支预测技术v 内存管理内存管理v Java加速加速

29、系统芯片设计导论系统芯片设计导论57ARM Cortex M0v3级流水线级流水线v0.9DMIPS/MHzv85uW/MHz12Kv56条指令条指令v最简洁的设计最简洁的设计 系统芯片设计导论系统芯片设计导论58CSKY嵌入式嵌入式CPU介绍介绍 系统芯片设计导论系统芯片设计导论59CSKY嵌入式嵌入式CPU发展历史发展历史v浙江大学浙江大学VLSI研究所与杭州中天微系统共同合研究所与杭州中天微系统共同合作开发的作开发的32位高性能嵌入式位高性能嵌入式CPU系统;系统;v杭州中天微系统有限公司成立于杭州中天微系统有限公司成立于2002年,致力年,致力于于CSKY CPU的研发与产业化相关工作

30、;的研发与产业化相关工作;v目前有部分目前有部分VLSI研究所博士、硕士研究生在杭研究所博士、硕士研究生在杭州中天微系统有限公司参与州中天微系统有限公司参与CPU的设计工作;的设计工作;vCSKY CPU目前已经发展为目前已经发展为3个系列:个系列:CK500 CK600 CK800 系统芯片设计导论系统芯片设计导论60C-SKY嵌入式嵌入式CPU产品分布产品分布 系统芯片设计导论系统芯片设计导论61CSKY产品分布国际主流嵌入式产品分布国际主流嵌入式CPU产品对比产品对比CSKYARMMIPS超高端超高端CK810*Cortex-A8/A9MIPS74K/1004K高端高端CK610ARM11MIPS24K中端中端CK510ARM9MIPS4K低端低端CK801ARM7Cortex-M3MIPSM14K62

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第1课计算机体系结构与嵌入式CPU要点课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|