Bagaimana Cara CPU Bekerja?

Bagaimana Cara CPU Bekerja?

Bagaimana Cara CPU Bekerja? – Central processing unit (CPU) atau prosesor, adalah unit yang melakukan sebagian besar pemrosesan di dalam komputer. Ini memproses semua instruksi yang diterima oleh perangkat lunak yang berjalan pada PC dan oleh komponen perangkat keras lainnya, dan bertindak sebagai kalkulator yang kuat.

CPU ditempatkan ke soket berbentuk persegi khusus yang ditemukan di semua motherboard dengan memasukkan konektor logam atau pin yang ditemukan di bagian bawah. Setiap soket dibangun dengan tata letak pin khusus untuk mendukung hanya jenis prosesor tertentu. https://www.mustangcontracting.com/

Karena CPU modern menghasilkan banyak panas dan cenderung terlalu panas, mereka harus tetap dingin dengan kipas atau sistem ventilasi yang tepat, dan ditutupi dengan pendingin dan pasta termal. slot online

Untuk mengontrol instruksi dan aliran data ke dan dari bagian lain dari komputer, CPU sangat bergantung pada chipset, yang merupakan kelompok microchip yang terletak di motherboard.

Bagaimana Cara CPU Bekerja?

Istilah ini juga dikenal sebagai prosesor pusat, mikroprosesor atau chip.

Dua komponen utama dari sebuah prosesor

  • Unit kontrol – CU
  • Unit aritmatika dan logis – ALU

Unit Kontrol – CU

Unit kontrol CU adalah bagian dari CPU yang membantu mengatur eksekusi instruksi. Ia memberi tahu apa yang harus dilakukan. Menurut instruksi, ini membantu mengaktifkan kabel yang menghubungkan CPU ke bagian lain dari komputer termasuk ALU. Unit kontrol adalah komponen pertama dari CPU yang menerima instruksi untuk diproses.

Ada dua jenis unit kontrol:

  • Unit Kontrol Bawaan.
  • Unit Kontrol Mikroprogrammable (Mikroprogram).

Unit kontrol bawaan adalah perangkat keras dan membutuhkan perubahan pada perangkat keras untuk menambahkan memodifikasinya berfungsi di mana sebagai unit kontrol dapat diprogram untuk mengubah perilaku itu. Hardwired CU lebih cepat dalam memproses instruksi sedangkan mikroprogrammable lebih fleksibel.

Unit aritmatika dan logis – ALU

Unit aritmatika dan logis ALU seperti namanya melakukan semua perhitungan aritmatika dan logis. ALU melakukan operasi seperti penambahan, pengurangan. ALU terdiri dari sirkuit logika atau gerbang logika yang melakukan operasi ini.

Kebanyakan gerbang logika menerima dua input dan menghasilkan satu output

Penyimpanan – Register dan Memori

Tugas utama CPU adalah menjalankan instruksi yang diberikan kepadanya. Untuk memproses instruksi ini sebagian besar waktu, itu membutuhkan data. Beberapa data adalah data antara, beberapa di antaranya adalah input dan lainnya adalah output. Data-data ini bersama dengan instruksi disimpan dalam penyimpanan berikut:

Register adalah seperangkat tempat kecil di mana data dapat disimpan. Register adalah kombinasi dari kait. Kait juga dikenal sebagai sandal jepit adalah kombinasi dari gerbang logika yang menyimpan 1 bit informasi.

Sebuah kait memiliki dua kabel input, kabel tulis dan input dan satu kabel output. Kami dapat mengaktifkan kabel tulis untuk membuat perubahan pada data yang disimpan. Ketika kabel tulis dinonaktifkan, output selalu tetap sama.

Kait SR, dibangun dari sepasang gerbang NOR yang berpasangan silang

CPU memiliki register untuk menyimpan data output. Mengirim ke memori utama (RAM) akan menjadi lambat karena merupakan data antara. Data ini dikirim ke register lain yang terhubung oleh BUS. Register dapat menyimpan instruksi, data output, alamat penyimpanan atau jenis data apa pun.

Ram adalah kumpulan register yang diatur dan dipadatkan bersama dengan cara yang dioptimalkan sehingga dapat menyimpan jumlah data yang lebih tinggi. RAM (Random Access Memory) volatile dan datanya hilang ketika kita mematikan daya. Karena RAM adalah kumpulan register untuk membaca / menulis data, RAM mengambil input dari alamat 8bit, input data untuk data aktual yang akan disimpan dan akhirnya membaca dan menulis enabler yang berfungsi seperti halnya untuk kait.

Instruksi

Instruksi adalah perhitungan tingkat granular yang dapat dilakukan komputer. Ada berbagai jenis instruksi yang dapat diproses CPU.

Instruksi meliputi:

  • Aritmatika seperti menambah dan mengurangi
  • Instruksi logika seperti dan, atau, dan tidak
  • Instruksi data seperti memindahkan, input, output, memuat, dan menyimpan
  • Instruksi Kontrol Aliran seperti goto, jika … goto, panggilan, dan kembali
  • Beritahu CPU bahwa program telah berhenti

Instruksi diberikan ke komputer menggunakan bahasa rakitan atau dihasilkan oleh kompiler atau ditafsirkan dalam beberapa bahasa tingkat tinggi.

Instruksi ini tertanam di dalam CPU. ALU berisi aritmatika dan logis di mana sebagai aliran kontrol dikelola oleh CU.

Dalam satu siklus clock komputer dapat melakukan satu instruksi tetapi komputer modern dapat melakukan lebih dari satu instruksi.

Sekelompok instruksi yang dapat dilakukan komputer disebut set instruksi.

Jam CPU / CPU Clock

Siklus jam / Clock cycle

