第四章 存储系统 计算机科学技术系 2006 年 4 月.

Slides:



Advertisements
Similar presentations
关于中国色情产业合法化的伦理学讨论 张雅萱 周嘉言 史翔瑞 詹智超.
Advertisements

定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
天然 養生 樂活 年貨集錦 田森館 - 艾草之家. ‧環保健康生活小常識 : 日常使用的家中日用品,包含各種各樣的化學物質,這些化學物質,有些頗具 毒性,有些雖然沒有急毒性,但暴露日久卻會造成慢性中毒,導致健康受損, 甚至致命。 環境荷爾蒙會影響人類或其他生物的生殖能力與發育,其中一類的「壬基酚 (
《微型计算机技术 及应用》 ( 第 4 版) —— 戴梅萼 史嘉权. 目标 深刻理解 牢固掌握 灵活应用.
足太阴脾经在足大趾与足阳明胃经衔接, 在胸部与手少阴心经相接。 联系的脏腑器官有 咽、舌,属脾,络胃,注心中。 络脉从本经分出,走向足阳明经,进入腹腔,联络肠胃。 经别结于咽,贯舌本。 经筋结于髀,聚于阴器,上腹,结于脐,散于胸中。 第四章 足太阴经络与腧穴 第一节 足太阴经络.
1 江苏弘盛建设工程集团有限公司 建筑施工现场安全教育. 2 第一部分 脚手架事故案例分析 案例一: 2007 年 11 月 6 日,西安市南大街正在施工的 百货大厦西侧一个近 50 米长、 20 多米高的脚手架发生 倒塌。事故造成 3 女 1 男 4 人受伤。 分析原因:该项目经调查为非法工程,建设单位未.
不知者無罪嗎 ? 【本報台北訊】國內知名大學胡姓研究 生進口豬籠草在網路上販售,涉嫌違反 植物防疫檢疫法,胡姓研究生表示不知 道豬籠草是違禁品並當場認錯道歉 台北地檢署檢察官念他初犯,昨 天處分緩起訴,但命他繳交六萬 元緩起訴處分金作公益。 豬籠草有潛移性線蟲寄生,一旦植物感 染後,輕則枯萎凋零,重則危害農業經.
第6章 存储系统 6. 1 存储器的分类与性能评价 6. 2 存储器访问的局部性原理与 层次结构存储系统 6. 3 半导体存储器
第二章 中药药性理论的现代研究 掌握中药四性的现代研究 掌握中药五味的现代研究 掌握中药毒性的现代研究 了解中药归经的现代研究.
学校秋季常见传染病的防控 武进区疾病预防控制中心 防疫科.
103年度學生健康檢查.
第五章 中央处理器 5.1 CPU的组成和功能 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 微程序设计技术
第7章 存储系统.
第四章 存储系统 4-1 存储系统概论 4-2 RAM(随机读写存储器) 4-3 ROM(只读存储器) 4-4 高速缓冲存储器(Cache)
CHAPTER 9 虛擬記憶體管理 9.2 分頁需求 9.3 寫入時複製 9.4 分頁替換 9.5 欄的配置法則 9.6 輾轉現象
“炝虾”食用安全性的 初步研究 上海市吴淞中学生物与环境社团 责任者:李 胤 吴蓓莉 指导老师:张 治 许 沁.
門神 在傳統觀念中,門是居住環境中與外界相通的出入口,具有重要的屏障作用。門神顧名思義就是護宅守門的神仙,每逢過年,上至天子百官下至普通百姓,家家戶戶必在門上張貼門神,以保一家平安。 門神種類主要有宅第大門上將軍武門神、內室門戶上祈福文門神,還有童子門神、仙子門神等,形象豐富多樣,皇家貴戚還往往在畫上瀝粉貼金,十分吉祥喜慶。
专题三 生物圈中的绿色植物.
安 全 維 護 臺 東 林 區 管 理 處 消費安全 詐騙防範宣導 健康生活 毒家新聞 杜絕不明匯款及金融轉帳操作
门店助手V3.1.0版 用户操作手册 广东蜂助手网络科技有限公司 2015年03月.
第三章 存储系统 现代计算机系统都以存储器为中心 在计算机运行过程中,存储器是各 种信息存储和交换的中心。
§2 虚拟存储器 1961年英国曼彻斯特大学Kilbrn等人提出 70年代广泛地应用于大中型计算机系统中 目前许多微型机也开始使用虚拟存储器
白千層 第二組 植微二 黃思綺 法律二 吳夙容 生傳一 陳怡君 社會三 黃永喬 化學四 莊皓宇.
安全訓練研習 工教 陳志杰.
操作系统 Operating System.
节目分析.
青春期男生女生交往.
第一章 信息与信息技术 1.2 日新月异的信息技术.
复习回顾 2.2 计算机硬件系统 2.1 计算机发展概述 1、芯片组的作用是什么? 1、计算机分为几代?主要元器件是什么?
中国十五冶 2013年技工岗前安全培训 ——十五冶七公司安全环保部 2013年5月.
第四章 存储器管理.
第一章 体育统计的基本知识 主讲教师:王丽艳 徐栋.
第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理.
第四章 存储体系.
Memory Hierarchy Design
半导体存储器 第四章 半导体存储器.
金属学与热处理 主讲: 杨慧.
5.1 存储器的层次结构 从单级存储器到多级存储器 第五章 存储层次 1. 从用户的角度来看,存储器的三个主要指标是:
早会直通车 总930期 总公司个险业务部.
99年台南市中小學電腦維運 --招標結果暨配發說明
版权所有,引用请注明出处 第四章、存储系统-2 原著 谭志虎 主讲(改编) 蒋文斌.
第5章 中央處理單元與主記憶體 5-1 中央處理單元-CPU 5-2 主記憶體.
ARM存储器结构 ARM架构的处理器的存储器寻址空间有4G字节 ,存储空间可以分为 :
第五章 存储系统 半导体存储器概述 系统内存扩充 高速缓冲存储器 虚拟存储器 PC系列机中的主存储器 习题与思考 上一章 目 录 帮助
4.1 概述 4.2 主存储器 4.3 高速缓冲存储器 4.4 辅助存储器.
第 6 章 存储系统 6.1 概述 存储器的层次结构 存储器的分类 存储器的基本组成
第5章 存储系统.
第四章 存 储 器 4.1 概述 4.2 主存储器 4.3 高速缓冲存储器 4.4 辅助存储器.
CHAPTER 8 VIRTUAL MEMORY
作業系統 第八章 記憶體管理.
資料來源:張弘明 張迪安 林欣螢 吳柏農 吳沛錡
计算机组成原理 武汉科技大学 计算机科学与技术学院
信息存储与管理 国家天文台 (科技处)信息与计算中心.
第3章 存储系统 本章内容: 存储器概述 随机读写存储器 只读存储器和闪速存储器 高速存储器 cache存储器 虚拟存储器 存储保护.
第5章 半导体存储器 存储器基本概念 随机存取存储器(RAM) 只读存储器(ROM) 存储器连接与扩充应用 微机系统的内存结构.
如何赢一个机械键盘
永宏PLC --FB-PLC【基礎功能篇 】
第9章 虛擬記憶體 (virtual memory)
第四章 存储器管理 4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 基本分页存储管理方式
主存管理 第6章 主存管理.
计算机系统结构(2012年春) ----存储层次: Cache基本概念
一、只要內心平靜, 生活中到處都有樂趣, 不論是在庭院中觀賞花卉、在靜夜裡讀書,或者是在郊外欣賞黃昏的稻田風光,李慈銘的︿越縵堂日記﹀裡傳達了這樣的訊息。 二、而劉鶚的︿大明湖﹀,則是帶我們到風景勝地大明湖,去領略湖光山色之美。 兩篇文章都表現出生活中的閒情逸趣,也啟迪我們要沉澱心靈,多與大自然接觸。
微机原理与接口技术 课程性质:专业技术必修课程 课程的特点:偏重硬件,软硬件结合 先修课程:导论、数字逻辑、组成原理、汇编语言等
猜數字遊戲.
第六章 記憶體.
國民年金 np97006.
第五章 虚 拟 存 储 器 5.1 虚拟存储器概述 5.2 请求分页存储管理方式 5.3 页面置换算法 5.4 “抖动”与工作集
介入及追蹤紀錄表 編號: 姓/稱謂: 初次103年 月 日 追蹤 月 日 問題型態 (可複選) □ 1. 覺得西藥都很傷胃
县级支中心 乡镇基层服务点的建设 朱 庆 华.
第六章 直接成本法.
Presentation transcript:

第四章 存储系统 计算机科学技术系 2006 年 4 月

主要内容: 存储系统原理 虚拟存储器 高速缓冲存储器(Cache) 三级存储系统

存储系统原理 存储系统的定义 存储系统的层次结构 存储系统的频带平衡 并行访问存储器 交叉访问存储器 无冲突访问存储器

存储系统的定义 种类:主存储器、Cache、通用寄存器、缓冲存储器、磁盘存储器、磁带存储器、光盘存储器等 在一台计算机中,通常有多种存储器 种类:主存储器、Cache、通用寄存器、缓冲存储器、磁盘存储器、磁带存储器、光盘存储器等 材料工艺:ECL、TTL、MOS、磁表面、激光,SRAM,DRAM 访问方式:随机访问、直接译码、先进先出、 相联访问、 块传送、文件组

地位:在整个计算机信息传输中处于中心地位 存储系统的定义 存储器在计算机中的作用和地位 作用: 1 向CPU提供数据和指令; 2 控制输入/输出设备的读写。 存 储 器 运 算 器 控 制 器 输 出 输 入 以存储器为中心的计算机系统结构 地位:在整个计算机信息传输中处于中心地位 现代计算机系统以存储器为中心

存储系统的定义 决定存储系统三个基本参数 —— 容量、速度和价格 1) 容量(S) S = W*L*M 2) 速度(T) 访问时间(Ta):从接收读申请到读信息送到存储器输出端的时间。 存储周期(Tm):连续两次启动该存储器所需的最小时间间隔。 存储带宽 (Bm):存储器连续访问时,可提供信息的传送速率, 即每秒传送的信息位数。 Bm= W / Tm

