微机原理 第三章 微处理器
微机原理第3章-指令系统

▲按给出偏移地址方式的不同,分为以下5种: 寄存器间接寻址 寄存器相对寻址 基址加变址寄存器 相对基址加变址寄存器 MOV AL, [ BX ] MOV AL, [ BX + 10H ] MOV AL, [ BX + SI ] MOV AL, [ BX + SI + 10H ]
(1)寄存器间接寻址
寄存器寻址方式的操作数是寄存器的值,指令中直接 使用寄存器名,包括8位或16位通用寄存器和段寄存器。可 使用的16位寄存器:AX、BX、CX、DX、SI、DI、SP、 BP;其中:AX、BX、CX、DX可分成两8位使用。
例: MOV AX,CX
;(AX)
(CX)
INC CX
;(CX)
(CX)+1
3.直接寻址(Direct Addressing)
0002
AH
AL
默认段寄存器的关系: ① 使用BX、SI、DI,默认段寄存器为DS
(BX)
PA = ( DS )×10H + (SI) (DI)
② 使用BP,默认段寄存器为SS PA = ( SS )×10H + ( BP )
使用BX、SI、DI的寄存器寻址,默认段寄存器为DS
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP 地 址 加 法 器
运 算 器
控制总线CB
码
器
PSW标志 寄存器
执行部件控制电路
CPU
总线
内存
例: MOV AX , [ BX + SI ]
若 ( DS ) = 4000H
( BX ) = 2000H ( SI ) = 100H 则内存操作数的物理地址为:
微机原理微处理器讲解

8086寄存器结构
地址指针和变址寄存器 段寄存器组 指令指针寄存器IP(Instruction Pointer) 通用数据寄存器组 标志寄存器
通用数据寄存器
寄存器 AX 一般用法 16位累加器 (Accumulator) AX的低8位 隐含用法 字乘时提供一个操作数并存放积的低字;字除时提供 被除数的低字并存放商 字节乘时提供一个操作数并存放积的低字节;字节除 时提供被除数的低字节并存放商;BCD码运算指令和 XLAT指令中作累加器;字节I/O操作中存放8位输入/ 输出数据 字节乘时提供一个操作数并存放积的高字节;字节除 时提供被除数的高字节并存放余数;LAHF指令中充当 目的操作数 XLAT指令中提供被查表格中源操作数的间接地址 串操作时用作串长计数器;循环操作中用作循环次数 计数器
AL
AH
AX的高8位
BX CX
基址(Base)寄存器, 支持多种寻址,常用 作地址寄存器
16位计数器 (Counter)
CL
DX
8位计数器 16位数据(Data)寄 存器
移位或循环移位时用作移位次数计数器
在间接寻址的I/O指令中提供端口地址;字乘时存放 积的高字,字除时提供被除数高字并存放余数
指针及变址寄存器
第一节8086微处理器
下面以8086为例来讲述Intel公司的80X86 系列微处理器。在此基础上再介绍先进一 些的80386芯片。 主要讲述以下内容: 一 8086的内部结构 二 8086的引脚含义及与存储器的连接 三 8086的工作模式及总线周期
一 8086的内部结构
8086微处理器的内部功能结构由两个独立的工作部 件——执行部件EU(Execution Unit)和总线接口部 件BIU(Bus Interface Unit)构成
微机原理课件第3章2

