目录

1.  I/O 方式简介

2. 程序查询方式

3. 程序中断方式


1.  I/O 方式简介

2. 程序查询方式

程序查询方式流程图

 程序查询方式接口结构

一次只能传送一个字的原因在于:这种方式下,外设传过来的数据是放在寄存器中的;即使外设传的数据想放到主存中,也需要先放到 CPU 寄存器中,再从这个寄存器移到主存相应位置。

所以程序查询的方式用来管理这些高速设备是非常不科学的。
一般来说,从频率的角度来考虑,计算量会比较小,但需要对频率的概念理解准确。

系统总线和 I/O总线的区别: 点我

3. 程序中断方式

整体逻辑:

中断这种机制是用来提高整个计算机系统的工作效率的,而 I/O 这块介绍的程序中断方式只是这种中断机制在控制 I/O 设备的数据传送这一块的一个具体应用。 所以要先理解好中断机制。

中断的基本概念

中断请求的分类

 将中断分类之后,如何告诉 CPU 现在发过来的请求是哪一类呢?
做法类似中断标志位的处理,给每一类中断都设置一个特定的位置,通过这个位置上的二进制位来表示这一类中断是否提出了请求。这种情况下,当检测到某一个中断的时候,只需要看一下是哪个位置发出来的就知道是哪一类中断请求。

中断请求标记

具体的做法就是给每个中断源都设计一个中断请求标记触发器 INTR,触发器可以存放一个二进制位,当某个中断源需要提出中断请求的时候,就把这个触发器中的内容改成1,CPU 检测到这个触发器中的内容是 1 的时候就知道这个中断源提出了中断。而这个触发器可以把它整理成一个统一的硬件,设置在 CPU 中,也可以把这个标记的触发器做在那个中断源所处的硬件中。比如打印机对应的触发器就可以做在打印机中,(光电输入机一般指鼠标)。

中断可以分为内中断和外中断,内中断的发生和指令的执行有关。所以它的中断请求是否产生,在执行指令的过程中就可以顺便去做一下查询,不需要统一在某个时间点再安排。外中断和当前的指令执行是无关的,所以需要在一些特定的时间点,专门地发出一些查询信号去查询一下它们的中断请求发出的情况。


也有的地方说的是指令结束的时刻查询中断信号,这两种说法都有出现,所以遇到概念题以排除法为主,有其它更明显的错误就不要纠结这两个说法。

当然,也存在一些特殊情况,当某些指令执行时间很长的时候,可以在执行过程中设置若干个 " 查询断点 "。

查询到中断之后,CPU 要先做一定的判断再决定要不要响应中断。
允许中断(开中断)、不允许中断(关中断 )。

当有多个中断请求同时被查询到的时候,需要进行中断判优。

中断判优

流程图了解下即可。

这两种实现的方式对中断请求都是有一定的优先级的(排在前面的最先被响应)

优先级设置

在练习中遇到的优先级问题,及时积累。(这个知识点不用特意去学,在题目中积累即可)

这个时候,中断机制的工作流程就过完了两步,中断请求和中断响应,接着学习中断处理。

中断处理过程

在中断服务程序执行完成之后,需要将 PC 的内容设置为 k+1,回到中断前的任务继续执行。但是如果在执行完 k 这条指令的时候,中断服务程序是直接将 PC 的内容覆盖掉的(将 PC 的地址改为了中断服务程序的第一条指令地址),也就意味着在末尾不知道 k+1 是多少了,所以保存 PC 的任务没有办法通过中断服务程序来执行(执行中断服务程序的第一步就是把 PC 改掉)。所以想要保存 PC 需要在执行中断服务程序之前通过硬件来完成。把完成这个任务的一系列硬件操作统称为中断隐指令。

中断隐指令的任务

把各个不同的中断服务程序的入口地址统一地存在一段主存中,这个入口地址叫做中断向量,这些中断向量是放在主存的某个单元中,这个单元也有一个地址,该地址叫向量地址(中断向量的地址)。

补充:有的系统中,中断向量地址形成部件形成的不是直接的向量地址,而是中断类型号,中断类型号和向量地址是成一定的倍数关系,所以给出了中断类型号,也就意味着给出了向量地址。

那为什么不是直接给出这个中断服务程序的入口地址呢?而是先给出一个地址,在这个地址中存储入口地址(即中断向量)?
因为这样的方式下,用于存中断向量的地址是不需要修改的(中断向量存储在固定的地址)。而具体中断服务程序在哪个地方,以及有多长调整起来就非常灵活。可以把这个程序写好之后,在把这个入口地址存放到这个向量地址所对应的单元中。也就意味着中断向量地址形成部件在形成地址的时候还是之前的地址,但地址里面的内容改变了,就可以很灵活的调整这些设备所对应的中断源。也就是修改完某一个触发器所对应的中断源之后,只要对应地写出它的中断服务程序内容,然后将入口地址放到它所对应的向量地址所指出的单元中就可以了。

中断服务程序的任务

这两个图需要会画 !!

程序中断的作用

CPI 的含义是执行一条指令需要多少个时钟周期。

思考:怎么算完成了一次传送?  从外设启动开始,到下一次启动这段时间就是完成了一次传送,所以在计算的时候是 15*4。

小结:

