当前位置: 首页 > news >正文

计算机组成原理-第七章 输入/输出系统【期末复习|考研复习】

前言

总结整理不易,希望大家点赞收藏。

给大家整理了一下计算机组成原理中的重点概念,以供大家期末复习和考研复习的时候使用。
参考资料是王道的计算机组成原理和西电的计算机组成原理。


计算机组成原理系列文章传送门:
第一/二章 概述和数据的表示和运算
第三章 存储系统
第四章 指令系统
第五章 中央处理器
第六章 总线
第七章 输入/输出系统


文章目录

  • 前言
  • 第七章 输入/输出系统
    • 7.1 I/O系统基本概念
    • 7.2 I/O接口
      • 7.2.1 I/O接口的基本结构
      • 7.2.2 I/O端口的编址方式:
    • 7.3 DMA方式和中断方式的区别:
  • 8 练手题
    • 8.1
    • 8.2
    • 8.3
    • 8.4
    • 8.5
  • 总结

第七章 输入/输出系统

7.1 I/O系统基本概念

I/O控制方式主要有一下4种:
1)程序查询方式:由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息
2)程序中断方式:只在I/O设备准备就绪并向CPU发出中断请求时才予以响应
3)DMA方式:主存和I/O设备间有一条直接数据通路,当主存和I/O设备交换信息时无需调用中断服务程序.
4)通道方式:在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行I/O命令时,只需启动有关通道,通道将执行通道程序,从而完成I/O操作。

7.2 I/O接口

I/O接口的功能:
1)实现主机和外设的通信联络控制。
2)进行地址译码和设备选择。
3)实现数据缓冲。
4)信号格式的转换。
5)传送控制命令和状态信息。

7.2.1 I/O接口的基本结构

内部接口 :内部接口与系统总线相连,实质上是与内存、CPU相连,数据的传输方式只能是并行传输
外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此I/O接口需具有串/并转换功能。

7.2.2 I/O端口的编址方式:

1) 统一编址,又称存储器映射方式,是指把I/O端口当做存储器的单元进行地址分配,这种方式CPU不需要设置专门的I/O指令,用统一的访存指令 就可以访问I/O端口。
优点:需要设置专门的I/O指令,更灵活。缺点:占用存储器地址,内存容量变小,执行速度慢
2) 独立编址,又称I/O映射方式,是指I/O端口地址与存储器地址无关,独立编址CPU需要设置专门的输入/ 输出指令访问端口
优点:I/O指令和存储器指令有明显区别,程序更清晰。缺点:I/O指令少,一般只能对端口进行传送操作。增减控制的复杂性。

7.3 DMA方式和中断方式的区别:

1)中断方式是程序的切换,需要保护和恢复现场;而DMA方式除了预处理和后处理,其他时候不占用CPU的任何资源。2)对中断请求的响应只能发生在每条指令执行完毕时(即指令的执行周期之后);而对DMA请求的响应可以发生在每个机器周期结束时(在取指、间址、执行周期之后均可),只要CPU不占用总线就可以被响应。3)中断传送过程需要CPU的干预;而DMA传送过程不需要CPU的干预,故数据传输速率非常高,适合于高速外设的成组数据传送。4)DMA请求的优先级高于中断请求。5)中断方式具有对异常事件的处理能力,而DMA方式仅限于传送数据块的I/O操作。6)从数据传送来看,中断方式靠程序传送,DMA方式靠硬件传送


8 练手题

8.1

在这里插入图片描述

8.2

在这里插入图片描述

8.3

在这里插入图片描述

8.4

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

8.5

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

Northwestern University(中国分校区)很喜欢考设计题,对于总线这部分,设计题是重点

总结

计组系列更新完了,希望大家在Northwestern University(中国分校区)的复试中超常发挥,大家九月在Northwestern University(中国分校区)见!

相关文章:

  • 企业数字人虚拟形象定制解决方案
  • [SpringCloud] OpenFeign核心架构原理 (一)
  • 『运维备忘录』之 RegEx 正则表达式实例汇总
  • 学习JAVA的第十三天(基础)
  • 芋道项目部署问题指南
  • 常用“树”数据结构
  • 通信棒自动化测试工具
  • uni-app 系统状态栏高度CSS变量--status-bar-height
  • istio pod不启动及访问报RBAC错误问题解决
  • JavaWeb Response:设置响应数据
  • 如何更好的引导大语言模型进行编程的高效开发流程?
  • Kali Linux 2024.1
  • Java多线程注意事项(初级程序员必看)
  • 蓝桥杯练习题——dp
  • Python图像处理【21】基于卷积神经网络增强微光图像
  • [case10]使用RSQL实现端到端的动态查询
  • centos安装java运行环境jdk+tomcat
  • es6(二):字符串的扩展
  • JavaScript实现分页效果
  • SSH 免密登录
  • supervisor 永不挂掉的进程 安装以及使用
  • 大整数乘法-表格法
  • 什么是Javascript函数节流?
  • 突破自己的技术思维
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 06-01 点餐小程序前台界面搭建
  • ​如何在iOS手机上查看应用日志
  • $().each和$.each的区别
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (二十三)Flask之高频面试点
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (南京观海微电子)——I3C协议介绍
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • ******之网络***——物理***
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • ./configure、make、make install 命令
  • .net core webapi 大文件上传到wwwroot文件夹
  • @javax.ws.rs Webservice注解
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [Android]使用Git将项目提交到GitHub
  • [C++]指针与结构体
  • [EFI]DELL XPS13 9360电脑 Hackintosh 黑苹果efi引导文件
  • [hive小技巧]同一份数据多种处理
  • [JS7] 显示从0到99的100个数字
  • [linux] 创建用户
  • [Linux基础开发工具---vim]关于vim的介绍、vim如何配置及vim的基本操作方法
  • [nlp] tokenizer
  • [office] 图文演示excel怎样给单元格添加下拉列表 #知识分享#经验分享
  • [python] 之 装饰器