计算机组成原理(考研+期末)重点知识点总结
计算机组成原理考试重点

计算机组成原理第一章计算机系统概论1.概念:存储单元,存储字长,存储容量P17,机器字长P17,指令字长(P19—1.7)2.什么是指令?3.P8,冯诺依曼计算机特点,计算机结构框图,图1。
7.(P19—1。
5)第二章计算机发展及应用1。
什么是摩尔定律?第3章系统总线1.总线的概念P412.总线的分类,系统总线分类?通信总线分类?3.了解总线结构,尤其是双总线和三总线(P53)4.总线控制(重点)P57(1)总线判优控制:集中式,分布式,特点是什么呢?集中式控制:●链式查询,计数器定时查询,独立请求方式;●分别采用怎样的控制方式?(2)总线通信控制(P59)●什么是总线周期?可以分为哪些阶段?●申请分配阶段,寻址阶段,传数阶段,结束阶段各自有哪些功能?●总线通信控制的主要功能:解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调,如何配合的问题。
●四种通信方式:同步通信,异步通信,半同步通信和分离式通信。
●同步通信特点?●异步通信特点?根据应答方式的不同进行分类:不互锁方式,半互锁方式,全互锁方式.●例题:3。
2, 例题3.35课后题3.2, 3.4 3。
5 3。
6 3。
7 3。
13 3.14 3.16第4章存储器1了解主存的基本组成P722。
了解主存存储单元地址分配, 存储字长:一个存储单元存放一串二进制代码的位数。
P73 3。
概念:存储容量,存储速度,存取时间,存取周期, 存储器带宽。
4. 动态RAM的三种刷新方式:P86●集中刷新●分散刷新●异步刷新5存储器容量的扩展方式:位扩展,字扩展,位字扩展P916存储器与CPU连接(设计题)P93 例题4。
17存储器校验:汉明码校验方法P100 例题4。
4 例题4.58 Cache—主存地址映射方式: 直接映射,全相联映射、组相连映射,各自特点,例题4.8,例题4.99替换策略: 先进先出算法,近期最少用算法,随即算法10. 辅助存储器章节的概念:磁表面存储器主要技术指标:记录密度,存储容量,平均寻址时间,数据传输率,误码率P12511 循环冗余校验码CRC编码P145 例题4。
计算机组成原理考点总结

计算机组成原理考点总结★1.冯·诺依曼体制:(1)采用二进制代码表示数据和指令;(2)采用存储程序工作方式,即事先编制程序,事先存储程序,自动、连续地执行程序;(3)由存储器、运算器、控制器、输入设备、输出设备等5大部件组成计算机硬件系统。
★2.信息的数字化表示:(1)在计算机中各种信息用数字代码表示;(2)用数字型电信号表示数字代码;优点:(1)抗干扰能力强,可靠性高;(2)依靠多位数字信号的组合,在表示数值时可以获得很宽的表示范围和很高的精度;(3)数字化信息容易储存,信息传送也比较容易实现;(4)可以表示的信息类型和范围极其广泛,几乎没有限制;(5)能用逻辑代数等数字逻辑技术进行信息处理,这形成了计算机硬件设计的基础。
3.硬件:系统中可触摸到的设备实体。
例如:存储器、运算器、控制器、输入设备、输出设备等。
4.软件:系统中的各类程序和文件,由于他们在计算机中体现为一些不能直接触摸到的二进制信息,所以成为软件。
5.★操作系统:用户与计算机之间的接口,为用户提供软件的开发环境和运行环境。
负责管理和控制计算机系统硬、软件资源及运行的程序,它合理地组织计算机的工作流程。
6.机器语言:机器内部使用的、用数字代码表示的指令代码,面向某一特定机型,可由硬件直接识别并执行。
7.汇编语言:一种用符号表示的,面向某一特定机型的程序设计语言,它的指令语句与机器指令一一对应。
8.高级程序设计语言:面向用户,与特定机器属性相分离的程序设计语言,具有通用性。
9.编译:将源程序输入计算机后,先启动并执行相应的编译程序(又称编译器),将源程序全部翻译成目标程序(目标代码)的机器语言指令序列。
10.解释:将源程序输入计算机后,启动并执行相应的解释程序(又称解释器),它的作用是逐步分析源程序中的语句,按照源程序描述的过程,执行一个与此等价的机器语言指令序列,直到整个源程序都被扫描一遍,并被解释执行完毕为止。
11.虚拟机:通过配置软件(如某种语言编译器或解释器)扩充机器功能后所形成的一台计算机。
计算机组成原理必看总结