存储系统的定义 3) 价格(C) 三个参数之间的关系: 存储器的速度越快,每位的价格就越高; 存储器的容量越大,存储器的速度就越慢; 组成存储系统的关键:把速度、容量和价格不同的多个物理存储器组织成一个存储器,这个存储器的速度最快,存储容量最大,单位容量的价格最便宜。

存储系统的定义 存储访问的局部性原理 指在访问存储器时,无论是存取指令或存取数据所访问的存储单元都趋于聚集在一个较小的连续单元区域中。 时间局部性:最近的访问的存储单元在不久的将来仍将被访问。(程序循环) 空间局部性:下次访问的存储单元很可能就在刚刚访问的存储单元附近。(程序中大部分指令顺序存储和顺序取出执行、数据聚集存放(如向量、数组、树、表)等)

存储系统的定义 1. 定义 两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来成为一个存储系统。这个存储系统对应用程序员是透明的,并且,从应用程序员看,它是一个存储器: 这个存储器的速度接近速度最快的那个存储器 存储容量与容量最大的那个存储器相等 单位容量的价格接近最便宜的那个存储器

存储系统的定义 由多个存储器构成的存储系统 CPU

存储系统的定义 在一般计算机系统中,有两种存储系统: Cache存储系统:由Cache和主存储器构成 主要目的:提高存储器速度 CPU

