计算机组成原理和接口技术第四章讲稿

上传人:cl****1 文档编号:568554147 上传时间:2024-07-25 格式:PPT 页数:65 大小:354.50KB
返回 下载 相关 举报
计算机组成原理和接口技术第四章讲稿_第1页
第1页 / 共65页
计算机组成原理和接口技术第四章讲稿_第2页
第2页 / 共65页
计算机组成原理和接口技术第四章讲稿_第3页
第3页 / 共65页
计算机组成原理和接口技术第四章讲稿_第4页
第4页 / 共65页
计算机组成原理和接口技术第四章讲稿_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《计算机组成原理和接口技术第四章讲稿》由会员分享,可在线阅读,更多相关《计算机组成原理和接口技术第四章讲稿(65页珍藏版)》请在金锄头文库上搜索。

1、第4章 微机接口概述4.1微机接口微机接口n微机接口是一个特定的管理微机接口是一个特定的管理/协调、信息变换协调、信息变换/缓冲部件。缓冲部件。n接口用途:连接计算机的不接口用途:连接计算机的不同部件,进行信息交换;同部件,进行信息交换;4.1微机接口功能微机接口功能nI/O设备数据缓冲设备数据缓冲/锁存锁存;n设备选择和寻址设备选择和寻址;n数据格式转换数据格式转换;n电子信息转换电子信息转换;n设备控制设备控制;n可编程可编程;n错误检测控制错误检测控制.4.2 I/O接口的传输内容接口的传输内容nI/O接口传输的信息种类接口传输的信息种类: 数据信息;数据信息; 控制信息;控制信息; 状

2、态信息。状态信息。nI/O信号的形式信号的形式开关量开关量数字量数字量脉冲量脉冲量模拟量模拟量4.2 I/O接口的基本结构接口的基本结构n端口:端口: 数据输入数据输入/输出寄存器;输出寄存器; 控制寄存器;控制寄存器; 寄存器;寄存器;n数据总线和地址总线缓冲器(接数据线和地数据总线和地址总线缓冲器(接数据线和地址线);址线);n接口接口/端口地址译码器;端口地址译码器;n接口控制逻辑(接控制总线);接口控制逻辑(接控制总线);I/O接口的编址接口的编址n计算机中计算机中I/O端口也是可以编址的,编址的端口也是可以编址的,编址的方法与存储器编址方法类似。方法与存储器编址方法类似。n如何理解存

3、储器和如何理解存储器和I/O端口寻址的区别?端口寻址的区别?以城市类比计算机以城市类比计算机地址种类地址种类相对城市含义相对城市含义 本质含义本质含义存储器地址存储器地址门牌号码门牌号码存储器单元存储器单元I/O端口地址端口地址 城市道路编号城市道路编号 接口芯片寄存器接口芯片寄存器I/O接口地址的编址方案接口地址的编址方案n混合编址:存储器地址和混合编址:存储器地址和I/O端口地址统一端口地址统一编址,编址,Motorola系列系列CPU采用混合编址;采用混合编址;n独立编址:存储器地址和独立编址:存储器地址和I/O端口地址独立端口地址独立编址,编址,Intel系列系列CPU采用独立编址;采

4、用独立编址;nIntel系列系列CPU用用M/IO信号线区别对存储器信号线区别对存储器还是还是I/O端口进行寻址:端口进行寻址:n存储器寻址空间存储器寻址空间232=4G;nI/O接口寻址空间接口寻址空间210=1024;n存储器寻址空间远大于存储器寻址空间远大于I/O端口寻址空间。端口寻址空间。I/O接口芯片连线的寻址原理接口芯片连线的寻址原理n对对I/O接口芯片的的寻址通过地址线连接:接口芯片的的寻址通过地址线连接:地址线地址线含义含义连接方法连接方法低位地址线低位地址线 片内地址片内地址 CPU低位地址线与芯片低位地址线与芯片上地址线直接相连上地址线直接相连高位地址线高位地址线 片外地址

