计算机组成原理教案.docx

上传人:b****7 文档编号:23953888 上传时间:2023-05-22 格式:DOCX 页数:80 大小:269.81KB
下载 相关 举报
计算机组成原理教案.docx_第1页
第1页 / 共80页
计算机组成原理教案.docx_第2页
第2页 / 共80页
计算机组成原理教案.docx_第3页
第3页 / 共80页
计算机组成原理教案.docx_第4页
第4页 / 共80页
计算机组成原理教案.docx_第5页
第5页 / 共80页
点击查看更多>>
下载资源
资源描述

计算机组成原理教案.docx

《计算机组成原理教案.docx》由会员分享,可在线阅读,更多相关《计算机组成原理教案.docx(80页珍藏版)》请在冰豆网上搜索。

计算机组成原理教案.docx

计算机组成原理教案

《计算机组成原理》本科课程教案

计算机科学学院

本课程是计算机专业本科生的核心课程,是主干必修课。

课程以阐述原理为主,讲述计算机系统及其各功能部件的工作原理以及逻辑实现,计算机系统及其各功能部件的设计原理以及并行处理技术。

设置这一课程的目的是使学生掌握计算机的基本工作原理,掌握计算机各主要部件的硬件结构、相互联系和作用,掌握计算机系统的设计原理以及软硬件的界面,从而对整个计算机系统有完整的了解,为计算机专业的后继课程的学习打

下基础。

一、

本课程得主要内容

1、

计算机系统概论

2、

逻辑电路设计基础(复习及提高)

3、

信息编码和数据表示

4、

计算机算法和算法逻辑实现

5、存储器

6、计算机指令构成和寻址方式

7、处理机设计

8、流水线处理机

9、存储系统

10、输入输出设备

11、输入输出系统

二、本课程教学重点与难点

重点:

信息编码和数据表示

控制器

存储系统

输入输出系统

三、教材选用

王爱英.《计算机组成与结构》第五版.清华大学出版社

四、参考教材:

主要参考书:

1、李亚明.《计算机组成与系统结构》.清华大学出版社.2001

2、WilliamStallings《计算机组织与结构--性能设计(第五版)》.高等教育大学出版社,

3、江义鹏.《计算机组成原理》.人民邮电出版社.1998

4、胡越明.《计算机组成和系统结构》.上海科学技术文献出版社.1999

5、俸远祯.《计算机组成原理》.电子工业出版社

6、李亚民.《计算机组成与系统结构》.清华大学出版社2000年

7、袁开榜.《计算机组成原理》高等教育出版社

8、白中英、韩兆轩编.《计算机组成原理》.科学出版社

9、唐朔飞.《电子数字计算机原理》.哈尔滨工业大学出版社参考书:

10、邹海明•《计算机组织与结构》.电子工业出版社..1993年.版.

11、JohnL.HennessyandDavidA.Patterson,"Computerorganizationanddesign,thehardware/softwareinterface",MorganKaufmann,SecondEdition,1998

12、JohnL.HennessyandDavidA.Patterson,“Computerarchitecture:

aquantitativeapproach”,MorganKaufmann,SecondEdition,1996

13、PattersonandHennessy,"ComputerOrganization&Design:

theHardware/SoftwareInterface(2ndedition)",MorganKaufmannPublishers.

五、教学手段:

ppt+版书

六、课程内容和学时分配

(整体安排按信息表示、信息处理、信息输出思路。

)第一章计算机系统概论

教学内容:

1、计算机系统的基本构成

2、计算机系统的层次结构

3、计算机系统结构、组成及其实现

4、计算机的性能评价

5、计算机发展简史

6、计算机的应用

基本要求:

通过本章的学习,要求了解整个计算机系统由硬件和软件两部分构成,

其中硬件部分包括运算器、控制器、存储器、输入输出设备等五大功能部件构成。

