首页 > 其他分享 >【计算机组成原理期末总预习-自顶向下方法】第8章 IO与总线

【计算机组成原理期末总预习-自顶向下方法】第8章 IO与总线

时间:2023-06-06 22:35:55浏览次数:38  
标签:DMA 传送 中断 总线 预习 磁道 自顶向下 IO 磁盘

一、I/O设备与磁盘

  1. I/O系统性能指标:

    • 吞吐率(I/O带宽): 单位时间内从系统输入/输出多少数据
    • 响应时间: 在多长时间内完成请求的任务
  2. 外设的通用模型(抽象模型)

    image-20230606190048968
    • 通过电缆与计算机内部I/O接口进行数据、状态和控制信息的传送。电缆线中包括控制信号、状态信号和数据信号三种信号线。
    • 控制逻辑根据计算机送出的控制信息控制设备的操作,并检测设备状态送往计算机。
    • 缓冲器用于保存与计算机交换的数据信息。
    • 变换器用于实现电信号形式(内部数据)与其他形式的设备数据之间的转换。
  3. 磁盘上的数据定位(地址)

    • 磁道号、磁头号(每个盘面都对应地有一个读/写磁头)、扇区号
    • 磁盘数据的存取以块(扇区)为单位。
    • 磁盘操作包括:寻道操作、旋转等待操作(找扇区)和读写操作。
  4. 低密度与高密度磁盘

    • 低密度磁盘:各个磁道上的扇区数相同,每个磁道存储的数据量相同,内磁道的位密度比外磁道高;
    • 高密度磁盘:各个磁道上的位密度相同,各磁道存储的数据量不同,外磁道上的扇区数比内磁道多。高密度磁盘比低密度磁盘容量高很多。
  5. 磁盘容量:

    • 未格式化容量:磁盘总容量=记录面数×柱面数×内圆周长×位密度
    • 格式化容量: 磁盘数据容量=2×盘片数×磁道数/面×扇区数/磁道×512/扇区
  6. 硬盘的主要技术指标: 平均存取时间T

    • 计算:T = 平均寻道时间 + 平均旋转等待时间 + 数据传输时间(一般忽略)
    • 磁盘响应时间 = 排队延迟 + 控制器时间 + T
  7. 冗余磁盘阵列RAID

    • 基本思想:将多个独立操作的磁盘按某种方式组织成磁盘阵列(Disk Array),以增加容量。
      利用类似于主存中的多体交叉技术,将数据分散在多个磁盘上,通过这些盘并行工作来提高数据传输速度。用冗余磁盘技术来进行错误恢复以提高系统可靠性。
    • 3个特性:
      • RAID是一组物理磁盘驱动器,在操作系统下被视为一个高容量的单逻辑驱动器。
      • 数据连续或交叉地分布在一组物理磁盘上,具有高数据传输率。
      • 冗余磁盘用于存储校验信息,保证磁盘万一损坏时能恢复数据。
    • RAID不同级别的含义:表示具有上述3个特性的不同设计结构。
  8. 固态硬盘SSD

    • 采用NAND闪存芯片代替磁盘作为存储介质
    • 比磁盘速度快很多
    • 类似磁盘以区块写入和抹除的方式进行数据的读取和写入
    • 其写操作比读操作慢很多
    • 早期的SSD与主机的接口与磁盘兼容,现在的SSD采用了更快的PCI-E或M.2接口。

