深入了解內(nèi)存(SRAM、DRAM、SDRAM)_第1頁
深入了解內(nèi)存(SRAM、DRAM、SDRAM)_第2頁
深入了解內(nèi)存(SRAM、DRAM、SDRAM)_第3頁
深入了解內(nèi)存(SRAM、DRAM、SDRAM)_第4頁
深入了解內(nèi)存(SRAM、DRAM、SDRAM)_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、深入了解內(nèi)存SRAM 、DRAM 、SDRAM )目錄第一章 RAM 的基本原理1.1 尋址原理概述1.2 從“線”到“矩陣”1.3 DRAM 基本存儲單元結(jié)構(gòu) 第二章 SRAM 的基本原理2.1 SRAM 芯片的引腳定義2.2 SRAM 芯片的讀寫操作概述 第三章 DRAM 的基本原理3.1 多路尋址技術(shù)3.2 DRAM 的讀取過程和各種延時(shí)3.3 DRAM 的刷新3.4 快頁模式 DRAM3.5 擴(kuò)展數(shù)據(jù)輸出 DRAM第四章 SDRAM 的基本原理4.1 SDRAM 芯片的引腳定義4.2 SDRAM 芯片的初始化和模式寄存器的設(shè)置4.3 SDRAM 的指令例表4.4 SDRAM 的讀取過程

2、分析4.5 SDRAM 的 CAS延遲4.6 SDRAM 的寫入過程分析第一章RAM的基本原理 1.1 尋址原理概述RAM主要的作用就是存儲代碼和數(shù)據(jù)供 CPU在需要的時(shí)候調(diào)用。但是這些數(shù)據(jù)并不是像用 袋子盛米那么簡單,更像是圖書館中用有格子的書架存放書籍一樣,不但要放進(jìn)去還要能夠在 需要的時(shí)候準(zhǔn)確的調(diào)用出來,雖然都是書但是每本書是不同的。對于RAM等存儲器來說也是一樣的,雖然存儲的都是代表0和1的代碼,但是不同的組合就是不同的數(shù)據(jù)。讓我們重新回到書和書架上來,如果有一個(gè)書架上有10行和10列格子(每行和每列都有0-9的編號),有100本書要存放在里面,那么我們使用一個(gè)行的編號加一個(gè)列的編號就

3、能 確定某一本書的位置。如果已知這本書的編號87,那么我們首先鎖定第8行,然后找到第7列 就能準(zhǔn)確的找到這本書了。在 RAM存儲器中也是利用了相似的原理?,F(xiàn)在讓我們回到RAM存儲器上,對于RAM存儲器而言數(shù)據(jù)總線是用來傳入數(shù)據(jù)或者傳出 數(shù)據(jù)的。因?yàn)榇鎯ζ髦械拇鎯臻g是如果前面提到的存放圖書的書架一樣通過一定的規(guī)則定義 的,所以我們可以通過這個(gè)規(guī)則來把數(shù)據(jù)存放到存儲器上相應(yīng)的位置,而進(jìn)行這種定位的工作 就要依靠地址總線來實(shí)現(xiàn)了。對于CPU來說,RAM就象是一條長長的有很多空格的細(xì)線, 每個(gè)空格都有一個(gè)唯一的地址 與之相對應(yīng)。如果CPU想要從RAM中調(diào)用數(shù)據(jù),它首先需要給地址總線發(fā)送地址數(shù)據(jù)定位要

4、存 取的數(shù)據(jù),然后等待若干個(gè)時(shí)鐘周期之后, 數(shù)據(jù)總線就會把數(shù)據(jù)傳輸給 CPU下面的示意圖可以 幫助你很好的理解這個(gè)過程。AddressDataData Interface上圖中的小圓點(diǎn)代表RAM中的存儲空間,每一個(gè)都有一個(gè)唯一的地址線同它相連。 當(dāng)?shù)刂?解碼器接收到地址總線送來的地址數(shù)據(jù)之后,它會根據(jù)這個(gè)數(shù)據(jù)定位CPU想要調(diào)用的數(shù)據(jù)所在的位置,然后數(shù)據(jù)總線就會把其中的數(shù)據(jù)傳送到 CPU上面所列舉的例子中CPU在一行數(shù)據(jù)中每次只是存取一個(gè)字節(jié)的數(shù)據(jù),但是在現(xiàn)實(shí)世界中是不同的,通常CPU每次需要調(diào)用32bit或者是64bit的數(shù)據(jù)(這是根據(jù)不同計(jì)算機(jī)系統(tǒng)的數(shù) 據(jù)總線的位寬所決定的)。如果數(shù)據(jù)總線是

5、64bit的話,CPU就會在一個(gè)時(shí)間中存取8個(gè)字節(jié)的 數(shù)據(jù),因?yàn)槊看芜€是存取1個(gè)字節(jié)的數(shù)據(jù),64bit總線將不會顯示出來任何的優(yōu)勢,工作的效 率將會降低很多。 1.2從“線”到“矩陣”如果RAM對于CPU來說僅僅是一條“線”的話,還不能體現(xiàn)實(shí)際的運(yùn)行情況。因?yàn)槿绻?實(shí)際情況真的是這樣的話,在實(shí)際制造芯片的時(shí)候,會有很多實(shí)際的困難,特別是在需要設(shè)計(jì) 大容量的RAM的時(shí)候。所以,一種更好的能夠降低成本的方法是讓存儲信息的“空格”排列為很多行-每個(gè)“空格”對應(yīng)一個(gè)bit存儲的位置。這樣,如果要存儲1024bits的數(shù)據(jù),那么你只要使用32x32的 矩陣就能夠達(dá)到這個(gè)目的了。很明顯,一個(gè)32x32的矩

