Rabu, 22 April 2020

Siklus Intruksi



Diagram Siklus Instruksi - Asyiknya Belajar Ilkom
Perlu diketahui  bahwa  siklus  eksekusi untuk suatu instruksi dapat melibatkan lebih dari sebuah referensi ke memori. Disamping itu juga, suatu instruksi dapat menentukan suatu operasi I/O. Perhatikan gambar diagram siklus instruksi di atas .

  1. Instruction Addess  Calculation (IAC), yaitu mengkalkulasi  atau menentukan alamat  instruksi berikutnya  yang  akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit,maka tambahkan 2 ke alamat sebelumnya.
  2. Instruction Operation Decoding (IOD), yaitu menganalisa  instruksi  untuk  menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
  3. Operand Address  Calculation (OAC),yaitu menentukan alamat  operand, hal  ini dilakukan apabila melibatkan referensi operand pada memori.
  4. Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
  5. Operand Store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.
  6. Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
  7.  Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
Berikut merupakan penjelasan dari :
a. Accumulator
Pada mulanya komputer adalah berbasis akumulator. Hal ini merupakan CPU yang sederhana, dimana akumulator berisi satu operand pada instruksi, demikian juga hasilnya tersimpan pada akumulator. Isi akumulator disertakan di dalam opersi-operasi aritmatika seperti penjumlahan, pengurangan dan sebaginya. Hal ini dikenal dengan mesin sartu alamat.Contoh CPU berbasis akumulator : PDP-8; Mark I
-Keuntungan CPU berbasis akumulator:
  • Isi akumulator diperuntukkan bagi satu operand, karena itu tidak memerlukan field alamat operand (untuk satu operand) dalam instruksi.
  • Siklus instruksi menggunakan waktu yang singkat sebab menghemat waktu dalam pengambilan instruksi karena tidak ada siklus pengambilan operand.
-Kekurangan CPU berbasis akumulator:
  • Ukuran program menjadi panjang karena banyak menggunakan instruksi dalam ekspresi-ekspresi kompleks.
  • Waktu eksekusi program bertambah karena bertambahnya jumlah instruksi dalam program.

b.  Accumulator (AC) dan Temporary Register (MQ)
Digunakan untuk penyimpanan sementara operand dan hasil ALU. Misalnya, hasil perkalian 2 buah bilangan 40 bit adalah sebuah bilangan 80 bit; 40 bit yang paling berarti (most significant bit) disimpan dalam AC dan 40 bit lainnya (least significant bit) disimpan dalam MQ. IAS beroperasi secara berulang membentuk siklus instruksi. Komputer IAS memiliki 21 instruksi, yang dapat dikelompokkan seperti berikut ini :
  • Data tranfer, memindahkan data di antara memori dengan register – register ALU atau antara dua register ALU sendiri.
  • Unconditional branch, perintah – perintah eksekusi percabangan tanpa syarat tertentu.
  • Conditional branch, perintah – perintah eksekusi percabangan yang memerlukan syarat tertentu agar dihasilkan suatu nilai dari percabangan tersebut.
  • Arithmetic, kumpulan operasi – operasi yang dibentuk oleh ALU.
  • Address Modify, instruksi – instruksi yang memungkinkan pengubahan alamat saat di komputasi sehingga memungkinkan fleksibilitas alamat yang tinggi pada program.

