【计算机组成原理】24王道考研笔记——第三章 存储系统
第三章 存储系统
一、存储系统概述
现代计算机的结构:

1.存储器的层次结构

2.存储器的分类
按层次:

按介质:

按存储方式:

按信息的可更改性:

按信息的可保存性:

3.存储器的性能指标

二、主存储器
1.基本组成
半导体元件原理:

存储芯片原理:存储芯片由半导体元件组成而成



不同的寻址方式:

总结:

2.SRAM和DRAM
上一节中做介绍的存储器芯片其实就是DRAM芯片,DRAM芯片使用栅极电容存储信息,而SRAM芯片使用双稳态触发器存储信息,核心区别在于存储元是不一样的。
两者存储元对比:(栅极电容以及双稳态触发器)


DRAM刷新:

两者差别:

DRAM的地址线复用技术:

3.ROM只读存储器
各种ROM:

计算机中的ROM:

4.双口RAM与多模块存储器
存储周期:

双端口RAM:

多体并行存储器:

应该取几个“存储体”:

多体并行与单体多字存储器对比:

三、主存储器与CPU的连接
存储器与CPU的连接:


存储器芯片的输入输出信号:

位拓展:


字拓展:
- 线选法:

- 译码片选法:



字位同时拓展:

补充:译码器

四、外部存储器

1.磁盘存储器



2.固态硬盘SSD

五、高速缓冲存储器
1.基本概念

2.映射方式


3.替换算法

随机算法:

先进先出算法:

近期最少使用算法:

最不经常使用算法:

4.Cache写策略

