第3章+地址译码技术与存储器接口课件_第1页
第3章+地址译码技术与存储器接口课件_第2页
第3章+地址译码技术与存储器接口课件_第3页
第3章+地址译码技术与存储器接口课件_第4页
第3章+地址译码技术与存储器接口课件_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章地址译码技术及存储器接口3.1I/O端口编址方式3.2

I/O端口地址译码3.3半导体存储器接口第3章地址译码技术及存储器接口3.1学习目的通过对本章的学习,您应该能够达到下列要求:

描述端口的编址方式

说明端口地址译码的作用端口地址译码电路的设计

重点与难点存储器地址译码电路的设计学习目的通过对本章的学习,您应该能够达到下列要求:3.1I/O端口3.1.1.概述I/O端口:是微处理器与输入输出设备直接通信的寄存器或某些特定的器件。一个接口可以有多个端口,如命令端口、状态端口和数据端口等。I/O操作:CPU对I/O接口电路(与设备相关)的操作.不是访问I/O设备.3.1I/O端口3.1.1.概述计算机给接口电路中的每个寄存器分配一个端口,因此,CPU在访问这些寄存器时,只需指明它们的端口,不需指出是什么寄存器。

CPU对数据端口进行一次读或写操作,也就是与该接口连接的外设进行一次数据传输CPU对状态端口进行一次读操作,就可以获得外设或接口自身的状态代码CPU把若干位控制代码写入控制端口,则意味着对该接口或外设发出一个控制命令,要求该接口或外设按规定的要求工作计算机给接口电路中的每个寄存器分配一个端口,因此,CPU在访3.1I/O端口3.2.2.端口编址方式

CPU寻址外设有两种方式:端口地址和存储器地址统一编址,也称存储器映射方式I/O端口地址和存储器地址分开独立编址,也称I/O映射方式3.1I/O端口3.2.2.端口编址方式统一编址方式从存储器空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令优点:访问I/O端口可实现输入/输出操作,还可以对端口内容进行算术逻辑运算、移位等等;能给端口有较大的编址空间,这对大型控制系统和数据通信系统是很有意义的;缺点:端口占用了存储器的地址空间,使存储器容量减小;指令长度比专门I/O指令要长,因而执行速度较慢;统一编址方式从存储器空间划出一部分地址空间给I/O设备,把I独立编址方式I/O端口地址空间和存储器地址空间是独立的、分开的,即I/O端口地址不占用存储器地址空间。优点I/O端口地址不占用存储器空间;使用专门的I/O指令对端口进行操作,I/O指令短、执行速度快;并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。

缺点这种编址方式中,微处理器对存储器及I/O端口是采用不同的控制线进行选择的,因而接口电路比较复杂。独立编址方式I/O端口地址空间和存储器地址空间是独立的、分开3.1.3I/O端口访问指令80x86CPU构成的计算机,其CPU外围接口芯片及I/O接口部件皆采用独立编址方式,采用IN和OUT指令实现数据的输入和输出操作。1)8086/8088采用I/O端口与累加器传送数据。若端口地址在

0~FFH范围内,则用直接寻址INAL,端口地址(输入)OUT端口地址,AL(输出)执行的操作为:(AL)<—(PORT)(字节操作)(AX)<—(PORT+1,PORT)(字操作)

如:INAL,20HOUT80H,AXOUT84H,AL65F30200外设000000FFFFFF0100KOU1KOU2KOU311223344KOU100KOU10111323201内存00000FFFFF3.1.3I/O端口访问指令80x86CPU构成的计算机3.1.3I/O端口访问指令若端口地址在

0100~FFFFH范围内,则用DX间接寻址:

MOVDX,端口地址INAL,DXOUTDX,AL

