计算机组成原理教案_第1页
计算机组成原理教案_第2页
计算机组成原理教案_第3页
计算机组成原理教案_第4页
计算机组成原理教案_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

计算机科学学院

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

理为主,讲述计算机系统及其各功能部件的工作原理以及逻辑实现,计算

机系统及其各功能部件的设计原理以及并行处理技术。设置这一课程的目

的是使学生掌握计算机的基本工作原理,掌握计算机各主要部件的硬件结

构、相互联系和作用,掌握计算机系统的设计原理以及软硬件的界面,从

而对整个计算机系统有完整的了解,为计算机专业的后继课程的学习打下

基础。

一、本课程得主要内容

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,''Computerorganization

anddesign,thehardware/softwareinterface”,MorganKaufmann,

SecondEdition,1998

12、JohnL.HennessyandDavidA.Patterson,uComputerarchitecture:

aquantitativeapproachv,MorganKaufmann,SecondEdition,1996

13^PattersonandHennessy,“ComputerOrganization&Design:the

Hardware/SoftwareInterface(2ndedition)MorganKaufmann

Publishers.

五、教学手段: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(Computerized

tomography)

家电

人工智能

1.2计算机的硬件

1.2.1数字计算机的硬件组成

五大组成部分:运算器、控制器、存储器、输入/输出设备。

概念:存储单元、地址、存储容量、外存储器、内存储器、指令、程序、指令的组成、

存储程序、程序控制、指令系统、指令周期、执行周期、CPU、主机、数据字、指令字、

数据流、指令流、适配器。

冯•诺依曼体系结构:

(1)采用二进制形式表示数据和指令

数据和指令在代码的外形上并无区别.都是由0和1组成的代码序列,只是各自约

定的含义不同而已。采用二进制、使信息数字化容易实现,可以用二值逻辑工具进行处

理。程序信息本身也可以作为被处理的对象,进行加工处理,例如对照程序进行编译,

就是将源程序当作被加工处理的对象。

(2)采用存储程序方式

这是诺依曼思想的核心内容。如前所述,它意味着事先编制程序,事先将程序(包

含指令和数据)存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中

依次取出指令且执行。这是计算机能高速自动运行的基础。计算机的工作体现为执行程

序,计算机功能的扩展在很大程度上体现为所存储程序的扩展。计算机的许多具体工作

方式也是由此派生的。

诺依曼机的这种工作方式,可称为控制流(指令流)驱动方式。即按照指令的执行序列,

依次读取指令;根据指令所含的控制信息,调用数据进行处理。因此在执行程序的过程

中,始终以控制信息流为驱动工作的因素,而数据信息流则是被动地被调用处理。为了

控制指令序列的执行顺序,我们设置一个程序(指令)计数器PC(ProgramCounter),让它

存放当前指令所在的存储单元的地址。如果程序现在是顺序执行的,每取出一条指令后

PC内容加1,指示下一条指令该从何处取得。如果程序将转移到某处,就将转移后的地

址送入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)原码:比较自然的表示法,最高位表示符号,。为正,1为负。优点:简单易懂。

缺点:加减法运算复杂。

2)补码:加减法运算方便,减法可以转换为加法。

定点小数的补码,公式

定点整数的补码,公式

3)反码:为计算补码方便而引入

计算公式,小数公式,整数公式

由反码求补码:符号位置1,各位取反,末位加1。

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

定义。即将数值向X轴正方向平移2n

3.1.2十进制数的编码与运算

十进制加法/减法器

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

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

加、减法公式

3.2.2加减法运算的溢出处理

溢出概念:上溢、下溢

检测方法:双符号位、单符号位

3.2.3定点数和浮点数

定点数表示法

浮点数表示法

基本的二进制加法/减法器

进位处理方式:串行进位(行波进位)、并行进位

二进制加法/减法器,

3.3二进制乘法运算

3.3.1定点数一位乘法

二进制乘法公式:公式

人工乘法过程与二进制乘法

乘法器分类:串行、并行。由于串行乘法速度太慢,已被淘汰。

不带符号的阵列乘法器

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

带符号的阵列乘法器原理:

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

取补器电路图,

方法:从右向左找到第一个“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=l。若用4位二进制

数表示8种状态,而把另外8种状态作为非法编码,此时的码距L=2。

3、最小码距:指一种编码的任意两个码字中间,对应位置代码变化的最少个数。8421BCD

码011191001L=3rfff0100^0101L=1

4、数据校验的实现原理:数据校验码是在合法的数据编码之间,加进一些不允许出现

的(非法的)编码,使合法的数据编码出现错误时成为非法编码。这样就可以通过检测编

码的合法性达到发现错误的目的。

3.7.1奇偶校验码

原理:在k位数据码之外增加1位校验位,使k+1位码字中取值为1的位数保持为

偶数(偶校验)或奇数(奇校验)。

定义:

设X=(X()X1…)是一个n位字,则奇校验位。定义为

C=枇㊉尤1㊉…㊉招-1

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

同理,偶校验位。定义为

C=x()®Xi©...ffixn-i

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

特点:

奇偶校验可提供单(奇数)个错误检测,

但无法检测多(偶数)个错误,

更无法识别错误信息的位置及纠正错误。

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

3.7.2海明校验码

1.原理

海明校验码的实现原理是:在数据位中加入几个校验位,将数据代码的码距均匀地拉大,

并把数据的每个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的

几个校验位的值发生变化,这不但可以发现错误,还能指出是哪一位出错,为进一步自

动纠错提供了依据。

2.编码规则

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

则是:

(1)校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号2M的位置上,

其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。

(2)海明码的每一位位码Hi(包括数据位和校验位)由多个校验位校验,其关系是被

校验的每一位位号要等于校验它的各校验位的位号之和。

3.增添校验位

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

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

种状态。应满足以下关系式:

2r^k+r+1

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

确定校验位后,就可以与信息位组成海明校验位。假设数据位是7位二进制编码,据上

所述,校验位的位数r为4,故海明码的总位数为11。它们的排列关系可表示为:

海明码位号:H11Hu,H9H8H7H6H5H4H3H2Hl

海明码:D7D6D5P4D4D3D2P3D1P2P1

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

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

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

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

占据各权位上的校验位按权组成的8421码,正好等于海明码的位号,即海明码的位号

H正好等于要校验它的校验位所占权位权值之和。

310

例如:H||=P4X2+P2X2+P|X2

这说明了H”位将由P4、P?、Pi进行校验。

校验位Pi可以校验:Hi、H3、H5、H7、H9、H”、H13、H|5

校验位P2可以校验:H2、H3、H6>H7、H10>Hu、H14、H15

校验位P3可以校验:Hj、H5、H6>H7、H12、H|3>H14、H15

校验位P4可以校验:H8、H9、H10、Hu、H12>H13、H14、H15

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

5.检错与纠错

方法:将错了的码字重新代入校验方程校验一次即可。假设上面例子中的海明码

01100000100传送后,若H6位发生了错误,变成了01100100100,这时把它们代入上面

的偶校验校验方程,如下:

Hi㊉H3㊉Hs㊉+㊉H9㊉H“=0㊉1㊉0㊉0㊉1㊉0=0=E,

氏㊉氏㊉1㊉氏㊉Hio㊉印1=0卸。1。0a⑼0=1=E2

H4㊉H5㊉H6㊉H7=0㊉0㊉1㊉0=1=E3

H8㊉H9㊉H|o㊉HIl=O㊉l㊉l㊉O=O=E4

可以把E4E3E2E1=0110看成一个‘'错误字",因为其二进制码为0110,说明H6出了错,

是H6错成了1,所以要纠错,纠错时将H6位取反值,即让它恢复到正确值0。这样纠

错后即可得到正确的海明码OllOOOOOlOOo

3.7.3循环冗余校验码

CRC的编码方法

循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个

编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可

以证明存在一个最高次幕为N-K=R的多项式G(x)o根据G(x)可以生成K位信息的校验

码,而G(x)叫做这个CRC码的生成多项式。

校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,

则可表示成C(x)*2\这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(X)*2R

除以生成多项式G(x)得到的余数就是校验码。

几个基本概念

1、多项式与二进制数码

