版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微型计算机应用技术
课程学习四川大学计算机学院欢迎光临何贤江章节目录计划学时第1章微型计算机系统概述 2.52.1节微处理器的内部结构 0.5第4章微处理器外部特性 6第5章半导体存储器及其接口 6第6章基本输入输出接口 6章节目录(续)计划学时第7章中断控制接口 3第8章定时计数控制接口 9第9章DMA控制接口 3第10章并行接口 12第1章1.1.2微型计算机的应用计算机应用通常分成如下各个领域科学计算,数据处理,实时控制计算机辅助设计,人工智能,……由于微型计算机具有如下特点体积小、价格低工作可靠、使用方便、通用性强……所以,可以分为两个主要应用方向1.1.2微型计算机的应用用于数值计算、数据处理及信息管理方向通用微机,例如:PC微机功能越强越好、使用越方便越好用于过程控制及智能化仪器仪表方向专用微机,例如:单片机、工控机可靠性高、实时性强程序相对简单、处理数据量小1.2微型计算机的系统组成运算器
控制器寄存器组
内存储器总线输入输出接口电路外部设备软件微处理器微型计算机微型计算机系统区别图1.1微型计算机的系统组成控制总线CB数据总线DB地址总线AB系统总线形成处理器子系统I/O设备I/O接口存储器系统总线BUS1.2.1微型计算机的硬件组成系统总线总线是指一组能够为多个部件分时共享的信息传输线总线信号可分成三组地址总线AB:传送地址信息数据总线DB:传送数据信息控制总线CB
:传送控制信息8088微处理器8087协处理器8288总线控制器I/O通道8259中断控制器随机存储器RAM只读存储器ROM8253定时控制器8237DMA控制器8255并行接口控制总线数据总线地址总线地址锁存器数据收发器扬声器接口8284时钟发生器键盘接口系统配置开关1.3.2主机板组成8086/8微处理器结构EUBIU2.1.28088/8086的功能结构8088的内部结构从功能分成两个单元总线接口单元BIU——管理8088与系统总线的接口,负责CPU对存储器和外设进行访问执行单元EU——负责指令的译码、执行和数据的运算第1章教学要求1.
了解微机发展概况、熟悉典型微处理器和微机系统;2.
明确微机两个应用方向、区别通用微机(PC机)和控制专用微机(单片机);3.
了解微机的硬件组成,理解总线及其应用特点、掌握地址、数据、控制总线的概念;第1章教学要求(续)4.
了解微处理器基本结构、8088/8086的内部功能结构;5.复习汇编语言源程序格式。习题1(第18页)——
1.21.41.51.8第4章第4章微处理器外部特性教学重点
最小组态下的基本引脚和总线形成最小组态下的总线时序
IBMPC总线2023/2/6178086的引脚图12345678910111213141516171819204039383736353433323130292827262524232221
GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE*/S7MN/MX*RD*HOLD(RQ)*/GT0*)HLDA(RQ1*/GT1*)WR*(LOCK*)M/IO*(S2*
)DT/R*(S1*
)DEN*(S0*)ALEINTA*TEST*READYRESET80862023/2/6188088的引脚图12345678910111213141516171819204039383736353433323130292827262524232221
GND
A14
A13
A12
A11
A10
A9
A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6SS0*(HIGH)MN/MX*RD*HOLD(RQ)*/GT0*)HLDA(RQ1*/GT1*)WR*(LOCK*)M*/IO(S2*
)DT/R*(S1*
)DEN*(S0*
)ALEINTA*TEST*READYRESET80882023/2/6194.1.18088的两种组态模式两种组态构成两种不同规模的应用系统最小组态模式构成小规模的应用系统8088本身提供所有的系统总线信号最大组态模式构成较大规模的应用系统,例如可以接入数值协处理器80878088和总线控制器8288共同形成系统总线信号2023/2/6204.1.18088的两种组态模式(续)两种组态利用MN/MX*引脚区别MN/MX*接高电平为最小组态模式MN/MX*接低电平为最大组态模式2023/2/6214.18088的引脚信号和总线形成外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:⑴引脚的功能⑵信号的流向⑶有效电平⑷三态能力2023/2/622“引脚”小结CPU引脚是系统总线的基本信号可以分成三类信号:8位数据线:D0~D7
(8086:D0~D15)2023/2/623“引脚”小结CPU引脚是系统总线的基本信号可以分成三类信号:8位数据线:D0~D7(8086:D0~D15)20位地址线:A0~A192023/2/6244.1.3最小组态的总线形成AD7~AD0A15~A8A19/S6~A16/S3+5V8088ALE8282STB系统总线信号A19~A16A15~A8A7~A0D7~D0IO/M*RD*WR*8282STB8282STB8286TOE*MN/MX*IO/M*RD*WR*DT/R*DEN*OE*OE*OE*2023/2/6254.1.5最大组态的总线形成系统总线信号MEMR*MEMW*IOR*IOW*INTA*DMA应答电路AENBRDAEN*AEN*CENA19~A12A11~A8A7~A0D7~D0AD7~AD0A11~A8A19/S6~A16/S3A15~A1274LS24574LS37374LS373GGG*DIR74LS2448088OE*8288DT/R*DENALES2*~S0*S2*~S0*MN/MX*OE*E*MRDC*AMTW*IORC*AIOWC*INTA*2023/2/6264.28088的总线时序时序(Timing)是指信号高低电平(有效或无效)变化及相互间的时间顺序关系。总线时序描述CPU引脚如何实现总线操作2023/2/6274.28088的总线时序(续1)总线操作是指CPU通过总线对外的各种操作8088的总线操作主要有:存储器读、I/O读操作存储器写、I/O写操作中断响应操作总线请求及响应操作CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti描述总线操作的微处理器时序有三级:指令周期→总线周期→时钟周期2023/2/6284.28088的总线时序(续2)8088的基本总线周期需要4个时钟周期4个时钟周期编号为T1、T2、T3和T4总线周期中的时钟周期也被称作“T状态”时钟周期的时间长度就是时钟频率的倒数当需要延长总线周期时需要插入等待状态Tw2023/2/6294.28088的总线时序(续3)任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作数的指令都将引起存储器写总线周期只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期2023/2/6304.2.1最小组态的总线时序本节展开微处理器最基本的4种总线周期存储器读总线周期存储器写总线周期I/O读总线周期I/O写总线周期2023/2/631存储器写总线周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0输出数据A19~A16S6~S3READY(高电平)IO/M*WR*2023/2/632I/O写总线周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0输出数据0000S6~S3READY(高电平)IO/M*WR*2023/2/633存储器读总线周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0输入数据A19~A16S6~S3READY(高电平)IO/M*RD*2023/2/634I/O读总线周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0输入数据S6~S3READY(高电平)IO/M*RD*00002023/2/6354.2.2最大组态的写总线时序111110T4T3T2T1A15~A8A19~A16S6~S3由8288产生ALES2*~S0*CLKA19/S6~A16/S3A15~A8DEN写命令AD7~AD0A7~A0输出数据DT/R*AMWTC*MWTC*2023/2/6364.2.2最大组态的读总线时序111101A15~A8A19~A16S6~S3ALES2*~S0*CLKA19/S6~A16/S3A15~A8DEN由8288产生输入数据A7~A0AD7~AD0T4T3T2T1DT/R*MRDC*第4章教学要求1.
了解8088的两种组态形式;2.
掌握最小组态下的引脚定义、总线形成和总线时序;3.了解最大组态下的引脚定义、总线形成和总线时序;习题4
4.14.54.64.7第5章第5章半导体存储器及其接口教学重点芯片SRAM2114和DRAM4116
芯片EPROM2764和EEPROM2817ASRAM、EPROM与CPU的连接5.1半导体存储器概述除采用磁、光原理的辅存外,其它存储器主要都是采用半导体存储器本章介绍采用半导体存储器及其组成主存的方法CPUCACHE主存(内存)辅存(外存)图5.1半导体存储器的分类半导体存储器只读存储器(ROM)随机存取存储器(RAM)静态RAM(SRAM)动态RAM(DRAM)非易失RAM(NVRAM)掩膜式ROM一次性可编程ROM(PROM)紫外线擦除可编程ROM(EPROM)电擦除可编程ROM(EEPROM)详细展开,注意对比只读存储器ROM掩膜ROM:信息制作在芯片中,不可更改PROM:允许一次编程,此后不可更改EPROM:用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程EEPROM(E2PROM):采用加电方法在线进行擦除和编程,也可多次擦写FlashMemory(闪存):能够快速擦写的EEPROM,但只能按块(Block)擦除5.1.2半导体存储器芯片的结构地址寄存地址译码存储体控制电路AB数据寄存读写电路DBOEWECS①存储体每个存储单元具有一个唯一的地址,可存储1位(位片结构)或多位(字片结构)二进制数据存储容量与地址、数据线个数有关:芯片的存储容量=2M×N=存储单元数×存储单元的位数
M:芯片的地址线根数
N:芯片的数据线根数
②地址译码电路译码器A5A4A3A2A1A06301存储单元64个单元行译码A2A1A0710列译码A3A4A501764个单元单译码双译码SRAM芯片6264存储容量为8K×828个引脚:13根地址线A12~A08根数据线D7~D0片选CS1*、CS2读写WE*、OE*功能+5VWE*CS2A8A9A11OE*A10CS1*D7D6D5D4D3NCA12A7A6A5A4A3A2A1A0D0D1D2GND12345678910111213142827262524232221201918171615DRAM芯片4116存储容量为16K×116个引脚:7根地址线A6~A01根数据输入线DIN1根数据输出线DOUT行地址选通RAS*列地址选通CAS*读写控制WE*VBBDINWE*RAS*A0A2A1VDDVSSCAS*DOUTA6A3A4A5VCC12345678161514131211109DRAM芯片2164存储容量为64K×116个引脚:8根地址线A7~A01根数据输入线DIN1根数据输出线DOUT行地址选通RAS*列地址选通CAS*读写控制WE*NCDINWE*RAS*A0A2A1GNDVSSCAS*DOUTA6A3A4A5A712345678161514131211109EPROM芯片2764存储容量为8K×828个引脚:13根地址线A12~A08根数据线D7~D0片选CE*编程PGM*读写OE*编程电压VPP功能VppA12A7A6A5A4A3A2A1A0D0D1D2GNDVccPGM*NCA8A9A11OE*A10CE*D7D6D5D4D312345678910111213142827262524232221201918171615EPROM芯片2725612345678910111213141516171819202122232425262728VppA12A7A6A5A4A3A2A1A0D0D1D2GNDD3D4D5D6D7CEA10OEA11A9A8A13A14Vcc27256引脚图A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0CEOED7D6D5D4D3D2D1D027256逻辑图EEPROM芯片2817A存储容量为2K×828个引脚:11根地址线A10~A08根数据线I/O7~I/O0片选CE*读写OE*、WE*状态输出RDY/BUSY*功能NCA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GNDVccWE*NCA8A9NCOE*A10CE*I/O7I/O6I/O5I/O4I/O312345678910111213142827262524232221201918171615EEPROM芯片2864A存储容量为8K×828个引脚:13根地址线A12~A08根数据线I/O7~I/O0片选CE*读写OE*、WE*功能VccWE*NCA8A9A11OE*A10CE*I/O7I/O6I/O5I/O4I/O3NCA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND123456789101112131428272625242322212019181716155.4半导体存储器与CPU的连接这是本章的重点内容SRAM、EPROM与CPU的连接译码方法同样适合I/O端口5.4.1存储芯片与CPU的连接存储芯片的数据线存储芯片的地址线存储芯片的片选端存储芯片的读写控制线1.存储芯片数据线的处理若芯片的数据线正好8根:一次可从芯片中访问到8位数据全部数据线与系统的8位数据总线相连若芯片的数据线不足8根:一次不能从一个芯片中访问到8位数据利用多个芯片扩充数据位这个扩充方式简称“位扩充”演示位扩充2114(1)A9~A0I/O4~I/O1片选D3~D0D7~D4A9~A02114(2)A9~A0I/O4~I/O1CECE2.存储芯片地址线的连接芯片的地址线通常应全部与系统的低位地址总线相连寻址时,这部分地址的译码是在存储芯片内完成的,我们称为“片内译码”3.存储芯片片选端的译码存储系统常需利用多个存储芯片扩充容量也就是扩充了存储器地址范围进行“地址扩充”,需要利用存储芯片的片选端对多个存储芯片(组)进行寻址这个寻址方法,主要通过将存储芯片的片选端与系统的高位地址线相关联来实现这种扩充简称为“地址扩充”或“字扩充”地址扩充(字扩充)片选端D7~D0A19~A10A9~A0(2)A9~A0D7~D0CE(1)A9~A0D7~D0CE译码器00000000010000000000片选端常有效A19~A15 A14~A0 全0~全1D7~D027256EPROMA14~A0CE地址重复一个存储单元具有多个存储地址的现象原因:有些高位地址线没有用、可任意使用地址:出现地址重复时,常选取其中既好用、又不冲突的一个“可用地址”例如:00000H~07FFFH选取的原则:高位地址全为0的地址⑴译码和译码器译码:将某个特定的“编码输入”翻译为唯一“有效输出”的过程译码电路可以使用门电路组合逻辑译码电路更多的是采用集成译码器常用的2:4译码器:74LS139常用的3:8译码器:74LS138常用的4:16译码器:74LS154⑵全译码所有的系统地址线均参与对存储单元的译码寻址包括低位地址线对芯片内各存储单元的译码寻址(片内译码),高位地址线对存储芯片的译码寻址(片选译码)采用全译码,每个存储单元的地址都是唯一的,不存在地址重复译码电路可能比较复杂、连线也较多2)译码电路选用逻辑元件根据需要进行组合。选用专用译码器:例如3~8译码器等2003-3四川大学计算机学院64
8086/8存储器组织
1)寻址空间(20位地址线)
220=1Mbytes的存储器寻址空间
分段的概念
2)分段组织
段寄存器的16位值左移4位,得到的20位值加上16位的偏移量。
3)字与字节访问
AD0
信号和BHE信号组合,选择奇偶字节或字。
2003-3四川大学计算机学院65
8086存储器组织2003-3四川大学计算机学院66
奇偶寻址
字节访问偶地址字传送2003-3四川大学计算机学院68
奇地址传送字图2003-3四川大学计算机学院69
第5章教学要求1.了解各类半导体存储器的应用特点;2.
熟悉半导体存储器芯片的结构;3.理解SRAM读写原理、DRAM读写和刷新原理、EPROM和EEPROM工作方式第5章教学要求(续)4.掌握存储芯片与CPU连接的方法,特别是片选端的处理;5.
了解存储芯片与CPU连接的总线驱动和时序配合问题。习题5
5.15.105.11思考题产生存储器片选信号有哪几种方式?各有什么特点?片选信号主要采用哪些译码方式?存储芯片与CPU如何连接?应该注意那些问题?8086存储器如何组织?如何访问字节数据(包括奇偶数据)?如何访问字数据?存储器芯片内部有那些译码方式?各有什么特点?2003-3四川大学计算机学院72
第6章第6章基本输入输出接口教学重点
I/O接口电路的典型结构无条件传送方式查询传送方式中断工作过程6.1I/O接口概述(续1)什么是I/O接口(电路)?I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路CPU接口电路I/O设备6.1.2I/O接口的典型结构控制总线CB地址总线ABI/O接口电路数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器3.接口电路芯片的分类接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片):通用接口芯片面向外设的专用接口芯片4.接口电路的可编程性许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种接口需要进行物理连接,还需要编写接口软件接口软件有两类:初始化程序段数据交换程序段6.1.3I/O端口的编址接口电路占用的I/O端口有两类编排形式I/O端口单独编址I/O端口与存储器统一编址理解端口6.1.6数据传送方式程序控制下的数据传送——通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送、查询传送、中断传送直接存储器存取(DMA)——传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送I/O处理机——CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理6.2无条件传送方式及其接口在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键或按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪流程无条件传送:输入示例MOV DX,160HIN AL,DX无条件传送:输入实例MOV DX,160HIN AL,DX74LS244+5V10Kx8G1G2数据总线CSRD无条件传送:输出示例MOVDX,160HMOVAL,[BX]OUTDX,AL无条件传送:输出实例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300
x8LEOE数据总线CSWR6.3查询传送方式及其接口CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低就绪查询传送的两个环节⑴查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪⑵传送环节寻址数据口是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据输入状态就绪?数据交换YN流程6.3.1查询输入接口IOR+5V8D锁存器8位三态缓冲器译码1位三态缓冲器RQ
A0~A158000H8001HD0~D7D0D输入设备IORSTB movdx,8000h ;DX指向状态端口status: inal,dx ;读状态端口
testal,01h ;测试标志位D0 jzstatus ;D0=0,未就绪,继续查询
incdx ;D0=1,就绪,DX指向数据端口
inal,dx ;从数据端口输入数据6.3.2查询输出接口8D锁存器译码1位三态缓冲器RQ
A0~A158000H8001HD0~D7D7D+5V输出设备ACKIOWIOR movdx,8000h ;DX指向状态端口status: inal,dx ;读取状态端口的状态数据
testal,80h ;测试标志位D7 jnzstatus ;D7=1,未就绪,继续查询
incdx ;D7=0,就绪,DX指向数据端口
moval,buf ;变量buf送AL
outdx,al ;将数据输出给数据端口6.4中断传送方式断点主程序中断服务程序中断请求对外设进行处理继续执行返回断点CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序流程6.4.1中断传送与接口中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚本书主要论述中断在输入和输出方面的应用中断还有着非常广泛的应用中断输入接口D0~D7+5V8D锁存器8位三态缓冲器三态缓冲器RQ
译码
8001H中断向量号D0~D7INTRD输入设备中断允许触发器A0~A15中断请求触发器IORINTASTB6.4.2中断工作过程中断请求中断响应关中断断点保护中断识别现场保护中断服务恢复现场开中断中断返回中断服务是进行数据交换的实质性环节中断源的识别6.4.3中断优先权问题1:系统有多个中断请求,CPU如何识别中断源?解答1:向量中断(图6-10)解答2:中断查询(图6-12)中断查询接口(图6-12)A0~A15锁存器INTR三态缓冲器译码
8001HD0~D7中断A中断B中断C……IOR中断优先权排队6.4.3中断优先权(续1)问题2:有多个中断同时请求,CPU如何应对?解答1:链式优先权排队电路(图6-13)解答2:优先权编码电路(图6-14)链式中断优先权排队电路(图6-13)A2A1C2C1D2D1B2B1中断源A触发器中断源B触发器中断源C触发器中断矢量D中断矢量C中断矢量B中断矢量A中断源D触发器缓冲器缓冲器缓冲器缓冲器INTA中断优先权编码电路(图6-14)比较器失效信号比较器8:3优先权编码器优先权寄存器D0~D721A<B中断请求0中断请求1中断请求2A0A1A2INTRB0B1B2…中断嵌套6.4.3中断优先权(续2)问题3:中断处理过程中,又有中断提出请求,怎么办?解答1:链式优先权排队电路(图6-13)解答2:优先权编码电路(图6-14)除了硬件上能够识别更高级中断请求外,软件上在中断服务程序中需要开放中断,才能实现中断嵌套6.5DMA传送方式希望克服程序控制传送的不足:外设→CPU→存储器外设←CPU←存储器直接存储器存取DMA:外设→存储器外设←存储器CPU释放总线,由DMA控制器管理DMA传送的工作过程⑴CPU对DMA控制器进行初始化设置⑵外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制⑶DMA传送DMA读存储器:存储器→外设DMA写存储器:存储器←外设⑷自动增减地址和计数,判断传送完成否DMA传送流程HLDA发存储器地址传送数据传送结束?DMA结束修改地址指针流程传送方式的比较无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,效率较低中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送第6章教学要求1.了解I/O接口电路的主要功能、内部和外部特点、端口编址方法、I/O地址译码特点2.掌握输入输出指令3.掌握无条件、查询传送方式第6章教学要求(续)4.理解中断、中断源、中断工作过程、中断源识别、优先权排队和中断嵌套5.
理解DMA传送的工作过程习题6
6.16.26.10第7章第7章中断控制接口教学重点
8088CPU的中断系统
8259A的中断工作过程和工作方式7.18088中断系统8088的中断系统采用向量中断机制能够处理256个中断用中断向量号0~255区别可屏蔽中断还需要借助专用中断控制器Intel8259A实现优先权管理7.1.18088的中断类型非屏蔽中断源中断逻辑INTO指令单步中断除法错误INTN指令CPUINTRNMI可屏蔽中断源8259A中断控制器IR0IR1IR2IR3IR4IR5IR6IR7外设中断源
INTA中断标志IF的状态IF=0:可屏蔽中断不会被响应IF=1:可屏蔽中断会被响应执行指令IRET恢复原IF状态7.1.28088的中断响应过程NMIN软件中断INTRTF=1中断响应周期读中断向量号下条指令现行指令IF=1NNNNYYYYY7.1.28088的中断响应过程(续)Y还有NMITEMP=1标志寄存器入栈TEMP=TF,IF=TF=0CS:IP入栈获取中断向量执行服务程序弹出CS:IP弹出标志寄存器返回被中断程序(1)(2)(3)(4)(5)NNY(6)7.1.38088的中断向量表中断向量:中断服务程序的入口地址(首地址)逻辑地址含有段地址CS和偏移地址IP(32位)每个中断向量的低字是偏移地址、高字是段地址,需占用4个字节8088微处理器从物理地址000H开始,依次安排各个中断向量,向量号也从0开始256个中断占用1KB区域,就形成中断向量表向量号为N的中断向量的物理地址=N×47.38259A中断控制器Intel8259A是可编程中断控制器PIC可用于管理Intel8080/8085、8086/8088、80286/80386的可屏蔽中断8259A的基本功能一片8259A可以管理8级中断,可扩展至64级每一级中断都可单独被屏蔽或允许在中断响应周期,可提供相应的中断向量号8259A设计有多种工作方式,可通过编程选择7.3.18259A的内部结构和引脚D7~D0INTAINT中断请求寄存器中断屏蔽寄存器数据总线缓冲器IR0IR7读/写控制逻辑级联缓冲器比较器RDWRA0CSCAS0CSA1CAS2SP/EN优先权判别电路中断服务寄存器控制逻辑1.中断控制中断请求寄存器IRR保存8条外界中断请求信号IR0~IR7的请求状态Di位为1表示IRi引脚有中断请求;为0表示无请求中断服务寄存器ISR保存正在被8259A服务着的中断状态Di位为1表示IRi中断正在服务中;为0表示没有被服务中断屏蔽寄存器IMR保存对中断请求信号IR的屏蔽状态Di位为1表示IRi中断被屏蔽(禁止);为0表示允许2.与处理器接口A0RD*WR*CS*功能0100110000101010×110×××1写入ICW1、OCW2和OCW3写入ICW2~ICW4和OCW1读出IRR、ISR和查询字读出IMR数据总线高阻状态数据总线高阻状态3.中断级连一个系统中,8259A可以级连,有一个主8259A,若干个(最多8个)从8259A级连时,主8259A的三条级连线CAS0~CAS2作为输出线,连至每个从8259A的CAS0~CAS2每个从8259A的中断请求信号INT,连至主8259A的一个中断请求输入端IR主8259A的INT线连至CPU的中断请求输入端SP*/EN*在非缓冲方式下,规定该8259A是主片(SP*=1)还是从片(SP*=0)动画示例7.3.28259A的中断过程CAS0~CAS2D0~D7SP/ENIR0~IR7CPU响应周期8259A工作波形INT第一个周期T1T2T3T4ALECLK
第二个周期T1T2T3T4第一个前保持为高电平
INTALOCK动画7.3.38259A的工作方式普通全嵌套方式特殊全嵌套方式自动循环方式特殊循环方式优先权固定方式优先权循环方式设置优先权方式普通中断结束方式特殊中断结束方式自动中断结束方式非自动中断结束方式结束中断处理方式屏蔽中断源方式普通屏蔽方式特殊屏蔽方式中断触发方式边沿触发方式电平触发方式数据线连接方式缓冲方式非缓冲方式1.设置优先权方式普通全嵌套方式8259A的中断优先权顺序固定不变,从高到低依次为IR0、IR1、IR2、……IR7中断请求后,8259A对当前请求中断中优先权最高的中断IRi予以响应,将其向量号送上数据总线,对应ISR的Di位置位,至到中断结束(ISR的Di位复位)在ISR的Di位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权中断的嵌套特殊全嵌套方式优先权自动循环方式优先权特殊循环方式1.设置优先权方式普通全嵌套方式特殊全嵌套方式级联情况下,允许主片在某级从片进行中断服务时响应同一级从片来的另一级申请,发生嵌套从片工作在普通完全嵌套方式优先权自动循环方式优先权特殊循环方式1.设置优先权方式普通全嵌套方式特殊全嵌套方式优先权自动循环方式用于多个优先级相等中断源场合,服务完优先级降为最低
76543210 76543210 IRR 00010100 00010000 ISR 00000100 00010000 Prio 76543210 43210765优先权特殊循环方式1.设置优先权方式普通全嵌套方式特殊全嵌套方式优先权自动循环方式优先权特殊循环方式最低优先级由编程时设置实现。若IR5为最低时,则IR6最高。2.结束中断处理方式什么是8259A的中断结束?8259A利用中断服务寄存器ISR判断:某位为1,表示正在进行中断服务;该位为0,就是该中断结束服务。这里说明如何使ISR某位为0,不反映CPU的工作状态。2.结束中断处理方式自动中断结束方式
程序设定AEOI,用于单片,不会发生嵌套时普通中断结束方式特殊中断结束方式2.结束中断处理方式自动中断结束方式普通中断结束方式配合全嵌套优先权方式使用当CPU用输出指令往8259A发出普通中断结束EOI命令时,8259A就会把所有正在服务的中断中优先权最高的ISR位复位特殊中断结束方式配合循环优先权方式使用CPU在程序中向8259A发送一条特殊中断结束命令,这个命令中指出了要清除哪个ISR位3.屏蔽中断源方式普通屏蔽方式将IMR的Di位置1,则对应的中断IRi被屏蔽,该中断请求不能从8259A送到CPU如果IMR的Di位置0,则允许IRi中断产生特殊屏蔽方式将IMR的Di位置1,对应的中断IRi被屏蔽的同时,使ISR的Di位置04.中断触发方式边沿触发方式8259A将中断请求输入端出现的上升沿作为中断请求信号电平触发方式中断请求端出现的高电平是有效的中断请求信号5.数据线连接方式缓冲方式8259A的数据线需加缓冲器予以驱动8259A把SP*/EN*引脚作为输出端,输出允许信号,用以锁存或开启缓冲器非缓冲方式SP*/EN*引脚为输入端若8259A级连,由其确定是主片或从片7.3.48259A的编程初始化编程8259A开始工作前,必须进行初始化编程给8259A写入初始化命令字ICW中断操作编程在8259A工作期间可以写入操作命令字OCW将选定的操作传送给8259A,使之按新的要求工作还可以读取8259A的信息,以便了解他的工作状态1.初始化命令字ICW初始化命令字ICW最多有4个8259A在开始工作前必须写入必须按照ICW1~ICW4顺序写入ICW1和ICW2是必须送的ICW3和ICW4由工作方式决定流程D7D6D5D4D3D2D1D0ICW1×××1LTIM×SNGLIC4D7D6D5D4D3D2D1D0×——表示可以任意为1为0都可以(建议为0)1——只能为1,作为标志中断触发方式:LTIM=1,电平触发方式LTIM=0,边沿触发方式规定单片或级连方式:SNGL=1,单片方式SNGL=0,级连方式是否写入ICW4IC4=1,要写入ICW4IC4=0,不写入ICW4,即ICW4规定的位全为0A0=0ICW2T7T6T5T4T3×××D7D6D5D4D3D2D1D0设置中断向量号T7~T3为中断向量号的高5位低3位由8259A自动确定:IR0为000、IR1为001、……、IR7为111A0=1ICW3S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0级连命令字主片8259A:Si=1对应IRi接有从片;否则IRi没有连接从片从片8259A:ID0~ID2编码说明从片INT引脚接到主片哪个IR引脚A0=1ICW4000SFNMBUFM/SAEOIμPMD7D6D5D4D3D2D1D0嵌套方式:特殊全嵌套方式(SFNM=1)普通全嵌套方式(SFNM=0)数据线的缓冲方式:缓冲方式(BUF=1)非缓冲方式(BUF=0)主片/从片选择:主片(M/S=1)从片(M/S=0)中断结束方式:自动中断结束(AEOI=1)非自动中断结束(AEOI=0)微处理器类型:16位80x86(PM=1)8位8080/8085(PM=0)A0=1初始化主片8259A
moval,11h ;写入ICW1 out20h,al jmpintr1 intr1: moval,08h ;写入ICW2 out21h,al jmpintr2 intr2: moval,04h ;写入ICW3 out21h,al jmpintr3 intr3: moval,1h ;写入ICW4 out21h,al中断控制器的初始化程序段初始化从片8259A
moval,11h ;写入ICW1 out0a0h,al jmpintr5intr5: moval,70h ;写入ICW2 out0a1h,al jmpintr6intr6: moval,02h ;写入ICW3 out0a1h,al jmpintr7intr7: moval,01h ;写入ICW4 out0a1h,al中断控制器的初始化程序段2.操作命令字OCW8259A工作期间,可以随时接受操作命令字OCWOCW共有3个:OCW1~OCW3写入时没有顺序要求,需要哪个OCW就写入那个OCWD7D6D5D4D3D2D1D0OCW1M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字内容写入中断屏蔽寄存器IMRDi=Mi对应IRi,为1禁止IRi中断;为0允许IRi中断。各位互相独立。A0=1OCW2RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和EOI配合使用产生中断结束EOI命令和改变优先权顺序L2~L0的3位编码指定IR引脚A0=0OCW2R=1优先级按循环方式设置SL(SETLEVEL)=1L2,L1,L0有效EOI=1发中断结束命令,对当前指定ISRi复位
001一般EOI命令
011 特殊EOI命令,对L2~L0指定的ISRi复位
101 一般EOI命令下的循环优先
100设置自动的循环优先
000清除自动循环优先
111EOI命令后,按L2~L0指定最低优先级别
110特殊循环优先方式,L2~L0定最低优先级
010无操作A0=0OCW30ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM设置中断屏蔽方式P、RR和RIS规定随后读取的状态字含义A0=0OCW3ESMMSMM1 1特殊屏蔽方式置位10特殊屏蔽方式复位0 x非特殊屏蔽方式
P(Polling):=1,查询方式
=0,读内部REGRR RIS1 1 读ISR1 0 读IRR0 x 非读3.读取状态字CPU可读出IRR、ISR、IMR和查询字A0为低,由OCW3中RR和RIS位设定读取IRR或ISR,由OCW3中P位设定读取查询字而A0引脚为高电平时读取的都是IMR查询字反映8259A是否有中断请求D7D6D5D4D3D2D1D0查询字I----W2W1W0D7D6D5D4D3D2D1D0中断位I位为1,有外设请求中断W2~W0的编码当前中断请求的最高优先级4.命令字和状态字的区别方法⑴利用读写信号区别写入的控制寄存器和读出的状态寄存器⑵利用地址信号区别不同I/O地址的寄存器⑶由控制字中的标志位说明是哪个寄存器⑷由芯片内顺序控制逻辑按一定顺序识别不同的寄存器⑸由前面的控制字决定后续操作的寄存器第8章第8章定时计数控制接口教学重点
8253的引脚和6种工作方式
8253的编程
8253的应用定时器和计数器定时控制在微机系统中极为重要定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器定时功能的实现方法软件延时——利用微处理器执行一个延时程序段实现不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路8.18253/8254定时计数器3个独立的16位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数8254是8253的改进型8.1.18253/8254的内部结构和引脚D7~D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2计数器结构示意图预置寄存器GATECLKOUT减1计数器输出锁存器计数器的3个引脚CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号2.与处理器接口D0~D7数据线 A0~A1地址线RD*读信号 WR*写信号CS*片选信号CS*A1A0I/O地址读操作RD*写操作WR*00000101001140H41H42H43H读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字8.1.28253/8254的工作方式8253有6种工作方式,由方式控制字确定熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式每种工作方式的过程类似:⑴设定工作方式⑵设定计数初值〔⑶硬件启动〕⑷计数初值进入减1计数器⑸每输入一个时钟计数器减1的计数过程⑹计数过程结束各种工作方式的输出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2
N/20/N0N01N01N01讨论:计数开始的时刻8.1.38253/8254的编程8253加电后的工作方式不确定8253必须初始化编程,才能正常工作写入控制字写入计数初值读取计数值8254新增读回命令D7D6D5D4D3D2D1D01写入方式控制字计数器读写格式工作方式数制D7D6D5D4D3D2D1D000计数器001计数器110计数器211非法00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1010方式2011方式3100方式4101方式50二进制1十进制2写入计数值选择二进制时计数值范围:0000H~FFFFH0000H是最大值,代表65536选择十进制(BCD码)计数值范围:0000~99990000代表最大值100003读取计数值对8位数据线,读取16位计数值需分两次计数在不断进行,应该将当前计数值先行锁存,然后读取:向控制字I/O地址:给8253写入锁存命令从计数器I/O地址:读取锁存的计数值第8章教学要求1.掌握8253引脚,尤其是CLK、OUT、GATE引脚的功能2.掌握8253的六种工作方式、编程和应用习题8
8.28.38.48.8(8253部分)第9章第9章DMA控制接口教学重点
8237A的工作方式
8237A寄存器组的作用
8237A寄存器组的编程9.1DMA控制器8237A每个8237A芯片有4个DMA通道,就是有4个DMA控制端口每个DMA通道具有不同的优先权每个DMA通道可以分别允许和禁止每个DMA通道有4种工作方式一次传送的最大长度可达64KB多个8237A芯片可以级连,扩展通道数8237的外部结构8237的内部逻辑框图8237A引脚的两种作用与CPU连接(空闲周期)的引脚与外设连接(有效周期)的引脚CLK、RESETA0~A3、CS*、DB0~DB7IOR*、IOW*HRQ、HLDAAEN、ADSTB、READY、EOP*A0~A7、DB0~DB7IOR*、IOW*、MEMR*、MEMW*DREQ0~DREQ3、DACK0~DACK39.1.28237A的工作周期空闲周期工作周期(有效周期)9.1.28237A的工作时序·空闲周期8237A的任一通道都没有DMA请求时8237A由微处理器控制作为一个接口芯片CPU可对8237A编程,或从8237A读取状态8237A采样CS*选片信号,该信号有效,CPU就要对8237A进行读/写操作8237A还采样通道的请求输入信号DREQ,该信号有效,就进入有效周期进入有效周期9.1.28237A的工作时序·有效周期8237A采样到外设有DMA请求,就脱离空闲周期进入有效周期8237A作为系统的主控芯片,控制DMA传送操作DMA传送借用系统总线完成,其控制信号以及工作时序类似CPU总线周期进入DMA传送时序9.1.38237A的工作方式DMA传送方式单字节传送方式数据块传送方式请求传送方式级连方式1.DMA传送-单字节方式每次DMA传送时仅传送一个字节传送一个字节之后,字节数寄存器减1,地址寄存器加1或减1,HRQ变为无效8237A释放系统总线,将控制权还给CPU若传送后使字节数从0减到FFFFH,则终结DMA传送或重新初始化特点:一次传送一个字节,效率略低DMA传送之间CPU有机会重新获取总线控制权1.DMA传送-数据块方式由DREQ启动就连续地传送数据,直到字节数寄存器从0减到FFFFH终止计数,或由外部输入有效信号终结DMA传送DREQ只需维持有效到DACK有效特点:一次请求传送一个数据块,效率高整个DMA传送期间CPU长时间无法控制总线(无法响应其他DMA请求、无法处理中断等)1.DMA传送-请求方式DREQ信号有效就连续传送数据DREQ信号无效,DMA传送被暂时中止,8237A释放总线,CPU可继续操作DMA通道的地址和字节数的中间值仍被保持DREQ信号再次有效,DMA传送就继续进行如果字节数寄存器从0减到FFFFH,或者由外部送来一个有效的信号,将终止计数特点:DMA操作可由外设利用DREQ信号控制传送的过程1.DMA传送-级连方式用于通过多个8237A级连以扩展通道第二级的HRQ和HLDA信号连到第一级某个通道的DREQ和DACK上第二级芯片的优先权等级与所连通道的优先权相对应第一级只起优先权网络的作用,实际的操作由第二级芯片完成还可由第二级扩展到第三级等8237A的传送类型1)DMA写传送:I/OM2)DMA读传送:MI/O3)DMA校验:不传送数据,只作校验
4)存储器到存储器的传送:MM
此时,由通道0提供源地址,通道1提供目的地址和字节计数。第一个周期:将源地址的数据读入8237暂存器。第二个周期:将暂存器内容送到数据总线,然后写入目的地址的存储单元。寄存器地址控制REG/状态REG 08H模式REG 0BH 请求REG 09H 屏蔽REG 0AH多通道屏蔽REG 0FH 基本地址和当前地址REG00H~07H基本字节和当前字节REG00H~07H暂存REG
/软命令:复位命令(masterclear)
0DH软命令:清除先/后触发器0CH软命令:清屏蔽REG(对端口写操作DMA+0EH)1.现行地址寄存器保持DMA传送的当前地址值每次传送后该寄存器的值自动加1或减1这个寄存器的值可由CPU写入和读出基地址寄存器存放初始值2.现行字节数寄存器保持DMA传送的剩余字节数每次传送后,该寄存器的值减1这个寄存器的值可由CPU写入和读出该寄存器的值减至0,再减1(从0减到FFFFH)时,终止计数基字节数寄存器存放初始值传送N个字节,初始值为N-1读写通道寄存器CPU与8237A之间通过8位数据总线交换信息,8237A的通道寄存器均为16位需要两次读写操作才能实现CPU与8237A之间的一个完整数据的交换8237A内含一个高/低触发器,用来控制读写通道寄存器的高、低字节高/低触发器该触发器为0,控制读写低字节该触发器为1,控制读写高字节软、硬件复位后,触发器为0每次读写通道寄存器,自动改变触发器状态。如果对16位寄存器的操作用两次连续读写进行,就不必清除这个触发器清除高/低触发器软件命令(A3A2A1A0=1100)将使高/低触发器清零3个软件命令清除高/低触发器软件命令A3A2A1A0=1100,使高/低触发器清零主清除命令A3A2A1A0=1101,使高/低触发器清零还使命令、状态、请求、临时寄存器清零使屏蔽寄存器置为全1(禁止DMA请求)主清除命令与硬件的RESET信号具有相同的功能清屏蔽寄存器命令A3A2A1A0=1110,使4个屏蔽位都清零(允许DMA请求)5.模式寄存器存放相应通道的方式控制字选择某个DMA通道的工作方式其中用最低2位选择哪个DMA通道请看方式字的格式方式字格式D7D6D5D4D3D2D1D000请求模式01单字节模式10数据块模式11级联模式0地址增量(加1)1地址减量(减1)0禁止自动初始化1允许自动初始化00 DMA校验01 DMA写10 DMA读11 非法×× 若D7D6=1100通道001通道110通道
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冬休安全应急预案范文(5篇)
- 童装市场趋势洞察-洞察分析
- 连接器-材料知识培训课件
- 关于节约粮食国旗下讲话稿(17篇)
- 六年级《各具特色的民居》课件
- 汽车设计-课程设计-离合器设计
- 办公空间设计中的天文元素运用
- 农业科技成果转化的新机遇与挑战
- 健康生活家庭健身器材全解析
- 企业内部如何进行创新成果的评估与保护
- 课内文言文阅读(原卷版)-2024-2025学年九年级语文上学期期中试题分类汇编(山东专用)
- 2024秋国开《管理学基础》形考任务(1234)试题及答案
- 叉车安全管理
- 院感课件下载
- 2022幼儿园教师读书参考心得体会5篇
- 2024年《内科护理学》考试复习题库(含答案)
- 江苏省常熟市2024-2025学年七年级上学期12月月考历史卷(含答案)
- 浙江大学医学院附属儿童医院招聘人员真题
- 考试安全保密培训
- 租赁部绩效考核制度
- 江苏省扬州市2023-2024学年高一上学期期末考试物理试题(含答案)
评论
0/150
提交评论