接口技术笔记

接口技术的复习笔记

简答题:

总线

什么是总线

总线就是一组进行互连和信息传输的信号线,就好比连接电脑系统各个部件的桥梁

总线的分类

按照总线 在系统中的位置、连接方式、传输的信号分类
按照不同的标准,总线有不同的分类方法。

  1. 按照总线在系统中的位置进行分类
    片内总线:在集成电路芯片的内部,是用来连接各功能单元的信息通路。
    局部总线:在印刷电路板上连接各芯片的公共通路
    系统总线:又称为内总线,是指模块式微机机箱内的底板总线
    通信总线:又称为外部总线,是用于微机系统与系统之间、微机系统与外部设备
  2. 按照连接方式进行分类
    单总线:即单一总线,所有模块都使用该总线,结构简单,易于扩充
    ②== 双总线==:在CPU和主存之间专门设置了一个高速的DMA总线,用于访问主存储器专用总线,该总线结构简单,易于扩充,同时提高了CPU和存储器之间信息交换的速度。
    三总线:在双总线的基础上增加了I/O总线,由专用的I/O通道控制器完成对I/O设备的访问。三总线减轻了CPU的负担,合理发挥各总线的作用。但是该总线同样需要增加相应的硬件设备。
    多总线:按照模块或设备的性能设计总线,将工作特性相近的模块与设备连接到同一性能的总线上,充分发挥总线性能,进而在总体上提高系统性能。
  3. 按照传输的信号分类:
    数据传输总线:由地址总线、数据总线和控制总线组成。
    仲裁总线:包括总线请求线和总线允许线,各模块通过总线请求线对CPU申请使用总线。
    中断和同步总线:包括中断请求线和中断认可线,同步线向设备发出同步信号以协调各部件之间的工作。
    公用信号线:包括时钟信号、电源等。时钟信号提供统一的时钟,各逻辑模块使用统一的时钟,进而协调一致地工作。
    备用线:留作功能扩充或在用户有特殊要求时使用。

总线的控制方式

总线的控制逻辑基本集中在一处,不论是在连接到总线的一个部件上,还是在单独的硬件中,都称为集中式总线控制;(集中串行连接方式、集中式定时查询方式、集中式独立请求方式)
如果总线控制逻辑分散在连接到总线的各个部件中,就称为分布式总线控制。

总线的性能指标

1.总线定时协议 2.总线频宽 3.总线传输率

局部总线

局部总线的出现使得一些外部设备直接接到CPU局部总线上,这缩短了外围设备和CPU进行数据传输的距离,进一步提高了整体性能

PCI总线

1992年初,Intel联合IBM、Compaq、DEC、Apple等大公司创立了PCI局部总线标准。PCI是“Peripheral Component Interconnect”的缩写,即外围元件互联PCI总线支持33MHz的时钟频率,数据宽度为32位,可扩展到64位,数据传输率可达132MB/s~264MB/s。这就为计算机图形显示所需的大量数据传输和高性能的磁盘输入输出提供了硬件技术支持。PCI总线相对于VL 总线具有很多优点:在Pentium系统上,PCI的性能要高于VL,但在80486上两者性能相当。PCI接口卡安装方便,因为它比VL 接口卡短。PCI经过严密的规格定义与模拟测试,所以比VL有高度的兼容性。PCI总线开放性好,具有广泛的兼容性,是一种低成本、高效益、能与ISA总线兼容的一种局部总线。


中断

中断是什么,处理过程

中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

虽然不同的微机中断系统有所不同,但实现中断时都有一个相同的中断过程,包括中断请求、中断排队、中断响应、中断服务、中断返回共5个阶段。

1. 中断的处理过程

中断处理过程大致可分为四步:中断请求中断排队中断响应中断服务和中断返回
中断请求:由中断源向CPU发出中断请求信号。
中断排队:当多个中断源同时申请中断时,按此优先级顺序进行排队,等候CPU处理。一般是把最紧迫和速度最高的设备的优先级设为较高。
中断响应:在满足中断响应条件下,响应中断,保存断点地址,将相应中断的入口地址送入PC。
中断服务:执行中断服务程序,完成中断源要求的相应操作。
中断返回:恢复断点地址,开放同级中断。

2. 中断优先级的管理
1) 中断源的识别

识别中断源通常有两种方法:
①== 查询中断== 查询中断是用软件查询的方法识别中断源。
矢量中断 矢量中断就是CPU通过外设提供的中断申请信号和中断矢量标志,获得中断服务程序的入口地址。至中断服务程序。该地址信息称为中断矢量。

2) 中断优先级待解决的问题

