第2章微处理器与指令系统-wy01资料
合集下载
第二章--微处理器PPT课件

第一节 微型计算机的组成及工作原理
微处 理器
8086/ 8088
存储器 RAM
存储器 ROM
I/O 接口
外围Байду номын сангаас备
地址总线AB 控制总线CB 数据总线DB
系统总线 或三总线
图 2.1 微型计算机的组成
2.1.1 CPU的基本概念和组成
微处理器(机)简称CPU,是用来实现运算和控制功 能的部件,由运算器、 控制器和寄存器 3 部分组成。 1) 运算器用于完成数据的算术和逻辑运算。 2) 寄存器用来暂存参加运算的操作数和运算结果。 3) 控制器由指令寄存器、指令译码器和控制电路组成。 指令是一组二进制编码信息,主要包括两个内容: (1)告诉计算机进行什么操作; (2)指出操作数或操作数地址。 (3) 控制电路根据指令的要求向微型机各部件发出 一系列相应的控制信息,使它们协调有序地工作。
段寄存器在使用中应注意:
(1)在编写汇编语言源程序时,应按上述 规定将程序的各个部分放在规定的段内。
2.2.3 输入/输出设备及其接口电路 输入/输出(缩写为I/O)设备统称外部设备,是微
型计算机的重要组成部分。输入设备的任务是将程序、 原始数据及现场信息以计算机所能识别的形式送到计
算机中,供计算机自动计算或处理用。 微型机中常 用的输入设备包括键盘、鼠标器、 数字化仪、扫描 仪、A/D转换器等。输出设备的任务是将计算机的计 算和处理结果或回答信号以人能识别的各种形式表示
总线接口部件 (BIU)
8086微处理器逻辑框图:分EU与BIU两部分:
执行部件(EU):由ALU、通用寄存器组、状态寄 存器及操作控制器电路组成。 总线接口部件(BIU):由专用寄存器、指令队列 缓冲器、地址加法器等功能部件组成。形成对 外总线,与存储器、I/O接口电路进行数据传输。
第二章2 微处理器指令系统

MOV AX, 0102H;AX←0102H 调试
12
2.2.2 寄存器寻址方式
操作数存放在CPU的内部寄存器reg中:
8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP 4个段寄存器seg: CS、DS、SS、ES
25
相对寻址方式中的位移量
在寄存器相对和相对基址变址寻址方式中,其
位移量不仅可用常量表示,也可用符号表示 这个符号可以是变量名,例如WVAR变量,而 且支持多种表达形式
MOV AX, [DI+WVAR] ;= MOV AX,WVAR[DI] ;等同于 MOV AX,[DI+0010H] MOV AX,[BX+SI+WVAR] ;等同于 MOV AX, WVAR[BX+SI] ;等同于 MOV AX, WVAR[BX][SI]
演示
MOV AX, 6[BX+DI]
MOV AX, 6[BX][DI]
24
存储器寻址方式中的变量
变量指示内存中的数据,变量名具有地址属性。
存储器寻找方式中经常采用变量形式 变量的定义
WVAR DW 1234H ;定义16位变量WVAR,具有初值1234H ;假设其偏移地址为10H
单独引用变量名是直接寻址方式 MOV AX,WVAR ;指令功能:AX=1234H ;等同于 MOV AX,[0010H]
语句的各个组成部分用冒号,逗号,分号,空格等 作分隔符。MASM支持采用续行符“\”
7
2.2.1 立即数寻址方式
指令中的操作数直接存放在机器代码中,紧跟在操作码 之后(操作数作为指令的一部分存放在操作码之后的主 存单元中) 这种操作数被称为立即数imm
第二章 微处理器指令系统讲稿-1-2

