计算机组成原理——C/存储系统

🌈个人主页:慢了半拍

🔥 创作专栏:《史上最强算法分析》 | 《无味生》 |《史上最强C语言讲解》 | 《史上最强C练习解析》|《史上最强C++讲解》|《史上最强计组》|《史上最强数据结构》

🏆我的格言:一切只是时间问题。 


一、存储器概念

1.1 存储器的分类

可按照不同分类方式进行分类

1.2 存储器的性能指标

1.3 多级层次的存储系统

二、主存储器

2.1 主存储器的基本组成 

1.半导体基本原理

1)存储体的构成

  • 三大部分: 主存储器逻辑上可分为存储体、MAR(地址寄存器)和MDR(数据寄存器)三大部分
  • 层级关系: 存储体由多个存储单元构成,每个存储单元又由多个存储元(存储元件)构成
  • 最小单位: 一个存储元件可存放一位二进制数据(0或1)

2)半导体元件介绍:MOS管

  • 工作原理: 用电控制的开关,当控制端电压达到阈值(如5V)时导通,否则绝缘
  • 半导体特性: 既不是导体也不是绝缘体,电压条件满足时变为导体
  • 图示说明: 控制端加高电平画实线表示导通,低电平画虚线表示绝缘

3)半导体元件介绍:电容

  • 结构组成: 由两块金属板和中间绝缘体构成,下板接地(0V)
  • 充电原理: 上板加高电平(如5V)时产生电压差,电荷移动形成充电
  • 数据表示: 充电状态表示二进制1,未充电表示二进制0

4)二进制数据的读取原理

  • 读取过程:
    • 给MOS管控制端加高电平使其导通
    • 若电容有电荷(表示1),电荷流出产生可检测电流
    • 若电容无电荷(表示0),无电流输出
  • 检测方式: 通过监测输出线是否有电流判断存储的是0还是1

5)二进制数据的写入原理

  • 写入1:
    • 数据线加高电平(5V)
    • MOS管控制端加高电平使其导通
    • 电容上板电压5V,下板0V,产生充电
    • MOS管断开后电荷保留
  • 写入0: 数据线加低电平(0V或1V),电压差不足不充电

6)存储单元与存储体的概念

  • 存储单元: 一行连接的存储元件构成一个存储单元(存储字)
  • 存储体: 多个存储单元构成存储体(存储矩阵)
  • 字长说明: 存储字长取决于每行存储元件数量(如8个存储元件=8位字长)
  • 重要区别: 字节固定8位,存储字长由具体存储体结构决定

2.存储芯片的基本原理

  • 地址译码: n位地址对应 2^n 个存储单元,译码器将地址转换为某条选通线的高电平
  • 读取过程示例: 地址000对应第0根选择线,选中第一个存储字的所有存储元件
1)存储芯片的逻辑构成



  • 核心部件:
    • 存储矩阵(存储体)
    • 译码驱动电路(含译码器和驱动器)
    • 读写电路(含控制电路)
  • 外部接口:
    • 地址线(接收CPU地址)
    • 数据线(传输数据)
    • 片选线(确定芯片是否可用)
    • 读写控制线(控制读写操作)
2)存储芯片的物理构成



  • 片选信号作用: 在多芯片系统中选择特定芯片工作(低电平有效)
  • 引脚计算:
    • 地址线数量=地址位数
    • 数据线数量=存储字长位数
    • 必选引脚: 片选线+读写控制线(1或2根)
  • 容量表示: 采用"存储单元数×存储字长"格式(如8K×8位表示8K单元,每单元8位)
  • 实际应用: 内存条由多块存储芯片组成,总容量为各芯片容量之和

3.如何实现不同的寻址方式

1)存储芯片的基本结构

  • 核心组件:由地址线、译码驱动电路、存储矩阵、读写电路、数据线、片选线和读/写控制线组成
  • 存储单元:图示中的小方格表示1个字节(8比特),一整行表示1个存储字(示例中字长为4字节)
  • 容量计算:示例芯片总容量为1KB(256个字×4字节),对应需要10根地址线(210=10242^{10}=1024210=1024)
2)编址方式
  • 字节编址
    • 基本规则:现代计算机按字节编址,每个字节对应唯一地址(示例中地址范围0-1023)
    • 地址分配:连续分配地址,如0号字节、1号字节...1023号字节
  • 其他编址方式
    • 字寻址:1个字=4字节,字地址左移2位得起始字节地址(如1号字→二进制1左移2位=4)
    • 半字寻址:1个半字=2字节,地址转换需左移1位
    • 双字寻址:1个双字=8字节,地址转换需左移3位
    • 单元数量:1KB存储器的寻址单元数分别为:字节寻址1024个、字寻址256个、半字寻址512个、双字寻址128个

2.2 SRAM 芯片和 DRAM 芯片

1.SRAM与DRAM基本概念

  • RAM定义: 随机访问存储器(Random Access Memory)的特点是存储单元读取速度不随物理位置改变
  • DRAM全称: Dynamic Random Access Memory(动态随机存取存储器)
  • SRAM全称: Static Random Access Memory(静态随机存取存储器)
  • 典型应用:
    • DRAM用于制造主存
    • SRAM用于制造Cache(高速缓冲存储器)
  • 高频考点: 两种存储芯片的特性对比是考试重点