6、陣比一個(gè)1024bit的行設(shè)備更緊湊,實(shí)現(xiàn)起來也更加容易。請看下圖1:Address BusData BusDab Inkrh 啊Addrs Bus Data Bus知道了 RAM的基本結(jié)構(gòu)是什么樣子的,下面我們就談?wù)凴AM存儲字節(jié)的過程是怎樣的:上 面的示意圖1顯示的也僅僅是最簡單狀態(tài)下的情況,也就是當(dāng)內(nèi)存條上僅僅只有一個(gè) RAM芯片 的情況。對于 X86 處理器,它通過地址總線發(fā)出一個(gè)具有 22 位二進(jìn)制數(shù)字的地址編碼其中 11 位是行地址,另外11位是列地址,這是通過 RAM地址接口進(jìn)行分離的。行地址解碼器(row decoder)將會首先確定行地址,然后列地址解碼器(column de

7、coder) 將會確定列地址,這樣就能確定唯一的存儲數(shù)據(jù)的位置,然后該數(shù)據(jù)就會通過RAM數(shù)據(jù)接口將數(shù)據(jù)傳到數(shù)據(jù)總線。另外,需要注意的是,RAM內(nèi)部存儲信息的矩陣并不是一個(gè)正方形的,也就是行和列的數(shù) 目不是相同的一一行的數(shù)目比列的數(shù)目少。(后面我們在討論 DRAM的過程中會講到為什么會這 樣)上面的示意圖2粗略的概括了一個(gè)基本的 SRAM芯片是如何工作的。SRAM是“staticRAM (靜態(tài)隨機(jī)存儲器)”的簡稱,之所以這樣命名是因?yàn)楫?dāng)數(shù)據(jù)被存入其中后不會消失(同DRAM動態(tài)隨機(jī)存儲器是不同,DRAM必須在一定的時(shí)間內(nèi)不停的刷新才能保持其中存儲的數(shù)據(jù))。一個(gè)SRAM單元通常由4-6只晶體管組成,

8、當(dāng)這個(gè)SRAM單元被賦予0或者1的狀態(tài)之后, 它會保持這個(gè)狀態(tài)直到下次被賦予新的狀態(tài)或者斷電之后才會更改或者消失。SRAM的速度相對比較快,而且比較省電,但是存儲1bit的信息需要4-6只晶體管制造成本太高了( DRAMH要1只晶體管就可以實(shí)現(xiàn))。 1.3 DRAM 基本存儲單元結(jié)構(gòu)不管你相信不相信,目前主流內(nèi)存中的 RDRAM(Rambi、DDRSDRAMSDRAMi至是EDORAM 的基本結(jié)構(gòu)都是相同的,它們都是屬于DRAMDynamic RAM動態(tài)隨機(jī)訪問存儲器)。所有的DRAM 基本存儲單元都是由一個(gè)晶體管和一個(gè)電容組成。DRAM C'ellROW LineTmnsistorC

9、apacitorcocmn LW這樣的基本存儲單元的架構(gòu)是目前最經(jīng)濟(jì)的方式,電容的狀態(tài)決定著內(nèi)存基本存儲單元的邏輯狀態(tài)是“ 0”還是“ 1”充滿電荷的電容器代表邏輯“ 1”,“空”的電容器代表邏輯“ 0”, 不過正是因?yàn)槭褂昧穗娙萜魉援a(chǎn)生了一些局限性。電容存儲的電荷一般是會慢慢泄漏的,這也就是為什么內(nèi)存需要不時(shí)的刷新的緣故。電容 需要電流進(jìn)行充電,而電流充電的過程也是需要一定時(shí)間的,一般是0.2-0.18微秒(由于內(nèi)存工作環(huán)境所限制,不可能無限制的提高電流的強(qiáng)度),在這個(gè)充電的過程中內(nèi)存是不能被訪問的。從技術(shù)上講,實(shí)現(xiàn)內(nèi)存的定時(shí)刷新并不是什么難事,DRAM廠商指出這種刷新操作必須每64ms進(jìn)

10、行一次,這也就意味著 DRAM基本存儲單元大約有1%的時(shí)間用在了刷新上。對于DRAM來說最大的問題是,讀取內(nèi)存會造成內(nèi)存基本存儲單元中的電荷丟失,所以每當(dāng) DRAM被訪問之后都要進(jìn)行刷新,以維持訪問之前的狀態(tài),否則就會造成數(shù)據(jù)丟失。當(dāng)然拿出專 門的時(shí)間進(jìn)行刷新,也就增加了訪問時(shí)間,提高了延遲。SRAM Static RAM )則不存在刷新的問題。一個(gè) SRAM基本存儲單元由4個(gè)晶體管和兩個(gè) 電阻器構(gòu)成,它并不利用電容器來存儲數(shù)據(jù), 而是通過切換晶體管的狀態(tài)來實(shí)現(xiàn)的, 如同CPU中 的晶體管通過切換不同的狀態(tài)也能夠分別代表 0和1這兩個(gè)狀態(tài)。正是因?yàn)檫@種結(jié)構(gòu),所以SRAM 的讀取過程并不會造成S

11、RAM內(nèi)存儲的的信息的丟失,當(dāng)然也就不存在什么刷新的問題了。SRAM可以比DRAM高的頻率來運(yùn)行,主要是因?yàn)楂@取前 8個(gè)字節(jié)的時(shí)間延遲大大縮短了。 SRAM需要2 3個(gè)時(shí)鐘周期來得到想要的數(shù)據(jù) (這里我們暫時(shí)忽略CPU芯片組和內(nèi)存DIMM控 制電路之間的延遲),不過同樣的過程 DRAM需要大約3 9個(gè)時(shí)鐘周期。當(dāng)然因?yàn)闃?gòu)造不同, SRAM和DRAM存儲1bit數(shù)據(jù)的成本是不同的,前者大約是后者的 4倍因?yàn)樗乃枰?晶體管數(shù)目是后者的4倍以上。SRAM因?yàn)榇嫒⊙舆t時(shí)間非常的短,所以它的工作頻率能夠達(dá)到 彳艮高,因此可以帶來更高的帶寬。第二章 SRAM的基本原理 2.1 SRAM芯片的引腳定義

