1、第五章 微处理器1感谢你的观看2019年8月23CPU的特点v可以进行算术和逻辑运算v保存少量数据v对指令进行译码并执行规定的动作v与存储器、外设交换数据v提供系统所需要的定时和控制v可以响应其它部件发送过来的中断请求2感谢你的观看2019年8月23CPU的内部结构v算术逻辑部件(ALU)v累加器和通用寄存器组v程序计数器、指令寄存器和译码器v时序和控制部件3感谢你的观看2019年8月235.1 8086/8088 CPU1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 222
2、0 21地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21地AD14AD13
3、AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6SS(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086 CPU8088 CPUReturn4感谢你的观看2019年8月23AHALBHBLCHCLDHDLSPBPDISI1 2 3 4 5 6通用寄存器组AXBXCXDX外部总线CSDSSSESIP内部暂存器运算寄存器
4、ALU标 志输入输出控制电路执行部分控制电路执行部件(EU)总线接口部件(BIU)5感谢你的观看2019年8月238086 CPU 的特点v最早采用流水线结构的微处理器v采用分时复用的总线结构v存储器空间进行分段管理v具有丰富的指令集v具有丰富的寄存器组v容易构成时序系统8086/8088 CPU 结构图8086/8088的分段存储结构8086 的寄存器组8086总线周期序列6感谢你的观看2019年8月238086 的 分 段 存 储 结 构0000H:0000H,0001H,0002H,000EH,000FH,0010H,0011H,0012H,001EH,001FH,FFF0H,FFF1H
5、,FFF2H,FFFEH,FFFFHFFFFH:0000H,0001H,0002H,000EH,000FH,0010H,0011H,0012H,001EH,001FH,FFF0H,FFF1H,FFF2H,FFFEH,FFFFH0001H:0000H,0001H,0002H,000EH,000FH,0010H,0011H,0012H,001EH,001FH,FFF0H,FFF1H,FFF2H,FFFEH,FFFFH段段地地址址段段内内地地址址段段内内地地址址段段内内地地址址64K64K64KReturn7感谢你的观看2019年8月23物物 理理 地地 址址 的的 计计 算算物理地址:物理地址:2
6、0根地址线所表示的地址范围根地址线所表示的地址范围00000H-FFFFFH例如:例如:52000H逻辑地址:由段地址和相对于该段的偏移地址共同描述的地址逻辑地址:由段地址和相对于该段的偏移地址共同描述的地址例如:例如:5000H:2000H段地址段地址偏移地址偏移地址段寄存器进行管理段寄存器进行管理程序设计中使用的,有利于程序设计程序设计中使用的,有利于程序设计逻辑地址逻辑地址物理地址物理地址计算计算寻址寻址内存内存.00000HFFFFFH8感谢你的观看2019年8月23物物 理理 地地 址址 的的 计计 算算段段 地地 址址0 0 0 0 19 4 3 0段地址左移四位段地址左移四位偏偏
7、 移移 地地 址址15 14 13 2 1 020 位位 的的 物物 理理 地地 址址例:例:将逻辑地址将逻辑地址 3366H:0000H 转换为相应的物理地址转换为相应的物理地址解:解:将段地址左移四位将段地址左移四位 33660H 计算物理地址计算物理地址 33660H+0000H=33660H9感谢你的观看2019年8月23RETURNAX-1)作为累加器用,在加法运算中参与运算,结果存于累加其中;)作为累加器用,在加法运算中参与运算,结果存于累加其中;2)所有的)所有的I/O指令都使用这一寄存器与外部设备传送信息指令都使用这一寄存器与外部设备传送信息BX-作为通用寄存器使用,在计算存储
8、器地址的时候,它经常用作基址作为通用寄存器使用,在计算存储器地址的时候,它经常用作基址 寄存器寄存器CX-1)作为通用寄存器使用;)作为通用寄存器使用;2)常用来保存计数值,如在移位指令、循环指令和串处理指令中)常用来保存计数值,如在移位指令、循环指令和串处理指令中 用作隐含的计数器用作隐含的计数器DX-1)作为通用寄存器使用;)作为通用寄存器使用;2)在一些指令中,通常用它来存放数据,所以又称为数据寄存器;)在一些指令中,通常用它来存放数据,所以又称为数据寄存器;3)在做双字长运算时,将)在做双字长运算时,将DX和和AX组合在一起存放双字长数,用组合在一起存放双字长数,用DX 存放高位字;存
9、放高位字;4)对某些)对某些I/O操作时,操作时,DX用来存放端口的地址用来存放端口的地址数数 据据 寄寄 存存 器器 组组 的的 用用 途途10感谢你的观看2019年8月23堆堆 栈栈 操操 作作 示示 意意 图图RETURNSP90FFCH90FFDH90FFEH90FFFH91000H55 AA AH AL1000HSP9000HSSAA55SP90FFCH90FFDH90FFEH90FFFH91000H55 AA AH AL0FFEHSP9000HSS执行执行 PUSH 操作之后操作之后执行执行 PUSH 操作之前操作之前11感谢你的观看2019年8月23标标 志志 寄寄 存存 器器O
10、F DF IFTFSFZFAFPFCF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 进位标志进位标志CF:运算后,如果运算的最高位(字节的:运算后,如果运算的最高位(字节的D7位,字的位,字的D15位)位)有进位或者借位产生,则有进位或者借位产生,则CF=1,否则,否则CF=0。零标志零标志ZF:如果上一条指令的运算结果为:如果上一条指令的运算结果为0,则此标志位置位,则此标志位置位ZF=1,否则,否则ZF=0 符号标志符号标志SF:若运算结果的最高位(字节的:若运算结果的最高位(字节的D7位,字的位,字的D15位)为位)为1,则,则SF=1,否则,否则,SF=
11、0 溢出标志溢出标志OF:若发生算数溢出,即运算结果的长度超过了目的单元的容量,:若发生算数溢出,即运算结果的长度超过了目的单元的容量,丢失了有效数字,则丢失了有效数字,则OF=1,否则,否则OF=0 辅助进位标志辅助进位标志AF:又称半进位标志,在字节操作时,低四位相高四位有进:又称半进位标志,在字节操作时,低四位相高四位有进位或借位,自操作时,低位字节向高位字节有进位或借位,则位或借位,自操作时,低位字节向高位字节有进位或借位,则AF=1,否,否则则AF=0 奇偶标志奇偶标志PF:如果:如果“1”的个数为偶数,则的个数为偶数,则PF=1,否则,否则PF=012感谢你的观看2019年8月23
12、OF DF IFTFSFZFAFPFCF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 方向标志方向标志DF:用于规定字符串操作指令的步进方向。:用于规定字符串操作指令的步进方向。DF=0,表示串操作,表示串操作指令为自动增量指令,即串操作由低位地址向高位地址处理;指令为自动增量指令,即串操作由低位地址向高位地址处理;DF=1,表示表示串操作指令为自动减量指令,即串操作由高位地址向低位地址处理。串操作指令为自动减量指令,即串操作由高位地址向低位地址处理。中断允许标志中断允许标志IF:用于控制可屏蔽中断请求,:用于控制可屏蔽中断请求,IF=0,表示不允许接受外部,表
13、示不允许接受外部可屏蔽中断请求;可屏蔽中断请求;IF=1,表示允许接受外部可屏蔽中断请求,表示允许接受外部可屏蔽中断请求 跟踪标志跟踪标志TF:TF=1,则处理器进入单步方式,便于调试;若,则处理器进入单步方式,便于调试;若TF=0,则程,则程序不能进入单步调试状态序不能进入单步调试状态标标 志志 寄寄 存存 器器13感谢你的观看2019年8月23AHALBHBLCHCLDHDLSPBPDISICSDSSSESIPFLAG数据寄存器数据寄存器指示寄存器指示寄存器和和变址寄存器变址寄存器段寄存器段寄存器指令指针指令指针标志寄存器标志寄存器8086 的的 寄寄 存存 器器 组组AXBXCXDX堆栈
14、堆栈指针寄存器,指示堆栈的栈顶的偏移地址指针寄存器,指示堆栈的栈顶的偏移地址基址指针寄存器,指示堆栈中某一存储单元的地址基址指针寄存器,指示堆栈中某一存储单元的地址源变址寄存器源变址寄存器目的变址寄存器目的变址寄存器用于确定数据段中某一用于确定数据段中某一存储单元的地址存储单元的地址指向当前代码段,指令就是从这段取出的指向当前代码段,指令就是从这段取出的指向数据段,程序变量存于此段指向数据段,程序变量存于此段指向堆栈段,堆栈操作使用这段存储空间指向堆栈段,堆栈操作使用这段存储空间指向附加段,这个段用来存放经过处理的中间数据指向附加段,这个段用来存放经过处理的中间数据又称为程序计数器,控制程序中
15、指令执行的顺序又称为程序计数器,控制程序中指令执行的顺序标志寄存器标志寄存器RETURN数据寄存器的用途14感谢你的观看2019年8月238086 总总 线线 周周 期期 序序 列列T1T2T3TwT4T1T1T2CPU 往多路复用总线上发出地址信息,以指出存储单元或外设端口的地址往多路复用总线上发出地址信息,以指出存储单元或外设端口的地址CPU从总线上撤消地址,从而为传输数据作准备,总线的高从总线上撤消地址,从而为传输数据作准备,总线的高4位位用来输出本总线周期的状态信息,如当前正在使用的段存储器名用来输出本总线周期的状态信息,如当前正在使用的段存储器名多路总线的高多路总线的高4位继续提供状
16、态信息,而多路总线的低位继续提供状态信息,而多路总线的低16位上出现由位上出现由 CPU 写出的数据或者写出的数据或者CPU从存储器或外从存储器或外设端口读入的数据设端口读入的数据总线周期结束总线周期结束等待状态:有时,被读写数据的外设或存储器等待状态:有时,被读写数据的外设或存储器不能及时地配合不能及时地配合CPU传送数据,这时,外设或传送数据,这时,外设或存储器会通过存储器会通过”READY”信号线在信号线在T3状态启动之状态启动之前向前向CPU发送一个发送一个“数据未准备好数据未准备好”的信号,于的信号,于是,是,CPU会在会在T3状态之后插入若干个状态之后插入若干个Tw15感谢你的观看
17、2019年8月235.2 IBM PC 微型计算机及其工作原理 IBM PC 中数据的存储 5 5 A A HA A20000H5 520001H内内 存存00000HFFFFFH一个字节,一个字节,8位存储单元位存储单元相邻的相邻的2个个8位的存储单元(共位的存储单元(共16位),构成一个字位),构成一个字.字(双字)存放的起始地址字(双字)存放的起始地址3 320002H2 220003H2 2 3 316感谢你的观看2019年8月23 IBM PC 计算机的分段存储器结构17感谢你的观看2019年8月23 IBM PC 计算机的工作过程8086/8088 寄存器寄存器上电上电/复位初始状
18、态复位初始状态标志寄存器标志寄存器清零清零指令指针指令指针(IP)0000H代码段寄存器代码段寄存器(CS)0FFFFH数据段寄存器数据段寄存器(DS)0000H堆栈段寄存器堆栈段寄存器(SS)0000H附加数据段寄存器附加数据段寄存器(ES)0000H指令队列指令队列空空其它寄存器其它寄存器0000HIBM PC 的初始状态的初始状态18感谢你的观看2019年8月23CISC 技术与 RISC 技术vCISC-复杂指令系统计算机CISC结构的计算机v系列机的发展,使得计算机的指令系统变得越来越复杂VAX 11/780 303条指令v缩小与高级语言语义的差异和有利于操作系统的优化CISC 结构
19、计算机的缺点v指令的使用频度不均衡v限制了机器速度的进一步提高v不利于微处理器先进技术的采用19感谢你的观看2019年8月23vRISC-简化指令系统计算机RISC 技术的特征精简指令集,减少指令的执行周期数计算机执行程序所需的时间 P=I*C*TI:高级语言程序编译后在机器上运行的机器指令数C:执行每条机器指令所需的平均机器周期T:每个机器周期的执行时间ICTRISC1.2-1.41.3-1.4 1CISC14-101RISC/CISC 的的 I、C、T 统计比较统计比较RISC 的性能优于的性能优于 CISC 25 倍倍20感谢你的观看2019年8月23v选取使用频率较高的一些简单指令以及一些很有用但又不复杂的指令v指令长度固定,指令格式种类少,寻址方式种类少v只有取数/存数(LOAD/STORE)指令访问存储器,其余的指令都在寄存器内完成v采用流水线技术,大部分指令在一个时钟周期内完成。v控制器采用组合逻辑控制,不用微程序控制vCPU中有多个通用寄存器v采用优化的编译程序21感谢你的观看2019年8月23RISC 与 CISC 的比较v充分利用芯片的面积v提高计算机的运算速度v便于设计、降低成本,提高可靠性v有效支持高级语言程序22感谢你的观看2019年8月23