存储系统的定义 虚拟存储系统:由主存储器和硬盘构成 主要目的:扩大存储器容量 CPU

存储系统的定义 2.存储系统的容量 要求: 方法有两种: Cache存储系统 虚拟存储系统 提供尽可能大的地址空间 能够随机访问 只对系统中存储容量最大的那个存储器进行编址,其他存储器只在内部编址或不编址 Cache存储系统 另外设计一个容量很大的逻辑地址空间,把相关存储器都映射这个地址空间中 虚拟存储系统

存储系统的定义 3.存储系统的每位平均价格 计算公式: 当S2》S1时,C≈C2 S2与S1不能相差太大

存储系统的定义 4. 存储系统的速度 表示方法:访问周期、存取周期、存储周期、存取时间等 命中率定义:在M1存储器中访问到的概率 其中:R1是对M1存储器的访问次数 R2是对M2存储器的访问次数

存储系统的定义 访问周期与命中率的关系: 存储系统的访问效率: 访问效率主要与命中率和两级存储器的速度之比有关 当命中率H→1时,T→T1 T=H*T1+(1-H)*T2 当命中率H→1时,T→T1 存储系统的访问效率: 访问效率主要与命中率和两级存储器的速度之比有关

存储系统的定义 例:假设T2=5T1,在命中率H为0.9和0.99两种情况下,分别计算存储系统的访问效率。 解: 当H=0.9时, e1=1/(0.9+5(1-0.9))=0.72 当H=0.99时, e2=1/(0.99+5(1-0.99))=0.96

