论坛网站模板div css/百度热词指数
这里写目录标题
- 第三章:存储系统
- 3.1 存储系统基本概念
- 引入
- 存储器的层次结构
- 简介
- 产品
- 存储器的分类
- 按层次分类
- 按照介质分类
- 按照存取方式分类
- 按照信息的可更改性
- 按照信息的可保护性
- 存储器的性能指标
- 存储容量
- 单位成本
- 存储速度
- 总结
- 3.2
- 主存储器的基本组成
- 半导体元器件的原理
- 基本部件
- 存储元的功能实现
- 存储芯片的基本原理
- 如何实现不同的寻址方式
- 二级目录
- 一级目录
- 二级目录
- 二级目录
- 二级目录
- 一级目录
- 二级目录
- 二级目录
- 二级目录
- 一级目录
- 二级目录
- 二级目录
- 二级目录
- 一级目录
- 二级目录
- 二级目录
- 二级目录
第三章:存储系统
3.1 存储系统基本概念
引入
对于一台电脑来说,其主机中会有主存储器,这个主存储器可以直接与CPU交互,而他还有个别名:内存
而对于硬盘、磁盘这种,属于是辅存,也就是我们平时说的存储空间的大小
存储器的层次结构
简介
1、内存:
1、首先,第一点,可以看到一个金字塔,他越向上的部件,速度越快,造价越高,容量越小
2、当我们启动一个应用的时候,一般应用的数据、启动程序都在辅存(硬盘)中,而启动一个程序需要CPU去运行其启动程序、数据等,而CPU不能直接访问辅存,所以,一般辅存会将数据给到主存(内存),然后内存再给到CPU
(我们开启微信时,刚开始的一个地球的画面,就是等待数据从辅存调入主存)
2、cache:
在主存与CPU之间,多出了一个cache,称为高速缓冲存储器
**存在原因:**因为虽然主存的读写速度已经很快很快了,但是其仍然跟不上CPU的速度,所以,我们将一个进程常用的数据或者程序拷贝一份到Cache中,这样,CPU就无需去主存拿数据,而直接与cache交互,缓解主存和CPU之间的速度矛盾,提高CPU性能的释放效率
例如:我们在微信视频时,可能“控制视频”的那段代码或者程序或者数据,会被拷贝到cache中,这样,CPU就可以高速的读取所需要的数据了
3、寄存器:
在cache与CPU直接,实际上还夹着一个东西叫“寄存器”,例如前面用到的ACC、MQ等
而寄存器的读写速度又会比Cache高出好多,CPU可以将临时的数据放入寄存器,以辅助CPU完成高速计算
补充:
1、主存与辅存之间的数据交换,需要硬件+操作系统,一起完成
2、而Cache与主存之间的数据交换,纯硬件完成
3、主存与辅存数据交换需要硬件+操作系统来实现,具体实现了虚拟存储系统(操作系统会讲),解决了主存容量不够的问题
4、cache与主存,解决了主存与CPU速度不匹配的问题
产品
1、cache缓冲区:cache缓冲区一般都在CPU内部,所以,每个CPU产品都会说明其cache的一些属性,可以看到cache的速度特别快,已经接近1kGB/s了,但是其容量很小,只有12MB
2、内存条:内存条也就是主存,他的速度也很快,大概是40G/s的速度,其容量为8G
3、硬盘:也就是辅存,他的速度就会慢很多,实际速度可能只有100MB/s,但是其容量很大,都是以TB为单位
4、外存:一些光盘、U盘等,特点就是量大便宜,速度很慢
补充:固态硬盘
固态硬盘也属于硬盘,之前那个100MB/S的是机械硬盘,而固态硬盘的速度可达到4GB/S,大约是主存的十分之一,所以现在主流都在用固态硬盘代替机械硬盘
因为开机程序也在辅存中,所以固态硬盘速度越快,开机程序越快被主存调入,也就越快被CPU访问,开机速度就越快
总结:存储系统就是由cache、主存(内存)、辅存(硬盘)、外存构成
存储器的分类
按层次分类
按照层次分类,分为三类:
1、高速缓存:cache
2、主存储器:主存
3、辅助存储器:辅存、外存
其中,前两类能被CPU直接读写
按照介质分类
按照介质分:
1、半导体:cache、主存
2、磁性材料:磁盘(辅存)、磁带(外存)
3、光介质:光盘(外存)
按照存取方式分类
1、随机存取存储器:内存
其想要访问某个地址的数据时,可以直接定位到目标地址,称之为随机存取
2、顺序存取存储器:外存(磁带)
想要访问某个地址的数据时,要从头开始按照顺序来到目标地址,而不能直接跳到目标地址
3、直接存取存储器:硬盘(辅存)
他有两个动作
一个是磁头臂会伸缩,从而调节磁头所在的半径,该动作为“随机存取”的特点
另一个是磁盘会自己旋转,而该过程想要得到一圈内某个点上的数据时,必须要等圈转到磁头了才能访问到,是“顺序存取”的特点
所以,他有随机存取和顺序存取的特点,我们称之为直接存取
其中,第二第三种,由于其都涉及到顺序存取,所以是串行访问存储器
另外:
上面三种存储器都是以“地址”为目标进行定位,并访问其上的数据
而还有一种存储器,称之为“相联存储器”,他定位数据不靠地址,而是靠数据内容,例如“快表”
按照信息的可更改性
存储器可以分为读写存储器和只读存储器
其中,只读存储器,只能读数据,不能写数据,音乐和电影很好理解,而BIOS,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
按照信息的可保护性
1、断电后不会保存原有数据:主存、cache
2、断电后会保存原有数据:磁盘(辅存)、光盘(外存)
3、信息读出后,原有数据会被破坏:DRAM芯片(后续会讲)
4、信息读出后,原有数据不会被破坏:磁盘(辅存)、光盘(外存)
存储器的性能指标
存储容量
存储容量=字数*字长,其中,字数好理解,就是有几个“字”
字长,则为一个内存单元有多少bit,或者说多少位,一位一个bit
MDR的位数反映了字长,MAR的位数反映了字数
补充:
我们平时说的GB、MB,其都是以B为单位,也就是字节,而1B=8bit,也就是8位
B->KB->MB->GB->TB
(计算机中,大K 就代表 1024)
而每进一位,都是乘以了1024
每退一位,都是除以了1024
单位成本
存储速度
存储速度,又称“主存带宽”
计算时,使用数据宽度(即字长),除以,存取周期(注意存取周期不等于存取时间,而是存取时间+恢复时间)
总结
3.2
主存储器的基本组成
半导体元器件的原理
基本部件
1、一个主存,也就是一块内存条上,由三部分组成,一个是存储体,一个是MAR,一个是MDR,其中MAR、MDR分别是地址寄存器和数据寄存器。存储体就是内存地址块
2、而存储体,是由许多的存储元构成的,一个存储元代表一个bit位
3、而一个存储元,上面有一电容以及一个MOS管,这个MOS管,是当输入电压达到某个阈值,MOS管那部分的电路就会接通,不然断开
存储元的功能实现
PS:一个存储元代表一个bit位
从存储元读取电容处是1还是0:
当MOS管的上面那端是高电平,则MOS管下面那端电路就会接通,此时,如果电容有电荷,则部分电荷会来到输出端,可以读取到此时电容为1
而如果电容没有电荷,此时没有任何电荷来到输出端,就会读取到此时电容为0
从向存储元写入1或者0:
将输出端加上一个高电平电压,同时MOS管也加上高电压,使得电路接通,那此时,电容的上面就是5V,而下面由于接地,为0V,产生了电压差,所以电容上面会充满电荷,一段时间后,将MOS端的高电压撤下,这样,电荷就保存在了电容中,所以,电容此时表示二进制的“1”
而不进行上述操作,电容就不会有电荷,表示二进制的“0”,前提是电容本来就没电荷
存储元组合:
1、8个存储元,的MOS管的控制端被一条红线控制,所以,该红线上是0还是1,会直接影响到这8个存储元是通还是断
2、一列的存储元都通过一条绿线,将结果输出,所以,可以直接从最上面的绿色端口看到8bit的二进制
这也是为什么主存(内存)每次读或者写,其单位都是读写一个“字”,因为绿线连接了一列,所以,每次只能保持一条红线是1,其他都是0,不然会将两排的结果混合
(不仅内存是这样,每个存储器都是这样)
3、一排组成了一个“字”
4、多个“字”组成了存储体
不一定一个字就是8b,具体看存储器的结构
存储芯片的基本原理
如何实现不同的寻址方式
二级目录
一级目录
二级目录
二级目录
二级目录
一级目录
二级目录
二级目录
二级目录
一级目录
二级目录
二级目录
二级目录
一级目录
二级目录
二级目录
二级目录
相关文章:

计算机组成原理--三章四章
这里写目录标题 第三章:存储系统3.1 存储系统基本概念引入存储器的层次结构简介产品 存储器的分类按层次分类按照介质分类按照存取方式分类按照信息的可更改性按照信息的可保护性 存储器的性能指标存储容量单位成本存储速度 总结 3.2主存储器的基本组成半导体元器件…...

单片机工程使用链接优化-flto找不到定义_链接静态库
IDE: CLion HOST: Windows 11 MinGW:x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0 GCC: arm-gnu-toolchain-13.3.rel1-mingw-w64-i686-arm-none-eabi 示例工程:https://github.com/ichliebedich-DaCapo/STM…...

UniTask/Unity的PlayerLoopTiming触发顺序
开始尝试在项目中使用UniTask,发现其中的UniTask.Yield确实很好用,还可以传入PlayerLoopTiming来更细致的调整代码时机,不过平常在Mono中接触的只有Awake,Start,Update等常用Timing,其他的就没怎么接触了&a…...

【报错记录】Steam迁移(移动)游戏报:移动以下应用的内容失败:XXX: 磁盘写入错误
前言 由于黑神话悟空,导致我的2TB的SSD系统盘快满了,我又买了一块4TB的SSD用来存放游戏,我就打算把之前C盘里的游戏移动到D盘,结果Steam移动游戏居然报错了,报的还是“磁盘写入错误”,如下图所示ÿ…...

