İ386

Intel 80386 veya i386, 80286'dan sonraki Intel mikroişlemcisi.
Intel 1985 yılında üretilen, bir tümleşik devre üzerinde gerçek 32-bit CPU olan 80386DX oldu. 80286 gibi bu mikroişlemcide çok yaygın olarak kullanıldı. 1988 yılında, harici 16-bit veriyoluna sahip 80386SX mikroişlemcisi üretildi.
Intel'in ilk 32-bit mikroişlemcisi 80386'dır. Bu mikroişlemci, diğer x86 mikroişlemcileri gibi, 8086 ve 80286 programlarını hiçbir değişiklik olmadan çalıştırabilmektedir. Bu mikroişlemcinin daha önceki 80286 mikroişlemcisine göre birçok üstünlüğü bulunur. Bunlar:
İşlemcinin kaydedicileri ve aritmetik birimleri 32-bit genişliğindedir. Ayrıca, komut kümesi 32-bit adresleri ve verileri desteklemek için genişletilmiştir.
Mikroişlemciden ana belleğe giden, adres yolu ve veriyolu 32-bit'e genişletilmiştir. Bu sayede, komutlar, verileri iki kat hızında okuyabilmekte ve yazabilmektedir.
4 GB'a kadar fiziksel belleği adresleyebilmektedir (80286 da 16 MB). Diğer yandan, programlara 246 byte (64 terabyte) kadar görüntü bellek sağlayabilmektedir (80286 da 230 byte, 1 GB).
Daha hızlı yürütme hızına sahiptir. Birçok komutu yürütme zamanı azalmıştır.
Tümleşik devre üzerindeki bellek yönetim sistemi, sayfalı adreslemeyi destekler.
80386 da bulunan 32-bit adres yolu, 32-bit veriyolu ve çeşitli kontrol sinyalleri için, 80286 da kullanılan 68 uçlu tümleşik devre kılıfı çok küçüktü bu yüzden Intel daha büyük bir standarda gitti.
Dahili olarak, 80386, 80286 gibi daha yüksek performans için paralel çalışan birçok fonksiyonel birime sahiptir. 80286'daki gibi 4 yerine, 8 tane alt birim içermektedir. 80386'daki daha fazla olan fonksiyonel bölünme, adres ve yürütme birimlerinde yapılmıştır.
80386'nın tümleşik devre uçları, 80286'ya bazı yönlerden benzemektedir. Bellek erişimleri 32-bit kelimeler ile yapılıp, bellek adresleri, 4 byte sınırlara göre ayarlanmalıdır. Böylece CPU 0, 4, 8 gibi adreslerde bulunan kelimelere erişebilmekte, buna karşın, 1, 2 veya 3 gibi adreslerde olanlara erişememektedir. Bunun sonucu olarak, bütün bellek adresleri 4'ün katları şeklindedir. Bu yüzden, iki düşük değerli adres biti her zaman 0'dır ve A0 ve A1 bitleri tümleşik devre üzerinde yoktur.
Bununla beraber, bellekte 8-bit ve 16-bit veriler üzerinde işlem yapan komutlar bulunduğundan, bu problemi çözmek gerekmektedir. 8086 ve 80286 mikroişlemcilerinde BHE sinyali ile bu problem çözüldüğü gibi, 80386 da bu işlem için 4 sinyal BE3- BE0 sağlamaktadır. Bu sinyallerden her biri bir kelime içindeki 4 byte'dan hangisinin kullanılacağını belirtir.
Daha önceki mikroişlemcilerde bulunan, LOCK ve READY kontrol sinyalleri değişmedi. Bununla beraber, 80386'ya yeni 3 veriyolu kontrol sinyali daha eklendi. Bu sinyaller ADS, BS16 ve NA sinyalleridir. ADS sinyali, adres yolunda geçerli bir adres olduğunu belirtir. Bellek bu sinyali gördüğü zaman adres ve kontrol yollarındaki sinyallerin geçerli olduğunu anlar ve çalışmaya başlar. BS16 bir giriş sinyali olup 80386'ya, sistemde 16-bit I/O tümleşik devrelerinin olduğunu belirtmekte kullanılır. 80386 bu sinyali gördüğü zaman, bir 32-bit veri aktarımını peşpeşe iki 16-bit aktarım şeklinde yapar. BS16 mikroişlemciyi yavaşlatmada kullanılmasına karşın NA sinyali hızlandırmada kullanılır. Bellek tümleşik devresi, o anki veriyol çevrimi için READY sinyalini pasif yapmadan, mikroişlemcinin NA girişini aktif yaparak, bir sonraki bellek adresini kabul etmek için hazır olduğunu 80386'ya bildirir. Bu özellik, CPU'nun o anki veriyolu çevrimini bitirmeden, bir sonraki veriyol çevrimine hazır olmasını başlatarak, iş-hattının hızını daha da artırır.
Intel, geleneksel olarak her yeni bir mikroişlemci tümleşik devresinde yapmış olduğu, veriyolu durum ve veriyolu kontrol sinyallerini yeniden tanımlamayı, 80386 mikroişlemcisinde de devam ettirdi, örneğin; daha önceki 80286 tasarımında 4 tane veriyolu durum sinyali bulunmaktaydı. Bu sinyaller, 16 farklı durum göstermesine karşın, sadece 7 durum anlamlıydı ve kullanılmaktaydı. Sonunda Intel'den bir mühendis şu gerçeği gördü: 7<23 yani 3 durum sinyali ile 7 sinyali belirtmek mümkündü. Bu büyük sinyalin neticesi 80386 için yeni durum sinyalleri Yaz/Oku, Veri/Kod ve Bellek/Giriş-Çıkış olarak belirlendi. Bu sinyallerin belirttikleri veriyolu durumları: Kod okuma, veri okuma, veri yazma, giriş-çıkış okuma, giriş-çıkış yazma, kabul ve durma dır.
80286 mikroişlemcisinde bulunan diğer sinyaller, INTR, NMI, HOLD, HLDA, PEREQ, BUSY, ERROR ve RESET, 80386 da aynı fonksiyonlara sahiptir. 80386 yardımcı işlemci doğrudan erişebildiği için, 80286'daki PACK sinyali 80386 da bulunmaz.
80386-80387 İletişimi
80386-80387 sistemlerinde bulunan mikroişlemci CPU arabirimi 80286-80287 sistemlerindekine çok benzemektedir. CPU'ya programların yanlışlıkla yazma yapılmasını önlemek için I/O alanı F8h-FFh'den 800000F8h-800000FFh alanına kaydırılmıştır. Arabirim performansı iyileştirilmiş ve 32-bit kullanıma açılmıştır. Yeni haliyle iletişim ek yükü 16-20 saat çevrimine indirilmiştir.