通过总线相互连成一个完整的硬件系统;软件部分包括系统软件、应用软件两大部分。

通过对计算机层次结构的了解,明确计算机组成原理课程的任务和目的。

了解计算机中的一些基本概念,包括性能指标、计算机发展简史以及计算机的应用。

教学重点:

1计算机系统的基本构成

2、计算机系统的层次结构

3、计算机系统结构、组成及其实现

4、计算机的性能评价(字长、容量、速度、时间、MIPS

5、计算机发展简史(ENIAG冯氏计算机、其它自学)

6、计算机的应用(科学计算与数据处理的区别)

教学难点:

计算机系统的层次结构、系统结构、组成及其实现的关系。

明确计算机组成原理课程的任务和目的。

其它:

1.1计算机的诞生和发展

1.2计算机的硬件

1.3计算机的软件

1.4计算机网络基础

1.1计算机的诞生和发展计算机分类:

模拟:

处理在时间和数值上连续的量数字:

处理离散的量

数字计算机分类:

专用计算机:

如工控机、DSP、IOP等通用计算机:

GPP

通用机分类:

巨型机(Super-Compute)、大型机(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内容加I,指示下一条指令该从何处取得。

如果程序将转移到某处,就将转移后的地址送入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数值型数据的表示和转换在选择计算机的数的表示方式时,应当全面考虑以下几个因素:

要表示的数的类型(小数、整数、实数和复数):

决定表示方式

可能遇到的数值范围:

确定存储、处理能力数值精确度:

处理能力相关

数据存储和处理所需要的硬件代价:

造价高低

两种常用格式:

定点格式:

定点格式容许的数值范围有限,但要求的处理硬件比较简单;浮点格式:

容许的数值范围很大,但要求的处理硬件比较复杂。

1)定点数表示法

定点指小数点的位置固定,为了处理方便,一般分为定点纯整数和纯小数。

2)浮点数表示法

由于所需表示的数值取值范围相差十分悬殊,给存储和计算带来诸多不便,因此出现了浮点运算法。

浮点表示法,即小数点的位置是浮动的。

其思想来源于科学计数法。

IEEE754的浮点数(比较特殊)

浮点数的规格化:

主要解决同一浮点数表示形式的不唯一性问题。

规定,否则尾数要

进行左移或右移。

机器零的概念:

尾数为0或是阶码值小于所能表示的最小数。

3)十进制数串的表示方法

由于人们对十进制比较熟悉,因此在计算机中要增加对十进制运算的支持。

两种方式:

将十进制数变为二进制数运算,输出时再由二进制变为十进制。

直接的十进制运算

直接运算的表示方法:

字符串形式:

用于非数值计算领域

压缩的十进制数串:

分为定长和不定长两种。

需要相应的十进制运算器和指令支持。

4)自定义数据表示

标志符数据表示、描述符数据表示

区别:

标志符与每个数据相连,二者合起来存放在一个存储单元,而描述符要和

数据分开存放;

描述符表示中,先访问描述符,后访问数据,至少增加一次访存;

描述符是程序的一部分,而不是数据的一部分。

数的机器码表示

真值(书写用)、机器码(机器内部使用)的概念

1)原码:

比较自然的表示法,最高位表示符号,0为正,1为负。

优点:

简单易懂。

缺点:

加减法运算复杂。

2)补码:

加减法运算方便,减法可以转换为加法。

定点小数的补码,公式

定点整数的补码,公式

3)反码:

为计算补码方便而引入计算公式,小数公式,整数公式由反码求补码:

符号位置1,各位取反,末位加1。

4)移码:

用于阶码的表示,两个移码容易比较大小,便于对阶。

定义。

即将数值向X轴正方向平移2n3.1.2十进制数的编码与运算

十进制加法/减法器

3.2带符号的二进制数据的表示方法及加、减法运算

3.2.1原码、反码、补码加减法运算加、减法公式

