当前位置: 首页 > news >正文

25考研计算机组成原理复习·3.1/3.2 存储器概述/主存储器

存储器概述

👩‍💻 层次结构

高速缓存(Cache)

主存储器(主存、内存)

ps:高速缓存和主存储器可直接被CPU读写

辅助存储器(赋存、外存)


主存—辅存:实现虚拟存储系统,解决了主存容量不够的问题

Cache—主存:解决了主存与CPU速度不匹配的问题

分类

按层次结构

按存储介质

半导体存储器

磁表面存储器

光存储器

按存取方式

随机存取存储器(RAM):内存

顺序存取存储器(SAM):磁带

直接存取存储器(DAM):磁盘

相联存储器(可按内容直接访问的存储器CAM):快表

按信息可更改性

读/写存储器,只读存储器(ROM)

断电后信息是否消失

易失性存储器:内存,Cache

非易失性存储器:磁盘、光盘

信息读出后,原信息是否被破坏

破坏性读出:DRAM芯片

非破坏性读出:SRAM芯片、磁盘

存储器性能指标

  1. 存储容量 = 存储字长 * 字长
  2. 单位成本(每位价格)= 总成本/总容量
  3. 数据传输率(主存宽带) = 数据的宽度/存储周期
  4. 存储周期 = 存取时间 + 恢复时间

主存储器

主存储器的基本组成

基本原件

MOS管,作为通电“开关”

电容,存储电荷(即存储二进制0/1)

存储芯片的结构

  1. 译码驱动电路:译码器将地址信号转化为自选通线的高低电平
  2. 存储矩阵(存储体):由多个存储单元构成,每个存储单元又由多个存储元构成
  3. 读写电路:每次读/写一个存储子
  4. 👩‍💻 地址线、数据线、片选线、读写控制线(可能分开两根,也可能只有一根)

寻址

  1. 现代计算机通常按字节编址(每个字节),即每个字节对应一个地址
  2. 按字节寻址、按字寻址、按半字寻址、按双字寻址

SRAM芯片和DRAM芯片

类型特点SRAM(静态RAM)DRAM(动态RAM)
存储信息触发器电容
破坏性读出
读出后需要重写?(再生)不用需要
运行速度
集成度
发热量
存储成本
易失/非易失性存储器?易失(断电后信息消失)易失(断电后信息消失)
需要“刷新”?不需要需要(分散、集中、异步)
送行列地址同时送分两次送(地址线复用技术)
主要用途Cache主存

ps: 分两次送(地址线复用技术):导致地址线、地址引脚减半

ps:需要(分散、集中、异步):“刷新”由存储器独立完成,不需要CPU控制

只读存储器

  1. 掩膜式只读存储器(MROM)
    1. 存储内容由半导体制造厂按用户提出的需要在芯片的生产过程中直接写入,无法血钙
  2. 一次可编程只读存储器(PROM)
    1. 存储内容由用户用专门的设备(编程器)一次性写入,之后无法修改
  3. 可擦除可编程只读存储器(EPROM)
    1. 紫外线擦除(UVEPROM)
    2. 电擦除(EEPROM)
    3. 修改次数有限,写入时间很长
  4. 闪速存储器(Flash Memory)
    1. 如U盘,写入速度较快
  5. 固态硬盘(Solid State Drives)
    1. 控制单元 + FLASH芯片
  • 很多ROM芯片虽然名字是“Read-Only”,但很多ROM也可以“写”
  • 闪存的写速度一般比读速度更慢,因为写之前要擦除
  • RAM芯片是易失性的,ROM芯片是非易失性的。很多ROM也具有“随机存取”的特性

多模块存储器

👩‍💻 存取周期T = 存取时间r + 回复时间

单体多字存储器

  1. 每次并行读出m个连续的字
  2. 总线宽度也要拓展为m个字

多体并行存储器

高位交叉编址

理论上多个存储体可以被并行访问,但是由于通常会连续访问,因此实际效果相当于单纯的扩容

👩‍💻 低位交叉编址
  1. 当存储模块数目m≥T/r时,可使流水线不间断
  2. 每个存储周期内读写地址连续的m个字
  3. 微观上,m个模块被串行访问;宏观上,每个存取周期内所有模块被并行访问

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Hugo 部署与自动更新(Git)
  • c#中Oracle.DataAccess.dll连接数据库的报错处理
  • TiDB系列之:TiCDC同步TiDB数据库数据到Kafka集群Topic
  • Vulnhub靶机-Jangow 1.0.1
  • javaScript中基本数据类型和复杂数据类型数据的存储
  • linux:二进制包安装与源码包安装详解
  • 【计组】第三章和第四章
  • 【考研数学】概率论:4 种方法解答一道题,你觉得哪种方法又快又好呢?
  • postman请求JSON格式,后台@RequestBody实体类接收不到数据
  • 30.x86游戏实战-遍历背包数组
  • Scrapy 爬取旅游景点相关数据(七):利用指纹实现“不重复爬取”
  • 怎么评价程序员40岁了竟然还在撸代码?
  • Python爬虫入门03:用Urllib假装我们是浏览器
  • 【MySQL】表的约束{ 常见约束 空属性 默认值 列描述comment zerofill 主键 复合主键 自增长 唯一键 外键 }
  • 15.3 zookeeper实现分布式锁
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • GraphQL学习过程应该是这样的
  • Netty 4.1 源代码学习:线程模型
  • nodejs实现webservice问题总结
  • orm2 中文文档 3.1 模型属性
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • react-native 安卓真机环境搭建
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端性能优化--懒加载和预加载
  • 使用 Docker 部署 Spring Boot项目
  • 自制字幕遮挡器
  • #07【面试问题整理】嵌入式软件工程师
  • #Linux(帮助手册)
  • (1)Hilt的基本概念和使用
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (2)STM32单片机上位机
  • (CPU/GPU)粒子继承贴图颜色发射
  • (TOJ2804)Even? Odd?
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (二)丶RabbitMQ的六大核心
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (十三)Maven插件解析运行机制
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .gitignore不生效的解决方案
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .net 调用php,php 调用.net com组件 --
  • .NET命令行(CLI)常用命令
  • .NET与 java通用的3DES加密解密方法
  • .NET中的十进制浮点类型,徐汇区网站设计
  • :not(:first-child)和:not(:last-child)的用法
  • @angular/cli项目构建--Dynamic.Form
  • [2023年]-hadoop面试真题(一)
  • [2024-06]-[大模型]-[Ollama]- WebUI