首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算机组成原理:4. 存储

---- 按在计算机中的作用分类 ---- ---- 4.1.2 存储器的层次结构 ---- 存储器三个主要特性的关系 ---- 存储器有 3 个主要性能指标: 速度 容量 每位价格(简称位价) --...静态 RAM 是用触发器工作原理存储信息,因此即使信息读出后,它仍保持其原状态,不需要再生。 电源掉电时,原存信息丢失,故它属易失性半导体存储器。...写回法(Write – back): 写操作时只把数据写入 Cache 而不写入主存,当 Cache 数据被替换出去时才写回主存; 缺点:无法保证Cache和内存操作时间的一致性,在并行计算机(多个独立...但它也没有根据访存的局部性原理,故不能提高Cache的命中率。...目前,广泛用于计算机系统的辅助存储器有硬磁盘、软磁盘、磁带、光盘等。前三种均属磁表面存储器。 ---- 主要技术指标 ---- 记录密度:单位长度内所存储的二进制信息量。

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    计算机是如何存储数据的?

    那么我们怎样将其转化为二进制存储计算机中,这个过程我们称之为编码。更广义地讲,就是把信息从一种形式转化为另一种形式的过程。...GBK 由于 ASCII 编码不支持中文,因此,当中国人用到计算机时,就需要寻求一种编码方式来支持中文。...计算机怎么知道三个字节表示一个符号,而不是分别表示三个符号呢?...那么很自然的,就会出现一个问题:计算机怎么知道某一个文件到底采用哪一种方式编码?...总结 搞清楚了 ASCII、Unicode 和 UTF-8 的关系,我们就可以总结一下现在计算机系统通用的字符编码工作方式: 在计算机内存中,统一使用 Unicode 编码,当需要保存到硬盘或者需要传输的时候

    2.4K41

    漫谈计算机组成原理(三)存储器概论

    前言 在本系列文章的前两讲中,分别介绍了计算机组成原理这一系列文章的关注点——程序是如何跑起来的,以及系统总线的相关内容,具体可以看我的这两篇文章。在我的个人博客和CSDN上都已经发布了。...如果你有过装机的经验或者学过计算机的导论等等这些基础课程,肯定会知道,计算机有硬盘、内存条、SSD等等,这些类似的就是我们这一讲的主角——存储器。...按照存取方式分类 存取时间与物理地址无关(随机访问) 随机存储器(RAM),可读可写随机存储器还可以分成动态的和静态的,动态的是采用电容保存电荷的原理实现的,静态的则是通过触发器或者说是电路方式实现的...辅存 辅存就是辅助存储器,作为扩展存储资源,就是磁盘之类的大容量的存储器,可以辅助计算机读写数据。...关于SRAM后面也会介绍,此时你只需要知道高速缓冲存储器能够进一步提高计算机的性能。实际上,CPU的速度要比所有存储器的速度快上万甚至十几万倍,这就造成了CPU需要等待存储器送来的数据

    80210

    数据原理——事务、视图、存储过程

    持久性(Durability):持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响。...脏读: T1 修改一个数据但未提交,T2 随后读取这个数据。如果 T1 撤销了这次修改,那么 T2 读取的数据是脏数据。 不可重复读 T2 读取一个数据,T1 对该数据做了修改。...幻读: 幻读本质上也属于不可重复读的情况,T1 读取某个范围的数据,T2 在这个范围内插入新的数据,T1 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。...存储过程 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 提高代码重用性 简化操作 减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 语法 创建 create procedure...drop procedure 存储过程名 查看存储过程的信息 show create procedure 存储过程名; 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    97420

    数据入门:Hbase存储原理解析

    今天的大数据入门分享,我们就来讲讲Hbase存储原理。...要了解Hbase的存储原理,我们先从Hbase的数据结构开始讲起。 Hbase的数据结构 Hbase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳。...Hbase存储原理 HBase在存储上是基于LSM树实现的,与传统的B/B+树原理不同的是,LSM树非常适用于写入要求非常高的场景。...LSM的原理,就是将一个大的B(B+)树拆分成N棵小树,数据首先写入内存中(有序),随着数据写入越来越多,内存中的数据会被flush到磁盘中形成一个文件;在读取数据时,则需要合并磁盘中历史数据和内存中最近修改的操作后返回...关于大数据入门,Hbase存储原理解析,以上就为大家做了基本的介绍了。Hbase在大数据生态当中,尤其是数据存储环节,重要程度非常高,也建议大家去深入地理解和掌握。

    1.1K20

    计算机组成原理:第三章 存储系统

    存储器简称主存,是计算机系统的主要存储器,用来存放计算机运行期间的大量程序和数据。 外存储器简称外存(辅存),它是大容量辅助存储器。...如果计算机中可编址的最小单位是字存储单元,则该计算机称为按字寻址的计算机。...,其速度比主存快,容量比主存小,利用的局部性原理,将必要的一块数据存进缓存,CPU需要数据时先访问缓存,如果没有找到再去主存中读取,这种方式使得CPU的效率得到很大的提升。...3.5.1 Cache工作原理 1....原理相同:利用了程序运行时的局部性原理把最近常用的信息块从相对慢速而大容量的存储器调入相对高速而小容量的存储器。

    1.8K20

    漫谈计算机组成原理(五)高速缓冲存储

    随着计算机硬件行业的不断进步,以因特尔为首的芯片企业造出了一代又一代的高速CPU, 可以说CPU处理数据的速度是越来越快。...接下来,我们来看看高速缓冲存储器在CPU中的具体位置。 ? 这种结构进一步的验证了存储器的层次结构——高速缓冲存储器位于寄存器之下的特点。好了,说了这么多,那让我们来看看高速缓冲存储器的工作原理吧!...高速缓冲存储器(Cache)的工作原理 实际上,Cache的工作原理非常简单,就是利用了映射的方式来获取主存信息。 我们知道,主存的地址范围是2^n(即2^n个字),而每个字都有一个n位的地址。...CPU想要处理信息,首先就是看缓存(高速缓冲存储器)中是否存在信息,如果存在,那么好,就从缓存中读入一个字(一个字块可能包括多个字);如果缓存中没有数据,那么就会根据这种映射关系,将主存中的数据一个字块一个字块地映射到相应的位置...组相联映射 计算机组成原理很有意思,你会发现,在计算机结构的设计方案中,一般都是这样的:有一种比较简单的方案,但是效率并不怎么好,然后有一种效率很好的方案但是可能过于复杂,接着就会出现第三种方案,一般这种方案都是以上二者的折中

    92420

    POSTGRESQL TOAST 数据扩展存储技术原理与优势

    后面就通过提问和回答的方式来讲内容展开 1 为什么POSTGRESQL 要有TOAST 方式的存储数据 答: POSTGRESQL 默认数据存储的页的大小是8KB, 但我们不能保证存储数据的信息的大小...所以TOAST 是一种防止一行的数据比较大,引起页的分割或跨页存储. 同时这样的设计也保证了,小的数据存储能在一个页面中,在提取到内存中的数量尽量的行数是多的,页面是少的,提高效率. ?...1 plain 表不使用TOAST 技术 2 extended 允许使用TOAST 技术, 先尝试压缩,然后在使用数据外部存储 3 external 允许使用TOAST技术,数据存储在外部, 但不使用压缩技术...4 Main 使用压缩技术来进行数据存储,但不在外部存储数据 实际上针对toast技术,默认的值是extended 但如果想使用更高性能来让系统运行的更快应该使用external技术。...2K 开始,或者延迟,提高存储的压缩率 或者 提高读取数据的性能。

    93220

    谈谈你对Kafka数据存储原理的理解?

    一位5年工作经验的小伙伴面试的时候被问到这样一个问题,说”谈谈你对Kafka数据存储原理的理解“。然后,这位小伙伴突然愣住了,什么是零拷贝,零拷贝跟Kafka有关系吗?...那么今天,我给大家来聊一聊我对Kafka零拷贝原理的理解。 1、Topic主题 在Kafka中,这个用 来存储消息的队列叫做Topic,它是一个逻辑的概念,可以理解为一组消息的集合。...其中.index是用来存储Consumer的Offset偏移量的索引文件,.timeindex是用来存储消息时间戳的索引文件,log文件就是用来存储具体的数据文件。...相对来说,越稠密的索引检索数据更快,但是会消耗更多的存储空间; 越的稀疏索引占用存储空间小,但是插入和删除时所需的维护开销也小。 同样,时间戳索引也是采用稀疏索引设计。...由于索引文件是以Offset命名的,所以Kafka在检索数据的时候,是采用二分法查找,效率就非常快。 以上就是我对Kafka数据存储原理的理解!

    65120

    计算机存储设备简介

    一、计算机系统的基本结构 冯·诺伊曼定义了计算机的基本结构:中央处理器(CPU)、内存和输入/输出设备(IO)。数据和程序都存储在内存中,内存中的内容是按位置寻址的。...计算机系统的主要功能是执行一个程序,一组指令。CPU负责执行指令并与内存交换数据。这些指令被翻译成机器语言并执行,处理已经装入计算机存储器中的数据。输入设备用于将数据输入到存储器中。...处理器读取指令和数据,并在处理后将数据写出来。处理器利用控制信号来控制整个系统的运行,也可以接收中断信号。 二、计算机系统内部的存储设备 计算机存储器被组织成一个层次结构。...三、计算机系统外部的存储设备 外置存储设备是指除计算机内存和CPU缓存外,在掉电后仍能保存数据存储设备。常用的外置存储设备有磁盘、磁带、光盘等。 磁盘有两种类型:软盘和硬盘。...固态硬盘(SSD)是一种使用集成电路组件持久存储数据的固态存储设备,通常使用闪存,在计算机存储层次结构中充当二级存储

    2.6K20

    计算机存储技术入门

    02 磁鼓存储器 1950,60年代,有个类似技术是 "磁鼓存储器",有金属圆筒,盖满了磁性材料以记录数据,滚筒会持续旋转,周围有数十个读写头,等滚筒转到正确的位置读写头会读或写 1 位(bit) 数据...原理是一样的,磁盘表面有磁性,写入头和读取头 可以处理上面的 1 和 0。硬盘的好处是薄,可以叠在一起,提供更多表面积来存数据。...RAMAC 305 访问任意数据,平均只要六分之一秒左右,也叫寻道时间,虽然六分之一秒对存储器来说算不错,但对内存来说还不够快,所以 RAMAC 305 还有"磁鼓存储器"和"磁芯存储器"。...05 光盘 光学存储器于 1972 年出现,12 英寸的"激光盘",你可能对后来的产品更熟:光盘(简称 CD)。以及 90 年代流行的 DVD,功能和硬盘软盘一样,都是存数据。...但还是比 RAM 慢很多倍,所以现代计算机 仍然用存储层次结构。

    85720

    Kafka消息存储原理

    Kafka消息存储格式 存储位置及存储文件划分 文件存储概述   Kafka作为一个高性能的消息队列中间件,有着高效的消息存储方式。...那这里就有个问题了,为什么日志还要分为LogSegment呢,首先这么区分是为了方便清理数据,对于过期的数据清理,这样划分为一个个片段,比在一个大文件中去寻找过期的数据方便多了。...下面的图片描述了kafka的文件存储的构成: 举个例子说明一个,比如我们通过命令行创建了一个topic,名字叫做topic-log-format,这个topic有两个分区,那么就会在消息存储文件目录中,...当我们使用生产者不断完topic里面写数据的时候,消息数据就会不断往这几个文件里面写数据,这里的写操作是一个顺序写。...缓存了所有日志分片的数据,key为文件名(baseOffset)value为分片数据,这样查找的时候就可以快速找到需要的分片。

    1.1K50

    Kafka消息存储原理

    Kafka消息存储格式 存储位置及存储文件划分 文件存储概述   Kafka作为一个高性能的消息队列中间件,有着高效的消息存储方式。...那这里就有个问题了,为什么日志还要分为LogSegment呢,首先这么区分是为了方便清理数据,对于过期的数据清理,这样划分为一个个片段,比在一个大文件中去寻找过期的数据方便多了。...下面的图片描述了kafka的文件存储的构成: 举个例子说明一个,比如我们通过命令行创建了一个topic,名字叫做topic-log-format,这个topic有两个分区,那么就会在消息存储文件目录中,...当我们使用生产者不断完topic里面写数据的时候,消息数据就会不断往这几个文件里面写数据,这里的写操作是一个顺序写。...缓存了所有日志分片的数据,key为文件名(baseOffset)value为分片数据,这样查找的时候就可以快速找到需要的分片。

    1.3K51

    FlowFile存储原理

    FlowFile存储库是系统中当前存在的每个FlowFiles的元数据的Write-Ahead Log(或数据记录)。...该FlowFile元数据包括与FlowFile相关联的所有attributes,指向FlowFile实际内容的指针(该内容存在于内容存储库中)以及FlowFile的状态,例如FlowFile所属的Connection...数据串行化为字节发生在任何锁争用之外(synchronized方法块之外),并且使用回收的字节缓冲区来完成。这样,我们就会进行最少的垃圾收集,并且此存储库的理论吞吐量等于基础磁盘本身的吞吐量。...集合不得包含具有相同ID的多个记录 * * @param records the records to update * @param forceSync 指定存储库是否强制将缓冲区里的数据刷新到磁盘...如果为false,则数据可以存储在操作系统缓冲区中,这可以提高性能,但是如果断电或操作系统崩溃,则可能导致数据丢失 * @return the index of the Partition that

    1.3K10

    存储概述:计算机层次化存储体系概述

    冯•诺依曼提出了以存储程序为核心的计算机模型,但部分文献资料里又提到【由于输入 / 输出与运算器进行数据交换,因此,计算机以运算器为中心。】...冯・诺依曼计算机是以存储程序为基础的,在一定程度上可以说存储是其关键支撑部分,但整体架构的运行围绕着计算任务的完成。数据和程序以二进制形式存放在存储器中,这使得计算机具有通用性和灵活性。...存储器可以长期保存大量信息,为计算机的各种操作提供了基础数据资源,没有存储器中程序和数据的预先存储,后续的计算将无从开展。...倘若以磁盘等作为主存,又无法满足CPU 和主存之间的速度差异,由木桶原理可知,这会降低计算机整体效率。...来,看个简易版:局部原理 principle of locality 每一层的容量是递增的,那么对于高层来说,存储数据少,意味着每一层命中的概率并不高。

    15300

    Git的存储原理

    Git 设计原理概括的讲,Git 就是一个基于快照的内容寻址文件系统。 往下慢慢看。...Git 基本数据对象blob(二进制大对象):也就是前面说的基于快照存储的文件tree:目录,代表了 blob 对象的集合commit:提交,包含了 blob、tree 的集合tag:标签对象(指 annotation...标签),还有一种轻量标签不记录创建标签人等额外信息,不需要再单独创建标签对象上述 4 种数据对象均存储在.git/object/目录下,git 会对每一种数据对象计算哈希值来确定具体的存储路径,下面来举个例子...--stdin 表示从标准输入读取内容git cat-file 命令可以根据传入哈希值取出 git 存储的对象-p 自动判断内容的类型一次提交的数据结构可以用下图来概括:Git 包文件可能有的小伙伴通过上述方式在自己项目中尝试时...Git 引用引用类似于指针,除了 HEAD 存储在.git/HEAD 以外,其他指针存储在.git/refs 目录下分支HEAD:一种特殊的指针,用于指向目前所在的 commit,.git/HEAD 文件里存储的就是引用的

    6610

    【技术】HDFS存储原理

    根据Maneesh Varshney的漫画改编,以简洁易懂的漫画形式讲解HDFS存储机制与运行原理,非常适合Hadoop/HDFS初学者理解。...Namenode:元数据节点,是系统唯一的管理者。负责元数据的管理;与client交互进行提供元数据查询;分配数据存储节点等。...Datanode:数据存储节点,负责数据块的存储与冗余备份;执行数据块的读写操作等。 二、写入数据 1、发送写数据请求 HDFS中的存储单元是block。...文件通常被分成64或128M一块的数据块进行存储。与普通文件系统不同的是,在HDFS中,如果一个文件大小小于一个数据块的大小,它是不需要占用整个数据块的存储空间的。...2、先联系元数据节点 3、下载数据 前文提到在写数据过程中,数据存储已经按照客户端与DataNode节点之间的距离进行了排序,距客户端越近的DataNode节点被放在最前面,客户端会优先从本地读取该数据

    1.6K50

    Prometheus TSDB存储原理

    Prometheus 包含一个存储在本地磁盘的时间序列数据库,同时也支持与远程存储系统集成,比如 grafana cloud 提供的免费云存储API,只需将 remote_write接口信息填写在Prometheus...本文不涉及远程存储接口内容,主要介绍Prometheus 时序数据的本地存储实现原理。 什么是时序数据?...在学习Prometheus TSDB存储原理之前,我们先来认识一下Prometheus TSDB、InfluxDB这类时序数据库的时序数据指的是什么?...在提取样本数据时只要给定时间窗口和metric就可以得到value 时序数据如何在Prometheus TSDB存储?...以上我们从较浅的层面了解一下Prometheus TSDB存储相关的内容,本文仍然有很多细节没有提及,比如wal如何做压缩与回放,mmap的原理,TSDB存储文件的数据结构等等,如果你需要进一步学习可移步参考文章

    1.6K30
    领券