irwan-panarobost Tidak ada harga atas waktu, tapi waktu sangat berharga. Memilik waktu tidak menjadikan kita kaya, tetapi menggunakannya dengan baik adalah sumber dari semua kekayaan(mario teguh)

Kamis, 01 April 2010

CPU (CENTRAL PROCESSING UNIT)

CPU (CENTRAL PROCESSING UNIT)

CPU merupakan tempat pemroses instruksi-instruksi program, yang pada komputer mikro disebut dengan micro-processor (pemroses mikro). Pemroses ini berupa chip yang terdiri dari ribuan hingga jutaan IC. Dalam dunia dagang, pemroses ini diberi nama sesuai dengan keinginan pembuatnya dan umumnya ditambah dengan nomor seri, misalnya dikenal pemroses Intel 80486 DX2-400 (buatan Intel dengan seri 80486 DX2-400 yang dikenal dengan komputer 486 DX2), Intel Pentium 100 (dikenal dengan komputer Pentium I), Intel Pentium II-350, Intel Pentium III-450, Intel Celeron 333, AMD K-II, dan sebagainya. Masing-masing produk ini mempunyai kelebihan dan kekurangan masing-masing.
CPU terdiri dari dua bagian utama yaitu unit kendali (control unit) dan unit aritmatika dan logika (ALU). Disamping itu, CPU mempunyai beberapa alat penyimpan yang berukuran kecil yang disebut dengan register.

CU (CONTROL UNIT) / UNIT KENDALI

Unit ini bertugas mengatur dan mengendalikan semua peralatan yang ada pada sistem komputer. Unit kendali akan mengatur kapan alat input menerima data dan kapan data diolah serta kapan ditampilkan pada alat output. Unit ini juga mengartikan instruksi-instruksi dari program komputer, membawa data dari alat input ke memori utama, dan mengambil data dari memori utama untuk diolah. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah:

  • Mengatur dan mengendalikan alat-alat input dan output.
  • Mengambil instruksi-instruksi dari memori utama.
  • Mengambil data dari memori utama (jika diperlukan) untuk diproses.
  • Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU.
  • Menyimpan hasil proses ke memori utama.

ALU (ARITHMATIC AND LOGIC UNIT)

Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).

Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan instruksi yang sedang diproses sementara data dan instruksi lainnya yang menunggu giliran untuk diproses masih disimpan di dalam memori utama. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
Program yang berisi kumpulan dari instruksi-instruksi dan data diletakkan di memori utama yang diibaratkan sebagai sebuah meja. Kita mengerjakan program tersebut dengan memproses satu per satu instruksi-instruksi yang ada di dalamnya, dimulai dari instruksi yang pertama dan berurutan hingga yang terakhir. Instruksi ini dibaca dan diingat (instruksi yang sedang diproses disimpan di register).
Misalnya instruksi berbunyi HITUNG C = A + B, maka kita membutuhkan data untuk nilai A dan B yang masih ada di meja (tersimpan di memori utama). Data ini dimaca dan masuk ingatan kita (data yang sedang diproses disimpan di register), yaitu misalnya A bernilai 2 dan B bernilai 3. Saat ini ingatan otak kita telah tersimpan suatu instruksi, nilai A, dan nilai B, sehingga nilai C dapat dihitung yaitu sebesar 5 (proses perhitungan ini dilakukan di ALU). Hasil dari perhitungan ini perlu dituliskan kembali ke meja (hasil pengolahan disimpan kembali ke memori utama). Setelah semua selesai, kemungkinan data, program, dan hasilnya disimpan secara permanen untuk keperluan di lain hari sehingga perlu disimpan di dalam lemari kabinet (penyimpanan sekunder).

Dengan demikian, ada tiga macam memori yang dipergunakan di dalam sistem komputer, yaitu:
1. Register, digunakan untuk menyimpan instruksi dan data yang sedang diproses.
2. Main memory, dipergunakan untuk menyimpan instruksi dan data yang akan diproses dan hasil pengolahan.
3. Secondary storage, dipergunakan untuk menyimpan program dan data secara permanen.

Ada banyak register yang terdapat pada CPU dan masing-masing sesuai dengan fungsinya. Di bawah ini akan diberikan penjelasan secara garis besar dari masing-masing register:
1. Instruction Register (IR) digunakan untuk menyimpan instruksi yang sedang diproses.
2. Program Counter (PC) adalah register yang digunakan untuk menyimpan alamat lokasi dari memori utama yang berisi instruksi yang sedang diproses. Selama pemrosesan instruksi oleh CPU, isi dari PC diubah menjadi alamat dari memori utama yang berisi instruksi berikutnya yang mendapat giliran akan diproses, sehingga bila pemrosesan sebuah instruksi selesai maka jejak instruksi selanjutnya di memori utama dapat dengan mudah didapatkan.
3. General purpose register, yaitu register yang mempunyai kegunaan umum yang berhubungan dengan data yang sedang diproses. Sebagai contoh, register jenis ini yang digunakan untuk menampung data yang sedang diolah disebut dengan operand register, sedang untuk menampung hasil pengolahan disebut accumulator.
4. Memory data register (MDR) digunakan untuk menampung data atau instruksi hasil pengiriman dari memori utama ke CPU atau menampung data yang akan direkam ke memori utama dari hasil pengolahan oleh CPU.
5. Memory address register (MAR) digunakan untuk menampung alamat data atau instruksi pada memori utama yang akan diambil atau yang akan diletakkan.

