Sabtu, 05 November 2016

CPU

A. Pegertian CPU
             
            CPU (Central Processing Unit) adalah otak atau sumber dari komputer yang mengatur dan memproses seluruh kerja komputer. CPU ini berbentuk IC yang diberi nama sesuai dengan tipenya, misalnya 8088 untuk PC XT dan 80286 untuk PC AT,Pentium IV dan sebagainya. Karena CPU ini berada pada suatu board (papan) yang disebut motherboard dan terletk dalam kotak (casing), sekarang ini orang jadi cenderung menyebut kotak berisi catu daya, disk drive dan motherboard sebagai CPU/ kotak CPU. Di dalam kotak CPU biasanya terdapat 2 buah disket drive yang diberi nama disket drive A dan disket drive B. selain disket drive ada juga yang mempunyai hard disk dan CD ROM.
B. Fungsi  CPU
              
           Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama. Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utama dan mengeksekusinya satu persatu sesuai dengan alur perintah. Pekerjaan ini dilakukan dalam dua tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute). Proses membaca dan melaksankan ini dilakukan berulang-ulang sampai semua instruksi yang terdapat di memori utama dijalankan atau komputer dimatikan. Proses ini dikenal juga sebagai siklus fetch-eksekusi.
1. Sistem BUS

        Sistem Bus yaitu Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Karakteristik penting sebuah bus ialah bahwa bus merupakan media transmisi yang dapat dipakai secara bersamaan. Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sistem komputer.
         Suatu Komputer terdiri dengan beberapa unsur penting seperti CPU, memori, perangkat Input/Output. setiap computer saling terhubung dan membentuk saling terkait fungsinya. Sistem bus adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antara komputer sangatlah terkait dengan mendominasikan  kerja suatu computer. Data atau program yang tersimpan di sebuah memori dapat diakses dan dieksekusi CPU melalui bantuan sistem bus, dengan demikian kita dapat melihat hasil eksekusi melalui monitor juga menggunakan sistem bus.
- Cara Kerja Sistem BUS
  1. Pada sistem komputer akan lebih maju, jika arsitektur komputernya  diciptakan dengan lebih kompleks, sehingga tingkatannya lebih  performa, dan di pakai beberapa buah bus. Bus tersebut merupakan jalur akses data antara beberapa device yang berbeda.
  2. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dikaitkan oleh Otak bus dengan tegangan yang atau biasa disebut dengan sebutan FSB (Front Side Bus) .
  3. Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang tegangannya lebih rendah yang terkait dengan bus lain yang lebih cepat sampai ke Otak bus. Untuk komunikasi antar bus ini dapat digunakan sebuah bridge.
- Jenis BUS

Sedangkan jenis-jenis bus itu sendiri juga dikelompokkan berdasarkan masingmasing kriteria, tapi disini akan di jelaskan Jenis Bus menurut fungsinya masing - masing . Langsung saja berikut Jenis-jenis Bus Berdasarkan Fungsi :
§  Data Bus :
- Berfungsi untuk mengirim data, membawa data dari dan ke perangkat atau periferal
- Terdiri atas bagian tertentu atau jalur penghantar, 8, 16, 32 dan 64 bahkan lebih jalur paralel
- Data ditransmisikan dalam dua jalur, yaitu dari CPU atau mesin proseses ke unit memori atau modul I/O dan sebaliknya.
- Semakin lebar bus maka semakin besar data yang dapat dikirim sewaktu - waktu.
§  Control Bus:
- Berfungsi untuk mensinkronkan proses penerimaan dan pengiriman data.
- Untuk menentukan memori atau port agar siap ditulis atau dibaca.
- Sinyal Kontrol: RD, WR, IO/M
- Sinyal Read dan write : untuk mencari data dari perangkat
§  Address Bus:
- Membawa informasi agar dapat mengetahui tempat suatu perangkat atau periferal
- Untuk memilih tempat memori atau port yang akan ditulis atau dibaca
- Untuk mengatur rute data, muncul dari mana, tujuannya ke mana.
- Bersifat searah, cpu memberikan alamat yang bertujuan untuk mengatur periferal mana yang dituju. Contoh memori mana yang dicari atau I/O mana yang dituju.
- Semakin besar bus alamat, akan semakin banyak range lokasi tempat yang dapat di temukan.
- Jumlah alamat yang dapat dicari pada Bus alamat yaitu sebanyak jumlah yang di tentukan.

