教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

微型计算机原理与接口技术张荣标课件第二章

来源:网络收集 时间:2026-09-26
导读: 第二章2.1 微处理器的发展1、 8086 2、 80286 3、 80386 4、 80486 5、 奔腾(Pentium) 6、 Pentium Pro 7、 奔腾II 8、奔腾III 9、Intel Pentium 4 80x86微处理器 2.2 8086微处理器 2.2.1 8086CPU内部功能结构编程结构: 就是指从程序员和使用者的角度应该看

第二章2.1 微处理器的发展1、 8086 2、 80286 3、 80386 4、 80486 5、 奔腾(Pentium) 6、 Pentium Pro 7、 奔腾II 8、奔腾III 9、Intel Pentium 4

80x86微处理器

2.2

8086微处理器

2.2.1 8086CPU内部功能结构编程结构:

就是指从程序员和使用者的角度应该看到的结构。这种结构与 CPU 内部的物理结构和实际布局是有区 别的。 执行部件EU(Execution Unit)。

从功能上分:总线接口部件 BIU ( Bus Interface Unit )

AH AL BH BL CH CL DH DL AH SP BP DI SI

AX BX CX DX 地址加法器

地址总线 (20位) 数据 总线

ALU数据总线 (16位) 暂存寄存器

(16 CS 位) DS ES SS AH IP 内部通讯 寄存器

总线控 制逻辑

8086总线

ALU

EU 控制器执行部件(EU)

Q(总线)

(队列)

(8位)

1 2 3 4 5 6总线接口部件(BIU)

状态标志寄存器

图 2.1 8086CPU的内部结构

1、总线接口部件BIU总线接口部件的功能:与CPU外部(存储器、I/O端口)传送 指令代码或数据。 CPU执行指令的工作分为两个阶段:取指令和执行指令过程。 (1) BIU的组成 4个16位的段地址寄存器 (CS、DS、ES、SS)、16位的指令指 针寄存器 IP、20位的地址加法器、6字节的指令队列缓冲器、 16位的内部暂存器和总线逻辑控制器 (2) BIU各部件的作用 ⑴ 段地址寄存器 CS:16位代码段寄存器,寄存程序代码段首地址的高16位。 DS:16位数据段寄存器,寄存数据段首地址的高16位。 ES:16位扩展段寄存器,寄存另一个数据段首地址的高16位。 SS:16位堆栈段寄存器,寄存堆栈区数据段首地址的高16位。

⑵ 16位的指令指针寄存器 IP:指出当前指令在程序代码段中的

16位偏移量。⑶ 20位的地址加法器:用来产生20位物理地址。 段基址:段寄存器提供的16位信息,左移4位。 偏移地址:EU提供的16位信息或者IP提供的16位信息。 ⑷ 6字节的指令队列缓冲器:用来存放预取指令的指令队列。

⑸ 16位的内部暂存器:暂存输入/输出信息的寄存器。⑹ 总线逻辑控制器:以逻辑控制方式实现总线上的信息传送, 如

信息分时传送等。

2、执行部件EU执行部件的功能就是负责指令的执行。 (一) EU的组成: 执行部件由 4 个通用寄存器( AX 、 BX 、 CX 、 DX )、 4 个专用 寄存器(BP、SP、SI、DI)、算术逻辑单元、EU控制器和标志 寄存器组成。 (二) EU各部件的作用 ⑴ 4个通用寄存器 AX:16位的累加器

BX:16位的基数寄存器CX:16位的计数寄存器 DX:16位的数据寄存器

⑵ 4个专用寄存器

BP:16位的基数指针寄存器SP:16位的堆栈指针寄存器 堆栈:一组寄存器或一个存储区域,用来存放调用子程序或 响应中断时的主程序断点地址,以及暂存其它寄存 器的内容。 当信息存入堆栈或从堆栈中取出信息时,都必

须严格按照 “先进后出”的规则进行。 SI:16位的源变址寄存器 DI:16位的目的变址寄存器

⑶ 算术逻辑部件ALU:功能有两个:一是进行算术/逻辑运算,二是按指令的寻址 方式计算出所寻址的16位偏移地址。

⑷ EU 控制器:是执行指令的控制电路,实现从队列中取指令、 译码、产生控制信号等。

