《计算机原理与汇编语言程序设计》课件第10章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机原理与汇编语言程序设计》课件第10章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机原理与汇编语言程序设计 计算机 原理 汇编语言 程序设计 课件 10
- 资源描述:
-
1、第第1010章章 输入输入/输出系统输出系统第第1010章章 输入输入/输出系统输出系统10.1 概述概述 10.2 程序查询传送方式程序查询传送方式 10.3 程序中断传送方式程序中断传送方式 10.4 8086 CPU的中断的中断 10.5 直接存储器存取直接存储器存取(DMA)方式方式 10.6 通道控制方式通道控制方式 习题习题 第第1010章章 输入输入/输出系统输出系统10.1 概概 述述计算机与人之间的交流是通过输入/输出(I/O)设备来实现的。输入/输出设备也被称为外部设备(外设),是计算机系统的一个重要组成部分。在计算机系统中,常用的外设有键盘、鼠标、打印机、显示器、扫描仪等
2、,还有一些其他的专用设备。计算机中的内存和CPU都是半导体器件,工作原理和速度相当,所以它们之间可以直接相连。而外部设备则种类繁多,各类外部设备不仅结构和工作原理不同,而且与主机的连接方式也可能完全不同。为了方便地将主机与各种外设连接起来,需要在CPU与外设之间使用一个特殊的连接电路作为CPU与外设交换信息的转换器,称为输入/输出接口(I/O接口),简称接口。主机与外设之间存在以下主要差异:第第1010章章 输入输入/输出系统输出系统(1)CPU和I/O设备所采用的数据格式、传送方式不一样。CPU处理的是数字信息,外设处理的信息有数字信号、模拟信号、开关信号、电压信号或电流信号等。CPU使用的
3、是并行数据,外设使用的既有串行数据也有并行数据。(2)CPU和I/O设备信号传输处理的速度不匹配。CPU是高速设备,外设有的速度很慢,有的速度很快,不同的外围设备处理信息的速度相差悬殊。(3)CPU和I/O设备的工作时序不同。CPU和I/O设备没有使用统一的时序系统,CPU与外设两者的信号线不兼容,在信号线功能定义、逻辑定义和时序关系上都不一致。(4)CPU和I/O设备的电器特性(如电平的极性和电平的高低等)有差别。第第1010章章 输入输入/输出系统输出系统设置I/O接口的主要目的就是解决主机和外设之间的这些差异:I/O接口一方面应该负责接收、转换、解释并执行CPU发来的命令,另一方面应能将
4、外设的状态或请求传送给CPU,从而完成CPU与外设之间的数据传输。输入/输出系统通常包括输入/输出设备、输入/输出接口和同输入/输出操作有关的软硬件。10.1.1 接口的功能接口的功能接口电路是计算机系统的重要组成部分,由于外设不同,接口电路的功能也不一样,一般接口电路应具有以下功能。1.数据缓冲功能数据缓冲功能外部设备种类繁多,速度不一,与CPU速度相差很大,可通过接口实现数据缓冲,达到速度匹配。第第1010章章 输入输入/输出系统输出系统接口电路中一般都设置有数据寄存器或锁存器数据口,以解决高速的主机与低速的外设之间的速度匹配问题,避免因主机与外设的速度不匹配而丢失数据。2.通信联络、控制
5、功能通信联络、控制功能外部设备要把工作状态告知CPU,可通过接口提供外设的状态信息,供CPU查询;CPU要对外设进行控制操作,可通过接口送出控制命令。接口中一般都设置状态寄存器,称“状态口”。状态信号以状态代码形式存放在接口电路的状态寄存器中。CPU从状态口读取状态信息,供CPU作出判断与处理。接口电路在执行命令之前、执行命令过程中和执行命令之后,外部设备及接口电路都会有一些情况发生,包括正常工作状态和故障状态。第第1010章章 输入输入/输出系统输出系统CPU对外设的控制命令一般以代码形式输出到接口电路的控制端口,接口电路对命令代码进行识别、分析,分解成若干控制信号,传送到I/O设备,并产生
6、相应的具体操作。3.地址译码和端口读写功能地址译码和端口读写功能微机系统中常有多个外设,而CPU在任一时刻只能与一个端口交换信息,因此需要通过接口的地址译码电路对端口进行寻址。4.数据宽度与数据格式转换功能数据宽度与数据格式转换功能外设所提供的数据、状态和控制信号格式可能与计算机的不同,通过接口可以实现外设与计算机之间各种数据格式的转换。外设与微机的总线信号不兼容,所以接口电路应进行相应的信号转换。CPU所处理的是并行数据,而有的外设只能处理串行数据,接口应具有数据“并串”、“串并”的转换能力。第第1010章章 输入输入/输出系统输出系统5.时序控制功能时序控制功能不同的外设工作时序不同,可通
7、过接口电路满足计算机和外设在时序方面的要求。6.中断管理功能中断管理功能 当外设需要及时得到CPU的服务,特别是出现故障需要CPU立即处理时,就要求接口中设置中断控制器,以便于CPU处理有关中断事务(如中断请求、中断优先级排队、提供中断向量等)。7可编程功能可编程功能由于I/O接口电路大多由可编程接口芯片组成,因此就有可能在不改变硬件电路的情况下,只要修改接口驱动程序就可以改变接口的工作方式,提高了接口的灵活性和可扩充性,使接口向智能化方向发展。第第1010章章 输入输入/输出系统输出系统10.1.2 I/O接口的基本结构接口的基本结构I/O接口电路的典型结构如图10-1所示。外设接口是CPU
8、与外设之间传送信息的一个连接部件,因此其外部引脚应分别满足CPU的总线结构和外设的总线结构。从图10-1中可以看到,接口电路面向CPU的一边一般表现为三总线结构;接口电路面向外设的一边随外设的不同而提供不同的信号,一般把这些信号分为数据信号、状态信号和控制信号三类。从I/O的接口可以看出,I/O接口中可能存在三种信息,即数据信息、状态信息和控制信息。第第1010章章 输入输入/输出系统输出系统图10-1 I/O接口电路的典型结构 第第1010章章 输入输入/输出系统输出系统1.数据信息数据信息数据信息是可以通过输入/输出设备送到计算机的原始数据,也可以是经过计算机处理后送往输出设备的结果数据。
9、CPU与外设交换的数据信息将在I/O接口中被缓冲或锁存。这些数据信息可能以以下几种形式出现:(1)数字量:二进制数以及ASCII码形式的数据信息。(2)开关量:用“0”和“1”来表示两种状态,如开关的通/断、电机的转/停、阀门的开/关等。(3)模拟量:模拟的电压、电流或者非电量。一般接口会对电模拟量进行A/D或D/A转换后再完成CPU与外设之间的数据传送。第第1010章章 输入输入/输出系统输出系统2.状态信息状态信息CPU在传送数据信息之前,经常需要先了解外设当前的状态。如输入设备的数据是否准备好、输出设备是否忙等。用于表征外设工作状态的信息就叫做状态信息,它总是通过I/O接口输入给CPU。
10、状态信息的长度不定,可能是1个或几个位;含义也随外设的不同而不同。常见的状态信息用来表示数据是否准备好、设备是否忙等。3.控制信息控制信息控制信息是由CPU发出的,用于控制外设的工作,比如外设启动和停止的命令、输入/输出的控制、中断的开放和禁止等。控制信息总是由CPU通过接口发出。第第1010章章 输入输入/输出系统输出系统数据信息、状态信息和控制信息通常都是以数据形式通过数据总线同CPU进行交换的。这些信息分别存放在外设接口的不同类型的寄存器中。CPU同外设之间的信息传送实质上是对这些寄存器进行“读”或“写”操作。接口中这些可以由CPU进行读或写的寄存器被称为“端口”(Port)。按存放信息
11、的类型,这些端口可分为“数据口”、“状态口”和“控制口”,分别存放数据信息、状态信息和控制信息。在一个外设接口中往往需要有几个端口才能满足和协调外设工作的要求。CPU通过访问这些端口来了解外设的状态,控制外设的工作,以及同外设之间进行数据传输。第第1010章章 输入输入/输出系统输出系统要特别注意的是,接口(Interface)和端口(Port)是两个不同的概念。端口是指接口电路中的一些寄存器,这些寄存器分别用来存放数据信息、控制信息和状态信息,相应的就是数据端口、控制端口和状态端口。若干个端口加上相应的控制逻辑才能组成接口。CPU通过输入指令从端口读入信息,通过输出指令可将信息写入到端口中。
12、10.1.3 端口的编址方式端口的编址方式 CPU对外设的访问实质上是对外设接口电路中相应的端口进行访问。I/O端口的编址方式有两种:统一编址和独立编址。第第1010章章 输入输入/输出系统输出系统1.统一编址方式统一编址方式统一编址方式是指把端口寄存器当作存储单元,将I/O端口和存储单元统一安排地址,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令。存储器与I/O设备的区别是所占用的地址空间不同,例如,可以把地址线最高位为“1”的地址空间作为I/O端口使用的地址。统一编址方式的优点是:任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,不需要专用的I/O指令,从
13、而使系统编程比较灵活;I/O端口的地址空间是内存空间的一部分,这样,I/O端口的地址空间可大可小,从而使外设的数目几乎可以不受限制。统一编址方式的缺点是:I/O端口占用了内存空间的一部分,显然内存空间必然减少,影响了系统内存的容量;同时访问I/O端口同访问内存一样,由于访问内存时的地址长,指令的机器码也长,执行时间明显增加。第第1010章章 输入输入/输出系统输出系统2.独立编址方式独立编址方式独立编址方式是指将I/O端口和存储单元分别处理,建立各自独立的地址空间。主存地址空间和I/O端口地址空间是相互独立、分开的,即I/O端口地址不占用存储器地址空间。CPU设置专门的输入/输出指令(IN/O
14、UT),通过这些指令中的地址来区分不同的外设。独立编址方式的优点是:I/O端口的地址码较短,译码电路较简单,存储器同I/O端口的操作指令不同,程序比较清晰;I/O设备的端口地址空间与存储器地址空间是完全分开、相互独立的;存储器和I/O端口的控制结构相互独立,可以分别设计。独立编址方式的缺点是:需要有专用的I/O指令,而这些I/O指令的功能一般不如存储器访问指令丰富,所以程序设计的灵活性较差。第第1010章章 输入输入/输出系统输出系统10.1.4 接口类型接口类型因为外设的种类繁多,所以对应的接口也各不相同,可按以下不同方式分类。(1)按数据传送方式分类:有并行接口和串行接口两类。并行接口是将
15、一个字节(或一个字)的所有位同时传送;串行接口是在设备与接口间一位一位传送。由于接口与主机之间是按字节或字并行传送的,因此对串行接口而言,其内部还必须设有串并及并串转换部分。(2)按功能选择的灵活性分类:有可编程接口和不可编程接口两种。可编程接口的功能及操作方式可用程序来改变或选择;不可编程接口不能由程序来改变其功能,但可通过连线逻辑来实现不同的功能。第第1010章章 输入输入/输出系统输出系统(3)按通用性分类:有通用接口和专用接口两类。通用接口可供多种外设使用;专用接口是为某类外设或某种用途专门设计的。(4)按数据传送的控制方式分类:有中断接口和DMA接口两类。中断接口用于连接速度较慢的I
16、/O设备,如显示终端、键盘、打印机等。现代计算机一般都采用程序中断方式实现主机与I/O设备交换信息,所以都配有这类接口。DMA型接口用于连接高速I/O设备,如磁盘、磁带等。第第1010章章 输入输入/输出系统输出系统10.1.5 数据传送方式数据传送方式计算机系统中主机与外设之间的数据传输方式称为I/O方式或数据传送方式,这实际上也就是指CPU和接口(端口)之间的信息传送方式。计算机与外部设备交换信息是由CPU控制的。主机与外部设备之间的信息交换方式经历了由低级到高级、由简单到复杂、由集中管理到各部分分散管理的发展过程,按其发展的先后次序和主机与外设并行工作的程度,可分成程序查询传送方式、程序
17、中断传送方式、直接存储器存取(DMA)方式和通道控制方式四种。下面几节将分别介绍这四种数据传送方式。第第1010章章 输入输入/输出系统输出系统10.2程序查询传送方式程序查询传送方式程序查询传送方式是一种程序直接控制方式,输入和输出完全是通过CPU执行程序来完成的,这是主机与外设进行信息交换的最简单的方式。由于CPU的工作速度远远高于外设,当CPU与外部设备交换数据时,不能保证外部设备已经准备好了数据,因此,传送数据之前CPU要先查询外设的状态,在外部设备和数据端口都就绪时,才能进行数据传送,这就是程序查询传送方式。采用程序查询传送方式传送数据时,首先由主机通过指令启动被选中的外设工作,之后
18、主机将查询这个外设的状态位,看其是否准备就绪。若外设未准备就绪,主机将再次查询。若外设已准备就绪,则执行一次I/O操作。第第1010章章 输入输入/输出系统输出系统程序查询传送方式的接口电路中除了数据寄存器之外,还必须设置状态寄存器,用来保存状态信息。一般外设均可提供一些反映其状态的信息,如对输入设备来说,它能够提供“准备好”(READY)信号,“READY”=1表示输入数据已准备好。输出设备则提供“忙”(BUSY)信号,“BUSY”=1表示当前时刻不能接收来自CPU的数据,只有当“BUSY”=0时,才表明它可以接收来自于CPU的输出数据。图10-2是程序查询传送方式的程序流程图。设接口电路中
19、状态端口的地址为STATUS,数据端口的地址为DATA,状态口的D7位作为BUSY状态,则CPU读取输入设备的数据可以通过执行下列程序段实现:第第1010章章 输入输入/输出系统输出系统图10-2 程序查询传送方式流程图 第第1010章章 输入输入/输出系统输出系统TES:IN AL,STATUS;读取状态信息 TEST AL,80H ;测试数据是否准备好 JE TES ;没准备好,继续测试 IN AL,DATA ;准备好,读数据程序查询传送方式的优点是接口硬件结构比较简单,但外设和主机不能同时工作,各外设之间也不能同时工作,主机与外部设备之间以及外部设备之间均处于串行工作状态。当外设速度很慢
20、时,CPU在等待外设就绪的过程中不能处理其他业务,大量时间被消耗在测试等待中,使主机不能充分发挥效率,而且程序查询传送方式不能发现和处理预先无法估计的错误和异常情况。因此,这种方式仅适用于外设的数目不多,对I/O处理的实时要求不太高,CPU的操作任务比较单一,而且不是很忙的情况。目前很少使用程序查询传送方式。第第1010章章 输入输入/输出系统输出系统10.3 程序中断传送方式程序中断传送方式在程序查询传送方式中,CPU要不断测试外设状态信息,直到外设就绪,CPU才能进行数据传送,CPU的大部分工作时间被浪费在查询外设的工作上,工作效率很低,而且CPU和外设、外设和外设之间的工作均是串行的。为
21、了提高CPU的工作效率,CPU采用程序中断传送方式与外设交换数据。采用程序中断传送方式时,CPU启动外设工作后不对外设的工作状态进行测试,而是继续执行程序,只有当外设工作完成后主动向CPU提出中断请求,CPU在满足一定的条件下,暂停正在执行的程序,转入中断服务程序为该设备服务,在中断处理程序中与外设交换数据,这样就能实现CPU和外设并行工作,大大提高了CPU的利用率。第第1010章章 输入输入/输出系统输出系统中断系统是计算机实现中断功能的软、硬件总称。一般在CPU中配置中断机构,在外部设备接口中配置中断控制器,在软件上设计相应的中断服务程序。计算机系统引入中断机制后,不但使CPU与外设(多个
22、外设)处于并行工作状态,还使CPU具备了实时控制能力和对紧急事件的处理能力。10.3.1 中断的基本概念中断的基本概念所谓中断,就是计算机执行现行程序的过程中,发生特殊请求和异常情况时,CPU中止现行程序的运行,转去执行对特殊请求和异常情况处理的程序(中断服务程序),处理完毕后,又返回到被中止的程序继续执行,我们把这一过程称为中断。中断方式的原理示意图如图10-3所示。第第1010章章 输入输入/输出系统输出系统图10-3 中断原理图 第第1010章章 输入输入/输出系统输出系统程序中断过程与调用子程序极为相似,但它们有本质的区别。首先,程序中断是随机发生的,而转子程序是预先考虑好的;其次,子
23、程序的执行是主程序的调用,是为主程序服务的,而中断程序与主程序的程序毫无关系;还有就是程序的切换方式不同,子程序是由调用指令给出目标地址,中断是通过隐指令获得中断服务的入口地址。1.中断源中断源任何引起中断的事件统称为中断源,或者说中断源是引起中断的事件及发生中断请求的来源。一般有以下几种情况:1)人为设置的中断 这种中断也叫自愿中断,是在程序中设置中断指令,一旦机器执行这种指令,便停止现行程序的执行而转入中断处理。第第1010章章 输入输入/输出系统输出系统2)计算机内部产生的中断 如运算过程出现溢出、数据格式非法,数据传送过程出现校验错,控制器遇到非法指令等,这些都属于由程序设计不周而引起
24、的中断。3)硬件故障引起的中断硬件故障类型很多,如电源掉电、磁表面损坏等都属硬件故障,这时要求CPU进行紧急处理。4)I/O设备产生的中断I/O设备被启动后,要与主机进行数据交换时,向主机发出已做好接收或发送信息的中断请求,CPU终止现行程序的执行,转去为外设传送数据。每个I/O设备都能发出中断请求。第第1010章章 输入输入/输出系统输出系统5)为了调试程序而设置的中断新的程序编制好后,必须经过反复调试才能正确可靠地工作。在程序调试过程中,为了寻找错误的位置,往往要求在程序中设置断点或使程序单步工作(一次只执行一条指令)。这也要由中断系统来实现。2.中断类型中断类型可以按照不同的方式对中断进
25、行分类。1)按中断处理方法分类(1)程序中断。主机响应中断请求后,通过执行一段服务程序来处理有关的事宜,主要用于与中、慢速外设的数据传送。(2)简单中断。主机响应中断请求后,不执行服务程序,无需CPU干预,而是让出一个或几个主存周期供外设与主存交换信息。第第1010章章 输入输入/输出系统输出系统2)按中断源分类(1)强迫中断。强迫中断是随机产生的,不是程序预先安排好的。强迫中断的产生有以下三个方面:硬件故障:主要是电源故障、主存读写校验错等;外中断:是由外部设备引起的中断;程序故障:主要是在程序中出现了非法指令、发生溢出等。(2)自愿中断。自愿中断又称程序自中断,不是随机产生的中断,是由程序
展开阅读全文