欢迎来到天天文库
浏览记录
ID:58755982
大小:430.00 KB
页数:68页
时间:2020-10-03
《汇编语言第2章微型计算机系统结构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章微型计算机系统结构本章学习目标.了解汇编语言程序设计的源程序总体结构和指令的执行过程。.理解微型计算机8086/8088CPU的内部结构和外部引脚的含义。.充分理解微型计算机8086/8088CPU的工作模式和适用的范围。.理解8086/8088CPU系统总线时序、总线周期的组成和完成的目标任务。.掌握8086/8088CPU内部段寄存器和通用寄存器的隐含及替代使用方法。.熟练掌握8086/8088CPU标志寄存器中的各标志位所表示的具体意义和产生的条件。2.18086/8088微处理器2.1.1CPU结构为了说
2、明8086CPU的结构,需要先了解CPU的功能,然后考虑需要什么样的结构才能够实现这种功能。这样的一种学习思路可以使读者更容易理解CPU的各个组成结构。CPU的功能概括起来就是“执行指令”。一个程序有很多条指令,放在内存中的。那么把它取出来送给CPU就是“取指”过程。指令本身的执行在CPU内部,“执行过程”跟接口没有关系。执行完毕,要将结果输出到内存或者端口,这就是“输出结果”过程。将上述指令执行的过程概括一下,可以分为3个步骤:①“取指”过程;②“执行”过程;③“输出结果”过程。执行过程在CPU内部完成,部件称为执行
3、部件EU;“取指”和“输出结果”过程则是由总线接口部件BIU来完成的。8086CPU内部结构如图2-1所示。从功能上可将8086分为两个部分,即总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecutionUnit).1.总线接口单元BIU总线接口单元的功能是负责完成与存储器或I/O设备之间的数据传送。其具体任务是:BIU要从内存取指令送到指令队列缓冲器;CPU执行指令时,总线接口单元要配合执行单元从指定的内存单元或外设端口中取数据,将数据传送给执行单元,或者把执行单元的操作结果传送到指定的内
4、存单元或外设端口中。BIU内有4个16位段地址寄存器CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)和ES(附加段寄存器),16位指令指针IP(InstructionPointer),6字节指令队列缓冲器,20位地址加法器和总线控制电路。下面对总线接口单元作3点说明。(1)指令队列缓冲器8086的指令队列为6个字节,而8088的指令队列为4个字节。不管是8086还是8088,都会在执行指令的同时,从内存中取下面一条或几条指令,取来的指令就依次放在指令队列中。它们采用“先进先出”的原则,按顺序存放,并顺序
5、到EU中去执行,且遵循下列原则。1)取指时,每当指令队列缓冲器中存满一条指令时,EU就立即开始执行。2)指令队列缓冲器中只要空出两个字节,BIU便自动执行取指操作,直到填满为止。3)在EU执行指令的过程中,指令需要对存储器或I/O设备存取数据时,BIU将在执行完现行取指的存储器周期后的下一个存储器周期时,对指定的内存单元或I/O设备进行存取操作,交换的数据经BIU由EU进行处理。4)当EU执行完转移、调用和返回指令时,则要清除指令队列缓冲器,并要求BIU从新的地址重新开始取指令,新取的第一条指令将直接经指令队列送到EU
6、去执行,随后取来的指令将填入指令队列缓冲器。由于BIU和EU是分开并独立工作的,因此,在一般情况下,CPU执行完一条指令后就可以执行下一条指令,而不需要像以往8位CPU那样重复地进行先取指令、后执行指令的串行操作。16位CPU这种并行重叠操作的特点,提高了总线的信息传输效率和整个系统的执行速度。如图2-2所示为8086/8088CPU程序的执行过程。(2)地址加法器和段寄存器8086有20条地址线,但CPU内部寄存器只有16位,那么如何用16位寄存器实现20位地址的寻址呢?分别用16位的段寄存器与16位的偏移量巧妙地解
7、决了这一矛盾。即各个段寄存器分别用来存放各段的起始地址。由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址(又称为逻辑地址)后,将与左移4位后的段寄存器的内容同时送到地址加法器进行相加,形成一个20位的实际地址(又称为物理地址),以对存储单元寻址。实际地址的产生过程如图2-3所示。例如,要形成某指令码的实际地址,就需将IP的值与代码段寄存器CS(CodeSegment)左移4位后的内容相加。假设CS=ECOOH,IP=0800H,此时指令的物理地址为EC800H。(3)16位指令指针IPIP的功能与8位CPU类
8、似。正常运行时,IP中含有BIU要取的下一条指令(字节)的偏移地址。IP在程序运行中能自动加1修正,使之指向要执行的下一条指令。有些指令能使IP值改变或使IP值压入堆栈,或由堆栈弹出恢复原值。2.执行单元EU执行单元不与系统直接相连,它的功能只是负责执行指令;执行的指令从BIU的指令队列缓冲器中取得,而且执行指令的结果或执行指令所
此文档下载收益归作者所有