如:MOVDX,300HINAL,DX3.1.3I/O端口访问指令若端口地址在0100~FFF3.1.3I/O端口访问指令2)80286和80386还支持I/O端口直接与RAM之间传送数据。输入:MOVDX,PORTLESDI,BUFFER_ININSB(INSW)输出:MOVDX,PORTLESSI,BUFFER_OUTOUTSB(OUTSW)3.1.3I/O端口访问指令2)80286和80386还支3.1.3I/O端口访问指令3)c语言中的端口读写函数4)VC++程序3.1.3I/O端口访问指令3)c语言中的端口读写函数3.1.4.I/O端口地址分配IBMPC/XTI/O端口地址分配图0000001F0020003F0040005F0060007F0080009F00A000BF008001FF32字节320字节32字节32字节32字节32字节32字节0000~000F8237A—5DMA控制器0020~00218259A中断控制器0040~00438253A—5定时/计数器0060~00638255A—5并行接口芯片0080~0083DMA页面寄存器00A0~00BFNMI屏蔽寄存器3.1.4.I/O端口地址分配IBMPC/XT02000200~020F游戏控制口0210~0217扩展部件0218~02F7未用02F8~02FF异步通信卡(第二个)0320~032F硬盘适配器0330~0377并行打印机未用0300~031F实验卡0380~038F0390~03AF03B0~03BF03C0~03CF03D0~03DF03E0~03EF03F0~03F703F8~03FF03FF0378~037FSPLC通信未用单色显示器/打印机未用未用彩色/图形显示卡软盘适配器异步通信卡(第一个)02000200~020F游戏控制口0210~0217扩展部3.2I/O端口地址译码3.2.1.I/O端口地址译码方法端口地址译码:就是把地址信号与控制信号进行逻辑组合,产生对芯片的选择信号.例:用BHE信号控制奇偶地址用AEN信号控制非DMA传送,AEN=1,CPU掌管总线,可以进行I/O端口访问.用IOR和IOW控制读写用I/OCS16来控制是8位还是16位在设计地址译码电路时,除了要精心选择地址范围外,还有根据CPU与I/O端口交换数据时的数据流向(读/写)、数据宽度(8位/16位)以及是否采用奇偶地址的要求来引入相应的控制信号,从而形成地址译码电路。各个外设本身都有一个控制信号,如片选信号CS,低电平有效。AEN是DMA控制器的地址锁存输出3.2I/O端口地址译码3.2.1.I/O端口地址译码3.2.2.固定式端口地址译码由地址信号和控制信号的不同组合来选择端口把地址信号分为两部分:一部分是高位地址线与CPU或总线的控制信号组合,经过地址译码电路产生片选信号CS以选择某个I/O接口芯片,从而实现接口芯片的片间寻址;另一部分是地位地址线直接连至I/O接口芯片,经过芯片内部的地址译码电路来选择某个寄存器接口,及时性接口芯片的片内选择。所谓固定式端口地址译码是指接口中用到的端口地址不能更改。一般的接口卡中大都采用固定式端口地址译码。3.2.2.固定式端口地址译码由地址信号和控制信号的不同组合3.2.2.固定式端口地址译码(1)用门电路进行端口地址译码这是一种最简单、最基本的端口地址译码电力,一般采用与门、与非门、反相器及或门等实现,如74LS08/32/30等。例3-1:用74LS20/30/32和74LS04设计端口地址为2E2的只读译码电路1)分析:地址线的状态如:00A9A8A7A6

A5A4A3A2A1A0

0010111000102E2

2)设计:了解器件外部特性,作设计图3.2.2.固定式端口地址译码(1)用门电路进行端口地址译码端口地址为2E2H的译码电路Y(读)Y(写)A1A0AENIORIOW111111≥1≥1≥1A9A8A7A3A274LS3074LS2074LS32&&图3-1带读/写控制的门电路译码电路001011100010端口地址为2E2H的译码电路Y(读)A1IOR111111≥例3-3例3-3使用74LS20/30/32和74LS04设计I/O端口地址为3D8H的只读译码电路。若要产生3D8H端口地址,则译码电路的输入地址线就应具有如表3-1所示的值。8D3十六进制100011010011二进制A3A2A1A0A7A6A5A400A9A8地址线表3-1译码电路输入地址线的值例3-3例3-3使用74LS20/30/32和74LS04例3-3设计按照表3-1中地址线的值,采用门电路就可以设计出译码电路,如图3-2所示。A1A0AENIOR11111A9A8A7A6A5A4A3A2≥1&&74LS0474LS2074LS3274LS301Y图3-2简单译码电路

例3-3设计按照表3-1中地址线的值,采用门电路就可以设计出(2)译码器译码若接口电路中需使用多个端口地址,则采用译码器译码比较方便。译码器的型号很多,如3-8译码器74LS138;4-16译码器74LS154;双2-4译码器74LS139、74LS155等。这些译码器通常由三个部分组成:译码控制端,选择输入端,译码输出端。(2)译码器译码若接口电路中需使用多个端口地址,则采用译码器ABC000001010011100101110111Y0Y1Y2Y3Y4Y5Y6Y7输出地址范围:000~01FH020~03FH…0E0~0FFHY0Y1Y2Y3Y4Y5Y6Y7A5A6A7A8A9AENIOWAB

CG2BG2AG174LS138DMACS(8237)INTRCS(8259)T/CCS(8253)PPICS(8255)WRTDMAPG(写DMA页面寄存器)WRTNMIREG(写NMI屏蔽寄存器)1174LS32用译码器进行端口地址译码ABCY0Y1Y2Y3Y4Y5Y6Y7输111111111111111111111111×××××××××0×××1×××10111111111110010111111110100110111111011001110111110010011110111011100111110110101001111110100110011111110000100Y7Y6Y5Y4Y3Y2Y1Y0CBAG1G2AG2B输出输入表4-274LS138的真值表当G1=1、G2A+G2B=0时,译码器处于工作状态,否则译码器被禁止,所有的输出端被封锁在高电平。这三个控制端也叫片选输入端,利用片选的作用可以将多片连接起来以扩展译码器的功能。74L2.3.开关式可选端口地址译码这种地址译码方式可以通过开关使接口卡的I/0端口地址根据也要求加以改变而无须更改电路。(1)用比较器和地址开关进行地址译码将比较器的A(或B)输入端输入地址信号,B(或A)端接一组DIP(DualIn-linePackage)开关。地址总线所送的地址与DIP所设置的地址相等时,产生一选通信号输出。特点:可以通过改变DIP开关的设置,很容易地改变接口的地址。不但同一功能的模块在不同微型计算机应用中可以被分配不同的地址,而且即使在同一微型计算机系统中,也可通过改变DIP开关的设置而控制不同的设备.。这种译码电路应用非常广泛,常用的比较器有四位比较器74LS85和八位比较器74LS688。3.2.3.开关式可选端口地址译码这种地址译码方式可以通过使用比较器+地址开关译码

