计算机组成原理教案

更新时间:2023-07-17 07:57:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机组成原理教案

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

计算机科学系

计算机组成原理教案

本课程是计算机专业本科生的核心课程,是主干必修课。课程以阐述原理为主,讲述计算机系统及其各功能部件的工作原理以及逻辑实现,计算机系统及其各功能部件的设计原理以及并行处理技术。设置这一课程的目的是使学生掌握计算机的基本工作原理,掌握计算机各主要部件的硬件结构、相互联系和作用,掌握计算机系统的设计原理以及软硬件的界面,从而对整个计算机系统有完整的了解,为计算机专业的后继课程的学习打下基础。

一、 本课程得主要内容

1、 计算机系统概论

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

3、 信息编码和数据表示

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

5、存储器

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

7、处理机设计

8、流水线处理机

9、存储系统

10、输入输出设备

11、输入输出系统

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

重点:信息编码和数据表示

控制器

存储系统

输入输出系统

计算机组成原理教案

三、教材选用

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

四、参考教材:

主要参考书:

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

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

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

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

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

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

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

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

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

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

11、 John L. Hennessy and David A. Patterson, "Computer organization and design, the hardware/software interface", Morgan Kaufmann, Second Edition, 1998

12、 John L. Hennessy and David A. Patterson, “Computer architecture: a quantitative approach”, Morgan Kaufmann, Second Edition, 1996

13、Patterson and Hennessy, "Computer Organization & Design: the Hardware/Software Interface (2nd edition)",Morgan Kaufmann Publishers.

五、教学手段:投影片+版书

六、课程内容和学时分配

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

第一章 计算机系统概论

教学内容:

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

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

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

计算机组成原理教案

4、计算机的性能评价

5、计算机发展简史

6、计算机的应用

基本要求:

通过本章的学习,要求了解整个计算机系统由硬件和软件两部分构成,其中硬件部分包括运算器、控制器、存储器、输入输出设备等五大功能部件构成。通过总线相互连成一个完整的硬件系统;软件部分包括系统软件、应用软件两大部分。通过对计算机层次结构的了解,明确计算机组成原理课程的任务和目的。了解计算机中的一些基本概念,包括性能指标、计算机发展简史以及计算机的应用。

教学重点:

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

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

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

教学难点:计算机系统的层次结构、系统结构、组成及其实现的关系。明确计算机组成原理课程的任务和目的。

其它:

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

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

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

1.1 计算机的分类和应用

1.2 计算机的硬件

1.3 计算机的软件

1.4 计算机系统的层次结构

作业:

1.1 计算机的分类和应用

1.1.1 计算机的分类

计算机分类:

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

数字:处理离散的量

数字计算机分类:

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

通用计算机:GPP

计算机组成原理教案

通用机分类:

巨型机(Super-Computer)、大型机(Mainframe)、中型机(Medium-size Computer)、小型机(minicomputer)、微型机(microcomputer)、单片机(Single-Chip Computer)

1.1.2 计算机的应用

科学计算

传统方式:工作量大、人工处理慢

自动控制:数控机床、流水线控制

测量和测试:提高精度、在恶劣条件下的测量

信息处理:

教育、卫生:计算机辅助教学(CAI)、多媒体教室、CT(Computerized tomography)

家电

人工智能

1.2 计算机的硬件

1.2.1 数字计算机的硬件组成

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

概念:存储单元、地址、存储容量、外存储器、内存储器、指令、程序、指令的组成、存储程序、程序控制、指令系统、指令周期、执行周期、CPU、主机、数据字、指令字、数据流、指令流、适配器。

冯 诺依曼体系结构:

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

数据和指令在代码的外形上并无区别.都是由0和1组成的代码序列,只是各自约定的含义不同而已。采用二进制、使信息数字化容易实现,可以用二值逻辑工具进行处理。程序信息本身也可以作为被处理的对象,进行加工处理,例如对照程序进行编译,就是将源程序当作被加工处理的对象。

(2) 采用存储程序方式

这是诺依曼思想的核心内容。如前所述,它意味着事先编制程序,事先将程序(包含指令和数据)存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中依次取出指令且执行。这是计算机能高速自动运行的基础。计算机的工作体现为执行程序,计算机功能的扩展在很大程度上体现为所存储程序的扩展。计算机的许多具体工作方式也是由此派生的。

