资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第1章 知识目标,了解计算机的常识性知识;,掌握计算机的五大功能部件的基本功能及相互连接方式;,掌握软件的基本概念及其与硬件之间的关系;,理解系统软件和应用软件的概念;,理解计算机系统的层次结构。,第1章 绪论,计算机(,Computer),是一种能够按照指令对各种数据和信息进行自动加工和处理的电子设备。,计算机又称电脑,都是电子计算机的简称。电子计算机诞生于20世纪中叶,是人类最伟大的技术发明之一,是科学技术发展史上的里程碑。它的出现和广泛应用把人类从繁重的脑力劳动中解放出来,提高了社会各个领域中信息的收集、处理和传播的速度与准确性,直接促进了人类向信息化社会的迈进。,经过短短几十年的发展,计算机技术的应用已经十分普及,从国民经济的各个领域到个人生活、工作的各个方面,可谓无所不在。因此,计算机知识是每一个现代人所必须掌握的知识,而使用计算机应该是人们必备的基本能力之一。,1.1 计算机的特点,1.,运算速度快,2.,计算精度高,3.,具有记忆功能,4.,具有逻辑判断功能,5.,高度自动化,1.2 计算机的发展概况,世界上公认的第一台电子计算机,ENIAC(Electronic Numerical Integrator And Computer,电子数值积分计算机)诞生于1946年的美国陆军阿伯丁弹道实验室。,ENIAC,的问世,标志着人类计算工具的历史性变革。,第一代(1946-1958年)是电子管计算机时代,。,这一代计算机的逻辑元件采用电子管,并且使用机器语言编程,尔后又产生了汇编语言。,第二代(1959-1964年)是晶体管计算机时代。,这一代计算机逻辑元件采用晶体管.,第三代(1965-1970年)是集成电路计算机时代。,第四代(1971年-至今)是超大规模集成电路计算机时代。,第五代(20世纪80年代以后)又称为智能计算机(,Intelligent Computer)。,1.3 计算机的应用领域,计算机之所以能够迅速发展,是因为它得到了广泛的应用。目前,计算机的应用已经渗透到人类社会的各个方面,从国民经济各部门到家庭生活,从生产领域到消费娱乐,到处都可见计算机应用的成果。总结起来,计算机的应用领域可以归纳为五大类:科学计算、信息处理、过程控制、计算机辅助设计辅助教学、人工智能。,1.4,计算机的分类,计算机的分类:,按功能和用途,可将计算机分为通用计算机,(,General Purpose Computer),和专用计算机,(,Special purpose Computer),两大类。专用计算机是为某种特殊用途而设计的,在这种特殊的用途下,它显得高效、经济。通用计算机则可用于多种用途,只要配备适当的软件和硬件接口,便可胜任各种工作。,按工作原理,可将计算机分为数字计算机,(,Digital Computer),、,模拟计算机,(,Analog Computer),和混合计算机,(,Hybrid Computer),三大类。按性能和规模,可将计算机分为巨型计算机、大型计算机、中型计算机、小型计算机、微型计算机,(,microcomputer),和单片机,(,Computer On-Slice),六大类。,1.5,计算机的发展趋势,计算机有四个发展趋向:巨型化、微型化、网络化和智能化。,巨型化是指为满足尖端科学领域的需要,发展高运算速度、大存储容量和功能更加强大的巨型计算机。,微型化是指采用更高集成度的超大规模集成电路,(,Very large Scale Integration,缩写,VLSI),技术将微型计算机的体积做得更小,使其应用领域更加广泛。,网络化是对传统独立式计算机概念的挑战,网络技术将分布在不同地点的计算机互连起来,在计算机上工作的人们可以共享资源。,智能化是指发展能够模拟人类智能的计算机,这种计算机应该具有类似人的感觉、思维和自学习能力。智能计算机就是我们期待早日出现的第五代计算机。,1.6 计算机系统的组成,一台完整的计算机应包括硬件部分和软件部分。硬件和软件的结合,才能使计算机正常运行、发挥作用,因此,对计算机的理解不能仅局限于硬件部件,而应该将整个计算机看作是一个系统,计算机系统中,硬件和软件都有各自的组成体系,分别为硬件系统和软件系统。,计算机的硬件是指计算机中的电子线路和物理装置,。,它们是看得见摸的着的实体,用集成电路芯片、印刷线路板、接插件、电子元件和导线等装配成的,CPU,、,存储器及外部设备等。它们组成了计算机的硬件系统,是计算机的物质基础,,计算机有巨型、大型、中型、小型和微型之分,每种规模的计算机又有很多种机型和型号,它们在硬件配置上差别很大,但是绝大多数都是根据冯诺依曼计算机体系结构来设计的。,1.6.1计算机硬件系统,计算机硬件(,hardware),是指那些由电子元器件和机械装置组成的“硬”设备,如键盘、显示器、主板等等,它们是计算机能够工作的物质基础。计算机软件(,software),是指那些能在硬件设备上运行的各种程序、数据和有关的技术资料,如,Windows,系统,数据库管理系统等等。,在计算机系统中,硬件和软件相互支持、协同工作。没有软件的计算机硬件系统根本无法工作,没有完整的硬件系统或硬件的性能不够,软件也发挥不了良好的作用。,计算机的硬件系统至少包含五个基本部分,即:运算器、控制器、存储器、输入设备和输出设备。按照功能组合,运算器和控制器构成计算机的中央处理器(,CPUCentral Processing Unit),,中央处理器与内存储器构成计算机的主机,其它外存储器、输入输出设备统称为外部设备。,1.6.2 计算机的软件系统,计算机软件系统由系统软件,(,system software),和应用软件,(,application software),两个部分构成。,系统软件是计算机生产厂提供的,为高效使用和管理计算机而编制的软件。系统软件:操作系统,(,DOS,、,Windows),、,语言处理软件(,QBASIC,、,C+,),、,数据库管理系统(,FoxPro,、,Access,)、,服务程序。,应用软件是指为解决计算机用户的特定问题而编制的软件。它运行在系统软件之上,运用系统软件提供的手段和方法,完成我们实际要做的工作。如:财务管理、文字处理、绘图等等。应用软件:应用软件包,、,用户程序,第2章 知识目标,掌握各种进位计数制,十、二、八、十六进制数的相互转换;,掌握二进制数的四则运算的规则;,掌握定点整数和定点小数的编码;,掌握浮点数的编码原理、表数范围和规格化方法;,了解定点数与浮点数的优缺点;,掌握原码、反码和补码的概念、编码方法和定义范围;,了解非数值数据的常用的编码方法。,第2章 数据在计算机中的表示,计算机的基本功能是对数据进行运算和加工处理。计算机中的数据有两类:一类是数值数据,另一类是非数值数据,无论是数值数据还是非数值数据,在计算机中都是用二进制代码表示的。,本章重点讨论各种数制及数制之间的转换方法,,了解补码的概念和求补码的方法,了解溢出的概念和判别有符号数及无符号数的溢出方法。,2.1 数制,2,.1.1,十进制数(,Decimal number),2.1.2,二进制数(,Binary number),主要特点是:,1.它只有两个不同的数码,即“0”和“1”。,2.,它是逢,2,进位的。如对十进制数,1,1,2,,而对二进制数,1,1,10,B,。,2.1.3,八进制数(,Octal number),主要特点是:,1它有八个不同的数码,即07,它是逢“八”进位的。,2.1.4,十六进制数(,Hexadecimal number),主要特点是:,1.它有16个不同的数码,即09,,AF。,它与十、二、八进制数之间的关系见表21.,2.它是逢“十六”进位的。,2.1.2 二进制数(,Binary number),主要特点是:,1.它只有两个不同的数码,即“0”和“1”。,2.它是逢2进位的。如对十进制数112,而对二进制数1110,B。,二进制数可通过按权相加法,化为十进制数,如:,1111.11,B=12,3,+12,2,+12,1,+12,0,+12,-1,+12,-2,=8+4+2+1+0.5+0.25,=15.75D,一般地说,任意一个二进制数,N(,正的,或负的),可以表示为:,N=(,K,n,-1,2,n-1,+,K,n,-2,2,n-2,+K,0,2,0,+K,-1,2,-1,+K,-2,2,-2,+K,-m,2,-m,),其中,K,j,只能取1或0,由是由具体的数,N,确定。,m、n,为正整数。“2”是二进制的基数,表示“逢2进1”,故称二进制,见表11,2.2数制间的转换,1.二进制数转换为十进制数,这种转换十分简单,只要将二进制数按“权”展开相加即可。,例如:,11001,.,1001,B,=1,2,4,+1,2,3,+0,2,2,+0,2,1,+1,2,0,+1,2,-1,+0,2,-2,+0,2,-3,+1,2,-4,=16+8+1+0,.,5+0,.,0625=25,.,5625D,转换的规则就是要算出二进制数某一位为“,1,”时,该位权重对应的十进制数,然后将这些数相加,即按“权”相加。,2.十进制数转换为二进制数,十进制数转换为二进制数,要把整数部分和小数部分别转换,然后再相加即可。,3.八进制数和十进制数之间的相互转换,4.十六进制数与十进制数之间的相互转换,2.3 二进制数的运算规则,二进制数只有0、1两个数码,它的加、减、乘、除等运算规则要比十进制数的运算规则简单得多。,2.3.1 加法规则,1,0+0=0,2,0+1=1,3,1+0=1,4,1+1=10,2.3.2 减法规则,1,0-0=0,2,0-1=1(向相邻高位借位1当作2),3,1-0=1,4,1-1=0,2.3.3 乘法规则,1,0,0=0,20,1=0,31,0=0,41,1=0,2.3.4 除法规则,除法是乘法的逆运算。与十进制相类似,可以从被除数的最高位检查,并定出需要超过除数的位数。找到这个位数时,商记,1,,并且将选定的被除数去减除数。然后,将被除数的下一位下移位到余数上;若余数够减,则商为,1,,余数减去除数,这们反复进行,直至全部被除数的位都下移完为止。,2.5 原码、补码和反,码,2.5.1 机器数与真值,通常,数的正负是用符号“,+,”、“,-,”来表示的。在微机中难以表示正负号,常将符号数字化,即用,0,表示正,,1,表示负。我们通常把符号数字化了的数,称为机器数。数,称为真值。,机器数常用三种方法表示,即原码、补码和反码,下面对这三码制进行讨,2.5.2 原码(,true form),在用二进制原码表示的数中,符号位为,0,表示正数,符号位为,1,表示负数,其余各位表示尾数本身,称为原码表示法。,2.5.3 补码(,twos complement),补码表示法,可以把负数转化为正数,使减法转换为加法,从而可使正、负数的加减运算转化为单纯的正数相加运算。,2.5.4 反码,(,one,s complement),2.5.5,利用模的概念可直接对字长表示范围八、十六进制的负数直接 求补码,2.6 常用编码,2.6.1 二一十进制码(,BCD,码),这种编码方式的特点是保留了十进制数的权,而数字则用二进制数码,0,和,1,的组合来表示。常见的,BCD,码(,8421,码),2.6.2,ASCII,码,ASCII,码是美国信息交换标准委员会制定的,7,位字符编码,它是目前常用的一种编码,见表,2-4,。,ASCII,码用,7,位二进制代码表示一个字符。计算机中常用一个字节(八位二进制)来存放一个字符的,ASCII,码,其中,7,位是,ASCII,码本身,最高位可用来设校验码。从表中可以查出某一字符,ASCII,码值。,2.6.3 逻辑数据,逻辑数据是用一位二进制数来表示的,因为一位二进制数只具有两种可能的值:0或1,可以直接表示事物相对立的两个方面。,2.6.4 汉字编码,1.汉字输入编码 2.汉字内码 3.汉字字模码,第3章 知识目标,掌握定点补码加法和减法的方法;,理解溢出的概念和检测方法;,掌握基本的二进制数的运算及其加法电路;,掌握快速进位的原理;,掌握定点运算器的组成和基本结构;,掌握逻辑与、逻辑或、逻辑非运算的概念;,掌握各种移位操作的概念和移位结果的计算。,第,3,章,运算方法和运算器,3.1 定点加、减法运算,3.1.1,定点补码的加减法,1.定点补码的加法运算,规则:,X,补,+,Y,补,=,X+Y,补,(,mod 2,n,),式中:-2,n-1,X2,n-1,;-2,n-1,Y2,n-1,,-2,n-1,X+Y2,n-1,现根据,X、Y,的符号及绝对值的大小分4种情况予以证明。,2.定点补码的减法运算,规则,:,X-Y,补,=,X+(-Y),补,=,X,补,+-,Y,补,(,mod 2,n,),在进行定点减法运算时,只要将减数,Y,换换为,-,Y,补,,减法运算便换为加法运算了。这里先说明一下求-,Y,补,的含义。,3.不带符号数的运算,不带符号数(或称为无符号数)实际上是指参加运算的操作数,X,Y,均为正数,且整个字长全部用于表示数值部分。一个,n,位字长的数据字可用来表示2,n,个正整数。,3.2,定点小数乘法运算,3.2.1,原码一位乘法,1.原码一位乘法,被乘数和乘数均取绝对值参加运算,符号位单独考虑。,被乘数取双符号,部分积的长度与被乘数的长度相同,初值为0。,从乘数取的最低位的,Y,位开始对乘数进行判断。,3.2.2,补码一位乘法,1.补码一位乘法的运算规则,符号位参与运算,运算的数均以补码表示。,被乘数一般取双符号位参加运算,部分积初值为0。,乘数可取单符号位,以决定最后一步是否需要校正,即是否要加-,X,补。,乘数末位增设附加位,Yn,+1,,且初值为0。,按表3-2所示进行操作。,3.3,定点小数除法运算,除法运算是乘法运算的逆运算,计算机中乘法运算是通过相加、右移来实现的,除法运算是通过相减、左移来实现的。在计算机中进行定点小数除法运算要求:,(,1,)除数,0,。因为除数为,0,时,商为无穷大,这在定点计算机中无法表示。,(,2,)被除数除数。因为若被除数除数,则必有整数商,在定点小数除法时将产生溢出。,3.3.1,原码一位除法,符号位不参加运算,并要求,|,X|,|Y|,;,先用被除数减去除数,当余数为正时,商上,1,,余数左移一位,再减去除数,当余数为负时,商上,0,,余除左移一位,再加上除数。,当第,N+1,步余数为负时,需加上,|,Y|,得到第,N+1,步正确的余数,最后的余数为,R,N,2,N,(,余数与被除数同号)。,加减、交替法算法流程图。,第4章 知识目标,理解指令、指令系统的概念;,掌握指令格式及常用指令格式的分类,操作码的编码方法和扩展编码方法;,了解,CISC,和,RISC,的概念;,掌握各种操作数的寻址方式;,掌握各种常见的指令的功能和类型;,了解汇编语言的概念。,第4章 指令系统,计算机通过执行程序来完成各种工作任务,而程序是由一系列有序的指令构成的。指令系统是程序员编制程序的基础,也反映了一台计算机所具有的数据处理能力。,41概述,411 指令与指令系统,1、指令,指令是计算机能够识别和执行的操作命令。,2,、指令系统,一个完善的指令系统应满足下面这几个要求:,完备性,-指令系统的完备性是指用汇编语言编制各种程序时指令系统提供的指令足够用,而不必用软件实现。这就需要指令系统丰富、功能齐全、使用方便。,有效性-指令系统的有效性是指利用该指令系统编制的程序能产生高效率。高效率主要表现在程序所占存储空间小,执行速度快两个方面。,41概述,规整性-指令系统的规整性包括指令系统的对称性和匀齐性,指令格式与数据格式的一致性。对称性是指在指令系统中所有寄存器和存储单元都可以同等对待,所有指令都可使用各种寻址方式。匀齐性是指一种操作性质的指令可以支持各种数据结构,在编制程序时无需考虑数据类型。指令格式与数据格式的一致性是指指令长度与数据长度有一定的关系,以方便存取和处理。,41概述,兼容性-兼容性是指一台机器上运行的软件可以不经修改地运行于另一台机器。对于一般系统,同一厂家生产的系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,亦即各机种上的基本软件可以相互通用,但一般只能做到低档机或旧机器上的软件可不加修改即可在新机器上运行,以节省软件的开发费用。同时,新机种一出现就具有丰富的软件。,42指令格式,4.2.1指令格式,指令格式可由以下两个部分信息组成:操作码,地址码,1、操作码,操作码表示操作的性质及功能,操作码域所占的0,1码位数取决于指令系统中的指令条数。,2、地址码,地址码用来指出该指令的操作对象,它可用来指出操作数的地址,,CPU,通过该地址取得操作数;也可以用来指出操作结果的存储地址,操作数的结果保存在该地址中;还可指出下一条指令的地址,如转移、调用子程序、返回等,下一条指令的地址由指令给出。,42指令格式,3、指令字长,指令长度=操作码长度+操作数地址的长度(操作码地址个数)。由于操作码的长度、操作数地址的长度以及所需地址的个数不同,各指令的长度可能不同。但长度也不是任意的,指令长度通常设计为字节的整数倍。,422指令格式分类,指令中包括的地址码字段有;操作数的地址,用以指明操作数的存放处,不同的指令其所需的操作数可能不同,最多可有两个操作数地址。操作结果的地址,用以运算结果的存放。,42指令格式,1三地址指令格式,2二地址指令格式,3 一地址指令格式,4 零地址指令格式,423操作码格式,1、定长操作码,这是一种比较归整的操作码编码方式,即让操作码的长度固定且集中放在指令字的一个字段中。这种格式对简化硬件设计,减少译码时间非常有利。若操作码固定为,K,位,则它所能表达的操作最多为,2,k,个。,42指令格式,2、扩展操作码,这是一种不归整的操作码编码方式,即操作码的长度可变且分散地放在不同的字段中。,43寻址方式,431立即寻址,立即寻址方式是指操作数直接在指令中给出的寻址方式,包含在指令中的操作数称为立即数。,由于在取指令的同时,将操作数与操作码同时取出,不需再访问存储器,因此立即寻址方式的执行速度较快,但由于立即数作为指令的一部分不能修改,所以只适合于操作数固定不变的场合,如向某个存储单元或某一寄存器设置初值或提供一个常数。立即寻址方式便于程序员使用,但它是所有寻址方式中灵活性最差的一种。,43寻址方式,432直接寻址,直接寻址是把操作数的地址直接作为指令中的地址码。根据指令的地址码部分给出的地址就可以直接在存储器中找到所需的操作数。,这种寻址方式简单、直观、硬件实现起来比较容易。但它只能用来访问固定的存储单元,。,433寄存器寻址,指令的地址码部分给出某一通用寄存器的地址,而且所需的操作数就在这一寄存器中,则称为寄存器寻址方式。,43寻址方式,寄存器寻址指令简单,而且,从寄存器中存取数据比从存储器中存取数据快得多,所以寄存器寻址方式可以缩短指令的长度,节省存储空间,提高指令的执行速度。因此,巧妙地使用寄存器是提高汇编程序设计水平的一个关键。,434间接寻址,当地址码不是操作数的地址,而是另一个地址的地址时,所使用的寻址方式称为间接寻址方式。根据地址是寄存器还是存储单元地址,间接寻址方式又可分为存储器间址方式和寄存器间址方式。,43寻址方式,435变址寻址方式,将指令中给出变址寄存器的内容和指令地址码部分给出的地址偏移量之和作为操作数的地址来获得所需的操作数,称为变址寻址。,436基址寻址方式,与变址寻址类似,但在基址寻址中,基址寄存器提供的是基准值,指令中提供的是偏移量,变址寻址与其正好相反。在8086中,,,BX,与,BP,称为两个基址指针。,43寻址方式,437基址加变址寻址方式,基址寻址和变址寻址两种寻址方式的组合称为基址加变址寻址。,438相对寻址,把程序计数器,PC,的当前内容与指令的地址码部分给出的地址(偏移量)之和作为操作数的地址或程序转移地址的寻址方式称为相对寻址。,44指令的功能和类型,441数据传送类指令,数据传送指令用于寄存器、存储单元或输入输出端口之间的数据或地址传送。数据传送时,把源地址的数据传送到目的地址,而源地址中的数据保持不变。数据的传送指令包括读操作(取数)和写操作(存数)。,传送类指令包括:,传送指令(,MOV,),交换指令(如,XCHG,),入栈指令(,PUSH,),出栈指令(,POP,),44指令的功能和类型,2输入输出(,I/O),类指令,这类指令完成主机与外围设备之间的信息传送,包括输入输出数据,主机向外设发控制命令或了解外设的工作状态等。因此,从功能上讲,I/O,指令应当属于传送类指令。实际上有的机器的,I/O,操作就是由传送类指令实现的。,输入输出指令有三种设置方式,(1),设置专用的,I/O,指令,(2),用传送类指令实现,I/O,操作,(3),通过,IOP,执行,I/O,操作,44指令的功能和类型,442数据处理类指令,1算术运算指令,2逻辑指令,3移位指令,4、串操作指令,443程序控制类指令,这类指令用以控制程序执行的顺序和方向。主要包括转移指令、循环控制指令、子程序调用指令、返回指令、程序自中断指令等。,44指令的功能和类型,1、转移指令 在多数情况下,程序中的指令是按顺序执行的。但在某,些情况下,需要根据某种条件或状态决定程序如何执行。转移指令就是用来实现程序分支的。转移指令中必须包括转向地址。,2、,循环控制指令,有了条件转移指令就可以实现循环程序设计。但有的机器为了提高指令系统的效率,还专门设置了循环控制指令(如,L00P),,它包括对循环控制变量的操作和脱离循环条件的控制,是一种具有复合功能的指令。,44指令的功能和类型,3、子程序调用和返回指令,编写程序时,通常将一些需要重复使用并能独立完成某种特定功能的程序段编成子程序,需要时由主程序调用,这样做既简化了程序设计又节省了存储空间。,4、程序自中断指令,有的机器为了在程序调试中设置断点或实现系统调用等功能,设置了自中断指令。,44指令的功能和类型,444处理机控制类指令,这类指令用以直接控制,CPU,实现特定的功能,例如对程序状态字,PSW,中标志位、溢出位、为零位、符号位等的置位或清零的指令,开中断指令,关中断指令,空操作指令、等待指令等,这类指令一般没有操作数地址字段,属于无操作数指令。如:,(,1)停机(,HALT),指令,HALT,指令用来让机器处于动态停机的状态,执行等待指令或执行一小时循环程序。,(2)空操作(,NOP),指令,NOP,指令是不进行操作的指令,只使程序计数器的值还在增加,它对程序的调试和修改很有用。,(3)开中断(,EI),指令和关中断(,DI),指令,EI,指令和,DI,指令是在中断处理的过程中很有用的一对指令,它使中断允许触发器的值分别置1和置0。,44指令的功能和类型,444处理机控制类指令,这类指令用以直接控制,CPU,实现特定的功能,例如对程序状态字,PSW,中标志位、溢出位、为零位、符号位等的置位或清零的指令,开中断指令,关中断指令,空操作指令、等待指令等,这类指令一般没有操作数地址字段,属于无操作数指令。如:,(,1)停机(,HALT),指令,HALT,指令用来让机器处于动态停机的状态,执行等待指令或执行一小时循环程序。,44指令的功能和类型,(2)空操作(,NOP),指令,NOP,指令是不进行操作的指令,只使程序计数器的值还在增加,它对程序的调试和修改很有用。,(3)开中断(,EI),指令和关中断(,DI),指令,,EI,指令和,DI,指令是在中断处理的过程中很有用的一对指令,它使中断允许触发器的值分别置1和置0。,45汇编语言,1、汇编语言,汇编语言的指令结构简单、功能单一,可以直接对计算机内部的工作寄存器、存储器、端口、中断系统等进行操作,能把数据处理的过程表述得非常具体。采用汇编语言编写的程序叫做汇编语言源程序,源程序只能用于人机对话,并不能被机器直接执行,必须由,“,汇编程序,”,翻译成机器语言的目标程序。,“,汇编程序,”,是一种系统程序,由计算机公司提供,实现将源程序翻译成目标程序的服务。,2、机器语言,机器语言是一种能被机器识别和执行的语言,用二进制数,“,0,”,和,“,1,”,形式表示。它存放在计算机存储器内,直接指挥机器的运行。为了阅读和书写的方便,机器语言常写成十六进制形式,指令的十六进制代码形式与它的二进制代码形式是对应关系,常在某些场合(实验室)被用来作为输入程序的一种辅助手段。,第5章 知识目标,掌握存储器的概念;,了解存储器的分类;,了解存储器的主要性能指标;,掌握随机存取存储器,RAM,的原理;,掌握只读存储器,ROM,的原理;,理解高速缓冲存储器;,理解虚拟存储器。,第5章 存储系统,存储器是计算机的记忆部件,它是计算机的重要组成部分,其功能是用来按地址存放程序和数据。,有了存储器,计算机才有,“,记忆,”,功能,才能把计算机要执行的程序以及数据处理与计算的结果存储在计算机中,使计算机自动工作。,5.1 概 述,5.1.1 存储器的分类,1.按存储介质分类,半导体存储器,磁表面存储器,2.按存取方式分类,随机存取存储器,RAM,(Read Access Memory),只读存储器,ROM,(Read Only Memory),3.,按信息的可保存性分,易失性存储器,非易失性存储器,4.按在计算机中的作用分类,按在计算机中的作用可将存储器分为内存储器(主存储器)、外存储器(辅助存储器)和缓冲存储器等,见图5-1,5.1.2 存储器的主要性能指标,衡量一个主存储器性能的指标主要是存储器的存取时间、存储容量、存储周期、可靠性、性能价格比等。,5.2 内 存 储 器,5.2.1 随机存取存储器,RAM,1.,静态随机存取存储器,SRAM,基本存储单元,存储体,地址译码器,I,O,电路,片选与读写控制电路,输出驱动电路,2半导体存储器的组成及寻址,位扩展法,字扩展法,字位扩展法,3半导体存储器,与,CPU,的连接,线选方案,采用译码器连接方案,4半导体存储器的设计步骤,选择存储器芯片,位向,(,字长,),芯片数量的确定,字向,(,容量,),芯片数目的确定,对,CPU,总线负载能力的考虑,CPU,的时序和存储器存取速度的配合,有关存储器的地址分配和选片问题,控制信专线的连接,5动态随机存取存储器,DRAM,DRAM,的工作原理,写入过程 读出过程,DRAM,的刷新,集中式刷新,分散式刷新,异步式刷新,5.2.2 只读存储器,ROM,只读存储器简称,ROM,(,Read Only Memory,),它在工作过程中,只能读出信息,不能写入信息。它是由制造厂在制造过程中或由用户使用编程器事先将信息写入,所存信息一旦写入,就不能轻易地改变,只能读存储单元内容,故称为只读存储器。,ROM,器件的特点:,结构简单,位密度比,RAM,器件高。,具有非易失性,所以可靠性高。,信息只能读出,不能用通常方法写入。,ROM,根据其中信息的设置方法不同,可以分为,4,种:,掩膜型,ROM,或者简称,ROM,。,可编程的只读序储器,PROM。,可擦除可编程的只读存储器,EPROM。,可用电擦除的可编程的只读存储器,EEPROM。,5.2.3 高速缓冲存储器,1高速缓存(,Cache,主存存储层次),2,Cache,存储器的基本工作原理,3,Cache,存储器的基本操作,4地址映象,直接映象,全相联映象,组相联映象,5替换策略,先进先出策略,FIFO,策略,近期最少使用策略,LRU,策略,第6章 知识目标,理解,CPU,的功能;,了解,CPU,的基本组成;,掌握两种时序,控制方式,;,理解,指令周期的基本概念,;,掌握,微程序控制器的基本概念及组成原理,;,了解当前最先进的,CPU,技术。,第,6,章,中央处理器,计算机硬件由控制器、运算器、存储器、输入设备和输出设备五部分组成。随着集成电路的出现及其集成度的提高,设计者将控制器和运算器集成在一片集成电路上,称作微处理器,通常称之为中央处理部件,CPU。CPU,是计算机的核心部件。本章介绍,CPU,的功能和基本组成,指令周期的概念,微程序控制器及当前最先进的,CPU,技术。,6.1,CPU,的功能及组成,6.1.1,CPU,的功能,CPU,的功能就是控制各部件协调工作,具体归结为以下四个方面。,1,指令控制,2,操作控制,3,时间控制,4,数据加工,6.1,CPU,的功能及组成,6.1.2,CPU,的组成,1,程序计数器,(,PC),程序计数器的功能就是用来确定下一条指令在主存中的地址。当,CPU,取得当前要执行的指令后,通过修改程序计数器中的值来确定下一条指令在主存中的存放地址。,2,缓冲寄存器,(,DR),缓冲寄存器用来暂时存放,CPU,从主存读来的一条指令字或一个数据字。当,CPU,要将数据传送给主存时,亦先将数据保存到缓冲寄存器中。,6.1,CPU,的功能及组成,3,指令寄存器,(,IR),指令寄存器用来保存当前,CPU,正在执行的一条指令。,4,地址寄存器,(,MAR),地址寄存器用来保存当前,CPU,所要访问的主存单元或,I/O,端口的地址,是,CPU,与内存或外设之间的地址缓冲寄存器。,6.1,CPU,的功能及组成,5,累加寄存器,(,AC),累加寄存器简称累加器,,,累加器为算术逻辑单元(,ALU),提供一个操作数,并用来保存操作的结果。,6,状态寄存器,状态寄存器用来保存算术运算指令、逻辑运算指令及各类测试指令的状态结果,为后续指令的执行提供判断条件。,6.2 时序,计算机的工作过程是执行指令的过程。一条指令的读取和执行过程常常需分成读取指令、读取源操作数、读取目的操作数、运算、存放结果等步骤。这就需要一种时间划分的信号标志,如周期、节拍等。同一条指令,在不同时间发送不同的微操作命令,做不同的事,其依据之一就是不同的周期、节拍信号。,CPU,的许多操作都需要严格的定时控制,比如在规定的时刻将已经稳定的运算结果打入某个寄存器,这就需要定时控制的同步脉冲。计算机系统中产生周期节拍、脉冲等时序信号的部件称为时序发生器。对于时序发生器及时序的概念在前面第二章有专门的叙述。下面着重叙述时序控制方式、多级时序的建立和典型的指令周期。,6.2.1 时序控制方式,6.2.2,多级时序的建立,1,时序划分层次,(1)指令周期,读取并执行一条指令所需的时间称为一个指令周期。不同类型的指令,其指令周期的长短可以不同。通常,以开始取指令作为一个指令周期的开始,即上一个指令周期的结束。有的,CPU,设置有专门的取指标志,但一般都不在时序系统中为指令周期设置完整的时间标志信号,因此一般不将指令周期视为时序的一级。,(2),CPU,工作周期,在组合逻辑控制器中常将指令周期划分为若干个工作阶段,如取指令、读取源操作数、读取目的操作数、执行等阶段。在不同工作阶段中完成不同的操作,依据的指令代码段也各不相同。例如,在读取源操作数时,依据的是指令中源地址代码;而在读取目的操作数时,依据的是目的地址段代码;在执行阶段,则依据指令的操作码段。为此,在时序系统中划分若干种工作周期,以对应不同工作阶段所需的操作时间,例如取指周期、源周期、目的周期,执行周期等。在有的机器中将工作周期这一级称为机器周期,或称为基本周期。,(3)时钟周期(节拍),一个工作周期的操作可能需要分成几步完成,例如按变址方式读取操作数,先要进行变址运算才能访存读取。所以在同步控制方式中,时序系统需按固定时间分段设置时钟周期。每个时钟周期(又称为一拍)完成一步操作,如一次传送、加减等,这是时序系统中最基本的时间分段。各时钟周期长度相同,一个工作周期可根据其需要,由若干个时钟周期组成。不同工作周期,或不同指令中的同一种工作周期,其时钟周期数目可以不同。,确定一个时钟周期的长度有两种设计策略。,6.3,指令周期,6.3.1,指令周期的基本概念,CPU,要执行的指令及处理的数据均存放在主存中,指令和数据都以二进制编码表示,因此,从形式上看,数据和指令很难区别。然而,,,CPU,却能区分出哪些是指令,哪些是数据,根据指令的操作要求对数据实现处理,。,CPU,之所以能自动地执行指令,是因为它能按程序中的指令序列取指令,并对指令进行译码、执行。,CPU,在执行程序的过程中,先按程序记数器,(,PC),的值从主存中一条指令,然后译码、执行,紧接着又取下一条指令,译码、执行。依此重复,直至遇停机指令,1,非访内指令的指令周期,清累加器指令(,CLA),是非访内指令,需要两个,CPU,周期,取指令阶段一个,CPU,周期,执行指令阶段一个,CPU,周期。,操作是:0,A,第一,个,CPU,周期,即取指令周期。,第二个,CPU,周期,即执行指令周期。,2,直接访内指令的指令周期,加法指令(,ADD,D),是直接访内指令,需要三个,CPU,周期,取指令阶段一个,CPU,周期,执行指令阶段两个,CPU,周期。,操作,是:,A,十(,D)A,第一,个,CPU,周期,即取指令周期,操作过程与,CLA,指令相同。,第二,个,CPU,周期,将操作数的地址送往地址寄存器并完成地址译码。,第三,个,CPU,周期,从内存取出操作数并执行相加操作。,3,间接访内指令的指令周期,如存数指令,(,STA,D),是间接访内指令,需要四,个,CPU,周期,取指令阶段一个,CPU,周期,执行指令阶段三,个,CPU,周期。,操作是:()(),第一,个,CPU,周期,即取指令周期,操作过程,与,CLA,指令相同。,第二,个,CPU,周期,送地址指示器,即操作数地址的地址。,第三,个,CPU,周期,取操作数地址。,第四,个,CPU,周期,存储结果。,4,程序控制指令的指令周期,无条件转移指令(,JMP,D),是程序控制指令,指令周期需要两,个,CPU,周期,取指令阶段一个,CPU,周期,执行指令阶段一个,CPU,周期。,操作是:,DPC,第一个,CPU,周期,即取指令周期,操作过程,与,CLA,指令相同。,第二,个,CPU,周期,把转移地址送程序计数器(,PC)。,6.4,微程序控制器,微程序控制的概念与原理最早是由英国剑桥大学的威尔克斯,(,MVWilkes),教授于1951年在曼彻斯特大学计算机会议上首先提出的,其主要目的是希望能实现灵活可变的计算机指令系统。微程序控制后来历经种种演变,在只读存储器,ROM,所需的微技术成熟后得到了非常广泛的应用。,6.4.1,微程序控制器的基本概念,微程序控制和组合逻辑控制是微命令产生的两种方式。组合逻辑控制方式是用许多门电路来产生微命令,而这些门电路所需的逻辑电路形态很不标准,因而组合逻辑控制器设计起来很复杂、设计效率低、检查调试也困难,而且一旦完成设计后是用印制电路板固定下来,很难再修改与扩展。微程序控制器改进了组合逻辑控制方式这些缺点。,6.4.2,微程序控制器组成原理,微程序控制器比较规整,容易改变,可以实现比较复杂的指令功能,但是速度较组合逻辑控制器慢,且由于指令的执行过程复杂而难于实现指令的流水执行方式。,2,机器指令的读取与执行,在微程序控制器中,通过读取微程序与执行它所包含的微命令去解释执行机器指令。,(1)在微程序中有一条或两三条微指令,其微命令实现取指操作,可称为“取机器指令用的微指令”,属于微程序中的公用部分。在机器指令周期开始时,先从控制存储器中读取“取机器指令用的微指令”,其微命令使,CPU,访问主存储器,读取机器指令,送入寄存器,IR,,然后修改程序计数器,PC,的内容。,(2)根据机器指令中的操作码,通过微地址形成电路找到与该机器指令所对应的微程序入口地址。,(3)逐条取出对应的微程序,每一条微指令提供一个微命令序列,控制有关的操作。根据机器指令的需要与微指令功能的强弱程度,一条机器指令所对应的微程序可能不同,有的可能简单,有的可能比较复杂,其中可以包含分支、循环、嵌入微子程序
展开阅读全文