【微机原理及接口技术】8086/8088系统时序和微机总线

【微机原理及接口技术】8086/8088系统时序和微机总线


文章目录

  • 【微机原理及接口技术】8086/8088系统时序和微机总线
  • 前言
  • 一、8086/8088引脚信号和工作模式
    • 1.8088 的两种组态模式
    • 2.最小组态的引脚信号
    • 3.最小组态的总线形成
    • 4.最大组态的总线形成
  • 二、8086/8088典型时序
    • 1.三种周期定义及关系
    • 2.最小组态的总线时序
  • 三、总线标准
  • 总结


前言

在本篇文章当中我们会详细讲到8086/8088引脚信号和工作模式,8086/8088典型时序,以及总线标准。


一、8086/8088引脚信号和工作模式

外部特性表现在引脚信号上
学习是应关注:
1)引脚的功能:引脚信号的定义、作用;通常采用英文单词或其缩写表示;
2)信号的流向:信号从芯片向外输出还是从外部输入芯片或者是双向的;
3)触发方式:起作用的电平或脉冲,高、低电平有效,上升,下降边沿有效;
三态能力:输出正常的低电平、高电平外,还可以是输出高阻的第三态;

1.8088 的两种组态模式

两种组态构成两种不同规模的应用系统
最小组态模式
构成较小规模的应用系统
8088本身提供所有的系统总线信号
最大组态模式
构成较大规模的应用系统
8088和总线控制器8288共同形成系统总线信号(8088提供DB、AB,8288提供CB

两种组态利用MN/MX引脚区别
MN/MX
高电平为最小组态模式
MN/MX*接低电平为最大组态模式
两种组态下的内部操作并没有区别
我们接下来以最小组态展开基本原理

8088 的引脚图,40个引脚:(看起来很多我们接下来一步步介绍)
在这里插入图片描述

2.最小组态的引脚信号

对照上面的引脚图接下来我们逐个介绍:
1.数据和地址引脚
2.读写控制引脚
3中断请求和响应引脚
4.总线请求和响应引脚
5.其他引脚

  • 1.数据和地址引脚

AD7~AD0(Address/Data)
地址/数据分时复用引脚,双向、三态
这些引脚在访问存储器或I/O端口的总线操作周期中:
第一个时钟周期,输出存储器或I/O端口的低8位地址A7~A0
其它时间用于传送8位数据D7~D0
A15~A8(Address)
中间8位地址引脚,输出、三态
这些引脚在访问存储器或I/O端口时,提供全部20位地址中的中间8位地址A15~A8
A19/S6~A16/S3(Address/Status)
地址/状态分时复用引脚,输出、三态
这些引脚在访问存储器的第一个时钟周期输出高4位地址A19~A16
访问I/O端口的第一个时钟周期全部输出低电平无效
其它时间输出状态信号S6~S3

  • 2.读写控制引脚

ALE(Address Latch Enable)
地址锁存允许,输出、三态、高电平有效
ALE引脚高电平有效时,表示复用引脚:AD7~AD0和A19/S6~A16/S3正在传送地址信息
由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来
IO/M* (Input and Output/Memory)
I/O或存储器访问,输出、三态
该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O端口地址
该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址
WR* (Write)
写控制,输出、三态、低电平有效
有效时,表示CPU正在写出数据给存储器或I/O端口
RD* (Read)
读控制,输出、三态、低电平有效
有效时,表示CPU正在从存储器或I/O端口读入数据
IO/M*、WR和RD是最基本的控制信号,组合后,控制4种基本的总线周期
在这里插入图片描述
READY
存储器或I/O端口就绪,输入、高电平有效
在总线操作周期中,8088 CPU会在第3个时钟周期的前沿测试该引脚
如果测到高有效,CPU直接进入第4个时钟周期
如果测到无效,CPU将插入等待周期Tw
CPU在等待周期的前沿仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。
DEN* (Data Enable)
数据允许,输出、三态、低电平有效
有效时,表示当前数据总线上正在传送数据,可利用它来控制对数据总线的驱动
DT/R* (Data Transmit/Receive)
数据发送/接收,输出、三态
该信号表明当前总线上数据的流向
高电平时数据自CPU输出(发送)
低电平时数据输入CPU(接收
SS0* (System Status 0)
最小组态模式下的状态输出信号
它与IO/M* 和DT/R* 一道,通过编码指示CPU在最小组态下的8种工作状态

  1. 取指 5. 中断响应
  2. 存储器读 6. I/O读
  3. 存储器写 7. I/O写
  4. 过渡状态 8. 暂停
  • 3中断请求和响应引脚

INTR(Interrupt Request)
可屏蔽中断请求,输入、高电平有效
有效时,表示请求设备向CPU申请可屏蔽中断
该请求的优先级别较低,并可通过中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽
INTA* (Interrupt Acknowledge) ***
可屏蔽中断响应,输出、低电平有效
有效时,表示来自INTR引脚的中断请求
已被CPU响应
*,CPU进入中断响应周期
中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设接口它们的中断请求已被响应、并令有关外设接口将中断向量号送到数据总线
NMI(Non-Maskable Interrupt)NMI(Non-Maskable Interrupt)
不可屏蔽中断请求,输入、上升沿有效
有效时,表示外界向CPU申请不可屏蔽中断
该请求的优先级别高于INTR,并且不能在CPU内被屏蔽
当系统发生紧急情况时,可通过它向CPU申请不可屏蔽中断服务

  • 4.总线请求和响应引脚

HOLD
总线保持(即总线请求),输入、高电平有效
有效时,表示总线请求设备向CPU申请占有总线
该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权
HLDA(HOLD Acknowledge)
总线保持响应(即总线响应),输出、高电平有效
有效时,表示CPU已响应总线请求并已将总线释放
此时CPU的地址引线、数据引线具有三态输出能力的控制引线全面呈现高阻,使总线请求设备可以顺利接管总线
待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权

  • 5.其它引脚

RESET
复位请求,输入、高电平有效
该信号有效,将使CPU回到其初始状态;当它再度返回无效时,CPU将重新开始工作
8088复位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H
CLK(Clock)
时钟信号,输入
系统通过该引脚给CPU提供内部定时信号。8088的标准工作时钟为5MHz
IBM PC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns
Vcc
电源输入,向CPU提供+5V电源
GND
接地,向CPU提供参考地电平
MN/MX* (Minimum/Maximum)
组态选择,输入
接高电平时,8088引脚工作在最小组态;反之,8088工作在最大组态
TEST*
测试,输入、低电平有效
该引脚与WAIT指令配合使用
当CPU执行WAIT指令时,它将在每5个时钟周期对该引脚进行测试:如果无效,则程序踏步并继续测试;如果有效,则程序恢复运行
也就是说,WAIT指令使CPU产生等待,直到TEST*引脚有效为止

引脚小结

8088的CPU引脚提供系统总线的基本信号
可以分成三类信号线:
8位数据线:D0~D7
20位地址线:A0~A19
控制线:
ALE、IO/M*、WR*、RD*、READY
INTR、INTA*、NMI,HOLD、HLDA
RESET、CLK、Vcc、GND

“引脚”提问

问一:
CPU引脚是如何与外部连接的呢?
解答:通过总线——总线形成?
问二:
CPU引脚是如何相互配合来实现总线操作,从而控制系统工作的呢?
解答:通过控制总线时序——总线时序?
接下来我们将讲到总线形成。

3.最小组态的总线形成

1)20位地址总线——
采用3个三态透明锁存器8282进行锁存和驱动
2)8位数据总线——
采用数据收发器8286进行驱动,
也可由8088直接提供
3)系统控制信号——
由8088引脚直接提供
这里是引用
在这里插入图片描述

