Anda di halaman 1dari 34

Bus Alamat

Mochammad Rif’anST. MT.


Bus pada mikroprosesor

• Bus Data
• Bus Alamat
• Bus Kontrol
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
0 1 1 0 1 1 0 0
• Secara sederhana memory
dapat digambarkan sebagai Bus Data
rak penyimpan data dengan
masing-masing laci memiliki 0 1 1 0 1 1 0 0 00
alamat tertentu. Masing-
masing laci memiliki 0 0 1 1 1 1 0 0
kapasitas untuk menyimpan 01
sejumlah bit, sesuai lebar bus 10
data yang dimiliki. Ex : 8 bit 1 1 1 0 0 0 0 0

• Jumlah laci harus diwakili


0 0 0 0 1 1 1 1 11
oleh bilangan biner. Sehingga
untuk dapat mengalamati 4
baris laci, diperlukan : Bus Alamat
– 2n=4 ; n = 2 jalur bus alamat
0 0

Contoh: memory 4 x 8 bit (4 byte)


Memory
0 0 1 1 1 1 0 0
• Secara sederhana memory
dapat digambarkan sebagai Bus Data
rak penyimpan data dengan
masing-masing laci memiliki 0 1 1 0 1 1 0 0 00
alamat tertentu. Masing-
masing laci memiliki 0 0 1 1 1 1 0 0
kapasitas untuk menyimpan 01
sejumlah bit, sesuai lebar bus 10
data yang dimiliki. Ex : 8 bit 1 1 1 0 0 0 0 0

• Jumlah laci harus diwakili


0 0 0 0 1 1 1 1 11
oleh bilangan biner. Sehingga
untuk dapat mengalamati 4
baris laci, diperlukan : Bus Alamat
– 2n=4 ; n = 2 jalur bus alamat
0 1

Contoh: memory 4 x 8 bit (4 byte)


Memory
1 1 1 0 0 0 0 0
• Secara sederhana memory
dapat digambarkan sebagai Bus Data
rak penyimpan data dengan
masing-masing laci memiliki 0 1 1 0 1 1 0 0 00
alamat tertentu. Masing-
masing laci memiliki 0 0 1 1 1 1 0 0
kapasitas untuk menyimpan 01
sejumlah bit, sesuai lebar bus 10
data yang dimiliki. Ex : 8 bit 1 1 1 0 0 0 0 0

• Jumlah laci harus diwakili


0 0 0 0 1 1 1 1 11
oleh bilangan biner. Sehingga
untuk dapat mengalamati 4
baris laci, diperlukan : Bus Alamat
– 2n=4 ; n = 2 jalur bus alamat
1 0

Contoh: memory 4 x 8 bit (4 byte)


Kapasitas Memory Mikroprosesor

• Jika suatu mikroprosesor memiliki 8 jalur


bus alamat, berapa jumlah baris memory
yang dapat dialamati ?
– Jumlah baris = 28 = 256
• Jika suatu mikroprosesor memiliki 10 jalur
bus alamat, berapa jumlah baris memory
yang dapat dialamati ?
– Jumlah baris = 210 = 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
A7
A6 ?
A5
A5 Memory
A4
Mikroprosesor A4 64 byte
A3
(8 bit bus A3 (6 bit bus
Alamat) A2
A2 Alamat)
A1
A1
A0
A0
Untuk jalur A0 – A5 memory dan mikroprosesor dapat
Dihubungkan secara langsung. Bagaimana dengan A6 dan A7 ?

Mikroprosesor A7 A6 A5 A4 A3 A2 A1 A0
Bus Alamat

Memory A5 A4 A3 A2 A1 A0
Bus Alamat
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
Sisa Bus alamat memory

A7 A6 A5 A4 A3 A2 A1 A0 desimal Hex
0 0 0 0 0 0 0 0 0 00 Blok 1
0 0 0 0 0 0 0 1 1 (64byte)

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
0 1 1 1 1 1 1 1 127 7F (64 byte)

1 0 0 0 0 0 0 0 128 80 Blok 3
1 0 1 1 1 1 1 1 191 BF (64 byte)

1 1 0 0 0 0 0 0 192 C0 Blok 4
1 1 1 1 1 1 1 1 255 FF (64 byte)
• 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
A0 A0
A1 A1
A2 A2
Memory
A3 A3 64 byte
Mikroprosesor A4 A4 (6 bit bus
(8 bit bus A5 A5 Alamat)
Alamat) A6
A7 CS
?
Address
decoder

