Pages

21/05/11

cara kerja prosesor

Cara kerja Prosesor
Prosesor berfungsi seperti kalkulator, hanya saja dengan kemampuan pemrosesan data yang jauh lebih besar. Fungsi utamanya adalah melakukan operasi aritmatika dan logika terhadap data.
Data tersebut diambil dari memori atau diperoleh dari alat input yang dioperasikan oleh operator seperti papan ketik (keyboard), mouse dan lainnya. Kerja prosesor ini dikontrol oleh sekumpulan instruksi software. Software tersebut diperoleh atau dibaca dari media penyimpan seperti harddisk, disket, CD, dan lainnya. Kemudian instruksi-instruksi tadi disimpan dalam RAM. Setiap instruksi diberi alamat unik yang disebut alamat memori. Untuk selanjutnya, prosesor akan mengakses data-data yang ada pada RAM, dengan cara menentukan alamat data yang dikehendaki.
Prosesor dan RAM dihubungkan oleh unit yang disebut bus. Saat sebuah program dijalankan, data akan mengalir dari RAM melalui bus, menuju ke prosesor. Di dalam prosesor, data ini di-dekode, kemudian berjalan ke ALU yang bertugas melakukan kalkulasi dan perbandingan. Kadang-kadang data disimpan sementara di register agar dapat diambil kembali dengan cepat untuk diolah. Setelah selesai, hasil pemrosesannya mengalir kembali ke RAM atau ke media penyimpan. Apabila data hasil perosesan tadi akan diolah lagi, maka data tersebut akan disimpan dalam register. Demikian seterusnya.
Bilangan yang ditangani oleh prosesor
Terdapat dua macam bilangan yang ditangani oleh prosesor, yaitu bilangan fixed point dan bilangan floating point.
Bilangan fixed point adalah bilang yang memiliki nilai digit spesifik pada salah satu titik desimalnya, Hal ini akan membatasi jangkauan nilai yang mungkin untuk angka-angka tersebut, namun, hal ini justru dapat dihitung oleh prosesor.
Sedangkan bilangan floating point, adalah bilangan yang diwujudkan dalam notasi ilmiah, yaitu berupa angka pecahan desimal dikalikan dengan angka 10 pangkat bilangan tertentu. Misalnya: 705,2944 x 109, atau 4,3 x 10-7. Cara penulisan angka seperti ini merupakan cara singkat untuk menuliskan angka yang nilainya sangat besar maupun sangat kecil. Bilangan seperti ini banyak digunakan dalam pemrosesan grafik dan kerja ilmiah. Proses aritmatika bilangan floating point memang lebih rumit dan prosesor membutuhkan waktu yang lebih lama untuk mengerjakannya, karena mungkin akan menggunakan beberapa siklus detak (clock cycle) prosesor.
Oleh karena itu, beberapa jenis komputer menggunakan prosesor sendiri untuk menangani bilangan floating point. Prosesor yang khusus menangani bilangan floating point disebut Floating Point Unit (FPU) atau disebut juga dengan nama math co-processor. FPU dapat bekerja secara paralel dengan prosesor. Dengan demikian proses penghitungan bilangan floating point dapat berjalan lebih cepat. Keberadaan FPU integrated (bersatu dengan prosesor) sudah menjadi kebutuhan standart komputer masa kini, karena banyak sekali aplikasi-aplikasi yang beroperasi menggunakan bilangan floating point.

