zoukankan      html  css  js  c++  java
  • 4412 物理地址

    单片机MCU

    现代中央处理器CPU

    4412 的物理地址包括

    • CPU内部寄存器registere
    • MMC
    • TF

    现代CPU和单片机相比就多了缓存和内存管理单元

    • 缓存比内存贵,速度快,所有它在挨着CPU的第一级
    • 内存比存储介质贵,速度快,所以它在缓存和内存之间

    4412访问物理地址的过程是:从cache缓存到内存到物理地址。哪怕CPU访问内部寄存器也是要过cache和内存的。

    产生的历史背景

    MMU是中央处理器中用来管理虚拟存储器、物理存储器的控制线路,同时负责虚拟地址映射为物理地址
    在原始的PC上,程序员编程的时候遇到一个问题
    程序大于内存
    当时的解决办法是程序员将程序分割成一段一段的,运行的时候CPU先运行一段,然后关闭前一段,再运行下一段。
    虽然运行的时候,CPU可以自动处理,但是分割的工作由程序员完成,很痛苦,很枯燥。
    在这个环境下引入了内存管理单元——MMU

    地址范围

    内存管理单元的基本思路
    数据和堆栈的大小总和可以超过物理存储器的大小,操作系统把当前使用的部分留在内存中,其它的保留在硬盘上。
    内存管理单元——地址范围
    32位的CPU地址范围是0——232次方
    64位的CPU地址范围是0——264次方

    页和页帧

    虚拟地址空间被划分为页的单位,相应的物理地址空间被划分为页帧
    。这个就是分页机制
    页的大小必须一样,页帧的大小也必须一样
    如果一台32位的机器有1G内存,它最大可运行4G大小的程序。
    这台机器首先要有4G的存储空间

     

    虚拟地址和物理地址的映射

    MMU本质上是一个表格
    MMU表格一边是CPU发送指令对应的虚拟地址,一边存储的是物理地址
    虚拟地址转化为物理地址,内存通过物理地址去读取实际的数据
    4412处理器中,内部寄存器也是通过虚拟地址和物理地址映射之后才拿来使用的。

    无欲速,无见小利。欲速,则不达;见小利,则大事不成。
  • 相关阅读:
    C++ map的基本操作和用法
    堆排序汇总
    gdb调试多进程和多线程命令
    Linux内存分配机制
    svn 修改文件的可执行权限
    proc/sys/net/ipv4/下各项的意义
    linux read()和write
    ps命令参数
    /etc/passwd- 和/etc/shadow-文件
    openssh源码分析笔记
  • 原文地址:https://www.cnblogs.com/ch122633/p/9448591.html
Copyright © 2011-2022 走看看