SRAM和SDRAM的区别

2023-11-10

DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有页模式。
SRAM
,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且,一般不是行列地址复用的。 SDRAM,同步的DRAM,即数据的读写需要时钟来同步。 DRAMSDRAM由于实现工艺问题,容量较SRAM大。但是读写速度不如SRAM,但是现在,SDRAM的速度也已经很快了,时钟好像已经有150兆的了。那么就是读写周期小于10ns了。SDRAM虽然工作频率高,但是实际吞吐率要打折扣。以PC133为例,它的时钟周期是7.5ns,当CAS latency=2 时,它需要12个周期完成8个突发读操作,10个周期完成8个突发写操作。不过,如果以交替方式访问BankSDRAM可以在每个周期完成一个读写操作(当然除去刷新操作)。其实现在的主流高速存储器是SSRAM(同步SRAM)和SDRAM(同步DRAM)。目前可以方便买到的SSRAM最大容量是8Mb/片,最大工作速度是166MHz;可以方便买到的SDRAM最大容量是128Mb/片,最大工作速度是133MHz


SRAM
Static Random Access Memory的缩写,中文含义为静态随机访问存储器,它是一种类型的半导体存储器。静态是指只要不掉电,存储在SRAM中的数据就不会丢失。这一点与动态RAMDRAM)不同,DRAM需要进行周期性的刷新操作。然后,我们不应将SRAM与只读存储器(ROM)和Flash Memory相混淆,因为SRAM是一种易失性存储器,它只有在电源保持连续供应的情况下才能够保持数据。随机访问是指存储器的内容可以以任何顺序访问,而不管前一次访问的是哪一个位置。


SRAM
中的每一位均存储在四个晶体管当中,这四个晶体管组成了两个交叉耦合反向器。这个存储单元具有两个稳定状态,通常表示为01。另外还需要两个访问晶体管用于控制读或写操作过程中存储单元的访问。因此,一个存储位通常需要六个MOSFET。对称的电路结构使得SRAM的访问速度要快于DRAMSRAMDRAM访问速度快的另外一个原因是SRAM可以一次接收所有的地址位,而DRAM则使用行地址和列地址复用的结构。


SRAM
不应该与SDRAM相混淆,SDRAM代表的是同步DRAMSynchronous DRAM),这与SRAM是完全不同的。SRAM也不应该与PSRAM相混淆,PSRAM是一种伪装成SRAMDRAM


从晶体管的类型分,SRAM可以分为双极性与CMOS两种。从功能上分,SRAM可以分为异步SRAM和同步SRAMSSRAM)。异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。同步SRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。


DRAM
:动态随机存取存储器,需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有页模式


SRAM
:静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且,一般不是行列地址复用的。


SDRAM:同步的DRAM,即数据的读写需要时钟来同步。主要是存储单元结构不同导致了容量的不同。一个DRAM存储单元大约需要一个晶体管和一个电容(不包括行读出放大器等),而一个SRAM存储单元大约需要六个晶体管。DRAMSDRAM由于实现工艺问题,容量较SRAM大,但是读写速度不如SRAM一个是静态的,一个是动态的,静态的是用的双稳态触发器来保存信息,而动态的是用电子,要不时的刷新来保持。
内存(即随机存贮器RAM)可分为静态随机存储器SRAM,和动态随机存储器DRAM两种。我们经常说的内存是指DRAM。而SRAM大家却接触的很少。

SRAM
其实是一种非常重要的存储器,它的用途广泛。SRAM的速度非常快,在快速读取和刷新时能够保

