本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

静态随机存取存储器(Static Random-Access Memory,SRAM)是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对之下,动态随机存取存储器(DRAM)里面所储存的数据就需要周期性地更新。然而,当电力供应停止时,SRAM储存的数据还是会消失(被称为volatile memory),这与在断电后还能储存资料的ROM或闪存是不同的。

中文名

静态随机访问存储器外文名

Static Random-Access Memory

静态随机访问存储器设计

编辑

语音

SRAM由存储矩阵、地址译码器和读/写控制电路组成,容量的扩展有两个方面:位数的扩展用芯片的并联,字数的扩展可用外加译码器控制芯片的片选输入端。SRAM中的每一bit储存在由4个场效应管(M1, M2, M3, M4)构成两个交叉耦合的反相器中。另外两个场效应管(M5, M6)是储存基本单元到用于读写的位线(Bit Line)的控制开关。

反相器是一种电路器件,其输出是输入的逻辑非。CMOS静态反相器,由两个互补的金属氧化物半导体场效应管(MOSFET)组成,源极连接在高电平的是P沟道场效应管,源极连接在低电平的是N沟道场效应管。输入电路接在两个场效应管的栅极上,输出电路从两个场效应管的连接处接出。当输入低电平,则P沟道场效应管开通,N沟道场效应管关闭,输出高电平。当输入高电平,则N沟道场效应管开通,P沟道场效应管关闭,输出低电平。这就实现了“反相”输出。

一个SRAM基本单元有0and1两个电平稳定状态。SRAM基本单元由两个CMOS反相器组成。两个反相器的输入、输出交叉连接,即第一个反相器的输出连接第二个反相器的输入,第二个反相器的输出连接第一个反相器的输入。这就能实现两个反相器的输出状态的锁定、保存,即储存了1个位元的状态。

除了6管的SRAM,其他SRAM还有8管、10管甚至每个位元使用更多的晶体管的实现。这可用于实现多端口(port)的读写访问,如显存或者寄存器堆的多口SRAM电路的实现。

一般说来,每个基本单元用的晶体管数量越少,其占用面积就越小。由于硅芯片(silicon wafer)的生产成本是相对固定的,因此SRAM基本单元的面积越小,在硅芯片上就可以制造更多的位元存储,每位元存储的成本就越低。

内存基本单元使用少于6个晶体管是可能的—如3管甚至单管,但单管储存单元是DRAM,不是SRAM。

访问SRAM时,字线(Word Line)加高电平,使得每个基本单元的两个控制开关用的晶体管M5与M6开通,把基本单元与位线(Bit Line)连通。位线用于读取或写入基本单元的保存的状态。虽然不是必须两条取反的位线,但是这种取反的位线有助于改善噪声容限.

与动态存储器(DRAM)相比,SRAM的带宽有很大改进—由于两条位线是反相,这种差分信号使得SRAM的抗噪声干扰能力很强。而DRAM的位线连接到存储电容,受困于电荷共享(charge sharing)使得其位线信号上下波动。另一项差别使得SRAM更快是其地址线各位元是同时工作选择出目标存储单元的字线,而DRAM往往为了降低成本,是先送出低半段的地址线的各比特,然后再送出高半段的地址线的各bit,这降低了DRAM封装的地址引脚的数量。

有m条地址线与n条数据线的SRAM,其存储容量是2个字(word),2×nbit.每个字的长度至少是64bit。

静态随机访问存储器SRAM操作

编辑

语音

SRAM的基本单元有3种状态:standby(电路处于空闲),reading(读取)与writing(写入). SRAM的读取或写入模式必须分别具有"readability"(可读)与"write stability"(写入稳定)。Standby

如果字线没有被选为高电平,那么作为控制用的M5与M6两个晶体管处于断路,把基本单元与位线隔离。由M1– M4组成的两个反相器继续保持其状态,只要保持与高、低电平的连接。Reading

假定储存的内容为1,即在Q处的电平为高。读取周期开始时,两条位线预充值为逻辑1,随后字线WL充高电平,使得两个访问控制晶体管M5与M6通路。第二步是保存在Q的值与位线BL的预充值相同,所以BL保持逻辑1,而Q与BL的预充值不同,使得BL经由M1与M5放电而变成逻辑0(即Q的高电平使得晶体管M1通路)。在位线BL一侧,晶体管M4与M6通路,把位线连接到VDD所代表的逻辑1(M4作为P沟道场效应管,由于栅极加了Q的低电平而M4通路)。如果储存的内容为0,相反的电路状态将会使BL为1而BL为0.只需要BL与BL有一个很小的电位差,读取的放大电路将会辨识出哪条位线是1哪条是0.敏感度越高,读取速度越快。Writing

