当前位置:首页 » 服务存储 » 二进制在存储器读写操作原理
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

二进制在存储器读写操作原理

发布时间: 2022-06-10 19:51:12

1. 存储器的原理\

由RS触发器存储的一个高低点位表示二进制的0或1,,,,,,,,,N个后就存储了信息。

2. 电脑存储设备的储存原理是什么!

电脑的存储设备由两部分构成,一部分是主存储器,即内存,它可以直接与CPU交换数据,读取快,但断电后数据不能保存;另一部分是辅助存储器,也叫外存储器,它不能直接与CPU交换数据,如硬盘、软盘、光盘等,软硬盘是靠磁记录信息的,是同心圆,光盘是光介质,它是一条渐开线,二者的介质不同。早期的电脑是内存大外存小,现在是外存大内存小。满意就顶一下。

3. 存储器的读写过程是什么样的

首页 采购专区 供应专区 技术资料 环保电子 商情资讯 我的B2BIC

5.1 存储器系统基本知识

作者: 时间: 2008-04-10 来源:

5.1.1存储器的分类

按照存储介质不同,可以将存储器分为半导体存储器、磁存储器、激光存储器。

这里我们只讨论构成内存的半导体存储器。

按照存储器的存取功能不同,半导体存储器可分为只读存储器(Read Only Memory简称ROM)和随机存储器(Random Access Memory简称RAM)

1.只读存储器(ROM)

ROM的特点是把信息写入存储器以后,能长期保存,不会因电源断电而丢失信息。计算机在运行过程中,只能读出只读存储器中的信息,不能再写入信息。一般地,只读存储器用来存放固定的程序和数据,如微机的监控程序、汇编程序、用户程序、数据表格等。根据编程方式的不同,ROM共分为以下5种:

(1)掩模工艺ROM

这种ROM是芯片制造厂根据ROM要存贮的信息,设计固定的半导体掩模版进行生产的。一旦制出成品之后,其存贮的信息即可读出使用,但不能改变。这种ROM常用于批量生产,生产成本比较低。微型机中一些固定不变的程序或数据常采用这种ROM存贮。

(2)可一次性编程ROM(PROM)

为了使用户能够根据自己的需要来写ROM,厂家生产了一种PROM。允许用户对其进行一次编程──写入数据或程序。一旦编程之后,信息就永久性地固定下来。用户可以读出和使用,但再也无法改变其内容。

(3)紫外线擦除可改写ROM(EPROM)

可改写ROM芯片的内容也由用户写入,但允许反复擦除重新写入。EPROM是用电信号编程而用紫外线擦除的只读存储器芯片。在芯片外壳上方的中央有一个圆形窗口,通过这个窗口照射紫外线就可以擦除原有的信息。由于阳光中有紫外线的成分,所以程序写好后要用不透明的标签封窗口,以避免因阳光照射而破坏程序。EPROM的典型芯片是Intel公司的27系列产品,按存储容量不同有多种型号,例如2716(2KB′8)、2732(4KB′8)、2764(8KB′8)、27128(16KB′8)、27256(32KB′8)等,型号名称后的数字表示其存储容量。

(4)电擦除可改写ROM(EEPROM或E2PROM)

这是一种用电信号编程也用电信号擦除的ROM芯片,它可以通过读写操作进行逐个存储单元读出和写入,且读写操作与RAM存储器几乎没有什么差别,所不同的只是写入速度慢一些。但断电后却能保存信息。典型E2PROM芯片有28C16、28C17、2817A等。

(5)快擦写ROM(flash ROM)

E2PROM虽然具有既可读又可写的特点,但写入的速度较慢,使用起来不太方便。而flash ROM是在EPROM和E2PROM的基础上发展起来的一种只读存储器,读写速度都很快,存取时间可达70ns,存储容量可达16MB~128MB。这种芯片可改写次数可从1万次到100万次。典型flash ROM芯片有28F256、28F516、AT89等。

2.随机存储器RAM(也叫读写存储器)

