存儲器容量的擴展
一、位擴展(增加存儲字長)
以圖中為例,實質上來說,位擴展相當於將兩個存儲芯片用相同的地址線接入(這意味着數地址線的數目只和芯片的存儲單元有關,例如1K需要10根,2K需要11根;事實上,芯片每一次讀寫的數據字長又和數據線的數目相關,比如8位對應8根數據線)。這樣,當CPU訪問到(屬於這兩個芯片的)存儲單元時,每一個芯片的相同位置上的存儲單元被選中,並分別輸出(或者輸入)4位數據到不同的數據線上;CS片選信號需要相同以確保芯片被同時選中,WE相同保證對芯片執行的操作是一致的。
二、字擴展(增加存儲字的數量)
以圖中為例,原芯片的大小為1K,需要10根數據線;擴展后,需要11根地址線才能實現對所有存儲器單元的讀寫。單個芯片,每個只需要10根地址線就可以實現1K個存儲單元的讀寫;還剩下1根地址線,這時地址線需要實現的功能是,選擇哪個存儲芯片讀寫,因此第11根地址線(A10)相當於片選信號,接入CS接口;由於每一次只有一個芯片被選中,所以WE信號可以同時接入兩個芯片中,但只有被選中的芯片能完成讀寫命令。對兩個芯片而言,每一個都是8位的,因此每個芯片都連接8根數據線,但同時只有一個芯片能完成數據的讀寫。
從整體上而言,利用11根地址線,可以實現8位數據的讀寫,訪問到2K個內存單元。從外部特性來看,它和一個2K*8位的存儲器沒有區別。
三、字位同時擴展
例如:用8片1K*4位的存儲芯片組成4K*8位的存儲器
首先可以確定需要12根地址線才能完成對4K個存儲單元的訪問,而每一個芯片內部只需接入10根地址線,剩下2根地址線相當於實現片選功能,即通過00,01,10,11四個不同編碼實現對不同芯片的訪問,可通過24譯碼器實現;但由於每個芯片是4位,而要求的數據是8位,則同時需要進行位擴展,即兩個芯片為一組(接入相同的片選信號),每個芯片分別接入4位數據線上。
這樣,對所有的芯片而言,由於片選信號的存在,每一次只能同時有一組芯片能夠讀寫數據,當地址信號傳入的時候,這一組芯片的相同位置的存儲單元被選中,開始讀寫數據。