存储系统的定义 提高存储系统速度的两条途径: 提高命中率H; 两个存储器的速度不要相差太大; 其中,第二条有时做不到(如虚拟存储器3-4倍),这时,只能依靠提高命中率

存储系统的定义 例:在虚拟存储系统中,两个存储器的速度相差特别悬殊,例如:T2=105 T1。如果要使访问效率到达e=0.9,问需要有多高的命中率? 解: 0.9H+90000(1-H)=1 89999.1 H=89999 计算得: H=0.999998888877777… ≈0.999999

存储系统的定义 5. 采用预取技术提高命中率 方法:不命中时,把M2存储器中相邻多个单元组成的一个数据块取出来送入M1存储器中。 计算公式: 其中:H’是采用预取技术之后的命中率 H是原来的命中率 n为数据块大小与数据重复使用次数的乘积

存储系统的定义 例:在一个Cache存储系统中,当Cache的块大小为一个字时,命中率H=0.8;假设数据的重复利用率为5,T2=5T1。计算块大小为4个字时,Cache存储系统的命中率?并分别计算访问效率。 解: n=4×5=20, 采用预取技术之后,命中率提高到:

存储系统的定义

存储系统的定义 例:在一个虚拟存储系统中,T2=105 T1,原来的命中率只有0.8,如果访问磁盘存储器的数据块大小为4K字,并要求访问效率不低于0.9,计算数据在主存储器中的重复利用率至少为多少? 解:假设数据在主存储器中的重复利用率为m,根据前面给出的关系,有如下方程组:

存储系统的定义 解方程组: 由方程(1)得到:0.9H+90000-90000H=1

计算公式证明方法一: 采用预取技术之后, 不命中率(1-H)降低n倍: 存储系统的定义 计算公式证明方法一: 采用预取技术之后, 不命中率(1-H)降低n倍:

存储系统的定义 计算公式证明方法二: 在原有命中率的计算公式中,把访问次数扩大到n倍。由于采用了预取技术,命中次数为:nR1+(n-1)R2,不命中次数仍为R2,因此新的命中率为:

存储系统的层次结构 多个层次的存储器: 用i表示层数,则有: 第1层:寄存器堆 (Register Piles) 第2层:先行缓冲栈 (Buffers(Lookahead) )   第3层:高速缓冲存储器 (Cache) 第4层:主存储器 (Main Memory ) 第5层:联机存储器 (Online Storage) 第6层:脱机存储器 (Off-line Storage) 用i表示层数,则有: 工作周期:Ti<Ti+1 存储容量:Si<Si+1 单位价格:Ci>Ci+1

各级存储器的主要主要性能特性 CPU与主存储器的速度差距越来越大 目前相差两个数量级 今后CPU与主存储器的速度差距会更大

解决存储器频带平衡方法 存储系统的频带平衡 例:Pentium4的指令执行速度为8GIPS,CPU取指令8GW/s,访问数据16GW/s,各种输入输出设备访问存储器1GW/s,三项相加,要求存储器的频带宽度不低于25GW/s。 如果采用PC133内存,主存与CPU速度差188倍 如果采用PC266内存,主存与CPU速度差94倍 解决存储器频带平衡方法 (1)多个存储器并行工作 (2)设置各种缓冲存储器 (3)采用存储系统

并行访问存储器 方法:把m字w位的存储器改变成为m/n字n×w位的存储器 逻辑实现:把地址码分成两个部分,一部分作为存储器的地址,另一部分负责选择数据 主要缺点:访问冲突大 (1)取指令冲突 (2)读操作数冲突 (3)写数据冲突 (4)读写冲突

并行访问存储器 并行访问存储器结构框图

交叉访问存储器 主存储器由多个模块构成 两种组织方式 假设主存储器包含m=2a个存储器模块,每个模块包含w=2b个存储单元(字),则总存储容量为: 两种组织方式 交叉访问的存储器可以分为两种: (1)高位交叉方式 (2)低位交叉方式

1. 高位交叉访问存储器 交叉访问存储器 主要目的:扩大存储器容量 实现方法:用地址码的高位部分区分存储体号 参数计算方法: m:每个存储体的容量, n:总共的存储体个数, j:存储体的体内地址,j=0,1,2,...,m-1 k:存储体的体号,k=0,1,2,...,n-1 存储器的地址:A=m×k+j 存储器的体内地址:Aj=A mod m。 存储器的体号: Ak=

交叉访问存储器 2. 低位交叉访问存储器 主要目的:提高存储器访问速度 实现方法:用地址码的低位部分区分存储体号 参数计算: m:每个存储体的容量, n:总共的存储体个数, j:存储体的体内地址,j=0,1,2,...,m-1 k:存储体的体号,k=0,1,2,...,n-1 存储器地址A的计算公式为:A=n×j+k 存储器的体内地址:Aj= 存储器的体号:Ak=A mod n

n个存储体分时启动 一种采用流水线方式工作的并行存储器 每存储体的启动间隔为:t= 其中: Tm为每个存储体的访问周期, n为存储体个数。 交叉访问存储器 n个存储体分时启动 一种采用流水线方式工作的并行存储器 每存储体的启动间隔为:t= 其中: Tm为每个存储体的访问周期, n为存储体个数。

交叉访问存储器

交叉访问存储器 例:Star-100巨型机存储系统采用并行和交叉相结合的方式工作,有32个存储体低位交叉,每次并行读写512位,存储周期为1280ns,处理机字长32位,计算它的频带宽度Bm和峰值速度T。 解:因为:n=32,w=512,Tm=1280ns, Bm=n w/tm=32512b/1280ns =12.8Gb/s=1.6GB/s=400MW/s T=2.5ns 与Tm相比,峰值速度提高512倍 实际速度的提高要远远小于这个数字

交叉访问存储器 PC存储器的发展 30pin内存,8b,80~120ns 72pin内存,32b,40~80ns

SDRAM结构框图

主要内容: 存储系统原理 虚拟存储器 高速缓冲存储器(Cache) 三级存储系统

