1、计算机与信息技术学院课程教案专 业 计算机科学与技术专业 课 程 计算机组成原理 讲 授 人 2015 年 9 月 10 日1(一) 课程名称:计算机组成原理(二) 学时学分:周 4 学时,4 学分(三) 预修课程:数字逻辑、汇编语言(四) 使用教材唐朔飞编著:计算机组成原理(第 2 版),高等教育出版社,2008 年 1月第 2 版。(五) 教学参考书 (3 本以上)1、王爱英编著:计算机组成与结构(第 4 版),清华大学出版社,2007年 3 月版。2、白中英编著:计算机组成原理(第 5 版),科学出版社,2013 年 2 月版。3、William Stallings 编著: 计算机组织与
2、结构- 性能设计( 第 8 版),机械工业出版社,2011 年 11 月版。4、李亚民编著:计算机组成与系统结构(第 1 版),清华大学出版社,2000 年 4 月版。(六) 教学方法:课堂讲授,课程设计,师生互动,理论与实验结合教学。(七) 教学手段:多媒体教学。(八) 考核方式:闭卷考试。(九) 学生创新精神与实践能力的培养方法:通过老师出题、小组讨论、实验、学生自由发言等方式使学生掌握基本的计算机专业思维,提高学生分析问题、解决问题的能力,培养学生的动手能力,写作能力和表达能力,将为学生奠定深厚的专业潜力和良好的专业素质。(十) 其它要求:严格考勤,学生课堂表现及课堂参与情况占学生成绩的
3、15%,当堂测试、课程论文和课下作业占学生成绩的 15%,期末成绩占 70%。- 2 -第一章 计算机系统概论教学时数:2 学时教学目的与要求:要求学生了解计算机系统的基本概念, 。使学生初步掌握计算机系统的基本概念及本书的基本结构,为进一步深入学习打下基础。教学重点:掌握冯诺依曼计算机的架构、计算机基本技术指标。教学难点:引入冯诺依曼计算机的架构、总概全书。第一节 计算机系统简介 (了解)中央处理器(CPU) 运算器主机 控制器 只读存储器(ROM)硬 内存储器 可读可写存储器(RAM)件 输入设备(如:键盘、鼠标)计 外部设备 输出设备(如:显示器、打印机)算 外部存储器(如:磁盘、磁带、
4、光盘)机 操作系统系 汇编程序 统 系 语言处理程序 解释程序软 统 编译程序件 软 数据库管理系统(如 FOXBASE) 件 诊断程序(如 DIAGS)支持软件 调试程序(如 DEBUG) 编辑程序(如 EDIT)链接程序(如 LINK)网络通信系统应用软件(如 WPS)第二节 计算机的基本组成 (重点)层次结构硬件层次结构数据模型、算法用户程序作为软件资源的应用程序语言处理程序(解释、编译)操作系统机器语言(指令系统)微程序控制器硬件硬件逻辑部件- 3 -虚拟机层次结构应用程序虚拟机高级语言虚拟机汇编语言虚拟机操作系统虚拟机指令系统、机器语言裸机(硬件)编译:将源程序的全部语句变成机器语言
5、,然后执行。解释:将源程序的一条语句变成机器语言并执行,然后再把下一条语句变成机器语言并执行,直到结束。透明:本来存在的事物或属性,从某个角度看却好象不存在,称为透明。虚拟机:由软件实现功能的机器称为虚拟机。冯-诺依曼 (Von Neumann)型计算机1) 计算机分为五部分:运算器、控制器、存储器、输入设备和输出设备。计算机以运算器为中心,输入输出设备与存储器之间的数据传送都要经过运算器,各部分的操作及其相互之间的联系都要由控制器集中控制。(指令流生成控制流,控制流控制数据流)状 数 结 命 态 据 果 令 程序 结果请 命 地 指 命 请求 令 址 令 令 求2) 存储器按地址访问,它是一
6、个顺序的线性编址的一维空间,每个单元的位数是固定的。3) 采用存储程序原理,将程序和数据放在同一个存储器中,指令和数据等同看待,指令和数据都可以送入运算器中运算,即由指令组成的程序是可以在运行过程中被修改。4) 数据以二进制编码,采用二进制运算。5) 指令由操作码和地址码两部分组成。操作码表示指令的性质,地址码表示操作数所在的位置。运算器输入设备 存储器控制器输出设备- 4 -6) 指令在存储器中基本采用顺序执行,由指令计数器指明要执行的指令在存储器中的地址。第三节 计算机硬件的主要技术指标(重点)1. 字长CPU 一次处理的最大的二进制数的位数为机器字长。机器字长:是指参与运算的数的基本位数
7、,它标志着计算精度,位数越多,精度越高,但硬件成本也越高,因为他决定着寄存器、运算部件、数据总线等的位数。2主存容量主存储器是 CPU 可以直接访问的存储器,需要执行的程序与需要处理的数据就放在主存中。主存容量大则可以运行比较复杂的程序,并可以存入大量信息,可以利用更完善的软件支撑环境。所以计算机处理能力的大小在很大程度上取决于主存容量的大小。主存容量的记法有两种:字节数(如 PC 机,640KB)和单元数(字数)*位数(如 64K*16) 。3外存容量外存容量一般是指计算机系统中联机运行的外存储容量。4运算速度(1) CPU 时钟频率计算机的操作需要分步执行,每个时钟周期完成一步操作,所以时
8、钟频率在很大程度上反映了 CPU 速度的快慢。(2) 每秒平均执行指令数(ips)由于各种指令的执行时间不等,所以这种描述是粗略的。通常,一条指令能实现一次定点加减运算,所以 ips 值大致相当于每秒钟能完成的定点加减运算次数。(3) 单独注明时间。- 5 -第四节 本书结构本章思考题1. 什么是计算机系统、计算机硬件和软件?2. 如何理解计算机系统的层次结构?3. 说明高级语言、汇编语言和机器语言的区别及联系。4. 指令和数据都存在存储器中,如何区分它们?5. 什么是指令?什么是程序?CPU内部互连ALUCU寄存器中央处理器寄存器和解码器控制单元排队控制计算机I/O系统总线存储器CPU- 6
9、 -第二章 计算机的发展及应用教学时数:2 学时教学目的与要求:通过本章的讲述,使学生初步了解计算机系统的发展历史、应用前景,增进和培养学生的学习兴趣。教学重点:掌握计算机发展趋势。第一节 计算机的发展史1. 从物理器件的角度分为五代计算机:(1) 第一代电子管计算机(2) 第二代晶体管计算机(3) 第三代集成电路计算机(4) 第四代大规模集成电路计算机 (5) 第五代超大规模集成电路计算机(人工智能)2. 从计算机的体积可分为:巨、大、中、小、微型计算机。3. 从运算能力可分为:4,8,16,32,64 位计算机。第二节 计算机的应用1. 科学计算和数据应用2. 工业控制和实时控制3. 网络
10、技术4. 虚拟现实5. 办公自动化6. 多媒体技术7. 人工智能第三节 计算机的展望1. 串行算法改为并行算法,出现了向量计算机、并行计算机和多处理机等。2. 高级语言与机器语言的语义距离缩小,出现了面向高级语言机器和直接执行高级语言机器。3. 硬件子系统与操作系统和数据库管理系统软件相适应,出现了面向操作系统机器和数据库计算机。4. 计算机系统从指令驱动型改变为数据驱动型和需求驱动型,出现了数据流机器和归约机。5. 为了适应特定应用环境而出现了各种专用计算机。- 7 -6. 为了获得高可靠性而研制容错计算机。7. 计算机系统功能分散化、专业化,出现了各种功能分布计算机。8. 出现了与大规模、
11、超大规模集成电路相适应的计算机系统结构。9. 出现了处理非数值化信息的智能计算机。本章思考题1. 计算机更新换代以什么为依据?2. 什么是摩尔定律?该定律是否永远生效?3. 说明网络技术的应用。4. 说明人工智能的应用。5. 举例说明哪些应用需要采用多媒体技术?- 8 -第三章 系统总线教学时数:2 学时教学目的与要求:使学生掌握总线系统的基本概念,总线的主要技术指标,单、多总线架构的特点及机內的通信方式。教学重点:总线的概念和结构形态、信息传送方式。教学难点:总线的仲裁、总线数据的传送模式。第一节 总线的基本概念在计算机的内部,CPU 和存储器之间由总线连接。总线是用来连接计算机中的多个部件
12、,以实现部件之间信息交换的一组导线。总线按照它的任务划分,可分为三级:1片内总线指芯片内部的总线。如 CPU 内部总线,他连接 CPU 内部的各个寄存器和算术逻辑运算部件。2系统总线指 CPU、主存、I/O(通过 I/O 接口)各大部件之间的信息传输线。系统总线根据其传递的信号不同可以分为地址总线、数据总线和控制总线。 。3通信总线用于连接计算机系统之间或计算机系统与其他系统之间的通信。我们所说的总线,一般情况指系统总线。总线在传输数据格式上采用串行传输和并行传输两类。能一次并行传输的数据位数被定义为总线的数据通路宽度,而单位时间能传输的数据量被定义为总线的数据传输率。完成一次总线传送操作所需
13、的时间称为一个总线周期。根据总线可能的传送方向,总线可分为单向总线和双向总线。第二节 总线的分类狭义的总线实体是一组传送线。它们的定义与允许的工作方式派生出相应的总线逻辑,如:接收与发送信息逻辑,为共享总线所需的缓冲器,对总线控制权的申请、仲裁、批准与控制权转移逻辑,为与总线标准匹配所要求的信号转换等。所以,总线实体是一组传送线路与相应的控制逻辑。1) 从系统组成角度分类在小规模系统中,常用一组系统总线连接 CPU、主存、接口与外围设备,称为单总线结构。在较大规模系统中,常设置多组总线,如:在主存与 CPU 之间设置一组专用的高速存储总线,而将连接外围设备的系统总线称 I/O 扩展总线。- 9
14、 -在一些系统中,将直接与 CPU 连接的一段总线称局部总线,将经过总线控制器扩充后的总线称为系统总线。连接系统内部 CPU、主存、接口与常规外围设备的总线称为系统内总线。把计算机系统之间,计算机系统与通信设备或其他系统外设之间的连接总线称为系统外总线。在松耦合多机系统中,常将各节点内部的总线称为局部总线,节点间的总线称为通信总线。2) 按数据传送格式分类并行总线:用多根数据线同时传送一个字节或一个字的所有代码位,可以同时传送的数据位数称为该总线的数据通路宽度。计算机的系统总线大多是并行总线。串行总线:按位串行传送数据,即按数据代码位流的顺序逐位传送。3) 按时序控制方式分类系统总线所连接的
15、CPU 与各种外围设备往往有各自独立的工作时序,在通过总线传送数据信息时,其时序控制方式有同步方式和异步方式之分,相应地,也将总线分为同步总线和异步总线两类。同步总线:数据传送操作由统一的系统时钟同步定时,其显著特征是有严格的时钟周期划分,一次传送操作所需的一个总线周期可能包括若干时钟周期。在单机系统中,系统时钟由 CPU 提供。在多机系统中,或由负责系统管理的主CPU 提供,或专门设置一个系统时钟。第三节 总线特性及性能指标同步控制方式以时钟周期为划分时间段的基准,一个总线周期占用多个时钟周期,必要时候,一个总线周期所包含的时钟周期数目并不固定,但都是以完整的时钟周期为基准的。例如,DMA
16、控制器向 CPU 提出总线请求,获得总线控制权后实现一次总线传送。通常这一过程要经过以下几步:(1) S0 状态:DMA 控制器提出总线请求 (BREQ),此时 CPU 正控制总线访问主存,因此 DMA 控制器处于等待批准的 S0 状态,可能要等待几个时钟周期。(2) S1 状态:CPU 结束一次总线周期操作,发出总线批准信号 BACK,进入总线控制权交换状态 S1 状态。在 S1 状态中,CPU 放弃总线,DMA 控制器向总线送出地址码,接管总线控制权,并进入下一状态。(3) S2 状态:由 DMA 控制器发出读命令,从发送设备中读出数据,送入有关的数据寄存器,并发送到数据总线上。- 10
17、-(4) S3 状态:由 DMA 控制器发出写命令,将数据总线信息写入接收设备。(5) S4 状态:延长状态,如果在 S3 状态中没有完成总线传送,可以延长总线周期,进入 S4 状态。结束一个总线周期后,DMA 控制器放弃系统总线,将总线控制权交回CPU。第四节 总线结构和总线控制异步总线:对总线操作的控制与数据传送,以应答方式实现,特点是没有固定的时钟周期划分。异步应答关系分为不互锁、半互锁和全互锁三类。不互锁:设备 1 发出请求信号,经过一段时间后,自动撤消;设备 2 接到设备 1 的请求信号后,在条件允许时发出回答信号,经过一段时间后,自动撤消。半互锁:设备 1 发出请求信号后,接到设备
18、 2 的回答信号后,才撤消请求信号,而设备 2 经过一段时间后,自动撤消回答信号。全互锁:设备 1 发出请求信号后,接到设备 2 的回答信号后,才撤消请求信号,设备 2 知道设备 1 撤消了请求信号后,才撤消回答信号。本章思考题1. 什么是总线?总线传输有何特点?2. 如何理解总线的不同分类?3. 比较同步及异步通信。4. 什么是总线标准?为什么要设置总线标准?5. 什么总线的传输速率,它与哪些因素有关?- 11 -第四章 存储器教学时数:8 学时教学目的与要求:使学生掌握主存、辅存的概念,重点理解存储器分级的结构,掌握主存与 CPU 连接方式,Cache 与主存地址映射方式。教学重点:静态存
19、储器、动态存储器、Cache 存储器的地址映射方式。教学难点:主存芯片与 CPU 的连接方法、存储器的校验。第一节 概述1. 存储器的分类1) 按存储器与 CPU 的关系:存储器分为主存和辅存两部分。主存是能够由 CPU 直接编程访问的存储器,它存放需要执行的程序与需要处理的数据。由于主存处于主机的内部所以又称之为内存。与之相对的是外存,又称辅存。辅存包括:磁盘、光盘、磁带等。2) 按存取方式:随机存储器、只读存储器、顺序存储器和直接存储器。随机存储器:存储器中的任何一个存储单元的内容都能被随机存取,且存取时间都相同,与存储单元的物理位置无关(RAM),可以用存储周期来表示其工作速度。只读存储
20、器:存储器工作的时候只能读,不能写,通常保存一些特别重要的信息。它也采用随机存取方式。顺序存取存储器:存储器中的存储内容只能按顺序存取,其存取时间与存储单元的物理位置有关(SAM),如磁带。直接存取存储器(DAM):介于随机存储方式和顺序存储方式之间,典型的直接存取存储器是磁盘,磁盘寻址时,首先磁头定位于磁道类似于随机存储方式,然后在磁道内寻址类似于顺序存储方式。3) 按存储介质:半导体存储器(用半导体器件构成的存储器,多用于主存 )和磁存储器(磁性材料做成的存储器,如磁盘)。半导体存储器又可以细分为静态存储器(SRAM)和动态存储器(DRAM)。4) 按信息的保存:永久性存储器(断电后存储信
21、息仍可以保持 )和易失性存储器( 断电后丢失信息) ,如磁盘是永久性,RAM 为易失性。5) 按读写功能:读写存储器和只读存储器6) 主存储器分为随机存储器(RAM)和只读存储器 (ROM),只读存储器又可以分为:可编程只读存储器(PROM),可擦可编程只读存储器 (EPROM),电可擦可编程只读存储器(E2PROM),以及快闪存储器。- 12 -第二节 主存储器1. 存储器的组成存储体地 址缓冲和 译码器读写数据缓冲器存储器是一种能够实现按地址存储的装置。存储器由存储体、地址缓冲和译码器、读写数据缓冲器组成。存储体是存储器的核心,它有许多存储单元组成,每个存储单元又由若干个可记忆 0 或 1
22、 的存储元件组成。因此,每个存储单元可以存放若干位二进制数,称为一个字。每个存储单元按其空间的位置都有一个固定的编号,称为存储单元的地址,简称地址。通常说存储器容量为M*N 的, M 表示的是存储器有多少个字,N 表示每个字有多少个存储元件。2. 主存储器的技术指标1) 存储速度:存取时间(TA,又称取数时间) 和存储周期(TM)2) 存取时间:存储器接到读命令信号到其数据输出端有信号输出为止的时间。例如对于 2114 来说,其存取时间为从 WE = 1 开始到读写数据缓冲器中有数据为止。3) 存储周期:连续两次访问存储器所需要的最小时间间隔。例如:从 CPU向存储器发出读命令,到 CPU 的
23、 MDR 中有数据为止。4) 价格:存储器的价格以位价格衡量,即存储容量为 S,价格为C,P=C/S 是位价格。3. 主存储器的工作原理CPU 对存储器进行操作的时候,一定要用到两个寄存器:地址寄存器(MAR)和数据寄存器(MDR)。CPU 与存储器之间的数据传输分为同步传输方式和异步传输方式两种,1) 同步方式:数据传输是在固定的时间间隔内完成,此时间间隔由 CPU的时钟脉冲确定,从而构成一个完整的存储器读写周期。- 13 -2) 异步方式:当存储器接到 CPU 的读写命令时,完成一次读写操作后,向 CPU 发一个“存储器功能完成”信号(WMFC), CPU 接到此信号后,才完成一次数据传输
24、工作。注:CPU 中有一个引脚叫做 Ready,其名称是:准备好信号,当它为 1 时,表示 CPU 可以和存储器传输数据。而不是象书中所说是通过 Ready 做主存储器应答。3) 读写过程(1) CPU 从存储器中读取一个字节数据把要读取的字节的地址送入 MAR。 1把要读取的字节的地址经过地址总线送入存储器的地址缓冲译码器,同 2时发出读请求。存储器读操作,找到数据送入其数据缓冲寄存器, 3由数据总线将数据送入 CPU 的 MDR,同时发出 WMFC 信号(WMFC=1)。 4(2) CPU 向存储器写一个字节数据把要写入存储器的字节送入 MDR。 1其地址送入 MAR。 2经过数据总线和地
25、址总线把数据、地址送入存储器,同时发出写请求。 3将数据写入存储器指定单元,同时发出 WMFC 信号。 44. 存储器扩容1) 位扩展 (字长扩展 )位扩展连接方式:将多片存储器的地址、片选、读写控制连在一起;数据线分别连接。2) 字扩展字扩展连接方式:将多片存储器的地址、数据、读写控制连在一起;片选信号来区别那个芯片被选用(充当高位)。3) 字位扩展。字扩展连接方式:将多片存储器的地址、读写控制连在一起;片选信号来区别那个芯片被选用(充当高位),数据线分别连接。可选讲:动态存储器的刷新由于动态存储器依靠电容上存储电荷来暂存信息,而电容上存储的电荷会逐步衰减,所以动态存储器一定要定期刷新。通常
26、动态存储芯片要在 2ms(毫秒)以内全部刷新一遍,即全部刷新一遍所允许的最大时间间隔为 2ms,称为最大刷新周期。对于整个存储器来说,各个存储芯片可以同时刷新。对于每块动态- 14 -存储芯片来说,则是按行刷新,每次刷新一行,所需时间为一个刷新周期。例如一个动态存储芯片为 128 行, ,则在 2ms 内应该至少安排 128 个刷新周期。对于一个动态存储器,它在工作过程中实际包括两种工作状态:读写保持状态和刷新状态。如何进行刷新呢?通常采用以下三种方式:(1) 集中刷新方式:在 2ms 之内直接安排 128 个刷新周期,统一刷新。优点是主存利用率高,控制简单;缺点是存储器在每个 2ms 之内必
27、定有一段时间不能进行读写操作(在进行刷新),造成一段死区。(2) 分散刷新方式:存取操作和刷新同时进行,即在每个存储周期中包括存取数据刷新数据两部分。优点:没有死区,缺点:降低效率。(3) 异步刷新方式:由于 2ms/128=15.625us(微秒),所以每隔 15.625us 提出一次刷新请求,安排一个刷新周期,如果此时正在进行存取工作,则等到存取工作结束后进行刷新。5. 多体交叉存储器存储器是存储指令(程序) 和数据的地方,CPU 工作时将不停的访问存储器,CPU 工作的基本周期是时钟周期(节拍),存储器工作的基本周期是存储周期,即 CPU 以时钟周期表示 CPU 的速度,存储器以存储周期
28、表示存储器的速度,但是通常存储器的存储周期的时间远远大于 CPU 的时钟周期,所以实际上CPU 的工作速度会降低到与存储器的速度相当,CPU 工作时不得不在两个时钟周期之间插入空闲周期。通常存储器的容量与速度成反比,即 1K 的存储器的速度比 4K 的存储器的速度快,因此提出多体交叉存储器技术。多体交叉存储器技术分为两种:高位交叉编址和低位交叉编址。例如,某机器有一个容量为 4K*8 的存储器,为了提高存储速度将存储器变成 4 个 1K*8 的存储模块。1) 高位交叉编址:该方法的优点是便利灵活,便于扩展,如将 4K 的存储器扩展成 5K 的存储器只需要加一个存储模块,某一个存储模块出现问题不
29、影响其他模块。2) 低位交叉编址:该方法的优点是提高 CPU 工作效率。因为在通常情况下,数据被连续读取,如 CPU 取 4 个字节,用高位交叉技术要对存储器进行 4次读取,而用低位交叉技术只对存储器读取一次即可(四个模块同时工作)。用低位交叉技术的机器一个存储周期得到 4 个字节,其存储周期相当于原来的四分之一。推而广之,一个具有 n 个模块的存储器,其存储周期等效于单模块的1/n,但这是个乐观的估计,总之效率会明显提高。注意:理论上讲,n 的值越大,存储器的速度越高,但是实际中一般 n8。如果 n8 速度提高就不在明显,这是因为多体交叉存储器存在访问冲突问题。- 15 -产生访问冲突的原因
30、是:一、程序中有转移指令,二、是数据的随机性。对于多体交叉存储器的控制有两种:一种是同时启动各模块,然后在主存控制部件的控制下,分时使用总线传输;另一种是各模块分时启动,如四个模块就是每隔四分之一存储周期启动一个模块,后者应用多些。6. 存储器校验二进制信息在传送时,可能发生错误,校验码是一种具有校验差错能力的代码。校验码由两部分组成:信息位和校验位,信息位就是要传送的数据信息,校验位是在信息位的基础上根据具体的校验方法得到的一些附加数据。校验的方法不同,信息位也不同。基本概念码字:表示一个数(或字符)的若干位二进制代码;码元:码字中的一位二进制数;码组:满足一定规则的码字集合;最小码距:一个
31、码组中任何两个码字之间的不同码元的最小个数。若实现数据校验,必须在原有码字(信息位)的基础上增加额外码元(校验位),从而增大码组中的最小码距。最小码距与校验能力的关系满足下面公式:L = 2C + 1,L = D + 1 其中 L 表示最小码距,C 表示可纠错位数,D 表示可检错位数。奇偶校验所谓奇偶校验就是在传输的数据后面加一位奇偶校验位,为奇校验时就是加校验位后,保证在全部数据中“1”的个数为奇数个,为偶校验时就是加校验位后,保证在全部数据中“1”的个数为偶数个。假设数据位四位,对于奇校验来说,总是 P = B3 B0 1 对于偶校验位 P = B3 B2 B1 B0 加奇偶校验位时可以根
32、据校验位的位置分为横向奇偶校验、纵向奇偶校验和横纵奇偶校验。例如有以下一组数据:00110000 00110001 00110010 00110011 00110100(数字:01234)采用横向奇校验时编码为:00110000 100110001 000110010 000110011 100110100 0即:001100001 001100010 001100100 001100111 001101000- 16 -第三节 高速缓冲存储器1. 存储系统的层次结构计算机系统对存储器的基本要求是:高速度、大容量、低价格。这三个条件互相矛盾,不可能同时实现,为了解决这一矛盾,必须对存储系统进行
33、层次划分。1) 主存、辅存结构:以速度快、价格高的半导体存储器作主存,以磁存储器做辅存。2) 高速缓存、主存、辅存三级结构。通常把 CPU 当前正在执行的程序和数据放在主存中,而暂时不执行的程序和数据放在辅存中。在执行过程中,不断地把辅存中即将处理的信息调入主存,处理过的信息不断地调出主存。这一过程现在由操作系统中的虚拟存储器技术实现。对于那些使用频率极高的数据则保存在 Cache 中。采用了三级结构,理想情况是高速缓存的速度,辅存的容量、价格。2. 高速缓冲存储器(Cache) 引用虚拟存储器的目的是令主存空间扩大,引用 Cache 是为了提高主存的速度。虚拟存储器靠 OS 软管理,而 Ca
34、che 靠硬件管理。 Cache 本身是一个高速的存储器件,其速度与 CPU 的速度相当,如果搞好 Cache 与主存的关系,可以大大提高主存的速度,又由于 Cache 对于系统程序员来说也是透明的。有人把Cache 划入 CPU 中。由于 Cache 和主存都可以与 CPU 相关,Cache 与主存的关系有点像页式虚拟存储器中的快表。通常把 Cache 和主存等分成块,每当给出一个主存字地址进行访存时,都必须通过主存-Cache 地址映像变换机构判定该访问字所在的块是否已经在Cache 中,如果在,则经地址映像变换机构将主存地址变换成 Cache 的地址去访问 Cache,此时 Cache
35、与处理机之间进行单子宽信息的交往;如果不在 Cache中,则产生 Cache 失效,这时要从访主存的通路中把包含该字的一块信息通过多字宽通路调入 Cache,同时将被访问字由主存送入 CPU,如果 Cache 中已装不进了,即发生块冲突,此时需要按所选择的替换算法将该块替换进 Cache,并修改地址映像表中有关的地址映像关系和修改好 Cache 各块使用状态标志等信息。1) 地址映像与变换:全相联映射 1让主存中任意的一块均可以映像到 Cache 中的任意一块位置上。此时要求有一个专门硬件设置的目录表,目录表中记录着主存块号与 Cache 块号之间的变换关系,主存地址通过目录表可以转换成 Ca
36、che 中的地址。- 17 -优点:块冲突率低,缺点:Cache 变大,目录表也大,速度降低。直接映射 2让主存中每一个块只能映像到 Cache 中唯一的一个位置上,例如设 Cache中可以放 X 块,主存中的第 i 块映像到 Cache 中的第(i MOD X)块中。这相当于把主存空间按 Cache 的空间分成区,每区的各块均只能按位置一一对应到Cache 的相应位置。此时主存地址分为区号,主存块号,块内地址三部分,目录表只记录各块的区号,变换时,以主存块号为地址到目录表中的对应部分取区号与主存地址区号比较相同,则主存块号与块内地址成 Cache 地址,不相同,则换页。优点:电路简单,速度快
37、;缺点:冲突率高。组相联映射 3将 Cache 各块分组,主存以 Cache 大小分区,区下分组,组下分块。组间采用直接映像,组内采用全相联映像。2) Cache 的读写:读操作:访存时,一方面主存地址送主存,启动读主存,另一方面地址 1送 Cache 映象成 Cache 地址。从 Cache 页中读取内容,并将相应的 Cache 标记与主存地址中的主存页标记进行比较,如果二者相同,则表示访问 Cache 命中,读出数据送往 CPU,不等主存读操作结束,就可以继续下一次访存操作。如果标记不符合,或是按映像方式搜索完毕仍未找到相符的 Cache 标志,表明本次访问 Cache 失败,则从主存读出
38、数据送 CPU,偶尔一次不命中,不一定立即替换,一般是在命中率变低时才考虑替换,如果替换,则以页为单位整页替换,并相应修改 Cache 标记。写操作: 2写回法(标志替换法) 。在数据回写的时候,只写入 Cache,同时在 Cache 块中设置一个标志位,标志位为 1 表示有数据写回此 Cache 块,当此 Cache 块被替换的时候写入主存,但是如果在替换时,恰好主存没有此 Cache 块(先被虚拟存储器替换),则出错。这种方式不在 Cache 操作过程中插入写主存操作,保持程序的运行速度。写直达法。写入 Cache 同时写入主存,但有些写入是多余的。这种方式保持了 Cache 与主存的一致
39、性。本章思考题1. 计算机中哪些部件可用于存储信息?- 18 -2. 说明存取周期和存取时间的区别。3. 存储器层次结构主要体现在什么地方,为什么要分这些层次?4. 什么叫刷新,为什么进行刷新?5. 什么是存储器的带宽。- 19 -第五章 输入输出系统教学时数:8 学时教学目的与要求:使学生了解计算机系统中常用 I/O 设备的基本接口,主要技术指标,工作原理等知识,重点 I/O 设备与 CPU 传输数据的三种方式。教学重点:程序查询方式和中断方式的工作原理、基本接口。教学难点:DMA 的传送方式及传送过程。第一节 I/O 设备输入输出系统包括输入输出设备、设备控制器以及同输入输出操作有关的硬件
40、与软件。如:键盘输入设备,8042设备控制器,8255相关硬件,int9相关软件。第二节 I/O 接口1. 输入输出设备编址方式:输入输出设备的编址方式分为两种:独立 I/O 编址、(与内存)统一编址。如PC 机采用前者,IN AL,60H;读入扫描码2. 输入输出数据传送的控制方式:(1) 程序直接控制方式(2) 程序中断传送方式(3) 直接存储器存取 (DMA)传送方式(4) 通道控制方式(5) I/O 处理机第三节 程序查询方式程序直接控制方式主机与外设之间的数据传输由程序来控制,在程序中安排一段由输入输出指令和其他指令组成的程序段直接控制外设的工作。程序直接控制方式分为无条件传送方式和
41、有条件(查询)传送方式。无条件传送:外设与 CPU 之间的工作关系、动作时间固定,所以可以采用无条件传送。查询:传送数据之前先由程序对外设状态进行测试,测试结果满足时,传送数据。( 说明:与外设相关的芯片有状态寄存器和控制寄存器,状态寄存器提供芯片的状态,即外设的状态,常常依靠 IN 指令把外设芯片的状态读入 CPU来进行查询方式的数据传送,CPU 发给外设芯片的控制命令常常依靠 OUT 指- 20 -令送入控制寄存器,使外设按照 CPU 的要求工作。第四节 程序中断方式程序中断传送方式1) 中断:在计算机的运行过程中,如果发生某种随机事态,CPU 将暂停执行现行程序,转去执行中断处理程序,为
42、该事态服务,并在服务完毕后自动恢复原程序的执行。中断的定义包含了程序切换与随机性两个概念。中断的实质是一种程序切换过程。转子程序也是一种程序切换,但区别在于中断是随机切换,而转子程序的切换不是随机的。2) 中断方式的应用(1) 以中断方式管理中低速 I/O 操作,使 CPU 与外设并行工作(2) 软中断(3) 故障处理:掉电、校验错、软件故障、溢出(4) 实时处理:通过定时器实时采集数据(5) 多机通信:依靠中断通信(6) 人机对话:3) 程序中断与简单中断程序中断:中断发生之后执行一段程序简单中断:中断发生之后不执行程序,只是让出几个 CPU 周期,如 DMA中断第五节 DMA 方式1. 直
43、接存储器存取(DMA)传送方式对于高速外设的成批信息交换通常采用 DMA 方式。在 DMA 方式中数据交换不是由 CPU 执行程序来完成,而是由 DMA 控制器控制,如软盘操作。DMA 方式分为三种:CPU 暂停、CPU 周期窃取、CPU 与 IO 交替访问存储器2. 通道控制方式DMA 可以处理大批数据,但是对外设的管理仍由 CPU 承担,为能更好的发挥 CPU 效率,设置新硬件通道。通道是专门执行输入输出操作的处理机,它独立的对输入输出操作进行管理。当 CPU 执行 I/O 指令时,CPU 不执行输入输出操作,只启动通道执行输入输出操作,并将控制权转给通道。3. 主机与外设间的连接模式总线
44、型- 21 -在这种结构中,CPU 通过系统总线与外设相连,各外设通过各自的接口直接与公共的系统总线相连。CPU 经过地址锁存器向系统总线发出地址代码,经过数据缓冲器向系统总线发出或接收数据代码,经过总线控制器发出或接收控制信号。如果 CPU 暂时放弃对系统总线的控制,则有关的输出端呈高阻态,即与总线脱钩。此结构优点:结构简单,易于扩展,易于实现;缺点:信息吞吐量有限。辐射型在这种结构中,各外设和主机之间有各自独立的数据通路,因而形成以主机为中心向各设备辐射的星型连接。现在多采用 CPU 通过系统总线连接一个多口接口卡,由多口接口卡分别连接外设。各外设之间不能直接传送信息,它只能把信息通过接口
45、送入主机,再由主机送别的外设。优点:各外设各自独立,相互干扰小;缺点:不能实现设备之间直接通信。通道控制方式通道是一种专门负责管理输入输出操作的控制器,它执行一种通道程序。CPU 启动通道后可以并行地执行自身的程序,而通道则执行通道程序,或以DMA 方式实现主存与外设之间的数据直传,或让数据输入 CPU 或从 CPU 输出。这就使 CPU 从繁重的 I/0 操作中解脱出来,发挥其高速处理的优势,让 CPU 的处理与通道管理下的 I/0 操作并行地进行。从连接角度看,主机一般通过单独的数据通路分别连接数目有限的通道,各通道再用总线结构通过接口连接外设,可称为四级连接模式,即主机-通道-I/O 接
46、口或设备控制器- 外围设备。通道的概念具有较大弹性,在逻辑划分与功能上可作多种变化。有的系统让通道控制器位于 CPU 之中,称为结合型通道;有的系统则让它独立于 CPU 之外,称为独立型通道。通道执行的通道程序,可以放在主存中,与 CPU 共享主存;也可以自带局部存储器存放通道程序。它的功能可以只负责管理实现数据的输入输出,也可以发展为实现较复杂的预处理,变成输入输出处理机。输入输出处理机(IOP)方式IOP 比通道具有更强的独立性与通用性,它的功能与 CPU 类似,只是专用化,面向输入输出管理及相应的处理。IOP 有自己的指令系统,可以编制自己的程序;通过执行程序实现独立于 CPU 的输入输
47、出操作。在大型计算机系统中,主机通过专门的数据通路与 IOP 连接,IOP 通过总线再与外围设备连接。高档微型计算机系统也采用输入输出处理器,将 IOP 集成在一块芯片中。这种 IOP 芯片与 CPU 一起挂接在系统总线上,可共享主存。- 22 -当 CPU 进行输入输出时,将任务写入存储器的一个特殊区域中,然后通知IOP。IOP 从该区域中获知 CPU 的要求,并执行程序,完成指定的输入输出操作,然后用某些约定的特征信息或以中断请求信号通知 CPU。本章思考题1. I/O 设备有哪些编址方式,各有何特点?2. I/O 设备与主机交换信息时,共有哪几种控制方式?简述特点。3. 图形显示和图像显
48、示有何区别?4. 中断向量通过什么总线送至什么地方?为什么?5. 试从 5 个方向比较程序中断方式和 DMA 方式的区别。- 23 -第六章 计算机的运算方法教学时数:8 学时教学目的与要求:使学生掌握计算机系统信息的表示方法、基本逻辑运算和四则运算,理解运算的实现方法,信息的流动方式,运算器部件的组成结构及设计方法。教学重点:计算机信息的表示方法、定点数和浮点数的四则运算。教学难点:原码一位串行乘法算法乘法器、浮点乘除运算算法。第一节 无符号数及有符号数1. 机器数机器数包括原码、反码、补码和移码。1) 原码是一种机器数的表示法。它约定:对于一个正数,用“0” 表示它的符号,后面的数值部分就
49、是它的二进制数;对于一个负数,用“1”表示它的符号,后面的数值部分就是它的二进制数。2) 反码是一种机器数的表示法。它约定:对于一个正数,用“0” 表示它的符号,后面的数值部分就是它的二进制数;对于一个负数,用“1”表示它的符号,后面的数值部分就是它的二进制数(即原码)逐位变反(即“0” 变“1” , “1”变“0” )。3) 补码是一种机器数的表示法。它约定:对于一个正数,用“0” 表示它的符号,后面的数值部分就是它的二进制数;对于一个负数,用“1”表示它的符号,后面的数值部分就是它的二进制数(即原码)逐位变反,然后加 1。对负的补码进行还原的时候,数值位仍然采用逐位变反,然后加 1 的方法。对于一个四位的二进制数来说,变反意味着用一个最大的四位二进制数来减此二进