九章节微型计算机存储器

上传人:无*** 文档编号:186061385 上传时间:2023-02-07 格式:PPT 页数:115 大小:1.86MB
收藏 版权申诉 举报 下载
九章节微型计算机存储器_第1页
第1页 / 共115页
九章节微型计算机存储器_第2页
第2页 / 共115页
九章节微型计算机存储器_第3页
第3页 / 共115页
资源描述:

《九章节微型计算机存储器》由会员分享,可在线阅读,更多相关《九章节微型计算机存储器(115页珍藏版)》请在装配图网上搜索。

1、第九章 微型计算机存储器第一节 存储器概述一、存储器分类 1、按存取速度和在计算机系统中的地位分类 主存储器:速度较快,容量较小,价格较高,用于存储当前计算机运行所需要的程序和数据,可与CPU直接交换信息,习惯上称为主存,又称内存。辅存储器:速度较慢,容量较大,价格较低,用于存放计算机当前暂时不用的程序、数据或需要永久保持的 信息。辅存又称外存或海量存储器。2、按存储介质和作用机理分类 磁存储器,主要有磁芯、磁带、磁盘、磁泡和磁鼓。光存储器,只读式CD-ROM、可擦写光盘,还有一种介于磁和光之间的存储设备叫磁光盘(MO盘)。半导体存储器,当前计算机系统的主存主要用半导体存储器。3、按存取方式分

2、类 微机内部 可读写存储器RAM,特点是存储器中的信息可读可写,半导体RAM断电后信息会全部丢失(易失性)。只读存储器ROM,特点是存储器中信息只能读出,不能写入,关机后信息不会丢失(非易失性)。微机外部 直接存取存储器DAM,如磁盘、光盘等,可直接对存储器中任何单元进行访问,存取时间与存储单元的物理位置无关。顺序存取存储器SAM,如磁带。对存储单元的访问是按顺序进行的,与存储单元的物理位置有关。二、存储器的性能指标 1、存储器容量 存储器容量是指存储器可以容纳的二进制信息总量,即存储信息的总位(Bit)数。设微机的地址线和数据线位数分别是p和q,则该存储器芯片的地址单元总数为2p,该存储器芯

3、片的位容量为2p q。例如:存储器芯片6116,地址线有11根,数据线有8根则该芯片的位容量是:位容量=211 8=2048 8=16384位 存储器通常是以字节为单位编址的,一个字节有8位,所以有时也用字节容量表示存储器容量,例如上面讲的6116芯片的容量为2KB,记作2K 8,其中:1KB=1024B(Byte)=1024 8=8192位 存储器容量越大,则存储的信息越多。目前存储器芯片的容量越来越大,价格在不断地降低,这主要得益于大规模集成电路的发展。2、存取速度 存储器的速度直接影响计算机的速度。存取速度可用存取时间和存储周期这两个时间参数来衡量。存取时间是指CPU发出有效存储器地址从

4、而启动一次存储器读写操作,到该读写操作完成所经历的时间,这个时间越小,则存取速度越快。目前,高速缓冲存储器的存取时间已小于5ns。存储周期是连续启动两次独立的存储器操作所需要的最小时间间隔,这个时间一般略大于存取时间。3、可靠性 存储器的可靠性用MTBF(Mean Time Between Failures)平均故障间隔时间来衡量,MTBF越长,可靠性越高,内存储器常采用纠错编码技术来延长MTBF以提高可靠性。4、性能/价格比 这是一个综合性指标,性能主要包括上述三项指标存储容量、存储速度和可靠性。对不同用途的存储器有不同的要求。例如,有的存储器要求存储容量,则就以存储容量为主;有的存储器如高

5、速缓冲器,则以存储速度为主。第二节 半导体存储器一、半导体存储器的特点分类 1、半导体存储器的特点 速度快,存取时间可到ns级;集成度高,不仅存储单元所占的空间小,而且译码电路和缓冲寄存器、读出写入电路等都制作在同一芯片中。目前已达到单片1024Mb(相当于128M字节)。非破坏性读出,即信息读出后存储单元中的信息还在,特别是静态RAM,读出后不需要再生。信息的易失性(对RAM),即断电后信息丢失。信息的挥发性(对DRAM),即存储的信息过一定时间要丢失,所以要周期地再生(刷新)。功耗低,特别是CMOS存储器。体积小,价格在不断地下降。2、半导体存储器的分类 半导体存储器的分类如图9.1所示。

6、主要分为两大类,可读写存储器RAM和只读存储器ROM。RAM分为静态RAM(SRAM)和动态RAM(DRAM)两种。目前计算机内的主存储器都是DRAM,它的集成度高、功耗很低,缺点是需要再生。SRAM是非挥发的,所以不需要再生,但集成度比DRAM要低,计算机中的高速缓冲存储器大多用SRAM.现在有一些新的RAM,如组合RAM(IRAM),将刷新电路与DRAM集成在一起;非易失RAM(NVRAM),实际上是由SRAM和EEPROM共同构成。正常情况下,它和一般SRAM一样,而在系统掉电瞬间它把SRAM中的信Flash存储器息保存在EEPROM中,从而使信息不丢失。只读存储器ROM的特点是用户在使

7、用时只能读出其中的信息,不能修改和写入信息。近几年出现了一中新的存储器叫Flash存储器(闪烁存储器),这是一种电可擦除的非易失性只读存储器,我们将在后面详细介绍。二、半导体存储器的组成 半导体存储器组成的框图如图9.2所示。它一般由存储体、地址选择电路、输入输出电路和控制电路组成。1、存储体 存储体是存储1和0信息的电路实体,它由许多个存储单元组成,每个存储单元一般由若干位(8位)组成,每一位需要一个存储元件,每个存储单元有一个编号,称为地址。存储器的地址用一组二进制数表示,其地址线的根数n与存储单元的数量N之间的关系为:2n=N地址线数与存储单元数之间的关系列于表9-1中。2、地址选择电路

