对下面这道题进行解释:设CPU有16根地址线、8根数据线,并用MREQ作为访存控制信号(低电平有效),用WR作为读/写控制信号(高电平为读,低电平为写)。现有下列存储芯片:1K×4位RAM、2K×8位RAM、4K×8位RAM、4K×4位ROM、4K×8位ROM、8K×8位ROM。要求:最小4K为系统程序区,4096~16383为用户程序区。 (1)写出对应的二进制地址码。 (2)确定芯片的数量及类型。 (3)分配地址线、确定片选信号。
时间: 2024-03-18 10:43:28 浏览: 1788
我明白了,这是一道计算机组成原理中的题目。根据题目要求,可以得到如下解答:
(1)二进制地址码:
- 16根地址线可以寻址2^16个不同的地址,即最大地址为2^16-1=65535。
- 最小4K为系统程序区,即0~4095。
- 4096~16383为用户程序区,共计12288个地址。
- 因此,系统程序区需要12位二进制地址码(2^12=4096),用户程序区需要14位二进制地址码(2^14=16384)。
- 由于地址线只有16根,因此只需要使用系统程序区和用户程序区的最高位来选择不同的芯片,其余的位用于选择芯片内的地址。
- 因此,系统程序区和用户程序区的最高位分别为1和0,即二进制地址码的前两位为“10”和“00”。
- 剩余的12位和14位二进制地址码分别用于选择芯片内的地址。
(2)芯片数量及类型:
- 系统程序区需要的存储器容量为4K,可以选择1个4K×8位ROM芯片。
- 用户程序区需要的存储器容量为12K,需要至少选择1个8K×8位ROM芯片和1个4K×8位ROM芯片,总共需要2个ROM芯片。
- 另外,还需要1个1K×4位RAM芯片用于存储变量等数据,以及1个2K×8位RAM芯片用于存储栈等数据。因此,总共需要4个芯片,分别为1个4K×8位ROM、1个8K×8位ROM、1个1K×4位RAM和1个2K×8位RAM。
(3)地址线分配和片选信号:
- 系统程序区和用户程序区的最高位分别为1和0。
- 系统程序区和用户程序区的地址线分配如下:
- 系统程序区:A15=1,A14=0,A13~A0用于选择ROM芯片内的地址。
- 用户程序区:A15=0,A14=0,A13~A0用于选择ROM芯片内的地址。
- RAM芯片不需要选择片选信号,直接使用MREQ控制信号和WR读/写控制信号即可。
- ROM芯片需要选择片选信号,可以使用系统程序区和用户程序区的最高位来选择不同的芯片。因此,需要两个片选信号:
- 系统程序区的片选信号:CS1=0,CS2=1。
- 用户程序区的片选信号:CS1=1,CS2=0。
- 注意,MREQ和WR的电平与题目中的描述相反,应该是MREQ为高电平有效,WR为低电平有效。
阅读全文