




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3 5I O过程的DMA控制 直接存储器存取 directmemoryacces DMA 控制是在内存与设备之间开辟一条直接数据传送通路 CPU与DMA各自能独立地工作 CPU执行程序 DMA控制输入输出过程 这是一种以存储器为中心的体系结构 3 5 1DMA的基本概念 2 3章输入输出系统 一般说来 在DMA传送需要3个阶段 1 CPU执行几条指令 对DMA控制器进行初始化 测试设备状态 向DMA控制器输入设备号 起始地址 数据块长度等 2 由DMA控制器控制I O设备与内存之间的数据传送 3 CPU执行中断服务程序对一次传输进行善后处理 如进行数据校验 决定传输是否继续等 3 3章输入输出系统 1 CPU暂停访问内存 3 5 2DMA与CPU共享存储器的方式 4 3章输入输出系统 2 DMA与CPU交替访问内存 5 3章输入输出系统 3 直接访问和周期挪用 6 3章输入输出系统 3 5 3DMA控制器 1 DMA控制器字与控制器通过执行机器指令字实现运算一样 DMA的工作是通过执行控制字实现的 控制字存放在内存的指定区域中 当某设备需要与内存交换一次数据时 就取出对应的控制字到DMA中的控制字寄存器中 由DMA控制器进行分析和执行 控制字的一般格式 CZ表示操作的类型 N表示交换代码的字长数 D表示正在交换代码的内存地址 7 3章输入输出系统 2 DMA控制器组成 1 内存地址计数器 用于存放内存中要交换的数据的地址 在DMA传送前 须通过程序将数据在内存中的起始位置 首地址 送到内存地址计数器 而当DMA传送时 每交换一次数据 将地址计数器加 1 从而以增量方式给出内存中要交换的一批数据的地址 8 3章输入输出系统 2 字计数器 用于记录传送数据块的长度 多少字数 其内容也是在数据传送之前由程序预置 交换的字数通常以补码形式表示 在DMA传送时 每传送一个字 字计数器就加 1 当计数器溢出即最高位产生进位时 表示这批数据传送完毕 于是引起DMA控制器向CPU发中断信号 9 3章输入输出系统 3 数据缓冲寄存器 用于暂存每次传送的数据 一个字 当输入时 由设备 如磁盘 送往数据缓冲寄存器 再由缓冲寄存器通过数据总线送到内存 反之 输出时 由内存通过数据总线送到数据缓冲寄存器 然后再送到设备 10 3章输入输出系统 4 DMA请求 标志 每当设备准备好一个数据字后给出一个控制信号 使 DMA请求 标志置 1 该标志置位后向 控制 状态 逻辑发出DMA请求 后者又向CPU发出总线使用权的请求 HOLD CPU响应此请求后发回响应信号HLDA 控制 状态 逻辑接收此信号后发出DMA响应信号 使 DMA请求 标志复位 为交换下一个字做好准备 11 3章输入输出系统 5 控制 状态 逻辑 由控制和时序电路以及状态标志等组成 用于修改内存地址计数器和字计数器 指定传送类型 输入或输出 并对 DMA请求 信号和CPU响应信号进行协调和同步 12 3章输入输出系统 6 中断机构 当字计数器溢出时 全0 意味着一组数据交换完毕 由溢出信号触发中断机构 向CPU提出中断报告 这里的中断与上一节介绍的I O中断所采用的技术相同 但中断的目的不同 前面是为了数据的输入或输出 而这里是为了报告一组数据传送结束 因此它们是I O系统中不同的中断事件 13 3章输入输出系统 第一阶段 是进行初始化 即CPU通过程序I O的方式给DMA控制器预置初值 取状态和送传送需要的有关参数 第二阶段 由DMA控制器控制外设与主存之间的数据交换 第三阶段 即CPU中断原程序后进行后处理 若需要继续交换数据 则又要对DMA进行初始化 若不需要交换数据 则停止外设 若为出错 则转错误诊断及处理程序 3 5 3DMA传送过程 14 3章输入输出系统 3 6I O过程的通道控制 16 8 5通道方式 1 通道的提出DMA直接依靠硬件进行管理 只能实现简单的数据传送 随着系统配置的I O设备的不断增加 输入输出操作日益繁忙 为此要求CPU不断地对各个DMA进行预置 这样 CPU用于管理输入输出的开销亦日益增加 为了减轻CPU负担 I O控制部件又把诸如选设备 切换 启动 终止以及数码校验等功能也接过来 进而形成I O通道 实现输入输出操作的较全面管理 3 6 1通道控制及其特点 16 3章输入输出系统 17 8 5通道方式 2 通道的基本概念通道 是计算机系统中代替CPU管理控制外设的独立部件 是一种能执行有限I O指令集合 通道命令的I O处理机 通道有自己的指令和程序专门负责数据的输入输出的传输控制 CPU下放 传输控制 的功能后只负责数据的处理 因此通道是一个特殊功能的处理器 在CPU启动通道后 通道自动地去内存取出通道指令并执行指令 直到数据交换过程结束向CPU发出中断请求 进行通道结束处理工作 17 3章输入输出系统 18 3章输入输出系统 3 通道控制的特点 1 通道具有读写指令 可以执行通道程序 2 CPU通过简单的输入输出指令控制通道工作 19 3章输入输出系统 3 通道和设备采用中断方式与CPU联系输入输出中断可分下面几种 报告某操作正常结束的 正常结束 中断 报告输入输出操作已经到达预定环节的 进程中断 输入输出设备发现的 故障中断 人对输入输出设备发出干预的 干预中断 等 20 3章输入输出系统 3 6 2通道控制原理 1 通道的功能通道对外部设备实现管理和控制应有如下功能 接受中央处理机的输入输出指令 确定要访问的子通道及外部设备 根据中央处理机给出的信息 从内存 或专用寄存器 中读取子通道的通道指令 并分析该指令 向设备控制器和设备发送工作命令 对来自各子通道的数据交换请求 按优先次序进行排队 实现分时工作 根据通道指令给出的交换代码个数和内存始址以及设备中的区域 实现外部设备和内存之间的代码传送 将外部设备的中断请求和子通道的中断请求进行排队 按优先次序送往中央处理机 回答传送情况 控制外部设备执行某些非信息传送的控制操作 如磁带机的引带等 接收外部设备的状态信息 保存通道状态信息 并可根据需要将这些信息传送到主存指定单元中 21 3章输入输出系统 2 通道的组成 22 3章输入输出系统 主要部件作 1 通道指令寄存器JZ 用来存放正在执行的通道指令 2 代码缓冲寄存器JN 是外部设备与内存进行代码交换时暂存被交换代码的寄存器 3 节拍发生器 和中央处理机脉冲 节拍 分配器一样 产生通道工作的节拍 控制整个通道有序地工作 4 操作控制器 根据通道指令所规定的操作或排队结果 按通道节拍产生通道微操作 5 传输控制电路 控制并传输外部设备和通道之间的代码及信号 6 排队器 根据预先确定的优先次序 对各子通道提出的请求进行排队 确定通道下一次和哪一个子通道的外部设备进行交换 每次都是让优先级高的先进行交换 排队器加上子通道的记忆部件 就能实现通道逐个地启动子通道进行工作 图中排队器和各设备控制器的连线表示子通道 右边设备控制器与中央处理机以及与传输控制电路之间的连线 是所有设备控制器都有的 为清楚起见图中予以省略 并用虚线所指的圆圈表示被排队器选中的设备 7 地址形成电路 是根据排队器给出的子通道号确定与该子通道对应的通道程序的指令地址的装置 它相当于中央处理机的程序计数器 23 3章输入输出系统 3 通道控制的工作过程 中央处理机执行输入输出指令 当程序执行到需要输入输出时 由专门的外设管理程序将本次输入输出的各种主要信息准备好 根据输入输出的具体要求 组织好通道程序 存入内存 并将它的首地址送入约定单元或专用寄存器中 然后执行输入输出指令 向通道发出 启动I O 命令 通道控制外部设备进行传输 通道接到 启动I O 命令后进行以下工作 从约定的单元或专用寄存器中取得通道程序首地址 并检查其是否正确 根据这个首地址从内存读取第一条通道指令 检查通道 子通道的状态是否能使用 如果不能使用 则形成结果特征 回答启动失败 该通道指令无效 如果该通道和子通道能够使用 就把第一条通道指令的命令码发到响应设备进行启动 等到设备回答并断定启动成功后 建立结果特征 已启动成功 否则建立结果特征 启动失败 结束操作 启动成功后 通道将通道程序首地址保留到子通道中 此时通道可以处理其他工作 设备具体执行通道指令规定的操作 若是传送数据操作 设备便依次按自己的工作频率发出使用通道的申请 进行排队 通道响应设备申请 将数据从内存经通道发至设备 或反之 当传输完一个数据后 通道修改内存地址 加1 和传输个数 减1 直至要传输个数达到0为止 结束该条通道指令的执行 24 3章输入输出系统 通道指令执行结束及输入输出结束当设备全部完成一条通道指令规定的操作时 便发出 设备结束 信号 表示该条通道指令确定的传输已经结束 对应子通道可再往下执行一条新的指令 如果执行完的通道指令不是该通道程序中最后一条指令 子通道进入通道请求排队 通道响应该请求后 将保留在子通道中的通道指令地址更新 指向下一条通道指令 并再次从内存读取新的一条通道指令 一般每取出一条新的通道指令 就将命令码通过子通道发往设备继续进行传输 如果结束的通道指令是通道程序的最后一条 那么这个设备的结束信号使通道引起输入输出中断 通知中央处理机 本通道程序执行完毕 输入输出操作全部结束 当中央处理机响应中断后 程序可以根据通道状态 分析结束原因并进行必要的处理 25 3章输入输出系统 6 通道的各个部件 1 通道指令寄存器JZ 用来存放正在执行的通道指令 26 3章输入输出系统 6 通道的各个部件 2 代码缓冲寄存器JN 是外部设备与内存进行代码交换时暂存被交换代码的寄存器 27 3章输入输出系统 6 通道的各个部件 3 节拍发生器 和中央处理机脉冲 节拍 分配器一样 产生通道工作的节拍 控制整个通道有序地工作 28 3章输入输出系统 6 通道的各个部件 4 操作控制器 根据通道指令所规定的操作或排队结果 按通道节拍产生通道微操作 29 3章输入输出系统 6 通道的各个部件 5 传输控制电路 控制并传输外部设备和通道之间的代码及信号 30 3章输入输出系统 6 通道的各个部件 6 排队器 根据预先确定的优先次序 对各子通道提出的请求进行排队 确定通道下一次和哪一个子通道的外部设备进行交换 优先级高的先进行交换 31 3章输入输出系统 6 通道的各个部件 7 地址形成电路 是根据排队器给出的子通道号确定与该子通道对应的通道程序的指令地址的装置 它相当于中央处理机的程序计数器 32 3章输入输出系统 33 在一般用户程序中 通过调用通道来完成一次数据输入输出 CPU执行用户程序和管理程序 通道处理机执行通道程序 8 通道工作过程 33 3章输入输出系统 34 主要过程分为如下三步进行 1 在用户程序中使用访管指令进入管理程序 由CPU通过管理程序组织一个通道程序 并启动通道 2 通道处理机执行CPU为它组织的通道程序 完成指定的数据输入输出工作 3 通道程序结束后向CPU发中断请求 CPU响应这个中断请求后 第二次进入操作系统 调用管理程序对输入输出中断请求进行处理 8 通道工作过程 34 3章输入输出系统 1 选择通道选择通道每次只能从所连接的设备中选择一台I O设备的通道程序 此刻该通道程序独占了整个通道 连接在选择通道上的若干设备 只能依次使用通道与主存传送数据数据传送以成组 数据块 方式进行 每次传送一个数据块 因此 传送速率很高 选择通道多适合于快速设备 磁盘 这些设备相邻字之间的传送空闲时间极短 3 6 3通道类型 35 3章输入输出系统 36 2 字节多路通道 ByteMultiplexorChannel 是一种简单的共享通道 在时间分割的基础上 服务于多台低速和中速面向字符的外围设备 字节多路通道包括多个子通道 每个子通道服务于一个设备控制器 可以独立地执行通道指令 每个子通道都需要有字符缓冲寄存器 I O请求标志 控制寄存器 主存地址寄存器和字节计数寄存器 而所有于通道的控制部分是公共的 由所有子通道所共享 通常 每个通道的有关指令和参量存放在主存固定单元中 当通道在逻辑上与某一设备连通时 将这些指令和参量取出来 送入公共控制部分的寄存器中使用 字节多路通道要求每种设备分时占用一个很短的时间片 不同的设备在各自分得的时间片内与通道建立传输连接 实现数据的传送 36 3章输入输出系统 37 3 数组多路通道 BlockMultiplexorChannel 数组多路通道把字节多路通道和选择通道的特点结合起来 它有多个子通道 既可以执行多路通道程序 像字节多路通道那样 所有子通道分时共享总通道 又可以用选择通道那样的方式传送数据 当设备在执行寻址等控制动作时 通道暂时断开与这个设备的连接 挂起设备的通道程序 去为其他设备服务 即执行其他设备的通道程序 37 3章输入输出系统 3 7I O管理 3 7 1设备驱动程序 计算机所使用的外部设备品种越来越多 即使同样一种用途的设备 由于生产厂家不用 型号不同 设备制造厂家在研制设备的同时开发的 39 3章输入输出系统 1 设备驱动程序的功能设备驱动程序基本任务是启动指定设备 并且在启动设备之前完成一系列准备工作 一般地说 设备驱动程序的工作过程如下 1 将应用程序中的抽象要求转换为具体要求设备是由设备控制器控制的 用户与上层软件的应用程序提出抽象要求由驱动程序进行中间转换 化抽象为具体 确定将命令 数据和参数分别送到设备控制器的哪个寄存器 2 对I O请求进行合法性检查检查用户要求是否能为设备接受 是否属于设备的功能范围 40 3章输入输出系统 3 读出并检查设备状态启动设备控制器的条件是设备就绪 如对打印机要检查 电源是否合上 是否有纸等 对软盘驱动器要检查 有无磁盘 有无写保护等 4 传送必要的参数如要提供本次传送的字节数等 5 设置工作方式例如对于异步串行通信接口要设置 传输速率 奇偶检验方式 停止位宽度及数据长度等 6 启动I O设备完成上述工作后 即可向设备控制器发出启动命令 41 3章输入输出系统 2 设备驱动程序的结构一般说来 设备驱动程序应包含如下5部分 1 设备标题 deviceheader 2 数据存储和局部过程 datastorage localprocedure 3 策略过程 strategyprocedure 4 中断过程 interruptprocedure 5 命令处理子程序 commandprocessing 42 3章输入输出系统 3 设备驱动程序在I O系统中的位置I O系统的一般结构 自底向上 它由硬件 中断处理程序 设备驱动程序 与设备无关的系统软件以及用户空间软件等5个层次组成 43 3章输入输出系统 与设备无关的系统软件的主要作用是在用户应用程序和与设备相关的程序之间提供一个统一的接口 作用如下 1 名字映射通常 在操作系统的I O用户中对输入输出设备和文件采取了统一的命名 与设备无关的系统软件的一个作用就是将一个名字映射到相应的设备驱动程序上 2 设备保护防止无授权的访问或授权用户的非法操作 在UNIX中采用权限模式 对于系统中的I O设备提供 rwx 位进行保护 44 3章输入输出系统 3 缓冲并提供与设备无关的逻辑块无论块设备还是字符设备 一般都要使用缓冲区 对于块设备 每当缓冲区满 就进行一次读写操作 但最后一次传送 缓冲区不一定恰好满 这时要全部 推 出缓冲区 对于字符设备 每传送一个字符 进行一次读写操作 在各种输入输出设备中 缓冲存储器的大小 读写速度和传输速率各不相同 与设备无关的系统软件要对高层屏蔽各种I O设备空间的大小 处理速度和传输速率 向上层提供大小统一的逻辑块尺寸 45 3章输入输出系统 4 存储设备的块分配对于写磁盘操作 操作系统要为其分配新的存储块 为此 要为每个磁盘设置一张空闲块表或位图 其算法是与设备无关的 5 独占设备的分配和释放独占设备只有空闲时 才能接受一个应用请求 才能被打开 使用完毕 必须释放 关闭 以备下一个进程使用 6 协助出错处理出错处理是设备驱动程序的工作 大多数错误与设备密切相关 重读若干次后 还不能排除 设备驱动程序就通知与设备无关软件 给出错误信息报告给调用者 46 3章输入输出系统 3 7 2ROMBIOS BOIS即BasicInput OutputSystem 基本输入 输出系统 ROM BOIS 是被固化在只读存储器中 实现基本输入 输出系统的一组程序 经常简称为BOIS BIOS的主要功能是进行系统自检 进行CMOS设置和提供中断服务 47 3章输入输出系统 1 BIOS启动系统的过程 Y Y N N 48 3章输入输出系统 1 在BIOS中运行的第一个程序是加电自检 poweronselftest POST 程序 BIOS的0 xFFFF0单元一般设置一条跳转指令 跳到POST程序的入口 开始执行加电自检 POST 程序 加电自检又称可靠性测试 就是测试计算机各部件和设备是否可以正常工作 通常完整的POST自检将包括对CPU 640K基本内存 1M以上的扩展内存 ROM 主板 CMOS存贮器 串并口 显示卡 软硬盘子系统及键盘进行测试 测试的依据是存放在CMOS ComplementaryMetalOxideSemiconductor 互补金属氧化物半导体 中的上述硬件的参数 CMOS是一种RAM芯片 一般集成在BIOS芯片内 用纽扣电池充电 一旦在自检中发现问题 系统将给出提示信息或鸣笛警告 没有测试出问题 就自动进入下一步 49 3章输入输出系统 2 初始化 对有关设备进行初始化 初始化阶段除了要对各种芯片进行初始化外 还要进行中断向量的设置 以便中断发生时能很快地转入中断处理程序 为此 BIOS要首先在内存的起始地址 0 x00000 处开始的空间内构建中断向量表 并按照中断向量表指定位置装入与中断向量表相应的若干中断服务程序 在微型计算机中 一般中断向量表占1K的内存空间 0 x00000 0 x003FF 在此后用256字节的内存空间 0 x00400 0 x004FF 构建BIOS数据区 在大约0 x0E2CE的位置加载了8K左右的与中断向量表相应的若干中断服务程序 50 3章输入输出系统 3 启动自举程序系统在完成POST自检后 ROMBIOS就首先按照系统CMOS设置中保存的启动顺序搜寻软硬盘驱动器及CD ROM 网络服务器等有效地启动驱动器 读入操作系统引导记录 然后将系统控制权交给引导记录 并由引导记录来完成系统的顺利启动 51 3章输入输出系统 2 设置系统参数许多有关部件和设备的参数对于计算机系统是否能正常运行具有意义 可设置的内容大致如下 1 StandardCMOSSetup 标准参数设置 包括日期 时间和软 硬盘参数等 2 BIOSFeaturesSetup 设置一些系统选项 3 ChipsetFeaturesSetup 主板芯片参数设置 4 PowerManagementSetup 电源管理设置 5 PnP PCIConfigurationSetup 即插即用及PCI插件参数设置 6 IntegratedPeripherals 整合外设的设置 7 其他 硬盘自动检测 系统口令 加载缺省设置 退出等 52 3章输入输出系统 每个应用需要设备服务时 首先要向设备管理程序提出资源申请 设备管理程序则按一定的算法为这些申请分配设备资源 如果申请的应用得不到资源 就被放到资源等待队列中等待 直到所需的资源被释放 设备分配的两种方式 静态方式和动态方式 静态方式是在用户作业开始之前 系统一次性地将该作业所需的设备 控制器和通道分配都分配给它 直到该作业退出 这种方法不会产生死锁 但设备的使用效率低 动态分配是在作业进行过程中动态地按需分配 及时收回 它有利于提高设备的利用率 但如果分配不当 会出现死锁 3 73I O设备分配 53 3章输入输出系统 具体的分配方式 还要考虑设备固有的属性 设备特性 按照设备特性 设备可以分为独占 共享和虚拟设备 1 独占设备的分配 虚拟设备技术独占设备是每次只能分配给一个应用的设备 由于系统中同一类的独占设备是有限的 因而由于不能满足多个应用的争用 会引起大量应用的等待 成为系统的 瓶颈 另一方面 申请到独占设备的应用却利用率极低 设备还往往处于空闲状态 解决这一矛盾的办法是虚拟设备技术 或称SPOOL SimultaneousPeripheralOperationOn Line 假脱机操作 技术 54 3章输入输出系统 1 脱机 联机和假脱机设备与内存的信息交换有两种方式 脱机和联机 联机信息交换方式就是设备直接与内存交换信息 这种方式就是独享设备的工作方式 也具有独享设备的不足 脱机信息交换方式的设备要以一个块设备为中间过渡 以输入为例 先用一台外围机将字符输入设备上的信息集中到一台块设备上 然后再从块设备上将信息传入主机 这样外围机可以与主机并行工作 提高了主机的利用率 由于块设备可以共享 因此设备也为不同的进程共享 它的缺点是块设备与字符设备之间的装卸要由人工进行 降低了系统的平均运行速度 而且容易出差错和损坏设备 55 3章输入输出系统 SPOOL技术对脱机和联机两种方式取长补短 能将一台独享设备改造成共享设备 但是 它不是脱机进行的 而是模拟了脱机工作 实现了虚拟设备功能 所以叫做假脱机技术 2 SOOPL系统的组成高速外存 通常是磁盘的支持磁盘上两个大的存储空间 输入井和输出井 内存中两个缓冲区 输入缓冲区和输出缓冲区 外部设备输入数据时 先暂存在输入缓冲区中 然后收容到输入井中 用户程序输出数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年保密员考试及答案
- 2025年安全生产知识考试及答案
- 小学体育招聘题库及答案
- 项目招商方案范本
- 2025年绵阳医师考试试题及答案
- 商业租金砍价方案范本
- 辽宁沈阳音乐学院考试真题2024
- 货物托运方案模板范本
- 老式预制板施工方案
- 2025生产部门员工劳动合同
- 存款代持协议书范文模板
- 建筑施工企业施工项目安全生产标准化考评表
- 电梯使用单位电梯安全总监职责和电梯安全员守则
- 足太阳膀胱经(经络腧穴课件)
- 沟通的艺术智慧树知到期末考试答案章节答案2024年湖南师范大学
- 2024年四川省广安市中考数学试题(含答案逐题解析)
- 员工上下班交通安全知识培训课件
- 产品质量法-企业培训讲座
- 塑胶模具报价表范例
- 三阶魔方七步还原图文教程
- 肌肉注射评分标准
评论
0/150
提交评论