引用:
	
	
		| 作者kuolun 請教一下大家小弟看到Datasheet這樣畫有點困惑
 想詢問一下他這樣畫是甚麼意思?
 就圖中的紅色框框處的nBE1/nBE0
 ...恕刪...
 | 
	
 
BALA 君的是正解, 紅線區域的動作代表它是 active low..
圖片裡 A[16:1] / D[15:0] 所指的是 address bus 為 16 條, 可定址 2^16 = 65536 這麼多位址; Data bus 為 16 bits = 2 bytes = 1 word, 所以總定址空間為 64k words 或是 128k bytes.
因 data bus 為 16 bits, 為讓這個系統可一次讀寫一個 word, 或單獨讀寫一個 byte, 所以用 (n)BE1 與 (n)BE0 分別用來允用讀寫 High byte 與 Low Byte. 您可以把 BE0 與 BE1 當成是對 address 0 的解碼, 只不過它不僅是 0 or 1, 也可同時是 0 and 1 以一次讀寫整個 word, 但是一條 address 0 是不能同時出現 0 與 1, 所以得用兩條線來表示, 換言之若要改接 8 bits data bus 到這個系統, 且需要連續定址時, 就要對 (n)BE1 & (n)BE0 進行編碼以得出 8 bits 系統所需的 address 0..
同理, 以您的系統為例, 若改成 32 bits data bus 的系統, 就會出現 (n)BE3, (n)BE2, (n)BE1, (n)BE0 以用來一次讀寫 dword 也就是 4 個 bytes; 假如空間仍相同, 那麼 address bus 就會成為 A[16:2], data bus 變成 D[31:0], 而 BE3~BE0 就相當於對 address 1 & 0 的解碼, 只不過兩條位址線是不能同時出現 00 01 10 11 這四種狀態, 所以得用四條線表示; 換言之在這樣的 32 bits data bus 的系統, 若要改接 16 bits data bus 到這個系統, 且需連續定址時, 就要對 BE3 & BE2 進行編碼以獲得 16 bits data bus 所需的 address 1; 若要接 8 bits data bus 到這個系統, 且需要連續定址時, 就要對 (n)BE3 ~ (n)BE0 進行編碼以得出 8 bits 系統所需的 address 1 與 0..
64 bits & 128 bits or more 的 data bus 系統可以此類推..