资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,计算机组成原理,计算机组成原理,主讲教师:邵雄凯,1,计,计算机组成原理课程介绍,课程地位,:是计算机类专业本科生的核心专业基础课程。,教学目的:,使学生既能从全局或宏观的角度掌握计算机硬件系统的整体结构和工作原理,又能从局部或微观的角度理解计算机各个部件的工作过程和交互方式。,2,计算机组成原理课程介绍,与其它课程的先后关系,其先导课程有:数字逻辑、汇编语言。,课程特点:,教学内容多,3,主要参考书,教材,:,计算机组成原理白中英 科学出版社,(,第五版,),参考教材,:,1,计算机组成原理唐朔飞 高等教育出版社,2.,计算机组成原理 秦磊华 清华大学出版社,3.,计算机组成与系统结构 袁春风 清华出版社,4.,现代计算机组成原理 潘松 科学出版社,4,第,章 计算机系统概论,1.1,计算机系统简介,1.4,计算机的发展及应用,1.3,计算机硬件的主要技术指标,1.2,计算机的基本组成,5,1.1,计算机系统简介,由具有各类特殊功能,的信息(程序)组成,1.,计算机系统,计算机系统,计算机的实体,,如主机、外设等,一、计算机的软硬件概念,硬件,软件,6,按任务需要编制成的各种程序,用来管理整个计算机系统,系统软件,应用软件,语言处理程序,操作系统,服务性程序,数据库管理系统,网络软件,软,件,1.1,7,计算机,高级语,言程序,目标,程序,结果,翻译,运行,1.1,2.,计算机的解题过程,8,翻译程序,(Translator),有三类:,1.,汇编程序,(Assembler),:汇编语言源程序机器语言目标程序。,2.,编译程序,(Complier),:高级语言源程序汇编,/,机器语言目标程序,3.,解释程序,(Interpreter),:将高级语言语句逐条翻译成机器指令并立即执行,不生成目标文件。,9,2.,计算机的解题过程,10,EXTop=1,ALUSelA=1,ALUSelB=11,ALUop=add,IorD=1,Read,MemtoReg=1,RegWr=1,.,temp=vk;,vk=vk+1;,vk+1=temp;,lw$15,0($2),lw$16,4($2),sw$16,0($2),sw$15,4($2),1000 1100 0100 1111 0000 0000 0000 0000,1000 1100 0101 0000 0000 0000 0000 0100,1010 1100 0101 0000 0000 0000 0000 0000,1010 1100 0100 1111 0000 0000 0000 0100,软件,硬件,11,用编译程序翻译,成汇编语言程序,用汇编程序翻译,成机器语言程序,用机器语言解释操作系统,用微指令解释机器指令,由硬件直接执行微指令,软,件,硬,件,1.1,虚拟机器,M,4,(高级语言),虚拟机器,M,3,(汇编语言),虚拟机器,M,2,(操作系统),实际机器,M,1,(机器语言),微程序机器,M,0,(微指令系统),二、计算机系统的层次结构,12,程序员所见到的计算机系统的属性,概念性的结构与功能特性,计算机,体系结构,计算机,组成,实现计算机体系结构所体现的属性,有无乘法指令,如何实现乘法指令,(指令系统、数据类型、寻址技术、,I/O,机理),(具体指令的实现),1.1,三、,计算机体系结构和计算机组成,13,1.2,计算机的基本组成,1.,计算机由五大部件组成,3.,指令和数据用二进制表示,4.,指令由操作码和地址码组成,6.,以运算器为中心,2.,指令和数据以同等地位存于存储器,,可按地址寻访,5.,存储程序,一、,冯,诺依曼计算机的特点,5.,存储程序,14,算术运算,逻辑运算,存放数据,和程序,将信息转换成机,器能识别的形式,将结果转换成,人们熟悉的形式,指挥程序,运行,1.2,1.,冯,诺依曼计算机硬件框图,存储器,输入设备,运算器,控制器,输出设备,15,1.2,1.,冯,诺依曼计算机硬件框图,存储器,输入设备,运算器,控制器,输出设备,16,一个典型系统的硬件组成,PC,:,程序计数器;,ALU,:算术,/,逻辑单元;,USB,:通用串行总线,CPU,MM,Input/Output,17,PC,主板,CPU,插座,内存条,PCI,总线插槽,18,1,.,上机前的准备,建立数学模型,-,+,-,+,-,=,!,x,9,!,x,7,!,x,5,!,x,3,x,x,9,7,5,3,sin,编制解题程序,确定计算方法,程序,运算的,全部步骤,指令,每,一个步骤,1.2,二、计算机的工作步骤,19,取,x,至运算器中,乘以,x,在运算器中,乘以,a,在运算器中,存,ax,2,在存储器中,取,b,至运算器中,乘以,x,在运算器中,加,ax,2,在运算器中,加,c,在运算器中,=,(,ax,+,b,),x,+,c,取,x,至运算器中,乘以,a,在运算器中,加,b,在运算器中,乘以,x,在运算器中,加,c,在运算器中,计算,ax,2,+,bx,+,c,1.2,编程举例,20,000001,0000001000,打印,停机,取数,ACC,存数,ACC,加,ACC,+,ACC,乘,ACC,ACC,指令格式举例,1.2,操作码,地址码,打印机,21,指令和数据存于主存单元的地址,指令,注释,操作码,地址码,0,000001,0000001000,取数,x,至,ACC,1,000100,0000001001,乘,a,得,ax,存于,ACC,中,2,000011,0000001010,加,b,得,ax,+,b,存于,ACC,中,3,000100,0000001000,乘,x,得(,ax,+,b,),x,存于,ACC,中,4,000011,0000001011,加,c,得,ax,2,+,bx,+,c,存于,ACC,5,000010,0000001100,将,ax,2,+,bx,+,c,存于主存单元,6,000101,0000001100,打印,7,000110,停机,8,x,原始数据,x,9,a,原始数据,a,10,b,原始数据,b,11,c,原始数据,c,12,存放结果,1.2,计算,ax,2,+,bx,+,c,程序清单,22,存储体,大楼,存储单元,存放一串二进制代码,存储字,存储单元中二进制代码的组合,存储字长,存储单元中二进制代码的位数,每个存储单元赋予一个地址号,按地址寻访,存储单元,存储元件,(,0/1,),教室,座位,(无人,/,有人),(,1,),存储器的基本组成,1.2,MDR,主存储器,存储体,MAR,2,.,计算机的解题过程,23,MAR,MDR,存储单元个数,16,存储字长,8,设,MAR,=,4,位,MDR,=,8,位,1.2,存储器地址寄存器,反映存储单元的个数,存储器数据寄存器,反映存储字长,(,1,),存储器的基本组成,MDR,主存储器,存储体,MAR,24,取指令,分析指令,执行指令,PC,IR,CU,PC,IR,CU,取指,执行,PC,存放当前欲执行指令的地址,,具有计数功能(,PC,),+,1,PC,IR,存放当前欲执行的指令,访存,访存,完成,一条,指令,1.2,(,2,),控制器的基本组成,25,1,2,3,5,6,7,8,9,以取数指令为例,4,(,3,),主机完成一条指令的过程,1.2,CU,控制,单元,主存储器,MDR,MAR,存储体,CPU,PC,控制器,IR,运算器,MQ,ACC,ALU,X,I/O,设,备,26,1,2,3,5,6,7,9,8,以存数指令为例,4,1.2,(,3,),主机完成一条指令的过程,CU,控制,单元,主存储器,MDR,MAR,存储体,CPU,PC,控制器,IR,运算器,MQ,ACC,ALU,X,I/O,设,备,27,(,4,),ax,2,+,bx,+,c,程序的运行,过程,将程序通过输入设备送至计算机,程序首地址,打印结果,分析指令,取指令,停机,启动程序运行,(PC,)+,1 PC,执行指令,1.2,MAR,M,MDR,IR,PC,CU,OP(IR),Ad(IR),MAR,M,MDR,ACC,PC,28,1.3,计算机硬件的主要技术指标,1,.,机器字长,一般指,一次参与运算数据的基本长度。用二进 制数位的长度来表示。,一般与,计算机内部,的,寄存器位数、数据总线、运算器、存储器字长,有关。,早期的计算机字长一般为,16,位,现在字长为,32,位或,64,位。,29,1.3,计算机硬件的主要技术指标,2,.,运算速度,时钟周期,:,又称为节拍周期或,T,周期,是时钟频率的倒数。是处理器操作最基本的时间单位。例如,主频为,1GHz,的,CPU,的时钟周期为,1ns,。,CPI,:表示执行每条指令所需要的平均时钟周期数。,CPI=,一个程序的,CPU,时钟周期数,程序指令数量,30,1.3,计算机硬件的主要技术指标,2,.,运算速度,CPI,=,一个程序的,CPU,时钟周期数,程序指令数量,设程序中每类指令的使用频度为,Pi,每类指令的,CPI,为,CPIi,每类指令的条数为,ICi,程序中的总指令条数为,IC.,则,程序的,CPI,可用下列公式计算:,31,2.,运算速度,CPU,执行时间,:是指,CPU,计算某个任务所花费的时间,不包括,I/O,访问时的等待时间等。,CPU,执行时间,=CPU,时钟周期总数,时钟周期,=,指令条数,CPI,时钟周期,从上面的公式可以看出,CPU,的性能与计算机体系的关系,:,时钟频率反映了计算机的实现技术和生产工艺,.,CPI,反映了计算机的实现技术和指令集结构,.,IC,反映了计算机指令系统的设计和编译技术,.,32,2.,运算速度,响应时间,:是指计算机完成一个任务所花费的全部时间,包括存储访问时间、磁盘访问时间和,I/O,访问时间等。它是计算机执行单个任务时的性能。,吞吐量,:是指计算机系统在单位时间内完成的总工作量。它表征了计算机系统执行多个任务时的性能表现。,33,2.,运算速度,MIPS,:,是指,CPU,每秒可以执行的百万条机器指令数。,MIPS=,指令数,(程序执行的时间*,10,6,),=,时钟频率,(,CPI*10,6,),以,MIPS,作为衡量计算机系统性能时要注意以下问题,:,该指标没有考虑不同指令在功能和执行速度上的差异,.,不能用于不同指令系统计算机之间性能的比较,.,同一台计算机,不同类型的指令系统的,MIPS,也不一样。,某些情况下,,MIPS,值可能与计算机的实际性能成反比。,34,2.,运算速度,MFLOPS,:,是指,CPU,每秒可以执行的百万条浮点操作次数。,MFLOPS=,程序中的浮点操作次数,(程序执行的时间*,10,6,),以,MFLOPS,作为衡量计算机系统性能时要注意以下问题,:,MFLOPS,仅能反映浮点数的运算速度,.,MFLOPS,的计算结果与所使用的程序相关。,35,3.CPU,性能举例,例,1.1,某程序的目标代码主要由,4,类指令组成,他们在程序中所占比例和各自的,CPI,如表所示。,求该程序的,CPI.,若该,CPU,的主频为,400MHz,,求该机的,MIPS.,指令类型,CPI,所占比例,算术逻辑运算,1,60%,内存读写,2,18%,转移,4,12%,其它,8,10%,36,3.CPU,性能举例,解:根据,CPI=1*0.6+2*0.18+4*0.12+8*0.1,=2.24,根据,MIPS=,时钟频率,(,CPI*10,6,),MIPS=400*10,6,(,2.24*10,6,),=178.6,37,3.CPU,性能举例,例,1.2,程序,P,在机器,A,上运行需,10 s,,机器,A,的时钟频率为,400MHz,。现在要设计一台机器,B,,希望该程序在,B,上运行只需,6 s.,机器,B,时钟频率的提高导致了其,CPI,的增加,使得程序,P,在机器,B,上时钟周期数是在机器,A,上的,1.2,倍。机器,B,的时钟频率达到,A,的多少倍才能使程序,P,在,B,上执行速度是,A,上的,10/6=1.67,倍?,38,3.CPU,性能举例,解:,CPU,时间,A=,时钟周期数,A/,时钟频率,A,时钟周期数,A=10 sec x 400MHz,=4000M,个,时钟频率,B=,时钟周期数,B/CPU,时间,B,=1.2 x 4000M/6 sec,=800 MHz,机器,B,的频率是,A,的两倍,,但机器,B,的速度并不是,A,的两倍!,39,3.CPU,性能举例,例,1.3,假定某程序,P,编译后生成的的目标代码由,A,、,B,、,C,、,D,四类指令组成,他们在程序中所占比例分别为,43%,、,21%,、,12%,和,24%,,已知他们的,CPI,分别为,1,、,2,、,2,、,2,。现重新对程序,P,进行编译优化,生成的新目标代码中,A,类指令条数减少了,50%,,其它类指令的条数没有变化,请问:,编译优化前后的,CPI,各是多少?,假定程序在主频为,50MHz,的计算机上运行,则优化前后的,MIPS,各是多少?,编译优化前后,哪种代码的执行速度快?,40,3.CPU,性能举例,解:,A,类指令条数减少了,50%,后,各类指令所占比例如下:,A,类指令:,21.5/,(,21.5+21+12+24,),=27%,B,类指令:,21/,(,21.5+21+12+24,),=27%,C,类指令:,12/,(,21.5+21+12+24,),=15%,D,类指令:,24/,(,21.5+21+12+24,),=31%,优化前后程序的,CPI,分别计算如下:,优化前:,43%*1+21%*2+12%*2+24%*2=1.57,优化后:,27%*1+27%*2+15%*2+31%*2=1.73,41,3.CPU,性能举例,解:,优化前后程序的,MIPS,分别计算如下:,优化前:,50M/1.57=31.8 MIPS,优化后:,50M/1.73=28.9 MIPS,从这个例子可以看出,用,MIPS,数来进行性能估计是不可靠。,42,3.CPU,性能举例,解:,设优化前的指令条数分别为,43,、,21,、,12,、,24,,总和为,100,,则优化后的分别为,21.5,、,21,、,12,、,24,,总和为,78.5.,优化前,CPU,的执行时间为:,指令条数*,CPI*,时钟周期,100*1.57*T=157 T,优化后,CPU,的执行时间为:,78.5*1.73*T=135.8 T,43,2,21,=,256,KB,2,13,=,1,KB,如,4,.,存储容量,主存容量,辅存容量,存储单元个数,存储字长,字节数,字节数,80 GB,如,MAR MDR,容量,10,8,16,32,存放二进制信息的总位数,1.3,1K=2,10,1B=2,3,b,1GB=2,30,b,1,K,8,位,64,K,32,位,44,1.4,计算机的发展及应用,1.4.3,计算机的展望,1.4.2,计算机的应用,1.4.1,计算机的发展史,45,计算机的分类,1.,总体分为电子模拟计算机和电子数字计算机。,2.,电子数字计算机又可以分为通用计算机和专用计算机。,3,。通用计算机又可以分为:巨型机、大型机、中型机、小型机、微型机和单片机。,46,1.4.1,计算机的发展史,一、计算机的产生和发展,1946,年 美国,ENIAC,1955,年退役,十进制运算,18 000,1 500,150,30,170,多个电子管,多个继电器,千瓦,吨,平方米,5 000,次加法秒,用手工搬动开关和拔插电缆来编程,47,世界上第一台电子计算机,ENIAC(1946),1.4.1,48,硬件技术对计算机更新换代的影响,千万亿,超大规模,集成电路,1978,现在,五,1000,万,大规模,集成电路,1972,1977,100,万,中小规模,集成电路,1965,1971,20,万,晶体管,1958,1964,4,万,电子管,1946,1957,速度,(次,/,秒),硬件技术,时间,代,三,四,二,一,1.4.1,49,二、微型计算机的出现和发展,微处理器芯片,存储器芯片,1971,年,8,位,16,位,32,位,64,位,4,位(,4004,),1970,年,256,位,1K,位,16K,位,64K,位,256K,位,1M,位,16M,位,64M,位,4K,位,4M,位,50,Moore,定律,Intel,公司的缔造者之一,Gordon Moore,提出,微芯片上集成的,晶体管数目每三年翻两番,51,Intel,公司的典型微处理器产品,8080 8,位,1974,年,8086 16,位,1979,年,2.9,万个晶体管,80286 16,位,1982,年,13.4,万个晶体管,80386 32,位,1985,年,27.5,万个晶体管,80486 32,位,1989,年,120.0,万个晶体管,Pentium 64,位(准),1993,年,310.0,万个晶体管,Pentium Pro 64,位(准),1995,年,550.0,万个晶体管,Pentium 64,位(准),1997,年,750.0,万个晶体管,Pentium 64,位(准),1999,年,950.0,万个晶体管,Pentium 64,位,2000,年,4 200.0,万个晶体管,2007,年 芯片上可集成,3,亿,5,千万,个,晶体管,2010,年 芯片上可集成,8,亿,个晶体管,52,Intel,产品系列介绍(,1,),8080,:世界上第一个通用微处理器。,8,位机。,8086,:,16,位机,采用了指令高速缓存。,80286,:可以寻址,16MB,的存储空间,不再受,1MB,存储空间的限制。,80386,:,32,位机,它是,Intel,产品中第一个支持多任务的处理器。,80486,:采用了更为复杂、功能更为强大的高速缓存技术和指令流水线技术。它内置浮点协处理器。,53,Intel,产品系列介绍(,2,),Pentium:,开始采用超标量(,Superscalar,)技术。允许更多的指令并行执行。,Pentium Pro:,极富有进取性的采用了转移预测、数据流分析、推测执行等技术。,Pentium,:采用了专门用于处理视频、音频和图形数据的,Intel MMX,技术。,Pentium ,:采用了新的浮点指令、支持三维图形软件。,Pentium,:使用,64,位组织结构的新一代。,54,三、软件技术的兴起和发展,机器语言 面向机器,汇编语言 面向机器,高级语言 面向问题,FORTRAN,科学计算和工程计算,PASCAL,结构化程序设计,C,面向对象,Java,适应网络环境,1.,各种语言,2.1,55,2.,系统软件,语言处理程序,汇编程序 编译程序 解释程序,操作系统,DOS UNIX Windows,服务性程序,装配 调试 诊断 排错,数据库管理系统,数据库和数据库管理软件,网络软件,2.1,56,3.,软件发展的特点,开发周期长,制作成本昂贵,检测软件产品质量的特殊性,软件是程序以及开发、使用和,维护程序所需要的所有文档,2.1,57,1.4.2,计算机的应用,一、科学计算和数据处理,二、工业控制和实时控制,三、网络技术,1.,电子商务,2.,网络教育,3.,敏捷制造,58,四、虚拟现实,五、办公自动化和管理信息系统,六、,CAD/CAM/CIMS,七、多媒体技术,八、人工智能,2.2,59,1.4.3,计算机的展望,一、计算机具有类似人脑的一些超级,智能功能,要求计算机的速度达,10,15,/,秒,(,千万亿次,),二、芯片集成度的提高受以下三方面的限制,芯片集成度受物理极限的制约,按几何级数递增的制作成本,芯片的功耗、散热、线延迟,60,三、?替代传统的硅芯片,1.,光计算机,2.DNA,生物计算机,3.,量子计算机,利用光子取代电子进行运算和存储,通过控制,DNA,分子间的生化反应,利用原子所具有的量子特性,2.3,61,中国计算机发展史,1958,年,中科院计算所研制成功我国第一台小型电子管通用计算机,103,机,标志着我国第一台电子计算机的诞生。,1965,年,中科院计算所研制成功第一台大型晶体管计算机,109,乙,之后推出,109,丙机,该机为两弹试验中发挥了重要作用;,1974,年,清华大学等单位联合设计、研制成功采用集成电路的,DJS-130,小型计算机,运算速度达每秒,100,万次;,62,中国计算机发展史,1983,年,国防科技大学研制成功运算速度每秒上亿次的银河,-I,巨型机,这是我国高速计算机研制的一个重要里程碑;,1985,年,电子工业部计算机管理局研制成功与,IBM PC,机兼容的长城,0520CH,微机。,1992,年,国防科技大学研究出银河,-II,通用并行巨型机,峰值速度达每秒,4,亿次浮点运算,(,相当于每秒,10,亿次基本运算操作,),,为共享主存储器的四处理机向量机,总体上达到,80,年代中后期国际先进水平。它主要用于中期天气预报;,63,中国计算机发展史,1993,年,国家智能计算机研究开发中心(后成立北京市曙光计算机公司)研制成功曙光一号全对称共享存储多处理机,这是国内首次以基于超大规模集成电路的通用微处理器芯片和标准,UNIX,操作系统设计开发的并行计算机;,1995,年,曙光公司又推出了国内第一台具有大规模并行处理机,(MPP),结构的并行机曙光,1000(,含,36,个处理机,),,峰值速度每秒,25,亿次浮点运算,实际运算速度上了每秒,10,亿次浮点运算这一高性能台阶。曙光,1000,与美国,Intel,公司,1990,年推出的大规模并行机体系结构与实现技术相近,与国外的差距缩小到,5,年左右。,64,中国计算机发展史,1997,年,国防科大研制成功银河,-III,百亿次并行巨型计算机系统,采用可扩展分布共享存储并行处理体系结构,由,130,多个处理结点组成,峰值性能为每秒,130,亿次浮点运算,系统综合技术达到,90,年代中期国际先进水平。,1997,至,1999,年,曙光公司先后在市场上推出具有机群结构,(Cluster),的曙光,1000A,,曙光,2000-I,,曙光,2000-II,超级服务器,峰值计算速度已突破每秒,1000,亿次浮点运算,机器规模已超过,160,个处理机,,65,中国计算机发展史,1999,年,国家并行计算机工程技术研究中心研制的神威,I,计算机通过了国家级验收,并在国家气象中心投入运行。系统有,384,个运算处理单元,峰值运算速度达每秒,3840,亿次。,2000,年,曙光公司推出每秒,3000,亿次浮点运算的曙光,3000,超级服务器。,2001,年,中科院计算所研制成功我国第一款通用,CPU,“,龙芯,”,芯片,66,中国计算机发展史,2002,年,曙光公司推出完全自主知识产权的,“,龙腾,”,服务器,龙腾服务器采用了,“,龙芯,-1,”,CPU,,采用了曙光公司和中科院计算所联合研发的服务器专用主板,采用曙光,LINUX,操作系统,该服务器是国内第一台完全实现自有产权的产品,在国防、安全等部门将发挥重大作用。,2003,年,百万亿次数据处理超级服务器曙光,4000L,通过国家验收,再一次刷新国产超级服务器的历史纪录,使得国产高性能产业再上新台阶。,67,中国计算机发展史,2010,年,,“,天河一号,”,为我国首台千万亿次超级计算机。速度在世界排名第一,实测运算速度达到,2507,万亿次。排名第三的是中国曙光公司研制的,“,星云,”,高性能计算机,其实测运算速度达到每秒,1270,万亿次。,这个速度意味着,如果用,“,天河一号,”,计算一秒,则相当于全国,13,亿人连续计算,88,年。如果用,“,天河一号,”,计算一天,一台当前主流微机得算,160,年。,“,天河一号,”,的,存储量,,则相当于,4,个,国家图书馆,藏书量之和。,68,输入设备,输出设备,输入输出接口和总线,外存设备,主存储器,高速缓存,控 制 器,运 算 器,第,三,章,第六、八章,第五章,第二章,本课程讲授的内容如图,:,第,七,章,第四章 指令系统,69,内容的相互关系如图:,CPU,内部互连,ALU,CU,寄存器,中央处理器,寄存器,和解码器,控制单元,排队,逻辑,控制,存储器,计算机,I/O,系统总线,存储器,CPU,70,谢 谢!,71,
展开阅读全文