深入解析内存原理:SRAM的基本原理

1. SRAM芯片的引脚定义
早期的SRAM 芯片采用了20 线双列直插(DIP:Dual Inline Package)封装技术,它们之所以具有这么多的针脚,是因为它们必须:
? 每个地址信号都需要一根信号线
? 一根数据输入线和一根数据输出线
? 部分控制线(Write Enable, Chip Select)
? 地线和电源线
下面的是一个16K x 1-bit SRAM 芯片的针脚功能示意图:


? A0-A13 是地址输入信号引脚
? /CS 是芯片选择引脚,在一个实际的系统中,一定具有很多片SRAM 芯片,所以需要选择究竟从那一片SRAM 芯片中写入或者读取数据
? /WE 是写入启用引脚,当SRAM 得到一个地址之后,它需要知道进行什么操作,究竟是写入还是读取,/WE 就是告诉SRAM 要写入数据
? Vcc 是供电引脚
? Din 是数据输入引脚
? Dout 是数据输出引脚
? GND 是接地引脚
? Output Enable(/OE):有的SRAM 芯片中也有这个引脚,但是上面的图中并没有。这个引脚同/WE 引脚的功能是相对的,它是让SRAM 知道要进行读取操作而不是写入操作。

2. SRAM芯片的读写操作概述
从Dout 引脚读取1bit 数据需要以下的步骤:
▲ SRAM 读取操作
1)通过地址总线把要读取的bit 的地址传送到相应的读取地址引脚(这个时候/WE 引脚应该没有激活,所以SRAM 知道它不应该执行写入操作)
2)激活/CS 选择该SRAM 芯片
3)激活/OE 引脚让SRAM 知道是读取操作
第三步之后,要读取的数据就会从DOut 引脚传输到数据总线。怎么过程非常的简单吧?
同样,写入1bit 数据的过程也是非常的简单的。
▲ SRAM 写入操作
1)通过地址总线确定要写入信息的位置(确定/OE 引脚没有被激活)
2)通过数据总线将要写入的数据传输到Dout 引脚
3)激活/CS 引脚选择SRAM 芯片
4)激活/WE 引脚通知SRAM 知道要尽心写入操作
经过上面的四个步骤之后,需要写入的数据就已经放在了需要写入的地方。

时间: 2024-10-31 13:33:46

深入解析内存原理:SRAM的基本原理的相关文章

深入解析内存原理:DRAM的基本原理

前面我们知道了在一个简单的SRAM 芯片中进行读写操作的步骤了,然后我们来了解一下普通的DRAM 芯片的工作情况.DRAM 相对于SRAM 来说更加复杂,因为在DRAM存储数据的过程中需要对于存储的信息不停的刷新,这也是它们之间最大的不同. 1. 多路寻址技术最早.最简单也是最重要的一款DRAM 芯片是Intel 在1979 年发布的2188,这款芯片是16Kx1 DRAM 18 线DIP 封装."16K x 1"的部分意思告诉我们这款芯片可以存储16384个bit 数据,在同一个时期

XML引入,DOM 方式解析XML 原理,SAX 方式解析XML

XML 简介 Xml(eXtensible Markup Language) 即可扩展标记语言.提供了一套跨平台.跨网络.跨程序的语言的数据描述方式,使用XML 可以方便地实现数据交换.系统配置.内容管理等常见功能. 元素VS 节点 节点包括元素节点.属性节点.文本节点:元素一定是节点,但是节点不一定是元素: <?xml version="1.0" encoding="UTF-8"?> <emp> <empName empNo=&quo

几个系统调用分析 glibc中的malloc调用和共享内存原理

本文主要分析内存以及I/O相关的系统调用和库函数的实现原理,根据原理给出在使用过程中需要注意的问题和优化的侧重点,本文涉及到的系统调用包括readahead,pread/pwrite,read/write,mmap,readv/writev,sendfile,fsync/fdatasync/msync,shmget,malloc. 本文先简单介绍应用程序对内存的使用以及I/O系统对内存的使用的基本原理,这对理解上述系统调用和库函数的实现有很大帮助. 1 内存管理基础 Linux对物理内存的管理是

深入java虚拟机阅读笔记(jvm内存原理、异常处理部分)

深入理解Java虚拟机:JVM高级特性与最佳实践 阅读笔记(内存原理.异常处理): 1.     Jvm运行时,内存划分如图所示: 2.     程序计数器: Jvm将这个计数看作当前线程执行某条字节码的行数,会根据计数器的值来选取需要执行的操作语句.这个属于线程私有,不可共享,如果共享会导致计数混乱,无法准确的执行当前线程需要执行的语句. 该区域不会出现任何OutOfMemoryError的情况. 3.     虚拟机栈 经常说到的栈内存就是指虚拟机栈.Java中每一个方法从调用直至执行完成的

XML的四种解析器原理及性能比较

转自zsq 1.DOM     DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准.DOM 是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的.DOM 以及广义的基于树的处理具有几个优点.    首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以在任何时候在树中上下导航,而不

大页内存原理及使用设置

大页内存原理及使用设置 版权声明:本文为博主原创文章,未经博主允许不得转载.

内存分析_.Net内存原理介绍

内存原理介绍 1.       .Net应用程序中的内存 1.1.Net内存类型 Windows使用一个系统:虚拟寻址系统.这个系统的作用是将程序可用的内存地址映射到硬件内存中的实际地址上.其实际结果是在32位的Windows操作系统中,每个进程都可以使用4GB的内存,当然,64位机这个数字就更大了,在这4GB的内存中存储着可执行代码.代码加载的DLL和程序运行的所有变量,这4GB的内存成为虚拟地址空间或虚拟内存.在.Net中要使用多种类型的内存,包括:堆栈.非托管堆和托管堆. C#将数据分为2

C#之CLR内存原理初探

C#之CLR内存原理初探 投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-08-04我要评论 这篇文章主要介绍了C#之CLR内存原理初探,有助于读者进一步理解C#的运行原理,需要的朋友可以参考下 本文初步讲述了C#的CLR内存原理.这里所关注的内存里面说没有寄存器的,所以我们关注的只有托管堆(heap),栈(stack), 字符串常量池(其中string是一个很特殊的对象) 首先我们看两个方法: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 vo

block 解析 - 内存

回顾 上一篇 我们了解到了用__block修饰的变量,可以在block内部修改,__block变量其实对应一个结构体 struct __Block_byref__para1_0 { void *__isa; __Block_byref__para1_0 *__forwarding; int __flags; int __size; char *_para1; }; block结构体相应的也有一个成员引用,这样会增加对局部变量的 _para1引用,在Block销毁的时候引用就释放掉了 struct