当前位置:首页 » 服务存储 » 存储器如何管理数据
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

存储器如何管理数据

发布时间: 2022-08-12 23:29:03

存储器对文件是怎样存储的机制是什麽

存储器分为内存储器(简称内存或主存)、外存储器(简称外存或辅存)。外存储器一般也可作为输入/输出设备。计算机把要执行的程序和数据存入内存中,内存一般由半导体器构成。半导体存储器可分为三大类:随机存储器、只读存储器、特殊存储器。
RAM
RAM是随机存取存储器(Random Access Memory),其特点是可以读写,存取任一单元所需的时间相同,通电是存储器内的内容可以保持,断电后,存储的内容立即消失。RAM可分为动态(Dynamic RAM)和静态(Static RAM)两大类。所谓动态随机存储器DRAM是用MOS电路和电容来作存储元件的。由于电容会放电,所以需要定时充电以维持存储内容的正确,例如互隔2ms刷新一次,因此称这为动态存储器。所谓静态随机存储器SRAM是用双极型电路或MOS电路的触发器来作存储元件的,它没有电容放电造成的刷新问题。只要有电源正常供电,触发器就能稳定地存储数据。DRAM的特点是集成密度高,主要用于大容量存储器。SRAM的特点是存取速度快,主要用于调整缓冲存储器。
ROM
ROM是只读存储器(Read Only Memory),它只能读出原有的内容,不能由用户再写入新内容。原来存储的内容是由厂家一次性写放的,并永久保存下来。ROM可分为可编程(Programmable)ROM、可擦除可编程(Erasable Programmable)ROM、电擦除可编程(Electrically Erasable Programmable)ROM。如,EPROM存储的内容可以通过紫外光照射来擦除,这使它的内可以反复更改。
特殊固态存储器
包括电荷耦合存储器、磁泡存储器、电子束存储器等,它们多用于特殊领域内的信息存储。
此外,描述内、外存储容量的常用单位有:
①位/比特(bit):这是内存中最小的单位,二进制数序列中的一个0或一个1就是一比比特,在电脑中,一个比特对应着一个晶体管。
②字节(B、Byte):是计算机中最常用、最基本的存在单位。一个字节等于8个比特,即1 Byte=8bit。
③千字节(KB、Kilo Byte):电脑的内存容量都很大,一般都是以千字节作单位来表示。1KB=1024Byte。
④兆字节(MB Mega Byte):90年代流行微机的硬盘和内存等一般都是以兆字节(MB)为单位。1 MB=1024KB。
⑤吉字节(GB、Giga Byte):目前市场流行的微机的硬盘已经达到4.3GB、6.4GB、8.1GB、12G、13GB等规格。1GB=1024MB。
⑥太字节(TB、Tera byte):1TB=1024GB。
(三)输入/输出设备
输入设备是用来接受用户输入的原始数据和程序,并将它们变为计算机能识别的二进制存入到内存中。常用的输入设备有键盘、鼠标、扫描仪、光笔等。
输出设备用于将存入在内存中的由计算机处理的结果转变为人们能接受的形式输出。常用的输出设备有显示器、打印机、绘图仪等。
(四)总线
总线是一组为系统部件之间数据传送的公用信号线。具有汇集与分配数据信号、选择发送信号的部件与接收信号的部件、总线控制权的建立与转移等功能。典型的微机计算机系统的结构如图2-3所示,通常多采用单总线结构,一般按信号类型将总线分为三组,其中AB(Address Bus)为地址总线;DB(Data Bus)为数据总线;CB(Control Bus)控制总线。
(五)微型计算机主要技术指标
①CPU类型:是指微机系统所采用的CPU芯片型号,它决定了微机系统的档次。
②字长:是指CPU一次最多可同时传送和处理的二进制位数,安长直接影响到计算机的功能、用途和应用范围。如Pentium是64位字长的微处理器,即数据位数是64位,而它的寻址位数是32位。
③时钟频率和机器周期:时钟频率又称主频,它是指CPU内部晶振的频率,常用单位为兆(MHz),它反映了CPU的基本工作节拍。一个机器周期由若干个时钟周期组成,在机器语言中,使用执行一条指令所需要的机器周期数来说明指令执行的速度。一般使用CPU类型和时钟频率来说明计算机的档次。如Pentium III 500等。
④运算速度:是指计算机每秒能执行的指令数。单位有MIPS(每秒百万条指令)、MFLOPS(秒百万条浮点指令)
⑤存取速度:是指存储器完成一次读取或写存操作所需的时间,称为存储器的存取时间或访问时间。而边连续两次或写所需要的最短时间,称为存储周期。对于半导体存储器来说,存取周期大约为几十到几百毫秒之间。它的快慢会影响到计算机的速度。
⑥内、外存储器容量:是指内存存储容量,即内容储存器能够存储信息的字节数。外储器是可将程序和数据永久保存的存储介质,可以说其容量是无限的。如硬盘、软盘已是微机系统中不可缺少的外部设备。迄今为止,所有的计算机系统都是基于冯·诺依曼存储程序的原理。内、外存容量越大,所能运行的软件功能就越丰富。CPU的高速度和外存储器的低速度是微机系统工作过程中的主要瓶颈现象,不过由于硬盘的存取速度不断提高,目前这种现象已有所改善。

