块内字地址租号怎么计算-逻辑地址转换成物理地址的计算题

2020-07-31 21:33:17 · 浏览次数:0         来源:租号平台

如图题目,计算机组成原理,129号写成主存地址后8位是10000001,后五位为块内地址,前两位10不是组号为2?

129号单元,cache每块大小32字节,主存大小分块与cache相同,所以129单元主存对应cache为129/32= 4块(为第5块),cache共有16块,分组为每组2块,按组为16/2 = 8组。即为3位。所以4块编码为0100,对应组号为2(排序为第3组):0000,0001为0组;0010,0011为1组,0100,0101为2组,以此类推。实际上,主存地址最高4位中的前3位才表示组号,最后一位即第4位表示每组内的2块的块号。

所以答案我认为为B

其实,这里不仅仅要看100 00001共8位地址。实际上,这里要看010 0 00001共9位地址,前3位为组地址,第4位为每组分块地址。后5位才为块内地址。

个人见解,仅供参考,可能有误,多加指正

该题属于二路组相连映射,16/2=2^3,因此组地址可以用3位二进制数来表示。由于按字节字块内地址编址,每块32字节,32=2^5,因此字块内地址可以用5位二进制数来表示。129写成二进制数是100 00001,从后往前比对一下,最后5位应该是字块内地址,那100就是组地址啦,100就是二进制数中的4,因此答案选C。具体可以参考计算机组成原理 第二版 唐朔飞 编著 第四章存储器P119

个人愚见,仅供参考

逻辑地址转换成物理地址的计算题

页表可以实现从页号到物理块号的地址映射。通过逻辑地址的页号来寻找页表,从而获得物理块号;在将页内地址直接送入物理地址寄存器的块内地址字段中。将块号和块内地址拼接成实际访问地址,即可得到物理地址。

物理地址的计算公式为:物理地址=块的大小(即页的大小L)* 块号f+页内地址d

代入本题解答:

页号=int(2500/1024)=2;页内位移=2500mod1024=452;假设页号2对应块号1,则物理地址为:

物理地址=1024*1+452=1476

扩展资料:

逻辑地址(LogicalAddress)即通过电脑程序产生的与段相关的偏移地址部分,也叫做相对地址;

物理地址,即计算机中每一个字节单元的唯一存储地址,也叫做实际地址或绝对地址。

利用所给的逻辑地址首先找到在页表中的那一页,即页号,再者利用所给的逻辑地址计算出在页表的页偏移量,从而利用页表所对应的物理块计算出块号,再利用块号的基础上计算出所给的偏移量。(一般只针对于动态重定位的变化使用)

参考资料:物理地址-百度百科逻辑地址-百度百科

题目及解答如下:

某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:

页号 物理块号

0 3

1 7

2 11

3 8

则逻辑地址0A5C(H)所对应的物理地址是什么?要求:写出主要计算过程。

解题过程:

首先要知道页式存储管理的逻辑地址分为两部分:页号和页内地址。物理地址分为两部分:

关系为:逻辑地址= 页号+页内地址

物理地址= 块号+页内地址;

分析题:已知:用户编程空间共32个页面,2ˆ5 = 32 得知页号部分占5位,由“每页为1KB”,1K=210,可知内页地址占10位。

由“内存为16KB”,2^4=16得知块号占4位。

00010为为页号,页号化为十进制是2,在对照表中找到2对应的物理块号是11,11转换二进制是1011,即可求出物理地址为10111001011100,化成十六进制为2E5C;

即则逻辑地址0A5C(H)所对应的物理地址是2E5C;

页表的作用是实现从页号到物理块号的地址映射。以逻辑地址的页号检索页表,得到该页的物理块号;同时将页内地址d直接送入物理地址寄存器的块内地址字段中。这样物理块号和块内地址拼接成了实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。

所以物理地址的计算公式为:

物理地址=块的大小(即页的大小L)′块号f+页内地址d

解本题中,为了描述方便,设页号为p,页内位移为d,则:

p=int(2500/1024)=2 d=2500mod1024=452 假设页号2 对应 块号 1

那么物理地址=1024*1+452=1476

计算机组成原理 块长是4,访问字节地址,字长是16位,问字块内地址是多少位?答案是2 感觉不对

首先说明,本人不学无术,就当乱说,不要当真。

地址字长16位,寻址2的16次方个数据字

按个人理解,按字节寻址,一个数据字应该为一个字节。总寻址2的16次方个字节。

