《汇编语言复习题》PPT课件.ppt

上传人:xin****828 文档编号:6787326 上传时间:2020-03-04 格式:PPT 页数:81 大小:1.58MB
返回 下载 相关 举报
《汇编语言复习题》PPT课件.ppt_第1页
第1页 / 共81页
《汇编语言复习题》PPT课件.ppt_第2页
第2页 / 共81页
《汇编语言复习题》PPT课件.ppt_第3页
第3页 / 共81页
点击查看更多>>
资源描述
1 2 1带符号数的编码 表1 4三种不同码制的十进制真值 返回目录 1 3 3高级语言 高级语言主要是相对于汇编语言而言 它是较接近自然语言和数学公式的形式编程 基本脱离了机器的硬件系统 用人们更易于理解的方式编写程序 高级语言并不是特指某一种具体的语言 而是包括了很多编程语言 如目前流行的VB VC FoxPro Delphi等 这些语言的语法 命令格式都各不相同 高级语言所编制的程序不能直接被计算机识别 必须经过转换才能被执行 按转换方式可将它们分为两类 返回目录 1 3 1机器语言 3 伪指令伪指令就是向汇编程序提供如何进行汇编工作的命令 也叫汇编控制命令 伪指令没有对应的机器指令 汇编时不产生机器码 4 汇编语言汇编指令 伪指令 宏指令和汇编程序一起组成了汇编语言 汇编语言直接面向机器 用汇编语言编制的程序简洁 快速 常用于对运行速度要求较高的实时控制等场合 用汇编语言编制的用户程序称为汇编语言源程序 汇编语言的实质和机器语言是相同的 都是直接对硬件操作 但指令采用了英文缩写的标识符 更容易识别和记忆 而其所占用的存储空间和执行速度与机器语言相仿 返回目录 1 3 2汇编语言 1 汇编指令汇编指令是用助记符号表示的机器指令 它与机器指令一一对应 2 汇编程序计算机不能直接识别汇编指令 要让机器接受汇编指令还需要有一个将汇编指令翻译为机器指令的过程 这个过程称为汇编 汇编程序就是把汇编语言源程序翻译成机器语言程序的一种系统软件 IBMPC机中的汇编程序有ASM和MASM两种 ASM称为小汇编程序 它只需较小的存储区 MASM称为宏汇编程序 它需要的存储区较大 但功能较强 且具有宏汇编能力 ASM则不具备这种能力 返回目录 1 3 1机器语言 1 机器指令机器指令是指挥计算机完成某一基本操作的命令 由硬件电路设计决定的 因而也叫做硬指令 机器指令是由一组能为计算机所接受的0和1组成的二进制代码 机器指令由操作码和地址码组成 规定了要求计算机完成的操作及其操作的对象 数据或存储单元地址 2 指令系统每台计算机所具有的特有的 全部指令的集合构成该CPU的指令系统 不同的CPU具有不同的指令系统 3 机器语言程序机器指令的集合构成了机器语言 用机器语言编写的程序就是机器语言程序 计算机所能识别的语言只有机器语言 但机器语言非常难于记忆和识别通常人们编程时 不采用机器语言 而采用汇编语言和高级语言 返回目录 1 3计算机语言 1 3 1机器语言1 3 2汇编语言1 3 3高级语言 返回目录 系统总线 总线是指传递信息的一组公用导线总线是传送信息的公共通道微机系统采用总线结构连接系统功能部件总线信号可分成三组地址总线AB 传送地址信息数据总线DB 传送数据信息控制总线CB 传送控制信息 Intel80 x86CPU的地址线条数 Intel80 x86地址条数存储容量8086201MB8088201MB802862416MB80386 Pentium4324GB 返回 Intel80 x86CPU的数据线条数 Intel80 x86数据位数80861680888802861680386 Pentium432 返回 程序预先存放在计算机的存储器中 计算机按程序的流程自动地连续取出指令并执行之 为实现自动连续地执行程序 控制器设置一程序计数器PC 它可根据指令的长度自动增量 总是指向下一条指令 只要给出程序中第一条指令的地址 控制器就可依据存储程序中的指令顺序周而复始地取指令 译码 执行 直到完成全部指令操作为止 即控制器通过指令流的串行驱动实现程序控制 2 4 1冯 诺依曼存储程序工作原理 程序 指令1 指令2 指令3 指令4 指令n 取指令 指令译码 取操作数 执行指令 存结果 指令周期 操作码 操作数 执行 2 4 2微型计算机的工作过程 指令执行过程 取指令 指令译码 取操作数 执行指令 存结果 问题 1 CPU如何知道从哪里取出程序的第一条指令 操作系统2 CPU如何按程序控制流执行指令 程序计数器3 CPU如何知道从哪里取操作数 地址 寻址方式 汇编语言与机器语言的关系 1 28086微处理器内部结构组成 图3 18086CPU内部结构框图 1 38086CPU的寄存器结构 8086CPU中可供编程使用的有14个16位寄存器 按其用途可分为3类 通用寄存器 段寄存器 指针和标志寄存器 如所示 累加器 AH AL BH BL CL DH DL CH SP SI DI IP FLAGS CS DS SS ES BP 基址寄存器 计数寄存器 数据寄存器 堆栈指针寄存器 基址指针寄存器 源变址寄存器 目的变址寄存器 指令指针寄存器 标志寄存器 代码段寄存器 段寄存器 附加段寄存器 堆栈段寄存器 数据寄存器 地址指针和 变址寄存器 控制寄存器 通用寄存器 数据段寄存器 8086CPU内部寄存器结构 AXBXCXDX 2 控制标志 控制标志是用来控制CPU的工作方式或工作状态 TF 陷阱标志或单步操作标志 IF 中断允许标志DF 方向标志3 段寄存器8086CPU共有4个16位的段寄存器 用来存放每一个逻辑段的段起始地址 1 代码段寄存器CS 2 数据段寄存器DS 3 堆栈段寄存器SS 4 附加段寄存器ES 标志寄存器 FLAGS PSW 1514131211109876543210 条件码标志 控制标志 OF溢出标志DF方向标志SF符号标志IF中断标志ZF零标志TF陷阱标志CF进位标志AF辅助进位标志PF奇偶标志 OFDFIFTFSFZFAFPFCF 例 ADDAX BXJO JCERROR 表1通用寄存器的特定用法 1 通用寄存器通用寄存器分为数据寄存器与指针和变址寄存器两组 数据寄存器包括4个16位的寄存器AX BX CX和DX 一般用来存放16位数据 故称为数据寄存器 其中的每一个又可根据需要将高8位和低8位分成独立的两个8位寄存器来使用 即AH BH CH DH和AL BL CL DL两组 用于存放8位数据 它们均可独立寻址 独立使用 指针和变址寄存器包括指针寄存器SP BP和变址寄存器SI DI 都是16位寄存器 一般用来存放地址的偏移量 这8个16位通用寄存器都具有通用性 从而提高了指令系统的灵活性 但在有些指令中 这些通用寄存器还各自有特定的用法 见下表 物理地址8088 20根地址线 可寻址220 1MB 个存储单元CPU送到AB上的20位的地址称为物理地址 1 48086CPU的存储器组织一 存储器寻址 3 逻辑地址 LA 和物理地址 PA 物理地址 就是存储器的实际地址 它是指CPU和存储器进行数据交换时所使用的地址 20位 逻辑地址 是在程序中使用的地址 它由段地址和偏移地址两部分组成 16位 逻辑地址的表示形式为 段地址 偏移地址 物理地址 段地址 10H 偏移地址4 专用和保留的存储器单元 指令的组成 指令由操作码和操作数两部分组成操作码说明计算机要执行的操作 不可缺少操作数是指令中的操作对象 指令中的操作数的来源 要么是某个具体数值要么是某个寄存器要么是内存中某个存储单元 22 38 指令系统 重点 一组指令的集合 第3章微机指令系统 指令 寻址方式 重点 与数据有关的寻址方式与转移地址有关的寻址方式 传送指令 MOVDST SRC执行操作 DST SRC 注意 DST SRC不能同时为段寄存器MOVDS ES 立即数不能直接送段寄存器MOVDS 2000H DST不能是立即数和CS DST SRC不能同时为存储器寻址 不影响标志位 通用数据传送指令 MOVAX DSEGMOVDS AX 指令 左移4位 完成上图的填空 其中 BP 105H DS 1000H SS 2000H 20105H 3355H 10105H 1A34H 执行指令后 AX的值为多少 例2 MOVAX BP 25 38 寻址方式小结 MOVAX 0020HMOVAX BXMOVAX 0020H 或MOVAX BUFMOVAX BX MOVAX BX 0030H MOVAX BX DI MOVAX BX DI 0030H 26 38 立即寻址 寄存器寻址 直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 相对基址加变址寻址 注意 不影响标志位 前256个端口号00H FFH可直接在指令中指定 长格式 如果端口号 256 端口号 DX 短格式 例 INAX 28HMOVDATA WORD AX例 MOVDX 3FCHINAX DX例 OUT5 AL例 测试某状态寄存器 端口号27H 的第2位是否为1INAL 27HTESTAL 00000100BJNZERROR 若第2位为1 转ERROR处理 例1 指出下列指令的错误 MOVAH BX MOV BX SI 数类型不匹配 MOVAX SI DI 存贮器之间不能传数据 MOVMYDATA BX DI ES AX SI DI不能同时用于源或目的 MOVBYTEPTR BX 1000 ES段内无AX 数类型不匹配 MOVCS AX MOVDS BP CS不能随意改变 MOVAL DX DS不能从基值寄存器送入 MOVAX BX BP BX BP不能同时用于源或目的 DX不能作为存贮器操作数表达式 例 屏蔽AL的第0 1两位ANDAL 0FCH例 置AL的第5位为1ORAL 20H例 使AL的第0 1位变反XORAL 3例 测试某些位是0是1TESTAL 1JZEVEN OR00100000 1 01XOR00000011 10 AND11111100 00 AND000000010000000 1 8086的寻址方式 与数据有关的寻址方式 以MOV指令为例立即寻址MOVAX 3069H寄存器寻址MOVAL BH直接寻址MOVAX 2000H 寄存器间接寻址MOVAX BX 寄存器相对寻址MOVAX COUNT SI 基址变址寻址MOVAX BP DI 相对基址变址寻址MOVAX MASK BX SI 存储器寻址 例 双精度数的加法 DX 0002H AX 0F365H BX 0005H CX 8100H指令序列ADDAX CX 1 ADCDX BX 2 1 执行后 AX 7465HCF 1OF 1SF 0ZF 0 2 执行后 DX 0008HCF 0OF 0SF 0ZF 0 数据定义及存储器分配伪操作 变量 助记符操作数 操作数 注释 助记符 DBDWDDDFDQDT DATA BYTEDB10 4 10H DATA WORDDW100 100H 5 DATA BYTE DATA WORD 例 ARRAYDB HELLO DB AB DW AB ARRAY VARDB100DUP TABLEDB2DUP 0 2DUP 1 2 3 请画出数据初始化的示意图 3 汇编语言程序格式 标号指令寄存器说明程序或语句变量伪指令标号的功能宏指令变量常数表达式 源程序的每条语句可表示为 名字 操作操作数 注释 标号 变量 段值 偏移量 类型三种属性表达式 数字表达式地址表达式 ARRAYDW1 2 3 4 5 6 7ARYENDDW MOVCX ARYEND ARRAY 2 ADDAX BLOCK 2 符号地址 常数有意义 时意义不明确MOVAX BX 1 MOVAX BX 1 寄存器间接寻址 汇编后结果为ANDAX 1 INAL PORT VAL 61HOUTPORT VALAND0FEH AL 60H MOVAX 0FFFFHSHL2 汇编后结果为 MOVAX 0FFFCH ARRAYDW100DUP TABLEDB ABCD ADDSI TYPEARRAY ADDSI 2ADDSI TYPETABLE ADDSI 1MOVCX LENGTHARRAY MOVCX 100MOVCX LENGTHTABLE MOVCX 1MOVCX SIZEARRAY MOVCX 200MOVCX SIZETABLE MOVCX 1 指令汇编后结果为 例 求首地址为ARRAY的M个字之和 结果存入TOTAL MOVCX MMOVAX 0MOVSI AXAGAIN ADDAX ARRAY SI ADDSI 2LOOPAGAINMOVTOTAL AX 例 设有一个数组array1 含有20个无符号字元素 要找出数组中值最大的元素 并把它送到max单元中 datasegsegmentArray1dw20dup Maxdw DatasegendsStacksegmentstackdw200dup StackendscodesegsegmentAssumecs codeseg ds dataseg ss stackstart movax datasegmovds axsubax axmovbx axmovax array1 bx movcx 19loop1 addbx 2cmpax array1 bx jgenextmovax array1 bx Next deccxjnzloop1movmax axmovah 4chint21hCodesegendsendstart 第七章存储系统 存储器分类 按构成存储器的器件和存储介质分类半导体存储器 磁介质存储器 光存储器2按存取方式分类顺序访问 随机访问存储器3按在计算机中的作用分类主存 外存 7 1概述 目前的计算机中 一般用半导体存储器作为主存储器 简称主存或内存 存放当前正在执行的程序和数据 而用磁盘 磁带 光盘作为外存储器或辅助存储器 简称外存或辅存 存放当前不在运行的大量程序和数据 半导体存储器可随机访问任一单元 而辅助存储器一般为串行访问存储器 读写该存储器内容时 需要顺序地一位一位地进行 访问指定信息所需时间与信息所在位置有关 串行存储器又可分成顺序存取存储器和直接存取存储器 例如 磁带上的信息以顺序的方式存储在带上 读 写时要待磁带移动到合适位置后才能顺序读 写 需要耗费较多时间 称为顺序存取存储器 而磁盘存储器对信息的存取包括两个操作 磁头直接移动到信息所在区域 磁道 从该磁道的合适位置开始顺序读 写 比磁带要快得多 是直接存取存储器 二 存储系统1 存储系统 把各种不同存储容量 不同存取速度的存储器 按一定的体系结构组织起来 使得存放的程序和数据按层次分布在各存储器中所形成的一个整体 三级存储系统 2存储系统的层次 图7 1三层次存储系统 四半导体存储器的组成与控制 1存储容量扩展 4168 8148 8128 1 位扩展 3 字位扩展 2 字扩展 第一片地址 0000 3FFF第二片地址 4000 7FFF第三片地址 8000 BFFF第四片地址 C000 FFFF 6 38255A可编程并行接口芯片 返回目录 8255A是Intel公司生产的通用8位并行输入 输出接口芯片 由于它是可编程的 所以在许多的场合下8255A使用相当灵活 并很容易实现并行接口 通用性很强 6 3 18255A引脚介绍6 3 2内部结构6 3 3工作方式控制字6 3 4三种工作方式6 3 58255A编程 6 3 2内部结构 返回目录 8255A内部结构框图如图6 13所示 它有如下几部分组成 6 3 18255A引脚介绍 D0 D7 数据线 三态双向8位缓冲器 用来读写数据和写控制字 PA0 PA7 A口8位数据输入锁存器和8位数据输出锁存器 缓冲器 PB0 PB7 B口8位输入锁存器和8位数据输出锁存器 缓冲器 PC0 PC7 C口8位输入锁存器和8位数据输出锁存器 缓冲器 片选信号 低电平有效 为低电平时 8255A才工作 写控制信号 低电平有效 为低电平时 允许CPU通过8255A输出数据 读控制信号 低电平有效 为低电平时 允许CPU通过8255A输入数据 返回目录 6 3 2内部结构 1 数据总线缓冲器该缓冲器宽度为8位 双向 三态的缓冲器 直接挂接在PC机8位数据总线D7 D0上 8255A编程时的各种命令字 或被读取的状态字也是通过该数据总线缓冲器传送的 2 读写控制逻辑CPU通过输入和输出指令 将地址信息和控制信息送至该部件 使其向A组B组发出控制信号 3 A组和B组控制部件A组控制部件 控制A口及C口的高4位 B组部件控制 控制B口及C口的低四位 这两组控制部件接受读写控制逻辑来的命令 从数据总线接收控制字 向相应的端口发出命令 以控制其动作 返回目录 6 3 2内部结构 4 数据端口A B C8255A的三个8位数据端口 A口具有输出锁存器 缓冲器和输入缓冲器 在方式2下输入输出均锁存 B口具有输出锁存器 缓冲器和输入缓冲器 C口具有输出锁存器 缓冲器和输入缓冲器 C口除做为输入和输出口外 还可做控制口 C口的高四位PC7 PC4配合A口工作 C口的低位PC3 PC0配合B口工作 它们分别用于输出控制信号和输入状态信号 具体情况在工作方式描述中介绍 返回目录 6 3 3工作方式控制字 返回目录 8255A芯片有三种工作方式 方式0 基本输入输出方式 方式1 选通输入输出方式 方式2 选通双向输入 输出方式可通过对芯片的编程来指定各端口的工作方式 也就是对8255A芯片内的控制寄存器装入不同的控制字 以决定其工作方式 1 控制字控制字的格式如图6 14所示 7 1 2数据通信方式 串行通信中 数据通常是在两个站 如终端和微机 之间进行传送 按照同一时刻数据流的方向可分成三种基本传送模式 这就是全双工 半双工和单工传送 如图7 1所示 返回目录 7 1 5传输速率与传送距离 通信线上所传输的字符数据是按位传送的 一个字符由若干位组成 因此每秒钟所传输的字符数 即字符速率 和波特率是两个概念 在串行通信中 所说的传输速率是指波特率 而不是指字符速率 两者的关系是 假如在某异步串行通信中 通信格式为1个起始位 8个数据位 1个偶数位 2个停止位 若传输速率是1200波特 那么 每秒所能传送的字符数是1200 1 8 1 2 100个 返回目录 7 1 4信息的校验方式 1 奇偶校验 Paritycheck 采用这种校验方式发送时 在每个字符的数据最高有效位之后都附加一个奇偶校验位 这个校验位可为 1 或为 0 以便保证整个字符 包括校验位 中 1 的个数为偶数 偶校验 或为奇数 奇校验 接收时 接收方采用与发送方相同的通信格式 使用同样的奇偶校验 对接收到的每个字符进行校验 例如 发送按偶校验产生校验位 接收也必须按偶校验进行校验 当发现接收到的字符中 1 的个数不为偶数时 便认为出现了奇偶校验错 接收器可向CPU发出中断请求 或使状态寄存器相应位置位供CPU查询 以便进行出错处理 返回目录 习题与思考题七 利用一个异步传输系统传送文字资料 传输率为2400BPS 资料约1000个汉字 传输时采用数据有效位8位 停止位1位 无校验位 问至少需要多长时间才能把全部资料传完 返回目录 8 3 38253 5的内部结构 8253 5的内部结构如图8 2所示 从内部结构如图可看8253 5主要由以下几部分组成 返回目录 习题与思考题八 2 让一个8253 5的计数器3工作在单稳态方式 让它产生脉冲宽度为15ms 设输入频率为2MHz 返回目录 习题与思考题八 1 设一个计数器0能产生10s的定时信号 设它的地址为2F0 2F3H CLK0为1000Hz 计数初值是多少 试对它进行初始化编程 返回目录 8 48253 5应用举例 定时器0 N fclk0 fout0 250000 500 500化为十六进制为01F4H 定时器1 N fclk1 fout1 500 50 10化成16进制为0AH 返回目录 8 48253 5应用举例 2 计算计数初值若8253的定时器工作在方式2或方式3 实际上相当于分频器 即OUT端的输出信号频率是由CLK端的信号频率经定时器分频得到的 而分频系数就是从计数初值开始减到1时所计的时钟周期数 那么 计数初值N就是定时器的分频系数所对应的数字 存在如下关系式 计数初值 分频系数 fclk fout由于题目中未指定计数格式 所以可以规定二进数 也可以规定BCD码计数 实际上是十进数 两种情况下的满度值不同 这里选择按二进制计数 其满度值为216 1 现在来计算本例中定时器0和定时器1的计数初值 返回目录 8 3 48253 5方式控制字 作为一个可编程的定时 计数器 它的全部工作特点都由方式控制来确定 并由CPU向8253 5写操作 即将方式控制字写入控制寄存器 芯片的三个计数器是独立的 但写入方式控制字的地址只有一个 A1A0 11 所以就要在控制字内指出本次写入的方式控制字是属于哪一个计数器的 然后再考虑对哪个通道的操作或工作方式的指定 8253 5方式控制字的格式如图8 4所示 返回目录 8 3 38253 5的内部结构 3 控制字寄存器接收数据总线缓冲器的信息 若是写入的是控制字 则用来控制计数器的工作方式 若是数据 则装入计数器作为计数初值 该寄存器是8位的 而它只能写不能读 4 计数器8253 5的3个计数器是相互独立的 而且内部结构完全相同 计数器是16位减法计数器 每个计数器中都有一个时钟输入端CLK和门控输入GATE 一个输出OUT 计数器的计数方式可以是二进制或十进制 当装入计数初值后 从计数器的输入端接收时钟脉冲或事件计数脉冲 计数值在时钟脉冲的下降沿开始改变 门控制可送控制或复位信号 当计数值减到零时 由输出端送出标志信号 在每个计数器的内部 有计数寄存器 锁存器 它们都是16位寄存器 也可以作为8位寄存器来用 在计数器工作时 给计数器送初值并减1计数 锁存器用来锁存计数器执行减1后的内容 该内容可以由CPU进行读操作 计数器内部结构图如图8 3所示 返回目录 9 1 4CPU与外设之间传送数据的方式 1无条件传送2查询传送3中断传送4直接存储器传送 DMA 5通道方式6外围处理机方式 PPU 9 1 4中断矢量 向量 表 每个中断源都对应一个中断处理程序 每个中断处理程序的起始地址称为中断入口地址 系统将各个中断处理程序的入口地址放在一起形成一个地址表 称为中断矢量 向量 表 中断指令 类型0的 IP 类型0的 CS 类型1的 IP 类型1的 CS 类型N的 IP 类型N的 CS 类型255的 IP 类型255的 CS 00000 00004 4 N 003FC 中断向量表 9 1 4 8259A是专门为了对8085A和8086 8088进行中断控制而设计的芯片 它是可以用程序控制的中断控制器 单个的8259A能管理8级向量优先级中断 在不增加其他电路的情况下 最多可以级联成64级的向量优级中断系统 8259A有多种工作方式 能用于各种系统 各种工作方式的设定是在初始化时通过软件进行的 在总线控制器的控制下 8259A芯片可以处于编程状态和操作状态 编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态 可屏蔽中断 Intel8088 A8 A14 A15 AD0 AD7 A16 S3 A19 S6 可屏蔽中断请求 INTR 输入 高电平触发 Pin 18中断允许标志可屏蔽中断请求 总线周期的最后一个时钟周期检测INTR 可以通过8259扩充中断源 CLK NMI INTR 9 2 1级连电路连接方法 10 1DMA技术概述 DMA是 直接存储器存取 的英文缩写 它为高速I O设备与读写存储器之间进行批量数据交换提供直接的传输通道 在传输过程中 CPU不再干预 而是由一个硬件逻辑DMA控制器负责管理 但并不是CPU根本与DMA传送方式无关 恰恰相反 在DMA方式的三个阶段 请求 响应及结束 都需要CPU参与 只是传输期间CPU处于等待状态 10 1 1基本概念10 1 2DMA控制器 返回目录 10 1 1基本概念 1 DMA概念在外设与计算机之间传输信息 数据 可以用程序控制和中断控制的方法 其基本过程都是由CPU执行指令来完成的 DMA传送是一种让数据在外设和内存之间直接传送的方式 它与前两种方法一起 构成了计算机的三种传送方式 这种传送方式的基本特点是没有CPU参与数据传送 在DMA传送期间 CPU停止工作 把总线控制权让出来 在DMA控制器的管理下 提供给外设和内存使用 提出DMA传送的原因在于解决传送的速度问题 前两种方式每传送一个字节都需要耗用比较长的时间 在外设不断改进的情况下 一些外设产生或获取数据的速度大大加快 如果计算机的传送速度太慢就会使传送出错 或者传送效率降低 比如 常用的几种软盘机 它们的传输速度都在250KB S以上 而硬磁盘机记录密度比软盘高将近一倍 转动速度提高了10倍 它的数据速度应是软盘的十几倍 这样 如还用这种办法传送 就不能满足外设的需求了 这样就提出了DMA传送的问题 解决问题的办法是省去传输中间环节 直接在外设和内存间存取 返回目录 10 1 2DMA控制器 2 DMA控制器的功能从上面的过程中可以看出 完成DMA传输的关键在于DMA控制器 所设计的DMA控制器应该完成些什么功能呢 1 能够响应外设的DMA请求 使CPU暂停工作 接管总线控制权 2 能够按节拍提供外设和存储器工作的各种信号 3 提供存储器地址 4 应是可编程的 使之能灵活运用 DMA控制器也已经集成在一个大规模集成电路上 其复杂程度不亚于一个CPU 它总是被设计成可编程的 所以在编程时它又是CPU的一个I O设备 返回目录 10 1 2DMA控制器 返回目录 外设与系统总线之间只进行数据总线的连接 它的工作与否受到DMAC的控制 DMAC的连接比较复杂 一方面它要与外设连接 接受DMA请求和控制外设动作 另外它还要与CPU联系 请求取得总线控制权 最后它还必须与系统总线上各种总线相接 进行总线的控制 为了理解这样连接的必要性 下面说明一种典型的DMA操作过程 1 外设提出DMA传送请求由外设或外设控制电路向DMA控制器送出一电平信号 DREQ 表示请求进行一次DMA传送 2 DMA控制器响应请求DMA控制器接到请求后 经控制电路向CPU提出保持 HOLD 请求 并等待CPU的回答 如果控制器接有多个DMA设备 它要对各设备的请求进行排队 选择优先级别最高的请求输出 作为向CPU发出的保持请求 10 1 2DMA控制器 3 CPU响应CPU在每个时钟上升沿都检测有无HOLD请求 若有此请求 且自身正处在总线空闲周期中 CPU就立即响应保持请求 如果CPU正在执行某个总线周期 那么要到这个总线周期结束后再响应此保持请求 CPU对保持请求有两个动作 一是从HLDA引脚端送出一个响应信号 告诉DMA控制器可以开始占用总线 第二个是将CPU与总线相连接的引脚置为高阻态 即释放了总线 4 DMA控制器的动作DMA控制器在收到HLDA回答后 即开始对直接存储器存取的过程控制 它向外设送出DACK作为对DMA请求的响应 同时也作为外设的数据选通 还向系统总线送出控制信号和地址信号 以选择合适的存储单元 在一次DMA结束后 控制器撤除HOLD信号 CPU也消除HLDA 并重新开始对总线的使用 返回目录 12 1概述 所谓总线 就是指计算机中多个部件之间公用的一组连线 这个定义应该着重强调的是 多个部件 和 公用 的概念 也就是说如果只是两个部件之间的专用连线就不能叫总线 12 1 1总线的类别12 1 2总线的优点 返回目录 12 1 1总线的类别 1 按总线所在位置分类 可以把总线分为外部总线 内部总线和片内总线三大类 片内总线 就是连接集成电路芯片内部各功能单元的信息通路 内部总线 又称系统总线或微型计算机总线 用于微机系统内各模块之间的通信 是微型计算机的重要组成部分 常见的系统总线标准有ISA EISA FUTUREBUS总线等 外部总线 又称通信总线 它是微机与微机 微机与其它仪器仪表或设备之间的连线 一般来说 外部系统和设备与微机系统的通信联系 可以采用并行方式或串行方式来实现 因此 外部总线既有并行总线 也有串行总线 外部总线的数据传输速率通常较低 常见的外部总线标准有RS 232 IEEE 488 SCSI Centronics总线等 返回目录 12 1 1总线的类别 2 按信息传送形式分类 总线可以分为并行总线和串行总线 并行总线 计算机中的信息一般都是由多位二进制码表示的 传输这些信息时 可以让它们固定的占用多条线 即用多条线同时传送所有二进制位 并行总线内各条连线之间实行有序排列 并实行统一编号 这样做对于一个连接多个部件的总线来说 可以起到防止差错的作用 此类总线利用空间实现全部信息的一次传输 虽然可使系统的结构比较复杂 但是换来了信息的快速传输 这个优点在处理机速度不断提高的今天具有十分重要的意义 返回目录
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!