




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章计算机接口技术概述1.1接口技术的基本概念1.2计算机与外设之间的数据传送方式1.3无条件传送接口实验
习题11.1接口技术的基本概念
在计算机系统中除了CPU以及基本硬件之外,还有各种外部设备,比如显示器、键盘、打印机、磁盘驱动器、光盘驱动器等。这些外部设备需要与CPU进行大量的信息交换,根据CPU的要求进行各种操作。进行信息交换时,由于各种原因(比如电平、时序等的不同),这些外部设备不能与CPU直接相连,它们之间的信息交换必须经过一个中间电路,也就是接口电路才能实现。
外部设备多种多样,可以是机械式、电子式或其它形式的;输入/输出的信息不相同,可以是数字量、模拟量或开关量;信息传输的速度也不相同,键盘输入的速度是秒数量级,而磁盘输入的速度最高可达百兆位/秒以上。另外,与CPU进行交换的信息的来源也不相同,它们可以来自于计算机的系统硬件(比如键盘、显示器、磁盘机等),也可以来自于外部控制系统或现场采集到的信息。1.1.1接口的功能与基本结构接口(Interface)是两个部件之间的连接点或界面。计算机接口技术就是研究CPU如何与外部设备进行连接、耦合、匹配,以便实现CPU与外部设备之间高速、可靠地进行信息交换的一门技术,是计算机系统应用的关键课题之一。1.接口应具有的功能
1)对外部设备的寻址功能计算机系统中往往有多种类型的外部设备,相同类型的外部设备也可能不止一台。CPU在同一时刻只能与一台外设通信(当然可以通过分时、轮询等,实现逻辑上的并行操作)。
2)信号转换功能外部设备的信号电平可能不是TTL电平或CMOS电平,因此需要由接口电路来完成信号电平的转换。3)数据缓冲功能外部设备的工作速率远远低于CPU的速率,为了提高CPU的工作效率并避免丢失数据,接口中必须有数据缓冲器。
4)联络功能接口应当具备握手信号或者能够提供状态信息。CPU送来的控制信号、外部设备的工作状况以及应答信号都要通过接口与CPU以“握手联络”的方式进行交互。5)中断管理功能
CPU与外设之间的通信采用中断方式,有利于提高CPU的利用率。
6)可编程功能为了使接口具有较强的灵活性、可扩充性以适应多种工作方式或工作状态,接口应具有可编程的特性。2.接口电路的基本结构接口电路的基本结构如图1-1所示。在与CPU相连的一侧,接口电路通过地址总线
AB、数据总线DB以及控制总线CB与CPU连接。地址总线AB用来提供访问接口电路的地址信息。数据总线DB用来与接口电路交换数据信息、状态信息和命令信息。控制总线CB包括IO/、、、INTR等信号线。图1-1接口电路的基本结构
在与I/O设备连接的一侧,接口电路通过数据线DATA、状态线STATUS、控制线CONTROL与I/O设备相连。接口电路处于CPU与外部设备之间,是CPU与外部设备之间进行通信的桥梁。接口电路内部一般包括数据I/O缓冲器、状态寄存器、命令控制寄存器和中断控制逻辑等部分。1.1.2接口信息与端口的编址方式
1.CPU与外设之间的接口信息
CPU与外设之间传送的信息通常包括数据信息、状态信息和控制信息。
1)数据信息数据信息是最基本,也是最重要的一种信息,它包括数字量、模拟量和开关量。数字量:通常为8位、16位或32位的二进制数据或ASCII码数据。
模拟量:当计算机用于控制系统或数据采集系统时,大量的现场信息(比如温度、压力、流量和速度等)是连续变化的物理量。这些物理量经过传感器被转换成电信号,再经过放大、整形等处理后得到电流或电压,这些电流或电压仍旧是模拟量。开关量:是一些只有两个状态的量,如开关的闭合与断开、继电器触点的打开与吸合等,用一位二进制数“0”或“l”表示。2)状态信息状态信息反映当前外部设备所处的工作状态。输入时,CPU常要先查询输入设备是否准备好(Ready=1?),准备好了才可以输入;输出时,CPU常要查询输出设备是否空闲(Busy=0?),如果输出设备不忙(Busy=0),则CPU向该外部设备输出数据。CPU根据接口电路提供的输入/输出设备的状态信息,决定是否进行数据的输入或输出。3)控制信息控制信息是控制输入/输出设备启动、停止或执行某种特定操作的信息。综上所述,接口电路传送三种不同类型的信息,即数据信息、状态信息和控制信息。三种信息的性质不同,要通过不同的端口分别传送。2.端口的编址方式输入/输出端口(即I/O端口)的编址方式主要有两种:内存和I/O端口统一编址及I/O端口单独编址。
1)内存和I/O端口统一编址
I/O端口和存储单元统一编址是在整个存储空间中划分出一部分地址空间给外设端口使用。
I/O端口和存储单元统一编址方式的优点在于I/O端口的地址空间较大,对端口进行操作的指令功能较强,使用时灵活方便。2) I/O端口单独编址
I/O端口的地址空间单独编址,与内存单元的地址空间相互分开,各自独立。8086/8088系统中就采用这种编址方式。
8086/8088系统的8位I/O端口地址空间是0~64KB,地址总线中A15~A0就可提供寻址64KBI/O端口地址空间的能力。
I/O端口单独编址方式的优点是:不占用内存单元的有效地址空间,地址译码器较简单,端口操作指令长度较短,执行速度较快。1.2计算机与外设之间的数据传送方式1.2.1无条件传送方式无条件传送方式是最简单的数据传送方式。在这种传送方式中,假设外设已处于就绪状态。图1-2为无条件传送方式输入/输出接口示意图。图中经地址总线把选中外设的地址信息送往端口译码器,当IO/为高电平时可以进行输入/输出操作。图1-2无条件传送方式输入/输出接口示意图
例1.1
一个无条件传送输入和输出的具体实例如图1-3所示。图中八个开关可以看成是输入设备,八个发光二极管(LED)可以看成是输出设备,用集成电路芯片和与非门等组成接口电路。输入设备和输出设备具有相同的端口地址,通过和来区别是进行输入还是输出操作。假设输入设备和输出设备的端口地址为218H。要求根据八个开关的通断状态点亮或熄灭对应的发光二极管,开关可以根据需要随时拨动。图1-3开关状态读取与LED显示接口电路
解作为输入设备的八个开关连接由三态缓冲器(三态门)74LS244构成的输入口。八个开关的另一端都接地,同时74LS244的输入端I1~I8通过电阻接到高电平。
8D三态锁存器74LS373构成输出口,连接到作为输出设备的八个发光二极管(LED)。八个发光二极管的另一端都经电阻连接到高电平。
程序的执行过程是:CPU读取各开关的状态数据,然后把读入的开关状态数据输出到74LS373;重复执行上述过程以满足八个开关可以随时拨动的需要。程序如下:LOP:MOVDX,218H ;DX指向端口地址
INAL,DX ;从输入口读取开关状态
OUTDX,AL
;把读入的开关状态数据送到输出口显示
CALLDELAY ;延时10ms的子程序
JMPLOP
程序中DELAY是延时10ms的子程序,未单独列出。1.2.2查询传送方式无条件传送方式中程序不查询外设的状态,直接用输入/输出指令进行数据传送,在外设不处于就绪状态或外设发生故障时就会产生数据错误或数据丢失。为了解决这一问题,人们考虑采用查询传送方式。1.查询输入查询输入的工作流程如图1-4所示。CPU读入输入设备的状态信息,判断输入设备是否准备好,如果输入设备没有准备好,则继续查询输入设备的状态,直至输入设备准备好后才输入数据。图1-4查询传送输入流程图
查询输入的接口电路如图1-5所示。查询输入的具体工作过程如下:
(1)当输入设备准备好输入数据时,发出选通信号,使输入数据锁存入8位锁存器;并使D触发器置1,作为输入设备的READY信号,送到三态缓冲器8位中的某一位上。
(2)当CPU准备输入数据时,从地址总线发出该设备的状态端口地址,使IO/为有效高电平,使为有效低电平,读出三态缓冲器中的8位信息并检测状态位(1位)的READY信息。(3)如果READY=1,则表示输入设备准备好,执行(4),否则继续执行(2)。
(4) CPU从地址总线发出该设备的数据端口地址,使IO/为有效高电平,使为有效低电平,经数据总线读出8位数据缓冲器中的信息,并使D触发器清0,READY信号回到未准备好状态。
IO/和的有效电平,会在CPU执行IN指令时自动发出。图1-5查询输入的接口电路
例1.2
设输入设备的状态端口(8位)地址为S_PORT,状态端口的D7位为1,表示输入设备准备好。数据端口(8位)的地址为D_PORT,以查询传送方式从该外设输入1个字节的数据并存入D_BUF内存单元。程序如下: MOVDX,S_PORTLOP:IN AL,DX TEST AL,80H JE LOP MOV DX,D_PORT IN AL,DX MOV D_BUF,AL
例1.3
设系统中有三个独立的输入设备,三个输入设备的状态端口(8位)地址分别为STATUS1、STATUS2和STATUS3。若状态端口STATUS1的D7位为1,状态端口STATUS2的D6位为1,状态端口STATUS3的D5位为1,则分别表示各输入设备准备好。三个输入设备的数据端口(8位)的地址分别为DATA_PORT1、DATA_PORT2和DATA_PORT3,以轮流查询的传送方式从三个输入设备分别输入数据,并存入各自的内存输入缓冲区BUFFER1、BUFFER2和BUFFER3。程序如下:MOV SI,OFFSETBUFFER1 ;SI指向第一个设备的输入缓冲区MOV DI,OFFSETBUFFER2 ;DI指向第二个设备的输入缓冲区MOV BX,OFFSETBUFFER3 ;BX指向第三个设备的输入缓冲区MOV CX,255MOV AL,0LOP: MOV [SI],ALMOV [DI],ALMOV [BX],ALINC SIINC DIINC BXDEC CXJNZ LOP ;以上程序使输入缓冲区清0MOV SI,OFFSETBUFFER1
;SI指向第一个输入设备的输入缓冲区MOV DI,OFFSETBUFFER2
;DI指向第二个输入设备的输入缓冲区MOV BX,OFFSETBUFFER3
;BX指向第三个输入设备的输入缓冲区LOP1:IN AL,STATUS1
;输入第一个输入设备的状态端口信息TEST AL,80HJE LOP2
;未准备好则转LOP2IN AL,DATA_PORT1
;从第一个输入设备的数据口输入数据MOV [SI],AL
;存入第一个设备的输入缓冲区INC SILOP2:IN AL,STATUS2
;输入第二个输入设备的状态端口信息TEST AL,40HJE LOP3
;未准备好则转LOP3IN AL,DATA_PORT2
;从第二个输入设备的数据口输入数据MOV [DI],AL
;存入第二个设备的输入缓冲区INC DILOP3:IN AL,STATUS3
;输入第三个输入设备的状态端口信息TEST AL,20HJE LOP4IN AL,DATA_PORT3
;从第三个输入设备的数据口输入数据MOV [BX],AL
;存入第三个设备的输入缓冲区INC BXLOP4:INC CX CMP CX,255 JNZ LOP1
该程序首先使三个输入设备的输入缓冲区清0,然后依次查询每一个输入设备的状态端口,若输入设备准备好,则执行输入操作;若没有准备好,则转向下一个输入设备进行查询。对于每一个输入设备,无论是输入了255个数据或是查询了255次都会退出程序的执行。循环次数由程序尾部的CX中的值进行控制。2.查询输出查询输出的工作流程如图1-6所示。首先CPU准备好要输出的数据,CPU读入输出设备的状态信息,判断输出设备是否“忙”。如果输出设备“忙”,则继续输入该设备的状态信息,直至输出设备“不忙”,CPU才向输出设备输出数据。查询输出的接口电路如图1-7所示。图1-6查询传送输出流程图
图1-7查询输出的接口电路
查询输出的具体工作过程如下:
(1)输出设备输出完数据后发出应答信号,清D触发器,使BUSY线为0,表示输出设备处于“空闲”或“不忙”状态。
(2)当CPU准备输出数据时,从地址总线发出该外部设备的状态端口地址,使IO/为有效高电平,使为有效低电平,读出三态缓冲器中的8位信息,并检测状态位BUSY(1位)的信息。(3)如果BUSY=0,则表示输出设备“不忙”,执行(4),否则继续执行(2)。
(4) CPU从地址总线发出该外设的数据端口地址,使IO/为有效高电平,使为有效低电平,经数据总线把8位数据送往8位锁存器并输出到外设。同时,使D触发器置1,即BUSY=1,表明外设又处于“忙”的状态。
IO/、和的有效电平,会在CPU执行IN或OUT指令时自动发出。
例1.4
设输出设备的状态端口(8位)地址为SOUT_PORT,状态端口的D7位为0,表示输出设备“不忙”。数据端口(8位)的地址为DOUT_PORT,以查询传送方式把内存单元DATA_OUT中1个字节的数据向该外设输出。程序如下:OUT_PORTBUSY: IN AL,DX TEST AL,80H JNE BUSY MOV AL,DATA_OUT MOV DX,DOUT_PORT OUT DX,AL1.2.3中断传送方式在查询传送方式中,CPU需要不断地查询外设的状态,极大地降低了CPU的利用率。为了提高CPU的利用率,提高输入/输出系统的可靠性以及实时性,可以采用中断传送方式。在中断传送方式中,当外设就绪时就向CPU发出中断请求,请求CPU处理输入或输出操作。
1.中断处理过程主程序与中断处理过程的关系如图1-8所示,中断处理过程的流程如图1-9所示。图1-8主程序与中断处理过程图1-9中断处理过程
中断处理过程的具体步骤如下:(1) CPU执行指令,当执行完一条指令后检测是否有中断请求。①来自于外部设备的中断请求。②由硬件故障引起的中断请求。③在80x86系统中,中断请求也可以由软件中断指令INTn或CPU内部产生的某些运算错误引起,例如,除法错误、运算溢出等。④程序调试时的单步中断、断点中断等也会产生中断请求。(2)CPU检测到有中断请求,如果CPU可以响应中断,就进行响应中断的准备工作,也就会进入中断响应周期。CPU可响应中断请求的条件如下:①现行指令周期内无其他主设备的总线请求。②中断源的中断请求没有被屏蔽(即被禁止)或者中断源为非屏蔽中断(不可禁止的中断请求)。③在80x86系统中,对于外部可屏蔽中断,要求中断允许标志IF=1(即允许中断)。如果CPU可响应中断源提出的中断请求,且中断请求不是外部可屏蔽中断,而是其他类型的中断,则直接执行(3)。
对于外部可屏蔽中断,CPU在当前指令执行结束时,就进入中断响应周期,并自动执行如下操作。①发出一个中断应答信号(),表明CPU已经允许了该中断请求,并准备进行进一步的处理。②关中断,在80x86系统中使中断允许标志IF=0,以便使中断响应周期中必须进行的一些操作不会受到其它中断源提出的新的中断请求的干扰,能够正确地转入相应的中断服务程序。③把提出中断请求的中断源的中断类型号(也被称为中断矢量)送到数据总线,以便CPU据此能找到中断服务程序的入口地址。(3)保护现场,保护断点。即把当前的机器状态(也就是响应中断时的标志寄存器的内容)压入堆栈,实现现场的保护。
(4)形成中断服务程序的入口地址。在80x86系统中,根据中断矢量将中断服务程序入口地址的段地址送入CS,中断服务程序入口地址的偏移量送入IP后,就转入中断服务程序并开始执行。
(5)在中断服务程序中,CPU执行中断源所要求的具体的输入/输出或控制操作。(6)执行完中断服务程序中的中断处理工作后,如果在中断服务程序中还未曾执行过开中断指令,在中断返回前必须开中断,以便使其它中断源可以提出中断申请。
(7)中断返回。中断服务程序的最后一条指令是中断返回指令IRET,当中断处理结束时,CPU执行这条中断返回指令,CPU自动将保护在堆栈中的标志寄存器的内容和断点地址弹回到相应的寄存器中,也就是所谓的恢复现场,恢复断点。2.中断接口电路中断输入方式的接口电路如图1-10所示,该电路的工作过程如下:图1-10中断输入接口电路(1)当输入设备准备好输入数据,输入设备就发出STB选通信号。
(2)如果中断允许触发器为0,则禁止该中断请求;如果中断允许触发器为1,则处于中断允许状态。
(3) CPU收到来自INTR线上的中断请求,如果允许响应中断,就发出中断响应信号,表示CPU可以处理该输入设备的中断请求,并暂停原来执行的程序。(4)信号使与输入设备相对应的中断矢量送往数据总线,CPU根据该中断矢量可以找到中断服务程序的入口地址,从而转入中断服务程序,执行输入设备所要求的输入操作。
(5)在中断服务程序中,CPU执行从输入设备输入数据的操作。
采用中断传送方式进行数据传送,只有当外设处于就绪状态时才向CPU请求输入或输出服务,不需要CPU花费大量时间去主动查询外设的工作状态,减少了大量的CPU等待时间。1.2.4DMA传送方式采用中断传送方式进行数据传送,每次进行数据传送时CPU都要执行一些与数据传送没有直接关系的附加操作指令。在低速外设或数据传送量不大的情况下,这些附加的操作指令对数据传送效率的影响不太明显。DMA传送方式与无条件传送方式、查询传送方式、中断传送方式都不相同,它不是在CPU的控制之下与外设进行数据传送的,而是在专用的接口电路——DMA控制器的控制之下直接进行外设与存储器之间的高速数据传送的。DMA进行数据传送时不需要CPU干预,从而节省了中断传送方式中保护现场,保护断点,恢复现场,恢复断点的时间。
DMA控制器必须具备以下功能:
(1)能向CPU发出要求掌握总线控制权的DMA请求信号HRQ(HoldRequest)。
(2)当收到CPU发出的允许出让总线的应答信号HLDA(HoldAcknowledge)后能接管总线控制权,进入DMA方式。(3)能发出地址信息对存储器寻址,并能修改地址指针。
(4)能发出读/写控制等信号。
(5)能设定DMA传送的数据字节个数,并能判断DMA传送是否结束。
(6)能发出DMA结束信号,释放总线控制权,让CPU收回总线控制权。
DMA控制器掌握总线控制权后的工作过程如图1-11所示。图1-11DMA控制器的工作流程1.3无条件传送接口实验1.实验目的
(1)理解无条件传送方式。
(2)掌握无条件传送简单并行接口的工作原理与使用方法。2.实验内容详细的实验环境请参阅附录A。
(1)按图1-12简单并行输出接口电路图连接线路,74LS273插入通用插座,74LS32用实验台上的或门。
(2)编程从键盘输入一个字符或数字,将其ASCII码通过这个输出接口输出,根据八个发光二极管的发光情况验证正确性。
(3)按图1-13简单并行输入接口电路图连接电路,74LS244插入通用插座,74LS32用实验台上的或门。(4)用逻辑电平开关K7~K0预置某个字母的ASCII码,编程输入这个ASCII码,并将对应字母在屏幕上显示出来。图1-12简单并行输出接口电路图图1-13简单并行输入接口电路图3.编程提示
(1)上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据可使用如下三条指令:MOVAL,数据
MOVDX,2A8HOUTDX,AL
从键盘输入数据可使用1号DOS系统功能调用。通过上述并行接口输入数据可使用如下两条指令:MOVDX,2A0HINAL,DX(2)参考流程图,用8D触发器输出的参考流程如图1-14所示。用8缓冲器输入的参考流程如图1-15所示。图1-14并行输出流程图图1-15并行输入流程图习
题
11.1在计算机系统中何时需要使用接口电路,接口电路应具备哪些功能?
1.2简述接口电路的基本结构。CPU与接口电路交换的信息有哪几种,接口电路与外设交换的信息有哪几种?
1.3 I/O端口有几种编址方式,各有什么优缺点?1.4CPU与外设之间有几种数据传送方式?计算机与外设之间有几种数据传送方式,各有什么优缺点?在实际应用中应如何对这几种数据传送方式进行选择?
1.5在一个计算机系统中,如果CPU采用MOV指令读入I/O端口的数据,说明该系统采用的是哪种I/O端口编址方式。
1.6中断传送方式与查询传送方式相比,为什么中断传送方式能提高CPU的利用率?
1.7在DMA传送方式中进行数据传送时,数据的传送是不是由CPU执行输入/输出指令来实现的?1.8设输入设备的状态端口地址为IN_SLOT,状态端口的D0位为1,表示输入设备准备好。数据端口的地址为DATA_SLOT,采用查询传送方式从该设备输入1个字节的数据并存入DATA_SAVE内存单元,请编写程序。
1.9设输出设备的状态端口地址为OUT_STATUS,状态端口的D1位为1,表示输出设备“忙”。数据端口的地址为DATA_OUT,以查询传送方式向该外设输出内存单元DATA_OUT中1个字节的数据,请编写程序。
第2章总线技术2.l概述2.2PC/XT总线与ISA总线2.3PCI局部总线
2.4其它微机总线简介2.5I/0地址译码实验习题22.1概
述2.1.1总线的功能与分类总线是计算机各模块之间、计算机与外部设备之间、计算机与计算机之间传输信息的公共通道。之所以称为总线,是因为每一个模块或计算机在经过批准后都可以使用这个公共通道来传输信息。
在计算机内部,每一个连接在总线上的部件一般都需要经过三态门连接到计算机的总线上。根据总线在微机系统中所处的位置不同,可将总线分为以下四类。
l.片内总线片内总线位于集成电路芯片的内部。
2.局部总线局部总线又被称为片间总线或元件级总线。3.系统总线系统总线是微型计算机系统内部各部件(插板)之间相互连接和传输信息的总线,是微型计算机系统所特有的,是构成微型计算机系统的总线。
4.外总线外总线又称为通信总线,它是微机系统与微机系统之间、微机系统与其它仪器或设备之间进行连接通信的总线。2.1.2总线的组成微型计算机系统的总线主要由以下四部分组成。
1.地址总线地址总线是微型计算机发送地址信息的一组信号线。地址总线是单向、输出、三态的总线。
2.数据总线数据总线是用于传送数据或者代码的总线,通常为双向(既可以输出也可以输入)、三态的总线。3.控制总线控制总线是微机系统中传送控制信号和状态信号的总线。
4.电源线和地线电源线和地线规定了总线所使用的电源的电压、正负极性以及电源线和地线的分布状况和使用方法。2.1.3总线的传输过程和传输方式
l.总线的传输过程通过总线可以传送程序指令、设备的控制命令字、状态字以及设备的输入/输出数据。系统总线上的数据传输是在主模块的控制之下进行的,比如,一般由系统中的主CPU掌握总线的控制权。(1)总线申请阶段:由需要使用总线的主模块或外设提出申请,再由总线仲裁机构确定把下一个传输周期的总线使用权交给哪一个主模块。
(2)寻址阶段:获得总线使用权的主模块通过总线向需要进行本次访问的模块或设备发出地址以及相关命令,建立起传输通道,使参与本次传输的模块或设备开始启动。(3)数据传输阶段:在主模块的控制之下进行模块之间的数据传输,数据由源模块发出,经数据总线送入目的模块。
(4)结束阶段:数据传输完成后,主模块发出有关信息释放系统总线的控制权,出让总线使用权,以便使其它主模块掌握总线的使用权。2.总线的传输方式总线有不同的数据传输方式,通常有同步方式、异步方式、半同步方式和分离方式等四种。
1)同步方式传输连接在总线上的模块进行数据传输时都使用同一个固定的时钟,即系统时钟,并以该时钟为基础同步工作。
每一次传输的周期是固定的,每一次传输所需的时间称为总线周期。一个总线周期又分为若干个固定的T状态。对于同一种操作,总线操作的时序信号在各个T状态上是固定的。PC/XT总线、ISA总线、PCI总线都是同步总线。例如图2-1所示的标准的8088CPUIO/(IO/存储器)读时序就是典型的同步方式传输。图2-18088CPUIO/读传输时序
图2-1中读传输以时钟CLK来同步,每一次读传输的周期都相同,都是固定的四个T状态。如果有多个读传输周期,那么各个对应的T状态中对应的时序总是相同的。2)异步方式传输异步方式传输不依赖于系统时钟的统一定时,采用“应答方式”进行传输。主模块和从模块之间需要增加“REQ请求”(Request)和“ACK应答”(Acknowledge)两条信号线来协调传输过程。
为了保证数据传输的可靠性,异步方式传输的REQ和ACK具有全互锁关系。因此,异步传输方式的总线也叫做全互锁异步总线。所谓全互锁,指的是在总线操作期间两个控制信号REQ和ACK交替变化,它们之间有确定的制约关系,互为因果。异步方式传输时序如图2-2所示,异步方式传输过程如下:(1)主模块准备数据传输;(2)主模块向从模块发出REQ请求信号;(3)如果从模块允许,则向主模块发出ACK应答信号;(4)主模块收到有效ACK应答信号,完成数据传输;(5)主模块撤销REQ信号;(6)从模块撤销ACK信号,本传输周期结束,允许开始下一传输周期。图2-2全互锁异步总线传输时序REQ和ACK的全互锁关系保证了数据传输的可靠性。但是由于异步方式传输不管从设备存取速率的快慢,每完成一次传输,主从模块之间都要经过REQ请求、ACK响应、撤销REQ、撤销ACK四个阶段,控制较复杂,影响了传输速率。因此,异步方式传输速率比同步方式传输要慢。3)半同步方式传输半同步方式传输是以同步方式为基础结合异步传输方式的优点而设计出来的总线结构。与同步方式传输类似,它仍使用系统时钟来做定时,每一个传输周期划分成若干个T状态。图2-3半同步方式读传输时序4)分离方式传输在上述三种总线传输方式中,总线操作包括主模块发出地址和命令,从模块处理执行命令,主从模块之间传输数据三个阶段。为了进一步充分利用总线资源,分离方式传输把一个传输周期分解为两个独立的子周期。两个子周期都按同步方式实现高速数据传输。每一个传输子周期都只有单方向的信息流,主模块在第一个子周期后,不需要等待第二个子周期,就可以执行其它指令。2.2PC/XT总线与ISA总线2.2.1PC/XT总线
PC/XT总线也被称为IBM-PC总线,是早期PC/XT微型计算机所配备的系统总线。在各类PC机系统中,PC/XT总线是最为精简的系统总线,这种总线适合于初学者学习和掌握。图2-4
PC/XT总线插槽示意图PC/XT总线的IO/或存储器读周期时序如2.l.3节的图2-1所示。
PC/XT总线共有62条信号线,连接主机板的多个扩展插槽,简称扩展槽。PC/XT总线的62条信号线在插座上的排列次序参见示意图2-4,图中右侧为A列,是元器件所在的面;左侧为B列,是印刷线路板的焊接面。每一侧为31条引线,各引线的名称与排列见表2-1。1. 62条信号线的分类
PC/XT总线上的62条信号线按功能可以分成五类:
1)地址线A19~A0(20条)
地址线,输出,提供访问内存或输入/输出端口的地址。当用来访问输入/输出的端口地址时,A19~A16无效,因为输入/输出端口的地址空间只有64KB。地址线上的地址信号可以由CPU生成,也可以由DMA控制器生成,A19为最高位,A0为最低位,寻址空间为1MB。表2-1PC/XT总线引脚表2)数据线D7~D0(8条)
数据线D7~D0是双向、三态数据总线。数据总线用来在CPU、存储器和各种输入/输出设备之间传送数据,每次可以传送一个字节。
3)控制线(21条)IRQ7~IRQ2:6条中断请求线,输入,可用于输入/输出设备经中断控制器向CPU发出中断请求信号。
4)状态线(2条)
:I/O通道检查信号,输入,低电平有效。5)辅助线和电源线等(11条)OSC:系统板提供给输入/输出通道的主振荡器信号,输出,频率为14.31818MHz,占空比为50%。
CLK:系统的时钟信号,输出,它由主振荡器信号三分频获得,频率为4.77MHz,占空比为33%。电源线和地线:+5V、-5V、+12V、-12V、地线。备用线:一条。2. PC/XT总线应用举例图2-5是PC/XT总线应用的一个简单的例子,利用PC/XT总线和门电路可以组成I/O接口译码电路。图中PC/XT总线的数据总线D7~D0连接到I/O接口的数据线D7~D0,设I/O接口的D7~D0内部都有输入/输出三态缓冲器(否则不可与数据总线直接相连)。图2-5利用PC/XT总线组成I/O接口译码电路2.2.2ISA总线
ISA总线又称为AT总线,用于PCAT微型计算机上。ISA总线兼容PC/XT总线。数据线扩展至16位,地址线扩展至24位,最高工作频率为8MHz。ISA总线比PC/XT总线不仅增加了数据宽度和寻址空间,还增强了中断处理和DMA传输能力,并具有了一定的多主控功能。ISA总线结构示意图如图2-6所示。图2-6ISA总线结构ISA总线扩展插槽一部分为62脚,其信号名称及分布与PC/XT总线的扩展插槽基本相同;另一部分是ISA总线扩展插槽新增加的部分,共36脚。
1.ISA总线与PC/XT总线62脚部分的不同点
(1) CLK(B20):在ISA总线中CLK频率为6~14.31818MHz,占空比为50%。
(2) IRQ9(B4):在PC/XT总线中为IRQ2,而在ISA总线中为IRQ9,作为从片8259的中断申请输入线。(3)和(B12、B11):在PC/XT总线中为和,而在ISA总线中为和,对应信号线名称不同,功能相同。仅对低于1MB的存储器空间访问有效。
(4)OWS(B8):PC/XT总线保留,未使用。在ISA总线中,为无等待状态信号,输入,OWS信号通知CPU不用加入任何等待周期。
(5) (B19):PC/XT总线为DACK0,ISA总线系列微机有单独的刷新电路,用指示动态存储器刷新周期。2.ISA总线新增的36条信号线
ISA总线扩展插槽与PC/XT插槽相比,新增加的部分共有36脚。这36脚分成两列,右侧为C列,左侧为D列。新增部分36脚示意图如图2-7所示。ISA总线扩展插槽将62脚与36脚插座部分结合在一起使用,形成16位数据总线,寻址范围扩大到16MB,中断个数扩充到15个,DMA也增加到8个。
ISA总线新增引脚的排列如表2-2所示,功能如下。
图2-7ISA总线插槽新增部分36脚示意图表2-2ISA总线新增36脚引脚表2.3PCI局部总线2.3.1PCI总线的结构与特点
PCI(PeripheralComponentInterconnect)总线的概念是Intel公司于1990年首先提出的,1994年被应用于以Intel80486为CPU的一种PC机上。PCI总线的结构示意图如图2-8所示。CPU通过桥接器或称主桥(HOST-PCI桥)与主PCI总线相连,主PCI总线经PCI-PCI桥和PCI-ISA桥可建立对扩展PCI总线和ISA总线的支持。图2-8PCI总线的结构PCI总线还具有如下特点:
(1) PCI总线有32位和64位两种总线规格,大多数PCI支持32位总线。
(2)PCI总线传输速率高,ISA总线时钟频率仅为8MHz,数据宽度仅为16位,而PCI是32/64位总线,总线时钟频率为33MHz,最大传输速率为133MB/266MB。而由PCISIG组织推出的高速率的PCI-X2.0标准支持最大传输速率为533MB。
(3)支持并行工作方式,PCI控制器具有多级缓冲,利用它可使PCI总线上的外设与CPU并行工作。
(4)支持即插即用功能,使外设适配器在与系统连接时能自动进行配置,无需人工干预。
(5)高效率低成本,PCI的芯片采用大规模集成电路,既节省了费用,又节省了布线空间,为计算机的小型化、可靠性提供了良好的基础。2.3.2PCI总线信号定义最初的PCI总线标准的总线时钟频率为33MHz,后来提出的PCI修订版2.1标准支持66MHz总线时钟频率,但是大多数个人计算机仍旧使用33MHz的总线时钟频率。PCI支持32位的地址数据复用总线AD31~AD0,如果要支持64位的地址数据复用总线,就要使用一种较长的总线插槽。PCI总线系统中主设备是指获得总线控制权的设备,而被主设备选中进行数据交换的设备称为从设备或目标设备。32位地址数据复用总线的PCI总线插槽的示意图如图2-9所示。图2-932位PCI总线插槽示意图32位PCI总线引脚排列与信号说明见表2-3。表2-3提供的是I/O信号电平为5V的PCI标准。32位的I/O信号电平为3.3V的PCI标准与5V标准的差别在于:
(1)引脚A10、A16、B19、A59、B59为+3.3V;
(2)引脚A12、A13、B12、B13不是地线而是用于识别3.3V的接口标准标识(ConnectorKey)信号。表2-332位PCI总线插槽引脚信号表
1.系统信号引脚
CLK:PCI总线时钟信号,输入,提供所有PCI传输时的时序信号,除了复位、中断请求信号以外,其它PCI信号都在CLK的上升沿被采样。
2.地址和数据信号引脚
AD31~AD0:地址、数据多路复用信号,双向、三态输入/输出。PCI总线地址和数据的传输必须在FRAME#有效期间进行。PAR:奇偶校验信号,双向、三态输入/输出。它通过AD31~AD0和C/BE3#~C/BE0#进行奇偶校验。PCI采用偶校验,校验功能由PCI芯片完成。写操作时PAR由主设备驱动,读操作时PAR由从设备驱动。3.接口控制信号引脚
FRAME#:帧周期信号,由当前主设备驱动,持续的低电平有效的三态信号。当FRAME#有效时,表示总线传输开始;在其有效期间时,表示总线传输在继续;当FRAME#变为无效时,表示总线传输进行最后一个数据传输阶段的数据传送。IRDY#(InitiatorReady):主设备准备好信号,由当前主设备驱动,持续的低电平有效的三态信号。在读周期该信号有效,表示主设备已做好接收数据的准备;在写周期该信号有效,表示主设备已把数据送到AD31~AD0线上。该信号要与TRDY#信号配合使用。
TRDY#(TargetReady):目标设备(从设备)准备好信号,持续的低电平有效的三态信号。STOP#:由从设备发出的信号,持续的低电平有效的三态信号,要求主设备停止当前的数据传输。
LOCK#:总线锁定信号,由当前主设备驱动,持续的低电平有效的三态信号。要求独占总线的信号,说明该设备需要连续的多个总线传输周期才能完成所要求的操作。使用总线锁定信号LOCK#,可暂时禁止其它设备使用总线而由当前主设备独占总线。
IDSEL:初始化设备选择信号,输入。在参数配置进行读/写传输时作为片选信号。
DEVSEL#:设备选择信号,持续的低电平有效的三态信号。该信号有效,说明总线上已有某一从设备被选中。该信号由被选中的从设备向主设备发出。4.仲裁信号引脚
REQ#:要求占用总线的总线请求信号,双向、三态输入/输出。使该信号有效的设备向总线仲裁器申请总线的控制权。
GNT#:总线响应信号,双向、三态输入/输出。该信号有效,表示总线仲裁器已允许申请总线控制权的设备获得总线的控制权。5.错误报告信号引脚
PERR#:奇偶校验错误报告信号,由当前主设备驱动,持续的低电平有效的三态信号。该信号用于报告除特殊周期之外,其它传输过程中的数据奇偶校验错误。
SERR#:系统错误报告信号,漏极开路,以线或方式允许多个设备共同驱动和分享的信号。6.中断信号引脚中断在PCI总线中是任选项。中断信号是低电平有效,电平触发方式,使用漏极开路方式驱动。对于单一功能的设备,只能使用一条中断线,即INTA#,其它三条中断线没有作用。
多功能设备上的各个功能具体连接到四条中断线上的哪一条不受限制,四条中断线规定如下:INTA#:中断A,用于申请一次中断。INTB#:中断B,用于申请一次中断,只在多功能设备上有意义。INTC#:中断C,用于申请一次中断,功能同中断B。INTD#:中断D,用于申请一次中断,功能同中断B。7.高速缓存支持信号引脚为了使PCI存储器能够和高速缓存Cache协调工作,支持对高速缓存的贯穿写(write-through)和回写(write-back)操作,PCI定义了两条信号线:SBO#和SDONE。
SBO#(SnoopBackoff):侦听回写信号,输入/输出。
SDONE(SnoopDone):侦听结束信号,输入/输出。如果该信号无效,则表明侦听仍在进行,否则表明侦听已经完成。
8.64位总线扩展信号引脚如果PCI要支持64位的地址数据复用总线,就要使用下列信号,各信号简介如下。
REQ64#:64位传输请求信号。由主设备在要求使用64位数据传输时设置。它与FRAME#的时序相同。
ACK64#:64位传输允许信号。由从设备发出,表明从设备将进行64位传输。它与DEVSEL#的时序相同。
AD63~AD32:高32位地址和数据复用线。
C/BE7#~C/BE4#:总线命令和高位字节允许复用信号。2.3.3PCI总线周期简介
1.PCI总线传输类型
PCI总线传输类型包括中断应答、特殊周期、I/O读、I/O写、存储器读、存储器写、配置读、配置写、存储器多行读、双地址周期、存储器高速缓存行读和存储器高速缓存行写等。这些PCI总线传输类型都用相应的总线命令来进行操作。在PCI总线的地址传送阶段,用C/BE3#~C/BE0#线送出总线操作命令的编码信息。总线命令向目标设备指明当前总线控制者正在进行的总线传输的类型。总线操作命令如表2-4所示。表2-4PCI总线操作命令2.PCI总线读传输图2-10是PCI总线读传输的时序图,PCI总线读传输的工作过程如下:在PCI总线传输操作过程中所有信号都在时钟周期的上升沿采样,所有带有“#”号的信号都表示低电平有效,无“#”号的信号都表示高电平有效。
CLK1时钟周期PCI总线处于空闲状态。图2-10PCI总线读传输时序CLK2时钟周期FRAME#有效,开始地址传送阶段(AddressPhase),由AD31~AD0给出有效的地址(Address),由C/BE3#~C/BE0#给出一个有效的总线命令(Bus-Cmd):读命令(可参阅表2-4)。
CLK3时钟周期进入数据传送阶段。在数据传送阶段,由C/BE#(BE#‘s)指明32位数据中哪几个字节是有效传输字节。
CLK4时钟周期TRDY#有效,表明选中了目标设备,选出有效数据。CLK5时钟周期TRDY#变为无效,表明需要等待,来准备下一个数据阶段。
CLK6时钟周期IRDY#和TRDY#都有效,主设备读取从设备传来的数据Data2。
CLK7时钟周期目标设备准备好有效数据,但IRDY#为高电平,无效,表明主设备没有准备好开始读数据。CLK8时钟周期IRDY#和TRDY#都有效,完成第三个数据阶段,读数据Data3。主设备使FRAME#变髙,无效,表明这是最后的数据阶段。
CLK9时钟周期FRAME#、AD、和C/BE#处于高阻状态,IRDY#、TRDY#和DEVSEL#无效,即完成了PCI总线读传输。
2.PCI总线写传输图2-11是PCI总线写传输的时序图,PCI总线写传输的工作过程如下:
CLK1时钟周期PCI总线处于空闲状态。
CLK2时钟周期FRAME#有效,开始地址传送阶段(AddressPhase)。主设备确认有效地址,从AD31~AD0给出有效的地址(Address),把写命令信号代码放到C/BE3#~C/BE0#信号上,给出一个有效的总线命令(Bus-Cmd):写命令(可参阅表2-4)。图2-11PCI总线写传输时序图CLK3时钟周期由主设备驱动要写的数据和字节使能信号C/BE#(BE-1),指明32位数据中哪几个字节是有效传输字节。
CLK4时钟周期主设备提供新的要写的数据和字节使能信号,当IRDY#和TRDY#都为有效的低电平时,进入第二个数据阶段,目标设备接收主设备所写的数据。
CLK5时钟周期主设备使IRDY#变为无效的高电平,表明主设备没有准备好下一个数据。
CLK6时钟周期主设备准备好下一个数据,使IRDY#变为有效的低电平。CLK7时钟周期目标设备仍旧没有准备好,TRDY#仍为无效的高电平。
CLK8时钟周期目标设备准备好,所以使TRDY#变为有效的低电平。当IRDY#和TRDY#都为低电平时,进行第三个数据阶段的数据传输,主设备写数据,目标设备接收数据。
CLK9时钟周期FRAME#、AD、和C/BE#处于高阻态,IRDY#、TRDY#和DEVSEL#变为无效的高电平,即完成了PCI总线写传输。2.4其它微机总线简介2.4.1MCA总线
MCA总线是IBM公司于1987年为其PS/2计算机设计的微通道结构(MicroChannelArchitecture)总线。MCA总线有16位和32位两种,16位的MCA总线的总线处理能力与ISA总线大体相当。2.4.2EISA总线
EISA总线是一种与ISA兼容的总线标准,称为增强型工业标准体系结构EISA(ExtendedIndustryStandardArchitecture)。EISA是由Compaq、HP、AST等九家PC机厂商于1988年9月联合推出的。由于EISA是在ISA基础之上发展起来的,且与ISA兼容,并参考了MCA的设计技术,曾受到众多PC机厂商和用户的欢迎。
EISA总线共有198条引脚,其中的62+36脚与ISA总线兼容,其余的引脚是EISA总线扩充的。2.4.3VL总线
VL总线(VESALocal总线)的标准是1992年5月由视频电子标准委员会VESA(VideoElectronicStandardAssociation)制订的。VL总线是一种局部总线,其数据宽度为32位,可扩展至64位;可支持的时钟频率为16~66MHz,并能兼容ISA总线。VL总线的优点是协议简单,传输速率高,能够支持多种硬件,如图形加速器、网络适配器及多媒体控制卡等。VL总线的扩展插槽很长,总线的扩展插槽分成两个部分,前端的VL总线插槽以33MHz运行,而后端的插槽仍保持ISA的所有特性。2.4.4PCMCIA总线一般的扩展总线接口体积较大,无法集成到便携式笔记本计算机中。为了适应便携式计算机的发展,1990年个人计算机存储卡国际协会PCMCIA(PersonalComputerMemoryCardInternationalAssociation)为PC卡定义了PCMCIA总线接口标准。便携式计算机对于扩展总线的要求主要包括标准化、耗电量低及体积小。针对上述要求,PC卡的长度为85.6mm,宽度为56.3mm。2.4.5STD总线
STD总线是由Pro-Log公司推出的8位工业控制微机的标准总线,1987年被批准为IEEE-961标准。STD总线采用公共母板结构,总线被布置在一块母板(底板)上,母板上有若干个总线插槽,STD总线的所有引线都被对应连接到所有总线插槽的引脚上。
STD总线采用56脚双列插座,插座的尺寸为165.1mm×114.3mm。2.5I/O地址译码实验1.实验目的
(1)理解总线的概念,利用总线构成I/O地址译码电路。
(2)掌握I/O地址译码电路的工作原理。2.实验内容详细的实验环境请参阅附录A。按图2-12连接实验电路。其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器。74LS138为地址译码器,译码输出端Y0~Y7在实验台上“I/O地址”输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,…当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一条译码线输出负脉冲。图2-12I/O地址译码电路
例如:执行下面的两条指令
MOVDX,2A0HOUTDX,AL(或INAL,DX)Y4输出一个负脉冲,执行下面两条指令
MOVDX,2A8HOUTDX,AL(或INAL,DX)Y5输出一个负脉冲。利用这两个负脉冲控制D触发器置“1”和置“0”,使L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。3.编程提示
(1)由于TPC-2003使用PCI总线,所分配的I/O地址随计算机的不同而可能不同,编程时需要了解当前微机使用哪段I/O地址并进行设置,获取方法可参阅附录B(或使用自动获取资源分配的程序)。
(2)实验电路中D触发器CLK端输入脉冲时,上升沿(负脉冲的后沿)使D触发器置“1”,Q端输出高电平,L7亮。RD端(置0端)加负脉冲使D触发器置“0”,Q端输出低电平,L7灭。
(3)为实现亮、灭、亮、灭、……程序必须循环,且亮和灭的间隔取决于软件的延迟时间。
(4)在程序中最好安排检查键盘是否有键按下的指令序列。习
题
22.1计算机系统中为什么要使用总线?
2.2总线的作用是什么,总线是如何分类的?
2.3微型计算机系统的总线主要由哪几部分组成,各部分的主要作用是什么?
2.4总线上完成一次传输一般经过哪几个阶段?
2.5总线有几种传输方式,各种传输方式有什么特点?
2.6PC/XT总线与ISA总线有什么不同?
2.7PCI总线有什么特点,PCI总线在微型计算机系统中是如何与CPU和其它总线连接的?
2.8PCMCIA总线和STD总线分别用于什么微机环境?
2.9PC/XT总线完成一次读传输至少要经过几个T状态?
2.10一个PCI总线读传输周期中是否只能有一个数据传输阶段?第3章中断接口技术3.1中断的基本概念3.280x86系列微型计算机的中断系统3.3Intel8259A(PIC)可编程中断控制器3.4ICH5中的可编程中断控制器功能习题33.1中断的基本概念3.1.1中断的概念为了实现计算机与外设之间的同步操作,对各种现场参数进行实时处理,实现对异常事件、故障源的及时处理,充分提高CPU的利用率,计算机系统中广泛采用了中断技术。CPU在执行程序的过程中,收到中断源提出的中断请求,暂时停止源程序的执行,转而执行中断源所要求的操作;处理完成中断源所要求的操作,CPU返回源程序的断点处继续执行原来的程序,这就是所谓的中断。其中,中断源就是提出中断请求的来源,也就是引起中断的原因。通常中断源包括输入/输出设备、定时器/计数器电路、故障源、软件中断、调试程序时的单步和断点处理等。3.1.2中断的优先级与中断嵌套
1.中断优先级中断优先级也称为中断优先权。中断系统中存在着多个中断源,同一时刻可能会有不止一个中断源提出中断请求,因此需要给所有中断源安排不同的优先级别。处理中断优先级的软件方法也称为软件查询法,它是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成都二手房买卖合同指南
- 租赁合同样本规范版
- 度住宅小区物业服务合同(标准版)
- 新能源电动车充电桩运营管理合同
- 精装商品房购房合同标准文本
- 水产养殖合作合同模板
- 度农产品种植及种子供应合同
- 雇佣家政合同模板
- 正式劳动合同签订合同:完整版范文
- 工程项目经理劳动合同样本
- 鸟类教学讲解课件
- 斐波那契数列与黄金分割 课件
- 乙类互补推挽功率放大电路课件
- 2-管道仪表流程图PID
- 高中班会课:趣味知识竞赛课件
- 特种设备吨叉车设计计算书
- (精选word)洪恩识字-生字卡片1-200
- XX市三级公立综合医院绩效考核指标评分细则
- 监理平行检查记录表(最新全套)电子版本
- 押金收据条(通用版)
- 500kV变电站工程主变基础及防火墙施工方案
评论
0/150
提交评论