处理器对两个操作数进行运算时,按照无符 号数求得结果,并相应设置进位标志CF;同 时,根据是否超出有符号数的范围设置溢出 标志OF
应该利用哪个标志,则由程序员来决定。也 就是说,如果将参加运算的操作数认为是无 符号数,就应该关心进位;认为是有符号数, 则要注意是否溢出
溢出的判断
BP为基址指针寄存器(Base Pointer),表示数 据在堆栈段中的基地址
SP和BP寄存器与SS段寄存器联合使用以确定 堆栈段中的存堆储栈单(S元ta地ck址)是主存中一个特殊的
区域,采用“先进后出”或“后进先出” 存取操作方式、而不是随机存取方式。
用8088/8086形成的微机系统中,堆 栈区域被称为堆栈段
IBM公司选择8088作为处理器设计个人计算机, 大获成功,Intel微处理器成为主流产品。
8088的引脚图
GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
1
40
2
39
3
38
4
37
5
36
6 8088 35
1. 通用寄存器---数据寄存器
AX称为累加器(Accumulator) 使用频度最高。用于算术、逻辑运算以及与外设传送 信息等
BX称为基址寄存器(Base address Register) 常用做存放存储器地址
CX称为计数器(Counter) 作为循环和串操作等指令中的隐含计数器
DX称为数据寄存器(Data register) 常用来存放双字长数据的高16位,或存放外设端口地 址
7
34
8
33
9
32
应该利用哪个标志,则由程序员来决定。也 就是说,如果将参加运算的操作数认为是无 符号数,就应该关心进位;认为是有符号数, 则要注意是否溢出
溢出的判断
BP为基址指针寄存器(Base Pointer),表示数 据在堆栈段中的基地址
SP和BP寄存器与SS段寄存器联合使用以确定 堆栈段中的存堆储栈单(S元ta地ck址)是主存中一个特殊的
区域,采用“先进后出”或“后进先出” 存取操作方式、而不是随机存取方式。
用8088/8086形成的微机系统中,堆 栈区域被称为堆栈段
IBM公司选择8088作为处理器设计个人计算机, 大获成功,Intel微处理器成为主流产品。
8088的引脚图
GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
1
40
2
39
3
38
4
37
5
36
6 8088 35
1. 通用寄存器---数据寄存器
AX称为累加器(Accumulator) 使用频度最高。用于算术、逻辑运算以及与外设传送 信息等
BX称为基址寄存器(Base address Register) 常用做存放存储器地址
CX称为计数器(Counter) 作为循环和串操作等指令中的隐含计数器
DX称为数据寄存器(Data register) 常用来存放双字长数据的高16位,或存放外设端口地 址
7
34
8
33
9
32
第2章中央处理器与指令系统PPT课件

Di
• 在各寄存器与ALU之间根据指令执行过程中的操作和数据流向来 安排功能部件并建立相应的数据传输通路。
• 每条数据传输通路都是专用的,不共享使用。
• 在数据传输和操作中可以做到互不相关,控制比较简单,各寄存
器之间的数据传输可以并行进行,从而达到较高的性能。
5
时间概念
• 指令周期 – 是从一条指令的启动到下一条指令的启动的 时间间隔。
instruction fetch
• PC = PC + 4
4
PCWrite PC
指令 存储器
[PC+4]31-28 x4 I25-0 PC+4
控制器
IRWrite IR
I25-21 I20-16
I15-11
RegDst
I15-0
Rx
数据
A Dx
Ry 寄存
器
Rz
B
Dy
Dz
RegWrite 符号扩展
Target
R1 R2 R3
Add 数据 Do
存储器
MemtoReg
Di
图5-2 专用通路结构CPU 例子
10
一、运算指令的执行过程
采用单总线结构: – 如ADD R3, R1, R2
(1) PC→MAR (2) PC+1→PC
控制 信号
地址总线
存储 器 数据总线
指 令 译 码 /控 制 器
IR
PPCC
MMAARR M DR
• 数据通路:寄存器与ALU之间传递信息的线路。通常有2种建立方法:
– 用数据总线(单总线,双总线,多总线) – 用专用通路(如MIPS)
3
数据总线结构
微处理器指令系统PPT教学