2. ALU

 - Pengertian ALU
Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang 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 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.

         - Operasi Pada ALU
Operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU melakukan operasi aritmatika yang lainnya seperti pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. ALU melakukan operasi aritmatika dengan dasar pertambahan, sedang operasi aritmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder.

       - Tugas Dan Fungsi ALU
Tugas 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 (=)tidak sama dengan (<>)kurang dari (<)kurang atau sama dengan dari (<=)lebih besar dari (>)lebih besar atau sama dengan dari (>=)

        Arithmatic Logical Unit (ALU) Juga Bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. 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. Arithmetic Logical Unit (ALU) merupakan unit penalaran secara logic.
ALU ini merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut.
ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan.
Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenis prosesor,kecuali untuk prosesor yang compatible dengannya.
Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.
Struktur dan 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.
ALU (Arithmethic and Logic Unit) adalah bagian dari CPU yang bertanggung jawab dalam proses komputasi dan proses logika. Semua komponen pada CPU bekerja untuk memberikan asupan kepada ALU sehingga bisa dikatakan bahwa ALU adalah inti dari sebuah CPU. 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.
3. Control Unit (CU)
      
Control Unit Adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan /kendali / kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalamCPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPUtersebut. Pada awal  – awal desain komputer, CU diimplementasikan sebagai ad-hoc logic  yang susahuntuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan didalam tempat penyimpanan kontrol (control store). Pada hardwire implementation control unitsebagai combinational circuit yang dibuat berdasarkan control signal yang akan dikeluarkan. Jadiuntuk setiap control signal memiliki rangkaian logika tertentu pada control unit yang dapatmenghasilkan control signal yang dimaksud. Secara umum untuk metode ini digunakan PLA(programmable logic array) untuk merepresentasikan control signal.Control unit dari sebuah prosesor memiliki 2 peran penting. Pertama, control unit mengatur  processor agar melakukan semua micro-operation dalam urutan yang benar. Kedua, control unitmenghasilkan control signal yang memastikan supaya semua micro-operation dieksekusi.Control signal tersebut secara umum menyebabkan salah satu dari hal berikut: pembukaanatau penutupan dari gerbang-gerbang logika, transfer data antara register-register, dan pengoperasianALU.
4. Register
            Register tidak dapat dilepaskan dari mikroprosessor, sebab pada mikroprosessor terdapat register yang berfungsi untuk menyimpan sementara hasil dari tahapan operasi arithmetika dan logika pada mikroprosessor. Register dalam bahasa rakitan menggunakan real mode memory yang sesuai dengan mikroprosessor Intel generasi 8088 s/d Pentium.
Register yang terdapat pada mikroprosessor Intel terdiri dari :
·         General purpose register (register serbaguna)
·         Pointer register (register pointer)
·         Index register (register indeks)
·         Segment register (register segment)
·         Flag register (register status).
Semua register di atas lebarnya 32 bit, kecuali register segment (CS, DS, ES, SS, FS dan GS) hanya 16 bit. Register 32 bit dapat digunakan sebagai register 16 bit, kecuali register General purpose register dapat dibagi menjadi 8 bit (AL,AH, BL, BH, CL, CH, DL dan DH) yang berasal dari 16 bit (AX, BX, CX, DX). Register 32 bit diberi kode di depan register dengan E misalnya: EAX, EBX, ECX dan EDX.
Macam-macam Jenis dan Fungsi Register. Berikut ini jenis dan fungsi dari masing-masing Register yaitu :
1.     General Purpose Register (Register Serbaguna)

a.   Register AX (Accumulator register) berfungsi sebagai tempat Sementara hasil suatu operasi arithmetika atau logika (AL, AH, AX dan EAX)
 Memasukkan nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi (register AH).