诺依曼机的这种工作方式,可称为控制流(指令流)驱动方式。即按照指令的执行序列,依次读取指令;根据指令所含的控制信息,调用数据进行处理。因此在执行程序的过程中,始终以控制信息流为驱动工作的因素,而数据信息流则是被动地被调用处理。为了控制指令序列的执行顺序,我们设置一个程序(指令)计数器PC(Program Counter),让它存放当前指令所在的存储单元的地址。如果程序现在是顺序执行的,每取出一条指令后PC内容加l,指示下一条指令该从何处取得。如果程序将转移到某处,就将转移后的地址送入PC,以便按新地址读取后继指令。所以,PC就像一个指针,一直指示着程序的执行进程,也就是指示控制流的形成。虽然程序与数据都采用二进制代码,仍可按照PC的内容作为地址读取指令,再按照指令给出的操作数地址去读取数据。由于多数情

计算机组成原理教案

况下程序是顺序执行的,所以大多数指令需要依次地紧挨着存放,除了个别即将使用的数据可以紧挨着指令存放外、一般将指令和数据分别存放在该程序区户的不同区域。

(3) 由运算器、存储器、控制器、输入装置和输出装置等五大部件组成计算机系统,并规定了这五部分的基本功能。

上述这些概念奠定了现代计算机的基本结构思想,并开创了程序设计的新时代。到目前为止,绝大多数计算机仍沿用这一体制,称为诺依曼机体制。学习计算机工作原理也就从诺依曼概念入门。

传统的诺依曼机从本质上讲是采取串行顺序处理的工作机制,即使有关数据巳经准备好,也必须逐条执行指令序列;而提高计算机性能的根本方向之一是并行处理:因此,近年来人们在谋求突破传统诺依曼体制的束缚,这种努力被称为非诺依曼化。对所谓非诺依曼化的探讨仍在争议中,一般认为它表现在以下三个方面的努力。

在诺依曼体制范畴内,对传统诺依曼机进行改造,如采用多个处理部件形成流水处理,依靠时间上的重叠提高处理效率;又如组成阵列机结构,形成单指令流多数据流,提高处理速度。这些方向已比较成熟,成为标准结构。

用多个诺依曼机组成多机系统,支持并行算法结构。这方面的研究目前比较活跃。

从根本上改变诺依曼机的控制流驱动方式。例如,采用数据流驱动工作方式的数据流计算机,只要数据已经准备好,有关的指令就可并行池执行。这是真正非诺依曼化的计算机,它为并行处理开辟了新的前景,但由于控制的复杂性,仍处于实验探索之中。

1.2.2 计算机系统结构的过去和未来

发展:电子管→晶体管→集成电路→大规模、超大规模集成电路

趋势:

由于计算机网络和分布式计算机系统能为信息处理提供廉价的服务,因此计算机系统的进一步发展,“三网合一”,将进入以通信为中心的体系结构。

计算机智能化将进一步发展,各种知识库及人工智能技术将进一步普及,人们将用自然语言和机器对话。计算机从数值计算为主过渡到知识推理为主,从而使计算机进入知识处理阶段。

随着大规模集成电路的发展,不仅用多处理机技术来实现大型机系统功能,而且会出现计算机的动态结构,即所谓模块化计算机系统结构。

多媒体技术将有重大突破和发展,并在微处理机、计算机网络与通信等方面引起一次巨大变革。

1.3 计算机的软件

计算机硬件是载体,软件是灵魂。

1.3.1 软件的组成与分类

分类:系统程序、应用程序

1.3.2 软件的发展演变

手编程序(目的程序)→汇编程序→算法语言(高级语言)

高级语言与机器语言的转换:编译系统、解释系统

操作系统、数据库

计算机组成原理教案

1.4 计算机系统的层次结构

1.4.1 多级组成的计算机系统

图1.6五个级别:第一级微程序设计级、第二级是一般机器级、第三级是操作系统级、第四级是汇编语言级、第五级是高级语言级。

1.4.2 软件与硬件的逻辑等价性

