CPU nasıl tasarlanır?


21

Bir süre önce elektronik cihazlarla oynamaya ve transistörleri kullanarak basit mantık kapıları yapmaya başladım. Modern entegre devrelerin transistör-transistör mantığı yerine CMOS kullandığını biliyorum. Merak etmeden edemediğim şey CPU'ların nasıl tasarlandığı.

Tasarım hala (alt) bir mantık kapısı seviyesinde yapılıyor mu, yoksa artık o alanda fazla yenilik yok mu ve daha yüksek bir soyutlama seviyesine geçtik mi? Bir ALU'nun nasıl inşa edildiğini anlıyorum, ancak CPU'larda bundan daha fazlası var.

Milyarlarca transistörün tasarımı nereden geliyor? Çoğunlukla yazılım tarafından otomatik olarak oluşturuluyor mu yoksa hala çok fazla manuel optimizasyon var mı?


2
Verilog veya VHDL diyebilirim.
avakar

3
Bu konular büyüleyici olsa da, "karşılaştığınız gerçek sorunlara dayanan pratik, yanıtlanabilir sorular" dan çok uzak görünüyor . Ayrıca bu soruyu cevaplayan kitabın tamamını hayal edebiliyorum.
Martin

1
@Overv, hala birbirine bağladığınız taban bloklarınızın kapı seviyesinde optimize edildiğinden emin olduğunuz hala çok iş var, o zaman bu optimize edilmiş blokları optimize edilmiş bir şekilde takın!
Kortuk

13
Yeniden açmak için oy kullandım - “İşlemcinin tamamını sıfırdan inşa etmek için bilmeniz gereken her şeyi” söyleyen tam bir cevabın bu site için iyi bir eşleşme olmadığını kabul ederken, kısa bir genel bakış ve birkaç bağlantı olacağını düşünüyorum. Burada iyi bir cevap.
davidcary,

1
Yarı iletken sektöründe çalışan ve burada daha karmaşık ASIC tasarımı hakkında yorum yapabilen hiç kimsemiz olmadığı için şaşırdım. Uzman olmadığımdan, duyduğum bazı şeyler var: IP çekirdeğinde çok fazla lisans var ve hepsinin bir araya getirildiği alana VLSI adı veriliyor. Tasarımın VHDL / Verilog'da son derece optimize edilmiş sentezleme araçlarıyla yapıldığına inanıyorum - bunun gofret seviyesine inmesi ve üretilmesi benim bilgimin ötesinde.
Jon L

Yanıtlar:


10

İşlemcilerin ve SoC'lerin Verilog ve VHDL (iki büyük oyuncu) gibi donanım açıklama dilleri tarafından kullanılması muhtemeldir.

Bu diller farklı soyutlama seviyelerine izin verir. VHDL'de mantık bloklarını varlık olarak tanımlayabilirsiniz; girişleri ve çıkış portlarını içerir. Blok içerisinde gerekli mantığı tanımlayabilirsiniz. A girişi, B girişi ve C çıkışı ile bir blok tanımladığınızı söyleyin. C = A ve B; 'yi kolayca yazabilirsiniz ve temel olarak bir AND port bloğu oluşturdunuz. Bu muhtemelen hayal edebileceğiniz en basit blok.

Dijital sistemler tipik olarak güçlü bir hiyerarşi ile tasarlanmıştır. Biri bir işlemcinin ihtiyaç duyduğu ana işlevlerle 'üst seviye' başlayabilir: işlemci (çoklu?) Bellek, PCI-express ve diğer veri yolları. Bu seviye içerisinde bellekler ve işlemciler arasındaki otobüsler ve iletişim sinyalleri önceden tanımlanmış olabilir.

Bir seviye aşağı indiğinizde, bir şey 'iş' yapmanın içsel çalışmalarını tanımlayacaktır. Bir mikroişlemci örneği alındığında, bir UART arayüzü içerebilir. İşlevsel bir UART yapmak için gereken gerçek mantık, aşağıda bir seviye tanımlanır. Burada, gerekli saati, arabellek verilerini (FIFO arabellekleri) oluşturmak ve bölmek, verileri CPU'ya (bir tür veriyoluna rapor etmek) için çok daha fazla mantık gerekebilir. sistem).

