接口与通讯技术学习笔记 1-2

odin_zou 2022-10-26 16:16:08

一、微处理器的编程模型

指微处理器内部用户可访问的寄存器及相应的指令格式。

1.数据寄存器

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中。

2.段寄存器

其对内存采用分段管理,把内存分为若干个段。

例如在逻辑上分为:代码段(CS)、数据段(DS)、附加数据段(ES)、堆栈段(SS),每个段根据需要占用一定的空间段长最多氪达64KB。

段在存储器中的起始地址称为段基地址(段地址、段基址)。

段内偏移量:内存单元相对于段基地址的距离,在寻址内存单元时程序中通常只给偏移量(段由操作系统分配)。

3.指针寄存器和变址寄存器

8086有两个指针寄存器(16位):堆栈指针(SP)、堆栈基址指针(BP)。

还有两个变址寄存器(16位):源变址寄存器(SI)、目的变址寄存器(DI)。

SP和BP,与SS寄存器配合,确定堆栈段中的某一个单元。

SP存放栈顶的偏移地址,内容随入栈和出栈操作变化,由微处理器自动修改。

BP用于在访问堆栈内某个单元时,存放该单元在堆栈内的偏移地址。

4.指令指针寄存器IP

用于存放代码段中的偏移地址,与CS配合,确定下一条指令的首地址,取出指令后,由控制器修改IP的内容,使他指向下一条指令;

该寄存器用户不可访问。

5.标志寄存器(Flag,也称为程序状态字PSW)

一般包含两种标志:

(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,正常执行程序。

 

二、微处理器的工作模式

1.实模式(16位微处理器的工作模式)

存储器地址空间采用实地址,不支持虚存;

使用20位地址,支持1MB的内存空间寻址;

存储器管理采用分段机制,不支持页式管理;

无保护机制,不支持存储器保护功能;

单任务运行,不支持多任务。

2.保护模式(现代微处理器的本机模式)

采用虚拟技术,支持虚存,虚存地址空间可达64TB;

使用32位物理地址,支持4GB的物理内存空间;

采用分段与分页机制,实现虚存管理;

具有保护机制,实现存储器内容的保护与隔离;

基于虚拟机,支持多任务。

3.虚拟8086模式(V86模式)

限制了一些特权指令的执行;

既保持与8086工作模式兼容,又支持保护模式下的保护机制、分页管理及多任务机制。

 

三、现代微处理器的新技术

1.高速缓冲存储技术(Cache)

在CPU和主存之间配置一个小容量、快速的高速缓冲存储器。

弥补了速度上的差异,Cache的存取速度,比主存储器要快上一个数量级,保存经常重复使用或当前要使用的指令或数据。

CPU寻址时,首先在Cache中查找,找到则不需要去访问主存;否则才去主存中寻找。

目前微机内部一般配置多级Cache:

一般第一级称为:L1级(设置在微处理器内部),分为数据Cache和指令Cache。存取速度与主频相当,但是容量较小。

第二级称为:L2级,分为处理器片内Cache和片外Cache,速度比L1级慢,但是容量较大。

2.流水线技术(Pipeline)

就是把每条指令的执行过程分解为多个子过程,每个子过程称为流水线的级(或者段)分别由不同的电路执行,让不同指令的子过程在同一时刻重叠执行,即每一时刻有多条指令同时运行,从而提高处理器的运行效率。

3.精简指令技术(RISC)

减少指令条目,只选用最常用的指令;

简化寻址方式,降低芯片的复杂程度;

统一指令格式,固定指令长度;

设置大量寄存器,以减少访问内存次数,提高运行速度。

4.多核技术(Multi-Core)

即在一个微机系统中使用多个微处理器以提高处理速度和处理能力。

(1)多片多处理器结构

微机系统中使用一组独立(并行)的处理器芯片,各处理器芯片共享内存及总线,又称对称多处理结构SMP。

(2)单芯片多处理器

它是将多个拥有相同功能的处理器整合到一个芯片内,各处理器并行执行不同的进程。

 

...全文
189 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

175

社区成员

发帖
与我相关
我的任务
社区管理员
  • c_university_2801
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