《计算机组成原理》总结笔记(备考用,更新中……)

 

目录

 

第一章、概述

1.1 计算机的硬件组成及功能

1.2 计算机的基本工作原理,程序执行原理

1.3 冯·诺依曼计算机结构的特点

1.4 计算机系统的多级层次结构

1.5、计算机的性能评价指标

第二章、数据表示

2.1 机器数及特点

2.2  定点与浮点数据表示

2.3 数据校验的基本原理

2.4 奇偶校验

2.5 CRC校验及其实现

2.6 海明校验及其实现 

第三章、运算方法与运算器

3.1 定点补码加、减法运算

3.1.1 定点补码加、减法与溢出

3.1.2 基本的二进制加法/减法器

3.2 原码的一位乘法

3.3 补码的一位乘法

3.4 定点数除法

3.5  浮点数加减运算

第四章、存储系统

4.1、存储系统概述

4.2 静态存储器(SRAM)

4.3 动态MOS存储器(DRAM)

4.4 存储扩展

4.4.1 存储扩展的基本概念及类型

4.4.2 位扩展举例

 4.5 半导体只读存储器和辅存

 4.5.1 只读存储器

4.5.2 辅助存储器概述

4.6 主存储器组织

4.6.1 多体交叉存储器

4.6.2 Cache的基本原理

4.6.3 相联存储器、cache地址映射及替换策略

4.7 虚拟存储器

4.7.1 虚拟存储器概述

4.7.2 虚拟存储器分类

4.7.3 替换算法


第一章、概述

教学目标及基本要求:

  1. 简单了解计算机的发展历程,掌握冯·诺依曼计算机结构的特点计算机硬件的基本组成与功能
  2. 计算机系统的组成(硬件+软件)及其层次结构和相互关系,计算机的基本工作原理,程序执行原理
  3. 掌握计算机的性能评价,具体指标包括CPU执行时间、指令的CPI及计算机系统中平均CPI、时钟周期、指令执行性能的MIPS指标、MFLOPS、GFLOPS、TFLOPS等。

重点:计算机的硬件组成,冯•诺依曼型计算机的工作原理,计算机系统的多级层次结构。CPI、MIPS指标

1.1 计算机的硬件组成及功能

计算机系统→硬件系统→输入什么→输入设备的功能→存放在哪内容要深化)→怎么存→数据去哪里→运算器的功能→程序去哪里→控制器的功能→结果去哪里→输出设备的功能→两种信息流

 

 

1.2 计算机的基本工作原理,程序执行原理

  计算机为什么能自动执行→pc(程序计数器)→pc里装什么→PC功能(pc+1→pc) →顺序执行→跳跃如何实现→计算机的基本工作原理,程序执行原理→取指→执行

第一条指令的取指:

(1)PC的内容10000H送地址缓冲器

(2)PC自动加1,变为10001H

(3)把地址缓冲器中的10000H送到外部地址总线上至存储器,经地址译码后,选中10000H单元

(4)CPU发读控制命令

(5)存储器把10000H单元中的内容送到数据总线上

(6)CPU从数据总线上取数据送到数据缓冲器

(7)因为取出的是操作码,所以数据缓冲器的内容被送到IR中,经ID译码后发出相应命令

第一条指令的执行:

(1)把PC的内容10001H送入到地址缓冲器

(2)PC的内容自动加1

(3)把地址缓冲器的内容送外部地址总线,经地址译码后选中10001H单元

(4)CPU发读控制命令

(5)在读控制命令下,存储器把10001H单元中的内容12H送到数据缓冲器

(6)取出的是操作数,按指令将其送到累加器……

1.3 冯·诺依曼计算机结构的特点

(1)存储程序,程序控制原理

程序设计者事先按一定要求编好程序,把它和数据一起存入存储器内,而机器能自动地按照程序执行一条条指令,这样就可以使全部运算成为真正的自动过程。

(2)使用二进制数(3)程序自动执行(4)跳跃执行(5)硬件五部分及功能

 

1.4 计算机系统的多级层次结构

软硬件的接口即分界线在2级,即在一般机器级。

1.5、计算机的性能评价指标

1、非时间指标

1)机器字长:  指机器一次能处理的二进制位数

2)总线宽度:数据总线一次能并行传送的最大信息的位数

3)主存容量与存储带宽

2、时间指标

1) 主频f/时钟周期T , 外频、倍频

2) CPI (Clock cycles Per Instruction)

