CENTRAL PROCESSING UNIT ( CPU )
Central Processing Unit ( CPU ), merujuk
kepada perangkat keras komputer yang memahami dan
melaksanakan perintah dan data dari perangkat lunak.
Istilah lain, pemroses/prosesor (processor), sering digunakan untuk menyebut
CPU. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit
terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak
pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini
telah umum digunakan dan menjadi aspek penting dalam penerapan CPU. CPU
Merupakan bagian utama dari komputer karena processor berfungsi untuk mengatur
semua aktifitas yang ada pada komputer. Kecepatan eksekusi processor tergantung
apalagi pada frekuensinya, satuan adalah MHz (MegaHertz) atau GHz (1 GigaHertz
= 1000 MegaHertz).
Komponen CPU terbagi menjadi beberapa macam, yaitu
sebagai berikut:
Unit kontrol yang mampu mengatur jalannya program.
Komponen ini sudah pasti terdapat dalam semua CPU. CPU bertugas mengontrol
komputer sehingga terjadi sinkronisasi kerja antarkomponen dalam menjalankan
fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah
mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi
tersebut. Bila ada instruksi untuk perhitungan aritmetika 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 masukan (input) dan keluaran (output).
- Mengambil instruksi-instruksi dari memori utama.
- Mengambil data dari memori utama (jika diperlukan) untuk diproses.
- Mengirim instruksi ke ALU bila ada perhitungan aritmetika atau perbandingan logika serta mengawasi kerja dari ALU.
- Menyimpan hasil proses ke memori utama.
Register merupakan alat penyimpanan kecil yang
mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data
dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara,
biasanya digunakan untuk menyimpan data saat di olah ataupun data untuk
pengolahan selanjutnya. 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.
ALU adalah unit yang bertugas untuk melakukan
operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU
sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua
bagian, yaitu unit arithmetika dan unit logika boolean yang masing-masing
memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan
semua perhitungan aritmetika yang terjadi sesuai dengan instruksi program. ALU
melakukan semua operasi aritmetika 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 (³
).
CPU Interconnections adalah sistem koneksi dan bus yang
menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan
register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan
dengan sistem lainnya, seperti memori utama, peranti masukan /keluaran.
Cara Kerja CPU
Saat data dan/atau 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 berdasar 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 ke output-devices.
Fungsi CPU
Sebagai komponen utama dalam sebuah komputer, CPU memiliki
beberapa fungsi penting. Diantara fungsi-fungsi tersebut antara lain :
1. Fetching
Fetching adalah suatu istilah yang digunakan dalam ilmu
komputer dan diartikan sebagai proses pengambilan atau pemanggilan data. Dalam
sebuah perangkat komputer, data disimpan dalam harddisk pada CPU dengan sebuah
alamat.
Diibaratkan data didalam prosesor atau CPU disusun dalam
kumpulan alamat dan ketika suatu program dijalankan CPU akan mengambil data
dari alamat yang tersimpan dalam komponennya tersebut.
2. Decoding
Dalam suatu sistem CPU, sebuah program yang akan dijalankan
atau yang dieksekusi, harus sesuai dengan kode instruksi yang nantinya akan
diterjemahkan agar CPU dapat mengenalinya dalam kode instruksi biner. Dapat
disimpulkan bahwa decoding adalah suatu proses penterjemahan suatu program ke
dalam bahasa yang dimengerti oleh CPU.
Decoding terjadi di dalam CPU dan semua program yang
berjalan dalam perangkat komputer harus melalui proses decoding terlebih
dahulu.
3. Executing
Saat suatu program dijalankan maka CPU akan mengeksekusi
program tersebut. Maksudnya adalah CPU akan melakukan satu hal yakni melakukan
kalkulasi atau perhitungan dengan menggunakan suatu komponen didalamnya yang
disebut dengan ALU atau Arithmetical Logical Unit .
Kompenen ALU sendiri bertanggung jawab dalam semua proses
perhitungan matematika dan logika dalam komputer. Selain itu fungsi eksekusi
dari suatu CPU juga berarti sebagai proses pemindahan suatu data dari suatu
perangkat memori menuju perangkat memori yang lainnya.
4. Storing
Storing atau menyimpan data adalah salah satu fungsi lainnya
dari CPU. Saat seseorang menggunakan komputer maka ia membutuhkan perangkat
untuk menyimpannya baik secara sementara maupun secara permanen.
Jika seseorang membutuhkan data dengan cepat dan
memyimpannya secara sementara maka CPU akan menyimpannya dalam RAM sementara
data yang disimpan secara permanen akan masuk ke dalam harddisk. Kedua fungsi
tersebut dilakukan dan dikendalikan sepenuhnya oleh CPU.
BUS SISTEM
System bus atau bus sistem, dalam
arsitektur komputer merujuk pada bus yang digunakan oleh sistem
komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya.
Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam
komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara
dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat
diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
Sebuah komputer memiliki beberapa bus, agar dapat berjalan.
Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem
komputer yang digunakan. Sebagai contoh, sebuah
komputer PC dengan prosesor umumnya Intel Pentium
4memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI, bus
USB, bus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya.
Bus disusun secara hierarkis, karena setiap bus yang
memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan
tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah satu bus
yang ada. Sebagai contoh, kartu grafis AGP akan dihubungkan ke bus AGP.
Beberapa perangkat lainnya (utamanya chipset atau kontrolir) akan bertindak
sebagai jembatan antara bus-bus yang berbeda. Sebagai contoh, sebuah
kontrolir bus SCSI dapat mengubah sebuah bus menjadi bus SCSI, baik
itu bus PCI atau bus PCI Express.
Berdasar jenis busnya, bus dapat dibedakan menjadi bus yang
khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja,
jenis ini disebut dedicated bus. Namun apabila bus yang dilalui informasi
yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks
data maka bus ini disebut multiplexed bus. Kekurangan multiplexed bus adalah
hanya memerlukan saluran sedikit sehingga menghemat tempat tetapi kecepatan
transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data
yang telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari
multipexed bus.
Beberapa bus utama dalam sistem komputer modern adalah
sebagai berikut:
Bus prosesor. Bus ini merupakan bus tercepat dalam sistem
dan menjadi bus inti dalam chipsetdan motherboard. Bus ini utamanya
digunakan oleh prosesor untuk meneruskan informasi
dari prosesor ke cache atau memori utama ke
chipset kontrolir memori (Northbridge, MCH, atau SPP). Bus ini juga terbagi
atas beberapa macam, yakni Front-Side Bus, HyperTransport bus, dan
beberapa bus lainnya. Sistem komputer selain Intel x86 mungkin
memiliki bus-nya sendiri-sendiri. Bus ini berjalan pada kecepatan 100 MHz, 133
MHz, 200 MHz, 266 MHz, 400 MHz, 533 MHz, 800 MHz, 1000 MHz atau 1066 MHz.
Umumnya, bus ini memiliki lebar lajur 64-bit, sehingga setiap detaknya ia mampu
mentransfer 8 byte.
Bus AGP(Accelerated Graphic Port). Bus ini merupakan bus
yang didesain secara spesifik untuk kartu grafis. Bus ini berjalan pada
kecepatan 66 MHz (mode AGP 1x), 133 MHz (mode AGP 2x), atau 533 MHz (mode AGP
8x) pada lebar jalur 32-bit, sehingga bandwidth maksimum yang dapat diraih
adalah 2133 MByte/s. Umumnya, bus ini terkoneksi ke chipsetpengatur memori
(Northbridge, Intel Memory Controller Hub, atau NVIDIA nForce SPP). Sebuah
sistem hanya dapat menampung satu buah bus AGP. Mulai tahun 2005, saat PCI
Express mulai marak digunakan, bus AGP ditinggalkan.
Bus PCI(Peripherals Component Interconnect). Bus PCI tidak
tergantung prosesor dan berfungsi sebagai bus peripheral. Bus ini memiliki
kinerja tinggi untuk sistem I/O berkecepatan tinggi. Bus ini berjalan
pada kecepatan 33 MHz dengan lebar lajur 32-bit. Bus ini ditemukan pada hampir
semua komputer PC yang beredar, dari mulai prosesor Intel 486 karena
memang banyak kartu yang menggunakan bus ini, bahkan hingga saat ini. Bus ini
dikontrol oleh chipset pengatur memori (northbridge, Intel MCH) atau
Southbridge (Intel ICH, atau NVIDIA nForce MCP).
- Bus PCI Express(Peripherals Component Interconnect Express)
- Bus PCI-X(Peripherals Component Interconnect Express)
- Bus ISA(Industry Standard Architecture)
- Bus EISA(Extended Industry Standard Architecute)
- Bus MCA(Micro Channel Architecture)
Bus USB(Universal Serial Bus). Bus ini dikembangkan oleh
tujuh vendor komputer, yaitu Compaq, DEC, IBM, Intel, Microsoft, NEC, dan
Northern Telecom. Bus ini ditujukan bagi perangkat yang memiliki kecepatan
rendah seperti keyboard, mouse, dan printer karena tidak akan efisien jika
perangkat yang berkecepatan rendah dipasang pada bus berkecepatan tinggi
seperti PCI. Keuntungan yang didapat dari bus USB antara lain : tidak
harus memasang jumper, tidak harus membuka casing untuk memasang peralatan I/O,
hanya satu jenis kabel yang digunakan, dapat mensuplai daya pada peralatan I/O,
tidak diperlukan reboot.
Bus 1394. Bus yang mempunyai nama FireWirememiliki
kecepatan tinggi diatas SCSI dan PCI. Bus 1394 sangat cepat, murah, dan mudah
untuk diimplementasikan. Bus ini tidak hanya populer perangkat komputer tetapi
juga perangkat elektronik seperti kamera digital, VCR, dan televisi.
UNIT ARITMATIKA DAN LOGIKA
Simbol umum ALU.
ALU, singkatan dari Arithmetic And Logic Unit (bahasa
Indonesia: unit aritmetika dan logika), adalah salah satu bagian dalam dari
sebuah mikroprosesor yang berfungsi untuk melakukan operasi
hitungan aritmetika dan logika. Contoh operasi aritmetika adalah
operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah
logika AND dan OR. tugas utama dari ALU (Arithmetic And Logic Unit) adalah
melakukan semua perhitungan aritmetika atau matematika yang terjadi sesuai
dengan instruksi program.
ALU melakukan operasi arithmatika dengan dasar pertambahan,
sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan
pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di
ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder.
Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai
dengan instruksi program. Operasi logika (logical operation) meliputi
perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:
sama dengan (=)
tidak sama dengan (<>)
kurang dari (<)
kurang atau sama dengan dari (<=)
lebih besar dari (>)
lebih besar atau sama dengan dari (>=) (sumber: Buku
Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan)
, Addu (penjumlahan tidak bertanda) , Sub (pengurangan)
, Subu (pengurangan tidak bertanda) , and, or, xor, sll (shift left
logical), srl (shift right logical), sra (shift right arithmetic), dan
lain-lain.
Cara Kerja Arithmetic Logic Unit (ALU)
Secara umum, sirkuit eksternal mengontrol sebuah ALU dengan
menerapkan sinyal ke input. Biasanya, sirkuit eksternal mempekerjakan logika
sekuensial untuk mengendalikan operasi ALU, yang mondar-mandir oleh sinyal
clock frekuensi yang cukup rendah untuk memastikan waktu yang cukup untuk
output ALU untuk menetap dalam kondisi terburuk.
Misalnya, CPU dimulai operasi Selain ALU oleh routing operan
dari sumber mereka (yang biasanya register) untuk input operan ALU, sementara
unit kontrol secara bersamaan berlaku nilai untuk masukan opcode ALU ini,
mengkonfigurasi untuk melakukan penambahan. Pada saat yang sama, CPU juga rute
ALU hasil output ke daftar tujuan yang akan menerima jumlah tersebut. sinyal
input ALU, yang diadakan stabil sampai jam berikutnya, diperbolehkan untuk
menyebarkan melalui ALU dan register tujuan sementara CPU menunggu jam
berikutnya. Ketika jam berikutnya tiba, register tujuan menyimpan hasil ALU
dan, sejak operasi ALU selesai, masukan ALU dapat diatur untuk operasi ALU
berikutnya.
ALU melakukan operasi aritmatika dan logika dasar. Contoh operasi
aritmatika adalah penambahan, pengurangan, perkalian, dan pembagian. Contoh
operasi logika adalah perbandingan antara nilai-nilai dalam operasi logis
bitwise yang digunakan seperti:
DAN: bitwise AND A dan B muncul di Y.
OR: bitwise OR A dan B muncul di Y.
Exclusive-OR: bitwise XOR dari A dan B muncul di Y.
Melengkapi satu: semua bit A (atau B) terbalik dan muncul di
Y.
Semua informasi dalam komputer disimpan dan dimanipulasi
dalam bentuk bilangan biner, yaitu 0 dan 1. switch Transistor digunakan untuk
memanipulasi angka biner karena hanya ada dua kemungkinan dari switch: terbuka
atau tertutup. Transistor terbuka, di mana tidak ada saat ini, merupakan 0.
ditutup transistor, di mana ada saat ini, merupakan 1.
Operasi dapat dicapai dengan menghubungkan beberapa
transistor. Satu transistor dapat digunakan untuk mengendalikan kedua
kemungkinan yang berlaku, memutar saklar transistor atau menonaktifkan
tergantung pada keadaan transistor kedua. Hal ini disebut sebagai gerbang
karena pengaturan dapat digunakan untuk membolehkan atau menghentikan arus.
Jenis paling sederhana dari operasi adalah gerbang NOT. Ini
hanya menggunakan satu transistor. Menggunakan satu input dan menghasilkan satu
output, yang selalu kebalikan dari input. Angka ini menunjukkan logika gerbang
NOT.
Bagaimana sebuah gerbang NOT memproses data biner ?
Gerbang lain yang terdiri dari beberapa transistor dan
menggunakan dua input. Hasil gerbang OR dalam 1 jika salah satu dari masukan
pertama atau masukan kedua adalah 1. gerbang OR hanya menghasilkan 0 jika kedua
input adalah 0. Angka ini menunjukkan logika dari gerbang OR.
Bagaimana sebuah gerbang OR memproses data biner ?
AND hasil gerbang dalam 1 hanya jika kedua input pertama dan
kedua adalah 1. Angka ini menunjukkan logika gerbang.
Bagaimana sebuah gerbang AND memproses data biner ?
Gerbang XOR, juga diucapkan X-gerbang OR, hasil dalam 0 jika
kedua input adalah 0 atau jika keduanya 1. Jika tidak, hasilnya adalah 1. Angka
ini menunjukkan logika gerbang XOR.
REGISTER PROSESOR
Register prosesor dalam arsitektur komputer adalah
sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang
digunakan untuk melakukan eksekusi terhadap program-program komputer
dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan.
Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi
dalam waktu tertentu.
Register prosesor berdiri pada tingkat tertinggi
dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling
cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling
tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem
komputer untuk melakukan manipulasi data. Register umumnya diukur dengan
satuan bit yang dapat ditampung olehnya, seperti “register 8-bit”,
“register 16-bit”, “register 32-bit”, atau “register 64-bit” dan lain-lain.
Istilah register saat ini dapat merujuk kepada kumpulan
register yang dapat diindeks secara langsung untuk melakukan input/output
terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk
istilah ini, digunakanlah kata “Register Arsitektur”. Sebagai contoh set
instruksi Intel x86 mendefinisikan sekumpulan delapan buah register
dengan ukuran 32-bit, tetapi CPU yang mengimplementasikan set instruksi x86
dapat mengandung lebih dari delapan register 32-bit.
Jenis register
- Register terbagi menjadi beberapa kelas:
- Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
- Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
- Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
- Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
- Register konstanta(constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.
- Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
- Register special purposeyang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
- Register yang spesifik terhadap model mesin(machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.
Register di dalam CPU terdiri atas :
Instruction Register (IR) digunakan untuk menyimpan instruksi
yang sedang
Program Counter (PC) adalah register yang digunakan untuk
menyimpan alamat lokasi main memory yang berisi instruksi yang sedang diproses.
Selama proses berlangsung, isi PC diubah menjadi alamat main memory yang
berisikan instruksi berikutnya yang akan diproses. Hal ini memungkinkan untuk
melacak jejak instruksi selanjutnya di main memory.
General purpose register, yaitu register yang mempunyai
berbagai macam fungsi yang berhubungan dengan data yang sedang diproses. Misal,
jika digunakan untuk menampung data yang sedang diolah disebut sebagai operand
register, sedangkan jika digunakan untuk menampung hasil olahan disebut sebagai
accumulator.
Memory Data Register (MDR), yaitu register yang digunakan
untuk menampung data atau instruksi yang dikirimkan dari main memory ke CPU,
atau menampung data yang akan disimpan ke main memory sebagai hasil olahan CPU.
Memory Address Register (MAR) digunakan untuk menampung
alamat data atau instruksi pada main memory yang akan diambil atau yang akan
diletakkan