⑸ 标志寄存器:16位状态标志寄存器(7位未用)存放操作后的状

态特征和人为设置的控制标志。所用的各位含义如下:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

OF

DF

IF

TF

SF

ZF

AF

PF

CF

8086的标志分两类:状态标志,控制标志。 状态标志表示前面的操作执行后,算术逻辑部件处在怎样一 种状态,这种状态会像某种先决条件一样影响后面的操作。 控制标志是人为设置的,指令系统中有专门的指令用于控制

标志的设置和清除,每个控制标志都对某一种特定的功能起控制作用。

状态标志有6个,即SF、ZF、PF、CF、AF和OF。

符号标志零标志

SF(Sign Flag)ZF(Zero Flag)

奇/偶标志进位标志 辅助进位标志 溢出标志

PF(Parity Flag)CF(Carry Flag) AF(Auxiliary Carry Flag) OF(Overflow Flag)。

什么是溢出?

例2.1 计算机在进行 2345H+3219H 运算后,试求状态标志SF、 ZF、PF、CF、AF、OF 的值。 0010 0011 0100 0101

十

00110101

00100101

00010101

10011110

SF=0,ZF=0,PF=0,CF=0,AF=0,OF=0。 例2.2 计算机在进行 5439H+456AH 运算后,试求状态标志SF、 ZF、PF、CF、AF、OF 的值。 0101 + 0100 1001 0100 0101 1001 0011 0110 1010 1001 1010 0011

SF=1,ZF=0,PF=1,CF=0,AF=1,OF=1。

控制标志有3个,即DF、IF、TF。

方向标志DF(Direction Flag):这是控制串操作指令用的标志。

中断标志 IF(Interrupt Enable Flag):这是控制可屏蔽中断的标志。

跟踪标志TF(Trap Flag):也称单步陷阱

CPU

取指令1 译码1 取数1

执行1 存结果1

取指令2

译码2

执行2

…

时间 (a) 指令的串行处理 BIU

取指令1 取指令2

取数1

取指令3存结果1 取指令4

…

EU

等待

译码1

执行1

译码2

执行2

…

时间 (b) 指令的并行处理

图2.2

串行处理和流水处理工作原理

2.2.2

8086CPU 内部流水线管理工作原理

① 开始执行程序, EU 等待 BIU 提取指令,当 BIU 使队列不空时, EU和BIU就开始独立进行工作。② 当BIU的指令队列中出现 2个空字节时,BIU又会自动把后面 的指令从存储器取到指令队列中,直到指令队列满为止。 ③ 当EU在执行指令过程中必须访问存储器或 I/O,端口时,EU 会请求BIU去完成访问外部的操作。 ④ 当指令队列已满,而且 EU 又无访问请求时, BIU 便进入空 闲状态。 ⑤ 当 EU 执行转移指令、调用指令和返回指令时,指令队列中 的内容自动清

除。 ⑥ 当遇到程序的执行需要转移,或者某条指令的执行过程中 需要访问内存的次数过于频繁,使 BIU 没有空闲进行指令的提 取时,EU处于等待状态,直到BIU取出指令为止。

2.2.3

8086CPU 的存储器组织

地址空间:1MB (20位)逻辑段:最大64kB,CS,DS,ES,SS。浮动、连续、分开

重叠。1、 存储器分段和段寄存器段首址:各逻辑段的第一个单元的地址。 段基址:段首址的高16位。 段基址根据段的性质存放在相应的段寄存器DS、ES、SS或 CS中。 偏移地址:段内存储单元距离段首地址的偏移量。 段基址和偏移地址都是无符号的16位二进制数,这两部分 构成了存储单元的逻辑地址。

采用分段结构的存储器中,任何一个20位物理地址都是由 它的逻辑地址变换得到的: 物理地址 = 段基址×16+偏移地址15 0000 15段寄存器 16位偏移地址

0

0 0000

加法器

1920位物理地址

0

图2.4 8086物理地址的形成

段寄存器

基址及指针寄存器 CS BP

CSSS

SP

DS

SIBX

ES

DI

图2.5

段寄存器与其它寄存器的组合

…… 此处隐藏:1648字,全部文档内容请下载后查看。喜欢就下载吧 ……
微型计算机原理与接口技术张荣标课件第二章.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1801368.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)