Bagian terpenting dalam sebuah komputer adalah unit pemroses atau CPU. Instruksi-instruksi program akan diproses untuk mengolah data yang sudah dimasukkan ke dalam komputer lewat alat input dan hasilnya akan ditampilkan di alat output.

Pada komputer mikro, prosesor ini disebut dengan mikroprosesor. CPU terdiri dari dua bagian utama yaitu unit kendali (control unit) dan unit aritmatika dan logika (arithmatic and logic unit). Di samping dua bagian tadi , CPU mempunyai beberapa memori yang berukuran kecil yang disebut register.

Iklan pertama untuk mikroprosesor muncul di Electronic News. Federico Faggin, Ted Hoff, dan timnya di Intel Corporation mendesain mikroprosesor 4004 ketika membuat sebuah IC pesanan untuk Busicom, sebuah perusahaan kalkulator Jepang. Mikroprosesor 4004 mempunyai 2.250 transistor PMOS, menangani data 4 bit, dan dapat mengeksekusi 60 ribu operasi per detik. Mikroprosesor 4004 ini adalah salah satu dari seri IC untuk komponen kalkulator tersebut: 4001: memori ROM 2.048 bit; 4002: memori RAM 320 bit; serta 4003: register geser I/O 10 bit.

Pada tahun 1972, 8008 dengan bus data 8 bit digunakan oleh Don Lancaster untuk membuat cikal-bakal personal komputer. 8008 membutuhkan 20 komponen tambahan untuk dapat bekerja penuh sebagai CPU. Lalu tahun 1974, 8080 menjadi otak personal pertama komputer, Altair, diduga merupakan nama tujuan pesawat Starship Enterprise di film TV Star Trek. 8080 hanya membutuhkan 2 perangkat tambahan untuk bekerja. Selain itu 8080 terbuat dari transistor NMOS yang bekerja lebih cepat. 8080 disebut sebagai mikroprosesor generasi kedua. Segera sesudah itu Motorolla membuat MC6800 yang juga merupakan CPU multiguna. MC6800 sangat populer karena menggunakan catu daya +5V, dibanding 8080 dengan catu daya –5V, +5V, -12V, dan +12V. Mikroprosesor lain yang muncul adalah 6502 sebagai CPU komputer Apple II, dan Zilog Z80 untuk CPU Radio Shack TRS-80.

Tahun 1978, IBM menciptakan personal komputer PC-XT yang sangat populer menggunakan mikroprosesor 8086 dan 8088. Keduanya mampu menangani data 16 bit. Bedanya hanya pada ukuran bus data yang hanya 8 bit untuk 8088 (operasi internal 16 bit), dan 16 bit untuk 8086. Kemudian Intel membut 80186 dan 80188 yang juga berisi perangkat peripheral terprogram. Tahun 1982, 80286 adalah prosesor pertama yang dapat menjalankan perangkat lunak yang ditulis untuk pendahulunya, karena instruksi yang dimiliki oleh seri sebelumnya semuanya dimiliki dan ditambahi dengan instruksi lain. Kompatibilitas ke atas ini kemudian menjadi ciri khas mikroprosesor Intel. Dalam 6 tahun, ada 15 juta PC-AT yang menngunakan 80286 sebagai CPU.

Tahun 1985, Intel membuat 80386 (386TM) yang mengandung 275 ribu transistor, dan merupakan mikroprosesor 32 bit yang dapat melakukan multi tasking (menjalankan beberapa program dalam waktu yang bersamaan). Tahun 1989, Intel 486TM adalah prosesor pertama yang mempunyai math coprosesor secara built-in di dalamnya.

Tahun 1993, lahir keluarga prosesor Pentium®. Tahun 1995, prosesor Pentium® Pro didesain untuk server 32-bit, mengandung 5,5 juta transistor dan mempunyai chip memori cache kedua di dalamnya. Tahun 1997, dibuat prosesor Pentium® II dengan 7,5 juta transistor dan teknologi MMX, yang didesain khusus untuk memproses data video, audio and grafik secara efisien. Prosesor ini juga diperkenalkan dengan bentuk cartridge Single Edge Contact (S.E.C). Seiring dengan itu bermunculan seri Celeron yang merupakan versi Pentium dengan beberapa fitur yang dihilangkan untuk menekan biaya produksi.

Tahun 1999 muncul Pentium !!! dengan 70 instruksi baru yang mendukung Internet Streaming SIMD. Processor ini berisi 9,5 juta transistor, dan mengintroduksi teknologi 0,25-micron. Pada saat ini sedang dikembangkan mikroprosesor 64 bit, sehingga operasi-operasi matematis yang dilakukan dapat lebih cepat.

