学习笔记|计算机组成原理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-001111111111第一组芯片,之后同理,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
  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 处理器的基本结构 处理器是计算机中最重要的组成部分之一,它负责执行指令、存储和处理数据。处理器的基本结构包括运算器、控制器、寄存器、存储器和总线。 - 运算器:负责执行算术和逻辑运算,包括加法、减法、乘法、除法、与、或、非等操作。 - 控制器:负责管理指令的执行顺序和处理器的操作模式,包括指令译码、指令执行、分支控制、中断处理等。 - 寄存器:处理器内部的一种高速存储器,用于暂时存储指令和数据。常见的寄存器包括累加器、程序计数器、指令寄存器等。 - 存储器:计算机用于存储程序和数据的设备,包括内存、硬盘、U盘等。 - 总线:计算机内部各个组成部分之间传输数据和指令的通道,包括地址总线、数据总线和控制总线。 2. 处理器的指令集和编程模型 处理器的指令集是处理器能够执行的操作的集合,包括算术操作、逻辑操作、传输操作等。不同的处理器有不同的指令集,例如x86指令集、ARM指令集等。 编程模型是指程序员在编写程序时所使用的抽象模型,它描述了程序员如何使用处理器的指令集来编写程序。常见的编程模型包括传统的CISC模型和现代的RISC模型。 3. 处理器的性能指标 处理器的性能指标包括时钟频率、IPC、吞吐量和延迟等。 - 时钟频率:处理器内部时钟的运行频率,通常以GHz为单位。 - IPC(Instructions Per Cycle):每个时钟周期内处理器执行的指令数量。 - 吞吐量:单位时间内处理器能够执行的指令数量。 - 延迟:指令从发出到执行完成所需要的时间。 4. 处理器的发展历程 处理器的发展历程经历了从单核心到多核心的演变,以及从CISC模型到RISC模型的转变。 - 单核心处理器:早期的计算机使用单核心处理器,处理器的性能主要依赖于时钟频率的提升。 - 多核心处理器:随着计算机应用的发展,多核心处理器逐渐被引入计算机中,可以同时执行多个任务,提高了计算机的并行处理能力。 - RISC模型:在处理器的指令集设计上,RISC模型强调简洁、规范的指令集,使得处理器的设计更加高效,提高了处理器的性能。 5. 处理器的未来发展方向 处理器的未来发展主要集中在以下几个方向: - 集成度的提高:将更多的处理器核心、缓存、内存控制器等集成到处理器中,提高处理器的性能。 - 异构计算:在处理器中引入异构计算单元,例如GPU、FPGA等,提高处理器的计算能力。 - 量子计算:引入量子计算的技术,实现更高效的计算处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值