微机原理第三章-微机系统+总线时序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在BCD码及ASCII码运算指令中作累加器;在XLAT指令做累加 器
在间接寻址中作地址寄存器、基地址寄存器;在XLAT中作基址 寄存器 循环指令和字符串指令中作循环次数的计数寄存器,每循环1 次,CX减一 移位及循环指令中移位次数及循环移位次数的计数寄存器
在I/O指令间接寻址时做地址寄存器;乘除法时做附加累加器( 当乘积或被除数是32位时,存放高16位)
数据传送
➢ 负责从内存中取指令,送入指令队列;
➢ 当CPU执行指令时,配合EU到指定的内存或 I/O端口读取数据,送给EU进行操作;
➢ 将EU执行完指令后的结果写入到指定内存或 I/O端口。
11
▪ 组成:
➢ 4个16位段寄存器:DS数据段寄存器、CS代码段寄存器 、ES扩展段寄存器、SS堆栈段寄存器
存 DH DL

SP
BP
SI
DI
ALU
标志寄存器 执行部件 (EU)
地址 加法


20位
CS
16位
16位DB
DS
SS
总线控制
(8086)
ES
电路
16位
IP
内部暂存器
20位AB
EU控制 器
12 3 4 5 6 8位
指令队列缓冲器
总线接口部件 (BIU)
10
2、总线接口部件(BIU) ▪ BIU功能:实现CPU与内存、I/O接口间的
➢ 控制标志:可以通过指令人为设置,对cpu的某一种特定 的功能进行控制。
16位标志寄存器,其中有7位未用。 1-低8位有偶数个1
0-低8位有奇数个1
D15
D0
OF DF IF TF SF ZF AF PF CF

单符零




步号标




中标志



志 断志
位志标
溢中 出断 标允 志许
1-结果为0
寄存器的特殊用途和隐含性质
在指令中没有明显的标出,而这些寄存器参 加操作,称之为“隐含寻址”。
具体的:在某类指令中,某些通用寄存器有 指定的特殊用法,编程时需遵循这些规定,将某 些特殊数据放在特定的寄存器中,这样才能正确 的执行这些指令。采用“隐含”的方式,能有效 地缩短指令代码的长度。
▪通用寄存器——指针寄存器SP和BP
37
5
36
6
35
7 8086 34
8
33
9
32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
VCC
AD15 A16 / S3 A17 / S4 A18 / S5
A19 / S6
BHE/S7
MN / MX
RD
HOLD (RQ / GT0)
HLDA (RQ /GT1)
▪ 微处理器是组成计算机核心部件,其结构必 须与其要完成的功能相适应。
▪ 基本功能:
➢ 支持功能完善的指令系统; ➢ 支持各种结构的程序执行; ➢ 能够运算,控制与存储器、外部设备等相连,
构成完整硬件系统。
Intel 8086微处理器: ▪ 16位微处理器
➢ 16位数据线,内部总线和ALU均为16位 ➢ 20位地址线,可直接寻址的地址空间是1M(220 )
字节。
▪ 8088是准16位处理器
➢ 片内16位数据/片外8位数据总线,20位地址线; ➢ 向下兼容8位微型机。
4
▪ 从功能实现角度可将8086微处理器分为两 个独立的单元:
➢ 执行单元EU (Execution Unit)
➢ 总线接口单元BIU (Bus Interface Unit)
8086 CPU的功能结构
总线接口部件 (BIU)
6
1、执行部件EU ▪ 功能:负责指令执行
➢ 从指令队列中取出指令;
➢ 对指令进行译码,发出相应的控制信号;
➢ 接收由BIU送来的数据或发送数据至BIU;
➢ 算术逻辑运算。
▪ 组成:
➢ EU控制器
接收BIU指令队列中的指令操作码; 对其进行译码,并向EU单元各部分发出相应的时序控制
标 志
0-结果不为0

