计算机组成原理本全白中英_第1页
计算机组成原理本全白中英_第2页
计算机组成原理本全白中英_第3页
计算机组成原理本全白中英_第4页
计算机组成原理本全白中英_第5页
已阅读5页,还剩389页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

概述计算机组成:主要指计算机硬件的具体实现方式及工作原理从三方面掌握本课程内容硬件结构:从物理上、逻辑上掌握计算机各部件和器件的构成和作用实现方式:硬件联接形式和内部处理方式(如控制器、运算器的实现方式等)工作原理:计算机各部分内部工作过程1现在是1页\一共有394页\编辑于星期二本课程的重要地位

本课程是计算机及相关专业的核心专业基础课,对后续课程(操作系统、接口与通信等)的学习十分重要。考研必考课程。通过课程的学习主要掌握以下内容

本课程主要讲授单处理机系统的组成及工作原理。分析和说明计算机由哪些功能部件组成(结构),各功能部件在整机中的作用,以及它们如何完成各自所分配的任务(工作原理)。学习难点 内容较多、结构复杂、要有数字逻辑的基础学习思路(方法) 分析结构、弄清原理、多做练习2现在是2页\一共有394页\编辑于星期二

主要内容计算机系统概述(计算机基础、基本概念)运算方法和运算器(计算机中数据的表示和编码:包括数值、非数值数据,整数、小数,汉字,校验码等。计算机中运算方法:定点运算、浮点运算、逻辑运算。运算器及实现)内部存储器(存储器芯片的结构与工作原理,存储器的组织与连接,高速存储器、CACHE等)指令系统(指令格式、寻址方式、典型指令)中央处理器(CPU的组成及工作原理,控制器的实现,CPU实现技术)总线系统(总线概念、总线技术)外围设备(典型外围设备基本工作原理)输入输出系统(输入输出控制方式)操作系统支持(调度,存储管理,虚拟存储器等)3现在是3页\一共有394页\编辑于星期二第一章计算机系统概论第一节计算机分类 电子计算机从总体上来说分为两大类:电子模拟计算机和电子数字计算机。电子模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。电子数字计算机的主要特点是按位运算,并且不连续地跳动计算。4现在是4页\一共有394页\编辑于星期二数字计算机又可分为专用计算机和通用计算机。专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。专用机是最有效、最经济和最快速的计算机,它是针对某一任务设计的计算机,但是它的适应性很差。通用机适应性很大,但是牺牲了效率、速度和经济性。通用计算机又分巨型机、大型机、中型机、小型机、微型机和单片机六类。它们的区别在于体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格。

5现在是5页\一共有394页\编辑于星期二

第二节计算机的发展1、计算机五代变化2、半导体存储器芯片的发展3、微处理器的发展4、计算机体系结构的变化 计算机体系结构是在冯•诺依曼结构的基础上,围绕提高速度、提高字长、扩大存储容量、降低成本、提高系统可靠性和方便使用等诸方面,通过新器件和新软件提高计算机性能。 体系结构上,从指令系统、微程序设计、流水线结构、多级存储器体系结构、输入/输出体系结构、并行体系结构、分布式体系结构等方面的形成和发展。体系结构发展趋势:网络化、智能化、模块化、多媒体应用。6现在是6页\一共有394页\编辑于星期二第三节计算机的硬件一、数字计算机硬件的组成硬件:指计算机中的电子线路和物理装置。 计算机硬件由五大部分组成:即运算器、控制器、存储器、输入设备、输出设备。运算器进行数据处理或信息加工(P8)包括各种算术运算、逻辑运算和判断处理存储器存放程序和数据(P9)程序是计算机进行各种操作和控制的依据数据是计算机进行操作的对象计算机中存放的程序和数据都是二进制形式的7现在是7页\一共有394页\编辑于星期二控制器控制计算机各部分自动协调的工作(P10)完成的工作是从内存中读取指令,分析和解释指令,然后按指令的要求发出操作命令,控制计算机各部分自动协调的工作。 简单程序 指令形式 控制器的基本任务 指令流和数据流冯·诺依曼体系结构计算机的主要特征是:采用存储程序和数据,由指令流来控制计算机的操作。输入设备输入信息到计算机中的设备输出设备从计算机中输出信息的设备8现在是8页\一共有394页\编辑于星期二第四节计算机软件一、软件的组成与分类

计算机中的各种程序、数据和有关文档构成计算机的软件系统。计算机的软件一般分为两大类:系统软件:便于计算机使用的系统管理程序(包括操作系统、语言处理、数据库管理系统等)应用软件:针对用户具体实际应用的程序9现在是9页\一共有394页\编辑于星期二二、软件的发展目的程序汇编程序源程序编译程序操作系统数据库管理系统

10现在是10页\一共有394页\编辑于星期二第四节 计算机系统的层次结构

一、多级组成的计算机系统微程序设计级一般机器级操作系统级汇编语言级高级语言级二、软件与硬件的逻辑等价性11现在是11页\一共有394页\编辑于星期二第四节计算机系统的层次结构计算机系统具有层次性,它是由多级层次结构组成的。其层次之间的关系十分紧密,上层是下层功能的扩展,下层是上层的基础;层次的划分不是绝对的,各层之间有时是相互渗透的。12现在是12页\一共有394页\编辑于星期二第二章运算方法和运算器第一节数据与文字的表示数据一般分为两大类:数值数据:有确定的值,相互间有大小关系非数值数据:相互间无大小关系,用于表示符号、文字或属性。13现在是13页\一共有394页\编辑于星期二一、数制及相互转换1、数制常用数制十进制(D):日常使用数制二进制(B):数字计算机内部使用数制十六进制(H):为使于对二进制的阅读和书写,常采用十六进制(或八进制)表示。14现在是14页\一共有394页\编辑于星期二对一任意数S,其r进制数表示为(S)r=kn×rn-1+kn-1×rn-2+…+ki

×ri-1+…+k-m

