设CPU有16根地址线,8条数据线,并用/MREQ做访问存储器的控制信号,使用R/W做读写命令信号。要求存储系统最低8KB的地址是系统程序区ROM,与其相邻的高8KB的地址是系统程序工作区RAM,最高区域24KB的地址是用户程序区RAM。已知ROM和RAM存储芯片都为8K×8位,要求:
(1)写出每片存储芯片的地址范围(用十六进制表示);
(2)自选或设计译码电路,画出CPU、译码器和存储芯片的逻辑连接图。
参考答案:(1)根据主存地址空间分配,最低8KB地址空间为系统程序区,需用1片8K×8位的ROM芯片;相邻的8K地址空间为系统程序工作区,需用1片8K×8位的RAM芯片;最高区域的24K为用户程序区,需用3片8K×8位的RAM芯片。地址分析过程如下:
8K=213,8K地址空间的地址线数为13条。
系统程序区ROM的地址范围:
0000 0000 0000 0000~0001 1111 1111 1111
即0000H~1FFFH
系统工作区RAM的地址范围:
0010 0000 0000 0000~0011 1111 1111 1111
即 2000H~3FFFH
用户程序区的地址范围:
RAM1:1010 0000 0000 0000~1011 1111 1111 1111
即 A000H~BFFFH
RAM2:1100 0000 0000 0000~1101 1111 1111 1111
即 C000H~DFFFH
RAM3:1110 0000 0000 0000~1111 1111 1111 1111
即 E000H~FFFFH
(3)通过地址范围的分析,可以得出CPU的A12~A0这13位地址线作为芯片内部存储单元的选择,直接连接各个RAM和ROM芯片的地址线。CPU剩余的高位地址A15~A13这三条地址线用于3~8译码器的输入段,并且Y0选中ROM,Y1选中RAM,Y5~Y7分别选中用户程序区的RAM,连接图如下所示:
[*]