175
社区成员
发帖
与我相关
我的任务
分享指微处理器内部用户可访问的寄存器及相应的指令格式。
8086的数据寄存器包括4个16位的寄存器:AX、BX、CX、DX,
它们每个都可以拆分成高8位和低8位独立使用:AH、AL、BH、BL、CH、CL、DH、DL。
这四个寄存器除了做通用寄存器之外,每个均有自己特殊的用途。
(1)AX:是累加器,是所有I/O指令都必须使用这个寄存器与接口交换信息。
(2)BX:是基址寄存器,用于对存储器进行间接寻址。
(3)CX:是计数寄存器,在循环指令和串操作指令中作为隐含的计数器。
(4)DX:字除法指令中,存放余数;字乘法指令中,存放乘积的高16位;在用间接寻址方式输入输出指令中,地址必须放在DX中。
其对内存采用分段管理,把内存分为若干个段。
例如在逻辑上分为:代码段(CS)、数据段(DS)、附加数据段(ES)、堆栈段(SS),每个段根据需要占用一定的空间段长最多氪达64KB。
段在存储器中的起始地址称为段基地址(段地址、段基址)。
段内偏移量:内存单元相对于段基地址的距离,在寻址内存单元时程序中通常只给偏移量(段由操作系统分配)。
8086有两个指针寄存器(16位):堆栈指针(SP)、堆栈基址指针(BP)。
还有两个变址寄存器(16位):源变址寄存器(SI)、目的变址寄存器(DI)。
SP和BP,与SS寄存器配合,确定堆栈段中的某一个单元。
SP存放栈顶的偏移地址,内容随入栈和出栈操作变化,由微处理器自动修改。
BP用于在访问堆栈内某个单元时,存放该单元在堆栈内的偏移地址。
用于存放代码段中的偏移地址,与CS配合,确定下一条指令的首地址,取出指令后,由控制器修改IP的内容,使他指向下一条指令;
该寄存器用户不可访问。
一般包含两种标志:
(1)状态标志
微处理器根据算数运算、逻辑运算和位移操作的运算结果自动产生的。
(2)控制标志
用户在程序中根据需要,用指令设置的。
8086微处理器中16位的标志寄存器各位的定义(只用到了其中的9位):
其中有6个是状态标志位(OF、SF、ZF、AF、PF、CF),3个是控制标志位(DF、IF、TF)
(1)状态标志位
CF:称为进位标志,用于指示计算时,最高有效位向前是否有进位,或者借位。该为为1则表示有进位(或借位)产生,否则没有(字节运算就是D7位,字运算就是D15位)。
PF:称为奇偶标志,该位为1,表示运算结果的低8位中“1”的个数是偶数个,否则就是奇数个。
AF:称为辅助进位标志,用于指示运算时字节的D3位是否向D4位产生进位或借位,主要用作BCD码运算中是否需要进行十进制调整的判断依据。
ZF:称为零标志,运算结果为0,ZF=1;否则ZF=0。
SF:称为符号标志,运算结果为负时SF=1,否则SF=0。
OF:称为溢出标志,如果运算结果发生了溢出(超出了规定的数值范围),OF=1,否则为0。
(2)控制标志位
DF:是方向标志,串操作时用于指示SI和DI的变化方向。DF=0,每次串操作后,SI、DI自动递增;DF=1,每次串操作后,SI、DI自动递减。可用STD指令将DF置1,用CLD指令将DF置0。
IF:是中断允许标志,用于设置处理器是否屏蔽可屏蔽中断。IF=1,允许可屏蔽中断,即开中断;IF=0,屏蔽可屏蔽中断,即关中断。可用STI指令将IF置为1,用CLI指令将IF置为0。
TF:是陷阱(跟踪)标志,用于程序的调试和跟踪。TF=1,单步运行,TF=0,正常执行程序。
存储器地址空间采用实地址,不支持虚存;
使用20位地址,支持1MB的内存空间寻址;
存储器管理采用分段机制,不支持页式管理;
无保护机制,不支持存储器保护功能;
单任务运行,不支持多任务。
采用虚拟技术,支持虚存,虚存地址空间可达64TB;
使用32位物理地址,支持4GB的物理内存空间;
采用分段与分页机制,实现虚存管理;
具有保护机制,实现存储器内容的保护与隔离;
基于虚拟机,支持多任务。
限制了一些特权指令的执行;
既保持与8086工作模式兼容,又支持保护模式下的保护机制、分页管理及多任务机制。
在CPU和主存之间配置一个小容量、快速的高速缓冲存储器。
弥补了速度上的差异,Cache的存取速度,比主存储器要快上一个数量级,保存经常重复使用或当前要使用的指令或数据。
CPU寻址时,首先在Cache中查找,找到则不需要去访问主存;否则才去主存中寻找。
目前微机内部一般配置多级Cache:
一般第一级称为:L1级(设置在微处理器内部),分为数据Cache和指令Cache。存取速度与主频相当,但是容量较小。
第二级称为:L2级,分为处理器片内Cache和片外Cache,速度比L1级慢,但是容量较大。
就是把每条指令的执行过程分解为多个子过程,每个子过程称为流水线的级(或者段)分别由不同的电路执行,让不同指令的子过程在同一时刻重叠执行,即每一时刻有多条指令同时运行,从而提高处理器的运行效率。
减少指令条目,只选用最常用的指令;
简化寻址方式,降低芯片的复杂程度;
统一指令格式,固定指令长度;
设置大量寄存器,以减少访问内存次数,提高运行速度。
即在一个微机系统中使用多个微处理器以提高处理速度和处理能力。
(1)多片多处理器结构
微机系统中使用一组独立(并行)的处理器芯片,各处理器芯片共享内存及总线,又称对称多处理结构SMP。
(2)单芯片多处理器
它是将多个拥有相同功能的处理器整合到一个芯片内,各处理器并行执行不同的进程。