ARSITEKTUR KOMPUTER LANJUTAN - Hafizh Hilman Asyhari 202331206 TUGAS 04-08-2025

ARSITEKTUR KOMPUTER LANJUTAN


Nama : Hafizh Hilman Asyhari

NIM : 202331206

Kelas : A

Mata Kuliah : Organisasi dan Arsitektur Komputer

Prodi : S1 Teknik Informatika

Tanggal 04 Agustus 2025

Sesi : Minggu ke 6

Halo, Sobat Teknologi! 👋
Pernahkah kamu bertanya-tanya, “Sebenarnya, apa sih yang ada di dalam otak komputer itu?” 🤔
Yap, yang dimaksud adalah CPU — si jantung dan otak dari setiap perangkat pintar yang kita gunakan.
Di blog ini, kita akan membongkar rahasia Arsitektur Komputer Lanjutan, mulai dari komponen CPU, siklus instruksi, hingga bagaimana komputer bisa memahami perintah kita. Siap? Yuk, kita mulai! 🚀


A. KOMPONEN CPU

Register, penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi yang digunakan untuk menyimpan data dan instruksi yang sedang diproses 

MBR (Memory Buffer Register), Untuk menampung data yang akan ditulis ke memori yang alamatnya ditunjuk MAR 

Input Output AR (I/O Address Register), Untuk mencatat alamat port I/O yang akan diakses(ditulisi/ dibaca).


B. SIKLUS INSTRUKSI
Program yang ada di memori komputer terdiri dari sederetan instruksi. Setiap instruksi dieksekusi melalui suatu siklus. Setiap siklus instruksi terdiri dari tahap-tahap :
Instruction fetch, yaitu mengambil instruksi dari memori dan mentransfernya ke unit kontrol.
Decode (mengartikan) instruksi dan menentukan apa yang harus dikerjakan serta data apa yang digunakan.
Baca alamat efektif, jika instruksi beralamat indirect. 
PC  ( Program Counter) akan menambah satu hitungan setiap kali CPU membaca instruksi
Instruksi-instruksi yang dibaca akan dibuat dalam register instruksi (IR)



KOMPUTER SISTEM TERDIRI DARI SUBSISTEM-SUBSISTEM
Hardware (perangkat keras), Input/Output Device (I/O Device), Storage Device (perangkat penyimpanan), Monitor /Screen, Casing Unit, Central Procesing Unit (CPU). 

Software (perangkat lunak), Sistem Operasi, Program Aplikasi, Program Paket, Bahasa Pemrograman

Brainware (User), pemakai komputer,seperti Sistem analis, Programmer, Operator, user bagian EDP (Electronic Data Processing) dll




1.  Harddisk menyimpan data dan program yg bersifat  permanen. 

2. RAM mengcopy data/program dari harddisk untuk diproses oleh CPUDari RAM, data atau program yang akan diolah oleh CPU tidak semua langsung diproses CPU tetapi dicopy ke cache memori untuk mengatasi kesenjangan kecepatan CPU-memori 

3. CPU melakukan komunikasi dengan modul I/O untuk menerima input atau menampilkan output dari proses yang dihasilkan. Output akan ditampilkan di  komponen komponen output.

Processor (CPU)
A. KOMPONEN CPU
Register, penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi yang digunakan untuk menyimpan data dan instruksi yang sedang diproses 
MBR (Memory Buffer Register), Untuk menampung data yang akan ditulis ke memori yang alamatnya ditunjuk MAR 
Input Output AR (I/O Address Register), Untuk mencatat alamat port I/O yang akan diakses(ditulisi/ dibaca).

B. SIKLUS INSTRUKSI
Program yang ada di memori komputer terdiri dari sederetan instruksi. Setiap instruksi dieksekusi melalui suatu siklus. Setiap siklus instruksi terdiri dari tahap-tahap :

I/O BR (I/O Buffer Register), Untuk menampung data yang akan dituliskan ke port yang alamatnya ditunjuk oleh I/O AR 

Register untuk eksekusi instruksi
PC (Program Counter), Mencatat alamat memori dimana instruksi di dalamnya akan dieksekusi
IR (Instruction Register),Menampung instruksi yang akan dilaksanakan
AC (Accumulator), Menyimpan data sementara baik data yang sedang diproses atau hasil proses. 


Control Unit,  Bertugas mengatur dan mengendalikan semua peralatan yang ada di sistem komputer: 
alat-alat input dan output
mengambil instruksi-instruksi dari memori utama
mengambil data dari memori utama untuk diproses
mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU
mengirim hasil proses ke memori utama untuk disimpan dan pada saatnya disajikan ke alat output.  