8、 地址选择电路包括地址译码器和地址码寄存器。地址译码器用来对地址译码。设其输入端的地址线有n根,输出线数为N,则它分别对应2n个不同的地址码,作为对地址单元的选择线。这些输出的选择线又叫做字线。地址译码的方式有两种:单译码方式 它的全部地址码只用一个电路译码,译码输出的字选择线直接选中对应的存储单元,如上面图9.2所示。这一方式需要的选择线数较多,只适用于容量较小的存储器。双译码方式(或称矩阵译码)双译码方式如图9.3所示。它将地址码分为X与Y两部分,用两个译码电路分别译码。X向译码称为行译码,其输出线称为行选择线,它选中存储矩阵中一行的所有存储单元。Y向译码又称为列译码,其输出线称为列选择线

9、,它选中一列的所有单元。只有X向和Y向的选择线同时选中的那一位存储单元,才能进行读写操作。由图可见,具有1024个基本单元的存储体排列成3232的矩阵,它的 X向和Y向译码器各有32根译码输出线,共64根。若采用单译码方式,则要1024根译码输出线。因此,双译码方式所需要的选择线数目较少,也简化了存储器的结构,故它适用于大容量的存储器。3、读写控制电路 读写控制电路包括读写放大器、数据寄存器(三态双向缓冲器)等。它是数据信息输入输出的通道。外界对存储器的控制信号有读信号RD、写信号WR和片选信号CS。三、可读写存储器(RAM)1、静态RAM(SRAM)静态RAM的基本电路 静态RAM的基本存储

10、电路是由6个MOS管组成的双稳态触发器,如图9.4所示。图中,T3、T4是负载管,T1、T2组成RS触发器,它有两个稳定状态。在A点(相当于Q端)与B点(相当于Q端)可以分别积存信息1和0。T5、T6为行向选通门,受行选线的电平控制。T7、T8为列向选通门,受列选线的电平控制。由此组成了双译码方式。当行选线与列选线上的电平都是高电平时,则分别将T5、T6与T7、T8导通,使A、B两点的信息经D与D两点分别送至输入输出电路的I/O线及I/O线上,从而存储器某单元位线上的信息同存储器外部相通。这时,就可以对该单元位线上的信息进行读写操作。写入时,被写入的信息从I/O线和I/O线输入。如写1时,使I

11、/O线为高电平,I/O线为低电平,经T7、T5与T8、T6分别加至A端和B端,使T1截止而T2导通,于是A端为高电平,触发器为存1的稳态;反之亦然。读出时,只要电路被选中,T5、T6与T7、T8导通,A端和B端的电位就送到I/O线及I/O线上。若原存的信息为1,则I/O线上为1,I/O线上为0;反之亦然。读出时,触发器的状态不受影响,故为非破坏性读出。静态RAM的组成 静态RAM的组成如图9.5所示。存储体是一个由6464=4096个6管静态存储电路组成的存储矩阵。在存储矩阵中,X地址译码器输出为X0-X63共64根行选择线,Y地址译码器输出为Y0-Y63共64根列选择线。只有行列都被选中的那

12、个存储电路,才能进行读出和写入。图中为4K1位的存储器,因此它仅有一个I/O电路。如果要组成字长为8位的存储器,则同时有8个存储电路与外界交换信息。这种存储器,将列按8位分组,每根列选择线控制一组的列向门同时打开,相应地也应有8个I/O电路。每一组的同一位,共用一个I/O电路。对于每块芯片,都有一个片选控制端CS,只有当该端加上有效信号时,才能对该芯片进行读写操作。静态RAM芯片举例 常用的静态RAM芯片有2114(1K 4位)、2142(1K 4位)、2141(4K 1位)6116(2K 8位)、6264(8K 8位)、62256(32K 8位)和628128(128K 8位)等。6116有

13、2K 8位=16384个存储位,2K 表示芯片内的地址有11位(A0-A10),8位表示一个单元有8个二进制位。芯片内有128128的存储单元矩阵。它有11条地址线,7条用于行地址译码,4条用于列地址译码,每条列地址译码线控制8个基本存储单元(128 16 8)。6116的工作方式如表9-2所示。表9-2:6116芯片的工作方式 6264芯片(8K 8位):片内地址13根,每个存储单元8位。目前常用的6264是8K 8位的静态RAM芯片,它的引脚如图9.7所示。它有13根地址线,有两个片选信号CE1和CE2,使用时可以只用一根,这时使另一根总是有效。CSOEWE工作方式001读010写1未选通

14、它的操作控制如表9-3所示。图9.7 6264的引脚图 2、动态RAM(DRAM)动态RAM的基本单元 动态RAM是以MOS管栅极电容是否充有电荷来存储信息的,其基本单元如图9.8所示。由于只用一个管子,所以功耗很低,存储容量可做得很大。它是由T1管和寄生电容Cs组成的。读操作时,地址译码电路使某条字选择线为高电平,T1管导通,则存储在Cs上的信息通过T1管送到D线上,再通过放大,即可得到存储的信息。写操作时,使字选线上为高电平,T1管导通,待写入的信息由位线D(数据线)存入Cs。Cs上的信息被读出后,其寄存的电压由0.2V下降为0.1V,所以这是一种破坏性读出,读出后必须重写。刷新操作。由于

15、电容上的信息随时间增加慢慢消失所以这种存储单元必须定期刷新,以保持他所存的信息。刷新操作实际上也是一次读操作。不过这时信息并不读到数据线上。目前计算机的内存大多采用这种单管的动态存储器。动态RAM芯片举例 MCM511000是1M1位的高速动态RAM,图9.9是它的引脚图。10根9根1根 在芯片中有10条地址线,被行列分时复用;D和Q分别是数据输入线和数据输出线;控制线有读写线W、行地址选通线RAS、列地址选通线CAS和测试功能使能线TF。芯片内部功能如图9.10所示。芯片的存储体是一个512行2048列=1048576位的存储阵列。A0-A9 10位地址线在RAS控制下先送到行地址锁存器,其

16、中9位行地址译码后产生512根行选择线。另一根行地址线与A0-A9 10位列地址在CAS控制下,译码产生2048根列选择线。读出和写入是分开的,W=低时为写入,D引脚上的数据经信号放大和 I/O门控写入选中的存储单元。W=高时为读出操作,被选中单元的数据被读出到Q线上。刷新是逐行进行的,由刷新地址计数器(9位)和刷新控制器进行,要求8ms对整个存储体刷新一次,则对每一行 刷新要8000/512=15.6微秒。动态RAM刷新控制逻辑 图9.11是由4 K1位动态存储器组成的存储模块中的刷新控制逻辑。该逻辑分为两大部分:32个4 K1位动态RAM组成的存储模块、总线驱动器和外围电路。每个芯片上有两