㈡ 计算机储存原理

动态存储器(DRAM)的工作原理

动态存储器每片只有一条输入数据线,而地址引脚只有8条。为了形成64K地址,必须在系统地址总线和芯片地址引线之间专门设计一个地址形成电路。使系统地址总线信号能分时地加到8个地址的引脚上,借助芯片内部的行锁存器、列锁存器和译码电路选定芯片内的存储单元,锁存信号也靠着外部地址电路产生。

当要从DRAM芯片中读出数据时,CPU首先将行地址加在A0-A7上,而后送出RAS锁存信号,该信号的下降沿将地址锁存在芯片内部。接着将列地址加到芯片的A0-A7上,再送CAS锁存信号,也是在信号的下降沿将列地址锁存在芯片内部。然后保持WE=1,则在CAS有效期间数据输出并保持。

当需要把数据写入芯片时,行列地址先后将RAS和CAS锁存在芯片内部,然后,WE有效,加上要写入的数据,则将该数据写入选中的存贮单元。

由于电容不可能长期保持电荷不变,必须定时对动态存储电路的各存储单元执行重读操作,以保持电荷稳定,这个过程称为动态存储器刷新。PC/XT机中DRAM的刷新是利用DMA实现的。

首先应用可编程定时器8253的计数器1,每隔1⒌12μs产生一次DMA请求,该请求加在DMA控制器的0通道上。当DMA控制器0通道的请求得到响应时,DMA控制器送出到刷新地址信号,对动态存储器执行读操作,每读一次刷新一行。

(2)存储器如何管理数据扩展阅读

描述内、外存储容量的常用单位有:

1、位/比特(bit):这是内存中最小的单位,二进制数序列中的一个0或一个1就是一比比特,在电脑中,一个比特对应着一个晶体管。

2、字节(B、Byte):是计算机中最常用、最基本的存在单位。一个字节等于8个比特,即1 Byte=8bit。

3、千字节(KB、Kilo Byte):电脑的内存容量都很大,一般都是以千字节作单位来表示。1KB=1024Byte。

4、兆字节(MBMega Byte):90年代流行微机的硬盘和内存等一般都是以兆字节(MB)为单位。1 MB=1024KB。

5、吉字节(GB、Giga Byte):市场流行的微机的硬盘已经达到430GB、640GB、810GB、1TB等规格。1GB=1024MB。

6、太字节(TB、Tera byte):1TB=1024GB。最新有了PB这个概念,1PB=1024TB。

㈢ 简述存储管理的主要功能

1、寻址空间

