微机原理与接口技术复习笔记(2)——8086/8088处理器
作者:BerenCamlost
目录
第二章 8086/8088处理器
2.1 内部组成结构
如上图所示,8086内部由两个独立的部分构成:总线接口单元(BIU)、执行单元(EU)
2.1.1 BIU
-
指令队列缓冲器
BIU使用指令队列电路来实现流水线操作,该队列为先进先出队列(FIFO),有两个指针,允许预取6个字节的指令代码。 -
段寄存器
CS——代码段寄存器
DS——数据段寄存器
SS——堆栈段寄存器
ES——附加段寄存器 -
指令指针寄存器IP
程序运行中自动加一修正,指向将原执行的下一条指令的偏移存储地址
2.1.2 EU
-
标志寄存器FR
有的地方也叫做PSW
CF:无符号数进行加减时,最高位产生进位或借位时置1
OF:有符号数进行运算时,产生溢出,即超出一个字节或一个字能够表示的范围时,置1。
一个简单的判断方法是:
OF=(最高位运算后进位状态)异或(次高位运算后进位状态);//书 p26下面
PF:低八位包含的1的个数为偶数,置1
AF:第三位向第四位有进位,置1
ZF:计算结果为0,置1
SF:符号位状态
//由程序员设定,利用STx,CLx指令
DF:串操作地址步进方向,1是从大到小,0是从小到大
IF:可屏蔽中断开关,置1为打开。进入中断后自动置0
TF:置1则CPU处于单步运行方式
-
通用数据寄存器
AX、BX、CX、DX四个16位的数据寄存器,这些寄存器在某些指令中有特殊的用途,将会在第三章中介绍。
SP、BP、SI、DI四个16位的指针和变址寄存器,SP称为堆栈指针,总是指向栈顶,BP称为基数指针,SI源变址指针,目的变址指针
2.2 存储器组织结构
2.2.1 存储器的分段结构
- 每类段可以由多个逻辑段组成,每个逻辑段的长度不得大于64KB
64KB是由偏移地址是16位二进制决定的,寻址空间最大为216B=64KB
2.2.2 物理地址和逻辑地址
2.3 CPU引脚及其功能
2.3.1 最大工作模式和最小工作模式
如上图,括号中的引脚是最小工作模式下的,所以在最大和最小模式切换后,部分引脚的功能是有变化的。
-
最大最小的区别
最大模式的控制总线信号由专用的总线控制器8288产生,最小模式所有的总线控制信号都是由CPU直接产生 - 工作于何种模式由MN/MX’(以下,上划线统一用引脚右上角加’表示)引脚决定
2.3.2 控制总线引脚信号
- CLK:时钟信号输入
- NMI:上升沿触发,非屏蔽中断输入端
- INTR:高电平有效,可屏蔽中断请求输入端
- RD’:输出,低电平有效,读取指令
- WR’:输出,低电平有效,写入指令
- M/IO’:1:存储器操作;0:IO口操作
-
READY:输入,高电平有效,
1. 每个总线周期的T3状态对READY信号采样,
2. 如果没有准备好就加入一个TW状态,
3. 在TW末尾继续对READY采样,如果还没准备好就一直加。 -
TEST’:输入,低电平有效
1. 每隔5个时钟周期重复检测该信号,
2. 当检测到该信号为低电平时,等待状态结束。 -
RESET:输入,高电平有效,复位信号
1. 高电平宽度至少大于4个时钟周期。
2. 当信号有效时,CPU结束当前操作,并对CPU内的标志寄存器, IP, DS, SS, ES及指令队列清零,
3. 而将CS设置为FFFFH, 当复位信号变为低电平时,CPU从FFFF0H处开始执行程序。 - BHE’/S7:BHE和A0信号组合使用来选择读取高8位(奇地址)或者低8位(偶地址)
BHE’ | A0 | 操作 | 数据引脚 |
---|---|---|---|
0 | 0 | 从偶地址开始读写一个字(16位) | AD15~AD0 |
1 | 0 | 从偶地址单元或端口读写一个字节(8位) | AD7~AD0 |
0 | 1 | 从奇地址单元或端口读写一个字节(8位) | AD15~AD8 |
0 | 1 | 从奇地址单元开始读写一个字(16位)(在第一个总线周期,将低8位数据送至AD15~AD8, | AD15~AD8 |
1 | 0 | 在第二个总线周期,将高8位数据送至AD7~AD0。在CPU内部进行调整 | AD7~AD0 |
-
INTA’:输出,低电平有效
当外设向CPU申请可屏蔽中断INTR,CPU如果允许中断,则连续发出两个负脉冲给外设。第一个负脉冲通知外设已受理中断;外设在第二个负脉冲时向数据总线上发送中断类型码。
- ALE:输出,高电平有效,地址数据复用线的地址选择
- DEN’:输出,低电平有效,地址数据复用线的数据选择
- DT/R’:数据收发方向控制端,1:发送;0:接受
- HOLD:输入,高电平有效,看下面
-
HLDA:输出,高电平有效
其他模块向8086发送占用总线的请求HOLD信号,如果CPU允许让出总线,当前周期结束后,将总线浮空,同时发出HLDA信号。
2.4 典型时序分析(背过图)
2.4.1 最小模式下的读周期
- T1:地址上线,ALE下降沿锁存地址信号
- T2:AD0~AD15为高阻,为输入数据作准备;A19 ~A16变为S3 ~S7;注意DEN’的状态和数据信号不一致
- T3: D15~D0到数据总线,CPU获得数据。
- T4: 数据消失,控制信号复位,为下一个总线周期做准备
- 如果在T3状态,READY为低电平,则在T3后插入Tw,控制信号及数据信号不变。
2.4.2 最小模式下的写周期
- T1:地址A0~A19上线,ALE : 下降沿锁存地址
- T2: A19~A16变为S3 ~S7;DEN’有效,打开数据总线;D15 ~D0由CPU送至数据总线
2.5 典型例题
(1)指令队列的作用是_________。
A) 暂存操作数地址 B) 暂存操作数
C) 暂存指令地址 D) 暂存预取指令
(2)8086CPU经加电复位后,执行第一条指令的地址是(FFFF0H)。
(3)在T2、T3、Tw、T4状态时,S6为_______,表示8086/8088当前连在总线上。
【答案】:低电平
(4)某微处理器的主频为20MHz,由2个时钟周期组成一个机器周期,设平均3个机器周期可完成一条指令,其时钟周期和平均运算速度分别为________________。
【答案】:50ns,3.33MHz
【解析】:时钟周期即1/CLK=1/20M=50ns
;平均运算速度即完成指令的频率,即CLK/(2*3)=3.33MHz
(5)在8086的数据操作中,与总线宽度有关的控制信号是______。
A)LOCK B) HLDA C) WR及RD D) BHE
【解析】:BHE‘是高8位数据总线允许信号
(6) 8086CPU可访问的存储器的空间为1MB,实际上分奇数存储体和偶数存储体两部分,对于奇数存储体的选择信号是________,对于偶数存储体的选择信号是_______,对于每个存储体内的存储单元的选择信号是___________。
【答案】:BHE’,A0,A1~A19
2.6 勘误
- 2.3.2节第10点,表格中第二行第二列原先为1,现在已经改成0.
本文地址:https://blog.csdn.net/weixin_43830248/article/details/85957812
上一篇: 某人的签名