408王道计算机组成原理强化——存储系统大题(上)

简介: 408王道计算机组成原理强化——存储系统大题

1.页式存储系统

1.进程以分页的方式存储在内存中,即将进程进行拆分,再将其放入内存的物理页框中(数据部分和指令部分)

2.指令的执行需要使用某些数据时,其地址通过逻辑地址(VA)的形式给出;PC指向的也是逻辑地址(VA);每个进程的部分相同的低地址(或者高地址)都会映射到同一些页框中(相当于页面共享),这些页框中存放的是执行系统调用的代码

3.虚拟内存地址位数由操作系统位数决定,36位操作系统,即36bit的虚拟地址

4.页内偏移量位数(页内地址)由页面大小决定,每个页面大小为4KB,即页内地址为12位(物理地址和虚拟地址的页面大小相等,即页内地址位数相同)

5.物理地址地址位数由物理地址空间大小决定,物理地址空间4GB,即32bit的物理地址(通常物理地址的位数小于虚拟地址的位数)

6.每个进程一张页表,页表始址存放在该进程的PCB中

1.1.TLB

1.1.1.全相联映射

1.页表存储在内存中;TLB由SRAM组成,当CPU访问某一页表项后,该页表项将会被复制到TLB中,下次访问同一地址时,就无需访存查页表,由TLB就可以得到其物理地址,加快地址转换速度

2.①没有TLB(需要访存):根据虚拟页号查询页表→页框号→将页框号和页内偏移量进行拼接→物理地址

②有TLB(不需要访存):TLB

(1)根据虚拟页号查询TLB→TLB命中→页框号→将页框号和页内偏移量进行拼接→物理地址(命中即跳过查询慢表的过程,直接进行拼接得到物理地址)

(2)根据虚拟页号查询TLB→TLB未命中→根据虚拟页号查询页表→页框号→将页框号和页内偏移量进行拼接→物理地址

3.①单级页表:通过页号 * 页表项单位大小的方式找到该页号所对应的页表项(CPU会存储当前进程的页表起始地址,即页表始址):页表项顺序存储(类似数组),且每个页表项的大小相等cea955de784a465ea0b40d6b368c5b2b.png

②由于页表需要连续存储的特性,因此,单级页表可能过长的连续空间,通过多级页表的方式解决需要占用过大连续存储空间的问题,使其可以离散存放(二级页表):

将24bit的页目录号分成12bit页目录号(一级页表)和12bit页号(二级页表),先对比页目录号得到存放二级页表的页框号,再通过页号得到物理地址的页框号

即页目录表→二级页表→物理页框(TLB的存储形式不会发生改变)d7409a9123b345bf9e8a0a9b818035a9.png

4.TLB就是最近访问的页表中某行页表项的副本数据(TLB标记即虚拟页号)

5.TLB的查询方式:用虚拟页号和TLB中每行的TLB标记进行比较(同时比较),并且需要注意有效位是否为1

1.1.2.组相联映射7ed17b8b6df74c30be803a674a6882ba.png

根据虚拟页号的末尾3bit查找对应的组号→依次对比剩余虚拟页号位(24 - 3 = 21位)是否和组内TLB标记匹配→对比有效位→拼接得到物理地址

1.2.各组件存放位置

1.PCB:抽象为一种数据结构,存放在主存的内核区

2.页表:存放在主存的内核区

3.页表始址:指明该进程的页表从哪开始存放,INT型变量,包含于PCB

4.页表始址寄存器(硬件):包含于MMU(内存管理单元)中;系统运行进程前(切换进程),CPU将会把页表始址复制到页表始址寄存器中(每个进程的页表始址不同)

5.MMU(硬件):集成在CPU中

6.TLB(硬件,当前进程页表项的副本):高速存储器,SRAM,包含于MMU,属于CPU;切换进程后,之前的TLB的有效位全部置为0(TLB是当前进程的页表项副本,故之前进程的TLB作废)

7.Cache(硬件,内存的副本):高速存储器,包含于CPU,但不属于MMU的一部分;切换进程,Cache进程不作废,不同进程可能共享同一页框

(1)TLB和Cache在底层硬件原理上相同,但作用不同

(2)切换进程:页表始址寄存器更新;TLB作废;Cache不需要全部作废,但是会经常出现Cache未命中

1.3.Cache

1.主存块大小 = Cache块大小;页框大小 >Cache块大小:主存块和页框是不同概念

2.字块内地址位数决定Cache块的大小,字块内地址6bit即Cache块大小为64B

3.根据Cache映射方式和Cache块大小确定物理地址的格式结构

4.根据字块内地址确定访问该Cache块中的具体字节 / 字

1.3.1.全相联映射78a0b2553e704212b72a3d2a25353479.png

用标记对比Cache中的每一行,且有效位为1,根据字块内地址找到某个字 / 字节

1.3.2.直接映射234ddcdaecc04b01a785214122c5a150.png

1.根据Cache中有几行,确定行号的位数

2.Cache标记位数 = 物理地址总位数 - 字块内地址位数

3.根据物理地址中行号所对应的位数唯一确定该数据块在Cache中出现的位置

4.查询顺序:对比行号→对比Cache标记→对比有效位→根据字块内地址访问Cache块中的某一字 / 字节

5.Cache中的行号隐含(顺序存储,类似数组)

1.3.3.组相联映射02a9d416b8e547c48b6085720930304e.png