ALU (Aritmatik dan Logic Unit), Tugas utama adalah melakukan semua perhitungan aritmatika dan melakukan keputusan dari suatu operasi logika.  


I/O Interconection
    Input-Output (I/O) Interconection merupakan sistem koneksi yang menghubungkan antar komponen internal dalam sebuah CPU, yaitu ALU, unit kontrol, dan register serta menghubungkan CPU dengan bus-bus eksternal diluar CPU. 

C. INTERUPSI,   
berfungsi sbg  mekanisme penghentian atau pengalihan pengolahan instruksi dalam  CPU kepada routine interupsi.    Tujuan  secara umum untuk manajemen pengeksekusian routine instruksi agar efektif.  dan efisien antar CPU dan modul-modul I/O maupun memori.    Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan dg kendali pada CPU dan kecepatan eksekusi  modul berbeda dan sebagai sinkronisasi kerja antar modul.


Dalam CPU terdapat sinyal-sinyal interupsi sebagai berikut :
Program Interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi  program, contoh  aritmatika overflow, pembagian nol, operasi
Timer Interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler

I/O  Sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi.

Hardware failure Interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori. 

2005 – Intel Pentium D (820, 830, 840)
Intel meluncurkan Pentium D 800 series—model 820 (2,8 GHz), 830 (3,0 GHz), dan 840 (3,2 GHz)—pada 26 Mei 2005, berbasis arsitektur NetBurst Smithfield (90 nm) dengan dua inti (dual‑core) dan cache L2 sebesar 1 MB per inti
Model Presler (seri 900) dirilis awal 2006, memakai proses 65 nm dan cache L2 2 × 2 MB

2006 – Intel Core 2 Quad & Core 2 Duo
Pada 27 Juli 2006, Intel memperkenalkan keluarga Core 2, menggantikan Pentium sebagai produk unggulan. Meliputi varian Core 2 Duo (dual-core) dan Core 2 Quad (quad-core), diproduksi dengan proses 65 nm, clock hingga ~3,3 GHz, dengan cache L2 sekitar 4 MB total
Contoh: Core 2 Quad Q6600 diluncurkan awal 2007, populer digunakan di PC bisnis dan gaming

2010–2011 – Core i3, i5, i7 dengan Hyper-Threading
Core i3 muncul 7 Januari 2010, biasanya berinti 2 core dengan dukungan Hyper-Threading (2 core → 4 thread)
Core i5 diperkenalkan 8 September 2009, umumnya 4 core tanpa Hyper‑Threading, tetapi mendukung Turbo Boost dan 8 MB cache L3
Core i7 debut akhir 2008 (Nehalem), varian quad-core atau lebih, mendukung Hyper‑Threading (4 core → 8 thread) dan L3 cache hingga 12 MB
Model Sandy Bridge (2011) memperluas line-up Quad-Core i3, i5, i7; mendukung multitasking yang lebih efisien karena Hyper-Threading dan Turbo Boost

2017 – Intel Core i9
Core i9 diperkenalkan sebagai lini tertinggi di tahun 2017, dirancang untuk performa ekstrem. Tersedia mulai dari 6 core hingga 18 core, dengan L3 cache antara 12–24 MB, clock dasar sekitar 2,9 GHz dan turbo hingga 5 GHz

KLASIFIKASI SYSTEM PARALEL COMPUTER

1. SISD (Single Instruction, Single Data) – Uniprocessor dengan Arsitektur Von Neumann
1.1. Konsep Dasar
SISD adalah model komputasi paling sederhana: satu aliran instruksi dieksekusi pada satu set data pada satu waktu. Hanya ada satu prosesor yang mengambil instruksi dari memori, mendekode, dan mengeksekusinya terhadap satu elemen data atau satu kata data. Ini sesuai dengan arsitektur Von Neumann klasik, di mana instruksi dan data berada dalam satu memori bersama dan diproses secara serial.

1.2. Arsitektur Von Neumann
Dalam arsitektur Von Neumann, CPU (dengan unit kontrol, ALU, register, program counter, dsb.) mengambil instruksi dari memori, membaca data yang diperlukan, memprosesnya, lalu menulis kembali hasilnya. Karena instruksi dan data berbagi jalur (bus) yang sama antara CPU dan memori, muncul yang disebut Von Neumann bottleneck—yaitu keterbatasan throughput karena CPU harus menunggu data/instruksi lewat satu saluran yang sama, membatasi performa meskipun CPU bisa sangat cepat.

