当前位置:首页 > 内存 > 正文

静态内存和动态内存的区别

  • 内存
  • 2024-05-26 07:49:10
  • 2848

一、静态存储和动态存储的区别区别
a)
静态内存分配在编译时完成,不消耗CPU资源;
动态内存分配发生在运行时,分配和释放都会消耗CPU资源。
b)
静态内存分配在栈(stack)上;
动态内存分配在堆(heap)上。
c)
动态内存分配需要支持指针和引用类型,但静态内存分配不需要。
d)
静态内存分配是按照计划分配的,是编译器的责任;
动态内存分配是按需分配的,是程序员的责任。
二、静态内存和动态内存有什么区别,那个好一点?我们平时所说的内存是动态的。
CPU内部的缓存是静态的,而且昂贵。
物理内存的本质是数据的输入、输出并拥有一个或多个具有数据存储功能的集成电路。根据存储信息的功能,存储器可分为只读存储器ROM(ReadOnlyMemory)、可重写只读存储器EPROM(ErasableProgrmmableROM)和随机存取存储器RAM(RandomAccessMemory)。ROM中的信息只能读取,操作者不能修改或删除,因此一般用来存储固定程序。EPROM与普通ROM的区别在于其内容可以使用软件开发过程中常用的特殊工具进行擦除和重写。RAM就是我们俗称的存储器,主要用于存储各种现场输入输出数据、中间计算结果以及与外部存储器交换信息。其存储单元可以根据具体要求进行读、写或重写。一旦断电或断电,其中包含的数据就会丢失。现在的RAM多为MOS半导体电路,分为静态和动态两种。静态RAM依靠双稳态触发器来存储信息;动态RAM依靠MOS电路中的栅极电容来存储信息。由于电容上的电荷会泄漏,需要定期补充,因此动态RAM需要配备刷新电路。但动态RAM比静态RAM具有更高的集成度和更低的功耗,因此成本也更低,适合更大容量的存储器。因此,主存通常采用动态RAM,而高速缓冲存储器(cache)则采用静态RAM。此外,内存还用于显卡、声卡、CMOS等设备中,作为设备缓存或存储某些程序和数据。
动态RAM根据制造工艺不同可分为动态随机存储器(DynamicRAM)、扩展数据输出随机存储器(ExtenedDataOutRAM)和同步动态随机存储器(SysnchromizedDynamicRAM)。


三、计算机中的静态RAM和动态RAM有什么区别?在动态RAM芯片中,每个存储单元存储一位信息。该单元由两部分组成:晶体管和电容器。当然,这些组件非常小,因此单个存储芯片中可以包含数百万个组件。电容器保存一位信息-0或1(有关位的信息,请参阅位和字节)。晶体管充当开关,允许存储芯片上的控制电路读取电容器上的数据或改变其状态。电容器就像一个存储电子的小桶。向存储单元写入1,桶内充满电子;这个“桶”的问题是:它漏水。装满电子的小桶只需要大约几毫秒就可以泄漏出去。因此,要保证动态存储器能够正常工作,所有电容器都必须由CPU或存储器控制器持续充电,使其在电子丢失之前保持“1”的值。为此,内存控制器将首先读取内存中的数据,然后将数据写回。此刷新操作每秒自动发生数千次。动态RAM的名字就来源于此刷新操作。需要不断刷新,否则保存的数据将会丢失。这种刷新操作的缺点是需要时间并且会降低内存速度。静态RAM使用相反的技术。静态RAM使用某种形式的触发器来保存存储器的每一位(有关触发器的详细信息,请参阅布尔逻辑的应用)。存储单元触发器由4或6个晶体管和一些布线组成,但它们不需要刷新。这使得静态RAM比动态RAM更快。然而,由于它们包含更多的组件,静态存储器单元将比动态存储器单元占用更多的芯片空间,使得每个芯片上的存储器更小。