Konuk yazar Ken Shirriff, tersine mühendislik eski yongalarından hoşlanan ve Xerox Alto gibi klasik ekipmanı restore eden Silikon Vadisi tabanlı bir bilgisayar meraklısı. Shirriff kızılötesi uzaktan kumandalar için Arduino IRremote kütüphanesini yazdı, 55 yaşındaki bir IBM 1401 delikli kart ana çerçevesinde Bitcoin madenciliğini denedi ve Bitcoin sembolü (฿) dahil olmak üzere Unicode'a altı sembol eklendi. Çalışmalarını şu adresten takip edebilirsiniz: Righto.com ve @kenshirriff.
Intel'in çığır açan 8008 mikroişlemcisi ilk olarak 45 yıl önce üretildi.1 Intel'in ilk 8 bitlik mikroişlemcisi olan bu yonga, şu anda kullanabileceğiniz x86 işlemci ailesinin atasıdır. 8008'in iyi kalıp fotoğraflarını bulamadım, bu yüzden birini açtım ve ayrıntılı fotoğraflar çektim. Bu yeni kalıp fotoğrafları, 8008'in iç tasarımının bir tartışmasıyla birlikte bu makalede yer almaktadır.
Yukarıdaki fotoğraf 8008 paketinin içindeki küçük silikon kalıbı göstermektedir (daha yüksek çözünürlüklü bir fotoğraf için resme tıklayın). Çipi oluşturan telleri ve transistörleri zar zor görebilirsiniz. Dıştaki kareler, küçük pimlerle harici pimlere bağlanan 18 peddir. Çipin sağ kenarında "8008" ve alt kenarında "© Intel 1971" metnini görebilirsiniz. HF'nin baş harfleri, çipin mantık tasarımını ve fiziksel düzenini yapan Hal Feeney için sağ üstte görünür. (8008'in diğer önemli tasarımcıları Ted Hoff, Stan Mazor ve Federico Faggin idi.)
Çipin içinde
Aşağıdaki şema çipin bazı önemli fonksiyonel bloklarını vurgulamaktadır. Solda gerçek veri hesaplamalarını yapan 8 bitlik Aritmetik / Mantık Birimi (ALU) bulunur.3 ALU, giriş değerlerini tutmak için iki geçici kayıt kullanır. Bu kayıtlar, karmaşık oldukları için değil, ALU devresi üzerinden sinyalleri iletmek için büyük transistörlere ihtiyaç duydukları için çip üzerinde önemli bir alan kaplarlar.
Büyük bileşenleri gösteren 8008 mikroişlemcinin ölümü.
Kayıtların altında ileriye bakma devresi vardır. Toplama ve çıkarma için bu devre, performansı artırmak için sekiz taşıma değerinin tümünü paralel olarak hesaplar.2 Düşük sıralı taşıma sadece düşük sıralı bitlere bağlı olduğundan, yüksek sıralı taşıma birden çok bite bağlı olduğundan, devre bloğu üçgen bir şekle sahiptir.
ALU'nun üçgen düzeni olağandışıdır. Çoğu işlemci, her bir bit için devreyi normal bir dikdörtgene (bit dilimi düzeni) yığınlar. Bununla birlikte, 8008'de üçgen taşıma jeneratörünün bıraktığı alanın çevresine sığacak şekilde düzenlenmiş sekiz blok (her bit için bir tane) bulunur. ALU sekiz basit işlemi desteklemektedir.3
Çipin merkezinde, her 8 bitlik makine komutunun anlamını belirleyen komut yazmacı ve komut kod çözme mantığı bulunur. Kod çözme bir Programlanabilir Mantık Dizisi (PLA), bit desenleriyle eşleşen ve çipin geri kalanı için uygun kontrol sinyallerini üreten bir kapı düzenlemesi. Sağ tarafta depolama blokları vardır. 8008'in yedi kaydı sağ üstte. Sağ altta sekiz adet 14 bit adres kelimesinden oluşan adres yığını bulunur. Çoğu işlemcinin aksine, 8008'in çağrı yığını bellek yerine çipte saklanır. Program sayacı bu adreslerden sadece bir tanesidir, altyordam çağrıları ve geri dönüşleri çok basittir. 8008, bu depolama için dinamik bellek kullanır
Çipin fiziksel yapısı, bloktaki blok şemasına çok yakın 8008 Kullanım Kılavuzu (aşağıda), bloklar çip üzerinde blok şemasındakiyle hemen hemen aynı konumlarda bulunur.
8008 mikroişlemcinin Kullanım Kılavuzundan blok şeması.
Çipin yapısı
Kalıp fotoğrafı ne gösteriyor? Bizim amacımız için, çip üç katman olarak düşünülebilir. Aşağıdaki şema, bu katmanları gösteren çipin bir çekimini göstermektedir. En üstteki katman metal kablolamadır. En görünür özelliktir ve metalik görünüyor (şaşırtıcı değil). Aşağıdaki ayrıntıda, bu teller çoğunlukla yataydır. Polisilikon tabaka metalin altındadır ve mikroskop altında turuncu görünür.
8008 ölümü, metal katmanı, polisilikon ve katkılı silikonu gösteren bir çekim.
Çipin temeli, fotoğrafta morumsu gri görünen silikon gofrettir. Saf silikon etkili bir yalıtkandır. Bölgeleri yarı iletken silikon oluşturmak için safsızlıklarla "katkılı" dır. Altta olmak, silikon tabakasını ayırt etmek zordur, ancak katkılı silikon ve katlanmamış silikon arasındaki sınır boyunca siyah çizgiler görebilirsiniz. Fotoğrafta birkaç dikey silikon "tel" görülebilir.4
Transistörler, çipin anahtar bileşenidir ve bir polisilikon telin katkılı silikonu geçtiği bir transistör oluşur. Fotoğrafta, polisilikon bir transistör oluşturduğu daha parlak bir turuncu olarak görünür.
Neden 18 pinli bir yonga?
8008'in elverişsiz bir özelliği, sadece 18 pime sahip olmasıdır, bu da çipin daha yavaş ve kullanımını daha zor hale getirir. 8008, 14 adres biti ve 8 veri biti kullanır, bu nedenle 18 pimle her sinyal için yeterli pim yoktur. Bunun yerine çip, düşük adres bitlerini, yüksek adres bitlerini ve veri bitlerini iletmek için üç döngüde yeniden kullanılan 8 veri pinine sahiptir. 8008 kullanan bir bilgisayar, bu uygunsuz veri yolu mimarisiyle etkileşim için birçok destek yongası gerektirir.5
Çipi 18 pime zorlamak için iyi bir neden yoktu. 40 veya 48 iğneli paketler diğer üreticilerde yaygındı, ancak 16 iğneli "Intel'de bir din" idi.6 Sadece büyük bir isteksizlikle 18 pime geçtiler. 8080 işlemci birkaç yıl sonra ortaya çıktığında, Intel 40 pimli yongalarla anlaştı. 8080 çok daha popülerdi, çünkü 40 pimli paketin izin verdiği daha basit bir otobüs tasarımına sahipti.
Yongadaki güç ve veri yolları
Veri yolu çip üzerinden veri akışı sağlar. Aşağıdaki şema, 8 veri hattı için gökkuşağı renkleriyle 8008'in 8-bit veri yolunu göstermektedir. Veri yolu, çipin üst yarısının dış kısmı boyunca yer alan 8 veri pimine bağlanır. Veri yolu soldaki ALU, talimat yazmacı (üst orta) ve sağdaki kayıtlar ve yığın arasında çalışır. Otobüs, ALU'nun her iki tarafı boyunca yarısı ile solda bölünür.
8008 mikroişlemcinin kalıp fotoğrafı. Güç barası kırmızı ve mavi ile gösterilir. Veri yolu 8 gökkuşağı rengiyle gösterilir.
Kırmızı ve mavi çizgiler güç yönlendirmesini gösterir. Güç yönlendirmesi, mikroişlemcilerin az bilinen bir yönüdür. Güç, düşük direnci nedeniyle metal tabakaya yönlendirilir. Ancak, erken mikroişlemcilerde yalnızca bir metal katman bulunduğundan, yolların kesişmemesi için güç dağılımı dikkatlice planlanmalıdır.7 Yukarıdaki şema mavi renkli Vcc çizgilerini ve kırmızı Vdd çizgilerini göstermektedir. Güç, soldaki Vcc pimi ve sağdaki Vdd pimi aracılığıyla sağlanır, daha sonra çipin tüm parçalarını besleyen ince, birbirine geçen kablolara ayrılır.
Kayıt dosyası
Çipin neye benzediğini ayrıntılı olarak göstermek için, aşağıdaki fotoğraftaki 8008'in kayıt dosyasını yakınlaştırdım. Kayıt dosyası, her biri bir bit tutmak için üç transistör kullanan 8'den 7'ye kadar dinamik RAM (DRAM) depolama hücrelerinden oluşur.8 (Transistörleri, turuncu polysilikonun biraz daha canlı bir renk aldığı küçük dikdörtgenler olarak görebilirsiniz.) Her satır 8008'in yedi 8 bitlik kaydından biridir (A, B, C, D, E, H, L) . Solda, yedi çift yatay tel görebilirsiniz: her kayıt için okuma seçme ve yazma seçme satırları. Üstte, her bir bitin içeriğini okumak veya yazmak için sekiz dikey kablo ve Vcc sağlamak için 5 daha kalın kablo görebilirsiniz. Kayıtlar için DRAM kullanmak (daha yaygın statik mandallar yerine) ilginç bir seçimdir. Intel o sırada bir bellek şirketi olduğundan, bu alandaki uzmanlıklarından dolayı DRAM'ı seçtiklerini umuyorum.
8008'deki kayıt dosyası. Yongada yedi adet 8 bitlik kayıt var: A, B, C, D, E, H, L
PMOS nasıl çalışır?
8008, PMOS transistörlerini kullanır. Hafifçe basitleştirmek için, bir PMOS transistörünü, bir kapı girişi (polisilikon) tarafından kontrol edilen iki silikon tel arasında bir anahtar olarak düşünebilirsiniz. Anahtar, kapı girişi düşük olduğunda kapanır ve çıkışını yüksek çekebilir. 6502 gibi mikroişlemcilerde kullanılan NMOS transistörlerine aşina iseniz, PMOS biraz kafa karıştırıcı olabilir, çünkü her şey geriye dönüktür.
Aşağıda gösterildiği gibi basit bir PMOS NAND geçidi yapılabilir. Her iki giriş de yüksek olduğunda, transistörler kapalıdır ve direnç çıkışı düşük seviyeye çeker. Herhangi bir giriş düşük olduğunda, transistör çıkışı +5'e bağlayarak çalışacaktır. Böylece devre bir NAND geçidi uygular. 5 volt TTL devreleri ile uyumluluk için PMOS geçidi (ve böylece 8008) alışılmadık voltajlarla çalışır: -9V ve + 5V.
PMOS mantığıyla uygulanan bir NAND geçidi.
Teknik nedenlerle, direnç aslında bir transistör ile uygulanır. Aşağıdaki şemada, transistörün aşağı çekme direnci olarak işlev görmek üzere nasıl bağlandığı gösterilmektedir. Sağdaki ayrıntı, bu devrenin yonga üzerinde nasıl göründüğünü gösterir. -9V metal tel üstte, transistör ortada ve çıkış altta silikon teldir.
PMOS'ta, bir transistör (orta) ile bir çekme direnci (sol) uygulanır. Sağdaki fotoğraf 8008 mikroişlemcide gerçek bir açılır menü gösterir.
8008'in tarihi
8008'in karmaşık hikayesi Veri Noktası 2200, 1970 yılında programlanabilir bir terminal olarak tanıtılan popüler bir bilgisayar. (Bazı insanlar Datapoint 2200'ü ilk kişisel bilgisayar.) Datapoint 2200, bir mikroişlemci kullanmak yerine, tek tek TTL yongalarından kart boyutunda bir CPU derlemesi içeriyordu. (Bu, mini bilgisayar çağında bir CPU oluşturmanın standart yoluydu.) Datapoint ve Intel, bu kartı tek bir MOS yongası ile değiştirmenin mümkün olacağına karar verdiler ve Intel, 8008 projesini bu yongayı inşa etmek için başlattı. Biraz sonra Texas Instruments, Datapoint için tek yongalı bir işlemci oluşturmayı da kabul etti. Her iki yonga, Datapoint 2200'ün 8 bitlik komut seti ve mimarisiyle uyumlu olacak şekilde tasarlanmıştır.
8008 işlemci ilk olarak 25 Ekim 1970'te "Electronic Design" da açıklandı. Intel, çipin Ocak 1971'de teslim edileceğini iddia etmesine rağmen, gerçek teslimat, Nisan 1972'de bir yıldan fazla oldu.
Mart 1971 civarında, Texas Instruments işlemci çipini tamamladı ve TMC 1795. Projeyi geciktirdikten sonra Intel, 8008 yongasını daha sonra, 1971'in sonunda tamamladı. Çeşitli nedenlerle, Datapoint her iki mikroişlemciyi reddetti ve daha yeni TTL yongalarına dayanan daha hızlı bir CPU oluşturdu. 74181 ALU yongası. TI, TMC 1795 işlemcisini Ford gibi şirketlere pazarlamakta başarısız oldu, ancak işlemciyi terk etti ve bunun yerine yüksek kazançlı hesap cipslerine odaklandı. Öte yandan Intel, 8008'i genel amaçlı bir mikroişlemci olarak pazarladı ve bu da muhtemelen şu anda kullandığınız x86 mimarisine yol açtı. TI 8-bit işlemcide ilk olmasına rağmen, mikroişlemci endüstrisini yaratan çiplerini başarılı kılan Intel'di.
8008 soy ağacı ve bazı ilgili işlemciler. Siyah oklar geriye dönük uyumluluğu gösterir. Açık oklar önemli mimari değişiklikleri gösterir.
Yukarıdaki şema 8008'in "aile ağacını" ve ilgili bazı işlemcileri özetlemektedir.10 Datapoint 2200'ün mimarisi TMC 1795, Intel 8008 ve sonraki Datapoint 2200 sürümünde kullanıldı11. Böylece, Datapoint 2200'ün komut seti ve mimarisi kullanılarak tamamen farklı dört işlemci inşa edildi. Intel 8080 işlemci 8008'in çok gelişmiş bir versiyonuydu. 8008'in talimat setini önemli ölçüde genişletti ve verimlilik için makine kodu talimatlarını yeniden sıraladı. 8080, Altair ve Imsai gibi çığır açan ilk mikrobilgisayarlarda kullanıldı. 4004 ve 8080 üzerinde çalıştıktan sonra tasarımcılar Federico Faggin ve Masatoshi Shima, Intel'i 8080'de geliştirilen ve çok popüler hale gelen Zilog Z-80 mikroişlemciyi inşa etmek için terk etti.
16-bit 8086 işlemciye atlama çok daha az evrimseldi. 8080 montaj kodunun çoğu, komut kümesi ve mimari kökten değiştiğinden, önemsiz bir şekilde 8086'da çalıştırılmak üzere dönüştürülebilir. Bununla birlikte, Datapoint 2200'ün bazı özellikleri günümüzün x86 işlemcilerinde hala mevcuttur. Örneğin, Datapoint 2200 bir seferde bir bit bayt işleyen bir seri işlemciye sahipti. Önce en düşük bitin işlenmesi gerektiğinden, Datapoint 2200 küçük endian. Uyumluluk için 8008 küçük endiandı ve Intel'in işlemcilerinde de durum böyle. Datapoint 2200'ün diğer bir özelliği parite bayrağıydı, çünkü parite hesaplaması terminalin iletişimi için önemliydi. Eşlik bayrağı x86 mimarisine devam etmiştir.
8008, Intel'in 4-bit 4004 işlemcisiyle mimari olarak ilgisiz12. 8008 hiçbir şekilde 4-bit 4004'ün 8-bit versiyonu değildir. Benzer isimler tamamen bir pazarlama buluşudur; tasarım aşamasında 8008'de "1201" harfi var.
8008'in yarı iletken teknolojisi tarihine nasıl uyduğu
4004 ve 8008'in her ikisi de, sadece kısa bir süre kullanılan yarı iletken bir teknoloji olan silikon geçit geliştirme modu PMOS'u kullandı. Bu, talaşları imalat teknolojisinde ilginç bir noktaya getirir.
8008 (ve modern işlemciler) MOS transistörlerini kullanır. Bu transistörler, 1960'ların çoğu bilgisayarında kullanılan iki kutuplu transistörlerden daha yavaş ve daha az güvenilir olmak için uzun bir kabul yoluna sahipti. 1960'ların sonunda, MOS entegre devreleri daha yaygın hale geliyordu; standart teknoloji metal geçitli PMOS transistörlerdi. Transistörün kapıları, çipin bileşenlerini bağlamak için de kullanılan metalden oluşuyordu. Cipsler aslında iki işlevsellik katmanına sahipti: silikonun kendisi ve üstteki metal kablolama. Bu teknoloji, birçok Texas Instruments hesap cipsinin yanı sıra TMC 1795 çipinde (8008 ile aynı talimatlara sahip çip) kullanıldı.
8008'i pratik yapan önemli bir yenilik, kendinden hizalı kapı—Metal yerine bir polisilikon geçit kullanan bir transistör. Bu teknoloji Fairchild ve Bell Labs tarafından icat edilmiş olsa da, teknolojiyi öne çıkaran Intel'di. Polisilikon geçit transistörleri metal geçitten çok daha iyi bir performansa sahipti (karmaşık yarı iletken nedenlerden dolayı). Buna ek olarak, çip içindeki sinyallerin yönlendirilmesini çok daha kolay hale getirerek, çipleri daha yoğun hale getiren bir polisilikon tabaka eklemek. Aşağıdaki şema kendiliğinden hizalanan kapıların faydasını göstermektedir: metal geçit TMC 1795, birleştirilmiş 4004 ve 8008 yongalarından daha büyüktür.
Intel'in 4004 ve 8008 işlemcileri, büyük ölçüde kendiliğinden hizalanan kapılar kullanmaları nedeniyle, Texas Instruments TMC 1795 yongasından çok daha yoğundur.
Kısa bir süre sonra, yarı iletken teknolojisi PMOS transistörleri yerine NMOS transistörlerinin kullanımı ile tekrar gelişti. PMOS transistörlerinin başlangıçta üretimi daha kolay olmasına rağmen, NMOS transistörleri daha hızlıdır, bu nedenle NMOS güvenilir bir şekilde üretilebildiğinde, açık bir kazançtı. NMOS daha güçlü çiplere yol açtı. Intel 8080 ve Motorola 6800 (her ikisi de 1974). Bu zamanın bir başka teknoloji gelişimi, transistörlerin özelliklerini değiştirmek için iyon implantasyonuydu. Bu, çekme dirençleri olarak kullanılmak üzere "tükenme modu" transistörlerinin oluşturulmasına izin verdi. Bu transistörler talaş performansını iyileştirdi ve güç tüketimini azalttı. Ayrıca standart beş voltluk beslemelerde çalışan yongaların oluşturulmasına izin verdiler.13 NMOS transistörleri ve tükenme modu pull-up'larının kombinasyonu, 6502 (1975), Z-80 (1976), 68000 (1979) ve Intel yongaları gibi 1970'lerin sonları ve 1980'lerin başlarındaki mikroişlemcilerin çoğu için kullanıldı. 8085 (1976) 'dan 80286 (1982)' ye kadar.
1980'lerin ortalarında, CMOS, güç tüketimini önemli ölçüde azaltmak için NMOS ve PMOS transistörlerini birlikte kullanarak 80386 (1986), 68020 (1984) ve ARM1 (1985). Şimdi neredeyse tüm çipler CMOS.14
Gördüğünüz gibi, 1970'ler yarı iletken yonga teknolojisinde büyük değişikliklerin yaşandığı bir dönemdi. 4004 ve 8008, teknolojik yetenek doğru pazarla kesiştiğinde yaratıldı.
Kalıp fotoğrafları nasıl çekilir
Bu bölümde, 8008 ölümü fotoğraflarını nasıl aldığımı açıklıyorum. İlk adım kalıbı açığa çıkarmak için talaş paketini açmaktır. Çiplerin çoğu, çözülebilen epoksi ambalajlarda gelir tehlikeli asitler.
Seramik pakette 8008 mikroişlemci
Nitrik asit kaynatmaktan kaçınacağım için daha basit bir yaklaşım izledim. 8008, eBay'de aldığım seramik bir pakette (yukarıda) da mevcut. Çipi dikiş boyunca bir keski ile hafifçe vurmak, iki seramik tabakayı birbirinden ayırır. Aşağıdaki fotoğraf seramik paketin alt yarısını kalıp açıkta gösterecek şekilde göstermektedir. Metal pimlerin çoğu çıkarılmıştır, ancak paketteki konumları görülebilir. Kalıbın sağında küçük bir kare vardır; bu, zemini (Vcc) substrata bağlar. Kalıba bağlı birkaç küçük bağ teli hala görülebilir.
8008 mikroişlemcinin paketinin içinde silikon kalıp görülebilir.
Kalıp açıldıktan sonra, fotoğraf çekmek için bir mikroskop kullanılabilir. Standart bir mikroskop ışığı aşağıdan aydınlatır, bu da kalıp fotoğrafları için iyi çalışmaz. Bunun yerine, metalurjik mikroskopçipi aydınlatmak için ışığı yukarıdan parlatır.
Mikroskopta 48 fotoğraf çektim ve sonra onları yüksek çözünürlüklü bir görüntüde birleştirmek için Hugin dikiş yazılımını kullandım (ayrıntılar). Son olarak, çip yapılarını daha görünür hale getirmek için görüntü kontrastını ayarladım. Orijinal görüntü (mikroskopta yaklaşık olarak gördüğünüz görüntü) karşılaştırma için aşağıdadır.
8008 mikroişlemcinin kalıp fotoğrafı
Sonuç
Kullandığımız devreyi ortaya çıkaran 8008'in ayrıntılı kalıp fotoğraflarını çektim. 8008 ilk mikroişlemci ve hatta ilk 8-bit mikroişlemci olmasa da, mikroişlemci devrimini tetikleyen ve bugün kişisel bilgisayarlara hükmeden x86 mimarisine yol açan gerçekten devrimciydi. Gelecek yazılarda, günümüz bilgisayarlarının köklerine bir bakış sağlamak için 8008 devrelerini ayrıntılı olarak açıklamayı planlıyorum.