1.3. Contoh Sistem SISD Klasik
Beberapa mesin sejarah yang mengikuti model ini:
  • UNIVAC I – salah satu komputer komersial awal, memproses instruksi secara serial.
  • IBM System/360 – arsitektur mainframe dengan eksekusi instruksi sekuensial.
  • CDC 7600 – meski terkenal cepat untuk zamannya, masih berbasis eksekusi instruksi seri (dengan beberapa teknik pipelining dan overlapped).
  • Cray-1 – superkomputer yang menggabungkan vektor (jadi ada aspek SIMD di internalnya), tetapi dasarnya eksekusi instruksi terhadap data satu per satu.
  • PDP-1 – komputer interaktif awal dengan model eksekusi tradisional.

1.4. Model Pemrograman
Program untuk sistem SISD ditulis secara imperatif: satu instruksi diikuti satu instruksi, misalnya loop yang mengeksekusi operasi pada setiap elemen array secara berurutan. Contoh pseudocode untuk menjumlahkan semua elemen array A:
sum = 0
for i = 0 to N-1:
    sum = sum + A[i]


Hanya satu operasi tambah dilakukan pada satu waktu.

1.5. Optimasi dalam SISD
Karena eksekusi serial ini, ada teknik untuk mempercepat, misalnya:

  • Pipelining: memecah eksekusi instruksi menjadi tahap (fetch, decode, execute, writeback) sehingga beberapa instruksi “tumpang tindih” dalam siklus yang berbeda.
  • Cache: mengurangi latensi memori dengan menyimpan data/instruksi yang sering dipakai di memori cepat.
  • Branch prediction: memperkirakan percabangan agar pipeline tidak berhenti.

Namun tetap saja semua ini terjadi dalam satu aliran instruksi terhadap satu data pada suatu waktu.

2. SIMD (Single Instruction, Multiple Data)
2.1. Konsep Dasar
SIMD adalah model paralel data: satu instruksi dieksekusi secara serentak terhadap beberapa data berbeda. Ini cocok ketika operasi yang sama harus dilakukan berulang-ulang terhadap banyak elemen, seperti penjumlahan vektor, pemrosesan gambar, atau pencarian pola. Dalam implementasi hardware nyata, bisa berupa:

Unit vektor di CPU modern (contoh: SSE, AVX pada Intel)

GPU yang secara internal menjalankan operasi SIMD di banyak lane

Array prosesor / multiple cores di mana instruksi yang sama didistribusikan ke setiap unit dengan subset data masing-masing

Model ini memanfaatkan data-level parallelism.

2.2. Contoh Kasus: Mencari Angka 27 dalam Deretan 100 Angka dengan 5 Prosesor
Masalah: Diberikan array 100 elemen, cari apakah angka 27 ada di dalamnya.
Pendekatan SIMD dengan 5 prosesor:
  • Bagi array menjadi 5 segmen masing-masing 20 elemen.
  • Kelima prosesor menjalankan instruksi "cek apakah elemen == 27" secara bersamaan pada segmen mereka.
  • Setelah pengecekan, hasil (misal bendera ditemukan atau tidak) digabungkan untuk menentukan apakah ada minimal satu kecocokan.
Pseudocode tinggi (logika paralel):

Input: array A[0..99]
Target = 27
SegmentSize = 20

parallel for p = 0 to 4:  // 5 prosesor
    start = p * SegmentSize
    end = start + SegmentSize - 1
    found_p = false
    for i = start to end:
        if A[i] == Target:
            found_p = true
            break
// Setelah parallel region, gabungkan:
if any(found_0..found_4) == true:
    output "27 ditemukan"
else:
    output "27 tidak ada"

Catatan: "parallel for" menunjukkan bahwa kelima prosesor menjalankan loop internal mereka bersamaan, memakai instruksi yang semantik-nya sama (perbandingan) tapi atas data berbeda.

2.3. Simple Programming Model & Low Overhead
SIMD sering punya model pemrograman yang relatif sederhana karena:
  • Satu instruksi ditulis sekali (misal: compare_vector_with_value(27)), namun mengeksekusinya terhadap banyak elemen sekaligus.
  • Overhead sinkronisasi minimal dalam kasus data independen (setiap lane/prosesor bekerja sendiri kecuali pada penggabungan hasil akhir).
  • Tidak perlu dispatch instruksi berbeda per elemen—cukup satu instruksi vektor.

2.4. Implementasi Nyata
  • CPU vector extensions (SSE, AVX): misal, bandingkan 8 angka sekaligus dengan 27 dalam satu instruksi, menghasilkan bitmask dari elemen yang cocok.
  • GPU kernels: ribuan thread menjalankan instruksi yang sama pada subset data berbeda.
  • Multiprocessor cluster sederhana: tiap node/prosesor punya bagian array dan menjalankan kode yang identik.