虚拟存储器 虚拟存储器工作原理 地址的映象和变换方法 加快内部地址变换的方法 页面替换算法及其实现 提高主存命中率的方法

虚拟存储器工作原理 也称为虚拟存储系统、虚拟存储体系等; 其概念由英国曼彻斯特大学的Kilbrn等人于1961年提出; 到70年代广泛应用于大中型计算机系统; 目前,许多微型机也使用虚拟存储器; 把主存储器、磁盘存储器和虚拟存储器都划分成固定大小的页 主存储器的页称为实页 虚拟存储器中的页称为虚页

虚拟存储器工作原理 内部地址变换: 多用户虚拟地址Av变换成主存实地址A 多用户虚拟地址中的页内偏移D直接作为主存实地址中的页内偏移d, 主存实页号p与它的页内偏移d直接拼接起来就得到主存实地址A。

地址的映象与变换 三种地址空间:虚拟地址空间 主存储器地址空间 辅存地址空间 地址映象: 把虚拟地址空间映象到主存地址空间 地址变换: 在程序运行时,把虚地址变换成主存实地址 三种虚拟存储器:页式虚拟存储器 段式虚拟存储器 段页式虚拟存储器

地址的映象与变换 1. 段式虚拟存储器 地址映象方法:每个程序段都从0地址开始编址,长度可长可短,可以在程序执行过程中动态改变程序段的长度。

地址的映象与变换 地址变换方法:由用户号找到基址寄存器,读出段表起始地址,与虚地址中段号相加得到段表地址,把段表中的起始地址与段内偏移D相加就能得到主存实地址。

地址的映象与变换 主要优点: 主要缺点: (1)支持程序的模块化和并行编程 (2)便于多道程序的实现和数据的共享 (3)程序的动态链接和调度比较容易 (4)便于按逻辑意义实现访问方式保护 主要缺点: (1)地址变换所花费的时间长,两次加法 (2)主存储器的利用率往往比较低 (3)对辅存(磁盘存储器)的管理比较困难 很难实用

页式虚拟存储管理是将主存空间和程序空间都机械等分成相同大小的页面,让程序的起点必须处在主存中某一个页面位置的起点。 地址的映象与变换 2. 页式虚拟存储管理 页式虚拟存储管理是将主存空间和程序空间都机械等分成相同大小的页面,让程序的起点必须处在主存中某一个页面位置的起点。

地址的映象与变换 页式虚拟存储器 地址映象方法:

地址的映象与变换 地址变换方法:

地址的映象与变换 主要优点: (1)主存储器的利用率比较高 主要缺点: (1)程序的模块化性能不好 (2)页表相对比较简单 (3)地址变换的速度比较快 (4)对磁盘的管理比较容易 主要缺点: (1)程序的模块化性能不好 (2)页表很长,需要占用很大的存储空间 例如:虚拟存储空间4GB,页大小1KB,则页表的容量为4M字,16MB。

将程序按逻辑意义先分成段,再让各段和实主存都机械等分成相同大小的页面。每道程序通过一个段表和相应的一组页表来进行程序在主存空间的定位。 地址的映象与变换 3. 段页式虚拟存储管理 将程序按逻辑意义先分成段,再让各段和实主存都机械等分成相同大小的页面。每道程序通过一个段表和相应的一组页表来进行程序在主存空间的定位。

3. 段页式虚拟存储器 地址的映象与变换 用户按段写程序, 每段分成几个固定大小的页 地址映象方法:每个程序段在段表中占一行,在段表中给出页表长度和页表的起始地址,页表中给出每一页在主存储器中的实页号。

地址变换方法: 先查段表,得到页表起始地址和页表长度, 再查页表找到要访问的主存实页号, 把实页号p与页内偏移d拼接得到主存实地址。 地址的映象与变换 地址变换方法: 先查段表,得到页表起始地址和页表长度, 再查页表找到要访问的主存实页号, 把实页号p与页内偏移d拼接得到主存实地址。

