Arsitektur komputer dipelajari di jalur ini dengan cara yang paling langsung, yaitu membangun komputernya sendiri mulai dari gerbang logika hingga CPU yang benar-benar menjalankan program. Perjalanan menaiki satu tangga abstraksi: aljabar boolean, ALU, register, memori, set instruksi RISC-V, datapath CPU, lalu mesin milik pemrogram berupa cache, memori virtual, dan performa. Semua eksperimen berjalan pada laptop masing-masing melalui simulator berbasis Python dan C, tanpa penyolderan maupun perangkat keras tambahan. Prasyarat lingkungan hanya Python 3.10+, GCC, dan terminal.
Arsitektur Komputer
Dari gerbang logika menuju CPU RISC-V yang disimulasikan sendiri, lalu cache, memori virtual, dan performa perangkat keras modern dari sisi pemrogram.
0/0 selesai
Modul pembuka yang menetapkan tujuan jalur, tangga abstraksi yang akan dinaiki, dan perangkat simulasi yang dipakai.
- Mengapa Membangun KomputerManfaat menaiki lapisan abstraksi komputer sendiri dan hal yang disembunyikan oleh tiap lapisan.
- Tangga di DepanPeta jenjang dari gerbang logika menuju ALU, CPU, ISA, hingga sistem operasi yang akan dinaiki sepanjang jalur.
- AlatPilihan simulator HDL, assembler, dan emulator RISC-V yang dipakai untuk seluruh proyek jalur ini.
Matematika boolean, gerbang dasar, deskripsi perangkat keras dalam HDL, serta bus multi-bit sebagai balok penyusun chip.
- Aljabar BooleanMatematika yang berada di bawah setiap chip: operasi dasar, hukum penyederhanaan, dan notasi yang dipakai sepanjang jalur.
- Gerbang DasarAND, OR, NOT, dan XOR sebagai balok penyusun, didefinisikan dari tabel kebenaran hingga perilakunya.
- Gerbang Majemuk dalam HDLMenulis Not, Mux, dan DMux dalam HDL sebagai cara mendeskripsikan perangkat keras dengan teks.
- Bus dan Lebar BitGerbang multi-bit, konvensi bus, dan cara lebar bit menentukan kemampuan sebuah jalur data.
Perangkat penjumlah biner, representasi bilangan bertanda komplemen dua, dan perancangan ALU lengkap dengan status flag.
- AdderPerangkat penjumlah biner dari half adder, full adder, hingga ripple carry dan biaya kecepatannya.
- Bilangan BertandaRepresentasi komplemen dua dan bit tanda beserta alasan bentuk itu dipilih hampir semua prosesor.
- ALUMerancang ALU: daftar operasinya, mekanisme pemilihan operasi, dan status flag yang dihasilkannya.
Dari rangkaian kombinasional ke sekuensial: clock, flip-flop, register, RAM, dan program counter yang mengurutkan jalannya program.
- Clock dan Flip-FlopPerpindahan dari rangkaian kombinasional ke sekuensial melalui clock, D flip-flop, dan tepi naik.
- RegisterRegister sebagai penyimpanan multi-bit yang menahan nilainya sampai tepi clock berikutnya.
- RAMMemori sebagai larik register yang berbagi clock yang sama, lengkap dengan jalur alamat, chip select, dan waktu aksesnya.
- Program CounterRegister khusus yang mengurutkan jalannya program sendiri dengan incremen dan pemuatan ulang alamat.
ISA sebagai kontrak perangkat keras dan perangkat lunak, beserta assembly RISC-V: register, pengalamatan, perulangan, dan fungsi.
- Apa itu ISA ?ISA sebagai kontrak antara perangkat keras dan perangkat lunak beserta apa saja yang diikatnya.
- Register dan Instruksi RISC-VSet inti RV32I: 32 register umum, format instruksi, dan simulator kecil yang dipakai sepanjang modul.
- Mode PengalamatanCara operand ditemukan: immediate, register, dan akses memori dengan offset pada RISC-V.
- Sesi Assembly PertamaMenulis dan menjalankan program RISC-V pertama: perulangan, percabangan, dan struktur kondisional.
- Sesi Assembly KeduaFungsi, stack, dan calling convention RISC-V beserta isi frame saat panggilan terjadi.
Datapath siklus tunggal, sinyal kontrol, siklus fetch-decode-execute, lalu pipelining, hazard, dan prediksi cabang.
- Datapath Siklus TunggalJalur kabel yang menjalankan fetch, decode, dan execute dalam satu komponen utuh dan satu clock.
- Sinyal KontrolSinyal kontrol yang mengarahkan mux, ALU, dan register file pada setiap instruksi.
- Fetch-Decode-ExecuteSiklus kerja CPU langkah demi langkah dari pengambilan instruksi hingga penulisan hasilnya.
- Pipelining dan HazardCara pipeline menaikkan throughput, tiga jenis hazard yang mengganggunya, dan cara masing-masing diredakan.
- Prediksi Cabang dan SpekulasiMengapa pipeline membutuhkan prediksi cabang, cara predictor bekerja, dan biaya salah prediksi.
Bagaimana pernyataan C menjadi instruksi mesin, tata letak memori program C, dan pointer dilihat dari sudut pandang prosesor.
- Bagaimana C DikompilasiPerjalanan pernyataan C menjadi instruksi mesin melalui keluaran compiler yang diperiksa langsung.
- Tata Letak MemoriTempat setiap unsur program C berada: text, data, bss, heap, dan stack beserta arah pertumbuhan masing-masing.
- Pointer pada Tingkat MesinAlamat, dereference, dan aritmetika pointer dilihat sebagai instruksi load dan store prosesor.
Angka latensi, anatomi cache, simulasi tingkat miss, kode yang ramah cache, dan memori virtual dengan page table serta TLB.
- Angka LatensiOrde besar waktu akses register, cache, memori utama, dan disk yang seharusnya diketahui setiap pemrogram.
- Anatomi CacheLine, set, asosiativitas, dan miss: cara cache membagi alamat dan memilih tempat penyimpanan.
- Simulasi CacheMengukur tingkat miss dengan simulator cache sederhana untuk beberapa pola akses yang berbeda.
- Kode yang Ramah CachePenelusuran row-major, tata letak struktur, dan keputusan pemrograman yang menurunkan jumlah miss.
- Memori VirtualPage, page table, dan TLB: cara prosesor menerjemahkan alamat virtual menjadi alamat fisik.
Hukum Amdahl, paralelisme tingkat instruksi, makna sesungguhnya dari memori bersama multicore, dan dasar SIMD.
- Matematika SpeedupHukum Amdahl sebagai penghitung kecepatan maksimal dan pembatasnya terhadap intuisi.
- Paralelisme Tingkat InstruksiPipeline, superscalar, dan out-of-order secara konseptual: cara satu prosesor menjalankan banyak instruksi sekaligus.
- Multicore dan Model MemoriArti sebenarnya dari memori bersama: visibilitas penulisan antarinti, cache koheren, dan sinkronisasi.
- Pengenalan SIMDLane vektor dan paralelisme data: satu instruksi yang memproses banyak nilai dalam waktu yang sama.
Tur perbandingan x86-64 dan RISC-V, GPU serta akselerator khusus, dan keamanan perangkat keras pasca-Spectre.
- x86-64 vs RISC-VTur berpemandu dua ISA besar, bukan perang: sejarah, gaya encoding, dan konsekuensinya bagi pemrogram.
- GPU sebagai AkseleratorRibuan lane untuk masalah yang tepat: arsitektur GPU, model pemrogramannya, dan batasannya.
- Akselerator KhususNPU, TPU, dan array systolic: mengapa chip khusus mengalahkan CPU untuk beban kerja tertentu.
- Keamanan Perangkat KerasIsu kelas Spectre: cara spekulasi membocorkan data dan bentuk mitigasi yang menyertainya.
Memilih opsi proyek, mendokumentasikan trade-off rancangan, membangun bertahap dengan titik pemeriksaan, dan menjalankan validasi akhir.
- Opsi ProyekMemperluas CPU yang sudah dibangun atau menulis emulator lengkap: cakupan, alat, dan kriteria pilihan.
- Trade-off RancanganMendokumentasikan keputusan rancangan secara jujur beserta alternatif yang ditolak dan alasannya.
- Membangun dengan Titik PemeriksaanMembangun bertahap dengan setiap tahap diuji terhadap program nyata sebelum maju.
- ValidasiProgram validasi yang memberi beban penuh pada setiap fitur dan menandai jalur proyek sebagai selesai.