<4D F736F F F696E74202D DB5DAB6FECAAEB6FEBDB22DCEA2D0CDBCC6CBE3BBFACFC8BDF8BCBCCAF5CAB5C0FDA3A8D2BBA3A92E >

Similar documents
提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

计算机组成原理 COD 第 5 章虚拟存储器

L10 Virtual Memory

L12 TLB

幻灯片 1

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005

Training

Oracle 4

计算机组成原理 COD 第 5 章虚拟存储器

投影片 1

PowerPoint Presentation

P4i45GL_GV-R50-CN.p65

Microsoft PowerPoint - 05-第五讲-寻址方式.pptx

Microsoft PowerPoint - 3章例题.ppt

Microsoft PowerPoint - chx06_org19_memoryhierarchy.ppt

微机第02章1(指令寻址)

目录 1 概述 IA-32 体系结构内存地址映射 CPU 相关寄存器 系统寄存器 内存管理寄存器 保护模式的内存管理 位时页面机制地址映射 逻辑地址到线性地址的映射...9

例 如, 一 个 含 有 2000 个 记 录 的 文 件, 每 个 磁 盘 块 可 容 纳 250 个 记 录, 则 该 文 件 包 含 8 个 磁 盘 块 然 后 对 该 文 件 作 二 路 归 并 的 外 排 序, 每 次 往 内 存 读 入 两 个 磁 盘 块, 排 序 后 再 写 回 磁

Chapter #

Microsoft PowerPoint - Chapter4_Memory.pptx

RAGE来咯!关于 ID TECH 5 MEGATEXTURE 的一些技术信息更新

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

Microsoft PowerPoint ren-arm arch1 [兼容模式]

P4Dual-915GL_BIOS_CN.p65

1 CPU

IEC 传输帧格式

的 開 銷, 請 務 必 先 和 家 裡 討 論 後 再 做 決 定 二 研 修 學 校 簡 介 卡 內 基 美 隆 大 學 (Carnegie Mellon University), 位 於 賓 州 匹 茲 堡 會 選 擇 來 這 裡 交 換, 我 相 信 大 部 分 的 人 都 已 經 知 道

untitled

國立臺東高級中學102學年度第一學期第二次期中考高一國文科試題

Page 2 of 12

Microsoft Word - Sunday

鎶ョ焊0

秘密大乘佛法(下)

!! :!!??!!?!??!!!... :... :'?'?! :' ' :'?' :'?' :'!' : :? Page 2

<D2B0D0C4D3C5D1C52DC8CED6BEC7BF202D20BCC7CAC2B1BE>

水晶分析师

Microsoft PowerPoint - 微原-第3章2.ppt [兼容模式]

PowerPoint Presentation

<4D F736F F F696E74202D DB5DABEC5BDB22DCEA2B4A6C0EDC6F7B5C4D3B2BCFEBDE1B9B9A3A8D2BBA3A92E >

嵌入式系统设计与应用 Pengju 第二章 ARM 处理器组成结构 (1) Pipeline & Memory hierarchy 西安交通大学电信学院 任鹏举

DPJJX1.DOC

untitled

秘密

E11701


嵌入式系统设计与应用 第二章 ARM 处理器组成结构 (1) Pipeline & Memory hierarchy 西安交通大学电信学院 任鹏举

一分一档表.xlsx

