工大计算机接口技术讲义_第1页
工大计算机接口技术讲义_第2页
工大计算机接口技术讲义_第3页
工大计算机接口技术讲义_第4页
工大计算机接口技术讲义_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 绪论微型计算机Micro computerPCal Computer自第一个微处理器 4004 诞生以来,以微处理器为的 PC 飞速发展。微型计算机有如下特点: 1.体积小、重量轻:VLSI 技术2.可靠性高、结构灵活3.价格低廉:CPU 的性能和集成度每两年提高一倍,价格降低一个数量级。4.应用范围广微处理器自诞生以来,四代:第一代:1971 Intel 4004, 4 位,8 位微处理器如 Intel 8008。第二代:1973-1977,Intel 8080, Zilog 微处理机开始应用于事务管理,过第三代:1978-1980Z80,Motorola 68000 等。程,通信,

2、教育的等领域。微处理器进入 VLSI M68000 等.80 年代后, Intel 80286,16 位微处理器,Intel 8086,Zilog Z8000,Motorola进入微机领,PC 成为微机的主品并形成了“兼容机”的标准,随后出现了许多兼容机厂商,为微机的发展和普及做出了巨大贡献.第四代:1984- 32 位微处理器Intel 80386,486,586,Pentium 等. 性能极大提高,已超过过去的小型机. 现在已发展出 64 位微处理器接口 Interface ,两层含义:1.连接 CPU 和外设之间的部件,完成 CPU 与外设之间的交换。2.微机辅助电路也可以成为接口。如:

3、中断器、总线器等。为什么要接口?外设为什么一定要通过接口电路与主机相连?器、DMA器、定时器、 cache器的存取速度基本上可以和 CPU 的工作速度匹配,CPU 和器之间的定时协调比较容易,这决定了器可以通过总线直接和 CPU 相连。接口的特点,接口的功能。寻址功能输入输出功能数据缓冲功能速度匹配联络功能:y 信号,数据缓冲区满信号.数据转换功能:"正负逻辑转换","串-并转换","A/D,D/A 转换" 中断处理功能提供时序可编程功能电气特性匹配错误检测等.接口的:(1) 按使用角度:系统接口、应用接口。系统接口:微机工作必不可少

4、的接口,如:总线器、中断器等。应用接口:A/D、可编程并口等。器、CRT(2)按应用范围:接口、通用接口。接口:专门用于某一用途的接口,如:磁盘器、CRT 通用接口: 如可编程并口、串口等。器等。(3)按的传输形式:并行接口、串行接口。如:可编程并口、串口、USB 口、I2C 总线接口等。(4)按使用的信号类型:数字接口、模拟接口。随着 VLSI、微技术的发展,集成度不断提高,接口向“复杂化、智能化”方向发展。一个接口可以集成多个不同种类的接口。第二章微机本系统、接口与端口冯·诺依曼理论:1.计算机需采用二进制作为计数进位制。2.计算机需采用多级的模式。3.需有一个运算装置,用于完成

5、算术、逻辑运算。4.需有一个装置,完成指挥的作用。5.需有输入、输出8086 的特点:,用来完成人-机通信。Intel 公司的 16 位微处理器最早采用流水线pipeline 结构的微处理器采用分时复用的总线结构:地址总线、数据总线复用空间进行分段管理:Segment具有丰富的指令集合:Intel 80x86 是复杂指令集 CISC 龙芯、方舟、ARM 等是 RISC 精简指令集 CPU具有丰富的寄存器组容易时序系统80x86 微处理器按功能可分为执行部件(EU:Execution Unit)和总线接口部件(BIU:Bus Interface Unit)。执行部件(EU)负责指令执行,它由寄存

6、器、算逻部件(ALU:Arithmetic Logic Unit)、标志寄存器 PSW 组成。总线接口部件(BIU)执行所有的总线操作,如 20 位地址形成,Cache(高速缓存)、主器,I/O,与之交换数据。使用了过去只在大型机中的重叠技术。指令队列的设计,使 EU 和 BIU 并行工作, 使取指令和执行指令的时间可以重叠,大大减少了等待取指所需的时间,提高了 CPU的利用率和执行速度,降低了对器存取速度的要求。Intel 8086 支持器分段结构,把 1MB空间分成若干使用,每一段代表 216=64KB 长连续单元,用 16bits 地址线寻址。每个段的起始地址叫基址,存放在 BIU 的四

7、个 16 位段寄存器中(CS,DS,SS,ES),CPU 通过段寄存器四个段。段之间可以是连续的、的、部分重叠的或完全重叠的。单元地址分:物理地址(实际地址)和逻辑地址。物理地址是指 1M 字节单元中某一地址,20 位地址。CPU 和器交换数据使用物理地址,程序设计使用逻辑地址,它由段地址和偏移量组成。每当 CPU 访存时,把逻辑地址变换为物理地址。逻辑地址变换为物理地址的变换:把段寄存器中的基址左移 4 位,再和偏移量相加。逻辑地址变换为物理地址的。8086 的工作过程:1.取指令 2.取源操作数 3.取目的操作数 4.执行指令。8086 最小方式系统图。有关基本概念:CPU:CPU 集成了

