Struktur internal CPU
Komponen utama CPU adalah unit logika dan aritmatika. ALU melakukan perhitungan aktual atau pengolahan data. Unit control mengontrol pergerakan data dan instruksi dari dan ke dalam CPU termasuk mengontrol proses ALU,
Organisasi register
Register pada CPU membentuk dua peran:
- Register terlihat oleh pengguna: ini memungkinkan pemrogram bahasa mesin untuk memperkecil acuan memori utama dengan pengoptimalan penggunaaan register Terbagi menjadi beberapa kategori
- Tujuan umum: oleh pemrogram dapat ditugaskan untuk berbagai macam fungsi
- Data: hanya dapat digunakan untuk menampung data dan tidak dapat digunakan dalam kalkulasi alamat operand.
- Alamat
- Kode kondisi (flag), kode kondisi adalah set bit oleh hardware CPU sebagai hasil operasi. Sebagai contoh suatu hasil operasi matematika dapat menghasilkan hasil positif, negatif, nol atau overflow.
- Register control dan status: ini digunakan oleh unit control untuk mengontrol operasi CPU dan program system operasi mengontrol eksekusi program.Terdapat berbagai macam register yang dilakukan untuk mengontrol operasi CPU:
- Pencacah program (program counter-PC): terisi alamat instruksi yang diambil
- Register instruksi (instruction register-IR): terisi instruksi yang paling akhir diambil.
- Register alamat memori (memory address register-MAR): terisi alamat lokasi dalam memori
- Register buffer memori (memory buffer regiser-MBR); terisi word data yang perlu ditulis ke memori atau word yang paling akhir dibaca.
Keempat register tersebut digunakan untuk pemindahan data antara CPU dengan memori. Semua rancangan CPU meliputi sebuah register atau sekelompok register, sering dikenal sebagai word status program (program status word-PSW),yang terdiri dari informasi status.
Siklus instruksi
Konsep utama rancangan computer:
- Data & instruksi-instruksi disimpan dimemori baca tulis tunggal
- Muatan memori dapat dialamati dengan lokasi
- Eksekusi terjadi dengan cara sekuensial (terurut), kecuali diubah secara eksplisit.
Fungsi Komputer
Fungsi dasar computer adalah eksekusi program, yang terdiri dari sekumpulan instruksi yang disimpan didalam memori
Siklus instruksi dasar
Ket: dalam format paling sederhana insruksi prosesor teridiri dari dua langkah: 1.prosesor baca (mengambil) instruksi dari memori satu demi satu dan mengeksekusi setiap instruksi. 2. Eksekusi program terdiri dari proses pengulangan instruksi fetch dan dan eksekusi instruksi.
Contoh eksekusi program (berisi memori ddan register-regiser dalam heksadesimal)
Dari contoh eksekusi di atas siklus intruksi dengan langkah-langkah berikut:
- Mengambil (fetch) instruksi AD
- Membaca isi lokasi memori A ke dalam prosessor.
- Membaca isi lokasi memori B ke dalam prosesor, agar isi A tidak hilang prosesor harus memiliki sedikitnya dua buah register untuk menyimpan nilai-nilai memori dibanding akumulator tunggal
- menambahkan kedua nilai-nilainya.
- Menuliskan hasilnya dari prosesor ke lokasi memori A.
Jadi, siklus eksekusi untuk instruksi terntentu boleh melibatkan lebih dari satu referensi ke memori, juga suatu instruksi dapat menentukan suatu operasi I/O. keadaan ini dapat diuraikan sebagai berikut:
- Instruction address calculation (iac) ==> menentukan alamat instruksi berikutnya yang akan dieksekusi.
- Instruction fetch (if) ==>membaca instruksi dari lokasi memori kedalam prosesor.
- Instruction operation decoding (iod) ==> menganalisis instruksi untuk menentukan jenis operasi yang akan dilakukan dan operand yang akan digunakan.
- Operand address calculation (oac) ==> jika operasi melibatkan referensi ke operand di dalam memori atau tersedia via I/O, kemudian menentukan alamat operand.
- Operand fetch (of) ==> mengambil operand dari memori atau membaca operand itu dari I/O
· Data operation (do) ==> bentuk operasi yang ditandai didalam instruksi.
· Operand store (os) ==>menulis hasilnya ke dalam memori atau keluar untuk I/O.
Diagram yang menyatakan siklus instruksi
Beberapa instruksi pada mesin tertentu memerlukan operand jamak & hasil jamak, sebagai contoh instruksi ADD A,B & menghasilkan beberapa nilai.
Interupsi
Secara virtual semua computer menyediakan mekanisme yang membuat modul-modul lainnya (I/O, memori) dapat menginterupsi pengolahan normal prosesor.
Contoh: prosesor memindahkan data keprinter dan selama data di transfer prosessor berhenti dan idle sampai printer menerima seluruh data. Panjang rentang ini mungkin sampai ratusan bahkan ribuan siklus instruksi yang tidak melibatkan memori.
Aliran program control, tanpa atau dengan interupsi
Dengan memakai interupsi, prosesor dapat dipakai dalam mengeksekusi intruksi-instruksi lainnya selama operasi I/O sedang dilaksanakan.
Siklus instruksi dengan interupsi
Prosesor menangguhkan eksekusi program yang sedang di eksekusi dan menyimpan konteksnya. Ini berarti menyimpan alamat instruksi berikutnya yang akan dieksekusi (isi program counter saat itu) dan data lain yang relevan dengan aktivitas prosesor sekarang.
Prosesor mengatur program counter ke alamat awal dari suatu routine penyebab interupsi
Aliran data
Siklus pengambilan data, siklus tidak langsung dan siklus interupsi adalah sederhana dan dapat diramalkan. Sementara Siklus eksekusi mempunyai banyak bentuk; bentuknya tergantung pada berbagai macam instruksi mesin didalam IR.
CPU
Aliaran data siklus pengambilan
Aliaran data siklus interupsi
0 komentar:
Posting Komentar
Silakan isi komentar anda