VHDL ve dijital tasarımın ilginç yanı blokların yeniden kullanılmasıdır. Örneğin, 2 UART oluşturmak için sadece UART bloğunu kopyalayıp yapıştırabilirsiniz (UART bloğu adresleme yeteneğine sahipse, belki de o kadar kolay olmayabilir!).

Bu tasarım, herhangi bir kapı seviyesinde tasarım değildir. VHDL, sonunda mantık kapılarına çevrilecek şekilde 'derlenebilir'. Bir makine, bunu bir insanın yapabileceğinden (ve daha hızlı) daha iyi optimize edebilir. Örneğin; A bloğunun iç kısımları, sinyali vermeden önce bir invertör gerektirir. B bloğu bu çıkış sinyalini alır ve bir kez daha tersine çevirir. Peki, serideki 2 invertör pek doğru değil mi? Doğru, böylece onları dışarıda bırakabilirsin. Bununla birlikte, 'üst seviye' tasarımda iki invertörü seri olarak göremezsiniz. Sadece iki portun bağlı olduğunu görürsünüz. Bir derleyici bu insandan çok daha hızlı optimize edebilir.

Temel olarak dijital sistem tasarımının içerdiği mantığın nasıl davranması gerektiğinin tanımıdır ve bilgisayar, tek tek mantık kapılarını yerleştirmenin en etkili yolunun ne olduğunu bulmak için kullanılır.


Yazılımda montaj kodu için hala bir yer olduğundan, bazı durumlarda düşük seviye donanım tasarımı düşük maliyetli olabilir. Örneğin, SRAM hücreleri genellikle o kadar yaygın kullanılır ki, özellikle Intel gibi entegre bir tasarım üreticisinde yoğunluk (son seviye önbellek), erişim gecikmesi (L1 önbellek) veya diğer özellikler için en iyi duruma getirilmiş tasarımlar geliştirilir.
Paul A. Clayton

@ Benim için ilginç olan soruyu saptayın, Intel'in tasarımlarını elle optimize etmek için ne kadar yatırım yaptığı ve dinamik olarak ve daha genel olarak aynı performans geliştirmelerini sağlayan yazılım optimizasyonu geçişleri.
Ponkadoodle

6

Önceki yorumlarımı basitleştirip genişletmeme ve ihtiyacı olanlara noktaları birleştirmeme izin verin.

Tasarım hala (alt) bir mantık kapısı seviyesinde yapılıyor mu?

  • EVET

Tasarım birçok seviyede yapılır, alt mantık seviyesi her zaman farklıdır . Her fabrikasyon küçültme, bir transistörün yapısı değiştiğinden ve geometrinin de değişmesiyle her binaryerde aşağıya düşen her iki milyarda bir maliyeti düşürürken değişimleri telafi etmek için değiştiğinden, en parlak fizik, kimya ve litografik süreç deneyimini talep eder . boyut. 14nm geometriye ulaşmak için Ar-Ge, proses kontrolü ve yönetimi konularında muazzam bir taahhüt ve bu hala yetersiz kalıyor!görüntü tanımını buraya girin

Örneğin, bunu yapmak için gereken iş becerileri; - "FET, hücre ve blok düzeyinde özel düzenler, FUB düzeyinde kat planları, soyut görünüm oluşturma, RC çıkarımı ve parazitik çıkarım, statik zamanlama, kablo yükü dahil fiziksel tasarım geliştirme aşamalarını kullanarak şema-düzen doğrulaması ve hata ayıklama modeller, saat üretimi, özel çokgen düzenleme, otomatik yerleştirme ve rota algoritmaları, kat planlaması, tam talaş montajı, paketleme ve doğrulama. "*