2.5. Penggabungan Hasil dan Sinkronisasi
Setelah tiap prosesor/vektor menyelesaikan tugasnya, perlu fase reduction: mengumpulkan hasil lokal (misal flag found) dan menentukan hasil global. Ini bisa sederhana (OR dari semua flag) dan umumnya cepat dibanding komputasi utama.

2.6. Kelebihan SIMD dibanding SISD dalam Kasus Ini
  • Kecepatan: lima prosesor yang bekerja bersamaan bisa (ideal) mempercepat hingga ~5x dibanding satu prosesor yang memeriksa 100 elemen serial.
  • Efisiensi instruksi: satu instruksi vektor bisa memproses banyak data sekaligus.
  • Skalabilitas pada tugas data-paralel (semakin banyak data, bisa ditambah lane/prosesor).

2.7. Keterbatasan / Tantangan
  • Pembagian data: harus bisa membagi data secara independen; data dependency (misal operasi yang tergantung pada hasil sebelumnya) tidak cocok.
  • Edge case (remainder): jika jumlah data tidak habis dibagi jumlah lane, perlu logika tambahan untuk sisa (misal 103 elemen dengan 5 prosesor → 3 elemen extra).
  • Penggabungan hasil: meskipun biasanya ringan, tetap perlu mekanisme reduction yang benar.
  • Masking & Divergence: dalam beberapa implementasi (misal GPU), jika path eksekusi berbeda antar elemen, efisiensi bisa menurun.

Aspek SISD SIMD
Instruksi Satu instruksi untuk satu data Satu instruksi untuk banyak data
Prosesor Satu unit (serial) Banyak lane/core menjalankan instruksi yang sama
Paralelisme Tidak (kecuali pipelining dan superscalar) Data-level parallelism eksplisit
Overhead pembagian Minimal (tidak ada) Perlu pembagian data dan reduction
Cocok untuk Algoritma sekuensial / kontrol kompleks Operasi berulang pada elemen independen (vektor, matriks, pencarian)
Contoh Loop biasa menjumlahkan array Bandingkan/operasi matematika vektor, pencarian paralel

4. Analogi untuk Mempermudah
  • SISD seperti satu tukang kayu yang memotong satu papan, satu per satu, mengikuti instruksi langkah demi langkah.
  • SIMD seperti satu instruksi “potong semua papan panjang 2 meter” yang dijalankan secara bersamaan oleh lima tukang di lima meja berbeda—semua memotong papan berbeda tapi dengan instruksi yang sama.

5. Perhitungan Kecepatan Kasar (Contoh)
Misal satu pemeriksaan elemen (A[i] == 27) di SISD butuh 1 unit waktu:
  • Serial: 100 elemen → 100 waktu.
  • SIMD dengan 5 prosesor (ideal, pembagian merata, tidak ada overhead): ~100 / 5 = 20 waktu → speedup teoritis 5×.

Kalau ada overhead gabungan (misal 2 waktu) dan pembagian tidak sempurna:
  • Total ≈ 20 (komputasi) + 2 (reduction) = 22 → speedup ≈ 100 / 22 ≈ 4.5×.

Kalau dipaksa dalam konteks Amdahl’s Law, bagian non-paralel (reduction, pembagian) membatasi speedup maksimum.

6. Contoh Implementasi Sederhana (Pseudo-paralel)
Misal dalam bahasa tingkat tinggi yang mendukung paralelisme:
def parallel_search(array, target, num_workers):
    segment_size = len(array) // num_workers
    found_flags = [False] * num_workers

    # Bagian paralel (simulasi)
    for p in range(num_workers):  # seharusnya parallel
        start = p * segment_size
        end = start + segment_size if p != num_workers-1 else len(array)
        for i in range(start, end):
            if array[i] == target:
                found_flags[p] = True
                break

    return any(found_flags)


Dalam implementasi nyata, for p in ... dijalankan secara concurrent (misalnya thread, GPU kernel, atau vector instruction), bukan satu-per-satu.


2.8. Contoh Komputer dengan Model SIMD
Beberapa sistem yang pernah atau masih menggunakan arsitektur SIMD antara lain:

1. ILLIAC IV
  • Dikembangkan oleh University of Illinois di akhir 1960-an.
  • Memiliki 64 prosesor yang berjalan paralel, cocok untuk komputasi sains besar seperti simulasi numerik.
  • Salah satu pionir superkomputer SIMD, walau terkenal karena keterlambatan dan biaya tinggi.

