《微型计算机原理与接口技术》第2章微型处理器与总线

上传人:san****019 文档编号:20898975 上传时间:2021-04-20 格式:PPT 页数:117 大小:4.76MB
返回 下载 相关 举报
《微型计算机原理与接口技术》第2章微型处理器与总线_第1页
第1页 / 共117页
《微型计算机原理与接口技术》第2章微型处理器与总线_第2页
第2页 / 共117页
《微型计算机原理与接口技术》第2章微型处理器与总线_第3页
第3页 / 共117页
点击查看更多>>
资源描述
第 2章 微型处理器与总线 2.1 微处理器概述 微处理器是计算机的核心部件,具有下面几个特点: 能够进行算术运算和逻辑运算; 能对指令进行译码,寄存并执行指令所规定的操作 具有与存储器和 I/O接口进行数据通信的能力 少量数据的暂存 能够提供系统所需要的定时和控制信号 能够响应输入输出设备发出的中断请求 人们常说的 16位机, 32位机是表示计算机中微处理器内部数 据总线的宽度 -CPU可以同时操作的二进制码的位数。现在的 CPU都是 32位的。 一、 运算器 运算 器的 组成 算术逻辑单元 :它的内部包括加、减、乘、 除运算的加法器,及实现与、或、非、异或 等逻辑运算功能的部件。 通用或专用寄存器组 : 提供操作数和暂存中 间运算结果及结特征; 内部总线 : 用于传送数据和指令 运算器的结构按内部总线数量不同分为: 1、单总线结构运算器 寄存器组 A B ALU 所有部件通过一条内部总线传递信息 ,任何时刻只有一组数据从源部件传 送到目标部件。当要进行一次双操作 数的运算时,首先通过总线将第一个 操作数放入锁存器 A或 B中,然后现 通过总线传送另一个操作数到另一个 锁存器中,之后进入 ALU进行运算。 运算结果再通过总线送到内部通用寄 存器。 特点:结构简单,但速度比较慢。 2、双总线结构运算器 寄存器组 缓冲区 BUS BUS ALU 双总线结构在运算器内部用两条总 线来传送数据,参加运算的操作数 可以同时通过两条总线送到 ALU进 行运算,运算结果经缓冲器再通过 任意一条总线送到通用寄存器。 特点:运算速度比单总线结构要快。 3、三总线结构运算器 寄存器组 旁路器 BUS ALU 它用两条总线来传送操作数, 一条专门用于传送运算结果。 特点:只要 ALU运算速度足够快,全部操作 可一步完成。 二、 控制器 控制器的作用:控制程序的执行,必须具备以下几处功能 1、完成指令控制 指令在存储器中是连续存放的,一般情况下,指令被按照顺序一 条条取出执行,只有在碰到转移指令时才会改变顺序。控制器要能 根据指令所在的地址按顺序或在遇到转移指令时按照转移地址取出 指令,分析指令,传送必要的操作数,并在指令执行结束后存放运 算结果。 2、实现时序控制 指令的执行是在时钟信号的控制下进行的。一条指令的执行时间 为指令周期。不同的指令周期中所包含的机器周期数是不相同的。 而一个机器周期中包含多少节拍也是不一样的。时序信号由控制器 产生,使系统按一定的时序关系进行工作。 3、完成操作控制 、根据指令流程,确定在指令周期的各个节拍中要产生的微 操作控制信号,以有效地完成各条指令的操作过程。 、还要对异常情况及某些外部请求的处理能力。 控制器的组成: 程序计数器 PC:用来存放下一条要执行的指令在存储器中的地址 指令寄存器 IR:用来存放从存储器中取出的待执行的指令。 指令译码器 ID:对指令寄存器中的指令进行“翻译”以确定进行 什么操作; 时序控制器:产生计算机工作中所要的各种时序信号; 微操作控制部件:用于产生与各条指令相对应的微操作。 一条指令的功能是通 过按一定次序执行一 系列基本操作完成的 。 微 操 作 控 制 指令译码 指令寄存器 地址加法器 程序计数器 时序逻辑 自存储器 至存储器 各部 件微 操作 控制 信号 : 控制器结构示意图 核心 部件 2.2 8088/8086微处理器 主要内容: 1.8088CPU外部 引线及功能; 2.8088CPU的 内部 结构和特点; 3.各内部 寄存器 的功能; 4.8088的工作 时序 概述 8088、 8086基本 类似 16位 CPU、 AB宽度 20位 差别: 1.指令预取队列: 8088为 4字节, 8086为 6字节 2.数据总线引脚: 8088有 8根, 8086有 16根 3.控制线引脚: 8088为 IO/M,而 8086为 M/IO 8088为准 16位 CPU,内部 DB为 16位,但外部 仅为 8位, 16位数据要分两次传送 本课程主要介绍 8088( IBM PC采用) 一 .8088/8086 CPU的 特点 1、采用 并行流水线 工作方式 2、对 内存空间 实行 分段管理 : 每段大小为 16B 64KB 用段地址和段内偏移实现对 1MB空间的寻址 设置地址段寄存器指示段的首地址 3、支持 多处理器 系统( 最大模式 ); 指令的 一般 执行过程: 取指令 指令译码 读取操作数 执行指令 存放结果 1.8088/8086的指令流水线 串行和并行方式的指令流水线: 串行工作方式: BIU(总线接口单元)和 EU(执行单元) 交替工作,按顺序完成上述指令执行过程 ; 并行工作方式: BIU和 EU可同时工作。 串行 工作方式: 8088以前的 CPU采用串行工作方式: 1) CPU访问存储器 (存取数据或指令 )时要等待总线操作的完成 2) CPU执行指令时总线处于空闲状态 缺点: CPU无法全速运行 解决: 总线空闲时预取指令,使 CPU需要指令时能立刻得到 取指令 1 执行 1 取操 作数 2 执行 2 CPU BUS 忙碌 忙碌 忙碌 忙碌 存结果 1 取指令 2 取指令和执行指令示意图( 1) 8位 CPU( 如 8080) tnT 30 t t 忙 忙 忙 总线 BUS CPU 取指 1 分析 指令 1 执行 指令 1 取指 2 分析 指令 2 执行 指令 2 取指 3 分析 指令 3 执行 指令 3 将 指 令 的 执 行 过 程 简 化 为 三 步 , 并 设 这 三 步 所 要 的 时 间 完 全 相 等 都 是 执 行 n 条 指 令 所 要 的 时 间 为 : tnT30 若不考虑取操作数和写结果,将指令的执行过程 可简化为三步,并设这三步所要的时间完全相等, 都为 ,采用顺序执行方式执行 n条指令所要的时 间为 t tnT 30 并行 工作方式: 8088CPU采用并行工作方式 忙碌 并行执行 n条指令所要的时间为: tntntT )2()1(30 取指令 2 取操作数 BIU 存结果 取指令 3 取操作数 取指令 4 执行 1 执行 2 执行 3 EU BUS 忙碌 忙碌 忙碌 忙碌 忙碌 CPU 忙碌 8088/8086的 流水线 操作 1.8088 CPU包括两大部分: EU(执行单元)和 BIU(总线接口单元) 、 BIU不断地从存储器取指令送入 IPQ(指令预取列 队), EU不断地从 IPQ取出指令执行 、 EU和 BIU构成了一个简单的 2工位 流水线 、 指令预取队列 IPQ是实现流水线操作的关键(类似 于 工厂流水线的传送带 ) 2.新型 CPU将一条指令划分成更多的阶段,以便可 以同时执行更多的指令 例如, PIII为 14个阶段, P4为 20个阶段 (超级流水线 ) 结论 指令预取队列 IPQ的 作用 : 使 EU和 BIU两个部分可 同时 进行工作, 从而带来了以下两个好处: 1、提高 了 CPU的效率 2、降低 了对存储器存取速度的要求 2.内存的分段管理技术 8088的 CPU的内部结构都是 16位的,内部总线只能传 送 16位二进制码。如果用二进制码表示地址, 8088就只 能产生 64K个地址。 为了提高系统的执行速度, 8088将内存空间分为多个 逻辑段,每个逻辑段最大为 64K个单元,段内每个单元的 地址码(偏移地址)长度为 16位。再为每个段设置段地 址(段基地址),以区分不同的逻辑段。 8088CPU内部具有专门存放段地址的段寄存器和存放 偏移地址的地址寄存器,将两类不同寄存器的内容送入 地址加法器合成,形成了指向内存某一具体单元的地址 (物理地址) 3.支持多处理器系统 8088具有最小和最大两种工作模式及内置的多任务 处理能力,可通过模式选择引脚进行选择。 最小模式也称为单处理器模式。此时 CPU仅支持由 少量设备组成的单处理机系统而不支持多处理器结构 。系统控制总线的信号由 8088CPU直接产生,且构成 的系统不能进行 DMA(直接存储器存取)传送。 最大模式也称多处理模式,此时 CPU能支持系统总 线上的多个处理器,由总线控制器提供所有总线控制 信号和命令信号。 二、 8088 CPU的引线及功能 40引脚 定义方法 可大致分为: 每个引脚只传送一种信息( RD等); 引脚电平的高低不同的信号( IO/M等); CPU工作于不同方式有不同的名称和定义 ( WR/LOCK 等); 分时复用引脚( AD7 AD0 等) ; 引脚的输入和输出分别传送不同的信息 ( RQ/GT等)。 地址 /数据线 地址 /状态线 非屏蔽中断 可屏蔽中断请求 最小最大模式控制 MN/MX=1,最小模式 MN/MX=0,最大模式 读信号 总线保持请求信号 总线保持相应信号 写信号 存储器 /IO控制信号 M/IO=1,选中存储器 M/IO=0,选中 IO接口 数据发送 /接收信号 DT/R=1,发送 DT/R=0,接收 数据允许信号 地址允许信号 中断响应信号 测试信号 :执行 WAIT指令, CPU处于空转等待 ; TEST有效时 ,结束等待状态。 准备好信号 :表示内存 或 I/O设备准备好, 可以进行数据传输。 复位信号 8086CPU引脚功能 地址状态复 用引脚 地址 /数据线 非屏蔽中断 可屏蔽中断请求 最小最大模式控制 MN/MX=1,最小模式 MN/MX=0,最大模式 读信号 总线保持请求信号 写信号 存储器 /IO控制信号 M/IO=1,选中存储器 M/IO=0,选中 IO接口 数据允许信号 测试信号 :执行 WAIT指令, CPU处于空转等待 ; TEST有效时 ,结束等待状态。 准备好信号 :表示内存 或 I/O设备准备好, 可以进行数据传输。 复位信号 地址状态复 用引脚 地址允许信号 1、主要引线( 最小模式 下) 8088是工作在 最小 还是 最大 模式由 MN/MX端状态 决定: MN/MX=0时工作于最大模式,反之工作于 最小模式。 数据信号线 (DB)与地址信号线 (AB): AD7 AD0: 地址、数据分时复用的双向信号线,三态。 当 ALE=1有效时为地址的低 8位。当(数据允许信号) DEN=0时,传送数据信号,此时为双向。 A19 A16: 地址、状态复用引脚,三态输出。在某一 时刻输出高 4位地址信号,另外时刻,送出状态信号 S6- S3分时复用。 S6恒等于 0, S5为指示中断允许标志 IF状 态, S4, S3组合指示 CPU当前正使用的段寄存器。如表 2-1。 A15 A8 : 中 8位地址信号, 三态输出。 CPU寻址内存 或接口时, 输出中 8位地址信号 。 主要的控制 (CB)和状态信号 WR: 三态,输出。写命令信号,低电平有效; RD: 三态,输出。读命令信号,低电平有效; IO/M: 三态,输出。指出当前访问的是存储器还是 I/O接口。高电平: I/O接口,低电平:内存 DEN: 三态,输出。数据允许信号,低电平时,表示 DB上的数据有效; RESET: 输入,系统复位输入信号;为高时, CPU 执行复位;复位后 CPU内部寄存器状态如表 2-3。 ALE: 三态,输出,地址锁存信号。高: AB地址有 效; DT/ R:三态,输出。数据传送方向控制信号,高: CPU输出, 低: CPU输入。 例 : 当 WR=1, RD=0, IO/M=0时, 表示 CPU当前正在进行 读存储器 操作。 READY信号 (输入 ): 用于协调 CPU与存储器、 I/O接口之间的速度差异 READY信号由存储器或 I/O接口发出。它是高电平 有效。 READY=0时, CPU就在 T3后插入 TW周期,插入的 TW个数取决于 READY何时变为高电平。 中断请求和响应信号 INTR: 输入, 可屏蔽 中断请求输入端。 高电平 :有 INTR中断请求 NMI: 输入, 非屏蔽 中断请求输入端。 低 高(上升沿) ,有 NMI中断请求 INTA: 中断响应输出,对 INTR信号的响应。 总线保持信号 HOLD: 输入总线保持请求信号输入端。当 CPU以外的其他设备 (如 DMA)要求占用总线 时,通过该引脚向 CPU发出请求。 HLDA: 总线保持响应信号输出,对 HOLD信 号的响应。为高电平时,表示 CPU已放弃总 线控制权,所有三态信号线如读、写信号线, 地址信号等均变为高阻状态。 2、最大模式下的引脚 1)、总线周期状态信号输出 S2, S1, S0 指出当前总 线周期操作的类型,低电平有效。如,中断响应、读写存 贮器或 IO端口等。此信号送至总线控制器 8288,以产生 相应的总线控制信号。 2)、总线请求 /总线响应信号 RQ/GT1, RQ/GT0 提供 2路其他主控设备发出总线请求信号和 CPU的响应信号 。 当其它设备的总线控制设备要使用系统总线时,产生一 个总线请求信号,并送到 RQ/GT引脚,类似最小模式下 的 HOLD信号。 CPU检测到请求后,在下一个 T4或 T1期间 在 RQ/GT送出一个总线响应信号。 4、指令队列状态信号输出 QS1, QS0 提供当前的 指令队列状态。 QS1 QS0 含义 0 0 无操作 0 1 取走指令第 1字节代码 1 0 队列空(取完) 1 1 取走指令后续字节代码 3、总线封锁信号输出 LOCK 当 LOCK=0(有效)时, CPU封锁总线不允许其他总线部件占用总线。 三、 8088CPU的 功能结构 8088内部由 两部分 组成: 执行单元 ( EU) 总线接口单元 ( BIU) CX AX DX FLAGS 暂存寄存器 ALU SP DI BH BL AH AL DH CH CL DL BP SI EU 控制部件 1 2 3 4 总线控 制逻辑 SS 内部通信寄存器 ES DS CS IP 地址加法器 BX 通 用 寄 存 器 组 ALU数据总线 16位 指令列队 地址总线 20位 数据总线 16位 8080 总线 8位 Q总线 1.8088CPU内部结构 EU BIU 执行单元 EU 功能 : 执行指令 从指令队列中取指令代码 译码 在 ALU中完成数据的运算 运算结果 的特征保存在标志寄存器 FLAGS中。 执行单元 EU包括 算术逻辑单元(运算器 ALU) 8个通用寄存器(通用 Regs) 1个标志寄存器( Flags) EU部分控制电路(部分 CU) 总线接口单元 BIU 功能: 1、从内存中 取指令 送入指令预取队列 IPQ 2、负责与内存或输入 /输出接口之间的 数据 传送 在执行转移程序时, BIU使指令预取队列 IPQ 复位,从指定的新地址取指令,并立即传给 执行单元执行。 总线接口单元 BIU的组成 段寄存器 指令指针寄存器 指令队列 地址加法器 总线控制逻辑 2.8088的内部寄存器 含 14个 16位寄存器 ,按功能可分为三类 8个通用寄存器(通用 Regs) 4个段寄存器 ( Seg Regs) 2个控制寄存器( Con Regs) 专用 Regs 通用寄存器 ( 通用 Regs) 数据寄存器( AX, BX, CX, DX) 地址指针寄存器( SP, BP) 变址寄存器( SI, DI) 数据寄存器 8088含 4个 16位数据寄存器,它们又可分 为 8个 8位寄存器,即: AX AH, AL BX BH, BL CX CH, CL DX DH, DL 作用 : 常用来存放参与运算的操作数或运算结果 数据寄存器特有的 习惯用法 AX: 累加器 。多用于存放中间运算结果 ; 所有 I/O指令必须都通过 AX 与接口传送信息 . BX: 基址寄存器 。在间接寻址中用于存放基地址; CX: 计数寄存器 。用于在循环或串操作指令中存放 循环次数或重复次数 . DX: 数据寄存器 。在 32位乘除法运算时存放高 16位数 ; 在间接寻址的 I/O指令中存放 I/O端口地址。 地址指针寄存器 SP:堆栈指针寄存器 . 其内容为栈顶的偏移地址; BP: 基址指针寄存器 . 常用于在访问内存时存放内存单 元的 偏移地址。 BX与 BP在应用上的区别 相同点 : 作为 通用寄存器 , 二者均可用于存放数据; 不同点 : 作为 基址寄存器 , BX通常用于寻址 数据段 ; BP通常用于寻址 堆栈段 。 BX一般与 DS或 ES搭配使用 ; BP一般与 SS拾配 . 注: 间接寻址时 仅 BX、 BP、 SI、 DI可用于存储器寻址; 仅 DX可用于 I/O寻址。 变址寄存器 SI: 源变址寄存器 DI: 目标变址寄存器 作用 : 变址寄存器常用于指令的 间接寻 址 或 变址寻址 。 特别是在 串操作指令 中,用 SI存 放 源操作数的偏移地址 ,而用 DI存放 目标操作数的偏移地址 。 段寄存器 ( 专用 Seg Regs ) 作用 : 用于存放逻辑段的段基地址 (逻辑段的概念后面将要介绍 ) CS: 代码段寄存器 代码段用于存放指令代码 DS: 数据段寄存器 ES: 附加段寄存器 数据段和附加段用来存放操作数 SS: 堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参数 数据段 DS/ES 代码段 CS 堆栈段 SS 控制寄存器 ( 专用 Con Regs ) IP: 指令指针寄存器 ,其内容为下一条 要执行的指令的偏移地址 FLAGS: 标志寄存器 状态标志 :存放运算结果的特征 6个状态标志位 (CF, SF, AF, PF, OF, ZF) 控制标志 :控制某些特殊操作 3个控制标志位 (IF, TF, DF) O D I T S Z A P C 15 0 2 4 6 7 8 9 10 11 FLAGS 四、存储器 的 寻址 物理地址 8088: 20根地址线,可寻址 220=1MB个存 储单元 CPU送到 AB上的 20位的地址称为 物理地址 物理地址 物理地址 . . 60000H 60001H 60002H 60003H 60004H . . . 12H F0H 1BH 08H 存储器的操作完全基于 物理地址。 问题: 8088的内部总线和内部 寄存器均为 16位,如何 生成 20位地址 ? 解决: 存储器分段 存储器分段 高地址 低地址 段基址 段基址 段基址 段基址 最大 64KB,最小 16B 段 i-1 段 i 段 i+1 逻辑地址 段基地址 和 段内 偏移 组成了 逻辑地址 段地址 偏移地址 (偏移量 ) 格式为: 段地址 :偏移地址 物理地址 =段基地址 16+偏移地址 60002H 00H 12H 60000H 0 0 0 0 段基地址( 16位) 段首地址 偏移地址 =0002H BIU中的 地址加法 器用来实现逻辑地址到物理地 址的变换 8088 可同时访问 4个段 , 4个段寄存器中的内容 指示了每个段的基地址 段基址 段内偏移 物理地址 + 16位 20位 0000 默认段和偏移寄存器 8086规定了访问存储器段的规则: 此规则定义了段地址寄存器和偏移地址寄存器的 组合方式,其默认规则如下表: 段 地 址 默认偏移地址 用于访问 CS IP 指令 SS SP、 BP 堆栈中的 数据 DS BX、 DI、 SI、 8位 或 16位数 数据段中 的数据 ES 串指令的 DI 目标串操 作数 已知 CS=1055H, DS=250AH, ES=2EF0H, SS=8FF0H, DS段有一操作数,其偏移地址 =0204H, 1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址 =? 10550H 250A0H 2EF00H 8FF00H CS SS DS ES 解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH 16H+0204H = 252A4H 这个例子说明: 段与段可以不连续 段之间可以重叠 堆栈及堆栈段的使用 操作规则 : 内存中一个按 FILO方式(先进后出)操 作的特殊区域。 两种操作 : 每次压栈和退栈均以 WORD( 16位)为 单位,先进高位,再入栈低 8位。 操作指示 : SS存放堆栈段地址, SP存放段内偏 移, SS:SP构成了堆栈指针。 作用 : 堆栈用于存放返回地址、过程参数或需要 保护的数据 ; 常用于响应中断或子程序调用。 堆栈操作示例 SP SS SS 压栈前 退栈后 高 低 低 高 高 12H SS F0H SP 压栈后 低 高 SP SP SP F0H 12H SP 例: (1)若已知( SS) =1000H( SP) =2000H 则堆栈段的段首地址 =?栈顶地址 =? (2)若现在把 1234H送入堆栈,则它所在 的存储单元地址 =? (3)若该段最后一个单元地址为 12FFFH, 则栈底地址 =? 段首 栈底 栈顶 堆 栈 段 解 :(1)段首地址 =10000H, 栈顶地址 =10000+2000=12000H (2)低 8位数据 34H在 11FFEH地址中 , 而高 8位数据 12H在 11FFFH中 (3)栈底地址 =13000H 12H 34H 五、 8088CPU的工作时序 时序的概念 : CPU各引脚信号在时间上的关系。 时钟周期 :每个时钟脉冲的持续时间成为一个时钟 周期,用 Ti表示,由时钟发生器产生,是 CPU工作 的基本时间单位。 PC/XT时钟频率 4.77MHz, 时钟 周期是 210ns。 总线周期 : CPU完成一次访问内存 (或接口 )操作所 需要的时间。 8088执行存储器读或存储器写操作 需用 4个时钟周期 。 8088的总线周期由 4个时钟周 期组成,称为 T1、 T2、 T3、 T4状态; 指令周期 P: 由若干个总线周期组成。是从取指令开 始到指令执行完毕所需要的时间。 一个总线周期 时钟发 生器 RES 8284 CLK RESET 8088 IO/M RD WR ALE A19 A16 A15 A8 + 5 V MN/MX 一个典型的总线周期 T1 T2 T3 T4 地址输出 状态输出 地址输出 地址输出 数据输入 低电平 =读存储器,高电平 =读 I/O接口 CLK A19S6 A16S3 A15 A8 AD7 AD0 ALE IO/M DT/R DEN 图 2-11 8088读总线周期 RD T1 T2 T3 T4 低电平, CPU从存储器或接口读数据 一个总线周期 地址输出 状态输出 地址输出 地址输出 数据输入 低电平 =写存储器,高电平 =写 I/O接口 T1 T2 T3 T4 CLK A19S6 A16S3 A15 A8 AD7 AD0 ALE IO/M WR DT/R DEN 一个总线周期 地址输出 状态输出 地址输出 地址输出 数据输入 低电平 =写存储器,高电平 =写 I/O接口 1 2 3 4 CLK 19S6 A16S3 A15 8 AD7 0 ALE IO/M DT/R DEN 图 2-12 8088写总线周期 利用 READY信号,使 CPU达到可靠地 读写内存和 I/O接口的目的 2.3 80386微处理器 80386是 32位微处理器 , 分为 80386SX 和 80386DX两种型号。 80386DX是标准 32位微处理器, 80386SX是 “ 准 32位 ” 微处理器。 80386有以下特点: 80386由 6个逻辑单元组成,按流水线方式工作,运行 速度 4MIPS,与 CPU之间的数据传输速度为 32MB/S。 多任务处理更容易,硬件支持多任务。 硬件支持段式管理和页式管理,易于实现虚拟存储系统。 硬件支持 DEBUG功能,并可设置数据断点和 ROM断点。 4级特权级别: 0级的优先级最高,其次为 1、 2、 3级。 具有自动总线功能, CPU读 /写数据的宽度可以在 32位 和 16位之间自由进行转换。 地址信号线扩充到 32根,可以寻址 4GB空间 。 采用高性能协处理器 80387,具备了很强的浮点运算 能力和很高的运算速度。 在每条指令执行期间, CPU需要进行类型、内存越界等 保护特性检查。 80386的逻辑部件: 80386内部分为三大部分:总线接口部件、中央处理部件 和存储器管理部件。中央处理部件又分成指令预取部件、指令 译码部件和指令执行部件。 控制 部件 测试部件 分段描述符 超高速 缓存器 分段部件 分页描述符 超高速 缓存器 分页部件 总线 接口 部件 预取 队列 预取 单元 32 位寄存器组 桶形移位器 A L U 指令译码 指令队列 32 位地 址总线 32 位数 据总线 控制 总线 N P X 接口 中断 复位 CP U MMU BIU 1总线接口部件 控制 部件 测试部件 分段描述符 超高速 缓存器 分段部件 分页描述符 超高速 缓存器 分页部件 总线 接口 部件 预取 队列 预取 单元 32 位寄存器组 桶形移位器 A L U 指令译码 指令队列 32 位地 址总线 32 位数 据总线 控制 总线 N P X 接口 中断 复位 CP U MMU BIU 80386的总线接口部件 BIU的作用和 8086的 BIU基本相同,控 制进出 CPU的所有数据、地址及控制信号。 BIU中含有 16字 节指令预取队列。总线周期仅为 2个时钟周期。 控制 部件 测试部件 分段描述符 超高速 缓存器 分段部件 分页描述符 超高速 缓存器 分页部件 总线 接口 部件 预取 队列 预取 单元 32 位寄存器组 桶形移位器 A L U 指令译码 指令队列 32 位地 址总线 32 位数 据总线 控制 总线 N P X 接口 中断 复位 CP U MMU BIU 2中央处理部件 ( 1)指令预取部件 指令预取部件包括 16字节的预取队列寄存器,可存放 5条左 右的指令。 指令代码预取不再由 BIU负责,而是由一个独立的 指令预取部件完成。当预取队列有空单元或发生一次控制转移 时,预取部件便通过分页部件向 BIU发出指令预取请求。分页 部件将预取指令指针送出的线性地址变为物理地址,再由 BIU 及系统总线从内存单元中预取指令代码,放入预取队列中。 ( 2)指令译码部件 80386采用微程序控制技术,指令的执行过程实际是通过 执行由微指令组成的微程序来实现的。所有指令对应的微程 序存放在其内部的控制存储器中。指令译码部件从 BIU的指 令预取队列中取指令,将操作码译成与该指令操作码相对应 的控制 ROM的入口地址,存入译码指令队列中。该队列可容 纳 3条已译码指令。 ( 3)执行部件 该部件从译码指令队列中取出已译码指令 并执行完成所规定的操作。 3存储器管理部件( MMU) 控制 部件 测试部件 分段描述符 超高速 缓存器 分段部件 分页描述符 超高速 缓存器 分页部件 总线 接口 部件 预取 队列 预取 单元 32 位寄存器组 桶形移位器 A L U 指令译码 指令队列 32 位地 址总线 32 位数 据总线 控制 总线 N P X 接口 中断 复位 CP U MMU BIU 存储器管理部件 MMU( Memory Management Unit)分为分段 部件和分页部件。其中分段部件用来实现逻辑地址到线性地 址的转换,分页部件用来实现线性地址到物理地址的转换。 若分页部件处于允许状态,则分页部件在操作系统的控制下, 便产生线性地址到物理地址的转换;若分页部件处于禁止状 态,线性地址即为物理地址。 取第 n + 2 条指令 取第 n + 1 条指令 取第 n + 6 条指令 取第 n + 5 条指令 取第 n + 4 条指令 取第 n + 3 条指令 总线接口部件 译码 n + 2 条指令 译码 n + 1 条指令 译码 n + 5 条指令 译码 n + 4 条指令 译码 n + 3 条指令 指令译码部件 执行 n + 2 条指令 执行 n + 1 条指令 执行 n + 4 条指令 执行 n + 3 条指令 指令执行部件 地址 & MMU 地址 & MMU存储管理部件 ( MMU ) 4 80386指令流水线 总线接口部件、指令预取部件、指令译码部件和存储器管理 部件构成了 80386CPU指令流水线。 2.3.4 80386内部寄存器 A H A L B H B L C H C L D H D L SP BP SI DI IP F L A G ES CS FS DS GS SS 累加器 基址寄存器 计数器 数据寄存器 堆栈指针 基址指针 源变址 目的变址 附加段 堆栈段 代码段 标志寄存器 指令指针 数据段 附加段 附加段 段 寄 存 器 通 用 寄 存 器 E A X E F L A G S E I P E D I E S I E B P E S P E D X E C X E B X 031 15 80386寄存器组是 8086寄存器组的超集。除了将原有 寄存器扩展为 32位外,还增加了许多新的寄存器,同 时对段寄存器作了较大变动。 原 8086寄存器组 16位扩展为 32位寄存器 新增寄存器 指令指针 标志寄存器 段寄存器 通用寄存器 控制寄存器 系统段寄存器 系统地址寄存器 80386微处理器的寄存器结构 1通用寄存器组 80386的通用寄存器为 EAX、 EBX、 ECX、 EDX、 ESI、 EDI、 EBP 及 ESP。其低 16位 AX、 BX、 CX、 DX、 SI、 DI、 BP、 SP可单独 使用, AX、 BX、 CX、 DX的高、低 8位也可以单独使用。 2段寄存器 80386增加了 FS和 GS两个新的段寄存器,在非实模式下段寄存 器内容不再是段的基地址,而是指向全局与局部描述符表的 段选择子。在 80386微机系统中编程,必须在存储器中建立四 种系统表: ( 1) GDT全局描述符表共 1个;( 2)局部描述符表若干个; ( 3) IDT中断描述符表共 1个;( 4) TSS任务状态段若干个。 描述符表 TI R PL 012315 描述符表分为全局描述符表 GDT和局部描述符表 LDT,容量 64KB。存有若干种描述符,段描述符由 8个字节组成,用来 描述段的基地址、大小和属性,因此可存放 8192个描述符。 索引号用来指示段描述符在描述符表中位置 TI=0表示选择 GDT, TI=1表示选择 LDT 申请者特权级别 0 n 3 2 1 GDT 或 L D T 选择器 CS 、 DS 、 ES 、 SS 、 FS 或 GS 寄存器中的数 每个项目被称为一个描述符 因为它描述一部分内存 ( 保存在内存中的某个地方 ) 内存 描述符表 当指令将一个 16位的值赋给段选择器时, CPU将其索引号部分所对应的段 描述符自动加载到描述符寄存器中。每个段描述符由三部分组成:基地 址字段用来描述所对应段在物理存储器中的起始地址;边界字段用来描 述所对应段的大小;属性字段用来描述所对应段的属性。 3系统地址寄存器 80386设置了 4个系统地址寄存器: GDTR、 LDTR、 IDTR和 TSSR(或 称 TR),分别用来管理四种系统表,即 GDT、 LDT、 IDT和 TSS。 GDTR和 LDTR为 48位宽,而 IDTR和 TSSR为 80位宽。 ( 1) GDTR和 GDT的关系 GDT是一个特殊段,所有任务共用,系统中只需建立一个,没有必要 设置描述符,直接由 GDTR决定它的基地址和大小。 ( 2) IDTR和 IDT的关系 IDT中存放中断门描述符 /陷阱门描述符,系统只需建立一个。 ( 3) LDTR和 LDT的关系 一个任务需要建立一个 LDT, LDT段描述由选择器字段来选择,因 此 LDTR中需要有段选择器字段 。 LDTR指出当前进程的 LDT描述符 在全局描述符表 GDT中的位置。 ( 4) TSSR和 TSS的关系 和 LDT一样,一个任务需要建立一个 TSS。 TSSR和 TSS与 IDTR和 IDT的关系相类似。 4指令指针、标志寄存器 ( 1)指令指针 指令指针 EIP存放下一条指令的偏移量,该偏移量是相对于现行代码段 ( CS)基址的偏移。 EIP的低 16位称为 IP,用于 16位寻址。 ( 2)标志寄存器 标志寄存器低 12位与 8086相同,新增加了四种标志。 31 - 18 在 80386 中保留未用 17VM 16RF 15 14NT 1 3 1 2I O P L 11OF 10DF 9IF 8TF 7SF 6ZF 5 4AF 3 2PF 1 0CF IOPL分 4级: 0 3, 0级 级别最高, 3级级别最低 嵌套任务标志为 1说明当前 任务嵌套在另一个任务内 恢复标志为 1时,遇到断点或调试故障, 继续执行下面的指令。在成功执行每 条指令时, RF将自动被复位。 虚拟 8086模式标志,该 位为 1表示 80386工作于 虚拟 86模式 30 - 5 在 80386 中保留未用 4ET 3TS 2EM 1MP 0PE31PG 5控制寄存器 80386内部有 4个 32位控制寄存器 CR0 CR3,用来保存各种全局性状态 , CR0的低 16位称为机器状态字 MSW,格式如图所示。 PE保护模式允许位, PE=1时 CPU处在保护模式。 MP协处理器监控位, MP=1表示有协处理器。 EM仿真协控制位, EM=1表示用软件仿真协处理器。 TS任务转换控制位,当任务转换时该位自动地将该位置 1。 协处理器类型位,系统配接 80387时 RT=1,配接 80287时, ET=0 6.调试寄存器和测试寄存器 80386有 8个 32位的调试寄存器 DR7 DR0。 DR3 DR0用来存放断点地 址。 DR5和 DR4是 Intel保留未作定义。 DR6调试状态寄存器,存放所 有引起类型 l异常中断的事件标志。 DR7为调试控制寄存器,高 16位 分成 4个字段,分别用来规定 4个断点的长度是一个字节还是 4个字 节以及引起断点的访问类型;低 16位用来允许 /禁止 4个断点以及选 择断点的条件。 80386有 8个 32位的测试寄存器 TR7 TR0 ,用户只能访问 2个转换旁 路缓冲器的测试寄存器 TR6和 TR7。 TR6为测试命令寄存器,存放测试 时使用的标记信息和控制信息。 TR7为测试数据寄存器,存放 TLB测 试的数据。 3.3.5 80386存储器管理 80386具有三种存储器管理模式:实地址模式、虚拟 8086模式和保 护模式。物理空间的分配和虚拟地址到物理地址的转换,通常是由 操作系统完成的, 80386系统结构中专门设置了用于实现虚拟存储 技术的硬件机制。 80386把虚拟地址空间分成不同性质的两部分:全局地址空间和局 部地址空间。全局地址空间为所有任务共享;局部地址空间是每一 个任务占有的独立地址空间,存放每个任务代码和数据。 80386的段选择子字段是从全局描述符表 GDT或局部描述符表 LDT 中选择一个段。虚拟存储器中可包含有 214个段。由段选择器的 T1位 来决定全局地址空间或局部地址空间。 虚拟地址到物理地址的转换 虚拟地址由段管理部件转换成线性地址,再由页管理部件将 线性地址转换成物理地址。如不启用分页功能,线性地址直 接作为物理地址。 逻辑地址 线性地址 物理地址 分段机制 分页机制 转换 转换 48 位 32 位 32 位 SI DS 寄存器 64 KB SI DS 寄存器 可变 描 述 符 表 G D T R 三种模式下的地址转换 ( 1)实模式的地址转换 ( 2)虚拟 8086模式的地址转换 增加了可选的分页功能 2.5 系统总线 主要内容: 总线的基本概念和分类; 总线的工作方式; 常用系统总线标准。 总线结构的 优点 1、便于采用模块结构设计,简化系统设计 2、可以得到多厂商支持,提高兼容性 3、便于扩充升级 4、便于故障诊断和维修,减低生产成本 一、概述 1.总线的概念 一组导线和相关的控制、驱动电路 的 集合 。 它 由一组导线和相关的控制、驱动电路组成, 是 计算机系统各部件之间传输地址、数据和控 制信息 的 公共通道 。 总线特点在于公用性,可同时挂接多个部件或 设备。 总线一般由多条通信线路组成,每一路信号 线能传送一位二进制 0或 1, 8条信号线就能在同 一时间并行传送一个字节的信息。 2.总线的分类 前端总线: CPU 其他部件 系统总线:主机 I/O接口 外部总线:微机 外设 按传送信 息的类型 按层次 结构 地址总线( AB) 数据总线( DB) 控制总线( CB) 按传送类型分 数据总线( DB) 数据总线是计算机系统内部之间进行数据传送的路 径。数据总线的传送方向是双向的,可以由处理器发 向其他部件,也可以由其他部件将信号送向处理器。 数据总线一般由 8条、 16条、 32条或更多条数据线 组成,因此,数据线的条数称为数据总线的宽度。 由于每一条数据线一次只能传送一位二进制数,因 此数据结的条数决定了每一次能同时传送的二进制位 数。 地址总线( AB) 地址总线用于传送地址信息,也就是这类总线上所 传送的一组二进制 0或 1表示的是一个内存单元地址或 I/O端口地址。它规定了数据总线上的数据来自何处 或被送到何处。因地址信息均由系统产生,所以它的 传送方向是单向的。 地址总线的宽度决定了能够产生的地址码的个数, 从而也决定了计算机系统能够管理的最大存储容量。 另,在进行输入输出操作时,地址总线还要传送 I/O 端中的地址。而 I/O端口的容量远低于内存容量,所 以在寻址时,只用地址总线的低位。 控制总线( CB) 控制总线用于传送各种控制信号,以实现对数据总 线,地址总线的访问及使用情况进行控制。控制信号的 作用是在系统内各部件之间发送操作命令和定时信号。 控制信号的类型有: 写存储器命令; 读存储器命令; I/O写命令; I/O读命令; 传送响应; 总线请求; 总线响应; 中断请求; 中断响应; 时钟和复位。 控制信号从总体上来说是双向的,但就一个具体的信 号来说,其信息的走向是单向的。 按总线的层次结构分 前端总线 前端总线有地址总线、数据总线、和控制总线。一般指从 CPU引 脚上引出的连接线,用来实现 CPU与主存储器、 CPU与 I/O接口芯 片、 CPU与控制芯片组等之间的信息传输,也用于系统中多个 CPU 之间的连接。 系统总线 它也有地址总线,数据总线,控制总线。它是主机系统与外设之 间的通信通道。在主板上,系统总线表现为与 I/O扩展插槽引线连 接的一组逻辑电路的导线。有统一标准,常见有 ISA, PCI, AGP 外部总线 它指的是计算机主机与外设接口的总线,实际是一种外设的接口 标准。目前流行的接口标准有 IDE、 SCSI、 USB和 IEEE1394这四 种。 3.总线结构 1、单总线结构 简单,但总线竞争严重 CPU M M I/O I/O I/O 2、多 总线结构 面向 CPU的双总线结构 面向主存的双总线结构 双总线结构 多总线结构(图 2-31) 多 总线 结构 (续 ) 教材 p77 图 2-29: 面向 CPU的双总线结构 把需要很高带宽的主存储器用存储总线单独与 CPU相 连 问题:外设到主存的数据传输必须通过 CPU, 传 输效率低,无法实现 DMA传输 图 2-30: 面向主存的双总线结构 主存储器即与 CPU直接连接,又与系统总线连接,较 好地解决了上述问题 4.总线的操作 接到总线上的设备有两种工作方式,主控方式 和从属方式。连接到总线上的设备分为主控设备 和从属设备。主控设备可以通过总路线进行数据 传送。从属设备只能按主控设备的要求工作,接 收传送过来的数据。 总线周期:总线时间分为若干个段,每一个时间 段完成设备间的一次信息交换。 一个总线周期分为五个步骤:总线请求、总线仲 裁、寻址、传送数据和传送结束。 5.总线的主要 性能指标 总线带宽( B/S): 单位时间内总线上可传送的数据量 总线位宽( bit): 能同时传送的数据位数 总线的工作频率( MHz) :它是用于协调总线上的各种操 作的时钟信号的频率 总线带宽 = (位宽 /8)(工作频率 /每个存取周期的时钟数 ) 二、总线的基本功能 总线传输需要解决的问题: 1、总线传输同步 协调通信双方的传输操作 同步、异步、半同步 2、总线仲裁控制 消除多个设备同时使用总 线造成的冲突现象 3、出错处理 在数据传输过程中对出现错误 的进行处理。 4、信号驱动 用三态输出电路或集成电路开 路输出电路来驱动总线。 1.总线的数据传送 、同步定时方式 : 用公共的时钟统一 各部件 数据发送和接收的时机 。 数据 READY ACK 1t 2t 总线周期 源 目的 总线执行写同步定时图 缺点:源部件无法知道目的 部件是否已收到数据,目的 部件也无法知道源部件的数 据是否已真正送到总线上 。 、异步传输方式 : 用控制和状态信号协调各部件数 据发送和接收的时机 异步定时方法中没有固定的时钟,定时序列中的每一步都 要靠信号在源剖析和目的部件间的来回传送实现。这些控制 信号的传送有相当可观的延迟时间。把某几步改用等待一足 够长的固定延迟时间来代替对方传送过来的信号。这种用固 定延迟时间的信号叫隐含信号。根据隐含信号的多少,可以 把异步总线定时分为非互锁、半互锁和全互锁三种方式。 优点:任何速度的设备之间都能互相进行通信。 缺点:延迟时间较长。 1t 2t 6t 3t 5t 4t 数据 READY ACK 非互锁异步总线定时图 3、半同步 : 用公共的时钟统一 控制和状态信号的产 生时机(即控制和状态信号与时钟是同步的),但数 据发送和接收的时机仍不固定。 半同步方式是利用时钟脉冲的边沿判断某一信号的状态 ,或控制某一信号的产生和消失,使传输操作与时钟同 步。 半同步方式允许不同速度的部件协同工作,主控设备 可以根据地从属设备的状态自动延长总线时钟周期,但 改变后的总线周期一定是时钟周期的整数倍。例 8086CPU的总线周期插入等待就是半同步的一个实例。 2.总线仲裁(总线判优) 当总线上的一个部件要与另一个部件进行通信 时,首先应该发出请求信号。在某一时刻,可能 有多个部件同时要求使用总线,总线仲裁控制机 构根据一定的判决原则,决定首先由哪个部件 使用总线,只有获得了总线使用权的部件,才能 开始数据传送。 用来决定某一时刻哪一个部件可以使用总线 集中控制 统一由总线控制器进行控制 分散控制 总线控制由各部件共同实现,所有部件均 按统一的规则来访问总线 总线仲裁 集中控制 1)链式查询 ( p82图 2-34) 基本原理是: 部件提出申请( BR) 总线控制器发出批准信号( BG) 提出申请的部件截获 BG,并禁止 BG信号进一步向后传播 提出申请的部件发出总线忙信号( BS),开始使用总线。 总线忙信号将阻止其他部件使用总线,直到使用总线的 设备释放总线 电路最简单,但优先级固定,不能改变 总 线 控 制 部 件 设备接口 0 设备接口 1 设备接口 n 数据总线 地址总线 BS BR BG 链式查询方式 特点: 总线回答信号 BG的传送是串行地从一个 I/O接口送 到下一个 I/O接口,若 BG到达的接口无总线请求,则继续 下传。若有总线请求, BG信号不再下传,则这个 I/O口获 得总线的使用权。 总线仲裁 集中控制 2)计数器查询 ( p83图 2-35) 基本原理是: 需要使用总线的部件提出申请( BR) 总线控制器发出递增的设备地址 提出申请的设备检查设备地址,若与自己的地址匹配,就发 出总线忙信号( BS),然后就可以使用总线 总线控制器根据检测到 BS信号时的设备地址就知道当前哪 个设备使用了总线 调整设备地址发出的顺序即可改变优先级别 仲裁过程较慢 总 线 控 制 部 件 设备接口 0 设备接口 1 设备接口 n 数据总线 地址总线 BS BR BG 计数器查询方式 特点:计数器的初值可以用程序来设置,可以方便地改 变优先级次序 。 总线仲裁 集中控制 3)独立请求 ( p84图 2-36)基本原理是: 每个设备都拥有独立的总线请求线和总线应答线 总线控制器对所有的总线请求进行优先级排队, 并响应级别最高的请求 得到响应的设备将占用总线进行传输 最常用,响应速度最快 总 线 控 制 部 件 设备接口 n 设备接口 1 设备接口 0 数据总线 地址总线 BGn BRn BG0 BR0 独立请求方式 3.总线驱动及出错处理 总线驱动 每个接口电路都要有从总线上吸收电流,因此要有总线驱动。 常用的总线驱动器是三态总线驱动器,但总线驱动器的驱动能力 有限,在扩充外设时,一个模块或部件限制 1、 2个负载。 出错处理 数据在传送过程中可能产生错误,解决的方法是在传输的数据 中增加一些冗佘位,使冗佘位与传送的数据具有特殊的关系,若 这种特殊关系存在,表示接收的数据正确,特殊关系不存在,表 示接收的数据出错。在发现错误后,处理错误的方法有两种。 总线控制器和设备接口中的总线接口部件有自动纠错功能。 若部件中无自动纠错电路,可在发现错误后发出“数据出错” 信号让 CPU来进行错误处理,通常是向 CPU发出中断请求信号, CPU 响应中断后,转入错误处理程序来处理异常情况。 三、常见的系统总线和外设总线标准 1.系统总线 ISA: IBM公司为 286/AT微型机制定的总路线标准。( 8/16位) PCI: SIG集团推出的高性能的总线结构。( 32/64位) AGP:加速图形端口,用于提高图形理能力 系统总线通常为 50100根信号线,可分为五个主要类型 数据线:决定数据宽度 地址线:决定直接选址范围 控制线:有控制、时序和中断线,决定总线功能和适应性好坏 电源线和地线:决定电源的种类及地线的分布 备用线:留给厂家或用户自己定义 信号线的标准主要涉及: 信号的名称;信号的定时关系;信号的电平;连接插件的几何 尺寸;连接插件的电气参数;引脚的定义、名称、序号;引脚 的个数;引脚的位置;电源及地线等。 最常用的三种系统总线: ISA总线、 PCI总线和 AGP总线 ISA总线 由美国 IBM公司推出的 16位标准总线,数据传输率为 16MB/s。用 于 IBM-PC/XT、 AT及其兼容机上。 ISA总线的主要特点和性能指标 I/O地址空间 位地址线可直接寻址的内存容量为 总线宽度位,最高时钟频率为,最大传输 率为 s 支持级中断 个通道 开放式总线结构,允许多个共享系统资源。 D 1 D 10 D 18 C 1 C 10 C 18 M E M C S 16 I O C S 16 D A C K 0 D A C K 5 M A S T E R D R Q 0 D R Q 5 I R Q 10 I R Q 11 I R Q 12 I R Q 13 I R Q 14 15 V GND S B H E D A C K 6 D A C K 7 D R Q 6 D R Q 7 LA 17 LA 18 LA 19 LA 20 LA 21 LA 22 LA 23 SD 15 SD 14 SD 13 SD 12 SD 11 SD 10 SD 9 SD 8 S M E M R S M E M W 总线结构图 扩展控制线 扩展地址线 扩展数据线 总线 总线是 支持 32位 /64位数据传输, PCI的诸多优点, 成为现代微机中的主流总线。其独立于处理器;在一个系统中 可以有多条 PCI总线;和处理器最近的只隔了一个桥电路。 PCI总线的主要性能 总线宽度 bit bit,总线时钟频率为 , 最大数据传输速率为 s 采用时钟同步方式 与及时钟频率无关 能自动识别外设 具有与处理器和存储器系统完全并行操作的能力 具有隐含的中央仲裁系统 采用多路复用,减少了引脚数 完全的多总线主控能力 提供地址和数据的奇偶校验 . PCI总线的系统结构 PCI一种高性能总线,在一个系统中能和其它总线共存。 处理器 处理器总线与 PC 总线桥接器 C a c h e 控制器 M e m o r y 控制器 高速缓冲器 C a c h e 主存储器 数据缓冲器 P C I I S A 桥接器 S C S I 控制器 I D E
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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