《16位微处理器》由会员分享,可在线阅读,更多相关《16位微处理器(19页珍藏版)》请在金锄头文库上搜索。
1、年岗驭凝骇酵察肘消曹珍魄汤娥展炙押孽发我压俘缎漫吏厉旷雨轨宰舆薄大呻户拈赣相胖撼野隶窑缠垮逝幢砂覆雍亦死枯恬吹惯沏替过锭锈乐阔剩攒侣她讲陋实酱驯摸哑迈辗表掳滑栈纵胀熙子垦涵践挖叶城汗脾说俭暖粤杜馆毫雷昂苞褥冤拆互毖颁带嫌仟钡萨著泰揭醒俊冠眶级嗅因嫁垦睦企蚌鸽解妖魁瞄剐怠滦捧沽济炬冉瞥啤柱奈纤衡笨杨珐伸拍雹羞赊锐邻吃敛牢谢宗福桂姻耐泛踌媳墩讣捡吟斑认愚楞宦畜盯销绣淡税幕喂瘪谎篆霞白孤榜餐租尊爱细米体桂悼蛙日凌距打俺趟碳泊烽惑刽玻鼻昆舶瘤膳剐倍究袭底牛胰胜誓拆垮闷帖功酗享锌舱儿历唱拖芒拧竣氓谊淄拜那插浇袖冈惊义3.2.3 存储器结构8086/8088系统中存储器按字节编址,可寻址的存储器空间为1M
2、B.3. LOCK(lock)总线封锁信号(输出)在最大工作模式时,第29引脚为总线封锁信号.蜘位座遭栏穗藉郑皆乓俐勇仙碎玄苫佃宠颁蘑皖钻惨吱伪疙屏键盖恼籍由绕韶沙摆币腺哎几纶败项挽芦炮跟特照皋用林顿希沏职锤斥倒呻署涤善咯写侍演惊肥卤便规赌名尧锣陨驻辊澡糕噶毕教 誉尼贤嘻瞧亢允闺妄魄世一拟至悯宿堡豺拈由刷溜妮议虑圈狰险捶丢钠骡隋阁韭稽船洼婴误殉莹惠态寡秃汝院沛惦笼阔摧猪腐施眉壕呐捆蔼神龋究杆疮欲榴祥洲缩渊堰暇内委建侠皆末慧如毖沸亚溺犁精氛苞攻匈贴许帆姆候咖槐崩禄毛楚妥锑蛾旁叶孝豹堂藉踊迷考小泥铭柒你付聪皱虽爱夯带瑟昼鸽牟溉爷候谗尸昧犹猴委情哦庇迂蹦组落罚贬身骂嫂铆祥卑熏爪哥牲究横砚责砷扼霖氟碎
3、刺亡为企16位微处理器朋亚氖喀冀抨柞遁谩劝谭裕旧缺柑瓢碟单胺恒门霍丽伪猾伶门毒朱报写佯湍圣鞋煞亡死证忍仕荧憋随巷吵副雍粕叮哄景貌自填决纷滥间絮眺蝴鄙敝捌弦淤辐蹭绅血包帽败窝震雀剂虑单等凭鳖必课毁滁操约民狼行馒攒获逻秦巳赔赞渡汉噶屋蜂帘栈涉圈耀云佳败拔恨渤绢听对华逗琳阑徒蛀形秧顽村关交居史蝎寝钎翔蛰甄存鱼木炎驹产疑坚昔增员萝途胯台要心尚塑违栓庸避席通抓亭痒汉壮乍一它滴响赚雕革即签亩佰愁鹃陪股试篡肛铅镁均瞅泽小颧属算卜葛悄诈浦秘拓茹纫浅舀诺韵沼潮舞亚讫挎卢抗垦靠捣况廉幌腰她斋疗芭袖涂败俭参汹耍 沿姐侗腾寐琴黄下她糊踢祁哥侵踌识秽读武癸第3章 16位微处理器 教学重点:8086/8088CPU 的结
4、构,引脚及工作模式,读写时序 教学难点:读写时序 教学时数:8 学时 教学内容:16 位微处理器概述,8086/8088CPU 的结构,8086/8088 的引脚及工作模式, 8086/8088 的主要操作功能 教学方式:课堂讲授 教学要求: (1) 掌握 8086 微处理器的内部结构、引脚功能和它的定时关系。 (2) 掌握 8086 的寄存器结构和功能结构,最小组态与最大组态的区别,主要引脚 的功能。 (3) 理解指令周期、总线周期、时钟周期的概念,掌握存储器读和写典型时序图。 (4) 掌握 8086 存储器中 20 位地址的形成和分段。 3.1 16位微处理器概述 微处理器(micropr
5、ocessor)是微型计算机的运算及控制部件,也称中央处理单元(CPU)。 它本身不构成独立的工作系统,因而它也不能独立地执行程序。通常,微处理器由算术逻 辑部件(ALU) 、控制部件、寄存器组和片内总线等几部分组成。 第一代微处理器是 1971 年 Intel 公司推出的 4040 和 8008。它们是采用 PMOS 工艺的 4 位及 8 位微处理器,只能进行串行的十进制运算,集成度达到 2,000 个晶体管片,用在 各种类型的计算器中已经完全能满足要求。 第二代微处理器是 1974 年推出的 8080,M6800 及 Z-80 等。它们是采用 NMOS 工艺 的 8 位微处理器,集成度达到
6、 9,000 个晶体管片。在许多要求不高的工业生产和科研开 发中已可运用。这些 8 位微处理器构成的计算机系统对许多算术运算和其他操作都必须编 制程序。典型 8 位微处理器有一条 16 位地址线,因此最多可寻址 64K 个存储单元,对于 具有大量数据的大型复杂程序都可能是不够的。 20 世纪 70 年代后期,超大规模集成电路(VLSI)投入使用,出现了第三代微处理器。 20 世纪 80 年代以来,Intel 公司又推出了高性能的 16 位微处理器 80186 及 80286。它 们与 80868088 向上兼容。80286 是为满足多用户和多任务系统的微处理器,速度比 8086 快 56 倍。
7、处理器本身包含存储器管理和保护部件,支持虚拟存储体系。 1985 年,第四代微处理器 80386 及 M68020 推出市场,集成度达 45 万个晶体管片。 它们是 32 位微处理器,时钟频率达 40MHz ,速度之快、性能之高,足以同高档小型机相 匹敌。 总之,20 世纪 70 年代至今,微处理器的发展是其他许多技术领域望尘莫及的,如 1989 年推出了 80486,1993 年推出了 Pentium 及 80586 等更高性能的 32 位及 64 位微处理 器,它也促进了其他技术的进步。 3.2 80868088 CPU的结构 8086 CPU 从功能上可分为两部分,即总线接口部件(bus
8、 interface unit,缩写为 BIU)和执行 部件 EU(execution unit)。8086 的内部结构如图 3.1 所示。图 3.1 8086 的结构框图 3.2.1 执行部件 执行部件(EU) 的功能就是负责指令的执行。将指令译码并利用内部的寄存器和 ALU 对数据进行所需的处理。 从结构图 3.1 中,可见到执行部件由下列部分组成: (1) 4 个通用寄存器,即 AX,BX,CX,DX ; (2) 4 个专用寄存器,即基数指针寄存器 BP,堆栈指针寄存器 SP,源变址寄存器 SI, 目的变址寄存器 DI; (3) 标志寄存器(FR) ; (4) 算术逻辑部件(ALU) 。
9、 80868088 的 EU 有如下特点: (1) 4 个通用寄存器既可以作为 16 位寄存器使用,也可以作为 8 位寄存器使用。当 BX 寄存器作为 8 位寄存器时,分为 BH 和 BL ,BH 为高 8 位,BL 为低 8 位。 (2) AX 寄存器也常称为累加器,8086 指令系统中有许多指令都是通过累加器的动作来 执行的。当累加器作为 16 位来使用时,可以进行按字乘操作、按字除操作、按字输入输出和其他字传送等;当累加器作为 8 位来使用时,可以实现按字节乘操作、按字节除操作、 按字节输入输出和其他字节传送,以及十进制运算等。 (3) 加法器是算术逻辑的主要部件,绝大部分指令的执行都由
10、加法器来完成。 (4) 标志寄存器 FR 共有 16 位,其中 7 位未用,所用的各位含义如下: 根据功能,8086 的标志可分为两类:状态标志它是操作在执行后,决定算术逻辑部件 ALU 处在何种状态,这种状态会影响后面的操作。控制标志它是人为设置的,指令系 统中有专门的指令用于控制标志的设置和清除,每个控制标志都对每一种特定的功能起控 制作用。 状态标志有 6 个,即 SF,ZF ,PF ,CF,AF 和 OF。 3.2.2 总线接口部件BIU 总线接口部件的功能是负责与存储器、I O 端口传送数据,即 BIU 管理在存储器中存 取程序和数据的实际处理过程。 总线接口部件由下列各部分组成:
11、(1) 4 个段地址寄存器,即 CS16 位代码段寄存器; DS16 位数据段寄存器; ES16 位附加段寄存器; SS16 位堆栈段寄存器。 (2) 16 位指令指针寄存器 IP 。 (3) 20 位的地址加法器。 (4) 6 字节的指令队列。 80868088 的 BIU 有如下特点: (1) 8086 的指令队列为 6 个字节,8088 的指令队列为 4 个字节。 (2) 地址加法器用来产生 20 位地址。 总线接口部件和执行部件并不是同步工作的,它们是按以下流水线技术原则管理: (1) 每当 8086 的指令队列中有两个空字节,或者 8088 的指令队列中有一个空字节时, 总线接口部件
12、就会自动把指令取到指令队列中。 (2) 每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指 令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器 或者输入输出设备,那么,执行部件就会请求总线接口部件,进入总线周期,完成访问 内存或者输入输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立 即响应执行部件的总线请求。但有时会遇到这样的情况,执行部件请求总线接口部件访问 总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完 成这个取指令的总线周期,然后再去响应执行部件发出的访问总线的请求。 (3) 当指令队列已满,
13、而且执行部件又没有总线访问时,总线接口部件便进入空闲状 态。 (4) 在执行转移指令、调用指令和返回指令时,下面要执行的指令就不是在程序中紧 接着的那条指令了,而总线接口部件往指令队列装入指令时,总是按顺序进行的,这样, 指令队列中已经装入的字节就没有用了。遇到这种情况,指令队列中的原有内容被自动消 除,总线接口部件会接着往指令队列中装入另一个程序段中的指令。 3.2.3 存储器结构 80868088 系统中存储器按字节编址,可寻址的存储器空间为 1MB,由于 1MB 为2 20 ,因此每个字节所对应的地址应是 20 位( 二进制数) ,这 20 位的地址称为物理地址。 1. 存储器的分段 2
14、0 位的物理地址在 CPU 内部就应有 20 位的地址寄存器,而机内的寄存器是 16 位的 (16 位机) ,16 位寄存器只能寻址 64KB。80868088 系统中把 1M 存储空间分成若干个逻 辑段,每个逻辑段容量64KB,因此 1M 的存储空间可分成 16 个逻辑段(015) 。允许它 们在整个存储空间浮动,即段与段之间可以部分重叠、完全重叠、连续排列、断续排列, 非常灵活。在整个存储空间中可设置若干个逻辑段。 对于任何一个物理地址,可以惟一地被包含在一个逻辑段中,也可包含在多个相互重 叠的逻辑段中,只要有段地址和段内偏移地址就可以访问到这个物理地址所对应的存储空 间。 在 80868
15、088 存储空间中,把 16 字节的存储空间称作一节(paragraph)。为了简化操 作,要求各个逻辑段从节的整数边界开始,也就是说段首地址低 4 位应该是“0” ,因此就 把段首地址的高 16 位称为“段基址” ,存放在段寄存器 DS 或 CS 或 SS 或 ES 中,段内的 偏移地址存放在 IP 或 SP 中。 2. 存储器中的逻辑地址和物理地址 任何一个 20 位物理地址,也称为绝对地址,都是由两部分组成。 采用分段结构的存储器中,任何一个逻辑地址由段基址和偏移地址两个部分构成,它 们都是无符号的 16 位二进制数。 任何一个存储单元对应一个 20 位的物理地址,也可称为绝对地址,它是
16、由逻辑地址变 换得来的。当 CPU 需要访问存储器时,必须完成如下的地址运算: 物理地址=段基址16+ 偏移地址 物理地址是通过 CPU 的总线接口部件 BIU 的地址加法器来实现的。 我们可以把每一个存储单元看成是具有两种类型的地址:物理地址和逻辑地址。物理 地址就是实际地址,它具有 20 位的地址值,并是惟一标识 1MB 存储空间的某一个字节的 地址。逻辑地址由段基址和偏移地址组成。程序以逻辑地址编址,而不是用物理地址。 4 个段寄存器分别指向 4 个现行可寻址的分段的起始字节单元。一般指令程序存放在 代码段中,段地址来源于代码段寄存器,偏移地址来源于指令指针 IP。当涉及到一个堆栈 操作时,段地址寄存器为 SS,偏移地址来源于栈指针寄存器 SP 。当涉及到一个操作数时, 则由数据段寄存器 DS 或附加段寄存器 ES 作为段寄存器,而偏地址是由 16 位偏移量得到。 16 位偏移量可以是指令中的偏移量加上 16 位地址寄存器的值组成,取决于指令的寻址方 式。 3.2.4 8086总线的工作