KV-cache 1 KV-cache Fig.1 WorkflowofKV-cache 2.2 Key-value Key ; Key Mem-cache (FIFO) Value Value Key Mem-cache ( Value 256B 100 MB 20%

数据库系统概论

<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378>

775i65PE_BIOS_CN.p65

Microsoft PowerPoint - 第01章 基础知识.pptx


ebook 132-6

RAID RAID 0 RAID 1 RAID 5 RAID * (-1)* (/ 2)* No Yes Yes Yes SATA A. B. BIOS SATA C. RAID BIOS RAID ( ) D. RAID/AHCI ( ) S ATA S S D ( ) (

WinMDI 28

AIX系统培训7.ppt

相 关 知 识 1 计 算 机 工 作 原 理 1946 年 2 月, 世 界 上 第 一 台 电 子 计 算 机 ENIAC (Electronic Numerical Integrator And Computer, 电 子 数 字 积 分 计 算 机 ) 诞 生 于 美 国 宾 夕 法 尼 亚

01 推 动 多 部 门 合 作 预 防 与 应 对 家 庭 暴 力 政 策 建 议 的, 任 何 一 个 政 府 部 门 和 社 会 组 织 都 无 法 提 供 全 方 位 的 服 务, 这 就 需 要 各 相 关 机 构 间 加 强 协 调, 相 互 合 作 来 满 足 受 害 者 的 需 要

OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Prot

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( )

µÚ¶þÕ µ¥´¦ÀíÆ÷Ìåϵ½á¹¹

支付宝2011年 IT资产与费用预算

提纲 1 2 OS Examples for 3

ZMF744.mps

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

01

PowerPoint Presentation

Microsoft Word - 2B802內文.doc

東區校園中法治教育種子師資教學研習營

閱 讀 素 材 V.S 分 組 方 式 的 差 異 化 教 學 工 具 表 班 級 :( ) 閱 讀 素 材 V.S 分 組 方 式 獨 立 閱 讀 夥 伴 閱 讀 ( 同 質 性 ) 夥 伴 閱 讀 ( 異 質 性 ) 友 善 陪 伴 虛 心 受 教 國 語 日 報 新 聞 生 活 文 藝 兒 童

Microsoft Word - 1HF12序.doc

Microsoft Word - 讀報看科普─人體篇_橫_.doc

鍟嗗搧瑙傚療鈥㈤挗鏉

席 远 杨 一 人 了, 正 当 她 开 枪 时 却 发 现 子 弹 没 了 该 死, 只 能 赤 手 空 拳 了 洛 水 云 与 席 远 杨 交 起 手 来, 洛 水 云 出 手 招 招 致 命 想 那 席 远 杨 也 不 是 泛 泛 之 辈, 很 快 掌 握 了 洛 水 云 出 招 路 数 看

Microsoft PowerPoint - 01_ADVDBG_RAYMOND_NT.ppt

Microsoft Word - 正文.doc

A 1.1 NEC EDK-21 CPU DD A. Feature Hold B. # 0 * PROGRAM MODE TIME DISPLAY 1.3 1) 2) 3) CIVING TECH Serivce Hotline:

PowerPoint 演示文稿

COP中文范本

冶金企业安全生产监督管理规定

<4D F736F F D20BAECB1A6C0F6A3BAB7C7B9ABBFAAB7A2D0D0B9C9C6B1C4BCBCAFD7CABDF0CAB9D3C3B5C4BFC9D0D0D0D4B1A8B8E62E646F63>


[group6] 4. The data cache has 80% hit rate and miss penalty is 120 cycles. 30% of instructions are load and store. The instruction cache has a hit ra

Name__________________________________

P4VM800_BIOS_CN.p65

《宽带上网手册》

09 虛擬記憶體 (virtual memory) CHAPTER 9.1 (Virtual memory) (segmentation) (paging) (static paging algorithm) (

CPU CPU Intel CPU AMD CPU CPU Socket A/Socket 370 CPU Socket 478 CPU CPU CPU CPU CPU

CCE Computer Memory


P4V88+_BIOS_CN.p65


宏电文档

PowerPoint Presentation

06 最新計算機概論 6-1 電腦軟體的類型 (software) (system software) (application software) Microsoft Office Adobe Photoshop Internet Explorer Macromedia Dreamweaver (

36 asm ("mov %%fs,%%ax":"=a" ( res):); \ 37 res;}) 38 // 以下定义了一些函数原型 39 void page_exception(void); // 页异常 实际是 page_fault(mm/page.s,14) void divi

Microsoft PowerPoint - C15_LAB_MTS86_INTRO

Transcription:

第二十二讲 授课教师 : 陆俊林王箫音 2012 年春季学期

主要内容 一 实模式回顾 二 虚拟存储机制 三 保护模式 四 64 位模式 五 多线程技术 教材相关章节 : 微型计算机基本原理与应用 ( 第二版 ) 第 15 章 80x86/Pentium 保护模式原理与结构 1

主要内容 一 实模式回顾 二 虚拟存储机制 三 保护模式 四 64 位模式 五 多线程技术 2

回顾 : 三种工作模式之间的转换 从加电启动或复位到操作系统运行之前 操作系统和应用程序的运行 运行兼容 8086 程序 加电启动 实模式 设置 PE=1 设置 PE=0 保护模式 作业切换中断返回 中断 异常 复位复位复位 虚拟 8086 模式 * 注 :PE 即 保护模式允许, 是 80x86 控制寄存器 CR0 中的控制位 3

回顾 : 实模式下物理地址的产生 逻辑地址 段寄存器段基值 (16 位 ) 移位器 偏移量 (16 位 ) 物理地址 = 段基值 16+ 偏移量 段基值 (16 位 ) 0000 地址加法器 物理地址 物理地址 (20 位 ) 4

分段式存储系统示意 边界寄存器 段边界 <_ 越界? MOV AX, [10H] 有效地址 + 物理地址 当前段 基址寄存器 程序地址空间 段基址 存储器 5

分段式存储系统的特点 存储器被划分为不同大小的段 (Segment) 必须为程序分配连续的存储器空间 当程序需要较大的空间时, 难以充分利用若干个不连续的较小的段, 导致碎片问题严重 6

存储器碎片 (Memory Fragmentation) User 4&5 Arrive User 2&5 Leave Free OS Space OS Space OS Space User 1 16KB User 1 16KB User 1 16KB User 2 24KB User 2 24KB 24KB 32KB User 4 16KB 16KB User 4 16KB 16KB User 3 32KB User 3 32KB User 3 32KB 24KB User 5 24KB 24KB 7

如何缓解碎片问题? 分页式存储系统 存储器被划分为固定大小的页 (Page) 可以为程序分配不连续的存储器空间 当程序需要较大的空间时, 可以充分利用若干不连续的页面, 有效缓解碎片问题 8

主要内容 一 实模式回顾 二 虚拟存储机制 三 保护模式 四 64 位模式 五 多线程技术 9

分页式存储系统示意 0xFFFFF 0xFFFFE 页 (Page) 9 虚拟地址空间 0x00006 0x00005 0x00004 0x00003 0x00002 0x00001 0x00000... 8 7 6 5 4 3 2 1 0 物理存储器 10

虚拟页和页帧 ( 虚拟页号 ) virtual page number 虚拟页 (Virtual Page) 页帧 (Page Frame) page frame number ( 页帧号 ) 11

地址映射 (Mapping) 虚拟页到页帧的对应 一个虚拟页只能对应到一个页帧 一个页帧有可能和多个虚拟页对应 如何管理地址映射? 12

页表 (Page Table) 页表由若干页表项组成 页表项的内容通常包括 : 地址映射 : <virtual page number, page frame number> 读写权限 :Read/Write/Execute 访问情况 :Reference/Modify 每个进程都拥有独立的页表 13

页表如何存放 页表所占用的存储空间与进程所使用的虚拟地址空间及系统中进程的数目成正比 由于占用空间较大, 页表通常存放在主存中 每次访存请求都要额外增加一次存储器访问 1 使用虚拟地址访问页表, 从页表项中获取物理地址 ( 额外的存储器访问 ) 2 使用物理地址进行存储器访问 14

分页式存储系统的访存过程示意 页 (Page) 进程 1 的页表 进程 1 虚拟地址空间 进程 2 的页表 存储器 进程 2 虚拟地址空间 15

存储器容量的限制 20 世纪 60 年代初期, 很多应用程序所需要的地址空间已经大于存储器容量 分页式存储系统的特点 优势 : 能够有效缓解碎片问题 不足 : 需要一次性地将程序的指令和数据全部加载到主存中, 才能开始执行程序 16

早期解决方法 :Overlay 实现方式 编程时将程序划分为若干个相对完整的块 通过编程指定这些块的加载顺序 通过编程指定哪些块可以同时加载 这给程序员进行编程带来很大的限制和负担 17

按需调页 (Demand Paging) 只有当 CPU 真正需要数据时, 才从二级存储中将需要的页面调入主存中 主存只需要存放当前访问的页面, 程序就可以执行, 从而摆脱了主存容量对程序的限制 1962 年, 由曼彻斯特大学的 Tom Kilburn 提出, 并在 Ferranti 公司设计制造的 Atlas 计算机中实现 18

Atlas 计算机的存储系统结构 Effective Address Compare the effective address against all 32 PARs normal access page fault 缺页 Initial Address Decode Page Address Registers 0... 31... 主存 32 pages ROM 16 pages 2 subsidiary pages 二级存储 192 pages System Code System Data 19

缺页 (Page Fault) 处理步骤 1. 为引发缺页的虚拟地址 ( 简称缺页地址 ) 在主存中寻找空闲页帧 2. 如果没有空闲页帧, 选择主存中已使用的页帧作为替换页帧 3. 将替换页帧的数据回写二级存储或丢弃 4. 将缺页地址的数据从二级存储调入主存中已分配的物理页帧 ( 空闲页帧或替换页帧 ) 5. 在页表中建立缺页地址到物理页帧的映射关系 20

层级页表示例 Virtual Address Level1 Level2 Page Offset Page table + base register L1 Page Table Page Table Entry... + L2 Page Table Page Table Entry... Physical Address Page frame number Page Offset 21

对比 :Caching vs. Demand Paging Cache Main Memory Main Memory 二级存储 Caching Cache line Block(~32 bytes) Cache miss rate(1% to 20%) Cache hit(~2 cycles) Cache miss(~100 cycles) A miss is handled in hardware Demand Paging Page frame Page(~4K bytes) Page miss rate(<0.001%) Page hit(~100 cycles) Page miss(~5m cycles) A miss is handled mostly in software 22

虚拟存储的主要作用 提供一种理想中的容量非常大的存储器 多个进程的存储器空间总和可大于物理存储器 每个进程的存储器空间可大于物理存储器 提供各个进程存储区域之间的保护与共享 将各个进程的数据和指令进行隔离和保护 提供多个进程之间进行数据共享的机制 对实际的物理存储器资源进行统一管理 每个进程都可以视为独自占有物理存储器资源 虚拟存储的主要代价 : 增加了地址转换过程 23

虚拟存储系统应用现状 桌面计算机与服务器 具有完备的支持按需调页的虚拟存储系统 支持进程之间的存储保护与共享 超级计算机 具有地址转换与存储保护的支持 有些不支持按需调页, 将程序的所有页面放入超大容量的主存, 目的是加快程序执行速度 嵌入式系统的微控制器 出于成本考虑, 不支持虚拟存储系统 只在固定容量的存储器中运行定制的应用程序 24

主要内容 一 实模式回顾 二 虚拟存储机制 三 保护模式 四 64 位模式 五 多线程技术 25

保护模式 (Protected Mode) 保护模式, 又可称为本性模式 (Native State), 80386 及以上的微处理器的主要工作模式 支持多任务 支持设置特权级 支持特权指令的执行 支持访问权限检查 可以访问 4GB 的物理存储空间 引入了虚拟存储器的概念 保护模式让操作系统加强了对应用软件的控制, 使得系统运行更安全高效 26

保护模式的主要特点 存储器用逻辑地址空间 线性地址空间和物理地址空间三种形式来描述 寻址机制 : 需要通过 描述符表 的数据结构实现对存储器的访问 段寄存器 : 保存内容为 段选择符, 作为索引 描述符表 的变址寄存器来使用 可以使用四级特权保护功能 27

段描述符 (Segment Descriptor) 存放一个段的信息的数据结构, 共 8 字节长 存放信息包括 : 段基址 段长 ( 段的字节数 ) 类型 访问权限和其他属性信息 有两种类型的段描述符 : 1 非系统段描述符 : 即应用程序段, 包括代码段 数据段和堆栈段 2 系统段描述符 : 包括任务状态段 (Task State Segment) 和称作门 (Gates) 的特殊段描述符等 28

描述符表 (Descriptor Table) 把系统中的段描述符按线性表的形式来组织, 即构成描述符表 (Descriptor Table) 描述符表由操作系统建立 维护和管理 有三种类型的描述符表 : 1 全局描述符表 (GDT): 含有可供系统中所有任务使用的段描述符 2 局部描述符表 (LDT): 只含有与系统中某一个给定任务相关联的段描述符 3 中断描述符表 (IDT): 含有指出各中断服务程序位置及相关属性信息的段描述符 29

段选择符 (Segment Selector) 每个段描述符都有一个与之对应的段选择符 在保护模式下,16 位段寄存器的内容即为段选择符, 指向定义段的段描述符 15 3 2 1 0 Index TI RPL Table Indicator 0 = GDT 1 = LDT Requested Privilege Level(RPL) 30

回顾 : 实模式下物理地址的产生 逻辑地址 段寄存器段基值 (16 位 ) 移位器 偏移量 (16 位 ) 物理地址 = 段基值 16+ 偏移量 段基值 (16 位 ) 0000 地址加法器 物理地址 物理地址 (20 位 ) 31

回顾 : 虚拟页和页帧 ( 虚拟页号 ) virtual page number 虚拟页 (Virtual Page) 页帧 (Page Frame) page frame number ( 页帧号 ) 32

保护模式下的寻址机制 物理地址 (Physical Address) 信息在存储器中实际存放的地址 CPU 访问存储器时实际输出的地址 逻辑地址 (Logical Address) 编程时所使用的地址 保护模式下由 段选择符 和 偏移量 两部分构成 线性地址 (Linear Address) 分段机制将逻辑地址转换为一维的中间地址, 这种中间地址称为线性地址 33

保护模式下物理地址的产生 两级地址转换 : 1 逻辑地址 经过分段部件转换, 得到 线性地址 2 线性地址 经过分页部件转换, 得到 物理地址 34

特权级 (Privilege Level) 保护环 (Protection Ring) Level 0 ( 操作系统内核 ) Level 1 ( 操作系统服务 ) Level 2 ( 操作系统服务 ) Level 3 ( 应用程序 ) 35

特权级检查 CPL(Current privilege level) 当前特权级 当前正在执行的程序或任务的特权级 DPL(Descriptor privilege level) 描述符特权级 RPL(Requested privilege level) 请求特权级 分配给段选择符的特权级 MAX(CPL,RPL) DPL 36

主要内容 一 实模式回顾 二 虚拟存储机制 三 保护模式 四 64 位模式 五 多线程技术 37

64 位虚拟存储管理 使用 64 位虚拟地址的影响 为程序员提供更大的编程空间 为进程提供更大的寻址空间 流水线中使用的地址宽度增加 页表级数增加 TLB 表项宽度增加 使用 64 位物理地址的影响 支持更大的物理内存 页表项宽度增加 总线地址位宽增加 TLB 表项宽度增加 Cache 表项宽度增加 当前处理器实际支持的虚拟地址和物理地址位宽往往不足 64 位 38

64 位体系结构实例 :AMD64 Long Mode:64 位虚拟存储管理 Legacy Mode:32 位虚拟存储管理 兼容 32 位操作系统 39

AMD64 Long Mode 最大支持 64 位虚拟地址和 52 位物理地址 处理器实际实现 48 位虚拟地址和 40 位物理地址 64-bit Mode 的特性 不兼容 32 位应用程序 不再支持段式存储管理 Support only a flat address space with single code, data, and stack space 支持页式存储管理 Compatibility Mode 的特性 兼容 32 位应用程序 仍旧支持段页式存储管理 40

AMD64 Long Mode 页式存储管理 48 位虚拟地址空间 : 四级页表结构 页表项大小由 32 位时的 4 字节变为 8 字节 41

主要内容 一 实模式回顾 二 虚拟存储机制 三 保护模式 四 64 位模式 五 多线程技术 42

单个串行程序提高性能的方法 减少处理器周期时间 电路设计 体系结构 提高指令级并行程度 超标量 编译 分支预测 减少程序的指令数目 算法 编译 43

多线程技术特性 目标 每个 CPU 能够执行多个线程 目的 保持 CPU 的繁忙, 提高 CPU 的利用率 切换线程的时机 等待 I/O 事件 Cache 失效 44

多线程处理器的设计方案 显示多线程 (EMT) 单芯片多处理器 (CMP) 细粒度多线程 (FGMT) 粗粒度多线程 (CGMT) 同时多线程 (SMT) 隐式多线程 (IMT) 45

多线程技术特点比较 单芯片多处理器细粒度多线程粗粒度多线程同时多线程 46

下讲预告 下讲 主题 先进技术实例 - 硬件篇 学习 资料 47

谢谢! 48