Selasa, 07 Mei 2013

bagaimana proses execusi sebuah instruksi

Bus-Bus Sistem

Pada level  paling atas sebuah computer terdiri dari CPU, memori,dan komponen-komponen I/O, dengan satu modul atau lebih pada masing-masing jenisnya. Komponen-komponen diinterkoneksikan dengan suatu cara agar memperoleh fubgsi dasar computer yaitu untuk mengeksekusi program.

KOMPONEN-KOMPONEN KOMPUTER

Seluruh rancangan computer kontemporer secara virtual didasarkan pada konsep yang di buat oleh Jhon von Neumann di insititute for Advance Studies Princeton. Rancangan itu disebut sebagai arsitektur von Neumann dan didasarkan pada tiga konsep utama:

  1. Data dan instruksi-instruksi disimpan di memori baca-tulis tunggal.
  2. Si memori ini dapat dialamati dengan lokasi, tidak tergantung pada jenis data yang berada di dalamnya.
  3. Eksekusi terjadi dengan cara sekuensial (kecuali diubah secara eksplisit) dari instruksi yang satu ke instruksi berikutnya.

Terdapat sekumpulan kecil komponen-komponen logic dasar, yang dapat dikombinasikan dengan berbagai cara untuk menyimpan data biner dan untuk membentuk operasi aritmetik dan logic terhadap data tersebut. Bila terdapat komputasi khusus yang perlu dibuat, maka dapat dibuat suatu konfigurasi komponen-komponen logic yang dirancabg secara spesifik untuk komputasi itu.

FUNGSI KOMPUTER

Funsi dasar yang dibentuk computer adalah eksekusi program. Progaram yang akan dieksekusi berisi sejumlah instruksi yang tersimpan di dalam memori. Central Processing Unit (CPU) melakukan tugas ini dengan cara mengeksekusi suatu program. Pandangan paling sederhana tentang hal ini adalah dengan mengambil pengolahan instruksi yang terdiri dari dua langkah: Instruksi baca (fetch) CPU dari memori pada suatu saat, kemudian CPU mengeksekusi setiap instruksi. Eksekusi program terdiri dari proses pengualnag fetch dan eksekusi instruksi. Fetch instruksi adalah operasi umum bagi setiap instruksi, dan terdiri pembacaan instruksi dari suatu lokasi di dalam memori.

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 dam melakukan aksi yang diperlukan. Secara umum, aksi-aksi ini dapat dibagi menjadi empat kategori:

  1. CPU-Memori: data dapat dipindahkan dari CPU ke memori atau dari memori ke CPU.
  2. CPU-I/O: Data dapat kea tau dunia luar denga pemindahan antara CPU dan modul I/O.
  3. Pengolahan data: CPU dapat membentuk sejumlah operasi aritmetik atau logic terhadap data.
  4. 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 :

  1. Instruction Address Calculation (aic): Menenetukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya, hal ini melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya.
  2. Instruction Fetch (if): Membaca instruksi dari lokasi memorinya ke dalam CPU.
  3. Instruction Operation Decoding (oac): Bila operasi melibatkan referensi ke operand didalam memori atau dapat diperoleh melalui I/O, maka tentukan alamat operand.
  4. Operand Fetch (of): Ambil operand dari memori dan baca operand itu dari I/O.
  5. Data Operation (do): Bentuk operasi yang ditunjukkan di dalam instruksi.
  6. 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.

Saat instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di MAA (melalui Input-storage), apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage.

Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register).

Jika instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Akumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan keoutput-devices.a



sumber :


Tidak ada komentar:

Posting Komentar