×r-m-1 其中0≤ki﹤rr称为进位计数值的基数,ki为第i位数字符,i为位序号,ri为第i位的位权。15现在是15页\一共有394页\编辑于星期二(347)8=3×82+4×81+7×80=(103)10(347.5)8=3×82+4×81+7×80+5×8-1=(231.625)10(34E.5)16=3×162+4×161+14×160+5×16-1=(846.3125)1016现在是16页\一共有394页\编辑于星期二2、不同数制间的转换1>十进制八,十六进制二进制法则整数部分:除8(16)取余数小数部分:乘8(16)取整重复循环17现在是17页\一共有394页\编辑于星期二2>八,十六进制二进制二进制八进制以小数点为界,分别向左和向右每三位分为一组,然后写出各组对应的八进制数。二进制十六进制以小数点为界,分别向左和向右每四位分为一组,然后写出各组对应的十六进制数。18现在是18页\一共有394页\编辑于星期二3>八,十六进制十进制直接按照相应进制数的公式,依“按权相加”的方法计算出通式的值。(10110.01)=1×24+0×23+1×22+1×81+1×20+0×2-1+1×2-2=(22.25)10(347.5)8=3×82+4×81+7×80+5×8-1=(231.625)10(34E.5)16=3×162+4×161+14×160+5×16-1=(846.3125)1019现在是19页\一共有394页\编辑于星期二二、数据格式 在计算机中进行数据表示时需考虑的几个因素:表示数的类型(小数、整数、实数等)数值的范围数值的精度数据存储及处理的硬件代价

20现在是20页\一共有394页\编辑于星期二计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。 一般来说 定点格式容许的数值范围有限(通常用于表示整数或纯小数),但要求的处理硬件比较简单。 浮点格式容许的数值范围很大(可以表示实数),但要求的处理硬件比较复杂。21现在是21页\一共有394页\编辑于星期二1、定点数的表示 定点表示:约定机器中所有数据的小数点位置是固定不变的。 由于约定在固定的位置,小数点就不再使用记号“.”来表示。通常将数据表示成纯小数或纯整数。n+1位定点数表示: X0X1X2X3…Xi…

Xn-2Xn-1Xn

其中X0为符号位,X1…Xn为数值部分, Xi为0或1。22现在是22页\一共有394页\编辑于星期二1>定点小数最高位为符号位,小数点位置隐含约定在符号位后,其后为数值部分n+1位定点小数的表示范围是

0≤︱X︱≤1-2-n 或:

(1-2-n)≤

X≤1-2-n(16位小数范围:—

(1-2-15)≤

X≤1-2-15)23现在是23页\一共有394页\编辑于星期二2>定点整数最高位为符号位,其后为数值部分,小数点位置隐含约定在数值部分的后面。n+1位定点整数的表示范围是

0≤︱X︱≤2n-1 或:

(2n-1)≤

