CPU的架构:要求能够理解从源程序到微指令的整个经历过程:存储器的层次结构(网络资源下载到硬盘、磁盘缓存、内存、Cache、寄存器);CPU的四大部分:ALU、CU、中断系统和寄存器;程序执行的整个过程(高级语言机器、汇编语言机器、操作系统机器、机器语言机器和微指令系统)。

进程控制块PCB位于内核空间。

MMU(内存管理单元):包括从逻辑地址到虚拟地址(线性地址)再到内存地址的变换过程、页式存储管理、段式存储管理、段页式存储管理、虚拟存储管理(请求分页、请求分段、请求段页)。 MMU位于CPU内部,可以假想为一个进程的所需要的资源都放在虚拟地址空间里面,而CPU在取指令时,机器指令中的地址码部分为虚拟地址(线性地址),需要经过MMU转换成为内存地址,才能进行取指令。MMU完成两大功能:1.虚拟地址到内存地址的地址变换;2.设置修改CPU对内存的访问级别。比如在Linux的虚拟地址空间中,3-4G为内核空间,访问级别最高,可以访问整个内存;而0-3G的用户空间只能访问用户空间的内容。其实这也是由MMU的地址变换机制所决定的。对于Inter(英特尔)CPU架构,CPU对内存的访问设置了4个访问级别:0、1、2、3(如上图所示),0最高,4最低。而Linux下,只是使用了CPU的两种级别:0、3。CPU的状态属于程序状态字PSW的一位,系统模式(0),用户模式(1),CPU交替执行操作系统程序和用户程序。0级对应CPU的内核态(特权态、管态、系统态),而3级对应用户态(普通态或目态),这其实是对内核的一种保护机制。例如,在执行printf函数的时候,其本身是在用户空间执行,然后发生系统调用,调用系统函数write将用户空间的数据写入到内核空间,最后把内核的数据刷到(fsync)磁盘上,在这个过程中,CPU的状态发生了变化,从0级(用户态)到3级(内核态)。

综上,MMU只是在读内存和写内存完成地址变换,以及更改CPU的访问级别。

CPU和MMU(内存管理单元)相关推荐

  1. MMU内存管理单元简介

    MMU 全称叫做 Memory Manage Unit,也就是内存管理单元. 在老版本的 Linux 中要求处理器必须有 MMU,但是现在 Linux 内核已经支持无 MMU 的处理器了. MMU 主 ...

  2. MMU内存管理单元详解

    MMU 诞生之前: 在传统的批处理系统如 DOS 系统,应用程序与操作系统在内存中的布局大致如下图: 应用程序直接访问物理内存,操作系统占用一部分内存区. 操作系统的职责是"加载" ...

  3. MMU内存管理单元之TLB快表

    文章目录 1. TLB快表 1.1 MMU的cache --TLB 1.2 快速上下文切换FSCE 1.3 Global TLB和non-global 1. TLB快表   页表以数据结构的方式存放在 ...

  4. MMU内存管理单元(看书笔记)

    http://note.youdao.com/noteshare?id=8e12abd45bba955f73874450e5d62b5b&sub=D09C7B51049D4F88959668B ...

  5. 操作系统 内存管理单元MMU TLB

    前言 在了解操作系统 内存管理 分页/分段/段页式管理.操作系统 虚拟内存技术两篇文章后,接下来继续看看现代操作系统基本内存管理方式,本文详细介绍Linux操作系统下的内存管理单元MMU和TLB. d ...

  6. Linux 中的内存管理单元MMU

    MMU (内存管理单元) 基础概念 1.TLB – 转换旁路缓存,里面存放着少量的虚拟内存与实际物理内存之间的对应关系,被称为快表. 2.TTW – 漫游转换表,当TLB中没有对应的转换关系,通过对内 ...

  7. 内存管理单元--MMU

    现代操作系统普遍采用虚拟内存管理(Virtual Memory Management)机制,这需要处理器中的MMU(Memory Management Unit,内存管理单元)提供支持,本节简要介绍M ...

  8. 内存管理单元MMU学习

    MMU MMU是Memory Management Unit的缩写,中文名是内存管理单元,有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU). ...

  9. 【软件开发底层知识修炼】三 深入浅出处理器之三 内存管理与内存管理单元(MMU)

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 上一篇文章学习了中断的概念与意义,以及中断的应用-断点调试原理.点击 ...

最新文章

  1. python Sigmoid和Tanh 可视化
  2. Android9获取权限闪退,Android 9.0 关于ACTION_CALL无权限导致闪退的问题
  3. 【学习笔记】juc并发学习+关于锁的面试题
  4. Vue属性篇_侦听器watch
  5. 《你好李焕英》票房超《神奇女侠》,贾玲成全球票房最高女导演
  6. vivo X30系列发布会邀请函曝光:名副其实的“望远镜”
  7. 面试官:什么是 Reactor 和 Proactor
  8. excel小写转大写公式_喂!这边居然有演示的Excel快捷键!
  9. Spring源码下载并导入Idea
  10. MATLAB利用ode求解二阶微分方程
  11. xp html5 显卡,最新桌面显卡性能排行 2018年5月显卡天梯图最新完整版
  12. MAC配置IOS、Android真机以及appium环境配置,最新版(一)
  13. codewars----Descending Order
  14. openid无效什么意思_通过微信公众号认识一个漂亮的女朋友是什么体验?
  15. ssm+Vue计算机毕业设计学科竞赛赛场安排系统(程序+LW文档)
  16. Anchor Free系列模型11
  17. Express全系列教程之(十):jade模板引擎
  18. 使用python爬取马蜂窝游记
  19. Spotlight On Oracle安装和使用
  20. uboot启动内核的相关命令详解——boot、bootm

热门文章

  1. centos 6.5网卡dhcp不能获得网关
  2. jlink怎么调试linux程序_纯Linux下的 ARM裸机调试环境搭建(GDB + JLink)
  3. python 线型_CCF 202006-1 线性分类器 python
  4. html5录像功能限制时间,HTML5拍照和摄像机功能实战详解
  5. mysql 高版本检索外键_第05期:外键到底能不能用?
  6. 小米10pro使用说明书_华为Mate40、华为P40和小米10拍照对比:哪一款最好?
  7. python里orient_OrientDB Python连接操作
  8. php接收get参数false是字符串,php解析url (parse_url) 参数成数组 (parse_str)
  9. dnf机器人猜数字奖励_DNF:周年庆策划啪啪打脸,工作人员也出错误,难道又是临时工的锅?...
  10. java牛客排序算法题_《剑指offer》面试题28:字符串的排列(牛客网版本) java...