([gw] lemess ui sfx:plakk [editor]NULIS!!!)
- Organisasi Prosesor
Organisasi Processor terdiri dari :
- ALU (Arithmatic and Logical Unit) : untuk melakukan komputasi atau pengolahan data aktual
- CU(Control Unit) : untuk mengontrol perpindahan data dan instruksi ke / dariCPU dan juga mengontrol operasi ALU.
- Register: memory internal CPU
Hal-hal yang dilakukan CPU :
- Fetch Instruction(Mengambil instruksi) :CPU membaca instruksi dari memory
- Interpret Instruction(Menterjemahkan instruksi) : CPU menterjemahkan instruksi untuk menentukan aksi yang diperlukan.
- Fetch Data (Mengambil data) : eksekusi instruksi mungkin memerlukan pembacaan data dari memory atau dari modul I/O
- Process Data (Mengolah data) : eksekusi instruksi memerlukan operasi aritmatik atau logika.
- Write data (Menulis data) :Hasil eksekusi mungkin memerlukan penulisan data ke memory atau ke modul I/O
Untuk melakukan tindakan ini prosesor kebutuhan beberapa cara untuk menyimpan instruksi dan data sementara. Sebuah representasi sederhana dari sebuah prosesor dapat ditampilkan sebagai berikut ..
Processor sering disebut sebagai otak dan pusat pengendali computer yang didukung oleh kompunen lainnya. Processor adalah sebuah IC yang mengontrol keseluruhan jalannya sebuah sistem komputer dan digunakan sebagai pusat atau otak dari komputer yang berfungsi untuk melakukan perhitungan dan menjalankan tugas. Processor terletak pada socket yang telah disediakan oleh motherboard, dan dapat diganti dengan processor yang lain asalkan sesuai dengan socket yang ada pada motherboard. Salah satu yang sangat besar pengaruhnya terhadap kecepatan komputer tergantung dari jenis dan kapasitas processor.
Prosesor adalah chip yang sering disebut “Microprosessor” yang sekarang ukurannya sudah mencapai Gigahertz (GHz). Ukuran tersebut adalah hitungan kecepatan prosesor dalam mengolah data atau informasi. Merk prosesor yang banyak beredar dipasatan adalah AMD, Apple, Cyrix VIA, IBM, IDT, dan Intel. Bagian dari Prosesor Bagian terpenting dari prosesor terbagi 3 yaitu :
- Aritcmatics Logical Unit (ALU)
- Control Unit (CU)
- Memory Unit (MU)
2. Organisasi Register
Sistem Komputer menggunakan hirarki memori.pada tingkatan yang atas, memori lebih cepat, lebih kecil, lebih mahal. Di dalam CPU, terdapat sekumpulan register yang tingkatan memorinya berada di atas hirarki memori utama dan cache.
Register dalam CPU memiliki dua fungsi:
User-visible Register
User-visible Register adalah register yang dapat direferensikan dengan menggunakan bahasa mesin yang dieksekusi CPU
User-visible terdiri dari :
a. General Purpose Register
- Digunakan untuk mode pengalamatan dan data.
- Akumulator ( aritmatika, Shift, Rotate)
- Base Register (Rotate,Shift, aritmatika)
- Counter Register ( Looping)
- Data Register (menyimpan alamat I/O device).
b. Register Alamat
- Digunakan untuk mode pengalamatan
- Segment Register (Code Segment, Data Segment, Stack Segment, Extra Segment)
- Register Index (Stack Index, Data Index)
- Stack Pointer
c. Register Data
- Digunakan untuk menampung data
d. Register Kode Status Kondisi (Flag)
- Kode yang menggambarkan hasil operasi sebelumnya
Control and Register
Control and register adalah register-register yang digunakan oleh unit kontrol untuk mengontrol operasi CPU dan oleh program sistem operasi untuk mengntrol eksekusi program. Terdapat empat register yang penting adalah :
a. Program Counter (PC)
- Berisi alamat instruksi yang akan diambil
b. Instruction Register (IR)
- Berisi alamat instruksi terakhir
c. Memory Address Register (MAR)
- Berisi alamat penyimpanan dalam memorid.
d. Memori Buffer Register (MBR)
- Berisi data yang dibaca dari memori atau yang diyliskan ke memori
3. Siklus Intruksi
Fungsi dasar yang dibentuk komputer adalah eksekusi program. Program yang akan dieksekusi berisi sejumlah instruksi yang tersimpan di dalam memori. CPU melakukan tugas ini dengan cara mengeksekusi suatu program.
Siklus instruksi dimulai dengan pengambilan instruksi di memori utama oleh prosesor (gambar berikut). Program counter (PC menyimpan alamat instruksi yang akan diambil tersebut. Pada kebanyakan komputer, setelah instruksi tersebut diambil, nilai PC akan berubah ke instruksi berikutnya yang akan diambil (biasanya bertambah naik).
GAMBAR : Siklus Instruksi
Untuk memproses suatu instruksi dilakukan melalui 2 tahapan :
1. Mengambil instruksi (instruction fetch) dari memori
Fetch instruksi adalah operasi umum bagi setiap instruksi, dan terdiri dari pembacaan instruksi dari suatu lokasi di dalam memori.
2. Mengeksekusi instruksi tersebut (instruction execution).
Eksekusi instruksi dapat melibatkan sejumlah operasi dan tergantung pada sifat-sifat instruksi.
Pengolahan yang diperlukan untuk instruksi tunggal disebut siklus instruksi. Kedua langkah itu berkaitan dengan siklus fetch dan siklus eksekusi. Eksekusi program akan terhenti apabila mesin dimatikan, terjadi kesalahan, atau terdapat instruksi program yang menghentikan komputer.
Pada awal siklus instruksi, CPU membaca instruksi dari memori. Pada CPU yang umum, suatu register yang disebut program counter (PC) dipakai untuk mengawasi instruksi yang akan dibaca selanjutnya. Dengan tidak ada perkecualian tertentu, CPU selalu menambahkan PC setiap kali membaca instruksi, sehingga CPU akan membaca instruksi selanjutnya secara berurutan yaitu instruksi yang terletak pada alamat yang lebih tinggi berikutnya di dalam memori. Sebagai contoh andaikan suatu komputer mengandung 16-bit word memory, dan PC pertama kali bernilai 300. Prosesor akan mengambil instruksi di memori pada alamat 300, yang kemudian dilanjutkan dengan 301, 302, 303, dan seterusnya.
Instruksi yang dibaca akan dimuatkan ke dalam sebuah register di dalam CPU yang dikenal sebagai instruction register (IR). Instruksi berbentuk kode biner yang menentukan apa yang perlu dilakukan oleh CPU. CPU menginterprestasikan instruksi dan melakukan aksi yang diperlukan.
Pipelining Instruksi
Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara continue pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik Pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijaankan oleh microprocessor.
Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi.
Konsep pemrosesan pipeline dapat digunakan dalam sebuah komputer untuk memperbaiki throughput sistem tersebut dalam berbagai variasi cara. Tiga jenis pokok pipelining adalah pipelining aritmatika, instruksi, dan prosesor. Peningkatan throughput sistem dengan satu atau lebih jenis pipelining ini tergantung pada fungsi dan harga pipelining. Harga pipelining termasuk tambahan perangkat keras yang diperlukan untuk mekanisme latch dan kendali, serta waktu yang tidak produktif bagi pengisian pipeline dan memaksa latensi untuk menghindari adanya tubrukan.
Pipelining instruksi dalam suatu komputer nonpipeline, CPU bekerja melalui suatu siklus yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Proses fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya selesai. Untuk mem-pipeline fungsi ini, instruksi-instruksi yang berdampingan di fetch dari memori ketika instruksi yang sebelumnya di-decode dan dijalankan. Proses pipelining instruksi, disebut juga instruction lihat-ke-muka (look-ahead), mem-fetch instruksi secara berurutan. Dengan demikian, jika suatu instruksi menyebabkan percabganan keluar dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch sebelumnya dan instruksi percabangan (branched-to instruction) tersebut di-fetch.
Instruksi pada pipeline
Tahapan pipeline
- Mengambil instruksi dan membuffferkannya
- Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut
- Pada saat tahapan kedua sedang mengeksekusi instruksi ,tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya.