微机原理课件第2章
微机原理课件第2讲.ppt

通用寄存器
指令执行部件(EU) AX
设置了8个16位通用寄 BX
存器。
CX
作用:存放运算过 DX
程中所需要的操作数地 SP
址、操作数及中间结果。 BP
特点:存取速度比
DI
存储器快得多。
SI
AH AL BH BL CH CL DH DL
16位
数据寄存器 指针寄存器 变址寄存器
各寄存器都有何特定功能?
8086的两种工作方式
最小模式 系统中只有8086一个处理器,所有的控制信号都
是由8086CPU产生(MN/MX=1)。 最大模式
系统中可包含一个以上的处理器,比如包含协处 理器8087。在系统规模比较大的情况下,系统控制信 号不是由8086直接产生,而是通过与8086配套的总线 控制器8288等形成(MN/MX=0)。
课堂练习
要完成下述运算,用什么标志为判别?其值是 什么?
(1)比较两个数是否相等; (2)两数运算后结果是正数还是负数; (3)采用偶校验方式时,判定其是否需要补1。
解:(1)ZF,两数相减若为零,则两数相等,有ZF=1 (2)SF,运算后最高位为1,是负数,此时SF=1 (3)PF,偶校验,当数据中的1为奇数个时需补1,此时
标志寄存器
执行部件EU
总线接口部件BIU
8086CPU与一般CPU区别
一般CPU工作方式
取指
执指
取指
执指 … 取指
执指
串行工作方式 8086CPU工作方式
BIU 取指 EU 执指
取指
取指
…
执指
执指
取指 执指
并行工作方式
8086CPU的寄存器结构
通用寄存器 段寄存器 标志寄存器FR 指令指针寄存器IP
第2章 微机原理PPT课件

