微型计算机系统结构

上传人:tian****1990 文档编号:71597374 上传时间:2019-01-21 格式:PPT 页数:30 大小:634.50KB
返回 下载 相关 举报
微型计算机系统结构_第1页
第1页 / 共30页
微型计算机系统结构_第2页
第2页 / 共30页
微型计算机系统结构_第3页
第3页 / 共30页
微型计算机系统结构_第4页
第4页 / 共30页
微型计算机系统结构_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《微型计算机系统结构》由会员分享,可在线阅读,更多相关《微型计算机系统结构(30页珍藏版)》请在金锄头文库上搜索。

1、第2章 8086/8088微型计算机系统结构,2.1 微型计算机系统组成原理,2.1.1 计算机的硬件基本结构,冯 依曼型计算机的基本工作原理可分为程序存储和程序控制。在物理 结构上,计算机由运算器、控制器、存储器以及输入设备和输出设备组成。,计 算 机 基 本 组 成,运算器是对信息进行加工、运算的部件,负责执行算术运算和逻辑运算。 控制器根据程序中的指令发出各种控制信号,使各部件协同工作以完成程序所要求的各种操作。 通常把它们做在1块电路芯片上,称为中央处理器,简称CPU。,计 算 机 基 本 组 成,寄存器是 CPU 内部的存储单元,作用是暂存需要反复使用的数据。,计算机的存储器系统分为

2、内存与外存,内存可与 CPU 真接相连。外存为软盘、硬盘、光盘等,它不可与CPU直接交换数据,其数据必须先读入内存才可被 CPU 使用,外存在CPU看来是一种 I/0 设备。,CPU一般由寄存器阵列RS、算术逻辑运算单元ALU、控制器和内部总线及缓冲器组成。,存储器是用来存放程序、原始数据和中间结果的记忆装置。,8086/8088 中这个寄存器称为 IP,并且指向下一条要取出的指令而不是要执行的指令。,计 算 机 基 本 组 成,输入设备:用于将程序和原始数据送入计算机中。如 键盘、鼠标等。,输出设备:用来输出运算结果或对外部设备的控制信号。如 显示器、打印机等。,输入设备和输出设备简称为I/

3、O设备,I/O设备一般不与CPU直接相连,而是通过 称为I/O接口的电路与CPU相连。I/O接口匹配双方的工作速度和转换不兼容的信号。,整个内存储器系统由若干个存储单元组成,每个存储单元可存放8位二进制 数,即1B。为了便于识别,每个存储单元都有1个编号,称为地址。地址采用几位 二进制数编号,取决于CPU地址引脚的数目。,例如:,某CPU有8根地址线,则存储单元应用8位二进制数编号,8位二进制可表示28=256个数,故系统最多可有256个存储单元。如右图所示。,微型计算机是在微处理器的控制下自动进行工作的,而微处理器发出控制的依据则是用户的程序指令。,假设要进行如下运算:3+5-1=?,这一运

4、算过程分如下步骤进行:,1、取数3。,2、取数5并做3+5运算,得结果8。,3、取数1并做8-1运算,得结果7。,4、保存运算结果到存储器中。,5、停机。,CPU能完成的1个基本动作称为指令,以上运算过程由5条指令实现。,一条指令应包含两个部分:操作码(表示进行什么操作,如:加法)和操作数 (参加运算的数据,如加法运算中的被加数和加数,)这两部分在计算机内都用二 进制数表示,也有少数指令没有操作数,它表示的动作不需要参数或使用固定的参数。,在程序中,若需要处理的数据较多,将数据集中放在内存的一个地方,称为数据 区,而将指令代码集中放在内存的另一个地方,称为代码区。当用户程序装入内存后,只要使程

5、序计数器PC指向其代码区的起始位置,则下次CPU取指令时即取了用户程序的代码,从而开始执行用户程序。,2.1.2 计算机的基本工作原理,1、PC=00H,从地址00H处取一条指令。设第一条指令占2B,取出后PC自动加2。 CPU随后执行所取指令,指令操作码指出应将操作数3放入累加器A内。,2、PC=02H,从地址02H处取一条指令。设第二条指令占2B,取出后PC自动 加2。CPU随后执行刚才所取指令,指令操作码指出应将操作数5与累加器A的 内容相加,并将结果8暂存A内。,3、PC=04H,从地址04H处取一条指令。设第三条指令占2B,取出后PC自动加2 。CPU随后执行刚才所取指令,指令操作码

