一、8086/8088之间的区别
相同点:8086与8088同属于第三代16位微处理器,都有最大和最小两种工作模式,支持完全相同的指令系统,两款处理器内部都有指令队列
不同点:8086的数据总线宽度为16位,而8088的数据总线宽度为8位
8086的指令队列长度为6字节,而8088的指令队列长度为4字节
最小模式引脚 8086M/IO^- ,而8088引脚IO/M^-
8086低电平34引脚定义为BHE/S7, 而8088 SSO
二、8086/8088包括两大功能部件
1.执行单元(EU,Execution Unit)
2.总线接口单元(BIU,Bus Interface Unit)
功能结构图
指令队列:
EU控制部件(控制器):译码分析指令,执行指令,暂存中间运算结果并保留结果特征
ALU算术逻辑运算单元(运算器):
FLAGS(标志寄存器): CF标志位:无符号运算,如果有进位/借位,CF指1 OF标志位:带符号运算,如果次高位向前有进位/最高位,OF指1
寄存器组:存储指令当中数据
段寄存器:
CS(Code Segment):代码段寄存器
DS(Data Segment):数据段寄存器
SS:堆栈段寄存器
ES:附加段寄存器
指令指针寄存器IP:指令指针段寄存器,指令执行到的地方
地址加法器:将16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址,以进行寻址。
总线控制逻辑:
三、执行单元EU的功能
执行过程:
1.从指令队列取出指令代码,对指令进行译码形成各种操控信号
2.在ALU中完成数据的运算,运算结果的特征保存在标志寄存器FLAGS中
3.如果指令队列为空,EU就等待
功能:
译码分析指令,执行指令,暂存中间运算结果并保留结果特征
四、总线接口单元BIU的功能
执行过程:
1.EU从指令预取队列中取走指令,指令队列出现空字节时,BIU就自动执行一次取指令周期,从内存中取出后续的指令代码放入指令预取队列中
2.从指定的内存单元或外设取EU需要的数据
3.保存EU的运算结果
4.当遇到跳转指令时,BIU就使指令复位,并从新地址取出指令,立即传给EU去执行
功能:
负责CPU与内存或输入/输出接口之间的信息传送,包括取指令、取操作数、保存运算结果
五、8086/8088 CPU为并行工作方式
在8086/8088 CPU中,EU和BIU两部分按流水线方式工作
1.EU从BIU的指令队列中取指令并执行指令
2.在EU执行指令期间,BIU可以取指令放在指令队列中。EU执行指令和BIU取指令同时进行,CPU以并行方式工作
8086/8088以前的CPU工作过程是:取指令——执行指令——取指令——执行指令
指令的读取和执行交替进行,CPU以串行方式工作。取指令期间,CPU内部ALU等部件必须等待;执行指令期间,取指令部件等待。
在EU和BIU之间增设了指令预取队列之后:在多数情况下,取指令操作和执行指令操作并行进行
减少了CPU为取指令而等待的时间
降低了对存储器存取速度的要求
指令流水线操作方式在微处理器的发展史上具有重要意义
六、8086/8088的引脚及其功能
1、20引脚GND是地引脚
40引脚Vcc是电源引脚
19引脚CLK是时钟引脚
8086/8088工作模式
1.最小模式:
系统控制总线的信号由芯片本身的引脚直接引出
2.最大模式:
系统控制总线由8088和总线控制器8288共同构成
33引脚控制最大模式/最小模式
33引脚接5v,最小模式
33引脚接地,最大模式
地址线(20根):
低8位:AD0-AD7 A:表示地址, D:表示数据 能流通地址和数据
中8位:A8-A15
高4位:A16/S3-A19/S6 A:表示地址, S:表示状态
控制信号:除去地址信号和数据信号,其余都是控制信号,在最大模式和最小模式中,控制信号不同
最小模式:
当CPU 送出20位地址信号时,同时送出ALE信号(地址锁存,允许型号,ALE=1),IO/M^- (输入/输出存储器控制信号=1,访问输入输出端口=0,放问存储器)