读写存储器RAM按其制造工艺又可以分为双极型RAM和金属氧化物RAM。

(1) 双极型RAM
双极型RAM的主要特点是存取时间短,通常为几到几十纳秒(ns)。与下面提到的MOS型RAM相比,其集成度低、功耗大,而且价格也较高。因此,双极型RAM主要用于要求存取时间短的微型计算机中。

(2) 金属氧化物(MOS)RAM
用MOS器件构成的RAM又分为静态读写存储器(SRAM)和动态读写存储器(DRAM)。

j静态RAM(SRAM)

静态RAM的基本存储单元是MOS双稳态触发器。一个触发器可以存储一个二进制信息。静态RAM的主要特点是,其存取时间为几十到几百纳秒(ns),集成度比较高。目前经常使用的静态存储器每片的容量为几KB到几十KB。SRAM的功耗比双极型RAM低,价格也比较便宜。

k动态RAM(DRAM)

动态RAM的存取速度与SRAM的存取速度差不多。其最大的特点是集成度特别高。其功耗比SRAM低,价格也比SRAM便宜。DRAM在使用中需特别注意的是,它是靠芯片内部的电容来存贮信息的。由于存贮在电容上的信息总是要泄漏的,所以,每隔2ms到4ms,DRAM要求对其存贮的信息刷新一次。

l集成RAM(i RAM)

集成RAM――Integrated RAM,缩写为i RAM,这是一种带刷新逻辑电路的DRAM。由于它自带刷新逻辑,因而简化与微处理器的连接电路,使用它和使用SRAM一样方便。

m非易失性RAM(NVRAM)

非易失性RAM――Non-Volatile RAM,缩写为NVRAM,其存储体由SRAM和EEPROM两部分组合而成。正常读写时,SRAM工作;当要保存信息时(如电源掉电),控制电路将SRAM的内容复制到EEPROM中保存。存入EEPROM中的信息又能够恢复到SRAM中。

NVRAM既能随机存取,又具有非易失性,适合用于需要掉电保护的场合。

5.1.2存储器的主要性能指标
1.存贮容量
不同的存储器芯片,其容量不一样。通常用某一芯片有多少个存贮单元,每个存贮单元存贮若干位来表示。例如,静态RAM6264的容量为8KB′8bit,即它有8K个单元(1K=1024),每个单元存贮8位(一个字节)数据。

2.存取时间
存取时间即存取芯片中某一个单元的数据所需要的时间。在计算机工作时,CPU在读写RAM时,它所提供的读写时间必须比RAM芯片所需要的存取时间长。如果不能满足这一点,微型机则无法正常工作。

3.可靠性
微型计算机要正确地运行,必然要求存储器系统具有很高的可靠性。内存的任何错误就足以使计算机无法工作。而存储器的可靠性直接与构成它的芯片有关。目前所用的半导体存储器芯片的平均故障间隔时间(MTBF)大概是(5′106∽1′108)小时左右。

4.功耗
使用功耗低的存储器芯片构成存储器系统,不仅可以减少对电源容量的要求,而且还可以提高存贮系统的可靠性。

关于我们 | 网站地图 | 推荐给朋友 | 友情链接 | 服务介绍 | 配套杂志 | IC库存
E-mail:[email protected]
Copyright (c) 2003-2008 经营许可证号:冀B2 - 20060071 备案序号:冀ICP备字05001825号
Powered by POAKs 5010375

4. 计算机的存储程序工作原理是什么

计算机的基本原理是:

存储程序和程序控制。

预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中。

每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。

1计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。

2接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。

3程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。

4这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼原理。

5. 存储程序的原理是什麽

