mikropengendali - Danny Kurnianto

advertisement
MIKROPENGENDALI
TEMU – 1 INTRODUCTION TO COMPUTING
Sub-Tema : 1. Numbering and Coding System
2. Semiconductor Memory
3. CPU Architecture
OLEH : DANNY KURNIANTO,S.T.,M.Eng.
SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM
PURWOKERTO
NUMBERING AND CODING SYSTEMS
Converting from decimal to binary
Sistem bilangan yang sering dipakai oleh manusia dalam berhitung
adalah system bilangan decimal atau system bilangan basis 10
(diwakilkan dengan 10 symbol).
Sistem bilangan yang sering dipakai oleh system kpmputer adalah
system bilangan biner atau basis 2 (diwakili oleh 2 symbol).
Salah satu cara mengubah bilangan decimal ke biner adalah dengan
membagi bilangan decimal dengan angka 2, proses ini terus berlanjut
sampai hasil bagi menjadi 0.
Sisa bagi kemudian ditulis dalam urutan terbalik untuk mendapatkan
bilangan biner.
Converting Binary to Decimal
Untuk mengubah dari bilangan biner ke decimal, maka perlu
dipahami konsep pembobotan pada setiap posisi bit bilangan biner.
MSB
X
X
X
X
X
X
X
X
X
LSB
210
29
28
27
26
25
24
23
22
21
20
1028
512
256
128
64
32
16
8
4
2
1
Konsep pembobotan masing-masing posisi bit bilangan biner juga
dapat digunakan untuk mengubah bilangan decimal ke biner
seperti contoh dibawah ini.
Hexadecimal System
Sistem bilangan heksadesimal disebut juga system bilangan basis 16
(diwakilkan oleh 16 symbol).
Bilangan hexadecimal merupakan representasi dari bilangan-bilangan
biner untuk memudahkan manusia dalam merepresentasikan urutan
bilangan 0 dan 1.
Sebagai contoh, bilangan biner 10010001 = 91h
Berikut tabel bilangan heksadesimal.
Converting Between Binary and Hexadecimal
Untuk mengubah dari bilangan biner ke heksa, maka dimulai dari LSB
dikelompokkan setiap 4 bit lalu setiap 4 bit diubah ke dalam
heksadesimal.
Converting from decimal to hexadecimal
Untuk mengubah bilangan decimal ke heksa ada 2 cara yaitu :
1. Diubah dulu ke bilangan biner, lalu baru diubah ke heksa.
2. Diubah secara langsung dari decimal ke heksa.
Converting hexadecimal to decimal
Untuk mengubah heksadesimal ke decimal dapat dilakukan dengan 2
cara yaitu :
1. Ubah dari heksa ke biner dan kemudian baru diubah ke decimal.
2. Ubah secara langsung dari heksa ke decimal dengan menjumlahkan bobot
untuk setiap digitnya.
Addition of Binary and Hex Numbers
Penjumlahan Biner
Penjumlahan Heksadesimal
Dimulai dari digit paling kecil, jumlahkan kedua digit, jika hasilnya
kurang dari 16 maka tulislah hasilnya di posisi tersebut.
Jika hasilnya lebh dari 16, maka kurangi hasilnya tsb dengan 16 ,
dengan carry 1 untuk digit berikutnya.
Pengurangan Heksadesimal
Pada pengurangan 2 bilangan heksa, jika digit kedua lebih besar dari
pertama maka pinjam 16 dari digit sebelumnya.
DIGITAL PRIMER
Binary Logic
Logika biner terdiri dari 2 symbol yaitu 0 dan 1 .
Masing-masing symbol merepresentasika tegangan seperti pada tabel
di bawah ini.
Logic Gate
Penjumlahan dengan Half Adder
Address decoder
 Contoh lain dari aplikasi gerbang logika adalah decoder. Rangkaian decoder
banyak digunakan untuk pendekode alamat pada perancangan computer.
Gambar berikut ini adalah decoder nilai 9 (1001) dan 5 (0101).
Flip Flop
 Komponen lain yang banyak digunakan pada system digital adalah Flip Flop