3.2.2加减法运算的溢出处理溢出概念:

上溢、下溢检测方法:

双符号位、单符号位3.2.3定点数和浮点数定点数表示法浮点数表示法基本的二进制加法/减法器进位处理方式:

串行进位(行波进位)、并行进位二进制加法/减法器,3.3二进制乘法运算

3.3.1定点数一位乘法二进制乘法公式:

公式人工乘法过程与二进制乘法乘法器分类:

串行、并行。

由于串行乘法速度太慢,已被淘汰。

不带符号的阵列乘法器

不带符号的阵列乘法器执行时间分析带符号的阵列乘法器原理:

首先取补T不带符号乘法T结果取补

取补器电路图,

方法:

从右向左找到第一个“1”,这个“1”向右,包括本身保持不变,向左都取反取补器电路执行时间分析

3.3.2定点数二位乘法补码与真值的转换公式,公式推导过程。

一般化的加法器:

有负权输入的,即可以做减法的。

直接补码阵列除法器:

节省了取补时间,大大的加快了乘法的速度。

结构图见。

3.3.2阵列乘法器

乘法阵列

3.4二进制除法运算

3.4.1定点数除法运算二进制除法公式:

公式余数处理的两种方法:

恢复余数法:

运算步骤不确定,控制复杂,不适合计算机运算。

加减交替法:

不恢复余数,运算步骤确定,适合计算机操作。

3.4.2提高除法运算速度的方法举例

3.5浮点数的运算方法

3.5.1浮点数的加减法运算

浮点加减法的规则,

运算步骤:

0操作数检查一对阶一尾数加/减一规格化、舍入

注意:

对阶时,小阶向大阶看齐,否则会丢失高有效位。

规格化时,左规、右规是指尾数移动方向。

舍入处理的方法

3.5.2浮点乘、除法运算

浮点乘、除法规则,

运算步骤:

0操作数检查一阶码加/减一尾数乘/除一规格化、舍入

移码的加减运算规律,

3.6运算部件

并行进位,行波进位加/减法器存在的两个问题:

运算时间长

行波进位加/减法器只能完成加法和减法,而不能完成逻辑操作

说明:

控制端M用来控制作算术运算还是逻辑运算,两种运算的区别在于是否对进位进行处理。

M二0时,对进位无影响,为算术运算;M二1时,进位被封锁,为逻辑运算。

正逻辑中,“1”用高电平表示,“0”用低电平表示,而负逻辑刚好相反。

正逻辑与负逻辑的关系为,正逻辑的“与”到负逻辑中变为“或”,即+?

互换。

的正负逻辑之间的转换可用上述规则实现。

先行进位的实现:

公式

3.7数据校验码

常用方法:

奇偶校验码;

海明校验与纠错码;

循环冗余校验码

数据校验码原理

1、码字:

由若干位代码组成,满足某种编码规律的一个代码字。

例:

编码规则“代码中1的个数为奇数”则

“01001001”合法“11001001”不合法

2、码距:

码距指任何一种编码的任两组二进制代码中,其对应位置的代码最少有几个二进制位不相同。

例:

若用4位二进制数表示16种状态,16种状态都用,则码距L=1。

若用4位二进制数表示8种状态,而把另外8种状态作为非法编码,此时的码距L=2。

3、最小码距:

指一种编码的任意两个码字中间,对应位置代码变化的最少个数。

8421BCD

码01111001L=3而01000101L=1

4、数据校验的实现原理:

数据校验码是在合法的数据编码之间,加进一些不允许出现的(非法的)编码,使合法的数据编码出现错误时成为非法编码。

这样就可以通过检测编码的合法性达到发现错误的目的。

3.7.1奇偶校验码

原理:

在k位数据码之外增加1位校验位,使k+1位码字中取值为1的位数保持为偶数(偶校验)或奇数(奇校验)。

定义:

设X=(X0X1…Xn-1)是一个n位字,则奇校验位C定义为

C=X0®X1Xn-1

式中①代表按位加,只有当X中包含有奇数个1时,C=0。

同理,偶校验位C定义为

C=X0®X1①…①Xn-1

即x中包含偶数个1时,才使C=0。

特点:

奇偶校验可提供单(奇数)个错误检测,但无法检测多(偶数)个错误,更无法识别错误信息的位置及纠正错误。

奇偶校验码常用于存储器读写检查,或ASCII字符传送过程中的检查。

3.7.2海明校验码

1.原理

海明校验码的实现原理是:

在数据位中加入几个校验位,将数据代码的码距均匀地拉大,并把数据的每个二进制位分配在几个奇偶校验组中。

当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出是哪一位出错,为进一步自动纠错提供了依据。

2.编码规则

若海明码的最高位号为m,最低位号为1,即HmHm-1…H2H1,则海明码的编码规则是:

(1)校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。

(2)海明码的每一位位码Hi(包括数据位和校验位)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。

3.增添校验位

假设欲检测的有效信息为k位,需增加的校验位为r位,则校验码的长度为k+r位。

校验位的状态组合,应当具有指出k+r位中任一位有错或无错的能力,即需要区别出k+叶1种状态。

应满足以下关系式:

2r>k+叶1

这个关系式称为海明不等式,若信息位长度k确定后,由此可得到校验位r的最短长度。

确定校验位后,就可以与信息位组成海明校验位。

假设数据位是7位二进制编码,据上所述,校验位的位数r为4,故海明码的总位数为11。

它们的排列关系可表示为:

海明码位号:

H11H10H9H8H7H6H5H4H3H2H1

海明码:

D7D6D5P4D4D3D2P3D1P2P1

可知:

每个校验位由其本身校验;每个数据位由若干校验位校验。

4.校验位校验任务的分配

根据海明码的编码规则,每一位海明码都有多个校验位校验,且被校验的每一位的位号

等于参与校验它的几个校验位的位号之和。

占据各权位上的校验位按权组成的8421码,正好等于海明码的位号,即海明码的位号Hi正好等于要校验它的校验位所占权位权值之和。

例如:

Hii=P4X23+P2X21+PiX20

这说明了H11位将由

P4、P2、P1进行校验。

校验位P1可以校验:

H1、出、H5、

H7、

H9、

H11、H13、H15

校验位P2可以校验:

H2、H3、H6、

H7、

H10、

H11、H14、H15

校验位P3可以校验:

H4、H5AH6A

H7、

H12、

H13、H14、H15

校验位P4可以校验:

H8、H9、H10、

H11、

H12、

H13、H14、H15

根据校验时偶校验,可以写出相应的校验方程。

5.检错与纠错

方法:

将错了的码字重新代入校验方程校验一次即可。

假设上面例子中的海明码

01100000100传送后,若H6位发生了错误,变成了01100100100,这时把它们代入上面的偶校验校验方程,如下:

H1二H3二H5二H7二H9二H11=0二1二0二0二1二0=0=E1

H2:

HH3:

.;!

H6:

.;!

H7:

HH10:

.;!

H11=0二1二1二0二1二0=1=E2

H4;.旧5:

.厂H6:

.;!

H7=0二0二1二0=1=E

H8二H9二H10二H11=0二1二1二0=0=E4

可以把E4E3E2E1=0110看成一个“错误字”,因为其二进制码为0110,说明H6出了错,是H6错成了1,所以要纠错,纠错时将H6位取反值,即让它恢复到正确值0。

这样纠错后即可得到正确的海明码01100000100=

3.7.3循环冗余校验码

CRC的编码方法

循环冗余校验码(CRC)的基本原理是:

在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。

对于一个给定的(N,K)码,可以证明存在一个最高次幕为N-K=R的多项式G(x)。

根据G(x)可以生成K位信息的校

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1