计算机组成原理---三种映射方法

参考书籍----《计算机组成原理》第三版,唐朔飞

Cache--主存映射分为三种:直接映射,组相联映射,全相联映射

一.三种映射方式介绍

1.直接映射

(1)物理模型:

c16e5c06dbb645e993ea8dc77ab2dcca.png

(2)直接映射方式主存地址格式:

4159f0280e2c485ba7222d09ef53b68f.png

 

(3)计算公式

主存字块标记的位数:A

cache字块地址的位数:B

字块内地址的位数:C

由于cache是嵌在主存里的,主存总位数S=A+B+C

通常在解题时,先算出S,再算出cache字块地址位数和字块内地址,最后用S-B-C得到A。

说明一下,题目有两种出法。

第一种,没有指明按照什么存储大小去访存,这种题,默认以一个字节为单位访存。

第二种,指明以字为单位去访存。(字是由一个或多个字节组成)

当以一个字节为单位访存时

S=eq?%5Clog_%7B2%7D(主存容量/字节)

B=eq?%5Clog_%7B2%7D(cache容量/字块容量)

C=eq?%5Clog_%7B2%7D(字块内容量/字节)

当以字为单位访存时

S=eq?%5Clog_%7B2%7D(主存容量/字)

B=eq?%5Clog_%7B2%7D(cache容量/字块容量)

C=eq?%5Clog_%7B2%7D(一个字块里的字数)=eq?%5Clog_%7B2%7D(字块内容量/字长)//字长:一个字里的二进制位数

-------------------------------------------------------------------------------------------------------------------------

A=S-B-C

最后,再用A=eq?%5Clog_%7B2%7D(主存容量/cache容量),去验算是否与上面算出的A相等。这种验算只适用于直接映射,因为直接映射的映射过程就是通过不断取chache容量个存储长度作为一个标记的,如上图物理模式所示,i为缓存块号,j为主存块号,C为缓存块数,i=j mod C。

2.组相联映射

(1)物理模型:

6483824a6fca402f97345dffc66f4d76.png

(2)组相联映射方式主存地址格式:

3fdc7b1db8c643a386a0574c7b037772.png

(3)计算公式

计算公式与上面的差不多,只是组地址的位数

D=直接映射的cache字块地址位数B减去eq?%5Clog_%7B2%7D(组数)

当然,D=cache容量/(一个字块的容量*组数)可以用来验证。

A=S-D-C

 

 

3.全相联映射

(1)物理模型:

0a462a4a555044868c21ea92a6bfd787.webp

(2)全相联映射方式主存地址格式:

90a3a7fca0f44839b0137d3a571c9fe2.jpeg

(3)计算公式

全相联映射最简单,A=S-C

 

二.题目及解题

例题1(课本P120页例4.8):
假设主存容量为512KB,Cache容量为4KB,每个字块为16个字,每个字为32位。问: 
(1).Cache地址为多少位?可容纳多少块? 
(2).主存地址为多少位?可容纳多少块? 
(3).在直接映射方式下,主存的第几块映射到Cache中的第五块(设起始字块号为1) 
(4).画出直接映射方式下主存地址字段中各段的位数。

由题意可知,默认为以字节B访存

760888a22e294d7f9356ef6b1a35ceba.jpeg

例题2(课本P120页例4.9)
假设主存容量为512K*16位,Cache容量为4096*16位,块长为4个16位的字,访存地址为字。 
(1).在直接映射下,设计主存的地址格式。 
(2).在全相联映射下,设计主存的地址格式。 
(3).在二路组相联映射方式下,设计主存的地址格式。 
(4).在四路组相联映射下,设计主存的地址格式。

791df9c0c876470bb6f91cb112e35a22.jpeg

课后习题 p152   4.32

设某主机容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache每组内有4个字块)的Cache组织。

问:求画出主存地址各字段的位数

b5f3fbe735a3496a8c58e9a81dbb9859.jpeg