实际上频率 和IPC 在真正影响 CPU 性能

3)    MIPS (Million Instructions Per Second)\每秒钟CPU能执行的指令总条数 (单位:百万条/秒)

4)    CPU时间:执行一段程序所需的时间( CPU时间+ I/O时间 + 存储访问时间+ 各类排队时延等)。
       CPU时间 = 程序中所有指令的时钟周期数之和  x T=程序中所有指令的时钟周期数之和 / f


 

第二章、数据表示

教学目标及基本要求:

  1. 掌握定点数、浮点数、字符、十进制数的表示方法及表示范围 ;
  2. 掌握原码、补码、反码、移码等码制之间的关系以及各码制之间真值数的转换
  3. 掌握纠错、检错码的构造

2.1 机器数及特点

(1)为什么研究机器内的数据表示: 组织数据 ,方便计算机硬件直接

(2)机器内的数据表示:

 (3)常见机器的特点

原码:表示简单、运算复杂、0的表示不唯一

反码:表示相对原码复杂、运算相对原码简单、符号位参加运算, 只需要设置加法器,但符号位的进位位需要加到最低位、0的表示不唯一

补码:运算简单,只需设置加法器、相对原码复杂、0表示唯一

移码:

2.2  定点与浮点数据表示

(1)定点数据

(2)浮点数据表示:把数的范围和精度分别表示的一种数据表示方法。浮点数的使用场合
当数的表示范围超出了定点数能表示的范围时。

一般格式:

IEEE 754格式:

 

根据上图求解题目(也要会反过来推):  

 

2.3 数据校验的基本原理

(1)数据校验的必要性:

1 受元器件的质量、电路故障或噪音干扰等因素的影响,数据01 在被处理、传输、存储的过程中可能出现错误;
2 若能设计硬件层面的错误检测机制,可以减少基于软件检错02 的代价(系统观)。

(2)校验的基本原理:

(3)码距的概念:同一编码中,任意两个合法编码之间不同二进数位数的最小值;

计算出异或运算结果中1的个数。例如110和011这两个位串,对它们进行异或运算,其结果是:

110⊕011=101

异或结果中含有两个1,因此110和011之间的海明距离就等于2。


例如:0011与0001 的码距为1,一位错误时无法识别;任何一位发生改变,如0000变成1000就从有效编码变成了无效编码,容易检测到这种错误。
校验码中增加冗余项的目的就是为了增大码距。

(4)码距与检错或纠错能力的关系:(会给图的)

 

(5)选择码距要考虑的因素

码距越大,抗干扰能力越强,纠错能力越强,数据冗余越大,编码效率低,编码电路也相对复杂;选择码距必须考虑信息发生差错的概率和系统能容许的最小差错率。

2.4 奇偶校验

(1)奇偶校验的基本原理 

                                                         3)检错方法与电路

(2)奇偶校验的特点

 编码与检错简单、编码效率高、不能检测偶数位错误, 无错结论不可靠,是一种错误检测码、不能定位错误,因此不具备纠错能力

(3)奇偶校验的码距 

2.5 CRC校验及其实现

(1)CRC校验的基本原理 

(2)模2除运算

(3)CRC 编码方法 

(1)    根据待校验信息的长度k,按照 k+r ≤ 2r-1  确定校验位r的位数
如对4位信息 1100 进行CRC编码,根据  4+r ≤ 2r-1得 rmin = 3
(2)    根据r 和生成多项式的选择原则,选择位数为 r +1 的生成多项式G(X)= 1011
(3)    进行下列变化

(4)对Q(X)’按模2运算法则除G(x),求CRC编码中的r位校验信息

300

(5)用得到的余数替换Q(X)’的最后r位即可得到对应的CRC编码

(4)CRC的检错与纠错 

2.6 海明校验及其实现 

(1)海明校验的基本原理 

(2)海明校验编码举例

(3)海明校验特点分析

1)指错字G4G3G2G1= 0000 不一定无错(利用偶校验的特点去判断)

如P1、b1、P2三位同时出错,则G2和G1依然为0。

2)指错字能区别一位错和两位错码
如b1、b2同时出错,与仅b3出错时的指错字均为G4G3G2G1=0110 。因此:不一定能区别一位错与两位错!


第三章、运算方法与运算器

3.1 定点补码加、减法运算

3.1.1 定点补码加、减法与溢出

