微型计算机原理及应用(第三版)第4章.ppt
4.16位微处理器4.1 164.1 16位微处理器概述位微处理器概述4.2 8086/8088 CPU4.2 8086/8088 CPU的结构的结构4.3 8086/8088 CPU4.3 8086/8088 CPU的引脚信号和工作模式的引脚信号和工作模式4.4 8086/80884.4 8086/8088的主要操作功能的主要操作功能微型计算机系统组成微型计算机系统的三个层次 微型计算机系统的三个层次n n 微处理器 微处理器(Microprocessor)(Microprocessor)n n 微型计算机 微型计算机(Microcomputer)(Microcomputer)n n 微型计算机系统 微型计算机系统(Microcomputer(Microcomputer System)System)微型计算机系统组成微处理器存储器I/O接口总线 硬件系统软件系统微 型计算机系 统微 型计算机(主机)外 设ALU寄存器控制器键盘、鼠标显示器软驱、硬盘、光驱 打印机、扫描仪系统软件应用软件微处理器(Micro Processing Unit)微处理器(微处理器(Micro Processing Unit Micro Processing Unit),),即微型化的中央 即微型化的中央处理器。中央处理器 处理器。中央处理器CPU CPU的英文全称是 的英文全称是 Central Processing Central Processing Unit Unit。早期微处理器以 早期微处理器以 MPU MPU 表示,以区别于大型主机的多芯 表示,以区别于大型主机的多芯片 片CPU CPU。但现在已经不加区分,都用 但现在已经不加区分,都用CPU CPU表示。表示。与与CPUCPU有关的术语有关的术语n n 主频 主频 CPU CPU内 内部 部的 的时 时钟 钟频 频率 率,是 是CPU CPU进 进行 行运 运算 算时 时的 的工 工作 作频 频率 率。一 一般 般来 来说 说,主 主频 频越 越高 高,一 一个 个时 时钟 钟周 周期 期里 里完 完成 成的 的指 指令 令数 数也 也越 越多 多,CPU CPU的 的运 运算 算速 速度 度也 也就 就越 越快 快。但 但由 由于 于内 内部 部结 结构 构不 不同 同,并 并非 非所 所有 有时 时钟频率相同的 钟频率相同的CPU CPU性能一样。性能一样。n n 外频 外频 即 即系 系统 统总 总线 线、CPU CPU与 与周 周边 边设 设备 备传 传输 输数 数据 据的 的频 频率 率,具 具体 体是 是指 指CPU CPU到芯片组之间的总线速度。到芯片组之间的总线速度。n n 倍频 倍频 原 原先 先并 并没 没有 有倍 倍频 频概 概念 念,CPU CPU的 的主 主频 频和 和系 系统 统总 总线 线的 的速 速度 度是 是一 一样 样的 的,但 但CPU CPU的 的速 速度 度越 越来 来越 越快 快,倍 倍频 频技 技术 术也 也就 就应 应允 允而 而生 生。它 它可 可使 使系 系统 统总 总线 线工 工作 作在 在相 相对 对较 较低 低的 的频 频率 率上 上,而 而CPU CPU速 速度 度可 可以 以通 通过 过倍 倍频 频来 来提 提升 升。CPU CPU主 主频 频的 的计 计算 算方 方式 式为 为:主 主频 频=外 外频 频 x x 倍 倍频 频。也 也就 就是 是倍 倍频 频是 是指 指CPU CPU和 和系 系统 统总 总线 线之 之间 间相 相差 差的 的倍 倍数 数,当 当外 外频 频不 不变 变时 时,提高倍频,提高倍频,CPU CPU主频也就越高。主频也就越高。与与CPUCPU有关的术语有关的术语n n 缓存(缓存(Cache Cache)CPU CPU进 进行 行处 处理 理的 的数 数据 据信 信息 息多 多是 是从 从内 内存 存中 中调 调取 取的 的,但 但CPU CPU的 的运 运算 算速 速度 度要 要比 比内 内存 存快 快得 得多 多,为 为此 此在 在此 此传 传输 输过 过程 程中 中放 放置 置一 一存 存储 储器 器,存 存储 储CPU CPU经 经常 常使 使用 用的 的数 数据 据和 和指 指令 令。这 这样 样可 可以 以提 提高 高数 数据 据传 传输 输速 速度 度。可分一级缓存和二级缓存。可分一级缓存和二级缓存。n n 一级缓存(一级缓存(L1 Cache L1 Cache)集成在 集成在CPU CPU内部中,用于 内部中,用于CPU CPU在处理数据过程中数据的暂时 在处理数据过程中数据的暂时保存。保存。L1 L1级高速缓存的容量越大,存储信息越多,可减少 级高速缓存的容量越大,存储信息越多,可减少CPU CPU与内存之间的数据交换次数,提高 与内存之间的数据交换次数,提高CPU CPU的运算效率。但因高速 的运算效率。但因高速缓冲存储器均由静态 缓冲存储器均由静态RAM RAM组成,结构较复杂,在有限的 组成,结构较复杂,在有限的CPU CPU芯片 芯片面积上,面积上,L1 L1级高速缓存的容量不可能做得太大。级高速缓存的容量不可能做得太大。n n 二级缓存(二级缓存(L2 Cache L2 Cache)由 由于 于L1 L1级 级高 高速 速缓 缓存 存容 容量 量的 的限 限制 制,为 为了 了再 再次 次提 提高 高CPU CPU的 的运 运算 算速 速度 度,在 在CPU CPU外 外部 部放 放置 置一 一高 高速 速存 存储 储器 器,即 即二 二级 级缓 缓存 存。工 工作 作主 主频 频比 比较 较灵 灵活 活,可 可与 与CPU CPU同 同频 频,也 也可 可不 不同 同。CPU CPU在 在读 读取 取数 数据 据时 时,先 先在 在L1 L1中寻找,再从 中寻找,再从L2 L2寻找,然后是内存,最后是外存储器。寻找,然后是内存,最后是外存储器。与与CPUCPU有关的术语有关的术语n n 生产工艺 生产工艺 在 在生 生产 产CPU CPU过 过程 程中 中,要 要进 进行 行加 加工 工各 各种 种电 电路 路和 和电 电子 子元 元件 件,制 制造 造导 导线 线连 连接 接各 各个 个元 元器 器件 件。其 其生 生产 产的 的精 精度 度以 以微 微米 米(um um)来 来表 表示 示,精 精度 度越 越高 高,生 生产 产工 工艺 艺越 越先 先进 进。在 在同 同样 样的 的材 材料 料中 中可 可以 以制 制造 造更 更多 多的 的电 电子 子元 元件 件,连 连接 接线 线也 也越 越细 细,提 提高 高CPU CPU的 的集 集成 成度 度,CPU CPU的 的功 功耗 耗也 也越 越小 小。这 这样 样CPU CPU的 的主 主频 频也 也可 可提 提高 高,在 在0.25 0.25微 微米 米的 的生 生产 产工 工艺 艺最 最高 高可 可以 以达 达到 到600MHz 600MHz的 的频 频率 率。而 而0.18 0.18微 微米 米的 的生 生产 产工 工艺 艺CPU CPU可 可达 达到 到G G赫 赫兹 兹的水平上。的水平上。n n 工作电压 工作电压 是 是指 指CPU CPU正 正常 常工 工作 作所 所需 需的 的电 电压 压,提 提高 高工 工作 作电 电压 压,可 可以 以加 加强 强CPU CPU内 内部 部信 信号 号,增 增加 加CPU CPU的 的稳 稳定 定性 性能 能。但 但会 会导 导致 致CPU CPU的 的发 发热 热问 问题 题,CPU CPU发 发热 热将 将改 改变 变CPU CPU的 的化 化学 学介 介质 质,降 降低 低CPU CPU的 的寿 寿命 命。早 早期 期CPU CPU工 工作 作电 电压 压为 为5V 5V,随 随着 着制 制造 造工 工艺 艺与 与主 主频 频的 的提 提高 高,CPU CPU的 的工 工作 作电 电压 压有 有着 着很 很大 大的 的变 变化 化,Core Core 2 2 Duo Duo CPU CPU的 的电 电压 压为 为1.7V 1.7V,解 解决 决了 了CPU CPU发 发热 热过高的问题。过高的问题。与与CPUCPU有关的术语有关的术语n n MMX MMX(MultiMedia Extensions MultiMedia Extensions,多媒体扩展指令集),多媒体扩展指令集)英特尔开发的最早期 英特尔开发的最早期SIMD SIMD指令集,可以增强浮点和多媒 指令集,可以增强浮点和多媒体运算的速度。体运算的速度。n n SSE(Streaming SIMD Extensions SSE(Streaming SIMD Extensions,单一指令多数据流扩,单一指令多数据流扩展 展)英特尔开发的第二代 英特尔开发的第二代SIMD SIMD指令集,有 指令集,有70 70条指令,可以增 条指令,可以增强浮点和多媒体运算的速度。强浮点和多媒体运算的速度。n n 3DNow!(3D no waiting)3DNow!(3D no waiting)AMD AMD公司开发的 公司开发的SIMD SIMD指令集,可以增强浮点和多媒体运 指令集,可以增强浮点和多媒体运算的速度,它的指令数为 算的速度,它的指令数为21 21条。条。Intel Core 2 Duo E6300 1.86GHz Intel Core 2 Duo E6300 1.86GHz 基本参数基本参数 n n CPU CPU内核 内核 n n 内核电压 内核电压 1.248V 1.248V n n 制作工艺 制作工艺 0.065 0.065 微米 微米 n n CPU CPU频率 频率 n n 主频 主频 1860MHz 1860MHz n n 倍频(倍)倍频(倍)7 7 n n 外频 外频 266MHz 266MHz n n CPU CPU缓存 缓存 n n L1 L1缓存 缓存 32KB 32KB n n L2 L2缓存 缓存 2MB 2MB n n CPU CPU指令集 指令集n n 指令集 指令集 MMX,SSE,SSE2,SSE3,SSE4,EM64T MMX,SSE,SSE2,SSE3,SSE4,EM64T 4.1 16位微处理器概述 8086/8088 8086/8088内部结构相同,但外部性能有区别:内部结构相同,但外部性能有区别:n n 8086 8086是 是16 16位数据总线,位数据总线,8088 8088是 是8 8位数据总线。处理一个 位数据总线。处理一个16 16位数据字时,位数据字时,8088 8088需要两步操作,需要两步操作,8086 8086只要一步。只要一步。n n 8086/8088 8086/8088的 的CPU CPU的内部都采用 的内部都采用16 16位字进行操作及存储器寻 位字进行操作及存储器寻址,软件完全兼容、程序执行也一样。但是 址,软件完全兼容、程序执行也一样。但是8088 8088有相对较 有相对较多的外部存取操作,所以程序执行速度相对较慢。多的外部存取操作,所以程序执行速度相对较慢。封装模式:封装模式:都封装在 都封装在40 40脚双列直插组件(脚双列直插组件(DIP DIP)中。)中。4.2 8086/8088 CPU的结构8086 CPU 8086 CPU 从功能上可以分为两部分:从功能上可以分为两部分:n n 总线接口部件(总线接口部件(bus interface unit,bus interface unit,BIU BIU)n n 执行部件(执行部件(execution unit execution unit,EU EU)AH ALBH BLCH CLDH DL SP BP DI SI通用寄存器运算寄存器ALU标志执行部分控制电路1 2 3 4 5 6 CS DS SS ES IP内部寄存器I/O控制电路地址加法器20位16位8位指令队列缓冲器外部总线执行部件(EU)总线接口部件(BIU)8086CPU结构图AXBXCXDX16位专用寄存器44.2.1.2.1 执行部件执行部件 功能:负责指令的执行。功能:负责指令的执行。(1 1)从指令队列中取出指令。)从指令队列中取出指令。(2 2)对指令进行译码,发出相应的控制信号。)对指令进行译码,发出相应的控制信号。(3 3)接收由总线接口送来的数据或发送数据至接口。)接收由总线接口送来的数据或发送数据至接口。(4 4)利用内部寄存器和)利用内部寄存器和ALU ALU进行数据处理。进行数据处理。44.2.1.2.1 执行部件执行部件 执行部件的组成:执行部件的组成:(1 1)4 4个通用寄存器:个通用寄存器:AX AX、BX BX、CX CX、DX DX。(2 2)4 4个专用寄存器 个专用寄存器:BP-BP-基数指针寄存器 基数指针寄存器(base pointer)(base pointer)SP-SP-堆栈指针寄存器 堆栈指针寄存器(stack pointer)(stack pointer)SI-SI-源变址寄存器 源变址寄存器(source index)(source index)DI-DI-目的变址寄存器 目的变址寄存器(destination index)(destination index)(3 3)FR-FR-标志寄存器 标志寄存器(flag register)(flag register)(4 4)ALU-ALU-算术逻辑部件(算术逻辑部件(arithmetic-logic unit arithmetic-logic unit)44.2.1.2.1 执行部件执行部件 8086/8088 8086/8088的 的EU EU具有如下 具有如下 4 4 个特点:个特点:(1 1)4 4个通用寄存器既可以作为 个通用寄存器既可以作为16 16位寄存器来使用,也可以作 位寄存器来使用,也可以作 为 为8 8位寄存器使用。例如:位寄存器使用。例如:BX BX作为 作为8 8位寄存器时,分为 位寄存器时,分为BH BH 高 高8 8位和 位和BL BL低 低8 8位。位。(2 2)AX AX寄存器常常称为 寄存器常常称为累加器 累加器,8086 8086指令系统中有许多指令 指令系统中有许多指令 是通过累加器的动作来执行的。例如,累加器作为 是通过累加器的动作来执行的。例如,累加器作为16 16位来 位来 使 使用 用的 的时 时候 候,可 可以 以按 按照 照“字 字”进 进行 行乘 乘、除 除等 等操 操作 作;当 当累 累加 加器 器 作 作为 为8 8位 位来 来使 使用 用的 的时 时候 候,可 可以 以按 按照 照“字 字节 节”进 进行 行乘 乘、除 除等 等操 操 作。作。(3 3)加法器是算术逻辑单元()加法器是算术逻辑单元(ALU ALU)的主要部件,绝大部分指 的主要部件,绝大部分指 令的执行都由加法器来完成。令的执行都由加法器来完成。44.2.1.2.1 执行部件执行部件(4 4)标志寄存器 标志寄存器FR FR共有 共有16 16位,其中有 位,其中有7 7位未用。位未用。D15D0 OF DF IF TF SF ZF AF PF CF进位标志奇偶标志辅助进位标志零标志符号标志跟踪标志中断标志方 方向 向标 标志 志溢出标志1-有进、借位0-无进、借位加减法中第3位向第4位有进、借位,BCD码运算中是否调整1-当前运算结果为00-结果不为0状态标志:状态标志:操作 操作执行后,决定 执行后,决定ALU ALU在何种状态,在何种状态,这种状态影响以 这种状态影响以后的操作。后的操作。控制标志:控制标志:人为 人为设定的,对特定 设定的,对特定的功能起控制作 的功能起控制作用。用。标志寄存器功能举例标志寄存器功能举例0101 0100 0011 1001 5439H+0100 0101 0110 1010 456AH1001 1001 1010 0011低 低8 8位中 位中“1”1”的个数为偶数,的个数为偶数,PF=1 PF=1运算结果不为 运算结果不为0 0,ZF=0 ZF=0低 低4 4位向前有进位,位向前有进位,AF=1 AF=1最高位向前没有进位,最高位向前没有进位,CF=0 CF=015 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 O O D I T D I T S Z A P C S Z A P C 44.2.2.2.2 总线接口部件总线接口部件 功能:功能:负责 负责CPU CPU与存储器、与存储器、I/O I/O端 端口之间的数据传送。口之间的数据传送。(1 1)取指令送到指令队列。)取指令送到指令队列。(2 2)CPU CPU执行指令时,到指定的位置取数据,并将其送至指令 执行指令时,到指定的位置取数据,并将其送至指令 要求的位置单元中。要求的位置单元中。总线接口部件由下列各部分组成:总线接口部件由下列各部分组成:(1 1)4 4个段地址寄存器;个段地址寄存器;CS16 CS16位代码段寄存器;位代码段寄存器;DS16 DS16位数据段寄存器;位数据段寄存器;ES16 ES16位附加段寄存器;位附加段寄存器;SS16 SS16位堆栈段寄存器;位堆栈段寄存器;44.2.2.2.2 总线接口部件总线接口部件(2 2)16 16位指令指针寄存器 位指令指针寄存器IP IP;(3 3)20 20位的地址加法器;位的地址加法器;(4 4)6 6字节的指令队列缓冲器。字节的指令队列缓冲器。8086/8088 8086/8088的 的BIU BIU具有如下特点:具有如下特点:(1 1)指令队列缓冲器:指令队列缓冲器:在执行指令的同时,从内存中 在执行指令的同时,从内存中 取下一 取下一 条或者下几条指令,并放入指令队列缓冲器中。条或者下几条指令,并放入指令队列缓冲器中。CPU CPU执行 执行 完一条指令后,可以立即执行下一条指令 完一条指令后,可以立即执行下一条指令(流水线技术),(流水线技术),而无需轮番取指令和执行指令,从而提高 而无需轮番取指令和执行指令,从而提高CPU CPU效率。效率。(2 2)地址加法器:地址加法器:产生 产生20 20位地址。位地址。CPU CPU内无论是段地址寄存器 内无论是段地址寄存器 还是偏移量都是 还是偏移量都是16 16位的,通过地址加法器产生 位的,通过地址加法器产生20 20位地址。位地址。44.2.2.2.2 总线接口部件总线接口部件指令的一般执行过程:指令的一般执行过程:取指令 取指令 指令译码 指令译码 读取操作数 读取操作数 执行指令 执行指令 存放结果 存放结果8088 8088之前的 之前的CPU CPU采用串行工作方式:采用串行工作方式:n n CPU CPU访问存储器 访问存储器(存取数据或指令 存取数据或指令)时要等待总线操作的完成 时要等待总线操作的完成n n CPU CPU执行指令时总线处于空闲状态 执行指令时总线处于空闲状态 缺点:缺点:CPU CPU无法全速运行 无法全速运行 解决:解决:总线空闲时预取指令,使 总线空闲时预取指令,使CPU CPU需要指令时能立刻得到 需要指令时能立刻得到取指令1执行1取操作数2执行2CPUBUS忙碌 忙碌忙碌 忙碌存结果1取指令244.2.2.2.2 总线接口部件总线接口部件8086/8088CPU 8086/8088CPU采用并行工作方式 采用并行工作方式取指令2取操作数 BIU 存结果取指令3取操作数取指令4执行1 执行2执行3 EUBUS忙碌 忙碌 忙碌 忙碌 忙碌 忙碌指令预取队列的存在使 指令预取队列的存在使EU EU和 和BIU BIU两个部分可同时进行工作,两个部分可同时进行工作,提高了 提高了CPU CPU的效率 的效率 降低了对存储器存取速度的要求 降低了对存储器存取速度的要求44.2.2.2.2 总线接口部件总线接口部件 总线接口部件和执行部件不是同步工作的,它们按照以下的 总线接口部件和执行部件不是同步工作的,它们按照以下的流水线技术原则 流水线技术原则管理:管理:(1 1)每当 每当8086 8086的指令队列中有 的指令队列中有2 2个空字节,个空字节,8088 8088指令队列中有 指令队列中有1 1 个空字节时,总线接口部件就会自动取指令至队列中。个空字节时,总线接口部件就会自动取指令至队列中。(2 2)执行部件从总线接口的指令队列前部取出指令代码,执行 执行部件从总线接口的指令队列前部取出指令代码,执行 该指令。该指令。(3 3)当队列已满,执行部件又不使用总线时,总线接口部件进 当队列已满,执行部件又不使用总线时,总线接口部件进 入空闲状态。入空闲状态。(4 4)执行转移指令、调用指令、返回指令时,先清空队列内 执行转移指令、调用指令、返回指令时,先清空队列内 容,再将要执行的指令放入队列中。容,再将要执行的指令放入队列中。数据与指令的存储与访问地址地址内内 容容000000010000000100BB(44)111000000010000000BB(128128)220001000100010001BB(1717)25525500001111B(15)00001111B(15)地址是数 地址是数据存放的 据存放的门牌号码 门牌号码,是标明数 是标明数据所在位 据所在位置的唯一 置的唯一代号 代号每个地 每个地址空间 址空间可以存 可以存放 放8 8位二 位二进制数 进制数内存示意图所有 所有CPU CPU可以访问的数 可以访问的数据与指令都以二进制数 据与指令都以二进制数的形式存放在内存中 的形式存放在内存中44.2.3.2.3 存储器结构存储器结构44.2.3.2.3 存储器结构存储器结构 由于 由于8086/8088 8086/8088有 有20 20条地址线,可以寻址 条地址线,可以寻址2 220 20(1M 1M)字节,)字节,CPU CPU送到地址总线(送到地址总线(AB AB)上的)上的20 20位的地址称为 位的地址称为物理地址。物理地址。物理地址 物理地址.60000H 60001H 60002H 60003H 60004H.12HF0H1BH08H 存储器的操作完全 存储器的操作完全基于物理地址。基于物理地址。问题:问题:8086/8088 8086/8088的内部总线和 的内部总线和内部寄存器均为 内部寄存器均为16 16位,位,如何寻找 如何寻找20 20位地址?位地址?FFH解决方法:解决方法:存储器分段并赋以地址偏移量 存储器分段并赋以地址偏移量44.2.3.2.3 存储器结构存储器结构 8086/8088CPU 8086/8088CPU把 把1M 1M字节的存储器空间划分为任意的一些 字节的存储器空间划分为任意的一些存储段,一个存储段是存储器中可独立寻址的一个逻辑单位,存储段,一个存储段是存储器中可独立寻址的一个逻辑单位,也称 也称逻辑段 逻辑段,每个段的容量小于等于,每个段的容量小于等于64K 64K字节。字节。每段起始地 每段起始地址规定最低 址规定最低4 4位为 位为0 0。图 图4 4 2 2 高地址 高地址段基址 段基址段基址 段基址段基址 段基址段基址 段基址最大 最大64KB 64KB,最小,最小16B 16B i-1 i-1段 段i i段 段i+1 i+1段 段各段之间可以相互独 各段之间可以相互独立,相互重叠,甚至 立,相互重叠,甚至相互重合 相互重合(P76 P76 图 图4 4 3 3)1、8086最少和最多可以分为多少个段?2、下列地址哪些可能是一个段的开始地址:134546H,67828H,1FF30H44.2.3.2.3 存储器结构存储器结构0150H4200H1CD0HB000H64KB代码64KB数据64KB附加64KB堆栈各段独立的分配方式举例 各段独立的分配方式举例CSDSSSES段寄存器存储器01500H114FFH1CD00H2CCFFH42000H51FFFHB0000HBFFFFH0200H0400H0480HCS CSDS DSSS SSES ES段寄存器 段寄存器存储器 存储器04000H 04000H04800H 04800H 段重叠的分配方式举例02000H段地址 段地址段所在位置段所在位置CS CS 0200H 0200H0200002000H-11FFFHH-11FFFHDS DS 0400H 0400H0400004000H-13FFFHH-13FFFHSS SS 0480H 0480H0480004800H-147FFHH-147FFH44.2.3.2.3 存储器结构存储器结构 8086 8086存储器中的每个存储单元都可以用两个形式的地 存储器中的每个存储单元都可以用两个形式的地址来表示:址来表示:物理地址 物理地址:用唯一的 用唯一的20 20位二进制数所表示的地址,规定 位二进制数所表示的地址,规定了 了1M 1M字节存储空间中某个字节的地址 字节存储空间中某个字节的地址。逻辑地址 逻辑地址:在程序中使用,即 在程序中使用,即:段基址:偏移地址 段基址:偏移地址。44.2.3.2.3 存储器结构存储器结构 8086CPU 8086CPU中有四个段地址寄存器:中有四个段地址寄存器:CS CS,DS DS,SS SS和 和ES ES,这四,这四个段地址寄存器存放了 个段地址寄存器存放了CPU CPU当前可以寻址的四个段的基址,即 当前可以寻址的四个段的基址,即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设定,就规定了 一旦这四个段寄存器的内容被设定,就规定了CPU CPU当前可寻址 当前可寻址的段。的段。段基址:段基址:段寄存器的 段寄存器的16 16位地址,它们决定了各段在内存中的位 位地址,它们决定了各段在内存中的位置。置。偏移地址:偏移地址:每个段最多有 每个段最多有64 64K K个存储单元,要区分这 个存储单元,要区分这64 64K K个单 个单元就要使用 元就要使用16 16位段内偏移地址。位段内偏移地址。64K 64K 2 2 16 1644.2.3.2.3 存储器结构存储器结构物理地址 物理地址由两部分组成:由两部分组成:段基址 段基址和 和偏移地址 偏移地址。8086/8088CPU 8086/8088CPU中有一个地址加法器,它将段寄存器提供 中有一个地址加法器,它将段寄存器提供的段基址乘以 的段基址乘以16 16,即左移,即左移4 4位,然后与 位,然后与16 16位的偏移地址相加,位的偏移地址相加,并锁存在物理地址锁存器中。如图所示。并锁存在物理地址锁存器中。如图所示。物理地址 物理地址=段基址 段基址*16+16+偏移地址 偏移地址段寄存器值偏移量+物理地址16位4位16位20位存储器物理地址的计算方法段基址:段基址:CS CS、DS DS、ES ES、SS SS。偏移地址:偏移地址:IP IP、DI DI、SI SI、BP BP、SP SP等。等。44.2.3.2.3 存储器结构存储器结构存储器寻址方式 存储器寻址方式偏移地址段基址000015 0+段基址存储器所选存储单元物理地址15 019 0地址加法器偏移地址 偏移地址44.2.3.2.3 存储器结构存储器结构60002H 00H12H60000H偏移地址=0002H逻辑地址:段基址和段内偏移地址组成。格式为:段基址:偏移地址 6000H:0002H44.2.3.2.3 存储器结构存储器结构习题:习题:已知 已知CS=1055H CS=1055H,DS=250AH DS=250AH,ES=2EF0H ES=2EF0H,SS=8FF0H SS=8FF0H,各,各段的容量均为 段的容量均为64K 64K,DS DS段有一操作数,其偏移地址 段有一操作数,其偏移地址=0204=0204H H,1)1)画出各段在内存中的分布;画出各段在内存中的分布;2)2)在图中指出各段首地址;在图中指出各段首地址;3)3)求操作数的物理地址。求操作数的物理地址。10550H250A0H2EF00H8FF00HCSSS CSDSES解:解:各段分布及段首址见右图所示。各段分布及段首址见右图所示。操作数的物理地址为:操作数的物理地址为:250 250AH AH 16+0204H=252A4H 16+0204H=252A4H00000H 00000HFFFFFH FFFFFH CS 0000 IP代码段 DS或ES 0000 SI、DI SS 0000 SP数据段附加段堆栈段段寄存器和偏移地址寄存器组合关系4.2.3 存储器结构44.2.4 8086.2.4 8086总线的工作周期总线的工作周期8086 8086总线的操作时序 总线的操作时序 在 在微 微机 机系 系统 统中 中,CPU CPU是 是在 在时 时钟 钟信 信号 号CLK CLK控 控制 制下 下,按 按节 节拍 拍有序地执行指令序列。有序地执行指令序列。CLK CLK 时钟信号是一个按一定电压幅度,一定时间间隔发出的脉 时钟信号是一个按一定电压幅度,一定时间间隔发出的脉冲信号 冲信号。44.2.4 8086.2.4 8086总线的工作周期总线的工作周期 相 相邻 邻两 两个 个脉 脉冲 冲之 之间 间的 的时 时间 间间 间隔 隔,称 称为 为一 一个 个时 时钟 钟周 周期 期,又 又称 称 T T 状态(状态(T T周期 周期)。)。每个 每个T T状态包括 状态包括:下降沿、低电平、上升沿、高电平 下降沿、低电平、上升沿、高电平CLK CLKTT 8086CPU 8086CPU 频率 频率f f:1 1秒内的脉冲个数 秒内的脉冲个数 10MHz 10MHz 周期 周期 T T:T=1/f 100ns T=1/f 100ns 占空比:占空比:高电平在一个周期中的比例 高电平在一个周期中的比例 1:3 1:344.2.4 8086.2.4 8086总线的工作周期总线的工作周期总线操作:总线操作:CPU CPU通过总线完成与存储器、通过总线完成与存储器、I/O I/O端口之间的操作。端口之间的操作。总线周期:总线周期:执行一个总线操作所需要的时间。执行一个总线操作所需要的时间。一个基本的总线周期通常包含 一个基本的总线周期通常包含 4 4 个 个 T T 状态,按时间的先 状态,按时间的先后顺序分别称为 后顺序分别称为T T1 1、T T2 2、T T3 3、T T4 4。总线周期 总线周期T T1 1T T2 2T T3 3T T4 4CLK CLK44.2.4 8086.2.4 8086总线的工作周期总线的工作周期指 指令 令周 周期 期:执 执行 行一 一条 条指 指令 令所 所需 需要 要的 的时 时间 间,是 是取 取指 指令 令、执 执行 行指 指令 令、取 取操 操作 作数 数、存 存放 放结 结果 果所 所需 需时 时间 间的 的总 总和 和。用 用所 所需 需的 的时 时钟 钟周 周期数表示。期数表示。不 不同 同指 指令 令的 的指 指令 令周 周期 期是 是不 不同 同的 的;同 同一 一类 类型 型的 的指 指令 令,由 由于 于操 操作数不同,指令周期也不同。作数不同,指令周期也不同。例 例 MOV BX,AX 2 MOV BX,AX 2个 个T T周期 周期 MOV BX,AX 14 MOV BX,AX 14个 个T T周期 周期 MUL BL 7077 MUL BL 7077个 个T T周期 周期例 例 执行 执行ADD BX,AX ADD BX,AX 包含 包含:1)1)取指令 取指令 存储器读周期 存储器读周期 2)2)取 取 DS:BX DS:BX 内存单元操作数 内存单元操作数 存储器读周期 存储器读周期 3)3)存放结果到 存放结果到 DS:BX DS:BX 内存单元 内存单元 存储器写周期 存储器写周期 执行指令的过程中,需要从存储器或 执行指令的过程中,需要从存储器或 I/O I/O 端口读取或存 端口读取或存放数据,所以一个指令周期通常包含若干个总线周期。放数据,所以一个指令周期通常包含若干个总线周期。44.2.4 8086.2.4 8086总线的工作周期总线的工作周期44.2.4 8086.2.4 8086总线的工作周期总线的工作周期T1T2T3TWT4总线周期 有 有时 时,外 外设 设或 或存 存储 储器 器不 不能 能及 及时 时配 配合 合CPU CPU传 传输 输数 数据 据,这 这时 时,会 会在 在T T3 3状 状态 态之 之后 后插 插入 入一 一个 个或 或者 者多 多个 个时 时钟 钟周 周期 期T TW W,称 称为 为等 等待 待状 状态 态。只有在 只有在CPU CPU和内存、和内存、I/O I/O接口之间传输数据,以及填充指 接口之间传输数据,以及填充指令队列的时候,令队列的时候,CPU CPU才执行总线周期。如果一个总线周期之 才执行总线周期。如果一个总线周期之后,不立即执行下一个总线周期,那么系统总线就处在空闲 后,不立即执行下一个总线周期,那么系统总线就处在空闲状态,此时,执行空闲周期。状态,此时,执行空闲周期。