Bölüm 1: Giriş
Çoktan Seçmeli · Temel Kavramlar
Soru 1: Mikroişlemci mi, Mikrodenetleyici mi?
Bir mikroişlemciyi (ör. 8086) bir mikrodenetleyiciden (ör. 8051) ayıran özellik hangisidir?
A: Mikroişlemci yalnızca ALU, kontrol birimi ve yazmaçlardan oluşan CPU yongasıdır; RAM, ROM ve çevre birimleri sistem yolu üzerinden dışarıdan eklenir. Diğer üç seçenek mikrodenetleyicinin özellikleridir: CPU, bellek, zamanlayıcı ve G/Ç tek yongadadır, tek bir işe adanır ve az enerji harcar.
Çoktan Seçmeli · Temel Kavramlar
Soru 2: Bilgi Nerede Olmalı?
Mikroişlemcinin bir komutu getirip yürütebilmesi için o komutun nerede bulunması gerekir?
C: CPU yalnızca adres yolunun ulaşabildiği ana bellekten komut ve veri getirebilir. Diskteki bir program önce yükleyici tarafından ana belleğe yerleştirilir. Program sayacı komutu değil, komutun adresini tutar; bayrak yazmacı son işlemin sonucuyla ilgili durum bitlerini tutar.
Çoktan Seçmeli · Temel Kavramlar
Soru 3: İşlem Kodu Getirme
Bir işlem kodu (opcode) bellekten getirilirken aşağıdaki yazmaçlardan hangisi kullanılmaz?
D: Getirme aşamasında adresi program sayacı verir; adres, bellek adres yazmacı üzerinden adres yoluna çıkar ve gelen bayt bellek veri yazmacı üzerinden komut yazmacına (8086'da önden getirme kuyruğuna) gider. Bayraklar yürütmenin sonucunu tutar; getirme sırasında rol almaz.
Adım Adım Çalıştırma · Temel Kavramlar
Soru 4: IP Nasıl Değişir?
Program 0100h adresinden başlıyor. Her komuttan sonra IP, BX, CX ve ZF ne olur? HLT'ye kadar kaç komut yürütülür?
Program 0100h'de. Getirme her zaman IP'nin gösterdiği bayttan başlar: BB = "BX'e 16 bitlik sabit yükle".
BB 00 00 getirildi (3 bayt) → IP = 0103h. BX = 0. MOV bayrakları değiştirmez.
B9 02 00 → CX = 2, IP = 0106h.
01 CB = ADD BX, CX: BX = 0 + 2 = 2. Komut 2 bayt → IP = 0108h.
49 = DEC CX: CX = 1, sonuç sıfır değil → ZF = 0. Tek baytlık komut → IP = 0109h.
JNZ: ZF = 0 → atla. FB = −5; sıradaki adres 010Bh − 5 = 0106h IP'ye yazılır.
BX = 2 + 1 = 3, IP = 0108h.
CX = 0 → ZF = 1.
ZF = 1 → atlama yok; IP sıradaki komutu, 010Bh'yi gösterir.
F4 = HLT: işlemci durur. Toplam 9 komut yürütüldü; sonuç BX = 3, CX = 0.
org 100h mov bx, 0 ; BB 00 00 mov cx, 2 ; B9 02 00 dongu: add bx, cx ; 01 CB dec cx ; 49 jnz dongu ; 75 FB hlt ; F4
Hesap Sorusu · Temel Kavramlar
Soru 5: Bitler ve Adresler
Aşağıdakileri hesaplayın.
- 8 bitlik bir işlem kodu alanıyla en çok kaç farklı işlem kodu tanımlanabilir?
- 16 hatlı adres yolu kaç bayt belleği adresler? 24 hatlı olan?
- 1 MB belleğin her baytını adreslemek için kaç adres hattı gerekir?
- 16 bitlik bir yazmaç hangi işaretsiz aralığı tutar?
- Veri yolu 8 bit olan basit bir işlemci 3 baytlık bir komutu getirirken program sayacını kaç kez adres yoluna koyar?
Cevabı göster
- 28 = 256 farklı bit deseni.
- 216 = 65 536 bayt = 64 KB (8080, 8085); 224 = 16 MB (80286).
- 1 MB = 220 bayt → 20 hat (8086).
- 0 … 216 − 1 = 0 … 65 535 (FFFFh).
- 3 kez: her okuma bir bayt getirir, program sayacı her seferinde 1 artar. Getirme sayısı komutun uzunluğuna bağlıdır.
Kısa Cevap · Temel Kavramlar
Soru 6: Hangi Yonga Seçilir?
Aşağıdaki sistemlerin her biri için mikroişlemci (MPU) mi, mikrodenetleyici (MCU) mi seçilir? Kısaca gerekçelendirin.
- Akıllı oda termostatı
- Oyun bilgisayarı
- Otomobil anahtarındaki uzaktan kumanda
- Veri merkezindeki sunucu
Cevabı göster
| Sistem | Seçim | Gerekçe |
|---|---|---|
| Termostat | MCU | tek iş, sensör + röle, düşük güç |
| Oyun bilgisayarı | MPU | yüksek başarım, GB'larca RAM, işletim sistemi |
| Uzaktan kumanda | MCU | pil ömrü, ucuz tek yonga, sabit program |
| Sunucu | MPU | çok çekirdek, büyük bellek, çok sayıda uygulama |
Ölçüt: işin tek ve sabit olması, maliyet ve güç MCU'yu; büyük bellek, yüksek saat hızı ve genel amaçlı yazılım MPU'yu öne çıkarır.
Çoktan Seçmeli · Mikroişlemci Yapısı
Soru 7: Komut, Yol ve Saat Döngüsü
Komut döngüsü, yol (makine) döngüsü ve saat turu arasındaki ilişki için hangisi doğrudur?
B: Komut döngüsü getir → çöz → yürüt aşamalarıdır; bu sırada komut baytları ve işlenenler için bir ya da daha çok yol döngüsü gerekir. 8086'da her yol döngüsü T1–T4 olmak üzere en az 4 saat turu sürer; yavaş bellek için araya bekleme durumları eklenir.
Hesap Sorusu · Mikroişlemci Yapısı
Soru 8: Saat Hızı ve Çalışma Süresi
8086-2 işlemcisi 8 MHz saatle çalışıyor. Bir program 3 × 106 komut yürütüyor ve komut başına ortalama 10 saat turu (CPI = 10) harcıyor.
- Saat periyodu T kaç ns'dir?
- Bekleme durumu olmayan bir yol döngüsü (4 T) kaç ns sürer?
- Program kaç saniyede biter?
- İşlemcinin hızı kaç MIPS'tir?
Cevabı göster
- T = 1 / f = 1 / (8 × 106) s = 125 ns.
- 4 × 125 = 500 ns.
- Süre = N × CPI / f = 3 × 106 × 10 / (8 × 106) = 3,75 s.
- f / CPI = 8 × 106 / 10 = 0,8 × 106 komut/s = 0,8 MIPS.
Saat hızı saniyedeki tur sayısıdır; komut hızını CPI ile birlikte belirler.
Adım Adım Çalıştırma · İşlemci Türleri
Soru 9: Boru Hattı İzleme
Dört aşamalı (G getir, Ç çöz, Y yürüt, S sonucu yaz) bir boru hattında, aralarında bağımlılık olmayan 6 komut çalışıyor. Son komut hangi turda biter? Boru hattısız kaç tur gerekirdi? 100 komut için ne olur?
Tur 1: K1 getirilir (G). Diğer aşamalar boş.
Tur 2: K1 çözülürken (Ç) K2 getirilir.
Tur 4: boru hattı doldu; dört aşamanın hepsi çalışıyor ve K1 biter (S).
Doluyken her turda bir komut biter: tur 5'te K2, tur 6'da K3.
K6 tur 9'da biter: k + n − 1 = 4 + 6 − 1 = 9. Boru hattısız 4 × 6 = 24 tur gerekirdi; hızlanma 24 / 9 ≈ 2,67. 100 komut: 4 + 99 = 103 tur, boru hattısız 400 (≈ 3,9 kat); n büyüdükçe hızlanma k = 4 değerine yaklaşır.
k = 4 ; G, Ç, Y, S aşamaları n = 6 ; komut sayısı her turda: her komut bir aşama ilerler yeni komut G aşamasına girer bitiş = k + n − 1 boru hattısız = k × n
Çoktan Seçmeli · İşlemci Türleri
Soru 10: İşlemci Türleri
Aşağıdaki işlemci türü – özellik eşleştirmelerinden hangisi doğrudur?
D: EPIC (IA-64, Itanium) komutları 128 bitlik paketler hâlinde kodlar; hangi komutların birlikte yürütüleceğine derleyici karar verir. CISC ile RISC'in özellikleri yer değiştirmiştir: değişken uzunluk ve bellek işlenenli komutlar CISC'e (8086), sabit uzunluk ve yükle/sakla mimarisi RISC'e (ARM) aittir. Dizinin tamamını tek komutla işleyen vektör işlemcisidir.
Çoktan Seçmeli · İşlemci Türleri
Soru 11: Çarp-Topla Komutu
Bir ses süzgecinde her çıktı örneği için y[n] = Σ h[k] · x[n − k] hesaplanıyor. Her terimi tek turda çarp-topla (MAC) komutuyla yapan, dairesel tampon adreslemesi olan işlemci türü hangisidir?
B: DSP'ler (TI TMS320, SHARC) sinyal işlemeye özel donanım taşır: tek turda MAC, dairesel tampon adreslemesi ve sıfır yüklü döngü. GPU binlerce basit çekirdekle piksel paralelliğine, sembolik işlemciler kural ve sembol işlemeye yöneliktir; EPIC ise genel amaçlı bir komut kümesi yaklaşımıdır.
Kod Yazma · İşlemci Türleri
Soru 12: Aynı İş Yükle/Sakla ile
8086'da aşağıdaki iki komut, DI'nin gösterdiği sözcüğe SI'nın gösterdiği sözcüğü ekler. Aynı işi yükle/sakla mimarili bir RISC işlemcide (ARM sözdizimi; r1 = SI'daki adres, r2 = DI'deki adres) yazın. İki çözümde kaç komut ve kaç veri belleği erişimi vardır?
MOV AX, [SI] ADD [DI], AX
Cevabı göster
LDR r3, [r1] @ kaynak sözcük LDR r4, [r2] @ hedef sözcük ADD r4, r4, r3 @ topla STR r4, [r2] @ hedefe yaz
| Komut | Veri erişimi | |
|---|---|---|
| 8086 (CISC) | 2 | 3 (oku, oku, yaz) |
| RISC | 4 | 3 (LDR, LDR, STR) |
Bellek erişimi azalmaz; değişen, işin kaç komuta bölündüğüdür. ADD [DI], AX tek komutta oku-topla-yaz yapar; RISC'te ALU yalnızca yazmaçlarla çalışır, her komut basit ve boru hattına uygundur.
Çoktan Seçmeli · Intel x86 Evrimi
Soru 13: 8086 ile 8088
IBM PC'de (1981) kullanılan 8088'i 8086'dan ayıran fark hangisidir?
A: 8088, 8086'nın ucuz sürümüdür: iç yapısı ve komut kümesi aynıdır, adres yolu yine 20 bittir (1 MB), ama dış veri yolu 8 bit olduğundan bir sözcüğü iki yol döngüsünde aktarır ve önden getirme kuyruğu 4 bayttır. Korumalı mod ve 16 MB, 80286 ile gelmiştir.
Adım Adım Çalıştırma · Intel x86 Evrimi
Soru 14: Gerçek Modda Sarma
Gerçek modda FFFFh:0020h mantıksal adresi 8086'da hangi fiziksel adrese karşılık gelir? A20 hattı açık bir 80286'da ne değişir?
Mantıksal adres FFFFh:0020h. İki parça da 16 bit, yani 4 onaltılık basamak.
× 10h = sağa bir 0 eklemek: taban FFFF0h. Kesim tabanı hep 16'nın katıdır.
FFFF0h + 00020h = 100010h: toplam 21 bit oldu, 1 MB'ı (FFFFFh) aştı.
8086'da A20 hattı yoktur: en üst bit düşer, adres 00010h'ye sarar. A20 hattı açık bir 80286 ise 100010h'ye, 1 MB'ın hemen üstüne erişir.
kesim = 0FFFFh
bağıl = 0020h
taban = kesim × 10h
fa = taban + bağıl
fa = fa AND 0FFFFFh ; 20 hatHesap Sorusu · Modern Özellikler
Soru 15: Hangisi Daha Hızlı?
Aynı program iki işlemcide 6 × 109 komut yürütüyor.
| İşlemci | Saat | CPI |
|---|---|---|
| A | 3 GHz | 1,5 |
| B | 2 GHz | 0,8 |
- Her biri programı kaç saniyede bitirir? Hangisi kaç kat hızlıdır?
- A'nın B ile aynı sürede bitirmesi için CPI'si kaç olmalıdır?
Cevabı göster
- Süre = N × CPI / f.
A: 6 × 109 × 1,5 / (3 × 109) = 3 s.
B: 6 × 109 × 0,8 / (2 × 109) = 2,4 s.
Saati düşük olan B, 3 / 2,4 = 1,25 kat hızlıdır. - 2,4 = 6 × 109 × CPI / (3 × 109) → CPI = 1,2.
Saat hızı tek başına başarım ölçüsü değildir; boru hattı, önbellek ve süperskalar yapı CPI'yı düşürür.
Çoktan Seçmeli · Modern Özellikler
Soru 16: Önbellek Neden İşe Yarar?
Küçük bir önbellek, kendisinden çok daha büyük olan RAM'in ortalama erişim süresini nasıl düşürebilir?
C: Yerellik ilkesi: bir döngünün komutları ve bir dizinin komşu elemanları kısa aralıklarla yeniden kullanılır. Önbellek bu küçük çalışma kümesini işlemcinin yanında tutar; erişimlerin çoğu önbellekte bulunduğu için ortalama süre RAM'inkinin çok altına iner. Önbellek veriyi sıkıştırmaz ve RAM'i hızlandırmaz.