补充:计算机的性能指标

基本字长

基本字长是指参与运算的数的基本位数,它标志着计算精度。位数越多,精度越高,但硬件成本也越高,因为它决定着寄存器、运算部件、数据总线等的位数。

主存容量

主存储器是CPU可以直接访问的存储器,需要执行的程序与需要处理的数据就放在主存之中。主存容量大则可以运行比较复杂的程序,并可存入大量信息,可利用更完善的软件支撑环境。所以,计算机处理能力的大小在很大程度上取决于主存容量的大小。 外存容量

外存容量一般是指计算机系统中联机运行的外存储器容量。由于操作系统、编译程序及众多的软件资源往往存放在外存之中,需用时再调入主存运行。在批处理、多道程序方式中,也常将各用户待执行的程序、数据以作业形式先放在外存中,再陆续调入主存运行。所以,联机外存容量也是一项重要指标,一般以字节数表示。

运算速度

同一台计算机,执行不同的运算所需时间可能不同,因而对运算速度的描述常采用不同方法。常用的有CPU时钟频率、每秒平均执行指令数(ips)、单独注明时间等。 所配置的外围设备及其性能指标

外围设备配置也是影响整个系统性能的重要因素,所以在系统技术说明中常给出允许配置情况与实际配置情况。

系统软件配置情况

作为一种硬件系统,允许配置的系统软件原则上是可以不断扩充的,但实际购买的某个系统究竟已配置哪些软件,则表明它的当前功能。

第二章 运算方法和运算器

主要内容:

1、定点数加减法运算及电路实现

2、定点数乘除运算和电路实现

原码、补码,布斯算法,原码恢复余数、不恢复余数

3、快速乘除法运算技术和电路实现

布斯高基乘法,进位保存加法及其构成的乘法器,阵列乘法器,

阵列除法器

计算机组成原理教案

4、浮点数四则运算以及实现

加减乘除

基本要求:

通过本章内容的学习,要求掌握计算机算法。加减乘除运算方法和运算器的构成,能按步骤进行原码和补码的加减乘除四则运算,能够按步骤进行浮点数的四则运算。

教学重点:

1、定点数加减法运算及电路实现

2、定点数乘除运算和电路实现

3、快速乘除法运算技术和电路实现

教学难点:原码、补码,布斯算法,原码恢复余数、不恢复余数 布斯高基乘法

2.1 数据与文字的表示方法

2.2 定点加法、减法运算

2.3 定点乘法运算

2.4 定点除法运算

2.5 定点运算器的组成

2.6 浮点运算方法和浮点运算器

作业:

返回<<

2.1 数据与文字的表示方法

2.1.1 数据格式

在选择计算机的数的表示方式时,应当全面考虑以下几个因素:

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

可能遇到的数值范围:确定存储、处理能力

数值精确度:处理能力相关

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

两种常用格式:

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

1) 定点数表示法

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

2) 浮点数表示法

计算机组成原理教案

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

浮点表示法,即小数点的位置是浮动的。其思想来源于科学计数法。

IEEE754的浮点数(比较特殊)

浮点数的规格化:主要解决同一浮点数表示形式的不唯一性问题。规定 ,否则尾数要进行左移或右移。

机器零的概念:尾数为0或是阶码值小于所能表示的最小数。

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

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

两种方式:

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

直接的十进制运算

直接运算的表示方法:

字符串形式:用于非数值计算领域

压缩的十进制数串:分为定长和不定长两种。需要相应的十进制运算器和指令支持。

4) 自定义数据表示

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

区别:

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

描述符表示中,先访问描述符,后访问数据,至少增加一次访存; 描述符是程序的一部分,而不是数据的一部分。

2.1.2 数的机器码表示

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

1) 原码:比较自然的表示法,最高位表示符号,0为正,1为负。优点:简单易懂。缺点:加减法运算复杂。

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

定点小数的补码,公式

定点整数的补码,公式

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

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

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

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

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

2.1.3 字符与字符串的表示方式

ASCII码

2.1.4 汉字的表示方式

1) 输入码:用于汉字输入

2) 内码:用于汉字的存储

3) 字模码:用于汉字的显示

计算机组成原理教案

