微型計算機原理與及接口技術-----第六章 存儲器
(1)存儲器可分為:CPU寄存器、高速緩沖存儲器、主存儲器簡稱主存或內存,輔助存儲器簡稱外存或輔存。
(2)半導體存儲器的分類:
1.按制造工藝的分為:雙極型存儲器和MOS存儲器
2.按信息存儲方式可分為:半導體存儲器可分為隨機存取存儲器RAM和只讀存儲器ROM
RAM中存儲的信息在斷電后會丟失,是一種易失性的存儲器。
*隨機存取存儲器RAM(random access memory)又稱為讀寫存儲器,其特點是信息可以按地址隨時讀出或寫入。
RAM分為兩類:
靜態RAM:讀寫速度快,但集成度低、容量小。主要用作Cache或小系統的內存儲器
動態RAM:讀寫速度慢,以電荷的形式存儲信息集成度高單片容量大,多用在存儲量較大的系統之中。由於存儲內容經過一定時間之后會自動消失,所以必須周期性的進行刷新。
**兩者的比較:靜態RAM是靠雙穩態觸發器來記憶信息的;動態RAM是靠MOS電路中的柵極電容來記憶信息的。由於電容上的電荷會泄漏,需要定時給與補充,所以動態RAM需要設置刷新電路。但動態RAM比靜態RAM集成度高、功耗低,從而成本也低,適於作大容量存儲器。所以主內存通常采用動態RAM,而高速緩沖存儲器(Cache)則使用靜態RAM。
*只讀存儲器ROM(read only memory):閃速存儲器
(3)半導體存儲器的性能指標
主要包括:存儲容量、存取速度、功耗、可靠性。
1.存儲器的容量反應了存儲空間的大小,存儲容量常以字節、字為單位。 1KB=2^10B,
*在用存儲芯片設計內存存儲器是,存儲芯片的容量用其能存儲的二進制位數來表示,一般描述為:N×M(其中,N表示芯片的存儲單元數,M表示每單元的存儲位數)
【例如:SRAM芯片6264的容量為:8K×8,他有8K個存儲單元每個存儲單元存儲8位二進制數據】
2.存取速速:直接影響計算機主機運行速度。
3.可靠性:是指存儲器對磁場、溫度等因素的干擾
4.性能/性價比:體積小、重量輕、價格便宜且使用方便是微型機的首要特點
5.功耗:使用低功耗存儲器芯片構成存儲器系統不僅可以減少對電源容量的要求,而且還可以減少發熱量,提高存儲器的穩定性
(4)半導體存儲器的一般結構及組成
半導體隨機存儲器一般由存儲矩陣、地址譯碼器、三狀態雙向緩沖器和控制邏輯電路等部分。
····存儲體是存儲器中存儲信息的部分,由大量的基本存儲電路組成。每個基本存儲電路存放一位二進制信息
存儲排列N×1稱為位結構,N×8稱為字結構
····地址譯碼器是將CPU發送來的地址信號進行譯碼后產生地址編碼,以便選中存儲矩陣中的某一個或幾個基本存儲電路進行讀/寫操作。
···存儲器控制電路通過相應的信號引腳,接收來自CPU或外部電路的控制信號,經過組合變換后,對存儲、地址譯碼驅動電路和三態雙向緩沖器進行控制
讀寫信號有以下幾種表示方法:
OD :禁止輸出引線端,高電平有效時,禁止芯片將尋址單元內的數據輸出;
OE:輸出開放引線端,高電平有效允許芯片將尋址單元內的數據輸出;
R/W:讀寫控制引線端,高電平時進行讀操作,低電平時進行寫操作。
W/E:低電平有效數據總線上的數據被寫入尋址的單元
·····三態雙向緩沖器:作用是是組成半導體RAM的各個存儲芯很方便地與系統數據總線相連接。
(5)隨機存取存儲器RAM
*基本存儲電路:
靜態RAM是以觸發器為基本存儲單元,在工作的過程中只要一次寫入數據后,由T1~T6 6個晶體管字或行選線、D和D一橫數據或線組成。
*基本存儲電路的工作過程
當該存儲單元被選中時,字選擇線為高電平,門控管T5、T6導通,觸發器與I/O接通;
寫入時,寫入數據是信號從I/O線和I/O(非)進入;
當進行讀操作時行選線和列選線同時有效,於是T5~T8全部導通
靜態RAM的主要優點是工作不穩定,不需要外加刷新電路,從而簡化了電路的設計。
*靜態RAM的電路結構
存儲體是一個由64×64=4096個六管靜態存儲器組成的存儲矩陣,只有行列均被選中的存儲單元,才能進行讀出信息和寫入信息操作
*靜態RAM芯片舉例
常用的SRAM芯片有AS7C164(8KB×8),AS7C256A(32KB×8),AS7C1024B(128KB×8)等多種
下面介紹各引腳的功能:
A12~A0:13根地址線;
I/O7~I/O0:8根數據線
CE1(非),CE2(非):2根片選線;
WE(非):1根讀寫線;
OE(非):一根輸出使能線;
Vcc和GND:1根電源線和1跟地線
NC:1根無用線
····寫入數據的過程:
首先要寫入單元的地址送到芯片的地址線A0~A12上,需要寫入的數據送到數據線上,在CE1(非)、CE2同時有效(CE1(非)=0,CE2=1)的情況下,若WE(非)端為低電平,OE端狀態任意,則數據可以寫入指定的額存儲單元中。
(6)動態RAM
····動態存儲器和靜態存儲器不同,動態RAM的基本存儲電路利用電容存儲電荷的原理來保存信息,其結構簡單、集成度高、成本低、功耗小。動態RAM必須采用定時刷新,來維持電荷的的相同。
····動態存儲器的刷新方式
*動態RAM利用極間電容上的電荷來存儲數據,當電容有電荷時,為邏輯1,沒有電荷時為邏輯0;
*為了在讀出之后,仍能保存所存儲的信息,讀出放大器對這些電容上的電壓值讀取之后又立即進行重新讀寫(刷新),所謂刷新就是不斷地每隔一定時間對動態存儲器的所有單元進行讀出,經讀出放大器放大后再重新寫入原電路中,已維持電容上的電荷。
····CPU刷新周期進行,根據時間可分為:
*定時集中刷新方式:是集中一段時間對所有基本存儲電路進行刷新一遍,然后才開始工作。
*非同步刷新方式:需要刷新周期讀寫周期的選擇電路當刷新讀寫周期出現沖突時,會增加讀寫周期的時間。這種方式每隔一定時間進行一次刷新,與CPU操作無關。
*同步刷新方式:在每個指令周期中利用CPU不進行讀寫操作的期間進行刷新操作。
····動態DRAM的芯片舉例
下面介紹各引腳的功能:
RAS(非):行地址選通信號,輸入,低電平有效。
CAS(非):列地址選通信號,輸入,低電平有效。
WE(非):寫允許控制信號
VSS/VSSQ:地引腳
CS(非):芯片選端,低電平有效
CLK:時鍾輸入
CKE:時鍾使能端
(7)RAM存儲容量的擴展方法
目前存儲器的芯片的基本存儲單元排列成N×1 ,N×4 ,N×8;三種結構
使用他們設計時需要考慮兩方面的問題:
【一是要使存儲單元包含的位數滿足要求(微機中一般為8位1B);二要使存儲單元的個數符合存儲容量的需求】
下面是三種的方法:
1.位擴展方式(8K×1變成8K×8 需要8片芯片)
該方式只進行位數擴充,它是把各存儲器芯片的地址片選信號線和讀寫控制信號線相應地並聯起來,而將各個芯片的數據線引出,分別相應的連接到系統的數據總線
存儲器的字數和存儲芯片的字數一直,每一個芯片對應一個數據線
2.字擴展方式(16K×8變成64K×8 需要4片)
3.字位擴展方式(當存儲器芯片包含的存儲單元數J小於存儲容量M且各存儲單元中所包含的位數K小於字長N(微機中一般為8))
一個容量為M×N的存儲器,所需包含J×K這樣的芯片總數:用N/K快芯片組成一組,共M/J組
例題:對於下列RAM芯片組排列,各需要多少個RAM芯片,多少個芯片組?多少根片內地址選擇線?多少根片組選擇線?
1.512×4RAM組成16K×8存儲容量
芯片組:(2^14)/(2^9)=2^5=32(組)
總共芯片:8/4=2(片/組) 2×32=64(片)
片內地址線:9根(直接等於自身有的芯片組的指數 512)
片組地址線:5根(直接等於球出來的芯片組的指數)
(7)RAM存儲器與CPU的連接
CPU與靜態的RAM存儲器連接主要解決數據總線、地址總線和控制總線的連接問題。需要注意一下幾點:
1.數據總線的連接:
數據總線是雙向的,CPU對存儲器的訪問主要是數據讀出和寫入。
2.地址總線的連接
它通常分為兩部分一部分直接與存儲芯片用以片內尋址的地址線連接,通常是從A0開始的低址;另一部分則經譯碼器譯碼,產生的片選信號與存儲器的片選端連接,一般是高地址部分的地址線
3控制總線的連接:
控制信號RD 寫控制信號WR,存儲器讀信號MEMR(memory read) 存儲器的寫信號MEMW (MeMeory write)與非門
(8)只讀存儲器ROM
只讀存儲器中的各基本存儲單元電路所存信息在機器運行期間只能讀出不能寫入;行列之間的耦合單元為二極管
只讀存儲器的分類:
1.掩模式ROM
簡稱ROM其中的信息是在芯片制造時由廠家寫入,一旦成為商品,它的信息是不可修改的,通常放一些不需要修改的程序或數據
2.可編程ROM
也叫做現場編程ROM (PROM)由用戶自行輸入但只能寫入一次,一旦寫入不可修改,PROM只有雙極型產品是作為高速計算機的微程序存儲器,功耗比較大
3.可擦除ROM
可改寫額PROM是一種反復編程的ROM簡稱EPROM,采取的方法是 寫入---擦除---再寫入,實現反復編程的目的。EPROM可分為紫外線擦除的和電擦除的
4.Flash存儲器
Flash存儲器是一種新型的半導體存儲器,可實現大規模快速電擦除,編程速度快斷電后具有可靠性
(8)高速緩沖存儲器(Cache)
提高存儲器帶寬的措施是在主存存儲器與CPU之間增加一個高速緩沖存儲器來存儲頻繁的指令和數據,以提高訪問操作的平均速度。Cache是一種存儲空間小而存取速度卻很高的一種存儲器。
Cache的基本結構和工作原理:
1.Cache工作結構
Cache系統主要由:Cache、地址映射像、變換機結構以及Cache組策略和更新策略這三部分組成。
2.Cache的工作原理
它是基於程序訪問局部性的,像這種對局部范圍的存儲器地址頻繁訪問,而對此范圍以外的地址則訪問甚少的現象,就稱為程序反問局部性。指令地址的分布是連續的。
課外拓展:
···設主存有(2n)個單元,地址碼為n位,將主存分頁(塊),每頁有B個字節,則共分成M=(2n)/B 頁
····在Cache中每頁外加一個標記。主存地址為n位,且n=m+b,則可得出主存的頁數 M=2m,頁內字節數B=2b; Cache地址碼為(c+b)位,Cache的頁數為2^c
