Tugas Pertemuan 3 | Organisasi dan Arsitektur Komputer (CPU)
Central Processing Unit (CPU)
Struktur Central Processing Unit (CPU)
CPU atau Central
Processing Unit adalah komponen utama dalam komputer yang berfungsi
sebagai pusat pengolahan data, di mana ia bekerja berdasarkan instruksi yang
diberikan. CPU sering disebut sebagai "otak" komputer karena
kemampuannya mengkoordinasikan dan menjalankan berbagai operasi yang membuat
komputer dapat berfungsi. Tanpa CPU, meskipun komputer memiliki perangkat keras
canggih lainnya, sistem tidak akan bisa berjalan. Fungsi utama CPU adalah
mengolah data melalui serangkaian perintah yang diterima, menjadikannya
komponen yang sangat penting dalam arsitektur komputer.
Struktur CPU terdiri dari
beberapa komponen yang saling bekerja sama untuk melaksanakan tugas pengolahan
dan menjalankan instruksi. Terdapat empat komponen utama penyusun CPU, yaitu:
1. Arithmetic and Logic Unit (ALU)
ALU adalah salah satu
dalam sebuah CPU yang berfungsi untuk melakukan operasi aritmatika dan logika
berdasarkan instruksi yang ditentukan.
- Operasi Aritmatika: ALU melakukan operasi dasar seperti penjumlahan, pengurangan, perkalian, dan pembagian. Operasi-operasi ini sangat penting untuk melakukan perhitungan matematis dalam komputer.
- Operasi Logika: ALU juga melakukan operasi logika (boolean logic unit) seperti AND, OR, NOT, XOR, dan operasi perbandingan seperti sama dengan, kurang dari, dan lebih dari. Operasi logika ini digunakan untuk membuat keputusan dalam program computer.
A. Komponen
ALU
- Arithmetic Circuit: Bagian
ini bertanggung jawab melakukan operasi aritmatika seperti penjumlahan,
pengurangan, perkalian, dan pembagian. Beberapa ALU juga memiliki detektor
overflow dan underflow untuk mendeteksi kesalahan selama operasi aritmatika.
- Logic Circuit: Bagian ini melakukan operasi logika seperti bitwise AND, OR, NOT, dan XOR. Selain itu, beberapa ALU juga memiliki komparator untuk melakukan operasi perbandingan.
- Registers: Register digunakan untuk menyimpan input operand, hasil sementara, dan hasil akhir dari operasi ALU. Operand register menyuplai data ke ALU, sedangkan register output menyimpan hasil dari operasi ALU.
- Control Unit: Control unit mengontrol ALU dengan mengirimkan sinyal kontrol berdasarkan instruksi yang diterima. Control unit juga mengatur aliran data dan status flag yang dihasilkan oleh ALU.
B. Cara Kerja ALU
- Input dan Output:
ALU
menerima input berupa instruksi dan operand, serta menghasilkan output berupa
hasil operasi yang telah dilakukan. Instruksi ini biasanya berupa kode operasi
(opcode) yang menentukan jenis operasi yang akan dilakukan.
- Operasi:
Proses
kerja ALU melibatkan pengiriman sinyal input ke dalam ALU, kemudian ALU
melakukan operasi yang ditentukan oleh opcode, dan hasilnya disimpan dalam
register output. Proses ini dikontrol oleh control unit yang memastikan bahwa
operasi dilakukan dengan benar dan efisien.
- Penggunaan dalam CPU:
ALU
merupakan bagian penting dalam CPU karena berperan sebagai
"kalkulator" komputer. Dalam proses eksekusi instruksi, CPU
menggunakan ALU untuk melakukan operasi aritmatika dan logika yang diperlukan.
Dengan demikian, ALU memainkan peran kunci dalam menjalankan instruksi dan
memproses data dalam komputer
2. Control Unit (CU)
Control Unit atau Unit
Kendali adalah bagian dari prosesor yang berfungsi mengelola dan mengarahkan
seluruh sinyal kontrol di dalam CPU. Tugas utamanya adalah mengatur aliran data
antara komponen-komponen yang berbeda, baik dari input maupun output, serta
mengambil instruksi dari memori program. Setelah instruksi diambil, unit
kendali akan mengarahkan bagian lain dari CPU untuk melaksanakan instruksi
tersebut dengan mengatur sinyal kontrol dan waktu (timing) yang diperlukan.
Control Unit bertanggung
jawab untuk memastikan bahwa setiap komponen CPU bekerja dengan selaras. Ini
termasuk mengoordinasikan operasi aritmatika di ALU, pengambilan dan
penyimpanan data di register, serta mengendalikan arus data antara CPU dan
memori. Selain itu, unit kendali menentukan jenis instruksi yang diambil dari
memori utama dan memberikan arahan kepada unit lainnya sesuai dengan kebutuhan
instruksi tersebut.
Unit Kendali tidak
memproses data langsung seperti ALU, tetapi bertindak sebagai "pengendali
lalu lintas" yang memastikan setiap bagian CPU berfungsi secara efisien
dan sesuai urutan. Tugasnya meliputi:
- Mengambil Instruksi (Instruction Fetch): Control Unit bertugas mengambil instruksi dari memori utama (RAM) dan memasukkannya ke dalam CPU untuk diproses lebih lanjut. Instruksi-instruksi ini disimpan di Program Counter (PC) yang menunjukkan lokasi instruksi berikutnya.
- Mendekode Instruksi (Instruction Decode): Setelah mengambil instruksi, Control Unit memecahnya menjadi sinyal yang dapat dimengerti oleh komponen CPU lainnya, seperti ALU atau Register. Ini melibatkan penerjemahan instruksi menjadi perintah-perintah individual untuk dieksekusi.
- Mengendalikan Eksekusi (Execution Control): Control Unit mengarahkan ALU dan bagian lain dari CPU untuk melakukan operasi aritmatika, logika, atau perpindahan data sesuai dengan instruksi yang telah didekode. Sinyal kontrol dikirim untuk memicu tindakan spesifik.
- Mengelola Arus Data (Data Flow Management): Control Unit memastikan data mengalir dengan benar antara berbagai komponen, seperti CPU, memori utama, dan perangkat input/output. Ini mencakup pengambilan data dari memori untuk diproses, serta pengiriman hasil kembali ke memori atau perangkat keluaran.
- Sinkronisasi dan Pewaktuan (Synchronization and Timing Control): Control Unit mengatur pewaktuan operasi CPU, memastikan setiap langkah dieksekusi pada waktu yang tepat, sesuai dengan sinyal jam (clock signals) yang mengatur kecepatan operasi CPU.
- Pengendalian Perangkat Input/Output: Control Unit mengontrol bagaimana CPU berinteraksi dengan perangkat eksternal, memastikan data dikirim dan diterima dengan benar melalui perangkat input/output.
- Manajemen Interrupt (Interrupt Handling): Control Unit bertanggung jawab untuk menangani interrupt, yang merupakan sinyal dari perangkat keras atau perangkat lunak yang meminta perhatian CPU. Ketika interrupt terjadi, Control Unit akan menghentikan sementara eksekusi instruksi saat ini untuk menangani proses yang lebih mendesak.
A. Desain Control Unit
Control Unit dapat
dirancang dalam dua bentuk utama:
- Hard Wired:
Desain Hardwired Control Unit menggunakan rangkaian logika
yang terdiri dari gerbang logika, flip-flop, dan rangkaian lainnya untuk
menghasilkan sinyal kontrol secara langsung. Sinyal-sinyal ini mengatur
komponen CPU sesuai dengan instruksi yang diterima. Bentuk Hardwire ini
memiliki kompleksitas dalam pengurutan dan operasi mikronya, sulit didesain dan
dilakukan pengetesan, tidak fleksibel, dan sulit untuk menambahkan instruksi
baru.
- Microprogrammed:
Bentuk ini menggunakan microprogram yang disimpan dalam memori kontrol (control
store) untuk menghasilkan sinyal kontrol. Microprogram terdiri dari serangkaian
instruksi mikro yang dipilih oleh microsequencer. Bit-bit dari microprogram ini
secara langsung mengendalikan berbagai bagian dari CPU. Meskipun
Microprogrammed Control menawarkan fleksibilitas dan kemudahan dalam
modifikasi, proses eksekusinya cenderung lebih lambat karena bergantung pada
akses memori kontrol.
3. Registers
Register adalah komponen
kecil dalam CPU yang berfungsi sebagai tempat penyimpanan sementara untuk data
dan instruksi yang sedang diproses. Registers memiliki kecepatan akses yang
sangat tinggi dibandingkan dengan memori utama, sehingga memungkinkan CPU untuk
melakukan operasi dengan lebih efisien. Register ini terletak di dalam CPU dan
terhubung langsung ke sirkuit logika internal CPU, sehingga memiliki kecepatan
akses yang sangat tinggi.
Register dapat menyimpan data untuk operasi aritmatika, alamat memori, atau instruksi. Contohnya termasuk Program Counter (PC), Instruction Register (IR), dan Accumulator. Register memungkinkan CPU untuk menyimpan data sementara yang diperlukan untuk menjalankan program. Register juga memungkinkan CPU untuk bekerja lebih cepat dan efisien karena mereka memiliki kecepatan akses yang sangat tinggi. Register dapat melakukan beberapa operasi seperti penyimpanan data, memuat data, memindahkan data, operasi aritmatika dan logika, dan penanganan eksepsi.
A. Jenis-jenis Registers:
- General Purpose Registers: Register ini digunakan untuk menyimpan data dan alamat secara umum. CPU dapat memanfaatkan register ini untuk berbagai keperluan sesuai kebutuhan, seperti menyimpan variabel atau hasil sementara dalam proses eksekusi program.
- Special Purpose Registers: Register ini memiliki fungsi yang spesifik, seperti:
- Program Counter (PC): Bertugas menyimpan alamat instruksi berikutnya yang akan dieksekusi oleh CPU.
- Instruction Register (IR):
Berfungsi untuk menyimpan instruksi yang sedang diproses oleh CPU.
- Accumulator (ACC):
Menyimpan hasil sementara dari berbagai operasi aritmatika dan logika yang
dilakukan oleh CPU.
- Stack Pointer (SP): Menunjukkan lokasi saat ini di dalam stack, yang digunakan untuk pengelolaan fungsi dan memori selama proses pemanggilan atau eksekusi fungsi.
B. Keuntungan Menggunakan Registers:
- Kecepatan: Akses data dari registers jauh lebih cepat dibandingkan dengan memori utama karena kedekatannya dengan unit pemrosesan.
- Efisiensi Eksekusi: Mengurangi kebutuhan untuk mengakses memori utama secara berulang, yang dapat meningkatkan kecepatan eksekusi program.
C. Keterbatasan Registers:
Kapasitas Terbatas:
Registers memiliki kapasitas yang sangat terbatas dibandingkan dengan memori
utama, sehingga hanya bisa menyimpan data dalam jumlah kecil.
4. CPU Interconnections
CPU Interconnections merujuk
pada sistem koneksi yang menghubungkan berbagai komponen internal CPU (seperti
ALU, register, dan control unit) dan juga menghubungkan CPU dengan komponen
eksternal lainnya dalam sistem computer. Interkoneksi ini sangat penting untuk
memastikan bahwa data dapat dipindahkan dengan efisien antara CPU, memori, dan
perangkat input/output. Terdapat beberapa aspek penting dari CPU
interconnections, yaitu :
A. Bus Sistem:
Bus adalah jalur komunikasi yang digunakan untuk mentransfer data antara komponen dalam sistem komputer. Terdapat beberapa jenis bus yang umum digunakan:
- Bus Data: Mengangkut data antara CPU dan komponen lainnya. Lebar bus data (jumlah bit yang dapat ditransfer sekaligus) mempengaruhi kecepatan transfer data.
- Bus Alamat (Address Bus): Digunakan untuk menentukan lokasi memori yang akan diakses. Bus alamat mengirimkan alamat dari data yang ingin diambil atau disimpan.
- Bus Kontrol (Control Bus): Mengirimkan sinyal kontrol yang mengatur operasi dari berbagai komponen dalam sistem, seperti sinyal untuk membaca atau menulis data
B. Komponen Internal CPU:
Interkoneksi juga menghubungkan berbagai komponen internal CPU, seperti ALU (Arithmetic Logic Unit), unit kontrol, dan register. Koneksi ini memungkinkan CPU untuk melakukan operasi aritmetika dan logika, serta mengontrol aliran data di dalam CPU.
C. Kecepatan
dan Efisiensi:
Desain interkoneksi yang baik sangat penting untuk meningkatkan kecepatan dan efisiensi CPU. Dengan mengoptimalkan jalur komunikasi, CPU dapat mengurangi latensi dan meningkatkan throughput, yang pada gilirannya meningkatkan kinerja keseluruhan sistem.
D. Interkoneksi
Eksternal:
Selain interkoneksi
internal, CPU juga terhubung dengan komponen eksternal melalui bus sistem. Ini
termasuk koneksi ke memori utama dan perangkat I/O. Interkoneksi ini
memungkinkan CPU untuk berkomunikasi dengan perangkat lain dan mengakses data
yang diperlukan untuk menjalankan program.
Fungsi Central Processing Unit (CPU)
Fungsi CPU pada
dasarnya adalah sebagai pusat pengendalian dan pemrosesan data dalam sistem
komputer. Selain melakukan operasi aritmatika dan logika, CPU juga mengontrol
aliran data di antara komponen internal dan eksternal komputer, memastikan
operasi dapat berjalan sesuai instruksi yang diberikan.
Berikut adalah fungsi CPU
yang lebih detail:
- Eksekusi Instruksi
- Pengolahan Data
- Manajemen Memori
- Koordinasi dengan Perangkat I/O
- Kontrol Sistem
- Optimasi Kinerja
Proses Eksekusi Instruksi
Proses eksekusi instruksi
melibatkan beberapa langkah utama:
- Fetch: Instruksi
diambil dari memori utama dan disimpan dalam register instruksi (IR).
- Decode: Instruksi
di-dekode untuk menentukan jenis operasi yang akan dilakukan.
- Execute: Operasi yang
ditentukan oleh instruksi dilakukan oleh ALU.
- Store: Hasil dari
operasi disimpan kembali ke memori utama atau register
Aksi CPU:
- CPU ↔ Memori (RAM):
CPU bertanggung jawab atas perpindahan data antara dirinya dan memori utama.
Ini termasuk membaca data dari RAM untuk diproses, serta menyimpan hasil
pemrosesan kembali ke RAM.
- CPU ↔ I/O:
CPU mengelola transfer data antara CPU dan perangkat input/output (I/O),
seperti keyboard, mouse, atau printer. Data diambil dari atau dikirim ke
perangkat I/O melalui modul I/O.
- Pengolahan Data:
CPU melakukan operasi aritmatika dan logika pada data yang telah diambil dari
memori atau perangkat I/O melalui ALU (Arithmetic and Logic Unit).
- Kontrol:
CPU menjalankan instruksi yang terkait dengan pengendalian fungsi perangkat
keras atau program, seperti penjadwalan eksekusi atau pengalihan urutan
instruksi.
Jenis Arsitektur Central Processing Unit (CPU)
Arsitektur komputer
adalah ilmu atau seperangkat aturan yang menyatakan bagaimana perangkat lunak
dan perangkat keras komputer bergabung bersama dan berinteraksi untuk membuat
komputer bekerja.
Dalam dunia arsitektur
komputer, terdapat dua jenis arsitektur yang sering dibahas, yaitu RISC
(Reduced Instruction Set Computing) dan CISC (Complex
Instruction Set Computing). Keduanya memiliki karakteristik dan pendekatan
yang berbeda dalam desain instruksi dan pemrosesan data.
1.RISC (Reduced Instruction Set Computing)
RISC adalah arsitektur
CPU yang dirancang dengan filosofi menggunakan instruksi yang sederhana dan
terbatas, yang memungkinkan eksekusi instruksi dalam satu siklus clock. Desain
ini bertujuan meningkatkan kecepatan pemrosesan dan efisiensi.
- Karakteristik:
- RISC dirancang dengan set instruksi yang lebih sederhana dan lebih sedikit. Setiap instruksi biasanya memerlukan waktu eksekusi yang lebih singkat, sehingga memungkinkan pipelining yang lebih efisien.
- Instruksi dalam RISC umumnya memiliki panjang tetap, yang memudahkan decoding dan eksekusi.
- Keuntungan:
- Kecepatan Eksekusi:
Karena instruksi yang lebih sederhana, CPU dapat mengeksekusi instruksi lebih
cepat.
- Pipelining:
RISC mendukung teknik pipelining yang memungkinkan beberapa instruksi
dieksekusi secara bersamaan, meningkatkan throughput.
- Efisiensi Energi:
RISC cenderung lebih efisien dalam penggunaan daya, yang sangat penting untuk
perangkat mobile dan embedded systems.
- Contoh:
- Arsitektur RISC yang terkenal termasuk ARM, MIPS, dan SPARC. Prosesor ini banyak digunakan dalam perangkat mobile dan sistem tertanam.
2. CISC (Complex Instruction Set Computing)
CISC adalah arsitektur
CPU yang menggunakan instruksi kompleks, di mana satu instruksi dapat melakukan
banyak operasi sekaligus, seperti memuat data dari memori, melakukan operasi
aritmatika, dan menyimpannya kembali.
- Karakteristik:
- CISC memiliki set instruksi yang lebih kompleks dan lebih banyak. Instruksi dapat melakukan beberapa operasi dalam satu perintah, yang mengurangi jumlah instruksi yang diperlukan untuk menyelesaikan tugas tertentu.
- Instruksi dalam CISC dapat memiliki panjang yang bervariasi, yang dapat membuat decoding menjadi lebih rumit.
- Keuntungan:
- Kompatibilitas:
CISC sering kali lebih kompatibel dengan perangkat lunak yang lebih tua, karena
banyak instruksi yang tersedia.
- Pengurangan Jumlah Instruksi:
Dengan instruksi yang lebih kompleks, CISC dapat menyelesaikan tugas dengan
lebih sedikit instruksi, yang dapat mengurangi ukuran kode.
- Contoh:
- Contoh arsitektur CISC termasuk x86 (digunakan dalam banyak komputer pribadi) dan IBM System/360. Prosesor ini sering digunakan dalam aplikasi yang memerlukan kompatibilitas dengan perangkat lunak yang ada.
3. Perbandingan RISC dan CISC
- Desain Instruksi:
RISC memiliki instruksi yang lebih sederhana dan lebih sedikit, sedangkan CISC
memiliki instruksi yang lebih kompleks dan lebih banyak.
- Kecepatan Eksekusi:
RISC cenderung lebih cepat dalam eksekusi instruksi karena kesederhanaannya,
sementara CISC mungkin lebih lambat karena kompleksitas instruksinya.
- Pipelining:
RISC lebih baik dalam mendukung pipelining, sedangkan CISC mungkin mengalami
kesulitan dalam hal ini karena variasi panjang instruksi.
Referensi:
Culler, D.
E., & Singh, J. P. (1999). Parallel Computer Architecture: A
Hardware/Software Approach. Morgan Kaufmann.
Erwin, F.,
Feradila, F., Alhaq, F., Fadilah, H., Septianto, R., & Yudhistira. (2022). Arsitektur
Komputer. Jakarta: Universitas Gunadarma.
Flynn, M.
J., & McCoy, T. R. (2015). Computer System Design: System-on-Chip.
John Wiley & Sons.
Gonzalez,
R., & Horowitz, M. (1996). Energy dissipation in general purpose
microprocessors. IEEE Journal of Solid-State Circuits, 31(9), 1277-1284.
Hennessy,
J. L., & Patterson, D. A. (2019). Computer Architecture: A Quantitative
Approach. Morgan Kaufmann.
Ibrahim, R.
N., Zulfa, I., Arifin, N. Y., Dewi, H., Widiyasono, N., Ginting, E. F., &
Nurninawati, E. (2024). Buku Ajar Arsitektur Komputer. Jakarta: PT.
Sonpedia Publishing Indonesia.
Patterson,
D. A., & Hennessy, J. L. (2020). Computer Organization and Design: The
Hardware/Software Interface. Morgan Kaufmann.
Stallings,
W. (2015). Computer Organization and Architecture: Designing for Performance.
Pearson.
Stallings,
W. (2017). Computer Organization and Architecture: Designing for Performance
(11th ed.). Pearson.
Tanenbaum,
A. S., & Austin, T. (2013). Structured Computer Organization.
Pearson.

Komentar
Posting Komentar