什么是内存

作者:头像   段 森宝   

内存(Memory)是计算机中最重要的部件之一,它是程序与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存对计算机的影响ᶋ常大,内存又被称为主存 ,其作用是存放CPU 中的运算数据,以及与硬盘等外部存储设备交换的数据。只要计算机在运行中,CPU 就会把ᵱ要运算的数据调到主存中进行运算,当运算完成后CPU再将结果传送出来,主存的运行也决定了计算机的稳定运行。


内存的物理结构 #

512M内存的物理结构

内存的内部是由各种IC电路组成的,它的种类很庞大,但是其主要分为三种存储器

随机存储器(RAM): 内存中最重要的一种,表示既可以从中读取数据,也可以写入数据。当机器关闭时,内存中的信息会 丢失

只读存储器(ROM):ROM 一般只能用于数据的读取,不能写入数据,但是当机器停电时,这些数据不会丢失。

高速速缓存(Cache):Cache 也是我们经常见到的,它分为一级缓存(L1 Cache)、二级缓存 (L2 Cache)、三级缓存(L3 Cache)这些数据,它位于内存和 CPU 之间,是一个读写速度比内存  更快   的存储器。当 CPU 向内存写入数据时,这些数据也会被写入高速缓存中。当 CPU ᵱ要读取数据时,会直接从高速缓存中直接读取,当然,如要的数据在Cache中没有,CPU会再去读  取内存中的数据。内存 IC 是一个完整的结构,它内部也有电源、地址信号、数据信号、控制信号和用于寻址的 IC 引脚来进行数据的读写。下是一个虚拟的 IC 引脚示意图

内存 IC 引脚配置

图中 VCC 和 GND 表示电源,A0 – A9 是地址信号的引脚,D0 – D7 表示的是控制信号、RD 和 WR 都是好控制信号,我用不同的᷏色进行了区分,将电源连接到 VCC 和 GND 后,就可以对其他引脚传递0 和 1 的信号,大多数情况下,+5V 表示1,0V 表示 0

我们都知道内存是用来存储数据,那么这个内存 IC 中能存储多少数据呢2D0 – D7 表示的是数据信号,也就是说,一次可以输入输出 8 bit = 1 byte 的数据。A0 – A9 是地址信号共十个,表示可以指定00000 00000 – 11111 11111 共 2 的 10次方 =1024个地址。每个地址都会存放 1 byte 的数据,因此我们可以得出内存 IC 的容量就是 1 KB。如果我们使用的是 512 MB 的内存,这就相当于是 512000(512 * 1000) 个内存 IC。当然,一台计算机不太可能有这么多个内存 IC ,然而,通常情况下,一个内存 IC 会有更多的引脚,也就能存储更多数据。

内存的读写过程 #

让我们把关注点放在内存 IC 对数据的读写过程上来吧1我们来看一个对内存IC 进行数据写入和读取的模型

从内存 IC 读取和写入数据

来详细描述一下这个过程,假设我们要向内存 IC 中写入 1byte  的数据的话,它的过程是这样的: 先给 VCC 接通 +5V 的电源,给 GND 接通 0V 的电源,使用 A0 – A9 来指定数据的存储场所,然后再把数据的输入给D0-D7的数据信号并把 WR(write) 的置为 1,执行完这些操作后,即可以向内存 IC 写入数据的数据信号,并把 WR(write) 的置为 1,执行完这些操作后,即可以向内存 IC 写入数据

读出数据时,只要通过 A0 – A9 的地址信号指定数据的存储场所,然后再将 RD 的置为 1 即可。

图中的 RD 和 WR 又被称为控制信号。其中当WR 和 RD 都为 0 时,无法进行写入和读取操作。

内存的现实模型 #

为了便于记忆,我们把内存模型映射成为我们现实世界的模型,在现实世界中,内存的模型很想我们生活的楼房。在这个楼房中,1层可以存储一个字节的数据,楼层号就是地址,下是内存和楼层整合的模型图

拓展知识 #

为什么1KB=1024B #

电脑是二进制的算法, 每8个位(也叫位元bit)组成一个字节(Byte比特)。8bit=1Byte就是1B的数据存储内存地址表现为00000000~11111111之间的位置,也就是说1B的数据是8位进1,用0,1表示就是10000000=2^7 同理1千KB就是10000000000=2的10次方,1024=2^10 所以1KB=1024Byte.。 8bit(位) =1B(字节) 因此就有: 1024B=1KB=2的10次方 1024KB(千字节)=1MB(兆字节)=2的20次方 1024MB=1GB=2的30次方 1024GB=1TB=2的40次方

