SRAM 即静态RAM.它也由晶体管组成,SRAM的高速和静态特性使它们通常被用来作为Cache存储器。计算机的主板上都有Cache插座。
 
下图所示的是一个SRAM的结构框图。

由上图看出SRAM一般由五大部分组成,即存储单元阵列、地址译码器(包括行译码器和列译码器)、灵敏放火器、控制电路和缓冲/驱动电路。在图中A0-Am-1为地址输入端,CSB. WEB和OEB为控制端,控制读写操作,为低电平有效1100-11ON-1为数据输入输出端。存储阵列中的每个存储单元都与其它单元在行和列上共享电学连接,其中水平方向的连线称为“字线”,而垂直方向的数据流入和流出存储单元的连线称为“位线”。
 
通过输入的地址可选择特定的字线和位线,字线和位线的交叉处就是被选中的存储单元,每一个存储单元都是按这种方法被唯一选中,然后再对其进行读写操作。有的存储器设计成多位数据如4位或8位等同时输入和输出,这样的话就会同时有4个或8个存储单元按上述方法被选中进行读写操作。
 
在SRAM 中,排成矩阵形式的存储单元阵列的周围是译码器和与外部信号的接口电路。存储单元阵列通常采用正方形或矩阵的形式,以减少整个芯片面积并有利于数据的存取。以一个存储容量为4K位的SRAM为例,共需12条地址线来保证每一个存储单元都能被选中(212 =-4096)。如果存储单元阵列被排列成只包含一列的长条形,则需要一个12/4K位的译码器,但如果排列成包含64行和64列的正方形,这时则只需一个6/64位的行译码器和一个6/64位的列译码器,行、列译码器可分别排列在存储单元阵列的两边,64行和64列共有4096个交叉点,每一个点就对应一个存储位。
 
因此将存储单元排列成正方形比排列成一列的长条形要大大地减少整个芯片地面积。存储单元排列成长条形除了形状奇异和面积大以外,还有一个缺点就是排在列的上部的存储单元与数据输入/输出端的连线就会变得很长,特别是对于容量比较大得存储器来说,情况就更为严重,而连线的延迟至少是与它的长度成线性关系,连线越长,线上的延迟就越大,所以就会导致读写速度的降低和不同存储单元连线延迟的不一致性,这些都是在设计中需要避免的。

SRAM结构框图解的更多相关文章

  1. VFS,super_block,inode,dentry—结构体图解

    总结: VFS只存在于内存中,它在系统启动时被创建,系统关闭时注销. VFS的作用就是屏蔽各类文件系统的差异,给用户.应用程序.甚至Linux其他管理模块提供统一的接口集合. 管理VFS数据结构的组成 ...

  2. linux的目录结构知识

    1. Linux的目录结构知识图解 2. linux下应用程序组成及文件目录定义 #二进制程序: /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/l ...

  3. Eplan简单教程

    鉴于AUTOCAD画电路图比较繁琐而且手动添加关联参考错误率较高,而EPLAN画电路图确实效率要高许多,也更规范.过年正好有点时间,把我这段时间学EPLAN的一些经验总结了一下,有兴趣可以看看,也省得 ...

  4. C#控制台->>四则运算

    用户需求: 要求编写一个0-10之间的整数进行四则运算,程序能接收输入的整数答案,并判断对错,程序结束时,统计出答对.答错的题目数量!并且0-10的整数是随机生成的,用户可以用键盘输入来选择四则运算中 ...

  5. CPLD VS FPGA

    FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL.GAL.CPLD等可编程器件的基础上进一步发展的产物.它是作为专用集成电路(ASIC)领域中的 ...

  6. Android使用SAX解析xml

    一.理论准备     SAX采用事件驱动机制来解析XML文档,每当SAX解析器发现文档开始.元素开始.文本.元素结束.文档结束等事件时,就会向外发送一次事件,而开发者则可以通过编写事件监听器处理这些事 ...

  7. Linux input子系统分析

    输入输出是用户和产品交互的手段,因此输入驱动开发在Linux驱动开发中很常见.同时,input子系统的分层架构思想在Linux驱动设计中极具代表性和先进性,因此对Linux input子系统进行深入分 ...

  8. iOSAPP开发项目搭建

    架构图: 架构原则:易读性.易维护性.易扩展性. 一.思考 做好一件事,花在思考上的时间应该多于执行. 首先根据产品需求和设计图,脑中先建立一个产品架构: 1. 产品的定位是什么. 社交?媒体?游戏? ...

  9. 《FPGA全程进阶---实战演练》第二章之硬件平台的搭建

    学习FPGA,多多少少应该要懂得硬件电路的设计,这样不单单增加了自己的技能,而且还能够对FPGA的硬件实现有更好的了解. 1 模块划分 对于一个基本的FPGA硬件平台,常用的几个电路部分:(1)电源电 ...

随机推荐

  1. 2019杭电多校赛第九场 Rikka with Mista

    Problem Description Rikka is a fervent fan of JoJo's Bizarre Adventure. As the last episode of Golde ...

  2. Python中关于__main__变量的问题

    在Python代码的编写中,经常会用到这么一句: if __name__ == "__main__": .... 这句代码之前的语句在整个模块被其他文件调用的时候会被运行,而这句代 ...

  3. laravel5.5的服务容器分析

    简介 服务容器是Laravel的核心.见名知意,服务容器就是一个存放服务的地方,当我们需要某个服务的时候,我们就可以从这个容器中取出我们需要的服务.用更专业一点的术语来说,官网定义服务容器是这样的: ...

  4. mysql--->mysql慢查询

    简介 > 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能 参数及命令说明 查看慢查询是否开启和日志存储地址 show var ...

  5. Linux 常用工具sysstat之sar

    sysstat包 iostat.sar.sa1和sa2命令都是sysstat包的一部分.它是Linux包含的性能监视工具集合: sar:收集.报告或存储信息(CPU.内存.磁盘.中断.网卡.TTY.内 ...

  6. JDK源码之String类解析

    一 概述 String由final修饰,是不可变类,即String对象也是不可变对象.这意味着当修改一个String对象的内容时,JVM不会改变原来的对象,而是生成一个新的String对象 主要考虑以 ...

  7. C语言之灵魂 指针学习

    指针是c语言的难点 称之为c语言的灵魂一点也不为过,不过指针用好了能事半功倍,用不好bug满天飞. 一.指针的概念 指针也是变量只不过是特殊的变量,指针的值是另一个变量的地(也就是变量所在的内存地址) ...

  8. 部署 harbor 私有仓库

    安装下载依赖包 安装docker-compose 从 docker compose 发布页面下载最新的 docker-compose 二进制文件,本文以1.25.4为例 cd /opt/k8s/wor ...

  9. Python 进行目标检测

    一.前言 从学单片机开始鼓捣C语言,到现在为了学CV鼓捣Python,期间在CSDN.简书.博客园和github这些地方得到了很多帮助,所以也想把自己做的一些小东西分享给大家,希望能帮助到别人.记录人 ...

  10. Spring Boot2 系列教程(三十二)Spring Boot 整合 Shiro

    在 Spring Boot 中做权限管理,一般来说,主流的方案是 Spring Security ,但是,仅仅从技术角度来说,也可以使用 Shiro. 今天松哥就来和大家聊聊 Spring Boot ...