2. MasPar MP-1 & MP-2
  • Dirilis awal 1990-an, memiliki hingga 16.384 unit pemroses kecil (processing elements) yang bisa dieksekusi serentak.
  • Cocok untuk pemrosesan citra, analisis data besar, dan simulasi fisika.

3. Cray X-MP & Cray Y-MP
  • Superkomputer vektor yang memanfaatkan teknik SIMD untuk operasi pada vektor panjang.
  • Cray X-MP muncul di 1982, sedangkan Y-MP di 1988 dengan performa lebih tinggi.

4. Thinking Machines CM-2
  • Superkomputer dengan ribuan prosesor sederhana yang menjalankan instruksi sama terhadap data berbeda.
  • Banyak digunakan di bidang penelitian AI awal dan pemrosesan citra.

5. Cell Processor
  • Digunakan di PlayStation 3, menggabungkan prosesor umum (PPE) dengan beberapa Synergistic Processing Elements (SPE) yang bekerja SIMD.
  • Desain hybrid yang sangat efisien untuk tugas grafis dan fisika real-time.

6. GPU Modern (misal NVIDIA, AMD Radeon)
  • Menjalankan ribuan “thread” dengan model eksekusi SIMD/SIMT (Single Instruction, Multiple Threads).
  • Cocok untuk deep learning, rendering grafis, dan komputasi ilmiah masif.

3. MISD (Multiple Instruction, Single Data)
3.1. Konsep Dasar
  • Multiple Instruction, Single Data berarti ada banyak prosesor yang mengambil data sama, namun masing-masing mengeksekusi instruksi berbeda terhadap data tersebut.
  • Model ini sangat jarang digunakan dalam komputer komersial karena sebagian besar aplikasi memerlukan data berbeda untuk instruksi berbeda.
  • Biasanya ditemukan di sistem stream processing atau fault-tolerant computing.

3.2. Aplikasi Nyata
Fault tolerance: Beberapa prosesor menjalankan algoritma berbeda pada data yang sama, lalu hasil dibandingkan untuk mendeteksi kesalahan (misalnya dalam sistem pesawat terbang atau reaktor nuklir).

Pemrosesan sinyal: Data mentah (misalnya gelombang suara) dikirim ke beberapa prosesor yang masing-masing menjalankan filter atau algoritma berbeda untuk analisis berbeda.

3.3. Karakteristik
  • Satu sumber data → dikirim ke semua prosesor.
  • Instruksi tiap prosesor bisa sangat berbeda.
  • Tidak umum untuk tujuan komputasi umum (general-purpose computing).

3.4. Contoh Implementasi
  • Sistem kontrol avionik pada pesawat tempur: sensor memberikan data ke berbagai modul, yang masing-masing melakukan analisis berbeda (deteksi ancaman, navigasi, kontrol penerbangan).
  • Beberapa prototipe sistem berbasis pipeline processing di superkomputer eksperimen.

4. MIMD (Multiple Instruction, Multiple Data)
4.1. Konsep Dasar
  • Multiple Instruction, Multiple Data adalah model di mana setiap prosesor mengeksekusi instruksi berbeda pada data berbeda.
  • Ini adalah model paling fleksibel dan paling banyak digunakan di komputer modern multi-core atau sistem terdistribusi.

4.2. Arsitektur MIMD
  • Shared Memory MIMD: Semua prosesor berbagi ruang memori yang sama. Contoh: server multi-core modern.
  • Distributed Memory MIMD: Tiap prosesor punya memori sendiri dan komunikasi melalui jaringan. Contoh: superkomputer cluster.

4.3. Keunggulan
  • Cocok untuk task parallelism (tugas berbeda bisa dijalankan di prosesor berbeda).
  • Sangat fleksibel—bisa meniru model SISD, SIMD, atau MISD tergantung kebutuhan.
  • Digunakan pada komputer sehari-hari (laptop multi-core), server cloud, hingga superkomputer HPC.

4.4. Contoh Sistem MIMD
  • IBM POWER5 – prosesor multi-core dengan simultaneous multithreading.
  • HP/Compaq AlphaServer – server dengan prosesor Alpha yang mendukung multiprocessing.
  • Intel IA-32 – arsitektur x86 umum (misalnya Core i7, Xeon) yang mendukung multi-thread dan multi-core.
  • AMD Opteron – prosesor server yang mendukung MIMD dengan memori terdistribusi.
  • Cray XT3 – superkomputer berbasis prosesor AMD, setiap node jalankan instruksi/data berbeda.
  • IBM Blue Gene/L – superkomputer dengan puluhan ribu prosesor, masing-masing bekerja pada bagian data dan instruksi berbeda.

