美文网首页
计组的一些盲区

计组的一些盲区

作者: 萍水间人 | 来源:发表于2018-12-19 15:05 被阅读18次

    计组盲区

    先来看一道题目

    某计算机字长32位,存储容量是8MB,若按字编址,它的寻址范围是?

    分析
    字长为32位,存储容量是8MB,也就是8*1024*1024个字节,相当于8*1024*1024*8位,然后除以2^5(因为一个字长是32位),得到的结果是2*1024*1024位,但是要再除以8, 等于256*1024个字节,所以最后是256MB,即寻址范围是0~2M-1,为什么要减1呢,因为地址是从0开始计算的。

    按字编址和按字节编址

    设一个1MB容量的存储器,字长为32位,问:
    1)按字节编址,地址寄存器和数据寄存器各几位?
    2)按字编址,地址寄存器和数据寄存器个各位?

    解答
    1MB = 1*1024*1024 B(字节)
    1.如果是按照字节编址,1*1024*1024 * 8 bit(位) 所以数据寄存器是8位, 地址寄存器是 20位

    1. 如果是按照字编址, 1 * 1024 * 1024 B 因为一个字长是32位,先计算可寻址空间, 字长32位是四个字节, 所以可寻址空间是 2^8 * 2^10 B 也就是256 KB,所以数据寄存器是 32 位, 地址寄存器是 18位
    下面这段话挺有道理的

    每个字节都是8位,也就是1B大小,每个字大小是由题目给的,一般有16位,也就是2B,32位,4B。
    而存储器容量是怎么算出来的呢
    先拿房子举例,你有N个房子,每个房子B立方米这么大,那么,你的房子容量总共有多大,自然是NB立方米了。
    但要是有人规定,两个房子才算一个房子,才给一个房间号呢,那么,你的房子容量怎么算啊,自然是N/2在乘以2B了。
    有人要是规定四个房子才算真正一个房子,才给一个房间号,那么,你的房子容量怎么算,自然是N/4在乘以4B了。

    所以,房子总容量是有限的,四个房子给一个地址号,那么,总共就只有N/4个号,也就是地址范围就这么多 。

    相关文章

      网友评论

          本文标题:计组的一些盲区

          本文链接:https://www.haomeiwen.com/subject/iurjkqtx.html