C 语言学习-04【结构化程序设计】
1、单分支结构语句 用单分支结构进行奇偶判断: #include <stdio.h>int main() {int num;printf("Please enter an integer: ");scanf("%d", &num);if (num % 2 ! 0) {printf("%d is odd! \n", num);}if (num % 2 0) {prin…...

机器视觉:轮廓匹配算法原理
轮廓匹配的模板变量主要包括模板图像(Template)和待检测图像(Source Image) 在轮廓匹配中,模板变量主要包括一下几个关键部分: 模板图像(Template):这是进行匹配的…...

动力商城-02 环境搭建
1.父工程必须满足:1.1删除src目录 1.2pom 2.依赖继承 //里面的依赖,后代无条件继承<dependencies></dependencies>//里面的依赖,后代想要继承,得自己声明需要使用,可以不写版本号,自动继承&l…...

【react】Redux基础用法
1. Redux基础用法 Redux 是一个用于 JavaScript 应用的状态管理库,它不依赖于任何 UI库,但常用于与 React 框架配合使用。它提供了一种集中式的状态管理方式,将应用的所有状态保存在一个单一的全局 Store(存储)中&…...

使用Python分析股票价格数据并计算移动平均线的实用指南
使用Python分析股票价格数据并计算移动平均线的实用指南 在金融市场中,移动平均线(Moving Average, MA)是一种常用的技术分析工具,用于平滑价格数据,帮助投资者识别趋势。本文将详细介绍如何使用Python分析股票价格数据,并计算移动平均线。我们将通过一个实际的案例来演…...

如何解决FPS低的问题?代码优化方法有哪些?
如果你是一名游戏开发者,或者对电脑性能有所追求的用户,那么你一定遇到过帧率(FPS)低的问题。帧率低会导致游戏卡顿、画面不流畅等问题,极大地影响了用户体验。本文将从代码层面探讨FPS低的原因,并提供一些…...

QT信号和槽与自定义的信号和槽
QT信号和槽与自定义的信号和槽 1.概述 这篇文章介绍下QT信号和槽的入门知识,通过一个案例介绍如何创建信号和槽,并调用他们。 2.信号和槽使用 下面通过点击按钮关闭窗口的案例介绍如何使用信号和槽。 创建按钮 在widget.cpp文件中创建按钮代码如下 …...

LC:二分查找——杂记
文章目录 268. 丢失的数字162. 寻找峰值 268. 丢失的数字 LC将此题归类为二分查找,并且为简单题,下面记一下自己对这道题目的思考。 题目链接:268.丢失的数字 第一次看到这个题目,虽然标注的为简单,但肯定不能直接排…...

GA/T1400视图库平台EasyCVR多品牌摄像机视频平台前端监控摄像头镜头的基础知识
在现代安全监控系统中,摄像机镜头作为捕捉图像的关键组件,其选择和应用直接影响到监控图像的质量和系统的整体性能。随着技术的发展,摄像机镜头的种类和功能也在不断扩展,以适应各种复杂的监控环境和需求。对于相机成像来讲&#…...

【C++】踏上C++的学习之旅(六):深入“类和对象“世界,掌握编程的黄金法则(一)
文章目录 前言1. "面向过程"和"面向对象"的碰撞1.1 面向过程1.2 面向对象 2. "类"的引入3. "类"的定义3.1 🍉语法展示:3.2 "类"的两种定义方式3.3 "类"的命名规则 4. 类的访问限定符以及封…...

【物联网技术】ESP8266 WIFI模块在STA模式下作为TCP客户端上电自动进入透传数据模式
前言:讲解如何在ESP8266 WIFI模块在STA模式下作为TCP客户端与网络调试助手(TCP服务器)上电自动进入透传数据模式,而不需重新再发指令配置进入透传模式。 演示视频: ESP8266 WIFI模块在STA模式下作为TCP客户端上电自动进入透传数据模式 wifi模块在STA模式下作为TCP客户端相…...

重构代码之用委托替代继承
在代码重构中,用委托替代继承 是一种用于改善代码设计和提高灵活性的重要技术。它的核心思想是,将子类与父类的直接继承关系转换为委托关系,即子类不再直接继承父类,而是通过持有父类的实例来访问所需的功能。 一、为什么需要用委…...

