
第02章 微型计算机结构(2)幻灯片资料.ppt
32页汇编语言程序设计,第三章 微型计算机的结构,理论:4 学时,汇编语言,第三章 微型计算机的结构,,,3.1,微型处理机的结构,,,3.2,存储器,,,寻址方式,3.3,,,3.1.1 8086/8088微处理机的结构,,,3.1,微型处理机的结构,第三章 微型计算机的结构,1、执行部件EU 算术逻辑部件 寄存器组 标志寄存器 执行部件控制电路,2、总线接口部件BIU 段寄存器组 指令指针 地址加法器 指令队列缓冲器 输入输出控制电路,3.1.1 8086/8088微处理机的结构,第三章 微型计算机的结构,3.1 微型处理机的结构,,,,BIU,EU,EU和BIU的功能: 1、执行部件EU 完成指令的译码、运算及其他操作的执行; 2、总线接口部件BIU 负责CPU与存储器、I/O接口电路连接,形成片外的地址总线和数据总线,完成数据的传送;,第三章 微型计算机的结构,3.1 微型处理机的结构,执行部件EU 由4部分组成:算术逻辑部件、寄存器组、标志寄存器、执行部件控制电路 算术逻辑运算部件(ALU):完成算术运算、逻辑运算 寄存器组:由8个16位寄存器组成 AX、BX、CX、DX、SI、DI、BP、SP 其中AXDX可分为两个8位寄存器,分别命名为AL、AH、BL、BH、CL、CH、DL、DH SI、DI 、BP、SP、不能分成8位寄存器使用,第三章 微型计算机的结构,3.1 微型处理机的结构,寄存器组 一般情况下,这8个16位寄存器(AX、BX、CX、DX、SI、DI、BP、SP) 可互换地使用,称其为通用寄存器; ALDH这8个8位寄存器也可互换地使用。
如:ADD AX,BP 与 ADD BP,AX相同 AND BX,CX 与 SUB CX,BX相同 每个寄存器又有特殊用法第三章 微型计算机的结构,3.1 微型处理机的结构,寄存器的特殊用法,第三章 微型计算机的结构,3.1 微型处理机的结构,寄存器的特殊用法(续),第三章 微型计算机的结构,3.1 微型处理机的结构,标志寄存器 标志寄存器长度为16位,其中9个位有定义控制标志:3 个标志位,用于控制CPU的运行方式状态标志:6 个标志位,用于表示运算结果的状态第三章 微型计算机的结构,3.1 微型处理机的结构,CF: Carry Flag, 进位标志, 两数相加,最高位向前的进位 或两数相减最高位向前的借位 注:CPU总是把参加运算的操作数当作无符号数置CF标志 AF: Auxiliary Carry Flag, 辅助进位标志, 两数相加,第 3位向前的进位; 或两数相减第3位向前的借位 (该标志仅供CPU执行BCD码运算调整指令时用,编程人员 不能直接测试)第三章 微型计算机的结构,状态标志(6位),3.1 微型处理机的结构,状态标志(续),PF:Parity Flag, 奇偶标志, 两数操作(算术或逻辑),结果 的低8位中含有1的位数是偶还是奇。
ZF:Zero Flag, 零标志, 操作结果为0则ZF为1 SF:Sign Flag, 符号标志, 操作结果的符号位(即最高位 的状态) OF:Overflow Flag, 溢出标志, 算术操作,结果超过目标所 能容纳的范围 注: CPU总是把参加运算的操作数当作带符号数 置OF标志第三章 微型计算机的结构,3.1 微型处理机的结构,控制标志(3位),DF:Direction Flag,方向标志,用于控制数据串操作指令 访问存储器时,存储单元地址变化的方向(SI、DI增 量还是减量) TF:Tape Flag,陷阱标志,用来控制单步中断当TF=1 时,8086CPU每执行一条指令后,产生内部单步中断, 转去执行单步中断服务程序 IF:Interrupt,中断标志,用来控制CPU是否可以执行中断 当IF=1时,CPU可以中断现行程序执行,转去执行中断 服务程序第三章 微型计算机的结构,3.1 微型处理机的结构,执行部件控制电路 从指令队列中取得一条指令代码 指令译码 产生指令功能所要求的各种控制信号 通过上述3种操作周而复始的进行,使得计算机能够完成程序所要完成的功能。
第三章 微型计算机的结构,3.1 微型处理机的结构,总线接口部件BIU 总线接口部件由5部分组成: 段寄存器组、指令指针、地址加法器、指令队列缓冲器、输入输出控制电路 段寄存器组:共有4个16位的段寄存器段寄存器用于指令寻址内存单元时,指出段基地址(简称段地址)第三章 微型计算机的结构,3.1 微型处理机的结构,段寄存器组 CS:Code Segment,代码段寄存器,存放当前被执行程序的段地址 DS:Data Segment,数据段寄存器,当前运行程序使用操作数的段地址 SS:Stack Segment,堆栈段寄存器,当前运行程序使用堆栈的段地址 ES:Extra Segment,附加段寄存器,当前运行程序使用操作数的段地址第三章 微型计算机的结构,3.1 微型处理机的结构,指令指针寄存器IP(Instruction Pointer) 16寄存器,用于存放将要执行的指令地址的偏移量它与CS联合形成将要执行指令的物理地址 地址加法器 用于计算指令访问内存单元的物理地址 计算方法:将段寄存器的值送入加法器并左移4位,然后再与16位的偏移地址相加,形成20位的物理地址 如:CS 0001 0010 0011 0100 0000 IP + 0001 0010 0011 0100 0001 0011 0101 0111 0100 20位物理地址,,,第三章 微型计算机的结构,3.1 微型处理机的结构,指令队列缓冲器 是一个6个字节的先进先出缓冲器。
当BIU与存储器或I/O设备不进行数据交换时,BIU就从存储器中取指令填充指令队列 输入输出控制电路 把形成的20位物理地址经地址总线送到片外地址总线,然后经数据总线进行数据或指令代码的传输 请看8088微处理机工作过程演示第三章 微型计算机的结构,3.1 微型处理机的结构,8088的指令执行示例,课间休息,第三章 微型计算机的结构,,,3.1,微型处理机的结构,,,3.2,存储器,,,寻址方式,3.3,3.2.1 8086/8088存储器 存储器容量 8086系统内存最大容量为1MB 物理地址范围:00000HFFFFFH 物理地址与逻辑地址 物理地址:每个存储单元都有一个唯一的编号,这个编号我们称之为这个单元的物理地址 逻辑地址:在编写程序时,使用16位的段地址和16位的偏移地址来表示数据或指令在内存的地址,这个地址成为逻辑地址第三章 微型计算机的结构,,,3.2,存储器,存储器的分段结构,存储器容量是1MB,要寻址每一个存储单元必须用20位信息来表示单元地址而8086CPU是一个16位结构,用户编程所用的地址指示器都是16位的,无法形成寻址所需的20位的地址空间,所以采用存储器分段结构。
每段的最大容量为64KB 每段的起始地址必须能被16整除这个地址的高16位通常称为段地址 段与段可以互相独立、相连、重叠或部分重叠第三章 微型计算机的结构,3.2 存储器,存储器的分段结构,,,,,,,,,,,,,00000H,FFFFFH,,,SS (16位),堆栈段:,0000B,,DS (16位),数据段:,0000B,,ES (16位),附加段:,0000B,,CS (16位),代码段:,0000B,第三章 微型计算机的结构,3.2 存储器,存储器的分段结构,第三章 微型计算机的结构,3.2 存储器,物理地址与逻辑地址的转换 物理地址对于每个存储单元来说是唯一的 而用逻辑地址来表示这个物理地址时,就可以有多种形式 如:物理地址 0001 0010 0011 0100 0101 12345H 用逻辑地址可表示为如下多种形式: 0001 0010 0011 0100 : 0000 0000 0000 0101 1234:0005H 0001 0010 0011 0000 : 0000 0000 0100 0101 1230:0045H 0001 0000 0000 0000 : 0010 0011 0100 0101 1000:2345H .,第三章 微型计算机的结构,3.2 存储器,物理地址形成,设:CS=9482H, IP=2350H,则实际地址为: 1001 0100 1000 0010 + 0010 0011 0101 0000 1001 0110 1011 0111 0000,,,,段基地址,偏移地址,段基地址,0000,,,,,,20位物理地址,,15 0,15 0,19 0,15 0,3 0,左移4位,左移4位,,地址加法器,(逻辑地址到物理地址转换),第三章 微型计算机的结构,3.2 存储器,逻辑地址转换为物理地址,作业,1. 8086/8088 CPU由哪两个部件组成,各完成什么功能? 2. 8086/8088 CPU由哪些寄存器组成,各有什么功能? 3. IBM PC内存容量最大为多少KB?要寻址这样大的空间,需要多少根地址线? 4. IBM PC的存储为什么采用分段结构? 5. CS、DS、ES和SS段是否都可以存放数据? 6. 试述实际地址(物理地址)和逻辑地址的关系,举例说明。












