Central Processing Unit (CPU) - Pada kali ini saya akan membahas salah satu komponen yang sangat penting dalam sebuah komputer. Apa itu? ya itu adalah CPU. Setiap komputer pasti memiliki sebuah CPU untuk menjalankan kinerja suatu komputer itu sendiri. Tanpa CPU, sebuah komputer rasanya tidak dapat berjalan dengan lancar. Bahkan, tidak dapat berjalan sama sekali. CPU adalah perangkat keras komputer yang memahami dan melaksanakan perintah dan data dari perangkat lunak. Istilah lain, pemroses/prosesor (processor), sering digunakan untuk menyebut CPU. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal.

Central Processing Unit (CPU)
Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi aspek penting dalam penerapan CPU. CPU Merupakan bagian utama dari komputer karena processor berfungsi untuk mengatur semua aktifitas yang ada pada komputer. Kecepatan eksekusi processor tergantung apalagi pada frekuensinya, satuan adalah MHz (MegaHertz) atau GHz (1 GigaHertz = 1000 MegaHertz).

SRUKTUR CPU
Struktur CPU terbagi menjadi beberapa macam, yaitu sebagai berikut:
Struktur Utama CPU
1. Unit kontrol
Adalah komponen komputer yang mampu mengatur jalannya program. Komponen ini sudah pasti terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antarkomponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmetika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali 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 aritmetika atau perbandingan logika serta mengawasi kerja dari ALU.
    • Menyimpan hasil proses ke memori utama.
Masukan-masukan unit control:
  1. Clock / pewaktu
    Pewaktu adalah cara unit control dalam menjaga waktunya. Unit control menyebabkan sebuah operasi mikro (atau sejumlah operasi mikro yang bersamaan) dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu siklus prosesor.
  2. Register instruksi
    Opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus eksekusi.
  3. Flag
    Flag ini diperlukan oleh unit control untuk menentukan status prosesor dan hasil operasi ALU sebelumnya.
  4. Sinyal control untuk mengontrol bus
    Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti sinyalsinyal interupsi dan acknowledgement.
Keluaran-keluaran unit control: 
Sinyal control didalam prosesor: terdiri dari dua macam: sinyal -sinyal yang menyebabkan data dipindahkan dari register yang satu keregister yang lainnya, dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.

2. ALU 
Alu merupakan unit yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmetika yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmetika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder. Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).

3. Register
Merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. 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.

4. Memory
Memori  merupakan  media  penyimpanan  program  maupun  data.  Memori  semikonduktor dapat dibedakan menjadi Read Only Memory (ROM)  dan Random Access Memory (RAM). ROM  adalah  memori  non-volatil  yang  digunakan  untuk  menyimpan  data  secara  permanen. Data  yang disimpan hanya dapat dibaca, tidak dapat diubah, dan isinya tidak hilang ketika catuan  dimatikan.  Sedangkan  RAM  adalah  tempat  penyimpanan  sementara  yang  berisi alamat  yang  isinya  dapat  dibaca  dan  dimodifikasi.  Memori  ini  bersifat  volatil,  isinya  akan hilang ketika catuan dimatikan.
Memori program merupakan ruang memori yang digunakan untuk menyimpan program yang akan dijalankan oleh prosesor. Memori program bersifat read only memory (ROM). Prosesor hanya bisa membaca isi dari memori program tetapi tidak bisa mengubah isinya. Memori data pada  prosesor  digunakan  untuk  menyimpan  data-data  hasil  pemrosesan  dari  instruksiinstruksi  yang  dijalankan  oleh  prosesor.  Pada  mikrokontroler  8051,  memori  data  internal sebesar 128 byte. Didalamnya terdapat bank register, Spesial Function Register (SFR), dan general-purpose register.

5. Input output
Terdapat dua jenis interface input dan output pada FPGA untuk komunikasi dengan device di luar FPGA: data port serial dan data port paralel.  Interface komunikasi serial biasa disebut UART  (Universal  Asynchronous  Receiver-  Transmitter).  Sedangkan  untuk  interface komunikasi parallel disebut PIO (Parallel Input-Output).

6. UART
UART  merupakan  suatu  piranti  asinkron  yang  memerlukan  bit  awal  dan  bit  akhir  untuk setiap  kata  digital  yang  dikirimkan  dari  dan  ke  CPU.  UART  dapat  deprogram  untuk menentukan mode operasinya.

UART memiliki dua mode operasi:
  1. Mode  pengiriman,  dimana  UART  akan  mengambil  data  paralel  dan  mengubahnya  dalam aliran data seri yang berisi karakter start, stop,dan karakter yang sama.
  2. Mode  penerimaan,  dimana  UART  akan  mengambil  aliran  bit  seri  dan  mengubahnya  ke dalam data paralel.
7. Bus
Suatu sistem digital pada umumnya memiliki banyak komponen register. Interkoneksi antar komponen  diperlukan  untuk  transfer  data  dari  satu  komponen  ke  komponen  yang  lainnya. Untuk  efesiensi  dalam  transfer  data  tersebut  digunakan  suatu  sistem  untuk  berbagi  saluran yang disebut bus. Bus adalah sekelompok kawat penghubung yang digunakan sebagai jalur untuk  menyalurkan  bit-bit  biner.  Ada  tiga  jenis  bus  pada  sistem  prosesor  :  bus  data,  bus alamat, dan bus kontrol.
  1. Bus data  digunakan  untuk  mentransfer  data  antara  CPU  dengan  elemen  elemen  lain  di dalam sistem. Bus data bersifat bidirectional, bisa menerima data dan juga mengirimkan data. Juga terdapat internal data bus untuk transfer data sesama elemen CPU, yang dihubungkan ke bus data sistem melalui Memory Buffer Register (MBR). MBR merupakan buffer dua arah.
  2. Bus alamat membawa alamat dari lokasi memori, untuk mengambil data agar dapat dibaca atau untuk menyimpan agar dapat ditulis. Bus alamat dapat juga mengalamati elemen elemen lain di dalam sistem seperti unit antarmuka masukan/keluaran. Bus alamat dapat membawa 16 bit informasi digital secara serempak.
  3. Bus kontrol membawa semua isyarat kontrol dari CPU. Fungsi utama bus kontrol adalah: sinkronisasi memori dan I/O, penjadwalan CPU (misalnya interupsi), dan  tugas lain seperti reset dan clock. Sebelum memasuki address bus sistem maupun control bus sistem, informasi terlebih  dahulu  melewati  Memory  Address  Register  (MAR),  yang  merupakan  buffer  satu arah.
8. Clock
Bagian CPU yang lain adalah sistem waktu. Sistem terbuat dari sirkuit waktu untuk mengukur tugas yang dilakukan oleh CPU. Kinerja prosesor umumnya diukur dalam “hertz.”

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 Unit 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.

Nah, jadi begitu penjelasan mengenai Struktur utama dalam CPU. CPU tidak bisa dipungkiri memang merupakan suatu komponen utama yang sangat penting untuk menjalankan suatu komputer, sehingga bagian-bagiannya pun sangat kompleks dan vital. Karena bila ada salah satu bagian yang bermasalah, otomatis bagian yang lainnya pun akan terpengaruhi. Semoga artikel ini bermanfaat dan menambah ilmu bagi kita semua. Aamiiin.
https://mahmudiuye.blogspot.co.id/2015/04/struktur-cpu-fungsi-cpu-alu-control.html
https://id.wikipedia.org/wiki/Unit_Pemroses_Sentral