Download presentation
Presentation is loading. Please wait.
1
第五章 输入输出系统 5.1 概述 5.3 接口 5.3 系统总线 5.4 直接程序传送方式接口 5.5 中断方式与接口
第五章 输入输出系统 5.1 概述 5.3 接口 5.3 系统总线 5.4 直接程序传送方式接口 5.5 中断方式与接口 5.6 DMA方式接口
2
计算机I/O系统结构图
3
5.1 概 述 5.1.1 输入输出系统的发展概况 5.1.1.1 初级阶段 M.M CPU I/O
5.1 概 述 5.1.1 输入输出系统的发展概况 初级阶段 M.M CPU I/O 特点: (1)分散连接,线路复杂,故障率高。 (2)CPU和I/O串行工作,程序查询方式 (3)CPU工作效率受影响
4
5.1.1.2 总线接口阶段 主 机 总线 接 口 设 备 1 设 备n 特点:1)总线连接,故障率低
主 机 接 口 设 备 1 设 备n … … 总线 特点:1)总线连接,故障率低 2)CPU和I/O并行工作,分时占用总线:中断 3)传输不受CPU的限制:DMA
5
5.1.1.3 具有通道结构的阶段 5.1.1.4 具有 I/O 处理机的阶段 M.M 通 道 I/O
CPU M.M 通 道 I/O 特点: 1)通道可以看作是一个I/O处理器,有专用通道指令。 2) I/O通道受CPU控制:启动、停止 具有 I/O 处理机的阶段 I/O 处理机又称外围处理机(PPU),基本独立于主机工作。 它即可以完成I/O控制,还可以完成码制转换、数据校验等功能。 使I/O系统对主机来说独立性更高。
6
输入输出系统的组成 I/O系统——计算机系统中完成输入/输出功能的子系统,由I/O软件和I/O硬件两部分联合组成。 I/O硬件: 由计算机系统中所有I/O设备及其接口电路组成,是I/O系统的基础。 I/O软件: 通常指用I/O指令编制的、对I/O接口及设备进行管理和访问的程序,常称为I/O驱动程序。只有在I/O驱动程序的作用下,I/O硬件才能发挥相应的作用。 I/O编址方式: CPU访问I/O设备是通过给每台I/O设备分配一个唯一的编号来识别的,称为I/O地址。
7
常用的I/O编址方式有两种: 1)I/O与内存统一编址: I/O地址采用与主存单元地址完全一样的格式,这样I/O设备就和主存占用了同一个地址空间。此时CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。 2)I/O独立编址: 机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,称为设备码(号)。此时I/O地址空间与主存地址空间是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。 由于机器所带的I/O设备的数量比主存单元少得多,因此I/O地址空间比主存空间小得多。
8
I/O指令: 机器指令系统中完成I/O操作的一类指令,它具有一般指令的基本特征,又有其特殊性。通常指令系统中对I/O指令的安排采用两种方式: 1)隐式I/O指令: 在I/O设备与主存统一编址的机器中,所有具有访存功能的指令都可以访问I/O,因此不设置专门的I/O指令,即在指令系统一览表里查不到明显具有I/O功能的指令,称为I/O隐指令。 2)显式I/O指令: 在I/O独立编址的机器中,需要专门设置I/O指令,只有通过I/O指令才能对I/O设备进行操作。在这类机器的指令系统一览表中可明显看到I/O类指令。如In、OUT指令等。
9
I/O指令的一般格式: 操作码 命令码 设备码 操作码:给出I/O指令标志; 命令码:进一步指出I/O操作类型;
操作码 命令码 设备码 操作码:给出I/O指令标志; 命令码:进一步指出I/O操作类型; 常见的I/O操作有:输入、输出、状态测试等。 设备码:给出I/O设备的编号。
10
I/O寻址过程 由I/O指令给出要访问的I/O地址,通过地址总线发往I/O接口,接口中的设备选择电路进行识别,如地址符合即选中,CPU可对所选I/O进行读写等操作。
11
5.1.3 I/O 与主机信息传送的控制方式 1、程序查询方式(程序直接控制): 简单,CPU效率低,CPU、各外设串行工作;
2、程序中断方式: CPU利用效率略高,CPU、各外设可并行工作; 3、直接存储器存取方式(DMA): 外设直接访问内存, CPU利用效率高; 4、I/O 通道方式: 使用通道(专用处理机)来完成I/O设备数据传送,使CPU能更高效率的运行程序; 5、外围处理机方式: 使用小型、微型计算机,独立于主机(大型机)来全面完成 I/O 事务,确保 CPU 主要用于执行程序。
12
5.2 I/O 接 口 5.2.1 接口的概念 接口——硬件上广义指计算机各部件间进行连接的逻辑部件。一般指CPU和I/O设备间的连接部件,即I/O接口。 引入接口的原因:由外设的特点决定的 外设的特点: 种类和品种繁多; 工作速度快慢不一; 信号类型和电平种类不同 设置接口的理由: 1、通过设置数据缓冲实现CPU与I/O间的速度匹配; 2、通过串—并(或并—串)转换电路实现CPU与I/O之间的 数据格式转换; 3、通过电平匹配实现CPU与I/O之间的电气转换; 4、通过接收与传达控制命令实现CPU对I/O接口的控制; 5、通过保存与传送I/O状态实现CPU对I/O的查询; 6、通过设备选择电路向CPU提供I/O寻址功能。
13
5.2.2 接口的功能和组成 5.2.2.1 总线连接方式的 I/O 接口电路 (1) 设备选择线 (2) 数据线 (3) 命令线
状态线 I/O总线 设备选择线 (1) 设备选择线 (2) 数据线 (3) 命令线 (4) 状态线
14
功能 组成 选址功能 设备选择电路 传送命令的功能 命令寄存器、命令译码器 传送数据的功能 数据缓冲寄存器 反映设备状态的功能 设备状态标记
完成触发器 D 工作触发器 B 中断请求触发器 INTR 屏蔽触发器 MASK
15
5.2.2.2 I/O 接口的基本组成 外 部 设 备 数据线 命令 状态 命令线 状态线 CPU 地址线 I/O接口 数据缓冲
外 部 设 备 数据线 命令 状态 命令线 状态线 CPU 地址线 I/O接口 数据缓冲 寄存器DBR 控制逻辑电路 设备选择 电路 设备状态 标记 命令寄存器 和命令译码器
16
注意:I/O接口和I/O端口是两个不同的概念。一个接口中往往包含若干个端口,因此接口地址往往包含有若干个端口地址。
5.2.3 接口与端口 I/O端口:为了便于程序对I/O接口中的各种寄存器进行访问,通常给每个寄存器分配一个地址编号,这种编号被称为I/O端口地址,相应的寄存器也叫作I/O端口。 接口中包含的端口 数据端口 控制端口 状态端口 暂存数据信息 接受控制信息 反映接口外设的状态信息 注意:I/O接口和I/O端口是两个不同的概念。一个接口中往往包含若干个端口,因此接口地址往往包含有若干个端口地址。
17
5.2.4 I/O 接口分类 5.2.4.1 按数据传送格式划分 接口 外设 系统总线 (1)并行接口
串 并 (1)并行接口 接口与系统总线、接口与外设均按并行方式传送数据。 数据各位同时传送。 适用于设备本身并行工作,距主机较近的场合。 (2)串行接口 接口与系统总线并行传送,接口与外设串行传送。 数据逐位分时传送。 适用于设备本身串行工作,或距主机较远,或需减少传送线的情况。
18
5.2.4.2 按时序控制方式划分 系统总线 外设 接口 (1)同步接口 接口与系统总线的信息传送由统一时序信号控制。 (2)异步接口
接口与系统总线的信息传送采用异步应答方式。 不需要设定统一时钟。 异步方式与方式又可分为异步并行方式和异步串行方式
19
异步并行方式: 特点:按字或字节各位同时传送; 按应答方式进行联系。 CPU I/O 接 口 设 备 数据总线 地址总线 控制总线 字或字节
Ready Strobe 特点:按字或字节各位同时传送; 按应答方式进行联系。
20
异步串行方式: 特点:按位串行传送; 按应答方式进行联系。 这种方式要求数据格式中设置同步信息。 异步串行数据格式如下: CPU I/O
接口 设备 数据总线 地址总线 控制总线 二进制位 Ready Strobe 特点:按位串行传送; 按应答方式进行联系。 这种方式要求数据格式中设置同步信息。 异步串行数据格式如下: 起始位 (低) 奇偶 停止位 校验位 (高) 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 数据位
21
5.2.4.3 按连接方式分类 早期:辐射式,CPU和每个I/O都有直接连线.不便于增删设备 主机 I/O6 I/O3 I/O1 I/O2
按连接方式分类 早期:辐射式,CPU和每个I/O都有直接连线.不便于增删设备 主机 I/O6 I/O3 I/O1 I/O2 I/O5 I/O4
22
当前:总线式,所有I/O都通过公用的总线与CPU连接。
主 机 I/O1 I/O2 I/On …… …… 总线
23
8088系统主机板组成 3~8都是 典型的接口 3 8 6 8259A 8251 串行接口 A/D 与 D/A 2 1 7 5 4
24
5.3 总线 5.3.1为什么要用总线 计算机内部件间互连方式: 早期:分散连接
5.3 总线 5.3.1为什么要用总线 计算机内部件间互连方式: 早期:分散连接 以运算器为核心,内部连线复杂,尤其是当I/O与存储器交换信息时,都需要经过运算器,严重影响CPU的工作效率。 采用存储器为核心的分散连接结构,虽采用中断、DMA等技术,仍无法解决I/0设备与主机之间连接的灵活性。 目前:总线连接
25
5.3.2 总线及其技术特点 1、总线:是计算机系统中各部件之间的公共的信息传递通道。 2、技术特点 1)使系统中的连线大大减少,可靠性高
2)便于硬件和软件的标准化,便于接口设计 3)易于系统模块化,可替换性好 4)便于维修,即可维护性好 5)分时传送,任意时刻只有一个源发送,可由多个部件接收 6)有仲裁机制 7)缺点:传输率受带宽限制,且总线一旦故障,整个系统将瘫痪
26
注意:总线的主要组成部分为连接计算机各功能部件的逻辑电路,包括管理信息传输规则的电路,因此决不能把总线理解为单纯的连接线。
27
5.3.3 总线的分类 从不同角度有不同的分法 1、从信息传输的方向性上分 2、从传输信息的类型上分(从功能上分) 数据总 线
单向 双向 1、从信息传输的方向性上分 2、从传输信息的类型上分(从功能上分) 数据总 线 地址总线 控制总 线 双向 双向 与机器字长、存储字长有关 单向 与存储地址、 I/O地址有关
28
3、从信息传送形式上分 4.从层次上分 串 行 并 行 1)片内总线:指芯片内部的总线,如CPU芯片内的总线
串 行 并 行 4.从层次上分 1)片内总线:指芯片内部的总线,如CPU芯片内的总线 2)芯片总线:CPU片内总线的延伸,是CPU与外部硬件接口的通路。
29
3)系统总线: 芯片总线的驱动能力有限,系统中部件较多时,需加入总线驱动器,形成系统总线,又称为底板总线、内总线。通常它将计算机系统的各种插件板连在一起,构成计算机系统的总线。
30
4)通信(或设备)总线: 又称外总线,是指计算机系统之间或计算机与其他系统(设备)之间的总线。 常用的设备总线有:
连接智能仪表的IEEE-488通用接口总线 连接外设的小型计算机系统接口SCSI总线 连接串行设备的RS-232总线等
31
5)局部总线: 在系统总线之外,为两个以上模块提供的高速传输信息的通道。局部总线的产生有两种情况:一是在多主设备系统中为减轻系统总线的负载;二是在单主设备系统中为满足高速外设与CPU之间的数据传输率。
32
5.3.4 总线的标准与总线规范 1、总线标准 2、总线规范
为适应模块化设计,使各生产厂家的产品具有可组合性和可替换性,需要对总线进行规范,提出一种标准的信息传递通道。 总线标准分为两类:一类是由国际权威机构制定的( RS—232C 是美国电子工业协会(EIA)制定的) ,另一类是由某厂家设计而广泛流行的(PCI总线:Intel联合IBM,Compaq等100多家公司联合共同开发) 2、总线规范 每个总线标准都有详细的规范说明,一般包括以下几个部分 1)机械性能规范:模板尺寸、插头、连接器的规格及位置等。 2)功能规范:信号线的序号、名称及功能等。 3)电气特性的规范:信号线的电平种类、动态转换时间、负载能力等。
33
5.3.5 总线的性能指标 评价总线性能的优劣 1、总线宽度:主要是总线的位数。如4/8/16/32/64直接影响总线的传输率(吞吐量)
2、标准传输率(总线带宽) 单位时间内总线上传输数据的位数。以MB/S表示。 例如:某总线工作频率为8.33MHZ,总线宽度为16位,则标准传输率为 8.33M×2B/s=16.66MB/s 3、总线定时协议(握手机制) 数据传输采用何种时钟控制。分为同步、异步、半同步、分离式几种 4、总线控制方式:如仲裁机制、自动配置等。 5、总线复用 两种不同时出现的信号共用一组物理线路,即分时使用同一组总线,称为总线的多路分时复用。其目的在于减少芯片的引脚数。 6、信号线数:总线所包含的全部信号线的总数。 7、其它指标:如负载能力、电源电压、能否扩展等。
34
几种常见总线的性能 总线标准 数据线 总线时钟 带宽 ISA 16 8 MHz(独立) 16MBps EISA 32
VESA (VL-BUS) 32 MHz(CPU) 133 MBps PCI 64 33 MHz(独立) 64 MHz(独立) 132 MBps 266 MBps AGP 66.7 MHz(独立) 133 MHz(独立) 533 MBps RS-232 串行通信 数据终端设备(计算机)和数据通信设备(调制解调器)之间的标准接口 USB 串行接口 普通无屏蔽双绞线 带屏蔽双绞线 最高 1.5 Mbps (USB1.0) 12 Mbps (USB1.0) 480 Mbps (USB2.0)
35
5.3.6 常用的总线标准 5.3.6.1 系统总线 1). IBM PC总线和ISA总线
IBM PC总线是IBM PC/XT个人计算机采用的微型机总线。它是针对Intel 8088微处理器设计的,有62条信号线,以适应8088的8位数据线和20位地址线。 为了和Inte 等高性能16位微处理器兼容,IBM公司在PC总线基础上增加了一个36引脚的AT扩展插座而形成AT总线。IBM PC/AT总线也称为ISA总线。 ISA是将微处理器芯片总线经缓冲直接映射到系统总线上,也是一种原始的总线设计。并且,ISA总线没有支持总线仲裁的硬件逻辑,所以不支持多主设备系统。 现在,ISA总线仍然被使用,特别是在工控机中。但在这种微机系统中,为了发挥32位微处理器的性能,往往把主板上的存储器直接连到CPU的芯片总线上,而ISA总线仅作为扩展I/O模块的总线。
36
2).STD总线 1987年,STD总线最初的设计目标是和所有8位微处理器相兼容,以小尺寸(4.5in×6.5in)、高可靠性、低价格的面貌出现,为嵌入式系统提供解决手段。通常人们把STD总线称为“兰领总线”,因为它把侧重点放在工业测控应用上。 16位微处理器出现后,为了仍旧能使用该总线,采用周期窃取和总线复用技术来扩充地址线和数据线,所以STD是8位/16位兼容的总线。为了能和32位微处理器80386、80486、68030等兼容,近年来又定义了STD32总线标准,且与原来8位总线的I/O模板兼容。
37
局部总线简介 局部总线是为解决高性能CPU与低性能的系统总线之间的瓶颈问题而提出的。出于对兼容性的考虑,还不能将ISA总线淘汰掉,所以需要一个变通办法来解决该瓶颈,办法之一就是采用局部总线。 高性能CPU的芯片总线可以支持很高的数据传输率,因而可将某些模块直接挂接在芯片总线上,实际上许多主板上的存储器都是采用该方法。但对于多个模块,CPU的芯片总线驱动就能力不够了,因而需增加驱动电路,这样就形成了局部总线,它为CPU和高速的外设间提供了一条直接通路。
38
1). PCI总线 PCI总线是厂家自发制定的一种企业联盟标准总线,是专门为奔腾系列芯片而设计,可满足图形界面及高速传输率扩展卡的需求。Intel公司于1991年首先提出了PCI总线的概念。之后,Intel联合IBM,Compaq等100多家公司联合共同开发PCI总线,并于1993年推出了PCI总线标准。因局部总线PCI等非常流行和普及,现在大多数人认为局部总线PCI等就是系统总线。因此,局部总线和系统总线没有本质区别,现在统称为系统总线。 ** PCI总线的特点 (1)独立于处理器。工作频率与CPU时钟无关,可支持多机系统及未来的处理器。 (2)传输效率高。支持64位数据总线,总线速度为66MHz,最大数据传输率达528MB/s。 (3)多总线共存。PCI有良好的兼容性,可支持ISA,EISA,MCA,SCSI,IDE等多种总线,同时还预留了发展空间。
39
(4)支持两种电压。PCI提供两种信号环境:5V和3.3V,并可进行两种环境的转换,扩大了他的适应范围。
(5)具有即插即用功能。PCI标准允许PCI局部总线扩展卡和元件进行自动配置,提供了即插即用的能力。 (6)合理的管脚安排。PCI总线采用数据线和地址线复用结构,减少了总线的引用脚数,从而可节省线路空间降低设计成本,目标设备可用47引脚,总线主控设备可用49引脚。 (7)PCI对32位与64位总线的使用是透明的,它允许32位与64位器件相互协作。 (8)支持突发传输,支持总线主控方式,采用同步操作。
40
设备总线 计算机与外部设备的信息交换称为通信,这里的设备可以是外部设备,也可以是计算机。设备总线,也称为通信总线,就是实现计算机或外部设备间互连的一类总线。按通信方式可分为并行总线和串行总线。 1). RS—232C 是美国电子工业协会(EIA)与BELL等公司一起开发的1969年颁布的数据通信协议。字母RS表示Recommanded Standard(推荐标准),232是识别代码,C是标准的版本号。 RS232C总线的特点 (1)可实现双工通信 RS232C总线规定了25条线,包含两个信号通道,即第一个通道(又称主通道)和第二通道(又称副通道),因此可以实现双工通信。对于一般应用,使用最多使用9条线即可以完成,所以,在微机系统中既有25针RS—232C接口,也有9针RS—232C接口。
41
(2)具有多种传输速率,可适应不同速率的外设
RS232C规定了11种标准传输速率有:50,75,110,150,300,600,1200,2400,4800,9600,19200波特。因此,RS232C总线还可以灵活地适应于不同速率的设备。在应用时,对于慢速外设可以选低的传输速率,反之,可选较高的传输速率。 (3)采用串行传输方式,传输距离远 由于RS232C将微机的TTL电平转换为RS232C电平,其传送距离在基带传送时可达30m。若是利用光电隔离20mA电流环进行传送,其传送距离可达100m。如果在该总线接口上再加上调制解调器(MODEM),利用有线、无线或光纤进行传送,其距离会更远。 (4)采用负逻辑,抗干扰能力强 规定逻辑“1”为低于-5V的信号,逻辑“0”为大于+5V的信号。一般信号电平多采用±12V或±15V,这就大大提高了抗干扰能力。
42
(5)RS-232总线定义 引脚号 信号名称 说明 1 2 3 4 5 6 7 8 9 10 11 12 13 PG TxD RxD RTS
CTS DSR SG DCD 备用 SCF SCB 保护地 输出,发送数据 输入,接收数据 输出,请求发送 输入,允许发送 输入,数据设备就绪 信号地 输入,接收信号检出 输入,第二接收信号检出 输入,第二清除发送 14 15 16 17 18 19 20 21 22 23 24 25 SBA DB SBB DD SCA DTR CG RI CH/CI DA 输出,第二发送数据 发送码元定时(DCE) 输入,第二接收数据 输出,接收码元定时 输出,第二请求发送 输出,数据终端就绪 输出,数据质量检出 输入,振铃 数码速率选择 输出,发送码元定时
43
(6)PC机与其他设备的连接 利用PC机的RS232C串行接口总线可以实现PC机与其他的具有RS232C接口的设备或计算机的连接。 外 设
20 6 3 2 6 20 外 设 外 设 7 7 PC 2 3 2 3 PC 3 2 7 7 4 4 5 5 1 1
44
2). SCSI总线(small computer system interface)
SCSI是小型计算机系统接口简称。SCSI接口是高速硬盘接口规范,采用8/16/32位并行总线,可用于硬盘、光盘、扫描仪、打印机、磁带机等多种外围设备的连接。 下图是一个有两个主适配器和多个外设的SCSI系统,主机与适配器通过系统总线联系。
45
3). ATA(AT Attachment) 又称IDE(Integrated Drive Electronics)。从1985年上市到1992年,它一直是纯硬盘驱动接口。为了与SCSI竞争,WD公司推出了增强型IDE标准EIDE,即ATA-2标准,ATA-2不仅可以连接硬盘,而且可以连接CD-ROM磁带机等存储设备,它允许接4台设备,支持大于528MB的硬盘容量。 2001年Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出新的硬盘接口规范Serial ATA(即串行ATA),简称SATA,它以连续串行的方式传送资料,在同一时间点内只会有1位数据传输,此做法能减小接口的针脚数目,用四个针就完成了所有的工作(第1针发出、2针接收、3针供电、4针地线)。这样做法能降低电力消耗,减小发热量。
46
4). USB(UNIVERSAL SERIAL BUS )
USB总线是1994年以Intel为首包括Compad、HP、Lucent、Microsoft、NEC、Philips7家公司联合发布的新一代通用串行总线。1996年推出了标准版本USB1.0, 2000年又推出了标准版本USB2.0,2008年发布了USB3.0标准,最大传输带宽高达625MB/s,同时在使用A型的接口时向下兼容。但还未有实际产品。USB有可能取代许多总线标准,成为微机与许多外设或系统进行连接的主要或唯一的途径。
47
USB的特点 USB是一种快速的、双向的、同步的、低成本的可动态加入的串行总线。它有许多优良的性能。 (1)提供热即插即用功能
连接外设不必打开机箱,也不必关闭主机电源,能够自我识别外设,能自动在驱动器与配置间进行功能映射;可动态地加入与重新配显外设。 (2)适用范围很宽 它适用于带宽从几Kb/s到几百Mb/s范围的设备,即可连接键盘、鼠标、摄像头、游戏设备、虚拟现实外设的低速设备,也可连接电话、声卡、麦克风、压缩视频这样的全速设备,还可以连接视频、存储器、图像这样的高速设备。 (3)总线利用率高 支持同一束电缆上的同步以及异步传输,支持多设备的并行操作,支持最多127个物理设备,支持主机与设备间的多数据和消息流传输;允许接入复合设备。因为协议的额外开销较低,所以总线利用率很高。
48
(4)传输灵活 它允许传送不同大小的包,并通过适配包的大小与等待时间来允许设备数据率有一定范围的变化;它在协议中建立了用于缓冲处理的流控制。 (5)机制强壮 它在协议中建立了错误处理/故障恢复机制;可在被用户察觉的时间内识别动态加入和退出的设备,并支持故障设备的识别。 (6)提供了低成本的实现方案 它对外设与主机硬件中的集成进行了优化;适应低成本外设的开发;提供低成本电缆和连接器使用商品技术;USB结构可以升级为在一个系统中支持多个USB主机控制器。 (7)生命力强 USB是一种开放性的不具有专利版权的工业标准,因此不存在版权问题,具有强大的生命力。
49
5). IEEE1394 是IEEE在APPLE公司的高速串行总线Fire wire(火线)基础上制定的串行总线标准。
1394具有更多的外设支持能力,尤其在影视多媒体方面有优异的支持能力;使用存储器映射地址总线;有真正的即插即用和热插拔能力;提供更长的电缆(设备间4.5m,总线末端间为72m)和更高的速率(数据传输率为50Mb/s、100Mb/s、400Mb/s)。1394十分容易配置,它采用6线连接,树状结构,最多可接63个设备。在存储设备接口中,IEEE1394被认为将有可能取代SCSI及ATA接口。1997年Seagate及Maxtor分别于Comdex’97中展示了1394接口硬盘驱动器的雏形机种,1995年10月,Sony在可摄式录象机上首先将1394接口列为标准。 总之,IEEE1394是一种高速外设总线,就是面对高速外设 的。
50
6). CAN总线 .CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从。
1986年2月,在SAE(汽车工程人员协会)大会上,Rober Bosch公司提出CAN。这个由Bosch公司设计的新的总线系统.称之为“Automotive Serial Controller Area Network”(汽车串行控制局域网) 年, Intel公司推出第一片CAN控制芯片——82526。它是CAN协议的第一个在硬件上的实现。 由于采用了许多新技术及独特的设什,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。其特点可概括如下: .CAN是到目前为止唯一有国际标准的现场总线。 .CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从。 .在报文标识符上,CAN 上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多可在134μs内得到传输。 .CAN采用非破坏总线仲裁技术。当多个节点同时向总线发迭信息出现冲突时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,
51
.CAN节点只需通过对报文的标识符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。
. CAN的直接通信距离最远可达 11 km;通信速率最高可达1Mbps。 . CAN 上的节点数主要取决于总线驱动电路,目前可达 110个。 .CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。 .CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响.
52
5.3.7 总线结构 单总线结构 系统中使用唯一的一组总线(包括数据总线,地址总线,控制总线)连接所有的部件和设备。早期的小型机、微型机常采用这种结构,如 美国 DEC 公司的PDP-11 机。
53
Dennis Ritchie (站)和 Ken Thompson (坐)在一台 PDP-11前的照片
Dennis :C语言和UNIX之父 Ken :UNIX之父
54
①由于各部件只能分时使用总线,系统工作效率低。 ②总线设备之间传输速率不匹配。
单总线(系统总线) CPU M.M I/O接口 外部 设备1 设备2 … 设备n 特点:1、控制简单、便于扩充、造价低 2、易形成系统的瓶颈 ①由于各部件只能分时使用总线,系统工作效率低。 ②总线设备之间传输速率不匹配。
55
多总线结构 采用多种速率不同的总线,将工作速度相差较大的设备挂在不同的总线上,低速总线作为高速总线的一个设备工作。 主存总线 I/O总线 I/O接口 设备n … 设备0 CPU 主 存 通 道 具有特殊功能的处理 器 由通道对I/O统一管理
56
系统总线 ISA EISA … 下图是传统微机总线的结构示意图。无论高速局域网、
高性能图形设备还是低速的FAX、Modem都挂在ISA或EISA总线上,并通过ISA或EISA总线控制器与系统总线相连。 存储器 SCSI II 控制器 主存控制器 ISA EISA 8 MHz16位数据通路 标准总线控制器 33 MHz32位数据通路 系统总线 调制解调器 多媒体 高速局域网 高性能图形 CPU …
57
系统总线 PCI 桥 PCI 总线 ISA EISA
PCI总线就是一种三总线结构。由下图可知PCI总线通过PCI桥路与CPU总线相连。这种结构使CPU总线与PCI总线互相隔离,具有更高的灵活性,可以支持更多的高速运行设备,而且具有即插即用的特性。 CPU 多媒体 PCI 桥 高速局域网 高性能图形 调制解调器 图文传真 PCI 总线 系统总线 33 MHz的32位数据通路 8 MHz的16位数据通路 ISA EISA 标准总线 控制器 SCSIⅡ 存储器
58
总线结构对系统性能的影响: 总的来说:系统中总线条数越多,系统并行性越好,工作效率越高,结构越复杂,造价越高。系统中总线条数越少,越强调分时使用总线,工作效率越受影响,结构越简单,成本越低。
59
5.3.8 总线控制 总线控制的功能和特点 1、总线控制就是管理总线的使用,包括总线上设备的管理和设备使用总线的过程管理。具体功能如下: 2、特点: 总线控制的功能由总线控制器来完成。而总线控制器在实现技术上并不一定存在一个独立的控制器模块。它的功能可能分布在总线的各个部件或设备上。 总线资源的管理 资源:存储空间、I/O空间、中断、通道 管理:资源分配、冲突判定、设备选择、启动、复位 总线仲裁 总线定时(通信控制) 总线连接,实现不同总线协议之间的转换
60
5.3.8.2 总线仲裁(总线判优) 1). 总线设备分类 控制能力 信息传送 访问控制 总线主设备:对总线具有控制能力,信息传送的发起者
1). 总线设备分类 总线主设备:对总线具有控制能力,信息传送的发起者 控制能力 总线从设备:没有总线控制权,只能响应总线命令 总线源设备 总线目标设备 信息传送 存储器设备 I/O设备 访问控制
61
2). 总线仲裁方式的分类 从不同角度有不同的分类方法 从仲裁电路结构 优先排队策略 仲裁电路分布 设备状态 串行仲裁 并行仲裁 固定优先级
动态优先级 优先排队策略 集中仲裁 分布仲裁 仲裁电路分布 设备请求方式 主动 控制器查询方式 被动 “请求—查询—应答” 设备状态
62
总 线 控 制 部 件 … 3.集中仲裁的方式和特点 1)链式查询:通过一条判优链路(优先链)对所有主设备逐个串行进行查询。 I/O接口0
BS BR I/O接口1 I/O接口n BG 数据线 地址线 BS -总线忙 BR-总线请求 BG-总线同意
63
特点: ①结构简单,易于扩充设备 ②对电路故障很敏感 ③仲裁公平性差,固定优先级
查询方法:从离总线控制部件最近的设备开始查起。首先查到的一定是所有提出请求的设备中优先权最高的一个。查到最高优请求设备后,该设备通过总线忙信号BS卡断判优链路,从而占用总线。当操作结束后,该设备要及时释放总线,此时总线控制部件可以继续对其他请求设备进行判优。 特点: ①结构简单,易于扩充设备 ②对电路故障很敏感 ③仲裁公平性差,固定优先级
64
总 线 控 制 部 件 … 2)计数器定时查询: BS -总线忙 BR-总线请求 I/O接口0 BS BR I/O接口1 I/O接口n
数据线 地址线 I/O接口0 … BS BR I/O接口1 I/O接口n 设备地址
65
查询方法:查询开始,计数器计数。每计一次数,就将
计数值作为设备地址发往各个设备。每个申请总线的设备对地址进行识别,地址符合的设备获得总线控制权,停止计数。 优先级设定:由计数初值决定最高优先级,3种方法。 a.查询时计数器从‘0’开始计数,即0号设备的优先级最高; b.查询时计数器从上一次查询的终止点开始计数,则终止点优先级最高。此时优先级是循环的; c.计数初值由程序设定,此时优先级可编程改变。 特点: ①软件查询、优先级控制方式灵活。(固定、动态改变) ②对电路故障不敏感 ③控制较复杂。(增加设备地址线)
66
3)独立请求方式: 总 线 控 制 部 件 数据线 地址线 I/O接口0 I/O接口1 I/O接口n … BR0 BG0 BR1 BG1
BRn BGn BG-总线同意 BR-总线请求
67
判优方法:每一个设备专门有一根BR线和BG线,各自通过独立的请求线向总线控制部件发请求,总线控制器里设置并行排队线路,同时接收各设备发来的请求信号并同时进行排队判优,然后通过各自独立的回答线发出总线同意信号。 特点: 响应速度快 优先级控制灵活 不适合多设备的场合 注:系统中设备较多时,可以采用多种仲裁方式相结合的形式。如多链结构,链内串行,链间并行。
68
5.3.8.3 总线通信控制 1. 目的 2. 总线传输周期 解决通信双方 协调配合 问题 申请分配阶段 寻址阶段 传输阶段 结束阶段
主模块申请,总线仲裁决定 主模块向从模块 给出地址 和 命令 主模块和从模块 交换数据 主模块 撤销有关信息
69
3. 总线通信的四种方式 同步通信 异步通信 半同步通信 分离式通信 由 统一时钟信号 控制数据传送 采用 应答方式,没有公共时钟标准
同步、异步结合 充分 挖掘 系统 总线每瞬间 的 潜力
70
1)同步通信: 总线周期的概念: 一次完整的总线传送操作所需时间称为总线周期。 总线周期的基本类型:内存读 内存写 外设读 外设写
总线周期的基本类型:内存读 内存写 外设读 外设写 正常总线周期:由一次地址传送时间和一次数据传送时 间组成 。 BURST(猝发)总线周期:由一次地址传送时间和多次 数据传送时间组成。 总线上数据的读/写方向是相对于主模块而言的,即: 读:由从模块发送,主模块接收。即从主模块的角度看是读入(接收); 写:由主模块发送,从模块接收。即从主模块的角度看是向对方写(发送)。
71
同步式数据输入 T1 总线传输周期 T2 T3 T4 时钟 地址 读 命令 数据
72
同步式数据输出 T1 总线传输周期 T2 T3 T4 时钟 地址 数据 写 命令
73
时间分配:一个总线周期中分配的时钟个数是固定的,每个时钟的用途对于任一模块都是一样的,不管模块的操作速度是否一致,所有总线周期的时间是一致的(设计时必须按最慢的模块、最长的距离来安排公共时钟周期时间)。 特点:控制简单;当系统中各部件速度差异较大时,严重影响总线工作效率;灵活性差;适合于短距离、各部件速度较接近的场合。
74
2)异步通信: 异步通信是和同步通信完全对立的通信方式,通信双方无统一的时钟标准来控制数据的传送过程,各部件可按各自所需的实际时间使用总线。 时间配合:主/从部件间采用应答(握手)方式建立联系,因此,主/从模块间要增加两条应答信号线。 特点:总线周期的长短可随主/从模块的实际工作时间变化,因而当系统中各部件速度差异较大时,总线工作效率比同步通信高得多,但控制复杂,比同步通信难实现。
75
异步通信根据应答信号配合的完善程度,常分为三种类型:
主设备 从设备 请 求 回 答 不互锁 半互锁 全互锁
76
3) 半同步通信 (同步、异步 结合) 同步 发送方 用系统 时钟前沿 发信号 接收方 用系统 时钟后沿 判断、识别
同步 发送方 用系统 时钟前沿 发信号 接收方 用系统 时钟后沿 判断、识别 异步 允许不同速度的模块和谐工作 增加一条 “等待”响应信号 WAIT
77
… 以输入数据为例的半同步通信时序 T1 主模块发地址 T2 主模块发命令 Tw 当 为低电平时,等待一个 T
WAIT Tw 当 为低电平时,等待一个 T WAIT … T3 从模块提供数据 T4 从模块撤销数据,主模块撤销命令
78
时钟 总线传输周期 T1 T2 TW T3 T4 地址 读 命令 WAIT 数据
79
4) 分离式通信 充分挖掘系统总线每瞬间的潜力 一个总线传输周期 子周期1 主模块 申请 占用总线,使用完后 即 放弃总线 的使用权
子周期2 主模块 从模块 申请 占用总线,将各种信 息送至总线上
80
分离式通信特点 1. 各模块有权申请占用总线 2. 采用同步方式通信,不等对方回答 3. 各模块准备数据时,不占用总线
4. 总线被占用时,无空闲 充分发挥了总线的有效占用
81
5.3.9 总线总结: 1.为什么要用总线:分散连接连线复杂、效率低 2.总线:是计算机系统中各部件之间的公共的信息传递通道。
3.总线的特点:连线少;易于集成化,可替换性好;分时传送;缺点 4.总线的分类 5.总线标准和总线规范:机械性能、功能、电气特性等 6.总线性能指标:总线宽度、传输率等 7.总线结构 8.集中仲裁的几种方式:链式查询、计数器定时查询、独立请求的判优方法及特点 9.总线通信的四种方式:同步、异步、半同步、分离式
82
5.4 直接程序传送方式与接口 5.4.1 含义:在这种方式中.数据在CPU与外围设备之间的传送完全靠计算机程序控制,是在CPU主动控制下进行的.当需要输入/输出时,CPU暂停执行现行程序,转去执行输入/输出的服务程序,根据服务程序中的I/O指令进行数据传送. 5.4.2 程序查询流程: 单个数据的交换过程: I/O交换程序的核心部分主要由三步完成: )启动外设: CPU通过I/O指令访问外设的控制端口,发送相应的控制字,启动外设作交换数据的准备; 2)测试/转移: CPU不断地对I/O状态进行测试,每测一次,都有两种可能的结果:
83
I/O准备就绪:转3); I/O未准备就绪:转2)继续测试,直到I/O准备好为止。 3)交换一个数据(字或字节)。
现行程序 特点: 当I/O未准备就绪时,CPU需反复查询I/O状态而不能作其他事,因此称此阶段为“踏步等待”。踏步等待的存在对CPU工作效率有显著的影响。 就绪? 交换数据 启动I/O Y N 现行程序
84
5.4.2.2 成块数据交换过程: 如果CPU需要用程序查询方式交换一批数据,只要在单个数据交换流程的基础上,增加交换个数控制步骤即可。
现行程序 保存要用到的 寄存器内容 设置计数值 设置内存 缓冲区首址 修改内存地址 修改计数值 传送一个数据 Y N 启动外设 A 就绪? B 传送完?
85
程序轮询方式: 为了减少踏步等待时间的浪费, CPU可对多个I/O设备轮流进行查询,称为程序轮询方式。这是程序查询方式的改进方案。 程序轮询方式时,查询的先后顺序决定了I/O设备的优先级别,即:优先级高的先查,优先级低的后查。如果查询的设备个数安排的不合适,可能有些设备总是不被查询,导致数据丢失。 设备1 就绪? 设备2 N 设备N … 处理设备1 Y 处理设备2 处理设备N
86
5.4.3 程序查询方式的接口电路 Qn+1=S+R﹡Qn ;SR=0
程序查询方式对接口控制电路的要求最简单,主要要求设置两个状态触发器,以供CPU查询用。这两个触发器是:完成触发器D和工作触发器B。这两个触发器均为RS触发器。 当D =0,B=0时,表示I/O设备处于暂停状态; 当D =1,B=0时,表示I/O设备已经准备就绪; 当D =0,B=1时,表示I/O设备正处于准备状态; 设备选择电 路 Q & 准备就 绪 启动命 令 地址 线 SEL 启动设备 设备工作 结束 D B 1 S R S R Qn+1=S+R﹡Qn ;SR=0
87
工作过程 以输入为例 DBR ② 设备选择电路 ① ③ ④ ⑤ ⑥ D B ⑥ ③ ② ⑤ 1 1 ① ④ 输入数据 数据 线 准备就绪
Q & 数据 线 准备就绪 启动命令 地址线 SEL 输入数据 启动设备 设备工作 结束 ① ③ ④ ⑤ ⑥ D B ⑥ ③ ② ⑤ 1 1 ① ④
88
程序查询接口工作过程(以输入为例): )CPU发I/O地址地址总线接口设备选择器译码选中,发SEL信号开命令接收门; )CPU发启动命令 D置0,B置1 接口向设备发启动命令设备开始工作; )输入:CPU等待,输入设备读出数据 DBR; )外设工作完成,完成信号接口 B置0,D置1; )准备就绪信号控制总线 CPU; )输入:CPU通过输入指令(IN)将DBR中的数据取走; 若为输出,除数据传送方向相反以外,其他工作与输入相同。
89
5.5 中断方式与接口 5.5.1 中断的概念及中断的内容 概念 所谓中断(Interrupt),指计算机在执行程序的过程中,出现某种非预期的紧急事件,引起CPU暂停现行程序的执行,转去处理此事件,处理完后又返回现行程序执行的过程,叫中断,或“程序中断”。 … K K+1 中断服务程序 入口
90
一个完整的中断过程一般包括以下几方面的内容: 1)中断请求:I/O接口具有发出中断请求信号的能力 2)中断判优:优先级排队及屏蔽机制
中断的内容 一个完整的中断过程一般包括以下几方面的内容: 1)中断请求:I/O接口具有发出中断请求信号的能力 2)中断判优:优先级排队及屏蔽机制 3)中断响应:CPU对I/O的响应 4)中断服务:中断完成的具体功能 5)中断返回:中断服务完成后返回主程序 其中,中断请求和中断判优一般由IO接口完成;而中断响应、中断服务和中断返回由CPU完成 中断是一种软硬结合的技术,即一部分由硬件实现,一部分由软件实现。而由硬件实现的功能,又分别由CPU和I/O接口完成,本节主要讨论I/O接口硬件对中断技术的支持。
91
5.5.2 中断的特点及其作用 1.特点:实时性(随机性) 2.作用 CPU 与 I/O 设备并行工作 硬件故障报警与处理 实现人机交互联系
实现多道程序分时运行 实现实时控制与实时处理 实现多处理机和多计算机间的联系 实现用户程序和操作系统程序间的转换
92
5.5.3 I/O中断 中断技术的产生,使计算机具有了处理随机事件的能力,这是计算机功能上的一大进步。 如果把I/O与CPU的交换过程也作为随机事件,用程序中断技术实现,就构成了所谓的“I/O中断”。 采用程序中断实现I/O交换可使I/O操作与CPU现行程序并行运行,仅在I/O交换过程中现行程序与I/O交换程序串行运行,不用CPU踏步等待,大大提高了CPU运行效率。 发中断请求 空 闲 接 收 数据 准 备 打 印 打印机 执行主程序 继续执行主程序 响应中 断 中断返 回 启动 打印 机 传送 数 据 传 送 CPU
93
5.5.4 程序中断接口电路: 接口对中断请求的支持: 当I/O设备操作完成时,通过发中断请求信号通知CPU, 这就要求I/O接口中设置“中断请求”标记电路,以提供持续稳定的中断请求信号。 接口中通常设置了一个专门的触发器INTR来表示中断请 求状态(INTR=1),称为“中断请求触发器”。每一个向CPU发中断请求的部件,都被CPU看成是“中断源”。 当某个中断源发出中断请求信号后,CPU这边根据情况来决定是否理睬这一信号。这一功能是通过在I/O接口中设置一个“中断屏蔽触发器”(MASK)实现的。CPU通过程序设置MASK的值,一般定义:MASK=1,表示中断屏蔽,即CPU对该接口发的中断请求信号不理睬;MASK=0,表示该中断开放,CPU对其发来的中断请求信号予以响应。 由上可知,中断屏蔽触发器起着对某个中断源开关的作用,它和中断请求触发器在I/O接口中一般是成对设置的。 结论:中断请求功能一般是由接口硬件完成的。
94
配置中断请求触发器和中断屏蔽触发器 INTR 中断请求触发器 MASK 中断屏蔽触发器 D 完成触发器 中断请求 INTR MASK 1 &
Q 来自 CPU 的 中断查询信号 1 MASK 中断屏蔽触发器 & D Q D 完成触发器 受设备本身控制
95
中断排队器: 当多个中断源同时向CPU请求中断时,CPU需要按其紧急程度进行排队。对I/O设备而言,速度越高,紧急程度就越高,则安排的优先级就越高。 中断排队即可用硬件实现,也可用软件实现。软件实现时通过CPU运行一段中断查询程序完成,硬件排队判优常用的方法有两种: )独立请求方式:(并行排队) 这种方式在CPU中设一个集中式的排队电路,对所有中断源发出的请求信号同时进行排队。 INTP1 INTP2 INTP3 INTP4 1 1 & 1 & 1 & INTR1 INTR2 INTR3 INTR4 INTR1 、 INTR2 、 INTR3 、 INTR4 优先级 按 降序 排列
96
2)链式查询方式:(串行排队) 排队电路分别设置在各I/O接口中,每个接口具有排队器的一段。链式排队器逻辑示意图如下:
1 INTP1 INTP2 INTP3 INTP4 1 & INTP2 & INTR1 INTR2 INTR3 INTR4 1 & INTP1′ INTP2´ INTP3 ´ INTP4 ´ INTR1 INTR2 INTR3 INTR4 INTR1 INTR2 INTR1 INTR2
97
中断向量地址形成部件 CPU响应中断的时刻一般安排在每条指令的执行末。CPU每执行完一条指令,就向各中断源发出中断查询信号,接到查询信号后,满足条件的接口发出中断请求信号。如果通过排队胜出,需转到对应的中断服务程序执行,因此,CPU需要获得中断服务程序的入口地址。 CPU获得中断服务程序入口地址的方法有两种: )软件查询法:(非向量中断) 通过运行一段中断查询程序完成,方法同软件判优。 )硬件向量法:(向量中断) 通过硬件专门设置向量编码器获得中断服务程序入口地址。
98
… … … … … 主 存 JMP 200 JMP 300 JMP 400 打印机服务程序 显示器服务程序 12H 13H 14H 200
向量地 址 入口地 址 … 向量地 址 … 1 … 1 设备 编码器 中断向量地址 形成部件 … 排队器输出 中断入口地址产生过程: 中断请求排队判优 排队成功信号 向量编码器中断向量 主存向量地址区主存取 中断服务程序入口地址中断服务程序 注意: 中断向量地址和中断服务程序入口地址是两个不同的概念。 中断向量地址 = 中断服务程序入口地址指示器
99
5.5.5 I/O 中断处理过程 5.5.5.1 CPU 响应中断的条件和时间 (1) 条件 中断允许触发器 EINT = 1
(2) 时间 当 D = 1(随机)且 MASK = 0 时 在每条指令执行阶段的结束前 CPU 发 中断查询信号(将 INTR 置“1”)
100
5.5.5.2 I/O 中断处理过程 以输入为例 设备选择电路 DBR D Q & 数据线 启动命令 地址线 SEL 输入数据 启动设备
设备工作 结束 1 INTR B MASK 设备编码器 排队器 中断查询 来自高一级 的排队器 至低一级 向量地址 中断响应 INTA 中断请求 命令译码 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑧ ⑦ ⑥ ⑤ ② ① ④ 1 1 & 设备选择电路 ③ DBR
101
5.5.6 中断服务程序流程 5.5.6.1 中断服务程序的流程 (1) 保护现场 (2) 中断服务 (3) 恢复现场 (4) 中断返回
程序断点的保护 寄存器内容的保护 中断隐指令完成 进栈指令 (2) 中断服务 对不同的 I/O 设备具有不同内容的设备服务 (3) 恢复现场 出栈指令 (4) 中断返回 中断返回指令 单重中断和多重中断 单重中断 多重中断 不允许中断 现行的 中断服务程序 允许级别更高 的中断源 中断 现行的 中断服务程序
102
5.5.6.3 单重中断和多重中断的服务程序流程 取指令 执行指令 取指令 执行指令 否 否 单重 多重 中断否? 中断否? 中断隐指令
中断周期 是 中断周期 是 中断隐指令 中断响应 程序断点进栈 关中断 向量地址 PC 中断响应 程序断点进栈 关中断 向量地址 PC 中断服务程序 保护现场 设备服务 恢复现场 开中断 中断返回 中断服务程序 中断返回 保护现场 设备服务 恢复现场 开中断
103
主程序和服务程序抢占 CPU 示意 宏观 上 CPU 和 I/O 并行 工作 微观 上 CPU 中断现行程序 为 I/O 服务 主程序
继续执行主程序 启动外设 服务程序 (传送数据) CPU 准备工作 传送数据 发中断请求 I/O 宏观 上 CPU 和 I/O 并行 工作 微观 上 CPU 中断现行程序 为 I/O 服务
104
程序中断接口芯片 8259A 的内部结构 内部总线 缓冲器 读 / 写 逻 辑 级联缓冲 器/比较器 优先权 比较器 ( PR ) 中断
逻 辑 级联缓冲 器/比较器 优先权 比较器 ( PR ) 中断 服务 寄存 器 (ISR) 请求 (IRR) 中断屏蔽寄存器 (IMR) 控制逻辑 INT INTA D7~D0 A0 RD WR CS CAS0 CAS1 CAS2 SP/EN IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
105
5.6 DMA 传送方式 5.6.1 DMA 方式的特点及应用 概述: DMA 是在高速外设和主存储器间自动成批传送信息而尽量减少 CPU 干预的输入/输出方式。DMA方式在I/O与主存之间开辟了一条直接的数据通路,I/O交换不需通过CPU进行,大大提高了交换速度。另外,交换操作不影响CPU现行程序的执行,CPU工作效率不会下降。 CPU 主 存 ACC 中断接口 DMA 接口 I/O 设 备 中断方式数据传送通路 输入指令 输出指令 DMA方式数据传送通路
106
DMA 与主存交换数据的三种方式 1) 停止CPU访问主存: 当DMA要和主存交换数据时,CPU暂停现行程序的运行,等待DMA将一批数据全部传送完才继续工作。 这种方法实现简单,但对CPU工作效率影响较大,不是典型的DMA方式。其改进方法是在DMA控制器中设一小容量存储器,使I/O先和小内存交换,小内存再和主存交换,这样交换时可使内存全速运行,减少CPU等待时间。 这种方法与程序查询方式有点像,但有区别:不用程序查询;不破坏CPU现场,CPU只需暂停即可。 主存工作时间 CPU不执行程序 DMA不工作 DMA工作 CPU控制 并使用主存 DMA控制 t
107
2) 周期挪用(周期窃取): 当DMA交换时,CPU不需完全停止等待,可继续运行程序。每当I/O准备好一个数据时,就发出DMA请求,DMA控制器在接到请求后,申请总线控制权,占用一到二个主存周期与主存交换数据,交换完后就释放总线,CPU此时如要访存,可暂停一到二个主存周期,如不访存,可照常运行程序。 由于I/O操作比CPU慢得多,因此I/O交换占用主存的时间比例并不大,暂停一到二个主存周期对CPU工作影响不大,就像被DMA偷去了几个主存周期而CPU没有觉察一样,因此这种方式也称为“周期窃取”。这是一种典型的DMA方式。 主存工作时间 CPU控制 并使用主存 DMA控制 t
108
3)DMA与CPU交替访存: 这种方式适合CPU工作周期比主存周期长一倍以上的情况。此时一个CPU工作周期中含有两个主存周期,因此可将CPU工作周期划分为两半(C1、C2),然后规定CPU和DMA访存各用一半(如C1时DMA访存,C2时CPU访存),这样CPU与I/O可交替访存,两者的工作效率毫无影响。由于这一点,这种方式也叫“透明的DMA”。 这是一种高效的传送方式,但需要较高的技术支持,硬件结构较复杂。 主存工作时间 DMA控制 并使用主存 CPU控制 t
109
5.6.1.3 DMA的特点及应用 1)特点:靠硬件控制传送 不用保护现场 不具备处理故障的能力 优先级高,响应速度快
硬盘及软盘的I/O接口 通信信道的I/O接口 多处理机和多任务系统 CRT扫描
110
5.6.2 DMA 接口的功能和组成 DMA接口的功能: DMA接口实际上起着接口和DMA控制器双重作用。所以DMA接口中一般应包括如下功能: (1) 向 CPU 申请 DMA 传送 (2) 处理总线 控制权的转交 (3) 管理 系统总线、控制 数据传送 (4) 确定 数据传送的 首地址和长度 修正 传送过程中的数据 地址 和 长度 (5) DMA 传送结束时,给出操作完成信号
111
5.6.2.2 DMA 接口组成 AR:主存地址寄存器 WC:字计数器 DAR:设备地址寄存器 BR:数据缓冲寄存器 DMA接口 主 存
CPU DMA 控 制 逻 辑 中 断 设备 HLDA AR WC DAR HRQ 中断请求 数据线 地址线 +1 溢出信号 DREQ DACK BR AR:主存地址寄存器 WC:字计数器 DAR:设备地址寄存器 BR:数据缓冲寄存器
112
5.6.3 DMA 的工作过程 5.6.3.1 DMA 传送过程 预处理、数据传送、后处理 (1) 预处理 通过几条输入输出指令预置如下信息
设备地址 DMA 的 DAR 主存地址 DMA 的 AR 传送字数 DMA 的 WC
113
(2) DMA 传送过程示意 数据传送 DMA请求 CPU 预处理: 否 主存起始地址 允许传送? 设备地址 DMA 传送数据个数 启动设备
主存地址送总线 数据送I/O设备(或主存 ) 主存地址 加 1 传送个数 减 1 数据块 传送结束? 向CPU申请 程序中断 DMA请求 否 是 数据传送 CPU 预处理: 主存起始地址 设备地址 传送数据个数 启动设备 DMA 数据传送: 继续执行主程序 同时完成一批数据传送 后处理: 中断服务程序 做 DMA 结束处理 继续执行主程序
114
(3) 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 AR WC DAR DMA接口 主 存 CPU +1 HLDA ④
HRQ ③ 中断请求 地址线 ⑤ 数据线 ⑦ AR WC +1 溢出信号 DACK ⑥ DREQ ② BR BR BR BR BR ①
115
(4) 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 AR WC DAR DMA接口 主 存 CPU +1 HLDA ④
HRQ ③ 中断请求 地址线 ⑤ 数据线 ⑦ AR WC +1 溢出信号 DACK ⑥ DREQ ② BR BR BR BR BR ①
116
(5) 后处理 校验送入主存的数是否正确 是否继续用 DMA 测试传送过程是否正确,错则转诊断程序 由中断服务程序完成
117
5.6.3.2 DMA 接口与系统的连接方式 (1) 具有公共请求线的 DMA 请求 DMA 接口1 接口2 接口n CPU … 主存
I/O总线 数据线 地址线 DMA请求
118
(2) 独立的 DMA 请求 DMA 接口1 接口2 接口3 CPU 主存 DMA响应1 DMA请求1 DMA响应2 DMA请求2
I/O总线 数据线 地址线
119
DMA 方式与程序中断方式的比较 中断方式 DMA 方式 (1) 数据传送 程序 硬件 (2) 响应时间 指令执行结束 存取周期结束 (3) 处理异常情况 能 不能 (4) 中断请求 传送数据 后处理 (5) 优先级 低 高
120
5.6.4 DMA 接口的类型 5.6.4.1 选择型 在 物理上 连接 多个 设备 在 逻辑上 只允许连接 一个 设备 系统总线
设备地址寄存器 控制状态寄存器 数据缓冲寄存器 主存地址寄存器 时序电路 字计数器 DMA接口 CPU 主存 设备 1 设备 2 设备 n 选 择 线 系统总线
121
5.6.4.2 多路型 在 物理上 连接 多个 设备 在 逻辑上 允许连接 多个 设备同时工作 设备 DMA 接口 CPU 主存 … 链式
独立请求式
122
“外设与主机的信息交换方式”总体说明 考虑特殊情况(外设同内 方式 图示 CPU干预情况 存交换数据时) CPU执行查询 程序查询方式 外设
内存 CPU同外设交换数据 CPU响应中断 程序中断方式 外设 CPU 外设 CPU 内存 CPU可能对中断排队 CPU执行中断服务程序 CPU进行预处理和后处理 DMA方式 外设 内存 外设 内存 传送中CPU不干预 CPU仅仅启停通道 外设 内存 通道方式 外设 内存 除此以外与CPU无关系 处理机方式 外设 内存 整个过程与CPU毫无关系 外设 内存
123
5.6.5 磁盘存储器接口(磁盘适配器) 5.6.5.1 系统连接方式 主机板上DMA控制器: M 适配器 两级DMA控制器
系统总线 CPU M DMA 控制器 硬盘适配器 硬盘驱动器 主机板上DMA控制器: M 适配器 两级DMA控制器 适配器内DMA控制器: 适配器 驱动器 硬盘适配器粗框 处理机 接口 智能 主控器 驱动器 系统总线 硬盘驱动器
124
(1)处理机接口(面向系统总线一侧) (2)智能主控器 系统总线 硬盘驱动器 EPROM控制逻辑:
放有硬盘驱动程序(系统自检时被引入系统管理之下)。 I/O端口控制逻辑: 接收CPU送来的端口地址、读/写命令,访问处理机接口中的相应寄存器。 (2)智能主控器 微处理器: 执行硬盘控制程序。 RAM: 扇区缓存(存放二个扇区数据)。 ROM: 存放硬盘控制程序。
125
(3)驱动器接口(面向设备一侧) 系统总线 硬盘驱动器 DMA控制器: 控制主控RAM与驱动器之间的数据传送。 硬盘控制逻辑:
处理机 接口 智能 主控器 驱动器 系统总线 硬盘驱动器 DMA控制器: 控制主控RAM与驱动器之间的数据传送。 硬盘控制逻辑: 控制串-并转换: 并-串 写盘: 主控RAM 驱动器 串-并 读盘: 驱动器 主控RAM (3)驱动器接口(面向设备一侧) 驱动器控制逻辑: 向驱动器送出控制命令 (驱动器选择、寻道方向选择、读、写……)。 驱动器状态逻辑: (选中、就绪、寻道完成……)。 接收驱动器状态信息 传送串行数据。
126
系统总线 CPU M DMA 控制器 硬盘适配器 硬盘驱动器 硬盘调用过程(DMA方式) (1)CPU向适配器送出驱动器号、圆柱面号、磁头号、起始扇区号、扇区数等外设寻址信息;向DMA控制器送出传送方向、主存首址、交换量等信息。 (2)适配器启动寻道,并用中断方式判寻道是否正确。 (不正确,重新寻道;正确,启动磁盘读/写。) (3)适配器准备好(读盘:主控RAM满一扇区;写盘:主控RAM空一扇区),提出DMA请求。 (4)CPU响应,由DMA控制器控制总线,实现传送。 (5)批量传送完毕,适配器申请中断。 (6)CPU响应,作善后处理。
127
第五章复习提纲 1.基本概念:接口分类,总线定义、分类,中断定义、应用,DMA定义、应用。 2.中断接口的组成、设计及中断全过程。 3.磁盘调用过程(DMA方式的三个阶段)。 (请求、判优、响应、处理)
Similar presentations