《计算机组成原理》输入/输出系统

您所在的位置:网站首页 在计算机中,输入输出端口编址的方式主要有 《计算机组成原理》输入/输出系统

《计算机组成原理》输入/输出系统

2024-07-10 23:53| 来源: 网络整理| 查看: 265

1.I/O接口(I/O控制器)是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。主机和外设具有各自的工作特点,它们在信息形式和工作速度上具有很大的差异,接口正是为了解决这些差异而设置的。

【I/O接口即I/O控制器,其功能是接受主机发送的I/O控制信号,并实现主机和外部设备之间的信息交换。】

1.1I/O接口的功能

I/O接口的主要功能: 1)进行地址译码和设备选择。CPU送来选择外设地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息。 2)实现主机和外设的通信联络控制。解决主机与外设时序配合问题,协调不同工作速度的外设和主机之间交换信息,以保证整个计算机系统能统一、协调地工作。 3)实现数据缓冲。CPU与外设之间的速度往往不匹配,为消除速度差异,接口必须设置数据缓冲寄存器,用于数据的暂存,以避免因速度不一致而丢失数据。 4)信号格式的转换。外设与主机两者的电平、数据格式都可能存在差异,接口应提供计算机与外设的信号格式的转换功能,如电平转换、并/串或串/并转换、模/数或数/模转换等。 5)传送控制命令和转态信息。CPU要启动某一外设时,通过接口中的命令寄存器向外设发出启动命令;外设准备就绪时,则将“准备好”状态信息送回接口中的状态寄存器,并反馈给CPU。外设向CPU提出中断请求时,CPU也应有相应的响应信号反馈给外设。

简述: 接口的功能(要解决的问题) 1.实现主机与外设的通信联络控制 2.进行地址译码和设备选择 3.实现数据缓冲 4.进行信号格式的转换 5.传送控制命令和状态信息 接口的功能(具体操作) 1.设备选择 2.传送命令 3.传送数据 4.反映I/O设备的工作状态

1.2I/O接口的基本结构

在这里插入图片描述

在这里插入图片描述

【注意:接口和端口是两个不同的概念。端口是指接口电路中可以进行读/写的寄存器,若干端口加上相应的控制逻辑才可以组成接口。】

1.3I/O接口的类型

从不同角度看,I/O接口可以分为不同的类型。 1)按数据传送方式可分为并行接口(一字节或一个字的所有位同时传送)和串行接口(一位一位地传送),接口要完成数据格式的转换。 【注意:这里所说的数据传送方式指的是外设和接口一侧的传送方式。】 2)按主机访问I/O设备的控制方式可分为程序查询接口、中断接口和DMA接口等。 3)按功能选择的灵活性可分为编程接口和不可编程接口。

1.4I/O端口及其编址

I/O端口是指接口电路中可被CPU直接访问的寄存器,主要有数据端口、状态端口和控制端口,若干端口加上相应的控制逻辑电路组成接口。通常,CPU能对数据端口执行读写操作,但对转态端口只能执行读操作,对控制端口只能执行写操作。 I/O端口要想能够被CPU访问,就必须要对各个端口进行编号,每个端口对应一个端口地址。而对I/O端口的编址方式与存储器统一编址和独立编址两种。 1)统一编址,又称存储器映射方式,是指把I/O端口当作存储器的单元进行地址分配,这种方式CPU不需要设置专门的I/O指令,用统一的访存指令就可以访问I/O端口。 优点:不需要专门的输入/输出指令,可使CPU访问I/O的操作更灵活、更方便,还可使端口有较大的编址空间。 缺点:端口占用存储器地址,使内存容量变小,而且利用存储器编址的I/O设备进行数据输入/输出操作,执行速度较慢。 在这里插入图片描述 要求在设计的时候就定好范围,不能在使用时候随意更改它的范围。 【注意:靠不同的地址码区分内存和I/O设备,I/O地址要求相对固定在地址的某部分。】 2)独立编址,又称I/O映射方式,I/O端口的地址空间与主存空间是两个独立的地址空间,因而无法从地址码的形式上区分,需要设置专门的I/O指令来访问I/O端口。 优点:输入/输出指令与存储器指令有明显区别,程序编制清晰,便于理解。 缺点:输入/输出指令少,一般只能对端口进行传送操作,尤其需要CPU提供存储器读/写、I/O设备读/写两组控制信号,增加了控制的复杂性。 【独立编址方式中I/O端口地址和主存地址可能相同】 【注意:靠不同的指令区分内存和I/O设备】 在这里插入图片描述

2.I/O方式

输入/输出系统实现主机与I/O设备之间的数据传送,可以才用不同的控制方式,各种方式在代价、性能、解决问题的着重点等方面各不相同,常用的I/O方式有程序查询、程序中断、DMA和通道等,其中前两种方式更依赖于CPU中程序指令的执行。 在这里插入图片描述

2.1程序查询方式 信息交换的控制完全由CPU执行程序实现,程序查询方式接口中设置一个数据缓冲器(数据端口)和一个设备状态寄存器(状态端口)。主机进行I/O操作时,先发出询问信号,读取设备的状态并根据设备状态决定下一步操作究竟是进行数据传送还是等待。 程序查询方式的工作流程如下: ①CPU执行初始化程序,并预置传送参数。 ②向I/O接口发出命令字,启动I/O设备。 ③从外设接口读取其转态信息。 ④CPU不断查询I/O设备状态,直到外设准备就绪 ⑤传送一次数据。 ⑥修改地址和计算器参数。 ⑦判断传送是否结束,若未结束转第③步,直到计数器为0。 在这种控制方式下,CPU一旦启动I/O,就必须停止现行程序的运行,并在现行程序中插入一段程序。程序查询方式的主要特点是CPU有“踏步”等待现象,CPU与I/O串行工作。 优点:这种方式的接口设计简单、设备量少。 缺点:CPU在信息传送过程中要花费很多时间来查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。在这里插入图片描述