17、条控制信号线CS和CE,在刷新操作时CS为高电平,数据输入输出处于高阻态被禁止。CE是芯片使能控制。逻辑的另一部分是总线驱动器和外围电路,外围电路主要是刷新时钟发生器、刷新地址计数器、芯片使能逻辑和2到1的多路转换器。2到1的多路转换器输出动态RAM的行地址,正常操作时,输出从地址总线来的行地址;刷新操作时,输出有刷新地址计数器来的行地址。刷新时,刷新时序使所有芯片的CS处于无效状态,数 据输入输出被禁止。并使4个存储组的CE全部有效,同时对4个存储组刷新。每一个存储组共有64行512列基本存储单元。一个刷新周期内只刷新有刷新地址计数器所选中的那一行中的全部单元。在每次刷新周期结束后,刷新计数

18、器加1。动态存储器刷新时间间隔一般为2ms,因此在2ms内要刷新64行。动态RAM控制器 与SRAM比,DRAM要复杂的外部电路支持。图9.12显示了DRAM控制器的基本结构,它由以下几个部分组成:地址多路开关:它一方面将CPU的地址总线转换成分时的DRAM行列地址,另一方面在地址总线与刷新地址之间切换。刷新地址计数器:每次刷新由它提供刷新地址。刷新定时器:提供刷新定时信号。仲裁电路:因CPU访存与刷新是异步的,故有可能发生冲突。可以依据一定的策略决定谁有优先权(通常是刷新优先)。定时发生器:负责产生行、列地址选通信号、读写控制信号等。现在已经有将DRAM芯片和DRAM控制器集成在一起的产品。

19、DRAM的演变和DIMM DRAM的演变 存储器芯片的容量和速度在不断地提高,此外还改进存储器的组织结构和访问方式。较早时的FPM(快页模式)DRAM,EDO(扩展数据输出)DRAM,到目前的SDRAM(同步DRAM),以至新一代的DDR(双数据率)SDRAM和RDRAM(Rambus DRAM)等。SDRAM可用一个时钟周期完成一个数据的访问和刷新,因而大大提高了数据传输率,成为目前微机的主流。SDRAM DIMM的接口信号 目前使用168线的双边接触内存模块(DIMM)插槽,存储条可直接插在上面。168个信号分成6组:地址线、数据信号线、串行存在探测(SPD:Serial Presence

20、 Detect)信号线、控制线、电源信号和其它信号线。3、双端口RAM 双端口RAM的基本结构 双端口RAM提供了两个独立的端口,每个端口有自己的控制线、地址线和输入输出数据线。具有两个端口的DS1609的内部结构如图9.13所示。主要由双口存储阵列和两个完全独立的端口A、B组成。其中双口存储阵列中的存储单元电路如图9.14的左图所示,其核心仍属静态存储器,由8个MOS管构成;A、B端口分别由地址/数据复用线控制逻辑和芯片操作控制逻辑构成。读写操作 读周期时,地址/数据复用线AD0-AD7分时使用,CE#和OE#(这里的#号表示低电平有效,相当于上划线)同时有效为读操作,这时WE#必须维持高电

21、平。写周期时,地址/数据复用线AD0-AD7分时使用,CE#和WE#(这里的#号表示低电平有效,相当于上划线)同时有效为写操作,这时OE#必须维持高电平。仲裁 对两个端口同时进行读操作时不需要仲裁,但是当两个端口同时进行读和写操作或同时进行写操作,则需要进行仲裁。解决的方法有硬件判优、中断方法、令牌传递和软件判优等方法,这里不作详细介绍。4、先进先出存储器FIFO 先进先出存储器(FIFO)的主体是静态存储器,是一种允许以不同速率进行读写操作的存储器,主要用作两种或多种速度不匹配接口电路的中间缓冲。图9.15是美国德州仪器公司生产的SN74ALVC7804/06/14低功耗单向18位的FIFO

22、结构图。其操作在装载时钟LDCK和卸载时钟UNCK控制下同步进行。写入操作在LDCK的作用下同步,读出操作在UNCK的作用下同步。写入时,在LDCK的上升沿,数据写入这种FIFO;读出时,在UNCK的上升沿,数据从这种FIFO读出,OE#为低。FIFO的状态信号有FULL#、EMPTY#、HF和AF/AE,分别表示存储器满、空、半满和几乎满/几乎空。当存储器为满时,FULL#输出低,否则为高;当存储器空时,EMPTY#输出为低,否则为高;当存储器中装满一半时,HF输出为高,否则为低。PEN#为编程允许信号,平时不用,为高电平。加电时,FIFO必须复位,在RESET#为低期间,FIFO复位。四、

23、只读存储器ROM 1、只读存储器的特点 信息需预先写入,使用过程中信息只能读出,不能写入。只读存储器是非易失性的,即断电后信息不会丢失。只读存储器主要用于存放不经常修改的信息或程序。在计算机中常用于存放各种系统软件(如BIOS)和系统配置参数、应用程序和常数、表格等。2、只读存储器的原理和组成 只读存储器存储信息的原理 ROM的存储元件如图9.16所示,它可以看作是一个单向导通的开关电路。当字线选中该单元时,如果开关S是断开的,位线D上将输出信息1;如果S是接通的,则位线D经T1接地,将输出信息0。ROM的组成结构 ROM的组成结构与RAM类似,一般也由地址译码电路、存储矩阵、读出电路及控制电

24、路等部分组成。图9.17是有16个存储单元、字长为1位的ROM结构图。图中采用了复合译码方式,其 图9.16 ROM存储单元行列地址各占2位,行列线的交叉点为选中单元。再根据被选中单元的开关状态,数据线上将读出1或0。图中所示是16个存储单元的1位,8个这样的阵列,才能组成一个168位的ROM存储器。3、掩膜式ROM 掩膜ROM由厂家制成后,用户不能修改,图9.18是一个简单的44位MOS型ROM,采用单向译码结构。若地址为10,则选中2号单元,输出为0101。图中存储内容如表9-4所示。4、可编程只读存储器PROM 可编程只读存储器PROM可根据用户要求写入存储信息,但只能写一次。厂家出厂时