多项式包括生成多项式G(x)和信息多项式C(x)o

如生成多项式为G(X)=X4+X3+X+1,可转换为二进制数码11011»

而发送信息位1111,可转换为数据多项式为C(x>x3+x2+x+l。

2.模2运算:不考虑借位和进位

(1)模2加减:可用异或门实现,即:

0+0=0;0+1=1;1+0=1;1+1=0;

0-0=0;0-1=1;1_0=1;1-1=0;

(2)模2乘法:用模2加求部分积之和

(3)模2除法:按模2减求部分余数,每上一位商,部分余数要减少一位,上商规则

是:只要余数最高位为1,则商1,否则为0。当部分余数的位数小于除数时,该余数为

最后余数。

CRC码的生成

多项式除法

1、将码多项式C(x)乘以X'

2、用G(x)除C(x)*x,得余式R(x)

3、C(x)*x'+R(x)及编码后的多项式

例:G(x)=x"+x3+x+l,C(x)=x3+x2+x+l,R=4

C(x)*x4/G(x)=x2+l

校验码:0101

完整编码:11110101

1、将x的最高基次为R的生成多项式G(x)转换成对应的R+1位二进制数。

2、将信息码左移R位,相当与对应的信息多项式C(X)*2R

3、用生成多项式(二进制数)对信息码做模2除,得到R位的余数。

4、将余数拼到信息码左移后空出的位置,得到完整的CRC码。

CRC的译码及纠错

CRC码传送到目标部件,用约定的多项式G(x)对收到的CRC码进行“模2除”,若余数

为0,则表明该CRC校验码正确;否则表明有错,不同的出错位,其余数是不同的。由

余数具体指出是哪一位出了错,然后加以纠正。

不同的出错位,其余数也是不同的。

可以证明:更换不同的有效信息位,余数与出错位的对应关系不会发生变化,只与码制

和生成多项式G(X)有关。

关于生成多项式

不是任何一个(k+1)位多项式都能作为生成多项式,从检错、纠错的要求来看,生成多

项式应满足下列要求:

(1)任何一位发生错误,都应使余数不为零;

⑵不同位发生错误,都应使余数不同;

(3)用余数补零,继续作“模2除”,应使余数循环。

常用的CRC生成多项式:

CRC-1212位x12+xn+x3+x2+l

16

CRC-1616位X"x2+l(IBM)

16l25

CRC-1616位X•,+x+x+l(CCITT)

X32!-262316n1087542

CRC-3232位+x+X+x+x+x+x+x+X+x+x+x+l

CRC产生电路

CRC校验码不仅检错率高,而且硬件实现简单,因而到底广泛应用。

作业:3.13.23.33.43.53.63.73.83.123.143.153.163.173.183.223.27

第四章主存储器

主要内容:

1、存储器概述

外部特性,性能参数,层次结构

2、静态存储器和动态存储器存储单元构成

一位存储单元及存储阵列,多端口SRAM,读写时序

3、半导体ROM存储器

MROM,PROM,EPROM,EEPROM,FLASH

4、存储器芯片构成以及存储器主要技术指标

5、存储器扩展技术

位、字、字位扩展

基本要求:

通过本章的学习,要求掌握存储器芯片的类型和各主要存储器芯片的工作原理;掌

握扩展存储器容量的技术,能够用给定的存储器芯片按要求设计主存,从而深刻理解存

储器的构成原理;掌握数据校验码。

教学重点:

外部特性,性能参数,存储器芯片构成以及存储器主要技术指标

存储器扩展技术;技术指标,位、字、字位扩展

4.1存储器概述

4.2随机读写存储器

4.3只读存储器和闪速存储器

4.4高速存储器

4.5Cache存储器

4.1主存储器概述

存储器是计算机系统中的记忆设备,用来存放程序和数据。

概念:存储位(存储元)、存储单元、存储器。

存储器分类方式:

按存储介质分

按存取方式分

按存储器的读写功能分

按信息的可保存性分

按在计算机系统中的作用分

3.1.2存储器的分级结构

理想的存储器应该是容量大、速度高、成本低,但现实中没有这样的存储器,因此就要

使用分级存储体系。

三个层次:(寄存器)-Cache-主存一辅存,按照这个顺序速度递减,容量大,成本

低。

主存储器的技术指标

存储器编址方式:按字编址、按字节编址。

在一个存储器中可以容纳的存储单元总数通常称为该存储器的存储容量。

存取时间又称存储器访问时间,是指从启动一次存储器操作到完成该操作所经历的时

间。

存储周期是指连续启动两次独立的存储器操作(如连续两次读操作)所需间隔的最小时

间。通常,存储周期略大于存取时间。

存储器带宽是单位时间里存储器所存取的信息量,单位为位/秒或字节/秒。

4.2读写存储器

常用的RAM按半导体材料分有双极型(TTL)半导体存储器和金属氧化物(MOS)半导体

存储器两种。

根据存储信息机构的原理不同,又分为静态MOS存储器(SRAM)和动态MOS存储器(DRAM)。

半导体存储器的主要优点是存取速度快,存储体积小,可靠性高,价格低廉;

主要缺点是断电时读写存储器不能保存信息.

1SRAM存储器

存储元的结构图。三种操作:保持、读出、写入。

SRAM存储器的组成,包括存储体、地址译码器、驱动器、I/O电路、片选与读/写控制

电路、输出驱动电路。

SRAM与CPU的连接:位扩展法、字扩展法。要求掌握。

SRAM的读写周期,,注意,地址、数据以及控制信号的先后顺序。

2DRAM存储器

SRAM的外围电路简单,速度快,但其使用的器件多,集成度不高。DRAM则可大幅度提

高集成度。

四管DRAM和单管DRAM的结构

DRAM的操作:读、写、刷新。

DRAM的实例

DRAM的刷新方式:集中式、分散式、异步式。

DRAM的控制电路,主要包括刷新计数器、刷新/访存裁决、刷新控制逻辑等。

DRAM控制器的组成:地址多路开关、刷新定时器、刷新地址计数器、仲裁电路、定时发

生器。

4.3非易失性半导体存储器

1只读存储器

ROM的工作方式:给定一个地址码,得到事先存入的确定数据。

ROM的优点:具有不易失性,即是电源被切断,ROM的信息也不会丢失。而使用SRAM进

行存储,需要有电池等设备。

ROM的分类:

掩模式只读存储器:优点:可靠性高,集成度高,价格便宜。缺点:不能重写。

一次编程只读存储器:分为PN结击穿型和熔丝烧断型两种。

第一种写入原理属于结破坏型,即在行列线交点处制作一对彼此反向的二级管,它们由

于反向而不能导通,称为0。若该位需要写入1,则在相应行列线之间加较高电压,将

反偏的一只二极管永久性击穿,留下正向可导通的一只二极管,称为写入1。显然这是

不可逆转的。

更常用的一种写入原理属于熔丝型,制造时在行列交点处连接一段熔丝,即易熔材料称

为存入0。若该位需写入1,则让它通过较大电流,使熔丝熔断。显然这也是不可逆转

的。

多次编程只读存储器:分为EPROM、EEPROM、FLASHROM

例3为一计算机存储器的典型配置,包括ROM和RAM,要求掌握其逻辑结构图的画法。

闪速存储器

闪速存储器的存储元电路是在CMOS单晶体管EPROM存储元基础上制造的,因此它具有

非易失性。不同的是,EPROM通过紫外光照射进行擦除,而闪速存储器则是在EPROM沟

道氧化物处理工艺中特别实施了电擦除和编程次数能力的设计。

闪速存储器的性能:

闪速存储器的特点:

固有的非易失性

廉价的高密度

可直接执行

固态性能

闪速存储器的逻辑结构,包含一个指令寄存器,用于擦除和重写。

闪速存储器工作模式

闪速存储器与CPU的连接较为简单。

4.4存储器的组成与控制

存储器是计算机系统中必不可少的组成部分,用来存放计算机系统工作时所用的

信息程序和数据。

一般由存储矩阵、地址选择电路、输入输出电路和控制电路组成。

半导体存储器的特点是:

□速度快、存取时间可为ns级;

□集成化,不仅存储单元所占的空间小,而且译码电路和缓冲寄存器以及存

储单元都制作在同一芯片中,体积特别小;

□非破坏性读出,特别是半导体静态存储器,不仅读操作不破坏原来的信息,

而且不需要再生,这样既缩短了读写周期,又简化了控制操作。

存储矩阵

一个存储器由许多存储单元组成,每个存储单元存放1位二进制数据。通常存储单元排

列成矩阵形式。

存储器以字为单位组织内部结构,1个字含有若干个存储单元。1个字中所含的位数称

为字长。实际应用中,常以字数和字长的乘积来表示存储器的容量,存储器的容量越大,

意味着存储器存储的数据越多。

例如容量为256X4(256个字,每字4位)的存储器,有1024个存储单元,这些单元

可以排列成32X32列的矩阵形式

地址译码

通常RAM以字为单位进行数据的读出与写入(每次写入或读出一个字)。为区别各个不

同的字,将存放同一个字的存储单元编为一组,并赋予一个号码,称为地址。

不同的字单元有不同的地址,从而在进行读写操作时,可以按照地址选择要访问的单元。

字单元也称为地址单元。

地址译码电路实现地址的选择。在大容量的存储器中,通常采用双译码结构。即将输入

地址分为行地址和列地址两部分,分别由行、列地址译码电路译码。

行、列地址译码电路的输出作为存储矩阵的行、列地址选择线,由它们共同确定欲选择

的地址单元。地址单元的个数N与二进制地址码的位数n满足关系式W=2"。(如图)

列地址评科*

输入/输出控制电路

在系统中为了便于控制,电路不仅有读/写控制信号必肌还有片选控制信号6当片

选信号有效时,芯片被选中,可以进行读/写操作,否则芯片不工作。片选信号仅解决

芯片是否工作的问题,而芯片的读、写操作则由读/写控制信号矽历决定。

存储器的容量扩展

当使用一片ROM/RAM芯片不能满足存储容量的需要时,可以将若干个ROM/RAM组合到一

起,接成更大存储容量的存储器,称为存储器的扩展。

容量计算:

1MB=1024X1024B;1KB=1O24B;lB=8bit;

存储器的容量一般表示为:字数X字长

例如:512x4表示存储器的字长为4,可以存储4位的0,1信

息;一共有512个存储单位(半个字节)。

512x8表示存储器的字长为一个字节,可以存储8位的

信息;一共有512个字节

字/g存储器的地址线相关:设地址总线的根数n,存

储器的字数为N则2"=N

字长与存储器的数据线相等

扩展方式

位扩展

若单片ROM/RAM的字数满足系统内存总的字数要求,而每个字的字长或位数不够用时,

则采用位扩展方式。

位扩展后的存储器字数没改变而位数增加,存储器容量相应增加。

例如:用1K1位的RAM扩展成1KX8位的存储器。

用8片IKXI位芯片经位扩展后组成的1KX8位存储器

字扩展

若每一片ROM/RAM的数据位数够,而字数不能满足系统内存总的字数要求,则采用字扩

展方式。

字扩展后的存储器数据位数或字长没有变,而字数增加,存储器容量相应增加。

例如:用256X8位RAM扩展成1024X8位RAM

用4片256X8位RAM经字扩展后组成的1KX8位存储器

字位扩展方式

当单片ROM/RAM的字数和位数都不够时,就要采用字位扩展方式。

存储控制

在存储器中,一般都要增设附加电路,包括地址多路转换线路、地址选通、刷新逻辑、

以及读/写控制逻辑等。

大容量的存储芯片将地址码分为两次送到存储器,因此芯片地址线引出端减少到地址码

的一半,从而减少了芯片地址线引出端的数目。

动态存储器采用电容电荷存储信息,在没有电源供电时,电容电荷会泄放,因此需要定

期向电容补充电荷,以保持信息不变。

从上次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这段时间间隔

称为再生周期,又叫刷新周期,一般为2ms

通常有两种刷新方式

中屈lj

是指在一个刷新周期内,利用一段固定的时间,依次对存储器的所有行逐一再生一遍。

缺点是在这段时间中,集中刷新必须停止读写操作,因此也称这段时间是死时间,存储

容量越大,死时间就越长。通常应用在高速存储器上。

例如设存储器为1024x1024矩阵,读写(工作)周期tc=200ns,刷新周期为2ms,这

样在每个刷新周期里共有10000个工作周期,其中前段时间进行读或写或保持状态(不

读也不写),后一段集中进行刷新。用于刷新的时间只要1024个tc,前段的8976tc

都用来读写或保持。

读、写、保持刷新

纪|tc।J|||

018975011023.

2ms

分布式刷新

分布式刷新方式是把一个存储系统周期分成两个时间片,前半段进行读写操作,后半段

作为刷新时间。特点是不存在停止读写的死时间,但系统运行速度降低。

这种方式,在2ms内进行了5000次刷新。

读写刷新读写刷新

「|忙।1

一ts-

存储校验线路

从主存中读到的代码是否有错误,对计算机能否正常工作起着至关重要的作用。

信息代码写入主存时,按一定规则附加若干位,作为校验位。在读出时根据校验位与信

息位的对应关系,对读出的代码进行校验。

现在使用的多是奇偶校验电路确定是否出现差错,而使用海明码校验线路则可纠正一位

错。

4.5多模块交叉存储器

多模块存储器的两种编址方式:顺序方式和交叉方式

顺序方式的可靠性高,可扩展性好,但其是串行工作,存储器的带宽受限制。

交叉方式的存储器可以实现多模块流水式并行存取,大大提高存储器的带宽。由于CPU

的速度比存储器快,假如我们能同时从存储器取出M条指令,这必然会提高机器的运行

速度。多体交叉存储器就是基于这种思想提出来的。

存储器地址交叉的方式:采用模除的方法,即二进制地址的低位表示该单元所在的模块。

多模块交叉存储器存取时间的定量分析:公式,公式。

在二模块交叉存储器实例中,主存储器按字节编址,而不是按字编址。

注意四个字节允许信号。

作业:4.54.74.12

第五章指令系统

主要内容:1、指令系统概述

2、指令构成与指令编码

操作码、地址码

定长指令和不定长指令格式,定长操作码,操作码扩展技术

3、操作数存储及寻址方式

操作数类型,边界对齐,大数端、小数端,常见的寻址方式以及实例

4、指令系统

指令类型,五类基本指令,RISC技术

基本要求:

通过本章的学习,要求掌握指令中包含的各种信息,数据在存储器中的存放,了解

常用指令以及指令格式,深入理解常用的寻址方法以及用途。了解常用指令的种类和功

能。了解CISC和RISC系统的概念和特征。

教学重点:1、指令构成与指令编码

2、操作数存储及寻址方式

教学难点:寻址方式

5.1指令系统的发展

5.2指令格式

5.3寻址方式

5.4指令类型

5.5RISC和CISC

5.6指令系统举例

作业:5.25.35.95.11

5.1指令系统的发展

计算机的程序是由一系列的机器指令组成的。

指令就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令

有微指令、机器指令和宏指令之分:

微指令是微程序级的命令,它属于硬件;

宏指令是由苦干条机器指令组成的软件指令,它属于软件;

机器指令则介于微指令与宏指令之间,通常简称为指令。每一条指令可完

成一个独立的算术运算或逻辑运算操作。本章所讨论的指令,是机器指令。

一台计算机中所有机器指令的集合,称为这台计算机的指令系统。指令系统是表征一台

计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接

影响到系统软件,影响到机器的适用范围。

系列计算机,是指基本指令系统相同、基本体系结构相同的一系列计算机。其必要条件

是同一系列的各机种有共同的指令集.而且新推出的机种指令系统一定包含所有旧机种

的全部指令,即实现一个“向上兼容”。因此旧机种上运行的各种软件可以不加任何修

改便可在新机种上运行,大大减少了软件开发费用。系列机解决了各机种的软件兼容问

复杂指令系统计算机(CISC)和精简指令系统计算机(RISC)的概念。

对指令系统性能的要求

一个完善的指令系统应满足如下四方面的要求:

1)完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而