一,冯.诺依曼机的特点:1.计算机由运算器,存储器,控制器和输入设备,输出设备五大部件组成2.指令和数据以同等地位存于存储器内,并可按地址访问3.指令和数据均用二进制代码表示4.指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
5.指令在存储器内按顺序存放6.以运算器为中心计算机与日常使用的袖珍计算机的本质区别在于自动化程度的高低二,计算机的硬件指标(1)机器字长:C P U一次能处理数据的位数,通常与C P U寄存器位数有关(2)存储容量:包括主存和辅存,是存放二进制代码的总和,可以用位或字节来衡量。
(3)运算速度:可以用MI P S,C PI (每执行一条指令所需要的时钟周期数)或F L OP S (每秒浮点运算次数)。
三,电子管-----晶体管--------中小规模集成电路----------大规模集成电路计算机分类方法很多,按信息的形式可以分为数字计算机和模拟计算机,前者以离散型数字脉冲形式传递,而后者的信息是以连续型电波形式传递的,两者结合为数字模拟混合式计算机。
1 94 6年研制成功的第一台计算机称为EN I A C.数控机床是计算机在过程控制方面的应用,邮局实现信息自动分拣是计算机在模式识别方面的应用。
计算机在过程控制应用中,除计算机外,A/D转换器是重要部件,能把模拟量转换成计算机能识别的信号。
计算机发展至今,虽然与早期相比面貌全非,但存储程序的特点不变四,摩尔定律:微芯片上集成的晶体管数目以每三年翻两番的规律递增,由于受到物理极限的制约,不能永远生效五,什么是总线?特点?总线是连接多个部件的信息传输线,是各个部件共享的传输介质。
而且在某一个时刻允许有一个部件向总线发送信息,但多个部件可以同时从总线上接受相同的信息。
总线周期:申请分配阶段,寻址阶段,传送阶段,结束阶段六,总线控制包括:总线判优控制和总线通信控制。
前者又分为集中式和分布式良种,其中集中式总线判优逻辑有链式查询,计数器定时查询,独立请求方式。
计算机组成原理知识点总结

计算机组成原理知识点总结计算机组成原理是计算机科学与技术专业的基础课程之一,它是学生理解计算机工作原理和结构的关键。
在学习计算机组成原理的过程中,我们需要掌握一些重要的知识点,这些知识点对于我们理解计算机的工作原理和设计原则非常重要。
本文将对计算机组成原理的一些重要知识点进行总结,希望能够帮助大家更好地理解和掌握这门课程。
首先,我们需要了解计算机的基本结构。
计算机由运算器、控制器、存储器、输入设备和输出设备等部分组成。
运算器负责进行算术和逻辑运算,控制器负责控制程序的执行,存储器用于存储数据和程序,输入设备用于接收外部数据,输出设备用于输出计算结果。
这些部分相互协调合作,共同完成计算机的各项任务。
其次,我们需要了解计算机的指令系统。
指令系统是计算机硬件和软件之间的接口,它规定了计算机能够执行的指令集合。
指令系统包括指令的格式、操作码、寻址方式等内容。
不同的计算机可以有不同的指令系统,但它们都需要包括基本的算术运算、逻辑运算、数据传输等指令,以及相应的寻址方式和地址计算方式。
另外,我们需要了解计算机的存储系统。
计算机的存储系统包括主存储器和辅助存储器两部分。
主存储器用于存储当前正在执行的程序和数据,它的特点是速度快、容量小、易失性;辅助存储器用于长期存储数据和程序,它的特点是速度慢、容量大、非易失性。
计算机在执行程序时,需要将程序和数据从辅助存储器复制到主存储器,然后再进行执行。
此外,我们还需要了解计算机的输入输出系统。
输入输出系统是计算机与外部设备进行数据交换的接口。
输入输出系统包括输入输出接口、设备控制器和外部设备三部分。
输入输出接口负责将计算机和外部设备连接起来,设备控制器负责控制外部设备的工作,外部设备包括键盘、鼠标、显示器、打印机等。
最后,我们需要了解计算机的总线系统。
总线是计算机内部各部件之间进行数据传输和控制的通道,它包括地址总线、数据总线和控制总线三部分。
地址总线用于传输地址信息,数据总线用于传输数据信息,控制总线用于传输控制信息。
计算机组成原理知识点汇总

计算机组成原理知识点汇总x《计算机组成原理知识点汇总》一、算术逻辑单元1、算术逻辑单元(ALU)的功能算术逻辑单元(ALU)是一个对存储在寄存器中的数据进行算术和逻辑操作的硬件单元,它执行CPU中算术逻辑操作的所有活动。
主要有:加减乘除运算以及位操作(AND,OR,NOT)等。
2、算术逻辑单元的组成算术逻辑单元(ALU)由控制单元(CU)、累加器(Accumulator)、比较器(comparator)、移位器(Shift)、全加器(Full-Adder)、多位加法器(Multiple Adders)、多位乘法器(Multiple Multipliers)、掩码器(Mask)、屏蔽器(Shifter)等组成。
3、算术逻辑单元的运算过程(1)算术运算:它包括加减乘除运算,算术运算主要是把操作数从输入总线传到累加器中,进行算术运算以后,将结果存放在累加器中,然后传输到输出总线上。
(2)位操作:它包括AND,OR,NOT,异或等,位操作是把操作数从输入总线传到屏蔽器中,通过屏蔽器进行位操作,将结果存放在累加器中,同样传输到输出总线上。
(3)比较:算术逻辑单元还可以进行比较运算,以及移位,比较运算是把两个操作数从输入总线传到比较器中,比较两个操作数的大小,将结果存放在标志位中,寄存器中存放比较结果。
二、指令周期1、指令周期的概念指令周期是指中央处理器(CPU)执行指令所需要完成的时间,也就是说,指令从被CPU读取到完成执行的时间段称为指令周期。
它也可以简单的理解为一条指令完成执行的时间。
2、指令周期的分类指令周期可以分为主周期和子周期两种,主周期是指一条指令完成执行所需的最少时间,而子周期是指每一步执行完成的时间。
3、指令周期的作用指令周期是指系统的处理速度,它是用来评价计算机的运行速度的重要指标。
在进行计算机系统设计时,可以根据指令周期调整处理器的结构,以提高计算机的处理速度。
计算机组成原理-知识点汇总