5、片外地址 CPU高位地址线经过译高位地址线经过译码器接芯片片选信号码器接芯片片选信号(CE、CS)74LS138译码器的连线方法译码器的连线方法n假设:假设:I/O接口芯片的片内地址为接口芯片的片内地址为370H377H,求,求CPU如何通过如何通过74LS138译码器进行寻址?译码器进行寻址?n分析:片内地址分析:片内地址8个,说明芯片具有片个,说明芯片具有片内地址线内地址线3位位A0A2,高位地址为,高位地址为A3A10,按照全局译码的原理,按照全局译码的原理,A3A10是高位地址线,要通过译码是高位地址线,要通过译码器连接到片选信号。器连接到片选信号。74LS138译码器的连线方法译码器

6、的连线方法n假设:假设:I/O接口芯片的片内地址为接口芯片的片内地址为370H377H,求,求CPU如何通过如何通过74LS138译码器进行寻址?译码器进行寻址?n分析:片内地址分析:片内地址8个,说明芯片具有片个,说明芯片具有片内地址线内地址线3位位A0A2,高位地址为,高位地址为A3A10,按照全局译码的原理,按照全局译码的原理,A3A10是高位地址线,要通过译码是高位地址线,要通过译码器连接到片选信号。器连接到片选信号。74LS138译码器的连线方法译码器的连线方法n370H377H对应的二进制为:对应的二进制为:11011100001101110111,根据界线原理:低三位直接连接,根

7、据界线原理:低三位直接连接,主要说明高位地址线的接法。主要说明高位地址线的接法。74LS138译码器的连线步骤译码器的连线步骤n第一步:比较第一步:比较CPU高位地址线位数高位地址线位数和和74LS138译码器输入端位数的译码器输入端位数的关系,有三种可能:相等、大于或关系,有三种可能:相等、大于或小于;小于; CPU高位地址线高位地址线7位(位(A3-A9),), 74LS138译码器输入端译码器输入端6位。位。74LS138译码器的连线步骤译码器的连线步骤n第二步:将高位地址线中第二步:将高位地址线中0和和1分类;分类;n第三步:接线,为第三步:接线,为0的端口线先接的端口线先接G2A、G

8、2B,为,为1的端口先接的端口先接G1;其余接线端;其余接线端自由接自由接A、B、C端;当端;当CPU高位地址高位地址线比线比74LS138译码器输入端数量多时,译码器输入端数量多时,要用逻辑门电路过渡,减少接线端。要用逻辑门电路过渡,减少接线端。74LS138译码器的连线步骤译码器的连线步骤n第四步:根据第四步:根据A、B、C的值确定的值确定Yi的输出选择,接芯片的片选。的输出选择,接芯片的片选。问题:如何根据问题:如何根据74LS138译码器的译码器的接线判断芯片的地址?接线判断芯片的地址?4.3 接口数据传送的控制方式接口数据传送的控制方式接口的应用需求来源于不同计算机部接口的应用需求来

9、源于不同计算机部件件(设备设备)之间的通信之间的通信,这与部件这与部件(设设备备)的工作环境关系密切。的工作环境关系密切。接口与网络通信的联系和区别?接口与网络通信的联系和区别?广义地讲,网络通信电路也属于接口广义地讲,网络通信电路也属于接口的范畴,但是,网络技术相对独立。的范畴,但是,网络技术相对独立。网络通信与接口主要区别网络通信与接口主要区别 类型类型使用使用场合场合安全安全性性编程控制编程控制复杂程度复杂程度软件环软件环境要求境要求实时实时性性网络网络通信通信系统计系统计算机算机较好较好 易易网络协网络协议议无实无实时性时性接口接口各种计各种计算机算机好好有难度有难度无无实时实时性强性

10、强4.3 接口数据传送的控制方式接口数据传送的控制方式程序方式;程序方式;中断方式;中断方式;DMA方式。方式。程序方式程序方式有两种:无条件传送方式和条有两种:无条件传送方式和条件传送(查询)方式,无条件件传送(查询)方式,无条件传送方式可靠性差,一般采用传送方式可靠性差,一般采用条件传送(查询)方式。条件传送(查询)方式。程序方式程序方式通信需要发送和接收双方的配合。通信需要发送和接收双方的配合。接收数据缓冲器发送数据缓冲器输入就绪输入状态检测就绪数据线输入就绪状态检测输出状态检测输出有效输出有效状态检测接收端发送端程序方式程序方式输入就绪?发送数据YN发送端发送操作接收端接收操作输出有效