2.1.5 校验码

奇、偶校验码

2.2 定点加法、减法运算

2.2.1 补码加法

加法公式

2.2.2 补码减法

加法公式

2.2.3 溢出概念与检测方法

溢出概念:上溢、下溢

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

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

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

二进制加法/减法器,

2.2.5 十进制加法器

十进制加法/减法器

2.3 定点乘法运算

2.3.1 原码并行乘法

二进制乘法公式:公式

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

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

不带符号的阵列乘法器

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

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

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

取补器电路图,

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

2.3.2 补码并行乘法

补码与真值的转换公式,公式 推导过程。

一般化的加法器:有负权输入的,即可以做减法的。

直接补码阵列除法器:节省了取补时间,大大的加快了乘法的速度。结构图见。

2.4 定点除法运算

2.4.1 原码除法算法原理

二进制除法公式:公式

余数处理的两种方法:

恢复余数法:运算步骤不确定,控制复杂,不适合计算机运算。

加减交替法:不恢复余数,运算步骤确定,适合计算机操作。

计算机组成原理教案

2.4.2 并行除法器

CAS的结构,,并行除法器结构。

并行除法器执行时间分析

2.5 定点运算器的组成

2.5.1 逻辑运算

逻辑数概念:不带符号的二进制数。

四种逻辑运算:逻辑非、逻辑加、逻辑乘、逻辑异

2.5.2 多功能算术/逻辑运算单元(ALU)

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

运算时间长

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

说明:

控制端M用来控制作算术运算还是逻辑运算,两种运算的区别在于是否对进位进行处理。M=0时,对进位无影响,为算术运算;M=1时,进位被封锁,为逻辑运算。 正逻辑中,“1”用高电平表示,“0”用低电平表示,而负逻辑刚好相反。

正逻辑与负逻辑的关系为,正逻辑的“与”到负逻辑中变为“或”,即+ 互换。 的正负逻辑之间的转换可用上述规则实现。

先行进位的实现:公式

2.5.3 内部总线

总线分类:内部总线、外部总线(系统总线)、通信总线。

总线又可分为单向总线和双向总线。

带锁存器的总线可实现总线的复用。

2.5.4 定点运算器的基本结构

运算器包括ALU、阵列乘除器件、寄存器、多路开关、三态缓冲器、数据总线等逻辑部件。运算器的设计,主要是围绕着ALU和寄存器同数据总线之间如何传送操作数和运算结果而进行的。

运算器的三种结构形式:

单总线结构的运算器:这种结构的主要缺点是操作进度较慢,但控制电路比较简单。

双总线结构的运算器

三总线结构的运算器:三总线结构的运算器的特点是操作时间快

2.6 浮点运算方法和浮点运算器

2.6.1 浮点加法、减法运算

浮点加减法的规则,

运算步骤:0操作数检查→对阶→尾数加/减→规格化、舍入

注意:对阶时,小阶向大阶看齐,否则会丢失高有效位。规格化时,左规、右规是指尾数移动方向。

舍入处理的方法

2.6.2 浮点乘、除法运算

计算机组成原理教案

浮点乘、除法规则,

运算步骤:0操作数检查→阶码加/减→尾数乘/除→规格化、舍入

移码的加减运算规律,

2.6.3 浮点运算流水线

为了实现流水,首先必须把输入的任务分割成一系列的子任务,使各子任务能在流水线的各个阶段并发的执行。

对于流水线方式,某一个任务的总体运算时间并没有缩短,而是系统的整体运算时间缩短了。

流水线分类:

线性流水线:不带反馈线

非线性流水线:带反馈线

加速比的定义,

2.6.4 浮点运算器实例

第三章 存储系统

主要内容:1、存储器概述

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

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

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

3、 半导体ROM存储器

MROM,PROM,EPROM,EEPROM,FLASH

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

5、存储器扩展技术

位、字、字位扩展

6、数据校验码

奇偶校验,海明码,CRC码

基本要求:

通过本章的学习,要求掌握存储器芯片的类型和各主要存储器芯片的工作原理;掌握扩展存储器容量的技术,能够用给定的存储器芯片按要求设计主存,从而深刻理解存储器的构成原理;掌握数据校验码。

