微型计算机技术与应用 第二章 16位和32位微.ppt
来灌嘻呻裸屑搭都型饵吗屿边锻刻疙搬私阻浸幂傍佛憨助唆雄局际瑟携竣微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微博学 审问 慎思 明辨 笃行第二章第二章 16位和位和32位位 微处理器微处理器领狰谁铜阁儒乃练澄壮陋峪阮疙谋议臻上登喂氯功阅块孽欢压毫轧襟狰趣微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微 2.1 16位微处理器8086 2.2 32位微处理器Pentium的先进技术 2.3 Pentium的指令流水线技术 2.4 Pentium的工作方式 2.5 Pentium的原理结构 2.6 Pentium的寄存器和相关机制 2.7 Pentium的主要信号 2.8 Pentium的总线状态 2.9 Pentium的总线周期 2.10 Pentium的中断 2.11 Pentium的保护技术 2.12 Pentium系列微处理器的技术发展 2.13 Itantium微处理器概述第二章 16位和32位微处理器第二章 16位和32位微处理器谩簧雕肌当渺悬瘸捆攀卫澳棘仔返防埂帘祁知赦蛙抵瘟焉绥鳃汞蚌储议痒微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/20232教学重点:8086的寄存器组;8086标志寄存器各个标志的含义;8086的读写时序、总线操作和中断机制;Pentium的先进技术;Pentium的原理结构、寄存器组和描述符;Pentium的中断机制和中断描述符表;Pentium的段页两级保护机制。第二章 16位和32位微处理器庄祈攀韶成效让虹据替攀碳渭遁铁跪翼墅谤信汐什挡泡事傻博坑鹿卜骸耶微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/20233第二章 16位和32位微处理器2.1 16位微处理器位微处理器808640引脚,双列直插式芯片16根数据线,20根地址线可寻址的存储器地址空间容量为220B(约1MB)幅冯碳蜕芽杖涎底脱桌饥详垃逆又措剐壮卒彰鹊挎迭网赐溺耙驯登控稀藕微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/20234 常规数学表达:常规数学表达:K(Kilo)=1000=103 M(Mega)=10002=106 (百万百万)G(Giga)=109 (十亿十亿)T(Tera)=1012 (万亿(万亿)内存容量内存容量:KB=1024 Bytes (2 10)MB=10242 Bytes(2 20)GB=10243 Bytes(2 30)TB=10244 Bytes(2 40)PB=10245 Bytes(2 50)第二章 16位和32位微处理器小常识小常识腐坊霹驱芹桐搔墒咀汕猜香薯仓柯勤双毗咸腊友镀乡农硒复楷否就蠕英榷微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/20235第二章 16位和32位微处理器 什么是分时复用?什么是分时复用?v v 分时复用就是一个引脚在不同的时刻v 具有两个甚至多个作用,最常见的总线复v 用是数据和地址引脚复用,总线复用的目v 的是为了减少对外引脚个数,8086CPU的v 数据地址线采用了总线复用方法.杯烙呸术短旁放狰稽惺的拐脏染裔或赠据健片痪摈禽数培瘤腐尺择锐绷蔽微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202362.1.1 8086的编程结的编程结构构 第二章 16位和32位微处理器从功能上分:1.总线接口部件BIU(Bus Interface Unit)2.执行部件EU (Execution Unit)(从程序员与使用者角度看到的结构)忿煞被呛泪额浇止败尾姑疏砚臀裤躇涸往叭止嘲靡坠假勇亚岂轨罪坷奴鱼微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/20237内部暂存器 IP ES SS DS CS输入/输出控制电路外部总线执行部分控制电路ALU标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位16位8位ALU数据总线队列总线1 2 3 4 5 6 8086的的编编程程结结构构嵌齐脾贺市敞噎巫井牵亦厩践宅臂听浑砧桃斌垂艇伟镇错制尿痒耶蜜铂皮微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/20238高字节低字节高地址低地址.1100 1111B.物理地址内容00000H00001H00002H00006HFFFFFH 内存单元的地址和内容赚误遍墒脖痢檬畜武赏们汲吃尺体华橱渝沥棕窗滋月存蚌忍协抵姓邢它屠微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/20239内部暂存器 IP ES SS DS CS输入/输出控制电路外部总线执行部分控制电路ALU标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位16位8位ALU数据总线队列总线1 2 3 4 5 6 8086的的编编程程结结构构1、总线接口部件 BIU (Bus Interface Unit)1)功能:负责与 M、I/O 端口传送数据。具体讲:总线接口部件要从内存 取指令送到指令队列;CPU执行指令时,要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件EU;或把执行部件的操作结果传给指定的M或I/O端口。汐熄羹荫翠在占僧皑暗士氯铡宰鼻悬题晦抉诗肢混辗子牧叁蠢就赡党郴锈微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202310内部暂存器 IP ES SS DS CS输入/输出控制电路外部总线执行部分控制电路ALU标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列缓冲器执行部件(EU)总线接口部件(BIU)16位20位16位8位ALU数据总线队列总线1 2 3 4 5 6 8086的的编编程程结结构构2)组成 4 个段地址寄存器 (CS、DS、ES、SS),16位指令指针寄存器IP,20位的地址加法器 (16d段地址+偏移地址物理地址),6字节(8086)的指令队列,总线控制电路:处理器与外界总线联系的转接电路。包括三组总线:20 位地址总线,16 位双向数据总线,一组控制总线。赠苑褒袭栗赫边勉袄翅享颐检剥烫班蛔誉芥叛仆频稠笼由惰腑元秤源诅历微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202311段地址寄存器:4个16位段寄存器CS、DS、SS、ES。用来存放逻辑段的起始地址,不可互换的使用。CSCode Segment Register 代码段寄存器 用来识别当前代码段(程序一般放在代码段)。DSData Segment Register 数据段寄存器 用来识别当前数据段寄存器。SSStack Segment Register 堆栈段寄存器 用来识别当前堆栈段。ESExtra Segment Register 附加段寄存器 用来识别当前附加数据段。第二章 16位和32位微处理器段地址寄存器幼核衔净现淳馆恍荆臣还冒赎噪欣砰槽较掐盖掺踪百宜骨漾谁售椽稀亲滤微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202312堆栈:一组特别划分出来的存储器存储区,用来暂存一批需要回避的数据或地址。存取原则:“后进先出”第二章 16位和32位微处理器堆栈是内存开辟的一个特殊数据区,一端固定一端浮动,严格按照后进先出的工作原则。一个堆栈段的最大深度为64KB堆栈绷痕混漳嗅骨伙锭蕴徘米橱咒克赋淹酪绒礁端绿怠臃胶浙超宝炙豪手老钝微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202313第二章 16位和32位微处理器IPInstruction Pointer 指令指针寄存器 用来存储代码段中的偏移地址;程序运行过程中IP始终指向下一次要取出的指令偏移地址。IP要与CS寄存器相配合才能形成真正的物理地址。SP和BP在使用上有区别:执行堆栈指令PUSH和POP时,指令地址是由SP给出当前栈顶的偏移地址,故将SP称为堆栈指针寄存器。BP则是用来存放位于堆栈段中的一个数据区基址的偏移地址的,故将BP称做基址指针寄存器。诣卒瓜踢缉眨哩卞楷男翠撩漂竣亲丙夹惮鹤彼浊轩带安鉴芳综女价法淬插微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/2023141 2 3 4 内部暂存器 IP ES SS DS CS输入/输出控制电路外部总线执行部分控制电路ALU标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位8位8位8086的内部结构ALU数据总线队列总线3)二点说明 指令队列 8086 的指令队列为6个字节 在执行指令的同时从内存中取下一条或几条指令,取来的指令放在指令队列中,使 BIU 具有预取指令的功能,是一种先进先出(FIFO)的数据结构。指令执行顺序 顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令。执行转移指令:BIU 清除指令队列中的内容,从新的地址取入指令,立即送往执行单元,然后再从新单元开始重新填满队列。1 2 3 4 5 6 颤贴睁秒偿倪孕观荡踢挎州住雄窥交鲸赢抚古屡根恶诡恐蒸啄骄皑主瘩拉微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/2023151 2 3 4 内部暂存器 IP ES SS DS CS输入/输出控制电路外部总线执行部分控制电路ALU标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位8位8位ALU数据总线队列总线 地址加法器 用来产生20位的存储单元的地址 8086可用20位地址线寻址1MB的内存空间,但8086内部寄存器都是16位的,所以需要用地址加法器来根据16位的寄存器提供的信息计算出20位的物理地址。物理地址=段地址 10H+偏移地址 =段地址 16d+偏移地址。1 2 3 4 5 6 潭碱泉困志羹牛矛锡诡八稽椭淡纯毁拽棍魄负恶锗防宵秋冬茸垂绽肠只州微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202316内部暂存器 IP ES SS DS CS输入/输出控制电路外部总线执行部分控制电路ALU标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位8位8位ALU数据总线队列总线 由此可见,8086取指部分与执行部分是分开的。在一条指令的执行过程中可以取出下一条(或多条)指令,指令 在指令队列中排队;在一条指令执行完成后,就可以立即执行下一条指令,减少CPU为取指令而等待的时间,提高CPU的利用率和整个运行速度。重迭操作技术:一方面提高了整个执行速率,另一方面降低了与之相配的存储器的存取速度的要求。1 2 3 4 5 6 臂八现坡消石内锨习呕栋着贮状疆简约烧娇罚弘捷扎涂培红袜买少庙橇避微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202317对于8080与8085及较早的8位微处理器:程序执行由取指令和执行指令的循环来完成的,每条指令执行完后CPU必须等待到下条指令取出来后才能执行。取指执行取指执行.取指执行时间坐标第二章 16位和32位微处理器熟憾址乘孜迸辛蘑罐诉友炊嘘斟衙瘤武砖诵窘琼卸扫不赐区事萎耍啦悸熔微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/2023181 2 3 4 内部暂存器 IP ES SS DS CS输入/输出控制电路外部总线执行部分控制电路ALU标志寄存器AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位8位8位ALU数据总线队列总线2、EU(Execution Unit)1)、功能:负责指令执行。2)、组成:4个通用寄存器:AX、BX、CX、DX,4个专用寄存器:BP、SP、SI、DI,标志寄存器(FR):9个标志位,其中6个条件标志位用于存放结果状态,算术逻辑单元:16 位加法器,用于对寄存器和指令操作数进行算术或逻辑运算,EU 控制系统:接受从总线接口单元的指令队列中取来的指令代码,其译码和向 EU 内各有关部分发出时序命令信号,协调执行指令规定的操作。搏泉酒煎荒拨唆擎洼让涎骨逐类幢锥赋兑满这娥杉烩岭吝逻透颜拥敌宗涩微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202319通用寄存器:AX、BX、CX、DX 用来暂存计算过程中所用到的操作数,结果或其它信息。访问形式:可以用16位的访问;或者可以用字节(8位)形式访问,它们的高8位记作:AH、BH、CH、DH。它们的低8位记作:AL、BL、CL、DL。AX(Accumulator)作为累加器。它是算术运算的主要寄存器,所有I/O指令都使用这一寄存器与外部设备交换数据。例:IN AL ,20H OUT 30H,AX第二章 16位和32位微处理器通用寄存器匡蚁挺魂眺根御春儡故炭您举矢猩萄秆运漾才苦猪滨锁丑绰啦骏仅淡溃趾微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202320BXBase用作基址寄存器使用。在计算内存储器地址时,经常用来存放基址。例:MOV AX,BX+03HCXCount可以作计数寄存器使用。在循环LOOP指令和串处理指令中用作隐含计数器。例:MOV CX,8 AGAIN:LOOP AGAIN ;CX-1(CX),结果0转AGAINDXData可以作为数据寄存器使用。一般在双字长乘除法运算时,把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位;对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。例:MUL BX ;(AX)(BX)(DX)(AX)例:IN AL,DX第二章 16位和32位微处理器通用寄存器羔搪编了丘菠踞蕴凿儿矫矗打戴绪琢提嚷房匀凛现德溯班贯窑震轻拱菩蛇微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202321专用寄存器:SP、BP、SI、DI 四个16位寄存器。作用:以字(16位)为单位在运算过程中存放操作数地址,经常用以在段内寻址时提供偏移地址,本身不能形成独立的地址码(20位)。段起始地址 段内偏移地址 段地址:只取段起始地址高16位值。偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。第二章 16位和32位微处理器专用寄存器意结吃蛔绣冕窃予诽原思绵丸衔虫银撰耸啊扑枯噎殴氦贤砖切种皋湛戊猫微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202322 SP stack pointer 堆栈指针寄存器 用来指示当前堆栈栈顶的偏移地址,必须与SS段寄存器联合使用确定实际地址。堆栈和指针如下页图所示。BP base pointer 基址指针寄存器 可以与SS寄存器联合使用来确定堆栈段中某一存储器单元地址,在某些间接寻址中,用来存放堆栈段内偏移地址。变址寄存器(SI、DI)使用场合:常用于变址寻址方式中的地址运算。SI Source Index Register 源变址寄存器。DI Destination Index 的变址寄存器。一般与DS联用,用来确定数据段中某一存储单元的地址,SI,DI具有自动增量和自动减量功能.例:MOV AX,SI第二章 16位和32位微处理器通用寄存器艺送烟筒蕴违谅滴逆粟伍轿淡姑卜俗惦狐脐防碗番西叼奶校大缉赋笺姑催微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202323 堆栈和指针 设:(SS)=3F00H,(SP)=0060H堆栈和指针如下图:.a1a0栈底4EFFFH3F060H(SP)=0060H3F000H(SS)=3F00H.第二章 16位和32位微处理器伪攒嘲凿琶欲嵌投酌屹肋鹿帽文挛疵恃街把温譬苗奥宁陋甜囊公誊恩酪骇微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202324OFDFIFTFSFZFAFPF 015245678910 CF(Carry Flag)进位标志 CF=1:记录运算时从最高有效位产生进位值。CF=0:记录运算时从最高有效位不产生进位值。CF状态标志:用来记录程序中运行结果的状态信息作为后续条件转移指令 的转移控制条件。称为条件码。条件码包括6位:CF、PF、AF、ZF、SF、OF。FLAG寄存器:16位,两个字节。由状态标志、控制标志构成。第二章 16位和32位微处理器FLAG寄存器盒花影竿上崩蜂含书悦喂旬悍遗撅眨亚孟踩唇痈涪闽政荆很弱肌十休柬措微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202325OFDFIFTFSFZF 015245678910CFPF PF (Parity Flag)奇偶标志 PF=1:结果操作数低8位中有偶数个1。PF=0:结果操作数低8位中有奇数个1。用来为机器中传送信息时可能产生代码出现情况提供检验条件。AF AF(Auxiliary Carry Flag)辅助进位标志 AF=1:记录运算时第3位(半个字节)产生进位值。AF=0:记录运算时第3位(半个字节)不产生进位值。第二章 16位和32位微处理器FLAG寄存器脾瞄硅哺授滦鳖事简袄蔷砾澄痒韧专等峦蜡乌帧帧领诛锰绞嘘阜日绥窄刹微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202326DFIFTFAFPF 015245678910CF ZFSF SF(Sign Flag)符号标志 SF=1:记录运算结果的符号为负。SF=0:记录运算结果的符号为正。OF(Overflow Flag)溢出标志(一般指补码溢出)OF=1:在运算过程中操作数超过了机器表示的范围称为溢出。OF=0:在运算过程操作数未超过机器能表示范围称为 不溢出。OF ZF(Zero Flag)零标志 ZF=1:运算结果为0。ZF=0:运算结果不为0。第二章 16位和32位微处理器FLAG寄存器扰聚境债雌咀狡募宁廉嫡宦付荫谩损娟郡晾眉懦狡累哟迸锅讼拨矗垃建湿微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202327标志:运算结果最高位为1,SF=1;运算结果本身不为0,ZF=0;最高位向前无进位,CF=0 次高位向最高位产生进位,而最高位向前没有进位,OF=1;结果低8位含偶数个1,PF=1;第三位向第四位有进位,AF=1。在绝大多数情况下,一次运算后并不影响所有标志,程序也并不需要对所有的标志作全面的关注。一般只是在某些操作后,对其中某个标志进行检测。例1:执行两个数的加法,分析对标志位的影响。01010000111001100100010101101010+1100010110011001AF=1OF=1第二章 16位和32位微处理器脱刚巴也寞萨跪召睫歇湘厄屠涨樟质欧缩苛纷膜烙蝇逊踌相赫箭韭朽潘罕微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202328OFDFIFSFZFAFPF015245678910CF 控制标志:对控制标志位进行设置后,对其后的操作起控制作用。控制标志位包括3位:TF、IF、DF。跟踪(陷阱)标志TF、中断标志IF、方向标志 DF。TF(Trap Flag)跟踪(陷阱)标志位 TF=1,每执行一条指令后,自动产生一次内部中断,使CPU处于单步执行指令工作方式,便于进行程序调试,用户能检查程序。TF=0,CPU正常工作,不产生陷阱。TF第二章 16位和32位微处理器繁例筏羹露擎桔鬃拟辑坪饵遭扭囊抱戏姐甜宝入弗自舒康娥惮洒浊残冒螟微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202329OFSFZFAFPF015245678910CFTFIF(Interupt Flag)中断标志 位 IF=1,允许外部可屏蔽中断。CPU可以响应可屏蔽中断请求。IF=0,关闭中断。CPU禁止响应可屏蔽中断请求。IF的状态对不可屏蔽中断和内部软中断没有影响。DF(Direction Flag)方向标志位 DF=1,每次串处理操作后使变址寄存器SI和DI减量,使串处理从高地址向低地址方向处理。DF=0,每次串处理操作后使变址寄存器SI和DI增量,使串处理从低地址向高地址方向处理。DF方向标志位是在串处理指令中控制处理信息的方向用的。IFDF第二章 16位和32位微处理器费蜘换舆晒砰箔卓彪式境者惹碳嫌剖技彝戎陋叫敷丘因龄裸牟驱羌麦曝荧微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202330第二章 16位和32位微处理器控制信息:由系统程序或用户程序根据需要用指令来设置的。状态信息:由中央处理器,根据计算结果自动设置的,机器提供了设置状态信息指令,必要时,程序员可以用这些指令来建立状态信息。泰妈貉屯秸竹唉碴硼姚仇窄腆涌匙沛醛缎揩趋座均稿紫贯藉皖瘪犊逼善捐微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202331下面用动画形式演示如下指令的执行过程 1000:100 MOV AL,2000H;A0 00 20 1000:103 ADD AL,02H;04 02 1000:105 HLT;F4 CS IP注:内部结构图是8086,但实际是8088执行过程。如果是8086,则每次可以读取2个字节第二章 16位和32位微处理器倍滚诱咳锅博谬札用辞轨半部涧渤回融札莽蛇槛渺往颈捆墓畸哦故艺缚茎微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202332赏买缠妙躺淳汲鲍瞻省摔嫁翅违俯慢剖逗眯赐漆篷掖裕挎去事沮讽吓匪熔微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微1/3/202333来灌嘻呻裸屑搭都型饵吗屿边锻刻疙搬私阻浸幂傍佛憨助唆雄局际瑟携竣微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微博学 审问 慎思 明辨 笃行帮乡续瘁替庭翌钡潦悔榆脏募黔臭接胁抱禽肿腺莫牡锚肢料伞的垣剐君穷微型计算机技术与应用 第二章 16位和32位微微型计算机技术与应用 第二章 16位和32位微