zoukankan      html  css  js  c++  java
  • CPU对存储器的读写

    一.存储单元

    内存有被划分为若干个存储单元,每个存储单元可存放1一个字节,及8个二进制位。因此内存的最小寻址单位是以字节进行的,每个存储单元都有一个编号。比如1GB的内存,可以储存10243个字节,它的存储单元编号就是从0递增到10243

    二.CPU对存储器的读写

    CPU要从内存中读写信息,需要跟内存进行3类信息交互:

    a.存储单元的地址(地址信息)

    b.器件选择,读或写命令(控件信息)

    c.读或写的数据(数据信息)

    CPU通过总线(地址总线,控制总线,数据总线)跟内存进行以上的数据传输。

    1.地址总线

    CPU通过地址总线来指定要进行读写的存储单元,因此地址总线上能传输多少个不同的信息,CPU就可以对多少个不同存储单元进行寻址(也就是说地址总线的宽度,决定了CPU的寻址范围.)一个导线可以传送的稳定状态只有两种,高电平或低电平。用二级进制表示就是1或0,N跟导线就能一次传输N位二进制数据,而N位二进制能表示2n种不通的状态,也就是可以取值的个数为2n个。所以一个有N个地址总线的CPU可以寻址的范围为2n 个内存单元。一个内存单元大小为1B,所以可以寻址2nB大小的内存。总之CPU地址总线的宽度,决定了CPU的寻址范围.

    2.数据总线

    首先要知道地址总线的宽度决定了CPU和外部器件进行一次数据传输时的数据量(从而影响数据传输速度)

    3.控制总线

    控制总线的宽度决定了CPU对其他器件的控件能力.

    三:内存地址空间

    在主机内有两种主要的存储器RAM(random access memory随机访问存储器)和ROM(read only memory只读存储器),RAM:比如主存(内存),CPU内的寄存器.ROM比如主板上和各接口卡上用于存储固化信息的存储器。

    所有存储器被看成一个由若干单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占一个地址段,及是以段地址空间。CPU在这段地址空间中读写数据,实际上就是对相应的物理存储器进行读写操作。内存地址空间的大小受CPU地址总线宽度的限制。并且不同的计算机内存地址空间的分配情况不一样(每个实际的物理存储器在内存地址空间中的地址段值不一样)。 

  • 相关阅读:
    从源码分析 XtraBackup 的备份原理
    移动端 SDK 开发经验总结及梳理
    spring boot jar包开机自启
    在Simulink中添加VeriStand支持
    java 启动脚本
    Docker容器日志管理最佳实践
    docker 日志限制或者删除
    网盘搜索
    tuple c++
    google原版:Debugging WebAssembly with modern tools
  • 原文地址:https://www.cnblogs.com/lihong/p/1894380.html
Copyright © 2011-2022 走看看