图3-4由比较器组成的可选式译码电路74LS138Y0G1G2BG2AABCY774LS138Y0G1G2BG2AABCY774LS688P0P7COMPQ0Q6Q7+5V+5VDIPAENA9A0IOWIOR+5VP=Q使用比较器+地址开关译码图3-4由比较器组成的可选式译图3-4所示为由比较器74LS688与3-8译码器组成的I/O芯片地址可选的译码电路。8位比较器74LS688对两组8位的输入端P0~P7和Q0~Q7信号进行比较。其比较规则为:当P0~P7≠Q0~Q7时,P=1,输出高电平;当P0~P7=Q0~Q7时,P=0,输出低电平。图3-4所示为由比较器74LS688与3-应用时,可将P0~P7与地址线及控制线相连,Q0~Q7连接地址开关,而将比较器输出端P接到74LS138的控制端,如G2A上。根据比较器的特性,当输入端P0~P7的地址与输入端Q0~Q7的开关状态一致时,输出为低电平,打开译码器74LS138允许进行译码。因此,使用时可预置微型拨动开关DIP为某一值,得到一组所要求的口地址。图中让IOW和IOR信号参加译码,可分别产生8个读或写的端口地址。从图中连线可以看出,仅当A9=1(因Q6接+5V),AEN=0(因Q7接地)才使译码有效。应用时,可将P0~P7与地址线及控制线相连,..A4A5A6A7S0S1S2S3A0A1A2A3RDB0B1B2B3A0A1A2A=BA3

EFGHBCDAWRA=B74LS8574LS3274LS3074LS32&&&+5VDIP11YIOWIOR........+5V四位比较器译码电路..A4S0A0RDB0A0EBAWRA=B74LS8574本章主要介绍端口地址译码电路的设计方法.

1.I/O端口:是接口电路中CPU能访问的寄存器的地址.2.端口编址方式CPU寻址外设有两种方式:将存储器与外设端口统一编址外设端口单独编址3.译码电路的设计1).固定式译码2).IBMPC/XTI/O端口地址译码方法本章主要介绍端口地址译码电路的设计方法.

1.I/O端口:是3.3GAL器件在I/O地址译码电路中的应用3.3.1GAL器件的特点可编程逻辑器件(PLD)应用较多的有GAL(通用阵列逻辑)器件。1.GAL的基本结构主要由可编程的与阵列、固定(不可编程)的或阵列、可编程的输出宏阵列单元(OLMC)3部分电路组成。3.3GAL器件在I/O地址译码电路中的应用3.3.1G2.GAL的特点GAL(GenericArrayLogic)是美国LATTICE公司80年代提出的可编程逻辑器件PLD。(1)实现多种逻辑功能。它可以实现组合逻辑电路和时序逻辑电路的多种功能。经过编程可以构成多种门电路触发器、寄存器、计数器、比较器、译码器、多路开关或控制器等,代替常用的54系列和74系列的TTL器件或CD4000系列的CMOS芯片。据统计,一个GAL器件在功能上可以代替4~12个中小规模集成芯片,从而使系统缩小体积,提高可靠性,简化了印刷电路板的设计。(2)采用电擦除工艺,门阵列的每个单元可以反复改写(至少100次),因此整个器件的逻辑功能可以重新配置,所以它是产品开发研制中的理想工具。(3)具有硬件加密功能,可以防止抄袭电路和非法复制。(4)速度高且功耗低,具有高速电擦写能力,改写整个芯片只需数秒,而功耗只有双极型逻辑器件的1/2或1/4,缓解了温度升高的问题。2.GAL的特点3.3.2GAL的开发过程和工具1、开发工具硬件工具:编程器EXPRO-4、ALL-03、ALL-07软件工具:编译型CUPL、ABEL及汇编型FM。2、设计的一般步骤1)设计构思2)选择器件的型号3)将设计文件按照硬件描述语言的要求写成源文件,然后再计算机上进行编译、仿真和测试。4)编程器编程。3.3.2GAL的开发过程和工具1、开发工具3.3.2GAL的开发过程和工具3.采用逻辑方程的设计方法逻辑方程(或布尔方程),是指逻辑表达式的基础上以方程式的形式列出逻辑函数的输入变量和输出变量之间的逻辑关系。在采用逻辑方程设计时,还可以采用高级语言所能接受的一些语句将逻辑方程加以简化,形成一套简练的设计方程。3.3.2GAL的开发过程和工具3.采用逻辑方程的设计方法3.3.2GAL的开发过程和工具4.ABEL语言的源文件及特点1)适应于各种型号的PLD。2)语言本身高度结构化3)逻辑描述的形式灵活多样,可用逻辑方程、真值表与状态图3种方法输入。4)具有用于仿真和测试的测试向量。5)具有有效的宏指令及指示。3.3.2GAL的开发过程和工具4.ABEL语言的源文件及3.3.3采用GAL的I/O端口地址译码电路设计1、要求利用GAL器件设计MFID多功能微机接口实验平台的I/O端口地址译码电路,地址范围300H-3FFH,分成16段,每段包含接口4片,每个接口拥有4个端口。2、分析1)地址线的分配与使用最高两位地址线A9=A8=1,其次,分成16段,由A7A6A5A4四位地址线组合实现段选,每段包含4片,用A3A2实现片选,每片有4个端口,用A1A0直接寻址端口。2)参加译码的控制线IOW、IOR、AEN3.3.3采用GAL的I/O端口地址译码电路设计1、要求3)GAL器件的选择除A1A0外,其余地址线A7-A4经DIP开关和比较器进行段选,比较器输出线只有一根A=B,送到GAL输入线为A9、A8、A-B、A3、A2,三根控制线,共有8根。GAL输出线有四根片选Y0、Y1、Y2、Y3,一根LS245选通线DS,一根方向控制线DIR,所以可选GAL16V8。4)GAL16V8输入脚8个(2-9),输出脚8个(12-19),时钟脚1脚,输出允许11脚,输出12-19可配置成输入,因此最多有16个输入。3)GAL器件的选择3、设计1)硬件设计DS线控制245的E端,DIR控制245的传送方向,Y0-Y3作为平台上4个接口的片选。电路如图2-11。2)软件设计编些输入源文件,产生.JED文件,然后写到GAL中。3、设计第3章+地址译码技术与存储器接口课件4、GAL器件译码电路的编程1)编写GAL输入源文件GAL16V8ADDRESSDECODERXH2/24/2001DECODERNCA9A8A3A2IORIOWAENABGNDNCDSDIRNCNCY0Y1Y2Y3VCC/DS=A9*A8*/AEN*AB*/IOR+A9*A8*/AEN*AB*/IOWDIR=IOR/Y0=A9*A8*/AEN*AB*/A3*/A2*/IOR+A9*A8*/AEN*AB*/A3*/A2*/IOW/Y1=

