Siklus
Intruksi adalah Proses dimana computer 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 computer
dimatikan.
PENJELASAN SIKLUS INSTRUKSI
- 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.
- Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
- Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
- Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
- Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
- Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
Operand store (OS),
yaitu menyimpan hasil eksekusi ke dalam memori.
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
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/... https://rispian2016.blogspot.com/2016/03/penjelasan-dan-cara-kerja-diagram.html...
http://anitaputra.blogspot.com/2013/01/instruksi-siklus-cpu.html
Tidak ada komentar:
Posting Komentar