题目
解题步骤
第一步
已知主存地址空间分配,先将十六进制地址范围写成二进制地址码,并确定其总容量。
系统程序区可变二进制位数有11位,占用低地址位11根地址线,存储字长2的十一次方即2k。
用户程序区可变二进制位数有10位,占用低地址位10根地址线,存储字长2的十次方即1k。
又cpu有八根地址线,系统程序区容量2k*8位,用户程序区1k*8位。
第二步
选择存储芯片。
系统程序区选用只读存储器芯片ROM(Read Only Memory),由已知系统程序区容量2k*8位,故选择1片2k*8位ROM芯片。
用户程序区选用随机存储器芯片RAM(Random Access Memory),由已知系统程序区容量1k*8位,故选择2片1k*4位RAM芯片, 将4位扩展为8位。
第三步
分配地址线,数据线。
地址线:将CPU的低十一位地址A10~A0分配与2K*8位的ROM地址线相连,将CPU的低10位地址A9~A0与2片1K*4位的RAM地址线相连。
数据线:ROM的8根数据线直接与CPU的8根数据线相连,2片RAM的数据线分别与CPU数据总线的高4位和低4位相连。
注意作为读/写控制信号与RAM芯片相连,作为ROM输入端直接接地,以确保读出时低电平有效。
第四步
片选信号形成(该处接法不唯一,仅展示课本方法)。
由图中所给的74138译码器,控制端G1为高电平,与为低电平,才能使译码器正常工作。
由于A15始终为低电平,A14始终为高电平,可以正好和G1以及对应。作为访存控制信号(低电平有效)又正好与对应。
得到下面图
我们观察到除地址范围的容量外系统程序区的A13 A12 A11分别为1 0 0,除地址范围的容量外用户程序区的A13 A12 A11 A10分别为1 0 1 0,我们可以先将A13 A12 A11分别接到C B A上。
为了使A13 A12 A11分别为1 0 0时选到ROM芯片,根据74138功能表,对应输出端为0,选中1片ROM。
为了使A13 A12 A11 A10分别为1 0 1 0时选到ROM芯片,根据74138功能表,对应输出端为0,A10为0,两者的非通过与非门输出0,选中2片RAM。