写入周期开始时,把要写入的状态加载到位线。如果要写入0,则设置BL为1且BL为0。随后字线WL加载为高电平,位线的状态被载入SRAM的基本单元。这是通过位线输入驱动能力设计的比基本单元相对较弱的晶体管更为强壮,使得位线状态可以覆盖基本单元交叉耦合的反相器的以前的状态。

静态随机访问存储器总线行为

访问时间为70ns的RAM在位址设定完成且有效之后,会在70ns之内将资料输出。数据将继续保持有效约5-10 ns。起、落时间将影响有效时间槽(timeslot)约5 ns.如果先读入低半段地址,将会多耗费30 ns。

静态随机访问存储器应用与使用

编辑

语音

静态随机访问存储器特性

SRAM是比DRAM更为昂贵,但更为快速、非常低功耗(特别是在空闲状态)。因此SRAM首选用于带宽要求高,或者功耗要求低,或者二者兼而有之。SRAM比起DRAM更为容易控制,也更是随机访问。由于复杂的内部结构,SRAM比DRAM的占用面积更大,因而不适合用于更高储存密度低成本的应用,如PC内存。

时钟频率与功耗

SRAM功耗取决于它的访问频率。如果用高频率访问SRAM,其功耗比得上DRAM。有的SRAM在全带宽时功耗达到几个瓦特量级。另一方面,SRAM如果用于温和的时钟频率的微处理器,其功耗将非常小,在空闲状态时功耗可以忽略不计—几个微瓦特级别。

SRAM用于:通用的产品asynchronous界面,例如28针32Kx8的chip(通常命名为XXC256),以及类似的产品最多16 Mbit每片

synchronous界面,通常用做高速缓存(cache)以及其它要求突发传输的应用,最多18 Mbit(256Kx72)每片

集成于芯片内作为微控制器的RAM或者cache(通常从32 bytes到128kilobytes)

作为强大的微处理器的主caches,如x86系列与许多其它CPU(从8kiB到几百万字节的量级)

作为寄存器(参见寄存器堆)

用于特定的ICs或ASIC(通常在几千字节量级)

嵌入式应用

工业与科学用的很多子系统,汽车电子等等都用到了SRAM。现代设备中很多都嵌入了几千字节的SRAM。实际上几乎所有实现了电子用户界面的现代设备都可能用上了SRAM,如玩具。数码相机、手机、音响合成器等往往用了几兆字节的SRAM。 实时信号处理电路往往使用双口(dual-ported)的SRAM。

用于计算机

SRAM用于PC、工作站、路由器以及外设:内部的CPU高速缓存,外部的突发模式使用的SRAM缓存,硬盘缓冲区,路由器缓冲区,等等。LCD显示器或者打印机也通常用SRAM来缓存数据。SRAM做的小型缓冲区也常见于CDROM与CDRW的驱动器中,通常为256 KiB或者更多,用来缓冲音轨数据。线缆调制解调器及类似的连接于计算机的设备也使用了SRAM。

爱好者

搭建自己的处理器的业余爱好者更愿意选用SRAM,这是由于其易用性的工作界面。没有DRAM所需的刷新周期;地址总线与数据总线直接访问而不是像DRAM那样多工分别访问。SRAM通常只需3个控制信号:Chip Enable (CE), Write Enable (WE)与Output Enable(OE)。对于同步SRAM,还需要时钟信号(Clock,CLK)。

静态随机访问存储器SRAM的类型

编辑

语音

静态随机访问存储器非挥发性SRAM

非挥发性SRAM(Non-volatile SRAM,nvSRAM)具有SRAM的标准功能,但在失去电源供电时可以保住其数据。非挥发性SRAM用于网络、航天、医疗等需要关键场合—保住数据是关键的而且不可能用上电池。

静态随机访问存储器异步SRAM

异步SRAM(Asynchronous SRAM)的容量从4 Kb到64 Mb。SRAM的快速访问使得异步SRAM适用于小型的cache很小的嵌入式处理器的主内存,这种处理器广泛用于工业电子设备、测量设备、硬盘、网络设备等等。

静态随机访问存储器根据晶体管类型分类

双极性结型晶体管(用于TTL与ECL)—非常快速但是功耗巨大

MOSFET(用于CMOS)—本文详细介绍的类型,低功耗,现在应用广泛。

静态随机访问存储器根据功能分类

异步—独立的时钟频率,读写受控于地址线与控制使能信号。

同步—所有工作是时钟脉冲边沿开始,地址线、数据线、控制线均与时钟脉冲配合。

静态随机访问存储器根据特性分类

零总线翻转(Zero bus turnaround,ZBT)—SRAM总线从写到读以及从读到写所需要的时钟周期是0

同步突发SRAM(synchronous-burst SRAM,syncBurst SRAM)—

DDR SRAM—同步、单口读/写,双数据率I/O

