微机原理第2章-IA32微处理器的功能结构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

天津工业大学计算机技术与自动化学院第二章IA-32微处理器的功能结构天津工业大学计算机技术与自动化学院计算机体系结构=computerarchitecture(计算机系统结构)计算机体系结构是程序员所看到的系统的一些属性:概念性的结构和功能上的表现,这些属性既不同于数据流和控制的组织,也不同于逻辑设计和物理实现。Amdahl,1964计算机体系结构是连接硬件和软件的一门学科,它研究的内容不但涉及计算机硬件,也涉及计算机软件。2.2IA-32微处理器的功能结构计算机体系结构的含义天津工业大学计算机技术与自动化学院“系统结构”是指概念性结构和功能特性(功能模块),就相当于动物的器官组成及其功能特性,如鸡有胃,胃可以消化食物。至于鸡的胃是什么形状的、鸡的胃部由什么组成就不是“系统结构”研究的问题了,而是“系统组成”研究的问题。所谓“系统组成”就是在逻辑上如何实现这种功能(功能模块的组成器件)。而计算机物理实现,主要着眼于器件技术和微组装技术(器件的物理实现)。计算机体系结构(应用)、组成(设计)及物理实现(制造)天津工业大学计算机技术与自动化学院2.2.1Intel8086微处理器的功能结构1.总线接口单元BIU由段寄存器(CS、DS、SS、ES)、指令指针寄存器(IP)、地址加法器、内部寄存器、指令队列缓冲器及I/O控制逻辑等部分组成。2.执行单元部件EU由通用寄存器组、专用寄存器组、算术逻辑运算单元(ALU)、标志寄存器(FR)和内部控制逻辑组成。天津工业大学计算机技术与自动化学院执行单元AHALBHBLCLCHDHDLSPBPDISI通用寄存器CSDSSSESIP内部暂存器总线控制逻辑1234AXBXCXDX数据总线运运算寄存器ALU标志寄存器外部总线80888位808616位指令对列8086为6字节16位执行控制电路总线接口单元地址加法器20位16位段寄存器指令指针(EU)(BIU)天津工业大学计算机技术与自动化学院取指指令执行。。。取指指令执行。。。。。。取指指令执行。。。取指指令执行。。。取指取指指令执行指令执行。。。BIU任务EU任务每条指令的执行有取指、译码和执行。早期计算机指令执行过程:指令花费时间=取指+指令执行8088CPU指令执行过程:指令的重叠操作指令花费时间=指令执行天津工业大学计算机技术与自动化学院2.2.280386的功能结构天津工业大学计算机技术与自动化学院•存储器组织拥有32位数据线和地址线,可以寻址4GB的物理地址;•内部执行环境(寄存器组)首次将32位的寄存器组引入80x86体系的微处理器中,32位的低半部分向下兼容;段寄存器仍为16位,段空间为4GB;•操作模式实地址;保护模式;虚拟8086模式;80386的主要特点天津工业大学计算机技术与自动化学院2.3IA-32结构微处理器的执行环境天津工业大学计算机技术与自动化学院220=1MB,地址由00000-FFFFF(H)编码若存放的信息是字节,则按顺序存放若存放的信息是字,则将字的低位字节存放在低地址,高位字节存放在高地址若存放的信息是双字,则将双字的低位字存放在低地址,高位字存放在高地址2.3.2基本执行环境(1)存储器地址空间(8086)天津工业大学计算机技术与自动化学院(2)基本程序执行寄存器天津工业大学计算机技术与自动化学院实地址方式存储器组织•四个不同的段:代码段存放机器指令;数据段存放数据信息;堆栈段供堆栈使用;附加段通常用来存放附加数据;•8086有四个16位段寄存器:cs代码段;ds数据段;ss堆栈段;es附加段。•地址的标准写法为:“段:偏移量”。注意由于位移可以重叠,所以给出的“段:偏移量”不是唯一的。如下列地址均指向同一内存单元:0000:01230002:01030008:00A30010:00230012:0003天津工业大学计算机技术与自动化学院•段可以位于内存中的任何位置,段的首地址必须能被16整除;•若段寄存器存放的是10H,而偏移量是100H,下列步骤说明实际物理地址计算过程:段寄存器:0000000000010000(10H)左偏四位:0000000000010000偏移量:0000000100000000(100H)段加偏移量00000000001000000000(200H)天津工业大学计算机技术与自动化学院存储器物理地址的形成逻辑地址是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。物理地址也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。段地址0000偏移地址物理地址150150地址加法器1903物理地址=段基址×16+段内偏移地址。天津工业大学计算机技术与自动化学院【例】各独立段的分配情况示例。•设CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它们分别为代码段、数据段、堆栈段和附加段的段首址。自每个段首址开始,各段均占64KB的范围,各段之间互不重叠。天津工业大学计算机技术与自动化学院【例】各段相互重叠情况示例。设CS=0200H、DS=0400H、SS=0480H,这样代码段、数据段和堆栈段的物理首地址分别为02000H、04000H和04800H。其中代码段占8KB地址空间,数据段占2KB,堆栈段占256B,SP=0100H。如图所示。天津工业大学计算机技术与自动化学院•(1)指令指针寄存器EIP•(2)段寄存器•(3)通用寄存器•(4)程序状态和控制寄存器2.3.4基本程序执行寄存器•0•15•16•31•0•15•0•15•16•31•7•8•AL•BL•CL•DL•AX•BX•CX•DX•AH•BH•CH•DH•EAX•EBX•ECX•EDX•EIP•CS•DS•SS•ES•FS•GS•SP•BP•SI•DI•ESP•EBP•ESI•EDI•FLAGSEFLAGS天津工业大学计算机技术与自动化学院EAX累加器寄存器:存放操作数和结果EBX基址寄存器:在DS段中的数据指针;存放操作数ECX计数寄存器:串和循环操作的计数器EDX数据寄存器:I/O指针015163178ALBLCLDLAXBXCXDXAHBHCHDHEAXEBXECXEDX1.通用寄存器基本寄存器:在程序执行时暂时保存中间结果;在进行算术运算和逻辑运算时,通用寄存器任何一个都可以作为源操作数或目的操作数。SPBPSIDIESPEBPESIEDI0151631•指针和变址寄存器ESI串操作的源指针EDI串操作的目标指针ESP堆栈指针EBP堆栈上数据指针天津工业大学计算机技术与自动化学院通用寄存器的特殊用途和隐含性质寄存器名特殊用途隐含性质在输入输出指令中作数据寄存器用不能隐含AX,AL在乘法指令中存放被乘数或乘积,在除法指令中存放被除数或商隐含AH在LAHF指令中,作目标寄存器用隐含在十进制运算指令中作累加器用隐含AL在XLAT指令中作累加器用隐含在间接寻址中作基址寄存器用不能隐含BX在XLAT指令中作基址寄存器用隐含CX在串操作指令和LOOP指令中作计数器用隐含CL在移位/循环移位指令中作移位次数计数器用不能隐含在字乘法/除法指令中存放乘积高位或被除数高位或余数隐含DX在间接寻址的输入输出指令中作地址寄存器用不能隐含在字符串运算指令中作源变址寄存器用隐含SI在间接寻址中作变址寄存器用不能隐含在字符串运算指令中作目标变址寄存器用隐含DI在间接寻址中作变址寄存器用不能隐含BP在间接寻址中作基址指针用不能隐含SP在堆栈操作中作堆栈指针用隐含天津工业大学计算机技术与自动化学院6个段寄存器,保存16位段基址:CS代码段SS堆栈段DS数据段ES附加段FS数据段FGS数据段G2.段寄存器和存储器分段指向数据段天津工业大学计算机技术与自动化学院3、EFLAGS寄存器天津工业大学计算机技术与自动化学院(1)状态标志位•CF:进位标志位,当执行一个加法运算指令使最高位产生进位时,或者执行一个减法运算指令使最高位引起借位,则CF=1;否则CF=0。•PF:奇偶标志位,若运算结果的低8位中所含1的个数为偶数,则PF=1;否则PF=0。•AF:辅助进位标志位。当加法运算时,如果第三位往第四位有进位,或者当减法运算时,第三位从第四位有借位,则AF=1;否则AF=0。•ZF:零标志位,当运算结果为0时,ZF=1;否则ZF=0。•SF:符号标志位,当运算结果的最高位为1时,SF=1;•OF:溢出标志位,在算术运算中,带符号数的运算结果超出了8位(+127~-128)或者16位(+32767~-32768)数据所能表达的范围时,则OF=1。•IF:中断允许标志位。若IF=1,则CPU可以响应可屏蔽中断请求;天津工业大学计算机技术与自动化学院CF和OF的区别本质运算后结果超无符号数范围运算后结果超有符号数范围现象结果最高位进位或借位O=CCSCO天津工业大学计算机技术与自动化学院0000111110001111BBB011100001CY=1CS=1O=CCS=0C=1天津工业大学计算机技术与自动化学院(2)DF标志DF:方向标志位,控制串操作指令的标志。若DF=0则执行串操作指令后,变址寄存器自动增量。(3)系统标志和IOPL字段1、中断允许标志I2、追踪标志T3、IOPL特权级字段天津工业大学计算机技术与自动化学院条件转移指令JE/JZJNE/JNZZFJSJNSSFJOJNOOFJPJNPPFJCXZ(CX=0转)JCJNCCF1、根据单个标志位的转移指令说明:指令中的字母N表示not,如果不带N说明标志为0转移,如果带N说明标志为1转移。天津工业大学计算机技术与自动化学院4、指令指针8086CPU中的指令指针IP,它总是保存下一次将要从主存中取出指令的偏移地址,偏移地址的值为该指令到所在段段首址的字节距离。在目标程序运行时,IP的内容由微处理器硬件自动设置,程序不能直接访问IP,但一些指令却可改变IP的值,如转移指令、子程序调用指令(JMP、CALL、RET、IRET)等。天津工业大学计算机技术与自动化学院8个通用寄存器:AX,BX,CX,DX,SP,BP,SI,DI4个段寄存器:DS,CS,SS,ES1个指令指针寄存器:IP1个标志寄存器材:FRFR的格式CFPFAFZFSFTFIFDFOF0123456789101112131415较验进位辅助进位零标志符号标志跟踪标志中断标志方向标志溢出标志2.48086的寄存器

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功