【求助】计算机字长16位,64k存储,为何寻址范围32k?

狠人大帝_ 2013-12-13 10:07:59
结果是32k的寻址范围,但是也寻址了64k的内存,64k内存以字长编址的单元数为:32768个两字节单元。
32768/1024 = 32k 这里直接把32768算作了32768个字节而不是32768个两字节。
难道说1K并非指1024字节。
而是1024个存储单元,存储单元为2字节时,1k为2048字节?
...全文
949 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2013-12-14
  • 打赏
  • 举报
回复
题目,看你的题目涉及的硬件了,以及设置情况了。 必须具体问题,具体分析; 你给的信息太少。不能从你给出的信息中得出结论、
狠人大帝_ 2013-12-14
  • 打赏
  • 举报
回复
引用 6 楼 worldy 的回复:
[quote=引用 4 楼 u012213421 的回复:] [quote=引用 1 楼 lm_whales 的回复:] 这个是你自己理解有问题。 64K 通常就是64K字节,除非地址单元是16 Bits的。 地址单元编号方式,可以简称编址方式。 不同CPU的编址方式,是不同的。 DSP就是16Bits或者32 Bits 编址的。 X86 按照字节编号,每个字节8Bits 有效数据。可以称为字节编址。 DSP 16Bits 按照双字节编号,每个单元2字节,16 Bits有效数据,可称字编址。 换句话说,DSP 16Bits 一个地址单元; 可以存储有些CPU 如X86,51 的2个地址单元的内容。 需要存储器的容量,也就翻倍了。
我知道你说的这个,我疑问的是一个单元2个字节,为什么可以把32768个两字节的单元数直接除以1024. 这里直接把32768个单元数(每个单元2字节)当作了32768byte,而不是32768×2byte所表示的真实字节数[/quote] 这个你得看数据总线的宽度是8位还是16位;假设内存同为64K,如果是前者得按64K空间进行寻址,如果是后者,得按32K寻址,同时,硬件的构成也是有差别的[/quote]
引用 1 楼 lm_whales 的回复:
这个是你自己理解有问题。 64K 通常就是64K字节,除非地址单元是16 Bits的。 地址单元编号方式,可以简称编址方式。 不同CPU的编址方式,是不同的。 DSP就是16Bits或者32 Bits 编址的。 X86 按照字节编号,每个字节8Bits 有效数据。可以称为字节编址。 DSP 16Bits 按照双字节编号,每个单元2字节,16 Bits有效数据,可称字编址。 换句话说,DSP 16Bits 一个地址单元; 可以存储有些CPU 如X86,51 的2个地址单元的内容。 需要存储器的容量,也就翻倍了。
引用 7 楼 ForestDB 的回复:
地址线宽度多少来着?
题目中没有宽度
lm_whales 2013-12-14
  • 打赏
  • 举报
回复
引用 4 楼 u012213421 的回复:
[quote=引用 1 楼 lm_whales 的回复:] 这个是你自己理解有问题。 64K 通常就是64K字节,除非地址单元是16 Bits的。 地址单元编号方式,可以简称编址方式。 不同CPU的编址方式,是不同的。 DSP就是16Bits或者32 Bits 编址的。 X86 按照字节编号,每个字节8Bits 有效数据。可以称为字节编址。 DSP 16Bits 按照双字节编号,每个单元2字节,16 Bits有效数据,可称字编址。 换句话说,DSP 16Bits 一个地址单元; 可以存储有些CPU 如X86,51 的2个地址单元的内容。 需要存储器的容量,也就翻倍了。
我知道你说的这个,我疑问的是一个单元2个字节,为什么可以把32768个两字节的单元数直接除以1024. 这里直接把32768个单元数(每个单元2字节)当作了32768byte,而不是32768×2byte所表示的真实字节数[/quote] 有一种情况,他个每个字只使用其中的一个字节,或者干脆只接8 Bits 而不是16 Bits 内存。 另外 我自己参与的一个工程中 也曾经把16Bits 内存当作 8Bits内存使用 因为 当时是两面可读写的内存,称作双口Ram 用于通讯。 该内存是16Bits的,一边可以当作电脑内存用, 用PC机,VC写程序操作; 另一边在板卡上,用单片机操作 单片机只接了8Bits 数据线。 这样PC 那边,看来是个16Bits的存储器,看作64K字节的存储器 板卡上的单片机,只是把它当作8Bits的32K字节存储用。也一直工作的很好。
lm_whales 2013-12-13
  • 打赏
  • 举报