操作系统让系统看上去有比实际内存大得多的内存空间。虚拟内存可以是系统中实际物理空间的许多倍。每个进程运行在其独立的虚拟地址空间中。

这些虚拟空间相互之间都完全隔离开来,所以进程间不会互相影响。同时,硬件虚拟内存机构可以将内存的某些区域设置成不可写。这样可以保护代码与数据不会受恶意程序的干扰。

2、存储管理内存映射

内存映射技术可以将映象文件和数据文件直接映射到进程的地址空间。在内存映射中,文件的内容被直接连接到进程虚拟地址空间上。

3、存储管理物理内存分配

内存管理子系统允许系统中每个运行的进程公平地共享系统中的物理内存。

4、存储管理共享虚拟内存

尽管虚拟内存允许进程有其独立的虚拟地址空间,但有时也需要在进程之间共享内存。 例如有可能系统中有几个进程同时运行BASH命令外壳程序。为了避免在每个进程的虚拟内存空间内都存在BASH程序的拷贝,较好的解决办法是系统物理内存中只存在一份BASH的拷贝并在多个进程间共享。

(3)存储器如何管理数据扩展阅读:

相关延伸:存储管理存储知识结构

1、系统管理:UNIX/Linux/Windows操作系统管理。

2、开发技术:C/C++,网络编程,多进程/多线程,进程间通信。

3、存储基础:磁盘、RAID阵列、文件系统等存储相关硬件和软件的安装、配置、调试。

4、存储系统:RAID,DAS,SAN,NAS, CAS等。

5、存储协议:TCP/IP,SCSI,iSCSI,NFS/CIFS等。

6、文件系统:VFS, EXTx/NTFS/FAT32等磁盘文件系统,NFS/CIFS网络文件系统,Lustre/GFS/AFS等分布式文件系统。

7、存储技术:Deplication,SSD,HSM,Virtualization,Snapshot,Replication,CDP, VTL,Thin Provision等等。

8、存储架构:掌握不同行业的存储需求,能够根据实际需求提出存储解决方案,并进行存储系统架构、设计和实现

㈣ 计算机是如何储存数据的

计算机通过存储系统来完成信息的保存和提取。
存储系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。计算机的主存储器不能同时满足存取速度快、存储容量大和成本低的要求,在计算机中必须有速度由慢到快、容量由大到小的多级层次存储器,以最优的控制调度算法和合理的成本,构成具有性能可接受的存储系统。
在计算机系统中存储层次可分为高速缓冲存储器、主存储器、辅助存储器三级。高速缓冲存储器用来改善主存储器与中央处理器的速度匹配问题。辅助存储器用于扩大存储空间。信息存取过程中,存储系统必须完成逻辑地址空间和物理地址空间之间的变换,并且合理地管理存储系统资源。逻辑地址是指程序员编制的程序地址,由它构成逻辑地址空间。程序主存储器中的实际地址称为物理地址,由它构成物理地址空间。存储映像基本上分为两种情况:一种是逻辑地址空间小于物理地址空间,映像要求可以访问所有的物理存储器;另一种是逻辑地址空间大于物理地址空间,映像要确定每个逻辑地址实际所对应的物理地址。

㈤ 计算机是怎么存储数据的

数据结构为计算机存储、组织数据的方式。数据结构指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

数据存储对象包括数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据以某种格式记录在计算机内部或外部存储介质上。数据存储要命名,这种命名要反映信息特征的组成含义。数据流反映了系统中流动的数据,表现出动态数据的特征;数据存储反映系统中静止的数据,表现出静态数据的特征。



(5)存储器如何管理数据扩展阅读

磁盘和磁带都是常用的存储介质。数据存储组织方式因存储介质而异。在磁带上数据仅按顺序文件方式存取;在磁盘上则可按使用要求采用顺序存取或直接存取方式。数据存储方式与数据文件组织密切相关,其关键在于建立记录的逻辑与物理顺序间对应关系,确定存储地址,以提高数据存取速度。

