计算机组成原理学习笔记(第二部分 I/O设备和运算)

学习视频

随看随记

  • 1000,0000 是-128的补码
  • 数的左移表示增加,右移表示减小

输入输出系统

概述

输入输出系统的发展概况

  • 早期I/O设备不多,采用分散连接,CPU和I/O设备串行工作使用程序查询方式
  • 接口模块和DMA(直接存储器访问)阶段,采用总线连接。CPU和I/O设备并行工作,包括中断方式和DMA方式
  • 具有通道结构的阶段
  • 具有I/O处理机的阶段
  • 随着I/O的发展,I/O的独立性越来越强,越来越多的将数据直接通过I/O进行执行,而不经过CPU。

输入输出系统的组成

  • I/O软件
  1. I/O指令:是CPU指令中的一部分,程序员其编写好,共I/O进行调用
    操作码是I/O指令的标志,命令码CPU的普通指令的操作,设备码,指明指定的设备地址,通道地址, 寄存器地址。
  2. 通道指令:通道自身的指令。指出数组的首地址、传送字数、操作命令。
  • I/O硬件,
    普通方式:包括I/O设备,I/O接口。I/O设备通过I/O接口连接到总线上
    通道方式:包括I/O设备,设备控制器,通道。I/O设备连接到设备控制器上再连接到通道上。

I/O设备与主机的联系方式

  • I/O设备与主机的联系方式
    1. 统一编址,将I/O看成存储器中的一部分,使用和存储器一样的取数、存数指令就可以。
    2. 不统一编址,有专门的IO指令
  • 设备选址通过用设备选择电路识别是否被选中。将CPU给出的地址和I/O的地址进行比较,地址对上了就是I/O,否则就是存储器。
  • 传送方式:串行,并行。
  • 联络方式
    1. 立即响应
    2. 异步工作采用应答信号
      并行(CPU和接口之间都是并行传输的,因此这里的并行的意思是I/O接口和I/O设备之间采用异步)。I/O接口和I/O设备之间连接并行的数据线。并且采用应答的方式进行数据传输。当I/O接口准备好时,向I/O设备发出Ready信号。I/O设备信号采集好了向I/O接口发送应答信息。
      串行:起始位,数据位,终止位
      在这里插入图片描述
    3. 同步工作采用同步时标。上一部分有讲类似的,在某个时钟信号下上升沿、下降沿等标志进行联络。
  • I/O设备与主机的连接方式
    1. 辐射式连接(前文的分散式连接,一个主机和很多的外设直接通过控制线路和信号线相连,不利于增删设备)
    2. 总线连接,利于增删设备。

I/O设备与主机信息传送的控制方式

程序查询方式(CPU和I/O串行工作)
  • 整个流程中I/O将数据传输给CPU,CPU将数据传输给内存。在程序查询方式下I/O是不能直接和内存进行数据交流的,必须经过CPU。
  • CPU的查询速度较快,但是I/O的速度较慢,因此I/O会将数据放到缓存中以后再向CPU通知I/O准备好。在I/O没准备好时CPU进入踏步状态,时间被浪费。
  • 在这里插入图片描述
中断查询方式(CPU和I/O 部分并行工作)
  • 当I/O进行自身准备时,CPU运行当前指令。当需要I/O交换信息时,CPU暂停当前程序,与I/O数据交互
  • CPU会按流程正常执行程序,当I/O指明需要进行数据传输时,CPU启动中断系统,进行现场保护,执行I/O部分的数据传输工作。在传输结束后,CPU恢复原有现场,继续刚才被中断的程序。(和递归中的函数保护等操作相似)
  • CPU需要进行现场保护和现场恢复工作,会消耗额外的资源。

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

DMA方式CPU和I/O并行工作)
  • DMA(Direct Memory Access,直接存储器访问)
  • 这种方式最大的优点是I/O和存储器之间交流不需要经过CPU,节省了CPU的资源。
  • 流程:CPU按序执行程序,当I/O准备好时,DMA申请总线占用,占用一个或几个存取周期(周期挪用),通过DMA通道将I/O和存储器之间进行数据交互。时间结束后,总线归还给CPU,CPU继续执行程序。
  • 当I/O需要传输时,虽然不经过CPU了,但是需要和CPU抢占总线,CPU要把总线让出来给他们用。
  • 虽然流程中没有DMA抢占了几个存取周期,目前CPU中存有部分预存数据,可以在总线被占用时依靠预存的数据、指令等进行运算,并没有浪费CPU的时间。
  • 在这里插入图片描述
