6、深入理解计算机系统笔记:存储器层次结构,存储技术(1)-阿里云开发者社区

开发者社区> hopegrace> 正文

6、深入理解计算机系统笔记:存储器层次结构,存储技术(1)

简介: 1、如果你的程序需要的数据是存储在CPU寄存器中的,那么在执行期间,在零个周期内就能访问到它们。如果存储在高速缓冲中,需要1~10个周期。如果存储在主存中,需要50~100个周期。如果存储在磁盘上,需要约20000000个周期。
+关注继续查看

1、如果你的程序需要的数据是存储在CPU寄存器中的,那么在执行期间,在零个周期内就能访问到它们。如果存储在高速缓冲中,需要110个周期。如果存储在主存中,需要50100个周期。如果存储在磁盘上,需要约20000000个周期。<?xml:namespace prefix = o />

2、随机访问存储器(RAMRandom-access memory)分为两类-静态和动态的。静态RAMSRAM)比动态RAMDRAM)更快,但也贵很多。SRAM用来作为高速缓存存储器,即可以在CPU芯片上,也可以不在CPU芯片上。DRAM用来作为主存以及图形系统的帧缓冲区。

3、静态RAM

SRAM将每个位存储在一个双稳态(bistable)存储器单元(cell)中。每个单元是用一个六晶体管电路来实现的。这个电路的一个属性是:它可以无限制地保持在两个不同的电压配置(configuration)或状态(state)之一。其他任何状态都是不稳定的。

由于SRAM的双稳态特性,只要有电,它就会永远地保持它的值,即使有干扰,如电子噪音,当干扰消除,电路也能恢复到稳定值。

4、动态RAM

DRAM将每个位存储为对电容的充电。电容约为30×10-15F

泄露电流的各种因素会导致DRAM单元在10~100毫秒内失去电荷。计算机运行的时钟周期是以纳秒来衡量的。

wps_clip_image-15072

wps_clip_image-22405

    计算机界,倾向于把DRAM的阵列单元称为单元(cell),电路设计者倾向于称之为字(word)。这里称为supercell

wps_clip_image-9383

从图中可以看出,二维阵列组织的缺点就是必须分两步发送地址,这增加了访问时间。

5168个管脚的双列直插存储器模块(Dual Inline Memory Module,DIMM),它以64位为块传送数据到存储控制器和从存储控制器传出数据;72个管脚的单列直插存储器模块(Single Inline Memory Module,SIMM),它以32位为块传送数据。

6SDRAMsynchronous DARM,同步DRAM),SDRAM用与驱动存储器相同的外部时钟信号的上升沿来代替许多这样的控制信号。

DDR SDRAMdouble data-rate synchronous DRAM,双倍数据数率同步DRAM)。DDR SDARM是对SDRAM的一种增加,它通过使用时钟的两个边沿作为控制信号,从而使DRAM的速度翻倍。

7EEPROMelectrically erasable programmable ROM,电子可擦除PROM),类似于DPROM,但是它不需要一个物理上独立的编程设备,因此可以直接在印制电路卡上编程。EEPROM能够编程的次数量级可达10e5次。闪存(flash memory)是一个类小的非易失性存储器,基于EEPROM,支持插拨。

8、存储在ROM设备中的程序通常称为固件(firmware)。

9、访问主存

读事务(read transaction)从主存传送数据到CPU;写事务(write transcation)从CPU传送数据到主存。

总线是一组并行的导线,能携带地址,数据,的控制信号。

wps_clip_image-11195

1)读事务语句

movl A,%eax;

CPU将地址A放到存储器总线->主存从总线读出A,接收字x,然后将x放到总线上->CPU从总线读出字x,并将它copy到寄存器eax中。

2)写事务语句

movl %eax,A

CPU将地址A放到存储器总线,主存读出这个地址,等待接收数据字->CPU将数据字y放到总路上->主存从总线读数据字y,并将它存储在地址A

<Computer Systems:A Programmer's Perspective>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
18、深入理解计算机系统笔记:测量程序执行时间
1、人不能够觉察短于大约100ms的时间段。 2、计算机有一个外部计时器,它周期性地向处理器发送中断信号。这些中断信号之间的时间被称为间隔时间(interval time)。 3、从一个进程切换到另一个进程需要几千个时钟周期来保存当前当前进程的状态。
608 0
31、深入理解计算机系统笔记,并发编程(concurrent)(3)
1、基于预线程化(prethreading)的并发服务器 常规的并发服务器中,我们为每一个客户端创建一个新线程,代价较大。一个基于预线程化的服务器通过使用“生产者-消费者模型”来试图降低这种开销。
928 0
19、深入理解计算机系统笔记,虚拟存储器,基本原理(1)
1、一个系统中的进程是与其他进程共享CPU和主存资源的。 2、虚拟存储器(Virtual Memory),是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完善交互,它为每个进程提供一个大的,一致的,私有地址空间。
718 0
20、深入理解计算机系统笔记,虚拟存储器,基本原理(2)
2)页命中 3)缺页 DRAM缓存不命中称为缺页(page fault)。 VM page fault (before). The reference to a word in VP 3 is a miss and triggers a page fault.
542 0
28、深入理解计算机系统笔记,Web服务器简介
1、Web服务器以两种不同的方式向客户端提供内容: 1)静态内容(static content):从服务器磁盘取得文件并把它返回客户端来服务。 2)动态内容(dynamic content):运行一个可执行文件,并把它的输出返回给客户端。
592 0
23、深入理解计算机系统笔记,虚拟存储器,存储器映射
1、Linux通过将一个虚拟存储器区域与一个磁盘上的对象(object)关联起来,以初始化这个虚拟存储器区域的内容,这个过程称为存储器映射(memory mapping)。虚拟存储器区域可以映射到两种类型的对象: 1)unix文件系统中的普通文件:一个区域可以映射到一个普通磁盘文件的连续部分。
637 0
+关注
698
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载