计算机内部存储关系理解

CPU-CPU内的寄存器--高速缓存器SRAM--内存DRAM---磁盘

处理速度-高 偏高 偏低
CPU 寄存器 高速缓存区 内存 磁盘 光盘、U盘,其他储存器
储存空间- kb Mb Gb 500Gb Tb

CPU:中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。

寄存器:是中央处理器(CPU)中的一部分,有限存贮容量的高速存贮部件(空间比较小在kb级别),用来暂存指令、数据和地址。CPU对内存中的数据进行处理时,往往先把数据取到寄存器中,而后再作处理,加快直接同内存读取指令和读写数据的速度。

高速缓冲存储器:是存在于内存与CPU之间的存储器,容量比较小但速度比内存高得多(比寄存器要慢1倍左右,但是空间可以达到MB级别),接近于CPU的速度。高速缓存是加速读取速度的一个桥梁(工具)。CPU向内存读取数据时,首先查询缓存区是否有对应数据,如果有则直接读取,没有再从内存中读取。高速缓存中存储的都是内存中的数据,这部分数据是CPU访问比较频繁的部分。系统会动态管理缓存中的数据,如果有数据访问频率降低到一定值,就从缓存中移除,而将内存中访问更加频发的数据替换进去。(高速缓存可以不只一级,可以有多级缓存区)

----因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在用完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给显卡运算芯片用的缓存,硬盘上也有16M或者32M的缓存。

CACHE是在CPU中速度非常块,而容量却很小的一种存储器,它是计算机存储器中最强悍的存储器。由于技术限制,容量很难提升。

内存:是计算机运行过程中的存储主力,用于存储指令(编译好的代码段),运行中的各个静态,动态,临时变量,外部文件的指针等等。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大,用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据,CPU会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。前面提到的寄存器和高速缓存只是加速存储速度的中间部件,原始运行文件肯定都是先加入到内存中的,因此内存的大小决定了一个可运行程序的最大大小,但是内存比缓存要慢10倍左右,但是空间可以达到GB级别、甚至更高。

举例:如果内存大小是4G,一个程序装入内存需要大于4G空间的话,该程序是无法运行的,当然实际是还要去掉操作系统占用的内存,因此连4G都无法满足的。(当然现在有了虚拟内存,也就是将硬盘的一部分映射为内存空间,将不经常访问的指令放到虚拟内存中,这样其实是支持大于4G的程序的,这里只是在假设没有虚拟内存的情况下的举例说明)。

虚拟内存:将硬盘的一部分映射为内存空间。

内存既专业名上的内存储器,一般分为只读存储器(ROM)和随机存储器(RAM),只读存储器应用广泛,它通常是一块在硬件上集成的可读芯片,作用是识别与控制硬件,它的特点是只可读取,不能写入。

内存条就是随机存储器,它的特点是可读可写,断电后一切数据都消失。

原文地址:https://www.cnblogs.com/tian-Bao555/p/12064439.html

时间: 2024-09-28 17:15:10

计算机内部存储关系理解的相关文章

机器数与码制(如何在计算机内部存储数字)

机器数 机器数 各种数据在计算机内部的表示和存储形式称为机器数. 特点: 采用二进制计数: 数的符号(正负)用“0.1”表示: 小数点隐含表示二不占位置. 机器数的真值 机器数所对应的实际数值. 机器数的分类 无符号机器数和带符号机器数. 无符号机器数 无符号(无正负号)机器数表示正数,没有符号位. 码制 原文地址:https://www.cnblogs.com/victoryluyun/p/11086962.html

【C/C++语言】int 在计算机内部的存储

int在32位计算机中占4个字节,主要是想弄清楚这4个字节的在内存中存放的顺序. 1 #include <iostream> 2 3 using namespace std; 4 5 typedef struct int_char 6 { 7 int a; 8 unsigned char *b; 9 }; 10 11 int main() 12 { 13 int_char A; 14 int i; 15 //test int; 16 A.a=0x01ab02cd; 17 A.b=(unsign

计算机内部整数的表示(二进制存储)

10.在16位机器上跑下列foo函数的结果是(B)(阿里2014笔试题)   void foo()   {       int i = 65536;       cout << i<<”,”;       i = 65535;       cout << i;   }   A.-1,65535   B.0,-1     C.-1,-1    D.0,65535 解析:16位机器的int型变量为16位 16位int的表示范围:-32768到32767 65535(十进制)

彻底理解android中的内部存储与外部存储

我们先来考虑这样一个问题: 打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的时候又是清除的哪里的数据?读完本文相信你会有答案. 在android开发中我们常常听到这样几个概念,内存,内部存储,外部存储,很多人常常将这三个东西搞混,那么我们今天就先来详细说说这三个东西是怎么回事? 内存,我们在英文中称作memory,内部存储,我们称为InternalStorage,外部存储我

android内部存储与外部存储理解

我们先来考虑这样一个问题: 打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的时候又是清除的哪里的数据?读完本文相信你会有答案. 在android开发中我们常常听到这样几个概念,内存,内部存储,外部存储,很多人常常将这三个东西搞混,那么我们今天就先来详细说说这三个东西是怎么回事? 内存,我们在英文中称作memory,内部存储,我们称为InternalStorage,外部存储我

深入了解整数在计算机内部的表示

1. 无符号整数的表示 我们知道,无符号整数在计算机内部是以二进制的形式存储的,比如我们在C语言中声明并初始化一个变量: int i = 66; 假设我们针对的机器是32位机器,byte order为little endian.由于int类型是32位的,66这个数字就会被存储为它的32位二进制表示(01000010 00000000 00000000 00000000),共占据4个存储单元. 这样一来,32位二进制数所能表示的无符号整数共有2^32个,范围为[0, 2^32 - 1].然而,我们

COMP-1及COMP-2内部存储解析

在从事大型机的工作中,很多时候我们所做的都是读dump,然后反向找出VSAM/QSAM数据集中的不当记录,尤其当数据集很大的时候,精确定位一条记录很是不便...而这里介绍的利用浮点数反向查找就是一个捷径(比如:我们在dump里看到X'C411570A',如果能快速算出-4439.039,再在数据集中搜索-4439.039,相信很容易就能锁定到你想要的目标记录),下面我们解析下,大型机是如何存储浮点数及我们又怎样快速算出其对应的十进制数据. 我们知道在COBOL里: COMP-1是用来定义单精度浮

【转】 android中的文件操作详解以及内部存储和外部存储

摘要 其实安卓文件的操作和Java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的api,同时对一个应用的私有文件做了统一的管理.根据我的经验,初学者在这部分感到很容易混淆内部存储和外部存储两个概念. 相对 其实安卓文件的操作和java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的api,同时对一个应用的私有文件做了统一的管理.根据我的经验,初学者在这部分感到很容易混淆内部存储和外部存储两个概念

android中的文件操作详解以及内部存储和外部存储(转载)

原文链接:http://m.blog.csdn.net/article/details?id=17725989 摘要 其实安卓文件的操作和java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的api,同时对一个应用的私有文件做了统一的管理.根据我的经验,初学者在这部分感到很容易混淆内部存储和外部存储两个概念. 相对 其实安卓文件的操作和java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的ap