在计算机中,常将数值转换成 补码 后再进行加减运算。
其优点是,可将减法运算转化为加法运算,这样可以简化机器内部硬件电路的结构。
补码运算的特点是, 符号位和数值位一起参加运算
(1)补码的 加法运算: 其公式为: [x] +[y] =[x+y]
(2)补码的 减法运算:
          其公式为:

[x] - [y] 补   = [ x - y ]

            = [ x +(- y)]

       = [x] + [-y]

           [y ]的求法:是将[ y]的各位(包括符号位)全部取反,末位加“1”。

[例1] 已知1=-0.1110,2=+0.1101,

        求:[1],[-1],[2],[-2]

[解: ]  [1]=1.0010

  [-1]=﹁[1]+2-4=0.1101+0.0001=0.1110

   [2]=0.1101

  [-2]=﹁[2]+2-4=1.0010+0.0001=1.0011

 

⑶加减法运算规则

参加运算的数都用补码表示。

数据的符号与数据一样参加运算。

求差时将减数求补,用求和代替求差

运算结果补码。如果符号位为0,表明运算结果为正;如果符号位为1,则表明运算结果为负。

符号位的进位为模值,应该丢掉。

(1)溢出判断法:

两个正数相加,结果大于机器所能表示的最大正数,称为上溢

而两个负数相加,结果小于机器所能表示的最小负数,称为下溢

 

为了判断 溢出 是否发生,可采用两种检测的方法。
  • 第一种方法是采用双符号位法变形补码法,模4补码)。
  • 第二种方法是进位判断法单符号位法
双符号位的含义为:
00表示正号;
11表示负号;
01表示产生正向溢出;
10表示产生负向溢出。 

⑵进位判断法:

判断溢出表达式如下:V=Cn⊕Cn-1 (设Cn-1最高数值位向符号位的进位值产生的进位, Cn符号位产生的进位。)

3.1.2 基本的二进制加法/减法器

设字长为n位,两个操作数分别为

     x=x0. x1 x2 xn-1

     y=y0. y1 y2 yn-1

             其中x0 ,y0为符号位。

 

定点数补码加、减运算器设计和原码一位乘法直接略过…

3.2 原码的一位乘法

移位操作及其意义(逻辑左移和算数左移一样,逻辑右移和算术右移不一样)
 

手工计算和右移计算对比:

 

  • 符号位单独参加运算,数据位取绝对值参加运算。
  • 运算法则:

  • 运算过程采用改进的乘法运算方法。

典型例题:

3.3 补码的一位乘法

补码一位乘法的基本方法:

补码一位乘法的运算规则如下:

 

典型例题:

3.4 定点数除法

(1)原码恢复余数除法

 

 

典型例题:已知 X=0.1001,Y=- 0.1011,用原码一位除法求X/Y
解:[X]原= 0 .1001    [|X|]补=0.1001
[Y] 原 = 1.1011  [|Y|] 补 =0.1011    [-|Y|] 补  =1.0101
 

 

(2)原码加/减交替除法运算方法(不恢复余数法)

典型例题: 

 

(3)原码加/减交替除法实现逻辑

 

3.5  浮点数加减运算


(1)规格化浮点数的概念
 

(2)浮点数规格化方法

(3)浮点数加减运算方法及步骤
 

典型例题(1); 

 

典型例题(2); 

第四章、存储系统

4.1、存储系统概述

存储器 是计算机系统中的记忆设备,用来存放程序和数据。

构成存储器的存储介质,目前主要采用半导体器件磁性材料

存储器中最小的存储单位,就是一个双稳态半导体电路或磁性材料的存储元(位),它可存储一个二进制代码。

由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器

4.1.1 存储器分类

1.按存储介质分类

        半导体存储器:用半导体器件组成的存储器。

Ø RAM ROM ,用作主存
磁表面存储器: 用磁性材料做成的存储器。
Ø 如磁盘、磁带,用作辅存
激光存储器 :信息以刻痕的形式保存在盘上,用激光束照射盘面,靠盘面的不同反射率来读信息。
Ø 光盘(只读性光盘 CD-ROM 、只写一次型光盘 WORM 等),用作辅存

2. 按存储方式分类 

随机存储器( RAM ):
Ø 任何存储单元的内容都能被随机存取,且 存取时间 存储单元的物理位置 无关 。(主存)
串行访问存储器( SAS ):
Ø 只能按某种顺序来存取, 存取时间 存储单元的物理位置 有关 。又可分为 2 种:
  • 顺序存取存储器(SAM):完全的串行访问,如磁带
  • 直接存取存储器(DAM): 部分串行访问,如磁盘存储器,介于顺序存取和随机存取之间。
