资源预览内容
第1页 / 共85页
第2页 / 共85页
第3页 / 共85页
第4页 / 共85页
第5页 / 共85页
第6页 / 共85页
第7页 / 共85页
第8页 / 共85页
第9页 / 共85页
第10页 / 共85页
亲,该文档总共85页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机组成原理,任课教师:石磊 郑州大学信息工程学院计算机系 Email: shileizzu.edu.cn Tel: 13676986863,第一章 计算机系统概论 第二章 运算方法和运算器 第三章 存储系统 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 第九章 并行组织,目录,教材 白中英,计算机组成原理网络版,科学出版社,2002 参考书 石磊,计算机组成原理第2版, 清华大学出版社,2006 钱晓捷,微型计算机原理及应用, 清华大学出版社,2006 王爱英,计算机组成与结构第3版, 清华大学出版社,2001 白中英 邝坚,计算机组织与结构网络版,科学出版社,2003,I/O接口概述 8.1 CPU对外围设备的管理方式 程序查询方式 8.2 程序中断方式 8.3 DMA方式 8.4 通道方式,第8章 输入输出系统,I/O系统包括 I/O接口硬件电路和I/O管理软件,I/O接口(电路)6.2.2,计算机的外围(外部)设备多种多样 工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 外设不能与CPU直接相连,必须经过中间电路(I/O接口电路)再与系统相连 I/O接口电路是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路,多种多样的外设,工作原理不同 机械、电子、机电、电磁 传送信息类型多样 数字量、模拟量、开关量 传送速度差别极大 传送方式不尽相同 串行、并行 编码方式不同 二进制、BCD码、ASCII码,返回,I/O接口的典型结构,内部结构 数据寄存器:保存微处理器与外设之间交换的数据 状态寄存器:保存外设当前的工作状态信息 控制寄存器:保存微处理器控制接口电路和外设操作的有关信息 外部特性 面向微处理器一侧的信号:与微处理器总线类似 面向外设一侧的信号:与外设有关,示意图,I/O接口的软件编程,接口电路具有可编程性(Programmable) 根据具体要求,通过编程选定I/O接口电路的多种功能或工作方式之一 初始化程序 选择I/O接口工作方式、设置原始工作状态等 驱动程序 操纵I/O接口完成具体工作,硬件接口电路需要软件编程配合工作,I/O端口的编址,I/O端口(Port)泛指I/O地址,对应I/O接口寄存器 一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息 数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息 输入、输出端口可以是同一个I/O地址 接口电路占用的I/O端口有两类编排形式 I/O端口单独编址 I/O端口与存储器统一编址,I/O端口与存储器独立编址,将I/O端口单独编排地址,独立于存储器地址 优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富,80x86采用I/O端口独立编址,I/O端口与存储器统一编址,将I/O端口与存储器地址统一编排,共享一个地址空间 优点: 不需要专门的I/O指令 I/O数据存取灵活 缺点: 占去部分存储器空间 程序不易阅读(在汇编语言级 不容易区别访问存储器和访问外设),8.1 CPU对外围设备的管理方式,CPU和外设之间信息交换的方式,程序控制下的数据传送 通过CPU执行程序中的I/O指令来完成传送 程序查询方式 程序中断方式 直接存储器存取DMA方式 外设经DMA控制器向CPU申请总线,由DMA控制器利用系统总线完成外设和存储器间的数据传送 通道方式 通道(I/O处理器)管理外设,完成传送和数据处理 外围处理机方式 通道方式的进一步发展,基本独立于主机工作,程序查询方式,CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出 对多个外设的情况, 按顺序依次查询(轮询) 有查询和传送两个环节 实际中常引入超时判断 查询需大量时间,效率较低,查询输入接口,读取状态端口查询外设状态,若已就绪,读取数据端口得到外设提供的数据,查询输出接口,读取状态端口查询外设状态,若已就绪,将数据写入数据端口输出给外设,8.2 程序中断方式,处理器在执行程序过程中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序 中断源:引起中断的事件或原因 例如: 外设的数据传送请求 系统定时请求 电源掉电等故障 运算出错等错误 程序异常或调试请求,中断的基本概念 (1/3),1、概念:当计算机执行正常程序时,系统中出现某些异常情况或特殊请求,这些情况和请求可能来自计算机内部,也可能来自计算机外部;一旦有上述事件发生,计算机执行正常程序的状态被中断,就是说,CPU要暂停它正在执行的程序,而转去处理所发生的事件(通常就是执行一段特殊程序,被称为中断服务程序);CPU处理完毕后,自动返回到原来被中断了的程序继续运行。,中断的基本概念 (2/3),2、与子程序调用的比较 (1)相同点:正常程序:主程序 中断服务程序:子程序 (2)区别: (A)子程序的执行是程序员事先安排好的; 中断服务程序的执行则是由随机的中断事件引起的,比如电源掉电、请求I/O数据传送、现场报警等。 (B)子程序的执行往往与主程序有关; 中断服务程序可能与被中断的程序毫无关系。 (C)有可能出现多个中断事件同时请求的情况,此时,主机就需要进行判优,进而决定为哪一个请求服务。 子程序不存在此种情况。,中断的基本概念 (3/3),3、中断的作用 (1) 主机与外部设备并行工作 (2) 实现实时处理 (3) 硬件故障处理 (4) 实现多道程序和分时操作,CPU响应中断的条件 (1/11),一、中断源 (1)概念:能够引起CPU中断的原因就是中断源。中断源是指形成这个原因的设备、部件或条件。 (2)种类: 输入输出设备。系统中的外部设备都可以设计成为以中断方式与主机进行数据的交换,从而作为系统的中断源。 故障与错误。系统运行中会出现诸如电源掉电、运算出错、非法指令等问题,它们也常采用中断方式请求CPU立即处理。 实时时钟。系统中的时钟定时电路是必不可少的,若定时时间到,时钟电路就可以通过中断告知主机。 程序调试和软件中断。程序调试中常常采用设置中断断点的方法来观察程序运行是否正确;有些机器的指令系统设计有软件中断指令,利用中断机制实现操作系统的功能调用以及调试程序。需要说明一点,这类中断是由程序员事先安排好的,和调用子程序的作用一样,与上述由外部硬件产生的中断有些不同。,CPU响应中断的条件 (2/11),二、中断的分类: (1)按中断源是在主机之内还是外分: (A)内部中断 内部中断是指中断源来自主机内部,如运算出错、程序调试和软件中断等; (B)外部中断 外部中断来自主机之外,如外部设备、实时时钟和硬件故障产生的中断等。,CPU响应中断的条件 (3/11),二、中断的分类: (2) 按中断对CPU的打扰情况分: (A)程序中断 CPU要用专门的中断服务程序为中断源服务,并且在服务前要进行断点和现场的保护,在服务后要进行现场和断点恢复的中断。这种中断就是一般所说的中断,是大多数中低速外设以及内中断常用的中断方式。 (B)简单中断 当这种中断发生时,相应的请求源只是请求CPU的正常程序暂停一下,通常称为总线请求或DMA请求。暂停的目的是把主存和接口的数据通路让给请求源使用(即总线使用权),使得能在主存和请求源之间直接进行一次数据传送,当这次传送结束后,请求源立即把这个使用权归还给CPU。接着运行刚才暂停的程序,这个暂停时间通常一次一个存取周期。,CPU响应中断的条件 (4/11),二、中断的分类: (3) 按寻找中断服务程序入口的实现方法区分: (A)向量中断(矢量中断):中断服务程序入口由中断源自己提供。 (B) 非向量中断:入口由CPU查询得到。,CPU响应中断的条件 (5/11),三、中断工作过程: 1、中断请求 (1)中断请求是中断源向CPU发出中断请求信号,要求CPU为它服务的过程。 (2)何时? 基本条件两个: (A) 外设本身工作已经完成 (B) 外设被允许中断 (3)硬件支持: 中断请求电路,基本组成是两个触发器: (A) 一个反映外设工作是否完成,其形成与程序查询的准备就绪状态标志一样; (B) 另一个反映外设是否允许采用中断方式,即中断屏蔽功能。只有当外设工作完成而且被允许中断时,相应中断源才可以通过这个请求电路形成中断请求信号。,CPU响应中断的条件 (6/11),三、中断工作过程: 2、中断判优 (1) 中断优先级有两个方面的含义: (A) 一是中断请求与CPU现行程序优先级的问题; (B) 另一含义是各中断源之间,谁更迫切的问题。 (2) 方法: (A) 软件 (B) 硬件:为了得到较高的效率,一般采用硬件判优方法。判优逻辑随着判优方案的不同可有不同的结构,其组成部分既可能在设备接口之中,也可能在CPU内部,也可能这两部分都有。其作用是决定CPU的响应并且找出最高优先请求者,如果确定接收这个请求的话,就由CPU发出中断响应信号INTA (C) 软硬件结合。,CPU响应中断的条件 (7/11),三、中断工作过程: 3、中断响应 (1)CPU响应最高优先级的中断请求,并且在适当时会向中断源提供一个应答的响应信号,表明主机承认了它的请求,这就是中断响应。在采用硬件向量中断的方式中,通常,CPU还要利用它告知中断接口电路向CPU提供一个中断向量。 (2)响应条件: (A) 一条指令执行结束时刻 (B) 中断允许: (a) 可屏蔽中断(Maskable Interrupt):计算机中断系统对一般外设的中断请求就采用受中断标志位控制; (b) 非屏蔽中断(Non-Maskable Interrupt):而对必须立刻响应的中断请求,如电源掉电、机器故障等,则采用不受中断标志位控制。,CPU响应中断的条件 (8/11),中断屏蔽 (A) 概念:对中断的允许或禁止的控制 (B) 必要性: eg1:中断服务程序与正常程序共享数据区 eg2:CPU正在用软件查询中断源时 eg3:正在执行中断服务程序而不允许嵌套时 eg4:进行现场保护和恢复现场时 (C)方法: 软硬结合和内外结合的方法。不同的计算机可能在具体措施上有差异,但基本的思想是相同的。外部中断请求电路设置中断屏蔽触发器控制某一个中断源能否产生中断请求信号,CPU内部设置中断标志位用于控制全部可屏蔽中断的响应。一般计算机中都有实现中断屏蔽的指令和相应的硬件电路。,CPU响应中断的条件 (9/11),中断屏蔽 (D)实现: (a) 在大多数计算机CPU内,都设置一个中断触发器,由这个触发器的状态来决定CPU对中断请求是否响应。 能使中断触发器置“1”的指令,一般称为开中断指令,表示系统允许中断;能使中断触发器置“0”的指令,一般称为关中断指令,表示系统禁止中断。用户在适当时可以用这些指令来对中断的能与否进行选择和控制。 例如8088/8086 CPU中,其程序状态字PSW寄存器中就有IF位(第10位),开中断指令STI可以使IF位置为“1”,达到允许中断的目的,关中断指令CLI可以使IF位清“0”,达到禁止中断的目的。 再如:PDP11,PSW的7,6,5位改变会达到对某些中断的允许或禁止。,CPU响应中断的条件 (10/11),中断屏蔽 (D)实现: (b) 在外部中断源的接口,一般都设立中断屏蔽触发器,通常这个触发器的状态可由CPU用指令改变。例如当这个触发器为1时,表示不允许该中断源发出中断请求,否则为允许。 PDP-11机中,外设接口电路中的设备状态寄存器第6位就是用于这个目的。当第6位(允许中断),第7位(完成位)都成立时,才允许发中断请求。 IBMPC,8259可编程中断控制器,有中断屏蔽R,8259可接收来自外设的8个各自独立的中断请求,信号分别为IRQ0IRQ7,IRQ0优先级最高,中
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号