8、运算器、器和寄存器组。PC 系列机 CPU 主要型号有 8086/8088/80286、80386/80486 ,奔腾/奔/奔/奔 4,分别为 16 位机、32 位机、64 位机。每一主型号 CPU 还有若干种P/750M、P4/1.2G, 750M 和 1.2G 表示 CPU 主频速率,其号,如: 1G=1000M、M=1000HZ。是各部件总线:总线是连接 CPU 与器、I/O 接口的公共导线,传输的公共通道。微有地址总线、数据总线和总线。 地址总线传输地址,用来寻址内存的最大容量。器单元和 I/O 接口。地址总线“宽度”决8086/8088 有 20 根地址线,可寻址 1M 内存。802

9、86 有 24 根地址线,可寻址 16M 内存。80486/奔腾 有 32 根地址线,可寻址 4G 内存。容量字节=二进制 8 位1TB=1024GB1GB=1024MB1MB=1024KB1KB=1024 字节1 数据总线传输数据,CPU 用来与器单元和 I/O 接换数据。8088CPU 内部数据线是 16 位,外部数据线是 8 位,称为准 16 位机。8086/80286 CPU 内/外数据线都是 16 位。80386/80486 CPU 数据线是 32 位。奔腾 CPU 数据线是 64 位。接收)(1) 相应的总线对于不同的 CPU 来讲,其条数是不一样的信号。线各部件发出(或I/O 接

10、口是以 IC 逻辑电路或接口板形式出现的一电路,其内由寄存器和.它是 CPU 和 I/O之间交换的媒介和桥梁.(2)I/O 接口的基本功能为(十大功能 p3) 进行端口地址译码和进行命令译码选择 度上的差异。向 CPU 提供 I/O的状态进行定时和相应时序。对传送数据提供缓冲,以消除计算机与外设在“定时”或数据处理速 提供计算机与外设间有提供有关电气的适配息格式的相容性变换。 还可以中断方式实现 CPU 与外设之间接口的基本组成。1端口的概念的交换2.在微中,每个“端口”分配有唯一的地址码,称之为“端口地址”。3. 在可编程接口中,一个“端口地址” 可对个 “寄存器”,如方式选择寄存器、输入输

11、出选择寄存器、中断矢量寄存器等。写入该端口时,如何区分写入的哪个寄存器?常用的1)特征位法:在每次写入的2)索引法:有:中保留若干位用于区分写入的是哪一种命令字。每次写入器。3)特定顺序法:时,先写入索引值,然后写入命令字,由索引值决定写入的寄存特定顺序法要求写入命令字时按照严格的写入次序,由事先定次序决定哪一个命令字写入对应的寄存器。4.CPU 对外设的是一一对应的实际上是通过对 I/O 端口的。来实现的因为端口与5.I/O 通道也就是可以传送和暂存数据的实际通路,所以 I/O 端口有时也称作 I/O 通道。I/O 端口编址方式::器映象 I/O 编址,I / O 的编址方式。1.器映象 I

12、/O 编址1:基本原理从器空间划出一部分地址空间给 I/O,把 I/O 接口中的端口当作器单元一样进行,不设置专门的 I/O 指令。如:Motorola 系列,Apple 系列微型机和一些小型机采用这种方式。2:特点(1)主存单元与 I/O 端口一起编址。(2)据地址区分是 I/O 端口还是主存。(3)系统中可以不设 I/O 指令。3:优缺点(1) 指令兼容性好,访存指令也可用于 I/O 数据,访存指令功能强,操作方便灵活。(2) I/O 接口有较 大的编址空间。但是,端口占用了速度较慢。器地址,使内存容量减小;指令长度比I/O 指令长,执行2.(1)(2)(3)I / O 的编址方式 1:

13、特点主存单元与 I/O 端口设置专门 I/O 指令编址指明是I/O 端口,还是主存单元。-PC 系列和 Z-80 系列机采用这种方式.3:优缺点(1) I/O 外设具有(2) 单独的 I/O 指令,可与的结构,使其可与器进行设计。器的指令区分,程序层次清晰,可读性强。(3)指令地址较短,所需译码硬件较少。(4) 指令格式较短,执行时间也短,执行速度快。(5)I/O 端口地址不占用空间。1.输入指令ININ IN ININAL AX AL,port port DXport 是一个 8 位的字节地址,最多256 个端口,系统主板接口字节地址作端口地址,可寻址 64k 端口.如 I/O 扩展槽上接口