Sebagai tambahan dari register, beberapa CPU menggunakan suatu cache memory yang mempunyai kecepatan sangat tinggi dengan tujuan agar kerja dari CPU lebih efisien dan mengurangi waktu yang terbuang. Tanpa cache memory, CPU akan menunggu sampai data atau instruksi diterima dari memori utama, atau menunggu hasil pengolahan selesai dikirim ke memori utama baru proses selanjutnya bisa dilakukan. Padahal proses dari memori utama lebih lambat dibanding kecepatan register sehingga akan banyak waktu terbuang. Dengan adanya cache memory, sejumlah blok informasi pada memori utama dipindahkan ke cache memory dan selanjutnya CPU akan selalu berhubungan dengan cache memory.

Array Processor
Bila sejumlah besar dari perhitungan harus dilakukan, maka untuk mempercepat proses biasanya dipergunakan unit tambahan yang disebut dengan array processor atau co-processor. Unit ini terpisah dari unit lainnya yang dapat ditambahkan pada pemroses utamanya. Dengan perkembangan teknologi sekarang, unit pemroses tambahan ini sudah tidak diperlukan lagi karena pemroses mikro yang ada sudah mampu menangani perhitungan dengan kemampuan dan kecepatan yang sangat tinggi. Teknologi pemroses tambahan ini diperlukan untuk komputer-komputer mikro lama, misalnya yang masih menggunakan pemroses utama seri 8088 hingga 80486.

MEMORI

CPU hanya dapat menyimpan data dan instruksi di register yang berukuran kecil sehingga tidak dapat menyimpan semua informasi yang dibutuhkan untuk keseluruhan proses program. Untuk mengatasi hal ini, maka CPU harus dilengkapi dengan alat penyimpan yang berkapasitas lebih besar yaitu memori utama. Unit ini dapat dibayangkan sebagai sekumpulan kotak-kotak yang masing-masing dapat menyimpan sepenggal informasi baik berupa data maupun instruksi. Tiap-tiap lokasi dari kotak ditunjukkan oleh suatu alamat (address), yaitu berupa nomor yang menunjukkan lokasi tertentu dari kotak memori.
Ukuran memori ditunjukkan oleh satuan byte, misalnya 1 Mb, 4 Mb, 8 Mb, atau bahkan adayang sampai 256 Mb. Pada umumnya 1 byte memori terdiri dari 8 - 32 bit (binary digit), yaitu banyaknya digit biner (0 atau 1) yang mampu disimpan dalam satu kotak memori.

Random Access Memory (RAM)
Semua data dan program yang dimasukkan melalui alat input akan disimpan terlebih dahulu di memori utama, khususnya RAM, yang dapat diakses secara acak (dapat diisi/ditulis, diambil, atau dihapus isinya) oleh pemrogram. Struktur RAM terbagi menjadi empat bagian utama, yaitu:
1. Input storage, digunakan untuk menampung input yang dimasukkan melalui alat input.
2. Program storage, digunakan untuk menyimpan semua instruksi-instruksi program yang akan diakses.
3. Working storage, digunakan untuk menyimpan data yang akan diolah dan hasil pengolahan.
4. Output storage, digunakan untuk menampung hasil akhir dari pengolahan data yang akan ditampilkan ke alat output.

Input yang dimasukkan melalui alat input akan ditampung terlebih dahulu di input storage. Bila input tersebut berupa program maka akan dipindahkan ke program storage, dan bila berbentuk data maka akan dipindahkan ke working storage. Hasil dari pengolahan juga ditampung terlebih dahulu di working storage dan bila akan ditampilkan ke alat output maka hasil tersebut dipindahkan ke output storage.

