第一章
计算机分类
- 计算机
- 一种高速运行的电子设备
- 用于进行数据的计算
- 可接受输入信息
- 根据用户要求对信息进行加工
- 输出结果
- 计算机的分类
计算机发展简史
- 第一代计算机(1946~1957年):电子管
- 代表机型:ENIAC
- EDVAC1952年调试成功
- 第二代计算机(1958~1964年):晶体管
- 第三代计算机(1965~1971年):中小规模集成电路
- 第四代计算机(1972~1990年):大规模、超大规模集成电路)
- 第五代计算机:1991~?:巨大规模集成电路
现代计算机发展方向
- 巨型化:运算速度更快,存储容量更大,功能更强
- 微型化:进入小型仪器设备、工业控制等领域
- 网络化:计算机网络无处不在
- 智能化:可以模拟人的感觉行为和思维过程
计算机的性能指标
- 吞吐量
- 表征一台计算机在某一时间间隔内能够处理的信息量。
- 响应时间
- 从输入有效到系统产生响应之间的时间度量,用时间单位来表示。
- 利用率
- 在给定的时间间隔内,系统被实际使用的时间所占的比率,用百分比表示。
- 处理机字长(机器字长)
- 处理机运算器中一次能够完成二进制运算的位数,如32位、64位;
- 机器字长与系统数据总线宽度具有一定的相关性。
- 总线宽度
- 一般指运算器与存储器之间的数据总线宽度。
- 主存储器容量
- 主存储器所能存储二进制数据的位数。
- 或者说“主存储器中所有存储元的总数目。”,而非“存储单元”!通常用KB、MB、GB、TB来表示。其中K=2 ( ( ( ( ( ( (10,M=2)))))))20,G=2 ( ( ( ( ( ( (30,T=2)))))))40,B=8位(1个字节)。存储容量越大,能存储的信息就越多。
- 主存储器所能存储二进制数据的位数。
- 主存储器带宽
- 单位时间内主存储器读出的二进制信息,一般用字节数/秒表示。
- 主频/时钟周期
- CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫CPU的主频。度量单位是MHZ、GHZ。
- 主频的倒数称为CPU的时钟周期(T),即T=1/f,度量单位是微秒μs、纳秒ns。
- CPU执行时间
- CPU执行一般程序所占用的CPU时间;
- CPU执行时间 = 程序的总时钟周期数 X CPU时钟周期
- CPI(Cycle Per Instruction)
- 执行一条指令所需要的平均时钟周期数;
- 平均CPI = 某程序的CPU时钟周期总数 / 该程序包含的指令条数
- MIPS(Million Instructions executed Per Second)
- 每秒百万指令数,即单位时间内执行的指令数;
- MIPS = 指令数 / (程序执行时间*10^6)
- FLOPS(Floating-point Operations Per Second)
- 每秒百万次浮点操作数,衡量机器浮点操作的性能。
- GFLOPS
- 每秒10亿次浮点操作数
- 其他的性能指标
- 主存储器的读写速度、IO的数据传送率、带宽的均衡性
计算机的硬件
-
计算机硬件是指构成计算机的所有实体部件的集合,通常这些部件有电路(电子元件)、机械等物理部件组成。
-
计算机硬件指可触摸到的物理设备实体。
-
-
现代计算机的特点
- 将运算器、控制器和片内高速缓存,统称为CPU;而将CPU、主存储器、输入/输出接口和系统总线统称为主机;其余的设备均为外设。
- 主机内仅包含主存储器,即内存;
- 硬盘、光盘等辅助存储器属于I/O设备;
- 以存储器为中心。
- 减轻CPU的数据传送负担提高系统的整体性能;
运算器
- 功能:处理所有的算数及逻辑运算。通常称为ALU(算术逻辑单元)
- 特点:
- 采用二进制数据进行运算;
- 运算器一次可处理的数据位数称为机器字长;
- 机器字长一般为8、16、32、64位,机器字长直接决定着运算的精度和能力;
存储器
- 功能:保存所有的程序和数据
- 特点:
- 二进制形式保存程序和数据;
- 存储器是按存储单元组织的,读写存储单元必须给出单元地址;
- 相关概念
- 存储元:用于保存一位0/1二进制数据的物理器件;
- 存储单元:能够保存一个字数据的器件,由若干个存储元构成;
- 单元地址:能区分每一个存储单元的编号,一般从0开始编号;
- 一个存储器所能保存的二进制信息的总量。
- 注意:不同系统中的存储器组织方式并不一定相同;
- 存储器的分类:、
- 外存(辅助存储器)
- 磁盘存储器、光盘存储器;
- CPU不可直接访问;
- 内存(主存储器)
- 半导体存储器;
- CPU直接访问,存放当前系统运行所需的所有程序和数据。
- 外存(辅助存储器)
- 两个与主存相关的寄存器
- MAR(存储器地址寄存器):接收由CPU送来的地址信息;
- MDR(存储器数据寄存器):作为外界与存储器之间的数据通路。
控制器
- 功能
- 根据所要执行指令的功能,按顺序发出各种控制命令,协调计算机各个部件的工作。
- 主要任务
- 解释并执行命令;
- 控制指令的执行顺序;
- 负责指令执行过程中,操作数的寻址;
- 根据指令的执行,协调相关部件的工作
- 如运算类指令执行时对标志寄存器的影响设置。
- 指令
- 每一个基本操作
- 计算程序(程序)
- 求解某一问题的一串指令序列
- 指令的形式
- 操作码:指出指令所进行的操作,如加、减、数据传送等;
- 地址码:指出进行以上操作的数据由来以及结果存放的位置。
- 求解某一问题的程序放到存储器中为存储程序,控制器根据存储程序协调的完成计算任务叫程序控制。
- 控制器工作的周期
- 取指周期:取指令的一段时间
- 执行周期:执行指令的一段时间
- 指令按顺序执行的控制部件:指令计数器
- 每取出一条指令,指令计数器就加1;
- 遇到转移类指令,控制器根据所执行指令设置指令计数器的值;
- 相关概念
- 数据字:该字代表要处理的数据;
- 指令字:该字为一条指令;
- 指令流:取指周期中,从内存读出的信息流;
- 数据流:执行周期中,从内存读出的信息流。
适配器与输入输出设备
- 输入设备
- 将人们熟悉的某种信息形式变换为机器内部所能接收和识别的二进制信息形式的设备。
- 输出设备
- 把计算机的处理结果变成人或其他设备所能接收和识别的信息形式的设备。
- 适配器
- 保证外围设备用计算机系统特性要求的形式发送或接收信息。
- 系统总线
- 构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路。
计算机的软件
计算机软件包括系统软件和应用软件。
计算机的层次结构
- 完整的计算机系统应包括配套的硬件设备和软件系统。
- 硬件
- 指计算机系统中使用的电子线路和物理装置;
- 软件
- 指挥整个计算机硬件系统工作的程序集合;
- 由人们事先编制成具有各类特殊功能的信息组成;
- 固件
- 具有某种软件功能的硬件,一般用ROM类存储器实现。
- 如计算机主板上的BIOS,路由器、数码相机、PDA、GPS、电视机顶盒等电子类产品也都包含有固件;
- 功能上是软件,形态上是硬件。
- 具有某种软件功能的硬件,一般用ROM类存储器实现。
第二章
第三章
存储器的分级结构
1、基于程序的局部性原理
某一段时间内频繁访问某一局部的存储器地址空间,对其范围之外的地址空间则很少访问的现象。
时间局部性、空间局部性
2、多级存储器系统的组成
内存(主存):存储正在执行的程序指令和数据;容量小、速度快、价格高。
作用:介于Cache和外存之间,要求选取适当的存储容量和存储周期,使之能够容纳系统的核心软件和较多的用户程序。
外存(辅存):CPU不能直接访问,存储容量大、价格便宜、速度低;
作用:用于解决存储容量问题,满足计算机大容量存储要求
Cache:存放内存中正在被使用的信息快;在CPU和内存之间。
作用:用于提升访问速度,使存取速度与CPU运算速度匹配
存储器分类
按存储介质分
半导体存储器:用半导体器件(MOS管)组成的存储器;(eg:系统主存,Cache)
磁表面存储器:用磁性材料(磁化作用)做成的存储器;(eg:软盘、硬盘、磁带)
光盘存储器:用光介质(光学性质)构成的存储器;(eg:光盘)
按存取方式分
随机存储器:存取时间和存储单元的物理位置无关;(半导体、存储器)
顺序存储器:存取时间和存储单元的物理位置有关;(磁带)
半顺序存储器:存取时间部分地依赖于存储单元的物理位置;(磁盘存储器)
按存储内容可变性分
只读存储器(ROM):只能读出而不能写入的半导体存储器;
随机读写存储器(RAM):既能读出又能写入的半导体存储器;
按信息易失性分
易失性存储器(半导体存储器):断电后信息即消失的存储器;
非易失性存储器(磁盘光盘):断电后仍能保存信息的存储器;
按在计算机系统的作用分
主存储器(半导体存储器):能够被CPU直接访问,速度较快,用于保存系统当前运行所需的所有程序和数据;
辅助存储器(磁盘、光盘存储器):不能被CPU直接访问,速度较慢,用于保存系统中所有的程序和数据;
高级缓冲存储器(Cache)(半导体存储器):能够被CPU直接访问,速度快,用于保存系统当前运行中频繁使用的程序和数据;
控制存储器(半导体存储器):CPU内部的存储器
主存储器的技术指标
存储容量
定义:指存储器能存放二进制代码的总数。
存储容量=存储单元个数x存储字长
存储容量=存储单元个数x存储字长/8(单位为B【字长】)
例如:某机存储容量为2K x 16,则该系统所需的地址线为11根,数据线位数为16根。
存取时间(访问时间)
从启动一次访问操作到完成该操作为止所经历的时间;
以ns为单位,存取时间又分为读出时间、写入时间两种。
存取周期
存储器连续启动两次独立的访问操作所需的最小间隔时间。
以ns为单位,存取周期=存取时间+复原时间
存储器带宽
每秒从存储器进出信息的最大数量
单位为 位/秒 或者 字节/秒
存储带宽 = 每周期的信息量 / 周期时长
SRAM存储器(理解)
静态RAM(SRAM)[主要用于构成Cache]
由MOS电路构成的双稳触发器保存二进制信息;
优点:访问速度快,只要不掉电可以永久保存信息;
缺点:集成度低,功耗大,价格高;
基本的静态存储元阵列
存储体排列成存储单元阵列,不一定以存储单元形式组成;
SRAM芯片封装后,3种外部信号线
地址线:2ⁿ个单元,对应有n根地址线;地址信号经过译码电路,产生每个单元的字线选通信号;
数据线:每个单元m位,对应有m根数据线;
控制线:读写控制信号R/#W :1 - 读,0 - 写;
SRAM存储器的组成
存储体
存储单元的集合,按位将各存储元组织一个存储矩阵;
不同的存储器采用不同的译码方式来选择存储单元。
地址译码器:将CPU发出的地址信息转换成存储元选通信号的电路。
译码驱动器:用于增强译码输出选择线的驱动能力。
I/O控制电路:一般包括读写电路和放大电路
读、写周期波形图
存储器读/写的原则
读/写信号要在地址和片选均起作用,并经过一段时间后有效;
读写信号有效期间不允许地址、数据发生变化;
地址、数据要维持整个周期内有效;
读周期时间(tRC)、写周期时间(tWC)
存储器进行两次连续的读/写操作所必须的间隔时间;
大于实际的读出/写入时间;
SRAM存储器的读周期
读周期操作过程: CPU 发出有效的地址信号
译码电路延迟产生有效的片选信号
在读信号控制下,从存储单元中读出信号
各控制信号撤销(地址信号稍晚),数据维持一段时间
读出时间(tAQ):从地址到外部数据总线上的数据信息稳定所经历的时间
片选有效时间(tEQ)、读控制有效时间(tGQ)
片选信号、读控制信号所需要维持的最短时间,二者相等;
从地址译码后,到数据稳定的时间间隔;
SRAM存储器的写周期
写周期操作过程 CPU发出有效的地址信号,并提供所要写入的数据
译码电路延迟产生有效的片选信号
在写信号控制下,将数据写入存储单元中
各控制信号撤销(地址信号稍晚),数据维持一段时间
写入时间(tWD) 地址控制信号稳定后,到数据写入存储器所经历的时间;
维持时间(thD) 写控制信号失效后的数据维持时间;
不需要刷新
DRAM存储器(掌握)
DRAM
动态RAM(DRAM)[主要用于构成系统主存]
由MOS电路中的栅极电容保存二进制信息;
优点:集成度高,功耗约为SRAM的的1/6,价格低;
缺点:访问速度慢,电容的放电作用会使信息丢失,要长期保存数据必须定期刷新存储单元;
主要种类有:SDRAM、DDR SDRAM
DRAM的存储元
由MOS晶体管和电容组成的记忆电路
电容上的电量来表示存储信息
充电-1,放电-0。
DRAM特点
存储元所需元件少,存储密度更高
内部结构比SRAM复杂
读/写周期
DRAM的读写周期与SRAM相似,差别在于:
行、列地址分开传送;在同一个读写周期内地址会发生变化;
列选通信号#CAS要滞后于行选通信号#RAS一段时间;
DRAM读周期和写周期步骤
行选通信号有效,锁存行地址
写入数据有效
列选通信号有效,锁存列地址
读写信号有效
读出数据有效
刷新周期
刷新的原因
DRAM的基本存储元-电容,会随着时间和温度而减少;
必须定期地对所有存储元刷新,以保持原来的信息。
刷新(再生)
在固定时间内对所有存储单元,通过“读出(不输出)-写入”的方式恢复信息的操作过程;
刷新的过程中存储器不能进行正常的读写访问
刷新方式
以存储器的行为单位刷新
刷新周期
从上一次对整个M刷新结束到下一次对整个M全部刷新一遍为止的时间。
刷新方式
集中式刷新
在一个刷新周期内,利用一段固定时间,依次对存储矩阵所有行逐一刷新,在此期间停止对存储器的读/写操作;
存在死区时间,会影响CPU的访存操作;
分散式刷新
也称异步式刷新;
在一个刷新周期内,分散地刷新存储器的所有行;
既不会产生明显的读写停顿,也不会延长系统的存取周期;
DRAM芯片的逻辑结构
存储器容量的扩充
存储芯片与CPU的引脚
存储芯片的外部引脚
数据总线:位数与存储单元字长相同,用于传送数据信息;
地址总线:位数与存储单元个数为2ⁿ关系,用于选择存储单元;
读写信号/WE:决定当前对芯片的访问类型;
片选信号/CS:决定当前芯片是否正在被访问;
CPU与存储器连接的外部引脚
数据总线:位数与机器字长相同,用于传送数据信息;
地址总线:位数与系统中可以访问单元个数为2ⁿ的关系;
读写信号/WE:决定当前CPU的访问类型;
访存允许信号/MREQ:决定是否允许CPU访问存储器;
存储容量的位扩展
存储单元数不变,每个单元的位数(字长)增加;
存储芯片与CPU的引脚连接方法
地址线:各芯片的地址线直线与CPU地址线连接;
数据线:各芯片的数据线分别与CPU数据线的不同位连接;
片选及读写线:各芯片的片选及读写信号直接与CPU的访存及读写信号连接;
CPU对该存储器的访问是对各位扩展芯片相同地址单元的同时访问。
存储容量的字扩展
每个单元位数不变,总的单元个数增加。
存储芯片与CPU的引脚连接方法
地址线:各芯片的地址线与CPU的低位地址线直接连接;
数据线:各信号的数据线直接与CPU数据线连接;
读写线:各芯片的读写信号直接与CPU的读写信号连接;
片选信号:各芯片的片选信号由CPU的高位地址和访存地址
CPU对该存储器的访问是对某一字扩展芯片的一个单元访问。
低位的地址线与各芯片的地址线并联;多余的高位地址线用来产生相应的片选信号。
存储芯片的字位扩展
字位扩展:每个单元位数和总的单元个数都增加
扩展方法
先进行位扩展,形成满足位要求的存储芯片组;
再使用存储芯片组进行字扩展
要求:能够计算出字位扩展所需的存储芯片的数目。 (eg:用L x K 的芯片构成M x N的存储系统; 所需芯片总数为 M/L x N/K片。)
存储器与CPU的连接补充
做题思路
审题确定所需扩展的类型,选择合适的存储芯片;原则:尽量做简单的扩展(位扩展-字扩展-字位扩展)
分析存储芯片和CPU的引脚特性(地址范围、地址线数目、容量要求等。尤其是在进行字扩展时,特别注意片选信号的产生。
画出逻辑连接图,作必要的分析说明。
存储器设计的连接要点
地址线的连接:用CPU的低位地址线与芯片地址线直接连接
存储器设计的连接要点
地址线的连接:用CPU的低位地址线与芯片地址线直接连接;
数据线的连接:用CPU的对应位数据线与芯片的数据线直接连接;
读/写控制信号线直接与存储芯片直接连接;
片选线的连接:一般使用CPU的高位地址线和CPU的访存允许控制信号线/MREQ,经译码器译码后产生各芯片的片选信号。关键点:保证从每个芯片的角度来看,都完全使用了CPU引脚(直接或间接连接);
高级的DRAM结构
FPM-DRAM(快速页模式动态存储器)
根据程序局部性原理实现的
快速页模式允许在选定的行中对每一个列地址进行连续快速的读写操作。
CDRAM(带高速缓存动态存储器)
在DRAM芯片上集成一定数量的SRAM(高速缓存);
SDRAM(同步动态存储器)
需要与系统时钟同步的外部时钟;
非同步DRAM,CPU需先与主存进行时钟同步,再读写数据;
同步DRAM,主存在系统时钟控制下工作,无需同步等待时间;
采用多存储体结构,多个存储体紧密结合,高速读写数据;
SDRAM连续读写时,最高可达到一个CLK一个数据;
DDR DRAM(双数据传输率同步动态存储器)
在SDRAM基础上,采用延时锁相环技术提供数据选通信号,对数据进行精确定位;
每个时钟的上升、下降沿两次传输数据,数据传输率提高1倍;
DDR2拥有两倍于DDR的预读取能力(4bit数据读预取);
DDR3在DDR2基础上,具有更高工作频率、更好地通用性;
DRAM读/写正确性校验
校验方法:“写入-读出”;
存储器实验中,靠指令读写扩展验证扩展的存储区域的正确性;
DRAM
只读存储器和FLASH存储器(了解)
只读存储器ROM
掩膜式ROM
定义:数据在制造过程中写入,不能更改;
优点:可靠性、集成度高,价格便宜;
缺点:通用性差,不能改写内容;
一次编程ROM(PROM)
定义:用户第一次使用时写入确定内容;
优点:用户可根据需要对ROM编程;
缺点:只能写入一次,不能更改;
多次编程ROM
定义:可用紫外线照射(EPROM)或电擦除(E²PROM)多次改写其中内容;
优点:通用性较好,可反复使用;
最大特点:非易失性,其访问速度比RAM稍低,可以按地址随机访问并在线执行程序,因而在计算机中用于储存固件、引导加载程序、监控程序及不变或很少改变的数据。只读的意思是在其工作是只能读出,不能写入。
FLASH存储器
FLASH存储器
一种高密度、非易失性的读/写半导体存储器;
以E²PROM为1基础,电擦除方式修改其内容;
E²PROM以字节为单位更新数据,而闪存则以块为单位;
目前数码产品中用的都是闪存卡;
U盘、CF卡、SM卡、SD/MMC卡、记忆棒、TF卡……
虽然外观不同,但是技术原理都是相同的;
闪速存储器的可擦写次数一般在1万次以上,也有人说有的U盘可多达100万次左右(无法核实)。
并行存储器(理解)
双端口存储器
采用空间并行技术;
同一个存储体使用两组相互独立的读写控制线路,可并行操作。
读写特点
无冲突读写
访问的存储单元不同,可并行读写存储体;
有冲突读写
访问同一存储单元,可使用/BUSY信号控制读写优先顺序;
显卡上的存储器一般都是双端口存储器。
多模块交叉存储器
采用时间并行技术
存储器的模块化组织方式
顺序方式
优点:通过直接添加模块来扩充存储器容量比较方便;
缺点:各模块串行工作,存储器的带宽受到了限制。
每个模块中的单元地址是连续的;
某个模块进行存取时,其他模块不工作,某一模块出现故障是,其他模块可以照常工作;
存储单元地址
高位-模块号
低位-模块内的字号
T总=mT
交叉方式
优点:块数据传送时,可大大提高存储器的带宽;
缺点:模块间的依赖性强,且不易进行存储器的容量扩充。
每个模块的单元地址是不连续的;连续地址分布在相邻的不同模块内。
对于数据成块的传送,各模块可以实现多模块流水式并行存取;
存储单元地址
低位:模块号
高位:模块内的字号
T总=T+(m-1)*τ
CPU对多模块的同时访问
多模块交叉存储器在CPU所访问连续存储空间时,主存的访问速度将会大幅度提高;
多模块交叉存储器的基本结构
每个模块各自以等同的方式与CPU传送信息。
CPU同时访问四个模块,由存储器控制部件控制它们分时使用数据总线进行信息传递。
对每一个模块来说,从CPU给出访存命令直到读出信息仍然使用了一个存取周期。
对CPU来说,它可以在一个存取周期中连续访问4个模块;
各模块的读写过程重叠进行,所以这是一种并行存储结构。
Cache存储器(掌握)
Cache基本原理
Cache的基本原理
使用Cache的原因
CPU速度越来越快,主存储器与CPU的速度差距越来越大,影响CPU的工作效率。
Cache的作用
在CPU和主存之间加一块高速的SRAM(Cache);
主存中将要被访问的数据提前送到Cache中;
CPU访存时,先访问Cache,若没有再进行数据调度。
使用Cache的依据(程序的局部性原理)
在一段时间内,CPU所执行的程序和访问的数据大部分都在某一地址范围内,而该段范围外的地址访问很少;
结构模块化
CPU访问Cache或主存是,以字为单位
Cache和主存交换信息是,以块为单位,一次读入一块或多块内容;
Cache的每行都设有标记,CPU访问程序或数据时,先访问标记。
相邻之间的数据传送单位
CPU <-> 高速缓存:字(假设1个字包含4个字节)
高速缓存 <-> 主存储器:块(每块32个字节(8个字))
主存 <-> 磁盘:页面(每页4K字节,包含128块)
Cache的基本构成
存储体:
基本单位为字,若干个字构成一个数据块;
地址映射变换机构:
用于将主存地址变换为Cache地址,以利用CPU发送的主存地址访问Cache;
替换机构:
若要更新Cache中数据时使用的机制;
相联存储器:
Cache的块表,快速指示所要访问的信息是否在Cache中;
读写控制
Cache的命中率
命中率是指CPU要访问的信息在Cache中的比率;
命中率=(访问信息在Cache中的次数)/(访问次数) X 100% (一般≥95%)
失效率=1-命中率
影响命中率的主要因素
Cache容量:
过小时,局部信息装不完,命中率低。
过大时,对提高效率不明显,且成本高。
Cache中块的大小:
一般一个主存周期所能调出的单元数(字或字节)作为一个块的大小。
主存系统的平均访问时间
Cache/主存系统的平均访问时间ta为
ta = htc + (1-h)tm
设主存与Cache的速度倍率r=tm/tc,则系统的访问效率e为
e=1/(r+(1-r)h)
tc — Cache访问时间
tm — 主存访问时间
h — 命中率
Cache的读操作
CPU发出有效的主存地址;
查找相联存储器,判断所要访问的信息是否在Cache中;
若命中,经地址变换机构,变换为相应的Cache地址;
CPU直接读取Cache获取数据;
若未命中,则CPU访问主存,并判断Cache是否已满;
若Cache未满,将该数据所在块从主存中调入Cache;
若Cache已满,使用某种替换机制,使用当前数据块替换掉Cache中的某些块。
Cache的写操作
CPU发出有效的主存地址;
查找相联存储器,判断所要访问的信息是否在Cache中;
若命中,经地址变换机构,变换为相应的Cache地址;
使用某种写策略将数据写入Cache或主存。
若未命中,则使CPU直接写主存数据;
同时根据写策略,决定是否将该块内容调入Cache;
替换策略
最不经常使用(LFU)算法
替换原则
将一段时间内被访问次数最少的那行数据替换出去;
使用方法
每行设置一个计数器,从0开始计数;
每访问一次,被访问的计数器增1;
当需要替换时,将计数值最小的行换出去,同时将这些行的计数器都清零。
特点
这种算法将计数周期限定在这些特定行两次替换之间的间隔时间内,不能严格反映近期访问情况。
近期最少使用LRU)算法
替换原则
将近期内长久未被访问过的行替换出去。
使用方法
每行也设置一个计数器;
每访问一次,被访问的计数器清零,其他各行计数器加1;
当需要替换时,将计数值最大的行换出。
特点
这种算法保护了行调入到Cache中的新数据行,使Cache的使用率较高。
随机替换算法
替换原则
从特定的行中随机地选取一行换出。
特点
在硬件上容易实现,且速度也比前两种策略快。
但降低了命中率和Cache工作效率。
Cache的写操作策略
写回式
写入策略
只修改Cache内容,而不立即写入内存;
只有当此行被换出时才写会内存。
优点
减少了访问主存的次数;
缺点
存在Cache与主存不一致的隐患。
实现该方法时,Cache行必须配置一个修改位,以反映此行是否被修改过。
全写式
这种策略又称写透式。
写入策略
Cache与主存同时发生写修改,因而较好地维护了Cache与主存的内容一致性。
Cache中无需设置修改位以及相应的判断逻辑。
缺点是降低了Cache的功效。
每次同时写入主存和Cache,使写入速度降低。
写一次法
写入策略
基于写回法,并结合全写法的写策略;
写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。
该写入策略适用于包含多个Cache的系统中;
第一次Cache写命中时,将数据写入主存和一个Cache中;
使系统中的其它Cache可以及时更新或废止该块内容,从而维护系统中该块数据的一致性。
主存与Cache的地址映射
信息从主存->Cache中,如何定位?
Cache的容量小于主存,需要采用某种算法主存和Cache中块的对应关系;
地址映射
主存中数据块调入Cache中时,主存数据块与Cache行之间的映射关系;
地址变换
CPU访存时,将主存地址按映射函数关系变换成Cache地址的过程;
地址映射的方式
全相联映射、直接映射、组相联映射
Cache和主存机械等分为相同大小的块,每一块是由若干个字(或字节)组成。
全相联映射
映射关系
主存中的任意字块可调进Cache的任意一行;
地址映射
主存中数据调入Cache时,可以调入Cache的任一空行;其中,主存块号存于Cache的标记中。
调入的同时,将主存标记(及主存块号)和Cache的行号同时写入块表;
地址变换
CPU访存时,发出主存地址;
将主存标记作为关键字,送入块表中检索每一个单元;
命中时,读出对应单元中的Cache行号;
使用Cache行号和主存地址中的的块内地址;
全相联映射的主存地址格式
设主存共分成2 (m个块,每块单元数为2)b个
- 主存地址格式:
- 主存块号,也称主存标记
主存块号 | 行内地址
m位 b位
- 主存块号,也称主存标记
- Cache地址格式
Cache行号 | 行内地址
c位 b位
块表的基本结构
单元数目与Cache的行数一致;
每个单元保存:主存块号和Cache行号;
块表的大小应为2^c x (m+c)位
全相联映射Cache的特点
优点
灵活性好(最理想)
Cache中只要有空行,就可以调入所需要的主存数据块;
缺点- 成本高
块表单元字长为m+c位,需要较大容量的Cache块表 - 速度太慢
访问Cache时,需要将所有标记比较一遍,才能最后判出所需要主存中的字块是否在Cache中;
一般较少使用。
直接映射
(DIrect Mapping)
映射关系
主存中的每一块数据只能调入Cache的特定行中‘相当于主存分成若干区。
直接映射函数为: i = j mod 2^c
主存块号为j | Cache行号为i
c是Cache行地址的位数
地址映射
主存中数据调入Cache时,只能调入Cache的特定行;
同时,将主存标记写入块表中与Cache行地址(主存区内块号)相同的单元;
假设主存块号位数为m,则主存标记的位数为m-c位。
地址变换
CPU访存时,发出主存地址;
从主存地址中截取Cache行号,访问块表的对应单元;
若该单元中数据与主存标记相同,则命中。否则未命中;、
命中时,使用Cache行号和块内地址访问Cache;
直接映射方式下的主存地址格式
假定主存共2 ( ( ( ( (m块,Cache共2)))))c行,每块/行单元数为2^b个
主存地址为m+b位;Cache地址为c+b位;
直接映射中主存块与Cache行的关系:
- 成本高
- Cache地址格式为:
Cache行号 | 行内地址
c位 b位 - 主存的地址格式为:
m位 = t位+c位 b位
主存标记 | Cache行号|块内地址
t位 c位
主存中有2^t块对应于同一Cache行
块表的基本结构
单元数目与Cache的行数一致;
每个单元保存:主存标记
- 不需要使用相联存储器 - 块表的大小应为
2^c x (m-c)位
直接映射Cache的特点
特点
一个主存块只能调入Cache的一个特定行中。
优点
该映射函数实现简单,查找速度快; - 主存地址的中间c位即为Cache的行地址;
- 在块表对应单元中,使用高t位地址(主存标记)进行比较,决定是否命中;
缺点
灵活性差 - 主存的2^t 个子块只能对应为的Cache字块,即使Cache中别的字块空着也不能占用。
组相联映射
(Set-associative Mapping)
组相联映射是直接映射和全相联映射的一种折中方案。
映射关系
将Cache中的行等分为若干组,主存中的每一块只能映射到Cache的特定组中,但是但是可以调入该组中的任一行中;
组间为直接映射,组内为全相联映射。
设Cache共u组,每组r行,则映射函数如下:
组号 q = j mod u j为主存块号
当Cache的一组包含r行是,通常称为r路组相联映射。
第四章
指令系统的发展与性能要求
指令系统的发展
- 程序:用于解决实际问题的一系列指令;
- 指令:使计算机执行某种操作的命令;
- 从组成的层次结构来说,计算机的指令可分为如下3类:
- 微指令:微程序级的命令,它属于硬件;
- 机器指令(指令)):可完成一个·独立的算数或逻辑运算;
- 宏指令:由若干条机器指令组成的软件指令,它属于软件;
- 指令系统:一台计算机中所有机器指令的集合。
- 由机器的硬件结构直接决定,影响机器的适用范围。
CISC
- 采用复杂的指令系统,来达到增强计算机的功能、提高机器速度的目的。
- 特点:
- 指令系统复杂庞大,指令数目多;
- 指令格式多,指令字长不固定,多种寻址方式;
- CPU采用专用寄存器,指令访存不受限制;
- 各种指令的执行时间相差很大;
- 大都采用微程序控制器;
RISC
- 从简化指令系统和优化硬件设计的角度来提高系统的性能与速度。
- 特点
- 选取使用频率搞的简单指令;
- 指令长度固定,指令格式少,寻址方式种类少;
- 采用流水线2技术;
- 使用较多的通用寄存器,减少访存;
- 控制器以组合逻辑控制为主;
- 采用优化编译技术;
指令系统性能的要求
- 完备性
- 常用指令齐全,编程方便;
- 有效性
- 程序占用内存少,运行速度块;
- 规整性
- 指令和数据的使用规则统一,易学易记;
- 规整性包括以下三方面的要求:
- 对称性:所有指令的操作数都可以使用各种寻址方式;
- 匀齐性:一种操作质的指令可以支持各种数据类型;
- 指令格式和数据长度的一致性:方便处理和存取;
- 兼容性
- 同一系列的低档计算机的程序能够在新的高档计算机上运行。
指令格式
- 指令字(简称指令)
- 表示一条指令的机器字。
- 指令格式
- 指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。
- 操作码字段:表征指令的操作特性与功能;
- 地址码字段:通常指定参与的操作数的地址。
操作码
- 操作码字段的位数取决于指令系统的规模;
- 操作码的类型:
- 固定长度的操作码
- 特征:所有指令长度均相同。
- 优点:控制简单,速度快,适用于指令条数不多的场合。
- 可变长度的操作码
- 特征:利用操作吗扩展技术将操作吗扩展到地址码字段,使各类指令的操作码长度不相同;
- 优点:充分利用软硬件资源,适用于大规模的指令系统。
- 固定长度的操作码
地址码
- 一条指令格式中有几个地址码字段,就是几地址指令;
- 零地址指令
- 无任何操作数运算,如NOP、HALT等指令。
- 单操作数运算:隐含一个操作数,如CBW指令
- 一地址指令
- 单操作数运算:如INC指令
- 双操作数运算:隐含一个操作数,如MUL指令。
- 两地址指令:
- 按操作数的寻址方式可分为RR型、RS型、SS型三种。
- 三地址指令
- 多地址指令(如四地址)
- 这类指令功能强,一般用高档小型机或中大型机,用于实现成批数据处理,字符串处理、向量或矩阵运算指令等。
两地址指令的分类
根据操作数的物理位置分。
- 存储器-存储器(SS)型指令
- 操作数A1、A2均为存储单元
- 这类指令的执行需要多次访存。
- 寄存器-寄存器(RR)型指令
- A1、A2均为寄存器(通用寄存器、专用寄存器);
- 这类指令的执行不需要访存。
- 寄存器-存储器(RS)型指令
- A1、A2中一个为寄存器,一个为存储单元;
- 执行此类指令时,既要访问内存单元,又要访问寄存器。
RR型指令执行速度较快,不需要放问存储单元
指令字长度
- 机器字长
- 运算器一次能处理的二进制数的位数。
- 指令字长
- 一个指令字中包含二进制代码的位数。
- 指令字长由操作码长度、操作数长度和个数共同决定。
- 指令有半字长、单字长、双字长等不同类型的长度类型;
- 指令系统可分为等长指令字结构、变长指令字结构两种;
- 等长指令字执行时,控制器容易解析,但指令类型受限;
- 变长指令字执行时,控制器解析复杂,但指令类型灵活;
- 通常一个指令系统中指令的地址码个数不一定相同,为了确保指令字长度尽可能统一,可以采用扩展操作码技术,向地址码字段扩展操作码的长度。
指令助记符
- 使用3~4个英文缩写字母来表示的指令操作吗。
- 在不同的计算机中,指令助记符的规定是不一样的;
- 指令助记符只是指令操作码字段的一种表示方法;
- 机器内部保存的还是二进制形式的机器指令;
- 由汇编或编译程序,将助记符翻译成机器代码
操作数的寻址方式
-
隐含寻址
-
立即寻址
-
直接寻址
-
间接寻址
-
寄存器寻址
-
寄存器间接寻址
-
基址寻址方式
-
变址寻址方式
-
相对寻址方式
-
堆栈寻址
第五章
第六章
总线系统
1.总线的概念和·结构形态 --理解
1.总线的基本概念
- 总线
- 构成计算机的互联机构,是系统内各功能部件之间进行传送的公共通路。
- 总线的分类
- 按传送信息分
- 数据总线、地址总线、控制总线
- 按连接部件分
- 内部总线、系统总线、通信总线
- 按传送信息分
按传送信息分类的总线
- 地址总线
- 单向,三态总线,用于传送地址信息;
- 其位数决定可直接寻址的范围;
系统总线中地址线的功能是指定主存和I/O设备接口电路的地址
- 数据总线
- 双向,三态总线,用于传送数据信息;
- 一般与机器字长同位,8位、16位、32位、64位等;
- 其位数决定运算的规模和精度;
- 控制总线
- 传送控制、状态信息;
- 其类型决定计算机的特色;位数不定。
按连接部件分类的总线
- 内部总线
- 各芯片内部逻辑器件的连接总线;
- 例如:CPU内部ALU与寄存器直接的连接总线;
- 系统总线
- 计算机各功能部件的连接总线;
- 例如:CPU与主存的连接总线;
- 通信总线(IO总线)
- 微机系统与微机系统、其他设备之间的连接总线;
- 微机系统与微机系统、其他设备之间的连接总线;
1.总线的特性
- 物理特性
- 总线的位数,总线插头、插座的形状,引脚的排列方式等;
- 功能特性
- 确定每一根总线的名称、定义、功能与逻辑关系等;
- 如传送数据、地址、控制信号;
- 电气特性
- 规定每一根总线上信号的传送方向及有效电平范围等内容;
- 时间特性
- 总线上各信号有效的时序关系;
2.总线标准
- 总线的标准化
- 为保证总线的性能充分发挥以及兼容性问题而提出的;
- 主要包括总线的各种特性、数据传输率、总线通信协议、仲裁协议等一系列规定和约定。
- 总线标准的来源
- 权威组织正式公布的标准
- 实际存在的工业标准
- 典型的标准总线
- ISA、EISA、PCI等;
- 按总线标准设计的接口是通用接口。
3.总线的性能指标
- 总线宽度
- 一次总线操作中,最多可传送的数据位数。
总线宽度:指总线在单位时间内可以传输的数据总数。总线宽度=总线位宽=数据线的根数
- 总线周期
- 一次总线操作所需要的最小间隔时间。
- 总线周期与总线的时钟频率成反比,即T=1/f
- 寻址能力
- 取决于地址总线的根数
- PCI总线的地址总线为32位,寻址能力达4GB。
负载能力
总线上能够连接的设备数。
传输率
总线带宽:指总线在单位时间内可以传输的数据总数(等于总线的宽度与工作频率的乘积)
也称总线带宽,通常指总线所能达到的最高数据传输率,单位是Bps(每秒传送字节数)
计算公式:Dr=D x f/N
D–数据宽度; f–总线时钟频率;
N–完成一次数据传送所需的时钟周期数。
PCI总线1.0版的总线带宽132MBps
是否支持突发传送
总线上数据传送方式:
- 正常传送 – 每个传送周期先传送数据的地址,再传送数据。
- 突发传送 – 支持成块连续数据的传送,只需给出数据块的首地址,后续数据地址自动生成。
PCI总线支持突发传送,ISA不支持。
2.总线的连接方式
- 单总线结构
- 使用一条系统总线来连接CPU、内存和I/O设备;
- 特点:简单易行;系统总线负载重;
- 双总线结构
- 在CPU和主存之间专门设置了一组高速的存储总线。
- 三总线结构
- 在各外部设备与通道之间加一组I/O总线。
- 多总线结构
- 通过桥将多总线彼此相连。
三总线结构
-
系统总线负责连接CPU、主存、I/O通道;
存储总线负责连接CPU与主存;
I/O总线负责连接各I/O适配器。
-
特点:
- 设置了通道,对外设进行统一的管理,分担了CPU的工作。
- 提高了CPU工作效率,也最大限度提高了外设的工作速度。
- 但硬件成本进一步增加。
多总线结构
3.总线的内部结构
- 早期总线内部结构
- 实际上是CPU芯片引脚的延伸;
- 早期总线的不足
- CPU是总线上唯一的主控者。
- 总线结构与CPU紧密相关,通用性较差。
现代总线
- 多采用标准总线
- 与结构、CPU、技术无关;
- 又被称为底板总线。
- 现代总线可分为四个部分:
- 数据传送总线
- 地址线、数据线、控制线;
- 仲裁总线
- 总线请求线、总线授权线;
- 中断和同步总线
- 中断请求线、中断认可线;
- 公用线
- 时钟信号、电源等;
- 时钟信号、电源等;
- 数据传送总线
4.总线结构实例
2.总线接口 --了解
1.信息的传送方式
- 串行传送
- 使用一条传输线,采用脉冲传送。
- 特点:成本比较低廉,信息传送速度慢;
- 并行传送
- 每一位数据需要一条传输线,一般采用电位传送;
- 系统总线的信息传送方式。
- 分时传送
- 总线传送信息的分时复用 例如:CPU中的复用引脚
- 某个传输线上既传送地址信息,又传送数据信息。
- 共享部件对总线的分时复用 例如:系统中主模块对总线的争用
- 在不同的时间内由不同的部件使用总线。
- 在不同的时间内由不同的部件使用总线。
- 总线传送信息的分时复用 例如:CPU中的复用引脚
2.接口的基本概念
- 接口
- I/O设备适配器
- 指CPU和主存、外围设备之间通过总线进行连接的逻辑部件。
- 接口的典型功能
- 控制、缓冲、状态、转换、中断等。
- 一个适配器必有两个接口
- 一个同系统总线相连,采用并行方式;
- 另外一个同设备相连,可能采用并行方式或是串行方式。
- CPU、接口和外围设备之间的连接关系
波特率
3.总线的仲裁 --理解
总线的仲裁
- 连接到总线上的功能模块有主动和被动两种形态;
- 主动可以启动一个总线周期;
- 从方只能响应主方请求;
- 每次总线操作,只能有一个主方,但是可以有多个从方。
- 多个功能模块争用总线时,必须由总线仲裁部件选择一个主设备使用总线。
- 总线占用周期
- 主方持续控制总线的时间。
- 总线仲裁方式
- 集中式:由中央仲裁器决定总线使用权的归属。
- 分布式:多个仲裁器竞争使用总线。
1.集中式仲裁
在集中式总线仲裁方式中,响应时间最快的是独立请求方式
- 链式查询方式
- 设备的优先权与总线控制器的距离有关;
- 优点:硬件连接简单,判优容易,设备增删容易;
- 缺点:对电路故障敏感,优先级固定;
- 计数器定时查询方式
- 设备的优先权由计数值决定,计数值为0时同链式查询方式;
- 优点:优先权控制灵活,对电路故障不敏感;
- 缺点:硬件成本增加,控制复杂度高
- 独立请求方式
- 设备的优先权由中央仲裁器的内部排队逻辑决定;对优先次序的控制也是相当灵活的;
- 缺点:硬件复杂度高。
链式查询方式
-
连接方式
- 采用菊花链的方式连接所有具有总线使用能力的部件;
- 各设备共用一根总线请求信号BR、总线授权信号BG、总线忙信号BS与中央仲裁器连接;
-
工作方式
- 总线授权信号BG串行地从一个I/O接口传送到下一个I/O接口。
计数器定时查询方式
-
连接方式
- 省去总线授权信号BG;
- 增加计数器和设备地址信号线,每次响应总线申请,由计数值决定响应的顺序。
-
工作方式
- 有总线请求时,发出计数值,选择设备查询请求状态,依次查询每一个设备;
独立请求方式
- 连接方式
- 每个部件均有独立的请求和响应信号线,由中央仲裁器的内部排队逻辑决定响应顺序。
- 每个部件均有独立的请求和响应信号线,由中央仲裁器的内部排队逻辑决定响应顺序。
2.分布式仲裁
- 分布式仲裁不需要中央仲裁器,由分布在各部件中的多个仲裁器竞争使用总线。
- 每个潜在的主模块都有自己的仲裁器和唯一的仲裁号,通过仲裁总线上仲裁号的比较,决定可占用总线的部件。
- 某部件由总线请求时,将其仲裁号发送到共享仲裁总线上;
- 每个仲裁器将仲裁总线上得到的号与自己的号进行比较;
- 如果仲裁总线上的号大,则它的总线请不予响应,并撤销它的仲裁号;
- 最好,获胜者的仲裁号保留在仲裁总线上。
- 分布式仲裁是以优先级仲裁策略为基础。
4.总线的定时和数据传送模式 --了解
1.总线的定时
- 总线的信息传送过程
- 请求总线、总线仲裁、寻址、信息传送、状态返回;
- 定时
- 确定事件出现在总线上的时序关系;
- 定时的分类
- 同步定时
- 异步定时
同步定时
- 信号采用统一的时钟信号,所有事件的出现均由该时钟信号确定;
- 优点
- 各模块配合简单一致;
- 数据传输效率高;
- 缺点
- 各模块的速度差异较大时,会影响系统的整体工作效率;
- 时钟信号收到干扰时,会引起错误的同步;
- 适用于总线长度较短,个功能模块速度相差不多的系统。
异步定时
- 系统依靠应答方式或互锁机制来决定时间出现的时间。
- 优点
- 总线周期长度可变;
- 缺点
- 增加了总线的复杂性和成本;
- 适用于设备工作速度不一致的系统。
2.总线的数据传送模式
- 读、写操作
- 主设备利用系统总线,完成与从设备直接的数据传送;
- 块传送操作 猝发式传送
- 只需给出块的起始地址,然后对固定长度的数据一个接一个地读出或写入。
- 写后读、读修改写操作写操作
- 只给出地址一次,或先写后读(校验),或先读后写(多道程序系统中对共享存储资源的保护)。
- 广播、广集操作
- 广播:总线允许一个主方对多个从方进行写操作。
- 广集:与广播相反的操作,它将选定的多个从方数据在总线上完成AND或OR操作,用以检测多个中断源。
第七章
外围设备
1.外围设备概述 --了解
1.外围设备的一般功能
- 外围设备的定义
- 计算机系统中,除CPU和主存之外的部件都可看作外设;
- 外围设备的功能
- 在计算机和其他机器,或与用户之间提供联系。
- 外围设备的基本组成
- 存储介质 【盘片组】
- 用于信息的保存;
- 驱动装置 【定位驱动器】
- 用于移动存储介质,使之正常工作;
- 控制电路 【读写控制】
- 用于使该外设与外界(加CPU)的信息传递。
- 存储介质 【盘片组】
2.外围设备的分类
- 分类
- 输入/出设备;
- 外存设备;
- 数据通信设备;
- 过程通信设备;
- 外设都是通过适配器与主机连接的;
- 适配器控制所连外设的具体工作;
2.磁盘存储设备 --掌握
1.磁记录原理
- 磁表面存储器 【如:磁带、磁盘】
- 用于磁性材料薄薄地涂在金属铝或塑料表面作磁载体来存储信息。
- 磁表面存储器的优点
- 存储容量大,位价格低;
- 记录介质可以重复使用;
- 记录信息可以长期保存而不丢失;
- 非破坏性读出,读出时不需要再生信息。
- 磁表面存储器的缺点
- 存取速度较慢,机械机构复杂;
- 对工作环境要求较高。【要求防尘、防震】
- 软盘、磁盘:接触式读写;
- 硬盘:非接触式读写;
磁表面存储器的读写原理
- 在磁表面存储器中,信息的读写是利用磁头来进行的;
- 磁头:由软磁材料做铁芯,绕有读写线圈的电磁铁。
- 写操作
- 原理:电-磁变换;
- 利用磁头写线圈中的脉冲电流,在磁表面每个存储元上形成不同的磁化状态;
- 读操作
- 原理:磁-电变换;
- 利用磁头度线圈,将磁表面每个存储元上的不同磁状态换成电信号读出;
2.硬磁盘机的基本组成和分类
- 硬磁盘的逻辑结构组成
- 磁记录介质
- 磁盘控制器
- 磁盘驱动器
磁硬盘的分类
- 按盘片结构分
- 可换盘片式、固定盘片式
- 按磁头分
- 可移动磁头、固定磁头
组合
固定磁头盘片
固定磁头可换盘片
可移动磁头固定盘片
可移动磁头可换盘片
- 温彻斯特磁盘机 【简称温盘】
- 可移动磁头固定盘片的磁盘机
- 密封组合式的硬磁盘;
- 磁头、盘片、电机等部件组装成一个不可随意拆卸的整体。
- 工作时,高速旋转在盘面上形成的气垫将磁头平稳浮起。
- 优点:防尘性能好,可靠性高,对环境要求不高。
3.硬磁盘驱动器和控制器
- 磁盘驱动器
- 定位驱动机器
- 主轴系统
- 数据转换系统
- 磁盘控制器
- 主机与磁盘驱动器之间的接口。
4.磁盘上信息的分布 --重点掌握
- 记录面
- 一个盘片有上下两个记录面;
- 磁盘组的最上下盘片只有一个记录面;
- 磁盘
- 记录面上一系列同心圆;
- 最外圈为0磁道,依次为1、2、……、N磁道;
- 每个磁道的存储容量均相同;
- 不同盘片的相同磁道构成一个柱面;
- 扇区
- 同心圆上的一段磁道区域;
- 每个扇区的存储容量也相同。
磁盘上的信息记录方式
- 一个硬盘由多个盘片构成的磁盘组来记录信息;
- 每个盘片包括两个记录面(除最上面和最下面);
- 每个记录面表面通常有几十到几百个磁道来记录信息;
- 每个磁道又分为若干个扇区。
- 磁盘组的信息记录顺序是按照柱面来组织的:
- 第0面第0道->第一面第0道->……->第N面第0道->第0面第1道->第1面第1道->……->第N面第1道->……
- 硬盘上信息地址由记录面号、磁道号、扇区号三个部分组成。
- 索引:磁道的起始位置。
- 为便于进行读/写操作;
5.磁盘存储器的技术指标 --重点掌握
- 存储密度
- 有道密度、位密度、面密度三个不同的指标;
- 相关概念
- 道距:相邻两磁道中心线之间的距离;
- 道宽:磁化轨迹的宽度。
- 存储容量
- 一个磁盘存储器所能存储的字节总数;
- 平均寻址时间
- 从发出读写命令后,磁头从某一起始位置移动至新的记录位置,到开始从盘片表面读出或写入信息所需要的时间。
- 数据传输率
- 磁盘存储器在单位时间内向主机传送数据的字节数;
- 道密度
- 沿磁盘半径方向单位长度上的磁道数;
- 单位:道/英寸。
- 位密度
- 磁道单位长度上能记录的二进制代码位数;
- 单位:位/英寸。
- 注意:每个磁道的位密度均不相同,有最高、最低位密度。
- 0磁道的位密度为最低位密度。
- 存储容量
- 存储容量=记录面数 x 每面磁道数 x 磁道容量
- 非格式化容量
- 磁记录表面可以利用的磁化单元总数。
- 格式化容量
- 按照某种特定的记录格式所能存储信息的总量,也就是用户可以真正使用的容量。
- 格式化容量一般是非格式化容量的60%~70%。
- 这里指的是低级格式化(对于磁盘上的磁道划分等),而非操作系统的格式化;
- 平均寻址时间
- 平均寻址时间等于平均寻道时间与平均等待时间之和;
- 定位时间(寻道时间)
- 将磁头定位至所要求的磁道上所需的时间;
- 等待时间
- 寻道完成后,盘片将所要访问信息转到磁头下放的时间;
- 平均寻道时间
- 最大与最小寻道时间的平均值,约为10~20ms;
- 该时间的长短由硬磁盘的机械特性决定;
- 平均等待时间
- 与磁盘转速有关,是磁盘旋转一周时间的一半。
- 硬盘转速为7200转/分,故平均等待时间约为4ms。
- 定位时间(寻道时间)
- 平均寻址时间等于平均寻道时间与平均等待时间之和;
- 数据传输率
- 外部传输率
- 从硬盘内部的缓冲区中所读取数据的最高速率;
- 即微机系统总线与硬盘缓冲区之间的数据传输率;
- 也叫突发数据传输率、接口传输率;
- 该指标与硬盘接口类型、硬盘缓冲区大小有关。
- 从硬盘内部的缓冲区中所读取数据的最高速率;
- 内部传输率
- 从盘片上将数据读取到硬盘内部缓冲区的速度;
- 衡量硬盘读写性能的决定性因素;
- 设磁盘旋转速度为每秒n转,磁道容量为N个字节
- 数据传输率Dr=n X N(字节/秒)
- 外部传输率
5.光盘和磁光盘存储设备 --了解
6.显示设备 --理解
- 输入设备和打印设备 --理解
第八章
输入输出系统
外围设备的速度分级与信息交换方式 --了解
CPU与外设之间的信息交换方式
1.输入输出操作的一般过程
输入过程:
- CPU把一个地址值放在地址总线上,这一步将选择某一输入设备;
- CPU等候输入设备的数据成为有效;
- CPU从数据总线读入数据,并放在一个相应的寄存器中。
输出过程:
- CPU把一个地址值放在地址总线上,选择输出设备;
- CPU把数据表放在数据总线上;
- 输出设备认为数据有效,从而把数据取走。
外围设备的速度分级
根据外设的工作速度,CPU与外设的定时方式有以下3种:
- 速度极慢或者简单的外围设备 如:机械开关、发光二极管
- CPU直接接收或发送数据。
- 慢速或中速的外围设备 如:键盘、显示器
- 采用异步定时方式,或称为应答式数据交换;
- CPU与外设之间通过两个相互的联络信号来决定开始数据传送的时间。(两个相互的联络信号指询问信号和应答信号)
- 高速的外围设备 如:主存、辅存
- 采用同步定时方式;
- CPU以等间隔的速率执行输入/输出指令。(速率由时钟脉冲控制)
2.信息交换方式
- 程序查询方式 --早期计算机中使用的一种方式,效率低。
- 程序中断方式 --适用于随机出现的服务。
- 直接内存访问(DMA)方式 --适用于内存和高速外围设备之间大批数据交换的场合。
- 通道方式 --增加一个具有特殊功能的处理器-通道,将CPU的输入输出权利下放。
- 外围处理机方式(PPU) --是通道方式的进一步发展。
直接内存(DMA)方式
(存储器与外设之间数据交换时使用)
- 工作过程
- CPU分配总线使用权之后,在硬件DMA控制器(DMAC)的控制下完成存储器与高速外设直接的大量数据的传送。
- 硬件要求
- 需要相应的DMA控制器及数据通路,电路结构复杂,硬件开销大。
- 特点
- 数据传送不需要经过CPU,直接有硬件控制;
- 外设与存储器之间的数据传送量大。
- 使用场合
- 包含有高速外设的系统中。
通道方式
- 工作过程
- CPU将IO控制的权利下放给通道,由通道统一管理所有的输入输出操作。
- 硬件要求
- 需要IO通道(也称IO处理器,IOP);
- 通道是一个具有特殊功能的处理器。
- 特点
- 硬件代价较高;
- IO传送的效率高,并且减轻了CPU的工作负担。
- 适用场合
- 高性能要求的系统中。
程序查询方式 --理解
数据的输入输出完全由程序控制
- 工作过程
- CPU传送数据之前先检查外设的状态,若没有准备好,则继续查询等待,直至外设就绪即进行数据传送。
- 硬件要求
- 只需接口电路的状态、数据口,不需要增加其他控制电路。
- 特点
- CPU主动查询,程序控制数据传送过程,简单易行。
- 每次查询之后只能传送一个字或一个字节的数据,数据传送率不高,CPU时间浪费较多。
- 适用场合
- CPU不太忙且对传送速度不高的系统。
- CPU不太忙且对传送速度不高的系统。
考点:500*200/50M
主频50MHz就是一秒内有50M个时钟周期
程序中断方式 --掌握
1.中断的基本概念
定义:
中断是指CPU正常运行程序时,由系统内/外部非预期事件或程序中预先安排好的指令性事件引起的,CPU暂停当前程序的执行,转去为该事件服务的程序中执行,服务完毕后,再返回源程序继续执行的过程。
注意:
- 中断是一个CPU执行程序的变化过程;
- 所有能引起中断的事件均称为中断源;
- 处理中断事件的中断服务程序是预先设置好的;
- 结束中断返回原程序时,要以原状态返回暂停处继续执行。
有关中断
- 为什么要使用中断?
- 解决速度问题,使CPU和I/O并行工作;
- 对意外情况(如磁盘损坏、运算溢出等)能够及时处理;
- 在实时控制领域中,及时响应外来信号的请求。
- 中断系统需要解决的问题
- 各中断源如何向CPU发出请求,CPU如何检测中断请求,在什么条件、什么时候、以什么方式响应中断?
- CPU在中断处理时,如何保护/恢复现场?
- 当有多个中断源请求时,CPU如何确定优先级,如何处理多重中断?
- 整个中断过程应该由哪些部件配合完成?
CPU的中断处理流程
- 中断请求
- CPU在结束一个指令周期后,检测中断请求信号;
- 中断响应
- 关中断; 由硬件自动完成
- 保护断点现场; 由硬件完成
- 判断中断源,获取中断向量;
- 根据中断向量转入中断服务程序执行;
- 中断服务
- 保护CPU现场; 对CPU内部寄存器的保护与恢复
- 执行中断服务程序;
- 开中断; 由软件完成
- 恢复CPU现场
- 中断返回
- 恢复断点现场,返回主程序继续执行。
中断向量:
- 中断服务程序的入口地址,包括段地址和段内偏移地址,共4个字节的内容;
- CPU相应中断时,将中断源对应的中断向量送入CS:IP寄存器中,以跟踪中断服务程序的执行。
中断向量表:
- 集中存放系统中所有中断向量的存储区。
- 8086PC机中,将存储器物理地址为0~3FFH的1024个单元作为中断向量表,每个向量占用4个字节,可容纳256个中断向量。
中断类型号
每个中断向量在中断向量表中的序号,值为0-255。
中断向量地址
中断向量地址:存储中断向量的存储单元地址,中断服务例行程序入口地址的指示器。
中断类型号与中断向量
中断类型号(n)x 4 = 中断向量在表中的偏移地址
如: n=8,则应从向量表20H~23H中取出中断向量
2.程序中断方式的基本IO接口
接口内部组成
- 数据缓冲寄存器;
- 就绪触发器RD、忙状态触发器BS、允许中断触发器EI;
- 中断向量产生逻辑;
CPU的相应部件
- 中断请求触发器IR、中断屏蔽触发器IM;
程序中断的数据传送过程
CPU启动外设
→ 外设准备就绪后,向CPU请求中断
→ CPU响应中断,执行中断服务程序完成数据传送
→ 传送完成,接口复位状态标志
程序中断方式数据传送过程
1.CPU向接口发送控制命令,使忙状态置位,就绪状态复位;
2.接口向外设发送启动信号,外设开始准备数据;
3.外设将准备好的数据送入接口;
4.数据传送完成,外设向接口发回结束信号,使就绪状态置位;
5.若接口允许触发器有效,则产生中断请求,提交给CPU;
6.CPU执行完成一条指令,检测中断请求信号;
7.若CPU允许该中断响应,则发回响应信号中断响应期间,同时硬件自动关中断;
8.接口向CPU提供中断向量;
9.CPU执行中断服务程序,将数据读入;
10.中断返回后,接口内部的就绪状态、忙状态复位。
中断处理的策略
根据计算机系统对中断处理的策略不同,可分为:
- 单级中断系统
所有的中断源都属于同一个级别,不允许有中断嵌套。 - 多级中断系统
中断源分为不同的级别,可以发生中断嵌套,高优先权的中断请求可以打断优先权的中断服务。
实现方法
- 进入中断服务时的中断屏蔽设置。
3.单级中断
所有的中断源都属于同一个级别,不允许有中断嵌套。
中断向量的产生
- 向量中断
- 由硬件直接产生一个与该中断源对应的中断向量;
- 特点:速度快,但灵活性不好;
- 在硬件设计时考虑所有中断源的向量地址。
- 位移量中断
- 由硬件直接产生一个位移量;
- 该位移量加上某个基地址,得到中断处理程序的入口地址。
- 向量地址转移
- 由硬件直接产生一个该中断源对应的固定向量地址;
- 该地址指向单元中存放一条转移指令,由该指令转入中断服务程序。
4.多级中断
- 当CPU正在执行某个中断服务程序时,另一个中断源又提出了新的中断请求,而CPU再次响应这一新的请求;
- 暂停当前的中断服务程序,转去执行新的中断服务程序。
- 多级中断中需要进行优先权的控制和判断。
一维多级中断结构
- 一维多级中断结构
- 每级仅有一个中断源。
- 中断屏幕触发器IM
- 可决定对应级别的中断源是否能够被响应。
- 当某中断源请求被响应时
- 设置同级和低级中断源的IM=1,不能嵌套;
- 设置高级中断源的IM=0,可以嵌套。
二维多级中断结构
- 二维多级中断结构
- 每级包含多个中断源;
- 同级中断源不能嵌套;
- 若设备E、F、H同时请求;
- 先响应设备E
- 此时,若设备D请求中断;
- 不响应设备D;
- 若设备B请求中断;
- 则暂停设备E的中断服务,嵌套响应设备B。
- 则暂停设备E的中断服务,嵌套响应设备B。
中断请求/屏蔽寄存器
- 每一级中断源,中断管理系统中都会有一个对应中断请求触发器和中断屏蔽触发器,用于管理当前该中断源的状态;
- 中断请求触发器:1-有请求;0-无请求;
- 中断屏蔽触发器:1-被屏蔽;0-未被屏蔽;
- 若系统中共有n级中断,则有两个n位中断请求寄存器和中断屏蔽寄存器;
- CPU响应中断时,系统需要先进行优先权控制,实现正常的中断嵌套;
- 置“1”(关闭)本级和低级的中断屏蔽触发器;
- 清“0”(开放)更高级别的中断屏蔽触发器。
- CPU响应中断时,系统需要先进行优先权控制,实现正常的中断嵌套;
多级中断的中断屏蔽技术
- 关中断
- 即使存在中断请求,CPU也不会响应;
- CPU关中断的条件:置IF=0(STI指令实现)
- 仅对可屏蔽中断源而言;
- 即使存在中断请求,CPU也不会响应;
- 中断屏蔽
- 用程序方式有选择地封锁某些中断源,而允许另一些中断源响应。
- 实现多级中断的条件
- 提前设置“开中断”指令。
- 优先级高的中断请求有权中断优先级低的中断服务。(由屏蔽字决定是否有权中断)
- 中断屏蔽的实现方法:
- 设优先级从高到低依次为:7、6、5、4、3、2、1、0;
- 则响应第3级中断时
中断屏蔽字设为:00001111
- 改变优先级的方法:修改屏蔽字
- 欲使第2级中断的优先权高于第3级;
- 则可设置第3级中的屏蔽字设为:00001011
第2级中的屏蔽字设为:00001111
5.中断控制器
6.Pentium中断机制
- 中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是程序状态字寄存器
DMA方式 --掌握
(直接内存访问)
DMA的基本概念
1.DMA传送方式的特点
- DMA(直接内存访问)方式
- 完全由硬件(DMA控制器,DMAC)控制的数据传送;
- DMAC取代CPU,接管系统总线的使用权,负责DMA传送的全过程;
- 主存和外设之间直接利用系统总线传输数据,所交换的数据不经过CPU。
- DMA特点
- 以增加硬件的复杂性和成本为代价来提高数据传送效率的;
- 速度快,但硬件复杂程度高。
- 适用场合
- 适用于需要高速大批量数据传送的系统中。
2.DMA传送的实质
- DMAC对数据传送的控制是建立在掌握系统总线的使用权基础上的。
- 正常工作下,系统总线的使用权归CPU所有;
- DMAC要控制DMA传送,必须要从CPU得到总线使用权。
3.DMA控制器的两种状态
- 被动态
- 当DMAC没有获取总控制权时,DMAC和系统中其他设备一样,也要接受CPU对它的控制,是系统的受控制着。
- 被动态下,CPU对DMAC的操作:
- 在DMAC传送之前,CPU要对DMAC进行初始化编程;
- 在DMAC传送之后,CPU要读取DMAC的状态。
- 主动态
- 在DMA传送期间,DMAC取代CPU,获得系统总线的使用权,成为系统的主控者,使用系统总线控制存储器、外设之间的数据传送。
4.DMA传送过程
- 总线申请阶段
- DMA传送之前,DMAC向CPU申请总线使用权;
- 总线响应阶段
- 总线建立阶段-CPU将总线使用权转让给DMAC;
- 数据传送阶段
- DMAC利用系统总线控制数据传送;
- 传送结束阶段
- DMA传送结束,DMAC归还系统总线使用权。
- 总线申请阶段
- 申请第一步
- 外设向DMAC申请DMA服务;
- 需要DMA传送的外部设备向DMAC发出DMA请求信号;
- 申请第二步
- DMAC向CPU申请总线使用权;
- 若DMAC允许该请求,则·向CPU发出总线保持请求信号HOLD,申请总线的使用权。
- 申请第一步
- 总线响应阶段
- 总线申请的响应时间
- CPU在每个总线周期结束时检测HOLD引脚状态;
- 总线申请的响应条件
- 总线锁定信号LOCK#无效;
- 中断响应周期内,LOCK#信号有效,不允许转让总线;
- 当CPU检测到有总线请求信号,且允许响应时,CPU进入总线保持状态;
- CPU一侧的总线浮空;
- 向DMAC发回总线保持响应信号HLDA;
- DMAC收到HLDA信号,占用总线,准备DMA传送。
- 总线申请的响应时间
- 数据传送阶段
- DMAC寻址DMA传送的设备
- 通知外设
DMAC通过发回响应信号通知外设; - 启动存储器
DMAC使用系统总线,向存储器发出地址及控制信号;
- 通知外设
- 开始数据传送
- DMAC按照初始化所确定的工作方式,利用系统总线,控制外设与存储器之间的数据传送。
初始化DMAC时,应指定所要传送的数据块的位置和大小; - 每个数据的传送使用一个总线周期;
- DMAC按照初始化所确定的工作方式,利用系统总线,控制外设与存储器之间的数据传送。
- DMAC寻址DMA传送的设备
- 传送结束阶段
- 传送结束控制由DMAC完成;
- DMAC只传送初始化设定的字节数;
- 数据块传送完毕后
- DMAC产生过程结束信号EOP#,发送至外设;
- 外设收到此信号,撤销向DMAC的请求;
- DMAC撤销发给CPU的总线保持请求信号;
- CPU发回DMAC的总线保持响应信号相继无效;
- DMAc释放总线,CPU重新恢复对总线的控制权。
- 传送结束控制由DMAC完成;
DMA方式和中断控制方式的区别
- 数据传送的实现方式
- 中断-程序传送;DMA-硬件实现;
- CPU响应请求的时间
- 中断-一个指令周期结束;DMA-一个总线周期结束;
- 请求的目的
- 中断-CPU的服务;DMA-总线的使用权;
- 是否需要保护现场
- 中断-需要;DMA-不需要(CPU不参与数据传送);
- 对于不需要访存的现行程序的影响
- 中断-延迟现行程序的执行;DMA-无影响。
- DMA的优先权高于中断的优先权。
DMA传送方式
- DMA传送时,CPU不能使用总线,会影响CPU的工作效率;
- 当CPU需要访存,或者访问外设时,程序会阻塞;
- 可是DMAC与CPU分时复用总线;
- 常用DMA传送方式
- 停止CPU访问方式(连续方式)
- 早期使用的一种方式;
- 周期挪用方式(单字节方式)【每次挪用的一个总线周期,对于DMAC来说需要2-5个周期,用于总线控制权的申请、建立和归还。】
- 适用于外设读写周期大于主存的存取周期的系统中;
- DMA与CPU交替访问方式(透明DMA方式)
- 适用于CPU周期大于主存存取周期的系统中。
- 停止CPU访问方式(连续方式)
停止CPU访问方式
- 工作过程
- DMA传送期间,由DMAC长期占用总线,CPU不能访存,只有DMA传送结束时才将总线归还给CPU使用;
- 特点
- 控制简单,适用于高速外设的数据承租传送;
- DMA期间,CPU不能访存,影响其工作效率。
周期挪用方式
- 工作过程
- 每次DMA传送,都是通过外设挪用一个或几个主存周期,分别完成数据的成块传送。
- 特点:
- 主存使用效率较高,常用:
- CPU和外设访存冲突时,外设优先访问。
- 每次DMA传送需要重新申请、建立、归还总线。
- 主存使用效率较高,常用:
DMA与CPU交替访存方式
- 工作过程
- 将CPU的工作周期一分为二,分别用于DMA和CPU访存;
- 特点:
- 对主存的访问时间不会冲突,也不需要总线控制权的申请建立和归还过程;
- 透明DMA方式
- DMA传送不影响CPU的工作。
- DMA传送不影响CPU的工作。
DMA控制器
- DMAC的工作:
- 接受外设的DMA请求,并提交给CPU;
- 接管总线的控制权,控制主存和外设之间的数据传送;
- 完成数据传送后,交换总线的使用权。
DMAC的组成部件
- 地址寄存器和字节计数器
- 初始化时,写入初始值,用于DMA传送时,发出访存地址,控制DMA传送的长度;
- 数据暂存器
- 外设与主存交换数据时,直接通过数据总线传送;
- 主存与主存交换数据时,需要将数据在DMAC内部中转;
- DMA请求标志
- 记录DMA传送外设的请求信号;
- DMA传送终止机制
- 控制DMA传送结束时的完成信号EOP的产生。
- 由字节计数器的结束产生信号。
- 控制DMA传送结束时的完成信号EOP的产生。
DMAC的地址寄存器和字节计数器
- DMA传送本质
- 成块数据的传送是经过N个周期完成的;
- 每个数据的传送需要1个总线周期;
- 程序查询、中断方式中,每个数据需要N个指令周期;
- DMAC内部寄存器
- 地址寄存器
- 存放在DMA传送期间,所要发出的主存地址;
- 初始化时,写入初值,DMA传送过程中可以自动更改其值;
- 字节计数器
- 存放该DMA传送的总的字节数;
- 初始化时,写入初值,DMA传送过程可自动更改其值;
- 一般采用减法技术的方法。
- 地址寄存器
主存之间的DMA传送
- 主存与外设DMA传送
- DMAC通过系统总线中的地址总线发出地址,选中主存;
- DMAC通过与外设之间的请求和应答信号联络,选中外设;
- 主存之间的DMA传送
- DMAC在传送一个数据时,需发出两个主存地址,因此需要两个总线周期周期;
- 第一个总线周期
- 将数据从源数据区送往DMAC中的暂存器;
- 第二个总线周期
- 将数据从DMAC送往目的数据区;
DMAC的类型
- 选择型DMAC
- 特点
- 物理上,可以连接多个设备;
- 逻辑上,只允许连接一个设备;
- 选择型DMAC相当于一个逻辑开关;
- 只增加少量硬件,可实现为多个设备服务的目的;
- 适用于数据传输率很高的设备。
- 特点
- 多路型DMAC
- 特点
- 物理上,可以连接多个设备;
- 逻辑上,也允许多个设备同时工作;
- 各设备以字节交叉方式进行数据传送;
- DMAC内部需要多组寄存器;
- 设备对DMAC的请求可采用链式,或独立请求方式。
- 特点
通道方式 --了解
通道的功能
- 通道的功能
- 执行通道指令、组织外围设备和内存进行数据传输;
- 按I/O指令要求启动外围设备,向CPU报告中断。
- CPU对通道的管理
- CPU通过执行I/O指令控制通道的数据传送;
- CPU处理来自通道的中断,实现对通道的管理;
- 一种是数据传送结束中断;一种是故障中断。
- 通道对设备控制器的管理
- 通道使用通道指令控制I/O模块进行数据传送操作;
- 通道接收通道状态字了解外设的状态。
通道类型
通道的类型
- 选择通道 (高速通道)
- 物理上可以连接多个设备,但这些设备不能同时工作;
- 某一断时间内通道只能选择一个设备进行工作。
- 物理上可以连接多个设备,但这些设备不能同时工作;
- 多路通道 多路转换通路
- 同一时间能处理多个I/O设备的数据传输。
- 多路通道的类型
- 数组多路通道 连接高速设备
利用设备寻址的空隙为其他设备服务; - 字节多路通道 连接低速设备
利用设备数据传送字节之间的空隙为其他设备服务。
- 数组多路通道 连接高速设备
通道结构的发展
- 通道结构的I/O处理器
- 输入输出处理器(IOP)
- IOP可以和CPU并行工作,它是主机的一个部件。
- 外围处理机(PPU)
- PPU独立于主机工作的。
通用I/O接口 --了解
- 并行I/O标准接口SCSI(小型计算机系统接口)
- 设计思想来源IBM大型机系统的I/O通道结构;
- 目的是使CPU摆脱对各种设备的繁杂控制。
- 它是一个高速智能接口,可以混接各种磁盘、光盘等设备。
- 高速串行I/O标准接口IEEE 1394
- 苹果公司开发的高速串行I/O标准接口;
- 具有数据传送速度高、’实时性好、连接方便等特点。
- 1394接口在家电等消费类设备的连接应用方面有很好的前景。