补充内容:三态门和D触发器

以三态门形成的三态缓冲器和以D触发器形成的锁存器是微机接口电路中最常使用的两类逻辑电路
三态门:功率放大、导通开关
器件共用总线时,一般使用三态电路:
需要使用总线的时候打开三态门(高、低电平);
不使用的时候关闭三态门,使之处于高阻
D触发器:信号保持,也可用作导通开关

D触发器

这里是引用
电平锁存:低电平锁存
上升沿锁存:通常用负脉冲上升沿触发锁存

Intel 8282

这里是引用

三态缓冲器

三态门具有单向导通和三态的特性
在这里插入图片描述
T为低电平时:
输出为高阻抗(三态)
T为高电平时:
输出为输入的反相

双向三态缓冲器

三态门具有双向导通和三态的特性
在这里插入图片描述
OE=0,导通
T=1 A→B
T=0 A←B
OE
=1,不导通

Intel 8286

在这里插入图片描述

4.最大组态的总线形成

⑴ 系统地址总线
采用三态透明锁存器8282锁存和驱动
⑵ 系统数据总线
通过三态双向缓冲器8286形成和驱动,
也可由8088直接提供
⑶ 系统控制总线
主要由总线控制器8288形成
MEMR*、MEMW*、IOR*、IOW*、INTA*
这里是引用