- Artık o alanda fazla yenilik yok mu? - YANLIŞ - Semiconductor Physics'te Moore Yasası ve patent sayısına göre önemli ve ağır bir şekilde finanse edilen yenilik var, asla durmayacak. Güçten, ısıdan ve böylelikle kapasiteden tasarruf her zaman karşılığını veriyor.

- daha yüksek bir soyutlama seviyesine geçtik mi? - Hareket etmeyi asla bırakmadı. - Daha fazla çekirdeğe olan talep, ARM RISC CPU'lar, daha güçlü gömülü µC'ler veya MCU'lar, varsayılan olarak ECC'ye sahip DDR4'lü akıllı RAM ve acil bellek elde etmek için öncelikli bitlere sahip flash gibi sektörler gibi tek bir komutta daha fazlasını yapmak. - CPU gelişimi ve mimari değişiklikler asla durmayacak. görüntü tanımını buraya girin

Sana bir ipucu vereyim. Mühendisler için Intel, AMD, TI veya AD’de bir iş araması yapın ve iş tanımlarını görün.

- Milyarlarca transistörün tasarımı nereden geliyor? - Daha 64bit donanım bloğu eklemekten geldi. fakat şimdi nanotüp başarısızlığına uğramak, düşünmek blokların yukarıdan aşağıya yaklaşımından, onu çalıştırmak için nanotüplerin aşağıdan yukarıya yaklaşımına kadar değişmek zorunda.

  • Çoğunlukla yazılım tarafından otomatik olarak oluşturulur mı? dil sıkıca yanağına dikildi ...
  • Aslında hala Alan 51'den tasarımları uzay gemilerinden alıyorlar ve tamamen nano-nano tüp uyumlu olana kadar devam edecek bir yolu var. Bir mühendis kütüphaneye girer ve nVidia'ya, bize bu çipte buraya katılmanızı istediğimizi ve makro bloklara giren bir parça haline geleceğini söyledi. Düzen, Toystory'deki Karıncalar gibi çoğaltılabilir , ancak tüm bağlantılar üzerindeki açık kontrol, manuel olarak yönlendirilmeli / kontrol edilmeli, ayrıca karşılaştırma için DRC ve otomatik yönlendirmeyi kullanmalıdır. Evet, Otomasyon Araçları, çoğaltmayı ve zaman kaybını ortadan kaldırmak için sürekli yükseltilmektedir.

    - Hala çok fazla manuel optimizasyon var mı?

  • Bir havayolunun, First Class'taki akşam yemeğinden sadece 1 zeytin alarak, maaşınız için ödeme yapmak için yeterli para tasarrufu sağladığını göz önünde bulundurarak, Intel, zaman dilimi içinde mümkün olduğunca çok sayıda atomu çıkarmanın yollarını arayacak. Herhangi bir fazla kapasitans boşa harcanan ısı, performans ve oops da çok hızlı değil, daha fazla gürültü anlamına gelir ...

Fakat gerçekten CPU'lar Tokyo gibi büyüyor, bir gecede değil, ama onlarca milyon orada sürekli bir gelişme ile yaşıyor. Univ'te nasıl tasarım yapılacağını öğrenmedim. ama işlerin nasıl yürüdüğünü anlamaya çalışarak, endüstride oldukça hızlı bir şekilde hızlanabildiğimi gördüm. Havacılık, Nükleer Enstrüman tasarımı, SCADA tasarımı, Proses izleme, Anten tasarımı, Otomatik Hava İstasyonu tasarımı ve hata ayıklama, OCXO PLL'in VLF Rx's, Black Brandt Rockets'ın 2 yönlü uzaktan kumandası ... bu sadece benim ilk işimdi. Ne yapabileceğim hakkında hiçbir fikrim yoktu.

Milyarlarca transistör hakkında endişelenmeyin veya ne öğrenmeniz gerektiğinden veya ne kadar bilmeniz gerektiğinden korkmayın. Sadece tutkunuzu takip edin ve uykunuz arasındaki ticaret dergilerini okuyun, o zaman işte o kadar yeşil görünmeyeceksiniz ve artık iş gibi hissetmiyorsunuz.

