HTG Menjelaskan: Bagaimana Sebenarnya CPU Bekerja?

Feb 28, 2025
Perangkat keras
Parut / shutterstock

Kebanyakan hal di komputer relatif sederhana untuk dipahami: RAM, penyimpanan, periferal, dan perangkat lunak semuanya bekerja sama untuk membuat komputer berfungsi. Namun jantung sistem Anda, CPU, tampak seperti keajaiban bahkan bagi banyak orang teknologi. Di sini, kami akan melakukan yang terbaik untuk memecahnya.

Sebagian besar penelitian untuk artikel ini berasal “Tapi Bagaimana Ia Tahu?” oleh J. Clark Scott. Ini adalah bacaan yang fantastis, lebih mendalam daripada artikel ini, dan sepadan dengan beberapa dolar di Amazon.

Satu catatan sebelum kita mulai: CPU modern adalah lipat lebih kompleks daripada yang kami uraikan di sini. Hampir tidak mungkin bagi satu orang untuk memahami setiap nuansa chip dengan lebih dari satu miliar transistor. Namun, prinsip dasar tentang bagaimana semuanya cocok tetap sama, dan memahami dasar-dasarnya akan memberi Anda pemahaman yang lebih baik tentang sistem modern.

Memulai dari Kecil

Komputer beroperasi di biner . Mereka hanya memahami dua keadaan: hidup dan mati. Untuk melakukan perhitungan dalam biner, mereka menggunakan apa yang disebut transistor. Transistor hanya memungkinkan arus sumber mengalir melaluinya ke saluran pembuangan jika ada arus melintasi gerbang. Pada dasarnya, ini membentuk sakelar biner, yang memotong kabel tergantung pada sinyal input kedua.

TERKAIT: Apa itu Biner, dan Mengapa Komputer Menggunakannya?

Komputer modern menggunakan miliaran transistor untuk melakukan kalkulasi, tetapi pada level terendah, Anda hanya perlu sedikit untuk membentuk komponen paling dasar, yang dikenal sebagai gerbang.

Gerbang Logika

Tumpuk beberapa transistor dengan benar, dan Anda akan mendapatkan apa yang disebut gerbang logika. Gerbang logika mengambil dua masukan biner, melakukan operasi padanya, dan mengembalikan satu keluaran. Gerbang OR, misalnya, mengembalikan nilai true jika salah satu masukan benar. Gerbang AND memeriksa apakah kedua masukan benar, XOR memeriksa apakah hanya satu dari masukan yang benar, dan varian N (NOR, NAND, dan XNOR) adalah versi terbalik dari gerbang dasarnya.

Melakukan Matematika Dengan Gates

Dengan hanya dua gerbang Anda dapat melakukan penjumlahan biner dasar. Diagram di atas menunjukkan setengah penjumlah, dibuat menggunakan Secara logis , taman bermain online gratis untuk gerbang logika. Gerbang XOR di sini akan menyala jika hanya salah satu input yang aktif, tetapi tidak keduanya. Gerbang AND akan aktif jika kedua masukan aktif, tetapi tetap nonaktif jika tidak ada masukan. Jadi jika keduanya aktif, XOR tetap mati, dan gerbang AND menyala, datang ke jawaban yang benar dari dua:

Ini memberi kita pengaturan sederhana dengan tiga keluaran berbeda: nol, satu, dan dua. Tetapi satu bit tidak dapat menyimpan sesuatu yang lebih tinggi dari 1, dan mesin ini tidak terlalu berguna karena hanya memecahkan salah satu masalah matematika yang paling sederhana. Tetapi ini hanya setengah penambah, dan jika Anda menghubungkan dua di antaranya dengan masukan lain, Anda mendapatkan penambah penuh:

Penambah penuh memiliki tiga masukan — dua angka untuk ditambahkan, dan "bawa". Carry digunakan ketika jumlah akhir melebihi apa yang dapat disimpan dalam satu bit. Penambah penuh akan ditautkan dalam sebuah rantai, dan muatan diteruskan dari satu penambah ke penambah berikutnya. Carry ditambahkan ke hasil dari gerbang XOR di penambah babak pertama, dan ada gerbang OR ekstra untuk menangani kedua kasus ketika jadi itu perlu diaktifkan.

Saat kedua input aktif, carry menyala, dan mengirimkannya ke penambah lengkap berikutnya dalam rantai:

Dan ini serumit penjumlahan. Pindah ke lebih banyak bit pada dasarnya hanya berarti lebih banyak penambah penuh dalam rantai yang lebih panjang.

Kebanyakan operasi matematika lainnya dapat diselesaikan dengan penjumlahan; perkalian hanyalah penjumlahan berulang, pengurangan dapat dilakukan dengan beberapa inversi bit mewah, dan pembagian hanyalah pengurangan berulang. Dan sementara semua komputer modern memiliki solusi berbasis perangkat keras untuk mempercepat operasi yang lebih rumit, Anda secara teknis dapat melakukan semuanya dengan penambah penuh.

