微机原理重要知识点.doc_第1页
微机原理重要知识点.doc_第2页
微机原理重要知识点.doc_第3页
微机原理重要知识点.doc_第4页
微机原理重要知识点.doc_第5页
已阅读5页,还剩124页未读 继续免费阅读

下载本文档

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

文档简介

第一章 计算机基础知识学习目标:1掌握常用进位计数制及其互相转换; 2掌握数的原码、反码、补码表示法,并熟练掌握补码加减运算; 3掌握BCD、ASCLL码; 4掌握软、硬件概念及相互关系; 5理解数的定点和浮点表示; 6了解汉字字符集及其编码;了解图信息数字化。教学重点:1计算机中的数制及其编码; 2微机的基本组成和工作原理。教学难点:1机器数和真值;2补码的表示方法和补码运算。教学内容:一、 计算机中的运算基础1. 数制及其转换 1)任意进制数的共同特点(n进制)n=2、8、10、16 n进制数最多是由n个数码组成 十进制数的组成数码为:09 二进制数的组成数码为:0、1 八进制数的组成数码为:07 十六进制数的组成数码为:09、AF 十六进制数和十进制数的对应关系是: 09相同,A-10,B-11,C-12,D-13,C-14,F-15 n进制数的基数或底数为n,作算术运算时,有如下特点: 低位向相邻高位的进位是逢n进1(加法); 低位向相邻高位的借位是以1当本位n(减法)。 各位数码在n进制数中所处位置的不同,所对应的权也不同 以小数点为分界点: 向左(整数部分):各位数码所对应的权依次是n0、n1、n2, 向右(小数部分):各位数码所对应的权依次是n-1、n-2、n-3, 例: 2)数制的转换 非十进制数十进制数 转换方法:按位权展开求和 例:101.11B = 1*22+1*20+1*2-1+1*2-2 = 4+1+0.5+0.25 = 5.75 F94H = 15*162+9*161+4*160 = 3988 注意点:只有十进制数的下标可以省略,其他进制数不可以省略。 十进制数非十进制数(K进制数) 转换方法:分成小数和整数分别转换。 整数部分:除K取余,直至商为0,先得的余数为低位; 小数部分:乘K取整,先得的整数为高位。 例:把3988转换成16进制数 十进制数转换为二进制数的另一种:逐次减2的最高次幂法。例:将1539转换为二进制数表示例:0001,1010,1110,1101,1011.0100B 1 A E D B 4 H 若十六进制数转换为二进制数,则将每一位拆成4位。 2. 模的概念 若a和b除以M,余数相等,则称a和b对于M是同余的,则可以写成:a = b(mod M) 容器的最大容量称为模。可写成:KM + X = X (mod M) 3. 有符号数在计算机中的表示方法 在计算机中,一个有符号数可以用原码、补码和反码表示。 1) 共同规律: 用0表示正号,用1表示负号,且摆放在数据的最高位,有符号数和无符号数表示的根本区别在于无符号数的最高位是数值位,有符号数的最高位是符号位; 同一正数的原、补、反码都相同。 定义区间均对模2n 而言,其中n表示有符号数的二进制代码位数。 2)其它规律: 任一负数的原码和对应的正数(绝对值相等)的原码仅是符号位不同; 任一负数的反码是对应的正数的反码的各位求反,反之亦然; 任一负数的补码是对应的正数的补码的各位求反,然后加1,反之亦然; 从定义区间上看 原码和反码的定义区间相同,是 2n-1X2n-1; 补码的定义区间是 2n-1X2n-1; 0的原码、反码有+ 0和- 0之分; 0的补码只有一种表达方式。 例1:设X = +97 求X原、X反、X补 (mod 28) 解:97=1100001B X原=01100001B; X反=X补=01100001B。 例2:设X = -97, 求X原、X反、X补 (mod 28) 解:97=1100001B X原=11100001B; X反=10011110B; X补=10011111B。 例3:设X = -137 求X原、X反、X补 (mod 29) 解:137=10001001B X原=110001001B; X反=101110110B; X补=101110111B。 4. 补码、反码加减运算规则: X+Y补=X补+Y补 X+Y反=X反+Y反 X-Y补=X补+-Y补 X-Y反=X反+-Y反 -Y补=Y补补 -Y反=Y反反 5. 基本名词 位:BIT,缩写为b; 字节:BYTE,由8位二进制数代码表示,缩写为B; 字:WORD,取决于计算机CPU的字长,内部寄存器的位数,其中8086CPU为16位,386、486CPU为32位; 千字节:1KB = 1024B = 210B , 兆字节:1MB = 220B, 吉字节:1GB = 230B=1024MB 太字节:1TB = 240B=1024GB 6. 带符号数运算时的溢出问题 溢出和进位的区别:进位是指最高位向更高位的进位,而溢出是指运算结果超出数所能表示的范围。 带符号数所能表示的范围:(若用n位二进制数码表示) 原码:-(2n-1-1)X2n-1-1 补码:-2n-1X2n-1-1 反码:-(2n-1-1)X2n-1-1 溢出的判断方法: 设CD7是符号位向更高位的进位,CD6是数值位向符号位的进位,则溢出可用V=CD7 CD6判断,V=1表示有溢出,V=0表示无溢出。 对于加减法,也可以这样判断,只有下述4中情况有可能产生溢出: 正数+正数,结果应为正,若为正,则无溢出;若为负,则有溢出。 负数+负数,结果应为负,若为负,则无溢出;若为正,则有溢出。 正数-负数,结果应为正,若为正,则无溢出;若为负,则有溢出。 负数-正数,结果应为负,若为负,则无溢出;若为正,则有溢出。 对于乘(除)法,乘积(商)超过了能存放的范围有溢出,否则无溢出。 其它情况肯定无溢出。 注意点:无符号数和带符号数表示方法的区别: 无符号数:无符号位,所有位都是数值位,即最高位也是数值位; 带符号数:有符号数,且在最高位,其余各位才是数值位。二、 计算机中数据的编码 1. 十进制数在计算机中的表示方法 BCD(Binary Coded Decimal)是用4位二进制代码表示一位十进制数,由于4位二进制代码表示16种状态,而十进制数只取其中10种状态。选择不同的对应规律,可以得到不同形式的BCD码。最常用的是8421BCD码。 例:59 = (0101,1001)BCD 465 = (0100,0110,0101)BCD (011010000010)BCD = (0110,1000,0010)BCD = 682 注意点:BCD码与二进制数之间不能直接转换,需将BCD码先转换成十进制数,再由十进制数转换为二进制数。与十六进制数的区别在于:组内逢2进1,组间逢十进1。 表1-1 8421 BCD码 十进制数 8421BCD码 十进制数 8421BCD码 0 0000 5 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 0100 9 1001 2. 字符在计算机中的表示方法 由于大、小写英文字母、09数字字符、标点符号、计算机特殊控制符一共不超过128个,所以只要用七位二进制数码来表示,称为ASCII码。国际标准为ISO-646,我国国家标准为GB1988。在计算机中,一个字符通常用一个字节(八位)表示,最高位通常为0或用于奇偶校验位。 例: A= 41H = 01000001B 0= 30H = 00110000B a= 61H = 01100001B ; = 3BH = 00111011B ISO2022标准在兼容ISO646的基础上扩展成8位码,可表示256个字符,扩充了希腊字母、数学符号、非拉丁字符、商用图符,游戏符号等。 3. 机器数和真值 机器数:是摆在计算机寄存器或存储器或I/O端口中的数; 真值:描述机器数对应于某一确定的码制就有唯一确定的值。 例:机器数34H,用原码表示为+52;用反码表示为+52;用补码表示为+52;用BCD码表示为34;用ASCII码表示为4。 即+52原=+52反=+52补=34H 34BCD = 34H 4ASCII = 34H 机器数97H,用原码表示为-23;用反码表示为-104;用补码表示为-105;用BCD码表示为97;用ASCII码表示为ETB。 三、汉字编码计算机系统中汉字在不同应用界面有不同的编码,如输入、存储、传输、交换、显示等不同场合同一汉字各有不同的编码,同一应用界面也存在多种汉字代码。 1 常用汉字字符集与编码 按使用频度可把汉字分为高频字(约100个)、常用字(约3000个)、次常用字(约4000个)、罕见字(约8000个)和死字(约45000个)。 我国1981年公布了“信息交换用汉字字符集基本集”(GB2312-80)。该标准选取6763个常用汉字和682个非汉字字符,为每个字符规定了标准代码。该字符集及其编码称为国标交换码,简称国标码。 GB2312字符集由三部分组成:第一部分是字母、数字和各种常用符号(拉丁字母、俄文字母、日文平假名与片假名、希腊字母、制表符等)共682个:第二部分是一级常用汉字3755个,按汉语拼音顺序排列:第三部分是二级常用汉字3008个,按偏旁部首排列。 GB2312国标字符集构成一个二维平面,分成94行94列,行号称为区号,列号称为位号,分别用七位二进制数表示。每个汉字或字符在码表中都有各自确定的位置,即有一个唯一确定的14位编码(7位区号在左,7位位号在右),用区号和位号作为汉字的编码就是汉字的区位码。GB2312-80字符集中字符二维分布如图1-1所示。 汉字的区位码与国标码不相同。为了正确无误地进行信息传输,不于ASCII码的控制代码相混淆,在区位码的区号和位号上各自加32(即20H),就构成了该汉字的国标码。 为了存储与处理方便,汉字国际码的高低七位各用一个字节(8位)来表示,即用两个字节表示一个汉字。在计算机中双字节汉字与单字节西文字符混合使用、处理,汉字编码的各个字节若不予以特别标识,就会与单字节的ASCII码混淆不清;为此,将标识汉字的两个字节编码的最高位置为1,这种最高位为1的双字节汉字编码就是中国大陆普遍采用的汉字机内码,简称内码,是计算机内部存储、处理汉字所使用的代码。内码、国BIAO 2码、区位码三者的关系是: 高字节内码=高字节国标码+80H=区码+20H+80H=区码+0A0H=区码+160 低字节内码=低字节国标码+80H=位码+20H+80H=位码+0A0H=位码+160 繁体汉字在一些地区和领域仍在使用,国家又制定出相应的繁体汉字字符集,国家标准代号是GB12345-90“信息交换用汉字编码字符集辅助集”,包含了717个图形符号和6866个繁体汉字。BIG5是我国台湾地区计算机系统中使用的汉字编码字符集,包含了420个图形符号和13070个繁体汉字(不用简体字)。 2通用编码字符集UCS 字符集的基本要素是字汇和代码;字汇应涵盖各个文种,满足已有的和潜在的应用要求;编码应统一简明,保证不同系统可直接进行信息交换。ISO/IEC10646,即“通用编码字符集”UCS(Universal Coded Character Set)规定了全世界现代书面语言文字所使用的全部字符的标准编码,用于世界上各种语言文字、字母符号的数字化表示、存储、传输、交换和处理,真正实现了所有字符在同一字符集内等长编码、同等使用的多文种信息处理。 1993年5月该标准的第一部分即ISO/IEC10646.1正式发布。我国国家标准GB13000和GB13000.1与上述两个标准相互对应,技术内容完全一致。 UCS编码字符集的总体结构有组、平面、行、字位构成四维编码空间,即UCS有00-7F共128个组、每个组有00-FF共256个平面、每个面有00-FF共256行、每行有00-FF共256个字(位)每个字位用八位二进制数(一个字节)表示。这样,UCS中每一个字符用四个字节编码,对应每个字符在编码空间的组号、平面号、行号和字位号,称为四八位正则形式,记作UCS-4。UCS-4提供了极大的编码空间,可安排多达13亿个字符,充分满足世界上多种民族语言文字信息处理的需要。 3、汉字的输入 向计算机输入汉字信息的方法很多,众多的汉字输入方法可归纳成三大类:键盘输入法、字形识别法和语音识别法。其中语音识别法在一定条件下能达到某些预期效果(接近实用),字形识别法中的印刷汉字扫描输入自动识别已广泛应用于文献资料录排存挡,手写汉字联机识别已达到实用的水平,而普通广泛采用的汉字输入方法仍是简便的在英文键盘上输入汉字的方法。汉字数量庞大,无法使每个汉字与键盘上的键一一对应,因此每个汉字须用几个键符编码表示,这就是汉字的输入编码。 汉字输入编码多达几百种,可归纳为四类:数字编码、字音编码、字形编码和音形编码。不管采用哪一种输入编码,汉字在计算机中的内码、交换码都是一样的,由该种输入方法的程序自动完成输入码到内码的转换。 4汉字的输出 在计算机内部,只对汉字内码进行处理,不涉及汉字本身的形象字形。若汉字处理的结果直接供人使用,则必须把汉字内码还原成汉字字形。一个字符集的所有字符的形状描述信息集合在一起称为该字符集的字形信息库,简称字库。不同的字体(如宋、仿、楷、黑等)有不同的字库。每个输出一个汉字,都必须根据内码到字库中找出该汉字的字形描述信息,再送去显示或打印。 描述字符(包括汉字)字形的方法主要有两种:点阵字型和轮廓字形。 点阵字形由排成方阵(如 1616、2424、4848)的一组二进制数字表示一个字符,1表示对应位置是黑点,0表示对应位置是空白。1616点阵字形常用于屏幕显示,笔画生硬、细节难以区分:打印输出常用2424、4040、4848、等等甚至9696。点阵的数目越多,笔锋越完整,字迹亦清晰美观。 轮廓字行表示比较复杂。该方法用一组直线和曲线来勾画字符(如汉字、字母、符号、数字等)的笔画轮廓,记下构成字符的每一条直线和曲线的数学描述(端点和控制点的坐标)。轮廓字符描述的精度高,字形可任意缩放而不变形,也可按需要任意变化。轮廓字形在输出之前必须通过复杂的处理转换成点阵形式。Windows True Type 字库就是典型的轮廓字符表示法。 四、微机系统的基本组成由硬件系统和软件系统两部分组成,并采用总线结构。 1. 硬件系统 是指构成微机系统的全部物理装置。 通常,计算机硬件系统由五部分组成: 1)存储器:用来存放数据和程序,例如半导体存储器、磁介质存储器; 2)微处理器(包括运算器和控制器):运算器用来完成二进制编码的算术和逻辑运算; 控制器控制计算机进行各种操作的部件; 3)输入设备及其接口电路:用来输入数据、程序、命令和各种信号,例如键盘、鼠标器等; 4)输出设备及其接口电路:用来输出计算机处理的结果,例如打印机、CRT等。 微机硬件系统只不过把运算器和控制器用大规模集成电路工艺技术集成在一块芯片上,这块芯片称为CPU(中央处理单元),其余组成部分同上。 5)网络设备 2. 软件系统 是指计算机所编制的各种程序的集合。可分为两大类: 1)系统软件 用来实现对计算机资源管理、控制和维护,便于人们使用计算机而配置的软件,该软件由厂家提供。它包括操作系统(或监控管理程序),各种语言的汇编、解释、编译程序,数据库管理程序,编辑、调试、装配、故障检查和诊断等工具软件。 操作系统在系统软件中具有特殊地位。只要计算机处于工作状态,就有操作系统的有关部分在内存储器中,负责接受、分析并调度执行用户的程序和各种命令,DOS及WINDOWS是目前最流行的微机操作系统。 2)应用软件 是指用户利用计算机以及它所提供的各种系统软件编制的解决各种实际问题的程序。它包括支撑软件和用户自己编制的程序。 支撑软件有: 文字处理软件:Wordstar、Write、Wps、Wode、中文之星等; 表格处理软件:Lotus1-2-3、CCED、Excel等; 图形处理软件:AutoCAD、TANGO、Powerpoint、PROTEL98以及2000等; 图文排版软件:华光、科印、方正等; 防治病毒软件:SCAN、KILL、CLEAN、MSAV、KV3000; 工具软件:PCTOOLS等。 套装软件:Microsoft-office,它基于Windows,包括Word、Excel、Powerpoint、MS Mail等。 3. 软、硬件的关系 硬件系统是人们操作微机的物理基础,软件系统是人们与微机系统进行信息交换、通信对话、按人的思维对微机系统进行控制和管理的工具。 关系如下: 用户 各种应用软件 各种系统软件 微机硬件系统 4. 微机的总线结构 1) 总线:是指连接多于两个不见的公共信息通路,或者说是多个部件之间的公共连线。 2) 按照总线上传送信息内容分类: 数据总线DB:传送数据信息; 控制总线CB:传送控制信息,确定数据信息的流向; 地址总线AB:传送地址信息,确定数据信息的传送地址。 第二章8086/8088微处理器学习目标: 1掌握CPU寄存器结构、作用,存储器分段与物理地址形成; 2了解微处理器的发展。3掌握CPU引脚功能,理解存储器读/写时序;最小/最大模式的概念。 教学重点: 1 8086微处理器结构: CPU内部结构:总线接口部件BIU,执行部件EU; CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器; 2 8086微机系统存储器结构: 存储器地址空间与数据存储格式; 存储器组成;存储器分段。 3CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚; 4存储器读/写时序。教学难点: 1存储器的地址表达方式。2引脚功能,最小/最大模式系统形成; 3存储器读/写时序。教学内容:一、8086/8088CPU的结构8086/8088 CPU的内部结构 8086/8088 CPU的内部是由两个独立的工作部件构成,分别是总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。图中虚线右半部分是BIU,左半部分是EU。两者并行操作,提高了CPU的运行效率。 1)指令执行部件 指令执行部件EU主要由算术逻辑运算单元ALU、标志寄存器FR、通用寄存器组和EU控制器等四个部件组成。其主要功能是执行命令。一般情况下指令顺序执行,EU可不断地从BIU指令队列缓冲器中取得执行的指令,连续执行指令,而省去了访问存储器取指令所需的时间。如果指令执行过程中需要访问存储器存取数据时,只需将要访问的地址送给BIU,等待操作数到来后再继续执行。遇到转移类指令时则将指令队列中的后续指令作废,等待BIU重新从存储器中取出新的指令代码进入指令队列缓冲器后,EU才能继续执行指令。这种情况下,EU和BIU的并行操作回受到一定的影响,但只要转移类指令出现的频率不是很高,两者的并行操作仍然能取得较好的效果。 EU中的算术逻辑运算部件ALU可完成16位或8位二进制数的运算,运算结果一方面通过内部总线送到通用寄存器组或BIU的内部寄存器中以等待写到存储器;另一方面影响状态标志寄存器FR的状态标志位。16位暂存器用于暂时存放参加运算的操作数。 EU控制器则负责从BIU的指令队列缓冲器中取指令、分析指令(即对指令译码),然后根据译码结果向EU内部各部件发出控制命令以完成指令的功能。 2)总线接口部件BIU 总线接口部件BIU主要有地址加法器、专用寄存器组、指令队列缓冲器以及总线控制电路等四个部件组成。其主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。BIU中地址加法器将来自于段寄存器的16位地址段首地址左移4位后与来自于IP寄存器或EU提供的16位偏移地址相加(通常将“段首地址:偏移地址”称为逻辑地址),形成一个20位的实际地址(又称为物理地址),以对1MB的存储空间进行寻址。具体讲:当CPU执行指令时,BIU根据指令的寻址方式通过地址加法器形成指令在存储器中的物理地址,然后访问该物理地址所对应的存储单元,从中取出指令代码送到指令队列缓冲器中等待执行。指令队列一共6个字节(8088的指令队列为4个字节),一旦指令队列中空出2个(8086中)或一个(8088中)字节,BIU将自动进入读指令操作以填满指令队列;遇到转移类指令时,BIU将指令队列中的已有指令作废,重新从新的目标地址中取指令送到指令队列中;当EU需要读写数据时,BIU将根据EU送来的操作数地址形成操作数的物理地址,从中读取操作数或者将指令的执行结果传送到该物理地址所指定的内存单元或外设端口中。 BIU的总线控制电路将CPU的内部总线与外部总线相连,是CPU与外部交换数据的通路。对于8086而言,BIU的总线控制电路包括16条数据总线、20条地址总线和若干条控制总线;而8088的总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与通用寄存器组之间的数据总线宽度也是8位,而EU内部总线仍是16位,这也是将8088称为准16位的微处理器的原因。 3)8086/8088 CPU寄存器阵列(寄存器组) 8086/8088 CPU中有14个16位的寄存器,按用途分为四类: 通用寄存器:8个,分为两组: 数据寄存器:累加器AX、基址寄存器BX、计数寄存器CX、数据寄存器DX,每个数据寄存器可存放16位操作数,也可拆成两个 8位寄存器,用来存放8位操作数,AX、BX、CX、DX分别可拆成AH、AL、BH、BL、CH、CL、DH、DL,其中AH、BH、CH、DH为高八位,AL、BL、CL、DL为低八位; 指针和变址寄存器:堆栈指针SP、基址指针BP、源变址寄存器SI、目的变址寄存器DI,可用来存放数据和地址,但只能按16位进行存取操作。 通用寄存器的特定用法见表2.1。 段寄存器:4个 代码段寄存器CS:用于存放当前代码段的段地址; 数据段寄存器DS:用于存放当前数据段的段地址; 附加段寄存器ES:用于存放当前附加段的段地址; 堆栈段寄存器SS:用于存放当前堆栈段的段地址。 专用寄存器:两个 标志寄存器FR:仅定义了9位,其中6位用作状态标志,3位用作控制标志。 a. 状态标志位用来反映EU执行算术或逻辑运算的结果特征,6个状态位如下: 进位标志CF:当加法运算有进位,减法运算有借位时,CF=1,否则CF=0; 辅助进位标志AF:在字节操作时,低4位向高4位有进位(加法)或有借位(减法);在字操作时,低字节向高字节有进位(加法)或有借位(减法)时,则AF=1,否则AF=0。 奇偶校验标志PF:当运算结果低8位“1”的个数为偶数时,PF=1,否则PF=0; 零标志ZF:当运算结果位0时,ZF=1,否则ZF=0; 溢出标志OF:在有符号数的算术运算时,当运算结果有溢出时,OF=1,否则OF=0; 符号标志SF:在有符号数的算术运算时,当运算结果为负时,SF=1,否则SF=0; b. 控制标志位用来控制CPU的操作,3个标志位如下: 方向标志DF:当DF=0时,在串操作指令中,进行自动增址操作;当DF=1时,在串操作指令中,进行自动减址操作; 中断允许标志IF:当IF=0时,禁止CPU响应可屏蔽中断;当IF=1时,允许CPU响应可屏蔽中断; 单步陷阱标志TF:当IF=1时,表示CPU进入单步工作方式;当IF=0时,表示CPU正常执行程序。 8086/8088 CPU寄存器结构见图2.1。 指令指针IP:用来存放要取的下一条指令在当前代码段中的偏移地址,程序不能直接访问IP,在程序运行过程中,BIU可修改IP中内容。 二、 8086/8088存储器的结构1. 存储器地址空间与数据存储格式 1)地址空间:1MB,地址范围:00000HFFFFFH 2)数据存储格式: 每个存储单元存储一个字节的数据,存取一个字节的数据需一个总线周期。两个相邻的字节定义为一个字。每一个字的低字节存放在低地址中,高字节存放在高地址中,并以低字节的地址作为字地址。若字地址为偶地址,则称为对准字存放,存取一个字也只需要一个总线周期;若字地址为奇地址,则称为非对准字存放,存取一个非对准字需要两个总线周期。见表2.4。 表2. 4 BHE和AD0的不同组合状态 操 作 AD0 使用的数据引脚 读或写偶地址的一个字 0 0 AD15AD0 读或写偶地址的一个字节 1 0 AD7AD0 读或写奇地址的一个字节 0 1 AD15AD8 读或写奇地址的一个字 0 1 1 0 AD15AD8(第一个总线周期放低位数据字节) AD7AD0(第二个总线周期放高位数据字节) 2. 存储器的组成 1MB存储空间分成两个512KB存储器,即: 偶地址存储器:(A0=0),其数据线与8086CPU系统的D7D0相连,A0=0用于片选; 奇地址存储器:(A0=1),其数据线与8086CPU系统的D15D8相连, =0用于片选; 3. 存储器分段 由于CPU内部寄存器是16位,只能寻址64KB,故把1MB存储空间划分为四个逻辑段,逻辑段彼此独立,但可紧密相连,也可重叠,在整个1MB存储空间浮动,仅需改变段寄存器内容。一般把存储器划分为:程序区、数据区和堆栈区。这样,就可以在 程序区中存储程序的指令代码,在数据区中存储原始数据、中间结果和最后结果,在堆栈区中存储压入堆栈的数据或状态信息。8086/8088CPU通常按信息特征区分段寄存器的作用,如CS提供程序存储区的段地址,DS和ES提供存储源和目的数据区的段地址,SS提供堆栈区的段地址。 由于系统中只设有4个段寄存器,任何时候CPU只能识别当前可寻址的4个逻辑段。如果程序量或数据量很大,超过64K字节,那么可定义多个代码段、数据段、附加段和堆栈段,但4个段寄存器中必须是当前正在使用的逻辑段的基地址,需要时可修改这些段寄存器的内容,以扩大程序的规模。 段地址:每个逻辑段起始地址的高16位,即段寄存器的内容,无符号数; 段基地址:每个逻辑段起始地址; 逻辑地址:段地址:偏移地址,在程序中使用; 物理地址:存储单元的实际地址,物理地址=段地址*16+偏移地址; 偏移地址:相对段基地址的偏移量,无符号数,也称有效地址EA。 四、堆栈段 堆栈是以“后进先出”的原则暂存一批需要保护的h数据或地址的一个特定存储区。 堆栈段段地址由SS提供,偏移地址由SP提供,SP始终指向栈顶。堆栈操作有压栈(PUSH)和出栈(POP)两种,均以字为单位。 压栈过程:例PUSH AX SPSP-1 (SP)AH SPSP-1 (SP)AL 出栈过程:例POP BX BL(SP) SPSP+1 BH(SP) SPSP+1 三、微处理器的发展随着VLSI大规模集成电路和计算机技术的飞速发展,微处理器的面貌日新月异,从单片集成上升到系统集成,性能价格比不断提高,微处理器字长从4位8位16位32位64位,工作频率从不到1MHz到目前的1.3GHz,发展之快,匪夷所思。 180286微处理器 80286芯片内含13.5万个晶体管,集成了存储管理和存储保护机构,80286将8086中BIU的EU两个处理单元进一步分离成四个处理单元,它们分别是总线单元BU、地址单元AU、指令单元IU和执行单元EU。BU和AU的操作基本上和8086的BIU一样,AU专门用来计算物理地址,BU根据AU算出的物理地址预取指令(可多达6个字节)和读写操作数。 80286内部有15个16位寄存器,其中14个与8086寄存器的名称和功能完全相同。不同之处有二:其一标志寄存器增设了2个新标志,一个为I/O特权层标志IOPL(I/O Privilege),占D13D12两位,有00、01、10、11四级特权层:其二增加了一个16位的机器状态字(MSW)寄存器,但只用了低4位,D3为任务转换位TS,D2为协处理器仿真位EM,D1为监督协处理器位MP,D0为保护允许位PE;其余位都空着未用。 80286有24根地址线,16根数据线,16根控制线(其中输出的状态线8根,输入的控制线8根),地址线和数据线、状态线不再分时复用。80286封装在68条引脚的正方形管壳中,管壳四面引脚。68根引脚中有5条引脚未编码(NC),Vcc有2条,Vss有3条,各引脚的符号和名称如表2.5所示。 表2.5 80286引脚符号和名称 符号 I/O 名称 符号 I/O 名称 CLK I 系统时钟 INTR I 中断请求 D15D0 I/O 数据总线 NMI I 不可屏蔽中断请求 A23A0 O 地址总线 PEREQ I 协处理器操作数请求 O总线高字节有效 O 协处理器操作数响应 O总线周期状态 I 协处理器忙 M/ O存储器/IO选择 I 协处理器出错 COD/ O代码/中断响应 RESET I系统总清 : O总线封锁 Vss I系统地 I总线准备就绪 Vcc I+5V电源 HOLD I总线保持请求 CAP I 衬底滤波电容器 HLDA O总线保持响应 80286对8086基本指令集进行了扩展。 280386微处理 80386CPU内部结构由6个逻辑单元组成,它们分别是:总线接口部件BIU(Bus Interface Unit)、指令预取部件IPU(Instruction Prefetch Unit)、指令译码部件IDU(Instruction 表2.6 80386引脚名称和功能 信号名称 信号功能 有效状态 输入/输出 CLK2 时钟 - I D31D0 数据总线 - IO 字节使能 低 O A31A0 地址总线 - O W/ 写读指示 - O D/ 数据-控制指示 - O M/ 存储器-I/O指示 - O 总线封锁指示 低 O 地址状态 低 O 下地址请求 低 I 总线宽度16位 低 I 传送认可(准备好) 低 I HOLD 总线占用请求 高 I HLDA 总线占用认可 高 O PEREQ 协处理器请求 高 I 协处理器忙 低 I 协处理器出错 低 I INTR 可屏蔽中断请求 高 I NMI 不可屏蔽中断请求 高 I RESET 复位 高 I Decode unit)、执行部件EU(Execution Unit)、段管理部件SU(Segment Unit)和页管理部件PU(Paging Unit)。CPU采用流水线方式,可并行地运行取指令、译码、执行指令、存储管理、总线与外部接口等功能,达到四级并行流水操作(取指令、指令译码、操作数地址生成和执行指令操作)。 80386采用PGA(管脚栅格阵列)封装技术,芯片封装在正方形管壳内,管壳每边三排引脚,共132根。80386管脚名称和功能见表2.6。 380486微处理器 Intel公司于1989年推出了第二代32位微处理器80486。集成度是386的4倍以上,168个引脚,PGA封装,体系结构与386几乎相同,但在相同的工作频率下处理速度比386提高了24倍,80486的工作频率最低为25MHz,最高达到132MHz。其主要特点如下: (1)采用精简指令系统计算机RISC(Reduced Instruction Set Computer)技术,减少不规则的控制部分,从而缩减了指令的译码时间,使微处理器的平均处理速度达到1.2条指令/时钟。 (2)内含8KB的高速缓存(Cache),用于对频繁访问的指令和数据实现快速的存取。如果CPU所需要的指令或数据在高速缓存中(即命中),则勿需插入等待状态便直接把指令或数据从Cache中取到;相反,如果未命中,CPU便从主存中读取指令或数据。由于存储访问的局部性,高速缓存的“命中”率一般很高,使得插入的等待状态很少,同时高“命中率”必然降低外部总线的使用频率,提高了系统的性能。 (3)80486芯片内包含有与独立的80387完全兼容且功能又有所扩充的片内80387协处理器,称作浮点运算部件(FPU)。 (4)80486采用了猝发式总线(Burst Bus)技术,系统取得一个地址后,与该地址相关的一组数据都可以进行输入/输出,有效地解决了CPU与存储器之间的数据交换问题。 (5)80486CPU与8086/8088的兼容性是以实地址方式来保证的。其保护地址方式和80386指标一样,80486也继承了虚拟8086方式。 (6)80486CPU的开发目标是实现高集成化,并支持多处理机系统。可以使用N个80486构成多处理机的结构。 4Pentium微处理器 1993年3月Intel公司推出Pentium微处理器,后又相继推出了高能奔腾Pentium Pro、多能奔腾Pentium MMX以及奔腾第二代(P)、第三代(P)和P4。奔腾机主频也从最初的60MHz提高到1GHz以上。Pentium芯片内含310万个晶体管,原来被置于片外的单元如数学协助处理器和Cache等,被集成到片内,速度得到显著的提高。Pentium的设计中采用了新的体系结构,大大提高了CPU的主体性能。第一代奔腾芯片内置32位地址总线和64位数据总线以及浮点运算单元、存储管理单元和两个8KB的Cache(分别用于指令和数据),还有一个SMM(System Management Mode)系统管理模式。 Pentium新型体系结构可以归纳为以下四个方面: (1)超标量流水线 超标量流水线(Superscalar)设计是Pentium处理器技术的核心,它由u与v两条指令流水线构成。每条流水线都拥有自己的ALU、地址生成电路和数据Cache接口。这种流水线结构允许Pentium在单个时钟周期内执行两条整数指令,比相同频率的80486CPU性能提高了一倍。与80486流水线相类似,Pentium的每一条流水线也分为5个步骤:指令预取、指令译码、地址生成、指令执行、回写。当一条指令完成预取步骤,流水线就可以开始对另一条指令的操作。但与80486不同的是,由于Pentium的双流水线结构,它可以一次执行两条指令,每条流水线中执行一条。这个过程称为“指令并行”。在这种情况下,要求指令必须是简单指令,且v流水线总是接受u流水线的下一条指令。但如果两条指令同时操作产生的结果发生冲突时,则要求Pentium还必须借助与适用的编译工具产生尽量不冲突的指令序列,以保证其有效使用。 (2)独立的指令Cache和数据Cache 80486片内有8KB的Cache,而Pentium有2个8KB的Cache,指令和数据各使用一个Cache,使Pentium的性能大大超过80486微处理器。例如,流水线的第一步骤为指令预取,在这一步中,指令从指令Cache中取出来,如果指令和数据合用Cache,则指令预取和数据操作之间将很可能发生冲突。而提供两个独立Cache将可避免这种冲突并允许两个操作同时进行。 (3)重新设计的浮点运算单元 Pentium的浮点单元在80486的基础上进行了彻底的改进,每个时钟周期能完成一个或两个浮点运算。 (4)分支预测 循环操作在软件设计中使用十分普通,而且每次在循环中对循环条件的判断占用了大量的CPU时间,为此,Pentium提供一个称为分支目标缓冲器BTB(Branch Target Buffer)的小Cache来动态地预测程序分支,提高循环程序运行速度。 四、8086/8088 CPU芯片的引脚及其功能8086/8088 CPU具有40条引脚,双列直插式封装,采用分时复用地址数据总线,从而使8086/8088 CPU用40条引脚实现20位地址、16位数据、控制信号及状态信号的传输。8086/8088 CPU芯片可以在两种模式下工作,即最大模式和最小模式。 最大模式:指系统中通常含有两个或多个微处理器(即多微处理器系统),其中一个主处理器就是8086/8088 CPU,另外的处理器可以是协处理器I/O处理器。 最小模式:在系统中只有8086/8088一个微处理器。 1. 两种模式公用的引脚的定义 AD0AD15(Address/Data Bus):分时复用的地址数据线。双向。 在了解分时复用的概念之前必须先了解总线周期概念: 总线周期:CPU对存储单元或I/O端口每读/写一次数据(一个字节或一个字)所需的时间称为一个总线周期。通常情况下,一个总线周期分为4个时钟周期,即T1、T2、T3、T4。 下面讲解AD15AD0的具体分时复用的问题:(8088只有AD7AD0) 在T1期间作地址线A15A0用,此时是输出的(是存储单元的低十六位地址或I/O端口的十六位地址); 在T2T4期间作数据线D15D0用,此时是双向的。 A19/S6A16/S3:分时复用,输出引脚。 在T1期间,作地址线A19A16用,对存储单元进行读写时,高四位地址线由A19A16给出; 在T2T4期间作为S6S3状态线用。 状态线的特征如下: S5:用来表示中断允许状态位IF的当前设置。 S6:恒为“0”,以表示CPU当前连在总线上。 /S7:三态输出,高8位数据总线有效/状态复用引脚。(8088是 /S7) 在T1状态:作 用,该引脚为0时,表示高8位数据线上的数据有效; 在T2T4状态:输出状态信号S7,未定义。 GND :地线(两个),分别为引脚1和20; :读,三态输出,当 =0时,表示CPU当前正在读存储器或I/O接口。 READY:准备就绪,输入。当CPU要访问的存储器或I/O端口已准备好传送数据时,存储器或I/O端口置READY=1,否则置READY=0,CPU在T3状态采样READY,若READY=0,则插入Tw,然后在插入Tw状态继续采样READY,直至READY=1为止,才进入T4。 :输入,测试信号。当CPU执行WAIT指令时,CPU每隔5个T对TEST进行一次测试,当测试到 =1,则CPU重复执行WAIT指令,即CPU处于空闲等待状态,直到测试到 =0时,等待状态结束,CPU继续执行后续指令。 INTR:输入,可屏蔽中断请求,高电平有效,当外设向CPU提出中断请求时,置INTR=1,若此时IF=1,则CPU响应中断。 NMI:输入,非可屏蔽中断请求,上升沿有效。只要CPU采样到NMI由低电平到高电平的跳变,不管IF的状态如何,CPU都会响应。 RESET:输入,复位。该引脚保持4T状态以上时间高电平,则可复位,复位后,CPU停止当前操作,且对F、IP、DS、SS、ES及指令队列缓冲器清零,而CS置为FFFFH。复位后,CPU从FFFF0H开始执行程序。

温馨提示

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

评论

0/150

提交评论