20
最小模式下的连接示意图
时钟发 生器
ALE 8088 CPU
• •
地址 锁存
数据 收发
地址总线 数据总线 控制总线
21
最大模式下的连接示意图
时钟发 生器
ALE
8088 CPU
地址 锁存
数据 收发
地址总线 数据总线
总线 控制器
BH/ES7总线高位允许
29
WR*
28
M/IO*
/状态(输出,三态)
27 26
DT/R* DEN*
RD 读信号(输出,低
25
ALE*
24
INTA*
电平有效,三态)
23 22
TEST READY
TEST 测试信号(输入、
21 RESET 低电平有效)
25
GND
1
AD14
2
AD13
3
AD12
4
AD11
等); 分时复用引脚(AD7——AD0 等) ; 引脚的输入和输出分别传送不同的信息(RQ/GT)
24
通用信号
GND
1
AD14
2
AD13
3
AD12
4
AD11
5
AD10
6
AD9
7
AD8
8
AD7
9
AD6
10
AD5
11
AD4
12
AD3
13
AD2
14
AD1
15
AD0
16
NMI
17
INTR
18
CLK
[理学]微机原理 第二章ppt课件
![[理学]微机原理 第二章ppt课件](https://img.taocdn.com/s3/m/204cc08b25c52cc58ad6be11.png)
➢ 时钟频率高
➢ 采用超标量流水线构造 ➢ 采用分立的指令Cache和数据Cache构造, 可以无冲突地同时完成指令预取和数据读写 ➢ 采用新型的分页形式 ➢ 固化常用指令,使指令的运行得到进一步 加快 ➢ 内部提供了一个称之为分支目的缓冲器, 从而加快了循环操作的速度
➢ 重新设计的浮点运算部件,速度比80486快 10多倍
每次需要生成物理地址时,一个段存放器 会自动被选择,且能自动左移4位,再与一 个16位的偏移地址相加,产生所需要的20 位物理地址。
8086有4个段存放器CS、DS、SS、ES用来存放段地 址,还有6个16位的存放器〔IP、SI、DI、BX、BP、 SP〕用来存放偏移地址。在寻址时到底应该使用 哪个存放器是BIU根据执行操作的要求来确定的。
其中:第0位为最低位,第7位称为最高位。一 个字节可以表示28个不同值。
〔3〕字:通常,一个字的长度是16位,字中 位的编号从右到左依次是0~15,其中低8 位为低位字节,高8位为高位字节,如下图。 一个字可以表示216个不同值。
➢同时引进了虚拟地址空间的概念。
➢ 80286内部构造中,除了EU执行单元外, 总线接口部件BIU又细分成地址部件AU、指令 部件IU和总线部件BU
➢ 80286微处理器有两种工作形式:实地址 方式和保护虚拟地址方式 3. 80386微处理器
➢ 是一种32位微处理器
➢ 引进了线性地址和分页处理的概念
➢ 采用了流水线构造
➢ 引入高速缓冲存储器
➢ 80386的内部构造是由6个并行操作的功能部件 组成,即总线接口部件、代码预取部件、指令译 码部件、存储器管理部件、指令执行部件与指令 控制部件。
4. 80486微处理器
➢ 80486主要特征是运算速度快,称之为超级32位 CPU
微机原理第2章课件

2.4 微处理器的寄存器组织
IF(Interrupt Enable Flag): 可由指令置1/清0:
外部可屏蔽中断允许标志。
STI;IF=1,CPU处于开中断状态。
CLI;IF=0,CPU处于关中断状态。
1时,CPU能响应外部可屏蔽中断请求; 当IF=
0时,CPU不能响应外部可屏蔽中断请求。
IF对外部非可屏蔽中断请求以及CPU内部的中 断不起作用。
5
2.1 微处理器的外部结构
二、数据总线
用于CPU和存储器或I/O接口之间传送数据,是 双向的。
微处理器数据总线的条数决定CPU和存储器或 I/O设备一次能交换数据的位数,是区分微处理器 是多少位的依据。
8086 CPU 的数据总线是 16 条,我们就说 8086 CPU是16位微处理器。
6
2.4 微处理器的寄存器组织
32
2.4 微处理器的寄存器组织
ZF(Zero Flag)零标志位。 如果运算结果各位都为零,则ZF=1,否则 ZF=0。 SF(Sign Flag)符号标志。 它总是和结果的最高位(字节操作时是D7,字 操作时是D15)相同,因为在补码运算时最高位是 符号位,所以运算结果为负时,SF=1,否则SF=0.
57
2.5 微处理器的存储器和I/O组织
15 段寄存器 0
15 EA
0
16位段基址
16位偏移地址
19
0
16位段基址 0 0 0 0
∑
19
0
20位物理地址
图 2.11 物理地址的形成
58
2.5 微处理器的存储器和I/O组织
例1:某单元的逻辑地址为4B09H:5678H,则该存 储单元的物理地址为:
微机原理课件(西电版)第2章ppt2-4

下面将要介绍的5种寻址方式均为内存寻址 种寻址方式均为内存寻址,内存 种寻址方式均为内存寻址 单元的物理地址由段地址 偏移地址 段地址和偏移地址 段地址 偏移地址相加得到。 5种寻址方式如何取得操作数的偏移地址 种寻址方式如何取得操作数的偏移地址,偏移地 种寻址方式如何取得操作数的偏移地址 址又称为有效地址 有效地址EA。 有效地址 计算公式:EA = 基址 + 变址 + 位移量 计算公式: 位移量: 、 、 位 位移量:0、8、16位 基址寄存器: 、 基址寄存器:BX、BP 变址寄存器: 、 变址寄存器:SI、DI
23
举例:MOV AX,[BX][DI] 举例 或MOV AX,[BX+DI] 设(DS) = 2100H (BX) = 100FH (DI) = 10A5H (230B4H) = 67H (230B5H) = 34H 则上述指令的 有效地址EA = 100FH + 10A5H = 20B4H 物理地址 = 21000H + 20B4H = 230B4H 指令执行后(AX)= 3467H 该寻址方式,一般也应用于数组或表格处理,首 址放基址寄存器中,用变址寄存器访问各元素,由于 两个寄存器都可以修改,所以比寄存器相对寻址更灵 活。
6
8086的寻址方式 的寻址方式
头晕!!!为啥 搞这么多名堂?
立即数寻址 寄存器寻址 直接寻址 寄存器 间接寻址 寄存器相对寻址 基址加变址寻址 相对基址加变址寻址
5种内存寻址
7
立即数寻址 --操作数就在指令中提供。 比如: ;将16进制数80H送入AL MOV AL,80H ; 将 1090H 送 AX , AH 中 为 10H , AL 中 为 90H MOV AX,1090H
微机原理PPT

MOV 错误例 : × MOV AX, [DX] × MOV CL, [AX]
18
[BX] (1) DS: [SI] [DI] (2) SS: [BP] 配套默认,SS可不写 配套默认, 可不写 配套默认, 可不写 配套默认,DS可不写
[BX] [BP]
+
8位 位 16位 位
位移量
(2)配套默认 SS: [BP] ) DS: [BX] (3)位移量为 时,寻址方式? )位移量为0时 寻址方式?
× MOV AX, [DX+6]
21
例: MOV AX, [BX+8] ; DS: [BX+8] →AL MOV AX, 6 [BP] DS: [BX+9] →AH ; 默认段寄存器为 默认段寄存器为SS
00 11
数 据 段
. . .
26
8. 隐含寻址
指令操作数是隐含的,在指令中未指明。 指令操作数是隐含的,在指令中未指明。 例:MUL BL ;
(AL)×(BL)→AX ) )
指令隐含了被乘数AL及乘积 指令隐含了被乘数 及乘积AX 及乘积 类似的指令还有: 类似的指令还有:DIV、CBW、XLAT、 PUSH等 、 、 、 等
9
3. 标号
标号:指令地址的符号表示,或过程名(子程序)。 标号 指令地址的符号表示,或过程名(子程序)。 指令地址的符号表示 定义方式: 定义方式: (1)用“:”定义, 用 定义, 定义 如 CYCLE:MOV AL,[SI] : , (2)用PROC和ENDP定义过程。 定义过程。 用 和 定义过程 标号三属性: 标号三属性: (1)段地址 段地址 (2)偏移地址 偏移地址 (3)类型 类型:NEAR(近),段内使用(可默认),即CS:IP 类型 近 ,段内使用(可默认) : 可变; 中IP可变; 可变 FAR(远),段间使用,即CS:IP全可变 远 ,段间使用, : 全可变 # 变量名与标号均为存储单元的符号地址
第2章 微机原理基础知识PPT教学课件

