Intel 8088 - Intel 8088

Intel 8088
KL Intel TD8088.jpg
D8088, gümüş pimli seramik bir DIP içinde
Genel bilgi
başlatıldı 1979
Durdurulan 1998
Ortak üretici(ler)
Verim
Maks. CPU saat hızı 5 MHz ila 16 MHz
veri genişliği 8 bit
Adres genişliği 20 bit
Mimari ve sınıflandırma
Min. özellik boyutu 3 µm
Komut seti x86-16
Fiziksel Özellikler
transistörler
yardımcı işlemci Intel 8087
Paket(ler)
Soket(ler)
Ürünler, modeller, çeşitler
Varyant(lar)
Tarih
selefi Intel 8085
Varis 80186 ve 80286 (her ikisi de 1982 başlarında tanıtıldı)

Intel 8088 ( " 80-88 olarak da adlandırılan", iAPX 88 ) mikro-işlemci bir varyantı olan Intel 8086 . 1 Haziran 1979'da tanıtılan 8088, 8086'nın 16 bitlik veri yolu yerine sekiz bitlik bir harici veri yoluna sahiptir. Ancak 16 bitlik kayıtlar ve bir megabaytlık adres aralığı değişmemiştir. Aslında, Intel belgelerine göre, 8086 ve 8088 aynı yürütme birimine (EU) sahiptir; yalnızca veri yolu arabirim birimi (BIU) farklıdır. Orijinal IBM PC , klonları gibi 8088'e dayanmaktadır .

Tarihçe ve açıklama

AMD 8088'in Ölümü

8088, Intel'in İsrail'in Hayfa kentindeki laboratuvarında ve çok sayıda Intel işlemcisinde tasarlandı. 8088, sekiz bitlik bir veri yolu ve sekiz bitlik destek ve çevresel yongaların kullanımına izin vererek ekonomik sistemleri hedef aldı; karmaşık devre kartları piyasaya sürüldüklerinde hala oldukça hantal ve pahalıydı. Önceden alma 8088 kuyruk 8086 altı bayt, dört bayta kısaltılmış ve önceden getirmesi algoritması daha dar yolu adapte şekilde modifiye edilmiştir. Temel 8086 tasarımındaki bu değişiklikler, Intel'in Hayfa'daki yeni tasarım ofisine ve laboratuvarına verilen ilk işlerden biriydi.

5'ten fazla MHz maksimal saat frekansı ile 8088 Türevleri edildi 8088-2 içerir fabrikasyon Intel'in yeni geliştirilmiş kullanarak NMOS denilen İşleme aldığımız HMOs ve 8 MHz'lik bir maksimal frekansı için belirtilen. Daha sonra, 0 ila 8 MHz saat hızlarında çalışabilen tamamen statik bir CHMOS tasarımı olan 80C88'i izledi . Diğer üreticilerin az çok benzer başka varyantları da vardı. Örneğin, NEC V20 , NEC tarafından tasarlanan ve üretilen 8088'in pin uyumlu ve biraz daha hızlı (aynı saat frekansında) bir çeşidiydi . Ardışık NEC 8088 uyumlu işlemciler 16 MHz'e kadar çalışır. 1984 yılında Commodore International , 8088'i lisanslı bir Dynalogic Hyperion klonunda kullanılmak üzere üretmek için bir anlaşma imzaladı ve bu, şirket için büyük bir yeni yönün sinyali olarak kabul edildi. Mevcut CMOS sürümü, Oki Electronic Industry Co., Ltd'ye dış kaynaklı olarak verildi. Duyurulduğunda, 8088'in liste fiyatı 124,80 ABD Doları idi.

8086'dan farklılıklar

8088, mimari olarak 8086'ya çok benzer. Temel fark, 8086'nın 16 satırı yerine sadece sekiz veri hattının olmasıdır. Cihazın diğer tüm pinleri, iki istisna dışında 8086 ile aynı işlevi görür. İlk olarak, pin 34 artık BHE değildir (bu, 8086'daki yüksek dereceli bayt seçimidir; 8088'in sekiz bitlik veri yolunda yüksek dereceli bir baytı yoktur). Bunun yerine bir maksimum mod durumu verir, SSO . IO/ M ve DT/ R sinyalleriyle birlikte, veri yolu döngülerinin kodu çözülebilir (genellikle bir yazma işleminin veya bir kesintinin ne zaman devam ettiğini gösterir). İkinci değişiklik, bir bellek erişiminin mi yoksa giriş/çıkış erişiminin mi yapıldığını bildiren pinin ters çevrilmiş olmasıdır. 8088'deki pin IO/ M'dir . 8086 kısmında IO /M'dir. Tersine çevirmenin nedeni, 8088'i 8085 ile uyumlu hale getirmesidir .

Verim

