文档详情

北京邮电大学微机原理与接口技术第二章微处理器与系统结构.pdf

发布:2017-09-17约3.3万字共98页下载文档
文本预览下载声明
第二章 微处理器与系统结构 2.1 微处理器的基本结构 目前市场上有各种各样的微处理器。一般来说, 其内部基本结构大都由算术逻辑单元、寄存器阵列、 控制单元、总线和总线缓冲器四个部分组成。 高性能微处理器内部还有指令预取部件、地址形 成部件、指令译码部件和存储器管理部件等。 待后面各节内容学完后再来自学这节内容。 2.2 Intel 8086微处理器 8086单片微处理器芯片 内外数据总线16位,对外40 条引脚。主时钟8086为5MHz、 8086-2为8MHz、8086-1为 10MHz。 20条地址引脚,直接寻 址220=1MByte,可访问64K 个I/O端口。具有24种寻址 方式,可以对字节、字、字 符串、字串、组合的和未组 合的BCD码、ASCII码等多种 数据类型进行处理。 2.2.1 8086的寄存器结构 8086CPU 内有四 组寄存器: 第一组是通用寄存器 组,用来存放数据和运 算的中间结果; 第二组是指针和变址 寄存器组,用来在存储 器的规定段中给出地址 偏移量; 第三组是段寄存器, 提供现行可寻址存储器 的段基地址; 第四组是控制寄存器。 1、通用寄存器 为了提高8086的运算速度,其内部设置了4个16位 的通用奇存器AX ,BX,CX,DX。每个寄存器既可以 作为一个16位寄存器使用,也可以分别作为两个8位寄 存器使用。 低8位寄存器名分别为AL ,BL,CL和DL,高8位 寄存器名分别为AH ,BH,CH和DH。这些寄存器的双 重性使得8086很容易处理字节和字数据。 通常,这4个16位通用寄存器都可以作累加器使用, 用于暂存16位的操作数,其中AX为主累加器。它们的 内容既可以用作算术逻辑运算的源操作数,也可用作目 的操作数。 虽然是通用寄存器,但在执行不同的指令时,也有 专门的用途。表2.1列出了8086通用寄存器的专门用法。 2、指针和变址寄存器 8086的指针和变 址寄存器由4个16位 的寄存器SP、BP、 SI和DI组成。这些寄存器通常存放的内容是在某一个 段内的偏移量。 两个指针寄存器SP与BP用于访问堆栈段中的数据。 在16位算术逻辑运算中,它们也可作为操作数使用。 SP (Stack Pointer)称为堆栈指针,它指示当前堆 栈栈顶的地址的偏移量,在存储器寻址中,凡涉及到 SP寄存器则使用寄存器SS作为段寄存器。 BP (Base Pointer)称为基址指针,它用来指示现行 堆栈段的一个数据区的 “基址”偏移量,这个寄存器主 要用来访问堆栈段中的数据。 两个变址寄存器SI与DI用于访问数据存储器中的数 据。这些寄存器广泛地用于字符串操作。 串操作指令经常要求一个源操作数和一个目的操作 数,源操作数的地址偏移量放在SI中,目的操作数的地 址偏移量放在DI中,所以SI与DI分别称作源变址寄存器 和目的变址寄存器。 SI和DI对应的段地址寄存器分别为DS与ES,在使用 串操作指令时不能混淆。 SI与DI也可以在所有16位算术逻辑运算中作为操作 数使用。 3、段寄存器 8086 中有4个16位段 寄存器。 每个段寄存器在8086存储器寻址空间中规定了64KB 的存储器块。该64KB存储器块叫做段寄存器的当前段。 CS (Code Segment )称作代码段寄存器。在每 条指令的取指期间,指令指针IP的内容加上CS寄存器 (左移4位)的内容作为被取的指令所在的存储器地址。 例如,如果CS=11DAH,而IP=0100H,则将要取出 的指令在内存11EA0H单元。因为: DS (Data Segment ) 称作数据段寄存器。对数据存 储器的访问都是相对于数据段寄存器。有三个例外:  利用SP计算堆栈地址;  使用BP计算数据存储器地址,均是相对于堆栈;  字符串操作(使用DI计算地址)均是相对于附加段。 SS (Stack Segment ) 叫做堆栈段寄存器。在地址 计算中使用SP或BP访问所有的数据存储器均是相对于 SS段寄存器。因此所有面向堆栈的指令 (例如PUSH、 POP,CALL、INT)均
显示全部
相似文档