- Menyimpan bilangan yang dikalikan (reg AL, AX, EAX) dan setengan bagian terkecil (LSB) dari hasil perkalian (register DX-AX dan EDX-EAX).
-Menyimpan setengah bagian terkecil(LSB) sebuah bilangan dibagi (DX-AX dan EDX-EAX) dan hasil bagi (AL, AX, EAX)
b.    Register BX (Base Register)  adalah register untuk menyimpan alamat offset data yang terletak di memori (BL, BH, BX dan EBX)
c.     Register CX (Counter Register) adalah register serbaguna yang berfungsi sebagai:
- Pencacah untuk operasi loop (CX dan ECX)
- Pencacah untuk operasi shift dan rotate (CL)
-Pencacah (counter) untuk operasi string (CX)
d.   Register DX (Data register) adalah register serbaguna yang berfungsi sebagai :
- Penyimpan hasil perkalian 16 bit (DX-AX) dan 32 bit (EDX-EAX).
- Penyimpan hasil pembagian (DX-AX dan EDX-EAX)
- Penyimpan data hexadesimal (kode ASCII) di reg DL untuk dicetak di layar monitor.
2. Pointer Register
Register ini untuk menunjukkan alamat sebuah data di lokasi memori, dipakai saat operasi perpindahan data (dari/ke memori), operasi stack (PUSH/POP) dan penunjukkan alamat suatu instruksi. Berikut adalah macam-macam pointer register: SP (Stack Pointer) dan ESP, BP (Base Pointer) dan IP (Instruction Pointer)
3. Index Register
Sama dengan pointer register, sering digunakan untuk menunjukkan alamat sebuah data di lokasi memori pada operasi string. Macam-macam register Index adalah : SI (Source Index), DI (Destination Index).

4.    Segment Register
Segment register membentuk alamat memori untuk data. Pada operasi real mode suatu segment register akan berbeda dengan segment register pada operasi protected mode. Yang termasuk ke dalam segment register antara lain :
Code segment -> untuk menunjukkan alamt instruksi berikutnya.
a.         Data segment -> untuk menunjukkan alamat data pada transfer register
b.         Extra segment -> register tambahan untuk operasi string
c.         Stack segment -> dengan SP u/ menunjukkan stack dan memanggil suatu prosedur (CALL) dan mengarah ke program utama (RET).
d.         FS dan GS register -> register tambahan u/ segmen memori yang besar.

5.     Flag Register
Berfungsi untuk menunjukkan status (keadaan) sesaat dari mikroprosessor. Bit-bit pada flag akan mengalami perubahan, tergantung proses yang baru saja berlangsung. Adapun kode bit yaitu sebagai berikut :
·          C (carry) -> 1=ada carry out 0= tdk ada carry out
·          P (Parity) -> 1=paritas genap 0= paritas ganjil
·          A (auxxiliary carry) -> 1=ada carry 0=tdk ada carry
·          Z (zero) -> 1=hasilnya nol 0=hasilnya bukan nol
·          S (sign) -> 1=hasilnya negatif 0=hasilnya positif
·          T (trap) -> bila diset 1 dimungkinkan melakukan debugging.
·          I (interrupt) -> 1= pin INTR enable 0=pin INTR disable
·          D (direction) -> 1=cacahan turun 0=cacahan naik
·          (Overflow) -> menunjukkan adanya kelebihan kapasitas atau tidak
·          IOPL (input-output privalege level) -> untuk protected mode
·          NT (nested task) -> indikasi dari penggabungan dengan operasi lain.
·          RF (resume) -> untuk debugging.
·          VF (Virtual mode) -> untuk operasi virtual pada protected mode.
·          AC (alignment check) -> untuk data word dialamati ke memori.
·          Register merupakan tempat menyimpan data sementara yang berada dalam CPU.
·          Register terdiri atas 5 bagian yaitu : General Purpose Register, Pointer Register, Index Register, Segment Register, Flag Register.
·          Fungsi setiap register bermacam-macam sesuai peruntukannya yang telah diatur oleh pembuat mikroprosesor.

Sumber: hasanudin.staff.gunadarma.ac.id/Downloads/files/32415/Central+Processing+Unit.doc
http://www.blognovi.com/2016/04/apa-itu-sistem-bus-dalam-komputer.html
http://www.kampusbaru.net/2016/03/pengertian-register-memory-alu-variabel.html
https://id.scribd.com/doc/151024992/Pengertian-Control-Unit

Tidak ada komentar:

Posting Komentar