1-有进、借位 0-无进、借位
1-低4位向高4位有进、借位
0-低4位向高4位无进、借位
▪ 状态标志位: ➢ CF(Carry Flag)进位标志。 加法时最高位(对字节操作是 D7位,对字操作是D15位)产生进位,或减法时最高位产 生借位, 则CF=1, 否则CF=0。
➢ PF(Parity Flag)奇偶标志。如果运算结果低八位含有偶数 个 1,PF=1(奇校验),否则PF=0。
▪控制寄存器 ➢ 两个 16位控制寄存器:IP和标志寄存器FLAG。
➢ IP指令指针寄存器
用来控制CPU的指令执行顺序,和代码段寄存器CS一起确定 当前所要取的指令的内存地址。
顺序执行程序时,CPU每取一条指令,IP自动调整,指向下 一条指令,用户不能直接访问IP。
转移或调用指令时,IP的内容由转移地址取代,从而改变程 序执行的正常次序,实现程序的转移。
➢ AX:累加器,BX:基址寄存器,CX:计数寄存器, DX:数据寄存器。
➢ 除具有通用性外,这些寄存器在具体使用上有差别,分 别具有特定用法。
寄存器名称 AX/AL AH AL
BX CX CL DX
通用寄存器的特定用法
特定用法 乘除法指令中作累加器;I/O指令中做数据存储器
在LAHF指令中做目的寄存器
信号; 协调执行指令规定的操作。
➢ 算术逻辑单元ALU
16位加法器,可完成8位或者16位二进制算术和逻辑运 算。
➢ 标志寄存器FLAGS
表示指令执行后的结果或状态特征。
➢ 数据暂存寄存器
协助ALU完成运算,暂存参加运算的数据。
8
➢ 寄存器
4个通用寄存器AX、BX、CX、DX。 ➢四个通用寄存器都是16位或作两个8位来使用(AH 、 AL、 BH、 BL、 CH、 CL、 DH和DL)
当IP单独改变时,会发生段内的程序转移;当CS和IP同时改 变时,会产生段间的程序转移。
➢ 标志寄存器: 又叫处理器状态字(PSW,Processor Status Word) , 存放 CPU在工作过程中的状态。
分两类:状态标志和控制标志。 ➢ 状态标志:表示经算术、逻辑运算等操作后,ALU所处的 状态,可通过判断这些标志为来决定后续操作;
三、8086CPU的管脚及功能
▪ 8086是16位CPU,受当时制造工艺的限制,部 分管脚采用分时复用的方式,构成了40条管脚的 双列直插式封装。
1、8086的两种工作方式
GND
最小模式:系统中只有
AD14 AD13
8086一个处理器,所有的 AD12
控制信号都是由8086 CPU 产生(MN/MX=1)。
调试程序DEBUG时,T命令就是利用这种中断。
例:将5394H与-777FH相加,并说明其标志位的状态。 先求-777FH的补码: 原码:1111 0111 0111 1111 反码:1000 1000 1000 0000 补码:1000 1000 1000 0001 再做加法运算: 0101 0011 1001 0100 + 1000 1000 1000 0001 1101 1100 0001 0101 结果标志位为:CF=0、PF=0、AF=0 ZF=0、SF=1、OF=0
➢ 16位指令指针寄存器IP:指向下一条要取出的指令代码
➢ 20位地址加法器: 16位段地址寄存器+16位偏移量20位 目的地址;
➢ 6字节指令队列缓冲器:在执行指令的同时,将取下一条 指令放入指令队列缓冲器中,CPU执行完当前指令后,可 以直接执行下一条指令,通过流水线技术提高CPU效率;
➢ 总线控制逻辑:处理器与外界总线连接转换电路,包括:
取指令 执行指令 取指令 执行指令 取指令 执行指令
时间
8位微处理器的执行顺序
BIU 取指令 取指令 取指令 取指令 取指令 得到数据
EU
等待
执行
执行
8086的执行顺序
执行
二、8086的寄存器结构
▪ 8086 CPU内部具有 14 个 16 位寄存器, 用于对指 令及操作数寻址,控制指令执行和运算,包括: ➢ 通用寄存器
第2章 微机系统中的微处理器
▪ 2.1 8086 CPU结构
➢ 8086的内部结构 ➢ 8086的寄存器结构 ➢ 8086的引脚及功能
▪ 2.2 8086系统的结构和配置
➢ 8086的存储器组织 ➢ 8086的I/O组织
▪ 2.3 8086的内部时序
1
2.1 8086 CPU结构
2
一、8086的内部结构
通 AH AL 用 BH BL
寄 CH CL
存 DH DL

SP
BP
SI
DI
ALU
标志寄存器 执行部件 (EU)
地址 加法


