400 likes | 514 Views
第2章 8086/8088 微处理器. 微型计算机的组成及工作原理 微型计算机基本结构(冯 诺依曼结构). 存储程序工作原理是指把程序存储在计算机内,使计算机能像快速存取数据一样地快速存取组成程序的指令。为实现控制器自动连续地执行程序,必须先把程序和数据送到具有记忆功能的存储器中保存起来,然后给出程序中第一条指令的地址,控制器就可依据存储程序中的指令顺序周而复始地取指令、译码、执行,直到完成全部指令操作为止,即控制器通过指令流的串行驱动实现程序控制. 微处理器 CPU. 1 、寄存器组 2 、算术逻辑单元 ALU 3 、控制器 ( 1 )程序计数器 PC
E N D
微型计算机的组成及工作原理微型计算机基本结构(冯诺依曼结构)微型计算机的组成及工作原理微型计算机基本结构(冯诺依曼结构) 存储程序工作原理是指把程序存储在计算机内,使计算机能像快速存取数据一样地快速存取组成程序的指令。为实现控制器自动连续地执行程序,必须先把程序和数据送到具有记忆功能的存储器中保存起来,然后给出程序中第一条指令的地址,控制器就可依据存储程序中的指令顺序周而复始地取指令、译码、执行,直到完成全部指令操作为止,即控制器通过指令流的串行驱动实现程序控制
微处理器CPU 1、寄存器组 2、算术逻辑单元ALU 3、控制器 (1)程序计数器PC (2)地址寄存器AR (3)数据寄存器DR (4)指令寄存器IR和指令译码器ID (5)时许部件
总线 1、DB 2、AB 3、CB
存储器通常指内存,有读、写操作输入输出设备及其接口输入输出接口存储器通常指内存,有读、写操作输入输出设备及其接口输入输出接口
2.1 8086/8088的功能结构2.1 8086/8088的编程结构 1.总线接口部件 (BIU) 2.执行部件EU 3.“流水线”结构
1.总线接口部件 (BIU) 总线接口部件由下列各部分组成: (1)4个段地址寄存器; CS——16位的代码段寄存器; DS——16位的数据段寄存器; ES——16位的扩展段寄存器; SS——16位的堆栈段寄存器; (2)16位的指令指针寄存器IP; (3)20位的地址加法器; (4)6字节的指令队列缓冲器。
2.执行部件EU 执行部件的功能就是负责从指令队列取指令并执行。从编程结构图可见,执行部件由下列几个部分组成: (1)4个通用寄存器,即AX、BX、CX、DX; (2)4个专用寄存器: (3)标志寄存器FR; (4)算术逻辑单元ALU。
3.“流水线”结构 总线接口部件BIU和执行部件EU并不是同步工作的,两者的动作管理遵循如下原则: 每当8086的指令队列中有2个空字节,BIU就会自动把指令取到指令队列中。而同时EU从指令队列取出一条指令,并用几个时钟周期去分析、执行指令。当指令队列已满,而且EU对BIU又无总线访问请求时,BIU便进入空闲状态。在执行转移、调用和返回指令时,指令队列中的原有内容被自动清除。
4、8088和8086的区别 1、指令队列长度8086为6个字节、8088为4个字节 2、8086是16位机;8088是准16位机 3、其他:如有些控制信号不同
2.2 8086的寄存器结构 按功能分为三类: 一、通用寄存器 二、段寄存器 三、控制寄存器、标志寄存器
通用寄存器 数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI)
数据寄存器 8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL
数据寄存器特有的习惯用法 AX:累加器。所有I/O指令都通过AX与接口传送 信息,中间运算结果也多放于AX中; BX:基址寄存器。在间接寻址中用于存放基地址; CX:计数寄存器。用于在循环或串操作指令 中存放计数值; DX:数据寄存器。在间接寻址的I/O指令中存放 I/O端口地址;在32位乘除法运算时,存放 高16位数。
地址指针寄存器 SP:堆栈指针寄存器,其内容为栈顶的 偏移地址; BP:基址指针寄存器,常用于在访问内 存时存放内存单元的偏移地址。
BX与BP在应用上的区别 作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,用BX表示所寻找的数据在数据段;用BP则表示数据在堆栈段。
变址寄存器 SI:源变址寄存器 DI:目标变址寄存器 变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。
段寄存器 用于存放相应逻辑段的段基地址 CS:代码段寄存器。代码段存放指令代码 DS:数据段寄存器 ES:附加段寄存器 SS:堆栈段寄存器:指示堆栈区域的位置 存放操作数
控制寄存器 IP:指令指针寄存器,其内容为下一条 要执行指令的偏移地址 FLAGS:标志寄存器,存放运算结果的 特征 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF)
2.3 存储器的使用 2.3.1存储器的组织 按字节存储,每个字节有唯一的物理地址; 高位在高地址,低位在低地址 对字的存放,如果低位是偶地址,则称为规则存放,否则为非规则存放 8086的1M空间,分为两个512KB的高位库和低位库,分别和数据总线的D15-D8及D7-D0相连,通过BHE信号选择
2.3.2 8086存储器的分段结构 8086 CPU中有四个段寄存器:CS,DS,SS和ES,这四个段寄存器存放了CPU当前可以寻址的四个段的基值,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设定,就规定了CPU当前可寻址的段,如图2-7所示。 图2-7 当前可寻址的存储器段(堆栈段和附加段重叠)
2.3.3 8086存储器的逻辑地址与物理地址 8086 CPU中的每个存储元在存储体中的位置都可以使用实际地址和逻辑地址来表示。 CPU访问存储器时,要形成20位的物理地址,即先找到某段,再找到该段内的偏移量。换句话说,CPU是以物理地址访问存储器的,如图2-8所示。 图2-8 逻辑地址与物理地址的关系
8086存储器20位物理地址的形成 在存储段划分时,段内地址是连续的,段与段之间是相互独立的。每个段的起始地址称段的基址,段基址必须是能被16整除的那些地址,即20位的段基址的低四位应当是0000。由于段起始地址的低四位为0,所以可用20位地址的高16位表示段的基址,存放在段基址寄存器中。段基址寄存器共四个:CS、DS、ES、SS。 返回本节
2.4 8086的引脚信号和工作模式2.4.1 8086的总线周期的概念 T1状态: 送地址 T2状态: 撤销地址 T3状态: 送数据 Tw状态: 等待 T4状态: 总线周期结束
2.4.2、8088CPU的引线及功能 引脚定义的方法可大致分为:: 每个引脚只传送一种信息(RD等); 引脚电平的高低不同的信号(IO/M等); CPU工作于不同方式有不同的名称和定义(WR/LOCK 等); 分时复用引脚(AD7---AD0 等) ; 引脚的输入和输出分别传送不同的信息(RQ/GT等)。
主要引线(最小模式下): 8088是工作在最小还是最大模式由MN/MX端状态决定。MN/MX=0工作于最大模式,反之工作于最小模式 AD7---AD0:低8位地址和数据信号分时复 用。在传送地址信号时为单 向,传送数据信号时为双向。 A19--- A16:高4位地址信号,分时复用。 A15--- A8 :输出8位地址信号。
主要的控制和状态信号 WR: 写信号; RD: 读信号; IO/M:为“0”表示访问内存, 为“1”表示访问接口; DEN: 低电平有效时,允许进行读/写操 作; RESET:复位信号。
[例]: 当WR=1,RD=0,IO/M=0时, 表示CPU当前正在进行读存储器操作。
中断请求和响应信号 INTR:可屏蔽中断请求输入端 NMI:非屏蔽中断请求输入端 INTA:中断响应输出端
总线保持信号 HOLD:总线保持请求信号输入端。当CPU 以外的其他设备要求占用总线时, 通过该引脚向CPU发出请求。 HLDA:总线保持响应信号输出端。CPU对 HOLD信号的响应信号。
2.4.3 微处理器工作模式1.最小工作模式 由图2-13可知,在8086的最小模式中,硬件连接上有如下几个特点: (1)MN/ 引脚接+5V,决定了8086工作在最小模式。 (2)有一片8234A,作为时钟发生器。 (3)有三片8282或74LS373,用来作为地址锁存器。 (4)当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力,这时,可选用两片8286或74LS245作为总线收发器。
2.最大工作模式 由图2-4可知,最大模式配置和最小模式配置有一个主要的差别: 最大模式下多了8288总线控制器。 图2-4 8086CPU最大工作模式下的典型配置
2.6 8086的总线时序 1.读周期的时序 2.写周期的时序
1.读周期的时序(图2-9) 8086读总线周期
一个基本的读周期一般包含如下几个状态: T1状态: T2状态: T3状态: Tw状态: T4状态:
2.写周期的时序(图2-10) 8086写总线周期
作业 P54 1、(1)、(3)、(4)、(6)、(8)、(9)、(10) 2、(3)、(4)、(5) 4、(5)、(6)