注意:(1)一般来说,题目上没有明确指定按字编址,那么就默认是按字节编址(一字节8位),如果题目给出的容量是xxxK*xx位,并且说了访存地址为字,那就是按字访问的。

(2)三种映射方式A(主存字块标记)不相同,C(字块内地址)都相同

 

  • 20
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《计算机组成原理》是计算机科学与技术专业中比较重要的一门课程,而唐朔飞老师所编写的《计算机组成原理第三版》则是该学科领域重要的参考书籍之一。该书主要介绍了计算机体系结构、指令系统、CPU设计、存储系统、输入输出系统等计算机系统的基本组成部分。 《计算机组成原理第三版》结构清晰,篇章逻辑严谨,内容易于理解。该书以教材的形式,将计算机系统的各个组成部分进行了详细说明,包括指令系统设计、CPU结构和操作、存储系统和I/O系统等方面。此外,该书还涵盖了计算机组成原理的背景知识,例如数字逻辑、组合电路、时序电路等内容,以便理解计算机的原理和工作方式。 唐朔飞老师是中国计算机科学界的权威人物,他与众多知名学者共同致力于计算机科学的教育和研究,其严谨的学风和科学的研究方法备受学生和同行的尊重。因此,《计算机组成原理第三版》不仅在国内广受欢迎,也在国际上享有很高声誉。 总之,《计算机组成原理第三版》是一个非常好的计算机组成原理教材和参考书籍,其详实的内容和清晰的讲解方式能够让学生轻松地理解计算机系统的基本组成部分,对于提高学生对计算机科学的认知和理解能力具有积极作用。 ### 回答2: 《计算机组成原理第三版》是由唐朔飞编著的一本计算机科学教材,该教材系统地介绍了计算机的组成原理与设计方法,针对不同层次的读者进行了深入浅出的讲解。 该书主要分为五个部分,分别是计算机系统概述、计算机的算术运算、指令系统的设计、存储器系统的设计以及输入输出系统的设计。其中每个部分都包括一些基础概念与原理、设计方法与实现技术、应用场景与问题解决策略等内容。 在计算机系统概述中,唐朔飞详细介绍了计算机硬件、软件和固件的基本结构组成,以及它们之间的相互作用和协同工作原理。在算术运算方面,他讲解了算术运算器的功能与实现,并介绍了各种运算方法和浮点数表示方法等。在指令系统的设计中,他详细讲解了指令的编码格式、操作类型、寻址方式、中断响应等方面的知识。 在存储器系统的设计方面,唐朔飞重点探讨了存储器系统的层次结构、存储器芯片的组成原理、存储器地址映射技术,以及高速缓存系统的设计。在输入输出系统的设计中,唐朔飞介绍了各种输入输出设备的外围控制器的硬件和软件结构,以及它们与主机之间的数据传输和控制协议。 总之,《计算机组成原理第三版》详细讲解了计算机系统的基本原理和设计方法,丰富了计算机科学领域的理论知识,帮助读者更好地理解和应用计算机技术。 ### 回答3: “计算机组成原理第三版唐朔飞pdf”指的是一本计算机组成原理的教材,作者为唐朔飞。这本教材介绍了计算机的组成和运作原理,包括数字电路、机器语言、指令系统、中央处理器、存储器层次结构、输入输出等方面的知识。这本教材是计算机领域一本经典的教材,被广泛应用于各大高校的计算机科学专业中。 这本教材涵盖了计算机原理的基础知识,从数字电路入手,深入探讨了计算机系统的各个方面。通过学习这本教材,读者可以深入理解计算机系统的内部结构和原理,并且了解计算机如何进行信息处理。在这个信息时代,计算机科学已经成为了一项高新技术,本教材可以为学生提供一定的指导,让学生们掌握计算机的相关知识,为日后的研究和开发铺平道路。 总之,“计算机组成原理第三版唐朔飞pdf”是一本非常重要的计算机科学教材,对于学习计算机的人来说,是一本非常有价值的参考书。它涵盖了计算机原理的基础知识,适合广大计算机科学爱好者和专业人士使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值