4.5. Contoh Kasus
  • Misalnya sistem simulasi cuaca:
  • Prosesor A memodelkan suhu udara.
  • Prosesor B memodelkan kelembapan.
  • Prosesor C menghitung pergerakan angin.
  • Semua prosesor bekerja bersamaan, tetapi dengan instruksi dan data yang berbeda, lalu hasilnya digabungkan untuk membuat prediksi cuaca.

ADVANCED COMPUTER ARCHITECTURE

    Arsitektur komputer tingkat lanjut (Advanced Computer Architecture) membahas perkembangan desain sistem komputer yang lebih kompleks dari model dasar (SISD, SIMD, MISD, MIMD) untuk memenuhi tuntutan performa modern. Di sini, fokusnya adalah pada cara memanfaatkan lebih banyak unit pemroses—baik berupa core dalam satu chip, maupun banyak CPU dalam satu sistem—serta bagaimana memori dikelola dalam sistem multiprosesor.

1. Multicore Computers

1.1. Konsep

  • Multicore adalah prosesor tunggal (single physical CPU chip) yang di dalamnya memiliki lebih dari satu core (inti pemrosesan).

  • Setiap core berfungsi layaknya prosesor independen yang bisa menjalankan instruksi secara paralel.

  • Dibuat untuk meningkatkan performa tanpa menaikkan clock speed (karena peningkatan clock speed berisiko panas berlebih dan konsumsi daya tinggi).

1.2. Alasan Munculnya Multicore

  • Batasan fisik clock speed (sekitar 4-5 GHz pada CPU modern) membuat peningkatan kecepatan linear tidak efisien.

  • Solusi: menambah jumlah core, sehingga lebih banyak instruksi dapat diproses secara bersamaan (parallel processing).

1.3. Contoh Implementasi

  • Intel Core i3, i5, i7, i9: 2–24 core tergantung seri.

  • AMD Ryzen: dari 4 hingga 96 core di seri server (EPYC).

  • Apple M1/M2/M3: System-on-Chip dengan core CPU, GPU, dan AI accelerator.

1.4. Kelebihan

  • Kinerja tinggi untuk aplikasi multi-threaded.

  • Efisiensi daya lebih baik dibandingkan meningkatkan clock speed tunggal.

2. Multiprocessor Computers

2.1. Konsep

  • Multiprocessor adalah komputer dengan lebih dari satu CPU fisik.

  • Dapat dikombinasikan dengan multicore, sehingga dalam satu sistem bisa terdapat banyak CPU dan masing-masing CPU punya beberapa core.

2.2. Contoh

  • Server 4-way atau 8-way dengan CPU multicore, misalnya server database besar atau render farm.

  • Superkomputer yang memiliki ratusan hingga ribuan CPU.

2.3. Kelebihan

  • Skalabilitas tinggi untuk beban kerja masif.

  • Cocok untuk komputasi ilmiah, AI training berskala besar, dan layanan cloud.

3. UMA (Uniform Memory Access)

3.1. Konsep

  • Semua prosesor berbagi memori fisik yang sama dengan waktu akses yang seragam (uniform).

  • Disebut juga Tightly Coupled Multiprocessor atau Symmetric Multiprocessor (SMP).

  • Setiap prosesor bisa mengakses memori apa pun dengan kecepatan sama.

3.2. Contoh

  • Balance system

  • VAX 8800 dari Digital Equipment Corporation.

3.3. Kelebihan

  • Model pemrograman lebih sederhana karena memori dibagi rata.

  • Efektif untuk aplikasi shared-memory.

3.4. Kekurangan

  • Bottleneck jika banyak prosesor mengakses memori bersamaan.

  • Tidak cocok untuk skala sangat besar (ratusan prosesor).

4. NUMA (Non-Uniform Memory Access)

4.1. Konsep

  • Memori dibagi menjadi beberapa “node” yang dekat dengan prosesor tertentu.

  • Prosesor mengakses memori lokal lebih cepat dibanding memori milik node lain (remote memory).

  • Mengurangi bottleneck memori pada sistem multiprosesor besar.

4.2. Contoh

  • HP AlphaServer

  • IBM NUMA-Q

4.3. Kelebihan

  • Skalabilitas lebih baik daripada UMA untuk sistem besar.

  • Akses memori lokal sangat cepat.

4.4. Kekurangan

  • Pemrograman lebih rumit, harus mempertimbangkan lokasi data (data locality).

  • Performa turun jika sering mengakses memori remote.