CPU每次只能响应一个中断源的请求。CPU是否停止原中断程序的执行,而去执行新的中断程序呢?这里就涉及中断系统有无优先级的功能:第一,多个中断源同时请求中断,系统先响应优先级高的中断源;第二,当系统正在为某个中断源服务时,有新的中断源提出中断请求,只有优先级高的中断源的中断请求才能打断优先级低的中断源的服务。
3) CPU实现中断优先级排队的方法
分为软件查询法硬件中断法。根据形成入口地址的机制不同,矢量中断法又分为两种:简单软件查询法中断控制专用硬件法。硬件中断法也分为两种:简单硬件排队法和优先权硬件控制法。

3. 中断嵌套

CPU在处理中断过程中,如果出现了级别更高的中断
请求,CPU停止执行低级中断的处理程序而去优先处
理高级中断。
等高级中断处理完毕后,再接着执行低级的未处理完
的程序。
这种中断处理方式称为多重(级)中断或中断嵌套。
CPU在响应中断时已将IF清零,一定要在中断处理程
序中加入开中断指令,才有可能进行中断嵌套。

简述特殊中断结束方式。

结束方式:自动中断结束普通中断结束特殊中断结束
写入OCW2的D7~D5位为011,OCW2的D2~D0位指定某中断源的ISR相应位。
中断处理完毕,中断服务程序返回之前,CPU向8259发出特殊EOI命令,
使中断源在ISR相应位复位零,中断结束。


8253(根据时序判定哪种方式、只考方式二方式三,计数过程,信号对他的影响)

方式2:分频器

这种方式的功能如同一个N分频计数器,输出是输入时钟按照计数值N分频后的一个连续脉冲,它的一个主要用途就是产生实时时钟中断。

1.计数过程

在写入控制字后的时钟上升沿,输出端OUT变成高电平。若GATE=1,从写入计数初值后的第一个时钟下降沿开始减1计数。减到1时,输出端OUT变为低电平:减到0时,输出端OUT又变成高电平,从初值开始新的计数过程,即方式2能自动重装初值,输出固定频率的脉冲。因此如果装入计数初值为N,OUT引脚上每隔N个时钟脉冲就输出一个负脉冲,频率为输入时钟脉冲频率的1/N,故方式2也称为分频器
在这里插入图片描述


GATE信号的影响

方式2中,GATE信号为低电平时终止计数,而在由低电平恢复为高电平后的第一个时钟下降沿重新从初值开始计数。由此可见,GATE一直维持高电平时,计数器方能作为一个N分频器,如图7-11所示。
在这里插入图片描述


方式3:方波发生器

方波发生器和分频器的工作情况类似,但从输出端得到的不是序列负脉冲,而是对称的矩形波。

1.计数过程

方式3的计数过程按计数初值的不同分为两种情况:
① 计数初值为偶数。在写入控制字后的时钟上升沿,输出端OUT变成高电平。若GATE=1,从写入计数初值后的第一个时钟下降沿开始减1计数。减到N/2时,输出端OUT变为低电平;减到0时,输出端OUT又变成高电平,并重新从初值开始新的计数过程。可见,输出端OUT的波形是连续且完全对称的方波,故称为方波发生器,如图所示。
在这里插入图片描述
计数初值为数。在写入控制字后的时钟上升沿,输出端OUT变成高电平。若GATE=1,从写入计数初值后的第一个时钟下降沿开始减1计数,减到==(N+1)/2以后,输出端OUT变为低电平==;减到0时,输出端OUT又变成高电平,并重新从初值开始新的计数过程。这时输出波形的高电平宽度比低电平宽度多一个时钟周期,为连续的近似方波,如图所示。
在这里插入图片描述


GATE信号的影响

GATE=1,允许计数;GATE=0,禁止计数。如果在输出端OUT为低电平期间,GATE变低,那么OUT将立即变高并停止计数。当GATE变高以后,计数器重新装入初值并重新开始计数,如图7-15所示。
在这里插入图片描述


DMA

主工作和从工作
  1. 主工作模块
    此时8237A的身份是对总线拥有控制权的主控器,这使得系统在它的控制下,进行I/O设备与存储器之间的数据传送工作。DMA写操作时,它发出写信号,数据由外设传到存储器;DMA读操作时,它发出读信号,数据从存储器传送到外设。
  2. 从工作模块
    在DMA控制器获得总线控制权之前,它受CPU的控制。此时,CPU通过对DMA控制器进行初始化编程来确定数据的传送方式和类型、内存单元的起始地址、地址的增减选择以及传送的字节总数,也可以从DMA控制器中读出当前的状态。
单字节和块字节
1) 单字节传送模式

在这种模式下,DMA每次传送仅传送一个字节。传送之后,字节数寄存器减1,地址寄存器加1或减1,释放总线并将总线控制权交还给CPU。

2) 数据块传送模式

