Sunday, 6 November 2016

CPU ( Central Processing Unit)

CPU adalah otak dari sebuah komputer, pengolahan semua instruksi yang Anda berikan. Sebuah CPU memiliki berbagai komponen untuk menerima instruksi, mengolahnya dan kemudian mengubah mereka menjadi sinyal untuk mengaktifkan bagian lain dari komputer. Perhitungan dilakukan dengan menggunakan switch mikroskopis yang dikenal sebagai transistor yang terletak di chip silikon.
Untuk membuat pekerjaan lebih cepat CPU, sejumlah inovasi teknologi telah dilaksanakan:
1. Dikemas lebih banyak transistor ke dalam CPU tunggal.
2. Meningkatkan kecepatan clock CPU.
3. Meningkatkan jangkauan bilangan bulat yang digunakan untuk mewakili angka.
4. Mempekerjakan beberapa core dalam CPU tunggal.



A.   SISTEM BUS
Sistem bus, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Sistem bus menghubungkan CPU dengan RAM mungkin sebuah buffer memory. Memory penyangga (cache L2 ), Bus system merupakan bus pusat. Bus – bus yang lain merupakan pencabangan dari bus ini.
Didalam PC terdapat 2 Bus yaitu:
1.      Bus sistem, yang menghubungkan CPU dengan RAM.
2.      Bus I/O, yang menghubungkan CPU dengan komponen-kompoonen lain.

·          JENIS –JENIS SISTEM BUS
Saluran bus dapat dipisahkan menjadi dua tipe umum, yaitu dedicated dan multiplexed. Suatu saluran bus dedicated secara permanen diberi sebuah fungsi atau subset fisik komponen- komponen komputer. Sebagai contoh dedikasi fungsi adalah penggunaan alamat dedicated terpisah dan saluran data yang merupakan suatu hal yang umum bagi bus. Namun, hal ini bukanlah hal yang penting. Misalnya, alamat dan informasi data dapat ditransmisikan melalui sejumlah saluran yang sama dengan mengggunakan saluran address valid control.
Struktur sistem bus:
1.      Data bus ( Saluran Data )
Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Saluran ini secara kolektif disebut bus data. Umunya bus data terdiri dari 8, 16, 32 saluran.

2.      Address Bus ( Saluran Alamat ) 
Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya , bila CPU akan membaca sebuah word dat adari memroi, maka CPU akan menaruh alamt word yang dimaksud pada saluran alamat. Digunakan untuk mengirinkan alamat word pada memori yang akan diakses CPU. Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul. Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat. Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardwarenya.

3.      Control Bus ( Saluran Control )
Saluran kontrol digunakan untuk mengontrol akses ke saluran alamat dan penggunaan data. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat unruk mengintrol penggunaanya.

B.   ALU (Arithmatic Logical Unit)
Arithmatic Logical Unit (ALU), adalah komponen 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 output register, sebelum disimpan dalam memori. Processor terdiri dari  4 elemen yang melakukan sistem operasi terhadap data, 4 elemen itu adalah instruksi, petunjuk instruksi, beberapa register dan ALU (Arithmetic Logic Unit). Adalah sebuah petunjuk instruksi akan memberi tahu processor dimana instruksi dari sebuah aplikasi diletakkan di memori.

C.   CONTROL LOGIC UNIT
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. 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). Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor). 
Tugas dari CU adalah sebagai berikut: 
1.      Mengatur dan mengendalikan alat-alat input dan output.
2.      Mengambil instruksi-instruksi dari memori utama.
3.      Mengambil data dari memori utama kalau diperlukan oleh proses. 
4.      Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja. 
5.      Menyimpan hasil proses ke memori utama.

D.   SET REGISTER
Register merupakan jenis memori yang terdapat pada prosesor dan sebagai memori internal processor yang mempunyai kecepatan 5 sampai 10 kali di bandingkan memori utama, digunakan untuk menyimpan instruksi-instruksi dan data yang sedang diproses oleh CPU.
Tiga set yang menyediakan tempat register adalah General Purpose Register, Pointer dan Index Register, dan Segment Register. Jenis kelompok register tersebut sebagai berikut:
1.      General Purpose Register
2.      Pointer dan Index Register
3.      Register Segment
4.      Flag Register

1.      General Purpose Register

  •         Accumulator Register AX
