第2章80x86微处理器资料

合集下载

微型计算机原理及应用第二章 80x86处理器

微型计算机原理及应用第二章 80x86处理器

8086
8088 80286 80386 80486 Pentium Pentium II
1978
1979 1982 1985 1990 1993 1997
16
准16 16 32 32 64 64
2.9
2.9 13.4 27.5 120~160 310~330 750
CPU 4.77 内部 数据 6~20 传送 的宽 12.5~33 度
8086CPU地址引脚有
根,但CPU内部可以提供地址信息的寄存器是

采用段结构的内存管理方法
1)段寄存器
代码段寄存器CS(Code Segment):存储当前的代码段的段地址
数据段寄存器DS(Data Segment):存储当前的数据段的段地址 堆栈段寄存器SS(Stack Segment):存储当前的堆栈段的段地址
功能
执行单元EU(Execution Unit) 负责指令的译码执行
1、总线接口单元BIU 取指令时,BIU负责从内存的指定地址处取出指令,送到指令 队列流中排队; 执行指令中需要操作数时,也由BIU从内存的指定地址中取出, 送给EU参加运算。
代码段寄存器CS(Code Segment) 4个16位段寄存器 数据段寄存器DS(Data Segment) 堆栈段寄存器SS(Stack Segment) 附加数据段寄存器ES(ExtraSegment) 指令指针寄存器IP(InstructionPointer) 地址加法器 指令队列缓冲器
无 无 有 8K 8K数据 8K指令 32K,512K二级 高速缓存
微型计算机采用三级存储器组织结构:高速缓冲存储器Cache、主存和外存。
使用频 率较高
微处理器 CPU 高速缓冲存储器 (Cache) 主存储器 (主存) 外存储器 (外存) 硬盘、软 盘、光盘

第2章 80x86微处理器

第2章 80x86微处理器
第二章 80X86微处理器
2.1 8086微处理器 2.2 32位微处理器 2.3 80X86中断系统

2.1 8086微处理器
主要内容: 8086CPU的内部结构
8086内部寄存器
一、 8086CPU的内部结构
8086是 Intel 公司于1978年6月推出的16 位 微处理器,它们的主要特点是: 数据线为 16 位,可进行 8 位(字节)和 16 位(字)运算; 地址线为 20 位,可寻址1MB 存储空间; 时钟频率为 5~8 MHz。
说明:这两类寄存器均服务于内存地址的确定。
2.2
6.调试寄存器
32位微处理器
31 断点0 断点1 断点2 断点3 由Intel公司指定 由Intel公司指定 调试状态寄存器 调试状态寄存器 0 DR0 DR1 DR2 DR3 DR4 DR5 DR6 DR7
由8个32位寄存器组成,程 序员在编程及调试过程中使 用这些寄存器完成程序的调 试。
存储器的逻辑分段

CPU对存储器实行“分段”管理 即将存储空间分为若干逻辑段,每个逻辑段长度 ≤64 KB;16位的总线足可以管理和标记它

某存储单元的实际地址用段的基本地址(段基址) 加该存储单元在该段中的相对位置(偏移地址) 共同表示
物理地址的形成方式
由逻辑地址(即段基地址和偏移地址)通过计算,转换得到



内存中取出指令放入指令队列(等待CPU取走) EU执行指令时:按EU的指令,向内存或I/O接口 写运算结果,从内存或I/O接口取数据 控制外部总线,保证各种信息的正确传送
补充:存储器物理地址的形成主要内容 Nhomakorabea 存储器结构
物理地址的形成

80X86微处理器