A9*A8*/AEN*AB*/A3*A2*/IOR+A9*A8*/AEN*AB*/A3*A2*/IOW

/Y2=A9*A8*/AEN*AB*A3*/A2*/IOR+A9*A8*/AEN*AB*A3*0A2*/IOW/Y3=A9*A8*/AEN*AB*A3*A2*/IOR+A9*A8*/AEN*AB*A3*A2*/IOWDESCRIPTION4、GAL器件译码电路的编程2)利用FM.EXE文件对DECODER.PLD进行汇编,自动生成三个文件。文件1:DECODER.LST文档文件,包括源文件和16V8引脚图;文件2:DECODER.PLT熔丝状态分布图文件。符号“X”表示16V8内部门陈列节点上已连接,符号“-”表示未连接。文件3:DECODER.JED文件。包括门陈列中所有节点的编程信息。其中“0”表示节点已连接,“1”为未连接。

3)使用ALL03编程器将DECODER.JED写入GAL16V8中。2)利用FM.EXE文件对DECODER.PLD进行汇编,自3.4半导体存储器接口

存储器是用来存储信息的部件.存储器的三级结构:主存快存外存CPU3.4半导体存储器接口存储器是用来存储信息的部件.主快存3.4.1半导体存储器接口的基本技术一.信号线连接要求:CPU对存储器的读写操作首先是向地址线发送信号,然后向控制线发读写信号,最后在数据线上传送信息。CPU与存储器的连接就是指地址线、数据线和控制线的连接数据线的连接:通常系统的数据总线与存储器的数据相连。地址线的连接:存储器与CPU地址总线的连接必须满足对芯片所分配的地址范围的要求。分为片选和字选。控制线的连接:系统控制线的读写控制需要与存储器芯片的控制线相连。3.4.1半导体存储器接口的基本技术一.信号线连接要求:几种外部译码电路1.存储器的片选信号译码

