热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

8086处理器的总线操作流程

本文介绍了8086处理器中时序参数的概念,如建立时间和保持时间,并详细描述了8086处理器在最小模式下的总线读写操作过程。

在数字电路设计中,建立时间(Setup Time)和保持时间(Hold Time)是确保数据稳定传输的重要参数。建立时间是指在数据被时钟边沿采样前,数据需要保持不变的最短时间;保持时间则是指在数据被时钟边沿采样后,数据需要保持不变的最短时间。这些参数通常以纳秒(ns)为单位标注在触发器的数据手册中,高性能触发器的参数可以达到几百皮秒(ps)。正确设置这些时间可以有效避免触发器进入亚稳态。



在8086处理器中,时钟周期、指令周期和总线周期是基本的时间单位。其中,时钟周期是由计算机主频决定的最小时间单位;指令周期是从取指令到执行指令完成所需的时间;总线周期则是从外部存储器或端口读取或写入数据所需的时间。8086处理器的每个总线周期由四个时钟周期组成,分别标记为T1、T2、T3、T4。在某些情况下,为了适应速度较慢的外围设备,还可能插入等待状态Tw或空闲状态Ti。



8086总线周期详解



  • T1状态:CPU将地址信息发送到地址/数据复用总线(AD),指定要访问的存储单元或端口地址。

  • T2状态:CPU撤销总线上的地址信息,使低16位总线进入高阻状态,准备进行数据传输。同时,总线的高4位用于输出当前总线周期的状态信息。

  • T3状态:在地址/数据复用总线上显示CPU写入或从存储器、端口读取的数据。

  • T4状态:完成当前总线周期的操作。

  • Tw状态:当外设或存储器的速度较慢,无法及时响应CPU的数据请求时,可以通过“READY”信号线通知CPU插入一个或多个等待时钟周期Tw,直到外设准备好数据为止。

  • Ti状态:当CPU没有执行任何总线周期时,总线处于空闲状态。



8086总线读操作——最小模式



  1. T1状态开始时,M/IO和DT/R信号变为有效,CPU输出地址信号A19~A0和BHE信号,ALE信号也变为高电平。

  2. T1状态的上升沿,锁存地址和BHE信号。

  3. T1状态的下降沿(即T2状态开始时),输出状态S3~S6,此时A15~A0浮空,BHE信号无效,输出S7。RD和DEN信号变为有效,打开三态门读取数据。

  4. T3状态的上升沿检查READY信号,如果READY为高电平,则下一个状态为T4;否则插入等待时钟周期Tw。

  5. T3状态的下降沿,RD和DEN信号变为无效,数据总线浮空。

  6. T4状态的上升沿,DT/R信号变为无效。



8086总线写操作——最小模式



  1. DT/R信号为高电平,表示写操作。

  2. AD15~AD0先输出地址,随后输出数据,在T4状态的上升沿,数据总线浮空。

  3. T1状态的下降沿,输出写信号WR。


推荐阅读
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 非公版RTX 3080显卡的革新与亮点
    本文深入探讨了图形显卡的进化历程,重点介绍了非公版RTX 3080显卡的技术特点和创新设计。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 本文详细探讨了KMP算法中next数组的构建及其应用,重点分析了未改良和改良后的next数组在字符串匹配中的作用。通过具体实例和代码实现,帮助读者更好地理解KMP算法的核心原理。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • PyCharm中配置Pylint静态代码分析工具
    本文详细介绍如何在PyCharm中配置和使用Pylint,帮助开发者进行静态代码检查,确保代码符合PEP8规范,提高代码质量。 ... [详细]
author-avatar
咖喱2502894907
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有