微机原理第02章1

上传人:平*** 文档编号:26790061 上传时间:2018-01-01 格式:PPT 页数:79 大小:2.54MB
返回 下载 相关 举报
微机原理第02章1_第1页
第1页 / 共79页
微机原理第02章1_第2页
第2页 / 共79页
微机原理第02章1_第3页
第3页 / 共79页
微机原理第02章1_第4页
第4页 / 共79页
微机原理第02章1_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《微机原理第02章1》由会员分享,可在线阅读,更多相关《微机原理第02章1(79页珍藏版)》请在金锄头文库上搜索。

1、医用电子教研室陈浩 副教授TEL:13826231299QQ:247131541,第2章,8086微处理器工作原理,第一节 微型计算机的工作原理,程序存储式计算机又称为冯诺依曼型计算机数据和程序均以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式程序:由多条有逻辑关系的指令组成指令:长度不等(一般为14字节),不同类型的计算机具有不同的指令系统,基本格式为:操作码地址码。操作码指明操作类型,执行什么操作。地址码指明参加操作的数据存放地址或操作数本身。,程序存储计算机的工作原理,程序预先存放在计算机的存储器中,计算机按程序的流程自动地连续取出指令并执行之。为实现

2、自动连续地执行程序,控制器设置一程序计数器PC,它可根据指令的长度自动增量(总是指向下一条指令)。只要给出程序中第一条指令的地址,控制器就可依据存储程序中的指令顺序周而复始地取指令、译码、执行,直到完成全部指令操作为止,即控制器通过指令流的串行驱动实现程序控制。,程序的执行过程,程序,指令1,指令2,指令3,指令4,指令n, ,取指令,指令译码,取操作数,执行指令,存结果,指令周期,操作码,操作数,执行,1. CPU如何知道从哪里取出程序的第一条指令? 操作系统2. CPU如何按程序控制流执行指令? 程序计数器3. CPU如何知道从哪里取操作数? 地址、寻址方式,例:计算5+8?,机器指令 对

3、应的汇编指令 操作含义- - -10110000 MOV AL, 5 将立即数5传送到累加寄存器AL中00000101 00000100 ADD AL, 8计算两个数的和,结果存放到AL中0000100010100010 MOV 0008, AL 将AL中的数传送到0008地址单元000010000000000011110100HLT 停机,指令执行过程(取指/译码/执行),累加器A,加法器,数据寄存器DR,指令寄存器IR,指令译码器ID,时序逻辑电路,时序控制信号(控制命令),1011 0000,0000 0101,0000 0100,0000 1000,1111 0100,CPU内部总线,

4、存储器,01234,程序计数器PC,地址,MOV AL, 5ADD AL, 8HLT,地址总线,地址译码器,读写控制电路,1011 0000,锁存,输出,地址寄存器AR,指令的一般执行过程:,取指令 指令译码 读取操作数(当需要时) 执行指令 存放结果,第二节 微处理器的编程结构,从应用角度学习典型8位微处理器的基本结构8088/8086的功能结构8088/8086的寄存器结构8088/8086的存储器结构为学习汇编指令系统打好基础,2.1 8088/8086的编程结构,8088的编程结构大致分成两个部分1.执行单元EU负责指令的译码、执行和数据的运算2.总线接口单元BIU管理8088与系统总

5、线的接口负责CPU对存储器和外设进行访问两个单元相互独立,分别完成各自操作,还可以并行执行,实现指令预取(指令读取和执行的流水线操作),执行单元的组成,算术逻辑单元(ALU) 8个通用寄存器: (1)数据寄存器: AX BX CX DX (2)变址寄存器: SI DI (3)指针寄存器: BP SP 1个标志寄存器: FLAGS EU部分控制电路,执行单元EU的功能,功能: 负责执行指令所指定的操作 从指令队列中取指令代码 译码 在ALU中完成数据的运算。 运算结果的特征值保存在标志寄存器FLAGS中。,总线接口单元BIU的组成,指令指针IP指令队列地址加法器:用于产生真实的20位物理地址4个

6、段寄存器:CS,DS,SS,ES总线控制逻辑,总线接口单元BIU的功能,功能:从内存中取指令送入指令预取队列负责与内存或输入/输出接口之间的数据传送形成20位物理地址在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。,2.3 8088/8086 微处理器的特点,采用并行流水线工作方式;对内存空间实行分段管理:每段大小为16B64KB用段地址和段内偏移实现对1MB空间的寻址设置地址段寄存器指示段的首地址支持多处理器系统;片内无浮点运算部件,浮点运算由数学协处理器8087支持(或用软件模拟)。,串行工作方式,8088之前的CPU采用串行工作方式: 1)CPU

7、访问存储器(存取数据或指令)时要等待总线操作的完成 2) CPU执行指令时总线处于空闲状态 缺点:CPU无法全速运行 解决:总线空闲时预取指令,取指令1,执行1,取操作数2,执行2,CPU,BUS,忙碌,忙碌,忙碌,忙碌,存结果1,取指令2,并行工作方式,8088CPU采用并行工作方式,取指令2,取操作数,BIU,存结果,取指令3,取操作数,取指令4,执行1,执行2,执行3,EU,BUS,忙碌,忙碌,忙碌,忙碌,忙碌,忙碌,8086/8088的流水线操作,8086/8088 CPU的指令执行过程BIU不断地从存储器取指令送入指令预取队列IPQ,EU不断地从IPQ取出指令执行EU和BIU构成了一