㈥ 计算机是如何处理信息的

不论何种计算机,它们都是由硬件和软件所组成,两者是不可分割的。人们把没有安装任何软件的计算机称为裸机。
硬件
计算机系统中所使用的电子线路和物理设备,是看得见、摸得着的实体,如中央处理器( CPU )、存储器、外部设备(输入输出设备、I/O设备)及总线等。
①存储器。主要功能是存放程序和数据,程序是计算机操作的依据,数据是计算机操作的对象。存储器是由存储体、地址译码器 、读写控制电路、地址总线和数据总线组成。能由中央处理器直接随机存取指令和数据的存储器称为主存储器,磁盘、磁带、光盘等大容量存储器称为外存储器(或辅助存储器) 。由主存储器、外部存储器和相应的软件,组成计算机的存储系统。
②中央处理器的主要功能是按存在存储器内的程序 ,逐条地执行程序所指定的操作。中央处理器的主要组成部分是:数据寄存器、指令寄存器、指令译码器、算术逻辑部件、操作控制器、程序计数器(指令地址计数器 )、地址寄存器等。
③外部设备是用户与机器之间的桥梁。输入设备的任务是把用户要求计算机处理的数据、字符、文字、图形和程序等各种形式的信息转换为计算机所能接受的编码形式存入到计算机内。输出设备的任务是把计算机的处理结果以用户需要的形式(如屏幕显示、文字打印、图形图表、语言音响等)输出。输入输出接口是外部设备与中央处理器之间的缓冲装置,负责电气性能的匹配和信息格式的转换。
软件
对能使计算机硬件系统顺利和有效工作的程序集合的总称。程序总是要通过某种物理介质来存储和表示的 ,它们是磁盘、磁带、程序纸、穿孔卡等,但软件并不是指这些物理介质,而是指那些看不见、摸不着的程序本身。可靠的计算机硬件如同一个人的强壮体魄,有效的软件如同一个人的聪颖思维。
计算机的软件系统可分为系统软件和应用软件两部分。系统软件是负责对整个计算机系统资源的管理、调度、监视和服务。应用软件是指各个不同领域的用户为各自的需要而开发的各种应用程序。计算机软件系统包括:
①操作系统 :系统软件的核心,它负责对计算机系统内各种软、硬资源的管理、控制和监视。
数据库管理系统:负责对计算机系统内全部文件、资料和数据的管理和共享。
③编译系统:负责把用户用高级语言所编写的源程序编译成机器所能理解和执行的机器语言。
④网络系统:负责对计算机系统的网络资源进行组织和管理,使得在多台独立的计算机间能进行相互的资源共享和通信。
⑤标准程序库:按标准格式所编写的一些程序的集合,这些标准程序包括求解初等函数、线性方程组、常微分方程、数值积分等计算程序。
⑥服务性程序:也称实用程序。为增强计算机系统的服务功能而提供的各种程序 ,包括对用户程序的装置、连接、编辑、查错、纠错、诊断等功能。为了使计算机能算得快和准、记得多和牢,数十年来,对提高单机中的中央处理器的处理速度和精度,对提高存储器的存取速度和容量作了许多改进,如:增加运算器的基本字长和提高运算器的精度;增加新的数据类型,或对数据进行自定义,使数据带有标志符,用以区别指令和数,及说明数据类型;在 CPU 内增设通用寄存器、采用变址寄存器、增加间接寻址功能和增设高速缓冲存储器和采用堆栈技术;采用存储器交叉存取技术及虚拟存储器技术;采用指令流水线和运算流水线;采用多个功能部件和增设协处理器等。

电脑内部没有化学变化

㈦ 在存储器管理中,经常使用哪一种数据结构管理内存的使用情况

使用静态重定位数据结构管理内存。
又称可重定位装入。编译链接后的装入模块的地址都是从0开始的,指令中使用的地址、数据存放的地址都是相对于起始地址而言的逻辑地址。
内存是用于存放数据的硬件,程序执行前需要先放到内存中才能被CPU处理。

