CPU, BUS dan ALU
1.
CPU ( Central Processing Unit )
A. Pengertian CPU
Unit Pengolah Pusat
(CPU) merujuk kepada perangkat keras komputer yang memahami dan melaksanakan
perintah dan data dari perangkat lunak. Istilah lain, prosesor (pengolah data),
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.
B. Cara kerja CPU
1.
Membaca, mengkodekan dan mengeksekusi instruksi program
2.
Mengirim data dari dan ke memori, serta dari dan ke bagian input/output.
3.
Merespon interupsi dari luar.
4.
Menyimpan data untuk sementara waktu menyediakan clock dan sinyal kontrol
kepada
sistem.
C. Fungsi CPU
CPU berfungsi seperti
kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama
dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang
diambil dari memori atau dari informasi yang dimasukkan melalui Source
D. Komponen CPU
terbagi menjadi beberapa
macam, yaitu :
1.
Unit Kontrol yang mampu mengatur jalannya program.
2.
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses
cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang
sedang diproses.
3.
ALU unit ini yang bertugas untuk melakukan operasi aritmetika dan operasi
logika berdasar instruksi yang
4.
CPU Interconnections adalah sisem koneksi dan bus yang menghubungkan
komponen internal CPU.
2. Bus
A. Pengertian BUS
Bus adalah Jalur
komunikasi yang dibagi pemakai Suatu set kabel tunggal ,digunakan untuk
menghubungkan berbagai subsistem. Karakteristik penting sebuah bus adalah bus
merupakan media transmisi yang dapat digunakan bersama. Sejumlah perangkat yang
terhubung ke bus dan suatu sinyal yang ditransmisikan oleh salah satu perangkat
ini dapat ditermia oleh salah satu perangkat yang terhubung ke bus.Bila 2
buah perangkat melakukan transmisi dalam waktu yang bersamaan, maka
sinyal-sinyalnya akan bertumpang tindih dan menjadi rusak. Dengan demikain,
hanya sebuah perangkat saja yang akan berhasil melakukan transimi pada suatu
saat tertentu. Sistem komputer terdiri dari sejumlah bus yang berlainan yang
menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan
hirarki sistem komputer. Suatu Komputer tersusun dari beberapa komponen penting
seperti CPU, memori, perangkat Input/Output. setiap computer saling berhubungan
membentuk kesatuan fungsi. System bus adalah sebagai
penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya.
Transfer data antar komponen komputer sangatlah mendominasi kerja suatu
computer. Data atau program yang tersimpan dalam memori dapat diakses dan
dieksekusi CPU melalui perantara bus, begitu juga kita dapat melihat hasil
eksekusi melalui monitor juga menggunakan sistem bus. Pada sistem komputer yang
lebih modern, arsitektur komputernya akan lebih kompleks, sehingga
dapat untuk meningkatkan performa, digunakan beberapa buah bus. Tiap bus
merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM,
Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang
lebih dikenal dengan nama FSB (Front Side Bus) . Sementara perangkat lain yang
lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung
dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar
bus ini digunakan sebuah bridge.
B. Karakteristik Bus
adalah :
1. Jumlah Interupsi Menentukan banyak perangkat independen yang melakukan
I/O.
2. Ukuran bus data eksteral berakibat pada kecepatan operasional I/O.
3. Ukuran bus alamat menentukan banyak memori yang ditunjuk board ekspansi.
4. Kecepatan clock maksimum yang dapat diakomadasi bus berakibat pada
kinerja.
C. Struktur Bus
Sebuah bus sistem terdiri dari 50 hingga 100 saluran yang terpisah.
Masing-masing saluran ditandai dengan arti dan fungsi khusus. Walaupun terdapat
sejumlah rancangan bus yang berlainan, fungsi saluran bus dapat
diklasifikasikan menjadi tiga kelompok, yaitu saluran data, saluran alamat, dan
saluran kontrol. Selain itu, terdapat pula saluran distribusi daya yang
memberikan kebutuhan daya bagi modul yang terhubung.
D. Interkoneksi Bus
1. Bus Data
Jalur data yang dilalu informasi ke dan dari mikroprosesor 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. Misalnya, bila bus data lebarnya
8 bit, dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali mengakses
modul memori dalam setiap siklus instruksinya. 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, jumlah saluran diartikan dengan
lebar bus data.
2. 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. Misalnya, bila CPU akan membaca sebuah word data dari
memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat.
Lebar bus alamat akan menentukan kapasitas memori maksimum sistem. Address bus
biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel. Lebar bus alamat akan
menentukan kapasitas memori maksimum sistem. Selain itu, umumnya saluran alamat
juga dipakai untuk mengalamati port-port input/output.
3. Control Bus
Digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address
Bus. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka
harus ada alat untuk mengontrol penggunaannya. Sinyal-sinyal kontrol melakukan
transmisi baik perintah maupun informasi pewaktuan diantara modul-modul sistem.
Sinyal-sinyal pewaktuan menunjukkan validitas data dan informasi alamat.
Sinyal-sinyal perintah mespesifikasikan operasi-operasi yang akan dibentuk.
Umumnya saluran kontrol meliputi : memory write, memory read, I/O write, I/O
read. Terdiri atas 4 sampai 10 jalur paralel.
3.
ALU (Arithmatic Logical Unit)
A. Pengertian ALU
ALU atau yang biasa
disebut dengan Arithmetic Logical Unit adalah suatu komponen dalam sistem
komputer yang memiliki berfungsi melakukan operasi perhitungan aritmatika dan
logika :Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan,
sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja
besama-sama memori, di mana hasil dari perhitungan di dalamALU di simpan ke
dalam memori ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit
logika boolean, yang masing – masing memiliki spesifikasi dan tugas tersendiri.
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. 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.
B. Fungsi ALU
Fungsi ALU (Arithmetic
Logical Unit) 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) dan melakukan keputusan dari operasi sesuai dengan instruksi
program yaitu operasi logika (logical operation). Sirkuit yang digunakan
oleh ALU ini disebut dengana dder karena Adder digunakan
untuk memproses operasi aritmetika, maka Adder juga sering disebut
rangkaian kombinasional aritmetika. Ada 3 jenis Adder yaitu:
· Rangkaian Adder yang
hanya menjumlahkan dua bit disebut Half
Adder.
· Rangkaian Adder yang
menjumlahkan tiga bit disebut Full
Adder.
· Rangkaian Adder yang menjumlahkan banyak bit disebut paralel
Adder.
C. Cara Kerja ALU
ALU akan bekerja setelah mendapat perintah dari Control
Unit yang terletak pada processor.Control Unit akan memberi perintah sesuai
dengan komando yang tertulis(terdapat) pada register. Jika isi register memberi
perintah untuk melakukan proses penjumlahan, maka PC akan menyuruh ALU untuk
melakukan proses penjumlahan. Selain perintah, register pun berisikan
operand-operand. Setelah proses ALU selesai, hasil yang terbentuk adalah sebuah
register yang berisi hasil atau suatu perintah lainnya. Selain register, ALU
pun mengeluarkan suatu flag yang berfungsi untuk memberi tahu kepada kita
tentang kondisi suatu processor seperti apakah processor mengalami overflow
atau tidak. Perhitungan pada ALU adalah bentuk bilangan integer yang
direpresentasikan dengan bilangan biner. Namun, untuk saat ini, ALU dapat
mengerjakan bilangan floating point atau bilangan berkoma, tentu saja
dipresentasikan dengan bentuk bilangan biner. ALU mendapatkan data (operand,
operator, dan instruksi) yang akan disimpan dalam register. Kemudian data
tersebut diolah dengan aturan dan sistem tertentu berdasarkan perintah control
unit. Setelah proses ALU dikerjakan, output akan disimpan dalam register yang dapat
berupa sebuah data atau sebuah instruksi. Selain itu, bentuk output yang
dihasilkan oleh ALU berupa flag signal.
Flag signal ini adalah penanda status dari sebuah
CPU. Bilangan integer (bulat) tidak dikenal oleh komputer dengan basis 10. Agar
komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis
10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya
terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus
listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer
tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk
mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan
Sign Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian
paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka
-18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2
kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b;
-0=(10000000)b]. Seperti kita ketahui, angka 0 tidak memiliki nilai negatif
sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan
aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software
satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat
sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign
magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan
metode 2′s complement. Metode 2′s complement adalah metode yang digunakan untuk
merepresentasikan bilangan negatif pada komputer.
Cara yang digunakan adalah dengan nilai terbesar
dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya
ketika ingin mencari nilai -18, maka lakukan cara berikut:
1. ubah angka 18 menjadi biner (00010010)b
2. karena biner tersebut terdiri dari 8 bit, maka
nilai maksimumnya adalah 11111111
3. kurangkan nilai maksimum dengan biner 18 ->
11111111 – 00010010 = 11101101
4. kemudian, dengan sentuhan terakhir, kita
tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada
sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada
2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi
irelevansi.
Gambar 3. Cara kerja ALU
Daftar pustaka :