不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。

2)有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在

程序占据存储空间小、执行速度快。

3)规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。

对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可

使用各种寻址方式;

匀齐性是指:一种操作性质的指令可以支持各种数据类型;

指令格式和数据格式的一致性是指:指令长度和数据长度有一定的关系,以方便处理和

存取。

4)兼容性:至少要能做到“向上兼容”,即低档机上运行的软件可以在高档机上运

行。

低级语言与硬件结构的关系

计算机语言有高级语言和低级语言之分。高级语言语句和用法与具体机器的指令系统无

关。低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面

向机器的语言,它们和具体机器的指令系统密切相关。高级语言和低级语言的异同。

5.2指令格式

表示一条指令的机器字,就称为指令宇,通常简称指令。

指令格式,则是指令字用二进制代码表示的结构形式。一条指令的结构可用如下形式来

表示:

操作码字段地址码字段

5.2.1操作码

指令的操作码表示该指令应进行什么性质的操作。组成操作码字段的位数一般取决于计

算机指令系统的规模。

4.2.2地址码

根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。目前

二地址和一地址指令格式用的得最多。

零地址指令的指令子中只有操作码,而没有地址码。

一地址指令常称单操作数指令。

(AC)OP(A)fAC

二地址指令常称双操作数指令,它有两个地址码字段A1和A2,分别指明