X≤2n-1(16位整数范围:—

(215-1)≤

X≤(215-1)24现在是24页\一共有394页\编辑于星期二2、浮点表示法1>数的浮点表示其范围和精度部分分别用定点数表示123.45=1234.5×10-1=12345×10-2 =123450×10-34796.54=0.479654×1040.00479654=0.479654×10-2-0.00479654=-0.479654×10-225现在是25页\一共有394页\编辑于星期二101.1101=0.1011101×20011=0.010111010×20100-101.1101=-0.1011101×20011

=-0.010111010×201000.0001011101=0.1011101×2-0011

=0.010111010×2-0010-0.0001011101=-0.1011101×2-0011

=-0.010111010×2-001026现在是26页\一共有394页\编辑于星期二

任意十进制N,可以化为N=M×10E其中M为小数,E为整数一个数S的任意进制表示(S)R=m×Re

m:尾数,是一个纯小数。e:比例因子的指数,称为浮点的指数,是一个整数。R:比例因子的基数,对于二进计数值的机器是一个常数,一般规定R为2,8或16。27现在是27页\一共有394页\编辑于星期二浮点表示法:把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,这种把数的范围和精度分别表示的方法,数的小数点位置随比例因子的不同而在一定范围内自由浮动。

对于:101.1101(=0.1011101×20011)只需存放0.1011101和0011即01011101001128现在是28页\一共有394页\编辑于星期二一个机器浮点数由阶码和尾数及其符号位组成(尾数:用定点小数表示,给出有效数字的位数,决定了浮点数的表示精度;阶码:用整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围。)具体格式见教材P1729现在是29页\一共有394页\编辑于星期二IEEE标准

总位数符号位阶码尾数短实数321823长实数6411152临时实数801156430现在是30页\一共有394页\编辑于星期二

阶码和尾数各占用的位数确定了浮点数的格式对二进制数而言:1110.011=0.1110011×21000.001110011=0.1110011×2-10

-0.001110011=-0.1110011×2-10在将上面的数以浮点数格式存放时,只需将红色部分按照浮点数格式要求的位数,化为相应的补码或移码,按照浮点数格式存放。31现在是31页\一共有394页\编辑于星期二为提高数据的表示精度,当尾数的值不为0时,其绝对值应≥0.5,即尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式,这称为浮点数的规格化表示。101.1101=0.1011101×20011=0.010111010×20100规格化表示为尾数是0.1011101,阶码是0011而尾数是0.01011101,阶码是0100不是规格化表示。32现在是32页\一共有394页\编辑于星期二当浮点数的①尾数为0,不论其阶码为何值,或者②阶码的值遇到比它能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,称为机器零。浮点数转换的实例见P1833现在是33页\一共有394页\编辑于星期二IEEE754浮点数格式说明一个规格化的32位浮点数x的真值可表示为x=(-1)s×(1.M)×2E-127

e=E-127其中E的范围是1~254(阶码范围-126~+127),0和255作特殊用途:①浮点数+0,-0:E=0,M=0时表示x=(-1)S×0②+∞,-∞:E=255,M=0时x=(-1)S×∞IEEE754的32位浮点数表示的除0外的绝对值最小的数: s0000000100000000000000000000000 x=(-1)S×2-126×1.0IEEE754的32位浮点数表示的除∞外的绝对值最大的数: s1111111011111111111111111111111 x=(-1)S×2127×(2-2-23)34现在是34页\一共有394页\编辑于星期二3、十进制数串的表示十进制数串在计算机内主要有两种表示形式:1>字符串形式字符串形式:一个字节存放一个十进制的数位或符号位。为了指明这样一个数,需要给出该数在主存中的起始地址和位数(串的长度)。35现在是35页\一共有394页\编辑于星期二2.压缩的十进制数串形式压缩的十进制数串形式:一个字节存放两个十进制的数位。它比前一种形式节省存储空间,又便于直接完成十进制数的算术运算,是广泛采用的较为理想的方法。BCD码(二-十进制编码)36现在是36页\一共有394页\编辑于星期二4、自定义数据表示自定义数据表示则用数据本身来说明数据类型。其表示形式有两种,即标志符数据表示和描述符数据表示。标志符数据表示要求对每一个数据都附加标志符(P22),其中标志符指明后面的数据所具有的类型,如整数、浮点数、BCD数、字符串等。37现在是37页\一共有394页\编辑于星期二描述符数据表示主要用来描述多维结构的数据类型,如向量、矩阵、记录等(P23)。描述符标志位部分指明这是一个数据描述符;特征标记部分指明数据的各种特征;长度部分指明数组中元素个数;起始地址部分指明数据块的首地址。38现在是38页\一共有394页\编辑于星期二标志符与描述符表示的区别是:(1)标志符与每个数据相连,二者合起来存放在一个存储单元,而描述符要和数据分开存放。(2)描述符表示中,先访问描述符,后访问数据,至少增加一次访存。(3)描述符是程序的一部分,而不是数据的一部分。39现在是39页\一共有394页\编辑于星期二二、数的机器码表示在计算机中对数据进行运算操作时,符号位的表示,符号位是否也同数值位一道参加运算,如何参加运算?为了妥善的处理好这些问题,就需要把符号位和数字位一起编码表示数据,为适应不同的处理要求,产生了多种数据编码方法,如原码、补码、反码、移码等。

40现在是40页\一共有394页\编辑于星期二计算机中对数据的表示都采用二进制编码真值:数值数据的实际值,如257,-33,1011B等机器数(机器码):数值数据在计算机内的编码表示41现在是41页\一共有394页\编辑于星期二

在计算机中通常采用原码、补码、反码和移码表示数值数据原码、补码、反码的共性:1)这几种编码表示中,正数的编码值与真值一样,负数具有不同的编码。2)编码的最高位为符号位:0表示正1表示负42现在是42页\一共有394页\编辑于星期二1、原码表示法符号位:0表示正,1表示负 数值部分:与真值的二进制形式一样原码的特征:1)零有两种表示:+0和-0[+0]原=0.000...0[-0]原=1.000...02)优点:简单直观,便于乘、除法运算缺点:加减法运算不便(符号不能直接参预运算)43现在是43页\一共有394页\编辑于星期二2、反码表示法符号位:0表示正,1表示负 数值部分:正数不变;负数反码是将真值的各位取反得到反码的特征:1)零有两种表示:+0和-0[+0]反=0.00...0[-0]反=1.11...12)通常用于求补码44现在是44页\一共有394页\编辑于星期二3、补码表示法符号位:0表示正,1表示负 数值部分:正数不变;负数通过求补得到计算机中数值数据采用补码形式,其符号部分可以直接参预加、减法运算。补码的特征:1)零的表示唯一2)补码加减法运算中,符号直接参预运算3)定点小数表示中,[-1]补=1.00…045现在是45页\一共有394页\编辑于星期二4、移码表示法 移码通常用于表示浮点数的阶码。阶码是个n位的整数。n+1位移码的定义是 [x]移=2n+x2n>x≥-2n符号位:1表示正,0表示负 数值部分:与补码数值部分相同移码的特征:1)零的表示唯一:100…002)移码只能表示整数(只有整数有移码),用于浮点数阶码表示46现在是46页\一共有394页\编辑于星期二例:写出下列各数8位的原码、反码、补码、移码表示。 77 -103 -0.01101 -23/6477=1001101-103=-1100111-23/64=-10111×2-6=-0.01011147现在是47页\一共有394页\编辑于星期二例:写出下列机器码的真值。[x1]原=0.110101 [x2]原=1000101[x3]反=1.010101 [x4]反=0.000101[x5]补=1.010101 [x6]补=0.000101[x7]补=1.000000 [x8]补=10000000[x3]移=1.010101 [x4]移=0.00010148现在是48页\一共有394页\编辑于星期二三、字符与字符串的表示方法1、字符的表示采用7位ASCII码表示‘0’~‘9’ 30H~39H‘A’ 41H‘a’ 61H49现在是49页\一共有394页\编辑于星期二2、字符串的表示 字符串是指连续的一串字符,通常方式下,它们占用主存中连续的多个字节,每个字节存一个字符。 当主存字由2个或4个字节组成时,在同一个主存字中,既可按从低位字节向高位字节的顺序存放字符串的内容,也可按从高位字节向低位字节的次序顺序存放字符串的内容。50现在是50页\一共有394页\编辑于星期二四、汉字的表示方法 内部编码(内码),输入码,显示(打印)码51现在是51页\一共有394页\编辑于星期二五、校验码校验码:按照一定的规律和方法,通过给数据增加一位或多位数据而重新编码的方法,使得计算机能够发现或纠正数据在存放或传送过程中出现的错误。这样得到的新的编码称为校验码。其中增加的数据位称为校验位。52现在是52页\一共有394页\编辑于星期二检错码:具有发现错误能力的校验码称为检错码。纠错码:能够发现并纠正错误的校验码称为纠错码。奇偶校验码:能够发现一位或奇数位数据错误。奇校验码:通过给数据增加一位校验位,使校验码中‘1’的个数为奇数个。偶校验码:通过给数据增加一位校验位,使校验码中‘1’的个数为偶数个。53现在是53页\一共有394页\编辑于星期二第二节定点加、减法运算一、补码加法1、补码加法 负数用补码表示后,可以和正数一样来处理。这样,运算器里只需要一个加法器就可以了,不必为了负数的加法运算,再配一个减法器。补码加法的公式是

[x]补+[y]补=[x+y]补(mod2)补码加法的特点:符号位要作为数的一部分一起参加运算,要在模2的意义下相加,即超过2的进位要丢掉。54现在是54页\一共有394页\编辑于星期二2、补码减法 负数的减法运算也要设法化为加法来做,其所以使用这种方法而不使用直接减法,是因为它可以和常规的加法运算使用同一加法器电路,从而简化了计算机的设计。数用补码表示时,减法运算的公式为 [x-y]补=[x]补-[y]补=[x]补+[-y]补

在实际计算时,利用 [x-y]补=[x]补+[-y]补公式将减法运算变为加法进行55现在是55页\一共有394页\编辑于星期二现在的问题是如何从[y]补去求[-y]补这一点在硬件上实现也很简单,只需对[y]补包括符号位“求反且最末位加1”(简称“求反加1”),即可得到[-y]补。56现在是56页\一共有394页\编辑于星期二三、溢出概念与检测方法

在定点小数机器中,数的表示范围为|x|<1.在运算过程中如出现大于1的现象,称为“溢出”。在定点机中,正常情况下溢出是不允许的。上溢:两个正数相加,结果大于机器所能表示的最大正数,称为上溢。下溢:两个负数相加,结果小于机器所能表示的最小负数,称为下溢。57现在是57页\一共有394页\编辑于星期二为判断运算中是否产生溢出,可采用两种检测的方法。第一种方法是采用双符号位法,第二种方法是采用单符号位法。1、双符号位法双符号位法,也称为“变形补码”或“模4补码”变形补码定义为:[x]补=x2>x≥0 4+x0>x≥-2采用变形补码后,正数的符号位为00,负数的符号位为11,当运算结果符号不为00或11时,说明产生了溢出。58现在是58页\一共有394页\编辑于星期二采用变形(模4)补码运算时有以下规律:当以模4补码运算,运算结果的二符号位相异时,表示溢出;相同时,表示未溢出。故溢出逻辑表达式为V=Sf1⊕Sf2,其中Sf1和Sf2分别为最高符号位和第二符号位。此逻辑表达式可用异或门实现。模4补码相加的结果,不论溢出与否,最高符号位始终指示正确的符号。59现在是59页\一共有394页\编辑于星期二2、单符号位法从补码加、减法运算中我们看到:当最高有效位产生进位而符号位无进位时,产生上溢。当最高有效位无进位而符号位有进位时,产生下溢。我们可以借助进位关系给出溢出逻辑表达式:

V=Cf⊕Co

其中:Cf为符号位产生的进位 Co为最高有效位产生的进位 此逻辑表达式也可用异或门实现。60现在是60页\一共有394页\编辑于星期二四、基本的二进制加/减法器1、全加器FA全加器FA可以实现两个二进制数字Ai,Bi和一个进位输入Ci相加,产生一个本位和输出Si,以及一个进位输出Ci+1。其逻辑关系为: Si=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi可用如图所示电路实现一位加法61现在是61页\一共有394页\编辑于星期二2、行波进位加/减法器 n个1位的全加器(FA)可级联成一个n位的行波进位加减器(P35图2.2)。 M为方式控制输入线(控制进行加法,还是减法运算):当M=0时,作加法(A+B)运算;当M=1时,作减法(A-B)运算,在后一种情况下,A-B运算转化成[A]补+[-B]补运算,求补过程由B取反加1来实现。 电路采用单符号位法的溢出检测逻辑:当Cn=Cn-1时,运算无溢出;当Cn≠Cn-1时,运算有溢出,经异或门产生溢出信号。62现在是62页\一共有394页\编辑于星期二n位行波进位加法器的延迟时间ta为 ta=n·2T+9T=(2n+9)T从上式可看出,采用行波进位加法器时,位数越多,延迟时间越长。63现在是63页\一共有394页\编辑于星期二五、十进制加法器 十进制加法器可由BCD码(二-十进制码)来设计,它是在二进制加法器的基础上加上适当的“校正”逻辑来实现的。 一位BCD码加法电路由四位二进制加法电路加上校正电路构成。校正逻辑关系为:本位十进制和小于10时,不必校正;本位十进制和大于10时,通过将本位和加6修正。 Si=S'I 当xi+yi+Ci<10 Si=S'i+6 当xi+yi+Ci>1064现在是64页\一共有394页\编辑于星期二第三节 定点乘法运算一、原码乘法 在定点计算机中,两个原码数相乘的运算规则: 乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。

65现在是65页\一共有394页\编辑于星期二设n位被乘数和乘数用定点小数表示(定点整数也同样适用)被乘数[x]原=xf.xn-1…x1x0乘数[y]原=yf.yn-1…y1y0则乘积 [z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0) 式中,xf为被乘数符号,yf为乘数符号。66现在是66页\一共有394页\编辑于星期二1、二进制乘法的手算过程设x=0.1101,y=0.1011.让我们先用习惯方法求其乘积,其过程如下:67现在是67页\一共有394页\编辑于星期二2、改进的运算过程 0.1101×0.1011的运算过程 0.1101

× 0.1011 0.1101 →0.01101

+0.1101 1.00111 →0.100111

+ 0.0000 0.100111 → 0.0100111