二、8086/8088典型时序

总线时序描述CPU引脚如何实现总线操作,从而决定系统各部件间的同步和定时。
总线操作是指CPU通过总线对外的各种操作
8088的总线操作主要有:
存储器读操作、I/O读操作
存储器写操作、I/O写操作
中断响应操作
总线响应操作

1.三种周期定义及关系

时钟周期:时钟是由振荡源产生的、幅度和周期不变的节拍脉冲,每个脉冲周期称为时钟周期,又称为T状态
总线周期:指CPU通过总线进行某种操作的过程。如存储器读周期、存储器写周期、I/O读周期、I/O写周期等。
指令周期:指一条指令经取指、译码、读操作数、执行、送结果数据的过程。
一个基本总线周期包含4个时钟周期:
4个时钟周期编号为T1、T2、T3和T4
当需要延长总线周期时,需要在T3和T4之间插入若干时钟周期Tw, Tw又称为等待周期
在两个总线周期之间,系统总线处在空闲状态,需要执行若干时钟周期Ti, Ti又称为空闲周期
在这里插入图片描述
基本总线周期由4个T状态组成:T1、T2、T3、T4
等待时钟周期Tw,在总线周期的T3和T4之间插入
空闲时钟周期Ti,在两个总线周期之间插入
一个指令周期包含若干总线周期:
任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码
任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作数的指令都将引起存储器写总线周期
只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期
CPU响应中断请求(包括INTR和NMI)时生成中断响应总线周期

CPU总线周期采用同步时序
各部件都以系统时钟信号为基准
当相互不能配合时,快速部件(CPU)插入等待周期Tw等待慢速部件(I/O和存储器)
CPU与外设接口常采用异步时序,它们通过应答联络信号实现同步操作

2.最小组态的总线时序

接下来展开介绍微处理器最基本的四种总线周期
1.存储器读总线周期
2.存储器写总线周期
3.I/O读总线周期
4.I/O写总线周期

  • 1.存储器读总线周期

在这里插入图片描述
T1状态——IO/M输出低电平,表示存储器操作;
输出20位存储器地址A19~A0;
ALE输出正脉冲,表示锁存总线输出地址
T2状态——输出控制信号RD

T3和Tw状态——检测数据传送是否能够完成
T4状态——前沿读取数据,完成数据传送

  • 2.存储器写总线周期

在这里插入图片描述
T1状态——IO/M输出低电平,表示存储器操作;输出20位存储器地址A19~A0;
ALE输出正脉冲,表示锁存总线输出地址
T2状态——输出控制信号WR
和数据D7~D0
T3和Tw状态——检测数据传送是否能够完成
T4状态——完成数据传送

  • 3.I/O读总线周期

在这里插入图片描述
T1状态——IO/M输出高电平,表示I/O操作;
输出16位I/O地址A15~A0;
ALE输出正脉冲,表示锁存总线输出地址
T2状态——输出控制信号RD