Bagaimana cara kerja processor dalam memproses sebuah aplikasi ?
rocessor terdiri dari dari 4 elemen yang melakukan operasi terhadap data, yaitu instruksi, petunjuk instruksi, beberapa register dan ALU (Arithmetic Logic Unit). Petunjuk instruksi akan memberi tahu processor dimana instruksi dari sebuah aplikasi diletakkan di memori.
Cara processor melakukan tugas : penunjuk instruksi mengarahkan fetch instruksi ke sebuah spot di memori yang menampung sebuah instruksi. Fetch kemudian menangkap instruksi tersebut dan memberikannya ke dekoder instruksi, kemudian mengamati instruksi tersebut dan menentukan langkah selanjutnya untuk melengkapi instruksi tersebut.
ALU kemudian mengerjakan perintah yang diminta instruksi : menambah data, membagi data, atau memanipulasi data yang ada. Setelah processor menerjemahkan dan mengerjakan instruksi, unit kontrol memberitahukan fetch instruksi untuk menangkap instruksi berikutnya di memori. Proses ini berlangsung terus menerus, dari satu instruksi ke instruksi berikutnya, dalam suatu langkah yang rumit, untuk menciptakan hasil yang dapat dilihat di monitor.
Untuk meyakinkan semua itu berjalan dalam satu kesatuan waktu, bagian itu memerlukan suatu clock generator. Clock generator meregulasi setiap langkah yang dikerjakan processor. Seperti sebuah metronome, sebuah clock generator mengirim pulsa-pulsa elektrik untuk menentukan langkah yang harus dikerjakan processor. Pulsa tersebut diukur dalam jutaan langkah per detik, atau megahertz, yang dikenal sebagai ukuran kecepatan processor. Semakin banyak pulsa dibuat, semakin cepat kerja processor. 
Bagaimana cara kerja processor dalam memproses banyak aplikasi ?
Untuk meningkatkan kinerja komputer, pembuat chip processor menempatkan sebuah arithmetic logic unit (ALU) di dalam processor. Secara teoritis ini berarti pemrosesan dapat dilakukan dua kali lebih cepat dalam satu langkah.
Sebagai tambahan multiple ALU, kemudian diintegrasikan Floating Point Unit ke dalam processor. FPU ini menangani angka dari yang paling besar hingga yang paling kecil (yang memiliki banyak angka di belakang koma). Sementara FPU menangani kalkulasi semacam itu, ALU menjadi bebas untuk melakukan tugas lain dalam waktu yang bersamaan, untuk meningkatkan kinerja.
Processor juga menambah kecepatan pemrosesan instruksi dengan melakukan pipelining instruksi, atau menjalankan instruksi secara paralel satu dengan lainnya. Eksekusi dari sebuah instruksi memerlukan langkah yang terpisah, sebagai contoh, fetching dan dekoding sebuah instruksi. Sebenarnya processor harus menyelesaikan sebuah instruksi secara keseluruhan sebelum melanjutkan ke instruksi berikutnya. Sekarang sirkuit yang berbeda menangani langkah yang terpisah tersebut.
Begitu sebuah instruksi telah selesai dalam satu langkah untuk dilanjutkan ke langkah berikutnya, transistor yang mengerjakan langkah pertama bebas untuk mengerjakan instruksi berikutnya, sehingga akan mempercepat kerja pemrosesan.
Sebagai tambahan untuk meningkatkan kinerja processor adalah dengan memprediksi cabang-cabang instruksi, yaitu memperkirakan lompatan yang akan dilakukan sebuah program dapat dilakukan; eksekusi secara spekulatif, yaitu mengeksekusi cabang instruksi yang ada di dapat; dan penyelesaian tanpa mengikuti urutan, yakni kemampuan untuk menyelesaikan sebuah seri instruksi tidak berdasarkan urutan normal.
Bagaimana processor membagi tugas dalam menjalankan banyak aplikasi ?
Pemrosesan instruksi dalam processor dibagi atas dua tahap, Tahap-I disebut Instruction Fetch, sedangkan Tahap-II disebut Instruction Execute. Tahap-I berisikan pemrosesan processor dimana Control Unit mengambil data dan/atau instruksi dari main-memory ke register, sedangkan Tahap-II berisikan pemrosesan processor dimana Control Unit menghantarkan data dan/atau instruksi dari register ke main-memory untuk ditampung di RAM, setelah Instruction Fetch dilakukan. Waktu pada tahap-I ditambah dengan waktu pada tahap-II disebut waktu siklus mesin (machine cycles time).
Penghitung program dalam processor umumnya bergerak secara berurutan. Walaupun demikian, beberapa instruksi dalam processor, yang disebut dengan instruksi lompatan, mengizinkan processor mengakses instruksi yang terletak bukan pada urutannya. Hal ini disebut juga percabangan instruksi (branching instruction).
Cabang-cabang instruksi tersebut dapat berupa cabang yang bersifat kondisional (memiliki syarat tertentu) atau non-kondisional. Sebuah cabang yang bersifat non-kondisional selalu berpindah ke sebuah instruksi baru yang berada di luar aliran instruksi, sementara sebuah cabang yang bersifat kondisional akan menguji terlebih dahulu hasil dari operasi sebelumnya untuk melihat apakah cabang instruksi tersebut akan dieksekusi atau tidak. Data yang diuji untuk percabangan instruksi disimpan pada lokasi yang disebut dengan flag.
Penjadwalan CPU adalah dasar dari multi programming sistem operasi. Cara kerja dari penjadwalan CPU adalah men-switch CPU diantara proses yang dikerjakan.
Penjadwalan CPU terjadi apabila :
a)      Proses berubah dari running state ke waiting state.
b)      Proses berubah dari running state ke ready state.
c)      Proses berubah dari waiting state ke ready state.
d)     Proses terminates.
Jenis-Jenis Antrean (queue) :
a)      Job queue adalah kumpulan semua proses dalam system.
b)      Ready queue adalah kumpulan semua proses dalam main memory (memory utama), ready, waiting untuk diekseskusi.
c)      Devices queue adalah kumpulan proses yang menunggu (waiting) untuk I/O devices.
Penjadwalan CPU memiliki 3 jenis yaitu :
a)      Long-Term Scheduler adalah pemilihan proses yang akan dibawa ke antrean ready (ready queue).
b)      Short-Term Scheduler adalah pemilihan proses yang akan dieksekusi berikutnya dan Mengalokasikan CPU.
c)      Medium-Term Scheduler adalah Proses yang terkena swaping.
 Bagaimana processor membedakan suatu aplikasi dengan aplikasi lainnya ?