1)线性选择法:从高位选择4条地址线2)全译码法:高位全部参加译码3)部分译码:高位地址线部分参加译码2.地址译码电路设计例1:要求:用1K(例如Intel2114)的RAM芯片,组成4K的RAM系统,cpu寻址空间64K(16条地址线),要求:(1)确定芯片组数:4片(2)片内译码:低位10条地址线(3)片选信号的译码方式?几种外部译码电路1.存储器的片选信号译码1)线性选则法优点:连接方式简单,片选信号的产生不需要复杂的逻辑电路。缺点:1)地址不连续2)地址可能重叠(地址的多义性)(1)确定芯片组数:8片(2)片内译码:低位10条地址线(3)片选信号的译码方式?1)线性选则法优点:(1)确定芯片组数:8片2)部分译码例:用8K的RAM芯片,组成32K的RAM系统,CPU寻址空间64K(16条地址线)。高位地址不参加译码部分译码法结构示意图2)部分译码高位地址不参加译码部分译码法结构示意图3)全译码法:全部高位地址线参与译码,以译码器的输出作为片选信号。例:用8K的RAM芯片,组成64K的RAM系统,CPU寻址空间64K(16条地址线),特点:地址唯一,不重叠地址连续(1)芯片数:8片(2)片内译码:13条地址线(3)片选信号的译码方式?图4-5全译码结构示意图3)全译码法:全部高位地址线参与译码,以译码器的输出作为片选二、地址分配要求ROM:用于存放系统监控程序等固化程序及常数RAM分为系统区和用户区。系统区是监控程序或操作系统存放数据的区域;用户区分为程序区和数据区两部分。8086CPU,根据其特性,高地址区域是ROM区域;低地址区域为RAM系统区,用于存放中断向量表等信息。二、地址分配要求三、驱动能力存储器芯片与CPU连接过程中,需要充分考虑CPU外接多少存储器芯片及CPU与存储器芯片之间的物理距离等因素。现在的存储器芯片都采用CMOS电路,直流负载很小,主要的复杂是电容负载。在小型的系统中,CPU可与存储器芯片直接相连.在较大的系统中,就要考虑CPU是否需要加缓冲器,有缓冲器的输出带负载。三、驱动能力3.4.2SRAM与CPU的连接SRAM:静态RAM,6264是一个典型的8KB×8的SRAM芯片。单片RAM不能满足存储容量的时候,可以把多个RAM进行组合,扩展成大容量存储器。对数据线的扩展:多个存储器的组合为了满足CPU数据线宽度的需要对地址线的扩展:为了给CPU提供更大的存储空间。3.4.2SRAM与CPU的连接SRAM:静态RAM,3.4.2SRAM与CPU的连接1、位扩展位并联法(位扩展法)假设使用8K×1位的RAM存储芯片,那么,组成8K×8位的存储器,此时只加大字长。图中,每一片RAM是8K×1位=213×1位,故其地址线为13条(A0~A12),每一片对应于数据的一位(只有一条数据线)。3.4.2SRAM与CPU的连接1、位扩展位并联法(位2、字扩展图见书:P65控制信号的连接注意:1)CPU的写信号与RAM芯片的写信号相连,CPU的读信号与RAM芯片的读或输出控制信号相连。2)为了有别于输入输出访问,保证只有在存储器的读写操作期间才能访问存储器芯片。2、字扩展3.4.3DRAM与CPU的连接DRAM:动态RAM4164的芯片特性:一个64KB×1的DRAM,由4个128×128的存储矩阵构成,通过最高位的行地址和列地址选择不同的矩阵。外部有8位地址输入线(提供行地址和列地址)一位数据输入线一位输出线行地址选通信号线3.4.3DRAM与CPU的连接DRAM:动态RAM4164芯片的外部引脚:A7~A0 :地址输入DIN:数据输入线DOUT:数据输出线RAS:行地址选通CAS:列地址选通WE:写允许信号接口电路见书P67。4164芯片的外部引脚:3.4.4ROM与CPU的连接非易失性存储器包括掩膜式只读存储器(MROM)、可编程只读式存储器(PROM)、可擦写只读存储器(EPROM、EEPROM)、闪存(flashmemory)以及铁电读/写存储器(FRAM)等。EPROM的内部结构与SRAM基本相同。EPROM27128芯片特性:1)16KB×8的紫外线可擦写只读存储器芯片2)具有编程逻辑电路而没有写控制电路3)外部引脚与SRAM相似,与CPU的连接也相似,数据线直接相连,CPU的高位地址部分用于片选,地位地址部分连至EPROM的地址线输入端。EPROM27128工作方式:读方式、编程方式、备用方式。3.4.4ROM与CPU的连接非易失性存储器包括掩膜式只读存储器与CPU的接口设计设计法1、存储器的数据线处理2、存储器的地址线3、存储器的片选端(1)全译码(2)部分译码4、存储器的读写控制存储器与CPU的接口设计设计法用1k*1的片子组成1k*8的存储器——需8个芯片地址线——(210=1024)需10根数据线——8根

控制线——WRA9-A0D7-D0WRWECPU系统用1k*1的片子组成1k*8的存储器——需8个芯

第3章地址译码技术及存储器接口3.1I/O端口编址方式3.2

I/O端口地址译码3.3半导体存储器接口第3章地址译码技术及存储器接口3.1学习目的通过对本章的学习,您应该能够达到下列要求:

描述端口的编址方式

说明端口地址译码的作用端口地址译码电路的设计

重点与难点存储器地址译码电路的设计学习目的通过对本章的学习,您应该能够达到下列要求:3.1I/O端口3.1.1.概述I/O端口:是微处理器与输入输出设备直接通信的寄存器或某些特定的器件。一个接口可以有多个端口,如命令端口、状态端口和数据端口等。I/O操作:CPU对I/O接口电路(与设备相关)的操作.不是访问I/O设备.3.1I/O端口3.1.1.概述计算机给接口电路中的每个寄存器分配一个端口,因此,CPU在访问这些寄存器时,只需指明它们的端口,不需指出是什么寄存器。

CPU对数据端口进行一次读或写操作,也就是与该接口连接的外设进行一次数据传输CPU对状态端口进行一次读操作,就可以获得外设或接口自身的状态代码CPU把若干位控制代码写入控制端口,则意味着对该接口或外设发出一个控制命令,要求该接口或外设按规定的要求工作计算机给接口电路中的每个寄存器分配一个端口,因此,CPU在访3.1I/O端口3.2.2.端口编址方式

CPU寻址外设有两种方式:端口地址和存储器地址统一编址,也称存储器映射方式I/O端口地址和存储器地址分开独立编址,也称I/O映射方式3.1I/O端口3.2.2.端口编址方式统一编址方式从存储器空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令优点:访问I/O端口可实现输入/输出操作,还可以对端口内容进行算术逻辑运算、移位等等;能给端口有较大的编址空间,这对大型控制系统和数据通信系统是很有意义的;缺点:端口占用了存储器的地址空间,使存储器容量减小;指令长度比专门I/O指令要长,因而执行速度较慢;统一编址方式从存储器空间划出一部分地址空间给I/O设备,把I独立编址方式I/O端口地址空间和存储器地址空间是独立的、分开的,即I/O端口地址不占用存储器地址空间。优点I/O端口地址不占用存储器空间;使用专门的I/O指令对端口进行操作,I/O指令短、执行速度快;并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。

