第六章-存储器系统(2)译码与8086的存储器系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

16.2.3存储器地址译码存储器芯片与处理器的连接存储器芯片有数据、地址、读写控制引脚处理器总线有数据、地址、读写控制信号功能上多数可以直接相连但是,地址信号需要译码处理器地址总线个数多于存储器地址引脚个数多个存储器芯片组成一定容量的存储系统需要利用地址总线控制存储器片选信号21.地址译码译码(Decode)将某个特定的编码输入翻译为有效输出的过程存储器译码电路可编程逻辑器件PLD译码器门电路组合举例:多输入或门实现译码64K×8结构的SRAM,地址引脚16个A15~A0,构成8086系统的16位字长存储器系统——2片,一片接高8位,一片接低8位。8086处理器:20个地址总线A19~A016位数据总线低8位数据总线——A0=0访问高8位数据总线——BHE=0访问38086执行不同操作指令时的A0和BHE信号4简单的门电路译码D7~D0D15~D8DOD1D2D3D4D5D6D7A15A0A1CSOEWRDOD1D2D3D4D5D6D7A15A0A1CSOEWRA16~A1A14A14≥1≥1RDWRBHEA0A17A18A19M/IOD15D14D9D13D12D11D10D8D7D6D5D4D3D2D1D0A000000H~1FFFFH≥1A1A2A15A16A16A15A2A1……A17=0A18=0A19=05地址:地址空间范围:00000H~1FFFFFH只要执行存储器访问指令,且指令给出的地址在该范围类,则(A19)(A18)(A17)=000选中图中的两片存储器而地址A16~A0选中芯片中的具体一个存储单元。6D7~D0D15~D8DOD1D2D3D4D5D6D7A15A0A1CSOEWRDOD1D2D3D4D5D6D7A15A0A1CSOEWRA16~A1A14A14≥1≥1RDWRBHEA0A17A18A19M/IOD15D14D9D13D12D11D10D8D7D6D5D4D3D2D1D0A0≥1A1A2A15A16A16A15A2A1……A17=0A18=0A19=1地址空间?7地址:地址空间范围:80000H~9FFFFFH只要执行存储器访问指令,且指令给出的地址在该范围类,则(A19)(A18)(A17)=100选中图中的两片存储器而地址A16~A0选中芯片中的具体一个存储单元。82.译码器3-8译码器:138译码器3个控制输入引脚:G1,G2A*和G2B*有些资料上E3,E2*E1*(我们的教材这样表示)都有效,才能实现译码功能3个编码输入引脚:C,B和A8种编码各对应一个译码输出引脚CBA=000编码使Y0*低有效,其他高电平无效CBA=001编码使Y1*低有效,其他高电平无效……CBA=111编码使Y7*低有效,其它高电平无效E39译码器74LS13810译码器译码对于存储器访问,M/IO*=1,将该信号接到3-8译码器的G1(E3)引脚,则只有执行存储器访问指令(存储器读或写指令)MOVmem,srcMOVsrc,mem时,存储器的地址译码器才有效。在执行端口访问指令INOUT时,M/IO*=0,存储器译码器输出Y7*~Y0*全部无效(为1),这样就将存储器地址与I/O端口地址区分开来。一个例子如下:11D7~D0D15~D8DOD1D2D3D4D5D6D7A15A0A1CSOEWRDOD1D2D3D4D5D6D7A15A0A1CSOEWRA16~A1A14A14≥1≥1RDWRBHEA0A17A18A19M/IOY0Y1Y2Y7G1G2AG2BABC译码器D15D14D9D13D12D11D10D8D7D6D5D4D3D2D1D0A000000H~1FFFFH20000H~3FFFFH40000H~5FFFFH0E0000H~0FFFFFH12地址:地址空间范围:00000H~1FFFFFH只要执行存储器访问指令,且指令给出的地址在该范围类,则(A19)(A18)(A17)=000选中图中的两片存储器而地址A16~A0选中芯片中的具体一个存储单元。13这种将高位地址全部送译码器进行译码的方式——全译码方式。译码方式全译码——全部高位地址进行译码部分译码——部分高位地址进行译码线选方式——直接用高位地址信号做片选信号14部分译码电路例如:上述存储器电路使用2—4译码器时,A17不参与译码时A18A19M/IOA17=0或1A18=0A19=0ABCY1Y0Y2Y32-4译码器15A17不参与译码D7~D0D15~D8DOD1D2D3D4D5D6D7A15A0A1CSOEWRDOD1D2D3D4D5D6D7A15A0A1CSOEWRA16~A1A14A14≥1≥1RDWRBHEA0A18A19M/IOD15D14D9D13D12D11D10D8D7D6D5D4D3D2D1D0A0A1A2A15A16A16A15A2A1……A17=0或1A18=0A19=0地址空间?ABCY1Y0Y2Y32-4译码器00000H~1FFFFH20000H~3FFFFH16地址:00000H~1FFFFH在A17=0时地址空间范围:00000H~1FFFFFH只要执行存储器访问指令,且指令给出的地址在该范围类,则(A19)(A18)(A17)=000选中图中的两片存储器而地址A16~A0选中芯片中的具体一个存储单元。17地址:20000H~3FFFFH在A17=1时只要执行存储器访问指令,且指令给出的地址在该范围类,则(A19)(A18)(A17)=000或001选中图中的两片存储器而地址A16~A0选中芯片中的具体一个存储单元。部分译码,一个存储器芯片占据不止一个地址空间,存储器地址空间不连续。如果A19不参与译码,地址如何变化?18A19不参与译码的部分译码电路D7~D0D15~D8DOD1D2D3D4D5D6D7A15A0A1CSOEWRDOD1D2D3D4D5D6D7A15A0A1CSOEWRA16~A1A14A14≥1≥1RDWRBHEA0A17A18M/IOD15D14D9D13D12D11D10D8D7D6D5D4D3D2D1D0A0A1A2A15A16A16A15A2A1……A17=0A18=0A19=0或1地址空间?ABCY1Y0Y2Y32-4译码器00000H~1FFFFH80000H~9FFFFH19地址:00000H~1FFFFH在A19=0时执行存储器访问指令,且指令给出的地址在该范围类,则(A19)(A18)(A17)=000选中图中的两片存储器而地址A16~A0选中芯片中的具体一个存储单元。20地址:80000H~9FFFFH在A19=1时只要执行存储器访问指令,且指令给出的地址在该范围类,则(A19)(A18)(A17)=000或100选中图中的两片存储器而地址A16~A0选中芯片中的具体一个存储单元。21译码方式全译码方式使用全部微处理器地址总线片内寻址:低位地址与存储器芯片地址引脚相连片选寻址:高位地址经译码与存储器芯片片选引脚相连部分译码方式只使用部分微处理器地址总线进行译码没有使用的地址信号对存储器芯片的工作不产生影响部分译码地址重复译码简单全译码地址唯一空间连续22线选方式将存储器芯片没有用到的高位地址信号中的某一根直接作为存储器芯片的片选控制信号。当该地址信号=0时,选中该存储器芯片。注意:连接到其他存储器芯片的用于片选信号的高位地址应该都处于高电平(无效片选信号)状态。23D7~D0D15~D8DOD1D2D3D4D5D6D7A15A0A1CSOEWRDOD1D2D3D4D5D6D7A15A0A1CSOEWRA16~A1A14A14≥1≥1RDWRBHEA0A19M/IOD15D14D9D13D12D11D10D8D7D6D5D4D3D2D1D0A0A1A2A15A16A16A15A2A1……A17=0A17=1A18=0A18=1A19=0地址空间?≥124应当注意:当使用线选方式时,只要用于作为片选信号的地址信号=0,就选中存储器,例如上图,A19=0,A18,A17为任意值都可以选中图中的存储器芯片。这样,他的地址空间范围:A18=0,A17=0:00000H~1FFFFHA18=0,A17=1:20000H~3FFFFHA18=1,A17=0:40000H~5FFFFHA18=1,A17=1:60000H~7FFFFH在程序设计中,应该避免使A18=0,A17=0的情况出现——原因是线选方式,A18,A17一般用于选择其他的存储器芯片,这样会造成多个芯片同时被选中的错误。故编写程序,应该使用60000H~7FFFFH地址空间。253.8086的16位存储结构对称的两个存储体(Bank)所构成偶存储体(A0=0)对应所有的偶地址单元(0、2、4、……FFFEH)接处理器低8位数据总线D7~D0奇存储体(BHE*=0)对应所有的奇地址单元(1、3、5、……FFFFH)接处理器高8位数据总线D15~D8两个存储器芯片的片选端连接在一起268086的16位存储结构27地址对齐(Align)高位地址A19~A17=111,片选信号有效低位地址A16~A1=0...0,那么:A0=0(地址E0000H),BHE*=0,访问16位数据A0=0(地址E0000H),BHE*=1,访问低8位数据A0=1(地址E0001H),BHE*=0,访问高8位数据A0=1,BHE*=1,无效的数据访问组合8086存储器按16位数据宽度组织支持8位和16位数据访问偶地址开始的16位访问可以一次完成奇地址开始的16位访问需要两次操作地址对齐:16位数据以偶地址开始28作业1.某个使用8086的微机系统,现需要使用128K*8位的SRAM芯片组成从00000地址开始的512KB存储器系统,要求可以进行字访问也可以字节访问。(1)需要多少片存储器芯片?(2)请选择地址译码方式;(3)画出存储器系统电路原理图。注:除下图给出的芯片外,所需要的其它逻辑器件可自由选择。294.Pentium的64位存储结构Pentium采用64位数据总线和32位地址总线没有地址A2,A1和A08个字节允许信号区别8个8位存储体支持64/32/16/8位数据读写多字节数据若地址对齐能够一次完成读写2字节、16位数据是被2整除的地址(偶地址)4字节、32位数据是被4整除的地址(模4地址)8字节、64位数据是被8整除的地址(模8地址)示意图地址A对齐s字节边界Amods=0(能够被s整除的地址)316.2.4主存空间分配32最低1MB主存系统RAM区地址最低端的640KB空间由DOS进行管理显示RAM区128KB主存空间保留给显示缓冲存储区显示RAM区并没有被完全使用扩展ROM区I/O接口电路卡上的ROM系统ROM区ROM-BIOS程序640Koughttobeenoughforeverybody—BillGates198133扩展主存和扩充主存扩展主存XMS1MB后的RAM主存空间只能在保护方式使用遵循扩展主存使用规范XMS驱动程序HIMEM.SYS扩充主存EMS遵循扩充主存使用规范EMS扩充主存不是直接访问的存储空间体交换技术,不需要保护方式支持IA-32支持扩展主存XMS,不需扩充主存EMSEMM386.EXE驱动程序34高端主存区HMA和上位主存块UMB高端主存区HMA实方式下,地址A20开放,从100000H到10FFEFH之间约64KB的存储区域8088/8086:地址自动回绕80286和80386:地址不自动回绕80486及以后有A20M引脚A20M=0,地址自动回绕A20M=1,地址不自动回绕上位主存块UMB上位主存区UMA中未使用的区域EMM386.EXE驱动DOS应用35ROM复制和影子主存ROM复制系统ROM区的BIOS等程序8086/8088在F0000H~FFFFFH80286在FF0000H~FFFFFFHIA-32微处理器在FFFFFFF0H~FFFFFFFFH影子主存用作ROM-BIOS的只读的RAM区域启动后ROM-BIOS映射到RAM因为ROM芯片的读写速度比RAM

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功