http://mcit.xjtu.edu.cn/wlkj/wykj/ch2/ch2_2_4.htm

2.2.4 8088/8086的功能结构

 

一、8088/8086的结构

8086与8088在结构上都是由执行单元EU总线接口单元BIU两大部分构成。 以下是8088/8086的内部结构框图。

 

l 执行单元EU负责执行指令。EU在工作时不断地从指令队列取出指令代码,并完成指令 所要求的操作。它由算术逻辑单元ALU通用寄存器REGs标志寄存器FLAGSEU控制部件组成。 各部件的功能如下:

ALU:即运算器,进行算术、逻辑、移位、偏移地址计算等各种运算。

FLAGS:存放运算结果的特征,如进借位、是否为零、奇偶性、溢出等。

REGs:临时存放操作数、运算结果以及操作数地址等。

EU控制部件:接收指令队列中的指令,进行指令译码、分析,形成各种控制信号,实现EU各个部件完成规定动作的控制。

l 总线接口单元BIU负责CPU与存储器、I/O接口之间的信息 (包括数据、地址、控制命令等)传送。 包括生成访问存储器所需的20位的物理地址、不断从内存中取指令并送到指令队列、以及配合EU对指定的内存单元或者外设端口进行数据存取操作。BIU由段寄存器指令指针寄存器IP指令队列地址加法器以及总线控制逻辑组成。 各部件的功能如下:

总线控制逻辑:CPU与外总线之间的接口,实现指令、数据以及其他外部信息的存取。

段寄存器:存放存储器段的段基地址。

指令指针寄存器:存放当前要读取的指令的地址。它相当于前面介绍过的指令计数器PC。

指令队列:8088和8086的指令 队列长度分别为4字节和6字节,为FIFO(先进先出)结构。当EU从指令队列中取走指令,指令队列出现空字节时,BIU就自动执行一次取指令周期,从内 存中取出后续的指令代码放入队列中。当EU需要数据时,BIU根据EU给出的地址,从指定的内存单元或外设中取出数据供EU使用。当运算结束时,BIU将 运算结果送入指定的内存单元或外设。当指令队列空时,EU就等待,直到有指令为止。若BIU正在取指令,EU发出访问总线的请求,则必须等BIU取指令完 毕后,该请求才能得到响应。一般情况下,程序顺序执行,当遇到跳转指令时,BIU就使指令队列复位,从新地址取出指令,并立即传给EU去执行。指令队列在 EU和BIU之间起到了“桥梁”的作用(或者说是一个指令“传送带”,源源不断地把指令从BIU送到EU),使BIU和EU可以并行工作。

地址加法器:用来产生20位的物理地址。8086/8088的寄存器都是16位的,无法装载20位的物理地址。为了解决这个问题,8088/8086采用了将地址空间分段的方法,即将220(1MB) 的地址空间分为若干个64KB的段,然后用段基址加上段内偏移来访问物理存储器。8088/8086规定,分段总是从以16字节为单位的边界处开始,所以 段的起始地址最低四位总是0,即XXXX0H,这样每个段的基地址只需用16位便可表示。在不严格的情况下,也可以说段基址是段起始地址的高16位(若段 是以64KB为边界,则这种说法就是完全正确的)。由于段基址的这个特点,BIU在计算存储器的物理地址时,即是将段基址左移4位然后与段内偏移相加获 得。如下图所示。

二、8088/8086的内部寄存器

8088/8086内部有14个16位的寄存器。按其功能可分为三大类:通用寄存器(8个),段寄存器(4个)和控制寄存器(2个),如下图。

1. 通用寄存器

通用寄存器包括数据寄存器、地址指针寄存器和变址寄存器。

(1)数据寄存器(AX、BX、CX、DX)
    数据寄存器一般用于存放参与运算的数据或运算的结果。每一个数据寄存器都是16位寄存器,但又可将高、低8位分别作为两个独立的8位寄存器使用。它们的高 8位记作AH、BH、CH、DH,低8位记作AL、BL、CL、DL。这种灵活的使用方法给编程带来极大的方便,既可以处理16位数据,也能处理8位数 据。

数据寄存器除了作为通用寄存器使用外,它们还有各自的习惯用法。

l AX(Accumulator)称为累加器,常用于存放算术逻辑运算中的操作数和结果,另外所有的I/O指令都使用AX与外设接口传送信息。

l BX(Base)称为基址寄存器,常用来存放访问内存时的基地址。

l CX(Counter)称为计数寄存器,在循环和串操作指令中用作计数器。

l DX(Data)称为数据寄存器,在寄存器间接寻址的输入输出指令中存放I/O地址。另外,在做双字长乘除法运算时,DX与AX联合起来存放一个双字长数(32位),DX存放高16位,AX存放低16位。