缺点这种编址方式中,微处理器对存储器及I/O端口是采用不同的控制线进行选择的,因而接口电路比较复杂。独立编址方式I/O端口地址空间和存储器地址空间是独立的、分开3.1.3I/O端口访问指令80x86CPU构成的计算机,其CPU外围接口芯片及I/O接口部件皆采用独立编址方式,采用IN和OUT指令实现数据的输入和输出操作。1)8086/8088采用I/O端口与累加器传送数据。若端口地址在

0~FFH范围内,则用直接寻址INAL,端口地址(输入)OUT端口地址,AL(输出)执行的操作为:(AL)<—(PORT)(字节操作)(AX)<—(PORT+1,PORT)(字操作)

如:INAL,20HOUT80H,AXOUT84H,AL65F30200外设000000FFFFFF0100KOU1KOU2KOU311223344KOU100KOU10111323201内存00000FFFFF3.1.3I/O端口访问指令80x86CPU构成的计算机3.1.3I/O端口访问指令若端口地址在

0100~FFFFH范围内,则用DX间接寻址:

MOVDX,端口地址INAL,DXOUTDX,AL

如:MOVDX,300HINAL,DX3.1.3I/O端口访问指令若端口地址在0100~FFF3.1.3I/O端口访问指令2)80286和80386还支持I/O端口直接与RAM之间传送数据。输入:MOVDX,PORTLESDI,BUFFER_ININSB(INSW)输出:MOVDX,PORTLESSI,BUFFER_OUTOUTSB(OUTSW)3.1.3I/O端口访问指令2)80286和80386还支3.1.3I/O端口访问指令3)c语言中的端口读写函数4)VC++程序3.1.3I/O端口访问指令3)c语言中的端口读写函数3.1.4.I/O端口地址分配IBMPC/XTI/O端口地址分配图0000001F0020003F0040005F0060007F0080009F00A000BF008001FF32字节320字节32字节32字节32字节32字节32字节0000~000F8237A—5DMA控制器0020~00218259A中断控制器0040~00438253A—5定时/计数器0060~00638255A—5并行接口芯片0080~0083DMA页面寄存器00A0~00BFNMI屏蔽寄存器3.1.4.I/O端口地址分配IBMPC/XT02000200~020F游戏控制口0210~0217扩展部件0218~02F7未用02F8~02FF异步通信卡(第二个)0320~032F硬盘适配器0330~0377并行打印机未用0300~031F实验卡0380~038F0390~03AF03B0~03BF03C0~03CF03D0~03DF03E0~03EF03F0~03F703F8~03FF03FF0378~037FSPLC通信未用单色显示器/打印机未用未用彩色/图形显示卡软盘适配器异步通信卡(第一个)02000200~020F游戏控制口0210~0217扩展部3.2I/O端口地址译码3.2.1.I/O端口地址译码方法端口地址译码:就是把地址信号与控制信号进行逻辑组合,产生对芯片的选择信号.例:用BHE信号控制奇偶地址用AEN信号控制非DMA传送,AEN=1,CPU掌管总线,可以进行I/O端口访问.用IOR和IOW控制读写用I/OCS16来控制是8位还是16位在设计地址译码电路时,除了要精心选择地址范围外,还有根据CPU与I/O端口交换数据时的数据流向(读/写)、数据宽度(8位/16位)以及是否采用奇偶地址的要求来引入相应的控制信号,从而形成地址译码电路。各个外设本身都有一个控制信号,如片选信号CS,低电平有效。AEN是DMA控制器的地址锁存输出3.2I/O端口地址译码3.2.1.I/O端口地址译码3.2.2.固定式端口地址译码由地址信号和控制信号的不同组合来选择端口把地址信号分为两部分:一部分是高位地址线与CPU或总线的控制信号组合,经过地址译码电路产生片选信号CS以选择某个I/O接口芯片,从而实现接口芯片的片间寻址;另一部分是地位地址线直接连至I/O接口芯片,经过芯片内部的地址译码电路来选择某个寄存器接口,及时性接口芯片的片内选择。所谓固定式端口地址译码是指接口中用到的端口地址不能更改。一般的接口卡中大都采用固定式端口地址译码。3.2.2.固定式端口地址译码由地址信号和控制信号的不同组合3.2.2.固定式端口地址译码(1)用门电路进行端口地址译码这是一种最简单、最基本的端口地址译码电力,一般采用与门、与非门、反相器及或门等实现,如74LS08/32/30等。例3-1:用74LS20/30/32和74LS04设计端口地址为2E2的只读译码电路1)分析:地址线的状态如:00A9A8A7A6

A5A4A3A2A1A0

0010111000102E2

2)设计:了解器件外部特性,作设计图3.2.2.固定式端口地址译码(1)用门电路进行端口地址译码端口地址为2E2H的译码电路Y(读)Y(写)A1A0AENIORIOW111111≥1≥1≥1A9A8A7A3A274LS3074LS2074LS32&&图3-1带读/写控制的门电路译码电路001011100010端口地址为2E2H的译码电路Y(读)A1IOR111111≥例3-3例3-3使用74LS20/30/32和74LS04设计I/O端口地址为3D8H的只读译码电路。若要产生3D8H端口地址,则译码电路的输入地址线就应具有如表3-1所示的值。8D3十六进制100011010011二进制A3A2A1A0A7A6A5A400A9A8地址线表3-1译码电路输入地址线的值例3-3例3-3使用74LS20/30/32和74LS04例3-3设计按照表3-1中地址线的值,采用门电路就可以设计出译码电路,如图3-2所示。A1A0AENIOR11111A9A8A7A6A5A4A3A2≥1&&74LS0474LS2074LS3274LS301Y图3-2简单译码电路

