存储器的种类和速度
Laiyong Wang Lv6

种类

大致可分为机械硬盘、固态硬盘、内存三种存储器,cpu内也有存储数据的组件:寄存器、CPU L1/L2/L3 Cache,

硬件介质(用的啥保存数据)

寄存器和CPU Cache 用的是 SRAM(Static Random-Access Memory,静态随机存储器) 的芯片
内存用的是 DRAM (Dynamic Random Access Memory,动态随机存取存储器) 的芯片
固体硬盘SSD(Solid-state disk)
机械硬盘HDD(Hard Disk Drive)

断电区别(这点经常在redis的面试里问,这个其实算是原理)

机械硬盘、固态硬盘可持久化保存数据,内存不可持久化保存,断电则消失,cpu里的存储也是断电即消失

数据量

机械硬盘、固态硬盘保存的数据量非常大(正常单位是TB),内存较大(正常单位是为GB),寄存器及CPU Cache 很小,通常是几十kb只几mb之间
原因:HDD、SSD成本很便宜,DRAM成本较贵,SRAM成本很贵

速度

我们常说的读取/写入速度,其实也就是CPU执行程序时取数据的时间,L1 Cache的访问速度几乎和寄存器一样快,但是没它快。
注意:CPU Cache 的数据是从内存加载过来的,写回数据的时候也只写回到内存。硬盘的数据无论读取还是写入都会先一步到内存,参考下方图片可得
SSD 比机械硬盘快 70 倍左右;
内存比机械硬盘快 100000 倍左右;
CPU L1 Cache 比机械硬盘快 10000000 倍左右

upload successful

$li-margin-bottom = 0.8rem $post-tool-button-width = 2.5rem .post-tools-container { padding-top var(--component-gap) .post-tools-list { li { margin-bottom $li-margin-bottom &:last-child { margin-bottom 0 } } li.tools-item { position relative box-sizing border-box width $post-tool-button-width height $post-tool-button-width color var(--text-color-3) font-size 1.2rem background var(--background-color-1) border-radius 50% box-shadow 2px 2px 5px var(--shadow-color) cursor pointer &:hover { box-shadow 2px 2px 8px var(--shadow-hover-color) } i { color var(--text-color-3) } &:hover { color var(--background-color-1) background var(--primary-color) i { color var(--background-color-1) !important } } &.toggle-show-toc { display none } &.go-to-comments { .post-comments-count { position absolute top 0 right -1rem display none align-items center justify-content center box-sizing border-box min-width 1.1rem height 1.1rem padding 0 0.2rem color var(--badge-color) font-size 12px background var(--badge-background-color) border-radius 0.4rem +keep-tablet() { display none !important } } } } li.status-item { width $post-tool-button-width height $post-tool-button-width color var(--text-color-3) font-size 1.6rem cursor pointer &.post-lock { cursor default .fa-lock-open { display none color var(--keep-success-color) } &.decrypt { cursor pointer .fa-lock-open { display block } .fa-lock { display none } } } } } }