ROOT
ROOT

微机原理与接口技术笔记

Q: 微处理器、微型计算机、微型计算机系统之间的区别于联系。

A: 微处理器是集成化的 CPU(带控制功能和运算器),微型计算机是由 CPU、内存、IO 接口和总线构成的裸机。微型计算机系统以微机为主体,配备相应外设和软件及电源等组成的完整计算机系统。


Q: 微机采用总线结构有什么优点?

A: 采用总线结构使得各个部件的联系变成了各个部件与总线的单一关系,一个部件只要符合总线标准,就能连接到系统中,使系统功能得到扩展。总线结构提高系统的工作效率和处理速度,简化系统结构设计,减轻软件设计与调试难度。


Q: 指令周期、总线周期、时钟周期、等待周期、空闲周期与关系

  • 指令周期:完成一条指令所需要的时间。不同指令有不同的指令周期
  • 总线周期:向内存或外设进行一次数据传输所需要的时间。一条指令周期由多条总线周期组成
  • 时钟周期:状态周期,CPU 处理动作的基本时间单位,由主频来确定。一般总线周期由 4 个状态周期 (T1, T2, T3, T4) 组成。
  • 等待周期:在总线周期的 T3 与 T4 之间 CPU 根据 Ready 信号来决定是否插入 Tw,以及几个 Tw
  • 空闲周期:两个总线周期之间的时间间隔(总线处在空闲状态)

Q: 8086 的引脚信号 BHE’和 A0 如何表示数据在总线上的格式?

BHE’ A0 数据格式
0 0 从偶地址开始传输 D0-D15 数据
1 0 从偶地址开始传输 D0-D7 数据
0 1 从奇地址开始传输 D8-D15 数据

Q: 8086 在最大和最小方式下,引脚信号有什么不同?分别给出配置。 最大和最小方式,区别在于 P24~P31 的定义不同。

MN/MX’ 工作方式 引脚信号 基本配置
高电平 最小方式 INTA’, ALE, DEN’, DT/R’, M/IO’, WR’, HLDA, HOLD 8282, 8284, 8286
低电平 最大方式 QS1, QS0, S0’, S1’, S2’ , LOCK’, RQ’/GT1’, RQ’/GT0 8282, 8284, 8286, 8288

Q: 从芯片引脚看,8086 和 8088 有什么区别?

引脚 8086 8088
P34 BHE’/S7 SS0’
P28 M/IO’ M’/IO
P8~P2, P39 AD8~AD15 A8~A15

Q: 8086 如何解决地址线和数据线复用问题?ALE 何时处于有效状态?

8086 的 16 位地址线和 16 位数据线合并,采用分时复用总线 AD0~AD15。

一个总线总线周期里,T1 状态做地址线传送地址信息;T2~T4 状态做数据线进行输入输出数据。

ALE 在 T1 状态有效,以便及时将 AD0~AD15,A16/S3~A19/S6 总线上的地址信息锁存到 8282 中。


Q: 空闲状态的含义

空闲状态是两个总线周期之间处于空闲的时间间隔,无数据传输操作


Q: 简述 CPU 对 INTR 中断响应条件和中断响应过程。

响应条件:

  • 一条指令执行完
  • 当前无 NMI 非屏蔽中断请求和 HOLD 总线请求
  • INTR 信号有效
  • 中断允许标志位 IF=1

响应过程:

  1. CPU 发出 INTA’信号
  2. CPU 在数据总线上读取中断类型码
  3. 将标志寄存器入栈
  4. 清除 IF, TF 位(关中断)
  5. 将 CS,IP 寄存器入栈
  6. 将中断向量表中的中断向量放入 CS, IP 寄存器

Q: 简述 CPU 对 NMI 中断响应条件和中断响应过程。

响应条件:

  • 一条指令执行完
  • 当前无 HOLD 种现请求
  • NMI 信号有效

响应过程:

  1. 标志寄存器入栈
  2. 清除 IF, TF 位
  3. 将 CS, IP 入栈
  4. 执行 2 号中断,将中断向量表中的中断向量放入 CS, IP 寄存器

8086/8088 CPU 在中断服务程序中是如何返回的。

