版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 16位微处理器4.1 16位微处理器概述 计算机发展至今已经历了四代,第四代是大规模集成电路发展后的产物,由于微电子技术的发展,已使得结构复杂,功能强大的计算机中央处理器CPU集成在一个芯片上,构成了所谓的微处理器MPU 4004/800880808088/80868038680486PentiumCore Duo80186/802864.2.1 8086/8088 CPU的结构8086 CPU从功能上可分为两部分:总线接口部件(bus interface unit, BIU)执行部件(execution unit, EU)4.2 8086/8088微处理器AH ALBH BLCH C
2、LDH DL SP BP DI SI通用寄存器运算寄存器ALU标志寄存器EU控制系统1 2 3 4 5 6 CS DS SS ES IP内部寄存器总线控制逻辑地址加法器20位地址总线16位数据总线8位指令队列缓冲器外部总线执行单元(EU)总线接口单元(BIU)8086CPU结构图AXBXCXDX16位专用寄存器内部总线4.2.1 执行单元 EU 功能:负责指令的执行。(1)从指令队列中取出指令。(2)对指令进行译码,发出相应的控制信号。(3)接收由总线接口单元送来的数据或发送数据至接口。(4)利用内部寄存器和ALU进行数据处理。4.2.1 总线接口单元 BIU 功能: 负责CPU与存储器、I/
3、O端口之间的数据传送。(1)取指令送到指令队列。(2)CPU执行指令时,到指定的位置取数据,并将其送至指令 要求的位置单元中。指令队列缓冲器:在执行指令的同时,从内存中取下一条或者下几条指令,并放入指令队列缓冲器中。CPU执行完一条指令后,可以立即执行下一条指令(流水线技术),而无需轮番取指令和执行指令,从而提高CPU效率。每当8086的指令队列中有2个空字节,8088指令队列中有1个空字节时,总线接口单元就会自动取指令至队列中。 当队列已满,执行单元又不使用总线时,总线接口单元进入空闲状态。 执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。4.2.2 8086
4、/8088的寄存器2个控制寄存器: IP, F(或FR)4个段寄存器:CS, DS, SS, ES8个通用寄存器:AX,BX,CX,DX, SP,BP,SI,DI(16位 )AHALBHBLCHCLDHDLSPBPSIDIIPF或FRCSDSSSESAXBXCXDX累加器(accumulator)基址寄存器(base register)计数寄存器(count register)数据寄存器(data register)堆栈指示器(stack point)基址指示器(base point)源变址寄存器(source index)目的变址寄存器(destination index)代码段寄存器(co
5、de segment)数据段寄存器(data segment)堆栈段寄存器(stack segment)附加段寄存器(extra segment)指令指示器(instruction point)状态标志寄存器(status flags)寄存器专门用途AX,AL在乘法、除法指令中,作累加器;在输入、输出指令中,作数据寄存器AH在非压缩BCD数调整指令中,作目的寄存器;在LAHF(SAHF)指令中,作目的(源)寄存器AL在BCD数运算指令和调整指令中,作累加器;在XLAT指令中,作数据表的位移量BX作间址和基址寄存器CX在循环控制指令和串操作指令中,作计数器CL在移位指令中,作移位位数计数器DX在
6、输入、输出指令中,作间址寄存器;在乘法、除法指令中,作辅助累加器BP作间址和基址寄存器SP作堆栈指示器SI作间址和变址寄存器;在串操作指令中,作源字符串的间址或变址寄存器DI作间址和变址寄存器;在串操作指令中,作目的字符串的间址或变址寄存器OUT DX,ALMOV AX,3456HADD AL,AHDAAMOV AL, 200MOV BL, 4MUL BLMOV CX,10L1:LOOP L1MOV AX, 1234hPUSH AXPOP DX 关于标志寄存器F(或FR) 标志寄存器的格式及各位的含义1514131211109876543210OFDFIFTFSFZFAFPFCF状态标志方向标
7、志中断标志跟踪标志Trace Flag控制标志进位标志奇偶标志半进位标志零标志符号标志溢出标志状态标志:表示前面的操作执行后,算术逻辑部件处于怎样一种状态。例如,是否产生了进位,是否发生了溢出等等。程序中,可以通过对某个状态标志的测试,决定后面的走向及操作。(1) 状态标志:例如: STATE: IN AL, 0DAH; TEST AL,02H; JZ STATE零标志ZF(Zero Flag)若运算结果为0,则ZF1;否则ZF0。这两条指令执行后,ZF1。例1:MOV AL,4 SUB AL,4例2:XOR AX,AX 执行后,ZF也一定为1。进位标志CF(Carry Flag)它反映:加法
8、时,最高位(字节操作时的D7位,字操作时的D15位)是否有进位产生。减法时,最高位(字节操作时的D7位,字操作时的D15位)是否有借位产生。例:(AH)=10000001 (AL)=10000000执行:ADD AL, AH 10000001+)10000000 1 00000001 CF=1奇偶标志PF(Parity Flag)若运算结果低8位中“1”的个数为偶数,则PF1;否则PF0。例:MOV AL,2 ADD AL,1 ; 00000011 执行后,PF位为1 辅助进位AF(AUXILIARY CARRY FLAG) 反映8位量的低四位(或16位量的低位字节)向高位有无进位(借位)情况
9、,有则AF=1,无则AF=0。AF位一般用于BCD运算例: 1001 1001 或 10010001 00011011 +) 0010 1010 +) 01100010 00100001 1100 0011 11110011 00111100 有进位AF=1 无进位AF=0符号标志SF(SIGN FLAG)反映带符号数运算结果的符号位情况,当数据用补码表示时,运算结果最高位为0 表示正数,最高位为1 表示负数SF与运算结果的最高位相同,刚好可以用来表示该数的正负SF=1 负数SF=0 正数 溢出标志OF(overflow flag) 主要用来反映带符号数运算是否超过机器能表示的数值范围,超过O
10、F=1带符号数(补码表示负数) 00000000-01111111 (0 - +127) 10000000-111111111(-128 -1)即一个字节带符号数表示范围为-128127同样,二个字节带符号表示为-3276832767溢出标志OF(overflow flag)例: 00011010 (1AH=26) +) 01010110 (56H=86) 01110000 (70H=112)CF=0:这两个数如作为无符号数相加 ,则没有进位(不超过255)OF=0:如作为带符号数相加,也没有溢出(26+86=112均没有超过)为什么?溢出标志OF(overflow flag)例: 01011
11、010 (5AH=90) +) 01010110 (56H=86) 10110000 (B0=176) 把该两数作无符号数看,则两数相加正好无进位 CF=0若把该两数当作带符号数,则两数相加,无法再用位二进制带符号数表示(-128127),则肯定要溢出从计算结果也可以看出,两个正数相加,结果得一负数,(B0H=-80)则结果肯定溢出了(不正确)超出一个字节表示的范围 OF=1如何知道?(2)控制计算机CPU的标志 方向标志DF(DIRECTION FLAG)在作字符串操作(例如使用MOVSB指令)时,每执行一条操作指令,源、目的地址会自动调整当DF设为=0时(用CLD指令)串操作过程地址会不断
12、增加当DF设为=1时(用STD指令)串操作过程地址会不断减少(2)控制计算机CPU的标志 中断允许标志IF(Interrupt enable Flag)用于设置系统是否允许响应外部的可屏蔽中断。IF=1表示允许响应,用STI指令IF=0表示不允许,用CLI指令(2)控制计算机CPU的标志跟踪标志TF(陷阱标志)TRAP FALGTF=1时,微处理每执行完一条指令便会自动产生一个内部中断,转去执行一个内部中断服务子程序,用来检查每条指令的执行情况,称为“单步执行”方式,常用于程序的调试。TF=0时,CPU正常执行程序。标志寄存器F(FR)标志寄存器的格式及各位的含义151413121110987
13、6543210OFDFIFTFSFZFAFPFCF状态标志方向标志中断标志跟踪标志Trace Flag控制标志进位标志奇偶标志半进位标志零标志符号标志溢出标志关于段寄存器为什么需要段寄存器?它与8086/8088的存储结构有关AH ALBH BLCH CLDH DL SP BP DI SI通用寄存器运算寄存器ALU标志寄存器EU控制系统1 2 3 4 5 6 CS DS SS ES IP内部寄存器总线控制逻辑地址加法器20位地址总线16位数据总线8位指令队列缓冲器外部总线执行单元(EU)总线接口单元(BIU)8086CPU结构图AXBXCXDX16位专用寄存器内部总线16位代码段寄存器16位数
14、据段寄存器16位堆栈段寄存器16位指令寄存器IP20位的地址加法器16位附加段寄存器关于 8088与8086的区别 8086和8088本质上是相同的,其内部采用16位结构。两者EU完全一样,BIU略有不同:8086指令队列6字节,8088指令队列4字节8086是真正的16位CPU,内部数据总线是16位的,同BIU相连的外部数据总线也是16位8088是准16 位CPU,内部数据总线是16位的。同BIU相连的外部数据总线却是8位的,在处理一个外部16位数据时,8088需要两步操作而8086只需要一步。8086和8088 CPU的内部都采用16位字进行操作及存储寻址,两者软件完全兼容,程序执行也完全
15、相同。然而,由于8088要比8086有较多的外部存取操作,所以,对相同的程序,它执行得较慢。IBM Portable PC 5155Model:model 68Introduced:February 1984Price:US $4225.Weight:30 poundsCPU:Intel 8088 4.77MHzRAM:256K, 640K maxDisplay:9-inch amber displayCGA graphics, 80 X 25 textStorage:Two 360KB 5.25-inch disk drivesPorts:1 parallel, 1 serial, CGA
16、videoOS:IBM PC-DOS Version 2.10 (disk) 第一台个人电脑数据与指令的存储与访问地址内 容0(00H)00000100B(4)1(01H)10000000B(128)2(02H)00010001B(17) 255(FFH)00001111B (15) 地址是数据存放的门牌号码,是标明数据所在位置的唯一代号每个地址空间可以存放8位二进制数内存示意图所有CPU可以访问的数据与指令都以二进制数的形式存放在内存中4.2.3 存储器结构4.2.3 存储器结构 由于8086/8088有20条地址线,可以寻址220(1M)字节,CPU送到地址总线(AB)上的20位的地址称为
17、物理地址。 物理地址.60000H 60001H 60002H 60003H 60004H.12HF0H1BH08H 存储器的操作完全基于物理地址。问题:8086/8088的内部总线和内部寄存器均为16位,如何寻找20位地址?FFH解决方法:存储器分段并辅以地址偏移量4.2.3 存储器结构 8086/8088CPU把1M字节的存储器空间划分为任意的一些存储段,一个存储段是存储器中可独立寻址的一个逻辑单位,也称逻辑段,每个段的容量小于等于64K字节。每段起始地址规定最低4位为0。高地址段基址段基址段基址段基址最大64KB,最小16Bi-1段i段i+1段各段之间可以相互独立,相互重叠,甚至相互重合
18、1、8086最少和最多可以分为多少个段?2、下列地址哪些可能是一个段的开始地址:134546H,67828H,1FF30H4.2.3 存储器结构0150H4200H1CD0HB000H64KB代码64KB数据64KB附加64KB堆栈各段独立的分配方式举例CSDSSSES段寄存器存储器01500H114FFH1CD00H2CCFFH42000H51FFFHB0000HBFFFFH0200H0400H0480HCSDSSSES段寄存器存储器04000H04800H 段重叠的分配方式举例02000H段地址段所在位置CS0200H02000H-11FFFHDS0400H04000H-13FFFHSS0
19、480H04800H-147FFH4.2.3 存储器结构 8086存储器中的每个存储单元都可以用两个形式的地址来表示: 物理地址: 用唯一的20位二进制数所表示的地址,规定了1M字节存储空间中某个字节的地址 。 逻辑地址: 在程序中使用,即: 段基址:偏移地址 。4.2.3 存储器结构 8086CPU中有四个段地址寄存器:CS,DS,SS和ES,这四个段地址寄存器存放了CPU当前可以寻址的四个段的基址,即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设定,就规定了CPU当前可寻址的段。 段基址:段寄存器的16位地址,它们决定了各段在内存中的位置。偏移地址:每个段最多有64K个存储单元,要区分这64K个单元就要使用16位段内偏移地址。64K2 164.2.3 存储器结构物理地址由两部分组成:段基址和偏移地址。 8086/8088CPU中有一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 喷水器产业链招商引资的调研报告
- 药用锭剂项目运营指导方案
- 增白霜产品供应链分析
- 区块链金融市场交易行业市场调研分析报告
- 企业公益慈善活动创意策划与执行服务行业营销策略方案
- 厨房用具产品供应链分析
- 书法服务行业市场调研分析报告
- 事故信号发射器产品供应链分析
- 仿皮包产品供应链分析
- 矿泉水盐项目营销计划书
- 大学美育(同济大学版)学习通超星期末考试答案章节答案2024年
- 第二章-1 回转薄壳应力分析
- 鲁教版初中化学知识点全面总结
- 报价单模板下载word(模板可修改)
- u型玻璃内隔断施工工法
- 药品销毁登记表
- 配电箱使用说明书
- 召开听证会程序流程
- 中建路桥集团有限公司分包分供结算管理办法
- 风电场项目质量目标及保证措施
- 轮扣架支模体系材料量计算
评论
0/150
提交评论