Fungsi: Sebagai akumulator dan berhubungan dengan jenis-jenis operasi khusus seperti Aritmetika, In/Out, Shift,Logic, Rotate, dan operasi desimal berkode biner.


  •         Base Register BX
Fungsi: Sebagai register base untuk mereferensi alamat memori. Operasi yang dapat dilakukan adalah Rotate, Logic, Shift, dan Aritmetika.

  •         Counter Register CX
Fungsi: Sebagai pencacah implisit dengan instruksi tertentu, misalnya terhadap perintah Loop dan operasi string. Counter naik jika direction flag bernilai 0, dan counter turun jika direction flag bernilai 1.


  •         Data Register DX
Fungsi: Menyimpan alamat port I/O selama operasi I/O tertentu, baik alamat port 8 bit maupun 16 bit. Digunakan juga dalam operasi perkalian dan pembagian.

2.      Pointer dan Index Register

  •         Register SP (Stack Pointer, 16 bit)
Fungsi: Digunakan untuk operasi stack seperti menyimpan alamat return saat memanggil subroutine. SP merupakan register yang secara implisit digunakan oleh perintah PUSH dan POP yaitu menyimpan dan mengambil kembali dari stack.


  •         Register BP (Base Pointer, 16 bit)
Fungsi: Sebagai penunjuk base dalam stack yang disediakan untuk penyimpanan data. BP juga digunakan si dengan bahasa pemrograman misalnya Assembler dan C.

  •         Register SI dan DI (Source Index dan Destination index, 16 bit)
Fungsi: Menyimpan nilai-nilai offset dalam segment data memori pada saat bersangkutan.

  •         Register IP (Instruction Pointer, 16 bit)
Fungsi: Register yang berpasangan dengan CS sebagai register utama untuk menunjukkan baris perintah program. Pada saat program dijalankan, IP akan langsung menunjuk pada awal program. Code Segment dan Instruction Pointer berfungsi sebagai program counter ditulis dengan format CS:IP. Secara umum, kode mesin diletakkan di Code Segment, semua data diletakkan di Data Segment, dan operasi PUSH dan POP dilakukan di Stack Segment.

3.      Register Segment (16 bit)

  •         Register CS (Code Segment)
Fungsi: Mencatat segment dari kode program atau instruksi, register CS berpasangan dengan register IP (Instruction Pointer) dalam format CS:IP.

  •         Register DS (Data Segment)
Fungsi: Menyimpan alamat dari segment dimana data terletak.

  •         Register SS (Stack Segment)
Fungsi: Menyimpan alamat segment memori yang dipergunakan sebagai stack.

  •         Register ES (Extra Segment)
Fungsi: Menyimpan alamat segment tambahan, misalnya alamat display, alamat sistem operasi, dan sebagainya.

4.      Register Flag
Mikroprosesor 8086/8088 mempunyai Status Flag 1 bit dan 4 Kontrol Flag yang dikonfigurasikan dalam register 16 bit.
Status Flag terdiri dari:

  •         CF (Carry Flag)
Tugas: Dimana sebuah carry out atau borrow, jika hasilnya adalah bit tertinggi (nilai 1).

  •         PF (Parity Flag)
Tugas: Menset (nilai 1), jika instruksi menghasilkan sebuah angka genap (even parity).

  •         AF (Auxiliary Flag)
Tugas: Digunakan oleh instruksi pegaturan desimal.

  •         ZF(Zero Flag)
Tugas: Menset (nilai 1), jika hasil instruksi adalah 0.

  •         SF (Sign Flag)
Tugas: Menset (nilai 1), jika hasilnya adalah negatif dan bernilai 0 jika positif.

Kontrol Flag terdiri dari:

  •         OF (Overflow Flag)
Tugas: Menunjukkan sebuah operasi yang tidak benar yaitu merubah hasil daripada tanda bit.

  •         IF (Interrupt Enable Flag)
Tugas: Jika diset (nilai 1) dapat melakukan operasi interupsi dan sebaliknya bila bernilai 0, maka interupsi tidak dapat dilakukan.

  •         DF (Direction Flag)
Tugas: Mengontrol arah dari operasi string. Jika DF=1, maka register SI dan DI nilainya menurun (decrement); jika DF=0, maka register DI dan SI nilai menaik (increment). Register ini digunakan untuk instruksi-instruksi MOVS, MOVSB, MOVSW, CMPS, CMPSB, dan CMPSW.

No comments:

Post a Comment