12、早期的SRAM芯片采用了 20線雙列直插(DIP: Dual Inline Package )封裝技術(shù),它們之所以具有這么多的針腳,是因?yàn)樗鼈儽仨殻?每個(gè)地址信號都需要一根信號線? 一根數(shù)據(jù)輸入線和一根數(shù)據(jù)輸出線?部分控制線(Write Enable, Chip Select)?地線和電源線下面的是一個(gè)16K x 1-bit SRAM 芯片的針腳功能示意圖:IDT61B7SWLACMOS Static RAM 16K (16K m 1>BitPin Configurations2QVcu19|Al3iaAl 217Au16Ai J1514all133a712n JlU11U5型 1P2Q

13、-1D20-110678匚匚匚匚匚匚匚匚匚匚 AUAIgMA-lfe蘇XITWENDGDIPTop ViewNamfi門 HwnptinnAd Aidless IrpUtsCSOiip S&lectW血 EnalikVxPowerDimDAtAwDoliiDATAtiUfGNDGround? A0-A13 是地址輸入信號引腳? /CS是芯片選擇引腳,在一個(gè)實(shí)際的系統(tǒng)中,一定具有很多片SRAM芯片,所以需要選擇究竟從那一片SRAM芯片中寫入或者讀取數(shù)據(jù)? /WE是寫入啟用引腳,當(dāng)SRAM得到一個(gè)地址之后,它需要知道進(jìn)行什么操作,究竟是寫入還是讀取,/WE就是告訴SRAM要寫入數(shù)據(jù)? Vc

14、c 是供電引腳? Din 是數(shù)據(jù)輸入引腳? Dout 是數(shù)據(jù)輸出引腳? GND 是接地引腳? Output Enable (/0E):有的SRAM芯片中也有這個(gè)引腳,但是上面的圖中并沒有。這個(gè)引腳同/WE引腳的功能是相對的,它是讓 SRAM知道要進(jìn)行讀取操作而不是寫入操作。 2.2 SRAM 芯片的讀寫操作概述從 Dout 引腳讀取 1bit 數(shù)據(jù)需要以下的步驟: SRAM讀取操作1)通過地址總線把要讀取的 bit的地址傳送到相應(yīng)的讀取地址引腳(這個(gè)時(shí)候/WE引腳應(yīng) 該沒有激活,所以SRAM知道它不應(yīng)該執(zhí)行寫入操作)2)激活/CS選擇該SRAM芯片3)激活/0E弓I腳讓SRAM知道是讀取操作

15、第三步之后,要讀取的數(shù)據(jù)就會從 DOut 引腳傳輸?shù)綌?shù)據(jù)總線。怎么過程非常的簡單吧?同樣,寫入 1bit 數(shù)據(jù)的過程也是非常的簡單的。 SRAM寫入操作1)通過地址總線確定要寫入信息的位置(確定/0E引腳沒有被激活)2)通過數(shù)據(jù)總線將要寫入的數(shù)據(jù)傳輸?shù)?Dout 引腳3)激活/CS引腳選擇SRAM芯片4)激活/WE引腳通知SRAM知道要盡心寫入操作經(jīng)過上面的四個(gè)步驟之后,需要寫入的數(shù)據(jù)就已經(jīng)放在了需要寫入的地方。第三章DRAM的基本原理前面我們知道了在一個(gè)簡單的 SRAM芯片中進(jìn)行讀寫操作的步驟了,然后我們來了解一下 普通的DRAM芯片的工作情況。DRAM相對于SRAM來說更加復(fù)雜,因?yàn)樵贒R

16、AM存儲數(shù)據(jù)的過程 中需要對于存儲的信息不停的刷新,這也是它們之間最大的不同。 3.1多路尋址技術(shù)最早、最簡單也是最重要的一款 DRAM芯片是Intel在1979年發(fā)布的2188,這款芯片是16Kx1 DRAM8線DIP封裝?!?16Kx 1”的部分意思告訴我們這款芯片可以存儲16384個(gè)bit數(shù)據(jù),在同一個(gè)時(shí)期可以同時(shí)進(jìn)行1bit的讀取或者寫入操作。Pin Configurations匚Din匚WE匚n vcu口 Doul123161514RA5匚4211813Au匚t2ZJ AdAi匚611口 As*2匚710口 A;Vdd L89DIPTop View上面的示意圖可以看出,DRAM和SR

17、AM之間有著明顯的不同。首先你會看到地址引腳從 14 根變?yōu)?根,那么這顆16K DRAM是如何完成同16K SRAM一樣的工作的呢?答案很簡單,DRAM 通過DRAM接口把地址一分為二,然后利用兩個(gè)連續(xù)的時(shí)鐘周期傳輸?shù)刂窋?shù)據(jù)。這樣就達(dá)到了使用一半的針腳實(shí)現(xiàn)同SRAM同樣的功能的目的,這種技術(shù)被稱為多路技術(shù)( multiplexing )。1bit 的那么為什么要減少地址引腳呢?這樣做有什么好處呢?前面我們曾經(jīng)介紹過,存儲 數(shù)據(jù)SRAM需要4-6個(gè)晶體管但是DRAM僅僅需要1個(gè)晶體管,那么這樣同樣容量的SRAM的體 積比DRAM大至少4倍。這樣就意味著你沒有足夠空間安放同樣數(shù)量的引腳(因?yàn)獒樐_

18、并沒有 因此減少4倍)。當(dāng)然為了安裝同樣數(shù)量的針腳,也可以把芯片的體積加大,但是這樣就提高芯 片的生產(chǎn)成本和功耗,所以減少針腳數(shù)目也是必要的, 對于現(xiàn)在的大容量DRAM芯片,多路尋址 技術(shù)已經(jīng)是必不可少的了。當(dāng)然多路尋址技術(shù)也使得讀寫的過程更加復(fù)雜了, 這樣在設(shè)計(jì)的時(shí)候不僅僅 DRAM芯片更加 復(fù)雜了,DRAM接 口也要更加復(fù)雜,在我們介紹 DRAM讀寫過程之前,請大家看一張 DRAM芯片 內(nèi)部結(jié)構(gòu)示意圖:AddressDataBusBus在上面的示意圖中,你可以看到在DRAM結(jié)構(gòu)中相對于 SRAM多了兩個(gè)部分:由/RAS(RowAddress Strobe :行地址脈沖選通器)引腳控制的行地

19、址門閂線路(Row Address Latch )和由 /CAS(ColumnAddress Strobe :列地址脈沖選通器)引腳控制的列地址門閂線路(ColumnAddress Latch)。 3.2 DRAM 的讀取過程和各種延時(shí)1) 通過地址總線將行地址傳輸?shù)降刂芬_2) /RAS引腳被激活,這樣行地址被放入到行地址選通電路中3) 行地址解碼器(Row Address Decoder)選擇正確的行然后送到傳感放大器 (sense amp94) /WE引腳被確定不被激活,所以 DRAM知道它不會進(jìn)行寫入操作5) 列地址通過地址總線傳輸?shù)降刂芬_6) /CAS引腳被激活,這樣列地址被放入到