80X86微处理器
第2章 80X86微处理器
2.1
引脚信号:
8086/8088内部结构
最小模式下的引脚
① INTA#
② ALE ③ DEN#
中断响应信号输出
地址锁存允许信号输出 数据允许信号
④ DT/R#
⑤ M/IO# ⑥ WR# ⑦ HOLD ⑧ HLDA
数据收发信号输出
存储器/输入输出控制信号输出 写信号输出 总线保持请求信号输入 总线保持响应信号输出
2.1.4工作模式
8086/8088内部结构
1、几个基本概念
(1)时钟周期:是CPU的基本时间计量单位,它 由计算机主频决定。8086主频是5MHz,一个时 钟周期就是200ns。 (2)总线周期:BIU完成一次访问存储器操作所需要的时间 称作一个总线周期。一个最基本的总线周期由4个时钟周 期组成,习惯上称4个状态,即T1,T2,T3,T4状态。只有在 CPU和内存或I/O端口之间传递数据以及取指令时,CPU才 执行总线周期。
OF DF IF
9
TF
8ห้องสมุดไป่ตู้
SF
7
ZF
6
5
4
AF
3
2
PF
1
0
CF
根据功能,8086的标志可以分为两类: 1.状态标志 2.控制标志
第2章 80X86微处理器
2.1
8086/8088内部结构
状态标志有6个,即SF、ZF、PF、CF、AF和OF ① 符号标志SF(sign flag ) ② 零标志ZF(zero flag) ③ 奇偶标志PF(parity flag)
S2
S1 S0
S2
S1 S0
8288
控制总线
CLK

第2讲 80x86微处理器

第2讲 80x86微处理器

E4 19
512K × 8 D7~D0
512K × 8 D7~D0
D15~D8 D7~D0
F8 27
物理地址的形成

存储器的段结构 物理地址的形成

存储器的段结构


物理地址 逻辑地址
段基址 存放在段寄存器 DS 或 CS 或 SS 或 ES 中 偏移地址 存放在 IP 或 SP 中

存储器的段结构
专用寄存器

堆栈指针寄存器 SP (stack pointer)


基址指针寄存器 BP(base pointer)
源变址寄存器 SI (source index)

目的变址寄存器 DI (destination ind
ex)
段寄存器



代码段寄存器 CS 数据段寄存器 DS 堆栈段寄存器 SS 附加段寄存器 ES
指令指针寄存器


16位的指令指针寄存器 IP 用于存放下一 条执行指令的偏移地址。 CS为段基址,IP为段内偏移地址。 用户不能直接访问 IP 寄存器。
标志寄存器FLAGS

标志寄存器共有16位,其中7位未用,所用的 各位含义如下:
11 10
OF DF
15 14 13 12
9
IF
8
TF
7
SF
内存存放规则
字数据: 19E4H 27F8H 分别存放在: 20020H 20023H
20019H 20020H 20021H 20022H
E4 19
20023H
20024H
F8 27
20019H
A19~A1 A0
20020H

第二章80X86微处理器

第二章80X86微处理器

指令指针 FR O D I T S Z A P C 标志寄存器
段 寄 存 器
CS DS SS ES
代码段寄存器 数据段寄存器 堆栈段寄存器 8 附加段寄存器
AX(累加器 Accumulator): ( ) 主要的算术运算寄存器, 主要的算术运算寄存器,用于存放参与运算的数据或运算 的结果。 的结果。 BX(基址寄存器 Base): ( ) 常用于存放存储区的起始地址。 常用于存放存储区的起始地址。 CX(计数寄存器 Count): ( ) 常用作循环操作和字串处理的计数控制。 常用作循环操作和字串处理的计数控制。 DX(数据寄存器 Data): ( ): 常与AX联用,做双字乘、除法时, 存放高位字 存放高位字, 存 常与 联用,做双字乘、除法时,DX存放高位字,AX存 联用 放低位字。此外在I/O操作时提供外部设备接口的端口地址 操作时提供外部设备接口的端口地址。 放低位字。此外在 操作时提供外部设备接口的端口地址。
1
2.1 8086/8088CPU内部结构 8086/8088CPU内部结构
2.1.1 CPU结构与特点 CPU结构与特点
2
• 8086/8088CPU从功能上来说分成两大部分: 从功能上来说分成两大部分: 从功能上来说分成两大部分 执行单元 EU(Execution Unit) ( ) 总线接口单元BIU(Bus Interface Unit) ( 总线接口单元 ) • EU作用:主要负责指令的执行 作用: 作用 • BIU作用:负责与存储器的接口,即 作用:负责与存储器的接口, 作用 8088/8086CPU与存储器之间的信息传 与存储器之间的信息传 送,都是由BIU进行的 都是由 进行的
64K
例:
20位物理地址的形成方法: 20位物理地址的形成方法: 位物理地址的形成方法 左移4位 段地址× ) 20位物理地址 位物理地址=16位段地址左移 位(段地址×16)+ 16位偏移地址 位 位物理地址 位段地址左移

