《计算机组成原理》本科课程教案计算机科学学院本课程是计算机专业本科生的核心课程,是主干必修课。课程以阐述原理为主,讲述计算机系统及其各功能部件的工作原理以及逻辑实现,计算机系统及其各功能部件的设计原理以及并行处理技术。设置这一课程的目的是使学生掌握计算机的基本工作原理,掌握计算机各主要部件的硬件结构、相互联系和作用,掌握计算机系统的设计原理以及软硬件的界面,从而对整个计算机系统有完整的了解,为计算机专业的后继课程的学习打下基础。一、本课程得主要内容1、计算机系统概论2、逻辑电路设计基础(复习及提高)3、信息编码和数据表示4、计算机算法和算法逻辑实现5、存储器6、计算机指令构成和寻址方式7、处理机设计8、流水线处理机9、存储系统10、输入输出设备11、输入输出系统二、本课程教学重点与难点重点:信息编码和数据表示控制器存储系统输入输出系统三、教材选用王爱英.《计算机组成与结构》第五版.清华大学出版社.四、参考教材:主要参考书:1、李亚明.《计算机组成与系统结构》.清华大学出版社.20012、WilliamStallings《计算机组织与结构--性能设计(第五版)》.高等教育大学出版社,3、江义鹏.《计算机组成原理》.人民邮电出版社.19984、胡越明.《计算机组成和系统结构》.上海科学技术文献出版社.19995、俸远祯.《计算机组成原理》.电子工业出版社6、李亚民.《计算机组成与系统结构》.清华大学出版社2000年7、袁开榜.《计算机组成原理》高等教育出版社8、白中英、韩兆轩编.《计算机组成原理》.科学出版社9、唐朔飞.《电子数字计算机原理》.哈尔滨工业大学出版社参考书:10、邹海明.《计算机组织与结构》.电子工业出版社..1993年.版.11、JohnL.HennessyandDavidA.Patterson,Computerorganizationanddesign,thehardware/softwareinterface,MorganKaufmann,SecondEdition,199812、JohnL.HennessyandDavidA.Patterson,“Computerarchitecture:aquantitativeapproach”,MorganKaufmann,SecondEdition,199613、PattersonandHennessy,ComputerOrganization&Design:theHardware/SoftwareInterface(2ndedition),MorganKaufmannPublishers.五、教学手段:ppt+版书六、课程内容和学时分配(整体安排按信息表示、信息处理、信息输出思路。)第一章计算机系统概论教学内容:1、计算机系统的基本构成2、计算机系统的层次结构3、计算机系统结构、组成及其实现4、计算机的性能评价5、计算机发展简史6、计算机的应用基本要求:通过本章的学习,要求了解整个计算机系统由硬件和软件两部分构成,其中硬件部分包括运算器、控制器、存储器、输入输出设备等五大功能部件构成。通过总线相互连成一个完整的硬件系统;软件部分包括系统软件、应用软件两大部分。通过对计算机层次结构的了解,明确计算机组成原理课程的任务和目的。了解计算机中的一些基本概念,包括性能指标、计算机发展简史以及计算机的应用。教学重点:1、计算机系统的基本构成2、计算机系统的层次结构3、计算机系统结构、组成及其实现4、计算机的性能评价(字长、容量、速度、时间、MIPS)5、计算机发展简史(ENIAC、冯氏计算机、其它自学)6、计算机的应用(科学计算与数据处理的区别)教学难点:计算机系统的层次结构、系统结构、组成及其实现的关系。明确计算机组成原理课程的任务和目的。其它:1.1计算机的诞生和发展1.2计算机的硬件1.3计算机的软件1.4计算机网络基础1.1计算机的诞生和发展计算机分类:模拟:处理在时间和数值上连续的量数字:处理离散的量数字计算机分类:专用计算机:如工控机、DSP、IOP等通用计算机:GPP通用机分类:巨型机(Super-Computer)、大型机(Mainframe)、中型机(Medium-sizeComputer)、小型机(minicomputer)、微型机(microcomputer)、单片机(Single-ChipComputer)1.1.2计算机的应用科学计算传统方式:工作量大、人工处理慢自动控制:数控机床、流水线控制测量和测试:提高精度、在恶劣条件下的测量信息处理:教育、卫生:计算机辅助教学(CAI)、多媒体教室、CT(Computerizedtomography)家电人工智能1.2计算机的硬件1.2.1数字计算机的硬件组成五大组成部分:运算器、控制器、存储器、输入/输出设备。概念:存储单元、地址、存储容量、外存储器、内存储器、指令、程序、指令的组成、存储程序、程序控制、指令系统、指令周期、执行周期、CPU、主机、数据字、指令字、数据流、指令流、适配器。冯•诺依曼体系结构:(1)采用二进制形式表示数据和指令数据和指令在代码的外形上并无区别.都是由0和1组成的代码序列,只是各自约定的含义不同而已。采用二进制、使信息数字化容易实现,可以用二值逻辑工具进行处理。程序信息本身也可以作为被处理的对象,进行加工处理,例如对照程序进行编译,就是将源程序当作被加工处理的对象。(2)采用存储程序方式这是诺依曼思想的核心内容。如前所述,它意味着事先编制程序,事先将程序(包含指令和数据)存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中依次取出指令且执行。这是计算机能高速自动运行的基础。计算机的工作体现为执行程序,计算机功能的扩展在很大程度上体现为所存储程序的扩展。计算机的许多具体工作方式也是由此派生的。诺依曼机的这种工作方式,可称为控制流(指令流)驱动方式。即按照指令的执行序列,依次读取指令;根据指令所含的控制信息,调用数据进行处理。因此在执行程序的过程中,始终以控制信息流为驱动工作的因素,而数据信息流则是被动地被调用处理。为了控制指令序列的执行顺序,我们设置一个程序(指令)计数器PC(ProgramCounter),让它存放当前指令所在的存储单元的地址。如果程序现在是顺序执行的,每取出一条指令后PC内容加l,指示下一条指令该从何处取得。如果程序将转移到某处,就将转移后的地址送入PC,以便按新地址读取后继指令。所以,PC就像一个指针,一直指示着程序的执行进程,也就是指示控制流的形成。虽然程序与数据都采用二进制代码,仍可按照PC的内容作为地址读取指令,再按照指令给出的操作数地址去读取数据。由于多数情况下程序是顺序执行的,所以大多数指令需要依次地紧挨着存放,除了个别即将使用的数据可以紧挨着指令存放外、一般将指令和数据分别存放在该程序区户的不同区域。(3)由运算器、存储器、控制器、输入装置和输出装置等五大部件组成计算机系统,并规定了这五部分的基本功能。上述这些概念奠定了现代计算机的基本结构思想,并开创了程序设计的新时代。到目前为止,绝大多数计算机仍沿用这一体制,称为诺依曼机体制。学习计算机工作原理也就从诺依曼概念入门。传统的诺依曼机从本质上讲是采取串行顺序处理的工作机制,即使有关数据巳经准备好,也必须逐条执行指令序列;而提高计算机性能的根本方向之一是并行处理:因此,近年来人们在谋求突破传统诺依曼体制的束缚,这种努力被称为非诺依曼化。对所谓非诺依曼化的探讨仍在争议中,一般认为它表现在以下三个方面的努力。在诺依曼体制范畴内,对传统诺依曼机进行改造,如采用多个处理部件形成流水处理,依靠时间上的重叠提高处理效率;又如组成阵列机结构,形成单指令流多数据流,提高处理速度。这些方向已比较成熟,成为标准结构。用多个诺依曼机组成多机系统,支持并行算法结构。这方面的研究目前比较活跃。从根本上改变诺依曼机的控制流驱动方式。例如,采用数据流驱动工作方式的数据流计算机,只要数据已经准备好,有关的指令就可并行池执行。这是真正非诺依曼化的计算机,它为并行处理开辟了新的前景,但由于控制的复杂性,仍处于实验探索之中。1.2.2计算机系统结构的过去和未来发展:电子管→晶体管→集成电路→大规模、超大规模集成电路趋势:由于计算机网络和分布式计算机系统能为信息处理提供廉价的服务,因此计算机系统的进一步发展,“三网合一”,将进入以通信为中心的体系结构。计算机智能化将进一步发展,各种知识库及人工智能技术将进一步普及,人们将用自然语言和机器对话。计算机从数值计算为主过渡到知识推理为主,从而使计算机进入知识处理阶段。随着大规模集成电路的发展,不仅用多处理机技术来实现大型机系统功能,而且会出现计算机的动态结构,即所谓模块化计算机系统结构。多媒体技术将有重大突破和发展,并在微处理机、计算机网络与通信等方面引起一次巨大变革。1.3计算机的软件计算机硬件是载体,软件是灵魂。1.3.1软件的组成与分类分类:系统程序、应用程序1.3.2软件的发展演变手编程序(目的程序)→汇编程序→算法语言(高级语言)高级语言与机器语言的转换:编译系统、解释系统操作系统、数据库计算机系统的层次结构多级组成的计算机系统五个级别:第一级微程序设计级、第二级是一般机器级、第三级是操作系统级、第四级是汇编语言级、第五级是高级语言级。补充:计算机的性能指标基本字长基本字长是指参与运算的数的基本位数,它标志着计算精度。位数越多,精度越高,但硬件成本也越高,因为它决定着寄存器、运算部件、数据总线等的位数。主存容量主存储器是CPU可以直接访问的存储器,需要执行的程序与需要处理的数据就放在主存之中。主存容量大则可以运行比较复杂的程序,并可存入大量信息,可利用更完善的软件支撑环境。所以,计算机处理能力的大小在很大程度上取决于主存容量的大小。外存容量外存容量一般是指计算机系统中联机运行的外存储器容量。由于操作系统、编译程序及众多的软件资源往往存放在外存之中,需用时再调入主存运行。在批处理、多道程序方式中,也常将各用户待执行的程序、数据以作业形式先放在外存中,再陆续调入主存运行。所以,联机外存容量也是一项重要指标,一般以字节数表示。运算速度同一台计算机,执行不同的运算所需时间可能不同,因而对运算速度的描述常采用不同方法。常用的有CPU时钟频率、每秒平均执行指令数(ips)、单独注明时间等。所配置的外围设备及其性能指标外围设备配置也是影响整个系统性能的重要因素,所以在系统技术说明中常给出允许配置情况与实际配置情况。系统软件配置情况作为一种硬件系统,允许配置的系统软件原则上是可以不断扩充的,但实际购买的某个系统究竟已配置哪些软件,则表明它的当前功能。作业:1.31.41.71.9第二章计算机的逻辑部件主要内容和数字逻辑课程相似,所以这章简单介绍或不讲第三章运算方法和运算部件主要内容:1、定点数加减法运算及电路实现2、定点数乘除运算和电路实现原码、补码,布斯算法,原码恢复余数、不恢复余数3、快速乘除法运算技术和电路实现布斯高基乘法,进位保存加法及其构成的乘法器,阵列乘法器,阵列除法器4、浮点数四则运算以及实现加减乘除基本要求:通过本章内容的学习,要求掌握计算机算法。加减乘除运算方法和运算器的构成,能按步骤进行原码和补码的加减乘除四则运算,能够按步骤进行浮点数的四则运算。教学重点:1、定点数加减法运算及电路实现2、定点数乘除运算和电路实现3、快速乘除法运算技术和电路实现教学难点:原码、补码,布斯算法,原码恢复余数、不恢复余数布斯高基乘法3.1数据的表示方法和转换3.2带符号的二进制数据的表示方法及加、减法运算3.3定点乘法运算3.4定点除法运算3.5浮点数运算方法3.6运算部件3.7数据校验码3.1数据的表示方法和转换3.1.1数值型数据的表示和转换在选择计算机的数的表示方式时,应当全面考虑以下几个因素:要表示的数的类型(小数、整数、实数和复数):决定表示方式可能遇到的数值范围:确定存储、处理能力数值精确度:处理能力相关数据存储和处理所需要的硬件代价:造价高低两种常用格式:定点格式