uestc微处理器体系结构嵌入式系统设计 计算机系统组成与体系结构.pptx
早期三层模型早期三层模型1/322023/2/52023/2/52023/2/51/501951年剑桥大学提出第1页/共64页(a)软硬件层次)软硬件层次 (b)语言层次)语言层次计算机系统的层次结构计算机系统的层次结构1.(a)图自下而上反映了系统逐级)图自下而上反映了系统逐级生成生成的过程,自上而下反映了系统的过程,自上而下反映了系统求求解解问题的过程;问题的过程;2.软硬件的逻辑等价性软硬件的逻辑等价性可以表现为:硬件软化(如可以表现为:硬件软化(如RISC思想)、软件硬思想)、软件硬化(如化(如CISC思想)、固件化(如微程序)思想)、固件化(如微程序);3.(b)图中的)图中的虚拟机虚拟机:与某种特殊编程语言对应的假想硬件机器:与某种特殊编程语言对应的假想硬件机器微体系结构层微体系结构层(微程序或硬连逻辑)(微程序或硬连逻辑)操作系统层操作系统层语言处理层(解释、编译)语言处理层(解释、编译)用户程序层(语言编程)用户程序层(语言编程)系统分析层(数学模型、算法)系统分析层(数学模型、算法)硬核硬核级级数字逻辑层(硬件)数字逻辑层(硬件)指令系统层(机器语言指令)指令系统层(机器语言指令)应用语言虚拟机应用语言虚拟机高级语言虚拟机高级语言虚拟机汇编语言虚拟机汇编语言虚拟机操作系统虚拟机操作系统虚拟机机器语言级机器语言级微程序级微程序级寄存器级(硬件)寄存器级(硬件)硬件系统:异常处理机构、指令系统、硬件系统:异常处理机构、指令系统、CPU、存储器、存储器、I/O及通信子系统及通信子系统系统软件:操作系统、编译器、数据库管理系系统软件:操作系统、编译器、数据库管理系统、统、Web浏览器、设备驱动、中断服务程序浏览器、设备驱动、中断服务程序应用软件应用软件第2页/共64页应用开发角度的多层结构应用开发角度的多层结构硬件向上提供的接口:指令系统异常事件端口定义2023/2/53/50第3页/共64页体系结构、组成与实现体系结构、组成与实现n体系结构Architecture 程序员关心的计算机概念结构与功能特性如:确定指令集中是否有乘法指令;n计算机组成Organization从硬件角度关注物理机器的组织 如:乘法指令由专用乘法器还是用加法器实现n计算机实现Realization底层的器件技术、微组装技术、冷却技术等如:加法器底层的物理器件类型及微组装技术系列机系列机2023/2/54/50第4页/共64页计算机的体系结构计算机的体系结构 1946年年,美国宾夕法尼亚大学莫尔学院的物理学博士,美国宾夕法尼亚大学莫尔学院的物理学博士Mauchley和电气工程师和电气工程师Eckert领导的小组研制成功世界上第一领导的小组研制成功世界上第一台数字式电子计算机台数字式电子计算机ENIAC。著名的美籍匈牙利数学家著名的美籍匈牙利数学家Von Neumann参加了为改进参加了为改进ENIAC而举行的一系列专家会议,研究了新型计算机的体系结构。而举行的一系列专家会议,研究了新型计算机的体系结构。1949年年,英国剑桥大学的威尔克斯等人在,英国剑桥大学的威尔克斯等人在EDSAC 机上实现机上实现了冯了冯诺依曼模式。诺依曼模式。直至今天冯直至今天冯诺依曼体系结构依然是绝大诺依曼体系结构依然是绝大多数数字计算机的基础。多数数字计算机的基础。2023/2/55/50第5页/共64页计算机的组成(计算机的组成(1)第6页/共64页计算机的组成(1)第7页/共64页计算机的组成(1)第8页/共64页计算机的组成(1)G.Skill DDR3 1600,4GB*4Core I7-3960X 6核12线程第9页/共64页计算机的组成(1)猫头鹰Noctua 14cm散热风扇第10页/共64页计算机的组成(1)Enzotech CPU水冷头第11页/共64页计算机的组成(1)第12页/共64页计算机的组成(1)第13页/共64页计算机的组成(1)NVIDIA Quadro FX5800第14页/共64页计算机的组成(1)AMD FireGL,V8750第15页/共64页计算机的组成(1)Razer曼巴眼镜蛇Cherry机械茶轴第16页/共64页计算机的组成(1)专业领域 EIZO 24.1Dell Ultrasharp 24第17页/共64页计算机的组成(1)酷冷至尊 COSMOS第18页/共64页计算机的组成(1)安耐美冰核 1250W第19页/共64页计算机的组成(1)第20页/共64页计算机的组成(1)第21页/共64页计算机的组成(1)第22页/共64页计算机的实现计算机的实现 半导体技术半导体技术 制造技术制造技术 封装技术封装技术 装配技术装配技术 电源技术电源技术 冷却技术冷却技术 2023/2/523/50第23页/共64页冯冯诺依曼体系结构诺依曼体系结构硬件组成n五大部分运算器、存储器、控制器、输入设备、输出设备n以存储器为中心信息表示:二进制 计算机内部的控制信息和数据信息均采用二进制表示,并存放在同一个存储器中。工作原理:存储程序/指令(控制)驱动 编制好的程序(包括指令和数据)预先经由输入设备输入并保存在存储器中;计算机开始工作后,在不需要人工干预的情况下由控制器自动、高速地依次从存储器中取出指令并加以执行。第24页/共64页模型机体系结构模型机体系结构基于总线的冯诺依曼架构模型机n总线子系统:作为公共通道连接各子部件,用于实现各部件之间的数据、信息等的传输和交换n存储器子系统:用来存放当前的运行程序和数据n输入输出子系统:用于完成计算机与外部的信息交换nCPU子系统:集成了运算器、控制器和寄存器的超大规模集成电路芯片(VLSI)2023/2/525/50第25页/共64页模型机总线结构模型机总线结构按传输信息的不同,可将总线分为数据总线DB、地址总线AB和控制总线CB三类:地址总线通常是单向的,由主设备(如CPU)发出,用于选择读写对象(如某个特定的存储单元或外部设备);数据总线用于数据交换,通常是双向的;控制总线包括真正的控制信号线(如读/写信号)和一些状态信号线(如是否已将数据送上总线),用于实现对设备的监视和控制。MPURAMROMI/O接口接口外设外设ABDBCB2023/2/526/50第26页/共64页模型机内存储器模型机内存储器存储器组织由许多字节单元组成,每个单元都有一个唯一的编号(存储单元地址),保存的信息称为存储单元内容。访问(读或写)存储单元:存储单元地址经地址译码后产生相应的选通信号,同时在控制信号的作用下读出存储单元内容到数据缓冲器,或将数据缓冲器中的内容写入选定的单元。第27页/共64页算术逻辑单元算术逻辑单元ALU累加器累加器ACC累加锁存器累加锁存器暂存暂存器器标志寄存器标志寄存器FR通用寄存器组通用寄存器组堆栈指针堆栈指针SP程序计数器程序计数器PC微微 操操 作作 控控 制制 电电 路路指令译码器指令译码器ID指令寄存器指令寄存器IR 操作码操作码,地址码地址码脉冲分配器脉冲分配器时钟脉冲源时钟脉冲源控制总线控制总线CB地址总线地址总线AB数据总线数据总线DB内部总线内部总线地址缓冲器地址缓冲器数据缓冲器数据缓冲器运算器运算器寄存器组寄存器组控制器控制器模型机模型机CPU子系统子系统2023/2/528/50第28页/共64页模型机指令系统模型机指令系统指令是发送到CPU的命令,指示CPU执行一个特定的处理,如从存储器取数据、对数据进行逻辑运算等。CPU可以处理的全部指令集合称为指令集(Instruction Set)。指令集结构(ISA,Instruction Set Architecture)是体系结构的主要内容之一,对CPU的基本组织会产生非常大的影响。ISA功能设计实际就是确定软硬件的功能分配。指令通常包含操作码和操作数两部分。操作码指明要完成操作的性质,如加、减、乘、除、数据传送、移位等;操作数指明参加上述规定操作的数据或数据所存放的地址。汇编语言源程序汇编语言源程序机器语言程序机器语言程序(目标代码)(目标代码)汇编(汇编程序)汇编(汇编程序)高级语言源程序高级语言源程序编译或解释(编译程序)编译或解释(编译程序)第29页/共64页模型机常用汇编指令模型机常用汇编指令指指 令令 类类 型型操作码示例操作码示例操作数示例操作数示例说说 明明算算术类加法加法ADDRs1,Rs2,RdRs,Imm,Rd(Rs1)+(Rs2)Rd(Rs)+ImmRd运算运算类指令只能指令只能对寄存器中寄存器中的数据或立即数的数据或立即数进行直接操行直接操作作减法减法SUBRs1,Rs2,RdRs,Imm,Rd(Rs1)-(Rs2)Rd(Rs)-ImmRd逻辑类位与位与ANDRs1,Rs2,RdRs,Imm,Rd(Rs1)(Rs2)Rd(Rs)ImmRd位或位或ORRs1,Rs2,RdRs,Imm,Rd(Rs1)(Rs2)Rd(Rs)ImmRd位非位非NOTRs,Rd!(Rs)Rd传送送类存存储器或器或I/O读LDRMEM,RdMEM(Rd)将指定地址的存将指定地址的存储单元或元或I/O端口的端口的值读入寄存器入寄存器Rd存存储器或器或I/O写写STRRs,MEM(Rs)MEM将寄存器将寄存器Rs的的值写入指定地址写入指定地址的存的存储单元或元或I/O端口端口寄存器寄存器访问MOVRs,RdImm,Rd(Rs)(Rd)跳跳转类无条件跳无条件跳转JMPLableLable(PC)条件跳条件跳转JX/JNXLableIf X为真真/假,假,则Lable(PC)过程程调用用CALLSub-LableSub-Lable(PC)调用子程序用子程序过程返回程返回RET-返回主程序返回主程序其他其他停机停机HLT-第30页/共64页模型机工作原理模型机工作原理计算机的工作本质上就是执行程序的过程。顺序执行指令执行的基本过程可以分为取指令(fetch)、分析指令(decode)和执行指令(execute)三个阶段。2非顺序执行1.转移(jump):执行条件/无条件转移指令,不返回2.过程(procedure)调用:主程序调用子程序后返回断点3.中断(interrupt):外界突发事件处理完后返回断点4.异常(exception):程序本身产生的某些例外处理完后重新执行5.陷阱(trap):程序本身产生某些例外条件处理完后返回断点2023/2/531/812023/2/531/50第31页/共64页程序的执行过程程序的执行过程取指令、分析指令、执行指令取指令、分析指令、执行指令ABDBALU累加器累加器ACC暂存器暂存器标志寄存器标志寄存器FR寄存器组寄存器组 操作控制器操作控制器OC指令译码器指令译码器ID指令寄存器指令寄存器IR 操作码操作码,地址码地址码内部总线内部总线地址缓冲器地址缓冲器数据缓冲器数据缓冲器程序计数程序计数器器PC地地址址译译码码读控制读控制B0H5CH04H2EH地址地址1001H1002H1003H内容内容1000H内存储器内存储器MOV 5CH,R1ADD R1,2EH,R21CPU外外CPU内内2023/2/532/50第32页/共64页对冯对冯诺依曼体系结构的改进诺依曼体系结构的改进改进1.CPU指令集 2.存储器子系统 3.输入/输出子系统 2改变1.改变串行执行模式,发展并行技术;2.改变控制方式,发展数据、需求、模式等其它驱动方式;3-6章重点指令功能、指令格式、寻址方式指令功能、指令格式、寻址方式 分层结构分层结构高速总线高速总线+多种接口方式多种接口方式 冯诺依曼型计算机的本质特点也造成了其瓶颈:指令执行的串行性 存储器读取的串行性第33页/共64页不同的指令集设计策略:不同的指令集设计策略:CISC与与RISCCISC(Complex Instruction Set Computer,复杂指令集计算机)不断增强指令的功能以及设置更复杂的新指令取代原先由程序段完成的功能,从而实现软件功能的硬化。RISC(Reduced Instruction Set Computer,精简指令集计算机)通过减少指令种类和简化指令功能来降低硬件设计复杂度,从而提高指令的执行速度。*34/86现代计算机:现代计算机:RISC+CISC2023/2/534/50第34页/共64页2023/2/535/50CISC的特点及设计思想的特点及设计思想美国加州大学Berkeley分校的研究结果表明:许多复杂指令很少被使用,“2-8原则”控制器硬件复杂(指令多,且具有不定长格式和复杂的数据类型),占用了大量芯片面积,且容易出错;指令操作繁杂,速度慢;指令规整性不好,不利用采用流水线技术提高性能。*35/68第35页/共64页2023/2/536/50RISC的特点及设计思想的特点及设计思想 RISC机的设计遵循以下五个原则:指令条数少,格式简单,易于译码;提供足够的寄存器,只允许load 和store指令访问内存;指令由硬件直接执行,在单个周期内完成;充分利用流水线;依赖优化编译器的作用;*36/68第36页/共64页CISC与与RISC的数据流的数据流IRIDREGALUMEM开始退出IRIDALUMEMREG微操作通道开始退出单通数据通道RISC:Load/Store结构结构CISC:寻址方式复杂:寻址方式复杂*37/862023/2/537/50第37页/共64页分层的存储子系统分层的存储子系统如何以合理的价格搭建出容量和速度都满足要求的存储系统,始终是计算机体系结构设计中的关键问题之一。现代计算机系统通常把不同的存储设备按一定的体系结构组织起来,以解决存储容量、存取速度和价格之间的矛盾。设计目标:整个存储系统速度整个存储系统速度接近接近M1而价格和容量接近而价格和容量接近Mn2023/2/538/50第38页/共64页其他改善存储器带宽的方法其他改善存储器带宽的方法并行存储器双端口存储器哈佛体系结构哈佛体系结构DSP程序程序数据数据I/O接口接口外设外设程序地址程序地址数据读地址数据读地址数据写地址数据写地址程序读总线程序读总线数据读总线数据读总线程序程序/数据写数据写数据数据程序程序2023/2/539/50第39页/共64页2023/2/540/50现代高速总线现代高速总线高速并行总线高速并行总线高速总线串行化高速总线串行化第40页/共64页多级总线结构多级总线结构北桥北桥 North BridgeNorth Bridge南桥南桥South BridgeSouth Bridge前端总线Front Side Bus第41页/共64页输入输出管理方式输入输出管理方式2023/2/542/50第42页/共64页计算机体系结构的演进:并行处理技术计算机体系结构的演进:并行处理技术指令级并行技术ILP流水线、超标量、超长指令字系统级并行技术SLP多处理器(多机/多核)、多磁盘线程级并行技术TLPThread-Level Parallelism 同时多线程SMT(Simultaneous multithreading)电路级并行技术CLP组相联cache、先行进位加法器 并行处理技术实现多个处理器或处理器模块的并并行处理技术实现多个处理器或处理器模块的并行性,其基本思想包括行性,其基本思想包括时间重叠时间重叠(time interleaving)、资源重复资源重复(resource replicaiton)和资源共享和资源共享(resource sharing)。第43页/共64页流水线技术流水线技术 可通过分割逻辑,插入缓冲寄存器(流水线Reg)来构建2023/2/544/50第44页/共64页指令时空图指令时空图顺序执行4级流水线执行流水线满载流水线满载2023/2/545/50第45页/共64页更细的流水线更细的流水线取指(FI)指令译码(DI)计算操作数地址(CO)取操作数(FO)执行指令(EI)写操作数(WO)46/862023/2/546/50第46页/共64页流水线流水线CPU的特点的特点优点:通过指令级并行来提高性能。缺点:1.增加了硬件成本。2.流水寄存器会引入延迟和时钟偏移,这些额外开销会使每条指令的执行时间有所增加,同时限制了流水线的深度。3.流水线中各段的操作存在关联(dependence)时可能会引起流水线中断,从而影响流水线的性能和效率。*47/862023/2/547/50第47页/共64页流水线冲突流水线冲突理想流水线的性能:每个时钟周期完成一条指令实际流水机器中可能存在冒险(hazard)导致停顿:数据冲突(如后面的计算要用到前面的结果)定向技术可将结果数据从其产生的地方直接传送到所有需要它的功能部件编译器可利用流水线调度(scheduling)技术来重新组织指令顺序结构冲突(硬件资源不够)增加额外的同类型资源改变资源的设计使其能被同时使用控制冲突(分支等跳转指令引起)可采用分支预测及预测执行技术最大限度地使处理器各部分保持运行状态。多端口的寄存器堆哈佛结构存储器、超标量*48/862023/2/548/50第48页/共64页流水线数据冲突及乱序执行流水线数据冲突及乱序执行2023/2/549/50第49页/共64页流水线结构冲突及超标量流水线流水线结构冲突及超标量流水线?有5个执行单元的超标量流水线有2套硬件的超标量流水线CPU 共用一个取指单元的共用一个取指单元的5段双流水线段双流水线*2023/2/550/50第50页/共64页超标量超标量CPU的体系结构的体系结构超标量技术:可在一个时钟周期内对多条指令进行并行处理,使CPI小于1;特点:处理器中有两个或两个以上的相同的功能部件;要求操作数之间必须没有相关性;整数指令整数指令浮点指令浮点指令*2023/2/551/50第51页/共64页超标量处理机超标量处理机一般概念性结一般概念性结构构instruction fetching多个流水线读取及转移预测逻辑instruction decoding并行译码器,预译码技术instruction dispatching动态规划instruction execution多个流水线功能单元instruction completion暂存结果数据instruction retiring真正更新Reg和Mem中的结果数据*第52页/共64页 超标量结构机器的例子超标量结构机器的例子 两条输入流水线三条执行流水线每个时钟周期可每个时钟周期可从存储器中获取从存储器中获取两条指令两条指令用于执行不需要访用于执行不需要访问存储器的指令问存储器的指令可处理所有需要或不需可处理所有需要或不需要访问存储器的指令要访问存储器的指令可用于进行乘、除类可用于进行乘、除类较复杂的算术运算较复杂的算术运算决定应使用哪一决定应使用哪一条执行流水线条执行流水线2023/2/553/50第53页/共64页2023/2/554/50 和超标量处理机不同,超长指令字和超标量处理机不同,超长指令字VLIW(Very Long Instruction Word)依靠编译器依靠编译器在编译时找出指令之间潜在的在编译时找出指令之间潜在的并行性,并通过指令调度把可能出现的数据冲突减少到最小,并行性,并通过指令调度把可能出现的数据冲突减少到最小,最后把能并行执行的多条指令组装成一条很长的指令,然后由最后把能并行执行的多条指令组装成一条很长的指令,然后由处理机中多个处理机中多个相互独立的执行部件相互独立的执行部件分别执行长指令中的一个操分别执行长指令中的一个操作,即相当于同时执行多条指令。作,即相当于同时执行多条指令。VLIW处理机能否成功,很大程度上取决于代码压缩的效率,处理机能否成功,很大程度上取决于代码压缩的效率,其其编译程序和体系结构编译程序和体系结构的的关系非常密切,缺乏对传关系非常密切,缺乏对传统软件和硬件的兼容,因统软件和硬件的兼容,因而不大适用一般应用领域。而不大适用一般应用领域。VLIW处理机处理机*第54页/共64页2023/2/555/50多机并行系统多机并行系统大规模并行处理机(大规模并行处理机(MPP)是是一种价格昂贵的超级计算机,它由许一种价格昂贵的超级计算机,它由许多多CPU通过高速专用互联网络连接。通过高速专用互联网络连接。机群(机群(cluster)由多台同构或异构的独立计算机通过高性能网络或局域网连在一起协同完成特定的并行计算任务。刀片(刀片(blade)通常指包含一个或多个CPU、内存以及网络接口的服务器主板。通常一个刀片柜共享其它外部I/O和电源,而辅助存储器则有距离刀片柜较近的存储服务器提供。网格(网格(Network)是一组由高速网络连接的不同的计算机系统,可以相互合作也可独立工作。网格计算机将接受中央服务器分配的任务,然后在不忙的时候(如晚上或周末)执行这些任务。第55页/共64页2023/2/556/50多核处理器多核处理器第56页/共64页多线程技术多线程技术单片多处理器(Chip MulitProcessor,CMP)问题:晶体管数量、芯片面积及芯片发热量多线程处理器(Multithreaded Processor)细粒度多线程(Fine-Grail Multithreading)在每个指令中切换线程,处理器必须能在每个时钟周期切换线程。其优点是可以隐藏停顿引起的吞吐量损失;缺点是单个线程处理速度变慢了。粗粒度多线程(Coarse-Grail Multithreading)仅当遇到开销大的阻塞时才切换线程其缺陷在于流水线启动开销引起吞吐量损失,特别是对于短的阻塞2023/2/557/50第57页/共64页计算机体系结构的分类计算机体系结构的分类 Flynn分类:根据指令流和数据流的多少进行分类单指令单数据SISD单指令多数据SIMD多指令单数据MISD多指令多数据MIMDCU控制部件控制部件PU处理部件处理部件MM存储单元存储单元CS为控制流为控制流DS为数据流为数据流IS为指令流为指令流传统的顺序处理机、传统的顺序处理机、标量流水线处理机、标量流水线处理机、超标量流水线处理机超标量流水线处理机阵列处理机、阵列处理机、向量处理机向量处理机无实际机型对应无实际机型对应多处理机系统多处理机系统第58页/共64页计算机系统的性能指标59/322023/2/52023/2/5字长 字长是计算机内部一次可以处理 的二进制数码的位数。微机的字长取决于它的通用寄存器、加法器 的位数及数据总线 的宽度。字长越长,计算的精度就越高;在完成同样精度的运算时数据处理的速度越快。注意几个基本概念:BitBit,ByteByte,WordWord主存容量 存储器容量是衡量计算机存储二进制信息量大小的一个重要指标,一般以字节 为单位。计算机主存容量越大,处理问题的能力就越强。KBKB、MBMB、GBGB、TBTB、PBPB、EBEB、ZBZB、YB.500*2T=1p avantarYB.500*2T=1p avantar第59页/共64页计算机系统的性能指标60/322023/2/52023/2/5运算速度 计算机的运算速度可以有不同的衡量方法,如指令的平均运行速度、最短指令的运行速度或计算机的主频在一定程度上都可以作为衡量标准。显示器 尺寸;分辨率软件配置 操作系统;工具软件;应用软件。第60页/共64页计算机系统的性能指标61/322023/2/52023/2/5注:对一个复杂的计算机系统来说,以上各项指标并不全面。这是因为计算机系统中包括大量的外部设备和丰富的软件资源,这些外部设备及软件资源的性能将对整个系统性能造成很大影响。为了对一个计算机系统的性能进行比较客观的评价,通常采用不同层次的基准测试程序(benchmarkbenchmark)。第61页/共64页计算机系统的性能测定计算机系统的性能测定计算机系统的性能由硬件性能和程序特性决定,通常可利用标准测试程序来测定性能。用MIPS(Million Instructions Per Second,每秒百万条指令)或MFLOPS(每秒百万次浮点操作)的数值来衡量计算机系统的硬件速度。用 CPU执行时间T来量化硬软件结合系统的有效速度。MIPS=f(MHz)/CPI T(s)=(IC CPI)/f(Hz)f(时钟频率):CPU的基本工作频率 IC(指令数目):运行程序的指令总数 CPI(Cycles Per Instruction):指令执行的平均周期数,可从运行大量测试程序或实际程序产生的统计数据中计算出来 CPI数越小CPU速度越快第62页/共64页计算机系统性能量度值计算计算机系统性能量度值计算 假设一台计算机的时钟频率是100 MHz(每秒百万周期),具有4种类型的指令,它们的使用率和CPI分别如下表所示。求该计算机的MIPS值以及运行一个具有107条指令的程序所需的CPU时间。2023/2/563/50第63页/共64页感谢您的观看!第64页/共64页