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 CircuitBagian 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 CircuitBagian ini melakukan operasi logika seperti bitwise AND, OR, NOT, dan XOR. Selain itu, beberapa ALU juga memiliki komparator untuk melakukan operasi perbandingan.

  • RegistersRegister 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 UnitControl 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
CPU bertanggung jawab atas eksekusi semua instruksi yang diambil dari memori utama. Instruksi-instruksi ini terdiri dari operasi yang melibatkan penanganan data, seperti pengambilan, pemrosesan, dan penyimpanan kembali data. CPU melakukan siklus kerja "fetch-decode-execute", di mana setiap instruksi diambil (fetch), diterjemahkan (decode), dan dijalankan (execute) dalam urutan yang tepat.
  • Pengolahan Data
Salah satu fungsi utama CPU adalah melakukan berbagai operasi aritmatika (seperti penjumlahan, pengurangan, perkalian) dan operasi logika (seperti AND, OR, NOT) pada data yang diterima dari memori atau perangkat input. Operasi ini terjadi di dalam Arithmetic and Logic Unit (ALU), yang merupakan bagian inti dari CPU.
  •  Manajemen Memori
CPU mengatur akses ke memori melalui register, cache, dan RAM. Ini mencakup pengambilan instruksi dari memori, menyimpan data hasil pengolahan kembali ke memori, serta menjaga agar data dan instruksi tetap tersedia dan dapat diakses secara cepat oleh CPU melalui mekanisme caching.
  • Koordinasi dengan Perangkat I/O
CPU juga bertanggung jawab untuk berkomunikasi dengan perangkat input/output (I/O). Data dari perangkat I/O akan diolah oleh CPU dan hasilnya akan dikirim kembali melalui bus I/O untuk ditampilkan pada perangkat output, seperti layar, printer, atau disimpan ke dalam media penyimpanan.
  • Kontrol Sistem
CPU juga mengendalikan operasi keseluruhan sistem komputer. Ini termasuk pengelolaan urutan eksekusi program, pengelolaan sumber daya seperti memori dan perangkat I/O, serta penanganan interupsi dari perangkat keras atau perangkat lunak untuk menjamin semua proses berjalan secara efisien.
  • Optimasi Kinerja
Teknologi CPU modern mengimplementasikan teknik seperti pipelining, hyper-threading, dan eksekusi out-of-order untuk mempercepat eksekusi instruksi, mengurangi waktu tunggu, dan memaksimalkan penggunaan sumber daya.

 

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.

 

Aspek

RISC

CIS

 

Set Instruksi

Instruksi sederhana, sedikit, dan seragam

Instruksi kompleks dan bervariasi

Siklus Instruksi

Setiap instruksi diselesaikan dalam 1 siklus

Beberapa instruksi memerlukan lebih dari 1 siklus

Pipeline

Lebih mudah untuk dioptimalkan

Lebih sulit dioptimalkan karena instruksi kompleks

Desain Hardware

Desain lebih sederhana

Desain lebih kompleks

Penggunaan

Mobile devices (mis. ARM)

Desktop dan server (mis. x86)

 

 

 

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.


 

Mutiara Khairunnisa Zulkifli

231506060

Komentar