20位
8位DB (8088)
CS
16位
DS SS
总线控制
16位DB
ES
电路
16位
IP
内部暂存器
20位AB
EU控制 器
12 3 4 5 6 8位
指令队列缓冲器
8086是6条缓存,8088是4条缓存
20位地址总线 16位数据总线 控制总线
▪BIU和EU的协调工作原则
➢ 二者将取指令、解析指令、执行指令重叠进行,提高效率, 加快执行速度。
➢ 指令队列是一个双口RAM, “先进先出(FIFO)”,写入的 指令存放在队列尾,读出的指令是队列头。
➢ BIU在不停地向队列写入指令,而EU每执行完一条指令后, 向队列读取下一条指令。
➢ SP是堆栈指针寄存器,和堆栈段寄存器SS一起来确定堆栈在内存中的 位置;
➢ BP是基址指针寄存器,通常用于存放基地址。如无特殊说明,其对应 段地址是SS。
▪通用寄存器——变址寄存器SI和DI
➢ 用于变址寻址,存放段内偏移地址的一部分或全部。
➢ 字符串操作指令中, SI作为源变址寄存器,DI作为目的变址寄存器。
➢ AF(Auxiliary Carry Flag)辅助进位标志。加法时D3位有 进位或减法时D3位有借位,则AF=1,否则AF=0。用于实 现BCD码算术运算结果的调整。
➢ ZF(Zero Flag)零标志,当运算结果各位都为零,则ZF=1, 否则ZF=0。
➢ SF(Sign Flag)符号标志,与结果的最高位(字节操作时是 D7, 字操作时是D15)相同。在补码运算时最高位是符号位 , 运算结果为负时,SF=1,否则SF=0。
▪ 控制总线(16条)
➢ 两种方式下公用的8条:MN/MX、RD、NMI、 INTR、RESET、READY、TEST、BHE/S7
4个专用寄存器: ➢SP(Stack Pointer)堆栈指针寄存器 ➢BP( Base Pointer )基址指针寄存器 ➢SI( Source Index )源变址寄存器 ➢DI( Destination Index )目的变址寄存器
8086 CPU的功能结构
通 AH AL 用 BH BL
寄 CH CL
AD11 AD10 AD9
AD8
AD7
最大模式:系统中可包含 AD6
一个以上的处理器,比如
AD5 AD4
包含协处理器8087。系统 AD3
控制信号不是由8086直接
AD2 AD1
产生,而是通过与8086配 AD0
套的总线控制器等形成
NMI INTR
(MN/MX=0)。
CLK
GND
1
40
2
39
3
38
4
➢ DF(Direction Flag)方向标志,需用指令预置,控制字符 串操作指令的执行顺序。
当DF=0 时,执行串操作指令,变址寄存器地址自动递增;
当DF=1 时,则变址寄存器地址自动递减。
➢ TF(Trap Flag)陷阱标志。
TF设置为1时,CPU处于单步执行工作方式,每执行一条指令就 自动产生一次类型 1 (单步)的内部中断。
WR
(LOCK)
M / IO ( S2 )
DT / R ( S1)
DEN
( S0)
ALE
(QS0)
INTA
(QS1)
TEST
READY
RESET
2、8086最小方式下的引脚定义
▪ 地址/数据总线(20条)
➢ AD15~AD0 (地址数据分时复用) ➢ A19/S6、A18/S5、A17/S4、A16/S3
数据寄存器 地址指针和变址寄存器
➢ 控制寄存器
➢ 段寄存器
14
▪通用寄存器——数据寄存器 ➢ 4个16位的通用寄存器(AX、BX、CX、DX),可存放 16位的操作数,也可分为8个独立的8位寄存器(AL、 AH;BL、BH;CL、CH;DL、DH)使用。
➢ 16位数据寄存器主要用于存放数据,也可用来存放地址 。而8位寄wk.baidu.com器只能用于存放数据。
➢ OF(Overflow Flag)溢出标志,有符号数加或减运算时其 结果超出 8 位或 16 位所能表示的数值范围(-128~+127 或 -32768~+32767) , 产生溢出, OF=1, 否则OF=0。
▪控制标志位:
➢ IF(Interrupt Enable Flag)中断允许标志,需用指令预先 设置。 当IF=1, CPU可响应可屏蔽中断请求;若IF=0, CPU不响应可屏蔽中断请求。
相关文档
最新文档