教学重点:

外部特性,性能参数,存储器芯片构成以及存储器主要技术指标 存储器扩展技术;技术指标,位、字、字位扩展,海明码,CRC码

计算机组成原理教案

3.1 存储器概述

3.2 随机读写存储器

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

3.4 高速存储器

3.5 Cache存储器

3.6 虚拟存储器

3.7 存储保护

作业:

3.1 存储器概述

3.1.1 存储器分类

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

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

存储器分类方式:

按存储介质分

按存取方式分

按存储器的读写功能分

按信息的可保存性分

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

3.1.2 存储器的分级结构

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

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

3.1.3 主存储器的技术指标

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

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

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

存储周期是指连续启动两次独立的存储器操作(如连续两次读操作)所需间隔的最小时间。通常,存储周期略大于存取时间。

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

3.2 随机读写存储器

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

根据存储信息机构的原理不同,又分为静态MOS存储器(SRAM)和动态MOS存储器(DRAM)。 半导体存储器的主要优点是存取速度快,存储体积小,可靠性高,价格低廉; 主要缺点是断电时读写存储器不能保存信息.

计算机组成原理教案

3.2.1 SRAM存储器

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

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

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

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

3.2.2 DRAM存储器

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

四管DRAM和单管DRAM的结构

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

DRAM的实例

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

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

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

3.2.3 主存储器组成实例

3.2.4 高性能的主存储器

EDRAM的特点,在DRAM芯片上集成了一个小容量的SRAM作为Cache。

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

3.3.1 只读存储器

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

ROM的优点:具有不易失性,即是电源被切断,ROM的信息也不会丢失。而使用SRAM进行存储,需要有电池等设备。

ROM的分类:

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

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

第一种写入原理属于结破坏型,即在行列线交点处制作一对彼此反向的二级管,它们由于反向而不能导通,称为0。若该位需要写入1,则在相应行列线之间加较高电压,将反偏的一只二极管永久性击穿,留下正向可导通的一只二极管,称为写入1。显然这是不可逆转的。

更常用的一种写入原理属于熔丝型,制造时在行列交点处连接一段熔丝,即易熔材料称为存入0。若该位需写入1,则让它通过较大电流,使熔丝熔断。显然这也是不可逆转的。

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

EPROM原理:

EPROM实例:表3.2 2716的工作模式

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

计算机组成原理教案

3.3.2 闪速存储器

闪速存储器的存储元电路是在CMOS单晶体管EPROM存储元基础上制造的,因此它具有非易失性。不同的是,EPROM通过紫外光照射进行擦除,而闪速存储器则是在EPROM沟道氧化物处理工艺中特别实施了电擦除和编程次数能力的设计。

闪速存储器的性能:

闪速存储器的特点:

固有的非易失性

廉价的高密度

可直接执行

固态性能

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

闪速存储器工作模式

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

3.4 高速存储器

传统存储器的问题:速度慢,和CPU的速度不匹配,原因如下:

CPU和主存储器是用不同的材料制成的

一个CPU周期可能需要几个存储器字

这种情况便成为限制高速计算的主要问题,解决方法有:

主存储器采用更高速的技术来缩短存储器的读出时间,或加长存储器的字长

采用并行操作的双端口存储器

在CPU和主存储器之间插入一个高速缓冲存储器(cache),以缩短读出时间 在每个存储器周期中存取几个字

3.4.1 双端口存储器

双端口存储器的典型实例是显示存储器(显存),CPU向显存的一个端口中写入数据,显示控制器从另一个端口中读出数据送显示器。

图3.27是双端口存储器的逻辑结构框图,图中两个端口共享同一存储矩阵,但其地址、数据和控制信号都是独立的。

当两个端口的地址不相同时,在两个端口上进行读写操作,则不会发生冲突。当两个端口同时存取存储器同一存储单元时,便发生读写冲突。此时,由判断逻辑来决定哪一个端口进行读写操作。判断的方法有两种:

(1) 如果地址匹配且在 之前有效,片上的控制逻辑在 和 之间进行判断来选择端口( 判断)。

(2) 如果 在地址匹配之前变低,片上的控制逻辑在左、右地址间进行判断来选择端口(地址有效判断)。

