学习笔记|计算机组成原理3-存储器 教材:《计算机组成原理》第二版 作者:唐朔飞 出版社:高等教育出版社 参考课程: 《计算机组成原理》哈尔滨工业大学 ——刘宏伟 、张丽杰 、舒燕君 、张展 、潘道华 学习笔记|计算机组成原理3-存储器 目录 学习笔记|计算机组成原理3-存储器 4.1概述 4.1.1存储器分类 4.1.2存储器层次结构 4.2主存储器 4.2.1主存储器概述 4.2.2半导体存储芯片简介 4.2.3随机存取存储器(RAM) 4.2.4只读存储器(ROM) 4.2.5存储器与CPU的连接 !!!重难点!!! 4.2.6存储器的校验 4.1概述 存储器:是计算机系统中的记忆设备,用来存放程序和数据。 存储介质:能寄存“0”和“1”两种代码并能区分两种状态的物质或件,主要有半导体件、磁性材料和光盘等。 4.1.1存储器分类 (1)按存储介质分类 半导体存储器:TTL双极型(高速 、集成度低 、MOS(主流、集成度高、制造简单、成本低廉、功耗小
(2)按存取方式分类
(3) 按在计算机中的作用分类 RAM:随机存储器/随机存取 ROM:只读存储器/只读 Flash Memory:半导体存储器
4.1.2存储器层次结构 (1)存储器三个主要特性的关系——速度、容量、价格/位 速度越高、位价越高;容量越大,位价就越低;容量越大、速度越低
(2)存储系统层次 缓存-主存层次:解决CPU和主存速度不匹配的问题,缓存速度比主存高,将cpu近期需要使用的信息调入缓存,cpu便可以直接从缓存信息,从而提高访存速度。 主存-辅存层次:解决存储系统的容量问题,辅存速度比主存低,但不能与cpu直接交换信息,但辅存容量大,所以可以将暂时用不到的信息放入辅存中,cpu需要时辅存内容调入主存,供cpu直接访问。(虚拟地址器/虚地址/逻辑地址 主地址/物理地址)
4.2主存储器 4.2.1主存储器概述 (1)主存储器的基本组成 主存储器(简称主存/内存) -包含若干存储单,每个存储单包含若干存储件,每个存储件可以寄存一位二进制代码“0、1、配置两个寄存器MAR和MDR。 -存储体 -MAR为存储器地址寄存器,用来存放欲访问的存储单的地址,位数对应存储单的个数。必须经过译码器进行译码之后,才能选定指定的存储单。 -MDR是存储器数据寄存器,用来存放从存储体某单取出的代码或者准备往某存储单存入的代码,七位数与存储字长相等。
( 2)主存和cpu的关系/数据总线 双向/地址总线 单向/控制总线 读数据:cpu将某一信息字-地址送到MAR,经地址总线送至主存,主存发出读命令,主存读出该数据送至数据总线,送到MDR 写数据:cpu将某一信息字-地址经过MAR送到地址总线,将该字送入MDR,主存发出写命令,将数据总线上的信息写入该地址线指出的主存单
(3)主存中存储单地址的分配 这里查了很多资料,但是还是有点懵,欢迎大家来纠错哇! 先修知识: 字节:一个字节等于8位,即1Byte=8bit 字:一串数码作为一个整体来处理运算,被称为一个字,字的位数称为字长,一个字通常有若干个字节。 2^10=1K 2^20=1M 地址线:存储单个数=存储容量=2^地址线条数,一个存储单占一个字节(1B 8位),所以如果一个CPU有n根地址线,那么这个cpu地址总线宽度为n,最多可以寻址2^n个内存单。 数据线:数据线确定存储字长,数据线有多少条,字长就是多少位。字长是32位 ,则1字=32bit=4B 则表明处理器一次可以处理4个存储单,指令长度为4个存储单。 大端、大尾方式:高位字节地址为字地址 小端、小尾方式:低位字节地址位字地址
按字寻址/按字节寻址讲解: 按字节寻址: 一组地址线的每个不同状态对应一个字节的地址,存储空间的最小编址单位是字节。 例如,对24位地址线的主存而言(就是有24根地址线,按字节寻址,每根线有两个状态,那么24根地址线组成的地址信号就有2^24个不同的状态,每个状态对应一个字节的地址空间的话,那么24根地址线的可寻址空间为2^24B,即16MB。 按字寻址: 一组地址线的每个不同状态对应一个字的地址,存储空间的最小编址单位是字。 一个字由若干个字节构成,所以计算机在寻址过程中会区分字里面的字节,即会给字里面的字节编址,这样就会占用部分地址线,例如有24根地址线,机器字长为16位,若按字寻址的话,16位=2个字节,需要占用一根地址线用来字内寻址,这样就剩下23根地址线,故按字寻址范围是2^23W(W是字长的意思),也就是8MB。【真正用于按字寻址的地址线只有24-1=23根】 PS:我的理解,按字寻和按字节寻址只是寻址范围的计量标准不同而引起的寻址范围数不同,本质上是一样的,就像草莓按kg算是2kg,但是按照g就是2000g。 寻址范围和地址线有关,字长和数据线有关。 左下角IBM370:字长为32位(即数据线为32根),所以cpu一次可以处理32位(4个字节)的数。 按字节寻址:地址线为24根,可以指示2^24个内存地址,所以寻址范围为0-2^24-1,寻址空间为16M。 按字寻址:一个字长为4个字节,就需要单独拿出两根地址线保存字节的地址,所以寻址范围为2^22=4M,这就是IBM370。(字里面封装了字节,为了保证每个字节都有自己的编号,必须牺牲一部分地址线来实现,例如此例子,24根地址线,字长是32位,那么每个字长有4个字节,所以需要二进制码区分四个字节的话,就需要两位例如00 01 10 11来区分四个字节,就需要两根地址线来存储字节的地址,所以真正表示字位置的地址线只有24-2=22根,所以2^22=4M) 同理右下角PDP-11机:字长为16位(即数据线为16根),所以cpu一次可以处理16位(2个字节)的数。 按字节寻址:地址线为24根,可以指示2^24个内存地址,所以寻址范围为0-2^24-1,寻址空间为16M。 按字寻址:一个字长为2个字节,需要单独拿出一根地址线保存字节的地址,所以为2^23=8M。
4)主存的技术指标 存储容量 :主存(存放二进制代码的总数)存储速度:存储时间(存储器的访问时间)/存取周期(连续两次独立的存储器操作(读/写)所需的最小间隔时间)/主存的存储速度指标中,存取时间要比存取周期要短存储器的带宽:位/秒 4.2.2半导体存储芯片简介 (1)基本结构 半导体存储芯片 由译码驱动电路、存储矩阵、读写电路、地址线、数据线、控制线、片选线组成。其中,译码驱动电路、存储矩阵、读写电路属于核心结构。 存储矩阵:用来存储0/1代码,地址线、数据线主要用来连接CPU和外部设备。现在假设CPU或者外部设备给出地址,表示要存/取的数据在存储矩阵的哪个存储单中,然后经过译码驱动电路,选择对应的存储单,从而完成存/取数据。 地址线:单向输入,位数与芯片容量有关。 数据线:双向的,位数与芯片的读出或写入的数据位数和芯片容量都有关。 ps:芯片容量=(2^地址线根数)*(数据线根数),例如地址线14根,数据线1根,则容量为(2^14)*1=16K位。 控制线:读/写控制线(决定芯片进行读/写操作)与片选线(选择存储芯片)两种。 片选线:也叫做芯片选择信号,指出这次存/取操作给出的地址是不是这个存储芯片的地址。半导体存储芯片的片选线一般有两种标识方式。
例题:一个16K×32位的存储器,其地址线和数据线的总和是46根。 解:芯片容量为16k×32位,16k=2的14次方,所以地址线14根,数据线32根,和为46根。
存储器芯片选线的作用:上图中用16K*1位的存储芯片组成64K*8位的存储器,用片选线连接上述芯片,假设访问65535(64K-1)的地址,则第四组芯片是低电平有效的,访问最后一组芯片 (2)译码驱动方式 线选法 译码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。 二进制译码器、二~十进制译码器、显示译码器 (1)二进制译码器:将每个二进制代码和一个输出端对应起来,即对应每个二进制代码,只有一个输出端为有效电平,其他输出为无效电平。
注:有三个输入线,有八根输出线,故称3线-8线译码器。3线-8线译码器的8根输出线和3位二进制代码的8种变量组合是一一对应的。对应的一个输入变量组合,只有一根输出线为有效逻辑电平,其余的输出线均为非有效输出逻辑电平。 线-8线译码器的8根输出线和3位二进制代码的8种变量组合是一一对应的。对应的一个输入变量组合,只有一根输出线为有效逻辑电平,其余的输出线均为非有效输出逻辑电平。 有效输出逻辑电平设为1(即高电平,称为高电平有效)。也可以设为0(即低电平,称为低电平有效)。
(2)二~十进制译码器:将二进制代码译成10个代表十进制数字的信号。 (3)显示译码器
如图地址译码器:四根地址线(A0-A3)输入,十六根线输出,布局呈线性的数组。 重合法 存储单布置成为二维数列,行/列地址分别进行译码,行/列地址只能有一行/列是有效的。 (假设如图所示,行/列地址导致如图两条线有效,那么只有Y0开关打开,那么数据可以进行传输) 优点:芯片集成度较高。
4.2.3随机存取存储器(RAM) (1)静态RAM/SRAM 思考问题? 保存0和1的原理是: 基本单电路的构成: 对单电路如何读出和写入: 典型芯片的结构是什么样子的: 静态RAM芯片如何进行读出和写入操作: 基本电路 T1-T4 解决了0、1存储的问题,T5、T6由两个行地址控制,从而控制读/写,T7、T8列地址(一列总开关。
读操作:六管静态RAM,左侧写放大器是经过取非之后再输出信号的。
写操作
举例:Intel 2114 RAM 矩阵(64*64) WE写允许信号,低电平为写,高电平为读 。CS信号片选信号,低电平时2114芯片会被选中。容量为1K*4位,布置为64*64的矩阵。
静态RAM芯片举例 ——Intel 2114/读时序/写时序 读时序:矩阵包括64行64列,64列分为四组,从而使四位列地址产生64个列选信号,从而控制64列,行地址为000000,第0行所有单被选中,所以每组的列地址为0000,每一组的第0列也会被选中,读操作,WE CS操作都有效,第0行第0列信号都有效。 例题:对Intel2114RAM芯片,当行地址A8-A3为000000,列地址A9、A2、A1、A0为1111,则第0行的第15、31、47、63这4个基本单电路被选中。
写时序: 矩阵包括64行64列,64列分为四组,从而使四位列地址产生64个列选信号,从而控制64列,行地址为000000,第0行所有基本单单被选中,每组的列地址为0000,每一组的第0列列开关都会打开,交叉点第一组第零行 第二组第零行···被选中有效,WE低电平CS低电平操作都有效,数据从读写电路写入每一个给定的基本单电路A端A’端,第零行第一组第零列 第二组第零列···,输入到对应的基本件中,四个件对应四个二进制数读操作。
(2)动态RAM(DRAM) 思考问题? 保存0和1的原理是: 基本单电路的构成: 对单电路如何读出和写入: 典型芯片的结构是什么样子的: 静态RAM芯片如何进行读出和写入操作: 动态RAM为什么要刷新,刷新方法: 基本单电路 保存0、1原理:利用电容,电容中保存了电荷则为1,反之为0。 左下角:三管动态RAM。 右下角:单管动态RAM。 看哈工大的4慕课《计算机组成原理》.2主存储器!!!非常详细!!!
动态RAM芯片举例——三管动态RAM芯片(Intel 1103)1K*1位 行地址中有读写信号,译码之后控制读/写操作。刷新放大器:电容会漏电,过一段时间信号会消失,所以采用刷新放大器对电容中的信息进行重现,每列都有一个刷新放大器用来形成再生信息。
动态RAM芯片举例——单管动态RAM 4116 (16K*1位)16K进行寻址14根地址线,但是芯片只有七根地址线,是因为将行地址和列地址分别进行缓存,分别译码进行读/写操作。行时钟,列时钟,写时钟控制芯片内部进行读/写操作。
4116动态RAM芯片中的读放大器的工作原理像一个撬撬板电路,通过读放大器实现,其左右两侧电平相反。
动态RAM时序
动态RAM刷新:电容会漏电,过一段时间信号会消失,所以采用刷新放大器对电容中的信息进行重现,刷新只对行地址有关,刷新一行的数据。 集中刷新:128周期专用于芯片刷新操作,cpu、I/O等无法对芯片进行操作,称为死区。
分散刷新:存储周期位1μs
分散刷新与集中刷新相结合(异步刷新)
(3)动态RAM和静态RAM的比较
4.2.4只读存储器(ROM) (1)掩模ROM(MROM)–厂家直接写入数据,用户不能修改 行列选择线交叉处有MOS管为“1” 行列选择线交叉处无MOS管为“0”
(2)PROM(一次性编程)–破坏性编程
(3)EPROM(多次性编程) N型沟道浮动栅MOS电路
2716RPROM的逻辑图和引脚
(4)EEPROM(多次性编程) 电可擦写局部擦写全部擦写 (5)FLASH Memeory(闪速性存储器) EPROM 价格便宜 集成度高EEPROM 电可擦洗重写比EEPROM快 具备RAM功能 4.2.5存储器与CPU的连接 !!!重难点!!! (1)存储器容量的扩展 位扩展(增加存储字长) 两芯片的片选按照相同的方式进行连接在一起,才能保证两个芯片作为一个芯片进行使用!若片选信号有效,两芯片同时被选中,有读/写信号,会从两个芯片内相同的地址单各读出四位数据信息放入八条数据线上。
字扩展(增加存储字的数量)–2片 A0-A9地址线,D0-D7数据线,但是两个芯片不能同时工作,否则引起数据混乱,所以需要将它分为两个1K*8位的存储空间,A10=0,选择第一个芯片,否则选择第二个芯片,A10就是片选线。
字、位扩展–8片 需要四组1K*8位的芯片,两个数据线一组分别和下面数据线D0-D7连接,这样一组就是1K*8位的芯片,我们将第一个1K存储空间给第一组芯片,即000000000000-00第一组芯片,之后同理,A0-A11中A0A11作为片选线,00开头选择第一组芯片,01 10 11依次向后,译码器进行译码,是否为低电平,选择Y0/Y1/Y3/Y4。
(2)存储器与CPU的连接 地址线的连接数据线的连接读/写命令线的连接片选线的连接!合理选择存储芯片其他 时序、负载 例题:
4.2.6存储器的校验 编码的检测能力和纠错能力与任意两组合法代码之间二进制位的最少差异数有关。
(1)编码的最小距离 任何两组合代码之间:二进制数的最少差异 。编码的纠错、检错能力与编码的最小距离有关。
(2)汉明码的组成
组成汉明码的三要素 汉明码的组成需要几位检测位 2^n>=n+k+1检测位的位置 2^i(i=0,1,2,3,4······)检测位的取值 检测位的取值与该位所在的检测“小组”承担的奇偶校验任务有关/一般使用偶校验,即1的个数位偶数个
例题: 求0101按“偶校验”配置的汉明码
(3)汉明码的纠错过程
4.2.7提高访存速度的措施 采用高速器件采用层次结构Cache—主存调整主存结构 (1)单体多字系统:一个四体并行低位交叉存储器,每个模块的容量是64K*32位,存取周期为200ns,在200ns内,存储器能向CPU提供128位二进制信息。采用单体多字系统提高访存速度办法的前提是,指令和数据在主存内必须是连续存放的,一旦遇到转移指令、或者操作数不能连续存放,这种方法的效果就不明显。
(2)多体并行系统 高位交叉 顺序编址–高位交叉编址的存储器能够提高访存速度的原因是各个体分别响应不同请求源的请求,实现多体并行。
低位交叉 各个体轮流编址
特点
存储器控制部件(简称存控)
(3)高性能存储芯片 SDRAM(同步DROM)–在系统时钟的控制下进行读出和写入、CPU无需等待RDRAM带Cache的DRAM
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/86737.html