4. 外部地址变换 每个程序有一张外页表,每一页或每个程序段,在外页表中都有对应的一个存储字。 地址的映象与变换 4. 外部地址变换 每个程序有一张外页表,每一页或每个程序段,在外页表中都有对应的一个存储字。

加快内部地址变换的方法 造成虚拟存储器速度降低的主要原因: (1) 要访问主存储器必须先查段表或页表 (2) 可能需要多级页表 页表级数的计算公式: 其中: Nv为虚拟存储空间大小, Np为页面的大小, Nd为一个页表存储字的大小

加快内部地址变换的方法 例如:虚拟存储空间大小Nv=4GB,页的大小Np=1KB,每个页表存储字占用4个字节。计算得到页表的级数: 通常仅把1级页表和2、3级页表中的一小部分驻留在主存中

1.目录表 基本思想:用一个小容量高速存储器存放页表 加快内部地址变换的方法 1.目录表 基本思想:用一个小容量高速存储器存放页表

加快内部地址变换的方法 地址变换过程: 主要优点: 主要缺点: 把多用户虚地址中U与P拼接,相联访问目录表。读出主存实页号p,把p与多用户虚地址中的D拼接得到主存实地址。如果相联访问失败,发出页面失效请求。 主要优点: 与页表放在主存中相比,查表速度快。 主要缺点: 可扩展性比较差, 主存储器容量大时,目录表造价高,速度低。

加快内部地址变换的方法 2. 快慢表 快表:TLB(Translation Lookaside Buffer): 慢表: 小容量(几~几十个字) 高速硬件实现 采用相联方式访问 慢表: 当快表中查不到时,从主存的慢表中查找; 慢表按地址访问;用软件实现。 快表与慢表也构成一个两级存储系统。 主要存在问题:相联访问实现困难,速度低

加快内部地址变换的方法

3. 散列函数 目的:把相联访问变成按地址访问 散列(Hashing)函数:Ah=H(Pv) 加快内部地址变换的方法 3. 散列函数 目的:把相联访问变成按地址访问 散列(Hashing)函数:Ah=H(Pv)

采用散列变换实现快表按地址访问 避免散列冲突:采用相等比较器 地址变换:相等比较与访问存储器同时进行 加快内部地址变换的方法 采用散列变换实现快表按地址访问 避免散列冲突:采用相等比较器 地址变换:相等比较与访问存储器同时进行

4.虚拟存储器举例 加快内部地址变换的方法 例:IMB370/168计算机的虚拟存储器中的快表结构及地址变换过程。 虚拟地址长36位,页面大小为4KB,每个用户最多占用4K 个页面,最多允许16G个用户,但同时上机的用户数一般不超过6个。 采用了两项新的措施: (1)采用两个相等比较器,以减少散列冲突。 (2)用一个相联寄存器组,把24位用的多户号U压缩成3位,以缩短快表的长度。

页面替换算法及其实现 1. 页面替换发生时间: 当发生页面失效时,要从磁盘中调入一页到主存。如果主存储器的所有页面都已经被占用,必须从主存储器中淘汰掉一个不常使用的页面,以便腾出主存空间来存放新调入的页面。 2. 评价页面替换算法好坏的标准: 一是命中率要高, 二是算法要容易实现。

页面替换算法及其实现 3. 页面替换算法的使用场合: (1)虚拟存储器中,主存页面的替换,一般用软件实现。 (2)Cache中的块替换,一般用硬件实现。 (3)虚拟存储器的快慢表中,快表存储字的替换,用硬件实现。 (4)虚拟存储器中,用户基地址寄存器的替换,用硬件实现。 (5)在有些虚拟存储器中,目录表的替换。

