从程序员视角浅入浅出了解计算机硬件——内存

从程序员视角浅入浅出了解计算机硬件——概述
从程序员视角浅入浅出了解计算机硬件——CPU
从程序员视角浅入浅出了解计算机硬件——内存
从程序员视角浅入浅出了解计算机硬件——硬盘

前言

内存(Memory)是计算机的重要部件,用于存储数据和指令的重要组件,是冯诺依曼计算机中是的存储器部分。作为与CPU进行沟通的桥梁,内存用于临时存储计CPU中的运算数据,以及与硬盘、网卡等外部组件数据,以便CPU能够快速访问和处理这些信息。计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。

在正文开始前,让我们先思考以下几个问题:

  1. 3000MHz的内存频率,难道能媲美CPU的频率?
  2. 内存的读写速度有多快,传输带宽多少?时间级别是多少?
  3. Redis声称吞吐量可达到 10W/每秒,对内存来说有压力吗?

内存简介

存储器可以分为易失性存储器和非易失性存储器。易失性存储器指的是当电源关闭时会丢失其中存储的数据,典型的例子是RAM。非易失性存储器则是在断电后能够保持其中存储的数据,典型的例子包括硬盘驱动器、固态硬盘和闪存存储器,具体分类如图1所示。
在这里插入图片描述

图1 存储器类型

本文主要讨论的是RAM和CPU的三级缓存。RAM是指计算机中的主要内存,用于存储正在运行的程序和数据;Cache是位于CPU和内存之间的高速缓存,用于临时存储CPU需要频繁访问的数据,以提高数据访问速度。

内存的基本结构

内存通常由许多存储单元组成,每个存储单元都有一个唯一的行列地址,可以存储一个字节的数据。通过这种结构,计算机可以根据地址快速地读取或写入数据。内存跟我们平常用的表格很像,最小的存储单元为cell,相当于表格中的一个小格子,具有行列地址,可以存储1bit数据(0或1)。行列的所有格子组成的存储阵列成为bank,一块内存内部划分出多个bank, 访问的时候指定bank编号,就可以访问指定的bank。
在这里插入图片描述

图2 内存结构图

内存操作流程

CPU 对内存的操作通常包括地址计算、发起内存请求、内存访问、数据传输等步骤,这些步骤构成了 CPU 对内存进行读取和写入操作时的基本流程。 CPU 通过这些步骤与内存进行通信,实现了对数据的读取和存储。

  • 地址计算:CPU 根据指令中提供的内存地址以及当前的地址计算方式(例如基址寻址、相对寻址等),计算将要读取或写入的内存地址。
  • 发起内存请求:CPU 通过总线系统将内存地址发送到内存控制器,请求对应内存位置的数据读取或写入。
  • 内存访问:内存控制器接收到CPU 的请求后,根据请求的地址进行相应的读取或写入操作。
  • 数据传输:内存控制器从内存中读取需要的数据,或者将CPU 提供的数据写入内存中,并通过总线系统将数据传输回到 CPU。
    在这里插入图片描述
图3 内存、缓存、CPU之间的关系

内存参数

图4为内存的的详情页,比起CPU的参数,内存条的参数少了很多,只有容量、频率、时序。
内存性能可以通过以下指标来衡量:

  • 带宽(Bandwidth):内存带宽指的是内存模块与CPU 或其他组件之间传输数据的速度。它通常以每秒传输的数据量(如GB/s)来衡量。
  • 延迟(Latency):内存延迟是指从发出读取请求到数据实际可用之间的时间间隔。较低的延迟意味着内存可以更快地响应请求。
  • 时序(Timing):内存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值