组原7_程序查询和程序中断方式相关推荐

  1. [组原]《程序是怎样运行的》 笔记

    来源:<程序是怎样运行的> 文章目录 程序是在何种环境运行的 从源文件到可执行文件 CPU是什么 小数运算出错 操作系统和应用的关系 内存 内存和磁盘的关系 程序是在何种环境运行的 运行环 ...

  2. (计算机组成原理)第七章输入和输出系统-第四节1:I/O方式之程序查询方式

    文章目录 一:程序查询方式 二:相关例题 在(计算机组成原理)第七章输入和输出系统-第一节:I/O系统基本概念和I/O控制方式简介中我们简单介绍了I/O控制方式:I/O系统实现主机与I/O设备之间的数 ...

  3. 计算机组成原理DMA方式原理,计算机组成原理4(程序查询方式、程序中断方式、DMA方式及其I/O接口电路)...

    一.程序查询方式 1.程序查询方式的接口电路 2.符号说明 &与非门 B工作触发器 D完成触发器 3.程序查询工作过程(输入) (1)当CPU通过I/O指令启动输入设备时,该指令的设备码将通过 ...

  4. 计算机程序中断方式有几种,奥鹏离线作业计算机组成原理一、简答题1、请说明程序查询方式与中断方式各自的特点.2、提高存储器速度可采用哪些措施,请说出...

    锅头 幼苗 共回答了17个问题采纳率:94.1% 1程序查询方式控制简单,但外设和主机不能同时工作,各外设之间也不能同时工作,系统的效率很低,因此适用于外设数目不多的.程序中断方式,无须等待查询,而是 ...

  5. 计算机组成原理4(程序查询方式、程序中断方式、DMA方式及其I/O接口电路)

    文章目录 一.程序查询方式 二.程序中断方式 三.DMA方式 一.程序查询方式 1.程序查询方式的接口电路 2.符号说明 &与非门 B工作触发器 D完成触发器 3.程序查询工作过程(输入) ( ...

  6. 计算机组成原理——程序查询方式、程序中断方式

    程序查询方式 注:在程序查询方式中,当I/O设备较多时,CPU需按各个I/O设备在系统中的优先级进行逐级查询 注:在程序查询方式的程序流程中,由于传送的往往是一批数据,因此需要设置I/O设备与主机交换 ...

  7. 【Computer Organization笔记25】I/O:程序直接控制,程序中断方式,直接存储访问(DMA),通道控制方式

    本次笔记内容: P49 计算机组成原理(49) P50 计算机组成原理(50) 我的计组笔记汇总:计算机组原理成笔记 视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完 ...

  8. 程序猿常用的查询网站或方式

    程序猿常用的查询网站或方式 # 1.谷歌 # 2.github # 3.https://stackoverflow.com/

  9. 飞龙的程序员书单 - 组原、OS、网络

    组原 深入理解计算机系统 简单介绍一下,这本书包括组成原理和操作系统两大部分知识.第二.三章学完之后,逆向就算是入门了.国内的教材很少有拿汇编和C语言对比教学的书籍,这样的教学方法很实用.因为现在汇编 ...

最新文章

  1. 机器学习 LR getA()
  2. tableau必知必会之教你做品牌树的树梢(分类桑基图补丁)
  3. Android中利用HttpClient建立一次持久的连接
  4. 深入解析JNA—模拟C语言结构体
  5. CVPR2015深度学习回顾
  6. C++语言基本概念(5)
  7. matlab计算16 1 3近似值,8. 科学计算软件Matlab中默认情况下π为近似值3.1416,该近似值与π真值的( )...
  8. mysql capi函数详解_技术分享|MySQLCAPI参数MYSQL_OPT_READ_TIMEOUT的一些行为分析
  9. sql server死锁_了解SQL Server中的死锁定义
  10. brew update:以下未跟踪的工作树文件将被合并覆盖:
  11. [Andriod设计模式之旅]——Builder模式
  12. sap采购申请自动转采购订单_SAP idoc功能够强大: 采购订单修改自动触发销售订单修改...
  13. c++ vector、stack、queue、map用法总结
  14. Lock-Free编程简介
  15. XML 格式化转字符串
  16. 关于ORA-12505, TNS:listener does not currently know of SID given in connect descript的一个解决思路
  17. Electron 打包Mac安装包代码签名问题解决方案
  18. 如何将PDF文件或图片或网页中的公式变为可编辑的--mathpix快速输入公式
  19. wl_15 Scanner使用
  20. laravel阿里SDK对接

热门文章

  1. 敦智宝——努力的理由
  2. 中国计算系统- 易经 八卦卦象 坤(kūn)艮(gèn)坎(kǎn)巽(xùn)震(zhèn)离(lí)兑(duì)乾(qián)
  3. 服装供应链管理包含哪些内容,如何选择服装供应链管理系统?
  4. HibernateException - A collection with cascade=all-delete-orphan was no longer referenced by the
  5. 实现人工智能辅助医疗翻译:促进医疗国际化
  6. @Scheduled定时器
  7. 目录和文件管理相关命令
  8. php上传视频文件代码,PHP视频文件上传完整示例代码
  9. MatlabR2017b安装时遇到“应用程序并行配置不正确”的问题
  10. 原始数据哪里找?这些网站要用好!200个国内外经济/金融/行研/咨询数据网站大全(附链接)...