导图社区 考研408计算机组成原理笔记汇总
这是一篇关于考研408计算机组成原理的思维导图,一张图带你完全了解相关内容,通过思维导图帮你提高效率,赶紧收藏学习吧!
编辑于2024-04-15 10:06:36目录
第1章 计算机系统概述
第2章 数值系统
第3章 存储器
第4章 指令系统
第5章 CPU系统
第6章 总线
第7章 I/O系统
第1章 计算机系统概述
计算机系统
硬件
计算机系统的实体部分。它由看得见摸得着的各种电子元器件及各类光、电、机设备的实物组成,包括主机、外设等
主机
外设
用户与计算机通信的界面
软件
人们事先编制的具有各类特殊功能的程序,是无形的
系统软件
用来对整个计算系统进行调度、管理、监视及服务的各种软件
操作系统
网络服务程序
语言处理程序
数据库管理程序
数据库系统不是系统软件,数据库管理系统才是系统软件
程序设计语言
其他实用程序和工具
应用软件
用户在各自的系统中开发和应用的各种程序
办公软件
多媒体软件
辅助设计软件
企业应用软件
网络应用软件
安全防范软件
娱乐休闲软件
驱动程序
计算机的驱动程序是属于应用软件。可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。正因为这个原因,驱动程序在系统中的所占的地位十分重要,一般当操作系统安装完毕后,首要的便是安装硬件设备的驱动程序。不过,大多数情况下,并不需要安装所有硬件设备的驱动程序,例如硬盘、显示器、光驱等就不需要安装驱动程序,而显卡、声卡、扫描仪、摄像头、Modem等就需要安装驱动程序。另外,不同版本的操作系统对硬件设备的支持也是不同的,一般情况下版本越高所支持的硬件设备也越多。设备驱动程序用来将硬件本身的功能告诉操作系统,完成硬件设备电子信号与操作系统及软件的高级编程语言之间的互相翻译。
软件和硬件的功能是等效的
计算机硬件的组成
早期冯·诺依曼机(普林斯顿)结构
指令以二进制代码的形式事先输入计算机的主存储器,主存里面存贮的不仅有数据还有指令,而且他们的形式都是相同的。 
存储程序
几大特点
(1)计算机由五大部件组成 (2)指令和数据以同等地位存储在存储器中,并按地址寻问 (3)指令和数据均以二进制代码表示 (4)指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置 (5)指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序 相比之前的计算装置最大的改进是提出了“存储程序”的概念,将指令以代码的形式事先输入计算机的主存储器。
运算器(核心)
现代计算机结构
(1)以存储器为核心,改进的原因是为了使I/O设备尽可能地绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率。 (2)CPU=运算器+控制器 (3)I/O设备=输入设备+输出设备 
现代计算机体系抽象
重难点
计算机硬件系统的组成(重难点)

运算器
运算器:计算机的执行部件,算术运算(+、-)逻辑运算(与,或,异或等) 
ACC
ACC:累加器,用于存放操作数,或运算结果
MQ
MQ:乘商寄存器,在乘、除计算时用于存放操作数或者运算结果
X
X:通用的操作数寄存器,用于存放操作数
ALU
ALU:算术逻辑单元,是运算器的核心
GPRs
GPRs:通用寄存器组(由若干通用寄存器组成,早期就是累加器)
控制器
控制器:计算机的控制器:计算机的指挥中心 
PC
PC:程序计数器,存放下一条指令的地址 MAR位数=PC位数,PC所能寻址的范围,就是地址的范围。
IR
IR:指令寄存器,存放当前正在执行的指令 MDR位数=IR位数,其实这里的指令也是一种数据。
CU
MAR
MAR:存储器地址寄存器
MDR
MDR:存储器数据寄存器
CPU
CPU:中央处理器
存储器(核心)(主存)
存储器:计算机的存储部件,存放程序和数据 
存储元
存储元:即存储二进制的电子元件,每个存储元可存1bit
存储单元
存储单元:每个存储单元存放一串二进制代码
存储字
存储字:存储单元中二进制代码的组合
存储字长
存储字长:存储单元中二进制代码的位数  MAR位数对应着存储单元的个数 MDR位数和存储字长相等 MAR位数=PC位数
机器字长
机器字长:计算机能一次处理的二进制代码长度
指令字长
指令字长:指令的二进制长度
三者的关系
通常早期计算机:存储字长 = 指令字长 = 数据字长。故访问一次便可取一条指令或一个数据,随着计算机应用范围的不断扩大,三者可能各不相同,但它们必须是字节的整数倍。
输入设备
输入设备:将程序和数据以机器所能识别和接受的信息形式输入计算机
输出设备
输出设备:将计算机处理结果以人类所能接受形式或其他系统所要求的信息形式输出
I/O设备
程序的执行过程
程序由指令组成 程序在执行前 数据和指令事先存放在存储器中,每条指令和每个数据都有地址,指令按序存放,指令由OP、ADDR字段组成,程序起始地址置PC 开始执行程序 第一步:根据PC取指令 第二步:指令译码 第三步:取操作数 第四步:指令执行 第五步:回写结果 第六步:修改PC的值 继续执行下一条指令
指令的执行
指令的执行: 三个阶段:取指令、分析指令、执行指令 (A)开始时,将第一条指令地址→PC (B)(PC)→MAR,发“读”命令,M(MAR)→MDR,使(MDR)→IR (C)翻译IR的操作性质 (D)取操作数 (E) 将操作数送往运算器,进行运算 (F)送结果 (a)寄存器 (b)内存 (G)(PC) +1→PC 
指令系统
取数
操作码:000001 功能:将指令地址码指示的存储单元中的操作数取到运算器的累加器ACC中 
存数
操作码:000010 功能:将ACC中的数存到指令地址码指示的存储单元中 
加
操作码:000011 功能:将ACC中数与指令地址码指示的存储单元中的数相加,结果存于ACC中 
乘
操作码:000100 功能:将ACC中数与指令地址码指示的存储单元中的数相乘,结果存于ACC中 
打印
操作码:000101 功能:将指令地址码指示的存储单元中的操作数打印输出 
停机
操作码:000110
计算机系统层次结构
应用程序层
高级语言层
高级语言机器M4
汇编语言层
虚拟机器M3
操作系统层
虚拟机器M2
机器语言层
传统机器M1,是计算机硬件与其底层软件的特定的连接纽带。
编译过程
源程序
汇编语言程序
在用户编程所用的各种语言中,与计算机本身最为密切的语言
机器语言程序
控制系统层
数字逻辑层
计算机性能指标(重难点)
机器字长
计算机进行一次整数运算所能处理的二进制的位数,一般与字长长度有关 1字节=8位 机器字长越长,数的表示范围就越大,精度也越高。
数据通路带宽
外部数据总线一次所能并行传送信息的位数,非CPU内部数据总线宽度 位(bit) 字节(Byte) 千字节(KB)兆字节(MB) 吉字节(GB)太字节(TB) 皮字节(PB)艾字节(EB) 换算: 
主存容量
主存储器所能存储信息的最大容量,通常以字节(如:1B=8bit)来衡量,也可用字数×字长(512K×64位)表示
吞吐量
吞吐率:单位时间内所做的工作(系统在单位时间内处理请求的数量) 用更多的处理器 用更快的处理器
响应时间
响应时间:就是一个操作或者指令从提出请求到被执行的时间(指用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间)
时钟周期
时钟周期、机器周期、指令周期  CPU时钟周期——通常为节拍脉冲或T周期,即主频的倒数,它是CPU中最小的时间单位,每个动作至少需要1个时钟周期 指令周期:CPU从主存取出一条指令的时间与执行这条指令的时间之和
主频
主频:CPU单位时间(1秒)内的脉冲数 公式:
CPI
CPI:计算机完成一条指令所需的时钟周期数 
执行时间
 CPU执行时间=(CPI*IC)/频率 CPU执行时间:运行一个程序花费的时间 时钟频率(或者时钟周期),取决于计算机组成和实现技术; 平均运行时钟周期数CPI,取决于计算机指令集的结构、设计及实现技术; 指令条数IC,取决于指令集的结构以及编译技术。
MIPS
MIPS:每秒执行多少百万条指令 
FLOPS
FLOPS即“每秒执行多少次浮点运算次数” MFLOPS:MFLOPS即“每秒执行多少百万次浮点运算次数” GFLOPS:GFLOPS即“每秒执行多少十亿次浮点运算次数”
FELOPS
ZFLOPS
运算速度
刷题笔记
计算机与袖珍计算器的本质区别
由于要实现复杂的任务与逻辑,因此计算机需要很高的自动化程度;而袖珍计算机结构简单,功能单一,自动化程度很低。因此计算机与日常使用的袖珍计算器的本质区别在于自动化程度的高低
80286
80286是个人计算机中的CPU器件
计算机之父巴贝奇
1812年,计算机之父巴贝奇首先设计了通用自动时序控制机械式计算机。
小端存储
字节或半字节的最低位的数据存储在低地址位、高位的数据存储在高地址位,并且按照一个字节相对不变的顺序存储。
记录方式与自同步能力
NRZ:不归零码,最常见的一种编码,即正电平表示1,低电平表示0。它与RZ码的区别就是它不用归零,也就是说,一个周期可以全部用来传输数据,这样传输的带宽就可以完全利用。 PM:调相制,写“1”时由低电平到高电平;写“0”时由高电平到低电平。 FM:调频制,写“1”时在存储元的起始和中间位置均要改变电流方向;写“0”时只在存储元起始位置改变电流方向。 MFM:改进型调频制,保留记录“1”时在存储元的中间位置改变电流方向;而且不论写“1”或写“0”在存储元的起始位置均不改变电流方向;只有当连续记录两个或两个以上的“0”时,在两个存储元之间改变电流方向。 自同步能力:从信号波形本身中提取信号时钟频率的能力。
现代计算机采用的技术
现代计算机采用的是一种电子数字式计算机
哈夫曼树
中断响应周期
只有外部可屏蔽中断才需要进入中断响应周期,以获取相应的中断类型号,其他中断的中断类型号或是CPU自动形成的或是指令中已经给出(软中断)。
8259A中断控制芯片
8259A初始化命令字ICW2用于设置中断向量
8253芯片的工作方式
8253共有6种工作方式。 其中方式2为比率发生器,用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲周期相同,计数到终点自动重新赋初值,并且每来一个计数,脉冲计数器的值减1; 方式3为方波发生器,用于产生连续的方波。方式2和方式3都实现对时钟脉冲进行n分频。
控制流驱动方式和数据流驱动方式
控制流驱动方式是指执行指令即可进行相关操作,数据流驱动方式是指只要需要的数据齐全即可执行操作。冯诺依曼机的特点是控制(指令)流驱动,不是数据流驱动。
软磁盘上的内存储器
软磁盘上内存储器应该采用ROM和RAM。
冯·诺依曼计算机的核心思想
冯.诺依曼计算机的核心思想是存储程序。
单机三总线系统
在单机系统中,三总线结构的计算机的总线系统由系统总线、内存总线和I/O总线组成。
输入输出接口
计算机系统的输入输出接口是主机与外围设备之间的交接界面。
计算机英文缩写术语
CAl——计算机辅助教学 CAM——计算机辅助制造 CIMS——计算机集成制造系统 CAD——计算机辅助设计
计算机体系结构Flynn分类法
指令、微指令和微程序的关系
—条机器指令对应一个微程序,这个微程序是由若干条微指令构成的。因此,一条机器指令的功能是若干条微指令组成的序列来实现的。简而言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。
集成电路的集成度
小规模集成电路SSI:是指每片可达几十个门; 中规模集成电路MSI:是指每片可达上百个门; 大规模集成电路LSI:是指每片可达上千个门; 超大规模集成电路VLSI:是指单片上可以制造几万以上个门。
计算机的应用
数控机床:计算机在实时控制方面的应用 邮局实现信件自动分拣:计算机在模式识别方面的应用 财务管理:属于数据处理方面的应用
人工智能与模式识别
人工智能:研究用计算机模拟人类智力活动的有关理论与技术。 模式识别:研究用计算机对物体、图像、语言、文字等信息进行自动识别。
模数转换器
计算机在过程控制应用中,除计算机外, A/D转换器 是重要部件,它能把模拟 量转换成计算机能识别的信号。
电子计算机分类
电子计算机按处理信息的形式分类,可分为数字计算机、模拟计算机和数字模拟混合式计算机三种。
计算机的发展
计算机的发展是体积越来越小,速度越来越快,容量越来越大,价格越来越低。
计算机的四代变化
计算机按其工艺和器件特点,大致经历了四代变化,第一代从1946年开始,采用电子管;第二代从1958年开始,采用晶体管;第三代从1965年开始,采用中小规模集成电路。第四代从1971年开始,采用大规模和超大规模集成电路,由此诞生了微型计算机。
世界上第一台计算机
世界上第一台电子计算机命名为ENIAC,它是由宾夕法尼亚州立大学制成,并没有实现“存储程序”方案。
模拟计算机
以电压的高低来表示数值,其精度有限
网络技术的应用
网络技术的应用主要有电子商务、网络教育和敏捷制造等。
多媒体技术
多媒体技术是计算机技术和视频、音频及通信技术集成的产物
远程导弹系统计算机
在远程导弹系统中,将计算机嵌入到导弹内,这种计算机属于专用计算机,在计算机的应用领域中属于实时控制。
专家系统
把各类专家丰富的知识和经验以数据形式存于知识库内,通过专用软件,根据用户查询的要求,向用户作出解答,属于人工智能领域的应用范畴。
计算机固件
具有某软件功能的硬件,一般用ROM实现
操作系统技术的发展
为了更好地发挥计算机效率和方便用户,20世纪50年代发展了操作系统技术,通过它对计算机进行管理和调度
计算机硬件的主要技术指标
机器字长、存储容量、运算速度
8086CPU
8086CPU共有14个寄存器,分别是AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。所有的寄存器都是16位的。
部分接口的数据传输率
USB2.0的数据传输率最高可达到480Mbps IEEE1394的数据传输率最高可达到400Mbps
CPU与其他部件的联系
CPU与其他部件之间的联系是通过数据总线、地址总线和控制总线实现的
CPU位数的含义
①CPU的寄存器位数是16位 ②1次处理16位数运算 ③CPU内部传输线是16位 存储器单元位数与CPU位数无关
调频制的0、1记录方式
在调频制记录方式中,信息的写入是依靠写入电流频率的变化来实现的,写1时的电流变化频率是写0时电流变化频率的2倍。
编译程序和解释程序的区别
编译程序是整体编译完了,再一次性执行;而解释程序是一边解释,一边执行,解释一句后就提交计算机执行一句,并不形成目标程序。
第2章 数值系统
数制
进位计数制及相互转换
十进制D
二进制B

八进制O

十六进制H
0~9,A,B,C,D,E,F 0x开头或者H结尾 
R进制
R→基数 
进制转换
将二进制转换为八进制
三个二进制数可以转化成8种不一样的二进制状态 10110.0101→010110.010100→010 110.010 100→26.24O
将二进制转化为十六进制
四个二进制数可以转化成16种不一样的二进制状态 10011100111.00111→010011100111.00111000→0100 1110 0111.0011 1000→4E7.38H/0x4E7.38H
十进制转换成其他进制
 整数部分:除基取余  小数部分:乘基取整
快捷方法
记住常见的二进制数据 
真值和机器数
正负号数字化 0表示+ 1表示- 真值:面向用户的 机器数:面向计算机的
编码
BCD码
8421码
 正常运算5+3 在非定义区间:5+9 超过1111:10+9
余3码
 +3就行了
2421码
 从5开始就是1开头的数字,因为5既可以用0101表示也可以用2421码的1011表示
ASCII码
可印刷字符32~126 控制和通信字符:其他的 数字范围48-57 大写字母:65-90 小写字母:97-122
汉字编码
国标码=区位码+32(20H)防止和控制通信编码冲突 汉字内码=国标码+128(80H):避开ASCII冲突
字符串编码
英文字符和中文字符一起 大端模式 小端模式
校验码
码字
码字:由若干位二进制代码组成的编码
码字间的距离
码字间的距离:两个码字逐位对比,不同位的个数
码距
码距:任意两个合法码字之间最少变化的二进制位数,或者说是各个合法码字之间的最小距离 d=1,无能 d=2,开始具有检错能力 d>2,开始具有纠错能力
概要

奇偶校验码
  
奇校验码
奇校验码:数据位和校验位一共所含的“1”的个数为奇数
偶校验码
偶校验码:数据位和校验位一共所含的“1”的个数为偶数 异或 0⊕0=0 0⊕1=1 1⊕0=0 1⊕1=1 相当于偶校验
二位奇偶校验
 可以纠一位错 
海明校验码
海明码:将信息位分成K组,对每组进行偶校验(异或)   海明码: 1bit的纠错能力 2bit的检错能力
海明码的校验过程
信息位:1010 1.确定海明码的位数:  2.确定校验位的分布   3.求校验位P₃P₂P₁的值 分别对K组进行偶校验  P1=D1⊕D2⊕D4=0⊕1⊕1=0 P2=D1⊕D3⊕D4=0⊕0⊕1=1 P3=D2⊕D3⊕D4=1⊕0⊕1=0 4.纠错  P4全校验位:对全体进行偶校验
循环冗余(CRC)校验码
CRC:接收方和发送方约定好校验位,然后用接收到的CRC整体校验码,对校验位进行模2除法运算,最后观察余数 
CRC码校验过程
  
检错纠错能力

常用CRC码

算术逻辑单元
加法器
加法器是构成算术逻辑部件的基本逻辑电路。算术逻辑部件ALU(Arithmetic Logic Unit)是运算器的核心,用来实现各种算术运算和逻辑运算功能。
半加器
半加器是用于实现两个一位二进制数Xn、Yn相加的逻辑电路,且不考虑进位输入,相加的结果称为半加和;记为Hn。 
一位全加器
当两个一位二进制数、相加时,如果还要考虑进位输入,则称为全加,相加结果称为全加和,同时产生本位向更高位的进位。 
串行多位加法器
当两个多位二进制数进行加法运算时,需要使用多位加法器。最容易想到的方案是如图所示的n位串行加法器,或称行波进位加法器。 
超前进位加法器
制约运算速度的唯一因素是低位进位。!!如何解决? 如果在低位数据运算之前,高位就预先知道低位传递过来的进位是多少,就可以实现同步运算,提高运算速度,实现快速加法。 实现这一功能的电路称为“超前进位产生电路”用于同时产生各位进位,采用该电路的加法器称为“超前进位加法器”。 超前进位产生电路是依据各进位的形成条件来实现的。 设相加的两个数为和,X₁和Y₁是低位,是来自于更低位的进位。 产生C₁的条件是: (1)X₁、Y₁均为1时,必定能够产生进位C₁; (2)X₁、Y₁任一个为1,且进位为1时,同样可以形成C₁。以上两个条件中有任何一个满足即可,因此  同理可得: C2=X2Y2+(X2+Y2)C1=X2Y2+(X2+Y2)X1Y1+(X2+Y2)(X1+Y1)C0 C3=X3Y3+(X3+Y3)C2=X3Y3+(X3+Y3)X2Y2+(X3+Y3)(X2+Y2)X1Y1+(X3+Y3)(X2+Y2)(X1+Y1)C0 C4=X4Y4+(X4+Y4)C3=X4Y4+(X4+Y4)X3Y3+(X4+Y4)(X3+Y3)X2Y2+(X4+Y4)(X3+Y3)(X2+Y2)X1Y1+(X4+Y4)(X3+Y3)(X2+Y2)(X1+Y1)C0 【公式】由以上C1、C2、C3、C4的进位产生式中,Xi+Yi 和Xi·Yi有规律的出现,因此引入进位产生函数Gi和进位传递函数Pi分别定义为:   进位产生函数的意义:当两个输入均为1时,无论低位有无进位,本位都必定会产生向高位的进位。 进位传递函数的意义:当两个输入中有一个为1时,若低位有进位输入,则本位能够向高位产生进位。
74182
并行加法器
ALU
算术逻辑单元(ArithmeticandLogicalUnit),即ALU,是一种功能较强的组合电路,能够实现多种算术运算和逻辑运算,又称多功能函数发生器。ALU的基本逻辑结构是超前进位加法器,它通过改变加法器的Gi和Pi来获得多种运算能力。
SN74181