14、卡采用间接寻址,接口地址总放在 DX 中.AX , DX2.输出指令OUTOUT OUT说明port , AL/AX; DX ,AL/AX;两种指令均可传送一个字节或字,且只能通过 AL 或者 AX 传送。如:IN 指令中的目的操作数必须是 AL(字节传送)或 AX(字传送)4.编址方式的端口1.I/O 指令中端口地址的宽度-PC 系列采用 I/O(in/out)指令端口,实现数据的 I/O 传送。在 I/O 指令中可采用单字节地址或双字节地址寻址方式。若用单字节地址作为端口地址,则最多可INAL,PORTOUTPORT,AL256 个端口。其指令格式为:;输入;输出这里,PORT 是一个 8

15、 位的字节地址。例如:INAL,60H OUT61H,AL2. I/O 端口所谓对端口的例如: 输入时;60H;61H板 8255A 的 PA 端口地址板 8255A 的 PB 端口地址就是 CPU 对端口的读/写,将端口的数据传送器。MOVDX,300HIN MOV;I/O 端口AL, DI,ALDX;从端口读数据到 AL;将数据从 AL器输出时MOVDX,301H;I/O 端口MOV OUT微机 I/O 端口地址分配1. PC 机 I/O 接口硬件I/O 接口的硬件分成两类: 1.系统板上的 I/OAL,SI DX,AL;从内存取数到 AL;数据从 AL端口如定时/计数器、中断2.I/O

16、扩展槽上的接口器、DMA 卡器、并行接口等。如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。微机 I/O 端口地址分配*2. PC 机 I/O 端口地址分配PC 微机是根据上述 I/O 接口的硬件,把 I/O 空间分成两部分。PC 微机 I/O 地址线可有 16 根,对应的 I/O 端口编址可达 64K 字节,其端口地址译码是采用部分译码法,即只使用了低 10 位地址线 A0A9,故其 I/0 端口地址范围是 0000H003FFH,总共只有 1024 个端口。并把前 512 个端口分配给了主板,后512 个端口分配给扩展槽上常规外设.后来 PC/AT 系统中作了调整,将前 256 个端

17、口(000 0FFH)供系统板,后 768 (100 3FFH)供扩展槽上常规外设使用。表 2.1I/O DMA DMA系统板上接口名称器 1器 2的端口地址端口地址00001FH0C00DFH08009FH02003FH0A00BFH04005FHDMA 页面寄存器中断 中断 定时器器 1器 2并行接口RT/CMOS RAM协处理器的端口地址I/0 接口名称(键盘接口)06006FH07007FH0F00FFH 表 2.2 扩展槽上接口卡端口地址20020FH37037FH27027FH3F83FFH2F02FFH游戏 并行口并行口串行口串行口卡卡 1卡 2卡 1卡 2原型插件板(用户可用)

18、 同步通信卡 1同步通信卡 2 单显 MDA彩显 CGA彩显 EGG/VGA30031FH3A03AFH38038FH3B03BFH3D03DFH3C03CFH1F01FFH3F03F7H36036FH 注意:的端口地址实际并未全部使用。如:中断硬驱 软驱 PC 网卡卡卡表 2.1 中分配个每个接口器 8259A 只使用了前两个地址 20H,21H(主片)和A0H,A1H(从片);并行接口8255只使用了前 4 个地址(60H-63H);DMA器 8237 使用了 16 个地址(0-FH)。表 2.2 中用户使用的端口地址是 300H-31FH。该段地址留给用户开发微机插板时使用,系统不占用。

19、其余地址由厂家保留使用。三、I/O 端口地址选用的原则凡是被系统配置占用了的地址一律不能使用;未被占用的地址,用户可以使用,但申明保留的地址,不要使用。用户可使用 300H31FH 地址。第三章 输入输出、中断 与 DMA 技术输入输出过程可分为:CPU 与 I/O 接口和 I/O 接口与外设两个传输阶段。接口与外设之间的数据传送方式是由外设决定的,根据外设的特点,有三种数据传送方式(p33):1.无条件传输方式:如器2.同步传输方式:接口以一确定的速率交换数据,如磁盘读写,用于中等以上数据传送速率和按规则间隔工作的外设。3.应答方式:一对 Hand Shake 信号,打印机。CPU 与 I/

20、O 接口之间的数据传送方式称为 I/O方式。常见有四种 I/O方式(p35): 1.无条件传输方式:随时可读写的2.传输方式:适用异步工作3.中断方式4.直接存取器存取(DMA)方式比较:程序中断方式是按照字节或字传输的,当外设传输率较高时,不能满足外设实时性要求。为此需要数据块传输方式,即 DMA 方式。 DMA 方式下,外设利用专门接口电路不经 CPU 直接和器进行高速数据传送,传输速度取决于外设和器速度。该方式需要利用系统总线,即向 CPU 请求总线权,由 DMA 接口电路管理完成数据传输DMA器。程序传送方式 CPU 只能循环执行程序不能进行其他工作,效率很低.另外系统中有多个工作速度

