微处理器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8088为准16位CPU,内部DB为16位,但外部仅 为8位,16位数据要分两次传送
第三节
一、数据的存储格式
存储器组织
在存储器里以字节为单位存储信息。为 了正确地存储信息,每1个字节单元被赋予一 个地址,即存储单元地址。 一个存储单元中存放的信息称为该存储单 元的内容。如图表示,在0002H地址单元存储 的信息为34H,即0002H单元的内容为34H,表 示为: [0002H]=34H或(0002H)=34H。 若存放的数据为一个字,则要占用连续两个存储单元。存放时字的低 字节存放在低地址单元中,高字节存放在高地址单元中,并以低地址作为 该字的地址。从偶地址开始存放的字,称为规则字或对准字,从奇地址开 始存放的字,称为非规则字或非对准字。 如图3-13中,0002H“字”单元的内容为[0002H]=1234H。 因此,同一个地址既可以看作字节单元的地址,也可以看作字单元的 地址,这要根据具体情况来确定。
总线接口部件BIU和执行部件EU并不是同步工作的
两者的动作管理遵循如下原则:
(1)每当8086的指令队列中有2个空,BIU就会自动
把指令取到指令队列中。
(2)EU从指令队列取出一条指令,并用几个时钟周 期去分析、执行指令。 (3)当指令队列已满,而且EU对BIU又无总线访问请 求时,BIU便进入空闲状态。
第一节 8086/8088微处理器的内部结构
• 执行部件EU的作用:负责 执行指令、形成有效地址EA。 EU 包括4部分: • 运算器用于算术逻辑运算和 形成有效地址 • 标志寄存器用来存放反映 ALU运算结果的状态和一些控 制标志。 • 通用寄存器包括AX,BX, CX,DX,SI,DI,BP,SP • 控制单元用于译码,形成控 制信号。
忙碌
忙碌
忙碌
忙碌
(1) CPU访问存储器(存取数据或指令)时要等待总线操作 的完成 (2) CPU执行指令时总线处于空闲状态 缺点:CPU无法全速运行 解决:总线空闲时预取指令,使CPU需要指令时能立刻 得到
16位CPU(8086/8088)
EU
执行1 执行2 执行3 执行4 执行5 取指1 取指2 取指3 取指4 取指5
• [例]:已知(CS)=1055H,(DS)=250AH,
(ES)=2EF0H,(SS)=8FF0H, 数据段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址=? 10550H
代码
解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH×10H+0204H = 252A4H 这个例子说明:段与段可以不连续 段之间可以重叠
8088系统中存储器与总线连接
三、存储器分段
在8086系统中,可寻址的存储空 间达1MB。要对整个存储器空间寻址, 则需要20位的地址码,而8086系统内 所有的寄存器都只有16位,只能寻址 64KB(216B)。因此把整个存储中间 分成许多逻辑段,每个逻辑段容量最 多为64KB。8086微处理器允许它们在 整个存储空间中浮动,各个逻辑段之 间可以紧密相连,也可以相互重叠, 还可以分开一段距离,如图3-17所示。
S3、S4表示用何段寄存器
S4S3 0 0 0 1 1 0 1 1
段寄存器 ES SS CS(I/O、INT) DS
S5=IF,S6=0
VCC MN/MX RD 时钟发 生器
CLK
WR
地 BHE 址 锁 存 器 数 据 收 发 器
READY M/IO
RESET ALE TEST BHE
A16~A19
• 总线接口部件BIU的作用:预取 指令、形成实际地址PA、输入输出 数据。BIU主要由5部分组成: • 指令队列缓冲器:暂存指令。采 用“先进先出”的原则顺序存放。 • 指令指针寄存器IP:存放下一条 将要取的指令的有效地址。 • 总线控制逻辑:根据指令控制总 线的分时使用。 • 段寄存器:用来存放每种段的首 基址,有DS、ES、DS、SS四种。 • 地址产生器:用来形成20位的实 际地址PA。 • PA=段寄存器左移4位+有效地址 EA。即:
8086的工作模式
• 最大模式:有多个微处理器 • 最小模式:仅有8086一个微处理器
8086CPU引脚及功能
• 40根引脚 分时复用 • 1。AD0~AD15:T1—A(三态输出); T2~T4—D(三态双向) • 2。A16/S3~A19/S6:T1—A; T2~T4—状态 • 3。VCC,GND,GND • 4。控制总线:17根
默认段和偏移寄存器
• 8086规定了访问存储器段的规则:
– 此规则定义了段地址寄存器和偏移地址寄存器 的组合方式,其默认规则如下表: 段地址 默认偏移地址 用于访问
(4)在执行转移、调用和返回指令时,指令队列中
的原有内容被自动清除。
二、指令的流水线
指令的一般执行过程:
取指令 指令译码 (前2步合称为取指) 读取操作数 执行指令 存放结果 (最后3步统称指令执行)
串行工作方式:
• 8088以前的CPU采用串行工作方式:
CPU BUS
取指令 1 执行 1
存结果 1 取指令 2 取操 作数2 执行 2
数据能力的一个重要指标。
(5)高速缓存:高速缓存(Cache)也是影响微处理器性能的一个重要因素, 在微处理器中内置高速缓存可以提高微处理器的运行效率。Cache的存取速度 与微处理器的主频相匹配。
例如: Intel 8086CPU:16位微处理器 采用HMOS工艺制造的 16根DB(字长为16) 20根AB(可寻址的地址空间达220即1M字节)。 单一 5V 电源 单相时钟, 时钟频率为5MHz 能与其他处理器组成多处理器系统。 Intel 8088CPU:准16位微处理器:内部寄存器、内 部运算部件以及内部操作都是按16位设计的,但对外的 数据总线只有8条。
① 字节存储:一个字节存放一个单元。 如单元00100H中的内容为34H,表示为 (00100H)=34H。 ② 字存储:一个字存于相邻两个单元,且低 位字节在低地址,高位字节在高地址, 字单元的地址以低位地址表示。 如:(00100H)=1234H,(00103H)=0152H ③ 一个字可以从偶地址开始存放,也可以从 奇地址开始存放。 ① 若字单元地址从偶地址开始,只需访问一次存储器 ② 若字单元地址从奇地址开始,要访问两次存储器 所以,前者称规则字,后者称非规则字。
AD0~AD15
HLDA . HOLD . 8086 INTA . INTR DEN NMI DT/R
存储器
I/O芯片
最小模式
最大模式
8088与8086的区别:
指令预取队列:8088为4字节,8086为6字节 数据总线引脚:8088有8根,8086有16根 控制线引脚: 8088为IO//M,而8086为M//IO 8088 为SS0,而8086 的/BHE 。
15
0
有效地址EA
15
段寄存器
0 0 0000
例:(CS)=2000H, (IP)=2344H 则PA=(CS)左移4位+(IP) =20000H+2344H =22344H
实际地址PA
19
0
注意:“左移4位”中这 个位是指二进制位,而非十 六进制位。左移 4 位二进制 数相当于左移 1 位十六进制 数。
(2)主频、外频、倍频:主频是微处理器的时钟频率,它决定了微处理器的
处理速度;外频是指系统总线的工作频率,即主板的工作频率,它可以衡量微 型计算机外设的工作速度;而倍频则是指微处理器外频与主频相差的倍数。三 者的关系为:主频=外频×倍频。 (3)地址总线的宽度:决定微处理器可以直接访问的存储器物理空间,对于 8086微处理器,地址总线的宽度为20位,最多可以直接访问1MB的物理空间。 (4)主存容量:指主存储器中RAM和ROM的容量总和,是衡量微型计算机处理
Байду номын сангаас
250A0H
2EF00H
数据
扩展
8FF00H
堆 栈
四、存储器地址
(1)物理地址(Physical Address,简称PA):为无符号的20位二 进制数,是存储单元的实际地址,是唯一代表存储空间每个字节单 元的地址。当CPU与某个存储单元交换信息时,必须给出该单元的 物理地址,才能进行存取操作。 (2)段的起始地址:为无符号的20位二进制数,是各类段的第一 个存储单元的物理地址。段的起始地址要求能被16整除,即20位物 理地址的低4位为“0”。 (3)段基址(Segment Address):为无符号的16位二进制数,是段 的起始地址的高16位,当前段的段基址存放在段寄存器中。 (4)偏移地址(Offset Address):为无符号的16位二进制数,是 要寻址的内存单元距本段段的起始地址的偏移量。在编程中常被称 做“有效地址EA(Effective Address)”。 (5)逻辑地址(Logic Address):为无符号的16位二进制数,是在 程序中使用的地址,由段基址和偏移地址两部分组成。表示形式为 “段基址:偏移地址”。
BX与BP在应用上的区别
• 相同点: 作为通用寄存器, • 二者均可用于存放数据; • 不同点: 作为基址寄存器, BX通常用于寻址数据段; BP通常用于寻址堆栈段。 • BX一般与DS或ES搭配使用; BP一般与SS搭配.
标志寄存器
1-低8位有偶数个1 0-低8位有奇数个1
16位寄存器,其中有7位未用。 D15
程序设计级模型
AX BX CX DX
DS CS SI DI BP SP FR
SS
ES IP 14个16位的寄存器
第二节 8086/8088CPU的外部特性
基本概念
● 有效电平 —— 指引脚起作用时的逻辑电平。有些信号是低电平有 效,也称作负逻辑,有些信号是高电平有效,也称作正逻辑。 ● 三态 —— 是指引脚除了能正常的输入或输出高、低电平之外,还 能输出高阻状态 。
标志寄存器中的标志位在计算机中的表示符号
标志
OF DF IF SF ZF AF PF CF
为1的符号
OV DN EI NG ZR AC PE CY
为0的符号 NV UP DI PL NZ NA PO NC
段寄存器
• 存储器分段原因:16位地址寄存器与20位地址总线之间 的矛盾。 • 段的起始地址特征:实际地址的低4位(二进制)为零。 实际地址的高16位称为段基址。段内偏移地址(有效地 址)。段基址*16=段起始地址。 • 段的最大长度:64K。(与16位寄存器相对应) • 段的分类:分四大功能段:数据段、代码段、堆栈段和附 加段。段寄存器存放当前段的段基址。 CS:代码段寄存器,代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操作数 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参数
OF DF IF TF SF ZF
D0
AF PF CF
方 向 标 志
单 步 中 断
符 零 号 标 标 志 志
1-结果为0 0-结果不为0
溢 出 标 志
中 断 允 许
半 进 借 位 标 志
奇 偶 标 志
进 借 位 标 志
1-有进、借位 0-无进、借位
1-低4位向高4位有进、借位 0-低4位向高4位无进、借位
二、8086存储器的分体结构
1. 分体结构概念 两个存储体:偶地址存储体+奇地址存储体,各为 512KByte,共1M Byte.
A1~A19 A0 BHE
SEL A0~A18
高位(奇数)库 512K*8
SEL A0~A18 低位(偶数)库 512K*8 D0~D7
D0~D7
D8~D15 D0~D7
第三章 微处理器及其结构
• • • • 熟练掌握8086的编程结构 熟练掌握8086的最小工作模式及引脚功能 熟练掌握8086的存储器和I/O组织 了解8086的操作和时序
微处理器的主要性能指标
(1)字长:是微处理器在交换、加工、存储信息时,其信息位的最基本的长
度,与数据总线的根数、内部寄存器和运算器的位数相同。字长应该是字节的 整数倍。
·· ·· ·· ·· ·· ··
CPU BIU
总线BUS
t t
忙
忙
忙
忙
忙
·· ·· ·· t
并行工作方式
8088的指令执行过程
三、8086的内部寄存器
• 含14个16位寄存器,按功能可分为三类 8个通用寄存器(通用Regs) 4个段寄存器 (Seg Regs) 专用Regs 2个控制寄存器(Con Regs)