《计算机组成原理》80个重要知识点汇总1、硬件包括中央处理器、存储器、外部设备和各类总线等。
1)中央处理器(处理器/CPU):核心部件,用于执令的执行。
2)存储器:内存和外存3)外部设备(简称外设,也称I/O设备):输入、输出设备。
4)总线:用于在部件之间传输信息。
2、软件1)系统软件: 操作系统(O/S)2)应用软件: 电子邮件、文字表格软件等。
3、计算机层次结构指令集体系结构ISA(简称体系结构或系统结构):连接软件和硬件的一个“桥梁”,是一台计机可以执行的所有指令集合。
微体系结构(简称微架构):具体实现的组织。
是由逻辑电路实现的,而逻辑电路又是按照特定的器件技术实现的。
编程语言低级语言:和运行计算机底层结构密切相关。
例:机器语言汇编语言:是一种机器语言的符号表示语言,通过用简短的英文符号和二进制代码建立对应关系。
高级语言:和底层计算机结构关联不大,大部分编程语言都是高级语言。
翻译程序:源程序→目标程序。
汇编程序:也称汇编器,将汇编语言源程序翻译成机器语言目标程序。
解释程序(解释器):将源程序中的语句逐条解释,转换成机器指令执行。
编译程序(编译器):将高级语言源程序翻译成汇编或机器语言目标程序。
4、冯诺依曼结构基本思想(1)采用“存储程序”工作方式。
存储程序: 指将编好的程序和原始数据送入主存并能自动执行的过程。
(2)计算机由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。
运算器:进行算术和逻辑运算。
控制器:自动执行指令。
存储器:存放数据和指令输入、输出设备:便于操作人员使用计算机。
(3)计算机内部以二进制形式表示指令和数据。
5、冯诺依曼结构模型机通用寄存器组:由若干个通用寄存器组成,用于存放操作数或操作数的地址。
标志寄存器:用来存放ALU运算得到的一些标志信息。
程序计数器(PC):用来存放将要执行的下一条指令的地址。
指令寄存器(IR):用于存放从主存储器读出的指令。
主存地址:每个存储单元的唯一编号。
计算机组成原理期末知识点总结2

