




已阅读5页,还剩100页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章微处理器与总线 基本概念 总线 堆栈等 Intel8086 8088微处理器的结构 了解三总线及堆栈的工作原理 掌握Intel8086 8088系统的构成和工作原理 重点掌握Intel8086 8088微处理器的结构 2 18086 8088微处理器的结构 一 总线 1 总线的由来 优点 传送速率高 它只受传送线本身的限制 且控制简单 缺点 机器所需要的信息传送线数量大 增加了复杂性 不便于实现机器的模块和积木化 总线的带宽 每秒钟传送的字节 总线的位宽 同时传送二进制信息的位数 总线的工作频率 也称总线的时钟频率 总线带宽BW 总线位宽 8 总线时钟频率 每个存取周期的时钟数 图中当A和A 门打开时 信息由A传至A A和C 门打开时 信息便从A传至C 由于采用了分时传送的总线结构从而大大减少了机器中信息传送线的数目 a 分时传送 多个部件并联在总线上 某一时刻 只允许一路信息在总线上传送 b 控制复杂 总线的发送端及接收端均有三态门电路 打开三态门信息经总线传送到目的端 若不传送信息 则使三态门处于高阻状态 相当于此部件在逻辑上与总线脱离联系 c 系统结构简单 便于扩展 2 总线的分类 一 按所传信息的类型 数据总线 地址总线和控制总线 2 总线的分类 二 按层次结构 前端总线 或CPU总线 系统总线 外设总线 2 总线的分类 三 总线按信息传送的方向 单向总线只能向一个方向发送信息 双向总线则可在两个方向传送 8086是Intel系列的16bit微处理器 属第三代 8086有16bit数据总线和20bit地址线 可寻址1M空间 8086采用单一 5V电源和单相时钟 频率为5MHZ 二 Intel8086微处理器的结构 1 总体功能结构 8086CPU的结构框图 8086从功能结构来讲 分为两大部分 即总线接口部件BIU BusInterfaceUnit 和执行部件EU ExecutionUnit 在执行指令时 如要取操作数 则也由BIU从内存或I O接口指定区域取出 送给EU部件去执行 BIU负责与存储器 I O接口电路传送信息 BIU负责从指定内存单元取出指令 送到指令队列缓冲器中排队 指令队列缓冲器是一个6个字节的RAM存储器 8088为4个字节 队列中最多可同时存放6个字节的指令 取来的指令是按字节顺序存放的 当队列中有两个以上的指令字节空的时候 BIU会自动地执行总线操作 继续取指令 若执行的是一条转移指令 则存放在指令队列缓冲器中的指令就没有用了 应到新的地址单元去取出 BIU新取出的第一条指令将直接送到EU中去执行 随后重新填充指令队列缓冲器 EU从BIU中的指令队列缓冲器中取得指令和数据 当指令要求将数据写到存储器和I O电路 或需从存储器和I O电路中读取数据时 EU向BIU发出请求 BIU自动完成这些操作 3 8086与传统微处理器指令执行过程比较 传统微处理器的执行方式 传统微处理器取指与执行串行进行 CPU的工作效率低 8086的指令执行方式 8086CPU取指与执行并行进行 大大减少了等待取指令所需时间 提高了CPU的工作效率 2 寄存器结构 8086CPU内部寄存器 AX accumulatorregister BX baseregister CX countregister DX dataregister 4个16bit的通用数据寄存器 它们的高8bitAH BH CH DH与低8bitAL BL CL DL又可分别看成8个8bit的寄存器 SP stackpointer堆栈指针 存放堆栈栈顶的现行地址 与SS堆栈段寄存器一起方可确定堆栈的实际地址 BP basepointer基址指针 SI sourceindex源变址寄存器 DI destinationindex目的变址寄存器 a PC是指向下一条即将要执行的指令 而IP一般是指向下一次要取出的指令 b 在8086中IP要与CS代码段寄存器的内容一起 才能得到指令的实际地址 标志寄存器格式 a 6个状态标志位 即CF PF AF ZF SF和OF 进位标志CF CarryFlag FLAG 标志寄存器 为16bit 其中9位有定义 当结果的最高位 字节 D7 字 D15 产生进位 加法运算 或借位 减法运算 时 CF 1 否则CF 0 移位和循环指令也影响CF 奇偶标志位PF ParityFlag 若结果中的低8位含有 1 的个数为偶数 则PF 1 否则PF 0 辅助进位标志AF AuxiliaryCarryFlag 在低半字节向高半字节有进位或借位时AF 1 否则AF 0 零标志ZF ZeroFlag 当运算结果为0时ZF 1 否则ZF 0 符号标志SF SignFlag SF等于最高位 对于带符号数 最高位为符号位 SF 1运算结果为负 SF 0为正 溢出标志OF OverflowFlag 带符号数运算结果超出其表达范围时 字节数 128 127 字类型数 32768 32767 OF 1 否则OF 0 1 CF 0PF 0AF 0ZF 0SF 0OF 0 2 CF 0PF 1AF 0ZF 0SF 1OF 1 b 3个控制标志位 跟踪标志TF TrapFlag TF 1 处理器进入单步方式 以便调试 CPU每执行一条指令自动产生一个内部中断以利于检查指令的执行情况 TF 0为连续工作方式 中断允许标志IF Interrupt enableFlag IF 1 允许CPU响应外部的可屏蔽中断请求 IF 0则禁止响应 IF对外部非屏蔽中断及内部中断不起作用 方向标志DF DirectionFlag 在串操作指令中 DF 0时 变址指针自动增量 DF 1时 则自动减量 3 段寄存器 CS codesegment代码段寄存器 用于定义代码段基地址 该段用于存放指令代码 DS datasegment数据段寄存器 用于定义数据段基地址 该段用于存放数据 SS stacksegment堆栈段寄存器 用于定义堆栈段基地址 该段作堆栈区使用 ES extrasegment附加数据段 用于定义附加段基地址 与DS类似 上述4个段在8086寻址的1MB空间内 其位置不受限制 可连续排列 分隔排列 部分重叠甚致全部重叠 三 8086存储器管理 段内偏移量EA EffectiveAddress 是指某存储单元离开该段段首址的字节数 逻辑地址 LogicalAddress 是一对地址 包含段寄存器的内容和段内偏移量 如某条指令的逻辑地址可表达为 CS IP 物理地址PA PhysicalAddress 是指某个存储单元实际的20bit的地址 又称绝对地址 由上面的定义可知 物理地址PA 对应段寄存器 10H十段内偏移量EA 物理地址的形成如下图所示 物理地址的形成 例如 若CS FFFFH IP 0000H 则指令所在存储单元的物理地址为 PA CS 10H IP FFFF0H 当取指令时 自动选择的段寄存器是CS 再加上IP所决定的16位偏移量 得到要取出指令具体的物理地址 当涉及到取一个堆栈操作时 自动选择的段寄存器是SS 再加上SP所决定的16位偏移量 得到堆栈操作所需要的20位物理地址 当涉及到取一个操作数时 自动选择DS寄存器或ES附加段寄存器 再加上16位偏移量 得到操作数的20位物理地址 16位偏移量取决于指令的寻址方式 如下图所示 2 28086的引脚信号及工作模式 一 8086的两种工作模式 8086采用双列直插式封装 有40个引脚 如右图所示 但总线信号数量却大于40 故8086采用了分时复用技术 部分引脚传送两种总线信号 二 8086引脚图 1 最小模式下引脚信号及功能 地址 数据总线AD15 AD0 双向 三态 AddressDataBus 2 地址 状态信号线A19 S6 A16 S3 输出 三态 Address Status S6 低电平 表示8086当前与总线相连 S5 表示标志寄存器中 中断允许位 的状态 IF S4 S3的组合指出了分段情况 如下表所示 S4和S3的组合提供的分段信息表 当CPU处于 保持响应 状态时 A19 S6 A16 S3置为高阻状态 若执行I O指令 则由于8086只访问64K个端口 在T1周期这4个引脚为低电平 下面介绍引脚中的控制信号 低电平 8086处于最大模式 高电平 8086处于最小模式 低电平有效 表示将对内存或I O端口读操作 是区分CPU进行的存储器还是I O访问 见下表 8 ALE地址锁存允许信号 输出 AddressLatchEnable 高电平有效 此信号在T1状态有效 为地址码锁存的选通信号 送地址锁存器 9 READY准备就绪信号 输入 高电平有效 是从所寻址的存储器或I O电路来的响应信号 用于解决CPU与慢速存储器或I O电路的同步问题 CPU在T3周期开始采样READY线 若为低电平 则T3之后插入TW等待周期直到READY为高电平 进入T4完成数据传送 10 INTR可屏蔽中断请求信号 输入 InterruptRequest 12 NMI非屏蔽中断请求信号 输入 Non MaskableInterruptRequest 13 RESET系统复位信号 输入 16 HOLD保持请求信号 输入 HoldRequest HLDA保持响应信号 输出 HoldAcknowledge 高电平有效 当CPU响应保持请求HOLD时 便发出HLDA高电平的应答信号 从而将总线控制权让给发出保持请求的设备 直到该设备又将HOLD信号变为低电平 CPU才收回总线控制权 将HLDA信号置为低电平 19 CLK系统时钟输入信号Clock 工作在最小模式下8086的典型配置如右图所示 2 最大模式下引脚信号及功能 两种模式下8086的24 31引脚信号表 1 QS1和QS0指令队列状态信号 输出 InstructionQueueStatus QS1和QS0编码与队列状态表 两信号编码和对应的队列状态如下表所示 这三个状态信号组成的编码表示了当前总线周期是何种操作周期 如下表所示 2 1和0编码与总线周期表 下图给出了8086在最大模式下的典型配置 8086在最大模式下的典型配置 总线收发器 锁存器 三 8086系统中的堆栈 用作数据暂时存储的一组寄存器或存储单元称为堆栈 堆栈操作有两种 压入 PUSH 和弹出 POP 而SP始终指向堆栈栈顶的新位置 1 堆栈的定义 堆栈中数据按 先进后出 后进先出 的结构方式进行处理 即新入栈的依次堆放在原来数据之上 存放信息的最后一个单元叫做栈顶 用堆栈指针SP StackPointer 指示 2 堆栈编址结构的两种形式 3 构成堆栈的两种形式 一种是使用微处理器内部的一组寄存器作为堆栈 优点 访问速度快 缺点 寄存器数量有限 另一种形式是在随机存储器RAM中开辟一个区间供堆栈使用 较为普遍 若编址采用向下生成 其堆栈操作如下图所示 当前栈顶地址为M 存内容X 信息B进栈 SP SP 1 SP指定的地址 B 信息A进栈分两步操作 SP SP 1 SP指定的地址单元 A 信息C进栈 堆栈操作示意图 向下生成 信息C出栈分两步操作 指定的目的地 C SP SP 1 信息B出栈 指定目的地 B SP SP 1 信息D进栈 SP SP 1 SP指定的地址 D 信息D出栈 信息A出栈 栈顶地址仍为M 2 38088微处理器 一 8088的功能结构 8088的内部结构与8086基本相同 都是16位CPU 只是外部数据总线的宽度不同 8086的外部数据总线宽度为16位 而8088的外部数据总线宽度为8位 故称8088为准16位CPU 内部结构不同点 8086的BIU中有一个6字节的指令队列 而8088的BIU中只有一个4字节的指令队列 当8088指令队列有1个字节空余 8086为2个字节空余 时 BIU将自动取指到指令队列 8088采用双列直插式封装 有40个引脚 如右图所示 电源为单一 5V 主时钟频率为4 77MHz 但总线信号数量却大于40 AD0 AD7采用了分时复用技术 部分引脚传送两种总线信号 二 8088引脚图 8088与8086的差别 1 8088有8根外部数据引脚而不是8086的16根 这导致对一个16位数的存储器读写 总是需要二个总线周期才能完成 2 第26引脚8088为IO M 而8086为M IO 3 8088与8086的第34引脚不同 8088中只能进行8位传输 故BHE信号就用不着了 改为SS0等效于S0 与IO M DT R组合决定最小模式下的总线操作 在最大模式下 该脚总为高电平 这三个信号的组合编码及其对应的总线操作如下表所示 中断响应读I O端口写I O端口暂停取指读存储器写存储器无作用 01010101 11110000 00110011 IO M IO M DT R和SS0的状态编码 DT R SS0 性能 2 48086CPU的总线操作与时序 1 时序概念 时钟周期 T状态周期 机器周期 总线周期 指令周期 空闲状态周期TI 等待周期Tw 2 典型总线周期 存储器及外设读写周期 中断响应周期 总线请求 响应周期 1 有利于我们深入了解指令的执行过程 2 有利于我们在编程时适当选用指令以缩短指令的存贮空间和指令执行时间 3 CPU与存贮器或I O端口连接时 要考虑如何实现时序上的配合 4 微型机用于实时控制时 必须估计或计算CPU完成操作所需时间 以便与控制过程配合 举例 1 时钟周期 T状态周期ClockCycle 2 3 1时钟周期 总线周期和指令周期 微处理器内部操作的最基本时钟单元 宽度为时钟信号相邻两下降沿之间的时钟间隔 时钟周期 2 机器周期 总线周期BusCycle 微机处理器BIU与外部电路之间进行一次数据传送操作所占用的时间 包含若干个时钟周期 3 指令周期 InstructionCycle 执行一条指令所需要的时间 由一至若干个机器周期组成 2 3 2系统的复位时序 8086CPU的RESET引脚是用于系统复位的 可完成系统复位和启动操作 复位时 CPU内部的寄存器状态为 标志寄存器FR 指令指针IP 段寄存器DS SS ES清零 指令队列清空 段寄存器CS置为FFFFH 实际上 除了CS外 所有内部寄存器都清零 启动后 从内存的FFFF0H开始执行程序 FFFF0H处一般存放一条无条件转移指令 转向系统程序的入口地址 2 3 3总线操作与时序 Intel8086微处理器采用总线复用操作方式8086的16位数据总线和地址总线的低16位是共用的 典型的总线周期如图 等待周期TW TimeWait 如果在T3周期结束之前 存储器或外设未准备好数据传送 就要启动输入CPU的READY线使之变低电平 从而在T3和T4之间插入一个或多个TW等待周期 直到READY变高 转入T4周期 完成读写操作 空闲状态周期TI TimeIdle 如果CPU内的指令队列已满且执行部件EU又未申请访问存储器或I O端口 则总线接口部件BIU就不必和总线打交道 从而进入空闲状态TI 一 8086读总线周期 举例 二 8086具有等待状态的读总线周期 三 8086写总线周期 四 8086具有等待状态的写总线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药剂与临床诊疗试题及答案
- 激光科研影响评估试题及答案
- 煤矿环保考试试题及答案
- 药品伦理与法规试题及答案
- 应试冲刺的税务师考试试题及答案
- 西医临床测试题库试题及答案分享
- 理论力学试题库及答案
- 备考育婴师考试的良好学习习惯试题及答案
- 小学儿童文学试题及答案
- 2025年北师大四年级下学期数学期中学业质量监测复习课间习题
- 手术室区域划分
- 薪酬管理第6版第3章课件
- 简易呼吸器课件
- MOST的总线概述、系统原理和应用讲解
- 水的光学特性及其对水下成像分析
- DB14∕T 2163-2020 信息化项目软件运维费用测算指南
- 05 【人教版】七年级下期中数学试卷(含答案)
- 农田水力学课程设计设计说明书
- 一年级20以内加减法练习(每页100题可直接打印)
- 北京版英语小学四年级下册单元测试卷
- 钻孔灌注桩钢筋笼自动计算公式
评论
0/150
提交评论