zoukankan      html  css  js  c++  java
  • (八)地址空间和地址生成

    地址空间和地址生成

    内容摘要

    • 地址空间 & 地址生成

    • 地址生成

    • 地址检查

    一、地址空间定义

      • 物理地址空间 -- 硬件支持的地址空间

        • 起始地址0,直到

      • 逻辑地址空间 -- 在CPU运行的进程看到的地址

        • 起始地址0,直到

    二、逻辑地址生成

    • 地址生成时机和限制

      • 编译时

        • 假设起始地址已知

        • 如果起始地址改变,必须重新编译

      • 加载时

        • 编译时起始位置未知,编译器需生成可重新定位的代码(relocatable code)

        • 加载时,生成绝对地址

      • 执行时

        • 执行时代码可移动

        • 需地址转换(映射)硬件支持

    • 地址生成过程

      • CPU

        • ALU : 需要逻辑地址的内存内容

        • MMU: 进行逻辑地址和物理地址的转换

        • CPU控制逻辑: 给总线发送物理地址请求

      • 内存 (识别总线上的地址和控制信号)

        根据控制型号决定读还是写

        • 发送物理地址的内存给CPU

        • 或接收CPU数据到物理地址

      • 操作系统

        • 建立逻辑地址LA和物理地址PA的映射

    • 地址检查

      • 每次访问时,检查你的段的长度和偏移量

        • no : 内存异常

        • yes: 加段长度寄存器 -> 对应的段基址

  • 相关阅读:
    xadmin修改list_export_fields不生效以及添加exclude_export_fields功能
    Python正则总结
    Ubuntu安装Gitlab简记
    pytest使用总结笔记
    unittest使用数据驱动ddt
    unittest使用总结
    HTTP知识点总结
    HTTPS加密流程理解
    Requests库使用总结
    leetcode 76:最小字符串
  • 原文地址:https://www.cnblogs.com/douzujun/p/6512411.html
Copyright © 2011-2022 走看看