计算机中存储的分类

一般有三层结构:CPU寄存器,主存,辅存

在高档的计算机中细分为:寄存器,高速缓存,主存储器,磁盘缓存,固定磁盘,可移动存储介质。

其中寄存器,高速缓存,主存储器和磁盘缓存属于操作系统的管辖范围,掉电后其中的存储信息不存在。

寄存器和主存储器被称为可执行存储器,缓存则属于辅助存储器,不同之处就是访问机制的不同:进程可以在很少的时钟周期内使用一条load或store指令对可执行存储器进行访问,但是对于辅存需要通过I/O设备实现。

不同层次的存储介质,由操作系统进行统一管理。操作系统的存储管理负责对可执行存储器的分配,回收,以及提供在存储层次间数据移动的管理机制。

主存储器:简称主存或者内存,用于保存进程运行时的程序和数据,处理机通常是从主存储器中取得指令和数据,并将指令放入指令寄存器,数据放入数据寄存器,反之,将寄存器的数据存储到主存储器中。

寄存器:寄存器与处理机有相同的速度,访问速度快,完全能与CPU协调工作。

高速缓存和磁盘缓存:高速缓存介于存储器和寄存器之间的存储器,用于备份主存中常用的数据,减少处理机对主存的访问次数,大幅度的提高执行速度。

磁盘缓存:磁盘IO速度远远低于对主存的访问速度,用于存放频繁使用的一部分磁盘数据和信息,减少磁盘的访问次数。实际上其不是实际存在的存储器,而是利用主存中的部分存储空间暂存从磁盘中读取的信息。

原文地址:https://www.cnblogs.com/HYHBLOG/p/9709170.html

时间: 2024-10-11 11:44:15

计算机中存储的分类的相关文章

浮点数在计算机中存储方式

浮点数在计算机中存储方式 C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范的, float遵从的是IEEE R32.24 ,而double 遵从的是R64.53. 无论是单精度还是双精度在存储中都分为三个

计算机中数字的二进制存储形式

今天,做个关于二进制的算法题,突然有个问题一直想不通为什么~5是6,计算机基础知识不过关啊,所以现在来弥补下,正数和负数在计算机中是怎么存储和计算的. 讲讲计算机中的存储形式: 计算机中存储的数都是以补码的方式存储的,而正数的原码,反码,补码都是一样的.但是负数的原码,反码,补码是不一样的. 下面都是以java中的int i=5为例. 正数5的原码就是其二进制码:00000000 00000000 00000000 00000101 反码是:00000000 00000000 00000000

JAVA中数值在计算机中的表示方式

很多刚学习JAVA的童鞋不明白为什么int型有时候强转为byte时会变为负数. 这是因为不明白JAVA中数值的表示机制. JAVA中规定用二进制补码的方式表示一个负数. 有了上面的概念之后我们就知道为什么高精度转换低精度类型时有时会变成负数. 比如 int 232转为byte时值 变为 -24 转换过程如下: 232在计算机中存储如下: 00000000 00000000 00000000 11101000 转为byte后舍去高位存储如下: 11101000 这个值最高位为1:因此他是一个负数,

汉字在计算机中的表示

汉字在计算机中的表示 一.一个汉字在计算机中占两个字节的位置 西文字符中的ASCII码表示西文字符是,用的是7位的ASCII码,为了在计算机中存储,最高位(第八位)默认为0,所以可以表示27个不同的字符:扩展的ASCII码,使用的第八位,不在默认为0,所以最多可以表示28个字符. 中文跟西文不大一样.中文的一个汉字占16位,也就是两个字节的位置.编码方式跟ASCII码类似,但是为了与ASCII码区别开来,最高位默认为1. 二.汉字编码的过程 汉字编码分为外码.机内码.字形码.矢量汉字四个阶段.

一起talk C栗子吧(第一百五十二回:C语言实例--计算机中的大小端)

各位看官们,大家好,上一回中咱们说的是socket通信地址的例子,这一回咱们说的例子是:计算机中的大小端 .闲话休提,言归正转.让我们一起talk C栗子吧! 大小端据说来源于小说<格列佛游记>,书中说:人们在争论打开鸡蛋的方式是从鸡蛋的大端还是小端打开鸡蛋.争论不休,甚至还引起了战争.你说说,不管你从哪一端打开鸡蛋,打开的都是鸡蛋呀,这有什么可以争论的呢?还要通过战争来解决.大家不必关注这个争论,如果真想了解其中的细节,可以看看这部小说.不过在计算机中的大小端就不像小说中争论打开鸡蛋那么简单

c语言中float、double、long double在内存中存储方式

存储格式中的二机制转为浮点数: 浮点型变量在计算机内存中占用4个字节(4 Byte),即32-bit,一个浮点数由2部分组成:底数m  和 指数e: 底数部分:使用2进制数来表示此浮点数的实际值: 指数部分:占用8=bit空间来表示,表示数值范围:0-255:后面介绍 用于存储科学计数法中的指数部分,并且采用移位存储方式: 具体分析: 浮点数据就是按下表的格式存储在4个字节中: Address+0 Address+1 Address+2 Address+3 Contents SEEE EEEE

浮点数在计算机中的表示

浮点数: 1.解决的问题: 在计算机中存储实数 2.介绍科学计数法 a*10^n (10>a>1) 举例:1.23*10^2 小数点的位置和底数(10)是不会变动的 所以们可以只存123和2 比如一个四元组能存2^4 16个整数 但如果是用这种科学记号表示法规则我们可以存12300000000 因为 1.23*10^10 举例:2^7是128 所以找7个位来表示123 找4个位来表示10.... (位元组 指字节) (位元 指位) 原文地址:https://www.cnblogs.com/er

计算机中信息表示

1.概述 现在的我们无时无刻不在接触计算机,即常说的电脑.计算机能干很多事,比如浏览网页.看视频.玩游戏.办公等,实现这些功能都需要计算机有信息存储和处理的能力.现代计算机的信息存储和处理都以二进制为基础,简单来说我们在电脑上看到的信息(比如文字.图片.音频.视频)都是以二进制表示的形式存储在计算机上或被计算机以二进制这种形式处理的.比如我们在计算机上的记事本中写日记,写入的是中文,在计算机中是以二进制编码(01010......)存储的,同时会给这些二进制编码指定一种解释方式,比如GB2312

计算机中浮点度存储

今天回顾一下双精度存储(double). double(32个字节) 第一位存储正负号 0为正 1为负 第2位到12位存储指数,要把指数的结果-1023 剩下的所有位存储有效位 在我的电脑操作系统是小端,经过计算 0 10000000000 0000000000000000000000000000000000000000000000000000 = 1.0*2^1=2.0; 0100 0000 0000 0000 00000000....000000000 用数组存储char arr[8]={0