+ 0.1101 1.0001111 → 0.1000111168现在是68页\一共有394页\编辑于星期二3、一位原码乘法X×Y=X·(0.Y1Y2…Yn) =X·(Y12-1+Y22-2+…+Yn2-n) =2-1(Y1X+2-1(Y2X+2-1(…+2-1(YnX+0)…)上式的递推形式为 P0=0 P1=2-1(YnX+P0) P2=2-1(Yn-1X+P1) …… Pi=2-1(Yn-i+1X+Pi-1) …… Pn=2-1(Y1X+Pn-1)上式的实际操作为:累加、右移69现在是69页\一共有394页\编辑于星期二 X=-0.1101Y=0.1011

部分积 乘数判别位

00.0000 0.1011

+ 00.1101 00.1101 → 00.01101 0.101

+ 00.1101 01.00111 → 00.100111 0.10

+ 00.0000 00.100111 → 00.01001110.1

+ 00.1101 01.0001111 00.10001111Pf=1⊕0=1【X×Y】原

=1.10001111X×Y=-0.1000111170现在是70页\一共有394页\编辑于星期二4、不带符号的阵列乘法器设有两个不带符号的二进制整数:A=am-1…a1a0B=bn-1…b1b0它们的数值分别为a和b,即m-1

n-1

a=∑ai2ib=∑bj2j

i=0j=0在二进制乘法中,被乘数A与乘数B相乘,产生m+n位乘积P: P=pm+n-1…p1p0乘积P的数值为:71现在是71页\一共有394页\编辑于星期二实现这个乘法过程所需要的操作: 其中的aibj实际为ai与bj的逻辑与72现在是72页\一共有394页\编辑于星期二按照P39图2.5的电路构成阵列乘法器,m位被乘数,n位乘数的阵列乘法器可由(m-1)×n个全加器构成。为提高并行处理能力和速度,减少进位延迟时间,每行相加产生的进位移到下一行前一位的全加器处理。5、带符号的阵列乘法器 原理阵列乘法器只能处理原码的乘法运算,但在计算机中数据经常采用补码表示,为实现补码乘法运算,就需要采用带符号的阵列乘法器。 带符号的阵列乘法器可借助无符号的阵列乘法器加上求实电路实现。73现在是73页\一共有394页\编辑于星期二求补电路一个具有可控的二进制对2求补器电路如图2.6

,其逻辑表达式如下: C-1=0,Ci=ai+Ci-1 ai*=ai⊕ECi-1,0≤i≤n 在对2求补时,是采用按位扫描技术来执行所需要的求补操作:从最后一位开始,找到出现的第一个1,并保持该位不变,然后对前面所有的位求反。

74现在是74页\一共有394页\编辑于星期二 带求补器的阵列乘法器采用不带符号的阵列乘法器附加三个求补器构成:其中两个算前求补器的作用是:将两个操作数A和B在被不带符号的乘法阵列(核心部件)相乘以前,先变成正整数。算后求补器的作用则是:当两个输入操作数的符号不一致时,把运算结果变成带符号的数。75现在是75页\一共有394页\编辑于星期二二、补码乘法1、补码性质及补码乘法运算规则 为了解补码乘法运算规律,先要知道补码一些性质。①补码与真值的关系 设[X]补=X0.X1X2…Xn 则X=-X0+0.X1X2…Xn②补码乘法 设[X]补=X0.X1X2…Xn,[Y]补=Y0.Y1Y2…Yn 则 [X×Y]补=[X]补×(-Y0+0.Y1Y2…Yn)76现在是76页\一共有394页\编辑于星期二③补码乘法递推式 [X×Y]补=[X]补×[(Y1-Y0)+(Y2-Y1)2-1+……+ (0-Yn)2-n] =[X]补×∑(Yi+1-Yi)2-i

[P0]补=0[P1]补={[P0]补+(Yn+1-Yn)×[X]补}×2-1 Yn+1=0[P2]补={[P1]补+(Yn-Yn-1)×[X]补}×2-1

………[Pi]补={[Pi-1]补+(Yn-i+2-Yn-i+1)×[X]补}×2-1 ………[Pn]补={[Pn-1]补+(Y2-Y1)×[X]补}×2-1[X×Y]补=[Pn+1]补={[Pn]补+(Y1-Y0)×[X]补}×2-177现在是77页\一共有394页\编辑于星期二2、补码一位乘法例:设X=-0.1011Y=-0.110,用补码一位乘法计算X*Y解:【X】补=1.0101【-X】补=0.1011【Y】补=1.0101

部分积 乘数判别位

00.0000 1.00110 -X

+ 00.1011 00.1011 → 00.01011 1.0011 +0

+ 00.0000 00.01011

78现在是78页\一共有394页\编辑于星期二

+ 00.0000 00.01011 → 00.001011 1.001 +X

+ 11.0101 11.011111 → 11.10111111.00

+ 00.0000 11.1011111 → 11.11011111 1.0 -X

+ 00.1011 00.10001111【X×Y】补

=0.10001111X×Y=0.1000111179现在是79页\一共有394页\编辑于星期二3、补码乘法阵列①一般化的全加器 常规的一位全加器可假定它的3个输入和2个输出都是正权。这种加法器通过把正权或负权加到输入/输出端,可以归纳出四类加法单元。(见P43表2.3)80现在是80页\一共有394页\编辑于星期二②直接补码阵列乘法器利用混合型的全加器就可以构成直接补码数阵列乘法器。设被乘数A和乘数B是两个5位的二进制补码数,即A=(a4)a3a2a1a0B=(b4)a3a2a1a0它们具有带负权的符号位a4和b4,并用括号标注。如果我们用括号来标注负的被加项,例如(aibJ),那么A和B相乘过程中所包含的操作步骤如矩阵所示。81现在是81页\一共有394页\编辑于星期二 (a4)a3a2

a1

a0=A

×(b4)b3b2b1b0=B (a4b0)a3b0a1b0a1b0a0b0

(a4b1)a3b1a2b1a1b1a0b1

(a4b2)a3b2a2b2a1b2a0b2

(a4b3)a3b3a2b3a1b3a0b3+)a4b4(a3b4)(a2b4)(a1b4)(a0b4)

p9

p8

p7

p6

p5

p4p3p2p1

p0=P

82现在是82页\一共有394页\编辑于星期二第三节 定点除法运算一、原码除法运算法则两个原码表示的数相除时,商的符号由两数的符号按位相加求得,商的数值部分由两数的数值部分相除求得。设有n位定点小数(定点整数也同样适用):

被除数x,其原码为[x]原=xf.xn-1…x1x0除数y,其原码为[y]原=yf.yn-1…y1y0

则有商q=x/y,其原码为[q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0)由上公式可见,商的符号位很容易得到,关键是数值部分如何计算。83现在是83页\一共有394页\编辑于星期二二、原码不恢复余数法(加减交替法)计算机中串行除法是通过左移余数和加(减)除数来实现除法运算处理的。首先我们看一看原码除法运算规则。原码不恢复余数法运算法则:首先用被除数减去除数,然后按下列过程重复:当余数为正时,商1,余数左移1位,减除数当余数为负时,商0,余数左移1位,加除数84现在是84页\一共有394页\编辑于星期二例:设X=0.1001,Y=-0.1011,用原码不恢复余数法求X÷Y。解:[︱Y︱]补=00.1011,[-︱Y︱]补=11.0101被除数/余数商 说明 00.1001+(-y)11.0101x-y 11.1110 0 余数<0,商0← 11.1100 0左移+y 00.1011 加上除数 00.01110.1余数>0,商1← 00.1110 0.1左移+(-y)11.0101x-y 00.0011 0.11余数>0,商1← 00.0110 0.11左移+(-y)11.0101x-y 11.1011 0.110余数<0,商0

85现在是85页\一共有394页\编辑于星期二+(-y)11.0101x-y 11.1011 0.110余数<0,商0←11.0110 0.110左移+y00.1011 加上除数 00.0001 0.1101余数>0,商1Qf=0⊕1=1[X÷Y]原=1.1101,∴X÷Y=-0.110186现在是86页\一共有394页\编辑于星期二三、并行除法器1、可控加法/减法(CAS)单元 可控加法/减法(CAS)单元,它将用于并行除法流水逻辑阵列中,它有四个输出端和四个输入端。当控制端P=0时,CAS作加法运算; P=1时,CAS作减法运算。2、不恢复余数法的除法阵列 不恢复余数法的除法阵列由一组可控加法/减法(CAS)单元的阵列来构成。 根据原码不恢复余数法的法则,当余数为正时,商1,余数左移1位,减除数;当余数为负时,商0,余数左移1位,加除数。 在不恢复余数法的除法阵列中,每行根据余数的有(无)借位(反映余数为负或正)确定商1(0),并确定下一行进行余数减(加)除数的运算。87现在是87页\一共有394页\编辑于星期二第五节 定点运算器的组成

运算器是计算机的数据加工处理部件。 运算器主要由算术逻辑运算单元(ALU)、数据缓冲寄存器、通用寄存器、多路转换电路和数据总线等逻辑器(部)件构成。一、逻辑运算 逻辑数:不带符号的二进制数。 逻辑运算是对数据的对位处理。主要包括逻辑非(求反)、逻辑加(或)、逻辑乘(与)和逻辑异(异或、按位加)基本运算。88现在是88页\一共有394页\编辑于星期二二、多功能算术/逻辑运算单元(ALU)

由一位全加器(FA)构成的行波进位加法器,它可以实现补码数的加法运算和减法运算。但是这种加法/减法器存在两个问题:一是由于串行进位,它的运算时间很长。二是就行波进位加法器本身来说,它只能完成加法和减法两种操作而不能完成逻辑操作。 多功能算术/逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。89现在是89页\一共有394页\编辑于星期二1.基本思想

一位全加器(FA)的逻辑表达式为 Fi=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi 将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组合函数Xi和Yi,然后再将Xi,Yi和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。 一位算术/逻辑运算单元的逻辑表达式为Fi=Xi⊕Yi⊕Cn+iCn+i+1=XiYi+YiCn+i+Cn+iXi 控制参数S0,S1,S2,S3控制根据Ai和Bi产生不同Xi和Yi,经由全加器处理,实现多种算术运算和逻辑运算。因此,不同控制参数S0,S1,S2,S3确定不同的运算功能。90现在是90页\一共有394页\编辑于星期二2、ALU的逻辑关系 控制参数S0,S1,S2,S3分别控制输入Ai和Bi,产生Y和X的函数。其中Yi是受S0,S1控制的Ai和Bi的组合函数,而Xi是受S2,S3控制的Ai和Bi组合函数,其函数关系如表2.4所示。 综合全加器的逻辑关系,可得ALU的某一位逻辑表达式如(教材P53)公式2.36。

91现在是91页\一共有394页\编辑于星期二一般ALU以四位作为一组,四位间进位采用先行进位。各位间的进位关系 Ci=XiYi+(Xi⊕Yi)Ci-1=Gi+PiCi-1 其中Gi=XiYi 称为进位生成函数

Pi=Xi⊕Yi 称为进位传递函数串行进位C1=G1+P1C0

C2=G2+P2C1 …… Ci=Gi+PiCi-1

…… Cn=Gn+PnCn-1

Gi、Pi只与第I位的输入有关,进位一位一位的传递92现在是92页\一共有394页\编辑于星期二先行进位公式第0位向第1位的进位公式为 Cn+1=Y0+X0Cn其中Cn是向第0位(末位)的进位。第1位向第2位的进位公式为 Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn第2位向第3位的进位公式为Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0X1X2+X0X1X2Cn

第3位的进位输出(即整个4位运算进位输出)公式为Cn+4=Y3+X3Cn+3 =Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn

93现在是93页\一共有394页\编辑于星期二

设 G=Y3+Y2X3+Y1X2X3+Y0X1X2X3 P=X0X1X2X3 则 Cn+4=G+PCn 这样,对一片ALU来说,可有三个进位输出。其中Cn+4是本片(组)的最后进位输出,G称为进位发生输出,P称为进位传送输出。 在电路中多加G和P这两个进位输出的目的,是为了便于实现多片(组)ALU之间的先行进位,为此还需一个配合电路,称之为先行进位发生器(CLA)。94现在是94页\一共有394页\编辑于星期二3、74181算术逻辑运算单元 74181是一个四位的算术逻辑运算单元(ALU)。它除了S0-S3四个控制端外,还有一个控制端M,用于控制ALU是进行算术运算还是进行逻辑运算。当M=0时,M对进位信号没有任何影响。此时F不仅与本位的被操作数Y和操作数X有关,而且与本位的进位输出,即C有关,因此M=0时,进行算术运算。当M=1时,封锁了各位的进位输出,即C=0,因此各位的运算结果F仅与Y和X有关,故M=1时,进行逻辑运算。 74181的运算功能见教材P55图2.595现在是95页\一共有394页\编辑于星期二4、两级先行进位的ALU

74181ALU设置了P和G两个本组先行进位输出端。如果将四片74181的P,G输出端送入到74182先行进位部件(CLA),又可实现第二级的先行进位,即组与组之间的先行进位。 假设4片(组)74181的先行进位输出依次为P0,G0,G1.P1,P2,G2,P3,G3,那么参考式(2.37)的进位逻辑表达式,先行进位部件74182CLA所提供的进位逻辑关系如下:Cn+x=G0+P0CnCn+y=G1+P1Cn+x=G1+G0P1+P0P1CnCn+z=G2+P2Cn+y=G2+G1P2+G0P1P2+ P0P1P2CnCn+4=G3+P3Cn+z=G3+G2P3+G1P1P2+ G0P1P2P3+P0P1P2P3Cn

=G*+P*Cn96现在是96页\一共有394页\编辑于星期二其中 P*=P0P1P2P3G*=G3+G2P3+G1P1P2+G0P1P2P3G*称为成组进位发生输出,P*称为成组进位传送输出。

可用若干个74181位片式ALU,与配套的74182先行进位部件CLA在一起,构成一个全字长的ALU。97现在是97页\一共有394页\编辑于星期二三、内部总线 计算机内部的主要工作过程是信息传送和加工的过程,因此在机器内部各部件之间的数据传送非常频繁。为了减少内部的传送线并便于控制,通常将一些寄存器之间数据传送的通路加以归并,组成总线结构,使不同来源的信息分时在总线上传送。 根据总线所在位置,总线分为内部总线和外部总线两类。内部总线是指CPU内各部件的连线。外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线。 根据总线的逻辑结构来说,总线可分为单向传送总线和双向传送总线。单向总线,就是信息只能向一个方向传送。双向总线,就是信息可以分两个方向传送,既可以发送数据,也可以接收数据。98现在是98页\一共有394页\编辑于星期二

图2.14(a)是带有缓冲驱动器的4位双向数据总其中所用的基本电路就是三态逻辑电路。 当“发送”信号有效时,数据从左向右传送。反之,当“接收”信号有效时,数据从右向左传送。因此也称为总线收发器。通过控制信号可以控制实现数据在总线上的传送。 这种类型的缓冲器通常根据它们如何使用而叫作总线扩展器、总线驱动器、总线接收器等等。 图2.14(b)所示的是带有锁存器的4位双向数据总线。它可以实现数据的锁存和发送。

99现在是99页\一共有394页\编辑于星期二四、定点运算器的基本结构

运算器包括ALU、阵列乘除器、寄存器、多路开关、三态缓冲器、数据总线等逻辑部件。 运算器的结构,主要是围绕ALU、寄存器同数据总线之间如何传送操作数和运算结果考虑和设计的。 计算机的运算器大体有三种结构形式1、单总线结构的运算器

单总线结构的运算器所有部件都接到同一总线上,所以数据可以在任何两个寄存器之间,或者在任一个寄存器和ALU之间传送。 单总线结构运算器在同一时间内,只能有一个操作数放在单总线上。为了把两个操作数输入到ALU,需要分两次来进行,而且还需要A,B两个缓冲寄存器。特点:控制电路比较简单,操作速度较慢。100现在是100页\一共有394页\编辑于星期二2、双总线结构的运算器 双总线结构的运算器具有两条总线,并且可以各自将其数据送至ALU的输入端。 在这种结构中,两个操作数只需一次操作控制就可同时送到ALU进行运算,而且马上就可以得到运算结果。但是运算的结果必须先暂存在缓冲器中。3、三总线结构的运算器

三总线结构运算器中,ALU的两个输入端分别由两条总线供给,而ALU的输出则与第三条总线相连。这样,算术逻辑操作就可以在一步的控制之内完成。101现在是101页\一共有394页\编辑于星期二第六节 浮点运算方法和浮点运算器一、浮点数加、减法运算1、运算规则 设有两个浮点数x和y,它们分别为x=2Ex·Mxy=2Ey·My其中Ex和Ey分别为数x和y的阶码,Mx和My分别为数x和y的尾数。1> 当Ex=Ey=E时, x±y=2E×(Mx±My)2> 当EX≠EY时,先通过对阶,使X和Y的阶码相同,然后按照上式计算。

x±y=(Mx2Ex-Ey±My)2Ey,Ex<=Ey102现在是102页\一共有394页\编辑于星期二2、浮点数加、减法运算步骤:1>0操作数检查2>对阶(小阶向大阶看齐) 先求阶差△E=EX-EY①若△E=0,则不必对阶②若△E>0,则EX>EY,阶码向EX看齐,MY右移△E位③若△E<0,则EX<EY,阶码向EY看齐,MX右移△E位3>尾数相加减4>结果规格化将尾数部分变为0.1…或1.0…的形式分为左规格化或右规格化5>舍入处理103现在是103页\一共有394页\编辑于星期二3、对尾数采用补码时的规格化处理右规格化:尾数结果为10.…或01.…时进行处理方法:将尾数右移1位,并且阶码加1。左规格化:尾数结果为0.0…或1.1…时进行处理方法:尾数每左移1位,阶码减1,重复直到结果尾数为0.1…或1.0…为止。4、舍入处理“0舍1入”法:如果右移时被丢掉数位的最高位为0则舍去,为1则将尾数的末位加“1”。“恒置一”法:只要数位被移掉,就在尾数的末尾恒置“1”。“就近舍入”:其实质就是通常所说的"四舍五入"。“朝0舍入”:即朝数轴原点方向舍入,就是简单的截尾。“朝+∞舍入”:对正数来说,只要多余位不全为0则向最低有效位进1;对负数来说则是简单的截尾。“朝-∞舍入”:对正数来说,只要多余位不全为0则简单截尾;对负数来说,向最低有效位进1。104现在是104页\一共有394页\编辑于星期二5、溢出及处理 浮点数的溢出通常是以其阶码的溢出表现出来的。当机器浮点数值大于最大正数,或小于最小负数时,称为上溢。上溢时阶码运算值超出了它所表示的范围,机器必须做中断处理。当机器浮点数值小于最小正数a值,或大于最大负数b值时,称为下溢。下溢通常看作为机器零。

溢出的处理:阶码上溢:阶码超过了阶码可能表示的最大值的正指数值,一般将其认为是+∞和-∞。阶码下溢:阶码超过了阶码可能表示的最小值的负指数值,一般将其认为是0。尾数上溢:两个同符号尾数相加产生了最高位向上的进位,将尾数右移,阶码增1来重新对齐。尾数下溢:在将尾数右移时,尾数的最低有效位从尾数域右端流出,要进行舍入处理。105现在是105页\一共有394页\编辑于星期二二、浮点数的乘、除法运算1、运算规则设有两个浮点数x和y:

x=2Ex·Mx

y=2Ey·My浮点乘法运算的规则是 x×y=2(Ex+Ey)·(Mx×My)浮点除法运算的规则是 x÷y=2(Ex-Ey)·(Mx÷My)106现在是106页\一共有394页\编辑于星期二2、乘、除法运算步骤 浮点数的乘除运算大体分为以下几个步骤:1>0操作数检查。2>阶码加/减操作。3>尾数乘/除操作。4>结果规格化5>舍入处理。3、移码运算 移码加,减法运算的公式为: [x+y]移=[x]移+[y]补

[x-y]移=[x]移+[-y]补上面公式表明执行阶码加减时,对加数或减数y来说,应送移码符号位正常值的反码。107现在是107页\一共有394页\编辑于星期二 如果阶码运算的结果溢出,上述条件则不成立。双符号位的阶码加法器:规定移码的第二个符号位,即最高符号位恒用0参加加减运算。则溢出条件是结果的最高符号位为1。此时,当低位符号位为0时,表明结果上溢,为1时,表明结果下溢。当最高符号位为0时,表明没有溢出。此时,当低位符号位为1,表明结果为正;为0时,表明结果为负。108现在是108页\一共有394页\编辑于星期二三、浮点运算流水线1、流水线原理 计算机的流水处理过程同工厂中的流水装配线类似。 为了实现流水,首先必须把输入的任务分割为一系列的子任务,使各子任务能在流水线的各个阶段并发地执行。将任务连续不断地输入流水线,从而实现了子任务的并行。 流水处理可以大幅度地改善计算机的系统性能,是在计算机上实现时间并行性的一种非常经济的方法。 在流水线中,原则上要求各个阶段的处理时间都相同。若某一阶段的处理时间较长,势必造成其他阶段的空转等待。因此对子任务的划分,是决定流水线性能的一个关键因素,它取决于操作部分的效率、所期望的处理速度,以及成本价格等等。109现在是109页\一共有394页\编辑于星期二线性流水线:假定作业T被分成k个子任务,可表达为T={T1,T2,···,Tk}各个子任务之间有一定的优先关系:若i<j,则必须在Ti完成以后,Tj才能开始工作。具有这种线性优先关系的流水线称为线性流水线。线性流水线处理的硬件基本结构如图2.17所示 在线性流水线中,处理一个子任务的过程为过程段(Si)。线性流水线由一系列串联的过程段组成,各个过程之间设有高速的缓冲寄存器(L),以暂时保存上一过程子任务处理的结果。在一个统一的时钟(C)控制下,数据从一个过程段流向相邻的过程段。110现在是110页\一共有394页\编辑于星期二 设过程段Si所需的时间为τi,缓冲寄存器的延时为τl,线性流水线的时钟周期定义为 τ=max{τi}+τl=τm+τl

故流水线处理的频率为f=1/τ。 在流水线处理中,当任务饱满时,任务源源不断的输入流水线,不论有多少级过程段,每隔一个时钟周期都能输出一个任务。 从理论上说,一个具有k级过程段的流水线处理n个任务需要的时钟周期数为 Tk=k+(n-1) 其中k个时钟周期用于处理第一个任务。k个周期后,流水线被装满,剩余的n-1个任务只需n-1个周期就完成了。 用非流水线的硬件来处理这n个任务,时间上只能串行进行,则所需时钟周期数为TL=n·k111现在是111页\一共有394页\编辑于星期二

将TL和Tk的比值定义为k级线性流水线的加速比: CK=TL/TK=(n·k)/(k+(n-1)) 当n>>k时,Ck->k。这就是说,理论上k级线性流水线处理几乎可以提高k倍速度。但实际上由于存储器冲突、数据相关,这个理想的加速比不一定能达到。112现在是112页\一共有394页\编辑于星期二2、流水线浮点加法器

浮点数加减法由0操作数检查、对阶操作、尾数操作、结果规格化及舍入处理共4步完成,因此流水线浮点加法器可由4个过程段组成。图2.19仅示出了除0操作数检查之外的3段流水线浮点加法器框图。113现在是113页\一共有394页\编辑于星期二四、浮点运算器实例1、CPU之外的浮点运算器 80×87是美国Intel公司为处理浮点数等数据的算术运算和多种函数计算而设计生产的专用算术运算处理器。由于它们的算术运算是配合80×86CPU进行的,所以又称为协处理器。 80×87浮点运算器的特点和内部结构:以异步方式与80386并行工作,80×87相当于386的一个I/O部件,本身有它自己的指令,但不能单独使用,它只能作为386主CPU的协处理器才能运算。可处理包括二进制浮点数、二进制整数、和压缩十进制数串三大类7种数据,其中浮点数的格式符合IEEE754标准。全部数据在80×87中均以80位临时数据的形式表示。因此80×87具有80位字长的内部结构,并有八个80位字长以“先进后出”方式管理的寄存器组,又称寄存器堆栈。114现在是114页\一共有394页\编辑于星期二80×87中有处理浮点数指数部分的部件和处理尾数部分的部件,还有加速移位操作的移位器路线,它们通过指数总线和小数总线与八个80位字长的寄存器堆栈相连接。80×87内部还设置了三个各为16位字长的寄存器,即特征寄存器、控制寄存器和状态寄存器。2、CPU之内的浮点运算器

奔腾CPU将浮点运算器包含在芯片内。浮点运算部件采用流水线设计。 指令执行过程分为8段流水线。前4段为指令预取(DF)、指令译码(D1)、地址生成(D2)、取操作数(EX),在U、V流水线中完成。 后4段为执行1(X1)、执行2(X2)、结果写回寄存器堆(WF)、错误报告(ER),在浮点运算器中完成。一般情况下,由U流水线完成一条浮点数操作指令。115现在是115页\一共有394页\编辑于星期二116现在是116页\一共有394页\编辑于星期二117现在是117页\一共有394页\编辑于星期二第三章内部存储器存储器:计算机中记录信息的设备,用于存放程序和数据。 构成存储器的存储介质,目前主要采用半导体器件和磁性材料。

118现在是118页\一共有394页\编辑于星期二第一节存储器概述一、存储器分类

存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。 由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。

能构成存储元的材料或电路的特征:具有两种稳定状态两种稳定状态经控制信号可以转换能读出其中的信息无外部原因,其状态能够长期保存119现在是119页\一共有394页\编辑于星期二 根据存储材料的性能及使用方法不同,存储器有各种不同的分类方法:按存储介质分半导体存储器:用半导体器件组成的存储器。磁表面存储器:用磁性材料做成的存储器。按存储方式分随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关。顺序存储器:只能按某种顺序来存取,存取时间和存储单元的物理位置有关。按存储器的读写功能分只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。随机读写存储器(RAM):既能读出又能写入的半导体存储器。120现在是120页\一共有394页\编辑于星期二按信息的可保存性分非永久记忆的存储器:断电后信息即消失的存储器。永久记忆性存储器:断电后仍能保存信息的存储器。按在计算机系统中的作用分根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。二、存储器的分级结构

为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外(辅助)存储器构成的多级(三级)存储体系结构。CPU能够直接访问的存储器称为内存储器(内存)。它包括高速缓冲存储器和主存储器(主存)。CPU不能直接访问外存储器,外存储器上的信息必须调入内存后才能由CPU处理。121现在是121页\一共有394页\编辑于星期二高速缓冲存储器(Cache):是CPU与主存储器间的一个高速小容量的半导体存储器。通过Cache可以使CPU高速存取主存储器中的指令和数据。特点:存取速度快,但存储容量小。主存储器(主存):主存存放计算机运行期间的大量程序和数据。特点:存取速度较快,存储容量不大。外存储器(辅助存储器):外存存放系统程序和大型数据文件及数据库。特点:存储容量大,位成本低,速度慢。在多级存储器管理系统中,各级存储器承担各自不同的职能:Cache提速;外存提供大容量;主存提供运行程序和数据的存储。122现在是122页\一共有394页\编辑于星期二三、存储器基本概念及技术指标1、基本概念记忆元件(存储介质):组成存储器的物理器件位:一位二进制存储单元:若干存储位构成的存储单元字节单元:8位二进制构成的存储单元字(存储)单元:存放一个字的存储单元存储体:许多存储单元构成的集合地址:存储单元的编号,用于识别不同单元字节地址:每个单元存放一个字节时,则相应地址为字节地址字地址:每个单元存放一个机器字时,则相应地址为字地址123现在是123页\一共有394页\编辑于星期二2、技术指标存储容量:存储器具有的存储单元总的数量。 一般可通过地址的位数反映出单元数的多少,它反应了存储器存储信息的能力。其单位通常为:KB,MB,GB,TB。 1K=210=1024 1M=220 1G=2301K单元有10位地址,1M单元有20位地址,1G单元有30位地址。如:32K单元有15位地址,256M单元有28位地址。存取时间:启动到完成一次存储器操作所经历的时间。分为读出时间和写入时间。存储周期:连续启动两次读(写)操作所需间隔的最小时间。通常存储周期略大于存取时间。存储器带宽:单位时间里存储器所存取的信息量,(单位为MB/s,每秒多少兆字节),反应了存储器的整体速度。124现在是124页\一共有394页\编辑于星期二第二节 SRAM存储器 目前广泛采用的半导体存储器是MOS半导体存储器。根据存储信息的原理不同,分为静态MOS存储器(SRAM)和动态MOS存储器(DRAM)。一、基本的静态存储元阵列

所有的SRAM是用一个锁存器(触发器)作为存储位元。SRAM包含三组信号:地址线:选择单元,确定容量(单元数)数据线:单元的位数控制线:读写控制125现在是125页\一共有394页\编辑于星期二

126现在是126页\一共有394页\编辑于星期二2、基本RMOS存储器逻辑结构 由存储体(阵列)、地址译码器、IO电路和控制电路组成地址译码器:将用二进制代码表示的地址转换成输出端的高电位,用来驱动相应的读写电路,以便选择所要访问的存储单元。地址译码有两种方式:单译

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论