DRAM集中刷新,分散刷新,异步刷新的区别

简介: DRAM集中刷新,分散刷新,异步刷新的区别

为什么DRAM需要刷新

DRAM(Dynamic Random Access Memory)即动态RAM,是我们熟知的内存,用在手机,电脑等设备当中用于存储数据与指令.通常所讲的RAM即指DRAM.DRAM由晶体管和小容电容存储单元组成。每个存储单元都有一小的蚀刻晶体管,这个晶体管通过小电容的电荷保持存储状态,即开和关。电容类似于小型充电电池。它可以用电压充电以代表1,放电后代表0,但是被充电的电容会因放电而丢掉电荷,所以它们必须由一新电荷持续地"刷新"。

接下来的例子我们以一个16K*1位的芯片来进行讲解.

16K->214=(27)2=(128×128)B,故该芯片有128*128根行线与列选择线.

而对DRAM刷新的方法是一次刷新完整的一行,即我们一共需要刷新128次共128行.

DRAM最大刷新周期:2ms,8ms,16ms等(DRAM在这些时间内会丢失电容,所以必须刷新).

我们假设最大刷新周期为2ms,即在间隔2ms的时间内,这128行必须全部刷新完毕,并设定存储周期为0.5us(即这0.5us将进行数据的读/写或一行的刷新)

集中刷新

集中刷新顾名思义,即在某一个时间段集中对这写行进行刷新.

首先我们计算出对128行刷新所需要的时间:

128*0.5us=64us(集中刷新时间)

2ms-64us=1936us(正常进行读写或维持电容内数据有效的时间)

故由于有着64us的时间需要对电容进行刷新,因此这一段时间称为"死区",即这段时间内CPU无法对DRAM进行访问.

优点:结构简单,实现简单

缺点:由于死区时间的导致,CPU在这段时间内无法进行大部分的工作,这是由于CPU所需要的部分指令是需要从内存中取得的

分散刷新

分散刷新的含义即对每一行进行独立的刷新,其实现方法为:

对于该行,前0.5us进行数据正常的存取,后0.5us进行该行的刷新,因此由于这一特性,使得DRAM的存储周期变为了1us(0.5+0.5),即128行将会在128us内完成全部的刷新,在2ms的时间内这128行将会被刷新2000/128=15.6次.

优点:无死区,不会导致CPU的空转

缺点:存储周期翻倍,CPU效率降低,且由于刷新时间间隔内会多次的对电容进行刷新,造成硬件磨损

异步刷新

异步刷新是前两种刷新的折中考虑.

对于这128行,在2ms的刷新间隔内,我们可以轻易的算出只需要每

2000/128=15.6us刷新一行即可完成2ms内对所有行的刷新,因此异步刷新也正是使用这思路.

即在这15.6us中,只会剩余0.5us用于最后对行的刷新,其余时间用于对存储单元进行数据访问.

如果将DRAM的刷新安排在CPU对指令的译码阶段,由于这个阶段CPU不访问存储器,所以这种方案既克服了分散刷新需独占0.5μs用于刷新,使存取周期加长且降低系统速度的缺点,又不会出现集中刷新的访存“死区”问题,从根本上上提高了整机的工作效率。

目前大部分使用的刷新方法都是这种

优点:不会过度刷新且没有死区

例题讲解


相关文章
|
编译器 芯片
字扩展与位扩展
字扩展与位扩展
357 0
|
C语言
C语言入门——printf(““)左对齐与右对齐问题
C语言入门——printf(““)左对齐与右对齐问题
1492 0
C语言入门——printf(““)左对齐与右对齐问题
IEEE 754规格化浮点数所能表示的最大值和最小值
IEEE 754规格化浮点数所能表示的最大值和最小值
4284 1
IEEE 754规格化浮点数所能表示的最大值和最小值
|
数据采集 自然语言处理 搜索推荐
图文详解 DFS 和 BFS | 算法必看系列知识二十四
深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath First Search)是图论中两种非常重要的算法,生产上广泛用于拓扑排序,寻路(走迷宫),搜索引擎,爬虫等,也频繁出现在高频面试题中。
35676 6
图文详解 DFS 和 BFS | 算法必看系列知识二十四
|
9月前
|
机器学习/深度学习 人工智能 监控
AI视频监控技术的核心优势与实践
AI视频监控技术结合了计算机视觉、深度学习和大数据分析,能够实时分析监控画面,识别异常行为和场景变化。其核心在于从“被动记录”转型为“主动识别”,提升监控效率并减少安全隐患。主要应用场景包括泳池管理、健身器械区域、人员密度预警和异常事件检测。系统架构支持多种摄像头设备,采用边缘计算和Docker部署,具备实时性、高准确率和扩展性等优势。未来将优化复杂场景适应性和实时计算负载,进一步提高系统性能。
2125 7
|
存储 芯片 内存技术
ROM和RAM的工作原理(DRAM和DROM)以及DRAM的刷新方法
ROM和RAM的工作原理(DRAM和DROM)以及DRAM的刷新方法
2360 2
|
10月前
|
负载均衡 监控 网络协议
OSPF中的度量值(Metric)设置:原理与应用
OSPF中的度量值(Metric)设置:原理与应用
1089 2
|
机器学习/深度学习 算法
深度学习之因果发现算法
基于深度学习的因果发现算法是一个旨在从复杂数据中自动挖掘变量之间潜在因果关系的研究领域。它结合了传统因果推理方法与深度学习的强大特征提取能力,帮助应对高维、非线性数据中的因果结构发现。
817 9
|
网络协议 Java
一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
这篇文章全面讲解了基于Socket的TCP网络编程,包括Socket基本概念、TCP编程步骤、客户端和服务端的通信过程,并通过具体代码示例展示了客户端与服务端之间的数据通信。同时,还提供了多个案例分析,如客户端发送信息给服务端、客户端发送文件给服务端以及服务端保存文件并返回确认信息给客户端的场景。
一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
|
JavaScript 前端开发 API
使用Python和Vue构建多用户协作平台的终极指南
【4月更文挑战第11天】本指南介绍了如何使用Python和Vue.js构建多用户协作平台。首先确保安装Node.js、Python 3.x、pip和git。使用Flask搭建后端,设计RESTful API实现用户注册、登录等功能。前端利用Vue.js创建组件,结合Vuex和Vue Router处理状态管理和页面路由。通过Axios与后端通信,实现用户交互和数据同步。完成后进行测试,用Docker容器化应用并选择云服务部署。随着需求和技术发展,持续迭代和完善平台。
374 0

热门文章

最新文章