(AX) (DS: OFFSET TABLE+(BP))
3.3 数据寻址方式
④基址变址寻址Based Indexed Addressing
要寻找的操作数在某存储器单元之中,该单元
有效地址的一部分在 BBXP中,另一部分在 中D。SII
3.3 数据寻址方式
…… ……
MOV AX , [BX]
DS: 3 0 0 0 0 H
+BX1: 0 5 0 H
PA: 3 1 0 5 0 H
8BH 07H
AX AH AL
31050H 31051H
存储器
操作码
CS 段
数据段
3.3 数据寻址方式
例2:MOV ES:[SI] , AL 指令完成的功能为: (ES:(SI)) (AL)
寄存器寻址既可以作DST,也可以作SRC。
3.3 数据寻址方式
3.存储器寻址
这类寻址方式,操作数在存储器中,而存 储器单元的地址由以下五种寻址方式的任何 一种均可以找到。但在指令中给出的只是要 寻找的操作数所在单元的段内偏移地址,而 操作数所在单元的段地址除非指令中用段前 缀特别指明,否则是默认的DS。
…
∴(AX)=1234H
存储器
3.3 数据寻址方式
立即寻址主要用来给REG或M赋初值。 注 意:只能用于源操作数字段,不能用于目的操作 数字段。如:MOV 12H , AL (语法错误)
3.3 数据寻址方式
2.寄存器寻址
数据放在指令规定的寄存器中,对16位数据, REG可以是AX、BX、CX、DX、SI、DI、SP、 BP以及段寄存器,而对于8位数据, REG可以是 AH、AL、BH、BL、CH、CL、DH、DL。
微机原理习题集答案

第1章 概述1.电子计算机主要由.电子计算机主要由 运算器运算器 、 控制器控制器 、 存储器存储器 、 输入设备输入设备 和 输出设备输出设备 等五部分组成。
等五部分组成。
等五部分组成。
2. 运算器运算器 和 控制器控制器 集成在一块芯片上,被称作CPU CPU。
3.总线按其功能可分.总线按其功能可分 数据总线数据总线 、 地址总线地址总线 和 控制总线控制总线 三种不同类型的总线。
三种不同类型的总线。
4.计算机系统与外部设备之间相互连接的总线称为.计算机系统与外部设备之间相互连接的总线称为 系统总线(或通信总线)系统总线(或通信总线) ;用于连接微型机系统内各插件板的总线称为系统内总线(板级总线) ; CPU 内部连接各寄存器及运算部件之间的总线称为内部连接各寄存器及运算部件之间的总线称为 内部总线内部总线 。
5.迄今为止电子计算机所共同遵循的工作原理是迄今为止电子计算机所共同遵循的工作原理是 程序存储程序存储 和 程序控制程序控制 的工作原理。
的工作原理。
这种原理又称这种原理又称为 冯·诺依曼型冯·诺依曼型 原理。
原理。
第3章 微处理器及其结构1.8086/8088 CPU 执行指令中所需操作数地址由执行指令中所需操作数地址由 EU EU EU 计算出计算出计算出 16 16 16 位偏移量部分送位偏移量部分送位偏移量部分送 BIU BIU BIU ,由,由,由 BIU BIU BIU 最后最后形成一个形成一个 20 20 20 位的内存单元物理地址。
位的内存单元物理地址。
2.8086/8088 CPU CPU在总线周期的在总线周期的在总线周期的T1 T1 T1 时刻,用时刻,用时刻,用A19/S6A19/S6A19/S6~~A16/S3 A16/S3 输出输出输出 20 20 20 位地址信息的最高位地址信息的最高位地址信息的最高 4 4 4 位,而在位,而在其他时钟周期,则输出其他时钟周期,则输出 状态状态 信息。
微机原理课程总结3章

第3章从8086到Pentium系列微处理器的技术发展由于课时的关系,本章内容一般作为自学或讨论学习的内容。
但是,本章内容对本课程学习的升华具有潜在的意义,故在此也进行提示。
3.1分析教材内容本章主要对80386 CPU,同时也对80486及Pentium微处理器的改进之处和特点进行简单提示。
3.1.1分析重点难点问题1. 80386微处理器1) 80386的特点及其体系结构,请参见教科书P50-52,注意:硬件支持多任务处理。
2) 80386引脚的功能,请参教科书见P53,注意:理解协处理器接口信号。
3) 80386的寄存器组,请参见教科书P54-56,注意:掌握各寄存器的功能。
4) 80386的工作模式,请参见教科书P57,注意:理解三种模式,3种工作模式可以相互转换。
5) 80386中断,请参见教科书P59-60,注意:80386的中断管理机制在实模式和保护模式下是不同的。
2. 80486微处理器1) 80486的主要特点,请参见教科书P60-61。
2) 80486的内部结构,请参见教科书P61-64。
注意和80386的区别。
3. Pentium微处理器1) Pentium体系结构,请参见教科书P65-67,注意Pentium微处理器在486体系结构基础上,还作了哪些增强性的改进。
2) Pentium Ⅱ微处理器,请参见教科书P68。
注意其结构上的特色。
3) Pentium Ⅲ微处理器,请参见教科书P69。
注意其SSE指令。
4) Pentium Ⅳ微处理器,请参见教科书P69。
注意其两组独立工作的ALU。
3.1.2 典型例题解析本章例题主要从微处理机体系结构和新的设计思想出发,以8086微处理机为基础,把重点放在Pentium微处理机的新体系结构和新的设计思想上。
例如Pentium微处理机新体系结构的特点?相对8048体系结构有哪些增强点等?这些问题有助于提高计算机系统结构的水平。
有关这方面的问题,上节已很明确的写出,在此不再赘述。
微机原理第三章:8086微处理器结构

