第22课CPU与存储器的连接I/O接口和总线教学目的:掌握CPU与存储器的连接方式,了解I/O接口的寻址和数据传送,了解总线的类型。教学重点:CPU与存储器的连接、CPU与外部设备的数据传送。教学难点:存储器连接时数据线、地址线和控制线的连接。授课内容:一、CPU与存储器的连接在CPU对存储器进行读写操作时,首先在地址总线上给出地址信号,然后发出相应的读或写控制信号,最后才能在数据总线上进行数据交换。连接时要考虑:CPU总线负载能力、CPU时序和存储器存取速度之间的配合、存储器地址分配和片选、控制信号的连接。1.存储器的地址选择通常是将低位地址线连到所有存储器芯片,实现片内寻址,将高位地址线通过译码器或线性组合后输出作为芯片的片选信号,实现片间寻址,由地址线的连接决定了存储器的地址分配,有三种存储器地址选择的方法:(1).线性选择方式将某根高位地址线直接作为芯片的片选。电路简单,但地址分配重叠,且地址空间不连续。适于用在容量小且不要求扩充的系统中。(2).全译码选择方式对全部高位地址进行译码,输出作为片选。译码电路复杂,但所得地址是唯一且连续的,并且便于内存扩充。(3).部分译码选择方式将高位地址线中的几位经过译码后作为片选控制。部分译码方式的可寻址空间比线性选择范围大,比全译码选择方式的地址空间要小。部分译码方式的译码器比较简单,但地址扩展受到一定的限制,并且出现地址重叠区。使用不同信号作片选控制信号时,它们的地址分配也将不同,此方式经常应用在设计较小的微型计算机系统中。2.存储器的数据线及控制线的连接与8086CPU相连的存储器分为奇偶两个存储体,用A0和/BHE分别来选择奇地址和偶地址两个存储体,用A19~A1来选择存储体体内的地址。若A0=0选中偶地址存储体,它的数据线连到D7~D0,若/BHE=0选中奇地址存储体,它的数据线连到Dl5~D8。若读写一个字,A0和/BHE均为0,两个存储体全选中。8086CPU数据线有16位,可以读写一个字节,也可以读写一个字。控制线主要有地址锁存ALE,读RD,写WR,存储器或I/O选择M/IO,数据允许DEN,数据收发控制DT/R等,分别与对应总线相连。通过书例5.4讲解存储器连接二、I/O接口1.I/O接口的功能解决计算机和外设之间的信息交换带来以下一些问题:(1)速度不匹配(2)信号电平不匹配(3)信号格式不匹配2.I/O端口(1)数据端口(2)状态端口(3)命令端口CPU通过接口和外设交换数据时,只有输入(IN)和输出(OUT)两种指令,所以只能将状态信息作为输入数据,控制信息作为输出数据,于是三种信息都可以通过数据总线来传送。但要注意,这三种信息被送入三种不同端口的寄存器,因而能实施不同的功能。3.I/O端口的寻址方式(1)存储器映象寻址方式若把系统中的每一个I/O端口都看作一个存储单元,并与存储单元一样统一编址,这样访问存储器的所有指令均可用来访问I/O端口,不用设置专门的I/O指令。(2)I/O单独编址方式若对系统中的输入输出端口地址单独编址,构成一个I/O空间,它们不占用存储空间,而是用专门的IN指令和OUT指令来访问这种具有独立地址空间的端口。8086微处理器采用这种寻址方式来访问外设。在8086中,用地址总线的低16位(A15~A0)来寻址I/O端口。三、CPU与外设间的数据传送方式1.程序控制方式(1)无条件传送方式也称为同步传送方式,主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。对于这类外设,在任何时刻均已准备好数据或处于接收数据状态,或者在某些固定时刻,它们处在数据就绪或准备接收状态,因此程序可以不必检查外设的状态,直接执行输入输出指令。当I/O指令执行后,数据传送便立即进行。这是一种最简单的传送方式,所需要的硬件和软件都较少。(2)条件传送也称为查询式传送方式。采用这种方式传送数据前,CPU要先执行一条输入指令,从外设的状态口读取它的当前状态。如果外设未准备好数据或处于忙碌状态,则程序要转回去反复执行读状态指令,不断检测外设状态;如果该外设的输入数据已准备好,CPU便可执行输入指令,从外设读人数据。2.中断方式CPU平时可以执行主程序,只有当输入设备将数据准备好了,或者输出端口的数据缓冲器已空时,才向CPU发中断请求。CPU响应中断后,暂停执行当前的程序,转去执行管理外设的中断服务程序。在中断服务程序中,用输入或输出指令在CPU和外设之间进行一次数据交换,等输入或输出操作完成之后,CPU又回去执行原来的程序。3.DMA方式数据总线、地址总线和控制总线是由CPU管理的,但当外设需要利用DMA方式进行数据传送时,接口电路可以向CPU提出请求,要求CPU让出对总线的控制权,用DMA控制器取代CPU,临时接管总线,控制外设和存储器之间直接进行高速的数据传送。这种控制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相应的读/写控制信号。在DMA传送结束后,它能释放总线,把对总线的控制权又交还给CPU。四、总线1.总线的概念在微型计算机系统中,将这种用于各部件之间传送信息的公共通路称为总线(Bus)。2.总线的分类根据总线中信息传送的类型可分为:地址总线、数据总线和控制总线,此外还有电源线和地线。若按总线的规模、用途和应用场合,则可以分成以下三类:(1)片级总线片级总线也叫元件级总线,是由芯片内部通过引脚引出的总线,用于芯片一级的互连线。(2)系统总线系统总线也叫内总线或板级总线,它用于微型计算机中各插件板之间的连线,也就是通常所说的微机总线。(3)外部总线外部总线也称通信总线,用于微型计算机系统之间,或微型计算机系统与其它电子仪器或设备之间的通信。这种总线不是微型计算机特有的,一般是借用电子工业其它领域的总线。五、作业5.7,5.8,5.13