《计算机组成原理和接口技术(第四章)讲稿.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理和接口技术(第四章)讲稿.ppt(65页珍藏版)》请在三一办公上搜索。
1、第4章 微机接口概述,4.1微机接口,微机接口是一个特定的管理/协调、信息变换/缓冲部件。接口用途:连接计算机的不同部件,进行信息交换;,4.1微机接口功能,I/O设备数据缓冲/锁存;设备选择和寻址;数据格式转换;电子信息转换;设备控制;可编程;错误检测控制.,4.2 I/O接口的传输内容,I/O接口传输的信息种类:数据信息;控制信息;状态信息。I/O信号的形式开关量数字量脉冲量模拟量,4.2 I/O接口的基本结构,端口:数据输入/输出寄存器;控制寄存器;寄存器;数据总线和地址总线缓冲器(接数据线和地址线);接口/端口地址译码器;接口控制逻辑(接控制总线);,I/O接口的编址,计算机中I/O端
2、口也是可以编址的,编址的方法与存储器编址方法类似。如何理解存储器和I/O端口寻址的区别?以城市类比计算机,I/O接口地址的编址方案,混合编址:存储器地址和I/O端口地址统一编址,Motorola系列CPU采用混合编址;独立编址:存储器地址和I/O端口地址独立编址,Intel系列CPU采用独立编址;Intel系列CPU用M/IO信号线区别对存储器还是I/O端口进行寻址:存储器寻址空间232=4G;I/O接口寻址空间210=1024;存储器寻址空间远大于I/O端口寻址空间。,I/O接口芯片连线的寻址原理,对I/O接口芯片的的寻址通过地址线连接:,74LS138译码器的连线方法,假设:I/O接口芯片
3、的片内地址为370H377H,求CPU如何通过74LS138译码器进行寻址?分析:片内地址8个,说明芯片具有片内地址线3位A0A2,高位地址为A3A10,按照全局译码的原理,A3A10是高位地址线,要通过译码器连接到片选信号。,74LS138译码器的连线方法,假设:I/O接口芯片的片内地址为370H377H,求CPU如何通过74LS138译码器进行寻址?分析:片内地址8个,说明芯片具有片内地址线3位A0A2,高位地址为A3A10,按照全局译码的原理,A3A10是高位地址线,要通过译码器连接到片选信号。,74LS138译码器的连线方法,370H377H对应的二进制为:11011100001101
4、110111,根据界线原理:低三位直接连接,主要说明高位地址线的接法。,74LS138译码器的连线步骤,第一步:比较CPU高位地址线位数和74LS138译码器输入端位数的关系,有三种可能:相等、大于或小于;CPU高位地址线7位(A3-A9),74LS138译码器输入端6位。,74LS138译码器的连线步骤,第二步:将高位地址线中0和1分类;第三步:接线,为0的端口线先接G2A、G2B,为1的端口先接G1;其余接线端自由接A、B、C端;当CPU高位地址线比74LS138译码器输入端数量多时,要用逻辑门电路过渡,减少接线端。,74LS138译码器的连线步骤,第四步:根据A、B、C的值确定Yi的输出
5、选择,接芯片的片选。问题:如何根据74LS138译码器的接线判断芯片的地址?,4.3 接口数据传送的控制方式,接口的应用需求来源于不同计算机部件(设备)之间的通信,这与部件(设备)的工作环境关系密切。接口与网络通信的联系和区别?广义地讲,网络通信电路也属于接口的范畴,但是,网络技术相对独立。,网络通信与接口主要区别,4.3 接口数据传送的控制方式,程序方式;中断方式;DMA方式。,程序方式,有两种:无条件传送方式和条件传送(查询)方式,无条件传送方式可靠性差,一般采用条件传送(查询)方式。,程序方式,通信需要发送和接收双方的配合。,输出状态检测,输出有效,输出有效状态检测,接收端,发送端,程序
6、方式,程序方式,问题:如何检测“接收就绪”和“发送有效”的状态信号?发送操作如何实现?接收操作如何实现?,程序方式,检测接收就绪和发送有效状态信号:先读取接口状态字节(inportb()),尔后用“与”(&)位操作取得状态位;发送操作:写端口数据(outportb())接收操作:读接口数据(inportb()),补:C语言的接口操作和位操作,(1)outportb(),向指定端口地址输出字节原形:void outportb(int portid,unsigned char value)调用方式:outportb(0 x端口号,要输出的字节);头文件:dos.h,补:C语言的接口操作和位操作,(
7、2)inportb(),从指定端口读入字节原形:unsigned char inportb(int portid)调用方式:字符变量=inportb(0 x端口号);头文件:dos.h,补:C语言的位操作运算符,“按位与”运算:&“按位或”运算:|“按位异或”运算:“按位取反”运算:移位运算:右移,左移,补:C语言的位操作运算符,如何取得状态信息:,状态信息,如何判断?,补:C语言的位操作运算符,用C语言的输入/输出函数和位操作相结合可以实现对计算机接口的基本操作,是C语言的基本功能。,程序方式,有条件查询方式的缺点:CPU工作效率低;以串行接口通信为例,CPU的利用率只有0.5%,中断方式,
8、中断的基本思想:CPU平时正常运行用户程序,只有在有特殊事件需求时才进行服务,服务完成后立即返回原来运行的程序,目的是提高CPU的工作效率。中断的定义:CPU暂停正在运行的程序,处理需要服务的事件,等服务完成以后,返回到原来运行的程序。,发出中断请求信号:提供检测中断源的输入线路;定向中断服务子程序:为指定事件提供相应的服务;,中断方式的功能,断点的保护和返回:进行中断服务前保存当前程序地址,以便中断服务结束后程序返回;现场的保护和恢复:在中断服务前保存当前程序运行条件下的数据,以便中断服务结束后继续使用。,中断方式的功能,中断流程,中断的相关概念,中断源:产生中断申请的设备或事件;中断申请:
9、中断源向CPU发出服务请求;中断响应:CPU接收中断请求,中断源加入中断队列;,中断的相关概念,中断服务程序:进行中断事件处理的程序;中断优先级:中断源申请中断服务的优先级别;中断嵌套:运行中断服务程序时,优先级别高的中断服务程序能够中断优先级别低的中断服务程序。,关于中断原理的说明,CPU如何检测中断请求?同时产生多个中断请求怎么办?中断服务程序如何与中断源对应?如何理解中断的随机性?对中断源的选择性?,CPU如何检测中断请求?,CPU一般利用中断控制器处理中断事件,中断源一般是通过电平信号或脉冲信号产生中断请求,所以,需要中断服务的设备和部件首先要提供中断请求信号到中断控制器,由中断控制器
10、向CPU申请中断服务。,CPU如何检测中断请求?,CPU,中断控制器,INTR,INTA,IRQ,接设备和部件,同时产生多个中断请求怎么办?,中断控制器支持优先级设置,先为不同接入端设置不同优先级,在接线时根据外设(或部件)的重要程度和特征设置不同的优先级。当同时有多个中断源申请中断时,按照“同级先到先服务,不同级按优先级顺序服务”。,中断服务程序如何与中断源对应?,CPU在响应中断、进行中断服务前可以检测到中断源,中断源可能的中断服务要求是可以预先处理,准备好现成的程序,这个程序的起始地址就是中断服务程序的入口地址。,中断服务程序如何与中断源对应?,在内存中专门设置一个区间存放中断服务程序的
11、入口地址,显然,一个中断源应该有一个中断服务程序,一个中断服务程序就有一个入口地址,这个入口地址就是中断向量。,中断服务程序如何与中断源对应?,中断源接入位置(中断号),中断向量,中断服务程序入口地址,中断控制器内信息,内存信息,中断源中断服务程序入口地址,如何理解中断的随机性?,中断源的服务请求时间是不确定的,其含义是:一是不知道是否有请求?二是不知道何时产生请求?中断方式所提供的优势在于可以在接收到请求后,在微秒(us)量级的时间范围进行服务,特别适合外部设备通信和控制。,对中断源的选择性?,如果不允许某个中断源申请,可以设置中断屏蔽;中断控制器支持对单中断源和所有中断源的中断屏蔽。,CP
12、U如何屏蔽中断请求?,CPU,中断控制器,INTR,INTA,IRQ,接设备和部件,中断过程,中断的特点,有效协调高速运行的CPU与慢速工作的外部设备之间的速度关系,提高CPU的工作效率;需要中断控制器硬件支持,并将外部设备连接到中断控制器上。,中断的缺点,不能支持特别高速的设备,在设备需要通信信号的时间间隔小于中断服务最小时间间隔时,中断服务将无法实现。,中断控制器作用信访局,PC机支持的中断种类,PC机支持的中断种类,PC机支持的中断种类,PC/XT的外部中断表,PC机支持的中断种类,PC机支持的中断种类,中断功能调用,BIOS(BASIC INPUT/OUTPUT SYSTEM),基本输
13、入/输出系统是存储于计算机ROM系统中的程序模块,其功能是管理计算机的标准硬件系统,如:显示器、磁盘(硬盘、软盘)、串行接口、打印机等。BIOS程序可以为其他程序所调用,这个功能就叫做BIOS功能调用,亦称为BIOS调用。BIOS功能调用在本质上是软件中断,在中断向量表中,存储了BIOS程序中不同功能模块的入口地址,当在汇编语言程序中执行指令INT*H 时,将自动运行位于ROM中的模块。,DMA方式,采用DMA方式的原因:,DMA控制器的作用,CPU,存储器,DMA控制器,I/O接口和设备,总线请求,总线允许,DMA请求,DMA允许,DMA控制器的功能结构,1)总线控制功能。2)具有用于提供交
14、换数据地址的地址寄存器。3)具有数据块长度计数器。4)具有编程寄存器和状态寄存器。,DMA数据传送的基本过程,1)外部设备向DMAC发出DMA传送请求信号(DREQ)。2)DMAC向总线仲裁机构请求占用总线。3)DMAC接到HLDA信号后成为总线的主控者。4)向存储器和进行DMA传送的外设发出读写命令,开始DMA传送(外设和内存之间)。5)撤消对CPU的总线请求,交回系统总线的管理和控制权。,通信方式比较,通信程序示例,已知条件:Buffer为首址的100个字节,从A设备发送,数据端口地址60H、状态端口地址62H,状态位D3=1,表示设备忙,D4=0表示设备未联机;编写发送数据程序;,通信程
15、序流程,流程图反映编程的基本思路和过程,根据流程图进行程序设计在目前仍然是行之有效的方法;,通信程序流程,#include#include Main()int portt=0 x60,ports=0 x62,I,j;int maxnum=100;unsigned char buffer100,tem;tem=inportb(ports);/*读状态字节*/if(tem&0 x10=0),通信程序流程,tem=inportb(ports);/*读状态字节*/if(tem,通信程序流程,while(Imaxnum)tem=inportb(ports);if(tem,通信程序流程,#include#include Main()int portt=0 x60,ports=0 x62,I,j;int maxnum=100;unsigned char buffer100,tem,