文章目录
-
- 前言
- 一、概述
-
- 1.计算机系统概述
- 2.计算机应用开发
- 二、计算机系统的硬件结构
-
- 3、系统总线
- 4、存储器
- 5.输入输出系统
前言
如果计算机被视为一台由许多独立部件组成的机器,其功能可以用其他部件的功能来描述,而每个独立部件可以用更详细的内部结构和功能来进一步描述。为此,全文由四个层次和四章组成。这里只介绍前两个层次。
一、概述
1.计算机系统概述
-
讨论分为以下三部分:
-
硬件:指计算机的实体部分。 软件:由具有各种特殊功能的程序组成。又分为系统软件和应用软件:
- 系统软件:又称系统程序,主要用于管理整个计算机系统,监控服务,使系统资源得到合理高效运行。
- 应用软件:又称应用程序,是用户根据任务需要编制的各种程序。 ?
-
-
计算机休系结构指程序员能看到的计算机系统的属性,即概念结构和功能特性。计算机系统的属性通常是指程序员用机器语言编程所看到的传统机器的属性。 计算机组成它指的是如何实现计算机系统结构所反映的属性,它包含了许多对程序员透明的硬件细节。
-
-
讨论分为以下三部分:
-
①计算机由运算器和存储器组成﹑控制器﹑输入设备和输出设备由五个部件组成。 ②指令和数据存储在同一位置的存储器中,并可根据地址进行搜索。 ③二进制数表示指令和数据。 ④该指令由操作码和地址码组成,用于表示操作性质,用于表示存储器中操作数的位置。 ⑤指令按顺序存储在存储器中。 ⑥机器以运算器为中心,通过运算器传输输输出设备和存储器之间的数据。
-
①操作员用于完成算术操作和逻辑操作,并将操作的中间结果暂时存储在操作员中。 ②存储器用于存储数据和程序。 ③控制器用于控制﹑指挥程序和数据的输人、运行以及处理运算结果。 ④输入设备将熟悉的信息形式转换为机器能够识别的信息形式。 ⑤输出设备可以将机器的操作结果转换为熟悉的信息形式。
-
- 主存储器 主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写人),取(读出)。这种存取方式称为按地址存取方式,即按地址访问存储器(简称访存)。 为了能实现按地址访问的方式,主存中还必须配置两个寄存器MAR和MDR。MAR是存储器地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数(如MAR为10 位,则有210=1024个存储单元,记为1K)。MDR 是存储器数据寄存器,用来存放从存储体某单元取出的代码或者准备往某存储单元存人的代码,其位数与j存储字长相等。
- 运算器 运算器最少包括3个寄存器和一个算术逻辑单元(ALU)。其中ACC为累加器,MQ为乘商寄存器,X为操作数寄存器。
- 控制器 控制器是计算机的神经中枢,由它指挥各部件自动,协调地工作。 具体而言,它首先要命令存储器读出一条指令,称为
取指过程
(也称取指阶段)。接着,它要对这条指令进行分析,指出该指令要完成什么样的操作,并按寻址特征指明操作数的地址,称为分析过程
(也称分析阶段)。最后根据操作数所在的地址以及指令的操作码完成某种操作,称为执行过程
(也称执行阶段)。 控制器由程序计数器PC
、指令寄存器IR
以及控制单元CU
组成。- PC用来存放当前欲执行指令的地址。它与主存的MAR之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址。
- IR用来存放当前的指令,IR的内容来自主存的MDR。
- CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。
- I/O I/O子系统包括各种IO设备及其相应的接口。每一种I/O设备都由I/O接口与主机联系,它接收CU发出的各种控制命令,并完成相应的操作。
-
-
分为以下三个部分论述:
-
机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。字长越长,数的表示范闱越大,精度也越高。机器的字长也会影响机器的运算速度。
-
存储器的容量应该包括主存容量和辅存容量。主存容量是指主存中存放二进制代码的总位数。即
存储容量=存储单元个数×存储字长
MAR的位数反映了存储单元的个数,MDR的位数反映了存储字长。
-
现在机器的运算速度普遍采用单位时间内执行指令的平均条数来衡量,并用MIPS(百万条指令每秒)作为计量单位。
-
2、计算机应用发展
- 分为以下三个部分论述:
- 计算机的应用范围已经渗透到了各个领域。如科学技术和数据处理、工业控制和实时控制、网络技术、虚拟现实等等。
- 略
二、计算机系统的硬件构造
3、系统总线
- 计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为 分散连接;另一种是将各部件连到一组公共信息传输线上,称为 总线连接。
-
按数据传送方式可分为
并行传输总线
和串行传输总线
。若按总线的使用范围划分,则又有计算机总线、测挖总线、网络通信总线等。下面按连接部件不同,介绍三类总线。-
片内总线是指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间,寄存器与算逻单元ALU之间都由片内总线连接。
-
系统总线是指CPU、主存、I/O设备各大部件之间的信息传输线。按系统总线传输信息的不同,又可分为三类
-
数据总线 数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。数据总线的位数称为数据总线宽度,它是衡量系统性能的一个重要参数。
如果数据总线的宽度为8位,指令字长为16位,那么CPU在取指阶段必须两次访问主存。
-
地址总线 地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/О设备的地址。
地址线的位数与存储单元的个数有关,如地址线为20根,则对应的存储单元个数为220。
-
控制总线 由于数据总线、地址总线都足被挂在总线上的所有部件共享的,如何使各部件能在不同时刻占有总线使用权,需依靠控制总线来完成,因此控制总线是用来发出各种控制信号的传输线。通常对任一控制线而言,它的传输是单向的。
-
-
这类总线用于计算机系统之问或计算机系统与其他系统之间的通信。按传输方式可分为两种
- 串行通信 是指数据在单条1位宽的传输线上,一位一位地按顺序分时传送。如1字节的数据,在串行传送中,1字节的数据要通过一条传输线分8次由低位到高位按顺序逐位传送。
- 并行通信 是指数据在多条并行1位宽的传输线.上,同时由源传送到目的地。如1字节的数据,在并行传送中,要通过8条并行传输线同时由源传送到目的地。
-
-
分为两个部分论述:
- 包括机械特性、电器特性、功能特性、时间特性。
-
-
总线宽度 通常是指数据总线的根数,用bit(位)表示,如8位、16位、32位、64位(即8根,16根、32根、64根)。
-
总线带宽 总线的数据传输速率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位可用MBps(兆字节每秒)表示。
总线工作频率为33MHz,总线宽度为32位( 4 B),则总线带宽为33 x (32÷8)= 132 MBps。
-
时钟同步/异步 总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线。
-
总线复用 一条信号线上分时传送两种信号。
-
信号线数 地址总线﹑数据总线和控制总线三种总线数的总和。
-
总线控制方式
-
其他
-
-
所谓总线标准,可视为系统与各模块、模块与模块之间的一个互连的标准界面。
这个界面对它两端的模块都是透明的,即界面的任一方只需根据总线标准的要求完成自身一方接口的功能要求,而无须了解对方接口与总线的连接要求。因此,按总线标准设计的接口可视为通用接口。目前主流的总线标准有ISA、EISA、VESA、PCI、AGP、RS-232C、USB。
-
总线结构分为两种:
- 它是将CPU、主存、I/O设备都挂在一组总线上,允许I/O设备之间,I/O设备与CPU之间或I/О设备与主存之间直接交换信息。
- 双总线结构的特点是将速度较低的I/О设备从单总线上分离出来,形成主存总线与I/O总线分开的结构。还有三总线结构、四总线结构等等。
-
它主要包括判优控制(或称仲裁逻辑)和通信控制:
-
总线上所连接的各类设备,按其对总线有无控制功能可分为主设备和从设备。
主设备对总线有控制权,从设备只能响应从主设备发来的总线命令,对总线没有控制权。
某个主设备欲与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,就由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。
总线判优控制可分为两种:
-
集中式:将控制逻辑集中在一处,仲裁方式分为三种:
- 链式查询 这种方式的特点是:只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,似对电路故障很敏感,且优光级别低的设备可能很难获得请求。
- 计数器定时查询 总线控制部件接到由BR送来的总线请求信号后,在总线未被使用(BS=0)的情况下,总线控制部件中的计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。这种方式对电路故障不如链式查询方式敏感,但增加了控制线(设备地址)数,控制也较复杂。
- 独立请求查询 这种方式的特点是:响应速度快,优先次序控制灵活,似控制线数量多,总线控制更复杂。
-
分布式:将控制逻辑分散在与总线连接的各个部件或设备上.
-
-
完成一次总线操作的时间叫做总线周期,分为四个阶段:申请分配阶段、寻址阶段、传数阶段、结束阶段。 总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。通常用四种方式:
-
同步通信 通信双方由统一时标控制数据传送称为同步通信。时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以山每个部件各自的时序发生器发出,但必须出总线控制部件发出的时钟信号对它们进行同步。
这种通信的优点是规定明确、统一,模块间的配合简单一致。其缺点是主、从模块时间配合属于强制性“同步”,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成,对各不相同速度的部件而言,必须按最慢速度的部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。
同步通信一般用于总线长度较短、各部件存取时问比较一致的场合。
-
异步通信 异步通信克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。它没有公共的时钟标准,不要求所有部件严格的统―操作时间,而是采用应答方式(又称握手方式),即当主模块发出请求信号时,一直等待从模块反馈回来“响应”信号后,才开始通信。当然,这就要求主、从模块之问增加两条应答线。 异步通信的应答方式又可分为不互锁、半互锁和全互锁三种类型
-
不互锁 主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号;从模块接到请求信号后,在条代允许时发出回答信号,并且经过一段时间确认主模块已收到回答信号后,自动撤销回答信号。
-
半互锁 主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号,有互锁关系;而从模块在接到请求信号后发出回答信号,但不必等待获知主模块的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号,无互锁关系。由于一方存在互锁关系,一方不存在互锁关系,故称半互锁方式。
-
全互锁 主模块发出请求信号,必须待从模块回答后再撤销其请求信号;从模块发出回答信号,必须待获知主模块请求信号已撤销后,再撤销其回答信号。双方存在互锁关系,故称为全互锁方式。
-
异步通信可用于并行传送或串行传送。为了确认被传送的字符,约定字符格式为:1个起始位(低电平)、5~8个数据位(如ASCT码为7位)、1个奇偶校验位(作检错用)、1或1.5或2个终止位(高电平)。传送时起始位后面紧跟的是要传送字符的最低位,每个字符的结束是一个高电平的终止位。起始位至终止位构成一帧,两帧之间的问隔可以是任意长度的。
异步串行通信的数据传送速率用波特率来衡量。波特率是指单位时间内传送二进制数据的位数,单位用bps(位/秒)表示,记作波特。
-
半同步通信 半同步通信既保留了同步通信的基本特点,同时又像异步通信那样,允许不同速度的模块和谐地工作。为此增设了一条“等待"( WAIT ‾ \overline{\text{WAIT}} WAIT)响应信号线,采用插人时钟(等待)周期的措施来协调通信双方的配合问题。
-
分离式通信
-
-
4、存储器
存储器是计算机系统中的记忆设备,用来存放程序和数据。
-
分为以下两个部分论述:
-
- 按存储介质分类
- 按存取方式分类
- 按在计算机的作用分类
-
存储系统的层次结构主要体现在缓存-主存和主存-辅存两个存储层次上。 缓存–主存层次主要解决CPU和主存速度不匹配的问题。由于缓存的速度比主存的速度高,只要将CPU近期要用的信息调入缓存,CPU使可以直接从缓存中获取信息,从而提高访存速度。但由于缓存的容量小,因此需不断地将主存的内容调入缓存,使缓存中原来的信息被懦换掉。主存和缓存之问的数据调动是由硬件自动完成的,对程序员是透明的。 主存–辅存层次主要解决存储系统的容量问题。辅存的速度比主存的速度低,而且不能和CPU直接交换信息,但它的容量比主存大得多,可以存放大量暂时未用到的信息。当CPU需要用到这些信息时,再将辅存的内容调人主存,供CPU直接访问。主存和辅存之间的数据调动是由硬件和操作系统共同完成的。
-
-
分为以下七个部分论述:
-
- 主存中存储单元地址的分配 主存各存储单元的空间位置是山单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。
- 主存的技术指标
- 存储容量:= 存储单元个数 * 存储字长
- 存储速度:由存储时间和存储周期决定
- 存储器带宽:字/秒或位/秒
- 存储芯片通过地址总线,数据总线和控制总线与外部连接。
地址线是单向输入的,其位数与芯片容量有关。
数据线是双向的,其位数与芯片可读出或写入的数据位数、芯片容量有关。
地址线和数据线的位数共同反映存储芯片的容量。 半导体存储芯片的译码驱动方式有两种:线选法和重合法。 -
- 静态RAM
- 动态RAM
-
- 掩膜ROM
- PROM
- EPROM
-
- 存储容量的扩展
- 位扩展
- 字扩展
- 字、位扩展
- 存储器与CPU的连接
- 地址线的连接
- 数据线的连接
- 读/写命令线的连接
- 片选线的连接
- 存储容量的扩展
-
- 汉明码的组成 n 位二进制代码 + k 位标志位,且2k>=n+k+1
- 汉明码的纠错
-
- 单体多字系统
- 多体并行系统
- 顺序存储(高位交叉编址) 高位地址表示体号,低位地址表示体内地址。
- 交叉存储(低位交叉编址 | 模M编址) 低位地址表示体号,高位地址表示体内地址。
-
-
分为三个部分论述:
-
-
问题的提出 在多体并行存储系统中,由于I/O设备向主存请求的级别高于CPU访存,这就出现了CPU等待IО设备访存的现象,致使CPU空等一段时间,甚至可能等待几个主存周期,从而降低了CPU 的工作效率。为了避免CPU与I/0设备争抢访存,可在CPU与主存之间加一级缓存,这样,主存可将CPU要取的信息提前送至缓存,一旦主存在与I/O设备交换时,CPU可直接从缓存中读取所需信息,不必空等而影响效率。
-
Cache的工作原理 任何时刻都有一些主存块处在缓存块中。CPU欲读取主存某字时,有两种可能:一种是所需要的字已在缓存中,即可直接访问Cache;另一种是所需的字不在Cache内,此时需将该字所在的主存整个字块一次调入Cache 中。如果主存块已调人缓存块,则称该主存块与缓存块建立了对应关系。 上述第一种情况为CPU访问Cache 命中,第二种情况为CPU访问Cachie不命中。Cache的容量与块长是影响Cache效率的重要因素,通常用“命中率"来衡量Cache的效率。
命中率是指CPU要访间的信息已在Cache 内的比率。
在一个程序执行期间,设Nc为访问Cache的总命中次数,Nm为访问主存的总次数,则命中率h为:h=Nc /(Nc+Nm)
设tc为命中时的Cache访问时间,tm为未命中时的主存访问时间,1 - h表示未命中率,则Cache -主存系统的平均访问时问ta为:ta=h * tc+(1 - h)tm
当然,以较小的硬件代价使Cache-主存系统的平均访问时间ta越接近于tc越好。用e表示访问效率,则有:e = tc / ta。为提高访问效率,命中率h越接近1越好。
性能提高、速度提高:(tm / ta) -1
-
基本结构
-
-
由主存地址映射到Cache地址猕为地址映射。
地址映射方式很多,包括:- 有直接映射(固定的映射关系)
- 全相联映射(灵活性大的映射关系)
- 组相联映射(上述两种映射的折中)
-
当新的主存块需要调入Cacbe并且它的可用空间位置又被占满时,需要替换掉Cache的数据,这就产生了替换策略问题。在直接映射的Cache中,由于某个主存块只与一个Cache字块有映射关系,囚此替换策略很简单。而在组相联和全相联映射的Cache中,主存块可以写入Cache 中若干位置,这就有一个选择替换掉哪一个Cache字块的问题,即所谓替换算法问题。常用的有:
- 先进先出法
- 近期最少使用法
- 随机法
-
-
分为以下四个部分论述:
- 辅助存储器作为主存的后援设备又称为外部存储器,简称外存,它与主存一起组成了存储器系统的主存–辅存层次。 广泛运用的是磁表面存储器,主要技术指标有:记录密度、存储容量、平均寻址时间、数据传输率 、误码率。
- 略
- 略
- 略
5、输入输出系统
-
分为以下四个部分论述:
-
- 早期阶段
- 接口模块和DMA阶段
- 具有通道结构的阶段
- 具有I/O处理机的阶段
-
- I/O软件:IO指令和通道指令
- I/O硬件
-
- I/O设备编制方式:统一编制和非统一编制
- 设备寻址
- 传送方式:并行和串行
- 联络方式:立即响应方式、异步工作采用应答信号联络、同步工作采用同步时标联络
- I/O设备与主机的连接方式:辐射式和总线式
-
- 程序查询方式 由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。
- 程序中断方式 CPU在启动I/O设备后,不查询设备是否已准备好,继续执行本身程序,只是当I/O设备准备就绪并向CPU发出中断请求后才予以响应,这将大大提高CPU的工作效率。
- DMA方式 I/O设备能直接与主存交换信息而不占用CPU,那么CPU的资源利用率显然又可进一步提高。
- I/O通道方式
- I/O处理机方式
-
-
分为以下五个部分论述:
- I/O结构框图 IO设备大致可分为三类:
- 人机交互设备
- 计算机信息的存储设备
- 机 - 机交互通信设备
- 略
-
- 显示设备:以可见光的形式传递和处理信息的设备
- 打印设备
- 略
- 略
- I/O结构框图 IO设备大致可分为三类:
-
分为以下三个部分论述:
-
接口可以看做是两个系统或两个部件之间的交接部分,它既可以是两种硬设备之问的挨接电路,也可以是两个软件之问的共同逻辑边界。I/O接口通常是指主机与IO设备之问设置的一个硬件电路及其相应的软件控制。
值得注意的是,接口( Interface)和端口(Port)是两个不同的概念。端口是指接П电路中的一些寄存器,这些寄存器分别用来存放数据信息﹑控制信息和状态信息,相应的端口分别称为数据端口.控制端口和状态端口。若于个端口加上相应的控制逻辑才能组成接口。CPU通过输入指令,从端口读入信息,通过输出指令,可将信息写人到端口中。
-
-
总线连接方式的IO接口电路
( 1)数据线 数据线是IО设备与主机之间数撰代码的传送线,其根数一般等于存储字长的位数或字符的位数,它通常是双向的,也可以是单向的。 (2)设备选择线 设备选择线是用来传送设备码的,它的根数取决于I/O指令中设备码的位数。如果把设备码看做是地址号,那么设备选择线又可称为地址线。 (3)命令线 命令线主要用以传输CPU向设备发出的各种命令信号。它是一组单向总线,其根数与命令信号多少有关。 (4)状态线 状态线是将I/О设备的状态向主机报告的信号线,它也是一组单向总线。
-
接口的功能和组成
- 选址功能
- 传送命令的功能
- 传送数据的功能
- 反映I/O设备工作状态的功能
-
-
- 按数据传送方式分类:并行和串行
- 按功能选择的灵活性分类:可编程接口和不可编程接口
- 按通用性分类:通用接口和专用接口
- 按数据传送的控制方式分类:程序型接口和DMA型接口
-
-
分为以下两个部分论述:
-
程序查询流程
-
程序查询方式的接口电路 ①当CPU通过I/O指令启动输入设备时,指令的设备码字段通过地址线送至设备选择电路。 ②若该接口的设备码与地址线上的代码吻合,其输出SEL有效。 ③I/O指令的启动命令经过“与非”门将工作触发器B置“1”,将完成成触发器D置“O”。 ④由B触发器启动设备工作。 ⑤输入设备将数据送至数据缓冲寄存器。 ⑥由设备发设备工作结束信号,将D置“1”,B置“0”,表示外设准备就绪。 ⑦D触发器以“准备就绪”状态通知CPU,表示“数据缓冲满”。 ⑧CPU执行输人指令,将数据缓冲寄存器中的数据送至CPU的通用寄存器,再存入主存相关单元。
-
-
分为以下五个部分论述:
-
计算机在执行程序的过程中.当出现舁常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的闾断处,继续执行原程序,这就是“中断"。
-
在I/O设备与主机交换信息时,由于设备本身机电特性的影响,其工作速度较低,与CPU无法匹配,因此,CPU启动设备后,往往需要等待一段时间才能实现主机与EО设爷之间的信息交换。如果在设备准备的同时,CPU不作无谓的等待,面继续执行现行程序,只有当I/0设备准备就绪向CPU提出请求后,再暂时中断CPU现行程序转入I/O服务程序,这便产生了I/O中断。
-
-
中断请求触发器发INTR和中断屏蔽触发器MASK 接口电路中的完成触发器D、中断请求触发器lNTR、中断屏蔽触发器MASK和中断查询信号:仅当设备准备就绪(D = 1),且该设备未被屏蔽(MASK =0)时,CPU的中断查询信号可将中断请求触发器置"“1"(INTR = 1 )。
-
排队器 当多个中断源同时向CPU提出请求时,CPU只能按中断源的不同性质对其排队,给予不同等级的优先权,并按优先等级的高低予以响应。
-
中断向量地址形成部件 CPU一旦响应了IO中断,就要暂停现行程序,转去执行该设备的中断服务程序。不同的设备有不同的中断服务程序,每个服务程序都有一个入口地址,CPU必须找到这个入口地址。 入口地址的寻找也可用硬件或软件的方法来完成,这里只介绍硬件向量法。
所谓硬件向量法,就是通过向量地址来寻找设备的中断服务程序入口地址,而且向量地址是由硬件电路产生的。
中断向量地址和入口地址的区别: 向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。 中断向量地址和入口地址的联系: 中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。
-
程序中断方式接口电路的基本组成 略
-
-
- CPU响应中断的条件和时间 CPU响应I/O设备提出中断请求的条件是必须满足CPU中的允许中断触发器EINT为“1”。该触发器可用开中断指令置位(称为开中断);也可用关巾断指令或硬件自动使其复位(称为关中断)。 I/O设备准备就绪的时间(即 D=1 )是随机的,而CPU是在统一的时刻(每条指令执行阶段结束前)向接口发中断查询信号,以获取IⅣO的中断请求。因此,CPU响应中断的时间一定是在每条指令执行阶段的结束时刻。
- I/O中断处理过程 略
-
不同设备的服务程序是不相同的,一般中断服务程序的流程分四大部分:保护现场﹑中断服务、恢复现场和中断返回。
计算矶在处理中断的过程中,有可能出现新的中断请求,此时如果CPU暂停现行的中断服务程序,转去处理新的巾断请求,这种现象称为中断嵌套,或多重中断。倘若CPU在执行中断服务程序时,对新的中断请求不予理睬,这种中断称为单重中断。
-
-
分为以下四个部分论述:
-
由图中可见,由于主存和DMA 接口之间有一条数据通路,因此主存和设备交换信息时,不通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场,因此工作速度比程序中断方式的工作速度高。这一特点特别适合于高速I/O或辅存与主存之间的信息交换。因为高速I/О设备若每次申请与主机交换信息时,都要等待CPU做出中断响应后再进行,很可能因此使数据丢失。 值得注意的是,若出现高速I/O(通过DMA接口)和CPU同时访问主存,CPU必须将总线(如地址线﹑数据线)占有权让给DMA 接口使用,即 DMA采用周期窃取的方式占用一个存取周期。
在DMA方式中,由于DMA接口与CPU共享主存,这就有可能出现两者争用主存的冲突。为了有效地分时使用主存,通常DMA与主存交换数据时采用如下三种方法。
- 停止CPU访问主存 当外设要求传送一批数据时,由DMA接口向CPU发一个停止信号,要求CPU放弃地址线、数据线和有关控制线的使用权。DMA接口获得总线控制权后,开始进行数据传送,在数据传送结束后,DMA接口通知CPU可以使用主存,并把总线控制权交回给CPU 。
- 周期挪用(或周期窃取) 每当I/O设备发出DMA请求时,I/O设备便挪用或窃取总线占用权一个或几个主存周期,而DMA不请求时,CPU仍继续访问主存。
- DMA与CPU交替访问 这种方式不需要总线使用权的申请、建立和归还过程。总线使用权是通过划分CPU周期分别控制的。CPU与DMA接口各自有独立的访存地址寄存器、数据寄存器和读/写信号。实际上总线变成了在各个周期下控制下的多路转换器,其总线控制权的转移几乎不需要什么时间,具有很高的DMA传送速率。在这种工作方式下,CPU既不停止主程序的运行也不进人等待状态,即完成了DMA的数据传送。
-
-
功能 利用DMA方式传送数据时,数据的传输过程完全由DMA接口电路控制,故DMA接口又有DMA控制器之称。DMA接口应具有如下几个功能。
①向CPU申请DMA传送。 ②在CPU允许DMA工作时,处理总线控制权的转交,避免因进入DMA工作而影响CPU正 常活动或引起总线竞争。 ③在DMA期间管理系统总线,挖制数据传送。 ④确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和数据长度。 ⑤在数据块传送结束时,给出DMA操作完成的信号。
-
组成
- 主存地址寄存器 AR
- 字计数器 WC
- 数据缓冲寄存器 BR
- DMA控制逻辑
- 中断机构
- 设备地址寄存器 DAR
-
-
- DMA传送过程 DMA的数据传送过程分为以下3个阶段:
- 预处理
- 数据传送
- 后处理
- DMA接口与系统的连接方式
- 具有公共请求线的DMA请求
- 独立的DMA请求
- DMA小结
与程序中断方式相比, DMA方式有如下特点。 ①从数据传送看,程序中断方式靠程序传送,DMA方式靠硬件传送。 ②从CPU响应时间看,程序中断方式是在--条指令执行结束时响应,而DMA方式可在指令周期内的任一存取周期结束时响应。 ③程序中断方式有处理异常事件的能力,DMA方式没有这种能力,主要用于大批数据的传送,如硬盘存取、图像处埋高速数据采集系统等,可提高数据谷吐量。 ④程序中断方式需要中断现行程序,故需保护现场;DMA方式不中断现行程序,无须保护现场。 ⑤DMA的优先级比程序中断的优先级高。
- DMA传送过程 DMA的数据传送过程分为以下3个阶段:
-
- 选择型DMA接口 它的主要特点是在物理上可迕接多个设备,在逻辑上只允许连接一个设备,即在某一段时间内,DMA接口只能为一个设备服务,关键是在预处理时将所选设备的设备号送人设备地址寄存器。选择型DMA接口特别适用于数据传输率很高的设备。
- 多路型DMA接口 多路型DMA接口不仅在物理上可以连接多个设备,而且在逻辑上也允许多个设备同时工作,各个设备采用字节交义的方式通过DMA接口进行数据传送。在多路型DMA接口中,为每个与它连接的设备都设置了一套寄存器,分别存放各自的传送参数。这类接口特别适合于同时为多个数据传输率不十分高的设备服务。
-