21、不同的外设,CPU 只能轮流对每个外设进行查询,显然 CPU 不能很好满足各外设随机对 CPU 提出输入输出请求的要求,不具备实时性。中断方式大大提高系统效率和实时性。但中断方式下,仍然通过 CPU 执行程序来传送数据,每进行一次传送 CPU 执行一次中断处理程序:保护断点和 PSW,保护和恢复寄存器,中断时预取指令全部作废,重新装入指令后才能执行。1.中断:中断是一个过程。它是指 CPU 在正常运行,由内部/外部(中断源)发出中断请求,CPU 停止执行现行程序,即由主程序转到为中断服务的去,服务完毕,再返回原程序断点处继续执行。这一过程称为中断。中断可以分为硬件中断: 由外部硬件产生的中断,

22、具有随机性。中断: 由程序预先安排的中断。中断的基本过程分为四个阶段: 中断请求 中断响应 中断服务 中断返回1.中断请求外设先(通过接口)发送“中断请求”信号给 CPU。CPU 检查“中断请求”输入线。CPU决定是否响应中断(中断):中断请求,即中断触发器 IF 置“1”, (使用 STI 指令开中断)。不中断申请,(用 CLI 指令)关中断 IF=0。没有获得中断被向 CPU 发出中断请求,则称为(中断)。不中断请求的情况: 如:在实时时,需请求;一段连续数据为防上数据丢失,不其他中断又:执行管理某些重要程序,CLI 指令进行。CPU 在当前指令执行结束时(INTR)/下一个*中断响应周期

23、;周期(NMI),响应中断,进入发出二个中断回答信号 INTA 完成一个中断响应周期以获得中断类型号(NMI, 软中断,特殊中断除外)CPU 响应中断之前进行断点及存如:段地址(CS),偏移地址(IP),标志 PSW 以及压入堆栈,即保护断点 。中断类型号,找到中断源;装入中断服务程序的3.中断服务地址(CS,IP) 在中断服务程序开头,将可能使用的寄存器内容进栈,即保护现场。转入中断服务程序后,其服务程序的内容有: a.与 CPU 交换数据,进行 I/O 操作;b.外部期望 CPU 给以,进行参数修改。在中断服务程序的未尾,将入栈的寄存器内出,即恢复现场。如由 8259(非自动结束),中断结

24、束后发中断结束命令(EOI)。中断服务程序最后是 IRET 指令。4.中断返回中断服务程序结束,执行中断返回指令 IRET。自动将保堆栈中的标志 PSW,断点(IP,CS)依次弹出(6 字节依次为:IP、CS、PSW)并装入 CS 和 IP 寄存器恢复程序断点。返回到中断前的地址(断点地址)开始继续执行主程序。说明:CPU 进行中断处理过程中,无论是外部 NMI 或可中断 INTR,还是由 INT 指令或 CPU 内部中断,其现场保护和断点保护工作一样,并且都需要获取中断号,通过中断号(中断号*4 作为中断指针)从中断向量表中找到中断向量,转到该向量所指向的中断服务程序.其主要区别在于获取中断

25、号的不同,使 CPU 在不同类型中断响应和处理过所差别.中断源:引起中断的外部/内部因。中断源分成以下几类:,发出中断请求的外设或引起中断的内部原(1)输入输出:如 CRT、打印机等,中断请求信号由本身发出。器发出。(2)数据通道:如磁带、磁盘等。它们的中断信号由(3)实时:不采用 CPU 延时产生时间片,用于 CPU 的装置形成各种定时信号。常用的有:MC146818 的 RTC、intel 的 8253/8254 定时器等。(4)用户程序设置的断点。(5)故障信号。出现故障时,有关故障系统向 CPU 发中断请求信号请求 CPU 处理。(6)程序出错:如溢出错误、指令等都会以中断方式通知 C

26、PU 处理。2.中断识别:CPU 响应中断后,只知道有中断请求但不知道是哪一个中断源,寻找中断源的操作过程称为中断识别。中断识别的目的:形成该中断服务程序的地址。3.CPU 识别中断的:二种:向量中断程序中断向量中断:在 CPU 响应中断后,由中断控制器将服务程序地址送到 CPU。中断:采用中断请求。技术来确定发出1.中断向量与中断向量表中断向量:中断服务程序的地址CPU 响应中断后,中断源提供中断类型号,由此可以算出中断向量地址, 其中存放着中断向量,由中断向量地址可对程序的执行进行导向,引导到中断服务去。把中断服务程序的地址,称为中断向量,中断向量中断服务程序的段基址 CS,偏址 IP 共