3.4.2 多模块交叉存储器

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

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

交叉方式的存储器可以实现多模块流水式并行存取,大大提高存储器的带宽。由于CPU的速度比存储器快,假如我们能同时从存储器取出M条指令,这必然会提高机器的运行

计算机组成原理教案

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

存储器地址交叉的方式:采用模除的方法,即二进制地址的低位表示该单元所在的模块。 多模块交叉存储器存取时间的定量分析:公式,公式。

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

注意四个字节允许信号。

3.4.3 相联存储器

相联存储器的特点:按内容寻址

相联存储器的组成:

在计算机系统中,相联存储器主要用于虚拟存储器中存放分段表、页表和快表;在高速缓冲存储器中,相联存储器作为存放从主存调入快存的页面单元地址之用。这是因为,在这两种应用中,都需要快速查找。具体可参考下节内容:Cache存储器。

3.5 Cache存储器

3.5.1 Cache基本原理

Cache是为了解决CPU和主存之间速度匹配问题而采用的一项重要技术。它的存取速度要比主存快,由高速的SRAM组成,全部功能由硬件实现,保证了其高速度。Cache与存储系统的关系见。

Cache除了有SRAM外,还要有控制逻辑。

注意:Cache与主存之间数据交换的单位是“块”。

Cache的基本操作方式:CPU首先在Cache中进行比较(可使用相联存储器),若Cache中有要访问的数据,则无需访存,若没有在进行主存读写,同时,把该数据所在的块复制到Cache中。

Cache的这种操作是基于程序执行的局部性原理,程序的局部性包括时间局部性、空间局部性等,例如,循环程序。具体内容可参考操作系统中的存储管理。

几个计算公式:命中率的计算,存储系统的平均访问时间,访问效率。

3.5.2 主存与Cache的地址映射

由于Cache比主存小的多,因此必须使用一种机制将主存地址定位到Cache中,即地址映射。这个映射过程全部由硬件实现,对程序员透明。

映射的三种方式:

全相联:灵活,不易产生冲突。其缺点是比较电路难于实现,且效率低,速度慢。 直接映射:硬件简单,成本低,但容易产生冲突,不能有效利用Cache空间。 组相联:结合上面两种的优点。

3.5.3 替换策略

当使用全相联和组相联方式时,就会使用到替换策略或是替换算法。

较为简单的替换算法有FIFO,但其效果不是很好,不符合程序的局部性原则,经常出现所谓的“颠簸” 现象。

常用的替换算法有如下三种:

最不经常使用(LFU)算法:这种算法将计数周期限定在对这些特定行两次替换之间的时间间隔内,因而不能严格反映近期访问情况。没有考虑对新调入行的处理,因为新调入行的计数值小,容易被替换出去。

近期最少使用(LRU)算法:目前使用较多的一种策略,能够有效的提高命

计算机组成原理教案

中率。

随机替换:硬件上容易实现并且速度快,虽然表面看起来算法比较随意,但实际模拟显示,其性能还是不错的。

3.5.4 Cache的写操作策略

即Cache的数据一致性维护策略。主要有三种方式:

写回法:优点是速度快,缺点是存在数据不一致隐患。

全写法:优点是数据不会出现不一致,缺点是对写操作没有高速缓存的作用。

写一次法:上述两种方法的结合,主要用于多个Cache数据不一致的维护,具体策略可参考体系结构的相关内容。

3.5.5 奔腾PC机的Cache

3.6 虚拟存储器

虚拟存储器属于操作系统中存储管理的内容,因此,其大部分功能由软件实现。

3.6.1 虚拟存储器的基本概念

虚拟存储器是一个逻辑模型,并不是一个实际的物理存储器。

虚拟存储器不仅解决了存储容量和存取速度之间的矛盾,而且也是管理存储设备的有效方法。有了虚拟存储器,用户无需考虑所编程序在主存中是否放得下或放在什么位置等问题。

虚拟地址、虚拟地址空间的定义,物理地址、物理地址空间的定义。

虚拟存储器和Cache都是基于程序局部性原理,它们的相同点在于:

1) 把程序中最近常用的部分驻留在高速度的存储器中。