Bağlı saat frekansının , hafıza sayısı bekleme durumları , hem de özellikle uygulama programının özelliklerine, ortalama Intel 8088 için performans 0330000 1 ila yaklaşık değişmekteydi saniyede talimatlar . Bu arada, sırasıyla iki ve üç döngü alan ve komutları,  MHz başına 13 ve 12 MIPS arasında, yani 10 MHz'de 3–5 MIPS aralığında bir yerde mutlak bir tepe performansı verdi . mov reg,regALU reg,reg

Yürütme biriminin (AB) hızı ve 8086 CPU'nun veriyolu iyi dengelenmişti; tipik bir talimat karışımıyla, bir 8086, talimatları önceden getirme kuyruğunun dışında iyi bir zaman diliminde yürütebilir. Veri yolunu sekiz bite düşürmek, 8088'de ciddi bir darboğaz yaptı. 8088'de 8086'ya kıyasla talimat getirme hızı %50 azaltıldığından, bir hızlı talimat dizisi dört baytlık ön getirme kuyruğunu hızla boşaltabilir. Kuyruk boş olduğunda, talimatların tamamlanması, getirilmesi kadar sürer. Hem 8086 hem de 8088, bir veri yolu döngüsünü tamamlamak için dört saat döngüsü alır; 8086 için bu, iki bayt aktarmak için dört saat anlamına gelirken, 8088'de bayt başına dört saattir. Bu nedenle, örneğin, AB'yi yürütmek için yalnızca iki saat döngüsü alan iki baytlık bir kaydırma veya döndürme talimatı, önceden getirme kuyruğunda değilse, tamamlanması aslında sekiz saat döngüsü alır. Bu tür hızlı talimatların bir dizisi, kuyruğun boşaltıldığı kadar hızlı doldurulmasını önler ve genel olarak, pek çok temel talimat, talimat baytı başına dört saatten daha az sürede yürütülür - neredeyse tüm ALU ve kayıttaki veri hareketi talimatları dahil. işlenenler ve bunların bazıları bellek işlenenleri üzerindedir— kullanışlı gerçek dünya programları yürütülürken 8088'de AB'yi zamanın en az 14'ünde boşta bırakmaktan kaçınmak pratik olarak imkansızdır ve bunu yarı yarıya boşta bırakmak zor değildir. Kısacası, bir 8088, veri yolu darboğazı nedeniyle (tek büyük fark) tipik olarak aynı hızda saatlenen 8086'nın yaklaşık yarısı kadar hızlı çalışır.

Yavaş veri yolu ve küçük ön getirme kuyruğu ile 8088 tasarımının bir yan etkisi, kod yürütme hızının talimat sırasına çok bağlı olabilmesidir. 8088'i programlarken, CPU verimliliği için, mümkün olduğunda uzun çalışan talimatları kısa olanlarla karıştırmak hayati önem taşır. Örneğin, tekrarlanan bir dize işlemi veya üç veya daha fazla kaydırma, 4 baytlık ön getirme kuyruğunun tamamen dolmasına izin verecek kadar uzun sürecektir. Bunun gibi daha yavaş komutlar arasına kısa komutlar (yani toplamda birkaç baytlık olanlar) yerleştirilirse, kısa olanlar kuyruğun dışında tam hızda yürütülebilir. Öte yandan, yavaş talimatlar arka arkaya sırayla yürütülürse, ilkinden sonra veri yolu ünitesi boşta kalmaya zorlanır çünkü kuyruk zaten dolacaktır, bunun sonucunda daha sonra daha hızlı talimatların daha fazlası olacaktır. önlenebilir olabilecek getirme gecikmelerine maruz kalacaktır. Tek bitlik konum kaydırmaları ve döndürmeleri gibi bazı komutların alınması, yürütülmesinden kelimenin tam anlamıyla 4 kat daha uzun sürdüğünden, genel etki iki veya daha fazla faktörlü bir yavaşlama olabilir. Bu kod bölümleri döngülerin gövdeleriyse, yürütme süresindeki fark insan zaman ölçeğinde çok belirgin olabilir.

8088 de (8086 gibi) belleğe erişimde yavaştır. Aritmetik ve mantık komutlarını yürütmek için kullanılan aynı ALU, etkin adresleri hesaplamak için de kullanılır. Ofset adresine kaydırılmış bir segment kaydı eklemek için ayrı bir toplayıcı vardır, ancak ofset EA'nın kendisi her zaman tamamen ana ALU'da hesaplanır. Ayrıca, AB ve BIU'nun (veri yolu ünitesi) gevşek bağlantısı, üniteler arasında iletişim ek yükü ekler ve dört saat periyodu veriyolu aktarım döngüsü özellikle aerodinamik değildir. Bunu 6502 CPU'nun iki saatli dönem veriyolu döngüsü ve 80286'nın çoğu aktarım için iki çevrime kadar boru hattına sahip üç saatli dönem veriyolu döngüsü ile karşılaştırın. Genel ALU ve veri taşıma işlemleri dahil olmak üzere, yazmaçlar veya bellek üzerinde çalışabilen çoğu 8088 talimatı, bellek işlenenleri için yalnızca kayıt işlenenlerine göre en az dört kat daha yavaştır. Bu nedenle, verimli 8088 (ve 8086) programları, mümkün olduğunda bellek işlenenlerine tekrar tekrar erişimden kaçınır, işlenenleri orada çalışmak için bellekten kayıtlara yükler ve yalnızca bitmiş sonuçları geri depolar. 8088'in çağdaşlarına kıyasla nispeten büyük genel kayıt seti bu stratejiye yardımcı olur. Bir kerede ihtiyaç duyulan tüm değişkenler için yeterli kayıt olmadığında, kayıtları yığına iterek ve onları geri yüklemek için geri açarak kaydetmek, yığın PUSH ve POP talimatları olduğundan, kayıtları artırmak için belleği kullanmanın en hızlı yoludur. en hızlı bellek işlemleri. Aynısı muhtemelen 80286 ve sonrasında geçerli değildir; özel adres ALU'larına sahiptirler ve 8088 ve 8086'dan çok daha hızlı bellek erişimleri gerçekleştirirler.