㈧ 计算机里的数据在存储器里是如何储存的

数据有数值型和非数值型两类,这些数据在计算机中都必须以二进制形式表示。一串二进制数既可表示数量值,也可表示一个字符、汉字或其他。一串二进制数代表的数据不同,含义也不同。这些数据在计算机的存储设备中是如何进行组织存储的?

数据单位
位(bit),音译为“比特”,是计算机存储设备的最小单位,由数字0或1组成。
字节(Byte),简写为“B”,音译为“拜特”,简写为“B”。8个二进制位编为一组称为一个字节,即:1B = 8bit。字节是计算机处理数据的基本单位,即以字节为单位解释信息。通常,一个ASCII码占1个字节;一个汉字国标码占2个字节;整数占2个字节;实数,即带有小数点的数,用4个字节组成浮点形式等。
字(word),计算机一次存取、处理和传输的数据长度称为字,即:一组二进制数码作为一个整体来参加运算或处理的单位。一个字通常由一个或多个字节构成,用来存放一条指令或一个数据。
字长,一个字中所包含的二进制数的位数称为字长。不同的计算机,字长是不同的,常用的字长有8位、16位、32位和64位等,也就是经常说的8位机、16位机、32位机或64位机。例如,一台计算机如果用8个二进制位表示一个字,就说该机是八位机,或者说它的字长是8位的;又如,一个字由两个字节组成,即16个二进制位,则字长为16位。字长是衡量计算机性能的一个重要标志。字长越长,一次处理的数字位数越大,速度也就越快

编址与地址
编址,对计算机存储单元编号的过程称为“编址”,是以字节为单位进行的。
地址,存储单元的编号称为地址。

注意:地址号与存储单元是一一对应的,CPU通过单元地址访问存储单元中的信息,地址所对应的存储单元中的信息是CPU操作的对象,即数据或指令本身。地址也是用二进制编码表示,为便于识别通常采用16进制。

㈨ 操作系统中 存储器对什么进行管理

存储管理即是对主存的管理,它是操作系统的重要功能之一。主存储器是计算机系统中的一种宝贵资源,对主存的管理和有效使用是操作系统中十分重要的内容。为了便于对主存进行有效的管理,应该将主存分成若干个区域,以便同时存放多个用户程序和系统软件。因此,存储管理应具有如下功能:主存的分配和回收、提高主存的利用率、“扩充”主存容量和存储保护。存储分配主要解决多道作业之间划分主存空间的问题,存储分配有三种主要方式:直接分配方式、静态分配方式和动态分配方式。绝大多数计算机系统都采用静态分配方式或动态分配方式。为了实现静态和动态两种存储分配策略,需要采用将逻辑地址与物理地址分开,并对逻辑地址实施地址重定位技术。所谓重定位是由于一个作业装入到与其地址空间不一致的存储空间时所引起的有关地址调整过程,实质上,这是一个地址变换过程,地址变换也称为地址映射。根据地址变换进行的时间及采用的技术手段不同,可以把重定位分为两类:静态重定位和动态重定位。所谓静态重定位是在程序运行之前,由链接装配程序进行的重定位。静态重定位的特点是无需增加硬件地址变换机构,但要求为每个程序分配一个连续的存储区,且在程序执行期间不能移动,故难于做到程序和数据的共享;动态重定位是在程序的执行过程中,每当访问到指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址。动态重定位的实现需要依靠硬件地址变换机构。最简单的实现方法是利用一个重定位寄存器。动态重定位的特点是需要附加硬件的支持,优点是可以将程序分配到不连续的存储区中,在程序运行之前可以只装入部分代码即可运行,然后在程序运行期间,根据需要动态地申请分配内存,所以,便以程序段的共享,并且可向用户提供一个比主存的存储空间大得多的地址空间,该地址空间也称为虚拟存储器。

