欢迎来到天天文库
浏览记录
ID:50533467
大小:428.00 KB
页数:53页
时间:2020-03-14
《微机原理2-18088CPU内部结构、寄存器组、存储器组织.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二部分8086/8088微处理器一、8086/8088CPU的内部结构二、8086/8088的内部寄存器三、8086/8088的存储器组织四、微处理器的指令系统五、8086/8088的引脚及工作摸式六、时序与总线周期本部分学习微处理器的内部结构、指令系统、引脚及功能、操作时序和总线周期等。1控制总线数据总线地址总线内部数据总线暂存器累加器ALU标志寄存器指令寄存指令译码时序和控制逻辑通用寄存器组地址寄存器组地址总线控制数据总线控制一、8086/8088CPU的内部结构算术逻辑单元(运算器)寄存器组指令处理单元(控制器)8位
2、微处理器的内部结构216位微处理器也具有以上结构中的基本单元,但更为复杂。以8088为例讲解16位微处理器的功能结构。8088是8086的简化版本。8088/8086的功能结构3AHALBHBLCLCHDHDLSPBPDISI通用寄存器CSDSSSESIP内部通信寄存器总线控制逻辑1234AXBXCXDX数据总线暂存寄存器ALU标志寄存器外部总线指令队列16位执行控制电路执行单元地址加法器20位16位段寄存器指令指针(EU)总线接口单元(BIU)48088的编程结构从功能分成两个单元总线接口单元BIU(BusInterfac
3、eUnit)——管理8088与系统总线的接口,负责CPU对存储器和外设进行访问执行单元EU(ExecutionUnit)——负责指令的译码、执行和数据的运算两个单元相互独立,分别完成各自操作两个单元可以并行执行,实现指令取指和执行的流水线操作5并行操作的意义EU执行指令的同时,BIU可以继续读取后续指令,并存入指令队列(firstinfirstout)。这叫做“指令预取”。8位的CPU没有指令预取功能,执行指令前必须等待“取指”操作完成。取指操作是CPU最频繁的操作。这种操作方式节省了CPU大量的取指等待时间。“指令流水线”
4、。6二、8088寄存器结构8088共有8个的通用寄存器,1个标志寄存器,4个段寄存器和1个指令指针寄存器。1、通用寄存器①数据寄存器共AX、BX、CX、DX四个,每个寄存器即可作为16位寄存器,又可拆分为两个8位寄存器,此时记为AH、AL、BH、BL等。AX(AH、AL):累加器accumulatorBX(BH、BL):基址寄存器baseCX(CH、CL):计数寄存器counterDX(DH、DL):数据寄存器data7②指针和变址寄存器共BP、SP、SI、DI四个BP:基址指针寄存器BasePointer,默认表示堆栈段基
5、地址;SP:堆栈指针寄存器StackPointer,指示栈顶SI:源变址寄存器SourceIndexDI:目的变址寄存器DestinationIndex8标志寄存器(FR:FlagRegister)是一个十六位的寄存器,但只利用了其中的9位:六个条件标志和三个控制标志。FR的格式CFPFAFZFSFTFIFDFOF0123456789101112131415校验进位辅助进位零标志方向标志溢出标志2、标志寄存器(PSW:programstateword)中断标志陷阱标志符号标志9进位标志CF(CarryFlag)当运算结果的最
6、高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF=1;否则CF=0。例如(以8位运算为例,8088中为16位):3AH+7CH=B6H没有进位:CF=0AAH+7CH=(1)26H有进位:CF=110溢出标志OF(OverflowFlag)若算术运算的结果有溢出,则OF=1;否则OF=0。例如:问题:什么是溢出?溢出和进位有什么区别?处理器怎么处理,程序员如何运用?如何判断是否溢出?P30找答案11什么是溢出处理器内部以补码表示有符号数8位表达的整数范围是:+127~-12816位表达的范围是:+32767~-3
7、2768如果运算结果超出这个范围,就产生了溢出有溢出,说明有符号数的运算结果不正确12溢出和进位的对比例1:3AH+7CH=B6H无符号数运算:58+124=182范围内,无进位有符号数运算:58+124=182范围外,有溢出例2:AAH+7CH=(1)26H无符号数运算:170+124=294范围外,有进位有符号数运算:-86+124=28范围内,无溢出13处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志CF;同时,根据是否超出有符号数的范围设置溢出标志OF应该利用哪个标志,则由程序员来决定。也就是说
8、,如果将参加运算的操作数认为是无符号数,就应该关心进位;认为是有符号数,则要注意是否溢出。14全零标志ZF(ZeroFlag)若运算结果为全0,则ZF=1,否则ZF=0。例如:3AH+7CH=B6H结果不是零:ZF=086H+7CH=00H结果是全零:ZF=115符号标志SF(SignFl
此文档下载收益归作者所有