2020/12/11
6
二进制与八进制、十六进制的相互转换
从二进制转换成十六进制时,从小数点位置开始,整数部分 向左,小数部分向右,每四位二进制数为一组用一位十六进 制的数字来表示,不足四位的用0补足,就是相应十六进制的 表示。
从二进制转换成八进制时,从小数点位置开始,整数部分向 左,小数部分向右,每三位二进制数为一组用一位八进制的 数字来表示,不足三位的用0补足,就是相应八进制的表示。
2020/12/11
3
进位计数制及其相互转换
r进制数转换为十进制数 按照公式展开求和
例1. 分别把二进制数1011.01和十六进制数F0.C用十进制表示
十进制数转换为r进制数 整数部分和小数部分分别进行转换
2020/12/11
4
十进制数转换为r进制数
整数部分的转换步骤:
① 把r写成十进制数; ② 将N除以r,记录商和余数,并用r进制表示余数,这余数便是用r 进制表示的数的最低位数字; ③ 把上次的商进行②中所述除以r取余的运算,用r进制表示余数; 重复这种运算直到商为0,这时的余数即为十进制数N用r进制表示时 的最高位数字。
13
BCD数的运算
同理,9+7的结果也必须用+6修 正,进位是在相加过程中产生的。
1001 +) 0 1 1 1
10000 +) 0 1 1 0
10110
2020/12/11
14
运算举例
(1)A=37以压缩的BCD码表示为: 00110111,
B=28以压缩的BCD码表示为: 00101000,
例2. 把十进制数103用二进制表示 例3. 把十进制数506用十六进制表示
微机原理课件课本 第二章节