25、,交叉点处均有二极管或三极管,用户可以利用外部地址对存储矩阵的管子进行选择,如一些被烧断,其余保持原状,这样就完成了编程,但一旦写入,则无法更改,所以是一次性写入的ROM。这种片子现在已很少使用,几乎被EPROM或闪烁存储器代替。5、可编程可擦写只读存储器EPROM EPROM基本单元大多采用浮栅MOS管,P沟道浮栅MOS管EPROM的基本单元如图9.19所示。初始时浮栅上没有电荷,管子内没有导电沟道,S(源极)和D(漏极)不导通。写入时,在D和S间加上较高负电压,另外加编程脉冲,D和S之间瞬时产生雪崩击穿,大量电子穿过绝缘层注入到浮动栅,当高电压撤去后,由于浮栅被绝缘层所包围,注入电子在室温

26、、无光照下可以长期保存在浮栅中。于是在D和S之间形成了导电沟道,EPROM单元导通,存储电路输出为“0”。S和D不导通时则输出为“1”。EPROM芯片上方有一个石英玻璃窗口,当用紫外线照射时,就可以使浮栅上的电荷放掉,而恢复初态。一般要照射20-30分钟。EPROM芯片举例 目前使用最多的是Intel公司的EPROM系列,如图9.20所示。从2716到27512,容量从2KB到64KB都有。下面以2764A为例,介绍EPROM的工作方式和性能。2764A是8K8位的芯片,有13根地址线,8根数据线,2根电压输入端Vpp(编程电压)和Vcc,一根芯片允许端CE和一个编程端PGM,其功能框图如图9

27、.21所示。2764A有7种工作方式,如表9-5所示,分别是读方式、输出禁止方式、备用方式、编程方式、校验方式、编程禁止方式和标识符模式。256 32 8 6、电可擦除可编程只读存储器EEPROM EPROM虽可多次编程,但即使内部只有一位数据有错误,都必须重写,而且要用紫外线照射,使用不太方便。近年来出现的电可擦除可编程的只读存储器EEPROM能以字节为单位擦除和改写,给用户带来极大的方便。早期的EEPROM编程时要加21V高电压,很难在线编程和擦除。现在的EEPROM只需外加单一+5V电源,除可独立编程和擦除外,也可以在线编程和擦除。例如:Intel 2815,2K8位 EEPROM,需加

28、编程电压21V;Intel 2864A,8K8位 EEPROM,不用加编程电压 图9.22 2864A引脚图,只加单一+5V,可在线编程和擦除,其引脚如图9.22所示。2864A的工作方式如表9-6所示。表9-6:2864A的工作方式EEPROM的读写操作与SRAM基本相同,只是写入时间较长,写一字节大约要1-5ms。7、新一代可编程只读存储器FLASH(闪烁存储器)闪烁存储器兼有EEPROM的可编程能力和不易失性,并且容量大,速度快。最新的闪烁存储器已达64M位,只需单一+5V供电,便可读写、编程和擦除等操作。目前基本上有三类闪烁存储器。标准并行FLASH:如Intel 公司的A28F 系列

29、;AMD公司的Am 28F 系列;ATMEL公司的AT29C 系列。与非(NAND)FLASH 韩国三星公司的KM29N 系列,采用I/O总线为命令/地址/数据分时复用的方法,所以用于接口的引脚减少。串行FLASH 由于采用串行接口,故接口引脚大大减少,总共只有6条引脚。如美国国家半导体公司的NM29A040/080(4M/8M位)。FLASH与其他类型的存储器比较,有一些特点,参看表9-7和表9-8。图9.23是日立公司生产的标准FLASH 8M位 HN29WT800引脚图和引脚说明。它有2048256个存储节点,每个节点有16个基本单元,总共是2048256 16=8Mb。它有19条地址线

30、,分为11条译码产生2048条行地址;8条译码产生256条列地址,组成2048256 矩阵。它的输入输出线有16条,可以进行8位和16位数据的操作。其它还有一些控制线,这里不再细说。第三节 存储器与CPU的连接一、存储器与CPU连接时要考虑的问题 1、存储器的容量 一个大的存储器系统有几十、几百M字节,一般要根据系统来定。对于嵌入式或用户自己做的应用系统,可根据实际需要来设计存储器的容量。2、存储空间的安排 微机内存包括ROM区和RAM区,它们都由许多芯片组成,所以要安排地址空间,即地址分配;每个存储器芯片还需要片选信号,这些信号如何产生等问题。3、CPU总线的负载能力 通常CPU总线的负载能

31、力是一个TTL器件或20个MOS器件,当总线上接的器件很多,超过允许值时,应该在总线上加接缓冲器或驱动器,以增加CPU的负载能力。4、CPU的时序和存储器速度之间的配合 CPU执行存储器读写指令都有固定的时序,为保证CPU读写存储器的准确性,存储器的速度必须与CPU匹配。5、一个8位微机的存储器子系统 如图9.24所示,有4片2732(4K 8位)EPROM组成的16KB的ROM区,4片6116(2K 8位)SRAM组成的8KB的RAM区。二、存储器中的片选译码 1、地址译码器 74LS138 集成译码器74LS138 集成地址译码器常用74LS138,它的引脚和逻辑电路如图9.25所示。74

32、LS138的功能如表9-9所示。它有三个使能端G1=1、G2A =0 和G2B=0;3个译码输入端C、B、A决定8个输出端的状态。在图9.24中4片2732EPROM和4片6116SRAM,其地址F8000-F8FFFH F9000-F9FFFH FA000-FAFFFH FB000-FBFFFH FC000-FC7FFHFC800-FCFFFHFD000-FD7FFH FD800-FDFFFH范围计算如表9-10所示:EPROM1:F8000-F8FFFH ;4KB EPROM2:F9000-F9FFFH;4KB EPROM3:FA000-FAFFFH;4KB EPROM4:FB000-FB

