计算机系统组成电子教案(第9章)课件

上传人:仙*** 文档编号:241784639 上传时间:2024-07-24 格式:PPT 页数:83 大小:1.56MB
返回 下载 相关 举报
计算机系统组成电子教案(第9章)课件_第1页
第1页 / 共83页
计算机系统组成电子教案(第9章)课件_第2页
第2页 / 共83页
计算机系统组成电子教案(第9章)课件_第3页
第3页 / 共83页
点击查看更多>>
资源描述
大家好大家好东南大学计算机学院东南大学计算机学院主讲教师:主讲教师:徐造林徐造林计算机系统组成计算机系统组成第第9章章 输入输出系统输入输出系统 输入输出组织输入输出组织:控制外设与内存或:控制外设与内存或CPU之间进行数之间进行数据交换的机构;据交换的机构;把把I/O设备及其接口线路、控制部件、通道或设备及其接口线路、控制部件、通道或I/O处处理器以及理器以及I/O软件统称为软件统称为输入输出系统输入输出系统。本章主要介绍本章主要介绍I/O接口的功能和结构接口的功能和结构、I/O设备的编设备的编址和寻址址和寻址、主机和外设间进行数据传送的各种、主机和外设间进行数据传送的各种输入输入输出控制方式输出控制方式。9.1I/O接口接口 完成各个外设和主机之间的同步与协调、工作速度完成各个外设和主机之间的同步与协调、工作速度的匹配和数据格式转换的的匹配和数据格式转换的逻辑部件逻辑部件称为称为I/O接口接口。计算机中各种计算机中各种I/O控制器控制器(I/O处理器)或处理器)或设备控制器设备控制器都是都是I/O接口。接口。接口定义接口定义 定义:定义:是是CPU与与“外部世界外部世界”的的连接电路连接电路,负责,负责“中转中转”各种信息。各种信息。分类:分类:存储器接口和存储器接口和I/O接口接口。位置:位置:介于系统介于系统总线与外部设备总线与外部设备之间。之间。地址总线地址总线数据总线数据总线控制总线控制总线总线总线地址译码器地址译码器控制线路控制线路数据和状态缓冲器数据和状态缓冲器输入设备输入设备I/O接口接口图图9.1用于输入设备的用于输入设备的I/O接口接口图图9.2计算机计算机I/O接口类型接口类型I/O接口接口与与I/O设备设备 不同不同I/O设备对应设备对应I/O接口不同;接口不同;I/O接口受接口受CPU控制,控制,I/O设备受设备受I/O接口控制;接口控制;为增加通用性,为增加通用性,I/O接口的接口电路一般均具有接口的接口电路一般均具有可编程功能可编程功能;微机的应用离不开与外部设备接口的设计、选用微机的应用离不开与外部设备接口的设计、选用和连接。和连接。9.1.1I/O接口的功能接口的功能(2)错误或状态检测错误或状态检测:提供状态寄存器供:提供状态寄存器供CPU查用;查用;(3)控制和定时控制和定时:接收系统总线来的控制和定时信号;:接收系统总线来的控制和定时信号;协调内部资源与外设间动作的先后关系,控制数协调内部资源与外设间动作的先后关系,控制数据通信过程;据通信过程;(4)数据格式转换数据格式转换;(1)数据缓冲数据缓冲:解决主机和外设工作速度的匹配问题;:解决主机和外设工作速度的匹配问题;(5)与主机和设备通信与主机和设备通信:必须通过:必须通过I/O接口完成接口完成主机与设备之间的通信。主机与设备之间的通信。a)I/O接口与主机侧进行通信:接口与主机侧进行通信:进行地址译码,以确定是否选中本设备;进行地址译码,以确定是否选中本设备;接收控制信息,确定数据传送的方向等;接收控制信息,确定数据传送的方向等;接、接、送数据或状态信息。送数据或状态信息。b)I/O接口与设备进行通信:接口与设备进行通信:将将控控制制寄寄存存器器中中的的命命令令译译码码,输输出出到到外外部部接接口口的控制线上;的控制线上;发发送送数数据据缓缓冲冲寄寄存存器器的的数数据据到到外外部部接接口口的的数数据据线上;线上;接收外设的状态或数据信息接收外设的状态或数据信息,送到接口中的状态,送到接口中的状态寄存器或数据缓冲寄存器中。寄存器或数据缓冲寄存器中。分析和设计分析和设计I/O接口的方法接口的方法(1)分析接口两侧的情况)分析接口两侧的情况 内部接口内部接口通过系统总线与内存、通过系统总线与内存、CPU相连;相连;外部接口外部接口通过各种接口电缆将其连到外设上。通过各种接口电缆将其连到外设上。(2)进行信号转换)进行信号转换 数据信号转换和控制信号转换。数据信号转换和控制信号转换。(3)合理选用接口芯片)合理选用接口芯片(4)接口驱动程序的分析和设计)接口驱动程序的分析和设计9.1.2I/O接口的结构接口的结构图图9.3I/O接口的通用结构接口的通用结构 接口硬件组成接口硬件组成 接口软件(设备驱动程序)接口软件(设备驱动程序)初始化程序段:初始化程序段:设置接口工作方式及初始条件。设置接口工作方式及初始条件。传送方式处理程序段:传送方式处理程序段:CPU针对不同的针对不同的I/O设备设备有不同的处理方式。有不同的处理方式。主控程序段:主控程序段:完成接口任务的程序。完成接口任务的程序。程序终止与退出程序段:程序终止与退出程序段:接口电路硬件保护及操作系接口电路硬件保护及操作系统中数据恢复。统中数据恢复。辅助程序段:辅助程序段:提供人提供人-机对话手段。机对话手段。9.1.3I/O接口的分类接口的分类(1)按数据传送方式分,有按数据传送方式分,有并行接口和串行接口并行接口和串行接口 主机侧的内部接口,主机侧的内部接口,进行并行传输进行并行传输;外设侧的外部接口,有外设侧的外部接口,有串行和并行串行和并行两种传送方式。两种传送方式。(2)可编程可编程接口和不可编程接口接口和不可编程接口 (3)按通用性来分,有按通用性来分,有通用接口和专用接口通用接口和专用接口 通用接口可供多种外设使用,如通用接口可供多种外设使用,如Intel8255、Intel8212;专用接口是为某类外设或某种用途专门设计的,如专用接口是为某类外设或某种用途专门设计的,如Intel8279可可编程键盘编程键盘/显示器接口、显示器接口、Intel8275可编程可编程CRT控制器接口。控制器接口。(4)按数据按数据传送的控制传送的控制方式来分,有程序控制方式接口、方式来分,有程序控制方式接口、程序中断方式接口和直接内存访问方式接口。程序中断方式接口和直接内存访问方式接口。(5)按设备的按设备的连接方式连接方式来分,有来分,有点对点点对点接口和接口和多点接口多点接口。点对点接口:如打印机、键盘、调制解调器等设备;点对点接口:如打印机、键盘、调制解调器等设备;多点接口:多点接口:SCSI接口和接口和P1394接口等。接口等。9.1.4I/O端口的寻址方式端口的寻址方式 I/O端口寻址端口寻址:让:让CPU能方便地找到要进行信息能方便地找到要进行信息交换的设备;交换的设备;I/O端口:端口:CPU与与I/O设备直接通信的地址。设备直接通信的地址。操作系统在操作系统在I/O中的作用中的作用 使使用户程序通过一些简单的用户程序通过一些简单的命令或系统调用命令或系统调用就能就能使用各种使用各种I/O设备。设备。I/O软件的四个层次软件的四个层次 用户层用户层I/O软件;软件;与设备无关的操作系统与设备无关的操作系统I/O软件;软件;设备驱动程序设备驱动程序;I/O中断处理程序。中断处理程序。(1)独立编址方式独立编址方式:对所有的:对所有的I/O端口单独进行编号端口单独进行编号,成为一个独立的成为一个独立的I/O地址空间。地址空间。需要用需要用专门的输入输出指令专门的输入输出指令来访问来访问I/O端口。端口。(2)统一编址方式统一编址方式:将:将主存地址空间主存地址空间分出一部分地址给分出一部分地址给I/O端口进行编号。端口进行编号。访存指令和输入输出访存指令和输入输出指令相同指令相同。I/O端口的编址方式端口的编址方式图图9.4统一编址方式统一编址方式 有有关关主主存存的的寻寻址址方方式式都都可可用用于于I/O端端口口的的寻寻址址。外外设设或或I/O寄寄存存器器数数目目几几乎乎不不受受限限制制。主主存存空空间间减减少少;址址线线都都需需参参与与地地址址译译码码,使使译译码码电电路路变变复复杂杂。系统总线系统总线主存单元主存单元0000H7FFFHI/O端口端口CPUMEMWMEMRIORIOWA158000HFFFFH图图9.5独立编址方案独立编址方案 寻寻址址速速度度快快;专专用用I/O指指令令,使使得得程程序序清清晰晰。程程序序设设计计灵灵活活性性差差些些;控控制制逻逻辑辑较较复复杂杂。系统总线系统总线主存单元主存单元0000HFFFFH00HFFHCPUMEMRMEMW88IORIOW16AB8DBI/O端口端口 独立编址方式的端口访问独立编址方式的端口访问8088/8086采用采用I/O端口与累加器之间的传送端口与累加器之间的传送INAX,PORT;直接寻址;直接寻址INAL,PORTOUTPORT,AXOUTPORT,ALMOVDX,PORT;寄存器间接寻址;寄存器间接寻址INAX,DXINAL,DXOUTDX,AXOUTDX,ALI/O接口芯片片选译码(接口芯片片选译码(集中译码集中译码)Y0Y7ABCG2BG2AG11514131211109712345674LS138A5A6A7A8A9AENDMACS(8237)INTRCS(8259)T/CCS(8253)PPICS(8255)WRTDMAPG11WRTNMIREGIOW 74LS138在在PC/XT机系统板中芯片的译码机系统板中芯片的译码001FH203FH405FH607FH809FHA0BFH表表9.1部分外设控制器的部分外设控制器的I/O地址分配表地址分配表输入输入/出设备出设备I/O地址地址占用地址数占用地址数DMA控制器控制器1000-01FH32中断控制器中断控制器1 020-03FH 32定时器定时器/计数器计数器040-05FH32键盘控制器键盘控制器060-06FH32实时时钟,实时时钟,NMI屏蔽寄存器屏蔽寄存器070-07FH16DMA页面寄存器页面寄存器080-09FH32中断控制器中断控制器20A0-0BFH32DMA控制器控制器20C0-0DFH32硬盘控制器硬盘控制器2 170-177H8硬盘控制器硬盘控制器11F0-1F8H8输入输入/出设备出设备I/O地址地址占用地址数占用地址数游戏游戏I/O口口200-207H8并行打印机口并行打印机口2278-27FH8串行口串行口42E8-2EFH8串行口串行口22F8-2FFH8软盘控制器软盘控制器2370-377H8并行打印机口并行打印机口1378-37FH8单色显示器单色显示器/打印适配器打印适配器3B0-3BFH16彩色彩色/图形监视器适配器图形监视器适配器3D0-3DFH16串行口串行口33E8-3EFH8软盘控制器软盘控制器13F0-3F7H8串行口串行口13F8-3FFH8表表9.1续续9.2I/O数据传送控制方式数据传送控制方式9.2.1I/O控制方式类型控制方式类型1.程序直接控制方式(查询方式)程序直接控制方式(查询方式)从从I/O接口取得外设和接口的状态,根据状态来控制接口取得外设和接口的状态,根据状态来控制外设和主机的信息交换。外设和主机的信息交换。2.程序中断控制方式程序中断控制方式 执行相应的执行相应的I/O指令,将启动命令发送给相应的指令,将启动命令发送给相应的I/O接口和外设,然后接口和外设,然后CPU继续执行其他程序。继续执行其他程序。3.直接存储器存取方式直接存储器存取方式 简称为简称为DMA方式,用于高速设备和主机的数据传送,采用方式,用于高速设备和主机的数据传送,采用成批数据交换方式。成批数据交换方式。用专门的硬件(用专门的硬件(DMA控制器)来控制总线进行数据交换。控制器)来控制总线进行数据交换。4.通道和通道和I/O处理器方式处理器方式获得获得CPU和外设之间和外设之间更高的并行性更高的并行性,让种类繁多、物理特性,让种类繁多、物理特性各异的外设能以标准的接口连接到系统中。各异的外设能以标准的接口连接到系统中。主要由程序实现主要由程序实现I/O控制方式控制方式主要由附加硬件实现主要由附加硬件实现图图9.6外部设备的外部设备的I/O控制方式控制方式DMA方式方式通道方式通道方式IOP方式方式程序直接程序直接控制方式控制方式程序中断程序中断控制方式控制方式9.2.2程序直接控制方式程序直接控制方式1.无条件传送方式(同步传送方式)无条件传送方式(同步传送方式)用于简单外用于简单外设(开关、设(开关、继电器、继电器、7段段显示器等)显示器等)进行的数据进行的数据传送。传送。在在规定的时间规定的时间用用I/O指令对指令对接口中的寄存接口中的寄存器进行信息的器进行信息的输入或输出输入或输出。2.条件传送方式(异步传送方式)条件传送方式(异步传送方式)通过程序查询取得通过程序查询取得外设和接口的状态外设和接口的状态(就绪、忙、完成)(就绪、忙、完成),根据这些状态来控制外设和主机的信息交换。,根据这些状态来控制外设和主机的信息交换。程序查询方式的特点程序查询方式的特点 程序查询方式程序查询方式简单、易控制、外围接口控制逻辑少;简单、易控制、外围接口控制逻辑少;CPU与外设完全串行工作,效率低、速度慢;与外设完全串行工作,效率低、速度慢;CPU会浪费许多处理器时间。会浪费许多处理器时间。程序查询方式程序查询方式数据传送数据传送流程流程从键盘读取一行字符,存储在内存缓冲区,并在显从键盘读取一行字符,存储在内存缓冲区,并在显示器上回显的程序示器上回显的程序DIRQKIRQSOUTSINDENKENDATAINDATAOUTSTATUSCONTROL76543210图图9.7键盘和显示器接口中的寄存器键盘和显示器接口中的寄存器Move#LINE,R0初始化存储缓冲区指针初始化存储缓冲区指针WAITKTestBit#0,STATUS测试测试SINBranch=0 WAITK等待键盘输入等待键盘输入MoveDATAIN,R1读字符读字符WAITD TestBit#1,STATUS测试测试SOUTBranch=0WAITD等待显示器准备好等待显示器准备好MoveR1,DATAOUT将字符送显示将字符送显示MoveR1,(,(R0)+存储字符并将指针加存储字符并将指针加1Compare#0DH,R1检查是否回车符?检查是否回车符?Branch0WAITK不是,则取下一字符不是,则取下一字符Move#0AH,DATAOUT否则,输出换行否则,输出换行CallPROCESS调用一个子程序处理输入的字符行调用一个子程序处理输入的字符行9.3程序中断方式程序中断方式9.3.1中断的概念中断的概念 中断:中断:由于内部由于内部/外部事件或由程序的预先安排引起外部事件或由程序的预先安排引起CPU中中断正在执行的程序断正在执行的程序,转到相应的服务程序中去。,转到相应的服务程序中去。中断源中断源:能够引发:能够引发CPU中断的来源。中断的来源。图图9.8中断驱动中断驱动I/O方式方式CPU和外设和外设可并行工作可并行工作中断服务程序中断服务程序 中断中断I/O方式特点:方式特点:充分发挥充分发挥CPU的高速处理能力。的高速处理能力。实现外设与实现外设与CPU的并行的并行图图9.9CPU与外设并行工作与外设并行工作中断服务中断服务中断服务中断服务 现代计算机系统都配有完善的中断系统现代计算机系统都配有完善的中断系统 中断系统中断系统是计算机实现中断功能的软、硬件的总称。是计算机实现中断功能的软、硬件的总称。CPU:中断响应和处理,:中断响应和处理,外设接口外设接口:中断请求和控制逻辑,:中断请求和控制逻辑,操作系统操作系统:中断服务程序。:中断服务程序。中断中断硬连线路硬连线路和和中断服务程序中断服务程序有机结合,共同完成有机结合,共同完成和控制中断过程。和控制中断过程。中断的相关术语:中断的相关术语:中断请求中断请求表示有急待处理的突发事件的表示有急待处理的突发事件的信号信号;中断源中断源能够产生中断请求的能够产生中断请求的部件部件(或接口或设备或接口或设备);中断服务程序中断服务程序中断请求中断请求(突发事件突发事件)对应的对应的处理程序处理程序;中断响应中断响应从当前程序从当前程序转入转入中断服务程序的中断服务程序的过程过程;中断服务中断服务执行执行中断请求对应中断服务程序的中断请求对应中断服务程序的过程过程;中断返回中断返回从中断服务程序从中断服务程序返回返回当前程序的当前程序的过程过程;中断处理中断处理中断服务及中断返回中断服务及中断返回的总和。的总和。时间时间t t中断服务程序中断服务程序当前程序当前程序指令指令a a指令指令b b中断服中断服务程序务程序i ii+1i+1k kk+nk+n主存主存当前当前程序程序指令指令地址地址i i+1 k k+ni i+1 k k+n中断服务程序中断服务程序当前程序当前程序1.内中断内中断 由处理器内部的由处理器内部的异常事件异常事件引起的中断引起的中断 硬故障中断硬故障中断:电源掉电、存储器线路错等;:电源掉电、存储器线路错等;程序性中断程序性中断:CPU执行某个指令而引起的发生在执行某个指令而引起的发生在处理器内部的处理器内部的异常事件异常事件;如除数为如除数为0,溢出、断点、单步跟踪、访问超时、,溢出、断点、单步跟踪、访问超时、堆栈溢出、缺页、地址越界、数据格式错等。堆栈溢出、缺页、地址越界、数据格式错等。中断的分类中断的分类 程序性中断可分为失效、自陷和终止三类。程序性中断可分为失效、自陷和终止三类。失效失效:在引起失效的指令:在引起失效的指令启动后启动后、执行前执行前被检测到被检测到的一类例外事件。在中断处理程序完成后,应的一类例外事件。在中断处理程序完成后,应回到回到该条指令该条指令,重新启动并执行。,重新启动并执行。自陷自陷:在产生自陷的:在产生自陷的指令执行完后指令执行完后才被报告的一类才被报告的一类例外事件,中断处理程序完成后,回到主程序中该例外事件,中断处理程序完成后,回到主程序中该条指令的条指令的下一条继续执行下一条继续执行(如,(如,INTn指令)。指令)。终止终止:对引起异常的指令的确切:对引起异常的指令的确切位置无法确定位置无法确定的一的一类例外事件,出现这类严重错误时,原程序无法继类例外事件,出现这类严重错误时,原程序无法继续执行,只好终止,而续执行,只好终止,而由中断服务程序重新启动操由中断服务程序重新启动操作系统作系统。2.外中断外中断 由外设完成任务或出现特殊情况引起(任务完成、打由外设完成任务或出现特殊情况引起(任务完成、打印机缺纸、磁盘检验错、键盘输入等)。印机缺纸、磁盘检验错、键盘输入等)。3.80X86处理器的中断系统分类处理器的中断系统分类 外部中断外部中断(硬中断):通过处理器的中断请求线(硬中断):通过处理器的中断请求线INTR(可屏可屏蔽中断蔽中断)和和NMI(不可屏蔽中断不可屏蔽中断)来实现请求的中断。来实现请求的中断。内内部部中中断断(软软中中断断):由由处处理理器器内内部部产产生生而而不不通通过过中中断断请请求求线请求,为不可屏蔽中断。线请求,为不可屏蔽中断。中断调用中断调用 中断识别中断识别:找到哪一个中断源发出的中断请求;:找到哪一个中断源发出的中断请求;目的目的:获得中断处理程序入口地址;:获得中断处理程序入口地址;方法方法:向量中断和程序查询。:向量中断和程序查询。中断优先级中断优先级:给每个中断源指定:给每个中断源指定CPU响应的响应的优先级优先级。表表9.2X86CPU组成的微机系统中断组成的微机系统中断表表9.3 表表9.49.3.2中断系统的基本职能和结构中断系统的基本职能和结构 中断系统的基本功能中断系统的基本功能(1)及时记录各种中断请求信号;及时记录各种中断请求信号;(2)自动响应中断请求;自动响应中断请求;(3)自动判优;自动判优;(4)保护被中断程序的断点和现场;保护被中断程序的断点和现场;(5)中断屏蔽;现代计算机大多采用中断嵌套技术。中断屏蔽;现代计算机大多采用中断嵌套技术。中断系统的基本结构中断系统的基本结构 中断嵌套中断嵌套 当有新的优先级更高的中断请求发生,当有新的优先级更高的中断请求发生,CPU立即中止正在执立即中止正在执行的中断服务程序,转去处理新的中断。行的中断服务程序,转去处理新的中断。图图9.10中断嵌套过程中断嵌套过程9.3.3中断过程中断过程 中断过程中断过程=中断响应中断响应+中断服务中断服务+中断返回中断返回 =中断响应中断响应 +中断处理中断处理时间时间t t中断程序中断程序当前程序当前程序中断中断 中断中断 中断中断响应响应 服务服务 返回返回指令指令i i中断请求中断请求指令指令i+1i+1所选请求的所选请求的处理程序处理程序各中各中断源断源CPUCPU中断过程中断过程检检测测CPUCPU工作周期工作周期:启动启动指令指令周期周期中断中断周期周期DMADMA周期周期Y Y有有DMADMA请求?请求?N NY Y有中断请求?有中断请求?N N指令指令周期周期中断中断周期周期指令指令周期周期指令指令周期周期指令指令周期周期 中断响应阶段和中断处理阶段中断响应阶段和中断处理阶段 (1)保存好程序的关键性信息)保存好程序的关键性信息 断点信息保护断点信息保护,硬件自动压栈。,硬件自动压栈。1.中断响应中断响应 指主机发现中断请求,中止现行程序的执行,到调指主机发现中断请求,中止现行程序的执行,到调出出中断服务程序中断服务程序这一过程。这一过程。(2)正确识别中断源正确识别中断源(3)提高中断响应的速度提高中断响应的速度 反映了整个计算机系统的灵敏度。反映了整个计算机系统的灵敏度。中断响应的条件中断响应的条件CPU处于开中断状态(处于开中断状态(IF=1););至少要有一个未被屏蔽的至少要有一个未被屏蔽的中断请求中断请求;在在一条指令执行完一条指令执行完。中断响应过程中断响应过程 中断源的识别中断源的识别方法方法 软件轮询方法软件轮询方法 查查询询顺顺序序决决定定中断优先级中断优先级。图图9.11中断查询程序的结构中断查询程序的结构 硬件结构简单,中断响应慢;硬件结构简单,中断响应慢;CPU的利用率低。的利用率低。图图9.12程序查询中断的结构程序查询中断的结构硬件判优方法(向量中断)硬件判优方法(向量中断)把中断服务程序的首址把中断服务程序的首址PC和初始和初始PSW称为称为中断向量中断向量,所有中,所有中断向量存放在一个中断向量表中;断向量存放在一个中断向量表中;把中断向量表中与相应中断对应的表项号称为把中断向量表中与相应中断对应的表项号称为中断类型号中断类型号。指向中断向量的指针指向中断向量的指针(地址地址)称为称为向量地址向量地址(VectorAddress)。图图9.13中断向量表中断向量表PC0PSW0PC1PSW1PCnPSWn图图9.148086/8088中断向量表中断向量表VA0VA1VAnIV0IV1IVnCS:IP(除法错)(除法错)CS:IP(单步)(单步)CS:IP(NMI)CS:IP()CS:IP()0003H0407H080BH3F83FBH3FC3FFH 硬件判优法硬件判优法 链式中断查询结构链式中断查询结构多线独立请求中断的结构多线独立请求中断的结构送中断向量送中断向量2中断处理中断处理 执行相应的中断执行相应的中断服务程序的过程服务程序的过程 用中断方式控制硬盘和主存储器之间的数据交换用中断方式控制硬盘和主存储器之间的数据交换 例例2:假定处理器按假定处理器按500MHz的速度执行,硬盘以的速度执行,硬盘以字块字块进行进行传输,速率为传输,速率为4MB/Sec,假定没有任何数据传输被错过。使,假定没有任何数据传输被错过。使用中断驱动用中断驱动I/O,每次传送的开销(包括用于中断响应和处理,每次传送的开销(包括用于中断响应和处理的时间)是的时间)是500个时钟周期个时钟周期。如硬盘仅用占处理器。如硬盘仅用占处理器5%的时间的时间进行传送,处理器用在数据传送上所花的时间百分比为多少进行传送,处理器用在数据传送上所花的时间百分比为多少?硬盘每次中断以字块(硬盘每次中断以字块(=16字节)进行传送,传送的速率应字节)进行传送,传送的速率应达到每秒达到每秒4MB/16B=250K次中断次中断;每秒钟用于每秒钟用于中断的周期数中断的周期数为为250K500=125106,在一次传输,在一次传输中所消耗的处理器时间的百分比为:中所消耗的处理器时间的百分比为:125106/(500106)=25%硬盘仅用其中硬盘仅用其中5%的时间来传送数据,则处理器消耗的平均占的时间来传送数据,则处理器消耗的平均占用率为用率为25%5%=1.25%。9.3.4Pentium中断机制中断机制Pentium中断源:中断源:1.中断类型中断类型 外部中断外部中断(硬中断):通过(硬中断):通过CPU的中断的中断请求线请求线INTR和和NMI来实现请求的中断。来实现请求的中断。(1)可屏蔽中断可屏蔽中断:由外设中断源引起的中断通过:由外设中断源引起的中断通过INTR线进行请求,由线进行请求,由IF的值的值决定是否禁止;决定是否禁止;(2)非屏蔽中断非屏蔽中断:若发生重要或紧急的硬件故障,:若发生重要或紧急的硬件故障,如电源掉电、存储器线路错等;如电源掉电、存储器线路错等;不能被不能被禁止禁止。内部异常内部异常:通常称为异常中断或称例外,它是由:通常称为异常中断或称例外,它是由指令执行引发指令执行引发的。的。Pentium共共有有256种种中中断断和和异异常常;中中断断类类型型号号(0255););中断优先级中断优先级分为分为5级;异常中断的优先级高于级;异常中断的优先级高于外部中断的优先级。外部中断的优先级。(1)执行异常执行异常:CPU执行一条指令执行一条指令过程中出现错过程中出现错误、故障等不正常条件引发的中断;如被误、故障等不正常条件引发的中断;如被0除,除,产生溢出中断(类型号为产生溢出中断(类型号为0););(2)执行软件中断指令执行软件中断指令:如:如执行执行INTn指令指令,将会,将会产生异常中断。产生异常中断。2.中断服务程序进入过程中断服务程序进入过程(1)指令给出指令给出,如执行软件中断指令,如执行软件中断指令INTn,n为中断类型号为中断类型号;获取中断类型号的途径:获取中断类型号的途径:(2)外部提供外部提供,可屏蔽中断是在,可屏蔽中断是在CPU接收到接收到INTR信号时产生一个信号时产生一个中断识别周期中断识别周期;非屏蔽中断是在非屏蔽中断是在CPU接收到接收到NMI信号时产生,信号时产生,中断类型号固定为中断类型号固定为2;(3)CPU识别错误、故障现象,根据异常和中断识别错误、故障现象,根据异常和中断产生的条件产生的条件自动指定类型号自动指定类型号。图图9.18实模式下使用中断向量表实模式下使用中断向量表 实模式下使用中断向量表实模式下使用中断向量表 保护模式下使用中断描述符表保护模式下使用中断描述符表 图图9.19保护模式下使用中断描述符表保护模式下使用中断描述符表3.中断处理过程中断处理过程1)当当进进行行中中断断处处理理的的CPU控控制制权权转转移移涉涉及及到到特特权权级级改改变变时时,必必须须把把当当前前的的SS和和ESP两两个个寄寄存存器器的的内内容容压压入系统堆栈予以保存;入系统堆栈予以保存;2)标志寄存器)标志寄存器EFLAGS的内容也需压入堆栈;的内容也需压入堆栈;3)清除标志触发器)清除标志触发器TF和和IF;4)当当前前的的代代码码段段寄寄存存器器CS和和指指令令指指针针EIP也也压压入入此此堆栈。堆栈。5)如如果果中中断断发发生生伴伴随随有有错错误误码码,则则错错误误码码也也压压入入堆栈;堆栈;6)完完成成上上述述中中断断现现场场保保护护后后,从从中中断断类类型型号号获获取取的的中中断断服服务务程程序序入入口口地地址址(段段地地址址,偏偏移移量量)分分别别装入装入CS和和EIP,开始执行中断服务程序;,开始执行中断服务程序;7)中断报务程序最后的)中断报务程序最后的IRET指令使中断返回指令使中断返回;保;保存在堆栈中的中断现场信息被恢复,并由中断点继存在堆栈中的中断现场信息被恢复,并由中断点继续执行原程序。续执行原程序。9.4直接存储器存取直接存储器存取(DMA)方式方式 DMA的引入的引入 程序直接控制方式程序直接控制方式受受“踏步踏步”现象的限制现象的限制,效率低,效率低下,不适合高速设备和主机间的数据传送。下,不适合高速设备和主机间的数据传送。中断控制方式在中断控制方式在高速设备高速设备、成批数据成批数据传送中显出不足传送中显出不足(1)对对I/O请求响应慢;请求响应慢;(2)数据传送速度慢。数据传送速度慢。DMA方式:方式:用专门的用专门的DMA接口硬件接口硬件来控制外设与主存间的直接来控制外设与主存间的直接数据交换,数据交换,而不通过而不通过CPU。控制总线进行控制总线进行DMA传送的硬件接口为传送的硬件接口为DMA控制器控制器。DMA传送示意图传送示意图DMA方式必须以程序查询方式和中断方式为基础。方式必须以程序查询方式和中断方式为基础。图图9.20采用采用DMA方式进行磁盘参数传送方式进行磁盘参数传送查询方式查询方式中断方式中断方式中断方式中断方式DMA方式方式中断方式中断方式寻道寻道找扇区找扇区连续读写连续读写结束、校验结束、校验传送参数设置传送参数设置(初始化)(初始化)DMA传送方式通常用来传送方式通常用来高速传送大批量的高速传送大批量的数据块数据块。如:。如:硬盘和软盘硬盘和软盘I/O;快速通信通道快速通信通道I/O;多处理机和多程序数据块传送;多处理机和多程序数据块传送;在图像处理中,对在图像处理中,对CRT屏幕送数据;屏幕送数据;快速数据采集;快速数据采集;DRAM的刷新操作。的刷新操作。9.4.1DMA工作方式工作方式1.CPU停止法停止法(成组传送成组传送)DMA传输时,传输时,CPU脱离总线,脱离总线,停止访问主存停止访问主存,直到,直到DMA传传送一块数据结束(该方法送一块数据结束(该方法CPU工作受影响)。工作受影响)。弥补措施弥补措施:减少减少DMA占用总线的时间占用总线的时间;I/O设备准备下一数据时,设备准备下一数据时,CPU插空访存插空访存。2.周期挪用周期挪用(窃取窃取)法法(单字传送单字传送)DMA传输时,传输时,CPU让出一个总线事务周期,由让出一个总线事务周期,由DMA控制器控制器挪用一个主存周期来访问主存挪用一个主存周期来访问主存,传数据后立即释放总线。,传数据后立即释放总线。DMA不需要总线使用权的申请和释放。不需要总线使用权的申请和释放。3.交替分时访问法交替分时访问法 每个存储周期分成两个时间片每个存储周期分成两个时间片,一个给,一个给CPU,一个给,一个给DMA,在每个存储周期内,在每个存储周期内,CPU和和DMA都可访问存储器。都可访问存储器。I/O设备要求进行设备要求进行DMA传送会遇到三种情况传送会遇到三种情况1)CPU不需访问主存不需访问主存 CPU和和DMA不发生冲突不发生冲突,两者并行。,两者并行。2)CPU正在访问主存正在访问主存 须须等到存储周期结束后等到存储周期结束后,CPU让出总线,让出总线,DMA才能访存。才能访存。3)CPU也同时要访问主存也同时要访问主存 先让先让DMA占用总线,占用总线,窃取一个主存周期窃取一个主存周期,完成数据交换。,完成数据交换。9.4.2DMA接口的结构和功能接口的结构和功能DMA控制器(控制器(DMAC)CPU把要传送的把要传送的数据个数数据个数、数据块在、数据块在内存的首址内存的首址、数据、数据传送传送的方向的方向、设备的地址设备的地址等参数送给等参数送给DMA控制器(控制器(DMAC初始初始化时,化时,DMAC处于被动状态处于被动状态););启动外设进行数据准备工作,而启动外设进行数据准备工作,而I/O设备和主存交换数据的事设备和主存交换数据的事情就交给了情就交给了DMA控制器(控制器(DMAC处于主动状态处于主动状态)。DMA接口的典型结构接口的典型结构DMA接口功能接口功能(1)接收外设的接收外设的“DMA请求请求”信号,向信号,向CPU发发“总线请求总线请求”信号。信号。(2)当当CPU发出发出“总线响应总线响应”信号后,接管对总线的控制。信号后,接管对总线的控制。(3)在地址线上给出在地址线上给出主存地址主存地址,并自动修改主存地址。,并自动修改主存地址。(4)识别传送方向以在控制线上识别传送方向以在控制线上给出正确的读写控制信息给出正确的读写控制信息。(5)确定传送数据的确定传送数据的字节个数字节个数。(6)发出发出DMA结束信号结束信号。引起一次。引起一次DMA中断,进行数据校验中断,进行数据校验等一些后处理。等一些后处理。9.4.3DMA数据传送数据传送过程过程图图9.21 例例1:假设处理器按假设处理器按500MHz的速度执行。硬盘以字块进行的速度执行。硬盘以字块进行传输,速率为传输,速率为4MB/Sec,假定没有任何数据传输被错过。对,假定没有任何数据传输被错过。对于于DMA传送的初始化设置,假定处理器花了传送的初始化设置,假定处理器花了1000个时钟个时钟周期,周期,并且在并且在DMA完成后中断的处理需要完成后中断的处理需要500个时钟个时钟。如果从硬盘。如果从硬盘发出的平均传输量为发出的平均传输量为8KB(即每次(即每次DMA传送传送8KB的数据块的数据块)。)。如果硬盘进行传送的时间占如果硬盘进行传送的时间占100%,那么具有,那么具有500MHz的处理的处理器在硬盘器在硬盘I/O操作上的花销是多少?操作上的花销是多少?解:解:处理器一秒钟内有处理器一秒钟内有4MB/8KB=0.5103个个DMA传送,传送,一秒钟内一秒钟内CPU花在花在DMA传送上的开销为:传送上的开销为:0.5103(1000+500)=750103个时钟周期。个时钟周期。在硬盘在硬盘I/O操作上处理器花费的时间占操作上处理器花费的时间占750103/500106=1.510-3=0.15%。中断传送中断传送处理器消耗的平均占用率为处理器消耗的平均占用率为1.25%。当当DMA方式被用于硬盘接口时方式被用于硬盘接口时 在数据传送期间在数据传送期间不消耗处理器周期不消耗处理器周期,即使硬盘一直在进行,即使硬盘一直在进行I/O操作,操作,CPU为它服务的时间仅占为它服务的时间仅占0.15%;事实上,硬盘在大多数时间内并不进行数据传送。因此处事实上,硬盘在大多数时间内并不进行数据传送。因此处理器的占用率会更低;理器的占用率会更低;如果处理器同时要竞争存储器的话,因存储器忙于进行如果处理器同时要竞争存储器的话,因存储器忙于进行DMA传送,处理器将传送,处理器将会被延迟与存储器交换数据会被延迟与存储器交换数据;通过通过使用使用Cache,处理器可以避免大多数访存冲突。一般存,处理器可以避免大多数访存冲突。一般存储器带宽的大部分都可以储器带宽的大部分都可以让给让给I/O设备使用设备使用。9.4.4DMA与存储器系统与存储器系统DMA引入到引入到I/O系统中时,存储器系统和处理器之间系统中时,存储器系统和处理器之间的关系发生改变,这在的关系发生改变,这在虚拟存储器系统和虚拟存储器系统和Cache系统系统中会产生一些问题中会产生一些问题。若用虚拟地址,则若用虚拟地址,则DMA接口必须要将虚拟地址转换为物理地接口必须要将虚拟地址转换为物理地址;而址;而使用物理地址,则每次使用物理地址,则每次DMA传送不能跨页传送不能跨页。问题的解决要结合问题的解决要结合硬件和软件硬件和软件两方面的技术支持两方面的技术支持 DMA接口中安排一个小的类似页表的接口中安排一个小的类似页表的地址映射表地址映射表,用于,用于将虚将虚拟地址转换为物理地址拟地址转换为物理地址;DMA初始化时,由操作系统进行地初始化时,由操作系统进行地址映射。址映射。另外一种方法是操作系统把另外一种方法是操作系统把跨页传送跨页传送分解成多次小数据量传分解成多次小数据量传送,每次送,每次只限定在一个物理页面内只限定在一个物理页面内。I/O数据的一致性问题数据的一致性问题 采用采用Cache的系统中,一个数据项可能会产生两个副本,的系统中,一个数据项可能会产生两个副本,一个一个在在Cache中中,一个在存储器中一个在存储器中。DMA控制器直接向存储器发控制器直接向存储器发出访存请求而不通过出访存请求而不通过Cache,这时,这时,DMA看到的一个看到的一个主存单主存单元的值元的值与处理器看到的与处理器看到的Cache中的副本中的副本可能不同。可能不同。解决解决I/O数据的一致性问题的三种方法数据的一致性问题的三种方法(1)让让I/O活动活动通过通过Cache进行进行,保证了在,保证了在I/O读时能读时能读到最新读到最新的数据的数据,而,而I/O写时能写时能更新更新Cache中的数据中的数据(会影响(会影响Cache的命中率,对处理器的性能也带来很多负面的影响)。的命中率,对处理器的性能也带来很多负面的影响)。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!