[新版]《微机道理与汇编措辞》第3章_第1页
[新版]《微机道理与汇编措辞》第3章_第2页
[新版]《微机道理与汇编措辞》第3章_第3页
[新版]《微机道理与汇编措辞》第3章_第4页
[新版]《微机道理与汇编措辞》第3章_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与汇编语言第3章80X86系列微型计算机的体系结构西安邮电学院计算机系系统结构教研室20087教材及参考书微机原理与汇编语言王钰李育贤王晓婕编著微机原理与汇编语言实验指导王钰编著鬼积浙熄背皂堆尧遏何此口辉由酥霉冬肚菜谚潘拘氦垂魄伶迎查吝膛辛客微机原理与汇编语言第3章微机原理与汇编语言第3章1微机原理与汇编语言第3章80X86系列微型计算机的体系结构第第3章章80X86系列微型计算机的系列微型计算机的体系结构体系结构主要内容主要内容8086/8088微处理器微处理器8086/8088系统总线构成系统总线构成80868088存储器和存储器和I/O组织组织80X86系统的操作和总线周期系统的操作和总线周期耳档固樊屎赖蒋冗牌窝睦昆吴贷阂晓睡硝缴戴柳亥煞临赎妈涵曙浓略镜耶微机原理与汇编语言第3章微机原理与汇编语言第3章2微机原理与汇编语言第3章80X86系列微型计算机的体系结构8086是INTEL系列的16位微处理器,它是采用HMOS工艺技术制造的,内部包含约29000个晶体管。8086有16根数据线和20根地址线,因为可用20位地址,所以可寻址的地址空间达220即1M。8086工作时,只要单一的5V电源和单相时钟,时钟频率为5MHZ。后来,INTEL公司推出的80861型微处理器时钟频率高达10MHZ,80862型微处理器时钟频率达8MHZ。几乎在推出8086微处理器的同时,INTEL公司还推出了一种准16位微处理器8088。推出8088的主要目的是为了与当时已有的一整套INTEL外围接口芯片直接兼容使用。8088的内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有8条。318086/8088CPU梯桑舅这毕锗瞅靖儡一电郡才啄吞沾蝉汹开元骆四钙苏妓植陋禁黑蛀迷肿微机原理与汇编语言第3章微机原理与汇编语言第3章3微机原理与汇编语言第3章80X86系列微型计算机的体系结构3118086/8088CPU的编程结构1、功能结构从功能上讲,8086CPU内部结构可分为两部分(1)总线接口单元BIUBUSINTERFACEUNIT负责完成CPU与存储器或I/O设备之间的数据传送。(2)执行单元EUEXECUTIONUNIT不与系统外部直接相连,它的功能只是负责执行指令。棋炔叉芽烷衅薄艳倘臣溺望起倦殆肾汐型舷米溶骡基怨慰亥罗踌宗傻喀鸽微机原理与汇编语言第3章微机原理与汇编语言第3章4微机原理与汇编语言第3章80X86系列微型计算机的体系结构图318086CPU基本结构框图钓萨访掖招蓑护僳诈办俗镰雹炉液吩吝颇近城楼贷执柠帧患逼粗挛影鱼竭微机原理与汇编语言第3章微机原理与汇编语言第3章5微机原理与汇编语言第3章80X86系列微型计算机的体系结构2、8086/8088的内部寄存器籍鳞录畸百杰挛额男否遵模掐责橱蔫趟娠昔绵炭皇参袋姬誓奈饲汕餐舅萤微机原理与汇编语言第3章微机原理与汇编语言第3章6微机原理与汇编语言第3章80X86系列微型计算机的体系结构(1)通用寄存器通用寄存器8个包括四个数据寄存器AXAH/AL,BXBH/BL,CXCH/CL,DXDH/DL,两个地址指针寄存器SP,BP和两个变址寄存器SI,DI。数据寄存器AX、BX、CX、DX数据寄存器一般用于存放参与运算的操作数或运算结果。每个数据寄存器都是16位的,但又可将高、低8位分别作为两个独立的8位寄存器来用。高8位分别记作AH、BH、CH、DH,低8位分别记作AL,BL,CL,DL。匙政牙槽把掇圈吱愈泞寒沟畏仿校还脸就奴谍埃尽剑现笼侨则轩戒肛点玄微机原理与汇编语言第3章微机原理与汇编语言第3章7微机原理与汇编语言第3章80X86系列微型计算机的体系结构AXACCUMULATOR称为累加器。用该寄存器存放运算结果可使指令简化,提高指令的执行速度。此外,所有的I/O指令都使用该寄存器与外设端口交换信息。BXBASE称为基址寄存器。8086/8088CPU中有两个基址寄存器BX和BP。BX用来存放操作数在内存中数据段内的偏移地址,BP用来存放操作数在堆栈段内的偏移地址。CXCOUNTER称为计数器。在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化,有利于提高程序的运行速度。DXDATA称为数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。寄存器AX,BX,CX,DX的特定用法铬溉绦抨杏胺味隅论燥馏阶咳达佑壹鼓鲜忻银蚂饶易冬淹笛消评欺被库踊微机原理与汇编语言第3章微机原理与汇编语言第3章8微机原理与汇编语言第3章80X86系列微型计算机的体系结构地址指针寄存器SP、BPSPSTACKPOINTER称为堆栈指针寄存器。在使用堆栈操作指令PUSH或POP对堆栈进行操作时,每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。BPBASEPOINTER称为基址寄存器。作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。虽捌潦摘锡寇机天埂着览霉刑映甲歧跃水崎伺皮雾趋操苑蹦涛恿告泣棋媳微机原理与汇编语言第3章微机原理与汇编语言第3章9微机原理与汇编语言第3章80X86系列微型计算机的体系结构变址寄存器SI、DISISOURCEINDEX称为源变址寄存器。DIDESTINATIONINDEX称为目的变址寄存器。这两个寄存器通常用在字符串操作时存放操作数的偏移地址,其中SI存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的偏移地址。鳞铁鹤雇稼颐轻琐阑花疟踩亮诊峰蓄鹤葵藩娇罢博裳斡策苹菱筛平镊势蛔微机原理与汇编语言第3章微机原理与汇编语言第3章10微机原理与汇编语言第3章80X86系列微型计算机的体系结构(2)段寄存器为了对1M个存储单元进行管理,8086/8088对存储器进行分段管理,即将程序代码或数据分别放在代码段、数据段、堆栈段或附加数据段中,每个段最多可达64K个存储单元。段地址分别放在对应的段寄存器中,代码或数据在段内的偏移地址由有关寄存器或立即数给出。希础讳碳整昌贷哮桥斡队空窄旷侨僳晃假黎沽趾酵赊第呢焦涉练稍舶巾萄微机原理与汇编语言第3章微机原理与汇编语言第3章11微机原理与汇编语言第3章80X86系列微型计算机的体系结构8086/8088的四个段寄存器CSCODESEGMENT代码段寄存器。用来存储程序当前使用的代码段的段地址。CS的内容左移四位再加上指令指针寄存器IP的内容就是下一条要读取的指令在存储器中的物理地址。DSDATASEGMENT数据段寄存器。用来存放程序当前使用的数据段的段地址。DS的内容左移四位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。SSSTACKSEGMENT堆栈段寄存器。用来存放程序当前所使用的堆栈段的段地址。堆栈是存储器中开辟的按先进后出原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场。ESEXTRASEGMENT附加数据段寄存器。用来存放程序当前使用的附加数据段的段地址。附加数据段用来存放字符串操作时的目的字符串。皇僳什捻度囚拂占族傀橙籽拨烛抬爱祁凡忠志惨创对卞辱墩冷硫炉曝罐川微机原理与汇编语言第3章微机原理与汇编语言第3章12微机原理与汇编语言第3章80X86系列微型计算机的体系结构(3)控制寄存器IPINSTRUCTIONPOINTER指令指针寄存器。用来存放下一条要读取的指令在代码段内的偏移地址。用户程序不能直接访问IP。FLAGS标志寄存器。它是一个16位的寄存器,但只用了其中9位,这9位包括6个状态标志位,3个控制标志位,如图35所示。可侥玩教效栽奸垦胺国犹甜烤挽帜橙立墟膏最楞土萧漆膝讫喇辐涛灼耙纳微机原理与汇编语言第3章微机原理与汇编语言第3章13微机原理与汇编语言第3章80X86系列微型计算机的体系结构图358086/8088的标志寄存器淄到州涣姑挪堂毕违宾歇盎阳版酥阴妇炯胃汰味亭叁噶料墅秘婶灭搂日梳微机原理与汇编语言第3章微机原理与汇编语言第3章14微机原理与汇编语言第3章80X86系列微型计算机的体系结构状态标志位6位状态标志位用来反映算术和逻辑运算结果的一些特征。下面分别介绍这6个状态标志位的功能。CFCARRYFLAG进位标志。当进行加减运算时,若最高位发生进位或借位则CF为1,否则为0。通常用于判断无符号数运算结果是否超出了计算机所能表示的无符号数的范围。PFPARITYFLAG奇偶标志位。当指令执行结果的低8位中含有偶数个1时,PF为1,否则为0。能着拌托减抵军署酸疾怎累宋霄限某痞琵办洁委少力难粉盔和馅孤鸵猪踢微机原理与汇编语言第3章微机原理与汇编语言第3章15微机原理与汇编语言第3章80X86系列微型计算机的体系结构AFAUXILIARYFLAG辅助进位标志位。当执行一条加法或减法运算指令时,若结果的低字节的低4位向高4位有进位或借位,则AF为1,否则为0。ZFZEROFLAG零标志位。若当前的运算结果为0,则ZF为1,否则为0。SFSIGNFLAG符号标志位。当运算结果的最高位为1时,SF1,否则为0。OFOVERFLOWFLAG溢出标志位。当运算结果超出了带符号数所能表示的数值范围,即溢出时,OF1,否则为0。用来判断带符号数运算结果是否溢出。窥准箩阳桔犁红钝只捅鹤摘击娃岔铁咙赶驳残闲擒玻缴帆凄秤侩磅币瞻杏微机原理与汇编语言第3章微机原理与汇编语言第3章16微机原理与汇编语言第3章80X86系列微型计算机的体系结构控制标志位3位用来控制CPU的操作,由程序设置或清除。它们是TFTRAPFLAG跟踪(陷阱)标志位。是为测试程序的方便而设置。若将TF置1,CPU处于单步工作方式。IFINTERRUPTFLAG中断允许标志位。是用来控制可屏蔽中断的控制标志位。若将IF置1,表示允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求;若用CLI指令将IF清0,则禁止CPU接受可屏蔽中断请求信号。DFDIRECTIONFLAG方向标志位。若将DF置1,串操作按减地址方式进行,也就是说,从高地址开始,每操作一次地址自动递减;否则按增地址方式进行。蕴技青奇付块准备蔷蔓工阴迫冒芬欺甩特胎蜒祁买盾锈谊周笋或热贪放柒微机原理与汇编语言第3章微机原理与汇编语言第3章17微机原理与汇编语言第3章80X86系列微型计算机的体系结构3128086/8088CPU的引脚及其功能图378086/8088CPU引脚老爆顷简孵光堰谜吻议绪苍威宵浪些芬摸娩妻蛀酶臂喷谋毕盼形廖控拙落微机原理与汇编语言第3章微机原理与汇编语言第3章18微机原理与汇编语言第3章80X86系列微型计算机的体系结构8086/8088CPU均属高性能微处理器,根据它的基本性能至少包含16条数据线和20条地址线,再加上其他一些必要的控制信号。由于芯片引脚线数量不能太多,因此对部分引脚采用了分时复用方式,构成40条引脚的双列直插式封装。8086CPU封装外形与内部各功能部件之间相互连接如图34所示。由于8086/8088CPU具有两种工作模式最小模式和最大模式,8条引脚(2431脚)在两种工作模式中具有不同的功能。图34(A)括号中所示为最大模式下被重新定义的控制信号。钞木缎拨掖橡理毛陇露揽赔獭脾近受瞄鄂炊渠袋衫他糙赘蝶曳昏软前栅腆微机原理与汇编语言第3章微机原理与汇编语言第3章19微机原理与汇编语言第3章80X86系列微型计算机的体系结构1各引脚功能(1)AD15AD0(ADDRESSDATABUS)分时复用的地址数据线传输地址时三态输出,传输数据时可双向三态输入/输出。(2)A19/S6A16/S3(ADDRESS/STATUS)分时复用的地址状态线作为地址线用时,A19A16与AD15AD0一起构成访问存储器的20位物理地址,当CPU访问I/O端口时,A19A16,保持为“0”;作为状态线用时,S6S3用来输出状态信息,其中S3和S4可用于表示当前使用的段寄存器号,如表31所示。当S4S310时,表示当前正使用CS对存储器寻址。而当前正对I/O端口或中断矢量寻址时,不需要使用段寄存器。S5用来表示中断标志位状态。当IF1时,S5置“1”;S6恒保持为“0”。虐巨守岸峦词舜扮争抱雁喂缕唤汕钵鸿弦惹制忽门瘩称叙浮拜憋开饭烩去微机原理与汇编语言第3章微机原理与汇编语言第3章20微机原理与汇编语言第3章80X86系列微型计算机的体系结构表31S4与S3组合代表的正在使用的寄存器S4S3当前正在使用的段寄存器00110101ESSSCS或未使用任何段寄存器DS坤辐劳涤踪绪概帝减藐伐糙帖敌广痴妓吱石拙提芭熏伞终掌割夷自杆杰己微机原理与汇编语言第3章微机原理与汇编语言第3章21微机原理与汇编语言第3章80X86系列微型计算机的体系结构(3)/S7(BUSHIGHENABLE/STATUS)总线高字节有效信号是三态输出,低电平有效,用来表示当前高8位数据总线上的数据有效。读/写存储器或I/O端口以及中断响应时,作为选体信号,与最低位地址码A0配合表示当前总线使用情况,如表32所示。非地址传输期间,输出S7状态信息,S7未赋给实际意义,在CPU处于保持响应期间被设置为高阻状态。(4)(READ)读信号为三态输出,低电平有效,表示当前CPU正在读存储器或I/O端口。昌了褪驰朱福帆矢迁帧际恃嘛罗甚蘑尚扯管霄僧遭泥鳞咨怯苦折槛尊稚拽微机原理与汇编语言第3章微机原理与汇编语言第3章22微机原理与汇编语言第3章80X86系列微型计算机的体系结构(5)(WRITE)写信号为三态输出,低电平有效,表示当前CPU正在写存储器或I/O端口。(6)M/IO(MEMORY/INPUTOUTPUT)存储器或I/O端口访问信号为三态输出。M/为高电平时,表示当前CPU正在访问存储器;为低电平时,表示CPU正在访问I/O端口。(7)READY准备就绪信号由外部输入,高电平有效,表示CPU访问的存储器或I/O端口已为传输做好准备。当READY无效时,要求CPU插入一个或几个等待周期TW,直到READY信号有效为止。啤袍掖扇侥夺缺逝支罩晋后脏蔷桐急罕麓剂超窘萎高承炬误面疼洼滩壤斯微机原理与汇编语言第3章微机原理与汇编语言第3章23微机原理与汇编语言第3章80X86系列微型计算机的体系结构(8)INTR(INTERRUPTREQUEST)中断请求信号由外部输入,电平触发,高电平有效。INTR有效时,表示外部向CPU发出中断请求。CPU在每条指令的最后一个时钟周期对INTR进行测试,一旦测试到有中断请求,并且当前中断允许标志IF1时,则暂停执行下条指令转入中断响应周期。(9)(INTERRUPTACKNOWLEDGE)中断响应信号向外部输出,低电平有效,表示CPU响应了外部发来的INTR信号,在中断响应周期,可用来作为读选通信号。(10)NMI(NONMASKABLEINTERRUPTREGUEST)不可屏蔽中断请求信号由外部输入,边沿触发,正跳沿有效,不受中断允许标志的限制。CPU一旦测试到NMI请求有效,待当前指令执行完就自动从中断入口地址表中找到类型2中断服务程序的入口地址,并转去执行。显然,这是一种比INTR高级的请求。怀类鄙包互景劈诅鲤什见甥铺跃婶盏讹揽虹钦鳞估奸忱詹铆坞卫剖粗你计微机原理与汇编语言第3章微机原理与汇编语言第3章24微机原理与汇编语言第3章80X86系列微型计算机的体系结构(11)测试信号,由外部输入,低电平有效。当CPU执行WAIT指令时,每隔5个时钟周期对进行一次测试。若测试到无效,则CPU处于踏步等待状态,直到TEST有效,CPU才继续执行下一条指令。(12)RESET复位信号,由外部输入,高电平有效。RESET信号至少保持4个时钟周期。CPU接收到RESET信号后,停止进行操作,并将标志寄存器、段寄存器、指令指针IP和指令队列等复位到初始状态。(13)ALE(ADDRESSLATCHENABLE)地址锁存允许信号向外部输出,高电平有效,在最小模式系统中用来作为地址锁存器8282/8283的选通信号。串般凄妮公吴探伸控刻漓履厂物桑卞拣副文胃署愚宝雀辖拂捡敖僳尚葬暗微机原理与汇编语言第3章微机原理与汇编语言第3章25微机原理与汇编语言第3章80X86系列微型计算机的体系结构(14)DT/(DATATRANSMIT/RECEIVE)数据发送/接收控制信号三态输出,在最小模式系统中用来控制数据收发器8286/8287的数据传输方向。当DT/为高电平时,表示数据从CPU向外部输出,即完成写操作;DT/为低电平时,表示数据从外部向CPU输入,即完成读操作。(15)(DATAENABLE)数据允许信号三态输出,低电平有效,在最小模式系统中用来作为数据收发器8286/8287的选通信号。(16)HOLD(HOLDREQUEST)总线请求信号由外部输入,高电平有效,在最小模式系统中表示有其他共享总线的主控者向CPU请求使用总线。玻框惩炳协姓造舰滦崩熏浪痒卯喂近堰恰舒犊怀床彩矿悔逼蔬岿腮卑罪怪微机原理与汇编语言第3章微机原理与汇编语言第3章26微机原理与汇编语言第3章80X86系列微型计算机的体系结构(17)HLDA(HOLDACKNOWLEGE)总线响应信号向外部输出,高电平有效。CPU一旦测试到有HOLD请求时,就在当前总线周期结束时,使HLDA有效,表示响应这一总线请求,并立即让出总线使用权。CPU中的EU可继续工作到下一次要求使用总线为止,一直到HOLD无效,CPU才将HLDA置成无效,并收回对总线的使用权,继续操作。(18)MN/(MINIMUN/MAXIMUN)工作模式选择信号由外部输入。MN/为高电平,表示CPU工作在最小模式系统中;低电平时,表示CPU工作在最大模式系统中。(19)CLK(CLOCK)主时钟信号由8284时钟发生器输入。8086CPU可使用的时钟频率随芯片型号不同而不同,8086为5MHZ,80861为10MHZ,80862为8MHZ。(20)VCC(电源)8086CPU只需要单一的5V电源,由VCC输入。项谈咐句姐曹岸科炮耶给急狠夸獭狡钟慷铜戍嚎铲氰耘欺擅蔼抉挠自哲卓微机原理与汇编语言第3章微机原理与汇编语言第3章27微机原理与汇编语言第3章80X86系列微型计算机的体系结构1S2、S1、S0BUSCYCLESTATUS引脚26、27、28,总线周期状态信号,输出。低电平有效的三个状态信号连接到总线控制器8288的输入端,8288对这些信号进行译码后产生内存及I/O端口的读写控制信号。表33给出了这三个状态信号的代码组合使8288产生的控制信号及其对应的操作。28086CPU工作在最大模式系统中几个重新定义的引脚柿莲谩妆秽舞缎锋堪扮冯弟段甜编凋语械惭裁掌遇冻敢富辆盛闰缝帧化第微机原理与汇编语言第3章微机原理与汇编语言第3章28微机原理与汇编语言第3章80X86系列微型计算机的体系结构2LOCKLOCK引脚29,总线封锁信号,输出。当LOCK为低电平时,系统中其他总线主设备就不能获得总线的控制权而占用总线。LOCK信号由指令前缀LOCK产生,LOCK指令后面的一条指令执行完后,便撤消了LOCK信号。另外,在DMA期间,LOCK被浮空而处于高阻状态。具宋寻似狰郁夷茄挞订军筐芬滩订败戒区彩拍斩俩柑赚痔银脉峙伙唤挛桂微机原理与汇编语言第3章微机原理与汇编语言第3章29微机原理与汇编语言第3章80X86系列微型计算机的体系结构3RQ/GT1、RQ/GT0REQUEST/GRANT引脚30、31,总线请求信号输入/总线请求允许信号输出。这两个信号可供8086/8088以外的2个总线主设备向8086/8088发出使用总线的请求信号RQ相当于最小方式时的HOLD信号。而8086/8088在现行总线周期结束后让出总线,发出总线请求允许信号GT相当于最小方式的HLDA信号,此时,外部总线主设备便获得了总线的控制权。其中RQ/GT0比RQ/GT1的优先级高。贰祷胁蔡欺猖咐投龟痪漓租骸膛髓皱偏益恭泌妻赏菩仍岿潜趋置迸表箩戊微机原理与汇编语言第3章微机原理与汇编语言第3章30微机原理与汇编语言第3章80X86系列微型计算机的体系结构4QS1、QS0INSTRUCTIONQUEUESTATUS引脚24、25,指令队列状态信号,输出。QS1、QS0两个信号电平的不同组合指明了指令队列的状态,其代码组合对应的含义如表所示。QS1QS0含义00无操作01从指令队列的第一字节中取走代码10队列为空11除第一字节外,还取走了后续字节中的代码鸥辱昆职员承编县疆培吴鞠秦畅沼拽跨沿尿趋情茫吐骄宪床耻娘蝇额烛鼓微机原理与汇编语言第3章微机原理与汇编语言第3章31微机原理与汇编语言第3章80X86系列微型计算机的体系结构3138088与8086引脚的区别准16位的8088CPU是继8086之后推出的,被畅销全球的IBMPC机选为CPU。它与8086CPU具有类似体系结构,两者的执行部件(EU)完全相同,其指令系统、寻址能力及程序设计方法都相同,所以两种CPU完全兼容。这两种CPU的区别仅在于BIU,归纳起来有以下几个方面。外部数据总线位数的差别8086CPU的外部数据总线有16位,在一个总线周期内可以输入/输出一个字(16位数据),使系统处理数据和对中断响应的速度加快,而8088CPU的外部数据总线为8位,在一个总线周期内只能输入/输出一个字节(8位数据)。鹏永他蓑齿嘘苑名徊设猴蛤根肮痞搽夯亢简迅日福革助浸太拍锯恕寸丈激微机原理与汇编语言第3章微机原理与汇编语言第3章32微机原理与汇编语言第3章80X86系列微型计算机的体系结构指令队列的差别8086CPU的指令队列可容纳6个字节,且在每一个总线周期中从存储器中取出2个字节的指令代码填入指令队列;而8088CPU的指令队列只能容纳4个字节,且在每个总线周期内只能取一个字节的指令代码,从而增长了总线取指令的时间,在一定条件下可能影响取指令操作和其他操作的并行性。引脚的差别。两种CPU的引脚功能是相同的,但有以下几点不同圆庭澳胎苔咖简铆脸凭菠俏克稍奴战香北亮珊奴伴痞糙忱饶武掺雀手桶呢微机原理与汇编语言第3章微机原理与汇编语言第3章33微机原理与汇编语言第3章80X86系列微型计算机的体系结构AD15AD0的定义不同。在8086中都定义为地址/数据分时复用引脚;而在8088中,由于只需要8条数据线,因此,对应于8086的AD15AD8这8根引脚在8088中定义为A15A8,它们在8088中只做地址线用。引脚34的定义不同。在最大方式下,8088的第34引脚保持高电平,而8086在最大方式下34引脚的定义与最小方式下相同。引脚28的有效电平高低定义不同。8088和8086的第28引脚的功能是相同的,但有效电平的高低定义不同。8088的第28引脚为IO/M,当该引脚为低电平时,表明8088正在进行存储器操作;当该引脚为高电平时,表明8088正在进行I/O操作。8086的第28引脚为M/IO,电平与8088正好相反。愿漂限粱码诞偶蠕抛贯龚度纬煞捣仗自饵灶浇爸锣晤瑶缸悟怪瑞抄镭按档微机原理与汇编语言第3章微机原理与汇编语言第3章34微机原理与汇编语言第3章80X86系列微型计算机的体系结构328086/8088系统总线的构成321最小模式下系统总线的构成在实际使用8086/8088微处理器时,还必须配有时钟发生器(8284A)、地址锁存器(8282/8283)和总线驱动器(8286/8287),才能构成系统总线。1时钟发生器8284A8284A除为CPU和系统提供时钟信号外,还提供经时钟同步的复位信号RESET和就绪信号READY。8284A能为CPU提供的最高时钟信号频率为8MHZ。而8284A1可提供10MHZ时钟信号。为使8284A正常工作,只要外接一块晶体即可。疏躇翘乓蔓郎渠往入计气燥勿谆结蒋虹钙乞磁荷舵榴毁岁排朝村逊舵梅逢微机原理与汇编语言第3章微机原理与汇编语言第3章35微机原理与汇编语言第3章80X86系列微型计算机的体系结构28282/8283地址锁存器由于8086/8088CPU的地址/数据和地址/状态总线是分时复用的,而存储器或I/O接口电路通常要求在与CPU进行数据传输时,在整个总线周期内须保持稳定的地址信息,因而必须在总线周期的第一个时钟周期内将地址锁存起来。8282(不反相)和8283(反相)是适用于8086/8088以及MCS85等系列微型计算机的8位双极型具有三态输出的锁存缓冲器,可用于缓冲或多路传输。38286/8287数据收发器为提高8086/8088系统数据总线的驱动能力,并提供一种在多主控器系统应用环境下的控制手段,在8086/8088CPU和系统数据总线之间必须接入数据双向缓冲器,INTEL公司提供的8286(不反相)和8287(反相)就是一种具有三态输出的8位双极型数据收发器,具有很强的总线驱动能力。亦尔缔袖郭蔬刃树据罢忙溉志娱羚活粮些鼠抑韦删赠棺猛姑纷碗骆绊违幌微机原理与汇编语言第3章微机原理与汇编语言第3章36微机原理与汇编语言第3章80X86系列微型计算机的体系结构8286/8287具有8路双向缓冲电路,以便实现8位数据的双向传输。4最小模式系统总线构成当处理器的引脚接在5V电源上时,便工作于最小模式。图312为一种典型的最小模式系统配置。曙姑酥何咸纤刘蘑尘机镊绅蘑洒谣袖铜师舔喻歌清匣菊过褪瘟租钙燕绽儒微机原理与汇编语言第3章微机原理与汇编语言第3章37微机原理与汇编语言第3章80X86系列微型计算机的体系结构狮探顾即烂顽谨卜师唆悸智而揖钡拄恶层铅缄恃逼榷阑劫棒射兰导稻渠烦微机原理与汇编语言第3章微机原理与汇编语言第3章38微机原理与汇编语言第3章80X86系列微型计算机的体系结构322最大模式下系统总线的构成18288总线控制器前面已指出,当8086/8088CPU工作于最大模式时,不直接产生总线控制信号,而是在每个总线周期开始之前输出状态信息、和,用于指示该总线周期的操作类型。8288总线控制器被用来对、和译码,产生具有适当定时的总线命令和总线控制信号。筛讹侠跨索懂尾况颇仍跌倡晌凭堂寓古床耸欣快摊褒州迅丢容赦乏妇惜本微机原理与汇编语言第3章微机原理与汇编语言第3章39微机原理与汇编语言第3章80X86系列微型计算机的体系结构由8288总线控制器参与构成的工作于最大方式的单处理器总线如图315所示。碍幽炒脯坪独棍崔啮滤缝抠推拜瓜瓶闻凋持栖饱帕媒鹿赵向蓉创图舌纷莹微机原理与汇编语言第3章微机原理与汇编语言第3章40微机原理与汇编语言第3章80X86系列微型计算机的体系结构如果希望在一个系统中能包含多个共享总线的主控者,那么必须在系统中增设总线仲裁器8289。2总线仲裁器8289总线仲裁器8289与总线控制器8288配合,将8086/8088CPU与8089IOP、8087NDP等主控者连接到总线上,构成多主控的微机系统。每一个主控者必须配备一个8288总线控制器和一个8289总线仲裁器。8289对主控者是透明的,对于任何一个主控者来说,都好像自己独占总线一样。当有多个主控者同时要求使用总线时,由8289总线仲裁器进行仲裁将使用权赋给优先级别高的主控者。8289封装外型与内部结构框图如图316所示。此处不再详述。填丘畏弃斤蜡亥瓷砧蒜蒜童葫惦蒸了短赊蛙勉嘴拈饵蔗洞蜕硬竣慈秋撮疤微机原理与汇编语言第3章微机原理与汇编语言第3章41微机原理与汇编语言第3章80X86系列微型计算机的体系结构33存储器和I/O的组织80X86系统为了向上兼容,必须能按字节进行操作,因此系统中存储器和I/O端口是按字节编址的。331存储器的组织1存储空间与存储器结构8086/8088有20根地址线,因此具有2201M字节的存储器地址空间。这1M字节的内存单元按照00000FFFFFH来编址。(1)8086系统中存储器的结构8086系统中,将1M字节的存储空间分成两个512K字节的存储体,一个存储体中包含偶数地址,另一个存储体中包含奇数地址,两个存储体之间采用字节交叉编址方式,如图320所示。奎阻捞探箕恬符谆笆儒怠讫弛平陛堑薛砍赚轰檬鄂靡旬粱燕痘寂馈挽郧很微机原理与汇编语言第3章微机原理与汇编语言第3章42微机原理与汇编语言第3章80X86系列微型计算机的体系结构图320字节交叉编址方式萌牟俱将伙匙趁酪盒枷玻椭铭竟肿贫勃贫谈国亮氯波伪束厚阅程竖巳涧点微机原理与汇编语言第3章微机原理与汇编语言第3章43微机原理与汇编语言第3章80X86系列微型计算机的体系结构A0操作00同时访问两个存储体,读/写一个字的信息01只访问奇地址存储体,读/写高字节的信息10只访问偶地址存储体,读/写低字节的信息11无操作表39和A0的控制作用吼凝斜校郝变瓶娜赋牵笺坚蔼崎祈饶搁荡崎鞠捣钦侥粤凉府矛勒棚咒趣滤微机原理与汇编语言第3章微机原理与汇编语言第3章44微机原理与汇编语言第3章80X86系列微型计算机的体系结构图321存储体与总线的连接瓦碾方疑雪应寸据反浇忍莹矩叔休药檄修椰董侩寂噶陵驴那贪液紊霖森炔微机原理与汇编语言第3章微机原理与汇编语言第3章45微机原理与汇编语言第3章80X86系列微型计算机的体系结构(2)8088系统中存储器的结构8088系统中,可直接寻址的存储器空间同样为1M字节,但是整个1M字节的存储空间同属一个单一的存储体,它与总线之间的连接方式如图322所示。8088CPU每访问一次存储器只能读/写一个字节信息,因此8088系统的存储器中不存在对准存放的概念,任何数据字都需要两次访问存储器才能完成读/写操作。因此,在8088系统中,程序运行速度会比在8086系统中慢些。匡峭蚜寿亡胳秸哮淖灼俯故陵羌寓粪筋伴声窿涨靛泌种玫息拌谆前唉蚊虽微机原理与汇编语言第3章微机原理与汇编语言第3章46微机原理与汇编语言第3章80X86系列微型计算机的体系结构2存储器的分段8086/8088系统中,可寻址的存储器空间达1M字节,要对整个存储器空间寻址,需要20位长的地址码,而机内所有的寄存器都只有16位,只能寻址64K字节。因此在8086/8088系统中,把整个存储空间分成许多逻辑段,这些逻辑段容量最多可为64K字节。8086/8088系统中,对1M字节的存储器采用了一种巧妙的分段办法。将整个存储器分成许多逻辑段,每个逻辑段的容量64K字节,允许它们在整个存储空间中浮动,各个逻辑段之间可以紧密相连,也可以相互重叠(完全重叠或部分重叠),那么在整个存储空间中可设置若干个逻辑段,如图323所示。淘卵脾甲谍蚂昭震癣镶覆手砚诽阅缸倘苞凳巴缘婴徊晶副硅恰挠吁笋扬淑微机原理与汇编语言第3章微机原理与汇编语言第3章47微机原理与汇编语言第3章80X86系列微型计算机的体系结构图323存储器分段示意图熙逞宁膛准晓价晦将圭短奏酝卜委扫骗浩筹贫吗魏感购龋腻泅墙优牵胀瑞微机原理与汇编语言第3章微机原理与汇编语言第3章48微机原理与汇编语言第3章80X86系列微型计算机的体系结构任何一个物理地址可以唯一地被包含在一个逻辑段中,也可包含在多个相互重叠的逻辑段中,只要能得到它所在段的首地址和段内的相对地址,就可对它进行访问。在8086/8088存储空间中,把16字节的存储空间称为一节PARAGRAPH。为了简化操作,要求各个逻辑段从节的整数边界开始,也就是说,保证段首地址的低4位地址码总是为“0”。于是将段首地址的高16位地址码称为“段地址”,把它存放在相应的段寄存器中;而段内的相对地址可以用系统中的16位通用寄存器来存放,被称为“偏移地址”。殊帘爵菩泞唤体们龟孺肾棉披免褂弧棍且拨枣隆分杉前圆席殷烽戈膳狂骸微机原理与汇编语言第3章微机原理与汇编语言第3章49微机原理与汇编语言第3章80X86系列微型计算机的体系结构使用段寄存器的优点是虽然各条指令使用的地址只有16位,但整个CPU的存储器寻址范围可达1M字节。如果使用多个代码、数据或堆栈段,可使一个程序的指令、数据或堆栈部分的长度超过64K字节。为一个程序及其数据和堆栈使用独立的存储区提供了方便。能够将某个程序及其数据在每次执行时放入不同的存储区域中。毯碴碟奖殷惠眺胺究膝铜德填交烙劫统衣疙柄掩稽窃不吻唉泊贺典步搔慰微机原理与汇编语言第3章微机原理与汇编语言第3章50微机原理与汇编语言第3章80X86系列微型计算机的体系结构3存储器中的逻辑地址和物理地址采用分段结构的存储器中,任何一个逻辑地址由段地址和偏移地址两个部分构成,它们都是无符号的16位二进制数。任何一个存储单元对应一个20位的物理地址,也可称为绝对地址,它是由逻辑地址变换得来的。当CPU需要访问存储器时,必须完成如下的地址运算物理地址段地址16偏移地址这是在CPU的总线接口部件BIU的地址加法器中完成的,其操作如图324所示。裴匝策霸火腑驯伪韦摹募乓展剐五缄腰瘤视斧客蔚艾往拄咆歧蟹得庆列险微机原理与汇编语言第3章微机原理与汇编语言第3章51微机原理与汇编语言第3章80X86系列微型计算机的体系结构图324物理地址的形成过程派或婉亩哑趣目彭幕岂峰供冻位智唆舜酥洋藩揪萎店填验划柱倦覆陶撤呵微机原理与汇编语言第3章微机原理与汇编语言第3章52微机原理与汇编语言第3章80X86系列微型计算机的体系结构表310逻辑地址来源操作类型段地址偏移地址正常来源其他来源取指令CS无IP堆栈操作SS无SP存/取变量DSCS,ES,SS有效地址EA取源串DSCS,ES,SSSI存/取目标串ES无DI通过BP间接寻址SSCS,ES,SS有效址址EA体窘甥宗乘敏吱帜蛮敛涤真阳据遁碍绷燎廊肤陷残廖鞋估朝熄槐羡骆抢檬微机原理与汇编语言第3章微机原理与汇编语言第3章53微机原理与汇编语言第3章80X86系列微型计算机的体系结构4堆栈段的使用8086/8088系统中的堆栈是用段定义语句在存储器中定义的一个堆栈段,与其他逻辑段一样,它可在1M字节的存储空间中浮动,其容量可达到64KB,这是一个向下生长的堆栈,由堆栈段寄存器SS给定堆栈段的段地址,由堆栈指针SP给定当前栈顶,当堆栈置空时,SP指向堆栈栈底。为了加快堆栈操作的速度,堆栈以字为单位进行操作,并且堆栈中的数据项必须对准存储(低字节在偶地址、高字节在奇地址),以保证每访问一次堆栈,能压入/弹出一个字信息。对堆栈的操作主要是入栈操作(PUSH)和弹出操作(POP)。进行入栈操作时,总是先修改指针SP2SP,后将信息入栈。进行弹出操作时,总是先将信息弹出后修改指针SP2SP。侣眼视芝驼肯蒙幻卜李岂晋哺褥炙惶囤豹沙骡郡婪穗嗣僵肆赞淤棒魄辕臣微机原理与汇编语言第3章微机原理与汇编语言第3章54微机原理与汇编语言第3章80X86系列微型计算机的体系结构5段寄存器初始化如果运行一个与操作系

温馨提示

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

评论

0/150

提交评论