输入端
74181中的输入端可分为以下几组: (1)状态控制端M,用于区分算术运算和逻辑运算,当M为高电平时,执行逻辑运算;M为低电平时,执行算术运算; (2)运算选择控制端S3~S0,产生16种状态组合,决定执行哪种算术运算或逻辑运算; (3)数据输入端A3~A0、B3~B0,用于给出参与运算的两个数(使用4位二进制表示); (4)低位进位输入端Cn,是ALU的最低位进位输入。
输出端
SN74181输出端包括以下几组: (1)运算结果输出端F3~F0; (2)进位输出端,用于本片ALU产生的到更高位的进位; (3)组间进位产生和进位传递输出端G、P,用于多片74181级联时的组间快速进位。 使用4片74181电路,可以形成16位ALU。在这种方案中,片内快速进位,但片间进位是逐片传递的,由此形成F0~F15的时间较长。  为提高运算速度,可以参照超前进位加法器的设计思路,把16位ALU中的每4位作为一组,用位间快速进位的形成方法来实现16位ALU中的“组间快速进位”,就能得到16位快速ALU。其工作特点是组内并行、组间并行。
运算器及其结构
运算器是在控制器的控制下进行工作的,运算器不仅可以实现各种算术逻辑运算,而且还可作为数据信息的传送通路。 运算器内部各部件之间使用总线传送操作数和运算结果,从结构上一般有如下3种结构形式。 1)单总线结构的运算器 2)双总线结构的运算器 3)三总线结构的运算器
单总线结构运算器
所有部件共用一根总线进行传输,数据可以在任意寄存器之间,以及任意寄存器和ALU之间进行传送。 在同一时间内,总线上只能有一个数据进行传送,否则会产生冲突,造成数据错误。 对于双操作数的运算,需要分两步将两个操作数分别送入ALU,运算完成后再进行第3次传送,将结果送到目的寄存器中。  此结构的主要缺点是运算速度慢,但控制电路比较简单
双总线结构的运算器
两个操作数可分别经过总线1和总线2,同时送入ALU进行运算。 由于此时总线1和总线2仍然被占用,运算结果不能直接送到总线上,需要设置一个缓冲器暂存结果,然后再把结果送至目的寄存器。  此结构的执行速度比单总线结构快。
三总线结构的运算器
ALU的两个输入端分别由两条总线供给,输出则与第3条总线相连,运算结果可直接经总线3送往目的寄存器,速度更快。 如果一个数据不需要修改,只是要从总线2送往总线3,可通过总线旁路器直接送出数据,而无须借助于ALU。  此结构的执行速度比前两种结构更快!
浮点运算部件
浮点运算部件通常包括阶码运算部件和尾数运算部件两部分,各自的结构与定点运算部件相似; 阶码运算部件中仅执行加减法运算,尾数运算部件中可执行加减乘除运算。 左规有时需要移动多位,为加速移位过程,有的机器设置了可一次移动多位的电路。 
数据集类型及存储
整数数据类型及类型转换
大端编址、小端编址
边界对齐、边界不对齐
定点数(难点)
定点数:小数点的位置固定 二进制定点数:类似于我们生活中使用的常数
点
点:其实就是小数点
无符号数
整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。  无符号数只有整数,没有无符号小数
无符号数的表示范围
假设我们的计算机是8位的,那么其实我们就可以表示8bit位以内的数据 其实也就是: 0000 0000-1111 1111 0~255  如果我们不采用无符号数,那么其实我们能够表示的数据范围就会发生改变,其实能够真正表示数据的只有7位了,还有一位我们需要作为符号位。
有符号数
有符号数的定点表示 定点整数:  定点小数:   用尾数(也就是数值部分)表示真值的绝对值
原码

定点整数
定点整数: 若机器字长为n+1位,则尾数为n位原码整数表示范围:  定点整数的特点: (1)零:0,0000000 零:1,0000000 所以0的原码整数在计算机内部有两种表示形式,+0和-0 (2)正数:有2ⁿ-1个 负数:有2ⁿ-1个 零:有一个 总共:个 
定点小数
定点小数: (1)若机器字长为n+1位,则尾数为n位 原码小数表示范围:  (2)同样,在这里真值0其实也占用了两种状态也就是有+0和-0两种形式 (3)其实原码的定点整数和定点小数的分布是关于原点对称的
反码
正数:反码和原码相同 负数:数值位全部取反 
反码特征
反码特征: (1)反码整数的表示范围:  (2)反码小数的表示范围:  (3)同样,在这里无论是小数还是整数,真值0其实也占用了两种状态也就是有+0和-0两种形式。 (4)+零:0,0000000 -零: 1,1111111 所以0的反码整数在计算机内部也有两种表示形式
反码的用途
(1)其中一个用途就是“原码”转换成“补码”的一个中间状态。 (2)还可以应用于系统环境设置,如linux平台的目录和文件的默认权限的设置,就是使用反码原理
补码
正数:补码和原码相同 负数:原码数值位全部取反(得到反码),末位+1 
补码特征
(1) (2)这里不一样的是,真值0的补码只有一种表示形式,多出来了一个1,0000000 (3)补码整数的表示范围:  (4)补码小数的表示范围: 
移码
方法1:在补码的基础上将符号位取反 方法2:在真值的基础上加上2ⁿ
移码特征
(1) (2)所以真值0的移码也只有一种表示形式,1,0000000其实就表示0 (3)移码的表示范围: 
移码的用途
在真值的基础上加上2ⁿ 这里的n就是真值的数值位的位数 真值的范围:-2ⁿ-1≤x≤2ⁿ -1
定点数的运算
移位运算
算术移位、逻辑移位、循环移位
算术移位
算术移位右移(原码)
18.0 小数点向右移一位变成180,那么相当于乘以10 小数点向左移一位变成1.80,那么相当于除以10 原码算术右移:高位补0,低位移除。 若丢弃位=0,相当于÷2;若丢弃位≠0,会丢失精度; 
算术移位左移(原码)
 原码算术左移:符号位不动,数值位低位补0,高位移除。 若丢弃位=0,相当于*2; 若丢弃位≠0,会出现严重误差;
算术移位(反码)
(1)正数反码算术移位:(和原码完全相同) 符号位不动,对数值位操作。 右移:高位补0,低位舍弃; 左移:低位补0,高位舍弃; 注意精度和误差 (2)负数反码算术移位: 符号位不动,对数值位操作。 右移:高位补1,低位舍弃; 左移:低位补1,高位舍弃; 注意精度和误差
算术移位(补码)
(1)正数补码算术移位:(和原码完全相同) 符号位不动,对数值位操作。 右移:高位补0,低位舍弃; 左移:低位补0,高位舍弃; 注意精度和误差 (2)负数补码算术移位: 符号位不动,对数值位操作。 右移(同反码):高位补1,低位舍弃; 左移(同原码):低位补0,高位舍弃; 注意精度和误差
逻辑移位
无论什么数: 右移:高位补0,低位舍弃; 左移:低位补0,高位舍弃;
逻辑移位的运用

循环移位
带进位位的循环移位
CF参与循环移位     
不带进位位的循环移位
CF位不参与循环移位,但是会保留移动位的副本    
加减法运算
原码加减法
(1)加法器直接对原码进行计算可能会出错 (2)加法规则: 先判断符号位,若相同,则绝对值相加,结果符号位不变;若不同,则做减法,绝对值大的数减去绝对值小的数,结果的符号与绝对值大的数相同 减法规则: 两个原码表示的数相减,首先将减数符号取反,然后将被减数与符号取反后的减数按原码加法进行运算。 (3)运算时注意机器字长,当左边出现溢出时,将溢出位丢掉。
原码的加法运算
正+正→绝对值做加法,结果为正 负+负→绝对值做加法,结果为负 正+负→绝对值大的减绝对值小的,符号同绝对值大的数 负+正→绝对值大的减绝对值小的,符号同绝对值大的数
原码的减法运算
原码的减法运算,"减数"符号取反,转变为加法: 正-负→正+正 负-正→负+负 正-正→正+负 负-负→负+正
补码加减法
使用补码进行加法运算,当结果不超过机器的表示范围时,有以下结论: (1)用补码表示的两数进行加法运算,其结果仍为补码; (2) (3)符号位与数值位一样参与运算 (4)符号位与数值位按同样规则一起参与运算,符号位运算产生的进位要丢掉,结果的符号位由运算得出 上述现象称为溢出,即两个定点数经过加减法运算后,结果超出了机器所能表示的范围,此时的结果无效。因此,在定点加减运算过程中,必须对结果是否溢出进判断。
移码加减法
移码具有以下特点: 移码表示中,最高位是符号位,用“1”代表正数,用“0”代表负数。 移码表示中,0有唯一的表示形式,且最小真值所对应的移码为全0。 移码只用于表示整数。 移码只进行加减法运算,且需要对运算结果进行修正,修正方法为符号位取反。 执行移码加或减时,可取加数或减数符号位的反码进行运算,即将加数或减数由移码变为补码。 使用双符号位的加法器,并规定移码的第2个符号位,即最高符号位恒用0参加加减运算,溢出条件是结果的最高符号位为1。 若结果:
溢出判断
正+正→结果为负,称为正溢; 负+负→结果为正,称为负溢。 注意: 正-负→正+正 负-正→负+负 常用的判别溢出方法有以下3种。 1)符号比较法 2)双进位法 3)双符号位法
采用一位符号位
由于减法运算在机器中是用加法器实现的,因此无论是加法还是减法,只要参加操作的两个数符号相同,结果又与原操作数符号不同,则表示结果溢出。 设A的符号为As,B的符号为Bs,运算结果的符号为Ss,则溢出逻辑表达式为:  若V=1表示有溢出,若V=0则无溢出。
采用符号位和进位
采用一位符号位,根据数据位进位情况判断溢出 
采用双符号位
(1)双符号位也称变形补码法,正数的双符号位为00,负数的双符号位为11 (2)记两个符号位为,则 若V=0,表示无溢出; 若V=1,表示有溢出 (3)单符号位补码也叫模2补码 双符号位补码也叫模4补码 实际存储都是存储一个符号位就行了
符号扩展
int→long,短数据→长数据。多出来的那些位应该怎么填补? eg:8位→16位 正整数(原、反、补码的表示都一样) 0,1011010→0,00000000 1011010 负整数: 原码:1,1011010→1,00000000 1011010 反码:1,0100101→1,11111111 0100101 补码:1,0100110→1,11111111 0100110 定点整数的符号扩展: 在原符号位和数值位中间添加新位,正数都添0; 负数原码添0,负数反、补码添1 正小数(原、反、补码的表示都一样) 0.1011010 →0.1011010 00000000 负小数: 原码:1.1011010→1.1011010 00000000 反码:1.0100101→1.0100101 11111111 补码:1.0100110→1.0100110 00000000 定点小数的符号扩展: 在原符号位和数值位后面添加新位,正数都添0; 负数原、补码添0,负数反码添1
乘除法运算
原码乘法
人工乘法
(1)从低位到高位,每次根据乘数当前位上的值是1还是0,决定加被乘数还是加0; (2)相加数逐次向左偏移1位; (3)得出所有相加数之后一起求和,得到乘积。 But:计算机很难实现!!! (1) n个数相加很难一次实现 (2)相加数不断左移,硬件条件加大 (3)实际数字有正负,符号位如何处理
原码一位乘
ACC:存放部分积,初始值为0,运算完成后为乘积的高位。 X:始终存放被乘数的绝对值。 MQ:运算前存放乘数的绝对值,随着每次累加后右移,乘数的低位逐步被丢弃,部分积寄存器的低位移入乘数寄存器的高位,运算完成后,MQ中的内容为乘积的低位,ACC和MQ的内容拼接后为完整的乘积。  定点原码一位乘的具体规则如下: (1)符号位单独处理,同号为正,异号为负; (2)令乘数的最低位为判断位,若为1,加被乘数的绝对值;若为0,则加0; (3)累加后的部分积右移一位。
补码乘法
补码一位乘
补码的符号位是参加运算的,乘积的符号位在运算中自然形成。 补码一位乘一般有校正法和比较法两种方案。 校正法,即将[X]补和[Y]补按原码乘法的方式进行运算。 比较法,又称Booth方法,是在校正法的基础上经过推导得出的一种形式统一的补码一位乘算法。
校正法
当乘数为正时,不管被乘数的符号如何,都可按原码一位乘法的规则运算;当乘数为负时,先按原码一位乘法的规则运算,最后加上[-X]补进行校正,这也是校正法的名称由来。
补码一位乘Booth
 
原码除法
原码一位除
恢复余数法
 计算机先默认试商1,用ACC中的数减去除数,若得到负数,商1失败,将除数重新加回ACC,改商0,最后将ACC和MQ中的数左移;若商1成功,直接左移
加减交替法
主要思想: 当余数为正时商1,求下一位商的办法是余数左移1位,再减去除数,这与恢复余数法是相同的; 当余数为负时,商0,求下一位商的办法是将余数逻辑左移1位,再加上除数。 原理: 若Ri<0,商0,则Ri+1=2Ri+Y=2Ri+Y 若Ri>0,商1,则Ri+1=2Ri-Y=2Ri-Y 如果结果最终为负数,那么仍要恢复余数
补码除法
补码除法: 符号位参与运算 被除数/余数、除数采用双符号位 若被除数和除数同号,则被除数减去除数;异号则被除数加上除数。 余数和除数同号,商1,余数左移一位减去除数; 余数和除数异号,商0,余数左移一位加上除数。 重复n次
浮点数(难点)
浮点数:小数点的位置不固定 二进制浮点数:类似于科学计数法
组成
一般浮点数的表示
 R^E反映了数值的大小 M反映了数值的精度 通常表示如下: N为浮点数; M(Mantissa)为尾数(纯小数); E(Exponent)为阶码(整数); R(Radix)称为“阶的基数(底)",而且R为一常数(与尾数的基数相同)  
R
一般为2、8或16。在一台计算机中,所有数据的R都是相同的,因此不需要在每个数据中表示出来。
阶码
常用补码或移码表示的定点整数
尾数
常用原码或补码表示的定点小数
就是让小数点移动
浮点数的机内表示
是尾数的符号位,即该浮点数的符号,设置在最高位上; j为阶码,常用补码或移码表示,有m+1位,其中包含1位符号位,设置在j的最高位上,用来表示正阶或负阶;S₁…,为尾数的数值位,有n位,和组成一个定点小数,通常采用补码或者原码表示。  阶码j反映浮点数的表示范围及小数点的实际位置; 尾数S的数值部分的位数n反映浮点数的精度。
浮点数的表示范围
设浮点数阶码的数值位取n位,尾数的数值位取m位,两者均用补码表示,表示尾数的符号位,当浮点数为非规格化数时,它在数轴上的表示范围如下图所示(注意:“上溢”、“下溢”(机器零))。 
规格化
我们要保证尾数的最高位是有效值 规定浮点数的尾数部分必须为纯小数,且当尾数的值不为0时,其绝对值应大于等于十进制数的0.5,称为浮点数的规格化表示(0.1***和1.0***的形式)。 当浮点数的尾数不满足要求时,需要左移或右移尾数,同时对阶码进行修改,使之符合规格化的要求,这一过程称为规格化操作。 在规格化过程中,尾数每向左算术移位1次,阶码减1,称为向左规格化,简称左规; 尾数每向右移一位,则阶码加1,称为向右规格化,简称右规。 什么情况下进行尾数的规格化? 左规:当浮点数运算的结果为非规格化时要进行规格化处理,将尾数算数左移一位,阶码减1 右规:当浮点数运算的结果尾数出现溢出(双符号位为01或10)将尾数算数右移一位,阶码加1
用原码表示的尾数进行规格化
正数为0.1××...×的形式,其最大值表示为0.11...1;最小值表示为0.10...0。 尾数的表示范围为。 负数为1.1××...×的形式,其最大值表示为1.10...0;最小值表示为1.11...1。尾数的表示范围为。
用补码表示的尾数进行规格化
正数为0.1××...×的形式,其最大值表示为0.11...1;最小值表示为0.10...0。尾数的表示范围为。 负数为1.0××...×的形式,其最大值表示为1.01...1;最小值表示为1.00...0。尾数的表示范围为。
IEEE754标准
现代计算机中,浮点数一般采用IEEE754国际标准。标准中规定,常用的浮点数有单精度和双精度两种形式格式如下:   阶码用移码表示,真值都被加上一个偏移量,单精度采用的是移127的移码方案,双精度采用的是移1023的移码方案。(为什么是127?) 在移127的移码方案中,8位移码结果不再与8位补码存在仅符号位相反的对应关系,其值要通过对阶码实际值加127得到,或将标准移码的值再减1得到。 尾数采用原码表示,对规格化的非0值尾数使用隐藏位技术,即非零值的规格化浮点数的尾数最高位始终为1,这一位不予存储,而认为隐含在小数点的左边,这是通过左移原来的尾数实现的,故可以使结果的表示精度多一个二进制位,此时它所表示的实际值在1~2之间,若尾数是M,则此时所表示的值是1.M(天然的规格化)。 最小绝对值:尾数全为0,阶码真值最小-126,对应移码机器数0000 0001此时整体的真值为 最大绝对值:尾数全为1,阶码真值最大127,对应移码机器数11111110此时整体的真值为 8位补码-128~127 -128=11111111 -127=00000000 用作特殊用途 只有1≤E≤254时,(-126~127)真值= 当阶码E全为0,(-127)尾数M不全为0时,表示非规格化小数 当阶码E全为0,(-127)尾数M全为0时,表示真值±0 当阶码E全为1,(-128)尾数M全为0时,表示无穷大±∞。 当阶码E全为1,(-128)尾数M不全为0时,表示非数值"NaN"(Not a Number)
浮点数的加减法
浮点数的加减运算一般分为如下5个操作步骤:  1)对阶 2)尾数加减1.50408+0.0408150=1.5448950 3)规格化15.448950(右规)0.015448950(左规) 4)舍入 若规定只能有5位尾数,那么 1.5448950→1.54489(直接舍弃低位) 1.5448950→1.54490(舍弃部分大于0,低位+1) 1.5448950→1.54490(四舍五入) 5)判溢出 规定阶码不能超过10,那么如果出现就表示溢出 (真正的溢出:在尾数为规格化数的时候,阶码确实大于最大值) (虚假的溢出:尾数出现溢出,可以采用规格化进行调整)
对阶
对阶的目的是使两数阶码相等:ΔE=EX-EY若EX=EY,无须对阶。 若EX大于EY,则MY右移,每右移1位,EY加1,直至EX等于EY为止。 若EX小于EY,则MX右移,每右移1位,EX加1直至EX等于EY为止。 尾数右移时应遵照补码的右移规则。
尾数加减
规格化
当尾数用双符号位补码表示时: (1)如果结果两个符号位的值不同,将尾数右移1位,使符号位的低位回到数值位上,同时阶码加1,称为“右规”。 (2)如果结果两个符号位的值相同,表示尾数结果不溢出。此时,若最高数值位与符号位相同,则尾数连续左移,直到最高数值位与符号位的值不同为止。同时从E中减去移位的位数,称为“左规”。
舍入
(1)0舍1入法 当移出的最高位为0时,直接舍去;当移出的最高位为1时,在尾数的末位加1。如果加1后又使尾数溢出,则需要再次进行右规。 (2)若移出的位中包含1,就将尾数的最低位置为1,否则尾数的最低位保持不变。 为处理简单,还可以采取最低位恒置1的方法。
判溢出
在浮点数加减运算的最后需要对阶码是否溢出进行判断,若未溢出,运算正常结束; 若阶码下溢(比能表示的最小数还小时),则将结果置为机器零; 若阶码上溢,则置溢出标志。
浮点数的乘除法
两个浮点数相乘,其乘积的阶码为两数阶码之和,尾数为两数尾数之积。 两个浮点数相除,其商的阶码为被除数阶码减去除数阶码之差,尾数为被除数尾数除以除数尾数之商。 完成操作后,同样要对结果进行规格化、舍入、判溢出等操作,这些步骤的操作过程与浮点数加减法中的对应步骤类似。
阶码相加
当阶码采用补码和移码表示时,应分别按照补码和移码的加减规则以及溢出判断规则进行处理,用移码表示时还要注意对运算结果的修正。
尾数相乘
可选用之前所介绍的任意一种定点小数乘法进行处理。
结果规格化
右规的右移位数最多1位
舍入
判溢出
在除法之前,需要先判断被除数和除数的尾数大小,并适当调整,以保证被除数尾数的绝对值小于除数尾数的绝对值,避免商溢出。
刷题笔记
压缩/非压缩十进制数串
非压缩十进制数串:用一个字节来表示一个十进制数字,其中高4位可任意,低4位为相应十进制数字的BCD码 (1)前分隔数字串 符号位占用单独一个字节,并放在十进制数之前。 (2)后分隔数字串 格式和前分隔数字串基本相同。符号位放在十进制数之后。 (3)后嵌入数字串 格式和后分隔数字串相近,但符号位不再单独占用一个字节而是被嵌入到最低一位数字里面。不同系统采用不同的混合方法。 压缩十进制数串:是一个字节表示2位10进制数。
计算机信息用二进制表示的理由
计算机是由电子器件组成的,二进制计数只需要两个数字符号0和1,在电路中可以用两种不同的状态,低电平和高电平来表示,其运算电路的实现比较简单。(物理器件性能决定)
标志寄存器中的标志
1.溢出OF标志位的判定。 OF是有符号数溢出标志。 OF=Cn⊕Cn-1(Cn表示第n位的进位,Cn-1表示第n-1位的进位)。 2.进位CF标志位的判定。 CF是无符号数溢出标志。 CF=Cn⊕Sub(Cn表示第n位的进位,Sub表示做减法)。 3.符号SF标志位的判定。 如果计算结果的最高位是1,SF=1,否则,SF=0。 四、零ZF标志位的判定。 如果计算结果的所有位是0,ZF=1,否则,ZF=0。
双重分组跳跃进位
双重分组进位链是将n位全加器分成几个大组,大组内又包含若干小组,每个大组内所包含的各小组的最高进位是同时产生的,大组内的各小组的最高位进位外的其它进位是同时产生的。小组内的最高位进位是同时产生的,小组内的其它进位也是同时产生的。
计算机用补码运算的目的
补码运算能把减法化为加法来完成,从而使得运算器中不需配置减法电路,节省了硬件线路,简化了运算器的设计。
阵列乘法器
按其数据流的传递过程和控制节拍来看,阵列乘法器可认为是全并行运算的乘法器
隐含寻址
这种类型的指令,不明显地给出操作数的地址,而是在指令中隐含着操作数的地址。如单地址的指令格式,就不是明显地在地址字段中指出第二操作数的地址, 而是规定累加器ACC作为第二操作数地址,指令格式明显指出的仅是第一操作数的地址。
数据影响算法与硬件的因素
计算机加工的对象是数据,它们的取值范围、精度要求和数据类型不仅直接影响算法的选择,而且影响计算机的硬件结构与组成。
提高加法器运算速度的关键
降低进位信号的传播时间
减法运算进位标志位的确定
减法运算中,进位标志位CF应为进位值的非。
第3章 存储器
存储器概述
基本概念

