الأحد، 20 يناير 2013

INSTRUKSI SIKLUS CPU

Instruction cycle (Instruksi Siklus)

Sebuah siklus instruksi (kadang disebut mengambil-dan-execute siklus, mengambil-decode-execute siklus, atau FDX) adalah siklus operasi dasar dari sebuah komputer. Ini adalah proses dimana komputer akan mengambil Program instruksi dari perusahaan memori , menentukan tindakan apa instruksi membutuhkan, dan melakukan tindakan tersebut. Siklus ini diulang terus menerus oleh unit pengolah pusat (CPU), dari boot untuk saat komputer dimatikan.

Sirkuit digunakan

Sirkuit yang digunakan dalam CPU selama siklus adalah:
  • Program Counter (PC) – counter incrementing yang melacak alamat memori dari instruksi yang akan dieksekusi selanjutnya …
  • Memory Address Register (MAR) – menyimpan alamat dari sebuah blok memori untuk dibaca dari atau ditulis ke
  • Memori data Register (MDR) – register dua arah yang menyimpan data diambil dari memori (dan siap untuk CPU untuk proses) atau data yang menunggu untuk disimpan dalam memori
  • Instruksi mendaftar (IR) – tempat memegang sementara untuk instruksi yang baru saja diambil dari memori
  • Control Unit (CU) – menerjemahkan instruksi program di IR, memilih sumber daya mesin seperti daftar sumber data dan operasi aritmatika tertentu, dan mengkoordinasikan aktivasi sumber daya
  • Aritmatika logika Unit (ALU) – melakukan operasi matematis dan logis
Periode waktu selama satu instruksi yang diambil dari memori dan dijalankan ketika komputer diberi instruksi dalam bahasa mesin. Ada biasanya empat tahap siklus instruksi bahwa CPU melakukan: 1) Mengambil instruksi dari memori. 2) “Decode” instruksi. 3) “Baca alamat efektif” dari memori jika instruksi memiliki alamat tidak langsung. 4) “Execute” instruksi.
Siklus instruksi CPU Setiap komputer dapat memiliki siklus yang berbeda berdasarkan set instruksi yang berbeda, tetapi akan mirip dengan siklus berikut:

Fetch instruksi
Instruksi berikutnya diambil dari alamat memori yang tersimpan saat ini dalam Kontra Program (PC), dan disimpan dalam Instruksi mendaftar (IR). Pada akhir operasi fetch, poin PC ke instruksi berikutnya yang akan dibaca pada siklus berikutnya.

Decode instruksi
Decoder menafsirkan instruksi. Selama siklus ini instruksi di dalam IR (instruksi pendaftaran) akan diterjemahkan.

In kasus instruksi memori (langsung atau tidak langsung)
Fase eksekusi akan di pulsa clock berikutnya.  Jika instruksi memiliki alamat tidak langsung , alamat efektif dibaca dari memori utama, dan setiap data yang dibutuhkan diambil dari memori utama untuk diolah dan kemudian ditempatkan ke dalam register data (Jam Pulse: T 3). Jika instruksi ini langsung, tidak ada yang dilakukan pada pulsa clock. Jika ini adalah instruksi I / O atau instruksi Register, operasi dilakukan (dijalankan) di Pulse jam.

Jalankan instruksi
Control Unit CPU melewati informasi dekode sebagai urutan sinyal kontrol ke unit funsi yang relevan dari CPU untuk melakukan tindakan yang dibutuhkan oleh instruksi seperti membaca nilai dari register, melewati mereka ke ALU untuk melakukan fungsi matematika atau logika pada mereka, dan menulis hasilnya kembali ke register. Jika ALU terlibat, ia mengirim sinyal kondisi kembali ke CU tersebut. Hasil yang dihasilkan oleh operasi disimpan dalam memori utama, atau dikirim ke perangkat output. Berdasarkan kondisi umpan balik dari ALU, Counter Program dapat diperbarui ke alamat yang berbeda dari mana instruksi berikutnya akan diambil. Siklus tersebut kemudian diulang.

1. MEMULAI SIKLUS
Siklus dimulai segera pada saat listrik dialirkan ke sistem menggunakan PC nilai awal yang ditetapkan untuk arsitektur sistem (dalam Intel IA-32 CPU, misalnya, nilai PC yang telah ditetapkan adalah 0xfffffff0 ). Biasanya poin alamat ini dengan instruksi dalam memori hanya-baca (ROM) yang memulai proses loading sistem operasi . (Itu proses loading ini disebut booting
 
2. FETCH SIKLUS
Langkah 1 dari Siklus Instruksi disebut Siklus Fetch. Langkah-langkah ini sama untuk setiap instruksi. Siklus fetch memproses instruksi dari kata instruksi yang berisi opcode .

3. DECODE
 Langkah 2 Siklus instruksi disebut membaca sandi tersebut. Opcode diambil dari memori sedang diterjemahkan untuk langkah berikutnya dan pindah ke register yang sesuai.

4. BACA ALAMAT EFEKTIF
 Langkah 3 adalah memutuskan yang operasi itu. Jika ini adalah operasi memori – dalam langkah ini komputer memeriksa apakah ini adalah operasi memori langsung atau tidak langsung:
  • Memori instruksi langsung – Tidak sedang dilakukan.
  • Memori instruksi tidak langsung – Alamat efektif sedang dibaca dari memori.
Jika ini adalah I / O atau instruksi Daftar – komputer memeriksa jenisnya dan mengeksekusi instruksi.

5. JALANKAN SIKLUS
Langkah 4 dari Siklus Instruksi adalah Siklus Execute. Langkah-langkah ini akan berubah dengan setiap instruksi. Langkah pertama dari siklus eksekusi adalah Proses-Memori. Data ditransfer antara CPU dan modul I / O. Berikutnya adalah Data-Pengolahan menggunakan operasi matematika serta operasi logis dalam referensi data. Perubahan Tengah adalah langkah berikutnya, adalah urutan operasi, misalnya operasi melompat. Langkah terakhir adalah operasi gabungan dari semua langkah lainnya.

6. SIKLUS FETCH-EXECUTE DALAM NOTASI TRANSFER
Register yang digunakan di atas, selain yang dijelaskan sebelumnya, yang Address Memori Register (MAR) dan Memory Data Register (MDR), yang digunakan (setidaknya secara konseptual) dalam mengakses memori.  Ambil dan mengeksekusi contoh (ditulis dalam RTL – Register Bahasa Transfer):
PC = 0x5AF, AC = 0x7EC3, M [0x5AF] = 0x932E, M [0x32E] = 0x09AC, M [0x9AC] = 0x8B9F.
T0: AR = 0x5AF (PC)
T1: IR = 0x932E (M [AR]), PC = 0x5BO
T2: deCODE = 0x932E opcode ADD, AR = 0x32E, I = 1. (Instruksi langsung)
T3: AR = 0x9AC (M [AR])
T4: DR = 0x8B9F
T5: AC = 0x8B9F + 0x7EC3 = 0x0A62, E = 1 (melaksanakan), SC = 0
Ringkasan: contoh ini adalah untuk Instruksi ADD yang dibuat tidak langsung dimana:
T0-T1 adalah operasi Ambil.
T2 adalah Decode kode operasi.
T3 Memori referensi tidak langsung
T4-T5 Execute ADD operasi



Sumber : http://assidiqichywt.blogspot.com/

ليست هناك تعليقات:

إرسال تعليق