11、?读数据YN程序方式程序方式问题:问题:如何检测如何检测“接收就绪接收就绪”和和“发送发送有效有效”的状态信号?的状态信号?发送操作如何实现?发送操作如何实现?接收操作如何实现?接收操作如何实现?程序方式程序方式检测接收就绪和发送有效状态信号:检测接收就绪和发送有效状态信号:先读取接口状态字节(先读取接口状态字节(inportb()),尔),尔后用后用“与与”(&)位操作取得状态位;)位操作取得状态位;发送操作:写端口数据(发送操作:写端口数据(outportb())接收操作:读接口数据(接收操作:读接口数据(inportb())补:补:C语言的接口操作和位操作语言的接口操作和位操作(1)ou

12、tportb(),向指定端口地址,向指定端口地址输出字节输出字节原形:原形:void outportb(int portid,unsigned char value)调用方式:调用方式:outportb(0x端口号端口号,要输要输出的字节出的字节);头文件:头文件:dos.h补:补:C语言的接口操作和位操作语言的接口操作和位操作(2)inportb(),从指定端口读入字节,从指定端口读入字节原形:原形:unsigned char inportb(int portid)调用方式:字符变量调用方式:字符变量=inportb(0x端口号端口号);头文件:头文件:dos.h补:补:C语言的位操作运算符

13、语言的位操作运算符“按位与按位与” 运算:运算:&“按位或按位或” 运算:运算:|“按位异或按位异或” 运算:运算:“按位取反按位取反” 运算:运算:移位运算:移位运算:右移,右移,左移左移补:补:C语言的位操作运算符语言的位操作运算符如何取得状态信息:如何取得状态信息:读入状态字节用与运算获得状态位信息判断状态信息是否为“真”s7 s6 s5 s4 s3 s2 s1 s0状态信息如何判断?如何判断?补:补:C语言的位操作运算符语言的位操作运算符用用C语言的输入语言的输入/输出函数和位输出函数和位操作相结合可以实现对计算机操作相结合可以实现对计算机接口的基本操作,是接口的基本操作,是C语言的语

14、言的基本功能。基本功能。程序方式程序方式有条件查询方式的缺点:有条件查询方式的缺点:CPU工作效率低;工作效率低;以串行接口通信为例,以串行接口通信为例,CPU的利用率只有的利用率只有0.5%中断方式中断方式中断的基本思想:中断的基本思想:CPU平时正常运行用平时正常运行用户程序,只有在有特殊事件需求时才进户程序,只有在有特殊事件需求时才进行服务,服务完成后立即返回原来运行行服务,服务完成后立即返回原来运行的程序,目的是提高的程序,目的是提高CPU的工作效率。的工作效率。中断的定义:中断的定义:CPU暂停正在运行的程序,暂停正在运行的程序,处理需要服务的事件,等服务完成以后,处理需要服务的事件

15、,等服务完成以后,返回到原来运行的程序。返回到原来运行的程序。发出中断请求信号:提供检测中断发出中断请求信号:提供检测中断源的输入线路;源的输入线路;定向中断服务子程序:为指定事件定向中断服务子程序:为指定事件提供相应的服务;提供相应的服务;中断方式中断方式的功能的功能断点的保护和返回:进行中断服务断点的保护和返回:进行中断服务前保存当前程序地址,以便中断服前保存当前程序地址,以便中断服务结束后程序返回;务结束后程序返回;现场的保护和恢复:在中断服务前现场的保护和恢复:在中断服务前保存当前程序运行条件下的数据,保存当前程序运行条件下的数据,以便中断服务结束后继续使用。以便中断服务结束后继续使用

16、。中断方式中断方式的功能的功能中断中断流程流程中断的相关概念中断的相关概念中断源:产生中断申请的设备中断源:产生中断申请的设备或事件;或事件;中断申请:中断源向中断申请:中断源向CPU发出发出服务请求;服务请求;中断响应:中断响应: CPU接收中断请求,接收中断请求,中断源加入中断队列;中断源加入中断队列;中断的相关概念中断的相关概念中断服务程序:进行中断事件处理中断服务程序:进行中断事件处理的程序;的程序;中断优先级:中断源申请中断服务中断优先级:中断源申请中断服务的优先级别;的优先级别;中断嵌套:运行中断服务程序时,中断嵌套:运行中断服务程序时,优先级别高的中断服务程序能够中优先级别高的中

17、断服务程序能够中断优先级别低的中断服务程序。断优先级别低的中断服务程序。关于中断原理的说明关于中断原理的说明CPU如何检测中断请求?如何检测中断请求?同时产生多个中断请求怎么办?同时产生多个中断请求怎么办?中断服务程序如何与中断源对应?中断服务程序如何与中断源对应?如何理解中断的随机性?如何理解中断的随机性?对中断源的选择性?对中断源的选择性?CPU如何检测中断请求?如何检测中断请求?CPU一般利用中断控制器处理中断一般利用中断控制器处理中断事件,中断源一般是通过电平信号事件,中断源一般是通过电平信号或脉冲信号产生中断请求,所以,或脉冲信号产生中断请求,所以,需要中断服务的设备和部件首先要需要

18、中断服务的设备和部件首先要提供中断请求信号到中断控制器,提供中断请求信号到中断控制器,由中断控制器向由中断控制器向CPU申请中断服务。申请中断服务。CPU如何检测中断请求?如何检测中断请求?CPU中断中断控制器控制器INTRINTAIRQ接接设设备备和和部部件件同时产生多个中断请求怎么办?同时产生多个中断请求怎么办?中断控制器支持优先级设置,先为中断控制器支持优先级设置,先为不同接入端设置不同优先级,在接不同接入端设置不同优先级,在接线时根据外设(或部件)的重要程线时根据外设(或部件)的重要程度和特征设置不同的优先级。当同度和特征设置不同的优先级。当同时有多个中断源申请中断时,按照时有多个中断

19、源申请中断时,按照“同级先到先服务,不同级按优先同级先到先服务,不同级按优先级顺序服务级顺序服务”。中断服务程序如何与中断源对应?中断服务程序如何与中断源对应?CPU在响应中断、进行中断服务在响应中断、进行中断服务前可以检测到中断源,中断源可前可以检测到中断源,中断源可能的中断服务要求是可以预先处能的中断服务要求是可以预先处理,准备好现成的程序,这个程理,准备好现成的程序,这个程序的起始地址就是中断服务程序序的起始地址就是中断服务程序的入口地址。的入口地址。中断服务程序如何与中断源对应?中断服务程序如何与中断源对应?在内存中专门设置一个区间存放在内存中专门设置一个区间存放中断服务程序的入口地址

20、,显然,中断服务程序的入口地址,显然,一个中断源应该有一个中断服务一个中断源应该有一个中断服务程序,一个中断服务程序就有一程序,一个中断服务程序就有一个入口地址,这个入口地址就是个入口地址,这个入口地址就是中断向量。中断向量。中断服务程序如何与中断源对应?中断服务程序如何与中断源对应?中断源中断源接入位置接入位置(中断号中断号)中断中断向量向量中断服务中断服务程序入口地址程序入口地址中断控制器内信息中断控制器内信息内存信息内存信息中断源中断源中断服务程序入口地址中断服务程序入口地址如何理解中断的随机性?如何理解中断的随机性?中断源的服务请求时间是不确定的中断源的服务请求时间是不确定的,其含义是

21、其含义是:一是不知道是否有请求一是不知道是否有请求?二是不知道何时产生请求二是不知道何时产生请求?中断方式所提供的优势在于可以在中断方式所提供的优势在于可以在接收到请求后,在微秒(接收到请求后,在微秒(us)量)量级的时间范围进行服务,特别适合级的时间范围进行服务,特别适合外部设备通信和控制。外部设备通信和控制。对中断源的选择性?对中断源的选择性?如果不允许某个中断源申请,如果不允许某个中断源申请,可以设置中断屏蔽;可以设置中断屏蔽;中断控制器支持对单中断源和中断控制器支持对单中断源和所有中断源的中断屏蔽。所有中断源的中断屏蔽。CPU如何屏蔽中断请求?如何屏蔽中断请求?CPU中断中断控制器控制

22、器INTRINTAIRQ接接设设备备和和部部件件中断过程中断过程序号序号中断过程中断过程执行部件执行部件1外中断源申请外中断源申请外部设备(部件)外部设备(部件)2中断号生成中断号生成中断控制器中断控制器3中断屏蔽和优先级处理中断屏蔽和优先级处理中断控制器中断控制器4中断申请中断申请中断控制器中断控制器5响应中断申请,取得中断号响应中断申请,取得中断号CPU6由中断号确定中断向量内存地址由中断号确定中断向量内存地址CPU7取中断向量,保护现场取中断向量,保护现场CPU8程序跳转,执行中断服务程序程序跳转,执行中断服务程序CPU9恢复现场,返回原执行程序恢复现场,返回原执行程序CPU中断的特点中

23、断的特点有效协调高速运行的有效协调高速运行的CPU与慢速工与慢速工作的外部设备之间的速度关系,提作的外部设备之间的速度关系,提高高CPU的工作效率;的工作效率;需要中断控制器硬件支持,并将外需要中断控制器硬件支持,并将外部设备连接到中断控制器上。部设备连接到中断控制器上。中断的缺点中断的缺点 不能支持特别高速的设备,在不能支持特别高速的设备,在设备需要通信信号的时间间隔小于设备需要通信信号的时间间隔小于中断服务最小时间间隔时,中断服中断服务最小时间间隔时,中断服务将无法实现。务将无法实现。中断控制器作用中断控制器作用信访局信访局中断控制器中断控制器信访局信访局接收中断请求接收中断请求接收群众意

24、见接收群众意见中断屏蔽中断屏蔽对某些问题不与上传对某些问题不与上传向向CPU发申请发申请向政府部门转交意见向政府部门转交意见中断服务程序中断服务程序(CPU)处理群众意见(政府部门)处理群众意见(政府部门)中断优先级中断优先级反映问题的轻重缓急反映问题的轻重缓急PC机支持的中断种类机支持的中断种类中断种类中断种类中断源中断源说明说明非屏蔽中断非屏蔽中断NMI软件故障(被零除)软件故障(被零除) 内部程序内部程序硬件故障硬件故障内部程序内部程序外中断外中断由外部设备产生由外部设备产生经过中断控经过中断控制器连接制器连接软件中断软件中断系统调用系统调用软件应用软件应用PC机支持的中断种类机支持的中

25、断种类PC机支持的中断种类机支持的中断种类PC/XT的外部中断表中断源中断源中断类型中断类型中断向量存储地址中断向量存储地址用用 途途NMI02H0008H奇奇偶偶校校验验错错、I/O通通道道NMI、8087NMIIRQ008H0020H8253的的0通道通道IRQ109H0024H键盘键盘IRQ20AH0028H保留保留IRQ30BH002CH保留保留IRQ40CH0030HRS232CIRQ50DH0034H硬盘驱动器中断硬盘驱动器中断IRQ60EH0038H软盘驱动器中断软盘驱动器中断IRQ70FH003CH打印机中断打印机中断PC机支持的中断种类机支持的中断种类PC机支持的中断种类机支

26、持的中断种类中断源中断源中断类型中断类型中断向量存储地址中断向量存储地址用途用途NMINMI02H02H0008H0008H奇奇 偶偶 校校 验验 错错 、 I/OI/O通通 道道 NMINMI、8087NMI8087NMIIRQ0IRQ008H08H0020H0020H82538253的的0 0通道通道IRQ1IRQ109H09H0024H0024H键盘键盘IRQ2IRQ20AH0AH0028H0028H扩展,通过扩展,通过8259A8259A从片引入中断源从片引入中断源IRQ3IRQ30BH0BH002CH002CHRSRS232C COM1232C COM1IRQ4IRQ40CH0CH0

27、030H0030HRSRS232C COM2232C COM2IRQ5IRQ50DH0DH0034H0034H硬盘驱动器中断硬盘驱动器中断IRQ6IRQ60EH0EH0038H0038H软盘驱动器中断软盘驱动器中断IRQ7IRQ70FH0FH003CH003CH打印机中断打印机中断中断功能调用中断功能调用BIOSBIOS(BASIC BASIC INPUT/OUTPUT INPUT/OUTPUT SYSTEMSYSTEM),基基本本输输入入/ /输输出出系系统统是是存存储储于于计计算算机机ROMROM系系统统中中的的程程序序模模块块,其其功功能能是是管管理理计计算算机机的的标标准准硬硬件件系系

28、统统,如如:显显示示器器、磁磁盘(硬盘、软盘)、串行接口、打印机等。盘(硬盘、软盘)、串行接口、打印机等。BIOSBIOS程程序序可可以以为为其其他他程程序序所所调调用用,这这个个功功能能就就叫叫做做BIOSBIOS功能调用,亦称为功能调用,亦称为BIOSBIOS调用。调用。BIOSBIOS功功能能调调用用在在本本质质上上是是软软件件中中断断,在在中中断断向向量量表表中中,存存储储了了BIOSBIOS程程序序中中不不同同功功能能模模块块的的入入口口地地址址,当当在在汇汇编编语语言言程程序序中中执执行行指指令令INT INT *H *H 时时,将将自自动动运运行位于行位于ROMROM中的模块。中

29、的模块。DMA方式方式采用采用DMA方式的原因:方式的原因:DMA控制器的作用控制器的作用CPU存储器存储器DMA控制器控制器I/O接口接口和设备和设备总线总线请求请求总线总线允许允许DMA请求请求DMA允许允许DMA控制器的功能结构控制器的功能结构1)总线控制功能。)总线控制功能。2)具具有有用用于于提提供供交交换换数数据据地地址址的的地地址址寄寄存器。存器。3)具有数据块长度计数器。)具有数据块长度计数器。4)具有编程寄存器和状态寄存器。)具有编程寄存器和状态寄存器。 DMADMA数据传送的基本过程数据传送的基本过程1)外外部部设设备备向向DMAC发发出出DMA传传送送请请求求信信号号(D

30、REQ)。)。2)DMAC向总线仲裁机构请求占用总线。向总线仲裁机构请求占用总线。3)DMAC接到接到HLDA信号后成为总线的主控者。信号后成为总线的主控者。4)向向存存储储器器和和进进行行DMA传传送送的的外外设设发发出出读读写写命令,开始命令,开始DMA传送(外设和内存之间)。传送(外设和内存之间)。5)撤撤消消对对CPU的的总总线线请请求求,交交回回系系统统总总线线的的管理和控制权。管理和控制权。通信方式比较通信方式比较通信方式使用场合主要特征环境要求网络计算机之间高速,非实时网络协议程序同步计算机与外设、计算机之间高速、实时简化查询各种速度、实时简化中断硬件中断非高速、实时简化软件中断