软件设计师下午题UML15分
一、涉及到的图及对应关系 二、例题 1.用例图和类图的例题 解析及答案 2.状态图和类图的例题 3.通信图和类图例题 例题...

css background-image背景图片轮播
1、CSS背景样式有以下几种: 背景颜色(background-color):设置元素的背景颜色。背景图片(background-image):设置元素的背景图片。背景重复(background-repeat)ÿ…...

java---认识异常(详解)
还有大家来到权权的博客~欢迎大家对我的博客提出意见哦,有错误会及时改进的~点击进入我的博客主页 目录 一、异常的概念及体系结构1.1 异常的概念1.2 异常的体系结构1.3异常的分类 二、异常的处理2.1防御式编程2.2 异常的抛出2.3 异常的捕获2.3.1异常声明throws2.3.…...

Linux基础学习笔记
Linux基础学习笔记 Linux目录结构: 具体的目录结构: /bin [重点] (/usr/bin 、 /usr/local/bin) • 是Binary的缩写, 这个目录存放着最经常使用的命令 /home [重点] • 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一…...

自动泊车端到端算法 ParkingE2E 介绍
01 算法介绍 自主泊车是智能驾驶领域中的一项关键任务。传统的泊车算法通常使用基于规则的方案来实现。因为算法设计复杂,这些方法在复杂泊车场景中的有效性较低。 相比之下,基于神经网络的方法往往比基于规则的方法更加直观和多功能。通过收集大量专家…...

《手写Spring渐进式源码实践》实践笔记(第十七章 数据类型转换)
文章目录 第十七章 数据类型转换工厂设计实现背景技术背景Spring数据转换实现方式类型转换器(Converter)接口设计实现 业务背景 目标设计实现代码结构类图实现步骤 测试事先准备属性配置文件转换器工厂Bean测试用例测试结果: 总结 第十七章 数…...

W3C HTML 活动
关于W3C(万维网联盟)的HTML活动,我们可以从HTML的不同版本的发展历程中了解其主要的活跃时期和贡献。 HTML 2.0:这个版本的HTML是由Internet工程工作小组(IETF)的HTML工作组于1996年开发的。它是HTML的早期…...

机器学习—为什么我们需要激活函数
如果我们使用神经网络中每个神经元的线性激活函数,回想一下这个需求预测示例,如果对所有节点使用线性激活函数,在这个神经网络中,事实证明,这个大神经网络将变得与线性回归没有什么不同,所以这将挫败使用神…...

软考系统架构设计师论文:论软件的可靠性评价
试题四 论软件的可靠性评价 软件可靠性评价是软件可靠性活动的重要组成部分,既适用于软件开发过程,也可针对最 终软件系统。在软件开发过程中使用软件可靠性评价,可以使用软件可靠性模型,估计软件当前的可靠性,以确认是否可以终止测试并发布软件,同时还可以预计软件要达…...

C++:线程(thread)的创建、调用及销毁
在 C 中,线程的管理主要依赖于标准库 std::thread,自 C11 起,这一功能被标准化,使得我们能够更加方便地创建、管理和销毁线程。这里我们详细讲解线程的创建、调用和销毁流程。 1. 线程的创建 创建线程通常是为了在单独的线程中执…...

关于随身wifi,看了再决定要不要买!2024年最受欢迎的随身wifi品牌推荐!
话费、流量费缴纳起来肉疼,毕竟不是每个月都有很大需求,主打一个该省省该花花。特别是短租人群、在校学生、出差或旅游的人群、追求高性价比的人群,随身Wifi特别实用,出门当WiFi,在家当宽带,两不耽误&#…...

SpringMVC总结 我的学习笔记
SpringMVC总结 我的学习笔记 一、SpringMVC简介1.MVC2.SpringMVC概述3. SpringMVC中的核心组件4.SpringMVC核心架构流程 二、SpringMVC框架实例具体实现使用注解实现 四、数据处理及跳转1.结果跳转方式2.处理器方法的参数与返回值处理提交数据数据显示到前端 五、RestFul风格1.…...

DevCheck Pro手机硬件检测工具v5.33
前言 DevCheck Pro是一款手机硬件和操作系统信息检测查看工具,该软件的功能非常强大,为用户提供了系统、硬件、应用程序、相机、网络、电池等一系列信息查看功能 安装环境 [名称]:DevCheckPro [版本]:5.33 [大小]&a…...

数据分析ReAct工作流
让我用一个数据分析项目的例子来展示plan-and-execute框架的应用。这个例子会涉及数据处理、分析和可视化等任务。 from typing import List, Dict, Any from dataclasses import dataclass import json from enum import Enum import logging from datetime import datetime#…...