(2)地址指针寄存器(SP、BP)
    l SP(Stack Pointer)称为堆栈指针寄存器,它在堆栈操作中存放栈顶的偏移地址,压栈或出栈操作时,SP会自动调整指向新的栈顶。

l BP(Base Pointer)称为基址指针寄存器。一般也常用来存放访问内存时的基地址。但它通常是与SS寄存器配对使用。
    作为通用寄存器,SP和BP也可以存放普通操作数。但实际上,它们更经常更重要的用途是存放内存单元的偏移地址,特别是在访问堆栈时作为指向堆栈的指针(因为它们的默认段寄存器都是SS)。

(3)变址寄存器(SI、DI)
    l SI(Source Index)称为源变址寄存器,常常在变址寻址方式中作为源操作数的索引指针。

l DI(Destination Index)称为目的变址寄存器,常常在变址寻址方式中作为目的操作数的索引指针。

作为通用寄存器,SI和DI也可以存放普通操作数。但大多数情况下都是用来存放内存单元的偏移地址。

2. 段寄存器(CS、SS、DS、ES)
    4个16位段寄存器用来存放当前可寻址的四个段的段基地址。

l CS(Code Segment Register)称为代码段寄存器,指示当前执行程序所在存储器段。用户程序不能直接对CS进行操作。

l SS(Stack Segment Register)称为堆栈段寄存器,指示当前程序使用的堆栈所在的存储器段。

l DS(Data Segment Register)称为数据段寄存器,指示当前程序使用的数据所在的存储器段。

l ES(Extra Segment Register)称为附加段寄存器,指示当前程序使用的数据所在的另外一个存储器段。

3. 控制寄存器(IP、FLAGS)
    l IP(Instruction Pointer)称为指令指针寄存器,用以存放预取指令的偏移地址。CPU取指令时总是以CS为段基址,以IP为偏移地址。每取一条指令,IP都会自动指向下一条指令。用户程序不能直接对IP进行操作。

l FLAGS称为标志寄存器,它是16位寄存器,但只使用其中的9位(包括6个状态标志和3个控制标志),如下图所示。

状态标志位记录了算术和逻辑运算结果的一些特征。如结果是否为零,是否有进借位,结果是否溢出等。

CF 进位标志位。当进行加(减)法运算时,若最高位有进(借)位时CF=1,否则CF=0。

PF 奇偶标志位。当运算结果中“1”的个数为偶数时PF=1,否则PF=0。

AF 辅助进位位。在加(减)法操作中,Bit3向Bit4有进位(借位)时AF=1,否则AF=0。

ZF 零标志位。当运算结果为零时ZF=1,否则ZF=0。

SF 符号标志位。当运算结果的最高位为1时SF=l,否则SF=0。

OF 溢出标志位。当算术运算的结果超出了带符号数的范围时OF=l,否则OF=0。

控制标志位用于设置控制条件。控制标志被设置后便对其后的操作产生控制作用。

TF 跟踪标志位。TF=1使CPU处于单步执行指令的工作方式,即每执行一条指令,就自动产生一次单步中断,从而能够逐条指令地跟踪程序的运行。

IF 中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求。IF=0禁止响应可屏蔽中断请求。IF的状态对非屏蔽中断及内部中断没有影响。

DF 方向标志位。DF=1使串操作按减地址方式进行。DF=0使串操作按增地址方式进行。

【例】8088/8086 ALU执行完以下加法操作后,各状态标志位的内容是什么?

8234H + 9BCDH

解:把上述16进制数加法写成二进制数加法

1000 0010 0011 0100

+  1001 1011 1100 1101

1 0001 1110 0000 0001

·最高位有进位,所以CF=1;

·结果中包含5个“1”,1的个数为奇数,所以PF=0;

·bit3向bit4有进位,所以AF=1;

·结果不为零,所以ZF=0;

·结果的符号位为0,所以SF=0;

·结果超出了16位有符号数的范围,所以OF=1。(从两个负数相加结果为正数也可以看出结果溢出)

转载于:https://blog.51cto.com/jkers/773886