在这种模式下,8237A自DREQ启动时就连续传送数据,直到字节计数器过零或者由外部输入有效的EOP信号终止DMA传送为止。DREQ只须维持有效到DACK有效。数据块传送模式的特点是:一次请求传送一个数据块,效率高,但整个DMA传送期间CPU长时间无法控制总线,此期间即便有其他DMA请求或中断请求,也不能响应。

对DMA控制器进行初始化设置的操作步骤如下:

① 关闭8237A(禁止工作),保证初始化后才响应DMA操作请求。
② 输出总清除命令使8237A复位以便接受新的命令。
③ 写入模式寄存器,指定工作方式和传输类型。
④ 写入命令寄存器以控制8237A工作。
⑤ 写入基地址和当前地址寄存器,确定起始地址。
⑥ 写基本节和当前字节计数器,确定要传送的字节数。
⑦ 写入屏蔽寄存器。
⑧ 启动8237A工作,用软件的办法将请求DMA操作控制字写入请求寄存器,或者用硬件的办法等待DREQ引线发出DMA操作申请。
注意:写入字节计数器和地址寄存器初值的步骤可以在发出总清除命令之后与启动8237A工作之前的任意位置进行;而且在PC机中,8237A的通道1预留给用户使用,BIOS初始化时已经将该通道的命令寄存器写入00H。即设定为正常时序、固定优先级、不扩展写信号、DREQ高电平有效、DACK低电平有效、允许DMA传送、禁止存储器间传送,用户不需要再写入命令寄存器。禁止对系统占用的其他通道进行初始化,以免破坏系统工作。


程序填空题

8259A初始化编程

在这里插入图片描述

在这里插入图片描述
是否有ICW3该命令字有效的前提是ICW1的SNGL位,当SNGL=0时才设置 ICW3

例:在IBM PC机中,只有一片8259A,可接收外部8级中断。在I/O地址中,分配8259A的端口地址为20H和21H,初始化为:边沿触发、缓冲连接、中断结束采用EOI命令、中断优先级采用全嵌套方式,8级中断源的中断类型分别为08H~0FH。初始化程序如下:

MOV  DX,20H                 	 
MOV AL,00010011B			 	   
OUT DX,AL              ;写入ICW1

MOV  DX,21H							
MOV AL,08H							
OUT DX,AL              ;写入ICW2

MOV  AL,00001101B					
OUT DX,AL    			;写入ICW4		

8255A初始化编程

说明

  1. 方式选择控制字
    方式选择控制字用来决定8255A三个数据端口各自的工作方式,它的格式如图6-4所示,由一个8位的寄存器组成。
    8255A有3种不同的工作方式:方式0、方式1和方式2。方式选择控制字用来指定A组、B组的工作方式以及在不同方式下PA、PB的数据输入/输出方向。
    在这里插入图片描述
    其中:
    为控制字标识位。=1,表示本控制字为方式选择控制字;若=0,则本控制字为C口置位/复位控制字。
    A组控制位。其中和为A组方式选择位;若=00,则A组设定为方式0;若=01,则A组设定为方式1;若=1×(×为任意),则A组设定为方式2。
    A口为输入输出控制位:=0,则~用于输出数据;若=1,则~用于输入数据。
    C口为高4位输入/输出控制位:若=0,则~为输出数据方式;若=1,则~为输入数据方式。
    B组控制位,作用和~类似。其中,为方式选择位。若=0,则B组设定为模式0;若=1,则B组设定为模式1。
    B口输入输出控制位,若=0,则~用于输出数据;若=1,则~用于输入数据。
    C口低4位输入/输出控制位,若=0,则~用于输出数据;若=1,则~用于输入数据。

例6-1:某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入(8255A的控制端口地址为CTRL_PORT)。
控制字为:10010001,即91H。

并行接口8255A的A口工作于方式2,要求发两个中断允许,即PC4和PC6均需要置位。B口工作于方式1,要求使PC2置位来开放中断。初始化程序请补充完整 (命令口地址假定为CTRL_PORT)

      MOV  AL,   (1100 0100B) 0C4H
      OUT  CTRL_PORT,AL ;设置工作方式
      MOV  AL,   (0000 1001B)09H 
      OUT  CTRL_PORT,AL ;置位,A口输入允许中断
      MOV  AL, 	 (0000 1101)0DH   
      OUT  CTRL_PORT,AL ;置位,A口输出允许中断
      MOV  AL,    (0000 0101B)05H     
      OUT  CTRL_PORT,AL ;置位;B口输出允许中断

说明
C端口置1/置0控制字
8255A在和CPU传输数据的过程中,经常将C端口的某几位作为控制位或状态位来使用,从而配合A端口或B端口的工作。为了方便用户,在8255A芯片初始化时,C端口置1/置0控制字可以单独设置C端口的某一位为0或为1。控制字的位为“0”时,就成了C端口置1/置0控制字中的标识位,具体的格式如图所示。