微型计算机原理及其应用第二章80x86微处理器合肥工业大学计算机与信息学院2012-02第二章80x86微处理器2.1 微处理器的基本结构2.2 Intel8086微处理器2.3 8086中的程序状态字和堆栈2.4 8086系统的组成2.5 8086系统时钟和总线周期2.6 80386微处理器*2.7 80486微处理器*2.8 Pentium处理器*22.1 微处理器的基本结构1. 算术逻辑单元ALU2. 控制器3. 总线与总线缓冲器4. 寄存器阵列32.1.1 算术逻辑单元ALU数学问题的求解可分解为算术和逻辑运算实现。
¾在算术运算中,若符号数采用补码表示,则减法可用加法实现;乘除法可通过多次的加减和移位实现。
¾在逻辑运算中,只要具备“与”、“或”、“非”、“异或”等功能的部件就能实现各种复杂的逻辑运算。
¾所以,在不考虑数据信息表示方式的情况下,计算机只要具备加法、“与”、“或”、“非”等运算和移位操作功能,就能实现各种算术运算和逻辑运算。
算术逻辑单元(Arithmetic Logic Unit,ALU)¾是一个对二进制数进行算术和逻辑运算的部件。
42.1.1 算术逻辑单元ALUALU的主要功能¾硬件实现基本运算加、减、求补、与、或、非、异或、移位、BCD码运算的十进制调整等。
¾乘除法运算中低档的8位微处理器:乘除法运算是通过软件编程实现的,它由加、减、移位功能组合完成。
高档的8位微处理器和16位以上的微处理器:专用的乘除法指令,其乘除法运算功能也由硬件电路来完成。
¾浮点运算在8位或16位微处理器中,所有数都采用定点数表示,浮点数由两个定点数组成,浮点运算采用软件编程实现。
高性能微处理器中集成了专门的浮点处理器,并有专门的浮点运算指令。
562.1.1 算术逻辑单元ALUALU 的构成与工作原理数据寄存器标志寄存器十进制调整ALU 内部总线内部总线☆核心:加法器(与门+或门电路)加法运算减法运算:补码表示Î加法乘除运算:用移位操作实现数据经内部总线进入DRDR 的待运算数据和FR 的进位标志(CF)输入ALU结果送DB 或DR ,同时将运算结果的状态送FR 保存。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
与DS配合使用 用SI存放源操作数的偏移地址 用DI存放目标操作数的偏移地址
13
5. 指令指针寄存器
IP寄存器 —— 指令指针寄存器,存放下一次要取
出执行的指令的偏移地址 •与CS结合使用构成真正的指令物理地址 (CS*16+IP) •用户不能直接更新使用,只能由系统自动更新
14
部分寄存器一般用途示意
重叠
但要求:段的分配只能从地址低4位均为0的内存单 元开始
31
存储器分段图示
最大64KB,最小16B
32
存储器分段例
33
段首地址、段基地址和偏移地址
60000H 60002H 00H 12H
段首地址(20位)
××× ••• ×××
偏移地址 =0002H
0000 一定为0
段基地址(16位)
每个段都从低4位为0的存储单元开始 段首地址的高16位称为段基地址 偏移地址为相对于段首地址的偏移量
8086/8088提供20条地址总线,可寻址的存储空间为
220=1MB
每个存储单元的地址均为20位(但一般用5个十六进制 数书写)
地址范围为:00000H--0FFFFFH
21
字节数据与字数据的存储
存储在一个存储单元中的数据称为字节数据
字节数据的存储:按顺序存放
其存储单元的地址,叫做该字节数据的存储地址
17
标志寄存器置位问题
状态标志位由ALU运算的结果置位
控制标志位需要在程序中用专门的指令置位
18
运算对标志位的影响的例
19
第2主题问题 8086/8088的存储器组织
主要内容:
存储器组织 8086存储器的分体结构
存储器的分段和物理地址的形成
20
存储器的组织
在存储器中,以字节为单位存取数据 存储地址即为存储单元编号,称为地址
26
8086存储器的分体结构
8086CPU是按16位结构设计,可以通过两个存储体 直接读/写一个字数据;也可以只从一个存储体中读 /写一个8位的字节数据
SEL为奇偶地址存储体的“片选”信号
奇偶地址存储体的选择由BHE信号和A0决定
所以读存储器的分段和物理地址的形成
主要内容: 8086/8088CPU的内部结构
8086/8088CPU的寄存器结构
3
8086/8088CPU的内部结构
8086/8088 CPU的内部结构基本相同
均由两个独立的工作部件组成 一个称为执行部件(EU) 一个称为总线接口部件 (BIU)
4
8086/8088CPU的内部结构
指令队列的设置使指令的取 8088CPU外部数据 寄存器是中央处理器内的组成部份 总线为8位、指令 寄存器是有限存贮容量的高速存 出与执行并行进行,以提 队列为4字节 取指令、指令译码、产生 贮部件,它们可用来暂存指令、 高了程序的运行速度 并传送操作信号 地址加法器的作用是根据 数据和地址。 输出输入控制电路实现总指令:确定运算与操作 段寄存器存放的段基地 线控制,决定读或写、数据:运算或读写操作的对象 址与EU送出的16为偏移 地址:标记和确定内存空间中具体 对内存或对I/O接口 地址计算得到20位的实 的存储位置
10
2. 段寄存器
4个16位段寄存器,用于存放各逻辑段的段基地址;不 可互换的使用 CS(Code Segment ):代码段寄存器 用于存放当前执行程序所在段的段基地址 DS(Data Segment ):数据段寄存器 用于存放当前使用数据所在段的段基地址 ES(Extra Segment ):附加段寄存器 用于存放当前附加数据段的段基地址 SS(Stack Segment ):堆栈段寄存器 用于存放当前堆栈段的段基地址
6个状态标志(也称为条件码)----寄存ALU运算结果的 状态信息
3个控制标志----寄存CPU的工作状态信息
16
标志寄存器图示
符号标志SF用来反映运算 在运算过程中,如果发生低 中断允许标志IF位用来决定CPU是否响 奇偶标志 PF 用于标志运算 进位标志 CF主要用来反映运 结果的符号位,它与运 溢出标志位 OF 用于反映有符号数加减 方向标志 DF 位用来决定在“数据串操 4位向高4位的进位或借位 应 CPU 外部的可屏蔽中断发出的中 结果的低 8位中“1”的个 算是否产生进位或借位。 算结果的最高位相同。 运算所得结果是否溢出。如果运算 作”指令执行时的步进方向; DF=1 时,辅助进位标志 AF 的 断请求。但不管该标志为何值, 零标志ZF用来反映运算 数的奇偶性。如果“ 1” 状态控制标志 TF 位用来 如果运算结果的最高位产 对于有符号数就反映运 结果超过当前运算位数所能表示的 表示由高字节向低字节方向进行 — 值将被置为 1 CPU 都必须响应 CPU 外部的不可屏 结果是否为 0的个数为偶数,则 。如果运 PF的 控制 CPU是正常 (TF=0) 生了一个进位或借位,此 算结果的正负号。运算 范围,则称为溢出, OF 的值被置为 称为递减方式 蔽中断请求,以及 CPU 内部产生的 算结果为 0 ,则其值为 1 值为 1 执行,还是单步 (TF=1) 时其值为 1 结果为正数时, SF的值 1,否则, OF的值被清为 0 中断请求; IF=1表示开中断 执行 为0
8
8086/8088CPU的内部(编程用)寄存器
包括14个16位的寄存器
4个数据寄存器(AX,BX,CX,DX)
4个段寄存器(CS,DS,ES,SS) 2个地址指针寄存器(BP,SP) 2个变址寄存器(SI,DI) 2个控制寄存器(IP,FLAGS)
9
1. 数据寄存器
含4个16位寄存器,也可分别作为 2个8位的字节寄存器 使用;常用来存放参与运算的操作数或运算结果 • AX(Accumulator)(AH、AL)——累加寄存器 常用于数据运算或与外设交换数据 • BX(Base)(BH、BL)——基址寄存器 在间接寻址中用于存放内存的基地址 • CX(Count)(CH、CL)—— 计数寄存器 在循环、移位等操作中用于计数 • DX(Data)(DH、DL)—— 数据寄存器 常用于数据的传送或配合AX进行双字节运算
段基地址CS 段基地址SS 段基地址DS或ES
某数据地址SI 栈内某数据地址BP 某指令地址IP 某数据地址DI 堆栈顶地址SP 代码段 堆栈段 数据段或附加数据段
15
6. 标志寄存器
FR(FLAGS) —— 状态标志寄存器
8086/8088CPU设有一个16位的状态标志寄存器;使用
其中的9位作为状态标志位和控制标志位
但,入场卷上的编号只能是两位数
将全部座位先分为两个区域;各区域的编号用两 位数编制(如10、20) 各区域可容纳100人,编号为00---99 你的实际座位号应为:区域号*10+座位号
30
解决的办法
存储器的逻辑分段原则
逻辑段的划分原则上不受限制
各段之间可连续、可分开、可部分重叠、还可完全
需要存储在相邻两个存储单元中的数据称为一个“字”, 叫做字数据
字数据的存储:低字节存于低地址单元,高字节存于
高地址单元
存放该字数据低字节的存储单元的地址,叫做该字数 据的存储地址
22
存储器中数据的存储方式
存储单元地址 3CH ……
00A22H 00B06H 00B07H 03A03H 03A04H
(即所使用的总线周期数不同)
24
8086存储器的分体结构
在8086系统中,将其可寻址的1 MB存储器分为
两个存储体;即奇地址存储体和偶地址存储体, 各为512 KB
25
8086存储器的分体结构
◆奇地址存储体与系统高8位数据总线相连,偶地址存储体 与系统低8位数据总线相连 奇高偶低 ◆读/写偶地址体时,数据从低8位数据总线上传送 ◆读/写奇地址体时,数据从高8位数据总线上传送 特别提示:关注BHE、A0和SEL信号
11
3. 地址指针寄存器
常用于存放段内寻址时的偏移地址
SP:堆栈指针寄存器,存放当前堆栈段中
栈顶的偏移地址
BP:基址指针寄存器,存放位于堆栈中的 某个存储单元的偏移地址
在寻址操作时一般均与SS搭配使用
12
4. 变址寄存器
SI:源变址寄存器 DI:目标变址寄存器 变址寄存器常用于指令的间接寻址或相对寻址;存放 当前数据段中某一个存储单元的偏移地址
7
指令队列缓冲器
指令队列缓冲器
8086 的指令队列为6个字节 8088 的指令队列为4个字节
指令队列缓冲器的指令存放状态
实现CPU的流水 线处理操作
顺序指令执行:指令队列存放紧接在执行指令后面的
那一条指令
执行转移指令:立即清除指令队列中的内容,从新的 地址取入指令,并立即送往执行单元,然后再从新单 元开始重新填满队列
28
存储器的逻辑分段
CPU对存储器实行“分段”管理
即将存储空间分为若干逻辑段,每个逻辑段长度≤64 KB; 16位的总线足可以管理和标记它
某存储单元的实际地址用段的基本地址(段基址)加该存储 单元在该段中的相对位置(偏移地址)共同表示
29
比喻
假设
教室内有200个座位,都编有3位数的号码 必须按号入座
34
地址存储与寄存器
BX基址寄存器
基址或变址寄存器,
存储相应的偏移地址
BP基址指针寄存器 SP堆栈指针寄存器 IP指令指针寄存器 DI目的变址寄存器 SI源变址寄存器 CS代码段段基址寄存器 DS数据段段基址寄存器 ES附加段段基址寄存器