2) 一旦这部分变的不常用了,把它们送回到低速的存储器中。

3) 这种换入、换出操作是由硬件或是OS完成,对用户透明。

4) 力图使存储系统的性能接近高速存储器,价格接近低速存储器。

两者的不同点在于:

1) Cache用硬件实现,对操作系统透明,而虚拟存储器是用软件、硬件相结合组成。

2) 虚拟存储器对未命中更加明感。

主存-外存的基本信息传送单位有:

段是利用程序的模块化性质,按照程序的逻辑结构划分成的多个相对独立部分。把段作为基本信息单位在主存-外存之间传送和定位是比较合理的。把主存按段分配的存储管理方式称为段式管理。

优点:段的分界与程序的自然分界相对应;段的逻辑独立性使它易于编译、管理、修改和保护。也便于多进程序共享;某些类型的段(堆栈、队列)具有动态可变长度,允许自由调度以便有效利用主存空间。

缺点:因为段的长度各不相同,段的起点和终点不定.给主存空间分配带来麻烦。而且容易在段间留下许多空余的零碎存储空间不好利用,造成浪费。

页式管理系统的基本信息传送单位是定长的页。主存的物理空间被划分为等长的固定区域,称为页面。

优点:页面的起点相终点地址是固定的,给造页表带来了方便。新页调入主存也很容易掌握,只要有空白页面就可容纳。比段式管理系统的段外空间浪费要小得多。

缺点:由于页不是逻辑上独立的实体,所以处理、保护和共享都不及段式来得方便。

计算机组成原理教案

段式存储和页式存储管理各有其优缺点,可以采用分段和分页结合的段页式存储管理系统。程序按模块分段,段内再分页,进入主存仍以页为基本信息传送单位。用段表和页表(每段一个页表)进行两级定位管理。

3.6.2 页式虚拟存储器

逻辑页、物理页的概念。

虚拟地址到主存实地址的变换是由放在主存的页表来实现。在页表中,对应每一个虚拟逻辑页号有一个表目,表目内容至少要包含该逻辑页所在的主存页面地址(物理页号),用它作为实(主)存地址的高字段,与虚存地址的页内行地址字段相拼接,就产生了完整的实主存地址,据此访问主存。

页式虚拟存储器的地址变换见图3.42。

通常,在页表的表项中还包括装入位(有效位)、修改位、替换控制位及其他保护位等组成的控制字段。

为了提高查询页表的速度,可使用高速存储器或是相联存储器作为快表,也可以采用快表、慢表相结合的方法。

快表、慢表法的地址变换。

3.6.3 段式虚拟存储器

虚拟地址由段号和段内地址组成,地址变换需要一个段表,具体方式。

3.6.4 段页式虚拟存储器

基本原则:段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。在这种方式中,把程序按逻辑单位分段以后,再把每段分成固定大小的页。程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护。因此,它可以兼备页式和段式系统的优点。其缺点是在地址映象过程中需要多次查表。在段页式虚拟存储系统中,每道程序是通过一个段表和一组页表来进行定位的。段表中的每个表目对应一个段,每个表目有一个指向该段的页表起始地址(页号)及该段的控制保护信息。由页表指明该段各页在主存中的位置以及是否已装入、已修改等状态信息。

段页式管理的地址变换方法见例6。

层次页表:当一个页表的大小超过一个页面的大小时,页表就可能分成几个页,分存于几个不连续的主存页面中,然后,将这些页表的起始地址又放入一个新页表中。这样,就形成了二级页表层次。一个大的程序可能需要多级页表层次。

3.6.5 替换算法

与Cache相似,虚拟存储器也需要使用到替换算法。方法基本与Cache的相同,但也有不同之处,主要体现在:

对缺页(及未命中)更为明感

页面替换由软件(OS)完成

页面替换的选择余地大

具体算法有FIFO、LRU和LRU+FIFO。

3.6.6 虚拟存储器实例

奔腾机的三种虚地址模式:分段不分页、分段分页、不分段分页。

保护模式下的分页地址转换方式。

3.7 存储保护

计算机组成原理教案