A7 A6 CS
Jika kita akan meletakkan memory pada alamat
0 0 0
Awal 00H, maka address dekoder dirancang agar
Saat keluaran A6 dan A7 keduanya berlogika 0, maka 0 1 1

Keluaran address dekoder juga harus berlogika 0. 1 0 1


1 1 1
Tabel Kebenaran Address Dekoder
Jika kita akan meletakkan memory pada alamat Awal 00H, maka
address dekoder dirancang agar Saat keluaran A6 dan A7 keduanya
berlogika 0, maka Keluaran address dekoder juga harus berlogika 0.
Untuk itu dibuat tabel kebenaran sebagai berikut :

A7 A6 Alamat AND OR A7 A6 A7  A6 A7  A6
(Hex)
0 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

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
Maka rangkaian pemetaan memory untuk memory 64byte yang dipetakan
Pada alamat 00H adalah sebagai berikut :

A0 A0
A1 A1
A2 A2
Memory
A3 A3 64 byte
Mikroprosesor A4 A4 (6 bit bus
(8 bit bus A5 A5 Alamat)
Alamat) A6
A7 CS
Address Dekoder dengan NAND
• Dapat pula digunakan rangkaian dekoder sebagai berikut:

A0 A0
A1 A1
A2 A2
Memory
A3 A3 64 byte
Mikroprosesor A4 A4 (6 bit bus
(8 bit bus A5 A5 Alamat)
Alamat) A6
0
A7 CS
0
1
0
1
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.
A0 A0
A1 A1
A2 A2
Memory
A3 A3 64 byte
Mikroprosesor A4 A4 (6 bit bus
(8 bit bus A5 A5 Alamat)
Alamat) A6
0
A7 CS
1
1
0
1
Pemetaan untuk lebih dari 1 ic
memory
A0 . . A 5
Memory
A0 . . A 5 64 byte

A0 . . A 5 Memory C0H
A0 . . A 5 64 byte
Memory CS
80H
Mikroprosesor 64 byte
(8 bit bus CS
00H
Alamat)
A6
CS
A7
Status memory saat A7 & A6 = 00
A0 . . A 5
Memory
A0 . . A 5 64 byte

A0 . . A 5 Memory C0H
A0 . . A 5 64 byte
Memory CS
80H
Mikroprosesor 64 byte
(8 bit bus CS
00H
Alamat) 0 0
A6
CS
A7 0
Status memory saat A7 & A6 = 01
A0 . . A 5
Memory
A0 . . A 5 64 byte

A0 . . A 5 Memory C0H
A0 . . A 5 64 byte
Memory CS
80H
Mikroprosesor 64 byte
(8 bit bus CS
00H
Alamat) 1 0
A6
CS
A7 0
Status memory saat A7 & A6 = 10
A0 . . A 5
Memory
A0 . . A 5 64 byte

A0 . . A 5 Memory C0H
A0 . . A 5 64 byte
Memory CS
80H
Mikroprosesor 64 byte
(8 bit bus CS
00H
Alamat) 0 0
A6
CS
A7 1
Status memory saat A7 & A6 = 11
A0 . . A 5
Memory
A0 . . A 5 64 byte

A0 . . A 5 Memory C0H
A0 . . A 5 64 byte
Memory CS
80H
Mikroprosesor 64 byte
(8 bit bus CS
00H
Alamat) 1 0
A6
CS
A7 1
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 10
2 kB = 2 11
4 kB = 2 12
8 kB = 2 13

Jadi 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
ADDRESS MEMORY
DECODER

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
• Gambar rangkaian address decodernya
Latihan 1

• Buatlah rangkaian mikroprosesor-memory


untuk mikroprosesor dengan 16 bit bus
alamat. Pada mikroprosesor tersebut
dipasang 3 buah memory dengan
kapasitas 4kB dan diletakkan pada alamat:
– 0000H
– 0200H
– E000H
Latihan 2

• Buatlah rangkaian mikroprosesor-memory


untuk mikroprosesor dengan 16 bit bus
alamat. Pada mikroprosesor tersebut
dipasang 3 buah memory sebagai berikut :
– 4kB
– 8kB
– 16kB
Kita lanjutkan pada pertemuan
berikutnya

Anda mungkin juga menyukai