按字节寻址和按字寻址
来源:互联网 发布:知乎 经典 编辑:程序博客网 时间:2024/05/11 02:42
百度知道上有这么一个问题:
组成原理唐书上73页: 对24位地址线的主存,字长为32位,按字节寻址的范围是16M,按字寻址的范围为4M。
但书前面讲的是寄存器mar的位数反映了存储单元的个数 那样的话:按字寻址的范围是16M=2^24
按字节寻址的范围是16M*4=64M。
这是怎么回事呀 怎么解释 书前后怎么矛盾呀?
其中一个人的回答我很赞同:
你没有注意的是:书上还说了一句,IBM 32 位存储器 地址线的低两位用作为一个字中四个字节的寻址地址(如果没有这两位的牺牲的话,如何按字节寻址呢?),即:真正用于按字寻址的地址线只有24-2=22根,也即4M;
按字节寻址是指(我的理解):将所有的字节看为一个独立的整体,重新计算它们的个数,即:总容量 / 单位字中字节的位数 <=> 64MB /4B=16M。
plus:
我又请教了一些懂它的人,她的答案是:当按字寻址时,它的字长就不可能是32位;当按字长寻址时,它的地址线就不可能是24条。最直白的做法就是:按字长寻址时,计算它有多少个B,按字寻址时,根据给的地址线条数计算。
分割线-------------------------------------------------------------------
我有看了另外一个人的博客,内容如下:
我们先从一道简单的问题说起!
设有一个1MB容量的存储器,字长32位,问:按字节编址,字编址的寻址范围以及各自的寻址范围大小?
如果按字节编址,则
1MB = 2^20B
1字节=1B=8bit
2^20B/1B = 2^20
地址范围为0~(2^20)-1,也就是说需要二十根地址线才能完成对1MB空间的编码,所以地址寄存器为20位,寻址范围大小为2^20=1M
如果按字编址,则
1MB=2^20B
1字=32bit=4B
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.
总结:如果只要求按字寻址,那么第二个人的博客是正确的,因为不要求按字长寻址;如果既能按字寻址,还能按字长寻址,那么第一个人的说法是正确的。
- 按字节寻址和按字寻址
- 关于按字寻址和按字节寻址的理解
- 按字寻址和按字节寻址问题!
- 关于按字寻址和按字节寻址的理解
- 关于按字寻址和按字节寻址的理解
- 按字节、位、字寻址
- 关于存储器按字节寻址和按字寻址的理解
- 寻址和字节顺序
- 寻址和字节序
- 2.寻址和字节存储顺序
- 寻址
- 寻址
- 51单片机特殊功能寄存器中的字节寻址和位寻址
- 2、Winsock的寻址方式和字节顺序
- 位、字节、寻址空间扫盲
- 位、字节、寻址空间扫盲
- 位、字节、寻址空间扫盲
- 位、字节、寻址空间扫盲
- 数据结构实验之查找二:平衡二叉树
- Ubuntu安装eclipse和CDT
- Window下Intellij Idea本地hadoop运行环境
- 【Matlab图像处理】截取图像中的矩形区域(可不平行于坐标轴)并保存为图片
- PHP的错误处理
- 按字节寻址和按字寻址
- [51nod 1430]奇偶游戏
- Android实训案例(七)——四大组件之一Service初步了解,实现通话录音功能,抽调接口
- BP神经网络
- Install Postgresql
- 如何恰到好处地使用protected
- 【工作笔记】Spring mvc多文件上传
- JSP基本知识
- iOS 升级HTTPS配置ATS-----(1)------