① 單片機片外擴展的方法有哪些填空
可以看看書上的資料
單片機的系統擴展主要有程序存儲器(ROM)擴展,數據存儲器(RAM)擴展以及I/O口的擴展。
外擴的程序存儲器與單片機內部的程序存儲器統一編址,採用相同的指令,常用晶元有EPROM和EEPROM,擴展時P0口分時地作為數據線和低位地址線,需要鎖存器晶元,控制線主要有ALE、。
擴展的數據存儲器RAM和單片機內部RAM在邏輯上是分開的,二者分別編址,使用不同的數據傳送指令。常用的晶元有SRAM和DRAM以及鎖存器晶元,控制線主要採用ALE、、。
常用的可編程I/O晶元有8255和8155。用8255擴展並行I/O口時需要鎖存器,8155則不用。對擴展I/O口的定址採用與外部RAM相同的指令,因此在設計電路時要注意合理分配地址。8255和8155的工作方式是通過對命令控制字的編程來實現的,在使用時首先要有初始化程序。
MCS-51單片機有很強的擴展功能,外圍擴展電路、擴展晶元和擴展方法都非常典型、規范。
② 1、評價存儲器性能的主要指標有哪些 2、簡述存儲器晶元擴展的基本思路。
當評價存儲器性能時,我們通常關注以下主要指標:
容量:存儲器能夠存儲的數據量。通常以位元組(Bytes)為單位進行衡量。較大的容量意味著可以存儲更多的數據。
速度:包括延遲(Latency)和帶寬(Bandwidth)。延遲是指從發起訪問請求到數據可用之間的時間延遲,而帶寬是指在單位時間內可以傳輸的數據量。較低的延遲和較高的帶寬表示存儲器可以更快地響應請求和傳輸數據。
訪問時間:從發出存儲器訪問請求到數據可用的總時間。它包括延遲以及傳輸和處理數據所需的時間。較低的訪問時間意味著存儲器能夠更快地提供需要的數據。
吞吐量:單位時間內完成的讀取或寫入操作的數量。較高的吞吐量表示存儲器可以處理更多的操作,提高整體性能。
增加晶元的容量:通過提高存儲單元的密度,增加晶元上可容納的存儲單元數量,從而擴展存儲器的容量。
採用新的存儲技術:引入新的存儲技術,如快閃記憶體、相變存儲器(PCM)、磁存儲器等,塵游以提供更高的存儲密度和性能。
堆疊技術:通過將多個存儲層堆疊在一起,形成立體結構,以增加存儲容量。這種技術利用垂直空間,將多個晶元或存儲單元疊放在一起。
存儲器層次結構優化:通過結合不同種類和層次的存儲器,如高速緩存(Cache)、主存儲器(RAM)、輔助存儲器(硬碟、固態硬碟等),實現存困兄正儲器層次結構的優化,提高整體性能和容量。
以上指標綜合考慮可以評估存儲器的性能優劣,根據不同應用的需求選擇合適的存儲器技術和規格。
關於存儲器晶元擴展的基本思路,常見的方式包括:
這些思路都是為了滿足不斷增長的數據存儲需求和提高存儲器汪悔性能的目標,不同的存儲器技術和設計策略會根據需求和技術發展而有所不同。
③ 問:什麼是位擴展,什麼是字擴展
存儲晶元的擴展包括位擴展、字擴展和字位同時擴展等三種情況。1、位擴展位擴展是指存儲晶元的字(單元)數滿足要求而位數不夠,需對每個存儲單元的位數進行擴展。例:用1K×4的2114晶元構成lK×8的存儲器系統。分析:每個晶元的容量為1K,滿足存儲器系統的容量要求。但由於每個晶元只能提供4位數據,故需用2片這樣的晶元,它們分別提供4位數據至系統的數據匯流排,以滿足存儲器系統的字長要求。設計要點:(1)將每個晶元的10位(1k=2^10)地址線按引腳名稱一一並聯,按次序逐根接至系統地址匯流排的低10位。(2)數據線則按晶元編號連接,1號晶元的4位數據線依次接至系統數據匯流排的D0-D3,2號晶元的4位數據線依次接至系統數據匯流排的D4-D7。(3)兩個晶元的端並在一起後接至系統控制匯流排的存儲器寫信號(如CPU為8086/8088,也可由和/M或IO/組合來承擔)(4)引腳分別並聯後接至地址解碼器的輸出,而地址解碼器的輸入則由系統地址匯流排的高位來承擔。當存儲器工作時,系統根據高位地址的解碼同時選中兩個晶元,而地址碼的低位也同時到達每一個晶元,從而選中它們的同一個單元。在讀/寫信號的作用下,兩個晶元的數據同時讀出,送上系統數據匯流排,產生一個位元組的輸出,或者同時將來自數據匯流排上的位元組數據寫入存儲器。2、字擴充字擴展用於存儲晶元的位數滿足要求而字數不夠的情況,是對存儲單元數量的擴展。例:用2K×8的2716A存儲器晶元組成8K×8的存儲器系統分析:由於每個晶元的字長為8位,故滿足存儲器系統的字長要求。但由於每個晶元只能提供2K個存儲單元,故需用4片這樣的晶元,以滿足存儲器系統的容量要求。設計要點:同位擴充方式相似。(1)先將每個晶元的11(2*2^10)位地址線按引腳名稱一一並聯,然後按次序逐根接至系統地址匯流排的低11位。(2)將每個晶元的8位數據線依次接至系統數據匯流排的D0-D7。(3)兩個晶元的端並在一起後接至系統控制匯流排的存儲器讀信號(這樣連接的原因同位擴充方式),(4)它們的引腳分別接至地址解碼器的不同輸出,地址解碼器的輸入則由系統地址匯流排的高位來承擔。當存儲器工作時,根據高位地址的不同,系統通過解碼器分別選中不同的晶元,低位地址碼則同時到達每一個晶元,選中它們的相應單元。在讀信號的作用下,選中晶元的數據被讀出,送上系統數據匯流排,產生一個位元組的輸出。3、同時進行位擴充與字擴充存儲器晶元的字長和容量均不符合存儲器系統的要求,需要用多片這樣的晶元同時進行位擴充和字擴充,以滿足系統的要求。例:用1K×4的2114晶元組成2K×8的存儲器系統分析:由於晶元的字長為4位,因此首先需用採用位擴充的方法,用兩片晶元組成1K×8的存儲器。再採用字擴充的方法來擴充容量,使用兩組經過上述位擴充的晶元組來完成。設計要點:每個晶元的10根地址信號引腳宜接接至系統地址匯流排的低10位,每組兩個晶元的4位數據線分別接至系統數據匯流排的高/低四位。地址碼的A10、A11經解碼後的輸出,分別作為兩組晶元的片選信號,每個晶元的控制端直接接到CPU的讀/寫控制端上,以實現對存儲器的讀/寫控制。當存儲器工作時,根據高位地址的不同,系統通過解碼器分別選中不同的晶元組,低位地址碼則同時到達每一個晶元組,選中它們的相應單元。在讀/寫信號的作用下,選中晶元組的數據被讀出,送上系統數據匯流排,產生一個位元組的輸出,或者將來自數據匯流排上的位元組數據寫入晶元組。
④ 存儲器的容量擴展的連接方式和擴展後的地址范圍
容量擴展主要有兩種方式,並位和串位,舉個例子,有個2KB的存儲器,我再擴展個2KB的存儲器,如果是並位擴展方式,地址范圍還是2k的空間,不過每次讀出的是16bit;如果是串位方式,則直接擴展成4KB,有4k的地址范圍,每次讀出8bit,不知道你明白了沒有?這個跟片選信號連接方式,以及地址、數據線連接方式有關.
一般來說是以Byte為讀取單位,通常都是串列擴展,即地址線性擴展,2KB的空間,再增加2KB,一共就4KB的存儲器,也是最常用的方式,地址線的高位通過解碼電路構成片選信號,低位為每片的地址信號.
至於地址范圍,跟你擴展的總空間容量有關,如果4KB的空間,需要地址線就是12條(0~11),關系是2的12次方為4K,同理,擴展後總空間為8KB的話,地址線就是13條(0~12)。