Bus, dan Memori

Saat ini, komputer kita tidak lebih dari kalkulator yang buruk. Ini karena ia tidak dapat mengingat apa pun, dan tidak melakukan apa pun dengan keluarannya. Di atas ditunjukkan sel memori, yang dapat melakukan semua itu. Di bawah tenda, ia menggunakan banyak gerbang NAND, dan dalam kehidupan nyata bisa sangat berbeda tergantung pada teknik penyimpanan, tetapi fungsinya sama. Anda memberinya beberapa masukan, nyalakan bit 'tulis', dan itu akan menyimpan masukan di dalam sel. Ini bukan hanya sel memori, karena kami juga membutuhkan cara untuk membaca informasi darinya. Hal ini dilakukan dengan enabler, yang merupakan kumpulan gerbang AND untuk setiap bit dalam memori, semuanya terkait dengan input lain, bit "baca". Bit tulis dan baca juga sering disebut "set" dan "aktifkan".

Seluruh paket ini dibungkus menjadi apa yang dikenal sebagai register. Register ini terhubung ke bus, yang merupakan kumpulan kabel yang mengelilingi seluruh sistem, terhubung ke setiap komponen. Bahkan komputer modern memiliki bus, meskipun mereka mungkin memiliki banyak bus untuk meningkatkan kinerja multitasking.

Setiap register masih memiliki bit tulis dan baca, tetapi pada konfigurasi ini input dan outputnya sama. Ini sebenarnya bagus. Sebagai contoh. Jika Anda ingin menyalin konten R1 ke R2, Anda harus mengaktifkan bit baca untuk R1, yang akan mendorong konten R1 ke bus. Saat bit baca aktif, Anda akan mengaktifkan bit tulis untuk R2, yang akan menyalin konten bus ke R2.

Register digunakan untuk membuat RAM juga. RAM sering diletakkan dalam kisi-kisi, dengan kabel mengarah ke dua arah:

Decoder mengambil input biner dan menyalakan kabel bernomor yang sesuai. Misalnya, "11" adalah 3 dalam biner, angka 2-bit tertinggi, sehingga decoder akan mengaktifkan kabel tertinggi. Di setiap persimpangan, ada register. Semua ini terhubung ke bus pusat, dan ke input tulis dan baca pusat. Baik input baca dan tulis hanya akan menyala jika kedua kabel yang melintasi register juga aktif, secara efektif memungkinkan Anda memilih register untuk menulis dan membaca. Sekali lagi, RAM modern jauh lebih rumit, tetapi penyiapan ini masih berfungsi.

Jam, Stepper, dan Decoder

Register digunakan di mana-mana dan merupakan alat dasar untuk memindahkan data dan menyimpan informasi di CPU. Jadi apa yang menyuruh mereka untuk memindahkan barang?

Jam adalah komponen pertama dalam inti CPU dan akan mati dan hidup pada interval yang ditentukan, diukur dalam hertz, atau siklus per detik. Ini adalah kecepatan yang Anda lihat diiklankan bersama CPU; chip 5 GHz dapat melakukan 5 miliar siklus per detik. Kecepatan clock sering kali merupakan metrik yang sangat baik untuk seberapa cepat CPU.

Jam memiliki tiga status berbeda: jam dasar, jam aktifkan, dan jam yang disetel. Jam dasar akan menyala selama setengah siklus, dan mati untuk setengah siklus lainnya. Jam aktif digunakan untuk menghidupkan register dan perlu dinyalakan lebih lama untuk memastikan bahwa data diaktifkan. Jam yang disetel selalu harus aktif pada waktu yang sama dengan jam aktifkan, atau data yang salah dapat ditulis.

Jam terhubung ke stepper, yang akan menghitung dari satu ke langkah maksimal, dan menyetel ulang sendiri kembali ke step setelah selesai. Jam juga terhubung ke gerbang AND untuk setiap register yang dapat ditulisi oleh CPU:

Gerbang AND ini juga terhubung ke keluaran komponen lain, dekoder instruksi. Dekoder instruksi mengambil instruksi seperti “SET R2 TO R1” dan mendekodekannya menjadi sesuatu yang dapat dimengerti oleh CPU. Ia memiliki register internalnya sendiri, yang disebut "Instruction Register," di mana operasi saat ini disimpan. Bagaimana tepatnya hal ini terjadi pada sistem yang Anda jalankan, tetapi setelah didekodekan, itu akan mengaktifkan set yang benar dan mengaktifkan bit untuk register yang benar, yang akan diaktifkan sesuai dengan jam.

