physical addressing virtual addressing 物理寻址 虚拟寻址
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 物理寻址 虚拟寻址的更多相关文章
- linux physical and virtual addressing modes
example 1: 特理地址和虚拟地址一致 Physical addressing mode requires no page tables and the CPU does not attempt ...
- 《CS:APP》 chapter 9 Vitrual Memory 笔记
Vitrual Memory In order to manage memory more efficiently and with fewer errors, modern systems prov ...
- Linux第14周学习笔记
虚拟存储器 虚拟存储器是硬件异常.硬件地址翻译.主存.磁盘文件和内核软件的完美交互. 虚拟存储器的特点: 中心的 强大的 危险的 物理和虚拟寻址 计算机系统的主存被组织成一个由M个连续的字节大小的单元 ...
- 深入理解计算机系统 第九章 虚拟内存 Part1 第二遍
这次花了4小时40分钟,看了第 559~575 页,共 17 页 第一遍对应地址 https://www.cnblogs.com/stone94/p/10264044.html 注意:本章的练习题一定 ...
- Virtualizing physical memory in a virtual machine system
A processor including a virtualization system of the processor with a memory virtualization support ...
- 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 ...
- Secondary IP Addressing
Secondary IP Addressing secondary IP addressing. Secondary addressing uses multiple networks or subn ...
- [转]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 ...
- 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 ...
随机推荐
- Wcf for wp8 调试Wcf服务程序(四)
1.要以管理员身份进行登录vs2012 否则会提示: 2.在wcf 服务程序上设为启动项 3.编译 运行你的wcf服务程序 点击 就出现wcftestclient.exe 客户端调试程序 双击点击Re ...
- 学会使用Chromium中的LOG
转自:http://blog.csdn.net/kuerjinjin/article/details/43937345 简介 众所周知chromium项目无比巨大,想去快速的了解,调试并添加自己想要的 ...
- C/C++知识点
1 cout<<endl;什么意思? 就是回车的意思~ 相当于C语言里面的printf("\n"); 2 cin>> 键盘输入 例子:double r=1 ...
- loj 1018(状压dp+记忆化搜索)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25844 思路:首先预处理出点在同一直线上的所有的点集状态(dp[i ...
- cocos2dx游戏开发——微信打飞机学习笔记(十一)——GameOverScene的搭建
一.创建文件~ GameOverScene.h GameOverScene.cpp GameOverLayer.h GameOverLayer.cpp 二.How to do? 就是加入一个转场就好~ ...
- 64位环境中使用SQL查询excel的方式解决
--64位环境中使用SQL查询excel的方式 环境: OS:Windows Server 2008 R2 Enterprise MSSQL:Microsoft SQL Server 2008 R2 ...
- 关于phpstudy安装的问题
1.最常见的就是80端口冲突.如果是安装在服务器的话,有些服务器已经默认安装了iis,所以会有冲突.关闭iis即可. 2.明明装了vc9运行库,但错误还是不行.如果你是整个项目copy过来的,可能就会 ...
- 误删除了mssql的表。 使用命令:drop table xxxx
使用ApexSQL Recover工具进行恢复.教程如下: http://solutioncenter.apexsql.com/zh/%E6%B2%A1%E6%9C%89%E5%A4%87%E4%BB ...
- BZOJ1834 [ZJOI2010]network 网络扩容(最小费用最大流)
挺直白的构图..最小费用最大流的定义. #include<cstdio> #include<cstring> #include<queue> #include< ...
- CodeForces Round 196
Div2-A 题意:有m个拼图,每个拼图有f[i]块.从中选出n个,使得 (其中块数最大减块数最小的值) 最小.思路:把f按从小到大的顺序排序,然后顺次尝试. #include<stdio.h& ...