主要参考:王道考研课程
后续会持续更新考研408部分的学习笔记,欢迎关注。
github仓库(含所有相关源码):408数据结构笔记
相关文章:
【计算机组成原理】24王道考研笔记——第三章 存储系统
第三章 存储系统 一、存储系统概述 现代计算机的结构: 1.存储器的层次结构 2.存储器的分类 按层次: 按介质: 按存储方式: 按信息的可更改性: 按信息的可保存性: 3.存储器的性能指标 二、主存储器 1.基本…...
学习C语言的好处:
基础编程语言:C语言是其他编程语言的基础,学习C语言可为后续学习打下坚实基础,广泛应用于嵌入式系统、操作系统、网络协议等。 简单易学:C语言语法简单易懂,适合初学者。只需文本编辑器和编译器,即可开始编…...
基于k8s的devOps自动化运维平台架构设计(中英文版本)
▲ 点击上方"DevOps和k8s全栈技术"关注公众号 In the rapidly evolving landscape of software development and IT operations, DevOps has emerged as a transformative approach to bridge the gap between development and operations teams. One of the key ena…...
P450进阶款无人机室内定位功能研测
在以往的Prometheus 450(P450)无人机上,我们搭载的是Intel Realsense T265定位模块,使用USB连接方式挂载到机载计算机allspark上,通过机载上SDK驱动T265运行并输出SLAM信息,以此来实现室内定位功能。 为进…...
深度学习,计算机视觉任务
目录 计算机视觉任务 1.K近邻算法 2.得分函数 3.损失函数的作用 4.向前传播整体流程 5.反向传播计算方法 计算机视觉任务 机器学习的流程: 数据获取 特征工程 建立模型 评估与应用 计算机视觉: 图像表示:计算机眼中的图像&#…...
使用 Docker 部署 canal 服务实现MySQL和ES实时同步
文章目录 0. 环境介绍0. 前置步骤1. 安装Kibana和Elasticsearch2. 安装Canal和Canal Adapter2.1 修改数据库配置2.1.1 修改配置2.1.2 验证mysql binlog配置2.1.3 查看日志文件2.1.4 用JDBC代码插入数据库 2.2 安装Canal Server2.3 安装Canal Adapter修改两处配置文件配置文件取…...
const易错详解
const对比 常量指针 int b; (1)const int *a &b;//常量指针(2)int const *a &b; //常量指针常量指针:指向的变量值不能被修改 
Rust 编程小技巧(7) 1. 结构体 Display trait 结构体的两种形式,对应的成员取法不同; 前者用 self.成员变量名 self.x, self.y;后者用 self.成员索引号 self.0, self.1, self.2, ...... use std::fmt::Display; use std::fmt::Result; us…...
爬虫程序中使用爬虫ip的优势
作为一名爬虫技术员,我发现在爬虫程序中使用代理IP可以提升爬取效率和匿名性。今天,我就来详细讲解一下代理IP在爬虫程序中的工作原理及应用。 首先,我们来了解一下代理IP在爬虫程序中的工作原理。当我们使用爬虫程序进行数据采集时…...
json-server的入门
由于前端开发的时候,需要向后端请求数据,有的时候后端还没有准备好,所以需要使用一些简单的静态数据,但是我们更加希望能够模拟请求以及请求回来的过程,这个时候就需要使用json-server Json-Server的介绍 json-server…...
uniapp调查问卷评价功能
我本来用的是uniapp官方提供的组件uni-rate组件,但修改成我想要的样式有点麻烦,于是我就自己手写一个,比用组件简单一点; dom结构 <text class"formTit must">请您对本次活动进行评价</text> <view cl…...
Centos Linux带进度条复制(同步)文件和文件夹
centos linux 内建文件复制/备份命令 rsync 目的:我想从一个磁盘复制一堆文件到另一个磁盘,不希望改变文件的属性(尤其是所有者、还有创建时间、修改时间),最好还得能给我显示进度条。文件太多了,好几百GB…...
从数据仓库到数据结构:数据架构的演变之路
在上个世纪,从电子商务巨头到医疗服务机构和政府部门,数据已成为每家组织的生命线。有效地收集和管理这些数据可以为组织提供宝贵的洞察力,以帮助决策,然而这是一项艰巨的任务。 尽管数据很重要,但CIOinsight声称&…...
kafka-2.12使用记录
kafka-2.12使用记录 安装kafka 2.12版本 下载安装包 根据你的系统下载rpm /deb /zip包等等, 这里我使用的是rpm包 安装命令 rpm -ivh kafka-2.12-1.nfs.x86_64.rpm启动内置Zookeeper 以下命令要写在同一行上 /opt/kafka-2.12/bin/zookeeper-server-start.sh /opt/kafka-2…...
C++笔记之将定时器加入向量并设置定时器的ID为i
C笔记之将定时器加入向量并设置定时器的ID为i code review! 文章目录 C笔记之将定时器加入向量并设置定时器的ID为i关于代码中的void operator()() 运行 代码 #include <chrono> #include <iostream> #include <thread> #include <vector>// 定义定时…...
将一组元素四舍五入到指定精度(小数位数)numpy.around()
【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 将一组元素四舍五入 到指定精度(小数位数) numpy.around() [太阳]选择题 关于以下代码说法错误的一项是? import numpy as np anp.array([21.3,9.67,8.5, -1.13, -2.67]) print(【显示】a为…...
tinyint这个值在MySQL中的值有哪些
在MySQL中,TINYINT是一种整数数据类型,用于存储小范围的整数值。它占用1个字节的存储空间,可以表示的值范围是从-128到127(有符号)或者从0到255(无符号)。 以下是在MySQL中使用TINYINT数据类型…...
JVM 内存结构
1、方法区(线程共享) 存储静态变量(静态方法、变量、代码块)、常量池、类信息 2、堆信息(线程共享) 存储实例对象,例如 new 出来的对象信息 A a1 new A() 3、虚拟机栈(线程隔离) 每个线程的都有…...
可视化监控OpenClaw:Qwen3-14B任务执行看板搭建
可视化监控OpenClaw:Qwen3-14B任务执行看板搭建 1. 为什么需要监控OpenClaw? 去年冬天的一个深夜,我被连续不断的微信消息惊醒——团队部署的OpenClaw自动化流程突然陷入死循环。由于缺乏实时监控,这个消耗了上千Token的异常任务…...
PX41.13.3版本常用参数
1.预解锁参数COM_PREARM_MODE 默认值 Disabled2. TAKE OFF起飞模式,规定时间内是否起飞成功COM_LKDOWN_TKO 默认值3s3.飞控与机载电脑通信,信号丢失时间判断以及动作COM_OBC_LOSS_L 默认值5sCOM_OBC_ACT 默认值 降落模式COM_OBC_RC_ACT 默认值 定点模…...
浏览器神器Tampermonkey:手把手教你安装和使用4款必备油猴脚本
Tampermonkey进阶指南:解锁浏览器潜能的4个实战脚本方案 每次遇到网页限制复制、强制登录、内容折叠这些烦人的设计时,我都习惯性地点开浏览器右上角那个猴子图标。作为从业十年的前端开发者,我可以负责任地说:Tampermonkey是浏览…...
代码生成利器:OpenClaw调用Qwen3.5-9B自动化开发脚本
代码生成利器:OpenClaw调用Qwen3.5-9B自动化开发脚本 1. 为什么需要自动化代码生成 作为一名长期与数据打交道的开发者,我每天都要面对各种重复性的数据处理任务。从简单的CSV清洗到复杂的多表关联分析,这些工作往往占据了我60%以上的编码时…...
从雅可比矩阵到概率重塑:标准化流如何成为生成式模型的精确解?
1. 标准化流:生成式模型的精确解 想象你手里有一张白纸,上面画着一个标准圆形。现在你想把它变成一幅复杂的山水画,但又希望每一步修改都能精确追踪——这就是标准化流(Normalizing Flows)在概率分布世界做的事情。与其…...
OpenClaw模型热切换:百川2-13B-4bits与Qwen的无缝交替使用
OpenClaw模型热切换:百川2-13B-4bits与Qwen的无缝交替使用 1. 为什么需要模型热切换? 去年冬天,我在用OpenClaw处理一个跨语言项目时遇到了典型困境:Qwen在中文材料整理上表现出色,但处理英文技术文档时总会出现微妙…...
Python拉取视频流的性能优化实战
一、背景与挑战在安防监控、直播推流、视频分析等场景中,我们经常需要使用Python拉取网络视频流(RTSP、HLS、HTTP-FLV等)。然而Python并非以高性能著称,面对高码率、多路视频流时,容易遇到:延迟累积&#x…...
初次学C语言编程(2)
上节课内容补充在上节课中的转义字符中\ddd 表示一个三个数字的八进制的数字 例如\130 十进制的ASCII是88 表示字符X\xdd表示的是一个两个数字的十六进制的数字 例如\x30 十进制ASCII是48 表示字符0\0表示null 没有字符 ASCII码是0,用于字符串的结束符号一、C…...
stock-sdk-mcp 的实践整理侗
一、什么是urllib3? urllib3 是一个用于处理 HTTP 请求和连接池的强大、用户友好的 Python 库。 它可以帮助你: 发送各种 HTTP 请求(GET, POST, PUT, DELETE等)。 管理连接池,提高网络请求效率。 处理重试和重定向。 支…...
【LeetCode】双指针专项合集
前言 本章练习:双指针:左右碰撞指针 目的:掌握左右指针向中间移动,最终相会的解法。 在下面这几道题中:思考不同题目中指针移动逻辑有什么区别 125:验证回文串 题目要求: 判断一个字符串是否是回…...