20、列地址選通電路中7) /CAS引腳同樣還具有/OE引腳的功能,所以這個(gè)時(shí)候Dout引腳知道需要向外輸出數(shù)據(jù)。8) /RAS和/CAS都不被激活,這樣就可以進(jìn)行下一個(gè)周期的數(shù)據(jù)操作了。其實(shí)DRAM的寫入的過程和讀取過程是基本一樣的,所以如果你真的理解了上面的過程就 能知道寫入過程了,所以這里就不贅述了。(只要把第4步改為/WE引腳被激活就可以了)。在內(nèi)存的讀取過程中,需要我們考慮的有兩個(gè)主要類型的延遲。 第一類的是連續(xù)的DRAM讀 操作之間的延遲。內(nèi)存不可能在進(jìn)行完一個(gè)讀取操作之后就立刻進(jìn)行第兩個(gè)讀取操作,因?yàn)镈RAM的讀取操作包括電容器的充電和放電另外還包括把信號傳送出去的時(shí)間,所以在兩個(gè)讀取

21、操作 中間至少留出足夠的時(shí)間讓內(nèi)存進(jìn)行這些方面的操作。在連續(xù)的兩次讀取操作之間,第一種類型的延遲包括/RAS和/CAS預(yù)充電延遲時(shí)間。在/RAS被激活并且失活之后,你必須給它足夠的時(shí)間為下次激活做好準(zhǔn)備。下圖可以幫助你更好 了解這個(gè)過程。RAS -AI LuPrechsrqePrechargeTimeCAS預(yù)充電的過程是一樣的,你只要把上圖的“ RAS換成“ CAS就可以了。從前面我們介紹的DRAM賣取過程的8個(gè)步驟中,我們可以了解到/RAS和/CAS預(yù)充電 過程是依次進(jìn)行的,所以我們在一定的時(shí)間里只能進(jìn)行有限次數(shù)的讀取操作。特別是在第8個(gè)步驟中,當(dāng)一次讀取操作周期結(jié)束之后,我們必須讓/RAS

22、和/CAS引腳都失活。實(shí)際上,在你讓它們失活之后,必須等待預(yù)充電過程結(jié)束之后才能開始下一個(gè)操作(或者還是讀取操作、或 者是寫入操作、或者是刷新操作)。當(dāng)然在兩次讀取操作之間的預(yù)充電時(shí)間不是限制DRAM速度的唯一因素。第二種延遲類型PrechargePrecharge是叫做內(nèi)部讀取延遲(inside-the-read )。這種延遲同兩次讀取操作之間的延遲非常的相似, 但不是由停止/RAS和/CAS激活而產(chǎn)生的,而是由于要激活/RAS和/CAS而產(chǎn)生的。比如, 行存取時(shí)間(tRAC)-它就是在你激活/RAS和數(shù)據(jù)最終出現(xiàn)在數(shù)據(jù)總線之間的時(shí)間。同樣的列 存取時(shí)間(tCAC)就是激活/CAS引腳和數(shù)據(jù)

23、最終出現(xiàn)在數(shù)據(jù)總線上之間的時(shí)間。下面的示意圖 可以幫助你更好的理解這兩種類型的延遲:RASData Bus上面的圖僅僅是一個(gè)示意圖,下面的時(shí)序圖可以幫助你了解不同的延遲時(shí)間發(fā)生的順序:RAM Readli曲現(xiàn)在讓我們花一點(diǎn)時(shí)間結(jié)合前面介紹的讀取過程來研究一下上面的這張示意圖:1)首先看上圖第一行,在預(yù)充電期間行地址通過地址總線傳輸?shù)降刂芬_,這個(gè)期間 /RAS 未被激活,在第三行Address BUS中我們看到數(shù)據(jù)在這個(gè)期間正在行地址總線上, 這個(gè)期間/CAS 也處于預(yù)充電狀態(tài);2)依然看上圖第一行,/RAS引腳被激活(RAS Active,灰色的部分),行地址就會被放入 行地址選通電路(第三

24、行Address Bus中所示),這個(gè)期間/CAS依然處于預(yù)充電狀態(tài);在/RAS被 激活的同時(shí),tRAC(行存取時(shí)間)開始 如上圖最后一行 Data Bus所示。3)在/RAS被激活以后,行地址解碼器(Row Address Decoder )選擇正確的行然后送到 傳感放大器(sense amps)4)在這個(gè)期間/WE引腳一直處于不激活的狀態(tài),所以 DRAM知道它們不是進(jìn)行寫操作- 這個(gè)狀態(tài)將一直持續(xù)到開始執(zhí)行寫操作才結(jié)束5)列地址通過地址總線傳輸?shù)降刂芬_6)/CAS引腳被激活(如上圖第三行),列地址就可以被送到列地址選通器(Column Address Latch ),這個(gè)時(shí)候tCAC(列

25、地址訪問時(shí)間)開始計(jì)時(shí)7)在/CAS處于激活狀態(tài)期間的末尾,/RAS停止激活-也就大約在這個(gè)時(shí)間附近找到的數(shù)據(jù)被傳送到數(shù)據(jù)總線進(jìn)行數(shù)據(jù)傳送(如圖data Bus),在數(shù)據(jù)總線進(jìn)行數(shù)據(jù)傳輸?shù)倪^程中,地址總線是處于空閑狀態(tài)的,它并不接受新的數(shù)據(jù)-在數(shù)據(jù)開始創(chuàng)送的同時(shí)tRAC和tCAC都結(jié)束了。8) 就在數(shù)據(jù)在數(shù)據(jù)總線上傳輸期間, /CAS 引腳也被停止激活就是得到一個(gè)高電平, 從而開始進(jìn)入到預(yù)充電期。/RAS和/CAS會同時(shí)處于預(yù)充電期,直到下次/RAS被激活進(jìn)入到下 一個(gè)讀取操作的周期。相信經(jīng)過這樣的說明大家應(yīng)該了解 DRAM的讀取過程了。在這個(gè)基礎(chǔ)上我們就可以開始認(rèn) 識SIMM或者DIMM的潛