例3-3设计按照表3-1中地址线的值,采用门电路就可以设计出(2)译码器译码若接口电路中需使用多个端口地址,则采用译码器译码比较方便。译码器的型号很多,如3-8译码器74LS138;4-16译码器74LS154;双2-4译码器74LS139、74LS155等。这些译码器通常由三个部分组成:译码控制端,选择输入端,译码输出端。(2)译码器译码若接口电路中需使用多个端口地址,则采用译码器ABC000001010011100101110111Y0Y1Y2Y3Y4Y5Y6Y7输出地址范围:000~01FH020~03FH…0E0~0FFHY0Y1Y2Y3Y4Y5Y6Y7A5A6A7A8A9AENIOWAB

CG2BG2AG174LS138DMACS(8237)INTRCS(8259)T/CCS(8253)PPICS(8255)WRTDMAPG(写DMA页面寄存器)WRTNMIREG(写NMI屏蔽寄存器)1174LS32用译码器进行端口地址译码ABCY0Y1Y2Y3Y4Y5Y6Y7输111111111111111111111111×××××××××0×××1×××10111111111110010111111110100110111111011001110111110010011110111011100111110110101001111110100110011111110000100Y7Y6Y5Y4Y3Y2Y1Y0CBAG1G2AG2B输出输入表4-274LS138的真值表当G1=1、G2A+G2B=0时,译码器处于工作状态,否则译码器被禁止,所有的输出端被封锁在高电平。这三个控制端也叫片选输入端,利用片选的作用可以将多片连接起来以扩展译码器的功能。74L2.3.开关式可选端口地址译码这种地址译码方式可以通过开关使接口卡的I/0端口地址根据也要求加以改变而无须更改电路。(1)用比较器和地址开关进行地址译码将比较器的A(或B)输入端输入地址信号,B(或A)端接一组DIP(DualIn-linePackage)开关。地址总线所送的地址与DIP所设置的地址相等时,产生一选通信号输出。特点:可以通过改变DIP开关的设置,很容易地改变接口的地址。不但同一功能的模块在不同微型计算机应用中可以被分配不同的地址,而且即使在同一微型计算机系统中,也可通过改变DIP开关的设置而控制不同的设备.。这种译码电路应用非常广泛,常用的比较器有四位比较器74LS85和八位比较器74LS688。3.2.3.开关式可选端口地址译码这种地址译码方式可以通过使用比较器+地址开关译码

图3-4由比较器组成的可选式译码电路74LS138Y0G1G2BG2AABCY774LS138Y0G1G2BG2AABCY774LS688P0P7COMPQ0Q6Q7+5V+5VDIPAENA9A0IOWIOR+5VP=Q使用比较器+地址开关译码图3-4由比较器组成的可选式译图3-4所示为由比较器74LS688与3-8译码器组成的I/O芯片地址可选的译码电路。8位比较器74LS688对两组8位的输入端P0~P7和Q0~Q7信号进行比较。其比较规则为:当P0~P7≠Q0~Q7时,P=1,输出高电平;当P0~P7=Q0~Q7时,P=0,输出低电平。图3-4所示为由比较器74LS688与3-应用时,可将P0~P7与地址线及控制线相连,Q0~Q7连接地址开关,而将比较器输出端P接到74LS138的控制端,如G2A上。根据比较器的特性,当输入端P0~P7的地址与输入端Q0~Q7的开关状态一致时,输出为低电平,打开译码器74LS138允许进行译码。因此,使用时可预置微型拨动开关DIP为某一值,得到一组所要求的口地址。图中让IOW和IOR信号参加译码,可分别产生8个读或写的端口地址。从图中连线可以看出,仅当A9=1(因Q6接+5V),AEN=0(因Q7接地)才使译码有效。应用时,可将P0~P7与地址线及控制线相连,..A4A5A6A7S0S1S2S3A0A1A2A3RDB0B1B2B3A0A1A2A=BA3

EFGHBCDAWRA=B74LS8574LS3274LS3074LS32&&&+5VDIP11YIOWIOR........+5V四位比较器译码电路..A4S0A0RDB0A0EBAWRA=B74LS8574本章主要介绍端口地址译码电路的设计方法.

1.I/O端口:是接口电路中CPU能访问的寄存器的地址.2.端口编址方式CPU寻址外设有两种方式:将存储器与外设端口统一编址外设端口单独编址3.译码电路的设计1).固定式译码2).IBMPC/XTI/O端口地址译码方法本章主要介绍端口地址译码电路的设计方法.

