位址解碼器
CPU經由Address Bus將其所指定要讀寫的資料位址送出給所有相關裝置,相關週邊裝置則比對位址以便了解自己是否是CPU所要讀寫的對象。CPU對於週邊位址的編排方式是依序排列,由於位址編是二進位碼,所以編碼位址總是2的指數個位址,如果位址線有n條,則可編排的位址有2^n 個位址。例如MCU最高有16條位址線所以可以編出2的16次方個位址,即有64K個位址。由於位址是二進制編碼,所以整體記憶體是以2分法分類區塊,愈高的bit具有相同值的區塊愈粗愈少塊,愈低的bit 具有相同值的區塊愈細愈多塊,但不論高低Bit其具有相同bit值的位址個數是一樣的。
參見上表4bits Address Bus,A0-A3,可以定址16個位址,其中A3=1有一個區塊A3=0有一個區塊,每個區塊都有8個位址。A1=1有4個區塊,每個區塊有2個位址。由上述可知以較高的Address bits做比較時,可以得到大區塊的分區。而當週邊及記憶體並未佔滿所有位址時,可以不理會高的位址線,因為固然有不同的大區塊具有相同的低BIT位址,但其中有些區塊不存在時,只剩一區塊,其解到的位址並不會出現雙包或多包的情形。
住址解碼用IC
讀寫位址的分辨方式有許多種,包括有:位址解碼器(Address Decoder) /(Demultiplexer) 解多工器,比較器,與一些簡單邏緝。其中位址解碼器(decoder)是一種可以將一個位元的資料透過選擇分配給多個輸出端其中之一的裝置,所以又稱為解多工器(Demuliplexer)。74LS138是一個3對8(3條位址線解到8條輸出)的解碼器/解多工器3-Line to 8-Line Decoder / Demulti-plexer 。由3條編碼輸入端(A0-A2)配合致能控制輸入線(/E1 , /E2 ,E3),決定8個反相輸出端(/O0-/O7)其中之一輸出訊號。在現有的數位積體電路中,如74138,74139,74154分別為3對8、2對4、4對16的解多功器/解碼器。
由真值表可以看到,
時這顆IC致能,輸出才會受到輸入影響而有變化。當這顆IC致能時,
三支腳共三個位元,以二進制表示0到7,其所表示的值即為輸出為L的腳。例如
輸出為L,其它的為H。
支腳可以拿來選擇致能被解到住址的IC。