欢迎来到天天文库
浏览记录
ID:39538237
大小:385.31 KB
页数:35页
时间:2019-07-05
《寄存器CPU工作原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章寄存器(CPU工作原理)要点:CPU的组成寄存器字在寄存器中的存储简单的汇编指令物理地址和8086形成物理地址的机制段的概念和段寄存器Debug调试工具内存单元的物理地址每一个内存单元在内存空间中都有惟一的地址,这个惟一的地址称为该存储单元的物理地址。CPU通过地址总线送入存储器的必须是一个内存单元的物理地址。考虑:CPU如何产生20位的物理地址呢?16位结构的CPU8位机:8080,808516位机:808632位机:80386,80486N位结构的含义:运算器一次最多可以处理N位数据;寄存器的最大宽度为N位寄存器和运算
2、器之间的通路是N位8086CPU形成物理地址的方法8086CPU的地址总线有20位,但8086CPU内部全为16位结构,如何来形成20位的物理地址呢?IBMPC机采用了存储器地址分段的办法存储器逻辑上的分段情况段(segment)从0地址开始,每16字节为一小段(paragraph)小段的首地址的16进制形式最低位为0段(segment)必须从任一小段的首地址开始,且每段大小可达64K段地址&偏移地址取段的首地址的高16位作为段地址段内相对于段起始地址的偏移值称为偏移地址CPU内部采用“段地址×16+偏移地址”来形成物理地址段地
3、址用16位表示因段最大可达64K,故偏移地址也用16位表示注意:段大小是任意的8086CPU形成物理地址的方法20位物理地址=16位段地址*16+16位偏移地址8086CPU逻辑结构图形成物理地址的本质含义CPU在访问内存时,用一个基础地址和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。基础地址的选择是任意的。例如:物理地址21F60H,我们可以选取不同的段地址和偏移地址来形成给定一个段地址,通过变化偏移地址来进行寻址,最多可以定位多少内存单元呢?段寄存器提供段地址的寄存器称为段寄存器。8086CPU有4个段寄存器:
4、CS、DS、SS、ESCS:代码段寄存器DS:数据段寄存器SS:堆栈段寄存器ES:附加段寄存器CS寄存器IP:指令指针寄存器CS和IP就指示了CPU当前要读取指令的地址设8086机中CS中内容为M,IP中内容为N,则8086CPU将从内存M*16+N单元开始,读取一条指令来执行我们又可以表示成CS:IP8086CPU的工作过程初始状态8086CPU的工作过程(续)CS,IP的内容送入地址加法器8086CPU的工作过程(续)物理地址送入输入输出控制电路8086CPU的工作过程(续)物理地址送入地址总线8086CPU的工作过程(续)
5、机器指令被送入CPU8086CPU的工作过程(续)机器指令被送入指令缓冲器8086CPU的工作过程(续)读取指令后IP中的值自动增加8086CPU的工作过程(续)执行指令8086CPU的工作过程(续)指令执行结果8086CPU的工作过程(续)8086CPU的工作过程可以简要描述如下:从CS:IP指向的内存单元处读取指令,读取的指令进入指令缓冲器;IP=IP+所读取指令的长度,从而指向下一条指令;执行指令,转到步骤1,重复这个过程。修改CS、IP的指令movcs,123注意:mov指令不能用于设置CS、IP的值能够改变CS、IP的
6、内容的指令被统称为转移指令一个转移指令:jmp指令?×jmp指令jmp段地址:偏移地址指令含义:用指令中给出的段地址修改CS,偏移地址修改IPjmp2AE3:3,执行后:CS=2AE3,IP=0003jmp3:0B16,执行后:CS=0003,IP=0B16jmp寄存器指令含义:用指令中的寄存器中的值修改IP注意:CS的值不变其中的寄存器只能是通用寄存器问题2.3内存中存放的机器码和对应的汇编指令如下所示,设CPU初始状态:CS=2000H,IP=0000H,请写出指令的执行序列。结果分析指令执行序列movax,6622jmp1
7、000:3movax,0000movbx,axjmpbxmovax,0123H转到第3步执行代码段存放当前正在运行的程序代码的段(segment)例如:其段地址为2000H,长度为10字节一条简单的算术指令sub格式:sub目的操作数,源操作数操作:目的操作数=目的操作数-源操作数例:subax,8subax,bx本章小结了解CPU的组成;掌握各种寄存器,尤其是通用寄存器;理解字在寄存器中的存储;掌握几条简单的汇编指令;掌握8086CPU的物理地址的形成;了解段寄存器,掌握CS和IP的合用;掌握jmp指令;熟悉Debug调试工具
8、;作业检测点2.2,2.3Debug命令D命令——Display使用D命令查看内存中的内容格式1:d段地址:偏移地址功能:列出从指定内存单元开始的128个内存单元的内容格式2:d段地址:起始偏址结尾偏址使用多种不同的段地址和偏移地址来查看同一个物理地址的内容E命
此文档下载收益归作者所有