27、 4 个字节。中断向量表:所有的中断向量集中存放到中断向量表。器的某一区域,这一区域称之为软中断:由 格式:int n;int 指令引起的中断。n中断类型号中断号直接在指令中给出,CPU 不发中断响应信号,也不要求中断与 NMI 类似.器提供中断号,软中断:ROM-BIOS 中断和 DOS 中断两部分.ROM-BIOS 中断实现了 I/O 需参数等功能.,BIOS 实用服务程序和提供中断服务程序运行所DOS 中断提供了 DOS 系统的主要功能,:公开的 DOS中断、未公开的 DOS 专用中断、可调用中断以及系统功能调用 INT 21H 等。中断号向量地址中断向量中断向量:中断服务程序地址中断向

28、量指针: 指出中断向量存放在中断矢量表中的位置(或地址)。在 PC 系列中中断向量指针由中断类型号提供的,即向量地址=0000:类型号×4如:硬盘“1NT13H”它的向量地址=0000:13H×4=0000:004CH004CH 开始连续 4 个单元中用来存放“INT 13H”的中断向量:中断号向量地址中断向量硬盘 13H13H×4=4CH0070:0FC9004EFH 特殊中中断断00向不量是由外设申请的,也不是由 INT 指令产生由内C70 的中断向的量,图而3是.2中断0部F9向 突量指发针所引起的中断,如 CPU 执行004CH器时,就启动内部逻辑去执行预

29、过程中发现某种突发先规定的中断号所对应的中断服务程序。特殊中断是不可的,但其处理过程与软中断类似。特殊中断:0 号中断:除数为零中断1 号中断:单步中断3 号中断:断点中断4 号中断:溢出中断PC 机中断源可分为硬中断(外部中断),软中断(内部中断).硬中断是由外部提出中断申请而产生的,即来自外部的中断.它具有随机性.硬中断分为不可286 以上系统的可中断和可中断两类:硬中断由两片8259A 引入,其中断号的排列顺序是系统中可屏蔽中断源的优先级排列顺序,如下所示:1.不可中断 NMI-通常用于处理紧急/性 CPU 的 NMI 引脚上跳边沿触发,中断类型号为 2.当有多个申请 NMI 服务的外部

30、请求时,须通过 NMI 逻辑请求电路扩展。不能被 CLI 指令, 响应时间是在当前机器周期之后立即响应。CPU 不发送中断应答信号,也不需要中断器返回中断号,直接进入预定的 2 号中断,并自动启动 NMI 服务程序,在硬中断中优先级最高,使用.应用场合:RAM 奇偶校验错 PCK、I/O 通道校验错 I/O CHCK、协处理器 8087 运算错INT 。INTR 中断可以被 CPU 用指令 CLI 来号。中断响应条件:I F=1INTR=1.,由 STI.中断源向 CPU 提供中断类型中断响应时间:当前指令以后,所以,INTR 高电平信号需要一定的保持时间。CPU 有一根 INTR 请求线,可

31、通过中断器 8259 对 INTR 中断源进行扩充.中断处理的隐操作及堆栈技术的使用CPU 执行中断服务程序前后,其状态标志和程序断点的进栈和出栈,都是硬件自动完成,这些操作称隐操作。堆栈的使用1.建栈操作MOV MOV MOVAX,1050H SS,AX;将当前堆栈基址送入 SSSP,0008H;将堆栈段偏移地址送入 SP2.进栈操作(堆栈的深度:最大 64KB 空间)PUSHBX(SS:堆栈寄存器偏移地址)SP:栈PUSH AX3.退栈操作POP AX POP BX1.硬中断是由外部;先送 AX,;后送 BX 硬中断的特点:引起的中断,具有随机性和突发性。2.在中断响应周期 CPU 需发中

32、断应答信号(NMI 除外)。3.中断号由中断器提供(NMI 中断号指定为 02H)。4.是可的(NMI 中断是不可的)。软中断的特点: 1.软中断是由执行中断指令而产生,无需中断请求信号。2.软中断的发生不是随机的,而是由程序安排的。3.在中断响应周期,CPU 不发中断应答信号3.软中断的中断号在指令中直接给出,不许要中断器。4.是不可的。8259 是 Intel 公司生产的一个可编程的中断理器,其功能:1.优先级排队管根据任务的重要性或的特殊要求,分配中断源的中断等级。可对各级INTR 请求进行优先权管理,8259 具有完全嵌套,循环优先级,特定权管理方式。等多种优先2.接受和扩充外部的中断

