热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机组成原理——按字节编址与按字编址

上周一直在忙几场考试和课程设计,今天发现自己机组基础实在是太差。。。。。。临近期末要狂补一下,大概会写很多机组的博客吧。转载自https:blog.cs

上周一直在忙几场考试和课程设计,今天发现自己机组基础实在是太差。。。。。。临近期末要狂补一下,大概会写很多机组的博客吧。

转载自https://blog.csdn.net/qq_39665334/article/details/80946495

 

我们先从一道简单的问题说起!

     设有一个1MB容量的存储器,字长32位,问:按字节编址,字编址的寻址范围以及各自的寻址范围大小? 

     如果按字节编址,则 

                     1MB = 2^20B 

  (ps:1MB=1024kb,1kb=1024btye,1024是2的10次方)

                     1字节=1B=8bit 

                     2^20B/1B = 2^20 

     地址范围为0~(2^20)-1,也就是说需要二十根地址线才能完成对1MB空间的编码,所以地址寄存器为20位,寻址范围大小为2^20=1M

(ps:求出该存储器最多可容纳多少字节,从0到最多可容纳的字节数就是地址范围)

     如果按字编址,则

                      1MB=2^20B

                      1字=32bit=4B

(ps:字长是32位,就是指1字=32bit,该信息只有在按字编址时才有用。这里的字长说的是存储字长)

                     2^20B/4B = 2^18   

      地址范围为0~2^18-1,也就是说我们至少要用18根地址线才能完成对1MB空间的编码。因此按字编址的寻址范围是2^18

以上题目注意几点:

 

1.区分寻址空间与寻址范围两个不同的概念,寻址范围仅仅是一个数字范围,不带有单位

而寻址范围的大小很明显是一个数,指寻址区间的大小

  而寻址空间指能够寻址最大容量,单位一般用MB、B来表示;本题中寻址范围为0~(2^20)-1,寻址空间为1MB。

 

2.按字节寻址,指的是存储空间的最小编址单位是字节,按字编址,是指存储空间的最小编址单位是字,以上题为例,总的存储器容量是一定的,按字编址和按字节编址所需要的编码数量是不同的,按字编址由于编址单位比较大(1字=32bit=4B),从而编码较少,而按字节编址由于编码单位较小(1字节=1B=8bit),从而编码较多。

 

3.区别M和MB。

                        M为数量单位。1024=1K,1024K=1M

                        MB指容量大小。1024B=1KB,1024KB=1MB.

 

 

 

问题:

1、某计算机字长为32位,其存储容量为16MB,若按双字编址,它的寻址范围是多少?

2、某机字长为32位,存储容量为64MB,若按字节编址.它的寻址范围是多少?

解答:

我的方法是全部换算成1位2进制的基本单元来算。先计算总容量,如第一题中是16mb中,一B为8位,也就是8个一位基本单元组成,16M=2^24位=2^24个一位基本单元。所以总的基本单元是2^24*8。

一个字长是n位,就是说一个字是由n个一位基本单元组成。按照字来编址就是说由一个字所包含的一位基本单元的个数作为一个地址单元,它对应一个地址。同理,双字编址就是两个字所包含的的基本单元数作为一个地址单元。由于一个字节(1B)永远是8位,所以按字节编址永远是8个一位基本单元作为一个地址单元。寻址范围就是说总共有多少个这样的地址。

第一题中一个字长是32位,对于按字编址来说一个地址单元有32个基本单元,按双字编址则是一个地址单元有64个,按字节是8个,总容量是2^24*8个。所以按字编址的地址数是2^24*8/32个,按双字是2^24*8/64个,按字节是2^24*8/8个。因此,第一题答案是2^21=2M。

同理,第二题答案是2^26*8/8=2^26=64M。

 

转:https://www.cnblogs.com/wkfvawl/p/10889268.html



推荐阅读
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • Git管理工具SourceTree安装与使用指南
    本文详细介绍了Git管理工具SourceTree的安装、配置及团队协作方案,旨在帮助开发者更高效地进行版本控制和项目管理。 ... [详细]
  • Python 学习是否需要先掌握 C 语言?
    Python 是一门非常适合编程入门的语言,很多人疑惑是否需要先学习 C 语言才能更好地掌握 Python。本文将详细探讨这个问题,并为初学者提供专业的建议。 ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • 解决Python中 'NoneType' 对象无属性 'find_all' 错误
    本文详细探讨了在Python编程中遇到的常见错误——'NoneType'对象没有属性'find_all',并深入分析其原因及解决方案。通过理解find_all函数的工作原理和常见用法,帮助读者避免类似问题。 ... [详细]
  • 给定行数 numRows,生成帕斯卡三角形的前 numRows 行。例如,当 numRows 为 5 时,返回的结果应为:[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]。 ... [详细]
  • 本文介绍如何将自定义项目设置为Tomcat的默认访问项目,使得通过IP地址访问时直接展示该自定义项目。提供了三种配置方法:修改项目路径、调整配置文件以及使用WAR包部署。 ... [详细]
  • 配置多VLAN环境下的透明SQUID代理
    本文介绍如何在包含多个VLAN的网络环境中配置SQUID作为透明网关。网络拓扑包括Cisco 3750交换机、PANABIT防火墙和SQUID服务器,所有设备均部署在ESXi虚拟化平台上。 ... [详细]
  • 本文介绍了一家大型电信公司在SOA/BPM基础设施项目中采用的版本控制和分支管理策略。自项目启动以来,团队通过定义详细的命名约定、测试流程和分支规则,确保了项目的顺利进行并成功投入生产。 ... [详细]
  • 本文探讨了从传统SSM(Spring + Spring MVC + MyBatis)架构到现代化Spring Boot框架的转变过程,详细分析了两者之间的差异和改进。文章结合图表展示了技术演进的关键节点,帮助读者更好地理解这一重要变革。 ... [详细]
  • 比较源文件与备份目录的差异
    本文介绍了如何有效对比源文件和备份目录之间的差异,确保数据完整性和一致性。文章提供了详细的步骤和工具推荐,帮助用户快速识别并解决潜在问题。 ... [详细]
  • 磁盘健康检查与维护
    在计算机系统运行过程中,硬件或电源故障可能会导致文件系统出现异常。为确保数据完整性和系统稳定性,定期进行磁盘健康检查至关重要。本文将详细介绍如何使用fsck和badblocks工具来检测和修复文件系统及硬盘扇区的潜在问题。 ... [详细]
  • 在跨浏览器开发中,一个常见的问题是关于如何在鼠标悬停时显示图片提示信息。本文深入探讨了 IE 浏览器对 IMG 元素 alt 属性的特殊处理,并提供了最佳实践建议。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
author-avatar
QFWQF2010_899
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有