内存编制及芯片拼接
今天说说计算机内部的内存编制方法。对于计算机的内部芯片,人们将它按位(bit)进行分割,我们拿下面的一片芯片做示例进行讲解:
内存编制
图片中一共有8x4=32个方格,也就是有32个bit,下面的四条线是数据线,用于取出芯片当中的数据。该芯片编址时,每四个位进行一编址。那么编址时需要多少地址线呢?是不是因为有8行地址,就需要8位地址线呢?
由于该芯片是8x4的芯片,其实只需要3为地址线就能够对它编址。这是因为这8个地址只需要3个0、1组成的二进制数随机组合即可。
PS:地址线决定了每一次编址之后,指令包含的位数或者字节数。
上图中,由于是四位一编址,那么每一条指令便是4个bit。
下面我们通过芯片拼接来进一步对内存编制进行理解。
芯片拼接
如果我们有上面图中的两块芯片,对他们进行拼接。那么就有下面两种情况:
对于情况一:
因为拼接后为16x4的芯片,每一条指令需要编4个bit,即以4bit进行编址。这种情况,它就至少需要4位的地址线(因为2的四次方才是16),编制范围从0000~~~1111。
对于情况二:
这种情况,拼接后是8x8的芯片,每一条地址需要8个bit,即一字节进行编址。这时,它的地址线的位数不用变,仍然用3位即可,编制范围从000~~~111。
例题解析
例子一、内存按字节编址,地址从A4000H到CBFFFH,共有多少字节?
例子二、内存按四位编址,地址从A4000H到CBFFFH,共有多少字节?
上面例子汇总,题目几乎一样,区别就在于一个是按字节编址、一个是按4bit编址。我们首先算出A4000H到CBFFFH一共有多少K(自己算),我们可以算出来是160K。
如果按字节编址,也就是说每一行地址,都是一个字节(即8个bit),那么我们算出的160k便是160k个字节;
同理按4为编址,我们算出的就是160k个4bit,也就是80k字节。
总结
内存编制其实很简单,只要明白了上面38译码的原理,这一块估计就没问题了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构