33、请求一片 8279A 可以接受 8 个中断请求,经过级联可扩展至 8 片 8259A,实现 64 级中断。CPU 至 64 级。3.提供中断类型号只设置中断请求信号线 INTR,利用 8259A 可扩展8259A 最突出的特点是对中断服务程序地址的寻址能力,当 CPU 响应 INTR中断请求后,8259 可提供相应的中断类型码,从而使 CPU 迅速转入中断服务程序入口。4.进行中断请求的和开放对每一级中断请求进行均可依需要给予或开放。5.编程设置多种工作方式可通过编程,设置 8259 多种不同工作方式。1 、当有一条或多条中断请求引脚信号有效时(即 IR70 相应引脚为“1”)。中断请求寄存器

34、 IRR 的相应位被置为“1”。2 、若中断请求 IRi 线中至少有一个中断请求被向 CPU 的 INTR 送出中断请求信号。3 、若 CPU 处于开中状态(IF=1),则在当前指令信号,表示中断请求已被 CPU 响应。,则 8259 通过 INT 引脚后,向 8259 发回 INTA4 、 8259 接收到 CPU 发出的 INTA 信号后。将中断请求源(对应于各 IRi) 中优先权最高的对应的 ISR 位置位,然后将 IRR 中相应的 IRi 位复位。5 、 8086CPU 继续启动另一个中断响应周期,发送第二个 INTA 信号,此时 8259 向数据总线 DB70 送出 8 位的中断类型

35、码。6、CPU中断类型码 N 后,用 N*4 查中断矢量表,获取服务程序地址有息(IP和 CS 值),转入服务程序执行程序。7、中断响应周期完成后,8259 中断工作结束,被置位的 ISR 中的相应位复位,其中断方式有两种:·当 8259 工作于 AEOI 模式(自动结束方式):当 CPU 送出的 INTA 脉冲结束时,其后沿使在“4”中被置位的 IS 位复位(清零)。·非自动结束方式:在中断服务程序结束处写一中断结束命令(置 EIO 为“1”),相应 IS 位始化命令字,工作方式命令字。被复位。对 8259A 各 I/O 端口写入初从 8259A 各 I/O 端口读状态字

36、,中断类型码及字。操作是由 RD、WR信号进行,而对各端口的寻址则是由 CS 和 A0 确定的。一片 8259A 只占两个端口地址,即 8259A 只有两个I/O 端口奇数口和偶数口8259A 在 PC 机端口地址如下表所示:8259 只有两个端口,由一位 A0 确定: 1:奇数口 0:偶数口由奇/偶数端口及字中的某些特定位来确定命令字往那个 R 中送,采用特征位法或特定顺序法对端口进行寻址.8259A 的初始化命令字与操作命令字1.启动 8259 开始工作:向 8259 送入 24 个字节的初始化命令字(ICW14)2.对8259 工作方式进行设置:向 8259 送出 3 个字节的操作命令字

37、(OCW13) 启动 8259 开始工作,即向 8259 相应端口送入 24 个字节的初始化命令字ICW1 ICW4。初始化命令字顺序如下:ICW1,ICW2,ICW3,ICW48259 个初始化命令字:编程举例:在 PC 机中,硬盘中断源的类型码的高 5 位由用户或系统在 ICW2 中设定,ICW2 内容为 08H,其中断请求线与 8259 的 IR5 相连,类型 码的形成过程如下: TYPE 码高 5 位已获得:D7 D6 D5 D4 D3 D2 D1 D000用户初始化编程:001 × × ×MOV OUTAL, 08H; 21H, AL;ALALICW2

38、内容ICW2 对应端口(A0=1)则,当CPU 响应硬盘中断请求后,8259A 把IR5 的编码 101 作为中断类型码的低三位, 即 0DH,经数据总线发给 CPU ,如下图所示:CPU 响应硬盘中断请求后,8259 在 INTA2 送低3 位至ICW2 对应端口中,之后将IR5 对应101 连同ICW2 的高5 位一起送到DB7 0 上:编程举例:若主 8259 的 IR3 和 IR5 两 输入端分别连接了从 8259 8259 的 ICW3 的值为 00101000B=28H。,则有主MOVAL, 28H;主 ICW3ALOUT21H,AL;AL 主 ICW3 对应端口 A0=1.从 8

39、259 的 ICW3 的设定过程与主 ICW3 相同例如 :有主 8259 的 IR6 和 IR1 分别连接了从片 8259, 如下图所示,则 有:从片 A 的 ICW3=00000001B=01H与主片 IR1 相连从片 B 的 ICW3=00000110B=06H与主片 IR6 相连编程如下:MOVAL, 01H;OUT MOV OUT21H, AL; AL, 06H; 21H, AL;在级联,当从片中断器接收到比“正在服务”中的那一个优先等级更高的中断申请时,就被及时服务。被主控识别,就是说,从控的较高优先级的中断就不能为了解决这个问题,8259 提供了一种特定的完全嵌套方式。如果在主控