T3和Tw状态——检测数据传送是否能够完成
T4状态——前沿读取数据,完成数据传送

  • 4.I/O写总线周期

在这里插入图片描述

插入等待周期TW

这里是引用


三、总线标准

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


总结

到这里这篇文章的内容就结束了,谢谢大家的观看,如果有好的建议可以留言喔,谢谢大家啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/8246.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【编程题-错题集】非对称之美(找规律 / 贪心)

牛客对应题目链接:非对称之美 (nowcoder.com) 一、分析题目 找规律: 判断是否全都是相同字符。判断本身是否是回文。 如果这个字符串每个字符相同,不存在非回文子串,直接返回 0。如果这个字符串不是回文,输出字符串长度…

临时有事无法及时签字盖章?试试用契约锁设置“代理人”

遇到“领导休假中、在开重要会议、外出考察或者主任医生手术中等”一段时间内不方便或者无法及时签字盖章的情况怎么办?业务推进不了只能干等? 契约锁电子签及印控平台支持印章、签名“临时授权”、“代理签署”,实现指定人、指定时间段、指定…

Python专题:二、Python小游戏,体验Python的魅力

希望先通过一个小的游戏让大家先对Python感兴趣,兴趣是最好的老师。 小游戏的运行结果: 1、在sublime编辑器里面写如下代码: import randomnum random.randint(1, 100) # 获得一个随机数 is_done False # 是否猜中的标记 count 0 # 玩…

虹科Pico汽车示波器 | 免拆诊断案例 | 2010款凯迪拉克SRX车发动机无法起动

故障现象 一辆2010款凯迪拉克SRX车,搭载LF1发动机,累计行驶里程约为14.3万km。该车因正时链条断裂导致气门顶弯,大修发动机后试车,起动机运转有力,但发动机没有着机迹象;多起动几次,火花塞会变…

Python-VBA函数之旅-repr函数

目录 一、repr函数的常见应用场景 二、repr函数使用注意事项 三、如何用好repr函数? 1、repr函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:https://blog.csdn.net/ygb_1024?spm1010.2135.…

阿里云VOD视频点播流程(1)

一、开通阿里云VOD 视频点播(ApsaraVideo VoD,简称VOD)是集视频采集、编辑、上传、媒体资源管理、自动化转码处理、视频审核分析、分发加速于一体的一站式音视频点播解决方案。登录阿里云,在产品找到视频点播VOD ,点击…

数据结构复习/学习9--堆/堆实现/升降序建堆/top-k问题

一、堆与完全二叉树 1.堆的逻辑与物理结构 2.父节点与子节点的下标 3.大小根堆 二、堆的实现(大根堆为例) 注意事项总结: 注意堆中插入与删除数据的位置和方法与维持大根堆有序时的数据上下调整 三、堆排序 1.排升序建大堆效率高 注意事项…

Redis快速学习

Redis快速学习 一、 Redis快速入门1.1 初始Redis1.1.1 Redis的存储方式1.1.2 NoSQL 与 sql 之间的区别 1.2 Redis概述1.2.1 Redis是什么1.2.2 Redis有什么用1.2.3 Redis的特性 1.3 Redis安装测试1.3.1 Redis Linux安装 1.4 Redis测试工具1.5 Redis的基本知识 二、Redis的五大数…

HFSS-day3-HFSS的工作界面

工作界面也称为用户界面,是HFSS软件使用者的工作环境:了解、熟悉这个工作环境是掌握HFSS软件使用的第一步 HFSS工作环境介绍 1.HFSS工作界面简单的组成说明2.工作界面中各个工作窗口功能主菜单工具栏项目管理窗口属性窗口信息管理窗口进程窗口三维模型窗口 3.HFSS主…

看完这个,你就懂了!IT审计到底是干什么的?如何做好IT审计?

01 大家应该都知道财务审计, 通俗讲,就是查账的。 看一下公司账上的数据是否准确, 每笔账是否都能合理溯源。 那IT审计到底是干什么的呢? 它和财务审计有什么关系吗? 这么跟你说吧, 现在很多公司都…

