CPU (Central Processing
Unit) atau juga disebut processor merupakan otaknya sebuah komputer. Fungsi processor adalah bekerja dengan
aritmatika dan logika untuk menjalankan
program-program yang disimpan dalam memori utama (main memory) atau yang
dimasukkan melalui unit masukkan seperti
keyboard, scanner, atau joystick, dengan
cara mengambil instruksi, menguji instruksi tersebut, dan menjalankan instruksi
satu demi satu. Pada komputer mikro unit, pemrosesan ini disebut dengan micro-processor
(pemroses mikro) atau processor yang berbentuk chip yang terdiri dari ribuan
sampai jutaan IC. Kecepatan processor atau CPU ini diukur dengan satuan hitung
hertz atau clock cycles. CPU terdiri dari 2 bagian utama, yaitu unit kendali
(control unit) dan unit arithmatika dan logika (arithmatik and logic unit).
Disamping 2 bagian utama, CPU mempunyai beberapa bagian lainnya, yakni register
dan I/O management data.
Kinerja
dari setiap jenis processor bervariasi dan dipengaruhi oleh faktor-faktor
berikut:
1. Kecepatan Clock
2. Lebar register/data bus internal
3. Lebar data bus eksternal
4. Kapasitas cache memori (L1 dan L2)
1. Kecepatan Clock
2. Lebar register/data bus internal
3. Lebar data bus eksternal
4. Kapasitas cache memori (L1 dan L2)
1)
Control Unit (CU)
Bagian
ini bertugas untuk mengatur dan mengendalikan semua peralatan yang ada pada
sistem komputer serta mengatur kapan alat menerima
data dan kapan data tersebut diolah, serta kapan ditampilkan pada alat output.
Selain itu control unit mengartikan instruksi-instrusi dari progam komputer
yang membawa data input ke memory. Bila ada instruksi pada arithmatika atau
perbandingan logika control unit mengirim instruksi tersebut ke ALU. Hasil dari
pengolahan data ini dibawa oleh control unit ke main memory untuk di simpan.
Pada awal-awal desain komputer, CU
diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU
diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat
penyimpanan kontrol (control store). Tugas control
unit adalah sebagai berikut :
a. Mengatur
dan mengendalikan alat-alat input dan output.
b. Mengabil
instruksi dari main memory.
c. Mengambil
data dari min memory kalau diperlukan oleh proses.
d. Mengirim
instruksi ke arithmetic and logic unit bila ada perhitungan arithmatika atau
perbandingan logika serta mengawasi kerja arithmetic and logic unit.
e. Menyimpan
hasil proses ke main memory.
Unit Control memiliki masukan-masukan yakni sebagai
berikut :
a. Clock/Pewaktu
Pewaktu adalah
cara unit control dalam menjaga waktunya. Unit control menyebabkan sebuah
operasi mikro (atau sejumlah operasi mikro yang bersamaan) dibentuk bagi setiap
pulsa waktu. Pulsa ini dikenal sebagai waktu siklus prosesor.
b. Register
instruksi
Opcode
instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan
dilakukan selama siklus eksekusi.
c. Flag
Flag ini
diperlukan oleh unit control untuk menentukan status prosesor dan hasil operasi
ALU sebelumnya.
d. Sinyal kontrol untuk mengontrol bus
Bagian
bus control sistem memberikan sinyal-sinyal ke unit control, seperti
sinyal-sinyal interupsi.
Selain
itu, CU juga memiliki 2 macam, yakni Single-Cycle CU dan Multy-Cycle CU
1. Single-Cycle CU
1. Single-Cycle CU
Proses di
CU ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada
satu cycle, maka dari itu tidak memerlukan state. Dengan demikian fungsi
boolean masing-masing control line hanya merupakan fungsi dari opcode saja.
Clock cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada
dua bagian pada unit kontrol ini, yaitu proses men-decode opcode untuk
mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang AND), dan
pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu gerbang OR).
Keempat jenis instruksi adalah “R-format” (berhubungan dengan register), “lw”
(membaca memori), “sw” (menulis ke memori), dan “beq” (branching). Sinyal
kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan
memori ”R-format” atau ”lw” maka akan sinyal ”Regwrite” akan aktif. Hal lain
jika melibatkan memori “lw” atau “sw” maka akan diberi sinyal kontrol ke ALU,
yaitu “ALUSrc”. Desain single-cycle ini lebih dapat bekerja dengan baik dan
benar tetapi cycle ini tidak efisien.
2. Multi-Cycle
CU
Berbeda
dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih
memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean
dari masing-masing output control line dapat ditentukan. Masing-masingnya akan
menjadi fungsi dari 10 buah input logic. Jadi akan terdapat banyak fungsi
boolean, dan masing-masingnya tidak sederhana. Pada cycle ini, sinyal kontrol
tidak lagi ditentukan dengan melihat pada bit-bit instruksinya. Bit-bit opcode
memberitahukan operasi apa yang selanjutnya akan dijalankan CPU; bukan
instruksi cycle selanjutnya.
2)
Arithmetic and
Logical Unit (ALU)
ALU
singkatan dari Arithmetic Logic Unit (bahasa Indonesia: unit aritmatika dan
logika), adalah salah satu bagian dalam dari sebuah mikroprosesor yang
berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Contoh
operasi aritmatika 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 aritmatika atau matematika yang
terjadi sesuai dengan instruksi program. ALU melakukan operasi aritmatika yang
lainnya. Seperti penjumlahan, pengurangan, dan pembagian dilakukan dengan dasar
penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi aritmatika 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:
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=)
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=)
ALU
bekerja besama-sama memori, di mana hasil dari perhitungan di dalam ALU di
simpan ke dalam memori. Perhitungan dalam ALU menggunakan kode biner, yang
merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah
(operand). ALU biasanya menggunakan sistem bilangan biner two’s
complement. ALU mendapat data dari register. Kemudian data tersebut diproses
dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register,
sebelum disimpan dalam memori.
Pada saat sekarang ini sebuah chip/IC dapat mempunyai
beberapa ALU sekaligus yang memungkinkan untuk melakukan kalkulasi secara
paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC
74LS382/HC382ALU (TTL). IC ini terdiri dari 20 kaki dan
beroperasi dengan 4×2 pin data input (pinA dan pinB) dengan 4 pin keluaran
(pinF).
Arithmatic Logical Unit (ALU), fungsi unit ini adalah
untuk melakukan suatu proses data yang berbentuk angka dan logika, seperti data
matematika dan statistika. ALU terdiri dari register-register untuk menyimpan
informasi.Tugas utama dari ALU adalah melakukan perhitungan aritmatika
(matematika) yang terjadi sesuai dengan instruksi program. Rangkaian pada ALU
(Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan
dinamakan dengan Adder. Adder digunakan untuk memproses operasi aritmetika,
Adder juga disebut rangkaian kombinasional aritmatika.
Ada 3 jenis adder:
1. Rangkaian Adder dengan menjumlahkan dua
bit disebut Half Adder.
2. Rangkaian Adder dengan menjumlahkan tiga bit disebut Full Adder.
3. Rangkain Adder dengan menjumlahkan banyak bit disebut Paralel Adder
2. Rangkaian Adder dengan menjumlahkan tiga bit disebut Full Adder.
3. Rangkain Adder dengan menjumlahkan banyak bit disebut Paralel Adder
1. Half Adder
Rangkaian
Half Adder merupakan dasar penjumlahan bilangan Biner yang terdiri dari satu
bit, oleh karena itu dinamai Penjumlah Tak Lengkap.
a. jika A = 0 dan B = 0 dijumlahkan, hasilnya S ( Sum ) = 0.
b. jika A = 0 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 1.
c. jika A = 1 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 0
Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. Dengan nilai pindahan cy(Carry Out) = 1. Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S dan Cy).
a. jika A = 0 dan B = 0 dijumlahkan, hasilnya S ( Sum ) = 0.
b. jika A = 0 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 1.
c. jika A = 1 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 0
Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. Dengan nilai pindahan cy(Carry Out) = 1. Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S dan Cy).
2. Full Adder
Sebuah Full Adder menjumlahkan dua bilangan yang telah
dikonversikan menjadi bilangan-bilangan biner. Masing-masing bit pada posisi yang sama saling dijumlahkan.
Full Adder sebagai penjumlah pada bit-bit selain yang terendah. Full Adder
menjumlahkan dua bit input ditambah dengan nilai Carry-Out dari penjumlahan bit
sebelumnya. Output dari Full Adder adalah hasil penjumlahan (Sum) dan bit
kelebihannya (carry-out).
3. Paralel Adder
Rangkaian
Parallel Adder adalah rangkaian penjumlah dari dua bilangan yang telah
dikonversikan ke dalam bentuk biner. Anggap ada dua buah register A dan B,
masing-masing register terdiri dari 4 bit biner : A3A2A1A0 dan B3B2B1B0.
Rangkaian Parallel Adder terdiri dari Sebuah Half Adder (HA) pada Least Significant Bit (LSB) dari masing-masing input dan beberapa Full Adder pada bit-bit berikutnya. Prinsip kerja dari Parallel Adder adalah sebagai berikut : penjumlahan dilakukan mulai dari LSB-nya. Jika hasil penjumlahan adalah bilangan desimal “2” atau lebih, maka bit kelebihannya disimpan pada Cout, sedangkan bit di bawahnya akan dikeluarkan pada Σ. Begitu seterusnya menuju ke Most Significant Bit (MSB)nya.
Rangkaian Parallel Adder terdiri dari Sebuah Half Adder (HA) pada Least Significant Bit (LSB) dari masing-masing input dan beberapa Full Adder pada bit-bit berikutnya. Prinsip kerja dari Parallel Adder adalah sebagai berikut : penjumlahan dilakukan mulai dari LSB-nya. Jika hasil penjumlahan adalah bilangan desimal “2” atau lebih, maka bit kelebihannya disimpan pada Cout, sedangkan bit di bawahnya akan dikeluarkan pada Σ. Begitu seterusnya menuju ke Most Significant Bit (MSB)nya.
3) Register
Merupakan simpanan kecil
yang mempunyai kecepatan tinggi lebih cepat 5 -10 kali dibandingkan dengan
kecepatan perekaman atau pengambilan data di main memory. Register digunakan
untuk menyimpan instruksi dan data yang diproses oleh CPU. Sedangkan
instruksi-instruksi dan data lainnya yang menunggu giliran untuk diproses
disimpan di memori utama terlebih dahulu.
Secara logika, register ini diibaratkan
dengan ingatan dalam 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 tempat untuk melakukan perhitungan dan
perbandingan logika. Progam kumpulan data yang diletakan di memori utama dapat
diibaratkan sebagai sebuah meja. Progam tersebut akan memproses
instruksi-instruksi yang ada didalamnya. Instruksi yang dibaca dan diingat
(instruksi yang sedang diproses disimpan di register). Misalnya instruksi
tersebut berbunyi HITUNG C = A + B, maka anda membutuhkan data untuk nilai A
dan B yang masih ada di meja. Data tersebut anda baca dan masuk ke dalam
ingatan. Data yang sedang dalam proses di simpan di register, yaitu A bernilai
2 dan B bernilai 3. Sekarang dalam ingatan otak anda telah tersimpan suatu
instruksi bahwa nilai dari C sekarang dapat anda hitung hasilnya, yaitu sebesar
5. Hasil dari perhitungan ini perlu anda tuliskan kembali ke meja (hasil
pengolahan direkam kembali ke main memory) setelah semua instruksi selesai anda
proses, kemungkinan program, data dan hasil pengolahan ingin anda simpan secara
permanen untuk keperluan di lain watu. Jadi, ada 3 macam ingatan yang
dipergunakan di dalam sistem komputer yaitu :
1. Register, dipergunakan
untuk menyimpan instruksi dan data yang sedang di proses.
2. Main memory, dipergunakan
untuk menyimpan instruksi dan data yang diproses dan hasil dari pengolahan.
3. External memory (simpanan
luar), dipergunakan untuk menyimpan program dan data secara permanen.
Di dalam CPU ada beberapa macam register dengan fungsinya yang beragam
pula. Dibawah ini disebutkan macam-macam register tersebut bersama
fungsi-fungsiya :
a. Register Data, yang digunakan untuk menyimpan
angka-angka dalam bilangan bulat (integer).
b. Register Alamat, yang digunakan untuk menyimpan
alamat-alamat memori dan juga untuk mengakses memori.
c. Register
General Purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara
sekaligus.
d. Register
Floating-Point, yang digunakan untuk menyimpan angka-angka bilangan titik
mengambang (floating-point). adalah sebuah
bilangan yang dapat digunakan untuk menggambarkan sebuah nilai yang sangat
besar atau sangat kecil (bilangan pecahan desimal atau bilangan yang memiliki
koma dan pangkat).Bilangan ini dapat
direpresentasikan menjadi dua bagian, yakni bagian mantisa dan bagian eksponen (E). Bagian mantisa menentukan digit dalam
angka tersebut, sedangkan eksponen menentukan nilai berapa besar pangkat pada
bagian mantisa tersebut (jarak dari posisi titik desimal).
e. 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.
f. Register
Vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan
oleh prosesor SIMD.
g. Register
special purpose, yang dapat digunakan untuk menyimpan data internal prosesor,
seperti halnya instruction pointer, stack pointer, dan status register.
h. Register
yang spesifik terhadap model mesin (machine-specific register), dalam beberapa
bentuk 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. Berikut ini
adalah ukuran register dan padanan prosesornya.
Register
|
Prosesor
|
4-bit
|
Intel 4004
|
8-bit
|
Intel 8080
|
16-bit
|
Intel 8086,
Intel 8088, Intel 80286
|
32-bit
|
Intel 80386,
Intel 80486, Intel Pentium Pro, Intel Pentium, Intel Pentium 2, Intel Pentium
3, Intel Pentium 4, Intel Celeron, Intel Xeon, AMD K5, AMD K6, AMD Athlon,
AMD Athlon MP, AMD Athlon XP, AMD Athlon 4, AMD Duron, AMD Sempron
|
64-bit
|
Intel
Itanium, Intel Itanium 2, Intel Xeon, Intel Core, Intel Core 2, AMD Athlon
64, AMD Athlon X2, AMD Athlon FX, AMD Turion 64, AMD Turion X2, AMD Sempron
|
4)
I/O Management
Data
Unit
Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh
mikroprosesor itu untuk berhubungan dengan dunia luar. Unit input adalah unit
luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini.
Unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain
untuk menangkap data yang dikirimkan oleh mikroprosesor.
Komponen-komponen dalam
processor dihubungkan oleh sebuah bus. Bus ada tiga macam yaitu :Bus Alamat (Addres
Bus), Bus Data (Data Bus), Bus Kendali (Control Bus).
A. Data Bus
Adalah jalur‐jalur perpindahan
data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing‐masing saluran hanya
dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat
ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara
keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data
melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur
paralel.
B. Address Bus
Digunakan untuk
menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur
ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.Address
bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.
C. Control Bus
Control Bus
digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus.
Terdiri atas 4 samapai 10 jalur paralel. Processor dapat dibedakan dari perbedaan jumlah
data bus-nya. Misalnya pada processor 8 bit, itu berarti processor tersebut
memiliki 8 data bus.
Referensi: Makalah kelompok 3 PTI IF 1 B UIN SGD Bandung 2014
0 komentar:
Posting Komentar