为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

微型计算机原理与接口技术第五版(中国科学技术大学出版社)第6章PPT课件

2021-11-05 27页 ppt 380KB 44阅读

用户头像 机构认证

熊猫图文

公司专注课件、范文、教案设计制作等。用户至上,受到广大客户的一致好评,公司秉着用户至上的原则服务好每一位客户

举报
微型计算机原理与接口技术第五版(中国科学技术大学出版社)第6章PPT课件第六章I/O接口和总线6-1I/O接口计算机有各种用途,但不论用于何种场合,都离不开信息处理。所处理的信息,甚至包括完成信息处理的程序本身,均要由输入设备提供;而处理后的结果数据,则要送给输出设备,以各种形式报告给用户。例如,键盘、鼠标、磁盘和扫描仪等都是大家熟悉的输入设备,而显示器、打印机等则是最常见的输出设备。所有这些设备统称为计算机的外部设备,简称为外设或I/O设备。一、I/O信息的组成CPU通过接口与外设交换信息,这些信息包括数据信息、状态信息和控制信息。1.数据信息数据信息可分为数字量、模拟量和开关量。数字量是键盘...
微型计算机原理与接口技术第五版(中国科学技术大学出版社)第6章PPT课件
第六章I/O接口和总线6-1I/O接口计算机有各种用途,但不论用于何种场合,都离不开信息处理。所处理的信息,甚至包括完成信息处理的程序本身,均要由输入设备提供;而处理后的结果数据,则要送给输出设备,以各种形式给用户。例如,键盘、鼠标、磁盘和扫描仪等都是大家熟悉的输入设备,而显示器、打印机等则是最常见的输出设备。所有这些设备统称为计算机的外部设备,简称为外设或I/O设备。一、I/O信息的组成CPU通过接口与外设交换信息,这些信息包括数据信息、状态信息和控制信息。1.数据信息数据信息可分为数字量、模拟量和开关量。数字量是键盘、CRT、打印机及磁盘等I/O外设与CPU交换的信息,它是以二进制形式表示的数或以ASCII码表示的数或字符。当微型计算机用于控制系统时,大量的现场信息经过传感器把非电量(如温度、压力、流量、位移等)转换成电量,并经放大处理得到模拟量的电压或电流。这些模拟量必须先经过A/D转换器转换成数字量才能输入计算机;计算机控制信号的输出也必须先经过D/A转换器把数字量转换成模拟量才能去控制执行机构。开关量即两个状态的量。如开关的断开与闭合、阀门的打开与关闭等。通常开关量要经过相应的电平转换才能与计算机连接。每个开关量只要一位二进制数表示,故对于字长为8位(或16位)的计算机,一次可输入或输出8位(或16位)开关量。2.状态信息状态信息是CPU与外设之间交换数据时的联络信息。CPU通过读取外设状态信号,可知外设的工作状态。如输入设备的数据是否准备好,输出设备是否空闲。它是CPU与I/O外设正确进行数据交换的重要条件。3.控制信息控制信息是设置I/O外设(包括I/O接口)的工作模式、命令字的有关信息。如“启动”、“停止”信息。每个I/O接口通常包含若干I/O端口(输入/输出端口)寄存器,CPU和存储器通过这些端口与该接口所连接的外设进行信息交换。通常,状态信息和控制信息也是通过数据总线传送的。由于它们的作用不同,故在传送时赋予不同的端口。因此,一个外设往往占用几个端口,如数据端口、状态端口、控制端口等。当一个外设的状态信息和控制信息位数较少时,可以将不同的外设的状态或控制信息归并到一起,共同使用一个端口这样,CPU对外设的控制或CPU与外设间的信息交换,实际上就是CPU通过I/O指令读/写端口的数据。在控制端口,写出的数据表示CPU对外设的控制信号;在状态端口,读入的数据是外设的状态信息;只有在数据端口,才真正地进行数据信息的交换。二、I/O接口的功能1.采用I/O接口的必要性为了让外部设备按计算机的要求有次序地输入或接收数据,计算机的CPU必须能控制输入输出设备启动或停止,以及了解它们的当前工作状态,并据此送出相应的控制命令。通常,我们把计算机与外设间的这种交换数据、状态和控制命令的过程统称为通信。CPU与外部设备交换信息的过程,和它与存储器交换数据那样,也是在控制信号的作用下通过数据总线来完成的。但后者要简单的多,因为存储器芯片的存取速度与微处理器的时钟频率在同一数量级,而且存储器本身又具有数据缓冲的能力,因此,CPU可以通过数据总线很方便地与存储器进行数据交换。而外部设备种类繁多,从工作原理来讲,可分为机械式、电子式、机电式、磁电式以及光电式等几类,它们所处理的信息有数字信号、模拟信号,有电压信号、电流信号。不同的外围设备处理信息的速度相差悬殊,有的速度慢,有的速度快。另外,微型计算机与不同的外围设备之间所传送的信息格式和电平高低是多种多样的,这样就给计算机和外设之间的信息交换带来以下一些问题:(1)速率不匹配CPU的速度很高,而外设的速度要低得多,而且不同的外设速度差异很大,它们之中既有每秒能传送兆位数量级的硬盘,也有每秒钟只能打印百位字符的串行打印机或速度更慢的键盘。(2)信号电平不匹配CPU所使用的信号都是TTL(RS232C)电平,而外设大多是复杂的的机电设备,往往不能用TTL电平所驱动,必须有自己的电源系统和信号电平。(3)信号格式不匹配CPU系统总线上传送的通常是8位、16位或32位的并行数据,而各种外设所使用的信息格式各不相同。有些设备上用的是模拟量,而有些是数字量或开关量;有些设备上的信息是电流量,而有些却是电压量;有些设备采用串行方式传送数据,而有些则用并行方式。(4)时序不匹配各种外设都有自己的定时和控制逻辑,与计算机的CPU时序不一致。因此输入输出设备不能直接与CPU的系统总线相连,必须在CPU与外设之间设置专门的接口电路来解决这些问题。2.接口的功能接口电路是专门为解决CPU与外设之间的不匹配、不能协调工作而设置的,它处在总线和外设之间,一般具有以下基本功能:(1)转换信息格式。如串—并转换、并—串转换、配备校验位等。(2)提供联络信号。协调数据传送的状态信息。如设备“就绪”、“忙”,数据缓冲器“满”、“空”等信号。(3)进行译码选址。在具有多台外设的系统中,外设接口必须提供地址译码以及确定设备码的功能。(4)协调定时差异。为协调微机与外设在定时或数据处理速度上的差异,使两者之间的数据交换取得同步,有必要对传输的数据或地址加以缓冲或锁存。(5)实现电平转换。为使微型计算机同外设匹配,接口电路必须具有电平转换和驱动功能。(6)具备时序控制。有的接口电路具有自己的时钟发生器,以满足微型计算机和各种外设在时序方面的要求。(7)可编程。对一些通用的、功能较齐全的接口电路,应该具有可编程能力。三、简单的输入输出接口芯片最常用的简单输入输出接口芯片主要有缓冲器和锁存器。1.缓冲器74LS244和74LS245连接在总线上的缓冲器都具有三态输出能力,在CPU或I/O接口电路需要输入输出数据时,在它的使能控制端EN(或G)作用一个低电平脉冲,使它内部的各缓冲单元接通,即输入和输出处于透明状态,数据被送上总线。当使能脉冲撤消后,它处在高阻状态。这时,各缓冲单元象一个断开的开关,等于将它所连接的电路从总线上脱开。74LS244和74LS245就是最常用的数据缓冲器。除缓冲作用外,它们还能提高总线的驱动能力。(1)74LS24474LS244是一种8路数据缓冲器,其逻辑功能和引脚如图6-1所示。1A11A21A31A42A12A22A32A41Y11Y21Y31Y42Y12Y22Y32Y41G2G1234567891020191817161514131211VCC2G1G1Y11Y21Y31Y42Y42Y32Y22Y11A11A21A31A42A22A12A32A4GND图6-174LS244逻辑功能和引脚图74LS244是一种单向数据缓冲器,数据只能从A传向Y,若要进行双向数据传送,可选用双向数据缓冲器74LS245。(2)74LS245(8286)74LS245的逻辑功能和引脚如图6-2所示。图6-274LS245逻辑功能和引脚图1234567891020191817161514131211VCCGB1B3B5B7A2A4A6A8A1A3A5A7B6B8B4B2GNDDIRT相当于DIROEG相当于2.锁存器74LS373锁存器具有暂存数据的能力,能在数据传输过程中将数据锁住,然后在此后的任何时刻,在输出控制信号的作用下将数据传送出去。74LS373是一种常用的8D锁存器,它可以直接挂到总线上,并具有三态总线驱动能力。图6-3是它的逻辑图,表6-1是它的真值表。图7-374LS373逻辑图GDOOE低高高高低高低低低低×锁存高××高阻态表6-174LS373真值表四、I/O端口及其寻址方式1.I/O端口的概念CPU与外设通信时,传送的信息主要包括数据信息,状态信息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O端口,CPU可对端口中的信息直接进行读写。在一般的接口电路中都要设置以下几个端口:(1)数据端口数据端口用来存放外设送往CPU的数据以及CPU要输出到外设去的数据。这些数据是主机和外设之间交换的最基本的信息,长度一般为1~2个字节。数据端口主要起数据缓冲的作用。(2)状态端口状态端口主要用来指示外设的当前状态。每种状态用一位表示,每个外设可以有几个状态位,它们可由CPU读取,以测试或检查外设的状态,决定程序的流向。接口电路状态端口中最常用的状态位有:〈1〉准备就绪位(Ready)。〈2〉忙碌位(Busy)。〈3〉错误位(Error)。(3)命令端口命令端口也称为控制端口,它用来存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作。常见的命令信息位有启动位、停止位、允许中断位等。接口芯片不同,控制字的格式和是各不相同的,常见的控制字有方式选择控制字,操作命令字等。2.I/O端口的寻址方式CPU对外设的访问实质上是对I/O接口电路中相应的端口进行访问,因此和存储器那样,也需要由译码电路来形成I/O端口地址。I/O端口的寻址方式有两种,分别称为存储器映象寻址方式和I/O指令寻址方式。(1)存储器映象寻址方式若把系统中的每一个I/O端口都看成一个存储单元,并与存储单元一样统一编址,这种访问存储器的所有指令均可用来访问I/O端口,不用设置专门的I/O指令,这种寻址方式称为存储器映象的I/O寻址方式(MemoryMappedI/O)。这种方式实际上是把I/O地址映射到存储空间,作为整个存储空间的一小部分。换句话说就是,系统把存储空间的一小部分划出来供外设用,大部分仍归存储单元所有,这就是存储器映象寻址方式名称的由来。优点:微处理器的指令集中不必包含I/O操作指令,简化了指令系统的设计;能用类型多、功能强的访问存储器指令,对I/O设备进行方便、灵活的操作;I/O地址空间可大可小,能根据实际系统上的外设数目来调整。缺点:I/O端口占用了存储单元的地址空间,为了尽可能减少所占的内存空间,必须用全译码方式来形成I/O端口地址,这使I/O译码电路变得较复杂。此外,访问存储器的指令一般要比I/O指令(IN、OUT指令)长一、两个字节,这会延长输入输出操作的时间。(2)I/O单独编址方式(I/O指令寻址方式)若对系统中的输入输出端口地址单独编址,构成一个I/O空间,它们不占用存储器空间,而是用专门的IN指令和OUT指令来访问这种具有独立地址空间的端口,这种寻址方式称为I/O单独编址方式。8080、8088和8086等微处理器都采用这种寻址方式来访问外设。在8086系统中,用地址总线的低16位(A15~A0)来寻址I/O端口,最多可以访问216=65536个输入或输出端口。实际应用中,输入端口和输出端口可用相同的地址,因此系统能寻址的总端口数还将扩大一倍。优点:将输入输出指令和访问存储器的指令明显区分开,使程序清晰,可读性好;而且I/O指令长度短,执行的速度快,也不占用内存空间;I/O地址译码电路较简单。缺点:CPU指令系统中必须有专门的IN和OUT指令,这些指令的功能没有访问存储器指令强;另外,CPU要能提供区分存储器读/写和I/O读/写的控制信号,例如8086的信号。五、CPU与外设间的数据传送方式随着计算机技术的飞速发展,计算机系统中输入输出设备的种类越来越多,速度差异很大,对这些设备的控制也变得越来越复杂,CPU与外设之间的数据传送必须采用多种控制方式才能满足各类外设的要求。在微机系统中,可采用的输入输出方式主要有:程序控制方式、中断方式和DMA(直接存储器存取)方式等三种。前两种方式由软件来实现,DMA方式主要由硬件实现。下面一一介绍这三种数据传送方式。1.程序控制方式程序控制的数据传送分为无条件传送和条件传送两种方式,这类传送方式的特点是以CPU为中心,由CPU控制,通过预先编制好的输入或输出程序实现数据的传送。这种传送方式的数据传送速度较低,传送时要经过CPU内部的寄存器,同时数据的输入/输出的响应也较慢。(1)无条件传送方式(又称同步传送方式)无条件传送方式是假设输入接口数据已经准备好,或者输出设备是空闲的,此时CPU无需查询状态,可直接用IN和OUT指令完成与接口之间的数据传送。当I/O指令执行后,数据传送便立即进行。这是一种最简单的传送方式,所需要的硬件和软件都较少。+5V1A11A22A42Y41Y21Y1D0D1D7┋┋74LS244图6-4简单输入端口控制信号1Q2Q8Q8D2D1DD0D1D7┋┋74LS273图6-5简单输出端口控制信号此外,某些设备与CPU之间的信息交换可能不很频繁,从而能保证每次用输出指令输出数据时,I/O接口电路中的数据输出缓冲器总是空的,或者外设总是处于空闲状态,而在用输入指令输入数据时,接口电路中的输入缓冲器内总准备了数据。遇到这类情况时也可采用无条件传送方式。(2)条件传送方式(查询传送方式)条件传送方式也称为查询传送方式。一般情况下,当CPU用输入或输出指令与外设交换数据时,很难保证输入设备总是准备好了数据,或者输出设备已经处于可以接收数据的状态。为此,在开始传送前,必须先确认外设已处于准备传送数据的状态,才能进行传送,于是就提供了查询传送方式。采用这种方式传送数据前,CPU要先执行一条输入指令,从外设的状态口读取它的当前状态。如果外设未准备好数据或处于忙碌状态,则程序要转回去反复执行读状态指令,不断检测外设状态;如果该外设的输入数据已准备好,CPU便可执行输入指令,从外设读入数据。查询式输入方式的接口电路和工作分别如图6-6和图6-7所示。数据锁存器(8位)数据缓冲器(8位)DRQCI/O译码A15~A0+5VReady/RD(读状态)/RD(读数据)M//IOD7~D0/CS2/CS1输入设备选通信号D触发器图6-6查询式输入接口电路初始化读入状态数据准备好?输入一数据→CPU数据→内存缓冲区数据传送完?结束YNYN图6-7查询式输入流程图设:状态口的地址为PORT_S1,输入数据口的地址为PORT_IN,传送数据的总字节数为COUN_T1,则查询式输入数据的程序段为:MOVBX,0;初始化地址指针BXMOVCX,COUNT_1;字节数READ_S1:INAL,PORT_S1;读入状态位TESTAL,01H;数据准备好否?JZREAD_S1;没有,循环检测INAL,PORT_IN;已准备好,读入数据MOV[BX],AL;存到内存缓冲区中INCBX;修改地址指针LOOPREAD_S1;未传送完,继续传送┋;已传送完查询式输出方式的接口电路和工作流程图分别如图6-8和图6-9所示。数据锁存器(8位)DRQCI/O译码A15~A0+5VBUSY/RD(读状态)/WR(写数据)M//IOD7~D0/CS2/CS1输入设备选通信号D触发器图6-8查询式输出接口电路/ACKD1(数据总线)初始化读入状态外设忙吗?输出一数据→外设数据传送完?结束YNYN图6-9查询式输出流程图设:状态口的地址为PORT_S2,输出数据口的地址为PORT_OUT,传送数据的总字节数为COUNT_2,则查询式输出数据的程序段为:MOVCX,COUNT2;传送的字节数READ_S2:INAL,PORT_S2;读入状态位TESTAL,02H;忙吗?JNZREAD_S2;忙,循环检测OUTPORT_OUT,AL;不忙,输出数据LOOPREAD_S2 ;数据未传送完,循环┋;数据已传送2.中断方式用查询方式使CPU与外设交换数据时,CPU要不断读取状态位,检查输入设备是否已准备好数据,输出设备是否忙碌或输出缓冲器是否已空。若外设没有准备就绪,CPU就必须反复查询,进入等待循环状态。由于许多外设的速度很低这种等待过程会占去CPU的绝大部分时间,而真正用于传送数据的时间却很少,使CPU的使用率变的很低。例如,若一个操作员每秒钟可从键盘输入5个字符,平均每个字符占200000us的时间,实际上计算机只要用10us就能从键盘读入一个字符,这样就有999950us的时间化在检测键盘状态和等待上,也就是说99.99%的时间因等待而白白浪费了。如果有多个设备工作,还要轮流查询,这些设备的工作速度又往往各不相同,这不仅极大地浪费了CPU的时间,而且还会因为程序进入等待某些慢速外设数据的循环而造成快速外设数据的大量流失,这在许多系统中是不允许的,尤其不能用于要求实时数据处理的场合。为提高CPU的利用率和进行实时数据处理,CPU常采用中断方式与外设交换数据。采用中断方式后,CPU平时可以执行主程序,只有当输入设备将数据准备好了,或者输出端口的数据缓冲器已空时才向CPU发中断请求。CPU响应中断后,暂停执行当前的程序,转去执行管理外设的中断服务程序。在中断服务程序中用输入或输出指令在CPU和外设之间进行一次数据交换。等输入或输出操作完成后,CPU又回去执行原来的程序。3.DMA方式利用中断方式进行数据传送,可以大大提高CPU的利用率,但在中断方式下,仍必须通过CPU执行程序来完成数据传送。每进行一次数据传送,CPU都要执行一次中断服务程序。这时,CPU都要保护和恢复断点,通常还要执行一系列保护和恢复寄存器的指令,即保护现场,以便完成中断处理后能正确返回主程序。显然,这些操作与数据传送没有直接关系,但会花费掉CPU的不少时间。再者,8086CPU一旦进入中断后,指令队列就要清除,执行部件EU要等总线接口部件BIU将中断处理子程序中的指令取到指令队列后才执行;恢复断点时,指令队列也要被清除,执行部件也必须等总线接口部件把断点处的指令装入后才开始执行。所以,在这段时间内,执行部件和总线接口部件就不能并行工作,这也会造成数据传送效率的降低。当CPU与高速I/O设备交换数据,或与外设进行成组数据交换时,中断方式仍显得太慢。例如,当磁盘和内存成批地交换信息时,磁头的读/写速度可超过200,000字节/秒,因此只有在5us内完成一个字节的传送,才能充分发挥磁盘的大容量的性能优势。如果采用中断方式进行磁盘和内存间的成批数据传送,只能逐字节地进行。例如读磁盘时,要先把从磁盘读出的数据送进CPU的寄存器,再从寄存器搬入内存,然后修改地址指针和字节计数器。这些操作均要用指令来实现,显然不可能在5us之内完成。为了解决这个问题,可采用一种称为DMA(DirectMemoryAccess)的传送方式,也就是直接存储器存取方式。DMA方式也要利用系统的数据总线、地址总线和控制总线来传送数据。原先,这些总线是由CPU管理的,但当外设需要利用DMA方式进行数据传送时,接口电路可以向CPU提出请求,要求CPU让出对总线的控制权,用一种称为DMA控制器的专用硬件接口电路来取代CPU,临时接管总线,控制外设和存储器之间直接进行高速的数据传送,而不要CPU进行干预。这种控制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相应的读/写控制信号。在DMA传送结束后,它能释放总线,把对总线的控制权又交还给CPU。可见,用DMA方式传送数据时,不需要进行保护和恢复断点及现场之类的额外操作,一旦进入DMA操作,就可直接在硬件的控制下快速完成一批数据的交换任务,数据传送的速度基本上取决于外设和存储器的存取速度。有些DMA控制器,除了可在外设和内存间直接交换数据外,还能控制内存与内存之间的直接数据交换,如Intel8237ADMA控制器就能完成这种功能。六、I/O译码电路和PC机的I/O地址分配I/O端口译码电路举例当微型机系统中采用I/O单独编址来控制外设时,常用74LS138、74LS139这类译码器和必要的逻辑门电路来设计I/O译码电路。这时,可将要参与编码的地址信号和指示I/O操作的控制信号接到译码器的输入端。当I/O指令执行时译码器的输出端便能产生低电平的I/O端口选择信号,即片选信号/CS。这些片选信号被送到各I/O接口的控制端或片选/CS端,就能选中相应的端口,对它进行I/O读或I/O写操作。在一个以8086为CPU的系统中,用74LS138译码器设计的I/O端口译码电路如图6-11所示。※对于I/O端口译码只用地址总线的低16位。(与存储器不同)如果每个端口器件占8个地址空间的话。则可将地址线A0、A1、A2与端口通道的选择端相连。A11~A6的状态无关紧要。G1/G2A/G2BCBA/Y0/Y1/Y6/Y5/Y4/Y2/Y3/Y7A5A4A3A13A12A15A1474LS138端口1片选/CS端端口2片选/CS端端口8片选/CS端┋图6-11I/O端口译码电路A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A01100000000000×××地址1100000000110×××1100000000010×××1100000000011×××1100000000100×××1100000000101×××1100000000001×××1100000000110×××表6-2I/O译码电路的端口地址分配表PC机的I/O端口地址分配
/
本文档为【微型计算机原理与接口技术第五版(中国科学技术大学出版社)第6章PPT课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索