1.冯?诺依曼型计算机(重点)1)引进存储程序概念,程序和数据一样放在同一个存储器中2)数据以二进制码表示3)机器以运算器为核心4)指令由操作码和地址码两部分构成5)计算机由运算器、控制器、存储器、输入设备和输出设备五部分构成这些理论奠定了现代计算机的基本思想,到目前为止,大多数计算机沿用这一体制,人们称其为冯?诺依曼体制2`History of Intel? CPU1978 8086/8088 5-10 MHz1982 80286 6-12 MHz1985 Intel386?16-33 MHz1989 Intel486?DX 25-50 MHz1993 Pentium? 60-233 MHz1997 Pentium? II 233-450 MHz1999 Pentium? III 450M-1G Hz2000 Pentium? 4 1.4-3.2 GHz英特尔公司是全球最大的半导体芯片制造商,它成立于1968年,具有44年产品创新和市场领导的历史。
1971年,英特尔推出了全球第一个微处理器。
微处理器所带来的计算机和互联网革命,改变了整个世界。
在2013年世界500强排行榜中,英特尔排在第183位。
3.图灵的贡献英国著名数学家、逻辑学家、密码学家,被称为计算机科学之父、人工智能之父。
1912年6月23日生于英国帕丁顿,1931年进入剑桥大学国王学院,师从著名数学家哈代,1938年在美国普林斯顿大学取得博士学位,二战爆发后返回剑桥,曾协助军方破解德国的著名密码系统Enigma,帮助盟军取得了二战的胜利。
1954年6月7日在曼彻斯特去世。
图灵是计算机逻辑的奠基者,提出了“图灵机”和“图灵测试”等重要概念。
人们为纪念其在计算机领域的卓越贡献而专门设立了“图灵奖”。
提出“图灵机”概念、提出“图灵测试”概念、开创非线性力学、破解德国密码系统Enigma 24岁提出图灵机理论,31岁参与COLOSSUS的研制,33岁设想仿真系统,35岁提出自动程序设计概念,38岁设计“图灵测验”。
计算机组成原理考点总结

计算机组成是计算机体系结构的逻辑实现。一
种计算机体系结构可以有多种不同的计算机组成。 计算机实现是计算机组成的物理实现。一种计
算机组成也可以有多种不同的计算机实现。
计算机系统的层次结构
第5级:应用语言虚拟机 第4级:高级语言虚拟机 第3级:汇编语言虚拟机 第2级:操作系统虚拟机
多指令流多数据流MIMD
计算机系统的性能评价
1.基本字长
处理器中的算术逻辑单元所输入的操作数的二进制 位数,也是处理器内部数据寄存器所包含的二进制位 数。 对结构的影响:
机器字长 = 数据通路宽度 =寄存器位数(ALU 位数、存储单元长度)
对性能的影响: 字长越长,数据表示范围越大,精度越高,运 算速度越快。 对造价的影响: 字长越长,硬件需求量越多,造价越高
冯·诺依曼计算机硬件框图
存放数据 将信息和转程换序成机 器能识别的形式
存储器
算术将运结算果转换成 逻人辑们运熟算悉的形式
输入设备
运算器
输出设备
控制器
指挥程序 运行
处理器 ALU
MAR 逻辑运算器 加法器
移位器 求补器
数据寄存器组 FR MBR
PC IR CU
I D CSG
主机
外设
输出设备
输入设备
r = 4 尾数最高 2 位不全为 0 r = 8 尾数最高 3 位不全为 0
浮点数的规格化
基数不同,浮点数的 规格化形式不同
r = 2 左规 尾数左移 1 位,阶码减 1 右规 尾数右移 1 位,阶码加 1
r = 4 左规 尾数左移 2 位,阶码减 1 右规 尾数右移 2 位,阶码加 1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理(考研+期末)重点知识点总结一、Ch01&02: 概论与数据表示●计算机系统组成1.硬件系统●冯·诺依曼思想●提出使用二进制作为计算机数制基础|●二进制运算规则简单●0/1状态更容易用物理状态实现●适合采用布尔代数方法实现运算电路●存储程序将程序存放在计算机的存储器中●程序控制计算机中控制器逐条取出存储器中的指令并按顺序执行●五大部件●运算器运算器完成算术运算,逻辑运算●控制器控制器控制指令的执行,根据指令功能给出实现指令功能所需的控制信号●存储器主存储器存放程序及数据●输入设备●输出设备●系统互联总线(Bus)是连接两个或多个设备的公共通信线路2.软件系统●应用软件●系统软件●操作系统●固件(Firmware)固化的软件,兼具硬件和软件的特性,如BIOS3.层次结构●高层是底层功能的扩展,低层是高层的基础●计算机性能指标与评价1.非时间指标●字长CPU一次操作能处理的最大数据位宽,一般与寄存器、运算器、数据总线的位宽相等●主存容量主存能存储的最大信息量,一般用MxN表示(M表示存储单元数,又称子容量;N表示每个存储单元存储的二进制位数,也称位容量)2.与时间有关的性能指标●时钟周期时钟周期是计算机中最小最基本的时间单元,在一个时钟周期内CPU完成一个最基本的动作时钟周期是时钟频率的倒数,也称节拍周期或T周期,随着主频的提高时钟周期将变短●CPI(Clock Cycles Per Instruction)执行每条指令所需要的平均时钟周期数●计算机数据表示1.进制转换●十进制转二进制真值●整数部分除2取余,倒着取,直到商为0为止●小数部分乘2取整,正着取,直到满足位数或小数部分为0为止2.数值编码●真值用正负号+/-表示正负的二进制数值●机器码将符号和数值一起编码表示的二进制数●原码符号位0正1负,数值位不变●表示区间●定点小数●定点整数●反码符号位与原码相同,数值位上正数与原码相同,负数为原码取反●表示区间与原码一致●补码●模的概念a ≡b (mod m) 模为m●时钟原理:表示负数时可以使用模的性质转换成正数,即把减法变成加法●负数的补码可以用模数加上该负数获得●有字长限制的二进制运算为有模运算,模数为最高位进位的权值●计算机中补码的定义●设定点小数x0.x1x2...xn 其中x0为符号位,该数模数为最高位进位2●根据补码定义可知●扩展至n位定点整数而言●求补码的简便方法●反码法(适合机器运算)当X为负数时,补码等于反码末位加1当x为正数时,补码与原码一致●扫描法(适合手工计算)当X为负数时,对真值部分从右到左扫描,右起第一个1及其右边的0保持不变,左边的真值位全部取反●移码●只能用于定点正数的表示,通常用于表示浮点数的阶码●移码与补码只有符号位相反,其余全相同3.浮点数表示●二进制浮点数采用了类似十进制科学计数法的表示方法●阶码E(Exponent)是定点整数,用移码表示●尾数M(Mantisa)是定点小数,用补码表示●浮点数表示范围●IEEE754标准4.汉字区位码●GB2312编码●双字节编码,16位,其中两个字节的最高位都是1,实际有14位编码空间●实际没有填满,使用94x94的矩阵表示所有汉字字符,矩阵的每一行称为“区”,每一列称为“位”●转换公式:区位码 + A0A0H = GB2312编码●汉字机内码计算机内部存储的汉字编码,如GB系列编码●汉字输入码(外码)使用英文键盘输入汉字的编码,即输入方案●流水码●音码(拼音)●形码(五笔)●音形码●汉字字形码(输出码)输出汉字的图形点阵数据,字形码按区位码排列的二进制文件称为汉字库●数据校验1.码距与校验●校验码在原始数据中引入部分冗余信息用于校验●码距/海明距离一个编码集内两个不同编码对应二进制位不同的个数●校验码的目的在于提高编码集中最小码距●码距越大,抗干扰能力越大,纠错能力越强,数据冗余越大,编码效率越低2.奇偶校验●冗余位:1位校验位P●检验串中1的个数●检错位G=1一定出错●只能提供奇数位错误的检错3.二维奇偶校验/交叉奇偶校验●将一个串分成很多等长的子串,按行分布在二维矩阵里,同时进行行和列的奇偶校验●一个数据位参加多个检验组,发生错误可在多个检测码中反馈4.海明校验5.CRC循环冗余校验●模2运算不考虑进位和借位的运算●生成步骤●1. 将原数值M左移r位得到R●2. 找一个r+1位的二进制串G●3. 用模2除法求R除以G得到的余数填在右边的空白r位上就是冗余码部分●解码将校验码除以生成多项式(约定的二进制串G)后余数为0表示数据正常二、Ch03: 运算器●定点加减法运算1.运算定义●补码加法●补码减法2.溢出检测●监测符号位:正正得负 & 负负得正 -> 溢出●监测进位:符号位进位与数值位进位不同为溢出●双符号位:将符号位扩展成两位进行运算●若相加后两个符号位不同为溢出●符号位最高位永远是正确符号位3.逻辑实现●全加器(FA)带进位的一位加法器●逻辑表达式●逻辑电路●半加器(HA)没有进位输入●多位串行加法器●先行进位加法器●定点乘法运算1.原码一位乘法●符号位:异或●真值部分:普通竖式运算●部分积使用累加寄存器存储2.补码一位乘法●符号位参与运算,可以采用单符号位,双符号位用于溢出检验●运算步骤●先写出[X]补,[-X]补,[Y]补备用,画出运算表格,注意[Y]补要在最右边扩充一个0●判断乘数[Y]补最后两位,决定部分积加哪个数●01:[X]补●00/11:0●10:[-X]补●将部分积和乘数都右移一位,注意左边移出的位接在右边●部分积是算术右移,即符号位扩展右移,且右边没有限制●乘数右边是位宽墙,不需要扩展●重复上述步骤直到乘数不足一位,将最终结果与移出位拼起来形成答案●浮点运算1.浮点加减法运算●阶码和尾数均采用补码表示●对阶:使两浮点数阶数相等,尾数就可以直接相加●规则:小阶向大阶看齐小阶放大,尾数减小,右移损失的是影响较小的低位●步骤●求阶差:减法运算●尾数移位●保留附加位移除的低位部分(的最高位),作为附加位参与中间运算提高精度●通常保留三个保留附加位,从右到左排序(高位到低位)●保护位●舍入位●粘位舍入位右侧还有数则粘位为1,否则为0●尾数运算●结果规格化目的是保证浮点数编码唯一性,真值格式是数据位的最高位一定是1●规格化方法●左移规格化(左规放大)●绝对值小于0.5需要放大●移动(逻辑左移,补0)多少位阶码减多少●注意符号位一起移●右移规格化(右规减小)●绝对值超过1,发生上溢●只需要算术右移(保留符号位)一位,阶码+1●舍入●末位恒置1法只要移位丢失的位中有一位是1,结果末位就是1●0舍1入法丢失位最高位若是1则将尾数末位+1●舍入可能破坏规格化结果,因此需要再次规格化●溢出判断●只有阶码移除才算溢出●当阶码符号位为01或10时结果溢出●IEE754浮点数●阶码用移码表示,尾数用原码表示,且尾数的最高位隐藏●对阶和规格化采用移码的计算规则●尾数隐藏位参与运算,采用原码运算规则2.浮点乘法运算●第一步:阶码相加●第二步:尾数相乘●第三步:规格化舍入三、Ch04: 存储系统●存储系统概述1.存储器的分类●按存储介质●磁存储器包含机械装置,体积大,速度慢,成本低●半导体存储器了解其是什么,不必掌握原理●双极型存储器●MOS存储器●静态MOS存储器(SRAM)●动态MOS存储器(DRAM)●光存储器(光盘)●按存储方式●随机存储器(RAM,Random Access Memory)根据地址随机读写数据单元,访问时间与访问位置顺序无关半导体存储器是随机存储器●顺序存储器(SAM,Sequential Access Memory比如磁带存储器●直接存储器(DAM,Direct Access Memory)不需要顺序搜索就能直接存取信息,兼具RAM和SAM的特性(根据地址读写,但时间和位置并非完全没有关系)磁盘是DAM,由于机械结构的延迟导致其时间和磁头与目标扇区的距离有关●按可写性●读写存储器●只读存储器(ROM,Read-Only Memory)●按可保存性●易失性存储器●非易失性存储器●按功能和速度●寄存器存储器●高速缓冲存储器(高速缓存Cache)隐藏在寄存器和主存之间的高速小容量存储器,用于存放CPU常用或即将使用的指令和数据,一般由SRAM构成,用于缓冲CPU寄存器和主存之间的性能差异●主存储器(主存)CPU除寄存器外唯一能直接访问的存储器,用于存放指令和数据,通过地址直接、随机地读写主存主存一般是半导体存储器,但还包括BIOS和硬件端口等●外存储器(外存/辅助存储器)容量大,但速度块,如磁盘、磁带、光盘、网络存储阵列等2.存储器性能指标●存储容量●位表示法用存储器中存储单元总数与存储字长(每个单元的位数)的乘积表示,如1K*4位(K=1024)●字节表示法带B表示法,1B=8位●存取速度●存取时间(访问时间)启动一次存储器操作到操作完成的时间,注意读写时间可能不同(DRAM读慢写快,闪存读快写慢)●存取周期连续启动两次操作之间最短的间隔时间,略大于存取时间对于主存而言,周期除了包括存取时间还包括状态恢复时间●存储器带宽单位时间内存储器能传输的信息量,与存储时间的长短和一次传输的数据位多少有关一般来说,存取时间越短,数据位宽越大,存储带宽越高3.存储系统层次结构4.DRAM刷新●刷新的概念定期补充电荷以避免电荷泄露(泄露电流)引起的信息丢失●刷新周期●刷新周期是存储器实际完成两次完整刷新的时间间隔●最大刷新周期:信息存储到数据丢失之前的时间间隔●按行刷新动态存储器的刷新按行进行●减少存储矩阵的行数,增加列数,可以减少刷新周期●刷新地址由刷新地址计数器产生,而不是CPU发出,位数与存储芯片的行数有关●每个刷新周期内,刷新地址计数器从0到最大值循环遍历一次●刷新时DRAM不能响应CPU访问,称为死时间●刷新方式由于CPU和内存刷新控制器存在内存争用问题,由不同的解决方案决定了不同的刷新方式●集中刷新●最大刷新周期:2ms●在数据丢失之前集中刷新所有行,即一个最大刷新周期的时间的最后部分全部用于刷新,其余时间用于读写●存在死区(集中刷新的区段CPU长时间无法访问),用于实时要求不高的场合●分散刷新●最大刷新周期:2ms●一次读写操作后紧跟着一个刷新操作,一个读写+刷新操作被称作一个存储周期●刷新次数过多,浪费了时间,用于低速系统●异步刷新(最常用)●最大刷新周期:2ms●各刷新周期分散地安排在一个最大刷新周期中●假设存储矩阵有有128行,每隔2ms/128=15.5微秒刷新一行,将128次刷新分散●主存系统1.主存特征●基本结构●空间逻辑上可以看作一个一维数组,每个数组元素存储一个m位的数据单元,主存地址就是数组的下标索引●硬件结构由存储体(DRAM)和外围电路(包括译码器、数据寄存器和读写控制电路构成)●存储体有2^n个m位的存储单元●地址译码器接受来自CPU的n位地址信号,转换成2^n根地址译码信号,其中每根译码信号都连接一个存储单元,2^n个译码信号中有且只有一个信号有效●数据暂存器暂存CPU送来写入的数据或主存读出的数据●读写控制电路接受CPU的读写控制信号,决定存储器的读写模式●数据存放●存储字长主存中每个存储单元存储的位数●数据字长(字长)计算机一次能处理的二进制位数,存储字长和数据字长不一定相同●地址访问模式存储字长都是字节(8-bit)的整倍数,通常按字节编址●字节地址(8位)●半字地址(16位)●字地址(32位)●小端(Little-Endian)存储数字中低位先存(在地位内存),大端存储与之相反●边界对齐●跨n个字节地址的变量访问需要消耗n个存取周期●对齐后访问速度高,不对齐节约主存空间2.主存的组织与CPU连接●存储器扩展左侧是4片2K x 2位的字长扩展右侧是4片8K x 8位的字数扩展●位扩展(DBUS,字长扩展/数据总线扩展)适用于存储芯片的数据总线位宽小于CPU数据总线位宽●各芯片同时并行工作●字扩展(ABUS,字数扩展/容量扩展/地址总线扩展)适用于存储芯片的单元字长小于要求的存储单元字长●CPU给出地址后,经译码器片选后,同一时刻只有一个芯片在工作●综合扩展●考察重点●根据要求对存储器的组合●不同存储器之间的关系(串联OR并联/多合一OR一分多)3.并行主存系统●SDRAM(同步DRAM,Sync Dynamic Random Access Memory)●普通DRAM的访问过程是CPU给出地址和控制信号 -> 经过存取时间后完成操作,存取时间内CPU只能等待●同步DRAM与CPU的数据交换时钟信号同步,不需要等待●DDR(Double Data Rate)SDRAM●在时钟周期的上/下沿各进行两次数据传输●DDRn代表2^n路总线,提升总带宽●双端口存储器双端口存储器有两组相互独立的端口,分别可独立地进行读写操作●两个端口地址不同时,不会发生冲突,可以并行读写●两个端口地址相同时,发生冲突●每个端口有一个阻塞标志BUSY,置0时表示阻塞,置1表示复位●冲突发生时由逻辑判断哪个端口优先操作,并将另一个端口置0,优先端口操作完成后再复位另一个端口,继续操作●多通道内存技术组织方式与存储扩展中的字长扩展方式一致(并联)●单体多字存储器(联动模式)多个存储模块共享地址总线,因此读取一个地址时可以并行读取到多个模块中同一地址的单元,从而实现在一个周期内访问多个存储字,m个存储模块可以提升m倍带宽●所有存储模块同步并发,共用同一个地址寄存器●单存储周期访问多个存储字,数据线为合并结果●性能线性增长,总线位宽变换●要求内存的容量、频率、时许完全一致●多体多字存储器(非联动模式)两个模块之间通过独立的片选信号、地址总线和读写控制线,数据总线也彼此独立,因此两根内存不需要同步,但仍是并发工作●多体单字存储器(多体交叉存储器/编址方式)由多个容量、存取速度相同的存储模块构成,但彼此之间不是并发运行,根据其编址方式的不同进行分类(把地址中哪一部分交给选片器)●高位多体交叉(顺序编址)●多模块串行,相邻地址在同一存储体内先顺着编完一个模块,再编下一个模块●可以扩充容量,但由于程序具有局部性和连续性的特点,往往会导致一个存储体访问频繁而其他存储器空闲●方便故障隔离,无性能提升●低位多体交叉(交叉编址)●多模块流水并行,相邻地址在不同存储体中●可以扩充容量并提升性能(减少恢复时间的影响)●适合突发的顺序访问,是带cache的主存(SDRAM和多通道内存)编址模式●考察重点:不同编址方式下的带宽计算(时间)●存储周期公式:T=nt●T=存储模块的存储周期●n=交叉模块数(通常为2的幂次方)●t=总线的反应时间/存储体切换时间●顺序编址读写时间:t总=nT●T=存储周期●n=读写的存储字个数●交叉编址读写:t总=T+(n-1)t●T=存储周期●n=读写的存储字个数●t=最短反应时间●带宽:W=B*n/t总●B=总线位宽度●n=读写的存储字个数●t总=读写总时间4.高速缓冲存储器(cache)SRAM相比DRAM速度更快,但容量小、功耗大、价格高,可用于缓冲(cache),缓解主存与CPU之间的性能差异,推而广之,一切有性能差异的地方都可以有cache●cache 工作原理●根据SRAM中cache块的大小,将主存进行分块(块大小与cache块大小相同),并对主存块进行编号●使用cache的理论依据:程序局部性在一段时间内,整个程序的执行仅限于程序中的某一部分,而执行程序所需的指令也仅限于某个存储区域●时间局部性(反复调用)当程序访问一个存储位置时,该程序在未来可能被多次访问(如循环体)●空间局部性(连续存放)一旦程序访问了某个存储单元,其临近的存储单元大概率也即将被访问(代码、数组等数据在主存中均按顺序存放)●cache 读操作流程●CPU接受要读取的地址,解码并在cache中查找地址●如果命中,则根据地址读出cache中数据并返回CPU●如果缺失,则为缺失的数据分配cache块(可能发生块替换),载入内容并更新cache,然后再读取数据返回CPU●cache 写操作流程●CPU接受地址,解码并在cache中寻找对应地址●若查找命中,则直接进行数据写入;若查找缺失,则根据是否采用写分配法进行下一步操作●写分配法(Write-Allocate)需要先将数据块载入cache,重新进行写命中流程●非写分配法则直接将数据写入主存●在写命中后,将数据写入到cache中●若采用写回(Write-Back, WB)策略,则将该cache行的修改位(脏位,Dirty Bit)置为1,并在该cache块被替换时才会将修改写入主存●若采用写穿(Write-Through, WT)策略(又称直写法),当写命中时,同时修改cache和主存中的同一数据块多CPU/多核系统下,各CPU都有自己的cache,因此这种情况下写穿法无法保证其他CPU中cache的同步更新●cache 相关术语●数据命中(Hit)CPU访问的数据在cache中找到●命中访问时间 tc命中时数据访问所需的时间,包括查找时间和cache访问时间●数据缺失(Miss)CPU访问的数据不能在cache中找到●缺失补偿(Miss Penalty)数据缺失时访问所需时间,包括查找时间、主存访问时间和cache访问时间,其中主存访问时间占大头,通常用tm表示●数据块(Block)cache和主存都被分为若干固定大小的数据块(cache和主存中块大小相同),每个块包含若干字(节),以块为单位交换数据,这也是一种预读策略●进行分块后,主存和cache地址都可以用块地址(序号):块内偏移地址(偏移字节数)的二维地址空间进行描述●命中率(Hit Ratio)h=Nc/(Nc+Nm)某程序运行期间,命中cache的次数比上访问主存的总次数●缺失率(Miss Ratio)1-命中率●平均访问时间 ta = htc + (1-h)tm●访问效率 e = tc/ta●各种因素间的关系●cache 命中率与容量的关系●块容量与命中率的关系空间局部性越好,时间局部性越差●地址映射方式与命中率的关系●cache 行/槽(Line/Slot)将一个cache数据块和相关的标记标志信息合称一个cache行●cache 关键技术●数据查找(Data Identification)如何快速判断数据是否在cache中●全相联映射中使用相联存储器(Content Addressable Memory, CAM)实现快速查找●CAM是一种直接按内容进行访问(输入的不是地址而是要查询的key)的存储器,用于存放查找表,其基本存储数据单元是键值对●硬件成本高(比较器多),通常用于存放查找表/全相联cache●存储容量=查找表容量=表项数*表项大小cache中用于存放块表,虚拟存储器中用于存放段/页表●CPU片内缓存●查找表与缓存副本一体●存放cache行(有效位+主存块序号+数据块副本)●片外缓存/片内查找表●查找表与缓存副本分离●只存放查找信息(有效位+主存块序号+cache块地址)●读逻辑实现●Valid位用于判定当前键值对是否有效(若无效直接不输出)●所有存储单元中的Key要与输入的关键字进行并发比较,有n个存储单元就有n个比较器●所有比较器的输出结果取或,输出为Hit结果●将每个比较器的输出结果输入三态门控制端,若Hit成功则输出对应Value●地址映射(Address Mapping)如何将主存数据放入cache行中●全相联(Full Associative Mapping)映射全相联模式下,主存中每一个数据块都可以放入cache中的任意数据块(任意行)中●新的主存数据块可以载入cache中的任意一个空行,只有cache满时才会进行替换,因此利用率最高,但需要CAM提供的快速查找功能,查找成本较高●优点:映射灵活,cache利用率高,冲突率低,命中率高●缺点:淘汰算法复杂,查找成本高●主存地址分为主存块地址/序号(tag,长度为s)和块内偏移量(offset,长度为w)两部分●cache块(数据块副本)应与主存中数据块大小相同,即容纳偏移量最大值数量的字节数,因此cache块大小为2^w字节●主存容量对应为2^(s+w)字节●所有cache行的实际容量为 n*(1+s+8*2^w)位●n:cache行数●1:每行有效位●s:每行tag部分(主存块序号)●8*2^w:数据块容量从字节转换成位●逻辑硬件实现假设cache块大小为4W(=4*16Bit),共8行主存按字访问,地址长度为9位,采用全相联映射●块大小为4W,且读取单位是字(W),则偏移地址为0~4,则w=2●tag部分由于地址总长度为9位,则s=9-2=7●其后过程与CAM类似,只是需要使用偏移地址选择最后的输出●查找表和数据块副本分开存放,用相联存储器连接●直接相联(Direct Mapping)直接相联模式下,每一个(类)主存块地址(序号)只能映射到cache中固定的行●映射规则:cache块号 i = 主存块号 j mod (cache行数 n)上述规则等价于将主存按cache总大小进行分区,每个分区中包含的数据块数量与cache行数相同,每个分区中的数据块只能填入对应序号的cache行中●主存地址可以细分为区地址(tag)、区内行索引(index)和偏移地址(offset)三部分●tag字段表示主存中分区的序号(查找标记)●index字段表示当前分区下cache行的序号●offset与全关联相同●cache的实际容量为n*(1+s-r+8*2^w)位●s是块地址总长度,r是行索引长度,s-r是区地址长度(直接相连cache只用存储区地址用于查询)●硬件逻辑实现●由于主存块只能放置在index对应的cache行中,因此不需要全相联查找,也不需要将查找表放在CAM中,直接通过index就可以访问对应数据●结构中没有相联存储器,所有cache行共用一个比较器●查找表和数据副本一起存放,无需相联存储器●优点是映射速度快,查找成本低,替换算法简单;缺点是命中率低,易冲突导致cache利用率低●组相联(Set Associative Mapping)组相联映射是将直接相联映射和全相联映射两种方式的折中,既能提高命中率,又能降低查找硬件的开销●k-路组相联将cache分成固定大小的组,每组有k行●主存数据块首先采用直接相联映射的方式定位到cache中固定的组,映射规则为cache组号 = 主存块号 mod (cache组数)等价于把k组cache块看成一个数据块进行映射,其中具体某一块的映射则由完全映射决定●然后采用全相联映射到组内任何一个cache行●主存地址可以分为标记字段(tag),组索引(index)和块内偏移(offset)三部分●tag字段与直接相联中分区序号类似●index字段是cache组的索引,即映射规则中得到的余数●cache的实际容量为 kn*(1+s-d+8*2^w)位●k为k路中的每组行数●n为cache组数●s-d是标记位长度●逻辑硬件实现●直接相联映射让数据查找的范围快速缩小到一个cache组,大大减少了查找范围,降低了硬件开销;组内采取全相联映射规则,避免了高冲突率,提高了cache的命中率●k路组相联只需要k个并发比较器●大容量cache可采用直接映射方式(cache够大可以提升命中率),小容量cache一般采用全相联映射或组相联映射●替换策略(Placement Policy)cache满后如何处理●先进先出法(FIFO)●最近不经常使用方法(LFU,Least Frequent Used)每行设置一个计数器,统计自处理器启动以来每个cache行的调用次数,当需要替换时替换掉调用次数最少的行。