




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术微机原理与接口技术微处理器汇编语言接口 概论(预备知识)概论(预备知识) 8086微处理器微处理器 寻址方式与指令系统寻址方式与指令系统 汇编语言程序设计汇编语言程序设计 接口接口计数器计数器定时器定时器串并行接口串并行接口中断中断DMA控制器控制器存储器存储器总线总线第一章第一章 概述概述1.1 微型计算机的发展微型计算机的发展1.2 微型机的分类微型机的分类1.3 微型机系统的组成微型机系统的组成1.4 微型计算机中数的编码与微型计算机中数的编码与字符表示(重点)字符表示(重点)1.5 评估微型机性能的主要指标评估微型机性能的主要指标1.6 微型计算机的应用微型计算机的应
2、用1.7 浮点数表示法(补充)浮点数表示法(补充)习题提问习题提问1.1 微型计算机的发展微型计算机的发展1.1.1 微型计算机的发展史微型计算机的发展史 发展历史:电子管、晶体管、集成电路、大规模和发展历史:电子管、晶体管、集成电路、大规模和 超大规模集成电路超大规模集成电路 发展方向:微型化、智能化、高性能、低成本发展方向:微型化、智能化、高性能、低成本1.1 微型计算机的发展微型计算机的发展1.1.2 微型计算机的发展特点微型计算机的发展特点 数据总线宽度数据总线宽度(如(如Pentium 的的64位数位数据线)、集成度、时钟频率;精简指令集技据线)、集成度、时钟频率;精简指令集技术(针
3、对复杂指令集而言)、数字协处理术(针对复杂指令集而言)、数字协处理(如进行数值运算的(如进行数值运算的8087协处理器)和二级协处理器)和二级高速缓存技术;高速缓存技术;Pentium中采用的超标量结中采用的超标量结构双路执行流水线技术(构双路执行流水线技术( Pentium能同时驱能同时驱动两个总线周期,一个机器周期中执行多条动两个总线周期,一个机器周期中执行多条指令)、分支预测技术、强化分支预测等。指令)、分支预测技术、强化分支预测等。 数据总线负责整个系统的数据流量的大小,数据总线负责整个系统的数据流量的大小,而数据总线宽度则决定了而数据总线宽度则决定了CPUCPU与二级缓存、内存与二级
4、缓存、内存以及输入以及输入/ /输出设备之间一次数据传输的信息量。输出设备之间一次数据传输的信息量。1.2 微型机的分类微型机的分类分类分类v按机器组成分:位片式、单片式和多片式按机器组成分:位片式、单片式和多片式v按制造工艺分:按制造工艺分:MOS(金属氧化物半导体)型和双极型(金属氧化物半导体)型和双极型v按字长分:按字长分:4位、位、8位、位、16位、位、32位和位和64位位v按结构分:单片型、单板型和微型机按结构分:单片型、单板型和微型机v从操作系统角度分:单用户型和多用户型从操作系统角度分:单用户型和多用户型组成组成硬件系统:硬件系统:软件系统:软件系统:CPU(运算器和控制器)、存
5、储器、输入(运算器和控制器)、存储器、输入/输出设备输出设备系统软件、支撑软件(各种编译程序)、应用软件系统软件、支撑软件(各种编译程序)、应用软件冯冯.诺依曼的结构:运算器、控制器、存储器、输入设备、输出设备诺依曼的结构:运算器、控制器、存储器、输入设备、输出设备1.3 微型机系统的组成微型机系统的组成输入设备输入设备存储器存储器运算器运算器输出设备输出设备控制器控制器CPU寄存器数的编码与字符表示数的编码与字符表示(1)1.4.1 进位计数制与转换(进位计数制与转换(B其它、其它其它、其它B、OH D、D OH )数制的两大要素:基数和位权数制的两大要素:基数和位权基数:某种进制数的基本组
6、成数字基数:某种进制数的基本组成数字位权:以基数为底,以数字所在的位置序号为指数所得到的幂。记位权:以基数为底,以数字所在的位置序号为指数所得到的幂。记为为N NR R,其中,其中NN数制的基数;数制的基数;RR数字所在的位置序号。数字所在的位置序号。 二进制(二进制(B B):):0 0、1 1,位权为,位权为2 2R R 八进制(八进制(O O):):0 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7,位权为,位权为8 8R R 十进制(十进制(D D):):0909,位权为,位权为1010R R 十六进制(十六进制(H H):):0909、A A、B B、C C、D D、E
7、E、F F,位权为,位权为1616R R各种数制之间的相互转换方法:各种数制之间的相互转换方法:二进制、八进制、十六进制转换为十进制:二进制、八进制、十六进制转换为十进制:“按照位权展开相加按照位权展开相加”十进制转换为二进制、八进制、十六进制:整数部分:十进制转换为二进制、八进制、十六进制:整数部分:“除以要转除以要转换的数制的基数,取余倒排列换的数制的基数,取余倒排列”;小数部分:;小数部分:“乘以要转换的数制乘以要转换的数制的基数,取整正排列的基数,取整正排列”二进制转换为八进制、十六进制:二进制转换为八进制、十六进制:“三位或四位合一位三位或四位合一位”八进制、十六进制转换为二进制:八
8、进制、十六进制转换为二进制:“一位拆三位或四位一位拆三位或四位”数的编码与字符表示(数的编码与字符表示(2)1.4.2 计算机中数的表示计算机中数的表示 计算机中的数是用二进制表示的,有时要处理的全部是计算机中的数是用二进制表示的,有时要处理的全部是正数就没有符号问题,如表示地址的数,这样的数称为正数就没有符号问题,如表示地址的数,这样的数称为无符无符号数号数。无符号数的表示很简单,。无符号数的表示很简单,8位无符号数表示的数的范位无符号数表示的数的范围为围为0255;16位表示位表示065535。以此类推,。以此类推,n位二进制数表位二进制数表示的无符号数的范围是示的无符号数的范围是02n-
9、1。 有符号数有符号数中数的符号也用二进制位表示,一般用最高有中数的符号也用二进制位表示,一般用最高有效位表示符号,最高位是效位表示符号,最高位是0为正数,最高位是为正数,最高位是1为负数。符号为负数。符号数最常用的三种编码方式:原码、反码与补码(电脑中一般数最常用的三种编码方式:原码、反码与补码(电脑中一般是用补码来表示有符号数)是用补码来表示有符号数)数的编码与字符表示(数的编码与字符表示(3)1、原码:实际上是数值化的符号位加上真值的绝对值、原码:实际上是数值化的符号位加上真值的绝对值8位原码表示的数的范围是:位原码表示的数的范围是:16位原码表示的数的范围是:位原码表示的数的范围是:-
10、127+127-32767+32767以此类推以此类推n n位二进制数表示的有符号数的原码的范围是:位二进制数表示的有符号数的原码的范围是: -(2-(2n-1n-1-1) +(2-1) +(2n-1n-1-1)-1)需要注意的是需要注意的是+0+0与与-0-0的原码不同,所以在原码中的原码不同,所以在原码中0 0有正负之分。有正负之分。数的编码与字符表示(数的编码与字符表示(4)2、反码:一个负数的原码符号位不动,其余位取反。、反码:一个负数的原码符号位不动,其余位取反。正数原玛与反码相同。正数原玛与反码相同。8位反码表示的数的范围是:位反码表示的数的范围是:16位反码表示的数的范围是:位反
11、码表示的数的范围是:-127+127-32767+32767以此类推以此类推n n位二进制数表示的有符号数的反码的范围是:位二进制数表示的有符号数的反码的范围是: -(2-(2n-1n-1-1) +(2-1) +(2n-1n-1-1)-1)需要注意的是需要注意的是+0+0与与-0-0的反码不同,所以在反码中的反码不同,所以在反码中0 0有正负之分。有正负之分。3、补码:一个负数的补码由其反码末位加、补码:一个负数的补码由其反码末位加1求得。正求得。正数补码与原码相同。数补码与原码相同。8位补玛表示的数的范围是:位补玛表示的数的范围是:16位补玛表示的数的范围是:位补玛表示的数的范围是:数的编码
12、与字符表示(数的编码与字符表示(5)-128+127-32768+32767以此类推以此类推n n位二进制数表示的有符号数的补码的范围是:位二进制数表示的有符号数的补码的范围是: -(2-(2n-1n-1) +(2) +(2n-1n-1-1)-1)需要注意的是需要注意的是+0+0与与-0-0的补码相同,所以在补码中的补码相同,所以在补码中0 0没有正负之分。没有正负之分。试题试题例例2:写出:写出+127和和 127的的 8位位 原码、反码、补码原码、反码、补码127:原反补:原反补01111111127:原:原11111111 反反10000000 补补10000001例例3:存在二进制编码
13、:存在二进制编码 1111 1101,求解下列各题,求解下列各题 将将 1111 1101 看作一个普通的二进制数,则其代表的看作一个普通的二进制数,则其代表的十进制数是(十进制数是( 253 ););若若x原原=1111 1101,则,则x=( -125 )若若x反反=1111 1101,则,则x=( -2 )1. 若若x补补=1111 1101,则,则x=( -3)1.4.3 字符表示法字符表示法 vASCII码的表示码的表示(用(用7位二进制编码表示位二进制编码表示 128个字符)个字符)v8421 BCD码码(二十进制码二十进制码) 计算机中还有一种数值数据的表示方法:每一位计算机中还
14、有一种数值数据的表示方法:每一位十进制数用十进制数用4位二进制数表示,称为二进制编码的十位二进制数表示,称为二进制编码的十进制数进制数-BCD码或称二码或称二十进制编码。它具有二十进制编码。它具有二进制形式,又具有十进制特点。进制形式,又具有十进制特点。 四位二进制可表达十六种状态,四位二进制可表达十六种状态,BCD码只需要十码只需要十种,所以有种,所以有6中冗余,从中冗余,从16种状态中选取种状态中选取10个状态个状态表示十进制数表示十进制数09的方法很多,可以产生多种的方法很多,可以产生多种BCD码。码。十进制数十进制数8421码码00000100012001030011401005010
15、1601107011181000910011.5 评估微型机性能的主要指标评估微型机性能的主要指标1.5.1 字长字长 字长决定了计算机内部一次可以处理的二进制代码位数字长决定了计算机内部一次可以处理的二进制代码位数.字长与速度、字长与计算精度的关系如何?字长与速度、字长与计算精度的关系如何?1.5.2 指令执行时间指令执行时间 指令执行时间的长短反映计算机速度的快慢,根据指令指令执行时间的长短反映计算机速度的快慢,根据指令的格式执行不同指令需要的时间不同,因此就如何测量计的格式执行不同指令需要的时间不同,因此就如何测量计算机运行速度的问题,有如下几种方法:算机运行速度的问题,有如下几种方法:
16、1.直接给出直接给出CPU的时钟频率,即主频的时钟频率,即主频2.根据不同类型指令出现的频率乘上不同的系数,求平均值根据不同类型指令出现的频率乘上不同的系数,求平均值3.以执行时间最短的指令为标准来估算运算速度以执行时间最短的指令为标准来估算运算速度決定着运算器、通用寄決定着运算器、通用寄存器和数据总线的位数存器和数据总线的位数CPU内部的时钟频率,是内部的时钟频率,是CPU进行运算时的工作频率。一般来进行运算时的工作频率。一般来说,主频越高,一个时钟周期里完成的指令数也越多,说,主频越高,一个时钟周期里完成的指令数也越多,CPU的的运算速度也就越快。但由于内部结构不同,并非所有时钟频率运算速
17、度也就越快。但由于内部结构不同,并非所有时钟频率相同的相同的CPU性能一样。性能一样。 什么是超频?什么是超频?什么是主频、外频、倍频、超频?什么是主频、外频、倍频、超频? 主频主频,就是,就是CPU的时钟频率,简单说是的时钟频率,简单说是CPU运算时的工运算时的工作频率作频率(1秒内发生的同步脉冲数秒内发生的同步脉冲数)的简称。单位是的简称。单位是Hz(赫兹赫兹)。它决定计算机的运行速度,随着计算机的发展,主频由过去它决定计算机的运行速度,随着计算机的发展,主频由过去MHZ发展到了现在的发展到了现在的GHZ(1G=1024M)。通常来讲,在同系。通常来讲,在同系列微处理器,主频越高就代表计算
18、机的速度也越快,但对与列微处理器,主频越高就代表计算机的速度也越快,但对与不同类型的处理器,它就只能作为一个参数来作参考。另外不同类型的处理器,它就只能作为一个参数来作参考。另外CPU的运算速度还要看的运算速度还要看CPU的流水线的各方面的性能指标。的流水线的各方面的性能指标。由于主频并不直接代表运算速度,所以在一定情况下,很可由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的能会出现主频较高的CPU实际运算速度较低的现象。因此主实际运算速度较低的现象。因此主频仅仅是频仅仅是CPU性能表现的一个方面,而不代表性能表现的一个方面,而不代表CPU的整体性的整体性能。能。说到处理
19、器主频,就要提到与之密切相关的两个概念:说到处理器主频,就要提到与之密切相关的两个概念:倍频与外频。倍频与外频。什么是主频、外频、倍频、超频?什么是主频、外频、倍频、超频? 外频外频是是CPU的基准频率,单位也是的基准频率,单位也是Hz(赫兹赫兹)。外。外频是频是CPU与主板之间同步运行的速度,而且目前的绝与主板之间同步运行的速度,而且目前的绝大部分电脑系统中外频也是内存与主板之间的同步运大部分电脑系统中外频也是内存与主板之间的同步运行的速度,在这种方式下,可以理解为行的速度,在这种方式下,可以理解为CPU的外频直的外频直接与内存相连通,实现两者间的同步运行状态;接与内存相连通,实现两者间的同
20、步运行状态; 什么是主频、外频、倍频、超频?什么是主频、外频、倍频、超频? 倍频倍频即主频与外频之比的倍数。主频、外频、倍即主频与外频之比的倍数。主频、外频、倍频,其关系式:频,其关系式:主频外频主频外频倍频。倍频。早期的早期的CPU并没并没有有“倍频倍频”这个概念,那时主频和系统总线的速度是这个概念,那时主频和系统总线的速度是一样的。随着技术的发展,一样的。随着技术的发展,CPU速度越来越快,内存、速度越来越快,内存、硬盘等配件逐渐跟不上硬盘等配件逐渐跟不上CPU的速度了,而倍频的出现的速度了,而倍频的出现解决了这个问题,它可使内存等部件仍然工作在相对解决了这个问题,它可使内存等部件仍然工作
21、在相对较低的系统总线频率下,而较低的系统总线频率下,而CPU的主频可以通过倍频的主频可以通过倍频来无限提升来无限提升(理论上理论上)。 我们可以把外频看作是机器内的一条生产线,而我们可以把外频看作是机器内的一条生产线,而倍频则是生产线的条数,一台机器生产速度的快慢倍频则是生产线的条数,一台机器生产速度的快慢(主主频频)自然就是生产线的速度自然就是生产线的速度(外频外频)乘以生产线的条数乘以生产线的条数(倍频倍频)了。了。什么是主频、外频、倍频、超频?什么是主频、外频、倍频、超频? 超频超频:目前:目前CPU的生产可以说是非常精密的,以至的生产可以说是非常精密的,以至于生产厂家都无法控制每块于生
22、产厂家都无法控制每块CPU到底可以在什么样的频到底可以在什么样的频率下工作,厂家实际上就已经自己做了次测试,将能工率下工作,厂家实际上就已经自己做了次测试,将能工作在高频率下的作在高频率下的CPU标记为高频率的,然后可以卖更高标记为高频率的,然后可以卖更高的价钱。但为了保证它的质量,这些标记都有一定的富的价钱。但为了保证它的质量,这些标记都有一定的富余,也就是说,余,也就是说, 一块工作在一块工作在600MHZ的的CPU,很有可能,很有可能在在800MHZ下依然稳定工作,为了发掘这些潜在的富余下依然稳定工作,为了发掘这些潜在的富余部分,我们可以进行超频。部分,我们可以进行超频。 现在的厂商基本
23、上都已经把倍频锁死,要超频只有现在的厂商基本上都已经把倍频锁死,要超频只有从外频下手,通过倍频与外频的搭配来对主板的跳线或从外频下手,通过倍频与外频的搭配来对主板的跳线或在在BIOS中设置软超频,从而达到计算机总体性能的部分中设置软超频,从而达到计算机总体性能的部分提升。所以在购买的时候要尽量注意提升。所以在购买的时候要尽量注意CPU的外频。的外频。 backback1.5 评估微型机性能的主要指标评估微型机性能的主要指标1.5.3 内部存储器容量(衡量单位是什么?)内部存储器容量(衡量单位是什么?)位:描述内部存储器容量的最小单位;位:描述内部存储器容量的最小单位;字节:描述内部存储器容量的
24、基本单位;字节:描述内部存储器容量的基本单位;1024B=1KB 1024KB=1MB 1024MB=1GB1024GB=1TB(210=1024)1.5.4 外部设备配置外部设备配置字节字节1.6 微型计算机的应用微型计算机的应用v科学计算科学计算v信息管理系统信息管理系统v工业控制过程(实时控制)工业控制过程(实时控制)v网络通信技术网络通信技术v智能仪器表与家用电器智能仪器表与家用电器v计算机辅助设计与制造计算机辅助设计与制造补充补充 数的定点表示和浮点表示数的定点表示和浮点表示n1. 数的定点表示法n2. 数的浮点表示法1. 数的定点表示法数的定点表示法n规定一个固定的小数点的位置,并
25、把用这种方规定一个固定的小数点的位置,并把用这种方法表示的数称为定点数。法表示的数称为定点数。nMSB表示最高有效位,表示最高有效位, LSB表示最低有效位。表示最低有效位。n当小数点固定在当小数点固定在MSB的前面时,定点数为纯小的前面时,定点数为纯小数,当小数点固定在数,当小数点固定在LSB的后面时,定点数为的后面时,定点数为纯整数。纯整数。符号MSBLSB数的浮点表示法数的浮点表示法 将一个二进制数用一种普通形式表示为:将一个二进制数用一种普通形式表示为:2E F,其中,其中E表示表示阶码阶码,F 称为称为尾数尾数。我们把用阶码和尾数表示的数。我们把用阶码和尾数表示的数称为浮点数。称为浮
26、点数。 前半部分前半部分e0e1e2为阶码,其中为阶码,其中e0为阶符;后半部分为阶符;后半部分N0M-1M-2为尾数,其中为尾数,其中N0为尾符。阶码通常为带符为尾符。阶码通常为带符号的整数,尾数通常为带符号的纯小数。号的整数,尾数通常为带符号的纯小数。 例例: 写出二进制数写出二进制数-110.0011在计算机中的浮点数形式。在计算机中的浮点数形式。设阶码取设阶码取4位补码,尾数是位补码,尾数是8位原码。位原码。 解:解: -110.0011= -0 . 11000112+3 浮点数形式为浮点数形式为:e0e1e2N0M-1M-2001111100011浮点数规格化浮点数规格化n为了使浮点
27、数有一个标准形式,也为了充分利用尾为了使浮点数有一个标准形式,也为了充分利用尾数的有效数位提高运算精度,一般采用浮点数的规数的有效数位提高运算精度,一般采用浮点数的规格化表形式。所谓规格化是指尾数格化表形式。所谓规格化是指尾数M的最高位的最高位nM-1=1必须是有效数字位。对于必须是有效数字位。对于原码尾数,无论是原码尾数,无论是正数、负数,正数、负数,M-1=1时是规格化形式;若尾数是补时是规格化形式;若尾数是补码,当码,当N是正数时,是正数时,M-1=1,N是负数时,是负数时,M-1=0才是规格化形式才是规格化形式。可以发现,尾数是补码时的规格可以发现,尾数是补码时的规格化形式,尾数最高位
28、与符号位相反。化形式,尾数最高位与符号位相反。n浮点数运算过程中,一旦运算结果出现非规格化形浮点数运算过程中,一旦运算结果出现非规格化形式,立即移动尾数,将其转换成规格化形式,与此式,立即移动尾数,将其转换成规格化形式,与此同时,阶码相应有所加或减,保证同时,阶码相应有所加或减,保证N值不变。值不变。例例 :某计算机运算结果如下所示,阶码是:某计算机运算结果如下所示,阶码是4 4位以位以2 2为底的补码,尾为底的补码,尾数取数取8 8位定点小数(含符号位)位定点小数(含符号位)问:问:(1 1)若该尾数是原码时,求其计算机中规格化形式)若该尾数是原码时,求其计算机中规格化形式 (2 2)若尾数
29、是补码,求其规格化形式)若尾数是补码,求其规格化形式01101 1111001解:解:(1 1)因为尾数是原码,最高位)因为尾数是原码,最高位M M-1-1=1=1,所以已经是规格化形式了。,所以已经是规格化形式了。(2 2)因为尾数是补码,尾符和)因为尾数是补码,尾符和M M-1-1都是都是1 1,所以不是规格化形式。,所以不是规格化形式。尾数左移,低位补尾数左移,低位补0 0,相当于小数位右移,直到,相当于小数位右移,直到M M-1-1=0=0为止,因为止,因为尾数移动为尾数移动4 4位,阶码需减位,阶码需减4 4,由,由01100110变为变为00100010,由此得到规,由此得到规格化
30、形式为格化形式为0 010 1 0010000 0 010 1 0010000 第一章 习题开始各种数制之间的相互转换方法:各种数制之间的相互转换方法:1011110.101B=_O=_H=_D 296D=_B 4532D=_B 1011110.101B=_O=_H=_D 296D=_B 4532D=_B 4098D=_B 65535D=_B 0FFH=_D4098D=_B 65535D=_B 0FFH=_D例例2 2:写出:写出+127+127和和 127127的的 8 8位位 原玛、反码、补码原玛、反码、补码例例3 3:存在二进制编码:存在二进制编码 1111 11011111 1101,
31、求解下列各题,求解下列各题 将将 1111 1101 1111 1101 看作一个普通的二进制数,则其代表的十进看作一个普通的二进制数,则其代表的十进制数是(制数是( ););若若xx原原=1111 1101=1111 1101,则,则x=x=( )若若xx反反=1111 1101=1111 1101,则,则x=x=( )1.1. 若若xx补补=1111 1101=1111 1101,则,则x=x=( )例例4 4:D8H=1101 1000BD8H=1101 1000B,看作无符号数时,其代表的十进制数为,看作无符号数时,其代表的十进制数为? ?看看作是符号数的补码时,代表的十进制数是作是符
32、号数的补码时,代表的十进制数是? ?v8086的编程结构的编程结构v8086的工作模式及引脚功能的工作模式及引脚功能v最小模式系统最小模式系统v8086的操作和时序的操作和时序v8086的存储器及的存储器及I/O组织组织v内容回顾内容回顾v习题提问习题提问第二章第二章 80868086微处理器微处理器基础知识:基础知识:8086字长为字长为16位,内存空间为位,内存空间为1M2.1.1 8086的编程结构的编程结构 编程结构是指从程序员和使用者的角度看到的结编程结构是指从程序员和使用者的角度看到的结构。构。 8086CPU由由执行部件执行部件EU(Execution Unit)和)和总总线接口
33、部件线接口部件BIU(Bus Interface Unit)两部分组成)两部分组成(如图所示)。(如图所示)。地址加法器,用于产生20位物理地址。假设CS=8200H,IP=1234H,则当前指令所在内存的物理地址为83234H指令队列缓冲器用于解决以往CPU取指令期间,运算器的等待问题从指令队列缓冲器取出指令,进行译码,产生各种控制信号,控制各部件的工作内存外设1、执行部件、执行部件EUn功能:负责指令的执行功能:负责指令的执行n组成:组成:n通用寄存器组通用寄存器组n专用寄存器组专用寄存器组n算术逻辑运算单元算术逻辑运算单元ALUn标志寄存器标志寄存器FRn内部控制逻辑内部控制逻辑EU 寄
34、存器是指在指令执行过程中用于临时存放数据或寄存器是指在指令执行过程中用于临时存放数据或结果的寄存单元结果的寄存单元(1)通用寄存器)通用寄存器 4 4个个1616位的通用寄存器:位的通用寄存器:AXAX、BXBX、CXCX、DXDX。也可看作是。也可看作是8 8个个8 8位位寄存器:寄存器:AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH、DLDL。 1 1)AXAX(AHAH、ALAL)累加器:有些指令约定)累加器:有些指令约定AXAX或或ALAL寄存器为累加寄存器为累加器,如乘法、除法、输入器,如乘法、除法、输入/ /输出指令等。输出指令等。 2 2)BXBX(BHBH
35、、BLBL)基址寄存器:可用作间接寻址的地址寄存器)基址寄存器:可用作间接寻址的地址寄存器和基地址寄存器,和基地址寄存器,BHBH、BLBL可用作可用作8 8位数据寄存器。位数据寄存器。 3 3)CXCX(CHCH、CLCL)计数器:在循环和串操作中充当计数器,指)计数器:在循环和串操作中充当计数器,指令执行后,令执行后,CXCX寄存器内容自动变化。寄存器内容自动变化。 4 4)DXDX(DHDH、DLDL)数据寄存器:除用作通用寄存器外,在)数据寄存器:除用作通用寄存器外,在I/OI/O指指令中用作口地址寄存器,乘除指令中做辅助累加器。令中用作口地址寄存器,乘除指令中做辅助累加器。(2)专用
36、寄存器组)专用寄存器组 8086CPU除有除有4个个16位的通用寄存器外,还有位的通用寄存器外,还有4个个16位专用寄位专用寄存器,分别是:存器,分别是: 基数指针寄存器基数指针寄存器BP(Base Pointer Register) 堆栈指针寄存器堆栈指针寄存器SP(Stack Pointer Register) 源变址寄存器源变址寄存器SI(Source Index Register) 目的变址寄存器目的变址寄存器DI(Destination Index Register) BP、SP常用来指示相对于段起始地址的偏移量。常用来指示相对于段起始地址的偏移量。BP一般用于一般用于访问堆栈段任意
37、单元,访问堆栈段任意单元,SP用于访问堆栈段栈顶单元。用于访问堆栈段栈顶单元。SI、DI可用作可用作寄存器间接地址、相对寻址、基址变址寻址、相对基址变址寻址寄寄存器间接地址、相对寻址、基址变址寻址、相对基址变址寻址寄存器,访问数据段任意单元。存器,访问数据段任意单元。(3)算术逻辑单元()算术逻辑单元(ALU) 完成完成16位或者位或者8位的算术逻辑运算。位的算术逻辑运算。(4 4)标志寄存器()标志寄存器(Flag RegisterFlag Register)标志寄存器共有标志寄存器共有16位,其中位,其中7位未用,内容如下:位未用,内容如下:1514131211109876543210OF
38、DFIFTFSFZFAFPFCF 根据功能,根据功能,8086的标志分为条件标志和控制标志。的标志分为条件标志和控制标志。条条件标志(件标志(6位)位)用于寄存程序运行的状态信号(由硬件根据用于寄存程序运行的状态信号(由硬件根据运算结果自动设定),这些标志往往用作后续指令判断的依运算结果自动设定),这些标志往往用作后续指令判断的依据;据;控制标志(控制标志(3位)位)由软件设定,用于串处理的方向控制、由软件设定,用于串处理的方向控制、中断响应允许控制及单步陷阱控制。中断响应允许控制及单步陷阱控制。进位标志进位标志,当加法最高位产生进位或减法最高位产生借位时,CF=1,否则CF=0辅助进位标志辅
39、助进位标志(半进位),字节运算时低半个字节向高半个字节有进位或借位时,AF=1奇偶标志奇偶标志,若运算结果的低8位操作数中有偶数个1,PF=1,否则PF=00标志标志,当运算结果为0时,ZF=1符号标志符号标志,接受运算结果最高位的值,当最高位为1时,SF=1,表示该数是负数陷阱标志陷阱标志,用于单步操作,TF=1时,每条指令执行后产生陷阱,进入系统控制程序中断允许标志中断允许标志,IF=1时允许可屏蔽中断,IF=0则禁止。该标志可由中断控制指令设置或清除方向标志方向标志,在串处理指令中,用于控制串处理的方向。当DF=0时,每次操作后变址寄存器SI、DI自动增量,处理方向由低地址向高地址;当D
40、F=1时自动减量。该标志由方向控制指令设置或清除溢出标志溢出标志,当运算结果超出了机器所能表示的数的范围时,会产生溢出,这时OF=1,否则OF=0有关溢出的判断方法有关溢出的判断方法 通常通常CFCF用于无符号数运算结果的溢出判断,而用于无符号数运算结果的溢出判断,而OFOF则用于有符号数运算结果则用于有符号数运算结果的溢出判断。若两个正数相加(或正数减负数)结果为负,或两个负数相加(或的溢出判断。若两个正数相加(或正数减负数)结果为负,或两个负数相加(或负数减正数)结果为正数,则负数减正数)结果为正数,则OF=1OF=1;当正数与负数相加时不会产生溢出,;当正数与负数相加时不会产生溢出,OF
41、=0OF=0。即即两个同号的数相加有可能产生溢出;两个异号的数相减有可能产生溢出。两个同号的数相加有可能产生溢出;两个异号的数相减有可能产生溢出。例如:例如: 1100 1010 1100 1010 则则CF= PF= AF=CF= PF= AF=+ + 0111 10000111 1000 ZF= SF= OF= ZF= SF= OF= 0101 0000 1100 1010 0101 0000 1100 1010 则则CF= PF= AF=CF= PF= AF=+ + 0110 1101 0111 00100110 1101 0111 0010 ZF= SF= OF= ZF= SF= OF
42、=有关溢出的判断方法有关溢出的判断方法溢出的判断有三种方法:溢出的判断有三种方法:1.1.单符号位判断方法单符号位判断方法原理:当两个同号数相加,若所得结果符号与两数符号不同,表示有原理:当两个同号数相加,若所得结果符号与两数符号不同,表示有溢出。溢出。2.2.采用最高有效位的进位判断采用最高有效位的进位判断原理:两同号数相加,若最高有效位与符号位产生的进位情况不同,原理:两同号数相加,若最高有效位与符号位产生的进位情况不同,则有溢出,反之,无溢出。则有溢出,反之,无溢出。3.3.变形补码判断方法变形补码判断方法原理:将参加运算的操作数的符号位均用两位表示,即原理:将参加运算的操作数的符号位均
43、用两位表示,即“00”00”表示正号;表示正号;“11”11”表示负号,这种形势的补码叫变形补码。采用变形补码参加运算表示负号,这种形势的补码叫变形补码。采用变形补码参加运算的两个操作数,若运算完成后,结果的双符号位为的两个操作数,若运算完成后,结果的双符号位为“01”01”或或“10”10”,则说,则说明有溢出。而且明有溢出。而且“01”01”表示正溢或上溢;表示正溢或上溢;“10”10”表示负溢或下溢。表示负溢或下溢。2、总线接口部件、总线接口部件BIU(1)段寄存器)段寄存器8086CPU内部数据结构是内部数据结构是16位,即所有的寄存器都是位,即所有的寄存器都是16位的,位的,而其外部
44、寻址空间(即内存大小)为而其外部寻址空间(即内存大小)为1MB,需要,需要20条地址线。条地址线。在寻址方式中经常用在寻址方式中经常用16位寄存器存放存储器地址位寄存器存放存储器地址00001H00003H00005HFFFFFH00000H00002H00004HFFFFEH 很明显,很明显,16位地址能够表示位地址能够表示64K个个单元,只占单元,只占1M空间的空间的1/16,那么剩,那么剩下的单元我们该如何访问呢?下的单元我们该如何访问呢? 为了解决这一问题,在为了解决这一问题,在8086中对内存中对内存采取了采取了段式管理段式管理,共分,共分4种段:种段:1.代码段(存放程序代码)代码
45、段(存放程序代码)2.数据段(存放程序运行时所需数据)数据段(存放程序运行时所需数据)3.堆栈段堆栈段4.附加段(附加数据段)附加段(附加数据段)2、总线接口部件、总线接口部件BIU00001H00003H00005HFFFFFH00000H00002H00004HFFFFEH1M内存的地址范围为:内存的地址范围为:00000HFFFFFH00000HFFFFFH16位寄存器的编址范围为:位寄存器的编址范围为:0000HFFFFH因为:因为:XXXXH + XXXXH XXXXXH所以:使用两个地址的加和来构成实际地址所以:使用两个地址的加和来构成实际地址 (物理地址物理地址)也就是:也就是:
46、段地址段地址16偏移地址物理地址偏移地址物理地址段地址存放在四个段寄存器:段地址存放在四个段寄存器:CS、DS、SS、ES里面;里面;偏移量根据不同的寻址方式存放在程序计数器偏移量根据不同的寻址方式存放在程序计数器IP或其他寄存器或其他寄存器(如(如BX、BP、SI、DI等)等)例如:例如:给定的某个逻辑段段地址为给定的某个逻辑段段地址为3008H,段内偏移地址为,段内偏移地址为002FH,则其对应的真正物理地址为:则其对应的真正物理地址为: 3008H16+002FH=300AFH 在内存中的实际存放为:在内存中的实际存放为:30080H0000H0001H002FH 我们可以看出,在我们可
47、以看出,在3008H段中,段中,第一个单元的地址为第一个单元的地址为30080H,即:,即: 3008H160000H=30080H最后一个单元的地址为:最后一个单元的地址为: 3008H16FFFFH=4007FH4007FHFFFFH因此,因此,XXXXH段的地址范围为:段的地址范围为:XXXXH16 0000HXXXXH16FFFFH即一个段的最大为即一个段的最大为0000HFFFFH64K内存节、内存节与段地址的关系内存节、内存节与段地址的关系 任何一个段的段地址左移任何一个段的段地址左移4位后,其最低位后,其最低4位都是位都是0,例如,例如00000H、00010H、00020H、0
48、0030H000F0H、00100H、00110H、00120H、F43D0H等都可假设为是一个段地址左等都可假设为是一个段地址左移移4位后的结果。位后的结果。 大家观察,上面所列举的每相邻的两个地址编码之间的间大家观察,上面所列举的每相邻的两个地址编码之间的间隔是多少个字节?隔是多少个字节? 在在8086中将中将1MB空间以空间以16个个字节为一个内存节,共分成字节为一个内存节,共分成64k个节。每个节的首地址的最低个节。每个节的首地址的最低4位都是位都是0,例如从,例如从22480H2248FH的内存空间即为一个内存节,这样的内存节的首地址的的内存空间即为一个内存节,这样的内存节的首地址的
49、高高16位部分即可作为一个段的段地址,也就是说一个段的首地位部分即可作为一个段的段地址,也就是说一个段的首地址一定是某个内存节的首地址。址一定是某个内存节的首地址。段寄存器段寄存器刚才提到,在刚才提到,在8086中设有中设有4个段寄存器个段寄存器v CS代码段寄存器(编写的程序代码需存放在内存中,代码段寄存器(编写的程序代码需存放在内存中,此时需要把其首地址的高此时需要把其首地址的高16位存放在位存放在CS中,例如若中,例如若CS值值为为3000H,则意味着当前运行的程序存放在内存地址,则意味着当前运行的程序存放在内存地址30000H开始的单元中,)开始的单元中,)v DS数据段寄存器(例如存
50、放一个数组的数据,若数据段寄存器(例如存放一个数组的数据,若DS=2488H,则说明该数组存放在,则说明该数组存放在24880H开始的内存单元开始的内存单元中)中)v SS堆栈段寄存器堆栈段寄存器v ES附加段寄存器附加段寄存器若某个段寄存器内容为若某个段寄存器内容为23F0H,而,而段的长度为段的长度为64K,则其结束地址为:,则其结束地址为:23F00H+07FFFH=2BEFFH指令指针寄存器指令指针寄存器IP 用于存放当前指令的偏移地址,该寄存器一定与代码用于存放当前指令的偏移地址,该寄存器一定与代码段寄存器结合使用段寄存器结合使用CS(2200H)指令指令10000H(IP)0001
51、H指令指令20002H0003H0004H指令指令30005H0006H指令指令40007H根据条件转移到指根据条件转移到指令令20008H指令指令50009H000AH3、总线接口部件和执行部件的管、总线接口部件和执行部件的管理理 由于指令队列缓冲器的存在,实现了由于指令队列缓冲器的存在,实现了EU与输入与输入/输出接口部件的输出接口部件的并行工作,从而提高了效率。总线接口部件与并行工作,从而提高了效率。总线接口部件与EU互相配合工作,其动互相配合工作,其动作有以下几方面管理原则:作有以下几方面管理原则:v当当8086指令队列中有两字节空闲时,总线接口部件自动从内存中将指令队列中有两字节空闲
52、时,总线接口部件自动从内存中将指令取到指令队列中,指令取到指令队列中,v每当每当EU要执行一条指令时,它就从指令队列头部取出指令,后续指要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。令自动向前推进。EU要花几个时钟周期执行指令。执行指令中若要访要花几个时钟周期执行指令。执行指令中若要访问内存或问内存或I/O设备,设备,vEU就向总线接口部件申请总线周期,若就向总线接口部件申请总线周期,若BIU总线空闲,则立即响应;总线空闲,则立即响应;若若BIU正在取一条指令,则待取指令操作完成后响应正在取一条指令,则待取指令操作完成后响应EU的总线请求的总线请求v当指令队列已满,当指令
53、队列已满,EU又没有申请总线时,又没有申请总线时,BIU进入空闲状态进入空闲状态v当遇到转移、调用及返回指令时,自动清除指令队列缓冲器中已有当遇到转移、调用及返回指令时,自动清除指令队列缓冲器中已有指令,从新地址开始,重新填充指令队列,以适应新的指令执行顺序指令,从新地址开始,重新填充指令队列,以适应新的指令执行顺序2.1.2 8086的工作模式及引脚功能的工作模式及引脚功能1、8086的工作模式的工作模式 8086CPU提供了两种工作模式:提供了两种工作模式:最小工作模式最小工作模式和和最大工作最大工作模式模式。工作在何种模式,将根据需要由硬件连接决定。工作在何种模式,将根据需要由硬件连接决
54、定。最小工作模式:系统中只有最小工作模式:系统中只有8086一个微处理器。在这种系统中,一个微处理器。在这种系统中,所有的总线控制信号都直接由所有的总线控制信号都直接由8086产生。系统中总线控制逻辑产生。系统中总线控制逻辑电路最少。电路最少。最大工作模式:系统中包括两个以上处理器,其中一个最大工作模式:系统中包括两个以上处理器,其中一个8086做做主处理器,其他处理器称为协处理器。与主处理器,其他处理器称为协处理器。与8086协同工作的协处协同工作的协处理器有用于数值运算的协处理器理器有用于数值运算的协处理器8087,输入,输入/输出协处理器输出协处理器8089。配置协处理器的系统,主处理器
55、不用处理费时的复杂运算和配置协处理器的系统,主处理器不用处理费时的复杂运算和I/O设备服务,提高了主处理器的运行效率。设备服务,提高了主处理器的运行效率。CLK:时钟信号,输入RESET:复位信号,输入。8086要求复位信号至少维持4个时钟周期的高电平,以完成CPU内部寄存器的复位操作。复位信号出现,CPU就结束当前的操作,进入复位操作,即将FR、IP、DS、SS、ES及指令队列清0,将CS置为FFFFH,当复位信号降为低电平时,CPU从FFFF0H地址开始执行指令。所以系统程序在该物理地址单元放一条转移指令转移到引导程序的入口。2 2、80868086的引脚功能的引脚功能AD15AD0在T1
56、状态输出地址信号,在T2、T3状态,若为总线读周期则总线浮空,若为总线写周期,则总线上输出数据。NMI:非屏蔽中断,输入,该信号为一个由低到高的上升沿有效信号。它不受中断允许标志IF的影响。一旦产生NMI信号,CPU处理完一条指令后,立即进入非屏蔽中断处理。最小/最大模式控制信号,输入。该引脚接+5V时,CPU工作在最小模式,接地工作在最大模式A19/S6A16/S3 地址状态复用引脚,输出。在总线周期的T1状态,A19A16输出最高4位地址信号,在T2、T3、TW、T4状态,S6S3输出状态信息,意义如下:S6为0表示8086CPU占用总线。S5表明中断允许标志IF的设置情况,若IF=1,则
57、为允许可屏蔽中断,S5=1;若IF=0,则为禁止可屏蔽中断,S5=0。S4、S3指明正在使用的段寄存器,组合情况如右表:S3S4含义含义00正在使用正在使用ES01正在使用正在使用SS10正在使用正在使用CS11正在使用正在使用DSINTR:可屏蔽中断,输入。高电平有效。CPU在每条指令的最后一个时钟周期对INTR信号进行采样,当INTR为高电平时,若IF=1,则在一条指令结束后即响应中断请求,进入中断处理。RD:读信号,三态,输出。低电平有效。在CPU 执行读操作时,RD在T2、T3、TW期间有效。到底是读存储器还是读I/O端口还取决于M/IO信号。M/IO为高时,读存储器,否则读I/O端口
58、。READY:准备好信号,输入,高有效。当CPU访问存储器或I/O设备,而存储器或I/O设备来不及在T4结束数据传输时,就应在T3之前提供一个低电平READY信号。BHE/S7:高8位数据允许/状态复用引脚,输出。在T1状态该引脚输出BHE信号(低电平有效),表示高8位数据线D15D0上数据有效。BHE/S7:高:高8位数据允许位数据允许/状态复用引脚,输出。在状态复用引脚,输出。在T1状态该引脚输状态该引脚输出出BHE信号(低电平有效),表示高信号(低电平有效),表示高8位数据线位数据线D15D8上数据有效。上数据有效。说明:数据线低说明:数据线低8位对应内存单元的偶地址部分,高位对应内存单
59、元的偶地址部分,高8位对应内存单位对应内存单元的奇地址部分(奇偶地址如何划分?),即偶地址存放低字节数元的奇地址部分(奇偶地址如何划分?),即偶地址存放低字节数据,奇地址存放高字节数据;而且一个完整的总线周期中,从内存据,奇地址存放高字节数据;而且一个完整的总线周期中,从内存中读写数据的顺序都是从低字节开始到高字节共中读写数据的顺序都是从低字节开始到高字节共16位。位。BHE与与A0合起来可向总线上存储器接口传送下表所示信息:合起来可向总线上存储器接口传送下表所示信息:请思考:上表中为何不能出现请思考:上表中为何不能出现1与与1的组合?的组合?从偶地址开始读/写一个字 AD15AD0从偶地址开
60、始读写一个字节 AD7AD0从奇地址开始读/写一个字节 AD15AD80 1 AD15AD81 0 AD7AD02.1.3 最小模式系统最小模式系统最小模式系统处理器?个,最小模式系统处理器?个,MN/MX引脚接向?引脚接向?1、最小模式下第、最小模式下第2431脚信号功能脚信号功能(1)WR:写信号,输出:写信号,输出(2)M/IO:存储器或:存储器或I/O设备控制信号,输出设备控制信号,输出WR、RD及及M/IO三个信号合起来决定系统中数据传输的方向,见三个信号合起来决定系统中数据传输的方向,见下表下表I/O读I/O写存储器读存储器写(3)HOLD:总线保持请求信号,输入。当系统中其他:总
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海洋管道对接方案(3篇)
- 内部培训身材管理制度
- 成品浴缸检修方案(3篇)
- 电力设计薪酬方案(3篇)
- 楼体装修方案模板(3篇)
- 小学班级全员管理制度
- 家具运输防水措施方案(3篇)
- 建拆除方案(3篇)
- 冷库设备修理方案(3篇)
- 计价方案么(3篇)
- 毛泽东诗词赏析
- TD-T 1048-2016耕作层土壤剥离利用技术规范
- 新入职员工安全培训试题及参考答案【达标题】
- 价值型销售(技能篇)
- 首都医科大学招聘笔试题库2024
- 2023-2024学年山东省济南市高一下学期7月期末考试物理试题(解析版)
- 第七单元知识梳理(课件)-2022-2023学年四年级语文下册单元复习(部编版)
- 2022年江苏省常州市强基计划选拔数学试卷(附答案解析)
- DB31-T470-2009城市轨道交通(地下段)列车运行引起的住宅建筑室内结构振动与结构噪声
- HSE管理体系与保证措施
- “沙钢杯”第十一届全国钢铁行业职业技能竞赛(电工)理论试题库-中(多选题)
评论
0/150
提交评论