参数
MAR位数对应着存储单元的个数 MDR位数和存储字长相等 2^10=1024=1K MAR位数=PC位数
存储元
即存储二进制的电子元件,每个存储元可存1bit
存储单元
每个存储单元存放一串二进制代码
存储字
存储单元中二进制代码的组合
存储字长
存储单元中二进制代码的位数
机器字长
计算机能一次处理的二进制代码长度
指令字长
指令的二进制长度
基本结构

存储器的分类
按层次分类
高速缓存
又称快存,用速度较快的存储器构成,可在2ns内可完成一次数据存取,目前容量一般为几MB左右,用来临时存放指令和数据。 高速缓存中存放着最近要使用的程序与数据,作为主存中当前活跃信息的副本。
主存
用来存放运行期间的大量程序和数据,目前容量在几GB左右,速度稍慢,可在10ns内完成一次存取。
辅存
(即辅助存储器,又称外存储器,简称外存) 一般由磁表面存储器、光存储器构成,用来存放系统程序、大型文件、数据库等,目前容量在数百GB左右,速度为ms级。
补充
三种存储器构成三级存储器管理,各级职能和要求不同。 Cache追求速度,以和CPU速度匹配; 辅存追求容量大; 主存介于两者之间,对容量,速度都有一定要求
虚拟存储器
现代计算机通常采用Cache—主存—辅存层次结构。 在CPU和主存之间增加一个高速缓冲存储器,由纯硬件实现,提高CPU访问程序和数据的速度; 主存—辅存采用虚拟存储器技术,由软件和硬件实现,扩充主存的容量。
按存储介质
可分为磁介质存储器、电子介质存储器、纸介质存储器、光介质存储器等。 
按存取方式
可分为随机存储器(Random Access Memory,RAM) 只读存储器(Read Only Memory,ROM) 串行访问存储器(Sequential Access Memory,SAM)  
补充
串行存储器又可分为顺序存取存储器(SAM)和直接存取存储器(DAM) 串行存储器  直接存储器 
按信息的可保存性
可分为易失性存储器和非易失性存储器 RAM都是易失性存储器 ROM都是非易失性存储器
层次结构
现代计算机要求存储系统满足大容量、高速度和低成本三项基本要求 由于制造工艺限制,很难在同一种存储器中都达到这些要求,三者不可兼得,为此采用分层(级)存储体系并通过管理软件和辅助硬件将不同性能的存储器组合成有机的整体,称为计算机的存储层次或存储体系 
性能指标
存取时间
从存储器读出/写入一个存储单元信息,或从存储器读出/写入一次信息(信息可能是一个字节或一个字)所需要的平均时间,称为存储器的取数时间/存数时间
存取周期
存储器进行一次完整的读写操作所需要的全部时间,称为存取周期。具体地说,存取周期是连续启动两个独立的存储器操作(如两个连续的读操作)之间所需要的最小时间间隔。—般大于存取时间。 
存取带宽
单位时间可写入存储器或从存储器取出的信息的最大数量,称为数据传输率或称为存储器传输带宽,单位为字节/秒(B/s,Bps)或位/秒(b/s,bps)。
固态硬盘
固态硬盘(SSD)是一种基于闪存技术的存储器。它与U盘并没有本质差别,只是容量更大,存取性能更好。一个SSD由一个或多个闪存芯片和闪存翻译层组成,闪存芯片替代传统旋转磁盘中的机械驱动器,而闪存翻译层是将来自CPU的逻辑块读写请求翻译成对底层物理设备的读写控制信号,因此,这个闪存翻译层相当于扮演了磁盘控制器的角色。 
主存系统模型与结构
存储元结构
电容的存储原理
存储元存取信息: 写1,读1 写0,读0 
数据存取过程

主存结构
主存结构:包括存储体,MAR,MDR,时序控制逻辑 
存储体
利用存储元构成存储体: 
MAR
MDR
时序控制逻辑
主存寻址
寻址方式/编址方式:前提每个存储单元有一个地址
按字节编址
每个存储单元里面有一个字节,相当于为每个字节分配一个地址
按字编址
一个字包含多个存储单元,为每个字分配一个地址
按半字寻址
一个字包含多个存储单元,为半个字分配一个地址
按双字寻址
一个字包含多个存储单元,为两个字分配一个地址
数据存储方式
大端方式
高位数据存放在低位地址上,指令中给出的地址是操作数最高有效字节(MSB)所在的地址。
小端方式
低位数据存放在低位地址上,指令中给出的地址是操作数最低有效字节(LSB)所在的地址。
主存与CPU的连接
译码器
线选法
 n条地址线线→n个选片信号,电路简单,但是地址空间不连续 低电平有效: 输入电压为0,有效 输入电压为1,无效
译码片选法
 n条地址线线→2ⁿ个选片信号,电路复杂,但是地址空间连续
拓展
位扩展
假定手头只有若干8Kx1位的SRAM芯片。首先需要使用2片该芯片,把这2片芯片连接为类似1片8K×2位的芯片。可以看出,连接后存储单元数量不变,每个单元包含的位由1个变为2个,这种连接叫作存储器的位扩充。  假定手头只有若干8K×1位的SRAM芯片,首先需要使用8片该芯片,把这8片芯片连接为类似1片8K×8位的芯片。 
字扩展
假定手头只有若干8K×8位的SRAM芯片。首先需要使用2片该芯片,把这2片芯片连接为类似1片16K×8位的芯片。可以看出,连接后存储单元包含的位数不变,存储单元的数目增多。这种连接叫作地址(字)扩充。  
字位同时扩展

Cache
缓和速度矛盾 Cache速度大概是主存60倍左右 但是Cache容量很小
局部性原理
时间局部性
最近的访问项(指令/数据)很可能在不久的将来再次被访问 (往往会引起对最近使用区域的集中访问),这是因为程序存在循环
空间局部性
在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的
Cache的基本工作原理
主存由2ⁿ个可编址的字组成,每个字有唯一的一个n位地址。为了与Cache映像,将主存与Cache都等分成若干块,每块内又包含若干个字。对于主存,其地址因为分块而分成两段:高m位表示主存的块地址,称为主存块号,则M=表示主存的块数;低b位表示主存块内地址,则B=表示主存块的大小。 同样,Cache的地址也分成两段:高c位表示Cache的块地址,称为缓存块号,则C=表示cache的块数;低b位表示Cache块内地址,则B=表示cache块的大小 其中,C<<M。 
Cache的基本结构
Cache主要由Cache存储体、主存一Cache地址变换机构、替换控制部件等部分组成。  Cache存储体存放由主存调入的指令与数据块,以块为单位与主存交换信息,为加速Cache与主存之间的块传输,主存多采用多体结构,且Cache访存的优先级最高。 主存—Cache地址映像变换机构建立目录表以实现主存地址到缓存地址的转换。 替换控制部件在缓存已满时按一定策略进行数据块替换并修改地址变换机构。采用的替换算法体现在替换控制部件中,由硬件逻辑完成。
主存地址映射和变换
直接映射
 假设某个计算机的主存地址空间大小为256MB,按字节编址其数据Cache有8个Cache行行长为64B。 Cache块号=主存块号%Cache块数  CPU访问主存地址0..01000001000 ①根据主存块号后3位确定Cache行号 ②若主存块号的前19位与Cache标记匹配且有效位=1,则Cache命中,访问块内地址为001000的单元。 ③若未命中或有效位=0,则正常访问主存
全相联映射
 假设某个计算机的主存地址空间大小为256MB,按字节编址其数据Cache有8个Cache行行长为64B。  CPU访问主存地址:1…110 001000 ①主存地址的前22位,对比Cache中所有块的标记; ②若标记匹配且有效位=1,则Cache命中,访问块内地址为001000的单元。 ③若未命中或有效位为0则直接访问主存
组相联映射
 假设某个计算机的主存地址空间大小为256MB,按字节编址其数据Cache有8个Cache行行长为64B。 Cache组号=主存块号%Cache组数  CPU访问主存地址0..1101 001000 ①根据主存块号的后2位确定所属分组号 ②若主存块号的前20位与分组内的某个标记匹配且有效位=1,则Cache命中,访问块内地址为001000的单元。 ③若未命中或有效位=0,则正常访问主存
总结
 全相联映象方式,主存单元与Cache单元随意对应,有最大的使用灵活性,但地址标志字段位数多,比较地址时可能要与所有单元比较,线路过于复杂,成本太高,只使用于Cache容量很小的情况。 直接映像方式,一个主存单元只与一个Cache单元硬性对应, 有点死板,影响Cache容量的有效使用效率,即影响命中率。但地址比较线路最简单,比较常见。 组相联映像方式,一个主存单元能够与多个Cache单元有限度的随意对应,是全相联映象和直接映象的一种折衷方案,有利于提高命中率,地址比较线路也不太复杂,是比较好的一种选择。
Cache替换策略
FIFO
先进先出:选择最早装入的Cache字块替换出来。这种算法实现起来比较方便,但不能正确反映程序运行的局部性原理。因为最先进入的字块也可能是目前经常要用的字块,因此,采用这种算法,有可能产生较大的缺失率。  抖动现象:频繁的换入换出现象(刚被替换的块很快又被调入)
LRU
最近最久未使用:选择“最近最久未被使用”块作为调出块,每块设置一个计数器,Cache每命中一次,命中块计数器清零,其它各块计数器增1(不超过最大值)。当需要替换时,将计数值最大的块换出。  ①命中时,所命中的行的计数器清零,比其低的计数器加1,其余不变; ②未命中且还有空闲行时,新装入的行的计数器置0,其余非空闲行全加1; ③未命中且无空闲行时,计数值最大的行的信息块被淘汰,新装入的块的计数器置0,其余全加1
LFU
最不经常使用LFU:算法将一段时间内被访问次数最少的那块数据换出。每块设置一个计数器。从0开始计数,每访问一次,被访块的计数器增1。当需要替换时,将计数值最小的块换出。  这种算法将计数周期限定在对这些特定块两次替换之间的间隔时间内,不能严格反映近期访问情况。
随机替换
随机替换策略从特定的块位置中随机地选取一块换出,在硬件上容易实现,且速度也比其他几种策略快  缺点是降低了Cache的命中率。
Cache性能分析
Cache命中率
平均访存时间
Cache写策略
写命中
命中时的写策略(当被写的地址所在的块在Cache中,可能此前曾经执行过读操作)
写直通
全写法(写直通法,write-through):当CPU对Cache写命中时,必须把数据同时写入Cache和主存,一般使用写缓冲。  问题在于写回主存很慢!但更能保证数据一致性
写回法
写回法(writeback):当CPU对Cache写命中时,只修改Cache的内容,而不立即写入主存,只有当此块被换出时才写回主存 
写不命中
写未命中:未命中时的写策略(当被写的地址所在的块不在Cache中)
写分配法
当CPU对Cache写不命中时,把主存中的块调入Cache,在Cache中修改。通常搭配写回法使用。 
非写分配法
当CPU对Cache写不命中时只写入主存,不调入Cache,通常与全写法搭配使用。  现代计算机通常采用多级Cache结构,各级Cache间常采用“全写法+非写分配法”Cache和主存间常采用“写回法+写分配法”
半导体存储器
RAM
被称为随机存取存储器。可以向RAM写入数据,也可以从RAM读出数据。RAM的一个明显的特点是:它是易失性存储器,断电数据消失 一般来说RAM有两种:SRAM、DRAM
SRAM
存储原理
SRAM存储1个位,需要6个晶体管,因此SRAM存储器的集成度低,但读写的速度快,所以价格贵。  读/写1:左高右低 读/写0:左低右高
适用范围
因为速度快,SRAM经常用作Cache
DRAM
存储原理
DRAM单个位的构成简单,集成度高,容量大,但需要刷新电路,读写速度比静态存储器慢,价格低廉。  MOS管接通: 写入1:数据线高压,电容存储电荷 写入0:数据线OV,电容不会存储电荷 读出1:电容放电,数据线上有电 读出0:电容不放电,所以数据线上没有电
适用范围
特别是价格低廉,使动态存储器成为计算机中使用最多的存储器
与SRAM对比

DRAM刷新
刷新周期:2ms(每2ms之内重新写入) 刷新方式:按行刷新!每次刷新一行存储单元。(访存期间不允许刷新)
DRAM地址复用技术
 DRAM采用地址复用技术。地址线是原来的1/2,目地地址信号分行、列两次传送。 
刷新方式
利用硬件重新写入电容,占用1个存取周期
刷新策略
假设DRAM内部结构排列成128×128的形式,存取周期0.5μs,那么2ms内共2ms/0.5μs = 4000个周期
集中刷新
是在信息保存允许的时间范围内,集中一段时间对所有基本存储单元一行一行地顺序进行刷新,这段时间称为刷新时间。刷新时间=存储矩阵行数×存取周期(刷新一行所需要的时间) 
分散刷新
分散刷新是每隔一段时间刷新一次,把刷新操作分散到每个存取周期内进行,此时系统的存取周期tC被分为两段,前半段时间tA进行读写操作或保持,后半段时间tB进行刷新操作,即tC=tA+tB,刷新操作与CPU操作无关。在一个系统存取周期内刷新存储矩阵中的一行。 
异步刷新
异步刷新则是结合前两种刷新方式,在一个指令周期中,利用CPU不进行访问存储器操作时进行刷新。先根据刷新的行数对刷新间隔(如2ms)进行分割,分割后的每段时间中,再分成两部分,前一段时间用于读/写或保持,后一段时间用于刷新。  
补充
DRAM已经是历史 SDRAM也只是经过 DDR SDRAM简称DDR,对SDRAM的改进,它在时钟的上升沿和下降沿都可以传送数据,其数据率可达200~800 MB/s DDR2(Double Data Rate 2) DDR3 DDR4 ...
ROM
ROM是非易失型存储器,工作时需要电源,当电源消失,存储的信息不会丢失,所以ROM可以保存需要长久保存的信息,如程序代码。
ROM简介
MROM
狭义的ROM单指掩膜型只读存储器(MROM,Mask ROM)在制造ROM存储矩阵时,如果生产量较大,一般要根据对存储内容的要求设计掩膜版,用这种工艺制作出来的ROM就叫作掩膜ROM。这是由生产厂家按一定的信息模式生产的存有固定信息的ROM,用户只能选用而无法修改原有的信息。
PROM
可编程式只读存储器(PROM,Programmable ROM)是一种每个比特都由熔丝或反熔丝的状态决定数据内容的ROM这种存储器用作永久存放程序之用。常用于电子游戏机、电子词典等预存固定数据或程序的各式电子产品之上。 
EPROM
可擦除可编程式只读存储器(EPROM,Erasable Programmable ROM)由以色列工程师多夫·弗罗曼发明,允许用户写入信息,之后用某种方法擦除数据,可进行多次重写 UVEPROM ( ultraviolet rays)--用紫外线照射8~20分钟,擦除所有信息 EEPROM(也常记为E²PROM,第一个E是Electricaly,第二个E是Erasable)--可用“电擦除”的方式,擦除特定的字
FPROM
闪速存储器(FPROM,Flash PROM)是舛冈富士雄在东芝公司工作时发明的,也称快闪存储器或闪存,是一种电可擦除的非易失性只读存储器,允许在操作中被多次擦或写。这种技术主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存卡与闪存盘。闪存是一种特殊的、以宏模块擦写的E²PROM。比较起来,E²PROM价格便宜、集成度高,EPROM电可擦洗重写,FPROM较E²PROM快,且具备RAM的功能。
SSD
固态硬盘(Solid State Drives) 由控制单元+存储单元(Flash芯片)构成,与闪速存储器的核心区别在于控制单元不一样,但存储介质都类似,可进行多次快速擦除重写。SSD速度快、功耗低、价格高。目前个人电脑上常用SSD取代传统的机械硬盘
ROM应用
自举程序 BIOS系统启动自举程序:系统开机后,ROMBIOS就首先按照设置中保存的启动顺序搜索软硬盘驱动器及CD-ROM等有效启动驱动器,读入操作系统引导记录,然后将系统控制权交给引导记录,并由引导记录完成操作系统的启动。 
提速方案
存储周期
存取时间
存取周期

RAM读周期

RAM写周期

双端口RAM
双口RAM是指一个特殊类型的RAM,它有两套完全独立的数据线、地址线和读/写控制线。只要不同时访问同一个单元,两个独立的CPU可以同时对双口RAM进行随机访问。如果同时访问双端口RAM的同一个单元,由内部的控制电路决定哪个端口可以访问该单元。  需要有两组完全独立的数据线、地址线、控制线。CPU、DRAM中也要有更复杂的控制电路。 两个端口对同一主存操作有以下4种情况: 1.两个端口同时对不同的地址单元存取数据。 2.两个端口同时对同一地址单元读出数据。 3.两个端口同时对同一地址单元写入数据。 4.两个端口同时对同一地址单元,一个写入数据,另一个读出数据。 解决方法:置“忙”信号为0,由判断逻辑决定暂时关闭一个端口(即被延时),未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。
多模块存储器
为提高访存速度,常采用多模块存储器,常用的有单体多字存储器和多体并行存储器。
单体多字
单体多字系统的特点是存储器中只有一个存储体,每个存储单元存储m 个字,总线宽度也为m个字。一次并行读出m个字,地址必须顺序排列并处于同一存储单元。 eg.单体四字存储器:每字W位,给定一个地址,可以在一个存取周期内读出4×W位指令或数据,使主存带宽提高到4倍。  假设存取时间为r,恢复时间为3r那么存取周期为T=4r
特点
1.每个存储单元存储m个字,总线宽度也为m个字,一次并行读出m个字 2.指令和数据在主存内必须是连续存放的
多体并行
多体并行存储器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交叉工作。多体并行存储器分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)两种。 
低位交叉编址
低位地址为体号,高位地址为体内地址。低位交叉编址方式下,总是把高位的体内地址送到由低位体号确定的模块内进行译码。程序连续存放在相邻模块中。因此称采用此编址方式的存储器为交叉存储器。采用低位交叉编址后,可在不改变每个模块存取周期的前提下,采用流水线的方式并行存取,提高存储器的带宽。  低位交叉存取时间 模块数为m,存储周期为T,总线传输周期为r,连续存取n个字每隔r时间启动下一个存储体 连续存取n个字耗时=T+(n-1)r PS:m≥T/r 
高位交叉编址
高位地址表示体号,低位地址为体内地址。高位交叉编址方式下,总是把低位的体内地址送到由高位体号确定的模块内进行译码。访问一个连续主存块时,总是先在一个模块内访问,等到该模块访问完才转到下一个模块访问,CPU总是按顺序访问存储模块,存储模块不能被并行访问,因而不能提高存储器的吞吐率。  time=5T=nT
概要
     