8088/8086的功能结构相关推荐

  1. 微机原理--8088/8086微处理器详解

    外部引脚及其功能 8088是与8086同时代的微处理器,具有完全相同的指令系统. 两者唯一区别为:在硬件结构上,8088与存储器和I/O接口进行数据传输的外部数据总线宽度为8位,而8086数据总线为1 ...

  2. 8088/8086微处理器

    本文作于2022.1.27,供本人加深理解使用 一.8088/8086 CPU的特点(较上一代cpu的特点) ①采用并行流水线工作方式 通过在CPU内部结构中设置了指令预取队列来实现 ②对内存空间实行 ...

  3. 河北专接本微机原理知识点02

    微机原理 第二章 16位微处理器 一.8088/8086微处理器 8088/8086的功能结构 BIU EU 8088/8086的寄存器结构 通用寄存器 段寄存器 指令指针寄存器 标志寄存器 状态标志 ...

  4. 【微机原理】8088/8086CPU引脚

    8086是16位微处理器数据线有16根:8088是准16位微处理器,它对外的数据线是8位的.他们的地址线都是20位的,8088/8086均为40条引线.双列直插式封装 地址线决定了访问主存的容量,数据 ...

  5. DJ15 8086 中断程序设计

    目录 一.8086/8088 中断系统 1. 8086/8088 中断源类型 2. 中断向量表 3. CPU 中断类型码的获取方法 二.8259A 的引线及内部结构 1. 外部引线 2. 内部结构 3 ...

  6. 【编程】8086/8088CPU最小/大模式

    前言    先来讲讲什么是CPU吧,用现在的话来讲就是微型处理器,因为只有CUP才能用来处理,从8位微处理器16位微处理器到32位,再到现在最常见的64微(这里的几位几位,就是说CUP一次性可以处理几 ...

  7. 8086/8088CPU内部结构,引脚图,物理地址与逻辑地址

    文章目录 第2章 80X86微处理器的工作原理 2.1 80x86处理器 2.2 8086/8088微处理器 2.2.1 8086/8088微处理器的内部结构 2.2.2 8086/8088微处理器的 ...

  8. 【电路方案】基于8086多种花色流水灯设计/8086秒表计时系统/8086电子琴设计/8086多功能密码锁设计/8086电子秒表计时器时钟系统设计/8086电子计时器控制设计/8086智能电子称称重

    基于8086多种花色流水灯仿真设计-汇编教程和protues画图 关于8086多种花色的流水冻控制电路方案,下面包含了汇编程序和配套的流水灯电路图,大家可以参考一下此方案教程.1.汇编程 CODE S ...

  9. 8088微处理器主要引线

    本文作于2022.1.27,供本人加深理解 由于8088处理器主要工作在最小模式下,下文以8088工作在最小模式下为例介绍主要引线 8088CPU最小工作模式下的主要引脚信号 可以分为四组: ①完成一 ...

最新文章

  1. 南海发展大数据产业 建设新型智慧城市
  2. 在linux 下编译c程序时“ error:dereferencing pointer to incomplete type”的问题
  3. VS2010 MFC 使用GDI+给图片添加汉字
  4. 2.5配置自定义HttpMessageConverters
  5. excel文件损坏修复绝招_修复数据工具大盘点,让你快速掌握电脑数据恢复的秘密武器...
  6. Win10修改有线网卡的MAC地址
  7. apktool java_apktool 是GOOGLE提供的APK编译工具,需要JAVA运行环境,推荐使用JDK1.6或者JDK1.7...
  8. tp5 in_array 在 view页面用法
  9. java 基础 String str= “abc god 中国 java“ 反转每个单词 结果: “cba dog 国中
  10. 全国绿色计算大赛 模拟赛第三阶段
  11. Python为什么这么多人说好?
  12. leecode [保持城市天际线]代码实现
  13. 解决win2008 R2远程桌面授权过期的方法
  14. 计算机基础课程听课记录,听课记录-计算机应用基础
  15. 一个在阿里做运营同学找一个月多月工作总结出以下几点
  16. 读取Excel工具类ExcelUtils
  17. Concise,一款为hexo设计的简约而漂亮的主题
  18. Replacing LIBOR
  19. 《近匠》Worktile王涛:典型MEAN架构下的团队协作工具
  20. 美国9·11事件永远不能忘记的22张照片(内附高清大图)

热门文章

  1. 远程usb端口映射_PLC远程控制
  2. nurbs建模能用MATLAB么,NURBS(matlab生成nurbs曲线图像)
  3. 京东运营插件_技术中台产品经理必知的那些易混词儿(1):组件、套件、 中间件、插件……...
  4. android荧光进度条,CSS3 彩色荧光棒进度条
  5. 简单介绍Tomcat中catalina.out 和 catalina.log的区别和用途
  6. 关于Linux的一些个人研习感悟
  7. ie浏览器服务器ini文件在哪,怎么用IE浏览器打开电脑中的一个文件?
  8. 手写体数字识别(理解起来更简单一点)
  9. 求解最大公约数算法(包含四种方法)
  10. 计算机考研不压分的学校,考研院校里,这些学校不压分、不歧视专科生,值得关注...