1. Control Unit

Bagian ini bertugas mengatur dan mengendalikan semua peralatan yang ada pada sistem komputer. Control unit mengatur kapan alat input menerima data dan kapan data diolah serta kapan ditampilkan pada alat output. Control unit mengartikan instruksi-instruksi dari program komputer, membawa data dari main memory untuk diolah. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika maka control unit akan mengirim instruksi tersebut ke arithmatic and logic unit. Hasil dari pengolaha data ini akan dibawa oleh control unit ke main memory lagi untuk disimpan.

Jadi tugas dari control unit adalah sebagai berikut :

1. Mengatur dan mengendalikan alat-alat input dan output.
2. Mengambil instruksi-instruksi dari main memory.
3. Mengambil data main memory kalau diperluka oleh proses.
4. Mengirim instruksi ke arithmetic and logic unti bila ada perhitungan dan perbandingan logika serta mengawasi kerja arithmetic and logic unit.
5. Menyimpan hasil proses ke main memory.
2. Arithmetic and Logic Unit (ALU)
Tugas utama dari arithmetic and logic unit (ALU) adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi yang diberikan oleh program dan melakukan perbandingan logika. ALU melakukan operasi aritmatika dengan dasar pertambahan sedang aritmatika yang lainnya seperti pengurangan, perkalian, dan pembagian dilakukan dengan pengmbangan dari operasi pertambahan. Sebagai contoh a-b akan bernilai sama dengan operasi penamabahan a + (-b) atau operasi perkalian 2 x a akan bernilai sama dengan a + a. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika adalah sirkuit adder.
Ada 4 kelas operasi aritmatika yaitu decimal arithmetic, fixed point arithmetic, floating poit arithmetic, dan logic operation. Decimal arithmetic digunakan untuk operasi komersial dan dinyatakan dalam bilangan decimal dengan memakai tanda (+) untuk bilangan positif dan (-) untuk bilangan negative. Fixed poing arithmetic adalah operasi aritmatika dari data biner dan untuk menyatakan address dari storage. Floating point arithmetic untuk operasi matematika.
Tugas lain dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instrusi dari program. Operasi logika (logic operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika yaitu sama dengan (=), tidak sama dengan (<>), kurang dari (<), kurang dari atau sama dengan (<=), lebih dari (>), dan lebih dari atau sama dengan (>=).
3. Register
Register merupakan memory kecil yang mempunyai kecepatan tinggi, lebih cepat lima sampai sepuluh kali lebih cepat jika dibandingkan dengan kecepatan read atau write pada main memory. Register digunakan untuk menyimpan instruksi dan data yang sedang diproses oleh CPU, sedangkan instruksi-instruksi dan data lainnya yang menunggu giliran untuk diproses masih disimpan di main memory.
Secara analog register ini dapat diibaratkan dengan ingatan otak bila anda melakukan pengolahan data secara manual sehingga otak dapat diibaratkan sebagai CPU yang berisi ingatan-ingatan. Satuan kendali yang mengendalikan seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
Program yang berisi kumpulan dari instruksi-instruksi dan data diletakkan di main memory yang diibaratkan sebagai meja. Anda mengerjakan program tersebut dengan memproses satu per satu instruksi-instruksi yang ada di dalamnya mulai dari instruksi yang pertama. Instruksi ini anda baca dan diingat. Instruksi yang sedang diproses disimpan di register. Misalnya instruksi tersebut berbunyi ”hitung c = a + b” maka anda membutuhkan data nilai a dan b yang masih ada dimeja. Data tersebut anda baca dan masuk ke ingatan anda yaitu a bernlai 2 dan b bernilai 3. sekarang di ingatan otak anda telah tersimpan suatu instruksi dan nilai data a dan b, dengan demikian nilai dari c dapat kita hitung sehingga hasilnya adalah 5. hasil dari perhitungan ini perlu anda tuliskan kembali ke meja. Setelah semua hasil instruksi selesai diproses kemungkinan program, data dan hasil pengolahan ingin anda simpan secara permanen untuk keperluan di lain hari dan dapat anda simpan di fillinf cabinet. Memory luar komputer diibaratkan seperti fillinf cabinet.
Jadi, dalam komputer terdiri dari tiga maam memory yaitu :
1. Register, dipergunakan untuk menyimpan instruksi dan data yang sedang diproses.
2. Main memory, dipergunakan untuk menyimpan instruksi dan data yang akan diproses dan hasil dari pengolahan.
3. Eternal memory, dipergunakan untuk menyimpan program dan data secara permanen.
Register yang berhubungan dengan instruksi yang sedang diproses adalah instruction register dan program counter. Instruction register (IR) atau disebut juga program register digunakan untuk menyimpan instruksi yang sedang dijalankan atau diproses. Program yang berisi kumpulan instruksi disimpan di main memory. Pemrosesan program dilakukan instruksi per instruksi, instruksi yang mendapat giliran untuk diproses diambil dari main memory dan disimpan di register (IR).
Program counter atau disebut juga control counter adalah register yang digunakan untuk menyimpan alamat (address) lokasi dari main memory yang berisi instruksi yang sedang diproses. Selama pemrosesan instruksi yang dilakukan oleh CPU maka isi dari program counter (PC) diubah dengan alamat dari main memory berikutnya yang berisi instruksi selanjutnya yang mendapat giliran untuk diproses. Sehingga bila pemrosesan sebuah instruksi selesai dilakukan tidak ada waktu yang terbuang untuk mencari jejak dari instruksi berikutnya yang akan diproses karena alamat atau letak dari instruksi tersebut sudah berada PC.
Register yang berhubungan dengan data yang sedang diproses adalah general purpose register. Untuk beberapa computer, general purpose register diberi symbol R0, R1, R2, … Rn yang mempunyai kegunaa yang umum seperti untuk menampung data yang sedang diolah(operand register) dan untuk menampung hasil pengolahan (accumulator). Untuk computer IBM PC yang menggunakan mikroprosesor intel 8088 mempunyai general purpose register sebanyak 4 buah register. Satu untuk accumulator, yaitu register yang diberi nama AX register dan 3 buah yang lainnya untuk operand register yaitu BX, CX, dan DX register.
Operand register digunakan untuk menampung data atau operand yang sedang dioperasikan. Accumulator adalah register yang digunakan untuk menyimpan hasil dari operasi aritmatika dan operasi logika yang dilakukan oleh ALU.
Konsep penting yang mempengaruhi kecepatan dari prosesor adalah ukura dari register. Istilah word size menggambarkan ukuran dari operand register yang berkisar dari 8 sampai 64 bit. Misalnya operand register mempunyai word size 16 bit maka prosesor tersebut dikatakan 16 bit prosesor.Register lainnya yang digunakan sebagai jembatan antara CPU dengan main memory adalah memory address register (AMR) dan memory data register (MDR). Register ini yang dihubungkan dengan suatu jalur (bus) ke main memory.
Memory data register digunakan untuk menampung data atau instruksi hasil pengiriman dari main memory ke CPU atau untuk menampung data yang akan disimpan ke main memory. Instruksi atau data yang akan diambil dari main memory dikirimkan ke CPU lewat data bus dan diterima terlebuh dahulu di MDR dan akan dipindahkan ke IR bila berbentuk instrusksi atau ke operand register bila berbentuk data. Demikian juga bila hasil operasi yang ada di AC aka disimpan di main memory maka akan diletakkan terlebih dahulu di MDR.
Sedang AMR digunakan untuk menampung alamat (address) data atau instruksi di main memory yang akan diambil atau yang akan disimpan. Bila instruksi atau data akan diambil dari main memory maka main memory harus diberi tahu dahulu letak alamat (address) dari data atau instruksi tersebut di main memory. Alamat tersebut diletakkan di MAR oleh control unit dan dikirimkan ke main memory melalui address bus. Demikian juga bila hasil pengolahan akan disimpan ke main memory maka main memory harus diberi tahu terlebih dahulu alamat penyimpanan dari data di main memory. Control unit akan eletakkan alamat tersebut di MAR dan dikirimkan ke main memory lewat address bus.
Sebagai tambahan dari register sebuah CPU menggunakan suatu cache memory dengan maksud supaya kerja CPU lebih efisien dan megurangi waktu yang terbuang. Tanpa cache memory, CPU akan menunggu sampai data atau instruksi diterima dari main memory atau menunggu hasil pengolaha selesai dikirim ke main memorybaru proses selanjutnya bisa dilanjutkan padahal proses dari main memory lebih lambat dibandingkan dengan kecepata register. Cache memory diletakkan di antara CPU dengan main memory.
Cache memory harus lebih cepat dari main memory dan mempunyai ukuran yang lcukup besar tetapi tidak lebih besar dari main memory. Sebenarnya cache memory tidak diperluka jika main memory memiliki kecepatan seperti kecepatan pada cache memory. Tapi karena memory dengan kecepatan yang tinggi dibuat dengan menggunakan superkonduktor yang harganya mahal maka menjadi tidak ekonomis bila menggunakan main memory dengan keceapatan tinggi. Dengan cache memory sejumlah blok informasi di main memory dipindahkan ke cache memory dan selanjutnya CPU akan berhubungan dengan cache memory.
Bila sejumlah besar dari perhitungan harus dilakukan maka untuk mempercepat waktu proses dapat dipergunakan array processor atau co-processor yaitu prosesor terpisah yang dapat ditambahkan pada prosesor utamanya. Dengan array prosesor perhitungan aritmatika yang besar dan sulit dapat dilakukan dengan memecah perhitungan tersebut dan dilakukan bersama-sama antara central processor dengan array processor. Karena array prosesor hanya digunakan untuk perhitungan aritmatika yang rumit maka prosesor ini sering disebut dengan mathprocessor atau numeric data processor.
4. Main Memory
CPU hanya dapat menyimpan data dan instruksi di register yang ukurannya kecil sehingga tidak dapat menyimpan semua informasi yang dibutuhkan untuk keseluruhan proses dari program. Untuk mengatasi hal ini pada CPU dilengkapi dengan memory yang kapasitasnya lebih besar yitu main storage atau internal memory.
Main memory dapat dibayangkan sebagai kotak-kotak yang masingmasing kotak dapat menyimpan suatu penggal informasi baik berupa data maupun instruksi. Tiap-tiap lokasi dari kotak ditunjukkan oleh suatu alamat (address). Alamat memory merupakan suatu nomeor yang menunjukkan lokasi tertentu dari kotak memori.
a. RAM (Random Access Memory)
Semua data dan instruksi (program) yang dimasukkan melalui input device akan disimpan terlebih dahulu di main memory, khusunya di RAM. RAM merupakan memory yang dapat diakses yaitu dapat dibaca dan ditulis oleh programmer.
Struktur dari RAM dibagi menjadi 4 bagian yaitu :
i. input storage, digunakan untuk menampung input yang dimasukkan melalui input device.
ii. Program storage, digunakan untuk menyimpan semua instruksi-instruksi program yang akan diproses
iii. Working storage, digunakan untuk menyimpan data yang akan diolah dan hasil dari pengolahan.
iv. Output storage, digunakan untuk menampung hasil akhir dari pengolahan data yang akan ditampilkan pada output device. Input yang dmasukkan melalui input device pertama kali ditampung terlebih dahulu di input storage, bila input tersebut berbentuk program maka dipindahkan ke program storage dan bila berbentuk data akan dipindahkan ke working storage dan hasil yang akan ditampilkan ke output device dipindahkan ke output storage.
b. ROM (Read Only Memory)
Memory jenis ini hanya bisa dibaca tapi tidak bisa ditulisi oleh programmer. Isi ROM sudah diisi oleh pabrik pembuatnya berupa sistem operasi yang terdiri dari program-program pokok yang diperlukan oleh sistem komputer.
Isi dari ROM tidak boleh rusak atau hilang. Bila hal itu terjadi maka sistem komputer tidak akan bisa berfungsi lagi. Oleh karena itu para pembuatnya menrancangnya sedemikian rupa sehingga para programmer tidak bisa mengganti isinya. ROM bersifat non voaltile sehingga isinya tidak akan hilang bila listrik mati.
Dalam kasus lain memungkinkan untuk mengubah isi dari ROM yaitu dengan cara memrogram kembali instruksi-instruksi yang ada di dalam ROM tersebut. ROM yang bisa diprogram berbentuk chip yang ditempatkan pada rumahnya yang mempunyai jendela di atasnya. ROM yang dapat diprogram kembali adalah PROM (Programmable ROM) yang dapat diprogram oleh programmer yang selanjutnya tidak bisa diprogram lagi. Jenis lain adalah EPROM (Erasable PROM) yang dapat dihapus dengan sinar UV serta dapat diprogram berulang-ulang.
EEPROM (Electrically EPROM) dapat dihapus secara elektrik dan dapat diprogram lagi.
Jenis-jenis main memory yang lain berdasarkan komponen-komponen yang digunakan di antaranya vacuum tube, magnetic core storage, planar thin film storage, semiconductor storage, josephon junction dan charge-coupled device (CCD).
ml.scribd.com/doc/23561383/Makalah-CPU