虚拟存储器
基本分类
组成部分
置换算法
物理地址=段地址×10H+偏移地址。
地址翻译过程
刷题笔记
页式存储管理方案
在页式存储管理方案中,有效地址除以页面的大小,所得结果取整为页号,取余数为页内地址。 物理地址=页号对应的物理块号×页面大小+页内地址
存储单元定义
存储单元是指存放一个存储字的所有存储元集合
磁盘的基本存储单位
磁盘的基本存储单位为扇区(Sector) 磁盘相关概念: Track磁道 Cylinder柱面 Sector扇区 Cluster簇
内存的最小读写单位
计算机存储信息的最小单位,即读写单位,称之为位(bit,又称比特)
磁盘上的磁道
因为每一磁道具有相同的存储大小,而随着靠近磁盘边界磁道的周长增加,因此磁盘上的磁道是一组记录密度不同的同心圆。
磁盘存储器的查找时间
查找时间即寻道时间,道是相对于柱面而言的,所以查找时间即使磁头移动到要找的柱面上的所需时间。
磁盘存储器的平均存取时间
平均存取时间是指从命令下达存储器到从存储器取得数据所用平均时间。包括三部分,平均存取时间=平均找道时间+平均等待时间+读写时间
Cache的组成
高速缓冲存储器cache一般采用随机存取方式。高速缓冲存储器cache工作时,cache能够根据指令地址得到cache中对应地址,按地址存取,因此它是随机存取。 一般而言它不像系统主记忆体那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。
缺页处理
在请求分页系统中,每当要访问的页面不在内存中时,CPU检测到异常,便会产生缺页中断,请求操作系统将所缺的页调入内存。缺页处理由缺页中断处理程序完成,根据发生缺页故障的地址从外存读入所缺失的页,缺页处理完成后回到发生缺页的指令继续执行。
基址寻址方式
EA=(BR)+A,即有效地址=基址寄存器+形式地址
寄存器寻址和寄存器间接寻址取数
寄存器寻址:指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。 寄存器间接寻址:寄存器内存放的是操作数的地址,而不是操作数本身,即操作数是通过寄存器间接得到的。 在取数阶段需要用到通用寄存器组和存储器
磁盘存储器部分常识
磁盘存储器的最小读写单位为一个扇区,即磁盘按块存取。 磁盘存储数据之前需进行格式化,将磁盘分成扇区,并写入信息,因此磁盘的格式化容量比非格式化容量小。 磁盘扇区中包含数据、地址和校验等信息。 磁盘存储器由磁盘控制器、磁盘驱动器和盘片组成。
Cache直接映射地址结构
直接映射的地址结构为: 主存字块标记 Cache字块标记 字块内地址
Cache总容量
Cache的总容量包括:存储容量和标记阵列容量(有效位、标记位、一致性维护位和替换算法控制位)。标记阵列中的有效位和标记位是一定有的,而一致性维护位(脏位)和替换算法控制位的取舍标准是看题眼,题目若明确说明了采用写回法,则一定包含一致性维护位。
Cache存在下的访问主存次数
取数时读取xaddr可能不需要访问主存而直接访问Cache,而写直通方式需要把数据同时写入Cache和主存。
4体交叉编址存储器及其访存冲突
四体交叉存储器是4个模块,每个模块之间是并行运作的。 设共有n个模块,地址序列A={ai}(i=1,2,3,…,m),模块号为num = ai%n,计算出地址对应的模块号,然后观察相邻四次存取有没有相同的模块号,若存在则冲突。
Cache缺失率
1-命中率
采用虚拟存储器的目的
虚拟存储器是计算机系统内存管理的一种技术。 它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。 而程序是运行在主存中的,因此是在逻辑上扩大内存的容量。
交叉编址方式如何判断芯片编号
4个DRAM芯片采用交叉编址方式构成主存,主存地址最低二位表示该宇节存储的芯片编号。
主存MM与控制存储器CS比较
主存储器就是我们通常说的主存,在CPU外,存储指令和数据,由RAM和ROM实现。控制存储器用来存放实现指令系统的所有微指令,是一只读型存储器,机器运行时只读不写,在CPU的控制器内。CS按照微指令的地址访问。
双端口存储器
双端口存储器采用了两套相互独立的读写电路,两套读写电路可以同时访问共同的存储体,故可以高速读写,但不许两个端口同时对同一存储单元进行写操作。
Store指令的指令字构成
指令字位数=操作码字段+源操作数寄存器地址位数+目的操作数寄存器地址位数+偏移地址位数
指令Cache和数据Cache分离的目的
把指令Cache与数据Cache分离后,取指和取数分别到不同的 Cache 中寻找,那么指令流水线中取指部分和取数部分就可以很好的避免冲突,即减少了指令流水线的冲突。
CDROM及其存储方式
CD-ROM即光盘,采用串行存取方式。
偏移寻址方式类型
基址寻址:EA=A+基址寄存器内容; 相对寻址:EA= A+PC内容; 变址寻址:EA= A+变址寄存器内容。
汇编语言程序员可见的寄存器
汇编程序员可以通过指定待执行指令的地址来设置PC的值,而IR,MAR,MDR是CPU的内部工作寄存器,对程序员不可见。
TLB和Cache的比较
TLB:加速虚拟地址-->物理地址的转换,如果没有TLB的话每次进行地址转换都要访问内存。TLB结构有点像cache。 cache:存放最近使用的数据和指令,对于上层来说cache是透明的。 cache和TLB的区别: cache中的数据存在时间局域性和空间局域性。TLB中存放的是物理地址只有时间局域性。 cache存放数据,TLB存放物理地址
访存请求的发出者
cpu取指后,通过分析指令,计算出有效地址,然后转换成物理地址,再去访问存储器。是由逻辑电路发出。由于CPU的集成程度很高,很多逻辑电路已经集成到CPU内部。
多级Cache的整体命中率
多级Cache中,命中率为整体的命中率,假设有2级Cache,则命中率为一级Cache命中率加上一级Cache未命中时二级Cache的命中率
直接映射的应用范围
直接映象方法的主要优点: 硬件实现很简单,不需要相联访问存储器; 访问速度也比较快,实际上不进行地址变换,所以常用于大容量高速Cache
磁盘存储器容量计算
磁盘存储器容量=磁头数(表示总盘面数)×柱面数(表示每个盘面上的磁道数)×扇区数(表示每条磁道上的扇区数)×扇区(每个扇区存储的字节数)
程序执行时虚拟存储器的地址映射
在实际运行时,已经编译且装入过了,地址映射交由操作系统来完成,对程序员透明。
Cache直接映射的替换算法
直接映射是最简单的地址映射方式,它的硬件简单,成本低,地址变换速度快,而且不涉及替换算法问题。
信息按对齐方式存储(整数边界存储)的含义
按边界存储是指半字、字、双字都按它们各自地址所指定的空间进行存储,而不是随意存放,这样可保证对一个字长数据的读/写只需要一次存储器访问即可完成,提高了访问效率,但有时会导致存储空间的浪费,因此,这是一种以存储空间换取存储时间的方法。
虚拟存储器的缺点
操作系统中还有以时间换取空间的技术。如虚拟存储技术,覆盖技术,紧凑技术,对换技术。它们都是针对内存而言,内存是计算机系统的重要组成部分,虽然容量一直在不断增大,但对于整个系统仍是紧俏资源,为了增加对内存的使用,采用虚拟存储技术例如请求调页,请求调段式都是增加了产生缺页或缺段中断,进行页面或段的置换等的时间,来换取内存空间使更多的进程可以运行。覆盖,紧凑,对换等都是为了换取内存空间,使更多进程可以运行而增加了其他的操作时间。
I/O接口部分常识
状态端口和控制端口可以合用同一寄存器; I/O接口中CPU可访问寄存器,称为IO端口; 采用独立编址方式时,I/O端口地址和主存地址可能相同;
存储器统一编址
存储器统一编址(存储器映像编址),在这种编址方式中,I/O端口和内存单元统一编址,即把I/O端口当作内存单元对待,从整个内存空间中划出一个子空间给I/O端口,每一个IO端口分配一个地址码,用访问存储器的指令可以对IO端口进行操作。
微指令存储器位置
微指令是用于直接控制硬件的,封装在CPU内部,并且不允许被修改。
数据传输率最高的半导体存储器
DRAM、SRAM、FLASH、EPROM中,SRAM显然速度快,不需要刷新操作。
各种存储器存取速度比较
为了解决速度、容量和成本之间的矛盾,计算机的存储器采用层次结构。存储器按照速度排序为:寄存器>高速缓冲存储器>内存>外存。 Cache是高速缓冲存储器,介于CPU与内存之间。
快表与慢表的比较
由于程序在执行过程中具有局限性,因此对页表中各存储字的访问并不是完全随机的,即在一段时间内,对页表访问只是局限在少数几个存储字内。把最近访问过的页表部分存放在快速存储器中组成快表(也称为转换检测缓冲器TLB)。采用按内容查找的相联存储器组成快表以实现并行查找。快表是慢表的小小的副本,一般在16行至64行之间(几十个字)。慢表存储在主存储器中,按地址访问,用软件实现。快表与慢表构成了一个两级存储系统。 快表基本思想是大大缩小目录表的存储容量,从而大大加快查表速度。查表时,由虚页号同时去查找快表和慢表,如果在快表中查到与用户虚地址相等的存储字,就立即终止慢表的查表过程,并读出存储字中的实页号送入到主存的地址寄存器中。如在快表中没有查找到,就花费一个访主存时间查慢表,从中把查到的实页号送入主的地址寄存器,同时也把这个实页号连同用户虚地址等信息送入快表中。此时,若快表已写满,则需采用某种替换算法来替换掉其中一个不常用的存储字。 由于快表的查表速度非常快,与主存储器的一个存储周期相比几乎可以忽略不计。因此,只要快表的命中率很高,那么虚拟存储器的访问速度就能与主存储器的工作速度很接近。要提高快表的命中率,最直接的办法是增加快表的容量。但快表是相联方式访问的,当容量增加时,其查表速度就会降低。
逻辑地址表达形式及物理地址计算方法
逻辑地址其表达形式为“段地址:段内偏移地址”。物理地址是CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。物理地址算法公式为段地址*10H+偏移地址。
程序执行时Cache与主存的地址映射
典型的存储体系结构分为“高速缓冲存储器(Cache)←→主存←→辅存”三个层次。地址映像的作用之一是将CPU送来的主存地址转换成Cache地址。在程序的执行过程中,Cache与主存的地址映像由专门的硬件电路自动完成。
硬盘技术指标
硬盘技术指标有:每分钟转速,平均寻道时间,平均潜伏期,平均访问时间,数据传输率,缓冲区容量,噪音与温度,容量大小。
周期挪用
DMA控制器对主存储器存取数据常采用周期挪用方式,即在中央处理器执行程序期间DMA控制器为存取数据,强行插入使用主存储器若干周期。
BIOS芯片
计算机外设的工作是靠驱动程序来完成的,这组程序代码保存在主板的特殊内存芯片中,这个芯片称为BIOS芯片,用于存放硬件驱动程序及简单测试程序。
CMOS芯片
是一种低耗电存储器,其主要作用是用来存放BIOS中的设置信息以及系统时间日期。
机器周期
由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长,因此机器周期通常用主存中读取一个指令字的最短时间来规定。
相联存储器
相联存储器,相联存储器又称为关联存储器。是一种不根据地址而是根据存储内容来进行存取的存储器,可以实现快速地查找块表。既可以按照地址寻址也可以按照内容寻址(通常是某些字段),为了与传统寄存器作区别,称为按内容寻址的存储器。
层次化存储器结构设计的依据
所谓存储系统的层次结构,就是依据局部性原理,把各种不同存储容量,存取速度和价格的存储器按照层次结构组成多层存储器,并通过管理软件和辅助硬件有机的组合成为一个整体,使所存放的程序和数据按照层次分布在各种存储器中。
Cache不足如何影响计算机系统性能
Cache是一个高速小容量的临时存储器,可以用高速的静态存储器芯片实现,或者集成到CPU芯片内部,存储CPU最经常访问的指令或者操作数据。(缩短CPU处理器的读写时间充分发挥CPU的性能)。
虚拟存储器的特点
考查虚拟存储器的特点。虚拟内存的实现需要建立在离散分配的内存管理方式的基础上,有以下三种实现方式: ①请求分页存储管理; ②请求分段存储管理; ③请求段页式存储管理。虚拟存储器容量既不受外存容量限制,也不受内存容量限制,而是由CPU的寻址范围决定的。
闪存的特点
闪存是电子可擦除只读存储器(EEPROM)的变种,闪存掉电后信息不丢失,是一种非易失性存储器。采用随机访问方式,可替代计算机外部存储器。闪存是一种半导体存储器,不能实现信息可读可写。删除或重写闪存中的内容是有条件的,而且有次数的限制。闪存与EEPROM不同的是,它能在字节水平上进行删除和重写而不是整个芯片擦写,这样闪存就比EEPROM的更新速度快。
磁带文件存取方式
磁带存储器也称为顺序存取存储器(SequentialAccessMemory,简称SAM)即磁带上的文件依次存放。磁带存储器存储容量很大,但查找速度慢,在微型计算机上一般用做后备存储装置,以便在硬盘发生故障时,恢复系统和数据。
光盘的读写性质
按读写性质分,光盘分只读型、一次型、重写型三类。MO属于重写型,DVD属于只读型,CD-R属于一次型。
固件
为了保证系统安全和版权保护,有些厂商会将一部分软件永恒地存于只读存储器(ROM)中来防止用户更改与非法盗取,称之为固件。
多体交叉存储器编码方式
在多体交叉组织的存储器系统中,存储器地址编码方式是:地址的高若干位部分用作为每个存储体的内部寻址,而地址的低若干位用作不同存储体的片选的选择。
磁表面存储器的记录方式
磁表面存储器的记录方式可分为归零制和不归零制两大类,前者的特点是无论记录的代码是0或1,在记录下一个信息前,记录电流要恢复到零电流,后者的特点是磁头线圈中始终有电流。
最基本的数字磁记录方式
最基本的数字磁记录方式有归零制、不归零制、调相制和调频制四种,它们是根据写入电流的振幅、相位和频率变化不同而命名的。
磁盘地址的组成
对活动头磁盘组来说,磁盘地址是由磁头号、磁道号和扇区号三部分组成,每个区存储一个记录块,其中包括头尾空白段、序标段、数据段、校验字段几部分。
磁盘存储密度
沿磁盘半径方向单位长度的磁道数称为道密度,而磁道单位长度上记录二进制代码的位数称为位密度,两者总称为存储密度。
磁盘数据传输率
单位时间从磁盘存储器读出和写入的二进制位数称为磁盘存储器的数据传输率,单位为bps。
磁盘寻道时间和等待时间
读写磁头从一个磁道移到另一个磁道所需的平均时间称为磁盘存储器的寻道时间。当读写磁头完成定位后,所要读写的存储数据可能在旋转磁道的其他地方,要等待一段时间才能处在读写磁头下面进行数据读写,这种旋转等待所需的平均时间称为磁盘存储器的等待时间。
DMA与CPU的访存冲突处理
DMA与CPU对内存的访问冲突时可采用全串行方式、周期挪用、交替访存进行处理。 全串行方式:CPU等待DMA的操作 周期挪用:DMA乘存储器空闲时访问存储器 交替访存:CPU与DMA交替访问存储器
存储器按存取方式分类
按存取方式分,存储器可以分为:随机存取存储器(RAM)、顺序存取存储器、直接存取存储器、按内容访问存储器。
Cache的作用
由于CPU速度较快,CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,提前将所需要使用的指令和数据提前调入。
堆栈指示器
存储器堆栈中,需要一个堆栈指示器,它是CPU中的一个专用寄存器,它指定的主存单元就是堆栈的栈顶。栈是一种输出受限的特殊表,先进入的数据最后出栈,所以特点简称为先进后出。
存储器按作用分类
主存储器:内存; 辅助存储器:外存; 高速缓冲存储器:cache; 控制存储器:存放指令。
中断寄存器和触发器
为了记录中断事件是否发生,可利用具有存储功能的寄存器,这个寄存器称为中断寄存器。 禁止中断:建立中断源后,由于某种条件的存在,cpu不能中止现行程序的执行,即cpu无法响应此中断。实现方法:在cpu内部设置一个中断允许触发器。 当触发器为1时,允许中断;当触发器为0时,禁止中断。
磁盘格式化的目的
磁盘格式化的目的就是为了删除磁盘上的文件和碎片,提高文件的读取速度,对磁盘的介质做个一致性的检测,标记出不可读及损坏的扇区。同时完成磁盘的4K对齐,方便再次安装存储数据,是磁盘的一个物理矫正与纠错过程。
8086系统中A0的作用
A0是指在ALE下降沿时被锁存到地址锁存器中的20位地址的最低位。它除了作为地址线的一位参与译码外,还作为低8位数据的传送允许信号,即对于连接到低8位数据总线的存储器或I/O端口来说,在进行数据传送时须用A0选通。
计算机整机提速方案
1.针对存储器,可以采用Cache-主存层次的设计和管理提高整机的速度;可以采用主存-辅存层次的设计和管理提高整机的速度; 2.针对控制器,可以通过指令流水或超标量设计技术提高整机的速度; 3.针对控制器,可以通过超标量设计技术提高整机的速度; 4.针对运算器,可以对运算方法加以改进,如进位链、两位乘除法; 5.针对I/O系统,可以运用DMA技术来减少CPU对外设访问的干预。
虚拟存储器的最大容量
虚拟存储器的最大容量=min(内存+外存,2^n),其中n为计算机的地址总线位数。
Cache、内存和闪存的速度对比
cache是cpu内部的高速缓存,速度与cpu相同,是最快的,速度可达到几千MB每秒,内存居中,单条内存最快可以达到1600MB\s,闪存最慢,外存储器的一种,一般只有几MB每秒到20MB每秒左右。
第4章 指令系统
指令的设计
指令的基本格式
一条指令总体上包括两种信息即操作码和地址码 操作码用来表示该指令所要完成的操作;地址码用来描述该指令的操作对象 指令长度取决于操作码的长度、操作数的地址数以及操作数地址的个数 
指令
程序就是一系列按一定顺序排列的指令 1000111100000000 一条指令一般包含下列信息: 操作码 操作数的地址 操作结果的存储地址 下一条指令的地址
零地址指令
开机指令,关机指令,重启指令
一地址指令
①只需要一个运算数;单目运算 ②双目运算:栈顶,次栈顶,隐含寻址
二地址指令
三地址指令
定长操作码指令格式
操作码的位数是固定的 操作码的长度决定了指令系统中完成不同操作的指令条数若操作码长度为k位,最多只能有条不同指令
扩展操作码指令格式
即操作码的长度可变,且分散地放在指令字的不同字段中,通过逐步扩展操作码来实现指令格式的扩展 通常是在指令字中用一个固定长度的字段来表示基本操作码,而对于一部分不需要某个地址码的指令,把它们的操作码扩充到该地址码字段 若三地址指令需15条,两地址指令需要15条,一地址指令需要15条,零地址指令需要16条,共61条指令,则操作码的长度需向地址码扩展 (1)15条三地址指令的操作码由4位基本操作码从0000~1110给出,剩下一个码1111用于把操作码扩展到A1,即4位扩展到8位 (2)15条二地址指令的操作码由8位操作码从11110000~11111110给出,剩下一个码点11111111用于把操作码扩展到A2,即从8位扩展到12位 (3)15条一地址指令的操作码由12位操作码从111111110000~111111111110给出,剩下一个码点111111111111用于把操作码扩展到A3,即从12位扩展到16位 (4)16条零地址指令的操作码由16位操作码从1111111111110000~1111111111111111给出 
系统寻址
计算机的执行过程
(1)取指令阶段:取指令(IF)阶段是将一条指令从主存中取到指令寄存器的过程。 (2)指令译码阶段:取出指令后,计算机立即进入指令译码(ID)阶段。识别区分出不同的指令类别以及各种获取操作数的方法。 (3)访存取数阶段:根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(MEM)阶段。 (4)执行指令阶段:此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。 (5)结果写回阶段:作为最后一个阶段,结果写回(WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式
指令寻址和数据寻址
寻址:确定本条指令的操作数地址及下一条欲执行指令的指令地址 寻找操作数 寻找下一条指令
指令寻址
顺序
(PC)+1→PC
跳跃
由转移指令指出 
内存地址的计算
①(PC)+1→PC+
数据寻址
 形式地址 指令字中的地址 有效地址 操作数的真实地址 约定 指令字长=存储字长=机器字长
立即寻址
形式地址A就是操作数本身  指令执行阶段不访存 A的位数限制了立即数的范围
直接寻址
(就是指针) EA = A 有效地址由形式地址直接给出  执行阶段访问一次存储器 A的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改A)
隐含寻址
操作数地址隐含在操作码中  指令字中少了一个地址字段,可缩短指令字长
间接寻址
EA = (A)有效地址由形式地址间接提供  执行指令阶段 2次访存 可扩大寻址范围 便于编制程序
寄存器寻址
EA = Ri有效地址即为寄存器编号  执行阶段不访存,只访问寄存器,执行速度快 寄存器个数有限,可缩短指令字长
寄存器间接寻址
EA = (Ri)有效地址在寄存器中  有效地址在寄存器中,操作数在存储器中,执行阶段访存 便于编制循环程序
基址寻址
其有效地址EA等于指令字中的形式地址A与基址寄存器BR的内容相加之和 EA =(BR)+A BR为基址寄存器  可扩大寻址范围 有利于多道程序 BR内容由操作系统或管理程序确定 在程序的执行过程中BR内容不变,形式地址A可变
变址寻址
有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加之和 EA =(IX)+A IX为变址寄存器  可扩大寻址范围 IX的内容由用户给定 在程序的执行过程中IX内容可变,形式地址A不变 便于处理数组问题 (A用来表示数组首地址,IX用来表示数组下标)
相对寻址
EA =(PC)+A A是相对于当前指令的位移量(可正可负,补码)  A的位数决定操作数的寻址范围 程序浮动 广泛用于转移指令
堆栈寻址
先进后出(一个入出口)栈顶地址由SP指出 进栈(SP)- 1→SP
数据寻址访问内存的讨论
 1.只讨论执行阶段,未统计取指阶段 2.访存次数越多,其执行速度越慢 3.用寻址特征区分寻址方式
数据寻址中典型应用场景的总结

CISC和RISC
CISC
复杂指令系统计算机CISC(complex instruction set computer):在指令系统中增加更多的(复杂)指令,来提高操作系统的效率 为了做到程序兼容,同一系列计算机的新机器和高档机的指令系统只能扩充而不能减去任意一条,因此也使得指令系统越来越复杂,称这些计算机为复杂指令系统计算机。
RISC
精简指令系统计算机RISC(reduced instruction set computer):精简指令系统计算机对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。 通过简化指令系统,使计算机的结构更加简单合理,从而提高运算速度。
特点
RISC有如下特点: 优先选取使用频率最高的一些简单指令,以及一些常用但不复杂的指令 指令长度固定,指令格式种类少,寻址方式种类少 指令之间各字段的划分比较一致,各字段的功能比较规整 只有取数/存数指令访问存储器,其余指令操作都在寄存器之间进行 CPU中通用的寄存器数量相当多。算术逻辑运算指令的操作数都在寄存器中 大部分指令在一个或小于一个机器周期内完成 以硬布线控制逻辑为主,不用或少用微码控制 一般用高级语言编程,特别重视编程优化工作,以减少程序执行时间
比较

