操作系统基础知识介绍之内存技术和优化(一)(包含SRAM和DRAM、SDRAM、GDRAMs)

news2024/12/29 9:08:28

使用 SRAM 可以满足最小化高速缓存访​​问时间的需要。 然而,当缓存未命中时,我们需要尽快将数据从主存中移出,这就需要高带宽内存。 这种高内存带宽可以通过将构成主内存的许多 DRAM 芯片组织成多个内存条并使内存总线更宽来实现,或者两者兼而有之。

高带宽内存是一种利用3D堆栈工艺将多个DRAM芯片垂直堆叠在一起的内存技术,可以提供高达1TB/s的带宽,适用于高性能计算、人工智能、图形处理等领域。高带宽内存与传统的DDR内存相比,具有以下优势:

体积更小,可以节省空间和成本。
能耗更低,每比特功耗只有DDR的一半左右。
带宽更高,可以满足大数据和并行计算的需求。
兼容性更好,可以与不同类型的处理器配合使用。

ps:DDR是一种内存技术,全称为双倍速率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random Access Memory)。它的特点是在每个时钟周期内能够传输两次数据,从而提高了内存的数据传输率。DDR主要用于个人电脑和服务器等设备的内存条,也有一些低功耗的版本用于移动设备。

随着现在广泛用于闪存和 DRAM 中的突发传输存储器的引入,存储器延迟使用两种度量来引用——访问时间和循环时间。 访问时间是请求读取和所需字到达之间的时间,循环时间是不相关的内存请求之间的最短时间。

可以这样理解访问时间和循环时间的区别:访问时间是从发出请求到收到响应所花费的总时长,循环时间是从发出请求到可以发出下一个请求所花费的总时长。访问时间和循环时间都取决于内存的结构、工作方式和时钟频率等因素。一般来说,访问时间越短,循环时间越短,内存性能越好。

几乎所有计算机都将 DRAM 用作主存储器,将 SRAM 用作高速缓存,其中一到三层与 CPU 一起集成到处理器芯片上。 

SRAM

SRAM是一种内存技术,全称为静态随机存取存储器(Static Random Access Memory)。它的特点是利用触发器(flip-flop)来存储每个数据位,只要有电源供应,就可以保持数据不变,不需要刷新。因此,SRAM的速度比DRAM(动态随机存取存储器)快,功耗也低。但是,SRAM的缺点是每个数据位需要多个晶体管来实现,导致芯片的容量较小,成本也较高。SRAM主要用于CPU的高速缓存(如L1、L2、L3缓存),以及一些特殊的设备和应用。

DRAM 中电路的动态特性要求数据在读取后写回——因此访问时间和循环时间之间存在差异,并且需要刷新。 SRAM 不需要刷新,因此访问时间非常接近循环时间。 SRAM 通常每位使用六个晶体管,以防止信息在读取时受到干扰。 SRAM 仅需极少的电量即可在待机模式下保持电量。

片上高速缓存 SRAM 通常按与高速缓存块大小相匹配的宽度组织,标签与每个块并行存储。 这允许将整个块读出或写入单个周期。 当将未命中后获取的数据写入缓存或写回必须从缓存中逐出的块时,此功能特别有用。 缓存的访问时间(忽略集合关联缓存中的命中检测和选择)与缓存中的块数成正比,而能量消耗取决于缓存中的位数(静态功率)和 块数(动态功率)。 设置关联缓存减少了对内存的初始访问时间,因为内存的大小更小,但增加了命中检测和块选择的时间。

DRAM

DRAM是一种内存技术(Dynamic Random Access Memory)。它的特点是利用电容器来存储每个数据位,但是电容器会漏电,所以需要定期刷新,才能保持数据不变。因此,DRAM的速度比SRAM(静态随机存取存储器)慢,功耗也高。但是,DRAM的优点是每个数据位只需要一个晶体管和一个电容器来实现,导致芯片的容量较大,成本也较低。DRAM主要用于计算机的主存储器,以及一些特殊的设备和应用。

DRAM有不同的类型,如SDRAM(同步动态随机存取存储器),DDR SDRAM(双倍速率同步动态随机存取存储器),RDRAM(Rambus动态随机存取存储器),FPM DRAM(快速页模式动态随机存取存储器),EDO DRAM(扩展数据输出动态随机存取存储器)等。