yang berfungsi untuk menyimpan data. Flip Flop D banyak digunakan sebagai
penahan data.
SEMICONDUCTOR MEMORY
Pada bagian ini akan didiskusikan bermacam jenis memori semikonduktor dan
karakteristiknya seperti kapasitas, organisasi, dan waktu akses.
Juga akan dipelajari bagaimana sebuah memori terhubung ke CPU.
A. Terminologi Penting Pada Sistem Komputer
Beberapa istilah seperti bit, nibble, byte dan word ditunjukkan seperti pada
tabel berikut ini.
B. Organisasi Internal sebuah Komputer
Bagian-bagian sebuah computer secara umum dapat dibagi menjadi 4 bagian
yaitu CPU, Memori, Perangkat Input/Ouput, dan system Bus.
Fungsi dari CPU adalah memproses informasi yang tersimpan dalam memori.
 Fungsi perangkat input/output seperti keyboard dan monitor adalah
menyediakan cara berkomunikasi dengan CPU.
 CPU terhubung ke memori dan perangkat input/output melalui system bus.
Terdapat 3 macam bus, yaitu bus data, bus alamat dan bus Kendali (control).
 Agar setiap perangkat (memori dan I/O) dapat dikenali oleh mikroprosesor,
maka perangkat tersebut harus diberi alamat uniq yang berbeda satu sama
lainnya.
 CPU meletakkan alamat pada bus alamat dan rangkaian decoder alamat akan
menemukan perangkat tersebut.
 Kemudian CPU menggunakan bus data untuk mengambil data atau
mengirimkan data ke perangkat.
 Bus kendali digunakan untuk menyediakan sinyal baca (read) atau sinyal tulis
(write) pada perangkat untuk mengindikasikan jika CPU sedang meminta
informasi atau mengirimkan informasi.

C. ROM dan RAM
 Memori ada 2 jenis, yaitu RAM dan ROM
 RAM (Random Access Memory) atau read/write memory : memori
yang dapat dibaca dan ditulis.
• Digunakan sebagai tempat penyimpanan sementara saat
program berjalan.
• Data akan hilang saat komputer power mati
 ROM (Read Only Memory) : memori yang hanya dapat dibaca saja.
• Menyimpan data penting secara permanan, tidak hilang saat
power off.
• Disebut juga non-volatile memory.
 PROM ( Programmable ROM)
PROM adalah jenis ROM yang mana pengguna dapat memasukkan (burn)
informasi kedalamnya. Dengan kata lain, PROM adl memori yang dapat di
program oleh pengguna.
PROM deprogram dengan cara memanaskan fuse pada setiap bit PROM
sehingga dibutuhkan tools khusus seperti ROM Burner atau ROM
Programmer.
PROM disebut juga memori yang hanya bisa sekali saja di program sehingga
jika terjadi kesalahan dalam memasukkan program maka PROM-nya harus
diganti yang baru.
EPROM (Erasable Programmable ROM)
Pada EPROM, seseorang dapat memprogram memori chip dan
menghapusnya sampai 1000 kali.
Penggunaan EPROM yang luas sering disebut sebagai UV-EPROM (Ultra violet
EPROM).
Untuk menghapus program pada chip memori digunakan radiasi sinar Ultra
Violet yang diarahkan pada jendela Chip-nya
Cara memprogram UV-EPROM :
 Konten chip harus dihapus. Untuk menghapus kontennya, lepaskan chip
memori dari socket pada mainboard lalu tempatkan pada perangkat
penghapus EPROM untuk diberi radiasi UV pada chip memori selama
kurang lebih 20 menit.
 Memprogram Konten Chip Memori. Untuk memprogram Chip UV-EPROM,
tempatkan chip memori pada ROM Burner.
 Setelah deprogram, chip memori dapat dipasang kembali di socket
mainboard.
EEPROM (Electrically Erasable Programmable ROM)
EEPROM memiliki keunggulan melebihi EPROM seperti pada cara menghapus
konten chip yang dilakukan secara elektrik.
EEPROM memiliki fasilitas untuk memilih berapa byte data yang akan
dihapus.
EEPROM dapat diprogram dan dihapus datanya saat masih berada pada
mainboard shg tidak memerlukan perangkat pemrogram dan penghapus.
Flash Memory EPROM
Sejak tahun 1990, Flash EPROM menjadi programmable memory yang
popular karena beberapa alasan, yaitu:
1. Waktu untuk menghapus isi memori hanya memerlukan waktu kurang
dari 1 detik dan karena cara menghapus data secara elektrik maka
sering disebut juga sebagai Flash EEPROM.
2. Perbedaan Flash EPROM dengan EEPROM adalah bahwa pada Flash
EPROM, saat dilakukan penghapusan data maka seluruh isi data pada
chip akan terhapus sedangkan pada EEPROM tidak demikian.
SRAM (Static RAM)
 Sel-sel penyimpanan pada SRAM dibuat dari rangkaian Flip-flop.
 Masalahnya adalah bahwa dengan menggunakan Flip-Flop ini, pada setiap sel dibutuhkan