㈩ 存储器的原理是什么

存储器讲述工作原理及作用

介绍

存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。

2.按存取方式分类

(1)随机存储器(RAM):如果存储器中任何存储单元的内容都能被随机存取,且存取时间与存储单元的物理位置无关,则这种存储器称为随机存储器(RAM)。RAM主要用来存放各种输入/输出的程序、数据、中间运算结果以及存放与外界交换的信息和做堆栈用。随机存储器主要充当高速缓冲存储器和主存储器。

(2)串行访问存储器(SAS):如果存储器只能按某种顺序来存取,也就是说,存取时间与存储单元的物理位置有关,则这种存储器称为串行访问存储器。串行存储器又可分为顺序存取存储器(SAM)和直接存取存储器(DAM)。顺序存取存储器是完全的串行访问存储器,如磁带,信息以顺序的方式从存储介质的始端开始写入(或读出);直接存取存储器是部分串行访问存储器,如磁盘存储器,它介于顺序存取和随机存取之间。

(3)只读存储器(ROM):只读存储器是一种对其内容只能读不能写入的存储器,即预先一次写入的存储器。通常用来存放固定不变的信息。如经常用作微程序控制存储器。目前已有可重写的只读存储器。常见的有掩模ROM(MROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM).ROM的电路比RAM的简单、集成度高,成本低,且是一种非易失性存储器,计算机常把一些管理、监控程序、成熟的用户程序放在ROM中。

3.按信息的可保存性分类

非永久记忆的存储器:断电后信息就消失的存储器,如半导体读/写存储器RAM。

永久性记忆的存储器:断电后仍能保存信息的存储器,如磁性材料做成的存储器以及半导体ROM。

4.按在计算机系统中的作用分

根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。

能力影响

从写命令转换到读命令,在某个时间访问某个地址,以及刷新数据等操作都要求数据总线在一定时间内保持休止状态,这样就不能充分利用存储器通道。此外,宽并行总线和DRAM内核预取都经常导致不必要的大数据量存取。在指定的时间段内,存储器控制器能存取的有用数据称为有效数据速率,这很大程度上取决于系统的特定应用。有效数据速率随着时间而变化,常低于峰值数据速率。在某些系统中,有效数据速率可下降到峰值速率的10%以下。

通常,这些系统受益于那些能产生更高有效数据速率的存储器技术的变化。在CPU方面存在类似的现象,最近几年诸如AMD和 TRANSMETA等公司已经指出,在测量基于CPU的系统的性能时,时钟频率不是唯一的要素。存储器技术已经很成熟,峰值速率和有效数据速率或许并不比以前匹配的更好。尽管峰值速率依然是存储器技术最重要的参数之一,但其他结构参数也可以极大地影响存储器系统的性能。

影响有效数据速率的参数

有几类影响有效数据速率的参数,其一是导致数据总线进入若干周期的停止状态。在这类参数中,总线转换、行周期时间、CAS延时以及RAS到CAS的延时(tRCD)引发系统结构中的大部分延迟问题。

总线转换本身会在数据通道上产生非常长的停止时间。以GDDR3系统为例,该系统对存储器的开放页不断写入数据。在这期间,存储器系统的有效数据速率与其峰值速率相当。不过,假设100个时钟周期中,存储器控制器从读转换到写。由于这个转换需要6个时钟周期,有效的数据速率下降到峰值速率的 94%。在这100个时钟周期中,如果存储器控制器将总线从写转换到读的话,将会丢失更多的时钟周期。这种存储器技术在从写转换到读时需要15个空闲周期,这会将有效数据速率进一步降低到峰值速率的79%。表1显示出针几种高性能存储器技术类似的计算结果。

显然,所有的存储器技术并不相同。需要很多总线转换的系统设计师可以选用诸如XDR、RDRAM或者DDR2这些更高效的技术来提升性能。另一方面,如果系统能将处理事务分组成非常长的读写序列,那么总线转换对有效带宽的影响最小。不过,其他的增加延迟现象,例如库(bank)冲突会降低有效带宽,对性能产生负面影响。

