Semester 2 Dasar pemograman









Senin, 15 Januari 2018


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 gearshaftleverTinkertoy, 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 dinamakanaccumulator atau work register. Semua ALU modern menggunakan format data biner dalam komplemen 2.
Operasi aritmatika bilangan yangdilakukan 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 manamerupakan 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 registermenyimpan 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 carryoverflow,zero dan 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 padastatus 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 akhirketika 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 interupsi yang 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 danmicrocoded. 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









Komentar

Postingan populer dari blog ini

Materi bahasa jawa 10 Te 1, Smk n 1 blora

Mengecek komponen Elektronik yang rusak