6、指出应将累加器A内容与操作数1相 减,结果7暂存在A内。,4、PC=06H,从地址06H处取一条指令。设第四条指令占2B,取出后PC自动 加2。CPU随后执行刚才所取指令,指令操作码指出应将累加器A中内容保存到 操作数所指定的内存单元中。,5、PC=08H,从地址08H处取一条指令。设第五条指令占1B,取出后PC自动加 1。CPU随后执行刚才所取指令,该指令无操作数,指令操作码指出CPU应暂 停,故CPU不再往下取指令。,假设程序代码放在内存地址00H开始处,执行过程如下:,8086的内部结构按功能分为:,1、总线接口单元BIU,总线接口单元BIU是8086同存储器和I/O设备之间的接口部件,

7、负责对全部引脚的操作,即8086所有对存储器和I/O设备的操作功能都是由BIU完成的。总线接口单元BIU由20位地址加法器、4个段寄存器、16位指令指针IP、指令队列缓冲器和总线控制逻辑电路等组成。,2.2.1 8086 CPU概述,2.2 8086的编程结构,2、执行单元EU,执行单元EU主要负责执行指令,它包含1个16位的运算器ALU,8个16位的寄存器 ,1个16位标志寄存器FLAGS,1个数据暂存寄存器和执行单元的控制电路。这个单元 进行所有指令的解释和执行,同时管理上述有关的寄存器。,8086中,BIU负责取指令,EU负责执行指令,若指令要求访问内存或I/O设备,由EU请求BIU完成

8、。BIU将指令机器码取到指令队列缓冲器中(6B),而与此同时EU可以从指令队列缓冲器中取出已有指令进行执行,这样使得取指令和执行指令可以同时进行。这种并行处理技术极大提高了8086的程序执行速度。,当遇到转移、循环、子程序调用或返回等非顺序执行类指令时,需要清空指令 队列缓冲器,这时EU要等待BIU重新取指令。,8086 CPU 内部结构示意图,20位地址加法器,4个段寄存器,16位指令指针IP,指令队列缓冲器,总线控制逻辑电路,执行单元的控制电路,8个16位的寄存器,1个16位标志寄存器FLAGS,1个16位的运算器ALU,1个数据暂存寄存器,8086微处理器内部有14个16位寄存器,这14

9、个寄存器分为三大类。,8086寄存器,通用寄存器,数据寄存器,变址寄存器,指针寄存器,AX 累加器,BX 基数寄存器,CX 计数寄存器,DX 数据寄存器,SP 堆栈指针寄存器,BP 基址指针寄存器,SI 源变址寄存器,DI 目的变址寄存器,段寄存器,CS 代码段寄存器,DS 数据段寄存器,SS 堆栈段寄存器,ES 附加段寄存器,控制寄存器,IP 指令指针寄存器,FLAG 标志寄存器,2.2.2 8086寄存器结构,1、通用寄存器,通用寄存器用途比较广泛,一般用在算术和逻辑运算指令中,用来存放算术运算 的源/目的操作数,某些通用寄存器还常用来存放存储器操作数的地址。通用寄存器 共8个,包括数据寄

10、存器4个,指针寄存器2个和变址寄存器2个。,(1)数据寄存器,数据寄存器有4个,这4个寄存器比较特殊,每个均既可作为1个16位寄存器 使用,又可作为两个8位寄存器使用。当用作16位时,称为AX、BX、CX、DX。 当用作8位时,高8位分别称为AH、BH、CH、DH,低8位分别称为AL、BL、 CL、DL。,(2)指针寄存器,指针寄存器有两个,均是16位寄存器。堆栈指针SP用以指出在堆栈操作中 栈顶的位置,入栈(PUSH)和出栈(POP)指令要用到这一位置。基址指针BP指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。,(3)变址寄存器,在字符串处理中,被处理的数据称为源操作数,它们的偏

11、移地址存放在源变址 寄存器SI中,而处理后的字符串的偏移地址则放在目的变址寄存器DI中。,注意,8个通用寄存器一般均可用来存放指令的操作数或保存运算结果,但在某些 操作中又必须专用某个寄存器,如 I/O 操作时必须使用 AX,循环指令中必须使用 CX。 指针和变址实际上是相同的概念,都是存储单元地址,一般指令中用来存放存储单 元的地址可作用 BX、BP、SI、DI 之一,但字符串操作指令中必须使用 SI 和 DI ,而 堆栈操作中必须使用 SP 来存放栈顶单元地址。,2、段寄存器,段寄存器是专用寄存器,用在存储器访问时存放段的基址。,3、控制寄存器,(1)指令指针寄存器,指令指针寄存器IP中存

