微机原理笔记分享 课程链接:www.bilibili.com/video/BV1qv…
微机原理第二章
8086
8086处理器介绍
- 典型的16位微处理器;
- 用单一的+5V电源,被封装在标准40引脚的双列直插式(DIP)管壳内;
- 时钟频率5MHz~10MHz,内、外部数据总线均为16条;
- 地址总线20条,可寻址的存储空间为2^20=1MB其中的16条地址总线,可以访问2^16=64KB的I/O端口
- 机构示意图
8086的功能结构
- 采用了流水线处理技术: BIU(总线接口单元)和EU(指令执行单元)单独平行操作8位机执行过程
- 8086执行过程
处理器结构
- 数据缓存和指令缓存
- 多级流水线技术
存储器(储备知识)
- 存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号;
- CPU通过地址总线来指定存储单元
- 8086有20根地址总线,寻址空间为1MB
CPU对存储器的读写
-
CPU进行数据的读写,必须和外部器件进行三类信息的交互:
- 存储单元的地址(地址信息)
- 器件的选择,读或写命令(控制信息)
- 读或写的数据(数据信息)
-
总线:在计算机中连接CPU和其他芯片的导线 物理上:一根根导线的集合;
-
逻辑上划分为:
- 地址总线
- 数据总线
- 控制总线
8086寄存器
- 寄存器:CPU内部临时存放数据的器件。
数据寄存器
物理地址
-
CPU访问内存单元时要给出内存单元的地址每一个内存单元在这个存储空间中都有唯一的地址,这个唯一的地址称为物理地址。
-
8086是16位处理器
- 运算器一次最多可以处理16位的数据
- 寄存器的最大宽度是16位
- 寄存器和运算器的通路是16位
-
8086一次性能处理、传输和暂时存储16位的地址
-
8086无法直接提供20位的地址!
物理地址实现
- 8086一次性处理20位地址
8086的地址表示
-
存储单元的逻辑地址(对CPU而言)表示
- 段地址:偏移地址
-
上述由逻辑地址转换为物理地址的过程也可以表示成如下计算
- 公式:物理地址=段地址×16+偏移地址
-
其中“段地址×16”,在微处理器中是通过将段寄存器的内容(二进制数)左移4位(低位补0)来实现的,与偏移地址相加的操作由地址加法器来完成
逻辑地址和物理地址
段落寄存器
- 代码段寄存器CS
- 数据段寄存器DS
- 堆栈段寄存器SS
- 附加段寄存器ES
地址指针和变址寄存器/指令指针
- 堆栈指针寄存器SP
- 基址指针寄存器BP
- 源变址寄存器SI
- 目的变址寄存器DI
- 指令指针IP
堆栈
-
栈是一种具有特殊访问方式的存储空间。
-
堆栈主要用于中断和子程序的调用,也可用于数据的暂存。
-
栈有两个基本的操作:入栈和出栈。
- 入栈:将一个新的元素放到栈顶;
- 出栈:从栈顶取出一个元素。
-
栈的操作规则:FILO (First In Last Out,先进后出)
-
8086堆栈操作以字为单位进行
-
堆栈中的数据低字节在偶地址(低地址),高字节在奇地址(高地址)
-
堆栈(SS: SP)
标志寄存器FLAGS
- 标志寄存器的格式及各位的含义
-
状态标志(6个,重点掌握)
-
CF (Carry Flag)
- 进位标志位。加(减)法运算时,若最高位有进(借)位则CF=1
-
OF (Overflow Flag)
- 溢出标志位。当算术运算的结果超出了有符号数的可表达范围时,OF=1
-
ZF (Zero Flag)
- 零标志位。当运算结果为零时ZF=1
-
SF (Sign Flag)
- 符号标志位。当运算结果的最高位为1时,SF=1
-
PF (Parity Flag)
- 奇偶标志位。运算结果的低8位中“1”的个数为偶数时PF=1
-
AF (Auxiliary Flag)
- 辅助进位标志位。加(减)操作中,若Bit3向Bit4有进位(借位),AF=1
-
-
控制标志位(3个)
-
陷阱标志TF(Trap Flag)
- 陷井标志位,也叫跟踪标志位。TF=1时,使CPU处于单步执行指令的工作方式
-
中断标志IF (Interrupt Flag)
- 中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求
-
方向标志DF(Direction Flag)
- 方向标志位。在数据串操作时确定操作的方向
-
8086的引脚功能
-
两种工作模式
-
最小模式
- 单机系统
- 系统中所有控制信号全部由8086直接提供
-
最大模式
- 多处理器系统
- 系统中控制信号由总线控制器8288提供
-
8086引脚说明与分类
-
引脚说明
- 引脚功能
- 引脚流向
- 有效方式
-
引脚分类
- 数据总线引脚
- 地址总线引脚
- 控制总线引脚
最小模式的系统配置
- 在最小模式下,存储器和外设的地址数据与控制信号由微处理器8086自行产生,通过三片地址锁存器74LS373(或Inte1 8282)和两片总线收发器74LS245(或Intel8286)形成外设和存储器的总线信号。
- 图中8284A作为时钟发生器使为8086通过精确时钟。
地址与数据分离
数据缓冲
8086的总线结构
8086存储器分离
时钟芯片
时钟周期
- 时钟周期:主时钟的两个脉冲前沿的时间间隔
- 被称为T周期或者T状态,一个T状态就是一个时钟周期
- CPU动作的最小时间单位
- 频率f单位时间内完成周期性变化的次数
总线周期
- 总线操作:CPU通过总线完成与存储器、I/O端口之间操作
- 总线周期:执行一个总线操作所需要的时间。一个总线周期通常包含4个T周期,按时间的先后顺序分别称为T1、T2、T3、T4。
指令周期
- 指令周期:执行一条指令所需要的时间,是取指令、执行指令、取操作数、存放结果所需时间的总和。
指令周期、总线周期与时钟周期的关系
最小模式系统
-
最小系统组成
- 8086CPU
- 8284A时钟发生器3片74LS373(或8282)地址锁存器
- 2片74LS245(或8286)总线收发器
- 扩展存储器、I/O即构成系统