Son olarak, çağrılar, atlamalar ve kesintiler ön getirme kuyruğunu sıfırladığından ve IP kaydının yüklenmesi AB ile BIU arasında iletişim gerektirdiğinden (IP kaydı, genel kayıtların bulunduğu AB'de değil, BIU'da olduğundan), bu işlemler maliyetlidir. Tüm atlamalar ve aramalar en az 15 saat döngüsü sürer. Herhangi bir koşullu atlama, alınmazsa dört saat döngüsü gerektirir, ancak alınırsa, ön getirme kuyruğunu sıfırlamaya ek olarak 16 döngü gerektirir; bu nedenle, özellikle döngüler içinde koşullu atlamalar çoğu zaman alınmayacak şekilde düzenlenmelidir. Bazı durumlarda, bir dizi mantık ve hareket işlemi, aynı sonucu elde etmek için bir veya iki talimatı atlayan koşullu bir atlamadan daha hızlıdır.

8086 ve 8088 için Intel veri sayfaları, özel çarpma ve bölme talimatlarının (MUL, IMUL, DIV ve IDIV) reklamını yaptı, ancak bunlar çok yavaştır, her biri 100-200 saat döngüsü mertebesindedir. Küçük sabitlerle (vardiyaların kullanılabileceği 2'nin kuvvetleri dışında) birçok basit çarpma, özel kısa alt rutinler kullanılarak çok daha hızlı yapılabilir. 80286 ve 80386'nın her biri, bu çarpma ve bölme talimatlarının yürütme hızını büyük ölçüde artırır.

IBM PC'de kullanım için seçim

Orijinal IBM PC , 8088'i kullanan en etkili mikro bilgisayardır. Saat frekansı 4.77 MHz'dir ( NTSC renk patlaması frekansının 4/ 3'ü ). IBM'in mühendislerinden ve diğer çalışanlarından bazıları IBM 801 işlemcisini kullanmak istedi , bazıları yeni Motorola 68000'i tercih etti ve diğerleri daha önceki kişisel bilgisayarlarda bulunan MOS Technology 6502 veya Zilog Z80 gibi küçük ve basit bir mikroişlemciyi savundu . Ancak IBM, ürünlerinde Intel çiplerini kullanma geçmişine sahipti ve ayrıca 8086 ailesini üretme haklarını da elde etmişti .

IBM, 8086 yerine 8088'i seçti çünkü Intel, birincisi için daha iyi bir fiyat teklif etti ve daha fazla birim tedarik edebilirdi. Diğer bir faktör ise 8088'in bilgisayarın değiştirilmiş bir 8085 tasarımına dayanmasına izin vermesiydi, çünkü 8-bit veri yollarına sahip çoğu nMOS yongası ile kolayca arayüz oluşturabiliyordu. Bunlar olgun ve dolayısıyla ekonomik bileşenlerdi. Bu, başlangıçta birçok mühendis tarafından zaten iyi bilinen ve maliyeti daha da azaltan 8085 ve benzer işlemciler (yalnızca Intel'in değil) etrafındaki destek ve çevresel işlevler için tasarlanan IC'leri içeriyordu.

8088 torunları dahil 80.188 , 80.186 , 80.286 , 80.386 , 80.486 ve daha sonra yazılım - uyumlu dahil işlemciler, Intel Core bugün popüler olan işlemciler,.

Galeri

çevre birimleri

  • Intel 8282 / 8283 : 8 bit mandal
  • Intel 8284 : saat üreteci
  • Intel 8286 / 8287 : çift yönlü 8 bit sürücü. Her iki Intel I8286/I8287 (endüstriyel sınıf) sürümü 100'lük miktarlarda 16.25 ABD Doları karşılığında mevcuttu.
  • Intel 8288 : veri yolu denetleyicisi
  • Intel 8289 : veri yolu hakemi
  • Intel 8087 : Matematik Yardımcı İşlemcisi

Ayrıca bakınız

Notlar

Referanslar

Dış bağlantılar