鱼C论坛

 找回密码
 立即注册
查看: 2461|回复: 8

内存寻址

[复制链接]
发表于 2012-7-14 20:45:09 | 显示全部楼层 |阅读模式
1鱼币
请问内存Bank中单元格地址是内存地址吗?内存的寻址和编址到底怎么样的啊?

最佳答案

查看完整内容

内存的BANK其实分为两部分,逻辑BANK和物理BANK。 先来讲讲逻辑BANK。芯片的内部,内存的数据是以位(bit)为单位写入一张大的矩阵中,每个单元格我们称为CELL,只要指定一个行(Row),再指定一个列(Column),就可以准确地定位到某个CELL,这就是内存芯片寻址的基本原理。这样的一个阵列我们就叫它内存的逻辑BANK(Logical BANK)。 再来说说物理BANK。通常主板上的每个内存插槽分为两段,这个大家从VIA主板BIOS设置中 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-14 20:45:10 | 显示全部楼层
内存的BANK其实分为两部分,逻辑BANK和物理BANK。

先来讲讲逻辑BANK。芯片的内部,内存的数据是以位(bit)为单位写入一张大的矩阵中,每个单元格我们称为CELL,只要指定一个行(Row),再指定一个列(Column),就可以准确地定位到某个CELL,这就是内存芯片寻址的基本原理。这样的一个阵列我们就叫它内存的逻辑BANK(Logical BANK)。

再来说说物理BANK。通常主板上的每个内存插槽分为两段,这个大家从VIA主板BIOS设置中的BANK 0/1 DRAM Timing选项很容易推理得到,实际上也就是两个BANK,不过这里的BANK概念与我们前面分析芯片内部结构时提到的BANK可不一样。

简单地说这个BANK就是内存和主板上的北桥芯片之间用来交换数据的通道,目前以SDRAM系统为例,CPU与内存之间(就是CPU到DIMM槽)的接口位宽是64bit,也就意味着CPU一次会向内存发送或从内存读取64bit的数据,那么这一个64bit的数据集合就是一个内存条BANK,很多厂家的产品说明里称之为物理BANK(Physical BANK)。

目前绝大多数的芯片组都只能支持一根内存包含两个物理BANK,但是针对某个具体的条子,很多人想当然,认为每个DIMM插槽使用内存条的面数来区分占用几个BANK通道,单面的(16M,64M)只占用一个物理BANK,而双面的(32M,128M)则需占用两个物理BANK。实际上物理BANK与面数是无关的,PCB电路可以设计成双面和单面,也可把全部芯片(16颗)放在一面上(至少从理论上是完全可能)。

有些内存条单面就是一个物理BANK,但有些双面才是一个物理BANK,所以不能一概而论。256MB内存条就是一个典型的例子,虽然是双面并多达16枚芯片,但仍然是单个物理BANK的。要准确知道内存条实际物理BANK数量,我们只要将单个芯片的逻辑BANK数量和位宽以及内存条上芯片个数搞清楚。各个芯片位宽之和为64就是单物理BANK,如果是128就是双物理BANK。
CPU工作时与BANK的关系
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-15 03:12:45 | 显示全部楼层
说起来要从小红和小明的故事说起,还是建议看下《零基础入门学习汇编语言》具体的章节吧,里边有详细解释。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-15 09:27:57 From FishC Mobile | 显示全部楼层
小甲鱼 发表于 2012-7-15 03:12
说起来要从小红和小明的故事说起,还是建议看下《零基础入门学习汇编语言》具体的章节吧,里边有详细解释。

话说,多多和甲鱼哥交流,也可以让自己变得像乌贼。。。。(鱿墨。。)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-15 14:27:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-15 14:42:36 | 显示全部楼层
小甲鱼 发表于 2012-7-15 03:12
说起来要从小红和小明的故事说起,还是建议看下《零基础入门学习汇编语言》具体的章节吧,里边有详细解释。

没啊 没讲解逻辑BANK的章节啊 我看讲解的都是一个字节8个位的编址
我QQ 怎么加不进去啊 小甲鱼老师
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-15 15:15:51 | 显示全部楼层
小甲鱼 发表于 2012-7-15 14:55
内存的BANK其实分为两部分,逻辑BANK和物理BANK。

先来讲讲逻辑BANK。芯片的内部,内存的数据是以位(b ...

小甲鱼 老师 这些 我都在网上看了好多 我想知道逻辑Bank中十字寻址。寻找的内存单元格也就是你说的cell的地址是不是CPU寻找的内存地址啊 我问我们以前大学老师 他说现在没几个人知道这些 我晕。我现在是饭都吃不下啊 困了我好久的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-15 15:32:33 | 显示全部楼层
枫辰 发表于 2012-7-15 15:15
小甲鱼 老师 这些 我都在网上看了好多 我想知道逻辑Bank中十字寻址。寻找的内存单元格也就是你说的cell的 ...

大概看了下一些资料,有些讲的挺矛盾,确实这方面的没有官方文档指导很多都是猜测。
我大概说说自己的理解:

1. 内存是十字存储,也就是以二维表格的形式按位存放数据
2. 我们汇编中的一个实际物理地址,应该就是直接对应内存的地址,我的意思是没有必要再进行转化
3. 所以他的索引也就像数组的索引形式。




想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-15 17:11:25 | 显示全部楼层
小甲鱼 发表于 2012-7-15 15:32
大概看了下一些资料,有些讲的挺矛盾,确实这方面的没有官方文档指导很多都是猜测。
我大概说说自己的理 ...

百度上帖子 和资料我基本全看了 cell中的bit一般是4个 8个 和16个  要是8个的话 正好是内存单元地址,也就是一个字节8个位,但是要是4个和16个的话我就矛盾了 本来内存单元是一个字节一个字节编址的,怎么在十字寻址中又是四个bit和16个bit ?矛盾的要死啊  我现在。难道没有人知道吗?我让好多好友问他们学校老师 现在也没有回答,回答的都是我在网上看的。哎 难 啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-20 12:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表