进行存储保护的原因:当多个用户共享主存时,就有多个用户程序和系统软件存于主存中。为使系统能正常工作,应防止由于一个用户程序出错而破坏其他用户的程序和系统软件,还要防止一个用户程序不合法地访问不是分配给它的主存区域。为此,系统应提供存储保护。

通常采用的方法是:存储区域保护和访问方式保护。

3.7.1 存储区域保护

不是虚拟存储器的主存系统中,可采用界限寄存器方式。

在虚拟存储器中,有如下方法:

页表、段表保护:用于地址变换之前,防止形成错误的物理地址。用虚存页面到实存的转换和限制段长的方法。

键保护:用于形成物理地址之后,防止非法访问。使用存储键和访问键法。 环保护:保护自身程序不被非法执行。使用分层访问原则。

3.7.2 访问方式保护

对数据信息的保护,主要使用访问方式控制。

作业:

第四章 指令系统

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

2、指令构成与指令编码

操作码、地址码

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

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

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

4、指令系统

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

基本要求:

通过本章的学习,要求掌握指令中包含的各种信息,数据在存储器中的存放,了解常用指令以及指令格式,深入理解常用的寻址方法以及用途。了解常用指令的种类和功能。了解CISC和RISC系统的概念和特征。 教学重点:1、指令构成与指令编码

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

教学难点:寻址方式

4.1 指令系统的发展与性能要求

计算机组成原理教案

4.2 指令格式

4.3 指令和数据的寻址方式

4.4 堆栈寻址方式

4.5 典型指令

作业:

4.1 指令系统的发展与性能要求

4.1.1 指令系统的发展

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

指令就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分:

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

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

机器指令则介于微指令与宏指令之间,通常简称为指令。每一条指令可完成一个独立的算术运算或逻辑运算操作。本章所讨论的指令,是机器指令。

一台计算机中所有机器指令的集合,称为这台计算机的指令系统。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。

系列计算机,是指基本指令系统相同、基本体系结构相同的一系列计算机。其必要条件是同一系列的各机种有共同的指令集.而且新推出的机种指令系统一定包含所有旧机种的全部指令,即实现一个“向上兼容”。因此旧机种上运行的各种软件可以不加任何修改便可在新机种上运行,大大减少了软件开发费用。系列机解决了各机种的软件兼容问题

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

4.1.2 对指令系统性能的要求

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

1) 完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。

2) 有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。

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

对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;

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

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

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

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

计算机组成原理教案

计算机语言有高级语言和低级语言之分。高级语言语句和用法与具体机器的指令系统无关。低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,它们和具体机器的指令系统密切相关。高级语言和低级语言的异同。

4.2 指令格式

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

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

操作码字段 地址码字段

4.2.1 操作码

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

4.2.2 地址码

根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。目前二地址和一地址指令格式用的得最多。

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

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

(AC) OP (A) → AC

二地址指令常称双操作数指令,它有两个地址码字段A1和A2,分别指明参与操作的两个数在内存中或运算器通用寄存器的地址,其中地址A1兼做存放操作结果的地址。

(A1) OP (A2) → A1

三地址指令字中有三个操作数地址A1,A2和A3。

(A1) OP (A2) → A3

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

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

访问寄存器的指令格式,我们称这类指令为寄存器-寄存器(RR)型指令; 第三种类型为寄存器-存储器(RS)型指令。

4.2.3 指令字长度

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

机器字长是指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。 指令字长度等于机器字长度的指令,称为单字长指令;指令字长度等于半个机器字长度的指令,称为半字长指令;指令字长度等于两个机器字长度的指令,称为双字长指令。 使用多字长指令的目的,在于提供足够的地址位来解决访问内存任何单元的寻址问题,但是主要缺点是必须两次或多次访问内存以取出整条指令,这就降低了CPU的运算速度,同时又占用了更多的存储空间。

在一个指令系统中,如果各种指令字长度是相等的,称为等长指令字结构,这种指令字结构简单,且指令字长度是不变的。如果各种指令字长度随指令功能而异,就称为变长指令字结构。这种指令字结构灵活,能充分利用指令长度,但指令的控制较复杂。

4.2.4 指令助记符

本文来源:https://www.bwwdw.com/article/fka1.html

Top