26、伏期(latency )問題了。首先我們來繼續(xù)澄清一下幾個(gè)概念。DRAM潛伏期類型分為兩種:訪問時(shí)間(access time )和周期時(shí)間(cycle time )。其中 訪問時(shí)間( access time )同前面我們談?wù)摰牡诙N類型的延遲有關(guān),也就是同讀取周期中的延 遲時(shí)間;而周期時(shí)間( cycle time )同我們前面談?wù)摰牡谝环N類型的延遲有關(guān),也就是受到兩 個(gè)讀取周期之間的延遲時(shí)間影響。當(dāng)然潛伏期的時(shí)間很短,都是用納秒來衡量的。對于異步DRAM芯片,訪問時(shí)間就是從行地址到達(dá)行地址引腳的時(shí)間起截至到數(shù)據(jù)被傳輸 到數(shù)據(jù)引腳的時(shí)間段。這樣,訪問時(shí)間為 60 納秒的 DIMM 意味著當(dāng)我們下

27、達(dá)讀取數(shù)據(jù)的命令后, 地址數(shù)據(jù)被送到地址引腳之后要等待 60 納秒才能達(dá)到數(shù)據(jù)輸出引腳。周期時(shí)間,從字面上理解 就是從兩個(gè)連續(xù)讀取操作之間的時(shí)間間隔。 如何盡可能的減小DRAM的周期時(shí)間和訪問時(shí)間是我 們這篇文章后半部分將要詳細(xì)的討論的問題。我們平時(shí)說到DRAM內(nèi)存是多少多少納秒,這里指的一般是訪問時(shí)間(我們也會對于為什么 采取這樣的標(biāo)稱方法進(jìn)行解釋)。我們都知道訪問時(shí)間越短,意味著內(nèi)存工作頻率會越高。當(dāng)然 內(nèi)存工作頻率越高,意味著可以適應(yīng)外頻更高的處理器。如果處理器的時(shí)鐘周期較短,而DRAM的 潛伏期較長,處理器在很多時(shí)間里都是等到DRAM專送數(shù)據(jù)。因此當(dāng)DRAM-定時(shí),比如時(shí)潛伏期為 70

28、 納秒,那么一顆 1GHz PIII 等待數(shù)據(jù)的時(shí)間將會比一顆 400MHzPII 處理器長。當(dāng)然出 現(xiàn)這樣的現(xiàn)象是每個(gè)用戶都不愿意看到的,當(dāng)使用的內(nèi)存速度越慢或者說你的處理器相對越快, 你的處理器就會由更多的性能都被這樣的等待浪費(fèi)了。 3.3 DRAM 的刷新我們已經(jīng)提到過,DRAM同 SRAM最大的不同就是不能比較長久的保持?jǐn)?shù)據(jù),這項(xiàng)特性使得這種存儲介質(zhì)對于我們幾乎沒有任何的作用。但是 DRAM設(shè)計(jì)師利用刷新的技術(shù)使得DRAM成為 了現(xiàn)在對于我們最有用處的存儲介質(zhì)。 這里我僅僅簡要的提及一下 DRAM勺刷新技術(shù),因?yàn)樵诤?面介紹FP EDO等類型的內(nèi)存的時(shí)候,你會發(fā)現(xiàn)它們具體的實(shí)現(xiàn)過程都是

29、不同的。DRAM內(nèi)僅僅能保持其內(nèi)存儲的電荷非常短暫的時(shí)間,所以它需要在其內(nèi)的電荷消失之前就 進(jìn)行刷新直到下次寫入數(shù)據(jù)或者計(jì)算機(jī)斷電才停止。每次讀寫操作都能刷新DRAM內(nèi)的電荷,所以DRAM就被設(shè)計(jì)為有規(guī)律的讀取 DRAM內(nèi)的內(nèi)容。這樣做有下面幾個(gè)好處。第一,僅僅使用/RAS激活每一行就可以達(dá)到全部刷新的目的;第二,DRAM控空制器來控制刷新,這樣可以防止刷新操作干擾有規(guī)律的讀寫操作。在文章的開始,曾經(jīng)說過一般行的數(shù)目比列的數(shù)據(jù)少。現(xiàn)在我可以告訴為什么會這樣了,因 為行越少用戶刷新的時(shí)間就會越少。 3.4快頁模式 DRAMFPM DRAIM Fast Page Mode DRAM),也就是我們常

30、說的快頁內(nèi)存。之所以稱之為快頁內(nèi)存,因?yàn)樗?字節(jié)突發(fā)模式傳送數(shù)據(jù),這4個(gè)字節(jié)來自同一列或者說同一頁。如何理解這種讀取方式呢? FPM DRAM如果要突發(fā)4個(gè)字節(jié)的數(shù)據(jù),它依然需要依次的讀取每一個(gè)字節(jié)的數(shù)據(jù),比如它要讀取第一個(gè)字節(jié)的數(shù)據(jù),這個(gè)時(shí)候的情況同前面介紹的 DRAM讀取方式是一樣的(我們依然通過讀取下面的 FPM讀取時(shí)序圖來了解它的工作方式):Fast Pag色 Mode ReadRASCMPr-i tihirgeDirWE1RACRM-FWi1mBnstCAC1CACtCAC1tCAC1. 首先行地址被傳送到行地址引腳,在/RAS引腳被激活之前,/RAS處于預(yù)充電狀態(tài),/CAS 也處

31、于預(yù)充電狀態(tài),當(dāng)然/WE此時(shí)依然是高電平,F(xiàn)PM至少知道自己不會進(jìn)行寫操作。2. /RAS引腳被賦予低電平而被激活,行地址被送到行地址選通器,然后選擇正確的行送 到傳感放大器,就在/RAS引腳被激活的同時(shí),tRAC開始計(jì)時(shí)。3. /CAS 一直處于預(yù)充電狀態(tài),直到列地址被傳送到列地址引腳并且/CAS引腳得到一個(gè)低電平而被激活(tCRC時(shí)間開始計(jì)時(shí)),然后下面的事情我們也應(yīng)該很清楚了,列地址被送到 列地址選通器,然后需要讀取的數(shù)據(jù)位置被鎖定,這個(gè)時(shí)候Dout引腳被激活,第一組數(shù)據(jù)就被傳送到數(shù)據(jù)總線上。4. 對于原來介紹的DRAM這個(gè)時(shí)候一個(gè)讀取周期就結(jié)束了,不過對于FPM則不同,在傳送第一組數(shù)據(jù)