现代 DRAM 是按库组织的,DDR4 最多有 16 个。每个bank由一系列行组成。发送 ACT(激活)命令打开一个存储体和一行并将该行加载到行缓冲区中。当行在缓冲区中时,它可以通过连续的列地址在任何 DRAM 的宽度(在 DDR4 中通常为 4、8 或 16 位)或通过指定块传输和起始地址来传输。 Precharge 命令 (PRE) 关闭 bank 和 row 并准备好进行新的访问。每个命令以及块传输都与时钟同步。 

随着早期 DRAM 容量的增长,具有所有必要地址线的封装的成本成为一个问题。 解决方案是多路复用地址线,从而将地址引脚的数量减半。

为了在每个芯片上封装更多位,DRAM 仅使用一个有效充当电容器的晶体管来存储位。 这有两个含义:首先,检测电荷的传感线必须预充电,这将它们设置为逻辑 0 和 1 之间的“中间”,允许存储在电池中的小电荷导致 0 或 1 被检测到读出放大器。 、

此外,为了防止由于单元中的电荷泄漏(假设未读取或写入)而丢失信息,每个位必须定期“刷新”。 因此,内存系统中的每个 DRAM 都必须在特定时间窗口(例如 64 毫秒)内访问每一行。 

这个要求意味着内存系统偶尔会不可用,因为它正在发送一个信号告诉每个芯片进行刷新。 刷新的时间是行激活和同时写回行的预充电(这大约需要 2/3 的时间来获取数据,因为不需要列选择),这对于 DRAM 的每一行都是必需的。 因为 DRAM 中的内存矩阵在概念上是正方形的,所以刷新的步数通常是 DRAM 容量的平方根。

SDRAM

SDRAM是一种内存技术(Synchronous Dynamic Random Access Memory)。它的特点是与CPU的时钟同步,可以提高数据传输的效率和速度。SDRAM的速度用MHz来表示,而不是ns2。SDRAM是一种动态随机存取存储器(DRAM),也就是说它需要定期刷新,才能保持数据不变。SDRAM 还允许添加突发传输模式,在这种模式下可以在不指定新列地址的情况下进行多次传输。 SDRAM主要用于计算机的主存储器,以及一些特殊的设备和应用。

SDRAM 引入了 bank 以帮助进行电源管理、改进访问时间并允许对不同 bank 进行交错和重叠访问。对不同 bank 的访问可以相互重叠,并且每个 bank 都有自己的行缓冲区。

为了启动新的访问,DRAM 控制器发送一个存储体和行号(在 SDRAM 中称为激活,以前称为 RAS——行选择)。 该命令打开行并将整行读入缓冲区。 然后可以发送列地址,SDRAM 可以传输一个或多个数据项,具体取决于它是单项请求还是突发请求。 在访问新行之前,必须对存储区进行预充电。 如果该行在同一组中,则可以看到预充电延迟; 但是,如果该行位于另一个存储区中,则关闭该行和预充电可能会与访问新行重叠。 在同步 DRAM 中,这些命令周期中的每一个都需要整数个时钟周期.

DRAM与SDRAM的区别

  • DRAM是动态随机访问存储器,SDRAM是同步动态随机访问存储器。DRAM利用电容器存储数据,需要定期刷新,而SDRAM是在DRAM的基础上增加了同步时钟,可以与CPU的时钟同步,提高了数据传输的效率。
  • DRAM在两个读周期之间需要等待一段时间,用于充电操作,而SDRAM一个模组有两个bank,在对一个bank充电时,可以操作另一个bank,实现流水线。
  • DRAM的传输速率较低,一般为66~133MHz,而SDRAM的传输速率较高,一般为100~200MHz。
  • DRAM的工作电压为5V或3.3V,而SDRAM的工作电压为3.3V或2.5V。

GDRAMs

GDRAMs是一种基于 SDRAM 设计的特殊 DRAM,但专为处理图形处理单元的更高带宽需求而定制。 由于图形处理器单元(GPU)需要比 CPU 更高的每个 DRAM 芯片带宽,因此 GDDR 有几个重要的区别:

1. GDDR 具有更广泛的接口:32 位与当前设计中的 4、8 或 16 位相比。