c. Instruction Buffer Register (IBR), 
Digunakan untuk penyimpanan sementara instruksi sebelah kanan word di dalam memori.
d. Instruction Register (IR)
Berisi instruksi 8 bit kode operasi yang akan dieksekusi. Dalam komputer, register instruksi (IR) atau register instruksi saat ini (CIR) adalah bagian dari unit kontrol CPU yang memegang instruksi yang saat ini sedang dieksekusi atau diterjemahkan. Dalam prosesor sederhana setiap instruksi yang akan dieksekusi dimasukkan ke dalam register instruksi yang menyimpannya ketika sedang diterjemahkan, disiapkan dan pada akhirnya dieksekusi, yang dapat mengambil beberapa langkah.
Beberapa prosesor rumit menggunakan pipa register instruksi di mana setiap tahap pipa melakukan bagian dari decoding, persiapan atau eksekusi dan kemudian meneruskannya ke tahap berikutnya untuk langkahnya. Prosesor modern bahkan dapat melakukan beberapa langkah yang tidak sesuai karena decoding pada beberapa instruksi dilakukan secara paralel.
Decoding kode-op dalam register instruksi termasuk menentukan instruksi, menentukan di mana operandnya berada dalam memori, mengambil operan dari memori, mengalokasikan sumber daya prosesor untuk menjalankan perintah (dalam prosesor skalar super), dll.
Output dari IR tersedia untuk mengontrol sirkuit yang menghasilkan sinyal timing yang mengontrol berbagai elemen pemrosesan yang terlibat dalam mengeksekusi instruksi.Dalam siklus instruksi, instruksi dimuat ke dalam register instruksi setelah prosesor mengambilnya dari lokasi memori yang ditunjuk oleh penghitung program.
e. Program Counter (Pc)
Program, atau PC (disebut juga pointer instruksi [1], atau instruksi mendaftarkan alamat [2], atau hanya bagian dari instruksi sequencer [3] di beberapa komputer) adalah daftar prosesor yang menunjukkan tempat komputer ini dalam urutan instruksiTergantung pada rincian tertentu komputer, PC memegang baik alamat instruksi yang sedang dijalankan, atau alamat instruksi berikutnya yang akan dijalankan.
Dalam kebanyakan prosesor, yang merupakan instruksi pointer incremented secara otomatis setelah mengambil sebuah program pengajaran, sehingga petunjuk biasanya diambil dari memori secara berurutan, dengan instruksi tertentu, seperti kantor cabang, melompat dan subroutine panggilan dan kembali, interrupting urutan dengan menempatkan nilai baru dalam program counter.
Melompat seperti petunjuk membolehkan alamat baru yang akan dipilih sebagai awal dari sebelah bagian dari aliran instruksi dari memori. Mereka membolehkan nilai baru yang akan diambil (tertulis) ke dalam program counter mendaftar. J subroutine panggilan yang dicapai cukup lama dengan membaca isi dari program counter, sebelum mereka ditimpa oleh nilai baru, dan disimpan di suatu tempat lain dalam memori atau mendaftar. J subroutine kembali kemudian menulis dicapai oleh nilai yang disimpan kembali ke dalam program counter lagi.
Bekerja dari sebuah program sederhana counter
Di pusat pengolahan unit (CPU) dari komputer yang sederhana berisi hardware (unit kontrol dan upacara ucapan alu) yang melaksanakan petunjuk tersebut, seperti yang diambil dari memori unit. Sebagian besar instruksi siklus [4] terdiri dari CPU mengirim alamat pada bus alamat, ke memori unit, yang kemudian merespon dengan mengirimkan isi dari lokasi memori yang meliputi data, pada data bus. (Hal ini sangat sibuk dengan ide yang disimpan-program komputer yang dieksekusi dalam petunjuk disimpan di samping biasa data dalam memori unit, dan oleh itu sama dengan [5]).
PC hanyalah satu dari sekian banyak mendaftar di hardware dari CPU. Itu, seperti masing-masing register lainnya, terdiri dari bank dari biner latches (a binary memalangi juga dikenal sebagai tiba-tiba), dengan satu flip-flop bit per dalam integer yang akan disimpan [6] (32 untuk 32-bit CPU, misalnya). Dalam hal PC, yang merupakan integer alamat dalam memori unit yang akan diambil berikutnya.
Setelah data (dengan instruksi) telah diterima pada data bus, PC adalah incremented. Dalam beberapa CPU ini dicapai dengan menambahkan 000 .. 001 ke isinya, dan hasilnya menjadi latching register harus isi yang baru, pada kebanyakan CPU, though, PC diimplementasikan sebagai register yang internal kabel sehingga dianggap sampai ke nilai berikutnya ketika sinyal tertentu akan diterapkan ke luar [7]. Seperti mendaftar, dalam elektronik, yang disebut sebagai binary counter, dan dengan itu asal istilah program counter.
Semua sifat yg dpt meliputi program counter
Keberadaan program counter dalam CPU telah mencapai jauh konsekuensi pada cara kita berpikir ketika kita program komputer, dan memang program counter (atau setara blok perangkat keras yang melayani tujuan yang sama [8]) sangat pusat ke arsitektur von Neumann.
It membebankan ketat sequencial memesan pada mengambil dari instruksi dari memori unit (yang aliran kontrol), bahkan di mana tidak ada sequenciality ini diterapkan oleh algoritma itu sendiri (yang von Neumann kemacetan). Hal ini mungkin mengapa penelitian menjadi model untuk komputasi paralel dianggap [9], pada satu titik, tidak lain von Neumann atau dataflow model yang tidak menggunakan program counter. Misalnya, pemrograman fungsional bahasa yang berharap banyak pada tingkat tinggi, dengan combinatory logika di tingkat assembler. Bahkan kemudian, sebagian besar peneliti ini emulated di microcode konvensional komputer (karenanya masih melibatkan sebuah program counter dalam hardware), tetapi, sebenarnya, combinators sangat sederhana, mereka bisa, pada prinsipnya dilaksanakan secara langsung pada perangkat keras tanpa kembali ke microcode counter atau program sama sekali.
In the end, though, hasil penelitian yang makan kembali, sebaliknya, menjadi cara untuk meningkatkan pelaksanaan kecepatan prosesor konvensional. Cara yang ditemukan untuk mengorganisir di luar aturan pelaksanaan, sehingga untuk mendapatkan informasi yang sequencing yang tersirat dalam data. Selain itu, pipa dan sangat panjang instruksi kata organisasi diizinkan compiler untuk mengatur beberapa perhitungan yang akan berangkat bersama. Pada awal setiap instruksi pelaksanaan, tetapi, instruksi yang harus diambil dari memori, dan ini dimulai oleh sebuah instruksi fetch siklus yang picks alamat, satu per satu, dari program counter.
Bahkan bahasa pemrograman tingkat tinggi yang memiliki program-counter konsep berurat berakar mendalam dalam perilaku mereka. Anda hanya perlu untuk melihat bagaimana programmer debugs atau mengembangkan program komputer untuk melihat bukti ini, dengan pemrogram menggunakan jari untuk menunjuk ke baris berturut-turut dalam program untuk model langkah-langkah pelaksanaannya. Memang, sebuah bahasa pemrograman tingkat tinggi yang tidak kurang daripada assembler bahasa tinggi mesin virtual [10] – sebuah komputer yang akan terlalu rumit untuk biaya-efektif untuk membangun secara langsung dalam perangkat keras, sehingga adalah melaksanakan, bukan menggunakan beberapa kerang dari pertandingan (dengan compiler atau interpreter menyediakan lebih tinggi, dan microcode menyediakan tingkat bawah).
f. Memory Buffer Register (MBR)

