Bölüm 1 · Simülasyon

Basit CPU: Getir–Çöz–Çalıştır

← Bölüm 1

Komut: 0 · Adım: 0

Basit CPU: Getir–Çöz–Çalıştır

Amaç: Depolanan program kavramını ve CPU'nun her komutu getir → çöz → çalıştır döngüsüyle nasıl işlediğini adım adım görmek. Program komutları ve veriler aynı bellekte durur (von Neumann mimarisi).

Nasıl kullanılır?

  • Bir örnek program seç. Adım her basışta döngünün bir aşamasını yürütür; Oynat kendiliğinden ilerler, Hız kaydırıcısı süreyi ayarlar. Sona git programı bir anda bitirir; Sıfırla belleği ve yazmaçları baştan yükler.
  • Getir: PC'deki adres adres yoluna çıkar, kontrol yolunda OKU sinyali gider, komut veri yoluyla IR'ye gelir; PC bir artar.
  • Çöz: kontrol birimi IR'deki komutu opcode (işlem kodu) ve adres olarak ayırır.
  • Çalıştır: bellek okunur/yazılır, ALU hesaplar ya da dallanma komutu PC'yi değiştirir.
  • Kendini dene: her “çalıştır” aşamasından önce ACC, bellek ya da PC'nin yeni değerini tahmin edersin; doğru sayısı tutulur.

Yazmaçlar

PC (program sayacı): sıradaki komutun adresi. IR (komut yazmacı): getirilen komut. ACC (akümülatör): hesaplamaların biriktiği yazmaç.

Komut kümesi

KomutOpcodeAnlamı
LOAD a0001ACC ← bellek[a]
ADD a0010ACC ← ACC + bellek[a]
SUB a0100ACC ← ACC − bellek[a]
STORE a0011bellek[a] ← ACC
JMP a0101PC ← a (koşulsuz dallanma)
JZ a0110ACC = 0 ise PC ← a (koşullu dallanma)
HALT0000dur

Kodlar varsayımsaldır: 16 bitlik komutun ilk 4 biti opcode, son 12 biti adrestir (ör. ADD 1005 → 0010 001111101101). HALT, LOAD, ADD, STORE kodları sunumdakiyle aynıdır; SUB, JMP, JZ bu simülasyon için eklenmiştir.

İlgili sunum: Bölüm 1 · Bilgisayarlar (Getir–Çöz–Çalıştır Döngüsü, Veri Yolları, Komutların Kodlanması) ve Bölüm 1 · Donanım.