40、中采用这种方式,那么当从控收到一个更高的中断请求时,它是会被主控识别的。这种完全嵌套方式是在初始化时由 ICW4 指定的。优先权固定轮换:优先级顺序不是固定不变的,一个受到中断服务后,其优先级自动降为最低.其初始的优先级顺序为 IR0-IR7.该方式 应用于系统中多个优先级相等的场合.类似环形队列结构.优先权指定轮换:该方式与上面唯一的区别是其初始优先级不是 IR0 最高,由 程序指定.在 286 以上的 PC中采片 8259A中断系统:1. 共 15 级中断向量,采用 CAS2-0 互联,从片的 INT 联到主片的 IR2 上2. 端口地址,主片:020H-03FH,实际使用 020H 和0

41、21H 两个端口;从片:0A0H-0BFH,实际使用 0A0 和 0A1 两个端口地址3主从片的中断请求信号均采用边沿触发4采用非缓冲方式,主片 SP/EN 接V,从片 SP/EN 接方式,从片采用全嵌套方式.片采用特定全嵌套5设定主片对应的级级中断号为 8H-0FH,从片对应的级级中断号为 70H-77H由此可见,在PC/XT和PC/AT微型计算中各中断源以及中断类型码如下:优先级依次为:中断号高 5第3位中断源中断号5第3位中断源中断号高中断号7008H7019H0级,1 级,高级,最后是级.07008H实其IR00(0) IIRR11(11)先级顺序:改键IR盘Q0,IR向Q1,IRQ8

42、I0RQ701058,HIRQ3IRQ7主片:08HIR (2)0AH保留070HIR (2)72H703BH704CH保留12ICW =11H;边沿触发,多片,要 ICW40001 00012串口208IIRR3(33)ICW =08H;中断号高 5 位2070H保留ICW =04H;主片的 IR2 接到从片上 D2=1 :0000 301003串口108IR (4)070HIR (4)协处理器ICW =13H;非缓冲,特定全嵌套,自动结束方式,44416 位 CPU :0001001108HIR5(5)0DH并口2070HIR5(5)75H706EH保留从片:08IR (6)软IC盘W1=

43、11H,ICW =70H ;非缓冲,全嵌套,自动结束方式2070HIR (6)硬盘ICW3=02H,66ICW4=03H ;0000001108IR (7)0F打印机070HIR (7)77H根据硬件连接图,系统上电期间分别对 8259A 主片从片初始化程序如下:保留77;8259A 主片初始化程序INTA00 EQU 020H INTA01 EQU 021H;8259A 主片端口;8259A 从片端口MOV AL,11H INTA00,AL;ICW1:边沿触发,多片,需要 ICW4OUT JMP MOV OUT JMP MOV OUT JMP MOV OUTSHORT $+2 AL,8 IN

44、TA01,AL SHORT $+2 AL,04H INTA01,AL SHORT $+2 AL,13H INTA01,AL;I/O 端口延时要求;ICW2:中断号高位;ICW3:主片的 IR2 接从片(S2=1);ICW4:非缓冲,特定全嵌套,自;结束初始化 8259A 从片程序:INT B00:EQU 0A0H INT B01:EQU 0A1H MOV AL,11H;8259A 从片端口8259A 从片端口;ICW1,边沿触发,多片,用 ICW4OUT JMP MOV OUTINTB00,AL SHORT $+2AL,70H;ICW2:中断号高位INTB01,ALJMP MOV OUT JM

45、P MOV OUTSHORT $+2 AL,02H INTB01,AL SHORT $+2 AL,03H INTB01,AL;ICW3:从片接主片的 IR2(ID2-0=010);ICW4:非缓冲,全嵌套,位 CPU;自动结束注意:8259A 有两类编程命令:ICW 和 OCW8259A 的初始化编程和中断向量的装入一样在开始上电时,由 PC 机种系统完成不需要用户去做,否则对 PC 中断系统产生很大干扰甚至破坏对 8259A 的初始化在没有配置完善操作系统的单板微机上进行,上述例子仅提供学习参考如果在微机上开发中断程序,则不要使用 ICW1-ICW4 进行初始化,这已完成只需使用 OCW1

46、和 OCW2 进行中断OCW3 极少使用开放和发送中断结束命令在实际中,直接存贮器存取(DMA)技术Direct Memory AccessDMA 传送方式“直接器全权器存取”传送方式,即 CPU 暂时让出总线权,由 DMACDMAMemory 与 I/O 之间直接进行数据的传送。由 DMAC 提供源和目的地址、修改地址、结束以及发出信号。数据传输速度显著提高,减轻了 CPU的负担。以前由 CPU 以/中断I/O 方式进行M和I/O 之间交换数据必须经过CPU。示意图如下: 图示 DMA 的特点:以数据块为进行数据传送;以硬件取代进行传送。DMAC暂时享有总线权,由 DMAC 提供源和目的地址