第2 章
第2章 微处理器指令系统
教学重点
8088/8086内部结构 8088/8086汇编语言寻址方式
2.1.1 微处理器的基本结构
指
指
时序
令 寄
令
译1.
算控和制术逻辑单元(控制运总线算器)
存
码
逻辑
2. 寄存器组
指令处理单元(控制器) 通 用
地址
寄存器组 3. 寄存器组
地址 总线 控制
地址线
内部数据总线
数据 总线 控制
数据总线
暂存器
累加器
标志寄存器
ALU
2.1.2 8088/8086的功能结构
8088的内部结构从功能分成两个单元
总线接口单元BIU——管理8088与系统总线 的接口,负责CPU对存储器和外设进行访问
执行单元EU——负责指令的译码、执行和数 据的运算
两个单元相互独立,分别完成各自操作 两个单元可以并行执行,实现指令取指和
执行的流水线操作
第2章 微处理器指令系统
教学重点
8088/8086内部结构 8088/8086汇编语言寻址方式
2.1.1 微处理器的基本结构
指
指
时序
令 寄
令
译1.
算控和制术逻辑单元(控制运总线算器)
存
码
逻辑
2. 寄存器组
指令处理单元(控制器) 通 用
地址
寄存器组 3. 寄存器组
地址 总线 控制
地址线
内部数据总线
数据 总线 控制
数据总线
暂存器
累加器
标志寄存器
ALU
2.1.2 8088/8086的功能结构
8088的内部结构从功能分成两个单元
总线接口单元BIU——管理8088与系统总线 的接口,负责CPU对存储器和外设进行访问
执行单元EU——负责指令的译码、执行和数 据的运算
两个单元相互独立,分别完成各自操作 两个单元可以并行执行,实现指令取指和
执行的流水线操作
微机原理 第02章微处理器指令系统 ppt课件

总线接口单元 (BIU)
指令预取
取指令1
执行指令1 取指令2
执行指令2 取指令3
执行指令3
8086/8088的寄存器结构
•通用寄存器 AX、BX、CX、DX、SI、DI、BP、SP
•指令指针 IP •标志寄存器 FLAGS •段寄存器 CS、SS、DS、ES
参见:图2-3(P19)
16位通用寄存器
• 运算结果为0时,ZF置1,否则ZF置0。
01101000B + 01000000B
10101000B ZF=0
00010000B + 11110000B
00000000B ZF=1
符号标志SF(Sign Flag)
• 运算结果的最高位为1时,SF置1,否则SF置0。
00101000B + 01000000B
8088CPU结构图
AH AL 通 BH BL 用 CH CL
(图2-2) 数据寄存器
寄 DH DL
存
SP
器
BP
地址寄存器
DI
SI
运算寄存器 ALU 标志
执行部分 控制电路
执行单元 (EU)
20位
地址译码 8位
CS
DS
SS
ES
总线
IP
控制
逻辑
内部寄存器 电路
外
总
线
12 3 4
指令队列缓冲器 4个字节
1-低8位有偶数个1 0-低8位有奇数个1
AF
PF CF
溢 出 标 志
1-有溢出 0-无溢出
方中单 符 零 半
向断步 号 标 进
标允中 标 志 借
志许断 志
位
计算机硬件技术基础 微型计算机原理与接口技术 微处理器和指令系统 第2章 第一次课

零
奇
溢
偶
出
符
号
半
借位等。
进
位
2.2 8086/8088微处理器
8086/8088的标志寄存器----控制标志
微型计算机原理与接口技术
跟踪标志TF (Trap flag):运行状态。 CPU单步运行,TF=1 CPU正常运行 ,TF=0
中断允许标志IF (Interruption Enable flag):控制可屏 蔽中断。 CPU接收外部中断,IF=1 CPU不接受外部中断,IF=0
2.2 8086/8088微处理器
8086/8088的标志寄存器-----状态标志
微型计算机原理与接口技术
零标志ZF (zero flag):运算结果是否为零。 结果为0,ZF=1 结果不为0 ,ZF=0
符号标志SF (sign flag):操作结果的符号,它等同于操作 的最高位D7(或D15)。 操作结果为负,SF=1 操作结果为正,SF=0
器 DX DH
AL 累加器 BL 基址寄存器 CL 计数器 DL 存IO端口地址
(8088) 6个字节(8086)
专
SP
堆栈指针寄存器(Stack Pointer)
用
BP
基址指针寄存器(Base Pointer)
寄 存
SI
源变址寄存器(Source Index)
器
DI
目的变址寄存器(Destination Index)
0100 0111 0110 1010
1001 1011 1010 0011
结果有:SF=1 ZF=0 PF=1 AF=1 CF=0 OF=1
标志寄存器 例如两数相加:
0101 0100 + 0100 0111
微处理器和指令系统

