Bus Alamat
Kuliah 3 TKE 321
R. Arief Setyawan, ST. MT.
Bus pada mikroprosesor
• Bus Data
• Bus Alamat
• Bus Kontrol
0 1 1 0 1 1 0 0
Bus Alamat
• Berfungsi untuk mengidentifikasi alamat
peripheral (piranti) baik Memori maupun Input dan Output.
• Jika mikroprosesor akan berhubungan dengan
piranti terlebih dahulu mikroprosesor memberikan alamat piranti yang akan dihubungi. Mekanisme demikian disebut dengan Mengidentidikasi
alamat.
• Bus alamat ini sifatnya adalah Unidirectional
(Satu arah) Output, yaitu mengarah satu arah dari
mikroprosesor ke piranti.
Memory
• Secara sederhana memory dapat digambarkan sebagai rak penyimpan data dengan masing-masing laci memiliki alamat tertentu. Masing-
masing laci memiliki
kapasitas untuk menyimpan sejumlah bit, sesuai lebar bus data yang dimiliki. Ex : 8 bit
• Jumlah laci harus diwakili
oleh bilangan biner. Sehingga untuk dapat mengalamati 4 baris laci, diperlukan :
– 2n=4 ; n = 2 jalur bus alamat
0 1 1 0 1 1 0 0
0 1 1 0 1 1 0 0 00
01 10
11
Contoh: memory 4 x 8 bit (4 byte)
0 0 1 1 1 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1
0 0
Bus Alamat Bus Data
Memory
• Secara sederhana memory dapat digambarkan sebagai rak penyimpan data dengan masing-masing laci memiliki alamat tertentu. Masing-
masing laci memiliki
kapasitas untuk menyimpan sejumlah bit, sesuai lebar bus data yang dimiliki. Ex : 8 bit
• Jumlah laci harus diwakili
oleh bilangan biner. Sehingga untuk dapat mengalamati 4 baris laci, diperlukan :
– 2n=4 ; n = 2 jalur bus alamat
0 0 1 1 1 1 0 0
0 1 1 0 1 1 0 0 00
01 10
11
Contoh: memory 4 x 8 bit (4 byte)
0 0 1 1 1 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1
0 1
Bus Alamat Bus Data
Memory
• Secara sederhana memory dapat digambarkan sebagai rak penyimpan data dengan masing-masing laci memiliki alamat tertentu. Masing-
masing laci memiliki
kapasitas untuk menyimpan sejumlah bit, sesuai lebar bus data yang dimiliki. Ex : 8 bit
• Jumlah laci harus diwakili
oleh bilangan biner. Sehingga untuk dapat mengalamati 4 baris laci, diperlukan :
– 2n=4 ; n = 2 jalur bus alamat
1 1 1 0 0 0 0 0
0 1 1 0 1 1 0 0 00
01 10
11
Contoh: memory 4 x 8 bit (4 byte)
0 0 1 1 1 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1
1 0
Bus Alamat Bus Data
Kapasitas Memory Mikroprosesor
• Jika suatu mikroprosesor memiliki 8 jalur bus alamat, berapa jumlah baris memory yang dapat dialamati ?
– Jumlah baris = 2
8= 256
• Jika suatu mikroprosesor memiliki 10 jalur bus alamat, berapa jumlah baris memory yang dapat dialamati ?
– Jumlah baris = 2
10= 1024 = 1 k
Kapasitas memory
• Kapasitas memory merupakan hasil perkalian dari jumlah baris dan jumlah kolom (lebar bus data).
– Misal :
suatu memory memiliki 8 jalur bus alamat dan 8 jalur (bit) bus data. Maka kapasitas memory tersebut
adalah : jumlah baris = 2 8 = 256 lebar data = 8 bit (1 byte)
kapasitas memory = 256 x 8 bit = 2048 bit atau 256 x 1 byte = 256 byte.
IC Memory
• Terdapat beberapa jenis IC memory, yaitu:
– Volatile : Memory yang data didalamnya akan hilang jika catu daya dihilangkan.
• Ex: RAM
– Non Volatile : Memory yang data didalamnya tidak hilang meskipun catu daya dihilangkan.
• Ex: ROM, EEPROM, Flash dll.
IC memory paralel
• Terdapat aturan standar pengkodean nama memory. Kode tersebut adalah
– RAM : 62xxx – ROM : 27xxx – EEPROM : 28xxx
Dimana xxx adalah kapasitas memory dalam kilo bit.
Contoh : 62 64 -> 62 = RAM
64 = 64 / 8 bit (lebar data)
= 8 k byte.
Pemetaan memory
• Pemetaan memory adalah suatu teknik yang digunakan untuk menghubungkan mikroprosesor dengan memory sehingga sistem mikroprosesor dapat melakukan akses dalam memory tanpa terjadi
tumpang tindih alamat.
Contoh :
Suatu Mikroprosesor memiliki 8 bit bus alamat.Mikroprosesor tersebut akan
dihubungkan dengan ic memory dengan kapasitas 64 Byte.
Kapasitas memory 64 Byte memerlukan :
2
n jalur= 64, n = 6.
Solusi
Mikroprosesor
Bus Alamat A7 A6 A5 A4 A3 A2 A1 A0
Memory
Bus Alamat A5 A4 A3 A2 A1 A0
Mikroprosesor (8 bit bus
Alamat)
A7 A6 A5 A4 A3 A2 A1 A0
A5 A4 A3 A2 A1 A0
Memory 64 byte (6 bit bus
Alamat)
?
Untuk jalur A0 – A5 memory dan mikroprosesor dapat
Dihubungkan secara langsung. Bagaimana dengan A6 dan A7 ?
Solusi
• Mikroprosesor memiliki 8 bit bus alamat, sedangkan memory cukup menggunakan 6 bit bus alamat.
Bagaimana menghubungkannya ?
• Secara sederhana dapat digambarkan kapasitas
mikroprosesor adalah 28byte = 256; sedangkan kapasitas memory adalah 64 byte. Maka dapat diperoleh bahwa
mikroprosesor tersebut dapat dihubungkan dengan 4 buah memory. (256 / 64 = 4)
• Dengan cara lain dapat diperoleh :
– Bus alamat mikroprosesor (8) – bus alamat memory (6) = 2 bit sisa.
– Jumlah memory 64 byte yang dapat dihubungkan adalah sebanyak 22 = 4 buah.
Tabel peta memory 64byte pada
mikroprosesor dengan 8 bit bus alamat
A7 A6 A5 A4 A3 A2 A1 A0 desimal Hex
0 0 0 0 0 0 0 0 0 00 Blok 1
(64byte)
0 0 0 0 0 0 0 1 1
0 0 . . . . . . .
0 0 1 1 1 1 1 0 62
0 0 1 1 1 1 1 1 63 3F
0 1 0 0 0 0 0 0 64 40 Blok 2
(64 byte)
0 1 1 1 1 1 1 1 127 7F
1 0 0 0 0 0 0 0 128 80 Blok 3
(64 byte)
1 0 1 1 1 1 1 1 191 BF
1 1 0 0 0 0 0 0 192 C0 Blok 4
(64 byte)
1 1 1 1 1 1 1 1 255 FF
Bus alamat memory Sisa
• Dari tabel dapat dilihat bahwa yang
membedakan antar blok memory satu dengan yang lain adalah jalur bus alamat yang tidak
terhubung langsung dengan memory. Sehingga jalur yang bebas tersebut harus dibuat suatu
address decoder untuk mengaktifkan salah satu blok memory.
• Pada IC memory terdapat pin yang berfungsi untuk mengaktifkan ic tersebut. Pin tersebut
pada umumnya bernama Chip Select (CS) atau
Output Enable (OE).
Address Dekoder
Mikroprosesor (8 bit bus
Alamat)
A0 A1 A2 A3 A4 A5 A6 A7
Memory 64 byte (6 bit bus
Alamat)
A0 A1 A2 A3 A4 A5
CS
Jika kita akan meletakkan memory pada alamat Awal 00H, maka address dekoder dirancang agar Saat keluaran A6 dan A7keduanya berlogika 0, maka Keluaran address dekoder juga harus berlogika 0.
?
Address decoder
Tabel Kebenaran Address Dekoder
A
7A
6 Alamat(Hex)
AND OR
A
7A
6 A7 A6 A7 A60 0 00H 0 0 1 1 1 0
0 1 40H 0 1 1 0 0 1
1 0 80H 0 1 0 1 0 1
1 1 C0H 1 1 0 0 0 1
Jika kita akan meletakkan memory pada alamat Awal 00H, maka address dekoder dirancang agar Saat keluaran A6 dan A7keduanya berlogika 0, maka Keluaran address dekoder juga harus berlogika 0.
Untuk itu dibuat tabel kebenaran sebagai berikut :
Dari Tabel tersebut didapatkan bahwa agar keluaran dengan logika 0 diperoleh saat keluaran A6 dan A7 berlogika 0, dapat digunakan
gerbang OR atau NAND dengan input yang di inverting
Address Dekoder dengan OR
Mikroprosesor (8 bit bus
Alamat)
A0 A1 A2 A3 A4 A5 A6 A7
Memory 64 byte (6 bit bus
Alamat)
A0 A1 A2 A3 A4 A5
CS
Maka rangkaian pemetaan memory untuk memory 64byte yang dipetakan Pada alamat 00H adalah sebagai berikut :
Address Dekoder dengan NAND
• Dapat pula digunakan rangkaian dekoder sebagai berikut:
Mikroprosesor (8 bit bus
Alamat)
A0 A1 A2 A3 A4 A5 A6 A7
Memory 64 byte (6 bit bus
Alamat)
A0 A1 A2 A3 A4 A5
0 CS 0
1
1 0
Pemetaan pada alamat 80H
• Dengan cara yang sama kita dapat memetakan memory tersebut pada alamat yang lain. Misalnya kita letakkan pada alamat awal 80H. Maka dekoder alamat harus di desain agar keluaran dekoder adalah 0 saat A6 berlogika 0 dan A7 berlogika 1.
Mikroprosesor (8 bit bus
Alamat)
A0 A1 A2 A3 A4 A5 A6 A7
Memory 64 byte (6 bit bus
Alamat)
A0 A1 A2 A3 A4 A5
0 CS 1
1
1 0
Memory 64 byte
C0H
CS
Memory 64 byte
80H
CS
Pemetaan untuk lebih dari 1 ic memory
Mikroprosesor (8 bit bus
Alamat)
Memory 64 byte
00H
CS A0 . . A5
A0 . . A5
A0 . . A5
A0 . . A5
A6 A7
Memory 64 byte
C0H
CS
Memory 64 byte
80H
CS
Status memory saat A
7& A
6= 00
Mikroprosesor (8 bit bus
Alamat)
Memory 64 byte
00H
0 CS
0 0
A0 . . A5
A0 . . A5
A0 . . A5
A0 . . A5
A6 A7
Memory 64 byte
C0H
CS
Memory 64 byte
80H
CS
Status memory saat A
7& A
6= 01
Mikroprosesor (8 bit bus
Alamat)
Memory 64 byte
00H
0 CS
1 0
A0 . . A5
A0 . . A5
A0 . . A5
A0 . . A5
A6 A7
Memory 64 byte
C0H
CS
Memory 64 byte
80H
CS
Status memory saat A
7& A
6= 10
Mikroprosesor (8 bit bus
Alamat)
Memory 64 byte
00H
1 CS
0 0
A0 . . A5
A0 . . A5
A0 . . A5
A0 . . A5
A6 A7
Memory 64 byte
C0H
CS
Memory 64 byte
80H
CS
Status memory saat A
7& A
6= 11
Mikroprosesor (8 bit bus
Alamat)
Memory 64 byte
00H
1 CS
1 0
A0 . . A5
A0 . . A5
A0 . . A5
A0 . . A5
A6 A7
Latihan
• Dengan cara yang sama, coba buat rangkaian address decoder untuk
mikroprosesor dengan 16 bit bus alamat dan petakan memory sebesar 8kB pada alamat 0000H dan 8kB pada alamat
4000H.
Penyelesaian
Memory = 8kB
Jumlah jalur alamat yang diperlukan untuk mengalamati 8kB : -- > 1 kB = 2
102 kB = 2
114 kB = 2
128 kB = 2
13Jadi untuk memory 8kB diperlukan 13 bit
bus alamat
• Kapasitas bus alamat pada mikroprosesor adalah 16 bit, sedangkan memory
memerlukan 13 bit, sehingga masih
terdapat 3 bit bus alamat sisa. Sehingga untuk meletakkan memory pada alamat
4000H, diperlukan dekoder yang akan aktif
saat input A15-A13= 010.
Tabel alamat untuk 8kB memory
A15 A14 A13 A12 A11 .. .. A1 A0 hex
0 0 0 0 0 0 0 0000H
0 0 0 1 1 1 1 1FFFH
0 0 1 0 0 0 0 2000H
0 0 1 1 1 1 1 3FFFH
0 1 0 1 1 1 1 4000H
0 1 0 0 0 0 0 5FFFH
0 1 1 1 1 1 1 6000H
0 1 1 0 0 0 0 7FFFH
1 1 1 0 0 0 0 E000H
1 1 1 1 1 1 1 FFFFH
MEMORY
ADDRESS DECODER