冯·诺依曼结构又称作普林斯顿体系结构(Princetionarchitecture)。
1945年,冯·诺依曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯.诺曼型结构”计算机。冯.诺曼结构的处理器使用同一个存储器,经由同一个总线传输。
冯.诺曼结构处理器具有以下几个特点:
必须有一个存储器;
必须有一个控制器;
必须有一个运算器,用于完成算术运算和逻辑运算;
必须有输入和输出设备,用于进行人机通信。
冯·诺依曼的主要贡献就是提出并实现了“存储程序”的概念。由于指令和数据都是二进制码,指令和操作数的地址又密切相关,因此,当初选择这种结构是自然的。但是,这种指令和数据共享同一总线的结构,使得信息流的传输成为限制计算机性能的瓶颈,影响了数据处理速度的提高。
在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。从指令流的定时关系也可看出冯·诺依曼结构与哈佛结构处理方式的差别。举一个最简单的对存储器进行读写操作的指令,指令1至指令3均为存、取数指令,对冯.诺曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。

6. 存储器的基本结构原理

存储器单元实际上是时序逻辑电路的一种。按存储器的使用类型可分为只读存储器(ROM)和随机存取存储器(RAM),两者的功能有较大的区别,因此在描述上也有所不同
存储器是许多存储单元的集合,按单元号顺序排列。每个单元由若干三进制位构成,以表示存储单元中存放的数值,这种结构和数组的结构非常相似,故在VHDL语言中,通常由数组描述存储器

结构
存储器结构在MCS - 51系列单片机中,程序存储器和数据存储器互相独立,物理结构也不相同。程序存储器为只读存储器,数据存储器为随机存取存储器。从物理地址空间看,共有4个存储地址空间,即片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器,I/O接口与外部数据存储器统一编址

存储器是用来存储程序和各种数据信息的记忆部件。存储器可分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)两大类。和CPU直接交换信息的是主存。
主存的工作方式是按存储单元的地址存放或读取各类信息,统称访问存储器。主存中汇集存储单元的载体称为存储体,存储体中每个单元能够存放一串二进制码表示的信息,该信息的总位数称为一个存储单元的字长。存储单元的地址与存储在其中的信息是一一对应的,单元地址只有一个,固定不变,而存储在其中的信息是可以更换的。
指示每个单元的二进制编码称为地址码。寻找某个单元时,先要给出它的地址码。暂存这个地址码的寄存器叫存储器地址寄存器(MAR)。为可存放从主存的存储单元内取出的信息或准备存入某存储单元的信息,还要设置一个存储器数据寄存器(MDR)

7. 二进制是怎么表示的CPU的工作原理

CPU的原始工作模式

在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的。CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管。因此,从这个意义上说,CPU正是由晶体管组合而成的。简单而言,晶体管就是微型电子开关,它们是构建CPU的基石,你可以把一个晶体管当作一个电灯开关,它们有个操作位,分别代表两种状态:ON(开)和OFF(关)。这一开一关就相当于晶体管的连通与断开,而这两种状态正好与二进制中的基础状态“0”和“1”对应!这样,计算机就具备了处理信息的能力。

但你不要以为,只有简单的“0”和“1”两种状态的晶体管的原理很简单,其实它们的发展是经过科学家们多年的辛苦研究得来的。在晶体管之前,计算机依靠速度缓慢、低效率的真空电子管和机械开关来处理信息。后来,科研人员把两个晶体管放置到一个硅晶体中,这样便创作出第一个集成电路,再后来才有了微处理器。

看到这里,你一定想知道,晶体管是如何利用“0”和“1”这两种电子信号来执行指令和处理数据的呢?其实,所有电子设备都有自己的电路和开关,电子在电路中流动或断开,完全由开关来控制,如果你将开关设置为OFF,电子将停止流动,如果你再将其设置为ON,电子又会继续流动。晶体管的这种ON与OFF的切换只由电子信号控制,我们可以将晶体管称之为二进制设备。这样,晶体管的ON状态用“1”来表示,而OFF状态则用“0”来表示,就可以组成最简单的二进制数。众多晶体管产生的多个“1”与“0”的特殊次序和模式能代表不同的情况,将其定义为字母、数字、颜色和图形。举个例子,十进位中的1在二进位模式时也是“1”,2在二进位模式时是“10”,3是“11”,4是“100”,5是“101”,6是“110”等等,依此类推,这就组成了计算机工作采用的二进制语言和数据。成组的晶体管联合起来可以存储数值,也可以进行逻辑运算和数字运算。加上石英时钟的控制,晶体管组就像一部复杂的机器那样同步地执行它们的功能。

