2. adım
Bilgisayar Mimarisi / Bilgisayar Organizasyonu
Yazdığın kodun işlemcide gerçekte nasıl çalıştığı: bitler, komutlar, bellek ve önbellek. İşletim sistemlerini anlamanın ön şartı.
Önce bunları bilProgramlamaya Giriş
- Sayı sistemleri
- Mantık kapıları
- Assembly
- İşlemci ve boru hattı
- Bellek hiyerarşisi
- Önbellek
- Kesmeler
Neden önemli
Yüksek seviyeli dillerde bilgisayarı kara kutu gibi kullanırsın. Bu ders kutuyu açar: bir toplama işlemi kaç komut, bir dizi neden bağlı listeden hızlı, program neden bellekte taşınca çöküyor. İşletim sistemleri ve gömülü sistemler bu derse dayanır.
Bilmen gerekenler
- İkili, onaltılık sayılar; tamsayıların ve ondalıklı sayıların bitlerle gösterimi.
- Mantık kapıları ve basit devrelerle toplayıcı, çoklayıcı kurmak.
- Bir komut kümesi ve assembly: yazmaçlar, yığın, fonksiyon çağrısı.
- İşlemcinin komutu nasıl çalıştırdığı; boru hattı (pipeline) fikri.
- Bellek hiyerarşisi: yazmaç, önbellek, RAM, disk ve aralarındaki hız farkı.
- Önbelleğin çalışması ve neden ardışık erişimin hızlı olduğu.
- Kesmeler (interrupt) ve giriş/çıkış.
Alıştırma ve proje
- Basit bir C fonksiyonunu derleyip assembly çıktısına bak (godbolt.org).
- Logisim ile küçük bir ALU ya da sayaç devresi kur.
- Bir diziyi satır satır ve sütun sütun dolaşan iki döngünün süresini karşılaştır; önbelleği kendi gözünle gör.
Sık yapılan hatalar
- Assembly'yi ezberlemeye çalışmak; amacı yazmak değil, okuyup anlamak.
- Dersi donanımcıların işi sanmak; performans sorunlarının çoğu buradaki konulardan çıkar.