《同方 第2章2.2 CPU的逻辑结构与原理.ppt》由会员分享,可在线阅读,更多相关《同方 第2章2.2 CPU的逻辑结构与原理.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.2 CPU的逻辑结构的逻辑结构与工作原理与工作原理2.2.1 CPU的逻辑结构的逻辑结构 2.2.2 指令与指令系统指令与指令系统2.2.3 CPU的性能指标的性能指标22.2 CPU的逻辑结构与原理2.2.1 CPU的逻辑结构的逻辑结构32.2 CPU的逻辑结构与原理冯冯诺依曼计算机的结构与原理诺依曼计算机的结构与原理(1)计算机的工作由程序控制,程序是一个指令序列,指令是能被计计算机的工作由程序控制,程序是一个指令序列,指令是能被计算机理解和执行的操作命令;算机理解和执行的操作命令;(2)程序程序(指令指令)和数据均以二进制编码表示,均存放在存储器中和数据均以二进制编码表示,均存放在存
2、储器中;(3)存储器中存放的指令和数据按地址进行存取存储器中存放的指令和数据按地址进行存取;(4)指令是由指令是由CPU一条一条顺序执行的。一条一条顺序执行的。中央中央处理器处理器运算器和控制器运算器和控制器输入设备输入设备输出设备输出设备存储器存储器42.2 CPU的逻辑结构与原理“存储程序控制存储程序控制”原理原理n将问题的解算步骤编制成为将问题的解算步骤编制成为程序程序,程序连同它所处理的数,程序连同它所处理的数据都用据都用二进位表示二进位表示并并预先预先存放在存储器存放在存储器中中n程序运行时,程序运行时,CPU从内存中一条一条地取出指令和相应的从内存中一条一条地取出指令和相应的数据,
3、数据,按指令操作码的规定按指令操作码的规定,对数据进行运算处理,直到,对数据进行运算处理,直到程序执行完毕为止程序执行完毕为止 CPU从从内内存存中中逐逐条条读读取取该该程程序序的的指指令令及及相关的数据相关的数据将将指指令令的的运运算算处处理理结果送回内存保存结果送回内存保存任任务务完完成成后后,将将处处理理得得到到的的全全部部结结果果成成批批传传送送到到外外存存以以长长久久保存保存外存储器外存储器内内存存储储器器CPU任任务务启启动动时时,执执行行该该任任务务的的程程序序和和数数据据从从外外存存成成批批传传送送到到内内存存指令1指令2指令k指令n程程序序数据1数据2数据m数数据据CPU逐逐
4、 条条执执行行指指令令,按按指指令令要要求求完完成成对对数数据据的的运算和处理运算和处理52.2 CPU的逻辑结构与原理存储器存储器中央中央处理器处理器存储数据存储数据和指令和指令执行指令执行指令处理数据处理数据指令,数据指令,数据处理结果处理结果CPU的任务的任务nCPU的主要任务是执行指令,它按指令的规定对的主要任务是执行指令,它按指令的规定对数据进行操作数据进行操作62.2 CPU的逻辑结构与原理指令是什么?指令是什么?n指令就是命令,它用来规定指令就是命令,它用来规定CPU执行什么操作。指令是构执行什么操作。指令是构成程序的基本单位,程序是由一连串指令组成的成程序的基本单位,程序是由一
5、连串指令组成的n指令采用二进位表示,大多数情况下,指令由两个部分组指令采用二进位表示,大多数情况下,指令由两个部分组成:成:操作码操作码操操 作作 数数 地地 址址指出CPU应执行何种操作的一个命令词,例如加、减、乘、除、取数、存数等 指出该指令所操作(处理)的数据或者数据所在位置 举例举例:10 02 06把把02存储单元和存储单元和06存储单元中的内存储单元中的内容相加,和数保存在容相加,和数保存在02单元单元72.2 CPU的逻辑结构与原理CPU的结构和任务的结构和任务nCPU主要由运算器、控制器和寄存器组主要由运算器、控制器和寄存器组3个部分组成个部分组成nCPU的任务:取指令并完成指
6、令所规定的操作的任务:取指令并完成指令所规定的操作寄寄存存器器组组运运算算器器中中央央处处理理器器指令计数器指令计数器指令寄存器指令寄存器控制器数数 据据程程序序指令指令1指令指令2指令指令k指令指令n数据数据1数据数据2数据数据m数数据据内内存存储储器器指指 令令 指令地址指令地址 操作数地址操作数地址存放待执行存放待执行指令的地址指令的地址已经启动运行已经启动运行的程序和数据的程序和数据存放待执行的存放待执行的指令并进行译指令并进行译码码完成规定的运完成规定的运算算暂存等待处暂存等待处理的数据理的数据操作命令操作命令82.2 CPU的逻辑结构与原理内存储器内存储器AC927BALU0 1
7、2 3 4 5 6 7运算器运算器(ALU)与通用寄存器与通用寄存器(GPR)n运算器用来对数据进行各种算术或逻辑运算,所以称为算术逻运算器用来对数据进行各种算术或逻辑运算,所以称为算术逻辑部件辑部件(ALU),参加参加ALU运算的操作数通常来自通用寄存器运算的操作数通常来自通用寄存器GPR,运算结果也送回运算结果也送回GPRSTORER1内存地址内存地址C例例3:存数指令:存数指令9例例2:加法指令:加法指令ADDR1R3R5(3寄存器内容与寄存器内容与5寄存器内容相寄存器内容相加,并把和数写入加,并把和数写入1寄存器寄存器)例例1:取数指令取数指令LOADR3内存地址内存地址ALOADR5
8、内存地址内存地址B27362793636通用寄存器通用寄存器GPR92.2 CPU的逻辑结构与原理2.2.2 指令与指令系统指令与指令系统instruction setsoftwarehardware102.2 CPU的逻辑结构与原理指令及其格式指令及其格式n指令采用二进位表示,大多数情况下由两个部分组成:指令采用二进位表示,大多数情况下由两个部分组成:操作码操作码操操 作作 数数 地地 址址指出指出CPU应执行何种操作的一个命应执行何种操作的一个命令词,例如加、减、乘、除等令词,例如加、减、乘、除等 指出该指令所操作指出该指令所操作(处理处理)的的数据或者数据所在位置数据或者数据所在位置 n
9、指令的格式:指令的格式:n操作码用几位表示?操作码用几位表示?(多少种不同的操作功能多少种不同的操作功能)n操作数地址是操作数地址是2个还是个还是3个?个?nR1R3+R5 nR1R1-R3 ADDR1R3R5SUBR1R3112.2 CPU的逻辑结构与原理指令在计算机中的执行过程指令在计算机中的执行过程1.取指令取指令:CPU的控制器从的控制器从存储器读取一条指令并放存储器读取一条指令并放入指令寄存器入指令寄存器2.指令译码指令译码:指令寄存器中:指令寄存器中的指令经过译码,决定该的指令经过译码,决定该指令应进行何种操作、操指令应进行何种操作、操作数在哪里作数在哪里3.执行指令执行指令3.1
10、 取操作数取操作数3.2 进行运算进行运算4.修改指令计数器修改指令计数器,决定下,决定下一条指令的地址一条指令的地址1 取指令取指令4 修改指修改指令计数器令计数器3 执行指令执行指令2 指令译码指令译码指令执行周期指令执行周期问题:问题:CPU的时钟频率的时钟频率(主频主频)与指令执行速度是什么关系与指令执行速度是什么关系?122.2 CPU的逻辑结构与原理关于指令系统关于指令系统nCPU可执行的全部指令称为该可执行的全部指令称为该CPU的指令系统,的指令系统,即它的机器语言即它的机器语言n指令应该简单,简单才能提高速度指令应该简单,简单才能提高速度!1.操作功能要简单,不宜太多、太复杂操
11、作功能要简单,不宜太多、太复杂2.指令的格式要统一:指令的格式要统一:固定长度、统一分段固定长度、统一分段3.操作数的来源要有限制:操作数的来源要有限制:n算术逻辑运算指令的操作数只能来自寄存器算术逻辑运算指令的操作数只能来自寄存器nLOAD/STORE指令的操作数来自指令的操作数来自(或送到或送到)内存内存寄存器寄存器内存内存 内存内存寄存器寄存器nIntel 奔腾处理器的指令系统由于历史的原因,并奔腾处理器的指令系统由于历史的原因,并不符合上述原则!不符合上述原则!132.2 CPU的逻辑结构与原理关于指令的操作功能关于指令的操作功能n指令系统中的指令分成许多类,例如指令系统中的指令分成许
12、多类,例如奔腾奔腾4处理器处理器中共有七大类指令中共有七大类指令:n数据传送类数据传送类 算术运算类算术运算类n逻辑运算类逻辑运算类 移位操作类移位操作类n位位(位串位串)操作类操作类 控制转移类控制转移类n输入输入/输出类等输出类等n每一类指令(如数据传送类、算术运算类)又按照每一类指令(如数据传送类、算术运算类)又按照操作数的性质(如整数还是实数)、长度(操作数的性质(如整数还是实数)、长度(16位、位、32位、位、64位、位、128位等)而区分为许多不同的指令,位等)而区分为许多不同的指令,因此因此CPU往往有数以百计的不同的指令往往有数以百计的不同的指令142.2 CPU的逻辑结构与原
13、理关于奔腾关于奔腾4系列的指令系统系列的指令系统n产品发展过程为:产品发展过程为:8088(8086)80286 8038680486 PentiumPentium PROPentium II Pentium III Pentium 4 奔腾奔腾D奔腾至尊奔腾至尊酷睿酷睿酷睿酷睿2n为解决软件兼容性问题,采用为解决软件兼容性问题,采用“向下兼容方式向下兼容方式”开发新的处理开发新的处理器,即所有新处理器均保留老处理器的全部指令,同时还扩充器,即所有新处理器均保留老处理器的全部指令,同时还扩充功能更强的新指令。例如:功能更强的新指令。例如:nPentium比比80386增加了的增加了的80多条浮
14、点指令,多条浮点指令,nPentium II比比Pentium增加了增加了50多条处理多媒体信息的指令多条处理多媒体信息的指令(Multimedia Extension,称为称为MMX),),nPentium III比比Pentium II增加了增加了70条处理条处理128位长操作数的流式单位长操作数的流式单指令多数据指令指令多数据指令(Streaming SIMD Extention,SSE)nPentium 4又比又比Pentium III 增加了增加了144条指令(称为条指令(称为SSE2)n奔腾奔腾D、奔腾至尊等又增加了奔腾至尊等又增加了SSE3指令指令152.2 CPU的逻辑结构与原
15、理关于关于CPU的兼容性的兼容性n不同公司生产不同的不同公司生产不同的CPU产品:产品:nIntel公司:公司:Pentium系列、赛扬系列系列、赛扬系列、至强等、至强等nAMD公司:独龙、闪龙、炫龙等公司:独龙、闪龙、炫龙等nIBM公司:公司:Power5、Power6等(苹果的等(苹果的Macintosh使用)使用)nSUN公司:公司:Ultra SPARC处理器处理器nHP公司:公司:PA-RISC、Itanium 处理器处理器n同一公司同一系列的同一公司同一系列的CPU具有向下(前)兼容性:具有向下(前)兼容性:nA计算机(使用新型号计算机(使用新型号CPU)的程序不能在的程序不能在B
16、计算机(使用老型号计算机(使用老型号CPU)上运行,上运行,B计算机的程序却能在计算机的程序却能在A计算机上运行计算机上运行n不同公司的不同不同公司的不同CPU产品其指令系统不同,它们互相不兼容:产品其指令系统不同,它们互相不兼容:nA计算机的程序不能在计算机的程序不能在B计算机上直接运行,计算机上直接运行,B计算机的程序也不能在计算机的程序也不能在A计算机上直接运行计算机上直接运行互相兼容互相兼容162.2 CPU的逻辑结构与原理2.2.3 CPU的性能指标的性能指标172.2 CPU的逻辑结构与原理如何衡量如何衡量CPU的性能?的性能?n计算机的性能主要表现在程序执行速度的快慢,计算机的性
17、能主要表现在程序执行速度的快慢,它由许多因素决定,例如它由许多因素决定,例如CPU、内存、硬盘、显内存、硬盘、显卡等,但通常卡等,但通常CPU是主要因素是主要因素nCPU性能高低的主要指标是性能高低的主要指标是CPU的速度的速度,有,有2种衡种衡量方法:量方法:1.计算每秒钟可执行的指令数目(单位:计算每秒钟可执行的指令数目(单位:MIPS、MFLOPS)2.使用常用软件(办公软件、数字媒体处理软件和使用常用软件(办公软件、数字媒体处理软件和3D游戏等)的执行速度来衡量游戏等)的执行速度来衡量CPU的性能的性能 182.2 CPU的逻辑结构与原理影响影响CPU性能的主要因素性能的主要因素(之一
18、之一)nCPU的字长(位数)的字长(位数)n目前目前PC使用的使用的CPU大多是大多是32位处理器,新一代的位处理器,新一代的PC机将使用机将使用64位处理器位处理器n主频(主频(CPU时钟频率)时钟频率)n主频提高,主频提高,CPU的处理速度通常也会加快的处理速度通常也会加快nCPU总线(前端总线)的速度总线(前端总线)的速度nCPU总线速度决定了总线速度决定了CPU与内存间数据传输速度的快与内存间数据传输速度的快慢慢n高速缓存(高速缓存(cache)的容量与结构的容量与结构ncache容量越大、级数越多,其效用就越显著容量越大、级数越多,其效用就越显著 192.2 CPU的逻辑结构与原理影
19、响影响CPU性能的主要因素性能的主要因素(之二之二)nCPU的指令系统的指令系统n指令的格式和功能会影响程序的执行速度指令的格式和功能会影响程序的执行速度nCPU的逻辑结构的逻辑结构nCPU包含的定点运算器和浮点运算器数目包含的定点运算器和浮点运算器数目n是否流水线结构,流水线的条数和级数是否流水线结构,流水线的条数和级数n有无指令预测和数据预测功能有无指令预测和数据预测功能n是否具有数字信号处理功能是否具有数字信号处理功能n是否多核,有几个内核是否多核,有几个内核n202.2 CPU的逻辑结构与原理主频(主频(CPU时钟频率)时钟频率)主频(主频(CPU内部的时钟频率)内部的时钟频率)外屏(系统总线的频率)外屏(系统总线的频率)倍频(主频倍频(主频/外频)外频)212.2 CPU的逻辑结构与原理Pipelining and Parallel ProcessingInstructionsResults aresequenced1.指令排队等指令排队等候进入候进入CPU处处理理并行处理并行处理提高计算机速度的有效途经提高计算机速度的有效途经(了解了解)3.每个每个CPU负负责完成分配给责完成分配给它的指令它的指令2.哪一个哪一个CPU空闲,就把等空闲,就把等候的指令交给候的指令交给它执行它执行(包含包含3个内核个内核)