第三章计算机原理与操作系统.ppt
第三章:第三章:计算机主机的工作原理计算机主机的工作原理uCPUCPU的组成及工作原理的组成及工作原理u存储器及存储器的工作原理存储器及存储器的工作原理u总线总线3.1 CPU3.1 CPU的组成及工作原理的组成及工作原理 CPUCPUCPUCPU概念:概念:概念:概念:中央处理器中央处理器中央处理器中央处理器(CPU :Central(CPU :Central(CPU :Central(CPU :Central ProcessingProcessingProcessingProcessing Unit)Unit)Unit)Unit)是整个计算机的核心。是整个计算机的核心。是整个计算机的核心。是整个计算机的核心。传统的传统的传统的传统的CPUCPUCPUCPU组成:组成:组成:组成:运算器、控制器。(在诺曼机的定义运算器、控制器。(在诺曼机的定义运算器、控制器。(在诺曼机的定义运算器、控制器。(在诺曼机的定义中)中)中)中)现代的现代的现代的现代的CPUCPUCPUCPU的基本部分有:的基本部分有:的基本部分有:的基本部分有:运算器、运算器、运算器、运算器、CacheCacheCacheCache和控制器。和控制器。和控制器。和控制器。CPU CPU CPU CPU 是控制并执行指令的部件,该部件不仅要与计是控制并执行指令的部件,该部件不仅要与计是控制并执行指令的部件,该部件不仅要与计是控制并执行指令的部件,该部件不仅要与计算机的其它功能部件进行信息交换,还要控制它们的操算机的其它功能部件进行信息交换,还要控制它们的操算机的其它功能部件进行信息交换,还要控制它们的操算机的其它功能部件进行信息交换,还要控制它们的操作。作。作。作。CPUCPU的基本功能:的基本功能:1、能、能够进行算行算术运算和运算和逻辑运算;运算;2、能、能对指令指令进行行译码、寄存并、寄存并执行指令所行指令所规定的操作;定的操作;3、具有与存、具有与存储器和器和I/O接口接口进行数据通信的能行数据通信的能力;力;4、少量数据的、少量数据的暂存;存;5、能、能够提供系提供系统所需的定所需的定时和控制信号;和控制信号;6、能、能够响响应输入入输出出设备发出的中断出的中断请求。求。一、一、CPU的一般结构及工作原理的一般结构及工作原理uCPUCPU的一般的一般的一般的一般结结构构构构一条指令在微一条指令在微一条指令在微一条指令在微处处理器中理器中理器中理器中执执行的行的行的行的过过程如下:程如下:程如下:程如下:1 1、程序、程序、程序、程序计计数器数器数器数器PCPC指出当前指令地址,并且把指令地址放到地指出当前指令地址,并且把指令地址放到地指出当前指令地址,并且把指令地址放到地指出当前指令地址,并且把指令地址放到地址址址址总线总线上,然后上,然后上,然后上,然后为为取下一条指令做好准取下一条指令做好准取下一条指令做好准取下一条指令做好准备备。2 2、由数据、由数据、由数据、由数据总线总线将指令从存将指令从存将指令从存将指令从存储储器中取出,送至寄存器,器中取出,送至寄存器,器中取出,送至寄存器,器中取出,送至寄存器,经经指令指令指令指令译码译码,控制,控制,控制,控制电电路路路路产产生完成生完成生完成生完成该该指令的各种控制信号。指令的各种控制信号。指令的各种控制信号。指令的各种控制信号。3 3、取出、取出、取出、取出该该指令所需的操作数地址和数据指令所需的操作数地址和数据指令所需的操作数地址和数据指令所需的操作数地址和数据4 4、完成、完成、完成、完成该该指令的操作。指令的操作。指令的操作。指令的操作。5 5、检查检查有无其它控制信号,并作出相有无其它控制信号,并作出相有无其它控制信号,并作出相有无其它控制信号,并作出相应处应处理。理。理。理。6 6、提供指示、提供指示、提供指示、提供指示处处理器状理器状理器状理器状态态的的的的标标志信号、控制信号及定志信号、控制信号及定志信号、控制信号及定志信号、控制信号及定时时信号等。信号等。信号等。信号等。1、算术逻辑运算部件、算术逻辑运算部件ALUu数据来源:数据来源:数据来源:数据来源:内部寄存器、外部数据内部寄存器、外部数据内部寄存器、外部数据内部寄存器、外部数据总线总线(存(存(存(存储储器)器)器)器)u主要功能:主要功能:主要功能:主要功能:11、执执行各种算行各种算行各种算行各种算术术运算,运算,运算,运算,给给出相出相出相出相应应的的的的标标志位;志位;志位;志位;22、执执行各种行各种行各种行各种逻辑逻辑运算,并运算,并运算,并运算,并进进行行行行逻辑测试逻辑测试。通常,一个算通常,一个算通常,一个算通常,一个算术术操作操作操作操作产产生一个运算生一个运算生一个运算生一个运算结结果,而果,而果,而果,而一个一个一个一个逻辑逻辑操作操作操作操作则产则产生一个判决。生一个判决。生一个判决。生一个判决。完成算术逻辑操作的有关部件(运算器)u为为什么要什么要什么要什么要设设置置置置暂暂存器和存器和存器和存器和锁锁存器存器存器存器11)暂暂存器存器存器存器如果是一个操作数,用累加器就能解决,两如果是一个操作数,用累加器就能解决,两如果是一个操作数,用累加器就能解决,两如果是一个操作数,用累加器就能解决,两个操作数就必个操作数就必个操作数就必个操作数就必须须将将将将别别一个一个一个一个暂暂存到存到存到存到暂暂存器。存器。存器。存器。22)锁锁存器存器存器存器ALUALU本身没有寄存功能,其本身没有寄存功能,其本身没有寄存功能,其本身没有寄存功能,其结结果会果会果会果会马马上占用上占用上占用上占用内部内部内部内部总线总线。如何将累加器的。如何将累加器的。如何将累加器的。如何将累加器的结结果保存下来,又不果保存下来,又不果保存下来,又不果保存下来,又不再反再反再反再反馈馈到到到到ALUALU的的的的输输入端,所以入端,所以入端,所以入端,所以设设置了置了置了置了锁锁存器。存器。存器。存器。u标标志寄存器志寄存器志寄存器志寄存器F F又称又称又称又称为为状状状状态态寄存器,用来保存算寄存器,用来保存算寄存器,用来保存算寄存器,用来保存算术术或或或或逻辑逻辑运算的状运算的状运算的状运算的状态态,如运算,如运算,如运算,如运算结结果果果果进进位位位位标标志志志志(Carry)(Carry)、溢出溢出溢出溢出标标志志志志(Overflow)(Overflow)、零、零、零、零标标志志志志(Zero)(Zero)、奇偶、奇偶、奇偶、奇偶性性性性标标志志志志(Parity)(Parity)、符号、符号、符号、符号标标志志志志(Sign)(Sign)等等。等等。等等。等等。2、控制部件、控制部件控制部件的作用是控制程序的控制部件的作用是控制程序的控制部件的作用是控制程序的控制部件的作用是控制程序的执执行,是整个行,是整个行,是整个行,是整个系系系系统统的指的指的指的指挥挥中心,必中心,必中心,必中心,必须须具具具具备备如下基本功能:如下基本功能:如下基本功能:如下基本功能:指令控制:指令控制:指令控制:指令控制:计计算机的工作算机的工作算机的工作算机的工作过过程就是程就是程就是程就是连续执连续执行行行行指令的指令的指令的指令的过过程。指令在存程。指令在存程。指令在存程。指令在存储储器中是器中是器中是器中是连续连续存放的,按存放的,按存放的,按存放的,按照照照照顺顺序一条条取出序一条条取出序一条条取出序一条条取出执执行。控制器要根据指令所在行。控制器要根据指令所在行。控制器要根据指令所在行。控制器要根据指令所在的地址取出指令,分析指令。的地址取出指令,分析指令。的地址取出指令,分析指令。的地址取出指令,分析指令。操作控制:操作控制:操作控制:操作控制:管理并管理并管理并管理并产产生由内存取出的每条指生由内存取出的每条指生由内存取出的每条指生由内存取出的每条指令的操作信号,把各种操作信号送往相令的操作信号,把各种操作信号送往相令的操作信号,把各种操作信号送往相令的操作信号,把各种操作信号送往相应应的部件,的部件,的部件,的部件,从而控制从而控制从而控制从而控制这这些部件按指令的要求些部件按指令的要求些部件按指令的要求些部件按指令的要求进进行行行行动动作。作。作。作。时时序控制:序控制:序控制:序控制:对对各种操作各种操作各种操作各种操作实实施施施施时间时间上的定上的定上的定上的定时时,称,称,称,称为时为时序控制。序控制。序控制。序控制。数据加工:数据加工:数据加工:数据加工:所所所所谓谓数据加工,就是数据加工,就是数据加工,就是数据加工,就是对对数据数据数据数据进进行算行算行算行算术术运算和运算和运算和运算和逻辑逻辑运算运算运算运算处处理。理。理。理。控制器内部主要由以下几个部分组成:控制器内部主要由以下几个部分组成:程序程序程序程序计计数器数器数器数器PC(programcounter):PC(programcounter):用来存放下一条要用来存放下一条要用来存放下一条要用来存放下一条要执执行的指令在存行的指令在存行的指令在存行的指令在存储储器中的地址。器中的地址。器中的地址。器中的地址。指令寄存器指令寄存器指令寄存器指令寄存器IR(instructionregister):IR(instructionregister):用来存放从存用来存放从存用来存放从存用来存放从存储储器中取出的待器中取出的待器中取出的待器中取出的待执执行的指令。行的指令。行的指令。行的指令。指令指令指令指令译码译码器器器器IDID(instructiondecoder):instructiondecoder):对对指令指令指令指令进进行行行行“翻翻翻翻译译”,确定要,确定要,确定要,确定要进进行什么行什么行什么行什么样样的操作。的操作。的操作。的操作。控制控制控制控制电电路路路路:根据分析,根据分析,根据分析,根据分析,发发出控制信号,完成出控制信号,完成出控制信号,完成出控制信号,完成该该指令的指令的指令的指令的所有操作。所有操作。所有操作。所有操作。3、寄存器部件、寄存器部件寄存器是用来寄存器是用来寄存器是用来寄存器是用来暂时暂时保存运算和控制保存运算和控制保存运算和控制保存运算和控制过过程中的程中的程中的程中的原始数据、中原始数据、中原始数据、中原始数据、中间结间结果、最果、最果、最果、最终结终结果以及控制、状果以及控制、状果以及控制、状果以及控制、状态态信息的,分信息的,分信息的,分信息的,分为为通用寄存器和通用寄存器和通用寄存器和通用寄存器和专专用寄存器两大用寄存器两大用寄存器两大用寄存器两大类类。u通用寄存器和通用寄存器和通用寄存器和通用寄存器和专专用寄存器用寄存器用寄存器用寄存器11)通用寄存器)通用寄存器)通用寄存器)通用寄存器用来存放原始数据和运算用来存放原始数据和运算用来存放原始数据和运算用来存放原始数据和运算结结果,有的果,有的果,有的果,有的还还可以可以可以可以作作作作为变为变址寄存器、址寄存器、址寄存器、址寄存器、计计数器、地址指数器、地址指数器、地址指数器、地址指针针等。等。等。等。现现代代代代计计算机中算机中算机中算机中为为了减少了减少了减少了减少访问访问存存存存储储器的次数,提高运算速器的次数,提高运算速器的次数,提高运算速器的次数,提高运算速度,往往度,往往度,往往度,往往设设置大量的通用寄存器。通用寄存器一置大量的通用寄存器。通用寄存器一置大量的通用寄存器。通用寄存器一置大量的通用寄存器。通用寄存器一般可以由般可以由般可以由般可以由CPUCPU直接直接直接直接访问访问。2 2)专专用寄存器用寄存器用寄存器用寄存器专门用来完成某一特殊功能寄存器。用来完成某一特殊功能寄存器。它它们是:指令寄存器(是:指令寄存器(IR)、程序)、程序计数器数器(PC)、地址寄存器()、地址寄存器(AR)、)、缓冲寄存器冲寄存器(DR)、累加寄存器()、累加寄存器(AC)、状)、状态条件寄条件寄存器(存器(PSW)。)。u采用多寄存器采用多寄存器采用多寄存器采用多寄存器结结构的目的构的目的构的目的构的目的11)可)可)可)可补偿补偿采用采用采用采用单总线单总线的速度的速度的速度的速度损损失失失失22)可)可)可)可实现实现取指令和取指令和取指令和取指令和执执行指令的并行操作行指令的并行操作行指令的并行操作行指令的并行操作33)可以保存中)可以保存中)可以保存中)可以保存中间结间结果果果果44)给编给编程程程程带带来灵活性来灵活性来灵活性来灵活性u堆堆堆堆栈栈和堆和堆和堆和堆栈栈指指指指针针11)设设置堆置堆置堆置堆栈栈的目的的目的的目的的目的调调用子程序和中断用子程序和中断用子程序和中断用子程序和中断处处理理理理时时,要保存,要保存,要保存,要保存现场现场信息,信息,信息,信息,如中如中如中如中间结查间结查、标标志等。子程序或中断志等。子程序或中断志等。子程序或中断志等。子程序或中断处处理理理理结结束后束后束后束后要恢复要恢复要恢复要恢复现场现场信息,信息,信息,信息,为为此在内存中需要此在内存中需要此在内存中需要此在内存中需要专门专门开辟一开辟一开辟一开辟一专专用空用空用空用空间间来保存上述信息,此来保存上述信息,此来保存上述信息,此来保存上述信息,此谓谓堆堆堆堆栈栈。那那那那为为什么什么什么什么要要要要设这设这个堆个堆个堆个堆栈栈呢:原因很呢:原因很呢:原因很呢:原因很简单简单:如果要存放一批:如果要存放一批:如果要存放一批:如果要存放一批数据,每一个数据都需要数据,每一个数据都需要数据,每一个数据都需要数据,每一个数据都需要记记住其所在的地址住其所在的地址住其所在的地址住其所在的地址单单元,元,元,元,比比比比较较麻麻麻麻烦烦。如果。如果。如果。如果规规定数据一定是一个接一个地存定数据一定是一个接一个地存定数据一定是一个接一个地存定数据一定是一个接一个地存放,那么只要知道第一个数据所在的放,那么只要知道第一个数据所在的放,那么只要知道第一个数据所在的放,那么只要知道第一个数据所在的单单元地址就元地址就元地址就元地址就可以了可以了可以了可以了 2 2)堆)堆)堆)堆栈栈的工作方式的工作方式的工作方式的工作方式堆堆堆堆栈栈就是就是就是就是这样这样一种数据一种数据一种数据一种数据结结构。它是在内存中开辟一个构。它是在内存中开辟一个构。它是在内存中开辟一个构。它是在内存中开辟一个存存存存储储区域,数据一个一个区域,数据一个一个区域,数据一个一个区域,数据一个一个顺顺序地存入(也就是序地存入(也就是序地存入(也就是序地存入(也就是“压压入入入入push”push”)这这个区域之中。有一个地址指个区域之中。有一个地址指个区域之中。有一个地址指个区域之中。有一个地址指针总针总指向最后一个指向最后一个指向最后一个指向最后一个压压入堆入堆入堆入堆栈栈的数据所在的数据的数据所在的数据的数据所在的数据的数据所在的数据单单元,存放元,存放元,存放元,存放这这个地址指个地址指个地址指个地址指针针的寄的寄的寄的寄存器就叫做堆存器就叫做堆存器就叫做堆存器就叫做堆栈栈指示器。开始放入数据的指示器。开始放入数据的指示器。开始放入数据的指示器。开始放入数据的单单元叫做元叫做元叫做元叫做“栈栈底底底底”。数据一个一个地存入,。数据一个一个地存入,。数据一个一个地存入,。数据一个一个地存入,这这个个个个过过程叫做程叫做程叫做程叫做“压栈压栈”。在。在。在。在压压栈栈的的的的过过程中,每有一个数据程中,每有一个数据程中,每有一个数据程中,每有一个数据压压入堆入堆入堆入堆栈栈,就放在和前一个,就放在和前一个,就放在和前一个,就放在和前一个单单元相元相元相元相连连的后面一个的后面一个的后面一个的后面一个单单元中,堆元中,堆元中,堆元中,堆栈栈指示器中的地址自指示器中的地址自指示器中的地址自指示器中的地址自动动加加加加1 1。读读取取取取这这些数据些数据些数据些数据时时,按照堆,按照堆,按照堆,按照堆栈栈指示器中的地址指示器中的地址指示器中的地址指示器中的地址读读取数据,堆取数据,堆取数据,堆取数据,堆栈栈指示器中的地址数自指示器中的地址数自指示器中的地址数自指示器中的地址数自动动减减减减 1 1。这这个个个个过过程叫做程叫做程叫做程叫做“弹弹出出出出pop”pop”。如此就如此就如此就如此就实现实现了后了后了后了后进进先出的原先出的原先出的原先出的原则则。uu栈栈:后:后:后:后进进先出先出先出先出(Last-In/First-Out)(Last-In/First-Out)uCPU的工作流程的工作流程 CPUCPU的工作原理就像一个工厂的工作原理就像一个工厂的工作原理就像一个工厂的工作原理就像一个工厂对产对产品的加工品的加工品的加工品的加工过过程程程程:进进入工厂的原料入工厂的原料入工厂的原料入工厂的原料(程序指令程序指令程序指令程序指令),经过经过物物物物资资分配分配分配分配部部部部门门(控制控制控制控制单单元元元元)的的的的调调度分配,被送往生度分配,被送往生度分配,被送往生度分配,被送往生产线产线(逻辑逻辑运算运算运算运算单单元元元元),生,生,生,生产产出成品出成品出成品出成品(处处理后的数据理后的数据理后的数据理后的数据)后,再存后,再存后,再存后,再存储储在在在在仓库仓库(存存存存储单储单元元元元)中,最后等着拿到市中,最后等着拿到市中,最后等着拿到市中,最后等着拿到市场场上去上去上去上去卖卖(交由交由交由交由应应用程序使用用程序使用用程序使用用程序使用)。在。在。在。在这这个个个个过过程中,我程中,我程中,我程中,我们们注注注注意到从控制意到从控制意到从控制意到从控制单单元开始,元开始,元开始,元开始,CPUCPU就开始了正式的工作,就开始了正式的工作,就开始了正式的工作,就开始了正式的工作,中中中中间间的的的的过过程是通程是通程是通程是通过逻辑过逻辑运算运算运算运算单单元来元来元来元来进进行运算行运算行运算行运算处处理,理,理,理,交到存交到存交到存交到存储单储单元代表工作的元代表工作的元代表工作的元代表工作的结结束。束。束。束。二、二、8086CPU及其工作原理及其工作原理1、80X86微处理器芯片的性能指标微处理器芯片的性能指标uu字长字长uu指令数指令数uu运算速度运算速度uu访问内存储器空间访问内存储器空间uu虚拟存储空间虚拟存储空间uu多处理器系统多处理器系统uu指令作业方式指令作业方式uu芯片制造工艺芯片制造工艺字长决定了决定了CPU表示数据的精度表示数据的精度提高了提高了CPU的相对运行速度的相对运行速度典型典型CPU字长字长CPU并行处理数据的位数,并行处理数据的位数,与数据总线宽度有关。与数据总线宽度有关。80888bit80888bit808616bit808616bit8038632bit8038632bitPentium32bitPentium32bit,6464bitbit指令数指令数基本指令基本指令133条条扩展指令数千条扩展指令数千条确定了确定了CPU能执行的功能。能执行的功能。功能不同指令助记符形式不同功能不同指令助记符形式不同不同寻址方式和不同寄存器的组合不同寻址方式和不同寄存器的组合运算速度运算速度 计算机完成操作的时间指标。计算机完成操作的时间指标。用指令执行时间测量(单位用指令执行时间测量(单位s)用每秒执行指令数测量用每秒执行指令数测量(单位单位MIPS)。)。提高速度的方法提高速度的方法 提高提高提高提高 CPUCPU主频主频主频主频 减少指令执行所需时钟周期数减少指令执行所需时钟周期数减少指令执行所需时钟周期数减少指令执行所需时钟周期数 增加数据线条数增加数据线条数增加数据线条数增加数据线条数 取指令和执行指令时间重叠取指令和执行指令时间重叠取指令和执行指令时间重叠取指令和执行指令时间重叠 双双双双 CPUCPU访存空间访存空间 Z80CPUAB=16访存空间访存空间=216=64K8086CPUAB=20访存空间访存空间=220=1M80286CPUAB=24访存空间访存空间=224=16M80386CPUAB=32访存空间访存空间=232=4GCPU能访问的内存储器单元容量,能访问的内存储器单元容量,与地址总线宽度有关。与地址总线宽度有关。虚拟存储空间虚拟存储空间 用硬件和软件的综合技术来用硬件和软件的综合技术来扩大用户可用存储空间。扩大用户可用存储空间。主存储器是基础主存储器是基础 高速缓存很重要高速缓存很重要 外存储器是根本外存储器是根本多处理器系统多处理器系统 微处理器微处理器 协处理器。协处理器。微处理器完成系统的主要功能微处理器完成系统的主要功能 协处理器完成系统的特殊功能协处理器完成系统的特殊功能 微处理器芯片微处理器芯片微处理器芯片微处理器芯片 80868086 浮点协处理协处理器芯片浮点协处理协处理器芯片浮点协处理协处理器芯片浮点协处理协处理器芯片 80878087 控制总线协处理器芯片控制总线协处理器芯片控制总线协处理器芯片控制总线协处理器芯片 82888288指令作业方式指令作业方式 取指令与执行指令的时间分配。取指令与执行指令的时间分配。取指令与执行指令分时进行取指令与执行指令分时进行 取指令与执行指令同时进行取指令与执行指令同时进行取指令与执行指令同时进行取指令与执行指令同时进行 传统传统8位位CPU工作方式工作方式80X86CPU工作方式工作方式芯片制造工艺芯片制造工艺 工艺的改进带来更高的芯片集成度。工艺的改进带来更高的芯片集成度。集成度从早期的每片数千个晶体管数量级集成度从早期的每片数千个晶体管数量级到近期的每片数百万个晶体管数量级。到近期的每片数百万个晶体管数量级。线条宽度从微米级到纳米级线条宽度从微米级到纳米级 主频从数兆赫兹到数千兆赫兹。主频从数兆赫兹到数千兆赫兹。8 80 08 86 6/8 80 08 88 8C CP PU U 功功功功能能能能结结结结构构构构图图图图EU控控制制器器ALU暂暂存存器器标志寄存器标志寄存器8位队位队列总线列总线总总线线控控制制逻逻辑辑内部总线内部总线16位位地址加法器地址加法器20位地位地址总线址总线16位位数数据据总总线线执执行行部部件件EU总总线线接接口口部部件件BIU123456指令队列指令队列通用寄存器通用寄存器AXAHALBXBHBLCXCHCLDXDHDLSPBPDISICSDSSSES8088808880868086IP暂存器暂存器8 80 08 86 6总总总总线线线线2、8086CPU内部结构内部结构8086CPU从功能上可分为下面两个部分从功能上可分为下面两个部分uu执行部件执行部件EU(ExecutionUnit)8086CPU8086CPU的核心,只的核心,只的核心,只的核心,只负责执负责执行指令,分析指令,行指令,分析指令,行指令,分析指令,行指令,分析指令,暂暂存中存中存中存中间间运算运算运算运算结结果并保留果并保留果并保留果并保留结结果的特征。果的特征。果的特征。果的特征。uu接口部件接口部件BIU(BusInterfaceUnit)负责负责CPUCPU与存与存与存与存储储器、器、器、器、I/OI/O接口之接口之接口之接口之间间的信息的信息的信息的信息传传送。送。送。送。执行部件的组成执行部件的组成16位运算器位运算器ALU8位控制单元位控制单元16位寄存器组位寄存器组 算术及逻辑运算算术及逻辑运算算术及逻辑运算算术及逻辑运算1616位偏移地址运算位偏移地址运算位偏移地址运算位偏移地址运算(80868086特点)特点)特点)特点)从从从从BIUBIU的指令队列中取指令的指令队列中取指令的指令队列中取指令的指令队列中取指令 对指令进行译码并产生不同的控制信号对指令进行译码并产生不同的控制信号对指令进行译码并产生不同的控制信号对指令进行译码并产生不同的控制信号1616位通用寄存器位通用寄存器位通用寄存器位通用寄存器 AX,BX,CX,DX,BP,SP,SI,DIAX,BX,CX,DX,BP,SP,SI,DI1616位状态标志寄存器位状态标志寄存器位状态标志寄存器位状态标志寄存器 FlagFlag执行单元执行单元执行单元执行单元EUEU由下列部件组成:由下列部件组成:由下列部件组成:由下列部件组成:1.1616位算术逻辑单元位算术逻辑单元位算术逻辑单元位算术逻辑单元(ALU)(ALU):进行算术和逻辑运算。2.1616位标志寄存器位标志寄存器位标志寄存器位标志寄存器FLAGSFLAGS:存放CPU运算的状态和控制标志。3.数据暂存寄存器:数据暂存寄存器:数据暂存寄存器:数据暂存寄存器:暂存参加运算的数据4.通用寄存器:通用寄存器:包括4个16位数据寄存器AX、BX、CX、DX和4个16位指针与变址寄存器SP、BP与SI、DI。5.EU控制电路:控制电路:它是控制、定时与状态逻辑电路,接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,对EU的各个部件实现特定的定时操作。uu指令队列指令队列为先进先出结构为先进先出结构为先进先出结构为先进先出结构指令队列中只要有一条指令,指令队列中只要有一条指令,指令队列中只要有一条指令,指令队列中只要有一条指令,EUEU就开始执行就开始执行就开始执行就开始执行指令队列只要未满,指令队列只要未满,指令队列只要未满,指令队列只要未满,BIUBIU自动执行取指操作,自动执行取指操作,自动执行取指操作,自动执行取指操作,直到填满为止直到填满为止直到填满为止直到填满为止当执行转移指令时,当执行转移指令时,当执行转移指令时,当执行转移指令时,EUEU要求要求要求要求BIUBIU从新的地址中从新的地址中从新的地址中从新的地址中重新取指。队列中原有指令被清除。新取得的重新取指。队列中原有指令被清除。新取得的重新取指。队列中原有指令被清除。新取得的重新取指。队列中原有指令被清除。新取得的第一条指令直接送第一条指令直接送第一条指令直接送第一条指令直接送EUEU执行,随后取得的指令填执行,随后取得的指令填执行,随后取得的指令填执行,随后取得的指令填入队列入队列入队列入队列接口部件接口部件BIUuu指令队列的特点指令队列的特点经总线从代码段取指令,送经总线从代码段取指令,送经总线从代码段取指令,送经总线从代码段取指令,送 EUEU译码译码译码译码接口部件接口部件BIU取指取指取指取指 总线忙总线忙总线忙总线忙执指执指执指执指 总线闲总线闲总线闲总线闲取指、执指取指、执指取指、执指取指、执指 重叠重叠重叠重叠取指、执指取指、执指取指、执指取指、执指 总线忙总线忙总线忙总线忙Z80CPU的取指、执指(没有指令队列)的取指、执指(没有指令队列)顺序执行指令顺序执行指令8086CPU的取指、执指(有指令队列)的取指、执指(有指令队列)并行执行指令并行执行指令接口部件接口部件BIUuu指令队列的优点指令队列的优点指令队列的优点指令队列的优点 在一条指令的执行过程中可以取出下一条(或多条)指令在一条指令的执行过程中可以取出下一条(或多条)指令在一条指令的执行过程中可以取出下一条(或多条)指令在一条指令的执行过程中可以取出下一条(或多条)指令在一条指令执行完成后,就可以立即执行下一条指令在一条指令执行完成后,就可以立即执行下一条指令在一条指令执行完成后,就可以立即执行下一条指令在一条指令执行完成后,就可以立即执行下一条指令 减少减少减少减少CPUCPU为取指令而等待的时间为取指令而等待的时间为取指令而等待的时间为取指令而等待的时间 提高提高提高提高CPUCPU的利用率和整个运行速度的利用率和整个运行速度的利用率和整个运行速度的利用率和整个运行速度接口部件接口部件BIUuu16位指令指针寄存器位指令指针寄存器IP接口部件接口部件BIU指令指针寄存器指令指针寄存器指令指针寄存器指令指针寄存器 IP=16bitIP=16bit注:注:注:注:IPIP指向存储器单元的指向存储器单元的指向存储器单元的指向存储器单元的 偏移地址偏移地址偏移地址偏移地址uu16位段寄存器位段寄存器CS、DS、ES、SS接口部件接口部件BIU8086CPU8086CPU的的的的AB=20bitAB=20bit,REG=16bitREG=16bit,怎样用怎样用怎样用怎样用 1616位寄存器表示位寄存器表示位寄存器表示位寄存器表示 2020位存储器实际地址。位存储器实际地址。位存储器实际地址。位存储器实际地址。将将将将8086CPU8086CPU能访问的能访问的能访问的能访问的 1M1M存储器空间分为多段,存储器空间分为多段,存储器空间分为多段,存储器空间分为多段,每段长为每段长为每段长为每段长为 64K64K个存储单元(段内偏移地址为个存储单元(段内偏移地址为个存储单元(段内偏移地址为个存储单元(段内偏移地址为1616位)。位)。位)。位)。CSCS、DSDS、ESES、SSSS为存放段地址的寄存器,为存放段地址的寄存器,为存放段地址的寄存器,为存放段地址的寄存器,不同段的段地址放入所对应的段寄存器。不同段的段地址放入所对应的段寄存器。不同段的段地址放入所对应的段寄存器。不同段的段地址放入所对应的段寄存器。uu20位地址产生器位地址产生器接口部件接口部件BIU 输入输入 输出输出 公式公式段寄存器中的段寄存器中的段寄存器中的段寄存器中的 1616位位位位段首地址(逻辑地址)段首地址(逻辑地址)段首地址(逻辑地址)段首地址(逻辑地址)内总线中来的内总线中来的内总线中来的内总线中来的 1616位位位位段内偏移地址(逻辑地址)段内偏移地址(逻辑地址)段内偏移地址(逻辑地址)段内偏移地址(逻辑地址)2020位位位位 实际地址(物理地址)实际地址(物理地址)实际地址(物理地址)实际地址(物理地址)实际地址实际地址实际地址实际地址=段首地址段首地址段首地址段首地址*16+16+段内偏移地址段内偏移地址段内偏移地址段内偏移地址 实际地址实际地址实际地址实际地址=段首地址段首地址段首地址段首地址4+4+段内偏移地址段内偏移地址段内偏移地址段内偏移地址 物物理理地地址址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。物理地址的形成过程如图3.3所示。当由IP提供或由EU根据指令所提供寻址方式计算出寻址单元的16位段内偏移地址后,把该偏移地址和段寄存器内容左移四位后(相当于乘以10H)得到的段基址(段内第一个存储单元的物理地址)同时送到BIU中的地址加法器,形成一个20位的物理地址,从而实现对存储单元的访问。由逻辑地址求物理地址的公式为:物理地址物理地址物理地址物理地址=段地址段地址段地址段地址 10H+10H+10H+10H+段内偏移地址段内偏移地址段内偏移地址段内偏移地址 如假设当前(CS)=20A8H,(IP)=2008H,那么,下一条从内存中读取的指令所在存储单元的物理地址为:20A8H10H+2008H=22A88H。实际地址生成过程实际地址生成过程CS左移左移4位位20位+地址加法器地址加法器CS16位物理地址物理地址20位IPIP例例:段地址为段地址为2F86H,偏移地址为,偏移地址为2A36H问问:该存储器单元的实际地址该存储器单元的实际地址PA为多少为多少PA=段地址段地址4+偏移地址偏移地址=2F86H4+2A36H=2F860H+2A36H=32296Hu总线总线控制控制控制控制电电路路路路将将将将8086CPU8086CPU的内部的内部的内部的内部总线总线与外部与外部与外部与外部总线总线相相相相连连的控制的控制的控制的控制电电路。路。路。路。8086CPU的寄存器结构的寄存器结构uu寄存器分类特点寄存器分类特点通用数据寄存器通用数据寄存器通用地址寄存器通用地址寄存器段寄存器段寄存器指令指针寄存器指令指针寄存器标志寄存器标志寄存器标志寄存器标志寄存器注:均为注:均为注:均为注:均为 1616位寄存器,共位寄存器,共位寄存器,共位寄存器,共 1414个个个个AXAX、BXBX、CXCX、DXDXSPSP、BPBP、SISI、DIDICSCS、DSDS、ESES、SSSSIPIPF F8086CPU的寄存器结构的寄存器结构uu通用数据寄存器通用数据寄存器16位通用数据寄存器(位通用数据寄存器(4个)个)8位通用数据寄存器(位通用数据寄存器(8个)个)AXBXCXDXAXBXCXDXAHBHCHDHAHBHCHDHALBLCLDLALBLCLDL注:为了满足兼容性,可注:为了满足兼容性,可注:为了满足兼容性,可注:为了满足兼容性,可 8 8位、位、位、位、1616位使用位使用位使用位使用8086CPU的寄存器结构的寄存器结构uu通用数据寄存器的习惯用法通用数据寄存器的习惯用法AXAX累加器,常用于存放算术逻辑运累加器,常用于存放算术逻辑运累加器,常用于存放算术逻辑运累加器,常用于存放算术逻辑运算中的操作数,并与外设接口传递信息。算中的操作数,并与外设接口传递信息。算中的操作数,并与外设接口传递信息。算中的操作数,并与外设接口传递信息。BXBX基址寄存器,常用来存放访问基址寄存器,常用来存放访问基址寄存器,常用来存放访问基址寄存器,常用来存放访问内存时的偏移地址。内存时的偏移地址。内存时的偏移地址。内存时的偏移地址。CXCX计数器,在循环和串操作指令中计数器,在循环和串操作指令中计数器,在循环和串操作指令中计数器,在循环和串操作指令中用作计数器。用作计数器。用作计数器。用作计数器。DXDX数据寄存器,在间接寻址的输入数据寄存器,在间接寻址的输入数据寄存器,在间接寻址的输入数据寄存器,在间接寻址的输入/输出指令中作地址寄存器用。输出指令中作地址寄存器用。输出指令中作地址寄存器用。输出指令中作地址寄存器用。8086CPU的寄存器结构的寄存器结构uu通用地址寄存器通用地址寄存器SP、BP、SI、DI仅有仅有16位使用,称地址指针寄存器位使用,称地址指针寄存器用于存放存储器段内偏移地址用于存放存储器段内偏移地址常用功能常用功能BP堆栈基址指针堆栈基址指针SP堆栈栈顶指针堆栈栈顶指针SI源变址指针源变址指针DI目的变址指针目的变址指针8086CPU的寄存器结构的寄存器结构uu通用寄存器使用特点通用寄存器使用特点 一般情况下,通用寄存器可以用于任何指令的任一般情况下,通用寄存器可以用于任何指令的任一般情况下,通用寄存器可以用于任何指令的任一般情况下,通用寄存器可以用于任何指令的任意操作,并且可以相互替换。意操作,并且可以相互替换。意操作,并且可以相互替换。意操作,并且可以相互替换。1616位的通用数据寄存器可分解为位的通用数据寄存器可分解为位的通用数据寄存器可分解为位的通用数据寄存器可分解为 2 2个个个个 8 8位的使用,位的使用,位的使用,位的使用,它是同一个物理介质。它是同一个物理介质。它是同一个物理介质。它是同一个物理介质。通用地址寄存器不能分解为通用地址寄存器不能分解为通用地址寄存器不能分解为通用地址寄存器不能分解为 8 8位使用。位使用。位使用。位使用。有些操作规定只能使用某个特定的寄存器,有些操作规定只能使用某个特定的寄存器,有些操作规定只能使用某个特定的寄存器,有些操作规定只能使用某个特定的寄存器,即寄存器的特殊用法。即寄存器的特殊用法。即寄存器的特殊用法。即寄存器的特殊用法。AXAXBXBXCXCXDXDX8086CPU的通用寄存器总结的通用寄存器总结目的变址指针(目的变址指针(DestinationIndex)DIDI源变址指针(源变址指针(SourceIndex)SISI基址指针(基址指针(BasePointer)BPBP堆栈指针(堆栈指针(StackPointer)SPSP数据寄存器(数据寄存器(Data)DLDLDHDHDXDX计数寄存器(计数寄存器(Count)CLCLCHCHCXCX基址寄存器(基址寄存器(Base)BLBLBHBHBXBX累加器(累加器(Accumulator)ALALAHAHAXAX数据寄存器数据寄存器数据寄存器数据寄存器 可可可可分为两个分为两个分为两个分为两个8 8位,