2. GDDR 在数据引脚上具有更高的最大时钟速率。 为了在不产生信号问题的情况下实现更高的传输速率,GDRAM 通常直接连接到 GPU 并通过将它们焊接到电路板上来连接,这与 DRAM 通常排列在可扩展的 DIMM 阵列中不同。

GDDR是一种内存技术,全称为图形双倍速率同步动态随机存取存储器(Graphics Double Data Rate Synchronous Dynamic Random Access Memory)。它是为了设计高端显卡而特别设计的高性能DDR存储器规格,其有专属的工作频率、时钟频率、电压,因此与市面上标准的DDR存储器有所差异,与普通DDR内存不同且不能共用。GDDR的特点是与CPU的时钟同步,可以提高数据传输的效率和速度。GDDR有不同的代数,如GDDR3,GDDR4,GDDR5,GDDR6等,代数越高,一般意味着时钟频率越高,容量越大,电压越低,性能越好。GDDR主要用于显卡的显存,以及一些特殊的设备和应用。

堆叠式 DRAM

 

2017 年 DRAM 的创新是封装创新,而不是电路创新。 它将多个 DRAM 以堆叠或相邻的方式嵌入到与处理器相同的封装中。 将 DRAM 和处理器放置在同一封装中可降低访问延迟(通过缩短 DRAM 和处理器之间的延迟)并通过允许更多 处理器和 DRAM 之间更快的连接。

该技术的一种版本使用焊料凸块技术将 DRAM 芯片直接放置在 CPU 芯片上以连接它们。 假设有足够的热管理,多个 DRAM 芯片可以以这种方式堆叠。 另一种方法仅堆叠 DRAM,并使用包含连接的基板(中介层)将它们与 CPU 紧靠在单个封装中。 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/514238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字孪生可视化开发工具在各行业中的应用

数字孪生就是指在信息化平台内模拟物理实体、流程或者系统,即打造一个现实场景的数字化孪生双胞胎。出于成本和周期考虑,快速低成本搭建数字孪生系统成为中小型企业的期望,深圳华锐视点研发的UE4数字孪生编辑器,是一种能够帮助用户…

【Shell脚本】Linux安装Nginx以及开机自启

目录 一、Linux安装Nginx脚本1、把编写好的安装Nginx脚本放置到nginx.sh文件中2、在检查网络的时候,这里的IP地址,填写的需要安装Nginx服务器的IP地址3、这里的端口号可按照自己的需要进行修改4、安装Nginx脚本 二、Nginx开机自启 一、Linux安装Nginx脚本…

API网关|JD|pinduoduoAPI接入

API网关是什么 在日常工作中,不同的场合下,我们可能听说过很多次网关这个名称,这里说的网关特指API网关(API Gataway)。字面意思是指将所有API的调用统一接入API网关层,由网关层负责接入和输出。 那么在什…

相遇于此,“相交链表”问题的两种思路

本篇博客会讲解力扣“160. 相交链表”的解题思路,这是题目链接。 老规矩,先来审题。这道题的题干有点长,简而言之,就是判断2个链表是否相交,如果相交就返回第一个相交结点,不相交就返回NULL。看看题目原文…

轻松打造完美客户服务系统,这4个关键点不容错过

客户服务对于一个企业来说非常重要,有以下几个原因: 1、建立客户忠诚度:通过提供高质量的客户服务,可以增加客户满意度和忠诚度。这将有助于企业保持竞争优势并吸引新客户。 2、提高客户满意度:客户对企业的服务感到…

MySQL 升级到 8.0 变慢问题分析

1. 背景介绍 前段时间,客户线上 MySQL 版本从 5.7.29 升级到 8.0.25。 升级完成之后,放业务请求进来,没到一分钟就开始出现慢查询,然后,慢查询越来越多,业务 SQL 出现堆积。 整个过程持续了大概一个小时&…

Java学习笔记 --- Stream流

一、体验Stream流【理解】 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合,存储多个字符串元素 把集合中所有以"张"开头的元素存储到一个新的集合 把"张"开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得到的集合 …

使用群晖NAS Mail Server搭建个性化邮件系统

准备工作 一个顶级域名可以获取公网IP的宽带路由使用DDNS功能,或使用群晖自带DDNS,解析顶级域名可以做“端口映射”的路由器 搭建开始 step1:安装套件 登录群晖NAS,打开[套件中心],搜索“mail”,安装如…