CPU的内部结构

现在我们已经大概知道CPU是负责些什么事情,但是具体由哪些部件负责处理数据和执行程序呢?

1.算术逻辑单元ALU(Arithmetic Logic Unit)
ALU是运算器的核心。它是以全加器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可完成加、减、乘、除四则运算和各种逻辑运算。就像刚才提到的,这里就相当于工厂中的生产线,负责运算数据。

2.寄存器组 RS(Register Set或Registers)
RS实质上是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途。通用寄存器的数目因微处理器而异。

3.控制单元(Control Unit)
正如工厂的物流分配部门,控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器0C(Operation Controller)三个部件组成,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。

4.总线(Bus)
就像工厂中各部位之间的联系渠道,总线实际上是一组导线,是各种公共信号线的集合,用于作为电脑中所有各组成部分传输信息共同使用的“公路”。直接和CPU相连的总线可称为局部总线。其中包括: 数据总线DB(Data Bus)、地址总线AB(Address Bus) 、控制总线CB(Control Bus)。其中,数据总线用来传输数据信息;地址总线用于传送CPU发出的地址信息;控制总线用来传送控制信号、时序信号和状态信息等。

CPU的工作流程

由晶体管组成的CPU是作为处理数据和执行程序的核心,其英文全称是:Central Processing Unit,即中央处理器。首先,CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元(包括内部总线及缓冲器)三大部分。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,我们注意到从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。

数据与指令在CPU中的运行

刚才已经为大家介绍了CPU的部件及基本原理情况,现在,我们来看看数据是怎样在CPU中运行的。我们知道,数据从输入设备流经内存,等待CPU的处理,这些将要处理的信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据可以是二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。

我们假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候获取数值,告诉指令译码器什么时候翻译指令等等。

假如数据被送往算术逻辑单元,数据将会执行指令中规定的算术运算和其他各种运算。当数据处理完毕后,将回到寄存器中,通过不同的指令将数据继续运行或者通过DB总线送到数据缓存器中。

基本上,CPU就是这样去执行读出数据、处理数据和往内存写数据3项基本工作。但在通常情况下,一条指令可以包含按明确顺序执行的许多操作,CPU的工作就是执行这些指令,完成一条指令后,CPU的控制单元又将告诉指令读取器从内存中读取下一条指令来执行。这个过程不断快速地重复,快速地执行一条又一条指令,产生你在显示器上所看到的结果。我们很容易想到,在处理这么多指令和数据的同时,由于数据转移时差和CPU处理时差,肯定会出现混乱处理的情况。为了保证每个操作准时发生,CPU需要一个时钟,时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器,它不停地发出脉冲,决定CPU的步调和处理时间,这就是我们所熟悉的CPU的标称速度,也称为主频。主频数值越高,表明CPU的工作速度越快。

如何提高CPU工作效率

既然CPU的主要工作是执行指令和处理数据,那么工作效率将成为CPU的最主要内容,因此,各CPU厂商也尽力使CPU处理数据的速度更快。

根据CPU的内部运算结构,一些制造厂商在CPU内增加了另一个算术逻辑单元(ALU),或者是另外再设置一个处理非常大和非常小的数据浮点运算单元(Floating Point Unit,FPU),这样就大大加快了数据运算的速度。

而在执行效率方面,一些厂商通过流水线方式或以几乎并行工作的方式执行指令的方法来提高指令的执行速度。刚才我们提到,指令的执行需要许多独立的操作,诸如取指令和译码等。最初CPU在执行下一条指令之前必须全部执行完上一条指令,而现在则由分布式的电路各自执行操作。也就是说,当这部分的电路完成了一件工作后,第二件工作立即占据了该电路,这样就大大增加了执行方面的效率。

另外,为了让指令与指令之间的连接更加准确,现在的CPU通常会采用多种预测方式来控制指令更高效率地执行。参考资料::硅谷动力

