《计算机组成与结构PPT课件(全)第10章输入输出系统.ppt》由会员分享,可在线阅读,更多相关《计算机组成与结构PPT课件(全)第10章输入输出系统.ppt(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第十章第十章输入输出系统输入输出系统n一、一、输入输出系统概述输入输出系统概述n二、程序中断输入输出方式二、程序中断输入输出方式n三、三、DMA输入输出方式输入输出方式n四、通道控制方式和外围处理机方式四、通道控制方式和外围处理机方式n五、五、系统总线系统总线n六、六、外设接口外设接口一、一、输入输出系统概述输入输出系统概述 I/O系统包括外部设备和外部设备与系统包括外部设备和外部设备与主机之间的控制部件。其中后者又称为主机之间的控制部件。其中后者又称为设备控制器,也称为设备控制器,也称为接口接口或设备适配器,或设备适配器,它的作用是控制并实现主机与外设之间它的作用是控制并实现主机与外设之间的
2、数据传送。的数据传送。1.1I/O设备的编址及设备的编址及I/O接口的基本功接口的基本功能能 1.2I/O设备数据传送控制方式设备数据传送控制方式1.1I/O设备的编址及设备的编址及I/O接口基本功能接口基本功能n1、I/O接口功能接口功能n2、接口基本组成、接口基本组成n3、I/O设备编址设备编址n4、寻址方式、寻址方式n5、I/O接口类型接口类型1、I/O接口功能接口功能(1)进行地址译码和设备选择)进行地址译码和设备选择当当CPU送来选择外设的地址码后,接口必须对送来选择外设的地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能地址进行译码以产生设备选择信息,使主机能和指定外设交
3、换信息。和指定外设交换信息。(2)实现数据缓冲和锁存)实现数据缓冲和锁存在输入过程中,先将数据送入数据缓冲寄在输入过程中,先将数据送入数据缓冲寄存器中,然后再送到输出设备或主机中去;在存器中,然后再送到输出设备或主机中去;在输出时,先将数据送入锁存器。输出时,先将数据送入锁存器。(3)数据格式的变换)数据格式的变换CPU出来的数据是并行的二进制信号,外出来的数据是并行的二进制信号,外设有的是串行或模拟信号。设有的是串行或模拟信号。(4)传递控制命令和状态信息)传递控制命令和状态信息 2、接口基本组成、接口基本组成CPU外外设设接接口口ABDBCBDB 控制命令控制命令 状态信息状态信息(1)数
4、据寄存器)数据寄存器数据端口数据端口实现数据缓冲与锁存实现数据缓冲与锁存(2)控制命令寄存器)控制命令寄存器控制端口控制端口(3)状态信息寄存器)状态信息寄存器状态端口状态端口保存状态信息,供保存状态信息,供CPU检测使用检测使用(4)控制逻辑电路)控制逻辑电路 地址译码与设备选择电路地址译码与设备选择电路中断控制逻辑电路中断控制逻辑电路读写控制电路读写控制电路3、I/O设备编址设备编址I/O设备编址原因设备编址原因:为了方便为了方便CPU对对I/O设备进行寻址和选择,必须给每一台设备进行寻址和选择,必须给每一台设备规定一些地址码(设备号或设备代设备规定一些地址码(设备号或设备代码)。码)。4
5、、寻址方式、寻址方式 (1)独立)独立I/O方式方式该地址与内存地址无关,该地址与内存地址无关,CPU使用专使用专用用I/O指令访问外设。指令访问外设。端口地址的两种编码方式:端口地址的两种编码方式:优优:专门的:专门的I/O指令,与访存分开;指指令,与访存分开;指令执行快;不占内存地址空间。令执行快;不占内存地址空间。缺缺:需专用指令、寻址方式少。:需专用指令、寻址方式少。全编码全编码n条地址线,条地址线,2n个外设个外设位编码位编码n条地址线,条地址线,n个外设个外设 (2)存储器统一寻址方式)存储器统一寻址方式把外设端口与存储器统一进行编址,把外设端口与存储器统一进行编址,不需要专门的不
6、需要专门的I/O指令。指令。优优:访存指令可访问端口,寻址类型:访存指令可访问端口,寻址类型多。多。缺缺:占用存储器空间;速度慢。:占用存储器空间;速度慢。问题问题:地址空间的分配:地址空间的分配 用地址码的高位来区分内存与外设用地址码的高位来区分内存与外设 规定部分地址为外设地址规定部分地址为外设地址IBMPC设备地址码设备地址码 I/O设备设备占用地址数占用地址数地址码(地址码(16进制)进制)硬盘控制器硬盘控制器 软盘控制器软盘控制器 彩色图形显示器彩色图形显示器 异步通信控制器异步通信控制器 16 8 16 8 320-32FH 3F0-3F7H 3D0-3DFH 3F8-3FFHIB
7、MPC等系列机设置有专门的等系列机设置有专门的IO指令,设指令,设备的编址可达备的编址可达512个,部分设备的地址码如上表个,部分设备的地址码如上表所示。所示。从表中可见,每一台设备占用了若干个从表中可见,每一台设备占用了若干个地址码分别表示相应的设备控制器中的寄存器地址码分别表示相应的设备控制器中的寄存器地址。地址。2004上半年高级程序员试题上半年高级程序员试题若某个计算机系统中,内存地址与若某个计算机系统中,内存地址与I/O地地址统一编址,访问内存单元和址统一编址,访问内存单元和I/O是靠是靠_来区分。来区分。A.数据总线上输出的数据数据总线上输出的数据B.不同的地址代码不同的地址代码C
8、.内存与内存与I/O使用不同的地址总线使用不同的地址总线D.不同的指令不同的指令B2003程序员试题程序员试题n_的的说说法是正确的。法是正确的。A内存地址不能作内存地址不能作为为接口地址接口地址B内存地址可以作内存地址可以作为为接口地址接口地址C接口地址不可用作外存地址接口地址不可用作外存地址D接口地址可用作内存地址接口地址可用作内存地址B5、I/O接口类型接口类型 (1)按数据传送的宽度可分为并行)按数据传送的宽度可分为并行接口和串行接口。接口和串行接口。并行接口中,外设和接口之间是按并行接口中,外设和接口之间是按字节或字来传送数据;串行接口中,外字节或字来传送数据;串行接口中,外设与接口
9、之间是一位一位来传送数据。设与接口之间是一位一位来传送数据。(2)按功能选择的灵活性分为可编)按功能选择的灵活性分为可编程接口和不可编程接口。程接口和不可编程接口。(3)按通用性可分为通用接口与专)按通用性可分为通用接口与专用接口。用接口。2001程序员试题程序员试题RS一一232-C是是_。现在不少打印机。现在不少打印机,扫描仪和数字相扫描仪和数字相机等设备都通过机等设备都通过USB接口与主机相连接口与主机相连,它是它是_,此此类应用中的传送速率可达类应用中的传送速率可达_。它支持。它支持_通信通信,并完全支持并完全支持_。(51):A.Modem专用接口专用接口B.打印机接口打印机接口C.
10、通用串通用串行数据接口行数据接口D.通用并行数据接口通用并行数据接口(52):A.通用串行总线通用串行总线B.通用并行总线通用并行总线C.SCSI接接口口D.通用卡式接口通用卡式接口(53):A.56KbpsB.1.5MbpsC.12MbpsD.100Mbps(54):A.同步方式同步方式B.异步方式异步方式C.同步或异同步或异步方式步方式D.数据压缩方式数据压缩方式(55):A.模拟信号输入、输出模拟信号输入、输出B.局域网接口局域网接口C.无驱动程无驱动程序工作方式序工作方式D.即插即用技术即插即用技术CACCD1.2I/O设备数据传送控制方式设备数据传送控制方式 通常把通常把I/O设备数
11、据传送控制方式分为五种。设备数据传送控制方式分为五种。1、程序直接控制方式(查询法)、程序直接控制方式(查询法)完全通过程序来控制主机和外围设备之间的完全通过程序来控制主机和外围设备之间的信息传送通常的办法是在用户的程序中安排信息传送通常的办法是在用户的程序中安排一段由输入输出指令和其他指令所组成的程一段由输入输出指令和其他指令所组成的程序段直接控制外围设备的工作。序段直接控制外围设备的工作。传送时传送时,首先启动设备首先启动设备,发出启动命令发出启动命令,接着接着CPU等待外围设备完成接收或发送数据的准等待外围设备完成接收或发送数据的准备工作备工作,在等待时间内在等待时间内,CPU不断地用一
12、条测不断地用一条测试指令检测外围设备工作状态标志触发器。试指令检测外围设备工作状态标志触发器。一旦测试到标志触发器已置成一旦测试到标志触发器已置成“完成完成”状态状态,即可进行数据传送。即可进行数据传送。优点:控制方式简单。优点:控制方式简单。缺点:缺点:CPU利用率低。利用率低。仅仅适合于传输率高的外设。仅仅适合于传输率高的外设。启动外设启动外设外设工作完成?外设工作完成?N NY Y入入/出操作出操作 2、程序中断传送方式、程序中断传送方式 外设与外设与CPU可同步工作,当外设可同步工作,当外设准备好数据后向准备好数据后向CPU发出中断请求,发出中断请求,CPU接到请求后停止正在运行的程序
13、,接到请求后停止正在运行的程序,转去执行中断服务程序,完成后返回转去执行中断服务程序,完成后返回到原程序处。到原程序处。这种方式提高了这种方式提高了CPU的利用率,的利用率,但是成批交换数据的外设,用这种方但是成批交换数据的外设,用这种方式会造成信息丢失,可用式会造成信息丢失,可用DMA方式方式来解决。来解决。程序程序并行操作并行操作主机主机外设外设空闲空闲启动启动等待等待工作工作程序程序交换数据交换数据中断:中断:主机主机程序程序外设外设空闲空闲启动启动工作工作程序程序请求请求中断程序中断程序交换数据交换数据 3、DMA方式方式 直接存储器存取方式简称直接存储器存取方式简称DMA,基本思,基
14、本思想是在外设和主存之间开辟直接的数据传送想是在外设和主存之间开辟直接的数据传送通道。在不需要通道。在不需要CPU干预也不需要软件介入干预也不需要软件介入的情况下在两者之间进行的高速数据传送方的情况下在两者之间进行的高速数据传送方式。这项工作是由式。这项工作是由I/O系统中的系统中的DMA控制器控制器来完成。来完成。DMA仍有缺点:对外设的管理和某些仍有缺点:对外设的管理和某些操作的控制仍需操作的控制仍需CPU来承担。外设数量增多,来承担。外设数量增多,多个多个DMA同时使用,会引起访问主机冲突。同时使用,会引起访问主机冲突。4、I/O通道控制方式通道控制方式 在大型计算机系统中,所连接的在大
15、型计算机系统中,所连接的I/O设备设备数量多,输入数量多,输入/输出频繁,要求整体的速度快,输出频繁,要求整体的速度快,单纯依靠主单纯依靠主CPU采取中断和采取中断和DMA等控制方等控制方式已不能满足要求,因此引入式已不能满足要求,因此引入I/O通道。通道。I/O通道有自己的指令系统,并能实现通道有自己的指令系统,并能实现指令所控制的功能,所以指令所控制的功能,所以I/O通道已经具备通道已经具备处理机的功能。但是其指令较简单,一些复处理机的功能。但是其指令较简单,一些复杂的功能仍需要杂的功能仍需要CPU来完成,所以,来完成,所以,I/O通通道是不完整的处理机。道是不完整的处理机。MMCPUCH
16、CUDCUDCHCUDCUDDCHCUDD 5、外围处理机方式、外围处理机方式外围处理机简称外围处理机简称PPU,功能:可完成,功能:可完成I/O通道能完成的通道能完成的I/O控制,还能完成一些控制,还能完成一些复杂的操作。复杂的操作。外围处理机基本上独立于主机,使得外围处理机基本上独立于主机,使得计算机系统结构有了质的飞跃,由功能集计算机系统结构有了质的飞跃,由功能集中式发展为功能分散的分布式系统中式发展为功能分散的分布式系统。MMCPU处理机CUDCUD处理机CUDCUDD处理机CUDD二、二、程序中断输入输出方式程序中断输入输出方式 2.1中断的基本知识中断的基本知识2.2中断处理中断处
17、理2.3程序中断设备接口的组成程序中断设备接口的组成2.4中断与子程序的区别中断与子程序的区别2.1中断的基本知识中断的基本知识1、中断的定义、中断的定义 中断是指中断是指CPU对系统中或系统外发生对系统中或系统外发生异步事件的响应。异步事件的响应。异步事件是指无一定时序关系的随机异步事件是指无一定时序关系的随机发生事件。发生事件。2、中断的作用、中断的作用(1)CPU与与I/O设备同步工作设备同步工作(2)硬件故障处理)硬件故障处理(3)实现人机联系)实现人机联系(4)实现多道程序和分时操作)实现多道程序和分时操作(5)实现实时处理)实现实时处理(6)实现应用程序和操作系统的联系)实现应用程
18、序和操作系统的联系(7)多处理机系统各处理机间的联系)多处理机系统各处理机间的联系 3、中断的基本类型、中断的基本类型 (1)自愿中断和强迫中断自愿中断和强迫中断(2)程序中断和简单中断程序中断和简单中断(3)内中断和外中断内中断和外中断(4)向量中断和非向量中断向量中断和非向量中断(5)单重中断和多重中断单重中断和多重中断 4、中断源、中断源 定义:引起中断的事件称为中断定义:引起中断的事件称为中断源。源。中中断断触触发发器器:引引起起中中断断时时,先先把把中中断断保保存存在在设设备备控控制制器器的的中中断断触触发发器器中中,即即置置1 1,当当中中断断触触发发器器为为1 1时时,向向CPU
19、发出中断请求信号。发出中断请求信号。每个中断源都有一个中断触发器每个中断源都有一个中断触发器。5、中断的分级与中断优先权、中断的分级与中断优先权 优先权:多个中断同时发生时,对优先权:多个中断同时发生时,对各个中断响应的优先次序。按中断性质各个中断响应的优先次序。按中断性质和处理的轻重缓急对所有的中断赋予优和处理的轻重缓急对所有的中断赋予优先权。先权。中断级:把所有的中断按不同的类中断级:把所有的中断按不同的类别分为若干级,称为中断级。别分为若干级,称为中断级。分配优先权时分配优先权时必须要考虑数据传输必须要考虑数据传输率和服务程序的要求。率和服务程序的要求。6、禁止中断和中断屏蔽、禁止中断和
20、中断屏蔽 禁止中断禁止中断定义定义:产生中断后,由于某种条件的:产生中断后,由于某种条件的限制,限制,CPU不能中止现行程序的执行,称不能中止现行程序的执行,称为禁止中断。为禁止中断。实现实现:CPU中设置一个中断允许触发中设置一个中断允许触发器,当触发器为器,当触发器为1时,允许时,允许CPU响应中断。响应中断。中断允许触发器通过开中断、关中断中断允许触发器通过开中断、关中断指令来置位、复位,进入中断服务程序后指令来置位、复位,进入中断服务程序后自动关中断。自动关中断。中断屏蔽中断屏蔽 定义定义:产生中断请求后,用程序方产生中断请求后,用程序方式有选择地封锁部分中断,允许其余中式有选择地封锁
21、部分中断,允许其余中断得到响应。断得到响应。实现实现:为每个中断源设置一个中断:为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。屏蔽触发器来屏蔽该设备的中断请求。触发器置触发器置1 1时,相应的设备中断被封锁;时,相应的设备中断被封锁;置置0 0时,相应的设备中断允许得到响应。时,相应的设备中断允许得到响应。有些中断是不允许被屏蔽的,这些有些中断是不允许被屏蔽的,这些中断称为非屏蔽中断,即非屏蔽中断的中断称为非屏蔽中断,即非屏蔽中断的优先权最高。优先权最高。2.2中断处理中断处理 1、中断处理过程、中断处理过程 关中断、保存断点等关中断、保存断点等操作一般是由硬件来实现,操作一般是由
22、硬件来实现,类似一条指令,称为中断类似一条指令,称为中断隐指令。隐指令。中断服务程序中断服务程序:为处:为处理意外情况或有意安排的理意外情况或有意安排的任务而编写的程序称为任务而编写的程序称为“中断服务程序中断服务程序”。保存其余的处理器保存其余的处理器状态信息(现场)状态信息(现场)执行中断程序执行中断程序取回处理器状态取回处理器状态信息信息(恢复现场恢复现场)取回原取回原PSW和和PC软件软件完成完成设备控制器设备控制器/系统系统硬件发出中断请求硬件发出中断请求处理器结束当前处理器结束当前指令的执行指令的执行处理器发出中断处理器发出中断认可(响应)信号认可(响应)信号处理器将处理器将PSW
23、和和PC压入系统堆栈压入系统堆栈处理器装入中断程处理器装入中断程序入口地址到序入口地址到PC硬件硬件完成完成中断隐指令中断隐指令 保存断点和现场:保存断点和现场:为了在中断处理结束后为了在中断处理结束后能正确地返回到中断点能正确地返回到中断点,在响应中断时在响应中断时,必须把必须把当前的程序计数器当前的程序计数器PC中的内容中的内容(即断点即断点)保存起保存起来。来。现场信息一般指的是程序状态字现场信息一般指的是程序状态字,中断屏蔽中断屏蔽寄存器和寄存器和CPU中某些寄存器的内容。中某些寄存器的内容。对现场信息的处理有两种方式对现场信息的处理有两种方式:一种是由硬一种是由硬件对现场信息进行保存
24、和恢复件对现场信息进行保存和恢复;另一种是由软另一种是由软件即中断服务程序对现场信息保存和恢复。件即中断服务程序对现场信息保存和恢复。对硬件保存现场信息的方式。对硬件保存现场信息的方式。有的机器把有的机器把断点等保存在主存固定的单元断点等保存在主存固定的单元;有的机器每次有的机器每次响应中断后把处理机状态字和程序计数器内容响应中断后把处理机状态字和程序计数器内容相继压入堆栈相继压入堆栈,再从指定的两个主存单元分别取再从指定的两个主存单元分别取出新的程序计数器内容和处理机状态字来代替出新的程序计数器内容和处理机状态字来代替,称为交换新称为交换新,旧状态字方式。旧状态字方式。判别中断源判别中断源:
25、转向中断服务程序。:转向中断服务程序。在多个中断源在多个中断源同时请求中断的情况下同时请求中断的情况下,本次实际响应的只能是本次实际响应的只能是优先权最高的那个中断源优先权最高的那个中断源.所以需进一步判别中所以需进一步判别中断源断源,并转入相应的中断服务程序入口。并转入相应的中断服务程序入口。开中断开中断.:因为接下去就要执行中断服务程序:因为接下去就要执行中断服务程序,开中开中断将允许更高级中断请求得到响应断将允许更高级中断请求得到响应,实现中断嵌实现中断嵌套。套。执行中断服务程序执行中断服务程序:不同中断源的中断服务程序:不同中断源的中断服务程序是不同的是不同的,实际有效的中断处理工作是
26、在此程序实际有效的中断处理工作是在此程序段中实现的。段中实现的。退出中断退出中断:在退出时:在退出时,又应进入不可中断状态又应进入不可中断状态,即关即关中断中断,恢复现场恢复现场,恢复断点恢复断点,然后开中断然后开中断,返回原程返回原程序执行。序执行。2004上半年高级程序员试题上半年高级程序员试题在中断响应过程中,在中断响应过程中,CPU保护保护PC的主要目的主要目的是的是_A.使使CPU能找到中断的服务程序的能找到中断的服务程序的入口地址入口地址B.为了实现中断嵌套为了实现中断嵌套C.为了使为了使CPU在执行完中断服务程在执行完中断服务程序后能回到断点处序后能回到断点处D.为了使为了使CP
27、U与与I/O并行工作并行工作C 2、判别中断源、判别中断源 有两种方法:软件和硬件方法。有两种方法:软件和硬件方法。(1)查询法)查询法由测试程序按一定顺序检查各个设备的由测试程序按一定顺序检查各个设备的中断触发器,当找到第一个中断触发器,当找到第一个1时,则找到了时,则找到了优先进行处理的中断源。优先进行处理的中断源。(2)串行排队链法)串行排队链法当一个设备的中断触发器为当一个设备的中断触发器为1时,通过或时,通过或门向门向CPU发出中断请求信号。发出中断请求信号。图10.4 中断请求串行排队逻辑 3、多重中断处理、多重中断处理 定义:处理某个中断过程又出定义:处理某个中断过程又出现了新的
28、中断请求(优先级更高),现了新的中断请求(优先级更高),则中断该服务程序的执行,转去处则中断该服务程序的执行,转去处理新的中断处理,处理完后返回到理新的中断处理,处理完后返回到原中断服务程序处继续原来的处理。原中断服务程序处继续原来的处理。又称为中断嵌套。又称为中断嵌套。中断级的响应次序由硬件来决中断级的响应次序由硬件来决定。定。2.3程序中断设备接口的组成程序中断设备接口的组成 程序中断设备接口一般由设备选程序中断设备接口一般由设备选择器、中断控制和工作状态逻辑、中择器、中断控制和工作状态逻辑、中断排队控制逻辑、设备码回送逻辑和断排队控制逻辑、设备码回送逻辑和数据缓冲寄存器五个部分组成。数据
29、缓冲寄存器五个部分组成。接口通过总线与主机相联。接口通过总线与主机相联。现代计算机都设有中断系统,一现代计算机都设有中断系统,一般设备的处理程序包括在般设备的处理程序包括在OS中,成为中,成为I/O驱动程序的一部分。驱动程序的一部分。图10.6 某机程序中断设备接口框图 n设备选择器设备选择器:每一台外围设备接口都设每一台外围设备接口都设置一个设备选择器置一个设备选择器,连接在系统上的每一连接在系统上的每一台设备都有一个设备号。台设备都有一个设备号。当当CPU需使用需使用某外设时某外设时,通过通过I/O指令或其他访问指令或其他访问I/O设设备地址的指令备地址的指令,将设备码通过地址线送往将设备
30、码通过地址线送往所有外围设备接口所有外围设备接口,但仅仅具有该设备号但仅仅具有该设备号的设备选择器才产生选中信号的设备选择器才产生选中信号(SEL)。于。于是是,该外围设备及其接口才能响应主机的该外围设备及其接口才能响应主机的控制并进行数据传送。控制并进行数据传送。中断控制和工作状态逻辑中断控制和工作状态逻辑:中断控制是带有中断控制是带有中断屏蔽的接口逻辑。它包括中断屏蔽的接口逻辑。它包括4个个D触发器触发器,其其中两个为工作状态寄存器中两个为工作状态寄存器:完成触发器完成触发器(DONE)和忙触发器和忙触发器(BUSY);还有一个中断请还有一个中断请求触发器求触发器(INTR)和一个中断屏蔽
31、触发器和一个中断屏蔽触发器(MASK)。当设备被选中当设备被选中,即选中信号即选中信号(SEL)为高电平时为高电平时,BUSY“1”,启动设备启动设备,同时同时DONE“0”。当设备完成输入输出动作当设备完成输入输出动作,需请求中断时需请求中断时,由完由完成信号使成信号使DONE”1”。如果。如果MASK为为“0”,则在则在CPU送来的指令结束信号送来的指令结束信号RQENB的作用的作用下下,使使INTR”1”,向向CPU发出中断请求信号发出中断请求信号INTR.但如果但如果MASK为为“1”,则即使则即使DONE为为“1”,仍不能产生中断请求信号仍不能产生中断请求信号,直到直到MASK为为“
32、0”为止。为止。MASK是由是由I/O指令利用指令利用MSKO的上升边来置的上升边来置位或复位的位或复位的.IORST是总清信号。是总清信号。中断排队和设备码回送逻辑中断排队和设备码回送逻辑:CPU接到外接到外围设备的中断请求后围设备的中断请求后,如可以响应中断如可以响应中断,则需则需了解是哪台设备要求服务。因此需要将请求了解是哪台设备要求服务。因此需要将请求中断的设备码送给中断的设备码送给CPU。当多个外设有中断。当多个外设有中断请求时请求时,必须先为优先级高的外设服务。这个必须先为优先级高的外设服务。这个任务是通过排队线路和设备码回送逻辑来完任务是通过排队线路和设备码回送逻辑来完成的。成的
33、。数据缓冲寄存器数据缓冲寄存器:每个外设的接口都设有每个外设的接口都设有数据缓冲寄存器数据缓冲寄存器,其长度为一个字节或一个字。其长度为一个字节或一个字。有的只需一个数据缓冲寄存器有的只需一个数据缓冲寄存器,有的可设多个。有的可设多个。2.4中断与子程序的区别中断与子程序的区别n从表面上看起来从表面上看起来,计算机的中断处理过程有点类似计算机的中断处理过程有点类似于调用子程序的过程于调用子程序的过程,这里现行程序相当于主程序这里现行程序相当于主程序,中断服务程序相当于子程序,但有本质上的区别:中断服务程序相当于子程序,但有本质上的区别:子程序的执行是由程序员事先安排好的子程序的执行是由程序员事
34、先安排好的,而中而中断服务程序的执行则是由随机的中断事件引起断服务程序的执行则是由随机的中断事件引起的。的。子程序的执行受到主程序或上层子程序的控子程序的执行受到主程序或上层子程序的控制制,而中断服务程序一般与被中断的现行程序毫而中断服务程序一般与被中断的现行程序毫无关系。无关系。不存在同时调用多个子程序的情况不存在同时调用多个子程序的情况,而可能发而可能发生多个外设同时请求生多个外设同时请求CPU为为自己服务的情况。自己服务的情况。三、三、DMA输入输出方式输入输出方式 DMA方式用于高速方式用于高速I/O设备与主存设备与主存之间的数据传送。之间的数据传送。3.1DMA控制器组成控制器组成3
35、.2DMA方式的五个特点方式的五个特点3.3DMA的三种工作方式的三种工作方式3.4DMA传送过程传送过程3.5DMA和中断的区别和中断的区别 3.1DMA控制器组成控制器组成 在在DMA传送方式中,传送方式中,对数据传送过对数据传送过程进行控制的硬件称为程进行控制的硬件称为DMA控制器。控制器。1、设备寄存器、设备寄存器主要有主要有MAR(主存地址寄存器)、(主存地址寄存器)、ADR(外设地址寄存器)、(外设地址寄存器)、WC(字数计(字数计数器)、数器)、CSR(控制与状态寄存器)、(控制与状态寄存器)、DBR(数据缓冲寄存器)。(数据缓冲寄存器)。2、中断控制逻辑、中断控制逻辑3、DMA
36、控制逻辑控制逻辑4、DMA接口与主机、接口与主机、DMA接口与接口与I/O设备的总线及有关收发与驱动线路设备的总线及有关收发与驱动线路。DMA控制器组成3.2DMA方式的五个特点方式的五个特点 它使主存与它使主存与CPU的固定联系脱钩,的固定联系脱钩,主存既可被主存既可被CPU访问,又可被外设访问。访问,又可被外设访问。在数据块传送时,主存地址的确定,在数据块传送时,主存地址的确定,传送数据的计数等等都用硬件电路直接实传送数据的计数等等都用硬件电路直接实现。现。主存中要开辟专用缓冲区,及时供主存中要开辟专用缓冲区,及时供给和接收外设的数据。给和接收外设的数据。DMA传送速度快,传送速度快,CP
37、U和外设并和外设并行工作,提高了系统的效率。行工作,提高了系统的效率。DMA在开始前和结束后要通过程在开始前和结束后要通过程序和中断方式进行预处理和后处理。序和中断方式进行预处理和后处理。3.3DMA的三种工作方式的三种工作方式1、CPU暂停方式暂停方式 主机响应主机响应DMA请求后,让出总线,直到一请求后,让出总线,直到一组数据传输完毕后组数据传输完毕后DMA控制器才把总线控制控制器才把总线控制权还给权还给CPU。2、CPU周期窃取方式周期窃取方式DMA控制器与控制器与MM之间传送一个数据,就之间传送一个数据,就占用一个占用一个CPU周期。周期。3、直接访问存储器、直接访问存储器CPU不占用
38、存储总线时,不占用存储总线时,DMA使用总线;使用总线;CPU与与DMA同时访问总线时,同时访问总线时,DMA优先优先级高。级高。3.4DMA传送过程传送过程 1、预处理、预处理 这是在这是在DMA传送之前做的一些必要传送之前做的一些必要的准备工作,是由的准备工作,是由CPU来完成的。来完成的。CPU首先执行几条首先执行几条I/O指令,用于测试外设的指令,用于测试外设的状态、向状态、向DMA控制器的有关寄存器置初控制器的有关寄存器置初值、设置传送方向、启动该外部设备等。值、设置传送方向、启动该外部设备等。在这些工作完成之后,在这些工作完成之后,CPU继续执继续执行原来的程序,在外设准备好发送的
39、数行原来的程序,在外设准备好发送的数据(输入时)或接收的数据已处理完毕据(输入时)或接收的数据已处理完毕(输出时),外设向(输出时),外设向DMA控制器发控制器发DMA请求,再由请求,再由DMA控制器向控制器向CPU发总线请发总线请求。求。2、数据传送、数据传送 DMA的数据传送可以是以单字的数据传送可以是以单字节(或字)为基本单位,也可以以节(或字)为基本单位,也可以以数据块为基本单位。对于以数据块数据块为基本单位。对于以数据块为单位的传送,为单位的传送,DMA占用总线后的占用总线后的数据输入和输出操作都是通过循环数据输入和输出操作都是通过循环来实现的。来实现的。需要特别指出的是,这一循环需
40、要特别指出的是,这一循环不是由不是由CPU执行程序实现的,而是执行程序实现的,而是由由DMA控制器实现的。控制器实现的。(1)输入数据)输入数据从输入设备读一个字到数据缓冲寄存器。从输入设备读一个字到数据缓冲寄存器。向向CPU发出发出DMA请求,如取得总线控制请求,如取得总线控制权,则将数据缓冲寄存器中的数据送入主存的权,则将数据缓冲寄存器中的数据送入主存的数据寄存器。数据寄存器。把把DMA的主存地址寄存器中内容送往主的主存地址寄存器中内容送往主存的存的AR,并把数据写入主存。,并把数据写入主存。把字数计数器的内容减把字数计数器的内容减1,MAR内容加内容加1。判断字数计数器的内容是否为判断字
41、数计数器的内容是否为0,是则,是则结束,向结束,向CPU发出请求,不是则重复。发出请求,不是则重复。(2)输出数据)输出数据将将MAR内容送往主存的地址寄存器。内容送往主存的地址寄存器。把主存相应地址单元的内容读入主存的把主存相应地址单元的内容读入主存的数据寄存器。数据寄存器。将数据缓冲寄存器的内容送到将数据缓冲寄存器的内容送到DMA的的数据缓冲寄存器中。数据缓冲寄存器中。数据缓冲寄存器的内容送输出设备数据缓冲寄存器的内容送输出设备字数计数器的内容减字数计数器的内容减1,MAR内容加内容加1。判断字数计数器的内容是否为判断字数计数器的内容是否为0,是则,是则结束,向结束,向CPU发出请求,不是
42、则重复。发出请求,不是则重复。3、后处理、后处理 当字数计数器计为当字数计数器计为0时,时,DMA操作结束,操作结束,DMA控制器向控制器向CPU发中发中断请求,断请求,CPU停止原来程序的执行,停止原来程序的执行,转去执行中断服务程序做转去执行中断服务程序做DMA结束结束处理工作。处理工作。3.5DMA和中断的区别和中断的区别 两者的重要区别为两者的重要区别为五个五个:1、中断方式是程序切换,需要保护、中断方式是程序切换,需要保护和恢复现场;而和恢复现场;而DMA方式除了开始和结方式除了开始和结尾时,不占用尾时,不占用CPU的任何资源。的任何资源。2、对中断请求的响应只能发生在每、对中断请求
43、的响应只能发生在每条指令执行完毕时;而对条指令执行完毕时;而对DMA请求的响请求的响应可以发生在每个机器周期结束时。应可以发生在每个机器周期结束时。3、中断传送过程需要、中断传送过程需要CPU的干预;的干预;而而DMA传送过程不需要传送过程不需要CPU的干预,故的干预,故数据传送速率非常高,适合于高速外设的数据传送速率非常高,适合于高速外设的成组数据传送。成组数据传送。4、DMA请求的优先级高于中断请求。请求的优先级高于中断请求。5、中断方式具有对异常事件的处理能、中断方式具有对异常事件的处理能力;而力;而DMA方式仅局限于完成传送信息方式仅局限于完成传送信息块的块的I/O操作。操作。四、四、
44、通道控制方式和外围处理机方式通道控制方式和外围处理机方式 DMA控制方式存在如下两个缺点:控制方式存在如下两个缺点:(1)DMA控制器增多,会引起访问主存控制器增多,会引起访问主存冲突。冲突。(2)传送前预处理和后处理占用)传送前预处理和后处理占用CPU资资源,降低系统的效率。源,降低系统的效率。为了解决这个问题,采用通道控制方式。为了解决这个问题,采用通道控制方式。4.1通道控制方式通道控制方式4.2通道型通道型I/O处理机和外围处理机处理机和外围处理机4.1通道控制方式通道控制方式 I/OI/O主机主机通道通道通道通道I/OI/OI/OI/OI/OI/O 1、通道控制方式与通道控制方式与D
45、MA方式的区别方式的区别 通道控制方式是通道控制方式是DMA方式的进一步方式的进一步发展,实质上,通道也是实现外设和主发展,实质上,通道也是实现外设和主存之间直接交换数据的控制器。两者的存之间直接交换数据的控制器。两者的主要区别在于:主要区别在于:DMA控制器是通过专门设计的硬控制器是通过专门设计的硬件控制逻辑来实现对数据传送的控制;件控制逻辑来实现对数据传送的控制;而通道则是一个具有特殊功能的处理器,而通道则是一个具有特殊功能的处理器,它具有自己的指令系统,通过执行一个它具有自己的指令系统,通过执行一个通道程序实现对数据传送的控制,故通通道程序实现对数据传送的控制,故通道具有更强的独立处理数
46、据输入道具有更强的独立处理数据输入/输出的输出的功能。功能。DMA控制器通常只能控制控制器通常只能控制一台或少数几台同类设备;而一个一台或少数几台同类设备;而一个通道则可以同时控制许多台同类或通道则可以同时控制许多台同类或不同类的设备。不同类的设备。2、通道的功能、通道的功能 通道在一定的硬件基础上利用软件手段通道在一定的硬件基础上利用软件手段实现对实现对I/O的控制和传送,更多地免去了的控制和传送,更多地免去了CPU的介入,从而使主机和外设的并行工作的介入,从而使主机和外设的并行工作程度更高。当然,通道并不能完全脱离程度更高。当然,通道并不能完全脱离CPU,它还要受到,它还要受到CPU的管理
47、,而且通道还应该的管理,而且通道还应该向向CPU报告自己的状态,以便报告自己的状态,以便CPU决定下一决定下一步的处理。步的处理。通道的五个功能是:通道的五个功能是:接受接受CPU的的I/O指令,按指令要求与指令,按指令要求与指定的外设进行联系指定的外设进行联系。从主存取出属于该通道程序的通道从主存取出属于该通道程序的通道指令,经译码后向设备控制器和设备发送指令,经译码后向设备控制器和设备发送各种命令。各种命令。实施主存和外设间的数据传送。实施主存和外设间的数据传送。从外设获得设备的状态信息,形成从外设获得设备的状态信息,形成并保存通道本身的状态信息,根据要求将并保存通道本身的状态信息,根据要
48、求将这些状态信息送到主存的指定单元,供这些状态信息送到主存的指定单元,供CPU使用。使用。将外设的中断请求和通道本身的中断将外设的中断请求和通道本身的中断请求按次序及时报告请求按次序及时报告CPU。4.2通道型通道型I/O处理机和外围处理机处理机和外围处理机 IOP不是一台独立的计算机,可以不是一台独立的计算机,可以和和CPU并行工作。并行工作。外围处理机机构更接近于一般处理外围处理机机构更接近于一般处理机,基本上是独立于主机工作的。机,基本上是独立于主机工作的。五、五、系统总线系统总线 模块:具有专门功能的插件板,模块:具有专门功能的插件板,或部件、插件、插卡。或部件、插件、插卡。总线总线:
49、各模块之间传送信息:各模块之间传送信息的通路称为总线。的通路称为总线。5.1总线的分类总线的分类5.2总线的结构总线的结构5.3总线通信控制总线通信控制5.4总线管理总线管理5.5总线性能总线性能 5.1总线的分类总线的分类 按传送信号的不同,总线分为:按传送信号的不同,总线分为:AB、DB和和CB。AB单向,总线数取决于主存单元、单向,总线数取决于主存单元、外设端口。外设端口。DB双向,总线数取决于数据传送双向,总线数取决于数据传送方式、字长。方式、字长。CB双向(外设发往主机的是状态双向(外设发往主机的是状态信息和反馈信息)信息和反馈信息)5.2总线结构总线结构 计算机系统的总线结构基本有
50、三种:计算机系统的总线结构基本有三种:单总线、双总线和三总线。单总线、双总线和三总线。1、单总线结构、单总线结构 CPU存储器I/O接口 I/O接口系统总线2、双总线结构、双总线结构 CPU存储器I/O接口 I/O接口系统总线系统总线主存主存总线总线 主存总线主存总线CPU与主存通过主存总线进行数据与主存通过主存总线进行数据交换。交换。CPUMM地址命令指令3、三总线结构、三总线结构计算机各部件之间采用三条各自独立的总计算机各部件之间采用三条各自独立的总线来构成信息通路。线来构成信息通路。CPUMM主存总线I/OI/ODMA总线I/O总线 DMA总线总线 直接内存访问总线,把内存同一个直接内存