资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,计算机组成原理教学课件,王 诚 教授,清华大学计算机系,2021年10月,第,1,章 计算机系统概述,为何要学习这门课程,怎么学,如何要求,,课程主要内容简介,1.1 计算机系统的根本组成及其层次结构,1.2 计算机硬件的个功能部件及其功能,1.3计算机系统主要的技术与性能指标,1.4 计算机的体系结构、组成和实现概述,1.5 计算机开展进步、分类和拓展应用进程,为什么要学习,计算机组成原理,这门课程,计算机组成原理是计算机专业本科生的一门统设必修的专业根底课程。在我们系强调培养计算机应用型人才,是把这门课程作为计算机系统平台的内容之一来安排的。,不是只有设计计算机硬件系统的人才要学这门课,计算机专业的人员都应该对其有所了解。选择了计算机专业,终生要与计算机系统打交道、要使用好计算机就应该学习这门课,否那么就算不上一名合格的计算机专业人员。总不该把计算机硬件系统看作为电视机一样的产品,开一下电源选选台能看节目了就行了。,计算机中有许多知识是到处都会用到的,是学习后续多门课程(系统结构,操作系统,编译原理,高级语言程序设计,计算机网络,数据库)的根底,将来工作中如何想清楚、如何解决遇到的许多问题都会涉及到计算机的硬件问题。,1,课程有多难,能不能学好,说计算机组成原理课程不是太难学是不能令人信服的,说根本无法学好也缺乏足够的理由和证据。,从,计算机组成原理,的内容来讲,实在没有太多难懂的原理,与生活中遇到的许多很平常的现象大有同工异曲之处,它不像数学,没有多少理论推导,也没有物理学中的高深理论,不用冥思苦想,,接受它的规定和实现方案即可,。如果说难,难就难在计算机中的问题是我们平时从未接触到、更没亲眼看见过事物,,尚未碰到先怕三分,把本来简单的问题折腾复杂了,;,教师缺乏计算机系统设计的工程背景,进一步加剧了这个矛盾。,学生应该根据自己的实际水平和将来的工作要求,恰当地确定对自己学习这门课程的要求。,2,课程教学定位和教学要求,计算机组成原理课程教学应该建立在硬、软件组成大体完整的系统平台之上,无疑这是一门硬件内容为主的课程,但需要兼顾一点根底软件的课程,认为课程内容只限于纯硬件(裸机)是很过时的认识,至少需要了解汇编语言以及计算机系统操作使用方面的根底知识,把学习和使用硬件结合起来。,教学过程中,要把学习原理知识和应用原理解决实际问题结合起来,防止泛泛地讲解书本内容,解决问题可以首先从看别人怎么用原理设计实现实用系统,再考虑自己能做些什么实际工作才会使学习更有趣味,更有用。学生可以对自己提出主要学懂根本原理并能通过考试为底线要求,和还有一定应用能力的正常要求。,3,这里说的计算机系统computer system,是指电子数字通用计算机系统,三个定语各自说明了计算机系统的一个方面的特性。,“电子一词说明使用电子线路不同于机械、继电器等来实现计算机硬件的关键逻辑功能;,“数字一词说明使用的电子线路是数字式电路不同于模拟电路,运算和处理的数据是二进制的离散数据不同于连续的电压或电流量;,“通用一词说明计算机本身功能多样(并非专用于某种特定功能),具有完成各种运算或数据处理能力。,1,、计算机系统概述,4,计算机系统由硬件和软件两大局部组成。,硬件指由中央处理器、存储器以及外围设备等组成的实际装置,硬件的作用是完成每条指令规定的功能。指令是计算机运行的最小的功能单位,指令是指示计算机硬件执行某种运算、处理功能的命令。,软件是为了使用计算机而编写的各种系统的和用户的程序,程序由一个序列的计算机指令组成。指令是用于设计程序的一种计算机语言。,一台计算机提供的全部指令构成该计算机的指令系统。指令系统的设计质量关系到厂家和用户的利益。,硬、软件系统相互依存,分工互动,缺一不可,如同一个健全人的物质性的肉体和精神性的智力与思维。,计算机系统概述,5,汇编语言层,操作系统层,指令系统层,微体系结构层,数字逻辑层,高级语言层,应用层,计算机系统的层次结构,可以从 6 个层次分析和看待计算机系统的根本组成。,最低的层属于硬件局部,硬件系统用于实现每条指令的功能,解决程序中指令间的衔接系。,上面的层属于软件局部,软件由按一定规那么组织起来的许多条指令组成,完成一定的数据运算或者事务处理功能。,指令系统处在硬件系统和软件系统之间,是硬、软件之间的接口局部,对两局部都有重要影响。,微体系结构层,软 件 系 统,硬 件 系 统,计算机系统的层次结构,6,软件是为了使用计算机而编写的各种系统的和用户的程序,程序由一个序列的计算机指令组成。,在计算机系统的层结构中给出的根本软件包括操作系统和个级别的计算机语言。,操作系统主要完成对系统中的硬、软件资源的管理与调度分配,并向程序设计人员和计算机的操作者提供各种效劳。,个级别的语言是机器语言二进制代码语言、汇编语言符号语言和高级语言算法语言,使用它们设计程序的难易程度和工作效率差异很大。,计算机中的根本软件系统,7,以计算从,1,到,10,的累加和为例,看一看,3,个级别语言的程序例子,并简单介绍该机器语言程序在计算机内部的执行过程。,BASIC,程序,汇编语言程序,机器语言程序,(16,进制,),10 sum=0 2000:sub R15,R15 01FF,20 for i=1 to 10 sub R1,R1 0111,30 sum=sum+i mvrd R0,0A 8800 000A,40 next i inc R1 0910,50 print sum add R15,R1 00F1,60 end cmp R1,R0 0310,jrnz 2004 47FC,cala 0664 CE00 0064,ret 8F00,三个级别的程序设计语言语言,15,数据运算部件,计算机控制部件,数据存储,部件,接口线路,数据输入设备,接口线路,结果输出设备,数据总线,地址总线,控制总线,计算机主机,计算机,外围设备,计算机的,CPU,硬件系统由,5,个功能部件组成,是,课程的核心内容,、计算机中的根本硬件系统,8,硬件系统由5个功能部件组成。数据输入设备分担对程序和原始数据的输入功能,数据存储部件分担对程序和数据的存储功能,数据运算部件分担对数据的运算处理功能,结果输出设备分担对运算处理结果的输出功能。控制器部件那么是依照每条指令的运行功能的需要,向各个部件或设备提供它们协调运行所需要的控制信号,在整个硬件系统中起到指挥、协调和控制的作用。图中间部位给出的是计算机的种类型的总线,可以看出,计算机的个功能部件正是通过这种类型的总线被有机地连接在一起,从而构成一台完整的、可以协调运行执行程序的计算机硬件系统。,计算机中的根本硬件系统,8,可以把计算机想象为一个加工处理数据的工厂,那么数据运算部件就是数据加工车间,数据存储部件就是存放原材料、半成品和产品的库房,输入设备相当于运入原材料的卡车,输出设备相当于运出最终产品的卡车,控制部件那么相当于承担领导指挥功能的厂长和各个职能办公室。在领导的正确指挥下,如果能够源源不断地取得原材料,工厂内又有存放的场所,车间能够对这些原材料进行指定的加工处理,加工后的产品可以畅通地运出去销售,那么这个工厂计算机就纳入正常运行的轨道。前面说的还只限于硬件,当然号必须有配套的软件系统,例如工厂就需要有管理制度、运营策略等。,计算机中的根本硬件系统,8,1计算机的字长,在计算机系统内部,通常选用多少个二进制位来表示一个数据或一条指令是一个关键技术指标,例如16、32或者64位,这个位数被称为计算机的字长。例如在32位字长的计算机系统中,一个整数、一条指令通常都用32位二进制数表示,叫做一个字,运算器、存储器、数据和地址总线等通常都被设计成32位。字长对计算机的处理能力和运行性能有明显影响,字长较长有利于提高计算机的性能,但需要使用更多的硬件,计算机系统的价格也会高一些。,、计算机系统的主要技术与性能指标,7,2CPU的速度,衡量CPU速度,通常有两种方式。,第一种方式是使用CPU主频,即每一秒钟提供给CPU的时钟脉冲的个数,通常用赫兹Hz表示,例如500MHz。但对不同厂家、不同系列的计算机系统,只用CPU主频来说明其运行速度那么未必准确。,第二种方式是使用CPU每一秒钟能执行的指令条数,单位是MIPSmillion instructions per second,其计算公式可以通过如下方式推导出来,T=CPIT_ICI,这里的T是执行一个程序占用的时间,CPI是执行一条指令平均使用的CPU时钟个数,T_IC是一个CPU时钟的时间长度,是CPU主频 f 的倒数 1/f,I 是这个程序的指令条数,3个数值的乘积就等于这个程序总的运行时间T。由此得到:I=T/(CPI1/f)=Tf/CPI.,计算机系统的主要技术与性能指标,7,CPU的速度(续),当取T=1s,并假定 f 为300MHz,CPI为 4,那么计算出CPU系统的性能为300/4,即 75个MIPS,即每秒执行75个百万条整数运算指令。假设有方法使这台计算机的CPI尽量靠近1,那么其运行性能就可以提高近4倍,这正是精简指令系统计算机RISC所追求的目标。,假设进一步细化,可安如下方法计算出一个程序中全部指令的平均 CPI:按照指令的执行步骤数对全部指令进行分类,同类指令的条数这类指令的CPI,再对各类指令的计算机结果求累加和,那么累加和除以总指令条数就得到平均CPI,可以表示为,CPI平均=CPIjIj/I,这里的 j 是指令的种类编号从0n。,可以用 MFLOPS 表示对浮点数指令的运算速度。,计算机系统的主要技术与性能指标,7,3存储容量和读写速度,计算机中的存储器通常包括内存储器和外存储器两大类。,内存储器又被称为主存储器,通常用半导体器件实现,读写速度快,价格较高,通常容量要小一些,例如几百MB或几到十几GB,可供CPU通过指令直接访问。,外存储器又称辅助存储器、海量存储器等,主要包括磁盘设备、光盘设备、磁带设备等,读写速度要慢得多,价格较低,容量很大,例如几十、几百GB或几十TB,外存储器上的信息需要经过操作系统成批量地而不是以字为单位与内存储器进行交换。,内存储器的读写周期通常为几十ns到一二百ns,读写外存储器中的几百个字节数据的时间通常要几到十几ms,而连续读出辅存中的一大批数据所用时间平均到每个数据上可能要更短得多。,通常还关心单位时间内能够对主存储器读写数据的总量,单位时间内能对辅助存储器交换设据的总量。,当前的计算机系统中都采取了许多增加存储器容量和速度的技术措施。,计算机系统的主要技术与性能指标,7,4输入输出设备的入出速度,计算机的输入输出设备是计算机系统中比较复杂的局部,不同设备组成和运行原理各不相同,与计算机主机的连接与控制方式也多有差异,在电子线路之外还涉及到精密机械、光学、激光、电磁转换等许多知识。,不同的输入输出设备的运行速度各不相同,例如针式打印机每秒只能打印几个字符,而激光打印机那么可以打印多行甚至几页打印纸的信息,键盘输入那么主要取决于人员打字的速度。显示器的屏幕大小、分辨率上下、显示字符还是图形的不同内容、屏幕刷新频率等都对系统性能有重要影响。,目前的输入输出设备包含的种类特别多,远远超出了传统入出设备的概念,特别是随着多媒体技术的开展和应用,大量的电子设备已经成为现代计算机的外围设备。,计算机系统的主要技术与性能指标,7,输入设备,输出设备,总线和入出接口,虚拟存储器,外存设备,主存储器,高速缓存,控 制 器,运 算 器,、本课程各章教学内容简介,第章,第、章,第、章,第章,第,2,章,预备性知识,,第,9,章,补充性读物,,课上不讲,。,9,第,3,、,4,章,主要教学内容,第3章 讲解数据表示和运算方法,这是设计实现计算机运算器部件的理论根底。,计算机中都使用二进制的信息编码。二进制编码和码制转换是数据运算的数学根底。,整数的原码、补码表示是为了简化数据运算的方案,可以简化用到的硬件线路,提高运算
展开阅读全文