1.每组中Cache块的行数决定是几路组相联映射,每组2行即2路组相联映射

2.组个数决定组号的位数,8组即组号3bit(0 - 7)

3.查询顺序:对比组号→对比Cache标记→对比有效位→根据字块内地址访问Cache块中的某一字 / 字节

4.路数代表每组多少个,而不是分为多少组;总个数 / 路数 = 组数

1.4.页框和主存块的关系cad22ddf730c411197578bbc7cc35cd6.png

设主存大小为4KB

(1)①每个页框为1KB → 共4个页框 → 页框号为2bit,页内偏移量为10bit

②主存大小为4KB,每个主存块为64B → 共4KB / 64B = 64块,即主存块号为6bit,字块内地址为6bit

③主存若以页框为单位,被分为4个页框;若以主存块为单位,被分为64个主存块

(2)逻辑地址转换为物理地址:以页框为单位;使用物理地址通过Cache找数据时,以块为单位

(3)磁盘和主存以页框为单位进行数据交换,容量大方便进行数据交互;主存和Cache以主存块为单位,基于局部性原理,保证Cache的效率

1.5.真题7753376d8bf349cc8c66e2438972383b.png

(1)①按字节编址:每个地址对应一个字节

②虚拟地址为32位→VA = 32bit;物理地址为24位→PA = 24bit;页大小为8KB→页内地址 = 13bit;Cache数据块大小为64KB→Cache所有块容量之和为64KB

③页内地址13 bit,且虚拟地址为 32bit → A(虚拟页号)地址为 32 - 13 = 19 bit

④TLB采用全相联映射 → TLB标记位 = 虚拟页号位 → B = A = 19 bit

⑤页内地址13 bit → 页内偏移量 = 13bit → D = 13bit

⑥物理地址24 bit,页内偏移量13 bit → C = 页框号 = 24 - 13 = 11 bit

⑦Cache采用二路组相联映射方式 → 物理地址被分为三部分:Cache标记位(Tag) + 组号 + 字块内地址

⑧Cache块大小 = 主存块大小 = 64B → 字块内地址 = 6 bit

⑨Cache数据块大小为64KB → 共有64KB / 64B = 1K 个Cache块 → Cache采用二路组相联映射方式 → 每组两行Cache → 共有 1K / 2 = 512个组 → 组号 9bit

⑩Cache标记位 = 物理地址总位数24 bit - 字块内地址6 bit - 组号9 bit = 9 bit

(2)①将4099转换为18bit的二进制数 → 00 0001 0000 0000 0011 → 组号为末尾9 bit → 0 0000 0011 = 3→ 组号为3

②H为Cache标记位,即4099的前9bit →00 0001 000

(3)Cache缺失处理将主存块调入Cache中;缺页处理从外存调入一个页进入主存;磁盘I/O速度低于主存读写速度,故缺页处理时间开销更大

(4)①直写策略:Cache中内存块被修改的时候同步写回主存的内存块

回写策略:只有Cache中该主存块被淘汰时,才将修改内容写回块中

②磁盘I/O(写回磁盘)的速度和读写主存的速度差异过大

相关文章
|
算法 网络虚拟化 内存技术
408王道计算机组成原理强化——存储系统大题
408王道计算机组成原理强化——存储系统大题(下)
1486 2
408王道计算机组成原理强化——存储系统大题
408王道计算机组成原理强化——输入输出系统大题(I/O)
408王道计算机组成原理强化——输入输出系统大题(I/O)
302 1
408王道计算机组成原理强化——输入输出系统大题(I/O)
|
1月前
|
存储 人工智能 BI
【头歌·计组·自己动手画CPU】二、运算器设计(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】二、运算器设计(理论版) 【计算机硬件系统设计】
242 1
|
10月前
|
移动开发 算法 安全
【五一创作】【软考:软件设计师】 5 计算机组成与体系结构(三)认证技术 | 计算机可靠性
【五一创作】【软考:软件设计师】 5 计算机组成与体系结构(三)认证技术 | 计算机可靠性
126 0
【五一创作】【软考:软件设计师】 5 计算机组成与体系结构(三)认证技术 | 计算机可靠性
408王道计算机组成原理强化——数据的运算及大题(下)
408王道计算机组成原理强化——数据的运算及大题
304 1
408王道计算机组成原理强化——数据的运算及大题(下)
408王道计算机组成原理强化——数据的运算及大题(上)
408王道计算机组成原理强化——数据的运算及大题
177 1
408王道计算机组成原理强化——数据的运算及大题(上)
|
人工智能
408王道计算机组成原理强化——中央处理器及大题解构(下)
408王道计算机组成原理强化——中央处理器及大题解构
558 1
408王道计算机组成原理强化——中央处理器及大题解构(下)
|
内存技术
408王道计算机组成原理强化——中央处理器及大题解构(上)
408王道计算机组成原理强化——中央处理器及大题解构
529 1
408王道计算机组成原理强化——中央处理器及大题解构(上)
|
存储 程序员
408王道计算机组成原理强化——指令系统及大题解构(下)
408王道计算机组成原理强化——指令系统及大题解构
206 1
408王道计算机组成原理强化——指令系统及大题解构(下)
|
编译器
408王道计算机组成原理强化——指令系统及大题解构(上)
408王道计算机组成原理强化——指令系统及大题解构
194 1
408王道计算机组成原理强化——指令系统及大题解构(上)