2.存储元件差异

  • DRAM存储原理:  使用电容的充放电来存储信息     需要定期刷新保持数据
  • SRAM存储原理:  使用双稳态触发器存储信息     不需要刷新操作
  • 核心区别: 两种芯片的存储元件物理特性不同导致其他特性差异

3.DRAM与SRAM对比

  • DRAM存储原理
    • 存储机制:通过栅极电容存储电荷表示二进制信息,

      1对应电容存储电荷(5V高电平),0对应无电荷(0V低电平)

    • 写入操作:字选择线加5V高电平使MOS管导通,数据线输入5V(写1)或0V(写0)决定电容是否存储电荷
    • 电荷分布:写1时上金属板聚集正电荷(5V),下金属板接地(0V)形成压差;写0时两极板无压差
  • SRAM存储原理
    • 存储机制:采用6个MOS管构成双稳态触发器,1对应A点高电平/B点低电平,0对应A点低电平/B点高电平
    • 读出操作:
      • 读1时BLX输出低电平     读0时BL输出低电平
    • 写入操作:
      • 写0:BL加低电平,BLX加高电平     写1:BL加高电平,BLX加低电平
  • 存储元件特性对比
    • 物理结构:
      • DRAM:1个电容+1个MOS管
      • SRAM:6个MOS管构成触发器
    • 制造成本:DRAM单元成本显著低于SRAM
    • 集成度:DRAM体积小集成度高,SRAM体积大集成度低
    • 功耗差异:DRAM电路简单功耗低,SRAM电路复杂功耗高
  • DRAM与SRAM芯片特性
    • 易失性:两者均为断电信息消失的易失性存储器
  • DRAM刷新机制

    刷新频率:由于电容最多只能保持两毫秒的电荷,所以必须在两毫秒之内给电容重新充电刷新

    刷新单位:以行为单位进行刷新,每次刷新一行存储单元(每个存储单元由多个存储元构成)

    2.3 只读存储器 

    2.4 多模块存储器 

    三、主存储器与 CPU 的连接

    3.1 连接原理

    3.2 主存容量的扩展

    3.3 存储芯片的地址分配和片选

    3.4 存储器与CPU的连接

    四、外部存储器

    4.1 磁盘存储器

    4.2 固态硬盘

    五、高速缓冲存储器

    5.1 程序访问的局部性原理

    5.2 Cache的基本工作原理

    5.3 Cache和主存的映射方式

    5.4 Cache 中主存块的替换算法 


    5.5 Cache写策略

    六、虚拟存储器

    6.1 虚拟存储器的基本概念

    6.2 页式虚拟存储器

    6.3 段式虚拟存储器

    6.4 段页式虚拟存储器

    6.5虚拟存储器与 Cache 的比较

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/83716.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    什么是电输运性能

    电输运性能‌是指材料在电场作用下,电子在材料中传输的能力和效率。具体来说,电输运性能包括以下几个方面: ‌电子的自由移动性‌:导体中的电子具有较大的自由移动能力,这是由于导体中的原子或分子结构具有一定的松散…

    k3s入门教程(二)部署前后端分离程序

    文章目录 部署基础服务部署Redis部署MySQL端口转发测试 运行与构建前后端镜像构建后端镜像 docker build -t ruoyi-admin:v3.8 .构建前端镜像 docker build -t ruoyi-ui:v3.8 .创建私库,推拉镜像 前后端应用部署后端应用部署前端应用部署 启动顺序与初始化容器修改前…

    Seata如何与Spring Cloud整合?

    🔧 一、整合核心步骤 1. 启动 Seata Server(TC) 环境准备: 修改 registry.conf,指定注册中心(如 Nacos)和配置中心:registry {type "nacos"nacos {serverAddr "l…

    Python惰性函数与技术总结-由Deepseek产生

    在Python中,惰性(Lazy)技术指延迟计算直到真正需要结果时才执行,常用于优化内存和性能。以下是常见的惰性函数和技术: 1. 生成器(Generators) 原理:使用 yield 返回迭代结果&#x…

    轮廓 裂缝修复 轮廓修复 填补孔洞 源代码

    目录 1. 形态学闭合操作填补小孔洞 完整代码: 使用 Douglas-Peucker 算法对轮廓进行多边形逼近 2.裂缝修复 轮廓修复 轮廓补全 函数封装 调用示例: 1. 形态学闭合操作填补小孔洞 完整代码: import cv2 import numpy as np# 创建模拟图像(白色区域 + 多个不规则黑洞)…

    HTTP1.1

    HTTP基础知识 HTTP(HyperText Transfer Protocol)是用于传输超文本 的应用层协议,采用客户端-服务器 模型。 客户端(如浏览器)发起请求,服务器响应并返回数据。 工作原理 客户端发送HTTP请求至服…

    【Linux教程】Linux 生存指南:掌握常用命令,避开致命误操作

    Linux 常用操作命令:避免误操作指南 在 Linux 系统中,熟练掌握常用操作命令是高效工作的基础,但同时也要警惕误操作带来的风险。无论是部署程序、配置防火墙、管理端口还是处理进程,一个小小的失误都可能导致系统故障、数据丢失等…

    PHP:Web 开发领域的常青树

    在当今数字化浪潮中,Web 开发技术日新月异,各种新兴语言和框架层出不穷。然而,PHP 作为一门经典的后端开发语言,依然在 Web 开发领域占据着重要地位,展现出强大的生命力和广泛的应用价值。 PHP 的历史与现状 PHP&…

    平均数与倍数

    目录 一. 平均数现期平均数基期平均数(比较冷门)两期平均数-比较平均数的增长量平均数的增长率 二. 倍数基期倍数 \quad 一. 平均数 \quad 现期平均数 \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad 平均数速算技巧:削峰填谷…

    一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (三)

    现在我们主要完成AI-RAG服务的扩展,利用ES的向量检索能力完成历史聊天记录的存储和向量检索,让ai聊天有记忆。 主要做法是在首次聊天完成后将对话内容写出日志到D:\dev\dev2025\EC0601\logs\chat-his.log 写出日志同时嵌入向量 向量可以从ollama的端点&…

    Vue嵌套(多级)路由

    一、前言 在构建中大型单页应用(SPA)时,页面结构往往比较复杂,比如仪表盘、用户中心、商品管理等模块通常包含多个子功能页面。为了更好地组织这些页面,Vue Router 提供了嵌套(多级)路由的功能。 通过嵌套路由,我们可以在父级组件中嵌入一个 <router-view> 来展…

    Kubernetes 集群安全(身份认证机制、SecurityContext、Network Policy网络策略、预防配置泄露、全面加固集群安全)

    Kubernetes 集群安全(身份认证机制、SecurityContext、Network Policy网络策略、预防配置泄露、全面加固集群安全) 一、Kubernetes 身份认证机制 身份认证(Authentication): 在 K8S 中,身份认证是安全访问控制的第一道大门,它的目标是: 确认请求发起者的真实身份 K8…

    【VUE3】基于Vue3和Element Plus的递归组件实现多级导航栏

    文章目录 前言一、递归的意义二、递归组件的实现——基于element-plus UI的多级导航栏2.1 element-plus Menu菜单官方示例2.2 接口定义2.3 组件递归2.4 父组件封装递归组件 三、完整代码——基于element-plus UI的多级导航栏3.1 组件架构3.2 types.ts3.3 menuTreeItem.vue3.4 i…

    思科资料-ACL的基础配置-详细总结

    一、ACL技术 1、定义 访问控制列表访问控制列表使用包过滤技术&#xff0c;在路由器上读取第三层及第四层包头中的信息如源地址&#xff0c;目的地址&#xff0c;源端口&#xff0c;目的端口等&#xff0c;根据预先定 义好的规则对包进行过滤&#xff0c;从而达到访问控制的目…

    GitHub 上 PAT 和 SSH 的 7 个主要区别:您应该选择哪一个?

    在代码仓库和像 Github 这样的版本控制系统中,有时您需要安全高效地访问您的仓库。随着对更安全实践的需求日益增长,开发人员一直在寻找最高效、最安全的方式来与 Github 交互。为了解决这个问题,我们将探讨两种常用的方法:个人访问令牌 (PAT) 和安全 Shell (SSH) 密钥。本…

    Vue 事件修饰符详解

    Vue 事件修饰符详解 事件修饰符是 Vue 中处理 DOM 事件细节的强大工具。下面我将通过一个交互式示例全面解析各种事件修饰符的用法和原理。 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"…

    初探Qt信号与槽机制

    3.3 按键响应 - 初识信号与槽 3.3.1 信号与槽基本介绍 提出疑问&#xff0c;界面上已经有按键了&#xff0c;怎么操作才能让用户按下按键后有操作上的反应呢&#xff1f; 在 Qt 中&#xff0c; 信号和槽机制 是一种非常强大的事件通信机制。这是一个重要的概念&#xff0…

    Android音视频流媒体基础总结

    流媒体开发中&#xff0c;流媒体系统的实现从数据采集、编码封装、传输分发、接收解码播放都有哪些技术和实现&#xff0c;流媒体和本地音视频又有哪些差异&#xff1f; 影像系统开发&#xff0c;流媒体方向和普通的多媒体影像系统开发有一定差异。 相同点在于图像多媒体处理…

    疫菌QBD案例

    本文是《A-VAX: Applying Quality by Design to Vaccines》第七个研究的R语言解决方案。 使用带两个中心点的二水平析因设计。运行10次实验。结果是分辨度为III的设计。 A <- c(25,25,15,15,15,25,25,20,15,20) B <- c(12,8,8,12,8,12,8,10,12,10) C <- c(35,15,15…

    Linux部署elasticsearch 单机版

    Linux部署elasticsearch 1、下载安装包 Elasticsearch 7.8.0 | Elastic 2、安装步骤 2.1、上传安装包到服务器opt目录 2.2、解压 #目录创建/opt/module cd /opt mkdir module tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz -C /opt/module mv elasticsearch-7.8.0 …