刷题笔记
零地址指令的操作数来源
零地址运算指令在指令格式中不给出操作数地址,它的操作数来自栈顶和次栈顶。
指令流水线的时钟周期
时钟周期应以最长的执行时间为准,否则用时长的流水段的功能将不能正确完成。
80386系统线性地址空间大小
80386系统中有3种存储器地址空间:逻辑地址、线性地址和物理地址。80386芯片内的分段部件将逻辑地址空间转换为32位的线性地址空间。80386芯片内的分页部件将线性地址空间转换为物理地址空间。
不同指令和间接寻址方式的间址周期异同
不同的指令的间址周期可以不同。不同的间接寻址方式,操作也不同。
RISC提高机器速度的方式
在RISC中,指令的复杂度降低,指令长度短而固定,指令格式简单,寻址方式少,而且采用硬件布线的控制逻辑,使用大量的寄存器,这使得编译后的机器指令与CISC的指令数相比增加了,但是每条指令的执行需要的机器周期数减少了(大多在一个机器周期内就能完成),又因为其采用了流水工作方式,所以大大提高了计算机的速度。
所有取值操作是否有区别
指令长度不同的情况下,取指令操作可能会不同。
调整中断事件响应次序的方式
要改变事先安排的响应次序,可通过中断屏蔽来禁止一个或多个中断源向CPU发出中断请求。
设置不同寻址方式的目的
指令系统中采用不同寻址方式的目的缩短指令长度,扩大寻址空间,提高编程灵活性,这也是指令系统中设置有多种寻址方式的出发点。
取值周期和机器周期的关系
指令字长一般取存储字长的整数倍,当指令字长等于存储字长时,取指周期可看作机器周期。
指令Cache与数据Cache分离的主要目的
采用指令Cache与数据Cache分离的主要目的是减少指令流水线资源冲突,就是指令流水线不会断流,预取过来的都是指令。
执行指令的机器周期数与机器周期长度
在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每—阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。 CPU每取出一条指令并执行这条指令,都要完成一系列的操作,这一系列操作所需要的时间通常叫做一个指令周期。指令周期常常用若干个CPU周期数来表示,CPU周期也称机器周期。指令不同,所需的机器周期数也不同。也就是执行各条指令的机器周期数可变,各机器周期的长度均匀。
跳跃寻址可实现的程序转移
采用指令跳跃寻址方式,可以实现程序转移或构成循环程序,从而能缩短程序长度,或将某些程序作为公共程序引用。指令系统中的各种条件转移或无条件转移指令,就是为了实现指令的跳跃寻址而设置的。
CPU读取指令字的最短时间
机器周期:通常用内存中读取一个指令字的最短时间来规定CPU周期(也就是计算机完成一个基本操作所花费的时间)。
高级语言与汇编语言源程序长度比较
高级语言的源程序不—定比汇编语言的源程序短
指令寻址与数据寻址的顺序
程序执行时,指令的寻址和数据的寻址是交替进行的
水平微指令与垂直微指令
水平型微指令和垂直型微指令的区别是:①水平型微指令一次能定义并执行多个并行操作微命令,效率高,灵活性强,而垂直型微指令设置微操作码字段,一条微指令中只有1~2个微命令,并行操作能力低,效率、灵活性较差。②水平型微指令执行一条机器指令的时间短,而垂直型微指令执行时间长。③水平型微指令字比较长,而由此构成的微程序较短;垂直型微指令字较短,但由此构成的微程序较长。④水平型微指令用户难以掌握,而垂直型微指令与机器指令的结构相似,用户比较容易掌握。
四种指令类型
寄存器-寄存器(RR)型指令:从寄存器中取操作数,把操作结果放到另一寄存器中,不需要访问内存存储器,因此速度快; 存储器-存储器(SS)型指令:执行此类指令,既要访问内存单元,又要访问寄存器。 寄存器-存储器(RS)型指令∶执行此类指令,既要访问内存单元,又要访问寄存器。 程序控制类指令包括跳转指令,循环指令,子程序指令以及中断指令。这些指令可以控制程序的执行顺序。 CPU访问速度从快到慢:寄存器,高速缓存,内存,硬盘,光盘,软盘。
CISC的特征
具有丰富的寻址方式;各种指令都可以访存;大多数指令需要多个时钟周期才能执行完成
二地址格式指令操作数的三种物理位置形式
二地址指令:地址域中A1确定第—操作数地址,A2同时确定第二操作数地址和结果地址。可分为寄存器—寄存器、寄存器—存储器、存储器—存储器三种。
变址寻址和基址寻址的区别
变址寻址和基址寻址的区别是:基址寻址中基址寄存器提供基准量,指令的地址码字段提供偏移量。而变址寻址中变址寄存器提供偏移量,指令的地址码字段提供基准量。
完善的指令系统包含哪些指令
一个较完善的指令系统应该包括数据传输、算术逻辑运算、程序控制、数据转换、输入输出、系统控制等类指令。
从计算机层次结构划分指令类型
计算机的指令常划分为宏指令、机器指令、微指令。 宏指令是代表某功能的一段源程序。 机器指令是CPU能直接识别并执行的指令,通常由操作码和操作数两部分组成。 微指令是指在微程序控制的计算机中,同时发出的控制信号所执行的一组微操作。
指令系统最基本的分类方式
由于在计算机的使用过程中需要实现不同类型的操作,因而也对应设计了不同类型的指令系统,根据CPU的内部存储类型的不同划分为了堆栈型、累加器型、通用寄存器型。 堆栈型指令适合循环嵌套的操作。 累加器型指令适合PC自增等操作。 通用寄存器指令适合间址操作。
微命令控制信号编码方法
微命令的控制信号编码方法有:直接控制编码、最短字长编码、分段直接编码和分段间接编码。
RISC指令系统的最大特点
RISC指令系统的最大特点是指令格式少、指令长度固定、指令种类少、只有存取指令访问存储器。
基址寻址和变址寻址的面向性
变址寻址是面向用户的,用于访问字符串、向量和数组等成批数据;而基址寻址面向系统,主要用于逻辑地址和物理地址的变换,用以解决程序在主存中的再定位和扩大寻址空间等问题。
指令寻址方式的定义
寻址方式就是处理器根据指令中给出的地址信息来寻找有效地址的方式,是确定本条指令的数据地址以及下一条要执行的指令地址的方法。
常见微指令编码方式
直接表示法:操作控制部分的每一位就代表一个微命令。 编码表示法:将互斥性微命令放入一个字段中,通过译码器译码后才能得知是执行哪一个微命令。 混合表示法:相容性的采用直接表示法,相斥性的采用编码表示法。
微命令字段直接编码法
数据通路中的微操作之间存在两种关系:相容和互斥。相容微操作是指在数据通路中能同时进行的微操作,对应的微命令称为相容微命令;互斥微操作是指在数据通路中不能同时进行的微操作,对应的微命令称为互斥微命令。 字段直接编码法是将微指令分成若干字段,每个字段包含若干微命令。把相斥微操作组合在同一字段,相容微操作组合在不同字段,所以编码时对每一字段内的微操作进行。因此,一条微指令中最多可同时发出的微操作数就是微命令字段的个数。 采用字段直接编码法,每一段需要留有一个状态来说明自己没有任何命令。
采用扩展操作码技术的目的
扩展操作码技术使操作码的长度随着地址码个数的减少而增加,从而在保持指令字长不变的基础上增加指令数量。
CISC设计的出发点
强调有效性是计算机系统设计的重要原则之一,是CISC计算机的出发点。
第5章 CPU系统
CPU的功能和基本结构
CPU的功能
CU(控制器)的功能
指令控制
取指令
操作控制
分析指令
时间控制
执行指令,发出各种操作命令控制程序输入及结果的输出
数据加工
总线管理
处理中断
处理异常情况和特殊请求
ALU(运算器)的功能
实现算术运算和逻辑运算
CPU的基本结构
  
指令控制
PC
IR
操作控制
时间控制
CU
时序电路
数据加工
ALU
寄存器
处理中断
中断系统
CPU内的寄存器

程序计数器(PC)
指令地址寄存器。用来存放即将要执行的下一条指令地址。 有两种途径来形成指令地址,其一是顺序执行的情况,通过程序计数器加“1”形成下一条指令地址(如存储器按字节编址,而指令长度为4个字节,则加“4”);其二是遇到需要改变顺序执行程序的情况,一般由转移类指令形成转移地址送往程序计数器,作为下一条指令的地址。  1.任何指令想要执行,均需要将指令地址发给PC; 2.PC是用户可见的,用户可以直接修改PC的值。
指令寄存器(IR)
指令寄存器用来存放从存储器中取出的指令。当指令从主存取出存于指令寄存器之后,在执行指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。
存储器数据寄存器(MDR)
存储器数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存写入一条指令或一个数据字时,也暂时将它们存放在存储器数据寄存器中。
存储器地址寄存器(MAR)
存储器地址寄存器用来保存当前CPU所访问的主存单元的地址。当CPU和主存进行信息交换,无论是CPU向主存存取数据时,还是CPU从主存中读出指令时,都要使用存储器地址寄存器和数据寄存器。
概要
① ②PC=MAR MDR=IR ③IR=指令字长 MDR=存储字长 PC=log₂(内存大小/指令字长) MAR=log₂(内存大小/编址单位)
状态标志寄存器(PSWR)
状态标志寄存器用来存放程序状态字(PSW)。程序状态字的各位表征程序和机器运行的状态,是参与控制程序执行的重要依据之一。它主要包括两部分内容: ①状态标志,如进位标志(C)、结果为零标志(Z)等,大多数指令的执行会影响这些标志位; ②是控制标志,如中断标志、陷阱标志等。 有4个结果状态标志触发器N(S),Z,V和C。 N(负数):当运算结果为负数时,置“1”,否则为“0”。 Z(零):当运算结果为零时,Z=1,否则Z=0。 V(溢出):当运算结果溢出时,V=1,否则V= 0。 C(进位):当加法运算产生进位信号或减法运算产生借位信号时,C=1,否则C=0。 条件转移指令根据N,Z,V,C的状态,决定是否转换。如转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。
ACC(Accumulator)
ACC(Accumulator)是累加器A缩写。 累加器是一个具有特殊用途的寄存器,专门用来存放操作数或运算结果。 在CPU执行某种运算前,两个操作数中的一个通常应放在累加器中,运算完成后累加器A中便可得到运算结果。 ACC位数=机器字长=通用寄存器位数=ALU的位数
通用寄存器
编程指定多种功能的寄存器
CPU数据流通路
指令周期
完成一条指令分4个工作周期 取指周期 间址周期 执行周期 中断周期
指令周期
一条指令从取出到执行完成所需要的时间
机器周期
指令周期划分为几个阶段,每个阶段所需的时间,也称CPU工作周期(通常等于访存周期)
时钟周期
时钟频率的倒数,也称节拍或T周期(通常等于CPU—步操作时间)
概要
一个指令周期包含若干机器周期,一个机器周期包含若干时钟周期
指令周期的数据流
取指周期
…… (PC)→MAR 1→R M(MAR)→MDR …… (MDR)→IR OP(IR)→CU (PC)+1→PC  任何指令要执行,都必须要先取指。
间址周期
…… Ad(IR)→MAR 1→R M(MAR)→MDR …… (MDR)→Ad(IR) 
加法指令
ADD X …… Ad(IR)→MAR 1→R M(MAR)→MDR …… (ACC)+(MDR)→ACC
存数指令
STA X Ad(IR)→MAR 1→W (ACC)→MDR (MDR)→M(MAR)
取数指令
LDA X …… Ad(IR)→MAR 1→R M(MAR)→MDR …… (MDR)→ACC
转移指令
无条件转
JMP X Ad(IR)→PC
条件转移
BAN X(负则转) 
中断周期
程序断点存入“0”地址。 …… 0→MAR 1→W (PC)→MDR (MDR)→M(MAR) …… 向量地址→PC 0→EINT(置“0”) 程序断点进栈 …… (SP)-1→MAR 1→W (PC)→MDR (MDR)→M(MAR) …… 向量地址→PC 0→EINT(置“0”)
指令周期数据通路的功能和基本结构
数据通路是CPU中算术逻辑单元(ALU)、控制单元(CU)以及寄存器之间的连接线路。不同计算机的数据通路可以是完全不同的,只有明确了机器的数据通路,才能确定相应的微操作控制信号。 控制器在实现一条指令的功能时,总要把每条指令分解成为系列时间上先后有序的最基本、最简单的微操作,即微操作序列。微操作序列是与CPU的内部数据通路密切相关的,不同的数据通路就有不同的微操作序列。
控制器的功能和工作原理
组合逻辑控制器的设计方式
又名硬布线逻辑控制器
基本思想
综合化简产生微命令的条件,形成指令操作码译码输出、时序信号和状态条件信号的逻辑函数,用组合逻辑电路实现。执行指令时,由组合逻辑电路(微命令发生器)在相应时间发出所需微命令,控制有关操作。 例如:写出取数据微操作命令的最简表达式 
硬布线逻辑的设计步骤
列出每个信号的时间表

列出表达式并化简
根据表达式画出逻辑图

优缺点
优点:速度快,思路清晰,简单明了 缺点:设计不规整,结构零乱,不易修改、扩充指令系统功能,(RISC)。
微程序控制控制器的设计方式
基本思想
将存储程序的思想方法引入控制器的控制逻辑,将微操作控制信号按一定规则进行编码,形成微指令,存放到一个只读存储器里;存放微程序的存储器称为控制存储器(Control Memory,CM,简称控存)。 当机器运行时,逐条读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。 
基本概念
微程序
包含若干微指令,解释执行一条机器指令。
微指令
产生微命令,控制完成机器指令功能的一步操作。
微命令
控制完成微操作的命令。
基本流程
1)计算机的程序由指令序列构成,而计算机每条指令的功能均由微指令序列解释完成,这些微指令序列的集合就叫做微程序; 2)微程序事先存放在一个控制存储器中,执行机器指令时再取出; 3)将微命令以代码形式编成微指令,控制一步操作; 4)若干微指令编成一段微程序,解释执行一条机器指令;
微指令序列地址的形成
1)微指令的下地址字段指出(断定法) 2)增量计数器(CMAR) +1→CMAR 3)根据机器指令的操作码形成 4)由硬件产生微程序入口地址 第一条微指令地址 由专门硬件产生 取指令 间址指令 中断指令
优缺点
优点:结构规整,设计效率高,性价比高,可靠性高,易于修改、扩展指令系统功能,ClSC。 缺点:速度较慢,执行效率受影响。
微程序控制控制器具体实现
采用微程序设计方法设计的控制单元的过程就是编写每一条机器指令的微程序,它按照执行每条机器指令所需的微操作命令的先后顺序而编写,本质上是一条机器指令对应一个微程序。 任何机器的取指指令的操作都是相同,因为将系统中的取指指令统一编制成一个取指微程序。 间址指令和中断指令也是通用的,因此对于间址指令和中断指令也是编程统一的间址微程序和中断微程序。 假设系统中有N条指令,对应的微程序有(N+1)或者(N+3)个。 N+1=N条+取指 N+3=N条+取指+间址+中断 
微程序控制器的基本结构
 控存是微程序控制单元的核心部件(ROM,用于存放微程序); CMAR(uPC)是控存地址寄存器,用来存放将要读出的微标志指令的地址; CMDR(uMDR)是控存数据寄存器,用来存放从控存中读出的微指令; 顺序逻辑是用来控制微指令序列的,具体就是控制形成下一条微指令的地址,其输入和微地址形成部件、微指令的下地址字段以及外来标记有关。