第二章 80X86微处理器

第二章 80X86微处理器

(2)1110010001010011 + 1100010101110010 1010100111000101 OF=0 SF=1 ZF=0 AF=0 PF=1 CF=1
7
实模式下的存储器地址空间
在实模式下存储器的地址空间为1M字节单元, 其地址范围为00000H~FFFFFH。 实模式下的存储器地址空间被分为通用和专用两 种存储区。 从地址00000H~003FFH这第一个1024个字节单 元是专用的。这个存储区为中断向量表区,专门用 来存放256个中断服务程序的入口地址(也称中断向 量),每个入口地址占4个字节单元。 从地址FFFF0H~FFFFFH这16个字节单元保留给系 统的初始化代码。当处理器加电或复位(Reset)时, CPU执行的第一条指令就是起始于地址FFFF0H的。通 常是在FFFF0H处存放一条无条件转移指令,以转移到 系统程序的入口处。 通用区域用来存储一般的程序指令和数据。由图可 见,它的地址范围为00400H~FFFEFH。 8
例:指出80x86CPU执行如下指令后,标志寄存器中各状态 标志位的值: (1) MOV AX,32C5H (2) MOV AX,0E453H ADD AX,546AH ADD AX,0C572H
解 (1)0011001011000101 + 0101010001101010 1000011100101111 所以, OF=1 SF=1 ZF=0 AF=0 PF=0 CF=0
SS
SP
SP 高地址 (a) 空栈堆
栈底 (栈顶 栈顶 )
78H 56H 34H 12H
栈顶 SP 栈底
78H 56H 34H 12H
栈顶 栈底
(b) 压入:PUSH AX; AX=1234H 压入:

第2章微处理器-80x86

第2章微处理器-80x86

Pentium微处理器内部结构框图
Pentium微处理器结构的先进技术 (主要特点)
• 与80486相比,采用了新的(先进的)体系结构:
–1)超标量流水线技术
• U流水线和V流水线并行执行指令,每个都有独立的取址、译码、 ALU • 平均每个时钟周期执行2条指令(比80486快1倍)
–2)独立的指令Cache和数据Cache
保护方式的特点
① 存储器用逻辑地址空间、线性地址空间和 物理地址空间三种方式来描述。 ② 借助映像机制将磁盘的存储空间有效地映 像到内存,使逻辑地址空间大大超过实际 的内存空间,使主存容量似乎很大 ③ 既能进行16位运算,也能进行32位运算。
虚拟8086方式特点
① 可以执行8086的应用程序。 ② 段寄存器的用法和实地址方式时一样,即 段寄存器内容左移4位加上偏移量为线性地 址。 ③ 存储器寻址空间为1MB,在分段基础上又 分页,每页4KB。
地址转换 地址部件 AU 取指令 总线部件 BU(队列) 8086的BIU 译码 指令部件 IU(队列) 执行指令 执行部件 EU
与8086的 EU相同
80286微处理器
3、80286的工作方式
有两种工作方式:实地址方式和保护方式(虚地址方式)。
– 实地址方式
• 即8086方式或DOS方式,兼具8086的全部功能。 • 如:内存寻址最大空间为1MB
80386微处理器
2、内部结构
– 8个32位通用寄存器(如EAX、EBX等) – 由3大部件(独立芯片)组成:中央处理部件 (CPU)、总线接口部件(BIU)、存储管理 部件(MMU)。细分为8个功能部件,形成并 行流水线方式:
取指令(队列) 总线接口 部件BIU BIU芯片 预取部 件PEU 指令译码 部件IDU 控制 ROM 控制部 件CU ALU 数据处理 部件DU MMU芯片 保护测试 部件PTU 分段管理 部件SU 分页管理 部件PGU

第二章80X86微处理器

第二章80X86微处理器

第二章??80X86微处理器 ?难点和重点1 .运算器是如何通过全加器实现补码的加减运算的第一章已述及,在计算机中不管是两个带符号位的补码数,还是两个不带符号位的数,进行加减运算时,其处理方法都一样。

作加法时,直接相加即可;作减法时,将减数变补(包括符号位在内各位变反,最后再在最低位加 l )与被减数相加即可。