8. 图灵提出了存储程序的概念和二进制原理

你好,关于这个问题是正确的 图灵计算机工作原理是依靠“存储程序”和“程序控制”相结合的计算机工作原理和过程

9. 存储器的原理是什么

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

介绍

存储器(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中。不管选择哪种存储器类型,在确定将被用于最终应用系统的存储器之前,设计工程师必须仔细折中考虑各种设计因素。

10. 存储器的工作原理是什么

动态读写存贮器(DRAM),以其速度快、集成度高、功耗小、价格低在微型计算机中得到极其广泛地使用。但动态存储器同静态存储器有不同的工作原理。它是靠内部寄生电容充放电来记忆信息,电容充有电荷为逻辑1,不充电为逻辑0。欲深入了解动态RAM的基本原理请点击。 动态存储器有多种系列,如61系列、37系列、41系列、21系列等。图示为2164芯片的引脚图。将鼠标指向相应引脚可看到其对引脚功能。它是一个64K 1bit的DRAM芯片,将8片并接起来,可以构成64KB的动态存储器。
每片只有一条输入数据线,而地址引脚只有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控制 器送出到刷新地址信号,对动态存储器执行读操作,每读一次刷新一行。
只读存贮器(ROM)有多种类型。由于EPROM和EEPROM存贮容量大,可多次擦除后重新对它进行编程而写入新的内容,使用十分方便。尤其是厂家为用户提供了单独地擦除器、编程器或插在各种微型机上的编程卡,大大方便了用户。因此,这种类型的只读存贮器得到了极其广泛的应用。7. RAM的工作时序
为保证存储器准确无误地工作,加到存储器上的地址、数据和控制信号必须遵守几个时间边界条件。
图7.1—3示出了RAM读出过程的定时关系。读出操作过程如下:
欲读出单元的地址加到存储器的地址输入端;
加入有效的选片信号CS;
在 线上加高电平,经过一段延时后,所选择单元的内容出现在I/O端;
让选片信号CS无效,I/O端呈高阻态,本次读出过程结束。
由于地址缓冲器、译码器及输入/输出电路存在延时,在地址信号加到存储器上之后,必须等待一段时间tAA,数据才能稳定地传输到数据输出端,这段时间称为地址存取时间。如果在RAM的地址输入端已经有稳定地址的条件下,加入选片信号,从选片信号有效到数据稳定输出,这段时间间隔记为tACS。显然在进行存储器读操作时,只有在地址和选片信号加入,且分别等待tAA和tACS以后,被读单元的内容才能稳定地出现在数据输出端,这两个条件必须同时满足。图中tRC为读周期,他表示该芯片连续进行两次读操作必须的时间间隔。
写操作的定时波形如图7.1—4所示。写操作过程如下:
将欲写入单元的地址加到存储器的地址输入端;
在选片信号CS端加上有效电平,使RAM选通;
将待写入的数据加到数据输入端;
在 线上加入低电平,进入写工作状态;
使选片信号无效,数据输入线回到高阻状态。
由于地址改变时,新地址的稳定需要经过一段时间,如果在这段时间内加入写控制信号(即 变低),就可能将数据错误地写入其他单元。为防止这种情况出现,在写控制信号有效前,地址必须稳定一段时间tAS,这段时间称为地址建立时间。同时在写信号失效后,地址信号至少还要维持一段写恢复时间tWR。为了保证速度最慢的存储器芯片的写入,写信号有效的时间不得小于写脉冲宽度tWP。此外,对于写入的数据,应在写信号tDW时间内保持稳定,且在写信号失效后继续保持tDH时间。在时序图中还给出了写周期tWC,它反应了连续进行两次写操作所需要的最小时间间隔。对大多数静态半导体存储器来说,读周期和写周期是相等的,一般为十几到几十ns。
ddr一个时钟周期内穿2次数据
ddr2一个时钟周期传4次
所以相同频率下ddr2的带宽是ddr的2倍