页面替换算法及其实现 4. 主要页面替换算法 (1)随机算法(RAND random algorithm) 算法简单,容易实现 没有利用历史信息,没有反映程序的局部性 命中率低 (2)先进先出算法 (FIFO first-in first-out algorithm) 容易实现,利用了历史信息 没有反映局部性 最先调入的页面,很可能也是要使用的页面

页面替换算法及其实现 (3)近期最少使用算法(LFU least frequently used algorithm):既充分利用了历史信息,又反映了程序的局部性,但实现起来非常困难。 (4)最久没有使用算法(LRU least recently used algorithm):把LFU算法中的“多”与“少”简化成“有”与“无”,实现比较容易 (5)最优替换算法(OPT optimal replacement algorithm):是一种理想算法,仅用作评价其它页面替换算法好坏的标准。 在虚拟存储器中,实际上可能采用的只有FIFO和LRU两种算法。

页面替换算法及其实现 例:一个程序共有5个页面组成,在程序执行过程中,页面地址流如下: P1,P2,P1,P5,P4,P1,P3,P4,P2,P4 假设分配给这个程序的主存只有3个页面。 (1)给出用FIFO、LRU和OPT三种页面替换算法对这3个主存页面的调度情况表,并统计页面命中次数。 (2)计算这LRU页面替换算法的页面命中率。 (3)假设每个数据平均被访问30次,为了使LRU算法的失效率小于10-5,计算页面大小至少应该为多少?

页面替换算法及其实现 解: (1)FIFO、LRU和OPT的页面命中次数分别为2次、4次和5次 (2)LRU页面替换算法的页面命中率为: Hp=4/10=0.4 (3) 解得 P > 2000字 页面大小应该为2K字。

例:一个循环程序,依次使用P1,P2,P3,P4页面,分配给它的主存页面数只有3个。在FIFO和LRU算法中,发生“颠簸”现象。 页面替换算法及其实现 例:一个循环程序,依次使用P1,P2,P3,P4页面,分配给它的主存页面数只有3个。在FIFO和LRU算法中,发生“颠簸”现象。

提高主存命中率的方法 影响主存命中率的主要因素: 以下,对后三个因素进行分析 (1)程序在执行过程中的页地址流分布情况 (2)所采用的页面替换算法 (3)页面大小 (4)主存储器的容量 (5)所采用的页面调度算法 以下,对后三个因素进行分析

1.页面大小与命中率的关系 提高主存命中率的方法 页面大小为某个值时,命中率达到最大。 页面大小与命中率关系的解释: 假设At和At+1是相邻两次访问主存的逻辑地址,d=|At-At+1|。 如果d<Sp(页面大小),随着Sp增大,At 和 At+1在同一页面的可能性增加,即H随着Sp的增大而提高。 如果d>Sp,At和At+1一定不在同一个页面内。随着Sp增大,主存页面数减少,页面替换更加频繁。H随着Sp的增大而降低。

提高主存命中率的方法 当Sp比较小的时候,前一种情况是主要的,H随着Sp的增大而提高。当Sp达到某一个最大值之后,后一种情况成为主要的,H随着Sp的增大而降低。 当页面增大时,造 成的浪费也要增加 当页面减小时,页 表和页面表在主存 储器中所占的比例 将增加

提高主存命中率的方法 2. 主存容量与命中率的关系 主存命中率H随着分配给该程序的主存容量S的增加而单调上升。 在S比较小的时候,H提高得非常快。随着S的逐渐增加,H提高的速度逐渐降低。当S增加到某一个值之后,H几乎不再提高。

3. 页面调度方式与命中率的关系 提高主存命中率的方法 请求式:当使用到的时候,再调入主存 预取式:在程序重新开始运行之前,把上次 停止运行前一段时间内用到的页面先调入到 主存储器,然后才开始运行程序。 预取式的主要优点: 可以避免在程序开始运行时,频繁发生页面 失效的情况。 预取式的主要缺点: 如果调入的页面用不上,浪费了调入的时间,占用了主存的资源。