Anda di halaman 1dari 3

Arsitektur Mikroprosesor

ARSITEKTUR MIKROPROSESOR

Mikroprosesor (sering dituliskan: µP atau uP) adalah sebuah central processing


unit (CPU) elektronik komputer yang terbuat dari transistor mini dan sirkuit lainnya di atas sebuah sirkuit
terintegrasi (Integrated Circuit, IC) semikonduktor.
Sebelum berkembangnya mikroprosesor, CPU elektronik terbuat dari sirkuit terintegrasi TTL terpisah; sebelumnya,
transistor individual; sebelumnya lagi, dari tabung vakum. Bahkan telah ada desain untuk mesin komputer sederhana
atas dasar bagian mekanik seperti gear, shaft, lever, Tinkertoy, dll.
Evolusi dari mikroprosesor telah diketahui mengikuti Hukum Moore yang merupakan peningkatan performa dari
tahun ke tahun. Teori ini merumuskan bahwa daya penghitungan akan berlipat ganda setiap 18 bulan, sebuah
proses yang benar terjadi sejak awal 1970-an; sebuah kejutan bagi orang-orang yang berhubungan dengannya. Dari
awalnya sebagai prosesor dalam kalkulator, perkembangan kekuatannya telah menuju ke dominasi mikroprosesor di
berbagai jenis komputer; setiap sistem dari mainframe terbesar sampai ke komputer jijing terkecil sekarang
menggunakan mikroprosesor sebagai pusatnya.

Blok fungsi yang utama uP modern terdiri dari unit aritmatika dan logika (Arithmetic logic unit, ALU), file register dan
unit kendali (control unit).

Gambar Susunan skema umum mikroprosesor

Unit Aritmatika dan logika (ALU) adalah komponen inti dari semua mikroprosesor. Ia melakukan operasi seputar
aritmatika bilangan dan logika biner dari mikroprosesor. ALU adalah gabungan rangkaian logika dan memiliki dua
jalur masukan, sebuah jalur data keluaran dan sebuah jalur status. Ia mengambil data dari register mikroprosesor,
mengolah data sesuai dengan instruksi dari unit kendali dan menyimpan hasilnya pada regsiter keluarannya yang
dinamakan accumulator atau work register. Semua ALU modern menggunakan format data biner dalam komplemen
2.
Operasi aritmatika bilangan yang dilakukan oleh ALU diantaranya penjumlahan dan pengurangan. Operasi logika
melaksanakan proses AND, OR, NOT dan EXCLUSIVE-OR. Beberapa mikroprosesor 64-bit juga melakukan operasi
perkalian dan pembagian. Disebagian mikroprosesor, operasi perkalian dan pembagian dilakukan dengan
menuliskan algoritma menggunakan operasi penjumlahan dan pengurangan. ALU juga melakukan operasi
menggeser bit dan operasi membandingkan data.

File register meliputi berbagai register digunakan utamanya untuk menyimpan data, pengalamatan, dan informasi
status selama menjalankan program. Register adalah perangkat logika sekuensial dibangun dari flip-flop. Sebagian
dari kebanyakan register yang ditemukan didalam sebagian besar mikroprosesor terdiri dari Program Counter,
register instruksi, register buffer, register status, stack pointer, general-purpose register dan register sementara.
Accumulator (ACU) atau work register, merupakan menyimpan data yang akan diproses oleh ALU dan
menampung data hasil proses di ALU. data pada ACU harus segera dipindah ke GPR atau memori eksternal setelah
siklus proses ALU selesai, karena ACU akan segera diisi data lain pada siklus proses di ALU berikutnya.
Program Counter adalah register yang menyimpan alamat instruksi berikutnya yang akan dijalankan dan karenanya
memainkan peran utama didalam pengendalian urutan instruksi mesin yang dijalankan prosesor. Setelah instruksi
dibaca ke memori, program counter dengan sendirinya menaikkan 1 alamat. Ini tentunya pada anggapan bahwa
instruksi dijalankan berurutan. Muatannya dipengaruhi juga oleh instruksi jump dan call. Pada kasus instruksi jump,
pertama program counter diisi dengan alamat baru dan kemudian dinaikkanya sampai ditemukan instruksi jump
lainnya. Ketika mikroprosesor menerima sebuah instruksi untuk memulai sebuah subrutin, muatan dari program
counter akan dinaikkan 1 dan disimpan didalam stack. Program counter diisi dengan alamat pertama dari subrutin.
Muatannya akan dinaikkan 1 sampai ditemukan instruksi return. Muatan yang tersimpan di-stack kemudian diisikan
kembali kedalam program counter dan program dilanjutkan, menjalankan setiap instruksi secara berurutan sampai
ditemukan instruksi jump atau pemanggilan subrutin ditemukan. Proses interupsi juga mempengaruhi muatan
program counter.
Instruction Register menyimpan kode dari instruksi yang sedang dijalankan. Control unit mengupas kode operasi
dari instruction register, yang mana merupakan urutan dari sinyal kendalike sistem untuk melaksanakan proses yang
dipersyaratkan oleh instruksi.

