Senin, 13 Desember 2010

Siklus-siklus Fetch dan Eksekusi

Pada awal setiap siklus instruksi, CPU membaca instruksi dari memori. Pada CPU yang umum, suatu register yang disebut program counter (PC) dipakai untuk mengawasi instruksi yang akan dibca selanjutnya.
Intruksi yang dibaca akan dimuatkan ke dalam sebuah register di dalam CPU yang dikenal sebagai instruction register (IR). CPU menginterpretasikan intruksi dan melakukan aksi yang diperlukan. Secara umum, aksi-aksi ini dapat dibagi menjadi empat kategori:
·        CPU-Memori: data dapat dipindahkan dari CPU ke memori atau dari memori ke CPU.
·        CPU-I/O: Data dapat kea tau dunia luar denga pemindahan antara CPU dan modul I/O.
·        Pengolahan data: CPU dapat membentuk sejumlah operasi aritmetik atau logic terhadap data.
·        Control: Sebuah instruksi dapat menguabah urutan eksekusi (misalnya, insruksi lompat IAS, Tabel 2.1). Misalnya, CPU dapat membaca instruksi dari lokasi 149, yang menentukan bahwa instruksi berikutnya dibaca dari lokasi 182. CPU akan mengingat hal ini dengan menyetel program counter ke 182. Jadi, pada siklus fetch berikutnya, instruksi akan dibaca dari lokasi 182, bukannya 150.

CPU terdiri dari akumulator (AC) untuk menyimpan data secara sementara. Baik data dan instruksi panjangnya 16 bit. Format instruksi, menandakan bahwa akan terdapat sejumlah 24 = 16 op code yang berlainan dan sejumlah 212 = 4096 (4K) word memori yang dapat diamati secara langsung.

Diperlukan tiga buah instruksi, yang dapat dijelaskan sebagai tiga siklus fetch dan tiga eksekusi :
1.      Program counter (PC) berisi 300 alamat instruksi pertama. Alamat ini dimuatkan ke dalam instruction register (IR). Perlu dicatat bahwa proses ini akan melibatkan penggunaan memory address register (MAR) dan memory buffer register (MBR). Untuk mudahnya, register-register intermediate-nya di abaikan.
2.      4 bit pertama di dalam IR mengindikasikan bahwa akumulator (AC) akan dimuatkan. 12 bit sisanya menentukan alamat, yaitu 940.
3.      PC dinaikkan nilainya, dan instruksi berikutnya akan diambil.
4.      Isi AC yang lama dan isi lokasi 941 ditambahkan, dan hasilnya disimpan di dalam AC.
5.      PC dinaikkan nilainya, dan instruksi berikutnya akan diambil.
6.      Isi PC akan disimpan pada lokasi 941.

Instruksi PDP-11 yang diungkapkan secara simbolik sebagai ADD B, A menyimpan jumlah isi lokasi memori B dan A ke dalam lokasi memori A. Terjadi suatu siklus instruksi tunggal dengan langkah-langkah sebagai berikut.
1.      Mengambil (fetch) instruksi ADD,
2.      Membaca isi lokasi memori A ke dalam CPU.
3.      Membaca isi lokasi memori B ke dalam CPU. Agar isi A tidak hilang, CPI harus memiliki sedikitnya dua buah register untuk menyimpan nilai-nilai memoti.
4.      Menambahkan kegua nilai itu.
5.      Menuliskan hasilnya dari CPU Kke lokasi memori A.

Jadi, siklus eksekusi untuk instruksi tertentu dapat melibatkan lebih dari sebuah referensi ke memori, juga, disamping referensi memori, suatu instruksi dapat menentukan suatu operasi I/O. Untuk sembarang siklus instruksi yang diketahui, sebagian keadaan dapat null dan lainnya dapat lebih dari sekali. Keadaan teersebut adalah :
·        Instruction Address Calculation (aic): Menenetukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya, hal ini melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya.
·        Instruction Fetch (if): Membaca instruksi dari lokasi memorinya ke dalam CPU.
·        Instruction Operation Decoding (oac): Bila operasi melibatkan referensi ke operand didalam memori atau dapat diperoleh melalui I/O, maka tentukan alamat operand.
·        Operand Fetch (of): Ambil operand dari memori dan baca operand itu dari I/O.
·        Data Operation (do): Bentuk operasi yang ditunjukkan di dalam instruksi.
·        Operand Store (os): Tuliskan hasilnya ke dalam memori atau keluarkan ke I/O.
Untuk sebagian mesin, instruksi tunggal dapat menentukan operasi yang akan di bentuk pada suatu vector (array dimensi satu) bilangan-bilangan atau suatu string (array dimensi satu) karakter-karakter.

Tidak ada komentar:

Posting Komentar