33、FFFH;4KB SRAM1:FC000-FC7FFH;2KB SRAM2:FC800-FCFFFH;2KB SRAM3:FD000-FD7FFH;2KB SRAM4:FD800-FDFFFH;2KB 采用基本门电路 内存芯片较少的存储器系统可用一些基本逻辑门电路来实现。图9.24的系统,若用基本门电路来做,则EPROM1和EPROM2的片选电路如图9.26或9.27所示。图9.26和图9.27中,当高位地址 A19-A12为11111000,且 IO/M=“L”时,门电路1输出“L”,选中EPROM1;而当 A19-A12为11111001,且IO/M=“L”时,门电路2输出“L”,选中EP

34、ROM2。图9.24的系统若全部用门电路译码,则需要6个这样的门电路组合。IO/M 图9.26中EPROM1的片选信号CE,用非门和或门来实现,逻辑表达式表示如下:CE=A19+A18+A17+A16+A15+A14+A13+A12+IO/M 图9.27中EPROM1的片选信号CE,用非门和与非门来实现,逻辑表达式表示如下:CE=A19 A18 A17 A16 A15 A14 A13 A12 IO/M 同理,可写出图9.28中EPROM2的片选信号CE的逻辑表达式。2、实现片选的三种方法 全译码法 图9.24所示的存储器译码电路中,CPU的全部地址线 A19-A0都参与地址译码,因此对应于存储

35、器芯片中的任意单元都有唯一确定的地址,这种片选方法称为全译码。有些CPU有IO/M线来区分IO读写,还是存储器读写;有的CPU没有IO/M线,但有独立的IO线,如IOR、IOW和存储器读写线MR、MW。部分译码法图9.24所示的存储器译码电路中,若A19不参加译码,即74LS138的G1端接+5V,则A19不论是“0”还是“1”,只要A18-A12满足1111000都能选中EPROM1,则EPROM1的地址范围为78000-78FFFH和F8000-F8FFFH,那么一个存 储单元可以由两个地址码来选中,这种片选方法称为“部 分译码”。由此可见,部分译码法,地址将产生重叠现象。线选法 线选法是

36、只用高位地址总线中的某一条来控制片选。A0-A11 A0-A10 A0-A10 如果一个微机系统存储容量较小,例如只要求4KB的EPROM区和4KB的SRAM区,则可不采用译码器芯片74LS138,而采用图9.28所示的片选电路。该图中,有1片2732EPROM和2片6116SRAM,共8KB的存储器系统。图中A11-A0直接同2732的地址线相连,A10-A0直接同6116的地址线相连。地址线A11用来区分两片6116的地址范围。地址线最高位A19用来划分4KBEPROM区和4KB SRAM区的地址范围。A19=0选中SRAM,A19=1选中EPROM。4KB EPROM区和4KB SRAM

37、区分别对应于512K个地址,这样一个存储单元可以有128个地址来选中,凡是A19、A11-A0这13位地址固定,A18-A12这7位地址为任意值的128种地址码都能选中同一存储单元,这称为“地址重叠”。三、存储器芯片的连接 1、位扩充和字节扩充 存储器芯片可以是1位、4位和8位的结构,而存储器系统都是以字节编址的。一个大的存储器系统是由很多芯片组成的,这些芯片采用位并联来进行位扩充,采用地址串联进行字节扩充。例如:用2564位的芯片构成1KB的存储器,如图9.29所示。因为每块芯片只有4位,所以要进行位扩充,图中采用两块并联方法组成8位(一个字节);每块芯片只有256个存储单元,所以要进行字节

38、扩充,图中采用地址串联方法组成1024个存储单元(1KB)。图中采用部分译码法,只用A8、A9两根地址线译码产生四根片选线。每根 对应的地址范围分别为0-255、256-511、512-767和768-1023(A9以上的地址线固定为0)。例如:用64K1位RAM构成256KB的存储器系统,问:需要多少个RAM芯片?设系统地址线有20位,采用全译码,则需要多少 位地址作为片外地址译码?片内地址多少位?解:需要芯片数=位扩充数字节扩充数,本题中 位扩充数=8/1=8 字节扩充数=256/64=4 所以需要芯片数=8 4=32(片)片内地址16位,片外地址=20-16=4位 2、存储器芯片存取时序

39、及与CPU时序的配合 由于CPU对存储器的读写有固定的时序,因此要保证CPU对存储器的正确存取,存储器的存取时序必须与CPU的时序相匹配。8086的读写周期都是4个时钟周期,如果存储器的速度较慢,在规定的4个时钟周期内不能完成读写操作,则必须在T3周期后插入等待周期Tw,具体插入几个等待周期,要视存储器芯片而定。可以参看书上 P153-P154页的图。第四节 PC微机的存储器一、PC微机存储器的空间分布表9-11:Intel CPU芯片的存储空间CPU芯片地址线(根)寻址空间数据线(根)8086201 MB16802862416MB1680386324GB3280486324GB3280586

40、3664GB64(32)8088/8086只有20根地址线,可寻址1MB空间。表9-12是IBM PC/XT存储器空间分布。地址00000-BFFFFH共768KB RAM存储区,地址C0000H-FFFFFH 共256KB ROM区。80386地址线有32条,可寻址4GB物理地址空间。实际内存容量为4MB或8MB。图9.30是一个80386微机系统4MB 内存分布图,其中低端640KB为基本内存,从 A0000-FFFFFH的384KB是上位内存区。从100000H到3FFFFFH的3MB是扩展内存,扩展内存的第一个64KB称为高端内存区。此外,还有1MB的扩充内存。二、PC微机内存类型及管

41、理 1、系统存储器 系统存储器就是PC/XT所使用的1MB地址空间,由常规内存和上位内存区组成。常规内存:存储器低端640KB,地址为00000-9FFFFH,由DOS统一管理,主要存放BIOS、DOS、常驻内存程序和应用程序等。上位内存区:从A0000H-FFFFFH的384KB是上位内存区,只读ROM、显示适配器。磁盘驱动器缓冲器及其它硬件扩展卡都使用这部分存储器。下面介绍的上位内存块和扩充存储器64KB的存储窗口,均位于上位内存区中。2、扩展存储器 扩展存储器是指80286以上微机系统中1MB以上的内存。扩展存储器使用专门的扩展存储器驱动程序,扩展存储器规范 XMS统一使用扩展存储器的标

