计算机原理笔记

计算机原理笔记(更新中)

依据《计算机原理》(第3版)主编:武马群 副主编:赵丽艳,较适用于江苏地区。


第一章 绪论

1.1计算机的特点
1、计算速度快
2、计算精度高
3、具有记忆功能
4、具有逻辑判断功能
5、高度自动化
1.2计算机的发展概况
世界公认的第一台计算机叫ENIAC,诞生于1946年;
第一代是电子管计算机,首次使用了机器语言编程,后又产生了汇编语言
第二代是晶体管计算机,出现了打印机、磁带、磁盘、内存等现代计算机部件和计算机管理软件,COBOL、FORTRAN等高级编程语言
第三代是中、小规模集成电路计算机,出现了操作系统诊断程序;
第四代是超大规模集成电路计算机计算机技术通信技术相结合使计算机进入网络时代。
1.3计算机的应用领域
1、科学计算
2、信息管理
3、过程控制
4、计算机辅助设计\辅助教学(计算机辅助设计简称CAD计算机辅助制造简称CAM计算机辅助教学简称CAI计算机辅助测试简称CAT
5、人工智能
6、网络应用
1.4计算机的分类
1、按功能和用途可以分为通用计算机和专用计算机;
2、按工作原理可以分为模拟计算机、数字计算机和混合计算机;
3、按性能和规模可分为巨型计算机、大型计算机、中型计算机、小型计算机、微型计算机和单片机
1.5计算机的发展趋势
1、巨型化
2、微型化
3、网络化
4、智能化(第五代计算机要实现的目标)。
1.6计算机系统的组成
一台完整的计算机应包括硬件系统软件系统
冯诺依曼体系结构,存储程序控制方式。
1.7计算机硬件系统
五个基本组成部分:
1、控制器
2、运算器
3、存储器(分为内存储器简内存又叫主存储器主存外存储器简称外存辅助存储器
4、输入设备
5、输出设备
其他外存储器、输入/输出设备统称为外围设备
计算机硬件系统

1.8计算机软件系统
计算机软件系统由系统软件应用软件构成。
系统软件:构成操作系统的程序及相关程序的集合。
系统软件的作用:控制和管理各种硬件装置,对运行在计算机上的其他软件及数据资料进行调度和管理,为用户提供良好的界面和各种服务,为用户提供与计算机交换信息的手段和方式。

计算机软件系统
计算机系统层次结构(由内到外):应用软件系统软件操作系统硬件系统


第二章 数据在计算机中的表示

2.1.1十进制数
基本代码:0,1,2,3,4,5,6,7,8,9
十进制数用后缀D表示,或者无后缀;十六进制数用后缀H表示;二进制数用后缀B表示;八进制数用后缀O或Q表示。
2.1.3 八进制数
二进制数转八进制数,只需要从小数点向左和向右每3位分为一组,每组用1位八进制数表示即可。(不足3位的应补0,凑成3位一组)
2.1.4 十六进制
二进制数十六进制数,即二进制数以小数点为界向左和向右每4位分为一组,不足4位的用0补齐4位,然后每组的4位二进制数用1位十六进制数表示即可。
2.1.5 二进制与其他数值的比较
1、数的状态简单,容易表示;
2、运算规则简单;
3、可以节省设备;
4、利于机器结构的简化。
2.2.1 二进制数与十进制数之间的相互转化
1、二进制数转换为十进制数
例:11608140201B=16+4=20D
2、十进制数转换为二进制数
整数部分和小数部分分别转换,然后再相加即可。
(1) 整数转换
除二取余倒排列。
(2) 乘二取整正排列。(若无限制地进行下去,可以根据精度要求,选取适当的位数)
2.2.2 八进制数和十进制数之间的相互转换
1、八进制转换为十进制
与二进制数转换为十进制数类似。
2、十进制转换为八进制
整数与小数部分的转换与十进制转换为二进制方法类似。
2.4.1 定点表示法
小数点的位置固定不变,约定在数值的某个位置上。
1、约定小数点隐含在最低数值后,这使得所有的数值位表示的数为整数,称为定点整数。
2、约定小数点隐含在最高数值位之前和符号位之后,这使得所有的数值位表示的数为小数,称为定点小数。
2.4.2 浮点表示法
小数点的位置不是固定的,是浮动的。
浮点表示法

Sf表示尾数的符号,0表示正,1表示负;p表示小数点的位置;Pf表示阶码的符号,0表示正,1表示负。
浮点数分为阶码和尾数两个部分,形式为:
浮点表示法之尾数

2.4.3 定点表示和浮点表示的方法
浮点规格化数:尾数的最高位是有效数字1而不是0,因此尾数因满足1/2≤S<1.
浮点数相加或相减时,若阶码不同即p不同,则需要先对阶(小数点对齐,阶码相同),然后才能相加。
对阶方法:使小阶向大阶看齐
2.5.1 机器数与真值
符号数字化了的数称为机器数,原来带有正负号的数称为真值。
机器数常用三种方法表示,即原码、补码和反码。
2.5.2 原码
在二进制原码表示的数中,符号位为0表示正数,符号位为1表示负数,其余各位表示尾数本身,这种表示法称为原码表示法。
小节:(1)原码符号位后的代码为真值的绝对值。
(2)+0的原码为00000000,-0的原码为10000000(以一个字节长表示)。
(3)正数的原码等于它本身,即【X】原=X
(4)原码的表示范围为:原码表示范围

原码小数表示范围为:原码小数表示范围

2.5.3 补码
(1)当X为正数时,【X】补=X。
(2)当X为负数时,【X】补=2n+X。
(3)当X=+0或-0时,补码只有一种形式00000000。
(4)当X=-2n-1时,【X】补=10000000B
(5)补码的表示范围:补码的表示范围
补码小数表示范围:补码小数表示范围

2.5.4 反码
(1)对于正数【X】反=【X】原=【X】补
(2)对于负数,则除符号位仍为1外,其余各位变反。
(3)对+0、-0有两种表示方法:【+0】反=000…0 【-0】反=111…1
(4)反码数的表示范围为+(2n-1-1)-(2n-1-1),+127-127。(n=8)
原、补、反码小结:
(1)正数的原码、反码、补码相同
(2)负数的符号位均用1表示,正数的符号位均用0表示。
(3)对于负数的原码、反码、补码,只有原码除符号位外其余部分为数值部分,反码、补码均不是数值部分。
(4)利用原码的符号位不动,其后各位分别求反,可得反码,反码在最低为+1可求得其补码,但不适用于字长范围的最小负数。
(5)负数的补码再求补码,可得其原码,原码的数值部分再加上负号,即为负数补码的真值。
(6)X<0时,【X】补=模+X,对表示范围内的数均适用
2.6.1 二-十进制码(8421 BCD码)
所谓8421 BCD码,即用4位二进制数表示一位十进制数
2.6.2 ASCII码
ASCII码是美国国家标准学会(ANSI)制定的7位字符编码。
二十六位字母:ABCDEFGHIJKLMNPQRSTUVWXYZ。
0到9:30H到39H A到Z:41H到5AH a到z:61H到7AH
2.6.4 汉字编码
1、汉字输入编码:
(1)数字编码。
(2)拼音码。
(3)字形编码。
2、汉字内码(机内码)
一般采用两个字节表示一个汉字。
为了与英文字母能相互区别,汉字内码中两个字节的最高位均规定为“1”
3、汉字字模码
字模码是用点阵表示的汉字字形代码,它是汉字的输出形式。
注:汉字区位码国标GB132312-80,规定了7445个汉字及符号,一级汉字3755个(按字母排列),二级汉字3008个(按部首排列),图形符号682个。例:南3147,31为区号,47为位号。
国标码:将汉字的区号和位号各增加32(20H),得到2个字节的二进制编码就是汉字的国标码。
国标码=区位码+2020H
机内码=国标码+8080H(使第一个数字均变为1)
一个16x16点的汉字点阵字模占用空间为:16/8(一个字节长度为8bit)X16=32B(字节)

第三章 运算方法和运算器

3.1.1 定点补码的加/减法
1、定点补码的加法运算
规则:【X】补+【Y】补=【X+Y】补
2、定点补码的减法运算
规则:【X-Y】补=【X】补+【-Y】补
注:【-Y】补的求法是将【Y】补连同符号一起求反加1。
3.2.1 算数逻辑部件
ALU能够处理数据的的位数与机器的字长有关。
3.2.2 通用寄存器组 (16位)
16位通用寄存器组

第四章 指令系统

4.1 指令系统概述
1.指令
指令是计算机能够识别和执行的操作命令。
2.指令系统
一台计算机或一个计算机系统能够执行的各种指令的集合,称为该计算机的指令系统。一台机器的指令系统越丰富,这台机器的处理功能越强。
一个完善的指令系统应满足下面几个方面的要求:
(1) 完备性
(2) 有效性
(3) 规整性
(4) 兼容性
指令系统分为CISC(复杂指令集计算机)和RISC(精简指令集计算机)。
4.2.1 指令格式
指令格式

地址码包含:源操作数和目的操作数。
1.操作码
操作码表示操作的性质及功能。
2.地址码
地址码用于表示指令的操作对象,指出操作数的地址。
3.指令长度
指令长度=操作码长度+地址码长度(操作码地址个数)。
指令长度通常设计为字节的整数倍。
4.2.2 指令格式分类
指令中包含的地址码字段包括:
(1) 源操作数的地址。
最多可有两个源操作数地址。
(2) 操作结果数的地址,用以存放运算的结果。
指令格式按地址码部分的地址个数可分为以下几种。
1.三地址指令格式
三地址指令格式
OP表示操作码,指令意义:(A1)OP(A2)→(A3)
2.二地址指令格式
二地址指令格式
指令意义:(A1)OP(A2)→(A1)
3.一地址指令格式
	一地址指令格式
指令意义:(AC)OP(A)→(AC)
4.零地址指令格式
零地址指令格式
指令中只有操作码,没有地址码。
4.2.3 操作码格式
操作码的位数决定了操作类型的多少,位数越多,所能表示的操作种类也越多。
1.定长操作码
这是一种比较规整的操作码编码方式,即让操作码的长度固定且集中放在指令字的一个字段中。
2.扩展操作码
这是一种不规整的操作码编码方式,即操作码的长度可变且分散地放在不同的字段中。
4.扩展操作码
4.3 寻址方式
寻址方式分为两类,即指令的寻址方式和操作数的寻址方式。
4.3.1 指令的寻址方式
1.循序寻址方式(必须使用PC程序计数器来存储指令的顺序号,该顺序号就是指令在内存中的地址)。
2.跳跃寻址方式
当程序转移执行的顺序时,指令的寻址就采取跳跃寻址方式。
4.3.2 操作数的寻址方式
1.立即寻址方式
立即寻址方式是指操作数直接在指令中给出的寻址方式,包含在指令中的操作数称为立即数。(直接给出操作数)
例:指令ADD AX,3165H
2.直接寻址方式
直接寻址是把操作数的地址直接作为指令中的地址码。
例:指令MOV AX,[address]
3.寄存器寻址方式
指令的地址码部分给出某个通用寄存器的地址,而且所需的操作数就在这个寄存器中,则称为寄存器寻址方式。
4.间接寻址方式
当地址码不是操作数的地址,而是另一个地址的地址时,该寻址方式称为间接寻址方式。
(1)寄存器间接寻址方式
在这种寻址方式中,操作数在内存中,在指令中给出存放操作数地址的寄存器号,常用助记符为R。
(2)存储器间接寻址方式
在这种寻址方式中,指令中给出存放操作数地址的存储单元的地址,常用助记符为@。
5.变址寻址方式
将指令中给出变址寄存器的内容与指令地址码部分给出的地址偏移量之和作为操作数的地址来获得所需的操作数,称为变址寻址方式。
SI和DI是两个变址寄存器。
例:指令MOV AL,[SI-100H]
6.基址寻址方式
与变址寻址方式类似,但在基址寻址方式中,基址寄存器提供的是基准值,指令中提供的是偏移量,变址寻址方式与其正好相反。
BX与BP称为两个基址指针。
例:指令MOV AL,[BX+10H]
7.基址加变址寻址方式
基址寻址和变址寻址两种寻址方式的组合称为基址加变址寻址方式。
例:指令MOV AX,[BX+SI+3BH]
8相对寻址方式
把PC程序计数器的当前内容与指令的地址码部分给出的地址(偏移量)之和作为操作数的地址或程序转移地址的寻址方式,称为相对寻址方式。
4.4.1 数据传送类指令
数据传送指令用于寄存器、存储单元或输入/输出端口之间的数据或地址传送。数据传送时,把源地址的数据传送到目的地址,而源地址中的数据保持不变。
1.传送类指令
传送类指令包括传送指令(MOV)、数据交换指令(如XCHG)、入栈指令(PUSH)、出栈指令(POP)等。
(1)传送指令。
(2)数据交换指令。
(3)入栈指令/出栈指令。
2.输入/输出(I/O)类指令
这类指令完成主机与外设之间的信息传送,包括输入/输出数据,主机向外设发送控制命令或了解外设的工作状态等。
(1)设置专用的I/O指令。
(2)用通用的数据传送类指令实现I/O操作。
(3)通过I/O处理机执行I/O操作。
4.4.2 数据处理类指令
1.算术运算指令
几乎所有的计算机指令系统都设置有加(如ADD)、减(如SUB)、求补(如NEG)、加1(如INC)、减1(如DEC)、比较(如CMP)等最基本的定点运算指令。还有乘(如MUL)、除(如DIV)。
2.逻辑运算指令
逻辑运算指令包括逻辑乘(与)、逻辑加(或)、逻辑非(求反)、异或(按位加)等操作。
(1)利用“逻辑乘”做按位测试。
(2)利用“逻辑乘”做按位清除。
(3)利用“逻辑加”做按位设置。
(4)利用“异或”判断、修改某些位,产生随机数。
3.移位指令
移位指令

移位指令分为算术移位、逻辑移位和循环移位三类。
移位操作还有一个重要的用途,它可代替乘以2的幂次方或除以2的幂次方运算。某操作数左移一位,相当于该操作数乘以2;某操作数右移一位,相当于该操作数除以2。
4.串操作指令
串操作指令一般包括串传送指令、串比较指令、串查找指令等。
4.4.3 程序控制类指令
这类指令用以控制程序执行的顺序和方向。
1.转移指令
(1)无条件转移指令
(2)条件转移指令
条件转移指令JZ(为零转)、JNZ(不为零转)、JS(为负转)、JNS(为正转)、JC(有进位转)、JNC(无进位转)、JO(溢出转)、JNO(无溢出转)等。
2.循环控制指令
循环控制指令(如LOOP)。
3.子程序调用和返回指令
子程序调用指令(如CALL)就是用来调用子程序的。
返回指令(如RET)。
4.程序自中断指令
中断指令INT n,n表示中断类型。
4.4.4 处理机控制类指令
1.停机(HALT)指令。
2.空操作(NOP)指令。
3.开中断(EI)指令和关中断(DI)指令。
4.5 汇编语言
1.汇编语言
汇编语言是一种面向机器的程序设计语言,以助记符形式表示,属于低级程序设计语言。
采用汇编语言编写的程序称为汇编语言源程序,源程序只能用于人机对话,并不能被机器直接执行,必须由“汇编程序”翻译成机器语言的目标程序。
“汇编程序”是一种系统程序,实现将源程序翻译成目标程序的服务。
2.机器语言
机器语言是一种能被机器识别和执行的语言,用二进制数“0”和“1”形式表示。
机器语言常写成十六进制形式,指令的十六进制代码形式与它的二进制代码形式是对应关系。
汇编语言的汇编过程

在DOS系统中,目标程序用.OBJ文件存储。

第五章 存储系统

5.1.1 存储器的分类
存储器的分类

1.按存储介质分类
(1)半导体存储器
①双极性半导体存储器
采用TTL电路作为存储单元
②MOS型半导体存储器
广泛应用于大容量的主存储器中
(2)磁表面存储器
主要用做辅助存储器
2.按存取方式分类
(1)随机存储器
随机存储器又称为读写存储器,用MOS器件构成的RAM又分为静态随机存储器(SRAM)和动态随机存储器(DRAM)。
(2)只读存储器
ROM可分为掩模式只读存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEP-RAM)。
3.按信息的可保存性分类
(1)易失性存储器
(2)非易失性存储器
4.按在计算机中的作用分类
按在计算机中的作用可将存储器分为内存储器(主存储器)、外存储器(辅助存储器)和高速缓冲存储器等。
5.1.2 存储器的主要性能指标
衡量一个主存储器性能的指标主要是存储器的存取时间、存储容量、存储周期、可靠性、性能价格比等。
5.2.1 随机存储器
1.静态随机存储器(SRAM)
(1)基本存储单元
(2)存储体
存储体是存储单元的集合
(3)地址译码器
(4)I/O电路
(5)片选与读/写控制电路
(6)输出驱动电路
2.半导体存储器的组成及寻址
(1)位扩展法
并联存储器芯片
注:多少位即多少根数据线。
(2)字扩展法
串联存储器芯片
注:2n=字数,n为地址线根数。
(3)存储器的容量计算公式:末地址-首地址+1
5.动态随机存储器(DRAM)
(1)DRAM的刷新
1.集中式刷新。
2.分散式刷新。
3.异步式刷新。
5.2.3 高速缓冲存储器
计算机内部存储层次:高速缓冲>内存>辅助存储器。
1.地址映射
为了把信息放到Cache中,必须应用某些函数把主存地址映射到Cache中定位,称为地址映射。
(1)直接映射
每个主存地址映射到Cache中的一个指定地址的方式称为直接映射。
(2)全相联映射
主存中的每一个字块可映射到Cache中任何一个字块位置上,这种方式称为全相联映射。
(3)组相联映射
组相联映射方式是全相联映射和直接映射的一种折中方案。
2.替换策略
(1)先进先出策略(FIFO)
(2)近期最少使用策略(LRU)
注:LRU替换策略的平均命中率比FIFO要高,并且当分组容量加大时能提高LRU替换策略的命中率。
5.2.4 虚拟存储器(Virtual Memory,VM)
1.虚拟存储器的基本概念
虚拟存储技术是在主存与辅存之间增加软件及必要的硬件,使主存和辅存之间的信息交换、程序的再定位、地址的转换都能自动进行,使两者形成一个有机的整体。
2.虚拟存储器的管理方式
(1)段式管理
(2)页式管理
(3)段页式管理

第六章 中央处理器

6.1.1 CPU的功能
1.指令控制
程序的顺序控制,称为指令控制。它控制指令严格地按程序设定的顺序进行。“存储程序控制”概念。
2.操作控制
3.时间控制
对各种操作实施时间上的定时,称为时间控制。
4.数据加工
6.1.2 CPU的组成
传统的CPU由运算器和控制器两大部分组成。
控制器由程序计数器(PC)、指令寄存器、指令译码器、控制信号发生器和时序产生器5部分组成。
1.程序计数器(PC)
程序计数器的功能就是用来确定下一条指令在主存中的地址。
程序计数器值的修改分成两种情况:一是顺序指令的执行情况,二是分支转移指令的执行情况。
2.缓冲寄存器(DR)
缓冲寄存器用来暂时存放CPU从主存读出一条指令字或一个数据字。当CPU要将数据传送给主存时,也先将数据保存到缓冲寄存器中。
缓冲寄存器的作用:
(1)作为CPU和主存、外设之间的信息中转站。
(2)对数据起缓冲作用,补偿CPU和主存、外设之间的操作时间差异。
(3)为算术逻辑部件提供一个操作数。
3.指令寄存器(IR)
指令寄存器用来保存当前CPU正在执行的一条指令。
为了能执行任何给定的指令,必须先确定该指令的操作性质,即指令译码器先要对指令中的操作码进行译码,以便向控制器发出具体操作的特定信号。
4.地址寄存器(MAR)
地址寄存器用来保存CPU当前所要访问的主存单元或I/O端口的地址,是CPU与内存或外设之间的地址缓冲寄存器。
5.累加寄存器(AC)
累加寄存器简称累加器。它的信息来源于缓冲寄存器或算数逻辑部件(ALU),它的数据出口是算数逻辑部件。
累加器为算数逻辑部件提供一个操作数,并用来保存操作给结果。
算数逻辑部件最基本的操作是加法,这就是累加器名称的由来。
6.状态寄存器
状态寄存器用来保存算数运算指令、逻辑运算指令及各类测试指令的状态结果,为后续指令的执行提供判断条件。
6.2.1 时序控制方式
时序控制方式可分为同步控制与异步控制两大类。
1.同步控制方式
各项操作与统一的时序信号同步,称为同步控制。
(1)时间分配
同步控制方式的基本特征是将操作时间划分为许多时钟周期,周期长度固定,每个时钟周期完成一部操作,例如一次加法操作。
(2)同步定时
有许多操作需要严格地同步定时。
(3)各部件间的协调
在一个CPU的内部,通常只有一组统一的时序信号系统,CPU内各部件间的传送也就由这组统一的时序型号同步控制。
注:同步控制方式的优点是时序关系比较简单,控制部件在结构上易于集中,设计方便;缺点是在时间安排上不经济。
2.异步控制方式
异步控制方式是指各项操作按其需要选择不同的时间,不受统一的时钟周期的约定,各项操作之间的衔接与各部件之间的信息交换采取应答方式。
异步控制方式的基本特征是:在异步控制所涉及的范围内,没有统一的时钟周期划分和同步定时脉冲,但存在着申请、响应、询问、回答一类的应答关系。
异步控制方式的优点是时间紧凑,能按不同部件、设备的实际需要分配时间;缺点是实现异步应答所需的控制比较复杂。
注:系统总线操作控制和连接各种设备、外设采用异步控制;CPU或设备内部采用同步控制。
6.2.2 多级时序的建立
同步控制方式中常将时序关系划分为几个层次,称为多级时序。
(1)指令周期
读取并执行一条指令所需的时间称为一个指令周期。不同类型的指令,其指令周期是长短可以不同。通常,以开始取指令作为一个指令系统的开始,即上一个指令周期的结束。
(2)CPU工作周期
在组合逻辑控制器中常将指令周期划分为若干个工作阶段,如取指令、读取源操作数、读取目的操作数、执行等阶段。在不同工作阶段中完成不同的操作,依据的指令代码段也各不相同。
在指令周期中的某一工作阶段所需的时间称为一个CPU工作周期。
(3)时钟周期(节拍)
在同步控制方式中,时序系统需按固定时间分段设置时钟周期。
每个时钟周期(又称为一拍)完成一步操作,如一次传送、加/减等,这是时序系统中最基本的时间分段。
各时钟周期长度相同,一个工作周期可根据其需要,由若干个时钟周期组成。
不同CPU工作周期或不同指令中的同一种CPU工作周期,其时钟周期数目可以不同。
(4)定时脉冲
时钟周期提供了一项操作所需的时间分段,但有的操作如打入寄存器,还需严格的定时脉冲,以确定在哪一时刻打入。
时钟周期的切换也需要严格的同步定时。
6.3 指令周期
指令周期

指令周期常常用CPU工作周期数来表示,CPU工作周期又称为机器周期。时钟周期是处理操作的最基本的单位,它通常被称为节拍脉冲。
通常从主存中取出一条指令的最短时间来规定CPU工作周期。
一条指令的指令周期至少需要两个CPU工作周期。对于一些操作相对复杂的指令,则需更多的CPU工作周期。
1.非访内指令的指令周期
清累加器指令(CLA)是非访内指令,需要2个CPU工作周期:取指令阶段的1个CPU工作周期,执行指令阶段的1个CPU工作周期。
2.直接访内指令的指令周期
法指令(ADD,D)是直接访内指令,需要3个CPU工作周期:取指令阶段1个CPU工作周期,执行指令阶段的2个CPU工作周期。
3.间接访内指令的指令周期
存数指令(STA,@D)是间接访内指令,需要4个CPU工作周期:取指令阶段的1个CPU工作周期,执行指令阶段的3个CPU工作周期。
4.程序控制指令的指令周期
无条件转移指令(JMP,D)是程序控制指令,指令周期需要2个CPU工作周期:取指令阶段的1个CPU工作周期,执行指令阶段的1个CPU工作周期。

第七章 系统总线

7.1.1 总线的概念
总线是能被系统中多个部件分时共享的一组信息传输线及相关逻辑。分时是指在某一时刻总线只允许有一个部件将信息送到总线上。分时共享/分时复用是总线的主要特征,在计算机系统中,将不同来源和去向的信息在总线上分时传送,不仅可减少传输线的数量,简化控制和提高可靠性,而且便于扩充更新新的部件。
7.1.2 总线的分类
1.按总线连接的部件分类
(1)内部总线。指同一部件内部各器件之间连接的总线,内部总线结构简单,传输距离很短,传输速度很高。
(2)系统总线。指在一个计算机系统内连接CPU、主存、I/O接口等部件的总线。系统总线包括地址、数据和控制信号三类传输线以及电源线。系统总线的连接距离较短,传输速度较快。
(3)外部总线。主要是指多台计算机之间的连接总线或计算机与外围设备之间的连线。外部总线的传输距离一般较远,速度较低。
2.按传送方向分类
(1)单向总线。总线传输信息的方向是单一的。
(2)双向总线。总线传输信息的方向是两个方向。
3.按数据传送格式分类
(1)并行总线。并行总线中的数据线有多根,可同时传送多个二进制位。系统总线一般是并行总线,其数据通路宽带多与CPU一致,并为字节(8位)的整数倍。
(2)串行总线。串行总线中的数据线很少,只能串行地逐位传送数据。外部总线较多采用串行总线,以节省通信线路的成本,实现远距离传输。
4.按时序控制方式分类
(1)同步总线。同步总线设置有统一的时钟信号,进行数据传送时,收发双方严格遵循这个时钟信号。应用于总线上各部件间工作速度差异较小的场合,其控制较简单,但时间利用率可能不高。
(2)异步总线。异步总线在数据传送时,没有统一的时序信号,采用应答方式工作。时间利用率很高,但相应的控制较复杂。
(3)准同步总线。这种总线实际上采用同步、异步相结合的方法。既有同步总线控制简单的优点,又有异步总线时间利用率高的优点。
7.1.3 系统总线的组成
系统总线由数据总线、地址总线、控制总线和电源线组成。
1.数据总线DB(Date Bus)
数据总线用于设备之间的数据传送。数据总线的一个重要指标是宽度,可将系统总线分为8、16、32、64位总线等。一般为双向总线。
2.地址总线AB(Address Bus)
地址总线用于传送地址信号,以确定所访问的存储单元或某个I/O端口。地址总线一般有16、20、24、32位等几种宽度标准。地址总线的宽度确定了可访问内存空间的大小。地址总线为单向总线。
3.控制总线CB(Control Bus)
控制总线用于传送各类控制/状态信号。针对各种不同的总线标准,其数据总线和地址总线的差别都不大,而它们的控制总线则各具特色,差别很大。控制总线的组成体现了不同总线的特点。
4.电源线
主要有+5V逻辑电源线、GND逻辑电源地线、-5V辅助电源线、+/-12V辅助电源线、AGND模拟地线。
7.2.1 总线结构
系统总线的实体是一组传送线,但实际上还包括了一系列相关的逻辑,如总线控制权的申请、批准与转移、总线状态信号产生、总线传送操作的时序控制、读/写操作控制等。按照连接方式的不同,计算机系统中采用的总线结构有单总线结构和多总线结构。
(1)单总线结构(常见)
单总线结构(常见)

(2)多总线结构(常见)
多总线结构(常见)

由于磁盘等高速外设采用直接存储器存取方式DMA,因此这种总线称为DMA总线。为了进一步提高CPU与I/O系统的并行性,往往由输入输出处理机(IOP)来组织I/O设备。为了解决主存MM工作速度相对CPU太慢的问题,在主存MM与CPU之间增加高速缓冲Cache,并在Cache与CPU之间增设一组高速局部总线Cache总线,支持CPU与Cache之间的高速数据交换。外设不直接挂在系统总线上,而是挂在扩展总线上,通过桥接器与系统总线相连。桥接器由总线控制器、数据缓冲区及总线加速器组成。总线控制器在总线争用时起仲裁作用。数据缓冲区的作用在于支持并行工作,并尽快释放系统总线。
2.总线结构对计算机系统性能的影响
(1)最大存储容量
由于某些地址必须用于外设,所以在单总线系统中,最大主存容量必须小于由计算机字长所决定的容量。
由于主存地址和外设地址出现在不同的总线上,所以存储容量不会受到外设数量的影响。
(2)指令系统
在单总线系统中,访问主存和I/O传送使用相同的指令,但使用不同的地址。在双总线系统中,访问内存和访问输入/输出操作各有不同的指令。
(3)吞吐量
计算机系统的吞吐量是指流入、处理和流出系统的信息的速率。它取决于CPU将指令数据从内存取出或存入的速度以及把所得结果从内存送到外设的速度。系统吞吐量主要取决于主存的存取周期。
3.总线结构类型
常用的微型机系统总线可分为ISA、EISA、PCI、AGP等多种标准。
(1)ISA/EISA总线
(2)PCI总线
(3)AGP总线
7.2.2 总线接口
1.接口的基本概念
接口又称为I/O设备适配器,是指CPU和主存、外设之间通过总线进行连接的逻辑部件。
一个标准接口可能连接一个设备,也可能连接多个设备。
典型的接口通常具有如下功能:
(1)控制。
(2)缓冲。
(3)状态。
(4)转换。
(5)整理。
(6)程序中断。
2.标准接口类型
在微机中使用最广泛的接口是IDE、EIDE、SCSI、IEEE 1394和USB这5种。目前较新较广泛的接口有type-c、SATA、ATA、m.2、RJ45等。
(1)IDE/EIDE接口
具有多种优点,且成本低廉。
(2)IEEE 1394接口
可用较低的成本获得较高的性能。

第八章 输入/输出系统

8.1 外设的信息交换方式
1.程序查询方式
又称为程序控制方式。数据在CPU和外设之间的传送完全靠计算机程序控制。
优点:CPU的操作和外设的操作能够同步,而且硬件结构比较简单。
实际应用中CPU定期地由主程序转向查询设备状态的子程序进行扫描轮询。
2.程序中断方式
中断是外设用来“主动”通知CPU,准备送出输入数据或接收输出数据的一种方法。
中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即进行。
与程序查询方式相比,硬件结构相对复杂一些,服务时间开销较大。
3.DMA方式(直接内存访问DMA方式)
是一种完全由硬件执行I/O交换的工作方式,这种方式既考虑到中断响应,同时又节约了中断开销。
优点:数据传送速率很高,传送速率仅受到内存访问时间的限制。
与程序中断方式相比,需要更多的硬件。
DMA方式适用于内存和高速外设之间有大批数据交换的场合。
4.通道方式(输入输出处理器IOP)
通道是一个具有特殊功能的处理器,可以实现对外设的统一管理和外设与内存之间的数据传送。大大提高了CPU的工作效率。
5.外围处理机(PPU)方式
PPU基本上独立于主机工作,机构更接近一般处理机,甚至就是一般的微、小型计算机。
程序查询方式和程序中断方式(主要由程序实现)适用于数据传输率比较低的外设,而DMA方式、通道方式和PPU方式(主要由附加硬件实现)适用于数据传输率比较高的外设。小型机和微型机中大都采用程序查询方式、程序中断方式和DMA方式。通道方式和PPU方式大都用在中、大型计算机系统中。
8.2.1 程序查询方式的基本概念
1.定义
CPU需要根据外设的工作状态来决定何时进行数据传送,它要求CPU随时对接口状态进行查询。如果接口尚未准备好,CPU必须等待,并进行查询。只有接口已准备好,CPU才能进行数据的输入/输出,这就是程序查询方式。
2.程序查询方式的数据传送过程
程序查询方式是利用程序控制实现CPU和外部设备之间的数据传送。
①先向I/O设备发出命令字,请求进行数据传送。
②从I/O接口读入状态字。
③检查状态字中的标志,看看数据交换是否可以进行。
④假如这个设备没有准备就绪,则第②、第③步重复进行,直到这个设备发出准备就绪信号“Ready”为止。
⑤CPU从I/O接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器。与此同时,CPU将接口中的状态标志复位。
3.程序查询方式的优缺点
优点:简单、经济。只需要少量的硬件,主要以编制程序为主,较容易实现。
缺点:效率低、速度慢。不管是执行子程序,还是查询外设是否准备好,都得占用CPU时间。因此,程序查询方式主要适用于I/O设备少、数据传送速率低的系统。
8.2.2 程序查询方式的接口
接口是指CPU总线与I/O设备之间的一个逻辑电路。
1.设备选择电路
2.数据缓冲寄存器
3.设备状态位(标志)
8.3.1 中断的基本概念
1.定义
由于处理突发事件是以CPU执行中断处理程序的方式进行的,因此这种控制方式称为程序中断方式,简称中断。
独立于CPU现行程序的外部事件,所提出的服务申请称为中断请求;
CPU对中断请求的认可称为中断响应;原程序被中断的位置(程序地址)称为断点;用于处理该事件的程序称为中断处理(服务)程序;保存被中断位置称为断点保护;原程序中各通用寄存器的内容称为现场;在中断处理程序开始要保存的寄存器内容称为现场保护;在中断处理程序即将结束前要恢复这些寄存器内容,称为现场恢复;返回原来被中断的位置称为中断返回。
中断有两个重要特征:程序切换(控制权的转移)和随机性。
2.向量中断和非向量中断
(1)向量中断
外设在提出中断请求的同时,通过硬件向主机提供中断服务程序的入口地址,它称为向量地址。这种具有产生向量地址的中断功能称为向量地址。
(2)非向量中断
非向量中断不能直接提供中断服务程序的入口地址,而要采用软件查询措施,最后找到服务程序的入口地址。
8.3.2 程序中断方式的接口
接口中有决定是否向CPU发出中断请求的机构:“准备就绪”标志(RD)和“允许中断”标志(EI)两个触发器。CPU中有决定是否受理中断请求的机构:“中断请求”标志(IR)和“中断屏蔽”标志(IM)两个触发器。
准备就绪的标志(RD):一旦设备做好一次数据的接收或发送,便发出一个设备动作完毕信号,使RD标志置1。在中断方式中,该标志用做中断源触发器,简称中断触发器。
允许中断触发器(EI):可以用程序指令来置位。EI为1时,某设备可以向CPU发出中断请求;EI为0时,不能向CPU发出中断请求。
中断请求触发器(IR):它暂存中断请求线上由设备发出的中断请求信号。当IR标志为1时,表示设备发出了中断请求。
中断屏蔽触发器(IM):是CPU是否受理中断或批准中断的标志。IM标志为0时,CPU可以受理外界的中断请求;反之,IM标志为1时,CPU不受理外界的中断。
8.3.3 中断系统的组成
1.中断源及分类
所谓中断源是指能够引起中断的事件或能够发生中断请求的来源。
中断源的分类:
①输入/输出设备中断。
②数据通道中断。
③实时时钟中断。
④故障中断。
⑤系统中断。
2.中断请求的提出
中断技术分为:单线中断、多线中断和多线多级中断技术。
3.中断排队
中断排队也就是中断的优先权问题。当多个中断源同时向CPU发出中断请求时,CPU就要根据设备的轻重缓急,把各个设备(中断源)排队,先响应紧迫程度高的设备的请求。
判别各设备优先权级别的方法有硬件判优和软件判优两种。
4.中断的禁止(屏蔽)和开放
使用中断屏蔽使同一级及低一级中断不能中断同一级及高一级的中断服务子程序。
8.3.4 中断的处理过程
1.中断请求
①外设本身工作完毕。
②系统允许外设发送中断请求。
2.中断响应
中断响应是指处理机从发现中断请求、中止现行程序到引出中断服务程序这一过程,即完成现行程序状态切换到中断服务程序状态的转换过程。
中断响应的条件包括:
①中断源有中断请求。
②CPU处于开中断状态,而且没有更高优先级的中断请求存在。
③一条指令执行完毕。
中断响应过程的主要内容包括:
①中断现行程序。
②保护现场。
③中断服务程序入口地址送入程序计数器PC。
3.中断处理
中断处理是指中央处理器执行中断服务程序。中断服务程序的处理功能由中断处理的任务来决定。
4.中断返回
由事先放在中断服务程序末尾的一条中断返回指令实现。
实现一次完整的中断处理过程,一般要经过以下几个步骤:中断源提出中断请求;当现行指令执行完毕,处理机响应中断,即由硬件直接形成一条隐指令,由隐指令来完成对关键硬件状态的保护,并转入中断服务程序;中断服务程序在完成其他必要的现场保护后,便对中断源进行具体的服务处理;中断处理完成后,中断服务程序把原来保存的现场恢复;最后返回中断点。中断返回可以在中断服务程序程序的最后安排一条专用的中断返回指令来实现,该指令的功能就是用来恢复关键的硬件状态,返回到中断点。
简要流程图:
流程图

8.3.5多重中断
多重中断是指在处理某一中断过程中又有比该中断优先级高的中断请求,于是中断原中断服务程序的执行,而去执行新的中断处理,这种多重中断又称为中断嵌套。
8.4.1 DMA方式的基本概念
1.定义
DMA(直接存储器存取)方式是指在内存与设备之间开辟一条直接数据传送通路,并把传送过程交给DMA控制器进行管理,形成以存储器为中心的体系结构。DMA可以看做是和CPU共享存储器的处理器。
DMA方式是在内存与I/O设备之间有直接的数据传送同路,不必经过CPU,称为数据直传,即输入设备的数据可经系统总线中的数据总线直接输入内存,而内存中的数据可经数据总线直接输出给输出设备,因此称为直接存储器存取。这样的数据直传由硬件控制实现,不依靠执行程序指令来实现。
2.DMA方式的特点
DMA方式的特点是以响应随机请求的方式,实现内存与I/O设备间的快速数据传送。DMA传送的插入不影响CPU的程序执行状态,除了访问内存的冲突外,CPU可以继续执行自己的程序,从而提高CPU的利用率,但DMA方式只能处理简单的数据传送。
3.DMA方式的基本操作
①从外设发出DMA请求。
②CPU响应请求,把CPU工作改为DMA操作方式。DMA控制器从CPU接管总线的控制。
③由DMA控制器对内存寻址,即决定数据传送的内存单元地址及数据传送的长度,并执行数据传送操作控制。
④向CPU报告DMA操作的结束。
8.4.2 DMA控制器的基本组成
(1)内存地址计数器
(2)字计数器
(3)数据缓冲寄存器
(4)“DMA请求”标志
(5)“控制/状态”逻辑
(6)中断机构
8.4.3 DMA数据传送过程
(1)预处理
(2)正式传送
当外设准备好发送数据(输入)或接收数据(输出)时,它发出DMA请求,由DMA控制器向CPU发出总线使用权的请求(HOLD)。
DMA的数据传送是以数据块为基本单位进行的。
(3)后处理
8.5.1 通道的基本概念
1.定义
通道是一种通过执行通道程序管理I/O操作的控制器,它使主机与I/O操作之间达到更高的并行程度。由于它的任务是管理实现输入/输出操作,提供一种传送通道,所以将这种部件称为通道。
在采用通道方式的指令系统中,除了供CPU编程使用的机器指令系统外,还设置另外供通道专用的一组通道指令,用通道指令编制通道程序,存入存储器。当需要进行I/O操作时,CPU只需启动通道,然后可以继续执行自身的程序,通道则执行通道程序,管理与实现I/O操作。CPU与通道之间可以有很高的并行程度。
2.通道方式的特点
①通道方式是一种在DMA方式的基础上发展形成的、功能更强的I/O管理方式,它覆盖了DMA方式的功能。
CPU把数据传输功能下放给通道,这样,通道与CPU分时使用内存,就可以实现CPU与外设的并行工作。
②采用两类总线的系统结构,一类是连接CPU、通道和主存的所谓存储总线,一类是连接通道与设备的I/O总线。
③整个系统分为两级管理,第一级是CPU对通道的管理,第二级是通道对设备控制的管理。
与DMA方式相比:两者都能在I/O设备与主存间建立数据直传通路,使CPU从I/O操作中脱身出来提高CPU与I/O设备之间的并行处理程度。DMA方式直接依靠纯硬件管理,只能实现简单的数据传送;而通道是依靠执行通道程序来管理的,因而具有更强的功能,如对该通道所有I/O设备实施统一管理,对输入数据进行某些预处理,对I/O过程进行检测、判别与处理,进一步减轻CPU负担,使与I/O间并行程度更高,等等。
8.5.2 通道的功能
①接受CPU的I/O指令,按指令要求与指定的外围设备进行通信。
②从内存选取属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令。
③组织外围设备和内存之间进行数据传送,并根据需要提供数据缓存的空间,以及提供数据存入内存的地址和传送的数据量。
④从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用。
⑤将外围设备的中断请求和通道本身的中断请求,按次序及时报告CPU。
8.5.3 通道的类型
1.选择通道
可以连接多台快速I/O设备,但每次只能从中选择一台设备执行通道程序。当成组传送完毕后,才能选择另一台设备。
选择通道在物理上可以连接多台设备,但在逻辑上相当于每段时间只连接了一台设备。
2.字节多路通道
这种通道可以连接与管理多台慢速设备,以字节交叉方式传送数据。
字节多路通道是指这种通道控制器可通过多条子通道连接多台I/O设备。
3.数组多路通道
这种通道可以连接多台快速设备,允许并行工作,但通道以成组交叉方式传送数据。
快速设备要求成组连续传送,不允许以字节为单位切换设备,不能采用字节多路通道。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JJC_O

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值