- 1993’te çıkan Intel Pentium, 3,3 milyon transistöre sahip karmaşık bir çipti; ancak modern çiplerin aksine transistörleri mikroskopla görülebildiği için içerideki kapı uygulamalarını doğrudan izlemek mümkün
- Standart hücre tasarımı, kapılar ve flip-flop’lar gibi düşük seviyeli devreleri yeniden kullanılabilir hücreler hâline getirip bunları satırlar halinde yerleştirerek otomatik yerleşim ve yönlendirmeye uygun hâle getiren bir yöntemdir
- Pentium kalıbında standart hücre alanları düzenli şeritler gibi görünür; önbellek, veri yolu ve mikrokod ROM’u gibi elle optimize edilmiş bloklar ise daha yoğun ve koyu görünerek ayrılır
- P54C serisi Pentium, 600 nm süreç, 3,3 V ve 4 metal kablolama katmanı kullanır; CMOS kapıların yanı sıra sinyal gecikmesini %35’e kadar azaltan BiCMOS devrelerden de yaygın biçimde yararlanır
- İnvertör, NAND, OR-NAND, latch, flip-flop ve BiCMOS buffer’ların hepsi küçük transistör devrelerinin kombinasyonlarıdır; Pentium, 1990’ların standart hücre ve BiCMOS dijital tasarımını gözlemlemek için bir örnektir
Pentium kalıbında görülen standart hücre yapısı
- Intel, 1993’te Pentium işlemcisini piyasaya sürdü; ardından Pentium Pro, Pentium II gibi ürünlerle devam ederek Core işlemciler 2006’da ana ürün hattının yerini alana kadar yüksek performanslı işlemci markası olarak kaldı
- Orijinal Pentium, 3,3 milyon transistöre sahip karmaşık bir çip olsa da modern çiplerin aksine transistörleri mikroskopla görülebilir
- Metal kablolama katmanları kaldırılmış kalıp fotoğrafında silikon ve tekil transistörler ortaya çıkar
- Standart hücre devreleri tekdüze sütunlar halinde yerleştiği için şerit biçimi gösterir
- Elle optimize edilmiş işlev blokları daha yoğun, daha yapısal ve daha koyu görünür
- Örnekler soldaki önbellek, ortadaki veri yolu ve sağdaki mikrokod ROM’udur
Elle yerleşimden standart hücreye
- 1970’lerin ilk işlemcilerinde transistörler genellikle tek tek elle yerleştirilirdi
- Bu yöntem yüksek yoğunluk sağlayabiliyordu, ancak yavaş, zor ve hataya açıktı
- Z80 tasarımcısı Federico Faggin, son birkaç transistör sığmadığı için üç haftalık işi silip yeniden başlamak zorunda kalmıştı
- Standart hücre, her kapıyı, flip-flop’u ve düşük seviyeli bileşeni uygulayan bir hücre kütüphanesi oluşturup yeniden kullanma yöntemidir
- Her hücrenin yüksekliği sabittir, genişliği ise ihtiyaca göre değişir
- Hücreler satırlar halinde yerleştirilebildiğinden otomasyona uygundur
- CMOS standart hücre satırı genellikle birbirine yakın iki şerit gibi görünür
- Biri NMOS transistör alanıdır
- Diğeri PMOS transistör alanıdır
- Satırlar arasındaki boşluk, hücreler arası kablolama için yönlendirme kanalı olarak kullanılır
- Güç ve toprak, her satırın üstü ve altı boyunca yerleştirilir
Otomatik yerleşim ve yönlendirmenin yaptığı iş
- Standart hücrenin sabit yapısı, otomatik yerleşim ve yönlendirme yazılımının yerleşim üretmesini kolaylaştırır
- Yerleşim aşaması, bağlı hücreler arasındaki mesafeyi azaltan bir hücre düzeni bulur
- Uzun kablolar kalıp alanını boşa harcar
- Uzun yollar kapasitansı artırarak sinyali yavaşlatır
- Yönlendirme aşaması, yerleştirilmiş hücreleri gerçek metal kablolamayla bağlar
- Yerleşim ve yönlendirmenin ikisi de NP-complete optimizasyon problemleridir
- Intel, 386 işlemcisinden itibaren otomatik yerleşim ve yönlendirme tekniklerini kullanmaya başladı
- Yerleşim, Berkeley’de bir lisansüstü öğrencisi tarafından geliştirilen Timberwolf programıyla yapıldı
- Yönlendirme için Intel’in oluşturduğu yinelemeli sezgisel yaklaşıma dayalı özel yazılım kullanıldı
- Standart hücre tasarımı günümüz işlemcilerinde de kullanılıyor, ancak yazılım çok daha gelişmiş durumda
Pentium’un CMOS temel yapısı
- Modern işlemciler CMOS devreleri kullanır; CMOS, NMOS ve PMOS adlı iki tür transistörü birleştirir
- NMOS transistör, gate’i yüksek olduğunda açılır; PMOS transistör ise gate’i düşük olduğunda açılır
- NMOS, çıkışı düşük gerilime çekmek için uygundur
- PMOS, çıkışı yüksek gerilime çekmek için uygundur
- CMOS’taki “C”, Complementary anlamına gelir; NMOS ve PMOS birlikte çalışarak çıkışı yüksek ya da düşük yapar
- NMOS ve PMOS, yarı iletken fiziği özellikleri nedeniyle tamamen simetrik değildir; PMOS’un genellikle NMOS’tan daha büyük olması gerekir
- Bu fark, kalıp fotoğrafında PMOS ile NMOS’u ayırt etmeye yarayan bir ipucudur
4 metal katmandan oluşan kablolama
- P54C sürümü Pentium, 4 metal kablolama katmanı kullanır
- İlk Pentium 3 metal katman kullanıyordu, ancak P54C kalıbından itibaren 4 katmanlı sürece geçildi
- Silikon yüzeyinde katkılanmış bölgeler bulunur ve bunların üzerinde polisilikon kablolama oluşur
- Polisilikon katkılanmış silikonu kestiğinde transistörün gate’i olur
- Polisilikon kısa mesafeli kablolama için de kullanılır
- Metal katmanlar M1’den M4’e kadar numaralandırılır
- M1 en alttaki metal katmandır
- M4 en üst metal katmandır ve en kalın olduğu için çoğunlukla güç, toprak ve saat sinyalleri için kullanılır
- Metal katmanlar arasındaki bağlantı, tungsten tapa biçimindeki via’larla yapılır
- Yalnızca M1, contact üzerinden doğrudan silikon veya polisilikonla bağlanır
- Kablolama katmanları, sinyallerin birbirini kesebilmesi için genellikle yerel olarak yatay ve dikey yönleri dönüşümlü kullanır
- Otomatik yerleşim ve yönlendirme yazılımı, milyonlarca karmaşık kablolama yolunu mümkün olduğunca yoğun biçimde oluşturmak zorundadır
İnvertör ve NAND kapısı
- CMOS invertör, 1 PMOS ve 1 NMOS’tan oluşur
- Giriş 1 ise NMOS açılır ve çıkış 0’a iner
- Giriş 0 ise PMOS açılır ve çıkış 1’e yükselir
- Pentium’un standart hücre invertörü de aynı iki transistörlü yapıya sahiptir
- Giriş, iki transistörün polisilikon gate’lerine bağlıdır
- Çıkış metal kablolaması iki transistöre bağlanır
- PMOS’un bulunduğu N katkılı well, +3,3 V’a bağlı well tap ile pozitif gerilimde tutulur
- Pentium 600 nm süreç ile üretildi ve polisilikon çizgi genişliği de yaklaşık 600 nm’dir
- Görünür ışığın 400–700 nm dalga boyuna benzer boyutta olduğu için mikroskop fotoğrafları bir miktar bulanık görünür
- CMOS NAND kapısı, 2 PMOS ve 2 NMOS’tan oluşur
- İki girişin ikisi de yüksekse iki NMOS açılır ve çıkış düşük olur
- Girişlerden biri düşükse PMOS açılır ve çıkış yüksek olur
- Pentium’un NAND standart hücresinde iki polisilikon çizgi, katkılanmış silikonu keserek dört transistör oluşturur
- PMOS tarafındaki çıkış ortadan çıkarak paralel bağlantı oluşturur
- NMOS tarafındaki çıkış sağdan çıkarak seri bağlantı oluşturur
- Aynı NAND standart hücresinde bile giriş, çıkış ve güç bağlantı konumlarına göre ayrıntılı kablolama ve polisilikon uzunluğu değişir
- Standart hücreler basit kopyalar değildir; her konuma göre ayarlanır
- Komşu hücreler, PMOS transistörler birbirine temas edecek şekilde sıkıştırılarak yoğunluk biraz artırılır
Bileşik kapılar ve latch
- Standart hücre kütüphanesi yalnızca basit kapıları değil bileşik kapıları da içerir
- 5 girişli OR-NAND kapısı
~((A+B+C+D)⋅E)hesaplar- NMOS devresinde
A–Dparalel,Eseri bağlıdır - PMOS devresinde ise bunun tersi olarak
A–Dseri,Eparalel bağlıdır - Yeterli akımı sağlamak için PMOS tarafında iki adet
A–Dtransistör seti bulunur; bu yüzden NMOS bloğundan çok daha büyüktür
- NMOS devresinde
- Latch, Pentium devresinin temel bileşenlerinden biridir ve saatle kontrol edilen 1 bitlik bir saklama devresidir
- Saat yüksekken girişin hemen çıkışta göründüğü şeffaf durumda olur
- Saat düşükken önceki değeri korur
- Latch, çıkışın tekrar giriş tarafına döndüğü bir geri besleme döngüsüyle uygulanır
- Merkezde önceki çıkış ile yeni girişten birini seçen bir multiplexer bulunur
- İnvertör, geri besleme sinyalinin zayıflamaması için yükseltir ve çıkışın diğer devreleri sürebilmesini sağlar
Pass transistor multiplexer
- Latch içindeki multiplexer pass transistor kullanır
- Normal mantık kapıları gibi çıkışı güç ya da toprağa çekmek yerine giriş sinyalini çıkışa geçirir
- select sinyali düşükse birinci girişe bağlı transistör çifti açılır ve ikinci giriş kesilir
- select sinyali yüksekse ikinci girişe bağlı transistör çifti açılır ve birinci giriş kesilir
- Multiplexer’ın transistör gate polaritesi normal mantık kapılarından farklıdır
- Mantık kapıları, NMOS veya PMOS’tan biri açılarak çıkışı düşük ya da yüksek çekebilsin diye aynı polaritede gate sinyali kullanır
- Multiplexer’da karşılık gelen PMOS ve NMOS’un aynı anda açılıp sinyali geçirmesi gerektiğinden zıt polaritede gate sinyali gerekir
- Bu nedenle multiplexer, gerekli zıt polariteli sinyali üreten bir invertör içerir
Flip-flop uygulaması
- Pentium flip-flop’ları yaygın biçimde kullanır
- Flip-flop, latch’e benzer; ancak saat seviyesine değil saat kenarına tepki verir
- Saatin düşükten yükseğe geçtiği andaki girişi hatırlar
- Bu değeri çıkış olarak sağlar
- Bu fark nedeniyle flip-flop’lar sayaçlar, durum makineleri ve diğer saatli devrelerde daha kullanışlıdır
- Pentium’un flip-flop’u iki latch’ten oluşur
- primary latch, saat düşükken değeri geçirir; saat yüksekken değeri korur
- secondary latch bunun tersi saat davranışına sahiptir
- Saat düşükten yükseğe geçtiğinde primary latch güncellemeyi durdururken secondary latch o değeri geçirir
- Bazı varyantlar, küçük mantık değişiklikleriyle set veya reset girişine sahiptir
- set ve reset, saati bypass ederek çıkışı istenen duruma zorlar
- İşlemci başlarken flip-flop’ları istenen değere başlatmak için kullanışlıdır
BiCMOS buffer ve 1990’ların Pentium özellikleri
- Pentium yalnızca CMOS ile değil BiCMOS süreciyle de üretildi
- Standart CMOS üretim sürecine birkaç adım eklenerek bipolar transistörler olan NPN ve PNP üretilebilir
- BiCMOS devreleri Pentium’da yaygın biçimde kullanıldı ve sinyal gecikmesini %35’e kadar azalttı
- Intel, Pentium Pro, Pentium II, Pentium III ve Xeon’da da BiCMOS kullandı; ancak Pentium MMX’te kullanmadı
- Çip gerilimi düştükçe bipolar transistörlerin avantajı da azaldı ve BiCMOS sonunda dijital devrelerde kullanılmaz oldu
- Pentium’un standart hücre BiCMOS buffer’ı CMOS buffer’dan daha karmaşıktır
- 2 invertör
- NPN pull-up transistör
- NMOS pull-down transistör
- PMOS pull-up transistörden oluşur
- Kalıp fotoğrafında NPN transistör, NMOS ve PMOS’un doğrusal yapısından farklı olarak dairesel bir yapı gösterir ve çok daha büyüktür
- Çıkış metal kablolaması da normal sinyal kablolamasından daha kalındır; bu da yüksek akım sürme yeteneğini gösterir
P54C sürümünde görülen farklar
- Analiz edilen örnek, orijinal Pentium’un P54C sürümüdür
- İlk Pentium ürünü olan 80501, kod adı P5, 60 veya 66 MHz’de çalışıyor, 5 V kullanıyor, 800 nm süreçte üretiliyor ve 3,1 milyon transistöre sahipti
- Intel güç tüketimi sorunlarını iyileştirerek 80502’yi, kod adı P54C’yi geliştirdi
- 3,3 V kullanır
- 75–120 MHz’de çalışır
- Çoklu işlem desteği eklendiği için transistör sayısı 3,3 milyona yükselmiştir
- Harici veri yolu hızını 50–66 MHz’de düşük tutarken iç saat hızını 100 MHz’e kadar çıkarabilen daha gelişmiş saat devrelerine sahiptir
- 600 nm süreç ve 4 metal katman kullanır
- P54C kalıbı görsel olarak P5’e neredeyse aynıdır, ancak alt kısımda çoklu işlem mantığı eklenmiş ve üst kısımda saat devresi bulunur
- Standart hücrelerin diğer orijinal Pentium sürümlerinde de benzer olması muhtemeldir
Karmaşık işlemciyi oluşturan basit devreler
- Standart hücre yerleşimi modern çiplerde de yaygın biçimde kullanılır
- Modern işlemciler nanometre ölçekli transistörleri nedeniyle mikroskopla incelemek için çok küçüktür; ancak Pentium’un özellikleri devreleri gözlemleyip tersine mühendislik yapmaya yetecek kadar büyüktür
- Pentium’un tüm standart hücre kütüphanesi çok daha büyüktür ve onlarca ila yüzlerce hücre türü içerir
- Çeşitli mantık kapıları
- Çeşitli boyutlar
- Farklı sürme güçlerine sahip hücreler içerir
- Pentium’un BiCMOS kullanımı, 1990’larda popülerliğinin zirvesinde olan bir teknolojik özelliktir
- BiCMOS, değişen ödünleşimler nedeniyle dijital devrelerde daha az pratik hâle gelmiş olsa da analog IC’lerde, özellikle yüksek frekanslı uygulamalarda hâlâ önemli bir rol oynar
- Pentium’a yakından bakıldığında karmaşık bir işlemcinin bile basit transistör devrelerinin birleşiminden oluştuğu görülebilir
1 yorum
Hacker News yorumları
Intel, 386 işlemcisinden itibaren otomatik yerleştirme ve yönlendirme tekniklerini kullanmaya başladı; çünkü bu, elle yapılan yerleşimden çok daha hızlıydı ve hataları da büyük ölçüde azaltıyordu.
Yerleştirme, Berkeley yüksek lisans öğrencisi Carl Sechen’in geliştirdiği Timberwolf adlı programla yapıldı; danışmanı Alberto Sangiovanni-Vincentelli’ydi.
https://ieeexplore.ieee.org/document/1052337
https://archive.computerhistory.org/resources/text/Oral_Hist...
Intel içinde ne otomatik yerleştirme ne de otomatik yönlendirme vardı; bu yüzden işi zamanında bitirip bitiremeyeceklerinden ve çip alanının büyüyüp sığmayacağından endişe ettiklerini söylüyorlar. Berkeley’deki bir yüksek lisans öğrencisinden Timberwolf adlı otomatik yerleştirme programını alıp incelemişler; yeterince kullanılabilir göründüğü için de kullanmışlar.
O öğrenci başka bir proje nedeniyle MIT’ye geçtikten sonra bile kampüsteki odasında bir terminal tutmuş ve hata çıktıkça düzeltmiş; bazen onun düzeltmesinin bitmesini beklemek zorunda kalıp tıkandıkları da olmuş. “Yönetim, temel metodolojide bir yüksek lisans öğrencisinin aracını kullandığımızı bilseydi buna asla izin vermezdi” şeklinde bir söz de geçiyor.
Right-o’da da i386’nın standart hücre yerleştirme ve yönlendirmesiyle ilgili bir yazı vardı; panel röportajı bağlantısıyla birlikte i386 kalıbında standart hücrelerin kullanıldığı belirli bölgeler de işaretlenmişti.
https://www.righto.com/2024/01/intel-386-standard-cells.html
Görseller hiç görünmüyor; neden Cloudflare gibi görünüyor.
Sayfaya girince CF’nin “are you human” doğrulamasını geçebiliyorsunuz, ancak her görsel yüklemesine de aynı doğrulama takılıyor ve o doğrulama ekranı kullanıcıya gösterilmiyor. Sonuçta görsel yerine bir HTML sayfası dönüyor ve görseller yüklenmiyor.
Sanki captcha’dan önce zaten reddetmişler de eğlenmek için uğraştırıyorlarmış gibiydi. Daha da tuhafı, VirusTotal’ın captcha sayfasında ikinci bir yükleme formu göstermesiydi; o formun kendisinde ise captcha yoktu.
Panoda da Cloudflare’ın devrede olduğu görünmüyor.
“Modern işlemciler, nanometre ölçeğindeki transistörler yüzünden mikroskopla görülemeyecek kadar küçük”se, Ken’e iyi bir elektron mikroskobu almak için hep birlikte bağış toplamamız gerekmiyor mu diye düşünüyorum.
Modern EDA yazılımları, standart hücrelere dayanmak zorunda kalmadan transistörleri kendi başına yerleştirecek kadar gelişmiş değil mi?
Daha iyi bir EDA yazılımı tasarlayıp geliştirmeye yönelik bir proje yürüttüm; bu araç, her transistörü simüle edip optimize ederek düşük güç, yüksek hız ve düşük maliyet elde edecek şekilde şekillendirip yerleştirebiliyor.
Dezavantajı, mevcut EDA’ya göre çok daha fazla transistör birimiyle uğraştığı için 100 bin dolar sınıfı küçük bir süper bilgisayarda ya da FPGA kümesinde çalıştırılması gerekmesi. Yine de mevcut EDA’dan daha ucuz olduğunu; daha hızlı, daha iyi ve daha ucuz çipler ile wafer’ların daha az transistörle üretilebileceğini düşünüyorum.
Yazılımın büyük resmi bu sunumda dolaylı olarak ele alındı: https://vimeo.com/731037615
EDA yazılımının kendisi hakkında da sunum yapmak isterim; davet ederseniz sevinirim.
Başka araştırmacılar ve şirketler de standart hücre kütüphaneleri ile PDK’lerin ötesine geçip transistör tasarımını ve yerleşimini optimize edebileceklerini gösterdi; örneğin bu örnek kendi EDA yazılımlarıyla yapıldı: https://www.micromagic.com/news/Ultra-Low-Power_PressRelease...
Apple’ın M1, M2, M3, M4, M5 ve özellikle üst seviye M2 ile M5 Ultra çiplerinde bu yöntemi kullandığından oldukça eminim, ancak kesin kanıtım yok.
Şu anda kullandıklarımızdan daha iyi EDA yazılımları (CAD=> SYM=> FAB) kullanmak bile insanlığın 3-4 basamak daha hızlı bilgisayar çipleri tasarlamasını ve en az 2 basamak daha az enerjiyle çok daha ucuza çip üretmesini sağlayabilir diye düşünüyorum. Moore Yasası bitmedi; bunu kanıtlamak için HN yorumundan daha fazlası gerekiyor.
Standart hücre yerleştirmesi bile sezgisel yöntemlerle çözülmek zorundayken, hücre seviyesinden transistör seviyesine inildiğinde problem boyutu büyür ve durum daha da kötüleşir.
Zaten mantık, flip-flop gibi standart kapılar ve mantık bloklarından oluştuğu için, bu yapı taşlarını uygulayan standart hücreleri kullanmanın getirdiği ek yük muhtemelen çok büyük değildir.
Bu nedenle mevcut hesaplama gücüne göre problem karmaşıklığı bir ölçüde sabit kaldı ve standart hücre tasarımı, EDA araçlarının çözmesi gereken problemin karmaşıklığını azaltmanın verimli bir yolu olmaya devam ediyor.
Mevcut nesilde veya sonraki nesilde bunun değişeceğini sanmıyorum. EDA alanında çalışıyorum.
Aksi halde verim kararsız ya da tamamen öngörülemez hale gelebilir.
Yazıda geçen standart hücrelerle günümüzdeki standart hücreler arasındaki farklardan biri, bugün metal katmanların artmasıyla yönlendirme kanallarının ortadan kalkmış olmasıdır.
O dönemde hücrenin üst ve altındaki Vdd ile toprak hatlarının üzerinden metal geçirmek zor olduğundan, polisilikon hatlar üst ve alt kenarlara kadar uzatılırdı. Bağlantılar, poliyi kanalın içine uzatıp hücreleri metalle birbirine bağlama şeklinde yapılırdı.
Bu yüzden fotoğrafta kapağı kaldırılmış poli hat tek parça gibi görünür; ancak tasarım açısından hücre içindeki bölüm standart, kanal içindeki bölüm ise özel tasarımdır.
Bu yöntem yalnızca poli ve metal 1 katmanı olsa bile çalışır; ancak yeterli metal katman varsa bağlantıları hücrenin içinden geçirmek mümkündür. Yine de giriş ve çıkışları transistörlere indiren vialardan kaçınmak gerekir.
Hücre satırlarını birer atlayarak ters çevirirseniz, iki satırın PMOS’ları Vdd rayını, iki satırın NMOS’ları da toprak rayını üst üste getirir; bu da ek bir kazanç sağlar.
Bir işlemciyi bu şekilde diseksiyon etmek, okulda kurbağa diseksiyonu gibi yapılabilecek eğlenceli bir eğitim etkinliği olabilir.
Hayvan hakları sorunu olmaması da bir avantajdır.
Epoksiyle kaplı bir çip değilse zor değildir; içini incelemek de eğlencelidir. Ayrıntılı görmek için metalurji mikroskobu gerekir, ama çıplak gözle bile ilginç yapılar görülebilir.
İşlemciler doğru şekilde ele alınırsa kurbağalardan çok daha uzun ömürlüdür ve kabaca yıpranmadıkları için tekrar tekrar kullanılabilirler. Yeni bir işlemci üretme sürecinin, diseksiyon için bir kurbağayı öldürmekten daha fazla kurbağaya daha büyük acı verebileceğini düşünüyorum.
Üstelik artık cebimizde video oynatıcılar var. Bir kurbağayı bizzat diseke etmek, başkasının diseksiyonunu izlemekten daha öğretici olabilir; ama iyi anlatılmış 20 diseksiyon videosu izlemekten daha öğretici olup olmadığı şüpheli. Bence ikisini de mutlaka yapmak gerekmiyor.
İlgilenenler için açık kaynak standart hücreler de var.
https://www.vlsitechnology.org/html/libraries.html
https://opensource.googleblog.com/2022/07/SkyWater-and-Googl...