minimal 6 transistor dan setiap sel hanya dapat menyimpan 1 bit data.
 Pada saat ini, setiap sel dapat dibuat dengan 4 buat transistor dengan teknologi CMOS yang
akan memperbesar kapasitas penyimpanan memori, tetapi kapasitas penympanan ini masih
jauh diawah DRAM.





A0 – A10 sebagai input alamat.
WE = Write enable untuk penulisan data (aktif low)
OE = Output enable untuk pembacaan data (aktif low)
CS = Chip Select , digunakan untuk memilih chip memori
I/O0 – I/O7 = data input output
Langkah-langkah dibawah ini adalah cara untuk menulis data pada SRAM :
1.
2.
3.
4.
5.
Siapkan alamat pada bus alamat A0-A10.
Aktifkan pin CS
Buat WE = 0 dan OE = 1
Siapkan data pada pin I/O0 – I/O7
Buat WE = 1 dan data akan dituliskan pada SRAM saat tepi naik sinyal WE.
Berikut ini adalah langkah-langkah untuk membaca SRAM:
1. Siapkan alamat pada bus alamat A0 – A10, ini terjadi pada saat awal
waktu akses (tAA).
2. Aktifkan pin CS
3. Buat OE = 0 dan WE = 1.
4. Data akan terbaca pada saat tepi turun pada sinyal OE.
NV-RAM (Non Volatile RAM)
Seperti halnya memori RAM lainnya bahwa CPU dapat menulis dan membaca
data pada memori NV-RAM, tapi bedanya sifatnya adalah non volatile, artinya
data tidak hilang saat daya dimatikan.
NV-RAM merupakan kombinasi yang baik antara RAM dan ROM karena data
dapat dituliskan dan dibaca pada memori ini serta sifatnya yang non volatile.
Untum mempertahannya data pada memori NV-RAM, memori jenis ini dibuta
dari komponen-komponen berikut ini:
1. Menggunakan teknologi CMOS sehingga konsumsi dayanya sangat kecil.
2. Menggunakan backup sumber energi internal berupa baterai Lithium.
3. Menggunakan rangkaian kendali cerdas, fungsi utama rangkaian ini
adalah untuk memonitor pin VCC sehingga saat sumber daya luar
terputus dapat dideteksi. Saat sumber daya luar terputus, maka secara
otomatis rangkaian ini akan men-switch ke sumber daya internal berupa
baterai Lithium.
DRAM (Dynamic RAM)
Pada DRAM, sel penyimpanan disusun dari kapasitor, berbeda halnya dengan
SRAM yang mengunakan flip-flop.
Penggunaan kapasitor pada sel penyimpanan menyebabkan ukuran sel lebih
kecil dibandingkan sel pada SRAM dengan kapasitas DRAM yang lebih besar.
Kelebihan utama pada DRAM adalah sebagai berikut:
 Kapasitas yang besar
 Lebih murah
 Konsumsi daya yang lebih rendah
Kelemahan dari DRAM adalah sebagai berikut:
 Harus di refresh secara periodik karena sel kapasitor akan hilang saat muatan listrik
kapasitor terbuang.
 Saat di refresh, maka data tidak dapat di akses.
Organisasi DRAM
 Pada semua chip memori ROM memiliki 8 pin data, beda halnya dengan
chip DRAM yang dapat memiliki organisasi seperti x1, x4, x8 atau x16.
 Pada gambar dibawah ini adalah contoh chip memori 256K x 1 DRAM.
 Bus alamat dari A0 – A8
 Pin RAS, CAS, WE (Write Enable), data in (D IN) dan data out
(D OUT).
 Serta terdapat pin Vcc dan Ground.
D. Memory Address Decoding
Pada bagian ini aka dibahas mengenai rangkaian decoding alamat memori yang
berfungsi untuk memilih blok memori yang akan digunakan untuk menyimpan
data.
Pada chip memori biasanya ada CS (Chip Selected) atau CE (Chip Enable) yang
dapat diaktifkan (active low) untuk mengakses isi memori.
Untuk mengkoneksikan chip memori ke CPU bisa mengikuti langkah-langkah
berikut ini:
 Bus data pada CPU terhubung secara langsung pada pin data pada chip
memori.
 Sinyal kendali RD (Read) dan WR (Write) pada CPU terhubung ke OE (Output
Enable) dan WE (Write Enable) pada chip memori.
 Pada bus alamat dengan bit rendah (A0-A11) pada CPU terhubung ke pin