Sebuah komputer akan bekerja apabila mendapat instruksi-instruksi yang dikemas dalam sebuah program. Processor dari sebuah komputer hanya dapat mengeksekusi program yang menggunakan instruksi-instruksi yang dapat dikenalinya. Instruksi-instruksi ini dikenal sebagai instruksi mesin (machine instruction) atau instruksi komputer (computer instruction). Kumpulan fungsi yang dapat dieksekusi processor disebut set instruksi (instruction set) CPU. Instruksi mesin ini berupa kode-kode biner.
Semua bahasa pemrograman, baik bahasa assembler maupun bahasa tingkat tinggi yang digunakan akan diubah menjadi bentuk kode biner oleh sebuah compiler yang biasanya sudah tersedia dalam sebuah bahasa pemrograman, kemudian disimpan dalam memory program.   
Ketika program aplikasi dipanggil oleh user dan dijalankan, processor akan mengenali aplikasi tersebut berdasarkan kode-kode biner yang tersimpan didalam set instruksi. Setiap program aplikasi memiliki kode-kode biner dan set instruksi yang berbeda satu sama lain sesuai dengan program aplikasinya. Jadi processor dapat membedakan antara satu aplikasi dan aplikasi lain berdasarkan kode-kode biner  pada set instruksi aplikasi tersebut.

 sumber: http://gpinkom.wordpress.com/2008/07/14/prosesor-komponen-dan-cara-kerja/
              http://moving-onn.blogspot.com/2011/05/cara-kerja-processor.html

Tidak ada komentar:

Posting Komentar

Entri Populer