Buffer register menghubungkan mikroprosesor dengan sistem memorinya. Dua standar buffer register adalah
memory address register (MAR) dan memory buffer register (MBR). MAR menghubungkan kaki address dan
mikroprosesor dan menggenggam alamat memori absolut dari data atau instruksi untuk diakses. MBR, juga disebut
sebagai memory data register dihubungkan ke kaki data mikroprosesor. Ia menyimpan semua data yang ditulis ke
atau dibaca dari memori.
Status register atau flag register menyimpan status keluaran dari hasil sebuah operasi dan memberikan informasi
tambahan tentang hasil dari operasi ALU. Status dari bit yang tersimpan didalam status register menyatakan tentang
yang terjadi atau tidak terjadi dari kondisi yang berbeda dan satu bit atau lebih dan kemungkinan akan diperbarui
pada akhir operasi. Setiap bit adalah tanda Boolean yang menyatakan kondisi tertentu. Kondisi yang paling banyak
adalah carry, overflow, zerodan negative. Untuk contoh, nilai 1 diposisi status bit carry menunjukkan bahwa hasil
operasi menghasilkan sebuah carry. Pentingnya memperhatikan status register didalam kenyataanya bahwa kondisi
seperangkat kode pada status bit yang berbeda didalam status register membentuk pembuatan keputusan oleh
mikroprosesor selama menjalankan program.
Stack pointer adalah register yang digunakan untuk menyimpan alamat dari lokasi memori yang dimiliki paling
akhir ketika masuk di percabangan. Dalam kenyataan, stack adalah sebuah blok dari lokasi memori yang dirancang
untuk menyimpan sementara dari data alamat. Ini digunakan untuk menyimpan data dari general purpose register
selama melaksanakan subrutin atau sebuah interupsiyang sedang dilayani. Data dipindahkan dari register general ke
stack dengan instruksi PUSH pada awal pemanggilan subrutin, dan kembali ke register general dengan perintah
POP pada akhir pemanggilan subrutin. Mikroprosesor menggunakan stack karena ini lebih cepat untuk memindah
data menggunakan perintah PUSH dan POP daripada untuk memindah data ke/dari memori menggunakan instruksi
MOVE.
general-purpose register. Ada sejumlah register untuk penggunaan umum, dirancang sebagai general-purpose
register (GPR). Mereka digunakan secara eksplisit untuk menyimpan informasi data dan alamat. Register data
digunakan untuk operasi aritmatika, selama register alamat menggunakan pengalamatan berindeks (indexing) dan
tak langsung (indirect). Ini meningkatkan kecepatan proses dari mikroprosesor dengan menghindari jumlah yang
besar dari operasi baca/tulis memori eksternal selama operasi ALU dilaksanakan, ini sebagai hasil yang lebih mudah
dan lebih cepat untuk membaca dari atau menulis ke register internal daripada membaca dari atau menulis ke lokasi
memori eksternal.
Awalnya mikroprosesor hanya memiliki sebuah register yang disebut Akumulator (Accumulator) untuk menyimpan
hasil operasi ALU. hal ini membutuhkan sedikitnya empat instruksi bahasa rakitan (assembly) untuk mengerjakan
penjumlahan sederhana, termasuk mengambil data dari lokasi memori eksternal ke akumulator, menjumlahkan isi
akumulator ke lokasi memori lain, menyimpan hasilnya ke akumulator dan memindah isi akumulator kembali ke
lokasi memori eksternal. Dengan ketersediaan GPR dengan jumlah yang lebih besar, ini akan memungkinkan untuk
melaksanakan berbagai operasi ALU tanpa pernah butuh menyimpan data di memori eksternal.
Temporary register dibutuhkan ketika data harus disimpan selama pelaksanaan sebuah instruksi mesin. Register ini
tersembunyi dari pemakai mikroprosesor.
Control unit memerintah dan mengkoordinasikan aktifitas dari bagian-bagian yang berbeda dari prosesor dan
perangkat I/O. Ia bertanggungjawab untuk mengendalikan siklus dari pengambilan instruksi mesin dari memori dan
menjalankannya. Ia juga mengkoordinasikan aktifitas perangkat masukan dan keluaran. Ini pasti blok fungsi yang
sangat rumit dari semua blok mikroprosesor dan mencakup bagian terluas pada area chip. Control unit adalah
rangkaian logika sekuensial, sesuai langkah-langkah prosesor melalui urutan dari operasi yang diserempakkan. Ia
mengirimkan terus-menerus dari sinyal kendali dan pulsa berwaktu ke komponen dan kaki eksternal mikroprosesor.
Sebagai ilustrasi, untuk menjalankan sebuah instruksi dari memori, control unit mengirim keluar perintah “baca” ke
memori dan membaca instruksi (atau data) ini kembali pada data bus.

Control unit kemudian menterjemahkan instruksi dan mengirimkan signal yang


semestinya ke ALU, GPR, Multipllekser, Demultiplekser, Program counter, dan lainnya.
Jika instruksinya menyimpan data di memori, control unit mengirim keluar alamat lokasi
memori pada address bus, data disimpan pada data bus dan perintah “tulis” pada jalur
kendali.
Control unit dikategorikan dua jenis bergantung dari cara membuatnya. Ini terdiri dari
control unit hard-wired dan microcoded. Control unit Hard-wired adalah rangkaian logika
sekuensial, yang mana statusnya terkait dengan fasa dari siklus pelaksanaan instruksi.
Dalam kasus control unit hard-wired, ada rangkaian elektronik di control unit untuk
membangkitkan sinyal kendali untuk setiap instruksi. Mereka sangat kompak dan cepat,
tetapi sulit untuk merancangnya. Rancangan ini juga diketahui sebagai rancangan RISC
(Reduced Instruction Set Computer). Control unit microcoded mudah untuk merancang,
dan menjalankan sebuah instruksi dalam kasus ini melibatkan pelaksanaan sebuah
mikroprogram yang mengandung sebuah urutan dari mikro instruksi. Rancangan ini
juga diketahui sebagai rancangan CISC (Complex Instruction Set Computer). Control
unit Microcoded menawarkan lebih fleksibel daripada control unit hard-wired tetapi
mereka lebih lambat dibandingkan control unit hard-wired.

Anda mungkin juga menyukai