• Tidak ada hasil yang ditemukan

Arsitektur Mikroprosesor dan Pengoperasi docx

N/A
N/A
Protected

Academic year: 2018

Membagikan "Arsitektur Mikroprosesor dan Pengoperasi docx"

Copied!
8
0
0

Teks penuh

(1)

Arsitektur (Internal) Mikroprosesor dan Pengoperasiannya

Pada model mikroprosesor sederhana kita telah melihat komponen-komponen utama:

- Mikroprosesor - Unit memori - Clock

Pada mikroprosesor:

- Program counter - Instruction decoder - Instruction register - Different register - Control logic

- ALU

Pada bahasan ini kita akan membahas diagram blok mikroprosesor dan model programmer. Diagram blok mikroprosesor dan model pemrograman memberikan gambaran bagaimana sebuah mikroprosesor dibentuk.

Gambar 1 Diagram blok Mikroprosesor

(2)

Gambar 2 Model Programmer

Model programer akan membantu dalam proses pemrograman. Perbedaannya bahwa model programmer hanya memperlihatkan bagian-bagian dari mikroprosesor yang dapat diubah oleh programmer.

Kesimpulannya bahwa:

- Blok diagram mempermudah dalam memahami arsitektur mikroprosesor

- Medel programmer mempermudah dalam memahami cara kerja dari mikroprosesor dalam lingkungan pemrograman (programming environment)

Diagram blok melibatkan tiga perangkat logic utama:

ALU (Arithmetic Logic Unit)

Menangani logika pemrosesan data pada mikroprosesor. Memiliki dua input dan sebuah output. Bus data internal dari mikroprosesor dihubungkan ke kedua input dari ALU melalui temporary register dan accumulator.

Output tungggal dari ALU dihubungkan ke bus data internal sehingga hasil outputnya dapat dikirim ke perangkat manaput yang terhubung dengan bus data. Pada kebanyakan mikroprosesor, register A memberikan data ke ALU dan setelah melakukan operasi, word data yang dihasilkan dikirim ke register A dan disimpan. Register khusus ini, dimana data hasil operasi dikumpulkan dinamakan accumulator.

ALU bekerja baik dengan satu atau dua word data, tergantung jenis operasinya. ALU menggunakan saluran input sesuai kebutuhan. Contohnya, operasi penambahan (addition) menggunakan kedua input ALU sementara operasi komplemen hanya menggunakan satu input. Untuk operasi komplemen word data, semua bit dari word yang memiliki logika 1 diubah menjadi 0, dan sebaliknya.

ALU dari kebanyakan mikroprosesor dapat melakukan fungsi-fungsi berikut:

o Tambah (add) o Kurang (substract)

o AND

(3)

o XOR

Merupakan register yang paling banyak bekerja pada mikroprosesor. Biasanya digunakan untuk menyimpan data untuk dimanipulasi. Ketika operasi memproses dua word, baik secara logika atau aritmatika, accumulator menyimpan satu dari kedua word. Word yang lainnya dapat berada di register lainnya atau di memori. Biasanya hasil operasi logika dan aritmatika disimpan di accumulator. Pada kasus tertentu, setelah ekseskusi isi asli dari accumulator hilang karena ditimpa (overwritten).

Akumulator juga digunakan untuk transfer data antara saluran I/O dan lokasi memori, atau antar memori.

o Program Counter

Program merupakan serangkaian instruksi yang disimpan di memori. Instruksi-instruksi tersebut memberitahu mikroprosesor bagaimana memecahkan sebuah masalah. Adalah penting instruksi-instruksi tersebut untuk dieksekusi dalam urutan yang tepat untuk mendapatkan hasil yang benar. Urutan eksekusi instruksi ini diawasi oleh program counter. Ia mengawasi instruksi mana yang sedang digunakan dan yang akan dieksekusi. Program counter memberikan alamat lokasi memori dimana instruksi selanjutnya di ambil (fetch). Alasan inilah yang menyebabkan panjang dari program counter menentukan panjang program maksimum dalam bytes. Contohnya, mikroprosesor dengan 16 bit program counter dapat mengalamati 216 bytes (64K) memori.

Sebelum miroprosesor memulai eksekusi program, program counter harus diisi dengan alamat memori yang benar. Alamat memori ini harus berisi opcode dari intruksi pertama dalam program. Pada kebanyakan mikroprosesor lokasi ini adalah tetap.

(4)

Gambar 3 Eksekusi dari Program Subroutine

Program counter memiliki peran penting dalam eksekusi subrutin karena dapat diisikan dengan alamat memori yang diminta. Dengan bantuan instruksi adalah mungkin untuk mengisikan alamat memori manapun dalam program counter. Ketika subrutin akan dieksekusi, program counter diisi dengan alamat memori dari instruksi pertama dari subrutin. Setelah eksekusi dari subrutin, program counter disi dengan alamat memori dari instruksi selanjutnya dimana kontrol program ditransfer ke program subrutin.

