《计算机原理与操作系统课件》由会员分享,可在线阅读,更多相关《计算机原理与操作系统课件(179页珍藏版)》请在金锄头文库上搜索。
1、计算机主机的工作原理计算机主机的工作原理uCPUCPU的组成及工作原理的组成及工作原理u存储器及存储器的工作原理存储器及存储器的工作原理u总线总线3.1 CPU3.1 CPU的组成及工作原理的组成及工作原理 CPUCPUCPUCPU概念:概念:概念:概念:中央处理器中央处理器中央处理器中央处理器(CPU :Central(CPU :Central(CPU :Central(CPU :Central ProcessingProcessingProcessingProcessing Unit)Unit)Unit)Unit)是整个计算机的核心。是整个计算机的核心。是整个计算机的核心。是整个计算机的核
2、心。 传统的传统的传统的传统的CPUCPUCPUCPU组成:组成:组成:组成:运算器、控制器。(在诺曼机的定义运算器、控制器。(在诺曼机的定义运算器、控制器。(在诺曼机的定义运算器、控制器。(在诺曼机的定义中)中)中)中) 现代的现代的现代的现代的CPUCPUCPUCPU的基本部分有:的基本部分有:的基本部分有:的基本部分有:运算器、运算器、运算器、运算器、CacheCacheCacheCache和控制器。和控制器。和控制器。和控制器。 CPU CPU CPU CPU 是控制并执行指令的部件,该部件不仅要与计是控制并执行指令的部件,该部件不仅要与计是控制并执行指令的部件,该部件不仅要与计是控制
3、并执行指令的部件,该部件不仅要与计算机的其它功能部件进行信息交换,还要控制它们的操算机的其它功能部件进行信息交换,还要控制它们的操算机的其它功能部件进行信息交换,还要控制它们的操算机的其它功能部件进行信息交换,还要控制它们的操作。作。作。作。CPUCPU的基本功能:的基本功能:1、能、能够进行算行算术运算和运算和逻辑运算;运算;2、能、能对指令指令进行行译码、寄存并、寄存并执行指令所行指令所规定的操作;定的操作;3、具有与存、具有与存储器和器和I/O接口接口进行数据通信的能行数据通信的能力;力;4、少量数据的、少量数据的暂存;存;5、能、能够提供系提供系统所需的定所需的定时和控制信号;和控制信
4、号;6、能、能够响响应输入入输出出设备发出的中断出的中断请求。求。一、一、CPU的一般的一般结构及工作原理构及工作原理uCPUCPU的一般的一般的一般的一般结结构构构构一条指令在微一条指令在微一条指令在微一条指令在微处处理器中理器中理器中理器中执执行的行的行的行的过过程如下:程如下:程如下:程如下:1 1、程序、程序、程序、程序计计数器数器数器数器PCPC指出当前指令地址,并且把指令地址放到地指出当前指令地址,并且把指令地址放到地指出当前指令地址,并且把指令地址放到地指出当前指令地址,并且把指令地址放到地址址址址总线总线上,然后上,然后上,然后上,然后为为取下一条指令做好准取下一条指令做好准取
5、下一条指令做好准取下一条指令做好准备备。2 2、由数据、由数据、由数据、由数据总线总线将指令从存将指令从存将指令从存将指令从存储储器中取出,送至寄存器,器中取出,送至寄存器,器中取出,送至寄存器,器中取出,送至寄存器,经经指令指令指令指令译码译码,控制,控制,控制,控制电电路路路路产产生完成生完成生完成生完成该该指令的各种控制信号。指令的各种控制信号。指令的各种控制信号。指令的各种控制信号。3 3、取出、取出、取出、取出该该指令所需的操作数地址和数据指令所需的操作数地址和数据指令所需的操作数地址和数据指令所需的操作数地址和数据4 4、完成、完成、完成、完成该该指令的操作。指令的操作。指令的操作
6、。指令的操作。5 5、检查检查有无其它控制信号,并作出相有无其它控制信号,并作出相有无其它控制信号,并作出相有无其它控制信号,并作出相应处应处理。理。理。理。6 6、提供指示、提供指示、提供指示、提供指示处处理器状理器状理器状理器状态态的的的的标标志信号、控制信号及定志信号、控制信号及定志信号、控制信号及定志信号、控制信号及定时时信号等。信号等。信号等。信号等。1、算、算术逻辑运算部件运算部件ALUu数据来源:数据来源:数据来源:数据来源:内部寄存器、外部数据内部寄存器、外部数据内部寄存器、外部数据内部寄存器、外部数据总线总线(存(存(存(存储储器)器)器)器)u主要功能:主要功能:主要功能:
7、主要功能:11、执执行各种算行各种算行各种算行各种算术术运算,运算,运算,运算,给给出相出相出相出相应应的的的的标标志位;志位;志位;志位;22、执执行各种行各种行各种行各种逻辑逻辑运算,并运算,并运算,并运算,并进进行行行行逻辑测试逻辑测试。通常,一个算通常,一个算通常,一个算通常,一个算术术操作操作操作操作产产生一个运算生一个运算生一个运算生一个运算结结果,而果,而果,而果,而一个一个一个一个逻辑逻辑操作操作操作操作则产则产生一个判决。生一个判决。生一个判决。生一个判决。完成算术逻辑操作的有关部件(运算器)u为为什么要什么要什么要什么要设设置置置置暂暂存器和存器和存器和存器和锁锁存器存器存
8、器存器11)暂暂存器存器存器存器如果是一个操作数,用累加器就能解决,两如果是一个操作数,用累加器就能解决,两如果是一个操作数,用累加器就能解决,两如果是一个操作数,用累加器就能解决,两个操作数就必个操作数就必个操作数就必个操作数就必须须将将将将别别一个一个一个一个暂暂存到存到存到存到暂暂存器。存器。存器。存器。22)锁锁存器存器存器存器ALUALU本身没有寄存功能,其本身没有寄存功能,其本身没有寄存功能,其本身没有寄存功能,其结结果会果会果会果会马马上占用上占用上占用上占用内部内部内部内部总线总线。如何将累加器的。如何将累加器的。如何将累加器的。如何将累加器的结结果保存下来,又不果保存下来,又
9、不果保存下来,又不果保存下来,又不再反再反再反再反馈馈到到到到ALUALU的的的的输输入端,所以入端,所以入端,所以入端,所以设设置了置了置了置了锁锁存器。存器。存器。存器。u标标志寄存器志寄存器志寄存器志寄存器F F又称又称又称又称为为状状状状态态寄存器,用来保存算寄存器,用来保存算寄存器,用来保存算寄存器,用来保存算术术或或或或逻辑逻辑运算的状运算的状运算的状运算的状态态,如运算,如运算,如运算,如运算结结果果果果进进位位位位标标志志志志(Carry)(Carry)、溢出溢出溢出溢出标标志志志志(Overflow)(Overflow)、零、零、零、零标标志志志志(Zero)(Zero)、奇
10、偶、奇偶、奇偶、奇偶性性性性标标志志志志(Parity)(Parity)、符号、符号、符号、符号标标志志志志(Sign)(Sign)等等。等等。等等。等等。2、控制部件、控制部件控制部件的作用是控制程序的控制部件的作用是控制程序的控制部件的作用是控制程序的控制部件的作用是控制程序的执执行,是整个行,是整个行,是整个行,是整个系系系系统统的指的指的指的指挥挥中心,必中心,必中心,必中心,必须须具具具具备备如下基本功能:如下基本功能:如下基本功能:如下基本功能:指令控制:指令控制:指令控制:指令控制:计计算机的工作算机的工作算机的工作算机的工作过过程就是程就是程就是程就是连续执连续执行行行行指令的
11、指令的指令的指令的过过程。指令在存程。指令在存程。指令在存程。指令在存储储器中是器中是器中是器中是连续连续存放的,按存放的,按存放的,按存放的,按照照照照顺顺序一条条取出序一条条取出序一条条取出序一条条取出执执行。控制器要根据指令所在行。控制器要根据指令所在行。控制器要根据指令所在行。控制器要根据指令所在的地址取出指令,分析指令。的地址取出指令,分析指令。的地址取出指令,分析指令。的地址取出指令,分析指令。 操作控制:操作控制:操作控制:操作控制:管理并管理并管理并管理并产产生由内存取出的每条指生由内存取出的每条指生由内存取出的每条指生由内存取出的每条指令的操作信号,把各种操作信号送往相令的操
12、作信号,把各种操作信号送往相令的操作信号,把各种操作信号送往相令的操作信号,把各种操作信号送往相应应的部件,的部件,的部件,的部件,从而控制从而控制从而控制从而控制这这些部件按指令的要求些部件按指令的要求些部件按指令的要求些部件按指令的要求进进行行行行动动作。作。作。作。时时序控制:序控制:序控制:序控制:对对各种操作各种操作各种操作各种操作实实施施施施时间时间上的定上的定上的定上的定时时,称,称,称,称为时为时序控制。序控制。序控制。序控制。 数据加工:数据加工:数据加工:数据加工:所所所所谓谓数据加工,就是数据加工,就是数据加工,就是数据加工,就是对对数据数据数据数据进进行算行算行算行算术
13、术运算和运算和运算和运算和逻辑逻辑运算运算运算运算处处理。理。理。理。控制器内部主要由以下几个部分控制器内部主要由以下几个部分组成:成:程序程序程序程序计计数器数器数器数器PC(programcounter):PC(programcounter):用来存放下一条要用来存放下一条要用来存放下一条要用来存放下一条要执执行的指令在存行的指令在存行的指令在存行的指令在存储储器中的地址。器中的地址。器中的地址。器中的地址。指令寄存器指令寄存器指令寄存器指令寄存器IR(instructionregister):IR(instructionregister):用来存放从存用来存放从存用来存放从存用来存放从存
14、储储器中取出的待器中取出的待器中取出的待器中取出的待执执行的指令。行的指令。行的指令。行的指令。 指令指令指令指令译码译码器器器器IDID(instructiondecoder):instructiondecoder):对对指令指令指令指令进进行行行行“ “翻翻翻翻译译” ”,确定要,确定要,确定要,确定要进进行什么行什么行什么行什么样样的操作。的操作。的操作。的操作。 控制控制控制控制电电路路路路: :根据分析,根据分析,根据分析,根据分析,发发出控制信号,完成出控制信号,完成出控制信号,完成出控制信号,完成该该指令的指令的指令的指令的所有操作。所有操作。所有操作。所有操作。3、寄存器部件、
15、寄存器部件寄存器是用来寄存器是用来寄存器是用来寄存器是用来暂时暂时保存运算和控制保存运算和控制保存运算和控制保存运算和控制过过程中的程中的程中的程中的原始数据、中原始数据、中原始数据、中原始数据、中间结间结果、最果、最果、最果、最终结终结果以及控制、状果以及控制、状果以及控制、状果以及控制、状态态信息的,分信息的,分信息的,分信息的,分为为通用寄存器和通用寄存器和通用寄存器和通用寄存器和专专用寄存器两大用寄存器两大用寄存器两大用寄存器两大类类。u通用寄存器和通用寄存器和通用寄存器和通用寄存器和专专用寄存器用寄存器用寄存器用寄存器11)通用寄存器)通用寄存器)通用寄存器)通用寄存器用来存放原始数
16、据和运算用来存放原始数据和运算用来存放原始数据和运算用来存放原始数据和运算结结果,有的果,有的果,有的果,有的还还可以可以可以可以作作作作为变为变址寄存器、址寄存器、址寄存器、址寄存器、计计数器、地址指数器、地址指数器、地址指数器、地址指针针等。等。等。等。现现代代代代计计算机中算机中算机中算机中为为了减少了减少了减少了减少访问访问存存存存储储器的次数,提高运算速器的次数,提高运算速器的次数,提高运算速器的次数,提高运算速度,往往度,往往度,往往度,往往设设置大量的通用寄存器。通用寄存器一置大量的通用寄存器。通用寄存器一置大量的通用寄存器。通用寄存器一置大量的通用寄存器。通用寄存器一般可以由般
17、可以由般可以由般可以由CPUCPU直接直接直接直接访问访问。2 2)专专用寄存器用寄存器用寄存器用寄存器专门用来完成某一特殊功能寄存器。用来完成某一特殊功能寄存器。它它们是:指令寄存器(是:指令寄存器(IR)、程序)、程序计数器数器(PC)、地址寄存器()、地址寄存器(AR)、)、缓冲寄存器冲寄存器(DR)、累加寄存器()、累加寄存器(AC)、状)、状态条件条件寄存器(寄存器(PSW)。)。u采用多寄存器采用多寄存器采用多寄存器采用多寄存器结结构的目的构的目的构的目的构的目的11)可)可)可)可补偿补偿采用采用采用采用单总线单总线的速度的速度的速度的速度损损失失失失22)可)可)可)可实现实现
18、取指令和取指令和取指令和取指令和执执行指令的并行操作行指令的并行操作行指令的并行操作行指令的并行操作33)可以保存中)可以保存中)可以保存中)可以保存中间结间结果果果果44)给编给编程程程程带带来灵活性来灵活性来灵活性来灵活性u堆堆堆堆栈栈和堆和堆和堆和堆栈栈指指指指针针11)设设置堆置堆置堆置堆栈栈的目的的目的的目的的目的调调用子程序和中断用子程序和中断用子程序和中断用子程序和中断处处理理理理时时,要保存,要保存,要保存,要保存现场现场信息,信息,信息,信息,如中如中如中如中间结查间结查、标标志等。子程序或中断志等。子程序或中断志等。子程序或中断志等。子程序或中断处处理理理理结结束后束后束后
19、束后要恢复要恢复要恢复要恢复现场现场信息,信息,信息,信息,为为此在内存中需要此在内存中需要此在内存中需要此在内存中需要专门专门开辟一开辟一开辟一开辟一专专用空用空用空用空间间来保存上述信息,此来保存上述信息,此来保存上述信息,此来保存上述信息,此谓谓堆堆堆堆栈栈。那那那那为为什么什么什么什么要要要要设这设这个堆个堆个堆个堆栈栈呢:原因很呢:原因很呢:原因很呢:原因很简单简单:如果要存放一批:如果要存放一批:如果要存放一批:如果要存放一批数据,每一个数据都需要数据,每一个数据都需要数据,每一个数据都需要数据,每一个数据都需要记记住其所在的地址住其所在的地址住其所在的地址住其所在的地址单单元,元
20、,元,元,比比比比较较麻麻麻麻烦烦。如果。如果。如果。如果规规定数据一定是一个接一个地存定数据一定是一个接一个地存定数据一定是一个接一个地存定数据一定是一个接一个地存放,那么只要知道第一个数据所在的放,那么只要知道第一个数据所在的放,那么只要知道第一个数据所在的放,那么只要知道第一个数据所在的单单元地址就元地址就元地址就元地址就可以了可以了可以了可以了 2 2)堆)堆)堆)堆栈栈的工作方式的工作方式的工作方式的工作方式堆堆堆堆栈栈就是就是就是就是这样这样一种数据一种数据一种数据一种数据结结构。它是在内存中开辟一个构。它是在内存中开辟一个构。它是在内存中开辟一个构。它是在内存中开辟一个存存存存储
21、储区域,数据一个一个区域,数据一个一个区域,数据一个一个区域,数据一个一个顺顺序地存入(也就是序地存入(也就是序地存入(也就是序地存入(也就是“ “压压入入入入push”push”)这这个区域之中。有一个地址指个区域之中。有一个地址指个区域之中。有一个地址指个区域之中。有一个地址指针总针总指向最后一个指向最后一个指向最后一个指向最后一个压压入堆入堆入堆入堆栈栈的数据所在的数据的数据所在的数据的数据所在的数据的数据所在的数据单单元,存放元,存放元,存放元,存放这这个地址指个地址指个地址指个地址指针针的寄的寄的寄的寄存器就叫做堆存器就叫做堆存器就叫做堆存器就叫做堆栈栈指示器。开始放入数据的指示器。
22、开始放入数据的指示器。开始放入数据的指示器。开始放入数据的单单元叫做元叫做元叫做元叫做“ “栈栈底底底底” ”。数据一个一个地存入,。数据一个一个地存入,。数据一个一个地存入,。数据一个一个地存入,这这个个个个过过程叫做程叫做程叫做程叫做“ “压栈压栈” ”。在。在。在。在压压栈栈的的的的过过程中,每有一个数据程中,每有一个数据程中,每有一个数据程中,每有一个数据压压入堆入堆入堆入堆栈栈,就放在和前一个,就放在和前一个,就放在和前一个,就放在和前一个单单元相元相元相元相连连的后面一个的后面一个的后面一个的后面一个单单元中,堆元中,堆元中,堆元中,堆栈栈指示器中的地址自指示器中的地址自指示器中的
23、地址自指示器中的地址自动动加加加加1 1。读读取取取取这这些数据些数据些数据些数据时时,按照堆,按照堆,按照堆,按照堆栈栈指示器中的地址指示器中的地址指示器中的地址指示器中的地址读读取数据,堆取数据,堆取数据,堆取数据,堆栈栈指示器中的地址数自指示器中的地址数自指示器中的地址数自指示器中的地址数自动动减减减减 1 1。这这个个个个过过程叫做程叫做程叫做程叫做“ “弹弹出出出出pop”pop”。如此就如此就如此就如此就实现实现了后了后了后了后进进先出的原先出的原先出的原先出的原则则。uu栈栈:后:后:后:后进进先出先出先出先出(Last-In/First-Out)(Last-In/First-O
24、ut)uCPU的工作流程的工作流程 CPUCPU的工作原理就像一个工厂的工作原理就像一个工厂的工作原理就像一个工厂的工作原理就像一个工厂对产对产品的加工品的加工品的加工品的加工过过程程程程: :进进入工厂的原料入工厂的原料入工厂的原料入工厂的原料( (程序指令程序指令程序指令程序指令) ),经过经过物物物物资资分配分配分配分配部部部部门门( (控制控制控制控制单单元元元元) )的的的的调调度分配,被送往生度分配,被送往生度分配,被送往生度分配,被送往生产线产线( (逻辑逻辑运算运算运算运算单单元元元元) ),生,生,生,生产产出成品出成品出成品出成品( (处处理后的数据理后的数据理后的数据理后
25、的数据) )后,再存后,再存后,再存后,再存储储在在在在仓库仓库( (存存存存储单储单元元元元) )中,最后等着拿到市中,最后等着拿到市中,最后等着拿到市中,最后等着拿到市场场上去上去上去上去卖卖( (交由交由交由交由应应用程序使用用程序使用用程序使用用程序使用) )。在。在。在。在这这个个个个过过程中,我程中,我程中,我程中,我们们注注注注意到从控制意到从控制意到从控制意到从控制单单元开始,元开始,元开始,元开始,CPUCPU就开始了正式的工作,就开始了正式的工作,就开始了正式的工作,就开始了正式的工作,中中中中间间的的的的过过程是通程是通程是通程是通过逻辑过逻辑运算运算运算运算单单元来元来
26、元来元来进进行运算行运算行运算行运算处处理,理,理,理,交到存交到存交到存交到存储单储单元代表工作的元代表工作的元代表工作的元代表工作的结结束。束。束。束。 二、二、8086CPU及其工作原理及其工作原理1、80X86微处理器芯片的性能指标微处理器芯片的性能指标uu字长字长uu指令数指令数uu运算速度运算速度uu访问内存储器空间访问内存储器空间uu虚拟存储空间虚拟存储空间uu多处理器系统多处理器系统uu指令作业方式指令作业方式uu芯片制造工艺芯片制造工艺字长决定了决定了CPU表示数据的精度表示数据的精度提高了提高了CPU的相对运行速度的相对运行速度典型典型CPU字长字长CPU并行处理数据的位数
27、,并行处理数据的位数,与数据总线宽度有关。与数据总线宽度有关。80888bit80888bit808616bit808616bit8038632bit8038632bitPentium32bitPentium32bit,6464bitbit指令数指令数基本指令基本指令133条条扩展指令数千条扩展指令数千条确定了确定了CPU能执行的功能。能执行的功能。功能不同指令助记符形式不同功能不同指令助记符形式不同不同寻址方式和不同寄存器的组合不同寻址方式和不同寄存器的组合运算速度运算速度 计算机完成操作的时间指标。计算机完成操作的时间指标。用指令执行时间测量(单位用指令执行时间测量(单位s)用每秒执行指令
28、数测量用每秒执行指令数测量(单位单位MIPS)。)。提高速度的方法提高速度的方法 提高提高提高提高 CPUCPU主频主频主频主频 减少指令执行所需时钟周期数减少指令执行所需时钟周期数减少指令执行所需时钟周期数减少指令执行所需时钟周期数 增加数据线条数增加数据线条数增加数据线条数增加数据线条数 取指令和执行指令时间重叠取指令和执行指令时间重叠取指令和执行指令时间重叠取指令和执行指令时间重叠 双双双双 CPUCPU访存空间访存空间 Z80CPUAB=16访存空间访存空间=216=64K8086CPUAB=20访存空间访存空间=220=1M80286CPUAB=24访存空间访存空间=224=16M8
29、0386CPUAB=32访存空间访存空间=232=4GCPU能访问的内存储器单元容量,能访问的内存储器单元容量,与地址总线宽度有关。与地址总线宽度有关。虚拟存储空间虚拟存储空间 用硬件和软件的综合技术来用硬件和软件的综合技术来扩大用户可用存储空间。扩大用户可用存储空间。 主存储器是基础主存储器是基础 高速缓存很重要高速缓存很重要 外存储器是根本外存储器是根本多处理器系统多处理器系统 微处理器微处理器 协处理器。协处理器。 微处理器完成系统的主要功能微处理器完成系统的主要功能 协处理器完成系统的特殊功能协处理器完成系统的特殊功能 微处理器芯片微处理器芯片微处理器芯片微处理器芯片 80868086
30、 浮点协处理协处理器芯片浮点协处理协处理器芯片浮点协处理协处理器芯片浮点协处理协处理器芯片 80878087 控制总线协处理器芯片控制总线协处理器芯片控制总线协处理器芯片控制总线协处理器芯片 82888288指令作业方式指令作业方式 取指令与执行指令的时间分配。取指令与执行指令的时间分配。 取指令与执行指令分时进行取指令与执行指令分时进行 取指令与执行指令同时进行取指令与执行指令同时进行传统传统8位位CPU工作方式工作方式80X86CPU工作方式工作方式芯片制造工艺芯片制造工艺 工艺的改进带来更高的芯片集成度。工艺的改进带来更高的芯片集成度。集成度从早期的每片数千个晶体管数量级集成度从早期的每
31、片数千个晶体管数量级到近期的每片数百万个晶体管数量级。到近期的每片数百万个晶体管数量级。线条宽度从微米级到纳米级线条宽度从微米级到纳米级 主频从数兆赫兹到数千兆赫兹。主频从数兆赫兹到数千兆赫兹。 8 80 08 86 6/ /8 80 08 88 8C CP PU U 功功功功能能能能结结构构构构图图EU控控制制器器ALU暂暂存存器器标志寄存器标志寄存器8位队位队列总线列总线总总线线控控制制逻逻辑辑内部总线内部总线16位位地址加法器地址加法器20位地位地址总线址总线16位位数数据据总总线线执执行行部部件件EU总总线线接接口口部部件件BIU123456指令队列指令队列通用寄存器通用寄存器AXAH
32、ALBXBHBLCXCHCLDXDHDLSPBPDISICSDSSSES8088808880868086IP暂存器暂存器8 80 08 86 6总总线线2、8086CPU内部结构内部结构8086CPU从功能上可分为下面两个部分从功能上可分为下面两个部分uu执行部件执行部件EU(ExecutionUnit)8086CPU8086CPU的核心,只的核心,只的核心,只的核心,只负责执负责执行指令,分析指令,行指令,分析指令,行指令,分析指令,行指令,分析指令,暂暂存中存中存中存中间间运算运算运算运算结结果并保留果并保留果并保留果并保留结结果的特征。果的特征。果的特征。果的特征。uu接口部件接口部件B
33、IU(BusInterfaceUnit)负责负责CPUCPU与存与存与存与存储储器、器、器、器、I/OI/O接口之接口之接口之接口之间间的信息的信息的信息的信息传传送。送。送。送。执行部件的组成执行部件的组成16位运算器位运算器ALU8位控制单元位控制单元16位寄存器组位寄存器组 算术及逻辑运算算术及逻辑运算算术及逻辑运算算术及逻辑运算1616位偏移地址运算位偏移地址运算位偏移地址运算位偏移地址运算 (80868086特点)特点)特点)特点) 从从从从BIUBIU的指令队列中取指令的指令队列中取指令的指令队列中取指令的指令队列中取指令 对指令进行译码并产生不同的控制信号对指令进行译码并产生不同
34、的控制信号对指令进行译码并产生不同的控制信号对指令进行译码并产生不同的控制信号1616位通用寄存器位通用寄存器位通用寄存器位通用寄存器 AX,BX,CX,DX,BP,SP,SI,DIAX,BX,CX,DX,BP,SP,SI,DI1616位状态标志寄存器位状态标志寄存器位状态标志寄存器位状态标志寄存器 FlagFlag执行单元执行单元执行单元执行单元EUEU由下列部件组成:由下列部件组成:由下列部件组成:由下列部件组成:1.1616位算术逻辑单元位算术逻辑单元位算术逻辑单元位算术逻辑单元(ALU)(ALU):进行算术和逻辑运算。2.1616位标志寄存器位标志寄存器位标志寄存器位标志寄存器FLAG
35、SFLAGS:存放CPU运算的状态和控制标志。3.数据暂存寄存器:数据暂存寄存器:数据暂存寄存器:数据暂存寄存器:暂存参加运算的数据4.通用寄存器:通用寄存器:包括4个16位数据寄存器AX、BX、CX、DX和4个16位指针与变址寄存器SP、BP与SI、DI。5.EU控制电路:控制电路:它是控制、定时与状态逻辑电路,接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,对EU的各个部件实现特定的定时操作。uu指令队列指令队列为先进先出结构为先进先出结构为先进先出结构为先进先出结构指令队列中只要有一条指令,指令队列中只要有一条指令,指令队列中只要有一条指令,指令队列中只要有一条指令,
36、EUEU就开始执行就开始执行就开始执行就开始执行指令队列只要未满,指令队列只要未满,指令队列只要未满,指令队列只要未满,BIUBIU自动执行取指操作,自动执行取指操作,自动执行取指操作,自动执行取指操作,直到填满为止直到填满为止直到填满为止直到填满为止当执行转移指令时,当执行转移指令时,当执行转移指令时,当执行转移指令时,EUEU要求要求要求要求BIUBIU从新的地址中从新的地址中从新的地址中从新的地址中重新取指。队列中原有指令被清除。新取得的重新取指。队列中原有指令被清除。新取得的重新取指。队列中原有指令被清除。新取得的重新取指。队列中原有指令被清除。新取得的第一条指令直接送第一条指令直接送
37、第一条指令直接送第一条指令直接送EUEU执行,随后取得的指令填执行,随后取得的指令填执行,随后取得的指令填执行,随后取得的指令填入队列入队列入队列入队列接口部件接口部件BIUuu指令队列的特点指令队列的特点经总线从代码段取指令,送经总线从代码段取指令,送经总线从代码段取指令,送经总线从代码段取指令,送 EUEU译码译码译码译码接口部件接口部件BIU取指取指取指取指 总线忙总线忙总线忙总线忙执指执指执指执指 总线闲总线闲总线闲总线闲取指、执指取指、执指取指、执指取指、执指 重叠重叠重叠重叠取指、执指取指、执指取指、执指取指、执指 总线忙总线忙总线忙总线忙Z80CPU的取指、执指(没有指令队列)的
38、取指、执指(没有指令队列)顺序执行指令顺序执行指令8086CPU的取指、执指(有指令队列)的取指、执指(有指令队列)并行执行指令并行执行指令接口部件接口部件BIUuu指令队列的优点指令队列的优点指令队列的优点指令队列的优点 在一条指令的执行过程中可以取出下一条(或多条)指令在一条指令的执行过程中可以取出下一条(或多条)指令在一条指令的执行过程中可以取出下一条(或多条)指令在一条指令的执行过程中可以取出下一条(或多条)指令在一条指令执行完成后,就可以立即执行下一条指令在一条指令执行完成后,就可以立即执行下一条指令在一条指令执行完成后,就可以立即执行下一条指令在一条指令执行完成后,就可以立即执行下
39、一条指令 减少减少减少减少CPUCPU为取指令而等待的时间为取指令而等待的时间为取指令而等待的时间为取指令而等待的时间 提高提高提高提高CPUCPU的利用率和整个运行速度的利用率和整个运行速度的利用率和整个运行速度的利用率和整个运行速度接口部件接口部件BIUuu16位指令指针寄存器位指令指针寄存器IP接口部件接口部件BIU指令指针寄存器指令指针寄存器指令指针寄存器指令指针寄存器 IP=16bitIP=16bit注:注:注:注: IPIP指向存储器单元的指向存储器单元的指向存储器单元的指向存储器单元的 偏移地址偏移地址偏移地址偏移地址uu16位段寄存器位段寄存器CS、DS、ES、SS接口部件接口
40、部件BIU8086CPU8086CPU的的的的AB=20bitAB=20bit,REG=16bitREG=16bit,怎样用怎样用怎样用怎样用 1616位寄存器表示位寄存器表示位寄存器表示位寄存器表示 2020位存储器实际地址。位存储器实际地址。位存储器实际地址。位存储器实际地址。 将将将将8086CPU8086CPU能访问的能访问的能访问的能访问的 1M1M存储器空间分为多段,存储器空间分为多段,存储器空间分为多段,存储器空间分为多段,每段长为每段长为每段长为每段长为 64K64K个存储单元(段内偏移地址为个存储单元(段内偏移地址为个存储单元(段内偏移地址为个存储单元(段内偏移地址为1616
41、位)。位)。位)。位)。CSCS、DSDS、ESES、SSSS为存放段地址的寄存器,为存放段地址的寄存器,为存放段地址的寄存器,为存放段地址的寄存器,不同段的段地址放入所对应的段寄存器。不同段的段地址放入所对应的段寄存器。不同段的段地址放入所对应的段寄存器。不同段的段地址放入所对应的段寄存器。uu20位地址产生器位地址产生器接口部件接口部件BIU 输入输入 输出输出 公式公式段寄存器中的段寄存器中的段寄存器中的段寄存器中的 1616位位位位段首地址(逻辑地址)段首地址(逻辑地址)段首地址(逻辑地址)段首地址(逻辑地址) 内总线中来的内总线中来的内总线中来的内总线中来的 1616位位位位段内偏移
42、地址(逻辑地址)段内偏移地址(逻辑地址)段内偏移地址(逻辑地址)段内偏移地址(逻辑地址)2020位位位位 实际地址(物理地址)实际地址(物理地址)实际地址(物理地址)实际地址(物理地址)实际地址实际地址实际地址实际地址 =段首地址段首地址段首地址段首地址*16+16+段内偏移地址段内偏移地址段内偏移地址段内偏移地址 实际地址实际地址实际地址实际地址 =段首地址段首地址段首地址段首地址4+4+段内偏移地址段内偏移地址段内偏移地址段内偏移地址 物物理理地地址址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。物理地址的形成过程如图3.3所示。当由IP提供或由EU根据指令所
43、提供寻址方式计算出寻址单元的16位段内偏移地址后,把该偏移地址和段寄存器内容左移四位后(相当于乘以10H)得到的段基址(段内第一个存储单元的物理地址)同时送到BIU中的地址加法器,形成一个20位的物理地址,从而实现对存储单元的访问。由逻辑地址求物理地址的公式为:物理地址物理地址物理地址物理地址= = = =段地址段地址段地址段地址 10H+10H+10H+10H+段内偏移地址段内偏移地址段内偏移地址段内偏移地址 如假设当前(CS)=20A8H,(IP)=2008H,那么,下一条从内存中读取的指令所在存储单元的物理地址为:20A8H10H+ 2008H=22A88H。 实际地址生成过程实际地址生
44、成过程CS左移左移4位位20位+地址加法器地址加法器CS16位物理地址物理地址20位IPIP例例:段地址段地址为2F86H,偏移地址,偏移地址为2A36H问:该存存储器器单元的元的实际地址地址PA为多少多少PA=段地址段地址4+偏移地址偏移地址=2F86H4+2A36H=2F860H+2A36H=32296Hu总线总线控制控制控制控制电电路路路路将将将将8086CPU8086CPU的内部的内部的内部的内部总线总线与外部与外部与外部与外部总线总线相相相相连连的控制的控制的控制的控制电电路。路。路。路。8086CPU的寄存器结构的寄存器结构uu寄存器分类特点寄存器分类特点通用数据寄存器通用数据寄存
45、器通用地址寄存器通用地址寄存器段寄存器段寄存器指令指针寄存器指令指针寄存器标志寄存器标志寄存器注:均注:均注:均注:均为为 1616位寄存器,共位寄存器,共位寄存器,共位寄存器,共 1414个个个个AXAX、BXBX、CXCX、DXDXSPSP、BPBP、SISI、DIDICSCS、DSDS、ESES、SSSSIPIPF F8086CPU的寄存器结构的寄存器结构uu通用数据寄存器通用数据寄存器16位通用数据寄存器(位通用数据寄存器(4个)个)8位通用数据寄存器(位通用数据寄存器(8个)个)AXBXCXDXAXBXCXDXAHBHCHDHAHBHCHDHALBLCLDLALBLCLDL注:注:注
46、:注:为为了了了了满满足兼容性,可足兼容性,可足兼容性,可足兼容性,可 8 8位、位、位、位、1616位使用位使用位使用位使用8086CPU的寄存器结构的寄存器结构uu通用数据寄存器的习惯用法通用数据寄存器的习惯用法AXAX累加器,常用于存放算术逻辑运累加器,常用于存放算术逻辑运累加器,常用于存放算术逻辑运累加器,常用于存放算术逻辑运算中的操作数,并与外设接口传递信息。算中的操作数,并与外设接口传递信息。算中的操作数,并与外设接口传递信息。算中的操作数,并与外设接口传递信息。BXBX基址寄存器,常用来存放访问基址寄存器,常用来存放访问基址寄存器,常用来存放访问基址寄存器,常用来存放访问内存时的
47、偏移地址。内存时的偏移地址。内存时的偏移地址。内存时的偏移地址。CXCX计数器,在循环和串操作指令中计数器,在循环和串操作指令中计数器,在循环和串操作指令中计数器,在循环和串操作指令中用作计数器。用作计数器。用作计数器。用作计数器。DXDX数据寄存器,在间接寻址的输入数据寄存器,在间接寻址的输入数据寄存器,在间接寻址的输入数据寄存器,在间接寻址的输入/ /输出指令中作地址寄存器用。输出指令中作地址寄存器用。输出指令中作地址寄存器用。输出指令中作地址寄存器用。8086CPU的寄存器结构的寄存器结构uu通用地址寄存器通用地址寄存器SP、BP、SI、DI仅有仅有16位使用,称地址指针寄存器位使用,称
48、地址指针寄存器用于存放存储器段内偏移地址用于存放存储器段内偏移地址常用功能常用功能BP堆栈基址指针堆栈基址指针SP堆栈栈顶指针堆栈栈顶指针SI源变址指针源变址指针DI目的变址指针目的变址指针8086CPU的寄存器结构的寄存器结构uu通用寄存器使用特点通用寄存器使用特点 一般情况下,通用寄存器可以用于任何指令的任一般情况下,通用寄存器可以用于任何指令的任一般情况下,通用寄存器可以用于任何指令的任一般情况下,通用寄存器可以用于任何指令的任意操作,并且可以相互替换。意操作,并且可以相互替换。意操作,并且可以相互替换。意操作,并且可以相互替换。1616位的通用数据寄存器可分解为位的通用数据寄存器可分解
49、为位的通用数据寄存器可分解为位的通用数据寄存器可分解为 2 2个个个个 8 8位的使用,位的使用,位的使用,位的使用,它是同一个物理介质。它是同一个物理介质。它是同一个物理介质。它是同一个物理介质。 通用地址寄存器不能分解为通用地址寄存器不能分解为通用地址寄存器不能分解为通用地址寄存器不能分解为 8 8位使用。位使用。位使用。位使用。 有些操作规定只能使用某个特定的寄存器,有些操作规定只能使用某个特定的寄存器,有些操作规定只能使用某个特定的寄存器,有些操作规定只能使用某个特定的寄存器,即寄存器的特殊用法。即寄存器的特殊用法。即寄存器的特殊用法。即寄存器的特殊用法。AXAXBXBXCXCXDXD
50、X8086CPU的通用寄存器总结的通用寄存器总结目的变址指针(目的变址指针(DestinationIndex)DIDI源变址指针(源变址指针(SourceIndex)SISI基址指针(基址指针(BasePointer)BPBP堆栈指针(堆栈指针(StackPointer)SPSP数据寄存器(数据寄存器(Data)DLDLDHDHDXDX计数寄存器(计数寄存器(Count)CLCLCHCHCXCX基址寄存器(基址寄存器(Base)BLBLBHBHBXBX累加器(累加器(Accumulator)ALALAHAHAXAX数据寄存器数据寄存器数据寄存器数据寄存器 可可可可分为两个分为两个分为两个分为两
51、个8 8位,位,位,位,主要用于数据主要用于数据主要用于数据主要用于数据操作操作操作操作地址指针地址指针地址指针地址指针主要用于主要用于主要用于主要用于地址操作地址操作地址操作地址操作1616位位位位8 88 88086CPU的寄存器结构的寄存器结构uu段寄存器段寄存器CS、DS、ES、SS仅有仅有16位使用位使用用于存放存储器段首地址用于存放存储器段首地址常用功能常用功能CSCS存放代码段段首地址存放代码段段首地址存放代码段段首地址存放代码段段首地址SSSS存放堆栈段段首地址存放堆栈段段首地址存放堆栈段段首地址存放堆栈段段首地址DSDS存放数据段段首地址存放数据段段首地址存放数据段段首地址存
52、放数据段段首地址ESES存放附加段段首地址存放附加段段首地址存放附加段段首地址存放附加段段首地址8086CPU的寄存器结构的寄存器结构uu指令指针寄存器指令指针寄存器IP仅有仅有16位使用位使用用于存放代码段内的偏移地址用于存放代码段内的偏移地址与与CS寄存器构成指令的寄存器构成指令的20位实际地址位实际地址指令中指令中IP不能赋值不能赋值8086CPU的寄存器结构的寄存器结构uu标志寄存器标志寄存器F16位寄存器中仅定义了位寄存器中仅定义了9位位可位操作控制位值可位操作控制位值6个状态位个状态位CF、OF、ZF、SF、AF、PF3个控制位个控制位TF、DF、IFOFDFIFTFSFZFAFP
53、FCFD15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0标志寄存器标志寄存器Fuu状态标志状态标志执执行某些指令后,行某些指令后,行某些指令后,行某些指令后,结结果的状果的状果的状果的状态态(非(非(非(非结结果本身)果本身)果本身)果本身)标标志存入志存入志存入志存入 F F,根据状,根据状,根据状,根据状态态控制后控制后控制后控制后续续指令的指令的指令的指令的执执行。行。行。行。 CFCF无符号数运算进位无符号数运算进位无符号数运算进位无符号数运算进位/ /借位标志(借位标志(借位标志(借位标志(CarryFlagCarryFlag) OFOF有符号数运算溢出标志
54、(有符号数运算溢出标志(有符号数运算溢出标志(有符号数运算溢出标志(OverflowFlagOverflowFlag) AFAF辅助进位辅助进位辅助进位辅助进位/ /借位标志(借位标志(借位标志(借位标志(AuxiliaryCarryFlagAuxiliaryCarryFlag) ZFZF运算结果为运算结果为运算结果为运算结果为0 0时的标志(时的标志(时的标志(时的标志(ZeroFlagZeroFlag) SFSF运算结果为负数时的标志(运算结果为负数时的标志(运算结果为负数时的标志(运算结果为负数时的标志(SignFlagSignFlag) PFPF运算结果数据中奇偶检测标志(运算结果数据
55、中奇偶检测标志(运算结果数据中奇偶检测标志(运算结果数据中奇偶检测标志(ParityFlagParityFlag)标志寄存器标志寄存器Fuu控制标志控制标志由指令直接由指令直接由指令直接由指令直接赋值赋值,控制,控制,控制,控制标标志决定后志决定后志决定后志决定后续续指令的指令的指令的指令的执执行情况。行情况。行情况。行情况。 TF单步跟踪标志位(单步跟踪标志位(TrapFlag) DF方向控制标志位(方向控制标志位(DirectionFlag) IF中断允许中断允许/禁止标志位(禁止标志位(InteruptFlag)使使使使 CPUCPU处于单步执行指令方式,便于程序调试处于单步执行指令方式
56、,便于程序调试处于单步执行指令方式,便于程序调试处于单步执行指令方式,便于程序调试用于串操作指令,控制串地址指针自动增减的方向用于串操作指令,控制串地址指针自动增减的方向用于串操作指令,控制串地址指针自动增减的方向用于串操作指令,控制串地址指针自动增减的方向外部可屏蔽中断是否响应的控制标志外部可屏蔽中断是否响应的控制标志外部可屏蔽中断是否响应的控制标志外部可屏蔽中断是否响应的控制标志标志寄存器标志寄存器FuuDebug调试程序中状态标志的符号表示调试程序中状态标志的符号表示8086CPU的寄存器结构的寄存器结构uu段寄存器与通用寄存器的组合使用特点段寄存器与通用寄存器的组合使用特点CS:IP构
57、成代码段指令存放地址构成代码段指令存放地址SS:SP构成堆栈段栈顶地址构成堆栈段栈顶地址SS:BP构成堆栈段基数地址构成堆栈段基数地址DS:SI构成源数据串地址构成源数据串地址ES:DI构成目的数据串地址构成目的数据串地址DS:BX构成数据段基数地址构成数据段基数地址 一通用寄存器一通用寄存器 通用寄存器(8个):包括四个数据寄存器AX(AH/AL), BX(BH/BL),CX(CH/CL),DX(DH/DL), 两 个 地 址 指 针 寄 存 器(SP,BP)和两个变址寄存器(SI,DI)。 1 1数据寄存器数据寄存器AXAX、BXBX、CXCX、DXDX 数据寄存器一般用于存放参与运算的操
58、作数或运算结果。每个数据寄存器都是16位的,但又可将高、低8位分别作为两个独立的8位寄存器来用。高8位分别记作AH、BH、CH、DH,低8位分别记作AL,BL,CL,DL。注意,注意,8086/8088 CPU8086/8088 CPU的的1414个寄存器个寄存器除了这除了这4 4个个1616位寄存器能分别当作两个位寄存器能分别当作两个8 8位寄存器来用之外,其位寄存器来用之外,其它寄存器都不能如此使用。它寄存器都不能如此使用。 AX(Accumulator)称称为为累累加加器器。用该寄存器存放运算结果可使指令简化,提高指令的执行速度。此外,所有的I/O指令都使用该寄存器与外设端口交换信息。
59、BX(Base)BX(Base)称称为为基基址址寄寄存存器器。8086/8088CPU中有两个基址寄存器BX和BP。BX用来存放操作数在内存中数据段内的偏移地址,BP用来存放操作数在堆栈段内的偏移地址。 CX(Counter)称称为为计计数数器器。在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化,有利于提高程序的运行速度。 DX(Data)DX(Data)称称为为数数据据寄寄存存器器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。 寄存器寄存器寄存器寄存器AX,BX,CX,DXAX,BX,CX,D
60、X的特定用法的特定用法的特定用法的特定用法2. 2. 地址指针寄存器地址指针寄存器SPSP、BPBP SP(Stack SP(Stack Pointer)Pointer)称称为为堆堆栈栈指指针针寄寄存存器器。在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时,每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。 BP(Base BP(Base Pointer)Pointer)称称为为基基址址寄寄存存器器。作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。 3. 3. 3. 3.变址寄存器变址寄存器变址寄存器变址寄存器SIS
61、ISISI、DIDIDIDISI(Source Index)SI(Source Index)SI(Source Index)SI(Source Index)称为源变址寄存器。称为源变址寄存器。称为源变址寄存器。称为源变址寄存器。DI(Destination Index)DI(Destination Index)DI(Destination Index)DI(Destination Index)称为目的变址寄存器。称为目的变址寄存器。称为目的变址寄存器。称为目的变址寄存器。 这两个寄存器通常用在字符串操作时存放操作数的偏移地址,其中SI存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的
62、偏移地址。 二二 . .段寄存器段寄存器 为了对1M个存储单元进行管理,8086/8088对存储器进行分段管理,即将程序代码或数据分别放在代码段、数据段、堆栈段或附加数据段中,每个段最多可达64K个存储单元。段地址分别放在对应的段寄存器中,代码或数据在段内的偏移地址由有关寄存器或立即数给出。8086/8088的四个段寄存器的四个段寄存器CS(CodeSegment)代码段寄存器。代码段寄存器。用来存储程序当前使用的代码段的段地址。CS的内容左移四位再加上指令指针寄存器IP的内容就是下一条要读取的指令在存储器中的物理地址。DS(DataSegment)数据段寄存器。数据段寄存器。用来存放程序当前
63、使用的数据段的段地址。DS的内容左移四位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。SS(StackSegment)堆栈段寄存器。堆栈段寄存器。用来存放程序当前所使用的堆栈段的段地址。堆栈是存储器中开辟的按先进后出原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场。ES(ExtraSegment)附加数据段寄存器。附加数据段寄存器。用来存放程序当前使用的附加数据段的段地址。附加数据段用来存放字符串操作时的目的字符串。表表3.23.2 8086/8088段寄存器与提供段内移地址的寄存器之间的默默默默 认认认认 组组组组 合合合合
64、 段寄存器段寄存器提供段内偏移地址的寄存器提供段内偏移地址的寄存器CSIPDSBX、SI、DI或一个或一个16位数位数SSSP或或BPESDI(用于字符串操作指令用于字符串操作指令) 三三. . 控制寄存器控制寄存器 IP(Instruction IP(Instruction IP(Instruction IP(Instruction Pointer)Pointer)Pointer)Pointer)指指指指令令令令指指指指针针针针寄寄寄寄存存存存器器器器。用来存放下一条要读取的指令在代码段内的偏移地址。用户程序不能直接访问IP。 FLAGSFLAGSFLAGSFLAGS标标标标志志志志寄寄寄寄
65、存存存存器器器器。它是一个16位的寄存器,但只用了其中9位,这9位包括6个状态标志位,3个控制标志位,如图3.5所示。 图3.5 8086/8088的标志寄存器 1. 1. 1. 1. 状态标志位(状态标志位(状态标志位(状态标志位(6 6 6 6位)位)位)位) 状态标志位用来反映算术和逻辑运算结果的一些特征。下面分别介绍这6个状态标志位的功能。 CF(Carry CF(Carry CF(Carry CF(Carry Flag)Flag)Flag)Flag)进进进进位位位位标标标标志志志志。当进行加减运算时,若最高位发生进位或借位则CF为1,否则为0。通常用于判断无符号数运算结果是否超出了计
66、算机所能表示的无符号数的范围。 PF(Parity Flag)PF(Parity Flag)PF(Parity Flag)PF(Parity Flag)奇偶标志位。奇偶标志位。奇偶标志位。奇偶标志位。当指令执行结果的低8位中含有偶数个1时,PF为1,否则为0。 AF(Auxiliary AF(Auxiliary AF(Auxiliary AF(Auxiliary Flag)Flag)Flag)Flag)辅辅辅辅助助助助进进进进位位位位标标标标志志志志位位位位。当执行一条加法或减法运算指令时,若结果的低字节的低4位向高4位有进位或借位,则AF为1,否则为0。 ZF(Zero ZF(Zero ZF
67、(Zero ZF(Zero Flag)Flag)Flag)Flag)零零零零标标标标志志志志位位位位。若当前的运算结果为0,则ZF为1,否则为0。 SF(Sign SF(Sign SF(Sign SF(Sign Flag)Flag)Flag)Flag)符符符符号号号号标标标标志志志志位位位位。当运算结果的最高位为1时,SF=1,否则为0。 OF(Overflow OF(Overflow OF(Overflow OF(Overflow Flag)Flag)Flag)Flag)溢溢溢溢出出出出标标标标志志志志位位位位。当运算结果超出了带符号数所能表示的数值范围,即溢出时,OF=1,否则为0。用来判
68、断带符号数运算结果是否溢出。 0101010000111001+01000101011010101001100110100011最高位最高位=1SF=1低低8位中偶数为位中偶数为4个个PF=1运算结果不为运算结果不为0ZF=0低低4位向前有进位位向前有进位AF=1最高位向前没有进位最高位向前没有进位CF=0次高位向前有进位次高位向前有进位Cs=0,Cp=1,OF=CsCp=11514131211109876543210ODITSZAPC+101011例例3.13.1 设变量x=11101111B,y=11001000B,X=0101101000001010B,Y=01001100 101000
69、11B,请问分别执行x+y和X+Y操作后标志寄存器中各状态位的状态如何? 11101111+)11001000101101111自动丢失010110100000101001001100101000111010011010101101CF=0CF=1DF=1DF=1状态位执行x+y后执行X+Y后CF最高位D7向前有进位,CF=1最高位D15向前没有进位,CF=0PF低8位中1的个数为偶数(6),PF=1低8位中1的个数为奇数(5),PF=0AF低4位向前有进位,AF=1低4位向前没有进位,AF=0ZF计算结果不为0,ZF=0计算结果不为0,ZF=0SF最高位D7为1,SF=1最高位D15为1,S
70、F=1OFCFDF=0,没有溢出,OF=0CFDF=1,结果溢出,OF=1 2. 2. 控控制制标标志志位位(3 3位位位位)用来控制CPU的操作,由程序设置或清除。它们是: TF(Trap TF(Trap Flag)Flag)跟跟踪踪(陷陷阱阱)标标志志位位。是为测试程序的方便而设置。若将TF置1,CPU处于单步工作方式。 IF(Interrupt IF(Interrupt Flag)Flag)中中断断允允许许标标志志位位。是用来控制可屏蔽中断的控制标志位。若将IF置1,表示允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求;若用CLI指令将IF清0,则禁止CPU接受可屏蔽中断请求信号。
71、 DF(Direction DF(Direction Flag)Flag)方方向向标标志志位位。若将DF置1,串操作按减地址方式进行,也就是说,从高地址开始,每操作一次地址自动递减;否则按增地址方式进行。 三三. . 总线周期的概念总线周期的概念 为了便于对8086/8088CPU引脚功能的说明,本节简要介绍总线周期的概念。 8086/8088CPU在与存储器或I/O端口交换数据时需要启动一个总线周期。按照数据的传送方向来分,总线周期可分为“读”总线周期(CPU从存储器或I/O端口读取数据)和“写”总线周期(CPU将数据写入存储器或I/O端口)。 8086/8088CPU8086/8088CP
72、U8086/8088CPU8086/8088CPU基本的总线周期由基本的总线周期由基本的总线周期由基本的总线周期由4 4 4 4个时钟周期组成个时钟周期组成个时钟周期组成个时钟周期组成,如图3.6所示。时钟周期是CPU的基本时间计量单位,由CPU主频决定,如8086的主频为5MHz,1个时钟周期就是200ns。一个时钟周期又称为一个T状态,因此基本总线周期用T1、T2、T3、T4表示。图3.6(a)给出典型的总线周期波形图。在T1状态CPU把要读/写的存储单元的地址或I/O端口的地址放到地址总线上。若是“写”总线周期,CPU从T2起到T4,把数据送到总线上,并写入存储器单元或I/O端口;若是“
73、读”总线周期,CPU则从T3起到T4从总线上接收数据,T2状态时总线浮空,允许CPU有个缓冲时间把输出地址的写方式转换成输入数据的读方式。 图3.68086/8088基本总线周期图图图图3.6(b)3.6(b)3.6(b)3.6(b)是具有空闲状态的总线周期。是具有空闲状态的总线周期。是具有空闲状态的总线周期。是具有空闲状态的总线周期。如果在一个总线周期之后不立即执行下一个总线周期,即CPU此时执行的指令不需要对存储器或I/O端口进行访问,且目前指令队列满而不需要到内存中读指令,那么系统总线就处于空闲状态,即执行空闲周期。在空闲周期中可包括一个或多个时钟周期,在这期间,在高4位的总线上,CPU
74、仍驱动前一个总线周期的状态信息;而在低16位的总线上,则根据前一个总线周期是读还是写周期来决定。若前一个周期为写周期,CPU会在总线的低16位继续驱动数据信息;若前一个总线周期为读周期,CPU则使总线的低16位处于浮空状态。在空闲周期,尽管CPU对总线进行空操作,但在CPU内部,仍然进行着有效的操作,如执行某个运算、在内部寄存器之间传送数据等。 图图图图3.6(c)3.6(c)3.6(c)3.6(c)是具有等待状态的总线周期。是具有等待状态的总线周期。是具有等待状态的总线周期。是具有等待状态的总线周期。在T3状态结束之前,CPU测试READY信号线,如果为有效的高电平,则说明数据已准备好,可进
75、入T4状态;若READY为低电平,则说明数据没有准备好,CPU在T3之后插入1个或多个等待周期TW,直到检测到READY为有效高电平后,CPU会自动脱离TW而进入T4状态。这种延长总线周期的措施允许系统使用低速的存储器芯片。 8086CPU的管脚特性的管脚特性uu管脚图管脚图uu40条管脚的双列条管脚的双列直插式封装。直插式封装。8086/8088引脚及其功能引脚及其功能图3.7 8086/8088CPU引脚 8086CPU的引脚特性的引脚特性uu数据线数据线/地址线、状态线地址线、状态线/地址线复用地址线复用 布线减少了布线减少了 需解决需解决数据数据数据数据/ /地址地址地址地址线线的分离
76、的分离的分离的分离功能各异功能各异:不同控制不同控制不同控制不同控制线线具有不同的作用具有不同的作用具有不同的作用具有不同的作用方向确定方向确定:仅为单仅为单向向向向输输入或入或入或入或输输出出出出电平触发电平触发:不同控制不同控制不同控制不同控制线线有不同的有不同的有不同的有不同的电电平触平触平触平触发发方式方式方式方式 VCCVCC +5V+5V GNDGND 地地地地uu控制线的特点控制线的特点uu电源线电源线8086/8088CPU的地址、数据线、状态线的地址、数据线、状态线uu8086CPU的地址的地址/数据复用线数据复用线uu8086CPU的地址的地址/状态复用线状态复用线数据总线
77、:数据总线:数据总线:数据总线:AD0AD15AD0AD15,1616位位位位A16/S3A19/S6A16/S3A19/S6地址总线:地址总线:地址总线:地址总线:AD0AD15AD0AD15,A16A16A19A19,2020位位位位S3S6S3S6作状态线,用来输出状态信息。作状态线,用来输出状态信息。作状态线,用来输出状态信息。作状态线,用来输出状态信息。状态线的作用状态线的作用S3、S4指示段寄存器的工作状态指示段寄存器的工作状态S5指示中断允许标志指示中断允许标志IF的状态的状态S6指示指示CPU正常工作时的状态,始正常工作时的状态,始终为终为0,表示正常工作。,表示正常工作。S4
78、S3当前正在使用的段寄存器当前正在使用的段寄存器00ES01SS10CS11DS8086CPU的控制线的控制线uu/BHE/BHE总线高位有效信号总线高位有效信号总线高位有效信号总线高位有效信号uu /RD/RD存储器读数据有效控制线存储器读数据有效控制线存储器读数据有效控制线存储器读数据有效控制线uu/WR/WR存储器写数据有效控制线存储器写数据有效控制线存储器写数据有效控制线存储器写数据有效控制线 三态输出、低电平有效,用来表示当前高三态输出、低电平有效,用来表示当前高三态输出、低电平有效,用来表示当前高三态输出、低电平有效,用来表示当前高8 8位数据总线上位数据总线上位数据总线上位数据总
79、线上 的数据有效的数据有效的数据有效的数据有效 与地址线与地址线与地址线与地址线 AD0AD0配合表示当前总线使用情况。配合表示当前总线使用情况。配合表示当前总线使用情况。配合表示当前总线使用情况。三态输出、低有效,表示当前三态输出、低有效,表示当前三态输出、低有效,表示当前三态输出、低有效,表示当前CPUCPU正在读存储器或正在读存储器或正在读存储器或正在读存储器或I/OI/O端口端口端口端口三态输出、低有效,表示当前三态输出、低有效,表示当前三态输出、低有效,表示当前三态输出、低有效,表示当前CPUCPUCPUCPU正在写存储器或正在写存储器或正在写存储器或正在写存储器或I/OI/OI/O
80、I/O端口端口端口端口注:注:注:注:/RD/RD、/WR/WR不能同不能同不能同不能同时为时为低低低低8086CPU的控制线的控制线uuREADYREADY准备就绪信号准备就绪信号准备就绪信号准备就绪信号uuRESET8086CPURESET8086CPU复位有效控制线复位有效控制线复位有效控制线复位有效控制线uuALEALE地址锁存允许信号地址锁存允许信号地址锁存允许信号地址锁存允许信号 外部输入,高电平有效,表示外部输入,高电平有效,表示外部输入,高电平有效,表示外部输入,高电平有效,表示CPUCPU访问的存储器或访问的存储器或访问的存储器或访问的存储器或I/OI/O端口端口端口端口已准
81、备好传送数据已准备好传送数据已准备好传送数据已准备好传送数据外部输入,高电平系统复位;低电平系统工作外部输入,高电平系统复位;低电平系统工作外部输入,高电平系统复位;低电平系统工作外部输入,高电平系统复位;低电平系统工作向外部输出,高电平锁存地址信息,向外部输出,高电平锁存地址信息,向外部输出,高电平锁存地址信息,向外部输出,高电平锁存地址信息, 用于控制锁存用于控制锁存用于控制锁存用于控制锁存器的触发端器的触发端器的触发端器的触发端8086CPU的控制线的控制线uuM/IO存储器、存储器、I/O端口访问信号端口访问信号uuMN/MX工作模式选择信号工作模式选择信号三态输出,高电平时三态输出,
82、高电平时三态输出,高电平时三态输出,高电平时CPUCPU访问存储器;访问存储器;访问存储器;访问存储器;低电平时低电平时低电平时低电平时CPUCPU访问访问访问访问I/OI/O端口。端口。端口。端口。外部输入,高电平时外部输入,高电平时外部输入,高电平时外部输入,高电平时 CPUCPU在最小工作模式;在最小工作模式;在最小工作模式;在最小工作模式;低电平时低电平时低电平时低电平时 CPUCPU在最大工作模式。在最大工作模式。在最大工作模式。在最大工作模式。最小工作模式:最小工作模式:系统中只有一个微处理器系统中只有一个微处理器系统中只有一个微处理器系统中只有一个微处理器80868086,所有的
83、总线控制信号都,所有的总线控制信号都,所有的总线控制信号都,所有的总线控制信号都直接由直接由直接由直接由80868086产生,系统中总线控制逻辑电路被减少到最小。产生,系统中总线控制逻辑电路被减少到最小。产生,系统中总线控制逻辑电路被减少到最小。产生,系统中总线控制逻辑电路被减少到最小。最大工作模式:最大工作模式:有两个或两个以上的微处理器,其中有两个或两个以上的微处理器,其中有两个或两个以上的微处理器,其中有两个或两个以上的微处理器,其中80868086为主处理器,为主处理器,为主处理器,为主处理器,其他处理器称为协处理器,用来协助主处理器处理某方面的工作。如浮其他处理器称为协处理器,用来协
84、助主处理器处理某方面的工作。如浮其他处理器称为协处理器,用来协助主处理器处理某方面的工作。如浮其他处理器称为协处理器,用来协助主处理器处理某方面的工作。如浮点协处理协处理器芯片点协处理协处理器芯片点协处理协处理器芯片点协处理协处理器芯片 80878087和和和和控制总线协处理器芯片控制总线协处理器芯片控制总线协处理器芯片控制总线协处理器芯片 82888288。8086CPU的控制线的控制线uu/DEN数据传送有效控制线数据传送有效控制线uuDT/R数据传送方向控制线数据传送方向控制线三态输出,低时数据传送有效;高时数据传送无效三态输出,低时数据传送有效;高时数据传送无效三态输出,低时数据传送有
85、效;高时数据传送无效三态输出,低时数据传送有效;高时数据传送无效三态输出,高时数据输出有效;低时数据输入有效三态输出,高时数据输出有效;低时数据输入有效三态输出,高时数据输出有效;低时数据输入有效三态输出,高时数据输出有效;低时数据输入有效8086CPU的控制线的控制线uuNMINMI非屏蔽中断请求控制非屏蔽中断请求控制非屏蔽中断请求控制非屏蔽中断请求控制uuINTRINTR可屏蔽中断请求控制可屏蔽中断请求控制可屏蔽中断请求控制可屏蔽中断请求控制uu/INTA/INTA可屏蔽中断响应控制可屏蔽中断响应控制可屏蔽中断响应控制可屏蔽中断响应控制外部输入,外部输入,外部输入,外部输入,上升沿触发有效
86、上升沿触发有效上升沿触发有效上升沿触发有效外部输入,高电平触发有效,表明外部向外部输入,高电平触发有效,表明外部向外部输入,高电平触发有效,表明外部向外部输入,高电平触发有效,表明外部向CPUCPU发出中断请求。发出中断请求。发出中断请求。发出中断请求。向外部输出,低电平有效,表时向外部输出,低电平有效,表时向外部输出,低电平有效,表时向外部输出,低电平有效,表时CPUCPU响应了响应了响应了响应了外部发来的外部发来的外部发来的外部发来的INTRINTR信号。信号。信号。信号。8086CPU的控制线的控制线uuHDLDDMA请求控制线请求控制线uuHLDADMA响应控制线响应控制线外部输入,高
87、时外部输入,高时外部输入,高时外部输入,高时 DMACDMAC向向向向 CPUCPU发出发出发出发出 DMADMA请求请求请求请求向外部输出,高时向外部输出,高时向外部输出,高时向外部输出,高时 CPUCPU向向向向 DMACDMAC发出发出发出发出 DMADMA响应响应响应响应注:注:注:注:存储器直接访问存储器直接访问存储器直接访问存储器直接访问DMADMA(DirectMemoryAccessDirectMemoryAccess)。是一种高速的数据)。是一种高速的数据)。是一种高速的数据)。是一种高速的数据传输操作,允许在外部设备和内存之间直接读写数据,即不通过传输操作,允许在外部设备和
88、内存之间直接读写数据,即不通过传输操作,允许在外部设备和内存之间直接读写数据,即不通过传输操作,允许在外部设备和内存之间直接读写数据,即不通过CPUCPU,也不,也不,也不,也不需要需要需要需要CPUCPU干预。整个数据传输操作在存储器直接访问控制器(干预。整个数据传输操作在存储器直接访问控制器(干预。整个数据传输操作在存储器直接访问控制器(干预。整个数据传输操作在存储器直接访问控制器(DMACDMAC)的控)的控)的控)的控制下进行的。制下进行的。制下进行的。制下进行的。CPUCPU除了在数据传输开始和结束时作一点处理外,在传输过程除了在数据传输开始和结束时作一点处理外,在传输过程除了在数据
89、传输开始和结束时作一点处理外,在传输过程除了在数据传输开始和结束时作一点处理外,在传输过程中中中中CPUCPU可以进行其它的工作。这样,在大部分时间里,可以进行其它的工作。这样,在大部分时间里,可以进行其它的工作。这样,在大部分时间里,可以进行其它的工作。这样,在大部分时间里,CPUCPU和输入输出都处和输入输出都处和输入输出都处和输入输出都处在并行操作。因此,使整个计算机系统的效率大大提高在并行操作。因此,使整个计算机系统的效率大大提高在并行操作。因此,使整个计算机系统的效率大大提高在并行操作。因此,使整个计算机系统的效率大大提高. .8086CPU的控制线的控制线uu控制线总结控制线总结
90、三要素三要素三要素三要素 使用使用使用使用控制功能、信号方向、控制电平控制功能、信号方向、控制电平控制功能、信号方向、控制电平控制功能、信号方向、控制电平 某些控制信号由硬件电路产生某些控制信号由硬件电路产生某些控制信号由硬件电路产生某些控制信号由硬件电路产生 例如:例如:例如:例如:RESETRESET、READYREADY等等等等 某些控制信号由指令功能确定某些控制信号由指令功能确定某些控制信号由指令功能确定某些控制信号由指令功能确定 例如:例如:例如:例如:/RD/RD、/WR/WR等等等等一一8086CPU引脚引脚8086CPU引引脚脚按按功功能能可可分分为为三三大大类类:电电源源线线
91、和和地地线线,地地址址/数据引脚以及控制引脚。数据引脚以及控制引脚。1电源线和地线电源线VCC(第40引脚):输入,接入10%单一+5V电源。地线GND(引脚1和20):输入,两条地线均应接地。2.地址地址/数据数据(状态状态)引脚引脚地址/数据分时复用引脚AD15AD0(AddressData):引脚39及引脚216,传送地址时单向输出,传送数据时双向输入或输出。地址状态分时复用引脚A19/S6A16/S3(Address/Status):引脚3538,输出、三态总线。采用分时输出,即在T1状态作地址线用,T2T4状态输出状态信息。当访问存储器时,T1状态输出A19A15,与AD15AD0一
92、起构成访问存储器的20位物理地址;CPU访问I/O端口时,不使用这4个引脚,A19A16保持为0。状态信息中的S6为0用来表示8086CPU当前与总线相连,所以在T2T4状态,S6总为0,以表示CPU当前连在总线上;S5表示中断允许标志位IF的当前设置,IF=1时,S5为1,否则为0;S4S3用来指示当前正在使用哪个段寄存器,如表3.3所示。表表3.3S4与与S3组合代表的正在使用的寄存器组合代表的正在使用的寄存器S4S3当前正在使用的段寄存器当前正在使用的段寄存器00110101ESSSCS或未使用任何段寄存器或未使用任何段寄存器DS3.控制引脚控制引脚(1)NMI(Non-Maskable
93、Interrupt):引引脚脚17,非非屏屏蔽蔽中中断断请请求求信信号号,输输入入,上上升升沿沿触触发发。此请求不受标志寄存器FLAGS中中断允许标志位IF状态的影响,只要此信号一出现,在当前指令执行结束后立即进行中断处理。(2)INTR(InterruptRequest):引脚:引脚18,可屏蔽中断请求,可屏蔽中断请求信号,输入,高电平有效。信号,输入,高电平有效。CPU在每个指令周期的最后一个时钟周期检测该信号是否有效,若此信号有效,表明有外设提出了中断请求,这时若IF=1,则当前指令执行完后立即响应中断;若IF=0,则中断被屏蔽,外设发出的中断请求将不被响应。程序员可通过指令STI或CL
94、I将IF标志位置1或清零。(3) CLK(Clock):引引脚脚19,系系统统时时钟钟,输输入入。它通常与8284A时钟发生器的时钟输出端相连。该时钟信号有效高电平与时钟周期的比为13。(4)RESET:引脚:引脚21,复位信号,输入,高电平有效。,复位信号,输入,高电平有效。复位信号使处理器马上结束现行操作,对处理器内部寄存器进行初始化。8086/8088要求复位脉冲宽度不得小于4个时钟周期。复位后,内部寄存器的状态如表3.4所示。系统正常运行时,RESET保持低电平。表3.4复位后内部寄存器的状态内部寄存器内部寄存器状状态态标志寄存器标志寄存器IPCSDSSSES指令队列缓冲器指令队列缓冲
95、器其余寄存器其余寄存器0000H0000HFFFFH0000H0000H0000H空空0000H(5)READY:引脚:引脚22,数据,数据“准备好准备好”信号线,输入。信号线,输入。它实际上是所寻址的存储器或I/O端口发来的数据准备就绪信号,高电平有效。CPU在每个总线周期的T3状态对READY引脚采样,若为高电平,说明数据已准备好;若为低电平,说明数据还没有准备好,CPU在T3状态之后自动插入一个或几个等待状态TW,直到READY变为高电平,才能进入T4状态,完成数据传送过程,从而结束当前总线周期。(6):引引脚脚23,等等待待测测试试信信号号,输输入入。当CPU执行WAIT指令时,每隔5
96、个时钟周期对引脚进行一次测试。若为高电平,CPU就仍处于空转状态进行等待,直到引脚变为低电平,CPU结束等待状态,执行下一条指令,以使CPU与外部硬件同步。(7)(Read):引脚:引脚32,读控制信号,输出。,读控制信号,输出。当=0时,表示将要执行一个对存储器或I/O端口的读操作。到底是从存储单元还是从I/O端口读取数据,取决于(8086)或(8088)信号。(8)BHE/S7(BusHighEnable/Status):引脚34,高8位数据总线允许/状态复用引脚,输出。BHE在总线周期的T1状态时输出,当该引脚输出为低电平时,表示当前数据总线上高8位数据有效。该引脚和地址引脚A0配合表示
97、当前数据总线的使用情况,如表3.5所示。S7在8086中未被定义,暂作备用状态信号线。表表3.5BHE与地址引脚与地址引脚A0编码的含义编码的含义A0数据总线的使用情况0011010116位字传送(偶地址开始的两个存储器单元的内容)在数据总线高8位(D15D8)和奇地址单元间进行字节传送在数据总线低8位(D7D0)和偶地址单元间进行字节传送无效(9)MN/MX(Minimum/Maximummodecontrol):引脚:引脚33,最小,最小/最大方式控制信号,输入。最大方式控制信号,输入。MN/MX引脚接高电平时,8086/8088CPU工作在最小方式,在此方式下,全部控制信号由CPU提供;
98、MN/MX引脚接低电平时,8086/8088工作在最大方式,此时第2431引脚的功能示于图3.7括号内,这时,CPU发出的控制信号经8288总线控制器进行变换和组合,从而使总线的控制功能更加完善。 2. 8086 最小工作方式及引脚2431的定义当MN/MX接高电平时,系统工作于最小方式,即单处理器方式,它适用于较小规模的微机系统。其典型系统结构如图3.8所示。图中8284A为时钟发生/驱动器,外接晶体的基本震荡频率为15MHz,经8284A三分频后,送给CPU做系统时钟。8282为8位地址锁存器。当8086访问存储器时,在总线周期的T1状态下发出地址信号,经8282锁存后的地址信号可以在访问
99、存储器操作期间始终保持不变,为外部提供稳定的地址信号。8282是典型的8位地址锁存芯片,8086采用20位地址,再加上BHE信号,所以需要3片8282作为地址锁存器。8286为具有三态输出的8位数据总线收发器,用于需要增加驱动能力的系统。在8086系统中需要2片8286,而在8088系统中只用1片就可以了。系统中还有一个等待状态产生电路,它向8284A的RDY端提供一个信号,经8284A同步后向CPU的READY线发数据准备就绪信号,通知CPU数据已准备好,可以结束当前的总线周期。当READY=0时,CPU在T3之后自动插入TW状态,以避免CPU与存储器或I/O设备进行数据交换时,因后者速度慢
100、而丢失数据。在最小方式下,第2431引脚的功能如下:(1)INTA(InterruptAcknowledge):引脚:引脚24,中断响应信号,中断响应信号,输出。输出。该信号用于对外设的中断请求(经INTR引脚送入CPU)作出响应。INTA实际上是两个连续的负脉冲信号,第一个负脉冲通知外设接口,它发出的中断请求已被允许;外设接口接到第2个负脉冲后,将中断类型号放到数据总线上,以便CPU根据中断类型号到内存的中断向量表中找出对应中断的中断服务程序入口地址,从而转去执行中断服务程序。(2)ALE(AddressLatchEnable):引引脚脚25,地地址址锁锁存存允允许许信信号号,输输出出。它是
101、8086/8088提供给地址锁存器的控制信号,高电平有效。在任何一个总线周期的T1状态,ALE均为高电平,以表示当前地址/数据复用总线上输出的是地址信息,ALE由高到低的下降沿把地址装入地址锁存器中。(3)DEN(DataEnable):引脚:引脚26,数据允许信号,输出。,数据允许信号,输出。当使用数据总线收发器时,该信号为收发器的OE端提供了一个控制信号,该信号决定是否允许数据通过数据总线收发器。DEN为高电平时,收发器在收或发两个方向上都不能传送数据,当DEN为低电平时,允许数据通过数据总线收发器。(4)DT/R(DataTransmit/Receive):引引脚脚27,数数据据发发送送
102、/接接收收信信号号,输输出出。该信号用来控制数据的传送方向。当其为高电平时,8086CPU通过数据总线收发器进行数据发送;当其为低电平时,则进行数据接收。在DMA方式,它被浮置为高阻状态。(5)M/IO(Memory/InputandOutput):引脚:引脚28,存储器,存储器I/O端口控制信号,输出。端口控制信号,输出。该信号用来区分CPU是进行存储器访问还是I/O端口访问。当该信号为高电平时,表示CPU正在和存储器进行数据传送;如为低电平,表明CPU正在和输入/输出设备进行数据传送。在DMA方式,该引脚被浮置为高阻状态。(6)WR(Write):引引脚脚29,写写信信号号,输输出出。WR
103、有效时,表示CPU当前正在进行存储器或I/O写操作,到底是哪一种写操作,取决于M/IO信号。在DMA方式,该引脚被浮置为高阻状态。(7)HOLD(Holdrequest):引脚:引脚31,总线保持请求信号,总线保持请求信号,输入。输入。当8086/8088CPU之外的总线主设备要求占用总线时,通过该引脚向CPU发一个高电平的总线保持请求信号。(8)HLDA(HoldAcknowledge):引脚:引脚30,总线保持响应信,总线保持响应信号,输出。号,输出。当CPU接收到HOLD信号后,这时如果CPU允许让出总线,就在当前总线周期完成时,在T4状态发出高电平有效的HLDA信号给以响应。此时,CP
104、U让出总线使用权,发出HOLD请求的总线主设备获得总线的控制权。3. 8086 最大工作方式及引脚2431的定义当MN/MX接低电平时,系统工作于多处理器方式。可以看出,最大方式和最小方式有关地址总线和数据总线的电路部分基本相同。而控制总线的电路部分有很大差别。在最小工作方式下,控在最小工作方式下,控制信号可直接从制信号可直接从8086/8088CPU得到,不需要外加电路。最大方式得到,不需要外加电路。最大方式是多处理器工作方式,需要协调主处理器和协处理器的工作。因是多处理器工作方式,需要协调主处理器和协处理器的工作。因此,此,8086/8088的部分引脚需要重新定义,控制信号不能直接从的部分
105、引脚需要重新定义,控制信号不能直接从8086/8088CPU引脚得到,需要外加引脚得到,需要外加8288总线控制器,通过它对总线控制器,通过它对CPU发出的控制信号发出的控制信号(S0,S1,S2)进行变换和组合,以得到对存储器进行变换和组合,以得到对存储器和和I/O端口的读写控制信号和对地址锁存器端口的读写控制信号和对地址锁存器8282及对总线收发器及对总线收发器8286的控制信号,使总线的控制功能更加完善。的控制信号,使总线的控制功能更加完善。在最大方式下,第2431引脚的功能如下:(1)QS1、QS0(InstructionQueueStatus):引脚:引脚24、25,指,指令队列状态
106、信号,输出。令队列状态信号,输出。QS1、QS0两个信号电平的不同组合指明了指令队列的状态,其代码组合对应的含义如表所示。QS1QS0含含义义00无操作无操作01从指令队列的第一字节中取走代码从指令队列的第一字节中取走代码10队列为空队列为空11除第一字节外,还取走了后续字节中的代码除第一字节外,还取走了后续字节中的代码(2)S2、S1、S0(BusCycleStatus):引脚26、27、28,总线周期状态信号,输出。低电平有效的三个状态信号连接到总线控制器8288的输入端,8288对这些信号进行译码后产生内存及I/O端口的读写控制信号。表3.7给出了这三个状态信号的代码组合使8288产生的
107、控制信号及其对应的操作。表3.7中前7种代码组合都对应某个总线操作过程,通常称为有源状态,它们处于前一个总线周期的T4状态或本总线周期的T1、T2状态中,S2、S1、S0至少有一个信号为低电平。在总线周期的T3、TW状态并且READY信号为高电平时,S2、S1、S0都成为高电平,此时,前一个总线操作就要结束,后一个新的总线周期尚未开始,通常称为无源状态。而在总线周期的最后一个状态即T4状态,S2、S1、S0中任何一个或几个信号的改变,都意味着下一个新的总线周期的开始。表表3.7S2、S1、S0的代码组合对应的操作的代码组合对应的操作8288产生的控制信号产生的控制信号对对应应操操作作000发中
108、断响应信号发中断响应信号001读读I/O端口端口010写写I/O端口端口011无无暂停暂停100取指令取指令101读内存读内存110写内存写内存111无无无源状态无源状态(3)LOCK(Lock):引脚29,总线封锁信号,输出。当LOCK为低电平时,系统中其他总线主设备就不能获得总线的控制权而占用总线。LOCK信号由指令前缀LOCK产生,LOCK指令后面的一条指令执行完后,便撤消了LOCK信号。另外,在DMA期间,LOCK被浮空而处于高阻状态。(4)RQ/GT1、RQ/GT0(Request/Grant):引脚30、31,总线请求信号(输入)/总线请求允许信号(输出)。这两个信号可供8086/
109、8088以外的2个总线主设备向8086/8088发出使用总线的请求信号RQ(相当于最小方式时的HOLD信号)。而8086/8088在现行总线周期结束后让出总线,发出总线请求允许信号GT(相当于最小方式的HLDA信号),此时,外部总线主设备便获得了总线的控制权。其中RQ/GT0比RQ/GT1的优先级高。8288总线控制器还提供了其他一些控制信号:MRDC(MemoryReadCommand)、MWTC(MemoryWriteCommand)、IORC(I/OReadCommand)、IOWC(I/OWriteCommand)以及INTA等,它们分别是存储器与I/O的读写命令以及中断响应信号。另外
110、,还有AMWC与AIOWC两个信号,它们分别表示提前写内存命令和提前写I/O命令,其功能分别与MWTC和IOWC一样,只是它们由8288提前一个时钟周期发出信号,这样,一些较慢的存储器和外设将得到一个额外的时钟周期去执行写入操作。 48088与与8086引脚的区别引脚的区别8088与8086绝大多数引脚的名称和功能是完全相同的,仅有以下三点不同:(1)AD15AD0的定义不同。在8086中都定义为地址/数据分时复用引脚;而在8088中,由于只需要8条数据线,因此,对应于8086的AD15AD8这8根引脚在8088中定义为A15A8,它们在8088中只做地址线用。(2)引脚34的定义不同。在最大
111、方式下,8088的第34引脚保持高电平,而8086在最大方式下34引脚的定义与最小方式下相同。(3)引脚28的有效电平高低定义不同。8088和8086的第28引脚的功能是相同的,但有效电平的高低定义不同。8088的第28引脚为IO/M,当该引脚为低电平时,表明8088正在进行存储器操作;当该引脚为高电平时,表明8088正在进行I/O操作。8086的第28引脚为M/IO,电平与8088正好相反。三、三、CPU技技术的的进步与步与发展展1 1、CPUCPU采用的新技采用的新技采用的新技采用的新技术术u 微程序控制技微程序控制技微程序控制技微程序控制技术术u 流水流水流水流水线线技技技技术术u 高速
112、高速高速高速缓缓存技存技存技存技术术u 乱序乱序乱序乱序执执行技行技行技行技术术u 推推推推测执测执行技行技行技行技术术u 多媒体多媒体多媒体多媒体MMXMMX技技技技术术微程序控制技术微程序控制技术常常规CPU新型新型CPU指令的操作由指令的操作由指令的操作由指令的操作由 CPUCPU内部的硬件控制,内部的硬件控制,内部的硬件控制,内部的硬件控制,硬件确定后硬件确定后硬件确定后硬件确定后 CPUCPU的功能就确定,要增加的功能就确定,要增加的功能就确定,要增加的功能就确定,要增加CPUCPU的功需的功需的功需的功需设计设计新的硬件。新的硬件。新的硬件。新的硬件。指令的操作由指令的操作由指令的
113、操作由指令的操作由 CPUCPU内部的微程序控制,内部的微程序控制,内部的微程序控制,内部的微程序控制,硬件确定后硬件确定后硬件确定后硬件确定后 CPUCPU的新增功能可用微程序的的新增功能可用微程序的的新增功能可用微程序的的新增功能可用微程序的升升升升级获级获得。得。得。得。流水线技术流水线技术8位位CPU16位位CPU取指令、取指令、取指令、取指令、执执行指令分行指令分行指令分行指令分时进时进行,行,行,行,总线总总线总有有有有闲闲的的的的时时候,效率低。候,效率低。候,效率低。候,效率低。取指令、取指令、取指令、取指令、执执行指令同行指令同行指令同行指令同时进时进行,行,行,行,总线总线
114、几乎无几乎无几乎无几乎无闲闲的的的的时时候,效率高。候,效率高。候,效率高。候,效率高。高速缓存技术高速缓存技术常常规CPU(8086/8088)新型新型CPU(Pentium)存存存存储储系系系系统统由内存(半由内存(半由内存(半由内存(半导导体存体存体存体存储储器)和器)和器)和器)和外存(磁性材料存外存(磁性材料存外存(磁性材料存外存(磁性材料存储储器)器)器)器)组组成,成,成,成,CPUCPU直接直接直接直接访问访问内存,内存,内存,内存,经经 I/OI/O接口接口接口接口间间接接接接访问访问外存外存外存外存 。存存存存储储系系系系统统由内存(含高速由内存(含高速由内存(含高速由内存
115、(含高速缓缓存和主存,存和主存,存和主存,存和主存,均是半均是半均是半均是半导导体存体存体存体存储储器)和外存(磁性材料存器)和外存(磁性材料存器)和外存(磁性材料存器)和外存(磁性材料存储储器)器)器)器)组组成,成,成,成,CPUCPU直接直接直接直接访问访问高速高速高速高速缓缓存,及存,及存,及存,及直接直接直接直接访问访问主存,主存,主存,主存,经经 I/OI/O接口接口接口接口间间接接接接访问访问外存外存外存外存 。乱序执行技术乱序执行技术常常规CPU(8086/8088)新型新型CPU(Pentium)指令按存指令按存指令按存指令按存储顺储顺序由序由序由序由 CPUCPU依秩依秩依
116、秩依秩执执行,行,行,行,影响影响影响影响 CPUCPU的工作效率。的工作效率。的工作效率。的工作效率。指令跟据指令跟据指令跟据指令跟据 CPUCPU的需永无秩的需永无秩的需永无秩的需永无秩执执行,行,行,行,提高提高提高提高 CPUCPU的工作效率。的工作效率。的工作效率。的工作效率。推测执行技术推测执行技术常常规CPU(8086/8088)新型新型CPU(Pentium)执执行当前指令行当前指令行当前指令行当前指令时时无法无法无法无法预测预测下一条分支下一条分支下一条分支下一条分支转转移移移移指令的位置,影响指令的位置,影响指令的位置,影响指令的位置,影响 CPUCPU的工作效率。的工作效
117、率。的工作效率。的工作效率。执执行当前指令行当前指令行当前指令行当前指令时时先先先先预测预测下一条分支下一条分支下一条分支下一条分支转转移移移移指令的位置,提高指令的位置,提高指令的位置,提高指令的位置,提高 CPUCPU的工作效率。的工作效率。的工作效率。的工作效率。多媒体技术多媒体技术常常规CPU(8086/8088)新型新型CPU(Pentium)处处理的数据量小,能理的数据量小,能理的数据量小,能理的数据量小,能满满足文本及足文本及足文本及足文本及简单简单图图型的型的型的型的处处理。理。理。理。处处理的数据量大,需理的数据量大,需理的数据量大,需理的数据量大,需满满足数字足数字足数字足
118、数字视频视频等等等等多媒体海量数据的多媒体海量数据的多媒体海量数据的多媒体海量数据的处处理。理。理。理。2 2、CPUCPU产产品的品的品的品的发发展展展展现现状状状状Intel 4004Intel 400419711971intel 8080intel 808019741974Intel 8086/8088Intel 8086/808819781978802868028619811981803868038619851985804868048619901990奔腾(奔腾(PentiumPentium)19931993Pentium ProPentium Pro19961996Pentium I
119、IPentium II19971997奔腾奔腾IIIIII(Pentium IIIPentium III)19991999奔腾奔腾4 4 (Pentium 4Pentium 4)20002000奔腾奔腾D D(Pentium DPentium D)20052005Intel Core 2 DuoIntel Core 2 Duo20062006Intel Intel 四核心服务器用处理器四核心服务器用处理器200720073.33.3、存储器及存储器的工作原理、存储器及存储器的工作原理 存储器是计算机不可缺少的组成部分。程序和数据存储器是计算机不可缺少的组成部分。程序和数据存储器是计算机不可缺少
120、的组成部分。程序和数据存储器是计算机不可缺少的组成部分。程序和数据输入计算机后,都是存放在存储器中的。在程序的执行输入计算机后,都是存放在存储器中的。在程序的执行输入计算机后,都是存放在存储器中的。在程序的执行输入计算机后,都是存放在存储器中的。在程序的执行过程中,存储器可以将处理结果记忆下来,当需要时从过程中,存储器可以将处理结果记忆下来,当需要时从过程中,存储器可以将处理结果记忆下来,当需要时从过程中,存储器可以将处理结果记忆下来,当需要时从中取出。存储容量的大小已成为衡量一个计算机能力的中取出。存储容量的大小已成为衡量一个计算机能力的中取出。存储容量的大小已成为衡量一个计算机能力的中取出
121、。存储容量的大小已成为衡量一个计算机能力的重要指标。存储容量越大,存储的信息越多,计算机的重要指标。存储容量越大,存储的信息越多,计算机的重要指标。存储容量越大,存储的信息越多,计算机的重要指标。存储容量越大,存储的信息越多,计算机的功能就越强。另外,由于计算机操作大部分是和存储器功能就越强。另外,由于计算机操作大部分是和存储器功能就越强。另外,由于计算机操作大部分是和存储器功能就越强。另外,由于计算机操作大部分是和存储器交换信息,因此,存取速度是影响计算机运算速度的重交换信息,因此,存取速度是影响计算机运算速度的重交换信息,因此,存取速度是影响计算机运算速度的重交换信息,因此,存取速度是影响
122、计算机运算速度的重要指标之一。要指标之一。要指标之一。要指标之一。3.3.1 8086/8088存储器组织存储器组织 18086/8088存储空间存储空间8086/8088有20条地址线,可直接对1M个存储单元进行访问。每个存储单元存放一个字节型数据,且每个存储单元都有一个20位的地址,这1M个存储单元对应的地址为00000HFFFFFH,如图3.10所示。一个存储单元中存放的信息称为该存储单元的内容。如图3.10所示,00001H单元的内容为9FH,记为:(00001H)=9FH。图3.10数据在存储器中的存放若存放的是字型数据(16位二进制数),则将字的低位字节存放在低地址单元,高位字节存
123、放在高地址单元。如从地址0011FH开始的两个连续单元中存放一个字型数据,则该数据为DF46H,记为:(0011FH)=DF46H。若存放的是双字型数据(32位二进制数,这种数一般作为地址指针,其低位字是被寻址地址的偏移量,高位字是被寻址地址所在段的段地址),这种类型的数据要占用连续的4个存储单元,同样,低字节存放在低地址单元,高字节存放在高地址单元。如从地址E800AH开始的连续4个存储单元中存放了一个双字型数据,则该数据为66A65E65H,记为:(E800AH)=66A65E65H。 2存储器的段结构存储器的段结构8086/8088CPU中有关可用来存放地址的寄存器如IP、SP等都是16
124、位的,故只能直接寻址64KB。为了对1M个存储单元进行管理,8086/80888086/8088采用了段结构的存储器管理方法采用了段结构的存储器管理方法采用了段结构的存储器管理方法采用了段结构的存储器管理方法。8086/8088将整个存储器分为许多逻辑段,每个逻辑段的容量小于或等于64KB,允许它们在整个存储空间中浮动,各个逻辑段之间可以紧密相连,也可以互相重叠。用户编写的程序(包括指令代码和数据)被分别存储在代码段、数据段、堆栈段和附加数据段中,这些段的段地址分别存储在段寄存器CS、DS、SS和ES中,而指令或数据在段内偏移地址可由对应的地址寄存器或立即数给出,如表3.8所示。表表3.8存储
125、器操作时段地址和段内偏移地址的来源存储器操作时段地址和段内偏移地址的来源存储器操作类型存储器操作类型段段地地址址偏移地址偏移地址正常来源正常来源其他来源其他来源取指令取指令CS无无IP存取操作数存取操作数DSCS、ES、SS有效地址有效地址EA通过通过BP寻址存取操寻址存取操作数作数SSCS、ES、SS有效地址有效地址EA堆栈操作堆栈操作SS无无BP、SP源字符串源字符串DSCS、ES、SSSI目的字符串目的字符串ES无无DI如果从存储器中读取指令,则段地址来源于代码段寄存器CS,偏移地址来源于指令指针寄存器IP。如果从存储器读/写操作数,则段地址通常由数据段寄存器DS提供(必要时可通过指令前
126、缀实现段超越,将段地址指定为由CS、ES或SS提供),偏移地址则要根据指令中所给出的寻址方式确定,这时,偏移地址通常由寄存器BX、SI、DI以及立即数等提供,这类偏移地址也被称为“有效地址”(EA)。如果操作数是通过基址寄存器BP寻址的,则此时操作数所在段的段地址由堆栈段段寄存器SS提供(必要时也可指定为CS、SS或ES)(详见第4章“寻址方式”一节)。如果使用堆栈操作指令(PUSH或POP)进行进栈或出栈操作,以保护断点或现场,则段地址来源于堆栈段寄存器SS,偏移地址来源于堆栈指针寄存器SP(详见本节“4.堆栈操作”)。如果执行的是字符串操作指令,则源字符串所在段的段地址由数据段寄存器DS提
127、供(必要时可指定为CS、ES或SS),偏移地址由源变址寄存器SI提供;目的字符串所在段的段地址由附加数据段寄存器ES提供,偏移地址由目的变址寄存器DI提供。以上这些存储器操作时段地址和偏移地址的约定是由系统设计时事先已规定好的,编写程序时必须遵守这些约定。 3逻辑地址与物理地址由于采用了存储器分段管理方式,8080/8088CPU在对存储器进行访问时,根据当前的操作类型(取指令或存取操作数)以及读取操作数时指令所给出的寻址方式,CPU就可确定要访问的存储单元所在段的段地址以及该单元在本段内的偏移地址(如表3.8所示)。我我我我们们们们把把把把通通通通过过过过段段段段地地地地址址址址和和和和偏偏
128、偏偏移移移移地地地地址址址址来来来来表表表表示示示示的的的的存存存存储储储储单单单单元元元元的的的的地址称为逻辑地址,记为:段地址:偏移地址地址称为逻辑地址,记为:段地址:偏移地址地址称为逻辑地址,记为:段地址:偏移地址地址称为逻辑地址,记为:段地址:偏移地址。CPU在对存储单元进行访问时,必须在20位的地址总线上提供一个20位的地址信息,以便选中所要访问的存储单元。我们把CPU对存储器进行访问时实际寻址所使用的20位地址称为位地址称为位地址称为位地址称为物理地址。物理地址。物理地址。物理地址。物理地址是由CPU内部总线接口单元BIU中的地址加法器根据逻辑地址产生的。由逻辑地址形成20位物理地
129、址的方法为:段地址段地址段地址段地址 10H+10H+偏移地址。偏移地址。偏移地址。偏移地址。如果当前的(IP)=1000H,那么,下一条要读取的指令所在存储单元的物理地址为:(CS)10H+(IP)=1000H10H+1000H=11000H如果某操作数在数据段内的偏移地址为8000H,则该操作数所在存储单元的物理地址为(DS)10H+8000H=2A0FH10H+8000H=320F0H 4 4堆栈操作堆栈操作堆栈操作堆栈操作堆栈(Stack)是在存储器中开辟的一个特定区域。开辟堆栈的目的主要有以下两点:(1)存放指令操作数(变量)。此时,对操作数进行访问时,段地址由堆栈段寄存器SS来提供
130、,操作数在该段内的偏移地址由基址寄存器BP来提供。(2)保护断点和现场。此为堆栈的主要功能。堆栈的构造堆栈的构造1、主存储器中划分出一段区域作堆栈、主存储器中划分出一段区域作堆栈2、堆栈有两端,固定的一端为栈底(、堆栈有两端,固定的一端为栈底(Bottom),),浮动的一端为栈顶(浮动的一端为栈顶(Top)。)。3、数据只能从栈顶进出,存取顺序为后进先出、数据只能从栈顶进出,存取顺序为后进先出(LIFO)。)。4、堆栈指针、堆栈指针SP指向栈顶,即指向栈顶,即SP的内容为栈顶单的内容为栈顶单元相对于堆栈段段基址的字节距离。元相对于堆栈段段基址的字节距离。进栈和出栈操作过程进栈和出栈操作过程进栈
131、和出栈操作过程进栈和出栈操作过程在执行进栈和出栈操作时,段地址由堆栈段寄存器SS提供,段内偏移地址由堆栈指针寄存器SP提供,SP始终指向栈顶,当堆栈空时,SP指向栈底。如图3.12所示,设在存储器中开辟了100H个存储单元的堆栈段,当前(SS)=2000H,堆栈空时(SP)=0100H,即此时SP指向栈底(如图3.12(a)所示)。由于PUSH和POP指令要求操作数为字型数据,因此,每进行一次进栈操作,SP值减2(如图3.12(b)所示),每进行一次出栈操作,SP值加2(如图3.12(c)所示)。在进栈和出栈操作过程中,SP始终指向栈顶。进栈过程进栈过程:(SP)-2SP数据SP进栈过程:进栈
132、过程:(SP)寄存器/字单元(SP)+2SP图图3.12进栈与出栈操作示意图进栈与出栈操作示意图 58086/8088存储器结构存储器结构8086的1MB存储空间实际上分为两个512KB的存储体,又称存储库,分别叫高位库和低位库,如图3.13所示。低位库与数据总线D7D0相连,该库中每个存储单元的地址为偶数地址;高位库与数据总线D15D8相连,该库中每个存储单元的地址为奇数地址。地址总线A19A1可同时对高、低位库的存储单元寻址,A0和BHE用于对库的选择,分别连接到库选择端SEL上。当A0=0时,选择偶数地址的低位库;当BHE=0时,选择奇数地址的高位库;当两者均为0时,则同时选中高低位库。
133、利用A0和BHE这两个控制信号,既可实现对两个库进行读/写(即16位数据),也可单独对其中一个库进行读/写(8位数据),如表3.9所示。图3.13 8086存储器高低位库的连接表表3.98086存储器高低位库选择存储器高低位库选择A0对应操作00同时访问两个存储体,读/写一个字的信息01只访问奇地址存储体,读/写高字节的信息10只访问偶地址存储体,读/写低字节的信息11无操作 在8086系统中,存储器这种分体结构对用户来说是透明的。当用户需要访问存储器中某个存储单元,以便进行字节型数据的读/写操作时,指令中的地址码经变换后得到20位的物理地址,该地址可能是偶地址,也可能是奇地址。如果是偶地址(
134、A0=0),BHE=1,这时由A0选定偶地址存储体,通过A19A1从偶地址存储体中选中某个单元,并启动该存储体,读/写该存储单元中一个字节信息,通过数据总线的低8位传送数据,如图3.14(a)所示;如果是奇地址(A0)=1,则偶地址存储体不会被选中,也就不会启动它。为了启动奇地址存储体,系统将自动产生BHE=0,作为奇地址存储体的选体信号,与A19A1一起选定奇地址存储体中的某个存储单元,并读/写该单元中的一个字节信息,通过数据总线的高8位传送数据,如图3.14(b)所示。可以看出,对于字节型数据,不论它存放在偶地址的低位库,还是奇地址的高位库,都可通过一个总线周期完成数据的读/写操作。 如果
135、用户需要访问存储器中某两个存储单元,以便进行字型数据的读/写时,可分两种情况来讨论。一种情况是用户要访问的是从偶地址开始的两个连续存储单元(即字的低字节在偶地址单元,高字节在奇地址单元),这种存放称为规则存放,这样存放的字称为规则字。对于规则存放的字可通过一个总线周期完成读/写操作,这时A0=0,BHE=0,如图3.14(c)所示;另一种情况是用户要访问的是从奇地址开始的两个存储单元(即字的低字节在奇地址单元,高字节在偶地址单元),这种存放称为非规则存放,这样存放的字称为非规则字,对于非规则存放的字需要通过两个总线周期才能完成读/写操作,即第一次访问存储器时读/写奇地址单元中的字节,第二次访问
136、存储器时读/写偶地址单元中的字节,如图3.14(d)所示。显然,为了加快程序的运行速度,希望字型数据在存储器中规则存放。 图3.14 从8086存储器的偶数和奇数地址读字节和字(a)读偶地址单元中的字节;(b) 读奇地址单元中的字节;(c) 读偶地址单元中的字;(d) 读奇地址单元中的字 在8088系统中,可直接寻址的存储空间同样也是1MB,但其存储器的结构与8086有所不同,它的1MB存储空间同属于一个单一的存储体,即存储体为1M8位。它与总线之间的连接方式很简单,其20根地址线A19A0与8根数据线分别与8088CPU对应的地址线和数据线相连。8088CPU每访问一次存储器只能读/写一个字
137、节信息,因此在8088系统的存储器中,字型数据需要两次访问存储器才能完成读/写操作。3.3.2 8086/8088的的I/O组织组织8086/8088系统和外部设备之间是通过I/O接口电路来联系的。每个I/O接口都有一个或几个端口。在微机系统中每个端口分配一个地址号,称为端口地址。一个端口通常为I/O接口电路内部的一个寄存器或一组寄存器。8086/8088CPU用地址总线的低16位作为对8位I/O端口的寻址线,所以8086/8088系统可访问的8位I/O端口有65536(64K)个。两个编号相邻的8位端口可以组成一个16位的端口。一个8位的I/O设备既可以连接在数据总线的高8位上,也可以连接到
138、数据总线的低8位上。一般为了使数据/地址总线的负载平衡,希望接在数据/地址总线高8位和低8位的设备数目最好相等。当一个I/O设备接在数据总线的低8位(AD7AD0)上时,这个I/O设备所包括的所有端口地址都将是偶数地址(A0=0);若一个I/O设备接在数据总线的高8位(AD15AD8)上时,那么该设备包含的所有端口地址都是奇数地址(A0=1)。如果某种特殊I/O设备既可使用偶地址又可使用奇地址时,此时必须将A0和BHE两个信号结合起来作为I/O设备的选择线。8086CPU对I/O设备的读/写操作与对存储器的读/写操作类似。当CPU与偶地址的I/O设备实现16位数据的存取操作时,可在一个总线周期
139、内完成;当CPU与奇地址的I/O设备实现16位数据的存取操作时,要占用两个总线周期才能完成。需要说明的是,8086/8088CPU的I/O指令可以用16位的有效地址A15A0来寻址0000FFFFH共64K个端口,但IBMPC系统中只使用了A9A010位地址来作为I/O端口的寻址信号,因此,其I/O端口的地址仅为0003FFH共1K个。一、存一、存储器的分器的分类1 1、按材料和制造工、按材料和制造工、按材料和制造工、按材料和制造工艺艺分分分分半导体存储器半导体存储器RAM:RAM:随机存储器(随机存储器(随机存储器(随机存储器(RandomAccessRandomAccessMemory)M
140、emory)在使用过程中利用程序可随时读写信息的存储器。断在使用过程中利用程序可随时读写信息的存储器。断在使用过程中利用程序可随时读写信息的存储器。断在使用过程中利用程序可随时读写信息的存储器。断电后,其存储的信息会消失,也称为易失性存储器。主电后,其存储的信息会消失,也称为易失性存储器。主电后,其存储的信息会消失,也称为易失性存储器。主电后,其存储的信息会消失,也称为易失性存储器。主存主要采用随机存储器。存主要采用随机存储器。存主要采用随机存储器。存主要采用随机存储器。ROM:ROM:只读存储器(只读存储器(只读存储器(只读存储器(Read-onlyMemory)Read-onlyMemor
141、y)只能读出存储的信息而不能写入信息,断电后其存储只能读出存储的信息而不能写入信息,断电后其存储只能读出存储的信息而不能写入信息,断电后其存储只能读出存储的信息而不能写入信息,断电后其存储的信息仍保留不变,称为非易失性存储器。的信息仍保留不变,称为非易失性存储器。的信息仍保留不变,称为非易失性存储器。的信息仍保留不变,称为非易失性存储器。磁、光存储器磁、光存储器磁盘磁盘磁带磁带软盘软盘光盘光盘2 2、按功能和作用分、按功能和作用分、按功能和作用分、按功能和作用分主存主存主存主存储储器(内存)器(内存)器(内存)器(内存) 主存主存主存主存储储器用来存放当前运行器用来存放当前运行器用来存放当前运
142、行器用来存放当前运行时时所需要的程序和数据。所需要的程序和数据。所需要的程序和数据。所需要的程序和数据。主存的存取速度快,但容量主存的存取速度快,但容量主存的存取速度快,但容量主存的存取速度快,但容量较较小,且价格小,且价格小,且价格小,且价格较较高。高。高。高。辅辅助存助存助存助存储储器(外存)器(外存)器(外存)器(外存)辅辅存是用来存放系存是用来存放系存是用来存放系存是用来存放系统统程序、数据文件、数据程序、数据文件、数据程序、数据文件、数据程序、数据文件、数据库库等。等。等。等。辅辅存的存存的存存的存存的存储储容量容量容量容量较较大、价格低,但存取速度大、价格低,但存取速度大、价格低,
143、但存取速度大、价格低,但存取速度较较慢。慢。慢。慢。高速高速高速高速缓缓冲存冲存冲存冲存储储器(器(器(器(Cache)Cache)采用双极性超高速半采用双极性超高速半采用双极性超高速半采用双极性超高速半导导体存体存体存体存储储器,速度介于主存和器,速度介于主存和器,速度介于主存和器,速度介于主存和CPUCPU内部的寄存器之内部的寄存器之内部的寄存器之内部的寄存器之间间,但集成度,但集成度,但集成度,但集成度较较低,功耗大,成本高。低,功耗大,成本高。低,功耗大,成本高。低,功耗大,成本高。3 3、按存储单元的寻址方式分类按存储单元的寻址方式分类 随机存取存储器随机存取存储器随机存取存储器随机
144、存取存储器 RAMRAM(RandomAccessMemoryRandomAccessMemory) 顺序存取存储器顺序存取存储器顺序存取存储器顺序存取存储器 SAMSAM(SequentialAccessMemorySequentialAccessMemory) 直接存取存储器直接存取存储器直接存取存储器直接存取存储器 DAMDAM(DirectAccessMemoryDirectAccessMemory)4、按存储数据传送方式分类、按存储数据传送方式分类 并行存储器并行存储器并行存储器并行存储器 串行存储器串行存储器串行存储器串行存储器注:多位并行注:多位并行注:多位并行注:多位并行处处理
145、,相理,相理,相理,相对传对传送速度快。送速度快。送速度快。送速度快。注:一位一位串行注:一位一位串行注:一位一位串行注:一位一位串行处处理,相理,相理,相理,相对传对传送速度慢。送速度慢。送速度慢。送速度慢。半半导体存体存储器的性能指器的性能指标u存储容量存储容量存储容量存储容量=NMN N:半:半:半:半导导体存体存体存体存储储器芯片有多少个存器芯片有多少个存器芯片有多少个存器芯片有多少个存储单储单元,元,元,元,单单元元元元寻寻址与址与址与址与 地址地址地址地址线线有关。有关。有关。有关。MM:每个存:每个存:每个存:每个存储单储单元中能存放多少个二元中能存放多少个二元中能存放多少个二元
146、中能存放多少个二进进制位,制位,制位,制位,二二二二进进制数位的制数位的制数位的制数位的传传送与数据送与数据送与数据送与数据线线有关。有关。有关。有关。半半导体存体存储器的性能指器的性能指标u存取时间存取时间 存取时间的定义存取时间的定义 存取时间的单位存取时间的单位向存储器单元写数据所需时间,向存储器单元写数据所需时间,向存储器单元写数据所需时间,向存储器单元写数据所需时间,从存储器单元读数据所需时间。从存储器单元读数据所需时间。从存储器单元读数据所需时间。从存储器单元读数据所需时间。ns(纳秒)(纳秒)(纳秒)(纳秒)半半导体存体存储器的性能指器的性能指标u功耗功耗 功耗的定义功耗的定义
147、功耗的单位功耗的单位 功耗的应用功耗的应用存储器单元的功耗,存储器单元的功耗,存储器单元的功耗,存储器单元的功耗,存储器芯片的功耗。存储器芯片的功耗。存储器芯片的功耗。存储器芯片的功耗。存储器单元的功耗存储器单元的功耗存储器单元的功耗存储器单元的功耗 W/W/单元单元单元单元存储器芯片的功耗存储器芯片的功耗存储器芯片的功耗存储器芯片的功耗 mW/mW/芯片芯片芯片芯片台式机可用高功耗的存储器,台式机可用高功耗的存储器,台式机可用高功耗的存储器,台式机可用高功耗的存储器,便携机必用低功耗的存储器。便携机必用低功耗的存储器。便携机必用低功耗的存储器。便携机必用低功耗的存储器。半半导体存体存储器的性
148、能指器的性能指标u工作电源工作电源TTLTTL器件,工作电源为器件,工作电源为器件,工作电源为器件,工作电源为 +5V+5VMOSMOS器件,工作电源为器件,工作电源为器件,工作电源为器件,工作电源为 +1.5V+18V+1.5V+18V 与存储器芯片类型有关与存储器芯片类型有关 与应用系统有关与应用系统有关一般应用系统一般应用系统一般应用系统一般应用系统 +5V+5V特殊应用系统特殊应用系统特殊应用系统特殊应用系统 +3.3V+3.3V、1.5V1.5V半半导体存体存储器的性能指器的性能指标u价格价格 价格公式价格公式(CE)/S元元/位位 性价比性价比CC存储器芯片价格存储器芯片价格存储器
149、芯片价格存储器芯片价格EE所需外围电路价格所需外围电路价格所需外围电路价格所需外围电路价格SS存储器芯片字节容量存储器芯片字节容量存储器芯片字节容量存储器芯片字节容量单片容量大的存储器芯片相对成本低单片容量大的存储器芯片相对成本低单片容量大的存储器芯片相对成本低单片容量大的存储器芯片相对成本低存取时间长的存储器芯片相对成本低存取时间长的存储器芯片相对成本低存取时间长的存储器芯片相对成本低存取时间长的存储器芯片相对成本低无外围电路的存储器芯片相对成本低无外围电路的存储器芯片相对成本低无外围电路的存储器芯片相对成本低无外围电路的存储器芯片相对成本低半半导体存体存储器的器的结构特点构特点uRAM的结
150、构特点的结构特点 双极型双极型RAM MOS型型RAM 不挥发型不挥发型RAM特点:速度快、功耗大、相对价格高特点:速度快、功耗大、相对价格高特点:速度快、功耗大、相对价格高特点:速度快、功耗大、相对价格高常用:静态常用:静态常用:静态常用:静态 SRAMSRAM、动态、动态、动态、动态 DRAMDRAM特点:集成度高、功耗小、相对价格低特点:集成度高、功耗小、相对价格低特点:集成度高、功耗小、相对价格低特点:集成度高、功耗小、相对价格低常用:电池保持型、电写入型常用:电池保持型、电写入型常用:电池保持型、电写入型常用:电池保持型、电写入型特点:掉电不丢失数据特点:掉电不丢失数据特点:掉电不丢
151、失数据特点:掉电不丢失数据半半导体存体存储器的器的结构特点构特点uROM的结构特点的结构特点 掩膜型掩膜型掩膜型掩膜型 ROMROM 可编程型可编程型可编程型可编程型 PROM(ProgramableROM)PROM(ProgramableROM) 光擦除型光擦除型光擦除型光擦除型 EPROM(erasableprogramableEPROM(erasableprogramableROM)ROM) 电擦除型电擦除型EEPROM芯片制造时编好程,低成本大批量。芯片制造时编好程,低成本大批量。芯片制造时编好程,低成本大批量。芯片制造时编好程,低成本大批量。应用时可一次编程,中成本小批量。应用时可一
152、次编程,中成本小批量。应用时可一次编程,中成本小批量。应用时可一次编程,中成本小批量。可多次光擦除多次编程,高成本研发用。可多次光擦除多次编程,高成本研发用。可多次光擦除多次编程,高成本研发用。可多次光擦除多次编程,高成本研发用。可多次电擦除多次编程,目前广泛应用。可多次电擦除多次编程,目前广泛应用。可多次电擦除多次编程,目前广泛应用。可多次电擦除多次编程,目前广泛应用。快擦写存储器(快擦写存储器(快擦写存储器(快擦写存储器(FlashMemory)-FlashMemory)-闪存闪存闪存闪存二、存二、存储器的基本器的基本结构和存取原理构和存取原理u存存存存储储体体体体 :由多个基本存:由多个
153、基本存:由多个基本存:由多个基本存储单储单元矩元矩元矩元矩阵阵排列排列排列排列组组成。成。成。成。u地址地址地址地址译码译码器:器:器:器:对对CPUCPU送来的地址信号送来的地址信号送来的地址信号送来的地址信号译译友,友,友,友,选择选择存存存存储储器中要器中要器中要器中要访问访问的的的的单单元。元。元。元。u读读/ /写写写写驱动电驱动电路:包括路:包括路:包括路:包括读读出放大和写入出放大和写入出放大和写入出放大和写入电电路。路。路。路。u三三三三态态数据数据数据数据缓缓冲器:芯片内部数据信号冲器:芯片内部数据信号冲器:芯片内部数据信号冲器:芯片内部数据信号经经三三三三态门态门挂挂挂挂在
154、数据在数据在数据在数据总线总线上。上。上。上。u控制控制控制控制电电路:接受来自路:接受来自路:接受来自路:接受来自CPUCPU的信号,控制存的信号,控制存的信号,控制存的信号,控制存储储芯片芯片芯片芯片工作。工作。工作。工作。存存储器的基本器的基本结构构u存取原理:当要存取原理:当要存取原理:当要存取原理:当要进进行行行行读读或写操作或写操作或写操作或写操作时时:1 1、先由地址、先由地址、先由地址、先由地址总线给总线给出地址。出地址。出地址。出地址。2 2、通、通、通、通过译码过译码器器器器译码译码找出指令或数据存放在存找出指令或数据存放在存找出指令或数据存放在存找出指令或数据存放在存储储
155、器器器器中的位置。中的位置。中的位置。中的位置。3 3、CPUCPU发发出出出出读读或写命令。或写命令。或写命令。或写命令。4 4、通、通、通、通过过数据数据数据数据缓缓冲器把数据或指令从存冲器把数据或指令从存冲器把数据或指令从存冲器把数据或指令从存储储器中器中器中器中读读出出出出或写入。或写入。或写入。或写入。存取原理存取原理三、高速三、高速缓存存Cache的工作原理的工作原理1 1、存、存、存、存储储器的三器的三器的三器的三级级存取存取存取存取结结构构构构设置设置设置设置CacheCacheCacheCache的目的的目的的目的的目的 计算机系统多采用多用户、多程序工作方式,计算机系统多采
156、用多用户、多程序工作方式,计算机系统多采用多用户、多程序工作方式,计算机系统多采用多用户、多程序工作方式,每个程序一般地址连续,占有存储器很少的范围。每个程序一般地址连续,占有存储器很少的范围。每个程序一般地址连续,占有存储器很少的范围。每个程序一般地址连续,占有存储器很少的范围。 当某个程序运行时,当某个程序运行时,当某个程序运行时,当某个程序运行时,CPUCPUCPUCPU对这部分地址访问比较对这部分地址访问比较对这部分地址访问比较对这部分地址访问比较频繁,而其它访问可以很少。能否在主存和频繁,而其它访问可以很少。能否在主存和频繁,而其它访问可以很少。能否在主存和频繁,而其它访问可以很少。
157、能否在主存和CPUCPUCPUCPU间设间设间设间设置一容量不用很大,但速度很快的存储器来改善计置一容量不用很大,但速度很快的存储器来改善计置一容量不用很大,但速度很快的存储器来改善计置一容量不用很大,但速度很快的存储器来改善计算机的性能呢?正是为算机的性能呢?正是为算机的性能呢?正是为算机的性能呢?正是为CPUCPUCPUCPU建立一个建立一个建立一个建立一个位于主存、正在位于主存、正在位于主存、正在位于主存、正在运行程序和数据的一个副本运行程序和数据的一个副本运行程序和数据的一个副本运行程序和数据的一个副本,从而大大提高运行速,从而大大提高运行速,从而大大提高运行速,从而大大提高运行速度。
158、度。度。度。2、Cache的基本原理的基本原理u说说明:明:明:明:11、CPUCPU与与与与cachecache之之之之间间的数据交的数据交的数据交的数据交换换是以是以是以是以字字字字为单为单位,位,位,位,而而而而cachecache与主存之与主存之与主存之与主存之间间的数据交的数据交的数据交的数据交换换是以是以是以是以块块为单为单位。位。位。位。一个一个一个一个块块由若干定由若干定由若干定由若干定长长字字字字组组成的。成的。成的。成的。2 2、当、当、当、当CPUCPU读读取主存中一个字取主存中一个字取主存中一个字取主存中一个字时时,便,便,便,便发发出此字的出此字的出此字的出此字的内存
159、地址到内存地址到内存地址到内存地址到cachecache和主存。此和主存。此和主存。此和主存。此时时cachecache控制控制控制控制逻辑逻辑依依依依据地址判断此字当前是否在据地址判断此字当前是否在据地址判断此字当前是否在据地址判断此字当前是否在 cachecache中:若是,此中:若是,此中:若是,此中:若是,此字立即字立即字立即字立即传传送送送送给给CPUCPU;若非,;若非,;若非,;若非,则则用主存用主存用主存用主存读读周期把此周期把此周期把此周期把此字从主存字从主存字从主存字从主存读读出送到出送到出送到出送到CPUCPU。33、与此同、与此同、与此同、与此同时时,把含有,把含有,把
160、含有,把含有这这个字的整个数据个字的整个数据个字的整个数据个字的整个数据块块从主存从主存从主存从主存读读出送到出送到出送到出送到cachecache中。中。中。中。 u说说明:明:明:明:CacheCache的命中率的命中率的命中率的命中率CPUCPU尽量多尽量多尽量多尽量多访问访问CacheCache,少,少,少,少访问访问主存主存主存主存h=Nc/h=Nc/(Nc+NmNc+Nm)NcNc、NmNm分分分分别别表示一个程表示一个程表示一个程表示一个程 序序序序执执行期行期行期行期间间CacheCache和主和主和主和主存完成存取的次数。存完成存取的次数。存完成存取的次数。存完成存取的次数。
161、如果在如果在如果在如果在访问访问数据数据数据数据时时,数据没有在,数据没有在,数据没有在,数据没有在cachecache中,中,中,中,则则成成成成为为cachecache没有命中没有命中没有命中没有命中 ,这时这时需要将数据从内存加需要将数据从内存加需要将数据从内存加需要将数据从内存加载载到到到到cachecache中,中,中,中,这这个个个个过过程非常慢,因此要尽量保程非常慢,因此要尽量保程非常慢,因此要尽量保程非常慢,因此要尽量保证证cachecache的命中。的命中。的命中。的命中。 替替替替换换策略策略策略策略当当当当CacheCache已已已已满时满时,新来的主存,新来的主存,新来
162、的主存,新来的主存块块如何放入如何放入如何放入如何放入cache?cache?1)1)先先先先进进先出算法先出算法先出算法先出算法(FIFO)(FIFO)22)最近最小使用算法)最近最小使用算法)最近最小使用算法)最近最小使用算法(LRU)Leastrecentlyused(LRU)Leastrecentlyused将近期内将近期内将近期内将近期内长长久未被久未被久未被久未被访问访问的的的的块块替替替替换换掉掉掉掉3 3)最不)最不)最不)最不经经算使用算法算使用算法算使用算法算使用算法(LFU)LeastFrequentlyused(LFU)LeastFrequentlyusedCacheC
163、ache的透明性的透明性的透明性的透明性CacheCache的数据的数据的数据的数据传传送、地址映射、替送、地址映射、替送、地址映射、替送、地址映射、替换换策略均由硬件策略均由硬件策略均由硬件策略均由硬件实现实现,软软件人件人件人件人员丝员丝毫感毫感毫感毫感觉觉不到不到不到不到CacheCache的存在,的存在,的存在,的存在,这这种特性叫种特性叫种特性叫种特性叫CacheCache的透明性。的透明性。的透明性。的透明性。3.3总线一、一、一、一、总线总线的基本概念的基本概念的基本概念的基本概念总线总线是是是是连连接接接接计计算机有关部件的一算机有关部件的一算机有关部件的一算机有关部件的一组组
164、信号信号信号信号线线,是,是,是,是计计算机中用来算机中用来算机中用来算机中用来传传送信息代送信息代送信息代送信息代码码的公共通道。的公共通道。的公共通道。的公共通道。总线总线一般是几千根信号一般是几千根信号一般是几千根信号一般是几千根信号线线,包括:,包括:,包括:,包括:数据数据数据数据线线地址地址地址地址线线控制、控制、控制、控制、时时序、中断信号序、中断信号序、中断信号序、中断信号线线电电源、地源、地源、地源、地线线备备用用用用线线2 2、按信号线功能分类、按信号线功能分类 * *数据总线:数据总线:用于传输用于传输数据数据,双向总线双向总线, 数据总线宽度数据总线宽度= =每次传送的
165、二进制位数;每次传送的二进制位数; * *地址总线:地址总线:用于传输用于传输目标设备及数据地址目标设备及数据地址,单向总线单向总线, 地址总线宽度地址总线宽度=log=log2 2设备及数据地址空间;设备及数据地址空间;二、总线的分类二、总线的分类 * *控制总线:控制总线:用于用于传输过程控制传输过程控制,单向总线单向总线, 有有控制信号线控制信号线和和状态信号线状态信号线两种形式。两种形式。 ( (主动方发出主动方发出) () (被动方发出被动方发出) )1 1、按数据传送方式分类、按数据传送方式分类 * *并行传输总线:并行传输总线:同时传送同时传送多位二进制数据多位二进制数据( (多
166、根数据线多根数据线) ); * *串行传输总线:串行传输总线:同时传送同时传送1 1位二进制数据位二进制数据(1(1根数据线根数据线) )。3 3、按总线功能分类、按总线功能分类 * *内部总线:又称片内总线,用于内部总线:又称片内总线,用于芯片内芯片内/ /模块模块内部件间内部件间的信息传输,如的信息传输,如CPUCPU内部的内部的数据通路;数据通路; * *系统总线:用于系统总线:用于系统内各模块间系统内各模块间的信息传输,的信息传输,如如CPUCPU与主存、与主存、I/OI/O模块之间的总线;模块之间的总线; * *通信总线:又称外部总线,用于通信总线:又称外部总线,用于系统间系统间/
167、/系统系统与外部设备间与外部设备间的信息传输,如的信息传输,如RS-RS-232/485232/485、USBUSB等总线。等总线。三、总线性能指标三、总线性能指标 * *总线宽度:总线宽度:又称又称总线位数总线位数,指,指数据总线数据总线每次可传输的二每次可传输的二进制位数进制位数( (通常通常1 1根线对应根线对应1 1位数据位数据) ),常用,常用bitbit表表示;示; * *总线工作频率:总线工作频率:指同步总线的时钟频率,常用指同步总线的时钟频率,常用MHzMHz表示;表示; * *总线复用:总线复用:指同一信号线上是否分时传送指同一信号线上是否分时传送2 2种信号,种信号, 如地
168、址线如地址线/ /数据线常采用复用方式;数据线常采用复用方式; * *总线工作模式:总线工作模式:指总线传输过程的传输模式指总线传输过程的传输模式( (串行传输、串行传输、并行传输并行传输) )。四、总线标准四、总线标准 指设备与总线连接及传输时,指设备与总线连接及传输时,应遵守的协议与规范应遵守的协议与规范。 不同时期流行的总线标准不同,总线标准与器件技术有关。不同时期流行的总线标准不同,总线标准与器件技术有关。1 1、ISAISA总线标准总线标准 -Indusry Standard Architecture-Indusry Standard Architecture 兼容并扩展了兼容并扩展
169、了PCPC总线总线(20(20位位A A及及8 8位位D)D)的一种总线标准。的一种总线标准。 * *特性:特性:2424根地址线、根地址线、1616根与地址分时复用的数据线;根与地址分时复用的数据线; 支持常规读写、块传输支持常规读写、块传输及特殊操作及特殊操作模式。模式。2 2、PCIPCI总线标准总线标准 -Peripheral Component Interconnect-Peripheral Component Interconnect * *特性:特性:3232根分时复用的地址根分时复用的地址/ /数据线数据线( (可扩展至可扩展至6464根根) ); 支持多个外围设备的支持多个外
170、围设备的常规、特殊及块传输常规、特殊及块传输模式。模式。五五 总线连接方式总线连接方式1 1、单总线结构、单总线结构 * *单总线结构:单总线结构:系统中只有系统中只有一种总线一种总线一种总线一种总线的互连结构。的互连结构。 * *特征:特征:控制简单、可扩展性强;控制简单、可扩展性强; 但但传输性能较差传输性能较差。2 2、多总线结构、多总线结构 * *提高传输性能的方法:提高传输性能的方法: 采用采用多总线结构多总线结构,不同速度模块连接到不同总线上;,不同速度模块连接到不同总线上; 改变改变I/OI/O方式方式,使,使MEMMEM可与可与IOIO模块直接通信。模块直接通信。 采用采用集成
171、电路技术集成电路技术,关联模块关联模块尽量集成在同一芯片中尽量集成在同一芯片中 模块间传输模块间传输不受总线标准限不受总线标准限制制 * *多总线结构:多总线结构:系统中有系统中有两种两种两种两种( ( ( (及以上及以上及以上及以上) ) ) )总线总线总线总线的互连结构;的互连结构; 总线标准、总线性能不同总线标准、总线性能不同 不同总线间不同总线间通过通过“桥桥”进行连接进行连接。(1)(1)双总线结构双总线结构 增加增加MEMMEM总线总线(CPU(CPU访存性能有较大提高访存性能有较大提高) ); * *系统内总线命名:系统内总线命名:常称为常称为CPUCPU总线及总线及局部总线局部
172、总线。 常用总线标准命名常用总线标准命名MEMMEMCPUCPU显卡显卡集成外围集成外围控制器控制器扩展总线接口扩展总线接口IOIO插槽插槽IOIO插槽插槽System BusSystem BusMEM BusMEM Bus双总线模型图双总线模型图MEMMEMCPUCPU显卡显卡集成外围集成外围控制器控制器扩展总线接口扩展总线接口IOIO插槽插槽IOIO插槽插槽局部局部BusBusCPU BusCPU Bus双总线结构图双总线结构图( (如如8038680386微机微机) )BridgeBridge * *“桥桥”的作用:的作用:所连上级总线的所连上级总线的操作传递机构操作传递机构; 所连下级
173、总线的所连下级总线的操作控制结构操作控制结构( (总线控制器总线控制器) ). .回下页(2)(2)三总线结构三总线结构 再增加再增加I/OI/O总线总线(进一步提高访问进一步提高访问IOIO设备的速度设备的速度) ); * *系统内总线命名:系统内总线命名:有有CPUCPU总线、局部总线及总线、局部总线及IOIO总线总线3 3种。种。MEMMEMCPUCPU显卡显卡集成外围集成外围控制器控制器IOB BridgeIOB BridgeIOIO插槽插槽IOIO插槽插槽System BusSystem BusMEM BusMEM Bus三总线模型图三总线模型图MEMMEMCPUCPU显卡显卡集成外
174、围集成外围控制器控制器PCI/ISA BridgePCI/ISA BridgeISAISA插槽插槽ISAISA插槽插槽PCI BusPCI BusCPU BusCPU Bus三总线结构图三总线结构图( (如如PentiumPentium微机微机) )CPU/PCI BridgeCPU/PCI BridgeIO BusIO BusISA BusISA BusPCIPCI插槽插槽MEMMEMCPUCPU集成外围集成外围控制器控制器PCI/ISA BridgePCI/ISA BridgeISAISA插槽插槽ISAISA插槽插槽PCI BusPCI BusCPU BusCPU BusCPU/PCI BridgeCPU/PCI BridgeISA BusISA BusCPU/AGP BridgeCPU/AGP BridgeAGPAGP插槽插槽AGP BusAGP BusPCIPCI插槽插槽AGPAGP插槽插槽转上页回下页回35页