微型计算机原理与接口技术第二章总结
第二章 微处理器与总线
2.1 微处理器概述
CPU是计算机系统的核心部件,主要有六项功能,评判CPU性能的指标包括字长,意为CPU在单位时间内一次处理的二进制数的位数。CPU主要由运算器,控制器和寄存器组组成,寄存器组又可以视为运算器的一部分。
2.1.1 运算器
运算器由算术运算单元(ALU),通用或专用寄存器以及内部总线组成
根据内部总线数量分为单总线结构运算器,双总线结构运算器以及三总线结构运算器。
2.1.2 控制器
控制器的作用是控制程序的执行,是整个系统的指挥中心,有以下几项基本功能:
1)指令控制:指令在存储器中是连续存放的,只有在碰到转移类指令是才会改变取出顺序。
2)时序控制:一条指令的执行时间称为指令周期
3)操作控制:根据指令流程,确定在指令周期的各个节拍中药产生的微操作控制信号,以有效地完成各条指令的 操作过程
除此之外,控制器还要对异常情况以及某些外部请求1处理能力,如出现运算溢出,中断请求等。
控制器的内部组成:
[1]程序计数器:用来存放下一条要执行的指令在存储器中的地址
[2]指令寄存器:用来存放从存储器中取出来待执行的指令
[3]指令译码器:翻译指令寄存器中的指令
[4]时序控制部件:产生计算机工作中所需的各种时序信号
[5]微操作控制部件:是控制器的主体,用于产生与各条指令相对应的微操作。
2.2 8088/8086微处理器
在硬件结构上,8088与存储器和I/O接口进行数据传输的外部总线宽度是8位。8086为16位。他们都有40根引线,都可以在5v电压下运行。
2.2.1 8088/8086CPU的特点
1)8088/8086的指令流水线
在程序的的执行过程中,CPU的执行步骤:
1.从存储器中取出下一套指令
2.指令译码
3.如果指令需要,从存储器中读取操作数
4.执行指令
5.将结果写入存储器
在8086/8088出现后,CPU将并行实现上述步骤。将其分配给两个独立的部件:
执行单元(EU)和总线接口单元(BIU)
其中,EU负责分析指令和执行指令,BIU负责取指令,去操作数和写结果
2)内存的分段管理技术
8086/8088采取了分段管理的方式,将内存地址空间分为了多个逻辑段,每个逻辑段最大为64k个单元,每个单元的地址码长度为16位,满足其16位内部结构的要求。CPU内部具有专门存放短地址的段寄存器和存放偏移地址的地址寄存器,将二者送入地址加法器合成后,就形成了指向内存某一具体单元的地址(物理地址)
3)支持多处理器系统
8086/8088具有最小和最大两种工作模式以及内置的多任务处理能力,可通过模式选择引脚进行选择。
1.最小模式(单处理器模式):系统控制总线的信号由CPU直接产生,且构成的系统不能进行DMA传送
2.最大模式(多处理器模式):CPU能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号
2.2.2 8088CPU的外部引脚及其功能
为了减少芯片的引线,8088的许多引脚具有双重功能,采用分时复工的工作方式。

1)最小模式下的引脚
[1]A19/S6-A16/S3:地址/状态复用(输出)
T1_输出地址高4位A16-A19;T2-T4及TW_状态信息S3-S6
在这些状态信号里,S6恒等于0,S5表示中断允许标志位IF的状态,S4,S3的组 合表示了CPU正在使用的段寄存器
[2]A8-A15:中8位地址信号,三态输出
[3]AD0-AD7:地址,数据分时复用的双向信号线,三态。当ALE=1时,

[10]READY:有效时表示存储器或I/O设备已经准备好,
CPU可以进行数据传送。CPU在T3周期时采样READY信号,若其无效,
则插入若干个等待周期Tw
[11]INTR:可屏蔽中断请求输入信号,高电平有效。CPU在每条指令的最后一个
周期采样该信号,已决定是否进入中断响应周期



2.2.3 8088/8086 CPU的功能结构
1)8088/8086 CPU的内部结构

2)8088/8086 CPU的内部寄存器
CPU内部共有14个16位寄存器,分为通用寄存器(8个),段寄存器(4个)
控制寄存器(2个)
1.通用寄存器
AX:累加器。所有I/O指令都通过AX与接口传送信息,中间运算结果
也多放于AX中;
BX:基址寄存器。在间接寻址中用于存放基地址;
CX:计数寄存器。用于在循环或串操作指令中存放计数值;
DX:数据寄存器。在间接寻址的I/O指令中存放I/O端口地址;
在32位乘除法运算时,存放高16位数。AX存放低16位。
[2]地址指针寄存器
SP:堆栈指针寄存器,其内容为栈顶的偏移地址;
BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址
[3]变址寄存器
SI:源变址寄存器
DI:目标变址寄存器
变址寄存器在指令中常用于存放数据在内存中的地址
2.段寄存器
CS(代码段)指明代码段的起始地址
SS(堆栈段)指明堆栈段的起始地址
DS(数据段)指明数据段的起始地址
ES(附加段)指明附加段的起始地址
存放相应段的段基址的高16位。每个段寄存器用来确定一个逻辑段的
起始地址,每种逻辑段均有各自的用途。
它们要和BX、BP、SI、DI、IP配合形成存储单元的物理地址。
3.控制寄存器
IP:指令指针寄存器,用以存放预取指令1偏移地址。CPU取指令时总是以
CS为段基址,以IP为段内偏移地址
[1]状态标志位
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,仅针对低8位
AF(Auxiliary Carry Flag)辅助进位标志位。加(减)操作中,
若Bit3向Bit4有进位(借位),AF=1,仅针对低8位
[2]控制标志位:
TF(Trap Flag)陷井标志位,也叫跟踪标志位。TF=1时,
使CPU处于单步执行指令的工作方式。
IF(Interrupt Enable Flag)中断允许标志位。IF=1使CPU可以
响应可屏蔽中断请求。
DF(Direction Flag)方向标志位。在数据串操作时确定操作的方向
2.2.4 8088/8086 CPU 的存储器组织
1)物理地址与逻辑地址
物理地址=段基址x16+段内偏移
2)段寄存器的使用
2.2.5 CPU的工作时序
时序可分为两种不同的粒度:时钟周期,总线周期
每个时钟脉冲的持续时间就称为一个时钟周期,通过总线进行一次读或写过程称为一个
总线周期。一个总线周期包括多个时钟周期
读:








写:


