問78
頻出度★★☆
コンピュータの主記憶中にある命令やデータの格納場所を特定するために, その場所に付けられた値はどれか。
这道题的解析和你的作答记录。
コンピュータの主記憶中にある命令やデータの格納場所を特定するために, その場所に付けられた値はどれか。
正解 主存储器(内存)按存储单位(一般为 1 字节)划分成一个个区块,每个区块从 0 号开始被分配互不重复的连续编号。CPU 就是用这个编号来指定要读写的区块,所以只要知道编号,就能唯一确定指令或数据存放在主存储器的哪个位置。这个「赋予存储位置的值」就是地址,因此 ア 正确。例如 CPU 取指令时,会把下一条要执行的指令的地址送上地址总线告知主存储器,再通过数据总线接收该区块的内容。这与日常生活中「给出门牌地址就能找到建筑物(数据)」的比喻完全一致。
索引指的是目录、下标一类的东西:既可以是表示数组第几个元素的下标,也可以是数据库中为了快速找到目标记录而另外建立的索引。两者都是「在表或集合中的顺序、检索的线索」,而不是赋予主存储器物理存储位置本身的值。数组的下标要先换算成地址(首地址 + 下标 × 元素大小),才对应到主存储器上的位置,所以它和地址处在不同的层级。
计数器是数数的机构(计数装置),用来保存和累加次数或个数。名字相近的程序计数器是「保存下一条要执行的指令的地址的寄存器」,它是装地址的容器,而不是赋予存储位置的值本身。不要把容器和装在其中的值混为一谈。
解码器是把编码解读出来、并从中选出对应的一条输出线的电路。在 CPU 内部,它是解读指令的指令解码器;在主存储器中,它作为根据收到的地址选出对应行的选择电路工作。它是解释并使用地址的那一侧的电路,本身不是值,所以不能作为本题「赋予存储位置的值」的答案。做反方向转换的是编码器。