DRAM技术要求库的页或行在存取之前开放。一旦开放,在一个最小周期时间,即行周期时间(tRC)结束之前,同一个库中的不同页不能开放。对存储器开放库的不同页存取被称为分页遗漏,这会导致与任何tRC间隔未满足部分相关的延迟。对于还没有开放足够周期以满足tRC间隙的库而言,分页遗漏被称为库冲突。而tRC决定了库冲突延迟时间的长短,在给定的DRAM上可用的库数量直接影响库冲突产生的频率。

大多数存储器技术有4个或者8个库,在数十个时钟周期具有tRC值。在随机负载情况下,那些具有8个库的内核比具有4个库的内核所发生的库冲突更少。尽管tRC与库数量之间的相互影响很复杂,但是其累计影响可用多种方法量化。

存储器读事务处理

考虑三种简单的存储器读事务处理情况。第一种情况,存储器控制器发出每个事务处理,该事务处理与前一个事务处理产生一个库冲突。控制器必须在打开一个页和打开后续页之间等待一个tRC时间,这样增加了与页循环相关的最大延迟时间。在这种情况下的有效数据速率很大程度上决定于I/O,并主要受限于DRAM内核电路。最大的库冲突频率将有效带宽削减到当前最高端存储器技术峰值的20%到30%。

在第二种情况下,每个事务处理都以随机产生的地址为目标。此时,产生库冲突的机会取决于很多因素,包括tRC和存储器内核中库数量之间的相互作用。tRC值越小,开放页循环地越快,导致库冲突的损失越小。此外,存储器技术具有的库越多,随机地址存取库冲突的机率就越小。

第三种情况,每个事务处理就是一次页命中,在开放页中寻址不同的列地址。控制器不必访问关闭页,允许完全利用总线,这样就得到一种理想的情况,即有效数据速率等于峰值速率。

第一种和第三种情况都涉及到简单的计算,随机情况受其他的特性影响,这些特性没有包括在DRAM或者存储器接口中。存储器控制器仲裁和排队会极大地改善库冲突频率,因为更有可能出现不产生冲突的事务处理,而不是那些导致库冲突的事务处理。

然而,增加存储器队列深度未必增加不同存储器技术之间的相对有效数据速率。例如,即使增加存储器控制队列深度,XDR的有效数据速率也比 GDDR3高20%。存在这种增量主要是因为XDR具有更高的库数量以及更低的tRC值。一般而言,更短的tRC间隔、更多的库数量以及更大的控制器队列能产生更高的有效带宽。

实际上,很多效率限制现象是与行存取粒度相关的问题。tRC约束本质上要求存储器控制器从新开放的行中存取一定量的数据,以确保数据管线保持充满。事实上,为保持数据总线无中断地运行,在开放一个行之后,只须读取很少量的数据,即使不需要额外的数据。

另外一种减少存储器系统有效带宽的主要特性被归类到列存取粒度范畴,它规定了每次读写操作必须传输的数据量。与之相反,行存取粒度规定每个行激活(一般指每个RAS的CAS操作)需要多少单独的读写操作。列存取粒度对有效数据速率具有不易于量化的巨大影响。因为它规定一个读或写操作中需要传输的最小数据量,列存取粒度给那些一次只需要很少数据量的系统带来了问题。例如,一个需要来自两列各8字节的16字节存取粒度系统,必须读取总共32字节以存取两个位置。因为只需要32个字节中的16个字节,系统的有效数据速率降低到峰值速率的50%。总线带宽和脉冲时间长度这两个结构参数规定了存储器系统的存取粒度。