o Status Register

Digunakan utnuk menyimpan hasil dari kondisi tertentu keteka operasi tertentu telah dilakukan selama eksekusi dari program. Status register juga diistikahkan dengan flag register. Operasi-operasi ALU dan operasi-operasi register tertentu dapat men-set atau me-reset satu atau lebih bit dalam status register. Bit Status akan memicu kumpulan intruksi baru dari mikroprosesor. Intruksi-intruksi tersebut memungkinkan eksekusi dari sebuah program untuk mengubah aliran pada basis dari kondisi bit-bit dalam status register. Sehingga kondisi dari bit-bit dalam status register dapat digunakan untuk menentukan keputusan logika dalam program. Beberapa bit-bit status register yang umum adalah:

1. Carry/ Borrow : bit carry diset ketika penjumlahan dari dua bilangan 8 bit adalah lebih dari 1111 1111 (FFH). Borrow dibuat ketika sebuah bilangan yang lebih besar mengurangi bilangan yang lebih kecil.

2. Zero : bit zero diset ketika isi dari register adalah nol setelah operasi. Ini terjadi tidak hanya ketika men-decrement register, tetapi juga ketika operasi aritmatika atau logika apapun yang menyebabkan isi registers menjadi nol.

3. Negatif atau tanda (sign) : pada komplemen 2 aritmatik, bit yang paling signifikan adalah bit tanda. Jika bit ini berlogika 1, bilangan merupakan bilangan negatif, selain itu kebalikannya. Bir negatif atau bit tanda (sign di set ketika operasi logika atau aritmatika memberikan hasil negatif.

4. Auxiliary Carry: di set ketika sebuah operasi penjumlahan pada 4 bit pertama menyebabkan sebuah carry (penyimpanan) ke bit kelima. Ini sering diistilahkan dengan half carry atau intermediate carry. Ini digunakan dalam aritmatika BCD.

(5)

dibawah). Flag ini diset jika operasi bertanda (signed operation) terlalu besar untuk mengisi bilangan bit yang tersedia (7bit untuk bilangan 8 bit) untuk merepresentasikannya.

Gambar 4 Komplemen 2 bilangan 8 bit.

Sebagai contoh, jika menambah bilangan bertanda 8-bit 01110110(+118 dalam desimal) dan bilangan bertanda 8-bit 00110110 (+54 dalam desimal). Hasilnya akan 10101100 (+172 desimal). Dimana merupakan hasil biner yang tepat, tetapi pada kasus ini adalah terlalu besar untuk dimuat dalam 7-bit yang diizinkan untuk bersar(magnitude) dalam bilangan bertanda 8-bit. Flag overflow akan diset setelah operasi ini untuk mengindikasikan bahwa hasil dari penambahan memiliki kelebihan (overflowed) pada bit pendanda.

6. Parity : ketika hasil dari sebuah opersi meninggakalan register terindikasi dengan bilangan ganjil 1, maka parity diset

o Stack Pointer

Merupakan register penting yang sering digunakan oleh programmer. Dalam penjelasan sebelumnya subrutin dieksekusi dengan mengubah isi dari program counter. Tetapi bagaimana program counter diisi dengan alamat dari instruksi selanjutnya (return address) dimana program control ditransfer menjadi subrutin. Return adress ini disimpan dalam memori khusus dinamakan stack. Sebelum mentransfer program control ke subrutin return address didorong ke stack. Setelah eksekusi dari subrutin return address di tarik kembali dari stack dan diisikan ke program counter.

(6)

Gambar 5 Operasi Stack

Biasanya operasi stack merupakan operasi 2 byte. Artinya bahwa stack pointer berkurang sebanyak dua lokasi alamat memori setiap 2 data byte didorong ke stack. Ketika data diambil dari stack, stack pointer bertambah sebanyak dua lokasi alamat memori.

Perlu dicatat bahwa ketika menyimpan data di stack, stack pointer selalu menunjuk data terakhir yang disimpan pada stack dan ketika menghapus data maka data yang didapat merupakan data terakhir pada stack. Operasi stack ini dinamakan operasi LIFO (Last In First Out).

o General Purpose Register (GPR)

Sebagian besar mikroprosesor memiliki register tambahan ini. Register ini digunakan sebagai lokasi penyimpanan sederhana, utamanya digunakan untuk menyimpan hasil operasi yang tidak sulit. memanggil operand dari GPR lebih cepat dibandingkan mengambil dari memori sehingga ukuran GPR yang lebih besar memberikan keuntungan pada operasi mikroprosesor. Mikroprosesor yang digunakan sebagai contoh pada bab ini (lihat gambar 1) memiliki enam GPR yang dinamai dengan register B, C, D, E, H, dan L. Register-register tersebut secara individual dapat bekerja sebagai register 8 bit. Bersama-sama register BC, DE, dan HL dapat beroperasi sebagai pasangan register 16-bit.

o Memory Address Register

