微处理器技术基础.ppt_第1页
微处理器技术基础.ppt_第2页
微处理器技术基础.ppt_第3页
微处理器技术基础.ppt_第4页
微处理器技术基础.ppt_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章微处理器技术基础,1.1微处理器的发展简史1.2微处理器有关的技术名词1.3计算机编码及总线的概念1.48086/8088微处理器内部结构,1.3计算机编码及总线的概念,1.3.1计算机中常用的进制数人们最常用的数是十进制数,计算机中采用的是二进制数,同时有的时候为了简化二进制数据的书写,也采用八进制和十六进制表示方法。下面将分别介绍这几种常用的进制。一、十进制数十进制数是大家熟悉的,用0,1,2,8,9十个不同的符号来表示数值,它采用的是“逢十进一,借一当十”的原则。,1.3.1计算机中常用的进制数,二、二进制表示法基数为2的记数制叫做二进制。二进制数的计算规则是“逢二进一,借一当二”。,例:二进制数1011.1表示如下:(1011.1)B=1*23+0*22+1*21+1*20+1*2-1,1.3.1计算机中常用的进制数,运算规则:加法运算:0+0=00+1=11+0=11+1=10(逢二进一)减法运算:0-0=010-1=1(借位)1-0=11-1=0乘法运算:0*0=00*1=01*0=01*1=1除法运算0/1=01/1=1,1.3.1计算机中常用的进制数,三、八进制表示法八进制数是基数为八的计数制。八进制数主要采用0,1,2,7这八个阿拉伯数字。八进制数的运算规则为“逢八进一,借一当八”。,例:(467.6)O=4*82+6*81+7*80+6*8-1,1.3.1计算机中常用的进制数,四、十六进制表示法基数为16,用0-9、A-F十六个字符来数值,逢十六进一。各位的权值为16i。,例:(56D.3)H=5*162+6*161+13*160+3*16-1,1.3.2进制间的转换,一、二进制数和十进制数之间的转换(1)二进制数转换为十进制数方法:按二进制数的位权进行展开相加即可。例:11101.101=124+123+122+021+120+12-1+02-2+12-3=16+8+4+0+1+0.5+0.25+0.125=29.875,1.3.2进制间的转换,(2)十进制数转换为二进制数方法:A、将整数部分和小数部分分别进行转换,然后再把转换结果进行相加。B、整数转换采用除2取余法:用2不断地去除要转换的数,直到商为0。再将每一步所得的余数,按逆序排列,便可得转换结果。C、小数转换采用乘2取整法:每次用2与小数部分相乘,取乘积的整数部分,再取其小数部分乘2直到小部分为0。将所取整数顺序放在小数点后即为转换结果。,1.3.2进制间的转换,2136余数(结果)低位268-0234-0217-028-124-022-021-00-1高位,例:将(136)D转换为二进制数。,转换结果:(136)D=(10001000)B,1.3.2进制间的转换,转换结果:(87)D=(01010111)B,例:将(87)D转换为二进制数。287余数(结果)低位243-1221-1210-125-022-121-00-1高位,1.3.2进制间的转换,例:将(0.625)D转换为二进制数。0.625*21.25*20.5*21.0取整:高位低位,转换结果:(0.625)D=(0.101)B,例:将(0.1)D转换为二进制数。,0.1*20.2*20.4*20.8*2,1.6*21.2*2(循环),取整:高位低位,转换结果:(0.1)D(0.00011)B,1.3.2进制间的转换,二、二进制数和八进制数、十六进制数间的转换(1)二进制数到八进制数、十六进制数的转换A、二进制数到八进制数转换采用“三位化一位”的方法。从小数点开始向两边分别进行每三位分一组,向左不足三位的,从左边补0;向右不足三位的,从右边补0。B、二进制数到十六进制数的转换采用“四位化一位”的方法。从小数点开始向两边分别进行每四位分一组,向左不足四位的,从左边补0;向右不足四位的,从右边补0。例:将(1000110.01)B转换为八进制数和十六进制数。1000110.01001000110.010,(106.2)O,1.3.2进制间的转换,二进制数到十六进制数的转换:(1000110.01)B=1000110.0101000110.0100,(46.4)H,(2)八进制、十六进制数到二进制数的转换方法:采用“一位化三位(四位)”的方法。按顺序写出每位八进制(十六进制)数对应的二进制数,所得结果即为相应的二进制数。例:将(352.6)o转换为二进制数。352.6011101010110=(11101010.11)B,1.3.3带符号数的表示方法,1.3.3带符号数的表示方法,计算机中的带符号的数,用二进制编码表示,数的符号也用二进制表示。,带符号的数有三种表示方法:1、原码2、反码3、补码,数X的原码记作X原反码记作X反补码记作X补,一、原码表示法:,原码用数的最左边一位(MSB)表示数的正负,即在D7或D15位加0或1。符号位:0表示正,1表示负;数值位:真值的绝对值。,1.3.3带符号数的表示方法,X原=X0X2n-1-12n-1+X-(2n-1-1)X0,1.3.3带符号数的表示方法,例:求X1=+1101011,X2=-0111011的原码表示。(8位)X1原=X1=01101011X2原=X2=10111011,例:求X1=1011,X2=-1011的原码。(8位)X1原=00001011X2原=10001011,练习:求+18和-18的原码。,1.3.3带符号数的表示方法,0的表示形式(8位)+0原=00000000-0原=10000000特点:A、原码与真值的对应关系简单。B、0的编码不唯一,处理运算不方便。,1.3.3带符号数的表示方法,问题:A、一个负数和一个正数相加,和的符号位不是两符号直接运算的值:0+1=1,而是由两数的大小决定。即由两数中绝对值大的数决定。B、两个负数相加,由于1+1=10,因此和的符号也不是由两符号位直接运算的结果决定的。,二、反码表示法:,若X0,则X反=X原若X0,则X反=对应原码的符号位不变,数值部分按位求反。,1.3.3带符号数的表示方法,练习:求-52的原码和反码。,特例:0的反码也不唯一!+0反=00000000B-0反=11111111B,+1100111反=01100111-1100111反=10011000,三、补码表示法:,1.3.3带符号数的表示方法,方法:正数的补码和原码相同。负数的补码=相应反码+1。,X补=X0X2n-1-12n+X-2n-1X0,1.3.3带符号数的表示方法,练习:求-52的补码。,例:求+127和-128的补码。(8位)+127补=01111111原=01111111-128补=28-128=100000000-10000000=10000000-0补=-0000000反+1=11111111+1=000000000补=+0补=-0补=00000000,四、注意的问题:,1.3.3带符号数的表示方法,1、两个运算原则:X反反=X原X补补=X原,X+Y补=X补+Y补X-Y补=X补-Y补,2、补码运算的性质:,3、补码运算时,其符号位要与数值部分一起参加运算,但结果不能超出范围,否则会出现溢出错误。4、符号运算后如有进位,则把这个进位舍掉不要。,1.3.3带符号数的表示方法,五、补码运算:,例:用补码进行下列运算:(+33)+(+15)(-33)+(+15)(+33)+(-15)(-33)+(-15),1.3.3带符号数的表示方法,00100001B+33补11011111B-33补,+00001111B+15补+00001111B+15补,00110000B+48补11101110B-18补,1.3.3带符号数的表示方法,00100001B+33补11011111B-33补,+11110001B-15补+11110001B-15补,100010010B+18补111010000B-48补,进位,丢掉,进位,丢掉,1.3.3带符号数的表示方法,1、已知X原=01101000B,Y原=10001000B,求X+Y补=?,2、已知X原=10001101B,Y原=10000001B,求X+Y补=?,练习:,在计算机内,任何信息都是用代码表示的,字母、数字和符号(以后简称为字符)也是用代码表示的。一般情况下,计算机依靠输入设备把要输入的字符编成一定格式的代码,然后才能接收进来。输出则是相反过程,为了在输出设备输出字符,计算机要把相应的字符的编码送到外部输出设备。目前国际上使用的字符编码系统有许多种。,1.3.4计算机中常用编码,一、编码介绍:,二、ASCII字符编码,1.3.4计算机中常用编码,全称是“美国信息交换标准代码”。见ASCII码字符表。,说明:用8位表示字符代码,其基本代码占7位,第8位用作奇偶校验位,用以检测字符在传送过程中是否出错。(奇校验:1的个数是奇数;偶校验:1的个数是偶数;),ASCII码采用7位二进制代码来对字符进行编码。它包括32个通用控制符号,10个阿拉伯数字,52个英文大、小字母,34个专用符号,共128个。例如阿拉伯数字09的ASCII码分别为30H39H,英文大写字母A、B、Z的ASCII码是从41H开始依次往下编排。并非所有的ASCII字符都能打印,有些字符为控制字符用来控制退格,换行和回车等。ASCII代码还包括几个其它的字符,例如文件结束(EOF)、传送结束(EOT),用作传送和存储数据的标志。,1.3.4计算机中常用编码,通常,7位ASCII代码在最高位添加一个“0”组成8位代码。因此,字符在计算机内部按8位一组存储,正好占一个字节。在存储和传送信息时,最高位常用作奇偶校验位,用来检验代码在存储和传送过程中是否发生错误。偶校验时,每个代码的二进制形式中应有偶数个1。例如传送字母“G”,其ASCII码的二进制形式为1000111,因有4个1,故偶校验位为0,8位代码将是01000111。奇校验每个代码中应有奇数个1。若用奇校验传送字符“G”,则8位代码为11000111。奇偶校验只具有发现代码在存储和传送过程中出现奇数个位出现错误的能力。由于它简单可行,所以在计算机中,广泛地被用于信息的存储和传送过程。,1.3.4计算机中常用编码,1.3.4计算机中常用编码,三、压缩BCD码,1.3.4计算机中常用编码,定义:用4位二进制数表示一位十进制数,也叫8-4-2-1码。,例题:十进制数4256的压缩BCD码表示为:,0100001001010110B,四、非压缩BCD码,定义:用8位二进制数表示一位十进制数,这时高4位无意义,低4位是一个BCD码。,注意:数字的ASCII码是一种非压缩的BCD!,xxxx0100 xxxx0010 xxxx0101xxxx0110B,例题:十进制数4256的压缩BCD码表示为:,1.3.4计算机中常用编码,1.3.5微型计算机系统的三总线,一、几个概念的介绍:,1、总线:传递信息的一组公用导线。,2、系统总线:从处理器引出的若干信号线,CPU通过它们与存储器或I/O设备进行信息交换。,系统总线分为:数据总线、地址总线和控制总线。,二、数据总线(DB):,作用:传送数据或代码。其条数与处理器字长相等。,如:8086的内、外数据线均为16位,记作D0D15。,1.3.5微型计算机系统的三总线,在CPU进行读操作时,内存或外设的数据通过数据总线送往CPU;在CPU进行写操作时,CPU数据通过数据总线送往内存或外设,数据总线是双向总线。,CPU在地址总线上输出将要访问的内存单元或I/O端口的地址,该总线为单向总线。,三、地址总线(AB):,作用:传送地址信息。其条数与微处理器寻址存储器单元的范围有关。,如:8086的地址线为20位,可以寻址220=1048576B1M的存储单元,地址范围为00000HFFFFFH。,1.3.5微型计算机系统的三总线,1.3.5微型计算机系统的三总线,四、控制总线(CB):,作用:传送控制信号。(输出控制信号和输入控制信号),一部分是从CPU输出:通过对指令的译码,由CPU内部产生,由CPU送到存储器、输入/输出接口电路和其它部件。如时钟信号、控制信号等。另一部分是由系统中的部件产生,送往CPU,如:中断请求信号、总线请求信号、状态信号。,控制总线的方向:,1.48086/8088微处理器内部结构,1.4.18086的基本结构,8086CPU的内部由两个独立的工作部件组成,即执行部件EU(ExecutionUnit)和总线接口部件BIU(BusIntegerfaceUnit),其中EU不与系统总线连接,只负责指令的执行,BIU则根据EU的请求,完成CPU与存储器或I/O设备之间的数据传送。两部分各自执行自己的功能并行工作,这种工作方式与传统的计算机在执行指令时的串行工作相比极大的提高了工作效率。,20位,1.4.18086的基本结构,一、执行部件EU:,功能:从BIU的指令队列中取出指令代码,经指令译码器译码后执行指令所规定的全部功能。执行指令所得结果或执行指令所需的数据,都由EU向BIU发出命令,对存储器或I/O接口进行读/写操作。,1.4.18086的基本结构,1、算术逻辑单元(ALU):,核心是16位的二进制加法器。,功能:(1)进行所有的算术和逻辑运算。(2)按指令的寻址方式计算出寻址单元的16位的偏移地址或有效地址EA(EffecyAddress),并将此偏移地址送到BIU中形成一个20位的实际地址,以实现1M字节的存储空间寻址。,1.4.18086的基本结构,2、状态标志寄存器(Flags):,该寄存器为16位,用来反映CPU运算后的状态特征或存放控制标志。,/,/,/,/,/,/,/,其中9位有效位(6位状态标志位,3位控制标志位),7位无效位。,1.4.18086的基本结构,(1)状态标志位:用来反映EU执行算术或逻辑运算以后的结果特征。,CF:进位标志。CF=1表示指令执行结果在最高位产生了一个进位或借位;CF=0表示无进位或借位产生。AF:辅助进位标志(又叫半进位标志)。AF=1表示字节操作时,结果的低4位产生了一个进位或借位;AF=0表示无进位或借位产生。OF:溢出标志。OF=1表示带符号数在进行算术运算时产生了算术溢出;OF=0表示无溢出。,1.4.18086的基本结构,功能:当运算结果超出了范围,8位为-128-+127,16位为-3276832767,那样就会产生溢出,即OF为1。备注:溢出只能出现在两个同号数相加或两个异号数相减的情况下。OF的判断:次高位向最高位进位与最高位进位的异或,如果值为1,溢出,否则没有溢出。,1.4.18086的基本结构,具体地讲,对于加运算,如果次高位(数值部分最高位)形成进位加入最高位,而最高位(符号位)相加(包括次高位的进位)却没有进位输出时;或者反过来,次高位没有进位加入最高位,但最高位却有进位输出时,都将发生溢出。因为这两种情况分别是:两正数相加,结果超出了范围,形式上变成了负数;两负数相加,结果超出了范围,形式上变成了正数。对于减运算,当次高不需从最高位借位,但最高位却需借位(正数减负数,差超出范围);或者反过来,次高位需从最高位借位,但最高位不需借位(负数减正数,差超出范围),也会出现溢出。,1.4.18086的基本结构,SF:符号标志。SF=1表示运算结果为负数;SF=0表示运算结果不为负数。PF:奇偶标志。PF=1表示运算结果的低八位所含1的个数为偶数。PF=0表示指令执行结果中有奇数个1。,ZF:零标志。ZF=1表示运算结果为零;ZF=0表示运算结果不为零。,1.4.18086的基本结构,举例:0101010000111001+0100010101101010,1001100110100011,显然,运算结果最高位为1,所以,SF=1;由于运算结果本身部位0,所以ZF=0;由于低8位所包含的1的个数为4,为偶数,所以PF=1;由于最高位没有向前进位,所以CF=0;运算过程中,第3位向第4位产生了进位,所以AF=1;由于低位向最高位产生了进位,而最高位没有向前产生进位,所以OF=1。,1.4.18086的基本结构,练习:分析01100110+01010110运算对标志的影响.,(2)控制标志位:用来控制CPU的操作,它由程序设置或由程序清除。,DF:方向标志。用来控制数据串操作指令的地址步进方向。DF=1表示数据串指令将以地址的递减顺序对数据串数据进行处理;DF=0表示数据串指令将以地址的递增顺序对数据串数据进行处理。IF:中断允许标志。IF=1表示8086CPU开中断;IF=0表示8086CPU关中断。TF:陷阱标志或单步操作标志。TF=1表示8086CPU处于单步工作方式;TF=0表示8086CPU正常执行程序。,1.4.18086的基本结构,3、数据暂存寄存器:,1.4.18086的基本结构,功能:协助ALU完成运算,对参加运算的数据进行暂存。,4、通用寄存器组:,(1)通用寄存器(数据寄存器):AX、BX、CX、DX。可以作16位或作两个8位来使用。,(2)专用寄存器:,1.4.18086的基本结构,5、控制单元:,功能:接收从BIU的指令流队列中来的指令,经过指令译码器译码,形成各种控制信号,对EU的各个部件实现完成规定的操作。,总线接口部件BIU内部设有四个16位段地址寄存器:代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES,一个16位指令指针寄存器IP,一个6字节(对8086而言)指令队列缓冲器,20位地址加法器和总线控制电路。,二、总线接口部件BIU:,1.4.18086的基本结构,主要功能:根据执行部件EU的请求,负责完成CPU与存储器或I/O设备之间的数据传送。,1.4.18086的基本结构,1、指令队列缓冲器:,功能:用来暂存一组预取指令,即在执行指令的同时,从内存中取下一条指令,并放入指令队列缓冲器中。采用“先进先出”原则,顺序存放,顺序被取到EU中去执行。,2、指令指针寄存器IP:,它是一个16位的寄存器,存放EU要执行的下一条指令(预取指令)的偏移地址(段内地址),用以控制程序中指令的执行顺序,实现对代码段指令的跟踪。,1.4.18086的基本结构,3、地址产生器:,由于指令指针和通用寄存器都是16位,因而寻址范围只有64K字节。8086为了实现1MB的存储单元的寻址,采用分段管理方式。由段寄存器提供段地址,指令(IP)提供偏移地址,经地址产生器(加法器)运算产生20位的物理地址PA(PhysicalAddress),此地址也称为实际地址。,逻辑地址LA(LogicAddress):是在程序中使用的地址,它由段地址和偏移地址两部分组成(16位)。表示形式为:“段地址偏移地址”,1.4.18086的基本结构,补充:,物理地址PA:就是存储器的实际地址,它是指CPU和存储器进行数据交换时所使用的地址(20位)。,物理地址=段地址10H偏移地址,存储器中的每个存储单元都可以用两个形式的地址来表示:实际地址(或称物理地址)和逻辑地址。,1.4.18086的基本结构,段寄存器值,偏移量,+,物理地址,16位,4位,16位,20位,存储器物理地址的计算方法,段基址:CS、DS、ES、SS。偏移地址:IP、DI、SI、BP、SP等。,1.4.18086的基本结构,例题:计算逻辑地址035AH:32B8H的物理地址PA。,练习:计算逻辑地址1645H:3BA0H的物理地址PA。,4、总线控制逻辑:,1.4.18086的基本结构,功能:用来分时传送20位地址信号和16位数据信号、4位状态信号以及其他控制信号的输入与输出。,5、段寄存器:,CS:16位代码段寄存器DS:16位数据段寄存器ES:16位附加段寄存器SS:16位堆栈段寄存器,CS0000,IP,代码段,DS或ES0000,SI、DI或BX,SS0000,SP或BP,数据段,堆栈段,存储器,段寄存器和偏移地址寄存器组合关系,1.4.18086的基本结构,1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论