总线带宽是指连接存储器控制器和存储器件之间的数据线数量。它设定最小的存取粒度,因为对于一个指定的存储器事务处理,每条数据线必须至少传递一个数据位。而脉冲时间长度则规定对于指定的事务处理,每条数据线必须传递的位数量。每个事务处理中的每条数据线只传一个数据位的存储技术,其脉冲时间长度为1。总的列存取粒度很简单:列存取粒度=总线宽度×脉冲时间长度。

很多系统架构仅仅通过增加DRAM器件和存储总线带宽就能增加存储系统的可用带宽。毕竟,如果4个400MHz数据速率的连接可实现 1.6GHz的总峰值带宽,那么8个连接将得到3.2GHz。增加一个DRAM器件,电路板上的连线以及ASIC的管脚就会增多,总峰值带宽相应地倍增。

首要的是,架构师希望完全利用峰值带宽,这已经达到他们通过物理设计存储器总线所能达到的最大值。具有256位甚或512位存储总线的图形控制器已并不鲜见,这种控制器需要1,000个,甚至更多的管脚。封装设计师、ASIC底层规划工程师以及电路板设计工程师不能找到采用便宜的、商业上可行的方法来对这么多信号进行布线的硅片区域。仅仅增加总线宽度来获得更高的峰值数据速率,会导致因为列存取粒度限制而降低有效带宽。

假设某个特定存储技术的脉冲时间长度等于1,对于一个存储器处理,512位宽系统的存取粒度为512位(或者64字节)。如果控制器只需要一小段数据,那么剩下的数据就被浪费掉,这就降低了系统的有效数据速率。例如,只需要存储系统32字节数据的控制器将浪费剩余的32字节,进而导致有效的数据速率等于50%的峰值速率。这些计算都假定脉冲时间长度为1。随着存储器接口数据速率增加的趋势,大多数新技术的最低脉冲时间长度都大于1。

选择技巧

存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择是一个非常重要的决策。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。

选择存储器时应遵循的基本原则

1、内部存储器与外部存储器

一般情况下,当确定了存储程序代码和数据所需要的存储空间之后,设计工程师将决定是采用内部存储器还是外部存储器。通常情况下,内部存储器的性价比最高但灵活性最低,因此设计工程师必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。基于成本考虑,人们通常选择能满足应用要求的存储器容量最小的微控制器,因此在预测代码规模的时候要必须特别小心,因为代码规模增大可能要求更换微控制器。目前市场上存在各种规模的外部存储器器件,我们很容易通过增加存储器来适应代码规模的增加。有时这意味着以封装尺寸相同但容量更大的存储器替代现有的存储器,或者在总线上增加存储器。即使微控制器带有内部存储器,也可以通过增加外部串行EEPROM或闪存来满足系统对非易失性存储器的需求。

2、引导存储器

在较大的微控制器系统或基于处理器的系统中,设计工程师可以利用引导代码进行初始化。应用本身通常决定了是否需要引导代码,以及是否需要专门的引导存储器。例如,如果没有外部的寻址总线或串行引导接口,通常使用内部存储器,而不需要专门的引导器件。但在一些没有内部程序存储器的系统中,初始化是操作代码的一部分,因此所有代码都将驻留在同一个外部程序存储器中。某些微控制器既有内部存储器也有外部寻址总线,在这种情况下,引导代码将驻留在内部存储器中,而操作代码在外部存储器中。这很可能是最安全的方法,因为改变操作代码时不会出现意外地修改引导代码。在所有情况下,引导存储器都必须是非易失性存储器。

可以使用任何类型的存储器来满足嵌入式系统的要求,但终端应用和总成本要求通常是影响我们做出决策的主要因素。有时,把几个类型的存储器结合起来使用能更好地满足应用系统的要求。例如,一些PDA设计同时使用易失性存储器和非易失性存储器作为程序存储器和数据存储器。把永久的程序保存在非易失性ROM中,而把由用户下载的程序和数据存储在有电池支持的易失性DRAM中。不管选择哪种存储器类型,在确定将被用于最终应用系统的存储器之前,设计工程师必须仔细折中考虑各种设计因素。