回复
这个是你自己理解有问题。 64K 通常就是64K字节,除非地址单元是16 Bits的。 地址单元编号方式,可以简称编址方式。 不同CPU的编址方式,是不同的。 DSP就是16Bits或者32 Bits 编址的。 X86 按照字节编号,每个字节8Bits 有效数据。可以称为字节编址。 DSP 16Bits 按照双字节编号,每个单元2字节,16 Bits有效数据,可称字编址。 换句话说,DSP 16Bits 一个地址单元; 可以存储有些CPU 如X86,51 的2个地址单元的内容。 需要存储器的容量,也就翻倍了。
ForestDB 2013-12-13
  • 打赏
  • 举报
回复
地址线宽度多少来着?
worldy 2013-12-13
  • 打赏
  • 举报
回复
引用 4 楼 u012213421 的回复:
[quote=引用 1 楼 lm_whales 的回复:] 这个是你自己理解有问题。 64K 通常就是64K字节,除非地址单元是16 Bits的。 地址单元编号方式,可以简称编址方式。 不同CPU的编址方式,是不同的。 DSP就是16Bits或者32 Bits 编址的。 X86 按照字节编号,每个字节8Bits 有效数据。可以称为字节编址。 DSP 16Bits 按照双字节编号,每个单元2字节,16 Bits有效数据,可称字编址。 换句话说,DSP 16Bits 一个地址单元; 可以存储有些CPU 如X86,51 的2个地址单元的内容。 需要存储器的容量,也就翻倍了。
我知道你说的这个,我疑问的是一个单元2个字节,为什么可以把32768个两字节的单元数直接除以1024. 这里直接把32768个单元数(每个单元2字节)当作了32768byte,而不是32768×2byte所表示的真实字节数[/quote] 这个你得看数据总线的宽度是8位还是16位;假设内存同为64K,如果是前者得按64K空间进行寻址,如果是后者,得按32K寻址,同时,硬件的构成也是有差别的
derekrose 2013-12-13
  • 打赏
  • 举报
回复
一个字节=8bit
狠人大帝_ 2013-12-13
  • 打赏
  • 举报
回复
引用 1 楼 lm_whales 的回复:
这个是你自己理解有问题。 64K 通常就是64K字节,除非地址单元是16 Bits的。 地址单元编号方式,可以简称编址方式。 不同CPU的编址方式,是不同的。 DSP就是16Bits或者32 Bits 编址的。 X86 按照字节编号,每个字节8Bits 有效数据。可以称为字节编址。 DSP 16Bits 按照双字节编号,每个单元2字节,16 Bits有效数据,可称字编址。 换句话说,DSP 16Bits 一个地址单元; 可以存储有些CPU 如X86,51 的2个地址单元的内容。 需要存储器的容量,也就翻倍了。
我知道你说的这个,我疑问的是一个单元2个字节,为什么可以把32768个两字节的单元数直接除以1024. 这里直接把32768个单元数(每个单元2字节)当作了32768byte,而不是32768×2byte所表示的真实字节数
lm_whales 2013-12-13
  • 打赏
  • 举报
回复
引用 楼主 u012213421 的回复:
结果是32k的寻址范围,但是也寻址了64k的内存,64k内存以字长编址的单元数为:32768个两字节单元。 32768/1024 = 32k 这里直接把32768算作了32768个字节而不是32768个两字节。 难道说1K并非指1024字节。 而是1024个存储单元,存储单元为2字节时,1k为2048字节?
有些存储器的容量,按位计算每个字节9Bits ,8Bits有效位,1Bit 奇偶校验。 有些每单元18Bits 16Bits 有效位,2Bits 奇偶校验。 这样 512 K 的存储器 = 512/8 K= 64K 字节。 1M 的的存储器 = 1024/8 K = 128K 字节。 = 1024/16 K = 64K字。
图灵狗 2013-12-13
  • 打赏
  • 举报
回复
按bit计算。
引用 楼主 u012213421 的回复:
结果是32k的寻址范围,但是也寻址了64k的内存,64k内存以字长编址的单元数为:32768个两字节单元。 32768/1024 = 32k 这里直接把32768算作了32768个字节而不是32768个两字节。 难道说1K并非指1024字节。 而是1024个存储单元,存储单元为2字节时,1k为2048字节?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