• 计算机组成原理——输入/输出系统


    I/O接口

    1、下列功能中,属于I/O接口的功能是()
    a.数据格式的转换
    b.I/O过程中错误与状态检测
    c.I/O操作的控制与定时
    d.与主机和外设通信
    A、a、d
    B、a、c、d
    C、a、b、d
    D、a、b、c、d

    解析:选D
    I/O接口的功能有:
    ①选址功能
    ②传送命令功能
    ③传送数据功能
    ④反应I/O设备工作状态的功能
    对于a,数据格式的转换是接口应具有的功能,也是设置接口的原因之一
    对于b,I/O过程中错误与状态检测,对应反应I/O设备工作状态的功能
    对于c,I/O操作的控制与定时,对应传送命令功能。I/O操作就是一些命令
    对于d,与主机和外设通信,对应传送数据功能。通信就是要传送数据

    2、I/O指令实现的数据传送通常发生在()
    A、I/O设备和I/O端口之间
    B、通用寄存器和I/O设备之间
    C、I/O端口和I/O端口之间
    D、通用寄存器和I/O端口之间

    解析:选D
    I/O指令:实现对数据缓冲寄存器、状态/控制寄存器的访问操作的指令,只能在操作系统内核的底层I/O软件中使用,是一种特权指令。是由CPU发出的,因此实现的数据传送一定是与CPU有关的,而A、C并没有涉及到CPU,因此不对。
    通用寄存器存在在CPU中,“对数据缓冲寄存器、状态/控制寄存器的访问”,即对I/O端口的访问,因此/O指令实现的数据传送通常发生在通用寄存器和I/O端口之间。

    3、下列选项中,不属于I/O接口的是()
    A、磁盘驱动器
    B、打印机适配器
    C、网络控制器
    D、可编程中断控制

    解析:选A
    I/O接口即I/O控制器,其功能是接受主机发送的I/O控制信号,并实现主机和外部设备之间的信息交换。
    磁盘驱动器是由磁头、磁盘和读写电路等组成的,即磁盘,并不是I/O接口。
    打印机适配器实现的是打印机和主机之间的信息交换
    网络控制器,即网卡,是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。可以实现电缆与计算机的连接。
    可编程中断控制,微处理器与外设之间的中断处理的桥梁,由外设发出的中断请求需要中断控制器来进行处理。


    I/O方式

    1、中断判优逻辑和总线仲裁方式相类似,下列说法中正确的是()
    a.在总线仲裁方式中,独立请求方式响应时间最快,是以增加控制线数为代价的
    b.在总线仲裁方式中,计数器定时查询方式有一根总线请求(BR)和一根设备地址线,若每次计数都是从0开始,则设备号小的优先级高
    c.总线仲裁方式一般是指I/O设备争用总线的判优方式,而中断判优方式一般是指I/O设备争用CPU的判优方式
    d.中断判优逻辑既可以通过硬件实现,又可以通过软件实现
    A、a、c
    B、a、c、d
    C、a、b、d
    D、a、d

    解析:选B
    总线仲裁,系统中多个设备或模块可能同时申请对总线的使用权,为避免产生总线冲突,需由总线仲裁机构合理地控制和管理系统中需要占用总线的申请者,在多个申请者同时提出总线请求时,以一定的优先算法仲裁哪个应获得对总线的使用权。
    独立请求方式的每个I/O接口都有自己独立的总线请求和总线同意线,共2n根控制线以获得高速响应速度,以增加控制线数为代价。
    计数器定时查询方式,n个I/O接口需要⌈ log2n ⌉根设备地址线。
    总线仲裁方式一般是指I/O设备争用总线的判优方式,而中断判优方式一般是指I/O设备争用CPU的判优方式。
    中断判优逻辑既可以通过硬件实现,又可以通过软件实现。硬件实现是通过硬件排队器实现的,它既可以设置在CPU中,也可以分散在各个中断源中;软件实现是通过查询程序实现的。

    2、下列说法中,错误的是()
    A、中断服务程序一般是操作系统模块
    B、中断向量方法可以提高中断源的识别速度
    C、中断向量地址是中断服务程序的入口地址
    D、重叠处理中断的现象称为中断嵌套

    解析:选C
    对于A,中断服务程序是处理器处理的紧急事件,是一种服务,通过执行事先编好的某个特定的程序来完成,一般属于操作系统的模块。
    对于B,中断向量由向量地址形成部件,即由硬件产生,并且不同的中断源对应不同的中断服务程序,因此通过该方法,可以较快速的识别中断源
    对于C,中断向量就是中断服务程序的入口地址,因此中断向量的地址就是中断服务程序的入口地址的地址。
    对于D,中断嵌套是指中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行的过程。即重叠处理中断的现象。

    3、中断响应由高到低的优先次序宜用()
    A、访管->程序性->机器故障
    B、访管->程序性->重新启动
    C、外部->访管->程序性
    D、程序性->I/O->访管

    解析:选B
    访管中断:进程所期待的,它是自愿性的中断,是内中断。由于执行“访问管理程序”指令而产生的中断,用来使CPU的状态从用户态转入管理态,由操作系统根据不同的编号引进不同的处理。这样,操作系统为用户态程序提供对系统资源使用请求的服务。最紧迫,优先级最高,高于外部中断
    程序性中断:在现行程序执行过程中,发现了程序性的错误或出现了某些程序的特定状态而产生的中断称为程序性中断。 这些程序性错误有定点溢出、十进制溢出、十进制数错、地址错、用户态下用核态指令、越界、非法操作等。
    机器故障:机器发生错误时产生的中断,用来反映硬件在执行过程中出现的故障,以便进入诊断程序,做出处理。例如,机器电路检验错、电源故障和内存读数错。优先级最高
    重新启动:操作人员重新启动一个重新用内存,在一般情况下,处理机不能禁止这类中断。应当等其他任务完成后再进行,优先级最低。
    外部中断:它是来自计算机系统外部装置的中断,用来反映外界对本系统的要求。例如,计时器到时溢出,操作员操纵控制台按钮,在多机系统中它机送来信号。
    I/O中断:来自通道或各种外部设备的中断,用于反映通道或设备的工作情况。例如,打印机打印结束、磁盘传输完成、利用终端进行输入/输出等。

    4、在具有中断向量表的计算机中,中断向量地址是()
    A、子程序入口地址
    B、中断服务程序的入口地址
    C、中断服务程序的入口地址的地址
    D、中断程序断点

    解析:选C
    中断向量就是中断服务程序的入口地址,因此中断向量的地址就是中断服务程序的入口地址的地址。

    5、在下列情况下,可能不发生中断请求的是()
    A、DMA操作结束
    B、一条指令执行完毕
    C、机器出现故障
    D、执行“软中断”指令

    解析:选B
    对于A,DMA操作结束后,DMA控制器立即释放总线控制权,并向I/O接口发出结束信号。 当I/O接口收到结束信号后,一方面停止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。
    对于B,一条指令执行完毕可以响应中断指令,但是其本身并不会产生中断请求。
    对于C,机器出现故障,会产生机器故障中断。
    对于D,软中断:通常是硬中断服务程序对内核的中断,是由内核机制的触发事件引起的(例如进程运行超时),执行“软中断”指令时,一定会产生中断请求。软中断的一种典型应用就是所谓的"下半部"(bottom half),它的得名来自于将硬件中断处理分离成"上半部"和"下半部"两个阶段的机制:上半部在屏蔽中断的上下文中运行,用于完成关键性的处理动作;而下半部则相对来说并不是非常紧急的,通常还是比较耗时的,因此由系统自行安排运行时机,不在中断服务上下文中执行。

    6、在配有通道的计算机系统中,用户程序需要输入/输出时,引起的中断是()
    A、访管中断
    B、I/O中断
    C、程序性中断
    D、外中断

    解析:选A
    用户程序需要输入/输出时,需要调用操作系统提供的接口(请求操作系统服务),因此需要从用户态转化为核心态,此时会引起访管中断。

    7、在中断响应周期中,由()将允许中断触发器置0
    A、关中断指令
    B、中断隐指令
    C、开中断指令
    D、中断服务程序

    解析:选B
    中断隐指令:CPU响应中断后,经过某些操作,转去执行中断服务程序,这些操作是由硬件直接实现的,将其称为中断隐指令,中断隐指令并不是真正的一条指令,是一种虚拟的说法,本质上是硬件的一系列自动操作,完成的操作有:①关中断:将中断触发器由1置0;②保存断点;③引出中断服务程序。

    8、设置中断屏蔽标志可以改变()
    A、多个中断源的中断请求优先级
    B、CPU对多个中断请求响应的优先次序
    C、多个中断服务程序开始执行的顺序
    D、多个中断服务程序执行完的次序

    解析:选D
    对于A,中断请求优先级包括:中断请求响应优先级、中断请求处理优先级。而中断屏蔽标志只能改变中断请求处理优先级。
    对于B,中断请求响应的优先次序是通过硬件排队器实现的。
    对于C,中断服务程序开始执行就是CPU开始响应,因此是由硬件排队器决定的。
    对于D,中断屏蔽标志的作用是实现中断升级,改变中断处理的次序而不是响应的次序。

    9、在CPU响应中断时,保护两个关键的硬件状态是()
    A、PC和IR
    B、PC和PSW
    C、AR和IR
    D、AR和PSW

    解析:选B
    PC的内容是被中断的程序还没有执行的程序中的第一条指令的地址。PSW保存的是各种状态信息。CPU响应中断后,需要保护中断的CPU现场,将PC和PSW压入堆栈,等中断结束后,就可以将压入堆栈的原PC和PSW的内容恢复到相应的寄存器,原程序从断点开始继续执行。
    IR保存的是当前正在执行的指令的地址信息,对于中断来说,当恢复中断时,执行的是中断发生的地方的下一条指令,因此应该从PC中获取。对于异常来说,处理完异常后执行的是异常发生时正在执行的指令的地址,因此应该从IR中获取。AR保存的是当前CPU所访问的内存单元的地址。在保存现场时不需要保存这个,因为知道了指令地址,这个就可以通过指令再次访问。

    10、在各种I/O方式中,中断方式的特点是(),DMA方式的特点是()
    A、CPU与外设串行工作,传送与主程序串行工作
    B、CPU与外设并行工作,传送与主程序串行工作
    C、CPU与外设串行工作,传送与主程序并行工作
    D、CPU与外设并行工作,传送与主程序并行工作

    解析:选B、D
    在各种I/O方式中,中断方式实现CPU与外设并行工作(中断技术的特点),传送与主程序串行工作,传送be like:
    在这里插入图片描述
    DMA方式CPU与外设并行工作,传送与主程序并行工作(DMA方式在数据传送时还会继续执行主程序,并同时完成一批数据的传送)。下图是DMA的传送流程:
    在这里插入图片描述

    11、在DMA传送方式中,由()发出DMA请求,在传送期间总线控制权由()掌握。
    A、外部设备、CPU
    B、DMA控制器、DMA控制器
    C、外部设备、DMA控制器
    D、DMA控制器、内存

    解析:选C
    在DMA传送方式中,由外部设备发出DMA请求,由DMA控制器向CPU发出总线请求信号,在传送期间总线控制权由DMA控制器掌握,CPU不能响应I/O中断。

    12、关于外中断(故障除外)和DMA,下列说法中正确的是()
    A、DMA请求和中断请求同时发生时,响应DMA请求
    B、DMA请求、非屏蔽中断、可屏蔽中断都要在当前指令结束之后才能被响应
    C、非屏蔽中断请求优先级最高,可屏蔽中断请求优先级最低
    D、若不开中断,所有中断请求就不能响应

    解析:选A
    对于A,DMA连接的是高速设备,优先级高于中断请求,因此DMA请求和中断请求同时发生时,响应DMA请求
    对于B,DMA请求在每个时钟周期结束后都可以被随时响应。非屏蔽中断、可屏蔽中断都要在当前指令结束之后才能被响应。
    对于C,DMA请求优先级最高,其次是非屏蔽中断,在是程序性中断,最后是可屏蔽中断。
    对于D,若不开中断,可屏蔽中断不能被响应,DMA请求、非屏蔽中断和内中断都可以被响应。

    13、中断发生时,程序计数器内容的保护和更新是由()完成的
    A、硬件自动
    B、进栈指令和转移指令
    C、访存指令
    D、中断服务程序

    解析:选A
    中断发生时,程序计数器(PC)内容的保护和更新是由中断隐指令完成的,中断隐指令并不是真正的一条指令,是一种虚拟的说法,本质上是硬件的一系列自动操作。

    14、在DMA方式下,数据从内存传递到外设经过的路径是()
    A、内存->数据总线->数据通路->外设
    B、内存->数据总线->DMAC->外设
    C、内存->数据通路->数据总线->外设
    D、内存->CPU->外设

    解析:选B
    在DMA方式下,数据传输不需要经过CPU,但需要经过DMA控制器中的数据缓冲寄存器(DMAC),在输出时,数据由内存经过数据总线传到DMAC中,然后再传到外设,输入时,数据由外设传入DMAC在传到数据总线上,最后写入内存。

    15、下列关于中断I/O方式和DMA方式比较的叙述中,错误的是()
    A、中断I/O方式请求的是CPU处理时间,DMA方式请求的是总线使用权
    B、中断响应发生在一条指令执行结束后,DMA响应发生在一个总线事务完成后
    C、中断I/O方式下数据传送通过软件完成,DMA方式下数据传送由硬件完成
    D、中断I/O方式适用于所有外部设备,DMA方式仅适用于快速外部设备

    解析:选D
    中断I/O方式:在I/O设备输入每个数据点过程中,由于无需CPU干预,因此可以和CPU并行工作,仅当输完一个数据时,才需要CPU花费极短的时间去做一些中断处理,因此中断申请使用的是CPU的处理时间,发生的时间实在一条指令执行结束后,数据在软件的控制下完成传输。中断I/O方式不适用于高速外设,因为效率会很低,且并不是所有外设都支持中断。
    DMA方式:数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次至少传送一个数据块,DMA方式请求的是总线使用权,所传送的数据是从设备直接送入内存,或者从内存直接读到设备,仅在传送一个或多个数据块的开始或结束时,才需要CPU干预,整块数据的传输是在控制器的控制下完成的,主要适用于快速I/O设备。

    16、若某设备中断请求的响应和处理时间为100ns,每400ns发出一次中断请求,中断请求所允许的最长延迟时间为50ns,则在该设备持续工作过程中,CPU用于该设备的I/O时间占整个CPU时间的百分比至少是()
    A、12.5%
    B、25%
    C、37.5%
    D、50%

    解析:选B
    如下图,可以看到,无论是否有延时,每400ns都会有100ns用于中断请求的响应和处理。因此CPU用于该设备的I/O时间占整个CPU时间的百分比都是100/400*100%=25%。
    在这里插入图片描述

    17、下列关于外部I/O中断的叙述中,正确的是()
    A、中断控制器按所接收中断请求的先后次序进行中断优先级排队
    B、CPU响应中断时,通过执行中断隐指令完成通用寄存器的保护
    C、CPU只有在处于中断允许状态时,才能响应外部设备的中断请求
    D、有中断请求时,CPU立即暂停当前执行指令,转去执行中断服务程序

    解析:选C
    对于A,中断优先级由屏蔽字而不是请求的先后顺序决定。
    对于B,中断隐指令保护现场是指保护PC和PSW,而不是通用寄存器。通用寄存器的保护由中断服务程序完成。
    对于C,外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断,因此只有CPU处于中断允许状态时,才可以被响应。
    对于D,如果新来的中断请求优先级低于正在执行的中断请求,那么CPU会继续执行当前的指令。若新来的中断请求是可屏蔽中断,且当前正处于终端拒绝状态,则CPU也不会执行该中断。

    18、下列关于DMA方式的叙述中,正确的是()
    a.DMA传送前由设备驱动程序设备传送参数
    b.数据传送前由DMA控制器请求总线使用权
    c.数据传送由DMA控制器直接控制总线完成
    d.DMA传送结束后的处理由中断服务程序完成
    A、仅a、b
    B、仅a、c、d
    C、仅b、c、d
    D、a、b、c、d

    解析:选D
    每类设备都配置一个设备驱动程序,设备驱动程序向上层用户程序提供一组标准接口,负责实现对设备发出各种具体操作指令,用户程序不能直接和DMA打交道。DMA传送前由设备驱动程序设备传送参数。
    数据传送前由由外部设备发出DMA请求,由DMA控制器请求总线使用权
    数据传送由DMA控制器直接控制总线完成,此时CPU不能响应其他的I/O中断。
    DMA传送结束后DMA控制器向CPU发送中断请求,CPU执行中断服务程序做DMA结束处理。
    在这里插入图片描述

    19、下列事件中,属于外部中断事件的是()
    a.访存时缺页
    b.定时器到时
    c.网络数据包到达
    A、仅a、b
    B、仅a、c
    C、仅b、c
    D、a、b和c

    解析:选C
    访存时缺页属于内部中断。打印机缺页属于外部中断。
    定时器到时属于机器中断,机器中断属于外部中断。
    网络数据包到达指的是CPU处理执行指令以外的事件,属于外部中断。

    20、若设备采用周期挪用DMA方式进行输入和输出,每次DMA传送的数据块大小为512字节,相应的I/O接口中有一个32位数据缓冲寄存器。对于数据输入过程,下列叙述中,错误的是()
    A、每准备好32位数据,DMA控制器就发出一次总线请求
    B、相对于CPU,DMA控制器的总线使用权的优先级更高
    C、在整个数据块的传送过程中,CPU不可以访问主存储器
    D、数据块传送结束时,会产生“DMA传送结束”中断请求

    解析:选C
    对于A,因为相应的I/O接口中有一个32位数据缓冲寄存器,因此32位数据一次发送,每准备好32位数据,DMA控制器就发出一次总线请求。
    对于B,相对于CPU,DMA控制器的总线使用权的优先级更高,否则DMA很难获得总线的使用权,毕竟CPU几乎一直在使用总线。
    对于C,周期挪用DMA方式是由DMA控制器挪用一个或多个主存周期来访问主存,传送完一个数据字后立即释放总线,是一种单子传送方式,一个数据块包含多个字,每个字传送完后CPU可以访问主存,因此在整个数据块的传送过程中,CPU可以访问主存储器。
    对于D,数据块传送结束时,会产生“DMA传送结束”中断请求发送给CPU,CPU执行中断服务程序做DMA结束处理。

    21、下列是关于多重中断系统中CPU响应中断的叙述,错误的是()
    A、仅在用户态(执行用户程序)下,CPU才能检测和响应中断
    B、CPU只有在检测到中断请求信号后,才会进入中断响应周期
    C、进入中断响应周期时,CPU一定处于中断允许(开中断)状态
    D、若CPU检测到中断请求信号,则一定存在未被屏蔽的中断源请求信号

    解析:选A
    对于A,中断服务程序在内核态下执行,如果仅在用户态下执行,那执行一次中断,由用户态转化为内核态,此时无论再来什么中断,都无法执行,因此无法实现多重中断。
    对于B,CPU只有在检测到中断请求信号后,才会进入中断响应周期,对于优先级比当前中断低的中断,CPU是检测不到的。
    进入中断响应周期时,CPU一定处于中断允许(开中断)状态,否则无法响应该中断。
    若CPU检测到中断请求信号,则一定存在未被屏蔽的中断源请求信号,如果被屏蔽,就检测不到了。

  • 相关阅读:
    JAVA多线程
    postman查询数据库-Xmysql
    Python爬虫(二十二)_selenium案例:模拟登陆豆瓣
    4.mysql-进阶
    Vue3 中的 CSS 功能
    jdk8之Optional类判空处理
    基于C++实现表达式转换
    第八章:动态内存申请
    [教你做小游戏] 滑动选中!PC端+移动端适配!完美用户体验!斗地主手牌交互示范
    wu-framework-parent 项目明细
  • 原文地址:https://blog.csdn.net/qq_45741986/article/details/126206548