42、准,并定义了内存中三个特殊区域:高端内存区、上位内存块、扩展内存块。高端内存区:是扩展内存的第一个64KB空间,80286以上微机可将DOS安装到高端内存区,从而留出更多的常规内存供应用程序使用。上位内存块:是上位内存区中一些未被使用的存储空间,通过专门的硬件或内存管理软件可访问到。在80386中,可以在这部分空间中运行设备驱动程序和内存驻留程序。扩展内存块:是扩展存储器中除高端内存区以外的剩余存储区域。3、扩充存储器 扩充存储器通常安装在专门的扩充内存卡上,由扩充内存管理程序来管理。扩充存储器的技术标准是扩充存储器规范EMS。扩充存储器被划分成若干个16KB的页面,通过访问上位内存区中一个6

43、4KB的存储窗口,可以读写扩充存储器的4个不同的页面。在此80386以上微机系统中,可以将扩展存储器中的一些内存模拟成扩充存储器来使用。由于存储器的集成技术越来越高,现在的微机已经不用扩充存储器。第五节 PC 微机存储器的扩展技术一、高速缓冲存储器(Cache)1、使用Cache的必要性 计算机内存主要是DRAM,价格低、容量大,但存取速度难以提高;而CPU速度提高很快。目前CPU的速度比DRAM要快一个数量级以上,导致两者速度不匹配。慢速存储器限制了高速CPU的性能,限制了计算机性能的进一步发展和提高。半导体存储器中,只有双极型TTL SRAM,存取速度与CPU处于同一量级,但这种RAM价格

44、较贵,功耗很大,集成度低,所以不能将所有DRAM都采用SRAM。折中的 办法是分级处理,在主存和CPU之间加一个容量相对小的双极型SRAM作为高速缓冲存储器Cache。目前Cache的容量大多为256KB、512KB,分为一级Cache、二级Cache等。CPU访问Cache的命中率可达到90%-98%,这样就大大提高了CPU访问数据的速度。2、程序的局部性原理 对大量典型程序的运行情况分析结果表明,在一个较短时间内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。在多数情况下,指令是顺序执行的,因此指令地址的分布就是连续的,再加上循环程序段和子程序段要重复执行多次,因此对这些地址的

45、访问就具有时间上集中分布的倾向。数据这种集中倾向不如指令明显,但对数组的存储和访问,以及工作单元的选择都 可以使存储器地址相对集中。这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问较少的现象,称为程序访问的局部性。Cache的设计利用了程序访问的局部性原理。在主存和CPU之间设置Cache,把正在执行的指令地址附近的一部分指令或数据从主存装入Cache中,供CPU一段时间使用,这是完全可行的。3、Cache的基本工作原理 目前微机中Cache一般装在主板上,在Intel 486 CPU中集成了8KB的数据和指令共用的Cache;在Pentium CPU中集成了8KB的数据Cach

46、e和8KB的指令Cache,与主板上的Cache形成两级Cache结构。CPU首先在第一级Cache中查找数据,若找不到,则在在第二级Cache中查找;若数据不在这两级Cache中,则Cache控制器从主存中获取数据,同时将数据提供给CPU,并修改两级Cache。两级Cache的结合,提高了命中率。命中率是指CPU访问Cache操作的成功概率,可高达98%。图9.31显示了带有Cache存储器的存储系统的结构。中间方框中的Cache控制部件实际上为一块芯片(82385),其工作原理大致如下:由于Cache对CPU是透明的,故CPU每次均假定访问主存,因而CPU送出的地址均是主存地址。该地址保存

47、在Cache控制部件内的主存地址寄存器MA中。Cache容量远小于主存容量,故只有一部分主存内容保存在Cache中的,控制部件应能检索哪一部分内容在Cache中。为此,可以用MA中的地址作为关键字在主存 -Cache地址变换部件(由按内容进行访问的相联存储器CAM构成)中进行检索。如果检索成功,说明要访问的主存的某一部分已经保存在Cache中。此时可根据CAM中的Cache地址转而访问Cache。如果检索不成功,说明要访问的主存的某一部分不在Cache中。此时CPU可直接访问主存,同时依据某种算法将从主存中取得的信息以及该地址附近的内容送入Cache(因为根据某种假设,这块数据很可能还要被访问

48、)。由此可见,cache控制部件主要需要解决三个问题:如何在主存地址与cache地址之间进行转换;在cache不命中时如何替换cache中的内容;如何保持主存与cache的一致性。4、cache地址映象和变换(不要求)在主存的地址和cache地址间建立一种确定的逻辑关系,即根据主存的地址来构成cache的地址。这样的逻辑关系称为地址映象。地址映象关系可用一张表来表示,这张表反映主存单元和cache单元的对应关系。通常用快速存储器来实现。直接映象 一个主存块只能映象到cache中的唯一一个指定块的地址映象方式称为直接映象。地址映象方法一般是将主存块地址对cache的块数取模得到cache中的块地

49、址,这相当于将主存的空间按cache的尺寸分区,每区内相同的块号映象到cache中相同的位置。如图9.37所示。实现地址转换的过程如图9.38所示。其中地址映象用 主存分为M个区,每个区有N个块,总共有MN块,编号从0到MN-1。Cache有N个块。的块表中包含cache存储器各块的区号。主存地址分成三段:区号、块号和块内地址。区号作为标志存放在地址映象表中,用于判断命中与否。主存的块号直接用于查地址映象表,块内地址用于块内寻址。在访存操作时,根据主存地址中的块号读出块表中的区号,并与当前地址的区号进行比较,结果相同表示cache命中,访问可对cache 进行;不相同则表示不命中,访问需对主存

