Computer Systems A Programmer's Perspective Second Edition

The main memory of a computer system is organized as an array of
M
contiguous
byte-sized cells. Each byte has a unique physical address (PA). The first byte has
an address of 0, the next byte an address of 1, the next byte an address of 2,
and so on. Given this simple organization, the most natural way for a CPU to
access memory would be to use physical addresses. We call this approach physical
addressing. Figure 9.1 shows an example of physical addressing in the context of
a load instruction that reads the word starting at physical address 4.
When the CPU executes the load instruction, it generates an effective physical
address and passes it to main memory over the memory bus. The main memory
fetches the 4-byte word starting at physical address 4 and returns it to the CPU,
which stores it in a register.
Early PCs used physical addressing, and systems such as digital signal pro-
cessors, embedded microcontrollers, and Cray supercomputers continue to do so.
However, modern processors use a form of addressing known as virtual address-
ing, as shown in Figure 9.2.
With virtual addressing, the CPU accesses main memory by generating a vir-
tual address (VA), which is converted to the appropriate physical address before
being sent to the memory. The task of converting a virtual address to a physical
one is known as address translation. Like exception handling, address translation

requires close cooperation between the CPU hardware and the operating sys-
tem. Dedicated hardware on the CPU chip called the memory management unit
(MMU) translates virtual addresses on the fly, using a look-up table stored in main
memory whose contents are managed by the operating system.

主存

存储器管理单元

physical addressing virtual addressing 物理寻址 虚拟寻址的更多相关文章

  1. linux physical and virtual addressing modes

    example 1: 特理地址和虚拟地址一致 Physical addressing mode requires no page tables and the CPU does not attempt ...

  2. 《CS:APP》 chapter 9 Vitrual Memory 笔记

    Vitrual Memory In order to manage memory more efficiently and with fewer errors, modern systems prov ...

  3. Linux第14周学习笔记

    虚拟存储器 虚拟存储器是硬件异常.硬件地址翻译.主存.磁盘文件和内核软件的完美交互. 虚拟存储器的特点: 中心的 强大的 危险的 物理和虚拟寻址 计算机系统的主存被组织成一个由M个连续的字节大小的单元 ...

  4. 深入理解计算机系统 第九章 虚拟内存 Part1 第二遍

    这次花了4小时40分钟,看了第 559~575 页,共 17 页 第一遍对应地址 https://www.cnblogs.com/stone94/p/10264044.html 注意:本章的练习题一定 ...

  5. Virtualizing physical memory in a virtual machine system

    A processor including a virtualization system of the processor with a memory virtualization support ...

  6. Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system

    A processor including a virtualization system of the processor with a memory virtualization support ...

  7. Secondary IP Addressing

    Secondary IP Addressing secondary IP addressing. Secondary addressing uses multiple networks or subn ...

  8. [转]Part1: Understanding !PTE , Part 1: Let’s get physical

    http://blogs.msdn.com/b/ntdebugging/archive/2010/02/05/understanding-pte-part-1-let-s-get-physical.a ...

  9. Separate code and data contexts: an architectural approach to virtual text sharing

    The present invention provides a processor including a core unit for processing requests from at lea ...

随机推荐

  1. Java中比较不同的MD5计算方式

    在项目中经常需要使用计算文件的md5,用作一些用途,md5计算算法,通常在网络上查询时,一般给的算法是读取整个文件的字节流,然后计算文件的md5,这种方式当文件较大,且有很大并发量时,则可能导致内存打 ...

  2. html5 (个人笔记)

    妙味 html5  1.0 <!DOCTYPE html> <html> <head lang="en"> <meta charset=& ...

  3. Synergy

    Synergy 可以在多台电脑之间共享鼠标.键盘.剪贴板.Synergy是一套开源共享软件,完美跨 Win.Linux.Mac运行.真正做到使用一套键盘和鼠标就可控制多个电脑. 下载地址:http:/ ...

  4. OOM解决方案

    应用程序OOM异常永远都是值得关注的问题.通常这一块也是程序这中的重点之一 首先,OOM就是内存溢出,即Out Of Memory.也就是说内存占有量超过了VM所分配的最大. 怎么解决OOM,通常OO ...

  5. [转载]GMM的EM算法实现

    在聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut一文中我们给出了GMM算法的基本模型与似然函数,在EM算法原理中对EM算法的实现与收敛性证明 ...

  6. Code 128 规则解析

    1.CODE 128 标准 1.1 code 128码格式:   格式:   从左起: 空白区域,起始字符(Start),数据区域(data),校验码(check),结束字符(Stop),空白区域. ...

  7. Google不支持小于12px字体 终极办法

    每个浏览器厂商都会自己有设计的主观性,而这些出发点看似很好的却往往深深地伤害程序员. 1.需求 呈现指定为Google浏览器,字号为6-8px(为了打印细小的尺寸). 2.探索 2.1 CSS HAC ...

  8. MVC Area Usage

    ASP.NET MVC Area操作 新建 Area:右键 -> Add –> Area 继承 AreaRegistration,重写AreaName属性与RegisterArea方法 p ...

  9. 为tomcat 安装 native 和配置apr

    yum install -y apr-devel openssl-devel gcc 安装native cd /lxyy/tomcat7/bin tar zxvf tomcat-native.tar. ...

  10. OpenCV 3.0 VS2010 Configuration

    Add in the system Path: C:\opencv\build\x86\vc10\bin; Project->Project Property->Configuration ...