Rabu, 05 November 2014

CENTRAL PROCESING UNIT (CPU)



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, tombolpemindaituas kontrol, maupun tetikus. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputerPerangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram kerasdisketcakram 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