idea-easyYapi的使用

链接: EasyYapi官方文档. 网上搜到的easyYapi基本上都是千篇一律,比较浅,稍微有点定制的东西都搜不到,帮此把自己的一些心得写出来,后续有新发现也会继续更新 第一步:安装插件 第二步:配置数据 yapi的t…

运营商大数据助力贷款行业快速精准获取意向客户

流量,是企业发展的一大痛点。随着市场格局不断变化,获取流量越来越成为企业摆脱发展困局的一种重要途径,如何在庞大的市场竞争中,实现自身的流量突破,也成为企业所要解决的首要问题。 贷款行业的竞争也很强烈&#xf…

一文总结MySQL面试知识点

文章目录 知识点1 定位慢查询2 存储引擎3 索引4 SQL优化5 事务6 主从同步7 分库分表 问答题1 如何定位慢查询2 那这个SQL语句执行很慢, 如何分析呢?3 MYSQL支持的存储引擎有哪些, 有什么区别 ?4 了解过索引吗?(什么是索引)5 索引…

录取分数爆降102分,只招一个人也敢报考的狠人!

本期为大家整理热门院校-“华南理工大学”的择校分析,这个择校分析专题会为大家结合:初试复试占比、复试录取规则(是否公平)、往年录取录取名单、招生人数、分数线、专业课难度等进行分析。希望能够帮到大家! –所有数据来源于研…

排班工具小程序开源版开发

排班工具小程序开源版开发 以下是排班工具小程序可能包含的功能列表: 用户注册和登录功能,支持微信登录和手机号登录。排班管理功能,包括创建、编辑、删除和查询排班表。排班表展示功能,支持按天、周、月等不同时间维度展示排班…

Apache DolphinScheduler 开源之夏学生项目申请开启,6 大课题等你来拿万元奖金!

开源之夏 2023 学生报名已经正式开启!Apache DolphinScheduler 今年继续参与开源之夏的活动,2023 年 4 月 29 日-6 月 3 日 15:00 UTC8,同学们可以在开源之夏官网 https://summer-ospp.ac.cn/ 找到 Apache DolphinScheduler 下的项目&#xf…

i春秋 Misc Web 爆破-2

审计一下代码,和爆破-1的区别是,没有了正则匹配,且可变变量$$a变成了普通变量$a; 尝试像爆破-1那样传入超全局变量$GLOBALS 根据回显,我们发现flag不在变量中(它还嘲笑我们“too young too simple”太年轻…

后端注册表单验证器实现

视图函数在去注册用户之前需要进行验证,表单验证需要先下载 flask-wtf 在终端执行: pip install flask-wtf新建forms.py import wtforms from wtforms.validators import Email,Length,EqualTo from models import UserModel,EmailCaptchaModel# Form…

详细的步骤在VirtualBox 上安装 CentOS 7

下面是详细的步骤来安装 CentOS 7 在 VirtualBox 上: 下载 CentOS 7 ISO 镜像文件: 前往 CentOS 官方网站的镜像下载页面:Download在页面上找到适合你系统架构的 CentOS 7 ISO 镜像文件,并下载到本地。 安装 VirtualBox&#x…

为什么大部分企业都选择加密软件来防止数据泄露?

加密软件是使用加密算法对数据或信息进行编码转换的软件,目的是防止未授权访问与保护敏感内容。它是实现加密技术的重要手段,为用户提供了简单易用的加解密功能,无需深入了解复杂的数学原理。 加密软件使用的加密算法通常采用对称与非对称算法…

16 KVM虚拟机配置-其他常见配置项

文章目录 16 KVM虚拟机配置-其他常见配置项16.1 概述16.2 元素介绍16.3 配置示例 16 KVM虚拟机配置-其他常见配置项 16.1 概述 除系统资源和虚拟设备外,XML配置文件还需要配置一些其他元素,本节介绍这些元素的配置方法。 16.2 元素介绍 iothreads&…

干货丨手把手教会群晖Mailplus设置及邮件免拒收(SPF、DMARC、DKIM)

开篇之前,我想说通过群晖 Mailplus Server 自建一个邮件服务器绝对是一个非常有成就感的事情,搭建 过程中我们可以学习到邮件服务使用的协议,端口号,MX解析等很多知识。如果你已经准备好,那就让 我们开始吧。 前期准备…