2.2CPU的逻辑结构与工作原理2.2.1CPU的逻辑结构2.2.2指令与指令系统2.2.3CPU的性能指标22.2CPU的逻辑结构与原理2.2.1CPU的逻辑结构32.2CPU的逻辑结构与原理冯·诺依曼计算机的结构与原理(1)计算机的工作由程序控制,程序是一个指令序列,指令是能被计算机理解和执行的操作命令;(2)程序(指令)和数据均以二进制编码表示,均存放在存储器中;(3)存储器中存放的指令和数据按地址进行存取;(4)指令是由CPU一条一条顺序执行的。中央处理器运算器和控制器输入设备输出设备存储器42.2CPU的逻辑结构与原理“存储程序控制”原理将问题的解算步骤编制成为程序,程序连同它所处理的数据都用二进位表示并预先存放在存储器中程序运行时,CPU从内存中一条一条地取出指令和相应的数据,按指令操作码的规定,对数据进行运算处理,直到程序执行完毕为止②CPU从内存中逐条读取该程序的指令及相关的数据④将指令的运算处理结果送回内存保存⑤任务完成后,将处理得到的全部结果成批传送到外存以长久保存外存储器内存储器CPU①任务启动时,执行该任务的程序和数据从外存成批传送到内存指令1指令2指令k指令n程序数据1数据2数据m数据③CPU逐条执行指令,按指令要求完成对数据的运算和处理52.2CPU的逻辑结构与原理存储器中央处理器存储数据和指令执行指令处理数据指令,数据处理结果CPU的任务CPU的主要任务是执行指令,它按指令的规定对数据进行操作62.2CPU的逻辑结构与原理指令是什么?指令就是命令,它用来规定CPU执行什么操作。指令是构成程序的基本单位,程序是由一连串指令组成的指令采用二进位表示,大多数情况下,指令由两个部分组成:操作码操作数地址指出CPU应执行何种操作的一个命令词,例如加、减、乘、除、取数、存数等指出该指令所操作(处理)的数据或者数据所在位置举例:100206把02存储单元和06存储单元中的内容相加,和数保存在02单元72.2CPU的逻辑结构与原理CPU的结构和任务CPU主要由运算器、控制器和寄存器组3个部分组成CPU的任务:取指令并完成指令所规定的操作寄存器组运算器中央处理器指令计数器指令寄存器控制器数据程序指令1指令2指令k指令n数据1数据2数据m数据内存储器指令指令地址操作数地址存放待执行指令的地址已经启动运行的程序和数据存放待执行的指令并进行译码完成规定的运算暂存等待处理的数据操作命令82.2CPU的逻辑结构与原理~~~~内存储器AC927BALU01234567运算器(ALU)与通用寄存器(GPR)运算器用来对数据进行各种算术或逻辑运算,所以称为算术逻辑部件(ALU),参加ALU运算的操作数通常来自通用寄存器GPR,运算结果也送回GPRSTORER1内存地址C例3:存数指令9例2:加法指令ADDR1R3R5(3#寄存器内容与5#寄存器内容相加,并把和数写入1#寄存器)例1:取数指令LOADR3内存地址ALOADR5内存地址B27362793636通用寄存器GPR92.2CPU的逻辑结构与原理2.2.2指令与指令系统instructionsetsoftwarehardware102.2CPU的逻辑结构与原理指令及其格式指令采用二进位表示,大多数情况下由两个部分组成:操作码操作数地址指出CPU应执行何种操作的一个命令词,例如加、减、乘、除等指出该指令所操作(处理)的数据或者数据所在位置指令的格式:操作码用几位表示?(多少种不同的操作功能)操作数地址是2个还是3个?R1R3+R5R1R1-R3如何指出内存地址?(寻址方式)指令长度是多少位,固定长度/可变长度?ADDR1R3R5SUBR1R3112.2CPU的逻辑结构与原理指令在计算机中的执行过程1.取指令:CPU的控制器从存储器读取一条指令并放2.指令译码:指令寄存器中的指令经过译码,决定该指令应进行何种操作、操作数在哪里3.执行指令3.1取操作数3.2进行运算4.修改指令计数器,决定下一条指令的地址1取指令4修改指令计数器3执行指令2指令译码指令执行周期通常,每一步需要1个或几个时钟周期才能完成122.2CPU的逻辑结构与原理指令执行过程的模拟模拟程序1(flash动画,单步)模拟程序2(flash动画,自动)132.2CPU的逻辑结构与原理关于指令系统CPU可执行的全部指令称为该CPU的指令系统,即它的机器语言指令应该简单,简单才能提高速度!1.操作功能要简单,不宜太多、太复杂2.指令的格式要统一:固定长度、统一分段3.操作数的来源要有限制:算术逻辑运算指令的操作数只能来自寄存器LOAD/STORE指令的操作数来自(或送到)内存寄存器内存内存寄存器Intel处理器的指令系统由于历史的原因,并不符合上述原则!142.2CPU的逻辑结构与原理关于指令的操作功能指令系统中的指令分成许多类,例如Intel公司的奔腾和酷睿处理器中,共有七大类指令:数据传送类■算术运算类逻辑运算类■移位操作类位(位串)操作类■控制转移类输入/输出类等每一类指令(如数据传送类、算术运算类)又按照操作数的性质(如整数还是实数)、长度(16位、32位、64位、128位等)而区分为许多不同的指令,因此Intel公司CPU有数以百计的不同的指令152.2CPU的逻辑结构与原理关于Intel公司CPU的指令系统产品发展过程为:8088(8086)→80286→80386→80486→Pentium→PentiumPRO→PentiumII→PentiumIII→Pentium4→奔腾D→奔腾至尊→酷睿→酷睿2→Corei3/i5/i7为解决软件兼容性问题,采用“向下兼容方式”开发新的处理器,即所有新处理器均保留老处理器的全部指令,同时还扩充功能更强的新指令。例如:Pentium比80386增加了的80多条浮点指令,PentiumII比Pentium增加了50多条处理多媒体信息的指令(MultimediaExtension,称为MMX),PentiumIII比PentiumII增加了70条处理128位长操作数的流式单指令多数据指令(StreamingSIMDExtention,SSE)Pentium4又比PentiumIII增加了144条指令(称为SSE2)奔腾D、奔腾至尊、酷睿2等又增加了13条SSE3指令Corei5和Corei7又增加了40多条SSE4指令162.2CPU的逻辑结构与原理关于CPU的兼容性不同公司生产不同的CPU产品,一般互不兼容:Intel公司:奔腾、赛扬、酷睿、灵动等AMD公司:独龙、闪龙、炫龙等IBM公司:Power5、6、7等SUN公司:UltraSPARC处理器英国ARM公司:ARM处理器同一公司同一系列的CPU具有向下兼容性:A计算机(使用新型号CPU)的程序不能在B计算机(使用老型号CPU)上运行,B计算机的程序却能在A计算机上运行互不兼容A计算机的程序不能在B上直接运行,B计算机的程序也不能在A上直接运行互相兼容172.2CPU的逻辑结构与原理2.2.3CPU的性能指标182.2CPU的逻辑结构与原理CPU是一个超大规模集成电路能高速执行指令,完成二进制数据的算术运算、逻辑运算等操作由数字电路组成,结构极复杂制作在大规模集成电路芯片上(仅几个平方厘米),称为“微处理器”(microprocessor)2000:Intel®Pentium®4Processor42milliontransistors,0.18microns工艺192.2CPU的逻辑结构与原理Intel公司CPU芯片的发展变化30多年来其主要产品的发展过程为:8088(8086)→80286→80386→80486→→Pentium→PentiumPRO→PentiumII→→PentiumIII→Pentium4→→赛扬系列奔腾系列(过渡型)(经济型)凌动系列(上网本)酷睿系列(Core2、Corei3/i5/i7)(主流型)当前产品202.2CPU的逻辑结构与原理如何衡量CPU的性能?计算机的性能主要表现为程序执行速度的快慢计算机性能由许多因素决定,例如CPU、内存、硬盘、显卡等,但通常CPU是主要因素CPU的性能高低主要表现为CPU的速度,有两种衡量方法:1.计算每秒钟可执行的指令数目(单位:MIPS、MFLOPS)巨型计算机:几十万亿~几百万亿次基本运算/秒个人计算机:几千万~几亿次基本运算/秒(其中,基本运算指的是:四则运算和∧,∨等逻辑运算)2.PC大多以常用软件(办公软件、数字媒体处理软件和3D游戏等)的运行速度来测试CPU的性能,例如:游戏性能测试程序:3DMark整体综合性能测试程序:PCMark212.2CPU的逻辑结构与原理影响CPU性能的主要因素字长(位数)指通用寄存器和定点运算器的宽度(即二进制整数运算的位数)指令系统指令的类型、数目和功能等都会影响程序的执行速度逻辑结构CPU包含的定点运算器和浮点运算器的数目、采用的流水线结构和级数、指令分支预测的机制、执行部件的数目等内核数目高速缓存(cache)的容量与结构主频(CPU内部时钟频率)指CPU芯片中电子线路(门、触发器)的工作频率,它决定着CPU芯片内部数据传输与操作速度的快慢CPU总线速率CPU总线(前端总线)传输速率:决定着CPU与内存之间传输数据的速度快慢体系结构逻辑实现物理实现222.2CPU的逻辑结构与原理1980’1990’2005201020151980’1990’2005201020154核80x86Pentium80核双核年代性能提高CPU性能的3大措施提高主频增加逻辑复杂度增加内核数目•双核•多核•异构的多核处理器性能与其逻辑复杂性的平方根成正比,若逻辑复杂性提高1倍,至多能提高40%的性能最大瓶颈是散热问题:•3.2GHz的Pentium4功耗超过100W,温度达70度!•主频到4.0GHz,功耗会达到150W!采用2个处理器构成一个双核处理器,可以提高70%~80%的性能电路与封装技术的进步,能把多个处理器做在单个芯片上1改进CPU结构;2提高IC速度(主频);3增加CPU(核)的数目232.2CPU的逻辑结构与原理什么是双核/四核处理器?揭开外壳后的PentiumD处理器共享的L2cache2x奔腾双核E5000处理器单个IC封装有2个功能完全相同的处理器(内核)进一步发展为2个内核做在同一晶片上,共享L2cache,提高性价比2个双核晶片封装在一起成为4核处理器4个/6个内核做在同一晶片上,共享L3cache(Corei7)242.2CPU的逻辑结构与原理PipeliningandParallelProcessingInstructionsResultsaresequenced1.”线程“排队等候进入CPU处理并行处理3.每个CPU负责执行分配给它的线程中的指令2.哪一个CPU空闲,就把等候的线程交给它执行(包含3个内核)为什么“多核”可提高计算机性能(注:不严格地说,“线程”可以理解为程序中可独立且并发地执行的一串指令)252.2CPU的逻辑结构与原理小结:提高CPU性能的措施扩展CPU的字长:32位-64位扩充CPU指令系统:SSE指令提高CPU主频:从1.5GHz-3GHz以上,目前最高已经接近4GHz;加快CPU前端总线的数据传输速率增大cache存储器容量、增加cache的级数改进CPU内部的逻辑结构超标量结构(多个执行部件)指令流水线执行技术超线程技术采用多内核结构