5. NORMA (No Remote Memory Access)

5.1. Konsep

  • Tidak ada memori bersama; setiap prosesor punya memori sendiri yang tidak bisa diakses langsung oleh prosesor lain.

  • Komunikasi antar prosesor hanya lewat jaringan atau pertukaran pesan (message passing).

  • Sering disebut Distributed System atau Loosely Coupled System.

5.2. Contoh

  • Hypercube system dari Intel.

  • Beberapa superkomputer berbasis cluster seperti Beowulf.

5.3. Kelebihan

  • Skalabilitas sangat tinggi.

  • Tidak ada bottleneck memori terpusat.

5.4. Kekurangan

  • Pemrograman kompleks (harus mengatur komunikasi manual).

  • Latensi komunikasi lebih tinggi dibanding sistem memori bersama.


Sistem Bus pada Arsitektur Komputer – Penghubung Jiwa Mesin


1. Pengantar Lagi: Apa Itu Bus dan Kenapa Penting?
Seperti jalan raya dalam kota besar, bus di komputer adalah jalur komunikasi yang memungkinkan berbagai subsistem—CPU, memori, perangkat input/output—bertukar informasi. Tanpa bus, komponen tidak bisa “ngobrol”: data tidak bergerak, instruksi tidak terkirim, dan seluruh sistem akan buntu.

Bus tidak hanya satu kabel; secara logika ia adalah sekumpulan sinyal (saluran) yang terbagi dalam tiga kategori utama:
  • Address bus (mengindikasikan lokasi memori/perangkat),
  • Data bus (mengangkut data aktual),
  • Control bus (mengatur siapa boleh bicara kapan, sinyal baca/tulis, interupsi, dsb.).

2. Struktur dan Komponen Sistem Bus
2.1. Address Bus
Menyampaikan alamat memori atau perangkat I/O yang ingin diakses.
Lebar address bus (misalnya 32-bit vs 64-bit) menentukan ruang alamat maksimum: 32-bit → 4 GB, 64-bit → astronomis.
Hanya satu arah: dari CPU ke memori/perangkat (CPU “menunjuk” ke mana ia ingin baca/tulis).

2.2. Data Bus
  • Membawa data yang dibaca dari memori atau ditulis ke memori.
  • Bersifat dua arah (read/write).
  • Lebar (width) menentukan berapa banyak bit sekaligus bisa dipindahkan: 8, 16, 32, 64 bit, dst. Lebih lebar = throughput tinggi.

2.3. Control Bus
  • Mengangkut sinyal seperti: Read, Write, Clock, Interrupt, Bus Request, Bus Grant, Memory/IO select.
  • Koordinasi: siapa yang sedang menggunakan bus, apakah data valid, apakah operasi sedang berlangsung.

3. Operasi Dasar Bus dan Timing
Bus bekerja sinkron terhadap clock (pada bus sinkron) atau kadang asinkron. Setiap transfer—misalnya CPU membaca dari memori—melibatkan urutan:
  • CPU meletakkan alamat di address bus.
  • Mengemisi sinyal kontrol “read”.
  • Memori menyiapkan data dan menaruhnya di data bus.
  • CPU membaca data.
Kecepatan bus ditentukan oleh:
  • Clock rate: berapa banyak siklus per detik (MHz/GHz).
  • Cycle per transfer: bisa satu atau lebih siklus untuk menyelesaikan transfer penuh.
  • Width: berapa bit per transfer.

4. Evolusi Bus: Dari ISA ke PCI dan Seterusnya
4.1. ISA (Industry Standard Architecture)
  • Diperkenalkan pada era PC awal (IBM PC).
  • Lebar awal 8-bit (4.77 MHz), lalu 16-bit (sekitar 8 MHz).
  • Lambat, tanpa plug-and-play otomatis, latensi tinggi, dan berbagi interrupt secara manual.
  • Contoh: kartu suara atau modem era 1990-an memakai bus ISA.

4.2. PCI (Peripheral Component Interconnect)
  • Diperkenalkan Intel sebagai peningkatan; awalnya 32-bit pada 33 MHz, kemudian berkembang ke 64-bit dan clock lebih tinggi.
  • Mendukung bus mastering: perangkat bisa meminta kontrol bus dan berkomunikasi langsung dengan memori tanpa CPU menengahi.
  • Plug-and-play, auto-configuration, multiple devices bisa dihubungkan di satu bus secara terstruktur (slot)
  • PCI mengurangi bottleneck dibanding ISA dengan throughput lebih tinggi dan manajemen perangkat yang lebih canggih.

