1 / 35

第八章 输入、输出( I/O) 系统

第八章 输入、输出( I/O) 系统. DMA 是 l/O 设备与主存储器之间由硬件组成的直接数据通路,用于高速 I/O 设备与主存之间的成组数据传送。 数据传送是在 DMA 控制器控制下进行的,由 DMA 控制器给出当前正在传送的数据的主存地址,并统计传送数据的个数以确定一组数据的传送是否已结束。在主存中要开辟连续地址的专用缓冲器,用来提供或接收传送的数据。 在数据传送前和结束后要通过程序或中断方式对缓冲器和 DMA 控制器进行预处理和后处理。. 1、 CPU 暂停方式

hyunki-noh
Download Presentation

第八章 输入、输出( I/O) 系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第八章 输入、输出(I/O)系统

  2. DMA是l/O设备与主存储器之间由硬件组成的直接数据通路,用于高速I/O设备与主存之间的成组数据传送。DMA是l/O设备与主存储器之间由硬件组成的直接数据通路,用于高速I/O设备与主存之间的成组数据传送。 数据传送是在DMA控制器控制下进行的,由DMA控制器给出当前正在传送的数据的主存地址,并统计传送数据的个数以确定一组数据的传送是否已结束。在主存中要开辟连续地址的专用缓冲器,用来提供或接收传送的数据。 在数据传送前和结束后要通过程序或中断方式对缓冲器和DMA控制器进行预处理和后处理。

  3. 1、CPU暂停方式 主机响应DMA请求后让出存储总线,直到一组数据传送完毕后,DMA控制器才把总线控制权交还给CPU,采用这种工作方式的I/O设备,在其接口中一般设置有存取速度较快的小容量存储器,I/O设备与小容量存储器交换数据,小容量存储器与主机交换数据,这样可减少DMA传送占用存储总线的时间,也即减少CPU暂停工作时间。 2、CPU周期窃取方式 DMA控制器与主存储器之间传送一个数据占用(窃取)一个CPU周期即CPU暂停工作一个周期,然后继续执行程序。 3、直接访问存储器工作方式 这是标准的 DMA工作方式,如传送数据时CPU正好不占用存储总线.则对 CPU不产生任何影响。如同时需要访问存储总线,则DMA的优先级高于CPU。

  4. CPU 主存 总线 ADR DBR DMA 控制逻辑 MAR WC CSR 中断逻辑 I/O设备 1.设备寄存器 DMA控制器中包含多个寄存器,主要的寄存器有:

  5. (1)主存地址寄存器(MAR)——该寄存器初始值为主存缓冲区的首地址,在传送前由程序送入,主存缓冲区地址是连续的。在DMA传迭期间,每交换一个字,由硬件逻辑将其自动加1,而成为下一次数据传送的主存地址。(1)主存地址寄存器(MAR)——该寄存器初始值为主存缓冲区的首地址,在传送前由程序送入,主存缓冲区地址是连续的。在DMA传迭期间,每交换一个字,由硬件逻辑将其自动加1,而成为下一次数据传送的主存地址。 (2)外围设备地址寄存器(ADR)—该寄存器存放I/O设备的设备码,或者表示设备信息存储区的寻址信息,如磁盘数据所在的区号、盘面号和柱面号等。具体内容取决于I/O设备的数据格式和地址字编址方式。 (3)字数计数器(WC)——该计数器对传送数据的总字数进行统计,在传送开始前,由程序将要传送的一组数据的字数送人 WC,以后每传送一个字(或字节)计数器自动减 1,当WC内容为零时表示数据已全部传送完毕。

  6. (4)控制与状态寄存器(CSR)—该寄存器用来存放控制字和状态字,有的接口中使用两个寄存器分别存放控制字和状态字。(4)控制与状态寄存器(CSR)—该寄存器用来存放控制字和状态字,有的接口中使用两个寄存器分别存放控制字和状态字。 (5)数据缓冲寄存器(DBR)——该寄存器用来暂存I/O设备与主存传送的数据。通常DMA与主存之间是按字传送的,而DMA与设备之间时能是按字节或块传送的。因此,DMA还可能要包括装配和拆卸字信息的硬件,如数据移位缓冲寄存器、字节计数器等。 各寄存器均有自己的总线地址,它们是主存的指定单元或I/O设备号,CPU可对这些寄存器进行读/写。 2.中断控制逻辑 DMA中断控制逻辑负责申请CPU对DMA进行预处 理和后处理。

  7. 3.DMA控制器的功能 当外设准备就绪,希望进行DMA操作时,会向DMA控制器发DMA请求信号,DMA控制器接到信号后,应能向CPU发总线请求信号。 CPU接到总线请求信号后,如果允许,则会发出DMA响应信号,此时CPU放弃对总线的控制权,由DMA控制器对总线进行控制。 DMA控制器得到总线控制权后,要往地址总线上发地址信号,修改存储器或接口的地址指针。 在DMA期间,DMA控制器应能发读/写控制信号 为决定所传送的字节数,DMA控制器中应有计数器,计数器中内容在传送期间内应能自动修改。 DMA过程结束后,DMA控制器应向CPU发结束信号,将总线控制控制权交还给CPU。

  8. 数据总线 控制寄存器 总线请求 DMA请求 总线允许 状态寄存器 控制总线 DMA回答 地址寄存器 地址总线 计数结束信号 地址 译码器 字节计数器 DMA控制器框图

  9. DMA的数据传送过程可分为三个阶段。DMA传送前预处理、数据传送及传送后处理。DMA的数据传送过程可分为三个阶段。DMA传送前预处理、数据传送及传送后处理。 1.DMA预处理 在进行DMA数据传送之前要用程序做一些必要的准备工作。先由CPU执行几条输人输出指令测试设备状态,向DMA控制器的设备地址寄存器中送人设备地址并启动设备,在主存地址寄存器中送人交换数据的主存起始地址,在数据字数寄存器中送入交换的数据个数。 在这些工作完成之后,CPU继续执行原来的程序。

  10. Y N Y 继续执行主程序 数据传送的三个阶段 第二阶段数据传送的过程

  11. 2.DMA控制I/0设备与主存之间的数据交换 I/O设备启动后,若为输人数据,则要进行以下操作 (1)从输人介质读人一个字到数据缓冲寄存器 DBR中,如 I/0设备是面向字符的,也就是一次读人的数据为一个字节,则组成一个字需经装配。 (2)向CPU发DMA请求,在取得总线控制权后将DBR中的数据送人主存的数据寄存器。 (3)将DMA中的MAR内容送主存的地址寄存器,启动写操作将数据写人主存。 (4)将WC内容减1;将MAR的内容加1,给出下一个字的地址。 (5) 判断WC是否为“0”,若不是,说明还有数据需要传送,检查无错后准备下一字的输人。若WC为“0”,表明一组数据已传送完毕,此时应置结束标志向CPU发中断请求。

  12. 若为输出数据应进行以下操作 (1)将MAR的内容送主存的地址寄存器。 (2)启动主存读操作,将对应单元的内容读人主存的数据寄存器。 (3)将主存数据寄存器的内容送到DMA的DBR中。 (4)将DBR的内容送到输出设备,若为字符设备则需将DBR内容拆成字符输出。 (5)将 WC内容减 1,MAR内容加 1,为下一个字的输出做好准备。 (6)判断WC的内容是否为0。如不为0,说明还需继续传送。输出设备处理完数据后,发DMA请求。如 WC为0或检验有错则停止传送,向 CPU发结束中断请求或出错中断请求。 3.CPU中断原程序进行后处理 若需继续交换数据,则又要对DMA控制器进行初始化。若不需交换数据,则停止外设;若为出错,则转错误诊断及处理程序。

  13. 数据总线 数据寄存器 地址总线 地址译码 软盘控制器 软盘驱动器 CS HRQ CPU HLDA CS DRQ 读写控制 8257 DMA 控制器 DACK RD WR IOR 控制总线 TC IOW MEMR MEMW

  14. 对于高速外设的成组数据交换,采用DMA方式不仅节省了CPU开销,而且提高了系统的吞吐能力。在小型、微型计算机中采用程序中断和 DMA方式进行系统的 I/O处理是有效的。 但在大、中型计算机中,外设配置多,数据传送频繁,如仍采用DMA方式存在下述问题: (1)如果为数众多的外设都配置专用的DMA控制器,将大幅度增加硬件因而提高成本,而且要为解决众多DMA同时访问主存的冲突,使控制复杂化。 (2)采用DMA传送方式的众多外设均直接由CPU管理控制,由CPU进行初始化势必会占用更多的CPU时间,而且频繁的周期挪用会降CPU执行程序的效率。 为避免上述弊病,在大、中型计算机系统中采用I/O通道方式进行数据交换。

  15. I/O通道是计算机系统中代替CPU管理控制外设的独立部件,是一种能执行有限I/O通道是计算机系统中代替CPU管理控制外设的独立部件,是一种能执行有限 I/O指令集合---通道命令的I/O处理机。 采用通道方式组织输入输出系统,一般使用四级连接方式: 主机、通道、设备控制器、I/O设备 通道通过执行通道程序实施对I/O系统的统一管理和控制。 DMA与通道的重要区别: DMA完全借助于硬件完成数据传送,而通道是通过一组通道命令与硬件一起完成数据传送。 P343页举例:IBM4300系统的I/O结构

  16. IOP不是一台独立的计算机,而是计算机系统中的一个部件。 IOP可以和CPU并行工作,提供高速的DMA处理能力,实现数据的高速传送。此外有些IOP还提供数据的变换、搜索和字装配/分拆等能力,有较多的I/O指令集。

  17. 8.5.1 概述 8.5.2 总线标准 8.5.3 Pentium机总线结构介绍

  18. 1.总线作用:多个部件之间公用的传送信息的一组连线,负责计算机各部件进行数据交换、控制信号、地址信号的发送和接收。1.总线作用:多个部件之间公用的传送信息的一组连线,负责计算机各部件进行数据交换、控制信号、地址信号的发送和接收。 2.总线组成: 信号线、总线控制器、收发电路、转换器等 3.总线分类: 传递信息物理结构:并行总线、串行总线、 总线位置:器件总线、内部总线、外部总线

  19. 4.总线功能:传递信息 (1)并行总线:多条线同时传递所有的二进制数位多位同时传递 信息,速度快;结构复杂. 计算机部件之间大量采用 (2)串行总线:多位二进制信息公用一位信号线传递速度慢,但结 构简单. 部件之间距离较远时,采用串行总线可降低成本 5.总线位置 器件总线:大规模集成电路中采用的通信总线 内部总线:计算机机箱内各个部件之间的总线 外部总线:主机与外部设备以及计算机与计算机之间使用的总线

  20. 例题 :利用串行方式传送字符,每秒传送的数据位常称为波特。假设数据传送速率是120个字符/秒,每一个字符格式规定包含10个数据位(起始位、8个数据位、停止位),问传送的波特数是多少?每个数据位占用的时间是多少? 解:波特数为: 10位 X 120 / 秒=1200波特 每个数据位占用的时间Td是波特数的倒数:Td = 1 / 1200 = 0.833 X 10-3s = 0.833ms 起始位 8个数据位 停止位 0 XXXXXXXX 1

  21. 1.物理特性:指总线的物理连接方式 总线条数、连线插头、插座形状、引脚排列方式和次序 2.功能特性:总线中每一条线的功能 3.电气特性:每条线上的信号传送方向、有效电平范围。 4.时间特性:每条线上的信号在什么时间上有效。 无论多复杂的总线和接口都需从以上4个方面分析才能正确使用。

  22. 另外,总线性能的重要指标是总线带宽,它定义总线本身所能达到的最高传输速率,单位是兆字节每秒(MB/S)。另外,总线性能的重要指标是总线带宽,它定义总线本身所能达到的最高传输速率,单位是兆字节每秒(MB/S)。 例:1)某总线在一个总线周期中并行传送4个字节的数据。假设一个总线周期等于一个总线时钟周期,总线时钟频率为33MHZ,求总线带宽是多少? 2)如果一个总线周期中并行传送64位数据,总线时钟频率升至66MHZ,求总线带宽是多少? 解:1)设总线带宽为Dr表示,总线时钟用 T=1 / f 表示,一个总线周期传送的数据量用D表示,根据定义的 Dr =D/T=D X f =4B X 33 X 106/S =132MB/S 2) 64位=8B Dr =D X f =8B X 66 X 106/S = 528MB/S

  23. 大多数计算机采用了分层次的多总线结构。在这种结构中,速度差异大的设备使用不同速度的总线。 Pentium 计算机主板是一个三层次的多总线结构,即有CPU总线、PCI总线和ISA总线。 CPU总线 也称CPU-存储器总线,它是一个64位数据线和36位地址线的同步总线。总线时钟频率为66MHz、100MHz等,CPU内部时钟是此时钟频率的倍频(超频)。可以把CPU总线看成是CPU引脚信号的延伸。

  24. 1、ISA总线 数据宽度16位/8位,工作频率8MHz,传输速率8MB/s,24位地址线 适合速度要求不太高的板卡和外设 分两组,长的一组用于插8位的与ISA兼容的板卡 该总线支持7个DMA通道和15级可屏蔽硬件中断。另外还与主板上的实时钟/日历、键盘控制器等相接。98线黑色插槽。 8MB/S 80286 处理器 主存储器 显示器 外存储器 外通信号

  25. 2、PC机局部总线(分VESA和PCI) 32位CPU总线 CPU、 CACHE 主存储器 局部总线控制器 33MB,32位局部总线 32位 ISA总线 控制器 高速 外存 图形 适配器 网络 适配器 调制解调器 磁带机 外存 储器 打印机

  26. 3、VESA总线 在CPU和外设之间开辟一条高速通路,与原有的ISA总线并排在主板上。简单方便。 数据宽度32位,工作频率33MHz,最大传输速率132MB/s 缺点: 总线直接挂在CPU上 无数据缓冲器,对CPU依赖性较大 规范化不好,兼容性差 只能带三个负载

  27. 4、PCI总线 PCI总线控制器在CPU和外设之间插入一个复杂的管理层协调数据传输。用于连接高速的I/O设备模块,如显卡、网卡、硬盘控制器等。通过“北桥”上与CPU-存储器总线连接,通过“南桥”下与ISA总线相接。 PCI总线是一个同步总线,32位(或64位)数据/地址线是同一组线,分时复用。PCI总线采用集中式仲裁方式,有专用的PCI控制器。特点如下: 不依赖CPU 提供数据缓冲,能支持10种外设 数据宽度32位,工作频率33MHz,最大传 输速率132MB/s。120线白色插槽。 总线协调性好,提供即插即用(PnP)功能

  28. 5、通用串行总线USB USB是一种通用万能插口,可以将下列的任一部件插入 USB端口:显示器、键盘、鼠标、调制解调器、游戏杆、打印机、扫描仪、视频相机等。还可以将一些USB外设进行串接即一大串设备共用PC机上一个端口。 方形4芯插座,连接时需有连接器进行级连。

  29. USB总线可提供电源,但如将多个耗电量大的外设串接起来有可能使总线过载,此时可使用一个自供电的集线器来补充功耗。USB总线可提供电源,但如将多个耗电量大的外设串接起来有可能使总线过载,此时可使用一个自供电的集线器来补充功耗。 另外USB外设可以热插拔。但是一些USB外设不能在windows95环境下使用,而需要等待软件升级到Windows 98。 理论上讲,一台配备USB端口的PC机可以处理多达127个USB设备。但是这种总线的带宽为12Mb/S,这对许多外设(例如键盘、扫描仪等)来说带宽是足够的,但当同时运行几台高性能外设时,就会发生问题。

  30. 6.IEEE 1394串行接口标准 1994年 9月成立了 IEEE 1394行业协会,促成了数字音频、视频设备基于IEEE 1394的家庭网络标准。发表了确保IEEE 1394高品质和互换性的标准书,并在IEEE 1394—1995的基础上,开始研究和发展传输速率最高可达3.2Gb/s的IEEE1394b产品。 在98年北京家用电器博览会上Sony公司以 IEEE 1394为接口,将微机与电视、音响、摄录放一体机、数据存档系统、数字相机、彩色打印机、图像采集卡等连接起来,构成了一个标准的家庭网络环境。满足了多媒体应用的需要。但该标准并不局限于家庭环境,同样适用于多种计算机外设和远程网中。

  31. IEEE 1394有以下主要特点: 1)高速率。IEEE1394一1995中规定传输率为200b/s到400Mb/s,IEEE 1394b中规定的传输率为 800Mb/S到 3.2Gb/s,其实 400Mb/S已能满足应用要求。 2)实时性。 3)总线结构。 4)热插拔。 5)即插即用

  32. 7、AGP总线 图形加速器与主存之间的通路 32位数据总线,工作频率为66MHz,能以133MHz工作,最大传输速率533MB/s HDD 图形存储器 主内存 声卡 (PCI) 网卡 主内存 图形存储器

  33. AGP(加速图形)接口 早期显示器的VGA图形适配器只起到CPU和显示器之间的接口作用,如今的适配器还起到处理三维图形/图像数据和加速三维图形/图像显示等功能。图形适配器可接在ISA,VESA或PCI接口上、在三维图形显示中,即使接到PCI总线上,其传输率也显得太低了,因此产生了AGP(accelerated graphics port)接口标准。 AGP接口可把主存和显存直接连接起来,其总线宽度为32位。时钟频率为66MHZ,最高传输率为528Mb/s。图10.21示出AGP的连接方法。

  34. 8、PCMCIA接口 PCMCIA(personal computer memory card International association)是广泛应用于笔记本电脑中的一种接口标准,是一个小型的用于扩展功能的插槽,通常用来插上存储(Flash Memory)卡。一般在机箱的旁侧留下 PCMCIA插槽位置。不用打开机箱就可接插PCMCIA卡。 大多数笔记本电脑可提供Ⅰ,Ⅱ,Ⅲ型插槽,这些插槽的区别仅在它们的厚度。长和宽是相同的,均为86.6mmX54mm,卡的引出端均为68针。I 型卡插槽厚度为3.3mm, Ⅱ型卡插槽的厚度为 10.2mm,一个Ⅲ 型插槽可作为两个Ⅱ 型插槽(厚度为 5.0mm)使用。某些公司提供Ⅳ型卡,其厚度为16mm。 在PCMCIA卡上允许制作任意一种PCI 设备,具有即插即用功能。

More Related