微型计算机系统接口.ppt
《微型计算机系统接口.ppt》由会员分享,可在线阅读,更多相关《微型计算机系统接口.ppt(193页珍藏版)》请在三一办公上搜索。
1、第6章 微型计算机系统接口,6.1 输入输出接口 6.2 I/O数据传输方式 6.3 可编程中断控制器 6.4 可编程计数器/定时器 6.5 可编程并行输入/输出接口 6.6 DMA控制器 6.7 系统控制逻辑,第六章 微型计算机系统接口,本章概述了微机系统接口的基本功能控制。具体介绍了I/O接口及数据传输方式、中断系统功能及中断处理过程、PC机的中断结构和中断矢量;分析了可编程中断控制器8259A的编程结构,归纳了8259A的工作方 式,讲述了8259A初始化命令字、操作命令字和编程应用,以及高级 可编程中断控制器APIC和串行中断控制;讲解了组成微机系统必不可少的可编程计数器/定时器 可编
2、程并行输入/输出接口 可编程DMA控制器 介绍它们的组成结构和引脚、控制字和工作方式、编程操作和应用;最后将这些处理器外围的分散控制逻辑汇总到芯片组,介绍南桥芯片 组的发展与功能。,6.1 输入输出接口,6.1.1 输入输出接口概述1.I/O接口功能输入输出接口电路位于系统总线(或局部总线)与外设之间,用它来完成系统总线(或局部总线)与外设之间的数据传输,完成系统对外设的控制与响应。从硬件上讲,接口是介于部件与总线之间的电路,适配两者完成数据传输。(1)寻址功能对系统地址总线高位进行译码,将译码输出作为片选信号以访问相应的接口电路(芯片),再根据地址总线低位选择被访问接口电路中的具体端口。(2
3、)数据锁存与缓冲 锁存解决外设与主机在速度上的差异,使它们同步工作;缓冲增强接口的驱动能力,使负载趋于平衡。(3)时序控制接口电路根据系统提供的不同时序信号(由基准的系统时钟派生)与主机协调工作。按照CPU的控制命令和外设的运行状态来组合这些时序信号,产生各种不同的相应操作控制信号。,1.I/O接口功能(续),(4)对外设的监测与控制 接收CPU送来的命令字或控制信号,对外设进行监测、控制和管理;向主机或CPU提供I/O传输的状态,供主机或CPU处理,使之与外设协调工作。(5)中断和DMA管理为使外设与CPU并行工作,或满足实时处理之需,常采用中断方式传送数据;对高速大批量数据传输常采用DMA
4、(直接存储器存取)方式。接口电路应能受理外设的中断请求或DMA请求信号并向CPU申请,接收CPU相应的响应信号并处理与外设的数据传输。(6)信息变换外设的信息形态与数据格式复杂多样,要求接口电路能在主机与外设之间进行各种信息变换:数/模与模/数转换、并/串与串/并转换、电平转换、数据格式转换等。主机与外设通过接口传送信息,按所传送信息的内容和功能可分为数据、状态和控制三类,它们各自通过接口内不同的端口寄存器传送而相互区分开来。按主机与外设之间所传输信息的形态可将其分为三种类型:数字量、模拟量和开关量。,2.接口基本结构,接口电路可以很简单,简单得可以由几个甚至一个三态门构成;以VLSI芯片为主
5、构成的接口电路,其复杂程度有的不亚于8位CPU。接口电路通常做在一块超大规模集成电路接口芯片上,根据需要也有用中小规模集成电路芯片构成的。不同规模和功能的接口电路,其结构虽各有不同,但一般是由寄存器和控制逻辑两大部分组成,每部分又包含几个基本模块,如下图所示。,2.接口基本结构(续),(1)端口寄存器这部分包括输入缓冲寄存器、输出缓冲寄存器、控制寄存器和状态寄存器,它们是接口电路的核心,每个寄存器表示一个I/O端口,对应一个I/O端口地址。数据缓冲寄存器 输入缓冲寄存器暂时存放输入设备送来的数据,供CPU读取;输出缓冲寄存器暂时存放CPU送出的数据,缓冲后送给输出设备。输入输出缓冲寄存器在高速
6、CPU与低速外设之间起到协调、缓冲作用,实现数据传送的同步。数据缓冲寄存器通常具有三态功能。控制寄存器 控制寄存器用来存放CPU发来的控制命令和有关信息,以规定接口电路的功能和工作方式。VLSI接口芯片一般具有可编程特性,一个接口芯片具有多种不同的工作方式和功能,可通过编程来设定,使用上十分灵活方便。控制寄存器一般是只写寄存器,其内容只能由CPU写入,不能读出。状态寄存器 状态寄存器记录外设的当前状态和I/O操作状况。CPU用输入指令读取状态寄存器的内容,从而了解外设的当前状况和数据传输过程中发生的有关情况,据此作出相应判断,执行相应操作,使主机能安全可靠地通过接口完成数据传输。,2.接口基本
7、结构(续),(1)控制逻辑电路为确保CPU通过接口正确地传输数据,接口中还必须包含如下的控制逻辑电路。数据总线缓冲器 接口芯片内部数据总线经数据总线缓冲器与系统总线相连接;如果芯片负载较重,可在片外再加一级总线缓冲与系统数据总线相连。地址译码 系统地址总线高位经片外的地址译码器译码来选择接口芯片,低位地址线在片内译码后选择接口芯片内部相应的端口寄存器,使CPU正确无误地与指定的外设完成相应的I/O操作。内部控制逻辑 接收来自系统的控制输入,产生接口电路内部的控制信号,实现系统控制总线与内部控制信号之间的转换。联络控制逻辑 接收CPU有关控制信号,生成给外设的准备好信号和相应的状态;接收外设的选
8、通信号,产生相应状态标志和中断请求信号。上图是接口电路的通常组成,并非所有接口全部具备。一般而言,数据缓冲寄存器、端口地址译码器和输入输出控制逻辑是不可少的,其它部分视接口功能强弱和I/O操作的同步方式而定。,3.接口分类,计算机各部件与总线之间、各部件相互之间都要经过相应的接口电路连接,接口是组成计算机系统的关键之一。按接口在计算机系统中所起的作用,可分为三类:系统接口 这是和主机配套的必不可少的接口,它是微机的一部分,包括存储管理、总线仲裁、中断控制、DMA控制等。通用输入输出接口 提供给一般并行或串行外设的通用接口,如并行I/O接口、串行I/O接口等。专用I/O接口 与专用I/O设备配套
9、的接口,如键盘控制、CRT控制、打印控制、磁盘控制等接口。按接口所连接部件的功能和形态可分为四种:用户交互接口 这类接口接收来自用户的信息或向用户发送信息(数据或命令),完成人机交互。如键盘/显示器接口、光笔/显示器接口、打印机接口、语音识别接口等,它们主要完成信息表示方法和数据传输速率的转换。内务操作接口 这是支撑以处理器为核心的基本系统正常运转、实施基本的控制功能、进行基本处理所必须的接口,包括总线驱动器、数据总线收发器、内存接口、时钟电路等。传感接口 感知外界被检测对象有关参数、状态及其变化的接口。这种接口能将被检测对象的物理参数模拟量转换成数字量送主机进行处理。控制接口 连接计算机和控
10、制设备的接口,能将计算机输出的数字量控制信号进行功率放大或数/模转换,进而控制执行机构的动作。,4.I/O端口编址,存储器映象I/O编址这种编址方式,把I/O端口同存储器的存储单元一样看待,统一编址。在可寻址的存储空间中,划出一部分作为I/O端口空间地址,其余大部分用作内存单元,I/O端口和内存单元有不同的地址编号。在该方式中CPU对存储单元的读写和对I/O端口的输入输出操作都用访问存储器指令,而不用输入输出指令,即控制信号IO/-M(对PC/XT机对而言)都为低电平,而由地址总线上的码值(地址码)区分访问对象是存储单元还是I/O端口,控制信号或指明是读(输入)还是写(输出)。这种方式CPU对
11、存储器和I/O端口的访问如下图(左)所示。这种编址方式可用丰富的存储器访问指令来直接操作I/O端口数据,方便、高效而灵活,缺点是占去了相当部分的内存空间。单片机通常采用这种编址方法。I/O端口独立编址I/O端口和内存单元各自独立编址,CPU访问I/O端口须用专门的输入输出指令。PC系列机的输入和输出指令中,直接寻址I/O端口时用一个字节的地址码,故可寻址28=256个端口;寄存器间接寻址I/O端口用DX表示地址码,有16位,可寻址216=65536个端口。但PC/XT机一般用低10位地址线来表示I/O端口,因此该系统中可安排的I/O端口最多为1024个(210)。,4.I/O端口编址(续),I
12、/O端口独立编址(续)在该编址方式中地址总线上出现的地址码究竟表示存储单元地址还是I/O端口地址,以控制信号IO/-M来区分:低电平则表明地址码是存储单元地址,CPU对存储器进行读写;高电平则表明地址码是I/O端口地址,CPU执行输入输出操作。,采用这种编址方式,CPU必须以专用的I/O指令访问I/O端口,即CPU以IN类指令输入(读)数据,以OUT类指令输出(写)数据。这种编址方式CPU对存储器和I/O端口的访问如下图(右)所示。,I/O端口独立编址不占用内存地址空间,为x86微机所采用;但I/O指令种类少,对I/O端口中数据的处理往往要读入CPU内进行。,6.1.2 微机I/O端口地址配置
13、,80386 CPU可寻址的I/O空间为64KB。两个连续的8位端口可作为一个16位端口,四个连续的8位端口可作为一个32位端口,因此80386的I/O地址空间最多可容纳64K个8位端口,或32K个16位端口,或16K个32位端口,能支持8位、16位及32位I/O设备操作。标识32位端口的口地址应能被4整除,16位端口地址应与偶地址对齐,这样用单个总线周期就能传送32位/16位数据。对I/O端口采用立即寻址,可寻址256/128/64个8/16/32位端口;采用DX寄存器间接寻址,可寻址65536/32768/16384个8/16/32位端口。PC/AT机只使用了16位地址线中的10位(A9A
14、0)对外设接口电路进行编址,可寻址1024个I/O端口(000H3FFH)。当A9A800时对系统板上的接口芯片寻址,共256个端口(000H0FFH);当A9A800时对I/O通道上的插件电路寻址,共768个端口(100H3FFH)。GW-386的I/O系统与IBM PC/AT的I/O系统兼容,也使用了低10位地址线(A9A0)对外设端口进行编址,并且大部分I/O接口电路均由系统板上的82C206 I/O控制器芯片提供。下表是GW-386的I/O地址分配表。,6.1.2 微机I/O端口地址配置(续),6.1.2 微机I/O端口地址配置(续),Pentium系列微机的I/O地址配置都是对原先的
15、PC机向上兼容的,系统逻辑能正确处理ISA、PCI、AGP等类型设备的I/O访问。现代微机的处理器提供对I/O空间的16位(A15A0)寻址,可寻址的端口数:65536个(字节端口)、32768个(16位半字端口)、16384个(32位字端口)、8192个(64位双字端口),由系统逻辑译码形成访问I/O空间的选通地址。下表列出了现代微机I/O端口的典型定义情况(不同类型的微机可能存在一些小的差异)。,注:B字节(Byte),b二进位(bit)*只能以双字(DWord)为单位进行访问*只能以字节(Byte)为单位进行访问,6.1.3 I/O端口的寻址与操作,1.I/O端口寻址(1)直接寻址I/O
16、端口输入输出指令中,在操作码后面用一个字节的无符号数n来表示I/O端口地址。因此直接寻址的I/O端口数为256个字节端口,或128个半字端口,或64个字端口,或32个双字端口。在PC系列机中,可用AL一次输入/输出一个字节,也可用AX一次输入/输出一个半字,还可用EAX一次输入/输出一个字。IN AL,n;AL(n)字节端口内容 IN AX,n;AX(n)半字端口内容,n为偶数 IN EAX,n;EAX(n)字端口内容,n为4的倍数 OUT n,AL;(n)字节端口AL OUT n,AX;(n)半字端口AX,n为偶数 OUT n,EAX;(n)字端口EAX,n为4的倍数,1.I/O端口寻址(续
17、),(1)DX间接寻址I/O端口在输入输出指令中,用DX的当前内容表示所寻找的I/O端口地址;DX有16位,DX间接寻址的I/O端口数大为增加(如前所述)。可分别用AL、AX或EAX一次输入/输出一个字节、一个半字或一个字。IN AL,DX;ALDx指向的字节端口内容IN AX,DX;AXDX指向的半字端口内容IN EAX,DX;EAXDX指向的字端口内容OUT DX,AL;DX指向的字节端口ALOUT DX,AX;DX指向的半字端口AXOUT DX,EAX;DX指向的字端口EAX,2.I/O端口的操作,对I/O端口的操作就是输入和输出。可以输入/输出一个字节、一个半字或一个字;80286及其
18、以后的计算机还支持输入/输出字符串。与字符串操作指令一样 字符串输入指令输入的字节、半字、字或它们的串被送到由ES:EDI或ES:DI(286机)所指向的内存单元;字符串输入时,位于内存中的字符串地址必须事先由ES:EDI 或ES:DI指出,字符串输出指令输出的是由DS:ESI或DS:SI(286机)所指向的内存区域中的字节、半字、字或它们的串;字符串输出时必须事先由DS:ESI或 DS:SI指出字符串在内存中的地址。字符串输入/输出的I/O端口隐含地由DX寄存器指示,即I/O寻址为隐含的DX寄存器间接寻址方式。字符串输入/输出指令的格式如下:INSB;输入字节或字节串 INSW;输入半字或半
19、字串 INSD;输入字或字串 INS des;输入到des指向的内存单元,ES:EDI或ES:DI必须事先指向des单元,;该单元的属性决定了输入的是字节、半字、字或相应串 OUTSB;输出字节或字节串 OUTSW;输出半字或半字串 OUTSD;输出字或字串 OUTS src;将src指向的内存单元内容输出,DS:ESI或DS:SI必须事先指向Src;单元,该单元的属性决定了输出的是字节、半字、字或相应的串上述指令加重复前缀REP可重复执行,连续完成整个串的输入或输出,串的长度事先由ECX或CX指定,EDI(或DI)、ESI(或SI)寄存器的变化方式(增量还是减量变化)由标志寄存器EFLAG的
20、DI标志位规定。,6.2 I/O数据传输方式,6.2.1 无条件传输无条件传输方式又称同步传送方式。使用这种方式时外设总是处于准备好状态,CPU 无需查询其状态而只根据程序中的输入输出指令执行相应操作。无条件传送的接口电路(输入/输出)如下所示。,6.2.2 程序查询传输,查询传送即条件传送,CPU与接口之间有一个应答过程,所以又称异步传送。大多数外设数据传送、处理的速度较慢,跟不上CPU的高速运转,为使传送可靠,程序需要了解外设的动态情况后才决定是否进行数据传送。在数据传送之前,程序首先测试外设的状态,当状态符合规定的条件(比如输入设备的下一个输入数据准备好了,或输出接口已经将前一个输出的数
21、据送往输出设备)就进行输入或输出操作,否则就踏步等待或转入其它程序段。因此,查询传送方式的接口电路中必须有表征外设工作状态的触发器或寄存器以供CPU查询。查询方式输入接口电路如下图(左)所示。当数据准备好时,输入设备发出选通信号脉冲,一方面送到锁存器时钟端(CP)将准备好的数据送入锁存器,另一方面送到Ready(准备好)触发器的时钟端(CP),将该触发器置为1(因为该D触发器的D端接高电平+5V),表示输入数据准备就绪。CPU输入数据时首先查询输入状态端口:数据准备就绪否?程序流程图如下图(右)所示,程序如下:,6.2.2 程序查询传输(续),RPLI:IN AL,PSTATUS;读入状态 T
22、EST AL,01H;查状态 JZ RPLI;未准备好,踏步检查 IN AL,PDATAI;准备好输入数据,6.2.2 程序查询传输(续),查询方式输出接口电路如下所示。当输出设备完成当前数据的输出操作后就来取走CPU送至锁存器中的数据,同时发出一个响应信号,使状态触发器BUSY(忙触发器)异步置零(表示输出数据端口中数据已空)。CPU在输出数据前要先查询输出接口的状态,若输出端口数据已空则向该端口输出数据,否则(未空)表示输出设备还未将前一个输出的数据取走,CPU继续输入并测试状态位。程序如下:RPLO:IN AL,PSTATUS TEST AL,80H JNZ RPLO MOV AL,SI
23、 OUT PTADAO,AL,6.2.2 程序查询传输(续),6.2.3 中断传输,查询传送虽然简单可靠,但效率低下主机要花费大量时间查询外设状态,等待外设上一次的输入输出过程完成。即主机和外设在外设工作的绝大部分时间内只能串行工作,而外设I/O 操作速度比主机慢得多,使得CPU利用率和系统效率大大降低。主机在一个时间段内只能询问一台外设的状态,与其交换数据;因此各个外设在I/O操作完成后也只能串行等待CPU来询问,进一步降低了系统的效率。中断方式可以克服上述缺点在中断传送方式中各个外设和主机并行工作,进行各自的输入或输出操作。当某台外设完成了自身的输入或输出操作(即完成了下一个数据传送的准备
24、)时,便向CPU申请中断,CPU收到中断请求信号后,可暂停正在运行的程序,转去执行为该外设服务的中断服务子程序,完成主机与外设间的数据交换,数据传送完毕仍返回原来被中断的主程序继续执行。外设的I/O操作速度较慢,中断传送方式恰恰在这段较慢的过程中让主机和各个外设并行工作;仅仅在外设I/O过程完成后要求与主机交换数据时才暂停CPU主程序运行,而CPU传送输入输出的数据到端口是很快的,因此中断方式基本实现了主机和外设的并行工作。中断方式的接口电路及其工作过程见后述。,6.2.4 DMA(直接存储器存取)方式,中断传送方式要中断主程序,每次都要保护断点、保护现场、进入中断服务子程序,中断服务完毕又要
25、恢复现场、恢复断点、返回主程序,操作繁多步骤重复,对低速外设和数据量不大的I/O操作,这些缺点不明显,中断传送不失为一种行之有效的传送方式。但对成批高速数据传输效率就较低,这时常采用DMA(Direct Memory Access:直接存储器存取)方式。DMA用硬件在外设和内存之间开辟直接的数据传输通道,这是一种不需要CPU介入的高速数据传输方法,对这一数据传输过程进行控制的硬件称为DMAC(DMA控制器)。一般情况下CPU控制、管理着系统的数据总线、地址总线和控制总线,运行程序;而当进入DMA方式(内存和外设直接交换数据)时,CPU让出上述三类总线:CPU连接这些总线的三态门处于高阻状态,而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 系统 接口
链接地址:https://www.31ppt.com/p-6284361.html