已知某8位机的主存采用半导体存储器,地址码为18位,采用4K×4位的SRAM芯片组成该机所允许的最大主存空间,并选用模块条形式,问: (1)若每个模块条为32K×8位,共需几个模块条? (2)每个模块条内有多少片RAM芯片? (3)主存共需多少RAM芯片?CPU需使用几根地址线来选择各模块?使用何种译码器?
时间: 2024-03-04 08:50:02 浏览: 146
好的,我理解了你的问题。让我来回答:
1. 该8位机主存的最大空间为2^18=256KB,而每个模块条的容量为32K,因此需要8个模块条才能满足该机的主存空间需求。
2. 每个模块条内包含32K÷4K=8片RAM芯片,每片RAM芯片的容量为4位,因此每个模块条内包含8×4=32位的RAM芯片。
3. 主存共需8个模块条,每个模块条内有8片RAM芯片,因此主存共需8×8=64片RAM芯片。
4. 由于主存地址码为18位,需要使用18根地址线来选择内存中的数据。而8个模块条需要3根地址线来选择,因此CPU需使用15根地址线来选择每个模块内的数据。
5. 为了实现模块选择,可以使用一个3-to-8译码器,将3根地址线的输入映射到8个输出。这样CPU就可以通过译码器选择要访问的模块。
相关问题
已知某16位机的主存采用半导体存储器,地址码为18位,若使用8K*8位SRAM芯片组 成该机所允许的最大主存空间,并选用模块板结构形式。问: (1)若每个模块为32K*16位,共需几个模块? (2)每个模块共有多少片RAM芯片? (3)主存共需多少RAM芯片?CPU如何选择模块板?
(1) 8K*8位的SRAM芯片组成的主存,每个芯片的地址线数为 13 位,因此可寻址范围为 2^13 = 8KB,数据线宽度为 8 位,所以一个芯片的存储容量为 8KB。如果要组成 16 位的主存,那么需要两个 8 位的芯片并联,即一个地址同时选中两个芯片,数据线分别连接两个芯片的数据线,合并为 16 位的数据总线。
所以,该机最大的主存空间为 2^18 = 256KB。需要的 8K*8位的SRAM芯片数量为 256KB ÷ 8KB = 32 个。每个芯片提供 8 位的数据线,需要两个芯片并联,因此每个模块需要 16 个芯片。
(2) 每个模块为 32K*16位,可看成 32 个 1K*16位的子模块。每个 1K*16位的子模块需要 2 个 8K*8位的SRAM芯片组成,因此每个子模块需要 2*2 = 4 个8K*8位的SRAM芯片。因此,每个模块共有 32*4=128个RAM芯片。
(3) 主存共需 32 个模块,因此共需 32*128=4096个RAM芯片。
CPU选择模块板时,应满足以下两个条件:
- 每个模块的地址范围应该与CPU的地址范围相对应,即每个模块的地址范围应为 CPU 地址范围的一个子集;
- 每个模块的数据线宽度应该与CPU的数据线宽度相同,即 CPU 的数据线应该与每个模块的数据线并联。
2、已知某16位机的主存采用半导体存储器,地址码为18位,若使用8K*8位SRAM芯片组 成该机所允许的最大主存空间,并选用模块板结构形式。问: (1)若每个模块为32K*16位,共需几个模块? (2)每个模块共有多少片RAM芯片? (3)主存共需多少RAM芯片?CPU如何选择模块板?
(1) 8K*8位的SRAM芯片共有2^13=8192个地址,可以存储8192个8位字节。因为主存是16位的,所以需要2个8位字节组成一个16位字。因此,可以使用4个8K*8位的SRAM芯片组成一个32K*16位的模块。主存的最大空间为2^18=262144个16位字,需要262144/32768=8个32K*16位的模块。
(2) 每个32K*16位的模块需要4个8K*8位的SRAM芯片。
(3) 主存共需要32K*16位*8个模块=256K*16位的RAM芯片。
CPU选择模块板的方法是,根据CPU的物理地址位数选择模块板的地址线数量。因为该16位机的地址码为18位,所以CPU需要提供18位地址线。每个32K*16位的模块有15位地址线,因此需要提供至少5位模块地址线。因为有8个32K*16位的模块,所以需要提供3位模块选择地址线。因此,CPU需要提供18位物理地址线、5位模块地址线和3位模块选择地址线。
阅读全文