微指令编码方法——微指令的功能(操作)
直接控制法、分段直接编译法、分段间接编译法、混合控制法
直接编码(直接控制)方式
在微指令的操作控制字段中,每一位代表一个微操作命令。  某位为“1”表示该控制信号有效 速度最快 缺点:字段太长
字段直接编码方式
选出互斥的微命令组成若干“段”,用二进制编码表示。每段经译码后发出控制信号。   每个字段中的微命令是互斥的 缩短了微指令字长,增加了译码时间 显式编码 微程序执行速度较慢 每一段的位数=
微地址形成方式——如何寻找微指令
微程序入口地址的形成:由机器指令操作码通过微地址形成部件转换。 后继微地址的形成:增量方式、断定方式及这两种方式的结合。 
CM大小
min{CMDR*2^CMAR,CMDR*2^下地址字段长度}
指令流水线
指令流水线的基本概念
指令流水就是改变各条指令按顺序串行执行的规则,使机器在执行上一条指令的同时,取出下一条指令,即上一条指令的执行周期与下一条指令的取址周期同时进行。也可以把指令周期划分得更细,使更多的指令在同一时间内并行执行。 流水线技术是一种显著提高指令执行速度与效率的技术。方法是:指令取指完成后,不等该指令执行完毕即可取下一条指令。 如果把一条指令的解释过程进一步细分,例如,把分析,执行两个过程分成取指,译码,执行,访存和写回寄存器四个子过程,并用四个子部件分别处理这四个子过程; 将一条指令的执行过程划分为若干阶段,用不同部件分别完成各阶段相应操作; 将多条指令的不同阶段用不同部件同时完成相应操作,每个时钟周期执行一条指令。 
执行时间
设流水线各段时间为Δt,完成n条指令在m段流水线上共需  完成n条指令在等效的非流水线上共需 
吞吐率
单位时间内流水线所完成指令或输出结果的数量。 设m段的流水线各段时间为Δt ①最大吞吐率  ②实际吞吐率 连续处理n条指令的吞吐率为T。  
加速比
m段的流水线的速度与等功能的非流水线的速度之比 设流水线各段时间为Δt,完成n条指令在m段流水线上共需  完成n条指令在等效的非流水线上共需 则
效率
流水线中各功能段的利用率,由于流水线有建立时间和排空时间,因此各功能段的设备不可能一直处于工作状态 流水线中各功能段的利用率  
指令流水线的阻塞因素
在流水线中会出现三种相关,影响流水线的畅通流动,分别是结构相关,数据相关和控制相关。
结构相关(资源冲突)
结构相关是当多条指令进入流水线后,硬件资源满足不了指令重叠执行的要求时产生的。 解决办法: (1)前指令访存时,使后一条相关指令(以及其后续指令)暂停一个时钟周期。 (2)单独设置数据存储器和指令存储器,使两项操作各自在不同的存储器中进行,这属于资源重复配置。
数据相关(数据冒险)
数据相关是指令在流水线中重叠执行时,当后继指令需要用到前面指令的执行结果时发生的。 数据相关的三种形态: 1)RAW(写后读错误):若是流入流水线的一段指令中,先流入的指令写入结果的地址和后流入的指令的读取结果的地址是同一个寄存器或者是存储单元,如果后流入的读取先于前流入的指令的写操作,就会发生先读后写相关。 2)WAW(先写覆盖后写错误):如果前后两条指令的写操作的目的地址一样,如果先流入的还没有进行写操作,而后流入的已经进行写操作,这样先流入的指令就会把后流入的指令的数据覆盖掉。 3)WAR:(读后写错误):若是流入流水线的一段指令中,先流入的指令写入结果的地址和后流入的指令的读取结果的地址是同一个寄存器或者是存储单元,如果后流入的写操作先于前流入的指令的读操作,就会发生读后写相关;指令i在前,指令j在后。指令j在指令i读出寄存器或者内存之前,就把数据写入寄存器或者内存,导致指令i读出的是错误的新数据。 在按序发射,按序执行的流水线中,只能发生RAW相关 在非按序流动的流水线中,则可能发生RAW,WAW,WAR 解决办法: (1)把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,直到数据相关问题消失后再继续执行,可分为硬件阻塞和软件插入“NOP”指令两种方法。 (2)设置相关专用通路,即不等前一条指令把计算结果写回寄存器组,下一条指令也不再读寄存器组,而是直接把前条指令的ALU的计算结果作为自己的输入数据开始计算过程,使本来需要暂停的操作变得可以继续执行,称为数据旁路技术。 (3)通过编译器对数据相关的指令编译优化的方法,调整指令顺序来解决数据相关。
控制相关
控制相关是当流水线遇到分支指令和其他改变PC值的指令(条件转移指令)时引起的。 解决办法: (1)对转移指令进行分支预测,尽早生成转移目标地址分支预测分为简单(静态)预测和执行的历史情况。静态预测总是预测条件不满足,即继续执行分支指令的后续指令,动态预测根据程序执行的历史情况,进行动态预测调整,有较高的预测准确率。 (2)预取转移成功和不成功两个控制流方向上的目标指令。 (3)加快和提前形成条件码。 (4)提高转移方向的精准率。
刷题笔记
控制存储器的实现元件
控制存储器可以用掩膜ROM、EPROM或闪速存储器实现。
兼容性微操作与互斥性微操作
兼容性微操作是指在同一CPU周期中,可以并行执行的操作,而互斥性微操作是指不允许同时出现的操作,不可以并行执行的操作并不一定是不允许同时出现的操作。
CPU读/写控制信号的作用
决定数据总线上的数据流方向;控制存储器操作(读/写)的类型;控制流入、流出存储器信息的方向。
采用同步控制的目的
同步控制采用统─的时钟信号,以最复杂指令的操作时间作为统一的时间间隔标准。这种控制方式设计简单,容易实现,简化控制时序。
加法指令执行周期是否一定要访存
如果两个加数都在寄存器中,就不需要访存;若指令中给出了存储器地址,表明有操作数在存储器中,所以要访存。
三级时序系统
三级时序系统包括机器周期、节拍、工作脉冲。
乘法指令的控制方式
中央与局部控制相结合的控制方式,又叫做同步控制方式。计算机执行乘法指令时,由于其操作较复杂,需要更多的时间,一般采用这种控制方式。
同步控制、异步控制、联合控制
同步控制:有统一的时钟,各个部件在同一时钟周期下有序工作,但不同机器周期可含有不同时钟周期,适合设备之间速度差别不大的控制。 异步控制:灵活,通过应答方式,适合远距离,设备之间速度差别大的控制。 联合控制:同步控制和异步控制的结合。
中断标志触发器的作用
中断标志触发器是用来指示CPU是否进入中断周期。在响应中断时需要先检查该中断标志触发器看CPU是否可以进入中断。
允许中断触发器的作用
允许中断触发器是用来指定机器是否允许中断,通过控制中断触发器可以开放或关闭中断系统。
向量中断定义
向量中断是利用硬件产生向量地址,再由向量地址找到中断服务程序的入口地址。向量地址由中断向量地址形成部件产生,这个电路可分散设置在各个接口电路中,也可设置在CPU内。
响应中断请求的条件
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。为了保证被中断程序能够正确恢复,响应中断需要在外设工作完成和系统允许时。
隐指令定义
隐指令不存在于指令系统。如中断隐指令,中断隐指令并不是指令系统中的一条真正的指令,是指令系统中没有的指令。它没有操作码,中断隐指令是一种不允许、也不可能为用户使用的特殊指令。
中断隐指令
中断隐指令指CPU响应中断之后,经过某些操作,转去执行中断服务程序的一种操作。开关中断是在程序运行之前指定,不存在中断周期中,所以是由中断隐指令将允许中断触发器置“0”。 中断隐指令完成的工作有:1)关中断;2)保存断点;3)引出中断服务程序。 保护通用寄存器的内容是在进入中断服务程序后首先进行的操作。
流水处理器和并行部件处理器的吞吐能力对比
超流水处理器是通过细化流水,提高主频,使得机器在一个周期内完成一个甚至多个操作,其实质是用时间换取空间。n 段流水处理器与具有n个并行部件的处理器相比具备同等水平的吞吐能力。
通用寄存器的功能
通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。但不可代替特殊指令寄存器IR。
屏蔽字与中断优先级
屏蔽字所在位为“1”表示屏蔽该中断。有个简便的方法就是看中断源的屏蔽字含有的“1”多,“1”越多其优先级越高。
中断的实现
中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。
流水线多发技术
超标量流水技术:超标量流水技术是指一个周期取出多条指令并行执行,是通过内置多条流水线来同时执行多个处理,其实质是以空间换取时间。。超标量CPU需要增加大量的硬件电路来调度这些同时取出的指令,比如寄存器重命名,预约站,重排序缓冲区等。 超流水线技术:超流水线技术通过细化流水,提高主频,缩短原来流水线的处理器周期,使得机器在一个周期内完成一个甚至多个操作,其实质是用时间换取空间。 超长指令字技术:超长指令字处理器采用多个独立的功能部件,但它并不是将多条指令流出到各个功能单元,而是将多条指令的操作打包,形成—条非常长的指令,超长指令字由此得名。
RISC CPU三个基本要素
RISC CPU的三个基本要素是: (1)一个有限的简单指令集; (2)CPU配备大量的通用寄存器; (3)强调指令流水线的优化。注意,RISC机器一定是流水CPU,但流水CPU不一定是RISC机器。
解释程序
按照源程序语句的动态执行顺序,逐句地进行解释而后立即执行的翻译程序。
汇编语言翻译成机器语言的程序
在最后一步将汇编语言翻译成机器语言需借助于汇编程序。
单周期计算机的时钟周期
计算机的每一个指令的执行时间都是单个时钟周期。单周期CPU用一个时钟周期执行—条指令,而确定时钟周期的时间长度时要考虑执行时间最长的指令,因此效率不一定高。
对微处理器效率最高的CPU传送方式
采用查询,无条件传输和延时采样方式均有CPU等待时间,而采用中断方式,CPU无需等待数据是否准备好而去处理其他事务,当有中断信号是再处理,这样CPU的利用率就提高了。
DMA传送过程
每类设备都配置一个设备驱动程序,设备驱动程序向上层用户程序提供一组标准接口,负责实现对设备发出各种具体操作指令,用户程序不能直接和DMA打交道。DMA的数据传送过程分为预处理、数据传送和后处理3个阶段。预处理阶段由CPU完成必要的准备工作,数据传送前由DMA控制器请求总线使用权;数据传送由DMA控制器直接控制总线完成;传送结束后,DMA控制器向CPU发送中断请求,CPU执行中断服务程序做DMA结束处理。
DRAM芯片行数与列数取值
首先根据DRAM采用的是行列地址线复用技术,我们尽量选用行列差值不要太大的。其次,为了减小刷新开销,而DRAM一般是按行刷新的,所以应选行数值较少的。
中断时保护通用寄存器的程序
通用寄存器的保护由中断服务程序完成。
单周期CPU的特征
单周期处理器即指所有指令的指令周期为一个时钟周期,每条指令的CPI为1,要考虑比较慢的指令,所以处理器的时钟频率较低。单总线结构将CPU、主存、I/O设备都挂在一组总线上,允许I/O设备之间、I/O设备与主存之间直接交换信息,但多个部件只能争用唯一的总线,且不支持并发传送操作。单周期处理器并不是可以采用单总线结构数据通路。控制信号即指PC中的内容,PC用来存放当前欲执行指令的地址,可以自动使PC+1以形成下—条指令的地址。在指令执行过程中控制信号不变化。
微处理器定义
微处理器是由一片或少数几片大规模集成电路组成的中央处理器。
五级流水线定义
五级流水线是一种处理器设计技术,它将一条指令的执行过程分为五个阶段。这些阶段包括:取指令、译码、执行、缓冲/数据和回写。在五级流水线中,每个阶段都有独立的功能,并且每个阶段在完成指令执行的一个小部分后,就将结果传递给下一个阶段。这种设计有效地将原本需要多个时钟周期才能完成的指令分解为更小的部分,并在一个时钟周期内执行,提高了处理器的执行效率。
四种总线事务方式
猝发(突发)传输是在一个总线周期中,可以传输多个存储地址连续的数据,即一次传输一个地址和一批地址连续的数据; 并行传输是在传输中有多个数据位同时在设备之间进行的传输; 串行传输是指数据的二进制代码在一条物理信道上以位为单位按时间顺序逐位传输的方式; 同步传输是指传输过程由统一的时钟控制。
有利于实现指令流水线的指令系统特征
指令定长、对齐、仅Load/Store指令访存,以上三个都是RISC的特征。均能够有效的简化流水线的复杂度。
单级中断处理过程及各步骤执行者
单级中断系统中,不允许中断嵌套。中断的处理过程为: 1.关中断; 2.保存断点; 3.识别中断源; 4.保存现场; 5.中断事件处理;(开中断、执行中断服务程序、关中断); 6.恢复现场; 7.开中断; 8.中断返回。 其中,1~3步由硬件完成,4~8由中断服务程序完成。
机器周期的决定
由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长,因此机器周期通常用主存中读取一个指令字的最短时间来规定。
80386的段寄存器位数
段寄存器(16位)分为:CS:代码段寄存器;DS:数据段寄存器;SS:堆栈段寄存器;ES、FS及GS:附加数据段寄存器。
寄存器的值有时为地址如何识别
寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。寄存器的用途是可将寄存器内的数据执行算术及逻辑运算。寄存器内的地址可用来指向内存的某个位置,即寻址,通过计算机的指令来识别。
周期挪用方式使用场合
周期挪用是指利用CPU不访问存储器的那些周期来实现DMA操作,此时DMA可以使用总线而不用通知CPU也不会妨碍CPU的工作。
同一进程内多线程切换与进程上下文切换
同一个进程的多线程切换需要进行进程上下文切换,但所需时间较短。
多级中断处理过程屏蔽字设置与恢复的时机
在单级中断处理过程的开中断之前置屏蔽字,在恢复现场之后恢复屏蔽字
DMA周期内CPU能否执行程序
DMA周期内CPU仍然可以执行程序。
DMA控制器挪用存储周期的频率
DMA控制器负责控制数据在内存与外设之间传送,每传送一个字节就需挪用一个存储周期。
通用寄存器的真值及其位数与CPU位数的关系
中央处理机中的通用寄存器位数为处理机的位数;由于不能确定该处理机的运算规则,即是否采用补码进行存储和计算,所以不能判断寄存器的真值。
水平型微指令与垂直型微指令的区别
水平型微指令和垂直型微指令的区别是: ①水平型微指令一次能定义并执行多个并行操作微命令,效率高,灵活性强,而垂直型微指令设置微操作码字段,一条微指令中只有1~2个微命令,并行操作能力低,效率、灵活性较差。 ②水平型微指令执行一条机器指令的时间短,而垂直型微指令执行时间长。 ③水平型微指令字比较长,而由此构成的微程序较短;垂直型微指令字较短,但由此构成的微程序较长。 ④水平型微指令用户难以掌握,而垂直型微指令与机器指令的结构相似,用户比较容易掌握。
微操作形成的关联信号
 组合逻辑网络的输出信号就是微操作控制信号C,它用来对执行部件的操作进行控制。组合逻辑网络的输入信号有三个来源: (1)来自指令译码器的输出T; (2)来自执行部件的反馈信息B; (3)来自时序发生器的时序信号T。 其中微操作信号的形成主要与指令译码信号和时钟信号有关。