4.3. PCI Express (PCIe) – Lompatan ke Serial dan Point-to-Point
  • Menggantikan PCI paralel dengan serial point-to-point link.
  • Setiap “lane” adalah duplex (dua arah) dan dapat digabung (x1, x4, x16) untuk bandwidth tinggi.
  • Skalabilitas: tiap perangkat punya jalur dedicated, tidak bersaing dengan perangkat lain di satu bus tunggal.
Contoh: GPU modern menggunakan PCIe x16 untuk transfer data besar.

5. Topologi dan Arbitration
5.1. Topologi Bus
  • Single shared bus: semua perangkat terhubung di satu jalur fisik (typical di ISA/PCI klasik).
  • Hierarchical / bridged bus: ada jembatan (bridge) antar segmen (misal PCI → PCIe bridge) untuk memperluas dan mengisolasi lalu lintas.

5.2. Bus Arbitration
Karena banyak komponen bisa ingin memakai bus bersamaan (misalnya dua perangkat ingin transfer ke memori), diperlukan mekanisme arbitration:
  • Centralized arbitration: satu pengendali (arbiter) memutuskan siapa mendapat akses.
  • Distributed arbitration: perangkat bernegosiasi sendiri sesuai protokol.
  • Sinyal seperti Bus Request (BRQ) dan Bus Grant (BG) dipakai agar perangkat bisa minta dan mendapat hak memakai bus.

6. Bus Mastering & Direct Memory Access (DMA)
  • Bus mastering memungkinkan perangkat (misal NIC, disk controller) mengendalikan bus sendiri untuk membaca/menulis memori langsung tanpa beban CPU.
  • DMA adalah bentuk spesifik; perangkat minta akses, transfer data langsung ke/ dari memori, lalu memberi tahu CPU saat selesai.
  • Ini meningkatkan efisiensi CPU karena tidak terjebak menunggu transfer selesai.

7. Kesulitan: Bus Contention, Bottleneck, dan Cache Coherency
7.1. Bus Contention
Terjadi ketika banyak perangkat bersaing, menghasilkan antrian dan melambatnya throughput. Mekanisme arbitration dan bandwidth planning diperlukan untuk mitigasi.

7.2. Bottleneck Von Neumann
Bus menjadi jalan sempit ketika CPU sangat cepat tapi harus menunggu data lewat bus—isu yang sama muncul di sistem multiprocessor jika memori bersama diakses banyak prosesor.

7.3. Cache Coherency (pada multiprocessor/SMP)
Kalau tiap CPU punya cache sendiri, data yang sama bisa berbeda (stale). Protokol seperti MESI menjaga konsistensi: jika satu core mengubah data, core lain tahu dan memperbarui atau invalidasi cache-nya.

8. Tipe Bus Lain yang Terkait
8.1. Front-Side Bus (FSB)
  • Di arsitektur Intel lama, FSB menghubungkan CPU dengan memory controller (dan chipset utamanya).
  • Lebar dan kecepatan FSB memengaruhi bandwidth antara CPU dan RAM.
  • Digantikan di desain modern dengan integrated memory controller (misal di AMD) atau interkoneksi point-to-point (Intel QuickPath Interconnect).
8.2. Memory Bus
  • Khusus untuk CPU ↔ RAM.
  • Sering kali memiliki jalur tersendiri, lebih cepat, dan teroptimasi untuk latensi rendah.
8.3. I/O Bus
Untuk perangkat eksternal: contoh modern selain PCIe termasuk USB, Thunderbolt, dsb. Masing-masing punya protokol dan topologi sendiri.

9. Sinkronisasi: Sinkron vs Asinkron
  • Sinkron: transfer diikat ke clock global; semua peserta mengikuti siklus waktu yang sama.
  • Asinkron: tidak bergantung clock tunggal; perangkat menandai siap dan transfer terjadi saat siap, cocok untuk sistem heterogen dan kecepatan variatif.

10. Kesimpulan & Implikasi dalam Desain
Sistem bus adalah tulang punggung komunikasi internal komputer. Seiring kebutuhan performa meningkat, arsitek mengembangkan:
  • Lebar & kecepatan bus (lebih banyak bit, clock lebih tinggi),
  • Topologi pintar (bridge, point-to-point),
  • Protokol manajemen (arbitration, cache coherency),
  • Desain terpisah (NUMA, PCIe) untuk skala besar tanpa bottleneck terpusat.
Desain sistem modern menggabungkan banyak tren ini: multicore dengan cache lokal, interkoneksi point-to-point (menghindari shared bus bottleneck), DMA untuk efisiensi, dan protokol konsistensi untuk integritas data.



Komentar