Intel 8086

8086 (ayrıca iAPX86 de denir) Intel tarafından geliştirilmiş, x86 mimarisi 'nin gelişmesine yol açan 16-bit mimarisinde bir mikroişlemci yongasıdır. Intel tarafından 8086 tasarımının geliştirmesine 1976 yılı baharında başlanmış ve 1978 yılı yaz aylarında ilk çip piyasaya sürülmüştür. 1979 yılında piyasaya sürülen Intel 8088, daha ucuz ve az sayıda çevre birimi kullanımına olanak veren, ayrıca IBM PC tasarımında kullanılan 8254 CTC, 8255 PIO ve 8259 PIC gibi 8080-ailesi çevre birimleri ile uyumlu olacak şekilde 8-bitlik bir data bus eklenerek hafifçe modifiye edilmiş bir versiyondur. İlave olarak daha basit ve ucuz PCB tasarımı gerektirmekte ve daha az sayıda (1 ya da 4-bit genişliğinde) DRAM çipine gereksinim duymaktadır. Intel 8088 orijinal IBM PC tasarımında kullanılan işlemci olması özelliğiyle de kayda değerdir. == Tarihçe == === Öncesi === 1972 yılında Intel ilk 8-bit mikroişlemci olan 8008'i piyasaya sürdü. Datapoint firması tarafından CRT terminaller için geliştirilmiş, aynı zamanda oldukça genel amaçlı kullanılabilen bir komut seti kullanmaktaydı. 18-pin bellek paketinde olduğu için ayrı bir adres yolu kullanımı imkânı olmadığından işlevsel bir bilgisayar oluşturabilmek için cihaza birtakım ek donanımlar eklenmesi gerekiyordu (O dönemde Intel öncelikli olarak DRAM bellek üreticisiydi). İki yıl sonra, 1974 yılında Intel, hesap makinesi çipleri için geliştirilmiş, ayrı bir adres yolu kullanımına imkân veren 40-pin DIL paketine yerleştirilmiş olan 8080'i piyasaya sürdü. 8008 ile kod uyumlu ancak binary uyumlu olmayan genişletilmiş bir komut setine sahipti ve programlamayı kolaylaştırmak için bazı 16-bit komutlar eklenmişti. Bunu 1977 yılında çoklukla ilk kullanışlı mikroişlemci olarak da kabul edilen depletion-load NMOS tabanlı 8085 izledi. 8085 önceki çiplerin aksine sadece 5V besleme ile çalışabilmekteydi. Bu dönemde piyasaya çıkmış diğer belli başlı mikroşlemcilere örnek olarak Motorola 6800 (1974), Microchip PIC16X (1975), MOS Technology 6502 (1975), Zilog Z80 (1976) ve Motorola 6809 (1978) gösterilebilir. === İlk x86 tasarımı === 8086 projesi Mayıs 1976'da başlatıldığında öncelikli hedefi iddialı ve gecikmiş olan iAPX 432 projesine geçici bir alternatif olmaktı. Intel asıl olarak dikkatleri diğer üreticilerin daha az gecikmeli 16 ve 32-bit işlemci geliştirme programlarından başka yöne çekmek ve eski Intel çalışanları tarafından geliştirip piyasada çok başarılı olmuş Zilog Z80 ile rekabet edebilecek bir ürün oluşturmak istiyordu. Bu nedenle çip mimarisi ve fiziksel tasarım nispeten küçük bir teknik grup tarafından kısa sürede gerçekleştirildi. Tasarımda 8085 ile benzer mikromimari ve fiziksel elemanlar kullanıldı (bu nedenle 8086, 8085'in devamı niteliğindedir). 8086 makine dili 8008, 8080 ya da 8085 ile kod uyumluydu, yani bu cihazlar için yazılmış makine dili kodları çok az ya da hiç elle düzeltme gerektirmeksizin otomatik olarak optimize edilmemiş 8086 koduna dönüştürülebiliyordu. Bunu olanaklı kılabilmek için programlama modeli ve komut seti kaba olarak 8080 tabanlıydı. Ancak 8080 ve 8085'in aksine 8086 tasarımı sadece bazı temel 16-bit kabiliyetleri değil tüm 16-bit işlem desteği sunmaktaydı. İşaretli tam sayılar için tam işlem desteği, adres tabanı + ofset adresleme, kendi-kendini tekrarlayan işlemler için eklenen yeni tip komutlar Z80 tasarımı ile benzeşmekteydiBirth of a Standard: The Intel 8086 Microprocessor. Thirty years ago, Intel released the 8086 processor, introducing the x86 architecture that underlies every PC-Windows, Mac, or Linux-produced today , PC World, June 17, 2008, ancak 8086 için hafifçe genelleştirilmişti. Pascal ve PL/M gibi iç içe fonksiyonlar içeren ALGOL ailesi programlama dillerini doğrudan destekleyen komutlar da eklenmişti. Baş mimar Stephen P. Morse'a göre bu, önceki Intel işlemci tasarımlarına göre daha yazılım merkezli bir tasarım yaklaşımının sonucu idi (tasarım ekibinin farklı derleyici uygulamaları ile çalışma tecrübesi vardı). Diğer iyileştirmeler arasında mikrokod bazında çarpma ve bölme komutları ve ileriki kuşak (8087 ve8089 gibi) işlemciler için daha uyumlu bir veriyolu yapısı gösterilebilir. Komut seti ve üst seviye mimari tasarım neredeyse hiç CAD desteği kullanılmadan, eşzamanlı olarak çip üzerinde çalışan dört mühendis ve 12 tasarımcı tarafından yaklaşık 3 ay içinde tamamlandı. 8086, MC68000 ve diğer rakiplerine oranla daha az mikrokod kullanan sıralı yapıdaydı. rastgele mantık kapıları ve mikrokod karışımı kullanmaktaydı ve depletion load nMOS teknolojisi kullanılarak geliştirilmişti. İçerisinde yaklaşık 20,000 aktif transistör (tüm ROM ve PLA blokları da sayılırsa 29,000) bulunmaktaydı. Kısa süre içinde Intel'in asıl olarak SRAM ürünleri için geliştirdiği yeni ve daha rafine bir üretim prosesi olan HMOS (Yüksek performanslı MOS) teknolojisi ile üretilmeye başlandı. Bipolar RAM hızındaki MOS teknolojili SRAM'ler bu dönemde Intel'in önemli ürün kategorilerindendi. Daha sonra üretim prosesi HMOS-II, HMOS-III ve en sonunda pille beslenen tasarımlar için tamamen statik CMOS teknolojine dönüştürüldü ve Intel'in CHMOS teknolojisi ile üretilmeye başlandı. Çipin boyutu 33 mm2 ve minimum eleman boyutu 3.2 μm idi. Çipin mimarisi Stephen P. Morse tarafından tasarlandı ve son rötuşlar ve nihai revizyonun ortaya çıkarılmasında 8087'nin mimarı Bruce Ravenel tarafından destek verildi. Mantık tasarımcıları Jim McKevitt ve John Bayliss donanım düzeyi tasarım liderleriydi. Tasarım ekibinin diğer üyeleri Peter A.Stoll ve Jenny Hernandez, proje müdürü ise William Pohlman idi. 8086 bugünün kişisel bilgisayarları ve sunucularına komut seti olarak kalıcı bir miras bırakmıştır. Ayrıca son iki basamağını sonraki geliştirilecek tasarımlar için ayırmış ve bunları kullanan Intel 286 ve Intel 386 işlemciler ile birlikte en sonunda x86 ailesi olarak anılır olmuştur. Bir başka ilginç bilgi ise Intel çiplerinin PCI Üretici No'su 8086'dır. == Teknik özellikler == === Veriyolları ve işlevi === Tüm dahili kayıtçılar(), dahili ve harici veriyolları 16 bit uzunluğundadır. 20-bit uzunluğunda bir harici adres yolu 1 MB (bölümlenmiş) fiziksel adres alanı sağlamaktadır (220 = 1,048,576). Standart 40-pin DIP paketine sığabilmek için veri yolu ile adres yolu çoğullanmış() olarak kullanılmaktadır. 16-bit Giriş/Çıkış adres formatı 64 KB ayrılmış Giriş/Çıkış alanı anlamına gelmektedir (216 = 65,536). Dahili adres yolu uzunluğu 16 bit olduğundan maksimum doğrusal adres alanı 64 KB ile sınırlıdır. 64 KB üzerinde programlamak için bölümleme kayıtçılarını() kullanmak gerektiğinden oldukça kullanışsızdır (80386 ya kadar da böyle devam etmiştir). Cihazın min ya da max modlarında işletilmesine göre harici işlemler için gerekli işaretleri taşıyan kontrol pinlerinin bazıları birden fazla işleve sahiptir. Min modu küçük, tek işlemcili sistemleri için, Max modu ise orta ölçekli ya da birden çok işlemci kullanan büyük sistemleri için kullanılmaktadır. 200px|küçükresim|8086 işlemci bacak (pin) dağılımı min ve max modlarında. {| style="font-size:88%;" Ana Kayıtçılar (register ) AH AL AX (primary accumulator) BH BL BX (base, accumulator) CH CL CX (counter, accumulator) DH DL DX (accumulator, other functions) İndeks kayıtçıları SI Source Index DI Destination Index BP Base Pointer SP Stack Pointer Durum Kayıtçıları 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 (bit position) \- - - - O D I T S Z - A - P - C Flags Segment kayıtçıları CS Code Segment DS Data Segment ES ExtraSegment SS Stack Segment Eğitim noktası IP Instruction Pointer == Kaynakça == 8086