Memory Buffer Register (MBR),  berisi sebuah word yang akan disimpan di dalam memori atau digunakan untuk menerima word dari memori.Memory Address Register (MAR), untuk menentukan alamat word di memori untuk dituliskan dari MBR atau dibaca oleh MBR.Instruction Register (IR) , berisi instruksi 8 bit kode operasi yang akan dieksekusi.Instruction Buffer Register (IBR), digunakan untuk penyimpanan sementara instruksi sebelah kanan word di dalam memori.


Program Counter (PC),berisi alamat pasangan instruksi berikutnya yang akan diambil dari memori.Accumulator (AC) dan Multiplier Quotient (MQ), digunakan untuk penyimpanan sementara operand dan hasil ALU. Misalnya, hasil perkalian 2 buah bilangan 40 bit adalah sebuah  bilangan 80 bit; 40 bit yang paling berarti ( most significant bit ) disimpan dalam AC dan 40 bit lainnya ( least significant bit  ) disimpan dalam MQ. 


IAS beroperasi secara berulang membentuk  siklus instruksi .Komputer IAS memiliki 21 instruksi, yang dapat dikelompokkan seperti berikut ini :Data tranfer,memindahkan data di antara memori dengan register–register ALU atau antara dua register ALU sendiri.Unconditional branch , perintah–perintah eksekusi percabangan tanpa syarat tertentu.Conditional branch , perintah–perintah eksekusi percabangan yang memerlukan syarat tertentu agar dihasilkan suatu nilai dari percabangan tersebut.Arithmetic,kumpulan operasi–operasi yang dibentuk oleh ALU.Address Modify, instruksi– instruksi yang memungkinkan pengubahan alamat saat di komputasi sehingga memungkinkan fleksibilitas alamat yang tinggi pada program.
g. Memory Address Register (MAR)
MAR (Memory Address Register) atau register penunjuk alamat memori merupakan register yang menampung alamat data atau instruksi pada main memory yang akan diakses, baik itu yang akan diambil (dibaca) maupun yang akan diletakkan (disimpan/ditulis). Register ini berisi alamat dari data dan dihubungkan pada bus alamat, sehingga dapat menspesifikasikan alamat di dalam memori untuk operasi baca atau simpan/tulis. Alamat dari main memory (tempat data berada), diletakan di MAR dan dikirimkan ke main memory melalui address bus. Selama komputer bekerja, alamat dalam pencacah program ditahan (latched) pada MAR. Setelah itu MAR akan mengirimkan alamat ke dalam RAM dan operasi membaca dilaksanakan. Fungsi MAR MAR berfungsi sebagai komponen yang diperintahkan oleh IR dan Control Unit untuk mencari dan menampung alamat data serta instruksi dalam sebuah Main Memory.
Proses kerja MAR (antara CPU dan memory) MAR merupakan salah satu register yang digunakan sebagai interface antara CPU dan main memory. MAR menampung alamat data atau instruksi yang dikirim dari main Memory ke CPU atau yang akan direkamkan ke Main Memory.Berikut penjelasan tentang proses pengaksesan data di/ke main memory.

  • Bila data atau instruksi akan diambil dari Main Memory ke CPU, maka Main Memory harus diberitahu terlebih dahulu alamat (address) data atau instruksi tersebut di Main Memory. Oleh Control Unit alamat tersebut diletakan di MAR untuk dikirim ke Main Memory melalui Address Bus.
  • Demikian juga jika hasil proses dari CPU akan direkamkan ke main memory, maka Main Memory harus diberitahu terlebih dahulu alamat perekaman hasil proses tersebut di Main Memory. Oleh Control Unit alamat tersebut diletakan di MAR untuk dikirim ke Main Memory lewat Address Bus.
SUMBER REFERENSI
·ridhoaranca.wordpress.com/2019/05/04/penjelasan-gambar-dan-definisi-materi struktur-cpu
·https://viahasnani.blogspot.com/p/blog-page_38.html

Tidak ada komentar:

Posting Komentar

MODEL PROSES

MODEL PROCESS V-MODEL Singkatnya, V-Model adalah sebuah model SDLC yang eksekusi per fasenya dilakukan secara sekuensial dalam bentuk V....