这样,加减法运算只要一个全加器便可实现。

2 .状态标志寄存器状态标志是ALU运算结果特殊状态的反映,是微型计算机技术中的重要概念。

它是计算机进行判断的重要依据.为了能将ALU运算结果的特殊状态寄存起来,以供后面的有条件跳转指令判跳之用。

通常微型机中都用一定位数(如 8 位或 16 位)的寄存器来寄存这些运算结果的特殊状态。

这个用来寄存运算结果特殊状态的寄存器就称为状态标志寄存器。

SF标志反映了 ALU运算结果最高位的情况,亦即补码数运算结果的正负情况,称为符号标志。

CF标志反映了ALU运算结果的进位(或借位)情况,亦即两个不带符号位数相加的进位情况或相减的借位情况,称为加法的进位标志(或减法的借位标志)。

有了状态标志寄存器,ALU运算后,除将运算结果送到累加器A外,还可将运算结果的特殊状态寄存起来。

这样,在运算指令之后,若有条件转移指令,便可根据标志位的状态进行程序判跳,实现了计算机的判断功能。

判断功能是计算机的重要功能,判断功能愈强,计算机的编程能力愈强,而判断的重要依据是状态标志。

因而,学习微型计算机原理必须首先掌握好状态标志的定义和功用。

3.? 微处理器的ALU和寄存器阵列ALU是微处理器用来进行算术逻辑运算的重要部件。

它所能完成的操作种类愈多,微处理器的功能也就愈强。

通常8位CPU完成的主要操作为加减运算、逻辑运算和移位操作等。

16位CPU的ALU完成的主要操作除上述外,还能完成乘除法运算等。

CPU的寄存器阵列在8位CPU 中分累加器和通用寄存器两种;16位CPU中不加区分,统称为通用寄存器阵列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

14
专用寄存器
类别 16位 8位
名称
作用
专用 IP 无 寄存器
FLAG 无
指令指针寄存 器
标志寄存器
保存将要取出的指令有效地址 保存CPU当前的状态标志信息
➢ 指令指针IP
✓ 保存将要执行指令的有效地址;
✓ 该寄存器的内容是不允许人为更改的,通过指令的执行而 自动改变。
➢ 标志寄存器FLAG
✓ 该寄存器是利用其中的每一位来反映当前CPU执行指令 的结果或控制指令执行形式。
EA的形成方式详见第3章寻址方式的介绍。
2020年10月9日星期五
12
ES (Extra Segment)
附加段 ✓ 即附加的数据段,保存程序运行所需要的数据; ✓ 段首地址用附加段寄存器ES来保存; ✓ CPU利用ES:EA形成存储单元的物理地址,以获取附加 段中的数据; ✓ 串操作指令常将附加段ES作为目的操作数的存放区域。
2020年10月9日星期五
8
堆栈指针寄存器SP、BP
➢ 堆栈是一个先进后出的数据结构,栈底位
置不变;
1 23
➢ 栈顶指针SP
✓ 其中始终存放栈顶单元的有效地址;
✓ 其值是由出入栈指令自动更改的,一
般不允许随意对该寄存器赋值;
➢ 堆栈指针BP
✓ 其中数据一般作为地址进行访存; ✓ 默认对应于SS段,可寻址堆栈中的任栈底
➢ 一段汇编语言程序最多有4个逻辑段——1个代码段,3个数据 段,分别用于存放代码和数据;
2020年10月9日星期五
10
CS (Code Segment)
代码段
✓ 用来存放要执行的指令序列; ✓ 段首地址用代码段寄存器CS来保存; ✓ 指令指针寄存器IP指示本段中的地址;
将要执行的下条指令的有效地址;
第2章 80X86微处理器
汇编语言基础
2.1.2 Intel 8086 CPU内部寄存器 2.2 存储器物理地址的形成 2.1.1 Intel 8086 CPU内部结构
接口技术基础
2.1.3 Intel 8086 微处理器引脚说明 补充 Intel 8086 CPU工作时序
2020年10月9日星期五
✓ CPU利用CS:IP形成存储单元的物理地址,以获取下 条要执行指令的代码。
2020年10月9日星期五
11
DS (Data Segment)
数据段 ✓ 用来存放程序运行所需要的数据; ✓ 段首地址用数据段寄存器DS来保存; ✓ CPU利用DS:EA形成存储单元的物理地址,以获取数 据段中的数据;
✓高低8位可分为两个独立寄存器使用;
➢主要用于暂存指令执行过程中的数据;
➢特殊用途
✓AX:累加器,ALU运算核心部件、某些指令的默认寄存器;
✓BX:基址寄存器,存放存储单元的有效地址;
✓CX:计数器,串操作指令和循环指令中的默认计数器;
✓DX:与AX合用保存32位数据;I/O指令中存放端口地址。
2020年10月9日星期五
7
变址寄存器SI、DI
➢16位寄存器; ✓ 常作为指针,存放存储单元有效地址,也可暂存数据;
➢特殊用法: ✓ SI、DI中保存的地址信息可以随着指令的执行而自动改变; ✓ SI:源变址寄存器,串操作中存放源串地址,默认DS段; ✓ DI:目的变址寄存器,串操作中存放目的串地址,默认ES段; ✓ 该特殊用法只在字符串操作中有效,其它场合下作一般的指 针寄存器使用;
2020年10月9日星期五
4
通用寄存器
类别
16位
8位
AX 数据 BX 寄存器 CX
AH、AL BH、BL CH、CL
DX DH、DL
变址 SI