32、期間,/CAS失活(/RAS依然保持著激活狀態(tài))并且進(jìn)入預(yù)充電狀態(tài),等待第二 組列地址被傳送到列地址引腳,然后進(jìn)行第二組數(shù)據(jù)的傳輸,如此周而復(fù)始直至4組數(shù)據(jù)全部找到并且傳輸完畢。5. 當(dāng)?shù)谒慕M數(shù)據(jù)開始傳送的時(shí)候,/RAS和/CAS相繼失活進(jìn)入到預(yù)充電狀態(tài),這樣 FPM的 一個(gè)完整的讀取周期方告結(jié)束。FPM之所以能夠?qū)崿F(xiàn)這樣的傳輸模式, 就是因?yàn)樗枰x取的4 個(gè)字節(jié)的行地址是相同的但是列地址不同,所以它們不必為了得到一個(gè)相同的行地址而去做重復(fù)的工作。6. 這樣的工作模式顯然相對于普通的 DRAM模式節(jié)省了很多的時(shí)間,特別是節(jié)省了 3次/RAS 預(yù)充電的時(shí)間和3個(gè)tRAC時(shí)間,從而進(jìn)一步提高的效

33、率。我想你一定看到過諸如6-3-3-3這樣的內(nèi)存標(biāo)注方法,其中的 6表示從最初狀態(tài)讀取 第一組數(shù)據(jù)需要6個(gè)時(shí)鐘周期,而讀取另外三個(gè)數(shù)據(jù)僅僅需要 3個(gè)時(shí)鐘周期就能達(dá)到目的了。需要特別指出的是,在上面的時(shí)序圖中,我們并沒有標(biāo)注出FPM DRAM進(jìn)行第二個(gè)、第三個(gè)、第四個(gè)數(shù)據(jù)輸出的前進(jìn)行新的列地址選通的時(shí)間,但是從上面的示意圖中我們可以看到 Col.2同Datal和D2之間都沒有重疊,所以這三個(gè)數(shù)據(jù)的輸出是進(jìn)行完畢一個(gè)再進(jìn)行的另一 個(gè),因此再上一次數(shù)據(jù)傳輸完畢到下一次列地址傳輸之間還有一點(diǎn)小小的延遲。請看下圖:tCAC 3.5擴(kuò)展數(shù)據(jù)輸出DRAMEDO DRAM Extended Data Out

34、DRAM :擴(kuò)展數(shù)據(jù)輸出 DRAM在介紹FPM的讀取過程的最 后著重提到了 FPMDRAM是在上一次的數(shù)據(jù)讀取完畢才會進(jìn)行下一個(gè)數(shù)據(jù)的讀取,但是對于EDODRAM卻是完全不一樣的。EDO DRAM可以在輸出數(shù)據(jù)的同時(shí)進(jìn)行下一個(gè)列地址選通,我們依然 結(jié)合下面的EDO讀取時(shí)序圖來了解EDO DRAM讀取數(shù)據(jù)的過程:EDO ReadCASAddressWEBusPr計(jì)植也會RowtRAC1. /RAS在結(jié)束上一次的讀取操作之后,進(jìn)入預(yù)充電狀態(tài),當(dāng)接到讀取數(shù)據(jù)的請求之后,行 地址首先通過地址總線傳輸?shù)降刂芬_,在這個(gè)期間 /CAS依然處于預(yù)充電狀態(tài)。2. /RAS引腳被激活,行地址開始經(jīng)過行地址選通電

35、路和行地址解碼器進(jìn)行行地址的選擇, 就在這個(gè)同時(shí)tRAC周期開始,因?yàn)槭亲x取操作/WE引腳一直沒有被激活,所以內(nèi)存知道自己進(jìn) 行的是讀取操作而不是寫操作。3. 在/CAS依然進(jìn)行預(yù)充電的過程中,列地址被送到列地址選通電路選擇出來合適的地址,當(dāng)/CAS被激活的同時(shí)tCAC周期開始,當(dāng)tCAC結(jié)束的時(shí)候,需要讀取的數(shù)據(jù)將會通過數(shù)據(jù)引 腳傳輸?shù)綌?shù)據(jù)總線。4. 從開始輸出第一組數(shù)據(jù)的時(shí)候,我們就可以體會到EDO同F(xiàn)PM之間的區(qū)別了:在tCAC周期結(jié)束之前,/CAS失活并且開始了預(yù)充電,第二組列地址傳輸和選通也隨即開始,第一數(shù)據(jù)還 沒有輸出完畢之前,下一組數(shù)據(jù)的tCAC周期就開始了-顯然這樣進(jìn)一步的節(jié)省

36、了時(shí)間。就在第二組數(shù)據(jù)輸出前,/CAS再次失活為第三組數(shù)據(jù)傳輸列地址做起了準(zhǔn)備5. 如此的設(shè)計(jì)使得EDO內(nèi)存的性能比起FPM的性能提高了大約20-40%EDO6. 正是因?yàn)镋DO的速度比FPM快,所以它可以運(yùn)行在更高的總線頻率上。所以很多的RAM可以運(yùn)行在66MHz的頻率上,并且一般標(biāo)注為 5-2-2-2。第四章 SDRAM 的基本原理SDRAM同我們之前介紹的異步 DRAM是差別非常大的。它的基本原理同前面提到的 DRAM還 是基本一樣的(比如基本存儲單元都是按照陣列排列,都有 RAS和CAS的概念),不過這些存 儲單元的組織和控制同DRAM就具有相當(dāng)大的差別了。 4.1 SDRAM 芯片的

37、引腳定義在前面我們討論其它類型的內(nèi)存都是采用了以具體的產(chǎn)品為例來講述的,所以這里我們依然采用這種形式,這次我們以 MICRONMT48LC4M4A1 16MB SDRA例。在我們前面討論的DRAM讀取方式中,當(dāng)一個(gè)讀取周期結(jié)束后,/RAS和1 /CAS都必須 停止激活然后有一個(gè)短暫的預(yù)充電期才能進(jìn)入到下一次的讀取周期中。但是一個(gè)具有兩個(gè) bank 的SDRAM的模組中,其中一個(gè)bank在進(jìn)行預(yù)充電的期間另一個(gè) bank卻可以被調(diào)用這樣當(dāng) 你需要讀取已經(jīng)預(yù)充電的 bank 的數(shù)據(jù)時(shí),就無需等待而是可以直接調(diào)用了。為了實(shí)現(xiàn)這個(gè)功能,SDRAM就需要增加對于多個(gè)bank的管理,這樣就可以實(shí)現(xiàn)控制其中