12、放着下一条要取出指令的偏移地址,它具有自动加1功能,每取出1B的指令机器码,它就自动加1,使它指向下一个要取的内存单元。这个寄存器由CPU内部使用,CPU正是利用此寄存器才确保程序中的指令能依次执行。程序中不可访问此寄存器,但某些指令具有隐含改变IP的功能,如转移、循环、调用子程序等指令。,(2)标志寄存器,OF 溢出标志位:当补码运算有溢出时,OF为1;否则为0。,标志寄存器FLAG是8086的1个重要寄存器,它是按位使用的。标志寄存器共16位, 8086中只使用了9位。标志寄存器格式如下:,状态标志位有6位,CPU在执行完1条影响标志寄存器的指令中,依据运算结果 的状态对这些进行填写,程序

13、员可用相关指令查看状态标志位从而得知运算结果的 某些特点。,2.2.3 标志寄存器,控制标志位有3位,其作用是控制CPU执行程序的方式。程序员可用指令改变这些位的值,从而改变CPU运行程序的方式。,DF方向标志位;用以指定字符串处理时的方向,当该位置1时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。,IF中断允许标志位:用来控制8086是否允许接收外部可屏蔽中断请求。若IF=1,8086能响应外部可屏蔽中断请求,反之则不响应。,TF 跟踪标志位:是为调试程序而设定的陷井控制位。当该位置1时,8086处于单步状态,此时每执行完1条指令就自动产生1次内部中断。当该位复位

14、后,8086恢复正常工作。,SF 符号标志位:它和运算结果的最高位相同。,标志寄存器FLAG是8086的1个重要寄存器,它是按位使用的。标志寄存器共16位, 8086中只使用了9位。标志寄存器格式如下:,状态标志位有6位,CPU在执行完1条影响标志寄存器的指令中,依据运算结果 的状态对这些进行填写,程序员可用相关指令查看状态标志位从而得知运算结果的 某些特点。,2.2.3 标志寄存器,AF 辅助进位标志位:当执行1次加法(或减法)运算使结果的低4位向高4位(若为16位运算,则是低8位向高8位)有进位(或借位)时,AF为1;否则为0。该位是为BCD码运算的调整指令而设的。,ZF 零标志位:若当前

15、的运算结果为零,ZF为1;否则为0。,PF 奇偶标志位:该标志位反映运算结果中1的个数是偶数还是奇数。当指令执行结果的低8位中含有偶数个1时,PF为1;否则为0。,CF 进/借位标志位:当执行1次加法(或减法)运算使最高位向前产生进位(或借位)时,CF为1;否则为0。,6个状态标志位的功能是:,CF 进/借位标志位:当执行1次加法(或减法)运算使最高位向前产生进位 (或借位)时,CF为1;否则为0。,PF 奇偶标志位:该标志位反映运算结果中1的个数是偶数还是奇数。当指令 执行结果的低8位中含有偶数个1时,PF为1;否则为0。,AF 辅助进位标志位:当执行1次加法(或减法)运算使结果的低4位向高

16、4位 (若为16位运算,则是低8位向高8位)有进位(或借位)时,AF为1;否则为0。 该位是为BCD码运算的调整指令而设的。,ZF 零标志位:若当前的运算结果为零,ZF为1;否则为0。,SF 符号标志位:它和运算结果的最高位相同。,OF 溢出标志位:当补码运算有溢出时,OF为1;否则为0。,01100100 (+100),01100100 (+100),+,11001000,10101011 (-85),11111111 (-1),+,110101010,D7向前无进位,故运算后CF=0;结果超过了+127,有溢出,故OF=1,D7向前有进位,故运算后CF=1;结果不小于-128,无溢出,故OF=0,进位标志用于无符号数的运算,而溢出标志用于带符号数的运算。注意不要混淆。,如何判断A,B两个数值型数据的大小? 计算A-B, 有符号数,利用SF和OF判断: SFOF=0,即: SF与OF相同, AB; SFOF=1,即: SF与OF相异, AB 。 无符号数,利用

展开阅读全文
相关资源
相关搜索

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

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