寄存器 DI

堆栈指针 SP

寄存器 BP

2020年10月9日星期五
名称
作用
累加器
常作隐含操作数,可通用
基地址寄存器 常作地址指针,可通用
计数器
常存放计数值,可通用
2020年10月9日星期五
13
SS (Stack Segment)
➢ 堆栈
✓ 用于存储程序运行中需要临时保护的数据; ✓ 段首地址用堆栈段寄存器SS来保存; ✓ 堆栈指针寄存器SP保存堆栈栈顶的有效地址; ✓ CPU利用SS:SP对堆栈栈顶单元进行操作;
利用SS:BP对堆栈中的任一单元进行操作。
2020年10月9日星期五
数据寄存器
常与累加器配合,可通用
源变址寄存器 保存源操作数地址
目的变址寄存器 保存目的操作数地址
栈顶指针
只能保存堆栈栈顶地址
堆栈指针
可保存堆栈任意位置地址
5
累加器AX
AX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0010000 000001000
AH
AL
➢ 16位寄存器可以存储2个字节的数据;无符号数范围为0~65535
1
汇编语言基础
2.1.2 Intel 8086 CPU内部寄存器 2.2 存储器物理地址的形成 2.1.1 Intel 8086 CPU内部结构
2020年10月9日星期五
2
微型计算机的结构
控制器
输入设备
计算1+2+3
2020年10月9日星期五
存储器 运算器
输出设备
并不关心1+2 的中间结果!
3
2.1.2 Intel 8086内部寄存器
有符号数范围为-32768~+32767
✓ 例如,数值2008H存放于AX累加器中。
➢ AX可分做两个8位的寄存器使用,分别为AH和AL。
✓ (AX)=2008H,则(AH)=20H,(AL)=08H;
➢ BX、CX、DX类似。
2020年1X和DX
➢16位寄存器
2020年10月9日星期五
15
16位标志寄存器
➢ 仅用到其中9位,且按位使用; ✓ 6位状态标志位:反映ALU的执行状态;
➢ CPU中为什么要使用寄存器
✓ 寄存器比存储器存取速度快
✓ 使用灵活(如暂存运算的中间数据)、控制方便(如IP)
➢ 寄存器的分类
✓ 通用寄存器:传送和暂存数据;参与算术逻辑运算并保存
运算结果;
用户编程时所用到的CPU
✓ 段寄存器:保存段地址,用于寻址时构成物理地址;
✓ 专用寄存器:CPU运行的辅助工具。
何单元。
2020年10月9日星期五
堆栈
321
3
2
1
栈顶
9
段寄存器
类别
16位 8位
名称
作用
段寄存器
CS 无 DS 无 ES 无 SS 无
代码段段寄存器 数据段段寄存器 附加段段寄存器 堆栈段段寄存器
存放代码段段地址 存放数据段段地址 存放附加段段地址 存放堆栈段段地址
➢ 一段汇编语言程序至少有一个逻辑段——代码段,用于存放 代码;
相关文档
最新文档