CENTRAL
PROCESING UNIT (CPU)
CPU merupakan bagian
utama dari computer karena processor berfungsi untuk mengatur semua aktifitas
yang ada pada computer. Satuan kecepatan dari processor adalah MHz dan GHz
dimana semakin besar nilainya semakin cepat proses eksekusi pada computer.
FUNGSI
UTAMA CPU
Fungsi utama dari CPU adalah melakukan
operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari
informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan, tombol, pemindai, tuas kontrol, maupun tetikus. CPU dikontrol menggunakan sekumpulan
instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU
dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi
tersebut kemudian disimpan terlebih dahulu pada memori fisik(MAA), yang mana setiap instruksi akan diberi
alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat
mengakses data-data pada MAA dengan menentukan alamat data yang dikehendaki.
Saat sebuah program dieksekusi, data mengalir
dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara CPU dengan MAA. Data kemudian
didekode dengan menggunakan unit proses yang disebut sebagai pendekoder
instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan
ke unit aritmatika dan logika (ALU) yang
melakukan kalkulasi dan perbandingan. Data bisa jadi disimpan sementara
oleh ALU dalam sebuah lokasi memori yang disebut
dengan register supaya dapat diambil kembali dengan cepat
untuk diolah. ALU dapat melakukan operasi-operasi tertentu,
meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data
dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik, media
penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi. Selama
proses ini terjadi, sebuah
unit dalam CPU yang disebut dengan penghitung program akan
memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat
dieksekusi dengan urutan yang benar dan sesuai.
KOMPONEN
CPU
Komponen CPU
terbagi menjadi beberapa macam, yaitu sebagai berikut.
Control Unit (CU) adalah salah satu bagian dari
CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi
yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut.
Control Unit mampu mengatur jalannya program. Komponen ini sudah pasti terdapat
dalam semua CPU. Output dari CU ini akan mengatur aktivitas dari bagian lainnya
dari perangkat CPU tersebut. 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 ).
Control Unit
bertanggung jawab mengambil intruksi- intruksi dari memori utama dan menentukan
jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau
perbandingan logika, maka Control Unit akan mengirim instruksi tersebut ke ALU.
Hasil dari pengolahan data dibawa oleh Control Unit ke memori utama lagi untuk
disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas
dari Control Unit 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 aritmatika 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. Registers merupakan media
penyimpanan yang bersifat sementara, artinya data
hanya akan berada dalam registers saat data tersebut dibutuhkan selama komputer
masih hidup, ketika suatu data tidak diperlukan lagi maka ia
tidak berhak lagi berada di dalam registers
, dan ketika komputer dimatikan maka semua data yang berada
di dalamnya akan hilang.
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.
Register CPU yang dapat digunakan oleh pemrogram,
dengan menggunakan set
intsruksi memungkinkan satu buah register atau lebih untuk dispesifikasian sebagai operand atau alamat operand.
Arithmetic And Logic Unit (ALU) 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 pengurangan, pengurangan, dan pembagian
dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang
digunakan untuk melaksanakan operasi aritmatika ini disebut adder.
Tugas
lain 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 (>=)
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.
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, piranti masukan
/keluaran.
ORGANISASI
REGISTER
Sistem Komputer menggunakan hirarki memori.pada tingkatan yang
atas, memori lebih cepat, lebih
kecil, lebih mahal. Di dalam CPU,
terdapat
sekumpulan register yang tingkatan
memorinya berada di atas hirarki memori utama dan cache. Register dalam CPU memiliki dua fungsi:
1. User-visible Register
User-visible
Register adalah register yang dapat direferensikan
dengan menggunakan bahasa mesin yang dieksekusi CPU User-visible terdiri dari :
·
General Purpose Register digunakan untuk mode pengalamatan dan
data.
Akumulator ( aritmatika, Shift, Rotate)
Base Register (Rotate,Shift, aritmatika) Counter Register ( Looping) Data
Register (menyimpan
alamat I/O device).
·
Register Alamat digunakan
untuk mode
pengalamatan Segment
Register (Code
Segment, Data Segment, Stack Segment, Extra Segment) Register
Index (Stack Index,
Data Index) Stack
Pointer
·
Register Data digunakan
untuk menampung
data
·
Register Kode Status Kondisi (Flag)
adalah kode yang menggambarkan hasil operasi sebelumnya Register
ini digunakan oleh unit control untuk mengontrol
operasi cpu dan oleh
program system operasi untuk mengontrol eksekusi program Control
Register
2. Control and Register
Control and register adalah register-register yang digunakan oleh unit kontrol untuk mengontrol
operasi CPU dan oleh program sistem operasi untuk
mengntrol eksekusi
program. Terdapat empat register yang penting adalah :
·
Program Counter (PC) berisi alamat instruksi yang akan
diambil
·
Instruction Register (IR) berisi alamat instruksi terakhir
·
Memory Address Register (MAR) berisi alamat penyimpanan dalam
memori
·
Memori Buffer Register (MBR) berisi data yang dibaca dari memori
atau yang diyliskan ke
memori
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 Uni t
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 .
INSTRUKSI
KOMPUTER
A.Format Instruksi
Program terdiri
dari urutan instruksi, setiap instrusksi memiliki aksi tertentu. Setiap
instruksi terdiri dari field kode operasi atau opcode yang menentukan operasi
apa yang harus dikerjakan oleh CPU. Instruksi dapat berupa opcode saja, tetapi
sebagian besar instrusksi melibatkan satu atau lebih operand.
Untuk menentukan
dimana operand berada disebut addressing. Instruksi tanpa operand disebut
dengan zero address instruction. Instruksi yang memerlukan satu atau lebih
operand disebut one-address instruction, two- address instruction,dan
seterusnya. Panjang Instruksi tergantung jumlah operand yang terlibat dan cara
menentukan setiap operand.
B. Addressing Mode
Beberapa jenis
addressing modes diuraikan sebagai berikut:
1. Immediate
Addressing
Pada mode ini,
operand merupakan bagian dari instruksi, sehingga operand tersedia dengan
segera. Operand ini disebut immediate operand karena secara otomatis di-fetch
dari memori dengan instruksi.
2. Direct
Addressing
Pada mode ini
instruksi menyediakan alamat operand secara langsung. CPU menggunakan alamat
ini untuk melakukan fetch (atau store) oprend.
3. Register
Direct Addressing
Mode ini mirip
dengan direct addressing, perbedaannya field operand menentukan register, bukan
alamat memori. Register ini adalah salah satu dari general purpose register
(GPR) CPU.
4. Register
Indirect Addressing
Pada mode ini
register ditentukan oleh instruksi yang berisi alamat operand, bukan operand
itu sendiri. Karena memegang alamat operand, maka register dapat dipandang
sebagai petunjuk ke operand, sehingga disebut pointer.
5. Indirect
Addressing
Pada addressing
mode berikutnya instruksi menentukan alamat operand berkaiatan dengan jarak
dari alamat yang laian. Pada mode addressing ini instruksi menyediakan dan
menunjukkan register mana yang memegang indek. Indek menentukan berapa jauh
operand dari alamat yang disediakan oleh instruksi.
6. Based
Addressing
Mode ini dikenal
dengan relative addressing. Pada tipe addressing ini alamat operand berkenaan
dengan jarak (atau displacement) dengan base address yang disimpan dalam
register.
7. Relative
Addressing
Program
melibatkan instruksi tipe jump untuk mentransfer control ke program lain atau
ke bagian lain dari program lain dari program yang sama.
C. Set Instruksi
Set instruki
dapat berbeda tidak hanya pada tipe operasi, tetapi juga tipe data dimana
operasi- operasi tersebut dilakukan. Dipandang dari tipe operasi, instruksi
dapat dibagi menjadi tiga kelas utama, yaitu:
1.
Instruksi transfer data
Memindahkan data
antar lokasi tanpa melakukan operasi apapun pada data yang bersangkutan. Contoh
instrusi transfer data adalah MOV.
2. Instruksi
kendali
Tidak melakukan
operasi pada data. Fungsi instrusksi ini untuk mengendalikan program dan
keadaan (state) CPU. Contoh instrusksi transfer kendali adalah JUMP, CALLSUB,
RETSUB, RETINT, LOOPBCK (kendali program) dan SETC, CLRC, ENINT, DISINT, HALT,
NOP (kendali CPU).
3. Instruksi
manipulasi data
Melakukan
operasi data yang memberikan hasil melalui transformasi data. Yang termasuk
instruksi manipulasi data adalah:
a)
Aritmetik
b)
Lojik
c)
Shift/rotate
d)
Manipulasi
bit
e)
Pemrosesan
string
f)
CPU
Timing
Instruction cyce
dan Machine cycle
Adalah urutan
langkah yang diperlukan dalam fetching dan eksekusi instrusi. Di dalam
prosesor, langkah ini dibagi menjadi urutan yanglebih kecil yang disebut
machine cycle. Tipe machine cycle yang umum adalah:
a)
Memory
Read
b)
Memory Write
c)
Internal
Operation
d)
Interupt
Acknowledge
e)
Bus
Grant
Pemrosesan
instruksi dalam CPU dibagi atas dua tahap, Tahap-I disebut Instruction Fetch,
sedangkan Tahap-II disebut Instruction Execute. Tahap-I berisikan pemrosesan
CPU dimana Control Unit mengambil data dan/atau instruksi dari main-memory ke
register, sedangkan Tahap-II berisikan pemrosesan CPU dimana Control Unit
menghantarkan data dan/atau instruksi dari register ke main-memory untuk
ditampung di MAA, setelah Instruction Fetch dilakukan. Waktu pada tahap-I
ditambah dengan waktu pada tahap-II disebut waktu siklus mesin (machine cycles
time).
Penghitung
program dalam CPU umumnya bergerak secara berurutan.Walaupun demikian, beberapa
instruksi dalam CPU, yang disebut dengan instruksi lompatan,
mengizinkan CPU mengakses instruksi yang terletak bukan pada urutannya.Hal ini
disebut juga percabangan instruksi (branching instruction).Cabang-cabang
instruksi tersebut dapat berupa cabang yang bersifat kondisional (memiliki
syarat tertentu) atau non-kondisional. Sebuah cabang yang bersifat
non-kondisional selalu berpindah ke sebuah instruksi baru yang berada di luar
aliran instruksi, sementara sebuah cabang yang bersifat kondisional akan
menguji terlebih dahulu hasil dari operasi sebelumnya untuk melihat apakah
cabang instruksi tersebut akan dieksekusi atau tidak. Data yang diuji untuk
percabangan instruksi disimpan pada lokasi yang disebut dengan flag.
Tidak ada komentar:
Posting Komentar