参与操作的两个数在内存中或运算器通用寄存器的地址,其中地址A1兼做存放操作结

果的地址。

(Al)OP(A2)—Al

三地址指令字中有三个操作数地址Al,A2和A3o

(Al)OP(A2)-A3

从操作数的物理位置来说,又可归结为三种类型:

访问内存的指令格式,我们称这类指令为存储器一存储器(SS)型指令;

访问寄存器的指令格式,我们称这类指令为寄存器一寄存器(RR)型指令;

第三种类型为寄存器一存储器(RS)型指令。

5.2.2指令操作码的扩展技术

指令操作码的位数限制指令系统中完成操作的指令条数。

固定格式操作码

操作码长度固定,一般集中于指令字的前一个字段中。若操作码长度为K为,则它最多

只能有2K条不同指令。在字长较长的大中型以及超级小型机上广泛使用。

优点:有利于简化硬件设计,减少译码时间

可变格式操作码

通常在指令字中用一个固定长度的字段来表示基本的操作码,而对于一部分少地址指令

则把它们的操作码扩充到该指令的地址字段,即操作码长度可以改变。

这种方法在不增加指令字长度的情况下可表示更多的指令,但增加了译码和分析难度,

需更多硬件支持。微机中常使用此方式。

可变格式操作码的指令示例