38、的 bank進(jìn)行預(yù)充電,并且在需要使用的時(shí)候隨時(shí)調(diào)用了。這樣一個(gè)具有兩個(gè)bank的SDRA一般會多一根叫做 BA0 的引腳,實(shí)現(xiàn)在兩個(gè) bank 之間的選擇一般的 BA0 是低電平表示 Bank0 被選擇,而 BA0 是高電平 Bank1 就會被選中。可見,雖然SDRAM在基本的原理上比如基本存儲的結(jié)構(gòu)都是基本一樣的,但是在整個(gè)內(nèi)存架構(gòu)的組織上是不同的,而且在存儲單元的控制上也是有著相當(dāng)大的區(qū)別的。因?yàn)楫惒紻RAMI同處理器和芯片的時(shí)鐘并沒有什么關(guān)系, 所以芯片組只能按照DRAM內(nèi)存的時(shí)序要求“被動”的操 作DRAM空制引腳。SDRAM因?yàn)橐珻PU和芯片組共享時(shí)鐘,所以芯片組可以主動的在每個(gè)

39、時(shí) 鐘的上升沿發(fā)給引腳控制命令。PIN ASSIGNMENT (Top VHew)50-PinTSOPO 12 3 4 5 673 CJO1 1X3 4 5 > 1 1 Tl 1 1 11111 2 2工工工工工工工工工工工8工工工工Vss DQ15 DQ14 VssQ DCI 0Q12 VboQ DClt DQ1O VssQ DQ9 DCSVddQ NC DQMH CLK 匚KE NC 陽 Aft A7 A& AS上圖顯示的就是MT48LC4M4A1 16MB SDR內(nèi)存顆粒的引腳示意圖,它采用了50引腳的A4 VssNote: The # symbol indicates s

40、ignal i$ active LOW.1 Meg x 16Configuration512Kx16x2ba nksRefresh Count2Kor4KRow Addressing2K(A<WUD)Bank Address ng2 <BA)Column Address rg256(A0-A7)TSOP封裝,符合 PC100規(guī)范。這種內(nèi)存顆粒將同系統(tǒng)時(shí)鐘同步運(yùn)行。這種內(nèi)存顆粒的架構(gòu) 1Mx16-512Kx16x2每bank行地址數(shù)目是11,列地址數(shù)目是 &我們首先來介紹一下這種內(nèi)存 顆粒的引腳定義:? A0 A10:地址輸入引腳,當(dāng)ACTIVE命令和READ/WRITE命令

41、時(shí),來決定使用某個(gè)bank內(nèi)的某個(gè)基本存儲單元。? CLK:時(shí)鐘信號輸入引腳? CKE: Clock Enable,高電平時(shí)有效。當(dāng)這個(gè)引腳處于低電平期間,提供給所有bank預(yù)充電和刷新的操作? /CS :芯片選擇(Chip Select ), SDRAM DIM一般都是多存儲芯片架構(gòu),這個(gè)引腳就是用于選擇進(jìn)行存取操作的芯片/RAS: 行地址選擇 (Row Address Select)? /CAS: 列地址選擇 (Column Address Select)? /WE:寫入信號(Write Enable)? DQ0- DQ15數(shù)據(jù)輸入輸出接口? BA: Bank地址輸入信號引腳,BA信號決定

42、了由激活哪一個(gè)bank、進(jìn)行讀寫或者預(yù)充電操 作;BA也用于定義Mode寄存器中的相關(guān)數(shù)據(jù)。? NC:空弓I腳? DQM: 這個(gè)引腳的主要用于屏蔽輸入 /輸出,功能相當(dāng)于 /OE 引腳( Output Enable )。? VDDQ DQ供電引腳,可以提高抗干擾強(qiáng)度? VSSQ DQ供電接地引腳? VSS:內(nèi)存芯片供電接地引腳? VDD內(nèi)存芯片供電引腳,提供+3.3V ±0.3V(上面的列表項(xiàng)目和示意圖中,前面標(biāo)有“ /”或者“#”標(biāo)記的表示在低電平下有效 )。 如果你對于前面介紹的內(nèi)容有所了解了,看到上面的芯片引腳示意圖和各個(gè)針腳的功能示 意圖就基本對于SDRAM勺工作過程有了一個(gè)

43、基本的了解了,在下面的章節(jié)里我們就對于這個(gè)過 程進(jìn)行詳細(xì)的介紹 ,首先我們對于一些基本的概念做一些了解。這個(gè)SDRAM!粒采用了雙bank (每bank 512K x 16 DRAM)的工作電壓是3.3V,并且采 用同步接口方式(所有的信號都是時(shí)鐘信號的上升沿觸發(fā))。每一個(gè) 512Kx 16-bit bank 由2,048 行乘以 256 列個(gè)基本存儲單元構(gòu)成,輸出數(shù)據(jù)位寬是 16 bit 。Read和write操作都是通過突發(fā)導(dǎo)向模式訪問 SDRAM勺;這種訪問模式以訪問指定的區(qū) 域開始的,然后按照預(yù)先設(shè)定的方式定位其它的數(shù)據(jù)的所在。 每次訪問都是以 ACTIVE 命令啟動 的,然后僅僅跟著

44、一個(gè) READ或者WRITE命令。不過在進(jìn)行所有這些操作之前,SDRAM、須首 先進(jìn)行初始化。 4.2 SDRAM 芯片的初始化和模式寄存器的設(shè)置初始化SDRAM在上電之后,必須首先按照預(yù)定的方式進(jìn)行初始化才能正常的運(yùn)行。一旦VDD和VDDQ被同時(shí)供電并且時(shí)鐘穩(wěn)定下來,SDRAM就需要一個(gè)100微秒的延遲,在這個(gè)時(shí)間段中COMMANDINHIBIT和NOP指令有效,這個(gè)過程實(shí)際上就是內(nèi)存的自檢過程。一旦這個(gè)過程通過之后一個(gè) PRECHARG命令就會緊緊隨著最后一個(gè) COMMAND INHIB或者 NOP指令而生效,這個(gè)期間所有的內(nèi)存都處于空閑狀態(tài),隨后會執(zhí)行兩個(gè)AUTOREFRES周期、當(dāng)AU

45、TOREFRES周期完畢之后,SDRAh為進(jìn)行 Mode Register編程做好了準(zhǔn)備。因?yàn)镸odeRegister 上電會引起一個(gè)為止的狀態(tài),它會在進(jìn)行所有正常指令之前被載入。至此,初始化過 程完成。模式寄存器ModeRegister 一般被用于定義SDRAMH行的模式。其中包括了突發(fā)長度(burstlength )、 突發(fā)類型(burst type )、CAS延遲(CAS latency )、運(yùn)行方式(operating mode )和寫入突發(fā) 模式(如Figure 1所示)。Mode Register 通過LOAD MODE REGISTER令進(jìn)行編程,這組信息將會一直保存在ModeR