1.I/O端口:是3.3GAL器件在I/O地址译码电路中的应用3.3.1GAL器件的特点可编程逻辑器件(PLD)应用较多的有GAL(通用阵列逻辑)器件。1.GAL的基本结构主要由可编程的与阵列、固定(不可编程)的或阵列、可编程的输出宏阵列单元(OLMC)3部分电路组成。3.3GAL器件在I/O地址译码电路中的应用3.3.1G2.GAL的特点GAL(GenericArrayLogic)是美国LATTICE公司80年代提出的可编程逻辑器件PLD。(1)实现多种逻辑功能。它可以实现组合逻辑电路和时序逻辑电路的多种功能。经过编程可以构成多种门电路触发器、寄存器、计数器、比较器、译码器、多路开关或控制器等,代替常用的54系列和74系列的TTL器件或CD4000系列的CMOS芯片。据统计,一个GAL器件在功能上可以代替4~12个中小规模集成芯片,从而使系统缩小体积,提高可靠性,简化了印刷电路板的设计。(2)采用电擦除工艺,门阵列的每个单元可以反复改写(至少100次),因此整个器件的逻辑功能可以重新配置,所以它是产品开发研制中的理想工具。(3)具有硬件加密功能,可以防止抄袭电路和非法复制。(4)速度高且功耗低,具有高速电擦写能力,改写整个芯片只需数秒,而功耗只有双极型逻辑器件的1/2或1/4,缓解了温度升高的问题。2.GAL的特点3.3.2GAL的开发过程和工具1、开发工具硬件工具:编程器EXPRO-4、ALL-03、ALL-07软件工具:编译型CUPL、ABEL及汇编型FM。2、设计的一般步骤1)设计构思2)选择器件的型号3)将设计文件按照硬件描述语言的要求写成源文件,然后再计算机上进行编译、仿真和测试。4)编程器编程。3.3.2GAL的开发过程和工具1、开发工具3.3.2GAL的开发过程和工具3.采用逻辑方程的设计方法逻辑方程(或布尔方程),是指逻辑表达式的基础上以方程式的形式列出逻辑函数的输入变量和输出变量之间的逻辑关系。在采用逻辑方程设计时,还可以采用高级语言所能接受的一些语句将逻辑方程加以简化,形成一套简练的设计方程。3.3.2GAL的开发过程和工具3.采用逻辑方程的设计方法3.3.2GAL的开发过程和工具4.ABEL语言的源文件及特点1)适应于各种型号的PLD。2)语言本身高度结构化3)逻辑描述的形式灵活多样,可用逻辑方程、真值表与状态图3种方法输入。4)具有用于仿真和测试的测试向量。5)具有有效的宏指令及指示。3.3.2GAL的开发过程和工具4.ABEL语言的源文件及3.3.3采用GAL的I/O端口地址译码电路设计1、要求利用GAL器件设计MFID多功能微机接口实验平台的I/O端口地址译码电路,地址范围300H-3FFH,分成16段,每段包含接口4片,每个接口拥有4个端口。2、分析1)地址线的分配与使用最高两位地址线A9=A8=1,其次,分成16段,由A7A6A5A4四位地址线组合实现段选,每段包含4片,用A3A2实现片选,每片有4个端口,用A1A0直接寻址端口。2)参加译码的控制线IOW、IOR、AEN3.3.3采用GAL的I/O端口地址译码电路设计1、要求3)GAL器件的选择除A1A0外,其余地址线A7-A4经DIP开关和比较器进行段选,比较器输出线只有一根A=B,送到GAL输入线为A9、A8、A-B、A3、A2,三根控制线,共有8根。GAL输出线有四根片选Y0、Y1、Y2、Y3,一根LS245选通线DS,一根方向控制线DIR,所以可选GAL16V8。4)GAL16V8输入脚8个(2-9),输出脚8个(12-19),时钟脚1脚,输出允许11脚,输出12-19可配置成输入,因此最多有16个输入。3)GAL器件的选择3、设计1)硬件设计DS线控制245的E端,DIR控制245的传送方向,Y0-Y3作为平台上4个接口的片选。电路如图2-11。2)软件设计编些输入源文件,产生.JED文件,然后写到GAL中。3、设计第3章+地址译码技术与存储器接口课件4、GAL器件译码电路的编程1)编写GAL输入源文件GAL16V8ADDRESSDECODERXH2/24/2001DECODERNCA9A8A3A2IORIOWAENABGNDNCDSDIRNCNCY0Y1Y2Y3VCC/DS=A9*A8*/AEN*AB*/IOR+A9*A8*/AEN*AB*/IOWDIR=IOR/Y0=A9*A8*/AEN*AB*/A3*/A2*/IOR+A9*A8*/AEN*AB*/A3*/A2*/IOW/Y1=

A9*A8*/AEN*AB*/A3*A2*/IOR+A9*A8*/AEN*AB*/A3*A2*/IOW

/Y2=A9*A8*/AEN*AB*A3*/A2*/IOR+A9*A8*/AEN*AB*A3*0A2*/IOW/Y3=A9*A8*/AEN*AB*A3*A2*/IOR+A9*A8*/AEN*AB*A3*A2*/IOWDESCRIPTION4、GAL器件译码电路的编程2)利用FM.EXE文件对DECODER.PLD进行汇编,自动生成三个文件。文件1:DECODER.LST文档文件,包括源文件和16V8引脚图;文件2:DECODER.PLT熔丝状态分布图文件。符号“X”表示16V8内部门陈列节点上已连接,符号“-”表示未连接。文件3:DECODER.JED文件。包括门陈列中所有节点的编程信息。其中“0”表示节点已连接,“1”为未连接。

3)使用ALL03编程器将DECODER.JED写入GAL16V8中。2)利用FM.EXE文件对DECODER.PLD进行汇编,自3.4半导体存储器接口

存储器是用来存储信息的部件.存储器的三级结构:主存快存外存CPU3.4半导体存储器接口存储器是用来存储信息的部件.主快存3.4.1半导体存储器接口的基本技术一.信号线连接要求:CPU对存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论