版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-7-61第1页/共63页2022-7-622.1 计算机指令系统与汇编语言2.1.1 计算机指令与汇编语言 计算机能直接识别和运行的软件程序通常由该计算机的指令代计算机能直接识别和运行的软件程序通常由该计算机的指令代码组成。计算机的指令,就是要计算机执行某种操作的命令。码组成。计算机的指令,就是要计算机执行某种操作的命令。 计算机的程序,就是人们把需要用计算机解决的问题变换成计计算机的程序,就是人们把需要用计算机解决的问题变换成计算机能够识别的一串指令或语句。一般来说,可以选择三种同层次算机能够识别的一串指令或语句。一般来说,可以选择三种同层次的计算机语言来编写程序,即机器语言、汇编
2、语言和高级语言。的计算机语言来编写程序,即机器语言、汇编语言和高级语言。 机器语言是一种用二进制符号表示指令和数据,能被机器直接机器语言是一种用二进制符号表示指令和数据,能被机器直接识别的计算机语言。在计算机出现的早期,人们都是使用机器语言识别的计算机语言。在计算机出现的早期,人们都是使用机器语言编写程序的。它的缺点是不直观、不易理解和记忆,因此编写、阅编写程序的。它的缺点是不直观、不易理解和记忆,因此编写、阅读和修改机器语言程序比较繁琐。但机器语言程序是计算机惟一能读和修改机器语言程序比较繁琐。但机器语言程序是计算机惟一能够直接理解和执行的程序,具有执行速度快、占用内存少等特点。够直接理解和
3、执行的程序,具有执行速度快、占用内存少等特点。1. 1. 机器语言(机器语言(Machine LanguageMachine Language)第2页/共63页2022-7-63汇编语言是一种采用助记符表示的程序设计语言,即用助记符来表汇编语言是一种采用助记符表示的程序设计语言,即用助记符来表示指令的操作码和操作数,用标号或符号代表地址、常量或变量。示指令的操作码和操作数,用标号或符号代表地址、常量或变量。助记符一般都是用英文字母的缩写,以方便人们书写、阅读和检查。助记符一般都是用英文字母的缩写,以方便人们书写、阅读和检查。实际上,用汇编语言编写的汇编语言源程序就是机器语言程序的符实际上,用汇
4、编语言编写的汇编语言源程序就是机器语言程序的符号表示,汇编语言源程序与其经过汇编所产生的目标程序(即机器号表示,汇编语言源程序与其经过汇编所产生的目标程序(即机器语言程序)之间有明显的一一对应关系,所以也称汇编语言为符号语言程序)之间有明显的一一对应关系,所以也称汇编语言为符号语言。语言。 用汇编语言编写的源程序需要翻译成目标程序才能被机器执行,用汇编语言编写的源程序需要翻译成目标程序才能被机器执行,这个翻译过程称为汇编,完成汇编任务的程序称为汇编程序。这个翻译过程称为汇编,完成汇编任务的程序称为汇编程序。 不同的机器有不同的指令,每一种微处理器都有自己的汇编语不同的机器有不同的指令,每一种微
5、处理器都有自己的汇编语言。所以用汇编语言编写的程序不能在其他类型的机器上运行。言。所以用汇编语言编写的程序不能在其他类型的机器上运行。2.2. 汇编语言(汇编语言(Assembly LanguageAssembly Language)第3页/共63页2022-7-64 如果说机器语言是面向机器的,那么高级语言(如如果说机器语言是面向机器的,那么高级语言(如BASIC、FORTRAN等)则是面向过程的语言。利用这些语言编程,程序员等)则是面向过程的语言。利用这些语言编程,程序员可以完全不考虑机器的结构特点,不必了解和熟悉机器的指令系统,可以完全不考虑机器的结构特点,不必了解和熟悉机器的指令系统,
6、仅使用一些接近人们书写习惯的英语和数学表达式形式的语句去编仅使用一些接近人们书写习惯的英语和数学表达式形式的语句去编制程序。这样编写的程序与问题本身的数学模型之间有着良好的对制程序。这样编写的程序与问题本身的数学模型之间有着良好的对应关系,可在各种机器上执行(不同机器之间仅做少量的修改)。应关系,可在各种机器上执行(不同机器之间仅做少量的修改)。但是,这种用高级语言编写的源程序并不能在机器的直接执行,需但是,这种用高级语言编写的源程序并不能在机器的直接执行,需要被翻译成对应的目标程序,机器才能运行。把具有这种翻译作用要被翻译成对应的目标程序,机器才能运行。把具有这种翻译作用的程序称为解释程序或
7、汇编程序。的程序称为解释程序或汇编程序。3.3. 高级语言(高级语言(High LanguageHigh Language)第4页/共63页2022-7-652.1.2 指令系统初步一台计算机中所有机器指令的集合,称为这台计算机的指令系一台计算机中所有机器指令的集合,称为这台计算机的指令系统。指令系统是表征一台计算机性能的重要因素,它的格式与功能统。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。响到机器的适用范围。在在20 20 世纪世纪50 50 年
8、代和年代和6060年代早期,由于计算机采用电子管或晶年代早期,由于计算机采用电子管或晶体管,不但体积庞大,而且价格昂贵,因此大多数计算的硬件结构体管,不但体积庞大,而且价格昂贵,因此大多数计算的硬件结构比较简单。所支持的指令系统一般只有定点加减、逻辑运算、数据比较简单。所支持的指令系统一般只有定点加减、逻辑运算、数据传送和转移等十几至几十条指令,并且寻址方式简单。传送和转移等十几至几十条指令,并且寻址方式简单。60 60 年代中年代中期以后,随着集成电路的出现,计算机的价格不断下降,硬件功能期以后,随着集成电路的出现,计算机的价格不断下降,硬件功能不断增强,指令系统也越来越丰富。除了具有以上最
9、基本的指令外,不断增强,指令系统也越来越丰富。除了具有以上最基本的指令外,还增加了乘除法运算指令、浮点运算指令、十进制运算指令以及字还增加了乘除法运算指令、浮点运算指令、十进制运算指令以及字符串处理指令等,指令数目多达一、二百条,寻址方式也趋于多样符串处理指令等,指令数目多达一、二百条,寻址方式也趋于多样化。化。 第5页/共63页2022-7-66随着集成电路的发展和计算机应用领域的不断扩大,计算的软随着集成电路的发展和计算机应用领域的不断扩大,计算的软件价格不断提高。为了继承已有的软件,减少软件的开发费用,人件价格不断提高。为了继承已有的软件,减少软件的开发费用,人们迫切希望各种机器上的软件
10、能够兼容,以便在旧机器上编制的各们迫切希望各种机器上的软件能够兼容,以便在旧机器上编制的各种软件能在新的、性能更好的机器上运行,因此种软件能在新的、性能更好的机器上运行,因此60年代后期出现了年代后期出现了系列(系列(series)计算机)计算机.。所谓系列计算机,是指基本指令相同、基。所谓系列计算机,是指基本指令相同、基本体系结构相同的一系列计算机。本体系结构相同的一系列计算机。 计算机发展至今,其硬件结构随着超大规模集成电路(计算机发展至今,其硬件结构随着超大规模集成电路(VLSI)技术的飞速发展而越来越复杂化,所支持的指令系统也趋于多用途、技术的飞速发展而越来越复杂化,所支持的指令系统也
11、趋于多用途、强功能化。大多数计算机的指令系统多达几百条指令。我们称这些强功能化。大多数计算机的指令系统多达几百条指令。我们称这些计算机为复杂指令系统计算机,简称计算机为复杂指令系统计算机,简称CISC。然而,指令系统的过。然而,指令系统的过分复杂也会带来一些不利因素,如设计周期长,正确性难以保证且分复杂也会带来一些不利因素,如设计周期长,正确性难以保证且不易维护等,为此人们提出了便于不易维护等,为此人们提出了便于VLSI技术实现的精简指令系统技术实现的精简指令系统计算机,简称计算机,简称RISC。第6页/共63页2022-7-67一个完美的指令系统应满足以下要求:一个完美的指令系统应满足以下要
12、求:1 指令系统的完备性,常用指令齐全,编程方便。指令系统的完备性,常用指令齐全,编程方便。完备性使之用汇编语言编写各种程序时,指令系统直接提供的指令足够使完备性使之用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便 。2 指令系统的有效性,程序占用内存空间少,运行速度快。指令系统的有效性,程序占用内存空间少,运行速度快。有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占
13、用内存空间少、执行速度快。表现在程序占用内存空间少、执行速度快。 3指令系统的规整性,指令和数据使用规则统一,易学易记指令系统的规整性,指令和数据使用规则统一,易学易记规整性包括指令系统的对称性、均匀性、指令格式和数据格式的一致性。规整性包括指令系统的对称性、均匀性、指令格式和数据格式的一致性。对称性是指在指令系统中所有的寄存器和存储器单元都可以同等对待,所有的对称性是指在指令系统中所有的寄存器和存储器单元都可以同等对待,所有的指令都可以使用各种寻址方式;均匀性是指一种操作性质的指令可以支持各种指令都可以使用各种寻址方式;均匀性是指一种操作性质的指令可以支持各种数据类型;指令格式和数据格式的一
14、致性是指指令长度和数据长度有一定的关数据类型;指令格式和数据格式的一致性是指指令长度和数据长度有一定的关系,以方便处理和存取。系,以方便处理和存取。 4指令系统的兼容性,同一系列的低档计算机的程序能在新的高档机上指令系统的兼容性,同一系列的低档计算机的程序能在新的高档机上直接运行。直接运行。系列机之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼系列机之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。容的,即各机种上基本软件可以通用。 第7页/共63页2022-7-68 下面以下面以8088指令系统为例,简要介绍它的指令格式、指令种类指令系统为
15、例,简要介绍它的指令格式、指令种类及指令功能。及指令功能。1. 指令格式指令格式 8088指令系统的指令类型较多,功能很强。各种指令由于功指令系统的指令类型较多,功能很强。各种指令由于功能不同,需要指令码提供的信息也不同。为了满足不同功能的要求能不同,需要指令码提供的信息也不同。为了满足不同功能的要求又要尽量减少指令所占的空间,又要尽量减少指令所占的空间,8088指令系统采用了一种灵活的、指令系统采用了一种灵活的、由由16个字节组成的变字长的指令格式,包括操作码、寻址方式以个字节组成的变字长的指令格式,包括操作码、寻址方式以及操作数三个部分。通常指令的第一字节为操作码(及操作数三个部分。通常指
16、令的第一字节为操作码(OPCODE),),用以规定操作的类型;第二个字节规定操作数的寻址方式用以规定操作的类型;第二个字节规定操作数的寻址方式(MOD)。接着以后的接着以后的36字节可以是:字节可以是: 无其他字节;无其他字节; 一个两字节的有效地址一个两字节的有效地址EA(使用于直接寻址方式);(使用于直接寻址方式); 一个一个8/16位的位移量;位的位移量; 一个一个8/16位的立即数;位的立即数;第8页/共63页2022-7-69 一个一个8/16位的位移量,其后再跟位的位移量,其后再跟8/16为立即数;为立即数; 一个两字节的偏移地址,再跟一个两字节的段地址(用于段间程序一个两字节的偏
17、移地址,再跟一个两字节的段地址(用于段间程序 直接转移)。直接转移)。2.2. 指令种类及指令功能指令种类及指令功能 80888088的指令系统大致可分为以下六种类型:的指令系统大致可分为以下六种类型: 1)1) 数据传送指令数据传送指令 2) 算术运算指令算术运算指令 3)3) 位操作指令位操作指令 4) 4) 串操作指令串操作指令 5 5)程序控制指令)程序控制指令 6)6) 处理器控制指令处理器控制指令 第9页/共63页2022-7-610第10页/共63页2022-7-6112.2 2.2 基本的计算机组成 多数计算机系统,都有相同的基本结构。基本组成包括三个主多数计算机系统,都有相同
18、的基本结构。基本组成包括三个主要部件:要部件:CPU、存储器子系统和、存储器子系统和I/O子系统。这些部件的一般组成子系统。这些部件的一般组成如图如图2-1所示。所示。 I/O子系统CPU存储器子系统I/O设备I/O设备数据总线地址总线控制总线图2-1 一般计算机的组成 第11页/共63页2022-7-6122.2.1 总线结构总线(总线(Bus)是连接两个或多个设备的公共通信通路。总线的)是连接两个或多个设备的公共通信通路。总线的关键特征是共享传输介质。多种设备连接到总线上,一个设备发出关键特征是共享传输介质。多种设备连接到总线上,一个设备发出的信号可以被其他所有连接到总线上的设备所接收。计
19、算机的部件的信号可以被其他所有连接到总线上的设备所接收。计算机的部件都是连接在总线上的。为了将信息从一个部件传到另一个部件,源都是连接在总线上的。为了将信息从一个部件传到另一个部件,源部件先将数据输出到总线上,然后目的部件再从总线上接收这些数部件先将数据输出到总线上,然后目的部件再从总线上接收这些数据。计算机各部件之间的通信当然可以采用专用传输线路直接两两据。计算机各部件之间的通信当然可以采用专用传输线路直接两两相连,但随着计算机系统复杂性的不断增长,使用总线可以提高效相连,但随着计算机系统复杂性的不断增长,使用总线可以提高效率。同时与大量的直接连接相比,总线使用较少的电路板空间,耗率。同时与
20、大量的直接连接相比,总线使用较少的电路板空间,耗能更少,并且在芯片或组成能更少,并且在芯片或组成CPU的芯片组上需要较少的引脚。的芯片组上需要较少的引脚。 第12页/共63页2022-7-613 计算机系统含有多种总线,它们在计算机系统的各个层次提供部计算机系统含有多种总线,它们在计算机系统的各个层次提供部件之间的通路,大致可分为三类:件之间的通路,大致可分为三类:1 内部总线:指内部总线:指CPU内部连接各寄存器及运算部件之间的总线。内部连接各寄存器及运算部件之间的总线。2 系统总线:指系统总线:指CPU同计算机系统的其他具有高速传输功能的部同计算机系统的其他具有高速传输功能的部件,如存储器
21、、通道等互相连接的总线。件,如存储器、通道等互相连接的总线。 I/O总线:指中、低速总线:指中、低速I/O设备之间互相连接的总线。设备之间互相连接的总线。 最常见的计算机互连结构使用一个或多个系统总线。系统总线最常见的计算机互连结构使用一个或多个系统总线。系统总线通常包含通常包含50100条分立的导线,每条总线被赋予一个特定的含义或条分立的导线,每条总线被赋予一个特定的含义或功能。按其传送的信号可分为地址总线、数据总线和控制总线功能。按其传送的信号可分为地址总线、数据总线和控制总线3类。类。 第13页/共63页2022-7-614 地址总线(地址总线(address bus)是计算机传送地址信
22、息的信号线,)是计算机传送地址信息的信号线,与其他总线不同,地址总线地单向的,即地址总线总是从与其他总线不同,地址总线地单向的,即地址总线总是从CPU上接上接收信息,而收信息,而CPU从不读取地址总线,地址总线的位数决定存储空间从不读取地址总线,地址总线的位数决定存储空间的大小。当的大小。当CPU从存储器读取数据或指令,或写数据到存储器时,从存储器读取数据或指令,或写数据到存储器时,它必须指明将要访问的存储器单元地址。它必须指明将要访问的存储器单元地址。CPU输出地址到地址总线输出地址到地址总线上,而存储器从地址总线上读取地址,并且用它来访问正确的存储上,而存储器从地址总线上读取地址,并且用它
23、来访问正确的存储单元。每个单元。每个I/O设备,如键盘、显示器或磁盘,同样都有一个唯一设备,如键盘、显示器或磁盘,同样都有一个唯一的地址。当访问某个的地址。当访问某个I/O设备时,设备时,CPU将此设备的地址放到地址总将此设备的地址放到地址总线上。每一设备均从总线上读取地址并且判断自己是不是要访问的线上。每一设备均从总线上读取地址并且判断自己是不是要访问的设备。设备。 数据总线(数据总线(data bus)是用来传输数据和代码信息的信号线。)是用来传输数据和代码信息的信号线。数据线的宽度与计算机的字长及内存单元的位宽是一致的,它是双数据线的宽度与计算机的字长及内存单元的位宽是一致的,它是双向的
24、,以便在向的,以便在CPU与存储器、与存储器、I/O设备之间进行数据的往返传输。设备之间进行数据的往返传输。当当CPU从存储器中读取信息时,它首先把存储器地址输出到地址总从存储器中读取信息时,它首先把存储器地址输出到地址总线上,然后存储器输出数据到数据总线上,这样线上,然后存储器输出数据到数据总线上,这样CPU就可以从数据就可以从数据总线上读取数据了。当总线上读取数据了。当第14页/共63页2022-7-615CPU向存储器中写数据时,它首先输出地址到地址总线上,然后输向存储器中写数据时,它首先输出地址到地址总线上,然后输出数据到数据总线上,这样存储器就可以从数据总线上读取数据并出数据到数据总
25、线上,这样存储器就可以从数据总线上读取数据并将它存储到正确的单元中。对将它存储到正确的单元中。对I/O设备读写数据的过程也是如此。设备读写数据的过程也是如此。 控制总线(控制总线(control buscontrol bus)是用来传送状态和控制信号的信号)是用来传送状态和控制信号的信号线,用来实现命令、状态的传送,中断、直接存储器存取的控制,线,用来实现命令、状态的传送,中断、直接存储器存取的控制,以及提供系统使用的时钟和复位信号等,控制和状态的传送是相互以及提供系统使用的时钟和复位信号等,控制和状态的传送是相互的,但就每一根控制线而言则是单向的。地址总线由的,但就每一根控制线而言则是单向的
26、。地址总线由n n根线构成,根线构成,n n根线联合传送一个根线联合传送一个n n位的地址值。控制总线是单根控制信号的集合。位的地址值。控制总线是单根控制信号的集合。这些信号用来指示数据是要读入这些信号用来指示数据是要读入CPUCPU还是要从还是要从CPUCPU写出,写出,CPUCPU是要访是要访问存储器还是问存储器还是I/OI/O设备,设备,I/OI/O设备还是存储器已就绪要传送数据等等。设备还是存储器已就绪要传送数据等等。虽然图虽然图2-12-1中的控制总线看起来是双向的,但实际上主要是单向信中的控制总线看起来是双向的,但实际上主要是单向信号的集合。号的集合。 大多数信号是从大多数信号是从
27、CPUCPU输出到存储器及输出到存储器及I/OI/O子系统的,只子系统的,只有少数是从这些子系统输出到有少数是从这些子系统输出到CPUCPU的。的。 第15页/共63页2022-7-6162.2.2 计算机的时钟与指令周期 CPU执行指令的过程可简单概括如下:首先取指令,执行指令的过程可简单概括如下:首先取指令,CPU从从寄存器读取指令,然后将指令译码,辨识该指令要执行什么操作,寄存器读取指令,然后将指令译码,辨识该指令要执行什么操作,最后,是控制电路发出若干控制信号,控制有关部件执行这条指令最后,是控制电路发出若干控制信号,控制有关部件执行这条指令所表示的操作。流程图如图所表示的操作。流程图
28、如图2-2所示。所示。 首先,首先,CPUCPU把指令的地址放到地址总线上,然后,存储器子系把指令的地址放到地址总线上,然后,存储器子系统从总线上输入该地址并予以译码,并访问指定的存储单元。统从总线上输入该地址并予以译码,并访问指定的存储单元。 CPUCPU为存储器留出充足的时间来对地址译码和访问所需的存储为存储器留出充足的时间来对地址译码和访问所需的存储单元,当单元,当CPUCPU准备好可以从存储器或准备好可以从存储器或I/OI/O设备读取数据时,它就在控设备读取数据时,它就在控制总线上发出一个读(制总线上发出一个读(READREAD)。根据)。根据CPUCPU的不同,读信号可能是高的不同,
29、读信号可能是高电平有效(信号电平有效(信号=1=1)也可能是低电平有效(信号)也可能是低电平有效(信号=0=0)。)。 读信号发出后,存储器子系统就把要读取的指令码放到计算机读信号发出后,存储器子系统就把要读取的指令码放到计算机的数据总线上,的数据总线上,CPU就从数据总线上输入该数据并且将它存储在其就从数据总线上输入该数据并且将它存储在其内部的某个寄存器中,至此,内部的某个寄存器中,至此,CPU已经取得了指令。已经取得了指令。 第16页/共63页2022-7-617CPU把指令的地址放到地址总线上存储器子系统从地址总线上读取该地址并译码存储器子系统访问指定的存储单元CPU发出读信号CPU从数
30、据总线上读取数据并译码存储器子系统把读取的指令放到数据总线上CPU选择相应的操作序列并执行操作图2-2 CPU执行指令的流程图 然后,CPU对这条指令进行译码。每一条指令可能要有不同的操作序列来执行,当CPU对该指令译码时,它确定所处理的是哪一条指令,以便选择正确的操作序列去执行。这一步完全是在CPU内完成的,不需要使用系统总线。 最后,CPU执行该指令。指令不同,指令的操作序列也不同。执行过程可以是从存储器读取数据,写数据到存储器,读或写数据到I/O设备,执行CPU内部的操作或执行多个上述操作的组合。第17页/共63页2022-7-618 CPU是如何自动地、一步一步地、有条不紊地实现这些功
31、能的是如何自动地、一步一步地、有条不紊地实现这些功能的呢?这就是时序问题。所谓时序问题就是指呢?这就是时序问题。所谓时序问题就是指CPU执行各种指令的详执行各种指令的详细工作过程以及这些动作过程与时间顺序的对应关系。细工作过程以及这些动作过程与时间顺序的对应关系。 计算机在时钟脉冲的作用下,一个节拍一个节拍地工作,因此计算机在时钟脉冲的作用下,一个节拍一个节拍地工作,因此每个时钟周期是每个时钟周期是CPU处理动作的最小时间单位,称为处理动作的最小时间单位,称为T周期或周期或T状态。状态。完成一个基本操作所需的时间称为机器周期。一般一个机器周期包完成一个基本操作所需的时间称为机器周期。一般一个机
32、器周期包括数个括数个T周期。指令周期(周期。指令周期(instruction cycle)是)是CPU完成一条指令完成一条指令操作所用的时间。显然,操作功能的不同,指令字节数不同,执行操作所用的时间。显然,操作功能的不同,指令字节数不同,执行一条指令的机器周期或一条指令的机器周期或T状态是有很大差别的。任何一条指令的第一状态是有很大差别的。任何一条指令的第一个机器周期内必然是取指令的过程。个机器周期内必然是取指令的过程。 图图2-32-3(a a)显示了从存储器中读取数据的操作。)显示了从存储器中读取数据的操作。CPUCPU从存储器从存储器中取一条指令的操作序列也是如此。中取一条指令的操作序列
33、也是如此。 存储器写操作的时序图如图存储器写操作的时序图如图2-2(b)所示。)所示。 第18页/共63页2022-7-619数据CLK地址总线数据总线读CLK写地址总线数据总线时钟周期1时钟周期2数据地址地址时钟周期1时钟周期2a) 从存储器读取数据 (b) 写数据到存储器图2-3 读写数据的操作时序图第19页/共63页2022-7-6202.3 CPU2.3 CPU的组成 计算机的核心部分被称为中央处理器,简称计算机的核心部分被称为中央处理器,简称CPU。CPU控制控制整个计算机,提供存储器需要的地址和控制信号,并从存储器中读整个计算机,提供存储器需要的地址和控制信号,并从存储器中读取指令
34、。取指令。CPU由运算器和控制器组成。由运算器和控制器组成。 CPU具有以下的基本功能:具有以下的基本功能: (1)(1)指令控制:程序的顺序控制,称为指令控制。由于程序是一指令控制:程序的顺序控制,称为指令控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。规定的顺序进行。 (2) 操作控制:一条指令的功能往往是由若干个操作信号的组操作控制:一条指令的功能往往是由若干个操作信号的组合来实现的,因此,合来实现的,因此,CPU管理并产生由内存取出的每条指令的操作管理并产生由内存取出的每条指令的操作信
35、号,把各种操作信号送往相应的部件,从而控制这些部件按指令信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行操作。的要求进行操作。 (3) 时间控制:对各种操作实施时间上的定时,称为时间控制。时间控制:对各种操作实施时间上的定时,称为时间控制。因为在计算机中,各种指令的操作信号均受到时间的严格限制。另因为在计算机中,各种指令的操作信号均受到时间的严格限制。另一方面,一条指令的整个执行过程也受到时间的严格限制。一方面,一条指令的整个执行过程也受到时间的严格限制。第20页/共63页2022-7-621 (4) (4)数据加工:所谓数据加工,就是对数据进行算术运算和逻数据加工:所谓数
36、据加工,就是对数据进行算术运算和逻辑运算处理。完成数据的加工处理,是辑运算处理。完成数据的加工处理,是CPU的根本任务。的根本任务。 要完成上述功能,必须有相应的硬件支持。要完成上述功能,必须有相应的硬件支持。CPU主要有三部分主要有三部分组成:寄存器区、算术组成:寄存器区、算术/逻辑单元和控制单元。如图逻辑单元和控制单元。如图2-4所示。所示。控制单元ALU寄存器控制总线信号控制信号控制信号 数据值数据值(操作数)数据值(结果)地址总线数据总线图2-4 CPU内部组成图 第21页/共63页2022-7-6221寄存器区(寄存器区(register section) 寄存器阵列是寄存器阵列是C
37、PU内部的临时存储单元,包括一组寄存器、一内部的临时存储单元,包括一组寄存器、一条总线和其它的通信机制。系统的地址和数据总线与寄存器区交互。条总线和其它的通信机制。系统的地址和数据总线与寄存器区交互。此区还包括程序员不能直接访问的一些寄存器。每个寄存器与内部此区还包括程序员不能直接访问的一些寄存器。每个寄存器与内部数据总线双向连接。由寄存器选择电路来确定哪个寄存器参与操作。数据总线双向连接。由寄存器选择电路来确定哪个寄存器参与操作。 另外,还包括地址锁存器(锁存正在访问的存储器地址的寄存另外,还包括地址锁存器(锁存正在访问的存储器地址的寄存器)、数据总线缓冲器)、数据总线缓冲/锁存器等。锁存器
38、等。2算术算术/逻辑单元(逻辑单元(arithmetic/logic unit, ALU) 算术算术/逻辑单元执行大部分的算术逻辑运算,如加法、逻辑与等逻辑单元执行大部分的算术逻辑运算,如加法、逻辑与等运算。它从运算。它从CPU的寄存器中取出操作数,然后将运行结果再存回到的寄存器中取出操作数,然后将运行结果再存回到寄存器。由于必须在一个时钟周期内完成操作,因此寄存器。由于必须在一个时钟周期内完成操作,因此ALU只采用组只采用组合逻辑构造而成。相对简单的合逻辑构造而成。相对简单的CPU和和8085微处理器的微处理器的ADD指令在执指令在执行过程中都要使用行过程中都要使用ALU。第22页/共63页
39、2022-7-6233控制单元控制单元 同同CPU控制整个计算机一样,控制单元控制着控制整个计算机一样,控制单元控制着CPU。这个单。这个单元产生内部控制信号,促使寄存器装载数据、自动加元产生内部控制信号,促使寄存器装载数据、自动加1或清零、输或清零、输出它的内容,使得出它的内容,使得ALU完成正确的操作等等。这些信号作为控制信完成正确的操作等等。这些信号作为控制信号显示在图号显示在图2-4中。控制单元从寄存器区取得一些数据用以产生控中。控制单元从寄存器区取得一些数据用以产生控制信号,这些数据包括指令码和某些标志寄存器的值。控制单元也制信号,这些数据包括指令码和某些标志寄存器的值。控制单元也产
40、生系统控制总线上的信号,例如产生系统控制总线上的信号,例如READ、WRITE、IO/M信号等。信号等。控制单元通过以正确的顺序激发这些内部或外部控制信号,使控制单元通过以正确的顺序激发这些内部或外部控制信号,使CPU和计算机的其余部分完成正确处理指令所需要的操作。和计算机的其余部分完成正确处理指令所需要的操作。 图图2-52-5给出了给出了8086/8088CPU8086/8088CPU的内部框图。它由执行单元的内部框图。它由执行单元EUEU和总和总线接口单元线接口单元BIUBIU两部分组成。执行单元两部分组成。执行单元EUEU包括:算术逻辑单元包括:算术逻辑单元(ALUALU),),161
41、6位标志寄存器,寄存器阵列,位标志寄存器,寄存器阵列,EUEU控制电路和数据暂存控制电路和数据暂存器。总线接口单元器。总线接口单元BIUBIU包括:包括:4 4个个1616位段寄存器,一个位段寄存器,一个1616位指令指针位指令指针IPIP,一个指令流队列以及地址加法器和总线控制电路。,一个指令流队列以及地址加法器和总线控制电路。 第23页/共63页2022-7-624ALU标志寄存器暂存器EU控制器1 2 3 4 5 6输入输出控制电路外部总线 AH AL BH BL CH CL DH DL SP BP DI SIAXBXCXDX 数据寄存器指针和变址 寄存器ALU数据总线(16位) CS
42、DS SS ES IP 内部寄存器 DBAB 地址加法器指令队列缓冲器20位8位段寄存器执行部分(EU)总线接口部分(BIU)图2-5 8086/8088CPU的内部结构框图第24页/共63页2022-7-625第25页/共63页2022-7-6262.4 2.4 存储器组成系统与接口 存储器是计算机系统中的记忆设备,用来存放程序和数据。存存储器是计算机系统中的记忆设备,用来存放程序和数据。存储器芯片可分两类:只读存储器(储器芯片可分两类:只读存储器(ROM)和随机存取存储器)和随机存取存储器(RAM)。)。1ROM 只读存储器(只读存储器(Read Only Memory,ROM)是为数据只
43、读的)是为数据只读的应用而设计的。这些芯片在加入系统之前,就已经被某个外部编程应用而设计的。这些芯片在加入系统之前,就已经被某个外部编程器件编程而装好数据了。这个工作一旦完成,其数据通常不再改变,器件编程而装好数据了。这个工作一旦完成,其数据通常不再改变,甚至在芯片断电以后,甚至在芯片断电以后,ROM芯片的数据也不会丢失。它主要用于芯片的数据也不会丢失。它主要用于存放常用功能的库例程、系统程序和功能表。存放常用功能的库例程、系统程序和功能表。 随着可编程的方式和频度不同,随着可编程的方式和频度不同,ROMROM芯片有几种不同的类型:芯片有几种不同的类型:掩膜式掩膜式ROMROM(MROMMRO
44、M) 、可编程、可编程ROMROM(PROMPROM)、可擦除)、可擦除PROM(EPROM)PROM(EPROM)、电可擦除电可擦除PROMPROM(E E2 2PROMPROM)。)。 第26页/共63页2022-7-627不管哪种不管哪种ROM,它们的外部配置几乎是一样的。如果一个芯片,它们的外部配置几乎是一样的。如果一个芯片有有2n个字,每个字有个字,每个字有m位,则它有位,则它有n个地址输入个地址输入An-1A0,m个数据个数据输出输出Dm-1D0(当芯片被编程时,数据引脚可以用作输入端当芯片被编程时,数据引脚可以用作输入端),还有,还有一个芯片使能输入端(一个芯片使能输入端(CE)
45、和一个使能输出端()和一个使能输出端(OE)。如果芯片)。如果芯片要输出数据,则要输出数据,则CE和和OE都必须置为高电平(逻辑都必须置为高电平(逻辑1),否则他的),否则他的输出就为高阻态输出就为高阻态Z(一些芯片使低电平有效,(一些芯片使低电平有效,CE或者或者OE。除。除了掩膜式了掩膜式ROM,其他所有的,其他所有的ROM都有一个编程控制输入端都有一个编程控制输入端(VPP),芯片编程器用它向芯片输入数据。),芯片编程器用它向芯片输入数据。 第27页/共63页2022-7-6282RAM 计算机系统中常用的是随机存储器(计算机系统中常用的是随机存储器(Random Access Memo
46、ry,RAM),),RAM的明显特征是,既能从存储器中读取数据,也能方的明显特征是,既能从存储器中读取数据,也能方便、快速地写入数据,通过使用电信号完成读写操作。便、快速地写入数据,通过使用电信号完成读写操作。RAM的另的另一个明显特征是易散失性。一个明显特征是易散失性。RAM必须有直流电源供电,一旦电源必须有直流电源供电,一旦电源中断,数据就会丢失。因此,中断,数据就会丢失。因此,RAM用于暂时存储数据。用于暂时存储数据。 RAM可分为静态可分为静态RAM(SRAM)和动态)和动态RAM(DRAM)两)两类。类。SRAM通常比通常比DRAM速度快。速度快。DRAM是用电容充电来存储数据是用电
47、容充电来存储数据的,电容器中有无电荷分别代表二进制的的,电容器中有无电荷分别代表二进制的0和和1。因为电容器有自然。因为电容器有自然放电现象,因此放电现象,因此DRAM需要定期充电(刷新)来保证存储的数据有需要定期充电(刷新)来保证存储的数据有效。而效。而SRAM则采用传统的触发器中的逻辑门来存储二进制值。一则采用传统的触发器中的逻辑门来存储二进制值。一旦数据写入到旦数据写入到SRAM,在提供电源的情况下,它的内容保持不变,在提供电源的情况下,它的内容保持不变,也不需要刷新。也不需要刷新。 第28页/共63页2022-7-6292.4.1 半导体存储器芯片的内部组成 ROM和和RAM芯片的内部
48、组成是很相似的。先介绍一个最简芯片的内部组成是很相似的。先介绍一个最简单的组成单的组成线性组成(线性组成(liner organization),我们看一个),我们看一个82的的ROM芯片,如图芯片,如图2-6所示。为了简化,未画出编程器件。这个芯所示。为了简化,未画出编程器件。这个芯片有三个地址输入端和两个数据输出端,以及片有三个地址输入端和两个数据输出端,以及16位的内部存储元件,位的内部存储元件,它们排列成它们排列成8个单元,每个单元个单元,每个单元2位。位。 三个地址位三个地址位A A0 0-A-A2 2经过译码,可以选择经过译码,可以选择8 8个单元中的一个单元,个单元中的一个单元,
49、但是只有芯片的使能端有效才能进行。如果但是只有芯片的使能端有效才能进行。如果CE=0CE=0,译码器被禁止,译码器被禁止,则不能选择任何单元。如果则不能选择任何单元。如果CE=1CE=1且且OE=1OE=1,则这些数据缓冲器有效,则这些数据缓冲器有效,数据从芯片中输出。否则芯片输出高阻态。数据从芯片中输出。否则芯片输出高阻态。 第29页/共63页2022-7-630译码器D1D0CEOE3-80123456EA1A2 A0111021203130414051506160700101761图2-6 82 ROM芯片的内部线性组成第30页/共63页2022-7-631 随着单元数量的增加,该线性组
50、成中的地址译码器的规模会随着单元数量的增加,该线性组成中的地址译码器的规模会变得非常变得非常 大。为了解决这一问题,存储芯片可以设计成多位译码大。为了解决这一问题,存储芯片可以设计成多位译码方 式 。 同 样 的方 式 。 同 样 的 8 2 R O M 芯 片 可 以 采 用 二 维 组 成 (芯 片 可 以 采 用 二 维 组 成 ( t w o -dimensional organization),如图),如图2-7所示。这个配置有四行,每所示。这个配置有四行,每行行4位,代表位,代表2个数据值,例如图中的第一行包含地址个数据值,例如图中的第一行包含地址0和地址和地址1的数的数据。每一行
51、的高两位地址是一样的,这两位高地址选择四行中的一据。每一行的高两位地址是一样的,这两位高地址选择四行中的一行,而低地址位则选择此行两个单元中的某一个单元。芯片的使能行,而低地址位则选择此行两个单元中的某一个单元。芯片的使能端的作用与图端的作用与图2-6线性组成一样。线性组成一样。 在大型存储芯片中,这种多维译码方式显得极其重要。假如一在大型存储芯片中,这种多维译码方式显得极其重要。假如一个个409640961 1芯片,采用线性组成将需要一个芯片,采用线性组成将需要一个12-409612-4096译码器。如果译码器。如果新片排成新片排成64646464的二位数组,它将有两个的二位数组,它将有两个
52、6-646-64译码器:一个用来选译码器:一个用来选择择6464行中的一行,另一个用来选择该行中行中的一行,另一个用来选择该行中6464个单元中的一个单元。个单元中的一个单元。译码器大小与输出的数量成正比。译码器大小与输出的数量成正比。 第31页/共63页2022-7-632译码器A2A1 A00123E2-401214161002040601131517130507010译码器10E1-2CEOED1D0图2-7 82 ROM芯片的内部二维组成 第32页/共63页2022-7-6332.4.2 存储器子系统的配置 构造包含一个简单芯片的存储器是非常简单容易的,只需要构造包含一个简单芯片的存储
53、器是非常简单容易的,只需要从系统总线上连接地址信号线、数据信号线和控制信号线就可以完从系统总线上连接地址信号线、数据信号线和控制信号线就可以完成了。然而,由于单片存储芯片的容量总是有限的,很难满足实际成了。然而,由于单片存储芯片的容量总是有限的,很难满足实际的需要,因此,大多数的存储器系统需要多个芯片,必须将若干存的需要,因此,大多数的存储器系统需要多个芯片,必须将若干存储芯片连在一起才能组成容量足够的存储器,下面介绍组合存储芯储芯片连在一起才能组成容量足够的存储器,下面介绍组合存储芯片来形成存储器系统的一些方法。片来形成存储器系统的一些方法。1位扩展法位扩展法 位扩展法是指增加存储字长,用两
54、个或更多芯片组合起来构造位扩展法是指增加存储字长,用两个或更多芯片组合起来构造一个每个单元有多位的存储器。这可以通过连接芯片相应的地址信一个每个单元有多位的存储器。这可以通过连接芯片相应的地址信号线和控制信号线,并将它们的数据引脚连到数据总线的不同位上号线和控制信号线,并将它们的数据引脚连到数据总线的不同位上来实现。例如,来实现。例如,2个个82芯片可以组合成一个芯片可以组合成一个84存储器,如图存储器,如图2-8所示,两个芯片从地址总线上接收相同的三位地址,还有共同的芯所示,两个芯片从地址总线上接收相同的三位地址,还有共同的芯片使能信号和输出使能信号。第一个芯片的数据引脚连到数据总线片使能信
55、号和输出使能信号。第一个芯片的数据引脚连到数据总线的第的第3位和第位和第2位,第二个芯片的数据引脚则连在第位,第二个芯片的数据引脚则连在第1位和第位和第0位。位。 第33页/共63页2022-7-634D3D2D1D0A1A2A0ROM82CEOEA2A1A0D0D1ROM82CEOEA2A1A0D0D1图2-8 两个82ROM芯片构成 的84存储器子系统 当CPU读取数据时,它将地址放在地址总线上,两个芯片读取地址位A2、A1、A0,并执行内部译码操作。如果CE和OE信号有效,两个芯片则输出数据到数据总线的四位上。因为两个芯片的地址和使能信号是相同的,因此在任一时刻两个芯片要么同时有效,要么
56、同时无效。基于这个原因,它们的行为就像一个单一的84芯片,至少对于CPU来说是这样的。 第34页/共63页2022-7-6352字扩展法字扩展法 字扩展法是指仅增加存储器字的数量,而存储器字长不变,因字扩展法是指仅增加存储器字的数量,而存储器字长不变,因此将芯片的地址线、数据线、读此将芯片的地址线、数据线、读/写控制线并联,而由芯片选择信号写控制线并联,而由芯片选择信号来区分各芯片的地址,所以芯片选择信号端连接到片选译码器的输来区分各芯片的地址,所以芯片选择信号端连接到片选译码器的输出端。出端。 如图如图2-9(a)所示,用两个)所示,用两个82芯片能够构成一个芯片能够构成一个162的存的存储
57、系统,上面的芯片构成存储器的储系统,上面的芯片构成存储器的07(00000111)单元,下面的)单元,下面的芯片作为单元芯片作为单元815(10001111)。可以通过信号)。可以通过信号A3来选择芯片,来选择芯片,当当A3=0时,上面的芯片有效,下面的芯片无效;当时,上面的芯片有效,下面的芯片无效;当A3=1时情况相时情况相反。输出使能端需要连接起来。反。输出使能端需要连接起来。 因为只有芯片有效才能输出数据。由于两个芯片对应相同的数因为只有芯片有效才能输出数据。由于两个芯片对应相同的数据位,因此都可以连接到数据总线的据位,因此都可以连接到数据总线的D1和和D0位上。位上。 第35页/共63
58、页2022-7-636图2-9 两个82ROM芯片构造162存储器子系统 (a)高位交叉第36页/共63页2022-7-637 这种配置使用的是高位交叉(high-order interleaving)技术,统一芯片的所有存储单元在系统内存中是连续的。还有一种是低位交叉(low-order interleaving)技术,如图2-9(b)所示,上面的芯片当A0=0或者当地址位为xxx0时有效,此时地址为0、2、4、6、8、10和12;下面的芯片当A0=1时有效,条件是地址为1、3、5、7、9、13、15。对于CPU来说,两种技术是相同的。但低位交叉能为流水线存储器访问技术提供速度上的优势,对于
59、能够同时从多于一个存储器单元中读取数据的CPU来说,低位交叉也存在速度上的优势。第37页/共63页2022-7-638图2-9 两个82ROM芯片构造162存储器子系统 (b)低位交叉 第38页/共63页2022-7-6392.4.3 多字节数据的组成 许多数据格式使用多个字节(一个字节许多数据格式使用多个字节(一个字节8位)来表示一个数值,位)来表示一个数值,而不管此数据是整形、浮点数还是字符串。由于大多数而不管此数据是整形、浮点数还是字符串。由于大多数CPU给给8位位的存储器单元分配地址,因此这些字必需存储在多个单元中,每个的存储器单元分配地址,因此这些字必需存储在多个单元中,每个CPU必
60、须定义数据在这些单元中的存储顺序。必须定义数据在这些单元中的存储顺序。 常用的多字节数据排列顺序有两种:高位优先(常用的多字节数据排列顺序有两种:高位优先(big endian)和低位优先(和低位优先(litter endian)。按照高位优先的格式,如果一个数)。按照高位优先的格式,如果一个数值的最高字节存储在单元值的最高字节存储在单元X中,次高位字节则存储在单元中,次高位字节则存储在单元X+1中,中,其他字节以此类推。例如,十六进制数其他字节以此类推。例如,十六进制数01020304H(H表示十六进表示十六进制)从单元制)从单元1000H开始存储,则存储结果如表开始存储,则存储结果如表2-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国视讯切换器数据监测研究报告
- 2023年天然气液化装置项目评价分析报告
- 2024至2030年中国绕线模架数据监测研究报告
- 2024至2030年中国直联式空气压缩机数据监测研究报告
- 2024至2030年中国柄轴套数据监测研究报告
- 2024至2030年中国往复式三缸活塞泵数据监测研究报告
- 2024至2030年中国在线杀毒系统数据监测研究报告
- 云南省昭通市绥江县2024-2025学年七年级上学期11月期中数学试题
- 辽宁省营口市(2024年-2025年小学五年级语文)人教版小升初真题((上下)学期)试卷及答案
- 江西省抚州市(2024年-2025年小学五年级语文)人教版随堂测试(上学期)试卷及答案
- GB/T 5237.1-2017铝合金建筑型材第1部分:基材
- GB/T 26121-2010可曲挠橡胶接头
- GB/T 25497-2010吸气剂气体吸放性能测试方法
- 城市绿地系统规划 第9章 工业绿地规划
- 高中思想政治课选择性必修2《法律与生活》教材使用建议与典型课例研究课件
- 数学的发展历史课件
- 外来人员入厂安全告知书
- DB22-T 5036-2020建设工程项目招标投标活动程序标准-(高清正版)
- 工程监理聘用合同(一)
- 写作指导:顺叙倒叙插叙课件
- 小学综合实践活动《息技术-4网络信息辨真伪》优质课件-26
评论
0/150
提交评论