2012微机原理和接口技术课件-CH5.ppt
文本预览下载声明
存储器字长为CPU可寻址单元的最小位数 P222 MMU * 让学生思考:A16-A19是否必须使用,如果不使用会出现什么情况?引出部分译码法 再让学生思考:如果每个芯片接一根线,设计会更简单,但会出现什么问题?引出线译码 Intel芯片 以最大容量的芯片所需地址线数为准 * 学生思考:若A11不参与6116的片选译码,会出现什么情况? IOP IO处理机 373锁存 62256数据SRAM 三种译码方式的比较 全译码 系统所有地址线全部都应该参与译码: 低段地址线应直接接在模块上,寻址模块内单元; 中段地址线译码后产生片选信号区分不同模块; 高段地址线可用作片选信号有效的使能控制; 部分译码 高段地址信号不参与译码,会造成地址空间的重叠及不连续。 线译码 电路结构简单,但系统必须保证参与片选的地址线不能同时为有效电平; 同部分译码法一样,因为有地址信号不参与译码,也存在地址重叠及不连续的问题; 片选信号的译码有如下三种方式 三种译码方式的举例(补充) 两级译码中,设计人员无需关注片内译码,由芯片内部完成。只需设计好片选信号的译码即可。片选信号的译码通常可采用线译码、部分译码、全译码三种方式。 线译码 【例】1KB的ROM芯片(1024×8),1KB的RAM芯片(1024×8),组成的2KB存储器系统,利用线译码完成片选控制。设CPU的DB总线8位,AB总线16位 线译码地址分析 1KB的ROM地址:A11=1,A10=0, A9A8……….A0=0000000000~1111111111 A15A14A13A12=随意(导致地址重叠) 1KB的RAM地址:A11=0,A10=1, A9A8……….A0=0000000000~1111111111 A15A14A13A12=随意(导致地址重叠) A15A14A13A12 =0000 A15A14A13A12 =1111 RAM地址 0400H~07FFH F400H~F7FFH ROM地址 0800H~0BFFH F800H~FBFFH 思考:若选A12,A10作为片选信号,地址还是否连续? 部分译码 【例】2KB的ROM芯片(2048×8),2KB的RAM芯片(2048×8),组成的4KB内存储器系统,利用部分译码法完成片选控制。设CPU的DB总线8位,AB总线16位 如何实现? 部分译码法地址分析 2KB的ROM地址:A11=0, A10A9……….A0=00000000000~11111111111 A15A14A13A12=随意 2KB的RAM地址:A11=1, A10A9……….A0=0000000000~1111111111 A15A14A13A12=随意 A15A14A13A12 0000 1111 ROM地址 0000H~07FFH ? RAM地址 0800H~0FFFH ? 全译码法地址分配利用存储器扩展实例讲解地址分配原理和过程 【例】:某CPU的地址线有16根(地址总线宽度16位),数据线8根(总线宽度8位)。构建嵌入式系统时因存储空间不够需要外扩一个12KB的存储器系统(其中,RAM4KB,ROM8KB)。 现有两类存储器芯片可供选择,EEPROM芯片2732A(4K×8bit)和SRAM芯片6116(2K×8bit)。若要求EEPROM的地址从0000H开始,且地址连续,设计该存储器系统。 【分析】:芯片选择及数量: 2732A两片, 6116两片 构成方式:不需要位扩展(字长扩展),只需要字扩展 对应于课本P173【例5.5】 如何设计接口电路?——采用二级译码 硬件电路设计 输出端的连接决定了地址从哪开始。如果从1000H开始,如何连接? 3-8译码器的用法必须掌握! 如何分配地址? 更加灵活的设计——可变地址译码方式 (P172)为某个模块设计一个地址译码电路,要求模块占用地址数为4,模块地址在1000H~13DFH范围内可选,如下表 A15 ~ A10 A9 ~ A2 A1 ~ A0 模块地址空间
显示全部