Kecepatan komputer ditentukan oleh siklus jamnya. Ini adalah jumlah periode jam per detik yang digunakan komputer. Satu siklus jam sangat kecil seperti sekitar 250 * 10 * -12 detik. Semakin tinggi clock cycle, semakin cepat prosesornya.

Siklus jam CPU diukur dalam gHz (Gigahertz). 1gHz sama dengan 10 ⁹ Hz (hertz). Hertz berarti satu detik. Jadi 1Gigahertz berarti 10 ⁹ siklus per detik.

Semakin cepat siklus clock, semakin banyak instruksi yang dapat dijalankan CPU.

Siklus jam = laju 1 / jam

Waktu CPU = jumlah siklus / laju jam

Ini berarti untuk meningkatkan waktu CPU kita dapat meningkatkan laju jam atau mengurangi jumlah siklus jam dengan mengoptimalkan instruksi yang kami berikan ke CPU. Beberapa prosesor memberikan kemampuan untuk meningkatkan siklus clock tetapi karena perubahan fisik mungkin ada pemanasan yang berlebihan dan bahkan kebakaran.

Bagaimana cara instruksi dijalankan

Instruksi disimpan pada RAM secara berurutan. Untuk Instruksi CPU hipotetis terdiri dari kode OP (kode operasional) dan memori atau alamat register.

Ada dua register di dalam register Instruksi Unit Kontrol (IR) yang memuat kode OP dari instruksi dan register alamat Instruksi yang memuat alamat arus instruksi pelaksanaan. Ada register lain di dalam CPU yang menyimpan nilai yang disimpan dalam alamat 4 bit terakhir dari instruksi.

Mari kita ambil contoh dari serangkaian instruksi yang menambahkan dua angka. Berikut ini adalah instruksi bersama dengan deskripsi di sana:

LANGKAH 1 – LOAD_A 8:

Instruksi awalnya disimpan dalam RAM seperti katakanlah <1100 1000>. 4 bit pertama adalah kode op. Ini menentukan instruksi. Instruksi ini diambil ke IR dari unit kontrol. Instruksi diterjemahkan menjadi load_A yang artinya perlu memuat data dalam alamat 1000 yang merupakan 4 bit terakhir dari instruksi untuk mendaftar A.

LANGKAH 2 – LOAD_B 2

Mirip dengan di atas ini memuat data dalam alamat memori 2 (0010) ke register CPU B.

LANGKAH 3 – TAMBAHKAN B A

Sekarang instruksi selanjutnya adalah menambahkan dua angka ini. Di sini CU memberitahu ALU untuk melakukan operasi penambahan dan menyimpan hasilnya kembali untuk mendaftar A.

LANGKAH 4 – STORE_A 23

Ini adalah seperangkat instruksi yang sangat sederhana yang membantu menambah dua angka.

Kita telah berhasil menambahkan dua angka!

BUS

Semua data antara CPU, register, memori dan perangkat IO ditransfer melalui bus. Untuk memuat data ke memori yang baru saja ditambahkan, CPU menempatkan alamat memori ke bus alamat dan hasil penjumlahan ke bus data dan memungkinkan sinyal yang tepat di bus kontrol. Dengan cara ini data dimuat ke memori dengan bantuan bus.

Cache

CPU juga memiliki mekanisme untuk mengambil instruksi sebelum di-cache. Seperti yang kita ketahui ada jutaan instruksi yang dapat diselesaikan prosesor dalam satu detik. Ini berarti bahwa akan ada lebih banyak waktu yang dihabiskan untuk mengambil instruksi dari RAM daripada mengeksekusi mereka. Jadi cache CPU lebih dulu mengambil beberapa instruksi dan juga data sehingga eksekusi menjadi cepat.

Jika data dalam cache dan memori operasi berbeda, data ditandai sebagai bit yang kotor.

Instruksi pipelining

CPU modern menggunakan pipeline Instruksi untuk paralelisasi dalam eksekusi instruksi. Ambil, Dekode, Jalankan. Ketika satu instruksi berada dalam fase decode, CPU dapat memproses instruksi lain untuk mengambil fase.

Ini memiliki satu masalah ketika satu instruksi bergantung pada instruksi lainnya. Jadi prosesor menjalankan instruksi yang tidak tergantung dan dalam urutan yang berbeda.

Komputer multi-inti / Multi core computer

Ini pada dasarnya adalah CPU yang berbeda tetapi memiliki beberapa sumber daya bersama seperti cache.

Performa

Kinerja CPU ditentukan oleh waktu eksekusi itu.

Kinerja = 1 / waktu eksekusi

katakanlah membutuhkan waktu 20ms untuk sebuah program untuk dieksekusi. Kinerja CPU adalah 1/20 = 0,05 ms

Kinerja relatif = waktu eksekusi 1 / waktu eksekusi 2

Faktor yang dipertimbangkan untuk kinerja CPU adalah waktu pelaksanaan instruksi dan kecepatan jam CPU. Jadi untuk meningkatkan kinerja suatu program kita perlu menambah kecepatan clock atau mengurangi jumlah instruksi dalam suatu program. Kecepatan prosesor terbatas dan komputer modern dengan multi-core dapat mendukung jutaan instruksi per detik. Tetapi jika program yang kami tulis memiliki banyak instruksi, ini akan menurunkan kinerja keseluruhan.

Bagaimana Cara CPU Bekerja?

Notasi O besar menentukan dengan input yang diberikan, bagaimana kinerja akan terpengaruh.

Ada banyak optimasi yang dilakukan dalam CPU untuk membuatnya lebih cepat dan melakukan sebanyak yang dia bisa. Saat menulis program apa pun kita perlu mempertimbangkan bagaimana mengurangi jumlah instruksi yang kami berikan ke CPU akan meningkatkan kinerja program komputer.