资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 IBM-PC计算机系统概述,CPU内部结构、寄存器、存储器,2.1 CPU功能结构,从存储器中取出一条指令 分析指令的操作码 从存储器中取出所需要的操作数 执行指令 将结果写入存储器 重复下一个指令周期,取指令和执行指令可同时执行,从而可以加速程序的运行速度,8086/8088CPU结构框图,8086/8088寄存器结构,寄存器:CPU内部暂存数据的部件,与ALU可保持同步,速度快,但数量有限,(1)通用寄存器,数据寄存器,1、用来保存算术运算和逻辑运算的操作数和中间结果 2、4个16位的寄存器,又可以分开作8位的寄存器使用,例AX可分为AH和AL使用 3、AX又称累加器,BX称基址寄存器,CX称计数寄存器,DX称数据寄存器,8086/8088寄存器结构,地址指针和变址寄存器,1、四个16位的寄存器,不能分开使用 2、SP称为堆栈指针,用来表示栈顶的偏移地址 3、BP称为基址指针寄存器 4、SI称为源变址寄存器,DI称为目的变址寄存器,堆栈:在计算机中用来存放数据的特殊存储区域,按“先进后出,后进先出”的原则进行数据操作,8086/8088寄存器结构,(2)段寄存器 8086/8088中,将存储空间划分为四种逻辑段,它们是: CS(代码段):用于存放指令的空间 DS(数据段):用于存放程序中所需操作数的空间 SS(堆栈段):用于存放程序运行中需要保护的数据空间 ES(附加段):用于存放操作数的存储空间,每个段的段地址则存放在相应的段寄存器中(参考2.2节),2006.2.17,补码加减运算规则和计算机中的实现过程 以补码形式存在 符号位参加运算 最高位产生的进位可自然丢失 硬件电路简单,容易实现,8086/8088CPU的通用寄存器结构 通用寄存器AX、BX、CX、DX 地址和指针寄存器SP、BP、SI、DI 段寄存器CS、DS、SS、ES,寄存器的名字! 寄存器的长度!,8086/8088寄存器结构,(3)指令指示器IP 1、16位的寄存器 2、指向下一条要执行的指令或下一个指令字节的地址 3、每取出一个指令字节,IP则自动加1,注意: 程序员不能直接访问IP,但可以通过指令改变IP值,从而改变程序的执行顺序,8086/8088寄存器结构,(4)程序状态字PSW 1、16位的寄存器 2、反映算术运算和逻辑运算的结果特征,及控制后续指令的运行 3、可以通过程序设置或清除PSW中的特征,CF:判断算术运算的最高位是否有(进)借位,0无,1有 PF:判断运算结果中是否有偶数个1, 0奇,1偶 AF:判断算术运算的第3位是否有(进)借位, 0无,1有 ZF:判断运算结果是否为零, 0不为零,1是零 SF:判断运算结果是否为负数, 0为正,1为负 OF:判断运算结果是否有溢出错误,0没有,1溢出,DF:用于串操作指令 IF:用于中断请求是否能被响应的判断 TF:陷阱标志,用于程序调试,2.2 8086/8088存储器组织,1、8086/8088是16位的CPU,字长为16 2、8086/8088的地址为20位,即寻址能力为1MB(220) 3、 按字节编号的计算机,既可以按字节访问,也可以按字访问,存储容量单位: 1KB=1024B,1MB=1024KB=1024 1024B 65536B=26 210B=64KB,8086/8088存储器组织,(00002H)=57H (00003H)=6AH (00005H)=91H (00006H)=2BH,(00002H)=6A57H(规则字) (00005H)=2B91H(非规则字),字节访问:,字访问:,存储器的分段结构,1、解决用16位的机器字长,提供20位的物理地址(1MB的寻址范围)的矛盾 2、每个段的最大长度不超过64MB(216),且每个段的起始地址必须能被16整除,即20位的最低4位为0000 3、段地址*10H+偏移地址=物理地址,存储器为什么要分段?如何分段?,存储器的分段结构,几个概念: 1、物理地址:每个单元唯一确定的20位的地址,如30304 2、段地址:每个段的起始地址的高16位 3、偏移地址:要访问的存储单元与段始址的偏移距离 4、逻辑地址:16位的段地址和16位的偏移地址,多个逻辑地址可对应同一个物理地址,如:3000:0404与3040:0004都对应物理地址30404,逻辑地址的来源,Intel80x86微处理器简介,(一)80286微处理器 1、特点 16位的微处理器,与8086向上兼容 存储器可以在实地址和保护虚地址两种方式下访问 2、寄存器结构 共15个16位的寄存器,13个与8086完全相同,不同的有以下两个: (1)标志寄存器增加了3位 (2)增加了机器状态字寄存器MSW,Intel80x86微处理器简介,(一)80386微处理器 1、特点 32位的微处理器,向上兼容,寻址能力为4GB(232) 有实地址、保护虚地址和虚拟8086三种工作模式 允许多条指令重叠操作 2、寄存器结构 8个32位的通用寄存器,可进行8位、16位和32位操作 2个32位的状态寄存器 6个16位的段选择寄存器 系统地址寄存器 3个32位的控制寄存器 8个调试寄存器和2个测试寄存器,Intel80x86微处理器简介,(一)80486微处理器 1、特点 32位的微处理器,比80386的速度高23倍 浮点运算器,8KB的高速缓存(Cache) 采用RISC(简单指令系统的计算机)技术 支持多处理机系统 2、寄存器结构 与80386没有区别,习题,1、有两个16位的字节数据和1个8位和字节数据,BFD2H、92B7H和39H,分别存放在000D4H、000D7H和000D9H单元中,试画出存储示意图 2、段地址和偏移地址为2001H、0011H的存储单元的物理地址是什么?如果段地址和偏移地址为101AH、1000H和5A00H、130CH呢? 3、如果一个程序在开始执行前,(CS)=0A7F0H,(IP)=2B40H,试问该程序的第一条指令的物理地址是多少?,物理地址=段地址*10H+偏移地址,=2001H*10H+0011H=20021H,=101AH*10H+1000H=111A0H,=5A00H*10H+130CH=5B30CH,涉及分段的其他问题 a)1M内存空间总共可以分多少个段?xxxx0h b)每个段最大可以包括多少个存储单元? c)xxxxH:0000H是段内哪一个单元?其物理地址是多少?,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号