在这里插入图片描述

要求通过8255A芯片C口的位产生一个方波脉冲信号,假设地址为05A0H~05A6H,要使位产生方波脉冲信号,可先对PC2位置位,延时所需要的方波脉冲宽度,再使PC2位复位即可。程序如下:

MOV  DX,  05A6H(填空)    		;控制口地址送DX
MOV  AL,  (0000 0101B)  05H(填空)    		;对PC2置位的控制字
OUT  DX,   AL    
CALL  DELAY			;调用延时程序
MOV  AL, (0000 0100B)  04H (填空)     		;对PC2复位的控制字
OUT  DX,AL

8237初始化编程

命令字参考说明
在这里插入图片描述
模式字参考说明

在这里插入图片描述
例:利用8237A的通道2,由一个输入设备输入一个32KB的数据块至内存,内存的首地址为34000H,采用增量、块传送方式,传送完不自动初始化,输入设备的DREQ和DACK都是高电平有效。请编写初始化程序,8237A的首地址用标号DMA表示。
假设存储器页面寄存器内容已被置为3,8237A的初始化程序如下:

MOV AL,06H  ;屏蔽通道2(写屏蔽寄存器) 
MOV DX,DMA+0AH
OUT DX,AL
MOV AL, (1000 0000B)80H    ;写通道2命令字:DREQ、 DACK,高电平有效,正常时序、固定优先级、允许8237A工作 
MOV DX,DMA+08H
OUT DX,AL 
MOV AL,  (1000 0110B) 86H       ;写通道2模式字:块传输、写传输,地址增1、禁止自动预置等
MOV DX,DMA+0BH 
OUT  DX,   AL(填空) 
MOV DX,DMA+0CH
MOV  AL ,0; 置0先/后触发器 
OUT  DX,AL
MOV AL,00H;设通道2的基地址为4000H 
MOV DX,DMA+04H
OUT DX,AL 
MOV AL,   40H(填空)
OUT      DX   ,AL
MOV AL,0FFH
MOV DX,DMA+05H;设通道2的基字节数为7FFFH (32767D) 
OUT DX,AL
MOV AL, 7FH
OUT  DX,AL
MOV  AL,02H
MOV  DX, DMA+0AH ;清除通道2屏蔽   
OUT DX, AL
MOV  AL,06H
MOV DX,DMA+09H;通道2发出DMA请求  
       OUT DX,A

填空题 ?

CPU时序的概念

CPU引脚上信号的输出是与时间有关的。在不同的时段,各引脚上信号的输出是不同的。但是这些信号都受一个统一的时钟信号控制,也就是说,CPU是在时钟脉冲的统一控制下,一个节拍一个节拍地工作。这就是时序的作用

总线周期时序的概念

8086 CPU的基本总线周期为4个时钟周期,每个时钟周期间隔称为一个T状态。如图1-7所示,在T1状态,总线接口部件将RAM或I/O地址放在地址/数据复用总线(AD)上。T2状态对于读总线周期和写总线周期有所不同,对于读总线周期,AD总线为接收数据做准备;而对于写总线周期,AD总线上将形成待写的数据,并且一直保持到总线周期的结束,即T4状态。T3与T4状态对于读或写总线周期,AD总线上均为数据。当RAM或I/O接口速度不够时,T3与T4状态之间可插入等待状态Tw。当总线接口部件无访问操作数和取指令任务时,8086 CPU不执行总线操作,所以总线周期处于空闲状态Ti
在这里插入图片描述

接口的概念

所谓接口,是指两个部件或系统的交接部分。在计算机通信过程中,涉及CPU与存储器以及外围设备之间的通信。它们之间存在速度等各方面的差异,所以为了通信,需要借助CPU和存储器以及外围设备之间的接口。前者称为存储器接口,存储器通常在CPU的同步控制下工作;后者称为I/O接口,由于外围设备种类繁多,性能差异很大,因此I/O接口比较复杂,种类也很多,比如8255可编程并行接口电路、8253可编程定时器/计数器、8251可编程串行接口电路、8237直接存储器存取电路(DMA)、82380多功能接口电路以及现代微机系统中的系统控制逻辑芯片等。习惯上说到接口指的就是I/O接口

译码技术

I/O设备为了与CPU交换信息,每个I/O端口都要有一个地址,并且对地址进行编码,CPU 根据I/O端口的地址进行译码以访问I/O设备。本节介绍I/O端口的编址方式以及I/O端口的地址分配和译码技术。


猜你喜欢

转载自blog.csdn.net/zonkidd/article/details/84762773