Register ini memberikan alamat dari lokasi memori yang diminta oleh prosesor. Memory adderss register memiliki bilangan biner 16-bit. Output dari memory address register menggunakan bus alamat 16-bit. Output ini digunakan untuk memilih alamat memori\

o Instruction Register

Register ini menyimpan operation code (opcode) yang sedang dieksekusi oleh mikroprosesor. Register ini diisi selama siklus pemanggilan opcode. Isi dari instruction register digunakan untuk menyalakan bagian dari control logic yang dikenal dengan instruction decoder.

o Temporary Data Register

(7)

register. Seorang programer tidak bisa mengakses register ini sehingga bukan bagian dari model programer.

Control Logic

Merupakan blok penting dalam mikroprosesor. Control logic bertanggung jawab dalam kinerja seluruh bagian dari mikroprosesor. Ia menjaga sinkronisasi dalam operasi dari bagian-bagian mikroprosesor. Sinkronisasi dicapai dengan bantuan dari input eksternal utama yaitu clock mikroprosesor. Clock merupakan sinyal dimana merupakan dasar dari seluruh timing (pewaktuan) dalam mikroprosesor

Biasanya control logic dari microprosesor bersifat microprogrammed. Artinya arsitektur dari control logic mirip dengan denan arsitektur dari mikroprosesor dengan tujuan yang sangat khusus.

Control logic menerima sinyal dari instruction decoder yang mendekode instruksi yang disimpan dalam instruction register. Selanjutnya control logic memproduksi sinyal control yang dibutuhkan untuk mengeksekusi instruksi ini. Control logic memiliki sedikit fungsi khusus lainnya. Ia mengawasi tahap penyalaan mikroprosesor. Ia juga memproses interrupt. Sebuah interrupt seperti permintaan ke mikroprosesor dari perangkat eksternal lainnya seperti memori dan I/O. Interrupt meminta mikroprosesor untuk mengeksekusi program khusus.

Bus Data Internal

Bus data internal menghubungkan bagian-bagian dari mikroprosesor sehingga memungkinkan komunikasi antar bagian dari mikroprosesor. Transfer data melalui bus data internal dikendalikan oleh control logic.

Bus data internal dari mikroprosesor biasanya terhubung ke bus data eksternal. Sehingga mikroprosesor dapat berkomunikasi dengan memori eksternal atau perangkat yang terhubung dengan I/O. Hubungannya dengan bus data eksternal biasanya bersifat bidirectional (transceiver).

Pertanyaan:

1. Apa yang dimaksud dengan operand dan instruksi ? 2. Sebutkan komponen-komponen dari mikroprosesor ! 3. Apa itu memori ?

4. Apa itu program ?

5. Apa fungsi dari program counter?

6. Apa yang dimaksud dengan bus alamat (address bus) dan bus data (data bus) ? 7. Jelaskan proses dari eksekusi intruksi!

8. Jelaskan fungsi ALU !

9. Apa yang dimaksud dengan accumulator ? 10. Jelaskan eksekusi dari program subroutine !

(8)

Gambar

Gambar 1 Diagram blok Mikroprosesor
Gambar 2 Model Programmer
Gambar 3  Eksekusi dari Program Subroutine
Gambar 4 Komplemen 2 bilangan 8 bit.
+2

Referensi

Dokumen terkait

Pelayanan prima adalah kepedulian kepada masyarakat dengan memberikan layanan terbaik untuk memfasilitasi kemudahan pemenuhan kebutuhan dan mewujudkan kepuasannya, agar

Untuk mewujudkan program penanganan permukiman kumuh di Kota Ambon perlu pendekatan yang tidak hanya fokus terhadap pendekatan fisik namun perlu memperhatikan

Skor pengguna sah diperoleh dari pencocokan sampel telapak tangan yang berasal dari orang yang sama, sedangkan skor pengguna tidak sah diperoleh dari pencocokan sampel telapak

Tujuan penelitian ini adalah untuk mengetahui Pengaruh Celebrity Endoser (Agnes Monica) Terhadap Keputusan Pembelian Helm GM (Studi Kasus Pada Mahasiswa Fakultas

Periksa pengaturan Perangkat lunak printer untuk memastikan Anda telah memilih jenis kertas yang sesuai dan kualitas cetak dari daftar gulung Media.. Periksa perkiraan level

Pada kesempatan ini diucapkan terima kasih yang sebesar-besarnya kepada Bapak Prof.Dr.Ir.I Made Alit Karyawan Salain,DEA selaku Ketua Program Studi Teknik Sipil

Kanker payudara adalah salah satu neoplasma dan merupakan tumor ganas yang tumbuh di dalam jaringan payudara atau suatu kondisi dimana sel telah kehilangan pengendalian dan

Gerakan Mahasiswa Sebagai Kelompok Penekan : Studi Kasus Keluarga Mahasiswa UGM dari Masa Orde Lama, Orde Baru, Hingga Post Reformasi.. Jurusan