文章目录
  • 一、层次化存储结构
  • 1、层次化存储结构
  • 2、层次化存储结构 - 示例说明
  • 3、程序员可操作的部分




计算机 采用 分级存储结构 , 主要目的是 为了 解决 容量 / 价格 / 速度 之间的矛盾 ;






一、层次化存储结构




1、层次化存储结构



计算机 存储器 按照存储速度 由快到慢 进行排序 :

  • CPU 寄存器 : 在 CPU 内部 , 速度最快 , 每秒可操作几十亿次 , 其容量只有 几个字节到几十个字节不等 , 其访问速度 1 个 CPU 周期 ;
  • CPU 周期 : 指的是 CPU 的运算一次花费的事件 , 2.4GHz 频率的 CPU 1 秒钟运算 24 亿次 , 其周期就是 24 亿分之一秒 ;
  • 寄存器大小 : 32 位 CPU 寄存器有 8位、16位、32位 , 64 位 CPU 寄存器有 8位、16位、32位、64位 ;
  • 高速缓存 Cache : 位于 CPU 与 内存 RAM 之间 , 速度较快 , 用于暂时存放 频繁使用的 指令和数据 , 可根据速度又分为 L1、L2、L3 多级高速缓存 , 大小在几百 KB 到 几 MB 之间 , 访问速度在 1 ~ 30 个 CPU 周期 ;
  • 内存 : 又称为插在计算机的主板上 , 速度慢 , 访问速度在 50 ~ 200 个 CPU 周期 , 一般家用电脑的 内存条 有 4 ~ 32GB 大小 ;
  • RAM 全称 Random Access Memory 是 随机存取存储器 , 一旦掉电数据全部刷掉 ;
  • DRAM 全称 Dynamic Random Access Memory 是 动态随机存取存储器 , 一个电容 存储 1 比特信息
  • SRAM 全称Static Random Access Memory 是 静态随机存取存储器 , 六个晶体管 存储 1 比特 信息
  • ROM 全称 Read-Only Memory 是 只读存储器
  • 外存 : 又称为 " 辅助存储器 " , 挂接在计算机外部的 硬盘 / 固态硬盘 / U 盘 , 容量很大可达到几 TB , 访问速度很慢 磁盘需要几千万个 CPU 周期 / 固态硬盘需要几十万个 CPU 周期 ;
  • 外存 断电后仍然可以存储数据 , 寄存器 / 高速缓存 / 内存 断电后数据消失 ;
  • 这里的 访问速度 指的是 建立连接所需时间 , 访问后吞吐量每秒几百 MB ;

【系统架构设计师】计算机组成与体系结构 ③ ( 层次化存储结构 | 寄存器 | 高速缓存 | 内存 | 外存 )_层次化存储结构



2、层次化存储结构 - 示例说明



安装软件 , 是将 软件的程序包 存储到 外存 ( 磁盘 )

运行软件时 , 将要运行的 数据 加载到 内存 中运行 , 运行时 不会将整个软件包加载到内存中 , 用什么资源 , 就将对应的资源加载到内存中 , 如显示图片 , 就将图片加载到内存中 , 显示完毕后 , 马上释放该图片占用的内存资源 ,

如果需要进行 CPU 计算 , 程序指令调用 , 将 内存中的数据 加载到 高速缓存 Cache

正在执行的指令 , 加载到 CPU 内部的 寄存器



3、程序员可操作的部分



程序员 开发软件 , 可以操作高级缓存 Cache 对开发者透明 ;

  • 高级语言只能操作 内存 和 外存 ,
  • 只有 汇编语言可以操作寄存器 ;

操作 外存 就是 文件管理 ;

操作 内存 就是 定义变量 和 函数 , 运行过程中涉及的操作 栈内存 和 堆内存 ;

  • C 语言可以直接手动操作 堆内存 ;
  • Java / Python 等高级语言 由系统管理 堆内存 ;