二、总线及系统互连、I/O接口

  1. 总线

    • 定义:总线是指在各种层次上提供部件之间的连接和交换信息的通路

    • 分类:

      • 芯片内总线: 在芯片内部各元件之间提供连接
      • 系统总线: 在系统主要功能部件(CPU 、MM和各种I/O控制器)之间提供连接。一般包括处理器总线、存储总线、I/O总线。
      image-20230606192355576 image-20230606192739603
      • 通信总线:在主机和I/O设备之间或计算机系统之间提供连接
    • 基本概念:

      • 裁决:确定哪个设备使用总线(趋势:点对点,无需裁决)

      • 总线定时:定义总线事务中的每一步何时开始、何时结束。

        分为同步(时钟信号),异步(握手信号)(趋势),半同步。

      • 并行传输:一个方向同时传输多位数据信号,故位与位需同步,慢。

        串行传输:一个方向只传输一位数据信号,无需在位之间同步,快。(趋势)

    • 性能指标

      • 总线宽度:总线中数据线的条数,决定了每次能同时传输的信息位数。
      • 总线工作频率:早期的总线通常一个时钟周期传送一次数据,工作频率等于总线时钟频率。现在有些总线一个时钟周期可以传送2次或4次数据,因此,工作频率是时钟频率的2倍或4倍。
      • 总线带宽:总线的最大数据传输率
        对于同步总线,总线带宽计算公式: B=W×F/N
        W-总线宽度;F-总线时钟频率;N-完成一次数据传送所用时钟周期数。
        F/N实际上就是总线工作频率
      • 总线传送方式
        非突发传送:每个总线事务都传送地址,一个地址对应一次数据传送。
        突发传送:即成块数据传送。突发传送总线事务中,先传送一个地址,后传送多次数据,后续数据的地址默认为前面地址自动增量。
    • 处理器总线QPI,替代了FSB

      image-20230606201232812
    • 存储器总线

      image-20230606201211922
    • I/O总线

      • 主流: PCI-Express(串行总线)

        • 两个PCI-Express设备之间以一个链路(link)相连
        • 每个链路包含多条通路(lane),可以是1,2,4,8,16
        • PCI-Express×n表示一个具有n条通路的PCI-Express链路
        • 每条通路有独立的发送和接收数据线,可同时发送和接受。
        • 每个数据字节被转换为10位信息被传输
        • PCI-Express1.0下,每条通路的发送和接受速率都是2.5Gb/s,故PCI-Express×n的带宽为:2.5Gb/s×2×n/10=0.5GB/s×n
      • I/O总线、接口、设备的关系

        image-20230606202123248
      image-20230606201925274 image-20230606202729963
  2. I/O接口

    • 定义:I/O设备控制器及其插座(如网卡、显卡、键盘适配器、磁盘控制器)

    • 5大功能

      • 数据缓冲:提供数据缓冲寄存器,以达到主机和外设工作速度的匹配。
      • 错误或状态检测:提供状态寄存器,以保存各种错误或状态信息供CPU查用。
      • 控制和定时:提供控制和定时逻辑,以接受从系统总线来的控制定时信号。
      • 数据格式转换:提供数据格式转换部件,使通过外部接口得到的数据转换为内部接口需要的格式,或在相反的方向进行数据格式转换。
      • 与主机和设备通信:上述功能通过I/O接口与主机之间、I/O接口与设备之间的通信来完成
    • I/O接口的通用结构、几大寄存器的作用

      image-20230606203135214
  3. I/O端口

    • 定义:上图

    • 两种编址方式:

      • 统一编址方式(内存映射方式)

        与主存空间统一编址,将主存空间分出一部分地址给I/O端口进行编号。(该方法是将I/O端口映射到某主存区域,故也称为“存储器映射方式”) 在这种方式下,系统使用访存指令就能够访问I/O端口。

      • 编址方式(专门的I/O指令方式)
        不和主存单元一起编号,而是单独编号,使成为一个独立的I/O地址空间。在这种方式下,系统需设置专门I/O指令来访问I/O端口,因此也称为“特殊I/O指令方式”。

三、I/O数据传送控制方式

  1. 程序直接控制方式、程序中断方式和DMA方式的各自工作过程、特点。

    image-20230606204421941
  2. 程序直接控制

    image-20230606204600666
  3. 中断

    • 中断响应:

      • 指CPU发现外部中断请求后,中止现行程序的执行,到调出中断服务程序这一过程。

      • 条件:

        ①CPU处于开中断状态。

        ②至少要有一个未被屏蔽的中断请求。

        ③当前指令刚执行完。

      • 过程:

        执行一条隐指令,来完成一次中断响应过程。具体来说,处理器做三件事:
        ① 关中断:0 => 中断允许触发器CIEN

        ② 保护断点和程序状态:PC=>EPC或堆栈,PSWR =>EPSWR或 堆栈

        ③ 识别中断源:取得中断服务程序首地址和初始PSW,分别送PC和PSWR。包括向量中断、软件查询两种方式。

        • 向量中断:从总线的数据线上取得中断类型号后得到中断服务程序首址
        • 软件查询:直接转中断查询程序image-20230606213145729
    • 中断处理过程

      image-20230606213233152

    • 多重中断和中断处理优先权的动态分配

      • 多重中断:在一个中断处理(执行中断服务程序)过程中,若有新的中断请求发生,且新中断优先级高于正在执行的中断,则中止正在执行的中断服务程序,转去处理新的中断。这种情况为多重中断,也称中断嵌套。

      • 中断优先级:包含中断响应优先级和中断处理优先级

        • 中断响应优先级:由查询程序或硬联排队线路决定的优先权,反映多个中断同时请求时选择哪个响应。

        • 中断处理优先级:当某个中断正在被处理过程中,有别的中断源的请求发生了,这时就由各中断源的中断处理优先级决定如何响应。

        • 它由正在处理的中断的中断屏蔽字来设定,可以动态调整各中断源原来的中断优先级顺序(中断响应优先级),反映该中断与其它中断之间的处理顺序关系。经典例题:

          image-20230606214805647

          image-20230606214830009

          image-20230606215008075

    • 中断响应的时点与异常处理的时点是否相同?为什么?
      在一条指令执行结束后开始查询有无中断请求,有的话立即响应,所以,一般在指令执行完时响应中断;“异常”发生在指令执行过程中,所以,不能等到指令执行完才进行异常处理。

  4. DMA

    • 基本要点

      image-20230606215658998

      image-20230606215924600

    • DMA常用的三种方式:

      • CPU停止法

        image-20230606215943992

        image-20230606220031945

      • 周期挪用法

        image-20230606220135828

      • 交替分时访问法

    • DMA传输方式的逻辑结构

      image-20230606220342624

    • DMA控制器

      DMA数据传送过程由DMA接口的控制逻辑完成,所以DMA接口也称DMA控制器。其功能为:

      • 请求。能接收外设发来的“DMA请求”信号,并能向CPU发“总线请求”信号。
      • 响应。当CPU发回“总线响应”信号后,能接管对总线的控制。
      • 发主存地址并修改。能在地址线上给出主存地址,并自动修改主存地址。
      • 根据传送方向发相应的读写信号。按不同的传送方向,在控制线上给出正确的I/O和主存的读写控制信号。
      • 确定传送数据个数。
      • 能发出DMA结束信号。引起一次DMA中断,进行数据校验等一些后处理。
    • DMA操作的三个步骤

      image-20230606220738515

      image-20230606220721670

    • DMA I/O传送方式与中断I/O传输方式的差异比较。

      image-20230606220950216

