Operasi Control Unit |
Micro-Operations
Pada unit pemrosesan sentral komputer, micro operation (juga dikenal
sebagai mikro-ops atau μops) adalah instruksi tingkat rendah yang rinci yang
digunakan dalam beberapa desain untuk menerapkan instruksi mesin yang rumit.
Biasanya, micro operation melakukan operasi dasar pada data yang tersimpan
dalam satu atau lebih register, termasuk mentransfer data antara register atau
antar register dan bus eksternal dari central processing unit (CPU), dan
melakukan operasi aritmatika atau logika pada register. Dalam siklus
pengambilan-decode-execute tipikal, setiap langkah instruksi makro
didekomposisi selama eksekusi sehingga CPU menentukan dan melangkah melalui
serangkaian operasi mikro. Eksekusi operasi mikro dilakukan di bawah kontrol
unit kontrol CPU, yang menentukan eksekusi mereka saat melakukan berbagai
optimasi seperti pemesanan ulang, perpaduan dan caching.
Fetch – 4 Register
Siklus Fetch-Decode-Execute komputer adalah proses dimana komputer:
· Mengambil instruksi
program dari ingatannya,
· Menentukan apa instruksi
yang ingin dilakukan dan melakukan tindakan tersebut.
· Siklus ini diulang terus
menerus oleh central processing unit (CPU), dari bootup saat komputer
dimatikan. Di komputer modern ini berarti menyelesaikan siklus miliaran kali
kedua! Tanpa hal tersebut, tidak ada yang bisa dihitung.
Register / sirkuit yang terlibat.
Sirkuit yang digunakan di CPU selama siklus adalah:
1. Program Counter (PC) - sebuah counter
incrementing yang mencatat alamat memori dimana instruksi akan dieksekusi
selanjutnya.
Program counter (PC), biasa disebut pointer instruksi (IP) pada
mikroprosesor Intel x86 dan Itanium, dan kadang-kadang disebut register alamat
instruksi (IAR), [1] penghitung instruksi, [2] atau hanya bagian dari sequencer
instruksi , [3] adalah register prosesor yang menunjukkan di mana komputer berada
dalam urutan programnya. Pada sebagian besar prosesor, PC bertambah setelah
mengambil sebuah instruksi, dan menyimpan alamat memori dari ("menunjuk
ke") instruksi berikutnya yang akan dieksekusi. (Dalam sebuah prosesor
dimana incrementation mendahului pengambilan, PC menunjuk pada instruksi saat
ini yang dieksekusi.) Prosesor biasanya mengambil instruksi secara berurutan
dari memori, namun instruksi transfer transfer mengubah urutannya dengan
menempatkan nilai baru di PC. Ini termasuk cabang (kadang disebut lompatan),
panggilan subrutin, dan pengembalian. Transfer yang bersyarat pada kebenaran
beberapa pernyataan memungkinkan komputer mengikuti urutan yang berbeda dalam
kondisi yang berbeda. Cabang menyediakan instruksi berikutnya diambil dari
tempat lain di memori. Panggilan subrutin tidak hanya cabang tapi juga
menyimpan isi sebelumnya dari PC di suatu tempat. Kembali mengembalikan isi PC
yang tersimpan dan mengembalikannya ke PC, melanjutkan eksekusi sekuensial
dengan instruksi setelah panggilan subrutin.
2. Memory Address Register
(MAR) - alamat di memori utama yang saat ini sedang dibaca atau ditulis.
Di komputer, Memory Address
Register (MAR) adalah register CPU yang menyimpan alamat memori dari mana data
akan dimasukkan ke CPU atau alamat dimana data akan dikirim dan disimpan. Dengan
kata lain, MAR memegang lokasi memori data yang perlu diakses. Saat membaca
dari memori, data yang dialamatkan oleh MAR dimasukkan ke dalam MDR (memory
data register) dan kemudian digunakan oleh CPU. Saat menulis ke memori, CPU
menulis data dari MDR ke lokasi memori yang alamatnya tersimpan di MAR. MAR
yang ditemukan di dalam CPU berjalan baik ke RAM (Random Access Memory atau
Cache). Memory Address Register adalah setengah dari antarmuka minimal antara
microprogram dan penyimpanan komputer. Setengah lainnya adalah register data
memori. Secara umum, MAR adalah register beban paralel yang berisi alamat
memori berikutnya untuk dimanipulasi. Misalnya, alamat selanjutnya bisa dibaca
atau ditulis.
3. Memory Buffer Register (MBR)
- register dua arah yang menampung data yang diambil dari memori (dan siap
untuk diproses oleh CPU) atau data yang menunggu untuk disimpan dalam memori.
Register Data Memori (MDR)
atau Memory Buffer Register (MBR) adalah daftar unit kontrol komputer yang
berisi data yang akan disimpan dalam penyimpanan komputer (misalnya RAM), atau
data setelah diambil dari penyimpanan komputer. Ini bertindak seperti penyangga
dan menyimpan sesuatu yang disalin dari memori agar prosesor menggunakannya.
MDR adalah register dua
arah. Ketika data diambil dari memori dan ditempatkan ke dalam MDR, ditulis
untuk masuk ke satu arah. Bila ada instruksi tulis, data yang akan ditulis
ditempatkan ke dalam MDR dari register CPU lain, yang kemudian memasukkan data
ke dalam memori.
Register Data Memori adalah
setengah dari antarmuka minimal antara microprogram dan penyimpanan komputer,
separuh lainnya adalah register alamat memori (MAR). Antarmuka memori yang jauh
lebih kompleks ada, tapi ini yang paling sederhana yang bisa bekerja. Register
Data Memori (MDR) berisi nilai data yang diambil atau disimpan. Ini adalah
kesalahan umum untuk mengatakan bahwa MDR seharusnya berukuran W bit, di mana W
adalah ukuran sel. Namun, pada sebagian besar komputer, ukuran sel hanya 8-bit,
dan sebagian besar nilai data menempati beberapa sel. Jadi, ukuran MDR biasanya
berlipat 8 bit. Nilai khas dari lebar MDR adalah 32 dan 64 bit, yang
memungkinkan kita untuk mengambil, dalam satu langkah, baik bilangan bulat atau
nilai float. Misalnya, untuk mengambil isi sel 123, kita akan memuat nilai 123
(dalam biner) ke MAR dan melakukan operasi pengambilan. Ketika operasi selesai,
salinan isi sel 123 ada di dalam MDR. Untuk menyimpan nilai 98 ke dalam sel 4,
kita memuat 4 ke MAR dan 98 ke dalam MDR dan melakukan sebuah toko. Bila
operasi telah menyelesaikan isi sel 4 akan diatur ke 98, dengan membuang apa
pun yang ada sebelumnya. MDR memiliki dua input dan dua output; data dapat
dimuat ke dalam MDR baik dari bus memori atau dari bus prosesor internal. Data
yang tersimpan dalam MDR dapat dikirim ke kedua bus.
4. Current Instruction register
(CIR) - tempat induk sementara untuk instruksi yang baru saja diambil dari
memori.
Dalam komputasi, register
instruksi (IR) adalah bagian dari unit kontrol CPU yang menyimpan instruksi
yang saat ini sedang dieksekusi atau diterjemahkan. Pada prosesor sederhana
setiap instruksi yang akan dieksekusi dimasukkan ke dalam register instruksi
yang menahannya saat ia didekode, disiapkan dan akhirnya dieksekusi, yang dapat
mengambil beberapa langkah.
Beberapa prosesor yang rumit
menggunakan pipa instruksi register dimana setiap tahap pipa melakukan bagian
dari decoding, preparasi atau eksekusi dan kemudian meneruskannya ke tahap
berikutnya untuk langkahnya. Prosesor modern bahkan bisa melakukan beberapa
langkah di luar urutan karena decoding pada beberapa instruksi dilakukan secara
paralel.
Menguraikan kode op di
register instruksi termasuk menentukan instruksi, menentukan di mana operan
berada dalam memori, mengambil operan dari memori, mengalokasikan sumber daya
prosesor untuk menjalankan perintah (dalam prosesor superscalar), dll. Output
dari IR tersedia untuk mengendalikan rangkaian yang menghasilkan sinyal waktu
yang mengendalikan berbagai elemen pemrosesan yang terlibat dalam melaksanakan
instruksi. Pada siklus instruksi, instruksi dimasukkan ke register Instruksi
setelah prosesor mengambilnya dari lokasi memori yang ditunjukkan oleh
penghitung program.
Sumber: Tugas Matakuliah Arsitektur dan Organisasi Komputer@Edwin-Erdiyana
Baca juga: Lanjutan-Operasi Control Unit: Siklus Intruksi.
0 Komentar
Berkomentarlah dengan sopan dan menggunakan bahasa yang semestinya.