通道处理器的功能
通道的出现是为了提高CPU利用,在与外存打交道时解放CPU,只让CPU提供传输过程所必须的传输初始地址等信息,之后由通道程序进行控制传输数据。 在通道程序传输完所需传输的数据后,要告诉CPU本次传输结束,由CPU进行下一步操作,在这个过程中是要发给CPU一个中断信号来的。 通道传输可以看做是升级版的DMA传输,DMA传输数据量小于通道传输,DMA传输所需的由CPU提供的传输信息多于通道传输。 通道程序可以自己选择传输的数据存放在什么位置,可以自己选择一次传输多少数据后再通知CPU。 通道传输过程中只需传输数据的初始地址,一次传输的数据量大小,因此是不需要数据运算的。
典型的CPU部件
中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。
控制取指、析指和执行指令循环的部件
在程序执行过程中,控制器控制计算机的运行总是处于取指令、分析指令和执行指令的循环之中。
中断处理过程与子程序调用压栈的区别
无论中断处理和子程序调用都不需要保存通用数据寄存器和通用地址寄存器的内容。在中断处理过程中程序计数器(PC)和程序状态字(PSW)寄存器的内容都要压栈保存。在子程序调用时,由系统硬件限制只保存程序计数器的内容,不保存PSW的内容;如果需要保存PSW内容可由软件来实现。
机器指令与微指令地址字段的作用
机器指令的地址字段用于存放数据进行运算操作。而在微指令中的地址字段确定下—条微指令的位置,用来确定执行顺序。
常见的流水线形式
算数流水线将复杂的算术逻辑运算组成流水线形式。 指令流水线将一条指令解释过程分成多个子过程。 处理机流水线是一种宏流水,其中每个处理机完成某个任务之后,各个处理机得到的结果存放在与下一个处理机共享的存储器中。
控制部件的控制命令和执行部件执行操作的名称
控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令,而执行部件执行此控制命令后所进行的操作叫做微操作。 微程序控制的提出,其主要目的是希望能实现灵活可变的计算机指令系统。 微命令:构成控制信号序列的最小单位。 微操作:由微命令控制实现的最基本的操作。
机器指令与微程序的数量对应关系
一条机器指令往往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一段微程序,对应—条机器指令。但控制存储器中的微程序个数应为机器指令数再加上对应取指,间接寻址和中断周期的三个微程序。
两类微指令格式
微指令格式可分为垂直型和水平型两类。 水平型微指令:一次能定义并执行多个并行操作微命令的微指令。 垂直型微指令:微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,用较长的微程序结构换取较短的微指令结构。
微操作命令的两种控制方式
执行部件接受微命令后所执行的操作就叫做微操作。微操作的执行方式可采用直接控制与编码控制两种方式。
两种编码控制方式
编码控制又可以分为显示编码和隐式编码两种。隐式编码由于采用间接编码因而微指令字长较短。
水平型微指令与机器指令长度对比
水平型微指令一次能定义并执行多个并行操作微命令的微指令,含有多种控制信息,因而长度较长。
后继微指令地址的6种形成方式
在实际的执行过程中,后继微指令地址的形成方式有直接由微指令的下地址字段给出、根据指令的操作码形成、增量计数器法、分支转移、通过测试网络形成和由硬件直接产生六种。
两种微指令编码方式包含的微操作数
若采用直接控制,则可以定义的微操作数目等于控制字段位数,等于—条微指令最多可同时启动的微操作数目。 若采用编码控制,并要求一条微指令需同时启动n个微操作,则微指令字中的操作控制字段应分n段,若每个字段的微命令数相同,这样的微指令格式最多可包含(2^(控制字段位数/n)-1)*控制字段位数个微操作命令。
微指令的组成
微指令是指在微程序控制的计算机中,同时发出的控制信号所执行的一组微操作。微指令是由操作控制字段和顺序控制字段组成的。将一条指令分成若干条微指令,按次序执行就可以实现指令的功能。若干条微指令可以构成一个微程序,而一个微程序就对应了一条机器指令。
串/并行微程序控制器的微指令周期
执行—条微指令的过程与执行机器指令的过程很类似。第一步将微指令从控存中取出,称为取微指令;对于垂直型微指令还应包括微操作码的译码时间。第二步执行微指令所规定的各个操作。微指令的执行方式可分为串行和并行两种方式。 串行:取指令与执行指令串行进行,微指令周期为取微指令时间加上执行微指令时间。 并行:取指令与执行指令重叠进行,微指令周期等于执行微指令时间。
微程序控制器的设计目标
微程序设计是用规整的存储逻辑代替不规则的硬接线逻辑来实现计算机控制器功能的技术。每一条指令启动一串微指令,这串微指令称为微程序。微程序存放在控制存储器中,修改控制存储器内容可以改变计算机的指令。在实际进行微程序设计时,应考虑尽量缩短微指令字长,减少微程序长度,提高微程序的执行速度,便于对微指令的修改。这几项指标是互相制约的,应当全面地进行分析和权衡。
组合逻辑控制器微操作信号决定因素
组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入。组合逻辑控制器微操作的信号由指令操作码、时序、状态条件共同决定。
根据数据通路结构对微操作分类
微指令与微操作是部件接受命令后所执行的操作。执行部件接受微命令后所执行的操作就叫做微操作。微操作在执行部件中是组基本的操作。由于数据通路的结构关系,微操作可分为相容性和相斥性两种。
中断响应时保护现场的具体内容
保护断点地址:为了中断响应完成后可以继续返回到原来的程序继续执行。 保护寄存器的内容:因为响应的中断程序可能也会用到寄存器,为了防止原来寄存器中的内容丢失会先将其保存起来。
乘法指令的控制方式
因为在这种指令执行过程中,需要进行多个步骤(例如获取操作数、进行计算、存储结果等),而这些步骤需要按照特定的顺序和时序来完成。因此,为了确保指令执行的正确性和稳定性,控制器需要采用微程序控制方式来控制指令的执行过程。微程序控制方式可以将指令的执行过程分为多个微操作,并对每个微操作进行控制和调度,从而确保指令的正确执行。 而对于微程序控制方式和时序控制方式,它们都需要按照一定的节拍来完成指令的执行过程。在微程序控制方式中,每个微操作都需要占用一个时钟周期,因此节拍宽度比较固定。而在时序控制方式中,由于每个指令的执行时间不同,因此需要根据具体的指令来确定节拍宽度。因此,这两种控制方式的节拍宽度是相等的,但它们的实现方式是不同的。
同步控制定义
对所有指令中的任何一个微操作的执行,都由统—基准时标的时序信号控制的方式。同步控制中,微操作与机器时钟信号同步,使得控制简单,信号宽度固定,但必须保证最耗时的微操作能够完成,因此控制器的控制方式中,机器周期中的节拍数可以不同。同步控制方式的设计简单,节省器材,便于调试,可靠性好。
控制器的四类控制方式
控制器的控制方式可分为同步控制、异步控制、联合控制、人工控制四种。 同步控制:有统一的时钟,各个部件在同一时标下有序工作,适合设备之间速度差别不大。 异步控制:灵活,通过应答方式,适合远距离,设备之间速度差别大。 联合控制:同步控制和异步控制的结合。 人工控制:通过人工手动操作的方式进行控制。
控制器同步控制的时序系统组成
CPU采用同步控制方式时,控制器使用机器周期和节拍组成的多极时序系统。
后继指令地址的形成
程序顺序执行时,后继指令的地址由PC自动加1形成,遇到转移指令和调用指令时,后继指令的地址从指令寄存器的地址码字段获得。
异步控制定义
不存在基准时标信号,微操作的时序由专用的应答线路控制的方式。
中央与局部相结合的控制方式
中央与局部控制相结合的控制属于同步控制方式,要求中央节拍的宽度与局部控制节拍的宽度相同。
指令的操作对象与存取周期
R-S型指令:即寄存器—存储器型指令,是指指令中两个操作对象一个是寄存器,一个是存储器,用地址码R和A进行表示,R为寄存器地址,A为主存地址。 S-S型指令:即存储器—存储器型指令,是指指令中两个操作对象都是存储器,用地址码A1和A2进行表示,A1、A2为主存地址。因此R-S型指令,执行阶段需要一个存取周期;S-S型指令,执行阶段需要两个存取周期。
进栈操作中断后的第一个微操作
在进行中断时会将当前程序的相关数据和返回地址保存在堆栈中,因此进入中断的第一个微操作是获得当前堆栈指针的地址(SP→MAR)以便下一步放入相关数据。
控制单元的输入信号来源
CPU由控制单元和逻辑运算单元组成。控制单元的基本功能是从内存取指令、分析指令和执行指令。其输入信号可以是时钟、指令寄存器、各种状态标记、控制总线。
间址周期的决定因素
间址周期发生在取指令周期,当指令的寻址特征指出指令需要间接寻址的时候就会存在间址周期。
流水线处理器的处理对象及其本质
流水线处理器可处理指令流水、运算流水。其本质都是使用多组硬件在相同时间内进行多种并行操作。 指令流水是指为提高处理器执行指令的效率,把一条指令的操作分成多个细小的步骤,每个步骤由专门的电路完成。 运算流水是指在一个周期取出多条指令并行执行,是通过内置多条流水线来同时执行多个处理,其实质是以空间换取时间。
CPU转入中断服务程序入口地址的方法及其支持部件
CPU响应中断有两种形式硬件向量法和软件查询法。 硬件向量法:利用硬件先生成向量地址,然后再通过向量地址找到软件中断程序的入口地址。这种方法的核心就是向量地址形成部件。此方法速度相当快,是当下应用最为广泛的一种方式。 软件查询法:使用软件寻找中断服务程序入口地址的方法,需配置中断识别程序。
中断源的两大类及其优先级比较
可屏蔽中断:硬件中断的一类,可通过在中断屏蔽寄存器中设定位掩码来关闭。 不可屏蔽中断:硬件中断的一类,无法通过在中断屏蔽寄存器中设定位掩码来关闭。典型例子是时钟中断。 与可屏蔽中断相比,不可屏蔽中断具有较高优先级。
允许中断触发器置“0”的实现
为了保证被中断程序的正确执行,在保存与恢复被中断程序时需要关闭中断触发器,因此需要中断触发器置“0”操作。中断触发器置“0”可通过关中断指令或者在中断响应时,由硬件自动关中断实现。
控制器的功能
控制器由程序状态寄存器PSR,系统状态寄存器SSR,程序计数器PC,指令寄存器等组成,其作为“决策机构”,主要任务就是发布命令,发挥着整个计算机系统操作的协调与指挥作用。其功能是取指令、分析指令、发出各种微操作命令、执行不同指令、处理各种异常情况或特殊请求等。
CPU的功能
CPU的功能有指令控制、操作控制、时间控制、数据加工、处理中断。CPU功能是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。
CPU的基本组成
各类寄存器、算术逻辑部件ALU、控制单元、中断系统
程序计数器顺序执行指令时的自增数
自增数为指令长度/字节数
程序计数器接收新地址的时机
在进行转移和中断这种需要更换新的指令地址的时候PC会接收新的地址。
响应中断的条件
中断源有请求和中断允许触发器为“1”时。
中断判优的定义和方法
当多个中断源同时提出请求时,需要进行中断判优来确定响应的优先次序。中断判优可以通过硬件排队器和软件排队来实现。 硬件排队器:以硬件实现中断判优的功能。即任何一个中断系统,任一时刻,只能响应一个中断源的请求。当多个中断源同时请求是,硬件排队实现优先等级的安排。 软件排队:通过程序本身的逻辑判断来实现中断优先级安排,耗时较多。
多重中断的含义和实现条件
CPU在响应处理中断过程中,允许响应处理更高级别的中断请求,这种方式称为多重中断。实现方法是在中断服务程序的起始部分用一段程序来保存现场、送新屏蔽字以屏蔽同级别和低级别的中断请求、然后开中断,这样CPU就可响应更高级别的中断请求,实现多重中断。
流水CPU的原理
流水CPU以时间并行性为原理构造的处理器。CPU按流水线方式组织,通常由三部分组成:指令部件、指令队列、执行部件。这三个功能部件可以组成一个3级流水线。流水技术是目前主流计算机都会普遍采用的技术。
对编译器要求高的流水线多发技术
超长指令字处理器采用多个独立的功能部件,但它并不是将多条指令流出到各个功能单元,而是将多条指令的操作打包,形成一条非常长的指令,超长指令字由此得名。超长指令字同时可流出多条指令的任务由编译器完成,所以该技术对编译器有很高要求。
中断源屏蔽字当中0与1的位置
优先级比该中断源高的中断源编号对应的位取0,优先级比该中断源低的中断源编号和该中断源自身编号对应的位取1。
硬件向量法找到服务程序入口地址的两种方式
硬件向量法就是利用硬件产生向量地址,再由向量地址找到中断服务程序的入口地址。包含存放指令和和地址向量表两种形式。 存放指令:在向量地址内存放一条无条件转移指令,CPU响应中断是,只要将向量地址送至PC,执行这条指令,便可无条件转向如打印机等服务程序的入口地址。 地址向量表:设置地址向量表,该表设在存储器内,存储单元的地址为向量地址,存储单元的内容为入口地址,只要访问存储单元,便可获得入口地址。
软件查询法中断周期的三步操作
中断响应周期是指当CPU采用中断方式实现主机与I/O交换信息时,CPU在每条指令执行阶段结束前,都要发中断查询信号,以检测是否有某个I/O提出中断请求。如果有请求,CPU则要进入中断响应阶段,又称中断周期。中断周期包括保护程序断点、硬件关中断、中断识别程序入口地址送至PC三步操作。
硬件向量法中断周期的三步操作
中断响应周期是指当CPU采用中断方式实现主机与IO交换信息时,CPU在每条指令执行阶段结束前,都要发中断查询信号,以检测是否有某个I/O提出中断请求。如果有请求,CPU则要进入中断响应阶段,又称中断周期。在采用采用硬件向量法时,中断周期包括保护程序断点、硬件关中断、向量地址送至PC三步操作。
流水线的相关问题的定义
在程序的相近指令之间出现某种关联时会出现相关性问题。包括控制相关与数据相关两种相关性问题。
响应优先级和处理优先级
(1)响应优先级指CPU响应各中断源请求的优先顺序,这种顺序往往是硬件电路设置好的,不便于改动 (2)处理优先级指CPU实际对各中断源请求处理的优先次序,可以通过中断屏蔽技术来改变处理优先次序。若不采用屏蔽技术,则响应的优先次序就是处理的优先次序。 由于只要中断一开,就允许中断嵌套,因此设置屏蔽字的指令必须安排在中断服务程序的开中断指令之前。
中断响应过程
中断处理步骤: (1)中断请求:中断源向CPU发出中断请求 (2)中断响应 (3)保护断点和现场:以便在中断服务程序执行后正确的返回主程序。 (4)中断处理 (5)中断返回
微程序控制中一个节拍的产物
在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成—条微指令。
微程序设计技术及其特点
微程序设计技术是利用软件方法设计操作控制器的一门技术,具有规整性、可维护性、灵活性等—系列特点。
并行处理技术的三种形式
时间并行:是指时间重叠,在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。 空间并行:是指资源重复,在并行性概念中引入空间因素,以“数量取胜”为原则来大幅度提高计算机的处理速度。 时间并行+空间并行:是指时间重叠和资源重复的综合应用,既采用时间并行性又采用空间并行性。显然,最后一种并行技术性能最好。
RISC的三大基本要素
RISC的三个基本要素即为,1.一个有限的简单的指令集;2.CPU配备大量的通用寄存器;3.强调对指令流水线的优化。
CPU的四个基本功能
CPU四个基本功能各是:指令控制、操作控制、时间控制和数据加工。
组合逻辑控制器的三级时序系统
组合逻辑控制器采用三级时序系统,即设置工作周期、时钟周期(节拍)、和工作脉冲时序信号。
总线数据通路宽度
数据总线一次所能并行传送的位数,称为数据通路宽度。
IF位的位置和功能
IF位属于8086的状态标志寄存器,该位为1表示CPU可以响应可屏蔽中断。
状态标志寄存器的分类与内容
这些状态标志寄存器分为两种: (一)运算结果标志寄存器:(1)进位标志CF;(2)零标志ZF;(3)符号标志SF;(4)溢出标志OF;(5)奇偶标志PF;(6)辅助进位标志AF。 (二)状态控制标志寄存器:(1)方向标志DF;(2)中断允许标志IF;(3)追踪标志TF。
微程序控制计算机指令译码器的作用
在微程序控制的计算机中,指令译码器的作用是对指令操作码进行译码得到该指令的第一微指令的地址。
计算机硬件系统组成
计算机由运算器、控制器、存储器、输入和输出五大基本部件组成。若题中只有3个空位,则只填前3个。
中断响应保护PC的作用
在中断响应过程中,保护程序计数器PC的作用是使中断返回后,能回到断点处继续原程序的执行。
微指令周期和指令周期的区别
微周期和指令周期的区别是,微周期的时间一般是固定的,而指令周期往往是可以变化的。为了保证整个机器的控制信号的同步,微指令周期一般设计的恰好和CPU周期时间相等;由于各种指令的操作功能不同,有的简单,有的复杂,所以各种指令周期是不尽相同的。
进程申请CPU未满足时的状态
进程若已获得除CPU以外的所有运行所需资源,此时申请CPU的得不到满足,应该依然处于就绪状态。
指令流水线遇到无条件转移指令时的运行过程
无条件转移指令执行周期结束后,流水线中正在进行取指、译码、取数等操作的指令均停止运行,重新从转移指令指向的地址开始取指、译码、取数、执行。
第6章 总线
总线的组成和性能
1.总线概述--基本概念
计算机系统的各模块之间或模块内部传送信息的通路称为总线,是从两个或两个以上的源部件传送信息到一个或多个部件的一组传输线。  总线一般是半双工通信模式
共享
总线是连接多个部件的信息传输线,是各部件共享的传输介质。
分时
在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。
2.总线分类——位置
(1)片内总线
芯片内部的总线 
(2)系统总线
计算机各部件(芯片外,系统内五大部件)之间的信息传输线 数据总线 双向,与机器字长、存储字长有关 地址总线 单向,与存储地址、I/O地址有关 控制总线 有入(中断请求、总线请求)有出(存储器读、存储器写、总线允许、中断确认)
(3)通信总线
用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信——计算机网络和打印机 
3.总线组成
总线的组成基本上都包括如下3个部分。
(1)传输线
地址线、数据线、控制/时序和中断信号线、电源线
(2)接口逻辑
总线与各部件常需要三态门和缓冲寄存器等作为它们之间的接口。
(3)总线控制器
对总线的使用进行合理的分配和管理以实现多个部件共享。
4.总线特性
机械特性
机械特性又称物理特性,它指总线在机械上的连接方式,如插头与插座所使用的标准,包括几何尺寸、形状,引脚根数及排列顺序等,以便能正确无误的连接。
电气特性
电气特性指总线的每一根线上信号的传递方向及有效电平范围。
功能特性
功能特性用以描述总线中每一根线的功能。如存读/写、中断信号、DMA控制信号等。一般指的是地址总线指出地址,数据总线传递数据,控制总线传递控制信号。
时间特性
时间特性定义总线上各信号有效的时序关系,一般用信号时序图来描述。
5.总线性能指标
1)总线宽度
数据线的根数 总线宽度指的是总线的线数,它决定了总线所占的物理空间和成本。 对总线宽度最直接的影响是地址线和数据线的数量。 地址线的宽度指明了总线能直接访问存储器的地址空间范围; 数据线的宽度指明了访问一次存储器或外设时能够交换的数据位数。 主存空间和I/O空间的扩充使地址线数量的增加 并行输入输出要求有足够的数据线
2)标准传输率/总线带宽
每秒传输的最大字节数(MBps) 总线带宽定义为总线的最大数据传输率,即每秒传输的字节数。在同步通信中,总线的带宽与总线时钟密不可分,总线时钟频率的高低决定了总线带宽的大小。 总线带宽=总线宽度×总线传输频率 例如:PCI总线的时钟频率为33MHz/66MHz,该总线进行32/64位数据传送,当时钟频率为33MHz,数据32位时,总线带宽为132MB/s;数据64位时,总线带宽为264MB/s。 当时钟频率为66MHz,数据32位时,总线带宽为264MB/s;数据64位时,总线带宽为528MB/s。
3)时钟同步/异步
同步总线、异步总线
4)总线复用
地址线与数据线复用 总线分时复用是指在不同时段利用总线上同一个信号线传送不同信号,例如地址总线和数据总线共用一组信号线。采用这种方式的目的是减少总线数量,提高总线的利用率。
5)信号线数
地址线、数据线和控制线的总和
6)总线控制方式
并发、自动、仲裁、逻辑、计数
7)其他指标
负载能力、电源电压等
总线负载
总线负载指连接在总线上的最大设备数量。大多数总线的负载能力是有限的。
总线猝发传输
猝发式数据传输是一种总线传输方式,即在一个总线周期中可以传输存储地址连续的多个数据。
总线通信控制
1.总线通信控制
主设备和从设备
获得总线控制权的设备即为主设备 被主设备寻址的设备称为从设备 
总线周期
通常,将完成一次总线操作的时间称为总线周期。整个总线周期大致可分为以下阶段: 
同步定时方式
所谓同步定时方式,是指系统采用一个统一的时钟信号来协调发送和接收双方的传送关系。时钟产生相等的时间间隔,若干个间隔构成一个总线周期。在一个总线周期中,发送和接收双方可以进行一次数据传送。 由于采用了公共时钟,每个功能模块什么时候发送或接收信息都有统─时钟规定,因此,同步定时具有较高的传输频率。 同步定时适用于总线长度较短、各功能模块存取时间比较接近的情况。同步定时方式中的时钟频率必须能适应在总线上最长的延迟和最慢的接口的需要,当各功能模块存取时间相差很大时,会大大损失总线效率。
异步定时方式
异步定时方式也称为应答方式。在这种方式下,没有公用的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。 通常,主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的申请后,通过接口向主设备发出“回答”信号,整个“握手”过程就是一问一答地进行的。必须指出,从“请求”到“回答”的时间是由操作的实际时间决定的,而不是由CPU的节拍硬性规定的,所以具有很强的灵活性,而且对提高整个计算机系统的工作效率也是有好处的。 异步定时的优点是总线周期长度可变,不把响应时间强加到功能模块上,因而允许快速和慢速的功能模块都能连接到同一总线上,能保证两个工作速度相差很大的部件或设备间可靠地进行信息交换,自动完成时间的配合。 控制较同步定时方式稍复杂些,成本也会高一些。 异步方式根据“请求”和“回答”信号的撤销是否互锁,有3种情况。
(1)全互锁
设备1发出“请求”信号,等待设备2的“应答”信号;设备2接到“请求”信号后,发出“应答”信号;设备1接到设备2的“应答”信号,就撤销其“请求”信号;设备2在获知设备1已撤销“请求”信号后,随即撤销其应答信号。这样,在通信双方建立了完全的互锁关系。
(2)半互锁
设备1的“请求”信号撤销,取决于是否收到设备2的“应答”信号。收到设备2的“应答”信号,立即撤销“请求”信号;而设备2“应答”信号的撤销与否,完全由设备2自主决定。 
(3)不互锁
“请求“和“应答”信号都有一定的时间宽度,设备1发出“请求”信号,不等待接到设备2的“应答”信号,而是经过一段时间,自动撤销其应答信号。这样,“请求”信号的结束和“应答”信号的结束不互锁。
半同步方式
同步、异步结合
同步
发送方用系统时钟发信号 接收方用系统时钟来判断、识别
异步
允许不同速度的模块和谐工作 增加一条“等待”响应信号
分离式
一个总线传输周期,充分挖掘系统总线每个瞬间的潜力,各模块有权申请占用总线;采用同步方式通信,不等对方回答;各模块准备数据时,不占用总线;总线被占用时,无空闲。
子周期1
主模块申请占用总线,使用完后即放弃总线的使用权
子周期2
从模块申请占用总线,将各种信息送至总线上
分离式通信特点
1.各模块有权申请占用总线 2.采用同步方式通信,不等对方回答 3.各模块准备数据时,不占用总线 4.总线被占用时,无空闲,提高了总线的有效占用 充分挖掘系统总线每个瞬间的潜力
刷题笔记
三种集中式总线控制响应时间最快的是
三种集中式总线控制包括链式查询、计数器定时查询和独立请求控制。其中独立请求的控制线数是三种集中式总线控制中最多的,故而响应速度是最快的。
单总线的特点
单总线的优点为:结构简单,成本低,易于接入新的设备;缺点:带宽低,负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。
异步串行传送系统的比特率和波特率
比特率=字符有效位数×每秒传送字符数 波特率=字符总位数×每秒传送字符数
PCI总线特性
PCI设备就是指PCI插槽上的设备(如声卡、网卡、MODEM等),因此PCI设备不一定是主设备;系统中可以有多条PCI总线;能实现即插即用;可自动识别与配置外设,用户使用方便;PCI总线的基本传输机制是猝发式传送;PCI总线采用隐含的集中式总线仲裁方式;PCI总线是一条与处理器无关的外围总线。
采用同步控制的目的
简化控制时序。
地址线与数据线复用时总线带宽的计算
每个时钟周期传两次数据,地址也包含在内,也要计入带宽。
外部总线类型
包括PCI、AGP、CAN等,外部总线,通常所说的总线(Bus)指片外总线,是CPU与内存RAM、ROM和输入/输出设备接口之间进行通讯的通路。内部总线是指CPU内部连接各寄存器与ALU部件的总线。
地址总线的作用
用于指定主存单元和IO设备接口电路的地址。
总线控制方式与设备速度的关系
数据在传送时,一般采用同步传输方式或异步传输方式。同步传输是指发送方和接收方的时钟是统一的,字符与字符间的传输是同步无间隔的。而异步传输方式不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。这两种传输方式现在都广泛应用于现代通信中,对于它们的选取与设备速度没有关系。
依赖硬件的数据传输方式
DMA。DMA方式也称为直接主存存取方式,其思想是:允许主存储器和I/O设备之间通过“DMA控制器(DMAC)”直接进行批量数据交换,除了在数据传输开始和结束时,整个过程无须CPU的干预。
总线复用猝发传输数据所需的时间
猝发式发送可以连续传送地址连续的数据。故总的传送时间为地址传送时间+数据传送时间。
USB总线特性
可实现外设的即插即用和热拔插;可通过级联方式连接多台外设;是─种通信总线,连接不同外设。USB的全称是Universal Serial Bus,最多可连接127台外设,由于USB支持热插拔、即插即用的优点,所以USB接口已经成为计算机的标准接口。USB设备之所以会被大量应用,主要具有以下优点:①可以热插拔。②携带方便。③标准统一。④可以连接多个设备。
微机总线的信号状态
按总线的逻辑结构来看,有单向总线和双向总线之分,单向总线是指总线上的信息只能向一个方向传送,双向总线是指总线上的信息可以向两个方向传送。总线电路中广泛地使用了三态门。三态门是具有3种逻辑状态的门电路,这3种状态为:逻辑“0”、逻辑“1”和浮空状态。
单机系统三总线计算机总线系统组成
系统总线、主存总线和I/O总线。应该注意:数据、地址和控制总线是系统总线中的3种信号线,不能与三总线结构相混淆;片内总线、系统总线和通信总线是总线按功能层次的分类,也不能与三总线结构相混淆。
“总线忙”信号的建立者
在总线控制中,申请使用总线的设备向总线控制器发出“总线请求”信号,由总线控制器进行裁决。如果经裁决允许该设备使用总线,就由总线控制器向该设备发出“总线允许”信号,该设备接收到“总线允许”信号后获得总线控制权,同时发出“总线忙”信号,用于通知其他设备此时总线已被占用。当该设备使用完总线时,将“总线忙”信号撤销,释放总线。
计数器定时查询方式下的总线设备优先级
在计数器定时查询方式下,根据计数器的初始值的不同,总线设备的优先级是可变的。如果计数值从“0”开始,离总线控制器最近的设备具有最高的优先级。如果计数值从上一次的中止点开始,即为循环优先级,各个部件使用总线的机会将相等。计数器的初始值还可以由程序来设置,这样就可以更方便地改变优先级。
同步通信比异步通信传输快的原因
同步通信使用统一的时钟信号,不需要等待回答,所以传输速度较快。另外因为同步通信总线周期的选择应以满足总线上速度最慢的设备的需要为原则,所以要求进行同步通信的设备运行速度比较接近。
RS-232C串行总线标准
RS-232C是计算机的串行总线标准,而非并行接口标准,常用于连接包括调制解调器、鼠标、扫描仪以及向计算机发送信息和从计算机接收信息的其他设备。它的最高数据传输率可大于9600bitls,且不能用于链式连接。
总线标准英文缩写
PCI、ISA、USB、EISA、VESA、SCSI、PCI-Express
单总线结构CPU连接在总线上的部件的数据收发
单总线结构的CPU中所有部件共用一套总线。为了避免出现冲突规定某一时刻只有一个可以向总线发送数据,但可以有多个同时从总线接收数据。
单总线结构CPU中ALU的总线连接情况
在单总线的CPU中所有部件共用一个总线,不能有任何部件同时两次接入总线。所以在ALU进行运算时只能由输入端与总线连接,输出端结果由暂存器暂存,在输入端释放总线后经由暂存器送入总线。
计算机使用总线结构的缺点
总线在便于实现积木化的情况下,也导致了外部设备与主存储器之间没有直接的通路,它们之间的信息交换必须通过CPU才能进行中转,从而降低了CPU的工作效率。会存在以下缺点: 1.利用总线传送具有分时性。当有多个主设备同时申请总线的使用是必须进行总线的仲裁。 2.总线的带宽有限,如果连接到总线上的某个硬件设备没有资源调控机制容易造成信息的延时(这在某些即时性强的地方是致命的)。 3.连到总线上的设备必须有信息的筛选机制,要判断该信息是否是传给自己的。
微型计算机控制总线提供的完整信息包括
控制总线主要用来传送控制信号和时序信号。控制信号中,有的是微处理器送往存储器和输入输出设备接口电路的,比如:读/写信号、片选信号、中断响应信号等;也有是其它部件反馈给CPU的,比如:中断申请信号、复位信号、总线请求信号、设备就绪信号等。
独立请求方式的总线请求信号和总线响应信号数量
按照总线仲裁电路的位置不同,仲裁方式分为集中式仲裁和分布式仲裁两类: 1.集中式总线仲裁的控制逻辑基本集中在一处,需要中央仲裁器,分为链式查询方式、计数器定时查询方式、独立请求方式; 2.分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。 独立请求方式每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi。因此若有N个设备,则有N个总线请求信号和N个总线响应信号。
速度最快的异步通信方式
异步通信分为不互锁、半互锁、全互锁三种方式。 不互锁方式:主模块发出请求信号后不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号。 半互锁方式:主模块发出请求信号后,等待从模块的回答信号后,撤销请求信号,而从模块在接收到请求信号时发出回答信号,但不必等待获知主模块请求已撤销。 全互锁方式:主模块发出请求信号后,等待从模块的回答信号后,撤销请求信号,而从模块在接收到请求信号时发出回答信号,还需要等待获知主模块请求已撤销。 由此可得不需等待的不互锁方式最快。
分离事务通信
分离事务通信即总线复用的一种,相比单一的传输线路可以提高总线的利用率。
并行总线与串行总线传输速度的比较
并行总线传输通常比串行总线传输速度快,但这不是绝对的,实际时钟频率比较低的情况下,并行总线因为可以同时传输若干比特,速率确实比串行总线快。但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越严重,当时钟频率提高到一定程度时,传输的数据已经无法恢复。而串行总线因为导线少,线间干扰容易控制,反而可以通过不断提高时钟频率来提高传输速率。
多总线结构相关常识
多总线结构用速率高的总线连接高速设备,用速率低的总线连接低速设备。一般来说,CPU是计算机的核心,是计算机中速度最快的设备之一;突发传送方式把多个数据单元作为一个独立传输处理,从而最大化设备的吞吐量。现实中一般用支持突发传送方式的总线提高存储器的读写效率;各总线通过桥接器相连,后者起流量交换作用;PCI-Express总线都采用串行数据包传输数据。
USB2.0和IEEE1394的最高数据传输率
USB2.0的数据传输率最高可达到480Mbps;IEEE1394的数据传输率最高可达到400Mbps。
总线复用的控制
总线复用指的是数据和地址在同一个总线上传输的方式。因此数据线与地址线共用一组总线。共用一组总线为了避免冲突需要采用分时控制方法,先给地址信号并用地址锁存信号将其保持。
Plug and Play的含义
Plug and Play(即插即用)使计算机在极少或没有用户输入的情况下能识别并适应硬件的更改。支持该服务的有PCI总线、USB总线等。
主线上的主模块和从模块
总线主模块也称总线主设备或主控者,能控制总线,并能与其它非主控模块进行数据交换的模块或设备称为总线主模块。相应地,不能控制总线的模块称为从模块或从设备。
总线通信控制解决的问题
总线的通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。
总线同步通信影响总线效率的原因
同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。各设备共用一个公共时钟信号,为了保证通信的准确性必须按最慢速度的部件来设计公共时钟。
各总线标准的数据宽度
ISA总线是为PC/AT电脑而制定的总线标准,为16位体系结构,只能支持16位的I/O设备,数据传输率大约是16MB/S。 EISA总线是1989年工业厂商联盟为32位CPU设计的总线扩展标准,兼容ISA总线。 PCI总线的数据宽度初始为32位,最大可扩充到64位,是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。
不能反向传输的总线
按总线的逻辑结构来说,总线可分为单向传送总线和双向传送总线。所谓单向总线,就是信息只能向一个方向传送。所谓双向总线,就是信息可以向两个方向传送。
计时器定时查询的计数方式
计数器定时查询方式采用每次从上一次计数的终点开始的方式,可使各设备的优先级相等。
Intel8086的基本总线周期
8086的基本总线周期为4个时钟周期,当外设或存储器速度较慢时,CPU会自动插入若干个等待周期,用于等待即将到来的数据。
总线控制权问题的解决方案
为了解决多个主设备同时竞争总线控制权的问题,必须具有总线仲裁部件。它通过采用优先级策略或公平策略,选择其中一个主设备作为总线的下一次主方,接管总线控制权。
成本最低和控制最灵活的总线仲裁方式
链式查询方式成本最低,独立请求方式控制最灵活。
总线源设备和总线主设备的关系
总线源设备:指一次总线传输时的数据输入设备。 总线主设备:指一次总线传输期间,拥有总线控制权的设备。 一个源设备可被多个主设备读取,一个主设备也可以读取多个源设备,因此二者之间不存在必然关系。
第7章 I/O系统
中断系统
中断的基本概念
在计算机执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处继续执行原程序,这个过程称为中断。
中断的分类
按中断源进行分类
发出中断请求的设备称为中断源。
内中断
即程序运行错误引起的中断(发生在CPU内部) 
外中断
即由外部设备、接口引起的中断 
允许/禁止(开/关)中断
CPU通过指令限制某些设备发出中断请求,称为屏蔽中断。 从CPU要不要接收中断即能不能限制某些中断发生的角度,中断可分为
可屏蔽中断
被CPU通过指令限制某些设备发出中断请求的中断
CPU关中断
CPU不响应中断
中断屏蔽字
CPU只响应优先级最高的中断
不可屏蔽中断
不允许屏蔽的中断如电源断电
中断系统需解决的问题
(1)各中断源如何向CPU提出请求? (2)各中断源同时提出请求怎么办? (3)CPU什么条件、什么时间、以什么方式响应中断? (4)如何保护现场? (5)如何寻找入口地址? (6)如何恢复现场,如何返回? (7)处理中断的过程中又出现新的中断怎么办?
中断请求标记