31、高速、实时简化DMA外设与内存高速、实时简化通信程序示例通信程序示例已知条件:已知条件:Buffer为首址的为首址的100个字节,从个字节,从A设设备发送,数据端口地址备发送,数据端口地址60H、状态、状态端口地址端口地址62H,状态位,状态位D3=1,表示,表示设备忙,设备忙,D4=0表示设备未联机;表示设备未联机;编写发送数据程序;编写发送数据程序;通信程序流程通信程序流程联机判断联机判断?计数初始为计数初始为0“忙忙”?发送一个发送一个字节字节100字节满?字节满?提示提示信息信息NYYN返返回回NY流程图反映编程流程图反映编程的基本思路和过的基本思路和过程,根据流程图程,根据流程图进行

32、程序设计在进行程序设计在目前仍然是行之目前仍然是行之有效的方法;有效的方法;通信程序流程通信程序流程#include #include Main() int portt=0x60,ports=0x62,I,j; int maxnum=100; unsigned char buffer100,tem; tem=inportb(ports); /*读状态字节读状态字节*/ if(tem&0x10=0) 通信程序流程通信程序流程 tem=inportb(ports); /*读状态字节读状态字节*/ if(tem&0x10=0) printf(“未联机,请检查接线未联机,请检查接线”); return; I=0; while(Imaxnum) tem=inportb(ports); 通信程序流程通信程序流程while(Imaxnum) tem=inportb(ports); if(tem&0x8=0) outputb(portt,bufferI+); 通信程序流程通信程序流程#include #include Main() int portt=0x60,ports=0x62,I,j; int maxnum=100; unsigned char buffer100,tem

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号