目录

  • 前言
  • 基本结构
  • 读写操作
    • standby空闲状态
    • 读操作
    • 写操作

前言

SRAM:Static Random-Access Memory,静态随机存取存储器。1所谓的“静态”,是指当设备保持供电时,SRAM中存储的数据可以保持不变;掉电时,其存储的数据会丢失。

6T SRAM,其中T是指Transistor晶体管,即SRAM的基本存储单元是由6个晶体管构成的。
下面将详细介绍其基本存储单元的内部结构和SRAM的读写操作过程。
本文所述逻辑均为正逻辑。

基本结构


图中M1,M3,M5和M6为NMOS管,高电平导通;M2和M4为PMOS管,低电平导通。BL(Bit Line)为位线,用于读写数据。WL(Word Line)为字线,用于控制读写操作。SRAM中每一bit的数据存储在由M1,M2,M3和M4组成两个交叉连接的反相器中(即图中的Q端和/Q端)。M5和M6两个NMOS管是控制开关,用于控制数据从存储单元到位线之间的传递。

读写操作

SRAM的基本存储单元有3种状态:standby(空闲)、reading(读)和writing(写)。

standby空闲状态

若字线WL为低电平,则M5和M6两个晶体管处于截止状态,将基本存储单元与位线隔离。由M1-M4组成的两个反相器继续保持其状态。

读操作

假设该基本存储单元中存储的数据为1,即Q=“1”,/Q=“0”。在读周期开始之前,通过预充电电路,将两根位线的电平充电到逻辑“1”,预充电的电路结构如下(由三个PMOS管组成)。

随后将WL置为高电平,使得M5和M6两个晶体管导通。因为我们假设Q=“1”,故Q端的高电平使得晶体管M1导通,位线/BL之前预充的高电平通过M5和M1连接到地,使其值为逻辑“0”;在位线BL一侧,因/Q=“0”,晶体管M4和M6导通,通过VDD将位线拉到高电平逻辑“1”。
若基本存储单元存储的数据为0,其原理一样。

写操作

在写周期之前,需要把要写入的状态加载到位线。如需要写入数据0,则设置BL=“0”,/BL=“1”。随后将字线WL置为高电平,M5和M6晶体管导通,位线的状态被写入带基本存储单元中。


  1. https://baike.baidu.com/item/SRAM/7705927?fr=aladdin ↩︎

6T SRAM的基本结构及其读写操作相关推荐

  1. NAND FLASH 读写操作 简介

    NAND FLASH 内存详解与读写寻址方式 一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设 ...

  2. S3C2440 Linux下的I2C驱动以及I2C体系下对EEPROM进行读写操作。

    这篇文档算上期末复习这段时间其实拖了有好久了,因为从一开始接触linux的i2c驱动体系我就各种凌乱,因为起初脑海中既没有整体框架也不熟悉相关体系下的结构,所以四处乱看,经常性的在看内核代码时看着看着 ...

  3. OpenCV 1.x 2.x 编程简介(矩阵/图像/视频的基本读写操作)

    OpenCV 编程简介(矩阵/图像/视频的基本读写操作) Introduction to programming with OpenCV OpenCV编程简介 作者: Gady Agam Depart ...

  4. 第五天2017/04/06(上午:文件的“读写操作”)

    文件的"读"."写"的理解不是站在"程序"的角度,而是站在"文件"的角度读:从文件中读取数据,输出到程序中写:从程序中读 ...

  5. C语言文件读写操作主要函数及其用例

    C语言把磁盘文件看成是字符(或字节)的序列,按照存储信息的形式来说,文件主要是有文本文件和二进制文件.文本文件由一个个字符组成,每个字节存放一个ASCII码制,代表一个字符.二进制文件把内存中的数据按 ...

  6. C++ builder 的文件读写操作总结

    C++ builder 的文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于 ...

  7. linux gcc编译下的文件读写操作

    linux下的文件操作 所有目录             1.文件及文件系统的定义             2.linux文件的类型             3.linux文件的权限          ...

  8. C/C++ 文件读写操作总结

    C/C++ 文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于C的文件操作: ...

  9. OpenCV 编程简单介绍(矩阵/图像/视频的基本读写操作)

    PS. 因为csdn博客文章长度有限制,本文有部分内容被截掉了. 在OpenCV中文站点的wiki上有可读性更好.而且是完整的版本号,欢迎浏览. OpenCV Wiki :<OpenCV 编程简 ...

最新文章

  1. FPGA之道(23)VHDL的signal、variable与constant
  2. 内存对齐/字节对齐/数据对齐/地址总线对齐
  3. 学习区块链,绕不过去的“拜占庭将军问题”!!这里正好有通俗易懂的解释
  4. java设计模式之设计原则⑥里氏代换原则
  5. 公交查询系统 c语言,城市公交查询系统的设计任务书
  6. windows7电脑删除文件特别慢怎么回事
  7. 小小标签,强大功能——深藏不露的 input
  8. http://blog.csdn.net/jiazimo/article/details/17265061
  9. 深入Linux网络核心堆栈--netfilter详解(整理)
  10. UEditor百度富文本搭建时候遇到的问题
  11. 计算机cad模板样例,教你如何新建适合自己的CAD模板
  12. wpf 直播视频播放器技术实现
  13. 一篇2006年的文章和一部2015年的名著
  14. CSS深度(穿透)选择器
  15. Vue文件内动态加载JS
  16. bloomFilter和哈希函数murmur3
  17. MDK中符号代号说明
  18. 如何使用 msiexec.exe 手动删除 VirusScan Enterprise 8.x
  19. 免费的激光雷达数据的下载方法
  20. python调用浏览器

热门文章

  1. echarts地图设置legend_echarts设置图例颜色和地图底色的方法实例
  2. 详解 PerformanceResourceTiming API,咦,这货真的干!
  3. 6.1 手机时钟系统简介
  4. CSS选择器补充,CSS三大特性以及字体、文本样式。
  5. html li 圆点 大小,ul li 定制圆点,list-style-image调整图片圆点大小 与 文字和图片排版...
  6. UVa1395(最小值最小生成树+并查集)
  7. php反序列化漏洞 freebuf,入门Web需要了解的PHP反序列化漏洞
  8. lisp画弯箭头_在cad中直接画箭头
  9. HTML的iframe标签
  10. web项目获取webpp文件下的图片