8、个简单的2工位流水线指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带),结论,指令预取队列的存在使EU和BIU可同时进行工作,从而:提高了CPU的效率降低了对存储器存取速度的要求,8088与8086的异同,8088、8086 基本类似16位CPU、地址总线宽度为20位差别:指令预取队列:8088为4字节,8086为6字节数据总线引脚:8088有8根,8086有16根8088为准16位CPU,内部数据总线为16位,但外部仅为8位,16位数据要分两次传送,内部总线,存储器,I/O接口,输入设备,I/O接口,地址总线 AB,输出设备,CPU,数据总线 DB,控制总线 CB,I/O接

9、口,第三节 8088/8086引脚功能概述,8088/8086CPU引脚及封装形式双列直插式封装: DIP40,8088/8086CPU引脚定义,8088/8086CPU最小模式下的引脚功能,AD0-15 地址数据复用引脚,三态双向IOA16-19/S3-6 地址状态复用引脚,三态单向输出BHE/SS0 高8位数据总线允许/状态引脚,三态输出RD及WR M/IO 读、写选择信号引脚, 三态输出NMI不可屏蔽中断请求信号引脚,上升沿有效INTR 可屏蔽中断请求信号引脚,高电平有效INTA 中断响应信号引脚,低有效ALE及DEN、DT/R 数据收发信号HOLD及HLDA 总线保持请求、响应引脚,输

10、出。TEST,READY 判断及等待信号,输入RESET,MN/MX 和电源引脚,8088/8086CPU最小模式下的引脚功能,8088/8086CPU工作模式最大模式和最小模式由引脚MN/MX决定最小模式下的 引脚功能,2. 3 8088/8086的寄存器简介,8088/8086的寄存器组有8个通用寄存器4个段寄存器1个标志寄存器1个指令指针寄存器均为16位!,图示,汇编语言程序员看到的处理器,就是寄存器 所以,一定要熟悉这些寄存器的名称和作用,1. 通用寄存器组,8088有8个16位通用寄存器(1)数据寄存器: AX BX CX DX(2)变址寄存器: SI DI(3)指针寄存器: BP

11、SP4个数据寄存器还可以分成高8位和低8位两个独立的寄存器,这样又形成8个通用的8位寄存器AX: AH ALBX: BH BLCX: CH CLDX: DH DL,(1)数据寄存器,AX称为累加器(Accumulator)用于算术、逻辑运算以及与外设传送信息等,使用频度最高。BX称为基址寄存器(Base address Register)常用做存放存储器基地址CX称为计数器(Counter)隐含作为循环和串操作等指令中的计数器DX称为数据寄存器(Data register)常用来存放双字长数据的高16位,或存放外设端口地址,(2)变址寄存器,16位变址寄存器SI和DI常用于存储器变址寻址方式时

12、提供地址SI是源地址寄存器(Source Index)DI是目的地址寄存器(Destination Index)在串操作类指令中,SI、DI还有较特殊的用法,现在不必完全理解,以后会详细展开,(3)指针寄存器,指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器(Stack Pointer),指示堆栈段栈顶的位置(偏移地址)BP为基址指针寄存器(Base Pointer),表示数据在堆栈段中的基地址SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址,堆栈(Stack)是主存中一个特殊的区域,采用“先进后出”或“后进先出”存取操作方式、而不是随机存取方式。用8088/8086形

13、成的微机系统中,堆栈区域被称为堆栈段,2. 专用寄存器组,(1)指令指针寄存器(即PC指针)IP(Instruction Pointer)为指令指针寄存器,指示主存储器指令的位置。随着指令的执行,IP将自动修改以指示下一条指令所在的存储器位置。IP寄存器是一个专用寄存器。IP寄存器与CS段寄存器联合使用以确定下一条指令的存储单元地址。,(2) 标志寄存器(或称程序状态字寄存器PSW ),标志(Flag)用于反映指令执行结果或控制指令执行形式8088处理器的各种标志形成了一个16位的标志寄存器FLAGS,程序设计需要利用标志的状态,标志寄存器详解,状态标志(字)记录指令运行结果的状态信息,许多指

14、令的执行都将相应地设置它。CF ZF SF PF OF AF控制标志(字)由程序根据需要用指令设置,用于设置相应硬件的工作方式DF IF TF,标志寄存器FLAGS,进位标志CF(Carry Flag),当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF1; 否则CF0,3AH + 7CHB6H,没有进位:CF = 0AAH + 7CH(1)26H,有进位:CF = 1,零标志ZF(Zero Flag),若运算结果为0,则ZF1;否则ZF0,3AH7CHB6H,结果不是零:ZF084H7CH(1)00H,结果是零:ZF1,注意:ZF为1表示的结果是0,符号标志SF(Sign Flag),运算结果最高位为1,则SF1; 否则SF0,3AH7CHB6H,最高位D71:SF184H7CH(1)00H,最高位D70:SF0,有符号数据用最高有效位表示数据的符号所以,最高有效位就是符号标志的状态,奇偶标志PF(Parity Flag)偶校验,当运算结果最低字节中“1”的个数为零或偶数时,PF1;否则PF0,3AH7CHB6H10110110B结果中有5个“1”,是奇数:PF0,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号