通过执行 IRET 返回:

  1. (SS:SP)->IP
  2. SP+=2, (SS:SP)->CS
  3. SP+=2, (SS:SP)->FR

Q: IO 接口,IO 端口,端口地址,IO 端口独立编址

IO 接口就是把外设与微型计算机连接起来实现数据传输的 控制电路

IO 端口就是 IO 接口中可供 CPU 读写的寄存器。

端口地址就是为每个端口设置的编号。

IO 端口的独立编址就是端口的地址空间和内存的地址空间分开,使用专用的指令 (IN/OUT) 来访问。


Q: 中断、中断源、中断向量、中断向量表

中断是 CPU 与外设 数据交互 的一种方式罢了。当 CPU 有紧急事件需要处理,暂停当前程序,转去处理该事件,中断处理完毕后回到原程序继续执行。

中断源是引起中断的原因或请求中断的来源。

中断向量是中断处理程序的入口地址。

中断向量表用来存储中断服务程序入口地址的表格。


8255A(可编程并行接口芯片)的端口寻址

8255A 有三个数据端口 A, B, C,均可对它们进行读写操作,还有一个只能写的控制端口,用于存放命令字。在程序中用 IO 指令对它们进行访问,需要弄清端口与端口地址之间的关系。8255A 有 A1, A0 两条输入地址引脚,用以区分不同端口。

在 8086 中,8255A 的 4 个端口地址是偶地址连续的;在 8088 中,8255A 的 4 个端口地址是连续的。

因为在 8086 中,系统地址总线的 A2, A1 分别与 A1, A0 连接,所以地址总线低位 A0 总是 0;而在 8088 中,系统地址总线的 A1, A0 分别与 A1, A0 连接。


Q: 在 8253定时器 / 计数器 中,与外部联系的三个引脚 CLK, GATE, OUT 分别起到什么作用?

  • CLK 作为计数输入脉冲,当 CLK 脉冲来时,CE 进行 -1 操作。当通道用作计数器时,CLK 一般输入为非周期计数脉冲;当通道用作定时器时,CLK 输入的是周期性脉冲。
  • GATE 作为输入控制信号,GATE=1 允许对 CLK 计数,GATE=0 禁止对 CLK 计数;对于方式 1 和方式 5,GATE 上升沿触发启动计数。
  • OUT 在计数工作下,作为计数满输出信号;在定时工作下,OUT 在不同方式下在规定时间输出相应的波形。

Q: 简述 8253 的 6 种工作方式特点

工作方式 OUT 初始值 计数器启动方式 GATE 门控信号 OUT 输出波形
0 0 软件启动,单次计数 高电平 当计数结束时,输出高电平
1 1 硬件启动,单次计数 上升沿 输出一个宽度为 n 个 CLK 脉冲周期的负脉冲
2 1 软件 / 硬件启动,重复计数 高电平 / 上升沿 每当 CE 为 1 时,输出一个宽度为一个 CLK 脉冲周期的负脉冲
3 1 软件 / 硬件启动,重复计数 高电平 / 上升沿 输出周期性对称方波或近似对称方波
4 1 软件启动,单次计数 高电平 当计数结束时,OUT 输出一个宽度为一个 CLK 的负脉冲
5 1 硬件启动,单次计数 上升沿 当计数结束时,OUT 输出一个宽度为一个 CLK 的负脉冲

Q: 8253 初始化编程包括哪些内容?顺序上有什么要求?

先设置方式控制字,后设置计数初始值。两者不能颠倒。写入方式控制字和计数初始值的端口地址也不一样,若初始值超过 1 个字节,先写 低字节 ,后写 高字节


Q: 异步串行方式特点、和字符的关系

异步通信,是指传输数据以字符为单位,字符之间完全 异步 ,字符内 位与位 传送基本上是 同步 的。有以下特点:

  • 以字符为单位传输
  • 相邻字符之间的时间间隔任意
  • 接收时钟和发送时钟频率相近即可

Q: 8251A(可编程串行通信接口)初始化

支持一下
扫一扫,支持Netcan
  • 微信扫一扫
  • 支付宝扫一扫