46、egister 中直到內(nèi)存掉電之后才會消失。Mode Register 中的 M0-M2是用來定義突發(fā)長度(burst length )的,M3定義突發(fā)類型 (sequential 或者interleaved),M4-M6 定義CAS延遲,M7和M8定義運(yùn)行模式,M9定義寫入 突發(fā)模式( write burst mode ),M10 和 M11 目前保留。Mode Register 必須在所有的 bank 都處于空閑 狀態(tài)下才能被載入,在所有初始化工組都 進(jìn)行完畢之前,控制器必須等待一定的時(shí)間。在初始化過程中發(fā)生了任何非法的操作都可能導(dǎo) 致初始化失敗從而導(dǎo)致整個(gè)計(jì)算機(jī)系統(tǒng)不能啟動ftA AIO

47、AS A? A6 Ai A4 AJ A2 Al AO Addr«» CutftA AIOAS A? A6 Ai A4 AJ A2 Al AO Addr«» CutftesefYed* 1WBOpCAS LMtncyB-Burjt Length/ II/IO” / b/7/&/5 /"八八 /l /O /Mode Register (MjQShould programMIL MIOanto ea$txt cwpatll>ll:tywith tuture device!M2M1M06ur5t Len<jlhLB0M3 - 1CO

48、O110 0 1220 1 0440 1 1881 0 cRwrvedRewrved1 0 1伽著rvodRnrvnd1 1 0Ros«rvodReserved1 1 1ull PjgeRevivedM3Efurst TypetS«juer«ijl1InterlcAr/eM6M6M4CAS UtvncyO 0 0Reserved0 0 110 1 02O 1 131 0 0Rfwrved1 0 1R<wrv«j1 1 0伽 ervgd111RiocruodftA AIOAS A? A6 Ai A4 AJ A2 Al AO Addr«

49、87; CutftA AIOAS A? A6 Ai A4 AJ A2 Al AO Addr«» CutMSM7M4 MOOp«fMing Mode0cTinedStaodard OperationAll oihec rtal-MM9Write Uunt Mode0logrjimmed Burn length1Single Locdkxi A««iFigure 1Mode Register Definition突發(fā)長度(Burst Length )Read和write操作都是通過突發(fā)模式訪問 SDRAM勺,當(dāng)然突發(fā)模式的長度都是在初始化過程中載入

50、ModeRegister中的參數(shù),這些參數(shù)當(dāng)然是由廠商或者用戶定義的。在Figure 1中我們看到突發(fā)長度決定了 READ或者WRITE命令能夠訪問的列地址的最大數(shù)目。對于sequential和interleaved這兩種突發(fā)模式它們的突發(fā)長度是 1、2、4、8,另外全頁(full page)突發(fā)模式僅僅適用于sequential類型。全頁突發(fā)可以用BURSTERMINAT命 令連接來產(chǎn)生任意的突發(fā)長度。保留狀態(tài)(Reserved states )主要用于應(yīng)付未來的不兼容的情 況而準(zhǔn)備的。當(dāng)一個(gè) READ或者 WRITE命令被發(fā)出之后,這個(gè)時(shí)候突發(fā)長度就被選定了。所有 的訪問操作都會以這個(gè)突發(fā)

51、長度為限進(jìn)行讀取操作。當(dāng)突發(fā)長度設(shè)為2時(shí),A1-A7將會作為數(shù)據(jù)輸入輸出的列地址線;當(dāng)突發(fā)長度設(shè)定為4時(shí),A2-A7將會作為數(shù)據(jù)輸入輸出的列地址線;當(dāng)突發(fā)長度被設(shè)定為8時(shí),A3-A7將會作為數(shù)據(jù)輸入輸出的列地址線。?突發(fā)類型(Burst Type )突發(fā)類型主要分為兩種:sequential和interleaved主要由M3所決定。訪問順序主要由突發(fā)長度、突發(fā)類型和起始列地址所決定,如下表:Burst DefinitionBurst LengthStarting Colunn AddrsOrder of Accesses With in a BuntType=SequentiAlType= I

52、nterleavedAO20O11W1-0AlAQ0a0-1-2-30-1-2-3A011-2-3-01-03-2102-3-0 12 3-0 1113-01-23-2-1 0A2AlAQ0000-1 2 3-4 5 6-7pO1 2 3-4 5 6-70011-2-ak5-S-7-O1-0-3-2-5-4-7-G0102-3-4-5-6-7-0-112-30-1-6 7-4-50 a0113-4 5-7 0 123-2 1-Ch7-&5 上1Q04-5-&-7-0-1 2 35-t7-OV2-31015-6-74J-1-2-3-45421106-7-0-1-2-3-4-5-4

53、5-2-3-D-11117 0 1 2-3-4-5-67-6-5-3-2-1-0FullPage (256)n - A0-A7(location 0-255)Cn,匚n+h Cn+2Cn+3, Cn+4 Gn-h Qv.Not supported 4.3 SDRAM的指令例表下面的表格在不同的狀態(tài)下(或者說不同命令下)的各個(gè)引腳的信號?!癏'代表高電平,“L” 代表低電平,“ X”代表可以是任何狀態(tài),也就是該引腳同該命令并沒有直接的關(guān)系。Th缺|切HEkTsRASCASaat|dqm addr"JCOMMAND INHIBIT喬6p)HXXXXXRo OPERATIO斗(NOP)L|h 1HHXXH TIVE (:選擇bank并上1激活甫耳應(yīng)的仃)LHHXBank RowREAD (選匚(* batik f.呻111址*并H疋始突發(fā)讀?。㎜|hLHExBank C'olWRITE (丈匸扌羊bank和歹j也 ST并且開始突發(fā)寫入)LHLLExBank C'

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論