一块4个字按字节寻址,一块内4个字节。

所以共寻址2的16次方除以4个块。即为2的14次方个块,块地址14位

块内地址16-14=2位

什么是字块内地址?什么是主存块地址?什么是缓存块地址?什么是组地址?

字块内地址:一个块含有几个字,数据位于第几个字就是字块内地止。

主存块地址:将主存分块存储,位于第几块就是主存块地址。

缓存块地址:将cache分块存储,位于第几块就是主存块地址。

组地址:将cache的块分组,位于第几组就是组地址。

具体关系如图所示:

扩展资料:

cache(缓存)与主存映射有三种映射:

全相联映射:主存的一块可以映射到cache的任意一行中。

直接相联映射 :根据cache的大小将主存划分为若干个区,每个区中的块与cache中的行一一对应。主存的一块只能存放到cache的某一特定行中。

组相联映射:

1、首先将cache的划分为若干组(U组),每组有V行(称为V路组相联)。

2、主存按每U块划分为一组,每组有U块。

3、主存的第j块按模U映射到cache的第i组中的任意一行。

4、组间直接映射,组内全相联映射

参考资料:百度百科-块映射策略

补充一下最佳答案里的说法。

参考《计算机组成原理(第二版:唐朔飞教授)》P73

【关于主存中存储单元地址的分配】:

”通常计算机即可按字寻址,也可按字节寻址。若按字节寻址,即它的每一个存储字包含n个可独立寻址的字节。“(拓展了原话)

套用到本题:题目默认可按字节寻址,主存每个字块内有16个字,每个字32位——则主存中每个字块的每一个存储字都包含32位/8位=4个可独立寻址的字节,即这四个可独立寻址的字节需用2位二进制编码表示。

字块内地址会锁定到该字块内某一存储字内可独立寻址字节的地址,编制每个字块内的16个存储字需要四位二进制数,再在这四位二进制数所指定的存储字内按字节寻址(如上,需要2位二进制编码),于是总共需编制6位二进制数。

上面字块内地址的计算方法:每个字32位,每个8位,那么每个字对应4个字节;

一个字块16个字,那么一个字块对应64个字节;

64=2^6,即字块内地址为6位

4位表示16个字,2位表示每字32位-->这个的意思是:在取值的时候,地址指向的空间是八位八位的,不是一下子就取出32位,整四个字节,2位(00,01,10,11)表示每字32位的意思是:这一个字的四个字节的序号(可以这么理解,嘿嘿),每一次取出就是这16个字的第一个字节、第二个字节、第三个字节、第四个字节。

应该说是地址长度。字块内地址长度,就是问字块内有多少。例题说每个字块16字,每字32位(每8位1字节),也就是每字块内有16*32/8=64字节=2^6B,这个指数是6,即字块内地址长度为6。

4位表示16个字,2位表示每字32位:说的是上面这个算式,16即2^4,32/8即2^2,中间是乘号,2^4* 2^2=2^(4+2)B。个人觉得这个说法很绕口,不如说字块内包含2的6次方字节,长度就为6。该题说的不是主存块地址,说的是“主存字块标记”,等于主存地址长度与缓存地址长度之差。

主存容量为512KB=2^9 * 2^10 B=2^19B,主存地址长度就为19。

缓存容量为    4KB=2^2 * 2^10 B=2^12B,缓存地址长度就为12。

主存字块标记就是19-12=7缓存字块地址长度,就是问缓存有多少块。如题,每字32位即4B,每块16字,缓存容量为4KB,那么4KB/4B/16=2^10 / 2^4=2^6块。所以缓存字块地址长度为6。

借号玩怎么进游戏-借steam号,玩玩只是,玩里面游戏

我把我的qq号借给朋友玩游戏了,怎么才能让他只能登游戏,不能登qqQQ邮箱和空间有独立密码,你可以设置一下,保护账号隐私。但是QQ游戏独立密码,这一功能应该还没…

免费借生死号平台-生死狙击借号 联通 免费的 求求你们了大神

生死狙击借号联通免费的求求你们了大神生死狙击FPS射击网页游戏,游戏玩法和穿越火线一样。和穿越不同的是,在游戏模式、地图、武器等方面都会有更多的选择性。如果想提…

借cf号qq群号-穿越火线枪战王者借qq号和密码

穿越火线枪战王者借qq号和密码穿越火线手游好号帐号密码,有1888钻石和雷神礼包实际点,详看http://yun.baidu.com/wap/share/hom…