总线接口部件(BIU) 总线接口单元(BIU) 20位地址总线 地址加法器 段 寄 存 器 CS DS SS ES IP 16 位 数 据 线
总线 总线 控制 控制 逻辑
通 用 寄 存 器 组
外 20位地址总线 部 16位数据总线 总 控制总线 控制总线 线
控制信号 控制信号 … EU 控制器 控制器
主要引线(最小模式下)
8088是工作在最小还是最大模式由MN/MX 端状态决定:MN/MX=0时工作于最大模 式,反之工作于最小模式。 数据信号线(DB)与地址信号线(AB):
AD7~AD0:三态,地址/数据复用线。ALE有效时为地 址的低8位。地址信号有效时为输出,传送 数据信号时为双向。 A19~A16:三态,输出。高4位地址信号,与状态信号 S6-S3分时复用。 A15~A8 :三态,输出。输出8位地址信号。
变址寄存器
SI:源变址寄存器 DI:目标变址寄存器 变址寄存器常用于指令的间接寻址 或变址寻址。特别是在串操作指令 中,用SI存放源操作数的偏移地 址,而用DI存放目标操作数的偏移 地址。
段寄存器
用于存放逻辑段的段基地址(逻辑段的概念后面
将要介绍)
CS:代码段寄存器
代码段用于存放指令代码
DS:数据段寄存器 ES:附加段寄存器
2.1 微处理器
概述 8088CPU外部引线及功能; 8088CPU的内部结构和特点; 各内部寄存器的功能; 8088的工作时序。 8088系统总线
一、概述
8088、8086基本类似
16位CPU、AB宽度20位
差别:
指令预取队列:8088为4字节,8086为6字节 数据总线引脚:8088有8根,8086有16根
BUS
忙碌 忙碌 忙碌 忙碌 1)CPU执行指令时总线处于空闲状态 2)CPU访问存储器(存取数据或指令)时要等待总线操作 的完成 缺点:CPU无法全速运行 解决:总线空闲时预取指令,使CPU需要指令时能立刻得 到
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EU 控制电路
指令队列
123456
8位 8088
8086
总线接口单元(BIU)
总线 8086/8088 控制电路
外部总线
8086 CPU内部指令执行流程
1. 段寄存器CS 程序指针寄存器IP 内容经过地址加法器形成20 位地址; 2. 由CPU内部地址总线AB , 经过总线地址控制电路, 向外部总线发
法器,形成数据保存地址,并送到外部总线。CPU 发写总线操作命 令,将暂存器的内容, 通过总线, 写到指定内存单元。
2.指令流水线
指令队列的存在使EU和BIU并行工作,取指令和分析、 执行指令操作可重叠进行,形成了两级指令流水线结构, 减少了CPU等待时间,提高了CPU的利用率,加快了整 机运行速度,降低了对存储器存取速度的要求。
读取指令的的控制信号, 外部总线开始总线操作; 3. 读取指令送入到指令队列中, 等待执行; 4. EU单元从队列中取一条指令到EU控制电路,译码指令需要做的系列
操作,包括寄存器的内容送累加器; 5. 操作结果经过内部数据总线, 存放到寄存器或内部暂存器,同时置
FR; 6. 根据DS寄存器的内容,及指令寻址方式产生的偏移量,经过地址加
为了避免出现以上情形的发生,所采取的措施称作ห้องสมุดไป่ตู้保护”。
保护方式:CPU可访问的物理 存储空间为232= 4GB;程序 可用的虚拟地址空间为 246=64TB。段长度在启动页 功能时是4GB,不启动页功能 时 是 1 MB。 可 支 持 多 用 户 和 单用户的多任务操作,并对各 任务提供了多方面的保护机制。
第二章 微处理器和指令系统
2011.9.26
2.1.1 8086/8088 微处理器
8086是1978年推出的全16位微处理器, 8088是1978年推出 的准16位微处理器。二者除外数据总线位数(8086为16位, 8088为8位)及与此相关的部分逻辑稍有差别外,内部结构 和基本性能相同,指令系统完全兼容。
8086是全16位微处理器,8088是准16位微处理器。二 者除了外数据总线位数及与此相关的部分逻辑稍有差别外, 内部结构和基本性能相同,指令系统完全兼容。
➢ 内部结构 ➢ 指令流水线 ➢ 存储器分段
2.1.1 8086/8088微处理器
1.内部结构
通用寄存器
AX AH AL
BX BH BL
CX CH CL
实模式操作方式只允许微处理器寻址第一个1MB存储器 空间;
当微处Pentium理器工作于实地址模式时,存储器的管 理方式与8086微处理器存储器的管理方式完全相同。
2.保护虚拟方式
通常在程序运行过程中,应防止以下情况的发生: ① 应用程序破坏系统程序。 ② 某一应用程序破坏了其他应用程序。 ③ 错误地把数据当作程序运行。
BIU 取指令1 取指令 取数据1 取指令3 存结果1 取指令4 取指令5
2
EU 等待 译码1
执行1
译码2 执行2 译码3
8086/8088的指令“流水”操作
3.存储器分段
8086物理地址(1M=220)
将1MB的物理存储空 间分成若干个逻辑段,每 段大小为64KB。
00000H 00001H 00002H 00003H
存储区的末地址=DS×16+偏移地址 =2100H×16+FFFFH =30FFFH
2.2 Pentium微处理器
2.2.3 Pentium的四种工作方式
1. 实地址工作模式
最基本的工作方式。 8086/8088的实地址模式保持兼容。 微处Pentium理器的实地址模式具有更强的功能,增
加了寄存器,扩充了指令,可进行32位操作。
CPU复位 实实地地址址 使CR0的PE=1 方方式式 复位 或PE=0
系统管理方式:使设计 者实现高级管理功能, 如对电源的管理以及为 复位 操作系统和正在运行的 程序提供安全性。
DX DH DL
指针寄存器
SP BP
变址寄存器
DI SI
ALU DB
累加器 基址寄存器 计数寄存器 数据寄存器 堆栈指针 基址指针 目的变址 源变址
16位
20位 AB
地址加法器
∑
DB
CS DS SS ES IP
内部暂存器
8088:8位 8086:16位
指令指针
运算暂存器
ALU
标志寄存器
执行单元(EU)
逻逻辑辑地地址址在编程时采 用,由段基址和偏移地 址组成,两者均为16位。
20000H 20A00H
0A00H
内存
• 逻辑地址与物理地址的变换
逻辑地址与20位物理地址的变换关系: 物理地址=段基址×16+偏移地址
逻辑地址
15
0
15
0
段基址
左移四位
段基址 0000
偏移地址
地址 加法器
∑
19
0
20位物理地址
代码段 (64KB)
堆栈段 (64KB)
……
31000H 数据段与附加
数据段重叠 (64KB)
40FFFH
…
分段方式不唯 一,各段之间可 以连续、分离、 部分重叠或完全 重叠,这主要取 决于对各个段寄 存器的预置内容。
…
…
• 物理地址和逻辑地址
物物理理地地址址是1MB存储 空间中的某一单元地址, 用20位地址码表 示,CPU访问存储器时, 地址总线上送出的就是 物理地址。
【例】 若数据段寄存器DS=2100H,试确定该存储区段物理地 址的范围。
一个逻辑段的最大容量为64KB; 第一个存储单元的偏移地址为0; 最后一个存储单元的偏移地址为FFFFH。 该数据区段由低至高相应存储单元的偏移地址为:
0000H~ FFFFH。
存储区的首地址= DS×16+偏移地址 = 2100H×16+0000H=21000H
内存
段的起始单元地址叫 段基址,存放在段寄存 器中。通过4个段寄存 器,CPU每次可同时对 4个段进行寻址。
30000H (段基址)
64KB
FFFFFH
• 存储器分段结构示例
…
CS 1000H SS 2000H DS 3100H ES 3100H
…
10000H
1FFFFH 20000H
2FFFFH
在8086/8088的设计中,引入了两个重要的结构概念: • 指令流水线 • 存储器分段
这两个概念在以后升级的Intel系列微处理器中一直被沿用和发展。 正是这两个概念的引入,使8086/8088比原来的8位MPU在运行速度、 处理能力和对存储空间的访问等性能方面有很大提高。
2.1 8086/8088微处理器