Read Only Memory (ROM)
Dari namanya, ROM hanya dapat dibaca sehingga pemrogram tidak bisa mengisi sesuatu ke dalam ROM. ROM sudah diisi oleh pabrik pembuatnya berupa sistem operasi yang terdiri dari program-program pokok yang diperlukan oleh sistem komputer, seperti misalnya program untuk mengatur penampilan karakter di layar, pengisian tombol kunci papan ketik untuk keperluan kontrol tertentu, dan bootstrap program. Program bootstrap diperlukan pada saat pertama kali sistem komputer diaktifkan. Proses mengaktifkan komputer pertama kali ini disebut dengan booting, yang dapat berupa cold booting atau warm booting.
Cold booting merupakan proses mengaktifkan sistem komputer pertama kali untuk mengambil program bootstrap dari keadaan listrik komputer mati (off) menjadi hidup (on). Sedangkan warm booting merupakan proses pengulangan pengambilan program bootstrap pada saat komputer masih hidup dengan cara menekan tiga tombol tombol pada papan ketik sekaligus, yaitu Ctrl, Alt, dan Del. Proses ini biasanya dilakukan bila sistem komputer macet, daripada harus mematikan aliran listrik komputer dan menghidupkannya kembali.
Instruksi-instruksi yang tersimpan di ROM disebut dengan microinstruction atau firmware karena hardware dan software dijadikan satu oleh pabrik pembuatnya. Isi dari ROM ini tidak boleh hilang atau rusak karena bila terjadi demikian, maka sistem komputer tidak akan bisa berfungsi. Oleh karena itu, untuk mencegahnya maka pabrik pembuatnya merancang ROM sedemikian rupa sehingga hanya bisa dibaca, tidak dapat diubah-ubah isinya oleh orang lain. Selain itu, ROM bersifat non volatile supaya isinya tidak hilang bila listrik komputer dimatikan.
Pada kasus yang lain memungkinkan untuk merubah isi ROM, yaitu dengan cara memprogram kembali instruksi-instruksi yang ada di dalamnya. ROM jenis ini berbentuk chip yang ditempatkan pada rumahnya yang mempunyai jendela di atasnya. ROM yang dapat diprogram kembali adalah PROM (Programmable Read Only Memory), yang hanya dapat diprogram satu kali dan selanjutnya tidak dapat diubah kembali. Jenis lain adalah EPROM (Erasable Programmable Read Only Memory) yang dapat dihapus dengan sinar ultraviolet serta dapat diprogram kembali berulang-ulang. Disamping itu, ada juga EEPROM (Electrically Erasable Programmable Read Only Memory) yang dapat dihapus secara elektronik dan dapat diprogram kembali.

BUS

Hubungan antara CPU dengan memori utama ataupun dengan alat-alat input/output (I/O) dilakukan melalui suatu jalur yang disebut dengan bus. Hubungan antara CPU dengan memori utama melalui jalur bus yang dilekatkan pada MDR, MAR, dan unit kendali dalam CPU. Sedangkan bus yang menghubungkan CPU dengan alat-alat I/O tidak dilekatkan langsung ke alat-alat I/O, tetapi dapat dilakukan melalui suatu alat I/O port atau DMA controller atau I/O channel.
Bus merupakan suatu sirkuit yang merupakan jalur transportasi informasi antara dua atau alat-alat dalam sistem komputer. Bus yang menghubungkan antara CPU dengan memori utama disebut dengan internal bus, sedang yang menghubungkan CPU dengan alat-alat I/O disebut external bus. Di dalam internal bus, hubungan antara CPU dengan memori utama dilakukan melalui data bus yang dihubungkan dengan MDR, dan melalui address bus yang dihubungkan dengan MAR, serta melalui control bus yang dihubungkan dengan control unit.

PEMROSESAN INSTRUKSI

Jika pemrogram menginginkan CPU untuk mengerjakan sesuatu, maka harus ditulis suatu instruksi yang dapat dipahami oleh CPU. Kumpulan dari instruksi inilah yang disebut dengan program.
Program yang akan diproses dan data yang akan diolah oleh CPU harus diletakkan terlebih dahulu di memori utama. Proses ini yang biasa kita lakukan dengan mengetikkan nama program pada prompt DOS, atau meng-klik ikon pada sistem operasi Windows. Instruksi-instruksi yang dapat diproses oleh CPU adalah instruksi-instruksi yang sudah dalam bentuk bahasa mesin.
Tahap pertama dari pemrosesan suatu instruksi oleh CPU disebut dengan instruction fetch, yaitu proses CPU mengambil atau membawa instruksi dari memori utama ke CPU. Tahap selanjutnya (kedua) disebut instruction execute, yaitu proses dari CPU untuk mengerjakan instruksi yang sudah diambil dari memori utama dan sudah berada di IR register.
Waktu yang dibutuhkan untuk menyelesaikan tahap pertama disebut waktu instruksi (instruction time), dan waktu yang dibutuhkan untuk menyelesaikan tahap kedua disebut waktu eksekusi (execution time). Sedangkan total waktu yang dibutuhkan untuk kedua tahap tersebut dinamakan waktu siklus (cycle time).
Beberapa pabrik komputer mengukur kecepatan CPU berdasarkan lamanya melakukan satu siklus mesin yang diukur dengan satuan megahertz (Mhz), dimana satu Mhz berarti dapat diselesaikan satu juta siklus per detiknya. Suatu pengukur waktu yang disebut dengan clock akan berdetak untuk tiap-tiap siklus yang dilakukan. Misalnya suatu pemroses 16 Mhz berarti clock akan berdetak sebanyak 16 juta kali tiap detiknya.

Tidak ada komentar:

Posting Komentar