Instruksi program disimpan dalam RAM (atau L1 cache pada sistem modern, lebih dekat ke CPU). Karena data program disimpan dalam register, sama seperti variabel lainnya, ia dapat dimanipulasi dengan cepat untuk melompati program. Ini adalah bagaimana program mendapatkan strukturnya, dengan pernyataan loop dan if. Instruksi lompat menetapkan lokasi saat ini dalam memori yang dibaca dekoder instruksi dari ke lokasi yang berbeda.

Bagaimana Semuanya Bersatu

Sekarang, penyederhanaan berlebihan kami tentang cara kerja CPU telah selesai. Bus utama menjangkau seluruh sistem dan terhubung ke semua register. Penambah penuh, bersama dengan banyak operasi lainnya, dikemas ke dalam Unit Logika Aritmatika, atau ALU. ALU ini akan memiliki koneksi ke bus, dan juga akan memiliki register sendiri untuk menyimpan nomor kedua yang dioperasikannya.

Untuk melakukan penghitungan, data program dimuat dari RAM sistem ke bagian kontrol. Bagian kontrol membaca dua nomor dari RAM, memuat yang pertama ke dalam register instruksi ALU, dan kemudian memuat yang kedua ke bus. Sementara itu, ALU mengirimkan kode instruksi yang memberitahukan apa yang harus dilakukan. ALU kemudian melakukan semua kalkulasi dan menyimpan hasilnya dalam register yang berbeda, dimana CPU dapat membaca dan kemudian melanjutkan proses.

Kredit Gambar: Rost9 / Shutterstock

HTG Explains: What Are All Those Advanced Power Settings In Windows?

Increasing Your FPS: Does CPUCores Really Work? | Software Review | MindMineTV

كيف يعمل المعالج , افهمها من مره واحده How To Cpu Work


Perangkat keras - Artikel Terpopuler

Apa yang Dilakukan Pin Jumper Di Bagian Belakang Hard Drive Anda?

Perangkat keras Apr 5, 2025

Anda mungkin memiliki pin di bagian belakang hard drive Anda yang tidak terhubung dengan apa pun. Pin ini disebut jumper, dan digunakan untuk mengaktifkan jenis pengaturan tertentu...


Cara (Mungkin) Menyelamatkan Laptop dari Kerusakan Air

Perangkat keras Apr 15, 2025

KONTEN TIDAK CACHED Ini mimpi buruk setiap pemilik laptop: secangkir kopi yang tumpah sembarangan. Mandi tiba-tiba saat Anda bekerja di luar. Surga melarang, beberapa jenis kamar ..


Apakah Imbalan Razer zSilver Gaming Layak?

Perangkat keras Mar 27, 2025

KONTEN TIDAK CACHED Razer baru-baru ini mengumumkan program loyalitas pelanggan baru : Pemain game PC bisa mendapatkan mata uang virtual, yang disebut "zSilver" dan..


Cara Mengaktifkan dan Menonaktifkan Nest Cam Anda Secara Otomatis

Perangkat keras Feb 14, 2025

KONTEN TIDAK CACHED Jika Anda memiliki Nest Aware diatur di Nest Cam Anda, itu dapat merekam video sepanjang waktu. Namun, ini dapat dengan cepat menghabiskan bandw..


Cara Menghubungkan Mouse, Keyboard, dan Gamepad ke Ponsel atau Tablet Android

Perangkat keras Jul 5, 2025

Android mendukung mouse, keyboard, dan bahkan gamepad. Di banyak perangkat Android, Anda dapat menyambungkan periferal USB ke perangkat Anda. Di perangkat Android lainnya, Anda mung..


Cara Membalas Email di Apple Watch Anda

Perangkat keras Dec 22, 2024

KONTEN TIDAK CACHED Hingga watchOS 2, aplikasi "Mail" hanya dapat menampilkan pemberitahuan untuk dan menampilkan email masuk. Sekarang, Anda dapat membalas pesan email di Mail me..


Anda Tidak Mencadangkan dengan Benar Kecuali Anda Memiliki Pencadangan Di Luar Situs

Perangkat keras Jul 8, 2025

KONTEN TIDAK CACHED Cadangan sangat penting. Namun, jika Anda hanya melakukan pencadangan rutin ke hard drive eksternal atau drive USB terdekat, Anda kehilangan bagian penting dar..


Dari Kotak Tip: Penguat Antena Wi-Fi, Memperluas Pinjaman Perpustakaan Kindle Anda, dan Wallpaper Berbasis Kata Kunci

Perangkat keras Apr 26, 2025

KONTEN TIDAK CACHED Sekali seminggu kami mengumpulkan beberapa tip pembaca yang bagus dan membagikannya dengan semua orang; minggu ini kami melihat pemacu Wi-Fi DIY, memperpanjang..


Kategori