计算机组成原理--三章四章
这里写目录标题
- 第三章:存储系统
- 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中每个用户都有一个自己的目录,一…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...