|
|
1
2
M&M是相互关联的,而不是相互定义的。然而,他们称m为派生量,因为通常处理器/控制器是其使用的字长的限制因素。 在实际系统中,它们是预先定义的。如果您有一个8位处理器,它通常可以处理8位内存地址(m=8)。因为可以用8位表示256个值,所以总共可以有256个内存地址(m=2^8=256)。正如您所看到的,由于处理器的限制,我们从小M开始,但是您总是可以决定您想要一个大小为M的内存空间,并使用它来选择一个可以根据字大小=log2(m)处理它的处理器。 现在,如果我们以你的假设为例,
我必须假设这是一个8位处理器,给出了8位字。此时,您所描述的缓存大于地址空间(256个字),因此毫无意义。 你可能想退房 Computer Architecture Animations & Java applets . 我不记得是否有任何一个缓存进入缓存结构(通常他们关注行为),但这是我过去为指导学生学习架构而保存的一个资源。 如果你的问题仍然没有意义,你可以进一步完善你的问题。 |
|
|
2
1
m的两个方程只是一个关系式。他们有两种表达相同观点的方式。不过,它们并不表示因果关系。我认为作者的假设是,唯一地址位的数量是由CPU设计者在开始VIA需求时定义的。然后M可以根据实现而变化。 |
|
|
3
1
m是系统内存地址的位宽度,例如32表示x86,64表示x86-64。例如,x86上的块大小是4K,所以b=12。块大小或多或少是指您可以从持久存储中读取的最小数据块——您将其读取到内存中,处理该副本,然后稍后再将其写回。我相信标记位是用来查找本地缓存在CPU附近(甚至在RAM中)的数据的高T位。我不确定设定线部分,尽管我可以做出合理的猜测,这将不是特别可靠。 |
|
|
4
1
循环…是的,但我认为这只是说明两个变量m和m必须服从这个方程。 米 可能是给定或假定的数量。 示例1:如果要使用主内存大小为 米 =4GB(4294967296字节),然后 米 会是32,因为 米 =2 ^ 32,即 米 = Log2 米 )也就是说,需要32位来寻址整个主存储器。 示例2:假设主内存大小较小,例如 米 =16MB(16777216字节),然后 米 将是24,即log2(16777216)。 |
|
|
5
0
似乎你对数学而不是建筑的东西感到困惑。 2^m(“第二次幂”)是2*2…m 2's.2^1=2,2^2=2*2=4,2^3=2*2*2=8,依此类推。值得注意的是,如果您有一个M位二进制数,则只能表示2^m个不同的数字。(这很明显吗?如果不是,用10替换2可能会有帮助,并考虑十进制数字) log2(x)(“x的对数底2”)是2^x的反函数。也就是说,log2(2^x)=x代表所有x。( 这是一个定义! ) 您需要log2(m)位来表示m个不同的数字。 请注意,如果从m=2^m开始,并取两边的log2,则得到log2(m)=m。该表非常明确。 |
|
|
GG33 · 在docker中缓存npm包 1 年前 |