假设某机器的指令长度为16位,包括4位基本操作码和三个4位地址码段。

15........1211.......87.......43.......0

0PA1A2A3

4位基本操作码可表示16个状态,因此如用4位操作码则能表示16条三地址指令,而

用8位操作码则可表示256条二地址指令。而用12位操作码则可表示4096条一地址指

令。

同样情况下,如果需要三地址、二地址、一地址指令各15条、零地址指令16条,则一

样能够采用可变格式操作码实现。

例如可以这样规定:

15条三地址指令的操作码为:0000~1110

15条二地址指令的操作码为:前4位1111,

即11110000-11111110

15条一地址指令的操作码为:前8位均为1,

即111111110000~111111111110

16条零地址指令的操作码为:前12位均为1,

即11111111111100007111111111111111

其中1111、11111111和111111111111作为扩展操作码标志。

再如:同样情况下用可变格式操作码分别形成三地址指令、二地址指令、一地址指令和

零地址指令15、14、31、16条。按要求得到结果之一如下

15条三地址为:

0000-1110

14条二地址为:

11110000-11111101

31条一地址为:

111111100000~111111111110

16条零地址为:

1111111111110000-1111111111111111

其中1111、11111110>11111111^0111111111111是扩展操作码标志

可变长度的指令系统的设计中,扩展方法遵循一个重要的原则,就是使用频度高的指