QDR SRAM(Quad Data Rate (QDR) SRAM)—同步,分开的读/写口,同时读写4个字(word)。

静态随机访问存储器根据触发类型

二进制SRAM

三进制计算机SRAM[1]

静态随机访问存储器参见

编辑

语音

DRAM,包括PSRAM (pseudo-static RAM)

参考资料

1.

James M. Conrad; Alexander G. Dean (September 2011). Embedded Systems, An Introduction Using the Renesas RX62N Microcontroller. Micrium. ISBN 978-1935-7729-96.

计算机的静态存储区在哪里,静态随机访问存储器相关推荐

  1. 【C 语言】内存管理 ( 动态内存分配 | 栈 | 堆 | 静态存储区 | 内存布局 | 野指针 )

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  2. 静态存储区、堆和栈的区别

    一.内存基本构成 可编程内存在基本上分为这样的几大部分:静态存储区.堆区和栈区.他们的功能不同,对他们使用方式也就不同. 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存 ...

  3. C++内存分配方式-堆、栈、自由存储区、全局/静态存储区和常量存储区

    一个由C/C++编译的程序占用的内存分为以下几个部分: 1.栈区(stack)-  由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.    2.堆区(heap) ...

  4. 堆、栈、自由存储区、全局/静态存储区、常量存储区比较

    1.C语言中分为下面几个存储区 栈(stack): 由编译器自动分配释放 堆(heap): 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 全局区(静态区): 全局变量和静态变量的存储 ...

  5. 深入思考全局静态存储区、堆区和栈区

    在C++中,内存可分为系统数据区,自由存储区,文本区,const数据区,全局静态区,堆区和栈区.其中,系统数据区存放的是系统数据,我们是不能自由访问的,有时候windows系统会突然弹出一个消息框,内 ...

  6. 栈、堆、静态存储区和程序的内存布局

    文章目录 1 栈 1.1 程序中的栈 1.2 函数调用过程 1.3 函数调用栈上的数据 2 堆 2.1 程序中的堆 2.2 系统对堆的管理方式 3 静态存储区 3.1 程序中的静态存储区 4 程序的内 ...

  7. C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区

    栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的变量通常是局部变量.函数参数等.在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用. 和堆一 ...

  8. 全局静态存储区、堆区和栈区深入剖析

    在C++中,内存可分为系统数据区,自由存储区,文本区,const数据区,全局静态区,堆区和栈区.其中,系统数据区存放的是系统数据,我们是不能自由访问的,有时候windows系统会突然弹出一个消息框,内 ...

  9. 你很烫吗?我很烫——关于栈区和静态存储区的思考

    1.引言 相信经常用VC的朋友对屏幕输出的一大堆"烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫"不会陌生,但是也许会很奇怪,为什么会出现"烫"字呢?莫非改程序 ...

  10. 【C语言进阶深度学习记录】三十五 程序中的堆、栈以及静态存储区(数据区)

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 在我之前学习底层的知识的时候,也写过相关的内容.可以对比的学习:[软 ...

最新文章

  1. CoSENT:特征式匹配与交互式匹配有多大差距?
  2. C++学习——引用和指针
  3. c语言 sqrt求100以内素数,C语言实现判断一个数是否为素数并求100以内的所有素数...
  4. JAVA并发编程实践笔记
  5. “我恨Google无人车”
  6. win10音量图标没有了
  7. 硬件设计论坛_从全球EDA产业发展看EDA365电子论坛作用
  8. uniapp:微信小程序地图功能
  9. 一份成功的高薪软件测试求职简历应该是这样的
  10. Linux网络-MAC协议
  11. 计算机应用技术需要学数学吗,学计算机应用技术能不学数学吗?
  12. Android-高德api使用常见错误
  13. HR面试问题-你的缺点是什么?
  14. 大数据常见面试题总结,有问必答
  15. Xshell的Sessions存放目录
  16. phpstorm中,光标变成一个长方红色块,如何调回来?
  17. android 日期格式 毫秒
  18. 如何理解视频会议体统中的GK?
  19. 花开不败——复旦中文系女生的高三笔记
  20. 我的世界服务器改无限跳跃,我的世界作弊码大全 再也不怕精英怪物了

热门文章

  1. ios获取本地音乐库音乐很详细
  2. 外贸常用术语_常见国际贸易专业术语有哪些?
  3. YARN——NM重启后的任务恢复
  4. 电脑远程开机pcie卡
  5. W ndows7蓝屏0x00000024,Win7开机蓝屏报错0x00000024如何解决?
  6. python中将奇数和偶数分列
  7. 【一起学系列】之迭代器组合:虽然有点用不上啦
  8. html语言中alt,html中alt是什么意思?
  9. 商业智能知识分享:BI的4大核心技术
  10. linux命令之dnf命令