中断判优逻辑
硬件实现(排队器)
①分散在各个中断源的接口电路中 链式排队器 ②集中在CPU内  INTR1、INTR2、INTR3、INTR4优先级按降序排列
软件实现(程序查询)

中断响应条件
CPU收到中断请求后,查看中断允许触发器。 若相应的中断允许位为1,则执行完当前的指令后响应中断; 若相应的中断允许位为0,则该中断被屏蔽,不响应该中断。 
响应中断的条件
允许中断触发器EINT = 1
响应中断的时间
指令执行周期结束时刻由CPU发查询信号
无更高优先级的中断
当前所有中断中,没有更高优先级的中断源
中断处理过程
 1)保护现场  2)恢复现场 中断服务程序完成 
中断隐指令——中断响应过程
(1)保护程序断点 断点存于特定地址(0号地址)内 断点进栈 (2)寻找服务程序入口地址 向量地址→PC(硬件向量法) 中断识别程序入口地址 M→PC(软件查询法) (3)硬件关中断 INT 中断标记 EINT 允许中断
中断服务程序入口地址的寻找
硬件向量法
 向量地址 12H、13H、14H 入口地址 200、300、400 (b):中断向量表:函数指针数组,用于存储中断服务程序的入口地址。中断向量即中断服务程序的入口地址在中断向量表中的地址。
软件查询法

多重中断
多重中断的概念
 程序断点 k+1,l+1,m+1
实现多重中断的条件
(1)提前设置开中断指令; (2)优先级别高的中断源有权中断优先级别低的中断源。 
中断屏蔽字
16个中断源1, 2, 3, ...16按降序排列 
屏蔽技术可改变处理优先等级
响应优先级 不可改变 处理优先级 可改变(通过重新设置屏蔽字)  响应优先级A→B→C→D降序排列 处理优先级A→D→C→B降序排列  
多重中断处理过程

I/O接口
I/O接口的基本概念
输入输出接口(I/O接口)是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。
I/O接口的基本结构

I/O接口的功能
功能 组成 选址功能 设备选择电路 传送命令的功能 命令寄存器、命令译码器 传送数据的功能 数据缓冲寄存器 反映设备状态的功能 设备状态标记
实现主机和外设的通信联络控制
进行地址译码和设备选择
实现数据缓冲
数据格式的变换
传递控制命令和状态信息
I/O端口
I/O端口是指接口电路中可以被CPU直接访问的寄存器,若干个端口加上相应的控制逻辑电路组成接口。 一个接口中包含有数据端口、命令端口和状态端口: 放数据信息的寄存器称为数据端口 存放控制命令的寄存器称为命令端口 存放状态信息的寄存器称为状态端口  CPU和外设之间隔着I/O接口 I/O接口是CPU和外设的中间件,本质上是I/O接口控制I/O设备 CPU和外设之间交换数据,实质上是通过I/O端口进行的 CPU↔I/O端口↔I/O设备 CPU通过输入指令可以从有关端口中读取信息,通过输出指令可以把信息写入有关端口。 CPU对不同端口的操作有所不同,有的端口只能写或只能读,有的端口既可以读又可以写。
I/O端口的编址方式
I/O端口编址方式有两种:独立编址方式和统编址方式。 
独立编址方式
又称为I/O映射方式,在这种编址方式中,外设端口与主存单元的地址分别单独编址,外设端口不占用主存空间 当访问主存时,由主存读/写控制线控制 当访问外设时,由I/O读/写控制线控制。外设端口由单独的输入/输出(I/O)指令来访问。  只有CPU才可以执行l/O指令,属于特权指令
统一编址方式
外设端口和主存单元的地址是统一编址的,即外设接口的寄存器就相当于主存单元。统一编址方式又称为存储器映射,在这种编址方式中,I/O端口地址和主存单元地址是统一编址的,CPU 可以用访问主存单元同样的方法访问外设,不需专门的I/O指令。 当CPU访问外设时,把分配给该外设的地址码(具体到该外设接口中的某一寄存器号)送到地址总线上,然后各外设接口中的地址译码器对地址码进行译码,如果符合即是CPU指定的外设寄存器。
I/O方式
I/O控制方式
IO控制方式指的是CPU实现与l/O设备进行数据交换的方式。  CPU和外设之间交换数据,实质上是通过l/O端口进行的。 CPU↔I/O接口/端口↔I/O设备 核心:I/O接口/I/O控制器 速度:CPU >内存 内存>I/O设备 
程序查询方式
程序查询方式完全通过CPU执行l/O程序来控制主机和外围设备之间的信息传送。 通常的办法是在用户的程序中安排一段由输入输出指令和其他指令所组成的程序段直接控制外围设备的工作。
工作流程
 传送时,首先启动设备,发出启动命令,接着CPU不断地用一条测试指令检测外围设备工作状态标志触发器。—旦测试到标志触发器已置成“完成”状态,即可进行数据传送。  为了正确完成这种传送,通常要使用3条指令: 查询指令,用来查询设备的状态; 传送指令,当设备就绪时,执行数据交换; 转移指令,当设备未就绪时,执行转移指令转向查询指令继续查询。
特点
在程序直接控制方式中,一旦CPU启动I/O设备,便不断查询I/O设备的准备情况,终止原程序的执行; CPU和I/O设备完全处在串行工作状态 主机不能充分发挥效率,整个系统的效率很低。 为什么程序查询方式CPU和I/O设备只能串行工作? 因为I/O设备没法向CPU报告状态,CPU需要主动获取I/O设备的状态,本质上是同步方式。
程序中断方式
如果在程序的执行过程中允许I/O设备主动报告自己的状态,那么就不需要CPU不断的查询I/O设备的状态。 中断就是一种允许上报特殊情况的机制。 在程序中断传送方式中,通常在程序中安排一条指令,发出START信号启动外围设备,然后机器继续执行程序。 当外围设备完成数据传送的准备后,便向CPU发“中断请求”(INT)信号。 CPU接到请求后若可以停止正在运行的程序,则在一条指令执行完后(非流水线计算机),转去执行“中断服务程序”,完成传送数据工作,通常传送一个字或一个字节 传送完毕仍返回原来的程序。
程序中断方式流程
  CPU和I/O并行工作  没有踏步等待现象 中断现行程序 以打印机为例,CPU与打印机并行工作  主程序和服务程序抢占CPU示意图  宏观上 CPU和I/O并行工作 微观上 CPU中断现行程序为I/O服务
特点
1)数据传输的基本单位是字节或者字; 2)每次传输一个字或者字节都需要一次中断; 3)I/O设备的启动需要CPU参与,但是CPU处理其他事情和I/O设备准备数据可以同时并行,提高CPU利用率和系统效率。 4)整体而言,CPU是通过相应中断,执行中断处理程序完成l/O过程 5)由于数据中的每个字在存储器与I/O控制器之间的传输都必须经过CPU,这就导致了中断驱动方式仍然会消耗较多的CPU时间。
DMA方式
直接存储器存取(direct memory access,简称DMA)方式的基本思想是在外围设备和主存之间开辟直接的数据传送通路。  在正常工作时,所有工作周期均用于执行CPU程序。当外围设备完成数据的准备工作后,占用总线一个工作周期,和主存直接交换数据。这个周期过后,CPU又继续控制总线,执行原程序。如此重复,直到整个数据块的数据传送完毕。
DMA控制器的组成
DMA接口是由DMA控制器实现的,DMA控制器有3部分:DMA控制逻辑、寄存器和中断机构 核心就是DMA控制逻辑,该部件完成主机和块数据的直接交换。
DMA控制器逻辑的功能
(1)向CPU申请DMA传送; (2)处理总线控制权的转交; (3)管理系统总线、控制数据传送; (4)确定数据传送的首地址和长度;修正传送过程中的数据地址和长度; (5)DMA传送结束时,给出操作完成信号
DMA控制器中设置如下四类寄存器
命令/状态寄存器CR
用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。
内存地址寄存器MAR
在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
数据寄存器DR
用于暂存从设备到内存,或从内存到设备的数据。
数据计数器DC
存放本次CPU要读或写的字(节)数。
DMA中断机构
当一个数据块传送完毕后触发中断机构,向CPU提出中断请求。 DMA方式也是异步方式进行工作,数据块什么时候传输结束,CPU并不能主动感知,必须由DMA中断机构以中断的方式向CPU告知。
DMA控制器数据传送过程

(1)预处理——I/O指令
通过几条输入输出指令预置如下信息 通知DMA控制逻辑传送方向(入/出) 设备地址→DMA的DAR,并启动 主存地址→DMA的AR 传送字数→DMA的WC
(2)数据传送——硬件

(3)后处理——中断处理程序
校验送入主存的数是否正确; 是否继续用DMA; 测试传送过程是否正确,错则转诊断程序。 由中断服务程序完成。
访存冲突问题
当CPU和DMA同时访问内存时,DMA需要把数据从在外围设备直接传送到主存,需要使用系统总线该怎么办? 注意:DMA的优先级比CPU高,因为如果不能及时把数据从外围设备输入到内存中将会有数据丢失。
DMA与主存交换数据的三种方式
停止CPU访问主存
CPU处于不工作状态或保持状态,未充分发挥CPU对主存的利用率。  CPU停止访问主存法就是当DMA访问主存时,CPU进入等待状态,待 DMA访存结柬后才能恢复工作。
DMA与CPU交替访问
 不需要申请建立和归还总线的使用权。
周期挪用(或周期窃取)
周期挪用是指利用CPU不访问存储器的那些周期来实现DMA操作,此时DMA可以使用总线而不用通知CPU也不会妨碍CPU的工作。周期挪用并不减慢CPU的操作,但可能需要复杂的时序电路,而且数据传送过程是不连续的和不规则的。 DMA访问主存有三种可能: CPU 此时不访存 CPU正在访存 CPU与DMA同时请求访存 此时CPU将总线控制权让给DMA  周期窃取:窃取的是什么周期 机器周期(CPU周期,存取周期)
DMA方式完成工作过程
(1)当I/O设备要传输数据时,I/O设备向DMA控制器发送DMA请求; (2)DMA控制器接受外设发出的DMA请求,并向CPU发出总线请求; (3)当CPU响应此总线请求,发出总线响应信号后,接管对总线的控制,进入DMA操作周期; (4)确定传送数据的主存单元地址及传送长度,并能自动修改主存地址计数值和传送长度计数值; (5)规定数据在主存与外设之间的传送方向,发出读/写或其他控制信号,并执行数据传送的操作; (6)DMA中断机构向CPU报告DMA操作的结束 (7)CPU决定是否继续使用DMA
数据传送过程的特点
(1)CPU读写数据时,给I/O控制器发出一条命令,启动DMA控制器,继续其他工作。 (2)CPU就把控制操作委托给DMA控制器,由该控制器负责处理。DMA控制器直接与存储器交互,传送整个数据块,每次传送一个字,这个过程不需要CPU参与。 (3)当传送完成后,DMA控制器发送一个中断信号给处理器。因此只有在传送开始和结束时才需要CPU的参与。DMA是由硬件实现数据块移动的。
DMA方式的特点
(1)基本单位是数据块; (2)所传送的数据,是从设备直接送入内存的,或者相反。 (3)仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在DMA控制器的控制下完成的。
DMA方式与程序中断方式的比较
中断方式 DMA方式 (1)数据传送 程序 硬件 (2)响应时间 指令执行结束 存取周期结束 (3)处理异常情况 能 不能 (4)中断请求 传送数据 后处理 (5)优先级 低 高
I/O通道控制方式
通道的基本概念
通道控制方式是DMA方式的进一步发展,实质上,通道也是实现外设和主存之间直接交换数据的控制器。 I/O通道方式可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。 ①DMA控制器是通过专门设计的硬件控制逻辑来实现对数据传送的控制;而通道则是一个具有特殊功能的处理器,它具有自己的指令和程序,通过执行一个通道程序实现对数据传送的控制,故通道具有更强的独立处理数据输入/输出的功能。 ②DMA控制器通常只能控制一台或少数几台同类设备;而一个通道则可以同时控制许多台同类或不同类的设备。
I/O通道的基本功能
①接受CPU的I/O指令,按指令要求与指定的外设进行联系。 ②从主存取出属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令。 ③实施主存和外设间的数据传送。 ④从外设获得设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到主存的指定单元,供CPU使用。 ⑤外设的中断请求和通道本身的中断请求按次序及时报告CPU。 ⑥实施主存和外设间的数据传送。
通道工作过程
通道完成一次数据传输的主要过程分为如下3步: ①在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道。 ②通道执行CPU为它组织的通道程序,完成指定的数据输入输出工作。 ③通道程序结束后向CPU发中断请求。CPU响应这个中断请求后,第二次调用管理程序对中断请求进行处理。 
刷题笔记
键盘单片机提供的闭合键码型
键盘中的单片机通过执行固化在ROM中的键盘管理和扫描程序,对键盘矩阵进行扫描,发现、识别按下键的位置,形成与按键位置对应的扫描码,并以串行的方式送给主机。
主机送给字符显示器的码型
在字符显示器中,主机送给显示器的只是显示字符的ASCIl码,然后由显示器中的字库将其转换成相应字符的字形(模)点阵码。
提高存储器效率的信息分布方式
磁盘各记录面上相同编号(位置)的诸磁道称为一个圆柱面。当主机存放文件时,应尽可能地将它存放在同一圆柱面。这是因为在同一圆柱面上(即不同面的同一磁道上)由于各记录面的磁头已同时定位,换道的时间只是磁头选择电路的译码时间,速度很快,而如果选择同一记录面上的不同磁道,则每次换道时都要进行磁头定位操作,速度较慢。
单级中断系统中断服务程序执行顺序
单级中断系统中,中断服务程序中应完成的任务有:①保存现场;②中断事件处理;③恢复现场;④开中断;⑤中断返回。
显示存储器刷新所需带宽
刷新所需带宽=分辨率×色深×帧频
通道处理器不具有的功能
通道处理器是专门用于I/O管理的协处理器,它没有数据运算的功能。
低速I/O设备应选的通道种类
字节多路通道不仅允许多个设备同时操作而且也允许它们同时进行传输型操作。字节多路通道与设备之间数据传送的基本单位是字节,通道为一个设备传送一个字节后,又可以为另一个设备传送一个字节,因此各设备与通道之间的数据传送是以字节为单位交替进行。字节多路通道不适用于连接高速设备。
I/O传输方式打扰CPU次数比较
打扰CPU的时间从多至少依次为程序查询方式、程序中断方式、DMA方式、通道方式。
中断相关常识
程序中断过程是由硬件和中断服务程序共同完成的;每条指令的执行过程中,仅在一条指令执行结束时才检查一次有无中断请求;每个机器周期结束时都检测有无DMA请求;中断服务程序的最后—条指令是中断返回指令。
DMA方式中发出DMA请求的部件
在DMA传送方式中,首先由外部设备向DMA控制器发出DMA请求信号,然后再由DMA控制器向CPU发出总线请求信号。
中断屏蔽字与优先顺序
每个中断源对应一个屏蔽字,由多个中断屏蔽触发器组成。某个中断屏蔽触发器为1表示屏蔽,为0表示开放。通过改变中断屏蔽字可以动态地改变中断处理的次序。屏蔽字中1越多,中断优先级越高。
中断向量地址的定义
在具有中断向量表的计算机中,中断向量地址是中断向量表的地址,由于中断向量表保存着中断服务程序的入口地址,所以中断向量地址是中断服务程序的入口地址的地址。
中断周期中CPU完成的任务
在中断周期,CPU完成的任务就是执行所谓中断隐指令,其主要工作有3个,关中断,保护断点,发中断响应信号并形成中断服务程序入口地址。
进行数据串并行转换的寄存器
移位寄存器实现数据传送过程中的串并行转换。例如远程通信中,发送端将要发送的信息送入移位寄存器,然后信息被逐位移出到发送线路(并入串出变换);接收端从接收线路逐位接收信息并送入移位寄存器,接收完一个完整的数据组后才取走数据(串入并出变换)。
I/O指令实现的数据传送发生的位置
I/O端口,是CPU与设备之间的交接面。由于主机和I/O设备的工作方式和工作速度有很大差异,I/O端口就应运而生。在执行—条指令时,CPU使用地址总线选择所请求的I/O端口,使用数据总线在CPU寄存器和端口之间传输数据。
磁盘的基本存储单位
磁盘的基本存储单位为扇区(Sector)
磁盘各级存储单位的英文
Track磁道 Cylinder柱面 Sector扇区 Cluster 簇
设备和设备控制器之间的接口
设备和设备控制器之间的接口是USB接口。
硬盘输入输出适合采用的方式
DMA是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU对于其他的工作来说就无法使用。
OUT指令的含义
OUT指令的意思是往端口输出数据,比如OUT 80H, AX,将AL输出到80H端口,将AH存到81H端口处。
8086内存和I/O的编址方式和空间大小
8086的内存空间和I/O空间是单独编址的,分别是1MB和64KB。
8523A的工作方式和I/O端口地址数量
8253A有六种工作方式,四个端口地址。端口地址包括三个记数端口和一个控制端口。
主机和外设串行工作的I/O方式
主机与外设设备传送数据时,采用程序查询方式,主机与外设设备是串行工作的。
DMA请求和中断请求的优先级
DMA请求和中断请求同时发生,优先响应DMA,因为DMA传送数据不及时响应,可能会丢失。DMA请求优于中断请求。
微型机系统的外设通过什么与系统总线连接
适配器就是外设与主机相连的接口,所以在微型机系统中,外围设备是通过适配器与主板的系统总线相连接的。
设备驱动程序的组成
设备驱动程序是一种低级的系统例程,它通常由驱动I/O设备工作的程序和中断处理程序两个部分组成。
CRT图形显示器分辨率的定义
分辨率就是屏幕图像的精密度,是指显示器所能显示的点数的多少。由于屏幕上的点、线和面都是由点组成的,显示器可显示的点数越多,画面就越精细,同样的屏幕区域内能显示的信息也越多。因此,CRT图形显示器的分辨率表示显示器一行能显示的最大图像点数与—列能显示的最大图像点数。
CPU与I/O设备并行实时交换数据采用的I/O方式
若CPU需要能实时地与IO设备交换数据并能与之并行工作,应采用DMA方式。
I/O总线数据线上传输的信息
I/O总线的数据线上传输的信息可以有:I/O接口中的命令字,I/O接口中的状态字,中断类型号。
CPU进入中断响应过程后的操作
如果CPU处于中断允许状态,则可立即接受中断请求进行中断响应。一旦进入中断响应过程,CPU会立即自动关中断,并将当前程序计数器和程序状态字的内容保存到堆栈或者主存的特定单元中。
中断系统应具有的功能
中断技术是十分重要而复杂的技术,由计算机的软硬件共同完成,称之为中断系统。一个完整的中断系统应具备如下功能。 ①设置中断源:中断源是系统中允许请求中断的事件。设置中断源就是确定中断源的中断请求方式。 ②中断源识别:当中断源有请求时,CPU能够正确地判别中断源,并能够转去执行相应的中断服务子程序。 ③中断源判优:当有多个中断源同时请求中断时,系统能够自动地进行中断优先权判断,优先权最高的中断请求将优先得到CPU的响应和处理。 ④中断处理与返回:能自动地在中断服务子程序与主程序之间进行跳转,并对断点进行保护。
DMA主要解决的问题
DMA的主要作用是解决内存与外设进行大容量数据传输问题。 DMA方式在主存和DMA控制器之间有一条数据通路,因此主存和IO设备进行信息交互时,可以一次性传输大容量的数据块。
打印机的各种分类方式
输出方式上,打印机可分为串行输出和并行输出。 从印字原理上讲,击打式打印机是通过打印机和纸张的物理接触来打印字符图形;非击打式打印机例如激光打印机是靠激光“印”到纸张上,喷墨打印机是靠喷头将墨水喷射到纸张上。 打印字符来说,活字式打印机是把每一个字刻在打印机构上,点阵式打印机是利用打印钢针按字符的点阵打印出字符。
中断接口电路将向量地址送到CPU使用的总线
数据总线用来传输各功能部件之间的数据信息。CPU响应中断后,中断硬件用数据总线将中断向量地址传到CPU。
磁盘存储设备的组成
磁盘存储设备主要由磁记录介质、磁盘控制器和磁盘驱动器三个部分组成。
I/O通道方式CPU的作用
因为通道是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将“传输控制”的功能下放给通道后只是负责数据处理功能。
I/O通道的三种类型
通道可分成字节多路通道、选择通道和数组多路通道三种类型。
SCSI的定义
SCSI是处于主适配器和智能设备控制器之间的并行I/О接口,可以连接1-15台不同类型的高速外围设备。
无条件输出端口的设置条件和组成部分
设置无条件输出端口的前提条件是输出设备可以随时接收CPU发来的数据。CPU向其输出设备时,可以认为它们总是准备好的。一个典型的无条件输出端口通常由寄存器(或锁存器)、地址译码器和负与逻辑三部分组成。
除采用高速芯片外提高整机速度的措施
1.针对存储器,可以采用Cache-主存层次的设计和管理提高整机的速度;可以采用主存-辅存层次的设计和管理提高整机的速度; 2.针对控制器,可以通过指令流水或超标量设计技术提高整机的速度; 3.针对控制器,可以通过超标量设计技术提高整机的速度; 4.针对运算器,可以对运算方法加以改进,如进位链、两位乘除法; 5.针对I/O系统,可以运用DMA技术来减少CPU对外设访问的干预。