令应分配短的操作码;使用频度低得指令分配较长的操作码。

4.2.3指令长度与数据字长的关系

一个指令字中包含二进制代码的位数,称为指令字长度。

机器字长是指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。

指令字长度等于机器字长度的指令,称为单字长指令;指令字长度等于半个机器字长度

的指令,称为半字长指令;指令字长度等于两个机器字长度的指令,称为双字长指令。

使用多字长指令的目的,在于提供足够的地址位来解决访问内存任何单元的寻址问题,

但是主要缺点是必须两次或多次访问内存以取出整条指令,这就降低了CPU的运算速

度,同时又占用了更多的存储空间。

在一个指令系统中,如果各种指令字长度是相等的,称为等长指令字结构,这种指令字

结构简单,且指令字长度是不变的。如果各种指令字长度随指令功能而异,就称为变长

指令字结构。这种指令字结构灵活,能充分利用指令长度,但指令的控制较复杂。

数据表示

■计算机中基本数据有逻辑数、定点数、无符号数、浮点数、字符数及数组等。

■目前微机所用的数据(字)长度一般为32位,4个字节。内存地址按字节编址。

■计算机指令系统可支持对字节、半字、字、双字的运算,有的还支持位操作。

■为便于硬件的实现,一般要求多字节数据采用对准数据边界的方式储存。不合要