三种方式的CPU工作效率比较(I/O的自治能力越来越强)
  • 程序查询方式需要在I/O准备时,就等待I/O的操作,I/O执行完毕才执行原有程序,浪费很大。
  • 程序中断方式在I/O准备时,不需要等待I/O的操作,当准备结束时,CPU进行中断操作,等待I/O执行中断操作。之后CPU执行现行程序。CPU的浪费体现在I/O传输和启动中断操作等,浪费减小。
  • DMA方式在I/O准备时,不需要等待I/O的操作,I/O准备结束后,请求一定的存取周期。时间结束后,继续执行原有的程序。CPU在被占的存取周期中也会根据预存的数据和指令进行运作,浪费很小。
    在这里插入图片描述

外部设备

概述

  • 外部设备大致分三类
    1. 人机交互设备键盘、鼠标、打印机、显示器
    2. 计算机信息存储设备 磁盘、光盘、磁带
    3. 机一机通信设备 调制解调器等在这里插入图片描述

输入设备

  • 键盘:使用者按下按键,计算机判断那个按键按下,然后将这个按键翻译成
    按键ASCII码,将这个码传输给CPU等,实现键盘的使用。键盘读入时是通过中断读入的方式,可以方便再次启动计数器。
  • 鼠标
    1. 机械式金属球电位器
    2. 光电式.光电转换器
  • 触摸屏

输出设备

  • 显示器
    1. 字符显示 字符发生器.
    2. 图形显示 主观图像(程序主动画图)
    3. 图像显示 客观图像(目前主流的显示器的显示方式)
  • 打印机
    1. 击打式 点阵式(逐字、逐行)
    2. 非击打式. 激光(逐页)

其他

  1. A/D、D/A模拟数字(数字/模拟)转换器
    2.终端. 由键盘和显示器组成完成显示控制与存储、键盘管理及通信控制
    3.汉字处理汉字输入、汉字存储、汉字输出

多媒体技术

I/O接口

概述

  • 接口要具备的功能
  1. 实现设备的选择(设备选择线)
  2. 实现数据缓冲达到速度匹配(数据线)
  3. 实现数据串一并格式转换.(数据线)
  4. 实现电平转换(数据线)
  5. 传送控制命令(命令线)
  6. 反映设备的状态(“忙”、“就绪”“,中断请求”)(状态线)

接口的功能和组成

总线连接方式的I/O接口电路
1. 设备选择线:选择哪个I/O设备,哪个设备的哪个端口。是单向线(如图),CPU通过设备选择线,选择哪个设备,单方向向设备传输。
2. 数据线: I/O和CPU之间进行数据交流,是双向线。(有的数据线具有串并转换等功能。)
3. 命令线:CPU将自己的控制命令传输给I/O设备,(是单向线),CPU->I/O。功能包括命令缓冲和译码,以及控制I/O设备。
4. 状态线:I/O设备将自己的状态反馈给CPU,(是单向线),I/O->CPU。包括设备的状态,如准备就绪,忙,出错等。

在这里插入图片描述

接口的功能和组成
组成 功能
设备选择电路 选址功能
命令寄存器、命令译码器 传送命令的功能
数据缓冲寄存器 传送数据的功能
设备状态标记 反映设备状态的功能
  • 设备状态相关的触发器包括:完成触发器D(I/O设备工作是否准备好数据)、工作触发器B(I/O是否在工作)、中断请求触发器INTR(当出现I/O需求时,申请中断)、屏蔽触发器MASK(如果I/O优先级低于CPU正在执行的程序的话,则屏蔽该I/O设备的I/O操作。)
I/O接口的基本组成

在这里插入图片描述

接口类型
  1. 按数据传送方式分类:并行接口、串行接口
  2. 按功能选择的灵活性分类:可编程接口、不可编程接口
  3. 按通用性分类:通用接口、专用接口
  4. 按数据传送的控制方式分类:中断接口、DMA接口

程序查询方式

查询流程

  • 单个设备
  • 检查状态标记使用测试指令,询问是否准备就绪使用转移指令,交换数据使用传送指令 在这里插入图片描述
  • 多个设备
  • 根据不同I/O设备的优先级顺序,检查不同I/O设备是否准备就绪,如果没有准备就绪,就询问下一个,如果准备好了,就处理这个设备。

在这里插入图片描述

程序流程

  • 首先CPU设置计数器,用于计数数据存储。设置好主存缓冲区的首地址,启动外设。询问外设,是否已经准备好,没有准备好就一直查询,准备好了就和I/O进行数据传输,直到数据传输完成,关闭I/O传输。
    在这里插入图片描述
  • 以输入为例
  • 地址线选择想要交互的I/O设备,通过设备选择电路给出该设备的命令,同时 CPU也给出启动命令。
  • (第一个图)在开始I/O没有准备好,并要准备数据,因此D置为0(未准备好),B置为1(处于忙碌状态),启动I/O。同时I/O设备将数据存入缓冲区。
  • ( 第二个图) I/O设备存储好后, D置为1(准备好),B置为0(处于空闲状态),同时将缓冲器中的数据传输到CPU中。在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值