1 / 65

微机原理

在此幻灯片插入公司的徽标 从“插入”菜单 选择图片 找到徽标文件 单击“确定” 重新设置徽标大小 单击徽标内任意位置。徽标外部出现的方框是“调整控点” 使用这些重新设置对象大小 如果在使用尺寸调整控点前按下 shift 键,则对象改变大小但维持原比例。. 微机原理. 制作者: 张幸. 第二章 8086系统结构. 第一节 8086 CPU 的结构 第二节 8086 CPU 引脚功能 第三节 8086/8088存储器组织 第四节 8086系统配置. 第一节 8086 CPU 的结构. 一、执行部件( EU) 和总线接口部件( BIU)

Download Presentation

微机原理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 在此幻灯片插入公司的徽标 • 从“插入”菜单 • 选择图片 • 找到徽标文件 • 单击“确定” • 重新设置徽标大小 • 单击徽标内任意位置。徽标外部出现的方框是“调整控点” • 使用这些重新设置对象大小 • 如果在使用尺寸调整控点前按下 shift 键,则对象改变大小但维持原比例。 微机原理 制作者: 张幸

  2. 第二章 8086系统结构 第一节 8086CPU的结构 第二节 8086CPU引脚功能 第三节 8086/8088存储器组织 第四节 8086系统配置

  3. 第一节 8086CPU的结构 一、执行部件(EU)和总线接口部件(BIU) 二、寄存器结构

  4. 一、执行部件(EU)和总线接口部件(BIU) 8086CPU的内部结构由两部分组成: 总线接口部件BIU、执行部件(EU),采 用流水线工作方式 总线接口部件BIU:负责取指令;存、取操作数 执行部件(EU):负责分析指令、执行指令

  5. 地址总线(20位) 通用寄存器 AX AH BH CH DH CL DL AL BL BX ∑ 数据总线 CX (16位) DX SP CS BP DS DI SS SI ES IP ALU数据总线 总线 控制 电路 8086总线 内部寄存器 (16位) (16位) 暂存器 队列 总线 (8位) EU 控制器 指令队列 1 2 3 4 ALU 标志寄存器 执行单元EU 总线接口单元BIU 8086CPU内部结构

  6. 1.BIU 总线接口部件 组成:段寄存器 16位 CS SS DS ES 指令指针(IP)存放指令的偏移地址 地址形成逻辑完成逻辑地址到物理地址转换 指令队列 采用FIFO结构,预取指令 总线控制逻辑 发出总线控制信号

  7. 任务: 把段寄存器和IP相加形成20位有效地址 16*CS+IP 取指令 8086 如果队列中有2字节以上空格,EU不要求总线,则BIU预取指令 8088 如果队列中有1字节以上空格,EU不要求总线,则BIU预取指令 EU要求总线周期,有EU提供信号和地址来 源,BIU进入总线,存取数据

  8. 访问M和I/O: 由EU通知BIU提供信号和地址来源 内部:根据指令要求对寄存器和标志管理 2.EU执行部件 组成: ALU算术逻辑运算单元 PSW标志寄存器 存放运算结果特征 寄存器组存放中间结果 EU控制器取指令控制、时序控制 任务:从队列中取指令控制

  9. 二、寄存器结构 寄存器是CPU内部的存储单元,可直接参与CPU的运算(ALU运算和地址运算),其速度比内部存储器快。 • 通用寄存器 • 指针和变址寄存器 • 段寄存器 • 指令指针 • 标志寄存器

  10. EAX AX AH AL EBX BX BH BL ECX CX CH CL EDX DX DH DL 1.通用寄存器组 • 可8位、16位使用 用于存放数据或地址 • 专用功能 BX——基址寄存器 AX——累加器 • CX——计数器 AX,DX——用于乘、除

  11. ESP EBP ESI EDI SP 堆栈指针 BP 基址寄存器 SI 源变址寄存器 DI 目的变址寄存器 用于堆栈操作 用于变址操作 2.指针和变址寄存器 这四个寄存器只能按16位操作 用于堆栈和变址操作计算操作数的有效地址

  12. CS 代码段寄存器 SS 堆栈段寄存器 DS 数据段寄存器 ES 附加段寄存器 3.段寄存器 存放每一段的起始地址 用于存放程序 CS*16+IP——取指 用于存放堆栈 SS*16+SP——堆栈 用于存放数据 DS*16+SP,BP,SI 用于存放数据 ES*16+BP,DI

  13. 4.指令指针IP • 每执行一条指令,IP自动加1 • IP指向偏移地址,有效地址16*CS+IP • 程序员不能直接修改IP,(通过转移、调用、中断、中断返回)

  14. OF DF IF TF SF ZF AF PF CF 5.标志寄存器PSW 标志寄存器用来存放运算结果的特征 • 6位状态位 • 3位控制位

  15. 若最高位产生进位或借位,则CF置1 若最高位无进位或借位,则CF清0 CF进位标志: 若运算结果中“1”的个数为偶数个,PF置1 若运算结果中“1”的个数为奇数个,PF清0 PF奇偶标志: 第3位向第4位有进位或借位 AF置1 第3位向第4位无进位或借位 AF清0 AF辅助进位标志: 若运算结果为正,SF为0 若运算结果为负,SF为1 SF符号标志: 状态位: ZF 零标志: 若运算结果为0,则ZF为1,否则ZF为0 OF溢出标志:若运算结果产生溢出OF为1,否则OF为0

  16. 5394H+(-777FH) 0101 0011 1001 0100 + 1000 1000 1000 0001 1101 1100 0001 0101 CF=0 PF=0 AF=0 ZF=0 SF=1 OF=0

  17. 状态位的特殊用法: • CF 多精度数运算时提供向上的进位或借位 无符号数运算用于判断是否超过范围 无符号数大小的判别 在位处理模式用于判别每位的状态 • PF 两机通信时用于数据校验

  18. ZF 判断一个数是否为0 判断两数是否相等 • SF 判断一个数是正还是负 和OF标志相结合用于判断带符号数大小 • OF 判断带符号数是否超过范围 和ZF标志相结合用于判断带符号数大小

  19. DF=0,地址指针自动增加(由低到高) DF=1,地址指针自动减少(由高到低) DF方向标志 控制位: TF 陷阱标志 若TF=1,CPU处单步工作方式,每执行一条指令,产生一次单步中断 IF中断标志 当IF=1时,允许中断, 当IF=0时,禁止中断

  20. 第二节 8086CPU引脚功能 8086芯片共计40个引脚,主要分成三类:地址线 数据线和控制线。外加电源。CPU芯片的引脚完 全反映了该芯片的内部功能以及和外界部件的交 互方式。学习这部分内容着重考察CPU内部的功 能模块以及输入输出需求,掌握引脚的功能定义。 学习要求: 信号名称 信号含义 有效电平 输入/输出 状态(两态/三态) 信号来源

  21. 一、8086 CPU引脚及功能 1.地址总线和数据总线 *AD15~AD0: 地址/数据总线 双向 三态 注:8086/8088地址线,数据线分时使用 总线的第一周期作地址线(16bit宽A15~A0) 其余周期 作数据线 (8086 16bit/8088 8bit)

  22. * A19~A16/S6~S3:地址/状态 三态 输出 注:这四条线分时使用复用 总线的第一周期作地址线A19~A16 (与A15~A0构成20bit) 其余周期 作状态线 S6~S3 注:8086访问存储器,使用20条地址线 8086访问I/O , 使用16条地址线

  23. S6~S3:状态线 S6:为低电平 S5指示中断允许IF状态 S4 S3指示哪一个段寄存器

  24. 2.控制总线 控制总线是传送控制信号的一组信号线,有 输入,输出。

  25. *MN/MX线:最小/最大方式控制线 若MN/MX=1,8086处于最小方式 若MN/MX=0,8086处于最大方式 8086具有两种系统配置方式:最小模式和最大模式,分 别对应单机系统和多机系统。 最小模式:由8086提供全部控制信号 最大模式:由专用总线控制器8288提供总线控制信号 在不同模式 8086的有些引脚不完全相同

  26. 脚 最大 最小 脚 最大 最小 28 S2 IO/M 27 S1 DT/R 26 S0 DEN 30 RQ/GT0 HOLD 24 QS1 INTA 31 RQ/GT1 HLDA 25 QS0 ALE 29 LOCK WR 受MN/MX影响的控制信号 。

  27. *S2~S0:总线周期状态信号 S2 S1 S0 操作类型 0 0 0 中断响应 0 0 1 读I/O端口 0 1 0 写I/O端口 0 1 1 暂停 1 0 0 取指 1 0 1 读存储器 1 1 0 写存储器 1 1 1 无效

  28. 最小方式: *IO/M 存储器/输入输出请求信号 *DT/R 数据发送/接受端 *DEN 数据允许端

  29. *RQ/GT0 *RQ/GT1 在最大方式下:这两条信号为总线的请求和回答 信号 、两信号功能相同 、RQ/GT0 优先、 双向 /RQ /GT 释放 在T4或下一个T1输出/GT

  30. 在最小方式 *HOLD 总线请求信号、 输入 、高电平有效 *HLDA 总线响应信号、输出、高电平有效

  31. 最大方式: QS1 QS0 为指令队列状态信号、输出、高电平 有效 QS1 QS0 队列状态 0 0 无操作 0 1 取指令队列第一字节 1 0 队列空 1 1 取指令队列后续字节

  32. 最小方式: INTA 中断响应信号、输出、低电平有效 ALE 地址锁存允许信号、输出、高电平 有效

  33. LOCK 最大方式有效、总线优先封锁信号 三态、输出、低电平有效 WR 最小方式有效、写信号、三态、输 出、低电平有效

  34. 不受MN/MX影响的控制信号 *RD读信号 三态 输出 、低电平有效 *READY 准备就绪信号 、输出、 高电平有效 *INTR 中断请求信号、输入、高电平有效 *NMI 非屏蔽中断请求信号、 输入 、正沿触发 *TEST 测试信号 、输入 、低电平有效 *RESET 复位信号、 输入、 高电平有效

  35. 复位后,8086CPU的状态:

  36. 其它 CLK:时钟信号,由8284时钟产生 VCC:电源 5V(5%) VSS: 地

  37. 二、8086与8088引脚不同 • 数据线(8086:AD15~AD0,8088:AD7~AD0) • 存储器/输入输出控制线不同(8086:M/IO,8088 IO/M) • BHE/S7不同( BHE是总线高允许)

  38. 第三节 8086/8088存储器组织 一、存储器分段管理 二、物理地址的计算方法 三、逻辑地址来源 四、8086/8088存储器分体结构 五、堆栈的概念

  39. 一、存储器地址的分段 矛盾:存储器地址空间1MB,20bit地址线;内部各寄存器和数据总线均为16bit。 解决方法:将整个存储空间分为若干个逻辑段,每段内地址16bit,即最多地址空间64KB。 允许各逻辑段在整个存储空间浮动,段与段之间可以是连续的,也可以是分开的或重叠的。

  40. 00000H 逻辑段1起点 逻辑段1<=64KB 逻辑段2起点 逻辑段2<=64KB 逻辑段3起点 逻辑段3<=64KB 逻辑段4起点 逻辑段4<=64KB FFFFFH 每个段的起始地址必须能被16整除(XXXX0H) 程序执行前,分别对相应的段寄存器CS,DS,SS,ES置“段基值”,若程序长度大于64KB,则可通过对CS送新的“段基值”将程序转移到新段中。

  41. 二、物理地址的计算方法 • CPU内部寄存器是16位,给出的地址也是16位,不能直接 用于20位地址空间的寻址,因此必须寻求一种将16位逻辑地址 转换成20位物理地址的方法。 • 逻辑地址:段基址和偏移地址组成,无符号16位二进制 数,是程序设计是采用的地址。 • 物理地址:存储器中实际存放的地址 物理地址=16*段地址+偏移地址

  42. 段地址 0000 段内偏移 (有效)地址 0000 物理地址(20bit) 16bit 16bit 20bit 存放在相应的 段寄存器中 程序指出

  43. 三、逻辑地址来源 常用搭配关系: (CS, IP), (DS, SI/DI/BX), (SS, SP/BP) 等等。

  44. IP CS SI、DI、BX DS SP、BP SS 内存 代码段 数据段 堆栈段

  45. 四、8086/8088存储器分体结构 在8088CPU系统中,外部数据总线为8位,在存储器地址空间中数据存储格式以字节(8bit)为单位组织存储的,CPU访问一次存储器,只读写一个字节,读写一个字要两次访问存储器。 而8086CPU的数据总线为16位,CPU除了可以对一个字节寻址外,还必须能进行一个字的读写。即:如何组织数据存储格式使CPU访问一次存储器,获得一个字的数据。

  46. D15 D8 D7 D0 00001 00000 00003 00002 00005 00004 512K*8bit A0=1 512K*8bit A0 =0 FFFFF FFFFE (3)用地址线A0和BHE信号选择存储体 硬件条件: (1)将1M的存储空间分成两个存储体:偶地址和奇地址存储体 (2)将数据总线的低8位与偶地址存储体数据线相连,数据总线的高8位与奇地址存储体数据线相连。

  47. A0 BHE SEL A0~A18 SEL A0~A18 奇地址512K*8 偶地址512K*8 D7~D0 D7~D0 D7~D0 D15~D8 8086 A1~A19

  48. BHE A0 操作 总线使用情况 0 0 从偶地址开始读/写一个字 AD15--AD0 0 1 从奇地址开始读/写一个字节 AD15--AD8 1 0 从偶地址开始读/写一个字节 AD7--AD0 1 1 无效

  49. 1422DH 1422EH L(低8bit) 字节地址 字节地址 H(高8bit) 1422FH 字(16bit)数据地址1422EH 低位在低地址,高位在高地址 14230H 数据存放格式: 存储器二个连续字节组成一个字,一个字中的每一个字节都有各自的字节地址。存入时以低位字节在低地址,高位字节在高地址的次序存放,字单元的地址以低位地址表示。若要求8086在一个总线周期访问一个整字(16位)时,则该字的地址为偶地址(“对准存放”)。如果则该字的地址为奇地址(“未对准存放”),则8086要用两个连续的总线周期访问一个整字,每个周期访问一个字节。

More Related