50、进行。例1:设一个cache的容量为2KB,每个块为16B,求:该cache可容纳多少个块?如果主存容量是256KB,则主存有多少个块?主存的地址有多少位?Cache地址有多少位?在直接映象方式下,主存中的第i块映象到Cache中哪 一个块中?进行地址映象时,存储器地址分成哪几段?各段有几位?解:cache中有2048/16=128个块 主存有256K/16=16384个块 主存容量为256KB=218字节,所以主存字节地址有18位。Cache容量为2KB=211字节,所以cache的字节地址为11位。在直接映象方式下,主存中的第i块映象cache中第i MOD 128 块中。存储器的字节地址

51、分成三段:区号、块号和块内地址,分别为7位、7位和4位。全相联映象 每个主存块都可以映象到任何cache块的地址映象方式称为全相联映象。如图9.39所示。采用全相联映象后,地址变换方式如图9.40所示。Cache地址中,块内地址即主存的块内地址,cache块号则根据主存从块表中查到。块表中包含cache存储器各块的主存块号以及对应的cache块号。在访存操作时,根据主存地址中块号,在块表中查找是否有相同的主存块号。如果有相同的,则表示cache命中,将对应的cache块号取出以对cache进行访问。没有相同的,则表示cache不命中,在对主存进行访问并将主存中的块调入cache时,将主存块号和

52、cache块号写入块表中,以改变映象关系。查找地址映象表时需要查找表中的每一项,全部查完才能确定cache不命中。全相联映象简单,只需用查到的cache块号替换主存块号即可形成cache地址。缺点是每次要在很短时间内进行块表查找,实现起来结构复杂,操作时间长,硬件昂贵。所以全相联的cache一般用于容量较小的cache中。组相联映象 组相联映象指的是将存储空间分成若干组,各组之间是直接映象,而组内各块之间则是全相联映象。如图9.41所示。这时主存也按cache的容量分区,每个分区又分成若干个组,每个组包含若干个块,cache也进行同样的分组。主存中的数据块可调入cache中一个指定组内的任意块

53、中,但主存中一个组的地址空间只能映象到相同的组中,即组内是全相联映象,组间是直接映象。组相联映象中,组的个数和组内的块数一般是2的幂次。主存地址分成四段:区号、组号、主存组内块号和块内地址。cache地址分为三段:组号、组内块号和块内地址。组相联映象的地址变换如图9.42所示。Cache的块内地址和组号直接取自主存地址(因为组间是直接映象),组内的块号则是查找块表的结果。块表中包含cache存储器各块的主存区号、组内块号以及对应的cache组内块号。在访存操作时,根据主存地址中的区号和块号在块表中对应的若干项中查找是否有相同的主存区号和组内块号,如果有,则表示命中,将对应的cache组内块号取

54、出以对cache进行访问;没有相同的,则表示不命中。则将主存中的块调入cache中的同时将主存区号、组内块号和cache的组内块号写入块表中,以改变地址映象关系。5、替换算法 cache的容量远小于主存,因而cache的命中率不可能等于1。因此,当CPU访问的数据不在cache内(即不命中)时,应访问主存,并把数据所在的块调入cache,以替换cache中的块。究竟cache中的哪一块应被替换呢?这就是替换算法问题,替换的原则是保证替换以后的命中率尽可能高。随机替换法(RAND)这种方法是在cache中任意选一块替换。该方法没有考虑程序运行的历史记录,因此效果不太好。先进先出(FIFO)算法

55、它把最先调入的块作为被替换对象,故每页均保存一个装入 顺序数。优点是实现简单,但命中率不高。最近最少使用法(LRU)算法 此法基于这样一种假设,即最近最少使用的块将来被使用的概率也很小,故在替换时总是选择在cache中最近很少使用的块。这种算法考虑了程序的运行特性,但这种算法要求提供每一块的使用频度,并且替换时要做大量比较,以找出最少使用的块,因而实现复杂,速度较慢。最久没有使用(LFU)算法 这是LRU算法的一个变种,它和LRU算法基本一样,但选择已经有最长时间不使用的块进行替换。因此,它把比较数值的大小变为有和无的判断,因此运算速度快,是目前常用的算法。6、cache的一致性问题 cach

56、e中保存的信息实际上是主存的一小部分的副本。由于cache的命中率很高,所以CPU大部分时间实际上直接访问cache而不是访问主存。这就有一个主存和cache的内容一致性的问题。主要有两个原因会导致主存和cache内容的不一致:一是改变了cache的内容,而主存没有改变;二是输入输出设备或其他主控部件改变了主存内容,而cache的内容没有随之改变。对于前一个原因,常用的解决方法是写直达法和写回法两种。写直达(Write Through)法:这种方法是在写入cache的同时也写入主存。它的优点是可以始终保证CPU操作时主存和cache内容的一致性。但缺点是这势必会造成CPU访存速度的降低。写回(

57、Write Back)法:在CPU写入cache时,主存并不更新,而是在cache中加以标记。当该页被从cache中淘汰时,再把该页全部写回主存。而只读或没有被更改过的cache页面则无需写回操作。至于第二个原因造成的cache和主存不一致,有“共享数据不放入cache”、“共享cache”、“播写法”等多种解决办法,这里就不再介绍了。二、虚拟存储器 1、虚拟存储器的基本概念 主存-辅存层次 主存一般由半导体器件构成,辅存一般为磁存储器和光存储器。主存的速度远高于辅存,但辅存成本低,容量大,而且断电后信息不会丢失。CPU不能直接访问辅存,辅存主要用于存放大量程序、数据文件。当CPU执行某程序时

58、,在存储管理软件和有关硬件的支持下,把有关程序从辅存调入主存,再由CPU执行,这样便形成了主-辅存的存储层次。虚拟存储器的概念 一台计算机主存容量有限,而辅存容量很大,如果一个程序及数据要比主存容量大,就无法运行。为解决这类问题,采用了硬件和软件的综合技术 虚拟存储器。虚拟存储器是将主存和辅存的地址空间统一编址,形成一个庞大的存储空间,如图9.33所示。程序运行时,允许存放在虚拟存储器中的数据或程序只有一部分调入主存,CPU以虚拟地址访问主存,由硬件和软件找出虚地址和物理地址的对应关系,判断这个虚地址指示的单元内容是否已装入主存。如果在主存,CPU直接执行已在主存的程序;如果不在主存,便由 存