Bir sınavın bir parçası olarak 20 dakika içinde bir kez "74" gibi bir Op Amp tasarladığımı hatırlıyorum. Hiç kullanmadım ama harika tasarımlardan iyi olanı tanıyabilirim. Ama o zaman sadece 20 transistörü vardı.görüntü tanımını buraya girin

Fakat bir CPU nasıl tasarlanır, yani; Neden bir işlemci tasarlayın ve aşağıdaki gibi başarmak için ölçülebilir ölçütler yapın; - Saniyedeki makro talimatları (MIPS) (CPU saatinden daha önemlidir), örneğin; - Intel'in Itanium yongası, Açıkça Paralel Yönelik Bilgi İşlem (EPIC) tasarımı olarak adlandırılan şeye dayanıyor. - Transmeta, çok uzun kullanım kelime kodlu morphing mikroişlemciler (VLIWCMM) ile CPU tasarımını patent aldı. 2006'da Intel'i dava ettiler, mağazayı kapattılar ve 2007'de ~ 200 milyon dolara yerleştiler. - Watt başına performans (PPW), güç maliyeti> çip maliyeti (sunucular için) - Matematiksel performans için saniyede Floo point Ops (FLOPS).

Daha birçok ölçüm var, ancak CPU'nun tasarım kalitesini asla GHz hızına dayandırmayın (bkz. Efsane)

Peki işlemciyi tasarlamak için hangi araçlara ihtiyaç var? Liste bu sayfada, atomik seviye fizik tasarımından dinamik ağ EMC fiziksel EM / RF tasarımına, gerekli becerilerin içerdiği Ön Uç Tasarım Doğrulama Test Mühendisine; - Ön uç RTL Simülasyonu - IA ve bilgisayar mimarisi ve sistem düzeyinde tasarım bilgisi - Mantık doğrulama ve VHDL veya Verilog kullanarak mantık simülasyonu. - Nesneye yönelik programlama ve çeşitli CPU, veri yolu / ara bağlantı, tutarlılık protokolleri.


6
"Verilog" ve "VHDL" sadece tüm bu saf ancak ilham arama sorularının yüzeyini çizer. Gerçek dünya senin düşündüğünden çok daha fazla dijital.
Tony Stewart Sunnyskyguy EE75

Herhangi bir yerde Op Amp devresinin bir açıklaması var mı? Görebildiğim tek şey kaskolanmış bir OTA, geri kalan kısım ise devre Voodoo.
CyberMen

3
Vay. Çok kötü, çoğunlukla soru ile ilgisi yok.
Dave Tweed

3
Bunun çok eğlenceli bir okuma olduğunu söylemeliyim. Yazarın, orijinal soruya değinmesi, okuyucunun zihnini sayılarla ve kelime haznesiyle uçurmaya teşebbüs etmesi ve ardından kendi kendine yardım sağlaması, ardından okul-çocuk günlerini sadece bir kibir ipucu ile anımsatması ve sonunda hareket etmesiyle aşamalı olarak kayması “Buraya asla özetleyemem o kadar karmaşık ki”. Kesinlikle güzel.
Ponkadoodle

Ve bu yorumum biraz hiciv olsa da, umarım bunu gönülsüzce alırsınız. Dürüstçe okumaktan zevk aldım.
Ponkadoodle

2

AMD'nin CPU tasarımına Genel Bakış

Intel'in sürümü

Bunların hiçbiri çok fazla ayrıntı sağlamaz, fakat ilginç hiçbiri az değildir. Bunu bir cevap olarak kabul etme. Diğerleri sorunuzu ayrıntılı olarak değerlendirmiş ve ayrıntılı olarak cevap vermeye çalışmak için daha fazla çaba göstermiştir.


Daha önce TomsHardware sayfasını görmüştüm. Bununla birlikte, işlemcilerin nasıl üretildiğini , nasıl tasarlandıklarını
açıklamıyor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.