4.8086 和8088 二者的指令系统完全兼容
(1)有24 种寻址方式,具有乘、除法指令等。 (2)取指令和执行指令的操作并行运行,运行速度大大提高。
(3)具有最小模式和最大模式,应用领域宽广,适应性强。
(4)可方便地和数据处理器8087、I/O 处理器8089 或其它处理器 组成多处理机系统,提高数据处理能力和输人输出能力。
代码段寄存器 CS 标 志 寄 存 器
数据段寄存器 DS
堆栈段寄存器 SS
附加段寄存器 ES
由于8086/8088 CPU 可直接寻址的存储器空间是1M字节,直接寻址需要 20位地址码,而所有的内部寄存器都是16位的,用这些寄存器只能寻址 64K字节,为此需要采取分段技术来解决这个问题。
表3.1
通用寄存器的隐含使用
程序调试过程中。
3.1.2 8086/8088 的寄存器结构
四、指令指针寄存器 IP ★ 16 位的指令指针寄存器 IP 用来存放将要执行的下一条 指令在代码段中的偏移地址。 ★ 在程序运行过程中,BIU 可修改 IP 中的内容,使它始终 指向将要执行的下一条指令。 ★ 程序不能直接访问 IP,但可通过某些指令修改 IP 内容。 ★ 如遇到转移类指令,则将转移目标地址送人IP中,以实 现程序的转移。
★ 规则字的读/写操作可以一次完成。由于两个存储体上的地址
线 A19~A1 是连在一起的,只要使 A0=0,BHE=0,就可 以实现一次在两个存储体中对一个字的读/写操作。 ★ 读写的是从奇地址开始的字(高字节在偶体中,低字节在奇体 中),这种字的存放规则称为“非规则字”或“非对准字”。 ★ 非规则字的读/写,需要两次访问存储器才能完成。 第一次访问存储器读/写奇地址中的字节;
三、标志寄存器 FR
清华大学微机原理32位微处理器

7
1.2 80386的寄存器
80386微处理器中有通用寄存器、段寄存器、指令指针和标 志寄存器、系统地址寄存器、控制寄存器、调试寄存器以及测试 寄存器等,如下图所示。
8
ቤተ መጻሕፍቲ ባይዱ
1.2 80386的寄存器
1. 通用寄存器 80386中设置8个32位通用寄存器,如下图所示。它们的用法
与8086相同,也可当作8位、16位寄存器用。若作32位寄存器使 用,前面必须加字符E。
9
1.2 80386的寄存器
2. 段寄存器 80386中设置6个16位段寄存器和6个64位描述符寄存器。其
17
2.3 总线传送机制
32位微处理器的所有数据传送都是由一个或多个总线周期来 完成。1字节、2字节或4字节的逻辑数据操作数可以在物理地址不 对界的情况下传送。在对界时的操作数只需要1个总线周期,而对 于不对界时的操作数就需要2个或3个总线周期。
80X86地址信号的设计可以简化外部系统的硬件。高位地址 由A2~A31提供。低位地址则以BE0~BE3形式提供了32位数据总 线4个字节的选择信号。
12
1.2 80386的寄存器
CR1保留给将来开发的Intel微处理器使用;CR2包含一个32 位的线性地址,指向发生最后一次页故障的地址;CR3包含页目 录表的物理基地址,因为80386中的页目录表总是在页的整数边 界上,每4KB为一页,所以CR3的低端12位保持为“0”。 5. 系统地址寄存器
80386中设置4个专用的系统地址寄存器,它们是GDTR、 IDTR、LDTR和TR。GDTR和IDTR长48位,LDTR和TR长16位。 GDTR用来存放全局描述符表的基地址(32位)和限值(16位); IDTR用来存放中断描述符表的基地址(32位)和限值(16位);LDTR 用来存放局部描述符表的段选择字;TR用来存放任务状态段表的 段选择字。
微型计算机原理(第三版 )各章知识点目录