位(bit)与字节(Byte) #

1. bit中文名称是位,音译“比特”,是用以描述电脑数据量的最小单位。
2. bit代表位,存放一位二进制数(0或1,选一个),即0或1,最小的存储单位。
3. Byte代表字节,8个二进制位为一个字节,即1Byte=8bit,Byte为数据量常用
单位。
(1byte = 8bit,byte是计算机的基本单位,bit是计算机的最小单位.)


①. 二进制数系统中,每个0或1就是一个位(bit)。
②. bit有以下用途:

- 用来描述"数据率"---就是数据的传输速度率,单位是:比特/秒(意思是每秒
传送多少二进制数字<1或0>)。
- 通常来描述电脑的网速快慢,记为:bit/s, b/s, Kb/s, Mb/s, Gb/s 
Tb/s。
- bps(bit per second):bps意思是:比特/秒(每秒传送的bit数,是一个传输速
率单位)。
(per second 每秒,每秒钟)
(second bit 秒盘)
- K:kilo(千) M:mega(兆) G:giga(吉) T:tera(太)

③. 单位换算
  1Byte=8bit
  1KB=1024Byte(字节)=8*1024bit
  1MB=1024KB
  1GB=1024MB
  1TB=1024GB
④. 对bit/s, b/s, Kb/s, Mb/s, Gb/s Tb/s的解释
bit/s(b/s):每秒传送几个bit数据。
Kb/s:每秒传送几千个bit数据。
Mb/s:每秒传送几兆个bit数据。
Gb/s:每秒传送几G个bit数据。
Tb/s:每秒传送及T个数据。
⑤. bps与b/s怎么换算? bit/s 与b/s有区别么?
bps是bit per second,就是bit/每秒,b/s一个意思,因此bit/s与b/s一个意思。

⑥. 计算机中,数据的表示只能用0和1两种形式,这里的0和1只表示一个数据点
,占一个"位"而已,而如果要表示一个"数字","256个字母","符号","控制标记
"要是用"字节"来表示,即:8个"位"为一个"字节"。
> 8位(0000 0000 这里的8位是二进制) = 1字节(byte)。

⑦. byte和bit的区别:一个bit是一个0或1,中文叫做一个二进制位。一个byte
是8个bit,中文名称叫一个字节。
> 因此一个字母占一个字节,即占八个二进制位(bit)-->(8个二进制位表示:0000 0000)。

kb/s,kB/s,kbps有什么区别? #

①. kb/s和kbps一样:千位每秒(b是位,kb即千位)。
②. kB/s:千字节每秒。
③. 1kB/s=8kb/s=8kbps(解释为:一个字节等于八位)。
1Mbps等于128KB/s 运营商说的1M就是1Mbps。

网速率Mbps和KB/s有什么区别吗? #

1. 解答:当然有区别。
①.1Mbps等于128KB/s,运营商说的1M就是1Mbps,实际下载速度为128KB/s 

----------------------------------------------------------------

2. 回答二:当然有区别。
①. 数据传输率的单位一般采用MB/s或Mbit/s,尤其在内部数据传输率上官方数据中更多的采用Mbit/s为单位。

②. Byte是字节数,bit是位数,在计算机中每八位为一字节,也就是1Byte=8bit,是1:8的对应关系。
因此1MB/s等于8Mbit/s。

②. MB/s的含义是兆字节每秒,Mbit/s的含义是兆比特每秒,
前者是指每秒传输的字节数量,后者是指每秒传输的比特位数。

③. 在计算机科学中,bit是表示信息的最小单位,叫做二进制位;一般用0和1表示。
Byte叫做字节,由8个位(8bit)组成一个字节(1Byte),用于表示计算机中的一个字符。

④. 在计算机网络或者是网络运营商中,一般,宽带速率的单位用bps(或b/s)表示;bps表示比特每秒即表示每秒钟传输多少位信息,是bit per second的缩写。
在实际所说的1M带宽的意思是1Mbps(是兆比特每秒Mbps不是兆字节每秒MBps)。

1KB能存储多少汉字、多少字母 #

字符码不一样,存储的数量也不一样 #

ANSI ,GB2312中文 1B=0.5个汉字、1B=1个字母—>1KB=512个汉字、1KB=1024个字母

UTF-8 3B=1个汉字、1B=1个单词 1KB= 341个汉字、1KB=1024个字母

Unicode 1B=0.5个汉字、1B=0.5个字母 1KB=512个汉字、1KB=512个字母

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注