在这里插入图片描述

2.2程序中断方式【注:看《操作系统》中的中断请求】

在这里插入图片描述

2.2.1程序中断的基本概念

程序中断是指计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时终止现行程序,而转去对这些异常情况或特殊请求进行处理,处理完毕后再返回到现行程序的断点处,继续执行原程序。早期的中断技术是为了处理数据传送。 中断技术的主要功能: ①实现CPU与I/O设备的并行工作。 ②处理硬件故障和软件错误。 ③实现人机交互,用户干预机器需要用到中断系统。 ④实现多道程序、分时操作,多道程序的切换需借助于中断系统。 ⑤实现处理需要借助中断系统来实现快速响应。 ⑥实现应用程序和操作系统(管态程序)的切换,称为“软中断”。 ⑦多处理器系统中处理器之间的信息交流和任务切换。 程序中断方式的思想:CPU在程序中安排好在某个时机启动某台外设,然后CPU继续执行当前的程序,不需要像查询方式那样一直等待外设准备就绪。在可以响应中断的条件下,CPU暂时终止正在执行的程序,转去执行中断服务程序为外设服务,在中断服务程序中完成一次主机与外设之间的数据传送,传送完成后,CPU返回原来的程序。 在这里插入图片描述

2.2.2程序中断的工作流程 1)中断请求 中断源是请求CPU中断的设备或事件,一台计算机允许有多个中断源。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b9e3e1b9f79a4662b09263022919c7d2.png)

在这里插入图片描述

2)中断响应判优【注意:既可以用硬件实现(硬件实现通过硬件排队器实现的),也可以用软件实现(软件实现是通过查询程序实现的)】 中断响应优先级是指CPU响应中断请求的先后顺序。由于许多中断源提出中断请求的时间都是随机的,因此当多个中断源同时提出请求时,需通过中断判优逻辑来确定响应哪个中断源的请求。 一般来说: ①不可屏蔽中断>内部异常>可屏蔽中断 ②内部异常中,硬件故障>软件中断 ③DMA中断请求优先于I/O设备传送的中断请求 ④在I/O传送类中断请求中,高速设备优先于低俗设备。 ⑤输入设备优先于输出设备 ⑥实时设备优先于普通设备 【注意:中断优先级包括相应优先级和处理优先级,响应优先级在硬件线路上是固定的,不便改动。处理优先级可利用中断屏蔽技术动态调整,以实现多重中断。】 3)CPU响应中断的条件 CPU在满足一定的条件下响应中断源发出的中断请求,并经过一些特定的操作,转去执行中断服务程序。CPU响应中断必须满足以下3个条件: ①中断源有中断请求。 ②CPU允许中断及开中断(异常和不可屏蔽中断不受此限制) ③一条指令执行完毕(异常不受此限制),且没有更紧迫的任务。 I/O设备的就绪时间是随机的,而CPU在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以获取I/O的中断请求,也就是说,CPU响应中断的时间是在每条指令执行阶段的结束时刻(前)。 【注意:这里说的中断仅指I/O中断,内部异常不属于此类情况】 _ ![在这里插入图片描述](https://img-blog.csdnimg.cn/262f453cf25347518a1ce8925fcc8bd0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVGhyaXZlX0xDWA==,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d689ce0cf6c5459bbf2dd8d56fbadcbe.png)

在这里插入图片描述

在这里插入图片描述

中断屏蔽标志的一种作用是实现中断升级,即改变中断处理的次序(注意分清中断响应次序和中断处理次序,中断响应次序由硬件排队电路决定),因此其可以改变多个中断服务程序执行完的次序。

在这里插入图片描述

2.3DMA方式:只能用于数据传输,它不具有对异常事件的处理能力,不能中断现行程序。 DMA传送过程

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

DMA方式的特点 在这里插入图片描述

主存和DMA接口之间有一条直接数据通路。由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,i/o与主机并行工作,程序和传送并行工作。 DMA方式具有下列特点:

它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问。在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。主存中要开辟专用缓冲区,及时供给和接收外设的数据。DMA传送速度快,CPU和外设并行工作,提高了系统效率。DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。 CPU对DMA请求和中断请求的响应时间是否一样? 答:不一样。DMA方式下,向CPU请求的是总线控制权,要求CPU让出总线控制权给CPU控制器,由DMA控制器来控制总线完成主存和外设之间的数据交换,所以CPU只要用完总线就可以响应请求,释放总线,让出总线控制权。CPU总是在一次总线事务完成后响应,所以DMA响应时间应该少于一个总线周期;而中断方式下请求的是CPU时间,要求CPU中止正在执行的程序,转到中断服务程序去执行,通过执行中断服务程序,对中断事件进行相应的处理。CPU总是要等到下一条指令执行结束后,才去查询有无中断请求,所以响应时间少于一个指令周期的时间。 【注意:在程序查询方式中,CPU与外设串行工作,传送与主程序串行工作。在中断方式中,CPU与外设并行工作,当数据准备好时仍然需中断主程序以执行数据传送,因此传送与主程序仍是串行的。在DMA方式中,CPU与外设、传送与主程序都是并行的。】

注意:只有具有DMA接口的设备才能产生DMA请求 即使当前设备是高速设备或需要与主机批量交换数据,若没有DMA接口的话 也不产生DMA请求。

引用内容来源------王道



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3