求则填充空白字节(无操作)代替。

对准边界格式存储数据:

存储器地址

字(地址。)

字(地址4)

半字(地址10)半字(地处8)

字节(地址15)字节(地址14)半字(地址12)

字节(地址19)字节(地址18〉字节(地址17〉字节(地址16)

半字(地址22)字节(地址21〉字节(地址20)

在数据对准边界存储的计算机中,对于以二进制表示的存储地址来说,半字地址的最低

位、字地址的最低两位和双字地址的最低三位恒为零。这种方式的整个字的存储时间要

短,需要1个存储周期。

5.3寻址方式

当采用地址指定方式时,形成操作数或指令地址的方式,称为寻址方式。寻址方式分为

两类,即指令寻址方式和数据寻址方式。

4.3.1指令的寻址方式

指令寻址的基本方式有两种,一种是顺序寻址方式,另一种是跳跃寻址方式。

顺序寻址方式:指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接

一条指令的顺序执行。为此,必须使用程序计数器(又称指令指针寄存器)PC来计数

指令的顺序号,该顺序号就是指令在内存中的地址。

跳跃寻址方式

当程序中出现分支或循环时,就会改变程序的执行顺序。此时,对指令寻址就要采取跳

跃寻址方式。所谓跳跃,就是指下条指令的地址不是通过程序计数器PC加1获得的,

而是由指令本身给出。指令系统中的无条件转移指令和各种条件转移指令,就是为跳跃

寻址方式而设置的。指令跳跃寻址的过程如图所示。

PC程序PC程序

100—指令1100101―1指令1

1指令21011—指令2

1

+1指令3102+指令3

顺序寻址方式

操作数寻址方式

所谓操作数的寻址方式,就是形成操作数的有效地址的方法。

在很多情况下,形式地址(偏移量)并不是有效地址。

典型的寻址方式有:

隐含寻址:这种类型的指令,不是明显地给出操作数的地址,而是在指令

中隐含着操作数的地址。

立即寻址:指令的地址字段指出的不是操作数的地址,而是操作数本身,

这种寻址方式称为立即寻址。

直接寻址:是一种基本的寻址方法,其特点是:在指令格式的地址字段中

直接指出操作数在内存的地址D。

间接寻址:是相对于直接寻址而言的,在间接寻址的情况下,指令地址字

段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,或者说D单元

的内容才是操作数的有效地址。

寄存器寻址方式和寄存器间接寻址方式:当操作数不放在内存中,而是放

在CPU的通用寄存器中时,可采用寄存器寻址方式。寄存器寻址方式和寄存器间接寻

址方式的区别在于:指令中的寄存器内容不是操作数,而是操作数的地址,该地址指明

的操作数在内存中。

相对寻址:是把程序计数器PC的内容加上指令格式中的形式地址D而形

成操作数的有效地址。

基址寻址方式:将CPU中基址寄存器的内容加上指令格式中的形式地址而

形成操作数的有效地址。

变址寻址方式:把CPU中某个变值寄存器的内容与偏移量D相加来形成操

作数的有效地址。

块寻址方式:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论