




已阅读5页,还剩84页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
封面 8086微处理器 第2章 Intel8086微处理器的结构 Intel8086CPU的总线周期与时序 掌握Intel8086系统的构成和工作原理 重点掌握Intel8086微处理器的结构 掌握时序的概念 掌握基本的总线周期时序 2 18086微处理器的结构 8086CPU是采用HMOS工艺Intel系列16位微处理器 其基本特性如下 双列直插 40引脚 单一 5V电源 时钟频率 5MHz 10MHz 16位外部数据总线 20位外部地址总线 可寻址1MB地址空间 并行流水线处理结构8086CPU支持多处理器系统 为提高系统的数据处理能力或提高CPU的效率 可以与数值协处理器8087或其他协处理器一起 方便地构成多处理器系统 2 1 18086的功能结构 8086CPU的结构框图 8086从功能结构来讲 分为两大部分 即总线接口部件BIU BusInterfaceUnit 和执行部件EU ExecutionUnit 1 4个16位段地址寄存器及一个20位物理地址加法器 8086CPU有20位外部地址总线 对应的存储器地址空间范围是1MB CPU寻找某个地址单元时 需要给出该单元的20位地址 该地址称为存储器的物理地址 由于CPU内部的所有寄存器 包括段寄存器 都是16位的 用它们作地址寄存器时 只能直接寻址到64KB地址范围 故在8086CPU中采用了分段技术对存储空间进行管理 CPU将lMB的存储空间分成若干个逻辑段 每个逻辑段对应一片连续的存储空间 其长度任意 但最大不超过64KB 当要访问逻辑段内的某一单元时 只要给出逻辑段的起始地址以及该单元与起始地址之间的距离 又称偏移量 或偏移地址 以字节数计量 即可确定其物理地址 图2 2逻辑段与段内寻址 逻辑段可在整个lMB存储空间内浮动 即可重定位在不同的位置 但逻辑段的起始地址必须能被16整除 即段起始地址必须是XXXX0H的形式 段起始地址的高16位称为段基址 它在访问存储器之前被置于某个段地址寄存器中 CPU访问存储器时 根据所执行的操作 选择某个段寄存器 将其中的内容左移4位形成20位地址的高16位 低4位自动添0 然后通过20位地址加法器再与16位偏移量相加 形成对应的物理地址 如图2 3所示 图2 38086物理地址的形成 按不同的用途 段地址寄存器可分为代码段寄存器CS 数据段寄存器DS 附加段寄存器ES和堆栈段寄存器SS 它们分别用于存放当前代码段 数据段 附加段和堆栈段的段基址 存储器采用分段结构 方便了CPU对存储器的访问 当所访问的存储器处于同一逻辑段时 可以不改变段寄存器的值 只需改变段内的偏移地址 此即段内寻址 当需要改变段寄存器的值寻找新的地址时 称为段间寻址 2 16位指令指针IP IP用于存放下一条要从内存中取出来的指令的有效地址EA 即偏移地址 在取出指令时通常进行IP 1 IP的操作 但在执行转移指令 调用指令时 装入IP中的是相应的转移目的地址 由段基址和偏移地址两部分构成了存储器的逻辑地址 如 取指令时CS IP 3000 2000H CS IP 3100 1000H等 这两个不同的逻辑地址对应的物理地址都是32000H 不同的逻辑地址可能对应同一个物理地址 用于按先后次序存放待执行的指令 供EU按顺序取去执行 4 总线控制逻辑总线控制逻辑负责产生并发出总线控制信号 实现对存储器和I O端口的读 写操作 3 6字节的指令队列 2 执行部件EU EU的主要功能是执行指令 EU由以下几个部分组成 1 算术逻辑单元ALUALU用于完成16位或8位的二进制数的算术逻辑运算 2 标志寄存器FRFR用来反映最近一次运算结果的状态以及存放控制标志 3 通用寄存器组包括4个数据寄存器AX BX CX DX 4个专用寄存器SP BP DI SI 4 EU控制器从BIU中的指令队列获取指令 经过指令译码电路形成各种定时控制信号 向各功能部件发送相应的控制命令 以完成每条指令所规定的操作 3 BIU和EU的协调动作 8086CPU中 BIU和EU是同时工作 但并不是完全同步的 BIU负责从内存中取出指令 并送到指令队列供EU执行 BIU必须保证指令队列始终有指令可供执行 当指令队列有2个字节的空余时 BIU将自动取指令到指令队列 EU直接从指令队列中取指令执行 由于指令队列中至少有一个以上的指令字节 EU就可以节省因取指令而访问内存的等待时间 8086与传统微处理器指令执行过程比较 传统微处理器的执行方式 传统微处理器取指与执行串行进行 CPU的工作效率低 8086的指令执行方式 8086CPU取指与执行并行进行 大大减少了等待取指令所需时间 提高了CPU的工作效率 2 1 28086CPU的寄存器结构 8086CPU内部寄存器 1 通用寄存器组 1 数据寄存器数据寄存器包括AX BX CX DX等4个16位寄存器 主要用来保存算术 逻辑运算的操作数 中间结果或地址 它们既可以作为16位寄存器使用 也可以将每个寄存器高字节和低字节分开作为两个独立的8位寄存器使用 从而得到8个8位寄存器AL BL CL DL AH BH CH DH等 可用于8位数据的运算和处理 2 指针寄存器 堆栈指针SP中存放的是当前堆栈段中栈顶的偏移地址BP是访问堆栈时的基址寄存器 存放的是堆栈中某一存储单元的偏移地址 SI和DI是变址寄存器 分别为访问数据段提供操作数的偏移地址 在串操作指令中规定 SI存放源操作数 即源串 的偏移地址 故称之为源变址寄存器 DI存放目的操作数 目的串 的偏移地址 故称之为目的变址寄存器 二者不能混用 以上8个16位通用寄存器在一般情况下都具有通用性 但是为了缩短指令代码的长度 某些通用寄存器又规定了专门的用途 例如 在字符串处理指令中约定必须用CX作为计数器存放串的长度 这样 在指令中就不必给出CX寄存器名 缩短了指令代码的长度 简化了指令的书写形式 这种使用方法称为 隐含寻址 隐含寻址实际上就是在指令中使用了一些规定的通用寄存器 且这些通用寄存器不直接在指令中体现出来 表2 1列出了8086CPU中各通用寄存器的专门用途和隐含性质 四个段寄存器分别用于CPU在访问内存时作为段基址 但某次访问时究竟是取哪一个段寄存器的内容 则要取决于CPU当前执行什么操作 对于取指操作 是选取CS段寄存器 对于存取数据操作 是选取DS段寄存器 对于压栈和弹栈操作 是选取SS段寄存器 在对目的串操作时 是选取ES段寄存器 2 段寄存器组 上述各种操作的段寄存器选取规则称为基本段约定 采用基本段约定的最大好处是 在指令中就不必给出段寄存器名 可以缩短指令代码的长度 简化指令的书写形式 8086CPU允许在某条指令中突破基本段约定 如存取数据的基本段约定为数据段 但在某条指令完全可以临时改变为代码段 或附加段 或堆栈段 这种情况称为段超越 8086的基本段约定和允许的段超越如表2 2所示 表2 28086的基本段约定和允许的段超越 a PC是指向下一条即将要执行的指令 而IP一般是指向下一次要取出的指令 b 在8086中IP要与CS代码段寄存器的内容一起 才能得到指令的实际地址 标志寄存器格式 a 6个状态标志位 即CF PF AF ZF SF和OF 进位标志CF CarryFlag 2 标志寄存器FR 当结果的最高位 字节 D7 字 D15 产生进位 加法运算 或借位 减法运算 时 CF 1 否则 CF 0 移位和循环指令也影响CF 奇偶标志位PF ParityFlag 若结果中的低8位含有 1 的个数为偶数 则PF 1 否则 PF 0 辅助进位标志AF AuxitiaryCarryFlag 在低半字节向高半字节有进位或借位时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 即 OF Cs CS 1 b 3个控制标志位 追踪标志TF TraceFlag TF 1 处理器进入单步方式 以便调试 CPU每执行一条指令自动产生一个内部中断以利于检查指令的执行情况 TF 0为连续工作方式 中断允许标志IF Interrupt enableFlag IF 1 允许CPU响应外部的可屏蔽中断请求 IF 0则禁止响应 IF对外部非屏蔽中断及内部中断不起作用 方向标志DF DirectionFlag 在串操作指令中 DF 0时 变址指针自动增量 DF 1时 则自动减量 2 28086的引脚信号及工作模式 8086的两种工作模式 8086采用双列直插式封装 有40个引脚 如右图所示 但总线信号数量却大于40 故8086采用了分时复用技术 部分引脚传送两种总线信号 2 2 18086的引脚及其功能 1 最小模式下引脚信号及功能 1 地址 数据总线AD15 AD0 双向 三态 2 地址 状态信号线A19 S6 A16 S3 输出 三态 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地址锁存允许信号 输出 高电平有效 此信号在T1状态有效 为地址码锁存的选通信号 送地址锁存器 9 READY准备就绪信号 输入 高电平有效 是从所寻址的存储器或I O电路来的响应信号 用于解决CPU与慢速存储器或I O电路的同步问题 CPU在T3周期开始采样READY线 若为低电平 则T3之后插入TW等待周期直到READY为高电平 进入T4完成数据传送 10 INTR可屏蔽中断请求信号 输入 12 NMI非屏蔽中断请求信号 输入 13 RESET系统复位信号 输入 16 HOLD保持请求信号 输入 17 HLDA保持响应信号 输出 高电平有效 当CPU响应保持请求HOLD时 便发出HLDA高电平的应答信号 从而将总线控制权让给发出保持请求的设备 直到该设备又将HOLD信号变为低电平 CPU才收回总线控制权 将HLDA信号置为低电平 19 CLK系统时钟输入信号 2 最大模式下引脚信号及功能 引脚编号 最小模式 最大模式 2425262728293031 QS1QS0S0S1S2LOCKRQ GT1RQ GT0 INTAALEDENDT RM IOWRHLDAHOLD 两种模式下8086的24 31引脚信号表 1 QS1和QS0指令队列状态信号 输出 QS1和QS0编码与队列状态表 两信号编码和对应的队列状态如下表所示 这三个状态信号组成的编码表示了当前总线周期是何种操作周期 如下表所示 2 1和0编码与总线周期表 下图给出了8086在最大模式下的典型配置 2 2 2最小工作模式及其系统结构 8086CPU的最小工作模式 指的是微型计算机系统中只有8086或8088一个微处理器在这个系统中 所有的总线控制信号直接由CPU提供将8086CPU的MN 引脚接 5V即可使8086工作在最小模式下 工作在最小模式下8086的典型配置如右图所示 8284A与振荡源之间有两种连接方式当采用脉冲发生器作为振荡源时 其输出端应与8284A的EFI端相连 F 接高电平 当采用晶体振荡器作为振荡源时 应连在8284A的X1和X2两引脚之间 F 接电源地无论采用哪种方法 8284A输出的时钟频率均为振荡源频率的三分之一 图2 98284A与CPU的连接 2 2 3最大模式和系统组成 8086CPU的最大模式 是微机系统中包含有两个或多个微处理器 其中8086是主处理器 其余的是协助主处理器工作的协处理器 如数值运算协处理器 8087 和I O协处理器 8089 等 图2 11是8086系统在最大模式下的典型配置结构框图 图2 118086在最大模式下的典型配置 图2 128288的连接 8086系统中的堆栈 按 后进先出 原则 用作数据暂时存储的一组寄存器或存储单元称为堆栈 堆栈操作有两种 压入 PUSH 和弹出 POP 而SP始终指向堆栈栈顶的新位置 1 堆栈的定义 堆栈中数据按 后进先出 的结构方式进行处理 即新入栈的依次堆放在原来数据之上 存放信息的最后一个单元叫做栈顶 用堆栈指针SP StackPointer 指示 2 构成堆栈的两种形式 一种是使用CPU内部的一组寄存器作为堆栈 优点 访问速度快 缺点 寄存器数量有限 另一种形式是在随机存储器RAM中开辟一个区间供堆栈使用 较为普遍 3 堆栈编址结构的两种形式 当前栈顶地址为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 1 时钟周期 T状态周期ClockCycle 2 38086总线周期与时序 是时钟频率 主频 的倒数 作为一种频率固定的周期性脉冲信号 它是计算机系统中的时间基准和时序分析的基本单位 也是CPU的一个重要性能指标 例 8086的主频为5MHz 时钟周期则为200ns 8086 1的主频为10MHz 时钟周期则为100ns 2 3 1时钟周期 总线周期和指令周期 2 机器周期 总线周期BusCycle 微机处理器BIU与外部电路之间进行一次数据传送操作所占用的时间 包含若干个时钟周期 3 指令周期 InstructionCycle 执行一条指令所需要的时间 由一至若干个机器周期组成 2 3 2总线操作与时序 总线操作是CPU与外部进行信息交换的过程 8086CPU的总线操作主要包括 总线读 写 总线保持或总线请求 允许 中断响应 暂停 系统复位和启动等操作 操作时序则是指CPU在操作过程中各种有效信号在总线上出现的先后次序 Intel8086微处理器采用总线复用操作方式8086的16位数据总线和地址总线的低16位是共用的 典型的总线周期如下图 2 3 3基本的总线周期 等待周期TW 如果在T3周期结束之前 存储器或外设未准备好数据传送 就要启动输入CPU的READY线使之变低电平 从而在T3和T4之间插入一个或多个TW等待周期 直到READY变高 转入T4周期 完成读写操作 空闲状态周期TI 8086执行部件EU和总线接口部件BIU在一定程度上独立并行工作 只有当BIU为了填满指令队列或EU执行指令需要与外部交换数据时 申请一个总线周期 此时BIU才执行一个总线周期 因此在两个总线周期之间 可能会存在一些BIU空闲时钟周期 2 3 48086读总线周期 读总线是指CPU从存储器或I O端口读取数据的操作 8086最小模式下的总线读操作时序 如图2 13 读总线周期一般包括T1 T2 T3 T4四个T状态 当存储器或I O端口的速度较慢 跟不上CPU的速度时 就在T3和T4状态间插入若干个等待状态Tw 读总线周期中 CPU发出信号指出本周期是读存储器 高电平 还是读I O 低电平 DT 保持低电平 用于控制数据总线收发器的数据传输方向为CPU接受外部输入的数据 举例 2 具有等待状态的读总线周期 2 3 58086写总线周期 写总线是指CPU经过总线将数据输出到存储器或I O端口的操作 总线写操作时序与总线读操作时序基本相似 不同点有 1 CPU输出的有效信号是 表示是写操作 信号在整个周期内无效 2 DT R在整个总线周期为高电平 用于控制数据总线收发器的传送方向为CPU向外部发送数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年房地产项目建筑抗震顾问服务合同范本
- 2025版外墙清洗与外墙涂料保护服务协议
- 2025版膨润土矿产资源承包合同模板
- 2025年度旅游服务管理系统购买与升级合同
- 2025年餐厅装饰装修工程品质保证合同
- 2025保定高端住宅托管出租合作协议
- 2025版施工环保责任协议模板及下载
- 2025版企业劳动合同中保密协议与竞业限制规定
- 2025年度塔吊及人货电梯施工劳务分包项目合作协议
- 2025年度智能机器人项目合同授权委托管理制度
- 河北单招考试五类职业适应性测试试题+答案
- 高中数学 人教A版 必修一 《集合与常用逻辑用语》 1.1集合的概念
- 深圳某电厂锅炉维修改造施工组织设计-new(常用版)
- GB/T 4950-2021锌合金牺牲阳极
- 中药调剂技术-课件
- 证券从业考试基础模拟卷二(题目+解析)
- 水轮发电机讲义课件
- 信息系统运维服务方案
- 化工试生产总结报告
- 导数与原函数的对称性 微专题课件-2023届高三数学一轮复习
- 刑法各论(第四版全书电子教案完整版ppt整套教学课件最全教学教程)
评论
0/150
提交评论