DInet

(1)数据: 1):随机获取5帧参考帧 2):处理这5帧连续帧,:source_frames:连续5帧的crop_moth b)audio_list:连续5帧的每一帧对应的5帧音频mel特征 c):refs:fintune 固定参考帧&#xff0…

1069 微博转发抽奖

solution #include<iostream> #include<string> #include<map> using namespace std; int main(){int n, m, s, loop 0, have 0;string id;map<string, int> mp;cin >> m >> n >> s;for(int i 1; i < m; i){//编号从1开始cin…

怎么扫描二维码看图片?在线制作图片二维码的方法

随着现在二维码的广泛使用&#xff0c;用这个方式来展现内容的情况越来越多&#xff0c;比如扫码看图就是一种很常见的一种类型。将图片生成二维码后通过扫码来调取云端存储的图片查看&#xff0c;这样可以一次预览多张图片并且不会占据内存&#xff0c;能够快速的实现图片内容…

PyPI 与 GitHub 的双因素认证 | 2FA 配置指南

唠唠闲话 最近登录 GitHub 一直提示设置双重验证。除此之外&#xff0c;开发 Python 包常用的平台—— PyPI &#xff0c;也宣布从今年开始强制启用双因素认证&#xff08;2FA&#xff09;。这一变化虽然在提高安全性方面起到了积极作用&#xff0c;但也给日常工作带来了麻烦。…

情感聊天赛道用al制作一分钟一条视频无脑玩法日入500+

详情介绍 这个赛道是用al快速制作情感故事聊天 原理就是用爆款的文案 al生成情感聊天视频全网独家赛道不拥挤 这个赛道几乎没人做一片蓝海 视频号分成计划 抖音中视频都可以做 建议做视频号创作者分成计划 单价高事少 视频号的平均用户年龄都是比较大的 对于这种情感故事的…

【UE+MQTT】Mqtt Client插件使用记录

步骤 1. 在虚幻商城中下载“Mqtt Client”插件 插件地址&#xff1a;https://www.unrealengine.com/marketplace/zh-CN/product/34cbcaef7a664451a886dba37b4769bc?sessionInvalidatedtrue 文档地址&#xff1a;[虚幻引擎] DT Mqtt 插件详细说明 – DT 2. 在虚幻编辑器中确…

菜鸡学习netty源码(四)—— EventLoopGroup

1.概述 我们前面进行过分析,channel为netty网络操作的抽象类,EventLoop负责处理注册到其上的Channel处理的I/O事件;EventLoopGroup是一个EventLoop的分组,它可以获取到一个或者多个的EventLoop对象。 2.类关系图 NioEventLoopGroup的类继承图,蓝色部分为对应的java类,绿…

正点原子imx6ull内核移植网络驱动修改无法出现两个网络端口

重点1&#xff1a;手册上让我们在&iomuxc_snvs节点中做点添加网络复位信息&#xff0c;我们这里不需要做&#xff0c;直接下一步。 这里与手册不同&#xff0c;这里直接像我这样将pinctrl_enet2和pinctrl_enet1中对最后两行做修改和添加。直接将复位引脚的配置加入这个节点…

TalkingGaussian:基于高斯溅射的结构保持3D说话人头合成

TalkingGaussian: Structure-Persistent 3D Talking Head Synthesis via Gaussian Splatting TalkingGaussian&#xff1a;基于高斯溅射的结构保持3D说话人头合成 Jiahe Abstract 摘要 TalkingGaussian: Structure-Persistent 3D Talking Head Synthes…

基于树莓派的六足机器人方案设计+源代码+工程内容说明

文章目录 源代码下载地址项目介绍项目内容说明简单预览 项目备注源代码下载地址 源代码下载地址 点击这里下载源码 项目介绍 项目内容说明 hardware为项目相关硬件设计 机械结构为六足机器人的3d建模工程&#xff0c;包括本体和云台遥控器在ESP32最小开发板上集成了MPU605…