59、储管理软件和相应的硬件把要访问的程序块从辅存调入主存,并把程序虚地址变为实地址后运行。这种调度是以程序块为单位进行的。实地址和虚地址 用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。为了地址映象方便,实地址和虚地址通常是分页或分段的:实地址有实页号p和主存页内地址d组成;而虚地址则由用户号U、虚页号P和虚存页内地址D构成(通常D=d),如图9.34所示。2、虚拟存储器的工作原理 虚存空间的用户程序按照虚地址编程

60、并存放在辅存中。程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。每次访问时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址变换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进主存,再按同样的方法访问主存。对应用程序而言,如果主存的命中率很高,虚存的访问时间就接近于主存访问时间。虚拟存储系统的工作过程如下:每个程序运行时只把用户当前使用的若干页调入内存,并建立页表;调入后的再定位过程中,在页表中建立用户虚页和实页之间的对应关系;程序运行时,根据用户虚页号查页表,若命中则由查到的实页号和页内地址得到物理地址并访问主存;若查不到相应的实页

61、(不命中),则应从外存调页:若内存有空页,则直接调入;若没有空页,则用某种算法 替换原有的页;访问外存,应把虚地址变换为辅存地址,也就是将虚页号变为外存所对应的磁道号和扇区号。虚拟存储器要解决的关键问题是:调度问题:决定哪些程序和数据应被调入主存。地址映象问题:在访问主存时把虚地址变为主存物理地址,在访问辅存时把虚地址变成辅存的物理地址。前者称为内地址变换,后者称为外地址变换。替换问题:决定哪些程序和数据应被调出主存。3、虚拟存储器的地址变换 目前应用的地址变换方式有页式、段式和段页式虚存地址变换三种。页式虚拟存储器 把主存和辅存都划分成等长的页,页的大小一般是固定 的。CPU访问主存时送出的

62、是虚地址,判断该地址的内容是否在主存,若不在,则将所在页的内容从辅存调入主存后才执行;若在主存中,则找出该存储内容在主存中哪一页,即对应的实页号。程序中的逻辑地址由基号、虚页号和页内地址三部分组成,实际地址分为页号和页内地址两部分,地址映象机构将虚页号转换成实页号。基号是操作系统给每个程序产生的附加地址字段,以便于区分不同程序的地址空间。在任一时刻,每个虚地址都对应一个实地址,这个实地址可能在内存中,也可能在外存中。为此要建立一张虚地址页 号与实地址页号的对照表,称为页表。页表记录虚页调 入主存时安排在主存中的位置,是由存储 管理软件自动建立的。页表是虚拟页号(或称为逻辑页号)与物理页号的映象

63、表。在地址映象时,首先根据基号找到页基址表,该表中每一行代表一个运行程序的页表信息,包括页表起始地址和页表长度。如图9.35所示,根据页基址表找到页表的起始地址;然后用虚页号从页表中查找实页号,同时判断该页是否装入内存。如果该页已装入内存,则从页表中取出实页号,与页内地址一起构成物理地址。例1:如图9.36所示,程序有4个页面组成,第0页映象到内存第2页,第1页映象到内存第6页,第2页映象到内存的度7页,第3页映象到外存。试画出地址映象方式图。解:页地址映象机构包括一个页基址表和页表。如图9.35所示,根据基号找到页基址表,从中找到页表的起始地址,页表中4项分别对应程序地址空间的4页。装入位为

64、1表示该页已装入。页表最后一行的装入位为0表示该页未装入主存,该页的主存页字段无效。如果装入位为0表示该页未装入主存,就从外存中调页。一般先通过查外页表,将虚拟地址变换为外存中的实际地址,然后通过输入输出接口调入内存。页式管理在存储空间很大时,由于页表过大,工作效率将降低。当页面数量很多时,页表本身占用的存储空间将很大,此时对页表可能又要分页管理了。为此人们提出了段式虚拟存储器的概念。段式虚拟存储器 这种存储器把主存和虚存分成长度可变的段,一般按程序的逻辑结构分段。段作为独立的逻辑单位可以被其他程序段调用。每个程序均通过段表完成虚地址和实地址之间的变换。在段式虚拟存储器中,程序中的逻辑地址有基

65、号、段号和段内地址三部分组成。如图9.37所示,首先由基号找到相应的段基址表,从中得到段表的起始地址,然后用段号查找该段在内存中的起始地址,同时判断该段是否在内存。如果该段已装入内存,则从段表中取出段起始地址,与段内地址相加构成被访问的物理地址。否则,由操作系统控制,首先在外存中找到这个段,然后决定将这个段装入到什麽地方。段表中内容包括段起点、装入位和段长等。段起点是指该段在主存中的起始位置;装入位是表示该段是否已装入主存;段长是该段的长度;段表中还可包括访问方式字段,如只读、可写和只能执行等。段式管理的优点是管理简单、段表占用存储器空间较 少。缺点是整个段必须一起调入或调出,这使得段长不能大

66、于内存容量。段页式虚拟存储器 段页式虚拟存储器是段式和页式的组合。它将存储空间按逻辑模块分成段,每段又分成若干页,页的大小一般也是固定的。这种访问是通过一个段表和若干个页表进行。段的长度必须是页的整数倍,段的起点必须是某一页的起点。在段页式虚拟存储器中,虚拟地址分为基号、段号、页号和页内地址四个字段,如图9.38所示。进行地址映象时,首先根据基号查找段基址表,从表中查出段表的起始地址,然后用段号从段表中查找该段的页表起始地址,然后再根据段内页号在页表中查找该页在内存中的起始地址,即实页号,同时判断该页是否已装入,如果该页已装入,则从页表中取出实页号,与页内地址一起拼接成要访问的物理地址。段页管理需要两次查表,即段表和页表。每个运行程序通过一个段表和相应的一组页表来建立虚拟地址和物理地址的映象关系。段表中的每一项对应一个段,其中的装入位表示该段的页表是否已装入主存。若已装入主存,则地址项指出该段的页表在主存中的起始地址,段长项指示该段页表的行数。页表中包括的装入位指示该页是否已装入主存,还有访问方式等。4、80X86微机系统中的虚拟存储技术 80X86微机有三种工作方式:实地址方式、虚地

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!