第一章知识点目录第2章重点和难点分析一、掌握数字在计算机中的表示和运算1、掌握十进制数、二进制数、十六进制数的表示方法及其相互转换。
2、熟练掌握带符号数的原码、反码、补码表示方法。
3、掌握带符号补码加减法运算,进位和溢出的概念及其判断方法。
补码的加减运算的特点是符号位一同参加运算。
作减法时,可将减数变补与被减数相加来实现。
运算时要注意字长、数值范围及溢出判断。
一般只有在同号相加或异号相减时,才可能产生溢出。
二、掌握信息在计算机中的表示1、掌握BCD码(十进制数的二进制编码)概念及其修正计算方法。
2、掌握ASCII码(字符(包括字母、数字和符号)的概念及查表方法。
第三章知识点目录一、80x86微处理器简介1)CPU发展过程中几个主要参数:主频、数据总线宽度,地址总线宽度、Cache80x86微处理器是美国Intel公司生产的系列微处理器。
从8086开始到目前已进入第五代微处理器:8086(8088)、80286、80386、80486和80586(Pentium、Pentium Ⅱ~Ⅳ、Pentium D 双核)。
其主要发展特点是:1. 主频从8086的4.77MHz到80586的166MHz,PentiumⅡ~Ⅳ更高,可达3GHz。
2. 数据总线从8086的16位到80586的64位。
3. 地址总线从8086的20根到80586的36根。
4. 高速缓冲存储器Cache的使用,大大减少了CPU读取指令和操作数所需的时间,使CPU的执行速度显著提高。
2)Cache—主存—外存三级存储系统计算机系统中存储层次可分为三级:高速缓冲存储器、主存储器、外存储器。
高速缓冲存储器用来改善主存储器与中央处理器的速度匹配问题;外存储器用于扩大存储空间。
计三级存储系统解决存储器速度、容量、价格三者之间的矛盾,并且提升了CPU访存速度,改善了系统的总体性能;3)存储器管理机制80x86CPU在发展过程中,存储器的管理机制也发生了较大变化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
青岛理工大学琴岛学院
表3.1 通用寄存器的特定用法
寄存器 操作 寄存器 操作 在移位指令中作 移位次数计数器
AX
字乘,字除,字I/O
CL
AL
字节乘,字节除,字节I/O, 查表转换,十进制运算
字节乘,字节除
DX
字乘,字除指令 中作辅助累加器
堆栈操作,做堆 栈指针
AH
SP
BX
查表转换,做基址寄存器
SI
青岛理工大学琴岛学院
2)逻辑地址与物理地址
逻辑地址(LA)和物理地址(PA):
物理地址:就是存储器的实际地址,它是指CPU和存储器 进行数据交换时所使用的地址(20位)。
逻辑地址:是在程序中使用的地址,它由段基址和偏移地
址两部分组成(16位)。
物理地址=段基址(左移4位)+偏移量
形成20位段 起始地址 16位
青岛理工大学琴岛学院
2 . 8086/8088CPU的寄存器结构
8086/8088CPU中可供编程使用的有14个16位寄存器, 按其用途可分为3类:通用寄存器、段寄存器、指针和标 志寄存器,如所示。
AH BH CH DH SP BP SI DI FLAGS IP CS DS SS ES AL BL CL DL 累加器 基址寄存器 计数寄存器 数据寄存器 数据寄存器 通用寄存器 地址指针和 变址寄存器
2
3 4 5
6
存取一般变量(除3、4、5项外)
DS
有效地址EA
根据寻址方式计算出来的偏移量又叫操作数的有效地址EA
青岛理工大学琴岛学院
4. CPU对堆栈的设置与操作
堆栈的功能:用于暂存数据和现场保护 (特别是在过程调用或中断处理时暂存断 点信息) 堆栈的解释:实际上是由特定存储单元 构成的一个存储区,只是在这个存储区中 信息的出入严格按照“先进后出”或“后 进先出”的规则进行。
总线接口部件BIU
总线接口部件BIU内部设有四个16位段地址寄存器:代 码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附 加段寄存器ES,一个16位指令指针寄存器IP,一个6字节指 令队列缓冲器,20位地址加法器和总线控制电路。 功能:根据执行部件EU的请求,负责完成CPU与存储 器或I/O设备之间的数据传送。
青岛理工大学琴岛学院
MPU 等待取指1 执行1 等待取指2 执行2
等待取指3 执行3
总线
忙
闲
忙
闲
忙
闲
传统微处理器的指令执行过程 (串行方式)
BIU EU 总线
取指1
取指2
取指3
取指4
取指5
取指6 执行6
执行1 忙 忙
执行2 忙
执行3 忙
执行4 忙
执行5 忙
8086/8088CPU的指令执行过程(并行方式)
ALU
指令队列 控制电路 1 2 3 4 5 6
状态标志寄存器 执行部件 EU 总线接口部件 BIU
图2-1 8086/8088CPU内部功能结构框图
青岛理工大学琴岛学院
执行部件EU
执行部件中包含一个 16位的算术逻辑单元(ALU), 8个16位的通用、专用寄存器,一个16位的状态标志寄存器, 一个数据暂存寄存器和执行部件的控制电路。 功能:从 BIU 的指令队列中取出指令代码,经指令译 码器译码后执行指令所规定的全部功能。执行指令所得结果 或执行指令所需的数据,都由 EU 向 BIU 发出命令,对存储 器或I/O接口进行读/写操作。
MOV AX , SS:[100H] 求1.操作数的PA? 已知:DS:3001H SS:2010H
青岛理工大学琴岛学院
例题:
MOV AX , [BX] MOV AX , [BP] 分别求:1.操作数的PA? 2.(AX)=? 已知:DS:2000H ES:1000H SS:3000H CS:5000H BX:10H BP:20H
PF= 0,因为低8位运算结果01011110是奇数个1; CF= 0,因为最高位无有进位;
AF= 0,因为D3位没有向D4位产生进位;
P31 例题3.2—3.4
OF= 0,由于D14位没向D15位产生进位,D15位也没有进位。
青岛理工大学琴岛学院
4).段寄存器 8086CPU共有4个16位的段寄存器,用来存放每一个 逻辑段的段起始地址。
青岛理工大学琴岛学院
3.1.2 8086微处理器内部结构组成
AX AH BH CH DH SP BP SI DI ALU 数据总线 ( 16 位) 暂存器 AL
BX
CX DX
BL
CL DL
地址加法器
∑
1.CPU功能结构
CS DS SS 总线控制逻辑 ES IP 内部通信 寄存器 8086/8088 总线
青岛理工大学琴岛学院
物理地址的算法
段基址
15 0
逻 辑 地 址
0915
19 15 0 0
每当CPU访问存储器时, 总线接口单元BIU把逻辑 地址转换成物理地址。 首先把逻辑地址中的段基 址(在段寄存器中)左移 4位,形成20位的段起始 地址(段基址),然后再 加上16位的偏移量,产生 20位的物理地址。
FFFFFH
图 3-10 存储器分段示意图
青岛理工大学琴岛学院
段寄存器
00000H
段基址
偏移量
段 寄 存 器
CS DS SS ES
代码段
段基址 数据段 堆栈段
段基址
CPU将存储器划分成若干 段,把将要运行的程序个 部分分别放在一个存储段 中。每个存储段用一个段 寄存器来指示它的首地址 (段基址)。 一个存储单元与它所在 段的段基址之间的距离 叫该存储单元的偏移量 (偏移地址)。
EU
堆栈指针寄存器 基址指针寄存器 源变址寄存器 目的变址寄存器
标志寄存器 指令指针寄存器 代码段寄存器 数据段寄存器 堆栈段寄存器 附加段寄存器
控制寄存器
BIU
段寄存器
8086/8088CPU内部寄存器结构
青岛理工大学琴岛学院
1).通用寄存器
通用寄存器分为数据寄存器、指针寄存器和变址寄存器 三组。 数据寄存器包括4个16位的寄存器AX、BX、CX和DX,一 般用来存放16位数据,故称为数据寄存器。其中的每一个又 可根据需要将高8位和低8位分成独立的两个8位寄存器来使 用,即AH、BH、CH、DH和AL、BL、CL、DL两组,用于存放8 位数据,它们均可独立寻址、独立使用。 指针和变址寄存器包括指针寄存器SP、BP和变址寄存器 SI、DI,都是16位寄存器, 一般用来存放地址的偏移量。 这8个16位通用寄存器都具有通用性,从而提高了指令 系统的灵活性。但在有些指令中,这些通用寄存器还各自有 特定的用法 ,见下表。
符号标志:和运算结果的最高位相同 奇偶标志 单步中断 中断允许标志 方向标志
1 允许CPU响应可屏蔽的中断请求
0 不允许CPU响应可屏蔽的中断请求
进借位标志
1 串操作过程中地址自动递减 0 串操作过程中地址自动递增 1 有溢出 0 无溢出
溢出标志
青岛理工大学琴岛学院
两个数进行加法运算,看标志位的变化情况。 0010 0011 0100 0101 + 0011 0010 0001 1001 0101 0101 0101 1110 SF= ZF= 0,因为最高位为0; 0,因为运算结果不为0;
0915 0
15 0
003 A
偏移量
+)
003 A
0918 A
物理地址
青岛理工大学琴岛学院
CS
IP
代码段
DS或ES
SI、BX或DI
数据段
SS
SP或BP
堆栈段
段寄存器和存放偏移地址的寄存器组合关系
青岛理工大学琴岛学院
例题:
MOV AX , [100H] 求1.操作数的PA? 2.(AX)=? 已知:DS:3001H SS:2010H
第3章 微处理器
青岛理工大学琴岛学院
3.1 8086/8088微处理器的内部结构
微型计算机是由具有不同功能的一些部件组成的,包含运 算器和控制器电路的大规模集成电路,称为“微处理器”,又称 “中央处理器(CPU)”,其职能是执行算术/逻辑运算,并负责 控制整个计算机系统,使之能自动协调地完成各种操作。 3.1.1 基本性能指标 16位微处理器(8088是准16位的); 采用高速运算性能的HMOS工艺制造,芯片上集成了2.9万只晶 体管; 使用单一的+5V电源,40条引脚双列直插式封装; 时钟频率为5MHz~10MHz,基本指令执行时间为0.3ms~0.6ms 16根数据线(8086)和20根地址线,可寻址的地址空间达1MB 共有14个16位寄存器:8个通用寄存器,2个控制寄存器,4个段 寄存器;
(1)代码段寄存器CS
(3)堆栈段寄存器SS
(2)数据段寄存器DS
(4)附加段寄存器ES
青岛理工大学琴岛学院
存储器分段
00000H 逻辑段 1 起点 逻辑段 2 起点 逻辑段 3 起点 ∶ ∶ 逻辑段 1 ≤64KB
逻辑段 2 ≤64KB 逻辑段 3 ≤64KB
逻辑段 4 ≤64KB ∶ ∶
逻辑段 4 起点
段基址
附加段
0FFFFFH
青岛理工大学琴岛学院
3. 8086/8088对存储器的访问
1)关于存储器的一些基本概念:
存储器是由若干存储单元组成的存储整体。 每个存储单元对应一个唯一的编号,即地址。 由于CPU有1M的寻址能力,所以1M的地址范围是 00…000(20个0)~11 …111(20个1)。用十六进 制也就是从:00000H ~0FFFFFH。 存储器最基本的单元是字节(Byte),但任何相邻两个 字节可以构成一个字(Word),一个字有16位二进 制码,其中低8位在地址较低的字节,高8位在地址 较高的字节。 “小端方式” 用地址值较小的哪个字节单元地址作为这个字单元 的地址。