Bölüm 1: Giriş
Giriş
Öğrenme Çıktıları
Mikroişlemciyi, mikrodenetleyiciyi ve bir bilgisayar sisteminin yollarını tanımlamak.
Getir–çöz–yürüt döngüsünü ve program sayacının (IP/PC) rolünü adım adım izlemek.
Saat frekansı, periyot, CPI ve çalışma süresi arasındaki ilişkiyi hesaplamak.
CISC, RISC, EPIC ile vektör, SIMD, DSP, GPU gibi işlemci türlerini karşılaştırmak.
4004'ten Core i7'ye Intel işlemcilerinin gelişimini ve 8086'nın yerini açıklamak.
Önbellek, çok çekirdek, sanallaştırma ve güç yönetimi gibi kavramları tanımak.
Temel Kavramlar
Mikroişlemci Nedir?
- Bilgisayarın beyni: merkezi işlem biriminin (CPU) tek bir yonga üzerinde gerçeklenmiş hâli.
- Programlanabilir bir aygıttır; ne yapacağını bellekteki komutlar belirler.
- Temel iş akışı:
- girdi alır,
- aritmetik ve mantıksal işlemler yapar,
- istenen çıktıyı üretir.
- Makine dilindeki komutları okur ve uygular.
Temel Kavramlar
Bilgisayar Sistemi ve Yollar (Bus)
Temel Kavramlar
Mikroişlemci ve Mikrodenetleyici
Temel Kavramlar
Mikroişlemci mi, Mikrodenetleyici mi?
| Ölçüt | Mikroişlemci (MPU) | Mikrodenetleyici (MCU) |
|---|---|---|
| İçerik | CPU (ALU, denetim birimi, yazmaçlar) | CPU + RAM + Flash + G/Ç + zamanlayıcı + ADC… |
| Bellek | dışarıda, büyük (GB) | yonga içinde, küçük (KB–MB) |
| Saat hızı | yüksek (GHz) | düşük–orta (MHz) |
| Güç | yüksek (W–100 W) | çok düşük (mW, uyku modunda µW) |
| Maliyet | yüksek; ek yongalar gerekir | düşük; tek yonga yeterli |
| Yazılım | genelde işletim sistemi + çok sayıda uygulama | tek, sabit bir program (gömülü yazılım) |
| Kullanım | PC, sunucu, dizüstü | çamaşır makinesi, kumanda, otomobil ECU, IoT |
Temel Kavramlar
Ana Görevler: Komut Döngüsü
Temel Kavramlar · Adım adım
Komut Döngüsü: MOV AL,5 · ADD AL,3 · HLT
Program belleğe yüklenmiş. IP (8086'da program sayacının adı) ilk komutun adresini, 0100h'yi gösteriyor.
Getir: IP adres yoluna konur, bellekten B0 05 okunur. IP komut uzunluğu (2 bayt) kadar artar → 0102h.
Çöz: denetim birimi B0 işlem kodunu “AL'ye 8 bitlik sabit yükle” olarak çözer; sabit 05h.
Yürüt / sonuç: 05h, AL yazmacına yazılır. MOV bayrakları etkilemez.
Döngü yeniden başlar: 04 03 getirilir, IP → 0104h.
04 = “AL'ye 8 bitlik sabit ekle”. İşlenenler: AL (05h) ve 03h.
ALU toplar: 05h + 03h = 08h → AL. Sonuç sıfır değil (ZF=0), elde yok (CF=0).
F4 = HLT getirilip çözülür; işlemci bir kesme gelene kadar durur. Her komut için aynı döngü tekrarlanır.
Temel Kavramlar
Temel İşlevler
Toplama, çıkarma, karşılaştırma, AND/OR/XOR, kaydırma. ALU (Arithmetic Logic Unit) tarafından yapılır. Yeni işlemciler kayan noktalı sayılarla da çalışır (FPU).
ADD AX, BXCMP AL, 10
AND AL, 0Fh
Veri yazmaçlar, bellek ve G/Ç arasında bir yerden başka bir yere kopyalanır. Programlardaki en sık işlemdir.
MOV AX, [1234h]MOV [BX], AL
IN AL, 60h
Sıradaki komutun adresini tutar. PC'ye yeni değer yazılarak atlanır; koşullu atlamalarla karar verilir. 8086'da adı IP.
JMP etiketJZ sifirsa
CALL alt_program
Temel Kavramlar · Kodu adım adım çalıştır
Kod İzleme: IP Nasıl Değişir?
mov cx, 3 3 bayttır; çalıştıktan sonra IP sıradaki komutu (0103h) gösterir.
Toplam sıfırlanır. IP yine komut uzunluğu kadar ilerler → 0106h.
AX = 0 + 3 = 3. add ax, cx 2 bayttır → IP = 0108h.
loop: CX = CX − 1 = 2 ≠ 0 → atla. IP'ye 0106h yazılır; sıralı akış bozulur.
AX = 3 + 2 = 5.
CX = 1 ≠ 0 → yine 0106h'ye atlanır.
AX = 5 + 1 = 6.
CX = 0 → atlama yok; IP sıradaki komuta (010Ah) geçer.
hlt: işlemci durur. Sonuç AX = 3 + 2 + 1 = 6.
0100 mov cx, 3 ; sayaç = 3 0103 mov ax, 0 ; toplam = 0 0106 dongu: add ax, cx 0108 loop dongu ; CX--, CX≠0 ise atla 010A hlt ; dur
Soldaki sayılar komutların bellek adresleridir (bağıl konum, hex). loop bayrakları değiştirmez.
Mikroişlemci Yapısı
Mikroişlemci Yapısı
Denetim birimi komutları çözer ve diğer birimlere ne zaman ne yapacaklarını söyler; ALU hesaplar; yazmaçlar en hızlı geçici depodur; yol arayüzü dış dünyayla konuşur.
Mikroişlemci Yapısı
Yapı Bileşenleri
Mikroişlemci Yapısı
Saat Sinyali ve Periyot
- Saat frekansı f: saniyedeki vuruş (çevrim) sayısı, Hz.
- Periyot T = 1 / f: bir vuruşun süresi.
- Bir komut, birkaç saat çevrimi sürebilir; 8086'da bir bellek erişimi en az 4 T (T1–T4) sürer.
| f | T = 1/f | 4 T |
|---|---|---|
| 5 MHz (8086) | 200 ns | 800 ns |
| 10 MHz (8086-1) | 100 ns | 400 ns |
| 3 GHz | 0,333 ns | 1,33 ns |
Mikroişlemci Yapısı · Etkileşimli
Hesaplayıcı: Saat Hızı, Periyot ve Çalışma Süresi
CPI değerleri kabaca örnektir: 8086 komutları ortalama ~10 çevrim sürerken modern işlemciler çevrim başına birden çok komut bitirebilir (CPI < 1).
Mikroişlemci Yapısı
16, 32 ve 64 Bitlik İşlemcilerin Saat Hızları
- 8086: 5 · 8 · 10 MHz
- 8088: 5 · 8 MHz
(IBM PC'de 4,77 MHz) - 80186/80188: 6 MHz'den başlayarak
- 80286: 6 · 8 · 10 · 12,5 MHz
- 80386: 16 – 33 MHz
- 80486: 16 – 100 MHz
(DX2/DX4 saat çarpanı) - Pentium: 60 · 66 MHz ile başladı
- Core 2: 1,2 – 3 GHz
- Core i7 (1. nesil): 2,66 – 3,33 GHz
- Core i5 (1. nesil): 2,4 – 3,6 GHz
- Core i3 (1. nesil): 2,93 – 3,33 GHz
Kaynak sunumdaki “8086: 4,7 MHz” ve “i7: 66 GHz” değerleri düzeltildi: 4,77 MHz IBM PC'deki 8088'in saatidir; i7 alt sınırı 2,66 GHz'dir.
Mikroişlemci Yapısı
“n-bit İşlemci” Ne Demek?
İşlemcinin bir seferde işleyebildiği sözcük (word) genişliği: yazmaç ve ALU boyutu, çoğunlukla veri yolu genişliği. n bitle 0 … 2n − 1 aralığı temsil edilir.
| Sözcük | İşaretsiz aralık |
|---|---|
| 8 bit | 0 … 255 |
| 16 bit | 0 … 65.535 |
| 32 bit | 0 … 4.294.967.295 |
| 64 bit | 0 … ≈ 1,8 × 1019 |
Adres yolu genişliği ise erişilebilen bellek miktarını belirler: n hat → 2n bayt.
| Adres yolu | Bellek | Örnek |
|---|---|---|
| 16 bit | 64 KB | 8080, 8085 |
| 20 bit | 1 MB | 8086, 8088 |
| 24 bit | 16 MB | 80286 |
| 32 bit | 4 GB | 80386, 80486 |
| 36 bit | 64 GB | Pentium Pro (PAE) |
İşlemci Türleri
İşlemci Türleri: Genel Bakış
İşlemci Türleri
Karmaşık Komut Kümeli Bilgisayar (CISC)
- Karmaşık işlemleri tek bir komutla yapabilir.
- Bir komut; bellekten yükleme, aritmetik işlem ve belleğe kaydetme gibi birden çok düşük seviyeli işlem içerebilir.
- Komutlarda birden çok adresleme kipi ve doğrudan bellek işlenenleri bulunur.
- Komut uzunlukları değişkendir (8086'da 1–6 bayt); çözme karmaşıktır.
- Görece az sayıda yazmaç kullanır.
- Çoğunlukla mikroprogramlı denetim birimi.
- Intel 8086, 80386, 80486
- Pentium, Pentium Pro, II, III
- Motorola 68000, 68020, 68040
- DEC VAX, IBM System/360
ADD [BX], AX ; bellek = bellek + AX REP MOVSB ; CX bayt kopyala
Tek komut: oku + topla + yaz
İşlemci Türleri
Azaltılmış Komut Kümeli Bilgisayar (RISC)
- Az sayıda, basit ve sabit uzunluklu komut (ör. hepsi 32 bit).
- Optimize komutlar ve boru hattı (pipeline) ile hızlı yürütme.
- Hedef: ideal durumda her saat çevriminde bir komut tamamlamak (CPI ≈ 1).
- Belleğe yalnızca yükle/sakla (load/store) komutları erişir; işlemler yazmaçlar arasında yapılır.
- Bellek erişimini azaltmak için çok sayıda yazmaç (32 ve üzeri).
- Donanımsal (hardwired) denetim birimi; karmaşıklık derleyiciye kayar.
- IBM RS/6000 (POWER)
- Motorola MC88100
- DEC Alpha 21064, 21164, 21264
- MIPS, SPARC
- ARM (telefonlar, Apple M serisi)
- RISC-V (açık kaynak komut kümesi)
Not: Bir komut tek çevrimde tamamlanmaz; birkaç aşamadan geçer. Boru hattı sayesinde her çevrimde bir komut biter (verim/throughput).
İşlemci Türleri · Adım adım
Boru Hattı (Pipeline): Aşamaların Üst Üste Binmesi
Çevrim 1: K1 getirilir (IF). Diğer aşamalar boş.
Çevrim 2: K1 çözülürken (ID) K2 getirilir. İki komut aynı anda farklı aşamalarda.
Çevrim 3: üç komut üç farklı aşamada çalışıyor.
Çevrim 4: dört komut birden boru hattında.
Çevrim 5: boru hattı dolu sayılır; K1 tamamlanır (WB). Bundan sonra her çevrimde bir komut biter.
Çevrim 6: K2 tamamlanır.
Çevrim 7: K3 tamamlanır.
Çevrim 8: K4 tamamlanır. 4 komut k + n − 1 = 5 + 4 − 1 = 8 çevrimde biter; boru hattısız 4 × 5 = 20 çevrim gerekirdi.
Fabrikadaki montaj bandı gibi: her aşama ayrı bir donanım birimidir ve her çevrimde bir sonraki komuta geçer. Bağımlılıklar ve dallanmalar boru hattında bekleme (stall) doğurabilir.
İşlemci Türleri
Aynı İş, İki Yaklaşım
Görev: bellekteki bir sayıya bir yazmacın değerini eklemek (bellek[adr] += x).
CISC (8086)
ADD [BX], AX ; 1 komut ; oku, topla, yaz
- Kod kısa, bellekte az yer kaplar.
- Komut birçok çevrim sürer.
RISC (ARM)
LDR r2, [r1] @ yükle ADD r2, r2, r0 @ topla STR r2, [r1] @ sakla
- 3 basit komut; her biri boru hattında akıcı.
- Değer yazmaçta kalırsa sonraki işlemler belleğe gitmez.
İşlemci Türleri
RISC ve CISC İşlemciler
| Ölçüt | RISC | CISC |
|---|---|---|
| Komut kümesi | az ve basit | geniş ve karmaşık |
| Komut uzunluğu | sabit | değişken |
| Komut başına çevrim | az (≈1, boru hattıyla) | çok (değişken) |
| Bellek erişimi | yalnızca load/store | çoğu komut belleğe erişebilir |
| Yazmaç sayısı | çok | az |
| Program boyutu | daha uzun | daha kısa |
| Güç tüketimi | düşük | görece yüksek |
| Esneklik | yük derleyicide | geniş komut yelpazesi, esnek kullanım |
İşlemci Türleri
Açıkça Paralel Komut İşleme (EPIC)
- Hangi komutların paralel çalışabileceğine donanım değil derleyici karar verir ve bunu koda açıkça yazar.
- Yüksek saat frekansı gerekmeden çok sayıda komut aynı anda yürütülebilir.
- Komutlar 128 bitlik paketler (bundle) hâlinde kodlanır: 41 bitlik üç komut + 5 bitlik şablon.
İşlemci Türleri
Skalar ve Vektör İşleme
Skalar işlemci her komutta tek bir veri öğesini işler; vektör işlemci tek bir komutla tüm bir veri dizisini (vektörü) işler. Komut getirme/çözme ve döngü yükü bir kez ödenir.
İşlemci Türleri
Vektör İşlemcisi (Vector Processor)
- Vektör adı verilen veri dizileri üzerinde matematiksel işlemler yapar.
- Tek bir veri öğesi üzerinde çalışan skalar işlemcilere göre bu tür işlerde çok daha hızlıdır.
- Birden çok veri öğesini aynı anda (ya da derin boru hattında art arda) işler.
- Uzun vektör yazmaçları ve vektör yükle/sakla birimleri vardır.
- Süper bilgisayar, sunucu ve GPU gibi yüksek performanslı sistemlerde kullanılır.
İşlemci Türleri
Dizi İşlemcisi (Array Processor)
- SIMD (Single Instruction, Multiple Data · tek komut, çok veri) olarak da adlandırılır.
- Tek denetim birimi, aynı komutu çok sayıda işlem elemanına (PE) yayınlar; her PE kendi verisini işler.
- Paralel hesaplamalar ve vektör işlemleri için optimize edilmiştir.
- Tek veri öğesiyle çalışan skalar işlemcilerden farklıdır.
- Süper bilgisayar, sunucu ve GPU'larda kullanılır; genel amaçlı hesaplamada nadirdir.
| Flynn sınıflandırması | |
|---|---|
| SISD | tek komut, tek veri (klasik 8086) |
| SIMD | tek komut, çok veri (dizi/vektör, GPU) |
| MISD | çok komut, tek veri (nadir; hata toleransı) |
| MIMD | çok komut, çok veri (çok çekirdek, kümeler) |
İşlemci Türleri
Sayıl (Skalar) İşlemci (Scalar Processor)
- Sayıl (vektör olmayan) veriyi, komut başına bir veri öğesi olarak işler.
- Basit sayıl işlemciler yalnızca tamsayılarla çalışır.
- Güçlü olanlar kayan noktalı sayıları da işler: tamsayı birimi (ALU) ve kayan nokta birimi (FPU) aynı yongadadır.
- CISC ya da RISC mimarisinde olabilir.
- Genel amaçlı hesaplamada en yaygın türdür.
Birden çok boru hattı/yürütme birimiyle bir saat çevriminde birden fazla komut başlatabilen skalar işlemci. İlk x86 örneği: Pentium (U ve V boru hatları).
Kaynak sunumda “birden çok boru hattı, çevrimde birden fazla komut” özellikleri tüm skalar işlemcilere atfedilmişti; bunlar süperskalar işlemcilerin özelliğidir.
İşlemci Türleri
Dijital Sinyal İşlemcisi (DSP)
- Dijital sinyaller üzerinde işlem yapmak için optimize edilmiştir.
- Dijital sinyal: ses, görüntü gibi duyusal bilgileri temsil eden örnek (sample) dizileri.
- Sinyal işlemeye özel komut kümesi ve donanım: tek çevrimde çarp-topla (MAC), dairesel tampon adresleme, sıfır yüklü döngü.
- Uygulamalar:
- ses işleme ve filtreleme
- görüntü işleme ve işaretleme
- telekomünikasyon altyapısı (modem, baz istasyonu)
y[n] = Σ h[k] · x[n − k]
Her çıktı örneği için N çarpma + N toplama. DSP her terimi tek MAC komutuyla yapar:
A ← A + h[k] × x[n−k]Ör: TI TMS320, Analog Devices SHARC
İşlemci Türleri
Sembolik İşlemci (Symbolic Processor)
- Sembolik hesaplama için tasarlanmıştır: sayılar yerine semboller, listeler ve kurallar işlenir.
- PROLOG (ve LISP) işlemcileri olarak da adlandırılır.
- Anlamsal (semantik) hesaplama ve sembolik mantık kuralları üzerine odaklanır.
- Matematiksel ifadeleri ve sembolleri işler; karmaşık ifadeleri sadeleştirebilir, türev alabilir.
- Uzman sistemler (expert systems)
- Makine zekâsı (machine intelligence)
- Kural tabanlı çıkarım
baba(ali, veli).
dede(X, Z) :- baba(X, Y),
baba(Y, Z).Prolog kuralı: sembolik çıkarım
1980'lerin LISP makineleri (Symbolics) ve Japonya'nın 5. Nesil Bilgisayar projesi bu türdendi; bugün bu işler genel amaçlı işlemcilerde yazılımla yapılır.
İşlemci Türleri
Grafik İşlemcisi (GPU)
- 2B ve 3B grafiklerin hızlandırılması için tasarlanmıştır.
- Gerçek zamanlı, yüksek kaliteli grafikler üretir.
- Görüntü oluşturma (render) görevlerinde etkin ve verimlidir: gölgelendirme (shading), dokulama (texturing), rasterleştirme.
- Binlerce basit çekirdek aynı programı farklı piksellerde çalıştırır (SIMD/SIMT).
- Grafik kartı ve hızlandırıcı (accelerator) gibi özel donanımlarda kullanılır.
İşlemci Türleri
İşlemci Türleri: Özet Tablo
| Tür | Temel fikir | Güçlü yanı | Örnek |
|---|---|---|---|
| CISC | zengin, karmaşık komutlar | kısa kod, uyumluluk | 8086, Pentium, 68000 |
| RISC | basit komut + boru hattı | hız, düşük güç | ARM, MIPS, RISC-V |
| EPIC | derleyici paralelliği belirler | komut düzeyi paralellik | IA-64 Itanium |
| Skalar | komut başına bir veri | genel amaçlı | çoğu CPU çekirdeği |
| Vektör | komut başına veri dizisi | bilimsel hesap | Cray-1, AVX |
| Dizi (SIMD) | çok PE, aynı komut | büyük paralellik | ILLIAC IV, GPU |
| DSP | MAC, özel adresleme | gerçek zamanlı sinyal | TMS320, SHARC |
| Sembolik | sembol/kural işleme | yapay zekâ (klasik) | LISP makineleri |
| GPU | binlerce basit çekirdek | grafik, derin öğrenme | NVIDIA, AMD Radeon |
Intel x86 Evrimi
Mikroişlemcilerin Evrimi
Kaynak sunumda transistörün icadı 1948 olarak verilmişti; icat Aralık 1947'dir.
Intel x86 Evrimi
Intel İşlemcileri: Zaman Çizelgesi
Intel x86 Evrimi
4 ve 8 Bitlik Mikroişlemciler
| İşlemci | Yıl | Saat | Transistör | Komut hızı / not |
|---|---|---|---|---|
| 4004 (4-bit) | 1971 | 740 kHz | 2.300 | ≈ 60.000 komut/s; Ted Hoff, Federico Faggin, Stanley Mazor |
| 4040 (4-bit) | 1974 | 740 kHz | ≈ 3.000 | 4004'ün geliştirilmiş sürümü (kesme, daha çok komut) |
| 8008 (8-bit) | 1972 | 500 kHz | 3.500 | ≈ 50.000 komut/s; ilk 8 bitlik |
| 8080 (8-bit) | 1974 | 2 MHz | 6.000 | 8008'in ≈10 katı hız; 16-bit adres (64 KB); ilk kişisel bilgisayarlar (Altair 8800) |
| 8085 (8-bit) | 1976 | 3 MHz | 6.500 | tek +5 V besleme; 16-bit adres yolu; ≈ 769.000 komut/s (en kısa komut 1,3 µs) |
Kaynak tabloda 4004 ve 4040 aynı satırda, Ted Hoff ve Stanley Mazor ile birlikte verilmişti; 4040 1974'te çıkmıştır ve 4004 tasarımında Federico Faggin'in de payı vardır.
Intel x86 Evrimi
16 Bitlik Mikroişlemciler
| İşlemci | Yıl | Saat | Transistör | Özellik |
|---|---|---|---|---|
| 8086 | 1978 | 5 · 8 · 10 MHz | 29.000 | 16-bit veri yolu, 20-bit adres yolu (1 MB); donanımsal çarpma/bölme; ≈ 0,33–0,75 MIPS |
| 8088 | 1979 | 5 · 8 MHz | 29.000 | 8086'nın 8-bit dış veri yollu ucuz sürümü; IBM PC (1981, 4,77 MHz) |
| 80186 / 80188 | 1982 | 6 MHz'den | ≈ 55.000 | yonga üstünde kesme denetleyicisi, saat üreteci, yerel yol denetleyicisi, sayaçlar, DMA; 80188 ucuz (8-bit dış yol) sürüm |
| 80286 | 1982 | 6 – 12,5 MHz | 134.000 | 16-bit veri, 24-bit adres yolu (16 MB); korumalı mod; ≈ 0,9–2,7 MIPS |
Intel x86 Evrimi
32 Bitlik Mikroişlemciler
| İşlemci | Yıl | Saat | Transistör | Özellik |
|---|---|---|---|---|
| 80386 | 1985 | 16 – 33 MHz | 275.000 | 32-bit veri ve adres yolu (4 GB), sayfalama; sürümler: 386DX, 386SX (1988; 16-bit dış veri, 24-bit adres), 386SL (dizüstü) |
| 80486 | 1989 | 16 – 100 MHz | 1,2 milyon | yonga üstü 8 KB önbellek, entegre FPU, 5 aşamalı boru hattı; sürümler: 486DX, 486SX (FPU'suz), DX2, DX4 |
| Pentium | 1993 | 60 · 66 MHz (ilk) | 3,1 milyon | süperskalar (2 boru hattı); ayrı 8 KB komut + 8 KB veri önbelleği; 64-bit dış veri yolu |
Düzeltmeler: kaynak tabloda 80386 ve 80486'nın çıkış yılı 1986 verilmişti (doğrusu 1985 ve 1989); Pentium önbelleği “8 bit” değil 8 KB + 8 KB'dir.
Intel x86 Evrimi
64 Bitlik Mikroişlemciler
| İşlemci | Yıl | Saat | Transistör | Özellik |
|---|---|---|---|---|
| Core 2 | 2006 | 1,2 – 3 GHz | 291 milyon (Duo) | çekirdek başına 64 KB L1 (32 KB komut + 32 KB veri), 2–4 MB paylaşımlı L2; sürümler: Duo, Quad, Extreme |
| Core i7 | 2008 | 2,66 – 3,33 GHz | 731 milyon | 4 çekirdek, Hyper-Threading, entegre bellek denetleyicisi, 8 MB L3 |
| Core i5 | 2009 | 2,4 – 3,6 GHz | — | orta sınıf; Turbo Boost |
| Core i3 | 2010 | 2,93 – 3,33 GHz | — | giriş sınıfı; 2 çekirdek, entegre grafik |
Kaynakta i3, i5, i7 için yıllar 2007, 2009, 2010 sırasıyla verilmişti; doğru sıra i7 (2008), i5 (2009), i3 (2010). Saat aralıkları 1. nesil masaüstü/mobil modellere göredir.
Intel x86 Evrimi
Transistör Sayısı ve Moore Yasası
Intel x86 Evrimi · Temel özellikler
8080 ve 8086
Mikroişlemcilerin yapısı, örgütlenimi ve teknolojisi; ilk genel amaçlı mikroişlemci 8080'den, 29.000 transistörlü 8086'ya ve 820 milyon transistörlü dört çekirdekli Core 2'ye kadar dramatik biçimde değişti.
- İlk genel amaçlı mikroişlemci olarak anılır.
- 8-bit veri yolu, 16-bit adres yolu (64 KB).
- İlk kişisel bilgisayarlarda (Altair 8800) kullanıldı.
- 16-bit veri yolu ve 16 bitlik, daha çok sayıda yazmaç.
- 20-bit adres yolu: 1 MB adreslenebilir bellek.
- Yalnızca gerçek mod (real mode).
- Komutları çalıştırmadan önce önceden getirip (prefetch) 6 baytlık komut kuyruğunda bekletir → getirme ile yürütme üst üste biner.
Düzeltme: 8086'da önbellek (cache) yoktur; hız kazancını komut kuyruğu sağlar. Yonga üstü önbellek x86'da 80486 ile geldi.
Intel x86 Evrimi · Adım adım
Gerçek Mod: 16 Bitle 1 MB Nasıl Adreslenir?
Mantıksal adres 1234h:0010h → kesim (segment) = 1234h, bağıl konum (offset) = 0010h. İkisi de 16 bit.
Kesim 16 ile çarpılır (= 4 bit sola kaydırma): hex olarak sağa bir 0 eklenir → 12340h.
Bağıl konum, sağa hizalanarak altına yazılır: 00010h.
Toplam: 12340h + 00010h = 12350h. 20 bitlik fiziksel adres → 220 = 1 MB adres alanı.
Intel x86 Evrimi · Temel özellikler
80286, 80386 ve 80486
- 16 MB adreslenebilir bellek (24-bit adres).
- Gerçek mod + 16 bitlik korumalı mod (protected mode).
- 16-bit veri yolu ve yazmaçlar.
- Intel'in ilk 32 bitlik mikroişlemcisi.
- Çoklu görevi (multitasking) donanımla destekler.
- 32 bitlik korumalı mod, sayfalama (paging), sanal 8086 modu.
- 4 GB adreslenebilir bellek.
- Yonga üstü önbellek (8 KB) ve komut boru hattı.
- Sayfa yazma koruması (CR0.WP biti).
- Karmaşık aritmetik için entegre matematik işlemcisi (FPU); önceden ayrı 80387 yongasıydı.
Intel x86 Evrimi · Temel özellikler
Pentium ve Pentium Pro
- Süperskalar: iki boru hattıyla (U, V) komutlar paralel çalışabilir.
- Dallanma tahmini (ilk x86).
- Sayfa boyutu uzantısı (PSE): 4 KB'nin yanında 4 MB'lık sayfalar → sayfalamada iyileştirme.
- Ayrı komut ve veri önbellekleri.
- Gelişmiş dallanma tahmini (branch prediction).
- Veri akış analizi (data flow analysis) ile sıra dışı (out-of-order) yürütme.
- Spekülatif yürütme (speculative execution).
- Aynı paket içinde düzey 2 (L2) önbellek.
- PAE: 32 bitlik sanal adres, 36 bitlik fiziksel adrese çevrilir (64 GB).
Pentium Pro'nun bu üç tekniğine birlikte Intel “dinamik yürütme” (dynamic execution) adını verdi.
Intel x86 Evrimi · Temel özellikler
Pentium II, III ve 4
- MMX teknolojisini (multimedya için tamsayı SIMD komutları) Pentium Pro çekirdeğiyle birleştirdi.
- Video, ses ve grafik verisini etkili işler.
- SSE (Streaming SIMD Extensions): 70 yeni komut, kayan noktalı SIMD.
- 3B grafik yazılımını destekler.
- En yüksek saat hızı 1,4 GHz.
- Multimedya için kayan nokta geliştirmeleri (SSE2, sonra SSE3).
- Çok derin boru hattı (NetBurst), 3,8 GHz'e kadar.
- Hyper-Threading.
Düzeltmeler: MMX ilk kez 1997'de “Pentium MMX” ile geldi, Pentium II onu devraldı. Kaynakta “SMD (streaming extensions)” yazan kısaltma SSE'dir.
Intel x86 Evrimi · Temel özellikler
Core ve Core 2
- İki çekirdeği aynı kalıpta (die) birleştiren ilk Intel işlemcisi: iki işlemci tek yongada.
- Sanallaştırma teknolojisi (VT-x) eklendi.
- Düşük güç (mobil kökenli tasarım).
- 64 bitlik mimari (Intel 64).
- 64 bitlik yazmaç kümesi ve adresleme kipleri.
- Core 2 Quad: tek pakette dört çekirdek (iki çift çekirdekli kalıp).
Düzeltme: kaynakta “görüntüleme teknolojisi (visualizing technology)” yazan özellik sanallaştırma (virtualization) teknolojisidir. Intel'in ilk çift çekirdekli masaüstü işlemcisi 2005'teki Pentium D'dir (iki kalıp tek pakette).
Intel x86 Evrimi
x86 Mimarisinin Avantajları
Intel x86 Evrimi
x86 Mimarisinin Dezavantajları
Modern Özellikler · Adım adım
Saat Hızı Tek Başına Performans Değildir
CPU süresi = N × CPI × T = N × CPI / f
Modern Özellikler
Modern İşlemci Özellikleri (1)
Modern Özellikler
Önbellek ve Bellek Hiyerarşisi
Programlar aynı ve yakın veriye tekrar tekrar erişir (yerellik ilkesi). Önbellek bu veriyi yakında tutarak ortalama erişim süresini RAM'inkinin çok altına indirir. Süreler yaklaşıktır.
Modern Özellikler
Modern İşlemci Özellikleri (2)
Özet
Özet
- Mikroişlemci, bellekteki komutları getir–çöz–yürüt döngüsüyle çalıştıran programlanabilir CPU yongasıdır; mikrodenetleyici bellek ve çevre birimlerini de aynı yongada taşır.
- CPU; ALU, denetim birimi, yazmaçlar ve yol arayüzünden oluşur; dış dünyayla adres, veri ve kontrol yollarıyla konuşur.
- Periyot T = 1/f; çalışma süresi = N × CPI / f. Saat hızı tek başına performans ölçüsü değildir.
- CISC zengin komutlar, RISC basit komut + boru hattı, EPIC derleyici güdümlü paralellik sunar; vektör, SIMD, DSP, GPU ve sembolik işlemciler özel işlere yöneliktir.
- Intel 4004 (1971) → 8086 (1978, 16 bit, 1 MB) → 80386 (32 bit) → Core 2 (64 bit): geriye uyumluluk x86'nın en büyük gücüdür.
- Modern işlemciler önbellek, çok çekirdek, sanallaştırma, güç yönetimi ve özel hızlandırıcılarla performans kazanır.
Özet
Alıştırmalar
- 5 MHz'lik bir 8086'da saat periyodu ve 4 T'lik bir yol çevriminin süresi nedir?
- 24 bitlik adres yolu kaç bayt belleği adresleyebilir? Hangi işlemcide vardır?
- Gerçek modda
A000h:1234hve2000h:FFFFhmantıksal adreslerinin fiziksel karşılıkları nedir? - 5 aşamalı bir boru hattında 100 komut kaç çevrimde biter? Boru hattısız kaç çevrim gerekir?
- N = 2 × 109 komutluk bir program CPI = 1,5 olan 3 GHz'lik işlemcide kaç saniye sürer?
- Çamaşır makinesi kontrol kartı ve dizüstü bilgisayar için mikroişlemci mi mikrodenetleyici mi seçilir? Neden?
- EPIC paketinde 128 bit nasıl paylaştırılır?
İpuçları / cevaplar
- T = 1 / 5 MHz = 200 ns; 4 T = 800 ns.
- 224 = 16.777.216 bayt = 16 MB; 80286.
- A0000h + 1234h = A1234h; 20000h + FFFFh = 2FFFFh.
- k + n − 1 = 5 + 99 = 104 çevrim; boru hattısız 5 × 100 = 500 çevrim (≈ 4,8 kat hızlanma).
- 2 × 109 × 1,5 / (3 × 109) = 1 s.
- Çamaşır makinesi: mikrodenetleyici (ucuz, düşük güç, tek iş). Dizüstü: mikroişlemci (yüksek performans, büyük bellek, işletim sistemi).
- 41 bitlik üç komut (123 bit) + 5 bitlik şablon = 128 bit.
Özet
Kaynaklar
- Tanenbaum ve Bos, Modern Operating Systems, 3. baskı, Pearson.
- Brey, The Intel Microprocessors: 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium …, 8. baskı, Pearson.
- Stallings, Computer Organization and Architecture, 10. baskı, Pearson.
- Patterson ve Hennessy, Computer Organization and Design: The Hardware/Software Interface, Morgan Kaufmann.
- Intel Corporation, 8086 16-Bit HMOS Microprocessor veri sayfası ve Intel 64 and IA-32 Architectures Software Developer's Manual.