microcomputer_principle_01_8088/8086
Carpe Tu Black Whistle

8088/8086

8088/8086 是第一代使用16位机器码的cpu,一般被认为是第三代cpu,因为拥有众多现代cpu具备的特性雏形。被选为典型用于教学。

学习过程中的关注点

  1. 8088/8086 CPU 指令并行流水工作;
  2. 实地址模式下的存储器变化原理;
  3. 如何知道 CPU 当前工作状态以及指令运行结果的特征;

特点

相对于第1/2代cpu所有的特点

  • 并行流水线
    • 通过设置指令预取队列实现
  • 内存分段管理
    • 将内存氛围4个段并设置地址段寄存器,以实现对 1MB 空间的寻址
  • 协处理器 coprocessor

两种工作模式

  • 8088/8086 可工作于两种模式下
    • 最小模式
    • 最大模式
  • 最小模式为 单处理器模式,所有控制信号由微处理器独立产生
  • 最大模式为 多处理器模式,部分控制信号由外部总线控制产生
    • 用于包含协处理器的情况下

最小模式

mn

上图为最小模式 下,总线连接示意图

地址信息

ALE (adress lock enable) 信号,能够控制地址锁存器在读取外部信息后进行地址锁存。

地址信息,通过地址锁存器连接地址总线。

数据信息

数据信息,通过数据收发器连接数据总线。
数据收发器->驱动器

控制信息

最小模式下,产生的控制信息比较少,直接由自己产生,直接连接控制总线。

最大模式

mx

最大模式下地址信息与数据信息别无二致。

其他没什么变化,控制信息,会通过总线控制器和外部的控制总线连接。

两种工作模式的选择方法

  • 8088 是工作在最小还是最大模式由引线的状态决定。
    • -0 ———— 工作于最大模式
    • -1 ———— 工作于最小模式

信号引线上的上横杠,一般两个含义:
主含义 低电平有效
次含义,布尔代数中的取反。

主要引线与内部结构

主要引线

  • 8088最小模式下主要引脚信号–>四组
    • 完成一次访问内存或接口所需要的主要信号
    • 与外部同步控制信号
    • 中断请求和响应信号
    • 总线保持和响应信号

read

  1. 发出读取数据所在的目标地址(地址信号)
  • 内存储器单元地址
  • I/O 接口地址
  1. 发出读控制信号(控制信号)
  2. 送初传输的数据(数据信号)

地址线和数据线

低8位地址和低八位数据信号分时复用
在传送地址信号时为单向(锁存),传送数据信号时为双向(收发)

高4位地址信号,与状态信号分时复用。

8位地址信号

20位地址信号 —-> 可产生个编码
8位数据信号 —-> 可同时传输8bit二进制码

主要控制信号

  • #WR: 写信号;
  • #RD: 读信号;
  • IO/#M: 0表示访问内存,1表示访问接口;
  • #DEN: 低电平有效是,允许读/写操作;
  • DT/#R: 数据收发器的传送方向控制;
  • ALE: 地址锁存信号;
  • RESET: 复位信号。

当引脚上有#符号,说明,此功能在低电平时有效。

READY

ready

cpu 访问内存或者访问接口所需要的,正常的时钟周期。

cpu在访问内存或接口的时候,会像访问端发出访问信号READY(在第三个时钟周期的时候),并且权衡是否再插入时间周期来平衡cpu与内存/端口,访问速度上的差异。

插入的信息叫做 twait 周期,直到READY端为高电平。

终端请求/响应信号

  • INTR:可屏蔽中断请求输入端
  • NMI: 非屏蔽中断请求输入端
  • :中断响应输出端

可屏蔽:可以不理睬

总线保持信号

  • HOLD: 总线保持请求信号输入端。当CPU意外的其他设备要求占用总线时,通过该引脚向CPU发出请求。
  • HLDA: 总线保持响应信号输出端。CPU对HOLD信号的响应信号。

8088和8086 CPU引线功能比较

  • 数据总线宽度不同
    • 8088的外部总线宽度是8位,8086为16位
  • 访问存储器和输入输出控制信号的含义不同
    • 8088–IO/M=0 表示访问内存;
    • 8086–IO/M=1 表示访问内存。
  • 其他引脚区别

内部结构

8088

示意图的左侧为 执行单元EU,右侧为总线接口单元BIU

执行单元

  • 构成:

    • 运算器
    • 8个通用寄存器
    • 1个标志寄存器
    • EU部分控制电路
  • 功能

    • 指令译码
    • 指令执行
    • 暂存中间运算结果
    • 保存运算结果特征

总线接口段缘

功能:

  • 从内存中取指令预取队列
    • 指令预取队列是并行流水线工作的基础
  • 内存或I/O之间数据传输
  • 在转移程序是,BIU使预取队列复位,从新地址取指令,再给执行单元

总结

预取队列EUBIU两部分可以同时进行工作

  • 提高CPU效率
  • 降低对存储器存储的要求