只读存储器( ROM ):
Ø 是一种对其内容只能读不能写入的存取器,即预先一次写入的存取器。一旦写入长期保存。
Ø 写入方式不同:掩模 ROM(MROM) ,可编程 ROM(PROM) ,可擦除可编程 ROM(EPROM)

3. 按信息的可保存性分类

  • 非永久记忆的存储器:断电后信息即消失的存储。(主存中的RAM
  • 永久记忆性存储器:断电后仍能保存信息的存储器。 (辅存,ROM

 

4.按在计算机系统中的作用分类

根据存储器在计算机系统中所起的作用,可分为主存储器辅助存储器高速缓冲存储器控制存储器等。

4.1.2 存储系统层次结构

(1)基本存储体系

(2)主存速度慢的原因

  • 主存增速与CPU增速不同步;
  • 指令执行期间多次访问存储器
     

(3)存储体系的层次化结构


•L1 Cache集成在CPU中,分数据Cache(D-Cache)和指令Cache(I-Cache)
•早期L2 Cache在主板上或与CPU集成在同一电路板上。随着工艺的提高L2Cache被集成在CPU内核中,不分D-Cache和I-Cache
(4)存储体系层次化结构的理论基础

 

4.1.3 主存储器简单概念梳理

  • 主存储器的性能指标主要是存储容量(B)、存取时间、存储周期
  • 主存储器的基本操作:”操作和“”操作
  • 存储器原理:

4.2 静态存储器(SRAM)

4.2.1 SRAM存储单元结构

4.2.2 SRAM存储单元工作原理

  原理:依靠上稳态电路内部交叉反馈机制存储信息

            地址选通信号

 

4.2.3 静态存储器的结构 

 看一下采用双译码结构的存储器的结构:

看一下6116存储结构:

 看一下2114存储的内部结构:

 看一下2114的内部结构就知道了:

4.3 动态MOS存储器(DRAM)

4.3.1 DRAM存储单元结构

四管的动态存储电路是将六管静态存储元电路中的负载管T3T4去掉而成的。
 

SRAM存储单元的不足:晶体管过多、存储密度低、功耗大

解决SRAM不足的采取的方法:

   ◼ 去掉两个负载管T3、T4
            提升存储密度
            降低功耗
            降低成本

         ◼ 利用栅极分布电容缓存电荷

  ◼ 增加电路协同存储单元工作

4.3.2 DRAM存储原理

写操作 I/O I/O 加相反的电平,当 T5 T6 截止时,靠 T1 T2 管栅极电容的存储作用,在一定时间内 ( 2ms) 可保留所写入的信息。
读操作 :先给出预充信号,使 T9 T10 管导通,位线 D D 上的电容都达到电源电压。字选择线使 T5 T6 管导通时,存储的信息通过 A B 端向位线输出。
保持操作
X地址选通信号撤销
Y地址选通信号撤销
面栅极电容容量有限,
可持续的时间很短
刷新操作 :为防止存储的信息电荷泄漏而丢失信息,由外界按一定规律不断给栅极进行充电,补足栅极的信息电荷。

4.3.3 DRAM刷新操作

刷新周期:两次刷新之间的时间间隔;
•双译码结构的DRAM刷新按进行,需要知道RDAM芯片存储矩阵的行数
•刷新地址由刷新地址计数器给出。

(1)集中刷新

(2)分散刷新

(3)异步刷新

4.3.4 DRAM与SRAM的对比

4.3.5 单管动态存储元

进一步提高存储密度:裁剪冗余电路、核心是电容

 

4.4 存储扩展

4.4.1 存储扩展的基本概念及类型

4.4.2 位扩展举例

1.位并联法(位扩展法)

1K×4SRAM芯片 ——>1K×8SRAM存储器

 

 2.地址串联法(字扩展法)

仅在字向扩充,而位数不变。需由片选信号来区分各片地址。

        用16KB×8b的芯片组成64KB×8b的存储器连接图。

        64KB×8b16KB×8b4 ×14

 4.5 半导体只读存储器和辅存

 4.5.1 只读存储器

只读存储器ROM:信息只能读,不同随意写入。最大优点是具有不易失性。

几种非易失性存储器的比较

存储器

类别

擦除方式

能否单字节修改

写机制

MROM

(掩模式)

只读

不允许

掩膜位写

PROM

(可编程)

写一次读多次

不允许

电信号

EPROM

(可擦除可编程) 

写多次读多次

紫外线擦除,脱机改写

电信号

E2PROM

电可擦除电可改写

写多次读多次

电擦除,在线改写

电信号

Flash Memory

新型存储器,类似还有NOVRAM

写多次读多次

电擦除,在线改写

电信号

4.5.2 辅助存储器概述

如硬磁盘存储器、软磁盘存储器和光盘存储器,简单了解下,不是重点

 

 

 

 

 

 

 

 

4.6 主存储器组织

4.6.1 多体交叉存储器

(1)提出背景

其基本思想是在不提高存储器速率、不扩展数据通路位数的前提下,通过存储芯片的交叉组织,提高CPU单位时间内访问的数据量,从而缓解快速的CPU与慢速的主存之间的速度差异。

(2)高位多体交叉存储器的组织方式

(3)低位多体交叉存储器的组织方式

 

(4)低位多体交叉存储器的性能分析

4.6.2 Cache的基本原理

(1)Cache的功能与基本原理

cache功能:

  • Cache是指位于CPU和主存之间的一个高速小容量的存储器,一般由SRAM构成。
  • Cache功能:用于弥补CPU和主存之间的速度差异,提高CPU访问主存的平均速度。

Cache的理论基础 :局部性原理

(2)Cache 的工作过程

  • CPU取主存中一个字时,便发出此字的内存地址到Cache和主存。
  • 此时Cache控制逻辑依据地址判断此字当前是否在 Cache:若在(称为命中),此字立即传送给CPU;若不在(称为不命中),则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到Cache中。由始终管理Cache使用情况的硬件逻辑电路来实现LRU替换算法。

(3)cache的地址映射机制

(4)cache的结构

4.6.3 相联存储器、cache地址映射及替换策略

(1)作用:判断 CPU 要访问的内容是否在 Cache  中,提高查表速度

如何判断(判断思路)

Cache的命中率:

  • 增加Cache的目的,就是在性能上使主存的平均读出时间尽可能接近Cache的读出时间。因此,Cache的命中率应接近于1。由于程序访问的局部性,这是可能的。
  • 在一个程序执行期间,设Nc表示Cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有

(2)主存与Cache的地址映射

  • Cache的容量很小,它保存的内容只是主存内容的一个子集,且Cache与主存的数据交换是以块为单位。
  • 地址映射即是应用某种方法把主存地址定位到Cache中。
  • 址映射方式有三种 :        
  1. 直接方式        
  2. 全相联方式        
  3. 组相联方式  
  • 直接映射方式:

直接映射方式

        优点是硬件简单,成本低。

   缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。因此适合大容量Cache采用。

  • 全相联映射方式

   主存中一个块的地址块的内容一起存于Cache的行中,其中块地址存于Cache行的标记部分中。

               这种方法可使主存的一个块直接拷贝到Cache中的任意一行上,非常灵活。

          它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量Cache采用。

对比一下全相联映射和直接映射:

  • 组相联映射方式
  • 这种方式是前两种方式的折衷方案。它将把Cache存储器分为若干个组,每组包含若干个页面。组间采用直接映像,而组内的页面则采用全相联映像
  • 组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。

 

(3)替换策略

  • Cache工作原理要求它尽量保存最新数据,必然要产生替换。
  • 对直接映射的Cache来说,只要把此特定位置上的原主存块换出Cache即可。
  • 对全相联和组相联Cache来说, 就要从允许存放新主存块的若干特定行中选取一行换出。
  • 常用替换策略
  1. 先进先出(FIFO)策略
  2. 最近最少使用(LRU)策略

 

4.7 虚拟存储器

4.7.1 虚拟存储器概述

(1)虚拟存储器是建立在主存-辅存物理结构基础之上,由附加硬件装置以及操作系统存储管理软件组成的一种存储体系,它把主存和辅存的地址空间统一编址,形成一个庞大的存储空间。

(2)虚地址和实地址

  • 实地址:实际的主存储器单元的地址,即主存地址,或叫物理地址。
  • 虚拟存储器的辅存部分也能让用户象内存一样使用,用户编程时指令地址允许涉及到辅存的空间范围,这种指令地址称为“虚地址”(即虚拟地址),或叫“逻辑地址”
  • 虚拟存储器的用户程序以虚地址编址并存放在辅存里,程序运行时CPU以虚地址访问主存,由辅助硬件找出虚地址和物理地址的对应关系
  • 主存-外存层次和Cache-主存层次用的地址变换映射方法和替换策略是相同的,都基于程序局部性原理。

 它们遵循的原则是:

把程序中最近常用的部分驻留在高速的存储器中。
②一旦这部分变得不常用了,把它们送回到低速的存储器中。
③这种换入换出是由硬件或操作系统完成的,对用户是透明的。
④力图使存储系统的性能接近高速存储器,价格接近低速存储器。

(3)虚拟存储器和Cache存储器

Cache 存储器采用与 CPU 速度匹配的快速存储元件来弥补主存和 CPU 之间的速度差距;而虚拟存储器的主要功能是弥补了主存和辅存之间的容量差距。
两个存储体系均以 信息块 作为存储层次之间基本信息的传递单位: Cache 存储器每次传递是 定长的的信息块 ,长度只有几十字节;而虚拟存储器信息块划分方案很多,有 页、段 等等,长度均在几百 B~ 几百 KB 左右。
CPU 访问快速 Cache 存储器的速度比访问慢速主存快 5~10 倍。虚拟存储器中主存的速度要比辅存快 100~1000 倍以上。
主存~ Cache 存储体系中 CPU Cache 和主存都建立了 直接访问的通路 ,一旦在主存命中, CPU 将直接访问主存;辅助存储器与 CPU 之间 没有直接通路 ,一旦在主存不命中,只能从辅存调度信息块到主存。同时因为辅存的速度相对 CPU 差距太大,调度需要毫秒级时间,因此 CPU 一般将改换执行另一个程序,等到调度完成后再返回原程序继续工作。
Cache 存储器存取信息的过程、地址变换和替换策略 全部用硬件 实现。主~辅层次的虚拟存储器基本上由 操作系统 的存储管理软件辅助一些硬件进行信息块的划分和主~辅存之间的调度。

 

4.7.2 虚拟存储器分类

(1)页式虚拟存储器

  • 页是主存物理空间中划分出来的等长的固定区域。
  • 页式虚拟存储系统中,虚拟空间分成页,称为逻辑页;主存空间也分成同样大小的页,称为物理页
  • 虚存地址分为两个字段:
  • 实存地址也分两个字段:
  • 虚拟存储器地址主存地址的变换是由放在主存的页表实现的。
  • 页表中每一个虚存逻辑页号有一个表目,表目内容包含该逻辑页所在的主存页面地址(物理页号),用它作为实存地址的高字段,与虚存地址的页内行地址字段相拼接,产生完整的实主存地址,据此来访问主存。

  •  为了避免页表已保存或已调入主存储器时对主存访问次数的增多,把页表的最活跃部分存放在高速存储器中组成快表

 

  • 快表由硬件组成,比页表小得多,只是慢表的小副本。
  • 查表时,由逻辑页号同时去查快表和慢表,当在快表中有此逻辑页号时,就能很快地找到对应的物理页号送入实主存地址寄存器。

(2)段式虚拟存储器

  • 是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑单位,各个段的长度因程序而异。
  • 虚拟地址由段号和段内地址组成,为了把虚拟地址变换成实主存地址,需要一个段表
  • 段表也是一个段,可以存在外存中,但一般是驻留在主存中

对比一下页式和段式虚拟存储器的优点和缺点:

 

(3)段页式虚拟存储器

段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。

它把程序按逻辑单位分段以后,再把每段分成固定大小的页

 

程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护,兼备页式和段式的优点

缺点是在映象过程中需要多次查表。

在段页式虚拟存储系统中,每道程序是通过 一个段表 一组页表 来进行定位的。
段表中的每个表目对应一个段,每个表目有一个指向该段的页表起始地址及该段的控制保护信息。
由页表指明该段各页在主存中的位置以及是否已装入、已修改等状态信息。
如果有多个用户在机器上运行,多道程序的每一道需要一个基号,由它指明该道程序的段表起始地址。
虚拟地址格式如下:

基号

段号

页号

页内地址

4.7.3 替换算法

虚拟存储器中的替换策略 一般采用 LRU 算法:把“近期最少使用的页”替换出去。
对于将被替换出去的页面是否要进行某些处理?
由于在内存中的每一页在外存中都留有副本,假如该页调入主存后没有被修改,就不必进行处理,否则就把该页重新写入外存,以保证外存中数据的正确性。为此,在页表的每一行应设置一 修改位

 
  • 21
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬核的无脸man~

你的鼓励是我创作的最大功力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值