持数据完整性。SRAM内部采用的是双稳态电路的形式来存储数据。所以SRAM的电路结构非常复杂。制造相同容量的SRAMDRAM的成本高的多。正因为如此,才使其发展受到了限制。因此目前SRAM基本上只用于CPU 内部的一级缓存以及内置的二级缓存。仅有少量的网络服务器以及路由器上能够使用SRAM

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SRAM和SDRAM的区别 的相关文章

  • ARM架构中不同处理器模式下如何使用内核堆栈?

    据我了解 每个进程都有一个用户堆栈和内核堆栈 除此之外 ARM 架构中的每种模式都有一个堆栈 所以我想知道不同的堆栈和堆栈指针在 ARM 模式下如何工作 另外 何时会使用与进程关联的内核堆栈 何时会使用与进程关联的内核堆栈 当您进行系统调用
  • 在嵌入式设备上使用new或malloc引起的段错误[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 为 ARM 交叉编译 zlib

    我尝试为arm poky linux gnueabi交叉编译zlib 但启动 make 时出现错误 zlib 1 2 11 AR HOST ar CC HOST gcc RANLIB HOST ranlib configure prefix
  • 交叉编译 Qt 4.7 时出现“非法指令”

    我已经在这个问题上苦苦挣扎了一个多星期了 但仍然找不到解决方案 我正在尝试为 ARM 设备交叉编译 Qt 4 7 嵌入式开源版本 构建过程本身可以顺利完成 但生成的二进制文件似乎包含处理器无法理解的指令 构建主机是 i386 上的 Debi
  • 为什么 i2c_smbus 函数不可用? (I2C——嵌入式Linux)

    有很多参考使用i2c smbus 开发嵌入式 Linux 软件时在 I2C 总线上进行通信的函数 什么时候i2c smbus函数如i2c smbus read word data在软件项目中引用了 ARM8 处理器错误 例如 i2c smb
  • 产生并处理软件中断

    有人可以告诉我如何在Linux下生成软件中断然后用request irq处理它吗 或者也许这是不可能的 您可以使用软中断来代替 您可以通过编辑 include linux interrupt h 来定义您的 sofirq 然后使用函数 ra
  • ARM 系统调用的接口是什么?它在 Linux 内核中的何处定义?

    我读过有关 Linux 中的系统调用的内容 并且到处都给出了有关 x86 架构的描述 0x80中断和SYSENTER 但我无法追踪 ARM 架构中系统调用的文件和进程 任何人都可以帮忙吗 我知道的几个相关文件是 arch arm kerne
  • 直接在 ARM 目标上调试单声道应用程序

    我最近在 BeagleBone 嵌入式 ARM 设备上安装了 Mono 希望通过 USB 连接 Kinnect 传感器并使用 C Mono 控制它 我想知道 Mono 我正在使用 MonoDevelop 但我想这个问题也适用于 VS 是否允
  • iPhone 3GS 上的 ARM 与 Thumb 性能比较,非浮点代码

    我想知道是否有人有关于 iPhone 3GS 上 ARM 与 Thumb 代码性能的硬性数据 特别是对于非浮点 VFP 或 NEON 代码 我知道 Thumb 模式下的浮点性能问题 更大的 ARM 指令的额外代码大小是否会在某个时刻成为性能
  • GCC C++ (ARM) 和指向结构体字段的 const 指针

    假设有一个简单的测试代码 typedef struct int first int second int third type t define ADDRESS 0x12345678 define REGISTER type t ADDRE
  • 设备树不匹配:.probe 从未被调用

    我无法理解设备树的工作原理 或者具体来说为什么该驱动程序无法初始化 这是在 android 版本 3 10 的 rockchip 供应商内核中 驱动程序 看门狗 rk29 wdt c 为了可读性而减少 static const struct
  • 交叉编译armv5,但它创建v7二进制文件

    我设法为arm926ej s创建了一个目标文件我在 qemu 上使用 Debian Arm arm linux gnueabi gcc 4 4 static O c mcpu arm926ej s hello c o hello root
  • ARM NEON 矢量化失败

    我想在 ARM cortex a9 上启用 NEON 矢量化 但在编译时得到以下输出 未矢量化 不支持相关 stmt D 14140 82 D 14143 77 D 14141 81 这是我的循环 void my mul float32 t
  • 可以对 Xcode 中的 Arm 架构设置进行一些澄清

    据我了解 iPhone 5将采用新的架构 armv7s 我的项目具有有效的架构armv7 并且有Build Active Architecture Only set to true 由于现在商店中的每个应用程序都是为armv6 and or
  • 上下文切换到安全模式(arm trustzone)的成本是多少

    我试图了解在arm中可信 安全 和非安全模式之间来回切换的成本 从非安全世界转移到安全世界时到底需要发生什么 我知道需要设置 ns 位 基于某些特殊指令 需要刷新和更新页表 刷新和更新处理器缓存 还有什么需要发生的吗 处理器缓存 它们是分段
  • LDR指令如何将常量加载到寄存器中?

    我刚刚读了一本ARM指令书 看到一条指令我无法解释 It says LDR将 32 位常量加载到r0登记 LDR r0 pc const number 8 pc const number DCD 0xff00ffff 我不明白什么 pc c
  • 当我尝试在 Armv8 程序集中分配数组时,执行冻结

    所以我正在用汇编语言进行编程 这只是一个简单的代码 这样我就可以学习如何分配数组 以便稍后在 NEON 编程中使用它们 ASM FUNC FPE data balign 8 array skip 80 array1 word 10 20 3
  • 在LPC2148 ARM处理器上创建中断向量的汇编代码

    我最近刚刚开始使用 LPC2148 ARM 处理器 我试图理解一些有关创建中断向量的汇编代码 这是代码 Runtime Interrupt Vectors Vectors b start reset start ldr pc undf un
  • 在 ARM Cortex-M3 中使用 newlib 的 malloc

    我正在为 ARM Cortex M3 NXP 的 LCP17xx 创建代码 到目前为止我一直在使用静态内存 一切都运行良好 我尝试添加动态内存支持 但是一旦调用 malloc 系统就会卡住 我正在使用 gcc 为 Arm Bare Meta
  • 什么是 .axf 文件?

    我是arm架构的新手 我从事嵌入式软件工作 并试图了解我的项目二进制文件的调试文件夹中存在的 axf文件 发现它是链接器在构建过程中生成的arm可执行格式文件 用于调试崩溃 所以很明显它包含了一些调试信息 但不清楚具体是什么信息 而且deb

随机推荐

  • windows下tensorflow CUDA_ERROR_ILLEGAL_ADDRESS解决办法

    最近在使用tensorflow的时候出现了以下所示的bug 2017 11 08 12 24 52 838039 E tensorflow stream executor cuda cuda driver cc 1080 failed to
  • Spring事务回滚报错:org.springframework.transaction.UnexpectedRollbackException

    具体异常信息 Transaction rolled back because it has been marked as rollback only 出现了不可预知的回滚异常 因为事务已经被标志位只能回滚 所以事务回滚了 java lang
  • 视图的优点与缺点

    视图的优点 一 视图着重于特定数据 视图可以让用户或者程序开发人员只看到他们所需要的数据 而不需要把表中的所有信息与字段暴露出来 这样增强了数据的安全性 二 简化数据的操作 易维护 我们可以将经常用到的多表联合查询出来的数据 或特定的结果集
  • python django 环境搭建

    一 版本选择 Django 1 5 x 支持 Python 2 6 5 Python 2 7 Python 3 2 和 3 3 Django 1 6 x 支持 Python 2 6 X 2 7 X 3 2 X 和 3 3 X Django
  • 学习了解jboss7

    1 什么是J2EE J2EE是Java 2enterprise edition 是Java的一种企业版 用于企业级的应用服务开发 J2SE是Java 2standard edition 是Java的标准版 用于标准的应用开发 J2ME是Ja
  • mysql-8.0.32 数据库的安装 (Linux)

    Linux 中 mysql 8 0 32 数据库的安装 缘 步骤 常见问题解决方案 问题一 mysql error while loading shared libraries libtinfo so 5 cannot open share
  • java spring jdbc配置

    整理了一下java spring框架的jdbc 首先说明一下这个jdbc是在myeclipse下配置的 适合初学者 第一步我们在myeclipse下建立一个web项目 然后右击 项目名称 鼠标移动到 myeclipse 下 然后再移动到右边
  • 自动化运维:Ansible脚本之playbook剧本

    目录 一 理论 1 playbooks 2 YAML 3 使用ansible批量安装apache服务 4 定义 引用变量 5 指定远程主机sudo切换用户 6 when条件判断 7 迭代 8 Templates 模块 9 tags 模块 1
  • Linux 通配符 与 正则表达式 的区别与详解

    阅读目录 1 扫盲 2 通配符详细介绍 3 实例 背景 在linux使用过程中 经常需要查找文件 对命令中的通配符 pattern 和正则表达式的区分不是很清楚 有必要好好研究一下 1 扫盲 1 1 通配符和正则表达式 当在使用命令行时 有
  • python另存为excel_python 将数据保存为excel的xls格式(实例讲解)

    python 将数据保存为excel的xls格式 实例讲解 python提供一个库 xlwt 可以将一些数据 写入excel表格中 十分的方便 贴使用事例如下 引入xlwt模块 提前pip下载好 import xlwt 使用workbook
  • MySQL数据库技术知识总结

    数据库基本概念 数据库 是以一定方式储存在一起 能予多个用户共享 具有尽可能小的冗余度 与应用程序彼此独立的数据集合 一个数据库由多个表空间 Tablespace 构成 数据库就是一个存储结构化数据的仓库 数据库管理系统 Database
  • 蓝桥杯2019年c++b组国赛题目及题解

    填空题目来源来自于 https blog csdn net l503301397 article details 90697079 大题来源于 ACwing https www acwing com problem search 2 csr
  • Altium designer 15 导入PCB各层都透明,修改各层透明度依然不好使

    Altium designer 15 0导入PCB后 整个图都变透明了 不能移动PCB上的器件 可以查看器件 修改各个层的透明度依然不好使 后来发现显示PCB维度框有问题 解决方法如下图 选择下拉列表里的任意参数就可以解决这个问题 这里选择
  • 用rfkill命令管理蓝牙和wifi

    rfkill是一个内核级别的管理工具 可以打开和关闭设备的蓝牙和wifi 列出所有可用设备rfkill list 输出如下 0 phy0 Wireless LAN Soft blocked no Hard blocked no2 hci0
  • Strapi 之API详述

    API的使用 REST API允许通过API端点访问 content types 当一个内容类型被创建时 Strapi会自动创建API端点 在查询API端点时 可以使用API参数来细化结果 可以理解为 对于每一个 content types
  • 工业协议网关IOTCS企业版正式发布

    一 发布前言 继今年5月份IOTCS开源版本发布以后 我们依然在致力于开源版的功能升级迭代 目前南向驱动类型支持OPCUA与Siemens S7协议 1200 1500型号 以及Modbus全协议 北向资源有HTTP MQTT 通过不同的连
  • 怎么设置访问服务器文件夹权限凭据,Windows server 共享文件夹权限设置

    概念 共享权限应用于通过网络连接到共享文件夹的用户 共享权限不会影响本地登录或使用远程桌面登录的用户 若要为本地登录用户或使用远程桌面登录的用户设置权限 请使用 安全 选项卡而不是 共享权限 选项卡 这样将在 NTFS 文件系统级别设置权限
  • 数组的三种定义方式

    1 数组的定义 用于存储同一类型数据的集合 其实数组就是一个容器 连续的存储单元 2 数组的好处 自动给数组中的元素从零开始编号 自动给下标 从零开始0 1 2 3 3 书写格式 元素类型 数组名 new 元素类型 元素 元素 元素 3 1
  • 新的一期AIGC训练营,9月16日开启#一起build anything

    时间 9月16号 周六 10 00 17 00地点 上海请自备电脑 window系统最佳 Mac也可以 现在早鸟报名 享受优惠价格 999 人 原价 1699 人 名额先到先得 早鸟报名还能获赠 699 AIGC知识库会员名额 新的一期训练
  • SRAM和SDRAM的区别

    DRAM 动态随机存取存储器 需要不断的刷新 才能保存数据 而且是行列地址复用的 许多都有页模式 SRAM 静态的随机存取存储器 加电情况下 不需要刷新 数据不会丢失 而且 一般不是行列地址复用的 SDRAM 同步的DRAM 即数据的读写需