47、、修改地址、结束以及发出控制信号,数据传送速度主要受 M 的存取速度限制,数据传输速度显著提高,减轻了CPU 的负担。DMA 常用于 I/O与 M 之间有大的数据块交换、且有高的速度要求的场合。如:硬盘和软盘 I/O;通信通道 I/O;多处理机和多任务块传送; CRT 扫描操作;快速等一、DMAC 在系统中的工作状态有两种工作状态: 主动态(主控器)和态(受控器)1态:未取得总线时,同于其他 I/O,受 CPU 的。这时,CPU对 DMAC 进行初始化操作或从 DMAC状态。2主动态:接管并取得总线权,取代 CPU 而成为系统的主控者。DMAC 通过三总线向 M 或 I/O 发出地址码及读/写

48、信号,以M和 I/O之间的数据传送。二、DMAC 工作前 CPU 必须对其进行初始化,初始化操作内容通道的选择DMA 的操作类型及方式内存首地址地址递增/递减需要传送的字节数等方面。3总线权的转移: DMA 在主动态时接受 CPU 对总线的一.DMAC 的功能权。DMA 传送是在没有 CPU 参与下进行的,具有如下功能:1.总线功能.2.具有提供交换数据所需地址的地址寄存器。3.具有数据块长度寄存器。4.具有编程寄存器和状态寄存器。二.DMA 操作方式指每次 DMA 操作时,DMAC 所操作的字节数.1. 单字节方式:每次DMA 操作只传送1 个字节.该方式下每传送一个字节DMAC 重新向CP

49、U 申请占用总线.2. 连续传送方式:在数据块传送过程中,DMAC 始终占用总线,直到数据传送/校验/检索结束为止.3. 请求方式:以外部是否有DMA 请求来决定,有请求时占用总线,当DMA 请求无效或数据传送/校验/检索结束,或由外部送来 EOP 信号,DMAC CPU.三.DMA 传送的特点总线,把总线权交给DMA 传送的源地址可以是 M 或 I/O 端口,目的地址也可以是 M 或 I/O 端口。因此,数据可以在四.DMA 操作类型:器之间、I/O 端口之间、器与 I/O 端口之间进行。1.数据传送:源地址与目的地址之间数据传送.DMA 传送的读写操作以器而不是 I/O 为准.如 DMA

50、读是指从器读,DMA 写是向器写.2.数据校验:不进行数据传送,只对数据块内每个字节进行某种校验.因此,DMA通道用于数据校验时 DMAC 不发送了数据传送与数据校验两个阶段.器或 I/O 读写信号.如硬盘存盘操作3.数据检索:在指定的内存区域内对某个关键字查找DMAC 可以只检索,只传送,或传送检索兼而有之等方式工作。8237 是 Intel 公司的可编程 DMA器,其主要性能参数如下:1、8237 有 4 个的数据传送通道,每个通道 64KB寻址及计数能力,还可通过级联方式进行通道扩充。2、可接收 CPU 对其进行的初始化操作,输入命令字和传送参数,以实现级联和多种模式的操作。DMAC 可

51、向 CPU 提供状态。3、能接收从外设发来的 DMA 请求信号 DREQ,并向 CPU 发总线请求信号 HRQ,亦能接收 CPU 回送的,让出总线信 DACK30。权的回答 HLDA 。此时,DMAC 向外设发出对 DMA 应答注意 :系统多个 DREQ 信号同时有效,即可以几个 I/O 同时提出申请。但同一个时间,只能有一个 DACK 信号有效,即与中断不同,不能进行 DMA 嵌套。4、I/O与 M、M 与 M 之间直接传送数据,传输速率为 1·5MB/S。8237 内部结构(书 P60):由:定时与命令与优先级逻辑逻辑逻辑寄存器组地址/数据DMA 内部寄存器有三种情况: 1.四个

52、通道共有的寄存器如:(命令)寄存器、状态寄存器、暂存寄存器等。2.每个通道内各有一组寄存器8237 有 4 个的通道,每个通道由 5 个寄存器组成,如:工作方式寄存器、地址初值寄存器、地址计数器、字节初值寄存器、字节数计数器等。3.每个通道一位,四个通道四位组,有:DMA 请求寄存器和 DMA一个寄存器,为它分配一个端口地址以便 CPU 寄存器。通过对这些 R 的初始化编程,可设定 8237 的3 种 DMA 操作类型3 种 DMA 操作方式2 种工作时序2 种优先权排队自动予置传送地址和字节数M 与 M 之间的数据传送。看 8237 封装图时注意,其引脚信号的功能,它们分为以下几类:(1)I/O的请求信号 DREQ03,由 I/O 向 DMAC发出,DREQ0 优先级最高。(2) DMA 回答 I/O 的信号 DACK03,由 DMAC 应答I/O 的请求(3) 总

温馨提示

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

评论

0/150

提交评论