标签:DMA,传送,中断,总线,预习,磁道,自顶向下,IO,磁盘
From: https://www.cnblogs.com/vv123/p/17461915.html

相关文章

  • MyBatis学习笔记(4)—— XML映射文件の结果集(Result Maps)高级结果映射中的集合(collectio
    集合<collectionproperty="posts"ofType="domain.blog.Post"><idproperty="id"column="post_id"/><resultproperty="subject"column="post_subject"/><resultproperty="......
  • Spring 学习笔记(2)—— ApplicationContext 及 WebApplicationContext 的初始化
    前言Spring通过一个配置文件描述Bean和Bean之间的依赖关系,利用Java语言的反射功能实例化Bean,并建立Bean之间的依赖关系。BeanFactory(com.springframework.beans.factory.BeanFactory)是Spring框架最核心的接口,提供了高级IoC的配置机制。BeanFactory使管理不同类型的......
  • Spring 学习笔记(1)—— 通过一个小例子体会 IoC 的概念
    《墨攻》中的一个场面,刘德华所饰演的墨者——革离,到达梁国都成下时候,城上的梁国守军问道:“来者何人?”,刘德华回答:“墨者革离!”使用Java语言为这个场景“城门叩问”的场景编写剧本。革离是《墨攻》剧本中一个角色,我们用一个接口(interface)来表示这个角色GeLi.javapackagecom.smart.io......
  • haproxy.router.openshift.io/disable_cookies
    haproxy.router.openshift.io/disable_cookies是OpenShift中Route对象的一个注解,用于控制是否禁用HAProxy负载均衡器在请求和响应中添加Cookie。当该注解设置为true时,HAProxy负载均衡器将不会在请求和响应中添加Cookie。这对于一些特定的应用程序场景可能非常有用,例......
  • k8s Route上的annoation
    在Kubernetes中,Route对象支持使用annotation来添加元数据,以提供有关路由对象的更多信息。可以使用annotation来指定与路由对象相关的信息,例如TLS配置、负载均衡策略、重定向规则等等。要添加annotation,可以按照以下步骤进行操作:1.打开要更改的Route对象的YAML文......
  • 明解STM32—GPIO应用设计篇之IO外部中断EXTI原理及使用方法
    一、前言        在之前针对STM32的GPIO相关API函数及配置使用进行了详细的介绍,GPIO作为输入引脚时,调用相关读信号引脚函数接口就可以在程序的循环中,轮询的对输入信号进行读取检测操作,除了轮询的方式访问输入引脚,还可以通过另外一种叫做外部中断的方式来对引脚的输入信号进......
  • ERROR 1418 (HY000) at line 1323: This function has none of DETERMINISTIC, NO SQL
    ERROR1418(HY000)atline1323:ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAinitsdeclarationandbinaryloggingisenabled(you*might*wanttousethelesssafelog_bin_trust_function_creatorsvariable) 开启了bin-log,我们就必须指定......
  • compiler expression pattern match
     编译器中经常需要用到patternmatch。那么如何实现呢?比较直观的方法是使用递归。以patternmatch:y=a*(b+c)为例。首先,将其解析成一个抽象语法树:*a+bc其次,递归match:match(y,pattern)=>match(y,'*a+bc')左边是待检测的string,右边的是pattern。只要......
  • Cookie、localStorage、sessionStorage
    本文参考了以下视频cookie、localStorage和sessionStorage的区别及应用实例浏览器本地存储CookieCookie是一种存储机制HTTPCookie(也叫WebCookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据(一般不超过4kb)。浏览器会存储cookie并在下次向同一......
  • Docker for Windows 中文文档(2)——Set up tab completion in PowerShell
    在PowerShell中设置tab完成如果您希望为Docker命令提供方便的选项卡完成,可以按如下方式安装posh-dockerPowerShell模块。1.启动“elevated”PowerShell(即以管理员身份运行)。为此,请搜索PowerShell,右键单击,然后选择以管理员身份运行。当系统询问您是否允许此应用更改您的设备时,......