alamat pada chip memori. Sedang 4 bit atas (A12-A15) digunakan untuk
mengaktifkan pin CS pada chip memori. Selama CS tidak aktif, maka data tidak
akan dapat dibaca atau ditulis pada chip memori.
Rangkaian Decoder Alamat Dengan Gerbang Logika
Cara sederhana untuk membangun sebuah rangkaian decoding adalah
menggunakan Gerbang NAND, dimana output dari NAND ini adalah active low
dan pin CS (pada chip memori) juga active low.
 Pada gambar disamping, pin A12-A15 terhubung ke
pin CS pada Chip Memori.
 Untuk mengaktifkan pin CS, maka nilai A15-A12
harus 0011 sehingga output rangkaian decoding
adalah berlogika 0 (low).
 Rangk decoding ini akan mengalamati alamat
memori pada rentang nilai 3000 H – 3FFF H.
Rangkaian Decoder Alamat dengan IC 74LS138 (decoder 3 input 8 output)
Rangk decoder alamat menggunakan IC 74LS138 adalah paling banyak
digunakan dengan 3 input (A,B,C) yang menghasilkan 8 output (active low).
Ada 3 input tambahan yang dapat dihubungkan ke sinyal alamat yaitu G1,
G2A, dan G2B. G1 akan active high, sedangkan G2A dan G2B akan active low.
Jika ketiga input tambahan tersebut tidak terhubung ke sinyal alamat, maka
harus tetap di aktifasi dengan menghubungkan ke Vcc atau ground.
Rangkaian Decoder Alamat dengan Programmable Logic Chip
Salah satu rangkaian decoder alamat yang banyak digunakan adalah
Programmable Logic Chip seperti PAL, GAL atau FPGA.
Kelemahan menggunakan chip jenis ini adalah bahwa dibutuhkan software
dan Burner untuk PAL/GAL/FPGA.
Kelebihannya adalah chip tersebut dapat deprogram untuk berbagai
kombinasi alamat.
Dapat mengakomodasi lebih banyak input alamat memori.
CPU ARCHITECTURE
Inside CPU
Fungsi dari CPU adalah mengambil intruksi pada memori dan melakukan
eksekusi.
Untuk melakukan pengambilan intruksi dan eksekusi, maka CPU memerlukan
resource sebagai berikut:
 Menggunakan sejumlah register untuk menyimpan informasi sementara. Register pada
CPU dapat 8 bit, 16 bit, atau 32 bit tergantung jenis CPU. Secara umum, makin banyak
dan besar register maka semakin baik CPU bekerja akan tetapi harganya juga akan
semakin mahal.
 CPU juga akan mengunakan bagian ALU pada proses aritmatika seperti penjumlaan,
pengurangan, perkalian, pembagian dan fungsi logika.
 CPU juga akan menggunakan bagian Program Counter yang berfungsi untuk menentukan
alamat intruksi mana yang akan di eksekusi.
 CPU juga menggunakan bagian Intruction Decoder yang berfungsi untuk
menginterpretasikan intruksi yang diambil dalam CPU. Intruction decoder akan
menyimpan arti dari setiap intruksi dan apa langkah yang dilakukan CPU saat menerima
intruksi yang diberikan.
Harvard dan von Neumann Architecture
Arsitektur von Neumann adalah suatu arsitektur komputer dimana digunakan
bus yang sama untuk mengakses data dan kode program. Ini berarti bahwa
proses pengaksesan data dan kode program dilakukan secara bergantian
sehngga kecepatannya menjadi lambat.
Harvard arsitektur adalah suatu arsitektur komputer dimana digunakan bus
yang berbeda untuk mengakses data dan kode program. Jadi ada 4 set bus
yaitu,




Bus data untuk membawa data dari dan ke luar CPU.
Bus alamat untuk mengakses data
Bus data untuk membawa kode program ke dalam CPU
Bus alamat untuk mengakses kode program
Pada gambar dibawah ini adalah Gambar arsitektur Harvard dan von
Neumann
Latihan Soal:
1. Rancanglah sebuah rangkaian decoding untuk alamat 2000 H – 2FFF H
menggunakan gerbang logika NAND dan Inverter.
2. Carilah alamat-alamat untuk Y0, Y3 dan Y6 desain diagram rangkaian decoding
menggunakan IC 74LS138 dibawah ini.
Untuk Soal No.2
Untuk Soal No.3
3. Carilah rentang alamat-alamat desain memori pada digram berikut ini.
Download